Click here to load reader
Upload
ruth-kanata-malau
View
31
Download
3
Embed Size (px)
Citation preview
I. JUDULSTATEMEN KENDALI
II. TUJUANSetelah praktikum, mahasiswa dapat membuat program dengan menggunakan statemen kendali dengan benar.
III. PERMASALAHAN1. Buatlah program untuk mencari akar persamaan kuadrat: Ax2 + Bx + C = 0, dengan A≠0.
Akar persamaan kuadrat diperoleh dengan rumus:
x1,2=−b±√b2−4ac
2a
Jika b2- 4ac < 0 akan diperoleh akar imajiner.
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 THENPengambilan 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> thenBegin
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> thenBegin
Statemen1_1;Statemen1_2;
. . . . . EndElse 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;. . . . .
EndElseIf <kondisi_2> then Begin
Statemen2_1;Statemen2_2;. . . . .
EndElseIf <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 A60 <= nilai angka < 80 B40 <= nilai angka <60 C20 <= nilai angka <40 DNilai 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;
BeginWrite ( ‘Nama mahasiswa : ‘ ); readln(nama);
Write ( ‘NIM : ‘ ); readln(NIM);Write ( ‘Nilai ujian : ‘ ); readln(nilai);Writeln;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
Writeln ( ‘nilai huruf = E’ )End.
Contoh hasil :
Nama MahasiswaNIMNilai
Nilai huruf = C
: Tukul Arwana: 123456: 45
b. Statemen CASEDalam bahasa pemrograman Pascal, pengambilan keputusan untuk sejumlah alternative
jawaban bisa dilaksanakan dengan statemen case. Struktur statemen case dapat digambarkan sebagai berikut :
Bentuk umum Case :
Case
End;
Ungkapan ofLabel 1 : statemen 1;Label 2 : statemen 2;. . . . . .. . . . . . Label n : statemen n
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.
Ungkapan
Statemen 1 1
Statemen 2 Statemen 4Statemen 3
End
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;
BeginWrite ( ‘Nama mahasiswa : ‘ ); readln(nama);
Write ( ‘NIM : ‘ ); readln(NIM);Write ( ‘Nilai ujian : ‘ ); readln(nilai);
Writeln;Case nilai of80 . . 100 : writeln ( ‘nilai huruf = A’ );60 . . 79 : writeln ( ‘nilai huruf = B’ );40 . . 59 : writeln ( ‘nilai huruf = C’ );20 . . 39 : writeln ( ‘nilai huruf = D’ );ElseWriteln ( ‘nilai huruf = ‘ )End;
End.
V. OUTPUTSOAL 1
SOAL 2
VI. HASIL DAN ANALISIS
FLOWCHART
(SOAL NO 1)
Start
End
a,b,c
d:= (b * b)-(4 * a * c)
X1,X2
d < 0
'Nilai X1 dan X2 imajiner'
d > 0
X1 : = (-b+sqrt(d))/(2 * a)
X2 : = (-b-sqrt(d))/(2 * a)
X1 : = (-b+sqrt(d))/(2 * a)
X2 : = X1
'Nilai X1 dan X2 imajiner'
'Nilai X1 dan X2 imajiner'
(SOAL NO 2)
End
Jml,total,h
h,total
Jml <100 Jml >=100 and jml <150
h : = 10000
total : = jml * h
Start
h : = 9000
total : = jml * h
h : = 9500
total : = jml * h
PSEUDOCODESOAL NO 1program akar_persamaankuadrat;uses wincrt;var a : integer; b : integer; c : integer; d : integer; x1 : real; x2 : real;
beginwrite ('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 thenbeginwriteln ('persamaan kuadrat memiliki 2 akar imajiner');endelseif d > 0 thenbeginwriteln ('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);endelsebeginwriteln('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);endend.
SOAL NO 2program harga_barang;uses wincrt;var JB:integer; HB,bayar:real;beginwriteln ('Jumlah barang yang dibeli=');read(JB);if (JB<100) thenbeginHB:=10000;bayar:=JB*HB;writeln ('Harga Barang=Rp',bayar:6:0);endelseif (JB>=100) and (JB <150) thenbeginHB:=9500;bayar:= JB*HB;writeln ('Harga Barang=Rp',bayar:6:0);endelseif (JB>=150) thenbeginHB:=9000;bayar:=JB*HB;writeln ('Harga Barang=Rp',bayar:6:0);endend.
ANALISIS PROGRAM1. Pada permasalahan pertaman, mencari akar persamaan kuadrat ax2+bx+c=0 dengan a≠0. 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 mengetikkan‘end.’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. KESIMPULANPada 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 A≠0.
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.