Prosedur Nisa ul Hafidhoh nisa@dsn.dinus.ac.id 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