Bab ini menjelaskan bagaimana membuat fungsi yang dapat dikerjakan oleh objek. Metode menentukan perilaku objek, yaitu apa yang terjadi ketika objek itu dibuat serta operasi apa yang dapat dilakukannya. Kita hanya tinggal menulis nama method untuk menjalankannya.
File video:
1. Video 6a. Netbeans- Method
Pengertian
Method adalah kumpulan program yang mempunyai nama. Program harus dibungkus dalam method. Dengan method kita bisa memanggil kumpulan program hanya dengan memanggil nama methodnya sehingga program menjadi lebih terstruktur, praktis, dan efisien.
Fungsi
public static int tambahFungsi(int n1, int n2){ int tambah; tambah = n1 + n2; return tambah; (memberikan nilai balik melalui return) }
Prosedur
public static void tambahProsedur(int n1, int n2){ int tambah; tambah = n1 + n2; (tidak ada nilai balik) }
Perbedaan fungsi dengan prosedur adalah fungsi memberikan nilai balik, sementara prosedur tidak.
Rekursi
Rekursi adalah arti suatu proses yang memanggil dirinya sendiri. Dalam sebuah rekursi sebenarnya tekandung pengertian sebuah prosedur atau fungsi. Perbedaannya adalah bahwa rekursi bisa memanggil dirinya sendiri, kalau prosedur atau fungsi harus diipanggil melalui pemanggil prosedur atau fungsi
Anagram
Anagram adalah fungsi yang akan mengecek 2 buah kata yang memiliki jumlah setiap karakternya sama. Pengaplikasian biasanya pada permainan scrable misalnya kita memiliki beberapa huruf dan huruf-huruf tersebut dapat membentuk kata ‘gabus’ atau ‘bagus’. Dengan demikian kita dapat mengatakan bahwa ‘gabus’ dan ‘bagus’ adalah anagram.
/* Nama File : Anagram.java Programmer: www.aplysit.com Tanggal : 22 November 2012 Deskripsi : Mengecek 2 buah kata yang jumlah karakternya sama */ class Anagram { public static void main(String[] args){ Boolean a = isAnagram ("kuda","dagtrhtku"); System.out.print(a); } static Boolean isAnagram (String a , String b){ int d = a.length(); int e = b.length(); if( d == e){ char []chars = a.toCharArray(); for ( int i = 0; i < d ; i++ ){ Boolean status = false; int j = 0; while (j if(chars [j] == b.charAt(i)){ chars[j] = '/'; status = true; } j++; } } for (int x = 0;x if (chars[x]!='/'){ return false; } } return true; } else{ return false; } } }
Jika program dijalankan, maka hasilnya seperti gambar berikut:
Karakter pertama = “kuda”
Karakter kedua = “dagtrhtku”
Jumlah kedua karakter akan dibandingkan. Jika jumlah sama maka output program adalah “true”, jika jumlah berbeda maka hasil program adalah “false”.
Karena jumlah karakter “kuda” dan “dagtrhtku” berbeda, maka output adalah false.
Palindrom
Sama seperti Anagram, namun pada Palindrom susunan juga diperhatikan. Artinya kata1 dan kata2 akan bernilai sama jika dibalik. Misalnya ‘susu’ = ‘usus’.
Fungsi pada line 9 berfungsi untuk membalik suatu String. Kemudian pada line 23 kedua kata tersebut dibandingkan.
/* Nama File : Palindrom.java Programmer: www.aplysit.com Tanggal : 22 November 2012 Deskripsi : Mengecek 2 buah kata yang jumlah karakternya sama dan jika dibalik bernilai sama */ class Palindrom { public static void main(String[] args) { Boolean a = isPalindrom ("anak"); System.out.print(a); } public static String str ( String c){ if (c.length() return(c); } else{ int d = c.length(); return (c.substring(d-1,d)+str(c.substring(0,d-1))); } } static Boolean isPalindrom (String a){ if(a.equals(str(a))){ return true; } else{ return false; } } }
Jika program dijalankan, maka hasilnya seperti gambar berikut:
Karakter = “anak”
Jumlah karakter dan susunan kata akan dibandingkan. Jika karakter dan susunan katanya sama, maka output program adalah “true”, jika berbeda output program adalah “false”.
Untuk karakter “anak”, karena membandingkan ke karakter itu sendiri, maka jumlah karakternya sama, tetapi susunan katanya berbeda, maka output program adalah “false”.
Faktorial
/* Nama File : MetodeTambah.java Programmer: www.aplysit.com Tanggal : 22 November 2012 Deskripsi : Menampilkan bilangan faktorial */ class Faktorial { public static void main(String[] args) { int c = Faktorial(4); System.out.println("Hasil factorial adalah : " + c); } public static int Faktorial(int a) { if (a < 2) { return (a); } else { return (a * (Faktorial(a - 1))); } } }
Jika program dijalankan, maka hasilnya seperti gambar berikut:
Fibonanci
Fibonacci adalah barisan bilangan yang dimulai dari 0 dan 1, kemudian angka berikutnya didapat dengan cara menambahkan kedua bilangan yang berurutan sebelumnya. Dengan aturan ini, maka barisan bilangan Fibonaccci yang pertama adalah 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …
/* Nama File : Fibonacci.java Programmer: Frans Siahaan Tanggal : 22 November 2012 Deskripsi : Menampilkan deret bilangan fibonacci */ public class Fibonacci { public static long fib(int n) { if (n { else return fib(n-1) + fib(n-2); } } public static void main(String[] args) { int N = 7; for (int i = 1; i System.out.println(i + ": " + fib(i)); } }
Jika program dijalankan, maka hasilnya seperti gambar berikut:
Contoh Program
A. Program Menambah Bilangan
Program ini bertujuan untuk menambah 2 bilangan dengan memakai fungsi dan prosedur. User tidak memasukkan inputan karena angkanya sudah dibuat di kode program sehingga user tinggal menjalankan saja.
/* Nama File : MetodeTambah.java Programmer: www.aplysit.com Tanggal : 22 November 2012 Deskripsi : Menambah 2 bilangan dengan Fungsi dan Prosedur */ import javax.swing.JOptionPane; public class MetodeTambah { public static void main(String[] args) { tambahProsedur(10, 20); //tambahFungsi(5,8); } public static void tambahProsedur(int n1, int n2) { int tambah; tambah = n1 + n2; System.out.println("Hasil penambahan adalah " + tambah); } public static int tambahFungsi(int n1, int n2) { int tambah; tambah = n1 + n2; System.out.println("Hasil penambahan adalah " + tambah); return tambah; } }
Jika program dijalankan, maka hasilnya seperti gambar berikut:
B. Program Menuliskan String
Program ini bertujuan untuk menuliskan string dari fungsi dan prosedur. User tidak memberikan inputan sehingga tinggal menjalankan program saja.
/* Nama File : ArrayString.java Programmer: www.aplysit.com Tanggal : 22 November 2012 Deskripsi : Menuliskan String Dengan Menggunakan Fungsi dan Prosedur */ import javax.swing.JOptionPane; public class HelloWorld { public static void main(String[] args) { // prosedur(); fungsi(); } public static void prosedur() { System.out.println("HelloProsedur"); } public static String fungsi() { String hello = "Hello Fungsi"; System.out.println(hello); return hello; } }
Jika program dijalankan, maka hasilnya seperti gambar berikut:
C. Latihan
1. Buatlah program untuk menghitung jumlah tabungan dengan menggunakan metode. Penambahan dan pengurangan nilai saldo dilakukan di metode, sehingga main cukup memanggil metode saja.
2. Buatlah program untuk menghitung nilai pangkat suatu bilangan dengan menggunakan metode, tetapi tidak menggunakan operator perkalian. Jadi, hanya menggunakan operator tambah.