Anda di halaman 1dari 24

PROSEDUR

Prosedur adalah bagian dari suatu program yang disusun secara terpisah untuk
melakukan suatu tugas khusus atau 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 sebagian 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.

Manfaat pembuatan prosedur :

1. Modularisasi : Suatu program yang besar dan kompleks dapat dibagi ke dalam
beberapa prosedur sehingga setiap prosedur merupakan bagian yang mudah
dikerjakan. Dengan demikian, program besar tersebut menjadi mungkin
diselesaikan.
2. Simplifikasi : Dalam suatu program, sering diperlukan suatu tugas yang harus
dikerjakan berulang-ulang dengan nilai-nilai variabel yang berbeda. Agar tidak
merepotkan maka tugas ini cukup ditulis sekali saja dalam bentuk prosedur yang
kemudian dipanggil berulang-ulang sesuai kebutuhan.
Bentuk Umum Prosedur

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

Deklarasi
{ deklarasi variabel-variabel prosedur }

Deskripsi
{ deskripsi dari tugas-tugas prosedur }
Contoh.
Andaikan sebuah program menyediakan fasilitas untuk menghitung luas dan keliling
lingkaran melalui suatu menu.
Contoh soal diatas dapat dibagi ke dalam tiga prosedur, yaitu prosedur menampilkan
menu, menghitung luas, dan menghitung keliling.

Algoritma
Lingkaran

Prosedur Hitung Prosedur Hitung


Prosedur Menu
Luas Keliling
Prosedur Menu 2

3 1
4 6

5 Prosedur
Program Utama
Hitung Luas

5 7
7
Prosedur
Hitung Keliling
6

1. Program Utama memanggil Prosedur Menu


2. Menampilkan isi Prosedur Menu
3. Kembali ke Program Utama
4. Masukan Pilihan Prosedur yang akan dipanggil
5. Memanggil prosedur sesuai Pilihan, Prosedur Hitung_Luas atau Hitung_Keliling
6. Proses pada Prosedur Hitung_Luas atau Hitung_Keliling
7. Mengirimkan hasil pemrosesan Prosedur Hitung_Luas atau Hitung_Keliling ke Program Utama
Algoritma Lingkaran
{algoritma pemakaian prosedur untuk menghitung luas dan keliling lingkaran}
Deklarasi
integer pilihan;
real jari, hasil;
Prosedur menu;
Prosedur hitung_luas;
Prosedur hitung_keliling;
Deskripsi
Pilihan ← 0;
repeat
panggil prosedur menu;
write (“Masukkan pilihan anda :”); read (pilihan);
write (“Masukkan Panjang Jari-Jari:”); read (jari);
case (pilihan)
1 : panggil prosedur hitung_luas;
2 : panggil prosedur hitung_keliling;
3 : write (“Selesai......sampai jumpa”);
endcase.
Until (pilihan = 3).
Write (“Hasil perhitungan adalah : “, hasil).
Prosedur menu
{menampilkan menu program}
Deklarasi.
Deskripsi
write (“Menu Program Lingkaran”);
write (“1. Menghitung Luas”);
write (“2. Menghitung Keliling”);
write (“3. Keluar dari program”);

Prosedur hitung_luas
{menghitung luas Lingkaran}
Deklarasi
real luas;
Deskripsi
Luas ← 3.14 * (jari * jari);
Hasil ← luas;

Prosedur hitung_keliling
{menghitung keliling lingkaran}
Deklarasi
real keliling;
Deskripsi
Keliling ← 2 * 3.14 * jari;
Hasil ← keliling;
Latihan

Buatlah algoritma Prosedur untuk konversi meter dan kilometer !

Menu Utama :
1. Konversi dari Kilometer ke Meter
2. Konversi dari Meter ke Kilometer

Input : (jika pilih 1)


Masukan Nilai Kilometer : 2 (jika diisi angka 2)
Output:
2 Kilometer = 2000 meter

Input : (jika pilih 2)


Masukan Nilai Meter : 3000 (jika diisi angka 3000)
Output:
3000 Meter = 3 kilometer
Prosedur konversi kilometer ke meter
1. Deklarasikan variable m dan km sebagai bilangan real
2. Masukan nilai kilometer dan simpan pada variable km
3. Konversikan kilometer ke meter dengan rumus meter = kilometer * 1000
4. Cetak hasil konversi

Prosedur konversi meter ke kilometer


1. Deklarasikan variable m dan km sebagai bilangan real
2. Masukan nilai meter dan simpan pada variable m
3. Konversikan meter ke kilometer dengan rumus kilometer = meter / 1000
4. Cetak hasil konversi

Program Utama
1. Tampilkan Menu Utama
2. Pilih salah satu menu dan simpan pada variable pilihan
3. Jika pilihan 1, panggil prosedur konversi kilometer ke meter
4. Jika pilihan 2, panggil prosedur konvesri meter ke kilometer
5. Selesai
Contoh.
Andaikan sebuah program menyediakan fasilitas untuk menghitung luas, keliling, dan
diagonal dari sebuah persegi panjang dengan kemungkinan pemilihan melalui suatu
menu.
Contoh soal diatas dapat dibagi ke dalam enam prosedur, yaitu prosedur menampilkan
menu, prosedur membaca dimensi persegi panjang, menghitung luas, menghitung
keliling, menghitung diagonal, dan menampilkan hasil.

Algoritma Persegi
Panjang

Prosedur Hitung Prosedur Hitung Prosedur Tampil


Prosedur Menu
Luas Keliling Hasil

Prosedur Baca Prosedur Hitung


Dimensi Diagonal
Algoritma Empat_Persegi_Panjang
{algoritma ini menunjukkan contoh pemakaian prosedur untuk menghitung luas, keliling,
dan diagonal dari empat persegi panjang}
Deklarasi
integer pilihan;
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
Pilihan ← 0;
repeat
panggil prosedur menu;
write (“Masukkan pilihan anda :”);
read (pilihan);
if (pilihan < 4)
then panggil prosedur baca_dimensi;
endif.
case (pilihan)
1 : panggil prosedur hitung_luas;
2 : panggil prosedur hitung_keliling;
3 : panggil prosedur hitung_diagonal;
4 : write (“Selesai......sampai jumpa”);
endcase.
if (pilihan < 4)
then panggil prosedur tampil_hasil;
endif.
Until (pilihan = 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 empat 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);
Variabel Lokal dan Variabel Global

Penggunaan prosedur pada suatu program menyebabkan munculnya dua kategori


variabel, yaitu variabel lokal dan variabel global.
Variabel lokal adalah variabel yang hanya dikenal dan berlaku dalam suatu prosedur.
Variabel global adalah variabel yang berlaku disemua bagian program dan semua
prosedur.
Semua variabel yang didefinisikan pada deklarasi suatu prosedur adalah variabel lokal,
sedangkan variabel yang didefinisikan pada deklarasi algoritma utama adalah variabel
global.

Parameter

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
Parameter yang disertakan pada saat prosedur dipanggil untuk dilaksanakan, sering
disebut argumen.
b. Parameter Formal
Parameter yang dituliskan pada definisi suatu prosedur/fungsi.
Ada 3 jenis parameter formal, yaitu :

1. Parameter Masukan (Input).


Parameter yang menerima nilai dari parameter aktual

2. Parameter Keluaran (Output).


Parameter yang menyerahkan nilai ke parameter aktual

3. 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 berikut ini menunjukan 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_segitiga (input real a, t; output real ls);

Deskripsi
write (“Masukkan alas segitiga : “);
read (Alas);
write (“Masukkan tingginya : “);
read (Tinggi);
hit_luas_segitiga (alas, tinggi, luas);
write (“Luas segitiga = “, Luas);

Prosedur hit_luas_segitiga (input real a, t; output real ls)


Deklarasi { }
Deskripsi
ls ← a * t / 2;
FUNGSI
Fungsi

Fungsi pada hakekatnya serupa dengan prosedur dalam pelaksanaannya, tetapi harus
mengembalikan suatu nilai ke program yang menggunakan fungsi. Fungsi 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 variable hasil
Contoh 1 :

{Program Utama yang menjalankan Fungsi luas_segitiga}


Deklarasi
real A, T
Deskripsi
write (“Masukkan alas segitiga : “); read (A);
write (“Masukkan tingginya : “); read (T);
luas_segitiga(A, T); isi variable A diikirim ke variable alas, T ke tinggi di fungsi luas_segitiga
1 write (“Luas segitiga adalah : “, luas_segitiga); mencetak isi variable luas_segitiga dari hasil perhitungan di
Fungsi luas_segitiga

Function luas_segitiga (input real alas, tinggi) → real


{Menghitung nilai Luas_Segitiga = alas x tinggi x 0.5}
Deklarasi
{Tidak ada variable local yang dideklarasikan}
Deskripsi
2 luas_segitiga = alas x tinggi x 0.5;
return luas_segitiga; isi variable luas_segitiga akan dikirimkan ke program utama yang memanggil fungsi
Penejelasan Algoritma Luas Segitiga

Program Utama 4

3 1

Fungsi 2
Luas_Segitiga

1. Program Utama menjalankan Fungsi luas_segitiga dan mengirimkan nilai variable A dan T
2. - Variabel alas pada Fungsi Luas_Segitiga menerima nilai dari variable A pada Program Utama.
- Variabel tinggi pada Fungsi Luas_Segitiga menerima nilai dari variable T pada Program Utama.
3. Mengirimkan hasil perhitungan nilai luas_segitiga pada Fungsi luas_segitiga ke variable luas_segitiga pada Program Utama
4. Variabel luas_segitiga pada Program Utama menerima nilai variable luas_segitiga pada Fungsi luas_segitiga dan
Program Utama mencetak hasil luas_tiga.
Contoh 2:

Algoritma Tanggal_Lahir

Deklarasi
integer tanggal, bulan, tahun;
string nama_bulan;
fungsi cari_bulan (input integer bln) → string;

Deskripsi
write (“Tanggal : “); read(tanggal);
write (“Bulan : “); read(bulan);
write (“Tahun : “); read(tahun);

nama_bulan ← cari_bulan (bulan);


write (tanggal,” - ”, nama_bulan, “ – “, tahun);
Fungsi cari_bulan (input integer bln) → string
{Fungsi yang mengembalikan nama bulan berdasarkan angka bulan}

Deklarasi
string nama_bln;

Deskripsi
case (bln)
1 : nama_bln ← “Januari”;
2 : nama_bln ← “Februari”;
3 : nama_bln ← “Maret”;
4 : nama_bln ← “April”;
5 : nama_bln ← “Mei”;
6 : nama_bln ← “Juni”;
7 : nama_bln ← “Juli”;
8 : nama_bln ← “Agustus”;
9 : nama_bln ← “September”;
10 : nama_bln ← “Oktober”;
11 : nama_bln ← “November”;
12 : nama_bln ← “Desember”;
endcase.
return nama_bln;
Latihan

Buatlah Fungsi untuk menterjemahkan


Angka menjadi Kata !

Anda mungkin juga menyukai