Tutorial Aplikasi Database Matakuliah Berbasis Java Swing ...

107 downloads 1153 Views 765KB Size Report
Berikut ini saya buatkan tutorial sederhana untuk membuat aplikasi database matakuliah dengan Java dan basis data MySQL. Dalam membuat aplikasi ini saya ...
Tutorial Aplikasi Database Matakuliah Berbasis Java Swing Menggunakan Java Database Connectivity (JDBC) (Ramos Somya, S.Kom., M.Cs.) Buat teman-teman yang sedang mengambil matakuliah Pemrograman Berorientasi Objek Lanjut, di dalam materi kuliah terdapat materi tentang JDBC, yaitu bagaimana membuat aplikasi Java dengan akses ke basis data. Berikut ini saya buatkan tutorial sederhana untuk membuat aplikasi database matakuliah dengan Java dan basis data MySQL. Dalam membuat aplikasi ini saya menggunakan beberapa tools sebagai berikut: - NetBeans IDE 6.7.1 (Bisa juga pakai NetBeans versi terbaru) - MySQL 5.0 (Saya gunakan Query Browser sebagai front end usernya) Langsung saja berikut langkah-langkahnya: 1. Pertama kita buat dulu database beserta tabelnya yang akan digunakan untuk menyimpan data matakuliah. Caranya buka MySQL – MySQL Query Browser

2.

Akan muncul tampilan seperti berikut:

3.

Untuk isian Server Host, Username, Port dan Password dapat kita setting terlebih dahulu setelah kita instal MySQL-nya, cara setting-nya buka MySQL – MySQL Server 5.0 – MySQL Server Instance Config Wizard.

1

4.

Pilih Next terus sampai ketemu jendela untuk mengatur port seperti berikut:

5.

Pilih port sesuai dengan port yang tersedia, dan klik Next sampai ketemu jendela untuk pengaturan password:

6.

Tentukan password yang diinginkan (misal: admin). Contreng pada Enable root access from remote machine (supaya database bisa diakses melalui jaringan). Klik Next dan klik Execute:

2

7.

8.

9.

Jika sudah berhasil masuk kembali ke MySQL Query Browser, masukkan Server Host: localhost, Port: 3306, Username: root, Password: sesuai password yang disetting pada Config Wizard tadi. Setelah itu klik OK, jika muncul jendela seperti di bawah ini, tekan Ignore.

Setelah masuk di MySQL Query Browser, buat database dengan nama: db_matakuliah. Caranya klik kanan pada bagian Schemata dan pilih Create New Schema.

10. Berikan nama databasenya: db_matakuliah dan tekan OK. 11. Selanjutnya buat tabel pada database tersebut, caranya klik kanan pada db_matakuliah dan pilih Create New Table. Isikan sebagai berikut:

3

12. Tekan Apply Changes dan Execute. 13. Jika berhasil, maka database dan tabelnya sudah siap untuk kita gunakan. Selajutnya kita buat aplikasi untuk mengakses database db_matakuliah tadi, yaitu untuk memasukkan data matakuliah dan melihat daftar matakuliah. Caranya: Buka Netbeans dan buat sebuah project (Java Application), berikan namanya misal: Matakuliah 14. Buat 4 buah package pada project tersebut, yaitu: connection, model, view dan controller.

15. Selanjutnya tambahkan driver untuk konektor Java dengan database MySQL, caranya klik kanan pada bagian Libraries dan pilih Add Library – Pilih MySQL JDBC Driver dan klik Add Library.

4

16. Hasilnya sebagai berikut:

17. Berikutnya kita buat kode program untuk koneksi Java ke database MySQL, caranya klik kanan pada package connection dan tambahkan Java Class dan ketikkan kode program berikut: (sesuaikan password databasenya)

5

18. Tambahkan Java Class pada package model dan beri nama: Matakuliah serta tambahkan kode program berikut:

Tambahkan setter dan getter untuk 6 atribut di atas. 19. Pada package view tambahkan sebuah Jframe Form dengan nama FormMatkul dan desainlah seperti berikut:

20. Pada package controller tambahkan Java Class dengan nama MatakuliahCon dan tambahkan kode program berikut:

6

package controller; import import import import import import

connection.MyConnection; java.sql.Connection; java.sql.PreparedStatement; java.util.logging.Level; java.util.logging.Logger; model.Matakuliah;

/** * * @author Ramos Somya */ public class MatakuliahCon { private Connection connection = null; public MatakuliahCon() { this.connection = new MyConnection().getConnection(); } public String insertMatakuliah(Matakuliah mk) { String status = "Gagal"; try { PreparedStatement stm = connection.prepareStatement("INSERT INTO matakuliah(kode_matakuliah, nama_matakuliah, sks, hari, jam, ruang) VALUES (?,?,?,?,?,?)"); stm.setString(1, mk.getKode_matakuliah()); stm.setString(2, mk.getNama_matakuliah()); stm.setInt(3, mk.getSks()); stm.setString(4, mk.getHari()); stm.setString(5, mk.getJam()); stm.setString(6, mk.getRuang()); stm.executeUpdate(); status = "Data Berhasil Disimpan"; } catch (Exception ex) { Logger.getLogger(MatakuliahCon.class.getName()).log(Level.SEVERE, null, ex); } return status; } }

21. Pada ActionButton Simpan pada view, tambahkan kode program berikut ini: Matakuliah m = new Matakuliah(); m.setKode_matakuliah(txtKodeMatakuliah.getText()); m.setNama_matakuliah(txtNamaMatakuliah.getText()); m.setSks(Integer.parseInt(txtSKS.getText())); m.setHari(cmbHari.getSelectedItem().toString()); m.setJam(txtJam.getText()); m.setRuang(txtRuang.getText()); String status = this.mc.insertMatakuliah(m); JOptionPane.showMessageDialog(this, status, "Konfirmasi", JOptionPane.INFORMATION_MESSAGE);

Tambahkan juga 2 atribut pada Class FormMatkul, yaitu: public MatakuliahCon mc = new MatakuliahCon(); public List listMakul = new ArrayList();

“Silahkan jalankan aplikasi dan tambahkan satu buah data matakuliah”

7

22. Berikutnya tambahkan 1 buat method pada class MatakuliahCon seperti berikut: public List getAll() { List makul = new ArrayList(); try { PreparedStatement stm = connection.prepareStatement("SELECT * FROM matakuliah"); ResultSet rs = stm.executeQuery(); while (rs.next()) { Matakuliah mk = new Matakuliah(); mk.setKode_matakuliah(rs.getString("kode_matakuliah")); mk.setNama_matakuliah(rs.getString("nama_matakuliah")); mk.setSks(rs.getInt("sks")); mk.setHari(rs.getString("hari")); mk.setJam(rs.getString("jam")); mk.setRuang(rs.getString("ruang")); makul.add(mk); } } catch (Exception e) { e.printStackTrace(); } return makul; }

23. Pada Class FormMatkul tambahkan 1 method: public void bindMatakuliah() { listMakul = mc.getAll(); if (!listMakul.isEmpty()) { Object[][] data = new Object[this.listMakul.size()][6]; int i = 0; for (Matakuliah mtk : this.listMakul) { data[i][0] = mtk.getKode_matakuliah(); data[i][1] = mtk.getNama_matakuliah(); data[i][2] = mtk.getSks(); data[i][3] = mtk.getHari(); data[i][4] = mtk.getJam(); data[i][5] = mtk.getRuang(); ++i; } this.jTable1.setModel(new DefaultTableModel(data, new String[]{"Kode Makul", "Nama Makul", "SKS", "Hari", "Jam", "Ruang"})); this.jScrollPane1.setViewportView(this.jTable1); } else { this.jTable1.setEnabled(true); } }

24. Panggil method bindMatakuliah() tersebut pada constructor class FormMatkul dan pada bagian setelah perintah insert pada ButtonAction Simpan. 25. Hasilnya seperti berikut:

8

 Silahkan dikembangkan untuk proses update dan delete data.

Good Luck

9