Anda di halaman 1dari 5

3

AlgoritmaPemilihan(Selection)
A. Tujuan Setelah melakukan praktikum, diharapkan praktikan dapat : 1. Mengetahui cara mendefinisikan dan menggunakan LABEL dalam pemograman pascal. 2. Menggunakan statemen GOTO untuk percabangan tak bersyarat dalam program dengan tujuan percabangan kesuatu nama LABEL. 3. Menggunakan statemen IF-THEN-ELSE untuk percabangan bersyarat dalam program. 4. Memahami Algoritma Seleksi (Selection) yakni mengerjakan suatu instruksi atau proses jika persyaratannya terpenuhi dengan dua pilihan atau lebih. B. Teori Singkat Label adalah pendeklarasian kata-kata atau tanda-tanda yang digunakan untuk menyatakan suatu tempat pada program. Label ini dapat berisi apa saja yakni identifier atau bilangan yang tidak lebih besar dari 9999, kecuali tanda-tanda baca, spasi, dan tanda operasi aritmatik, seperti +, -, dan lain-lain. Tata penulisan pendeklarasian Label adalah sebagai berikut : Label nama_label1, nama_label2, nama_label3, ....; Perintah Goto ini memang tidak disarankan untuk digunakan pada bahasa terstruktur seperti Pascal, namun karena perintah terdapat pada Turbo Pascal maka kita membahasnya. Pelaksanaan perintah Goto, harus mendefinisikan suatu label terlebih dahulu pada bagian deklarasi yang didahului dengan statemen LABEL. Nama Label yang diacu tersebut harus berada pada daerah atau blok modul yang sama dengan Goto (bersifat lokal). Setelah didefinisikan, harus pula membuat Label itu disuatu tempat yang merupakan daerah/blok yang dituju oleh Goto, dengan cara menuliskan nama_label: (diakhiri dengan tanda titik dua). Tata penulisan perintah Goto adalah : Goto nama_label;

2 Algoritma seleksi adalah untuk mengerjakan suatu proses/aksi jika suatu kondisi tertentu terpenuhi atau jika kondisi tertentu bernilai benar atau salah. Untuk menyatakan kondisi, memerlukan dua besaran yang dibandingkan dan operator (tanda pengoerasi) pembanding. Tanda-tanda atau operator pembandingan pada pascal terlihat seperti dibawah : = artinya sama dengan, => artinya sama dengan atau lebih besar > artinya lebih besar, =< artinya sama dengan atau lebih kecil < artinya lebih kecil, <> artinya tidak sama dengan Kondisi If...Then merupakan kondisi yang paling sederhana. Adapun struktur kondisi If...Then adalah : If kondisi Then proses untuk kondisi yang benar Struktur If...Then menyatakan aksi yang dikerjakan jika kondisi bernilai benar atau sesuai (true). Struktur If...Then...Else dapat menampung dua aksi yang akan dikerjakan, jika kondisi benar (true) maka akan dikerjakan aksi atau statemen yang terletak setelah THEN, sebaliknya jika kondisi bernilai salah (false) maka dikerjakan aksi atau statemen yang terletak setelah ELSE. Tata penulisan If...Then...Else adalah sebagai berikut : If kondisi Then kondisi benar Else kondisi salah; C. Latihan-Latihan 1. Buatlah program untuk menghitung nilai luas empat persegi panjang yang memiliki panjang dan lebar yang berbeda, untuk beberapa nilai yang dimasukan melalui keyboard (LATIH3A.PAS)
Program LuasPersegiPanjang; Uses Crt; Label Ulang; Var Panjang,Lebar,Luas : Real; Tanya : Char; Begin Ulang: ClrScr; Writeln(*********************************************); Writeln(** PROGRAM MENGHITUNG LUAS PERSEGI PANJANG **); Writeln(*********************************************); Writeln; Writeln(Masukan nilai panjang dan lebar : ); Write( Panjang = );Readln(Panjang); Write( Lebar = );Readln(Lebar);
[Drs. Efrizon, MT. 2008]

3
Luas := Panjang*Lebar; Writeln( Luas = ,Luas); Writeln; Write(Apakah anda mau menghitung nilai lainnya (Y/T):); Read(Tanya); writeln; If Upcase(Tanya) = Y Then Goto Ulang; End.

2. Buatlah program untuk menghitung nilai mahasiswa yang mengikuti praktek, sebagai masukan adalah nama mahasiswa, nilai quiz, nilai praktek, dan nilai laporan. (LATIH3B.PAS) Persamaan untuk mencari nilai total :

Nilai = 0.35 Quiz + 0.5 Praktek + 0.15 Laporan


Jika Nilai > 50 maka mahasiswa tersebut lulus.
Program NilaiMahasiswa; Uses Crt; Var Nama,NPM,Ket : String; Quiz,Praktek,Laporan,Nilai : Real; Begin ClrScr; Writeln(******************************************); Writeln(** PROGRAM MENGHITUNG NILAI MAHASISWA **); Writeln(******************************************); Writeln; Writeln(Isikan data-data yang diminta berikut ); Writeln(Diikuti dengan menekan ENTER ); Write(Nama mahasiswa = );Readln(Nama); Write(NPM = );Readln(NPM); Writeln(------------------------------------------); Write(Nilai Quiz = );Readln(Quiz); Write(Nilai Praktek = );Readln(Praktek); Write(Nilai Laporan = );Readln(Laporan); Nilai := 0.35*Quiz + 0.5*Praktek + 0.15*Laporan; If Nilai > 50 Then Ket := Lulus Else Ket := Gagal; Writeln(Nilai total yang didapat = ,Nilai:8:4); Writeln(Maka ,Nama, NPM: ,NPM, Dinyatakan ,Ket); End.

3. Buatlah program yang menginput NAMA, NPM (Nomor Pokok Mahasiswa) dan NILAI (berbentuk angka/numerik atau karakter_angka (type char)). Kemudian uji nilai untuk menentukan nilai nilai HURUF sebagai hasil pengolahan nilai. (LATIH3C.PAS),

[Drs. Efrizon, MT. 2008]

4
Batas nilainya adalah : Nilai < 40 E 40 Nilai < 55 D 55 Nilai < 65 C 65 Nilai < 80 B Nilai 80 A Contoh tampilan hasil pengolahan nilai adalah sebagai berikut: Nama : Bima Sakti NPM : 200105204 Nilai angka : 75 Nilai huruf : B 4. Buatlah program utk menghitung nilai akar pers. kuadrat AX2 + BX + C
Program AkarPersamaanKuadrat; Uses Crt; Var X1,X2,A,B,C,Diskriminan : Real; Begin ClrScr; Writeln(*********************************************); Writeln(* PROGRAM MENGHITUNG AKAR PERSAMAAN KUADRAT *); Writeln(*********************************************); Writeln; Writeln('Masukan nilai variabel persamaan kuadrat : '); Write(' Nilai A = ');Readln(A); Write(' Nilai B = ');Readln(B); Write(' Nilai C = ');Readln(C); Writeln; Diskriminan := Sqr(B) - (4*A*C); If Diskriminan = 0 Then Begin X1 := -B/(2*A); X2 := X1; Writeln('Persamaan Kuadrat memiliki akar kembar:'); Writeln(' X1 = ',X1:8:4); Writeln(' X2 = ',X2:8:4); End Else If Diskriminan > 0 Then Begin X1 := (-B + Sqrt(Diskriminan))/(2*A); X2 := (-B - Sqrt(Diskriminan))/(2*A); Writeln('Persamaan Kuadrat memiliki akar berbeda: '); Writeln(' X1 = ',X1:8:4); Writeln(' X2 = ',X2:8:4); End
[Drs. Efrizon, MT. 2008]

5
Else Begin X1 := -B/(2*A); X2 := Sqrt(-Diskriminan)/(2*A); Writeln('Persamaan Kuadrat memiliki akar imajiner:'); Writeln(' X1 = ',X1:8:4,' + j',X2:8:4); Writeln(' X2 = ',X1:8:4,' - j',X2:8:4); End; End.

D. Tugas-Tugas Buatlah program Pascal untuk permasalahan dibawah ini, dan simpan dengan nama TUGAS3A, TUGAS3B.PAS 1. Bila seorang memiliki penghasilan perbulan kecil dari Rp. 150000,-, maka dikenai pajak penghasilan 10% dari gajinya. Tapi bila lebih dari Rp. 150000,- maka akan dikenai pajak 15% dari kelebihan penghasilan tersebut. Buatlah flowchart dan program untuk menghitung PAJAK, TOTAL GAJI yang diterimanya. 2. Sebuah perusahaan mewajibkan karyawannya untuk bekerja 30 jam per minggu dengan honor Rp. 1000 / jam, bila terjadi kelebihan jam kerja maka akan dihitung sebagai lembur dengan honor Rp. 2000/jam. Buatlah algoritma dan program untuk menghitung HONOR dan UPAH yang diterima karyawan tersebut.

[Drs. Efrizon, MT. 2008]

Anda mungkin juga menyukai