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

Postingan populer dari blog ini

Cara Mendengarkan Retjo Buntung FM Jogja melalui internet

Membuat Homepage Website