13 Juni, 2008

Pemrograman pascal bag.5

Penggunaan Menu Pada Pascal (program menghitung luas bangun ruang dan bangun datar)


Kali ini kita akan membahas tentang penggunaan menu pada bahasa pemrograman pascal. Untuk membuat menu, kita bisa memanfaatkan instruksi readkey yang berfungsi untuk membaca sebuah tombol yang ditekan. Namun sebelumnya harus didefinisikan terlebih dahulu tipe data yang digunakan sebagai variabel. Dalam pembahasan ini, pembacaan tombol disimpan dalam variabel menu (untuk pemilihan menu), dan variabel ulang (untuk kembali ke menu utama). Sedangkan untuk penentuan tombol untuk memilih menu yang berbeda, digunakan instruksi case ... of... yang akan menentukan apa yang harus dilakukan jika kita menekan tombol yang berbeda.
Sebagai contoh, jika menekan A maka jalankan program menghitung luas segitiga, jika tombol B program menghitung luas persegi panjang, C luas lingkaran, tombol D menghitung luas bola, sedangkan jika kita menekan tombol X maka akan keluar dari program, dan jika kita menekan tombol selain yang telah disebutkan di atas maka tidak akan terjadi reaksi apa-apa.

Nah, langsung saja ke pokok pembahasan.

1. pertama jalankan turbo pascal/free pascal kemudian ketikkan listing program berikut :

uses crt;
var a,t,p,l,r,r2,l1,l2,l3,l4:real;
ulang,menu:char;
label awal,akhir,seg,kotak,lingk,bola;
begin
awal:
clrscr;
writeln('Menghitung Luas Bangun Datar dan Bangun Ruang');
writeln;
writeln;
writeln('Tekan A,B,C, atau D untuk memilih, atau tekan X untuk keluar');
writeln;
writeln('A. Menghitung luas segitiga ');
writeln('B. Menghitung luas persegi panjang ');
writeln('C. Menghitung luas lingkaran ');
writeln('D. Menghitung luas bola ');
writeln;
menu:=readkey;
case menu of
'A','a':goto seg;{menu1)
'B','b':goto kotak;
{menu2)
'C','c':goto lingk;
{menu3)
'D','d':goto bola;
{menu4)
'X','x':goto akhir;
{keluar program)
else
goto awal;
end;
seg:
{segitiga)
repeat
clrscr;
writeln('menghitung luas segitiga');
write('panjang alas =');readln(a);
write('tinggi segitiga =');readln(t);
l1:=0.5*a*t;
writeln;
writeln('Luas segitiga =',l1:0:1);
writeln('Tekan sembarang tombol untuk mengulang atau X untuk kembali');
ulang:=readkey;
until upcase(ulang)='X';
goto awal;
{kembali ke menu utama)
kotak:
{persegi panjang)
repeat
clrscr;
writeln('menghitung luas persegi panjang');
write('panjang sisi =');readln(p);
write('lebar pesegi panjang =');readln(l);
l2:=p*l;
writeln;
writeln('Luas persegi panjang =',l2:0:1);
writeln('Tekan sembarang tombol untuk mengulang atau X untuk kembali');
ulang:=readkey;
until upcase(ulang)='X';
goto awal;
{kembali ke menu utama)
lingk:
{luas lingkaran)
repeat
clrscr;
writeln('menghitung luas lingkaran');
write('jari-jari lingkaran =');readln(r);
l3:=pi*sqr(r);
writeln;
writeln('Luas lingkaran =',l3:0:1);
writeln('Tekan sembarang tombol untuk mengulang atau X untuk kembali');
ulang:=readkey;
until upcase(ulang)='X';
goto awal;
{kembali ke menu utama)
bola:
{luas bola)
repeat
clrscr;
writeln('menghitung luas bola');
write('jari-jari bola =');readln(r2);
l4:=(4/3)*pi*(r2*r2*r2);
writeln;
writeln('Luas bola =',l4:0:1);
writeln('Tekan sembarang tombol untuk mengulang atau X untuk kembali');
ulang:=readkey;
until upcase(ulang)='X';
goto awal;
{kembali ke menu utama)
akhir:
end.

Perlu diketahui bahwa baris komentar ( di dalam kurung kurawal), tidak diperlukan dalam penulisan program. karena tidak akan ikut di terjemahkan oleh compiler pascal.
Sebagai tambahan informasi, jika kita ingin menjalankan program di atas, kita tidak perlu susah payah mengetikkan di editor pascal. Namun cukup dengan menyimpan listing program di atas dalam sebuah file text berekstensi.pas. Jadi cukup dicopy ke notepad kemudian simpan dengan nama sembarang (misal nama filenya menu), kemudian pada bagian save as type, pilih all files. Setelah itu simpan dengan nama nama_file.pas (jika nama filenya menu, maka simpan dengan nama menu.pas).
Nah setelah file tersebut disimpan, anda bisa membukanya di editor pascal untuk langsung dijalankan atau diedit jika perlu. Dengan cara ini, Anda bisa menghemat waktu daripada harus mengetikan dari awal, mengingat editor pascal tidak bisa melakukan copy/paste langsung dari software semacam notepad atau sejenisnya.

2. Jika tidak terdapat kesalahan maka akan dihasilkan program seperti gambar berikut ini setelah dijalankan.


Tampilan menu utama

menu 1. menghitung luas segitiga

menu 2. menghitung luas persegi panjang

menu 3. menghitung luas lingkaran

menu 4. menghitung luas bola

Pada program di atas, apabila kita keluar dari salah satu menu, maka akan kembali ke menu utama

Sekian dari pak menteri, seperti biasa segala kritik, hujatan, makian, celaan atau bahkan kripik bisa Anda sampaikan disini. Terimakasih telah mengunjungi kementrian tidak resmi divisi TI tembalang Semarang, semoga sedikit tulisan ini ada manfaatnya.

wassalam

Happy blogging