SISTEM INFORMASI PENYIMPANAN DATA BUKU-BUKU SEKOLAH DASAR
Disusun oleh : Randi Putra Abdali (13111020)
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MERCU BUAYA YOGYAKARTA 2015 1
Daftar Isi Cover .......................................................................................................... 1 Daftar Isi.................................................................................................. 2-3 BAB 1 PENDAHULUAN 1.1 Latar Belakang ............................................................................. 4 1.2 Alasan Pemilihan Masalah ............................................................ 4 BAB 2 BASIS DATA 2.1 Rancangan Tabel .............................................................................. 5 2.2 Relasi Database ............................................................................... 6 BAB 3 JDBC 3.1 Tabel Buku ................................................................................. 7-15 3.2 Tabel Jenis Buku .................................................................... 16-23 BAB 4 MENU 4.1 Menu ............................................................................................ 24 4.2 Integrasi Menu ............................................................................. 25
2
BAB 5 PENUTUP 5.1 Kesimpulan ........................................................................... 27 5.2 Kesulitan ............................................................................... 27
3
BAB I
Pendahuluan 1. 1 Latar Belakang Seiring
berkembangnya
teknologi
informasi,
berbagai
kalangan
memanfaatkan teknologi komputer untuk membantu dan mempermudah dalam mencatat segala sesuatu yang kemudian informasinya dapat diambil sewaktuwaktu untuk keperluan yang akan datang dengan mudah. Salah satu pemanfaatan teknologi informasi adalah, digunakannya komputer untuk mencatat data barang berupa buku-buku cetak sekolah dasar. Buku-buku cetak yang merupakan barangbarang yang di jual oleh pihak sekolah , harus diolah sedemikian rupa sehingga para guru tidak sembarangan mencurangi harga untuk digunakan diluar kepentingan sekolah.
1. 2 Alasan Pemilihan Masalah Sistem yang dibuat, yaitu sistem penyimpanan data buku-buku cetak, dapat membantu manajemen sekolah untuk mencatat buku-buku apa saja sesuai kebutuhan kurikulum dan guru, yang digunakan oleh siswa. Dengan demikian, diharapkan buku-buku tersebut dapat dimanfaatkan oleh guru dan siswa dengan sebaik-baiknya.
4
BAB II
Basis Data 2.1 Rancangan Tabel Pada pembuatan sistem ini, digunakan 2 tabel yaitu tabel barang dan tabel jenis barang. 1. Tabel Buku
2. Tabel Jenis Buku
5
2.2 Relasi Database Adapun relasi database yang digunakan adalah sebagai berikut :
6
BAB III
JDBC 3.1 Tabel Buku tombol_edit.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { boolean ketemu=false; status="ubah"; try { String id=JOptionPane.showInputDialog(null,"Masukkan ID Buku"); Statement stm=mysql.createStatement(); String query="SELECT * FROM tabel buku WHERE id_buku='"+id+"';"; ResultSet rs=stm.executeQuery(query); while(rs.next()){
if(rs.getString("id_buku").equals(id)){
7
ketemu=true;
id_buku.setText(rs.getString("id_buku"));
nama_buku.setText(rs.getString("nama_buku"));
jenis_buku.setText(rs.getString("jenis_buku"));
stok_buku.setText(rs.getString("stok_buku"));
harga_buku.setText(rs.getString("harga_buku")); } } } catch (SQLException ex) {
Logger.getLogger(FormBarang.class.getName()).log(Level.SEVER E, null, ex); } } });
tombol_simpan.addActionListener( new ActionListener() {
8
@Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null,status); String id_buku,nama_buku,jenis_buku,harga_buku,stok_buku; Id_buku=id_buku.getText(); Nama_buku=nama_buku.getText(); Jenis_buku=id_jenis.getText(); Harga_buku=harga_buku.getText(); Stok_buku=stok_buku.getText(); if(id_buku.equals("") || harga_buku.equals("") || stok_buku.equals("")){
JOptionPane.showMessageDialog(null,"Masih Ada Data Yang Belum Terisi"); }else{ try{ Statement stm=mysql.createStatement(); if (status.equals("ubah")){ String query="UPDATE tabel buku set nama_buku='"+nama_buku+"',jenis_buku='"+jenis_buku+"',stok_b uku='"+stok_buku+"',harga_buku='"+harga_buku+"' WHERE id_buku='"+id_buku+"'";
9
int i=stm.executeUpdate(query); if (i==1){
JOptionPane.showMessageDialog(null,"Data Barang berhasil diubah"); status="tambah"; }else{
JOptionPane.showMessageDialog(null,"Data Barang Gagal diubah"); } }else{ String query="INSERT INTO tabel buku VALUES('"+id_buku+"','"+nama_buku+"'" + ",'"+jenis_buku+"'" + ",'"+stok_buku+"'" + ",'"+harga_buku+"');"; int i=stm.executeUpdate(query); if(i==1){
JOptionPane.showMessageDialog(null,"Data Berhasil Tersimpan","Sukses",JOptionPane.INFORMATION_MESSAGE); } }
10
}catch(Exception ex){
JOptionPane.showMessageDialog(null,"Error : "+ex.getMessage()); } } } } );
tombol_cari.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { boolean ketemu=false;
try { String id=JOptionPane.showInputDialog(null,"Masukkan ID Barang"); Statement stm=mysql.createStatement(); String query="SELECT * FROM tabel buku WHERE id_buku='"+id+"';"; ResultSet rs=stm.executeQuery(query); while(rs.next()){
11
if(rs.getString("id_buku").equals(id)){ ketemu=true; } }
if(ketemu==true){
JOptionPane.showMessageDialog(null,"Data Barang dengan ID "+id+" ditemukan"); ketemu=false; }else{
JOptionPane.showMessageDialog(null,"Data Barang dengan ID "+id+" tidak ditemukan"); } } catch (SQLException ex) {
Logger.getLogger(FormBarang.class.getName()).log(Level.SEVER E, null, ex); } } });
tombol_exit.addActionListener(new ActionListener() {
12
@Override public void actionPerformed(ActionEvent e) { int hasil=JOptionPane.showConfirmDialog(null,"Apakah Anda Ingin Menutup Form Data Barang?","Keluar",JOptionPane.OK_CANCEL_OPTION,JOptionPane.Q UESTION_MESSAGE); if(hasil==JOptionPane.OK_OPTION){ dispose(); } } });
tombol_remove.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { try { String barang_id=JOptionPane.showInputDialog("Masukkan ID Buku yang akan dihapus !"); Statement stm=mysql.createStatement(); String query="DELETE FROM tabel buku
13
WHERE id_buku='"+id_buku+"';"; int i=stm.executeUpdate(query); if(i==1){
JOptionPane.showMessageDialog(null,"Data Buku dengan ID : "+id_buku+" Berhasil Terhapus"); }else {
JOptionPane.showMessageDialog(null,"Data Buku dengan ID : "+id_buku+" Tidak ditemukan"); }
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error : "+ex.getMessage()); } } });
cmb_jenis.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) { Statement stm; try {
14
stm = mysql.createStatement(); String query="SELECT id_jenis FROM tabel jenis buku WHERE nama_jenis='"+cmb_jenis.getSelectedItem().toString()+"';"; ResultSet rs=stm.executeQuery(query); String id_jenis=null; while(rs.next()){ id_jenis=rs.getString("id_jenis"); } Id_jenis.setText(id_jenis); } catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error : "+ex.getMessage()); } } });
tombol_lihat_data.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { FormLihatBuku flb=new FormLihatBuku(); flb.GUI(); flb.setVisible(true);
15
} });
3.2 Tabel Jenis Buku tombol_ubah.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { boolean ketemu=false; status="ubah"; try { String id=JOptionPane.showInputDialog(null,"Masukkan ID Jenis Buku"); Statement stm=mysql.createStatement(); String query="SELECT * FROM tabel jenis buku WHERE id_jenis='"+id+"';"; ResultSet rs=stm.executeQuery(query); while(rs.next()){
if(rs.getString("id_buku").equals(id)){ ketemu=true;
16
id_jenis.setText(rs.getString("id_jenis"));
nama_jenis.setText(rs.getString("nama_jenis")); } } } catch (SQLException ex) {
Logger.getLogger(FormBuku.class.getName()).log(Level.SEVERE, null, ex); }
} });
tombol_simpan.addActionListener( new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { String id_jenis,nama_jenis; Id_jenis=id_jenis.getText(); Nama_jenis=nama_jenis.getText();
if(id_jenis.equals("") || nama_jenis.equals("")){
17
JOptionPane.showMessageDialog(null,"Masih Ada Data Yang Belum Terisi"); }else{ try{ Statement stm=mysql.createStatement();
if (status.equals("ubah")){ String query="UPDATE tabel jenis buku set nama_jenis='"+nama_jenis+"' WHERE id_jenis='"+id_jenis+"'"; int i=stm.executeUpdate(query); if (i==1){
JOptionPane.showMessageDialog(null,"Data Buku berhasil diubah"); status="tambah"; }else{
JOptionPane.showMessageDialog(null,"Data Buku Gagal diubah"); } }else{
18
String query="INSERT INTO tabel jenis buku VALUES('"+id_jenis+"','"+nama_jenis+"');"; int i=stm.executeUpdate(query); if(i==1){
JOptionPane.showMessageDialog(null,"Data Berhasil Tersimpan","Sukses",JOptionPane.INFORMATION_MESSAGE); } } }catch(Exception ex){
JOptionPane.showMessageDialog(null,"Error : "+ex.getMessage()); } } } } );
tombol_keluar.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) {
19
int hasil=JOptionPane.showConfirmDialog(null,"Apakah Anda Ingin Menutup Form Data Jenis?","Keluar",JOptionPane.OK_CANCEL_OPTION,JOptionPane.QU ESTION_MESSAGE); if(hasil==JOptionPane.OK_OPTION){ dispose(); } } });
tombol_cari.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { boolean ketemu=false;
try { String id=JOptionPane.showInputDialog(null,"Masukkan ID Jenis Buku"); Statement stm=mysql.createStatement(); String query="SELECT * FROM tabel jenis buku WHERE id_jenis='"+id+"';";
20
ResultSet rs=stm.executeQuery(query); while(rs.next()){
if(rs.getString("id_jenis").equals(id)){ ketemu=true; } } if(ketemu==true){
JOptionPane.showMessageDialog(null,"Data Jenis Buku dengan ID "+id+" ditemukan"); ketemu=false; }else{
JOptionPane.showMessageDialog(null,"Data Jenis Buku dengan ID "+id+" tidak ditemukan"); } } catch (SQLException ex) {
Logger.getLogger(FormBarang.class.getName()).log(Level.SEVER E, null, ex); }
} });
21
tombol_lihat_data.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { FormLihatJenis flj=new FormLihatJenis(); flj.display(); } });
tombol_remove.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { try { String id_buku=JOptionPane.showInputDialog("Masukkan ID Jenis yang akan dihapus !"); Statement stm=mysql.createStatement(); String query="DELETE FROM tabel jenis buku WHERE id_jenis='"+id_buku+"';"; int i=stm.executeUpdate(query); if(i==1){
22
JOptionPane.showMessageDialog(null,"Data Jenis Barang dengan ID : "+id_buku+" Berhasil Terhapus"); }else {
JOptionPane.showMessageDialog(null,"Data Jenis Buku dengan ID : "+id_buku+" Tidak ditemukan"); }
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Error : "+ex.getMessage()); } } });
23
BAB IV
MENU 4.1 Menu Menu terdiri dari file, data dan about, -Menu File berisi sebuah sub menu, yaitu Exit -Menu Data berisi 2 buah sub menu, yaitu Data Buku dan Data Jenis Buku
24
4. 2 Integrasi Menu
25
26
BAB V
Penutup
5.1 Kesimpulan Sistem sudah berjalan seperti yang diharapkan, serta sudah terintegrasi dengan menu utama. Data yang digunakan tersimpan dalam database MySQL yang dan dapat dibaca dengan baik oleh program aplikasi.
5.1 Kesulitan Salah satu kesulitan selama pembuatan sistem adalah, dalam hal menulis kode programnya. Karena semua harus dilakukan melalui baris kode, tanpa melalui toolbox.
27