Program pascal dengan menggunakan Case Menu atau bisa di sebut dengan menggabungkan beberapa program menjadi satu program, program case menu ialah program pada pembuatan menu program seperti ini sangat berguna untuk program yang mempunyai banyak fungsi, misalkan program penilaian mahasiswa, program kasir, program bilangan p Prima, program konversi waktu, atau program-program yang lain yang bisa di jadikan dalam satu program, berikut akan di jelas dan contoh program dari case menu.
Di program ini akan membuat 10 menu program, berikut pilihan menu pada program case of awal :
Sebelumnya kita harus mengumpulakan semua tipe data dari program-program di atas sebelum pilihan menu, berikut tipe datanya :
program Tugas_Mandiri;
uses crt;
var
nli,nilai,mhs :integer;
nama,mk,ket,kls :string;
umur :integer;
panjang,lebar,lpp :integer;
jari :integer;
llingkara :real;
bil :integer;
pilih :integer;
j,m,d,h :integer;
hari,bulan,tahun,sisa1,sisa2 :integer;
hari2,jam,menit,detik :real;
jam2,menit2,detik2,ss1,ss2 :integer;
celcius,fahrenheit,reamur,hasil :real;
panjang2,lebar2,tinggi2 :real;
volume :real;
npm,studi,dosen,alamat,nam_bar:string;
ya :char;
a,b,c,x :integer;
har_sat,ban_bar,tot_har,Uang
_cash,Pot_har,Kemb,Non_pot :real;
label
awal,exit;
const
phi=3.14;
Dan berikut Pilihan Menu sebelum program di runningkan :
Begin
clrscr;
textcolor(yellow);
writeln(' ----------------------');
writeln(' ==== PILIHAN MENU ====');
writeln(' ======================');
writeln;
textcolor(green);
writeln(' 1.Input Nama');
writeln(' 2.Menentukan Nilai');
writeln(' 3.Bilangan Prima');
writeln(' 4.Program Kasir');
writeln(' 5.Luas Lingkaran');
writeln(' 6.Bilangan Genap Ganjil');
writeln(' 7.Luas Persegi Panjang');
writeln(' 8.Konversi Hari');
writeln(' 9.Konversi Waktu');
writeln(' 10.konversi Detik');
writeln;
writeln(' ----------------------------');
textcolor(white);
write(' Silahkan Pilih Menu 1..10 = ');readln(pilih);
case Pilih Of
Dan berikutnya adalah menjalankan satu persatu dari 10 program di atas.
1. Program Penginputan Nama
1:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Input Nama ');
textcolor(white);
writeln('------------------------------');
textcolor(yellow);
write('Input Nama : ');readln(nama);
write('Input NPM : ');readln(npm);
write('Input Prog.Studi : ');readln(studi);
write('Input Dosen : ');readln(Dosen);
writeln;
writeln(' Hasil Inputan ');
textcolor(white);
writeln('---------------------------');
textcolor(yellow);
writeln('Nama : ',nama);
writeln('NPM : ',npm);
writeln('Program Studi : ',studi);
writeln('Dosen : ',dosen);
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut :
2. Program Penilaian
2:begin
clrscr;
for mhs:=1 to 3 do
begin
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Program Penilaian ');
textcolor(white);
writeln('-----------------------------');
textcolor(yellow);
write('Nama Mahasiswa : ');readln(nama);
write('Kelas : ');readln(kls);
begin
for nli:=1 to 2 do
begin
write('Mata Kuliah : ');readln(mk);
write('Nilai : ');readln(nilai);
if nilai>=90 then
begin
ket:='A'
end
Else
if nilai >=80 then
begin
ket:='B'
end
else
if nilai>=70 then
begin
ket:='C'
end
else
if nilai>=60 then
begin
ket:='D'
end
else
begin
ket:='E'
end;
writeln('Keterangan : ',ket);
readln;
end;
readln;
end;
readln;
end;
end;
Dari program di atas setelah di ranningkan hasilnya sebagai berikut :
3. Bilangan Prima
3:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
textcolor(yellow);
writeln('----------------------------------');
write('Masukan Bilangan Prima sampai : '); readln(x);
writeln;
for a:= 1 to x do
Begin;
c:=0;
for b:=1 to a do
Begin;
if a mod b=0 then
c:=c+1;
end;
if c=2 then
begin;
write(a,' ');
write('');
end;
end;
readln;
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut
4. Program Kasir
4:begin
awal:
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Program Kasir ');
textcolor(white);
writeln('------------------------------------');
textcolor(yellow);
write('Nama Barang : ');readln(nam_bar);
write('Harga Satuan : Rp.');readln(har_sat);
write('Banyak Barang : ');readln(ban_bar);
tot_har:=(har_sat*ban_bar);
writeln('Total Harga : Rp.',tot_har:1:0);
if tot_har >=5000 then
pot_har:=(0.1*tot_har);
if tot_har <500 then
pot_har:=(0.0*tot_har);
writeln('Potongan Harga : Rp. ',pot_har:1:0);
textcolor(red);
write('Uang Cash : Rp.');readln(uang_cash);
kemb:=(uang_cash)-(tot_har-pot_har);
textcolor(green);
writeln('Uang Kembalian : Rp. ',kemb:1:0);
textcolor(yellow);
write('Masukkan Data Lagi(y/n) ? ');readln(ya);
if ya='y' then
goto awal
else if ya='n' then
goto exit;
exit:
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut
5. Hitung Luas Lingkaran
5:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Hitung Luas Lingkaran ');
textcolor(white);
writeln('------------------------------');
textcolor(yellow);
write('Input Jari-Jari = ');readln(jari);
llingkaran:=phi*jari*jari;
write('Luas Lingkaran =',llingkaran);
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut :
.
6. Tentukan Genap / Ganjil
6:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Tentukan Genap/Ganjil ');
textcolor(white);
writeln('-------------------------------------');
textcolor(yellow);
write('Input Bilangan : ');readln(bil);
writeln;
if bil mod 2=0 then
write('Bilangan ',bil,' Merupakan Bilangan Genap')
else
write('Bilangan ',bil,' Merupakan Bilangan Ganjil');
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut :
.
7. Hitung Luas Persegi Panjang
7:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Hitung Luas Persegi Panjang ');
textcolor(white);
writeln('-----------------------------');
textcolor(yellow);
write('Input Panjang : ');readln(panjang);
write('Input Lebar : ');readln(lebar);
lpp:=panjang*lebar;
write('Luas Persegi Panjang = ',lpp);
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut :
.
8. Konversi Hari
8:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Konversi Hari ');
textcolor(white);
writeln('----------------------------');
textcolor(yellow);
writeln;
write('Masukkan jumlah hari = ');readln(hari);
tahun:=hari div 365;
sisa1:=hari mod 365;
bulan:=sisa1 div 30;
sisa2:=sisa1 mod 30;
hari:=sisa2;
writeln;
writeln('Hasil = ',tahun,' Tahun');
writeln(' ',bulan,' Bulan');
writeln(' ',hari,' Hari');
readln;
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut :
.
9. Konversi Waktu
9:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
Writeln(' Program Konversi Waktu ');
textcolor(white);
Writeln('==================================');
textcolor(yellow);
Writeln;
Write('Masukkan Jumlah Jam : ');readln(j);
Write('Masukkan Jumlah Menit : ');readln(m);
Write('Masukkan Jumlah Detik : ');readln(d);
textcolor(white);
Writeln('----------------------------------');
textcolor(yellow);
h:=(j*3600)+(m*60)+d;
Writeln('Jadi Hasil Konversi : ',h,' Detik');
readln;
end;
Dari program di atas setelah di runningkan hasilnya sebagai berikut :
.
10. Konversi Detik
10:begin
clrscr;
textcolor(green);
writeln('program ');
writeln('by: . . ... . _ ');
writeln(' / \ |\ || \ !\. | ');
writeln(' (---)| \ || )|./ | ');
writeln(' | || \||./ | \ | ');
writeln('====================== ');
writeln;
writeln;
textcolor(yellow);
writeln(' Program Konversi Detik ');
textcolor(white);
writeln('------------------------');
textcolor(yellow);
writeln;
writeln('Input Data');
textcolor(white);
writeln('------------');
textcolor(yellow);
write('Detik = ');readln(detik2);
jam2 :=detik2 div 3600;
ss1 :=detik2 mod 3600;
menit2 :=ss1 div 60;
ss2 :=ss1 mod 60;
detik2 := ss2;
writeln;
writeln('Hasilnya = ',jam2, ' Jam');
writeln(' ',menit2,' Menit');
writeln(' ',detik2,' Detik');
readln;
end;
end;
readln;
end.
Dari program di atas setelah di runningkan hasilnya sebagai berikut :
.
Perhatian !!
Pada program ini, seperti yang dilihat ketika di runningkan terlihat ada nama 'by : ANDRI' di atas itu hanyalah tambahan karakter saja agar tampilan program nya semakin terlihat menarik, jika sobat ingin menggunakan nama lain silahkan sesuaikan karakternya agar bisa berbentuk nama, atau jika tidak ingin ada nama bisa sobat hilangkan saja karna itu tidak berpengaruh pada program ini.
Kesimpulan
Program di atas dapat di simpulkan bahwa dalam program case of menu ialah untuk mempermudah kita memilih program mana yang ingin kita gunakan dengan pilihan program yang telah tersedia dalam satu program tanpa harus keluar masuk di program yang lain. Dalam pembuatan program case menu dapat di simpulkan yang pertama harus mengumpulkan semua tipe data program sebelum menu awal kita buat, kemudian kita buat menu yang sesuai dengan tipe data yang kita buat sebelumnya, dan selanjutnya pada case pilhan di bawah kita buat program sesuai dengan program yang ada di menu. Untuk tambahan gunakan textcolor untuk mewarnai hasilnya dan rangkai symbol untuk membuat suatu nama yang bagus hal ini untuk mempercantik hasilnya setelah program di runningkan.
Baca juga : Penjelasan Singkat Algoritma
Itulah di atas adalah tutorial program case menu semoga bermanfaat
Tidak ada komentar:
Posting Komentar