Top Banner
IMPLEMENTASI METODE BERORIENTASI OBJEK UNTUK MEMBANGUN SISTEM PERPUSTAKAAN Tugas I MATA KULIAH PEMROGRAMAN I Oleh : 1.Baghus Kosa Maulana ( 2010140536 ) 2.Fathan Qorib ( 2010140715 ) 3.Handoyo Dwi Prakoso ( 2010140359 ) 4.Husen Zailani ( 2010140531 ) 5. M. Muas Willy WS ( 2010140541 ) PROGRAM STUDI TEKNIK INFORMATIKA
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cover

IMPLEMENTASI METODE BERORIENTASI OBJEK

UNTUK MEMBANGUN SISTEM PERPUSTAKAAN

Tugas I

MATA KULIAH PEMROGRAMAN I

Oleh :

1.Baghus Kosa Maulana ( 2010140536 )

2.Fathan Qorib ( 2010140715 )

3.Handoyo Dwi Prakoso ( 2010140359 )

4.Husen Zailani ( 2010140531 )

5. M. Muas Willy WS ( 2010140541 )

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK UNIVERSITAS PAMULANG

Page 2: Cover

Proposal

IMPLEMENTASI METODE BERORIENTASI OBJEK UNTUK MEMBANGUN

SISTEM

1. Latar belakang

Perpustakaan merupakan salah satu tempat untuk peminjaman buku dan pusat

informasi bagi yang membacanya. Perpustakaan ini juga membantu seseorang yang

membutuhkan informasi mengenai bahan skripsi. Perpustakaan memiliki data mengenai

data buku dan data mahasiswa dimana memiliki database yang menjadi informasi data

menjadi informasi yang akurat.

2. Permasalahan

Adapun permasalahan yang di hadapi dari sistem pepustakaan yang masih dijalankan

secara manual adalah sebagai berikut :

1. Penyajian informasi yang memakan waktu lama karena data tidak tersimpan

dengan rapi.

2. Keakuratan data tidak terjamin.

3. Penggunaan kertas yang berlebihan.

4. Kesulitan dalam pembuatan laporan karena data yang tidak rapi.

2.1 Batasan masalah

Untuk lebih jelasnya, akan dijelaskan dibawah ini

1. Proses pengolahan meliputi proses penginputan data buku, data mahasiswa.

2. Proses pendataan buku memisahkan data buku berdasarkan kode dan judul data

tersebut.

Page 3: Cover

3. Proses pendataan mengenai transaksi yang terjadi mengenai data peminjaman

buku dan data pengembalian buku dari mahasiswa.

4. Proses pembuatan laporan mengenai informasi data buku, data mahasiswa, data

penyewaan buku dan data pengembalian buku.

Dari permasalahan diatas, maka dapat disimpulkan bahwa dengan dibuatnya sistem

yang terkomputerisasi dengan baik ini akan membantu suatu sistem data

peminjaman suatu perpustakaan

Page 4: Cover

Perpustakaan Universitas Pamulang

Tabel Buku

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package perpustakaanuniversitas;

import view.FormUtama;

/**

*

* @author Handoyo

*/

public class PerpustakaanUniversitas {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

Page 5: Cover

// TODO code application logic here

new FormUtama().setVisible(true);

}

}

Daftar Buku

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package view;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

/**

*

* @author Handoyo

*/

public class DaftarBuku extends javax.swing.JDialog {

private DefaultTableModel daftarBukuDefaultTableModel;

public static String kodeBukuDiPilih = "";

public static Object[][] listBuku;

/**

* Creates new form DaftarBuku

* @param parent

* @param modal

Page 6: Cover

*/

public DaftarBuku(java.awt.Frame parent, boolean modal) {

super(parent, modal);

initComponents();

daftarBukuDefaultTableModel = (DefaultTableModel) daftarBukuTable.getModel();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();

daftarBukuTable = new javax.swing.JTable();

pilihButton = new javax.swing.JButton();

tutupButton = new javax.swing.JButton();

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowActivated(java.awt.event.WindowEvent evt) {

formWindowActivated(evt);

}

});

Page 7: Cover

daftarBukuTable.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

},

new String [] {

"Kode Buku", "Judul Buku"

}

));

jScrollPane1.setViewportView(daftarBukuTable);

pilihButton.setText("Pilih");

pilihButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

pilihButtonActionPerformed(evt);

}

});

tutupButton.setText("Tutup");

tutupButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

tutupButtonActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

Page 8: Cover

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap(15, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(pilihButton, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(tutupButton, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(pilihButton, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE)

.addComponent(tutupButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap(31, Short.MAX_VALUE))

);

Page 9: Cover

pack();

}// </editor-fold>//GEN-END:initComponents

private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated

// TODO add your handling code here:

if (listBuku.length>0){

daftarBukuDefaultTableModel.setRowCount(0);

for (int i=0; i<listBuku.length; i++){

daftarBukuDefaultTableModel.insertRow( daftarBukuDefaultTableModel.getRowCount(), listBuku[i]);

}

} else {

dispose();

}

}//GEN-LAST:event_formWindowActivated

private void tutupButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tutupButtonActionPerformed

// TODO add your handling code here:

kodeBukuDiPilih="";

dispose();

}//GEN-LAST:event_tutupButtonActionPerformed

private void pilihButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pilihButtonActionPerformed

// TODO add your handling code here:

kodeBukuDiPilih="";

if (daftarBukuTable.getSelectedRowCount()>0){

Page 10: Cover

kodeBukuDiPilih = daftarBukuTable.getValueAt( daftarBukuTable.getSelectedRow(), 0).toString();

dispose();

} else {

JOptionPane.showMessageDialog(null,"Belum ada yang dipilih");

}

}//GEN-LAST:event_pilihButtonActionPerformed

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/*

* Set the Nimbus look and feel

*/

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/*

* If Nimbus (introduced in Java SE 6) is not available, stay with the

* default look and feel. For details see

* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

Page 11: Cover

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(DaftarBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(DaftarBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(DaftarBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(DaftarBuku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

/*

* Create and display the dialog

*/

java.awt.EventQueue.invokeLater(new Runnable() {

@Override

public void run() {

DaftarBuku dialog = new DaftarBuku(new javax.swing.JFrame(), true);

dialog.addWindowListener(new java.awt.event.WindowAdapter() {

@Override

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(0);

Page 12: Cover

}

});

dialog.setVisible(true);

}

});

}

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JTable daftarBukuTable;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JButton pilihButton;

private javax.swing.JButton tutupButton;

// End of variables declaration//GEN-END:variables

}

Daftar Mahasiswa

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package view;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

/**

*

* @author Handoyo

*/

public class DaftarMahasiswa extends javax.swing.JDialog {

Page 13: Cover

private DefaultTableModel daftarMahasiswaDefaultTableModel;

public static String NIMDiPilih = "";

public static Object[][] listMahasiswa;

/**

* Creates new form DaftarMahasiswa

*/

public DaftarMahasiswa(java.awt.Frame parent, boolean modal) {

super(parent, modal);

initComponents();

daftarMahasiswaDefaultTableModel = (DefaultTableModel) daftarMahasiswaTable.getModel();

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents

private void initComponents() {

jScrollPane1 = new javax.swing.JScrollPane();

daftarMahasiswaTable = new javax.swing.JTable();

pilihButton = new javax.swing.JButton();

tutupButton = new javax.swing.JButton();

Page 14: Cover

setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

addWindowListener(new java.awt.event.WindowAdapter() {

public void windowActivated(java.awt.event.WindowEvent evt) {

formWindowActivated(evt);

}

});

daftarMahasiswaTable.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

},

new String [] {

"NIM", "Nama"

}

));

daftarMahasiswaTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);

jScrollPane1.setViewportView(daftarMahasiswaTable);

pilihButton.setText("Pilih");

pilihButton.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

pilihButtonActionPerformed(evt);

}

});

tutupButton.setText("Tutup");

tutupButton.addActionListener(new java.awt.event.ActionListener() {

Page 15: Cover

public void actionPerformed(java.awt.event.ActionEvent evt) {

tutupButtonActionPerformed(evt);

}

});

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap(15, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addComponent(pilihButton, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(tutupButton, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE))

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

Page 16: Cover

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGap(18, 18, 18)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(pilihButton, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE)

.addComponent(tutupButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap(31, Short.MAX_VALUE))

);

pack();

}// </editor-fold>//GEN-END:initComponents

private void formWindowActivated(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowActivated

// TODO add your handling code here:

if (listMahasiswa.length>0){

daftarMahasiswaDefaultTableModel.setRowCount(0);

for (int i=0; i<listMahasiswa.length; i++){

daftarMahasiswaDefaultTableModel.insertRow( daftarMahasiswaDefaultTableModel.getRowCount(),listMahasiswa[i]);

}

} else {

dispose();

}

}//GEN-LAST:event_formWindowActivated

private void tutupButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tutupButtonActionPerformed

Page 17: Cover

// TODO add your handling code here:

NIMDiPilih="";

dispose();

}//GEN-LAST:event_tutupButtonActionPerformed

private void pilihButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_pilihButtonActionPerformed

// TODO add your handling code here:

NIMDiPilih="";

if (daftarMahasiswaTable.getSelectedRowCount()>0){

NIMDiPilih = daftarMahasiswaTable.getValueAt( daftarMahasiswaTable.getSelectedRow(), 0).toString();

dispose();

} else {

JOptionPane.showMessageDialog(null,"Belum ada yang dipilih");

}

}//GEN-LAST:event_pilihButtonActionPerformed

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/*

* Set the Nimbus look and feel

*/

//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">

/*

* If Nimbus (introduced in Java SE 6) is not available, stay with the

Page 18: Cover

* default look and feel. For details see

* http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(DaftarMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(DaftarMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(DaftarMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(DaftarMahasiswa.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//</editor-fold>

/*

* Create and display the dialog

Page 19: Cover

*/

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

DaftarMahasiswa dialog = new DaftarMahasiswa(new javax.swing.JFrame(), true);

dialog.addWindowListener(new java.awt.event.WindowAdapter() {

@Override

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(0);

}

});

dialog.setVisible(true);

}

});

}

// Variables declaration - do not modify//GEN-BEGIN:variables

private javax.swing.JTable daftarMahasiswaTable;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JButton pilihButton;

private javax.swing.JButton tutupButton;

// End of variables declaration//GEN-END:variables

}

Page 20: Cover

Perpustakaan Universitas

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package perpustakaanuniversitas;

import view.FormUtama;

/**

*

* @author Handoyo

*/

public class PerpustakaanUniversitas {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

new FormUtama().setVisible(true);

}

}

FormBuku