Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan...

Post on 29-Mar-2018

245 views 8 download

Transcript of Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan...

i

Aplikasi Santri TPQ AL FATIH

Masjid Al Iman Klebengan

Caturtunggal Depok Sleman Yogyakarta

NIM : 13121008

Nama : M. Bagus Kurniawan

Kelas: 22

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS MERCU BUANA YOGYAKARTA

2015

ii

DAFTAR ISI

Halaman Judul ................................................................................................................. i

Daftar Isi ........................................................................................................................... ii

Bab I Pendahuluan ............................................................................................................. 1

A. Pendahuluan ........................................................................................................... 1

B. Alasan Pemilihan Masalah ...................................................................................... 1

Bab II Database .................................................................................................................. 2

A. Rancangan Tabel .................................................................................................... 2

B. Relasi Database ..................................................................................................... 2

Bab III JDBC ..................................................................................................................... 3

A. Koneksi MySQL dengan JDBC .............................................................................. 3

B. Tabel Santri ............................................................................................................ 4

1. Input Data Santri ............................................................................................... 4

2. Search dan Update Data Santri ......................................................................... 8

3. Hapus Data Santri .............................................................................................. 14

4. View Data Santri .............................................................................................. 19

Bab IV Menu ..................................................................................................................... 22

A. Menu ...................................................................................................................... 22

B. Menu Integrasi (Hasil Akhir) .................................................................................. 22

Bab V Penutup ................................................................................................................... 29

A. Kesimpulan ............................................................................................................ 29

B. Kesulitan ................................................................................................................ 29

1

BAB I

PENDAHULUAN

A. Latar Belakang

Teknologi Informasi saat ini begitu cepat berkebang. Manusia dapat bertukar informasi

dan berkomunikasi dengan cepat. Melalui media internet pertukaran informasi tetap dapat

dilakukan walaupun jaraknya berjauhan dan berbeda waktu.

B. Alasan Pemilihan Masalah

Penyimpanan data dalam bentuk fisik saat ini masih banyak dilakukan. Akan tetapi dalam

pemproses data misalnya untuk mencari informasi seseorang dalam tumpukan kertas akan

membutuhkan waktu dan tenaga yang lebih banyak apalagi jika data telah banyak dan terus

bertambah Lain halnya jika data sudah dalam bentuk elektonik untuk memproses data akan lebih

mudah dan lebih cepat tentunya dengan menggunakan alat bantu komputer dan teknologi

informasi.

Data santri TPA Al Fatih juga dapat diaplikasikan dengan dibuatnya aplikasi atau Sistem

Informasi Santri menggunakan bahasa pemrograman Java, agar dalam mengolah data santri

tersebut akan lebih mudah,cepat dan efisien.

2

BAB II

DATABASE

A. Rancangan Tabel

Data santri TPQ Al Fatih dirancang dalam tabel santri yang berisi data – data sebagai

berikut :

1. No Identitas Santri,

2. Nama Anak,

3. Alamat,

4. Jenis Kelamin,

5. Pendidikan Formal,

6. Nama Ayah

7. Nama Ibu

8. No Telp/HP orang tua.

Struktur tabelnya adalah sebagai berikut CREATE TABLE `santri` ( `noid` INT( 11 ) PRIMARY KEY NOT NULL , `nama` VARCHAR( 30 ) DEFAULT NULL , `alamat` VARCHAR( 100 ) DEFAULT NULL , `jkelamin` VARCHAR( 10 ) DEFAULT NULL , `pendidikan` VARCHAR( 50 ) DEFAULT NULL , `ayah` VARCHAR( 30 ) DEFAULT NULL , `ibu` VARCHAR( 30 ) DEFAULT NULL , `nohp` VARCHAR( 15 ) DEFAULT NULL ) ENGINE = MYISAM DEFAULT CHARSET = latin1;

B. Relasi Database

Database aplikasi Santri TPQ Al Fatih ini menggunakan database MySQL dan belum

menggunakan relasi database karene baru menggunakan 1 tabel saja

3

BAB III

JDBC

A. Koneksi MySQL dengan JDBC

Source Code KoneksiMySQL.java

import java.sql.*; class KoneksiMySQL { String url, usr, pwd, dbn; public KoneksiMySQL() { dbn = "tpa-alfatih"; url ="jdbc:mysql://localhost/tpa-alfatih"; usr = "root"; pwd = ""; } public Connection getConnection(){ Connection con = null; try{ Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(url, usr, pwd); System.out.println("OK : Driver Ditemukan"); } catch (ClassNotFoundException e){ System.out.println("Error : Driver Tidak Ditemukan \n " +e+ "\n"); } catch(SQLException e){ System.out.println("Error : Tidak Bisa Koneksi ke Database \n " +e+ "\n"); } return con; } private void PembuatDialog(){ System.out.println("Created By : DnD = http://www.dnd-sq.tk"); System.exit(0); } public static void main (String[] args){ KoneksiMySQL dnd = new KoneksiMySQL(); dnd.getConnection(); dnd.PembuatDialog(); }

4

}

B. Tabel Santri

1. Input/ Data Entri Data Santri

Source code DESantri.java import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class DESantri extends JFrame { JLabel ltpa = new JLabel("FORMULIR ISIAN SANTRI TPA AL FATIH"); JLabel ltpa2 = new JLabel("Klebengan Caturtunggal Depok Sleman"); JLabel ldatasantri = new JLabel("Data Santri"); JLabel lnoid = new JLabel("No ID"); JLabel lnama = new JLabel("Nama Santri"); JLabel lalamat = new JLabel("Alamat"); JLabel ljkelamin = new JLabel("Jenis Kelamin"); JLabel lpendidikan = new JLabel("Pendidikan"); JLabel ldataortu = new JLabel("Data Orang Tua"); JLabel layah = new JLabel("Nama Ayah"); JLabel libu = new JLabel("Nama Ibu"); JLabel lnohp = new JLabel("No Telp/ HP"); JTextField tfnoid = new JTextField(); JTextField tfnama = new JTextField(); JTextField tfalamat = new JTextField(); JTextField tfayah = new JTextField(); JTextField tfibu = new JTextField(); JTextField tfnohp = new JTextField(); JRadioButton opLakilaki = new JRadioButton("Laki-laki"); JRadioButton opPerempuan = new JRadioButton("Perempuan"); ButtonGroup groupjkelamin = new ButtonGroup(); String[] pendidikan ={"TK","SD"}; JComboBox cpendidikan = new JComboBox(pendidikan); JButton bSAVE = new JButton("SIMPAN"); JButton bEXIT = new JButton("KELUAR"); DESantri() { setTitle("Data Entri Santri Al Fatih"); setLocation(655,0); setSize(500,500); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }

5

void Tampilan() { getContentPane().setLayout (null); getContentPane().add(ltpa); ltpa.setBounds(20, 10, 500, 30); getContentPane().add(ltpa2); ltpa2.setBounds(20, 30, 500, 30); getContentPane().add(ldatasantri); ldatasantri.setBounds(120, 60, 150, 30); getContentPane().add(lnoid); lnoid.setBounds(20, 100, 150, 30); getContentPane().add(lnama); lnama.setBounds(20, 130, 150, 30); getContentPane().add(lalamat); lalamat.setBounds(20, 160, 150, 30); getContentPane().add(ljkelamin); ljkelamin.setBounds(20, 190, 150, 30); getContentPane().add(lpendidikan); lpendidikan.setBounds(20, 220, 150, 30); getContentPane().add(ldataortu); ldataortu.setBounds(120, 270, 150, 30); getContentPane().add(layah); layah.setBounds(20, 310, 150, 30); getContentPane().add(libu); libu.setBounds(20, 340, 150, 30); getContentPane().add(lnohp); lnohp.setBounds(20, 370, 420, 30); getContentPane().add(tfnoid); tfnoid.setBounds(120, 100, 100, 25); getContentPane().add(tfnama); tfnama.setBounds(120, 130, 250, 25); getContentPane().add(tfalamat); tfalamat.setBounds(120, 160, 300, 25); getContentPane().add(tfayah); tfayah.setBounds(120, 310, 250, 25); getContentPane().add(tfibu); tfibu.setBounds(120, 340, 250, 25); getContentPane().add(tfnohp); tfnohp.setBounds(120, 370, 100, 25); getContentPane().add(opLakilaki); opLakilaki.setBounds(120, 200, 80, 10); getContentPane().add(opPerempuan); opPerempuan.setBounds(200, 200, 100, 10); groupjkelamin.add(opPerempuan); groupjkelamin.add(opLakilaki); getContentPane().add(cpendidikan); cpendidikan.setBounds(120, 220, 50, 30);

6

getContentPane().add(bSAVE); bSAVE.setBounds(120,410,150,20); getContentPane().add(bEXIT); bEXIT.setBounds(280,410,150,20); setVisible(true); } void Jalankan() { //button exit bEXIT.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) { System.exit(1); } } } ); //button save bSAVE.addActionListener ( new ActionListener() { public void actionPerformed(ActionEvent e) { String noid, nama, alamat, jkelamin, pendidikan, ayah, ibu, nohp; noid = tfnoid.getText(); nama =tfnama.getText(); alamat =tfalamat.getText(); if (opLakilaki.isSelected()==true){ jkelamin = opLakilaki.getText(); } else { jkelamin = opPerempuan.getText(); } pendidikan = (String) cpendidikan.getSelectedItem(); ayah = tfayah.getText(); ibu = tfibu.getText(); nohp =tfnohp.getText();

7

//input ke database KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement(); String sql ="INSERT INTO santri VALUE ('"+noid+"','"+nama+"','"+alamat+"','"+jkelamin+"','"+pendidikan+"','"+ayah+"','"+ibu+"','"+nohp+"');"; int i = stmt.executeUpdate(sql); if (i == 1) { JOptionPane.showMessageDialog(null, "Data Santri Berhasil Disimpan"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); } }

Screenshot Input Data

8

2. Search/ Pencarian dan Update Data

Source code UpdateSantri.java import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class UpdateSantri extends JFrame { JLabel ltpa = new JLabel("FORMULIR ISIAN SANTRI TPA AL FATIH"); JLabel ltpa2 = new JLabel("Klebengan Caturtunggal Depok Sleman"); JLabel ldatasantri = new JLabel("Data Santri"); JLabel lnoid = new JLabel("No ID"); JLabel lnama = new JLabel("Nama Santri"); JLabel lalamat = new JLabel("Alamat"); JLabel ljkelamin = new JLabel("Jenis Kelamin"); JLabel lpendidikan = new JLabel("Pendidikan"); JLabel ldataortu = new JLabel("Data Orang Tua"); JLabel layah = new JLabel("Nama Ayah"); JLabel libu = new JLabel("Nama Ibu"); JLabel lnohp = new JLabel("No Telp/ HP"); JTextField tfnoid = new JTextField(); JTextField tfnama = new JTextField(); JTextField tfalamat = new JTextField(); JTextField tfayah = new JTextField(); JTextField tfibu = new JTextField(); JTextField tfnohp = new JTextField(); JRadioButton opLakilaki = new JRadioButton("Laki-laki"); JRadioButton opPerempuan = new JRadioButton("Perempuan"); ButtonGroup groupjkelamin = new ButtonGroup(); String[] pendidikan ={"TK","SD"}; JComboBox cpendidikan = new JComboBox(pendidikan); JButton bCARI = new JButton("CARI"); JButton bUPDATE = new JButton("UPDATE"); JButton bEXIT = new JButton("KELUAR"); UpdateSantri() { setTitle("Update Data Santri Al Fatih"); setLocation(655,0); setSize(500,500); //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void Tampilan() { getContentPane().setLayout (null); getContentPane().add(ltpa);

9

ltpa.setBounds(20, 10, 500, 30); getContentPane().add(ltpa2); ltpa2.setBounds(20, 30, 500, 30); getContentPane().add(ldatasantri); ldatasantri.setBounds(120, 60, 150, 30); getContentPane().add(lnoid); lnoid.setBounds(20, 100, 150, 30); getContentPane().add(bCARI); bCARI.setBounds(230,100,150,20); getContentPane().add(lnama); lnama.setBounds(20, 130, 150, 30); getContentPane().add(lalamat); lalamat.setBounds(20, 160, 150, 30); getContentPane().add(ljkelamin); ljkelamin.setBounds(20, 190, 150, 30); getContentPane().add(lpendidikan); lpendidikan.setBounds(20, 220, 150, 30); getContentPane().add(ldataortu); ldataortu.setBounds(120, 270, 150, 30); getContentPane().add(layah); layah.setBounds(20, 310, 150, 30); getContentPane().add(libu); libu.setBounds(20, 340, 150, 30); getContentPane().add(lnohp); lnohp.setBounds(20, 370, 420, 30); getContentPane().add(tfnoid); tfnoid.setBounds(120, 100, 100, 25); getContentPane().add(tfnama); tfnama.setBounds(120, 130, 250, 25); getContentPane().add(tfalamat); tfalamat.setBounds(120, 160, 300, 25); getContentPane().add(tfayah); tfayah.setBounds(120, 310, 250, 25); getContentPane().add(tfibu); tfibu.setBounds(120, 340, 250, 25); getContentPane().add(tfnohp); tfnohp.setBounds(120, 370, 100, 25); getContentPane().add(opLakilaki); opLakilaki.setBounds(120, 200, 80, 10); getContentPane().add(opPerempuan); opPerempuan.setBounds(200, 200, 100, 10); groupjkelamin.add(opPerempuan); groupjkelamin.add(opLakilaki); getContentPane().add(cpendidikan); cpendidikan.setBounds(120, 220, 50, 30); getContentPane().add(bUPDATE);

10

bUPDATE.setBounds(120,410,150,20); getContentPane().add(bEXIT); bEXIT.setBounds(280,410,150,20); setVisible(true); } void Jalankan() { //button exit bEXIT.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) { System.exit(0); } } } ); //button CARI bCARI.addActionListener ( new ActionListener() { public void actionPerformed (ActionEvent e) { String search; String noid, nama, alamat, jkelamin, pendidikan, ayah, ibu, nohp; KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getConnection(); try { search=tfnoid.getText(); Statement stmt = mysql.createStatement(); String sql ="SELECT * FROM santri WHERE noid like'"+search+"'"; ResultSet i = stmt.executeQuery (sql); if (i.next()) { tfnoid.setText(i.getString(1)); tfnama.setText(i.getString(2)); tfalamat.setText(i.getString(3)); jkelamin = i.getString(4); if (jkelamin.equals("Laki-laki")) { opLakilaki.setSelected(true); }

11

else { opPerempuan.setSelected(true); } cpendidikan.setSelectedItem(i.getString(5)); tfayah.setText(i.getString(6)); tfibu.setText(i.getString(7)); tfnohp.setText(i.getString(8)); } else { JOptionPane.showMessageDialog(null, "Data Santri tidak ada"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } ); bUPDATE.addActionListener ( new ActionListener() { public void actionPerformed (ActionEvent e) { String noid, nama, alamat, jkelamin, pendidikan, ayah, ibu, nohp; noid = tfnoid.getText(); nama = tfnama.getText(); alamat = tfalamat.getText(); if (opLakilaki.isSelected()==true) { jkelamin = opLakilaki.getText(); } else { jkelamin = opPerempuan.getText(); } pendidikan = (String) cpendidikan.getSelectedItem(); ayah = tfayah.getText(); ibu = tfibu.getText(); nohp = tfnohp.getText(); //update ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement(); String sql = " UPDATE santri SET nama=' "+nama+" ' ,alamat=' "+alamat+" ' ,jkelamin=' "+jkelamin+" ' ,pendidikan=' "+pendidikan+" ' ,ayah=' "+ayah+" ' ,ibu=' "+ibu+" ',nohp=' "+nohp+" ' WHERE noid=' "+noid+" ' ";

12

int i = stmt.executeUpdate (sql); if (i == 1) { JOptionPane.showMessageDialog(null, "Data Santri Berhasil Diupdate"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } ); } }

13

Screenshot Pencarian tidak ketemu

Screenshot Update Data

14

3. Hapus Data Santri

Source code DelSantri.java import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; class DelSantri extends JFrame { JLabel ltpa = new JLabel("FORMULIR ISIAN SANTRI TPA AL FATIH"); JLabel ltpa2 = new JLabel("Klebengan Caturtunggal Depok Sleman"); JLabel ldatasantri = new JLabel("Data Santri"); JLabel lnoid = new JLabel("No ID"); JLabel lnama = new JLabel("Nama Santri"); JLabel lalamat = new JLabel("Alamat"); JLabel ljkelamin = new JLabel("Jenis Kelamin"); JLabel lpendidikan = new JLabel("Pendidikan"); JLabel ldataortu = new JLabel("Data Orang Tua"); JLabel layah = new JLabel("Nama Ayah"); JLabel libu = new JLabel("Nama Ibu"); JLabel lnohp = new JLabel("No Telp/ HP"); JTextField tfnoid = new JTextField(); JTextField tfnama = new JTextField(); JTextField tfalamat = new JTextField(); JTextField tfayah = new JTextField(); JTextField tfibu = new JTextField(); JTextField tfnohp = new JTextField(); JRadioButton opLakilaki = new JRadioButton("Laki-laki"); JRadioButton opPerempuan = new JRadioButton("Perempuan"); ButtonGroup groupjkelamin = new ButtonGroup(); String[] pendidikan ={"TK","SD"}; JComboBox cpendidikan = new JComboBox(pendidikan); JButton bCARI = new JButton("CARI"); JButton bDELETE = new JButton("HAPUS"); JButton bEXIT = new JButton("KELUAR"); DelSantri() { setTitle("Hapus Data Santri Al Fatih"); setLocation(655,0); setSize(500,500); //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } void Tampilan() { getContentPane().setLayout (null); getContentPane().add(ltpa);

15

ltpa.setBounds(20, 10, 500, 30); getContentPane().add(ltpa2); ltpa2.setBounds(20, 30, 500, 30); getContentPane().add(ldatasantri); ldatasantri.setBounds(120, 60, 150, 30); getContentPane().add(lnoid); lnoid.setBounds(20, 100, 150, 30); getContentPane().add(bCARI); bCARI.setBounds(230,100,150,20); getContentPane().add(lnama); lnama.setBounds(20, 130, 150, 30); getContentPane().add(lalamat); lalamat.setBounds(20, 160, 150, 30); getContentPane().add(ljkelamin); ljkelamin.setBounds(20, 190, 150, 30); getContentPane().add(lpendidikan); lpendidikan.setBounds(20, 220, 150, 30); getContentPane().add(ldataortu); ldataortu.setBounds(120, 270, 150, 30); getContentPane().add(layah); layah.setBounds(20, 310, 150, 30); getContentPane().add(libu); libu.setBounds(20, 340, 150, 30); getContentPane().add(lnohp); lnohp.setBounds(20, 370, 420, 30); getContentPane().add(tfnoid); tfnoid.setBounds(120, 100, 100, 25); getContentPane().add(tfnama); tfnama.setBounds(120, 130, 250, 25); getContentPane().add(tfalamat); tfalamat.setBounds(120, 160, 300, 25); getContentPane().add(tfayah); tfayah.setBounds(120, 310, 250, 25); getContentPane().add(tfibu); tfibu.setBounds(120, 340, 250, 25); getContentPane().add(tfnohp); tfnohp.setBounds(120, 370, 100, 25); getContentPane().add(opLakilaki); opLakilaki.setBounds(120, 200, 80, 10); getContentPane().add(opPerempuan); opPerempuan.setBounds(200, 200, 100, 10); groupjkelamin.add(opPerempuan); groupjkelamin.add(opLakilaki); getContentPane().add(cpendidikan); cpendidikan.setBounds(120, 220, 50, 30); getContentPane().add(bDELETE); bDELETE.setBounds(120,410,150,20); getContentPane().add(bEXIT); bEXIT.setBounds(280,410,150,20); setVisible(true);

16

} void Jalankan() { //button exit bEXIT.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) { System.exit(0); } } } ); //button CARI bCARI.addActionListener ( new ActionListener() { public void actionPerformed (ActionEvent e) { String search; String noid, nama, alamat, jkelamin, pendidikan, ayah, ibu, nohp; KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getConnection(); try { search=tfnoid.getText(); Statement stmt = mysql.createStatement(); String sql ="SELECT * FROM santri WHERE noid like'"+search+"'"; ResultSet i = stmt.executeQuery (sql); if (i.next()) { tfnoid.setText(i.getString(1)); tfnama.setText(i.getString(2)); tfalamat.setText(i.getString(3)); jkelamin = i.getString(4); if (jkelamin.equals("Laki-laki")) { opLakilaki.setSelected(true); } else {

17

opPerempuan.setSelected(true); } cpendidikan.setSelectedItem(i.getString(5)); tfayah.setText(i.getString(6)); tfibu.setText(i.getString(7)); tfnohp.setText(i.getString(8)); } else { JOptionPane.showMessageDialog(null, "Data Santri tidak ada"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } ); bDELETE.addActionListener ( new ActionListener() { public void actionPerformed (ActionEvent e) { String noid, nama, alamat, jkelamin, pendidikan, ayah, ibu, nohp; noid = tfnoid.getText(); nama = tfnama.getText(); alamat = tfalamat.getText(); if (opLakilaki.isSelected()==true) { jkelamin = opLakilaki.getText(); } else { jkelamin = opPerempuan.getText(); } pendidikan = (String) cpendidikan.getSelectedItem(); ayah = tfayah.getText(); ibu = tfibu.getText(); nohp = tfnohp.getText(); //update ke database KoneksiMySQL open = new KoneksiMySQL (); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement(); String sql = " DELETE FROM santri WHERE noid=' "+noid+" ' "; int i = stmt.executeUpdate (sql); if (i == 1) {

18

JOptionPane.showMessageDialog(null, "Data Santri Berhasil Dihapus"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } } ); } }

Screenshot Hapus Data

19

4. View Data Santri

Source code ViewSantri.java import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*; public class ViewSantri extends JPanel { String [] header = {"NOIDI", "NAMA", "ALAMAT", "JKELAMIN", "PENDIDIKAN", "AYAH", "IBU", "NOHP"}; JTable table = new JTable(); JScrollPane scrollTable = new JScrollPane(); private Object[][] dataTable = null; ViewSantri() { KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement(); String sql = "SELECT * FROM santri"; 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("noid"); dataTable[x][1] = rs.getString("nama"); dataTable[x][2] = rs.getString("alamat"); dataTable[x][3] = rs.getString("jkelamin"); dataTable[x][4] = rs.getString("pendidikan"); dataTable[x][5] = rs.getString("ayah"); dataTable[x][6] = rs.getString("ibu"); dataTable[x][7] = rs.getString("nohp"); x++; } scrollTable.setViewportView(table); table.setModel(new DefaultTableModel(dataTable, header)); add(scrollTable, BorderLayout.NORTH); stmt.close(); rs.close(); }

20

catch (Exception ex) { JOptionPane.showMessageDialog(null, "Data Santri Error"); } } void Tampilan() { JFrame frame = new JFrame("Data Santri"); //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ViewSantri content = new ViewSantri(); content.setOpaque(true); frame.setContentPane(content); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); } }

21

Screenshot View Santri

22

BAB IV

MENU

A. Menu

Menu Alikasi terdiri dari menu – menu sebagai berikut

1. Menu File yang berisi submenu Setup (untuk membuat tabel santri di database MySQL

tpa-alfatih) dan Exit (untuk keluar)

2. Menu Data yang berisi submenu Input, Update, Hapus, dan View Data Santri

3. Menu About yang berisi submenu About Us

B. Integrasi Menu (Hasil Akhir)

Source code MenuSantri.java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JOptionPane; import java.sql.*; class MenuSantri extends JFrame { JMenuBar menuBar = new JMenuBar(); JMenu menuFile = new JMenu("File"); JMenuItem menuSetup = new JMenuItem("Setup"); JMenuItem menuExit = new JMenuItem("Exit"); JMenu menuData = new JMenu("Data"); JMenuItem menuDESantri = new JMenuItem("Input Data Santri"); JMenuItem menuUpdateSantri = new JMenuItem("Update Data Santri"); JMenuItem menuDelSantri = new JMenuItem("Hapus Data Santri"); JMenuItem menuViewSantri = new JMenuItem("View Data Santri"); JMenu menuAbout = new JMenu("About"); JMenuItem menuAboutus = new JMenuItem("About Us"); MenuSantri() { setTitle("Data Santri TPA AL FATIH"); setLocation(0,0); setSize(650, 720); } void Tampilan() { setJMenuBar(menuBar); menuBar.add(menuFile); menuFile.add(menuSetup); menuFile.add(menuExit); menuBar.add(menuData);

23

menuData.add(menuDESantri); menuData.add(menuUpdateSantri); menuData.add(menuDelSantri); menuData.add(menuViewSantri); menuBar.add(menuAbout); menuAbout.add(menuAboutus); setVisible(true); } void Jalankan() { menuDESantri.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent e) { DESantri InputData=new DESantri(); InputData.Tampilan(); InputData.Jalankan(); } }); menuUpdateSantri.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent e) { UpdateSantri UpdateData=new UpdateSantri(); UpdateData.Tampilan(); UpdateData.Jalankan(); } }); menuDelSantri.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent e) { DelSantri DeleteData=new DelSantri(); DeleteData.Tampilan(); DeleteData.Jalankan(); } }); menuViewSantri.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent e) { ViewSantri ViewData=new ViewSantri(); ViewData.Tampilan(); }

24

}); menuExit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.exit(0); } }); menuAboutus.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "<html> TPA AL FATIH<br> Masjid Al Iman Klebengan<br><br>NIM: 13121008 <br>Nama: M. Bagus Kurniawan</html>", "Informasi",JOptionPane.INFORMATION_MESSAGE); } }); menuSetup.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent e) { //ke database KoneksiMySQL open = new KoneksiMySQL(); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement(); String sql ="create table santri ( " + " noid INT PRIMARY KEY, nama VARCHAR(30), alamat VARCHAR(100), " + " jkelamin VARCHAR(10), pendidikan VARCHAR(50), ayah VARCHAR(30), ibu VARCHAR(30), nohp VARCHAR(15) )"; int i = stmt.executeUpdate(sql); if (i == 1) { JOptionPane.showMessageDialog(null, "Tabel Santri Berhasil Dbuat"); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } }); } public static void main(String[] args) { MenuSantri bgs= new MenuSantri();

25

bgs.Tampilan(); bgs.Jalankan(); } }

Screenshot Menu Santri

26

27

28

29

BAB V

PENUTUP

A. Kesimpulan

Aplikasi yang dibuat dengan menggunakan bahasa pemrograman Java dapat

diintegrasikan dengan database MySQL

B. Kesulitan

Dalam pembuatan Aplikasi menggunakan bahasa pemograman Java sering terjadi

kesalahan atau error yand disebabkan kesalan penulisan huruf besar atau kecil sehingga

dalam penulisan kode program harus lebih teliti dan hati – hati karena salah dalam penulisan

perintah atau salah ketik huruf yang seharusnya menggunakan huruf besar atau kecil

mengakibatkan aplikasi tidak dapat berjalan.