A. Apa itu seleksi kondisi.
Seleksi Kondisi adalah program untuk memilih pernyataan
dalam beberapa kasus, tergantung dari kondisi yang akan dikerjakan, didalam
penyeleksian kondisi pada pascal maupun Delphi.
B.Bentuk – bentuk seleksi kondisi.
Bentuk Seleksi Kondisi di bagi menjadi 2 yaitu;
If – Then – Else
Case – of
1. If – Then – Else
Digunakan untuk menjalankan suatu pernyataan atau satu blok
pernyataan, tergantung pada nilai yang diuji. Bentuk umumnya adalah :
If then ;
atau
If then else ;
Kondisi adalah suatu ekspresi logika atau berupa syarat
percabangan. Perintah If akan meguji ekspresi logika tersebut. Jika kondisi
bernilai True maka akan mengerjakan pernyataan1, jika bernilai False maka akan
mengerjakan pernyataan2.
2. Case – of
Percabangan case-of digunakan untuk menyederhanakan
penggunaan if-then-else yang terlalu panjang. Biasanya case-of baru digunakan
bila kondisi yang dihadapi lebih dari dua macam. Bentuk umunya adalah:
Case of
: ;
: ;
…..
…..
: ;
end;
atau dapat ditulis dengan nilai default (nilai dasar tidak
ada pilihan yang cocok):
Case of
: ;
: ;
…..
…..
: ;
Else
;
end;
C. Penulisan seleksi kondisi di algoritma
Pada algoritma runtunan telah kita lihat bahwa setiap aksi
atau perintah selalu dilakukan bila telah sampai gilirannya. Namun demikian ada
kalanya suatu aksi hanya bisa dilakukan bila memenuhi suatu kondisi atau
persyaratan tertentu. Algoritma ini kita sebut dengan penulisan algoritma
seleksi kondisi atau juga percabangan.
Contoh. Misalnya kita ingin menentukan apakah suatu bilangan
merupakan bilangan genap atau ganjil. Algoritmanya dapat kita jabarkan seperti
berikut ini
1. Mulai
2. Masukkan satu bilangan (X)
3. jika X habis dibagi dua maka lanjut ke 4. Jika tidak
lanjut ke 5
4. tulis ‘X bilangan genap’. Lanjut ke 6.
5. tulis ‘X bilangan ganjil’
6. Selesai
Perhatikan bahwa ada dua kemungkinan perintah yang akan
dikerjakan setelah perintah ke-3 dikerjakan. Jika X habis dibagi dua maka
selanjutnya perintah ke-4 yang dikerjakan, kemudian melompat ke 6 (perintah 5
tidak dikerjakan). Sebaliknya jika X tidak habis dibagi dua perintah
selanjutnya melompat ke-5 (perintah 4 tidak dikerjakan) dan kemudian berakhir
pada perintah ke-6.
Ada dua tipe algoritma percabangan ;
- Satu kondisi ( If – Then – Else )
- Dua kondisi (Case – of )
D. Penulisan seleksi kondisi di Delphi atau pascal
1. if….then….else
Bentuk umum stratemen if
if [kondisi] then
begin
pernyataan1
end
else
begin
pernyataan2
end;
contoh Program :
program Project1;
{$APPTYPE CONSOLE}
var bil:integer;
begin
write('Masukan Bilangan:');readln(bil);
if(bil<0)then
writeln('Bilangan Negatif')
else if(bil>0)then
writeln('Bilangan Positif')
else
writeln('Bilangan Nol');
{ TODO -oUser -cConsole Main : Insert code here }
readln;
end.
2. case…of
Bentuk umum stratemen case
Nama hapus bertipe byte, word, integer, longer, shortint,
atau chas kecuali real atau string.
Case (nama) of
: begin
aksi 1 ;
end ;
: begin
aksi 2 ;
end ;
End;
contoh Program :
program Project1;
{$APPTYPE CONSOLE}
var
kdhr:char;
begin
write('Masukan Kode Hari:');readln(kdhr);
writeln;
case kdhr of
'1':writeln('Hari Senin');
'2':writeln('Hari Selasa');
'3':writeln('Hari Rabu');
'4':writeln('Hari Kamis');
'5':writeln('Hari Jumat');
'6':writeln('Hari Sabtu');
'7': writeln('HariMinggu');
end;
readln;
end.
E. Cara Kerja Seleksi Kondisi
Cara dalam menggunakan Seleksi kondisi kita dapat
menggunakan IF ataupun Case.
contoh soal :
1. Buatlah listing Program untuk mencari uang lembur pegawai
dengan ketentuan sbb:
a. uang lembur sebesar Rp. 5000 /jam.
b. bila jam kerja lebih dari 7 jam maka sisa jam kerja
dianggap lembur.
c. bila jam kerja bukan diatas 7 jam, maka tidak dapat
lembur.
listing programnya yakni :
program Gaji_lembur;
uses crt;
const
ul = 5000;
jk = 7;
var
upl :real;
jml,jl : integer;
nama, alamat : string;
begin
clrscr;
gotoXY(20,2);
writeln('--------------------------------------------);
gotoXY(20,4); writeln(' Menghitung Upah Lembur pegawai ');
gotoXY(20,6);
writeln('----------------------------------------- --');
gotoXY(20,8); write ('Nama pegawai :'); readln(nama);
gotoXY(20,10); write('Alamat :'); readln(alamat);
gotoXY(20,12); write('Jumlah Jam Lembur :'); readln(jml);
IF jml >= jk Then
begin
jl :=jml - jk;
end
else
begin
jl :=0;
end;
gotoXY(20,14);
writeln(' Upah lembur Pegawai :',upl);
gotoXY(20,16);
writeln('-------------------------------------- );
readln;
end.
apabila listing program dijalankan maka akan tampil :
2. inputkan nilai uts, uas, nilai tugas dan quiz trus cari
nilai akhir mahasiswa apabila nilai akhir nya = tugas + quiz + uts + uas /4, pa
bila nilai akhirnya d >= 85 maka gradenya A, >= 75 adalah B, >=65
adalah C, >=55 adalah D, <>
Program nilai_mahasisa;
uses crt;
var
uts,uas,tugas,quis :integer;
nm,kls,jur :string;
grade : char;
na:real;
begin
clrscr;
writeln('*******************************);
writeln('Nilai mahasisa);
writeln('******************************');
write('nama :');realdln(nm);
write('kelas :');realdln(kelas);
write('jurusan :');realdn(jur);
writeln('-----------------------------');
write('tugas:');readln(tugas);
write('quiz:');readln(quis);
write('uts:');readln(uts);
write('uas:');readln(uas);
writeln('----------------------------');
na:=(tugas + quis + uts + uas )/4;
writeln('nilai akhir :',na);
if na >=85 then
begin
grade :='A';
end
else if na >=75
then
begin
grade :='B';
end
else if na >=65
then
begin
grade :='C';
end
else if na >=55
then
begin
grade :='D';
end
else
begin
grade :=E');
end;
writeln(' grade
:',grade);
readln;
end.
bila program ini di jalankan akan menampilkan sbb :
Semoga saja bisa membantu anda bagaimana cara kerja seleksi
kondisii
F. Operator Relasional
perator relasional adalah operator yang digunakan untuk
membandingkan dua buah nilai dan menghasilkan nilai berupa True (benar) atau
False (salah). Operator-operator yang dapat digunakan dapat dilihat pada tabel
di bawah ini.
Operator
Operasi
>
Lebih dari
<
Kurang dari
>=
Lebih besar atau Sama dengan
<=
Lebih kecil atau Sama dengan
<>
Tidak sama deengan
=
Samaa dengan
Operator relasional melambangkan hubungan antara dua entita
(kemungkinan).
Nilai dari hubungan tersebut adalah TRUE berupa angka 1 atau
FALSE yang berupa angka 0
Contoh :
5 > 3 (bernilai benar (TRUE))
6 < 2 (bernilai salah (FALSE))