MODUL X JAVA DATABASE

dokumen-dokumen yang mirip
Mengkoneksikan Java Netbeans dengan Database di MySQL via XAMPP

Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL

Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati

visit :

Pengenalan APLIKASI DATABASE

KA2173 Pemrograman Berorientasi Objek. 9 BAB IX PEMROGRAMAN GUI: SWING. H a l 56

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64

Praktikum 6a Melakukan koneksi dengan basis data

TUTORIAL SEDERHANA, JAVA (Swing) dan MYSQL (SELECT dan INSERT)

Pemrograman Berorientasi Obyek. Ramos Somya

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

Koneksi Java GUI-Database

GUI, Ev e Ev n e t n Handling, Ex ception Handling in Java

BAB I PROJECT NETBEANS DAN GUI SEDERHANA

- Menuliskan business logic dari aplikasi untuk mengakses data source

Materi 3 Pemrograman Visual

Modul 08. User Interface 01

MODUL 6 JDBC (JAVA DATABASE CONNECTIVITY)

GUI & Event Handling. Viska Mutiawani, M.Sc

Prosedur dan Fungsi. Ciri prosedur pada java selalu dimulai dengan : private/public void namaprosedur ( tipedataparameter1 namaparameter1,

GUI (Grapichal User Interface)

Materi : GUI AWT & SWING.

Pemrograman Database Java

PEMROGRAMAN BERORIENTASI OBJEK

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

GRAPHICAL USER INTERFACE (GUI)

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

APLIKASI PERHITUNGAN NILAI MAHASISWA. Untuk membuat aplikasi nilai mahasiswa, langkah-langkahnya adalah sebagai berikut :

Creating Graphical User Interfaces [1] with Java By: De Rosal Ignatius Moses Setiadi

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

Arsitektur Aplikasi Perangkat Enterprise JDBC. Antonius Rachmat C, S.Kom, M.Cs

KONEKSI KE DATABASE DENGAN JDBC

JAVA SWING. Swing merupakan library pada java untuk membuat sebuah tampilan seperti

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Akses Database Menggunakan JDBC

BAB IX KONEKSI POSTGRESQL PADA JAVA (Netbeans)

Graphical User Interface (GUI)

Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

JAVA non OOP/IMW/PAGI. 1. Buat Database dengan Ms.Access dengan nama database perpustakaan.mdb 2. Buat tabel barang dengan struktur sbb:

Membuat Program Aplikasi Akademik dengan Menggunakan NetBeans 6.9

PEMROGRAMAN LANJUTAN JAVA. Dasar-Dasar Netbeans

1. Buka Aplikasi NetBeans yang sudah terinstall. 2. Buat Project Baru.

Manipulasi Database Dengan Netbeans

Percobaan 7 GUI(Graphical User Interface )

Langkah-Langkah Pemrograman JDBC MENGIMPOR PACKAGE JAVA.SQL MEMANGGIL DRIVER JDBC

Java Database Connectivity (JDBC) (Minggu 5 Praktikum II)

Tutorial Java Desktop 3 Melakukan Pengambilan data pada JavaDB

Firma Firmansyah Adi B. Resume Web Service

Membuat Data Mahasiswa dengan Java Netbeans dan SQLite

BAB II MICROSOFT VISUAL STUDIO

Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC)

Aplikasi Grafik Menggunakan Netbeans

BAGIAN XIII GRAPHICAL USER INTERFACE DENGAN SWING. Praktikum I : Menggunakan JFrame, JTextField, JLabel dan JButton

MEMBUAT REPORT: REPORTPEMBELI

SAMPLE CRUD JAVA & MYSQL. Melakukan operasi database pada java dan mysql CRUD (Create, Read, Update,

MODUL PRAKTIKUM KE 9

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

DAO design pattern diimplementasi dengan beberapa langkah, yaitu :

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

pilih New-Java Class Pada window New Class, ketik Person pada Class Name dan db.app pada Package

Lampiran Utama. a. Struktur Organisasi. Factory Manager. Vice Factory Manager. Non Produksi. Produksi. Dept. Power. Dept Greyee. Dept.

TUGAS FRAMEWORK 2 FAKULTAS TEKNIK JURUSAN TEKNIK INFORMATIKA UNIVERSITAS DR. SOETOMO SURABAYA MOCHAMMAD ANNAS FAHRUDIN

PERTEMUAN 1 Membuat Project & Komponen Swing [PBO II JAVA] dosen : SOPINGI, S.Kom

Program Kalkulator Sederhana Menggunakan Java Netbeans

Praktikum JTable. Gambar 1

BAB V JTable. JTable () Default menciptakan JTable yang diawali dengan model default data, model kolom default, dan model pilihan default.

INSTRUKSI PENCABANGAN

JDBC. Imam Fahrur Rozi

STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO

KONEKSI NETBEANS DENGAN DATABASE SQLITE

TUGAS PEMROGRAMAN BERBASIS JAVA ADARA HIJAB

Pemrograman Java III

Sistem Distribusi Data Melalui COM+ Dengan Visual Basic

Modul Pemrograman Berorientasi Objek II [D.III] Disusun Oleh: Dinda Ayu Muthia

Membuat Frame, Label, TextField dan Button di Java [Full Coding]

IMPLEMENTASI MODEL VIEW CONTROLLER (MVC) DESIGN PATTERN

LAPORAN TUGAS MINGGUAN III PEMBUATAN KALKULATOR ( MENGHITUNG TOTAL TRANSAKSI) BERBASIS JAVA

Membuat Aplikasi Database dengan Netbeans

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

KONEKSI KE DATABASE DENGAN JDBC 2

Materi 2 Pemrograman Visual

Pemrograman Java III

uri=" prefix="logic"%>

Pemrograman Berbasis Java PERSEWAAN PELAMPUNG. Riska Nony Oktaviani Kelas 21 Teknik Informatika Teknologi Informasi

A. TUJUAN PEMBELAJARAN

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

1. Buat tampilan menggunakan seperti ini dan simpan dalam class MainFrame.java

PENGENALAN JAVA GUI PROGRAMMING

Mudafiq R. Pratama

KEAHLIAN PEMROGAMAN JAVA

Isi Data Source Name seperti gambar diatas: Kemudian pilih database dengan meng klik tombol select, tampil seperti gambar diatas:

Praktikum GUI menggunakan Netbeans (Yuliana Setiowati

Pemograman Swing. Netbeans:

PENDAHULUAN TENTANG NETBEANS

BAB I PENDAHULUAN. Maksud dan tujuan dari pembuatan Aplikasi Penentu Nilai Mahasiswa pada pemrograman java adalah:

PEMROGRAMAN II. Materi : nursari2010.blogdetik.com String String Handling Java.util,Java.io. By : Sri Rezeki Candra Nursari

BAB II. Manggunakan JComboBox

Tugas IV Kelas Virtual Pemr. Visual

Transkripsi:

MODUL X JAVA DATABASE I. TUJUAN 1. Memahami Konsep Graphical User Interface (GUI) di Java dan Komponen Dasar Swing 2. Memahami koneksi database menggunakan JDBC dan JDBC API 3. Mampu membuat aplikasi database sesuai dengan studi kasus nyata di masyarakat II. DASAR TEORI 1. API untuk Aplikasi GUI di Java a. AWT (Abstract Window Toolkit) Library dan komponen GUI (java.awt) yang pertama kali diperkenalkan oleh Java, Sun tidak merekomendasikan lagi penggunaan komponen GUI dari AWT b. Swing or JFC (Java Foundation Class) Library dan komponen GUI (javax.swing) terbaru dari Java dan yang direkomendasikan Sun untuk pemrograman GUI. Komponen Swing sebagian besar adalah turunan AWT dan lebih lengkap daripada AWT 2. Fitur Swing a. Komponen GUI Lengkap button, listbox, combobox, textarea, dsb b. Pluggable Look-and-Feel tampilan GUI dapat diubah sesuai dengan kehendak (tidak perlu mengikuti native sistem operasi) c. Data Transfer Antar Komponen drag and drop, copy and paste d. Internationalization proses desain aplikasi yang memungkinkan aplikasi dijalankan sesuai dengan preferensi tanpa rekompilasi e. Localization proses translasi teks ke bahasa lokal dan menambahkan komponen lokal 3. Komponen Swing a. Top-Level Container Kontainer dasar dimana komponen lainnya diletakkan (JFrame, JDialog dan Applet) a. Intermediate Container Kontainer perantara dimana komponen lainnya diletakkan (JPanel, JScrollPane, JTabbedPane, JToolbar, JSplitPane) b. Atomic Component Komponen yang memiliki fungsi spesifik dan menerima interaksi langsung dari user (JButton, JLabel, JTextArea, dsb) c. Layout Manager Mengatur tata letak dan posisi komponen dalam kontainer (BorderLayout, BoxLayout, FlowLayout, GridBagLayout, GridLayout) d. Event Handling Menangani event yang dilakukan user (klik mouse, ketik keyboard, perbesar frame, dsb) IX- 1

4. JDBC dan JDBC API JDBC adalah standar Java Database Connectivity, dan JDBC API merupakan Java Database Connectivity Application Programming Interface ( API JDBC ). Semua komponen dan teknik JDBC tertanam dan diimplementasikan dalam JDBC API. Pada dasarnya, JDBC API terdiri dari satu set kelas dan interface yang digunakan untuk berinteraksi dengan database dari aplikasi Java. Umumnya, JDBC API melakukan 3 (tiga) fungsi berikut : a. Membangun hubungan antara aplikasi Java dan database terkait b. Membangun dan mengeksekusi pernyataan SQL c. Memproses hasil Beberapa vendor database yang berbeda menyediakan berbagai driverr JDBC untuk mendukung aplikasi mereka ke database. Komponen JDBC paling populer terletak di paket berikut : a. java.sql : terdiri dari komponen JDBC standar b. javax.sql : berisi standard pendukung JDBC, yang menyediakan fitur tambahan, seperti Javaa Naming and Directory Interface (JNDI) dan Java Transaction Servicee (JTS). c. oracle.jdbc : berisi fungsi pendukung yang disediakan oleh java.sql dan javax.sql interface. d. oracle.sql : berisi kelas dan interface yang menyediakan pemetaan Javaa untuk SQL 5. JDBC Components dan Architecture JDBC API disebut juga driver JDBC, yang mengimplementasikan semua komponen JDBC termasuk kelas dan interface, untuk membangun koneksi dan memanipulasi data antara aplikasi Java dan database yang dipilih. JDBC API berisi 2 (dua) set utama dari antarmuka, yaitu : a. JDBC API aplikasi (antarmuka untuk aplikasi Java Anda ) b. JDBC driver API driver (antarmuka untuk database Anda ) Gambar 9.1. The components and architecture of a JDBC API IX- 2

Tabel 9.1. Classes defined in the JDBC API Classes Function DriverManager Handle loading and unloading of drivers and establish a connection to a database DriverPropertyInfo All methods defined in this class are used to setup or retrieve properties of a driver. The properties can then be used by the Connection object to connect to the database Type The Type class is only used to define the constants used for identifying of the SQL types Date This class contains methods to perform conversion of SQL date formats and Java Date objects Time This class is similar to the Date class, and it contains methods to convert between SQL time and Java Time object TimeStamp This class provides additional precision to the Java Date object by adding a nanosecond field Tabel 9.2. Interfaces defined in the JDBC API Interfaces Function Driver The primary use of the Driver interface is to create the Connection objects. It can also be used for the collection of JDBC driver meta data and JDBC driver status checking Connection This interface is used for the maintenance and status monitoring of a database session. It also provides data access control through the use of transaction locking Statement The Statement methods are used to execute SQL statements and retrieve data from the ResultSet object PreparedStatement This interface is used to execute precompile SQL statements. Precompile statements allow for faster and more efficient statement execution, and more important, it allows running dynamic query with querying parameters variation. This interface can be considered as a subclass of the Statement CallableStatement This interface is mainly used to execute SQL stored procedures. Both IN and OUT parameters are supported. This interface can be considered as a subclass of the Statement ResultSet The ResultSet object contains the queried result in rows and columns format. This interface also provides methods to retrieve data returned by an SQL statement execution. It also contains methods for SQL data type and JDBC data type conversion ResultSetMetaData This interface contains a collection of metadata information or physical descriptions associated with the last ResultSet object DatabaseMetaData This interface contains a collection of metadata regarding to the database used, including the database version, table names, columns, and supported functions IX- 3

6. Cara Kerja JDBC Gambar 9.2.. Cara Kerja JDBC Gambar 9.3. Source Code JDBC Test 7. Tahapan Akses Database IX- 4

III. GUIDED (APLIKASI BIODATA) 1. Buatlah database dengan menggunakan mysql, dengan desain tabel sebagai berikut : CREATE TABLE anggota ( -> id INT NOT NULL AUTO_INCREMENT, nama VARCHAR(50) NOT NULL, -> alamat VARCHAR(100) NOT NULL, -> telp VARCHAR(30) NOT NULL, -> PRIMARY KEY (id )); 2. Buatlah aplikasi biodata dengan desain seperti gambar dibawah ini. Langkah-langkah : a. Buatlah projek baru di Netbeans pilih File New Project. b. Pilih Categories Java dengan Projects Java Application klik Next. c. Isi nama project dengan TestDatabase dan pilih lokasi (folder) project yang akan Anda kerjakan d. Hilangkan tanda (V) pada check box Set as Main Project dan Create Main Class klik finish e. Kemudian desainlah sebuah tampilan aplikasi seperti gambar dibawah ini Text Field MySQL JDBC Label jtabel Button f. Kemudian buatlah source code berikut ini : package tes.database; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import javax.swing.joptionpane; import javax.swing.table.defaulttablemodel; public class FormKoneksi extends javax.swing.jframe private static Connection koneksi; private DefaultTableModel model; /** * Creates new form FormKoneksi */ public FormKoneksi() initcomponents(); model=new DefaultTableModel(); this.jtable1.setmodel(model); IX- 5

model.addcolumn("id"); model.addcolumn("nama"); model.addcolumn("alamat"); model.addcolumn("telepon"); ambil_data_tabel(); private static Connection buka_koneksi() if (koneksi==null) try String url="jdbc:mysql://localhost:3306/belajar"; String user="root"; String password=""; DriverManager.registerDriver(new com.mysql.jdbc.driver()); koneksi=drivermanager.getconnection(url,user,password); catch (SQLException t) System.out.println("Error membuat koneksi"); return koneksi; private void ambil_data_tabel() model.getdatavector().removeallelements(); model.firetabledatachanged(); try Connection c=buka_koneksi(); Statement s= c.createstatement(); String sql="select * from anggota"; ResultSet r=s.executequery(sql); while (r.next()) Object[] o=new Object[4]; o[0]=r.getstring("id"); o[1]=r.getstring("nama"); o[2]=r.getstring("alamat"); o[3]=r.getstring("tlp") model.addrow(o); r.close(); s.close(); ambil_tabel_klik(); catch(sqlexception e) System.out.println("Terjadi kesalahan "+e.getmessage()); private void ambil_tabel_klik() int i=this.jtable1.getselectedrow(); if(i==-1) return; String kode=(string) model.getvalueat(i, 0); this.lblkode.settext(kode); String nama=(string) model.getvalueat(i, 0); this.txtnama.settext(nama); String alamat=(string) model.getvalueat(i, 1); this.txtalamat.settext(alamat); String tlp=(string) model.getvalueat(i, 2); this.txttelepon.settext(tlp); IX- 6

private void jtable1mouseclicked(java.awt.event.mouseevent evt) this.ambil_tabel_klik(); private void cmbaddactionperformed(java.awt.event.actionevent evt) Connection c=buka_koneksi(); if("add".equals(this.cmbadd.gettext())) this.cmbadd.settext("save"); this.cmbedit.settext("cancel"); this.cmbdelete.enable(false); this.cmbrefresh.enable(false); this.lblkode.settext("0"); this.txtnama.settext(""); this.txtalamat.settext(""); this.txttelepon.settext(""); else if("save".equals(this.cmbadd.gettext())) String sqlkode="insert into anggota (`nama`,`alamat`,`tlp`) " + "values ('"+this.txtnama.gettext()+"'," + "'"+this.txtalamat.gettext()+"'," + "'"+this.txttelepon.gettext()+"')"; try PreparedStatement p2=(preparedstatement) c.preparestatement(sqlkode); p2.executeupdate(); p2.close(); catch (SQLException ex) JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getmessage()); this.cmbadd.settext("add"); this.cmbedit.settext("edit"); this.cmbdelete.enable(true); this.cmbrefresh.enable(true); else if("update".equals(this.cmbadd.gettext())) String sqlkode="update anggota SET `nama`='"+this.txtnama.gettext()+"'," + "`alamat`='"+this.txtalamat.gettext()+"'," + "`tlp`='"+this.txttelepon.gettext()+"' " + "Where ID='"+this.lblKode.getText()+"'"; try PreparedStatement p2=(preparedstatement) c.preparestatement(sqlkode); p2.executeupdate(); p2.close(); catch (SQLException ex) JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getmessage()); this.cmbadd.settext("add"); this.cmbedit.settext("edit"); this.cmbdelete.enable(true); this.cmbrefresh.enable(true); private void cmbeditactionperformed(java.awt.event.actionevent evt) if("edit".equals(this.cmbedit.gettext())) this.cmbadd.settext("update"); IX- 7

this.cmbedit.settext("cancel"); this.cmbdelete.enable(false); this.cmbrefresh.enable(false); else if("cancel".equals(this.cmbedit.gettext())) this.cmbadd.settext("add"); this.cmbedit.settext("edit"); this.cmbdelete.enable(true); this.cmbrefresh.enable(true); private void cmbdeleteactionperformed(java.awt.event.actionevent evt) Connection c=buka_koneksi(); String sqlkode="delete from anggota " + "Where ID='"+this.lblKode.getText()+"'"; try PreparedStatement p2=(preparedstatement) c.preparestatement(sqlkode); p2.executeupdate(); p2.close(); catch (SQLException ex) JOptionPane.showMessageDialog(this, "Terjadi kesalahan "+ex.getmessage()); private void cmbrefreshactionperformed(java.awt.event.actionevent evt) ambil_data_tabel(); /* Create and display the form */ java.awt.eventqueue.invokelater(new Runnable() public void run() new FormKoneksi().setVisible(true); ); // Variables declaration - do not modify private javax.swing.jtextfield TxtAlamat; private javax.swing.jtextfield TxtNama; private javax.swing.jtextfield TxtTelepon; private javax.swing.jbutton cmbadd; private javax.swing.jbutton cmbdelete; private javax.swing.jbutton cmbedit; private javax.swing.jbutton cmbrefresh; private javax.swing.jlabel jlabel1; private javax.swing.jlabel jlabel2; private javax.swing.jlabel jlabel3; private javax.swing.jlabel jlabel4; private javax.swing.jpanel jpanel1; private javax.swing.jscrollpane jscrollpane1; private javax.swing.jtable jtable1; private javax.swing.jlabel lblkode; // End of variables declaration IX- 8