ENKAPSULASI (PENGKAPSULAN)

enkapsulasi merupakan suatu cara untuk menyembunyikan informasi detail dari suatu class. dua hal yang paling mendasar dalam enkapsulasi yaitu information hiding, interface to access data.

kegiatan praktikum

//disimpan dalam file manusia.java
class manusia
{
public String nama;
public manusia(String n)
{
this.nama = n;
}
public String tampilkanNama()
{
return nama;
}
public void makan()
{
System.out.println("Nyam... nyam... nyam...");
}
public void kerja()
{
System.out.println("Kerja... kerjaaa...");
}
private void bunuhDiri()
{
System.out.println("Dor…bruk...");
}
}  

//disimpan dalam file andi.java
class andi
{
public static void main(String arg[])
{
manusia andi= new manusia("Andi");
System.out.println("Nama= "+ andi.tampilkanNama());
andi.makan();
}

}

 



















class tingkatakses{
int a;
public int b;
private int c;

    public void setC(int y) {
    this.c=y;
}
    public int getC() {
return c;
}
}
class coba {
    public static void main(String[] args) {
        tingkatakses obj = new tingkatakses();
       
        obj.setC(30);
        obj.a=10;
        obj.b=20;
       
       
        System.out.println("nilai obj.a : " + obj.a);
        System.out.println("nilai obj.b : " + obj.b);
        System.out.println("nilai obj.c : " + obj.getC());
    }
}


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

INHERITANCE (PEWARISAN)

Inheritance  merupakan  pewarisan  atribut  dan  method  pada  sebuah  class  yang diperoleh  dari  class  yang  telah  terdefinisi  tersebut.  Setiap  subclass  akan  mewarisi  state (variabel-variabel) dan  behaviour dari superclass-nya. Subclass kemudian dapat menambahkan  state  dan  behaviour  baru  yang  spesifik  dan  dapat  pula memodifikasi (override) state dan behaviour yang diturunkan oleh superclass-nya. 
Keuntungan dari inheritance adalah : 
Subclass  menyediakan  state/behaviour  yang  spesifik  yang  membedakannya  dengan superclass, hal  ini akan memungkinkan programmer Java untuk menggunakan ulang  source code  dari  superclass  yang  telah  ada.  Programmer  Java  dapat  mendefinisikan  superclass khusus yang bersifat generik,yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
Istilah dalam inheritance yang perlu diperhatikan :
Extends  : Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass. 
Superclass :Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak. 
Subclass  : Subclass adalah class anak atau turunan secara hirarki dari superclass. 
Super  : Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass. Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor super

Kegiatan praktikum   

class rumah
{
    private String a = " Rumahmewah ";
    public void info()
    {
        //System.out.println (" Dipanggil pada  =  "+this);
        System.out.println (" ");
        System.out.println (" Rumah           = "+a);
    }
}



class rumahindah extends rumah
{
    private String b        =    " tombol alarm ";
    public void info()
    {
        System.out.println (" ");
        super.info();
        System.out.println (" rumahindah     = "+b);
    }
}



public class tiperumah
{
    public static void main ( String[]args )
    {
        rumahindah C = new rumahindah();
        C.info();
    }
}


  hasil running


        
Tugas Akhir     

class lingkaran1{
    public Double r;
    public Double phi=3.14;
    public void panjangr()
    {
        System.out.println("Panjang jari-jari :"+r);
    }
}

class keliling extends lingkaran1{
    Double kel,r2,p;
    public void hitungk()
    {
        p = super.phi;
        r2=super.r;
        kel = 2*r2*p;
        System.out.println("Keliling Lingkaran : "+kel);
    }
}

class luas extends lingkaran1{
    Double Luas,r2,p;
    public void hitungl()
    {
        p= super.phi;  
        r2=super.r;
        Luas = 2*r2*r2*p;
        System.out.println("Luas Lingkaran : "+Luas);
    }
}

public class lingkaran{
    public static void main(String [] a)
    {
        keliling l1 = new keliling();
        luas l2 = new luas();
        l1.r = 7.0;
        l2.r = 7.0;
        l1.hitungk();
        l2.hitungl();
    }
}

Hasil Running

       

Tugas tambahan

class Shape{
String name, size;
public Shape(String name){
this.name = name;
}

    public void printShapeInfo(){
    System.out.println("Shape name : "+name);
    System.out.println("Shape Size : "+size);
    }

    public void printShapeName(){
    System.out.println("Shape name : "+name);
    }

    public void printShapeSize(){
    System.out.println("Shape size : "+size);
    }
}

/*langkah ke-2: Membuat Class Square turunan dari Shape*/
class square extends Shape{
    String name, size;
    int length, width;

        public square(String name){
        super(name);
        }

        public void printShapeInfo(){
        super.printShapeInfo();
        }

        public void printShapeName(){
        super.printShapeName();
        }

        public void printShapeSize(){
        super.size = String.valueOf(length*width);
        super.printShapeSize();
        }

        public void printWidth(){
        System.out.println("Lebar : "+width);
        }

        public void printLength(){
        System.out.println("Panjang : "+length);
        }
}

/*langkah ke-3: Membuat Main Program dengan Nama Class Main */
class main{
public static void main (String[] args){

square persegi = new square("persegi");
persegi.length = 10;
persegi.width = 8;
persegi.printShapeName();
persegi.printLength();
persegi.printWidth();
persegi.printShapeSize();
System.out.println("\n");

persegi.printShapeInfo();
    }
}    

Hasil running   

                                                                          

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

PRAKTIKUM PBO MOD2

TUGAS PRAKTIKUM
  Pada  gambar  1  kita  membuat  tiga object  class  dengan  nama  Student,  subclass StudentGrad dan class StudentInfo. Class Student mempunyai method Write yang digunakan untuk  melewatkan  argumen  untuk kemudian  ditampilkan  dengan  menggunakan  method Display.
JAWABAN:

student.java
class Student {
   public void Write(int ID, int Grad, String Fname, String Lname) {
       m_ID = ID;
       m_Graduation = Grad;
       m_First = Fname;
       m_Last = Lname;
    }  
    public void Display(){
      System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
    }  
    private int m_ID, m_Graduation;  
    private String m_First;  
    private String m_Last;
}

studentgrad.java

class StudentGrad extends Student
{
   public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major)
   {
       super.Write(ID, Grad, Fname, Lname);
       m_UndergradSchool = unSch;
       m_Major = major;
       m_Grad = Grad;
       YearGraduated = yrGrad;
   }
    public void Display()
    {
        super.Display();
System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " +YearGraduated);
    } 
    private Integer YearGraduated,m_Grad;
    private String m_UndergradSchool;
    private String m_Major;
}

studentinfo.java

class StudentInfo
{
     public static void main (String args[])
     {
         StudentGrad myStudent = new StudentGrad();
         myStudent.Write(10, 1,"Bob","Smith", 2000,"Columbia University","CS");
         myStudent.Display();  
     }
}

hasil running



TUGAS AKHIR
Kucing, Ayam, dan Anjing merupakan makhluk hidup yang masuk kategori hewan, tiap hewan pasti mempunyai identitas baik itu berupa tipe hewan dan  suaranya. 

anjing.java
/*disimpan nama Anjing.java*/
class Anjing extends Hewan{
   
    private String nama,jenis,bersuara;
   
   
    Anjing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
        super(nama, jenis, bersuara);
    }
    public void ShowAnjing(){
       
        System.out.println("Nama Anjing : "+nama);
        System.out.println("Jenis Anjing : "+jenis);
       
       
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
        System.out.println("Hug Hug Hug...... ");
    }

}

ayam.java
/*disimpan nama Ayam.java*/
class Ayam extends Hewan{
   
    private String nama,jenis,bersuara;
    Ayam(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
    super(nama, jenis, bersuara);
    }
    public void ShowAyam(){
       
        System.out.println("Nama Ayam : "+nama);
        System.out.println("Jenis Ayam : "+jenis);
       
       
//sintaks menampilkan nama dan jenis hewan

    }
    public void bersuara(){
//sintaks menampilkan suara hewan
        System.out.println("kuk kuruyuk petok petok... ");
    }

}

kucing.java
/*disimpan nama Kucing.java*/
class Kucing extends Hewan
{
    private String nama,jenis,bersuara;
    Kucing(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
        super(nama, jenis, bersuara);
    }
    public void ShowKucing(){
       
        System.out.println("Nama Kucig : "+nama);
        System.out.println("Jenis Kucing : "+jenis);
       
//sintaks menampilkan nama dan jenis hewan
    }
    public void bersuara(){
//sintaks menampilkan suara hewan
        System.out.println("Meong.. Meong... meong.... ");
    }
}

hewan.java
/*disimpan nama Hewan.java*/
class Hewan {
   
    String nama, jenis, bersuara;
     Hewan(String nama, String jenis, String bersuara){
//sintaks menampilkan nama
        this.nama=nama;
        this.jenis=jenis;
        this.bersuara=bersuara;
    }
    public String toString(){
            return "Ini adalah "+jenis+"\nNamanya "+nama+"\n"+bersuara;
    }
    public void bersuara(){       
    }
}

polimorfisme.java

/*disimpan nama Polimorfisme.java*/
import java.util.*;
class Polimorfisme{
    public static void main(String args[]){
        Hewan[] hewannya = {
          new Anjing("Broni", "Herder", "Hug Hug Hug......"),
          new Kucing("Kiti", "Persia", "Meong.. Meong... meong...."),
          new Ayam("Toki", "Buras", "kuk kuruyuk petok petok... ")
        };
        Hewan pilihHewan;
       Random pilih = new Random();
        for (int i = 0; i<5 ; i++){
            pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
           System.out.println("\nPilihan Anda:\n" + pilihHewan);
       
           
        }
    }
}

hasil running




  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

tugas pendahuluan modul 2

pengertian polymorphism

Polymorphism adalah kemampuan dari objek untuk menggunakan method dengan nama yang sama tetapi dengan tipe atau parameter yang berbeda-beda. Secara prinsip, polimorphism sama seperti interface.yaitu memaksa sub classnya untuk mengoverride method-methodnya.

Salah satu Keuntungan dari polymorphism itu sendiri yaitu Menghindari duplikasi object,kita dapat menciptakan class baru dari class yang sudah ada,sehingga tidak perlu menuliskan code dari nol ataupun mengulangnya, namun tetap bisa menambahkan attribute dan atau method unik dari class itu sendiri. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi. Seperti halnya dalam membuat gambar segitiga.

Polymorphism itu sendiri terbagi menjadi 2 bagian yaitu :
* function overloading yaitu function yang bisa dideklarasikan lebih dari 1 kali dengan menggunakan nama yang sama namun menggunakan parameter yang berbeda.
Contoh :

Public void cetak(){ }
Public void cetak(String str){ }
Public void cetak(String str,int line){ }

* function overriding yaitu kemampuan suatu objek untuk menjalankan/memanggil method dengan cara yang berbeda.
Contoh:

cetak();
cetak(“kalimat”);
cetak(“kalimat”,5);

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

PRAKTIKUM PBO MODUL 1

TUGAS PENDAHULUAN SOAL Buatlah program menggunakan class dan objek dengan nama motor.java, jika program di jalankan hasilnya seperti di bawah ini : Object “motor-1” : Merk : Yamaha Pemilik : Pak Darmawan Object “motor-2” : Merk : Honda Pemilik : Pak Nasiruddin

JAWABAN








IMPLEMENTASI SOAL Buatlah kelas mahasiswa dengan atribut/variablel = nama dan npm dan mempunyai metodh: tampilkanNama, tampilkanNpm, belajar, olahRaga, makan, minum. Buatlah 3 objek untuk menginstantiasi kelas mahasiswa dengan atribut nama dan npm Anda sendiri dan 2 teman Anda dan mengimplementasikan beberapa metodh yang telah Anda definisikan dalam kelas mahasiswa

JAWABAN
File data.java
File mahasiswa.java

Tugas Akhir
Buat program dengan nama televOOP.java dengan spesifikasi sebagai berikut :
Class : Televisi
Object : Televisiku
Attribute
- Merek
- Tipe
- Ukuran
- Tombol volume
- Tombol Channel
Method
- Menyala
- Memindahkan Channel
- Membesarkan volume
- Mematikan Televisi


JAWABAN

File Televisi.java
file televisiku.java


  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS