Your SlideShare is downloading. ×
Laporan tugas akhir daspro kelompok
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Laporan tugas akhir daspro kelompok

393

Published on

Published in: Data & Analytics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
393
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. LAPORAN PROJECT AKHIR DASAR-DASAR PEMROGRAMAN JAVA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG 2014 Dosen Pengampu : SUPRIYONO,M.Kom KELOMPOK : Erik Hendra [12650036] Syafrudin [12650039] Ginanjar Galang [12650044] APLIKASI PENJUALAN SANITAIR
  • 2. 1 KATA PENGANTAR Puji syukur penyusun panjatkan ke hadirat Allah Subhanahu wata’ala, karena berkat rahmat-Nya kami bisa menyelesaikan laporan project akhir mata kuliah Dasar-Dasar Pemrograman java yang berjudul Aplikasi Penjualan Sanitair. Projek ini diajukan guna memenuhi tugas akhir mata kuliah Dasar-Dasar Pemrograman Java. Kami mengucapkan terima kasih kepada semua pihak yang telah membantu sehingga projek ini dapat diselesaikan tepat pada waktunya. Projek akhir ini masih jauh dari sempurna, oleh karena itu, kritik dan saran yang bersifat membangun sangat kami harapkan demi sempurnanya makalah ini. Semoga laporan ini memberikan informasi bagi masyarakat dan bermanfaat untuk pengembangan wawasan dan peningkatan ilmu pengetahuan bagi kita semua. Malang, Juni 2014 Penulis,
  • 3. 2 A. Deskripsi UKM dan Produksi Bachri Darmo merupakan generasi kedua yang memulai usaha pada tahun 1941, ia bergerak di bidang sanitair dan segala sesuatu yang berhubungan dengan semen. Nama perusahaan yang dimilikinya adalah Ragam Indah dengan karyawan 70 orang. Usahanya terletak di rumahnya sendiri yang beralamat di Desa Klaseman no. 345 RT 06/RW 02 Sukun-Malang. Sanitair yang di buatnya beragam jenis mulai dari pagar, pilar, pot hingga kloset jongkok. Selain itu ia juga menerima pesanan dari segala macam bentuk, tergantung pada pemesan. Usaha yang di lakukannya ini tidak hanya menerima pesanan dari dalam negeri tapi juga di luar negeri seperti Belanda, Malaysia, Singapura dan lain lain. Berikut merupakan sebagian contoh barang-barang yang di produksi : Gambar 1 Gambar 2 Gambar 3 Gambar 4
  • 4. 3 B. Entity Relational Database Berikut Merupakan relasi relasi tabel database menggunakan PhpMyAdmin dan Mysqlyog
  • 5. 4 Penjelasan Source Code Program Project UAS Dasar-Dasar Pemrograman Java 1. Penjelasan Code Pada Frame Koneksi Class koneksi.java merupakan class yang berguna untuk membagun koneksi ke Database mysql yang sudah di buat. Gambar 1: Class Koneksi.java Pada code diatas terdapat pendefinisian beberapa atribut-atribut untuk membuat koneksi ke database. Semua atribut menggunakan keyword static.  Static merupakan Sebuah variabel atau fungsi yang mempunyai nilai kembalian yang nilaix akan tetap terjaga selama tidak ada perubahan nilai dalam var, dan fungsi tersebut selama aplikasi berjalan.  Fungsi try catch pada code di atas adalah untuk menangani kesalahan pada bagian code yang tidak tepat. Sehingga akan cepat diketahui bagian yang error yang mana.  Perintah return stat; merupakan perintah untuk mengembalikan nilai stat
  • 6. 5 Gambar 2 : Method Koneksi pada class koneksi  Tedapat try catch juga untuk mempermudah mengetahui kesalahan pada code tersebut.  Variabel URL yang bertipe String untuk mendeklarasikan Driver Library jdbc connection ke database.  Class.forName().newInstance(); :: adalah untuk memanggil Driver yang sudah di deklarasikan sebelumnya. KeyWord : Tipe data, Variabel, Static, Event Handling, Connection, Database, Driver, Fungsi, Rekursif. 2. Penjelasan Frame Login Frame Login ini adalah tampilan yang akan pertama kali muncul saat program dijalankan, karena program ini di buat hanya untuk admin dari toko tersebut. Admin akan mengisi username dan password yang di ambil dari database. Gambar 3: Frame Login Penjelasan Source Code Frame Login  Perintah koneksi k; merupakan perintah untuk membuat objek “k” pada class koneksi.java yang kemudian di panggil dengan this.k = new koneksi(); pada Construktor.  Fungsi this pada java untuk membedakan variabel pada atribut dan pada Construktor  Perintah setLocationRelativeTo(null); merupakan code untuk menentukan posisi letak frame yang akan berada di tengah tengah dekstop.
  • 7. 6  Perintah diatas merupakan memberikan fungsi kepada TextField Password, ketika mendapatkan keyEvent Enter atau ketika keyboard di enter ketika memasukan password maka aka memenggil method masukk(); . Gambar 4: Method Masuk pada class Login.java  Terdapat try catch lagi untuk mengetahui kesalahan code  Memamggil objek koneksi yang sudah di deklarasikan terlebih dahulu yaitu k.koneksi();  Mendeklarasikan Username dan Pass berdasarkan text yang di inputkan pada TextField.  Membuat statement untuk membuat query database dapat di eksekusi  Tipe String sql : merupakan query sql yang di ambil dari tabel login pada kolom username dan pass pada database.  Resulset rs = statement akan mengeksekusi query sql  If (rs.next ){ kondisi yang merupakan jika kondisi benar bahwa username dan password yang di input kan pada dua TextField adalah sama keduanya dengan data yang ada pada database, maka akan print (“Anda telah login”). Jika kondisi gk true atau bernilai False maka tidak akan di eksekusi query tersebut, hanya akan memunculkan pesan bahwa Username dan Password yang diinputkan tidak sesuai.  Setelah itu akan memenggil class Frameutama.java dan class login ini akan di dispose atau di sembunyikan atau tidak ditampilkan. KeyWord : Tipe data, Variabel, Static, Event Handling, KeyEvent, Statement If-else.
  • 8. 7 3. Frame Menu Utama Gambar 5: Tampilan Frame Utama Pada Class ini hanya berfungi untuk memanggil class-class yang lainnya jadi ibarat sebagai induk class lainnya. Class ini terdiri dari Jpanel, JMenuItem, JtoolBar. Tidak terdapat banyak kode di dalamnya hanya code untuk memanggil class-class. Jika kita lihat pada Code di atas memiliki struktur yang hampir sama, Cuma berbeda pada Objek pendeklarasiannya saja yang berbeda. (this, true) adalah untuk memanggil class yang di buat menggunakan JDialog.
  • 9. 8 4. Frame Barang Gambar 6: Tampilan Frame Barang Pada frame barang ini di gunakan untuk menambahkan, mencari, menghapus dan mengedit data dari database tabel barang. Dan juga ada tabel yang menampilkan data yang di ambil dari tabel barang di database.  Pendeklarasian variabel Statement dengan objek stat bertipe public  Membuat objek kon pada class Koneksi()  Mendeklarasikan driver Connection dengan objek con untuk mengeksekusi query database  Terdapat juga defaulttablemodel yang merupakan model tabel
  • 10. 9 Insert Barang Gambar 7: Method Insert barang Pada Class Tambahbarang.java  Terdapat perintah untuk memanggil class koneksi, setelah itu try-catch  Sql bertipe String berisi query sql insert into barang, jadi untuk menambahkan data ke tabel barang. Update Barang Gambar 8: method update barang di class barang  Hampir sama dengan method sebelumnya, hanya beda query sql nya saja
  • 11. 10 Cari Barang Gambar 9 : Pencarian data dari database barang  Ada pendefinisian model tabel  Setelah itu memberikan nama kepada kolom kolok tabel  Query untuk pencarian berdasarkan kode barang  While(set.next), jadi ketika di temukan maka akan di tampilkan ke tabel Hapus Barang  Semua code di atas sama dengan code sebelumnya namun hanya beda pada query sql nya saja yaitu untuk menghapus berdasarkan kode barang atau berdasarkan nama barang yang di inputkan oleh user.
  • 12. 11 Tampil keTabel Gambar 10: method untuk menampilkan data ke tabel  Objek[] row ={}; adalah code untuk menyimpan data array yang di gunakan untuk nama kolom tabel.  Baris selanjutnya adalah untuk menentukan model tabel dan memanggil objek dari array yang sudah di deklarasikan di atasnya.  Ada query sql untuk select semua data dari tabel barang  While untuk menyimpan ke tabel ketika data sudah di select dari data base KeyWord : Array, Looping (While), Event Hendling,Tipe data, KeyEvent, Statement If-else.
  • 13. 12 5. Frame Transaksi Pada Frame transaksi terdapat dua form yaitu menggunakan JTabbedPane yaitu panel transaksi jual dan panel untuk transaksi beli. Pada panel transaksi jual terdapat dua button simpan yaitu untuk menyimpan ke tabel transaksi jual dan menyimpan ke detail transaksi jual. Karena satu pelanggan bisa membeli beberapa barang.  TextField kode transaksi merupakan autoNumber berdasarkan kode terakhir di database tabel transaksi maka akan di simpan di textfield dan di increment.  Semua data JcomboBox di ambil dari database berbagai tabel sehingga tinggal select kode yang sudah di inputkan.
  • 14. 13 Gambar : 11 Mengambil data dari database untuk disimpan ke Combobox  Textfield nama pelanggan adalah auto, jadi tidak perlu di inputkan, tetapi akan menyimpan data berdasarkan kode pelanggan yang sudah di pilih pada combobox  Begitu juga dengan textfield harga satuan dimana merupakan auto text yang di ambil dari tabel barang pada database berdasarkan select kode barang pada combobox kode barang.  Pada textfield jumlah item di kasih event KeyRelese jadi setelah kita merilis atau melepaskan tekanan pada keyboard akan mendapatkan hasilnya
  • 15. 14 Jadi ketika kita memasukan angka pada jumlah item makan akan dikalikakan saat itu juga dengan Harga satuan kemudian total harga akan otomatis meset text hasil kalinya.  Terdapat dua tombol simpan di panel ini yaitu untuk menyimpan di tabel transaksi jual dan di tabel detail transaksi jual. Karena satu pelanggan bisa membeli beberapa jenis barang.  Terdapat event hendling pada button simpan, yaitu untuk memeriksa apaka ada yang belum terisi.  Terdapat beberapa query sql pada button simpan yaitu untul menyimpa ke tabel transaksi, menyeleksi jumlah stok di tabel barang, dan mengurangi stok barang
  • 16. 15 KeyWord : Array, Looping (While), Event Hendling,Tipe data, KeyEvent,KeyRelese, Statement If-else.
  • 17. 16 Form Pesanan Screen Shoot Source Code Penjelasan masing-masing method 1.Deklarasi variabel public Statement stat; koneksi k; Connection con; ResultSet rs = null; //Dari beberapa potongan source code di atas dapat di lihat kita membuat variable “k” yang mereferensi dari class koneksi, lalu membuat Statement, Connection dan ResultSet. DefaultTableModel model = new DefaultTableModel(); DefaultComboBoxModel<String> model1 = new DefaultComboBoxModel(); //Lalu kita membuat Table untuk menampilkan data yang telah tersimpan dan menambahkan Combo box
  • 18. 17 /** * Creates new form Pesanan */ 2.Method public pesanan public Pesanan(java.awt.Frame parent, boolean modal) { super(parent, modal); this.k = new koneksi(); initComponents(); tabel_baru(); setLocationRelativeTo(this); } //Pada method ini kita mereferensikan class ini dengan class parent yang bernama koneksi dengan konstruktor frame parent dan modal. } 3.Method Insert pesanan void insertpesanan() { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database try { stat = koneksi.createStatement(); String sql = "insert into pesanan values ('" + (TFKode_pes.getText()) + "','" + (TFNama_pes.getText()) + "','" + TFAlamat_pes.getText() + "','" + TFJenis_pes.getText() + "');"; //menggunakan Query Insert MySQl untuk melakukan insert pada database. stat.close(); JOptionPane.showMessageDialog(null, "Data Pesanan telah tersimpan"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal disimpan. error:" + e);
  • 19. 18 //menggunakan try catch untuk mengetahui apakah masih terjadi eror atau tidak } } 4.Method cari pesanan void caripesanan() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database DefaultTableModel tb = new DefaultTableModel(); tb.addColumn("Kode Pesanan"); tb.addColumn("Nama"); tb.addColumn("Alamat"); tb.addColumn("Jenis"); //Membuat table dengan setting nama kolom sesuai String di atas. String sql = "select * from pesanan where Kode_pes ='" + TFKode_pes.getText() + "' or Nama_pes='" + TFNama_pes.getText() + "'"; //Menggunakan query select MySQL untuk mencari data di database dengan parameter kode pesanan atau nama pesana stat = koneksi.createStatement(); ResultSet set = stat.executeQuery(sql); while (set.next()) { tb.addRow(new Object[]{ set.getInt("Kode_pes"), set.getString("Nama_pes"), set.getString("Alamat_pes"), set.getString("Jenis_pes") }); } //Seting data yang di ambil dari database dengan menempatkan ke kolom-kolom sesuai urutan kolom.
  • 20. 19 } tabel_pes.setModel(tb); //Memanggil void table baru yang akan menampilkan table. stat.close(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "Kesalahan. error:" + e); //menggunakan try catch untuk mengetahui apakah masih terjadi eror atau tidak } } 5. Method Delete pesana void deletepesanan() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database stat = koneksi.createStatement(); String sql = "delete from pesanan where Kode_pes='" + TFKode_pes.getText() + "' or Nama_pes='" + TFNama_pes.getText() + "'"; //Menggunakan query delete MySQL dengan syarat yang di ketahui adalah kode pesanan. stat.executeUpdate(sql); //Memanggil void table baru yang akan menampilkan table. stat.close(); JOptionPane.showMessageDialog(null, "Data pesanan telah dihapus"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal dihapus. error:" + e); //menggunakan try catch untuk mengetahui apakah masih terjadi eror atau tidak } } 6.Method Update pesanan void updatepesanan() {
  • 21. 20 try { k.koneksi(); stat = koneksi.createStatement(); String sql = "update pesanan set Jenis_pes='" + TFJenis_pes.getText() + "'where Kode_pes='" + TFKode_pes.getText() + "' or Nama_pes='" + TFNama_pes.getText() + "'"; //Menggunakan Query update MySQl untuk mengubah data jenis pesanan dimana di peroleh kode dan nama pesanan tersebut stat.executeUpdate(sql); stat.close(); //Memanggil void table baru yang akan menampilkan table. JOptionPane.showMessageDialog(null, "Data Pesanan telah diubah"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal diubah. error:" + e); //menggunakan try catch untuk mengetahui apakah masih terjadi eror atau tidak } } 7. Method Tabel baru private void tabel_baru() { Object[] row = {"Kode Pesanan", "Nama", "Alamat", "Jenis"}; //Membuat array bernilai String untuk di jadikan judul pada table. model = new DefaultTableModel(null, row); tabel_pes.setModel(model); try { stat = k.con.createStatement(); String sql = "select * from pesanan"; ResultSet rs = stat.executeQuery(sql); while (rs.next()) { String Kode_Pesanan = rs.getString(1);
  • 22. 21 String Nama = rs.getString(2); String Alamat = rs.getString(3); String Jenis = rs.getString(4); String[] data = {Kode_Pesanan, Nama, Alamat, Jenis}; //Mengisikan table dengan table di database dengan mengurutkan urutan kolomnya model.addRow(data); } } catch (Exception aw) { } } Form Pelanggan Screen Shoot
  • 23. 22 Penjelasan masing-masing method 1.Deklarasi Variabel public Statement stat; koneksi k; Connection con; ResultSet rs = null; //Dari coding di atas dapat di lihat kita membuat variable k yang mereferensi dari class koneksi,lalu membuat Statement,Connection dan ResultSet. DefaultTableModel model = new DefaultTableModel(); DefaultComboBoxModel<String> model1 = new DefaultComboBoxModel(); //Lalu kita membuat Table untuk menampilkan data yang telah tersimpan dan menambahkan Combo box 2. Method Public Supplier public Pelanggan(java.awt.Frame parent, boolean modal) { super(parent, modal); this.k = new koneksi(); initComponents(); tabel_baru();
  • 24. 23 setLocationRelativeTo(this); } //Pada method ini kita mereferensikan class ini dengan class parent yang bernama koneksi dengan konstruktor frame parent dan modal. 3. Method membuat table private void tabel_baru() { Object[] row = {"Kode Pelanggan", "Nama", "Alamat"}; //membuat array yang di gunakan untuk menyimpan nama-nama kolom pada table yang akan di buat model = new DefaultTableModel(null, row); tabel_cus.setModel(model); try { stat = k.con.createStatement(); String sql = "select * from supplier"; ResultSet rs = stat.executeQuery(sql); while (rs.next()) { String Kode_Pel = rs.getString(1); String Nama = rs.getString(2); String Alamat = rs.getString(3); String[] data = {Kode_Pel, Nama, Alamat}; model.addRow(data); //Code di atas di gunakan untuk mengisi table dengan urutan kolom pada database } } catch (Exception aw) { } } 4. Method Insert pelanggan void insertpelanggan() { k.koneksi();
  • 25. 24 //pertama kita memanggil class koneksi yang mengubungkan program dengan database try { stat = koneksi.createStatement(); String sql = "insert into pelanggan values ('" + (TFKode_pel.getText()) + "','" + (TFNama_pel.getText()) + "','" + TFAlamat_pel.getText() + "');"; stat.executeUpdate(sql); stat.close(); JOptionPane.showMessageDialog(null, "Data Pelanggan telah tersimpan"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal disimpan. error:" + e); } tabel_cust(); 4.Method Cari pelanggan void caripelanggan() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database efaultTableModel tb = new DefaultTableModel(); tb.addColumn("Kode Pelanggan"); tb.addColumn("Nama"); tb.addColumn("Alamat"); //Pertama kita membuat table dulu dengan nama kolom seperti kode di atas. String sql = "select * from pelanggan where Kode_pel ='" + TFKode_pel.getText() + "' or Nama_pel='" + TFNama_pel.getText() + "'"; //Menggunakan query search pada MySQL dengan parameter Kode_pel dari text fields Nama_pel stat = koneksi.createStatement(); ResultSet set = stat.executeQuery(sql); while (set.next()) {
  • 26. 25 tb.addRow(new Object[]{ set.getInt("Kode_sup"), set.getString("Nama_sup"), set.getString("Alamat_sup"), set.getString("bahan_suply") //Ketika objek di temukan maka otomatis data yang di cari dalam database akan di panggil untuk mengisi kolom-kolom dalam table yang telah di buat tabel_sup.setModel(tb); //berikut untuk memunculkan table yang mempunyai variable tb. stat.close(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "Kesalahan. error:" + e); } } 5.Method Hapus void deletesuplier() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database stat = koneksi.createStatement(); String sql = "delete from pelanggan where Kode_pel='" + TFKode_pel.getText() + "' or Nama_pel='" + TFNama_pel.getText() + "'"; //Menggunakan query delete pada sql dengan parameter kode supplier atau nama supplier stat.executeUpdate(sql); stat.close(); JOptionPane.showMessageDialog(null, "Data pelanggan telah dihapus"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal dihapus. error:" + e); } tabel_cust();
  • 27. 26 } 6.Method Update pelanggan void updatepelanggan() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database stat = koneksi.createStatement(); String sql = "insert into pelanggan values ('" + (TFKode_pel.getText()) + "','" + (TFNama_pel.getText()) + "','" + TFAlamat_pel.getText() + "');"; //Menggunakan query update MySQL untuk mengubah data bahan supplier dengan parameter kode, dan nama. stat.executeUpdate(sql); stat.close(); JOptionPane.showMessageDialog(null, "Data Pelanggan telah tersimpan"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal disimpan. error:" + e); } tabel_cust(); } //Menggunakan try catch untuk mengetahui errornya
  • 28. 27 Form Karyawan  Screen Shoot Source Code Penjelasan masing-masing method 1.Deklarasi variabel public Statement stat; koneksi k; Connection con; ResultSet rs = null; //Dari coding di atas dapat di lihat kita membuat variable k yang mereferensi dari class koneksi,lalu membuat Statement,Connection dan ResultSet. DefaultTableModel model = new DefaultTableModel(); DefaultComboBoxModel<String> model1 = new DefaultComboBoxModel(); //Lalu kita membuat Table untuk menampilkan data yang telah tersimpan dan menambahkan Combo box
  • 29. 28 /** * Creates new form Karyawan */ 2.Method public karyawan public Karyawan(java.awt.Frame parent, boolean modal) { super(parent, modal); initComponents(); this.k = new koneksi(); setLocationRelativeTo(this); tabel_baru(); //Pada method ini kita mereferensikan class ini dengan class parent yang bernama koneksi dengan konstruktor frame parent dan modal. } 3.Method Tabel baru private void tabel_baru() { Object[] row = {"Kode Pegawai", "Nama", "Alamat"}; //Membuat array bernilai String untuk di jadikan judul pada table. model = new DefaultTableModel(null, row); tabel_peg.setModel(model); try { stat = k.con.createStatement(); String sql = "select * from pegawai"; ResultSet rs = stat.executeQuery(sql); while (rs.next()) { String Kode_peg = rs.getString(1); String Nama = rs.getString(2); String Alamat = rs.getString(3); String[] data = {Kode_peg, Nama, Alamat}; //Mengisikan table dengan table di database dengan mengurutkan urutan kolomnya
  • 30. 29 model.addRow(data); } } catch (Exception aw) { } } 3.Method Insert void insertpegawai() { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database try { stat = koneksi.createStatement(); String sql = "insert into pegawai values ('" + (TFKode_peg.getText()) + "','" + (TFNama_peg.getText()) + "','" + TFAlamat_peg.getText() + "');"; //menggunakan Query Insert MySQl untuk melakukan insert pada database. stat.executeUpdate(sql); stat.close(); JOptionPane.showMessageDialog(null, "Data Pegawai telah tersimpan"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal disimpan. error:" + e); //menggunakan try catch untuk mengetahui apa program sudah berjalan baik atau belum } } 4.Method Search void caripegawai() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database DefaultTableModel tb = new DefaultTableModel();
  • 31. 30 tb.addColumn("Kode Pegawai"); tb.addColumn("Nama"); tb.addColumn("Alamat"); //Membuat table dengan setting nama kolom sesuai String di atas. String sql = "select * from pegawai where Peg_Kode ='" + TFKode_peg.getText() + "' or Peg_Nama='" + TFNama_peg.getText() + "'"; //Menggunakan query select MySQL untuk mencari data di database dengan parameter kode pegawai stat = koneksi.createStatement(); ResultSet set = stat.executeQuery(sql); while (set.next()) { tb.addRow(new Object[]{ set.getInt("Peg_Kode"), set.getString("Peg_Nama"), set.getString("Peg_Alamat")}); //Seting data yang di ambil dari database dengan menempatkan ke kolom-kolom sesuai urutan kolom. } tabel_peg.setModel(tb); tabel_baru(); //Memanggil void table baru yang akan menampilkan table. stat.close(); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "Kesalahan. error:" + e); //menggunakan try catch untuk mengetahui apa program sudah berjalan baik atau belum } } 5. Method Delete void deletepegawai() {
  • 32. 31 try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database stat = koneksi.createStatement(); String sql = "delete from pegawai where Peg_Kode='" + TFKode_peg.getText() + "'"; //Menggunakan query delete MySQL dengan syarat yang di ketahui adalah kode pegawainya. stat.executeUpdate(sql); tabel_baru(); //Memanggil void table baru yang akan menampilkan table. stat.close(); JOptionPane.showMessageDialog(null, "Data pegawai telah dihapus"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal dihapus. error:" + e); //menggunakan try catch untuk mengetahui apa program sudah berjalan baik atau belum } } 6.Method Update void updatepegawai() { try { k.koneksi(); stat = koneksi.createStatement(); String sql = "update pegawai set Peg_alamat='" + TFAlamat_peg.getText() + "'where Peg_Kode='" + TFKode_peg.getText() + "' or Peg_Nama='" + TFNama_peg.getText() + "'"; //Menggunakan Query update MySQl untuk mengubah data alamat pegawai dimana di peroleh kode dan nama pegawai tersebut stat.executeUpdate(sql); stat.close(); tabel_baru(); //Memanggil void table baru yang akan menampilkan table. JOptionPane.showMessageDialog(null, "Data Pegawai telah diubah");
  • 33. 32 } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal diubah. error:" + e); //menggunakan try catch untuk mengetahui apa program sudah berjalan baik atau belum } } Form Supplier Screen Shoot Penjelasan masing-masing method 1.Deklarasi Variabel public Statement stat; koneksi k; Connection con; ResultSet rs = null; //Dari coding di atas dapat di lihat kita membuat variable k yang mereferensi dari class koneksi,lalu membuat Statement,Connection dan ResultSet.
  • 34. 33 DefaultTableModel model = new DefaultTableModel(); DefaultComboBoxModel<String> model1 = new DefaultComboBoxModel(); //Lalu kita membuat Table untuk menampilkan data yang telah tersimpan dan menambahkan Combo box 2. Method Public Supplier public Supplier(java.awt.Frame parent, boolean modal) { super(parent, modal); this.k = new koneksi(); initComponents(); tabel_baru(); setLocationRelativeTo(this); } //Pada method ini kita mereferensikan class ini dengan class parent yang bernama koneksi dengan konstruktor frame parent dan modal. 3. Method Insert void insertsuplier() { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database try { stat = koneksi.createStatement(); String sql = "insert into supplier values ('" + (TFKode_sup.getText()) + "','" + (TFNama_sup.getText()) + "','" + TFAlamat_sup.getText() + "','" + TFBahan_sup.getText() + "');"; //Menginputkan query insert SQL yang mendapat input dari text field yang berada di program stat.executeUpdate(sql); stat.close(); JOptionPane.showMessageDialog(null, "Data Supplier telah tersimpan"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal disimpan. error:" + e); //Try catch di gunakan untuk mengetahui error yang terjadi dalam method tersebut } }
  • 35. 34 4.Method Cari void carisuplier() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database DefaultTableModel tb = new DefaultTableModel(); tb.addColumn("Kode Supplier"); tb.addColumn("Nama"); tb.addColumn("Alamat"); tb.addColumn("Bahan"); //Pertama kita membuat table dulu dengan nama kolom seperti kode di atas. String sql = "select * from supplier where Kode_sup='" + TFKode_sup.getText() + "' or Nama_sup='" + TFNama_sup.getText() + "'"; //Menggunakan query search pada MySQL dengan parameter Kode_sup dari text fields Nama stat = koneksi.createStatement(); ResultSet set = stat.executeQuery(sql); while (set.next()) { tb.addRow(new Object[]{ set.getInt("Kode_sup"), set.getString("Nama_sup"), set.getString("Alamat_sup"), set.getString("bahan_suply") //Ketika objek di temukan maka otomatis data yang di cari dalam database akan di panggil untuk mengisi kolom-kolom dalam table yang telah di buat }); } tabel_sup.setModel(tb); //berikut untuk memunculkan table yang mempunyai variable tb. stat.close(); } catch (SQLException e) {
  • 36. 35 JOptionPane.showMessageDialog(null, "Kesalahan. error:" + e); } } 5.Method Hapus void deletesuplier() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database stat = koneksi.createStatement(); String sql = "delete from supplier where Kode_sup='" + TFKode_sup.getText() + "' or Nama_sup='" + TFNama_sup.getText() + "'"; //Menggunakan query delete pada sql dengan parameter kode supplier atau nama supplier stat.executeUpdate(sql); stat.close(); JOptionPane.showMessageDialog(null, "Data supplier telah dihapus"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal dihapus. error:" + e); } } 6.Method Update void updatesuplier() { try { k.koneksi(); //pertama kita memanggil class koneksi yang mengubungkan program dengan database stat = koneksi.createStatement(); String sql = "update supplier set Bahan_suply='" + TFBahan_sup.getText() + "'where Kode_sup='" + TFKode_sup.getText() + "' or Nama_sup='" + TFNama_sup.getText() + "'"; //Menggunakan query update MySQL untuk mengubah data bahan supplier dengan parameter kode, dan nama. stat.executeUpdate(sql); stat.close();
  • 37. 36 JOptionPane.showMessageDialog(null, "Data Supplier telah diubah"); } catch (HeadlessException | SQLException e) { JOptionPane.showMessageDialog(null, "Data gagal diubah. error:" + e); //Menggunakan try catch untuk mengetahui errornya } } 7.Method membuat table private void tabel_baru() { Object[] row = {"Kode Supplier", "Nama", "Alamat", "Bahan Supplier"}; //membuat array yang di gunakan untuk menyimpan nama-nama kolom pada table yang akan di buat model = new DefaultTableModel(null, row); tabel_sup.setModel(model); try { stat = k.con.createStatement(); String sql = "select * from supplier"; ResultSet rs = stat.executeQuery(sql); while (rs.next()) { String Kode_Sup = rs.getString(1); String Nama = rs.getString(2); String Alamat = rs.getString(3); String Bahan = rs.getString(4); String[] data = {Kode_Sup, Nama, Alamat, Bahan}; model.addRow(data); //Code di atas di gunakan untuk mengisi table dengan urutan kolom pada database } } catch (Exception aw) { } }
  • 38. 37 DAFTAR PUSTAKA Fatchurrochman, 2008 : Pemrograman Berorientasi Objek dengan Bahasa Java, UIN malang Press, Malang Friedel, David H. 1996, Java Programing Language Handbook, Coriolis Group books, United State Of America Husni I. Pohan, 2002 : SQL + Tutorial Plus Studi Kasus Dengan Oracle dan Sybase, Informatika, Bandung Mustafa, Aziz 2013 : Modul Praktikum Desain Basis Data, UIN Malang Press, malang Indonesia Syauqi, A’la : 2012, Dasar-Dasar Pemrograman Java, [Online] Available : http://uqifumi.wordpress.com/category/dasar-dasar-pemrograman/ Widodo, Gianto: 2011, Modul Pemrograman Dasar-Dasar Pemrograman Java, UIN Press, Malang Indonesia

×