Pelajaran oop java 2 pengertian method dan cara pembuatan method by hermawan
Method
description
Transcript of Method
![Page 1: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/1.jpg)
Method
![Page 2: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/2.jpg)
Method
Method dalam banyak bahasa pemrograman dikenal juga sebagai function atau procedure
Dalam pemrograman berorientasi objek,fungsi dari method adalah sebagai suatu operasi atau kegiatan yang dapat dilakukan oleh objek
Cara terbaik untuk membangun dan merawat program yang besar adalah dengan cara membagi program besar tersebut ke dalam bagian-bagian (modul) yang lebih kecil, yakni class dan method
![Page 3: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/3.jpg)
Pendeklarasian Method
tipedata namaMethod (tipedata namaParameter)
{
//statement
}
Contoh :String getNama(String nama){
return nama;
}
void kali(int x, int y){
//statement
}
![Page 4: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/4.jpg)
Pendeklarasian Method
Keterangan :•tipedata merupakan tipe data primitif ataupun
tipe data referensi yang dikenal dalam Java
•tipedata juga dapat berupa void jika method tidak mengembalikan nilai apapun
• Parameter adalah sekumpulan variabel yang dideklarasikan dengan dipisahkan oleh koma (,)
• Parameter bersifat opsional, digunakan untuk menerima passing data dari luar method
![Page 5: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/5.jpg)
Pendeklarasian Method
• Jika tipedata dari method bukan void maka harus menambahkan statement berikut di dalam method pada baris yang paling akhir
return nilai_yang_dikembalikan;
• Nilai yang dikembalikan harus mempunyai tipe data yang sama dengan tipe data dari method
![Page 6: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/6.jpg)
Pendeklarasian Method
Catatan : Jika pada saat pendeklarasian metode tidak
menggunakan parameter, maka pada saat pemanggilan metode tersebut juga tidak memakai parameter/argumen.
Sebaliknya, jika pada saat pendeklarasian metode menggunakan parameter, maka pada saat pemanggilan metode tersebut juga harus menggunakan parameter/argumen yang sesuai.
![Page 7: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/7.jpg)
Konversi Argumen
Pada class Math di java.lang ada method sqrt yang dapat menerima nilai integer walaupun pada saat pendeklarasian method sqrt tersebut menerima nilai double.
Ini terjadi karena method sqrt jika menerima nilai integer akan mengubahnya menjadi nilai double, kemudian diproses dalam pencarian sqrt (square root) nya.
Contoh :
System.out.println(Math.sqrt(4));
![Page 8: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/8.jpg)
Contoh Procedure (tanpa Return)
![Page 9: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/9.jpg)
Contoh Function (dengan Return)
![Page 10: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/10.jpg)
public class Buku{
void cetakJudul(String judul){
System.out.println("Judul Buku : "+judul);
}
String cetakPengarang(String nama){
return nama;
}
public static void main(String[] args){
Buku objBuku = new Buku();
objBuku.cetakJudul("Java How to Program");
String nama = cetakPengarang("Deitel");
System.out.println(nama);
}
}
![Page 11: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/11.jpg)
Penggunaan this
Keyword this digunakan bila nama varibel lokal = nama parameter
![Page 12: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/12.jpg)
Overloading Method
Terjadi jika terdapat beberapa method yang memiliki nama sama, namun memiliki parameter yang berbeda-beda
Hal ini dapat terjadi karena dalam proses pemanggilan metode, Java melihat kepada nama metode, jumlah parameter dan tipe parameter dari metode tersebut
![Page 13: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/13.jpg)
Contoh Overloading Method
![Page 14: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/14.jpg)
Recursion Recursive method
• Memanggil dirinya sendiri (directly or indirectly)
• Method membagi masalah
• Base case
• Masalah yang lebih simple
• Sampai ketemu dengan base case
![Page 15: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/15.jpg)
Fig. 6.14 Recursive evaluation of 5!.
2! = 2 * 1 = 2 is returned
(a) Sequence of recursive calls. (b) Values returned from each recursive call.
Final value = 120
5! = 5 * 24 = 120 is returned
4! = 4 * 6 = 24 is returned
3! = 3 * 2 = 6 is returned
1 returned
5!
1
4 * 3!
3 * 2!
2 * 1!
5!
1
4 * 3!
3 * 2!
2 * 1!
5 * 4! 5 * 4!
![Page 16: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/16.jpg)
public static void main(String args[ ]){ for (long counter=0; counter<=10; counter++) System.out.println(“Factorial” + counter + “=” + factorial(counter));}
public long factorial(long number) { // base case if (number <= 1) return 1;
// recursive step else return number * factorial( number - 1 );
} // end method factorial
Recursion
![Page 17: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/17.jpg)
Contoh Lain: Deret Fibonacci Fibonacci series
• Each number in the series is sum of two previous numbers
• e.g., 0, 1, 1, 2, 3, 5, 8, 13, 21…
fibonacci(0) = 0 fibonacci(1) = 1fibonacci(n) = fibonacci(n - 1) + fibonacci( n – 1 )
• fibonacci(0) and fibonacci(1) are base cases
![Page 18: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/18.jpg)
Fig. 6.17 Set of recursive calls for fibonacci (3).
return
return
+
+ return 1
return 1
fibonacci( 2 ) fibonacci( 1 )
fibonacci( 1 ) fibonacci( 0 )
return 0
fibonacci( 3 )
![Page 19: Method](https://reader036.fdokumen.com/reader036/viewer/2022082318/56813733550346895d9ec234/html5/thumbnails/19.jpg)