LABORATORIUM PEMBELAJARAN ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS BRAWIJAYA
BAB
: ARRAY 2 DIMENSI
NAMA
: M SATRIA PUTRA UTAMA
NIM
: 155150207111168
TANGGAL : 01/10/2016
ASISTEN
: ILHAM ROMADHONA
A.
DEFINISI MASALAH
Tugas 3.1
1. Tambahkan method untuk mengubah dari ADT Matrik ke struktur array dua dimensi dengan header :
double [][] toDArray()
2. Tambahkan method untuk transpose matrik dengan header Matrik tranposeMatrik()
3. Tambahkan method untuk perkalian matrik dengan header Matrik kali(Matrik m)
Interface pemanggilan method di atas sebagai berikut : Misalkan dideklarasikan Matrik A,B, C;
C = A.kali(B)
4. Tambahkan method untuk mengambil isi baris tertentu dan is kolom tertentu dari matrik dan hasilnya dikeluarkan berupa larik dengan header sebagai berikut :
Larik getKolom(int idK) Larik getBaris(int idK)
Untuk dapat menjalankan ini tambahkan program Larik pada praktikum 1 diatas program ini atau anda susun dalam bentuk paket (minta petunjuk pada asisten).
Karena larik pada program 1 tipe itemnya integer maka agar kompatibel dengan program matrik ada dua cara :
Lakukan casting (minta petunjuk pada asisten)
Anda edit tipe data itemDt pada larik bertipe fload
Tugas 3.2
Program Latihan Praktikum 3.2 1
2 3 4 5 6 7
package ADT_Larik;
/**
* ADT Matrik
* @author achmad ridok */
8
private int nBaris, nKolom; private double [][]itemDt; /**
* constructor untuk membuat suatu matrik * @param nBrs : banyaknya baris
* @param nKlm : banyaknya kolom */
public Matrik(int nBrs, int nKlm){ nBaris = nBrs;
nKolom = nKlm;
itemDt = new double[nBaris][nKolom]; }
/**
* constructor untuk membuat matrik dari array 2 dimensi
* @param A : array dua dimensi */
public Matrik(double [][]A){
this(A.length,A[0].length); // panggil contructor
this.nBaris = A.length; this.nKolom = A[0].length;
for (int i=0; i<nBaris; i++){
for (int j=0; j<nKolom; j++){ this.itemDt[i][j] = A[i][j]; }
} }
/**
* Fungsi untuk mendapatakan jumlah baris * @return jumlah baris
*/
public int getNBaris(){ return nBaris;} public int getNKolom(){ return nKolom;} public double getItem(int idB, int idK){ return this.itemDt[idB][idK];
}
public void setItem(int idB, int idK, double dt){ this.itemDt[idB][idK] = dt;
}
public static Matrik tambah(Matrik A, Matrik B){ // tambahkan bagian ini
}
/**
* fungsi static perkalian antara vektor dengan matrik * Syarat : lebar L sama dengan jumlah baris M
62
* @return Vector (Larik) berdimensi nKolom dari M */
public static Larik VektorKaliMatrik(Larik L, Matrik M){
Larik lHasil = null; Larik lKolom = null;
if (L.getSize() == M.getNBaris()){ lHasil = new Larik(M.getNKolom()); for (int i=0; i<M.getNKolom(); i++){
lKolom = M.getKolom(i); double hasil =
Larik.LarikKaliLarik(L, lKolom);
System.out.println(hasil); lHasil.isiItem(i, hasil);
} }
return lHasil; }
/**
* fungsi static tranpos suatu matrik * @param A : Matrik
* @return Matrik tranpos */
public static Matrik tranpos(Matrik A){ // lenkapi bagian ini
} /**
* fungsi untuk mendapatkan vektor baris dari matrik * @param idBaris : indek baris yang akan diekstrak * @return Larik representasi baris
*/
public Larik getBaris(int idBaris){ // lenkapi bagian ini
}
/**
* fugsi untuk mendapatkan vektor kolom suatu matrik * @param idKolom : id kolom yang akan diekstrak * @return Larik representasi kolom
*/
public Larik getKolom(int idKolom){ Larik l = new Larik(this.nBaris); for (int i=0; i<this.nBaris; i++){
double itemKolom = this.getItem(i, idKolom);
115 116 117 118 119
120 121 122 123
public void cetak(String kom){ System.out.println(kom);
for (int i=0; i<this.nBaris; i++){
for (int j=0; j<this.nKolom; j++){ System.out.printf("%.2f ",this.itemDt[i][j]);
}
System.out.println(); }
}
Tugas 3.2.
Lengkapi program di atas sehingga dengan potongan program driver berikut akan menghasilkan keluaran sebagaimana disamping.
Matrik A,B,C;
double [][]data1 = {{1,2,3},{3,4,7}}; double [][]data2 = {{4,5,1},{6,1,9}}; A = new Matrik(data1);
B = new Matrik(data2); A.cetak("A"); B.cetak("B"); C = Matrik.tambah(A,B); C.cetak("C");
Matrik CT = Matrik.tranpos(C); CT.cetak("Tsanpos");
Larik l1 = C.getBaris(1); l1.cetak("Baris ke 1 dari C"); Larik l2 =
Matrik.VektorKaliMatrik(l1,CT); l2.cetak("Hasil kali C.L1");
A
1.00 2.00 3.00 3.00 4.00 7.00 B
4.00 5.00 1.00 6.00 1.00 9.00 C
5.00 7.00 4.00 9.00 5.00 16.00 Tsanpos
5.00 9.00 7.00 5.00 4.00 16.00
Baris ke 1 dari C 9.00 5.00 16.00 144.0
362.0
Hasil kali C.L1 144.00 362.00
B. SOURCE CODE
Tugas 3.1
Matrik.java 1
2 3 4 5 6 7 8 9 10 11 12
package asdpraktikum;
import java.util.Scanner;
public class Matrik { // Data
private int nBaris, nKolom; private double[][] itemDt;
13 x.getItem(i, j));
64 m.getNKolom()))) {
115
A.transposeMatrik().cetak("Transpose Matrik A"); B.transposeMatrik().cetak("Transpose Matrik B"); C = A.tambah(B);
C.cetak("Matrik C = A + B");
double m[][] = A.toArray("Jadi Array\nMasukkan Data Matrik A");
for (int i = 0; i < m.length; i++) {
for (int j = 0; j < m[0].length; j++) { System.out.print(m[i][j] + " "); }
168 169 170
171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
}
double t[][] = B.toArray("Jadi Array\nMasukkan Data Matrik B");
for (int i = 0; i < t.length; i++) {
for (int j = 0; j < t[0].length; j++) { System.out.print(t[i][j] + " "); }
System.out.println(""); }
A.kali(B).cetak("Perkalian Matrik A dan B"); Larik w = A.getKolom(0);
w.cetak("Kolom ke 1 Matrik A"); w = A.getBaris(0);
w.cetak("Baris ke 1 Matrik A"); Larik b = B.getBaris(0);
b.cetak("Baris ke 1 Matrik B"); b = B.getKolom(0);
b.cetak("Kolom ke 1 Matrik B");
} }
Tugas 3.2
Matrik.java 1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Package asdpraktikum;
/** *
* @author M Satria Putra Utama */
public class Matrik {
private int nBaris, nKolom; private double[][] itemDt;
/**
* constructor untuk membuat suatu matrik *
* @param nBrs : banyaknya baris * @param nKlm : banyaknya kolom */
public Matrik(int nBrs, int nKlm) { nBaris = nBrs;
nKolom = nKlm;
itemDt = new double[nBaris][nKolom]; }
/**
79
* fungsi static perkalian antara vektor dengan matrik Syarat : lebar L sama
public static Larik VektorKaliMatrik(Larik L, Matrik M) { Larik lHasil = null;
* fungsi untuk mendapatkan vektor baris dari matrik *
* @param idBaris : indek baris yang akan diekstrak * @return Larik representasi baris
132
185 186 187 188 189
l1.cetak("Baris ke 1 dari C");
Larik l2 =Matrik.VektorKaliMatrik(l1, CT); l2.cetak("Hasil kali C.L1");
} }
Tambahan untuk dapat menjalankan Method VektorKaliMatrik tambahkan code berikut ke Class Larik
Larik.Java 1
2 3 4 5 6 7 8 9 10
public double getItem(int i){ return itemDt[i]; }
static double LarikKaliLarik(Larik L, Larik lKolom) { double res = 0;
for (int i = 0; i < L.size; i++) {
res=res+(L.getItem(i)*lKolom.getItem(i)); }
return res; }
C.
PEMBAHASAN
Tugas 3.1
Matrik.java 13 5 6 8 9 11
12 13 14
15 17
18 19 20
21
22
23
Package asdpraktikum.
Mengimport fungsi dari Scanner.
Deklarasi class Matrik yang bersifat public Comment
Deklarasi variabel nBaris dan nKolom yang bertipe integer
Deklarasi Array 2 dimensi yang bernama itemDt dan bertipe double
Constructor bersifat public yang memiliki parameter nBrs dan nKlm yang keduanya bertipe integer
Menentukan nilai dari nBaris adalah sama dengan nilai parameter nBrs Menentukan nilai dari nKolom adalah sama dengan nilai parameter nKlm
Menetukan ukuran Array itemDt yang dimana baris dan kolomnya tergantung dari nilai nBaris dan nKolom
Parsing
Constructor bersifat public yang memiliki parameter Array bernama dt dan bersifat double
Menentukan nilai dari nBaris adalah sama dengan nilai panjang baris dari Array dt Menentukan nilai dari nKolom adalah sama dengan nilai panjang kolom dari Array dt Menentukan Baris dan Kolom dari Array itemDt yang Baris dan Kolomnya tergantung dari nilai variabel nBaris dan nKolom
Deklarasi perulangan for yang mana dimulai dari i = 0 dan akan terus berulang selama nilai i < nBaris dan i akan terus bertambah 1 selama perulangan
Deklarasi perulangan for yang mana dimulai dari j = 0 dan akan terus berulang selama nilai j < nKolom dan j akan terus bertambah 1 selama perulangan
24 25 26 28 29 30 31 32 33 34 35 37 38 39 41
42
43 45
46
47 49
50 51
53
54
55
56 57 58 59 60 62
63
64
dengan nilai dari Array dt baris ke i dan kolom ke j Parsing
Parsing Parsing Comment Comment Comment Comment Comment
Deklarasi method getNBaris bertipe integer dan bersifat public Mengembalikan nilai dari nBaris
Parsing
Deklarasi method getNKolom yang bertipe integer dan bersifat public Mengembalikan nilai nKolom
Parsing
Deklarasi method getItem bertipe double dan bersifat public juga memiliki parameter idB dan idK yang keduanya bertipe integer
Mengembalikan nilai dari Array itemDt yang baris dan kolom tergantung nilai dari parameter idB dan idK
Parsing
Deklarasi method setItem yang tidak mengembalikan nilai dan bersifat public juga memiliki parameter idB dan idK bertipe integer juga dt bertipe double
Memberi nilai Array itemDt yang baris dan kolom tergantung nilai dari parameter idB dan idK dengan nilai dari parameter dt
Parsing
Deklarasi method tambah bertipe Matrik dan bersifat public juga memiliki parameter x yang bertipe Matrik
Deklarasi variabel y bertipe Matrik dan diberi nilai awal null
Deklarasi fungsi if yang jika nilai this.nBaris = x.getNBaris() dan nilai this.nKolom = x.getNKolom() maka
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < this.nBaris dan i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < this.nKolom dan j akan bertambah 1 selama perulangan
Variabel y memanggil method setItem yang mana akan memberi nilai Array yang barisnya tergantung nilai i dan kolomnya tergantung nilai j kemudian diisi dengan nilai penjumlahan dari Array itemDt[i][j] dengan x.getItem(i, j)
Parsing Parsing Parsing
Mengembalikan nilai dari y Parsing
Deklarasi method bernama kali bertipe Matrik juga memiliki parameter m bertipe Matrik
Menginstansiasi objek bernama res dari kelas Matrik dan memberi parameter pada constructor diisi dengan m.getNBaris(), m.getNKolom
65
66
67 68
69
70 71
72 73 75 76 79 81
82 83 84
85
86
87 88
89 90 91 92 94
95 96
97
98 99 100 101 102
m.getNKolom() maka
Deklarasi perulangan for yang dimulai dari nilai x = 0 dan akan terus berulang jika x < this.nBaris dan x akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai y = 0 dan akan terus berulang jika y < this.nKolom dan y akan bertambah 1 selama perulangan
Deklarasi variabel sem bertipe int dan bernilai awal 0
Deklarasi perulangan for yang dimulai dari nilai z = 0 dan akan terus berulang jika z < nKolom dan z akan bertambah 1 selama perulangan
Proses perhitungan sem = sem + (nilai Array itemDt baris x kolom z * nilai m.getItem berparameter z dan y)
Parsing
Objek res memanggil method setItem yang akan memberi nilai pada Array baris dan kolom tergantung pada nilai x dan y dan diisi dengan nilai dari sem
Parsing Parsing Parsing
Mengembalikan nilai res Parsing
Deklarasi method toArray bertipe Array 2 dimensi double juga memiliki parameter a bertipe String
Mencetak dengan menggunakan println yang berisi nilai dari parameter a Deklarasi fungsi Scanner bernama in
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < itemDt.length dan i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < itemDt[i].length dan j akan bertambah 1 selama perulangan
Mencetak dengan menggunakan print dengan isi “Masukkan data baris ke “ + (i + 1) + “ kolom ke “ + (j + 1) + “ : “
User memasukkan sebuah input bertipe double yang akan disimpan dalam variabel x Pemberian nilai pada Array itemDt baris ke i dan kolom ke j dengan nilai dari variabel x.
Parsing Parsing
Mengembalikan nilai dari itemDt Parsing
Deklarasi method cetak yang tidak mengembalikan nilai dan bersifat public juga memiliki parameter kom bertipe String
Mencetak dengan println dengan isi dari parameter kom
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < this.nBaris dan i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < this.nKolom dan j akan bertambah 1 selama perulangan
Mencetak dengan print dengan isi this.itemDt[i][j] + “ “ Parsing
Mencetak dengan println tanpa isi dan hanya sebagai pengganti enter Parsing
104
105
106
107
108
109 110 111 113
114
115
116
117
119 120 121 123 124
126
127
128
129 130 131 132 135
136 137
138
139
Deklarasi method getKolom bertipe Larik dan bersifat public juga memiliki parameter idK bertipe integer
Menginstansiasi objek x dari kelas Laris dan memberikan constructor parameter dengan isi this.nBaris
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < this.nBaris dan i akan bertambah 1 selama perulangan
Deklarasi variabel baru bertipe double dan diberi nilai awal nilai dari this.getItem(i, idK)
Objek x memanggil method isiItem yang parameternya diberi nilai dari i, dan juga nilai dari variabel baru yang diubah dari double ke integer
Parsing
Mengembalikan nilai x Parsing
Deklarasi method getBaris bertipe Larik dan bersifat public juga memiliki parameter idK bertipe integer
Menginstansiasi objek x dari kelas Larik dan juga memberi constructor parameter dengan isi this.nKolom
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < this.nKolom dan i akan bertambah 1 selama perulangan
Deklarasi variabel baru bertipe double dan diberi nilai awal nilai dari this.getItem(idK, i)
Objek x memanggil method isiItem yang parameternya diberi nilai dari i, dan juga nilai dari variabel baru yang diubah dari double ke integer
Parsing
Mengembalikan nilai x Parsing
Deklarasi method transposeMatrik bertipe Matrik tanpa parameter
Menginstansiasi objek S dari kelas Matrik dan juga memberi constructor parameter dengan isi nBaris, nKolom
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < nKolom dan i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < nBaris dan j akan bertambah 1 selama perulangan
Objek S memanggil method isiItem baris ke i dan kolom ke j yang diisi dengan nilai dari itemDt baris ke j dan kolom ke i
Parsing Parsing
Mengembalikan nilai S Parsing
Deklarasi method cetak yang tidak mengembalikan nilai dan bersifat static juga memiliki paramter a bertipe Array 2 dimensi double dan x bertipe String
Mencetak dengan println dengan isi dari parameter x
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < a.length dan i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < a[i].length dan j akan bertambah 1 selama perulangan
140 141 142 144 146 147 148 150 151 153
154
156 157 158
159
160
161 162
163
164
165 166 167 168 170
171
172
173 174 175 176 177
menjadi double + “ “ Parsing
Mencetak dengan println dengan isi “ ” dan hanya digunakan sebagai pengganti enter Parsing
Parsing
Main method public static void Comment
Deklarasi objek A, B, C, D, S dari kelas Matrik
Pemberian nilai pada Array 2 dimensi bertipe double yang bernama X Pemberian nilai pada Array 2 dimensi bertipe double bernama Y
Pemberian nilai Objek A dengan nilai dari constructor Matrik yang diberi parameter Array X
Pemberian nilai Objek B dengan nilai dari constructor Matrik yang diberi parameter Array Y
Objek A memanggil method cetak yang diberi parameter “Matrik A” Objek B memanggil method cetak yang diberi parameter “Matrik B”
Objek A memanggil method transposeMatrik tanpa parameter dan juga memanggil method cetak dengan parameter “Transpose Matrik A”
Objek B memanggil method transposeMatrik tanpa parameter dan juga memanggil method cetak dengan parameter “Transpose Matrik B”
Pemberian nilai Objek C dengan nilai dari Objek A yang memanggil method tambah dengan parameter Objek B
Objek C memanggil method cetak berparameter “Matrik C = A + B”
Deklarasi Array 2 dimensi bernama m dan bertipe double dan diberi nilai awal dari Objek A yang memanggil method toArray berparameter “Jadi Array\nMasukkan Data Matrik A”
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < m.length i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < m[0].length dan j akan bertambah 1 selama perulangan
Mencetak dengan print dengan isi nilai dari Array m baris ke i kolom ke j + “ “ Parsing
Mencetak dengan println dengan isi “ “ dan hanya sebagai pengganti enter Parsing
Deklarasi Array 2 dimensi bernama t dan bertipe double dan diberi nilai awal dari Objek B yang memanggil method toArray berparameter “Jadi Array\nMasukkan Data Matrik B”
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < t.length i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < t[0].length dan j akan bertambah 1 selama perulangan
Mencetak dengan print dengan isi nilai dari Array t baris ke i kolom ke j + “ “ Parsing
Mencetak dengan println dengan isi “ “ dan hanya sebagai pengganti enter Parsing
178
179 180
181 182
183 184
185 187 188
Deklarasi Objek w dari kelas Larik dan diberi nilai awal dari Objek A yang memanggil method getKolom berparameter 0
Objek w memanggil method cetak berparameter “Kolom ke 1 Matrik A”
Pemberian nilai Objek w dengan nilai dari Objek A yang memanggil method getBaris berparameter 0
Objek w memanggil method cetak berparameter “Baris ke 1 Matrik A”
Deklarasi Objek b dari kelas Larik dan diberi nilai awal dari Objek B yang memanggil method getBaris berparameter 0
Objek b memanggil method cetak berparameter “Baris ke 1 Matrik B”
Pemberian nilai Objek b dengan nilai dari Objek B yang memanggil method getKolom berparameter 0
Objek b memanggil method cetak berparameter “Kolom ke 1 Matrik B” Parsing
Parsing
Tugas 3.2
Matrik.java 13 4 5 6 7 9 10 12 13 14 15 16 17 18
19 20 21
22 24 25 26 27 28 29
30 31
Package asdpraktikum. Comment
Comment Comment Comment
Deklarasi class Matrik yang bersifat public
Deklarasi variabel nBaris dan nKolom yang bertipe integer dan bersifat private Deklarasi Array 2 dimensi yang bernama itemDt dan bertipe double
Comment Comment Comment Comment Comment Comment
Constructor bersifat public yang memiliki parameter nBrs dan nKlm yang keduanya bertipe integer
Menentukan nilai dari nBaris adalah sama dengan nilai parameter nBrs Menentukan nilai dari nKolom adalah sama dengan nilai parameter nKlm
Menetukan ukuran Array itemDt yang dimana baris dan kolomnya tergantung dari nilai nBaris dan nKolom
Parsing Comment Comment Comment Comment Comment
Constructor bersifat public yang memiliki parameter Array 2 dimensi bernama A dan bertipe double
32 34
35
36
37 38 39 41 42 43 44 45 46 47 48 50 51 52 54
55
56 58
59
60 62 63 64 65 66 67 68 69
70 71 72
73
74
Menentukan nilai dari nKolom adalah sama dengan nilai panjang kolom dari Array A Deklarasi perulangan for yang mana dimulai dari i = 0 dan akan terus berulang selama nilai i < nBaris dan i akan terus bertambah 1 selama perulangan
Deklarasi perulangan for yang mana dimulai dari j = 0 dan akan terus berulang selama nilai j < nKolom dan j akan terus bertambah 1 selama perulangan
Mengisi Array itemDt baris ke i dan kolom ke j dengan isi Array A baris ke i dan kolom ke j
Parsing Parsing Parsing Comment Comment Comment Comment Comment
Deklarasi method getNBaris bertipe integer dan bersifat public Mengembalikan nilai dari nBaris
Parsing
Deklarasi method getNKolom yang bertipe integer dan bersifat public Mengembalikan nilai nKolom
Parsing
Deklarasi method getItem bertipe double dan bersifat public juga memiliki parameter idB dan idK yang keduanya bertipe integer
Mengembalikan nilai dari Array itemDt yang baris dan kolom tergantung nilai dari parameter idB dan idK
Parsing
Deklarasi method setItem yang tidak mengembalikan nilai dan bersifat public juga memiliki parameter idB dan idK bertipe integer juga dt bertipe double
Memberi nilai Array itemDt yang baris dan kolom tergantung nilai dari parameter idB dan idK dengan nilai dari parameter dt
Parsing Comment Comment Comment Comment Comment Comment Comment
Deklarasi method tambah bertipe Matrik dan bersifat public static juga memiliki parameter A dan B yang bertipe Matrik
Deklarasi variabel x bertipe Matrik dengan nilai awal null Deklarasi variabel plus bertipe double
Nilai Variabel x bertipe Matrik sama dengan nilai dari constructor yg parameternya diisi dengan A.getNBaris(), A.getNKolom()
Deklarasi fungsi if yang jika nilai A.getNBaris = B.getNBaris() dan nilai A.getNKolom = B.getNKolom() maka
75
76 77
78 79 80 81 83 85 86 87 88 89 90 91 92 93 94
95 96 97 98
99
100
101
102 103
104 105 106 107 109 110 111 112 113 114
A.nBaris dan i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < A.nKolom dan j akan bertambah 1 selama perulangan
Pemberian nilai variabel plus dengan nilai dari A.getItem(i,j) + B.getItem(i, j)
Variabel x memanggil method setItem yang mana akan memberi nilai Array yang barisnya tergantung nilai i dan kolomnya tergantung nilai j kemudian diisi dengan nilai dari variabel plus
Parsing Parsing Parsing
Mengembalikan nilai dari x Parsing
Comment Comment Comment Comment Comment Comment Comment Comment Comment
Deklarasi method VektorKaliMatrik bertipe Larik dan bersifat public static juga memiliki parameter L bertipe Larik dan M bertipe Matrik
Deklarasi Objek lhasil bertipe Larik dan bernilai null Deklarasi Objek lkolom bertipe Larik dan bernilai null
Deklarasi fungsi if yang jika L.getSize() = M.getNBaris() maka
Nilai Objek lhasil sama dengan nilai dari constructor yang diberi parameter dengan isi M.getNKolom()
Deklarasi perulangan for yang mana dimulai dari i = 0 dan akan terus berulang selama nilai i < M.getNKolom dan i akan terus bertambah 1 selama perulangan
Nilai Objek lkolom sama dengan nilai dari Objek M yang memanggil method getKolom dan diberi parameter i
Deklarasi variabel hasil bertipe double dengan nilai sama dengan kelas Larik yang memanggil method LarikKaliLarik dengan parameter L, dan lkolom
Mencetak dengan println dengan isi nilai dari variabel hasil
Objek lhasil memanggil method isiItem dengan parameter i, dan hasil yang telah diubah tipenya menjadi integer
Parsing Parsing
Mengembalikan nilai dari lhasil Parsing
115
116
118
119
120
121 122 123 124 126 127 128 129 130 131 132
133
134
135
136
137 138 139 141 142 143 144 145 146 147
148
149
150
Deklarasi method tranpos bertipe Matrik dan bersifat public static juga memiliki parameter A bertipe Matrik
Deklarasi Objek sem dari kelas Matrik dan juga memberi parameter pada constructor dengan isi A.nKolom, dan A.nBaris
Deklarasi perulangan for yang mana dimulai dari i = 0 dan akan terus berulang selama nilai i < A.getNKolom dan i akan terus bertambah 1 selama perulangan
Deklarasi perulangan for yang mana dimulai dari j = 0 dan akan terus berulang selama nilai j < A.getNbaris dan j akan terus bertambah 1 selama perulangan
Objek sem memanggil Array itemDt baris ke i dan kolom ke j kemudain diberi nilai dengan nilai dari Objek A yang memanggil Array itemDt baris ke j kolom ke i
Parsing Parsing
Mengembalikan nilai sem Parsing
Comment Comment Comment Comment Comment Comment
Deklarasi method getBaris bertipe Larik dan bersifat public juga memiliki parameter idBaris bertipe integer
Menginstansiasi objek l dari kelas Larik dan juga memberi constructor parameter dengan isi this.nKolom
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < this.nKolom dan i akan bertambah 1 selama perulangan
Deklarasi variabel itemKolom bertipe double dan diberi nilai awal nilai dari this.getItem(idBaris, i)
Objek l memanggil method isiItem yang parameternya diberi nilai dari i, dan juga nilai dari variabel itemKolom yang diubah dari double ke integer
Parsing
Mengembalikan nilai l Parsing
Comment Comment Comment Comment Comment Comment
Deklarasi method getKolom bertipe Larik dan bersifat public juga memiliki parameter idKolom bertipe integer
Menginstansiasi objek l dari kelas Larik dan juga memberi constructor parameter dengan isi this.nBaris
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < this.nBaris dan i akan bertambah 1 selama perulangan
151
152 153 154 156 157 158 159 160 161
162 163
164
165
166 167 168 169 171 173 174 175 176 177 178 179 180
181 182
183 184
185 186
187 188 189
Objek l memanggil method isiItem yang parameternya diberi nilai dari i, dan juga nilai dari variabel itemKolom yang diubah dari double ke integer
Parsing
Mengembalikan nilai l Parsing
Comment Comment Comment Comment Comment
Deklarasi method cetak yang tidak mengembalikan nikai dan bersifat public juga memiliki parameter kom bertipe String
Mencetak dengan println dengan isi nilai dari parameter kom
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < this.nBaris dan i akan bertambah 1 selama perulangan
Deklarasi perulangan for yang dimulai dari nilai j = 0 dan akan terus berulang jika j < this.nKolom dan j akan bertambah 1 selama perulangan
Mencetak dengan printf dengan isi this.itemDt[i][j] dengan tambahan %.2f agar hanya akan menampilkan sampai 2 angka dibelakang koma saja
Parsing
Mencetak dengan println tanpa isi dan hanya sebagai pengganti enter Parsing
Parsing
Main method public static void
Deklarasi Objek A,B,C dari kelas Matrik
Membuat array 2 dimensi bertipe double dengan nama data1 dan memberinya nilai Membuat array 2 dimensi bertipe double dengan nama data2 dan memberinya nilai Nilai Objek A sama dengan nilai dari constructor berparameter data1
Nilai Objek B sama dengan nilai dari constructor berparameter data2 Objek A memanggil method cetak dengan parameter “A”
Objek B memanggil method cetak dengan parameter “B”
Nilai Objek C sama dengan nilai dari constructor yang memanggil method tambah dengan parameter A, dan B
Objek C memanggil method cetak dengan parameter “C”
Deklarasi Objek CT dari kelas Matrik dan bernilai sama dengan constructor yang memanggil method tranpos dengan parameter C
Objek CT memanggil method cetak dengan parameter “Tsanpos”
Deklarasi Objek l1 dari kelas Larik dan bernilai Objek C yang memanggil method getBaris dengan parameter 1
Objek l1 memanggil method cetak dengan parameter “Baris ke 1 dari C”
Deklarasi Objek l2 dari kelas Larik dan bernilai constructor yang memanggil method VektorKaliMatrik berparameter l1, dan CT
Objek l2 memanggil method cetak dengan parameter “Hasil kali C.L1” Parsing
Larik.Java 1
2 3 4
5 6
7
8 9 10
Deklarasi method getItem bertipe double dan bersifat public juga memiliki parameter i bertipe integer
Mengembalikan nilai dari Array itemDt[i] Parsing
Deklarasi method LarikKaliLarik bertipe double dan bersifat static juga memiliki parameter L dan lKolom yang keduanya bertipe Larik
Deklarasi variabel res bertipe double dan bernilai 0
Deklarasi perulangan for yang dimulai dari nilai i = 0 dan akan terus berulang jika i < L.size dan i akan bertambah 1 selama perulangan
Proses perhitungan res = res + (L.getItem(i)*lKolom.getItem(i)) yang hasilnya disimpan dalam variabel res
Parsing
Mengembalikan nilai res Parsing
D.
SCREENSHOT PROGRAM
E. KESIMPULAN
Array 2 dimensi adalah sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui dua indeks atau subskrip yaitu indeks baris dan indeks kolom.
Pengaksesan Array 2 dimensi sama dengan pengaksesan Array 1 dimensi yaitu dengan menyebutkan indeks baris dan kolom pada Array 2 dimensi seperti contoh berikut :
itemDt [0][1] = 3;
Contoh diatas adalah pemberian Array pada baris indeks ke 0 dan kolom indeks ke 1 dan diberi nilai 3
Pengaplikasian Array 2 dimensi juga sama dengan Array 1 dimensi yaitu dengan cara berikut :
tipeData[ ][ ] namaVariable = new tipeData [jumlahBaris] [jumlahKolom]; atau