fbpx

Algoritma dan Pemrogaman : Kondisi Bersarang

Statemen if yang terkandung pada statemen if yang lain, yang lebih atas, disebut dengan statemen if tersarang (nested if). Hal ini mungkin terjadi jika statemen yang seharusnya dijalankan setelah pemeriksaan kondisi atau ekspresi boolean, tidak dapat langsung dijalankan karena harus memeriksa kondisi atau ekspresi boolean yang lain.

Berikut ini bentuk umum dari if tersarang:

if kondisi1 then
begin
    if kondisi2 then
        statemen1
    else
        statemen2
    end;

Selain itu dapat juga berbentuk seperti berikut:

if kondisi1 then
    if kondisi2 then
        statemen1
    else
        statemen2
else
    statemen3;
if kondisi then-1
    if kondisi then-2
        ...
            if kondisi then-n
                pernyataan-n1
            else
                pernyataan-n2
            ...
    else
        pernyataan-2
else
    pernyataan-1;

Contoh Kasus

Berikut ini contoh kasus skor dan grade yang diselesaikan dengan if tersarang.

Program ini menampilkan skor siswa dan gradenya sesuai dengan klasifikasi berikut:

  1. Grade “A” dengan nilai dari 90% sampai 100%
  2. Grade “B” dengan nilai dari 80% sampai 89%
  3. Grade “C” dengan nilai dari 70% sampai 79%
  4. Grade “D” dengan nilai dari 60% sampai 69%
  5. Grade “E” dengan nilai kurang dari 60%
program skordangrade;
var
    nilai:integer;
begin
    write('Masukkan skor/nilai: ');readln(nilai);
    writeln;
    if nilai>59 then
        if nilai>69 then
            if nilai>79 then
                if nilai>89 then
                    writeln('Excellent. Grade Anda adalah A')
                else
                    writeln('Very Good. Grade Anda adalah B')
            else
                writeln('Good. Grade Anda adalah C')
        else
            writeln('Passed. Grade Anda adalah D')
    else
        writeln('Better luck next time. Grade Anda adalah E');
    writeln('Tekan ENTER untuk melanjutkan');
    readln;
end.

Output dari program di atas adalah sebagai berikut.


Contoh Program Lainnya

Program Bonus Pegawai

Buatlah program untuk menentukan bonus pegawai, berdasarkan ketentuan yang diberikan oleh bagian personalia dan keuangan sebagai berikut : Pegawai perusahaan digolongkan menjadi dua golongan, yaitu staf dan non staf. Staf akan mendapatkan bonus sebesar 1 juta rupiah dengan syarat bahwa ia telah bekerja paling tidak 5 tahun dan umurnya sudah mencapai 50 tahun; staf yang bekerja kurang dari 5 tahun dan berapapun umurnya, hanya mendapat bonus sebesar Rp. 500.000. Pegawai non staf yang telah bekerja lebih dari 5 tahun akan mendapat bonus sebesar Rp. 400.000 jika berumur lebih dari 50 tahun sedangkan pegawai non staf yang berumur kurang dari 50 tahun hanya mendapat bonus Rp. 250.000. Pegawai staf yang umurnya kurang dari 50 tahun akan mendapat bonus Rp. 300.000

Kode program dari permasalahan di atas adalah sebagai berikut.

program bonus_pegawai;
uses crt;
var lama,usia:real;
    golongan,pilih:char;
    bonus:string;
label atas;
begin
  clrscr;
  writeln('==================');
  writeln('BONUS GAJI PEGAWAI');
  writeln('==================');
  writeln;
  atas:
  write('Masukkan Golongan [1. Staf 2. Non Staf] = ');readln(golongan);
  if (golongan='1') then
    begin
      write('Lama Bekerja                            = ');readln(lama);
      write('Usia Anda                                 = ');readln(usia);
      if (lama>=5) then
        begin
         if (usia>=50) then
          bonus:='Rp 1000000'
         else
          bonus:='Maaf, usia dan masa kerja Anda belum memenuhi syarat untuk mendapat bonus'
        end
      else bonus:='Rp 500000'
    end;
  if (golongan='2') then
    begin
      write('Lama Bekerja                            = ');readln(lama);
      write('Usia Anda                               = ');readln(usia);
      if (lama>5) then
        begin
          if (usia>50) then
            bonus:='400000'
          else bonus:='Rp 250000'
        end
      else bonus:='Maaf, usia dan masa kerja Anda belum memenuhi syarat untuk mendapat bonus'
    end;
  writeln('Bonus Anda adalah                       = ',bonus);
  writeln;
  writeln('------------------------------------------');
  write('Ingin memeriksa bonus lagi?(Y/T)        = ');readln(pilih);
  writeln('------------------------------------------');
  writeln;
    if (pilih='y') or (pilih='Y') then
      goto atas;
    if (pilih='t') or (pilih='T') then
      writeln('Terima kasih, Semangat Bekerja :)');
readln;
end.

Contoh Output:


Program Konversi Suhu

Buatlah program menggunakan statemen if then yang membaca sebuah besaraninteger yang menunjukkan hasil pengukuran suhu pada derajat celcius danmenuliskan kondisi air pada suhu yang diberikan dengan ketentuan sebagai berikut:

  1. Suhu sama atau kurang dari 0 (nol) tuliskan โ€˜bekuโ€™,
  2. Suhu lebih dari 0 (nol) dan kurang dari 100 tuliskan โ€˜cairโ€™, dan
  3. Suhu sama atau lebih dari 100 tuliskan โ€˜uapโ€™.

Kode program dari permasalahan di atas adalah sebagai berikut.

program suhu_bekucairgas;
uses Crt;
var     C:integer;
        pilih:char;
label   atas;
begin
clrscr;
   writeln('----------------------');
   writeln('Menentukan Kondisi Air');
   writeln('----------------------');
atas:
   write('Input derajad Farenheit               = ');readln(C);
   write('Kondisi suhu air adalah               = ');
     if C<=0 then
       writeln('Beku')
     else if (C>0) and (C<100) then
       writeln('Cair')
     else if C>=100 then
       writeln('Uap');
   writeln;
   writeln('----------------------------------------');
   write('Ingin memeriksa suhu yang lain ?(Y/T) = ');readln(pilih);
   writeln('----------------------------------------');
   writeln;
     if (pilih='y') or (pilih='Y') then
       goto atas;
     if (pilih='t') or (pilih='T') then
       writeln('Terima kasih :)');
readln;
end.

Contoh Output:


Program Mata Kuliah

Buatlah program menggunakan statemen if then yang menerima masukan namahari (string) dan menuliskan mata kuliah yang diberikan pada hari tersebut,dengan ketentuan sebagai berikut :
Senin mata kuliah yang diberikan Algoritma dan Pemrograman I
Selasa mata kuliah yang diberikan Kalkulus
Rabu mata kuliah yang diberikan Bahasa Indonesia
Kamis mata kuliah yang diberikan Pengantar Teknik Informatika
Jumโ€™at mata kuliah yang diberikan Bahasa Inggris
Sabtu mata kuliah yang diberikan Basis Data

Kode program dari permasalahan di atas adalah seabgai berikut.

program namahari;
uses crt;
var hari:string;
    pilih:char;
label atas;
begin
clrscr;
  writeln('------------------');
  writeln('JADWAL MATA KULIAH');
  writeln('------------------');
atas:
  write('Masukkan Hari        = ');readln(hari);
  write('Mata Kuliah Saat ini = ');
    if (hari='senin') or (hari='Senin') or (hari='SENIN') then
      writeln('Algoritma dan Pemrogaman I')
    else if (hari='selasa') or (hari='Selasa')  or (hari='SELASA') then
      writeln('Kalkulus')
    else if (hari='rabu') or (hari='Rabu') or(hari='RABU') then
      writeln('Bahasa Indonesia')
    else if (hari='kamis') or (hari='Kamis') or (hari='KAMIS') then
      writeln('Pengantar Teknik Informatika')
    else if (hari='jumat') or (hari='Jumat') or (hari='JUMAT') then
      writeln('Bahasa Inggris')
    else if (hari='sabtu') or (hari='Sabtu') or (hari='SABTU') then
      writeln('Basis Data')
    else writeln('Tidak Ada Jadwal Perkuliahan');
  writeln;
  writeln('-------------------------------------');
  write('Apakah ingin memeriksa mata kuliah lagi ? (Y/T) = ');readln(pilih);
  writeln('-------------------------------------');
  writeln;
    if (pilih='y') or (pilih='Y') then
      goto atas;
    if (pilih='t') or (pilih='T') then
      writeln('Terima kasih, Semangat Kuliahnya');
readln;
end.

Contoh Output:


Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Konsep Pemilihan, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up