LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBYEK
MODUL IV
"MEMBUAT DAN MENGGUNAKAN METHOD"
Disusun Oleh :
Nama : Ivan Saputra
NIM : 11/319113/TK/38245
Hari Praktikum/Jam : Jumat/16.00
Tanggal Praktikum : 15 November 2013
LABORATORIUM JARINGAN KOMUNIKASI
JURUSAN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK UGM YOGYAKARTA
2013
BAB I
PENDAHULUAN
Method adalah suatu subrutin yang secara eksklusif diasosiasikan dengan class (disebut static method) dan object (disebut instance method). Method menyediakan mekanisme untuk mengakses dan memanipulasi data enkapsulasi yang di-store dalam suatu objek. Method berisi sekumpulan instruksi terpadu.
Di dalam pembuatan method diperlukan keterangan yang mengatur tingkat akses, nilai balik, parameter, serta nama method tersebut. Penulisan program dengan menggunakan method dapat menyederhanakan kodenya. Karena method akan menyusun fungsi sesuai dengan pengelompokan yang diinginkan programmer, kemudian fungsi yang dikelompokkan oleh method itu tinggal dipanggil di Main.
Salah satu fungsi utama dari method adalah memberikan nilai balikan atau return value . Jika returrn type bukan void, method tersebut dapat memberikan nilai balikan dengan keyword return. Eksekusi juga akan terhenti jika kata return telah diproses.
BAB II.
PEMBAHASAN
Analisis :
Latihan 1 : menggunakan parameter yang mengembalikan nilai pada method
Pada latihan ini, Anda akan mendefinisikan dan menggunakan parameter input dalam sebuah method yang bisa mengembalikan sebuah nilai. Anda juga akan membuat sebuah framework uji coba untuk membaca dua nilai dari konsol dan menampilkan hasilnya.
Anda akan membuat sebuah class dengan nama Guna. Pada class ini, Anda akan membuat sebuah method yang dinamai LebihBesar. Method ini akan mengambil dua parameter integer sebagai input dan akan mengembalikan nilai yang lebih besar dari dua nilai tersebut.
Sebagi uiji coba dari class tersebut, Anda akan membuat class lainnya yang dinamai test yang memandu user untuk memasukkan dua angka, kemudian akan memanggil Guna. LebihBesar untuk menentukan angka manakah yang lebih besar dari keduanya, dan menampilkan hasilnya. Berikut adalah tahapan - tahapan dalam pembuatan program latihan ini :
Membaca method LebihBesar
Source Code (SC) :
Penjelasan :
Pada class Guna, terdapat sebuah method int static LebihBesar dengan parameter int a dan int b. code didalamnya bermaksud, pertama mengecek apakan a lebih besar dari b, jika iya maka nilai a akan di-return, jika tidak maka nilai b yang akan di-return.
Pada class Coba, pertama terdapat inisialisasi variable. Kemudian, user dimintakan input untuk angka pertama dan kedua (angka pertama nantinya menjadi variable a, dan angka kedua dijadikan variable b), dengan menggunakan console.readline().
"lebihbesar = Guna.LebihBesar (x,y)", code disamping dimaksudkan bahwa method LebihBesar yang ada di class Guna dipanggil dengan parameter x dan y (x merupakan angka pertama yang diinputkan user, dan y merupakan angka kedua). Setelah itu, nilai variable lebihbesar (tipe int) akan ditampilkan, dimana nilainya bisa x atau y, tergantung hasil dari proses method LebihBesar. Misal x = 3, y = 8, saat dimasukkan ke method LebihBesar, nilai y akan di-return, karena kondisi x>y tidak terpenuhi.
ScreenShot saat program dijalankan :
Latihan 2 : menggunakan method dengan reference parameter
Pada latihan kali ini, Anda akan membuat method dengan nama Tukar yang akan menukar nilai dari parameternya. Anda akan menggunakan parameter yang digunakan secara bersama. Berikut adalah Source Code beserta screenshot program yang dibuat :
Source Code (SC) :
Penjelasan :
Pada class Guna, akan ditambahkan method dengan tipe static void dengan nama Tukar yang memilik parameter ref int a dan ref int b. code didalamnya dimaksudkan untuk menukar nilai a dengan b, dengan cara :
Pertama, nilai a dimasukkan ke suatu variable lain, misal temp (tipe int). Kemudia nilai b dimasukkan ke nilai a. Terakhir nilai temp dimasukkan kedalam nilai b.
Pada class Coba, method Tukar pada class Guna akan dipanggil dengan cara :
Guna.Tukar (ref x, ref y);
Ref x dan ref y pada code diatas dimaksudkan bahwa me-reference nilai x dan y, yang sebelumnya telah diinisialisasi dan dimasukkan sesuai dengan input-an user. Jadi hasil yang keluar dari method Tukar akan tetap merujuk kepada variabel x dan y, tanpa harus dimasukkan ke variable baru. Akhirnya, nilai variable x dan y akan ditampilkan kembali ke layar dengan nilai yang sudah berbeda dari nilai yang awalnya diinputkan oleh user.
ScreenShot :
Latihan 3 : menggunakan method dengan output parameter
Pada latihan kali ini, Anda akan membuat dan mempergunakan sebuah method static yang memiliki parameter output. Anda akan membuat method baru yaitu Faktorial yang mengambil nilai int dan menghitung hasil faktorialnya. Faktorial dari angka adalah hasil perkalian dari semua bilangan dari angka 1 sampai angka tersebut. Faktorial dari 0 didefinisikan sebagai 1. Berikut ini adalah contoh dari faktorial :
Faktorial(0) = 1
Faktorial(1) = 1
Faktorial(2) = 1 * 2 = 2
Faktorial(3) = 1 * 2 * 3 = 6
Faktorial(4) = 1 * 2 * 3 * 4 = 24
Source Code (SC) :
Penjelasan :
Pada class Guna, dibuat sebuah method Faktorial dengan tipe static bool, memiliki parameter int n, dan out int jawaban. 'Out', dimaksudkan bahwa parameter ini hanya akan mengeluarkan nilai dari dalam method.
Pada class Coba, method Faktorial pada class Guna dipanggil dengan parameter x dan out f. parameter out disini, dimaksudkan saat dipanggil method Faktorial, nilai 'out f' tidak memiliki nilai, nilai nantinya akan keluar dari dalam method itu sendiri, tanpa harus dimasukkan input-an parameter ke method tersebut.
Pada kasus ini, variable yang dimasukkan ke method Faktorial adalah nilai variable x, yang sebelumnya telah diinputkan oleh user. Sedangkan, nilai f baru akan didapat nilai setelah nilai x diproses pada method Faktorial.
ScreenShot hasil :
Tugas : mengimplementasikan method dengan menggunakan rekursi
Pada latihan kali ini, Anda akan mengimplementasikan ulang method Faktorial yang Anda buat pada Latihan 3 dengan menggunakan rekursi daripada dengan loop. Angka Faktorial bisa didefinisikan secara rekursif sebagai berikut :
Faktorial dari nol adalah 1, dan Anda bisa menemukan faktorial dari integer apapun yang lebih besar dengan mengalikan integer tersebut dengan faktorial dari angka sebelumnya. Singkatnya:
Jika n=0, maka Faktorial(n) = 1; begitupun n * Faktorial(n-1)
Source Code (SC) :
Penjelasan :
Pada tugas ini, sebenarnya sama saja dengan latihan 3 sebelumnya. Hanya saja, proses
Untuk menghitung nilai factorial menggunakan sintaks yang berbeda. Tentang rekursif :
Program rekursif memiliki kemampuan untuk melakukan pemanggilan terhadap dirinya sendiri
Setiap saat terjadi pemanggilan terhadap dirinya sendiri, program rekursif melakukan pekerjaan yang lebih kecil. Argument yang dilewatkan akan semakin kecil.
Fungsi program rekursif adalah supaya bisa melakukan pemanggilan pada dirinya sendiri (dimana ketika melakukan pemanggilan dirinya sendiri, pekerjaan yang dilakukan akan lebih kecil), sehingga akan meningkatkan performa program.
ScreenShot hasil :
Jawaban Pertanyaan :
Jelaskan sekumpulan dan jenis jenis method di lihat dari jenis masukannya, keluarannya, dan parameternya?
Jawab :
Instance method dalam implementasi yang tipikal adalah method yang melewatkan reference tersembunyi ke tempat object (class atau instance class) tersebut berada. Jadi, bisa mengakses data yang berasosiasi dengan instance method.
Abstract method adalah suatu method dengan kode dummy yang tidak mempunyai implmentasi. Seting digunakan sebagai placeholder untuk diganti nantinya oleh subclass dari atau suatu prototype object yang mengimplementasikan abstract method.
Accessor method adalah method yang biasanya kecil, sederhana, dan menyediakna "isi" yang dibutuhkan untuk membuat suatu object bisa diakses dari bagian lain di dalam program.
Constructor method, berfungsi sebagai otomatisasi selama pembuatan instance suatu class. Beberapa bahasa pemrograman punya sintax khusus untuk konstuktor. Kalau di Java, C++, C#, ActionScript, dan PHP. Constructor ini mempunyai nama yang sama dengan nama kelasnya.
Destructor method yang merupakan kebalikan dari konstruktor, yaitu berfungsi menghancurkan suatu instance dari kelas.
Apakah makna reskursi dalam latihan yang dilakukan di atas?
Jawab :
Rekursif memiliki kemampuan untuk melakukan pemanggilan terhadap dirinya sendiri. Contohnya dapat dilihat pada tugas diatas yang menggunakan method FaktorialRekursif yang melakukan perhitungan factorial dengan menambahkan fungsi rekursif. Sebenarnya rekursif hamper sama dengan loop, hanya saja rekursif melakukan perulangan method (memanggil method didalam method yang sama).
BAB III.
PENUTUP
Kesimpulan
Method selalu dideklarasikan di dalam suatu kelas, dan biasanya selalu mempunyai parameter agar dapat digunakan dua arah
Penggunaan method digunakan dalam object oriented programming, method dapat dipanggil dari kelas lain
Ada dua jenis variable, yaitu reference type dan value type
Reference type juga harus dideklarasikan dalam kelas
Perulangan method dapat digantikan dengan fungsi rekursif
Fungsi rekursif adalan fungsi yang dapat memanggil dirinya sendiri, sehingga dapat meningkatkan performa program
Daftar Pustaka
http://www.scribd.com/doc/74437208/Pemrograman-Berorientasi-Objek-Dengan-Bahasa-C-Part-4