Sunday, May 19, 2019

Inheritance, Enkapsulasi ,Polymorphism,Overriding dan Overloading

Materi Inheritance, Enkapsulasi ,Polymorphism,Overriding dan Overloading berserta contohnya






Disini saya akan menjelaskan berbagai materi berdasarkan judul diatas, semoga materi ini dapat bermanfaat untuk anda sekalian dan selamat membaca.... :')

  1. Enkapsulasi
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan oleh program lain. Dalam Java, dasar enkapsulasi adalah class. Anda membuat suatu class  yang menyatakan bahwa variable atau method sebuah class  tidak dapat diakses oleh class lain dengan menjadikan class tersebut private, atau menjadikan class  tersebut protected yaitu hanya bisa diakses oleh turunannya, atau menjadikan class tersebut public yaitu bisa diakses oleh sembarang class.
Dengan melakukan enkapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan metode tersebut .
Ada dua hal yang mendasar dari enkapsulasi yaitu information hiding dan interface to access data.
  • Information hidingmaksudnya adalah menyembunyikan informasi dari suatu class agar tidak bisa diakses oleh class lainnya dengan cara memberikan modifier private pada variabel yang akan disembunyikan.
  • Interface to access datasesuai dengan namanya, digunakan untuk mengakses nilai dari suatu variabel yang telah disembunyikan oleh information hiding baik itu mengambil nilai ataupun mengubah nilai. Hal ini dilakukan dengan menggunakan method, dengan method ini kita dapat mengakses variabel yang telah mengalami information hiding.
 Enkapsulasi terbagi menjadi 3 jenis, yaitu public, protected, dan private.
  • Public Merupakan suatu modifier yang memungkinkan setiap variabel maupun method yang dideklarasikan dengan  dalam class public ini dapat diakses oleh setiap class baik dalam package yang sama maupun package yang berbeda.
  • Protected Merupakan suatu modifier  yang digunakan untuk memproteksi suatu class. Sehingga hanya class dan subclass tersebutlah yang dapat mengakses varibel maupun method dalam class tersebut, baik dalam package yang sama maupun dalam package yang berbeda.
  • Private Merupakan kata kunci yang dideklarasikan dalam suatu class agar setiap variabel dan method yang berada dalam class private ini hanya dapat diakses oleh class yang sama. Didalam bahasa pemgrograman java class yang bersifat private memproteksi agar semua variabel dan methodnya tidak dapat di akses oleh semua subclass dan non subclass di package yang sama, dan subclass dan non subclass di package yang berbeda.
Contoh program dengan Enkapsulasi

public class BaseClass
{
    public void DoWork() { }
    public int WorkField;
    public int WorkProperty
    {
        get { return 0; }
    }
}

public class DerivedClass : BaseClass
{
    public new void DoWork() { }
    public new int WorkField;
    public new int WorkProperty
    {
        get { return 0; }
    }
}
2. Inheritance
Inheritance atau pewarisan dalam pemrograman berorientasi objek  adalah suatu teknik dimana suatu class dapat mewarisi  attribut maupun method-method yang dimilikinya pada class lain (disebut subclass).
Pewarisan adalah sifat dalam pemrograman berorientasi objek yang memungkinkan programmer untuk membuat kelas baru yang lebih spesifik ataupun di perluas dari kelas yang telah ada tanpa harus membuat ulang attribut maupun method yang sudah dideklarasikan pada class sebelumnya. (kecuali menggunakan modifier private).
Untuk menggunakan Inheritance / pewarisan, menggunakan kata kunci yaitu “extend”.
Suatu Subclass juga dapat memanggil constructor yang terdapat di superclass menggunakan kata kunci “super”. Kata kunci super juga dapat digunakan untuk merujuk pada anggota dari superclass, hal ini sama dengan penggunaan  referensi “this”.
Contoh :
public class A
{
    public A() { }
}

public class B : A
{
    public B() { }
}
3. Polimorfisme (Polymorphism)
  • Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda.
  • Polymorphism adalah 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.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Overloading method adalah suatu teknik dimana didalam suatu class terdapat method dengan nama yang sama namun prilaku yang berbeda.
Aturan penulisannya :
  1. Nama Method harus sama
  2. Parameter harus berbeda
  3. Tipe Kembalian boleh sama ataupun berbeda
Contoh Polymorporishm :
public class fullMahasiswa extends Mahasiswa{
public void printNama(){
System.out.println(“Hallo, saya Mahasiswa yg baik”);
Super.printNama();
}
}
Simpan dengan nama Main.java
public class Main{
public static void main(String[] args]) {
BeautyfullMahasiswa mhs = new fullMahasiswa();
mhs.setNim(“09530524”);
mhs.setNama(“Afrida Asna”);
mhs.printNim();
mhs.printNama();
}
}
Overloading Merupakan Suatu Function yang memiliki parameter , dan function tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan syarat jumlah parameter mesti berbeda
atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return value.
lebih Jelasnya Overloading secara singkat :
  • Nama Method Boleh Sama , Tapi Jumlah Parameter Mesti berbeda
  • Nilai Yang Di Return Harus memiliki Tipe yang sama
Sample Overloading pada function TaxCalc pada C#.Net :
public static double TaxCalc(double pamt1, double prate1, double pamt2,
double prate2)
{
double taxamt;
Console.WriteLine(“Using method with 4 arguments”);
taxamt = (pamt1 * prate1) + (pamt2 * prate2);
return taxamt;
} // *** TaxCalc ***

public static double TaxCalc(double pamt1, double prate1)
{
double taxamt;
Console.WriteLine(“Using method with 2 arguments”);
taxamt = pamt1 * prate1;
return taxamt;
} // *** TaxCalc ***

public static double TaxCalc(double pamt)
{
double taxrate = 0.15;
double taxamt = 0;
Console.WriteLine(“Using method with 1 argument”);
taxamt = pamt * taxrate;
return taxamt;
} // *** TaxCalc ***

public static double TaxCalc(string whichtable)
{
double taxrate = 0;
Console.WriteLine(“Calling the method with 1 string argument”);
if (whichtable == “TaxTable1″)
taxrate = 0.15;
return taxrate;
}

Overriding Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang memodifikasi atau memperluas data dan method pada kelas induk
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
contoh Overriding pada C#.Net
abstract class ShapesClass
{
    abstract public int Area();
}

class Square : ShapesClass
{
    int x, y;
    // Because ShapesClass.Area is abstract, failing to override
    // the Area method would result in a compilation error.
    public override int Area()
    {
        return x * y;
    }
}
TERIMA KASIH!!..

Monday, April 22, 2019

CRUDS Java Netbeans



Tutorial Membuat CRUDS Java NetBeans

Ya, kembali dengan saya Tabah kali ini saya akan membuat tutorial CRUDS menggunakan Aplikasi Java NetBeans dan dengan databasenya sendiri MySql.

Walaupun ini merupakan postingan pertama saya, saya akan melakukan yang terbaik untuk membuat postingan yang satu ini, tanpa basa-basi lagi mari kita mulai tutorialnya.

Pertama anda buat dulu database dengan tabel dan struktur seperti gambar dibawah.


Setelah itu anda buat project baru di Netbeans, anda klik file -> new project, lalu pilih kategori Java dan tipenya Java application.




Lalu teruskan seperti gambar diatas, dan unselect Create Main Class karena kita tidak akan memerlukan sebuah Main Class. Setelah itu klik tombol Finish.

Setelah membuat project, saatnya membuat koneksi ke database yang telah kita buat sebelumnya dengan menambah driver MySql ke dalam project.  klik kanan bagian libraries -> Add Library, pilih MySql JDBC Driver lalu klik add library.


Sekarang saatnya membuat sebuah Class yang digunakan untuk melakukan koneksi ke database MySql. Tapi sebelum kita membuat sebuah Class, pastikan kita membuat Package dulu, caranya klik kanan bagian Source  Project yang telah kita buat lalu pilih New -> Java Package... dan beri nama dengan koneksi.


Setelah itu buat sebuah Class dengan mengklik kanan package yg telah kita buat tadi: 
 

Sekarang saatnya meng-Coding dan masukan syntax yg telah di block seperti dibawah ini.


lalu kita buat package baru dengan nama view, dan klik kanan pada package tersebut new -> jFrame Form… dan beri nama form_siswa.


Dan sekarang saatnya membuat tampilan dari form nya, kita akan menambahkan sebuah label, textfield, textarea, button, comboBox dan table yang berada di kotak merah.


Dan setelah itu kalian ganti nama penyebutannya… Caranya klik kanan lalu change variable name..


*tUser diganti dengan tNis 

Lalu masukkan semua syntak dibawah ini.



Lalu kita masukkan fungsi simpan dengan memasukkan kode dibawah ini.


Lalu kita cek fungsi simpan sudah berfungsi atau belum.


Lalu kita tambahkan fungsi on klik pada table klik kanan pada table -> Events -> Mouse -> MouseClicked.


Saatnya masukkan syntak yang diblok untuk fungsi onClick.


Fungsinya agar saat kita klik data di tabel, data tersebut berpindah ke inputan.


Setelah ini kita masukkan syntak yang diblock untuk fungsi reset.


Dan double klik bReset dan panggil class reset.


Lalu kita masukkan fungsi update dengan Double Click bUpdate, lalu masukan syntax di bawah ini.


Dan kita masukkan fungsi hapus, Double klik bHapus dan masukan syntax dibawah ini.

Terakhir kita masukkan fungsi untuk tombol cari, pertama kita klik kanan lalu Change Variable Namenya menjadi tcari, lalu klik kanan lagi, pilih Event -> key -> keyPressed.

Lalu masukkan syntak dibawah untuk fungsi cari.


Selamat mencoba dan semoga berhasil!!!