BAB 8 Array-1
BAB 8 Array-1
JOBSHEET 8 : ARRAY
Disusun oleh :
Nama : Fadhil Ariezky Cahyatyo
NIM : 3.34.20.4.07
8.2 Pendahuluan
Sebuah peubah hanya mampu menyimpan satu nilai terakhir yang dimasukkan dalam peubah
tersebut, suatu misal kita memasukkan nilai ke dalam suatu peubah sepeluh kali maka hanya
nilai ke sepuluh saja yang tersimpan dalam peubah sedang data yang dimasukkan sebelumnya
tertumbuk (over) dengan nilai selanjutnya. Untuk lebih jelasnya perhatikan contoh berikut ini :
For cacah 1 to 10
Read(data)
Endfor
Potongan algoritma di atas dapat dilihat bahwa pengulangan pemasukan data ke peubah data
terjadi sepuluh kali, akan tetapi hanya nilai yang terakhir saja yang tersimpan.
Dalam kenyataannya kadang kita harus memanipulasi beberapa atau sekumpulan data dengan
tipe yang sama, misalnya hasil ujian 100 mahasiswa, data daftar barang di toko atau
supermarket, daftar nama pegawai dan lain sebagainya.
Dalam kegiatan pemrograman, sekumpulan data bertipe sama perlu disimpan sementara dalam
memori komputer bila sewaktu-waktu data tersebut akan dimanipulasi. Misalnya kita ingin
menghitung kumpulan data bilangan guna mencari nilai rata-ratanya dengan rumus :
(a1 a 2 ...... a n ) n
rata rata a1
n 1
8.3 Larik
Dalam beberapa literatur, array sering disebut atau diterjemahkan sebagai larik. Array merupakan koleksi
data dengan setiap elemen data menggunakan nama yang sama dan masing-masing lemen data bertipe
sama. Setiap elemen array dapat diakses dan dibedakan melalui indeks array. Adapun array sendiri
digolongkan menjadi :
integer.
Gambar 8.1 Array berdimensi satu
Catatan:
contoh di atas merupakan instruksi untuk mendeklarasikan konstanta array jum_hari dan sekaligus
melakukan inisialisasi ( pemberian nilai ) pada masing-masing elemen array. Adapun perintah untuk
mengakses data array diatas adalah :
jum_hari[0] bernilai 31
jum_hari[1] bernilai 28
jum_hari[2] bernilai 31
dan seterusnya.
nama_array:array[ukuran1] of
[ukuran2] of tipe
dengan :
tipe : untuk menyatakan jenis elemen array ( misal char, int, real)
ukuran1,ukuran2 : untuk menyatakan jumlah maksimal elemen array.
0 1 2 indeks ke-2
( tahun)
0 24 24 22
data_siswa =
array[1..4, 1..3] of
1 22 22 20 integer
2 23 21 20
3 24 23 22
indeks ke-1
( kelas)
Pengaksesan data array di atas dapat dilakukan dengan perintah sebagai berikut :
data_siswa[0,0] bernilai 24
data_siswa[0,1] bernilai 24
data_siswa[0,2] bernilai 22
data_siswa[1,0] bernilai 22
dan seterusnya.
Dalam permasalahan khusus memungkinkan untuk membuat array yang dimensinya lebih dari
dua. Bentuk umum pendeklarasian array berdimensi banyak adalah sebagai berikut :
dengan :
tipe : : untuk menyatakan jenis elemen array ( misal char, int, real)
ukuran1,2..n : untuk menyatakan jumlah maksimal elemen array.
Contoh deklarasi:
Deklarasi berarti kita mendefinisikan data_matrik sebagai peubah bertipe array berdimensi tiga
dengan jumlah elemen data 32 ( 2 x 4 x 4) buah.
data_matrik[0,0,1] bernilai 5
dan seterusnya.
Deskripsi
{* pemasukan data nilai tes *}
for cacah 1 to 10
(“Nilai tes ke-‘,cacah+1,’ : ‘)
read(nilai_tes[cacah])
endfor
total_nilai 0
{*menghitung jumlah dari seluruh nilai tes *}
for cacah 1 to 10
total_nilai total_nilai + nilai_tes[cacah]
Endfor
{*menghitung rata-rata nilai tes *}
rerata total_nilai / 10
(‘Nilai rata-rata = ‘,rerata)
{Deskripsi}
Begin
Clrscr;
{* pemasukan data nilai tes *}
for cacah := 1 to 10 do
Begin
(“Nilai tes ke-‘,cacah+1,’ : ‘);
read(nilai_tes[cacah]);
End;
total_nilai := 0
{*menghitung jumlah dari seluruh nilai tes *}
for cacah := 1 to 10 do
total_nilai := total_nilai + nilai_tes[cacah];
Kasus 2 :
Buatlah algoritma untuk menentukan jumlah hari dari bulan dalam setahun, dimana jumlah hari
dari bulan dalam satu tahun diinisialisasi terlebih dahulu.
Jawab :
Algoritma jumlah_hari
{* ------------------------------------------------- *
* contoh inisialisasi array berdimensi satu *
* Untuk memperoleh jumlah hari suatu bulan *
*---------------------------------------------------*}
Deklarasi
Deskripsi
write(‘=================================================================’)
write(‘ Menentukan jumlah hari dari bulan ‘)
write(‘--------------------------------------------------------------------------------‘)
write(‘ 1 = JANUARI 2 = FEBRUARI 3 = MARET 4 = APRIL ‘)
write(‘ 5 = MEI 6 = JUNI 7 = JULI 8 = AGUSTUS ‘)
write(‘9 = SEPTEMBER 10 = OKTOBER 11 = NOVEMBER 12 = DESEMBER’)
write(‘=================================================================’)
write(‘Masukkan bulan ( 1..12) : ‘)
read(bulan)
write(‘Masukkan tahun : ‘)
read(tahun)
if (bulan = 2) then
if ((tahun mod 4 =0) AND ( tahun mod 100 <>0))
jhari29
else
jhari28
endif
else
jharijum_hari[bulan-1]
write(‘jumlah hari bulan ‘,bulan,’ tahun ‘,tahun,’ = ‘, jhari)
{Deskripsi}
Begin
Kasus 3 :
Buatlah algoritma untuk penjumlahan dua buah matrik :
Algoritma Jumlah_matrik
{* ------------------------------------------------- *
* contoh penggunaan array berdimensi dua *
* Untuk menjumlahkan dua buah array *
*---------------------------------------------------*}
Deklarasi
conts maks_kolom = 5
maks_baris = 5
Deskripsi
write(“=================================================================”)
write(“ Operasi penjumlah dua buah matrik ”)
write(“--------------------------------------------------------------------------------”)
write(“Banyak baris dari elemen matrik ( 1…’,maks_baris,’) : ’)
read(jum_baris)
write(“Banyak kolom dari elemen matrik ( 1…’,maks_kolom,’) : ’)
read(jum_kolom)
8.4.2 Soal-Soal
1. Berikan ulasan terhadap program jumlah matriks, tentang model array yang dipakai, proses
pelewatan array sebagai parameter dan kinerja program tersebut.
2. Buatlah program yang dapat digunakan mengalikan atau mengurangkan dua buah matrik.
berdasarkan array diatas, buatlah program yang menghasilkan tampilan sebagai berikut
:
10 | **********
5 | *****
8 | ********
12 | ************
15 | ***************
20 | ********************
25 | *************************
30 | ******************************
8.4.3 Jawaban
1. Model array yang dipakai pada program jumlah matriks adalah tipe array dua dimensi.
Proses pelewatan array pada program tersebut adalah mila-mula data array pada variabel
i di-looping terlebih dahulu, lalu baru data pada variabel di-looping setelah variabel j atau
biasa disebut array bersarang
2. Program mengalikan dan mengurangkan dua buah matriks dengan bahasa python
Program mengurangkan dua buah matriks
Kadang dalam proses pemrograman kita harus memanipulasi sejumlah atau sekumpulan nilai
dalam suatu peubah. Peubah biasa hanya mampu menyimpan nilai terakhir yang dimasukkan
dalam peubah tersebut, jadi jika diinginkan nilai yang pernah dimasukkan tetap tersimpan dalam
memori maka data tersebut harus disimpan dalam peubah bertipe larik atau array. Karena tipe ini
memungkinkan sejumlah nilai dapat tersimpan dalam suatu peubah.
untuk mengakses larik atau array adalah dengan menyebutkan nama peubah diikuti nomor
indeksnya, bila lariknya bertipe lebih dari satu dimensi, maka untuk mengaksesnya sama seperti
cara sebelumnya tetapi ditambah dengan nomor indeks ukuran ke dua dan seterusnya.