Anda di halaman 1dari 13

PERCOBAAN V PROSEDUR DAN FUNGSI

5.1. TUJUAN 1. Praktikan mampu memahami struktur subprogram (subroutine) 2. Praktikan mampu menyusun program menggunakan procedure 3. Praktikan mampu menyusun program menggunakan function

5.2. LANDASAN TEORI Sub program adalah suatu program terpisah dalam blok tersendiri pada program utama,dan dilaksanakan bila judul subprogram di panggil pada program utama. Sub program tidak dapat berdiri sendiri artinya tidak dapat dijalankan tanpa subprogram utama. Pascal menyediakan 2 (dua) macam subprogram yaitu procedure dan fungsi. (M.Jahiding, Abriansyah, 1-2:2012). STRUKTUR SUBPROGRAM 1. Bagian judul, yang terdiri dari kata simpanan Procedure untuk subprogram prosedur atau Function untuk subprogram fungsi, dan diikuti nama subprogram. Bentuk penulisannya : Prosedur NamaProsedur (Draft Parameter beserta tipe);

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 58

Function NamaFungsi (Daftar parameter beserta tipe): Tipe dari fungsi; 2. Bagian deklarasi, sama dengan bagian deklarasi program pada umumnya. 3. Badan subprogram, sama dengan badan program pada umumnya yang dimulai kata BEGIN tapi diakhiri kata END diikuti tanda titik koma ; PARAMETER DALAM SUBPROGRAM Nilai dalam suatu modul dalam program pascal sifatnya adalah lokal, artinya hanya dapat digunakan oleh modul atau unit yang bersangkutan dan tidak dapat digunakan oleh modul lain. Agar nilai-nilai variabel dapat digunakan di modul lain yang membutuhkannya, maka dapat dilakukan dengan cara sebagai berikut : 1. Dibuat bersifat global. Supaya nilai dapat bersifat global maka harus dideklarasikan di atas modul yang akan menggunakannya. 2. Dikirim sebagai parameter ke modul yang membutuhkan. Parameter yang dikirim ke modul utama ke subprogram disebut parameter nyata, sedangkan parameter yang ada dan dituliskan pada judul subprogram disebut parameter formal. Pengiriman parameter-parameter ini dapat dilakukan dengan cara : Secara nilai (by value)

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 59

Parameter nyata yang dikirim ke parameter formal di subprogram akan bersifat lokal. Jadi perubahan parameter formal ini tidak

mempengaruhi nilai parameter nyata. Parameter acuan (by reference) Perubahan yang terjadi pada parameter formal di subprogram akan mempengaruhi parameter nyata. Parameter formal ini disebut parameter variabel yang dideklarasikan pada judul subprogram dengan menggunakan kata cadang var. (asmin07.files.wordpress.com/2010/08/materi-fiskom-bab-5.doc) Fungsi (Function) Merupakan subprogram ber-parameter dan

mengembalikan sebuah nilai ke program pemanggil. Nama fungsi digunakan sebagai indikasi nilai yang akan dikembalikan. Operasi fungsi ini tidak boleh mengubah state variabel. Prosedur adalah suatu program terpisah dalam blok tersendiri yang berfungsi sebagai subprogram. Prosedur diawali dengan kata procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan didalam blok program yang lainnya dengan menyebutkan judul prosedurnya. (http://kur2003.if.itb.ac.id/file/D_subprogram-SP-RS%5Brev1%5D.pdf)

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 60

5.3. LANGKAH-LANGKAH PERCOBAAN 1. Mengetik pada editor turbo pascal dan menjalankan program di bawah ini. Program Coba1; uses wincrt; var I, T : Integer; Jawab : Char; Procedure Gambar_Segitiga (Tinggi : Integer ); Var Puncak, Alas, Sisi, Blank : Integer; Begin Alas := Tinggi; For Puncak := 1 To Alas Do Begin For Blank := 1 To (Alas-Puncak) Do Write (' '); For sisi := 1 To (2*Puncak-1) Do Write ('*'); Writeln ; End; End; Procedure Tanya; Begin Write (' mau gambar lagi (Y/T) :'); Readln (Jawab); End; Begin Clrscr; Gambar_Segitiga (15); Tanya; While (jawab = 'Y') or (jawab = 'y') Do Begin Write ('Tinggi Segitiga :'); Readln (T); Clrscr; Gambar_segitiga(T); Tanya; End; End. Alas := Tinggi For Puncak := 1 To alas Do Begin For Blank := 1 To (Alas-Ouncak) Do Write (' ');

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 61

For Sisi := Write ('*'); Writeln; End; End.

To

(2*Puncak-1)

Do

2. Mengetik pada editor turbo pascal dan menjalankan program di bawah ini. Program Coba2; Uses wincrt; Var N : Integer; Fak : Real; Procedure Faktorial(N : Integer; var Fak :Real); Var I : Integer; Begin Fak := 1; For I := 1 To N Do Fak := Fak*I; End; Begin Write ('Bilangan yang akan dicari faktorialnya : '); Readln (N); Faktorial (N,Fak); Writeln ('Faktorial dari ',N , ' adalah ',Fak : 9 :2); End. 3. Mengetik pada editor turbo pascal dan menjalankan program di bawah ini Program Coba3; Uses wincrt; Var A,N,P : Integer; Function Pangkat (Bil, Pangk : Integer integer ; Var I,K : Integer ; Begin K :=1; For I := 1 To Pangk Do K := K*Bil; Pangkat := K; End;

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 62

Begin Clrscr ; Writeln ('2 Pangkat 5 adalah ', pangkat (2,5)); Writeln; Writeln ('Tulis bilangan yang dipangkatkan'); Read (A); Writeln ('Pangkat') ; Read (N); P := Pangkat (A,N) ; Writeln (A,' Pangkat ',N,' adalah ',P); End.

5.4. PERCOBAAN DAN HASIL EKSEKUSI 1. Program Coba1 Program Coba1; uses wincrt; var I, T : Integer; Jawab : Char; Procedure Gambar_Segitiga (Tinggi : Integer ); Var Puncak, Alas, Sisi, Blank : Integer; Begin Alas := Tinggi; For Puncak := 1 To Alas Do Begin For Blank := 1 To (Alas-Puncak) Do Write (' '); For sisi := 1 To (2*Puncak-1) Do Write ('*'); Writeln ; End; End; Procedure Tanya; Begin Write (' mau gambar lagi (Y/T) :'); Readln (Jawab); End; Begin Clrscr; Gambar_Segitiga (15); LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN Page 63

Tanya; While (jawab = 'Y') or (jawab = 'y') Do Begin Write ('Tinggi Segitiga :'); Readln (T); Clrscr; Gambar_segitiga(T); Tanya; End; End. Alas := Tinggi For Puncak := 1 To alas Do Begin For Blank := 1 To (Alas-Ouncak) Write (' '); For Sisi := 1 To (2*Puncak-1) Write ('*'); Writeln; End; End. Hasil Eksekusi

Do Do

Gambar 5.1 Hasil eksekusi Program Coba 1

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 64

Gambar 5.2 Hasil eksekusi Program Coba 1

2. Program Coba2 Program Coba2; Uses wincrt; Var N : Integer; Fak : Real; Procedure Faktorial(N : Integer; var Fak :Real); Var I : Integer; Begin Fak := 1; For I := 1 To N Do Fak := Fak*I; End; Begin Write ('Bilangan yang akan dicari faktorialnya : '); Readln (N); Faktorial (N,Fak); Writeln ('Faktorial dari ',N , ' adalah ',Fak : 9 :2); End.

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 65

Hasil Eksekusi

Gambar 5.3 Hasil eksekusi Program Coba 2 3. Program Coba3 Program Coba3; Uses wincrt; Var A,N,P : Integer; Function Pangkat (Bil, Pangk : Integer ) : integer ; Var I,K : Integer ; Begin K :=1; For I := 1 To Pangk Do K := K*Bil; Pangkat := K; End; Begin Clrscr ; Writeln ('2 Pangkat 5 adalah ', pangkat (2,5)); Writeln; Writeln ('Tulis bilangan yang dipangkatkan'); Read (A); Writeln ('Pangkat') ; Read (N); P := Pangkat (A,N) ; Writeln (A,' Pangkat ',N,' adalah ',P);
End.

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 66

Hasil eksekusi

Gambar 5.4 Hasil eksekusi Program Coba 3

5.5. PEMBAHASAN Sub program adalah suatu program terpisah dalam blok tersendiri pada program utama,dan dilaksanakan bila judul subprogram di panggil pada program utama. Pada umumnya ada dua kelompok subprogram yaitu function dan procedure. Fungsi (Function) Merupakan subprogram ber-parameter dan mengembalikan sebuah nilai ke program pemanggil. Nama fungsi digunakan sebagai indikasi nilai yang akan dikembalikan. Operasi fungsi ini tidak boleh mengubah state variabel. Dan Prosedur adalah suatu program terpisah dalam blok tersendiri yang berfungsi sebagai subprogram. Prosedur diawali dengan kata procedure di dalam bagian deklarasi prosedur. Pada praktikum prosedur dan fungsi ada tiga program yang kami buat yaitu program coba 1 atau program menggambar segitiga, program coba 2 atau program faktorial dan program coba 3 atau program pangkat. Pada program coba 1 atau program menggambar segitiga tipe data yang digunakan untuk variabel I, T, puncak, alas, sisi dan blank yaitu LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN Page 67

integer sedangkan untuk variabel jawab tipe data yang digunakan yaitu char. Char digunakan pada variabel jawab karena variabel jawab ini berupa suatu karakter huruf. Pada program ini program pembantu yang digunakan yaitu procedure. Pada program ini program pembantu procedure yang digunakan ada dua yaitu procedure gambar segitiga dan procedure Tanya. Untuk mengaplikasikan gambar segitiga pada program ini, maka digunakan operasi FOR TO DO yaitu dari puncak ke alas. Selain itu, untuk mengulang proses menggambar segitiga maka digunakan operasi While-DO. Setelah program dibuat maka dilakukan compile dan run. Pada kotak dialog run telah tampil gambar segitiga dengan tinggi 15 karena pada program telah dimasukkan data segitiga dengan tinggi 15. Selain itu, pada kotak dialog run terdapat pilihan untuk perulangan menggambar segitiga, jika dipilih Y maka proses penggambaran segitiga akan diulang dengan cara memasukkan tinggi segitiga dan jika dipilih T maka proses penggambaran akan berhenti. Untuk lebih jelas, dapat dilihat pada percobaan dan hasil eksekusi untuk program coba 1. Pada program coba 2 atau program factorial, tipe data yang digunakan untuk variabel N dan I yaitu integer dan untuk variabel Fak (factorial) yang digunakan yaitu real. Pada program ini, program pembantu yang digunakan sama dengan program coba 1 yaitu subprogram procedure. selain itu, program coba 2 juga menggunakan operasi FOR TO DO yaitu dari bilangan 1 sampai N (bilangan yang akan dicari faktorialnya). Setelah program dibuat maka dilakukan compile dan run. Pada kotak dialog run

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 68

akan tampil data untuk memasukkan bilangan yang akan dicari faktorialnya. Jika bilangan 5 yang dimasukkan maka akan tampil factorial dari 5. Untuk lebih jelas dapat dilihat pada bagian percobaan dan hasil eksekusi. Pada program coba 3 atau program pangkat tipe data yang digunakan untuk variabel A, N, P, I, dan K yaitu integer. Pada program ini program pembantu yang digunakan yaitu function dengan tipe data integer. Pada program ini juga digunakan operasi FOR TO DO dari 1 sampai nilai yang akan dipangkatkan. Setelah program selesai dibuat compile dan run. Pada kotak dialog run telah tampil data bilangan 2 (A) yang dipangkatkan dengan bilangan 5 (N) karena pada operasi writeln telah dimasukkan data 2 pangkat 5 yang diapit oleh tanda petik (). Setelah itu tampil data untuk memasukkan nilai A (bilangan yang akan dimasukkan) dan N (bilangan yang menjadi pangkat). Untuk lebih jelas dapat dilihat pada bagian percobaan dan hasil eksekusi untuk program coba 3. 5.6. KESIMPULAN Kesimpulan yang dapat ditarik pada praktikum Prosedur dan Fungsi yaitu sebagai berikut: 1. Sub program adalah suatu program terpisah dalam blok tersendiri pada program utama,dan dilaksanakan bila judul subprogram di panggil pada program utama. 2. Sama dengan struktur program sederhana, struktur subprogram terdiri dari tiga bagian yaitu bagian judul, bagian deklarasi dan bagian prosedur. LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN Page 69

3.

Fungsi

(Function)

Merupakan

subprogram

ber-parameter

dan

mengembalikan sebuah nilai ke program pemanggil. Nama fungsi digunakan sebagai indikasi nilai yang akan dikembalikan. Operasi fungsi ini tidak boleh mengubah state variabel. 4. Prosedur adalah suatu program terpisah dalam blok tersendiri yang berfungsi sebagai subprogram. Prosedur diawali dengan kata procedure di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan didalam blok program yang lainnya dengan menyebutkan judul prosedurnya.

5.7. SARAN Adapun saran yang dapat saya ajukan pada praktikum kali ini yaitu agar sebelum praktikum, asisten menyampaikan materi yang berkaitan

dengan program yang akan dibuat.

LAPORAN LENGKAP ALGORITMA DAN PEMROGRAMAN

Page 70

Anda mungkin juga menyukai