Download tipedata

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Method
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
Pendeklarasian Method
tipedata namaMethod (tipedata namaParameter)
{
//statement
}
Contoh :
String getNama(String nama){
return nama;
}
void kali(int x, int y){
//statement
}
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
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
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.
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));
Contoh Procedure (tanpa Return)
Contoh Function (dengan Return)
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);
}
}
Penggunaan this
Keyword this digunakan bila nama varibel lokal = nama parameter
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
Contoh
Overloading Method
Recursion

Recursive method
• Memanggil dirinya sendiri (directly or indirectly)
• Method membagi masalah
• Base case
• Masalah yang lebih simple
• Sampai ketemu dengan base case
Final value = 120
5!
5!
5! = 5 * 24 = 120 is returned
5 * 4!
5 * 4!
4! = 4 * 6 = 24 is returned
4 * 3!
4 * 3!
3! = 3 * 2 = 6 is returned
3 * 2!
3 * 2!
2! = 2 * 1 = 2 is returned
2 * 1!
2 * 1!
1 returned
1
(a) Sequence of recursive calls.
1
(b) Values returned from each recursive call.
Fig. 6.14 Recursive evaluation of 5!.
Recursion
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
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) = 1
fibonacci(n) = fibonacci(n - 1) + fibonacci( n – 1 )
• fibonacci(0) and fibonacci(1) are base cases
fibonacci( 3 )
return
return
fibonacci( 1 )
return 1
fibonacci( 2 )
+
fibonacci( 0 )
+
fibonacci( 1 )
return 1
return 0
Fig. 6.17 Set of recursive calls for fibonacci (3).