Part 10 - Prosedur dan Fungsi Algoritma dan Pemrograman
Prosedur (Procedure)? Prosedur adalah bagian dari suatu program yang disusun secara terpisah untuk melakukan suatu tugas khusus atau fungsi tertentu. Pada dasarnya ada dua macam prosedur: Subrutin (subprogram) Fungsi Subrutin adalah bagian dari program yang dibuat terpisah untuk melaksanakan sebagian tugas yang harus diselesaikan oleh suatu program. Yang dikenal dengan nama "Prosedur" sebenarnya adalah "Subprogram"
Manfaat Prosedur 1. Modularisasi : Suatu program yg besar dan kompleks dapat dibagi ke dalam beberapa prosedur sehingga setiap prosedur merupakan bagian yang mudah dikerjakan. Dengan demikian program yang besar tersebut akan menjadi mungkin untuk diselesaikan. 2. Simplikasi : Dalam suatu program diperlukan suatu tugas yang harus berulangkali dikerjakan dengan nilai variabel yang berbeda. Agar tidak merepotkan maka dibuat dalam bentuk prosedur dan dipanggil secara berulang kali.
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 1 Andaikan sebuah program menyediakan fasilitas untuk menghitung luas, keliling, dan diagonal dari sebuah persegi panjang dengan kemungkinan pemilihan melalui suatu menu. Penyelesaian: Contoh soal diatas dapat dibagi dalam enam prosedur, yaitu: Prosedur menampilkan menu, prosedur membaca dimensi persegi panjang, menghitung luas, menghitung keliling, menghitung diagonal, dan menampilkan hasil
Dilihat pada diagram: Algoritma Persegi Panjang Prosedur Menu Prosedur Menghitung Luas Prosedur Hitung Diagonal Prosedur Baca Dimensi Prosedur Hitung Keliling Prosedur Tampil Hasil
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; Rincian Langkah: pilihan = 0; repeat menu; write("masukkan pilihan anda : "); read(pilihan); if(pilihan < 4) then baca_dimensi; endif.
case(pilihan) 1 : hitung_luas; 2 : hitung_keliling; 3 : hitung_diagonal; 4 : write("selesai...sampai jumpa"); default : write("pilihan salah, Ulangi!"); endcase. if(pilihan < 4) then tampil_hasil; endif. until(pilihan =4).
prosedur menu {menampilkan menu program} Deklarasi. Rincian Langkah: writeln("menu Program Empat Persegi Panjang"); writeln("1. Menghitung Luas"); writeln("2. Menghitung Keliling"); writeln("3. Menghitung Diagonal"); writeln("4. Keluar dari program");
prosedur baca_dimensi {membaca dimensi persegi panjang} Deklarasi: Rincian Langkah: write("masukkan Panjang : "); read(panjang); write("masukkan Lebar : "); read(lebar);
prosedur hitung_luas {menghitung luas empat persegi panjang} Deklarasi : real luas; Rincian Langkah: luas = panjang * lebar; hasil = luas;
prosedur hitung_keliling {menghitung keliling empat persegi panjang} Deklarasi : real keliling; Rincian Langkah: keliling = 2*(panjang + lebar); hasil = keliling;
prosedur hitung_diagonal {menghitung diagonal empat persegi panjang} Deklarasi: real diagonal; Rincian Langkah: diagonal = sqrt(panjang ^ 2 + lebar ^ 2) hasil = diagonal;
prosedur tampil_hasil {menampilkan hasil dari program ini} Deklarasi: Rincian Langkah: write("hasil = ", hasil);
Program C++ Nama File EmpatPersegiPanjang.cpp
Parameter Lokal dan Parameter Global Parameter lokal : parameter yang hanya dikenal didalam sebuah prosedur atau fungsi. Parameter global : parameter yang berlaku untuk semua program dan didalam semua prosedur atau fungsi.
Contoh Parameter lokal dan global Algoritma Luas_Segitiga {Menghitung luas segitiga dengan prosedur} Deklarasi : real alas,tinggi,luas; prosedur HitungLuasSegitiga(real a, real t); Rincian Langkah: write("masukkan Alas Segitiga : "); read(alas); write("masukkan Tinggi Segitiga : "); read(tinggi);
HitungLuasSegitiga(alas,tinggi); write("luas Segitiga : ",luas); prosedur HitungLuasSegitiga(real a, real t) {prosedur menghitung luas segitiga, a=alas, t=tinggi} Deklarasi: real ls; Rincian Langkah : ls=a*t/2.0; luas=ls;
Program C++ Nama File TestLokalGlobal.cpp
FUNGSI
Fungsi? Fungsi pada hakikatnya sama dengan prosedur dalam pelaksanaannya tetapi harus mengembalikan suatu nilai ke program yang mengunakan fungsi. Prosedur hanya bisa mengambalikan nilai melalui parameter input/output (in-out). Syntax dasar : return_type function_name(parameter_list){ //Code for the function... }
Contoh Fungsi Algoritma FungsiMatematis {menghitung nilai fungsi f(x)=x^2 + 8x + 10} Deklarasi : real x,y; real F(real x) real Rincian Langkah : write("masukkan nilai x : "); read(x); F(x); write("hasil Y = ",y); Fungsi F(real x) y=(x*x)+(8*x)+10; return y;
Contoh : Menampilkan angka bulat(4 digit) dalam bentuk kalimat: Contoh : Input : 2436 Output : dua ribu empat ratus tiga puluh enam Lihat Kode Program C++ Berikut ini.