Fakta (Kode yang Berulang)
Semakin besar program, akan semakin banyak bagian kode
yang berulang
• Sangat tidak efisien jika bagian kode yang sama/serupa diketik berulang-ulang atau bahkan termasuk kalau dicopy paste
• Di samping itu, dalam banyak persoalan, ada berbagai rumus/formula yang berulang-ulang dipakai dalam satu program
• Bagaimana jika ada cara supaya bagian kode tersebut tidak perlu diketik berulang-ulang, tapi tetap dapat digunakan berkali-kali dalam program yang sama
Subprogram
“ A set of instructions designed to perform a frequently
used operation within a program “
• 2 (dua) jenis subprogram:
• Fungsi
• Prosedur
Definisi Fungsi
Fungsi adalah sebuah transformasi akibat pemetaan suatu nilai (dari domain) ke nilai lain (dalam range) sama seperti di matematika
• Fungsi mempunyai nama dan sekelompok parameter formal (harga masukan yang diberi nama dan dijelaskan type-nya) serta memiliki hasil (dalam suatu type tertentu pula)
• Fungsi harus didefinisikan terlebih dahulu supaya dapat digunakan dalam bagian ALGORITMA program
1. Mendefinisikan fungsi
• Memberikan nama
• Mendefinisikan parameter formal (parameter input)
• Mendefinisikan type hasil
2. Merealisasikan fungsi
• Membuat algoritma fungsi: memroses input hasil
3. Menggunakan fungsi dalam program utama
• Memanggil fungsi dengan menggunakan parameter aktual
Contoh Fungsi
Fungsi bernama f(x) memiliki satu parameter x
didefinisikan sebagai f(x) = x
2+ 3x -5
• jika diberi harga x = 4 maka f(x) akan menghasilkan 23
• jika diberi harga x = 1 maka f(x) akan menghasilkan -1
• Fungsi f(x,y) memiliki dua parameter x dan y,
didefinisikan sebagai f(x,y) = x
2+ 3xy – 5y – 1
• jika diberi harga x = 0 dan y = 0 maka f(x,y) akan menghasilkan
-1
• jika diberi harga x = 1 dan y = 0 maka f(x,y) akan menghasilkan 0
Mendefinisikan Fungsi (2)
Parameter input boleh tidak ada (kosong)
• Fungsi tidak membutuhkan apa-apa dari pemakainya untuk
menghasilkan harga
• Jika list parameter input (parameter FORMAL) ada (tidak
kosong, minimal satu nama), maka merupakan satu atau
beberapa nama beserta type-nya satu atau beberapa nama
beserta type-nya
• Fungsi harus menghasilkan suatu harga
• Harga yang dihasilkan oleh fungsi harus memiliki type tertentu.
Pemanggilan Fungsi (1)
Fungsi hanya dapat dipakai sebagai bagian ekspresi
bukan merupakan suatu instruksi yang dipanggil
independen
• Dalam ekspresi, fungsi hanya dapat diletakkan di ruas kanan
• Saat pemanggilan terjadi korespondensi antara parameter input (formal) dengan parameter aktual sesuai dengan urutan penulisan dalam list-nama parameter input penulisan dalam list-nama parameter input
• List parameter aktual harus sama jumlah, urutan, dan typenya dengan list parameter input pada pendefinisian fungsinya
Pemanggilan Fungsi (2)
Harga yang dihasilkan oleh fungsi dapat didefinisikan
domainnya dengan lebih rinci
• Pada akhir dari eksekusi fungsi, harga yang dihasilkan
oleh fungsi dikirimkan ke pemakainya
• Fungsi boleh dipakai oleh program utama, prosedur, atau
fungsi lain
Contoh 1 : 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
• '8'
→ 8
• Berikan contoh pemakaian
• Spesifikasi :
• Fungsi KarakterToInteger :
• Domain : x : character ['0'..'9'] )
• Range : integer [0..9]
• Proses : analisis kasus terhadap x, untuk setiap harga x diasosiasikan
integer yang sesuai.
contoh dan Definisi Fungsi dalam Algoritma
Reviewed by Husni Mubarok
on
21.45
Rating:
Tidak ada komentar:
Terima kasih telah Membaca Blog saya , silahkan tinggalkan komentar..