Anda di halaman 1dari 12

I. II.

JUDUL STATEMEN KENDALI TUJUAN Setelah praktikum, mahasiswa dapat membuat program dengan menggunakan statemen kendali dengan benar. PERMASALAHAN 1. Buatlah program untuk mencari akar persamaan kuadrat: Ax2 + Bx + C = 0, dengan A0. Akar persamaan kuadrat diperoleh dengan rumus: Jika b2- 4ac < 0 akan diperoleh akar imajiner.

III.

2. Buatlah program untuk menghitung harga yang harus dibayar jika : Jumlah barang yang dibeli < 100 buah, maka harga per barang Rp10.000,-. Jumlah barang yang dibeli lebih besar dari atau sama dengan 100 dan kurang dari 150, maka harga per barang adalah Rp9.500,-. Jika jumlah barang yang dibeli lebih dari atau sama dengan 150, maka harga per barang adalah Rp9.000,-. IV. DASAR TEORI Statemen kendali adalah statemen yang digunakan untuk mengubah urutan ekseskusi program dari pola eksekusi normal (berurutan) ke pola yang tidak berurutan. Secara umum statemen kendali digunakan untuk pengambilan keputusan. a. Statemen IF THEN Pengambilan keputusan memegang peranan penting dalam teknik pemrograman terstruktur. Untuk melaksanakan proses pengambilan keputusan biasanya digunakan statemen if then. Dengan statemen if dinyatakan ungkapan yang akan ditest nilai kebenaran nalarnya. Jika ungkapan yang akan ditest bernilai benar, maka semua statemen yang mengikuti statemen then, akan dieksekusi. Jika ungkapan bernilai salah, maka secara umum proses akan melompat ke kelompok statemen di luar statemen if then. Bentuk umum statemen if then untuk pilihan tunggal : If <kondisi> then Begin Statemen1; Statemen2; . . . . . End; Kondisi : ungkapan Boolean, ungkapan yang menghasilkan nilai benar atau salah. Statemen : statemen tunggal atau majemuk yang akan dikerjakan jika kondisi bernilai benar. Bentuk umum statemen if then untuk pilihan ganda : If <kondisi> then Begin Statemen1_1; Statemen1_2;

. . . . . End Else Begin Statemen2_1; Statemen2_2; . . . . . End; Kondisi : ungkapan Boolean, ungkapan yang menghasilkan nilai benar atau salah. Statemen1_n : statemen tunggal atau majemuk yang akan dikerjakan jika kondisi bernilai benar. Statemen2_n : statemen tunggal atau majemuk yang akan dikerjakan jika kondisi bernilai salah. Bentuk umum statemen if then untuk pilihan majemuk : If <kondisi_1> then Begin Statemen1_1; Statemen1_2; . . . . . End Else If <kondisi_2> then Begin Statemen2_1; Statemen2_2; . . . . . End Else If <kondisi_3> then Begin Statemen3_1; Statemen3_2; . . . . . . End . . . . . . Else Begin Statemenx_1; Statemenx_2; . . . . . . End; Kondisi : ungkapan Boolean, ungkapan yang menghasilkan nilai benar atau salah. Statemen1_n : statemen tunggal atau majemuk yang akan dikerjakan jika kondisi bernilai benar. Statemen2_n : statemen tunggal atau majemuk yang akan dikerjakan jika kondisi bernilai salah.

Contoh 2-1 : Konversi dari nilai angka ke nilai huruf berdasarkan pada interval berikut ini : Nilai angka >= 80 A 60 <= nilai angka < 80 B 40 <= nilai angka <60 C 20 <= nilai angka <40 D Nilai angka < 20 E Penyelesaian : Kondisi tersebut dapat dites dengan menggunakan struktur statemen if untuk pilihan majemuk, sebagai berikut : If nilai = 80 then Writeln ( nilai huruf = A ) Else If nilai >= 60 then Writeln ( nilai huruf = B ) Else If nilai >= 40 then Writeln ( nilai huruf = C ) Else If nilai >= 20 then Writeln ( nilai huruf = D ) Else ( nilai huruf = E ) Program Pascal selengkapnya : Program Contoh2_1; Uses wincrt; Var nama : string [20]; NIM : string [5]; Nilai : integer; Begin Write ( Nama mahasiswa : Write ( NIM : Write ( Nilai ujian : Writeln; If nilai >= 80 then Writeln ( nilai huruf = Else If nilai >= 60 then Writeln ( nilai huruf = Else If nilai >= 40 then Writeln ( nilai huruf = Else If nilai >= 20 then Writeln ( nilai huruf = Else

); readln(nama); ); readln(NIM); ); readln(nilai);

A ) B ) C ) D )

Writeln ( nilai huruf = E ) End. Contoh hasil : Nama Mahasiswa NIM Nilai Nilai huruf = C

: Tukul Arwana : 123456 : 45

b. Statemen CASE Dalam bahasa pemrograman Pascal, pengambilan keputusan untuk sejumlah alternative jawaban bisa dilaksanakan dengan statemen case. Struktur statemen case dapat digambarkan sebagai berikut : Ungkapan

Statemen 1 1

Statemen 2

Statemen 3

Statemen 4

End Bentuk umum Case : Case Ungkapan of Label 1 : Label 2 : . . . . . . . . . . . . Label n : statemen statemen 1; 2;

statemen n

End;

Dengan : Ungkapan : dapat berupa sebarang ungkapan yang memberikan hasil integer, char, Boolean atau tipe berlubang; Label : konstanta yang mempunyai tipe yang sama dengan ungkapan. Statemen : mengikuti tanda titik dua, dapat berupa statemen tunggal atau majemuk.

Contoh 2-2 : untuk kasus seperti contoh 2-1, statemen IF THEN dapat diganti dengan statemen CASE. Programnya adalah sebagai berikut : Program Contoh2_2; Uses wincrt; Var nama : string [20]; NIM : string [5]; Nilai : integer; Begin Write ( Nama mahasiswa Write ( NIM Write ( Nilai ujian

: : :

); readln(nama); ); readln(NIM); ); readln(nilai);

Writeln; Case nilai of 80 . . 100 : writeln ( nilai huruf = A 60 . . 79 : writeln ( nilai huruf 40 . . 59 : writeln ( nilai huruf 20 . . 39 : writeln ( nilai huruf Else Writeln ( nilai huruf = ) End; End.

); = B ); = C ); = D );

V.

OUTPUT SOAL 1

SOAL 2

VI.

HASIL DAN ANALISIS FLOWCHART

(SOAL NO 1)
Start

a,b,c

d:= (b * b)-(4 * a * c)

d<0

d>0

'Nilai X1 dan X2 imajiner'

'Nilai X1 dan X2 imajiner'

'Nilai X1 dan X2 imajiner'

X1 : = (-b+sqrt(d))/(2 * a) X2 : = X1

X1 : = (-b+sqrt(d))/(2 * a) X2 : = (-b-sqrt(d))/(2 * a)

X1,X2

End

(SOAL NO 2)

Start

Jml,total,h

Jml <100

Jml >=100 and jml <150

h : = 9000 total : = jml * h

h : = 10000 total : = jml * h

h : = 9500 total : = jml * h

h,total

End

PSEUDOCODE SOAL NO 1 program akar_persamaankuadrat; uses wincrt; var a : integer; b : integer; c : integer; d : integer; x1 : real; x2 : real; begin write ('koefisien pangkat 2 ='); readln(a); write ('koefisien pangkat 1 ='); readln(b); write ('koefisien pangkat 0 ='); readln(c); d := (b*b) - (4*a*c); writeln('Nilai diskriminan : ',D); if d < 0 then begin writeln ('persamaan kuadrat memiliki 2 akar imajiner'); end else if d > 0 then begin writeln ('nilai x1 tidak sama dengan x2'); x1 :=(-b*sqrt(d))/(2*a); writeln('nilai x1 : ',x1:4:2); x2 :=(-b*sqrt(d))/(2*a); writeln('nilai x2 : ',x2:4:2); end else begin writeln('Nilai x1 sama dengan x2'); x1 :=(-b*sqrt(d))/(2*a); writeln('nilai x1 : ',x1:4:2); x2 :=(-b*sqrt(d))/(2*a); writeln('nilai x2 : ',x2:4:2); end end.

SOAL NO 2 program harga_barang; uses wincrt; var JB:integer; HB,bayar:real; begin writeln ('Jumlah barang yang dibeli='); read(JB); if (JB<100) then begin HB:=10000; bayar:=JB*HB; writeln ('Harga Barang=Rp',bayar:6:0); end else if (JB>=100) and (JB <150) then begin HB:=9500; bayar:= JB*HB; writeln ('Harga Barang=Rp',bayar:6:0); end else if (JB>=150) then begin HB:=9000; bayar:=JB*HB; writeln ('Harga Barang=Rp',bayar:6:0); end end. ANALISIS PROGRAM 1. Pada permasalahan pertaman, mencari akar persamaan kuadrat ax2+bx+c=0 dengan a0. Langkah awal mengetikkan program akar_persamaankuadrat dengan input nilai a,b,c (koefisien persamaan kuadrat), outputnya akar-akarnya (x1 dan x2). Pada bagian deklarasi dalam program, mengetikkan var, deklarasi variable yang akan di gunakan adalah a,b,c : integer, x1 dan x2 : real, d : integer. Pada bagian deskripsi dalam program dimulai dengan mengetikkan Begin , kemudian mengetikkan nilai a : , nilai b : , nilai c : dan menginputkan (a,b,c) koefisien persamaan kuadrat. Proses perhitungan nilai diskriminan (D) = (b * b)-(4 *a * c). Jika nilai D < 0 maka akan diperoleh nilai X1 dan X2 akar imajiner . Jika D > 0 maka akan diperoleh nilai X1 tidak sama dengan X2, dengan X1 = (-b+sqrt(D))/(2 * a) dan X2 =(-b-sqrt(D))/(2 * a). Jika D= 0 maka akan diperoleh nilai X1 sama dengan X2, dengan X1,2 =(-b+sqrt(D))/(2 * a).

Kemudian mengoutputkan nilai X1, X2. Mengakhiri program dengan mengetikkanend. 2.Pada permasalahan kedua menghitung harga yang harus dibayar dari jumlah barang yang dibeli. Langkah awal mengetikkan Program dengan input jumlah barang, harga barang, outputnya harga yang harus dibayar}. Pada bagian deklarasi dalam program mengetikkan var, deklrasi variabel yang akan digunakan adalah JB : integer { jumlah barang yang dibeli}, bayar : real { harga yang harus dibayar}, HB : real {harga per barang}. Pada bagian deskripsi dalam program dimulai dengan mengetikkan Begin , kemudian mengetikkan Jumlah Barang yang dibeli : dan menginputkan jml(jumlah barang yang dibeli). Jika jml (jumlah barang yang dibeli ) < 100 maka harga per barang (h) =10000 sehingga (total) harga yang harus dibayar = jml (jumlah barang yang dibeli ) * h (harga per barang) . Jika jml (jumlah barang yang dibeli ) >= 100 dan jml < 150 maka harga per barang (h) = 9500 sehingga (total) harga yang harus dibayar = jml(jumlah barang yang dibeli ) * h (harga per barang). Jika jml (jumlah barang yang dibeli ) >=150 maka harga per barang (h) =9000 sehingga (total) harga yang harus dibayar = jml (jumlah barang yang dibeli ) * h (harga per barang). Kemudian mengouputkan jumlah barang yang dibeli (jml) dan (total) harga yang harus dibayar. Pada akhir program mengetikkan end.

VII.

KESIMPULAN Pada program Pascal, dapat membuat program dengan menggunakan statemen kendali yang digunakan untuk pengambilan keputusan. Pola eksekusi program yang digunakan tidak berurutan. Setiap statemen akan ditest nilai kebenarannya. Pada permasalahan pertama, mencari akar persamaan kuadrat Ax2+Bx+C=0 dengan A0. Mendeklarasikan semua variabel yang digunakan, kemudian menginputkan koefisien persamaan kuadrat. Kemudian proses perhitungan niali diskriminan, kemudian diskriminan tersebut di tes nilai kebenarannya , jika syarat-syarat terpenuhi maka akan diperoleh akar-akar dari persamaan kuadrat tersebut. Pada permasalahan kedua, menghitung harga yang harus dibayar dari jumlah barang yang dibeli. Mendeklarasikan semua variabel yang digunakan, kemudian menginputkan jumlah barang yang dibeli. Kemudian jumlah barang yang dibeli akan di tes nilai kebenarannya, jika syarat-syarat terpenuhi maka akan diperoleh harga per barang.Kemudian proses perhitungan harga yang yang harus dibayar yaitu jumlah barang yang dibeli dikalikan harga per barang, sehingga akan diperoleh harga yang harus dibayar.

Anda mungkin juga menyukai