Method Method t4a Method dengan Parameter dan Return
2 3 4
t4b
4
t4c
4
t4d
5
Pass by Value t4e Local or Global
6 6 7
t4f
7
t4g
8
Method dalam Java
9
t4h
9
Tugas
10
1. Deret Prima
10
2. Kombinasi
10
3. Nilai
11
4. Jarak Dua Titik
12
5. Greatest Common Divisor
12
Salah satu metode penyelesaian masalah yang sering digunakan adalah memecah atau membagi suatu masalah yang besar menjadi bagian-bagian masalah yang lebih kecil. Dalam bahasa Java kita dapat menerapkan metode penyelesaian masalah ini dengan menggunakan method. Kegunaan lain dari method pada saat membuat suatu program adalah kegunaan penggunaan ulangnya ketika kita sering kali menggunakan bagian tertentu dari kode program kita secara berulang-ulang. Bagian program tersebut dapat kita buat menjadi suatu method. Lebih jauh lagi, menggunakan method dapat mengurangi kerumitan pada saat kita sedang membuat suatu program skala besar. Dengan membungkus bagian-bagian program tertentu ke dalam suatu method, program yang kita buat menjadi lebih modular. Misalnya, jika terjadi kesalahan pada bagian fungsi tertentu, kita hanya perlu melakukan perubahan pada bagian method tersebut tanpa perlu melakukan perubahan pada bagian yang lain dari program. Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
1
Method Berikut bentuk umum sebuah method.
Keterangan : • tipe_kembalian Tipe Data dari nilai yang akan dikembalikan oleh method. Semua tipe data yang ada bisa digunakan, seperti int, float, double, char, void (kosong). • Nama_method Aturan penamaan method sama dengan aturan penamaan variabel. • argumen Dengan argumen, kita dapat mengirimkan dan menerima data dari suatu method. Penulisan argumen method mirip seperti pendeklarasian variabel. • return Jika method bukan bertipe void, maka perlu mengembalikan suatu nilai sesuai tipe kembaliannya. Mari kita buat sebuah method sangat sederhana untuk mencetak pesan "Hello World".
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
2
t4a
Jangan lupa menuliskan identitas program pada setiap file. Apa output dari program diatas ?
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
3
Method dengan Parameter dan Return Method yang kita pelajari ini serupa dengan function dan method yang terdapat pada Alice. Sebuah method dapat mengembalikan atau tidak mengembalikan nilai. Berikut perbedaan antara keduanya. t4b
t4c
Ingat !!! Method dapat dituliskan diatas atau dibawah main.
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
4
Pada kode diatas kita membuat sebuah method bernama tambah dan menggunakannya. Jangan perdulikan dulu keyword static yang muncul di samping public, pada dasarnya kita mendefinisikan dulu sebuah method baru kita menggunakannya. Sekarang cobalah membuat sebuah method yang mengembalikan hasil kali dua buah parameternya. t4d
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
5
Pass by Value Perhatikanlah kode program berikut ini dan jangan di kompile dan jalankan terlebih dahulu. t4e
Menurut anda berapakah nilai yang dikeluarkan 3 perintah System.out.println diatas ? Setelah menebak jalankan program anda dan lihatlah hasilnya. Mengapa begitu ? Perhatikan bahwa nilai dari variabel nilai hanya di-copy ke variabel a di method tambah10, sehingga pada saat awal, isi dari variabel a adalah 3. Karena hanya nilainya saja yang di-copy, maka perubahan pada variabel a tidak mempengaruhi variabel nilai. Bagaimana jika variabel memiliki nama yang sama ? Misalnya int a diganti menjadi int nilai. Apakah yang terjadi ? Berpengaruhkah terhadap main ?
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
6
Local or Global Pada beberapa method yang sudah kita buat sebelumnya, kita melakukan deklarasi variabel di dalam mathod. Variabel yang dideklarasikan di dalam method hanya berfungsi di dalam method. Variable yang dideklarasikan di dalam class dapat berfungsi di seluruh class. Cobalah kode program berikut. t4f
Keyword static dan private akan anda pelajari di mata kuliah PBO. Tapi intinya pernyataan sebuah deklarasi variable yang global terhadap class, yaitu integer a yang dapat diakses melalui method MyNumber dan main. Cobalah baris kode program berikut ini.
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
7
t4g
Variable a tidak ada di method bNumber, dan variable b tidak ada di aNumber sehingga terjadi error. Perbaikilah program di atas sehingga dapat di compile.
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
8
Method dalam Java Selain dapat membuat method sendiri, terdapat method-method yang telah disediakan oleh Java. Berikut contoh penggunaan method yang telah disediakan Java. t4h
Apa yang terjadi ? Pada setiap class di Java kita dapat membuat method. sqrt() adalah salah satu method yang terdapat pada class Math. Anda memanggil method sqrt pada kelas Math (jangan dibingungkan mengenai class, fokuskan perhatian anda pada method). Penjelasan mengenai kelas dapat anda ikuti terlebih lanjut pada mata kuliah PBO. Untuk memanggil sebuah method anda cukup memanggil nama method dan argumen di dalamnya.
Beberapa fungsi matematika yang sering digunakan antara lain: Fungsi
Kegunaan
Math.cos(x)
Menghitung nilai cosinus x (x dalam satuan radian)
Math.sin(x)
Menghitung nilai sinus x (x dalam satuan radian)
Math.tan(x)
Menghitung nilai tangen x (x dalam satuan radian)
Math.sqrt(x)
Menghitung akar pangkat 2 dari x
Math.exp(x)
Menghitung nilai ex
Math.log(x)
Menghitung nilai logaritma x dalam basis e
Math.pow(x, y)
Menghitung nilai pangkat y dari x
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
9
Tugas Nama file: t10NYYXXX.java (N: nomor soal, YY: angkatan, XXX: 3 digit terakhir NPM) Lihat jam pengumpulan di E-Learning.
1. Deret Prima Buatlah sebuah program yang akan menampilkan suatu deret bilangan prima dengan bantuan sebuah method yang bernama IsPrime. Sebagai bantuan perhatikan prototype method IsPrime dibawah ini :
Contoh input : 5 Contoh output : 2 3 5 7 11
2. Kombinasi Buatlah sebuah program yang akan menghitung kombinasi dengan bantuan sebuah method yang bernama Faktorial. Berikut prototype method Faktorial.
Rumus kombinasi :
Contoh input : 72 Contoh output : 21
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
10
3. Nilai Buatlah sebuah program yang menghitung nilai akhir seorang mahasiswa bila diberikan nilai tugas, nilai UTS dan nilai UAS dari mahasiswa yang bersangkutan. Gunakan method untuk menghitung nilai tersebut. Spesifikasi input. Input diawali dengan sebuah bilangan N dengan 1<= N <= 100, yang menyatakan banyaknya jumlah mahasiswa yang harus diproses. Untuk setiap N input berikutnya memiliki format sebagai berikut : dimulai dengan 3 buah bilangan yang menyatakan nilai tugas. dan diikuti 2 bilangan yang menyatakan nilai UTS dan UAS (setiap bilangan ini lebih besar dari 1 dan lebih kecil dari 100, dan adalah bilangan bulat). Spesifikasi output. Untuk setiap tes kasus, tampilkan nilai akhir mahasiswa tersebut, dengan rumus nilai akhir adalah : 30% ART 40% UAS 30% UTS > 85 : A > 70 : B > 60 : C > 55 : D <= 55 : E Menghitung nilai ART adalah dengan merata-ratakan nilai tugas. Contoh input : 2
//2 orang mahasiswa
50 //nilai tugas1 mahasiswa1 50 //nilai tugas2 mahasiswa1 50 //nilai tugas3 mahasiswa1 50 //nilai UTS mahasiswa1 50 //nilai UAS mahasiswa1 80 //nilai tugas1 mahasiswa2 80
//nilai tugas2 mahasiswa2
80
//nilai tugas3 mahasiswa2
40
//nilai UTS mahasiswa2
80
//nilai UAS mahasiswa2
Contoh output : Mahasiswa 1 : 45 : E Mahasiswa 2 : 60 : D Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
11
4. Jarak Dua Titik Buatlah sebuah method untuk menghitung jarak dari dua buah titik. Rumus jarak dari dua buah titik (x1, y1) dan (x2 ,y2) : r2 = (x1 - x2)2 + (y1 - y2)2 dengan r adalah jarak antara kedua buah titik. Method dibuat dengan prototipe : float jarak_2_titik (int x1, int y1, int x2, int y2); Dengan x1 dan y1 adalah koordinat dari titik (x1, y1) sedangkan x2 dan y2 adalah koordinat dari titik (x2, y2) dan method mengembalikan jarak antara kedua titik. Kemudian buatlah sebuah program lengkap yang menggunakan method di atas untuk menghitung jarak dua buah titik, dimana koordinat dari titik dimasukkan oleh user. Spesifikasi input Input diawali dengan sebuah bilangan N dengan 1<= N <= 100, yang menyatakan banyaknya jumlah tes kasus yang harus diproses. Untuk setiap N baris berikutnya, pada setiap baris terdapat empat buah bilangan bulat x1, y1, x2 dan y2 dengan -1000 <= x1, x2, y1, y2 <= 1000. Spesifikasi output Untuk setiap tes kasus, tampilkan jarak antara kedua buah titik dengan ketepatan 3 angka di belakang koma. Contoh input 3 1 0 -1 0 1 1 -1 -1 0011 Contoh output 2.000 2.828 1.414
5. Greatest Common Divisor Buatlah method untuk menghitung greatest common divisor / faktor persekutuan terbesar (FPB) dari dua buah bilangan. Contoh 1 : FPB 6 dan 14. Faktor dari 6 : 1, 2, 3, 6 Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
12
Faktor dari 14 : 1, 2, 7, 14 FPB dari 4 dan 12 adalah 2, karena 2 adalah angka terbesar yang menjadi faktor dari 6 dan 14. Misal 2 : Untuk bilangan 15 dan 45 : faktor dari 15 : 1, 3, 5, 15 faktor dari 45 : 1, 3, 5, 9, 15, 45 FPB dari 15 dan 45 adalah 15, karena 15 adalah angka terbesar yang menjadi faktor dari 15 dan 45 Hint 1: Cara untuk mencari GCD dari a dan b : i=1 selama i <= a ATAU i <= b { jika a adalah kelipatan dari i DAN b adalah kelipatan dari i maka temp = i i=i+1 } temp adalah GCD dari a dan b Hint 2: Cara untuk mencari GCD dari m dan n : selama m mod n tidak sama dengan 0 { temp = n n = m mod n m = temp } n adalah GCD dari m dan n Prototipe method : int gcd (int x, int y); Method menerima masukan dua buah bilangan x dan y, dan akan mengembalikan nilai gcd dari kedua bilangan tersebut. Di dalam method anda boleh mengimplementasikan cara 1, cara 2 atau cara anda sendiri. Kemudian buatlah sebuah program lengkap yang menggunakan method GCD di atas untuk menghitung GCD dari dua buah bilangan yang dimasukkan oleh user. Spesifikasi input Input terdiri dari beberapa tes kasus. Untuk setiap kasusterdapat sepasang bilangan integer positif a dan b dengan 1 <= a,b <= 216-1. Masukan diakhiri jika a,b == -1. Spesifikasi output Untuk setiap tes kasus, tampilkan gcd dari kedua bilangan.
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
13
Contoh input 6 14 15 45 27 69 -1 -1 Contoh output 2 15 3
Teknik Informatika UNPAR . Praktikum AKS141 - Dasar-Dasar Pemrograman Ganjil 2009/2010
14