4.percabangan

32
PERCABANGAN / BRANCH Adalah suatu pernyataan/statement yang digunakan untuk mengendalikan alur program. Pernyataan/Statement digambarkan dalam FLOWCHART dengan simbol ini : Y T Dan dalam Algoritma dituliskan dengan notasi : Jika (.....) maka ..... y Ag. Wahyu P. SKom.

Upload: mayimas

Post on 14-Nov-2015

29 views

Category:

Documents


6 download

DESCRIPTION

cabang

TRANSCRIPT

  • PERCABANGAN / BRANCHAdalah suatu pernyataan/statement yang digunakan untuk mengendalikan alur program.Pernyataan/Statement digambarkan dalam FLOWCHART dengan simbol ini :By Ag. Wahyu P. SKom.

  • Pernyataan IFPernyataan if digunakan untuk menguji suatu kondisi/Variable. Bila kondisi terpenuhi maka program akan mengeksekusi pernyataan yang berada dalam scope benar, jika tidak akan mengeksekusi pernyataan lain. By Ag. Wahyu P. SKom.

  • Bentuk/Syntax pernyataan IFDengan satu statementIf then ;Contoh :

    Read(hrg);IF (hrg >= 200000) then write(Mahal);By Ag. Wahyu P. SKom.FlowChart

  • Bentuk pernyataan IFDengan lebih dari satu statementIf then Begin ; ; ;End;FlowChartContoh :

    Read(hrg);If (hrg >= 200000) thenBegin write(Mahal); write(Mewah);End;By Ag. Wahyu P. SKom.

  • Contoh :

    Uses CRT;

    Var hrg : real;

    Begin Write(berikan nilai Rupiah ); Readln(hrg); If (hrg >= 200000) then Begin writeln(Harga , hrg:10:2); write(Mahal); write(Mewah); End; ReadKey;End. Program UtamaUnitBy Ag. Wahyu P. SKom.Deklarasi Variable

  • Contoh :Uses CRT;

    Var Pjg, Lbr, Luas : real;

    Begin ClrScr; WriteLN(Menghitung Luas Bidang); Write(Masukkan Panjang : ); Readln(Pjg); Write(Masukkan Lebar : ); Readln(Lbr); Luas := Pjg * Lbr; WriteLN(Luas Bidang = , Luas:10:2); If (Pjg = Lbr) then Begin writeLN(Bidang adalah Bujur Sangkar); End; ReadKey;End.UnitDeklarasi VariableBy Ag. Wahyu P. SKom.Program UtamaBlok True

  • Soal :Jika seorang mahasiswa harus lulus suatu MK dengan nilai 65 ke atas. Bagaimanakan programnya.

    Input Program adalah :NIMNamaMKNilaiOutPut Program :Keterangan : Tidak Lulus Proses :Keterangan Tidak Lulus diberikan bila nilai di bawah 65By Ag. Wahyu P. SKom.

  • Dengan satu statement True dan satu statement FalseIf then Else ;FlowChartBy Ag. Wahyu P. SKom.Bentuk pernyataan IF

  • uses Crt;Var kua1, kua2, hasil:longint;begin Randomize; kua1 := Random(100); Writeln('Berapa Kuadrat dari : ', kua1); kua2 := sqr(kua1); Read(hasil); if (kua2 = hasil) then writeln('Anda benar hasilnya adalah ', kua2) else writeln('Anda salah hasilnya adalah ', kua2);readkey;End.Function untuk menghasilkan bilangan acak/randomAntara 0 - 100Function untuk menghasilkan kuadrat dari suatu bilangan pada parameternyaBy Ag. Wahyu P. SKom.

  • Dengan lebih dari satu statement Benar dan lebih dari satu statement Salah

    If thenbegin ; ; ;endElsebegin ; ; ;End;By Ag. Wahyu P. SKom.Bentuk pernyataan IF

  • Soal

    Tulislah Algorithma, FlowChart dan program untuk menampilkan Genap jika suatu bilangan yang dimasukkan oleh pengguna adalah bilangan genap atau menampilkan Ganjil bila yang dimasukkan adalah bilangan ganjil.Masukkan dari program adalah bilangan bulat yaitu x dimana 0

  • Adalah suatu blok pernyataan percabangan yang di dalam nya terdapat blok pernyataan percabangan yang lain.Percabangan Nested / Bersarang

  • Salah satu Bentuk if jamak (Bersarang/Nested)If thenbegin ; if then begin ; ; end;endElsebegin ; ;End;By Ag. Wahyu P. SKom.IIIIII

  • IIIIIIBy Ag. Wahyu P. SKom.12Jika bukan [kondisi 1] maka kerjakan baris ke 6[pernyataan I]Jika bukan [kondisi 2] maka kerjakan baris ke 7[pernyataan II]Kerjakan baris ke 7[pernyataan III]Selesai

  • Uses CRT;Var usia : byte;Begin Clrscr; Write(Masukkan usia anda); ReadLN(usia); if (usia >= 17) then Begin WriteLN(Usia dewasa); if (usia >= 65) then Begin WriteLN(Usia tua); WriteLN(Usia Senja); end; end else Begin WriteLN(Usia Pertumbuhan Anak); if (usia >= 12) then Begin WriteLN(Usia Remaja); WriteLN(Usia Akil Balik); end else Begin WriteLN(Usia Anak-anak); WriteLN(Usia Wajib Sekolah); end; end; Readkey;End.abc12345By Ag. Wahyu P. SKom.

  • YTYT12345abcYTBy Ag. Wahyu P. SKom.Sebagian FlowChar

  • Tulislah sebuah program untuk meminta masukkan bilangan bulat dari pengguna.

    Jika pengguna memasukkan bilangan yang lebih besar dari 0 (Nol) tampilkan Bilangan Positif. Jika pengguna memasukkan bilangan yang lebih kecil dari 0 (Nol) tampilkan Bilangan Negatif.

    Jika pengguna memasukkan bilangan yang sama dengani 0 (Nol) tampilkan Bilangan NOL. SOALBy Ag. Wahyu P. SKom.

  • Syntax Pernyataan IF ... Else if (>= 1 kemungkinan)If then [statement bila kondisi 1 benar]Else If then [statement bila kondisi 2 benar]Else [statement bila kondisi 1 dan kondisi 2 salah];Contoh :If (x > 0) then Writeln(x, Bilangan Positif) Else If (x < 0) then Writeln(x, Bilangan Negatif) Else Writeln(x, Bilangan NOL) ;By Ag. Wahyu P. SKom.Jika semua kemungkinan di atas Else ini salah maka else ini akan dijalankan

  • Jika x 0 Uses CRT;Var x : Integer;Begin ClrScr; Write(Masukkan sebuah bilangan); ReadLN(x);

    If (x > 0) then WriteLN(x, Bilangan Positif) Else Begin If (x < 0) then WriteLN(x, Bilangan Negatif) Else WriteLN(x, Bilangan NOL) ; End; ReadKey;End.By Ag. Wahyu P. SKom.

  • Jika x 0

    If (x > 0) then WriteLN(x, Bilangan Positif) Else If (x < 0) then WriteLN(x, Bilangan Negatif) Else WriteLN(x, Bilangan NOL) ;By Ag. Wahyu P. SKom.Begin End;

  • Jika x 0

    If (x > 0) then WriteLN(x, Bilangan Positif) Else By Ag. Wahyu P. SKom.If (x < 0) then WriteLN(x, Bilangan Negatif) Else WriteLN(x, Bilangan NOL) ;

  • If (x > 0) then Writeln(x, Bilangan Positif) Else If (x < 0) then Writeln(x, Bilangan Negatif) Else Writeln(x, Bilangan NOL) ;By Ag. Wahyu P. SKom.

  • Tulislah sebuah program untuk meminta masukkan bilangan bulat dari dari pengguna. Jika pengguna memasukkan 0, program menampilkan Minggu, jika pengguna memasukkan 1, program menampilkan Senin dst.Masukan dari program adalah bilangan bulat dan keluarannya adalah Minggu, atau Senin atau yang lain

    SOALBy Ag. Wahyu P. SKom.

  • Uses CRT;Var nHari : Integer;Begin ClrScr; Write(Masukkan sebuah bilangan untuk hari ); ReadLN(nHari); Write(Hari yang anda masukkan adalah hari );

    ReadKey;End.By Ag. Wahyu P. SKom.If (nHari = 0) then WriteLN(Minggu) Else If (nHari = 1) then WriteLN(Senin) Else If (nHari = 2) then WriteLN(Selasa) Else If (nHari = 3) then WriteLN(Rabu) Else If (nHari = 4) then WriteLN(Kamis) Else If (nHari = 5) then WriteLN(Jumat) Else WriteLN(Sabtu) ;

  • Pernyataan CaseBentuk CASE lebih sederhana dari if ... Else if

    Bentuk CASE hanya dapat digunakan untuk menseleksi satu Variable dengan beberapa pilihanBentuk umumCase of : ; : ; : ;End;By Ag. Wahyu P. SKom.

  • By Ag. Wahyu P. SKom.If (nHari = 0) then WriteLN(Minggu) Else If (nHari = 1) then WriteLN(Senin) Else If (nHari = 2) then WriteLN(Selasa) Else If (nHari = 3) then WriteLN(Rabu) Else If (nHari = 4) then WriteLN(Kamis) Else If (nHari = 5) then WriteLN(Jumat) Else WriteLN(Sabtu) ;Case nHari of 0 : WriteLN(Minggu); 1 : WriteLN(Senin) ; 2 : WriteLN(Selasa) ; 3 : WriteLN(Rabu) ; 4 : WriteLN(Kamis) ; 5 : WriteLN(Jumat); 6 : WriteLN(Sabtu) ;End;

  • Tulislah sebuah program untuk meminta masukkan bilangan bulat dari dari pengguna. Jika pengguna memasukkan 1, program menampilkan Januari, jika pengguna memasukkan 2, program menampilkan Februari dst.Masukan dari program adalah bilangan bulat dan keluarannya adalah Januari, atau Februari atau yang lain

    SOALBy Ag. Wahyu P. SKom.

  • uses Crt;Var bil1, bil2, hasil: Real; tanda, jawab : Integer;

    Begin ClrScr; Randomize; bil1 := Random(100); tanda:= Random(3); bil2 := Random(100);

    Writeln('Apakah tanda / operatornya ?:'); Writeln(bil1:10:2, ' ? ', bil2:10:2, = , hasil:10:2); WriteLN; Write('Jawab : 0 -> +, 1 -> -, 2 -> * atau 3 -> / ? ); WriteLN; ReadLN(jawab);

    if (tanda = jawab) then writeln('Anda benar ', tanda) else writeln('Anda salah. Yang benar ', tanda);readkey;end.By Ag. Wahyu P. SKom. case tanda of 0 : hasil := bil1 + bil2; 1 : hasil := bil1 - bil2; 2 : hasil := bil1 * bil2; 3 : hasil := bil1 / bil2; end;

  • Bentuk CASE lebih dari satu statement dalam tiap KondisiCase of : begin ; ; end; : begin ; ; end; : begin ; ; end;End;By Ag. Wahyu P. SKom.

  • Bentuk CASE Dengan else sebagai defaultCase of : ; : ; else ;End;By Ag. Wahyu P. SKom.

  • Kondisi dari suatu CASE dapat berupa konstanta atau nilai ataupun juga range dari nilaia : ; : ;1..10 : ;2,3,4 : ;A, B : ;A .. Z : ; By Ag. Wahyu P. SKom.

  • Buatlah Suatu Program untuk menghitung nilai Huruf.Masukan dari pengguna adalah bilangan bulat.

    Bila bilangan yang dimasukkan >= 85 maka tampil Nilai Huruf ABila bilangan yang dimasukkan =75 maka Nilai Huruf BBila bilangan yang dimasukkan =65 makaNilai Huruf CBila bilangan yang dimasukkan =50 maka Nilai Huruf DSelain ini tampilkan Nilai Huruf E

    SOALBy Ag. Wahyu P. SKom.