ALGORITMA PEMROGRAMAN 2A PERTEMUAN KE 6 ALGORITMA PEMROGRAMAN 2A
SATUAN ACARA PERKULIAHAN (SAP) 1. Parameter Dalam Procedure a. Pengiriman parameter secara nilai b. Pengiriman parameter secara acuan 2. Procedure memanggil procedure yang lain 3. Procedure Tersarang 4. Procedure memanggil dirinya sendiri.
Di saat program kita sudah menjadi besar kita akan mengalami kesulitan dalam mengatur kode program,jika semua kode tersebut disatukan. Untuk mengatasi hal tersebut, kita bisa menggunakan subprogram untuk membuat program kita terbagi menjadi beberapa bagian yang masing-masing lebih kecil dan lebih mudah dikelola. Pemecahan program menjadi subprogram yang lebih kecil juga akan mempermudah kita jika ingin membuat program yang serupa, kita hanya perlu menyalin, atau memakai subprogram yang sudah ada di dalam program kita yang baru.
pendahuluan Salah satu teknik untuk pemrograman terstruktur adalah teknik rancang atas-bawah. ( Top – Down – Design ) Subprogram : 1. PROCEDURE 2. FUNCTION
Pendahuluan (lnjt) Dalam setiap bahasa pemrogramanproseduralumumnya dikenal prosedurdan fungsi, dua buah bentuk subprogram yang umum. Fungsi adalah subprogram yang memetakan suatu nilai dari suatu domain ke domain lain, sedangkan prosedur adalah suatu subprogram yang melakukan aksi tertentu. Procedure dan Function adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk memproses sebagian dari pekerjaan program utama.
Procedure Prosedur -> diawali dengan kata Procedure Prosedure ini digunakan untuk aktivitas yang harus dilakukan lebih dari satu kali dan untuk menghindari penulisan teks program yang sama secara berulang kali. Prosedur ini cukup ditulis sebanyak satu kali namun dapat dipanggil dari bagian program utama. Pada dasarnya, struktur prosedur sama dengan struktur program yang sudah kita kenal, hanya saja bagian judul (header) ditulis PROCEDURE (bukan lagi PROGRAM) Prosedur ini dapat disebut juga sebagai SUB ROUTINE.
Procedure (lnjt) Prosedur banyak digunakan pada program yang terstruktur, karena : Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan. Sebagaimana halnya sebuah program, suatu procedure juga memiliki header dan block. Perbedaan bentuknya dengan program hanyalah pada bagian header-nya saja.
Procedure (lnjt) Bentuk Umum header suatu procedure adalah : PROCEDURE nama; Atau PROCEDURE nama (formal parameter : jenis); Untuk memanggil prosedur yang telah kita buat, cukup dengan menuliskan nama dari prosedur yang bersangkutan Jika kita menggunakan procedure dalam suatu program, maka procedure tersebut harus dituliskan pada bagian deklarasi.
Procedure (lnjt) Contoh : Misal akan dibuat suatu procedure untuk menentukan bilangan bulat terbesar diantara tiga bilangan bulat, maka procedure tersebut adalah sbb: Selanjutnya, di dalam suatu program, procedure ini dapat digunakan dengan bentuk penulisan sebagai berikut :
Procedure (lnjt) Contoh 2 : PROGRAM CONTOH_2; VAR p,l,t,vol,panj : real; PROCEDURE kotak; VAR v,pl : real; BEGIN v := p * l * t ; pl := p + 2.0 * t; writeln(v,pl); END; writeln(‘panjang’ : 10,’lebar’ : 10,’tinggi’ : 10); readln(p,l,t); kotak; END.
Jangkauan identifier Procedure Identifier yang dideklarasikan dalam suatu blok program hanya berlaku pada blok dimana identifier tersebut didefinisikan. Y = variabel Lokal X = Variabel Global
Jangkauan identifier Procedure (lnjt)
Procedure (LNJT) Bentuk Umum header suatu procedure adalah: 1. Header Procedure Tanpa Parameter Bentuk Umum : Procedure NamaProcedure; Contoh : Procedure BuatKotak; Procedure Input; Procedure Output; Struktur blok Program : Contoh Program :
Procedure (lnjt) 2. Header Procedure Dengan Parameter Bentuk Umum : Procedure <NamaProcedure> (<Daftar Parameter: Jenis >) Contoh : Procedure Hitung ( a , b : byte ; c : real) ; Procedure Lingkaran ( x , y, jari : integer ) ; Struktur Blok Program : Contoh Program :
Procedure (LNJT) 1. PROCEDURE DENGAN PARAMETER Nilai di dalam suatu prosedur sifatnya adalah lokal, berarti hanya dapat digunakan oleh prosedur tersebut saja dan tidak dapat digunakan oleh prosedur yang lain. Supaya nilai variabel dalam prosedur dapt digunakan dalam sub program lain atau dalam program utama, dapat dilakukan dua cara; yaitu : 1. Variabel di buat global 2. Variabel di kirim sebagai parameter ke sub program yang membutuhkan.
Procedure (LNJT) Keterangan : Variabel X dan Y sifatnya adalah lokal untuk prosedur Tanya_hitung, artinya hanya dapat digunakan pada modul itu saja, Pada modul yang lain tidak dapat digunakan,
Procedure (LNJT) Supaya nilai variabel dapat digunakan di modul lainnya, maka dapat dilakukan dengan cara : Dibuat bersifat global Dikirimkan sebagai parameter ke modul yang membutuhkannya.
Procedure (LNJT) Dibuat bersifat global Pada contoh diatas, variabel A dab B bersifat global untuk prosedur kedua, ketiga dan utama, tetapi tidak bersifat global untuk prosedur kesatu, sehingga prosedur kesatu tidak dapat menggunakan variabel-variabel tersebut.
Procedure (LNJT) Pada contoh ini, variabel A dan B bersifat global untuk semua modul.
Procedure (LNJT) 2. Dikirimkan sebagai parameter ke modul yang membutuhkannya. Parameter yang dikirim dari modul utama ke modul prosedur disebut actual parameter, dan parameter yang ada dan dituliskan pada judul prosedur disebut formal parameter. 2.1 Pengiriman parameter secara nilai Parameter yang dikirimkan secara nilai, maka parameter formal yang ada di prosedur akan berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur.
Procedure (LNJT) 2.1 Pengiriman parameter secara nilai (lnjt) Procedure di atas dapat dipanggil dengan variabel yang berbeda, tetapi penulisannya harus diubah dengan menggunakan parameter sbb:
Procedure (LNJT) 2.1 Pengiriman parameter secara nilai (lnjt)
Procedure (LNJT) 2.2 Pengiriman parameter secara acuan Sifat dari pengiriman parameter secara acuan adalah dua arah artinya perubahan dari parameter formal akan mempengaruhi nilai dari parameter nyata.
Procedure (LNJT) 2.2 Pengiriman parameter secara acuan (lnjt)
Procedure (LNJT) 2.2 Pengiriman parameter secara acuan
Procedure (LNJT) 2.2.1 Acuan Forward Digunakan untuk mendeklarasikan dimuka judul prosedur terpisah dari bloknya.
Procedure (LNJT) Di dalam pascal diperkenankan prosedur memanggil prosedur yang lain. Contoh :
Procedure (LNJT) Prosedur Tersarang Prosedur tersarang adalah prosedur yang terdapat didalam prosedur yang lain dan dipanggil oleh prosedur diluarnya.
Procedure (LNJT) Prosedur memanggil dirinya sendiri (rekursi) Di dalam pascal diperkenankan memanggil prosedurnya sendiri. istilah ini disebut sebagai recursion. Dalam penggunaanya membutuhkan memory yang besar. Karena pada setiap pemanggilan sejumlah memory tambahan dibutuhkan.
Procedure (LNJT) Prosedur memanggil dirinya sendiri (rekursi) (lnjt)
Sekian dan terima kasih