Prosedur Nisa’ul Hafidhoh [email protected] 08156114760 Prosedur • Prosedur adalah sederetan instruksi algoritmik yang diberi nama, dan akan menghasilkan efek yang terdefinisi. • Secara sederhana, sebuah prosedur yang terdefinisi disimpan di tempat lain, dan ketika dipanggil dengan menyebutkan namanya seakan-akan teks yang tersimpan di tempat lain itu menggantikan teks pemanggilan. • Jadi, setiap prosedur harus: – didefinisikan (dibuat spesifikasinya), – dipanggil, saat eksekusi oleh prosedur lain / oleh 2 program utama. Variabel Variabel: suatu tempat untuk menampung data di memori yang nilainya dapat berubah-ubah selama program dijalankan. Variabel dapat dikategorikan menjadi 3: 1. Variabel global: variabel di luar fungsi 2. Variabel lokal: variabel di luar fungsi 3. Variabel statik: variabel yang nilainya dipertahankan walau sudah keluar fungsi 3 Parameter • Variabel khusus yang digunakan dalam suatu fungsi untuk menyimpan suatu potongan data sebagai input fungsi • Potongan data yang memiliki nilai khusus disebut argumen int jumlah(int x, int y) { return(x+y) } • x, y adalah parameter jumlah(2, 3) • 2, 3 adalah argumen 4 Jenis Parameter • Parameter Formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi/prosedur. • Parameter Aktual adalah variabel (parameter) yang dipakai dalam pemanggilan fungsi/prosedur. • Pada saat eksekusi, terjadi asosiasi nama parameter formal dengan nama parameter aktual 5 Tipe Parameter – Parameter input, yaitu parameter yang diperlukan prosedur sebagai masukan untuk melakukan aksi. – Parameter output, yaitu parameter yang nilainya akan dihasilkan oleh prosedur. Hasil nilai akan disimpan pada nama parameter Output ini. – Parameter input/output, yaitu parameter yang nilainya diperlukan prosedur sebagai masukan untuk melakukan aksi, & pada akhir prosedur akan dihasilkan nilai yang baru. 6 Kamus • Kamus lokal : pendefinisan nama yang dipakai dan hanya berlaku dalam ruang lingkup prosedur tersebut. • Kamus global : pendefinisan nama yang untuk program dan semua prosedur/fungsi yang didefinisikan • Penulisan kamus lokal sama dengan kamus global, yang berbeda adalah lingkup berlakunya nama yang didefinisikan 7 Parameter Prosedur • Prosedur tanpa parameter memanfaatkan nilai dari nama-nama yang terdefinisi pada kamus global. Pemakaiannya biasanya harus “hati-hati”, apalagi jika teks program sudah sangat besar dan implementasinya menjadi banyak file. • Prosedur berparameter dirancang, agar sepotong kode yang sama ketika eksekusi dilakukan, dapat dipakai untuk nama parameter yang bebeda-beda. 8 Definisi Prosedur • Mendefinisikan (membuat spesifikasi) prosedur berarti menentukan nama prosedur serta parameternya (jika ada), dan mendefinisikan keadaan awal (Initial State, I.S.) dan keadaan akhir (Final State, F.S.) dari prosedur tersebut. procedure NAMAPROSEDUR (<list-parameter-input:type>) { Spesifikasi, Initial State, Final State} KAMUS LOKAL { Semua nama yang dipakai dalam BADAN PROSEDUR } ALGORITMA { BADAN PROSEDUR } { Deretan instruksi algoritmik : assignment, input, output, analisis kasus, pengulangan atau prosedur } 9 Pemanggilan Prosedur Memakai, atau "memanggil" prosedur adalah menuliskan nama prosedur yang pernah didefinisikan, dan memberikan nilai yang dibutuhkan oleh prosedur itu untuk dapat melaksanakan suatu aksi terdefinisi. Program POKOKPERSOALAN {Spesifikasi : Input, Proses, Output} KAMUS { Semua nama yang dipakai dalam algoritma } procedure NAMAPROSEDUR (input/output<list nama parameter formal>) ALGORITMA { Deretan instruksi pemberian nilai, input, output, analisis kasus, pengulangan yang memakai fungsi } NAMAPROSEDUR (<list parameter aktual>) 10 Studi Kasus • Tuliskanlah program yang membaca tahanan (Ohm) dan arus (Ampere), kemudian menghitung tegangan yang dihasilkan dan menuliskan hasilnya. Perhitungan tegangan harus dituliskan menjadi suatu prosedur bernama PROSES, supaya struktur program jelas : Input - Proses - Output. – Input : R : integer, tahanan (Ohm) dan A : integer, arus (Ampere) – Proses : menghitung V= R * A – Output : V : integer, tegangan (Volt) 11 Solusi 1 12 Solusi 2 13 Studi Kasus 2 • Prosedur untuk menukar dua harga yang disimpan dalam dua nama a dan b. – I.S. : Diberikan a = 1 dan b = 2 – F.S. : a = 2 dan b = 1 14 15 Studi Kasus 3 • Gunakan prosedur TUKAR untuk menulis prosedur yang "menukar" 3 nilai integer. • Contoh : Jika a berisi 1, b berisi 2 dan c berisi 3, maka hasilnya : a berisi 3, b berisi 1, dan c berisi 2. 16 Solusi Program TUKAR { Program yang membaca dua buah harga x dan y, menuliskan, menyimpannya, kemudian menukarnya, dan menuliskan nilai setelah pertukaran } KAMUS X,Y,Z : integer procedure PROCTUKAR (input/output a, b : integer) { Prosedur untuk menukar dua buah harga yang tersimpan dalam dua nama integer} { I.S : diberikan a=A dan b=B } { F.S : a=B dan b=A} ALGORITMA input (X,Y,Z) PROCTUKAR (X,Z) PROCTUKAR (Y,Z) output (x,y) 17