PEMOGRAMAN BERBASIS OBJEK
Macam-macam Method dan Fungsi
SILVIA TAKARINA
MI 2B
1001091009
POLITEKNIK NEGERI PADANG
1.
INHERITENS
(PEWARISAN)
Pewarisan adalah hubungan antara class dimana
dalam satu class ada superclass atau class induk dari class yang lain.
Pewarisan menunjuk pada properti dan behaviour yang diterima dari nenek moyang
dari class Ini dikenal juga sebagai hubungan “is-a”. Perhatikan pada hirarki
berikut
TI adalah
superclass dari class Manajemen Informatika dan Teknik Komputer. CatatanTBahwa Manajemen Informatika “is-a” TI. Sebagaimana
juga TEKNIK KOMPUTER “is-a” TI
Untuk membuat class anak atau subclass
berdasarkan class yang telah ada, kita gunakan kata kunci extend
dalam mendeklarasikan class. Sebuah class hanya
dapat meng-extend satu
class induk. Sebagai contoh, class TI adalah superclass dari class
Manajemen Informatika.
Contoh
package Pewarisan;
public class TeknologiInformasi {
String
namaKajur ="ERWADI BAKAR";
String
namaSekjur="RONAL HADI";
String
KaprodiMI="YULHENIWATI";
String
warnalogo="orange";
public
String getNAMAKAJUR(){
return namaKajur;
}
public
String getNAMASEKJUR(){
return namaSekjur;
}
public
String getKAPRODIMI(){
return KaprodiMI;
}
public
String getWARNALOGO(){
return warnalogo ;
}
public
static void main(String[]args){
TeknologiInformasi TI =new TeknologiInformasi ();
System.out.println("\n NAMA KAJUR" + TI.getNAMAKAJUR()
+"\n warna logo" +TI.getWARNALOGO());
}
}
package Pewarisan;
public class ManajemenInformatika extends
TeknologiInformasi{
String
prodi="manajemen Informatika";
int
tingkat=3;
public
String getPRODI(){
return prodi;
}
public
int getTingkat(){
return tingkat;
}
public
static void main(String[]args){
ManajemenInformatika MI=new ManajemenInformatika();
System.out.println("\n PRODI" + MI.getPRODI()
+”\n Nama Kajur” +MI.getNAMAKAJUR()
+"\n warna logo"
+MI.getWARNALOGO()
+"\n Kode pos" + MI.getKodePos()
+"\n tingkat" + MI.getTingkat());
}
}
2.
POLIMORFISME/POLIMORPHISM
Polimorfisme adalah kemampuan dari sebuah object untuk membolehkan
mengambil beberapa bentuk yang berbeda. Secara harfiah, “poli” berarti banyak
sementara “morph” berarti bentuk. Menunjuk pada contoh sebelumnya pada
pewarisan, kita lihat bahwa object TI dapat juga menjadi object Manajemen
Informatika atau object Teknik Komputer
Contoh 1.
package projeeek5;
class Geometris {
public void Geometris(){
System.out.println("macam Rumus Luas dan sisi bangun
Geometris");
}
}
class BujurSangkar extends
Geometris{
public void Geometris(){
System.out.println("Luas Bujur Sangkar Adalah =P* L \n dan
Sisinya=S*S");
}
}
class Lingkaran extends Geometris {
public void Geometris(){
System.out.println("Luas lingkaran Adalah =phi*r *r \n dan
Sisinya=a*phi*diameter");
}
}
class Persegi extends Geometris {
public void Geometris(){
System.out.println("Luas Persegi adalah =p*L \n dan sisnya
=S*S");
}
}
public class Projeeek5{
public static void
main(String[] args){
Geometris g=new Geometris();
BujurSangkar bj=new
BujurSangkar();
Persegi p=new Persegi();
Lingkaran l=new Lingkaran();
g.Geometris();
g=bj;
g.Geometris();
g=l;
g.Geometris();
g=p;
g.Geometris();
}
}
Contoh
2
Class Bunga{
Public void warnaBunga(){
System.out,println(“ macam2 warna bunga”);
}
}
Class mawar extends Bunga(){
Public void warnaBunga(){
System.out. println(“Merah”);
}
}
Class melati extends Bunga(){
Public void warnaBunga(){
System.out. println(“putih”);
}
}
Class Kertas extends Bunga(){
Public void warnaBunga(){
System.out. println(“Ungu”);
}
}
public class Projeeek5{
public static void
main(String[] args){
Bunga b=new Bunga();
Mawwar mw=new Mawar();
Melati ml=new Melati ();
Kertas k=new Kertas();
b.Bunga();
b=mw;
b.Bunga();
b=ml;
b.Bunga();
b=k;
g.Geometris();
b.Bunga();
}
}
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
Untuk
mengimplementasikan enkapsulasi, kita tidak menginginkan sembarang object dapat
mengakses data kapan saja. Untuk itu, kita deklarasikan atribut dari class sebagai
private. Namun, ada kalanya dimana kita menginginkan object lain
untuk dapat mengakses data private. Dalam hal ini kita gunakan accessor
methods. Accessor Methods digunakan untuk membaca nilai variabel
pada class, baik berupa instance maupun static. Sebuah accessor
method umumnya dimulai dengan penulisan get<namaInstanceVariable>.
Method ini juga mempunyai sebuah return value.

Bagaimana
jika kita menghendaki object lain untuk mengubah data? Yang dapat kita
lakukan
adalah membuat method yang dapat memberi atau mengubah nilai variable
dalam
class, baik
itu berupa instance maupun static. Method semacam ini
disebut dengan mutator
methods. Sebuah
mutator method umumnya tertulis set<namaInstanceVariabel>.

Contoh
1.

Contoh 2:

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 yang signaturenya serupa ke method dalam superclass. Signature dari method hanyalah
informasi yang ditemukan dalam definisi method bagian atas. Signature
mengikutkan tipe return, nama dan daftar parameter method tetapi itu tidak
termasuk acces modifier dan tipe yang lain dari kata kunci seperti final
dan static. Inilah perbedaan dari method overloading. Method overloading secara
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.

Pranala --> Accessors dan Mutators Pemrograman Java
BalasHapusTerimakasih infonya sangat menarik
BalasHapussalam Aqidah Jogja
ok min solder uap
BalasHapus