Minggu, 15 Desember 2013

MANAJEMEN LAYOUT


Dasar Teori

Pada Manjemen Layout terdapat 6 kelas untuk mengatur tata letak komponen pada frame. Namun kelas yang sering digunakan pada Manajemen Layout ada 4, antara lain yaitu:
Ø  Metode FlowLayout
Ø  Metode GridLayout
Ø  Metode BorderLayout
Ø  Metode NulLayout

 1. Metode FlowLayout
Metode FlowLayout menempatkan komponen di frame berdasarkan urutan komponen-komponen  yang ditempelkan ke frame. penyusunan di mulai dari kiri ke kanan dan dari atas kebawah. Dengan demikian urutan pemasukan komponen menjadi penting. Secara default  seluruh komponen yang ditambahkan dengan metode FlowLayout akan ditampilkan dengan rata tengah, namun metode FlowLayout memiliki konstanta LEFT, CENTER, dan RIGHT untuk mengatur perataan komponen yang diinginkan.
}  Contoh FlowLayout
                import java.awt.*;
import javax.swing.*;

class FLayout extends JFrame {
JButton tombol1, tombol2, tombol3,tombol4;

public FLayout() {
setTitle("FLOWLAYOUT");                                                     
tombol1 = new JButton("1");                                                    
tombol2 = new JButton("2");
tombol3 = new JButton("3");
tombol4 = new JButton("4");

setLayout(new FlowLayout());
add(tombol1);
add(tombol2);
add(tombol3);
add(tombol4);

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

public class CobaFlowLayout {
public static void main (String[] args) {
FLayout f=new FLayout();
 }
}
2. Metode GridLayout
        Metode GridLayout akan membagi area layar menjadi sejumlah tempat dalam bentuk  matriks ukuran yang sama. Area layar dibagi dalam format baris dan kolom. setiap kali terjadi perubahan ukuran frame, ukuran setiap komponen juga akan berubah. Pada prinsipnya yang dipertahankan adlah jumlah baris dan kolom yang telah ditentukan.
contoh GridLayout

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

class GLayout extends JFrame {
JButton tombol8, tombol9, tombol10,tombol11;

public GLayout() {
setTitle("GRIDLAYOUT");
tombol8 = new JButton("8");
tombol9 = new JButton("9");
tombol10 = new JButton("10");
tombol11 = new JButton("11");

setLayout(new GridLayout(2,2));
add(tombol8);
add(tombol9);
add(tombol10);
add(tombol11);

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

public class CobaGridLayout {
public static void main (String[]args) {
GLayout g=new GLayout();
 }
}
3. Metode BorderLayout     
      Metode BorderLayout menggunakan konsep arah mata angin dalam memasang komponen. Class  BorderLayout menyediakan lima konstanta yang menyatakan arah mata angin, yaitu NORTH, EAST,SOUTH,WEST, Dan CENTER. Metode BorderLayout tidak memperhatikan urutan pemasangan komponen.
contoh BorderLayout

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

class BLayout extends JFrame {
 JButton tombolSave, tombolEdit, tombolDelete, tombolOpen;
 JLabel labelGambar;
 public BLayout() {
  setTitle("Border 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');
//Letakkan File gambar dan file java pada satu folder yang sama.
  labelGambar = new JLabel(new ImageIcon("Image/air.jpg"));
  setLayout(new BorderLayout());
  add(tombolOpen, "North");
  add(tombolSave, "West");
  add(labelGambar, "Center");
  add(tombolEdit, "East");
  add(tombolDelete, "South");
  setSize(400,300);
  setVisible(true);
  setDefaultCloseOperation (EXIT_ON_CLOSE);
 }
}
public class cobaBorderLayout {
 public static void main (String [] args) {
  BLayout b = new BLayout();
 }
}4. Metode NulLayout
       Metode NoneLayout tidak cukup fleksibel digunakan. Oleh karena itu harus mengatur lokasi tiap objek titik demi titik. tiap objeknya ditentukan oleh koordinat di dlam window. jika dilihat dari hal kerapian dan kebebasan mengatur tampilan sendiri, layout ini menempati peringkat teratas dari semua alternatif layout.
contoh NulLayout

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(50,20,100,20);
  tombolSave.setBounds(150,20,100,20);
  tombolEdit.setBounds(50,50,100,20);
  tombolDelete.setBounds(150,50,100,20);

  setSize(330,130);
  setVisible(true);
  setDefaultCloseOperation(EXIT_ON_CLOSE);
 }
}

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


JAVA GUI

A.      Pengertian GUI Pada JAVA
Graphic User Interface (GUI) adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan beberapa 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.
Kalau dilihat pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.

B.       Jenis-Jenis Gui
Diantara jenis-jenis gui di java adalah:
   a)   AWT (Abstract Window Toolkit)
AWT (Abstract Window Toolkit) adalah GUI Toolkit pertama pada bahasa pemrograman Java, sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada ) Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi Windows. Maka aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk menggambar setiap komponen-nya ke layar.

    b)  SWT (Standart Widget Tookit)
SWT (Standart Widget Toolkit) adalah sebuah GUI Toolkit yang dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN Microsystem. SWT terdapat pada package java.swt. package java.swt berisis komponen-komponen GUI yang bersifat platform sistem operasi.
Tampilan dari java.swt menyesuaikan dengan sistem operasi sehingga mengakibatkan dependensi sistem. Namun performa dari SWT ini sama dengan swing. Yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI (Java Native Interface).
    c)  SWING
Java Swing adalah librari java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan. SWING, adalah salah satu bagian dari Java Foundation Classes (JFC). Pada JFC ini juga terdapat fasilitas untuk menambahkan Rich Graphic Functionality.

LANGKAH-LANGKAH PRAKTIKUM

cthAWT1.java
import java.awt.*;
public class cthAWT1 {
public static void main(String[] args) {
                Frame myFrame = new Frame("Contoh program AWT");
                Label myLabel = new Label("Selamat belajar JAVA");
                myFrame.add(myLabel);
                myFrame.setSize(200,150);
                myFrame.show();
                }
}
CthAWT2.java
import java.awt.*;
class frameTurunan extends Frame {
                Label myLabel = new Label ("Selamat Belajar JAVA!");
                public frameTurunan(String judul) {
                                setTitle (judul);
                                setSize(200,200);
                                add(myLabel);
                                show();
                }
}

public class chtAWT2 {
                public static void main(String[] args) {
                frameTurunan f = new frameTurunan("Ini FrameTurunan");
                }
}

CthSWING1.java
import javax.swing.*;
public class cthSwing1 {
                public static void main(String[] args) {
                                JFrame myFrame= new JFrame("Contoh program Swing");
                                Jlabel myLabel= new JLabel("Selamat belajar JAVA");
                                myFrame.add(myLabel);
                                myFrame.setSize(200,150);
                                myFrame.setVisible(true);
                myFrame.SetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                }
}

cthSWING2.java
import javax.swing.*;
class frameTurunan extend JFrame {
JLabel myLabel= new JLabel("Selamat Belajar JAVA!");
public frameTurunan(String judul) {
                setTitle(judul);
                setSize(200,200);
                add(myLabel);
                setVisible(true);
}
}

public class cthSwing2 {
public static void main(String[] args) {
                frameTurunan f = new frameTurunan("Ini FrameTurunan");
                }
}

Senin, 09 Desember 2013

PACKAGE DAN JAVA KELAS



1.    PACKAGE
Pengertian package
Package adalah sebuah sarana untuk mengelompokan atau  mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library. Secara fisik, package dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan. Package mempengaruhi mekanisme hak akses ke kelas didalamnya.
Ketentuan
·         1 package adalah 1 subfolder di file system
·         Package sangat berguna untuk mengorganisir file dalam suatu Project atau library
·         Nama package menggunakan lowercase
·         Keyword: package name;

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
Kelas Dalam Java

Class adalah struktur dasar OOP yang terdiri dari atribut/field/property method. Kelas merupakan salah satu konsep fundamental pemrograman ber-orientasi objek. Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
Ó 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()

Ó Kelas Math
Math adalah kelas yang terdapat pada paket java.lang yang berguna untuk melakukan berbagai operasi matematika. Kelas Math memiliki banyak fungsi statik. Beberapa yang penting di antaranya:
  • Math.abs(x), menghitung nilai mutlak (absolut) dari x. Nilai mutlak bilangan negatif adalah bilangan positif, dan bilangan positif tetap bilangan positif.
  • Fungsi trigonometri Math.sin(x), Math.cos(x), and Math.tan(x). (Untuk semua fungsi trigonometri, sudut memiliki satuan radian, bukan derajat)
  • Fungsi trigonometri inverse, yang mencari sudut dari suatu nilai trigonometric, kebalikan dari fungsi trigonometri, seperti arcus sin, arcus cos, dan arcus tangen. Math.asin(x), Math.acos(x), and Math.atan(x).
  • Math.exp(x), menghitung pangkat dari bilangan natural e, atau ex. Dan logaritma natural loge x atau ln x bisa dihitung dengan menggunakan fungsi Math.log(x).
  • Math.pow(x,y) menghitung xy atau x pangkat y
  • Math.floor(x) menghitung pembulatan ke bawah dari suatu bilangan riil, misalnya 3.84 akan dibulatkan ke bawah menjadi 3.0
  • Math.random() memilih bilangan acak di antara 0.0 dan 1.0. Komputer memiliki algoritma perhitungan tertentu yang hasilnya bilangan acak (meskipun bulan bilangan yang betul-betul acak, tetapi cukup untuk kebanyakan fungsi)





LANGKAH-LANGKAH PRAKTIKUM

A. 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;
                        }
            }
B.  Tumbuhan.java
//file Tumbuhan harus beada dalam folder makhlukhidup
package makhlukhidup;
public class Tumbuhan{
            public String nama="";
            public Tumbuhan (String nama){
                        this.nama=nama;
            }
}

C. 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);
            }
}

D. 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 :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNBOMTeqD09Kxala-e4th-cNMG3yE1AWlOUqrzjNOOvUfIf1mVg8SdT2neM7sO-iBH0a4-yQbHkvuSYkmiYDz_aXO1yCJ_p981LvXZQ0gsc70N1cka931qZz8IFKOac6rhAHjswgnfWvg/s400/1.png


E.  MainMakhlukHidupPakeImport.java
//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");
}
}

F.  ContohString.java
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 :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8Zj4DIkd3dkwuw_1BPzSDqw6Ea0xeONPrY8QEXFnGPL8_7p140EypMXVePwHgin06IY195HuSFtMINvdgocD1Cf9iJ7L92-uUCnl7URVOcV5aTlieV_ZCiYGV-relQycWShCqNiqCQHc/s400/2.png


G. OpMatematika.java
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 :

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgLxquOy78EKVmPJC8Dk7U7dYT0e6JoFW9nkxyerEF60QPN9yRiDx1nHADjsLTlj1fMx7mrDm8WG7HFKgk2Hi7_ZLZKXXLC06H91wj2mhXsouTldezEl3uEEJLzBw4_slDY1CskwF6bp0/s400/3.png