prosedur - dinus.ac.id filedengan menyebutkan namanya seakan-akan teks ... teks pemanggilan....
TRANSCRIPT
Prosedur
• Prosedur adalah sederetan instruksi algoritmik yangdiberi nama, dan akan menghasilkan efek yangterdefinisi.
• Secara sederhana, sebuah prosedur yang terdefinisidisimpan di tempat lain, dan ketika dipanggildengan menyebutkan namanya seakan-akan teksyang tersimpan di tempat lain itu menggantikanteks pemanggilan.
• Setiap prosedur harus:
– didefinisikan (dibuat spesifikasinya),
– dipanggil, saat eksekusi oleh prosedur lain / olehprogram utama. 2
Variabel: suatu tempat untuk menampungdata di memori yang nilainya dapatberubah-ubah selama program dijalankan.
Variabel dapat dikategorikan menjadi 3:
1. Variabel global: variabel di luar fungsi
2. Variabel lokal: variabel di dalam fungsi
3. Variabel statik: variabel yang nilainyadipertahankan walau sudah keluar fungsi
3
Variabel
Kamus
• Kamus lokal : pendefinisan nama yang dipakaidan hanya berlaku dalam ruang lingkupprosedur tersebut.
• Kamus global : pendefinisan nama yang untukprogram dan semua prosedur/fungsi yang didefinisikan
• Penulisan kamus lokal sama dengan kamus global, yang berbeda adalah lingkup berlakunya nama yang didefinisikan
4
Parameter
int jumlah(int x, int y)
{
return(x+y)
}
• x, y adalah parameter
5
• Variabel khusus yang digunakan dalam suatu fungsi untuk menyimpan suatu potongan data sebagai input fungsi
• Potongan data yang memiliki nilai khusus disebut argumen
jumlah(2, 3)
• 2, 3 adalah argumen
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 namaparameter formal dengan nama parameter aktual
6
Tipe Parameter
– Parameter input, yaitu parameter yang diperlukanprosedur sebagai masukan untuk melakukan aksi.
– Parameter output, yaitu parameter yang nilainyaakan dihasilkan oleh prosedur. Hasil nilai akandisimpan pada nama parameter Output ini.
– Parameter input/output, yaitu parameter yang nilainya diperlukan prosedur sebagai masukanuntuk melakukan aksi, & pada akhir prosedur akandihasilkan nilai yang baru.
7
Parameter Prosedur
• Prosedur tanpa parameter memanfaatkannilai dari nama-nama yang terdefinisi padakamus global. Pemakaiannya biasanya harus“hati-hati”, apalagi jika teks program sudahsangat besar dan implementasinya menjadibanyak file.
• Prosedur berparameter dirancang, agar sepotong kode yang sama ketika eksekusidilakukan, dapat dipakai untuk nama parameter yang bebeda-beda.
8
Definisi Prosedur
• Mendefinisikan (membuat spesifikasi) prosedurberarti menentukan nama prosedur sertaparameternya (jika ada), dan mendefinisikankeadaan awal (Initial State, I.S.) dan keadaanakhir (Final State, F.S.) dari prosedur tersebut.
9
procedure NAMAPROSEDUR (<list-parameter-input:type>){ Spesifikasi, Initial State, Final State}
KAMUS LOKAL{ variabel yang dipakai dalam BADAN PROSEDUR }
ALGORITMA{ BADAN PROSEDUR }{ Deretan instruksi algoritmik : assignment, input, output, analisis kasus, pengulanganatau prosedur }
Pemanggilan Prosedur
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
Memakai, atau "memanggil" prosedur adalah menuliskan namaprosedur yang pernah didefinisikan, dan memberikan nilai yang dibutuhkan oleh prosedur itu untuk dapat melaksanakan suatuaksi terdefinisi.
Studi Kasus
• Tuliskanlah program yang membaca tahanan(Ohm) dan arus (Ampere), kemudianmenghitung tegangan yang dihasilkan danmenuliskan hasilnya. Perhitungan tegangandituliskan menjadi suatu prosedur bernamaPROSES, 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 menulisprosedur yang "menukar" 3 nilai integer.
• Contoh : Jika a berisi 1, b berisi 2 dan c berisi 3, maka hasilnya : a berisi 3, b berisi1, 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 }
KAMUSX,Y,Z : integerprocedure PROCTUKAR (input/output a, b : integer){ Prosedur untuk menukar dua buah harga yang tersimpan dalam duanama integer}{ I.S : diberikan a=A dan b=B }{ F.S : a=B dan b=A}
ALGORITMAinput (X,Y,Z)PROCTUKAR (X,Z)PROCTUKAR (Y,Z)output (x,y)
17
Latihan
• Buatlah prosedur untuk menampilkanangka prima antara 1 hingga nilai dalamparameter n
– Contoh prima(10), outputnya 1 2 3 5 7
18