Jump to content

Pascal:Percabangan 2

From Wiki

Percabangan adalah bentuk penyeleksian aksi yang dilaksanakan berdasarkan kondisi yang ditentukan. Biasanya aksi yang diberikan terdiri lebih dari satu aksi. Pada sebagian program yang komplek, kadangkala terdapat percabangan didalam percabangan (percabangan tersarang).

Jenis Percabangan

Jenis percabangan yang umum digunakan antara lain:

  • Percabangan Tersarang
  • Percabangan If Then dan Case Of

If Tersarang

Adalah suatu pilihan di dalam pilihan yang lain atau dalam satu kondisi masih ada subkondisi yang lain. Algoritma percabangan bersarang merupakan bentuk algoritma percabangan dimana pada setiap setiap pernyataan untuk kondisi IF di dalamnya terdapat Instruksi IF Lagi

Intinya algoritma percabangan disebut percabangan bersarang kalau di dalam percabangan ada percabangan lagi, banyak yang menyebut juga dengan sebutan di dalam IF ada IF lagi.

Struktur If di dalam If

  • IF(Kondisi A) THEN
IF(kondisi X)THEN
pernyataan 1
ELSE IF
pernyataan 2
ENDIF
ELSE
pernyataan B
ENDIF

Struktur Lain If dalam If

If (Kondisi 1) Then
Begin
Program-1
If (Kondisi 1.1) Then
Begin
Program 1.1
If (Kondisi 1.1.1) Then
Begin
Program 1.1.1
End
End
End
Else
Begin
Program 2
If (Kondisi 2.1) Then
Begin
Program 2.1
End
End

Contoh

Dalam bentuk flowchart

Sebuah Perusahaan akan memberikan tunjangan anak dengan kententuan sebagai berikut :

  • Jika Karyawawan statusnya blm menikah (bujang) maka tidak mendapatkan tunjangan atau tunjangan = 0
  • Jika karyawan tersebut menikah dan tidak memiliki anak(anak=0) , maka tunjangan juga = 0
  • Jika karyawan tersebut menikah dan memiliki anak 1, maka tunjangannya adalah = 100.000
  • Jika karyawan tersebut menikah dan memiliki anak 2, maka tunjangannya adalah = 200.000
  • Jika karyawan tersebut menikah dan memiliki anak >=3, maka tunjangannya adalah = 300.000

Penulisan Program

program seleksi_dalam_seleksi
uses crt;
var
 status            :char;
 anak, gol         :byte;
 nama              :string;
 gaber,gapok,tunj  :real;

begin
 clrscr;
 writeln('PT. Sama Berjaya');
 writeln('Jalan Koekarbo No. 56 Kota Raya');
 writeln('Daftar gaji dan tunjangan');
 writeln('______________________');
 writeln('');
 write('Nama Anda : ');readln(nama);
 write('Golongan Anda 1/2/3/4 : ');readln(gol);
 write('Status [B] Bujang [K] Kawin : ');readln(status);
 write('Jumlah Anak : ');readln(anak); 

 case gol of
  1 : gapok := 1000000;
  2 : gapok := 1500000;
  3 : gapok := 2000000;
  4 : gapok := 3000000;
 else
  writeln('Input data anda salah');

 if status='B' then
  tunj := 0;
  if anak =0 then
     tunj :=0
  else
   if anak = 1 then
      tunj := 100000
   else
    if anak = 2 then
       tunj := 200000
    else
       tunj := 350000;

  gaber := gapok + tunj;
 clrscr
 writeln('Nama anda : ',nama);
 writeln('Golongan anda 1/2/3/4 : ',gol);
 writeln('Status Anda [B] Bujang [K] Kawin : ',status);
 writeln('Jumlah anak : ',anak);
 writeln('Gaji pokok : ',gapok:7:2);
 writeln('Tunjangan anak : ',tunj:6:2);
 writeln('Gaji bersih : ',gaber:7:2);
 readln;
end.

Percabangan terserang merupakan penyeleksian seleksi yang paling kompleks diantara percabangan yang ada, karena harus memperhatikan betul kondisi yang akan diseleksi dan pernyataan yang ada

Percangan akan semakin menjadi kompleksi manakala fungsi percabangan ini di gabung dengan fungsi yang lain sperti perulangan ,dll