Minggu, 04 Desember 2011

Tugas Besar 2 Pemograman Visual (semester3).

KAJIAN 1 .

Pengenalan GUI dan CUI
Graphical User Interface (GUI) merupakan salah satu model interaksi antara manusia dan komputer. Selain GUI, ada juga model yang lain seperti Character User Interface (CUI) yang sering kita kenal dengan command line. Dari sisi kenyamanan (attitude), kedua model ini memiliki ‘penganut’nya masing-masing. Penganut CUI biasanya adalah administrator sistem berbasis sistem operasi LINUX. Bagi mereka, CUI dirasakan lebih nyaman dibandingkan dengan GUI, bahkan setelah GUI pada LINUX berkembang dengan pesat, mereka tetap bertahan untuk menggunakan CUI. Penganut GUI biasanya adalah mereka yang sudah terbiasa dengan sistem operasi Windows. Bagi mereka, GUI adalah harga mati yang tidak bisa ditawar lagi.
Program GUI merupakan program yang berjalan di atas Graphical User Interface atau dengan kata lain merupakan  program yang di buat dengan bahasa pemrograman.

Untuk membuat program GUI, anda dapat menggunakan  bahasa pemrograman visual seperti Visual Studio.Net dan Delphi di Windows atau KDevelop plus QT Designer di Linux. 
Bahasa pemrograman Web seperti HTML juga termasuk kelas pemrograman GUI karena pada umumnya di buka menggunakan browser berbasis GUI, walaupun bisa di buat memakai browser teks semacam Lynx.
Sementara itu, program CUI adalah program yang berjalan dengan mode tampilan konsol. CUI program yang akan anda buat kebanyakan disusun oleh tampilan teks (walaupun anda dapat membuat efek sehingga terlihat tampilan seperti visual). Untuk membuat program CUI, anda dapat menggunakan bahasa pemrograman berbasis konsol seperti Pascal, C , Perl, Phyton, dan lainnya.
SWING DAN AWT
Di dalam java terdapat dua paket yang dapat kita gunakan untuk pengembangan program-program GUI. GUI adalah graphical user interface, dalam dunia nyata sebagian programnya berbentuk visual bukan console.
Dua paket GUI tersebut adalah SWING dan AWT. AWT(Abstract Window Toolkit) merupakan sekulmpulan library yang tidak tergantung pada platfromserta digunakan untuk menyederhanakan implementasi user-interface, sedangkan Swing merupakan salah satu cara untuk menginplementasikan pemrograman window pada java,
beda swing dengan awt adalah, bentuk komponen komponen dari kelas swing sama bentuknya pada semua sistem operasi.
AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi
Java dan applet. Anda akan mempelajari applet pada bab berikutnya. 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. Kesimpulannya, komponen AWT
dapat digunakan dengan komponen Swing.


ECLIPSE DAN NETBEANS


Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
  • Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
  • Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
  • Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini.
NETBEANS .
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah!). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama.
Saat ini terdapat dua produk : NetBeans IDE dan NetBeans Platform.
NetBeans selama ini dikenal sebagai IDE (Integrated Development Environment) untuk bahasa pemrograman Java. Tapi ternyata pada perkembangan nya NetBeans juga dapat digunakan untuk bahasa pemrograman lainnya. Bahasa pemrograman yang dapat digunakan pada NetBeans selain Java antara lain C, C++, Phyton, PHP, Ruby, Javascript dan masih banyak lagi lainnya. Untuk PHP, sejak versi 6.5 NetBeans sudah mendukung bahasa pemrograman PHP. Dibandingkan dengan editor PHP lainnya NetBeans memiliki kelebihan antara lain NetBeans adalah software open source jadi anda tidak perlu khawatir soal lisensi. NetBeans ini berlisensi GPL dan CDDL.

KAJIAN 2
KOMPONEN SWING

1. JDialog: Turunan dan korespondensi pada dialog class dalam package AWT. Biasanya
digunakan untuk menginformasikan sesuatu kepada pengguna atau prompt
pengguna untuk input.
2. JPanel: Turunan Jcomponent. Kontainer class sederhana tetapi bukan top-level.
Korespondensi pada panel class dalam package AWT.
3.  Container : Abstract Subclass dari Component Class. Sebuah komponen yang dapat
menampung komponen yang lainnya.

KAJIAN 3
Posisi dan ukuran suatu komponen ditentukan oleh layout manager. Layout manager mengatur tampilan dari komponen di dalam kontainer. Berikut ini beberapa layout manager yang terdapat di dalam Java.
1.FlowLayout
2.BorderLayout
3.GridLayout
4.GridBagLayout
5.CardLayout
Layout manager dapat diatur menggunakan metode setLayout dari Container class. Metode ini
dapat ditulis sebagai berikut.
void setLayout(LayoutManager mgr) 
Jika Anda memilih untuk tidak menggunakan layout manager, Anda dapat mengisi null sebagai
argumen untuk metode ini. Tetapi selanjutnya, Anda akan mengatur posisi elemen secara
manual dengan menggunakan metode setBounds dari Components class.
public void setBounds(int x, int y, int width, int height)
Metode ini mengatur posisi berdasarkan pada argumen x dan y, dan ukuran berdasarkan
argumen width dan height. Hal ini akan cukup menyulitkan dan membosankan untuk aplikasi
jika Anda memiliki beberapa objek komponen didalam objek kontainer. Anda akan memanggil
metode ini untuk setiap komponen.
1. Flow Layout Manager 
FlowLayout Manager adalah default manager untuk Panel class dan subkelasnya, termasuk
applet class. Cara meletakkan komponen dari FlowLayout Manager dimulai dari kiri ke kanan
dan dari atas ke bawah, dimulai dari pojok kiri atas. Seperti pada saat Anda mengetik
menggunakan editor kata pada umumnya. 
2. Border Layout Manager
BorderLayout membagi kontainer menjadi lima bagian diantaranya utara, selatan, timur,
barat, dan tengah. Setiap komponen dimasukkan ke dalam region yang spesifik. Region utara
dan selatan membentuk jalur horizontal sedangkan region timur dan barat membentuk jalur
vertikal. Dan region tengah berada pada perpotongan jalur horizontal dan vertikal. Tampilan
ini adalah bersifat default untuk objek Window, termasuk objek dari subkelas Window yaitu
tipe Frame dan Dialog. 
Seperti pada FlowLayout Manager, parameter hgap dan vgap disini juga menjelaskan jarak
antara komponen dengan kontainer.
Untuk menambahkan komponen kedalam region yang spesifik, gunakan metode
menambahkan dan melewatkan dua argumen yaitu : komponen yang ingin dimasukkan ke
dalam region dan region mana yang ingin dipakai untuk meletakkan komponen. Perlu
diperhatikan bahwa hanya satu komponen yang dapat dimasukkan dalam satu region.
Menambahkan lebih dari satu komponen pada kontainer yang bersangkutan, maka komponen
yang terakhir ditambahkan yang akan ditampilkan. Berikut ini adalah daftar dari kelima region.
1. BorderLayout.NORTH
2. BorderLayout.SOUTH
3. BorderLayout.EAST
4. BorderLayout.WEST
5. BorderLayout.CENTER
Berikut ini adalah contoh program yang menunjukkan bagaimana BorderLayout bekerja.
import java.awt.*;
class BorderLayoutDemo extends Frame {
   public static void main(String args[]) {
      BorderLayoutDemo bld = new BorderLayoutDemo();
      bld.setLayout(new BorderLayout(10, 10)); //may remove
      bld.add(new Button("NORTH"), BorderLayout.NORTH);
      bld.add(new Button("SOUTH"), BorderLayout.SOUTH);
      bld.add(new Button("EAST"), BorderLayout.EAST);
      bld.add(new Button("WEST"), BorderLayout.WEST);
      bld.add(new Button("CENTER"), BorderLayout.CENTER);
      bld.setSize(200, 200);
      bld.setVisible(true);
   }
}
3. Grid Layout Manager

Dengan GridLayout manager, komponen juga diposisikan dari kiri ke kanan dan dari atas ke
bawah seperti pada FlowLayout manager. GridLayout manager membagi kontainer menjadi
baris dan kolom. Semua region memiliki ukuran yang sama. Hal tersebut tidak mempedulikan
ukuran sebenarnya dari komponen.

4. Box Layout
Javax.swingmemiliki beberapa tambahan layout manager lagi, salah satunya adalah: BoxLayout. Layout manager ini sangat berguna untuk membuat toolbarssederhana atau vertical button bars. Cara kerjanya sangat sederhana yaitu menempatkan komponen dalam satu baris atau satu kolom. Untuk mempermudah penggunaan BoxLayout, Swing menyediakan sebuah kelas yang bernama Boxyaitu sebuah container yang secara otomatismemiliki BoxLayout manager.
Contoh :
Container box = 
Box.createHorizontalBox( );
box.add(Box.createHorizontalGlue( ));
box.add(new JButton("In the"));
5. Card Layout
CardLayout merupakan layout manager yang mampu menciptakan efek “tumpukan” komponen. Artinya, layout ini tidak memposisikan komponen di lokasi-lokasi tertentu di dalam kontainer, melainkan menampilkannya satu demi satu.
contoh program :
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class CardLayoutBehaviour extends JFrame {

  protected CardLayout layout;

  public static void main(String[] args) {
    CardLayoutBehaviour ct = new CardLayoutBehaviour();
    ct.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    ct.displayTab("Green Tab");
    ct.setSize(400300);
    ct.setVisible(true);
  }

  public CardLayoutBehaviour() {
    JPanel tab;
    Container pane = getContentPane();
    layout = new CardLayout();
    pane.setLayout(layout);
    tab = new JPanel();
    tab.setBackground(Color.red);
    pane.add(tab, "Red Tab");
    tab = new JPanel();
    tab.setBackground(Color.green);
    pane.add(tab, "Green Tab");
    tab = new JPanel();
    tab.setBackground(Color.blue);
    pane.add(tab, "Blue Tab");
  }

  public void displayTab(String name) {
    layout.show(this.getContentPane(), name);
  }

}

6. Grid Bag Layou
Layout ini memampukan kita untuk memposisikan komponen relatif terhadap komponen lainnya berdasarkan constraint tertentu. Dengan menggunakan GridBagLayout, kita dapat menciptakan layout apapun juga, tanpa batas. Komponen disusun pada koordinat tertentu pada sebuah grid yang disebut “logical coordinate”.  Logical coordinate berarti bahwa koordinat suatu komponen ditentukan oleh sekumpulan komponen lainnya. Baris dan kolom dari grid tersebut bersifat “stretch” yang bergantung pada sizedan constraint yang dimilikinya.
Contoh :
import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class GridLayoutTest {

  public static void main(String[] args) {
    JFrame.setDefaultLookAndFeelDecorated(true);
    JFrame frame = new JFrame("GridLayout Test");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new GridLayout(32));
    frame.add(new JButton("Button 1"));
    frame.add(new JButton("Button 2"));
    frame.add(new JButton("Button 3"));
    frame.add(new JButton("Button 4"));
    frame.add(new JButton("Button 5"));
    frame.add(new JButton("Button 6"));
    frame.add(new JButton("Button 7"));
    frame.add(new JButton("Button 8"));
    frame.pack();
    frame.setVisible(true);
  }

}


KAJIAN 4 Event Listener.
1. Event Listener
Event Listener digunakan untuk menangkap event yang terjadi pada komponen/Event Source. Dibawah ini disajikan beberapa listener yang dapat digunakan dalam mendeteksi event.
2. Mouse Listener
Untuk menangani reaksi dari penekanan tombol pada mouse.
3. Mouse Motion Listener
Untuk menangani reaksi akibat mouse digerakkan, Misalkan melewati komponen tertentu.
4. Action Listener
Untuk menangani reaksi atas perubahan status pada objek yang digunakan. Misalnya akibat penekanan tombol mouse atau keyboard.

KAJIAN 5 Koneksi DataBase

 berikut script dalam java untuk bisa konek dengan database; silahkan dicoba:
Caranya:
1. Jika belum ada project, mbikin project aja seperti 2 pertemuan sebelumnya.
2. jika sudah, dalam “package” Source Packages buatlah kelas baru bernama “DB”
3. Lalu copy script berikut
import java.sql.*;

import java.sql.DriverManager;

import java.util.logging.Level;
import java.util.logging.Logger;

import java.sql.*;

import java.sql.DriverManager;


public class DB {

//Untuk koneksi ke MySQL

private String userid = “root”;
private String password = “”;
//silahkan digant url-nya, tapi tergantung nama databasenya
//formatnya: “jdbc:tipeDatabase://server:port/namaDatabase”
String url = “jdbc:mysql://localhost:3306/mahasiswadb”;

public Connection con;
// constructor

public DB(){

getConnection();
}

public Connection getConnection(){

try {

Class.forName(“com.mysql.jdbc.Driver”);
}
catch (java.lang.ClassNotFoundException e){
System.err.print(“Koneksi dengan Datagase gagal: “);
System.err.println(e.getException());
}

try {

con = DriverManager.getConnection(url, userid,password);

System.out.print(“Nyambung”);

}catch(SQLException e) {

System.err.println(“ID dan Password Anda gagal ” + e.getMessage());

}

return con;

}


public static void main(String[] args){

new DB();

}
}

4. Coba test (di-build lalu di-run)
5. Jika muncul pernyataan seperti berikut ini:
Koneksi dengan Datagase gagal: null
ID dan Password Anda gagal No suitable driver found for jdbc:mysql://localhost:3306/mahasiswadb
Artinya program kita belum bisa terhubung dengan database. Kenapa? Karena dalam Library, kita belum memberikan library “MySQL JDBC Driver” yang berfungsi untuk menjembatani program kita dengan MySQL.
5. Silahkan Klik kanan pada “Libraries” lalu pilih “Add library”

6. Dari pilihan “Global Library” pilih “MySQL JDBC Driver” dan Add library.

7. Coba “build” lagi source code tersebut. Seharusnya sudah connect dan muncul keterangan “NyambungBUILD SUCCESSFUL (total time: 0 seconds)”
8. Jika masih belum nyambung, coba cek kembali apakah MySQL dalam XAMPP sudah berjalan/run? apakah nama database-nya benar? apakah ID dan password MySQL-nya benar?



Tidak ada komentar:

Posting Komentar

Entri Populer