Rabu, 16 Januari 2013

Tugas

Memodifikasi program EventRadio.java dengan mengganti JRadioButton dengan menggunakan JCheckBox

Source Code
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class RadioHandling extends JFrame implements ItemListener {
private JTextField teks;
private JPanel panel;
private JCheckBox rbTn1, rbTn2, rbTn3;
public RadioHandling() {
setTitle("FEMI");
teks = new JTextField("Jenis Kelamin : Pria");
teks.setHorizontalAlignment(SwingConstants.CENTER);
panel = new JPanel(new FlowLayout());
rbTn1 = new JCheckBox("Pria");
rbTn2 = new JCheckBox("Wanita");
rbTn3 = new JCheckBox("Banci");
ButtonGroup group = new ButtonGroup();
group.add(rbTn1);
group.add(rbTn2);
group.add(rbTn3);
rbTn1.addItemListener(this);
rbTn2.addItemListener(this);
rbTn3.addItemListener(this);
setLayout(new BorderLayout());
add(teks, "North");
add(panel, "West");
panel.add(rbTn1);
panel.add(rbTn2);
panel.add(rbTn3);
pack();
setVisible(true);
setLocation(300,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public void itemStateChanged(ItemEvent event) {
if(event.getSource()==rbTn1) {
if(event.getStateChange()==ItemEvent.SELECTED) teks.setText("Jenis Kelamin : Pria");
}
if(event.getSource()==rbTn2) {
if(event.getStateChange()==ItemEvent.SELECTED) teks.setText("Jenis Kelamin : Wanita");
}
if(event.getSource()==rbTn3) {
if(event.getStateChange()==ItemEvent.SELECTED) teks.setText("Jenis Kelamin : Banci");
}
}
}
public class Femi {
public static void main (String[] args) {
new RadioHandling();
}
}

Hasilnya

Kamis, 20 Desember 2012

Tugas Java

import java.awt.*; import javax.swing.*;
class layout extends JFrame { JButton Button0,Button1, Button2, Button3, Button4,Button5, Button6, Button7, Button8, Button9, Button10, Button11 ;
JLabel lNama,lNama2,lNama3;
JPanel P1,P2,P3;
public layout() { setTitle("JOHAN");
JLabel lNama= new JLabel("Flow Layout" );
JButton Button0=new JButton ("0");
JButton Button1=new JButton ("1");
JButton Button2=new JButton ("2");
JButton Button3=new JButton ("3");
JLabel lNama2= new JLabel("None Layout" );
JButton Button4=new JButton ("4");
JButton Button5=new JButton ("5");
JButton Button6=new JButton ("6");
JButton Button7=new JButton ("7");
JLabel lNama3= new JLabel("Grid Layout" );
JButton Button8=new JButton ("8");
JButton Button9=new JButton ("9");
JButton Button10=new JButton ("10");
JButton Button11=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(Button0);
P1.add(Button1);
P1.add(Button2);
P1.add(Button3);
P2.setLayout(null);
P2.add(Button4);
P2.add(Button5);
P2.add(Button6);
P2.add(Button7);
Button4.setBounds(10,10,65,25);
Button5.setBounds(10,35,65,25);
Button6.setBounds(10,55,65,25);
Button7.setBounds(10,75,65,25);
P3.setLayout(new GridLayout(2,1));
P3.add(Button8); P3.add(Button9);
P3.add(Button10); P3.add(Button11);
P3.setSize(100,100);
setSize(500,200); setVisible(true); setDefaultCloseOperation(3);
}
}
public class TugasFemi { public static void main(String[] args) { layout l = new layout();
}
}


Selasa, 18 Desember 2012

Manajemen Layout

Dalam upaya memudahkan perancangan antar muka, java menyediakan layout manager yang berfungsi mengontrol penempatan dan ukuran-ukuran komponen di dalam container. Tugas utama layout manager adalah menjaga agar tampilan antar muka tetap konsisten meski dijalankan di platform yang berbeda.
Java menyediakan berbagai jenis layout manager standar dari yang paling sederhana hingga yang paling fleksibel.

Flow Layout mengatur komponen-komponen secara mengalir dari kiri ke kanan. Umumnya layout ini sering digunakan untuk mengatur button, namun tidak jarang juga dimanfaatkan untuk komponen-komponen lainnya.
Contoh program CobaFlowLayout.java

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw6Ba0j8DExTY48JQnfhrp7h9oikeINGFWh-lohtuRkebpVmVo8a9rnTN5P_L9UifFOYCTZOPkil9TlV5QUq3uMYj6ujHyz_chisS9ZkFu8L1MqrOCz732DxzmFhPyiodwh0NFQWAz5F4/s640/CobaFlowLayout.bmp 

Grid Layout mengatur komponen-komponen dalam bentuk baris dan kolom dengan ukuran sama. Dengan kata lain, layout ini memperlakukan komponen sebagai sel di suatu tabel.
Contoh program CobaGridLayout.java



Border Layout mengatur komponen-komponen ke dalam lima area yaitu  utara, selatan, timur, barat dan tengah. Dalam implementasinya, tiap-tiap aren diidentifikasikan melalui konstanta.
Contoh program cobaBorderLayout.java






Membuat program CobaNullLayout.java


Membuat program frameAWT.java


Membuat program objekGUI.java

Rabu, 12 Desember 2012

Laporan Pratikum Java

JAVA GUI (Graphic User Interface)

GUI (Graphic User Interface) adalah antar muka komputer yang berbasiskan grafis. Adalah citra grafis yang ditampilkan di layar komputer yang memungkinkan untuk mengakses aplikasi software dengan memakai menu dropdown, dialog box, radio button, check box, panel, tabs, toolbar, icon shortcuts dan tool lain. 

 Atau bisa juga dikatakan jenis antarmuka pengguna yang memungkinkan orang untuk berinteraksi dengan program dengan lebih banyak dengan gambar daripada perintah teks. 

Sebuah GUI grafis menawarkan ikon, dan visual indikator, sebagai lawan dari antarmuka berbasis teks. Contoh perangkat yang menggunakan GUI:  perangkat genggam seperti MP3 Players, Portable Media Player dan perangkat Permainan. GUI ini dimulai pertama kali dengan X Windows hasil penelitian di MIT, kemudian Macintosh, Sun View, lalu disusul oleh Microsoft Windows, dan sistem operasi lainnya.

JAVA GUI  adalah dapat disimpulkan bahwa Java GUI adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. 

Tujuannya adalah menambahkan komponen-komponen yang tidak bisa dibuat dalam basis text. Komponen-konponen tersebut bisa berupa tombol, gambar, dll. Tujuannya  adalah untuk memudahkan user menggunakan program yang dibuat tersebut.

Java menyediakan dua kelas untuk GUI, yaituAWT  (Abstract Windowing Toolkit) dan Swing.

AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan applet. Tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing menyediakan  implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama. Begitu juga dengan AWT menjamin tampilan look and feel pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT.  Namun pada dasarnya, kompondn AWT dapat digunakan bersama dengan komponen Swing.
SWT (Standart Widget Toolkit) adalah komponen perangkat lunak yang memberikan fungsiwidget asli untuk platform Eclipse dengan cara sistem operasi independen.Hal ini sejalan dengan AWT / Swing di Java dengan perbedaan : SWTmenggunakan Bahkan dalam situasi yang ideallibrary ber-platform sangat sulit untuk writer dan reader. Hal ini karena kompleksitas yang melekat pada sistem widget dan banyak perbedaan halus antara platform. Ada beberapapendekatan dasar yang telah membantu secara signifikan untuk mengurangi kompleksitas masalah dan memberikan library berkualitas tinggi.

Membuat Program cthAWT1.java



Membuat Program cthAWT2.java


Membuat Program cthSwing1.java



Membuat Program cthSwing2.java

Rabu, 07 November 2012

Laporan Pratikum Java

Overloading dan Overriding

Overloading

Adalah suatu cara untuk memberikan nama yang sama kepada dua method yang berbeda meski dua method tersebut berada dalam class yang sama. Hal ini dapat dilakukan dengan cara membedakan tipe parameter, jumlah parameter dan susunan parameter. Jadi, nama Method Boleh Sama, namun Jumlah Parameter Harus Berbeda. Nilai yang di Return harus memiliki tipe yang sama juga.
 
Segitiga
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);
}
}

MAINSEGITIGA
class MainSegiTiga {
public static void main(String [] args) {
new SegiTiga(7);
new SegiTiga(4,7);
}
}

overriding
class OverRiding {
public void MethodAsli() {
System.out.println("Method milik class OverRiding dijalankan");
}

public static void main(String [] args) {
OverRiding O = new OverRiding();
O.MethodAsli();
}
}


SUBOVERRIDING
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 [] args) {
SubOverRiding SO = new SubOverRiding();
SO.MethodAsli ();
SO.MethodAsliSuper();
}
}


TANPAEXCEPTION
class TanpaException {
public static void main (String [] args) {
int Nilai = Integer.parseInt (args[0]);
System.out.println("Nilai yang dimasukkan : " +Nilai);
}
}



COBAEXCEPTION
class CobaException {
public static void main (String [] args) {
int nilai = 0;
try {
int Nilai = Integer.parseInt (args[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");
}
}
}

Kamis, 25 Oktober 2012

INFORMATION HIDING, ENCAPSULATION, INHERITANCE DAN POLYMORHISM

Encapsulation
Encapsulation merupakan cara membungkus data dan method yang menyusun kelas dan menyembunyikannya dari dunia luar. Jika kita telah melakukan information hiding terhadap suatu attribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap attribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu attribut tersebut.
Berikut ini keuntungan dari prinsip encapsulation :
  • Bersifat independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat independen dari yang lain. Sehingga dapat digunakan pada bagian manapun dari program.
  • Bersifat transparan. Jika Anda melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul tersebut.
  • Menghindari dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan baik hanya akan berinteraksi dengan bagian program melalui variable input dan output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi kemungkinan bug.
Kesimpulan :
Tujuan encapsulation adalah untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interfensi atau penyalahgunaan dari luar system dan sekaligus menyederhanakan system itu sendir
Information Hiding
Information Hiding adalah menyembunyikan attribute dan method suatu objek dari objek lain. Encapsulation adalah menyembunyikan atribute suatu objek dari objek lain. Attribute maupun method disembunyikan dengan cara memberikan modifier private.
Method dalam kelas yang sama, yang memberikan nilai pada attribute private disebut method setter, sedangkan method masih dalam kelas yang sama, yang mengambil nilai dari attribute private disebut getter.
Inheritance
Inheritance dalam java Salah satu bagian penting dalam object oriented programming adalah inheritance / pewarisan. Inheritance adalah proses pewarisan data dan method dari suatu class kepada class yang lain. Secara default inheritance bersifat menyeluruh sehingga semua data dan method diturunkan kepada class yang baru. Kelas yang mewariskan disebut dengan super class sedangkan class turunan disebut dengan sub class.

Keuntungan dari inheritance

• Bersifat reusable. Bayangkan bila anda perlu membuat beberapa class yang mempunyai sifat dasar dan basis class yang sama, dan pada masing masing class tersebut ditambahkan data dan method yang unique. Tanpa inheritance anda harus menyalin semua data dan method dari suatu class.
• Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama. Jika anda ingin melakukan modifikasi suatu data atau method pada semua sub class anda tidak perlu melakukan perubahan pada masing masing sub class. Modifikasi cukup dilakukan pada super class.
Dalam inheritance dikenal dengan istilah overriding. Overidding adalah kemampuan sub class untuk melakukan modifikasi data dan method dari super class. Sebelum anda melakukan overidding terhadap method atau data dari class induk, Harus memperhatikan aksesibelitas dari data dan method dari super class.[ overidding hanya bisa dilakukan untuk data dan method yang memiliki modifier default, public dan protected.]
Note.
  • Untuk melakukan inheritance digunakan keyword extends
  • Dalam java hanya mendukung single inheritance
  • data dengan modifier private tidak diwariskan ke sub class
  • constructor super class tidak diwariskan ke sub class
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.
Bentuk pewarisan :
[modifier] class namaSubKelas extend namaKelasSuper {
// classBody
}
Manfaat Pewarisan
Tanpa inheritance, maka semua attribute dan method yang pernah dibuat dan bituhkan 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.
Catatan :
Kalau method cetak() di kelas Employee dan kelas Manager ada, maka yang
dijalankan adalah method milik kelas Manager. Prioritasnya adalah kelas Manager
kemudian kelas Employee.
Polymorphism
Setelah inheritance, hal yang penting bagi object oriented programming adalah polymorphism. Secara leksikal polymorphism merupakan sesuatu yang mempunyai banyak bentuk. Dalam pemrograman polymorphism merupakan dapat diartikan suatu modul yang mempunyai nama sama, tapi memiliki behavior yang berbeda sehingga listing code implementasinya berbeda. Dan dalam bahasa yang lain adalah kemampuan dari reference untuk mengubah sifat sesuai dengan object yang dijadiin acuan. Polymorphism menyediakan menyediakan multiobject dari sub class yang berbeda diperlakukan sebagai object tunggal dari super class.
Latihan Praktikum :
public class SuperClass{
          public SuperClass() {
                   System.out.println("Ini konstruktor milik SuperClass");
          }       
          public void methodSuperClass() {
                   System.out.println("Ini method milik SuperClass");
          }
}
public class SubClass extends SuperClass {
          public SubClass() {
                   super();
          }
          public void methodSubClass() {
                   super.methodSuperClass();
          }
}
public class DemoInheritance{
          public static void main(String[] args) {
                   SubClass sc = new SubClass();
                   sc.methodSubClass();
}
}
Outputnya :
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);
          }
}
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());
          }
}
Outputnya adalah :
abstract class Karyawan {
          int gaji;
          Karyawan() {
                   gaji = 1000000;
          }
          int getGaji() {
                   return gaji;
          }
          abstract void naikGaji();
}
class Manager extends Karyawan {
          Manager() {
                   gaji += 2000000;
          }
          void naikGaji() { gaji+=3000000; }
}
class Receptionist extends Karyawan {
          Receptionist() {
                   gaji += 1000000;
          }
          void naikGaji() { gaji+=3000000; }
}
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());
          }
}
Outputnya adalah :