Selasa, 20 Desember 2011

Menampilkan Checkbox di Java


CheckBox merupakan Widget/View yang memungkinkan user untuk men-ceklist pilihan tertentu, penggunaan CheckBox ini sama halnya penggunaan CheckBox pada umumnya.
Contoh program java berikut ini mendemokan bagaimana penanganan checkbox di java. Bukan hanya bagaimana membuat object checkbox dengan class JCheckBox, namun juga contoh penanganan event dengan ItemListener.

Program EventCheckBox.java
import java.awt.*;//memanggil package java.awt
import java.awt.event.*;//memanggil package java.awt.event
import javax.swing.*;//memanggil package javax.swing

// pendeklarasian class utama turunan dari class JFrame
class CheckHandling extends JFrame implements ItemListener {
                     private JTextField teks; //pendeklarasian komponen JTextField
                     private JPanel panel; //pendeklarasian komponen JPanel
                     private JCheckBox ck1, ck2, ck3; //pendeklarasian komponen JCheckBox

                     public CheckHandling() {// membuat construktor
                         setTitle("Coba CheckBox Handling"); // menentukan judul pada Menu Bar diJFrame
                         teks = new JTextField("Jenis Kelamin : Pilihan"); //membuat objek teks dari komponen JTextField
                         teks.setHorizontalAlignment(SwingConstants.CENTER); //pengaturan objek
                         panel = new JPanel(new FlowLayout()); //membuat objek panel dari komponen Jpanel dengan metode FlowLayout
//membuat objek c1-c3 dari komponen JCheckBox dengan isinya masing-masing
                         ck1 = new JCheckBox("Pria");
                         ck2 = new JCheckBox("Wanita");
                         ck3 = new JCheckBox("Banci");

                           //membuat objek group dari method ButtonGroub
                         ButtonGroup group = new ButtonGroup();
                         group.add(ck1); //menambahkan objek ck1 pada objek panel
                         group.add(ck2); //menambahkan objek ck1 pada objek panel
                         group.add(ck3); //menambahkan objek ck1 pada objek panel
                         ck1.addItemListener(this);
                         ck2.addItemListener(this);
                         ck3.addItemListener(this);

                         setLayout(new BorderLayout()); //menset tampilan dengan metode BorderLayout
                         add(teks, "North");
                         add(panel,"West");
                         panel.add(ck1); //menambahkan objek ck1 pada objek panel
                         panel.add(ck2); //menambahkan objek ck2 pada objek panel
                         panel.add(ck3); //menambahkan objek ck3 pada objek panel

                         pack();
                         setVisible(true); //untuk mengaktifkan
                         setLocation(300,300); //menentukan lokasi JFrame saat di run
                         setDefaultCloseOperation(3); //membuat operasi exit pada JFrame
                         }

                        //memberikan Event Handling kepada Check Box dengan fungsi if
                         public void itemStateChanged(ItemEvent event) {
                             if(event.getSource()==ck1){
                                if(event.getStateChange()==ItemEvent.SELECTED)
                                    teks.setText("Jenis Kelamin : Pria");
                         }
                                    if(event.getSource()==ck2){
                                        if(event.getStateChange()==ItemEvent.SELECTED)
                                            teks.setText("Jenis Kelamin : Wanita");
                         }
                         if(event.getSource()==ck3){
                                         if(event.getStateChange()==ItemEvent.SELECTED)
                                            teks.setText("Jenis Kelamin :??");
                                            }
                         }
}

//membuat fungsi utama untuk memanggil class
public class EventCheckBox {
                     public static void main(String [] args) {
                        new CheckHandling();
                       }
}
Berikut ini tampilannya:

Selasa, 13 Desember 2011

MultiLayout


Membuat Program MULTI.java

import java.awt.*;
//memasukkan perintah java awt
import javax.swing.*;
//memasukkan perintah java swing
class Layout extends JFrame {
//membuat class turunan dari JFrame dengan Layout
JButton B0,B1, B2, B3, B4,B5, B6, B7, B8, B9, B10, B11 ;
//membuat komponen  Button dengan objek B0,B1, B2, B3, B4,B5, B6, B7, B8, B9, B10, B11 dari class JButton
JLabel lNama,lNama2,lNama3;
//membuat komponen  Label dengan objek lNama, lNama2, lNama3 dari class JLabel
JPanel P1,P2,P3;
//membuat komponen  Panel dengan objek P1, P2,P3 dari class JPanel


public Layout() {
//membuat class dengan  nama Layout
setTitle("MULTI LAYOUT");
//membuat judul layout
JLabel lNama= new JLabel("Flow Layout" );
//membuat objek baru dari class Jlabel dengan objek lNama dan modifier JLabel
yang isinya “Flow Layout”
JButton B0=new JButton ("0");

JButton B1=new JButton ("1");

JButton B2=new JButton ("2");

JButton B3=new JButton ("3");

JLabel lNama2= new JLabel("None Layout" );
//membuat objek baru dari class Jlabel dengan objek lNama2 dan modifier JLabel
yang isinya “NoneLayout”
JButton B4=new JButton ("4");
//membuat objek baru B4
JButton B5=new JButton ("5");
//membuat objek baru B5
JButton B6=new JButton ("6");
//membuat objek baru B6
JButton B7=new JButton ("7");
//membuat objek baru B7
JLabel lNama3= new JLabel("Grid Layout" );
//membuat objek baru dari class Jlabel dengan objek lNama dan modifier JLabel
yang isinya “Grid Layout”
JButton B8=new JButton ("8");
//membuat objek baru B8
JButton B9=new JButton ("9");
//membuat objek baru B9
JButton B10=new JButton ("10");
//membuat objek baru B10
JButton B11=new JButton ("11");
//membuat objek baru B11

P1 = new JPanel();
//membuat objek baru P1
P2 = new JPanel();
//membuat objek baru P2
P3 = new JPanel();
//membuat objek baru P3

setLayout(null);
 //memanggil jenis layout dari class Layout
add(lNama);
//menanggil objek lNama
add(lNama2);
//menanggil objek lNama2
add(lNama3);
//menanggil objek lNama3
add(P1);
//menanggil objek P1
add(P2);
//menanggil objek P2
add(P3);
//menanggil objek P3

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

P1.setLayout(new FlowLayout());
//membuat tampilan Form Layout dengan tampilan Flow dari objek P1
P1.add(B0);
//menambahkan objek P1 dengan objek B0
P1.add(B1);
//menambahkan objek P1 dengan objek B1
P1.add(B2);
//menambahkan objek P1 dengan objek B2
P1.add(B3);
//menambahkan objek P1 dengan objek B3

P2.setLayout(null);
//membuat tampilan Form Layout dengan tampilan biasa dari objek P2
P2.add(B4);
//menambahkan objek P2 dengan objek B4
P2.add(B5);
//menambahkan objek P2 dengan objek B5
P2.add(B6);
//menambahkan objek P2 dengan objek B6
P2.add(B7);
//menambahkan objek P2 dengan objek B7

B4.setBounds(5,10,70,20);
//membuat pengaturan tampilan pada objek B4
B5.setBounds(5,30,70,20);
//membuat pengaturan tampilan pada objek B5
B6.setBounds(5,50,70,20);
//membuat pengaturan tampilan pada objek B6
B7.setBounds(5,70,70,20);
//membuat pengaturan tampilan pada objek B7

P3.setLayout(new GridLayout(2,1));
//membuat tampilan Form Layout dengan tampilan Grid dari objek P3
P3.add(B8);
//menambahkan objek P3 dengan objek B8
P3.add(B9);
//menambahkan objek P3 dengan objek B9
P3.add(B10);
//menambahkan objek P3 dengan objek B10
P3.add(B11);
//menambahkan objek P3 dengan objek B11
P3.setSize(100,100);
//membuat ukuran utuk tampilan grid objek P3

setSize(450,180);
//membuat ukuran utuk tampilan dari class Layout
setVisible(true);
setDefaultCloseOperation(3);
//membuat tampilan close, maximize, dan minimize pada form

}
}
                 public class MULTI {
// membuat class dengan nama MULTI
                 public static void main(String[] args) {
  // membuat fungsi utama untuk dapat menampilkan perintah di atas
                 Layout l = new Layout();
                     //membuat objek baru dengan nama l untuk menampilkan formnya
                 }
}

Output:























Selasa, 06 Desember 2011

Membuat Form


Swing.Java
Swing Java adalah salah satu pemrograman berbasis GUI(Graphical User Interface) di Java. Sesungguhnya di Java terdapat dua macam pemrograman berbasis GUI(Graphical User Interface) yaitu : AWT dan Swing.
Implementasi Swing dalam program dapat menggunakan class yang sudah terdapat pada package javax.swing yaitu JFrame, JDialog, JOption, JLabel, JTextField, JButton.

Membuat Program TugasGUI1.java
import javax.swing.*;
//memasukkan perintah java swing
class GUI extends JFrame {
 JLabel lNIM = new JLabel("NIM      : ");
 //membuat class JLabel dengan objek lNIM dengan konstruktor JLabel
 //untuk memasukkan teks NIM
 JTextField fNIM = new JTextField(10);
 //membuat komponen textbox untuk NIM
 //dengan nama class JTextField , objek fNIM, dan Konstruktor JTextField
 JLabel lNama = new JLabel("Nama  : ");
 //membuat class JLabel dengan objek lNama dengan konstruktor JLabel
 //untuk memasukkan teks Nama
 JTextField fNama = new JTextField(20);
  //membuat komponen textbox untuk Nama
  //dengan nama class JTextField , objek fNama, dan Konstruktor JTextField
 JButton bTNSave = new JButton("OK");
  //membuat komponen button OK
  //dengan nama class JButton, objek bTNSave, dan Konstruktor JButton
 JButton bTNCancel = new JButton("Cancel");
 //membuat komponen button Cancel
 //dengan nama class JButton, objek bTNCancel, dan Konstruktor JButton

 public GUI() {
    setTitle("Tugas GUI I");
    //membuat judul form
    setDefaultCloseOperation(3);
    //membuat 3 perintah tampilan pada judul form
    setSize(350,200);
    //mengatur ukuran form sebenarnya

    setLayout(null);
    //memanggil jenis layout yang dibuat di atas
    add(lNIM);
    //menanggil objek lNIM
    add(lNama);
    //menanggil objek lNama
    add(fNIM);
    //menanggil objek fNIM
    add(fNama);
    //menanggil objek fNama
    add(bTNSave);
    //menanggil objek bTNSave
    add(bTNCancel);
    //menanggil objek bTNCancel
    lNIM.setBounds(10,10,120,20);
    //membuat pengaturan tampilan pada objek lNIM
    fNIM.setBounds(130,10,150,20);
    //membuat pengaturan tampilan pada objek fNIM
    lNama.setBounds(10,35,120,20);
    //membuat pengaturan tampilan pada objek lNama
    fNama.setBounds(130,35,150,20);
    //membuat pengaturan tampilan pada objek fNama
    bTNSave.setBounds(100,130,80,20);
    //membuat pengaturan tampilan pada objek bTNSave
    bTNCancel.setBounds(200,130,80,20);
    //membuat pengaturan tampilan pada objek bTNCancel
    setVisible(true);

   }
}

class TugasGUI1 {
// membuat class dengan nama TugasGUI1
  public static void main(String [] args){
  // membuat fungsi utama untuk dapat menampilkan perintah di atas
     GUI G = new GUI();
     //membuat objek baru dengan nama G untuk menampilkan formnya
   }
}


Jika dijalankan maka akan tampil output :


Apabila diisi teks seperti ini:

Selasa, 08 November 2011

Praktikum Java Ke 6


     Overloading, OverRiding dan Exception
   
      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). Atau dengan kata lain, dalam satu kelas ada beberapa method yang sama tetapi ada bedanya yaitu dari segi parameternya.
Contoh:
1.       Membuat Program SegiTigaa.Java

class SegiTigaa{  // membuat sebuath class dengan nama Segitiga
public SegiTigaa (double panjang) {  // constructor SegiTiga dengan  satu parameter yaitu  panjang
       System.out.println("\nVariabel = segitiganya sama sisi");  // mencetak kata n yang pertama yaitu :”Variabel = segitiganya sama sisi”
       System.out.println("Panjang = " +panjang); //mencetak Panjang= ditambah nilai parameter panjang 
       keliling(panjang); // method keliling dengan parameter panjang
       }
       public SegiTigaa(double panjang, double sisiMiring){  // constructor SegiTiga  dengan dua parameter yaitu panjang dan sisi miring.
       System.out.println("\n2Variabel = segitiganya sama kaki"); // mencetak n yang kedua yaitu :”Variabel = segitiganya sama kaki”
       System.out.println("Panjang = " +panjang+ " sisi miring = " +sisiMiring); //mencetak Panjang= ditambah nilai parameter panjang dan mencetak sisi miring ditambah nilai parameter sisiMiring.
       keliling(panjang, sisiMiring); //method keliling dengan parameter panjang dan sisiMiring.
       }
       public void keliling(double panjang) { // memanggil method keliling yang menggunakan parameter panjang saja.
                       tampilkanHasil(panjang*3); // method tampilkanHasil dengan nilai parameter panjang dikali 3.
                       }
       public void keliling(double p, double sM) { // memanggil method keliling yang menggunakan parameter panjang dan sisiMiring.
       tampilkanHasil(2*sM+p); // method tampilkanHasil dengan parameter sisiMiring(sM) dikali 2 dan ditambah parameter panjang(p).
       }
       protected void tampilkanHasil(double h) { //memanggil method tampilkanHasil dengan parameter h
       System.out.println("Hasil = " +h);  //mencetak “Hasil=” ditamabah nilai parameter h.
       }
}

  Output: 
Tidak ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan seperti dibawah ini :


             2.       Membuat Program MainSegitiga.java

class MainSegiTiga { // membuat class baru dengan nama MainSegiTiga.
        public static void main(String [] args) { //Fungsi Utama
        new SegiTigaa(7);  // memanggil method SegiTiga yang pertama pada class SegiTiga dan mengirimkan nilai 7 pada parameter panjang.
        new SegiTigaa(4,7); // memanggil method SegiTiga yang kedua  pada class SegiTiga dan mengirimkan nilai 4  pada parameter panjang dan nilai 7 pada parameter sisiMiring.
        }
}
Output:

      




    B.      OVERRIDING
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang memiliki oleh kelas super ketika kelas super tersebut diturunkan.
Contoh :
1.       Membuat Program OverRiding.java

class OverRiding{ // membuat class baru dengan nama OverRiding
public void MethodAsli() { // method  MethodAsli
System.out.println("Method milik class OverRiding dijalankan"); // mencetak karakter dalam tanda kutip.
}
public static void main(String[]args) { //Fungsi Utama
OverRiding o = new OverRiding(); //membuat objek baru dengan nama o pada constructor OverRiding.
o.MethodAsli(); // memanggil method MethodAsli.
}
}

Output:






           2.       Membuat Program SubOverRiding.java

class SubOverRiding extends OverRiding { // membuat class baru dengan nama SubOverRiding turunan dari class OverRiding.
public void MethodAsli(){ //method MethodAsli menimpah MethodAsli pada class OverRiding.
System.out.println("Method yang sudah OverRiding dijalankan"); // mencetak karakter dalam tanda Kutip dua pada class subOverRiding.
}
public void MethodAsliSuper(){ // method MethodAsliSuper
System.out.println("Method pemanggil MethodAsli dijalankan"); // mencetak karakter dalam tanda kutip dua.
super.MethodAsli(); //memanggil MethodAsli
}
public static void main(String [] args) { //Fungsi Utama
SubOverRiding SO = new SubOverRiding(); //membuat objek baru dengan nama SO pada constructor SubOverRiding.
SO.MethodAsli(); //memanggil isi dari MethodAsli
SO.MethodAsliSuper(); //memanggil isi dari MethodAsliSuper
}
}

Output :


     

      C.      EXCEPTION
Exception merupakan sutu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program.
           Contoh:
                 1.       Membuat Program TanpaException.java

class TanpaException { // membuat class baru dengan nama TanpaException
public static void main (String [] args){ // Fungsi utama
int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai); // mencetak karakter dalam tanda kutip dan ditambah nilia parameter Nilai
}
}

 Proses untuk melihat out putnya yaitu sebagai berikut :
1. Klik start ,pilih run ketik cmd untuk membuka command prompt
2. Ketik perintah cd untuk menuju direktori tempat TanpaException.java berada.
3.ketik java TanpaException 50

Output:



          2.       Membuat Program CobaException.java

class CobaException { // membuat class baru dengan nama CobaException
public static void main (String []args){ //Fungsi Utama
int nilai=0;
try{
                int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai);  //mencetak karakter dalam tanda kutip dua dan ditambah nilai parameter Nilai.
}
catch(Exception e) {
System.out.println("Pasti yang diinput bukan Integer");  // mencetak karakter dalam tanda kutip dua.
}
finally {
System.out.println("Blok finally tetap dilakukan");  //mencetak karakter dalam tanda kutip dua.
}
}
}

Output:


                 3.       Membuat Program PembagianNol.java

class PembagianNol { //membuat class baru dengan nama PembagianNol
public static void main (String [] args) { //Fungsi Utama
System.out.println("Sebelum pembagian");  //mencetak karakter dalam tanda kutip dua.
try {
System.out.println(5/0);
}
catch(Throwable T) {
System.out.println("Terjadi pembagian nol"); //mencetak karakter dalam tanda kutip dua.
}
System.out.println("Sesudah pembagian"); // mencetak karakter dalam tanda kutip dua.
}
}

Output:



                  4.         Membuat Program TesInputData.java

import java.io.*;
class TesInputData { // membuat class baru dengan nama TesInputData
public static void main (String [] args) { //Fungsi Utama
BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
String Input = " ";
try {
System.out.println("Masukkan data : "); // mencetak karakter dalam tanda kutip dua.
Input = "Salah";
}
finally {
System.out.println("Data yang anda masukkan adalah " +Input); // mencetak karakter dalam tanda kutip dua dan ditambah nilai dari input.
}
}
}

Output:




Selasa, 01 November 2011

PRAKTIKUM JAVA KE 5



ABSTRAK CLASS, INTERFACE, INNER CLASS

A.    ABSTRAK CLASS
Abstrak class adalah suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih abstract method. Abstrak method adalah suatu method yang memiliki implementasi dan menggunakan modifier abstract. Abstrak class selalu menjadi kelas induk dan minimal harus memiliki satu buah method abstrak.
Deklarasi abstract class pada java:
[modifier] abstract class NamaKelas {
//deklarasi atribut
//defenisi/prototype method
}

Contoh :
      a.       Membuat Program MahlukHidup.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 :" +Nama);
                        System.out.println("Jumlah Kaki :" +JlhKaki);
                        System.out.println("Bisa Terbang :" +BisaTerbang);
            }
}

Output :
Tidak ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan seperti dibawah ini :

 Penjelasan :
 public MakhlukHidup(String Nama1, int JlhKaki1, boolean BisaTerbang1){
    // merupakan method dengan type data string, integer dan boolean
                        this.Nama = Nama1;
                        // mengubah Nama menjadi Nama1
                        this.JlhKaki = JlhKaki1;
                        //  mengubah JlhKaki menjadi JlhKaki1
                        this.BisaTerbang = BisaTerbang1;
                        //  mengubah BisaTerbang menjadi BisaTerbang1

 abstract void bernafas();
   // merupakan method abstrak

public void status(){
  //merupakan method dengan nama status
                        System.out.println("Nama :" +Nama);
                        //memanggil variabel Nama tetapi belum dapat ditampilkan
                        System.out.println("Jumlah Kaki :" +JlhKaki);
                         //memanggil variabel JlhKaki tetapi belum dapat ditampilkan
                        System.out.println("Bisa Terbang :" +BisaTerbang);
                         //memanggil variabel BisaTerbang tetapi belum dapat ditampilkan

      b.      Membuat Program Manusia.java

public class Manusia extends MakhlukHidup {
            Manusia(String Nama){
            // merupakan method dan konstruktor
                        super(Nama,2, false);
                        //untuk memanggil konstruktor kelas induk
            }

            public void bernafas() {
                        System.out.println(Nama+" bernafas dengan menghirup O2");
            }

            public static void main (String [] args) {
                        Manusia m = new Manusia("Sayuti");
                        //memanggil konstruktor manusia
                        m.status();
                        //memanggil method status dan menampilkannya
                        m.bernafas();
                        //memanggil method bernafas dan menampilkannya
            }
}

Output :


      c.       Membuat Program Tumbuhan.java

public class Tumbuhan extends MakhlukHidup {
            Tumbuhan(String Nama){
                        super(Nama,0, false);
            }

            public void bernafas() {
                        System.out.println(Nama+" bernafas dengan menghirup CO2");
            }

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

Output :

 
B.     INTERFACE
Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabila suatu interface memilki atribut, maka atributnya akan berlaku sebagai konstanta.
Deklarasi interface pada java:
[modifier] Interface NamaInterface{
//deklarasi konstanta
//defenisi method
}

Contoh :
      a.      Membuat Program Pekerjaan.java

interface Pekerjaan {
//pedeklarasian interface
            public void namaPekerjaan();
            public void gaji();
}

Output :
Tidak ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan seperti dibawah ini :



      b.       Membuat Program Ummy.java

public class Ummy extends Manusia implements Pekerjaan {
//mengimplementasikan metho-method Pekerjaan dan merupakan turunan dari kelas induk Manusia
            public Ummy() {
                        super("Ummy");
            }

            public void namaPekerjaan(){
                        System.out.println("Pekerjaan :Sekretaris");
            }

            public void gaji(){
                                    System.out.println("Gaji :Rp. 3.000.000");
                        }

            public static void main(String[] args){
                        Ummy u = new Ummy();
                        //membuat objek baru dengan nama u
                        u.status();
                       //untuk memanggil dan menampilkan method status dari kelas Manusia
                        u.bernafas();
                        u.namaPekerjaan();
                        //untuk memanggil dan menampilkan method namaPekerjaan dari kelas Ummy
                        u.gaji();
            }

}

Output :



C.    INNER CLASS
Inner class adalah kelas yang disisipkan di dalam kelas yang lain. Fungsinya adalah untuk mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner class bersifat tersarang terhadap kelas-kelas utamanya.
Contoh :
      a.       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{
            //class jantung di dalam class orang
                        public void bunyiJantung() {
                                    System.out.println("deg,,,deg...deg,,,deg...deg,,,");
                        }

                        public void istirahat(){
                                    System.out.println("Silangkan ke "+jumlKaki+" kaki.");
                                    tahanNafas();
                        }
            }
}

class JantungManusia{
//merupakan class baru yang memiliki fungsi utama
            public static void main (String[] args) {
                        Orang o = new Orang();
                        Orang.Jantung p = o.new Jantung();
                        //objek baru yang kelas jantung di dalam kelas orang / karena objek p berada pada objek o
                        o.dengarBunyiJantung();
                        //untuk memanggil dan menampilkan method dengarBunyiJantung dari dari class orang
                        p.istirahat();
                         //untuk memanggil dan menampilkan method istirahat dari dari inner class jantung
            }
}

Output :