Skip to content

Instantly share code, notes, and snippets.

@fadhil-riyanto
Created April 30, 2026 01:06
Show Gist options
  • Select an option

  • Save fadhil-riyanto/b50e9abcd2802f86dcce279a9a5cf24f to your computer and use it in GitHub Desktop.

Select an option

Save fadhil-riyanto/b50e9abcd2802f86dcce279a9a5cf24f to your computer and use it in GitHub Desktop.
package com.pbo.uts.MobilDemo;
class Kendaraan {
private String nama;
private int tahunProduksi;
public Kendaraan() {}
public Kendaraan(String nama, int tahunProduksi) {
this.setNama(nama);
this.setTahunProduksi(tahunProduksi);
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public int getTahunProduksi() {
return tahunProduksi;
}
public void setTahunProduksi(int tahunProduksi) {
this.tahunProduksi = tahunProduksi;
}
public void display() {
System.out.println("nama Kendaraan : " + this.nama);
System.out.println("tahun Produksi : " + this.tahunProduksi);
}
}
class Darat extends Kendaraan {
private int roda;
public Darat() {
}
public Darat(String nama, int tahunProduksi, int roda) {
super(nama, tahunProduksi);
this.setRoda(roda);
}
public int getRoda() {
return roda;
}
public void setRoda(int roda) {
this.roda = roda;
}
public void cetak() {
super.display();
System.out.println("Jumlah Roda : " + this.roda);
}
}
class Mobil extends Darat {
private int muatan;
public Mobil() {
}
public Mobil(String nama, int tahunProduksi, int roda, int muatan) {
super(nama, tahunProduksi, roda);
this.setMuatan(muatan);
}
public double getMuatan() {
return this.muatan;
}
public void setMuatan(double muatan) {
if (muatan > 0) {
this.muatan = (int)muatan;
}
}
public void reset(String nama, int tahunProduksi, int roda, int muatan) {
this.setNama(nama);
this.setTahunProduksi(tahunProduksi);
this.setRoda(roda);
this.setMuatan(muatan);
}
public String kategori(int muatan) {
if (muatan <= 6) {
return "Mini";
} else if (muatan <= 15) {
return "Sedang";
} else {
return "Besar";
}
}
public void cetak() {
super.cetak();
System.out.println("Kapasitas Muatan : " + this.muatan);
System.out.println("Kategori Mobil : " + this.kategori(this.muatan));
}
}
public class MobilDemo {
public static boolean isNamaSama(Mobil m1, Mobil m2) {
String namaMobil1 = m1.getNama().toLowerCase();
String namaMobil2 = m2.getNama().toLowerCase();
return namaMobil1.equals(namaMobil2);
}
public static int min2(int a, int b) {
if (a < b) {
return a;
} else {
return b;
}
}
public static void main(String[] args) {
Mobil[] m = new Mobil[3];
m[0] = new Mobil();
m[1] = new Mobil("Limousine American Dreams", 1980, 26, 14);
m[2] = new Mobil("Limousine Superbus", 2011, 6, 33);
m[0].reset("Limousine Mercedes-Benz 500SL", 1994, 4, 6);
m[0].cetak();
System.out.println("");
m[1].cetak();
System.out.println("");
m[2].cetak();
System.out.println("");
System.out.print("Nama Limousine pertama dan kedua ");
if (isNamaSama(m[0], m[1])) {
System.out.println("sama");
} else {
System.out.println("tidak sama");
}
System.out.print("");
if ((int)m[0].getMuatan() < min2((int)m[1].getMuatan(), (int)m[2].getMuatan())) {
System.out.println("Muatan paling sedikit - " + m[0].getNama());
} else if ((int)m[1].getMuatan() < min2((int)m[0].getMuatan(), (int)m[2].getMuatan())) {
System.out.println("Muatan paling sedikit - " + m[1].getNama());
} else {
System.out.println("Muatan paling sedikit - " + m[2].getNama());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment