Modul Praktikum Algoritma & pemrograman I PASCAL Menggunakan Turbo Pascal versi 7.1 PRAKTIKUM CASE OF (PERCABANGAN BERSYARAT) A. Tujuan Praktikum Untuk mengetahui statemen CASE yang berisi ungkapan (pemilih) dan sederetan statemen yang masing -masing diawali dengan satu atau lebih konstanta (disebut konstanta CASE) atau dengan kata ELSE. B. Dasar Teori Pernyataan CASE merupakan pernyataan bersyarat yang memiliki bentuk : CASE <syarat-pemilih> OF <daftar-label 1> : statemen1; <daftar-label 2> : statemen2; …………….. [ELSE statemen-statemen lain;] END. Syarat pemilih dapat berupa sembarang ungkapan, variabel atau fungsi yang bertipe scalar, kecuali REAL. Daftar label 1 boleh berupa satu atau lebih dari satu nilai yang merupakan kemungkinan dari syarat pemilih. Semua pernyataan yang berhubungan dengan daftar label ataupun ELSE boleh berupa sembarang pernyataan. Pernyataan I yang bersangkutan dengan daftar label 1 di eksekusi bila nilai dari syarat pemilih tercantum dalam daftar label tersebut. Apabila suatu pernyataan telah dieksekusi, pengeksekusian berikutnya dilakukan terhadap pernyataan yang terletak sesudah kata baku END, yang merupakan penutup pernyataan CASE. Perlu diketahui, ELSE dalam pernyataan CASE disertakan, pernyataan yang mengikuti ELSE akan dieksekusi h anya dengan nilai dari syarat pemilih tidak ada dalam semua daftar label. 22 Modul Praktikum Algoritma & pemrograman I PASCAL Menggunakan Turbo Pascal versi 7.1 C. Latihan Praktikum 17 Buatlah Program seperti di bawah ini, dengan nama file latihan17.pas program latihan17; uses crt; var tgl : integer; begin clrscr; writeln('Program memeriksa hari dalam bulan Maret 2012'); writeln(' ******************************************* *********** '); writeln; write('Masukkan tanggal = '); readln(Tgl); case tgl of 5,12,19,26 : writeln ('Hari Senin'); 6,13,20,27 : writeln ('Hari Selasa'); 7,14,21,28 : writeln ('Hari Rabu'); 1,8,15,22,29 : writeln ('Hari Kamis'); 2,9,16,23,30 : writeln ('Hari Jumat'); 3,10,17,24,31 : writeln ('Hari Sabtu'); 4,11,18,25 : writeln ('Hari Minggu'); else Begin writeln ('Maaf tidak ada tanggal tersebut'); end; end; readln; end. Hasil eksekusi program seperti gambar di bawah ini : 23 Modul Praktikum Algoritma & pemrograman I PASCAL Menggunakan Turbo Pascal versi 7.1 D. Latihan Praktikum 18 Buatlah Program seperti di bawah ini, dengan nama file latihan18.pas Program latihan18; uses crt; var beli, disc : integer; begin clrscr; writeln('Program Jual Disc'); writeln(' ******************* '); writeln; write('Total Pembelian : '); readln(beli); case beli of 0..1000 : disc := 100; 1001..10000 : disc := 500; 10001..30000 : disc := 2000; end; end. writeln; writeln('jumlah pembelian = Rp. ',beli); writeln('discount = Rp. ',disc); writeln(' '); writeln('jumlah yang dibayar : Rp. ',beli -disc); readln; Hasil eksekusi program seperti gambar di bawah ini : 24 Modul Praktikum Algoritma & pemrograman I PASCAL Menggunakan Turbo Pascal versi 7.1 E. Latihan Praktikum 19 Buatlah Program seperti di bawah ini, dengan nama file latihan19.pas program latihan19; uses crt; var a, t, panjang,lebar, jari, luas : Real; pilih: Integer; begin clrscr; writeln('Program Menghitung Luas'); writeln(' ***************************** '); writeln; writeln('Pilih Menu'); writeln('=============> 1. Luas Lingkaran'); writeln(' 2. Luas Persegi'); writeln(' 3. Luas Segitiga'); writeln; write('Masukan Pilihan = '); readln(pilih); writeln; case pilih of 1: begin writeln(' Program Lingkaran'); writeln(' ============== '); writeln; write('Masukan Jari-jari = '); readln(jari); luas := 3.14 * jari * jari; writeln('Luas adalah = ',luas:0:2); End; 2: begin writeln(' Program Persegi Panjang'); writeln(' ==================== '); writeln; write('Masukan Panjang = '); readln(panjang); write('Masukan Lebar = '); readln(lebar); luas := panjang * lebar; writeln('Luas adalah = ',luas:0:0); end; Sambungan Coding di halaman selanjutnya. 25 Modul Praktikum Algoritma & pemrograman I PASCAL Menggunakan Turbo Pascal versi 7.1 3: begin writeln(' Program Segitiga '); writeln(' ============= '); writeln; write('Masukan Alas = '); readln(a); write('Masukan Tinggi = '); readln(t); luas := 0.5 * a* t; writeln('Luas adalah = ',luas:0:2); end; end; Readln; end. Hasil eksekusi program seperti gambar d i bawah ini : 26 Modul Praktikum Algoritma & pemrograman I PASCAL Menggunakan Turbo Pascal versi 7.1 F. Latihan Praktikum 20 Buatlah program kalkulator sederhana dengan memberikan pilihan bagi pengguna (menggunakan CASE OF) . Operasi-operasinya meliputi : penjumlahan, pengurangan, perkalian, pembagian. Dan simpan (save) file program dengan nama latihan20.pas G. Latihan Praktikum 21 Diketahui toko buah “SEGAR MANIS” yang menjual 4 jenis buah -buahan dalam jumlah kiloan. Untuk setiap buah -buahan yang dijual jika melebihi 5 Kg mendapat potongan : Kiwi : 5 % Mangga : 2,5 % Alpukat : 7 % Apel : 10 % dari total penjualan : Untuk buah-buahan Kiwi dan Mangga jika lebih dari 20 Kg mendapat korting lagi hingga 7 % dari total penjualan Untuk buah-buahan Alpukat jika lebih dari 10 Kg dapat hadiah payung dan untuk buah-buahan Apel jika lebih dari 15 Kg dapat hadiah tas Dari persoalan diatas buatlah program pemecahannya dan simpan (save) dengan nama file latihan21.pas. 27