SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
PEMROGRAMAN DASAR
KD. MENGANALISIS PENGGUNAAN
ARRAY UNTUK PENYIMPANAN DATA DI
MEMORI
Disusun Oleh : Zainul Arifin, S. Kom
SMK NEGERI 1 PUNGGING MOJOKERTO
A. PENGERTIAN ARRAY.
Array (larik) ialah sekumpulan variabel-variabel yang memiliki nama dan
tipe data yang sama satu dengan lainnya. Juga bisa diartikan sebagai
sekelompok data sejenis yang tersimpan di dalam variabel dengan nama sama.
maka dari itu Untuk dapat membedakan antara array satu dengan lainnya
dapat dengan memberikan indeks pada masing-masing variable tersebut.
Dalam menyusun fungsi array terdapat 3 struktur yang paling mendasar, antara
lain :
1) Kumpulan data dengan tipe sama yang jumlahnya tertentu
2) Akses setiap elemen menggunakan indeks
3) Disimpan pada tempat yang saling bersambungan (contiguous)
Array menggunakan indeks integer untuk menentukan urutan elemen-
elemennya, dimana elemen pertamanya dimulai dari indeks 0,elemen kedua
memiliki indeks 1, dan seterusnya.
Contoh :
 Angka untuk menyimpan sederetan bilangan.
 Buku untuk menyimpan sekumpulan data buku.
 Mahasiswa untuk menyimpan beberapa data mahasiswa.
Sebagai contoh jika A merupakan sebuah array dengan tipe integer, maka
notasi dari array A adalah: A[n], dengan n merupakan angka index dari array
tersebut misal:
A[0]=100
A[1]=200
A[2]=300
A[3]=400
B. DEKLARASI VARIABEL ARRAY.
Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan
cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan
variabel bertipe integer, dapat dilakukan dengan cara :
int [ ] bilangan; atau int bilangan [ ];
Jadi perbedaan utama pendeklarasian variabel array dengan variabel
biasa adalah adanya tanda kurung [ ] di akhir tipe data atau di akhir nama
variabel array. Pada tahap pendeklarasian variabel array ini belum ada alokasi
memory untuk menyimpan data.
Variabel array dideklarasikan dengan mencantumkan tipe dan nama
variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat.
1) Deklarasi Array Dimensi Satu.
Bentuk umum :
Tipe_array nama_array [ukuran];
Contoh :
Int nilai [3] = {80, 85, 90};
Artinya : mendefinisikan 3 variabel bertipe integer
Atau juga bisa dengan bentuk lain :
Nilai [0] = 80;
Nilai [1] = 85;
Nilai [2] = 90;
2) Array Dimensi Dua.
Array dua dimensi merupakan array yang terdiri dari m buah baris
dan n buah buah kolom bentuknya dapat berupa matriks atau tabel.
Deklarasi array :
Tipe_array nama_array [baris][kolom]
Contoh :
float nilai_uts [2][3];
Atau kita bisa menginialisasinya langsung seperti :
float nilai_uts [2][3] = {{75,80,85}, {87,90,98}};
yang akan menempati elemen memori dengan susunan
0 1 2
0 75 80 85
1 87 90 98
3) Array Dimensi Banyak
Array multidimensi merupakan array yang mempunyai ukuran lebih
dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan
deklarasi array dimensi satu maupun dimensi dua.
Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
 Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen
pada suatu variabel array
 Nomor indeks variabel array selalu dimulai dari 0 (nol), sehingga
nomor indeks bagi elemen terakhir sebesar (N-1), dimana N adalah
jumlah total elemen.
 Untuk mengakses dapat dilakkan setiap elemen dalam variabel array
dengan mengacu pada nomor indeksnya.
C. TIPE DATA ARRAY.
Tipe data array adalah tipe data bentukan yang terdiri dari kumpulan
tipe data lain. Daripada membuat 10 variabel yang terdiri dari nama1, nama2,
nama3, dst, akan lebih efisien jika variabel nama ini disimpan ke dalam array.
Sebagai contoh, perhatikan kode program (Menggunakan Bahasa Pascal)
berikut ini:
program tipe_array;
uses crt;
var
nilai1, nilai2, nilai3, nilai4: integer;
begin
clrscr;
nilai1:= 23;
nilai2:= 13;
nilai3:= 98;
nilai4:= 106;
writeln('nilai1: ',nilai1);
writeln('nilai2: ',nilai2);
writeln('nilai3: ',nilai3);
writeln('nilai4: ',nilai4);
readln;
end.
Dalam contoh tersebut saya membuat 4 variabel: nilai1, nilai2, nilai3 dan
nilai4. Keempat variabel ini bertipe integer.
Tidak ada yang salah dari kode program diatas. Tapi bayangkan apabila kita
ingin menyimpan lebih dari 4 nilai, bagaimana jika 10 atau 100 nilai? Tentu
tidak efisien jika kita harus membuat variabel nilai1, nilai2, nilai3… sampai
dengan nilai100. Untuk hal inilah tipe data array lebih cocok digunakan.
D. CARA MENGGUNAKAN TIPE DATA ARRAY DALAM BAHASA PASCAL.
Untuk membuat tipe data array di pascal, kita harus menentukan
seberapa banyak element array yang ingin dibuat. Element adalah sebutan
untuk ‘anggota’ atau isi dari array. Sebagai contoh, untuk membuat 10 element
array bertipe integer saya bisa menggunakan kode berikut:
var
nilai: array[0..9] of integer;
Sekarang, variabel ‘nilai’ berisi array dengan 10 element bertipe integer.
Perhatikan angka 0..9, ini berarti saya membuat element array dari element 0,
element 1, element 2, element 3,.. hingga element 9 (total terdapat 10 element).
Bagaimana cara mengakses element ini? kita bisa mengaksesnya melalui nomor
index. Index adalah urutan element di dalam sebuah array. Sebagai contoh,
untuk mengakses element ke – 2, kita bisa menulis: nilai[2]. Untuk mengakses
element ke-6, bisa menggunakan: nilai[6].
Berikut contoh kode program pascal cara penggunaan tipe data array:
program tipe_array;
uses crt;
var
nilai: array[0..9] of integer;
begin
clrscr;
nilai[0]:= 23;
nilai[1]:= 13;
nilai[2]:= 98;
nilai[3]:= 106;
writeln('nilai0: ',nilai[0]);
writeln('nilai1: ',nilai[1]);
writeln('nilai2: ',nilai[2]);
writeln('nilai3: ',nilai[3]);
readln;
end.
OUTPUT
Pada contoh diatas, saya membuat variabel ‘nilai’ sebagai array yang
berisi 10 element integer. Di dalam variabel ‘nilai’ ini, index array dimulai dari
0 hingga 9, karena saya menulisnya dengan array[0..9] of integer. Jika anda
ingin membuat 100 element array, bisa menulisnya sebagai array[0..99] of
integer.
Walaupun saya membuat 10 element, tapi kita tidak harus mengisi semua
element ini. Pada contoh tersebut, saya hanya mengisi 4 element. Bagaimana
dengan element lainnya? ini akan menggunakan nilai default (bawaan) pascal,
biasanya berisi angka 0 untuk tipe data integer.
Selain itu, kita juga tidak harus mengisinya secara berurutan. Kita bisa
mengisi element-element array ini secara acak, selama masih dalam batas yang
ditetapkan. Berikut contohnya:
program tipe_array;
uses crt;
var
nilai: array[0..9] of integer;
begin
clrscr;
nilai[3]:= 23;
nilai[9]:= 13;
nilai[2]:= 98;
nilai[0]:= 106;
writeln('nilai3: ',nilai[3]);
writeln('nilai9: ',nilai[9]);
writeln('nilai2: ',nilai[2]);
writeln('nilai0: ',nilai[0]);
writeln('nilai1: ',nilai[1]);
writeln('nilai7: ',nilai[7]);
readln;
end.
OUTPUT
Berikutnya melakukan pengisian element secara acak, dan juga saya
menampilkan element nilai[1] dan nilai[7] yang memang tidak diisi dengan
nilai. Hasilnya? pascal akan menggunakan nilai default: 0.
Bagaimana jika kita melewati batas element array? Misalnya saya
mengakses element ke 10? Pascal akan meneluarkan error: Range check
error while evaluating constants.
Kita tidak hanya bisa membuat array bertipe integer saja, tapi juga bisa
menggunakan tipe lain seperti real, char atau string. Berikut contohnya:
program tipe_array;
uses crt;
var
kata: array[20..25] of string[20];
begin
clrscr;
kata[24]:= 'Sedang ';
kata[25]:= 'belajar pascal ';
write(kata[24]);
write(kata[25]);
readln;
end.
Cara membuat variabel kata dengan array berjumlah 10 element yang masing-
masing isinya adalah string[20].
Bisa kita lihat bahwa saya menggunakan penomoran array mulai dari 20
hingga 25. Ini tidak menjadi masalah, selama kita juga mengaksesnya dengan
index yang sesuai. Berikut hasil yang didapat:
E. ALOKASI MEMORI
Dalam pemrograman, perlu untuk menyimpan data komputasi. Data-data
ini disimpan dalam memori. Lokasi memori untuk menyimpan data dalam
pemrograman komputer dikenal sebagai variabel. Variabel memiliki tipe data
tertentu. Oleh karena itu, memori dialokasikan untuk menjalankan program.
Memori dapat dialokasikan dengan dua cara.
Mereka adalah alokasi memori statis dan alokasi memori dinamis. Dalam
alokasi memori statis, sekali memori dialokasikan itu tidak dapat diubah.
Memori tidak dapat digunakan kembali. Tetapi dalam alokasi memori dinamis,
setelah memori dialokasikan itu dapat diubah. Itu perbedaan utama antara
alokasi memori statis dan dinamis adalah itu dalam alokasi memori statis
setelah memori dialokasikan, ukuran memori diperbaiki sedangkan dalam
alokasi memori dinamis, setelah memori dialokasikan, ukuran memori dapat
diubah.
1) ALOKASI MEMORI STATIS
Dalam alokasi memori statis, memori yang dialokasikan diperbaiki.
Setelah memori dialokasikan, itu tidak dapat diubah. Memori tidak dapat
ditingkatkan atau diturunkan. Misalnya, dalam bahasa C jika programmer
menulis int x, yang berarti bahwa variabel dapat menyimpan nilai integer.
Jumlah byte tergantung pada komputer.
Mungkin juga ada array. Misalnya. int x [5]; X ini adalah larik yang
dapat menyimpan urutan data dengan tipe yang sama. Itu dapat menyimpan
lima elemen integer. Itu tidak dapat menyimpan lebih dari lima elemen. Di
Java, array dapat dibuat sebagai, int arr [] = new int [5]; Array 'arr' dapat
menyimpan 5 nilai integer dan tidak dapat menyimpan lebih dari itu.
Dalam alokasi memori statis, setelah variabel dialokasikan, mereka
tetap permanen. Setelah alokasi awal, pemrogram tidak dapat mengubah
ukuran memori. Jika pemrogram mengalokasikan array yang dapat
menyimpan 10 elemen, tidak mungkin untuk menyimpan nilai lebih dari
jumlah yang ditentukan.
Jika programmer awalnya mengalokasikan array yang dapat
menampung 10 elemen, tetapi hanya membutuhkan 5 elemen, maka ada
pemborosan memori. Memori itu tidak lagi diperlukan, tetapi juga tidak
mungkin untuk menggunakan kembali memori. Alokasi memori statis
diperbaiki tetapi implementasinya sederhana dan mudah, dan juga cepat.
2) ALOKASI MEMORI DINAMIS
Terkadang perlu untuk mengubah ukuran memori. Jadi memori dapat
dialokasikan secara dinamis. Bergantung pada penyisipan dan penghapusan
elemen data, memori dapat tumbuh atau menyusut. Ini dikenal sebagai
alokasi memori dinamis.
Dalam bahasa C, file header stdlib.h, ada empat fungsi untuk alokasi
memori dinamis. Mereka adalah calloc, malloc, realloc dan gratis. Fungsi
malloc () mengalokasikan ukuran byte yang diperlukan dan mengembalikan
pointer kosong, menunjuk byte pertama dari memori yang dialokasikan.
Fungsi calloc () mengalokasikan ukuran byte yang diperlukan dan
menginisialisasi mereka ke nol.
Kemudian mengembalikan pointer kosong ke memori. Fungsi bebas ()
digunakan untuk merealokasi memori yang dialokasikan. Dan fungsi
realokasi dapat memodifikasi memori yang dialokasikan sebelumnya.
Setelah mengalokasikan memori menggunakan calloc atau malloc, ukuran
memori diperbaiki, tetapi mereka dapat ditingkatkan atau dikurangi
menggunakan fungsi realloc. Di Jawa, koleksi dapat digunakan untuk alokasi
memori dinamis.
Keuntungan utama alokasi memori dinamis adalah menghemat
memori. Programmer dapat mengalokasikan memori atau melepaskan
memori sesuai kebutuhan. Memori dapat dialokasikan kembali selama
eksekusi dan dapat membebaskan memori saat tidak diperlukan. Alokasi
memori dinamis juga lebih efisien daripada alokasi memori statis. Salah satu
kelemahannya adalah mengimplementasikan alokasi memori dinamis itu
kompleks.
F. PERSAMAAN DAN PERBEDAAN ALOKASI MEMORI STATIS DAN DINAMIS
Persamaan
 Keduanya adalah mekanisme alokasi memori.
 Keduanya harus diimplementasikan oleh programmer secara manual.
Perbedaan
Alokasi Static vs Dynamic Memory
Alokasi memori statis adalah metode
mengalokasikan memori, dan setelah
memori dialokasikan, itu diperbaiki.
Alokasi memori dinamis adalah metode
mengalokasikan memori, dan begitu
memori dialokasikan, itu dapat diubah.
Modifikasi
Dalam alokasi memori statis, tidak
mungkin untuk mengubah ukuran
setelah alokasi awal.
Dalam alokasi memori dinamis, memori
dapat diminimalkan atau
memaksimalkan sesuai.
Penerapan
Alokasi memori statis mudah
diimplementasikan.
Alokasi memori dinamis rumit untuk
diterapkan.
Kecepatan
Dalam memori statis, eksekusi alokasi
lebih cepat daripada alokasi memori
dinamis.
Dalam memori dinamis, eksekusi alokasi
lebih lambat daripada alokasi memori
statis.
Pemanfaatan Memori
Dalam alokasi memori statis, tidak dapat
menggunakan kembali memori yang
tidak digunakan.
Alokasi memori dinamis memungkinkan
penggunaan kembali memori.
Programmer dapat mengalokasikan lebih
banyak memori bila diperlukan. Dia
dapat melepaskan memori bila perlu.

Weitere ähnliche Inhalte

Was ist angesagt?

Teori bahasa formal dan Otomata
Teori bahasa formal dan OtomataTeori bahasa formal dan Otomata
Teori bahasa formal dan Otomata
Risal Fahmi
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
Bobby Chandra
 
Aturan produksi Finite State Automata
Aturan produksi Finite State AutomataAturan produksi Finite State Automata
Aturan produksi Finite State Automata
Materi Kuliah Online
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi Boolean
Fahrul Razi
 

Was ist angesagt? (20)

Teori bahasa formal dan Otomata
Teori bahasa formal dan OtomataTeori bahasa formal dan Otomata
Teori bahasa formal dan Otomata
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
01 02-pseudocode
01 02-pseudocode01 02-pseudocode
01 02-pseudocode
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 
Queue antrian
Queue antrian Queue antrian
Queue antrian
 
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop OnlineERD Sistem Informasi Pemesanan Tiket Bioskop Online
ERD Sistem Informasi Pemesanan Tiket Bioskop Online
 
Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)Jaringan Syaraf Tiruan (JST)
Jaringan Syaraf Tiruan (JST)
 
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
Laporan Laboratorium Dasar Pemrograman dengan Bahasa C by Muhammad Kennedy Gi...
 
Metode enkripsi caesar cipher
Metode enkripsi caesar cipherMetode enkripsi caesar cipher
Metode enkripsi caesar cipher
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Laporan praktikum 1 pemrograman mobile
Laporan praktikum 1 pemrograman mobileLaporan praktikum 1 pemrograman mobile
Laporan praktikum 1 pemrograman mobile
 
Aturan produksi Finite State Automata
Aturan produksi Finite State AutomataAturan produksi Finite State Automata
Aturan produksi Finite State Automata
 
BAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATABAB II ISI MAKALAH REPRESENTASI DATA
BAB II ISI MAKALAH REPRESENTASI DATA
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Kecerdasan Buatan
Kecerdasan BuatanKecerdasan Buatan
Kecerdasan Buatan
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
 
Penyederhanaan Fungsi Boolean
Penyederhanaan Fungsi BooleanPenyederhanaan Fungsi Boolean
Penyederhanaan Fungsi Boolean
 
Teknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair CipherTeknik Enkripsi dan Dekripsi Playfair Cipher
Teknik Enkripsi dan Dekripsi Playfair Cipher
 

Ähnlich wie PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di memori

SLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptxSLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptx
Orangeranger1
 
Algoritma2...........................pptx
Algoritma2...........................pptxAlgoritma2...........................pptx
Algoritma2...........................pptx
andidwi20
 

Ähnlich wie PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di memori (20)

SLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptxSLIDE ARRAY pemrograman dasar PART 1.pptx
SLIDE ARRAY pemrograman dasar PART 1.pptx
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
 
4_Array.pdf
4_Array.pdf4_Array.pdf
4_Array.pdf
 
Array C++ MG3.pptx
Array C++ MG3.pptxArray C++ MG3.pptx
Array C++ MG3.pptx
 
Jeni intro1-bab07-java array
Jeni intro1-bab07-java arrayJeni intro1-bab07-java array
Jeni intro1-bab07-java array
 
Jeni Intro1 Bab07 Java Array
Jeni Intro1 Bab07 Java ArrayJeni Intro1 Bab07 Java Array
Jeni Intro1 Bab07 Java Array
 
Array
ArrayArray
Array
 
2 Array
2 Array2 Array
2 Array
 
Pertemuan 4
Pertemuan 4Pertemuan 4
Pertemuan 4
 
JENI-Intro1-Bab07-Java Array.pdf
JENI-Intro1-Bab07-Java Array.pdfJENI-Intro1-Bab07-Java Array.pdf
JENI-Intro1-Bab07-Java Array.pdf
 
ARRAY.pptx
ARRAY.pptxARRAY.pptx
ARRAY.pptx
 
Array.pptx
Array.pptxArray.pptx
Array.pptx
 
Laporan praktikum modul v
Laporan praktikum modul vLaporan praktikum modul v
Laporan praktikum modul v
 
Part 21 Array Dinamis
Part 21 Array DinamisPart 21 Array Dinamis
Part 21 Array Dinamis
 
Array [Larik]
Array [Larik]Array [Larik]
Array [Larik]
 
Chapter 3 array
Chapter 3   arrayChapter 3   array
Chapter 3 array
 
Algoritma2...........................pptx
Algoritma2...........................pptxAlgoritma2...........................pptx
Algoritma2...........................pptx
 
Array pada pemrograman C++ 1903280173218371.pptx
Array pada pemrograman C++ 1903280173218371.pptxArray pada pemrograman C++ 1903280173218371.pptx
Array pada pemrograman C++ 1903280173218371.pptx
 
Array
ArrayArray
Array
 
A rray..
A rray..A rray..
A rray..
 

Mehr von MULTIMEDIA 'n BROADCASTING SMKN 1 PUNGGING MOJOKERTO

Mehr von MULTIMEDIA 'n BROADCASTING SMKN 1 PUNGGING MOJOKERTO (20)

KD Mendiskusikan format gambar
KD Mendiskusikan format gambarKD Mendiskusikan format gambar
KD Mendiskusikan format gambar
 
Menerapkan tata cahaya dalam pengambilan gambar
Menerapkan tata cahaya dalam pengambilan gambarMenerapkan tata cahaya dalam pengambilan gambar
Menerapkan tata cahaya dalam pengambilan gambar
 
Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...
Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...
Menerapkan prinsip desain user interface pada multimedia interaktif berbasis ...
 
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
 
Menerapkan tipografi
Menerapkan tipografiMenerapkan tipografi
Menerapkan tipografi
 
KD. Menganalisi video sesuai naskah produksi.
KD. Menganalisi video sesuai naskah produksi.KD. Menganalisi video sesuai naskah produksi.
KD. Menganalisi video sesuai naskah produksi.
 
Memahami perancangan alur multimedia interaktif berbasis halaman web dan medi...
Memahami perancangan alur multimedia interaktif berbasis halaman web dan medi...Memahami perancangan alur multimedia interaktif berbasis halaman web dan medi...
Memahami perancangan alur multimedia interaktif berbasis halaman web dan medi...
 
TEKNIK PENGOLAHAN AUDIO dan VIDEO KD Menganalisis proses pengemasan produksi ...
TEKNIK PENGOLAHAN AUDIO dan VIDEO KD Menganalisis proses pengemasan produksi ...TEKNIK PENGOLAHAN AUDIO dan VIDEO KD Menganalisis proses pengemasan produksi ...
TEKNIK PENGOLAHAN AUDIO dan VIDEO KD Menganalisis proses pengemasan produksi ...
 
Menganalisis prosedur pengukuran bidang pandang dan sudut pengambilan gambar
Menganalisis prosedur pengukuran bidang pandang dan sudut pengambilan gambarMenganalisis prosedur pengukuran bidang pandang dan sudut pengambilan gambar
Menganalisis prosedur pengukuran bidang pandang dan sudut pengambilan gambar
 
Menerapkan pengoperasian kamera digital dan perawatan peralatan fotografi
Menerapkan pengoperasian kamera digital dan perawatan peralatan fotografiMenerapkan pengoperasian kamera digital dan perawatan peralatan fotografi
Menerapkan pengoperasian kamera digital dan perawatan peralatan fotografi
 
KD Menerapkan pengalamanatan ip pada jaringan komputer
KD Menerapkan pengalamanatan ip pada jaringan komputerKD Menerapkan pengalamanatan ip pada jaringan komputer
KD Menerapkan pengalamanatan ip pada jaringan komputer
 
Menganalisis permasalahan pada instalasi software aplikasi
Menganalisis permasalahan pada instalasi software aplikasiMenganalisis permasalahan pada instalasi software aplikasi
Menganalisis permasalahan pada instalasi software aplikasi
 
KOMPUTER DAN JARINGAN DASR KD : Menganalisis permasalahan pada perangkat keras
KOMPUTER DAN JARINGAN DASR KD : Menganalisis permasalahan pada perangkat kerasKOMPUTER DAN JARINGAN DASR KD : Menganalisis permasalahan pada perangkat keras
KOMPUTER DAN JARINGAN DASR KD : Menganalisis permasalahan pada perangkat keras
 
KOMPUTER DAN JARINGAN DASR KD : Menerapkan instalasi driver perangkat keras k...
KOMPUTER DAN JARINGAN DASR KD : Menerapkan instalasi driver perangkat keras k...KOMPUTER DAN JARINGAN DASR KD : Menerapkan instalasi driver perangkat keras k...
KOMPUTER DAN JARINGAN DASR KD : Menerapkan instalasi driver perangkat keras k...
 
KD 3.6 Menerapkan gerak digital puppetter pada animasi 2 d
KD 3.6 Menerapkan gerak digital puppetter pada animasi 2 dKD 3.6 Menerapkan gerak digital puppetter pada animasi 2 d
KD 3.6 Menerapkan gerak digital puppetter pada animasi 2 d
 
Animasi 2 d dan 3d memahami prinsip dasar menggambar latar
Animasi 2 d dan 3d memahami prinsip dasar menggambar latarAnimasi 2 d dan 3d memahami prinsip dasar menggambar latar
Animasi 2 d dan 3d memahami prinsip dasar menggambar latar
 
Animasi 2D dan 3D KD: Memahami teknik rendering pada object 3d
Animasi 2D dan 3D KD: Memahami teknik rendering pada object 3dAnimasi 2D dan 3D KD: Memahami teknik rendering pada object 3d
Animasi 2D dan 3D KD: Memahami teknik rendering pada object 3d
 
ANIMASI 2D dan 3D KD : Menerapkan model obyek sederhana berbasis 3 d hardsurface
ANIMASI 2D dan 3D KD : Menerapkan model obyek sederhana berbasis 3 d hardsurfaceANIMASI 2D dan 3D KD : Menerapkan model obyek sederhana berbasis 3 d hardsurface
ANIMASI 2D dan 3D KD : Menerapkan model obyek sederhana berbasis 3 d hardsurface
 
Animasi 2D dan 3D KD: Menganalisis elemen gambar digital puppeter dalam anima...
Animasi 2D dan 3D KD: Menganalisis elemen gambar digital puppeter dalam anima...Animasi 2D dan 3D KD: Menganalisis elemen gambar digital puppeter dalam anima...
Animasi 2D dan 3D KD: Menganalisis elemen gambar digital puppeter dalam anima...
 
Animasi 2D dan 3D KD: Menggambarkan konsep dasar object 3 d dalam sketsa ran...
Animasi 2D dan 3D  KD: Menggambarkan konsep dasar object 3 d dalam sketsa ran...Animasi 2D dan 3D  KD: Menggambarkan konsep dasar object 3 d dalam sketsa ran...
Animasi 2D dan 3D KD: Menggambarkan konsep dasar object 3 d dalam sketsa ran...
 

Kürzlich hochgeladen

SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.pptSEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
AlfandoWibowo2
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
nabilafarahdiba95
 

Kürzlich hochgeladen (20)

DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
 
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.pptSEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
 
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdfModul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
Modul Ajar Bahasa Inggris - HOME SWEET HOME (Chapter 3) - Fase D.pdf
 
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat  UI 2024
Tim Yang Lolos Pendanaan Hibah Kepedulian pada Masyarakat UI 2024
 
Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
Stoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.pptStoikiometri kelas 10 kurikulum Merdeka.ppt
Stoikiometri kelas 10 kurikulum Merdeka.ppt
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
PELAKSANAAN (dgn PT SBI) + Link2 Materi Pelatihan _"Teknik Perhitungan TKDN, ...
 

PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di memori

  • 1. PEMROGRAMAN DASAR KD. MENGANALISIS PENGGUNAAN ARRAY UNTUK PENYIMPANAN DATA DI MEMORI Disusun Oleh : Zainul Arifin, S. Kom SMK NEGERI 1 PUNGGING MOJOKERTO A. PENGERTIAN ARRAY. Array (larik) ialah sekumpulan variabel-variabel yang memiliki nama dan tipe data yang sama satu dengan lainnya. Juga bisa diartikan sebagai sekelompok data sejenis yang tersimpan di dalam variabel dengan nama sama. maka dari itu Untuk dapat membedakan antara array satu dengan lainnya dapat dengan memberikan indeks pada masing-masing variable tersebut. Dalam menyusun fungsi array terdapat 3 struktur yang paling mendasar, antara lain : 1) Kumpulan data dengan tipe sama yang jumlahnya tertentu 2) Akses setiap elemen menggunakan indeks 3) Disimpan pada tempat yang saling bersambungan (contiguous) Array menggunakan indeks integer untuk menentukan urutan elemen- elemennya, dimana elemen pertamanya dimulai dari indeks 0,elemen kedua memiliki indeks 1, dan seterusnya.
  • 2. Contoh :  Angka untuk menyimpan sederetan bilangan.  Buku untuk menyimpan sekumpulan data buku.  Mahasiswa untuk menyimpan beberapa data mahasiswa. Sebagai contoh jika A merupakan sebuah array dengan tipe integer, maka notasi dari array A adalah: A[n], dengan n merupakan angka index dari array tersebut misal: A[0]=100 A[1]=200 A[2]=300 A[3]=400 B. DEKLARASI VARIABEL ARRAY. Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe integer, dapat dilakukan dengan cara : int [ ] bilangan; atau int bilangan [ ]; Jadi perbedaan utama pendeklarasian variabel array dengan variabel biasa adalah adanya tanda kurung [ ] di akhir tipe data atau di akhir nama variabel array. Pada tahap pendeklarasian variabel array ini belum ada alokasi memory untuk menyimpan data. Variabel array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. 1) Deklarasi Array Dimensi Satu. Bentuk umum : Tipe_array nama_array [ukuran]; Contoh :
  • 3. Int nilai [3] = {80, 85, 90}; Artinya : mendefinisikan 3 variabel bertipe integer Atau juga bisa dengan bentuk lain : Nilai [0] = 80; Nilai [1] = 85; Nilai [2] = 90; 2) Array Dimensi Dua. Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau tabel. Deklarasi array : Tipe_array nama_array [baris][kolom] Contoh : float nilai_uts [2][3]; Atau kita bisa menginialisasinya langsung seperti : float nilai_uts [2][3] = {{75,80,85}, {87,90,98}}; yang akan menempati elemen memori dengan susunan 0 1 2 0 75 80 85 1 87 90 98 3) Array Dimensi Banyak Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua. Deklarasi array : Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
  • 4.  Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen pada suatu variabel array  Nomor indeks variabel array selalu dimulai dari 0 (nol), sehingga nomor indeks bagi elemen terakhir sebesar (N-1), dimana N adalah jumlah total elemen.  Untuk mengakses dapat dilakkan setiap elemen dalam variabel array dengan mengacu pada nomor indeksnya. C. TIPE DATA ARRAY. Tipe data array adalah tipe data bentukan yang terdiri dari kumpulan tipe data lain. Daripada membuat 10 variabel yang terdiri dari nama1, nama2, nama3, dst, akan lebih efisien jika variabel nama ini disimpan ke dalam array.
  • 5. Sebagai contoh, perhatikan kode program (Menggunakan Bahasa Pascal) berikut ini: program tipe_array; uses crt; var nilai1, nilai2, nilai3, nilai4: integer; begin clrscr; nilai1:= 23; nilai2:= 13; nilai3:= 98; nilai4:= 106; writeln('nilai1: ',nilai1); writeln('nilai2: ',nilai2); writeln('nilai3: ',nilai3); writeln('nilai4: ',nilai4); readln; end. Dalam contoh tersebut saya membuat 4 variabel: nilai1, nilai2, nilai3 dan nilai4. Keempat variabel ini bertipe integer. Tidak ada yang salah dari kode program diatas. Tapi bayangkan apabila kita ingin menyimpan lebih dari 4 nilai, bagaimana jika 10 atau 100 nilai? Tentu tidak efisien jika kita harus membuat variabel nilai1, nilai2, nilai3… sampai dengan nilai100. Untuk hal inilah tipe data array lebih cocok digunakan. D. CARA MENGGUNAKAN TIPE DATA ARRAY DALAM BAHASA PASCAL. Untuk membuat tipe data array di pascal, kita harus menentukan seberapa banyak element array yang ingin dibuat. Element adalah sebutan untuk ‘anggota’ atau isi dari array. Sebagai contoh, untuk membuat 10 element array bertipe integer saya bisa menggunakan kode berikut: var nilai: array[0..9] of integer;
  • 6. Sekarang, variabel ‘nilai’ berisi array dengan 10 element bertipe integer. Perhatikan angka 0..9, ini berarti saya membuat element array dari element 0, element 1, element 2, element 3,.. hingga element 9 (total terdapat 10 element). Bagaimana cara mengakses element ini? kita bisa mengaksesnya melalui nomor index. Index adalah urutan element di dalam sebuah array. Sebagai contoh, untuk mengakses element ke – 2, kita bisa menulis: nilai[2]. Untuk mengakses element ke-6, bisa menggunakan: nilai[6]. Berikut contoh kode program pascal cara penggunaan tipe data array: program tipe_array; uses crt; var nilai: array[0..9] of integer; begin clrscr; nilai[0]:= 23; nilai[1]:= 13; nilai[2]:= 98; nilai[3]:= 106; writeln('nilai0: ',nilai[0]); writeln('nilai1: ',nilai[1]); writeln('nilai2: ',nilai[2]); writeln('nilai3: ',nilai[3]); readln; end. OUTPUT
  • 7. Pada contoh diatas, saya membuat variabel ‘nilai’ sebagai array yang berisi 10 element integer. Di dalam variabel ‘nilai’ ini, index array dimulai dari 0 hingga 9, karena saya menulisnya dengan array[0..9] of integer. Jika anda ingin membuat 100 element array, bisa menulisnya sebagai array[0..99] of integer. Walaupun saya membuat 10 element, tapi kita tidak harus mengisi semua element ini. Pada contoh tersebut, saya hanya mengisi 4 element. Bagaimana dengan element lainnya? ini akan menggunakan nilai default (bawaan) pascal, biasanya berisi angka 0 untuk tipe data integer. Selain itu, kita juga tidak harus mengisinya secara berurutan. Kita bisa mengisi element-element array ini secara acak, selama masih dalam batas yang ditetapkan. Berikut contohnya: program tipe_array; uses crt; var nilai: array[0..9] of integer; begin clrscr; nilai[3]:= 23; nilai[9]:= 13; nilai[2]:= 98; nilai[0]:= 106; writeln('nilai3: ',nilai[3]); writeln('nilai9: ',nilai[9]); writeln('nilai2: ',nilai[2]); writeln('nilai0: ',nilai[0]); writeln('nilai1: ',nilai[1]); writeln('nilai7: ',nilai[7]); readln; end. OUTPUT
  • 8. Berikutnya melakukan pengisian element secara acak, dan juga saya menampilkan element nilai[1] dan nilai[7] yang memang tidak diisi dengan nilai. Hasilnya? pascal akan menggunakan nilai default: 0. Bagaimana jika kita melewati batas element array? Misalnya saya mengakses element ke 10? Pascal akan meneluarkan error: Range check error while evaluating constants. Kita tidak hanya bisa membuat array bertipe integer saja, tapi juga bisa menggunakan tipe lain seperti real, char atau string. Berikut contohnya: program tipe_array; uses crt; var kata: array[20..25] of string[20]; begin clrscr; kata[24]:= 'Sedang '; kata[25]:= 'belajar pascal '; write(kata[24]);
  • 9. write(kata[25]); readln; end. Cara membuat variabel kata dengan array berjumlah 10 element yang masing- masing isinya adalah string[20]. Bisa kita lihat bahwa saya menggunakan penomoran array mulai dari 20 hingga 25. Ini tidak menjadi masalah, selama kita juga mengaksesnya dengan index yang sesuai. Berikut hasil yang didapat: E. ALOKASI MEMORI Dalam pemrograman, perlu untuk menyimpan data komputasi. Data-data ini disimpan dalam memori. Lokasi memori untuk menyimpan data dalam pemrograman komputer dikenal sebagai variabel. Variabel memiliki tipe data tertentu. Oleh karena itu, memori dialokasikan untuk menjalankan program. Memori dapat dialokasikan dengan dua cara. Mereka adalah alokasi memori statis dan alokasi memori dinamis. Dalam alokasi memori statis, sekali memori dialokasikan itu tidak dapat diubah. Memori tidak dapat digunakan kembali. Tetapi dalam alokasi memori dinamis, setelah memori dialokasikan itu dapat diubah. Itu perbedaan utama antara alokasi memori statis dan dinamis adalah itu dalam alokasi memori statis setelah memori dialokasikan, ukuran memori diperbaiki sedangkan dalam alokasi memori dinamis, setelah memori dialokasikan, ukuran memori dapat diubah.
  • 10. 1) ALOKASI MEMORI STATIS Dalam alokasi memori statis, memori yang dialokasikan diperbaiki. Setelah memori dialokasikan, itu tidak dapat diubah. Memori tidak dapat ditingkatkan atau diturunkan. Misalnya, dalam bahasa C jika programmer menulis int x, yang berarti bahwa variabel dapat menyimpan nilai integer. Jumlah byte tergantung pada komputer. Mungkin juga ada array. Misalnya. int x [5]; X ini adalah larik yang dapat menyimpan urutan data dengan tipe yang sama. Itu dapat menyimpan lima elemen integer. Itu tidak dapat menyimpan lebih dari lima elemen. Di Java, array dapat dibuat sebagai, int arr [] = new int [5]; Array 'arr' dapat menyimpan 5 nilai integer dan tidak dapat menyimpan lebih dari itu. Dalam alokasi memori statis, setelah variabel dialokasikan, mereka tetap permanen. Setelah alokasi awal, pemrogram tidak dapat mengubah ukuran memori. Jika pemrogram mengalokasikan array yang dapat menyimpan 10 elemen, tidak mungkin untuk menyimpan nilai lebih dari jumlah yang ditentukan.
  • 11. Jika programmer awalnya mengalokasikan array yang dapat menampung 10 elemen, tetapi hanya membutuhkan 5 elemen, maka ada pemborosan memori. Memori itu tidak lagi diperlukan, tetapi juga tidak mungkin untuk menggunakan kembali memori. Alokasi memori statis diperbaiki tetapi implementasinya sederhana dan mudah, dan juga cepat. 2) ALOKASI MEMORI DINAMIS Terkadang perlu untuk mengubah ukuran memori. Jadi memori dapat dialokasikan secara dinamis. Bergantung pada penyisipan dan penghapusan elemen data, memori dapat tumbuh atau menyusut. Ini dikenal sebagai alokasi memori dinamis. Dalam bahasa C, file header stdlib.h, ada empat fungsi untuk alokasi memori dinamis. Mereka adalah calloc, malloc, realloc dan gratis. Fungsi malloc () mengalokasikan ukuran byte yang diperlukan dan mengembalikan pointer kosong, menunjuk byte pertama dari memori yang dialokasikan. Fungsi calloc () mengalokasikan ukuran byte yang diperlukan dan menginisialisasi mereka ke nol. Kemudian mengembalikan pointer kosong ke memori. Fungsi bebas () digunakan untuk merealokasi memori yang dialokasikan. Dan fungsi realokasi dapat memodifikasi memori yang dialokasikan sebelumnya. Setelah mengalokasikan memori menggunakan calloc atau malloc, ukuran memori diperbaiki, tetapi mereka dapat ditingkatkan atau dikurangi menggunakan fungsi realloc. Di Jawa, koleksi dapat digunakan untuk alokasi memori dinamis. Keuntungan utama alokasi memori dinamis adalah menghemat memori. Programmer dapat mengalokasikan memori atau melepaskan memori sesuai kebutuhan. Memori dapat dialokasikan kembali selama eksekusi dan dapat membebaskan memori saat tidak diperlukan. Alokasi memori dinamis juga lebih efisien daripada alokasi memori statis. Salah satu
  • 12. kelemahannya adalah mengimplementasikan alokasi memori dinamis itu kompleks. F. PERSAMAAN DAN PERBEDAAN ALOKASI MEMORI STATIS DAN DINAMIS Persamaan  Keduanya adalah mekanisme alokasi memori.  Keduanya harus diimplementasikan oleh programmer secara manual. Perbedaan Alokasi Static vs Dynamic Memory Alokasi memori statis adalah metode mengalokasikan memori, dan setelah memori dialokasikan, itu diperbaiki. Alokasi memori dinamis adalah metode mengalokasikan memori, dan begitu memori dialokasikan, itu dapat diubah. Modifikasi Dalam alokasi memori statis, tidak mungkin untuk mengubah ukuran setelah alokasi awal. Dalam alokasi memori dinamis, memori dapat diminimalkan atau memaksimalkan sesuai. Penerapan Alokasi memori statis mudah diimplementasikan. Alokasi memori dinamis rumit untuk diterapkan. Kecepatan Dalam memori statis, eksekusi alokasi lebih cepat daripada alokasi memori dinamis. Dalam memori dinamis, eksekusi alokasi lebih lambat daripada alokasi memori statis. Pemanfaatan Memori Dalam alokasi memori statis, tidak dapat menggunakan kembali memori yang tidak digunakan. Alokasi memori dinamis memungkinkan penggunaan kembali memori. Programmer dapat mengalokasikan lebih banyak memori bila diperlukan. Dia dapat melepaskan memori bila perlu.