SlideShare une entreprise Scribd logo
1  sur  38
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
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,
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
3
B. Entity Relational Database
Berikut Merupakan relasi relasi tabel database menggunakan PhpMyAdmin dan Mysqlyog
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
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.
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.
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.
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
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
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.
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.
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.
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
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
15
KeyWord : Array, Looping (While), Event Hendling,Tipe data, KeyEvent,KeyRelese,
Statement If-else.
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
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);
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.
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() {
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);
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
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();
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();
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()) {
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();
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
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
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
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();
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() {
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");
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.
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
}
}
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) {
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();
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) {
}
}
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

Contenu connexe

Tendances

Ferli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen MemoryFerli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen Memorybelajarkomputer
 
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pengertian field, record, table, file, data dan basis data lengkap   pengerti...Pengertian field, record, table, file, data dan basis data lengkap   pengerti...
Pengertian field, record, table, file, data dan basis data lengkap pengerti...ym.ygrex@comp
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 
Erd sistem informasi akademik
Erd sistem informasi akademikErd sistem informasi akademik
Erd sistem informasi akademikDiyat Diyat
 
Jawaban uas Perancis
Jawaban uas PerancisJawaban uas Perancis
Jawaban uas Perancislonklonk
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur DataFajar Sany
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)Kelinci Coklat
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)Kelinci Coklat
 
Priority Queue in Data Structure
Priority Queue in Data StructurePriority Queue in Data Structure
Priority Queue in Data StructureMeghaj Mallick
 
Recursion in Python
Recursion in PythonRecursion in Python
Recursion in PythonFariz Darari
 
Tabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis dataTabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis datajoshua gidion
 
Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataFraiza Geraldi
 
Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problemEghan Jaya
 
Jawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan SistemJawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan Sistemlonklonk
 

Tendances (20)

Ferli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen MemoryFerli Apriadi - Manajemen Memory
Ferli Apriadi - Manajemen Memory
 
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
Pengertian field, record, table, file, data dan basis data lengkap   pengerti...Pengertian field, record, table, file, data dan basis data lengkap   pengerti...
Pengertian field, record, table, file, data dan basis data lengkap pengerti...
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
Erd sistem informasi akademik
Erd sistem informasi akademikErd sistem informasi akademik
Erd sistem informasi akademik
 
Jawaban uas Perancis
Jawaban uas PerancisJawaban uas Perancis
Jawaban uas Perancis
 
Linked List dalam Struktur Data
Linked List dalam Struktur DataLinked List dalam Struktur Data
Linked List dalam Struktur Data
 
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
4.1 Operasi Dasar Singly Linked List  1 (primitive list)4.1 Operasi Dasar Singly Linked List  1 (primitive list)
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
 
Sorting ppt
Sorting ppt Sorting ppt
Sorting ppt
 
JOIN
JOINJOIN
JOIN
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
Struktur Data Tree
Struktur Data TreeStruktur Data Tree
Struktur Data Tree
 
Priority Queue in Data Structure
Priority Queue in Data StructurePriority Queue in Data Structure
Priority Queue in Data Structure
 
Recursion in Python
Recursion in PythonRecursion in Python
Recursion in Python
 
Tabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis dataTabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis data
 
Konteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus DataKonteks, Data Flow Diagram dan Kamus Data
Konteks, Data Flow Diagram dan Kamus Data
 
Makalah n-queen problem
Makalah n-queen problemMakalah n-queen problem
Makalah n-queen problem
 
Bab 5 komputer sederhana sap-1
Bab 5   komputer sederhana sap-1Bab 5   komputer sederhana sap-1
Bab 5 komputer sederhana sap-1
 
Linked List
Linked ListLinked List
Linked List
 
Pertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau TumpukanPertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau Tumpukan
 
Jawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan SistemJawaban uas Analisa dan Perancangan Sistem
Jawaban uas Analisa dan Perancangan Sistem
 

Similaire à Laporan tugas akhir daspro kelompok

Tutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteTutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteSMK Negeri 6 Malang
 
Jeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced JsfJeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced JsfIndividual Consultants
 
INSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGYINSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGYVeronica Anggraini
 
F 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriF 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriSyarif Fudin
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekimam arifin
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiq R. Pratama
 
Jeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced MvcJeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced MvcIndividual Consultants
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJurnal IT
 
Tampil data di tabel dg Java & netbeans
Tampil data di tabel dg Java & netbeansTampil data di tabel dg Java & netbeans
Tampil data di tabel dg Java & netbeanscasnadi
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternIndividual Consultants
 
Visual 1 1&2.pptx
Visual 1 1&2.pptxVisual 1 1&2.pptx
Visual 1 1&2.pptxArdiWilis1
 
04. prak.-pemrograman-client-server
04. prak.-pemrograman-client-server04. prak.-pemrograman-client-server
04. prak.-pemrograman-client-serverAyu Karisma Alfiana
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekKuncara Laksana
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Debby Ummul
 
Pemrograman berorientasi-objek
Pemrograman berorientasi-objekPemrograman berorientasi-objek
Pemrograman berorientasi-objekaris_27
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONDimas Prawira
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sqlSaprudin Eskom
 

Similaire à Laporan tugas akhir daspro kelompok (20)

Tutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update DeleteTutorial lanjutan java netbeans 8 : Create Read Update Delete
Tutorial lanjutan java netbeans 8 : Create Read Update Delete
 
Jeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced JsfJeni Web Programming Bab 10 Advanced Jsf
Jeni Web Programming Bab 10 Advanced Jsf
 
INSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGYINSERT DATA WITH ADO.NET TECHNOLOGY
INSERT DATA WITH ADO.NET TECHNOLOGY
 
F 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriF 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajri
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objek
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java Desktop
 
Jeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced MvcJeni Web Programming Bab 8 Advanced Mvc
Jeni Web Programming Bab 8 Advanced Mvc
 
Bab 4 perancangan sistem
Bab 4 perancangan sistemBab 4 perancangan sistem
Bab 4 perancangan sistem
 
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
 
Tampil data di tabel dg Java & netbeans
Tampil data di tabel dg Java & netbeansTampil data di tabel dg Java & netbeans
Tampil data di tabel dg Java & netbeans
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design Pattern
 
Visual 1 1&2.pptx
Visual 1 1&2.pptxVisual 1 1&2.pptx
Visual 1 1&2.pptx
 
04. prak.-pemrograman-client-server
04. prak.-pemrograman-client-server04. prak.-pemrograman-client-server
04. prak.-pemrograman-client-server
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
 
Pemrograman berorientasi-objek
Pemrograman berorientasi-objekPemrograman berorientasi-objek
Pemrograman berorientasi-objek
 
mf488_10_092649.ppt
mf488_10_092649.pptmf488_10_092649.ppt
mf488_10_092649.ppt
 
PBO Pratikum 1
PBO Pratikum 1PBO Pratikum 1
PBO Pratikum 1
 
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSONTutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
Tutorial pembuatan REST Service pada Support System menggunakan Servlet dan GSON
 
17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql17. aplikasi crud java sederhana menggunakan database my sql
17. aplikasi crud java sederhana menggunakan database my sql
 

Plus de Software Engineering Professionals (SEP) (8)

Html5 geolocation api
Html5 geolocation apiHtml5 geolocation api
Html5 geolocation api
 
Integrasi fuzzy mamdani dan genetic l system programming untuk pemodelan tana...
Integrasi fuzzy mamdani dan genetic l system programming untuk pemodelan tana...Integrasi fuzzy mamdani dan genetic l system programming untuk pemodelan tana...
Integrasi fuzzy mamdani dan genetic l system programming untuk pemodelan tana...
 
Tugas makalah komunikasi data
Tugas makalah komunikasi dataTugas makalah komunikasi data
Tugas makalah komunikasi data
 
Pengantar Komunikasi Data
Pengantar Komunikasi DataPengantar Komunikasi Data
Pengantar Komunikasi Data
 
Konsep Overloading Java
Konsep Overloading JavaKonsep Overloading Java
Konsep Overloading Java
 
Metode fact finding & requirement
Metode fact finding & requirementMetode fact finding & requirement
Metode fact finding & requirement
 
Sistem penggerak teknologi informasi
Sistem penggerak teknologi informasiSistem penggerak teknologi informasi
Sistem penggerak teknologi informasi
 
Metode fact finding & requirement
Metode fact finding & requirementMetode fact finding & requirement
Metode fact finding & requirement
 

Dernier

PPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxPPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxnursariheldaseptiana
 
KISI AKM BAHASA INGGRIS ASSESMENT MADRASAH
KISI AKM BAHASA INGGRIS ASSESMENT MADRASAHKISI AKM BAHASA INGGRIS ASSESMENT MADRASAH
KISI AKM BAHASA INGGRIS ASSESMENT MADRASAHIrmaYanti71
 
Jurnal ebp dalam inc persalinan kehamilan ibu
Jurnal ebp dalam inc persalinan kehamilan ibuJurnal ebp dalam inc persalinan kehamilan ibu
Jurnal ebp dalam inc persalinan kehamilan ibuputrahaw07
 
Metode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau SurveiMetode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau Surveikustiyantidew94
 
STATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJAR
STATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJARSTATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJAR
STATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJARariefbudiman902449
 
menghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normalmenghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normalHendriKurniawanP
 
PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1
PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1
PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1ariefbudiman902449
 
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaanANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaanamalaguswan1
 
PERSENTASE_(alat dan kapasitas produksi alat).ppt
PERSENTASE_(alat dan kapasitas produksi alat).pptPERSENTASE_(alat dan kapasitas produksi alat).ppt
PERSENTASE_(alat dan kapasitas produksi alat).pptnail40
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptAhmadSyajili
 

Dernier (10)

PPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptxPPT Olah Nilai Kurikulum merdeka belajar.pptx
PPT Olah Nilai Kurikulum merdeka belajar.pptx
 
KISI AKM BAHASA INGGRIS ASSESMENT MADRASAH
KISI AKM BAHASA INGGRIS ASSESMENT MADRASAHKISI AKM BAHASA INGGRIS ASSESMENT MADRASAH
KISI AKM BAHASA INGGRIS ASSESMENT MADRASAH
 
Jurnal ebp dalam inc persalinan kehamilan ibu
Jurnal ebp dalam inc persalinan kehamilan ibuJurnal ebp dalam inc persalinan kehamilan ibu
Jurnal ebp dalam inc persalinan kehamilan ibu
 
Metode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau SurveiMetode penelitian Deskriptif atau Survei
Metode penelitian Deskriptif atau Survei
 
STATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJAR
STATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJARSTATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJAR
STATISTIKA DASAR UNTUK MAHASISWA S1 SELAMAT BELAJAR
 
menghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normalmenghitung skewness dan kurtosis pada distribusi normal
menghitung skewness dan kurtosis pada distribusi normal
 
PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1
PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1
PPT DISTRIBUSI LINEAR, BINOMIAL UNTUK MAHASISWA S1
 
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaanANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
ANALISA KASUS KECELAKAAN KERJA pada saat melakukan pekerjaan
 
PERSENTASE_(alat dan kapasitas produksi alat).ppt
PERSENTASE_(alat dan kapasitas produksi alat).pptPERSENTASE_(alat dan kapasitas produksi alat).ppt
PERSENTASE_(alat dan kapasitas produksi alat).ppt
 
pertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.pptpertemuan-3-distribusi pada-frekuensi.ppt
pertemuan-3-distribusi pada-frekuensi.ppt
 

Laporan tugas akhir daspro kelompok

  • 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