Anda di halaman 1dari 20

SELEKSI KONDISI

SELEKSI KONDISI

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

A. PENDAHULUAN

Seperti telah kita bahas dalam Materi Logika dan Algoritma dimana Struktur Algoritma
ada 3 bentuk struktur, maka dalam dunia pemrogramanpun ada 3 bentuk alur program,
yaitu :

 Alur Berurutan / Sequential;


Semua perintah / instruksi yang kita tuliskan / berikan, semuanya akan di-
eksekusi secara berurutan dari awal sampai akhir

 Alur Seleksi Kondisi / Pengambilan Keputusan;


Ada kemungkinan sebagian dari perintah / instruksi yang kita tuliskan / berikan,
tidak akan di-eksekusi oleh komputer. Hal ini dikarenakan di dalam program kita
ada bentuk percabangan

 Alur Pengulangan / Looping


Ada kemungkinan sebagian dari perintah / instruksi yang kita tuliskan / berikan,
akan di-eksekusi oleh komputer berulang-ulang. Hal ini dikarenakan di dalam
program kita ada bentuk / perintah untuk mengulangi

Dalam kenyataan sehari-hari, untuk sebuah program yang paling sederhana biasanya
sudah cukup menggunakan Alur Berurutan / Sequential, tapi dalam kenyataannya tidak
sedikit kasus yang kita jumpai, kasusnya sedikit lebih komplek dan biasanya program yang
dibuat harus menggunakan minimal dua bentuk alur diatas (kombinasi) atau bahkan akan
menggunakan 3 bentuk alur diatas untuk beberapa kasus yang sangat komplek.

Contoh mungkin kita pernah menjumpai pernyataan kalau nilai akhir lebih besar atau
sama dengan KKM maka siswa tersebut dinyatakan tuntas untuk mata pelajaran
tersebut. Atau mungkin kita pernah mendengar pernyataan kalau total pembelian suatu
produk minimum mencapai harga tertentu maka akan mendapatkan discount sekian
persen untuk pembelian produk tersebut. Terakhir mungkin anda pernah mengalaminya
sendiri untuk pembayaran harga sewa kamar hotel yang nilai harganya cukup bervariasi
tergantung dari jenis kamar yang kita pilih. Itulah contoh-contoh kasus dalam kehidupan
kita sehari-hari.

Pengertian Seleksi Kondisi disini adalah sebuah proses untuk menentukan langkah
berikutnya berdasarkan proses yang terjadi sebelumnya. Seleksi kondisi ini sangat
penting dalam pemrograman sebab dengan adanya seleksi kondisi, program dapat
menentukan proses apa yang harus dilakukan selanjutnya berdasarkan keadaan

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

sebelumnya. Sehingga nampak seolah-olah program dapat berpikir dan mengambil


keputusan. Disinilah letak kekurangan komputer yaitu tidak mampu berpikir sendiri,
semua hal yang dilakukan adalah berdasarkan perintah.

Dalam Pascal ada dua macam perintah untuk seleksi kondisi, yaitu statement :

IF Statement....
CASE Statement.....

B. IF STATEMENT

Pernyataan IF statement adalah salah satu jenis perintah untuk seleksi kondisi yang
banyak digunakan. Cara kerja pernyataan IF adalah dengan cara bertanya satu-persatu
sampai suatu kondisi terpenuhi.

Secara umum bentuk pernyataan IF ada tiga macam bentuk, yaitu :


 If .... Then ..... Statement
 If .... Then ..... Else ...... Statement
 If Bersarang (Nested IF)

IF .... THEN .... Statement

Pilihan statement IF ini digunakan kalau dalam kasus/masalahnya hanya ada dua pilihan
(opsi) saja.

Bentuk Penulisan Perintah :


IF [kondisi] THEN [Statement];
Atau
IF [kondisi] THEN
begin
[Statement];
[Statement];
[Statement];
end;

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Contoh Kasus :

Buatlah sebuah program yang dapat digunakan untuk menghitung Ketuntasan Peserta
Didik Terhadap Mata Pelajaran Tertentu Dengan Ketentuan sebagai berikut :

INPUT:
Nama Siswa, Nama Mapel, Nilai Ulangan Harian dan Tugas, Nilai UTS dan Nilai UAS

PROSES:
o Nilai Akhir = 70% Nilai Ulangan Harian dan Tugas + 15% Nilai UTS + 15% Nilai UAS
o Nilai KKM Untuk Semua Mapel Adalah 75
o Jika Nilai Akhir Siswa Lebih Besar Atau Sama Dengan 75, Maka Tampilkan
Keterangan TUNTAS bila tidak "TIDAK TUNTAS"

OUTPUT:
Nilai Akhir dan Keterangan

Penyelesaian :

Perhatikan dan Amati Contoh Program Dan Output Di Bawah Ini !!! :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Hasil Bila Program Dijalankan (Running) :

Coba Perhatikan Bagian Di Bawah Ini :

Potongan program seperti di atas ini mengandung arti bahwa program akan menganggap
bahwa semua Siswa akan dinyatakan 'TIDAK TUNTAS' dulu semua, baru kemudian akan
disaring ulang untuk Siswa yang nilai akhirnya lebih besar atau sama dengan 75 maka
keterangannya akan diganti menjadi 'TUNTAS'.

Contoh Program diatas dapat pula kita tulis menjadi seperti gambar di bawah ini :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Potongan Program seperti ini mengandung arti bahwa program akan menganggap bahwa
semua Siswa akan dinyatakan 'TUNTAS' dulu semua, baru kemudian akan disaring ulang
untuk Siswa yang nilai akhirnya lebih kecil dari 75 maka keterangannya akan diganti
menjadi 'TIDAK TUNTAS'.

Kedua gambar potongan program di atas, apabila program di jalankan akan menghasilkan
output yang sama !!!

Studi Kasus
Sebuah Swalayan Multi Nasional Terkemuka di Jayapura, Sedang mengadakan promo
dalam rangka hari HUT Swalayan tersebut, yaitu dengan memberikan Discount Sebesar
5% Bagi Semua Customer/Pelanggan. Khusus Untuk Customer/Pelanggan Yang Total
Pembeliannya diatas Rp. 3.000.000,- Akan Mendapatkan Discount Sebesar 10 % dan
Sebuah Souvenir Menarik Yang Bisa Dibawa Pulang. Ketentuan yang berlaku sebagai
berikut :
INPUT: Nama Customer, Total Pembelian
PROSES:
o Bagi Setiap Customer Akan Mendapatkan Discount Sebesar 5%
o Khusus untuk Customer yang Total Pembelian diatas Rp. 3.000.000,-, Maka akan
mendapatkan Discount sebesar 10% dan Souvenir Menarik dari Swalayan
tersebut.
OUTPUT: Nilai Discount, Total Pembelian Bersih dan Keterangan Dapat Souvenir atau
Tidak

Perhatikan dan Amati Contoh Program Dan Output Di Bawah Ini !!! :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Hasil Bila Program ini dijalankan :

Coba Perhatikan Bagian Di Bawah Ini :

Contoh Program diatas dapat pula kita tulis menjadi seperti gambar di bawah ini :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Sebuah Lembaga Kursus Yang Baru Di Buka Di Jayapura, Membutuhkan Program


Untuk Menghitung BiayaBersih Yang Harus Dibayar Oleh Calon Peserta Kursus,
Dengan Ketentuan Sebagai Berikut :

INPUT : NAMA PESERTA, KODE KURSUS, dan NILAI TES MASUK

PROSES :
o Kode Kursus Nama Kursus Biaya Pendaftaran
PSC-001 Pemrograman Pascal Rp. 3.000.000,-
BRT-002 Brevet A / B Rp. 2.000.000,-
o Jika Nilai Test Masuk > 85 Akan Mendapatkan Discount Sebesar 20% Dari Biaya
Pendaftaran
o Biaya Bersih = Biaya Pendaftaran - Discount

OUTPUT : NAMA KURSUS, BIAYA PENDAFTARAN, DISCOUNT dan BIAYA BERSIH

(Lebih Jelas Silahkan Perhatikan Menu Praktikum)

IF .... THEN .... ELSE ..... Statement

Bentuk penulisan perintah di atas adalah salah satu alternatif yang bisa kita pilih untuk
menyelesaikan suatu masalah yang hanya mempunyai dua opsi pilihan saja. Bentuk
penulisan di atas mempunyai arti bahwa semua data akan diperlakukan sama dahulu,
setelah itu data baru akan disaring/dipilih sesuai dengan ketentuan yang dibuat untuk
selanjutnya di proses.

Ada bentuk penulisan yang berbeda dengan di atas, dimana data yang masuk sebelum di
proses selanjutnya akan disaring/dipilih dan dipisahkan sesuai dengan ketentuan yang
berlaku untuk selanjutnya di proses. Untuk keperluan tersebut di atas maka bentuk
penulisan perintah IF Statement akan menjadi :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Bentuk Penulisan Perintah :

IF [kondisi] THEN
[Statement]
ELSE
[Statement];
Atau
IF [kondisi] THEN
[Statement]
ELSE
begin
[Statement];
[Statement];
end;
Atau
IF [kondisi] THEN
begin
[Statement];
[Statement];
end
ELSE
[Statement];
Atau
IF [kondisi] THEN
begin
[Statement];
[Statement];
end
ELSE
begin
[Statement];
[Statement];
end;

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Contoh Kasus :

Sama seperti contoh kasus pertama di atas !!!

Dapat dirubah menjadi :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Studi Kasus

Sama seperti contoh kasus kedua di atas !!!

Dapat dirubah menjadi :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Sebuah Perusahan Swasta Yang Sedang Berkembang Pesat Di Kota Jayapura,


Membutuhkan Sebuah Program/Aplikasi Yang Dapat Digunakan Untuk Menghitung
Gaji Para Karyawannya Untuk Setiap Bulannya. Anda Sebagai Seorang Programmer
Diminta Untuk Membuatkan Aplikasi Tersebut Dengan Ketentuan Sebagai Berikut :

INPUT :
NAMA KARYAWAN, KODE JABATAN, STATUS PERKAWINAN, JUMLAH ANAK

PROSES :

o Kode Nama Jabatan Gaji Pokok Tunjangan Tunjangan Kesehatan


Jabatan Jabatan
M Manager Rp. 4.500.000,- 10% dari GAPOK 7 % dari Gapok
S Staff Rp. 2.500.000.- 5% dari GAPOK 3 % dari Gapok

o Jika Karyawan Tersebut Statusnya Sudah Menikah Maka Akan Mendapatkan Tunjangan
Istri Sebesar 5% dari GAPOK
o Setiap Anak Akan Mendapatkan Tunjangan Sebesar 5% dari GAPOK, dan Jumlah
Maksimum Anak Yang Mendapatkan Tunjangan Anak Tersebut Adalah 3 Anak.
o Setiap Karyawan yang total gaji pokok ditambah tunjangan-tunjangan (Gaji Kotor)
Di Atas Rp. 5.000.000,- Akan Dikenakan Pajak Sebesar 10% dari GATOR.
o Hitunglah Gaji Bersih Setiap Karyawan.

Silahkan Buka Menu PRAKTIKUM !!!

IF BERSARANG Statement

Dalam kehidupan nyata sehari-hari, pilihan yang ada tidak selalu hanya ada dua pilihan
saja, seperti YA / TIDAK, LAKI-LAKI / PEREMPUAN, LULUS / GAGAL dan lain sebagainya.
Ada kalanya kita akan dihadapkan oleh suatu masalah/kasus yang opsi pilihannya bisa
lebih dari 2, misalkan Anda diminta untuk menghitung jumlah penduduk di suatu
Kelurahan / Kecamatan berdasarkan Agama ( Ada 5 pilihan/opsi sesuai dengan UU,
Agama yang diakui di Indonesia ), contoh lain Anda diminta untuk membuat program
yang bisa digunakan Billing Tagihan ke Customer Suatu Hotel Berbintang ( Bisa lebih dari
2 pilihan/opsi, sesuai dengan jumlah tipe/jenis kamar yang disediakan oleh Hotel
tersebut ), atau Anda diminta untuk membuat program untuk mengkonversikan nilai
angka menjadi nilai huruf (grade A - E).

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Untuk kasus-kasus seperti diatas dapat diselesaikan dengan Pascal dengan menggunakan
metode IF BERSARANG, dengan sintak penulisan perintahnya adalah :

Bentuk Penulisan Perintah :


IF [kondisi 1] THEN
[Statement]
ELSE IF [kondidi 2] THEN
[Statement]
ELSE IF [kondidi n] THEN
[Statement]
ELSE
[Statement];
Atau
IF [kondisi 1] THEN
[Statement]
ELSE IF [kondisi 2] THEN
begin
[Statement];
[Statement];
[Statement];
end;
ELSE IF [kondisi n] THEN
[Statement]
ELSE
begin
[Statement];
[Statement];
[Statement];
end;

Contoh Kasus :

Buatlah Program yang dapat digunakan untuk mengkonversikan nilai akhir angka menjadi
nilai akhir huruf (GRADE) Dengan ketentuan sebagai berikut :

INPUT :
Nama Siswa, Nama Mapel, Nilai Ulangan & Tugas, Nilai UTS dan Nilai UAS

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

PROSES :
o NA = 60% * Nilai Ulangan & Tugas + 20% * Nilai UTS + 20% * Nilai UAS
o NA Grade
0 - 45 E
46 - 55 D
56 - 75 C
76 - 85 B
86 - 100 A

OUTPUT : Nilai Akhir dan Grade

SOURCE CODE :

Bentuk program diatas mempunyai nilai positif yaitu anda dapat menuliskan perintah if
dalam keadaan dibolak-balik, tetapi mempunyai nilai negatif program kita terlihat
menjadi lebih panjang, perhatikan gambar Source Program di bawah ini :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Ada alternatif lain yang dapat digunakan untuk lebih menyederhanakan penulisan
program diatas yaitu dengan penulisan program tanpa menggunakan perintah AND.
Kelemahan dari alternatif ini adalah perintah IF tidak bisa dibolak-balik. Perhatikan
potongan Program di bawah ini :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

STUDI KASUS 2 :
Sebuah Perusahan Swasta Yang Sedang Berkembang Pesat Di Kota Jayapura,
Membutuhkan Sebuah Program/Aplikasi Yang Dapat Digunakan Untuk Menghitung Gaji
Para Karyawannya Untuk Setiap Bulannya. Anda Sebagai Seorang Programmer Diminta
Untuk Membuatkan Aplikasi Tersebut Dengan Ketentuan Sebagai Berikut :

INPUT :
NAMA KARYAWAN, KODE JABATAN, STATUS PERKAWINAN, JUMLAH ANAK

PROSES :
o Kode Nama Jabatan Gaji Pokok Tunjangan Tunjangan
Jabatan Jabatan Kesehatan
M Manager Rp. 4.500.000,- 10% GAPOK 7 % GAPOK
S Supervisor Rp. 3.300.000.- 5% GAPOK 3 % GAPOK
F Staff Rp. 2.600.000,- 3% GAPOK 3 % GAPOK
o Jika Karyawan Tersebut Statusnya Sudah Menikah Maka Akan Mendapatkan
Tunjangan Istri Sebesar 5% dari GAPOK
o Setiap Anak Akan Mendapatkan Tunjangan Sebesar 5% dari GAPOK, dan Jumlah
Maksimum Anak Yang Mendapatkan Tunjangan Anak Tersebut Adalah 3 Anak.
o Setiap Karyawan yang total gaji pokok ditambah tunjangan-tunjangan (Gaji Kotor)
Di Atas Rp. 5.000.000,- Akan Dikenakan Pajak Sebesar 10% dari GATOR.
o Hitunglah Gaji Bersih Setiap Karyawan.

OUTPUT :
Nama Jabatan, Gaji Pokok, Tunjangan Jabatan, Tunjangan Kesehatan, Tunjangan Istri,
Tunjangan Anak, Gaji Kotor, Pajak dan Gaji Bersih.

SOURCE PROGRAM :

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Sebuah Rumah Sakit Swasta Baru Dan Sedang Berkembang Pesat Di Kota Jayapura,
Membutuhkan Sebuah Program Yang Dapat Digunakan Untuk Menghitung Biaya Yang
Harus Dibayarkan Oleh Pasien Yang Melakukan Perawatan Rawat Inap Di Ruma Sakit
Tersebut.Ketentuan Yang Berlaku Adalah :

INPUT : NAMA PASIEN, TIPE KAMAR, LAMA INAP

PROSES :
o Tipe Kamar Biaya Kamar Kunjungan Dokter Layanan Suster
(Hari) (Hari) (Hari)
VIP Rp. 200.000,- Rp. 75.000,- Rp. 25.000,-
I Rp. 150.000,- Rp. 75.000,- Rp. 25.000,-
II Rp. 100.000,- Rp. 50.000,- Rp. 20.000,-
III Rp. 75.000,- Rp. 35.000,- Rp. 15.000,-

o BIAYA KOTOR Adalah Akumulasi Dari Biaya Kamar, Biaya Kunjungan Dokter dan
Biaya Layanan Suster
o Setiap Transaksi Akan Dikenakan Pajak Sebesar 10 % dari Biaya Kotor
o BIAYA BERSIH Adalah Biaya Kotor Ditambah Pajak

OUTPUT :

BIAYA KAMAR, BIAYA KUNJUNGAN DOKTER, BIAYA LAYANAN SUSTER, BIAYA KOTOR,
PAJAK dan BIAYA BERSIH

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

C. CASE Statement
Selain menggunakan IF Statement untuk pengambilan keputusan, ada perintah lain yang
dapat kita gunakan yaitu dengan CASE Statement. Pada hakekatnya perintah IF dan CASE
adalah sama yang digunakan untuk pengambilan keputusan, perbedaanya terletak pada
cara pengeksekusiannya, jika IF Statement itu artinya kita menyuruh komputer untuk
bertanya untuk memilih yang cocok, sedangkan CASE Statement artinya kita menyuruh
komputer untuk langsung memilih.

Bentuk Penulisan Perintah :


CASE <variabel> OF
nilai variabel 1 : STATEMENT;
nilai variabel 2 : STATEMENT;
nilai variabel n : STATEMENT;
[ else : STATEMENT; ]
end;
Atau
CASE <variabel> OF
nilai variabel 1 : begin
STATEMENT;
STATEMENT;
STATEMENT;
End;
nilai variabel 2 : begin
STATEMENT;
STATEMENT;
STATEMENT;
End;
nilai variabel n : begin
STATEMENT;
STATEMENT;
STATEMENT;
End;
[ else : begin
STATEMENT;
STATEMENT;
STATEMENT;
End; ]
end;

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Perlu diingatkan tidak semua masalah yang dapat diselesaikan dengan menggunakan
perintah IF dapat diselesaikan dengan perintah CASE.

Contoh Kasus :

Buatlah program untuk dapat mengetahui jenis tombol yang dimasukkan oleh user !

Catatan :

Beberapa kelemahan dari CASE STATEMENT


o Tipe Variabel Bilangan Pecahan tidak dapat digunakan;
o Operator Yang berlaku dalam CASE Statement adalah '=' ( Sama Dengan )
o Nilai yang mempunyai batasan awal dan batasan akhir dapat menggunakan CASE
Statement, Tetapi nilai yang hanya mempunyai batasan awal saja atau batasan
akhir saja tidak dapat menggunakan CASE Statement.

Editor : UMB. Hamonangan Simanjuntak, S.Kom


SELEKSI KONDISI

Sebuah Perusahaan Baru dan Sedang Berkembang PesatDi Kota Jayapur, Yang Bergerak
Dalam Bidang Jasa Otomatif (Sewa Mobil), Membutuhkan Sebuah Aplikasi Yang Dapat
Digunakan Untuk Menghitung Biaya Sewa Mobil Dari Para Pelanggannya. Dengan
Ketentuan Sebagai Berikut :

INPUT : NAMA PELANGGAN, TIPE MOBIL, LAMA SEWA, Pakai SUPIR [Y/T]

PROSES :

 Type Mobil Nama Mobil Biaya Sewa / Jam


AG AGYA Rp. 75.000,-
AY AYLA Rp. 75.000,-
BR BRIO Rp. 75.000-
XN XENIA Rp. 90.000,-
AV AVANZA Rp. 110.000,-
IV INOVA Rp. 125.000,-
HD HONDA CR-V Rp. 150.000,-

 Total Biaya Sewa = Biaya Sewa / Jam * Lama Sewa


 Apabila Pelanggan Menyewa Mobil Diatas 6 Jam, Maka akan Mendapatkan
Potongan Sebesar 15% dari Total Biaya Sewa
 Apabila Pelanggan Menggunakan Supir Maka Akan Dikenakan Biaya Tambahan,
yaitu JASA SUPIR Sebesar Rp. 100.000,-
 BIAYA SEWA BERSIH Adal ah Total Biaya Sewa + Jasa Supir - Potongan

Editor : UMB. Hamonangan Simanjuntak, S.Kom

Anda mungkin juga menyukai