Best Rapidshare Search
Kelompok
2 :
1. Miftachus
Siyam : 11622019
2.
Naufal Syauqi : 11622045
3.
Frin Dwi Setiya Rahayu : 11622020
4.
Alfian Raharja : 11622033
5.
Moh. Mas’ud Ali : 11622029
6. Zulfan
Efendy :
11622017
Tugas 2 :
1. Jelaskan jenis-jenis method
2. Berikan contoh dengan coding dari jenis-jenis
method tersebut
3. Apa yang dimaksud dengan Polymorphism,
Inheritance dan Encaptulation
Jawaban
:
1. Dan 2 Ada
beberapa jenis Method
1. Method
Overloading
Overloading adalah mendefinisikan dua atau lebih method
di dalam kelas yang sama, dengan nama yang sama, namun dengan deklarasi
parameter yang berbeda.
Java interpreter mampu membedakan method mana yang dieksekusi dengan mengenali tipe parameter yang dilewatkan ke method, serta mengenali return valuenya.
Tugas dari method-method yang dioverloading tersebut berbeda.
Java interpreter mampu membedakan method mana yang dieksekusi dengan mengenali tipe parameter yang dilewatkan ke method, serta mengenali return valuenya.
Tugas dari method-method yang dioverloading tersebut berbeda.
public class
Perkalian {
private double pangkat(int a, int b) {
double hasil = 1.0;
//kode program
return hasil;
}
public static void main(String[] args) {
Perkalian kali = new Perkalian();
System.out.println(kali.pangkat(10,308));
}
}
private double pangkat(int a, int b) {
double hasil = 1.0;
//kode program
return hasil;
}
public static void main(String[] args) {
Perkalian kali = new Perkalian();
System.out.println(kali.pangkat(10,308));
}
}
2.
Method Construktor
Konstruktor adalah Metode yang dapat digunakan untuk memberikan nilai awal
saat objek di ciptakan. Metode ini di panggil secara otomatis oleh java ketika new
dipakai untuk menciptakan instan kelas.
Telah tersirat pada pembahasan
sebelumnya, Constructor sangatlah penting pada pembentukan sebuah object.
Constructor adalah method dimana seluruh inisialisasi object ditempatkan.
Berikut ini adalah property dari
Constructor :
· Constructor memiliki nama yang sama dengan class
·
Sebuah Constructor mirip dengan method
pada umumnya, namun hanya informasi – informasi berikut yang dapat
ditempatkan pada header sebuah constructor, scope atau
identifikasi pengaksesan (misal: public), nama dari konstuktor dan parameter.
· Constructor tidak memiliki return value
·
Constructor tidak dapat dipanggil
secara langsung, namun harus dipanggil dengan menggunakan operator new pada
pembentukan sebuah class.
contoh
konstruktor:
public class
Construktor{
double gaji;
String
idkaryawan,nama,bagian,jabatan,alamat;
int umur;
public
Construktor(String idkaryawan,String nama,double gaji){
this.idkaryawan=idkaryawan;
this.nama=nama;
this.gaji=gaji;
}
public
Construktor(String idkaryawan,String nama,String bagian,String jabatan){
this.idkaryawan=idkaryawan;
this.nama=nama;
this.bagian=bagian;
this.jabatan=jabatan;
}
public
Construktor(String idkaryawan,String nama,String bagian,String jabatan,String
alamat,int umur){
this.idkaryawan=idkaryawan;
this.nama=nama;
this.bagian=bagian;
this.jabatan=jabatan;
this.alamat=alamat;
this.umur=umur;
}
public static
void main(String[]args){
Construktor
A=new Construktor("ID1234","SILVIA TAKARINA",2000000);
System.out.println("ID
ANDA ADALAH="+A.idkaryawan +
"\n NAMA
ANDA ADALAH=\n" +A.nama +
"\n DAN
GAJI ANDA ADALAH=" +A.gaji);
Construktor
B=new Construktor("ID1234","SILVIA
TAKARINA","ADMINISTRATOR","KEPALA BIDANG");
System.out.println("ID
ANDA ADALAH="+B.idkaryawan +
"\n NAMA
ANDA ADALAH=" +B.nama +
"\n BAGIAN
ANDA=" +B.bagian +
"\n
JABATAN="+ B.jabatan );
Construktor
C=new Construktor("ID1234","SILVIA
TAKARINA","ADMINISTRATOR","KEPALA
BIDANG","PADANG",20);
System.out.println("ID
ANDA ADALAH="+C.idkaryawan +"\n NAMA ANDA ADALAH=" +C.nama
+"\n BAGIAN ANDA=" +C.bagian +
"\n
JABATAN="+ C.jabatan +"\n ALAMAT=" +C.alamat +"\n
UMUR=" +C.umur);
}
}.
3. Assesor
dan Mutator
Encapsulation adalah proses pengelompokan
property dan method dengan memberikan hak akses kepada property dan method
sehingga property hanya dapat di akses melalui method accessor dan tidak dapat
di rubah tanpa melalui prosedur yang seharusnya yang diatur pada method
mutator.
Dalam OOP Encapsulation di wujudkan dalam bentuk
“class”. Dalam sebuah class terdapat property dan method yang memiliki hak
akses tertentu terhadap environment/lingkungan-nya, hak akses ini biasa di
sebut Access Modifier, access modifier terdiri dari private, protected, dan
public.
·
private
memberikan hak akses hanya kepada anggota class tersebut untuk menggunakan dan/atau mengubah nilai dari property atau method tersebut.
memberikan hak akses hanya kepada anggota class tersebut untuk menggunakan dan/atau mengubah nilai dari property atau method tersebut.
·
protected
memberikan hak akses kepada anggota class nya dan anggota class hasil inheritance (penurunan sifat) dari class tersebut.
memberikan hak akses kepada anggota class nya dan anggota class hasil inheritance (penurunan sifat) dari class tersebut.
·
public
memberikan hak akses kepada property dan method agar dapat digunakan diluar class tersebut.
memberikan hak akses kepada property dan method agar dapat digunakan diluar class tersebut.
Contoh penggunaan dalam bahasa pemrograman Java:
private String name;
protected String address;
public String getName(){…}
private String name;
protected String address;
public String getName(){…}
Dalam hal property dan method terdapat dua jenis
yaitu static dan dynamic.
Static property dan method hanya dimiliki oleh class yaitu semua nilai dari static property dan method adalah sama dalam semua obyek, maka dari itu penggunaannya cukup dengan menggunakan class bukan obyek
deklarasi:
public static String getStudentCount(){…}
penggunaan:
Student.getStudentCount();
Static property dan method hanya dimiliki oleh class yaitu semua nilai dari static property dan method adalah sama dalam semua obyek, maka dari itu penggunaannya cukup dengan menggunakan class bukan obyek
deklarasi:
public static String getStudentCount(){…}
penggunaan:
Student.getStudentCount();
Dynamic property adalah property dan method yang
tergantung obyek yang dibentuknya sehingga penggunaannya membutuhkan obyek yang
telah terbentuk. Secara default deklarasi property adalah dynamic sehingga
tidak dituliskan (implisit)
deklarasi:
public String getName(){…}
penggunaan:
Student s = new Student(“Anna”);
s.getName();
deklarasi:
public String getName(){…}
penggunaan:
Student s = new Student(“Anna”);
s.getName();
Sebagai contoh, kita ambil
kelas Mobil dan memodifikasinya untuk mengimplementasikan encapsulation.
public class Mobil {
// cunstructor dari kelas Mobil
public Mobil() {
System.out.println(“cunstructor kelas Mobil..”);
}
// atribut dari kelas Mobil
private String tipeMobil;
private String warna;
/************************************
* method dari kelas Mobil sebelumnya
***********************************/
// method accessor kelas Mobil
public String getTipeMobil() {
return tipeMobil;
}
public String getWarna() {
return warna;
}
// method mutator kelas mobil
public void setTipeMobil (String tipeMobil) {
this.tipeMobil = tipeMobil;
}
public void setWarna (String warna) {
this.warna = warna;
}
}
// cunstructor dari kelas Mobil
public Mobil() {
System.out.println(“cunstructor kelas Mobil..”);
}
// atribut dari kelas Mobil
private String tipeMobil;
private String warna;
/************************************
* method dari kelas Mobil sebelumnya
***********************************/
// method accessor kelas Mobil
public String getTipeMobil() {
return tipeMobil;
}
public String getWarna() {
return warna;
}
// method mutator kelas mobil
public void setTipeMobil (String tipeMobil) {
this.tipeMobil = tipeMobil;
}
public void setWarna (String warna) {
this.warna = warna;
}
}
Perhatikan bahwa atribut dari tipeMobil dan warna
memiliki access modifier private yang berarti bahwa atribut tersebut tidak
dapat diakses dari kelas manapun selain kelas Mobil. Namun atribut masih tetap
dapat dipakai dengan menggunakan accessor dan mutator method. Inilah contoh
sederhana dalam menyembunyikan informasi suatu kelas dari kelas lain atas dasar
penyederhanaan kompleksitas pemrograman. Kelas lain tidak perlu tahu
kompleksitas desain dan struktur dari suatu kelas yang menjadi internal fungsi
dari kelas tesebut, namun tetap bisa mendapatkan informasi yang diperlukan.
4. Construktor Overloading
Keyword yang
digunakan pada method ini adalah this. Kata kunci this mengacu ke variabel
instant dari kelas tersebut. Berguna untuk mengakses variabel instan yang didefinisikan
di parameter. Biasanya digunakan dalam konstruktor atau method. Digunakan dalam
untuk menyatakan objek yang sekarang.
Contoh:
public class
Consoverload{
String judulBuku,pengarang,Penerbit,thnTerbit,idBuku;
int jumlah;
double harga;
public ConsOverload(String idBuku,String
judulBuku,String pengarang,String penerbit){
this.idBuku=idBuku;
this.judulBuku=judulBuku;
this.pengarang=pengarang;
this.Penerbit=penerbit;
}
public ConsOverload(String
idBuku,String judulBuku,String pengarang,String penerbit,String thnTerbit){
this.idBuku=idBuku;
this.judulBuku=judulBuku;
this.pengarang=pengarang;
this.Penerbit=penerbit;
this.thnTerbit=thnTerbit;
}
public
ConsOverload(String idBuku,int jumlah,double harga){
this.idBuku=idBuku;
this.jumlah=jumlah;
this.harga=harga;
}
public static
void main(String[]args){
ConsOverload A=new
ConsOverload("1234","Laskar
Pelangi","A.FUADI","GRAMEDIA UTAMA");
System.out.println("ID ANDA" +
A.idBuku + "nama buku" +A.judulBuku +" pengarang"
+A.pengarang +"Penerbit" +A.Penerbit);
ConsOverload B=new
ConsOverload("1234","Laskar
Pelangi","A.FUADI","2002",50000);
System.out.println("ID ANDA" +
B.idBuku + "nama buku" +B.judulBuku +" pengarang" +B.pengarang
+"tahun terbit" +B.thnTerbit+"harga="+B.harga);
ConsOverload C=new
ConsOverload("1234","3",50000);
System.out.println("ID ANDA" +
C.idBuku + "jumlah" +C.jumlah +" pengarang"
+"harga="+B.harga);
}
}
5.
Method Overriding
Method subclass override terhadap
method superclass ketika subclass mendeklarasikan method ang signaturenya serupa ke method dalam
superclass. Signature dari method hanyalah informasiyang ditemukan dalam
definisi method bagian atas. Signature mengikutkan tipe return, nama dandaftar
parameter method tetapi itu tidak termasuk acces modifier dan tipe yang lain dari kata
kunci eperti final dan static. Inilah perbedaan dari method overloading.
Method overloadingsecara singkat didiskusikan dalam sub bagian pada kata kunci this.
class Superclass {
void display(int n) {
System.out.println("super: " + n);
}
}
class Subclass extends Superclass {
void display(int k) { //method overriding
System.out.println("sub: " + k);
}
}
class OverrideDemo {
public static void main(String args[]) {
Subclass SubObj = new Subclass();
Superclass SuperObj = SubObj;
SubObj.display(3);
((Superclass)SubObj).display(4);
}
}
6. Method Biasa (Tanpa Parameter)
Contoh
public class ImplementasiMethodNonVoid {
public static void main(String[] args) {
//instantiasi objek KaryawanKaryawan
karyawan001 = new Karyawan();
//mengisi data pada objek Karyawan
karyawan001.ID = "K001";
karyawan001.nama = "Agus Ramadhan";
karyawan001.divisi = "Keuangan";
karyawan001.gaji = 1850000;/
/memanggil method
cetakDAta()karyawan001.cetakData();/
/memanggil method
hiungSumbanganZakat()
System.out.println("Sumbangan Zakat : "
+karyawan001.hitungSumbanganZakat());
}}
7. Method Berparameter
Dengan adanya
parameter, sebuahmethod dapat bersifat dinamis dan general.Artinya,
method tersebut dapat mengembalikan nilai yang beragam sesuai dengan
nilai parameter yang dilewatkannya.
Contoh
class TipeStringKeClass{
void methodClass(Class cls){
//disini saya ingin menjalankan TestRunner(JUnit) dari file java
junit.swingui.TestRunner.run(cls);
}
void methodString(){
String textField_dot_getText = "HelloWorld.class";
//ini Error Karena tidak sesuai String dan Class
//Gak bisa parsing String ke Class
methodClass(textField_dot_getText);
}
}
void methodClass(Class cls){
//disini saya ingin menjalankan TestRunner(JUnit) dari file java
junit.swingui.TestRunner.run(cls);
}
void methodString(){
String textField_dot_getText = "HelloWorld.class";
//ini Error Karena tidak sesuai String dan Class
//Gak bisa parsing String ke Class
methodClass(textField_dot_getText);
}
}
3. Inheritanc eatau
pewarisan
Inheritance atau pewarisan
pada pemrograman berorientasi objek merupakan suatu hubungan dua buah kelas
atau lebih. Dalam hal ini ada kelas yang memiliki atribut dan metode yang sama
dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat
khusus kelas yang menjadi turunannya
Enkapsulasi
Enkapsulasi
adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses
program agar tidak dapat diakses secara sembarangan atau di intervensi oleh
program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga
kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program
tersebut.
Polymorphism,
Polymorphism, suatu aksi yang
memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki
obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan
yang sama sesuai dengan sifat masing-masing obyek.
Terimkasih infonya
ReplyDeletesalam Aqidah Jogja