SlideShare a Scribd company logo
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.

More Related Content

What's hot

Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
PPT Jaringan Komputer
PPT Jaringan KomputerPPT Jaringan Komputer
PPT Jaringan Komputer
Faksi
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar Relasional
Ratzman III
 
Rpl 012 - perancangan berorientasi objek
Rpl   012 - perancangan berorientasi objekRpl   012 - perancangan berorientasi objek
Rpl 012 - perancangan berorientasi objek
Febriyani Syafri
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman java
nur achlish rosyadi
 

What's hot (20)

Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCPAplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
Aplikasi Chatting dengan Client-Server Menggunakan Protokol TCP
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Sistem operasi
Sistem operasiSistem operasi
Sistem operasi
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
Makalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannyaMakalah sejarah komputer dan perkembangannya
Makalah sejarah komputer dan perkembangannya
 
Belajar Pemrograman Scratch Part 1
Belajar Pemrograman Scratch Part 1Belajar Pemrograman Scratch Part 1
Belajar Pemrograman Scratch Part 1
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasi
 
Algoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptx
 
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptxAdministrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
Administrasi-Sistem-Jaringan-Kelas-XI-pptx.pptx
 
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis Data
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
 
PPT Jaringan Komputer
PPT Jaringan KomputerPPT Jaringan Komputer
PPT Jaringan Komputer
 
Perangkat lunak presentation
Perangkat lunak presentationPerangkat lunak presentation
Perangkat lunak presentation
 
Pbo
PboPbo
Pbo
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Bab 2 Aljabar Relasional
Bab 2   Aljabar RelasionalBab 2   Aljabar Relasional
Bab 2 Aljabar Relasional
 
Ch 02- Multiprocessing System
Ch 02- Multiprocessing SystemCh 02- Multiprocessing System
Ch 02- Multiprocessing System
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database Mysql
 
Rpl 012 - perancangan berorientasi objek
Rpl   012 - perancangan berorientasi objekRpl   012 - perancangan berorientasi objek
Rpl 012 - perancangan berorientasi objek
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman java
 

Similar to 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
 

Similar to 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
 
Chapter 3 array
Chapter 3   arrayChapter 3   array
Chapter 3 array
 
Array [Larik]
Array [Larik]Array [Larik]
Array [Larik]
 
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..
 

More from MULTIMEDIA 'n BROADCASTING SMKN 1 PUNGGING MOJOKERTO

More from 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 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...
 
Animasi 2D dan 3D KD : Memahami material pada object 3 d
Animasi 2D dan 3D KD : Memahami material pada object 3 dAnimasi 2D dan 3D KD : Memahami material pada object 3 d
Animasi 2D dan 3D KD : Memahami material pada object 3 d
 

Recently uploaded

PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptxPPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
BerbagiKebaikan2
 

Recently uploaded (20)

MODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 1 KURIKULUM MERDEKA.pdf
 
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.comModul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
Modul Ajar Bahasa Indonesia Kelas 2 Fase A Kurikulum Merdeka - abdiera.com
 
Lidia_Lidia_2021B_Analisis Kritis Jurnal
Lidia_Lidia_2021B_Analisis Kritis JurnalLidia_Lidia_2021B_Analisis Kritis Jurnal
Lidia_Lidia_2021B_Analisis Kritis Jurnal
 
Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024Modul Pembentukan Disiplin Rohani (PDR) 2024
Modul Pembentukan Disiplin Rohani (PDR) 2024
 
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
Teori Sosiologi Emile Durkheim (Dosen Pengampu: Khoirin Nisai Shalihati)
 
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJARAKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
AKSI NYATA PENYEBARAN PEMAHAMAN MERDEKA BELAJAR
 
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptxModul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
Modul P5 Berekayasa dan Berteknologi untuk Membangun NKRI.pptx
 
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdfKEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
KEL 10_DIGITALISASI ADMINISTRASI PENDIDIKAN.pdf
 
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 1 KURIKULUM MERDEKA.pdf
 
Dhea Salsabila_2021 B_Analisis Kritis Jurnal.pdf
Dhea Salsabila_2021 B_Analisis Kritis Jurnal.pdfDhea Salsabila_2021 B_Analisis Kritis Jurnal.pdf
Dhea Salsabila_2021 B_Analisis Kritis Jurnal.pdf
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Dokumen Tindak Lanjut Pengelolaan Kinerja Guru.docx
Dokumen Tindak Lanjut Pengelolaan Kinerja Guru.docxDokumen Tindak Lanjut Pengelolaan Kinerja Guru.docx
Dokumen Tindak Lanjut Pengelolaan Kinerja Guru.docx
 
1. Standar Operasional Prosedur PPDB Pada paud
1. Standar Operasional Prosedur PPDB Pada paud1. Standar Operasional Prosedur PPDB Pada paud
1. Standar Operasional Prosedur PPDB Pada paud
 
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptxBUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
BUKTI DUKUNG RHK SEKOLAH DASAR NEGERI.pptx
 
Bukti dukung E kinerja kepala sekolah.pdf
Bukti dukung E kinerja  kepala sekolah.pdfBukti dukung E kinerja  kepala sekolah.pdf
Bukti dukung E kinerja kepala sekolah.pdf
 
Solusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptx
Solusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptxSolusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptx
Solusi dan Strategi ATHG yang di hadapi Indonesia (Kelas 11).pptx
 
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptxPPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
PPT Akidah Akhlak (Akhlak Terpuji) GENAP-1.pptx
 
Presentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptxPresentasi visi misi revisi sekolah dasar.pptx
Presentasi visi misi revisi sekolah dasar.pptx
 
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKAMODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
MODUL AJAR BAHASA INGGRIS KELAS 2 KURIKULUM MERDEKA
 
PELAKSANAAN (di Hotel 101 Urban Thamrin Jkt) + Link2 MATERI Training_ "Effect...
PELAKSANAAN (di Hotel 101 Urban Thamrin Jkt) + Link2 MATERI Training_ "Effect...PELAKSANAAN (di Hotel 101 Urban Thamrin Jkt) + Link2 MATERI Training_ "Effect...
PELAKSANAAN (di Hotel 101 Urban Thamrin Jkt) + Link2 MATERI Training_ "Effect...
 

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.