Ulangan Tengah Semester
Analisis dan Perancangan Sistem Berorientasi Objek
Assalamualaikum wr.wb
Nama: Muhamad Syarif Ramadhan
Nim : 3420227001
Prodi: Teknik Informatika
1. Buatlah sebuah program dalam package tersendiri yang menerapkan konsep
Hierarchical Inheritance dan disaat yang sama juga menerapkan konsep Multilevel
Inheritance.
package lat.UTSAnalisis;
/**
Nama : Muhamad Syarif Ramadhan
NIM : 3420227001
*/
class Gunung {
void Hiking (){
System.out.println("Gunung di Indonesia");
}
}
class Semeru extends Gunung {
public void Jatim(){
System.out.println("Nama Gunung " + getClass().getSimpleName());
}
}
class Rinjani extends Gunung {
public void Nusa(){
System.out.println("Nama Gunung " + getClass().getSimpleName());
}
}
class Kerinci extends Gunung {
public void Sumbat(){
System.out.println("Nama Gunung " + getClass().getSimpleName());
}
}
class Jawa extends Semeru {
public void Kecil(){
System.out.println("Terletak di " + getClass().getSimpleName());
}
}
class NTB extends Rinjani {
public void Sedang(){
System.out.println("Terletak di " + getClass().getSimpleName());
}
}
class Sumatra extends Kerinci {
public void Tinggi(){
System.out.println("Terletak di " + getClass().getSimpleName());
}
}
public class UTSsatu {
public static void main(String[] args){
Gunung gn = new Gunung();
System.out.println("=============================");
gn.Hiking();
System.out.println("=============================");
Semeru sr = new Semeru();
Jawa jw = new Jawa();
sr.Jatim();
jw.Kecil();
System.out.println("=============================");
Rinjani rj = new Rinjani();
NTB tb = new NTB();
rj.Nusa();
tb.Sedang();
System.out.println("=============================");
Kerinci kr = new Kerinci();
Sumatra sm = new Sumatra();
kr.Sumbat();
sm.Tinggi();
System.out.println("=============================");
}
}
2. Buatlah sebuah program dalam package tersendiri yang menerapkan konsep Single Inheritance yang dimana SubClass atau SuperClassnya memiliki sebuah konstruktor yang bertipe Protected.
package lat_UTSAnalisis;
/**
Nama : Muhamad Syarif Ramadhan
NIM : 3420227001
*/
//Superclass
class Mobil {
protected String Merk;
// Constructor dengan tipe akses protected
protected Mobil(String Merk) {
this.Merk = Merk;
}
protected void Jenis() {
System.out.println("Roda Empat");
}
}
// Subclass
class Kendaraan extends Mobil {
private final String name;
// Constructor dengan tipe akses protected
protected Kendaraan(String Merk, String name) {
super("HONDA");
this.name = name;
}
public void Type() {
System.out.println("Merk: " + Merk);
System.out.println("Name: " + name);
}
}
// Main class
public class UTSdua {
public static void main(String[] args) {
// Membuat objek dari subclass Cat
Kendaraan kd = new Kendaraan("HONDA", "CIVIC");
// Memanggil method displayInfo() dari subclass
kd.Type();
// Memanggil method displaytipe() dari superclass
kd.Jenis();
System.out.println("=============================");
}
}
3. Buatlah sebuah program yang dapat membuktikan bahwa Access Modifiers bertipe Protected untuk sebuah Methods yang terdapat pada suatu SuperClass dapat diakses dari suatu SubClass yang dimana SubClass tersebut berada pada Different Package dari SuperClassnya.
ackage lat_UTSAnalisis;
/**
Nama : Muhamad Syarif Ramadhan
NIM : 3420227001
*/
public class UTStiga1 {
protected void Salam() {
System.out.println("Assalamualaikum wr wb");
}
}
package lat_UTSAnalisis;
import lat_UTSAnalisis.UTStiga1;
/**
Nama : Muhamad Syarif Ramadhan
NIM : 3420227001
*/
public class UTStiga2 extends UTStiga1 {
public void Saya(){
Salam();
}
public String Nama = "Muhamad Syarif Ramadhan";
protected String Alamat = "Perum GNC Jatisari Jatiasih Bekasi";
}
package lat_UTSAnalisis;
import lat_UTSAnalisis.UTStiga2;
/**
Nama : Muhamad Syarif Ramadhan
NIM : 3420227001
*/
public class UTStiga3 extends UTStiga2 {
public static void main(String[] args) {
UTStiga2 Ut = new UTStiga2();
Ut.Saya();
System.out.println("Nama : " + Ut.Nama);
System.out.println("Alamat :" + Ut.Alamat);
}
}
4. Buatlah sebuah program dalam package tersendiri yang menerapkan konsep Multilevel Inheritance yang disetiap SubClassnya dapat di running dan menghasilkan suatu output yang contoh outputnya menggunakan multiple object.
package lat.UTSAnalisis;
/**
Nama : Muhamad Syarif Ramadhan
NIM : 3420227001
*/
//SuperClass
class Kendaraan {
protected String name;
public Kendaraan(String name) {
this.name = name;
}
public void Stop() {
System.out.println(name + " Sedang Berhenti");
}
}
//SubClass Pertama
class Motor extends Kendaraan {
private String Merk;
public Motor(String name, String Merk) {
super(name);
this.Merk = Merk;
}
public void Run() {
System.out.println(name + " Sedang Jalan");
}
}
//SubClass KeDua
class Honda extends Motor {
public Honda(String name) {
super(name, "Honda");
}
public void Speed() {
System.out.println(name + " Sedang Ngebutt");
}
}
//Main Class
public class UTSempat {
public static void main(String[] args) {
Kendaraan An = new Kendaraan("Roda Dua");
Motor M = new Motor("Vario", "Honda");
Honda H = new Honda("Beat");
M.Stop();
M.Run();
H.Speed();
H.Run();
H.Stop();
}
}