Thursday, July 9, 2020

Supidan Zamzam Postingan Pertemuan 16-18

Langkah Pertama Buka XAMPP, kemudian aktifkan Apache dan MySQL.


Jika Sudah buka Browser anda, kemudian ketikan "localhost/phpmyadmin".


Akan muncul phymyadmin, selanjutnya buat Database dengan nama "databasemahasiswa" kemudian Klik Create.


Selanjutnya Buat 3 Tabel di databasemahasiswa.

Pertama buat Tabel "tblogin" yaitu untuk menyimpan data akun untuk login ke Aplikasi/Program.





Kedua buat Tabel "datamahasiswa", untuk menyimpan data tentang mahasiswa.




Ketiga buat Tabel "matakuliah", untuk menyimpan data tentang matakuliah.




Setelah Selesai membuat Database, Selanjutnya buka Netbeans Anda dan buatlah Project Baru.
Pilih File -> New Project.


Beri Nama Project anda, seperti berikut. Unceklis pada Create Main Class karena kita akan menggunakan JFrame Form.

Selanjutnya buat JFrame Form untuk Entry Data Mahasiswa. Klik Kanan pada nama Project anda -> Pilih New JFrame Form.


Tentukan nama JFrame dan nama Package seperti berikut :


Tambahkan file konektor sql, Klik kanan pada Libraries -> Pilih add Library.


Kemudian Pilih MySQL JDBC Driver.



Kemudian Design Form Entry Data Mahasiswa seperti dibawah ini.


Jika Sudah Ubah nama variabelnya, Klik Kanan pada Object -> kemudian pilih Change Variabel.


Ubah seperti berikut :


Selanjutnya ubah nama item pada ComboBox Jurusan, Jenis Kelamin dan Agama.

Klik Kanan Pada ComboBox -> Pilih Properties.


Kemudian ubah seperti berikut :

ComboBox Jurusan.


ComboBox Jenis Kelamin.


ComboBox Agama.

Selanjutnya Masukan Scrip Variabel dan Scrip untuk mengatur ukuran layar. Pilih Source.

Import yang dibutuhkan :
import java.awt.*;
import java.sql.*;
import javax.swing.*;

Scrip Variabel Conection. Letakan dibawah nama Class EntryDataMahasiswa
private Connection con_supidanZamzam;

Tambahkan Fungsi di Konstruktor EntryDataMahasiswa dan Code untuk ukuran layar seperti gambar dibawah.
        kosongkan_supidanZamzam();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Scrip untuk Fungsi kosongkan. Fungsi ini untuk menghapus inputan dikolom textfield dan ComboBox
private void kosongkan_supidanZamzam(){
        inputNim_supidanZamzam.setText("");
        inputNama_supidanZamzam.setText("");
        inputTelepon_supidanZamzam.setText("");
        inputJurusan_supidanZamzam.setSelectedIndex(-1);
        inputTTL_supidanZamzam.setText("");
        inputJenisKelamin_supidanZamzam.setSelectedIndex(-1);
        inputAlamat_supidanZamzam.setText("");
        inputAgama_supidanZamzam.setSelectedIndex(-1);
        inputNim_supidanZamzam.requestFocus();
    }

Berikutnya Code untuk Simpan Button. Klik Kanan pada Button Simpan -> Pilih Events -> Action -> actionPerformed. Kemudian Masukan Code Berikut :

try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://127.0.0.1/databasemahasiswa", "root", "");
    PreparedStatement pStatement = con_supidanZamzam.prepareStatement("INSERT INTO datamahasiswa(nim,nama,telepon,jurusan,TTL,jenis_kelamin,alamat,agama)"+ "VALUES (?,?,?,?,?,?,?,?)");
            pStatement.setString(1, inputNim_supidanZamzam.getText());
            pStatement.setString(2, inputNama_supidanZamzam.getText());
            pStatement.setString(3, inputTelepon_supidanZamzam.getText());
            pStatement.setString(4, (String) inputJurusan_supidanZamzam.getSelectedItem());
            pStatement.setString(5, inputTTL_supidanZamzam.getText());
            pStatement.setString(6, (String) inputJenisKelamin_supidanZamzam.getSelectedItem());
            pStatement.setString(7, inputAlamat_supidanZamzam.getText());
            pStatement.setString(8, (String) inputAgama_supidanZamzam.getSelectedItem());
            kosongkan_supidanZamzam();
            if(pStatement.executeUpdate()>0)
                JOptionPane.showMessageDialog(this, "Penambahan Sukses","Informasi",
                        JOptionPane.INFORMATION_MESSAGE);
            else 
                JOptionPane.showMessageDialog(this, "Penambahan Gagal","Informasi",
                        JOptionPane.INFORMATION_MESSAGE);
            
            pStatement.close();
            con_supidanZamzam.close();
        }
        catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }
        catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }

Selanjutnya Masukan Code untuk Button Clear dan Button Kembali ke Menu Utama.

Code untuk Button Clear :
    kosongkan_supidanZamzam();

Code untuk Button Kembali ke Menu Utama :
        new FormMenuUtama().setVisible(true);
        dispose();


Kemudian Run Form EntryDataMahasiswa, Klik Kanan pada Form EntryDataMahasiswa -> Run.

Ini adalah tampilan Form EntryDataMahasiswa. Jika Button Kembali di Klik dan error tidak apa-apa karena kita belum membuat Form Menu Utamanya.



Selanjutnya Buat JFrame Form untuk melihat Data Mahasiswa dari Database.

Klik Kanan pada Package ProgramData -> Pilih New -> Pilih JFrame Form.


Tentukan Nama JFrame Form seperti diberikut : 


Kemudian Design Form ViewDataMahasiswa seperti berikut :


Ubah nama variabel ScrolPane dengan Klik Kanan pada ScrolPane -> Pilih Change Variabel, ubah seperti berikut :



Selanjutnya Pilih Source, dan masukan code berikut :

Import yang dibutuhkan, letakan dibawah nama Package ProgramData.
import java.awt.*;
import java.sql.*;
import javax.swing.*;

Code Variabel untuk Koneksi, letakan dibawah nama Class ViewDataMahasiswa.
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;

Code Fungsi kosongkan dan untuk mengatur ukuran screen layar, letakan dibawah InitComponents().
        tampilTabel();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Selanjutnya Buat Fungsi untuk mengambil Data dari databasemahasiswa.
private Object[][] getData(){
        Object[][] data1 = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
            stat_supidanZamzam = con_supidanZamzam.createStatement();
            res_supidanZamzam = stat_supidanZamzam.executeQuery("SELECT * FROM datamahasiswa");
            res_supidanZamzam.last();
            int rowCount=res_supidanZamzam.getRow();
            res_supidanZamzam.beforeFirst();
            data1 = new Object[rowCount][8];
            int no=-1;
            while(res_supidanZamzam.next()){
                no=no+1;
                data1[no][0]=res_supidanZamzam.getString("nim");
                data1[no][1]=res_supidanZamzam.getString("nama");
                data1[no][2]=res_supidanZamzam.getString("telepon");
                data1[no][3]=res_supidanZamzam.getString("jurusan");
                data1[no][4]=res_supidanZamzam.getString("TTL");
                data1[no][5]=res_supidanZamzam.getString("jenis_kelamin");
                data1[no][6]=res_supidanZamzam.getString("alamat");
                data1[no][7]=res_supidanZamzam.getString("agama");
            }
            stat_supidanZamzam.close();
            con_supidanZamzam.close();
        }catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;
    }

Buat Fungsi tampilTabel untuk menampilkan isi dari database ke layar.
private void tampilTabel(){
        String [] columnNames = {"NIM","NAMA","TELEPON","JURUSAN","TTL","JENIS_KELAMIN","ALAMAT","AGAMA"};
        JTable table = new JTable(getData(), columnNames);
        jScrollPane_supidanZamzam.setViewportView(table);
   }

Masukan Code untuk Button Back atau kembali ke Menu Utama. Klik Kanan Pada Button Back -> Pilih Events -> Action -> actionPerformed.

Masukan Code Berikut :
        new FormMenuUtama().setVisible(true);
        dispose();


Selanjutnya Run Form ViewDataMahasiswa, Klik Kanan Pada Form ViewDataMahasiswa -> Pilih Run.

Ini adalah tampilan Form ViewDataMahasiswa.



Selanjutnya Buat JFrame Form EditDataMahasiswa, Klik Kanan pada Package ProgramData -> Pilih New -> JFrame Form.


Tentukan Nama JFrame Form nya seperti berikut :


Kemudian Design Form EditDataMahasiswa seperti berikut : 


Ubah nama Variabel nya, Klik Kanan Pada Object -> Pilih Change Variabel. dan ubah seperti berikut ini : 



Kemudian Ubah Item pada ComboBox Jurusan, Jenis Kelamin dan Agama, Klik Kanan Pada ComboBox -> Pilih Properties.


dan ubah seperti berikut : 

ComboBox Jurusan.

ComboBox Jenis Kelamin.


ComboBox Agama.

Selanjutnya Masukan Code untuk Import, Variabel Connection dan Ukuran screen layar. Pilih Source.

Import yang dibutuhkan, letakan dibawah nama Package ProgramData. 
import java.awt.*;
import java.sql.*;
import javax.swing.*;

Code Variabel Connection, letakan dibawah nama Class EditDataMahasiswa.
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;

Code untuk Fungsi koneksi, kosongkan dan Code ukuran layar, letakan dibawah InitComponents().
        koneksi_supidanZamzam();
        kosongkan_supidanZamzam();
        SimpanButton.setEnabled(false);
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Buat Fungsi Koneksi dan Kosongkan seperti berikut :

Code Fungsi koneksi() :
private void koneksi_supidanZamzam(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam=DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
    }

Code Fungsi kosongkan() :
private void kosongkan_supidanZamzam(){
        inputNim_supidanZamzam.setText("");
        inputNama_supidanZamzam.setText("");
        inputTelepon_supidanZamzam.setText("");
        inputJurusan_supidanZamzam.setSelectedIndex(-1);
        inputTTL_supidanZamzam.setText("");
        inputJenisKelamin_supidanZamzam.setSelectedIndex(-1);
        inputAlamat_supidanZamzam.setText("");
        inputAgama_supidanZamzam.setSelectedIndex(-1);
        inputNim_supidanZamzam.requestFocus();
    }


Kemudian Masukan Code untuk Button Clear dan Button Kembali, Klik Kanan Pada Button -> Pilih Events -> Action -> actionPerformed.

Code Button Clear :
    kosongkan_supidanZamzam();

Code Button Kembali :
        new FormMenuUtama().setVisible(true);
        dispose();


Selanjutnya Masukan Code untuk Button Simpan, Klik Kanan pada Button Simpan -> Events -> Action -> actionPerformed.
try{
            PreparedStatement pStatement = con_supidanZamzam.prepareStatement("UPDATE datamahasiswa SET nama=?,telepon=?,jurusan=?,TTL=?,jenis_kelamin=?,alamat=?,agama=? WHERE nim=?");
            pStatement.setString(1, inputNama_supidanZamzam.getText());
            pStatement.setString(2, inputTelepon_supidanZamzam.getText());
            pStatement.setString(3, (String) inputJurusan_supidanZamzam.getSelectedItem());
            pStatement.setString(4, inputTTL_supidanZamzam.getText());
            pStatement.setString(5, (String) inputJenisKelamin_supidanZamzam.getSelectedItem());
            pStatement.setString(6, inputAlamat_supidanZamzam.getText());
            pStatement.setString(7, (String) inputAgama_supidanZamzam.getSelectedItem());
            pStatement.setString(8, inputNim_supidanZamzam.getText());
            
            if(pStatement.executeUpdate()>0)
                JOptionPane.showMessageDialog(this, "Edit Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
            else
                JOptionPane.showMessageDialog(this, "Edit Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
            pStatement.close();
            kosongkan_supidanZamzam();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }


Selanjutnya Masukan Code untuk Button CekNim, Klik Kanan pada Button CekNIM -> Pilih Events -> Action -> actionPerformed.
try{
            stat_supidanZamzam = con_supidanZamzam.createStatement(); 
            res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from datamahasiswa" + " where nim= '" + inputNim_supidanZamzam.getText() + "'");
            if(res_supidanZamzam.next()){
                SimpanButton.setEnabled(true);
                inputNama_supidanZamzam.setText(res_supidanZamzam.getString("nama"));
                inputTelepon_supidanZamzam.setText(res_supidanZamzam.getString("telepon"));
                inputJurusan_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("jurusan"));
                inputTTL_supidanZamzam.setText(res_supidanZamzam.getString("TTL"));
                inputJenisKelamin_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("jenis_kelamin"));
                inputAlamat_supidanZamzam.setText(res_supidanZamzam.getString("alamat"));
                inputAgama_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("agama"));
                inputNim_supidanZamzam.setText(res_supidanZamzam.getString("nim"));
            }else{
                JOptionPane.showMessageDialog(this, "ID : Salah","Informasi",JOptionPane.INFORMATION_MESSAGE);
                SimpanButton.setEnabled(false);
                kosongkan_supidanZamzam();
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }


Selanjutnya Masukan Code untuk Button CekNama, Klik Kanan pada Button CekNAMA -> Pilih Events -> Action -> actionPerformed.
try{
            stat_supidanZamzam = con_supidanZamzam.createStatement();
            res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from datamahasiswa" + " where nama like('%" + inputNama_supidanZamzam.getText()+"%')");
            if(res_supidanZamzam.next()){
                SimpanButton.setEnabled(true);
                inputNama_supidanZamzam.setText(res_supidanZamzam.getString("nama"));
                inputTelepon_supidanZamzam.setText(res_supidanZamzam.getString("telepon"));
                inputJurusan_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("jurusan"));
                inputTTL_supidanZamzam.setText(res_supidanZamzam.getString("TTL"));
                inputJenisKelamin_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("jenis_kelamin"));
                inputAlamat_supidanZamzam.setText(res_supidanZamzam.getString("alamat"));
                inputAgama_supidanZamzam.setSelectedItem(res_supidanZamzam.getString("agama"));
                inputNim_supidanZamzam.setText(res_supidanZamzam.getString("nim"));
            }else {
                JOptionPane.showMessageDialog(this, "Nama : Salah","Informasi",
                        JOptionPane.INFORMATION_MESSAGE);
                SimpanButton.setEnabled(false);
                kosongkan_supidanZamzam();
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }


Kemudian Run Form EditDataMahasiswa, Klik Kanan pada Form EditDataMahasiswa -> pilih Run.

Ini adalah tampilan Form EditDataMahasiswa :



Selanjutnya Buat JFrame Form HapusDataMahasiswa, Klik kanan pada Package ProgramData -> Pilih New -> JFrame Form.


Tentukan Nama JFrame nya seperti berikut :


Kemudian Design Form HapusDataMahasiswa seperti berikut : 


Ubah variabel ScrolPane, Klik Kanan pada ScrolPane -> pilih Change Variabel.



Selanjutnya Pilih Source, dan masukan Code untuk variabel connection, ukuran layar.

Import yang dibutuhkan, letakan dibawah nama Package ProgramData.
    import java.awt.*;
    import java.sql.*;
    import javax.swing.*;

Code Variabel Connection, Letakan dibawah nama Class HapusDataMahasiswa :
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;
    private JTable table_supidanZamzam=null;

 Code ukuran layar, letakan dibawah InitComponents().
        koneksi_supidanZamzam();
        tampilTabel();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);



Masukan Code untuk Fungsi koneksi :

private void koneksi_supidanZamzam(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
    }


Buat fungsi untuk mengambil data dari databasemahasiswa.
private Object[][] getData(){
        Object[][] data1 = null;
        try{
            stat_supidanZamzam = con_supidanZamzam.createStatement();
            res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from datamahasiswa");
            res_supidanZamzam.last();
            int rowCount = res_supidanZamzam.getRow();
            res_supidanZamzam.beforeFirst();
            data1 = new Object[rowCount][8];
            int no=-1;
            while(res_supidanZamzam.next()){
                no=no+1;
                data1[no][0] = res_supidanZamzam.getString("nim");
                data1[no][1] = res_supidanZamzam.getString("nama");
                data1[no][2] = res_supidanZamzam.getString("telepon");
                data1[no][3] = res_supidanZamzam.getString("jurusan");
                data1[no][4] = res_supidanZamzam.getString("TTL");
                data1[no][5] = res_supidanZamzam.getString("jenis_kelamin");
                data1[no][6] = res_supidanZamzam.getString("alamat");
                data1[no][7] = res_supidanZamzam.getString("agama");
            }
            stat_supidanZamzam.close();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;
    }


Buat Fungsi tampilTabel untuk menampilkan data ke layar.

private void tampilTabel(){
        String [] columnNames = {"nim","nama","telepon","jurusan","TTL","jenis_kelamin","alamat","agama"};
        table_supidanZamzam = new JTable(getData(), columnNames);
        jScrollPane_supidanZamzam.setViewportView(table_supidanZamzam);
    }

Masukan Code untuk Button Hapus dan Back.

Code untuk Button Hapus :
String usrID = table_supidanZamzam.getValueAt(table_supidanZamzam.getSelectedRow(),0).toString();
        int ok_supidanZamzam = JOptionPane.showConfirmDialog(null, "Apakah Yakin Mendelete record ini ??", 
                "Confirmation", JOptionPane.YES_NO_CANCEL_OPTION);
        if(ok_supidanZamzam == 0){
            try{
                PreparedStatement pStatement = null;
                String sql ="DELETE FROM datamahasiswa WHERE nim=? ";
                pStatement = con_supidanZamzam.prepareStatement(sql);
                pStatement.setString(1, usrID);
                int intTambah = pStatement.executeUpdate();
                if(intTambah>0)
                    JOptionPane.showMessageDialog(this, "Hapus Data Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
                else
                    JOptionPane.showMessageDialog(this, "Hapus Data Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
                pStatement.close();
                tampilTabel();
            }catch(SQLException e){
                System.out.println("Koneksi Gagal : " + e.toString());
            }
        }

Code untuk Button Back :
        new FormMenuUtama().setVisible(true);
        dispose();

Setelah itu Run Form HapusDataMahasiswa, Klik kanan pada Form HapusDataMahasiswa -> Pilih Run.



Selanjutnya Buat Form untuk Entry Matakuliah.
Klik kanan pada Package ProgramData -> pilih New -> JFrame Form.


Tentukan nama Formnya seperti berikut :


Kemudian Design Form nya seperti ini :


Ubah nama Variabel jTeksField, Klik kanan pada TextField -> Pilih Change Variabel.




Masukan Code berikut untuk Import, Variabel Connection dan code ukuran layar. Pilih Source.

Import yang diperlukan, letakan dibawah nama Package :

import java.awt.*;
import java.sql.*;
import javax.swing.*;

Variabel Connection, letakan dibawah nama Class TambahMataKuliah

 private Connection con_supidanZamzam;

Code Fungsi koneksi dan code untuk mengatur ukuran layar, letakan dibawah InitComponents().

        kosongkan_supidanZamzam();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4); 



Masukan Code untuk  Fungsi kosongkan :
private void kosongkan_supidanZamzam(){
        inputKodeMatkul_supidanZamzam.setText("");
        inputNamaMatkul_supidanZamzam.setText("");
        inputSks_supidanZamzam.setText("");
        inputKodeMatkul_supidanZamzam.requestFocus();
    }



Masukan Code untuk Button Simpan :
try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
            PreparedStatement pStatement = con_supidanZamzam.prepareStatement("INSERT INTO matakuliah(kode_matakuliah,nama_matakuliah,sks)"+ "VALUES (?,?,?)");
            pStatement.setString(1, inputKodeMatkul_supidanZamzam.getText());
            pStatement.setString(2, inputNamaMatkul_supidanZamzam.getText());
            pStatement.setString(3, inputSks_supidanZamzam.getText());
            kosongkan_supidanZamzam();
            if(pStatement.executeUpdate()>0)
            JOptionPane.showMessageDialog(this, "Penambahan Sukses","Informasi",
                JOptionPane.INFORMATION_MESSAGE);
            else
            JOptionPane.showMessageDialog(this, "Penambahan Gagal","Informasi",
                JOptionPane.INFORMATION_MESSAGE);
            pStatement.close();
            con_supidanZamzam.close();
        }
        catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }
        catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }


Masukan Code untuk Button Kembali dan Clear, Klik kanan pada Button -> Pilih Events -> Action -> actionPerformed.

Code Button Kembali :
        new FormMenuUtama().setVisible(true);
        dispose();

Code Button Clear :
        kosongkan_supidanZamzam();



Jalankan Form TambahMatakuliah, Klik kanan pada 




Selanjutnya Buat Form ViewMataKuliah, Klik kanan pada Package ProgramData -> New -> JFrame Form.


Tentukan Nama Formnya seperti berikut :


Buat Design Form seperti dibawah ini :


Ubah nama Variabel ScrolPanenya, Klik kanan pada ScrolPane -> pilih Change Variabel.



Masukan Code berikut :

Import yang dibutuhkan, letakan dibawah nama Package ProgramData :
import java.awt.*;
import java.sql.*;
import javax.swing.*;

Variabel Connection, letakan dibawah nama Class ViewMataKuliah :
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;

Masukan Code untuk ukuran layar, letakan dibawah InitComponents().
        tampilTabel();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Buat Fungsi untuk mengambil data dari database :
private Object[][] getData(){
        Object[][] data1 = null;
        
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
            stat_supidanZamzam = con_supidanZamzam.createStatement();
            res_supidanZamzam = stat_supidanZamzam.executeQuery("SELECT * FROM matakuliah");
            
            res_supidanZamzam.last();
            int rowCount=res_supidanZamzam.getRow();
            res_supidanZamzam.beforeFirst();
            
            data1 = new Object[rowCount][3];
            int no=-1;
            while(res_supidanZamzam.next()){
                no=no+1;
                data1[no][0]=res_supidanZamzam.getString("kode_matakuliah");
                data1[no][1]=res_supidanZamzam.getString("nama_matakuliah");
                data1[no][2]=res_supidanZamzam.getString("sks");
            }
            stat_supidanZamzam.close();
            con_supidanZamzam.close();
        }catch(ClassNotFoundException e){
            System.out.println("jdbc.Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;
    }


Buat Fungsi tampilTabel untuk menampilkan data dilayar. dan masukan Code untuk Button Back.

Fungsi tampilTabel :
private void tampilTabel(){
        String [] columnNames = {"KODE MATAKULIAH","NAMA MATAKULIAH","SKS"};
        JTable table_supidanZamzam = new JTable(getData(), columnNames);
        jScrollPane_supidanZamzam.setViewportView(table_supidanZamzam);
    }

Code Button Back :
        new FormMenuUtama().setVisible(true);
        dispose();

Jalankan Form ViewMataKuliah, Klik kanan pada Form ViewMataKuliah -> Pilih Run.



Selanjutnya Buat Form EditMataKuliah, Klik kanan pada Package ProgramData -> Pilih New -> JFrame Form.


Tentukan Nama Formnya seperti berikut :


Design Formnya Seperti berikut ini :


Ubah nama Variabelnya, Klik kanan pada Object -> Pilih Change Variabel.



Masukan Code Berikut : 

Import yang dibutuhkan :
import java.awt.*;
import java.sql.*;
import javax.swing.*;

Variabel Connection, letakan dibawah nama Class EditMataKuliah
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;

Code untuk mengatur layar dan memasukan fungsi koneksi, letakan dibawah InitComponents().

        koneksi_supidanZamzam();
        kosongkan_supidanZamzam();
        SimpanButton.setEnabled(false); //Jika belum ada inputan Button Simpan tidak bisa diKlik
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Buat Fungsi koneksi dan kosongkan :

Code Fungsi koneksi.
private void koneksi_supidanZamzam(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam=DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
    }

Code Fungsi kosongkan.
private void kosongkan_supidanZamzam(){
        inputKodeMatakuliah_supidanZamzam.setText("");
        inputNamaMatakuliah_supidanZamzam.setText("");
        inputSks_supidanZamzam.setText("");
        inputKodeMatakuliah_supidanZamzam.requestFocus();
    }

Masukan Code untuk Button Clear dan Kembali :

Code Button Clear :
        kosongkan_supidanZamzam();

Code Button Kembali :
        new FormMenuUtama().setVisible(true);
        dispose();

Masukan Code untuk Button Simpan, Klik kanan pada Button simpan -> Pilih Events -> Action -> actionPerformed.
try{
            PreparedStatement pStatement = con_supidanZamzam.prepareStatement("UPDATE matakuliah SET nama_matakuliah=?,sks=? WHERE kode_matakuliah=?");
            pStatement.setString(1, inputNamaMatakuliah_supidanZamzam.getText());
            pStatement.setString(2, inputSks_supidanZamzam.getText());
            pStatement.setString(3, inputKodeMatakuliah_supidanZamzam.getText());
            
            if(pStatement.executeUpdate()>0)
                JOptionPane.showMessageDialog(this, "Edit Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
            else
                JOptionPane.showMessageDialog(this, "Edit Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
            pStatement.close();
            kosongkan_supidanZamzam();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }

Masukan Code untuk ButtonCekKode, Klik kanan pada Button CekKode -> Pilih Events -> Action -> actionPerformed.
try{
            stat_supidanZamzam = con_supidanZamzam.createStatement();
            res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from matakuliah" + " where kode_matakuliah= '" + inputKodeMatakuliah_supidanZamzam.getText() + "'");
            if(res_supidanZamzam.next()){
                SimpanButton.setEnabled(true);
                inputNamaMatakuliah_supidanZamzam.setText(res_supidanZamzam.getString("nama_matakuliah"));
                inputSks_supidanZamzam.setText(res_supidanZamzam.getString("sks"));
                inputKodeMatakuliah_supidanZamzam.setText(res_supidanZamzam.getString("kode_matakuliah"));
            }else{
                JOptionPane.showMessageDialog(this, "Kode Matakuliah : Salah","Informasi",JOptionPane.INFORMATION_MESSAGE);
                SimpanButton.setEnabled(false);
                kosongkan_supidanZamzam();
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }

Masukan Code untuk ButtonCekKode, Klik kanan pada Button CekNama -> Pilih Events -> Action -> actionPerformed.
try{
            stat_supidanZamzam = con_supidanZamzam.createStatement(); 
            res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from matakuliah" + " where nama_matakuliah like('%" + inputNamaMatakuliah_supidanZamzam.getText()+"%')");
            if(res_supidanZamzam.next()){
                SimpanButton.setEnabled(true);
                inputNamaMatakuliah_supidanZamzam.setText(res_supidanZamzam.getString("nama_matakuliah"));
                inputSks_supidanZamzam.setText(res_supidanZamzam.getString("sks"));
                inputKodeMatakuliah_supidanZamzam.setText(res_supidanZamzam.getString("kode_matakuliah"));
            }else {
                JOptionPane.showMessageDialog(this, "Nama Matakuliah : Salah","Informasi",
                        JOptionPane.INFORMATION_MESSAGE);
                SimpanButton.setEnabled(false);
                kosongkan_supidanZamzam();
            }
        }catch(SQLException e){
            System.out.println("Koneksi Gagal" + e.toString());
        }

Jalankan Form EditMataKuliah, Klik kanan pada Form EditMataKuliah -> pilih Run.



Selanjutnya Buat Form HapusMataKuliah, Klik kanan pada Package ProgramData -> New -> JFrame Form.


Beri nama Formnya seperti berikut .


Buat Design Seperti gambar dibawah.


Ubah nama variabel, klik kanan pada ScrolPane -> pilih Change Variabel.




Masukan Code berikut :

Import yang dibutuhkan :
import java.awt.*;
import java.sql.*;
import javax.swing.*;

Variabel Connection, letakan dibawah nama Class HapusMataKuliah.
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;
    private JTable table_supidanZamzam=null;

Code untuk ukuran layar, letakan dibawah InitComponents
        koneksi_supidanZamzam();
        tampilTabel();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Buat Fungsi koneksi :
private void koneksi_supidanZamzam(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa", "root", "");
        }catch(ClassNotFoundException e){
            System.out.println("Driver Tidak Ditemukan");
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
    }

Buat Fungsi untuk mengambil data dari database.
private Object[][] getData(){
        Object[][] data1 = null;
        try{
            stat_supidanZamzam = con_supidanZamzam.createStatement();
            res_supidanZamzam = stat_supidanZamzam.executeQuery("Select * from matakuliah");
            res_supidanZamzam.last();
            int rowCount = res_supidanZamzam.getRow();
            res_supidanZamzam.beforeFirst();
            
            data1 = new Object[rowCount][3];
            int no=-1;
            while(res_supidanZamzam.next()){
                no=no+1;
                data1[no][0] = res_supidanZamzam.getString("kode_matakuliah");
                data1[no][1] = res_supidanZamzam.getString("nama_matakuliah");
                data1[no][2] = res_supidanZamzam.getString("sks");
            }
            stat_supidanZamzam.close();
        }catch(SQLException e){
            System.out.println("Koneksi Gagal : " + e.toString());
        }
        return data1;
    }
Code untuk fungsi tampilTabel.
private void tampilTabel(){
        String [] columnNames = {"Kode_Matakuliah","Nama_Matakuliah","SKS"};
        table_supidanZamzam = new JTable(getData(), columnNames);
        jScrollPane_supidanZamzam.setViewportView(table_supidanZamzam);
    }

Code untuk Button Hapus, Klik kanan pada Button Hapus -> Events ->Action -> actionPerformed.
String usrID = table_supidanZamzam.getValueAt(table_supidanZamzam.getSelectedRow(),0).toString();
        int ok_supidanZamzam = JOptionPane.showConfirmDialog(null, "Apakah Yakin Mendelete record ini ??", 
                "Confirmation", JOptionPane.YES_NO_CANCEL_OPTION);
        if(ok_supidanZamzam == 0){
            try{
                PreparedStatement pStatement = null;
                String sql ="DELETE FROM matakuliah WHERE kode_matakuliah=? ";
                pStatement = con_supidanZamzam.prepareStatement(sql);
                pStatement.setString(1, usrID);
                int intTambah = pStatement.executeUpdate();
                if(intTambah>0)
                    JOptionPane.showMessageDialog(this, "Hapus Data Sukses","Informasi",JOptionPane.INFORMATION_MESSAGE);
                else
                    JOptionPane.showMessageDialog(this, "Hapus Data Gagal","Informasi",JOptionPane.INFORMATION_MESSAGE);
                pStatement.close();
                tampilTabel();
            }catch(SQLException e){
                System.out.println("Koneksi Gagal : " + e.toString());
            }
        }

Code untuk Button Back, Klik kanan pada Button Back -> pilih Events -> Action -> actionPerformed.
        new FormMenuUtama().setVisible(true);
        dispose();

Jalankan Form HapusMataKuliah, Klik kanan pada Form HapusMataKuliah -> Pilih Run.


Selanjutnya Membuat Form Utama, Klik kanan pada Package ProgramData -> Pilih New -> JFrame Form.


Tentukan nama Form Menu Utama.


Design Form Utama seperti dibawah ini.


Klik kanan pada jlabel4 -> pilih Properties.


Pilih icon.

Kemudian Pilih External Image, cari file foto yang anda inginkan.


Dan Foto pun akan muncul diForm Utama.


Kemudian tambahkan menu item pada menu matakuliah, seperti pada gambar.


Klik kanan pada Button -> Pilih Events -> Action ->actionPerformed.


Kemudian tambahkan terlebih dahulu Code untuk mengatur ukuran layar.

Import yang dibutuhkan, letakan dibawah nama Package.
import java.awt.*;

Code ukuran layar, letakan dibawah InitComponents.
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Masukkan Code berikut pada Button :

Code Button Lihat : 
new ViewDataMahasiswa().setVisible(true);
dispose();
Code Button Tambah : 
new EntryDataMahasiswa().setVisible(true);
        dispose();

Code Button Ubah : 
new EditDataMahasiswa().setVisible(true);
        dispose();
Code Button Hapus : 
new HapusDataMahasiswa().setVisible(true);
        dispose();

Code Button Exit :
System.exit(0);

Masukan Code pada Menu Item. Klik Kanan pada Menu item -> Pilih Events -> Action ->actionPerformed.


Masukan Code berikut ke MenuItem.

MenuItem Tambah :
        new TambahMataKuliah().setVisible(true);
        dispose();

MenuItem View :
          new ViewMataKuliah().setVisible(true);
        dispose();

MenuItem Edit :
        new ViewMataKuliah().setVisible(true);
        dispose();

MenuItem Hapus.

new HapusMataKuliah().setVisible(true);
        dispose();


Maka Tampilannya Akan seperti ini. 




Bua JFrame Form Login


Tentukan nama Form Loginnya.


Kemudian Design Form Loginnya seperti berikut.


Ubah nama variabelnya, Klik kanan pada Text Field -> Pilih Change Variabel.



Masukan Code berikut untuk tambahan :

Import yang dibutuhkan, letakan dibawah nama Package ProgramData.
    import java.awt.*;
    import java.sql.*;
    import javax.swing.*;

Variabel Connection, letakan dibawah namaClassFormLogin.
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;
    private ResultSet res_supidanZamzam;

Code untuk ukuran layar, letakan dibawah InitComponents.
        koneksi_supidanZamzam();
        
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Buat Fungsi koneksi untuk menghubungkan kedatabase.
private void koneksi_supidanZamzam(){
        try{
            Class.forName("com.mysql.jdbc.Driver");
            con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa","root","");
            stat_supidanZamzam = con_supidanZamzam.createStatement();
            JOptionPane.showMessageDialog(null, "Koneksi Berhasil");
        }
        catch(Exception ex){
            JOptionPane.showMessageDialog(null, "Gagal terkoneksi karena" + ex);
        }
    }

Selanjutnya Buat Fungsi CekLogin untuk mengecek apakah username dan password yang kita masukan sudah benar atau belum.
private void CekLogin(){
        try{
            if(inputUserName_supidanZamzam.getText().equals("")||inputPassword_supidanZamzam.getPassword().equals("")){
                JOptionPane.showMessageDialog(rootPane, "Data Tidak Boleh Kosong","Pesan",JOptionPane.ERROR_MESSAGE);
                inputUserName_supidanZamzam.requestFocus();
                HapusLayar_supidanZamzam();
            }else{
                stat_supidanZamzam = con_supidanZamzam.createStatement();
                String sql = ("SELECT * FROM tblogin WHERE username = '"+inputUserName_supidanZamzam.getText()+"' AND password = '"
                        + String.valueOf(inputPassword_supidanZamzam.getPassword())+"'");
                res_supidanZamzam = stat_supidanZamzam.executeQuery(sql);
                if(res_supidanZamzam.next()){
                    this.dispose();
                    new FormMenuUtama().setVisible(true);
                }else {
                    JOptionPane.showMessageDialog(rootPane, "User Name dan Password Salah\nAtau Akun Belum Terdaftar",
                            "Pesan",JOptionPane.ERROR_MESSAGE);
                    HapusLayar_supidanZamzam();
                }
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }

Selanjutnya Buat Fungsi untuk Clear layar, dan Code untuk Button Login dan Registrasi.

Code Fungsi Hapus Layar :
private void HapusLayar_supidanZamzam(){
        inputUserName_supidanZamzam.setText("");
        inputPassword_supidanZamzam.setText("");
        inputUserName_supidanZamzam.setEnabled(true);
        inputPassword_supidanZamzam.setEnabled(true);
    }

Code untuk Login Button, Klik kanan pada Button Login -> Pilih Events -> Action -> actionPerformed.
    CekLogin();


Code untuk Registrasi Button, Klik kanan pada Button Registrasi -> Pilih Events -> Action -> actionPerformed.
        this.setVisible(false);
        new Registrasi().setVisible(true);


Kemudian Buat Form Registrasi Akun, Klik kanan pada Package ProgramData -> New -> JFrame Form.


Tentukan nama Form Registrasinya.


Design Form Registrasi seperti gambar dibawah ini.


Kemudian Ubah nama Variabelnya, Klik kanan pada TextField -> Pilih Change Variabel.



Masukan Code tambahan berikut :

Import yang dibutuhkan :
import java.awt.*;
import java.sql.*;
import javax.swing.*;

Variabel Connection, letakan dibawah nama Class Registrasi.
    private Connection con_supidanZamzam;
    private Statement stat_supidanZamzam;

Code untuk ukuran layar, letakan dibawah InitComponents().
        //Rata Kiri dan Kanan
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = getSize();
        setLocation(
        (screenSize.width - frameSize.width) / 3,
        (screenSize.height - frameSize.height) / 4);


Buat Fungsi untuk Hapus Layar.
private void hapusLayar(){
        inputUserName_supidanZamzam.setText("");
        inputPassword_supidanZamzam.setText("");
        inputName_supidanZamzam.setText("");
    }

Masukan Code untuk Button Registrasi, Klik kanan pada Button Registrasi -> Pilih Events -> Action -> actionPerformed.
try{
            if(inputUserName_supidanZamzam.getText().equals("") || inputPassword_supidanZamzam.getPassword().equals("") || 
                    inputName_supidanZamzam.getText().equals("")){
                JOptionPane.showMessageDialog(this, "Data Tidak Boleh Kosong","Pesan",
                        JOptionPane.ERROR_MESSAGE);
                hapusLayar();
            }else {
                Class.forName("com.mysql.jdbc.Driver");
                con_supidanZamzam = DriverManager.getConnection("jdbc:mysql://localhost/databasemahasiswa","root","");
                stat_supidanZamzam = con_supidanZamzam.createStatement();
                String simpan = "insert into tblogin values('" + inputUserName_supidanZamzam.getText()+"','"
                        + String.valueOf(inputPassword_supidanZamzam.getPassword())+"','"+inputName_supidanZamzam.getText()+"')";
                stat_supidanZamzam = con_supidanZamzam.createStatement();
                int SA = stat_supidanZamzam.executeUpdate(simpan);
                JOptionPane.showMessageDialog(this, "Registrasi Berhasil");
                this.setVisible(false);
                new FormLogin().setVisible(true);
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(this, "Akun Duplikat","Pesan",JOptionPane.WARNING_MESSAGE);
        hapusLayar();
        }

Masukan Code untuk Button Sudah Punya Akun, Klik kanan pada Button Sudah Punya Akun -> Pilih Events -> Action -> actionPerformed.
        this.setVisible(false);
        new FormLogin().setVisible(true);


Kemudian Run Form Registrasi, dan tampilan setelah diRun seperti gambar dibawah ini.



Selanjutnya mengatur File atau Form yang akan pertama kali dijalankan, Klik kanan pada nama Project anda -> pilih Properties.



Piih Run dan atur Main Class Menjadi Form Registrasi. Agar nanti ketika anda Run Project anda maka yang akan tampil pertama kali adalah Form Registrasi.


Tampilan Form Registrasi. Lakukan Registrasi jika anda belum mempunyai akun untuk masuk ke Menu Utama, Jika sudah Punya akun anda Pilih Sudah Punya akun dan lakukan Login.



Setelah Login anda akan Masuk kedalam Menu utama dan anda bisa melakukan Operasi Database.

Selesai....
Terima Kasih.......

No comments:

Post a Comment

Kumpulan Program Java Console ( CLI )

 Selamat datang  Kali ini saya akan membagikan kumpulan program java sederhana berbasis console ( CLI ) Link Program : Klik Disini ( Google ...