MODUL VIII,PBO 1

PACKAGE DI DALAM JAVA
 

TUJUAN:
Membuat Program untuk mengakses Package yangsudah tersedia di dalam Java
TEORI SINGKAT:
Java adalah pemograman dengan pola banyakkelas. Kelas-kelas tersebut dikelompokkan dalam katagori tertentu yangberhubungan dengan packages (paket).
Struktur Package;
Hierasky penggunaan package adalah:
Object
                            Component
                                                                Cotainer
                                                                                                JCOmponet
PELAKSANAAN PRAKTIKUM:
Buat Listing program
import java.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
public classLabelTest extends JFrame{
     private JLabel label;
     LabelTest(){
       super(“Mencoba JLabel”);
       Container container=getContentPane();
       container.setLayout(new FlowLayout());
       label=new JLabel(“Label dengantext”);
       label.setToolTipText(“Ini adalahlabel1”);
       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 akanmenggunakan paket yang tersedia pada java tetapi kita harus melakukan import.Paket dan kelas yang diimpor adalah java.awt. Di dalam direktori java.awt masihbanyak terdapat kelas lain yang dapat dimanfaatkan. Oleh karena itu kita dapatcukup menuliskannya dengan tanda * yang artinya seluruh kelas diimport tanpaterkecuali. Pada baris ke dua import java.awt.event sebenarnya cukup denganimport pada baris 1 saja event dan kelas lainnya juga sudah include didalamnya. Deklarasi variabel yang diciptakan hanya satu yaitu label dengan typeJlabel dengan jenis entity adalah private yang hanya dapat dipakai dalam kelasini.
Jframe adalah super kelas yang direferensiagar dapat membuat frame sebagai wadah untuk menampung tampilan GUI lainnyadapat berupa form, table, button control, check box, add list dan lainsebagainya. Apabila kita tidak mengextend pada JFrame kita tidak akan dapat memanggilframe. Sedangkan paket untuk mengatur kedudukan dan posisi fasilitas GUI tadikita menggunakan setLayout yaitu paket yang digunakan untuk menata letaknya. KelassetToolTip berfungsi untuk menampilkan event ketika mouse over di atas tampilantersebut sehingga akan keluar keterangan.
Secara definisi dapat kita sebutkan bahwacontainer 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 untukmenampilkan  dan jika tidak ingin dapatmemberikan false pada parameter true dui atas. Agar frame atau jendela dapatditutup ketika sudah tidak kita perlukan, maka dapat memberikan statemen setDefaultCloseOperationartinya memerintahkan agar frame dapat ditutup/close ketika dipencet iconclose.
Hasil Tampilan:
Membuat list program ke dua:
import java.awt.*;
importjava.awt.event.*;
import javax.swing.*;
public classTextFieldTest extends JFrame{
     private JTextField textField;
     private JPasswordField passwordField;
     public TextFieldTest(){
       super(“Test JTextField danJPasswordField”);
       Container container=getContentPane();
       container.setLayout(new FlowLayout());
       textField=new JTextField(30);
       container.add(textField);
       passwordField=newJPasswordField(“Text Sembunyi”);
       container.add(passwordField);
       TextFieldHandler handler=newTextFieldHandler();
       textField.addActionListener(handler);
       passwordField.addActionListener(handler);
       setSize(400,100);
       setVisible(true);
     }
     public static void main(String args[]){
       TextFieldTest aplikasi=newTextFieldTest();
       aplikasi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
     private class TextFieldHandler implementsActionListener{
       public void actionPerformed(ActionEventevent)
       {
            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 padapenulisan program praktek kita harus mengimport java.awt juga karena listingini terkait sekali dengan menampilkan GUI. Listing ini akan menampilkan textinput yang sering disebut dengan textField dan text yang tersembunyipasswordField
     public class TextFieldTest extends JFrame{
Sebagaimana di ataslistring ii adalah cara membuat kelas yang bersifat publik dengan mengacu padasuper kelas JFrame, karena program ini akan banyak menampilkan user graphic.
     private JTextField textField;
     private JPasswordField passwordField;
Beberapa variabelharus dideklarasikan yaitu textField dengan jenis JtextField dan variabelpasswordField dengan nama JpasswordField yang juga bersifat public.
     public TextFieldTest(){
Statemen iniberfungsi membentuk method non parametrik berfungsi untuk membuat frame dengan bentuk-bentuksebagai berikut:
       super(“Test JTextField danJPasswordField”);
Scripts super inidigunakan untuk menampilkan label pada top frame, sehingga jika dieksekusibagian top bar frame akan bertuliskan Test JtextField dan JpasswordFieldsebagaimana ditampilkan di bagian bawah pembahasan ini.
       Container container=getContentPane();
       container.setLayout(new FlowLayout());
Tulisan diatasberfungsi untuk membentuk object container yang diperoleh dari java.awt padagetContentPane() yang kemudian digunakan untuk menata tampilan kotak tempatmemasukkan textField. Adapun besarnya textAdd dengan cara sebagaimana di bawahini. Kotak tersebut berdimensi 30 karakter panjang. Namun panjangnya isitextField tidak terbatas, atau mungkin maksimal 256 karakter. Yang kemudianapabila kita menuliskan pada kotak tersebut akan disimpan pada textField dengancara memanggil method container dengan kelas add sebagaimana di program dibawah ini.
       textField=new JTextField(30);
       container.add(textField);
Sehingga statemen iniberfungsi untuk mendefinisikan agar variabel textField yang sudahdideklarasikan pada awal program agar dapat dimasuki sebuah nilai String/textyang diperoleh dari pengetikan / input keyboard dengan nilai default kosong. Padatampilan kotak text tersebut sebenarnya dapat kita isi dengan tulisan defaultmisal:
textField=newJTextField(“Tuliskan Nama Saudara Lengkap dengan Gelar dan nama orangtua”);
Maka tampilan boxakan menjadi
       passwordField=newJPasswordField(“Text Sembunyi”);
       container.add(passwordField);
passwordField di atasfungsinya sama dengan textField hanya saja java sudah memformat agar ketikakelas ini digunakan maka tampilan karakter dalam bentuk kode sehingga tidakdapat atau setidaknya tidak mudah untuk dibaca oleh orang lain. Sebaliknya padaJpasswordField di atas parameter dapat diganti dengan bilangan numerik yangmempunyai arti nominal lebar kota / space karakter field baik text maupunpassword. Dan kemudian penulisan isi variabel password akan ditampung  pada passwordField sebagaimana pada textFieldjuga.
       TextFieldHandler handler=newTextFieldHandler();
       textField.addActionListener(handler);
       passwordField.addActionListener(handler);
Sedangkan actionberupa handler diatur pada 3 baris script di atas. Kelas TextFieldHandler akanmembentuk object handler yang kemudian dimanfaatkan untuk memanggil salah satudari yang diisikan dapat pada textField maupun passwordField. Untuk selanjutnyaakan ditampilkan pada Message apa yang ditulis pada textField ataupasswordField.
Method terakhir yangdituliskan adalah memformat semua tampilan tadi dalam frame dengan pengaturanukuran setSize(lebar, tinggi). Dan indikator true pada setVisible adalah untukmenampilkan hasil pemformatan tampilan.
       setSize(400,100);
       setVisible(true);      }
Dan disilah kelebihanjava, dimana apabila kita memberikan dua pilihan sebagaimana di atas maka hanyasalah satu yang akan ditampilkan, dan tidak kedua-duanya tanpa kita harusmendeklarasikan pilihan baik dengan case, if ataupun while. Dengan memberikankelas pada paket tertentu, kita tidak perlu lagi membuat dari awal suatupassword. Cukup dengan memanggil kelas tersebut yang kita ketahui dalam paketapa saja, kita sudah siap menggunakan. Dengan modifikasi tentunya passwordmaupun input text ini sudah seperti membuat dari awal.
Hasil Tampilan:
Coba Perhatikanperbedaan dengan tampilan yang di atas:
Pada saat menuliskanpada Form Kosong:
Pada saat menuliskanpada pada Panel passwordField:
LATIHAN:
package Programpbo1mi;
import java.io.*;
public classInputFromKeyBoard{
     public static void main(String[]args){
       BufferedReader dataIn=newBufferedReader(new InputStreamReader(System.in));
       String name=””;
       System.out.print(“Please Enter YourName : “);
       try{
            name=dataIn.readLine();
            }
       catch(IOException e){
            System.out.println(“Error!”);
            }
     System.out.println(“Hello”+name+” !”);
     }
      }
Pembahasan:
Script program ini dilengkapi denganimporter paket java.id yang mengandung method antara lain BufferedReader danInpurStreamReader yang fungsinya sama dengan kelas Scanner. Justru terlihatlebih rumit dan tidak rekomendet untuk digunakan. Apabila kita bandingkansewaktu menggunakan kelas Scanner kita hanya memerukan beberapa baris programsaja.
package Programpbo1mi;
import java.util.Scanner;
public classInputFromKeyBoard{
     public static void main(String[]args){
       Scanner dataIn=new Scanner(System.in);
       String name=””;
       System.out.print(“Please Enter YourName : “);
       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=newScanner(System.in);
       System.out.print(“MasukkanNama : “);
       String Nama=masuk.nextLine();
       System.out.println(Nama);
     }
}
Running Program:
ProgramVector meliputi pembuatan garis, rectangguler, dan rounddraw
import java.awt.*;
import javax.swing.*;
public class MenggambarVector extendsJFrame {
public MenggambarVector() {
     super(“Menggambarkotak 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 = newMenggambarVector();
 test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
}
HasilProgram:
Grafik Vektor Java 2 Dimensi yang tepatnya terdapat pada ClassGraphics2D yang berada didalam java.awt.* menyediakan banyak fitur untukbekerja dengan grafik vektor 2D, yang memungkinkan pengguna untuk menggambarbentuk persegi panjang, poligon dan bentuk-bentuk lain dengan mudah. Class-Class yang ada didalam Graphics2D tidak hanyamenggambar 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