Function segitiga. : Untuk menghitung luas segitiga. Selanjutnya susun program
untuk memanggil ketiga function. Algoritma menghitung luas bidang datar ...
999
PEMROGRAMAN TERSTRUKTUR
FUNCTION Materi Perkuliahan Logika & Algoritma MIF Piksi Ganesha Semester Ganjil 2007/2008
Bagian ini akan membahas :
Contoh Function Procedure Tanpa Parameter Procedure Dengan parameter Procedure dengan parameter Struktur Program Pascal
Erwin Harahap
[email protected] http://erwin2h.wordpress.com
Contoh Susun algoritma dan program menghitung luas bidang datar Jawab : Misalnya, terdapat tiga bidang datar yaitu persegi panjang, lingkaran, dan segitiga Maka akan disusun 3 function berisi proses perhitungan luas ketiga bidang datar tersebut, yaitu Function p_panjang
:
Untuk menghitung luas persegi panjang
Function lingkaran
:
Untuk menghitung luas lingkaran
Function segitiga
:
Untuk menghitung luas segitiga
Selanjutnya susun program untuk memanggil ketiga function. Algoritma menghitung luas bidang datar adalah sebagai berikut :
Function p_panjang(x,y : real):real {Function ini untuk menghitung luas persegi panjang}} Deklarasi {tidak ada} Algoritma p_panjang ← x*y
Function lingkaran(r : real):real {Function ini untuk menghitung luas lingkaran}} Deklarasi {tidak ada} Algoritma lingkaran ← pi*r*r
1
999 >> Contoh Function
Function segitiga(a,t : real):real {Function ini untuk menghitung luas segitiga}} Deklarasi {tidak ada} Algoritma segitiga ← 0.5*a*t
Program Hitung_Luas_Bidang_Datar {Program ini menghitung luas bidang datar dengan memanggil suatu fungsi} Deklarasi x,y : real pilih : integer Function p_panjang(x,y : real):real Function lingkaran(r : real):real Function segitiga(a,t : real):real
Algoritma Case pilih of 1 : Begin Read(x,y) Write(p_panjang(x,y)) End 2 : Begin Read(x) Write(lingkaran(x)) End 3 : Begin Read(x,y) Write(segitiga(x,y)) End Else Write(‘input salah’) EndCase
Erwin Harahap – Logika & Algoritma – MIF Piksi Ganesha - Ganjil 2007/2008
2
999 >> Contoh Function
Output Program :
Listing Program :
Program luas_bidang_datar; Uses Wincrt; Var x,y : real; pilih : integer; Function p_panjang(p,l:real):real; Begin p_panjang := p*l; end; Function lingkaran(r:real):real; Begin lingkaran := pi*r*r; end; Function segitiga(a,t:real):real; Begin segitiga := (a*t)/2; end; {program utama} Begin Writeln('Menghitung Luas Bidang Datar'); Writeln('----------------------------'); Writeln; Writeln(' 1. Persegi Panjang'); Writeln(' 2. Lingkaran');
Erwin Harahap – Logika & Algoritma – MIF Piksi Ganesha - Ganjil 2007/2008
3
999 >> Contoh Function
Writeln(' 3. Segitiga'); Writeln; Writeln; Write('Pilih menu [1-3] : ');readln(pilih); Case pilih of 1 : Begin Writeln; Writeln('Manghitung Luas Persegi Panjang'); Writeln; Write('Panjang = ');Readln(x); Write('Lebar = ');Readln(y); Writeln; Write('Luas = ',p_panjang(x,y):1:2); end; 2 : Begin Writeln; Writeln('Manghitung Luas Lingkaran'); Writeln; Write('Jari-jari = ');Readln(x); Writeln; Write('Luas = ',lingkaran(x):1:2); end; 3 : Begin Writeln; Writeln('Manghitung Luas Segitiga'); Writeln; Write('Alas = ');Readln(x); Write('Tinggi = ');Readln(y); Writeln; Write('Luas = ',segitiga(x,y):1:2); end; Else Writeln('Input salah'); end; end.
Erwin Harahap – Logika & Algoritma – MIF Piksi Ganesha - Ganjil 2007/2008
4