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

31
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

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

Page 1: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 2: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 3: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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.

Page 4: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 5: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 6: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 7: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 8: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 9: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 10: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 11: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 12: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 13: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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+" ' ";

Page 14: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

12

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

Page 15: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

13

Screenshot Pencarian tidak ketemu

Screenshot Update Data

Page 16: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 17: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 18: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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 {

Page 19: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 20: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

18

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

Screenshot Hapus Data

Page 21: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 22: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 23: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

21

Screenshot View Santri

Page 24: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 25: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 26: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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

Page 27: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

25

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

Screenshot Menu Santri

Page 28: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

26

Page 29: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

27

Page 30: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

28

Page 31: Aplikasi Santri TPQ AL FATIH Masjid Al Iman Klebengan ...ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13121008... · 2 BAB II DATABASE A. Rancangan Tabel Data santri TPQ

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.