Pemrograman Dasar M E T H O D / F U N G S I
Pemrograman Modular 2 Program dibagi menjadi modul-modul Modul sering disebut juga dengan Sub-Program Modul dalam bahasa pemrograman diimplementasikan dengan Method / Fungsi Method dibentuk dengan mengelompokkan sejumlah perintah untuk menyelesaikan tugas tertentu. Method diperlukan jika kelompok perintah tersebut kerap kali digunakan di tempat lain dalam program
Program Sub Program Bahasa pemrograman melengkapi fasilitas modular dengan menggunakan method pada setiap subprogram. Contoh pembagian program menjadi beberapa subprogram. 3 Program Utama SubProgram SubProgram SubProgram SubProgram SubProgram
Keuntungan Rancangan top-down dengan teknik sub-goal: 4 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
Library vs User-defined Functions Library functions Method-method standar yang sudah disediakan oleh library println() dan nextint() sqrt(), sin() dan cos() User-defined functions Method-method yang didefinisikan sendiri oleh pemrogram 5
Konstruksi Method 6 Format return-value-type method-name( [parameter-list] ) { statements; } return-value-type: tipe data yang dikembalikan oleh method Jika return-value-type diganti void maka fungsi tidak mengembalikan nilai parameter-list: daftar nilai yang dikirimkan dari fungsi pemanggil sebagai parameter method yang dipanggil
Konstruksi Method Permasalahan mencari nilai maksimum dari dua bilangan Int maksimum (int x, int y) mulai int maks = x if (y > maks) maks = y return maks selesai tutup 7 formal parameter Method Pemanggil main mulai int a,b,max; masukkan bilangan pertama (a) masukkan bilangan kedua (b) max = maksimum(a,b) cetak Bilangan yg lebih besar : max selesai tutup Actual parameter
Method tanpa parameter 8 Jika method length() adalah method yang mengembalikan nilai jumlah karakter pada suatu string, maka berapakah nilai variabel len?
Contoh Lain Scanner scan = new Scanner( System.in ); System.out.print("Enter a number 1: "); bil1 = scan.nextint(); 9
Method dengan Parameter Apa yang salah pada potongan program berikut : 10 Method membutuhkan paramater public void move(int x, int y); // change (x,y) of a point object Method diatas membutuhkan dua parameter Parameter pertama bertipe int, merupakan nilai dari x Parameter kedua bertipe int, merupakan nilai dari y
Expressions in Parameter Lists Parameter dapat berupa ekspresi sesuai dengan tipe data yang didefinisikan pada method pointb.move( 24-12, 30*3 + 5 ); Secara bertahap method diatas akan diproses sbb: pointb.move( 24-12, 30*3 + 5 ); pointb.move( 12, 30*3 + 5 ); pointb.move( 12, 90 + 5 ); pointb.move( 12, 95 ); Bagaimana dengan pemanggilan method berikut: pointb.move( 14.305, 34.9 ); 11
Jumlah dan Tipe Data Parameter Ketika method berparameter dipanggil : Jumlah paramater harus sama Tipe data parameter harus sesuai Konversi tipe data yang dibutuhkan method: Eksplisit type cast (requiredtype) (expression) Implisit dilakukan oleh compiler 12
Konversi Tipe Data Parameter 13
Static Method 14 Class hanya memiliki satu method static dengan nama dan tujuan tertentu Method static hanya bisa memanggil method static juga selama tidak dibuat instansiasi dari class yang memuat method tersebut
Call by Value formal parameter? actual parameter? 15 formal parameter identifier yang digunakan dalam method untuk menangkap nilai yang dilewatkan ke dalam method oleh pemanggil (caller). actual parameter nilai aktual yang dilewatkan ke dalam method oleh pemanggil (caller). Tipe parameter yang dilewatkan dalam method di Java adalah call by value
Call by Value Works 16 Ketika caller memanggil method, caller menyediakan daftar nilai pada (actual parameters) pada parameter list. Nilai pada actual parameter di-copy-kan ke formal parameters. Method yang dipanggil menggunakan formal parameters untuk mengkases nilai yang telah dicopy-kan. Segala macam perubahan yang method lakukan terhadap nilai pada formal parameter hanya akan mengubah nilai yang telah di-copy-kan tadi.
17 First value of the local var: Value of the parameter: Second value of the local var:
18 First value of the local var: First value of the parameter: Second value of the parameter: Second value of the local var:
19 First value of the result: Second value of the result:
Object References as Parameters 20 First value of message: Value of parameter: Second value of message:
Only One Object 21
22 First value of message: First value of parameter: Second value of parameter: Second value of message:
23
Lingkup Identifier (scope) Lingkup identifier meliputi bagian-bagian program dimana sebuah identifier masih bisa diakses. Lingkup identifier meliputi : Local Global Local identifier 24 Dideklarasikan di dalam method, termasuk daftar parameter. Lingkupnya terbatas pada method tempat dideklarasikan.
Global identifier Lingkup Identifier (scope) Dideklarasikan di luar method Ruang lingkupnya meliputi seluruh program (class) Dapat diakses dari method-method dalam class 25 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 method dapat mengubah nilai variabel tanpa sepengetahuan method lainnya.
Lingkup Identifier (scope) 26 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 program untuk menghitung luas segitiga dari alas dan tinggi yang bertipe integer dan diinputkan oleh user buat method untuk menghitung luas segitiga 27
Latihan Buatlah program 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 Buatlah method pengecekan bilangan ganjil atau genap menghitung volume tabung menghitung volume kerucut 28