Program Java Gui, Data Mahasiswa(input, edit, delete)
 
 
 

Langsung aja ni, simak program Data Mahasiswa dengan menggunakan bahasa java. Untuk packagenya bisa disesuaikan.

  nama file login.java
package tugas;

import java.awt.Button;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.SystemColor;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

import javax.swing.*;

public class login extends JFrame{
	JPanel panel1 = new JPanel();
	JLabel jLabel1 = new JLabel();
	JLabel jLabel2 = new JLabel();
	JTextField username = new JTextField();
	JPasswordField password = new JPasswordField(15);
	Button log = new Button();
	Connection konek;

	public static void main (String args[]){
		login Data = new login();
		Data.setSize(300, 170);
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		int lebar = (screen.width-Data.getSize().width)/2;
		int tinggi = (screen.height-Data.getSize().height)/2;
		Data.setTitle("Login Form");
		Data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Data.setLocation(lebar, tinggi);
		Data.setResizable(false);
		Data.setVisible(true);
	}
	
	public login(){
		String nama;
		String pass;
		this.getContentPane().setLayout(null);
		jLabel1.setRequestFocusEnabled(true);
		jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel1.setText("User Name : ");
		jLabel1.setBounds(new Rectangle(1,22,92,23));
		jLabel2.setBounds(new Rectangle(1,62,89,23));
		jLabel2.setText("Password : ");
		jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel2.setRequestFocusEnabled(true);
		username.setEnabled(true);
		username.setBounds(new Rectangle(100,20,153,25));
		password.setEnabled(true);
		password.setBounds(new Rectangle(100,60,153,25));
		log.setActionCommand("");
		log.setBackground(SystemColor.inactiveCaption);
		log.setEnabled(true);
		log.setLabel("LOGIN");
		log.setBounds(new Rectangle(160,100,93,26));
		
		/* Menambahkan Action Listener */
		log.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				/* Method yang dipanggil saat tombil ditekan */
				proses_login(e);
			}
		});
		
		this.getContentPane().add(jLabel1,null);
		this.getContentPane().add(jLabel2,null);
		this.getContentPane().add(username,null);
		this.getContentPane().add(password,null);
		this.getContentPane().add(log,null);
	}

	public void koneksiDatabase(){
		/* mencoba memanggil Driver JDBC */
		try{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.print("suksess driver JDBC ditemukan...");

			try{
				String url = "jdbc:mysql://localhost:3306/mahasiswa";
				Properties prop = new Properties();
				prop.put("user", "root");
				prop.put("password", "");
				konek = DriverManager.getConnection(url,prop);
				System.out.print("sukses koneksi...");
			}catch(SQLException se){ /* gagal koneksi */
				System.out.print("koneksi gagal = "+se);
				System.exit(0);
			}

		}catch(ClassNotFoundException cnfe){ /* gagal memanggil driver JDBC */
			System.out.print("class tidak ditemukan.. Error : "+cnfe);
			System.exit(0);
		}
	} /* akhir koneksi database() */

	public void proses_login(ActionEvent ae){
		String value1 = username.getText();
		String value2 = password.getText();
		String nama;
		String pass;
		koneksiDatabase();

		try{
			Statement stat = konek.createStatement();
			ResultSet rSet = stat.executeQuery("Select * from user");
			/* mengambil hasil SQL */
			rSet.next();
			nama = rSet.getString("nama");
			pass = rSet.getString("pass");

			if(value1.equals(nama) && value2.equals(pass)){
				username.setText("");
				password.setText("");
				log.setEnabled(false);
				data_mahasiswa page = new data_mahasiswa();
				page.addWindowListener(new WindowAdapter(){
					public void windowClosing(WindowEvent e){
						log.setEnabled(true);
					}
				});
				page.setSize(1000, 800);
				Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
				int lebar = (screen.width-page.getSize().width)/2;
				int tinggi = (screen.height-page.getSize().height)/2;
				page.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
				page.setLocation(lebar, tinggi);
				page.setResizable(true);
				page.setVisible(true);
			}else{
				JOptionPane.showMessageDialog(this,"Incorrect login or password", "Error",JOptionPane.ERROR_MESSAGE);
			}
			stat.close();
		}catch (SQLException se){ /* kesalahan pengiriman Statement SQL */
			System.out.print("SQL salah = " + se);
		}catch(Exception e){
			System.out.print("pesan error = " + e);
		}
	}
}
nama file data_mahasiswa.java
 
package tugas;

import javax.swing.*;

import java.awt.event.*;
import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class data_mahasiswa extends JFrame {

	JMenuBar menuBar = new JMenuBar();
	JMenu menu_file = new JMenu();
	JMenuItem file_keluar = new JMenuItem();
	JMenu menu_input = new JMenu();
	JMenu menu_proses = new JMenu();
	JMenuItem input_mahasiswa = new JMenuItem();
	JMenuItem proses_edit_data = new JMenuItem();
	JMenuItem proses_hapus_data = new JMenuItem();
	JDesktopPane desk = new JDesktopPane();
	Connection konek;

	/* public static void main(String[] args){
		try{
			UIManager.setLookAndFeel("com.sun.java.swing.plat.windows.WindowsLkAndFeel");
		}catch (Exception ignored){
		
		}
		new utama_perpustakaan();
	} */
	
	public data_mahasiswa(){
		super(".:: Aplikasi Sistem Informasi Data Mahasiswa UIN SGD Bandung -- by Najib ::.");
		setJMenuBar(menuBar);
		setContentPane(desk);

		tampilanGUI();

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		setSize(screen.width,screen.height = 40);
		setVisible(true);

		prosesMenu();
		koneksiDatabase();
	}

	public void koneksiDatabase(){
		/* mencoba memanggil Driver JDBC */
		
		try{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.print("suksess driver JDBC ditemukan...");

			try{
				String url = "jdbc:mysql://localhost:3306/mahasiswa";
				Properties prop = new Properties();
				prop.put("user", "root");
				prop.put("password", "");
				konek = DriverManager.getConnection(url,prop);
				System.out.print("sukses koneksi...");
				
			}catch(SQLException se){ /* gagal koneksi */
				System.out.print("koneksi gagal = "+se);
				System.exit(0);
			}

		}catch(ClassNotFoundException cnfe){ /* gagal memanggil driver JDBC */
			System.out.print("class tidak ditemukan.. Error : "+cnfe);
			System.exit(0);
		}

	}/* akhir koneksi database() */

	void tampilanGUI(){
		menu_file.setText("File");
		file_keluar.setText("Keluar");
		menu_input.setText("Input Data");
		menu_proses.setText("Proses Data");
		input_mahasiswa.setText("Input Data Mahasiswa");
		proses_edit_data.setText("Edit Data Mahasiswa");
		proses_hapus_data.setText("Hapus Data Mahasiswa");

		//menambahkan menu pada menu bar
		menuBar.add(menu_file);
		menuBar.add(menu_input);
		menuBar.add(menu_proses);

		//menambahkan sub menu dan separator pada menu
		//menu_file.addSeparator();
		menu_file.add(file_keluar);
		//menu_file.addSeparator();
		//menu_input.addSeparator();
		menu_input.add(input_mahasiswa);
		//menu_input.addSeparator();
		//menu_proses.addSeparator();
		menu_proses.add(proses_edit_data);
		menu_proses.addSeparator();
		menu_proses.add(proses_hapus_data);
		//menu_proses.addSeparator();
	}

	//Metod Proses Menu
	public void prosesMenu(){

		//action listener untuk sub menu keluar
		file_keluar.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				int tutup = JOptionPane.showConfirmDialog(null,"Apakah Anda ingin menutup aplikasi ini ??","Exit",JOptionPane.YES_NO_OPTION);
				if(tutup == 0){
					System.exit(0);
				}
			}
		});

		//action listener untuk sub menu Input Data Mahasiswa
		input_mahasiswa.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				desk.removeAll();
				repaint();
				tambahData input_mahasiswa = new tambahData();
				input_mahasiswa.show();
				input_mahasiswa.setSize(400,400);
				Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
				int lebar = (screen.width-input_mahasiswa.getSize().width)/2;
				int tinggi = (screen.height-input_mahasiswa.getSize().height)/2;
				input_mahasiswa.setLocation(lebar,tinggi);
				input_mahasiswa.setResizable(false);
				input_mahasiswa.setVisible(true);
				desk.add(input_mahasiswa);
			}
		});

		//action listener untuk sub menu Proses Edit Data
		proses_edit_data.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				desk.removeAll();
				repaint();
				rubahData proses_edit_data = new rubahData();
				proses_edit_data.show();
				proses_edit_data.setSize(400, 500);
				Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
				int lebar = (screen.width-proses_edit_data.getSize().width)/2;
				int tinggi = (screen.height-proses_edit_data.getSize().height)/2;
				proses_edit_data.setTitle("Data Mahasiswa");
				proses_edit_data.setLocation(lebar, tinggi);
				proses_edit_data.setResizable(false);
				proses_edit_data.setVisible(true);
				desk.add(proses_edit_data);
			}
		});

		//action listener untuk sub menu Proses Hapus Data
		proses_hapus_data.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				desk.removeAll();
				repaint();
				hapusData proses_hapus_data = new hapusData();
				proses_hapus_data.show();
				proses_hapus_data.setSize(400,500);
				Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
				int lebar = (screen.width -proses_hapus_data.getSize().width)/2;
				int tinggi =(screen.height -proses_hapus_data.getSize().height)/2;
				proses_hapus_data.setLocation(lebar, tinggi);
				proses_hapus_data.setResizable(false);
				proses_hapus_data.setVisible(true);
				desk.add(proses_hapus_data);
			}
		});

	}
}
nama file tambahData.java
package tugas;

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

public class tambahData extends JFrame {
	JLabel jLabel1 = new JLabel();
	JLabel jLabel2 = new JLabel();
	JLabel jLabel4 = new JLabel();
	JLabel jLabel5 = new JLabel();
	JTextField textKode = new JTextField();
	JTextField textNama = new JTextField();
	JTextField textAlamat = new JTextField();
	JTextField texttgl_lahir = new JTextField();
	List daftar = new List();
	JLabel jLabel3 = new JLabel();
	Button button1 = new Button();
	Connection konek;
	/**
	* Method Main
	* @program args : Arguments
	*/
	/*    
	public static void main (String args[]){
		tambahData ValidasiPrimaryKey = new tambahData();
		ValidasiPrimaryKey.setSize(400,400);
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		int lebar = (screen.width-ValidasiPrimaryKey.getSize().width)/2;
		int tinggi = (screen.height-ValidasiPrimaryKey.getSize().height)/2;

		ValidasiPrimaryKey.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		ValidasiPrimaryKey.setLocation(lebar,tinggi);
		ValidasiPrimaryKey.setResizable(false);
		ValidasiPrimaryKey.setVisible(true);
	}
	*/
	
	public tambahData(){
		jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel1.setText("NIM :");
		jLabel1.setBounds(new Rectangle(10, 8, 86, 15));
		this.getContentPane().setLayout(null);

		jLabel2.setBounds(new Rectangle(10, 38, 86, 15));
		jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel2.setText("Nama  :");

		jLabel4.setBounds(new Rectangle(10, 68, 86, 15));
		jLabel4.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel4.setText("Alamat  :");

		jLabel5.setBounds(new Rectangle(10, 96, 86, 15));
		jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel5.setText("Tanggal Lahir  :");

		textKode.setText(null);
		textKode.setBounds(new Rectangle(100, 8, 187,21));
		textKode.setDocument(new batasiInput((byte)12).getFilter());

		textNama.setText(null);
		textNama.setBounds(new Rectangle(100,38,187,21));
		daftar.setBounds(new Rectangle(29, 160, 288, 182));

		textAlamat.setText(null);
		textAlamat.setBounds(new Rectangle(100,68,187,21));

		texttgl_lahir.setText(null);
		texttgl_lahir.setBounds(new Rectangle(100,96,187,21));

		jLabel3.setText("daftar kode-kode siswa yang telah tersimpan sebelumnya");
		jLabel3.setBounds(new Rectangle(29,145,321,15));
		button1.setLabel("SAVE");
		button1.setBounds(new Rectangle(97, 120, 128, 24));
		
		/* Menambahkan Action Listener */
		button1.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				// Method yang dipanggil saat tombil ditekan
				cekAndSaveData(e);
			}
		});
		
		this.getContentPane().add(jLabel1, null);
		this.getContentPane().add(jLabel2, null);
		this.getContentPane().add(jLabel4, null);
		this.getContentPane().add(jLabel5, null);
		this.getContentPane().add(textKode, null);
		this.getContentPane().add(textNama, null);
		this.getContentPane().add(textAlamat, null);
		this.getContentPane().add(texttgl_lahir, null);
		this.getContentPane().add(daftar, null);
		this.getContentPane().add(jLabel3, null);
		this.getContentPane().add(button1, null);
		
		/* memanggil method untuk koneksi database dan daftar kode yang telah tersimpan */
		koneksiDatabase();
		daftarKode();

	}
	/* method koneksiDatabase
	   untuk melakukan koneksi dengan database server */

	public void koneksiDatabase(){
		try{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.print("suksess Driver JDBC ditemukan....");
			try{
				String db = "mahasiswa";
				String url = "jdbc:mysql://localhost/"+db;
				String usr = "root";
				String pwd = "";
				konek = DriverManager.getConnection(url, usr, pwd);
				System.out.print("sukses koneksi...");
			}catch (SQLException se){
				System.out.print("koneksi Gagal....");
			}
		}
		catch(ClassNotFoundException cnfe){
			System.out.print("Class tidak ditemukan... Error : "+cnfe);
		}
	}
	// method daftarkode
	// untuk memanggil daftar kode dan nama siswa yang telah tersimpan di database

	public void daftarKode(){
		daftar.removeAll();
		/* mencoba mengirim statement SQL */
		try{
			Statement stat = konek.createStatement();
			ResultSet rSet = stat.executeQuery("Select * from data");
			/* mengambil hasil SQL */
			while (rSet.next())
			{
			daftar.add(rSet.getString("nim")  +  "  "  +  rSet.getString("nama"));
			}
			stat.close();
		}catch (SQLException se){ /* kesalahan pengiriman Statement SQL */
			System.out.print("SQL salah = " + se);
		}catch(Exception e){
			System.out.print("pesan error = " + e);
		}
	} /* akhir method daftarKode() */
	
	/**
	* method cekAndSaveData(actionevent e)
	* untuk melakukan pemeriksaan apakah data yang dimasukkan valid atau tidak
	* jika valid, data tersebut disimpan
	* tetapi jika tidak valid maka menampilak kesalahan
	* @param e : action Event
	*/
	
	void cekAndSaveData(ActionEvent e){
		/* mencoba mengirim statement SQL */
		try{
			PreparedStatement stat = konek.prepareStatement("insert Into data values(?,?,?,?)");

			try{
				stat.setString(1, textKode.getText());
				stat.setString(2, textNama.getText());
				stat.setString(3, textAlamat.getText());
				stat.setString(4, texttgl_lahir.getText());
				stat.executeUpdate();
			}catch (SQLException se){ /* gagal mengirim statement SQL (data tidak valid) */
				System.out.print("gagal menyimpan.. pesan error = " + se);
				JOptionPane.showMessageDialog(null, "kode yang anda masukkan telah ada sebelumnya \ngagal disimpan.. coba lagi\npesan error :\n"+" <html><font color=#FF0000>"+se+" </font> </html>");
				textKode.setFocusable(true);
			}
			daftarKode();
			stat.close();
		}catch(Exception er){
			System.out.println("pesan error = " +er);
		}
	} /* akhir method cekAndSaveData(ActionEvent e) */
	
	/**
	* membuat kelas untuk membatasi input yang masuk
	*/
	
	class batasiInput{
		byte length;
		PlainDocument filter;
		public batasiInput(byte length){
			this.length = length;
		}
		public PlainDocument getFilter(){
			filter = new javax.swing.text.PlainDocument(){
				public void insertString(int offs, String str, AttributeSet a) throws BadLocationException{
					int ab = textKode.getText().length();
					if(ab<length){
						super.insertString(offs, str, a);
					}
				}
			};
			return filter;
		}
	}
} /* akhir kelas ValidasiPrimaryKey */
nama file rubahData.java
package tugas;

import javax.swing.*;
import java.sql.*;
import java.awt.*;
import javax.swing.table.*;
import java.awt.event.*;
import java.util.*;

public class rubahData extends JFrame{
	//deklarasi komponen
	JTabbedPane tab = new JTabbedPane();
	JPanel panel1 = new JPanel();

	JLabel jLabel4 = new JLabel();
	JScrollPane jScrollPane1 = new JScrollPane();
	JTable tabel = new JTable();
	DefaultTableModel tabMode;
	Connection konek;
	JLabel jLabel2 = new JLabel();
	JTextField dataAlamat = new JTextField();
	JTextField datatgl_lahir = new JTextField();
	JTextField dataKode = new JTextField();
	JLabel jLabel1 = new JLabel();
	JLabel jLabel3 = new JLabel();
	Button rubah = new Button();
	JTextField dataNama = new JTextField();
	JLabel jLabel5 = new JLabel();
	JTextPane caraPengguna = new JTextPane();
	
	/**
	* Method main
	* @param args = arguments
	*/
	/*    
	public static void main (String args[]){
		rubahData Data = new rubahData();
		Data.setSize(400, 500);
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		int lebar = (screen.width-Data.getSize().width)/2;
		int tinggi = (screen.height-Data.getSize().height)/2;
		Data.setTitle("Data Mahasiswa");
		Data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Data.setLocation(lebar, tinggi);
		Data.setResizable(false);
		Data.setVisible(true);
	} */
	/**
	* konstruktor
	* method ini berisikan pembuatan komponen dan penambahan action listener
	*/

	public rubahData(){
		this.getContentPane().setLayout(null);
		tabel.setToolTipText("");
		tabel.setVerifyInputWhenFocusTarget(false);
		jLabel4.setText("Daftar Data yang telah tersimpan di dalam database");
		jLabel4.setBounds(new Rectangle(15,9,362,19));
		//membuat tabel
		Object[] row = {"NIM","Nama","Alamat","TTL"};
		tabMode = new DefaultTableModel(null,row);
		jScrollPane1.setBounds(new Rectangle(13,31,365,167));
		tabel.setModel(tabMode);
		//menambahkan MouseListener pada tabel
		tabel.addMouseListener(new java.awt.event.MouseAdapter(){
			//proses saat tabel dklik
			public void mouseClicked(MouseEvent e){
				dapatData_dari_Tabel();
			}
		});

		jLabel1.setRequestFocusEnabled(true);
		jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel1.setText("NIM : ");
		jLabel1.setBounds(new Rectangle(15,309,92,23));
		jLabel2.setBounds(new Rectangle(18,334,89,23));
		jLabel2.setText("Nama : ");
		jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel2.setRequestFocusEnabled(true);
		jLabel3.setRequestFocusEnabled(true);
		jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel3.setText("Alamat : ");
		jLabel3.setBounds(new Rectangle(18,363,89,23));
		jLabel5.setRequestFocusEnabled(true);
		jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel5.setText("TTL : ");
		jLabel5.setBounds(new Rectangle(18,397,89,22));
		dataAlamat.setEnabled(true);
		dataAlamat.setBounds(new Rectangle(109,366,177,22));
		dataKode.setEnabled(true);
		dataKode.setBounds(new Rectangle(109,309,91,22));
		dataNama.setEnabled(true);
		dataNama.setBounds(new Rectangle(109,336,177,22));
		datatgl_lahir.setEnabled(true);
		datatgl_lahir.setBounds(new Rectangle(109,397,177,22));
		rubah.setActionCommand("");
		rubah.setBackground(SystemColor.inactiveCaption);
		rubah.setEnabled(true);
		rubah.setLabel("EDIT");
		rubah.setBounds(new Rectangle(123,430,93,26));

		this.setTitle("Proses Memodifikasi Data");
		caraPengguna.setEditable(true);
		caraPengguna.setText("Cara menggunakan :\nKlik data yang ingin dirubah pada TABEL, kemudian"+"memodifikasi data yang anda inginkan pada kotak teks di bawah ini "+"dan klik tombol RUBAH untuk melakukan proses modifikasi atau perubahan data");

		caraPengguna.setBounds(new Rectangle(13,210,367,87));

		// menambahkan Action Listener pada tombol RUBAH
		rubah.addActionListener(new java.awt.event.ActionListener(){
			//proses saat tombol RUBAH dklik
			public void actionPerformed(ActionEvent e){
				proses_rubahData(e);
			}
		});
		
		this.getContentPane().add(jScrollPane1, null);
		this.getContentPane().add(jLabel4, null);
		jScrollPane1.getViewport().add(tabel, null);
		this.getContentPane().add(rubah,null);
		this.getContentPane().add(jLabel2,null);
		this.getContentPane().add(caraPengguna,null);
		this.getContentPane().add(dataAlamat,null);
		this.getContentPane().add(dataKode,null);
		this.getContentPane().add(jLabel1,null);
		this.getContentPane().add(jLabel3,null);
		this.getContentPane().add(dataNama,null);
		this.getContentPane().add(datatgl_lahir,null);
		this.getContentPane().add(jLabel5,null);

		this.getContentPane().add(tab,null);
		//memanggil method koneksiDatabase()untuk koneksi database
		koneksiDatabase();
		//memanggil method tampilDataTabel()untuk menampilkan data pada tabel
		tampilDataKeTabel();

	}
	
	/**
	* method koneksiDatabase
	* untuk melakukan koneksi dengan database server
	* database server = MySQL
	* getConection yang digunakan adalah getConection(url, properties)
	*/
	public void koneksiDatabase(){
		//mencoba memanggil Driver JDBC
		try{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.print("suksess driver JDBC ditemukan...");

			try{
				String url = "jdbc:mysql://localhost:3306/mahasiswa";
				Properties prop = new Properties();
				prop.put("user", "root");
				prop.put("password", "");
				konek = DriverManager.getConnection(url,prop);
				System.out.print("sukses koneksi...");
			}
			//gagal koneksi
			catch(SQLException se){
				System.out.print("koneksi gagal = "+se);
				System.exit(0);
			}

		}catch(ClassNotFoundException cnfe){ //gagal memanggil driver JDBC
			System.out.print("class tidak ditemukan.. Error : "+cnfe);
			System.exit(0);
		}

	} /* akhir koneksi database() */

	/*method tampilDatakeTabel
	* untuk menampilkan data yang telah tersimpan pada database ke tabel
	*/
	public void tampilDataKeTabel(){
		hapusTabel();
		try{
			String sql = "Select * from data order by NIM";
			Statement stat = konek.createStatement();
			ResultSet set = stat.executeQuery(sql);
			while (set.next()){
				String kode = set.getString("nim");
				String nama = set.getString("nama");
				String alamat = set.getString("alamat");
				String tgl_lahir = set.getString("tgl_lahir");
				String data [] = {kode, nama, alamat, tgl_lahir};
				tabMode.addRow(data);
			}
		}catch(Exception e){}
	}
	
	/** method hapusTabel
	* untuk menghapus semua data yang terdapat pada tabel
	*/
	public void hapusTabel(){
		int row = tabMode.getRowCount();
		for (int i = 0; i < row; i++){
			tabMode.removeRow(0);
		}
	}

	void dapatData_dari_Tabel(){
		int row = tabel.getSelectedRow();
		// mengambil data-data yang dipilih pada tabel
		String Kode = tabMode.getValueAt(row, 0).toString();
		String Nama = tabMode.getValueAt(row, 1).toString();
		String Alamat = tabMode.getValueAt(row, 2).toString();
		String tgl_lahir = tabMode.getValueAt(row, 3).toString();
		dataKode.setText(Kode);
		dataNama.setText(Nama);
		dataAlamat.setText(Alamat);
		datatgl_lahir.setText(tgl_lahir);

		//apabila data tidak dipilih
		if (dataKode.getText().equals(" ")){
			dataKode.setEnabled(false);
			dataNama.setEnabled(false);
			dataAlamat.setEnabled(false);
			datatgl_lahir.setEnabled(false);
			rubah.setEnabled(false);
		}else{ //apabila data dipilih
			dataKode.setEnabled(false);
			dataNama.setEnabled(true);
			dataAlamat.setEnabled(true);
			datatgl_lahir.setEnabled(true);
			dataNama.requestFocus();
			rubah.setEnabled(true);
		}
	}
	/**
	* method proses_rubahData()
	* untuk melakukan modifikasi data
	*/
	public void proses_rubahData(ActionEvent e){
		int ok = JOptionPane.showConfirmDialog(null, "anda yakin ingin memodifikasi data\ndengan kode = "+dataKode.getText()+"","konfirmasi memodifikasi data", JOptionPane.YES_NO_OPTION);
		//apabila tombol OK ditekan
		if (ok == 0){
			try{
				String sql = "update data set nama=?,alamat=?,tgl_lahir=? where nim="+dataKode.getText()+"";
				PreparedStatement stat = konek.prepareStatement(sql);
				try{
					stat.setString(1, dataNama.getText());
					stat.setString(2, dataAlamat.getText());
					stat.setString(3, datatgl_lahir.getText());

					stat.executeUpdate();
					tampilDataKeTabel();
					dataKode.setText("");
					dataNama.setText("");
					dataAlamat.setText("");
					datatgl_lahir.setText("");
					rubah.setEnabled(true);
					dataNama.setEnabled(true);
					dataAlamat.setEnabled(true);
					datatgl_lahir.setEnabled(true);
				}catch (SQLException se){
					System.out.println("pesan error = " +se);
				}
			}catch (SQLException se){}
		}
	}
} /* akhir kelas */
nama file hapusData.java
package tugas;

import javax.swing.*;

import java.sql.*;
import java.util.Properties;
import java.awt.*;

import javax.swing.table.*;
import java.awt.event.*;

public class hapusData extends JFrame{
	//Deklarasi Komponen
	JLabel jLabel4 = new JLabel();
	JScrollPane jScrollPane1 = new JScrollPane();
	JTable tabel = new JTable();
	DefaultTableModel tabMode;
	Connection konek;
	private JLabel jLabel2 = new JLabel();
	private JTextField dataAlamat = new JTextField();
	private JTextField dataKode = new JTextField();
	private JLabel jLabel1 = new JLabel();
	private JLabel jLabel3 = new JLabel();
	private Button hapus = new Button();
	private JTextField dataNama = new JTextField();
	private JLabel jLabel5 = new JLabel();
	private JTextField datatgl_lahir = new JTextField();
	private JTextPane caraPengguna = new JTextPane();
	
	/**
	* Method main
	* @param args : arguments
	*/
	/*public static void main (String[]args){
		hapusData Data = new hapusData();
		Data.setSize(400,500);
		Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
		int lebar = (screen.width -Data.getSize().width)/2;
		int tinggi =(screen.height -Data.getSize().height)/2;
		Data.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Data.setLocation(lebar, tinggi);
		Data.setResizable(false);
		Data.setVisible(true);
	}*/
	
	/**
	* Konstruktor
	* Method ini berisikan pembuatan kompoen dan penambahan Action Listener
	*/
	public hapusData(){
		this.getContentPane().setLayout(null);
		this.setTitle("Proses Menghapus Data");
		//Membuat tabel
		Object[] row = {"NIM","Nama","Alamat","tgl lahir"};
		tabMode = new DefaultTableModel(null,row);
		jScrollPane1.setBounds(new Rectangle(13,31,365,167));
		tabel.setModel(tabMode);
		//Menambahkan Mouse Listener pada tabel
		tabel.addMouseListener(new MouseAdapter(){
			//Proses saat TABEL di klik
			public void mouseClicked(MouseEvent e){
				dapatData_dari_Tabel();
			}

		});
		jLabel4.setText("Daftar Data yang telah tersimpan di dalam database");
		jLabel4.setBounds(new Rectangle (15,9,362,19));

		jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel1.setText("NIM :");
		jLabel1.setBounds(new Rectangle(15,309,92,23));

		jLabel2.setBounds(new Rectangle(15,334,89,23));
		jLabel2.setText("Nama  :");
		jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel2.setRequestFocusEnabled(true);

		jLabel3.setBounds(new Rectangle(18,363,89,23));
		jLabel3.setRequestFocusEnabled(true);
		jLabel3.setText("Alamat : ");
		jLabel3.setHorizontalAlignment(SwingConstants.RIGHT);

		jLabel5.setRequestFocusEnabled(true);
		jLabel5.setText("Tgl lahir :");
		jLabel5.setHorizontalAlignment(SwingConstants.RIGHT);
		jLabel5.setBounds(new Rectangle(18,397,89,22));

		dataAlamat.setEnabled(true);
		dataAlamat.setBounds(new Rectangle(109,366,177,22));

		dataKode.setEnabled(true);
		dataKode.setBounds(new Rectangle(109,309,91,22));

		dataNama.setEnabled(true);
		dataNama.setBounds(new Rectangle(109,336,177,22));

		datatgl_lahir.setEnabled(true);
		datatgl_lahir.setBounds(new Rectangle(109,397,177,22));

		caraPengguna.setEditable(true);
		caraPengguna.setText("Cara menggunakan:\nKlik data yang ingin dihapus pada TABEL, kemudian " +"klik tombol HAPUS untuk melakukan proses penghapusan data");
		caraPengguna.setBounds(new Rectangle(new Rectangle(13,210,367,55)));
		hapus.setActionCommand("");
		hapus.setBackground(SystemColor.inactiveCaption);
		hapus.setEnabled(true);
		hapus.setLabel("H A P U S !!!");
		hapus.setBounds(new Rectangle(123,430,93,26));
		//menambahkan Action Listener pada tombol HAPUS
		hapus.addActionListener(new java.awt.event.ActionListener(){
			//proses saat tombol HAPUS dklik
			public void actionPerformed(ActionEvent e){
				proses_hapusData();
			}
		});
		this.getContentPane().add(jScrollPane1,null);
		jScrollPane1.getViewport().add(tabel,null);
		this.getContentPane().add(jLabel4,null);
		this.getContentPane().add(jLabel2,null);
		this.getContentPane().add(dataAlamat,null);
		this.getContentPane().add(dataKode,null);
		this.getContentPane().add(jLabel1,null);
		this.getContentPane().add(jLabel3,null);
		this.getContentPane().add(hapus,null);
		this.getContentPane().add(dataNama,null);
		this.getContentPane().add(jLabel5,null);
		this.getContentPane().add(datatgl_lahir,null);
		this.getContentPane().add(caraPengguna,null);
		this.getContentPane().add(hapus,null);
		//Memanggil Method koneksiDatabase() untuk koneksi databse
		koneksiDatabase();
		//memanggil method tampilDataTabel() untuk menampilkan data pada tabel
		tampilDataKeTabel();
	}
	
	/**
	* method koneksiDatabse
	* untuk melakukan koneksi dengan database server
	* databse server = MySQL
	* getConection yang digunakan adalah getConnection(url,user,password)
	*/
	public void koneksiDatabase(){
		//mencoba memanggil Driver JDBC
		try{
			Class.forName("com.mysql.jdbc.Driver");
			System.out.print("suksess driver JDBC ditemukan...");

			try{
				String url = "jdbc:mysql://localhost:3306/mahasiswa";
				Properties prop = new Properties();
				prop.put("user", "root");
				prop.put("password", "");
				konek = DriverManager.getConnection(url,prop);
				System.out.print("sukses koneksi...");
			}catch(SQLException se){ //gagal koneksi
				System.out.print("koneksi gagal = "+se);
				System.exit(0);
			}

		}catch(ClassNotFoundException cnfe){ //gagal memanggil driver JDBC
			System.out.print("class tidak ditemukan.. Error : "+cnfe);
			System.exit(0);
		}

	} /* akhir method koneksiDatabase() */
	/**
	* method tampilDataKeTabel
	* untuk menampilkan data yang telah tersimpan pad database ke tabel
	*/

	public void tampilDataKeTabel(){
		hapusTabel();
		try{
			String sql="Select* from data order by NIM";
			Statement stat = konek.createStatement();
			ResultSet set = stat.executeQuery(sql);
			while(set.next()){
				String kode = set.getString("nim");
				String nama = set.getString("nama");
				String alamat = set.getString("alamat");
				String tgl_lahir = set.getString("tgl_lahir");
				String data[] ={kode, nama, alamat, tgl_lahir};
				tabMode.addRow(data);
			}
		}catch (Exception e){}
	}
	/**
	* method hapusTabel
	* Untuk menghapus semua data yang terdapat pada tabel
	*/

	public void hapusTabel(){
		int row =tabMode.getRowCount();
		for(int i =0; i< row; i++){
			tabMode.removeRow(0);
		}
	}

	/**
	* method dapatData_Dari_Tabel
	* Untuk mengambil data yang dipilih pada TABEL(data yang akan di rubah)
	*/
	void dapatData_dari_Tabel(){
		//mengambil data-data yang dipilih pada TABEL
		int row = tabel.getSelectedRow();
		String Kode = tabMode.getValueAt(row,0).toString();
		String Nama = tabMode.getValueAt(row,1).toString();
		String Alamat = tabMode.getValueAt(row,2).toString();
		String tgl_lahir = tabMode.getValueAt(row,3).toString();
		dataKode.setText(Kode);
		dataNama.setText(Nama);
		dataAlamat.setText(Alamat);
		datatgl_lahir.setText(tgl_lahir);
		//apabila data tidak di pilih
		if (dataKode.getText().equals(" ")){
			dataKode.setEnabled(false);
			dataNama.setEnabled(false);
			dataAlamat.setEnabled(false);
			datatgl_lahir.setEnabled(false);
			hapus.setEnabled(false);
		}else{ //apabila data dipilih
			dataKode.setEnabled(false);
			dataNama.setEnabled(true);
			dataAlamat.setEnabled(true);
			datatgl_lahir.setEnabled(true);
			dataNama.requestFocus();
			hapus.setEnabled(true);
		}
	}
	/**
	* method proses_hapusData()
	* untuk melakukan modifikasi data
	*/
	public void proses_hapusData(){
		//konfirmasi sebelum melakukan penghapusan data
		int ok = JOptionPane.showConfirmDialog(null,"Anda yakin ingin menghapus Data\nDengan Kode =" + dataKode.getText() + "","konfirmasi menghapus Data",JOptionPane.YES_NO_OPTION);
		//apabila tombol OK ditekan
		if(ok==0){
			try{
				String sql = "DELETE FROM data WHERE nim =" + dataKode.getText()+ "";
				PreparedStatement stat = konek.prepareStatement(sql);
				stat.executeUpdate();
				tampilDataKeTabel();
				dataKode.setText("");
				dataAlamat.setText("");
				datatgl_lahir.setText("");
				hapus.setEnabled(false);
			}catch (SQLException se){
				System.out.println("Gagal Hapus.. Pesan Error=" + se);
				JOptionPane.showMessageDialog(null,"Gagal hapus Data..Coba Lagi\nPesan Error :\n"+" <html><font color = #FFOOOO>"+se+" </font> </html>");
				dataKode.setFocusable(true);
			}
		}
	}
}
  Catatan:
  1. Masukkan program di atas dalam satu package/folder kemudian eksekusi file login.java (jangan file yang lain) karena dalam kasus ini, hanya file login.java ini saja yang memiliki method main dan sebagai pintu masuk utama.
  2. Username: admin dan password:najib
  3. Untuk databasenya disini saya menggunakan mysql, silahkan download di sini:Untuk databasenya disini saya menggunakan mysql, silahkan download di sini: http://berangkas.127.0.0.1/w174rd/mahasiswa.rar
  4. Jika anda telah mengkopy-paste kode di atas dalam satu package kemudian ditemukan bercak Error, kemungkinan besar karena tanda kutip (") atau (') mengalami perubahan. Untuk mengatasinya anda tinggal menghapus tanda kutip yang error kemudian ganti dengan tanda kutip yang anda ketikkan lewat keyboard *semua perlu proses ckakaka*.

Kata kunci:

#programming#java#tugas#kuliah#aplikasi#crud