Anda di halaman 1dari 14

BAB I

PENDAHULUAN

A. LATAR BELAKANG
Variabel dan Type Data serta Branching pada Pascal telah kita pelajarari dan praktekkan.
Maka kita akan mempelajari operator lain pada pascal yaitu tentang Looping
(pengulangan). .Perulangan Merupakan control program yang digunakan untuk suatu proses
yang akan berjalan terus menerus. Kondisi perulangan merupakan proses berjalannya
program secara terus menerus dan akan berhenti ketika proses mendapatkan kondisi yang
sudah ditentukan

B. TUJUAN PRAKTIKUM
1. Mahasiswa dapat mengerti dan memahami kegunaan looping.
2. Mahasiswa dapat mengerti dan memahami bentuk dasar looping.
3. Mahasiswa dapat mengerti dan memahami kapan suatu pernyataan looping sebaiknya
digunakan.
4. Mahasiswa mampu menggunakan dan membedakan kegunaan masing-masing
pernyataan looping.
BAB II
PENYELEKSIAN KONDISI DENGAN IF
2.1.Teori
a. Penyeleksian Satu Kasus, dengan menggunakan struktur IF-THEN:
Pada penyeleksian satu kasus, kondisi akan diseleksi oleh statemen if. Bila kondisi
bernilai benar (true), maka aksi sesudah kata then (dapat berupa satu atau lebih aksi)
akan diproses. Bila kondisi bernilai salah (false), maka tidak ada aksi yang akan
dikerjakan. Statemen endif adalah untuk mempertegas bagian awal dan bagian akhir
struktur IF-THEN.
if kondisi then
aksi
Gambar 2.1. Struktur Bahasa Pemrograman Untuk Penyeleksian Satu Kasus (IF-THEN)

b. Penyeleksian Dua Kasus, menggunakan struktur IF-THEN-ELSE:


Dalam struktur IF-THEN-ELSE, aksi1 akan dilaksanakan jika kondisi bernilai benar
(true), dan jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan.
Statemen else menyatakan ingkaran (negation) dari kondisi.
if kondisi then
aksi1
else
aksi2
Gambar 2.2. Struktur Bahasa Pemrograman Untuk Penyeleksian Dua Kasus (IF-THEN-ELSE)

c. Penyeleksian Tiga Kasus atau Lebih (Penyeleksian Tersarang)


Untuk penyeleksian tiga kasus atau lebih juga menggunakan struktur IF-THEN-ELSE
sebagaimana halnya permasalahan dua kasus. struktur penulisan dalam bahasa pascal
dapat dilihat dari Gambar 1.3.
if kondisi1 then
aksi1
else
if kondisi2 then
aksi2
else
aksi3

Gambar 2.3. Struktur Bahasa Pemrograman untuk Penyeleksian Tiga Kasus IF-THEN-ELSE
(tersarang)
2.2.Persyaratan penyeleksian kondisi dengan if

a. Bila kondisi bernilai benar (true), maka aksi sesudah kata then (dapat berupa
satu atau lebih aksi) akan diproses. Bila kondisi bernilai salah (false), maka tidak ada
aksi yang akan dikerjakan
b. Dalam menuliskan pernyataan IF ELSE adalah tidak diperkenankannya
pemakaian tanda titik koma dibelakang pernyataan sebelum ELSE.
c. Pada pernyataan IF ELSE yang mana ”ELSE” artinya ”kalau tidak” maka bila
kondisi bernilai benar, aksi 1akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan
dikerjakan.
d. Kondisi IF harus bernilai boolean
e. Dalam penulisan algoritma, identasi haruslah diperhatikan, karena tanpa
identasi, algoritma menjadi lebih sulit dibaca.

2.3. Contoh program IF dalam bahasa Pascal dan C

Contoh program IF dalam bahasa pascal


program MAKSIMAL;
uses crt;
var a,b,c,maks : real;

begin
clrscr;
write('masukan nilai A : ');readln(A);
write('masukan nilai B : ');readln(B);
write('masukan nilai C : ');readln(C);
if a > b then maks := a
else maks := b;
if c > maks then maks := c
else maks := maks;
writeln('nilai terbesar adalah : ',maks :1:2);
if maks > 0 then writeln('nilai tersebut adalah bilangan positif')
else writeln('nilai tersebut adalah bilangan negatif') ;
readln;
end.
Contoh program IF dalam bahasa C
#include <stdio.h>
#include <conio.h>
main()
{ long int jam, menit,detik,sisa,totaldetik;
printf("masukan total detik "); scanf("%ld\n", &totaldetik);
{ if (totaldetik > 3600)
jam = totaldetik / 3600 ;
else jam = 0;
sisa = totaldetik % 3600 ;
if (sisa > 60 )
menit = sisa / 60;
else menit = 0;
if (menit >= 1)
detik=sisa % 60;
else detik = 0;

2.4. Hal-hal yang membuktikan persyaratan


1. Pembuktian persyaratan A

if a > b then maks := a else maks := b;


if c > maks then maks := c else maks := maks;
writeln('nilai terbesar adalah : ',maks :1:2);
if maks > 0 then writeln('nilai tersebut adalah bilangan positif')
else writeln('nilai tersebut adalah bilangan negatif') ;

Pada contoh diatas, penyelesaian dimulai dari kondisi a>b. Jika kondisi ini bernilai True
(benar), maka proses akan dilanjutkan hingga menghasilkan pernyataan:

writeln('nilai terbesar adalah : ',maks :1:2);


Sekiranya kondisi tersebut bernilai false (salah), IF berikutnya akan diperiksa. Demikian
seterusnya. Kalau semua kondisi if tak ada yang bernilai true dalam artian menurut program
diatas bernilai kurang dari 0, maka pernyataan:

Writeln ('nilai tersebut adalah bilangan


negatif') ;

Keterangan diatas membuktikan persyaratan A yaitu:

”Bila kondisi bernilai benar (true), maka aksi sesudah kata then (dapat berupa satu atau
lebih aksi) akan diproses. Bila kondisi bernilai salah (false), maka tidak ada aksi yang
akan dikerjakan”

2. Pembuktian persyaratan B
Satu hal penting yang perlu diperhatikan dalam menuliskan pernyataan IF ELSE adalah
tidak diperkenankannya pemakaian tanda titik koma di belakang pernyataan sebelum ELSE.
Contoh penulisan yang salah:

if a > b then
maks := a;
else
maks := b;

Kesalahannya yaitu pada pada tanda titik koma yang terletak sesudah ”maks:=a”.
Tanda koma pada posisi tersebut tidak diperbolehkan , pesan kesalahan yang muncul pada
persoalan diatas berupa: ”Error 113: Error in statments”.

Keterangan diatas membuktikan persyaratan B yaitu:


”Dalam menuliskan pernyataan IF ELSE pada pascal adalah tidak diperkenankannya
pemakaian tanda titik koma dibelakang pernyataan sebelum ELSE”.

3. Pembuktian persyaratan C
ELSE” artinya ”kalau tidak” maka bila kondisi bernilai benar, aksi 1 akan dikerjakan,
tetapi kalau tidak, aksi 2 yang akan dikerjakan.
Misalnya pada pernyataan berikut:
if a > b then maks := a
else maks := b;

Jika a lebih besar daripada b maka nilai maksimum adalah a, sebaliknya b lebih besar
daripada a maka nilai maksimum adalah b.
Penjelasan diatas sesuai dengan persyaratan C yaitu:
“Pada pernyataan IF ELSE yang mana ”ELSE” artinya ”kalau tidak” maka bila kondisi
bernilai benar, aksi 1akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan”.
4. Pembuktian persyaratan D
Menganalisis kasus dari suatu masalah adalah menentukan kondisi boolean (bernilai true
atau false) untuk setiap kasus dan menentukan aksi yang dilakukan jika kondisi tersebut
berlaku (memenuhi).
Kondisi boolean adalah ekspresi boolean yang bernilai true atau false bergantung pada
nilai masing-msing oprand yang terlibat didalamnya. Ekspresi boolean dibentuk dengan
mengkombinasikan operand yang bertipe sama dengan salah satu dari operator relasional:
=,<, <, >, >, dan operator uner not.
Contoh dalam program:

if a > b then

Aksi yang dikerjakan bila kondisi boolean dipenuhi dapat berupa pengisian nilai
(assignment), kalkulasi, baca, tulis, dan sebagainya, bergantung pada masalahnya.
Penentuan kondisi boolean dan aksi yang dilakukan bergantung pada jumlah kasus yang
terdapat pada masalah tersebut: satu kasus, dua kasus, atau lebih dari dua kasus.
Pernyataan diatas sesuai dengan persyaratan D yaitu:
“Kondisi IF harus bernilai boolean”

Dalam penulisan algoritma, identasi haruslah diperhatikan, karena tanpa identasi,


algoritma menjadi lebih sulit dibaca.
BAB III
PENYELEKSIAN KONDISI DENGAN CASE
3.1. Teori
Struktur CASE. Struktur ini dapat digunakan untuk menganalisa penyeleksian dua
kasus atau lebih dan bentuknya adalah lebih sederhana daripada struktur IF-THEN-ELSE
yang memiliki bentuk bertingkat-tingkat. Gambar 2.7 memperlihatkan Struktur CASE.
case (nama)
kondisi1 : aksi1
kondisi2 : aksi2
...
kondisiN : aksiN
[otherwise aksiX]

Gambar 3.1. Struktur Bahasa Pemrograman Untuk Seleksi CASE

Kondisi1, kondisi2, … kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa
nilai kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang benar. Jika
kondisi ke-k benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi
yang dipasangkan dengan kondisi ke-k dapat lebih dari satu, karena itu ia berupa runtunan.
Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise (optional)
dikerjakan.

2.2.Persyaratan penyeleksian kondisi dengan CASE

I. Pada CASE terdapat tanda subjangkauan (berupa..) juga dapat digunakan untuk
menyatakan jangkauan nilai.
II. Bagian ELSE pada CASE bersifat opsional.
III. CASE lebih memberikan kejelasan daripada IF maka semua persoalan yang
dapat ditangani oleh CASE bisa ditangani oleh IF namun tidak sebaliknya.
IV. Pada bentuk CASE, daftar_nilai dapat berupa sederetan nilai yang dipisahkan
oleh koma.
V. Pernyataan CASE merupakan alternatif dari pernyataan IF untuk masalah
dengan pilihan berganda
2.3. Contoh program IF dalam bahasa Pascal dan C

Contoh Program Case Dalam Bahasa C

#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float n ;
float hitung1, hitung2, hitung3;
int pilihan;

printf ("masukan pilihan (1/2/3):"); scanf ("%d",&pilihan);


printf("masukan n : "); scanf("%f", &n);
hitung1 = (n / 6) * 4 / 3 ;
hitung2 = n * n + hitung1;
hitung3 = sqrt(hitung2) + (n-hitung1);

switch(pilihan)
{ case 1 : printf("hasilnya adalah :%1.2f",hitung1);
break;
case 2 : printf("hasilnya adalah :%1.2f",hitung2);
break;
case 3 : printf("hasilnya adalah :%1.2f",hitung3);
break;
}
}

Contoh Program Case Dalam Bahasa Pascal

program nilai_mutu;
uses crt;
var nilai : integer;

begin
write('masukan nilai : '); readln(nilai);
case nilai of
90..100 : writeln('Grade A');
70..89 : writeln('Grade B');
50..69 : writeln('Grade C');
40..49 : writeln('Grade D');
0..39 : writeln('Grade E');
end;
readln;
end.
2.4. Hal-hal yang membuktikan persyaratan
A. Pembuktian persyaratan CASE bagian I
Pada CASE terdapat tanda subjangkauan (berupa..) juga dapat digunakan untuk
menyatakan jangkauan nilai, misalnya:

case nilai of
90..100 : writeln('Grade A');
70..89 : writeln('Grade B');
50..69 : writeln('Grade C');
40..49 : writeln('Grade D');
0..39 : writeln('Grade E');

Pada contoh diatas :


 90..100 menyatakan 90, 91, 92, dan seterusnya hingga 100.
 70..89 menyatakan 70, 71, 72, dan seterusnya hingga 89.
 50..69 menyatakan 50, 51, 52, dan seterusnya hingga 69.
 40..49 menyatakan 40, 41, 42, dan seterusnya hingga 49.
 0..39 menyatakan 0, 1, 2, dan seterusnya hingga 39.
Pernyataan diatas membuktikan persyaratan A yaitu:
“Pada CASE terdapat tanda subjangkauan (berupa..) juga dapat digunakan untuk
menyatakan jangkauan nilai.”

B. Pembuktian persyaratan CASE bagian II


Sampai sejauh ini semua bentuk CASE melibatkan bagian ELSE. Sesungguhnya bagian
ELSE ini bersifat opsional. Bagian ELSE bisa saja tidak disertakan, contoh:

program nilai_mutu;
uses crt;
var nilai : integer;

begin
write('masukan nilai : '); readln(nilai);
case nilai of
90..100 : writeln('Grade A');
70..89 : writeln('Grade B');
50..69 : writeln('Grade C');
40..49 : writeln('Grade D');
0..39 : writeln('Grade E');
end;
readln;
end.
Contoh CASE menggunakan ELSE dapat dilihat dalam contoh sebagai berikut:
Uses crt;
Var
Kode_bulan : integer;
BEGIN
Clrscr;
Write ( ‘Kode bulan (1..12) :’ );
Readln (Kode_bulan);

Case Kode_bulan of
1, 3, 5, 7, 8, 10, 12 :
Writeln ( ‘Jumlah hari = 31’ );
4, 6, 9, 11 :
Writeln ( ‘Jumlah hari = 30’ );
2:
Writeln ( ‘Jumlah hari = 28 atau 29’ );
Else
Writeln ( ‘salah memasukkan kode bulan’ )
End;
End.

Pernyataan diatas membuktikan persyaratan B yaitu:


“Bagian ELSE pada CASE bersifat opsional”

C. Pembuktian persyaratan CASE bagian III


Program Case;
Uses crt;
Var
Pil : integer;
BEGIN
Clrscr;
Write ( ‘Pilihan (1,2 atau 3):’ );
Readln (Pil);
CASE Pil OF
1: Writeln (‘Pilihan anda adalah 1’) ;
2: Writeln (‘Pilihan anda adalah 2’) ;
3: Writeln (‘Pilihan anda adalah 3’) ;
ELSE
Writeln (‘Salah Pilih !’);
End;
Writeln (‘selesai…..’);
End.
Marilah kita lihat hasil eksekusi program diatas, sebelum menganalisisnya.

Pengeksekusian 1:

Pilihan (1, 2, atau 3) : 1


Pilihan anda adalah 1
Selesai…….

Pengeksekusian 2 :
Pilihan (1, 2, atau 3) : 2
Pilihan anda adalah 2
Selesai…….

Pengeksekusian 3:
Pilihan (1, 2, atau 3) : 3
Pilihan anda adalah 3
Selesai…….

Pengeksekusian 4:
Pilihan (1, 2, atau 3) : 4
Pilihan Salah !
Selesai…….

Tampak bahwa bila nilai yang dimasukkan berupa 1,2 atau 3 maka akan muncul tulisan :
Pilihan anda adalah ...... (dengan ..... berupa nomor pilihan ). Sedangkan kalau nilai Pil
tidak berisi 1, 2, atau 3, pesan yang muncul adalah adalah :
Pilihan Salah !
Dari sifat diatas dapat kita ketahui bahwa sebenarnya CASE merupakan alternatif lain
dari IF. Tetapi pada kasus seperti diatas, CASE lebih disukai daripada IF, karena lebih
memberikan kejelasan. Sebagai gambaran, berikut ini merupakan bentuk IF yang serupa
dengan CASE diatas.

IF Pil = 1 THEN
Writeln (‘Pilihan Anda adalah 1’)
ELSE
IF Pil = 2 THEN
Writeln (‘Pilihan Anda adalah 2’)
ELSE
IF Pil = 3 THEN
Writeln (‘Pilihan Anda adalah 3’)
ELSE
Writeln (‘Salah Pilih’) ;
Penjelasan diatas menjelaskan persyaratan C yaitu:
“CASE lebih memberikan kejelasan daripada IF maka semua persoalan yang dapat
ditangani oleh CASE bisa ditangani oleh IF namun tidak sebaliknya”.

D. Pembuktian persyaratan CASE bagian IV


Pada bentuk CASE, daftar_nilai dapat berupa sederetan nilai yang dipisahkan oleh koma.
Lihat contoh program dibawah ini :

Uses crt;
Var
Kode_bulan : integer;
BEGIN
Clrscr;
Write ( ‘Kode bulan (1..12) :’ );
Readln (Kode_bulan);

Case Kode_bulan of
1, 3, 5, 7, 8, 10, 12 :
Writeln ( ‘Jumlah hari = 31’ );
4, 6, 9, 11 :
Writeln ( ‘Jumlah hari = 30’ );
2:
Writeln ( ‘Jumlah hari = 28 atau 29’ );
Else
Writeln ( ‘salah memasukkan kode bulan’ )
End;
End.

Contoh program diatas membuktikan persyaratan CASE bagian D yaitu:


“Pada bentuk CASE, daftar_nilai dapat berupa sederetan nilai yang dipisahkan oleh
koma.”
E. Pembuktian persyaratan CASE bagian V
Pernyataan CASE merupakan alternatif dari pernyataan IF untuk masalah dengan pilihan
berganda. Lihatlah contoh program C dibawah ini:

#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float n ;
float hitung1, hitung2, hitung3;
int pilihan;

printf ("masukan pilihan (1/2/3):"); scanf ("%d",&pilihan);


printf("masukan n : "); scanf("%f", &n);
hitung1 = (n / 6) * 4 / 3 ;
hitung2 = n * n + hitung1;
hitung3 = sqrt(hitung2) + (n-hitung1);

switch(pilihan)
{ case 1 : printf("hasilnya adalah :%1.2f",hitung1);
break;
case 2 : printf("hasilnya adalah :%1.2f",hitung2);
break;
case 3 : printf("hasilnya adalah :%1.2f",hitung3);
break;
}
}

Program tersebut menyatakan persyaratan CASE bagian E yaitu:


“Pernyataan CASE merupakan alternatif dari pernyataan IF untuk masalah dengan
pilihan berganda “.
2.5. Kesimpulan.
Pernyataan case (case statement) berisi ungkapan pemilih (selector) dan sederetan
pernyataan yang masing-masing diawali dengan satu atau lebih tetapan (case
constant) atau dengan kata kunci else. Semua tetapan case harus khas dan tipe
berurutan yang digunakan harus sesuai dengan tipe pemilih. Sama halnya dengan
pernyataan if, pada pernyataan case jika pernyataan yang akan dijalankan lebih dari
satu pernyataan maka sebelum pernyataan-pernyataan tersebut harus diawali
dengan begin dan diakhiri dengan end.
 Fungsi, kelebihan dan kekurangan
Fungsi, kelebihan dan kekurangan CASE antara lain:
 CASE merupakan alternatif dari pernyataan IF untuk masalah dengan pilihan
berganda.
 Bagian ELSE pada CASE bersifat opsional.
 Pada CASE terdapat tanda subjangkauan (berupa..) juga dapat digunakan
untuk menyatakan jangkauan nilai.”
 CASE lebih memberikan kejelasan daripada IF

Anda mungkin juga menyukai