Selasa, 25 Oktober 2011

Praktikum Java ke 4


 Information Hiding, Inheritance, Encapsulation dan Polymorphism

Tujuan dari program ini agar kita dapat memahami dan mempraktekkan pembuatan aplikasi yang mengimplementasikan sifat-sifat dari bahasa pemograman berorientasi objek.
Dalam bahasa pemograman berorientasi objek, program dibagi menjadi objek-objek yang saling berhubungan. Konsep-konsep dasar yang mendasari pemograman berorientasi objek adalah inheritance (pewarisan), encapsulation (pengkapsulan) dan polymorphism (satu kata memiliki banyak arti).
1.       Contoh program Inheritance
              a.         Membuat Program SuperClass.java

public class SuperClass{
                public SuperClass() {
                                System.out.println("Ini Konstruktor milik SuperClass");
                }

                public void methodSuperClass(){
                                System.out.println("Ini method milik SuperClass");
                                 }
                    }
                Output : tidak ada karena program ini tidak memiliki fungsi utama.
                b.      Membuat Program SubClass.java

                 public class SubClass extends SuperClass {
                            public SubClass(){
                                       super();
                }
               
                public void methodSubClass(){
                                super.methodSuperClass();
                                }
                 }

                Output : tidak ada karena program ini juga tidak memiliki fungsi utama.
             Dari kedua program di atas hanya menunjukkan Inheritance yaitu penurunan atribut dan method dari suatu kelas super(kelas induk) ke sub kelas (kelas anak).
Penjelasan:
      ·         public SuperClass() {
                System.out.println("Ini Konstruktor milik SuperClass");
       }
       Kode program ini merupakan kode kelas induk yang penurunan kelasnya ke kode program:
       
public SubClass(){
       super();
}
       Dimana kode program ini memiliki konstruktor yang akan memanggil konstruktor kelas induk.

       ·         public void methodSuperClass(){
                System.out.println("Ini method milik SuperClass");
                }
       Kode program ini merupakan kode kelas induk yang penurunan kelasnya ke kode program:  

 public void methodSubClass(){
       super.methodSuperClass();
}
     Dimana kode program ini memiliki konstruktor yang akan memanggil konstruktor kelas induk
     atau   turunan dari methodSuperClass.

           c.       Membuat Program DemoInheritance.java

            public class DemoInheritance{
                public static void main (String[] args) {
                                SubClass sc = new SubClass();
                                sc.methodSubClass();
                 }
            }

Output:


Program ini merupakan program untuk memanggil method SuperClass dan SubClass dengan
membuat objek baru yaitu sc.


2.       Contoh Program Encapsulation
a.       Membuat Program Persegi.java

public class Persegi{

               private double panjang;
               private double lebar;
               private double tinggi;

               public Persegi() {
                               panjang = 0;
                               lebar = 0;
               }

               private double luas (double p, double l){
                               return p*l;
               }

               public void setPanjang (double panjang1){
                               this.panjang = panjang1;
               }

               public void setLebar (double lebar1){
                               this.lebar = lebar1;
               }

               public double getPanjang(){
                               return panjang;
               }

               public double getLebar(){
                               return lebar;
               }

               public double getLuas(){
                               return luas (panjang, lebar);
               }
}

Output : tidak ada karena program ini juga tidak memiliki fungsi utama.

b.      Membuat Program MainPersegi.java

public class MainPersegi {
               public static void main(String[] args){
                               Persegi pg = new Persegi();
                               pg.setPanjang(10);
                               pg.setLebar(20);

                               System.out.println("Panjang :"+pg.getPanjang());
                               System.out.println("Lebar :"+pg.getLebar());
                               System.out.println("Luas :"+pg.getLuas());
               }
}

Output:


Penjelasan:
               ·         Kode program ini merupakan atribut yang disembunyikan dengan modifier private.
private double panjang;
private double lebar;
private double tinggi;

               ·         public Persegi() {
                panjang = 0;
                lebar = 0;
                }
                Kode program ini merupakan konstruktor dari kelas Persegi.
                ·         private double luas (double p, double l){
                                return p*l;
                  }
                Kode program ini merupakan method yang disembunyikan karena memiliki modifier private.
                Modifier private yaitu modifier yang wilayah aksesnya pada kelas yang sama atau hanya
                dapat dipanggil pada kelas yang sama saja.
               ·          Bahwa dapat kita lihat encapsulation pada program di atas yaitu menyembunyikan atribut dan        
                      method suatu objek dari objek lain.
               ·         Program MainPersegi.java adalah program untuk menjalankan program Persegi.java
                      karena  memiliki fungsi utama. Dapat kita lihat :
-          Persegi pg = new Persegi();
Ø  Memanggil konsktruktor  untuk mengubah nilai panjang menjadi 0 dan Lebar menjadi 0.
-          pg.setPanjang(10);
Ø  Memanggil method setPanjang dengan objek pg
-          pg.setLebar(20);
Ø  Memanggil method setLebar dengan objek pg
-          System.out.println("Panjang :"+pg.getPanjang());
Ø  Menampilkan Panjang = 10 dari method getPanjang
-          System.out.println("Lebar :"+pg.getLebar());
Ø  Menampilkan Lebar = 20 dari method getLebar
-          System.out.println("Luas :"+pg.getLuas());
Ø  Menampilkan Luas = 200 dari method getLuas

3.       Contoh Program Encapsulation
a.       Membuat Program Karyawan.java

abstract class Karyawan{
             int gaji;
             Karyawan(){
                             gaji = 1000000;
             }
            
             int getGaji(){
                             return gaji;
             }
             abstract void naikGaji();
}

b.      Membuat Program Manager.java

class Manager extends Karyawan{
             Manager(){
                             gaji += 2000000;
             }

             void naikGaji() { gaji+=3000000;}
}

c.       Membuat Program Receptionist.java

class Receptionist extends Karyawan{
             Receptionist(){
                             gaji+=1000000;
             }

             void naikGaji() { gaji+=1000000;}
}

d.      Membuat Program Polymorphisme.java

class Polymorphisme{
        public static void main(String[] args){
        Karyawan K[] = new Karyawan[3];

        K[0] = new Manager();
        K[1] = new Receptionist();
        K[2] = new Manager();

        for (int i=0;i<3;i++)
                        System.out.println("Gaji Karyawan "+i+" adalah "+K[i].getGaji());

        for (int i=0;i<3;i++)
                        K[i].naikGaji();

        for (int i=0;i<3;i++)
                        System.out.println("Gaji Sekarang "+i+" adalah "+K[i].getGaji());
        }
}                 
Polymorphism(polymorphisme) merupakan suatu kata yang memiliki banyak arti. Dapat kita lihat dari contoh program polymorphism. Program Manager.java dan Receptionist.java merupakan turunan dari program Karyawan.java yang ketiga program tersubut tidak memiliki output karena tidak memilki fungsi utama. Program tersebut dapat dijalankan pada program Polymorphisme.java.
Output:







Selasa, 18 Oktober 2011

Praktekum Java ke 3


   A.    Memebuat Program Disket.java

public class Disket {
   int panjang = 10;
   final int LEBAR = 10;
   String warna = "Kuning";
   String bentuk = "segiempat";
   String data = " ";

   void simpanData (String data1) {
            this.data += data1;
   }

   void hapusData() {
            data = " ";
   }
   String bacaData() {
            return data;
   }
}

Output :




Nama kelasnya adalah Disket dan di simapn dengan nama Disket.java.
Atributnya ada panjang, lebar, warna, bentuk dan data.
Di setiap atribut memiliki tipe datanya masing-masing.
Ada modifier final di atribut lebar yang artinya nilai Lebar adalah tetap atau tidak bisa diubah, dengan modifier final suatu atribut akan berlaku sebagai konstanta.
Ada 3 method di program tersebut yaitu simpanData (method yang memiliki parameter), hapusData dan bacaData.
Method digunakan untuk memodularisasi program melalui pemisah satu tugas  menjadi satu unit tersendiri.


    B.     Membuat Program MainDisket.java

class MainDisket{
   public static void main (String[] args) {
            Disket disk1 = new Disket();
            System.out.println("Panjang disket = "+ disk1.panjang);
            System.out.println("Lebar disket = "+ disk1.LEBAR);
            System.out.println("Warna disket = "+ disk1.warna);
            System.out.println("Bentuk disket = "+ disk1.bentuk);

            System.out.println("Data mula-mula = "+ disk1.bacaData());
            disk1.simpanData("Belajar java");
            System.out.println("Setelah simpanData = "+disk1.bacaData());
            disk1.hapusData();
            System.out.println("Setelah hapusData = "+ disk1.bacaData());
  }
}

Output:






v  Disket disk1 = new Disket();
adalah method dengan objek disk1, karena di program Disket,java tidak ada maka method tersebut tidak terpanggil.
v  System.out.println("Panjang disket = "+ disk1.panjang);
Adalah fungsi untuk memanggil atribut panjang = 10         
v  System.out.println("Lebar disket = "+ disk1.LEBAR);
Adalah fungsi untuk memanggil atribut dengan modifier Lebar =10
v  System.out.println("Warna disket = "+ disk1.warna);
Adalah fungsi untuk memanggil atribut warna = kuning
v  System.out.println("Bentuk disket = "+ disk1.bentuk);
Adalah fungsi untuk memanggil atribut bentuk = segiempat
v  System.out.println("Data mula-mula = "+ disk1.bacaData());
Adalah memanggil method bacaData = “ “ (spasi)
v  disk1.simpanData("Belajar java");
Adalah memanggil method simpanData dan dengan bacaData sebelummnya yaitu hasilnya “ “(spasi) Belajar Java
v  System.out.println("Setelah simpanData = "+disk1.bacaData());
Yaitu menyimpan method dengan isi Belajar Java
v  disk1.hapusData();
yaitu menghapus kembali isinya
v  System.out.println("Setelah hapusData = "+ disk1.bacaData());
Adalah memanggil method bacaData = “”(spasi)

    C.     Mengimplementasikan Konstruktor pada class Disket
a.       Menambahkan kode program pada file Disket.java
b.      Ketikkan kode pada baris ke 7  dari dokumen file Disket.java yaitu:

Disket() {
               panjang = 100;
   }
   Disket(int panjang1) {
               this.panjang= panjang1;
   }

c.       Lalu di simpan, compile dan run kelas Disket.java


output:




d.      Ubah kode pada MainDisket.java pada  baris 3 dengan kode :

Disket disk1 = new Disket(50);]

Output:

Selasa, 11 Oktober 2011

Praktek Java Pertemuan 2


  • TIPE DATA

Java memiliki tipe data, sintaks keputusan dan perulangan yang sama dengan C dan C++.
Kasus :
Membuat Program TesTipeData.java
class TestTipeData {
public static void main (String[] args) {

byte b  =  1;
short s  =  100;
int i       =  1000;
long l    = 10000;
char c   =  'a';
float f   = 3.14f;
double d  = 3.14;
boolean t  = true;
final double PI  = 3.14;

System.out.println("byte"+b);
System.out.println("short"+s);
System.out.println("int"+i);
I = 010;
System.out.println("int"+i+"octal mode");
I = 0XFF;
System.out.println("int  " +i+ " hexa mode
");
System.out.println("long"+l);
System.out.println("char"+c);
System.out.println("float"+f);
System.out.println("double"+d);
System.out.println("boolean"+t);
System.out.println("PI"+PI);
}
}
Outputnya

  • KEPUTUSAN
Pernyataan if merupakan salah satu bentuk pernyataan berkondisi yang berguna untuk pengambilan keputusan terhadap dua buah kemungkinan.
Kasus  :
Membuat Program TesKeputusan.java
class TestKeputusan {
public static void main(String[] args){
                char jeniskelamin = 'W';
                // nested if
                if (jeniskelamin=='L')
                                System.out.println("cowok");
                else if (jeniskelamin=='P')
                                System.out.println("cewek");
                else
                                System.out.println("banci");
//ternary
                System.out.println(jeniskelamin=='P'? "Dia pasti cowok." :
"Dia pasti cewek");
//switch case
                switch (jeniskelamin) {
                                case 'P' : System.out.println("cowok");
                                                                break;
                                case 'L' : System.out.println("cewek");
                                                                break;
                                default  : System.out.println("banci");
                                                                break;
                }
  }
}

Output:



  •   PERULANGAN
a. Pernyataan for digunakan untuk melakukan proses perulangan .Hanya saja proses perulangan pada pernyataan for langsung dikendalikan oleh suatu variable. Jadi pada pernyataan for pada dasarnya jumlah perulangan sudah diketahui.
b. Pernyataan While  digunakan untuk peng-ujian syarat pada awal proses berulang.
c. Pernyataan do while  digunakan agar program dapat menyeleksi kondisi, sehingga program dapat menentukan tindakan apa yang harus dikerjakan, terganttung dari kondisi yang diseleksi tersebut. Pada  pernyataan-pernyataan yang ada pada while tidak akan dijalankan jika kondisi tidak terpenuhi.

Kasus  :
Membuat Program TesPerulangan.java

public class TesPerulangan{
public  static void main (String[] args) {
int i;
//for
System.out.println("Perulangan for...");
for (i=0; i<10;i++)
                System.out.println("Perulangan ke : "+i);
//while
System.out.println("Perulangan while...");
i=0;
while (i<10) {
                System.out.println("Perulangan ke : "+i);
                i++;
}

//do while
System.out.println("Perulangan do While...");
i=0;
do {
                System.out.println("Perulangan ke : "+i);
                i++;
}
while (i<10);
}
}
 Output :