Pemrograman Dasar METHOD / FUNGSI
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 3
Bahasa pemrograman melengkapi fasilitas modular dengan
menggunakan method pada setiap subprogram. Contoh pembagian program menjadi beberapa
subprogram. Program Utama
SubProgram SubProgram
SubProgram
SubProgram
SubProgram
Keuntungan 4
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
Library vs User-defined Functions 5
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
Konstruksi Method 6
Format
return-value-type { statements; }
method-name( [parameter-list] )
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 7
Permasalahan mencari nilai maksimum dari dua bilangan
formal parameter Int maksimum (int x, int y) mulai int maks = x if (y > maks) maks = y return maks selesai tutup 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
Method Pemanggil
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 9
Scanner scan = new Scanner( System.in ); System.out.print("Enter a number 1: "); bil1 = scan.nextInt();
Method dengan Parameter 10
Apa yang salah pada potongan program berikut :
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 11
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 );
Jumlah dan Tipe Data Parameter 12
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
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 15
formal parameter ? actual parameter?
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) 24
Lingkup identifier meliputi bagian-bagian program
dimana sebuah identifier masih bisa diakses. Lingkup identifier meliputi :
Local Global
Local identifier Dideklarasikan di dalam method, termasuk daftar parameter. Lingkupnya terbatas pada method tempat dideklarasikan.
Lingkup Identifier (scope) 25
Global identifier
Dideklarasikan di luar method
Ruang lingkupnya meliputi seluruh program (class)
Dapat diakses dari method-method dalam class
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 27
Buatlah program untuk menghitung luas segitiga
dari alas dan tinggi yang bertipe integer dan diinputkan oleh user
buat method untuk menghitung luas segitiga
Latihan 28
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