15

Click here to load reader

praktikum 2

Embed Size (px)

Citation preview

Page 1: praktikum 2

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;

Page 2: praktikum 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.

Page 3: praktikum 2

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

Page 4: praktikum 2

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

Page 5: praktikum 2

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.

Page 6: praktikum 2

V. OUTPUTSOAL 1

SOAL 2

Page 7: praktikum 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'

Page 8: praktikum 2

(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

Page 9: praktikum 2

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.

Page 10: praktikum 2

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).

Page 11: praktikum 2

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.