YPTK Padang
Bahan Ajar
Padang 2009/2010
Team Dosen
Algoritma dan Struktur Data I
Materi Ajar
1. Pengantar Algoritma - Pendahuluan - Pengertian Algoritma 2. Dasar-Dasar Algoritma - Struktur Dasar algoritma - Runtunan (Struktur Urut) - Pemilihan Kondisi (Struktur Seleksi) - Perulangan 3. Simbol-Simbol Program Flowchart 4. Tipe Data, Nama (Variabel), dan Nilai - Tipe Dasar - Tipe Bentukan - Rekaman - Nama ( Variabel) - Operator Pada Pemrograman 5. Runtunan 6. Struktur Percabangan(Kondisi) - If........then - If........then ........else....... - If........then.........else if.......then......else............ - Struktur Case 7. Struktur Perulangan - Struktur While........Do - Struktur Repeat .......Until - Struktur For......to..... Do 8. Procedure - Defenisi Procedure - Mendefenisikan Procedure - Pemanggilan Procedure - Nama Global dan Lokal - Parameter Masukan dan Parameter Keluaran 9. Function - Mendefenisikan Function - Pemanggilan Function 10. Larik (Array) - Defenisi Larik - Mendefenisikan Larik - Cara Mengacu Elemen Larik - Pemrosesan Larik
Pengantar Algoritma
Pengertian Algoritma : adalah urutan langkah-langkah logis dalam penyelesaian masalah yang disusun secara sistematis. Contoh : Tentukan nilai A dengan rumus yang bisa digunakan adalah C=A+B C? Untuk menentukan nilai C maka yang harus kita ketahui terlebih dahulu adalah nilai A dan nilai B Untuk nilai A dan B ini dapat berupa konstanta atau merupakan hasil proses yang lainnya. Jadi Nilai C tidak akan bisa didapatkan sebelum kita mengetahui nilai A dan nilai B. Jadi langkah pertama kita adalah menentukan nilai A dan B, kemudian baru menghitung penjumlahan kedua nilai tersebut. Urutan inilah yang disebut sebagai urutan logis. Contoh lain adalah : untuk menukar isi bejana A yang berisi air berwarna Biru dengan bejana B yang berisi air berwarna Merah. Sehingga nantinya bejana A berisi air berwarna merah sedangkan bejana B berisi air berwarna Biru. Algoritma adalah : - tuangkan isi bejana A ke bejana B, kemudian tuangkan isi bejana B ke bejana A. Cara yang ditempuh diatas adalah SALAH karena pada saat isi bejana A dituangkan ke bejana B maka air yang ada pada bejana B akan tercampur dengan air yang ada pada bejana B, sehingga pada saat isi bejana B dituangkan ke dalam bejana A maka Warnanya sudah tercampur dengan isi bejana A. Algoritma yang tepat adalah : - Siapkan sebuah bejana dalam keadaan kosong diumpamakan dengan bejana C - Kemudian isi bejana A dituangkan kedalam bejana C sehingga bejana A dalam keadaan kosong - Langkah berikutnya isi bejana B dituangkan kedalam bejana A sehingga bejana B sekarang dalam keadaan kosong. - Baru kemudian isi bejana C dituangkan kedalam bejana B - Perhatikan bahwa isi bejana sudah berpindah ke bejana B dan isi bejana B sudah berpindah ke bejana A
Proses C=A+B
start A,B,C
Cetak C
Stop
Team Dosen Algoritma dan Struktur Data
Memori
Mekanisme dari keempat piranti diatas dapat dijelaskan sebagai berikut : Mula-nula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan, setiap instruksi yang telah disimpan didalam memori dikirim ke CPU. CPU mengerjakan operasi-operasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan , disimpan dalam memori lalu dikirim ke CPU untuk operasi yang memerlikan tadi.. Bila proses menghasilkan keluaran, keluaran disimpan ke dalam memori, lalu dari memori keluaran dikirimkan ke piranti keluaran. Sebuah algoritma akan dapat dikenal oleh komputer jika sudah dipindahkan kedalam bentuk yang dapat dimengerti oleh komputer, dalam hal ini disebut dengan program. Ada bermacam-macam bahasa pemrogram yang dikenal seperti, Basic, Bahasa C, Pascal, Fortran, Visual Basic, Delphi ,dll.
Buat flowchart program dan program Pascal untuk menampilkan hasil perkalian sebagai berikut : A=B x C P=Q(R+S) + R(Q+S) Nilai B Dan C Diinputkan Nilai Q,R,dan S diinputkan
- logika - Tipe bilangan ada beberapa macam a. Bilangan bulat - Shortint -128 s/d +127 - Byte 0 s/d 255 - Integer -32768 s/d +32767 - Longint -2147483648 s/d +2147483648 - Word 0 s/d 65535 b. Bilangan pecahan - Real 2.9 X 10 39 - Single 1.5 X 10 45 - Double 5.0 X 10 324 - Extend 3.4 X 10 4932 s/d s/d s/d s/d 1,7 X 10 38 3,4 X 10 38 1,7 X 10 308 1,1 X 10 4932
- Tipe data Karakter Yang termasuk kedalam tipe data karakter adalah : huruf-huruf alfabet, tanda baca, angka 0,1,.9 dan karakter khusus &,^,.. - Logika Tipe data ini mempunyai nilai Benar dan Salah 2. Tipe Bentukan Tipe bentukan adalah tipe data yang didefenisikan sendiri oleh pemrogram. Ada 3 tipe data bentukan 1. String 2. Tipe data dasar yang diberi nama dengan nama tipe baru. 3. Rekaman (record) 1. String Adalah deretan karakter dengan panjang tertentu Contoh : a:string[15] 2. Tipe data dasar yang diberi nama baru Contoh : Type BilBulat : Integer: 3. Rekaman
Team Dosen Algoritma dan Struktur Data
Perrtemuan 4 (pratikum)
Runtunan
Merupakan urutan proses program yang terurut tanpa adanya proses percabangan. Contoh untuk proses runtunan ini juga bisa dilihat pada pertukaran isi bejana pada pertemuan 1 Contoh : buat algoritma dan program untuk menghitung hasil formula berikut Nilai x bisa didapatkan dari hasil perkalian p dan q. dimana nilai p didapatkan dari formula berikut : P=3a+b *c Sedangkan nilai q didapat kan dari formula q=4b*c+d Tentukan terlebih dahulu data apa yang perlu diinputkan dan urutkan proses yang harus dikerjakan. Algoritma :. Program pascal
Pertemuan 5 dan 6
Struktur Percabangan
Yaitu pemilihan suatu instruksi yang akan dikerjakan sesuai dengan kondisi / syarat tertentu a. IFTHEN
Digunakan jika pada pemilihan hanya ada satu aksi yang akan dilakukan jika kondisi tertentu terpenuhi dan tidak ada aksi yang lain yang akan dikerjakan jika kondisi tidak terpenuhi. Contoh :jika nilai rata besar dari 3 maka ket dapat bonus jika tidak tidak dapat apa-apa. Flow chart : Program :
Input Nil_rata
Write(nilai rata-rata : ); Readln(nil_rata); If nil_rata > 3 then Begin Ket:=Dapat Bonus End;
b. IFTHEN.ELSE Digunakan jika pada pemilihan ada dua aksi yang akan dilakukan
Team Dosen Algoritma dan Struktur Data
Contoh : jika nilai besar dari 60 maka keterangan lulus jika tidak keterangan gagal Flowchart :
Input nilai
Program :
Nilai>60 Ket=Gagal
Ket=Lulus
Write(Inputkan nilai: );Readln(nilai); If nilai > 60 then Begin Ket:=Lulus End Else Begin Ket:=Gagal End;
c. IFTHENELSEIF.THENELSE
Team Dosen Algoritma dan Struktur Data
Digunakan jika pada pemilihan ada beberapa aksi yang akan dilakukan berdasarkan beberapa syarat yang harus terpenuhi. Contoh : Tentukan apakah wujud air dalam keadaan cair, padat, atau gas. Flowchart :
Input Suhu
Write(Inputkan Suhu: );Readln(suhu); If suhu <= 0 then Begin Ket:=Padat End Else if suhu >= 100 then Begin Ket:=Gas End Else Begin Ket:=Cair End;
Flowchart :
program:
Input Bil
false false
Bil<0
true
Bil>0
true Ket=Positif
Ket=Negatif
Ket=Nol
Write(Inputkan Bil: );Readln(bil); If bil < 0 then Begin Ket:=Negatif End Else if bil > 0 then Begin Ket:=Positif End Else Begin Ket:=Bil. Nol End;
d. Struktur Case
Struktur case adalah cara lain yang bisa digunakan untuk memilih suatu kondisi tertentu. Syntax: Case (var) Var = ..: hasil =.. Var = ...: hasil =.. . . Endcase
Pertemuan 7,8
Team Dosen Algoritma dan Struktur Data
PENGULANGAN
- While..do - Repeat.until - For ..todo 1. While ..... Do Perulangan dengan while ..do digunakan selama kondisi (syarat) yang ada pada perulangan benar (terpenuhi) Contoh :Mencetak Halo sebanyak 10 kali K:=1 While k< 10 do begin write (Halo); k:=k+1; end;
K=1
K=k+1
Keterangan : Perintah write halo akan dilaksanakan selama nilai k<= 1, dimana di dalam setiap perulangan nilai k akan bertambah nialainya 1 (satu) sehingga perintah write akan dilakukan sebanyak 10 kali 2. Repeat ........ Until Perulangan dengan repeat until digunakan selama kondisi belum terpenuhi
K=1 Repeat
Write Halo
K=k+1
Until
Keterangan : Write (halo) akan dilakukan selama nilai K tidak besar dari 10. Pada struktur repeat until instruksi yang ada anatara repeat dan until minimal satu kali proses akan dilakukann karena nilai / syarat dari perulangan terletak di akhir struktur. 3. For ....to... do Perulangan dengan struktur for akan dilakukan sesuai dengan jumlah perulangan yang ditetapkan pada struktur for. Contoh : menampilkan halo sebanyak 10 kali K:=1 Repeat write (Halo); k:=k+1; Until k>10;
Keterangan : Write(halo) akan dilaksanakan sebanyak 10 kali sesuai dengan jumlah perulangan yang udah ditetapkan pada struktur For yaitu 1 s/d 10. pada struktur perulangan ini nilai K akan bertambah 1 secara otomatis begitu perintah sampai pada khir perulangan. Erulangan dengan struktur for dapat dibagi menjadi 2 bagian
Team Dosen Algoritma dan Struktur Data
1. For menaik 2. For menurun 1. For menaik - peubah haruslah bertipe sederhana kecuali tipe real - nilai awal harus lebih kecil atau sama dengan nilai akhir - pada awalnya peubah diinisialisasi dengan nilai awal. Nilai peubah otomatis bertambah satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir - jumlah pengulangan yang terjadi adalah nilai akhir nilai awal +1 2. For menurun - peubah haruslah bertipe sederhana kecuali tipe real - nilai awal harus lebih besar atau sama dengan nilai akhir - pada awalnya peubah diinisialisasi dengan nilai awal. Nilai peubah otomatis berkurang satu setiap kali aksi pengulangan dimasuki, sampai akhirnya nilai peubah sama dengan nilai akhir - jumlah pengulangan yang terjadi adalah nilai awal nilai akhir +1 Contoh-contoh Kasus
Pertemuan 10
Pada proses perulangan sangat dimungkinkan adanya terjadi proses perulangan didalam perulangan yang lain, proses ini dikenal dengan istilah Nested Loop 1. Nested Loop pada For ....... to ........ Do Syntax : For....to.....do Instruksi For....to....do Instruksi... end end Keterangan : Pada perulangan seperti ini proses perulangan yang akan diselesaikan terlebih dahulu adalah perulangan yang terletak pada bagian dalam. Contoh : inputkan data buku maksimal 5 Judul buku dimana masingmasing buku memiliki pengarang maksimal ada 4 pengarang. Berikut data lengkap yang harus diinputkan : Kode Buku : Judul Buku : Pengarang : Tahun Terbit
: For i:=1 to 5 do Begin Write (Kode Buku :); readln(kdb); Write (Judul Buku :); readln(jdl); For k:=1 to 4 do Begin Write (Pengarang :); readln(pg); Write (Tahun Terbit :); readln(th); End; End;
For i :=1 to 5
Input kdb,jdl
For k :=1 to 4
Input pg,th
Keterangan :
Pada program diatas proses perulangan pada i akan dilaksanakan terlebih dahulu untuk i=1, berikut proses perulangan akan berada pada k dimana perulangan akan dilaksanakan mulai dari k=1 sampai nilai k=4. Begitu nilai k=5 proses akan keluar dari perulangan k dan akan kembali ke perulangan i dengan nilai I akan langsung bertambah satu sehingga menjadi 2. Perulangan akan dilanjutkan kembali ke perulangan K mulai dari nilai k=1 lagi sampai nilai sama dengan 4. Begitu seterusnya sampai nilai I sama dengan 5. Begitu nilai I=6 maka proses akan keluar dari perulangan secara keseluruhan 2. Nesterd Loop Pada While ......Do Pada prinsip kerjanya nested loop while ...do sama dengan for..to..do dimana proses perulangan yang akan diselesaikan terlebih dahulu adalah perulangan yang terletak bagian dalam Syntax : While.........do Instruksi While .....do Instruksi End End Selesaikan contoh pada for ...to...do dengan menggunakan while....do
I:=1
K:=1
K:=K+1
I:=1; While I<=5 do Begin Write (Kode Buku :); readln(kdb); Write (Judul Buku :); readln(jdl); K:=1; While k<=1 to 4 do Begin Write (Pengarang :); readln(pg); Write (Tahun Terbit :); readln(th); K:=K+1; End; I:+I+1; End;
I=I+1
3. Nested Loop Pada Repeat ..........Until Proses nested repeat until hampir sama dengan proses yang ada pada nested for dan nested whie. Tetapi disini masing-masing perulangan pada repeat ...until satu kali proses pasti akan dilakukan sesuai dengan keterangan yang ada pada perulangan dengan repeat until. Contoh : Selesaikan kasus pada nested loop sebelumnya dengan menggunakan Repeat until.
Repeat
Input kdb,jdl
K:=1
Repeat
Input pg,th
K:=K+1
I:=1; Repeat Write (Kode Buku :); readln(kdb); Write (Judul Buku :); readln(jdl); K:=1; Repeat Write (Pengarang :); readln(pg); Write (Tahun Terbit :); readln(th); K:=K+1; Until K>4; I:+I+1; Until I>5;
Until K>4 do
I:=I+1
While I<=5 do
Pertemuan 11, 12
Team Dosen Algoritma dan Struktur Data
Procedure
Pengertian Procedure : Adalah merupakan blok program yang terpisah dari program utama dengan struktur program hampir sama dengan struktur program utama Struktur Procedure Judul Procedure Bagian Deklarasi Variabel Label Constanta Type Badan Procedure Begin instruksi End; Procedure sendiri harus dibuat sebelum program utama sesuai dengan struktur program. Setiap procedure dibatasi dengan end yang menggunakan tanda titik koma. Procedure biasanya ditemukan pada program untuk skala yang besar, sehingga dalam pembuatan program untuk lebih mudah dalam mendisainnya dibentuk dalam modul-modul program yang dikenal dengan Procedure. Namun demikian bukan berarti procedure tidak bisa diterapkan untuk program dengan skala yang lebih kecil. Prosedur dideklarasikan dengan menggunakan Statemen Procedure. Setiap procedure selalu diakhiri dengan menggunakan tanad titik koma pada end yang terakhir. Contoh pendeklarasian prosedur : Procedure Satu; Begin Write (ini adalah prosedur yang pertama); Repeat until keypressed; End; {Program Utama} Begin Satu; Write (Prosedur pertama selesai); Repeat untuil keypressed; End.
Team Dosen Algoritma dan Struktur Data
Pada contoh diatas pada saat program dijalankan maka program utama akan dieksekusi terlebih dahulu. Pada saat proses eksekusi ditemukan perintah satu yang dikenal sebagai nama sebuah prosedur. Nama ini dikenal pada saat compiler mengkompilasi program maka satu dicatat sebagai nama sebuah prosedur . Jadi begitu ditemukan satu maka compiler akan mencari kelisting program prosedur dengan nama satu. Setelah ditemukan maka akan diproses. Setelah proses pada prosedur selesai maka proses program akan kembali pada program utama. Contoh :kasus Buat program dengan menggunakan prosedur untuk menampilkan output berikut : Algoritma adalah dasar untuk pembuatan program Algoritma dapat digambarkan dengan Flow Chart Program Pascal adalah salah satu bahasa untuk mengantarkan algoritma Ketentuan proses : Kalimat pertama dibuat pada prosedur dengan nama Algoritma Kalimat kedua dibuat pada prosedur dengan nama Flow_Chart Kalimat ketiga dibuat pada prosedur dengan nama Pascal
Procedure Satu; Var A : integer; Begin End; Var X:longint; Procedure Dua; Var B:integer; Begin End; Var P,Q : Longint; Begin ....... ....... End. Keterangan : Var A dan Var B adalah variabel lokal pada prosedur satu dan dua. Var A hanya bisa digunakan untuk proses yang ada pada prosedur satu sedangkan Var B hanya dapat digunakan untuk proses pada prosedur dua. Var X adalah variabel yang bersifat global untuk prosedur dua dan program utama. Jadi var X dapat digunakan untuk proses baik pada prosedur dua maupun pada program utama, tetapi tidak bisa digunakan untuk proses pada prosedur satu. Var P,Q adalah var yang hanya dapat digunakan pada program utama saja. Contoh kasus Buat program untuk menghitung luas suatu bangun dengan output sebagai berikut. Program Menghitung Luas Bangun Bujur Sangkar dan Segitiga Siku-Siku 1. Luas Bujur Sangkar 2. Luas Segitiga Siku-Siku 3. Selesai Input Pilihan [1-2] :..
Team Dosen Algoritma dan Struktur Data
Mencari Luas Bujur Sangkar Input Panjang Sisi :..... Luas Bujur Sangkar Adalah :...... Tekan Enter Untuk Melanjutkan Mencari Luas Segitiga Siku-Siku Input Panjang Alas :..... Input Tinggi Segitiga :..... Luas Segitiga Adalah :...... Tekan Enter Untuk Melanjutkan Start Pil, Luas Cetak Output Program Utama Input pil
pil=1 pil=2
Bujur_sangkar Siku-Siku
Stop
Bujur_Sangka r Sisi Cetak Output Prosedur Bujur Sangkar Input sisi Luas = sisi * sisi
Cetak Luas
Return
Siku_Siku Alas,tinggi Cetak Output Prosedur Segitiga Siku-Siku Input alas, tinggi Luas = * alas * tinggi
Cetak Luas
Return
Team Dosen Algoritma dan Struktur Data
{Program Pascal} Var Pil : integer ; Luas : real; Procedure bujur_sangkar; Var sisi:integer; Begin Clrscr; Gotoxy (...,...) ; write (Mencari Luas Bujur Sangkar); Gotoxy (...,..) ; write (Input Panjang Sisi : ); Gotoxy (...,...) ; write ( Luas Bujur Sangkar Adalah :); Gotoxy (...,... ) ; readln (sisi); Luas := sisi * sisi ; Gotoxy (..,...) ; write (luas:6:1); Repeat until keypressed; End; Procedure siku_siku; Var alas,tinggi:integer; Begin Clrscr; Gotoxy (...,...) ; write (Mencari Luas Segi Tiga Siku-Siku); Gotoxy (...,..) ; write (Input Panjang Alas : ); Gotoxy (...,..) ; write (Input Tinggi Segi Tiga : ); Gotoxy (...,...) ; write ( Luas Segi Tiga Adalah :); Gotoxy (...,... ) ; readln (alas); Gotoxy (...,... ) ; readln (tinggi); Luas := 0.5 * alas * tinggi ; Gotoxy (..,...) ; write (luas:6:1); Repeat until keypressed; End; Begin Clrscr; Gotoxy (...,...); write (Program Menghitung Luas Bangun); Gotoxy (...,...); write (Bujur Sangkar dan Segitiga Siku-Siku); Gotoxy (...,...); write (Luas Bujur Sangkar); Gotoxy (...,...); write (Luas Segitiga Siku-Siku); Gotoxy (...,...); write (Selesai); Gotoxy (...,...); write (Input Pilihan [1-2] :..); Gotoxy (...,...);readln(pil); If pil=1 then Bujur_sangkar Else if pil=2 then
Team Dosen Algoritma dan Struktur Data
Siku_siku; Repeat until keypressed; End. Keterangan program Pada program di atas var pil dan luas adalah bersifat global untuk semua blok program. Var sisi bersifat lokal untuk prosedur bujur sangkar Var alas,tinggi bersifat lokal untuk siku-siku. Kasus : Buatlah program untuk menghitung Nilai Faktorial dan Pangkat dengan output sebagai berikut : Program Menghitung Nilai Faktorial dan Pangkat 1. Faktorial 2. Pangkat 3. Selesai Input Pilihan [1-3] :.. Menghitung Faktorial Input Bilangan Yang Dicari Nilai Faktorialnya Adalah Tekan Untuk Melanjutkan Menghitung Pangkat Input Bilangan Yang Dicari Input Jumlah angkat Yang Diinginkan ..... Pangkat..... adalah ........ Tekan Enter Untuk Melanjutkan :... :..... :... :.....
Cetak Output Input pj,lb,tg Persegi_Panjang (pj,tg,ls) Sisi1:=ls Persegi_Panjang (lb,tg,ls) Sisi2:=ls Persegi_Panjang (lb,pj,ls) Sisi3:=ls Lper := 2*sisi1+2*sisi2+2*sisi3
Cetak LPer
Stop
Procedure persegi_panjang (panjang,lebar : integer ; var luas:integer ); Begin Luas := panjang * lebar; End; {program utama} var pj,lb,tg,ls,sisi1,sisi2,sisi3 :integer; Begin Clrscr; Gotoxy (,) ; write (Menghitung Luas Permukaan Balok); Gotoxy (, ) ; write (Input Panjang Alas :); Gotoxy (, ) ; write (Input Lebar Alas :); Gotoxy (, ) ; write (Input Tinggi Balok :); Gotoxy (, ) ; write (Luas Permukaan Balok Adalah :..); Gotoxy (, ) ; readln ( pj ); Gotoxy (, ) ; readln ( lb ); Gotoxy (, ) ; readln ( tg ); Persegipanjang(pj,tg,ls); Sisi1:=ls; Persegipanjang(lb,tg,ls); Sisi2 :=ls; Persegipanjang(pj,lb,ls); Sisi3:=ls; Lper := 2*sisi1+2*sisi2+2*sisi3 Gotoxy (,) ; write (lper); Repeat until keypressed; End.
Keterangan :
Pada program diatas luas permukaan balok merupakan luas semua sisi balok. Dimana balok terdiri dari 6 sisi seperti terlihat pada gambar diatas. Semua permukaan balok merupakan persegipanjang, sehingga kita dapat hanya menggunakan prosedur persegi panjang. Pada prosedur persegi panjang ada 2 cara pengiriman data yaitu secara nilai dan secara acuan. Pengiriman secara nilai ditandai dengan penggunaa kata VAR
Pengiriman secara nilai adalah : bahwa hasil yang didapatkan pada prosedur tidak akan mempengaruhi nilai yang ada pada modul yang mengirim (dalam hal ini adalah program utama). Sehingga perubahan nilai variabel panjang pada prosedur tidak akan mempengaruhi nilai var PJ pada program utama. Pengiriman secara Acuan adalah : bahwa hasil yang didapatkan pada prosedur akan mempengaruhi nilai yang ada pada modul yang mengirim. Sehingga perubahan niali var Luas pada prosedur akan mempengaruhi nilai var LS pada program utama.
Algoritma dan Struktur Data I Pengiriman secara nilai begitu proses pada program yang dipanggil sudah selesai maka nilai variabel yang dikirim akan dikembalikan ke modul yang memanggil.
Kasus Buat flowchart dan program pascal untuk menghitung formula berikut : 1. Z=2^5 + 5! 2. Z=X! + Y + X^Y Gunakan prosedur pangkat dan faktorial untuk menyelesaikan kasus diatas. Tampilan dari hasil program dirancang sendiri.
Fungsi hampir sama dengan prosedur yaitu merupakan bagian program yang terpisah dari program utama. Perbedaan fungsi dengan prosedur adalah bahwa nilai suatu fungsi terletak pada nama fungsi itu sendiri sedangkan pada prosedur nilai prosedur terletak pada variabel. Sebuah prosedur dapat saja dijadikan fungsi. Kasus diatas dijadikan sebuah fungsi dengan tipe integer. Buat program dengan menggunakan fungsi persegi panjang dengan panjang sisi balok diinputkan melalui program. Output Menghitung Luas Permukaan Balok Input Panjang Alas Input Lebar Alas Input Tinggi Balok :. :. :
Lper := 2*sisi1+2*sisi2+2*sisi3
Cetak LPer
Stop
Begin Luas := panjang * lebar; Persegi_panjang :=luas; End; {program utama} var pj,lb,tg,ls,sisi1,sisi2,sisi3 :integer; Begin Clrscr; Gotoxy (,) ; write (Menghitung Luas Permukaan Balok); Gotoxy (, ) ; write (Input Panjang Alas :); Gotoxy (, ) ; write (Input Lebar Alas :); Gotoxy (, ) ; write (Input Tinggi Balok :); Gotoxy (, ) ; write (Luas Permukaan Balok Adalah :..); Gotoxy (, ) ; readln ( pj ); Gotoxy (, ) ; readln ( lb ); Gotoxy (, ) ; readln ( tg ); Sisi1:=Persegipanjang(pj,tg); Sisi2:=Persegipanjang(lb,tg); Sisi3:=Persegipanjang(pj,lb,; Lper := 2*sisi1+2*sisi2+2*sisi3 Gotoxy (,) ; write (lper); Repeat until keypressed; End.