0% menganggap dokumen ini bermanfaat (0 suara)
189 tayangan14 halaman

BAB 8 Array-1

Dokumen tersebut membahas tentang pengertian dan penggunaan tipe data array dalam pemrograman. Secara singkat, array adalah struktur data yang digunakan untuk menyimpan sekumpulan data bertipe sama secara terorganisir menggunakan indeks. Dokumen tersebut menjelaskan pendefinisian array satu dimensi, dua dimensi, dan banyak dimensi beserta contoh kasus penggunaannya.

Diunggah oleh

Ariez Cahya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
189 tayangan14 halaman

BAB 8 Array-1

Dokumen tersebut membahas tentang pengertian dan penggunaan tipe data array dalam pemrograman. Secara singkat, array adalah struktur data yang digunakan untuk menyimpan sekumpulan data bertipe sama secara terorganisir menggunakan indeks. Dokumen tersebut menjelaskan pendefinisian array satu dimensi, dua dimensi, dan banyak dimensi beserta contoh kasus penggunaannya.

Diunggah oleh

Ariez Cahya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 14

ALGORITMA DAN PEMROGRAMAN

JOBSHEET 8 : ARRAY

Mata Kuliah : Algoritma dan Pemrograman


Dosen : Mardiyono, S. Kom., M. Sc

Disusun oleh :
Nama : Fadhil Ariezky Cahyatyo
NIM : 3.34.20.4.07

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2020/2021
BAB VIII
LARIK (ARRAY)

8.1 Tujuan Instruksional Khusus (TIK)

Setelah Menyelesaikan bab ini mahasiswa dapat :

1) Menjelaskan tentang pengertian larik ( array ) dan cara pendefinisiannya.


2) Mendeklarasikan dan mengakses elemen larik,
3) Membuat program yang melibatkan permasalahan-permasalahan yang membutuhkan
penanganan tipe data menggunakan larik.

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

Tipe Data Array 79


Bila kumpulan data tersebut disimpan dalam memori secara berurutan maka dalam
mengaksesnya diacu melalui nomor indeks datanya. Indeks menyatakan posisi data relatif di
dalam kumpulannya. Struktur penyimpanan data yang demikian dinamakan dengan larik (array).

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 :

1) array berdimensi satu,


2) array berdimensi dua,
3) array berdimensi banyak, dan
4) array tak berukuran.

8.3.1. Array berdimensi satu

a. Bentuk umum deklarasi array berdimensi b. Mengakses elemen array :


satu
nama_array: array [ukuran] of tipe nilai_tes[0]
dengan :
tipe : untuk menyatakan jenis elemen array tipe float
nilai_tes[1]
( misal char, integer, real)
ukuran : untuk menyatakan jumlah maksimal
nilai_tes[2]
elemen array. total 5 elemen
Contoh :
nilai_tes[3]
Nilai_tes : array[1..50] of integer
float nilai_tes[5]
deklarasi diatas menyatakan bahwa array
nilai_tes[4]
nilai_tes mengandung 50 elemen bertipe

integer.
Gambar 8.1 Array berdimensi satu

Catatan:

Tipe Data Array 80


Elemen array akan disimpan dalam memori secara berurutan dengan indeks pertama 0 ( nol ),
elemen kedua nomor indeksnya 1 (satu), dan seterusnya. Sedangkan untuk mengaksesnya adalah
dengan menggunakan nomor indeks tersebut.

c. Inisialisasi array berdimensi satu


Contoh :
Const jum_hari : array of integer[12]
= ( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)

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.

8.3.2. Array berdimensi dua

a. Bentuk umum deklarasi array berdimensi dua

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.

Tabel 8.1 Tabel data jumlah siswa kelas 1 :

Kelas Tahun I Tahun II Tahun III


IK 1A 24 24 22
IK 1B 22 22 20
IK 1C 23 21 20
IK 1D 24 23 22

Tipe Data Array 81


b. Pengaksesan elemen array :
Data tersimpan dalam array berdimensi dua :

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)

Gambar 8.2 Array berdimensi dua

Cara mengakses array berdimensi dua adalah dengan bentuk berikut :


data_siswa[no_indeks ukuran1,no_indeks ukuran2]

c. Inisialisasi array berdimensi dua


Contoh inisialisasi array berdimensi dua :

Conts data_siswa : array[1..4,1..3] of integer


= ( 24, 24, 22,
22, 22, 20,
23, 21, 20,
24, 23, 22 )

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.

Tipe Data Array 82


8.3.3. Array berdimensi banyak

Dalam permasalahan khusus memungkinkan untuk membuat array yang dimensinya lebih dari
dua. Bentuk umum pendeklarasian array berdimensi banyak adalah sebagai berikut :

nama_array : array[ukuran1] of [ukuran2] of ….of [ukuran n] of tipe

dengan :

tipe : : untuk menyatakan jenis elemen array ( misal char, int, real)
ukuran1,2..n : untuk menyatakan jumlah maksimal elemen array.

Contoh deklarasi:

data_matrik : array[1..2, 1..4, 1..4] of integer

Deklarasi berarti kita mendefinisikan data_matrik sebagai peubah bertipe array berdimensi tiga
dengan jumlah elemen data 32 ( 2 x 4 x 4) buah.

contoh inisialisasi array berdimensi banyak :

const data_matrik : array[1..2,1..3, 1..4] of integer


= ( 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12,
13, 14, 15, 16,
17, 18, 19, 20,
21, 22, 23, 24);

Tipe Data Array 83


Pengaksesan data array di atas dapat dilakukan dengan perintah sebagai berikut :
data_matrik[0,0,0] bernilai 1

data_matrik[0,0,1] bernilai 5

data_ matrik [0,0,2] bernilai 9

dan seterusnya.

8.4 Studi Kasus


8.4.1 Contoh Kasus
kasus 1 :
Buatlah algoritma untuk menentukan rata-rata nilai tes siswa, dimana nilai yang dimasukkan
disimpan dalam peubah ( variabel) bertipe array :
Algoritma rerata
{* ------------------------------------------------------------------------------------------ *
* Contoh pemakaian array berdimensi satu untuk menghitung rata-rata nilai siswa *
*------------------------------------------------------------------------------------------- *}
Deklarasi
Cacah :integer
total_nilai, rerata : real
nilai_tes : array[1..10] of real { deklarasi array }

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)

Tipe Data Array 84


Translasi ke dalam bahasa Pascal :
program rerata;
{* ------------------------------------------------------------------------------------------ *
* Contoh pemakaian array berdimensi satu untuk menghitung rata-rata nilai siswa *
*------------------------------------------------------------------------------------------- *}
Uses crt;
{Deklarasi}
Var Cacah :integer;
total_nilai, rerata : real;
nilai_tes : array[1..10] of real; { deklarasi array }

{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];

{*menghitung rata-rata nilai tes *}


rerata := total_nilai / 10;
ln(‘Nilai rata-rata = ‘,rerata);readln;
End.

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

Tipe Data Array 85


Conts jum_hari : array[1..12] of integer
=( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 )
var bulan, tahun, jhari : integer

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))
jhari29
else
jhari28
endif
else
jharijum_hari[bulan-1]
write(‘jumlah hari bulan ‘,bulan,’ tahun ‘,tahun,’ = ‘, jhari)

Translasi ke dalam bahasa Pascal :


Program jumlah_hari;
{* ------------------------------------------------- *
* contoh inisialisasi array berdimensi satu *
* Untuk memperoleh jumlah hari suatu bulan *
*---------------------------------------------------*}
{Deklarasi}
Uses crt;
Conts jum_hari : array[1..12] of integer
=( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
var bulan, tahun, jhari : integer;

{Deskripsi}
Begin

Tipe Data Array 86


Clrscr;
writeln(‘=================================================================’);
writeln (‘ Menentukan jumlah hari dari bulan ‘);
writeln (‘--------------------------------------------------------------------------------‘);
writeln (‘ 1 = JANUARI 2 = FEBRUARI 3 = MARET 4 = APRIL ‘);
writeln (‘ 5 = MEI 6 = JUNI 7 = JULI 8 = AGUSTUS ‘);
writeln (‘9 = SEPTEMBER 10 = OKTOBER 11 = NOVEMBER 12 = DESEMBER’);
writeln (‘=================================================================’);
write(‘Masukkan bulan ( 1..12) : ‘);read(bulan);
write(‘Masukkan tahun : ‘);read(tahun);
if (bulan = 2) then
Begin
if ((tahun mod 4 =0) AND ( tahun mod 100 <>0))
Jhari := 29
Else
Jhari := 28;
end
else
Jhari := jum_hari[bulan-1];
writeln(‘jumlah hari bulan ‘,bulan,’ tahun ‘,tahun,’ = ‘, jhari);readln;
End.

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

jum_kolom, jum_baris : integer


mat1:array[1..maks_baris,1..maks_kolom] of integer /*deklarasi array dimensi 2*/
mat2:array[1..maks_baris,1..maks_kolom] of integer
mat_hasil:array[1..maks_baris,1..maks_kolom] of integer

procedure entri_data_matrik(ouput matriks[1..maks_baris,1..maks_kolom]; input jum_baris,


jum_kolom:integer)
Deklarasi

Tipe Data Array 87


i, j : integer
Deskripsi
for I  1 to jum_baris
for j  1 to jum_kolom
write(‘Data baris ‘,i+1,’ kolom ‘, j+1)
read(matriks[i,j]
endfor
endfor

procedure jumlah_dua_matrik(input matriks1[1..maks_baris,1..maks_kolom] ,


matriks2[1..maks_baris,1..maks_kolom], jum_baris, jum_kolom : integer;
ouput mat_hasil [1..maks_baris,1..maks_kolom] )
Deklarasi
i, j : integer
Deskripsi
for I  1 to jum_baris
for j  1 to jum_kolom
mat_hasil[i,j]=matriks1[i][j] + matriks2[i][j]
endfor
endfor

procedure tampil_data_matrik(input matriks1[1..maks_baris,1..maks_kolom], jum_baris,


jum_kolom : integer)
Deklarasi
i, j : integer
Deskripsi
for I  1 to jum_baris
for j  1 to jum_kolom
write(matriks[i,j])
write(‘ ‘)
endfor
endfor

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)

Tipe Data Array 88


write(‘Data Matrik 1’)
entri_data_matrik(mat1, jum_baris, jum_kolom)
write(‘Data Matrik 2\’)
entri_data_matrik(mat2, jum_baris, jum_kolom)

write(‘Penjumlahan Dua Matrik’)


jumlah_dua_matrik(mat1, mat2, jum_baris, jum_kolom, mat_hasil)

write(“\nPenampilan hasil jumlahan Dua Matrik\n”)


tampil_data_matrik(mat_hasil, jum_baris, 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.

3. suatu array dalam fungsi main() dideklarasikan sebagai berikut :

static int grafik[8] = {10, 5, 8, 12, 15, 20, 25, 30 };

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

Tipe Data Array 89


 Program mengurangkan dua buah matriks

3. Program berdasarkan array

Tipe Data Array 90


8.5 Kesimpulan

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.

Tipe Data Array 91

Anda mungkin juga menyukai