13
LAPORAN III PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang Dibimbing oleh Azhar Ahmad Smaragdina, Asisten Praktikum: Tantri Hari Mukti Endah Puji Rohmawati Wildan Setyo Oleh: IZZATI ALVANDIAR 130533608179 S1 PTI 2013 Offering F UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO S1 PENDIDIKAN TEKNIK INFORMATIKA SEPTEMBER 2014

Gerbang Logika

Embed Size (px)

DESCRIPTION

Dasar - dasar gerbang logika pada mikrokontroller

Citation preview

Page 1: Gerbang Logika

LAPORAN III

PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek Yang Dibimbing oleh

Azhar Ahmad Smaragdina,

Asisten Praktikum:

Tantri Hari Mukti

Endah Puji Rohmawati

Wildan Setyo

Oleh:

IZZATI ALVANDIAR

130533608179

S1 PTI 2013 Offering F

UNIVERSITAS NEGERI MALANG

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

S1 PENDIDIKAN TEKNIK INFORMATIKA

SEPTEMBER 2014

Page 2: Gerbang Logika

LAPORAN KE-III

”INHERITANCE”

A. TUJUAN

1. Memahami konsep inheritance (pewarisan) 2. Mendefinisikan superclasses dan subclasses 3. Override method dari superclass 4. Menerapkan keyword this

B. DASAR TEORI

1. Pewarisan

Pewarisan merupakan konsep dalam pemrograman berorientasi objek yang

memungkinkan untuk membuat suatu kelas yang didasarkan pada kelas yang sudah ada sehingga

mewarisi semua metode dan variabelnya.

2. Keyword super

Keyword super digunakan oleh subclass untuk memanggil konstuktor yang berada pada

superclass.

3. Keyword this

Kata kunci this dipergunakan pada pembuatan kelas dan digunakan untuk menyatakan objek

sekarang

4. Overriding

Overriding menulis kembali method sama persis. Sama mulai dari nama method dan isinya

dan mengimplementasi kembali di subclassnya. Overriding dipakai saat kita menggunakan

method yang sama tapi berbeda implementasinya. Jadi overriding method mempunyai nama

method yang sama, jumlah parameter dan tipe parameter serta nilai kembalian (return) method

yang di override.

C. LATIHAN

1. Latihan 1

Script program 1:

Page 3: Gerbang Logika

class Pertama

{

private int a=10;

protected void terprotek()

{

System.out.println ("Method ini hanya untuk anaknya");

}

public void info ()

{

System.out.println("a= "+a);

System.out.println("Dipanggil pada = "+this.getClass ().getName());

}

}

Script Program 2 :

class Kedua extends Pertama

{

private int b=8;

protected void BacaSuper()

{

System.out.println ("Nilai b: "+b);

terprotek();

info();

}

}

Script Program 3 :

class TestPertamaKedua

{

public static void main (String[]args)

{

Kedua D2 = new Kedua ();

D2.BacaSuper();

D2.info();

Pertama S1=new Pertama();

S1.terprotek ();

S1.info();

}

}

Kompilasi :

Page 4: Gerbang Logika

Kompilasi setelah baris S1.terprotek dari class TestPertamaKedua dihilangkan:

Kompilasi class TestPertamaKedua setelah semua file yang berekstensi .class dari folder dihapus :

File berekstensi .class muncul kembali.

Outputnya :

Fungsi dari perintah this.getClass.getName(); adalah :

Ditujukan untuk memanggil ke method getClass yang ada di dalam Class.

2. Latihan 2

Script program 1 :

class Person

{

protected String name;

protected int age;

public Person(String name,int age)

{

this.name=name;

this.age=age;

}

//metode

public void info()

{

System.out.println("Nama : "+this.name);

System.out.println("Usia : "+this.age);

}

//akhir kelas program

}

Page 5: Gerbang Logika

Script program 2 :

class Employ extends Person

{

private String noKaryawan;

//konstruktor

public Employ(String noKaryawan,String name,int age)

{

super(name, age);

this.noKaryawan=noKaryawan;

}

//metode

public void info ()

{

System.out.println("No. Karyawan : "+this.noKaryawan);

super.info();

}

}

Script program 3 :

public class KonstruktorSuperKelas

{

public static void main(String[]args)

{

Employ programer1=new Employ ("12345678","Yanto",32);

programer1.info();

}

}

Outputnya :

3. Latihan 3

Script program 1 :

public class Hewan

{

public static void testClassMethod()

{

System.out.println("The class Method in Hewan...");

}

public void testInstanceMethod()

{

System.out.println("The Instance Method in Hewan...");

}

}

//meng-overwrite method pada class Hewan

Script program 2 :

public class Gajah extends Hewan

{

public static void testClassMethod()

{

System.out.println("The class method in Gajah...");

}

Page 6: Gerbang Logika

//meng-override method pada class Hewan

public void testInstanceMethod()

{

System.out.println ("The Instance method in Gajah...");

}

public static void main (String[]args)

{

Gajah myGajah=new Gajah();

Hewan myHewan= myGajah;

Hewan.testClassMethod();

myHewan.testInstanceMethod();

}

}

Outputnya :

4. Latihan 4

Script program 1 :

class A

{

private int a;

public void setA(int nilai)

{

a=nilai;

}

public int getA()

{

return a;

}

public void tampilkanNilai()

{

System.out.println("Nilai a : "+getA());

}

}

Script program 2 :

class B extends A

{

private int b;

public void setB (int nilai)

{

b=nilai;

}

public int getB()

{

return b;

}

//melakukan override terhadap method tampilkanNilai()

//yang terdapat pada kelas A

public void tampilkanNilai()

{

super.tampilkanNilai(); //memanggil method dalam kelas A

Page 7: Gerbang Logika

System.out.println("Nilai b : "+getB());

}

}

Outputnya :

5. Latihan 5

Script Program 1 :

class Truck{

//the Truck class has three fields

public int cadence;

public int gear;

public int speed;

//the Truck has one constructor

public void Truck(int startCadence, int startSpeed, int startGear){

gear=startGear;

cadence=startCadence;

speed=startSpeed;

}

//the Truck class has four methdos

public void setCadence(int newValue){

cadence= newValue;

}

public void setGear(int newValue){

gear= newValue;

}

public void applyBarek(int decreement){

speed -= decreement;

}

public void speedUp(int increement){

speed += increement;

}

}

Script Program 2 :

public class MountainTruck extends Truck{

//the MountainTruck subclass adds one field

public int seatHeight;

//the MountainTruck subclass has one constructor

public void MountainTruck(int startHeight, int startCadence, int startSpeed, int startGear){

super.Truck(startHeight, startCadence, startGear);

seatHeight = startHeight;

}

//the MountainTruck subclass adds one method

public void setHeight(int newValue){

seatHeight = newValue;

}

public static void main(String []abc){

Page 8: Gerbang Logika

System.out.println("Mulai Berjalan");

MountainTruck MB = new MountainTruck();

MB.MountainTruck(0,0,0,0);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

MB.setGear(2);

MB.speedUp(2);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

MB.speedUp(2);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

}

}

Outputnya :

Untuk MountaiBike:

Script 1 :

class Bike{

//the Bike class has three fields

public int cadence;

public int gear;

public int speed;

//the Bike has one constructor

public void Bike(int startCadence, int startSpeed, int startGear){

gear=startGear;

cadence=startCadence;

speed=startSpeed;

}

//the Bike class has four methdos

public void setCadence(int newValue){

cadence= newValue;

}

public void setGear(int newValue){

gear= newValue;

}

public void applyBreak(int decreement){

speed -= decreement;

}

public void speedUp(int increement){

speed += increement;

}

}

Script 2: public class MountainBike extends Bike{

Page 9: Gerbang Logika

//the MountainBike subclass adds one field

public int seatHeight;

//the MountainBike subclass has one constructor

public void MountainBike(int startHeight, int startCadence, int startSpeed, int startGear){

super.Bike(startHeight, startCadence, startGear);

seatHeight = startHeight;

}

//the MountainBike subclass adds one method

public void setHeight(int newValue){

seatHeight = newValue;

}

public static void main(String []abc){

System.out.println("Mulai Diam");

MountainBike MB = new MountainBike();

MB.MountainBike(0,0,0,0);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

System.out.println ("Berjalan Normal");

MB.setGear(2);

MB.speedUp(2);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

System.out.println ("Berjalan Tanjakan");

MB.speedUp(1);

MB.setGear(1);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

System.out.println ("Turun Tanjakan");

MB.speedUp(2);

MB.setGear(2);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

System.out.println("Berhenti");

MB.speedUp(0);

MB.applyBreak(5);

MB.setGear(0);

System.out.println("gear = "+MB.gear);

System.out.println("speed = "+MB.speed);

}

}

Outputnya :

Page 10: Gerbang Logika

D. TUGAS PRAKTIKUM ( SCRIPT DAN HASIL)

1. Melengkapi Program

Script program :

class Induk{

public void test(){

System.out.println("Method di dalam kelas induk");

}

}

class Turunan extends Induk {

public void test(String s){ //Overload method

System.out.println("Method overload di dalam kelas turunan");

System.out.println("s : \""+s+"\"");

}

public void test(){ //Override method

System.out.println("Method override di dalam kelas turunan");

}

}

class TestIndukTurunan{

public static void main(String[] args){

Turunan obj = new Turunan();

obj.test("Class Overload");

obj.test();

}

}

Outputnya :

E. TUGAS RUMAH

1. Tugas Rumah

Script program 1 :

public class Tumbuhan {

Page 11: Gerbang Logika

protected String name;

protected int keping;

public Tumbuhan(String name, int keping){

this.name = name;

this.keping = keping;

}

public void info(){

System.out.println("Nama Tumbuhan : " + this.name);

System.out.println("Jumlah Keping : " + this.keping);

}}

Script program 2 :

public class Keping extends Tumbuhan {

private String namaKeping;

public Keping(String name, int keping){

super(name,keping);

switch(keping){

case 1:

this.namaKeping = "Monokotil";

break;

case 2:

this.namaKeping = "Dikotil";

default:

break;

}}

public void info(){

super.info();

System.out.println("Nama Keping : " + this.namaKeping);

}}

Script program 3 :

public class TestKepingTumbuhan {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Keping kepingTumbuhan = new Keping("Jagung", 2);

Page 12: Gerbang Logika

kepingTumbuhan.info();

}}

Outputnya :

2. Tugas Rumah 2

Script Program 1 :

public class TaksonomiHewan { private String nama;

private String makan; public TaksonomiHewan(String nama, String makan){ this.nama = nama; this.makan = makan; } public void info(){ System.out.println("Nama : " + this.nama); System.out.println("Nama Makanan : " + this.makan); } }

Script Program 2 :

public class MakananHewan extends TaksonomiHewan{ protected String makanan[] ={"daging","rumput","serangga","campuran","lain-lain"}; protected String statusHewan; protected String klasifikasi; public MakananHewan(String nama, String makan) { super(nama, makan); for(int i = 0; i < 5; i++){ if(makan == makanan[i]){ this.statusHewan = makan; } } Klasifikasi(); } public String Klasifikasi(){ switch(this.statusHewan){ case "daging": this.klasifikasi = "Karnivora"; break; case "rumput": this.klasifikasi = "Herbivora"; break; case "serangga": this.klasifikasi = "Insektivora"; break; case "campuran": this.klasifikasi = "Omnivora"; case "lain-lain":

Page 13: Gerbang Logika

break; default: break; } return this.klasifikasi; } public void info(){ super.info(); System.out.println("Jenis Hewan : " + this.klasifikasi); } }

Script Program 3 :

public class TestHewan { public static void main(String[] args){ MakananHewan mkhewan = new MakananHewan("Singa", "daging"); mkhewan.info(); } }

Output :

F. KESIMPULAN

Overriding adalah kemampuan suatu subkelas untuk memodifikasi attribute dan method milik kelas

supernya (tentu yang memiliki sifat private atau final tidak biasa dilakukan overriding).

Semua attribute dan method dari suatu kelas super dapat diwariskan ke subkelas.

Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B merupakan turunan kelas A,

maka otomatis attribute dan method kelas A juga diwariskan kelas C.Tanpa inheritance, maka semua

attribute dan method yang pernah dibuat dan butuhkan kelas lain, harus ditulis ulang seluruhnya. Dengan

inheritance, seorang programmer ingin memodifikasi suatu attribute atau method yang dimanfaatkan

subkelas, maka dilakukan modifikasi attribute dan method tersebut pada kelas supernya.

G. REFERENSI / DAFTAR PUSTAKA

Modul Praktikum III. Pendidikan Teknik Informatika.Universitas Negeri Malang.

Software Velocity Documentation Java

Lafore, Robert. 2002. Object Oriented Programming in C++. Indianapolis

JENI. 2009. Modul Praktikum OOP. Jakarta