OPEN SOURCE

Minggu, 18 Desember 2011

Pertemuan 9

JAVA


import java.awt.*;
import javax.swing.*;

class BLayout extends JFrame {
JButton tombolSave, tombolEdit, tombolDelete,tombolOpen;
JLabel labelGambar;

public BLayout() {
setTitle("BOURDER LAYOUT");
tombolOpen = new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("DELETE");
tombolDelete.setMnemonic('D');
labelGambar = new JLabel(new ImageIcon("Image/Satu.jpg"));
setLayout(new BorderLayout());
add(tombolOpen, "North");
add(tombolSave, "West");
add(tombolEdit, "Center");
add(tombolDelete, "East");
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
}


public class CobaBorderLayout {
public static void main (String[] args) {
BLayout b=new BLayout();
 }
}

 ==========================================================================
import java.awt.*;
import javax.swing.*;

class FLayout extends JFrame {
JButton tombolSave, tombolEdit, tombolDelete,tombolOpen;

public FLayout() {
setTitle("FLOWLAYOUT");
tombolOpen = new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("DELETE");
tombolDelete.setMnemonic('D');


setLayout(new FlowLayout());
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);


pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
}


public class CobaFlowLayout {
public static void main (String[] args) {
FLayout f=new FLayout();
 }
}
===========================================================================
import java.awt.*;
import javax.swing.*;

class GLayout extends JFrame {
JButton tombolSave, tombolEdit, tombolDelete,tombolOpen, tombolCopy, tombolPaste;

public GLayout() {
setTitle("GRIDLAYOUT");
tombolOpen = new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("DELETE");
tombolDelete.setMnemonic('D');
tombolCopy = new JButton("COPY");
tombolCopy.setMnemonic('C');
tombolPaste = new JButton("PASTE");
tombolPaste.setMnemonic('P');


setLayout(new GridLayout(3,2));
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);
add(tombolCopy);
add(tombolPaste);


pack();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
}

public class CobaGridLayout {
public static void main (String[]args) {
GLayout g=new GLayout();
 }
}
==========================================================================

import java.awt.*;
import javax.swing.*;

class NLayout extends JFrame {
JButton tombolSave, tombolEdit, tombolDelete, tombolOpen;

public NLayout() {
setTitle("NONELAYOUT");
tombolOpen = new JButton("OPEN");
tombolOpen.setMnemonic('O');
tombolSave = new JButton("SAVE");
tombolSave.setMnemonic('S');
tombolEdit = new JButton("EDIT");
tombolEdit.setMnemonic('E');
tombolDelete = new JButton("DELETE");
tombolDelete.setMnemonic('D');


setLayout(null);
add(tombolOpen);
add(tombolSave);
add(tombolEdit);
add(tombolDelete);

tombolOpen.setBounds(10,10,150,20);
tombolSave.setBounds(150,15,150,20);
tombolEdit.setBounds(100,30,150,20);
tombolDelete.setBounds(40,50,150,20);

setSize(350,200);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
}

public class CobaNullLayout {
public static void main (String[]args) {
NLayout n=new NLayout();
 }
}

===========================================================================
 import java.awt.*;
    public class frameAWT {
        public static void main(String[] args) {
        Frame myFrame=new Frame("Demo program AWT");
        myFrame.setLayout(new BorderLayout());
        Label labelPil=new Label("Title Pilihan Buah");


        myFrame.add(labelPil,BorderLayout.NORTH);
        Panel myPanel=new Panel(new BorderLayout());
        Label labelBuah=new Label("Buah= ");
        Choice myChoice=new Choice();
        myChoice.add("Mangga");
        myChoice.add("Pisang");
        myChoice.add("Jeruk");
        myChoice.add("Apel");
        myChoice.add("Anggur");
        myChoice.add("Nangka");
        myFrame.add(myPanel,BorderLayout.SOUTH);
        myFrame.setSize(300,200);
        myPanel.add(myChoice,BorderLayout.EAST);
        myFrame.show();
        }
    }

===========================================================================
import javax.swing.*;
class GUI extends JFrame {
    JLabel lNama = new JLabel("Nama Lengkap : ");
    final JTextField FNama =
    new JTextField(10);
    JLabel lJnsKlmn =
    new JLabel("Jenis Kelamin :");
    JRadioButton rBPria =
    new JRadioButton("Laki-laki");
    JRadioButton rBWanita =
    new JRadioButton("Perempuan");
    JLabel lAgama =
    new JLabel("Agama: ");
    String [] NamaAgama ={
    "Islam", "Kristen", "Katolok", "Hindu", "Budha"
    };
    JComboBox cMBAgama =
    new JComboBox(NamaAgama);
    JLabel lHobby =
    new JLabel ("Hobby : ");
    JCheckBox cBSepakbola =
    new JCheckBox("Sepakbola");

    JCheckBox cBBolaBasket =
    new JCheckBox("BolaBasket");
    JButton bTNSave =
    new JButton("OK");

public GUI() {
    setTitle("Mencoba Kombinasi Komponen GUI");
    setDefaultCloseOperation(3);
    setSize(350,200);
    ButtonGroup Group = new ButtonGroup();
    Group.add(rBPria);
    Group.add(rBWanita);

    setLayout(null);
    add(lNama);
    add(FNama);
    add(lJnsKlmn);
    add(rBPria);
    add(rBWanita);
    add(lAgama);
    add(cMBAgama);
    add(lHobby);
    add(cBSepakbola);
    add(cBBolaBasket);
    add(bTNSave);

    lNama.setBounds (10,10,120,20);
    FNama.setBounds (130,10,150,20);
    lJnsKlmn.setBounds (10,35,120,20);
    rBPria.setBounds (130,35,100,20);
    rBWanita.setBounds (230,35,100,20);
    lAgama.setBounds (10,60,150,20);
    cMBAgama.setBounds (130,60,120,20);
    lHobby.setBounds (10,10,120,20);
    cBSepakbola.setBounds (130,85,150,20);
    cBBolaBasket.setBounds (230,85,150,20);
    bTNSave.setBounds (100,130,120,20);
    FNama.setBounds (130,10,150,20);
    setVisible (true);
    }
}
class ObjekGUI {
public static void main (String []args){
GUI G = new GUI();
    }
}
 
 =============================================================================

Tugas :

import java.awt.*;
import javax.swing.*;

class layout extends JFrame {

JButton Btna,Btnb, Btnc, Btnd, Btne,Btnf, Btng, Btnh, Btni, Btnj, Btnk, Btnl ;
JLabel lNama,lNama2,lNama3;
JPanel P1,P2,P3;

public layout() {
setTitle("MULTI LAYOUT");
JLabel lNama= new JLabel("Flow Layout" );
JButton Btna=new JButton ("0");
JButton Btnb=new JButton ("1");
JButton Btnc=new JButton ("2");
JButton Btnd=new JButton ("3");

JLabel lNama2= new JLabel("None Layout" );
JButton Btne=new JButton ("4");
JButton Btnf=new JButton ("5");
JButton Btng=new JButton ("6");
JButton Btnh=new JButton ("7");

JLabel lNama3= new JLabel("Grid Layout" );
JButton Btni=new JButton ("8");
JButton Btnj=new JButton ("9");
JButton Btnk=new JButton ("10");
JButton Btnl=new JButton ("11");

P1 = new JPanel();
P2 = new JPanel();
P3 = new JPanel();

setLayout(null);
add(lNama);
add(lNama2);
add(lNama3);
add(P1);
add(P2);
add(P3);

lNama.setBounds(15,10,100,20);
lNama2.setBounds(220,10,100,20);
lNama3.setBounds(320,10,100,20);
P1.setBounds(5,30,200,40);
P2.setBounds(215,30,200,100);
P3.setBounds(320,30,200,150);

P1.setLayout(new FlowLayout());
P1.add(Btna);
P1.add(Btnb);
P1.add(Btnc);
P1.add(Btnd);

P2.setLayout(null);
P2.add(Btne);
P2.add(Btnf);
P2.add(Btng);
P2.add(Btnh);

Btne.setBounds(5,10,70,20);
Btnf.setBounds(5,30,70,20);
Btng.setBounds(5,50,70,20);
Btnh.setBounds(5,70,70,20);

P3.setLayout(new GridLayout(2,1));
P3.add(Btni);
P3.add(Btnj);
P3.add(Btnk);
P3.add(Btnl);
P3.setSize(100,100);

setSize(500,200);
setDefaultCloseOperation(3);

}
}
public class BelsonDamanik{
public static void main(String[] args) {
layout l = new layout();
}
}




Minggu, 04 Desember 2011

JAVA GUI

Contoh Program Java Gui:

















Keterangan:

class GUI extends JFrame {// kelas GUI merupakan turunan dari JFrame
    JLabel LNim = new JLabel("NIM    :");//membuat & memanggil JLabel baru dengan objek LNim
    final JTextField FNim= new JTextField(50);
    // merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNim
    JLabel LNama = new JLabel("Nama :");//membuat & memanggil JLabel baru dengan objek LNama
    final JTextField FNama= new JTextField(50);// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil
                            JTextfield baru dengan nama objek FNama
    JButton BTnOK= new JButton("OK");//membuat & memanggil JButton baru dengan objek BTnOK
    JButton BTnCancel= new JButton("Cancel");//membuat & memanggil JButton baru dengan objek BTnCancel
    public GUI() {
            setTitle("Belson Damanik Coba");// mengatur & membuat judul pada frame Belson Damanik Coba
            setDefaultCloseOperation(3);
            setSize(400,200);//mengatur ukuran pada tampilan frame dengan lebar 400 dan panjang 200

            setLayout(null);//Mengatur tampilan pada frame
            add(LNim);//menambah objek LNim pada frame
            add(FNim);//menambah objek FNim pada frame
            add(LNama );//menambah objek LNama pada frame
            add(FNama);//menambah objek FNama pada frame
            add(BTnOK);//menambah objek BTnOK pada frame
            add(BTnCancel);//menambah objek BTnCancel pada frame

            LNim.setBounds(10,10,100,20);//mengatur bentuk bondaries objek LNim dengan ukuran (10,10,120,20)
            FNim.setBounds(100,10,100,20);//mengatur bentuk bondaries objek FNim dengan ukuran (100,10,100,20)
            LNama.setBounds(10,35,120,20);//mengatur bentuk bondaries objek LNama dengan ukuran (10,35,120,20)
            FNama.setBounds(100,40,100,20);//mengatur bentuk bondaries objek FNama dengan ukuran 100,40,100,20)

           BTnCancel.setBounds(100,130,120,20);//mengatur bentuk bondaries objek BTnkeluar dengan ukuran (100,130,120,20)
            BTnOK.setBounds(200,130,90,20);//mengatur bentuk bondaries objek BTnOK dengan ukuran (200,130,90,20)
            setVisible(true);//mengatur tampilan frame dalam keadaan aktif atau true

    }
}

class ObGUI {//merupakan nama kelas yaitu ObGUI
        public static void main(String[] arqs) {//Fungsi Utama yang harus ada di class utama
                GUI G=new GUI();//membuat objek dengan nama G dari GUI
            }
    }




Setelah anda mengetikkan kode program tersebut diatas maka simpan program sesuai dengan class kemudian jalankan program tersebut.

hasil program











Semoga berhasil.......


Minggu, 13 November 2011

PACKAGE DAN JAVA KELAS


A.      PACKAGE
Package digunakan untuk mengelompokkan file kelas (*.class) yang terkait (karena jenisnya, fungsinya atau karena alasan lainnya) pada direktori yang sama, dimana didalam setiap kelasnya terdapat directve (statemen java dalam source code yang digunakan untuk membuat kelas) package yang mengacu pada directori tersebut.
Deklarasi package :
                Package namaPackage;

Secara umum, bila ingin menggunakan kelas yang telah dideklarasikan dan dikompile ke dalam suatu package, maka anda perlu membubuhkan pernyataan import pada kelas pemanggil tersebut.
Deklarasi import:

1.       Mendeklarasikan penggunaan kelas suatu package satu persatu
Import namaPackage.namaKelas;
2.       Mendeklarasikan penggunaan semua kelas suatu package
Import namaPackage.*;


B.      JAVA KELAS
1.       Kelas String
String merupakan kelas yang menangani deretan karakter.
Kelas ini mendukung sejumlah method yang sangat berguna memanipulasi string.

Beberapa method dalam kelas string adalah:
·         Char charAt(int indeks)
·         boolean equals(Object anObject)
·         boolean equalsIgnoreCase(String anString)
·         int lenght()
·         string toLowerCase()
·         string toUpperCase()
·         string trim()
2.       Kelas Math
Math adalah kelas yang terdapat pada paket java.lang yang berguna untuk melakukan berbagai operasi matematika.

Manusia.java
//file Manusia harus berada dalam berada dalam folder makhlukhidup
package makhlukhidup;
public class Manusia{
            public String nama="";
            public Manusia(String nama){
                        this.nama=nama;
                        }
            }
Tumbuhan.java
//file Tumbuhan harus beada dalam folder makhlukhidup
package makhlukhidup;
public class Tumbuhan{
            public String nama="";
            public Tumbuhan (String nama){
                        this.nama=nama;
            }
}

Burung.java
//file Burung harus berada dalam folder makhlukhidup/hewan
package makhlukhidup.hewan;
public class Burung{
            public static final boolean bisaTerbang=true;
            public String nama="";
            public Burung (String nama){
            this.nama=nama;
            System.out.println("Nama burung : "+nama);
            }
}
MainMakhlukHidup.java
//file MainMakhlukHidup harus berada dalam folder Meet6
public class MainMakhlukHidup {
            public static void main(String [] args){
                        makhlukhidup.Manusia m=new makhlukhidup.Manusia
("Sayuti");
            System.out.println("nama: "+m.nama);
            makhlukhidup.Tumbuhan t=new
makhlukhidup.Tumbuhan ("Palem");
            System.out.println("nama:"+t.nama);
            System.out.println("Semua burung pasti bisa terbang?" + makhlukhidup.hewan.Burung.bisaTerbang);
            makhlukhidup.hewan.Burung b=new
makhlukhidup.hewan.Burung("Beo");
            }
}

output :



MainMakhlukHidupPakeImport
//file MainMakhlukHidup harus berada dalam folder Meet 6
import makhlukhidup.*;
import makhlukhidup.hewan.*;
public class MainMakhlukHidupPakeImport{
            public static void main (String [] args){
            Manusia m=new Manusia ("Sayuti");
            System.out.println("nama:"+m.nama);
            Tumbuhan t=new Tumbuhan("Palem");
            System.out.println("nama:"+t.nama);
            System.out.println ("Semua burung pasti bisa terbang           ?"+Burung.bisaTerbang);
            Burung b=new Burung("Beo");
}
}
ContohString
public class ContohString {
            public static void main(String [] arqs) {
                        String Kalimat ="Selamat belajar JAVA";
                        System.out.println("toUpperCase    :   "+Kalimat.toUpperCase());
                        System.out.println("toLowerCase    :   "+Kalimat.toLowerCase());
                                    System.out.println("Jumlah Karakter : "+Kalimat.length());
                                    System.out.println("Karakter index ke 0  :  " +Kalimat.charAt(0));
                        System.out.println("substring(16,20)  :           " +Kalimat.substring(16,20));
                                    System.out.println("Karakter index ke 0  :  " +Kalimat.trim());
                                   
                                   
                        }
            }
output :



OpMatematika

public class OpMatematika {
public static void main(String[] arqs) {
System.out.println("E                                                                                = " +Math.E);
System.out.println("PI                                                                               = " +Math.PI);
System.out.println("Ln 20                                                                         = " +Math.log(20.0));
System.out.println("ceil(-5.6)                                                                    = " +Math.ceil(-5.6));
System.out.println("floor(-5.6)                                                                  = " +Math.floor(-5.6));
System.out.println("round(-5.6)                                                                = " +Math.round(-5.6));
System.out.println("sqrt(25)                                                                      = " +Math.sqrt(25));
System.out.println("pow(25,0.5)                                                               = " +Math.pow(25,0.5));
}
}
output :
 







Minggu, 06 November 2011

Overloading, Overriding, Exception

Membuat Program Overriding.java
class OverRiding {
            public void MethodAsli () {
                        System.out.println("Method Milik class OverRiding dijalankan");
                        }
            public static void main (String [] arqs) {
                        OverRiding O = new OverRiding();
                        O.MethodAsli();
                        }
            }
output :
Membuat Program SubOverriding.java
class SubOverRiding extends OverRiding {
            public void MethodAsli () {
                        System.out.println("Method yang sudah OverRiding dijalankan");
                        }
            public void MethodAsliSuper() {
                        System.out.println("Method pemanggil MethodAsli dijalankan");
                        super.MethodAsli ();  
            }
            public static void main (String [] arqs) {
            SubOverRiding SO= new SubOverRiding ();
            SO.MethodAsli();
            SO.MethodAsliSuper();
            }
}
output :

Overloading dan Overriding, keduanya merupakan class yang memiliki nama method yang sama. Namun pada overloading dan overriding memiliki kesamaan dan perbedaan yang dapat dilihat dari parameternya.

A. OVERLOADING
     Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan suatu nama method untuk beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah parameter). Overloading memodifikasi secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama.
B. OVERRIDING
    Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding :
1. Mendefenisikan kembali method kelas induk secara total.
2. Menambahkan behaviour tertentu pada method kelas induk.
C. EXCEPTION
       Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh java, objek tersebut dikirimkan ke program, proses ini disebut throwing an exception.
             Kategori error dalam program :
              1. Syntax error
              2. Runtime error
              3. Logic error

Pratikum
A. Membuat Program SegiTiga.java
class SegiTiga {
            public SegiTiga (double panjang) {
            System.out.println ("\nVariabel = segitiganya sama sisi");
            System.out.println ("Panjang = " +panjang);
            keliling(panjang);
            }
public SegiTiga (double panjang, double sisiMiring) {
            System.out.println ("\n2Variabel = segitiganya sama kaki");
            System.out.println ("Panjang = " +panjang+ " sisi miring ="  +sisiMiring);
                        keliling(panjang,sisiMiring);
            }
public void keliling(double panjang) {
            tampilkanHasil (panjang*3);
            }
public void keliling(double p, double sM) {
            tampilkanHasil (2*sM+p);
            }
protected void tampilkanHasil (double h) {
            System.out.println ("Hasil = " +h);
  }
}



B. Membuat Program MainSegiTiga.java
Class MainSegitiga {
            Public static void main(string [] arqs) {
                        new Segitiga(7);
                        new Segitiga(4, 7);
}
}

output :

 Membuat Program CobaException.java
class CobaException {
public static void main (String [] arqs) {
int nilai=0;
try {
            int Nilai = Integer.parseInt (arqs[0]) ;
            System.out.println ("Nilai yang dimasukkan : "+Nilai);
            }
            catch(Exception e) {
                        System.out.println("Pasti yang diinput bukan Integer");
                        }
            finally {
                        System.out.println("Blok finally tetap dilakukan");
                        }
            }

output :
Membuat Program PembagianNol.java

class PembagianNol {
   public static void main(String[]args) {
         System.out.println("Sebelum pembagian");
         try {
               System.out.println(5/0);
         }
         catch(Throwable T) {
               System.out.println("Terjadi pembagian nol");
         }
         System.out.println("Sesudah pembagian");
   }
}
 
output :


Membuat Program TesInputData.java
 
import java.io.*;
class TextInputData {
public static void main (String [] arqs) {
BufferedReader BR = new BufferedReader (new
InputStreamReader (System.in));
String Input ="";
try {
System.out.println ("Masukan data : ");
Input = "Salah";
}
finally {
System.out.println ("Data yang anda masukan adalah " +Input);
}
     }
}

 output :



catatan :
Perbedaan antar override dengan overload
Override
  1. Mendefinisikan method dengan nama sama pada class yang berbeda.
  2. Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Overload
  1. mendefinisikan method dengan nama sama dalam satu class.
  2. Konsep sering di gunakan dalam penggunaan constructor.

Minggu, 30 Oktober 2011

Abstrak Class, Interface, Inner Class

A. ABSTRACT CLASS

     Abstract Class adalah suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih abstract 
method. Abstract method adalah nama method yang memiliki implementasi dan menggunakan modifier abstract. Abstract class biasanya dijadikan parent/ super class dari kelas-kelas yang dapat membuat objek, abstract class tidak dapat diintansiasi. Defenisi kelas diletakkan dalam masing-masing kelas turunan. Dalam hal ini setiap kelas turunan harus mendefenisikan metode-metode yang tergolong sebagai metode abstract.
B. INTERFACE
    Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabla suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Interface menyerupai kelas. Perbedaanya, kata kunci interface menggantikan kedudukan kata kunci class. Bentuk deklrasinya adalah sebagai berikut:
     Penentu akses public biasa digunakan dengan tujuan agar interface dapat diakses oleh kelas manapun. Jika tak ada penentu akses public, interface hanya dapat diakses oleh kelas-kelas yang berada dalam paket yang sama.

C. INNER CLASS
     Inner Class adalah kelas yang disisipkan di dlam kelas yang lain. fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh suatu kelas utamanya. Inner class bersifat terserang terhadap kelas-kelas utamnya

CONTOH PROGRAM

A. MEMBUAT PROGRAM MakhlukHidup.java
     public abstract class MakhlukHidup{
    protected boolean BisaTerbang = false;
    protected String Nama;
    protected int JlhKaki;

    public MakhlukHidup(String Nama1, int JlhKaki1, boolean BisaTerbang1) {
    this. Nama = Nama1;
    this. JlhKaki = JlhKaki1;
    this. BisaTerbang = BisaTerbang1;
    }
    abstract void bernafas();

     public void status(){
    System.out.println(Nama+" bernafas dengan menghirup CO2");
    System.out.println("------------------------------------");
    System.out.println("Nama : " +Nama);
    System.out.println("Jumlah Kaki : " +JlhKaki);
    System.out.println("BisaTerbang : " +BisaTerbang);
    }
    }
   



B. MEMBUAT PROGRAM Manusia.java
     public class Manusia extends MakhlukHidup{
     Manusia(String nama){
     super(nama,2,false);
     }
     public void bernafas(){
     System.out.println(Nama+" bernafas dengan menghirup O2");
    }
    public static void main(String[]arg){
    Manusia m = new Manusia ("Sayuti");
    m.status();
    m.bernafas();
   }
   }



C. MEMBUAT PROGRAM Tumbuhan.java
     public class Tumbuhan extends MakhlukHidup{
    Tumbuhan(String nama){
    super(nama,0,false);
   }
   public void bernafas(){

  }
  public static void main(String[]arg){
 Tumbuhan t = new Tumbuhan ("Bayam");
 t.status();
 t.bernafas();
 }
 } 




D. MEMBUAT PROGRAM Pekerjaan.java
     interface Pekerjaan {
    public void namaPekerjaan() ;
    public void gaji ();
   }
    

E. MEMBUAT PROGRAM Sasya.java
     public class Sasya extends Manusia implements Pekerjaan{
     public Sasya() {
    super("Sasya");
    }
    public void namaPekerjaan(){
   System.out.println("Pekerjaan : Sekretaris");
   }
   public  void gaji(){
   System.out.println ("Gaji : Rp. 3.000.000");
   }
   public static void main(String[]arg){
   Sasya s = new Sasya ();
   s.status();
   s.bernafas();
   s.namaPekerjaan();
   s.gaji();
  }
  }


F. MEMBUAT PROGRAM JantungManusia.java
    class Orang{
    private int jumlKaki = 2;

    public void dengarBunyiJantung() {
          Jantung j = new Jantung();
          j.bunyiJantung();
    }
    public void tahanNafas(){
    System.out.println("Jantung berhenti berdetak!");
    }
    //inner class
   class Jantung{
    public void bunyiJantung(){
        System.out.println("deg.....deg..deg...");
        }
    public void istrahat(){
        System.out.println("silangkan ke "+jumlKaki+" kaki.");
        tahanNafas();
        }
        }
        }
   class JantungManusia{
    public static void main(String[]arg){
    Orang o = new Orang();
    Orang.Jantung p = o.new Jantung();
    o.dengarBunyiJantung();
    p.istrahat();
    }
    }













SMOGA BERHASIL........................ :-)