Logika Pascal – Matrix Determinan & Transpose

Coding Matrix Determinan & Transpose dengan Pascal

Coding Matrix Determinan & Transpose dengan Pascal

Logika program perbaris :

  1. uses crt; digunakan untuk memanggil unit library & menghidupkan fungsi crt pada pascal.
  2. Mendeklarasikan t sebagai object.
  3. Mendeklarasikan m1 dan m2 sebagai variable array, dengan 2 dimensi dan masing –masing dari dimensi nya memiliki 2 elemen yang bertipe data integer.
  4. Baris 4-8 : Lok merupakan array dengan 4 elemen , isinya merupakan 4 procedure yaitu input, deter, tampil, & transpos.
  5. Mengakhiri pendeklarasian dari type t.
  6. Mendekarasikan bahwa m adalah t. sehingga nanti procedure dapat dipanggil.
  7. Pendeklarasian variable i, j, k, pil, det1, det2 sebagai variable yang berdata integer.
  8. Baris 12-13 : Pendeklarasian mulainya procedure t.input.
  9. Membersihkan layar output.
  10. Mencetak ‘Input Matrik I‘ pada output.
  11. Untuk I bernilai 1 sampai dengan 2 maka lakukan baris program dibawah ini.
  12. Pemulaian untuk sekumpulan baris yang akan di ulangi di looping i.
  13. Untik J bernilai 1 sampai dengan 2 maka lakukan baris program dibawah ini.
  14. Pemulaian untuk sekumpulan baris yang akan di ulangi di looping j.
  15. Mencetak gambar 1 (lihat gambar), hal ini bisa terjadi karena ada pengulangan :
    2

    Gambar 1

    • Karena looping ini adalah  looping di dalam looping, maka looping dalam dulu yang akan diselesaikan, setelah itu looping luar, dalam hal ini yang menjadi looping dalam adalah variable j.
    • Setelah membaca nilai pertama variable I adalah 1, maka looping akan masuk kedalam dan membaca nilai j yang 1 juga. Lalu masuk ke perintah cetak maka akan  akan mencetak Elemen Matrik [1.1], lalu ada perintah readln yaitu untuk membaca input an user. Inputan user ini juga akan dibaca sesuai nilai I, j.
    • Maka inputan akan dibaca sebagai m1[1,1]. Looping pertama selesai maka program akan membaca nilai j kedua dan melakukan rutinitas yang sama.
    • Setelah nilai j selesai maka nilai I yang kedua akan dibaca dan program akan masuk lagi ke looping j.
  16. Baris 22 untuk mengakhiri looping j , sedangkan 23 untuk mengakhiri looping i.
  17. Gotoxy berarti kursor akan berpindah tempat ke lokasi (35,1) à dalam hal ini berarti kolom ke 35 dan baris ke 1. Lalu pada titik tersebut, program akan mencetak ‘Input Matrik II‘ , dan di baris ini terdapat nilai dari variable k yaitu 2.
  18. Untuk I bernilai 1 sampai dengan 2 maka lakukan baris program dibawah ini
  19. Pemulaian untuk sekumpulan baris yang akan di ulangi di looping i.
  20. Untik J bernilai 1 sampai dengan 2 maka lakukan baris program dibawah ini.
  21. Kursor akan berpindah ke kolom 35 dan baris k, lalu nilai k akan ditambahkan 1.
  22. Mencetak gambar 2(lihat gambar), hal ini bisa terjadi karena adalanya pengulangan seperti penjelasan pada nomor 15. Yang membedakan hanyalah data yang diinput kali ini akan dibaca sebagai m2[i,j].

    Gambar 2

    Gambar 2

  23. Baris 32 mengakhiri looping j, 33 mengakhiri looping I, 34 mengakhiri procedure dari t.input.
  24. Baris 35-36  : Pendeklarasian mulainya procedure t.tampil.
  25. Kursor akan berpindah sebaris lebih bawah.
  26. Baris 38-40 : Program akan mencetak seperti gambar 3.
    Gambar 3

    Gambar 3

    • Baris 38 akan mencetak ‘*Matrik I*‘.
    • Baris 39 akan mencetak data dari m1[1,1], lalu beri jarak 5, dan program akan mencetak data dari m1[1,2] dan kembali memberi jarak 5, bisa dilihat pada nomor 15 bahwa memang yang diinput user sebagai m1[1,1] adalah 1, dan yang sebagai m1[1,2] adalah 2.
    • Baris 40 akan mencetak data dari m1[2,1], lalu beri jarak 5, dan program akan mencetak data dari m1[2,2] dan kembali memberi jarak 5, bisa dilihat pada nomor 15 bahwa memang yang diinput user sebagai m1[2,1] adalah 3, dan yang sebagai m1[2,2] adalah 4.
  27. Baris 41-43 : Program akan mencetak seperti gambar 4.
    Gambar 4

    Gambar 4

    • Baris 41 kursor akan pindah ke kolom 35 baris 9 & akan mencetak *Matrik II*.
    • Baris 42 kursor akan pindah ke kolom 35 baris 10 & akan mencetak data dari m2[1,1], lalu beri jarak 5, dan program akan mencetak data dari m2[1,2] dan kembali memberi jarak 5, bisa dilihat pada nomor 22 bahwa memang yang diinput user sebagai m2[1,1] adalah 4, dan yang sebagai m2[1,2] adalah 3.
    • Baris 43 kursor akan pindah ke kolom 35 baris 11 & akan mencetak data dari m2[2,1], lalu beri jarak 5, dan program akan mencetak data dari m2[2,2] dan kembali memberi jarak 5, bisa dilihat pada nomor 22 bahwa memang yang diinput user sebagai m2[1,1] adalah 2, dan yang sebagai m2[1,2] adalah 1.
  28. Digunakan agar output dapat dilihat sejenak.
  29. Mengakhiri procedure t.tampil.
  30. Baris 46-47 : Pendeklarasian mulainya procedure t.deter.
  31. Maka nilai dari variable det1 ditentukan dari pengurangan nilai m1[1,1] yang dikalikan m1[2,2] dengan nilai m1[1,2] dikalikan m1[2,1].
  32. Maka nilai dari variable det2 ditentukan dari pengurangan nilai m2[1,1] yang dikalikan m2[2,2] dengan nilai m2[1,2] dikalikan m2[2,1].
  33. Kursor akan berpindah sebaris lebih bawah.
  34. Baris 51-52 : Program akan mencetak  seperti gambar 5
    Gambar 5

    Gambar 5

    • -2 adalah data dari det1. Dapat di buktikan bahwa (1*4)-(2*3) =  -2
    • 10 adalah data dari det2. Dapat dibuktikan bahwa (4*1)-(3*2)  = -2
  35. Digunakan agar output dapat dilihat sejenak.
  36. Mengakhiri procedure t.deter.
  37. Baris 55-56 : Pendeklarasian mulainya procedure t.transpos.
  38. Kursor berpindah sebaris lebih bawah, lalu program akan mencetak ‘*Transpose Matrik I*‘.
  39. Program akan mencetak  seperti gambar 6.
    Gambar 6

    Gambar 6

    • Bisa dilihat bahwa yang di cetak di baris pertama adalah data dari m1[1,1] dan m1[2,1] sedangkan yang dicetak pada baris kedua adalah m1[1,2] dan m1[2,2].
    • Hal ini dikarenakan prinsip transpose yang merubah kolom jadi baris dan baris menjadi kolom.
  40. Baris 60-62 , program akan mencetak seperti gambar 7.
    Gambar 7

    Gambar 7

    • Baris 60 kursor akan pindah ke kolom 35 baris 9 & program mencetak ‘*Transpos Matrik II*’.
    • Baris 61 kursor akan pindah ke kolom 35 baris 10 & program akan mencetak data dari m2[1,1] & m2[2,1]. Diberi jarak 5 juga.
    • Baris 62 kursor akan pindah ke kolom 35 baris 11 & program akan mencetak data dari m2[1,2] & m2[2,2]. Diberi jarak 5 juga.
  41. Digunakan agar output dapat dibaca sejenak.
  42. Mengakhiri procedure t.transpos.
  43. Baris 65 memulai program.
  44. Repeat digunakan untuk perulangan, maka baris-baris dibawah ini akan diulang sampai nilai dari pil = 4  : program baris ke-82.
  45. Untuk membersihkan layar output.
  46. Pada kolom 25 baris 1 mencetak ‘***** Menu Matrik *****’.
  47. Pada kolom 25 baris 2 mencetak ‘1. Input Matrik ‘.
  48. Pada kolom 25 baris 3 mencetak ‘2. Transpose Matrik ‘.
  49. Pada kolom 25 baris 4 mencetak ‘3. Determinan Matrik ‘.
  50. Pada kolom 25 baris 5 mencetak ‘4. Keluar‘.
  51. Pada kolom 25 baris 7 mencetak ‘Pilihan 1..4‘, lalu program akan meminta inputan yang kemudian akan dibaca sebagai pil.
  52. Memulai kondisi dengan case, variable yang digunakan untuk case adalah pil.
  53. Bila user menginput 1 maka akan memulai prosedur m.input & m.tampil.
  54. Bila user menginput 2 maka akan memulai prosedur m.transpos.
  55. Bila user menginput 3 maka akan memulai prosedur m.deter.
  56. Akhir dari kondisi case dengan variable pil.
  57. Karena perulangan akan berakhir bila pil = 4, maka ketika user menginput 4, program akan berhenti melakukan perulangan, sedangkan setelah itu sudah tidak ada program apapun maka program pun akan keluar/ter-exit.
  58. Di bawah ini adalah output program secara keseluruhan :
Output Menu Awal -> Input 1

Output Menu Awal -> Input 1

Output Input Matrik (Penginputan)

Output Input Matrik (Penginputan serta hasil)

Transpose Matrik (Menu 2)

Transpose Matrik (Menu 2)

Determinan Matrik (Menu 3)

Determinan Matrik (Menu 3)

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s