laporan tugas akhir daspro kelompok

44
LAPORAN PROJECT AKHIR DASAR-DASAR PEMROGRAMAN JAVA Dosen Pengampu : SUPRIYONO,M.Kom JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG 2014 KELOMPOK : Erik Hendra [12650036] Syafrudin [12650039] Ginanjar Galang [12650044] APLIKASI PENJUALAN SANITAIR

Upload: software-engineering-professionals-sep

Post on 12-Jun-2015

446 views

Category:

Data & Analytics


3 download

TRANSCRIPT

Page 1: Laporan tugas akhir daspro kelompok

FAKULTAS SAINS DAN TEKNOLOGIUNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM

MALANG2014

Dosen Pengampu : SUPRIYONO,M.Kom

KELOMPOK :Erik Hendra [12650036]Syafrudin [12650039]Ginanjar Galang [12650044]

Page 2: Laporan tugas akhir daspro kelompok

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.

1

Malang, Juni 2014

Penulis,

Page 3: Laporan tugas akhir daspro kelompok

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

2

Page 4: Laporan tugas akhir daspro kelompok

Gambar 3 Gambar 4

B. Entity Relational Database

Berikut Merupakan relasi relasi tabel database menggunakan PhpMyAdmin dan Mysqlyog

3

Page 5: Laporan tugas akhir daspro kelompok

SYAFRUDIN 12650039

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

Gambar 2 : Method Koneksi pada class koneksi

4

Page 6: Laporan tugas akhir daspro kelompok

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.

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(); .

5

Page 7: Laporan tugas akhir daspro kelompok

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.

6

Page 8: Laporan tugas akhir daspro kelompok

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.

7

Page 9: Laporan tugas akhir daspro kelompok

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

8

Page 10: Laporan tugas akhir daspro kelompok

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

9

Page 11: Laporan tugas akhir daspro kelompok

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.

10

Page 12: Laporan tugas akhir daspro kelompok

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.

11

Page 13: Laporan tugas akhir daspro kelompok

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.

12

Page 14: Laporan tugas akhir daspro kelompok

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

13

Page 15: Laporan tugas akhir daspro kelompok

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

14

Page 16: Laporan tugas akhir daspro kelompok

KeyWord : Array, Looping (While), Event Hendling,Tipe data, KeyEvent,KeyRelese, Statement If-else.

15

Page 17: Laporan tugas akhir daspro kelompok

Erik Hendra Kurniawan 12650036

Form PesananScreen 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

16

Page 18: Laporan tugas akhir daspro kelompok

/**

* 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);

17

Page 19: Laporan tugas akhir daspro kelompok

//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.

18

Page 20: Laporan tugas akhir daspro kelompok

}

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() {

19

Page 21: Laporan tugas akhir daspro kelompok

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);

20

Page 22: Laporan tugas akhir daspro kelompok

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 PelangganScreen Shoot

21

Page 23: Laporan tugas akhir daspro kelompok

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();

22

Page 24: Laporan tugas akhir daspro kelompok

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();

23

Page 25: Laporan tugas akhir daspro kelompok

//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()) {

24

Page 26: Laporan tugas akhir daspro kelompok

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();

25

Page 27: Laporan tugas akhir daspro kelompok

}

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

26

Page 28: Laporan tugas akhir daspro kelompok

Ginanjar Galang 12650046

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

27

Page 29: Laporan tugas akhir daspro kelompok

/**

* 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

28

Page 30: Laporan tugas akhir daspro kelompok

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();

29

Page 31: Laporan tugas akhir daspro kelompok

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() {

30

Page 32: Laporan tugas akhir daspro kelompok

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");

31

Page 33: Laporan tugas akhir daspro kelompok

} 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 SupplierScreen 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.

32

Page 34: Laporan tugas akhir daspro kelompok

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

}

}

33

Page 35: Laporan tugas akhir daspro kelompok

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) {

34

Page 36: Laporan tugas akhir daspro kelompok

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();

35

Page 37: Laporan tugas akhir daspro kelompok

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) {

}

}

36

Page 38: Laporan tugas akhir daspro kelompok

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

37