Jumat, 18 Oktober 2013

MEMBUAT APLIKASI CREATE, READ, UPDATE, DAN DELETE DENGAN NETBEANS DATABASE (PART 2)

Tutorial ini merupakan kelanjutan dari tutorial sebelumnya. Pada tutorial kali ini akan membahas hasil program dan analisa program. (Silahkan klik gambar untuk memperbesar).
Pada saat program ditampilkan (Shift+F6) maka tampilan awalnya adalah sebagai berikut:
image
1. Proses Lihat Data
image
Analisa: Apabila kita menekan button Lihat / Lihat Data / Ctrl+L maka data dalam database akan tampil pada jTable seperti gambar diatas. Data diurutkan secara descending atau yang paling akhir berada diatas.
2. Proses Simpan Data
Apabila kita menginputkan data seperti gambar berikut:
image
Kita hanya diharuskan mengisi data No.identitas, nama, jenis tike dan banyak. Untuk harga dan total bayar sudah otomatis dari program.
Kemudian kita klik simpan maka data yang kita inputkan akan masuk didalam tabel seperti gambar berikut:
image
Muncul kotak dialog yang berisi Data sudah masuk. Terima kasih! Kemudian semua jTextField dan jCombobox diset nilai kosong.
3. Proses Ubah Data
Untuk mengubah data kita harus memiliki no identitas terlebih dahulu, masukkan no identitas dan semua data yang perlu di ubah (Nb. No identitas tidak bisa diubah).
image
Apabila kita ingin mengubah jenis tiket dan banyak tiket seperti data diatas kemudian kita klik button ubah / lewat menu ubah / Ctrl+E,
maka akan tampil data seperti gambar berikut ini:
image
Jenis tiket dan banyak tiket pada no.id SN00004 telah berubah dan jTextField dan jComboBox di kosongkan.
4. Proses Hapus
Untuk menghapus data kita tinggal menekan tombol Hapus / menu hapus / Key Delete kemudian akan tampil kotak dialog input no identitas seperti gambar berikut:
image
Kita akan menghapus data SN00004 -> Klik Ok maka akan tampil sebagai berikut:
image
Muncul kotak dialog data sudah terhapus dan dapat dilihat pada table tidak ada no.id SN00004 dengan nama Sagita Putri.
5. Proses Pencarian
Untuk mencari data pada database kita tinggal menekan Edit -> Cari Data (Ctrl+F) kemudian akan tampil kotak dialog input no identitas seperti gambar berikut:
image
Kita coba cari data dengan no identitas SN00001 kemudian kita klik ok.
Maka data dengan no identitas SN00001 akan tampil seperti gambar berikut ini:
image
6. Menu About
Untuk menampilkan menu about kita klik Help -> About / Ctrl+0 kemudian akan tampil halaman about seperti gambar berikut ini:
image
Untuk keluar klik saja button keluar.
7. Proses Keluar
Untuk keluar dari program dapat kita lakukan dengan klik File -> Keluar (Crtl+x) seperti gambar berikut ini:
image
Kemudian akan tampil kotak dialog terima kasih seperti gambar berikut ini:
Klik Ok untuk keluar dari program.

sumber : aimagu.blogspot.com

Membuat Aplikasi Create, Read, Update, dan Delete Dengan Netbeans Database (Part 1)

Dalam tutorial kali ini akan membahas masalah pembuatan aplikasi dengan studi kasus Aplikasi Pembelian Tiket Bola Stadion Sebelah Ngarep.


Desain Program
Aplikasi pembelian tiket bola stadion sebelah ngarep dengan interface sebagai berikut:
Tampilan Awal
Terdiri dari komponen 1 buah jMenuBar dengan 7 buah jMenuItem, 7 buah jLabel, 5 buah jTextField, 1 buah jComboBox, 4 buah jButton, 1 buah jScrollPane dan 1 buah jTable.

Tampilan About
Pada desain tampilan about ini menggunakan 8 buah jLabel, 1 buah jSeparator dan 1 buah jButton. Untuk gambar diatas menggunakan komponen jLabel dengan pengaturan properties iconnya.

Tampilan Database
Pada gambar dibawah ini adalah desain atau interface dari database Microsoft Access:

Terdiri dari 6 buah field yaitu no_id (text), nama (text), jenistiket (text), harga (currency), banyak (number), totalbayar(currency) dengan primary key no_id.

Analisa Script
Berikut ini script pada jFrame utama:
Analisa: Pada baris 18-21 merupakan script pengimportan yaitu swing untuk komponen jOptionPane, sql untuk database accdb, text.decimalFormat untuk format desimal dan swing.table untuk jTable.
Analisa: Pada kode program ini merupakan pendeklarasian variabel yang terdiri dari string, integer, defaultTableModel dan connection.
Analisa: Pada kode program ini adalah sebuah method bernama transaksitiket yang berisi penamaan title program pada baris ke-30, penamaan field pada table pada baris ke 31-34 dan pada baris ke-35 pemasukkan jTable ke dalam jScrollPane yang berfungsi apabila banyak data yang ada maka jScrollPane akan membantu supaya table tidak kepanjangan dengan cara scroll.
Analisa: Pada method konekdatabase ini berfungsi untuk menghubungkan database microsoft access yang telah dibuat pada java netbeans. Dengan nama koneksi aksestiketbola, username:admin dan password:admin.
Analisa: Pada method hapustabel ini merupakan pendeklarasian atau validasi pada jTable yang baris kolom memiliki nilai awal 0 dan ditambah terus i++.
Analisa: Pada method tampildatatabel ini memanggil method hapustabel untuk memberi nilai awal, kemudian terdapat struktur kontrol try...catch. Variabel sql bernilai string yang berisi perintah query membaca isi database tabel datatiketbola yang berformat Descending pada no_id yang berarti data yang paling besar/akhir akan berada diatas.
Untuk catch(exception e) merupakan pencetakan kesalahan saja.
Analisa: Pada method simpandata ini berisi pembacaan jTextField dari baris 78-83 yang akan dimasukkan kedalam database pada baris ke-87 dengan perintah query insert into datatiketbola values.
Analisa: Pada method data ini merupakan pendeklarasian nilai saja. Contoh: variable no_id berisi nilai yang ada pada txnoid yang merupakan komponen jTextField.
Analisa: Pada method hargatiket ini merupakan pengesetan nilai item pada jComboBox (cbtiket). Pendeklarasian variabel pilihan yang bernilai integer. Kemudian pada baris 108-120 menggunakan struktur kontrol switch yang digunakan untuk mengevaluasi suatu ekspresi dengan kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi berdasarkan ekspresi dan nilainya. Pada kode program di atas, nilai dari variabel akan dicek pada setiap option yang ada (terletak di bagian case). Jika option yang sama dengan nilai variabel, maka statement-statement di bawah option tersebutlah yang akan dijalankan.
Analisa: Pada method total ini berisi perhitungan aritmatika yang berfungsi menampilkan nilai jumlah dari txharga*txbanyak kemudian hasil nilainya akan ditampilkan pada txbayar dengan format desimal 1 angka di belakang koma.
Analisa: Pada method bersih ini berfungsi untuk mengeset nilai kosong pada semua jTextField.
Analisa: Pada kode program di atas yang ditanamkan didalam jButton2 dengan event clicked memanggil method konekdatabase dan tampildataketabel. Pemanggilan method konekdatabase agar file database dapat terbaca dengan koneksi yang sudah ada. Kemudian method tampildataketable berfungsi untuk memanggil isi tabel dengan perintah query select *from datatiketbola.
Analisa: Pada event clicked yang berada di jButton1 ini memanggil method konekdatabase  untuk menghubungkan database ke program dan method data untuk memanggil nilai variabel. Pada baris ke 442-453 berisi struktur kontrol if...else yang bermaksut jika nilai no_id, nama, jenistiket, harga, banyak dan total bayar berisi nol atau pilih paket maka akan tampil jOptionpane yang berisi ada data yang belum dimasukkan, periksa kembali. Sedangkan apabila semua jTextField sudah terisi maka akan menjalankan method simpan data untuk memasukkan data ke dalam database, method bersih untuk mengeset nilai kosong pada semua jTextField, method tampildataketabel untuk menampilkan data dari database ke program dan menampilkan jOptionPane yang berisi Data sudah masuk. Terima kasih.
Analisa: Pada jButton3 yang berisi event clicked ini memanggil konekdatabase dan data dengan maksut seperti yang sudah kami jelaskan diatas, kemudian terdapat struktur kontrol if...else pada baris 462-486 yang bermaksut, apabila nilai pada no_id atau txnoid bernilai kosong maka akan tampil jOptionPane yang berisi inputkan no.identitas anda!. Sedangkan apabila pada no_id sudah berisi nilai maka akan menjalankan program baris 470-485 yang bermaksut mengupdate atau memperbarui nilai pada database dengan kata kunci no_id yang dalam database sudah diset sebagai primary key sehingga tidak ada nilai yang sama pada field no_id. Apabila data tidak ada maka akan mengeksekusi kode program 479-482 yang akan mencetak kesalahan. Kemudian memanggil method simapndata, bersih dan tampildataketabel dengan maksut yang sudah kami jelaskan diatas.
Analisa: Kode program yang berada didalam jButton4 dengan event clicked ini bermaksut menghapus nilai perintah query delete from datatiketbola dengan kata kunci yang berada pada variabel cari yang berisi jOptionPane input.
Analisa: Script dengan event itemstatechanged yang berada pada cbtiket ini berisi method hargatiket untuk mengeset nilai txharga sesuai item pada cbtiket kemudian txharga di disable supaya tidak diubah nilainya oleh user.
Analisa: Pada jFrame ini diberi event windowopened yang berisi txharga diaktifkan, txbayar diset nilainya kosong, txharga diset nilai nol, txbayar didisable dan menampilkan jOptionPane yang berisi selamat datang di aplikasi pembelian tiket bola.
Analisa: Kode program diatas berisi event actionperformed pada jMenuItem1 yang menampilkan jOptionPane dan menutup program dengan System.exit(0).
Pada jMenu Edit sudah kami tanamkan kode program sama dengan 4 buah jbutton yang sudah kami bahas diatas. Untuk kode program cari data akan kami bahas sebagai berikut:
Analisa: Pada kode program diatas ditanamkan pada jMenuItem6 (menu cari data) yang bermaksut mencari data dengan kata kunci no_id yang inputanya dari jOptionPane kemudian di eksekusi oleh perintah query like untuk mencari data. Setelah data ditemukan maka data akan diset pada semua jTextField dan jComboBox.
Analisa: Pada kode program yang berada di txbanyak ini memiliki event keyreleased, apabila kita mengetikkan nilai pada txbanyak maka akan tampil perintah didalamnya. Txharga di disable dan memanggil method total yang berisi perhitungan aritmatika dari txharga*txbanyak kemudian hasilnya ditampilkan pada txbayar.
Analisa: Pada jMenuItem7 (About) berisi event actionperformed yang akan menampilkan form tentang.

Pada jFrame tentang
Analisa: Untuk pengesetan judul program yaitu Tentang Kami.
Analisa: Kode program dispose() yang sama fungsinya dengan close ini di tanamkan pada jButton1 (keluar).

 
 
Sumber : aimagu.blogspot.com

Aplikasi Database Sederhana Dengan Java Netbeans MySql

Mungkin tulisan mengenai membuat aplikasi database sudah banyak ditemukan di internet,,, walaupun begitu ketika mengerjakan tugas kuliah yang menyangkut database saya sangat susah menemukan tutorial yang cocok,, kenapa??? mungkin karna masih sedikit yang memahami pembuatan aplikasi database menggunakan metode yang saya gunakan (dengan EclipdeLink),,,termasuk teman-teman ilkom (bisa dibilang tidak ada).. Untuk membuat suatu aplikasi database di java kita bisa menggunakan beberapa metode,,, yaitu dengan menggunakan metode konfensional yang sudah banyak beredar, dengan Hibernate, dan dengan EclipseLink.. Pada tulisan ini saya menggunakan EclipseLink yang sudah mendukung JPA 2.0,, sedangkan hibernate pada saat itu hanya mendukung jpa 1.0 pada netbeans., menurut sumber yang terpercaya menyebutkan bahwa menggunakan teknik ini mempunyai beberapa kelebihan daripada menggunakan metode konvensional yang ada… Apa itu JPA?? Maaf saya tidak akan membahas masalah itu disini,, mungkin lain kali..

Untuk memulai pembutan aplikasi di Komputer anda harus ter-install Netbeans dan MySQL, pada aplikasi ini saya menggunakan Netbeans 6.8.. Anda diharapkan telah mengerti cara membuat database menggunakan MySQL…

Pertama buatlah sebuah database bernama “DataBase” atau terserah anda,, kemudian buatlah sebuah tabel atau entitas bernama “Mahasiswa” (ingat tabel harus mempunyai sebuah primary key) yang memiliki atribut: Nama, NRP, Tanggal Lahir, dan Alamat.


Membuat Project

Kemudian kita mulai membuat project Java Aplication di Netbeans, caranya: File -> New Project, lalu pada bagian Categories pilih Java dan bagian Project pilih Java Application. Beri nama project ini “Aplikasi”.



Tahap selanjutnya kita akan membuat entity class dimana class ini bertujuan untuk mempresentasikan entity atau tabel dalam suatu database.. Class ini dibuat lewat file->new file, pada categories pilih Persistence selanjutnya pilih entity classes from database

Jendela berikutnya pada database connection pilih new database connection kemudiannext. Kemudian isi sesuai gambar dibawah ini


Klik ok, akan muncul jendela berikutnya dan klik button Add All kemudian next. Akan muncul jendela berikutnya dan klik button creat persistence unit, ok, kemudian next. Pada collection pilih java.util.List dan klik button finish.

Berikutnya kita akan membuat class persistenceUtility sebagai utilities yang membuat koneksi JPA atau EntityManagerFactory:
package aplikasi;
        import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
        public class persistenceUtility {
             public final static EntityManagerFactory entityManagerFactory;
             static {
                   // parameter harus sama dengan nama Persistence Unit
                   // yang ada pada file persistence.xml
                  entityManagerFactory =
                             Persistence.createEntityManagerFactory("AplikasiPU");
            }
            public static EntityManagerFactory getEntityManagerFactory() {
                 return entityManagerFactory;
            }
       }

Selanjutnya kita akan membuat tampilan dari aplikasi database ini,,


Pada combobox cari berdasarkan,, ubahlah model pada property combobox yang sebelumnya dengan nama dan nrp, dengan cara klik kanan pada combobox, kemudian pada model yang sebelumnya berisikan item 1, item 2, item 3, item 4 ubah menjadi nama, nrp.

And then ubahlah nama2 komponen atau variabel seperti dibawah ini:


karna kita memakai Tabel sebagai antar mukanya,, maka kita harus membuat sebuah TableModel untuk mempermudah dalam menambah data dang mengambil data dari tabel. Buatlah class baru bernama TableModel:
package aplikasi;
       import java.util.ArrayList;
       import java.util.Collection;
       import java.util.List;
       import javax.swing.table.AbstractTableModel;
       public class TableModel extends AbstractTableModel {
            private static final long serialVersionUID = 1L;
            private List<Mahasiswa> list = new ArrayList<Mahasiswa>();
            public void updateAll(Collection<Mahasiswa> mhs) {
                list.clear();
                list.addAll(mhs);
                fireTableDataChanged();
            }
            public Mahasiswa get(int index){
                return list.get(index);
            }
            public void setData(List list) {
                this.list = list;
                    // memberi peringatan ke tabel bahwa data berubah
                fireTableDataChanged();
            }
            public void insert(Mahasiswa mhs) {list.add(mhs);
                fireTableRowsInserted(getRowCount() - 1, getRowCount() - 1);
            }
            public void delete(int index) {
                list.remove(index);
                fireTableRowsDeleted(index, index);
            }
            public void update(int index,
                Mahasiswa mhs) {list.set(index, mhs);
                fireTableRowsUpdated(index, index);
            }
            public Mahasiswa select(int index) {
                return list.get(index);
            }
            public int getRowCount() {
                return list.size();
            }
            public int getColumnCount() {
                return 4;
            }
            public Object getValueAt(int rowIndex, int columnIndex) {
                 switch (columnIndex) {
                      case 0:
                           return list.get(rowIndex).getNama();
                      case 1:
                           return list.get(rowIndex).getNrp();
                      case 2:
                           return list.get(rowIndex).getTanggalLahir();
                      case 3:
                           return list.get(rowIndex).getAlamat();
                      default:
                           return null;
            }
            @Override
            public String getColumnName(int column) {
                 switch (column) {
                      case 0:
                           return "Nama";
                      case 1:
                           return "NRP";
                      case 2:
                           return "Tanggal lahir";
                      case 3:
                           return "Alamat";
                      default:
                           return null;
                 }
            }
       }

Selanjutan kita tambahkan TableModel ke tampilan antarmuka, carannya masuk ke bagian source kemudian ubah konstruktor yang sebelunnya:
public View() {
              initComponents();
         }

Menjadi:
public View() {
              initComponents();
              tableModel = new TableModel();
              Tabel.setModel(tableModel);
         }

Berikutnya tambahan getter untuk semua komponen pada source antarmuka, ini berguna untuk controler yang akan buat selanjutnya.
public View() {
              initComponents();
              tableModel = new TableModel();
              Tabel.setModel(tableModel);
         }
         public JButton getButtonDelete() {
             return Hapus;
         }
         public JButton getButtonInsert() {
             return Tambah;
         }
         public JButton getButtonUpdate() {
             return Edit;
         }
         public TableModel getTableModel() {
             return tableModel;
         }
         public JTable getTable() {
             return Tabel;
         }
         public JTextField getTextNama() {
             return txtNama;
         }
         public JTextField getTextNrp() {
             return txtNrp;
         }
         public JSpinner getTanggal() {
             return Tanggal;
         }
         public JTextArea getAlmt() {
             return Alamat;
         }

Selanjutnya kita akan membuat class Controler. Class ini bertugas untuk melakukan semua proses manipulasi database. Biasanya Controller menyesuaikan dengan View, misal disini View memiliki tombol INSERT, UPDATE dan DELETE, artinya Controller harus dapat menangani masalah INSERT, UPDATE dan DELETE tersebut. Biasanya Controller menyesuaikan dengan View, misal disini View memiliki tombol INSERT, UPDATE dan DELETE, artinya Controller harus dapat menangani masalah INSERT, UPDATE dan DELETE tersebut. Apa hanya itu? TIDAK! Terdapat sebuah tabel pada VIew yang sebelumnya kita buat, dan yang jadi pertanyaan bagaimana data yang ada dalam database bisa terlihat di table? Artinya kita harus membuat si Controller dapat menangani proses SELECT.
package aplikasi;
      import java.util.Date;
      import java.util.List;
      import javax.persistence.EntityManager;
      import javax.swing.JOptionPane;

      public class Controler {
           private View view;

           public Controler(View view) {
               this.view = view;
           }
           public void insert() {
               EntityManager manager =
                   PersistenceUtility.getEntityManagerFactory().createEntityManager();
               manager.getTransaction().begin();
               try {
                      // buat mahasiswa
                   Mahasiswa mhs = new Mahasiswa();
                      // ubah data mahasiswa
                   mhs.setNama(view.getTextNama().getText());
                   mhs.setNrp(view.getTextNrp().getText());
                   mhs.setTanggalLahir( (Date) view.getTanggal().getValue());
                   mhs.setAlamat(( view.getAlmt().getText()));
                      // simpan ke database
                   manager.persist(mhs);
                      // simpah ke tablemodel
                   view.getTableModel().insert(mhs);
                   manager.getTransaction().commit();
               } catch (Throwable t) {
                   t.printStackTrace();
                   manager.getTransaction().rollback();
               } finally {
                   manager.close();
               }
          }
          public void update() {
                  // dapatkan baris yang terseleksi
              int index = view.getTable().getSelectedRow();
                  // jika tidak ada
              if (index == -1) {
                  // maka proses dibatalkan
              JOptionPane.showMessageDialog(null, "Pilih baris yang akan di-update!");
              return;
               }
               EntityManager manager =
                      PersistenceUtility.getEntityManagerFactory().createEntityManager();
               manager.getTransaction().begin();
               try {
                       // mendapatkan mahasiswa dari tablemodel
                    Mahasiswa mhs = view.getTableModel().select(index);
                       // ubah data mahasiswa
                    mhs.setNama(view.getTextNama().getText());
                    mhs.setNrp(view.getTextNrp().getText());
                    mhs.setTanggalLahir((Date) view.getTanggal().getValue());
                    mhs.setAlamat(( view.getAlmt().getText()));
                       // update mahasiswa ke database
                    manager.merge(mhs);
                       // update mahasiswa ke tablemodel
                    view.getTableModel().update(index, mhs);
                    manager.getTransaction().commit();
               } catch (Throwable t) {
                    t.printStackTrace();
                    manager.getTransaction().rollback();
               } finally {
                    manager.close();
               }
          }
          public void delete() {
                  // dapatkan baris yang terseleksi
             int index = view.getTable().getSelectedRow();
                  // jika tidak ada
             if (index == -1) {
                JOptionPane.showMessageDialog(null, "Pilih baris yang akan di-delete!");
                return;// maka proses dibatalkan
                }
             EntityManager manager =
                  PersistenceUtility.getEntityManagerFactory().createEntityManager();
             manager.getTransaction().begin();
             try {
                      // mendapatkan mahasiswa dari tablemodel
                 Mahasiswa mhs = view.getTableModel().select(index);
                     // menghapus mahasiswa dari database
                 manager.remove(manager.merge(mhs));
                      // menghapus mahasiswa dari tablemodel
                 view.getTableModel().delete(index);
                 manager.getTransaction().commit();
             } catch (Throwable t) {
                  t.printStackTrace();
                  manager.getTransaction().rollback();
             } finally {
                  manager.close();
             }
        }
        public void select() {
             EntityManager manager =
                   PersistenceUtility.getEntityManagerFactory().createEntityManager();
             try {
                  @SuppressWarnings("unchecked")
                  List list = manager.createQuery
                      ("select a from Mahasiswa a order by a.nrp").getResultList();
                  view.getTableModel().updateAll(list);
             } finally {
                   manager.close();
             }
        }
    }

Untuk tahap berikutnya kita akan menambahkan aksi tombol Tambah, Hapus, Edit, dan Refresh. Dengan cara double klik tombol tersebut kemudian isikan kode beriut:

Tambah:

private void TambahActionPerformed(java.awt.event.ActionEvent evt) {
             if(txtNama.getText().equals("") ||
                        txtNrp.getText().equals("") || Alamat.getText().equals("")  ){
                 JOptionPane.showMessageDialog(null, "Data harus diisi dengan lengkap!");
                 return;
             }
             controler.insert();
             txtNama.setText("");
             txtNrp.setText("");
             Alamat.setText("");
         }

Hapus:
private void HapusActionPerformed(java.awt.event.ActionEvent evt) {
               if (JOptionPane.showConfirmDialog
                        (this, "Anda Yakin Akan Menghapus Data Mahasiswa?",
                           "Hapus Mahasiwa", JOptionPane.OK_CANCEL_OPTION) ==
                                JOptionPane.CANCEL_OPTION) {
                        // batalkan aksi hapus
                    return;
               }
               controler.delete();
               txtNama.setText("");
               txtNrp.setText("");
               Alamat.setText("");
         }

Edit:

private void EditActionPerformed(java.awt.event.ActionEvent evt) {
              if(txtNama.getText().equals("") || txtNrp.getText().equals("") ||
                        Alamat.getText().equals("")  ){
                   JOptionPane.showMessageDialog(null,"Data harus diisi dengan lengkap!");
                     return;
              }
              controler.update();
              txtNama.setText("");
              txtNrp.setText("");
              Alamat.setText("");
         }

Refresh:

private void refreshActionPerformed(java.awt.event.ActionEvent evt) {
              controler.select();
}

Dan terakhir tambahkan aksi tombol Cari,, dengan cara yang sama dan isikan kode berikut:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
               EntityManager manager =
                     PersistenceUtility.getEntityManagerFactory().createEntityManager();
               try {
                     List list =   manager.createQuery
                           ("select b from Mahasiswa b where " + "b." +
                               (String)cmbCari.getSelectedItem()+ " like '%" +
                                    txtCari.getText() + "%'").getResultList();
                         // tampilkan hasil pencarian ke table
                     tableModel.setData((List) list);
               } catch (Throwable t) {
                         // perlihatkan error
                     t.printStackTrace();
               } finally {
                         // tutup entitymanager
                     manager.close();
               }
          }

Sampai disini sebenarnya program kita sudah jadi,, tapi untuk membuat tabel pada program kita lebih interaktif maka tambahkan kode berikut pada konstruktor view atau tampilan antar mua program sehingga kontraktornya menjadi:
public View() {
                   initComponents();
                   tableModel = new TableModel();
                   Tabel.setModel(tableModel);
                   controler = new Controler(this);
                       //menampilkan data mahasiswa ketika program pertama kali dijalankan
                   refreshActionPerformed(null);
                   Tabel.getSelectionModel().addListSelectionListener
                                (new ListSelectionListener() {
                        public void valueChanged(ListSelectionEvent e) {
                                // dapatkan baris yang terseleksi
                        int baris = Tabel.getSelectedRow();
                               // cek apakah baris terseleksi
                        if (baris != -1) {
                              // jika terseleksi, tampilkan data di form
                               // dapatkan mahasiswa dari tabel
                             Mahasiswa mhs = tableModel.get(baris);
                                   // tampilkan data di form
                             txtNama.setText(mhs.getNama());
                             txtNrp.setText(mhs.getNrp());
                             Tanggal.setValue(mhs.getTanggalLahir());
                             Alamat.setText(mhs.getAlamat());
                        }
                    }
                });
             }

Akhirnya progam database sederhana telah selesai,,, kita tinggal menambahkan driver MySQL ke dalam project.. Caranya klik kanan pada libraries project kita kemudian pilih Add Library, selanjutnya pilih My SQL JDBC Driver. Dan program database sederhana siap dijalankan… Gampangkan…………!! Malah lebih gampang dari cara yang biasa….

koneksi database MYSQL dengan netbeans

koneksi database MYSQL dengan netbeans,- baik kali ini saya akan sharing tentang koneksi databasemysql dengan netbeans. sebelumnya anda harus sudah menginstal aplikasi netbeans jika blom anda harus download dulu di sini.
koneksi database MYSQL dengan netbeans


pertama - tama anda harus membuat dulu databasenya. ikuti langkah - langkah yang saya berikan di bawah ini :

  1. pertama - tama nada harus buat projek baru dulu . file > new prokect . beri nama projek terserah anda misalkan saja muklisprojek
  2. pada menubar klik windows > klik services
  3. sebelum nya anda harus menyalakan dulu xampp nya. jika  belom punya silahkan download di sini 
  4. setelah itu buat database baru dengan cara klik kanan pada databases > register mysql server > oke saja
  5. terus klik kanan pada mysql server nya yang barusan di buat, jika belom konek maka silahkan pilih connect
  6. buat database dengan cara klik kanan pada mysql server > pilih create database isi database name nya lalu klik ok
  7. setelah itu buat tabel nya dengan cara klik pada databasaae yang telah anda buat barusan > tables > klik kanan pilih create table.
  8. isi nama tabel pada kolom yang tersedia > add coloumn
  9. create tabel di mysql menggunakan netbeans
  10. isi name dengan field dari tabel yang anda buat, isi juga yang lainnya.
  11. ulangi langkah no 10 jika tabel anda memiliki banyak field.
anda bisa juga menggunaka bahasa sql untuk membuat tabel dan field nya jika anda bisa cara nya lebih mudah : pada tabel yang kamu buat tadi klik kanan > pilih execute command > tuliskan kode sql nya pada form yang ada misalkan "create table madura (
id_kabupaten varchar (5) not null primary key,
nama_kabupaten varchar (30),
jumblah_kabupaten int (2),
kebudayaan varchar (255),
makanan_khas varchar (50),
)engine = innodb "
setelah itu klik run sql (ctrl + shift + t)
tunggu artikel yang akan saya sharing selanjut nya mungkin artikel selanjut nya kelanjutan dari artikel koneksi database MYSQL dengan netbeans  salam sobat shati (sharing ilmu IT).