Kamis, 11 April 2013

Superclass dan supclass pada Inheritiance (Pewarisan)


PROGRAM SUPERCLASS

Source Code pada Kendaraan.java
import java.util.Scanner;
public class Kendaraan { //superclass
    public void kendaraan() {
        System.out.println("\n\nIni Merupakan Beberapa Jenis Kendaraan(SuperClass)");
        }
    }

class RodaDua extends Kendaraan { //class RodaDua turunan dari class Kendaraan
    public void tampilRodaDua() {
        super.kendaraan(); //memanggil methot kendaraan dari super classnya yaitu class Kendaraan
        String[] isiRodaDua={"Sepeda","Sepeda Motor"};
        System.out.println("\nIni Merupakan Beberapa Jenis Kendaraan Roda Dua(SubSuperClass)");
        for(int i=0;i<=(isiRodaDua.length-1);i++) {
            System.out.println(String.format("%d. %s",(i+1),isiRodaDua[i]));
            }
        }
    }

class RodaTiga extends Kendaraan { //class RodaTiga turunan dari class Kendaraan
    public void tampilRodaTiga() {
        super.kendaraan(); //memanggil methot kendaraan dari super classnya yaitu class Kendaraan
          String[] isiRodaTiga={"Becak","Bentor","Bemo","Bajaj"};
        System.out.println("\nIni Merupakan Beberapa Jenis Kendaraan Roda Tiga(SubSuperClass)");
        for(int i=0;i<=(isiRodaTiga.length-1);i++) {
            System.out.println(String.format("%d. %s",(i+1),isiRodaTiga[i]));
            }
        }
    }

class RodaEmpatLebih extends Kendaraan { //class RodaEmpatLebih turunan dari class Kendaraan
    public void tampilRodaEmpatLebih() {
        super.kendaraan(); //memanggil methot kendaraan dari super classnya yaitu class Kendaraan
          String[] isiRodaEmpatLebih={"Mobil Ptibadi","Mobil Ankot","Mobil Box","Truk","Vuso"};
        System.out.println("\nIni Merupakan Beberapa Jenis Kendaraan Roda Empat atau Lebih(SubSuperClass)");
        for(int i=0;i<=(isiRodaEmpatLebih.length-1);i++) {
            System.out.println(String.format("%d. %s",(i+1),isiRodaEmpatLebih[i]));
            }
        }
    }

class Menu { //class sebagai program utama
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
          int pilihan;
          String ulang;
         
          // mendeklarasikan cara memanggil masing-masing class
          RodaDua rd=new RodaDua();
        RodaTiga rt=new RodaTiga();
        RodaEmpatLebih re=new RodaEmpatLebih();
         
          do {
        System.out.println("\n\n==== Jenis-jenis Kendaraan ====");
        System.out.println(" 1. Kendaraan Roda Dua");
        System.out.println(" 2. Kendaraan Roda Tiga");
        System.out.println(" 3. Kendaraan Roda Empat Lebih");
        System.out.println("===============================");
        System.out.print("Masukkan pilihan  "); pilihan=input.nextInt();
        switch (pilihan) {
            case 1: {
                rd.tampilRodaDua(); //memanggil method tampilRodaDua dari class RodaDua
                break;
                }
            case 2: {
                rt.tampilRodaTiga(); //memanggil method tampilRodaTiga dari class RodaTiga
                break;
                }
            case 3: {
                re.tampilRodaEmpatLebih(); //memanggil method tampilRodaEmpatLebih dari class RodaEmpatLebih
                break;
                }
            default: { System.out.println("Salah inputan kk"); break;}
            }
        System.out.print("\nMau ulang lagi?? y/t  "); ulang=input.next();
        } while (ulang.equals("y"));
          System.exit(0);
        }
    }

LOGIKA PROGRAM
   Program kali ini membahas tentang inheritance(pewarisan). Jadi class-class yang baru (subsuper class) di buat akan mewariskan sifat-sifat class utama (super class). Bila inging membuat class turunan bisa menggunakan kata kunci extends contoh class RodaDua extends Kendaraan artinya class RodaDua adalah turunan dari class Kendaraan dan class RodaDua mewariskan sifat-sifat yang ada pada class Kendaraan. Perintah pemangilan sifat-sifat ini bisa menggunakan perintah super.<namaMethod>(); contoh super.tampilRodaDua(); artinya akan menampilkan dan memangil isi atau sifat-sifat dari class supernya.
   Alur program, program pertama kali akan menampilkan pilihan memilih tipe kendaraan dari jumlah roda setelah itu akan di input pilihan setelah innputan sudah di dapat maka akan di lakukan pemilihan dengan mengunakan switch, setelah itu makan akan masuk ke subclass yang dipilih dan di supclass ada perintah super.<namaMethod>(); yang artinya akan menampilkan isi dari super class, Stelah itu baru akan kembali lagi ke subclass dan akan memproses yang ada di supclass. Setelah menampilkan output maka akan di lakukan penginputan apakah mau mengulangin program apa tidak, jika iya maka akan mengulang memilih jenis kendaraan berdasarkan jumlah ban dan jika tidak maka program selesai.


OUTPUT:



Kelompok:

0 komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.

Sponsor