Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

PERCABANGAN IF Minggu 02.

Presentasi serupa


Presentasi berjudul: "PERCABANGAN IF Minggu 02."— Transcript presentasi:

1 PERCABANGAN IF Minggu 02

2 Struktur Percabangan

3 Bentuk Percabangan IF Statement IF
Perintah IF terdiri atas tiga bentuk, yaitu IF THEN IF THEN ELSE IF THEN ELSIF Struktur dari ketiganya ditampilkan dalam satu rumusan umum sebagai berikut:

4 Bentuk Percabangan IF (2)
IF kondisi THEN statemen-statemen; END IF THEN statemen-statemen A; ELSE statemen-statemen B; END IF; IF kondisi 1 THEN Baris perintah... ELSIF kondisi 2 ... [ELSE baris perintah..] END IF;

5 Contoh SIMPLE IF Declare myage number:=31; Begin if myage < 11 then dbms_output.put_line(‘I am a child’); end if; End; /

6 Contoh IF THEN ELSE declare a number(2,1); b number(2,1); c number;
begin a:=&a_value; b:=&b_value; if b!=0 then c:=a/b; dbms_output.put_line('nilai c = '||c); else dbms_output.put_line('nilai b tidak boleh=0'); end if; end; / Contoh IF THEN ELSE

7 Declare nilai integer; mutu char(1); pesan varchar2(256); Begin nilai := &masukkan_nilai; if (nilai >= 80) then mutu := ‘A’; pesan:=‘Pertahankan’; elsif (nilai >= 70) then mutu := ‘B’; pesan:=‘Tingkatkan’; elsif (nilai >= 60) then mutu := ‘C’; pesan:=‘Semangat’; else mutu := ‘D’ ; pesan:=‘Rajinlah’; end if; dbms_output.put_line(‘nilai mutu adalah : ‘ ||mutu); dbms_output.put_line(‘pesan : ‘ ||pesan); End; / Contoh IF THEN ELSIF :

8 IF Bersarang If kondisi Then if kondisi then pernyataan; end if; Else kondisi; End if;

9 Contoh Soal Segitiga (IF Bersarang)
Buatlah pl/sql untuk menentukan segitiga sama sisi, sama kaki atau sembarang Setelah diinputkan 3 nilai (=sisi), maka apabila : Apabila ketiga sisi sama, disebut segitiga sama sisi Apabila hanya dua sisi yang sama, disebut segitiga sama kaki Apabila tidak ada sisi yang sama, disebut segitiga sembarang.

10 Logika Jawaban IF Bersarang
Input sisi a, sisi b, sisi c If a=b Then if a=c then output (‘segitiga sama sisi’) else output (‘segitiga sama kaki’) Else if b=c then output (‘segitiga sama kaki’) else if a=c else output(‘segitiga sembarang’)

11 declare s1 number; s2 number; s3 number; ket varchar2(25); begin s1 :=&masukkan_sisi_1; s2 :=&masukkan_sisi_2; s3 :=&masukkan_sisi_3; if s1=s2 then if s2=s3 then ket:='Segitiga Sama Sisi'; else ket:='Segitiga Sama Kaki'; end if; elsif s1=s3 then ket:='Segitiga Sama Kaki'; elsif S2=s3 then ket:='Segitiga Sama Kaki'; else ket:='Segitiga Sembarang'; dbms_output.put_line(ket); end; /

12 Soal Latihan 1 : Nilai Inputkan 3 buah nilai untuk mahasiswa.
Apabila rata-rata ketiga nilai >= 60 maka lulus

13 Jawaban Logika Soal 1 IF THEN ELSE
Input nilai1, nilai2, nilai 3 Hitung rata = (nilai1+nilai2+nilai3)/3 If rata > = 60 Then keterangan := lulus; Else keterangan := tidak lulus; End if; Cetak keterangan

14 Soal Latihan 2 Memperbaiki soal 1
Apabila rata-rata >= 80 maka keterangan ‘sangat baik’ Apabila rata-rata >= 70 maka keterangan ‘baik’ Apabila rata-rata >= 60 maka keterangan ‘cukup’ Apabila di bawah 60 maka keterangan ‘perbaiki nilaimu’

15 Jawaban Logika Soal 2 IF THEN ELSIF
Input nilai1, nilai2, nilai3 If nilai>=80 then ket:=‘sangat baik’ Elsif nilai>=70 then ket:=‘baik’ Elsif nilai>=60 then ket:=‘cukup’ Else ket:=‘perbaiki nilai anda’ End if; Cetak ket

16 Soal Latihan 3 : Rata-rata nilai
buatlah pl/sql menggunakan if untuk merata-ratakan 3 buah nilai yang diinputkan oleh user, apabila nilai rata-rata >=60 maka akan ada keterangan 'lulus', apabila nilai rata-rata <60 maka akan ada keterangan 'tidak lulus' tetapi apabila ada di antara ketiga nilai tersebut yang <40 maka keterangan 'tidak lulus'

17 Jawaban logika Soal 3 IF Bersarang
Input nilai1, nilai2, nilai3 If nilai1>40 and nilai2>40 and nilai3>40 Then rata:=(nilai1+nilai2+nilai3)/3; if rata>=60 then dbms_output.put_line('lulus'); else dbms_output.put_line('tidak lulus'); end if; Else dbms_output.put_line('tidak lulus'); End if;

18 Contoh Soal 4: Sewa Komik
Buatlah pl/sql utk menginput jumlah dan tipe, dimana : Tipe 1, harga_sewa Rp 20000, nama : Novel , jenis : Bacaan Remaja Tipe 2, harga_sewa Rp 15750, nama : Majalah, jenis : Bacaan Remaja Tipe 3, harga_sewa Rp 12500, nama : Komik, jenis : Bacaan anak-anak Tampilkan nama buku dan jenis buku Tampilkan total bayar ( jumlah * harga_sewa)

19 Jawaban Logika Soal 4 IF THEN ELSIF
Input (jumlah, tipe) If tipe=1 Then pernyataan1; pernyataan2; pernyataan; Elsif tipe=2 then pernyataan1; pernyataan2; pernyataan; elsif tipe = 3 End if; Cetak tipe buku & nama buku Hitung total = jumlah * harga Cetak total

20 Soal Latihan 5 : Apotik “APOTIK SEGAR BUGAR” menjual obat dengan kriteria sebagai berikut : Gol. A , harga Rp 1500,-/buah Gol. B , harga Rp 2500,-/buah Untuk obat gol. A jika dibeli lebih dari 5 akan mendapat discount 5% dari jumlah total yang harus dibayarkan dan jika membeli lebih dari sama dengan 10 mendapat discount 10%. Untuk obat gol. B,apabila jumlah obat yang dibeli lebih dari maka akan mendapatkan discount sebesar 15% dari jumlah total yang harus dibayarkan. Buat program PL/SQL untuk menghitung jumlah total yang harus dibayarkan oleh seorang customer dengan menginputkan jumlah obat nya!

21 Jawaban Logika Soal 5 IF Bersarang
Input gol, jumlah If gol=‘A’ Then harga := 1500; if jumlah>=5 then diskon:=0.05; elsif jumlah>=10 then diskon:=0.1; end if; Elsif gol=‘B’ Then harga:=2500; if jumlah>10 then diskon:=0.15; else diskon:=0; End if Hitung total = jumlah*harga Hitung disk = total*diskon Hitung bayar=total-disk Tampilkan bayar Jawaban Logika Soal 5 IF Bersarang

22 Soal latihan 6 (dari schema HR)
Tampilkan first name, last name, salary dan tunjangan dari tabel employees, ketentuan tunjangan adalah apabila salary >=10000 maka tunjangan = salary*0.1, sedangkan apabila salary >= maka tunjangan = salary * 0.05

23 declare vf employees.first_name%type; vl varchar(256); sal number(8,2); tunjangan number(8,2); dep departments.department_name%type; begin select first_name, last_name, salary,department_name into vf, vl, sal,dep from employees join departments on employees.department_id=departments.department_id where employee_id=&masukan_id_employee; if sal >=15000 then tunjangan := sal*0.2; elsif sal>=10000 then tunjangan := sal*0.1; end if; dbms_output.put_line('first name : ' || vf); dbms_output.put_line('last name : ' || vl); dbms_output.put_line('department name : ' || dep); dbms_output.put_line('salary : ' || sal); dbms_output.put_line('tunjangan : '||tunjangan); End; / Jawaban Soal 6

24 Latihan Soal 7 Tampilkan first name, last name, lama bekerja dan tunjangan utk employee dengan employee id tertentu (diinputkan oleh user), Lama bekerja adalah tanggal hari ini dikurangi hire_date Tunjangan 20%*salary apabila karyawan sudah lebih dari atau sama dengan 20 tahun bekerja, tunjangan 10%*salary apabila karyawan sudah lebih dari atau sama dengan 10 tahun bekerja, sisanya tunjangan adalah 5%* salary. Karyawan yang sudah lebih dari atau sama dengan 20 thn bekerja akan mendapat predikat 'karyawan tangguh', karyawan yg sudah lebih dari atau sama dengan 10 thn bekerja akan mendapat predikat 'karyawan setia', sisanya mendapat predikat 'karyawan gembira‘. Petunjuk menghitung : tahun := round(jml_hari/365); bulan := round(tahun/30); hari := tahun mod 30;


Download ppt "PERCABANGAN IF Minggu 02."

Presentasi serupa


Iklan oleh Google