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.
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.
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”);
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;
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);
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;
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.
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;
0 komentar:
Posting Komentar