ComboBox dengan Database pada Java

java

ComboBox adalah komponen GUI Swing pada Java yang digunakan untuk menampilkan suatu item dalam bentuk menu kebawah atau drop down list. Item yang terdapat pada ComboBox bisa kita tambahkan secara hard coding, yaitu kita ketik manual pada saat kita melakukan coding. Misal :

ataupun itemnya dinamis berasal dari database.

Pada tutorial ini saya ingin berbagi tentang teknik meload data dari database untuk dimasukkan sebagai item pada combobox. Aplikasi yang akan saya buat cukup menggunakan plain Jdbc, tidak menggunakan ORM seperti Hibernate dengan tujuan agar pembaca pemula pun bisa memahami teknik tersebut.

Hasil akhir dari tutorial ini adalah seperti nampak pada gambar berikut:
ss aplikasi

Setiap kali item pada ComboBox diubah maka nama yang muncul pada textbox pun akan menyesuaikan sesuai dengan data yang berada pada item ComboBox.

Untuk tutorial ini saya menggunakan sebuah table dengan nama mahasiswa yang memiliki struktur sebagai berikut:

Silahkan buat table tersebut dan tambahkan beberapa data untuk mengisi tabel diatas.

Langkah selanjutnya adalah menciptakan projek pada Netbeans dengan nama ComboBoxDB. Tambahkan beberapa package sehingga susunannya menjadi seperti gambar berikut:
struktur package

Berikutnya adalah menambahkan library Mysql JDBC Driver dengan cara klik kanan pada node Libraries kemudian pilih Add Library > MySQL JDBC Driver dan tampilan pada struktur project kita kali ini akan tampak menjadi seperti gambar dibawah ini:
struktur libraries

Tambahkan sebuah kelas domain yang merepresentasikan data yang ada pada database pada package comboboxdb.model, beri nama kelas sebagai Mahasiswa. Ketikkan kode berikut pada kelas tadi.

Setelah kelas domain model tercipta sekarang saatnya membuat kelas service pada package comboboxdb.service. Beri nama MahasiswaService lalu ketikkan kode dibawah ini

Kelas service seringnya digunakan untuk melakukan operasi-operasi untuk memanipulasi data pada tabel database. Akan tetapi untuk kesederhanaan tutorial ini maka saya hanya membuat method untuk operasi mengambil data dari database.

Buat juga kelas untuk menangani koneksi ke database. Buat kelas ini pada package comboboxdb.util dan beri nama Koneksi:

Konfigurasi yang berhubungan dengan database seperti username, password, server database dan nama database terdapat pada kelas ini.

Pada tahap ini kia telah menciptakan kelas-kelas pendukung aplikasi. Next step adalah membuat kelas utama kita yang berupa tampilan form menggunakan Java Swing. Buatlah kelas JFrame pada package comboboxdb.ui dengan nama FrameMain yang berisi JComboBox, JLabel, JTextField dan JButton.Desainlah tampilannya seperti pada gambar aplikasi yang sudah jadi diatas tadi.

Kita menginginkan pada saat aplikasi berjalan untuk pertama kali maka data dari database sudah masuk pada item di ComboBox. Untuk mencapainya maka kita perlu menambahkan kode pada constructor di kelas FramMain. Ubah menjadi seperti dibawah ini dan tambahkan juga method load() yang berguna meload data dari database dan kemdudian dimuat sebagai item pada ComboBox:

Kamu yang teliti pasti akan bertanya apa kegunaan dari statement ini

Fungsinya adalah supaya ComboBox kita merespon perubahan item dengan menampilkan nama mahasiswa sesuai item Nim yang dipilih pada ComboBox. Implementasinya terdapat pada kelas private yang bernama ComboBoxListener. Buatlah private kelas didalam kelas FrameMain dengan nama ComboBoxListener.

Dari coding diatas terlihat bahwa text field nama akan berisi nama mahasiswa sesuai item pada ComboBox.

Struktur akhir projek adalah seperti berikut:
struktur akhir

Coba running FrameMain. Jika tidak ada kesalahn seharusnya aplikasi berjalan dengan lancar.
ss aplikasi

test

Untuk mengetes apakah datanya benar, kita coba cocokkan dengan data yang berada di database

Jika masih mengalami kesulitan saya persilahkan untuk bertanya langsung melalui fitur komentar pada artikel ini.

Happy Coding 😀

Facebook Comments
 

Agung Setiawan

Agung Setiawan adalah software engineer di BukaLapak.com, penulis sekaligus pecinta sastra, dan pembaca buku

 
Halo, perkenalkan saya Agung Setiawan.
Saya Software Engineer di BukaLapak.
Simak pemikian saya soal dunia Software Engineering via Twitter di @agungsetiawanmu dan facebook
Blog ini saya update seminggu sekali jadi sering-sering saja mampir
Mau belajar Vim bareng saya?
Belajar ngoding dari nol menggunakan PHP

3 thoughts on “ComboBox dengan Database pada Java

  1. tutorialnya keren,,kira-kira kalo di terapin di java web bisa ga ya?
    soalnya ane lagi cari-cari tutorial pake ava web cara masukin ke database dengan combo box tapi blm nemu…
    thnks mas Agung.

Leave a Reply

Your email address will not be published. Required fields are marked *