08 pd method fungsi
-
Upload
sofi-orient -
Category
Documents
-
view
188 -
download
0
Transcript of 08 pd method fungsi
Pemrograman modular Library functions vs user-defined functions Lingkup identifier
1
Fungsi / Method
Program dibagi menjadi modul-modul Modul dalam bahasa pemrograman diimplementasikan
dengan Fungsi atau Method Fungsi dibentuk dengan mengelompokkan sejumlah
perintah untuk menyelesaikan tugas tertentu. Modul diperlukan jika kelompok perintah tersebut kerap
kali digunakan di tempat lain dalam program Modul sering disebut juga dengan Sub-Program
2
Pemrograman Modular
3
Pemrograman Modular
Keuntungan: Rancangan top-down dengan teknik sub-goal:
Masalah besar/kompleks dapat dijadikan masalah-masalah lebih kecil/sederhana
Program besar/kompleks dapat dibagi menjadi modul-modul yang lebih kecil/sederhana.
Dapat dikerjakan oleh lebih dari satu orang dengan koordinasi yang relatif mudah
Mencari kesalahan relatif lebih mudah karena alur logika lebih jelas; kesalahan juga dapat dilokalisasi dalam satu modul.
Modifikasi dapat dilakukan tanpa menggangu program secara keseluruhan
Mempermudah dokumentasi
Bahasa pemrograman melengkapi fasilitas modular dengan menggunakan fungsi pada setiap subprogram.
Contoh pembagian program menjadi beberapa subprogram.
4
Program Utama
SubProgram SubProgram SubProgram
SubProgram SubProgram
Pemrograman Modular
Fungsi dalam Java: Library functions
fungsi-fungsi standar yang sudah disediakan oleh library println() dan nextInt() sqrt(), sin() dan cos()
User-defined functions fungsi-fungsi yang didefinisikan sendiri oleh pemrogram
5
Library vs User-defined Functions
Format
return-value-type function-name( parameter-list ){
statements;}
return-value-type: tipe data yang dikembalikan oleh fungsi Jika return-value-type diganti void maka fungsi tidak
mengembalikan nilai parameter-list: daftar nilai yang dikirimkan dari fungsi pemanggil
sebagai parameter fungsi yang dipanggil ini
6
Konstruksi Fungsi
Contoh :
7
Int maksimum (int x, int y) mulai int maks = x if (y > maks) maks = y return maks selesaitutup
Int maksimum (int x, int y) mulai int maks = x if (y > maks) maks = y return maks selesaitutup
main mulai int a,b,max; masukkan bilangan pertama (a)
masukkan bilangan kedua (b)max = maksimum(a,b)cetak “Bilangan yg lebih besar : “ max
selesaitutup
main mulai int a,b,max; masukkan bilangan pertama (a)
masukkan bilangan kedua (b)max = maksimum(a,b)cetak “Bilangan yg lebih besar : “ max
selesaitutup
Fungsi
Pemanggil
Actual parameter
formal parameter
Konstruksi Fungsi
Lingkup identifier meliputi bagian-bagian program dimana sebuah identifier masih bisa diakses.
Lingkup identifier meliputi : Local Global
Local identifier Dideklarasikan di dalam fungsi, termasuk daftar
parameter. Lingkupnya terbatas pada fungsi tempat dideklarasikan.
8
Lingkup Identifier (scope)
Global identifier Dideklarasikan di luar fungsi
Ruang lingkupnya meliputi seluruh program
Dapat diakses dari fungsi-fungsi dalam program
Disarankan tidak banyak menggunakan identifier global karena:
Jika program semakin besar, kecenderungan error semakin besar .
Sulit melacak bila terjadi kesalahan. Data tidak terjaga dengan baik, setiap fungsi dapat mengubah
nilai variabel tanpa sepengetahuan fungsi lainnya.
9
Lingkup Identifier
Lingkup Identifier
Contoh :
10
int x; fungsi1(){
- -
}
int y; fungsi2(){
int z;-
}main(){ int z, y; -}
lingkup dari variabel x
lingkup dari variabel y
z dan y hanya dikenal oleh main()z di main() berbeda dgn yang di fungsi2()y di main() berbeda dgn yang di fungsi2()
Latihan Buatlah algoritma untuk mencari nilai minimum dari 3
buah bilangan yang diinputkan oleh user (buat fungsi minimum)
Buatlah algoritma untuk menentukan suatu nilai yang diinputkan user ganjil atau genap (buat fungsi cekganjilgenap)
Buatlah algoritma untuk menghitung nilai faktorial dari suatu bilangan yang diinputkan oleh user (buat fungsi faktorial)
11
Latihan Buatlah algoritma untuk menghitung luas segitiga dari alas
dan tinggi yang bertipe integer dan diinputkan oleh user (buat fungsi LuasSegitiga)
Buatlah algoritma untuk menghitung volume kerucut dari diameter bertipe double yang diinputkan oleh user (buat fungsi VolumeKerucut)
Buatlah algoritma untuk menentukan Mahasiswa lulus atau tidak berdasarkan beberapa nilai yang diinputkan oleh user. Nilai tersebut adalah : Nilai Tugas, Nilai Quiz, Nilai UTS, dan Nilai UAS. Prosentase perhitungan Nilai Akhir adalah 20%*Tugas + 10%*Quiz, 30%*UTS, dan 40%*UAS. Jika Nilai Akhir melebihi 70 maka Mahasiswa Lulus, dan jika tidak maka Mahasiswa Gagal (buat fungsi KelulusanMahasiswa)
12
Latihan Buatlah algoritma untuk menghitung volume tabung
atau kerucut dari diameter dan tinggi yang diinputkan oleh user. Jika diameter alas bernilai ganjil, maka volume dihitung berdasarkan volume tabung, namun jika diameter alas genap, maka volume dihitung berdasarkan volume kerucut (buat fungsi pengecekan bilangan ganjil atau genap, fungsi menghitung volume tabung dan fungsi menghitung volume kerucut)
13