4-1:
Apa yang dimaksud dengan Metode?
Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang.
Tujuan
• Pelajaran ini akan membahas tujuan berikut:
−Kode struktur di dalam class
−Memulai objek
−Memahami manfaat metode
−Menggunakan operator titik (.) untuk mengakses bidang dan
metode objek
−Memasukkan argumen ke sebuah
metode
−Menghasilkan nilai dari metode
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 3
Topik
• Cara Menyusun Struktur Class
• Meneruskan Nilai ke Metode
• Mengembalikan Nilai dari Metode
Apa yang
dimaksud Deklarasi dan
Class String Class Random Class Math
dengan Paket impor
Metode?
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 4
Class yang Akan Anda Temui
• Dalam pengembangan Java, Anda akan menemui
banyak class untuk beragam jenis objek, termasuk …
• Class yang akan Anda tulis sendiri
• Class yang ditulis oleh orang lain
• Class yang termasuk dalam Java
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 5
Class yang Akan Anda Temui
• Class ini menguraikan hal-hal berikut dari objek …
−Properti (bidang)
−Perilaku (metode)
• Sasaran pelajaran ini adalah untuk memberi Anda
pemahaman tentang cara bekerja dengan class,
bidang, dan metodenya
• Pelajaran yang tersisa dari bagian ini akan menjelajahi
class-class penting yang diberikan oleh Java
• Kita akan mulai dengan menjelajahi class dan metode
sedikit lebih dalam
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 6
Latihan1, Bagian 1:
• Mari kita lihat skenario dan lihat bagaimana kita dapat
membuat model komponen yang terlibat:
−Ini Ulang Tahun Alex! Anda telah mengatur satu kelompok
yang terdiri dari delapan teman untuk merayakannya di
restoran lokal. Saat pesta Anda menerima tagihan, tidak ada
yang tahu pasti berapa jumlah yang harus mereka bayar.
Anda hanya tahu total setiap orang sebelum pajak (5%) dan
tip (15%). Tapi Anda beruntung! Anda membawa laptop dan
diminta untuk menulis program yang menghitung total setiap
orang
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 7
Latihan 1, Bagian 2:
• Impor dan edit proyek Tip01
• Berikut yang harus dibayar oleh setiap orang sebelum
pajak (5%) dan tip (15%):
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 8
Latihan 1, Bagian 3:
• Program Anda akan menghasilkan output berikut:
person1: $12.0
person2: $14.4
person3: $10.8
person4: $9.6
person5: $8.4
person6: $18.0
person7: $13.2
person8: $36.0
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 9
Membuat Model Objek
• Anda mungkin tergoda untuk membuat model dari
total setiap orang dengan menuliskan:
public class Tip01{
public static void main(String args[]){
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 10
Membuat Model Lebih Banyak Objek
• Jika Anda perlu membuat model dua tamu makan
malam, Anda mungkin tergoda untuk menyalin,
menempelkan, dan mengganti nama:
public class Tip01{
public static void main(String args[]){
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 11
Membuat Model Banyak Objek
• Bagaimana jika Anda perlu menghitung 1.000 tamu?
//You might think …
//Do I really have to copy, paste, and rename 1,000
//times?
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 12
Variabel Menawarkan Fleksibilitas
• Jika tarif pajak atau persentase tip harus diubah …
• Kita tidak perlu melakukan 1.000 pengeditan
• Kita cukup mengedit setiap variabel sekali
double tax = 0.05;
double tip = 0.15;
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 13
Metode Menawarkan Fleksibilitas Serupa
• Perilaku matematika dan pencetakan yang sama
diulang
• Logika ini dapat ditulis sekali dalam metode
double tax = 0.05;
double tip = 0.15;
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 14
Kapan Metode Digunakan
• Sebaiknya Anda menuliskan metode jika Anda…
• Merasa Anda mengulangi baris kode serupa, termasuk
penghitungan
• Perlu menguraikan perilaku objek
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 15
Cara Menggunakan Metode Utama
• Metode utama dikenal sebagai pendorong
−Gunakan untuk mendorong kejadian program
−Gunakan untuk mengakses bidang dan metode atau class
lainnya
• Metode utama tidak menggambarkan perilaku objek
tertentu
−Pisahkan dari class objek Anda
−Gunakan hanya satu metode utama untuk setiap aplikasi
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 16
Seperti Apa Class Objek Itu?
• Kode harus sesuai dengan format berikut
• Mari kita lihat cara kita mendapatkan kode seperti ini:
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 17
Langkah 1) Pindahkan Bidang dari Metode Utama
public class Calculator{
//Fields
public double tax = 0.05;
public double tip = 0.15;
public double originalPrice = 10;
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 18
Langkah 2) Pindahkan Perilaku Berulang dari Metode
Utama
public class Calculator{
//Fields
public double tax = 0.05;
public double tip = 0.15;
public double originalPrice = 10;
//Methods
public void findTotal(){
//Calculate total after tax and tip
//Print this value
}//end method findTotal
public static void main(String args[]){
//double total1 = person1*(1 + tax + tip);
//System.out.println(total1);
} //end method main
} //end class Calculator
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 19
Langkah 3) Hapus Metode Utama
public class Calculator{
//Fields
public double tax = 0.05;
public double tip = 0.15;
public double originalPrice = 10;
//Methods
public void findTotal(){
//Calculate total after tax and tip
//Print this value
}//end method findTotal
//public static void main(String args[]){
//double total1 = person1*(1 + tax + tip);
//System.out.println(total1);
//}//end method main
} //end class Calculator
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 20
Berhasil!
public class Calculator{
//Fields
public double tax = 0.05;
public double tip = 0.15;
public double originalPrice = 10;
//Methods
public void findTotal(){
//Calculate total after tax and tip
//Print this value
}//end method findTotal
} //end class Calculator
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 21
Di Mana Saya Meletakkan Metode Utama?
public class CalculatorTest {
public static void main(String args[]){
//Create Calculator object instance
Calculator calc = new Calculator();
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 22
Variabel untuk Objek
int age = 22;
String str = "Happy Birthday!";
Scanner sc = new Scanner();
Calculator calc = new Calculator();
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 23
Menggunakan Operator Titik
• Letakkan operator titik (.) setelah nama variabel untuk
mengakses bidang atau metode
public class CalculatorTest {
public static void main(String args[]){
Calculator calc = new Calculator();
calc.printTip(); //prints 0.15
calc.tip = 0.10;
calc.printTip(); //prints 0.10
}//end method main
}//end class CalculatorTest
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 24
Latihan 2, Bagian 1:
• Impor dan buka proyek Tip02
• Lengkap metode findTotal(), yang seharusnya:
−Menghitung total berdasarkan bidang pajak, tip, dan
originalPrice
−Mencetak total seseorang
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 25
Latihan 2, Bagian 2:
• Dari metode utama:
−Mulai objek Kalkulator yang diberi nama calc
−Amati NetBeans setelah mengetik "calc"
−Akses bidang dan metode objek ini untuk mencetak total bagi
setiap orang di pesta ulang tahun
• Ubah tip dan pajak jika Anda memilih nilai yang
berbeda
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 26
Topik
• Cara Menyusun Struktur Class
• Meneruskan Nilai ke Metode
• Mengembalikan Nilai dari Metode
Apa yang
dimaksud Deklarasi dan
Class String Class Random Class Math
dengan Paket impor
Metode?
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 27
Apa yang Mungkin Anda Tulis
• Anda mungkin telah menulis program Anda seperti ini:
−Dua baris diperlukan untuk setiap orang
−Dan lebih banyak baris jika Anda memutuskan untuk
mencetak nama atau mengubah nilai pajak/tip
public class CalculatorTest{
public static void main(String args[]){
Calculator calc = new Calculator();
calc.originalPrice = 10;
calc.findTotal();
calc.originalPrice = 12;
calc.findTotal();
}//end method main
}//end class CalculatorTest
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 28
Menjadi Lebih Fleksibel
• Namun pekerjaan yang sama juga dapat dilakukan
dalam satu baris
• Juga berbahaya untuk menulis program yang
mengakses bidang secara langsung
−Anda akan belajar tentang hal ini nanti
−Sasaran pelajaran ini hanya untuk mempersiapkan Anda
bekerja dengan class penting yang disediakan Java
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 29
Ingat JOptionPane
• Ketika kita menambahkan literal String dengan "type
something:" ke panggilan metode, kita memasok
argumen ke metode tersebut
• Argumen ini mengubah JOptionPane yang dihasilkan
JOptionPane.showInputDialog("Type something:");
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 30
Kapan Metode Dapat Menerima Argumen?
• Anda akan menemukan bahwa banyak metode
dipengaruhi oleh argumen
−Namun metode harus ditulis untuk menerima argumen
−Jika tidak, pengompilasi akan mengajukan keluhan
−Metode perhitungan ditulis untuk tidak menerima argumen
Calculator calc = new Calculator();
calc.calculate(); //Good
calc.calculate(3, 2.0); //Fail
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 31
Animasi Argumen Metode
• Tetapi metode perhitungan ini ditulis untuk menerima
dua argumen:
−Argumen pertama harus berupa int
−Argumen kedua harus berupa double
Calculator calc = new Calculator();
calc.calculate(3, 2.0);
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 32
Urutan Argumen Sangat Penting
• Apa yang terjadi jika kita membalik urutan argumen?
Calculator calc = new Calculator();
calc.calculate(2.0, 3);
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 33
Latihan 3, Bagian 1:
• Impor dan buka proyek Tip03
• Dari metode utama:
−Gunakan instance objek Kalkulator dan berikan argumen ke
findTotal() untuk mencetak total bagi setiap orang
−Petunjuk: Amati metode findTotal() di class Calculator untuk
mengetahui berapa banyak argumen yang diterima oleh
metode ini
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 34
Latihan 3, Bagian 2:
• Siapa pemilik dari setiap total?
• Ubah metode findTotal() untuk menerima argumen
nama String tambahan
• Gabungkan pernyataan cetak agar menyertakan nama
• Amati keluhan NetBeans' di metode utama dan revisi
panggilan metode findTotal() Anda
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 35
Argumen dan Parameter Metode
• Argumen adalah nilai yang diteruskan selama
panggilan metode:
Calculator calc = new Calculator();
calc.calculate(3, 2.0); //should print 1.5
Argumen
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 36
Parameter Metode: Contoh
• Metode dapat memiliki angka atau jenis parameter apa
pun:
public void calculate0(){
System.out.println("No parameters");
}//end method calculate0
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 37
Cakupan Parameter
• Metode harus diberi tahu apa yang harus dilakukan
terhadap argumen yang mereka terima
• Anda melakukannya dengan menggunakan parameter
metode
−Parameter metode adalah variabel yang ada dalam seluruh
cakupan metode
−Parameter dibuat dalam pernyataan metode
−Lingkup mengacu pada {block of code} milik suatu metode
setelah deklarasi
public void calculate(int x, double y){
System.out.println(x/y);
}//end method calculate
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 38
Membuat Referensi Parameter Metode
• Variabel bisa direferensikan di mana pun di dalam blok
setelah dinyatakan
• Variabel tidak bisa diarahkan ke luar blok tempatnya
dinyatakan atau sebelum dinyatakan
public void calculate(int x, double y){
System.out.println(x/y); Cakupan x
} //end method calculate
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 39
Topik
• Cara Menyusun Struktur Class
• Meneruskan Nilai ke Metode
• Mengembalikan Nilai dari Metode
Apa yang
dimaksud Deklarasi dan
Class String Class Random Class Math
dengan Paket impor
Metode?
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 40
Menemukan Total Jumlah: Skenario
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 41
Menambahkan Total
• Cara lain untuk memikirkan hal ini:
−Saya telah menghitung nilai dalam metode …
−Namun nilai tersebut disimpan sebagai variabel yang tidak
bisa ada di luar cakupan blok metodenya …
−Bagaimana cara saya mengeluarkan nilai ini?
public void findTotal(double price, String name){
double total = price * (1 + tax + tip);
System.out.println(name + ": $ " + total);
} //end method findTotal
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 42
Menambahkan Total
double total
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 43
Menambahkan Total
• Jika Anda memikirkan menulis program seperti ini:
public class CalculatorTest{
public static void main(String args[]){
Calculator calc = new Calculator();
calc.findTotal(10);
calc.findTotal(12);
System.out.println(calc.findTotal(10) +
calc.findTotal(12));
}//end method main
}//end class CalculatorTest
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 44
Apa yang Dimaksud dengan Jenis Void?
• showInputDialog() adalah metode jenis String
−Metode ini menghasilkan nilai yang dalam disimpan sebagai
String
String input = JOptionPane.showInputDialog("Type something:");
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 45
Method Return Type
• Variabel dapat memiliki nilai dari berbagai jenis:
long
Calculator
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 46
Method Return Type: Contoh
• Metode harus menghasilkan data yang sesuai dengan
jenis returnnya:
public void printString(){
System.out.println("Hello");
}//end method printString
public String returnString(){
return("Hello");
}//end method returnString
public int sum(int x, int y){
return(x + y);
}//end method sum
public boolean isGreater(int x, int y){
return(x > y);
}//end method isGreater
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 47
Animasi Return Metode
• Contoh kode berikut memberikan hasil yang setara:
public static void main(String[] args){
int num1 = 1, num2 = 2;
int result = num1 + num2;
System.out.println(result);
}//end method main
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 48
Meneruskan Argumen dan Menghasilkan Nilai
1 2
Nilai yang diterima
Nilai diberikan dari oleh metode
metode pemanggil ke Objek pekerja
metode pekerja
metode
1
2
3 1
4 2
5 3
6 4
7
3
Nilai dihasilkan ke
metode pemanggil
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 4
9
Latihan 4, Bagian 1:
• Edit solusi Tip03 Anda
−Atau impor proyek Tip04
• Temukan dan cetak total seluruh tabel, termasuk pajak
dan tip
−Anda harus mengedit findTotal() yang telah ditentukan agar
menghasilkan nilai terhitung
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 50
Latihan 4, Bagian 2:
• Person8 lupa membawa dompet
• Makanan Alex juga dimaksudkan menjadi traktiran
ulang tahun
• Modifikasi findTotal() agar biaya makanan mereka
dibagi sama rata dengan semua tamu pesta lainnya
• Hitung ulang total seluruh tabel
• Angka ini tidak boleh diubah
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 51
Ringkasan Tentang Sintaks Metode
Nama metode
Parameter
Method return type
public double calculate(int x, double y){
double quotient = x/y;
return quotient; Penerapan
}//end method calculate
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 52
Rangkuman
• Dalam pelajaran ini, Anda seharusnya sudah belajar
cara:
−Kode struktur di dalam class
−Memulai objek
−Memahami manfaat metode
−Menggunakan operator titik (.) untuk mengakses bidang dan
metode objek
−Memasukkan argumen ke
sebuah metode
−Menghasilkan nilai dari
metode
JFo 4-1
Apa yang dimaksud dengan Metode? Hak Cipta © 2020, Oracle dan/atau afiliasinya. Semua Hak Dilindungi Undang-Undang. 53