AGENDA
Tutorials - Java
Tut 7: OOP Bagian 1

Bab ini menjelaskan bagaimana membuat program dengan menggunakan konsep OOP.



Bab ini menjelaskan bagaimana membuat program dengan menggunakan konsep OOP. Ini adalah bagian pertama OOP mengenai Inheritance dan Enkapsulasi. Melalui bab ini kita akan melihat bagaimana pewarisan sifat dari kelas induk dan bagaimana menjaga proses programnya.

File video:

1.   Video 6b. Netbeans- OOP

Pengertian

Pemrograman Berorientasi Objek merupakan pemrograman yang berorientasikan kepada objek, dimana semua data dan fungsi dibungkus dalam class-class atau object-object. Setiap object dapat menerima pesan, memproses data, mengirim, menyimpan dan memanipulasi data. Beberapa object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya. Masing-masing object harus berisikan informasi mengenai dirinya sendiri dan dapat dihubungkan dengan Object yang lain. Jadi, secara mudah OOP dapat disimpulkan sebagai suatu teknik atau metode untuk menangani kompleksitas pembuatan program. Jika mengikuti aturan-aturan dalam metode tersebut maka program yang dibuat akan lebih mudah dikembangkan.

Inheritance

Inheritance adalah pewarisan atau pengembangan metode dan atribut dari suatu kelas ke kelas lainnya.

Dari contoh di atas, dimulai dari kelas awal (Mahluk Hidup) yang memiliki 3 atribut, yaitu Kepala, Mata, dan Telinga. Kemudian dibuat 2 kelas turunan (Inheritance) dari Mahluk Hidup yaitu kelas Manusia dan Hewan.

Kelas turunan memiliki semua atribut yang dimiliki oleh induknya. Jadi, meskipun di kelas Manusia kita hanya membuat tangan sebagai atributnya, secara otomatis kelas Manusia sudah memiliki atribut Kepala, Mata, dan Telinga dari kelas induknya.

Dan untuk kelas Burung dan Gajah, kita juga menggunakan turunan dari kelas Hewan dan Manusia, sehingga memiliki atribut kelas induknya.
Burung memiliki atribut Kepala, Mata, Telinga, Ekor, dan Sayap.

Enkapsulasi

Enkapsulasi adalah menjaga proses program agar tidak dapat diakses sembarangan oleh program lain. Bagian program yang dijaga ini biasanya properti dan metode.

  • private : hanya dapat diakses dari dalam kelas
  • public : dapat diakses dari dalam maupun luar kelas
  • protected : hanya dapat diakses dari dalam kelas tersebut dan kelas turunannya.

 

Contoh Program

A. Program Makhluk Hidup

Program ini bertujuan untuk membuat objek baru dari kelas yang sudah ada dengan kelas Mahluk Hidup sebagai kelas induk. Menerapkan inheritance dan enkapsulasi. Terdiri dari 6 kelas. Program dieksekusi di kelas main.

// Kelas MahlukHidup.java

/*
 Nama File : MahlukHidup.java
 Programmer: www.aplysit.com
 Tanggal   : 26 November 2012
 Deskripsi : Membuat kelas mahluk hidup (kelas induk)
 */
import java.util.Scanner;

public class MahlukHidup {

    String mata;
    String kepala;
    String telinga;

    public String getKepala() {
        return "Mahluk Hidup Kepala : " + kepala;
    }

    public void setKepala(String kepala) {
        this.kepala = kepala;
    }

    public String getMata() {
        return "Mahluk Hidup Mata : " + mata;
    }

    public void setMata(String mata) {
        this.mata = mata;
    }

    public String getTelinga() {
        return "Mahluk Hidup Telinga : " + telinga;
    }

    public void setTelinga(String telinga) {
        this.telinga = telinga;
    }
}
// Kelas Manusia.java

/*
 Nama File : Manusia.java
 Programmer: www.aplysit.com
 Tanggal : 26 November 2012
 Deskripsi : Membuat Kelas Manusia Extends kelas MahlukHidup
 */
import java.util.Scanner;

public class Manusia extends MahlukHidup {

    String tangan;

    public String getTangan() {
        return "Manusia Tangan : " + tangan;
    }

    public void setTangan(String tangan) {
        this.tangan = tangan;
    }
}
// Kelas Gajah.java

/*
 Nama File : Gajah.java
 Programmer: www.aplysit.com
 Tanggal : 26 November 2012
 Deskripsi : Membuat Kelas Gajah Extends kelas Hewan
 */
import java.util.Scanner;

public class Gajah extends Hewan {

    String belalai;

    public String getBelalai() {
        return "Gajah Belalai : " + belalai;
    }

    public void setBelalai(String belalai) {
        this.belalai = belalai;
    }
}
// Kelas Burung.java

/*
 Nama File : Burung.java
 Programmer: /*Frans Siahaan
 Tanggal : 26 November 2012
 Deskripsi : Membuat Kelas Burung Extends kelas Hewan
 */
import java.util.Scanner;

public class Burung extends Hewan {

    String sayap;

    public String getSayap() {
        return "Burung Sayap: " + sayap;
    }

    public void setSayap(String sayap) {
        this.sayap = sayap;
    }
}
// Kelas Hewan.java

/*
 Nama File : Hewan.java
 Programmer: /*Frans Siahaan
 Tanggal : 26 November 2012
 Deskripsi : Membuat Kelas Hewan Extends kelas MahlukHidup
 */
import java.util.Scanner;

public class Hewan extends MahlukHidup {

    String ekor;

    public String getEkor() {
        return "Hewan ekor : " + ekor;
    }

    public void setEkor(String ekor) {
        this.ekor = ekor;
    }
}
// Kelas Hewan.java

/*
 Nama File : Hewan.java
 Programmer: /*Frans Siahaan
 Tanggal : 26 November 2012
 Deskripsi : Membuat Kelas Hewan Extends kelas MahlukHidup
 */
import java.util.Scanner;

public class Hewan extends MahlukHidup {

    String ekor;

    public String getEkor() {
        return "Hewan ekor : " + ekor;
    }

    public void setEkor(String ekor) {
        this.ekor = ekor;
    }
}

Jika program dijalankan, maka hasilnya seperti gambar berikut :


B. Program Lingkaran

Program ini bertujuan untuk menghitung luas dan volume tabung. Kelas tabung dibentuk dari kelas lingkaran. Menerapkan inheritance dan enkapsulasi. Terdiri dari 3 kelas. Program dieksekusi di kelas main.

// Kelas Lingkaran.java 

/*
 Nama File : Lingkaran.java
 Programmer: Frans Siahaan
 Tanggal   : 26 November 2012
 Deskripsi : Membuat kelas Lingkaran (kelas induk)
 */
public class Lingkaran {

    float jari = 7;
    double v = 3.14;

    public double Luas() {
        return jari * jari * v;
    }

    public double Keliling() {
        return (2 * jari * v);
    }
}
// Kelas Tabung.java

/*
 Nama File : Tabung.java
 Programmer: www.aplysit.com
 Tanggal : 26 November 2012
 Deskripsi : Membuat kelas Tabung extends kelas Lingkaran
 */
public class Tabung extends Lingkaran {

    double t = 10;
    Lingkaran lingkaran = new Lingkaran();

    public void Input() {
        System.out.println("Jari-jari Lingkaran : " + jari);
        System.out.println("Volume Lingkaran : " + v);
    }

    public void LuasLingkaran() {
        System.out.println("Luas Lingkaran : " + lingkaran.Luas());
    }

    public void KelilingLingkaran() {
        System.out.println("Keliling Lingkaran : " + lingkaran.Keliling());
    }

    public double VolumeTabung() {
        return Luas() * t;
    }

    public double LuasTabung() {
        return (2 * Luas()) + (Keliling() * t);
    }
}
// Kelas Main.java

/*
 Nama File : Main.java
 Programmer: Frans Siahaan
 Tanggal : 26 November 2012
 Deskripsi : Membuat kelas Main untuk menjalankan program
 */
public class Main {

    public static void main(String[] args) {
        Tabung gelas = new Tabung();

        gelas.Input();
        gelas.LuasLingkaran();
        gelas.KelilingLingkaran();

        System.out.println();

        System.out.println("Volume Tabung adalah = " + gelas.VolumeTabung());
        System.out.println("Luas Tabung adalah = " + gelas.LuasTabung());
    }
}

Jika program dijalankan, maka hasilnya seperti gambar berikut :


C. Program Nama

Program ini bertujuan untuk mencetak nama, NIM, dan IP . Kelas IP dibentuk dari kelas nama. Menerapkan inheritance dan enkapsulasi. Terdiri dari 3 kelas. Program dieksekusi di kelas main.

// Kelas Nama.java 

/*
 Nama File : Nama.java
 Programmer: www.aplysit.com
 Tanggal : 26 November 2012
 Deskripsi : Membuat kelas Nama (kelas induk)
 */
import java.util.Scanner;

class Nama {

    private String nim;
    private String nama;

    public void setNim(String vnim) {
        nim = vnim;
    }

    public void setNama(String vnama) {
        nama = vnama;
    }

    public String getNim() {
        return (nim);
    }

    public String getNama() {
        return (nama);
    }

    public void display() {
        System.out.println("NIM : " + getNim());
        System.out.println("Nama : " + getNama());
    }
}
// Kelas Ip.java

/*
 Nama File : Ip.java
 Programmer: Frans Siahaan
 Tanggal : 26 November 2012
 Deskripsi : Membuat kelas Ip extends kelas Nama
 */
class Ip extends Nama {

    private double ip;

    public void setIp(double vip) {
        ip = vip;
    }

    public double getIp() {
        return (ip);
    }

    public void display() {
        System.out.println("Nama : " + getNama());
        System.out.println("NPM : " + getNim());
        System.out.println("IP : " + getIp());
    }
}
// Kelas Main.java

/*
 Nama File : Main.java
 Programmer: www.aplysit.com
 Tanggal : 26 November 2012
 Deskripsi : Membuat kelas Main untuk menjalankan program
 */
public class Main {

    public static void main(String[] args) {
        Ip ap1 = new Ip();
        ap1.setNim("101113121");
        ap1.setNama("Frans Siahaan");
        ap1.setIp(3.5);
        ap1.display();
    }
}

Jika program dijalankan, maka hasilnya seperti gambar berikut :


D. Latihan

1. Buatlah program dengan kelas induk Hewan. Kemudian kelas Hewan memiliki 3 kelas turunan, yaitu Ikan, Burung, dan Belalang. Atribut yang dimiliki di kelas induk adalah mata, hidung, dan mulut. Kelas Ikan memiliki atribut tambahan Pisces. Kelas Burung memiliki atribut tambahan Unggas. Kelas Belalang memiliki tambahan atribut Insekta.

2. Buatlah program dengan kelas induk Manusia. Kemudian kelas Manusia memiliki 3 kelas turunan, yaitu Mutant, Monster, dan Penyihir. Atribut yang dimiliki di kelas induk adalah Kemampuan dasar. Dan setiap kelas anak memiliki atribut Kemampuan khusus, misalnya Penyihir kemampuan khususnya Menyihir.

 

Like or Share This Article




COMMENTS ( 0 )
 
Keep connected with us, mobile apps available now !!