A. Tujuan.
Setelah mengikuti tatapmuka secara aktif dan mengerjakan semua kegiatan dalam lembar praktikum ini, mahasiswa dapat:
1. Mengenal Analisis Kasus sebagai bagian dari algoritma, dengan lengkap dan benar
2. Mengenal Perintah Percabangan dalam Pascal, dengan lengkap dan benar
3. Menerapkan analisis kasus dalam membangun algoritma, dengan benar sesuai permasalahan.
4. Menerapkan perintah percabangan dalam Pascal untuk merealisasikan algoritma sebagaimana butir 3, dengan benar.
5. Mengenal algoritma Genap_Gasal (Tipe 2) dan Min_Max_1 (Tipe 3)
6. Mengonstruksi secara mandiri program Pascal dengan melibatkan pola algoritma Genap_Gasal (Tipe 2) dan Min_Max_1 (Tipe 3).
B. Alat dan Bahan: PC, perangkat lunak Turbo Pascal/ Free Pascal
C. Landasan Teori.
1. Analisis Kasus.
Setelah menyelesaikan kegiatan pada lembar praktikum 2, anda sudah mengenal algoritma RUMUS sebagai pola algoritma pertama
yang dipelajari. Pola tersebut dipakai manakala persoalan yang diselesaikan dapat dikenali rumus yang menghubungkan antara input dan
output. Jika tidak atau anda ragu dengan rumus, maka kemampuan mengembangkan algoritma akan dikembangkan pada lembar praktikum
selanjutnya. Lembar praktikum ini secara khusus mengupas analisis kasus yang seringkali diperlukan dalam mengembangkan algoritma,
berikut realisasinya dalam bahasa Pascal. Ikuti dengan seksama !.
Apa, mengapa, dan untuk apa analisis kasus ?. Sebagaimana hidup senantiasa diwarnai dengan pengambilan keputusan (silahkan
renungkan hidup anda, benarkah anda mengambil keputusan ?), menyusun algoritma demikian pula. Pada suatu langkah tertentu, kadang
tidak dapat diikuti langsung dengan langkah berikutnya. Hal ini dikarenakan ada sejumlah langkah pilihan yang harus diputuskan
berdasarkan langkah tertentu tersebut. Contoh: saat data kode bulan sudah disimpan ke dalam variabel tertentu (melalui perintah readln),
langkah pengerjaan berikut tidak dapat langsung menampilkan nama bulan yang bersesuaian. Mengapa ?. Pemrogram tidak akan tahu kode
bulan apa yang dimasukkan (istilahnya: di ’entry’) oleh pengguna program. Pemrogram tidak boleh juga menebak-nebak bakalan isi kode
bulan. Demikian juga, sebuah nilai integer telah disimpan ke dalam sebuah variabel bertipe integer, komputer tidak serta-merta dapat
menentukan isi variabel tersebut berupa bilangan genap atau gasal. Ketika kondisi seperti ini dialami, maka pada langkah ini butuh analisis
kasus agar dapat menentukan pilihan langkah berikut dengan tepat.
= KO_n
true Ekspresi = KO_1
fals Ekspresi Pn P1
P2 P1 Ordinal
e Lojik
= KO_2
P… P2
P… P…
Keterangan: Keterangan:
*) P1 = Pernyataan dikerjakan hanya jika ekspresi lojik *) KO_1 = Konstanta Ordinal 1 (idem KO-n)
bernilai benar *) P1 = Pernyataan dikerjakan hanya jika Ekspresi Ordinal saat itu bernilai
*) P2 = Pernyataan dikerjakan hanya jika ekspresi lojik KO_1 (Idem Pn)
bernilai salah *) Setelah P1 dikerjakan maka P2..Pn tidak akan dikerjakan. Begi sebaliknya.
*) Jika P1 dikerjakan maka P2 tidak dikerjakan. Begitu
sebaliknya
Syarat Analisis Kasus: 1) Gabungan dari seluruh syarat mencakup seluruh kombinasi syarat yang dapat terjadi; 2)Setiap syarat harus
saling lepas (tidak beririsan). Untuk Kasus Tunggal: kedua syarat otomatis dipenuhi (cek ulang). Namun untuk Kasus Jamak : harus
diupayakan. Kedua syarat tersebut untuk menjamin bahwa tidak akan ada tumpang-tindih syarat dan ada kondisi ’berlubang’. Dengan
demikian semua nilai ekspresi memperoleh kepastian 1 langkah yang akan diambil (tidak ambigo, tidak lolos).
Contoh Pemakaian. Kasus konversi kode bulan menjadi nama bulan. Andai kode bulan disimpan di dalam KB (diasumsikan isi KB
valid), dan nama bulan disimpan di dalam NB. Analisis kasus yang diambil adalah jenis analisis kasus jamak. Simak diagram alir berikut.
(KB merupakan data integer, yang juga otomatis data yang memiliki urutan atau disebut data ordinal)
2. Perintah Percabangan.
Untuk merealisasikan kedua analisis kasus di atas, pada Pascal disediakan perintah percabangan (ada 2 macam juga). Kedua perintah
percabangan tersebut adalah: IF-THEN-[ELSE]; dan CASE_OF_END; .
Format perintah penyimpanan:
a) Percabangan Tunggal : IF < Ekspresi Lojik > THEN <P1> [ELSE P2];
b) Percabangan Jamak: CASE <Ekspresi Ordinal> OF
KO1 : P1;
KO2 : P2;
........ : ...;
[ELSE Px];
END;
Keterangan :
bagian yang diapit oleh kurung siku buka dan tutup berarti bahwa bagian itu bersifat tentatif (boleh dipakai, boleh juga tidak
dipakai)
Panduan Pengamatan:
Pada setiap kali eksekusi, isilah variabel A dan B dengan berbagai kombinasi bilangan bulat. Ada 3 kombinasi (mengapa dan apa
saja ?).
Ujilah apakah output merupakan informasi yang valid ?.
F. Tugas #3. (disajikan sebagai isi dari portofolio proses dan produk perkuliahan)
Buat kesimpulan singkat hasil pengamatan anda selama tatapmuka ini !
Dengan memakai pola algoritma tipe 2 di atas, kembangkan sebuah program Pascal untuk menentukan umur bulan (dalam satuan hari) jika
diketahui kode_bulan dan tahun (keduanya berupa data integer). Keluaran berupa informasi nama bulan (bukan kode bulan lagi), tahun, dan
usia bulan dalam satuan hari.