Kamis, 19 Februari 2009

Logika dan Algoritma

Menghitung Perkalian Matriks

Algoritma :

  1. Deklarasikan variable i untuk iterasi, j untuk iterasi, k untuk iterasi, bar_a untuk jumlah baris pada matriks A, kol_a untuk jumlah kolom pada matriks A, bar_b untuk jumlah baris pada matriks B, kol_b untuk jumlah kolom pada matriks B, mat_a dengan tipe array of integer untuk menampung nilai matriks A, mat_b dengan tipe array of integer untuk menampung nilai matriks B, mat_c dengan tipe array of integer untuk menampung hasil perkalian kedua matriks.

  2. Masukkan jumlah baris pada matriks A lalu nyatakan ke variable bar_a, jumlah kolom pada matriks A lalu nyatakan ke variable kol_a, jumlah baris pada matriks B lalu nyatakan ke variable bar_b, serta jumlah kolom pada matriks B lalu nyatakan ke variable kol_b.

  3. Bila nilai pada bar_a tidak sama dengan nilai pada kol_b atau nilai pada kol_a tidak sama dengan nilai pada bar_b maka cetak “Kolom A = Baris B & Baris A = Kolom B!!!dan kembali ke langkah 2, namun bila tidak maka lakukan langkah 4 s/d 41.

  4. Cetak “ Nilai matriks A ” untuk membedakan nilai yang akan dimasukkan adalah nilai pada matriks A, bukan nilai pada matriks B.

  5. Isi variable i dengan 0.

  6. Selama nilai pada i kurang dari jumlah baris pada matriks A lakukan langkah 7 s/d 11.

  7. Isi variable j dengan 0.

  8. Selama j kurang dari jumlah kolom pada matriks A lakukan langkah 9 s/d 10.

  9. Masukkan nilai matriks pada indeks ke-i ke-j dan nyatakan ke mat_a[i][j].

  10. Tambahkan nilai pada variable j dengan 1.

  11. Tambahkan nilai pada variabel i dengan 1.

  12. Cetak “ Nilai matriks B untuk membedakan nilai yang akan dimasukkan adalah nilai pada matriks B, bukan nilai pada matriks A.

  13. Isi variable j dengan 0.

  14. Selama nilai pada j kurang dari jumlah baris pada matriks B lakukan langkah 15 s/d 19.

  15. Isi variable k dengan 0.

  16. Selama k kurang dari jumlah kolom pada matriks B lakukan langkah 17 s/d 18.

  17. Masukkan nilai matriks pada indeks ke-j ke-k dan nyatakan ke mat_b[j][k].

  18. Tambahkan nilai pada variable k dengan 1.

  19. Tambahkan nilai pada variabel j dengan 1.

  20. Isi variabel i dengan 0.

  21. Selama i kurang dari jumlah baris pada matriks A lakukan langkah 22 s/d 30.

  22. Isi variabel k dengan 0.

  23. Selama nilai pada k kurang dari jumlah kolom pada matriks B lakukan langkah 24 s/d 29.

  24. Isi mat_c pada indeks ke-i ke-k dengan 0.

  25. Isi j dengan 0.

  26. Selama j kurang dari jumlah baris pada matriks B lakukan langkah 27 s/d 28.

  27. Tambahkan nilai pada matriks_c indeks ke-i ke-k dengan hasil kali dari nilai pada mat_a pada indeks ke-i ke-j dengan nilai pada mat_b pada indeks ke-j ke-k kemudian nyatakan ke mat_c pada indeks ke-j ke-k.

  28. Tambahkan nilai pada j dengan 1.

  29. Tambahkan nilai pada k dengan 1.

  30. Tambahkan nilai pada i dengan 1

  31. Isi i dengan 0.

  32. Selama nilai i kurang dari jumlah baris pada matriks A lakukan langkah 33 s/d 37.

  33. Isi k dengan 0.

  34. Selama nilai k kurang dari jumlah kolom pada matriks B lakukan langkah 35 s/d 36.

  35. Cetak nilai pada mat_c indeks ke-i ke-k.

  36. Tambahkan nilai pada variabel k dengan 1.

  37. Tambahkan nilai pada variabel i dengan 1.

  38. Tanya apakah user masih ingin mengalikan dua buah matriks.

  39. Bila jawabannya iya, maka kembali ke langkah ke-2.

  40. Bila jawabannya tidak, maka program dapat langsung diakhiri.

  41. Namun jika bukan keduanya, tanyalah kembali (kembali ke langkah 38).

Flowchart :

Tidak ada komentar:

Posting Komentar