Decision Dan Selection ( Pengkondisian )

Posted on
bahasa pascal
bahasa pascal

Didalam pemrograman bahasa pascal dimana ada perintah untuk memilih membandingkan atau memeriksa program. Dalam sebuah program tidak selalu setiap baris dari program dilakukan dalam eksekusi. Akan tetapi ada statement tertentu yang dilakukan hanya jika kondisinya memenuhi. Dan untuk menguji kondisi ini dapat dilakukan dengan statement berikut ini :
1.    If …….
Then ……….
Else …………
Dengan menggunakan statement ini suatu ekspresi logika bila “ Tidak Lulus “ pada pengujian yang pertama diuji kembali pada kondisi yang berikutnya dan seterusnya. Penggunaan jenis kondisi  semacam ini berguna sekali dalam menyeleksi statement yang akan dilakukan sesuai dengan ekspresi kondisi yang diberikan, karena statement pengujian kondisi ini dapat disusun berantai sehingga didapat multi level checking. Syntax penulisannya adalah :
If ( Kondisi -1 )
Then ( Statement – 1 )
Else if (Kondisi -2 )
Then ( Statement – 2 )
.
.
If ( Kondisi — n )
Then (statement — n )
Else ( Statement — n );
Keterangan :    Dalam pengujian kondisi ini, jika ekspresi kondisi — 1 tidak terpenuhi akan diuji pada ekspresi kondisi — 2 dan seterusnya hingga kondisi terpenuhi. Jika kondisi tidak terpenuhi sampai akhir statement pengujian, maka statement yang berada setelah keyword Else yang terakhirlah yang dieksekusi.
Latihan —Latihan Program
Program Pemilihan_Nilai;
Uses Crt;
( *********************************************
*    Menyeleksi suatu nilai menggunakan if then else    *
********************************************** )
Var
Nilai    : Integer;
Begin
Clrscr;
Writeln(‘&&&&& Menghitung Tingkatan Nilai &&&&’);
Writeln;
Write(‘Masukan nilai ( 0 .. 10 )     : ‘);Readln(Nilai);
Writeln;
If nilai < 9 then
If nilai < 7 then
If nilai < 5 then
If nilai  < 3 then
Writeln(‘Waduh !! Nilainya Kacau !!’)
Else
Writeln(‘Perlu Kerja Keras Nih !!’)
Else
Writeln(‘Masih Lumayan …………………’)
Else
Writeln(‘Nilainya cukup baik ‘)
Else
Writeln(‘Nah ini baru nilai cumlaude ‘);
Write(‘Tekan < Enter > ‘);
Readln;
End.
Program Pemilihan_Warna;
Uses Crt;
Var
Warna    : Char;
Begin
Clrscr;
Writeln(‘@@ Menentukan warna dari Huruf Awalnya @@’);
Writeln;
Write (‘ Masukan Hurup Awal Warna : ‘);
Warna := readkey;
Writeln(Warna);
If ( Warna = ‘B’) or ( Warna = ‘b’) then
Writeln(‘Warna yang berawalan dari hurup B adalah Biru’);
Else If ( Warna = ‘H’) or ( Warna = ‘h’) then
Writeln(‘Warna yang berawalan dari hurup H adalah Hijau’);
Else If ( Warna = ‘M’) or ( Warna = ‘m’) then
Writeln(‘Warna yang berawalan dari hurup M adalah Merah’);
Else If ( Warna = ‘K’) or ( Warna = ‘k’) then
Writeln(‘Warna yang berawalan dari hurup K adalah Kuning’);
Else If ( Warna = ‘C’) or ( Warna = ‘c’) then
Writeln(‘Warna yang berawalan dari hurup C adalah Coklat’);
Else If ( Warna = ‘V’) or ( Warna = ‘v’) then
Writeln(‘Warna yang berawalan dari hurup V adalah Violet’);
Else If ( Warna = ‘J’) or ( Warna = ‘j’) then
Writeln(‘Warna yang berawalan dari hurup J adalah Jingga’);
Else Writeln(‘Huruf yang diketikan tidak ada dalam pilihan’);
Write(‘Tekan < enter > ‘);
Readln;
End.

Kasus    :
Buatlah program dalam bahasa pascal untuk menghitung nilai Akhir Mahasiswa dengan mengunakan If Then Else. Dengan ketentukan sebagai berikut Nim, Nama Mahasiswa, Alamat Mahasiswa, Jurusan, Umur, Nilai UAS, Nilai UTS, Nilai Quiz dan Nilai Tugas.
Untuk Nilai Akhir adalah 40% dari Nilai UAS ditambah 30% dari Nilai UTS ditambah 20% dari niali Quiz ditambah 10% dari Nilai Tugas. Nilai Akhir ditentukan oleh Nilai Grade sebagai berikut :
Jika Nilai Akhir lebih besar dari 85 maka nilai Grade adalah A
Jika Nilai Akhir lebih besar dari 75 maka nilai Grade adalah B
Jika Nilai Akhir lebih besar dari 65 maka nilai Grade adalah C
Jika Nilai Akhir lebih besar dari 55 maka nilai Grade adalah D
Jika Nilai Akhir Kurang dari 55 maka Nilai Grade adalah E
Output : =====================================
Niali akhir Mahasiswa
=====================================
Nim                :
Nama Mahasiswa        :
Alamat Mahasiswa        :
Jurusan            :
Umur                 :
Nilai UAS            :
Nilai UTS            :
Nilai Quiz            :
Nilai Tugas            :
Nilai Akhir            :
Nilai Grade            :
======================================
1.    Case Of
End.
Alternatif lain yang digunakan untuk mengontrol statement yang akan dieksekusi dalam program dan hanya dapat menguji kesamaan suatu variabel tertentu denga nilai yang disajikan, variabel yang diuji hanyalah berupavariabel yang bertipe ( Integer, Boolean, Char, Byte dan Word ).
Sedangkan tipe — tipe data yang kompleks (Real, Array, Record dll ) tidak dapat digunakan didata yang disajikan. Syntax penulisannya :

Case ( Nama variabel ) Of
Pilihan — 1     : Statement — 1;
Pilihan — 2     : Statement — 2;
.
.
.
Pilihan — n     : Statement — n;
Else         : Statement;
End;
Keterangan :  Pilihan dapat berupa barisan yang tiap — tiap elemennya dipisahkan dengan koma ( , ). Juga dapat memiliki range dengan menggunakan simbol dua buah titik ( .. ), yang dapat diartikan sebagai hingga.
Case Pilih Of
‘1’    : Write (‘Pilihannya angka 1 ‘);
‘a’,’A’ : Write (Pilihannya a atau A’);
‘b;..’z’ : Write (Pilihannya diantara b hingga z’);
else     : Write (Pilihannya salah’);
end;
Latihan — Latihan Program
Program Alternatif_Kondisi;
Uses Crt;
(**************************************
*        Contoh Perintah Case Of         *
***************************************)
Var
Pilih    : Char;
Begin
Clrscr;
Writeln(‘Menu Pilihan’);
Writeln(‘[A] P    ilihan Satu’);
Writeln(‘[B] Pilihan Dua’);
Writeln(‘[C] Pilihan Tiga’);
Writeln(‘[D] Pilihan Empat’);
Writeln(‘[0..9] Pilihan Angka’);
Writeln(‘[Esc] Pilihan Tombol Escape’);
Writeln;
Write(‘Pilihan anda : ‘);Pilih :=readkey;
Case Pilih Of
‘A’,’a’    : Writeln(‘Pilihan Satu dipilih,yaitu huruf’,Pilih);
‘B’,’b’    : Writeln(‘Pilihan Dua dipilih,yaitu huruf’,Pilih);
‘C’,’c’    : Writeln(‘Pilihan Tiga dipilih,yaitu huruf’,Pilih);
‘D’,’d’    : Writeln(‘Pilihan Empat dipilih,yaitu huruf’,Pilih);
‘0’,’9’    : Writeln(‘Pilihan Satu dipilih,yaitu angka’,Pilih);
#27    : Writeln(‘Tombol Escape yang dipilih’);
else Writeln(‘Salah memilih’);
End;
Writeln(‘Tekan < enter > ‘);
Readln;
End.
Program Garment_Jaket;
Uses Crt;
Var
Ukuran        : Char;
Nama_Jaket    :String;
Banyak     : Integer;
Harga,Jumlah    :Real;
Begin
Clrscr;
Writeln(‘    Program Pembayaran Jaket    ‘);
Write(‘Nama Jaket            : ‘);Readln(Nama_jaket);
Write(‘Ukuran Jaket S/ M /L        : ‘);Readln(Ukuran);
Case Ukuran of
‘S’    : Harga :=25000;
‘M’    : Harga :=35000;
‘L’    : Harga :=50000;
end;
Write(‘Banyak Jaket            : ‘);Readln(Banyak);
Jumlah := Harga * Banyak;
Writeln;
Writeln;
Writeln(‘Jumlah yang harus dibayar = Rp.’Jumlah:8:0);
Readln;
End.
Kasus :
Buatlah program untuk menghitung Upag karyawan dengan mengunakan perintah case of. Dengan ketentuan Nik, Nama Karyawan, Alamat Karyawan, Golongan, Jam Kerja.
Jika Gol = 1 uang Harian = 20000 dan Uang Lembur = 10000
Jika Gol = 2 uang Harian = 15000 dan Uang Lembur = 7500
Jika Gol = 3 uang Harian = 10000 dan Uang Lembur = 5000
Uang Lembur dihitung bila jam kerjanya lebih dari 8 jam.
Lembur adalah jam kerja dikurangi 8 kali Uang Lembur.
Tunjangan adalah 15% Uang Harian. Upah cari sendiri.
Output :
===================================
Upah Karyawan
===================================
Nik                :
Nama Karyawan        :
Alamat Karyawan        :
Golongan            :
Uang Harian            :
Jam Kerja            :
Lembur            :
Tunjangan Upah Total    :
====================================

 

Soal Latihan Pengenalan Bahasa Pascal dalam Bentuk PDF…

Latihan Soal 1

Latihan Soal 2

Latihan Soal 3

Selamat Belajar!!!