Cara menggunakan java mysql mentah

Pada kesempatan kali ini semarsoft akan share tentang tutorial CRUD di Java menggunakan Software Netbeans, Seperti biasa kita mempelajarinya menggunakan studi kasus, kali ini kita akan membuat Software Simple Presence menggunakan Database MySql

Sebelum itu kita siapkan terlebih dahulu software pendukungnya

  1. Netbeans, untuk praktikum kali ini semarsoft menggunakan versi 8. 2, Anda dapat menggunakan versi yang lebih tinggi
  2. JDK versi 10
  3. Xampp, untuk layanan web server dan database server
  4. Plugin rs2xml untuk mempermudah menampilkan database di datagrid
  5. Peramban

Daftar isi

Pembuatan Basis Data

  1. Pastikan perangkat lunak yang dibutuhkan sudah terinstal, seperti Netbeans IDE, XAMPP dan Browser
  2. Jalankan XAMPP kemudian aktifkan apache dan mysql hingga muncul seperti gambar di bawah ini
  3. Jika keduanya aktif, buka browser lalu ketikkan http. //localhost/phpmyadmin/ , di menu
    language/bahasa pilih English sehingga bahasa yang anda gunakan sama dengan yang ada di tutorial ini
  4. Klik menu database, pada menu create database ketik LSP, lalu klik tombol create

    Setelah menekan tombol create, akan ada nama database lsp_shobi di menu sebelah kiri
    Jika ingin lebih mudah, silahkan copy kode query dibawah ini pada menu SQL di Phpmyadmin seperti gambar diatas. CREATE DATABASE lsp_shobi;
  5. Langkah selanjutnya adalah membuat tabel dengan nama admin dengan struktur tabel sebagai berikut.

    atau rekatkan kode kueri berikut ke menu SQLCREATE TABLE `admin` ( `id` int(3) NOT NULL, `username` varchar(35) NOT NULL, `password` varchar(35) NOT NULL, `Nama` varchar(45) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_
  6. Kemudian buat tabel dengan nama siswa dengan struktur tabel sebagai berikut

    Gunakan Kueri berikut untuk mempercepat pelatihan kamiCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  7. Selanjutnya buat tabel dengan nama presensi dengan struktur tabel berikut

    Gunakan kode Kueri berikut untuk menyederhanakanCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  8. Yang terakhir buatlah view table dengan nama vpresensi, view ini digunakan untuk memudahkan saat menampilkan data absensi siswa

    Kita dapat menjalankan Query berikut untuk menghasilkan tabel berdasarkan struktur di atasCREATE VIEW `vpresensi` AS select `presensi`.`id` AS `id`,`siswa`.`NIS` AS `NIS`,`siswa`.`NamaSiswa` AS `Nama Siswa`,`presensi`.`kehadiran` AS `Status Kehadiran`,`presensi`.`tgl` AS `tgl`,`presensi`.`ket` AS `ket`,`admin`.`Nama` AS `Penginput` from `presensi` join `siswa` on`presensi`.`NIS` = `siswa`.`NIS` join `admin` on`presensi`.`idAdmin` = `admin`.`id` ;

    Sampai di sini proses pembuatan database sudah selesai, maka hasil akhir dari proses pembuatan database kita adalah seperti pada ERDigaram ini,


    langkah selanjutnya adalah membuat proyek di Netbeans

Pembuatan proyek di Netbeans

    1. Jalankan Netbeans yang berhasil diinstal
    2. Buat Proyek baru, caranya
      Flik File > New Project > Java > JavaApplication
      Pada menu project isikan LSP_NAME pastikan tidak ada spasi hilangkan centang Create Main Class lalu tekan finish lihat gambar dibawah
    3. Pada proyek yang baru saja Anda buat, klik source package lalu klik kanan pada default package > New > Java Package
    4. Lalu isikan package name dengan nama "LSP"
    5. Pada menu library klik kanan > add library > MySQL JDBC Driver > Add Library
    6. Klik kanan lagi Pada menu library > ADD Jar > find rs2xml. jar (unduh di sini)
    7. Pada package LSP klik kanan > New > Java Class kemudian beri nama classnya dengan nama koneksi, perhatikan gambar di bawah ini
    8. Kemudian ketik kode di bawahpackage LSP; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.DefaultComboBoxModel; import javax.swing.JOptionPane; import net.proteanit.sql.DbUtils; /** * * @author semarsoft| RPL 2021 * */ public class koneksi { private Connection connection; private Statement statement; private ResultSet resultSet; public Integer id; public Integer getIdAdmin() { return id; } public void setIdAdmin(Integer id) { this.id = id; } public Connection getConnection() { return connection; } public void getCon() { try { String urlDatabase = "jdbc:mysql://localhost/lsp"; //alamat database String user = "root"; //user yang dipakai utk akses database String password = ""; //password yang digunakan utk akses database connection = DriverManager.getConnection(urlDatabase, user, password); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Koneksi Gagal! " + ex.getMessage()); } } public void Eksekusi(String Query, String Pesan){ try { statement=connection.createStatement(); statement.execute(Query); statement.close(); JOptionPane.showMessageDialog(null, Pesan); } catch (SQLException ex) { Logger.getLogger(koneksi.class.getName()).log(Level.SEVERE, null, ex); } } public void tampil(javax.swing.JTable table, String Query) { try { statement = connection.createStatement(); resultSet = statement.executeQuery(Query); table.setModel(DbUtils.resultSetToTableModel(resultSet)); statement.close(); resultSet.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, ex); } } public void combo(String Query, String ID,String Nama, javax.swing.JComboBox cb) { try { String showDataQuery = Query; statement = connection.createStatement(); resultSet = statement.executeQuery(showDataQuery); while (resultSet.next()) { cb.addItem(resultSet.getString(ID) + "-" + resultSet.getString(Nama)); } statement.close(); resultSet.close(); } catch (SQLException ex) { JOptionPane.showMessageDialog(null, "Gagal Menampilkan di combobox " + ex.getMessage()); } } }

Buat Formulir Masuk

  1. Pada Package LSP, buat JFrame Login Form, klik kanan Package LSP > New > JFrame Form > ketik
    nama kelas dengan nama Login
  2. Buatlah seperti gambar di bawah ini,

    Dengan nama properti, komponen dan variabel seperti pada gambar di bawah ini
    Nama Variabel Komponen pada Form Login
  3. Klik JPanel1 Kemudian lihat menu properti di sebelah kanan centang menu yang belum didekorasi , sesuaikan dengan gambar berikut
  4. Setelah itu pilih Border on property lalu pilih Titled Border, Isi Title dengan nama Login Page, jika masih kurang paham lihat tampilan berikut

Membuat Formulir Menu

  1. Pada LSP Paket, buat Menu Formulir JFrame, klik kanan Paket LSP > Baru > Formulir JFrame > ketik
    nama kelas dengan nama Menu
  2. Tambahkan komponen Desktop Pane, lalu tambahkan menu bar di atasnya, lihat tampilan di bawah ini
  3. Tambahkan menu dengan cara klik kanan pada menu bar paling kiri > pilih Add Menu
  4. Buat Sub Menu dengan mengklik kanan File > Add Drom Palette > Item Menu
  5. Klik kanan lalu pilih Edit Text dan beri nama Exit, Change the Variable dengan cara klik Change Variable Name lalu isikan dengan nama Exit
  6. Selanjutnya buat Master Menu dan Sub menu
  7. Kemudian buat Menu Transaksi dan sub menunya
  8. Hingga variabelnya seperti gambar di bawah ini

    Hati-hati saat menulis variabel, pastikan semuanya ditulis persis sama

Buat Formulir Pengguna

    1. Pada Package LSP, buat JInternalFrame User Form, klik kanan Package LSP > New > Other >
      Ayunkan Formulir GUI > buat nama kelas tipe Formulir JInternalFrame dengan nama Pengguna
    2. Seperti proses membuat form Login, sekarang jadikan seperti gambar di bawah ini

      Ubah Variabel seperti gambar di bawah ini
    3. Ubah properti Closable, maximizable, dan resizable pada InternalFrame seperti pada gambar di bawah ini
      ini

Membuat Formulir Siswa

  1. Pada LSP Package, buat JInternalFrame Form Siswa, klik kanan LSP Package > New > JInternalFrame Form, ketikkan nama kelas dengan nama siswa
  2. Buat formulir seperti gambar di bawah ini
  3. Ubah Teks dan Variabel sesuai dengan aturan di bawah ini

Membuat Formulir Kehadiran

  1. Pada LSP Package, buat JInternalFrame Presence Form, klik kanan Package LSP > New > JInternalFrame Form, ketik nama class dengan nama Presence, buat tampilan seperti pada gambar di bawah ini
  2. Ubah Nama Variabel dan Teks seperti yang ditunjukkan pada gambar di bawah ini
    Events > Mouse > MouseClicked
    CREATE TABLE `admin` ( `id` int(3) NOT NULL, `username` varchar(35) NOT NULL, `password` varchar(35) NOT NULL, `Nama` varchar(45) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;9

     

Formulir Siswa

  1. Buat objek koneksi terlebih dahuluCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;0
  2. Buat Metode yang muncul, hidup dan matiCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;1
  3. Sebut metode tampilan, hidup dan mati di bawah struktur SiswaCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;2
  4. Tambahkan TombolCREATE TABLE `admin` ( `id` int(3) NOT NULL, `username` varchar(35) NOT NULL, `password` varchar(35) NOT NULL, `Nama` varchar(45) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_5
  5. Ubah TombolCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_4
  6. Tombol hapusCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_5
  7. Tombol SimpanCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_6

     

  8. Klik Mouse JTableCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_7
  9. Tombol CariCREATE TABLE `siswa` ( `NIS` int(8) NOT NULL, `NamaSiswa` varchar(80) NOT NULL, `JK` enum('L','P') NOT NULL, `Kelas` varchar(20) NOT NULL, `Alamat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_8

Formulir kehadiran

  1. Buat objek koneksi terlebih dahulu________2______9

    Variabel Nis1 ini digunakan untuk menampung nilai NIS pada saat pemilihan item pada NIS Combo, variabel Nis1 ini nantinya digunakan untuk menyimpan NIS di database

  2. Buat Metode untuk menampilkan, menampilkan Combo, menghidupkan dan mematikanCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;0
  3. Panggil metode tampilan, displayCombo, hidup dan mati di bawah struktur SiswaCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;1
  4. Tambahkan TombolCREATE TABLE `admin` ( `id` int(3) NOT NULL, `username` varchar(35) NOT NULL, `password` varchar(35) NOT NULL, `Nama` varchar(45) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_5
  5. Tombol HapusCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_3
  6. Tombol SimpanCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_4

    Perhatikan, untuk nis kita menggunakan variabel yang sudah kita deklarasikan diatas yaitu Nis1. Jangan berikan dari cbNis. getSelectedItem(), agar tidak terjadi error

  7. Klik Mouse JTableCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;5
  8. Tombol CariCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_6
  9. Kotak kombo NisCREATE TABLE `presensi` ( `id` int(3) NOT NULL, `idAdmin` int(3) NOT NULL, `NIS` int(8) NOT NULL, `kehadiran` char(1) NOT NULL, `tgl` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), `ket` varchar(40) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;_7

    Perintah ditempatkan pada nis combo, fungsinya untuk memisahkan antara NIS dan Nama yang terdapat pada Combo

    Mengapa perlu dilanggar?

    Ya, karena kita hanya membutuhkan NIS, dan di database tipe data untuk NIS adalah integer, jadi jika kita tidak membuat fungsi ini, maka data NIS tidak akan tersimpan, karena nilai yang dimasukkan berupa string.

Postingan terbaru

LIHAT SEMUA