Pemanggilan Fungsi Dalam Pemrograman Prosedural
140
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
atau nama konstanta yang telah terdefi nisi dalam kamus atau konstanta; dapat juga berupa harga
konstanta, atau harga yang dihasilkan oleh suatu ekspresi atau fungsi.
3. List parameter aktual harus sama jumlah, urutan
dan typenya dengan list parameter formal pada pendefi nisian fungsinya.
4. Harga yang dihasilkan oleh fungsi dapat didefi nisikan
domainnya dengan lebih rinci. 5.
Pada akhir dari eksekusi fungsi, harga yang dihasilkan oleh fungsi dikirimkan ke pemakainya.
Fungsi boleh dipakai oleh program utama, prosedur atau fungsi lain.
Fungsi Terdefi nisi:
Adalah fungsi yang sudah diberikan oleh sistem, dan tinggal dipakai dipanggil. Fungsi terdefi nisi selalu
diberikan da t ar dan spesifi kasinya domain + range.
Fungsi terdefi nisi untuk melakukan konversi tipe.
Seringkali, dibutuhkan konversi dari bilangan riil menjadi integer atau sebaliknya. Maka didefi nisikan
duabuah fungsi konversi bilangan numerik sebagai berikut:
141
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
Fungsi-fungsi terdefi nisi untuk seleksi terhadap sebuah string :
Fungsi-fungsi untuk memperoleh informasi tentang sebuah string :
Fungsi suksesor dan predesesor untuk integer
Fungsi matematik
142
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
Contoh Penulisan Algoritmik
Berikut ini diberikan contoh pendefi nisian dan pemakaian pemanggilan fungsi.
Pendefi nisian Fungsi
Pemanggilan Fungsi
143
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
Contoh1-Fungsi : KONVERSI Persoalan:
Tuliskanlah sebuah fungsi, yang mengkonversikan harga karakter angka nol sampai dengan 9 menjadi
harga numerik sesuai dengan karakter yang tertulis.
Contoh : ‘0’
→
‘0’, ‘8’
→
‘8’
Spesifi kasi :
Fungsi KarakterToInteger : Domain : x :character [‘0’..’9’]
Range : integer [0..9]
Proses : analisis kasus terhadap x, untuk setiap harga x diasosiasikan integer yang sesuai.
144
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
Contoh 2-Fungsi : APAKAH HURUF ‘A’ Pemetaan karakter ke type boolean
Persoalan :
Tuliskanlah fungsi IsAnA yang mentest apakah sebuah karakter yang diberikan kepadanya adalah
sebuah huruf ‘A’. Harga yang dihasilkan adalah benar jika huruf itu ‘A’, salah jika huruf itu bukan ‘A’
Contoh : IsAnA‘A’
→
true IsAnA ‘X’
→
false IsAnA ‘Y’
→
false
Spesifi kasi : Fungsi IsAnA :
Domain : x karakter Range : boolean
Proses : menghasilkan true jika x adalah ‘A’, false jika tidak
145
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
Contoh3-Fungsi : HITUNG METER+CM Pemetaan type dasar ke type bentukan
Persoalan :
Tuliskanlah sebuah fungsi, yang jika diberikan sebuah angka Cm yang menyatakan panjang dalam cm,
akan menghasilkan pasangan harga x1, x2 sesuai dengan rumus ukuran metris i m = 100 cm.sehingga
x1100+x2 = Cm
Contoh : F100 = 1,0 F355 = 3, 55
Spesifi kasi :
Fungsi KonversiCm : Domain : Cm : integer
Range : pasangan harga integer Proses : menghitung Meter dan SisaCm sehingga Cm
= 100 Meter + SisaCm
146
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
Catatan: 1.
Terjemahan teks fungsi pada contoh ini ke dalam beberapa bahasa pemrograman tidak “sederhana”,
bahkan tidak mungkin dapat dilakukan secara langsung.
2. Cobalah menterjemahkan funsgi di atas ke dalam
bahasa Pascal, C dan Ada. Akan terlihat perbedaan yang sangat besar di antara ketiganya.
Contoh 4-Fungsi : Ubah dan Periksa KarPersoalan :
Tuliskanlah algoritma yang membaca sebuah karakter dan mengubahnya menjadi integer yang
sesuai dengan karakter itu jika karakter yang dibaca adalah antara ‘0’ dan ‘9’ dengan memanfaatkan funsgi
Karakter ToInteger yang pernah dibuat. . Jika bukan di dalam daerah harga nol dan sembilan, maka harus
dituliskan pesan yang berbunyi : ‘Bukan angka’ .
Spesifi kasi Input : CC karakter
Output : menuliskan integer [0..9] sesuai dengan
karakter yang dibaca, jika karakter [‘0’..’9’], atau “Bukan angka” jika CC bukan angka
Proses : Konversi dari karakter ke integer, jika CC [‘0’..’9’]
Dengan catatan fungsi konversi adalah seperti terdefi nisi pada contoh1
Catatan :
Test yang dilakukan sebelum pemanggilan fungsi Karakter ToInteger membuat fungsi Karakter
147
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
ToInteger cukup mengembalikan nilai yang terdefi nisi. Jika domain dari nilai masukan fungsi tidak hanya
mencakup karakter angka, maka di dalam fungsi harus didefi nisikan suatu nilai yang di luar defi nisi
angka.
Contoh 5-Fungsi : HITUNG FUNGSI Defi nisi dan pemanggilan fungsi
Persoalan
Tuliskanlah algoritma yang membaca 3 bilangan bulat a,b,c, dan menghitung:
6 ax2 + bx +c untuk x = 1
Spesifi kasi
Input : a,b,c bilangan bulat, koefi sien persamaan kuadrat, x = 1
Output : Fx Proses : menghitung Fx = 6 ax2 + bx +c menuliskan
hasil
148
Konsep Pemrograman Komputer Berbasis Teks dan Grafi s
Contoh-6 : MAX2 dan MAX3 a.
Tuliskanlah fungsi MAX2 , yang menerima masukan dua buah bilangan real dan menghasilkan sebuah
bilangan real yaitu salah satu di antara nilai dua buah bilangan tersebut yang terbesar.