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:
56411569 SAMPE TUA OMPUNG SUNGGU
54411543 MOCHAMMAD LUTFI R
A
51411210 ARVI AZMI MAULANA