TIM ASISTEN DOSEN – ALGORITMA & PEMROGRAMAN 2009
Materi 9 Pertemuan Kedua Array Kompleks 2 Dimensi
Pada pertemuan sebelumnya, kalian telah mempelajari mengenai Array 2 dimensi. Kali ini kita akan mempelajari mengenai aplikasi Array 2 dimensi dalam Matrix. Kalian tentu pernah mempelajari tentang Matrix, dan pastinya kalian juga pasti pernah mendengar mengenai Operasi-operasi nya juga.
Operasi Penambahan dan Pengurangan pada Matrix Operasi pertama yang akan kita pelajari adalah operasi Penambahan, tetapi sebelumnya kalian harus terlebih dahulu mengingat bagaimana operasi penambahan dalam Matrix?
1 2 3 1 2 3 1 2 3 A
+
1 2 3 1 2 3 1 2 3 B
= =
2 4 6 2 4 6 2 4 6 C
Dilihat dari gambar di atas, kita dapat mengambil kesimpulan: A[0][0] + B[0][0] = C[0][0] A[0][1] + B[0][1] = C[0][1] A[0][2] + B[0][2] = C[0][2] Dst… Untuk membuat program seperti di atas, langkah pertama yang harus dilakukan adalah mendeklarasi 3 buah array 2 dimensi dengan ukuran 3x3.
Langkah berikutnya adalah kita melakukan pengisian pada Matrix A dan Matrix B seperti pada gambar di atas. Kalian dapat melakukan nya langsung pada code atau membuat user untuk melakukan pengisian sendiri.
TIM ASISTEN DOSEN – ALGORITMA & PEMROGRAMAN 2009
Setelah itu kita membuat code program yang merupakan operasi penambahan dari Matrix 3x3. Jika kalian perhatikan, setiap penambahan Matrix mengandung pola tertentu. Perhatikan penjelasan di bawah ini. X Y
X Y
X Y
A[0][0] + B[0][0] = C[0][0] A[0][1] + B[0][1] = C[0][1]
A[X][Y] + B[X][Y] = C[X][Y]
A[0][2] + B[0][2] = C[0][2] Dst…
Pola yang dapat kita simpulkan adalah baik Matrix A, Matrix B, maupun Matrix C memiliki index baris yang sama dan index kolom yang sama. Dapat ditulis seperti di atas, A[X][Y] + B[X][Y] = C[X][Y]. Jika pola sudah ditemukan, maka kita dapat memikirkan bagaimana membuat programnya. Seperti di bawah ini.
TIM ASISTEN DOSEN – ALGORITMA & PEMROGRAMAN 2009
Latihan Coba kalian ubah bentuk di atas untuk melakukan penambahan dan pengurangan Matrix 4 dimensi. Gunakan Switch – Case untuk membuat menu Penambahan dan Pengurangan.
Latihan Kalian ingat Transpose Matrix? Ya, itu mengenai Pembalikkan nilai Matrix. Coba kalian buat programnya lalu tambahkan pada menu latihan sebelumnya. Jika kalian lupa mengenai Transpose Matrix, kami akan coba ingatkan, lihat gambar di bawah ini.
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5
=
A
6 7 8 9 0
Transpose A
Operasi Perkalian pada Matrix Operasi perkalian lebih rumit disbanding dengan operasi penambahan ataupun pengurangan pada Matrix. Maka dari itu, kita akan mencoba terlebih dahulu untuk mengalikan Matrix 2x2. Pertama mari kita temukan terlebih dahulu pola yang ada pada operasi perkalian Matrix.
1 2 3 4
+
A
5 6 7 8
=
B
=
1*5 + 2*7 3*5 + 4*7
1*6 + 2*8 3*6 + 4*8 C
Apakah kalian telah mendapatkan sebuah pola dengan gambar di atas? Jika belum, mari kita melihat gambar berikutnya untuk membuat kalian lebih mudah mencari pola dari gambar di atas. Pada gamabar berikut akan ditulis index-index dari tiap nilai.
[0][0] [0][1] [1][0] [1][1] A
+
[0][0] [0][1] [1][0] [1][1] B
= =
[0][0]*[0][0] + [0][1]*[1][0] [1][0]*[0][0] + [1][1]*[1][0]
[0][0]*[0][0] + [0][1]*[1][0] [1][0]*[0][1] + [1][1]*[1][1] C
TIM ASISTEN DOSEN – ALGORITMA & PEMROGRAMAN 2009
Jika kalian perhatikan Matrix C yang di hasilkan, masing-masing perkalian memiliki pola yang sama. Mari kita jabarkan Matrix C. X Z Z Y X Z Z Y X Z Z Y X Z Z Y Seperti kalian lihat di atas masing-masing perkalian memiliki pola yang sama. Apakah kalian [0][0]*[0][0] + [0][1]*[1][0] [0][0]*[0][0] + [0][1]*[1][0] dapat melihat polanya?+ Jika belum tanyakan langsung+ pada Asisten, mereka akan [1][0]*[0][0] [1][1]*[1][0] [1][0]*[0][1] [1][1]*[1][1] menjelaskannya… (^,-) Dari pola di atas kita dapat membuat programnya. Tentunya langkah pertama yang dilakukan sama seperti di atas, yaitu mendeklarasi matrix 2x2 lalu mengisinya. Setelah itu kalian buat 3 perulangan untuk membentuk pola seperti di atas. Pahami bentuk program di bawah ini.
Nah, sekarang coba cari tahu mengapa setiap kali perulangan kedua kita memberi perintah C[x][y]=0 ? Apa yang terjadi jika perintah tersebut dihilangkan? Pakah program bias jalan? Jika bisa, apakah hasil yang dikeluarkan benar? Mengapa?
Latihan Coba ubah bentuk program di atas, sehingga program dapat mengealikan program 3x3, setelah itu gabungkan pada latian sebelumnya sehingga menjadi menu baru.
.: Selamat Mengerjakan :.