Kamis, 26 November 2015

Menu Pada Pascal

Pada program ini, membuat menu matriks dalam pascal. Adapun isi dari menu yang di buat adalah Input Matrik, Transpose Matrik, Determinan Matrik, dan Keluar.



uses crt;  digunakan untuk memanggil unit library & menghidupkan fungsi crt pada pascal. 
type t = object  mendeklarasikan t sebagai object. Di dalam t terdapat statement statement, yaitu mendeklarasikan m1 dan m2 sebagai variabel array, dengan 1 dimensi dan masing - masing dari dimensi nya memiliki 2 elemen yang bertipe data integer. 
Baris 4-8 : Lok merupakan array dengan 4 elemen, isinya merupakan 4 procedure yaitu input, deter, tampil, & transpose. 
end;  mengakhiri pendeklarasian dari type t.
var m : t;  mendeklarasikan bahwa variabel m adalah t, sehingga nanti procedure dapat dipanggil.
i,j,k,pil,det1,det2 : integer;  pendeklarasian variabel i, j, k, pil, det1, det2 sebagai variabel yang berdata integer.
procedure t.input;  mendeklarasikan mulainya procedure t.input, yaitu pada baris 12 - 13.
clrscr;  untuk membersihkan layar output.
writeln (‘Input Matrik I’);  perintah mencetak Input Matrik I pada output.
for I :=  1 to 2 do
begin
for j := 1 to 2 do
begin
write (‘Elemen Matrik [‘, i, ‘, j, ‘ ]  :’);

Dalam hal ini yang menjadi looping dalam adalah variabel j dan looping luar ada variabel i.
Setelah membaca nilai pertama variabel i adalah 1, maka looping akan masuk kedalam dan membaca nilai j yang 1 juga. Lalu masuk ke perintah cetak maka akan mencetak ‘Elemen Matrik [1.1]’, lalu ada perintah readln yaitu untuk membaca inputan user, dibaca sesuai nilai i, j.
Maka inputan akan dibaca sebagai m1[1,1]. Looping pertama selesai maka program akan membaca nilai j kedua kemudian nilai i yang kedua dan program akan masuk lagi ke looping j. Seterusnya sampai perulangan yang diminta terpenuhi.
Baris 22 untuk mengakhiri looping j , sedangkan 23 untuk mengakhiri looping i.
gotoxy berarti kursor akan berpindah tempat kolom ke 35 dan baris ke 1. Lalu pada titik tersebut, program akan mencetak ‘Input Matrik II‘ dan di baris ini terdapat nilai dari variabel k yaitu 2.
Selanjutnya looping yang diminta sama seperti diatas. Untuk i bernilai 1 sampai dengan 2.
Pemulaian untuk sekumpulan baris yang akan di ulangi di looping i.
Untuk j bernilai 1 sampai dengan 2 juga.
gotoxy (35,k): inc(k);  kursor akan berpindah ke kolom 35 dan baris k, lalu nilai k akan ditambahkan 1. Kemudian mencetak seperti perulangan di atas, bedanya data yang diinput kali ini akan dibaca sebagai m2[i,j].
Baris 32 mengakhiri looping j, 33 mengakhiri looping I, 34 mengakhiri procedure dari t.input.
Procedure t.tampil;  mulainya procedure t.tampil.
Baris 36 – 43  masuk ke pendeklarasian procedure t.tampil.
Kursor akan berpindah sebaris lebih bawah.
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.
Baris 41 kursor akan berpindah tempat kolom ke 35 dan baris ke 7. Pada letak tersebut akan mencetak ‘*Matrik II*’.
Baris 42 kursor akan pindah ke kolom 35 baris 8 & 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.
Baris 43 kursor akan pindah ke kolom 35 baris 9 & 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. 
Perintah readln; digunakan agar output dapat dilihat sejenak. Selanjutnya perintah untuk mengakhiri procedure t.tampil. 
Masuk ke procedure t.deter. 
Baris ke 48-52 mendeklarasikan procedure t.deter.
Nilai dari variabel det1 ditentukan dari pengurangan nilai m1[1,1] yang dikalikan m1[2,2] dengan nilai m1[1,2] dikalikan m1[2,1]. Dan variabel det2 ditentukan dari pengurangan nilai m2[1,1] yang dikalikan m2[2,2] dengan nilai m2[1,2] dikalikan m2[2,1].
Kemudian perintah kursor akan berpindah sebaris lebih bawah.
Baris 51-52 program akan mencetak ‘Determinan Matrik I =’ dengan data det1 adalah -2. Dapat di buktikan bahwa (1*4)-(2*3) =  -2. Dan program akan mencetak ‘Determinan Matrik II =’ dengan data de2 adalah -2. Dapat dibuktikan bahwa (4*1)-(3*2)  = -2.
Selanjutnya perintah agar output dapat dilihat sejenak dan perintah untuk mengakhiri procedure t.deter.
Kemudian masuk ke procedure t.transpos.
Baris 58 – 64 merupakan perndeklarasian procedure t.tranpos.
Baris 57-58 Kursor berpindah sebaris lebih bawah, lalu program akan mencetak ‘*Transpose Matrik I*‘.
Baris selanjutnya program akan mencetak 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.
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.
Digunakan agar output dapat dibaca sejenak. Kemudian perintah untuk mengakhiri procedure t.transpos. 
Baris 65 memulai program. 
Repeat digunakan untuk perulangan, maka baris-baris dibawah ini akan diulang sampai nilai dari pil = 4 : program baris ke-82. 
Untuk membersihkan layar output. 
Pada kolom 25 baris 1 mencetak ‘***** Menu Matrik *****’.
Pada kolom 25 baris 2 mencetak ‘1. Input Matrik ‘.
Pada kolom 25 baris 3 mencetak ‘2. Transpose Matrik ‘.
Pada kolom 25 baris 4 mencetak ‘3. Determinan Matrik ‘.
Pada kolom 25 baris 5 mencetak ‘4. Keluar‘.
Pada kolom 25 baris 7 mencetak ‘Pilihan 1..4‘, lalu program akan meminta inputan yang kemudian akan dibaca sebagai pil.
Memulai kondisi dengan case, variabel yang digunakan untuk case adalah pil.
Bila user menginput 1 maka akan memulai prosedur m.input & m.tampil.
Bila user menginput 2 maka akan memulai prosedur m.transpos.
Bila user menginput 3 maka akan memulai prosedur m.deter.
Akhir dari kondisi case dengan variabel pil.
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.

Output Program








Tidak ada komentar:

Posting Komentar