160 likes | 353 Vues
Array Dimensi Banyak. Gerlan A. Manu, ST., MKom. Mengingat Kembali. Array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Contoh : Var X : Array[1..100] of Integer ……. X[1] := 25; X[2] := 75; …..
E N D
Array Dimensi Banyak Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II Gerlan A. Manu, ST.,MKom
Mengingat Kembali • Array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. • Contoh : Var X : Array[1..100] of Integer ……. X[1] := 25; X[2] := 75; ….. writeLn (X[1]); {untuk menampilkan Array X pertama} Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Array Dimensi Banyak • Array dapat juga berdimensi lebih dari satu yang disebut array dimensi banyak (multidimensi array). • Array Berdimensi Dua (Two Dimensional Array) • Array Berdimensi Tiga (Three Dimensional Array) • Dst… Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Array Dimensi Dua • Array DimensiDuamewakilisuatubentuktabelataumatrik, yaituindeks yang pertamadapatmenunjukkanbarisdanindekskeduadapatmenunjukkankolomdaritabelataumatrik. nama_array = array[tipe_indeks1] of array [tipe_indeks2] of tipe_data; atau, nama_array = array[tipe_indeks1,tipe_indeks2] of tipe_data; Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Contoh Uses wincrt; Var Tabel : array[1..3,1..2] of byte; I,J : byte; Begin Tabel[1,1] := 5; Tabel[1,2] := 25; Tabel[2,1] := 200; Tabel[2,2] := 22; Tabel[3,1] := 75; Tabel[3,2]:= 50; For I := 1 to 3 do Begin For J := 1 to 2 do Begin write (Tabel[I,J]:5); End; writeLn End; End. Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II Menampilkannilai array setelahspasi 5 kali Coba anda hilangkan :5, perhatikan apa yang terjadi setelah di Run.
Lanjutan… Tabel[1,1] := 5; Tabel[1,2] := 25; Tabel[2,1] := 200; Tabel[2,2] := 22; Tabel[3,1] := 75; Tabel[3,2]:= 50; • Untukmengisinilaibisalangsungpada program sepertidiatasataubisadenganReadLn; For I := 1 to 3 do Begin For J := 1 to 2 do Begin write ('MasukanNilaiTabel[',I,',',J,'] = '); ReadlN (Tabel[I,J]); End; End; Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II Perhatikanpenggunaankoma Utkmemisahkannilaivariabel (I dan J) Dan tampilankarakter (masukannilaitabel)
Latihan • Buatlah program untukmatrikdibawahini : 13 24 21 22 14 10 12 1 31 • Buatlah program untungmenjumlahkanmatrikdibawahini : • Matrik A 2 3 1 5 2 6 7 8 4 • Matrik B 4 9 1 2 1 3 3 2 5 Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II Untuk kuliah online latihan dikumpul paling lambat jam 6 sore hari ini
Deklarasi Array Dimensi Dua • Seperticontohsebelumnyadeklarasi array ditulis : Var Tabel : array[1..3,1..2] of byte; • Bisajugaditulisseperti : Type X = array[1..3,1..2] of byte; Var Tabel : X; • Atau; Type Baris = 1..3; Kolom = 1..2; X = array[Baris,Kolom] of Byte; Var Tabel : X; Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Parameter Larik • Larik dapat digunakan sebagai parameter yang dikirimkan baik secara nilai(by value) atau secara acuan (by reference) ke prosedur atau fungsi. • Prosedur yang menggunakan parameter barupa larik harus dideklarasikan di dalam judul prosedur yang menyebutkan parameternya bertipe larik. Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Contoh Uses wincrt; Type Larik = array[1..50,1..50] of Real; Var I,J,K , N: byte; X : Larik; Procedure Invers(Var X : Larik; N : byte); Var Pv, A : real; Begin For I := 1 to N do Begin PV := X[I,I]; X[I,I] := 1; For J := 1 to N do X[I,J] := X[I,J]/ PV; For K := 1 to N do Begin If K <> I Then Begin A := X[K,I] X[K,I] := 0; For J:= 1 to N do X[K,J] := X[K,J]-A*X[I,J]; End; End; End; End; Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Lanjutan Contoh… {program utama} Begin Clrscr; Write ('Ordedarimatrik ? '); Readln(N); WriteLn; {memasukkan data} For I := 1 to N do Begin For J := 1 to N do Begin Write( 'Nilai [', I, ' , ' ,J, '] = '); ReadLn (X[I,J]); End; WriteLn; End; {mencetaknilaimatrikasli} Clrscr; writeLn ('MatrikAwal'); For I := 1 to N do Begin For J := 1 to N do Write ( X[I,J]:10); WriteLn; End; {menghitung invers matrik} Invers(X,N); writeLn; {mencetakinvermatrik} WriteLn ('Matriks Invers'); For I := 1 to N do Begin For J := 1 to N do Write ( X[I,J]:10); WriteLn; End; End. Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Array Dimensi Tiga • Untuk array dimensi tiga : nama_array = array[tipe_indeks1,tipe_indeks2,tipe_indeks3] of tipe_data; Contoh : Tabel : array[1..3,1..3,1..3] of integer; Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II Untuk menginputkan data dan menampilkan data sama dengan array dimensi dua
Tugas Array Dimensi Banyak • Buatlahduabuahmatrikkemudiankalikan! • Implementasikanperkalianmatriktersebutdalam program denganmenggunakan array dimensidua! Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II
Algoritma Program • Duabuahmatrik yang akandikalikanharusmempunyaiordejumlahkolommatrikpertamadanjumlahbarismatrikkeduaharussama. • Masukkan Data dariMatrik yang Pertama. • Masukkan Data dariMatrik yang Kedua. • Kalikankeduamatriktersebut. • TampilkanHasil. Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman II