Procedure pada Pascal ALPROG II Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Penilaian Nilai Teori Nilai Praktek Absen (5%) Kuis (10%) Tugas (25%) MID + Latihan (30%) UAS (30%) Nilai Praktek Nilai Akhir = (Nilai Teori + Nilai Praktek)/2 Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Materi Prosedur Fungsi Array Dimensi Banyak Matriks Rekursi Pencarian Shorting Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Referensi Pemrograman Pascal (Abdul Kadir) Penerbit Andi Teknik Pemrograman Pascal (Budi Raharjo) Informatika Algoritma & Pemrograman (Rinaldi Munir) Informatika E-book / Internet Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Latihan Awal : Buatlah program untuk menghitung Volume Kubus (V=r3) Buatlah program untuk menghitung Volume Balok (V=p.l.t ) Buatlah program untuk menghitung Volume Limas (V=1/3. La. t) Buatlah program untuk menghitung Volume Selinder (V= π.r2.t ) Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Prosedur Prosedur dalam Pascal dapat berbentuk : nama_prosedur Prosedur dalam Pascal dapat berbentuk : Prosedur yang didefinisikan dan dibuat sendiri oleh progammer Prosedur yang telah disediakan oleh Pascal (Standard Procedure) contoh clrscr, gotoxy Prosedur yang dibuat sendiri oleh programmer harus dideklarasikan terlebih dahulu di deklarasi prosedur. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Deklarasi Prosedur Prosedur merupakan bagian yang terpisah dari program dan dapat diaktifkan dimanapun di dalam program. Kata Kunci “Procedure” digunakan sebagai judul dari bagian deklarasi prosedur, diikuti oleh identifier yang merupakan nama dari prosedurnya dan secara optional dapat diikuti oleh kumpulan parameter yang diakhiri dengan titik koma. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Contoh Prosedur Uses wincrt; procedure Coba; begin WriteLn (‘Saya adalah isi dari prosedur Coba’); end; {Program Utama} Begin Coba; End. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Tugas 1 * Gunakan variabel Global dan variabel Lokal * Buatlah Procedure untuk menghitung Volume Kubus (V=r3) Buatlah Procedure untuk menghitung Volume Balok (V=p.l.t ) Buatlah Procedure untuk menghitung Volume Limas (V=1/3. La. t) Buatlah Procedure untuk menghitung Volume Selinder (V= π.r2.t ) Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II * Gunakan variabel Global dan variabel Lokal *
Parameter dalam Prosedur Nilai di dalam suatu modul Program Pascal sifatnya LOKAL (hanya dapat digunakan pada modul atau unit program yg bersangkutan saja, tidak dapat digunakan pada modul/unit program yg lain) Untuk bersifat GLOBAL harus dideklarasikan di luar modul atau unit program. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Pengiriman Parameter By Value By Reference Campur Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Parameter By Value Prosedur dimulai dengan deklarasi prosedur dengan judul prosedur : Procedure nama_prosedur (nama_variabel_formal : tipe_data); Variabel Lokal yg hanya digunakan di prosedur tersebut dan tidak termasuk sebagai parameter formal harus didefinisikan sendiri didalam prosedur tersebut. Var variabel_lokal : tipe data; Hubungan antara variabel formal di prosedur dengan variabel nyata di program : satu arah yaitu nilai dari variabel nyata dikirim ke variabel formal Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Parameter By Reference Perubahan pada nilai variabel formal di prosedur akan mempengaruhi nilai variabel nyata. Procedure nama_prosedur( VAR variabel_formal : tipe_data) Hubungan antara variabel formal di prosedur dengan variabel nyata di program : dua arah/bolak-balik. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Contoh Var X,Y,Z : Integer; Procedure Hitung(Var A, B, C : Integer); Begin C := A+B; End; X := 2; Y := 3; Hitung (X,Y,Z); WriteLn (‘X = ’, X); WriteLn (‘Y = ’, Y); WriteLn (‘Z = ’, Z); End. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Parameter Campur Pengiriman parameter dapat dicampur sebagian secara nilai dan sebagian secara acuan dalam suatu prosedur. Yg hanya dibutuhkan pada prosedur saja dapat dikirim by value, yg ingin dikirimkan balik dapat dilakukan by reference. Procedure nama_prosedur(variabel_formal : tipe_data; VAR variabel_formal : tipe_data) Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Tipe Data Variabel Formal Tipe Sederhana seperti Integer, Byte, Char, Real, Shortint, dan Longint dapat digunakan sebagai tipe dari variabel formal. Untuk String dan Array harus dideklarasikan terlebih dahulu di luar prosedur. Contoh 1 Type Angka = Array[1..100] of Integer; Procedure Jumlah(Nilai : Angka); Contoh 2 Huruf = String[30] Procedure Alfabet(Isi : Huruf); Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Prosedur Memanggil Prosedur Di dalam suatu prosedur yang dbuat sendiri dapat memanggil prosedur lainnya. Contoh Procedure A1(B1 : Integer); Begin WriteLn (‘Nilai B = ‘, B1,’ ada di prosedure A1’); End; Procedure A2(B2 : Integer); WriteLn (‘Nilai B = ‘,B2,’ ada di prosedur A2’); A1(B2); Var X : Integer; X:= 5; A2(X); End. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Prosedur Tersarang Disebut Nested Procedure Prosedur yang berada di dalam prosedur yang lainnya. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Contoh Uses Wincrt; Procedure pertama; Procedure Kedua; Begin WriteLn (‘Saya adalah prosedur kedua yg ada di dalam prosedur pertama’); End; Procedure Ketiga; WriteLn (Saya juga berada di dalam prosedur pertama, saya prosedur ketiga); WriteLn (‘Saya Prosedur Pertama’); Kedua; Ketiga; {program utama} WriteLn (‘Saya PROGRAM UTAMA’); WriteLn; Kesatu; Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Tugas 2 * Gunakan parameter by value * Buatlah Procedure untuk menghitung Volume Kubus (V=r3) Buatlah Procedure untuk menghitung Volume Balok (V=p.l.t ) Buatlah Procedure untuk menghitung Volume Limas (V=1/3. La. t) Buatlah Procedure untuk menghitung Volume Selinder (V= π.r2.t ) Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Tugas 2 * Gunakan parameter by reference * Buatlah Procedure untuk menghitung Volume Kubus (V=r3) Buatlah Procedure untuk menghitung Volume Balok (V=p.l.t ) Buatlah Procedure untuk menghitung Volume Limas (V=1/3. La. t) Buatlah Procedure untuk menghitung Volume Selinder (V= π.r2.t ) Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Tugas 3 * Gunakan parameter campuran * Buatlah Procedure untuk menghitung Volume Kubus (V=r3) Buatlah Procedure untuk menghitung Volume Balok (V=p.l.t ) Buatlah Procedure untuk menghitung Volume Limas (V=1/3. La. t) Buatlah Procedure untuk menghitung Volume Selinder (V= π.r2.t ) Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Prosedur Memanggil Dirinya Sendiri Suatu prosedur yang memanggil atau menggunakan prosedur itu juga (recursion) Contoh : Var I : Integer; Procedure Ulang; Begin WriteLn (‘Saya Belajar Pascal’); I := I +1; If I < 10 Then Ulang; End; {program utama} I := 1; Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II
Tugas 4 – Recursion Buatlah program dengan menggunakan prosedur by reference untuk menghitung faktorial suatu bilangan N. Gerlan A. Manu, ST.,MKom - Algoritma & Pemrograman II