• Tidak ada hasil yang ditemukan

P 10 Bab 6 : JDBC & MySQL. 6.1 Tujuan. 6.2 Materi. 6.3 MySQL

N/A
N/A
Protected

Academic year: 2021

Membagikan "P 10 Bab 6 : JDBC & MySQL. 6.1 Tujuan. 6.2 Materi. 6.3 MySQL"

Copied!
25
0
0

Teks penuh

(1)

P – 10

Bab 6 : JDBC & MySQL

6.1 Tujuan

Mahasiswa mampu :

Mengetahui dan memahami JDBC, ODBC, langkah-langkah pemrograman JDBC dan

konfigurasinya.

Mengetahui dan memahami koneksi database dengan JDBC,

Mengetahui dan memahami manipulasi database dengan menggunakan JDBC.

6.2 Materi

1. MySQL

2. JDBC

3. Konfigurasi JDBC

4. Koneksi MySQL dengan JDBC

5. Membuat Database dan Table

6. Input, Update, Delete, Search Data

7. View Table Dengan Jtable

6.3 MySQL

Secara umum dalam bahasa SQL, dibagi menjadi tiga bagian :

1. DDL (Data Definition Language)

Merupakan perintah SQL yang berkaitan dengan pendefinisian suatu struktur

database, dalam hal ini database dan table. perintah DDL adalah: CREATE, ALTER,

RENAME, DROP.

2. DML (Data Manipulation Language)

Merupakan perintah SQL yang berkaitan dengan manipulasi atau pengolahan data

atau record dalam table. perintah DML antara lain: SELECT, INSERT, UPDATE,

DELETE.

(2)

3. DCL (Data Control Language)

Merupakan perintah SQL yang berkaitan dengan manipulasi user dan hak akses

(priviledges). perintah SQL yang termasuk dalam DCL antara lain: GRANT, REVOKE.

6.4 JDBC

JDBC = Java Database Connectivity

JDBC API = Application Proggramming Interface → merupakan Java API.

JDBC API terdiri dari class dan interface (Dalam Pemrograman Java) yang menyediakan

tools untuk mengembangkan database dan mengembangkan aplikasi database dengan

pemrograman Java sesuai dengan standar API.

Arsitektur JDBC API terdiri dari dua bagian, antara lain yaitu :

1. JDBC API digunakan untuk pengambangan aplikasi

2. JDBC Diver API digunakan untuk pengembangan driver

JDBC Driver terdiri dari empat bagian, antara lain yaitu :

1. JDBC-ODBC Bridge and ODBC Driver

Menggunakan ODBC Driver untuk mengakses JDBC

2. Native API Partly Java Technology-Enable Driver

Mengkonversikan perintah JDBC menjadi client API untuk DBMS tertentu.

3. Pure Java Driver for Database Middleware

Mengkonversikan perintah JDBC menjadi Middleware Vendor Protocol, yang

selanjutnya diterjemaahkan oleh Middleware server ke dalam DBMS protocol.

4. Direct-to-Database Pure Java Driver

Mengkonversikan perintah JDBC menjadi network protocol yang digunakan

langsung oleh DBMS.

6.5 Konfigurasi JDBC

Kebutuhan :

1.

Jdk

Download :

http://www.oracle.com/technetwork/java/javase/downloads/index.html

Install :

http://sidiq.mercubuana-yogya.ac.id/installasi-dan-konfigurasi-java-jdk-dan-jre-format-tar-gz-my-os-ubuntu-linux/

http://sidiq.mercubuana-yogya.ac.id/installasi-dan-konfigurasi-java-jdk-dan-jre-di-ubuntu-dan-windows/

(3)

2.

Xampp / Lampp

Microsoft Windows (XP/Vista/7/8)

Download :

http://www.apachefriends.org/en/xampp-windows.html

Install : Double klik File xampp-win32-1.7.3.exe

My OS / Ubuntu (Linux)

Download :

http://www.apachefriends.org/en/xampp-linux.html

Install :

dnd@riyaniezt:~$ sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt

3.

JDBC

Download “MySQL Connector For Java” :

http://dev.mysql.com/downloads/connector/j/

Install :

Microsoft Windows (XP/Vista/7)

1.

Ekstrak file “mysql-connector-java-5.1.22.tar.gz”.

2.

copy-kan file “mysql-connector-java-5.1.22-bin.jar” ke directory :

“C:\Program Files\Java\jdk1.7.0_07\lib\”

My OS / Ubuntu (Linux)

1.

Ekstrak file “mysql-connector-java-5.1.22.tar.gz”

2.

Copy-kan file “mysql-connector-java-5.1.22-bin.jar” ke directory :

“/opt/java/jdk1.7.0_07/lib/”

Console :

dnd@riyaniezt:~$ sudo cp mysql-connector-java-5.1.22-bin.jar /opt/java/jdk1.7.0_07/lib/

Konfigurasi CLASSPATH :

Microsoft Windows (XP/Vista/7/8)

1.

Klik kanan icon My Computer, kemudian klik Properties,

2.

Kemudian pilih Advanced System Setting,

3.

Setelah muncul window System Properties,

4.

Pilih tab Advanced klik Environment Variables, maka akan muncul window

Environment Variables ,

5.

Untuk menambahkan CLASSPATH, Pada bagian System variables klik New ,

6.

Pada text box Variable name isi dengan CLASSPATH,

7.

Pada Variable value isi dengan Alamat dari directory dimana MySQL Conector

diletakkan,

.;C:\Program Files\Java\jdk1.7.0_07\lib\mysql-connector-java-5.1.22-bin.jar

(4)

8.

Klik OK sebanyak tiga kali berturut-turut,

9.

Buka Command Prompt Windows (CMD), selanjutnya ketikkan perintah,

> echo %CLASSPATH%

10. Restart komputer.

My OS / Ubuntu (Linux)

1.

Edit File “Environment”,

dnd@riyaniezt:~$ sudo gedit /etc/environment

2.

Tambahkan baris perintah berikut ke dalam file “Environment” :

CLASSPATH=".:/opt/java/jdk1.7.0_07/lib/mysql-connector-java-5.1.22-bin.jar"

kemudian Save.

3.

Tulis perintah :

dnd@riyaniezt:~$ echo $CLASSPATH

4.

Restart komputer.

dnd@riyaniezt:~$ sudo reboot

6.6 Koneksi MySQL Dengan JDBC

Mengaktifkan JDBC Driver :

Class.forName("com.mysql.jdbc.Driver");

Membuat koneksi ke database :

con = DriverManager.getConnection(url,usr,pwd);

Keterangan :

con → merupakan variable bertipe Connection,

url → merupakan informasi jenis database + host database + nama database

usr → merupakan nama user yang digunakan untuk koneksi ke database

pwd → merupakan password yang digunakan untuk masuk ke database

(5)

Contoh program :

/* * KoneksiMySQL.java

* author : SidiQ - UMBY --- */ import java.sql.*;

class KoneksiMySQL {

String url, usr, pwd, dbn; public KoneksiMySQL() { dbn = "Prak"; url = "jdbc:mysql://localhost/" + dbn; usr = "root"; pwd = ""; }

public Connection getConnection() {

Connection con = null; try

{

Class.forName("com.mysql.jdbc.Driver");

con = DriverManager.getConnection(url, usr,pwd); System.out.println("Ok : Driver Ditemukan"); }

catch (ClassNotFoundException e) {

System.out.println("Error: Driver Tidak Ditemukan \n" +e+ "\n"); }

catch (SQLException e) {

System.out.println("Error: Tidak Bisa Koneksi Ke Database \n"+e+"\n"); }

return con; }

private void PembuatDialog() {

System.out.println("Created By : DnD ~ http://sq.web.id"); System.exit(0);

}

public static void main(String[] args) {

KoneksiMySQL dnd = new KoneksiMySQL(); dnd.getConnection();

dnd.PembuatDialog(); }

(6)

Output :

6.7 Membuat Database dan Table

Database :

mysql > CREATE DATABASE Prak; mysql > USE Prak ;

Table Dengan MySQL :

mysql > CREATE TABLE `Prak`.`T_Mahasiswa` ( `NIM` char( 10 ) , `Name` varchar( 40 ), `Address` varchar( 45 ), `Gender` varchar( 6 ), `Kelas` varchar( 20 )) ;

Table Dengan MySQL dan JAVA :

Dalam pemrograman Java pernyataan DDL (CREATE, DROP, ALTER) dijalankan dengan

menggunakan method executeUpdate.

(7)

String sql = "CREATE TABLE T_Mahasiswa"+"(NIM char(10),"+

"Name varchar(40),"+"Address varchar(45)," + "Gender varchar(6), " +"Kelas varchar(20))"; stmt.executeUpdate(sql);

Contoh program :

/* * SetupTable_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.sql.*; class SetupTable_Mahasiswa {

public static void main(String args[]) {

KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try

{

Statement stmt = mysql.createStatement();

String sql = "CREATE TABLE T_Mahasiswa"+"(NIM char(10),"+ "Name varchar(40),"+"Address varchar(45)," + "Gender varchar(6), " +"Kelas varchar(20))"; stmt.executeUpdate(sql);

stmt.close();

JOptionPane.showMessageDialog(null, "Table Mahasiswa Berhasil Dibuat"); }

catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } }

}

Output :

(8)

Keterangan :

Pernyataan SQL yang seharusnya diakhir pernyataan selalu diakhiri dengan tanda

titik koma “ ; “, dalam pemrograman Java tidak perlu menambahkan tanda titik

koma “ ; “ tersebut, karena akan secara otomatis tanda titik koma “ ; “ akan

dilakukan oleh JDBC API.

6.8 Input Table

Input Table Dengan MySQL :

mysql > INSERT INTO `T_Mahasiswa` VALUES ( 'NIM', 'Name','Address','Gender','Kelas');

Input Table Dengan Java :

Contoh input table dengan Java :

String sql = "INSERT INTO T_Mahasiswa VALUES ('"+NIM+"',

'"+Name+"','"+Address+"','"+Gender+"','"+Kelas+"');"; stmt.executeUpdate (sql);

(9)

Contoh program :

/* * Input_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;

class Input_Mahasiswa extends JFrame {

JLabel labelNIM=new JLabel("NIM"); JTextField textNIM=new JTextField(30); JLabel labelName=new JLabel("Name"); JTextField textName=new JTextField(30); JLabel labelAddress=new JLabel("Address"); JTextField textAddress=new JTextField(50); JLabel labelGender=new JLabel("Gender"); JButton buttonSAVE=new JButton("SAVE"); JButton buttonEXIT=new JButton("EXIT");

JRadioButton radioMale=new JRadioButton("Male"); JRadioButton radioFemale=new JRadioButton("Female"); ButtonGroup groupGender=new ButtonGroup();

JLabel labelClass=new JLabel("Class");

String[] GClass={"Morning","Evening","Extension"}; JComboBox comboClass=new JComboBox(GClass); Input_Mahasiswa() { setTitle("Data Mahasiswa"); setLocation(300,100); setSize(300,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelNIM); labelNIM.setBounds(10,10,70,20); getContentPane().add(textNIM); textNIM.setBounds(80,10,110,20); getContentPane().add(labelName);labelName.setBounds(10,30,70,20); getContentPane().add(textName); textName.setBounds(80,30,110,20); getContentPane().add(labelAddress);labelAddress.setBounds(10,50,70,20); getContentPane().add(textAddress); textAddress.setBounds(80,50,160,20); getContentPane().add(labelGender); labelGender.setBounds(10,70,70,20); getContentPane().add(radioMale); radioMale.setBounds(80,70,80,20); getContentPane().add(radioFemale); radioFemale.setBounds(160,70,80,20); groupGender.add(radioMale); groupGender.add(radioFemale);

(10)

getContentPane().add(labelClass);labelClass.setBounds(10,90,70,20); getContentPane().add(comboClass);comboClass.setBounds(80,90,100,20); getContentPane().add(buttonSAVE); buttonSAVE.setBounds(60,120,90,20); getContentPane().add(buttonEXIT);buttonEXIT.setBounds(160,120,80,20); setVisible(true); }

void Perintah() { // button exit buttonEXIT.addActionListener ( new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (JOptionPane.showConfirmDialog(

null, "Apakah Anda benar-benar akan keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } ); //button save buttonSAVE.addActionListener ( new ActionListener() {

public void actionPerformed (ActionEvent e) {

String NIM, Name, Address, Gender, Kelas; NIM = textNIM.getText(); Name = textName.getText(); Address = textAddress.getText(); if(radioMale.isSelected()==true) { Gender = radioMale.getText(); } else { Gender = radioFemale.getText(); } Kelas = (String) comboClass.getSelectedItem(); //input ke database

KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try

{

(11)

String sql = "INSERT INTO T_Mahasiswa VALUES ('"+NIM+"', '"+Name+"','"+Address+"','"+Gender+"','"+Kelas+"');"; int i = stmt.executeUpdate (sql); if (i == 1) { JoptionPane.showMessageDialog(null, "Data Mahasiswa Berhasil Disimpan"); }

}

catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); }

public static void main(String[]args) {

Input_Mahasiswa sq=new Input_Mahasiswa(); sq.GUI();

sq.Perintah(); }

}

(12)

6.9 Search dan Update

Update Table Dengan MySQL :

mysql > UPDATE `T_Mahasiswa`

SET `Name`='Name', `Address`='Address', `Gender`='Gender', `Kelas`='Kelas' WHERE `NIM`='NIM';

Update Table Dengan Java :

Contoh update data dengan Java :

String sql = "UPDATE T_Mahasiswa SET Name='"+Name+"', Address='"+Address+"', Gender='"+Gender+"', Kelas='"+Kelas+"' WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql);

Contoh program :

/* * Update_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;

class Update_Mahasiswa extends JFrame {

JLabel labelNIM=new JLabel("NIM"); JTextField textNIM=new JTextField(30); JLabel labelName=new JLabel("Name"); JTextField textName=new JTextField(30); JLabel labelAddress=new JLabel("Address"); JTextField textAddress=new JTextField(50); JLabel labelGender=new JLabel("Gender"); JButton buttonSEARCH=new JButton("SEARCH"); JButton buttonUPDATE=new JButton("UPDATE"); JButton buttonEXIT=new JButton("EXIT");

JRadioButton radioMale=new JRadioButton("Male"); JRadioButton radioFemale=new JRadioButton("Female");

(13)

ButtonGroup groupGender=new ButtonGroup(); JLabel labelClass=new JLabel("Class");

String[] GClass={"Morning","Evening","Extension"}; JComboBox comboClass=new JComboBox(GClass); Update_Mahasiswa() { setTitle("Data Mahasiswa"); setLocation(300,100); setSize(300,200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelNIM); labelNIM.setBounds(10,10,70,20); getContentPane().add(textNIM); textNIM.setBounds(80,10,110,20); getContentPane().add(buttonSEARCH); buttonSEARCH.setBounds(200,10,90,20); getContentPane().add(labelName);labelName.setBounds(10,30,70,20); getContentPane().add(textName); textName.setBounds(80,30,110,20); getContentPane().add(labelAddress);labelAddress.setBounds(10,50,70,20); getContentPane().add(textAddress); textAddress.setBounds(80,50,160,20); getContentPane().add(labelGender); labelGender.setBounds(10,70,70,20); getContentPane().add(radioMale); radioMale.setBounds(80,70,80,20); getContentPane().add(radioFemale); radioFemale.setBounds(160,70,80,20); groupGender.add(radioMale); groupGender.add(radioFemale); getContentPane().add(labelClass);labelClass.setBounds(10,90,70,20); getContentPane().add(comboClass);comboClass.setBounds(80,90,100,20); getContentPane().add(buttonUPDATE);buttonUPDATE.setBounds(60,120,90,20); getContentPane().add(buttonEXIT);buttonEXIT.setBounds(160,120,80,20); setVisible(true); } void Perintah() { // button exit buttonEXIT.addActionListener ( new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (JOptionPane.showConfirmDialog(

null, "Apakah Anda benar-benar akan keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } );

(14)

// button search

buttonSEARCH.addActionListener (

new ActionListener() {

public void actionPerformed (ActionEvent e) {

String search;

String NIM, Name, Address, Gender, Kelas; KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try

{

search=textNIM.getText();

Statement stmt = mysql.createStatement();

String sql = "SELECT * FROM T_Mahasiswa WHERE NIM like '"+search+"'"; ResultSet i = stmt.executeQuery (sql); if(i.next()) { textNIM.setText(i.getString(1)); textName.setText(i.getString(2)); textAddress.setText(i.getString(3)); Gender = i.getString(4); if(Gender.equals("Male")) { radioMale.setSelected(true); } else { radioFemale.setSelected(true); } comboClass.setSelectedItem(i.getString(5)); } else {

JOptionPane.showMessageDialog(null, "Data Mahasiswa Tidak Ada"); }

}

catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); // button update buttonUPDATE.addActionListener ( new ActionListener() {

public void actionPerformed (ActionEvent e) {

String NIM, Name, Address, Gender, Kelas; NIM = textNIM.getText();

(15)

Name = textName.getText(); Address = textAddress.getText(); if(radioMale.isSelected()==true) { Gender = radioMale.getText(); } else { Gender = radioFemale.getText(); } Kelas = (String) comboClass.getSelectedItem(); //input ke database

KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try

{

Statement stmt = mysql.createStatement(); String sql = "UPDATE T_Mahasiswa

SET Name='"+Name+"', Address='"+Address+"', Gender='"+Gender+"', Kelas='"+Kelas+"' WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql); if (i == 1) { JOptionPane.showMessageDialog(null, "Data Mahasiswa Berhasil Diupdate"); }

}

catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); }

public static void main(String[]args) {

Update_Mahasiswa sq=new Update_Mahasiswa(); sq.GUI();

sq.Perintah(); }

(16)
(17)

6.10 Delete

Delete

Table Dengan MySQL :

mysql > DELETE FROM `T_Mahasiswa` WHERE `NIM`='NIM';

Delete

Table Dengan Java :

Contoh update data dengan Java :

String sql = "DELETE FROM T_Mahasiswa WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql);

Contoh Program :

/* * Delete_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*;

class Delete_Mahasiswa extends JFrame {

JLabel labelNIM=new JLabel("NIM"); JTextField textNIM=new JTextField(30); JLabel labelName=new JLabel("Name"); JTextField textName=new JTextField(30); JLabel labelAddress=new JLabel("Address"); JTextField textAddress=new JTextField(50); JLabel labelGender=new JLabel("Gender"); JButton buttonSEARCH=new JButton("SEARCH"); JButton buttonDELETE=new JButton("DELETE"); JButton buttonEXIT=new JButton("EXIT");

JRadioButton radioMale=new JRadioButton("Male"); JRadioButton radioFemale=new JRadioButton("Female"); ButtonGroup groupGender=new ButtonGroup();

JLabel labelClass=new JLabel("Class");

String[] GClass={"Morning","Evening","Extension"}; JComboBox comboClass=new JComboBox(GClass); Delete_Mahasiswa()

{

setTitle("Data Mahasiswa"); setLocation(300,100); setSize(300,200);

(18)

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelNIM); labelNIM.setBounds(10,10,70,20); getContentPane().add(textNIM); textNIM.setBounds(80,10,110,20); getContentPane().add(buttonSEARCH); buttonSEARCH.setBounds(200,10,90,20); getContentPane().add(labelName);labelName.setBounds(10,30,70,20); getContentPane().add(textName); textName.setBounds(80,30,110,20); getContentPane().add(labelAddress);labelAddress.setBounds(10,50,70,20); getContentPane().add(textAddress); textAddress.setBounds(80,50,160,20); getContentPane().add(labelGender); labelGender.setBounds(10,70,70,20); getContentPane().add(radioMale); radioMale.setBounds(80,70,80,20); getContentPane().add(radioFemale); radioFemale.setBounds(160,70,80,20); groupGender.add(radioMale); groupGender.add(radioFemale); getContentPane().add(labelClass);labelClass.setBounds(10,90,70,20); getContentPane().add(comboClass);comboClass.setBounds(80,90,100,20); getContentPane().add(buttonDELETE);buttonDELETE.setBounds(60,120,90,20); getContentPane().add(buttonEXIT);buttonEXIT.setBounds(160,120,80,20); setVisible(true); } void Perintah() { // button exit buttonEXIT.addActionListener ( new ActionListener() {

public void actionPerformed(ActionEvent e) {

if (JOptionPane.showConfirmDialog(

null, "Apakah Anda benar-benar akan keluar?","Konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) { System.exit(0); } } } ); // button search buttonSEARCH.addActionListener ( new ActionListener() {

public void actionPerformed (ActionEvent e) {

String search;

String NIM, Name, Address, Gender, Kelas; KoneksiMySQL open = new KoneksiMySQL ();

(19)

Connection mysql = open.getConnection(); try

{

search=textNIM.getText();

Statement stmt = mysql.createStatement();

String sql = "SELECT * FROM T_Mahasiswa WHERE NIM like '"+search+"'"; ResultSet i = stmt.executeQuery (sql); if(i.next()) { textNIM.setText(i.getString(1)); textName.setText(i.getString(2)); textAddress.setText(i.getString(3)); Gender = i.getString(4); if(Gender.equals("Male")) { radioMale.setSelected(true); } else { radioFemale.setSelected(true); } comboClass.setSelectedItem(i.getString(5)); } else {

JOptionPane.showMessageDialog(null, "Data Mahasiswa Tidak Ada"); }

}

catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); // button delete buttonDELETE.addActionListener ( new ActionListener() {

public void actionPerformed (ActionEvent e) {

String NIM, Name, Address, Gender, Kelas; NIM = textNIM.getText(); Name = textName.getText(); Address = textAddress.getText(); if(radioMale.isSelected()==true) { Gender = radioMale.getText(); } else { Gender = radioFemale.getText(); }

(20)

Kelas = (String)

comboClass.getSelectedItem(); //input ke database

KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try

{

Statement stmt = mysql.createStatement();

String sql = "DELETE FROM T_Mahasiswa WHERE NIM='"+NIM+"'"; int i = stmt.executeUpdate (sql);

if (i == 1) {

JOptionPane.showMessageDialog(null,"Data Mahasiswa Berhasil Dihapus"); }

}

catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); }

public static void main(String[]args) {

Delete_Mahasiswa sq=new Delete_Mahasiswa(); sq.GUI();

sq.Perintah(); }

}

(21)

6.11 View Table dengan JTable

View

Table Dengan MySQL :

mysql > SELECT * FROM `T_Mahasiswa`;

View

Table Dengan Java :

Contoh view table dengan Java :

String sql = "SELECT * FROM T_Mahasiswa"; stmt.executeQuery(sql);

Contoh program :

/* * View_Mahasiswa.java * author : SidiQ - UMBY --- */ import java.awt.*;

(22)

import javax.swing.*; import javax.swing.table.*;

public class View_Mahasiswa extends JPanel {

String[] header = {"NIM","Name","Address","Gender","Class"}; JTable table = new JTable();

JScrollPane scrollTable = new JScrollPane(); private Object[][] dataTable = null;

View_Mahasiswa() {

KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try

{

Statement stmt = mysql.createStatement(); String sql = "SELECT * FROM T_Mahasiswa"; ResultSet rs = stmt.executeQuery(sql); ResultSetMetaData meta = rs.getMetaData(); int kolom = meta.getColumnCount(); int baris = 0; while(rs.next()) { baris = rs.getRow(); }

dataTable = new Object[baris][kolom]; int x = 0; rs.beforeFirst(); while(rs.next()) { dataTable[x][0] = rs.getString("NIM"); dataTable[x][1] = rs.getString("Name"); dataTable[x][2] = rs.getString("Address"); dataTable[x][3] = rs.getString("Gender"); dataTable[x][4] = rs.getString("Kelas"); x++; } scrollTable.setViewportView(table);

table.setModel(new DefaultTableModel(dataTable, header)); add(scrollTable, BorderLayout.NORTH);

stmt.close(); rs.close(); }

catch (Exception ex) {

JOptionPane.showMessageDialog(null, "Data Mahasiswa Error"); }

}

void GUI() {

(23)

JFrame frame = new JFrame("Data Mahasiswa");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); View_Mahasiswa content = new View_Mahasiswa();

content.setOpaque(true); frame.setContentPane(content); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); }

public static void main(String [] args) {

View_Mahasiswa sq=new View_Mahasiswa(); sq.GUI();

} }

(24)

6.12 Tugas

1. Lengkapilah program di atas dengan menu sehingga menjadi seperti berikut ini :

Menu :

Hasil :

2. Pada Program di atas, jika di klik tombol Exit atau Silang di jendela form (ex : form Input

Data Mahasiswa), maka akan keluar seluruh program / menu.

Tugas :

Modifikasilah program tersebut, sehingga jika di klik tombol Exit atau Silang di jendela

form (ex : form Input Data Mahasiswa), maka jendela Menu masih terlihat.

3. Berdasarkan contoh yang telah diberikan di atas. Buat satu database dan table. Dengan

tema kasus bebas (ditentukan sendiri).

Tugas :

Kemudian buat file Java untuk melakukan operasi edit, input maupun delete.

Kemudian buat Menu untuk mengakses semua bagian program tersebut.

(25)

Ketentuan

Tugas

:

Tugas (no 1,2 dan 3) di print (source code dan screenshot hasil eksekusi) dan

dikumpulkan pada pertemuan selanjutnya (pertemuan ke 11)

Tugas sebagai syarat mengikuti perkuliahan pada tanggal 12 Desember 2013.

Tugas (no 4) tulis tangan :

Tuliskan jika ada kesulitan Anda (baik dalam memahami alur maupun

konfigurasi) yang belum dimengerti mengenai materi JDBC dan MySQL.

Gambar

Table Dengan MySQL :

Referensi

Dokumen terkait

42 Pedagang kembali semula jangan ditata seperti yang sudah - sudah di pasar lain, contoh - contoh sudah ada yang penataan pada bubrah tidak jualan karena sepi akhirnya

Penelitian menggunakan 60 ekor ayam pedaging, dua puluh ekor ayam di awal penelitian diambil darahnya untuk pengamatan titer antibodi asal induk terhadap infeksi virus

Pengaruh Konsentrasi Hidroksipropil Metilselulosa (HPMC) terhadap Sifat Fisikokimia dan Organoleptik Selai Lembaran Nanas, Skripsi S-1, Fakultas Teknologi Pertanian

2 Wakil Dekan Bidang I SALINAN TERKENDALI 02 3 Wakil Dekan Bidang II SALINAN TERKENDALI 03 4 Manajer Pendidikan SALINAN TERKENDALI 04 5 Manajer Riset dan Pengabdian

Pada tahun 1881 Frederich Bezold (1824-1908) melaporkan adanya pus yang keluar dari sisi medial prosesus mastoid yang terinfeksi dan membentuk abses jaringan leher dalam,

Pengawasan kualitas merupakan alat bagi manajemen untuk memperbaiki kualitas produk bila dipergunakan, mempertahankan kualitas produk yang sudah tinggi dan

Kondisi Awal Kemampuan Anak TK A di TK Baiturrahaman Pusdikku TNI AD dalam Mengenal Bentuk Geometri Sebelum Menggunakan Pemanfaatan Alam dan Lingkungan Sekitar