MODUL VIII,PBO 1

PACKAGE DI DALAM JAVA
 

TUJUAN:
Membuat Program untuk mengakses Package yang sudah tersedia di dalam Java
TEORI SINGKAT:
Java adalah pemograman dengan pola banyak kelas. Kelas-kelas tersebut dikelompokkan dalam katagori tertentu yang berhubungan dengan packages (paket).
Struktur Package;
Hierasky penggunaan package adalah:
Object
                            Component
                                                                Cotainer
                                                                                                JCOmponet
PELAKSANAAN PRAKTIKUM:
Buat Listing program
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LabelTest extends JFrame{
     private JLabel label;
     LabelTest(){
       super(“Mencoba JLabel”);
       Container container=getContentPane();
       container.setLayout(new FlowLayout());
       label=new JLabel(“Label dengan text”);
       label.setToolTipText(“Ini adalah label1”);
       container.add(label);
       setSize(500,400);
       setVisible(true);
     }
     public static void main(String args[]){
       LabelTest aplikasi=new LabelTest();
       aplikasi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
}
PEMBAHASAN:
Pada listing program di atas kita akan menggunakan paket yang tersedia pada java tetapi kita harus melakukan import. Paket dan kelas yang diimpor adalah java.awt. Di dalam direktori java.awt masih banyak terdapat kelas lain yang dapat dimanfaatkan. Oleh karena itu kita dapat cukup menuliskannya dengan tanda * yang artinya seluruh kelas diimport tanpa terkecuali. Pada baris ke dua import java.awt.event sebenarnya cukup dengan import pada baris 1 saja event dan kelas lainnya juga sudah include di dalamnya. Deklarasi variabel yang diciptakan hanya satu yaitu label dengan type Jlabel dengan jenis entity adalah private yang hanya dapat dipakai dalam kelas ini.
Jframe adalah super kelas yang direferensi agar dapat membuat frame sebagai wadah untuk menampung tampilan GUI lainnya dapat berupa form, table, button control, check box, add list dan lain sebagainya. Apabila kita tidak mengextend pada JFrame kita tidak akan dapat memanggil frame. Sedangkan paket untuk mengatur kedudukan dan posisi fasilitas GUI tadi kita menggunakan setLayout yaitu paket yang digunakan untuk menata letaknya. Kelas setToolTip berfungsi untuk menampilkan event ketika mouse over di atas tampilan tersebut sehingga akan keluar keterangan.
Secara definisi dapat kita sebutkan bahwa container merupakan super klas dari Jframe, (kotak frame itu adalah container). Di dalam mengatur lebar dan tinggi frame kita dapat menggunakan setSize. Sebagaimana fungsi public static void main setVisible(true) digunakan untuk menampilkan  dan jika tidak ingin dapat memberikan false pada parameter true dui atas. Agar frame atau jendela dapat ditutup ketika sudah tidak kita perlukan, maka dapat memberikan statemen setDefaultCloseOperation artinya memerintahkan agar frame dapat ditutup/close ketika dipencet icon close.
Hasil Tampilan:
Membuat list program ke dua:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TextFieldTest extends JFrame{
     private JTextField textField;
     private JPasswordField passwordField;
     public TextFieldTest(){
       super(“Test JTextField dan JPasswordField”);
       Container container=getContentPane();
       container.setLayout(new FlowLayout());
       textField=new JTextField(30);
       container.add(textField);
       passwordField=new JPasswordField(“Text Sembunyi”);
       container.add(passwordField);
       TextFieldHandler handler=new TextFieldHandler();
       textField.addActionListener(handler);
       passwordField.addActionListener(handler);
       setSize(400,100);
       setVisible(true);
     }
     public static void main(String args[]){
       TextFieldTest aplikasi=new TextFieldTest();
       aplikasi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
     private class TextFieldHandler implements ActionListener{
       public void actionPerformed(ActionEvent event)
       {
            String string=””;
            if(event.getSource()==textField)
                  string=”textField : “+ event.getActionCommand();
                  else if (event.getSource()==passwordField){
                        string=”PasswordField “+new String(passwordField.getPassword());
                  }
                  JOptionPane.showMessageDialog(null, string);
            }
       }
     }
PEMBAHASAN:
Sebagaimana pada penulisan program praktek kita harus mengimport java.awt juga karena listing ini terkait sekali dengan menampilkan GUI. Listing ini akan menampilkan text input yang sering disebut dengan textField dan text yang tersembunyi passwordField
     public class TextFieldTest extends JFrame{
Sebagaimana di atas listring ii adalah cara membuat kelas yang bersifat publik dengan mengacu pada super kelas JFrame, karena program ini akan banyak menampilkan user graphic.
     private JTextField textField;
     private JPasswordField passwordField;
Beberapa variabel harus dideklarasikan yaitu textField dengan jenis JtextField dan variabel passwordField dengan nama JpasswordField yang juga bersifat public.
     public TextFieldTest(){
Statemen ini berfungsi membentuk method non parametrik berfungsi untuk membuat frame dengan bentuk-bentuk sebagai berikut:
       super(“Test JTextField dan JPasswordField”);
Scripts super ini digunakan untuk menampilkan label pada top frame, sehingga jika dieksekusi bagian top bar frame akan bertuliskan Test JtextField dan JpasswordField sebagaimana ditampilkan di bagian bawah pembahasan ini.
       Container container=getContentPane();
       container.setLayout(new FlowLayout());
Tulisan diatas berfungsi untuk membentuk object container yang diperoleh dari java.awt pada getContentPane() yang kemudian digunakan untuk menata tampilan kotak tempat memasukkan textField. Adapun besarnya textAdd dengan cara sebagaimana di bawah ini. Kotak tersebut berdimensi 30 karakter panjang. Namun panjangnya isi textField tidak terbatas, atau mungkin maksimal 256 karakter. Yang kemudian apabila kita menuliskan pada kotak tersebut akan disimpan pada textField dengan cara memanggil method container dengan kelas add sebagaimana di program di bawah ini.
       textField=new JTextField(30);
       container.add(textField);
Sehingga statemen ini berfungsi untuk mendefinisikan agar variabel textField yang sudah dideklarasikan pada awal program agar dapat dimasuki sebuah nilai String/text yang diperoleh dari pengetikan / input keyboard dengan nilai default kosong. Pada tampilan kotak text tersebut sebenarnya dapat kita isi dengan tulisan default misal:
textField=new JTextField(“Tuliskan Nama Saudara Lengkap dengan Gelar dan nama orang tua”);
Maka tampilan box akan menjadi
       passwordField=new JPasswordField(“Text Sembunyi”);
       container.add(passwordField);
passwordField di atas fungsinya sama dengan textField hanya saja java sudah memformat agar ketika kelas ini digunakan maka tampilan karakter dalam bentuk kode sehingga tidak dapat atau setidaknya tidak mudah untuk dibaca oleh orang lain. Sebaliknya pada JpasswordField di atas parameter dapat diganti dengan bilangan numerik yang mempunyai arti nominal lebar kota / space karakter field baik text maupun password. Dan kemudian penulisan isi variabel password akan ditampung  pada passwordField sebagaimana pada textField juga.
       TextFieldHandler handler=new TextFieldHandler();
       textField.addActionListener(handler);
       passwordField.addActionListener(handler);
Sedangkan action berupa handler diatur pada 3 baris script di atas. Kelas TextFieldHandler akan membentuk object handler yang kemudian dimanfaatkan untuk memanggil salah satu dari yang diisikan dapat pada textField maupun passwordField. Untuk selanjutnya akan ditampilkan pada Message apa yang ditulis pada textField atau passwordField.
Method terakhir yang dituliskan adalah memformat semua tampilan tadi dalam frame dengan pengaturan ukuran setSize(lebar, tinggi). Dan indikator true pada setVisible adalah untuk menampilkan hasil pemformatan tampilan.
       setSize(400,100);
       setVisible(true);      }
Dan disilah kelebihan java, dimana apabila kita memberikan dua pilihan sebagaimana di atas maka hanya salah satu yang akan ditampilkan, dan tidak kedua-duanya tanpa kita harus mendeklarasikan pilihan baik dengan case, if ataupun while. Dengan memberikan kelas pada paket tertentu, kita tidak perlu lagi membuat dari awal suatu password. Cukup dengan memanggil kelas tersebut yang kita ketahui dalam paket apa saja, kita sudah siap menggunakan. Dengan modifikasi tentunya password maupun input text ini sudah seperti membuat dari awal.
Hasil Tampilan:
Coba Perhatikan perbedaan dengan tampilan yang di atas:
Pada saat menuliskan pada Form Kosong:
Pada saat menuliskan pada pada Panel passwordField:
LATIHAN:
package Programpbo1mi;
import java.io.*;
public class InputFromKeyBoard{
     public static void main(String[]args){
       BufferedReader dataIn=new BufferedReader(new InputStreamReader(System.in));
       String name=””;
       System.out.print(“Please Enter Your Name : “);
       try{
            name=dataIn.readLine();
            }
       catch(IOException e){
            System.out.println(“Error!”);
            }
     System.out.println(“Hello “+name+” !”);
     }
      }
Pembahasan:
Script program ini dilengkapi dengan importer paket java.id yang mengandung method antara lain BufferedReader dan InpurStreamReader yang fungsinya sama dengan kelas Scanner. Justru terlihat lebih rumit dan tidak rekomendet untuk digunakan. Apabila kita bandingkan sewaktu menggunakan kelas Scanner kita hanya memerukan beberapa baris program saja.
package Programpbo1mi;
import java.util.Scanner;
public class InputFromKeyBoard{
     public static void main(String[]args){
       Scanner dataIn=new Scanner(System.in);
       String name=””;
       System.out.print(“Please Enter Your Name : “);
       name=dataIn.nextLine()
     System.out.println(“Hello “+name+” !”);
     }
      }
Hasil Tampilan:
TUGAS:
Membuat program dengan mengambil paket Scanner dan vector:
import java.util.Scanner;
public class MasukPakaiScanner{
     public static void main(String []args){
       Scanner masuk=new Scanner(System.in);
       System.out.print(“Masukkan Nama : “);
       String Nama=masuk.nextLine();
       System.out.println(Nama);
     }
}
Running Program:
Program Vector meliputi pembuatan garis, rectangguler, dan rounddraw
import java.awt.*;
import javax.swing.*;
public class MenggambarVector extends JFrame {
public MenggambarVector() {
     super(“Menggambar kotak lengkung”);
     setSize(400,200);
     setVisible (true);
     }
public void paint (Graphics g) {
super.paint(g);
g.setColor(Color.RED);
g.drawLine(100, 100, 100, 150); //(x,y, Membuat garis)
g.drawRoundRect(5, 40, 90, 55, 50, 50); //(x,y, width,height,arcWidth,arcHeight)
g.fillRoundRect(100, 40, 90, 55, 20, 20); //(x,y, width,height,arcWidth,arcHeight)
}
 public static void main (String args[]) {
 MenggambarVector test = new MenggambarVector();
 test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}
Hasil Program:
Grafik Vektor Java 2 Dimensi yang tepatnya terdapat pada Class Graphics2D yang berada didalam java.awt.* menyediakan banyak fitur untuk bekerja dengan grafik vektor 2D, yang memungkinkan pengguna untuk menggambar bentuk persegi panjang, poligon dan bentuk-bentuk lain dengan mudah. Class-Class yang ada didalam Graphics2D tidak hanya menggambar saja tetapi juga dapat menggeser, merotasi, dan menskala bentuk.
KESIMPULAN:
  1. Java merupakan program yang cukup lengkap dengan dilengkapi paket-paket program yang siap digunakan sesuai dengan keinginan programer. Dengan adanya paket-paket program tersebut seorang programer tidak perlu banyak melakukan penulisan cukup dengan mengimport paket dan memanggil kelas atau method yang diperlukan. Tentu saja dapat dikatakan bahwa java termasuk programe language yang efektif dan efisien
  2. Dengan adanya pemrograman berbasis GUI, maka tampilan dalam program java tidak lagi menjadi masalah. User Interface yang dimampu disajikan tentu saja akan lebih menarik dan lebih mudah berkomunikasi dengan pengguna (user frienly).
  3. Yang diperlukan disini adalah kita harus mempunyai daftar list paket-paket yang dimiliki oleh java. Karena tanpa daftar mungkin untuk mengingatnya kita agak kesulitan, terkecuali jam terbang dalam menggunakan java sangat tinggi. Bisa jadi sebagian besar paket-paket dalam java akan diingatnya. Satu hal yang cukup penting juga adalah tool/paket yang disediakan oleh java cukup beragam namun efisiensi dan efektifitas dalam menggunakan paket-paket tersebut harus baik. Artinya bisa jadi problem pemrograman dalam diselesaikan dengan dua macam paket, namun yang paling efektif yang mana itu harus diperhatikan.
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s