PERANCANGAN SISTEM BERBASIS JAVA ( Penjualan Handphone ) Disusun oleh: Agus Kurniawan 13111026 PROGRAM STUDI TEKNIK INFORMASTIKA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS MERCU BUANAYOGYAKARTA 2014-2015
DAFTAR ISI DAFTAR ISI... i BAB I PENDAHULUAN... ii A. Latar Belakang... ii B. Alasan Pemilihan Masalah... ii BAB II DATABASE... 1 A. Rancangan Tabel... 1 B. Relasi Database... 2 BAB III JDBC... 3 A. Tabel karyawan... 3 1. Karyawan_update... 3 2. Karyawan_View... 8 B. Tabel handphone... 9 1. Handphone_update... 9 2. Handphone_View... 15 C. TABEL PELANGGAN... 17 1. Pelanggan... 17 2. Pelanggan_view... 22 D. Transaksi... 24 1. Transaksi_update... 24 2. Transaksi_view... 30 BAB IV MENU... 33 A. Menu... 33 B. Screnshot... Error! Bookmark not defined. BAB V PENUTUP... 38 C. Kesimpulan... 38 D. Kesulitan... 38 i
BAB I PENDAHULUAN A. Latar Belakang Berkembangnya teknologi informasi mengubah manusia dalam menyelesaikan semua pekerjannya. Dahulu manusia menyimpan semua informasi dan dokumen menggunakan buku yang disimpan dalam lemari dokumen dan jumlahnya tidak sedikit. Dalam hal ini saya akan membuat Sistem Informasi penjulan hanphone yang dapat membantu mempermudah pendataan penjualan hanphone dalam menyimpan data-data meggunakan komputer (computerized). B. Alasan Pemilihan Masalah Menurut saya aplikasi penjualan handphone ini sangat di buntuhkan di daerah saya yang masih mengunakan system yang manu dalam transaksi bahkan program ini juga di buntuhkan juga di daerah daerah lain. ii
BAB II DATABASE A. Rancangan Tabel 1. Tabel data_karyawan : menyimpan data karyawan Field Tipe Data Panjang Id_karyawan char 8 nama_karyawan Varchar 30 Alamat Alamat 35 Telepon char 12 2. Tabel data_handphone: menyimpan handphone - handphone yang akan dijual Field Tipe Data Panjang id_produk char 15 Nm_produk Varchar 30 Kategori varchar 10 Jenis_hp char 15 spesifikasi varchar 5000 Harga int 12 3. Tabel tbl_pembeli : menyimpan data dari pembili untu klaim garansi Field Tipe Data Panjang id_pembeli char 10 identitas Varchar 10 no_identitas char 30 nama varchar 30 alamat varchar 30 No_hp Char 12 4. Tabel transaksi_hp : menyimpan data dari transaksi penjualan hanphone Field Tipe Data Panjang id_transaksi int 15 tgl_beli Varchar 20 id_karyawan Int 8 id_pembeli char 10 no_identitas Char 30 1
nama varchar 30 Id_produk char 15 Nm_produk varchar 30 Kategori varchar 10 Harga Int 12 Jumlah_beli Int 11 total Int 11 garansi Varchar 20 B. Relasi Database 2
BAB III JDBC A. Tabel karyawan 1. Karyawan_update ( terdapat menu Input, Saearch, Update dan menu delete ) import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class Karyawan_update extends JFrame JLabel labelid_karyawan=new JLabel("ID karyawan"); JTextField textid_karyawan=new JTextField(30); JLabel labelno_ktp=new JLabel("No KTP"); JTextField textno_ktp=new JTextField(30); JLabel labelnama_karyawan=new JLabel("Nama Karyawan"); JTextField textnama_karyawan=new JTextField(30); JLabel labelalamat=new JLabel("Alamat"); JTextField textalamat=new JTextField(30); JLabel labeltelepone=new JLabel("Telepone"); JTextField texttelepone=new JTextField(50); JButton buttonsearch=new JButton("SEARCH"); JButton buttonsave=new JButton("SAVE"); JButton buttonupdate=new JButton("UPDATE"); JButton buttondelete=new JButton("DELETE"); JButton buttonexit=new JButton("EXIT"); Karyawan_update() settitle("update Data Karyawan"); setlocation(360,300); setsize(360,350); setdefaultcloseoperation(jframe.dispose_on_close); void GUI() getcontentpane().setlayout(null); getcontentpane().add(labelid_karyawan); labelid_karyawan.setbounds(10,10,100,20); getcontentpane().add(textid_karyawan); textid_karyawan.setbounds(120,10,110,20); getcontentpane().add(buttonsearch); buttonsearch.setbounds(240,10,90,20); 3
getcontentpane().add(labelno_ktp);labelno_ktp.setbounds(10,40,100,20); getcontentpane().add(textno_ktp); textno_ktp.setbounds(120,40,160,20); getcontentpane().add(labelnama_karyawan);labelnama_karyawan.setbounds(10,70,1 00,20); getcontentpane().add(textnama_karyawan); textnama_karyawan.setbounds(120,70,160,20); getcontentpane().add(labelalamat);labelalamat.setbounds(10,100,100,20); getcontentpane().add(textalamat); textalamat.setbounds(120,100,160,20); getcontentpane().add(labeltelepone);labeltelepone.setbounds(10,130,100,20); getcontentpane().add(texttelepone); texttelepone.setbounds(120,130,160,20); getcontentpane().add(buttonsave); buttonsave.setbounds(20,170,90,20); getcontentpane().add(buttonupdate);buttonupdate.setbounds(120,170,90,20); getcontentpane().add(buttondelete);buttondelete.setbounds(220,170,90,20); getcontentpane().add(buttonexit);buttonexit.setbounds(240,240,90,20); setvisible(true); void Perintah() // button exit buttonexit.addactionlistener ( new ActionListener() public void actionperformed(actionevent e) if (JOptionPane.showConfirmDialog( null, "Apakah Anda benar-benar akan keluar?","konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) dispose(); ); // button search buttonsearch.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) 4
Telepone; WHERE Id_karyawan like '"+search+"'"; textid_karyawan.settext(i.getstring(1)); textnama_karyawan.settext(i.getstring(2)); String search; String Id_karyawan, Nama_karyawan, Alamat, KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try search=textid_karyawan.gettext(); Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM data_karyawan ResultSet i = stmt.executequery (sql); if(i.next()) else textalamat.settext(i.getstring(3)); texttelepone.settext(i.getstring(4)); JOptionPane.showMessageDialog(null, "Data Karyawan Tidak Ada"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); //button save buttonsave.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String Id_karyawan, Nama_karyawan, Alamat, Telepone; Id_karyawan= textid_karyawan.gettext(); Nama_karyawan = textnama_karyawan.gettext(); Alamat = textalamat.gettext(); Telepone = texttelepone.gettext(); 5
//input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "INSERT INTO data_karyawan VALUES ('"+Id_karyawan+"','"+Nama_karyawan+"','"+Alamat+"','"+Telepone+"');"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null,"Data Karyawan berhasil Disimpan"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button update buttonupdate.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String Id_karyawan, Nama_karyawan, Alamat, Telepone; Id_karyawan= textid_karyawan.gettext(); Nama_karyawan = textnama_karyawan.gettext(); Alamat = textalamat.gettext(); Telepone = texttelepone.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "UPDATE data_karyawan SET Nama_karyawan='"+Nama_karyawan+"',Alamat='"+Alamat+"',Telepone='"+Telepone+"' WHERE Id_karyawan='"+Id_karyawan+"'"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, 6
"Data Karyawan Berhasil Diupdate"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button delete buttondelete.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String Id_karyawan, Nama_karyawan, Alamat, Telepone; Id_karyawan= textid_karyawan.gettext(); Nama_karyawan = textnama_karyawan.gettext(); Alamat = textalamat.gettext(); Telepone = texttelepone.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "DELETE FROM data_karyawan WHERE Id_karyawan='"+Id_karyawan+"'"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, "Data Karyawan Berhasil DiHapus"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); 7
2. Karyawan_View import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*; public class Karyawan_View extends JPanel String[] header = "ID Karyawan","Nama karyawan","alamat","telepon"; JTable table = new JTable(); JScrollPane scrolltable = new JScrollPane(); private Object[][] datatable = null; Karyawan_View() KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM data_karyawan"; ResultSet rs = stmt.executequery(sql); ResultSetMetaData meta = rs.getmetadata(); int kolom = meta.getcolumncount(); int baris = 0; while(rs.next()) baris = rs.getrow(); datatable = new Object[baris][kolom]; int x = 0; rs.beforefirst(); while(rs.next()) datatable[x][0] = rs.getstring("id_karyawan"); datatable[x][1] = rs.getstring("nama_karyawan"); datatable[x][2] = rs.getstring("alamat"); datatable[x][3] = rs.getstring("telepone"); x++; scrolltable.setviewportview(table); table.setmodel(new DefaultTableModel(dataTable, header)); add(scrolltable, BorderLayout.NORTH); stmt.close(); rs.close(); catch (Exception ex) 8
JOptionPane.showMessageDialog(null, "Data Karyawan Error"); void GUI() JFrame frame = new JFrame("Data Karyawan"); frame.setdefaultcloseoperation(jframe.dispose_on_close); Karyawan_View content = new Karyawan_View(); content.setopaque(true); frame.setcontentpane(content); frame.pack(); frame.setlocationrelativeto(null); frame.setvisible(true); B. Tabel handphone 1. Handphone_update ( Terdapat menu Input search, Update dan Delete data Hanphone ) import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class Hanphone_update extends JFrame JLabel labelid_produk=new JLabel("Kode produk"); JTextField textid_produk=new JTextField(30); JLabel labelnm_produk=new JLabel("Name produk"); JTextField textnm_produk=new JTextField(30); JLabel labelkategori=new JLabel("Kategori"); String[] GKategori="SAMSUNG","ASUS","SONY","LENOVO","XIOMI"; JComboBox combokategori=new JComboBox(GKategori); JLabel labeljenis_hp=new JLabel("Jenis produk"); JRadioButton radiotouchscreen=new JRadioButton("Touchscreen"); JRadioButton radioquerty=new JRadioButton("Querty"); ButtonGroup groupjenis_hp=new ButtonGroup(); JLabel labelharga=new JLabel("Harga"); JTextField textharga=new JTextField(10); JLabel labelspesifikasi=new JLabel("Spesifikasi"); JTextField textspesifikasi=new JTextField(50); JButton buttonsearch=new JButton("SEARCH"); 9
JButton buttonsave=new JButton("SAVE"); JButton buttonupdate=new JButton("UPDATE"); JButton buttondelete=new JButton("DELETE"); JButton buttonexit=new JButton("EXIT"); Hanphone_update() settitle("update Data Hanphone"); setlocation(400,350); setsize(400,400); setdefaultcloseoperation(jframe.dispose_on_close); void GUI() getcontentpane().setlayout(null); getcontentpane().add(labelid_produk); labelid_produk.setbounds(10,10,100,20); getcontentpane().add(textid_produk); textid_produk.setbounds(120,10,110,20); getcontentpane().add(buttonsearch); buttonsearch.setbounds(240,10,90,20); getcontentpane().add(labelnm_produk);labelnm_produk.setbounds(10,40,100,20); getcontentpane().add(textnm_produk); textnm_produk.setbounds(120,40,110,20); getcontentpane().add(labelkategori);labelkategori.setbounds(10,70,100,20); getcontentpane().add(combokategori);combokategori.setbounds(120,70,110,20); getcontentpane().add(labeljenis_hp); labeljenis_hp.setbounds(10,100,100,20); getcontentpane().add(radiotouchscreen); radiotouchscreen.setbounds(120,100,80,20); getcontentpane().add(radioquerty); radioquerty.setbounds(200,100,80,20); groupjenis_hp.add(radiotouchscreen); groupjenis_hp.add(radioquerty); getcontentpane().add(labelspesifikasi);labelspesifikasi.setbounds(10,130,100,20); getcontentpane().add(textspesifikasi); textspesifikasi.setbounds(120,130,160,80); getcontentpane().add(labelharga);labelharga.setbounds(10,230,100,20); getcontentpane().add(textharga); textharga.setbounds(120,230,160,20); getcontentpane().add(buttonsave); buttonsave.setbounds(20,270,90,20); getcontentpane().add(buttonupdate);buttonupdate.setbounds(120,270,90,20); getcontentpane().add(buttondelete);buttondelete.setbounds(220,270,90,20); getcontentpane().add(buttonexit);buttonexit.setbounds(240,310,90,20); setvisible(true); 10
void Perintah() // button exit buttonexit.addactionlistener ( new ActionListener() public void actionperformed(actionevent e) if (JOptionPane.showConfirmDialog( null, "Apakah Anda benar-benar akan keluar?","konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) dispose(); ); // button search buttonsearch.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String search; String id_produk, Nm_produk, Kategori, Jenis_hp, spesifikasi, harga; KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try search=textid_produk.gettext(); Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM data_handphone WHERE id_produk like '"+search+"'"; ResultSet i = stmt.executequery (sql); if(i.next()) textid_produk.settext(i.getstring(1)); textnm_produk.settext(i.getstring(2)); combokategori.setselecteditem(i.getstring(3)); Jenis_hp = i.getstring(4); if(jenis_hp.equals("touchscreen")) 11
else else radiotouchscreen.setselected(true); radioquerty.setselected(true); textspesifikasi.settext(i.getstring(5)); textharga.settext(i.getstring(6)); JOptionPane.showMessageDialog(null, "Data Hanphone Tidak Ada"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); //button save buttonsave.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_produk, Nm_produk, Kategori, Jenis_hp, spesifikasi, Harga; id_produk= textid_produk.gettext(); Nm_produk = textnm_produk.gettext(); Kategori = (String) combokategori.getselecteditem(); if(radiotouchscreen.isselected()==true) Jenis_hp = radiotouchscreen.gettext(); else Jenis_hp = radioquerty.gettext(); spesifikasi = textspesifikasi.gettext(); Harga = textharga.gettext(); 12
//input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "INSERT INTO data_handphone VALUES ('"+id_produk+"','"+nm_produk+"','"+kategori+"','"+jenis_hp+"','"+spesifikasi+"','"+harga+"');"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null,"Data Hanphone berhasil Disimpan"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button update buttonupdate.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_produk, Nm_produk, Kategori, Jenis_hp, spesifikasi, Harga; id_produk= textid_produk.gettext(); Nm_produk = textnm_produk.gettext(); Kategori = (String) combokategori.getselecteditem(); if(radiotouchscreen.isselected()==true) Jenis_hp = radiotouchscreen.gettext(); else Jenis_hp = radioquerty.gettext(); spesifikasi = textspesifikasi.gettext(); Harga = textharga.gettext(); //input ke database 13
KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "UPDATE data_handphone SET Nm_produk='"+Nm_produk+"',Kategori='"+Kategori+"',Jenis_hp='"+Jenis_hp+"',spesifikasi='"+s pesifikasi+"',harga='"+harga+"' WHERE id_produk='"+id_produk+"'"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, "Data Hanphone Berhasil Diupdate"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button delete buttondelete.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_produk, Nm_produk, Kategori, Jenis_hp, spesifikasi, Harga; id_produk= textid_produk.gettext(); Nm_produk = textnm_produk.gettext(); Kategori = (String) combokategori.getselecteditem(); if(radiotouchscreen.isselected()==true) Jenis_hp = radiotouchscreen.gettext(); else Jenis_hp = radioquerty.gettext(); spesifikasi = textspesifikasi.gettext(); Harga = textharga.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try 14
id_produk='"+id_produk+"'"; ); Statement stmt = mysql.createstatement(); String sql = "DELETE FROM data_handphone WHERE int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, "Data Handphone Berhasil DiHapus"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); 2. Handphone_View import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*; public class Hanphone_View extends JPanel String[] header = "Kode produk","name produk","kategori","jenis produk","spesifikasi"," Harga "; JTable table = new JTable(); JScrollPane scrolltable = new JScrollPane(); private Object[][] datatable = null; Hanphone_View() KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM data_handphone"; ResultSet rs = stmt.executequery(sql); ResultSetMetaData meta = rs.getmetadata(); int kolom = meta.getcolumncount(); int baris = 0; 15
while(rs.next()) baris = rs.getrow(); datatable = new Object[baris][kolom]; int x = 0; rs.beforefirst(); while(rs.next()) datatable[x][0] = rs.getstring("id_produk"); datatable[x][1] = rs.getstring("nm_produk"); datatable[x][2] = rs.getstring("kategori"); datatable[x][3] = rs.getstring("jenis_hp"); datatable[x][4] = rs.getstring("spesifikasi"); datatable[x][5] = rs.getstring("harga"); x++; scrolltable.setviewportview(table); table.setmodel(new DefaultTableModel(dataTable, header)); add(scrolltable, BorderLayout.NORTH); stmt.close(); rs.close(); catch (Exception ex) JOptionPane.showMessageDialog(null, "Data Hanphone Error"); void GUI() JFrame frame = new JFrame("Data Hanphone"); frame.setdefaultcloseoperation(jframe.dispose_on_close); Hanphone_View content = new Hanphone_View(); content.setopaque(true); frame.setcontentpane(content); frame.pack(); frame.setlocationrelativeto(null); frame.setvisible(true); 16
C. TABEL PELANGGAN 1. Pelanggan import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class Pelanggan extends JFrame JLabel labelid_pembeli=new JLabel("ID Pembeli"); JTextField textid_pembeli=new JTextField(30); JLabel labelidentitas=new JLabel("Identitas"); String[] Gidentitas="KTP","SIM","PASPORT","KTM","KP"; JComboBox comboidentitas=new JComboBox(Gidentitas); JLabel labelno_identitas=new JLabel("No Identitas"); JTextField textno_identitas=new JTextField(30); JLabel labelnm_pembeli=new JLabel("Nama"); JTextField textnm_pembeli=new JTextField(30); JLabel labelalmt_pembeli=new JLabel("Alamat"); JTextField textalmt_pembeli=new JTextField(30); JLabel labeltelepone=new JLabel("Telepone"); JTextField texttelepone=new JTextField(30); JButton buttonsearch=new JButton("SEARCH"); JButton buttonsave=new JButton("SAVE"); JButton buttonupdate=new JButton("UPDATE"); JButton buttondelete=new JButton("DELETE"); JButton buttonexit=new JButton("EXIT"); Pelanggan() settitle("update Data Pembeli"); setlocation(400,350); setsize(370,350); setdefaultcloseoperation(jframe.dispose_on_close); void GUI() getcontentpane().setlayout(null); getcontentpane().add(labelid_pembeli); labelid_pembeli.setbounds(10,10,100,20); getcontentpane().add(textid_pembeli); textid_pembeli.setbounds(120,10,110,20); 17
getcontentpane().add(buttonsearch); buttonsearch.setbounds(240,10,90,20); getcontentpane().add(labelidentitas);labelidentitas.setbounds(10,40,100,20); getcontentpane().add(comboidentitas);comboidentitas.setbounds(120,40,110,20); getcontentpane().add(labelno_identitas);labelno_identitas.setbounds(10,70,100,20); getcontentpane().add(textno_identitas); textno_identitas.setbounds(120,70,160,20); getcontentpane().add(labelnm_pembeli);labelnm_pembeli.setbounds(10,100,100,20); getcontentpane().add(textnm_pembeli); textnm_pembeli.setbounds(120,100,160,20); getcontentpane().add(labelalmt_pembeli);labelalmt_pembeli.setbounds(10,130,100,20); getcontentpane().add(textalmt_pembeli); textalmt_pembeli.setbounds(120,130,160,20); getcontentpane().add(labeltelepone);labeltelepone.setbounds(10,160,100,20); getcontentpane().add(texttelepone); texttelepone.setbounds(120,160,160,20); getcontentpane().add(buttonsave); buttonsave.setbounds(20,200,90,20); getcontentpane().add(buttonupdate);buttonupdate.setbounds(120,200,90,20); getcontentpane().add(buttondelete);buttondelete.setbounds(220,200,90,20); getcontentpane().add(buttonexit);buttonexit.setbounds(240,250,90,20); setvisible(true); void Perintah() // button exit buttonexit.addactionlistener ( new ActionListener() public void actionperformed(actionevent e) if (JOptionPane.showConfirmDialog( null, "Apakah Anda benar-benar akan keluar?","konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) dispose(); ); // button search buttonsearch.addactionlistener 18
Telepone; id_pembeli like '"+search+"'"; ( new ActionListener() public void actionperformed (ActionEvent e) String search; String id_pembeli, identitas, no_identitas, nama, alamat, comboidentitas.setselecteditem(i.getstring(2)); KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try search=textid_pembeli.gettext(); Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM tb_pembeli WHERE ResultSet i = stmt.executequery (sql); if(i.next()) textid_pembeli.settext(i.getstring(1)); else textno_identitas.settext(i.getstring(3)); textnm_pembeli.settext(i.getstring(4)); textalmt_pembeli.settext(i.getstring(5)); texttelepone.settext(i.getstring(6)); JOptionPane.showMessageDialog(null, "Data Pembeli Tidak Ada"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); //button save buttonsave.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_pembeli, identitas, no_identitas, nm_pembeli, 19
almt_pembeli, telepone; id_pembeli= textid_pembeli.gettext(); identitas = (String) comboidentitas.getselecteditem(); no_identitas = textno_identitas.gettext(); nm_pembeli = textnm_pembeli.gettext(); almt_pembeli = textalmt_pembeli.gettext(); telepone = texttelepone.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "INSERT INTO tb_pembeli VALUES ('"+id_pembeli+"','"+identitas+"','"+no_identitas+"','"+nm_pembeli+"','"+almt_pembeli+"','"+telep one+"');"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null,"Data Pembeli berhasil Disimpan"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button update buttonupdate.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_pembeli, identitas, no_identitas, nm_pembeli, almt_pembeli, telepone; id_pembeli= textid_pembeli.gettext(); identitas = (String) comboidentitas.getselecteditem(); no_identitas = textno_identitas.gettext(); nm_pembeli = textnm_pembeli.gettext(); almt_pembeli = textalmt_pembeli.gettext(); telepone = texttelepone.gettext(); 20
//input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "UPDATE tb_pembeli SET identitas='"+identitas+"',no_identitas='"+no_identitas+"',nama='"+nm_pembeli+"',alamat='"+almt _pembeli+"',telepone='"+telepone+"' WHERE id_pembeli='"+id_pembeli+"'"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, "Data Pembeli Berhasil Diupdate"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button delete buttondelete.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_pembeli, identitas, no_identitas, nm_pembeli, almt_pembeli, telepone; id_pembeli= textid_pembeli.gettext(); identitas = (String) comboidentitas.getselecteditem(); no_identitas = textno_identitas.gettext(); nm_pembeli = textnm_pembeli.gettext(); almt_pembeli = textalmt_pembeli.gettext(); telepone = texttelepone.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "DELETE FROM tb_pembeli WHERE id_pembeli='"+id_pembeli+"'"; int i = stmt.executeupdate (sql); if (i == 1) 21
); JOptionPane.showMessageDialog(null, "Data Pembeli Berhasil DiHapus"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); 2. Pelanggan_view import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*; public class Pelanggan_view extends JPanel String[] header = "ID Pembeli","Identitas","No Identitas","Nama","Alamat","Telepone"; JTable table = new JTable(); JScrollPane scrolltable = new JScrollPane(); private Object[][] datatable = null; Pelanggan_view() KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM tb_pembeli"; ResultSet rs = stmt.executequery(sql); ResultSetMetaData meta = rs.getmetadata(); int kolom = meta.getcolumncount(); int baris = 0; while(rs.next()) baris = rs.getrow(); 22
datatable = new Object[baris][kolom]; int x = 0; rs.beforefirst(); while(rs.next()) datatable[x][0] = rs.getstring("id_pembeli"); datatable[x][1] = rs.getstring("identitas"); datatable[x][2] = rs.getstring("no_identitas"); datatable[x][3] = rs.getstring("nm_pembeli"); datatable[x][4] = rs.getstring("almt_pembeli"); datatable[x][5] = rs.getstring("telepone"); x++; scrolltable.setviewportview(table); table.setmodel(new DefaultTableModel(dataTable, header)); add(scrolltable, BorderLayout.NORTH); stmt.close(); rs.close(); catch (Exception ex) JOptionPane.showMessageDialog(null, "Data Pelanggan Error"); void GUI() JFrame frame = new JFrame("Data Pelanggan"); frame.setdefaultcloseoperation(jframe.dispose_on_close); Pelanggan_view content = new Pelanggan_view(); content.setopaque(true); frame.setcontentpane(content); frame.pack(); frame.setlocationrelativeto(null); frame.setvisible(true); 23
D. Transaksi 1. Transaksi_update import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class Transaksi_update extends JFrame JLabel labelid_transaksi=new JLabel("ID Transaksi"); JTextField textid_transaksi=new JTextField(30); JLabel labeltgl_beli=new JLabel("Tanggal Beli"); JTextField texttgl_beli=new JTextField(30); JLabel labelid_karyawan=new JLabel("ID Karyawan"); JTextField textid_karyawan=new JTextField(30); JLabel labelid_pembeli=new JLabel("ID Pembeli"); JTextField textid_pembeli=new JTextField(30); JLabel labelno_identitas=new JLabel("No Identitas"); JTextField textno_identitas=new JTextField(30); JLabel labelnm_pembeli=new JLabel("Nama Pembeli"); JTextField textnm_pembeli=new JTextField(30); JLabel labelid_produk=new JLabel("Kode produk"); JTextField textid_produk=new JTextField(30); JLabel labelnm_produk=new JLabel("Name produk"); JTextField textnm_produk=new JTextField(30); JLabel labelkategori=new JLabel("Kategori"); String[] GKategori="SAMSUNG","ASUS","SONY","LENOVO","XIOMI"; JComboBox combokategori=new JComboBox(GKategori); JLabel labelharga=new JLabel("Harga"); JTextField textharga=new JTextField(20); JLabel labeljumlah_beli=new JLabel("Jumlah Beli"); JTextField textjumlah_beli=new JTextField(10); JLabel labeltotal=new JLabel("Total"); JTextField texttotal=new JTextField(20); JLabel labelgaransi=new JLabel("Garansi"); JTextField textgaransi=new JTextField(10); JButton buttonsearch=new JButton("SEARCH"); JButton buttonsave=new JButton("SAVE"); JButton buttonupdate=new JButton("UPDATE"); JButton buttondelete=new JButton("DELETE"); JButton buttonexit=new JButton("EXIT"); Transaksi_update() settitle("update Data Hanphone"); setlocation(400,350); 24
setsize(400,550); setdefaultcloseoperation(jframe.dispose_on_close); void GUI() getcontentpane().setlayout(null); getcontentpane().add(labelid_transaksi); labelid_transaksi.setbounds(10,10,100,20); getcontentpane().add(textid_transaksi); textid_transaksi.setbounds(120,10,110,20); getcontentpane().add(buttonsearch); buttonsearch.setbounds(240,10,90,20); getcontentpane().add(labeltgl_beli);labeltgl_beli.setbounds(10,40,100,20); getcontentpane().add(texttgl_beli); texttgl_beli.setbounds(120,40,160,20); getcontentpane().add(labelid_karyawan); labelid_karyawan.setbounds(10,70,100,20); getcontentpane().add(textid_karyawan); textid_karyawan.setbounds(120,70,160,20); getcontentpane().add(labelid_pembeli); labelid_pembeli.setbounds(10,100,100,20); getcontentpane().add(textid_pembeli); textid_pembeli.setbounds(120,100,160,20); getcontentpane().add(labelno_identitas); labelno_identitas.setbounds(10,130,100,20); getcontentpane().add(textno_identitas); textno_identitas.setbounds(120,130,160,20); getcontentpane().add(labelnm_pembeli); labelnm_pembeli.setbounds(10,170,100,20); getcontentpane().add(textnm_pembeli); textnm_pembeli.setbounds(120,170,160,20); getcontentpane().add(labelid_produk); labelid_produk.setbounds(10,200,100,20); getcontentpane().add(textid_produk); textid_produk.setbounds(120,200,160,20); getcontentpane().add(labelnm_produk);labelnm_produk.setbounds(10,230,100,20); getcontentpane().add(textnm_produk); textnm_produk.setbounds(120,230,160,20); getcontentpane().add(labelkategori);labelkategori.setbounds(10,260,100,20); getcontentpane().add(combokategori);combokategori.setbounds(120,260,110,20); getcontentpane().add(labelharga); labelharga.setbounds(10,290,100,20); getcontentpane().add(textharga); textharga.setbounds(120,290,160,20); getcontentpane().add(labeljumlah_beli);labeljumlah_beli.setbounds(10,320,100,20); getcontentpane().add(textjumlah_beli); textjumlah_beli.setbounds(120,320,160,20); getcontentpane().add(labeltotal); labeltotal.setbounds(10,350,100,20); getcontentpane().add(texttotal); texttotal.setbounds(120,350,160,20); getcontentpane().add(labelgaransi); labelgaransi.setbounds(10,380,100,20); 25
getcontentpane().add(textgaransi); textgaransi.setbounds(120,380,160,20); getcontentpane().add(buttonsave); buttonsave.setbounds(20,420,90,20); getcontentpane().add(buttonupdate);buttonupdate.setbounds(120,420,90,20); getcontentpane().add(buttondelete);buttondelete.setbounds(220,420,90,20); getcontentpane().add(buttonexit);buttonexit.setbounds(240,480,90,20); setvisible(true); void Perintah() // button exit buttonexit.addactionlistener ( new ActionListener() public void actionperformed(actionevent e) if (JOptionPane.showConfirmDialog( null, "Apakah Anda benar-benar akan keluar?","konfirmasi", JOptionPane.OK_CANCEL_OPTION,JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) dispose(); ); // button search buttonsearch.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String search; String id_transaksi, tgl_beli, id_karyawan, id_pembeli, no_identitas, nm_pembeli, id_produk, Nm_produk, Kategori, Harga, jumlah_beli, total, garansi; KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try search=textid_produk.gettext(); Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM transaksi_hp WHERE id_transaksi like '"+search+"'"; ResultSet i = stmt.executequery (sql); if(i.next()) 26
textid_transaksi.settext(i.getstring(1)); texttgl_beli.settext(i.getstring(2)); textid_karyawan.settext(i.getstring(3)); textid_pembeli.settext(i.getstring(4)); textno_identitas.settext(i.getstring(5)); textnm_pembeli.settext(i.getstring(6)); textid_produk.settext(i.getstring(7)); textnm_produk.settext(i.getstring(8)); combokategori.setselecteditem(i.getstring(9)); else textharga.settext(i.getstring(10)); textjumlah_beli.settext(i.getstring(11)); texttotal.settext(i.getstring(12)); textgaransi.settext(i.getstring(13)); JOptionPane.showMessageDialog(null, "Data Transaksi Hanphone Tidak Ada"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); //button save buttonsave.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_transaksi, tgl_beli, Id_karyawan, id_pembeli, no_identitas, nm_pembeli, id_produk, Nm_produk, Kategori, Harga, jumlah_beli, total, garansi; id_transaksi= textid_transaksi.gettext(); tgl_beli = texttgl_beli.gettext(); Id_karyawan = textid_karyawan.gettext(); id_pembeli = textid_pembeli.gettext(); no_identitas = textno_identitas.gettext(); nm_pembeli= textnm_pembeli.gettext(); id_produk = textid_produk.gettext(); Nm_produk = textnm_produk.gettext(); Kategori = (String) combokategori.getselecteditem(); 27
Harga = textharga.gettext(); jumlah_beli = textjumlah_beli.gettext(); total = texttotal.gettext(); garansi = textgaransi.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "INSERT INTO transaksi_hp VALUES ('"+id_transaksi+"','"+tgl_beli+"','"+id_karyawan+"','"+id_pembeli+"','"+no_identitas+"','"+nm_pe mbeli+"','"+id_produk+"','"+nm_produk+"','"+kategori+"','"+harga+"','"+jumlah_beli+"','"+total+"','"+garansi+"');"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null,"Data Tansaksi Hanphone berhasil Disimpan"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button update buttonupdate.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_transaksi, tgl_beli, Id_karyawan, id_pembeli, no_identitas, nm_pembeli, id_produk, Nm_produk, Kategori, Harga, jumlah_beli, total, garansi; id_transaksi= textid_transaksi.gettext(); tgl_beli = texttgl_beli.gettext(); Id_karyawan = textid_karyawan.gettext(); id_pembeli = textid_pembeli.gettext(); no_identitas = textno_identitas.gettext(); nm_pembeli= textnm_pembeli.gettext(); id_produk = textid_produk.gettext(); Nm_produk = textnm_produk.gettext(); Kategori = (String) combokategori.getselecteditem(); Harga = textharga.gettext(); 28
jumlah_beli = textjumlah_beli.gettext(); total = texttotal.gettext(); garansi = textgaransi.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "UPDATE transaksi_hp SET tgl_beli='"+tgl_beli+"',id_karyawan='"+id_karyawan+"',id_pembeli='"+id_pembeli+"',no_identitas ='"+no_identitas+"',nm_pembeli='"+nm_pembeli+"',id_produk='"+id_produk+"',nm_produk='"+n m_produk+"',kategori='"+kategori+"',harga='"+harga+"',jumlah_beli='"+jumlah_beli+"',total='"+t otal+"',garansi='"+garansi+"' WHERE id_produk='"+id_produk+"'"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, "Data Transaksi Hanphone Berhasil Diupdate"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); // button delete buttondelete.addactionlistener ( new ActionListener() public void actionperformed (ActionEvent e) String id_transaksi, tgl_beli, Id_karyawan, id_pembeli, no_identitas, nm_pembeli, id_produk, Nm_produk, Kategori, Harga, jumlah_beli, total, garansi; id_transaksi= textid_transaksi.gettext(); tgl_beli = texttgl_beli.gettext(); Id_karyawan = textid_karyawan.gettext(); id_pembeli = textid_pembeli.gettext(); no_identitas = textno_identitas.gettext(); nm_pembeli= textnm_pembeli.gettext(); id_produk = textid_produk.gettext(); Nm_produk = textnm_produk.gettext(); Kategori = (String) combokategori.getselecteditem(); Harga = textharga.gettext(); 29
jumlah_beli = textjumlah_beli.gettext(); total = texttotal.gettext(); garansi = textgaransi.gettext(); //input ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "DELETE FROM transaksi_hp WHERE id_transaksi='"+id_transaksi+"'"; int i = stmt.executeupdate (sql); if (i == 1) JOptionPane.showMessageDialog(null, "Data Transaksi Handphone Berhasil DiHapus"); catch (Exception ex) JOptionPane.showMessageDialog(null, ex.getmessage()); ); 2. Transaksi_view import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*; public class Transaksi_view extends JPanel String[] header = "ID Transaksi","Tanggal beli","id Karyawan","ID Pembeli","NO Identitas","Nama Pembeli","ID Produk","Nama Produk","Kategori","Harga","Jumlah Beli","Total","Garansi"; JTable table = new JTable(); JScrollPane scrolltable = new JScrollPane(); private Object[][] datatable = null; Transaksi_view() 30
KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getconnection(); try Statement stmt = mysql.createstatement(); String sql = "SELECT * FROM transaksi_hp"; ResultSet rs = stmt.executequery(sql); ResultSetMetaData meta = rs.getmetadata(); int kolom = meta.getcolumncount(); int baris = 0; while(rs.next()) baris = rs.getrow(); datatable = new Object[baris][kolom]; int x = 0; rs.beforefirst(); while(rs.next()) datatable[x][0] = rs.getstring("id_transaksi"); datatable[x][1] = rs.getstring("tgl_beli"); datatable[x][2] = rs.getstring("id_karyawan"); datatable[x][3] = rs.getstring("id_pembeli"); datatable[x][4] = rs.getstring("no_identitas"); datatable[x][5] = rs.getstring("nm_pembeli"); datatable[x][6] = rs.getstring("id_produk"); datatable[x][7] = rs.getstring("nm_produk"); datatable[x][8] = rs.getstring("kategori"); datatable[x][9] = rs.getstring("harga"); datatable[x][10] = rs.getstring("jumlah_beli"); datatable[x][11] = rs.getstring("total"); datatable[x][12] = rs.getstring("garansi"); x++; scrolltable.setviewportview(table); table.setmodel(new DefaultTableModel(dataTable, header)); add(scrolltable, BorderLayout.NORTH); stmt.close(); rs.close(); catch (Exception ex) JOptionPane.showMessageDialog(null, "Data Transaksi Hanphone Error"); void GUI() 31
JFrame frame = new JFrame("Data Transaksi"); frame.setdefaultcloseoperation(jframe.dispose_on_close); Transaksi_view content = new Transaksi_view(); content.setopaque(true); frame.setcontentpane(content); frame.pack(); frame.setlocationrelativeto(null); frame.setvisible(true); 32
BAB IV MENU A. Menu import javax.swing.*; import java.awt.event.*; class menu_utama extends JFrame JMenuBar menubar=new JMenuBar(); JMenu file=new JMenu("File"); JMenuItem updatekaryawan=new JMenuItem("Update Karyawan"); JMenuItem viewkaryawan=new JMenuItem("View Karyawan"); JMenuItem exit=new JMenuItem("Exit"); JMenu data=new JMenu("Hanphone"); JMenuItem updatedata=new JMenuItem("Update Data"); JMenuItem viewdata=new JMenuItem("View Data"); JMenu pelanggan=new JMenu("Pembeli"); JMenuItem updatepelanggan=new JMenuItem("Update Data"); JMenuItem viewpelanggan=new JMenuItem("View Data"); JMenu transaksi=new JMenu("Transaksi"); JMenuItem updatetransaksi=new JMenuItem("Update Data"); JMenuItem viewtransaksi=new JMenuItem("View Data"); JMenu about=new JMenu("About"); JMenuItem aboutus=new JMenuItem("About Us"); menu_utama() settitle("penjualan HP Dengan Java"); setlocation(500,250); setsize(500,500); setdefaultcloseoperation(jframe.exit_on_close); //setvisible(true); void GUI() setjmenubar(menubar); menubar.add(file); file.add(updatekaryawan); file.add(viewkaryawan); file.add(exit); menubar.add(data); data.add(updatedata); data.add(viewdata); menubar.add(pelanggan); pelanggan.add(updatepelanggan); 33
pelanggan.add(viewpelanggan); menubar.add(transaksi); transaksi.add(updatetransaksi); transaksi.add(viewtransaksi); menubar.add(about); about.add(aboutus); setvisible(true); void perintah() //karyawan //update updatekaryawan.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Karyawan_update input= new Karyawan_update(); input.gui(); input.perintah(); ); //view viewkaryawan.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Karyawan_View view=new Karyawan_View(); view.gui(); ); //exit exit.addactionlistener(new ActionListener() public void actionperformed(actionevent e) System.exit(0); ); //hamphone //update updatedata.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Hanphone_update input= new Hanphone_update(); input.gui(); input.perintah(); ); //view viewdata.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Hanphone_View view=new Hanphone_View(); view.gui(); ); //pembeli //update 34
updatepelanggan.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Pelanggan input= new Pelanggan(); input.gui(); input.perintah(); ); //view viewpelanggan.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Pelanggan_view view=new Pelanggan_view(); view.gui(); ); //transaksi //update updatetransaksi.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Transaksi_update input= new Transaksi_update(); input.gui(); input.perintah(); ); //view viewtransaksi.addactionlistener(new ActionListener() public void actionperformed(actionevent e) Transaksi_view view=new Transaksi_view(); view.gui(); ); //about aboutus.addactionlistener(new ActionListener() public void actionperformed(actionevent e) JOptionPane.showMessageDialog(null,"<html> Sample Program ~ By : Agus<br/><a href='http://www.facebook.com/agus'>http://www.facebook.com/agus</a><br/>nim : 13111026 <br/> Nama : Agus kurniawan</html>", "About", JOptionPane.INFORMATION_MESSAGE); ); public static void main(string[] args) menu_utama main_menu=new menu_utama(); main_menu.gui(); main_menu.perintah(); 35
B. Screnshot 36
37
BAB V PENUTUP C. Kesimpulan Dengan demikian dapat disimpulkan bahwa dalam membuat suatu program java dengan menggunakan JDBV ada hal yang paling utama yaitu : koneksi. Untuk dapat terkoneksi dengan database terdapat beberapa langkah yaitu 1. Load driver JDBCb 2. DefinisikanURL database 3. Membuat dan Melakukan Koneksi 4. Membuat obyek statement 5. Mengeksekusi queryf 6. Memproses result Menutup Koneksi dimana table yang tampil pada form adalah model dari class table model dengan parameter konstruktor berupa objek resultset hasil query. Agar bisa terhubung dengan database maka harus melakukan koneksi dengan URL Alamat yang telah didefinisikan dalam string kemudian dijadikan parameter dalam mengkoneksikan pada objek Connection. D. Kesulitan Membuat tampilan view, agar tampilannya lebih besar lagi sehingga data dapat di lihat dengan jelas. 38