AhmadDahlan.NET – Program Percabangan di Pascal bisa dilakukan dengan perintah dasar if then else
. Struktur algoritma ini membuat mesin melakukan perintah sesuai dengan syarat (conditional) yang ditentukan oleh programer sebelumnya.
Contoh penggunaan dari struktur alogritma ini dalam kehidupan nyata misalkan :
- Bantuan Langsung Tunai diberikan pada orang dengan penghasilan kurang dari 2.000.000 Rupiah sebulan.
- Jika lebih maka tidak diberikan.
Instrumen ini akan digunakan untuk menentukan apakah sebuah keluarga diberi bantuan atau tidak. Misalkan saja kita ke keluarga A, pengahsilkanya 3.000.000 Rupiah satu bulan maka output dari instrumen adalah informasi “Tidak diberikan bantuan langsung tunai”.
Kasus diatas tentu saja adalah kasus sederhana dimana jauh lebih mudah dilakukan tanpa bantuan Algoritma. Namun bagaimana jika syarat yang diajukan lebih banyak. Misalnya begini bantuan akan diberikan kepada orang dengan kriteria :
- Penghasilan Rp 2.000.000,- untuk yang memiliki anak kurang dari 2 dan belum belum memiliki rumah
- Penghasilan Rp. 3.000.000,- untuk yang memiliki anak lebih dari 4 dan atau sudah memiliki rumah.
- Penghasilan Rp. 2.000.000,- untuk yang belum belum punya anak dan belum memiliki rumah sendiri.
- Penghasilan Rp. 4.000.000,- bagi yang sudah punya anak lebih dari 4, tidak memiliki rumah dan menanggung utang dengan ansurang 1.000.000,- per bulan.
Nah semakin banyak syarat yang diajukan maka semakin ribet dilakukan pengambilan keputusan. Pengambilan keputusan ini akan juah lebih mudah jika dibantu dengan mesin. Hanya saja mesin tidak memiliki kapasitas untuk mengambil keputusan sendiri harus diarahkan terlebih dahulu.
Daftar Isi
A. Sintaks If Then Else
Struktur sintaks if then else
dalam bahasa pemrograman secara umum dapat ditulis sebagai berikut :
if (kondisi) then
begin
(statement 1)
end
else
begin
(statement 1)
end;
Sinstak Pseudocode di atas juga dapat digambarkan dalam bentuk Flowchart sebagai berikut :
Contoh Program If Then
program IfThen;
var
bil : integer;
begin
write ('Masukan Bilangan: ');
read(bil);
if (bil<10) then
writeln ('Bilangan kurang dari 10');
end.
Program di atas disusun untuk menentukan apakah sebuah bilangan kurang dari 10 namuan tidak untuk bilangan yang lebih dari 10. Jika bilangan yang masukkan < 10 maka hasilnya akan sebagai berikut :
Namun jika bilangan yang dimasukkan lebih dari 10 maka tidak ada hasil yang ditunjukkan.
Hal ini terjadi karena kita tidak memberikan informasi kepada program untuk melakukan perintah eksekusi jika syarat tidak terpenuhi.
A. If Then Else
Agar masalah syarat yang tidak terpenuhi dapat diselesaikan maka penambahan sintaks else
harus dilakukan. Sederhananya program ini digunakan untuk memberikan perintah kepada mesin untuk mengeksekusi masukan berdasarkan dua hal yakni jika ya (true) dan jika tidak (false).
program IfThenElse;
var
bil : integer;
begin
write ('Masukan Bilangan : ');read(bil);
if (bil mod 2 = 0) then
begin
writeln ('Bilangan Genap');
end
else
begin writeln ('Bilangan Ganjil');
end;
end.
Perhatikan kata else ini menunjukkan perintah yang harus dieksekusi jika syarat yang diberikan tidak terpenuhi.
Contoh lain sebagai berikut :
program struktur_if_then_else;
uses crt;
var
angka: integer;
begin
clrscr;
angka := 4;
if (angka > 5) then
begin
writeln('Variabel "angka" lebih besar dari 5');
end
else
begin
writeln('Variabel "angka" lebih kecil dari 5');
end;
readln;
end.
B. Kegagalan Algoritma
Potensi kegagalan algortima bukanlah kesalahan sintaks yang dituliskan melainkan kegagalan programer menyusun algoritma sesuai dengan kebutuhan mereka akan tetapi sintaksnya sudah benar. Hal ini membuat code program berjalan namun tidak sesuai dengan kebutuhan.
Misalkan kita diminta menyusun sebuah program konversi nilai dengan kriteria nilai sebagai berikut :
- Nila A : 9 ~ 10
- Nilai B : 8 ~ 9
- Nilai C : 6 ~ 8
- Nilai D : 4 ~ 6
- Nilai E : 0 ~ 4
Dari keterangan tersebut kita kemudian membuat urutan program di Pascal dengan kriteria berikut :
- write E if score > 0
- write D if score > 4
- write C if score > 6
- write B if score > 8
- write A if score > 9
Jika perintah ini dieksekusi maka hasilnya tidak akan pernah menunjukkan hasil lain selain E. Misalkan yang dimasukkan nilai 3, maka skora yang dikelaurkan sudah benar yakni E, karena adalah rentang 0 ~ 4. Namun jika yang dimasukkan adalah 5, maka yang keluar dari perintah mesin tetap E bukan D.
Penyebabnya karena 5 > 0 sehingga menganggap syarat pertama sudah terpenuhi sehingga langsung eksekusi perintah yang pertama saja.
Agar hasil yang ditunjukkan oleh mesin sama seperti harapan maka yang dimasukkan harusnya sebagai berikut !
- write E if score < 0
- write D if score < 4
- write C if score < 6
- write B if score < 8
- else write A
atau alternatifnya bisa dilakukan sebagai berikut !
- write A if score >= 9
- write B if score >= 8
- write C if score >= 6
- write D if score >= 4
- else write E
Tugas !
- Buatlah sebuah program yang berisi dua input yakni Akun dan Password. Dimana eksekusi dari program tersebut menyebutkan jika salah pasword maka ada informasi bahwa salah paswords jika benar ada informasi jika anda berhasil logging.