Anda di halaman 1dari 47

PERCABANGAN

If Then
Statemen IF-THEN digunakan untuk menyeleksi suatu kondisi, jika
kondisi yang diseleksi terpenuhi, maka statemen yang mengikuti
THEN akan diproses. Tetapi, apabila kondisi tidak terpenuhi, maka
yang akan diproses adalah statemen berikutnya.

Uses Crt;
Var
Nil1, Nil2 : Integer;
NilRata : Real;
Begin
ClrScr;
Write('Masukan Nilai 1 : ');
ReadLn(Nil1);
Write('Masukan Nilai 2 : ');
ReadLn(Nil2);
NilRata := (Nil1 + Nil2)/2;
WriteLn('Nilai Rata-Rata = ', NilRata:5:2);
IF NilRata >= 60 THEN
WriteLn('Hasilnya = Lulus')
ReadLn;
End.

If Then Else
Percabangan if..else digunakan untuk pengujian sebuah kondisi.
Jika kondisi yang diuji tersebut terpenuhi, maka program akan
menjalankan pernyataan-pernyataan tertentu. Jika kondisi yang
diuji salah, program akan menjalankan pernyataan yang lain.
Uses Crt;
Var
Nil1, Nil2 : Integer;
NilRata : Real;
Begin
ClrScr;
Write('Masukan Nilai 1 : ');
ReadLn(Nil1);
Write('Masukan Nilai 2 : ');
ReadLn(Nil2);
NilRata := (Nil1 + Nil2)/2;
WriteLn('Nilai Rata-Rata = ', NilRata:5:2);
IF NilRata >= 60 THEN
WriteLn('Hasilnya = Lulus')
ELSE
WriteLn('Hasilnya = Gagal');
ReadLn;
End.
Case Of
Statemen CASE-OF digunakan untuk memilih jika terdapat lebih
dari dua kondisi yang setiap nya memerlukan penanganan yang
berbeda.
uses crt;
var hal:integer;
begin
clsrcr;
write('Pilih halaman (1-3): ');
readln(hal);
writeln;

case hal of
1: write(' Ini halaman 1');
2: write(' Ini halaman 2');
3: write(' Ini halaman 3');
else
writeln(' Maaf, halaman yang tersedia hanya 1-3');
end;

readln;
End.
PERULANGAN
STRUKTUR PERULANGAN
(LOOP)
Perulangan (loop) merupakan bentuk yang sering ditemui
dalam suatu program aplikasi. Di dalam bahasa Pascal,
dikenal tiga macam perulangan, yaitu dengan menggunakan
statement: For, While-Do, dan Repeat....Until.
For
Perulangan dengan statement For digunakan untuk
mengulang statemen atau satu blok statemen
berulang kali sejumlah yang ditentukan. Perulangan
dapat berbentuk perulangan positif, negatif, dan
bersarang.
Perulangan Positif
Merupakan perulangan dengan penghitung (counter) dari kecil
ke besar.
Pendeklarasian perulangan ini adalah sebagai berikut :




Variabel_kontrol, nilai_awal dan nilai_akhir harus mempunyai
tipe yang sama, yaitu bertipe integer.

Var i : byte;
Begin
For i := 1 To 5 Do
Writeln (i);
Readln;
End.
Bila statemen lebih dari satu perintah, maka blok
perintah perintah tersebut harus diawali dengan
begin dan diakhiri dengan end.
Var i : byte;
Begin
For i := 1 To 5 Do
Begin
Write ('No ');
Writeln (i);
End;
Readln;
End.
Perulangan Negatif
Merupakan perulangan dengan penghitung (counter) dari besar
ke kecil.
Pendeklarasian perulangan ini adalah sebagai berikut :




Begin
For i := 5 DownTo 1 Do
Begin
Write ('No ');
Writeln (i);
End;
Readln;
End.
WhileDo
Struktur perulangan ini memiliki bentuk sebagai berikut :




Perulangan dengan statemen While-Do digunakan untuk
melakukan perulangan suatu statemen atau blok statemen
terus-menerus selama kondisi ungkapan_logika pada while
masih bernilai logika benar.
Program Perulangan_While_Do;
Var i : byte;
Begin
i := 1;
While i <= 5 Do
Begin
Write ('No ');
Writeln (i);
i := i + 1;
End;
Readln;
End
RepeatUntil
Struktur perulangan ini memiliki bentuk sebagai berikut :




Perulangan dengan statemen Repeat...Until digunakan untuk
melakukan mengulang (repeat) statemen-statemen sampai
batas (until) kondisi yang diseleksi di until tidak terpenuhi.
Program Perulangan_Repeat_Until;
Var i : byte;
Begin
i := 1;
Repeat
Write ('No ');
Writeln (i);
i := i + 1;
Until i > 5;
Readln;
End.

PROSEDUR DAN FUNGSI
Prosedure adalah bagian dari suatu program yang disusun secara
terpisah untuk melakukan suatu tugas khusus/fungsi tertentu.
Pada dasarnya ada dua macam bentuk prosedur yaitu Subrutin
(subprogram) dan Fungsi.

Subrutin (Subprogram) adalah bagian dari program yang dibuat terpisah
untuk melaksanakan sabagian dari tugas yang harus diselesaikan oleh
suatu program. Pada umumnya yang dikenal dengan nama prosedur
sebenarnya adalah subprogram.

Fungsi adalah bagian dari program yang dibuat terpisah untuk
melaksanakan fungsi tertentu yang menghasilkan suatu nilai untuk
dikembalikan ke program utama.

Prosedur

Manfaat pembuatan prosedur :
a. Modularisasi
Suatu program yang besar dan kompleks dapat dibagi kedalam
beberapa prosedure sehingga setiap prosedure merupakan
bagian yang mudah dikerjakan.

b. Simplifikasi
Dalam suatu program, sering diperlukan suatu tugas yang harus
dikerjakan berulang-ulang dengan nilai-nilai variabel yang
berbeda-beda. Agar tidak merepotkan maka tugas ini cukup
ditulis sekali saja dalam bentuk prosedur yang kemudian
dipanggil berulang-ulang sesuai kebutuhan.
Bentuk Umum Prosedur (Subprogram)

Prosedur nama_prosedur
{spesifikasi dari prosedur, keadaan awal sebelum prosedur
dilaksanakan dan juga keadaaan akhir setelah prosedur
dilaksanakan}

Deklarasi
{Deklarasi variabel-variabel prosedur}

Deskripsi
{Deskripsi dari tugas-tugas prosedur}


Contoh 1.
Andaikan sebuah program menyediakan fasilitas untuk
menghitung luas, keliling, dan diagonal dari sebuah persegi
panjang dengan kemungkinan pemilihan melalui suatu menu.

Contoh soal di atas dapat dibagi ke dalam enam prosedur, yaitu
prosedur menampilkan menu, prosedur membaca dimensi
persegi panjang, menghitung luas, menghitung keliling,
menghitung diagonal, dan menampilkan hasil.


Jawab :
Algoritma Empat_persegi_panjang
{Algoritma ini menunjukkan contoh pemakaian prosedur untuk
menghitung luas, keliling, dan diagonal dari empat persegi
panjang}

Deklarasi
integer pil;
real panjang, lebar, hasil;
{semua prosedur harus dideklarasikan}
prosedur menu;
prosedur baca_dimensi;
prosedur hitung_luas;
prosedur hitung_keliling;
prosedur hitung_diagonal;
prosedur tampil _hasil
Deskripsi
pil 0;
repeat
menu; {Memanggil prosedur menu}
write (Masukkan Pilihan Anda :);
read (pil);
if (pil < 4)
then baca_dimensi;{Memanggil prosedur baca_dimensi}
endif.
case(pil)
1 : hitung_luas;
2 : hitung_keliling;
3 : hitung_diagonal
4 : write (Selesai.sampai jumpa);
default : write(Pilihan Salah, Ulangi !);
endcase.


1
3
5
if (pil < 4)
then tampil_hasil; {Memanggil prosedur tampil_hasil}
endif.
until (pil=4).
prosedur menu
{menampilkan menu program}
deklarasi
deskripsi
write (Menu Program Empat Persegi Panjang);
write (1. Menghitung Luas );
write (2. Menghitung Keliling);
write (3. Menghitung Diagonal );
write (4. Keluar dari program);

2
7
prosedur baca_dimensi
{membaca dimensi persegi panjang}
deklarasi
deskripsi
write (Masukkan Panjang :);
read (panjang);
write (Masukkan Lebar :);
read (lebar);

prosedur hitung_luas
{menghitung luas persegi panjang}
deklarasi
real luas;
deskripsi
luas panjang * lebar;
hasil luas;
4
6
prosedur hitung_keliling
{Menghitung keliling empat persegi panjang}
deklarasi
real keliling;
deskripsi
keliling 2 * (panjang + lebar);
hasil keliling;

prosedur hitung_diagonal
{menghitung diagonal empat persegi panjang}
deklarasi
real diagonal;
deskripsi
diagonal sqrt (panjang^2 + lebar^2);
hasil diagonal;
prosedur tampil_hasil
{menampilkan hasil dari program ini}
deklarasi
deskripsi
write (Hasil = , hasil);

8
Contoh Program menggunakan prosedur.
Program di bawah ini menggunakan prosedur yang terdiri
dari prosedur menu, entry, proses dan informasi, dalam
bentuk menu pilihan sebagai berikut :

Menu Pilihan
1. Entry Data
2. Informasi
3. Selesai


Jawab :
Algoritma Pembayaran_Listrik
{Algoritma ini menunjukkan contoh pemakaian prosedur
menerima nama, golongan serta Jumlah Pemakaian,
memproses dan kemudian menampilkan total pembayaran
yang dibayarkan Pelanggan}

Deklarasi
integer pil;
real total, Jlhpakai;
string nama, gol;
{semua prosedur harus dideklarasikan}
prosedur menu;
prosedur entry;
prosedur proses;
prosedur info;

Deskripsi
pil 0;
repeat
menu; {Memanggil prosedur menu}
write (Masukkan Pilihan Anda :);
read (pil);
case(pil)
1 : entry; {Memanggil prosedur Entry}
2 : info; {Memanggil prosedur Info}
3 : write (Selesai.sampai jumpa);
default : write(Pilihan Salah, Ulangi !);
endcase.
until (pil=3).

Prosedur Menu
{menampilkan menu program}
Deklarasi

Deskripsi
write (Menu Program Pembayaran Listrik);
write (1. Entry Data );
write (2. Informasi);
write (3. Keluar dari program);

Prosedur entry
Deklarasi

Deskripsi
write(Masukkan Nama Pelanggan :);
read(nama);
write(Masukan Golongan :);
read(gol);
write(Masukan Jumlah Pemakaian :);
read(jlhpakai);

Prosedur info;
Deklarasi

Deskripsi
proses; {Memanggil prosedur proses}
Write(Tagihan Listrik sdr. , nama, adalah = Rp., total);


Prosedur proses;
Deklarasi
real bayar, tarif, lebihbyr;
Deskripsi
Case(gol)
AA : tarif 1000;
BB : tarif 2500;
CC : tarif 4000;
DD : tarif 5500;
default :
write(Golongan Salah !);
tarif 0;
Endcase.
If (jlhpakai > 150)
then lebihbyr (jlhpakai 150) * tarif * 0.15;
bayar 150 * tarif;
else lebihbyr 0;
bayar jlhpakai * tarif;
Endif
Total bayar + lebihbyr;


Penggunaan prosedur pada suatu program menyebabkan
munculnya dua kategori variabel yaitu :

a. Variabel Lokal
yaitu variabel yang hanya dikenal dan berlaku dalam suatu
prosedur saja.

b.Variabel Global
yaitu variabel yang berlaku di semua bagian program dan di
semua prosedur.

Semua variabel yang didefinisikan pada deklarasi suatu prosedur
adalah variabel lokal, dan variabel-variabel yang didefinisikan
pada deklarasi algoritma utama adalah variabel global


Ketika suatu prosedur dipanggil maka pada hakikatnya bisa
dilakukan pertukaran data antara program utama dan prosedur.
Pertukaran ini dilakukan melalui parameter.

Parameter terbagi atas 2 macam :
a. Parameter Aktual
Adalah parameter yang disertakan pada saat prosedur
dipangggil untuk dilaksanakan, sering disebut argumen.

b. Parameter Formal
Adalah parameter yang dituliskan pada definisi suatu
prosedur/fungsi.



Ada 3 jenis parameter formal, yaitu :
a. Parameter Masukan (Input):
Parameter yang menerima nilai dari parameter aktual
b. Parameter Keluaran (Output) :
Parameter yang menyerahkan nilai ke parameter aktual
c. Parameter masukan dan keluaran (Input-Output) :
Parameter yang menerima nilai dari parameter aktual untuk
diproses dalam prosedur kemudian diserahkan kembali ke
parameter aktual setelah selesai.



Contoh 2:
ALgoritma berikut ini menunjukkan pemakaian parameter
masukan dan parameter keluaran untuk prosedur menghitung luas
segitiga.

Algoritma Luas_segitiga
{menghitung luas segitiga dengan menggunakan prosedur yang
memanfaatkan parameter input dan parameter output}

Deklarasi
real alas, tinggi, luas
prosedur hit_luas_segi_3 (input real a, t; output real ls;);

Deskripsi
write(Masukkan Alas Segitiga :);
read(alas);
write(Masukkan Tinggi Segitiga :);
read(tinggi);

hit_luas_segi_3 (alas, tinggi, luas);
write(Luas Segitiga :, luas);

Prosedur hit_luas-segi_3 (input real a, t; output real ls;)
{prosedur menghitung luas segi_3, menerima a(alas) dan t(tinggi),
mengembalikan ls(luas)}
Deklarasi{}
Deskripsi
ls a * t/2;

Latihan :
Hitung diagonal sebuah persegi panjang menggunakan prosedur,
parameter aktual, parameter formal (input dan output)


Contoh 3.
Algoritma berikut ini menunjukkan pemakaian parameter
input/output yang digunakan untuk prosedur yang melakukan
pertukaran nilai variabel.

Algoritma tukar_nilai
{menukar nilai dua variabel yang dilakukan oleh suatu prosedur
dengan parameter input/output}

Deklarasi
integer A, B;
prosedur tukar (in-out integer a, b);

Deskripsi
write(Masukkan Nilai A :);
read (A);
write(Masukkan Nilai B :);
read (B);
Tukar (A,B);
write(Setelah ditukar :);
write(A=, A, B=,B);
Prosedur Tukar (in-out integer a, b)
{prosedur yang melaksanakan pertukaran nilai}
Deklarasi
int temp;
Deskripsi
temp a;
a b;
b temp;
Fungsi
Fungsi pada hakekatnya serupa dengan prosedur dalam
pelaksanaannya, tetapi harus mengembalikan suatu nilai ke program
yang menggunakan fungsi. Prosedur hanya bisa mengembalikan nilai
melalui parameter input-output (in-out).

Bentuk umum :
Fungsi nama_fungsi (parameter formal) tipe_hasil
{spesifikasi fungsi}
Deklarasi
{variabel lokal}
Deskripsi
{langkah/proses yang dilakukan oleh fungsi}
.
.
{pengembalian nilai}
return hasil
Contoh 1 : Contoh melaksanakan fungsi matematika
f(x) = x
2
+8x+10

Fungsi F (input real x) real
{menghitung nilai fungsi f(x)=x^2+8x+10}

Deklarasi
real y;
Deskripsi
y x*x + 8*x + 10;
return y;