Contoh Pembuatan Database Sederhana Hotel dengan XAMPP dan Netbeans
Contoh Pembuatan Database Sederhana dengan XAMPP dan Netbeans
Buka aplikasi XAMPP dengan
double-click icon. Jalankan Apache dan
Mysql.
Pilih XAMPP-Shell >>
Yes. Akan muncul prompt, tuliskan “mysql
–u root –p”, Enter pada Enter Password.
Buat database dengan perintah
“create database ….;”. Karena saya akan membuat
database hotel, saya ketikkan “create database hotel;”
Tampilkan bahwa database saya
sudah jadi dengan perintah “show databases;”
Masuk ke dalam database hotel
dengan perintah “use hotel;”
Buat table di dalam database
hotel dengan perintah “create table … (nama_field type(ukuran),nama_field
type(ukuran),…);"
Disini saya membuat tabel
kamar, pegawai dan pelanggan. Saya
tampilkan tabel dengan perintah “show tables;”
Lihat struktur tabel kamar
dengan perintah “desc kamar;”
Lihat struktur tabel pegawai
dengan perintah “desc pegawai;”
Lihat struktur tabel pelanggan
dengan perintah “desc pelanggan;”
Buka Aplikasi Netbeans, buat
project bernama Hotelku.
Buat JFrame Form di dalam
project Hotelku. Beri nama FrameHotel.
Masukkan Desktop Pane.
Masukkan Menu Bar dan beri item
sesuai tabel.
Tambahkan Internal Frame sesuai
kebutuhan, letakkan di luar frame.
Buat desain pada tiap Internal
Frame.
a.
FramePegawai
b.
FramePelanggan
c.
FrameKamar
d.
FrameGajiPegawai
Beri nama setiap komponen yang
dipakai agar mudah saat digunakan di source.
(klik kanan komponen >> Change Variable Name >> beri nama
yang mudah diingat {misal tfCari, btCari, dll})
Buat Source awal.
Buat Source untuk koneksi
database, dan panggil di bawah initComponents();.
Buat agar dapat menampilkan
data pegawai dengan source berikut.
// TAMPILKAN DATA PEGAWAI KE TABEL
private void bacaDataPegawai()
{
try
{
Stm = Con.createStatement();
RsPegawai =
Stm.executeQuery("Select * from pegawai order by id");
ResultSetMetaData meta =
RsPegawai.getMetaData();
int col = meta.getColumnCount();
int baris = 0;
while(RsPegawai.next())
{
baris = RsPegawai.getRow();
}
dataTabel = new Object[baris][col];
int x = 0;
RsPegawai.beforeFirst();
while(RsPegawai.next())
{
dataTabel[x][0] =
RsPegawai.getString("id");
dataTabel[x][1] =
RsPegawai.getString("nama");
dataTabel[x][2] =
RsPegawai.getString("jenis_kelamin");
dataTabel[x][3] =
RsPegawai.getString("umur");
dataTabel[x][4] =
RsPegawai.getString("alamat");
dataTabel[x][5] =
RsPegawai.getString("gaji");
x++;
}
tabelFramePegawai.setModel(new
DefaultTableModel(dataTabel, headerpegawai));
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,
e);
}
}
Buat agar dapat menampilkan
data pelanggan dengan source berikut.
// TAMPILKAN DATA PELANGGAN KE TABEL
private void bacaDataPelanggan()
{
try
{
Stm = Con.createStatement();
RsPelanggan =
Stm.executeQuery("Select * from pelanggan order by id_palanggan");
ResultSetMetaData meta = RsPelanggan.getMetaData();
int col = meta.getColumnCount();
int baris = 0;
while(RsPelanggan.next())
{
baris = RsPelanggan.getRow();
}
dataTabel = new Object[baris][col];
int x = 0;
RsPelanggan.beforeFirst();
while(RsPelanggan.next())
{
dataTabel[x][0] = RsPelanggan.getString("id_palanggan");
dataTabel[x][1] =
RsPelanggan.getString("nama_pelanggan");
dataTabel[x][2] =
RsPelanggan.getString("umur_pelanggan");
dataTabel[x][3] =
RsPelanggan.getString("alamat");
x++;
}
tabelFramePelanggan.setModel(new
DefaultTableModel(dataTabel, headerpelanggan));
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,
e);
}
}
Buat agar dapat menampilkan
data kamar dengan source berikut.
// TAMPILKAN DATA KAMAR KE TABEL
private void bacaDataKamar()
{
try
{
Stm = Con.createStatement();
RsKamar =
Stm.executeQuery("Select * from kamar order by id_kamar");
ResultSetMetaData meta =
RsKamar.getMetaData();
int col = meta.getColumnCount();
int baris = 0;
while(RsKamar.next())
{
baris = RsKamar.getRow();
}
dataTabel = new Object[baris][col];
int x = 0;
RsKamar.beforeFirst();
while(RsKamar.next())
{
dataTabel[x][0] =
RsKamar.getString("id_kamar");
dataTabel[x][1] =
RsKamar.getString("type");
dataTabel[x][2] =
RsKamar.getString("biaya");
x++;
}
tabelFrameKamar.setModel(new
DefaultTableModel(dataTabel, headerkamar));
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null,
e);
}
}
Panggil no. 19, 20, 21 di bawah
initComponents();.
Buat source agar dapat
menyimpan data yang telah diinputkan pada FramePegawai. Kemudian panggil di tombol/button Simpan
FramePegawai.
Buat source agar dapat
menyimpan data yang telah diinputkan pada FramePelanggan. Kemudian panggil di tombol/button Simpan
FramePelanggan.
Buat source agar dapat
menyimpan data yang telah diinputkan pada FrameKamar. Kemudian panggil di tombol/button Simpan
FrameKamar.
Atur dengan source berikut agar
ketika tombol/button Refresh FramePegawai diklik, semua textfield menjadi
kosong. Kemudian panggil di
tombol/button Refresh FramePegawai.
Atur dengan source berikut agar
ketika tombol/button Refresh FramePelanggan diklik, semua textfield menjadi
kosong. Kemudian panggil di
tombol/button Refresh FramePelanggan.
Atur dengan source berikut agar
ketika tombol/button Refresh FrameKamar diklik, semua textfield menjadi
kosong. Kemudian panggil di
tombol/button Refresh FrameKamar.
Ketikkan source berikut agar
data FramePegawai yang diinputkan bisa
masuk ke tabel. Kemudian panggil di
tabelFramePegawaiMouseClicked (klik kanan tabel >> Events >> Mouse
>> Mouse Clicked)
Ketikkan juga source ini
di bawah source di atas untuk mengatur tombol/button Update FramePegawai. Kemudian panggil di bawahnya (di
tabelFramePegawaiMouseClicked)
Ketikkan source berikut agar
data FramePelanggan yang diinputkan bisa
masuk ke tabel. Kemudian panggil di
tabelFramePelangganMouseClicked (klik kanan tabel >> Events >>
Mouse >> Mouse Clicked)
Ketikkan juga source ini
di bawah source di atas untuk mengatur tombol/button Update
FramePelanggan. Kemudian panggil di
bawahnya (di tabelFramePelangganMouseClicked)
Ketikkan source berikut agar
data FrameKamar yang diinputkan bisa masuk ke tabel. Kemudian panggil di
tabelFrameKamarMouseClicked(klik kanan tabel >> Events >> Mouse
>> Mouse Clicked)
Ketikkan juga source ini
di bawah source di atas untuk mengatur tombol/button Update FrameKamar. Kemudian panggil di bawahnya (di
tabelFrameKamarMouseClicked) juga di bawah initComponents bersama dengan milik
FramePegawai dan FramePelanggan.
Ketikkan source berikut agar
dapat menghapus data FramePegawai yang sudah diinputkan ke
tabelFramePegawai. Panggil source ini di
tombol/button Hapus FramePegawai.
Ketikkan source berikut agar
dapat menghapus data FramePelanggan yang sudah diinputkan ke
tabelFramePelanggan. Panggil source ini
di tombol/button Hapus FramePelanggan.
Ketikkan source berikut agar
tombol/button Update FramePegawai dapat berfungsi ketika diklik. Panggil source ini di tombol/button Update
FramePegawai.
//Method untuk Update Data Pegawai
private void updateDataPegawai()
{
String tID= tfIdPegawai.getText();
String tNama =
tfNamaPegawai.getText();
String tJK = tfJKPegawai.getText();
String tUmur =
tfUmurPegawai.getText();
String tAlamat =
tfAlamatPegawai.getText();
String tGaji =
tfGajiPegawai.getText();
try
{
String message = "Update Data
Ini";
int baris =
JOptionPane.showConfirmDialog(null, message, "Konfirmasi Update
Data", JOptionPane.YES_NO_OPTION);
if (baris == 0)
{
String sql = "Update pegawai set
id = '"+tID+"',nama = '"
+tNama+"',"+
"jenis_kelamin = '"+tJK+"',umur =
'"+tUmur+"',alamat = '"+tAlamat+"',gaji =
'"+tGaji+"' where id= '"+tID+"'";
Stm.executeUpdate(sql);
Stm.close();
JOptionPane.showMessageDialog(null,
"Update Data Berhasil");
kosongPegawai();
bacaDataPegawai();
setTombolPegawai(true);
}
kosongPegawai();
setTombolPegawai(true);
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);
}
Ketikkan
source berikut agar tombol/button Update FramePelanggan dapat berfungsi ketika
diklik. Panggil source ini di
tombol/button Update FramePelanggan.
//Method untuk Update Data Pelanggan
private void updateDataPelanggan()
{
String tID1= tfIdPelanggan.getText();
String tNama1 =
tfNamaPelanggan.getText();
String tUmur1 =
tfUmurPelanggan.getText();
String tAlamat1 =
tfAlamatPelanggan.getText();
try
{
String message = "Update Data Ini";
int baris =
JOptionPane.showConfirmDialog(null, message, "Konfirmasi Update
Data", JOptionPane.YES_NO_OPTION);
if (baris == 0)
{
String sql = "Update pelanggan
set id_palanggan = '"+tID1+"',nama_pelanggan = '"
+tNama1+"',"+
"umur_pelanggan = '"+tUmur1+"',alamat =
'"+tAlamat1+"' where id_palanggan= '"+tID1+"'";
Stm.executeUpdate(sql);
Stm.close();
JOptionPane.showMessageDialog(null,
"Update Data Berhasil");
kosongPelanggan();
bacaDataPelanggan();
setTombolPelanggan(true);
}
kosongPelanggan();
setTombolPelanggan(true);
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);}
Ketikkan source berikut agar
tombol/button Update FrameKamar dapat berfungsi ketika diklik. Panggil source ini di tombol/button Update
FrameKamar.
//Method untuk Update Data Kamar
private void updateDataKamar()
{
String tID2= tfIdKamar.getText();
String tType = tfTypeKamar.getText();
String tBiaya =
tfBiayaKamar.getText();
try
{
String message = "Update Data
Ini";
int baris =
JOptionPane.showConfirmDialog(null, message, "Konfirmasi Update
Data", JOptionPane.YES_NO_OPTION);
if (baris == 0)
{
String sql = "Update kamar set
id_kamar = '"+tID2+"',type = '"
+tType+"',"+
"biaya = '"+tBiaya+"' where id_kamar=
'"+tID2+"'";
Stm.executeUpdate(sql);
Stm.close();
JOptionPane.showMessageDialog(null,
"Update Data Berhasil");
kosongKamar();
bacaDataKamar();
setTombolKamar(true);
}
kosongKamar();
setTombolKamar(true);
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, e);
}
}
Ketikkan source berikut agar
dapat melakukan pencarian setelah tombol/button Cari FrameGajiPegawai diklik
dan hasil pencarian masuk ke label.
Panggil source ini di tombol/button Cari FrameGajiPegawai.
Ketikkan source berikut agar
FramePegawai dapat tampil saat MenuBar Data Pegawai dipilih. Dan panggil di MenuPegawaiMouseClicked (klik
kanan MenuBar Data Pegawai >> Events >> Mouse >>
MouseClicked).
Ketikkan source berikut agar
FramePelanggan dapat tampil saat MenuBar Data Pelanggan dipilih. Dan panggil di MenuPelangganMouseClicked
(klik kanan MenuBar Data Pelanggan >> Events >> Mouse >>
MouseClicked).
Ketikkan source berikut agar
FrameKamar dapat tampil saat MenuBar Data Kamar dipilih. Dan panggil di MenuKamarMouseClicked (klik
kanan MenuBar Data Kamar >> Events >> Mouse >> MouseClicked).
Ketikkan source berikut agar FrameGajiPegawai
dapat tampil saat MenuBar Gaji Pegawai dipilih.
Dan panggil di MenuGajiMouseClicked (klik kanan MenuBar Gaji Pegawai
>> Events >> Mouse >> MouseClicked).
Double klik setiap
tombol/button Keluar yang terdapat di frame, kemudian ketikkan perintah
“dispose();”. Ini berguna agar program
langsung tertutup ketika tombol/button Keluar diklik.
Jalankan program dengan Run
File atau Shift+F6.
##Selamat Mencoba##
NB : Ketik sampai selesai dulu, karena error sebelum pengetikan
selesai itu biasa.
Kalau setelah selesai pengetikan masih error, itu perlu ditanyakan :)
Komentar
Posting Komentar