57
 Array (Larik) Array yaitu yang berbaris-baris atau berderet-deret. Dalam pemrograman : deretan data yang mempunyai jenis atau tipe data yang sama. Nama Array mewakili deret data dia miliki.  Contoh: A:array[1..5] of integer A adalah nama array

Array (Larik) New Mar11

Embed Size (px)

Citation preview

Page 1: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 1/57

 

Array (Larik)

• Array yaitu yang berbaris-baris atauberderet-deret.

• Dalam pemrograman : deretan data yangmempunyai jenis atau tipe data yangsama.

• Nama Array mewakili deret data dia miliki.

 – Contoh: A:array[1..5] of integer

• A adalah nama array

Page 2: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 2/57

 

Definisi Array

• Adalah sebuah peubah (variabel) yangmempunyai struktur data yang dapatmenyimpan lebih dari satu nilai yang sejenis

(tipe data yang sama), setiap elemen diacumelalui indeksnya.

• Elemen array tersusun di memori secaraberurutan (sekuensial), oleh sebab itu indeks

array(larik) haruslah tipe data yang menyatakanketerurutan, misalnya integer atau karakter.

Page 3: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 3/57

 

Elemen Array

In

deks A

In

deks A

1 1 158

2 2 157

3 3 162

4 4 170

5 5 163Elemen Array kosong Elemen Array yg sudah

disi nilai

A[1], A[2], A[3], A[4], A[5]

Page 4: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 4/57

 

Variabel array vs variabel biasaVariabel array Variabel biasa 

Dapat menyimpan lebihdari satu nilai yg sejenis

Contoh:Deklarasi:

A:array[1..5] of integer

Hanya dapat menyimpansatu nilai walaupun sejenis

Contoh :Deklarasi:

A1 : integer

A2 : integerA3 : integer

A4 : integer

A5 : integer

Page 5: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 5/57

 

Deklarasi Array• Sesuatu yang akan digunakan/dipakai dalam 

suatu program terlebih harus dideklarasikan • Array (Larik) adalah struktur(susunan) data yg

statis, artinya elemen larik harus sudahdiketahui sebelum program dieksekusi. Jumlah

elemen larik tidak dapat diubah(ditambah/dikurangi) selama pelaksanaanprogram (program running).

• Mendeklarasikan larik di dalam bagian deklarasiberarti : – mendefinisikan banyaknya elemen larik (memesan tempat di

memori)

 – mendefinisikan tipe elemen larik (menetapkan tipe nilai yg dapatdisimpan oleh larik (array).--> tipe data dapat berupa : tipedasar/sederhana (integer, real, char, string, Boolean), tipebentukan (tipe terstruktur :record)

Page 6: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 6/57

 

Deklarasi Array -next

• Array dari tipe data dasar : DEKLARASI :

A : array[1.50] of integer

NamaMhs : array[1..10] of string

NilaiUjian : array[1..75} of real• Sebagai tipe bentukan  : 

membuat/medefinisikan tipe dasar dengan nama sebuah tipe baru

DEKLARASI :

Type

LarikInt : array[1..100] of integer { nama tipe baru}

A:LarikInt {A adalah sebuah variable (peubah) array dg 100 elemen 

dan bertipe integer} 

Page 7: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 7/57

Deklarasi Array -next

• Sebagai sebuah konstanta : 

Mendefinisikan ukuran array (larik) sebagaisebuah konstanta

DEKLARASI:Const max= 10

N: array[1..max] of real

I: integer

ALGORITMA :For i:=1 to max do

read(n[i])

Endfor

 

Page 8: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 8/57

Deklarasi Array -next

• Sebagai tipe bentukan terstruktur (RECORD) :  – Tipe yang berbentuk rekaman (record ), rekaman disusun oleh satu atau

lebih field. Setiap field menyimpan data dari tipe dasar tertentu.

DEKLARASI :Const NMaks = 100Type Mahasiswa : record<

NIM : integerNAMA : StringIPK : real >

Type tabmhs : array[1..maks] of mahasiswaMhs : TabMhs

Penulisan elemen mhs :Mhs[2] {elemen kedua dari array mhs}Mhs[2].NIM {mengacu field NIM dari elemen kedua dari array Mhs}Mhs[2].IPK {mengacu field IPK dari elemen kedua dari array Mhs}

Pengsian Nilai per field :Mhs[i].NIM 102131002Mhs{i].NAMA ‘BUDI UTOMO’ Mhs[i].IPK 3.6

Menampilkan hasil per field :

Output([Mhs[i].NIM, Mhs[i].NAMA, Mhs[i].IPK)

 

Page 9: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 9/57

Acuan Elemen Array(Larik)

• Elemen Array diacu melalui indeksnya, Nilai Indeks

harus terdefinisi. – A[4] mengacu elemen ke 4 dari larik A

 – NamaMhs[2] mengacu elemen ke 2 dari larik namaMhs

 – A[i] mencau elemen ke-I dari larik A, asalkan nilai I sudahterdefinisi.

• Memanipulasi elemen array (larik) : – A[4] 10

 – NamaMhs[i] ‘Achmad’ 

 – Read(A[i])

If A[i] < 10 then

A[i] A[i] + 10

Else

.…… 

 

Page 10: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 10/57

Pemrosesan Array (Larik)

• Elemen array diproses secara beruntun melalu indeks yang terurutmulai dari elemen pertama sampai elemen terakhir.

• Skema umum pemrosesan array:PROGRAM ProsesArray

DEKLARASI:Const max= 10Type LarikInt : array[1..max] of integer

A : LarikIntI: integer {indeks Array}

ALGORITMA :For i:=1 to max do

pemrosesan terhadap A[i] )

Endfor

• Pemrosesan pengisian nilai, pembacaan, penulisan, komputasi,dan manipilasi lainnya.

 

Page 11: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 11/57

Pengisian Elemen Array (Larik) :

• Secara Lansung : – Contoh

• A[i] 10• Inisialisasi :

For I

1 to n doA[i] IEndfor

• Dengan pembacaan (dari keyboard) :

 – Contoh :For I 1 to n doread(A[i])

Endfor

 

Page 12: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 12/57

Ukuran efektif Array (Larik)

• Jumlah elemen larik sudah ditentukan(statis), tapi belum tentu semuadigunakan/dipakai

• Jumlah elemen yang dipakai itulah yangdisebut dengan ukuran/jumlah efektifarray.

• Ukuran efektif dapat dicatat di dalampeubah (variabel) tertentu, misalnya n.

 

Page 13: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 13/57

tiga cara untuk menentukan jumlahelemen efektif dari array(Larik) :

1. Jika Jumlah elemen efektif ditentukan diawal

2. Jika Jumkah elemen efektif diketahui diakhir pembacaan

3. Jika Jumlah elemen efektif barudiketahui di akhir pembacaan (variasidari versi 2)

 

Page 14: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 14/57

Jumlah elemen efektif ditentukan di awal

Procedure BacaLarik(Output A : LarikInt, input n :integer)

{Mengisi elemen-elemen larik A[1..n] dengan pembacaan}

{K. Awal : n adalah jumlah elemen efektif larik, nilainya terdefinisi}

{ K. Akhir : setelah pembacaan, seluruh elemen larik A berisi nilai-nilai 

yang dibaca dari piranti masukan (keyboard)}

DEKLARASI

i : integer {pencatat indeks larik }

ALGORITMA

for i 1 to n do

read(A[i])

endfor

 

Page 15: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 15/57

Jumlah elemen efektif diketahui di akhir pembacaan

• Setiap kali selesai pembacaan satu buah elemen, akan dilakukankonfirmasi apakah masih ada lagi elemen larik yang akan dimasukkan,seperti statement di bawah ini :

Write(‘Lagi? (y/t)’) JIka jawabnya ‘y’ maka pembacaan dilanjutkan, jika ‘t’ maka prosespembacaan dihentikan. Jumlah elemen yang dibaca di catat di dalam suatuvariabel (peubah)

Procedure BacaLarik2(Output A: Larikint, Output n: integer){K. Awal : sembarang}{K. Akhir : sebanyak n buah elemen larik A berisi nilai-nilai yang dibaca; n

berisi jumlah elemen larik yang diisi}DEKLARASI

Jawab : charALGORITMA

N 0Repeat

n n + 1Read(A[n])Write(‘Lagi? (y/t)’) Read(jawab)

Until jawab = ‘t’ 

 

Page 16: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 16/57

Jumlah elemen efektif baru diketahui di akhir pembacaan(variasi dari versi 2)

• Proses pembacaan dianggap selesai jika nilai yang dibaca adalahsuatu tanda, misalnya 9999.

Procedure BacaLarik3(output A, LArikint, output n : integr){mengisi elemen-elemen larik A[1..n] dg cara pembacaan. Akhir pembacaan ditandai jika nilai yang 

dibaca adalah 9999}{K.Awal : sembarang }K. Akhit : sebanyak n buah elemen larik A berisi nilai-nilai yang dibaca; n berisi jumlah larik yang diisi.}

DEKLARASIx : integer {menyimpan sementara nilai yang di baca}

ALGORITMAn 0read(x)while x 9999 do

n n +1A[n] xread(x)

endwhile

{x = 9999} 

 

Page 17: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 17/57

Menghitung Nilai Rata-rata

• Data yang sudah disimpan di dalam Larik, selanjutnya

data tersebut dapat dimanipulasi

Procedure hitungRataRata(input A:Larikint, input n:integer)DEKLARASI

I : integerJumlah : real

ALGORITMAI 1 {dimulai dari elemen pertama}

Jumlah 0 {jumlah total nilai mula mula}

For i 1 to n do jumlah jumlah + A[i]

EndforU jumlah/n

 

Page 18: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 18/57

Notasi Algoritma – hitung rata rata

PROGRAM Rerata

DEKLARASIconst

NMaks = 100type

LarikInt : array[1..NMaks] of integerA : LArikIntn : integer

u : integer { nilai rata-rata }

procedure BacaLarik1(output A : Larikint, input n :integer){ mengisi elemen larik A[1..n] dengan pembacaan }

procedure HitungRataRata(input A : LArikint, input n : integer. Output u : real){menghitung nilai rata-rata larik A}

ALGORITMAread(n) {tentukan jumlah elemen larik yang akan digunakan }BacaLarik1(A, n)HitungRataRata(A, n, u)write(u)

 

Page 19: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 19/57

Kapan menggunakan Larik (array):

• Untuk menyimpan sejumlah data yangbertipe sama.

• Untuk menghindari penggunaan nama-nama peubah(variabel) yang banyak.

• Agar penulisan program lebih efisiendalam penulisan kode programnya.

 

Page 20: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 20/57

latihan

• Buatlah algoritma tanpa menggunakanprosedur (sub program) untuk menghitungnilai-nilai rata-rata dari data yang

tersimpan pada elemen array(larik) yangbertipe integer.

• Konversikan algoritma tersebut ke dalam

bahasa pascal.

 

Page 21: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 21/57

ARRAY KONSTAN :

• Nilai yang terkandung di dalam sebuah arraydapat bernilai konstan,

• artinya nilai-nilai tersebut tidak dapat diubah.

• mendeklarasikan array bersangkutan dengankata kunci CONST.

• Bentuk umumnya adalah sbb:

• Const• NamaArray : array[IndekAwal..IndekAkhir] of

tipe_data = (nilai1, nilai2, ...);

 

Page 22: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 22/57

Bentuk umum array konstan

ConstNamaArray : array[IndekAwal..IndekAkhir] oftipe_data = (nilai1, nilai2, ...)

Contoh :

Const A: array[1..5] of char = (‘A’, ‘B’, ‘C’, ‘D’, ‘E’)’

Array A di atas bersifat konstan, maka nilai yang ada tidak digantikandengan nilai lainnya.

Contoh :

A[1] ‘V’ { SALAH, Karena elemen A[1] selalu bernilai ‘A’} A[2] ‘W’ {SALAH, Karena elemen A[2] selalu bernilai ‘B’} A[3] ‘X’ { SALAH, Karena elemen A[3] selalu bernilai ‘C’} A[4] ‘Y’ {SALAH, Karena elemen A[4] selalu bernilai ‘D’} A[5] ‘Z’ { SALAH, Karena elemen A[5] selalu bernilai ‘E’}

 

Page 23: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 23/57

Algoritma penggunaan Array konstan

Program ArrayKonstan

DEKLARASI :

Const

BULAN : array[1..12] of string = (‘Januari’, ‘Februari’,

‘Maret’, ‘April’, ‘Mei’, ‘Juni’, ‘Juli’, ‘Agustus’, ‘September’,‘Oktober’, ‘Nopember’, ‘Desember’) 

noBulan : integer;

ALGORITMA :

read(noBulan)

write(BULAN[noBulan]);

 

Page 24: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 24/57

MENCARI NILAI MAKSIMUM ARRAY :

Nilai maksimum pada sebuah variabel Array adalah elemen array yangmempunyai nilai terbesar diantara elemen array lainnya.

1 2 3 4 5 6 7 8

Nilai maksimum adalah : 172 ada pada elemen A[5]

Kalau elemen larik sudah terurut baik secara ascending maupundescending, maka nilai maksimum langsung bisa diperoleh :Ascending pada elemen terakhir,Descending pada elemen pertama

Permasalahan muncul bila nilai elemen array tesusun secara acak,maka untuk mencari nilai maksimumnya harus mengunjungi seluruhelemen array.

A 158 157 162 169 172 155 170 163

 

Page 25: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 25/57

Tiga versi algoritmauntuk mencari nilai maksimum

Cara 1 :1. Mengasumsikan nilai maksimum sementara (maks)

adalah yang sangat kecil (misal: -9999).

2. Selanjutnya array dikunjungi mulai dari elemen pertama,

3. setiap kali mengunjungi elemen array, bandingkanelemen tersebut dengan nilai maksimum sementara.

4. Jika elemen array yang sedang dintinjau lebih besar darinilai maksimum sementara, maka (maks) diganti denganelemen tersebut.

5. pada akhir kunjungan (setelah seluruh elemen arraydikunjungi), nilai maksimum semntara menjadi nilaimaksimum sebenarnya.

 

Page 26: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 26/57

Ilustrasi untuk maks : -999

A

`

158 157 162 169 172 155 170 163

1 2 3 4 5 6 7 8

Asumsi : maks = -9999 (nilai maksimum sementara)

A[1] > maks? Ya maks A[1] (maks=158)A[2] >maks? Tidak maks tidak berubahA[3] > maks? Ya maks A[3] (maks=162)A[4] > maks? Ya maks A[4] (maks=169)A[5] >maks? Ya maks A[5] (maks=172)

A[6] > maks? tidak maks tidak berubahA[7] > maks? tidak maks tidak berubahA[8] >maks? Tidak maks tidak berubah

(proses pembandingan selesai)Didapat : maks = 172 (nilai maksimum array yang ditemukan)

 

Page 27: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 27/57

Algoritma untuk maks = -999

Program NilaiMaksimum

DEKLARASI :Const N = 8A : array[1..N] of integer = (158, 157, 162, 169, 172, 155,

170, 163)I, maks : integer

ALGORITMA :Maks -9999 {nilai maksimum sementara}For i 1 to N do

If A[i] > maks thenMaksA[i]

endifendforWrite(maks)

 

Page 28: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 28/57

Cara 2: Mencari nilai Maksimal

1. Nilai maksimum sementara diinisialisasikan denganelemen pertama array.

2. selanjutnya, arrray dikunjungi mulai dari elemen kedua

3. setiap kali mengunjungi elemen array, bandingkan

elemen tersebut dengan nilai maksimum sementara.4. jika elemen array yang sedang dintinjau lebih besar dari

nilai maksimum sementara, maka (maks) diganti denganelemen tersebut.

5. pada akhir kunjungan (setelah seluruh elemen arraydikunjungi), nilai maksimum sementara menjadi nilaimaksimum sebenarnya.

 

Page 29: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 29/57

Ilustrasi untuk maks : elemen pertama

A

`

158 157 162 169 172 155 170 163

1 2 3 4 5 6 7 8

Asumsi : maks = A[1] (nilai maksimum sementara, maks=158)

A[2] >maks? Tidak maks tidak berubahA[3] > maks? Ya maks A[3] (maks=162)A[4] > maks? Ya maks A[4] (maks=169)A[5] >maks? Ya maks A[5] (maks=172)A[6] > maks? tidak maks tidak berubah

A[7] > maks? tidak maks tidak berubahA[8] >maks? Tidak maks tidak berubah

(proses pembandingan selesai)Didapat : maks = 172 (nilai maksimum array yang ditemukan)

 

Page 30: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 30/57

Algoritma untuk maks = Elemen pertama

Program NilaiMaksumum

DEKLARASI :Const N = 8A : array[1..N] of integer = (158, 157, 162, 169, 172, 155,

170, 163)I, maks : integer

ALGORITMA :Maks A[1] {nilai maksimum sementara}For i 2 to N do

If A[i] > maks thenMaksA[i]

endifendforWrite(maks)

 

Page 31: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 31/57

Cara 3: Mencari nilai Maksimal

• Mencari nilai maksimal berdasarkan nomorindeks array.

Algoritma :

idxMaks 1for I 2 to n do

if A[i] > A[idxMaks] then

idxMak

Iendifendfor

 

Page 32: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 32/57

Mencari Nilai Minimum Array(Larik)

• Mencari elemen larik yang mempunyainilai terkecil di antara elemen larik lainnya.

• Konsepnya sama dengan Mencari nilaimaksimum array

 

Page 33: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 33/57

Latihan

• Buatlah algoritma untuk mencari nilaiterbesar dari data yang sudah tersimpanpada elemen array, dimana nilai yang

tersimpan pada elemen array tersebut dibaca dari inputan eksternal (keyboard).

• Konversikan algoritma di atas ke dalam

Bahasa Pascal

 

M li L ik (A )

Page 34: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 34/57

Menyalin Larik (Array)

A

`

158 157 162 169 172 155 170 163

B`

1 2 3 4 5 6 7 8

1 2 3 4 5 6 7 8

 

Page 35: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 35/57

Algoritma Menyalin LarikProgram Salin

DEKLARASI:

Const maks=100A:array[1..maks] of integerB:array[1..maks] of integerI,n : integer

ALGORITMA:Read(n) {menentukan jumlah elemen yang akan digunakan}

{membaca nilai dari inputan eksternal (keyboard)}For I 1 to n do

read(A[i])Endfor

{menyalin Larik A ke Larik B}for I 1 to n do

B[i]

A[i]endfor

{Menampilkan nilai elemen array B setelah dilakukan penaylinan dari elemen array A}For I 1 to n do

write(B[i])endfor

 

Page 36: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 36/57

Menguji kesamaan dua buah Larik

• Dilakukan dengan membandingkan setiapelemen yang berpadanan pada ke dualarik tersebut

• Jika ditemukan satu saja elemen yangtidak sama, maka dapat dipastikan duabuah larik tersebut tidak sama.

• Apabila semua elemen dari larik itu sama,maka dapat dikatakan dua buah larik itusama.

 

M ji k d b h L ik t

Page 37: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 37/57

Menguji kesamaan dua buah Larik - next

A

`

123 130 140 160 180

B

`

123 130 140 160 180

1 2 3 4 5

1 2 3 4 5

 

Algoritma menguji kesamaan larik

Page 38: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 38/57

Algoritma menguji kesamaan larikProgram ujiDEKLARASIConst maks=5

A:array[1..maks] of integer=(123,130,140,160,180)

B:array[1..maks] of integer=(123,130,140,160,180)I : integerSama : booleanALGORITMA:I 1

Sama true

While (I ≤ maks) and (sama) do if A[i] = B[i] thenI I + 1 {tinjau elemen berikutnya}

elsesama false

endif

Endwhile{ I > maks or sama=false }{tampilkan hasil}If sama true then

write(‘dua larik sama’) Else

write(‘dua larik berbeda’) endif

 

Page 39: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 39/57

ARRAY DUA DIMENSI (MATRIKS)

Pengertian array dua dimensi :  

• Array dua dimensi dapat dipandang sebagaigabungan array satu dimensi.

• Ilustrasi :Pandanglah tiga buah array satu

dimensi yang dibuat dengan: A1[4], A2[4], A3[4]: dengan tipe data yang sama

 

Page 40: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 40/57

ARRAY DUA DIMENSI (MATRIKS)-next

• Ketiga buah array satu dimensi di atas, dapat digabung menjadi satu,sehingga terbentuk sebuah array yang disebut array dua dimensi, yang

dapat diilustrasikan sebagai berikut :

• Dari ilustrasi diatas, terlihat array tersebut terdiri dari 3 baris, dan 4kolom, dan jumlah elemennya = 3 x 4 = 12 elemen, karena terdiri

dari baris (row) dan kolom (column) maka arrray dua dimensi seringdisebut MATRIX.• Karena sudah menjadi satu buah array, maka nama array hanya

satu buah, Misalnya A[3] [4] yang maksudnya adalah terdiri barisnyaada 3, dan kolomnya ada 4.

 

Page 41: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 41/57

Bentuk Umum Array Dua Dimensi

 

A k t t k d di i ( t ik )

Page 42: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 42/57

 Array konstan untuk array dua dimensi (matriks  ) 

Cotoh:

•Array Dua Dimensi dengan matriks : 3 x 5, dengan tipedata integer dan char :

 

Mengisi Elemen Array Dua Dimensi (MATRIKS)

Page 43: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 43/57

Mengisi Elemen Array Dua Dimensi (MATRIKS)

Diketahui array dua dimensi :A : array[1..3, 1..4] of integer

• Untuk keperluan praktis dan keragaman, indeks untuk baris dankolom menggunakan variabel.

• Misal : i untuk baris dan J untuk kolom • Algoritmanya :

I 2J 3A[i, j] 17

 

I i El M t ik b i

Page 44: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 44/57

Isi Elemen Matriks per barisatau per kolom

 

Pengisian semua elemen Matriks

Page 45: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 45/57

Pengisian semua elemen Matriks

secara baris perbaris : 

• Algoritmanya :N 1I 1While (i<=3)

J 1While ( j<= 4)

A[i, j] N

N++J++

EndwhileI++

Endwhile

 

Pengisian semua elemen Matriks

Page 46: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 46/57

Pengisian semua elemen Matriks

secara kolom perkolom : 

• Algoritmanya :X 1N XJ 1While (J <= 4)

i 1While ( i <= 3)

A[i, j] NN+4i++

EndwhileX++NXJ++

Endwhile

 

Page 47: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 47/57

Mengisi Elemen Array Dua Dimensi, dengan Nilai yang diinput dari Keyboard : 

• Misalnya Array Dua Dimensi dengan• Matrik 3 x 5. isikan nilai kedalam• elemen matrik tersebut.

• Algoritmanya :I 1

While (i<=3)J 1

While ( j<= 5)Read(nilai)A[i, j] nilaiJ++

EndwhileI++

endwhile

 

Page 48: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 48/57

Latihan 1:

• diketahui matriks 3 x4 untuk array duadimensi, Buatlah algoritma untukmelakukan inisialisasi nilai (nilai konstan)

pada array dua dimensi tersebut dengantipe data integer. Dan cetak/tampilkanlahnilai dari masing-masing elemen darimatriks tersebut di atas.

• Transformasikanlah Algoritma di atas kedalam bahasa pemrogaram PASCAL.

 

Page 49: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 49/57

Latihan 2:

• diketahui matriks 3 x4 untuk array duadimensi, Buatlah algoritma denganmenginputkan nilai dari inputan eksternal

(keyboard) ke dalam masing elemenmatriks di atas dengan tipe data integer.Dan cetak/tampilkanlah nilai dari masing-masing elemen dari matriks tersebut.

• Transformasikanlah Algoritma di atas kedalam bahasa pemrogaram PASCAL.

 

MENYALIN ISI ARRAY DUA

Page 50: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 50/57

MENYALIN ISI ARRAY DUADIMENSI

• Algoritmanya :

For i=1 to i<= 3 do

For j=1 to j <=4 doB[i,j] A[i,j]Endfor

Endfor

 

MENGHITUNG TOTAL ISI ARRAY DUA DIMENSI

Page 51: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 51/57

MENGHITUNG TOTAL ISI ARRAY DUA DIMENSI

• Algoritmanya :

TOT

0I 1While (i<=3) do

J 1

While (J <= 4) doTOT TOT + A[i,j]

J++Endwhile

I++Endwhile

Write (TOT )

 

MENAMBAH ISI DUA BUAH ARRAY DUA DIMENSI

Page 52: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 52/57

 • Dua buah array Dua Dimensi yang dibuat A[3,4], dan B[3,4] dengan tipe data integer.

• Algoritmanya :I 1While (i <= 3 ) do

J 1

While ( J <= 4 ) doC[i,j] A[i,j] + B[i,j]J++

EndwhileI++

Endwhile

 

MENGALIKAN ISI DUA BUAH ARRAY DUA DIMENSI :

Page 53: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 53/57

• Dua buah array Dua Dimensi A[2,3] dan B[3,4] yang dibuat dengantipe data integer :

Catatan :• Syarat dua buah matriks dapat dikalikan adalah : Jumlah kolom

matriks ke 1 harus sama dengan jumlah baris matriks ke 2.• Sedangkan hasilnya adalah matriks ke 3, yaitu jumlah baris matriks

ke 3 (matriks hasil) sama dengan jumlah baris matriks ke 1, dan jumlah kolomnya (matriks 3) sama dengan jumlah kolom matriks ke2.

 

Perkalian matriks next

Page 54: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 54/57

Perkalian matriks - next

• Contoh :

A[2,3] x B[3,4] = c[2,4]

• Ilustrasi proses :2x3+4x2+3x3 =2x2+4x4+3x3 =2x5+4x6+3x2 =

2x7+4x3+3x5 =

3x3+2x2+5x3 =3x2+2x4+5x3 =3x5+2x6+5x2 =3x7+2x3+5x5 =

• Secara umum 8 persamaan di atas, dapat ditulis sebagai berikut :C[i,j] = ∑ (A[i,k] * b[k,j] ) Dimana :K dipakai untuk : COL pada array A dan ROW pada array B, dan untuksuatu nilai i dan j, nilai k bergerak 1 sd. 3

 

Page 55: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 55/57

Latihan 1:

• diketahui matriks 3 x4 untuk array dua dimensi,Buatlah algoritma untuk menghitung nilai totaldari matriks tersebut sedang nilai didapat

dengan melakukan inisialisasi nilai (nilaikonstan) pada array dua dimensi tersebutdengan tipe data integer. Dancetak/tampilkanlah nilai total dari matriks di atas.

• Transformasikanlah Algoritma di atas ke dalambahasa pemrogaram PASCAL.

 

Page 56: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 56/57

Latihan 2:

• diketahui matriks A=2 x3 dan matrisk B=3x4,Buatlah algoritma untuk menghitung hasilperkalian dua buah matriks. Sedang nilai dari

dua buah matriks tersebut didapat denganmelakukan inisialisasi nilai (nilai konstan) padadua matriks tersebut dengan tipe data integer.Dan cetak/tampilkanlah hasil perkalian dua

matriks tersebut.• Transformasikanlah Algoritma di atas ke dalam

bahasa pemrogaram PASCAL.

 

TUGAS

Page 57: Array (Larik) New Mar11

5/11/2018 Array (Larik) New Mar11 - slidepdf.com

http://slidepdf.com/reader/full/array-larik-new-mar11 57/57

TUGAS(dikumpulkan minggu depan, 20 april 2011)

• Buatlah tiga jenis algoritma untuk menentukanhasil perkalian dari dua buah matriks. Denganketentuan sebagai berikut : – Silahkan tentukan sendiri ukuran dari dua buah

matriks tersebut. – Tentukanlah nilai dari dua buah matriks tersebutdengan menggunakan inisialisasi atau inputan darikeyboard.

 – Tipe data ke dua matriks tersebut adalah integer.

• Konversikanlah tiga jenis algoritma di atas kedalam bahasa pemrograman Pascal.