SlideShare a Scribd company logo
1 of 12
Download to read offline
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

Perangkat lunak presentation
Perangkat lunak presentationPerangkat lunak presentation
Perangkat lunak presentationDavid Indra Kz
 
DASAR-DASAR DESAIN GRAFIS - dewifitriyani__
DASAR-DASAR DESAIN GRAFIS - dewifitriyani__DASAR-DASAR DESAIN GRAFIS - dewifitriyani__
DASAR-DASAR DESAIN GRAFIS - dewifitriyani__Dewi Fitriyani
 
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pengertian field, record, table, file, data dan basis data lengkap   pengerti...Pengertian field, record, table, file, data dan basis data lengkap   pengerti...
Pengertian field, record, table, file, data dan basis data lengkap pengerti...ym.ygrex@comp
 
Pertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.pptPertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.pptagro6
 
Makalah sistem-operasi
Makalah sistem-operasiMakalah sistem-operasi
Makalah sistem-operasiIKHSAN MAHRURI
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)tafrikan
 
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis DataMr. Nugraha
 
PPT Jaringan Komputer
PPT Jaringan KomputerPPT Jaringan Komputer
PPT Jaringan KomputerFaksi
 
Belajar Komputer Dasar
Belajar Komputer DasarBelajar Komputer Dasar
Belajar Komputer DasarAhmad Syaikhu
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstrukturJefry Jefry
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar KriptografiRoziq Bahtiar
 
Koneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi ExtensionKoneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi ExtensionI Putu Hariyadi
 

What's hot (20)

Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Perangkat lunak presentation
Perangkat lunak presentationPerangkat lunak presentation
Perangkat lunak presentation
 
DASAR-DASAR DESAIN GRAFIS - dewifitriyani__
DASAR-DASAR DESAIN GRAFIS - dewifitriyani__DASAR-DASAR DESAIN GRAFIS - dewifitriyani__
DASAR-DASAR DESAIN GRAFIS - dewifitriyani__
 
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pengertian field, record, table, file, data dan basis data lengkap   pengerti...Pengertian field, record, table, file, data dan basis data lengkap   pengerti...
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
 
20731 21 visualisasi data
20731 21 visualisasi data20731 21 visualisasi data
20731 21 visualisasi data
 
Pertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.pptPertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
Pertemuan 2 - Organisasi dan Arsitektur Komputer.ppt
 
PPT tentang Kutipan
PPT tentang Kutipan PPT tentang Kutipan
PPT tentang Kutipan
 
makalah basis data
makalah basis datamakalah basis data
makalah basis data
 
Sister 06 - client server
Sister   06 - client serverSister   06 - client server
Sister 06 - client server
 
Makalah sistem-operasi
Makalah sistem-operasiMakalah sistem-operasi
Makalah sistem-operasi
 
Sistem bus komputer
Sistem bus komputerSistem bus komputer
Sistem bus komputer
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
 
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis Data
 
PPT Jaringan Komputer
PPT Jaringan KomputerPPT Jaringan Komputer
PPT Jaringan Komputer
 
Belajar Komputer Dasar
Belajar Komputer DasarBelajar Komputer Dasar
Belajar Komputer Dasar
 
Makalah Karya Ilmiah
Makalah Karya Ilmiah Makalah Karya Ilmiah
Makalah Karya Ilmiah
 
Pemrograman terstruktur
Pemrograman terstrukturPemrograman terstruktur
Pemrograman terstruktur
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
 
Koneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi ExtensionKoneksi PHP ke Database MySQL menggunakan MySQLi Extension
Koneksi PHP ke Database MySQL menggunakan MySQLi Extension
 
Pengantar sistem terdistribusi
Pengantar sistem terdistribusiPengantar sistem terdistribusi
Pengantar sistem terdistribusi
 

Similar to ARRAY-OPTIMIZED

Similar to ARRAY-OPTIMIZED (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
 
A rray..
A rray..A rray..
A rray..
 
Array
ArrayArray
Array
 

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 struktur kontrol percabangan dalam bahasa pemrograman
Menerapkan struktur kontrol percabangan dalam bahasa pemrogramanMenerapkan struktur kontrol percabangan dalam bahasa pemrograman
Menerapkan struktur kontrol percabangan 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 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...
 

Recently uploaded

PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaMateri Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaSABDA
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docxbkandrisaputra
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfmaulanayazid
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxrahmaamaw03
 
Catatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus PerilakuCatatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus PerilakuHANHAN164733
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasHardaminOde2
 
Materi power point Kepemimpinan leadership .ppt
Materi power point Kepemimpinan leadership .pptMateri power point Kepemimpinan leadership .ppt
Materi power point Kepemimpinan leadership .pptAcemediadotkoM1
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdftsaniasalftn18
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...MarwanAnugrah
 
Materi Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptxMateri Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptxshafiraramadhani9
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxrofikpriyanto2
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxSyaimarChandra1
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxHeruFebrianto3
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 

Recently uploaded (20)

PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaMateri Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
Lembar Observasi Pembelajaran di Kelas.docx
Lembar Observasi Pembelajaran di  Kelas.docxLembar Observasi Pembelajaran di  Kelas.docx
Lembar Observasi Pembelajaran di Kelas.docx
 
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdfKelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
Kelompok 1 Bimbingan Konseling Islami (Asas-Asas).pdf
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
SILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docxSILABUS MATEMATIKA SMP kurikulum K13.docx
SILABUS MATEMATIKA SMP kurikulum K13.docx
 
Catatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus PerilakuCatatan di setiap Indikator Fokus Perilaku
Catatan di setiap Indikator Fokus Perilaku
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
 
Materi power point Kepemimpinan leadership .ppt
Materi power point Kepemimpinan leadership .pptMateri power point Kepemimpinan leadership .ppt
Materi power point Kepemimpinan leadership .ppt
 
Kelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdfKelompok 2 Karakteristik Negara Nigeria.pdf
Kelompok 2 Karakteristik Negara Nigeria.pdf
 
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...Wawasan Nusantara  sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
Wawasan Nusantara sebagai satu kesatuan, politik, ekonomi, sosial, budaya, d...
 
Materi Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptxMateri Lingkaran kelas 6 terlengkap.pptx
Materi Lingkaran kelas 6 terlengkap.pptx
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 

ARRAY-OPTIMIZED

  • 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.