• Tidak ada hasil yang ditemukan

TUGAS PEMROGRAMAN JAVA P10 SISTEM APLIKASI TOKO BUKU

N/A
N/A
Protected

Academic year: 2021

Membagikan "TUGAS PEMROGRAMAN JAVA P10 SISTEM APLIKASI TOKO BUKU"

Copied!
26
0
0

Teks penuh

(1)

TUGAS PEMROGRAMAN JAVA P10

SISTEM APLIKASI TOKO BUKU

NAMA : DANY SUKTIAWAN IF.

NIM : 12111074

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEHNIK INFORMATIKA

UNIVERSITAS MERCUBUANA YOGYAKARTA

(2)

2

DAFTAR ISI

COVER ... 1

DAFTAR ISI ... 2

BAB I PENDAHULUAN ... 3

1.1.

Latar Belakang ... 3

1.2.

Alasan Pemilihan Masalah ... 3

BAB II DATABASE ... 5

2.1.

Rancangan Tabel ... 5

2.2.

Relasi Tabel ... 8

BAB III JDBC ... 9

3.1.

Tabel Tbl_buku ... 9

3.2.

Tabel Tbl_kategori ... 19

3.3.

Tabel Tbl_pelanggan ... 19

3.4.

Tabel Tbl_petugas ... 19

3.5.

Tabel Tbl_supplier ... 19

3.6.

Tabel Tbl_pembelian ... 19

3.7.

Tabel Tbl_detail_beli ... 19

3.8.

Tabel Tbl_penjualan ... 19

3.9.

Tabel Tbl_detail_jual ... 19

BAB IV MENU ... 20

4.1.

Menu ... 20

4.2.

Integrasi Menu ... 21

BAB V PENUTUP ... 26

5.1.

Kesimpulan ... 26

5.2.

Kesulitan ... 26

(3)

3

BAB I

PENDAHULUAN

1.1. Latar Belakang

Dalam dunia modern sekarang ini, suatu informasi yang dihasilkan

merupakan sebuah proses dari sebuah data yang diatur dengan baik sehingga

hal ini sangatlah penting dalam pengambilan suatu keputusan. Tanpa adanya

pengolahan data tentunya informasi tidak dapat berjalan dengan maksimal.

Metode pegolahan data juga merupakan salah satu penentu dari mutu data itu

sendiri, karena data yang baik adalah data yang masih sesuai dengan keadaan

sebenarnya atau up to date dan tidak megakibatkan kerancuan data.

Proses pengolahan data pada toko buku ada yang masih bersifat Manual

sehingga pengolahan data masih terdapat beberapa kerancuan dan kurangnya

efisien dalam pengelolaan data. Hal ini dapat dikatakan kurang efektif dan efisien,

dikarenakan sulit untuk mencatat dan menghitung banyaknya jenis buku yang ada,

banyaknya jumlah buku, maupun besarnya jumlah harga. Banyaknya jumlah buku

yang dijual dan tingkat keramaian pembeli dapat mengakibatkan penjual

mengalami kesulitan untuk mengelola dan menghitung transaksi penjualan secara

cepat, tepat, dan efisien.

Dokumen ini merupakan diskripsi dari aplikasi penggajian pegawai yang

menggunakan bahasa pemograman berbasis java, selain itu dokumen ini juga untuk

memenuhi tugas mata kuliah Pemograman Java.

1.2. Alasan Pemilihan Masalah

Alasan Pemilihan judul ini sesuai dengan pembahasan pada bab

pendahuluan diatas, bahwa masih ada toko buku yang menggunakan

(4)

4

operasional secara manual. Selain itu juga dalam proses pembuatan laporan

menjadi lebih mudah dan efesien bagi administrasi. Penulis menggunakan judul

sistem aplikasi toko buku ini dikarenakan juga ruang lingkup analisa data yang tidak

terlalu rumit.

(5)

5

BAB II

DATABASE

2.1. Rancangan Tabel

Berikut ini rancangan database aplikasi toko buku :

1. Table tbl_buku

Field

Type

Comment

*

kode_buku

char(8) NOT NULL

judul_buku

varchar(50) NULL

**

kode_kategori

char(8) NOT NULL

pengarang

varchar(50) NULL

penerbit

varchar(50) NULL

tahun

int(4) NULL

isbn

varchar(25) NULL

harga_beli

float NULL

harga_jual

float NULL

stok

int(10) NULL

2. Table tbl_kategori

Field

Type

Comment

*

kode_kategori

char(8) NOT NULL

nama_kategori

varchar(50) NOT NULL

no_rak

char(8) NOT NULL

(6)

6

3. Table tbl_pelanggan

Field

Type

Comment

*

kode_plg

char(8) NOT NULL

nama_plg

varchar(50) NOT NULL

alamat

text NOT NULL

no_telp

varchar(15) NOT NULL

status_plg

tinyint(4) NOT NULL

4. Table tbl_petugas

Field

Type

Comment

*

kode_ptg

char(8) NOT NULL

nama_ptg

varchar(50) NOT NULL

password_ptg varchar(50) NOT NULL

status_ptg

tinyint(1) NOT NULL

5. Table tbl_supplier

Field

Type

Comment

*

kode_supplier

char(8) NOT NULL

nama_supplier

varchar(50) NOT NULL

alamat_supplier text NOT NULL

no_telp

int(15) NOT NULL

6. Table tbl_pembelian

Field

Type

Comment

*

faktur

char(15) NOT NULL

tanggal

datetime NOT NULL

total

float NOT NULL

**

kode_ptg

char(8) NOT NULL

**

kode_supplier

char(8) NOT NULL

(7)

7

7. Table tbl_detail_beli

Field

Type

Comment

**

faktur

char(15) NOT NULL

**

kode_buku

char(8) NOT NULL

judul_buku

varchar(50) NOT NULL

harga_beli

float NOT NULL

jumlah

int(4) NOT NULL

subtotal

float NOT NULL

8. Table tbl_penjualan

Field

Type

Comment

*

faktur

char(15) NOT NULL

tanggal

datetime NOT NULL

total

int(4) NOT NULL

dibayar

float NOT NULL

kembali

float NOT NULL

**

kode_ptg

char(8) NOT NULL

**

kode_plg

char(8) NOT NULL

9. Table tbl_detail_jual

Field

Type

Comment

**

faktur

char(15) NOT NULL

**

kode_buku

char(8) NOT NULL

nama_buku

varchar(50) NOT NULL

harga_jual

float NOT NULL

jumlah

int(4) NOT NULL

subtotal

float NOT NULL

(8)

8

2.2. Relasi Tabel

(9)

9

BAB III

JDBC

3.1. Tabel Tbl_buku

Input

/* --- * Tugas Java P9

* Author : Dany Suktiawan IF. (12111074) * Universitas Mercubuana Yogyakarta --- */ import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.sql.*; import java.util.regex.Pattern;

class Input_Buku extends JFrame {

JLabel labelKdBuku = new JLabel("Kode Buku"); JTextField textKdBuku = new JTextField(8); JLabel labelJudul = new JLabel("Judul Buku"); JTextField textJudul = new JTextField(100);

JLabel labelKategori = new JLabel("Kode Kategori"); final JComboBox comboKategori = new JComboBox();

JLabel labelPengarang = new JLabel("Pengarang"); JTextField textPengarang = new JTextField(50); JLabel labelPenerbit = new JLabel("Penerbit"); JTextField textPenerbit = new JTextField(50);

JLabel labelThnTerbit = new JLabel("Tahun Terbit"); JTextField textThnTerbit = new JTextField(4);

JLabel labelIsbn = new JLabel("ISBN"); JTextField textIsbn = new JTextField(25);

JLabel labelHrgbeli = new JLabel("Harga Beli"); JTextField textHrgbeli = new JTextField(15); JLabel labelHrgjual = new JLabel("Harga Jual"); JTextField textHrgjual = new JTextField(15); JLabel labelStok = new JLabel("Stok");

JTextField textStok = new JTextField(10);

JButton buttonSAVE = new JButton("SAVE"); JButton buttonEXIT = new JButton("EXIT");

(10)

10

Input_Buku(){

setTitle("Input Data Buku"); setLocation(300,100); setSize(430, 300); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } void GUI() { getContentPane().setLayout(null); getContentPane().add(labelKdBuku); labelKdBuku.setBounds(10,10,90,20); getContentPane().add(textKdBuku); textKdBuku.setBounds(140,10,100,20); getContentPane().add(labelJudul); labelJudul.setBounds(10,30,90,20); getContentPane().add(textJudul); textJudul.setBounds(140,30,250,20); getContentPane().add(labelKategori); labelKategori.setBounds(10,50,90,20); getContentPane().add(comboKategori); comboKategori.setBounds(140,50,250,20); getContentPane().add(labelPengarang); labelPengarang.setBounds(10,70,90,20); getContentPane().add(textPengarang); textPengarang.setBounds(140,70,250,20); getContentPane().add(labelPenerbit); labelPenerbit.setBounds(10,90,90,20); getContentPane().add(textPenerbit); textPenerbit.setBounds(140,90,250,20); getContentPane().add(labelThnTerbit); labelThnTerbit.setBounds(10,110,90,20); getContentPane().add(textThnTerbit); textThnTerbit.setBounds(140,110,100,20); getContentPane().add(labelIsbn); labelIsbn.setBounds(10,130,90,20); getContentPane().add(textIsbn); textIsbn.setBounds(140,130,250,20); getContentPane().add(labelHrgbeli); labelHrgbeli.setBounds(10,150,90,20); getContentPane().add(textHrgbeli); textHrgbeli.setBounds(140,150,100,20); getContentPane().add(labelHrgjual); labelHrgjual.setBounds(10,170,90,20);

(11)

11

getContentPane().add(textHrgjual); textHrgjual.setBounds(140,170,100,20); getContentPane().add(labelStok); labelStok.setBounds(10,190,90,20); getContentPane().add(textStok); textStok.setBounds(140,190,100,20); getContentPane().add(buttonSAVE); buttonSAVE.setBounds(140,230,90,20); getContentPane().add(buttonEXIT); buttonEXIT.setBounds(240,230,80,20); setVisible(true); } void Eksekusi_input() { //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) { System.exit(0); } } }); //button save buttonSAVE.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String kdbuku, judul, kdkategori, pengarang, penerbit, isbn;

String thnterbit, hrgbeli, hrgjual, stok;

kdbuku = textKdBuku.getText(); judul = textJudul.getText();

Pattern pat = Pattern.compile(" - "); String strs[] = pat.split(comboKategori.getSelectedItem().toString()); kdkategori = strs[0]; pengarang = textPengarang.getText(); penerbit = textPenerbit.getText(); thnterbit = textThnTerbit.getText(); isbn = textIsbn.getText(); hrgbeli = textHrgbeli.getText(); hrgjual = textHrgjual.getText(); stok = textStok.getText();

(12)

12

DBConnection open = new DBConnection(); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement();

String sql = "INSERT INTO tbl_buku VALUES ('"+kdbuku+"','"+judul+"','"+kdkategori+"','"+pengarang+"','" +penerbit+"','"+thnterbit+"','"+isbn+"','"+hrgbeli+"','"+hrgj ual+"','"+stok+"');"; int i = stmt.executeUpdate(sql); if(i==1) {

JOptionPane.showMessageDialog(null, "Input Data Buku "+kdbuku+" Berhasil Disimpan");

textKdBuku.setText(""); textJudul.setText(""); textPengarang.setText(""); textPenerbit.setText(""); textThnTerbit.setText(""); textIsbn.setText(""); textHrgbeli.setText(""); textHrgjual.setText(""); textStok.setText(""); comboKategori.setEditable(true); comboKategori.setSelectedItem(""); Get_Kategoribuku call = new Get_Kategoribuku(); call.Get_kodekategori(); comboKategori.setEditable(false); } } catch(Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage() + kdkategori); } } }); }

(13)

13

public static void main(String[] args) { Input_Buku eksekusi = new Input_Buku();

Get_Kategoribuku call = new Get_Kategoribuku(); eksekusi.GUI(); eksekusi.Eksekusi_input(); call.Get_kodekategori(); } }

Search

//button search buttonSEARCH.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { String Search;

String kdbuku, judul, idpenerbit;

DBConnection open = new DBConnection(); Connection mysql = open.getConnection(); try { Search = textKdBuku.getText(); Statement stmt = mysql.createStatement();

String sql = "SELECT * FROM tbl_buku WHERE kode_buku like '"+Search+"'";

ResultSet i = stmt.executeQuery(sql); if(i.next()) { textKdBuku.setText(i.getString(1)); textJudul.setText(i.getString(2)); comboKategori.setEditable(true); comboKategori.setSelectedItem(i.getString(3)); textPengarang.setText(i.getString(4)); textPenerbit.setText(i.getString(5)); textThnTerbit.setText(i.getString(6)); textIsbn.setText(i.getString(7)); textHrgbeli.setText(i.getString(8));

(14)

14

textHrgjual.setText(i.getString(9));

textStok.setText(i.getString(10));

comboKategori.setEditable(false); } else {

JOptionPane.showMessageDialog(null, "Data Buku Tidak Ada"); } } catch(Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } });

Edit

//button update buttonUPDATE.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { String kdbuku, judul, kdkategori, pengarang, penerbit, isbn;

String thnterbit, hrgbeli, hrgjual, stok;

kdbuku = textKdBuku.getText(); judul = textJudul.getText();

Pattern pat = Pattern.compile(" - "); String strs[] = pat.split(comboKategori.getSelectedItem().toString()); kdkategori = strs[0]; pengarang = textPengarang.getText(); penerbit = textPenerbit.getText(); thnterbit = textThnTerbit.getText(); isbn = textIsbn.getText(); hrgbeli = textHrgbeli.getText(); hrgjual = textHrgjual.getText(); stok = textStok.getText(); //update ke database DBConnection open = new DBConnection(); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement(); String sql = ""+

(15)

15

"UPDATE tbl_buku SET judul_buku ='"+judul +"', kode_kategori = '"+kdkategori +"', pengarang = '"+pengarang +"', penerbit = '"+penerbit +"', tahun = '"+thnterbit +"', isbn = '"+isbn +"', harga_beli = '"+hrgbeli +"', harga_jual = '"+hrgjual +"', stok = '"+stok +"' WHERE kode_buku='"+kdbuku+"'"; int i = stmt.executeUpdate(sql); if(i==1) {

JOptionPane.showMessageDialog(null, "Update Data Buku "+kdbuku+" Berhasil Disimpan");

textKdBuku.setText(""); textJudul.setText(""); textPengarang.setText(""); textPenerbit.setText(""); textThnTerbit.setText(""); textIsbn.setText(""); textHrgbeli.setText(""); textHrgjual.setText(""); textStok.setText(""); comboKategori.setEditable(true); comboKategori.setSelectedItem(""); Get_Kategoribuku call = new Get_Kategoribuku(); call.Get_kodekategori(); comboKategori.setEditable(false); } } catch(Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } });

(16)

16

Delete

//button delete

buttonDELETE.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) { String kdbuku, judul, kdkategori, pengarang, penerbit, isbn;

String thnterbit, hrgbeli, hrgjual, stok;

kdbuku = textKdBuku.getText(); judul = textJudul.getText();

Pattern pat = Pattern.compile(" - "); String strs[] = pat.split(comboKategori.getSelectedItem().toString()); kdkategori = strs[0]; pengarang = textPengarang.getText(); penerbit = textPenerbit.getText(); thnterbit = textThnTerbit.getText(); isbn = textIsbn.getText(); hrgbeli = textHrgbeli.getText(); hrgjual = textHrgjual.getText(); stok = textStok.getText(); //delete ke database DBConnection open = new DBConnection(); Connection mysql = open.getConnection(); try { Statement stmt = mysql.createStatement();

String sql = "DELETE FROM tbl_buku "

+" WHERE kode_buku='"+kdbuku+"'";

int i = stmt.executeUpdate(sql); if(i==1) {

JOptionPane.showMessageDialog(null, "Delete Data Buku "+kdbuku+" Berhasil"); textKdBuku.setText(""); textJudul.setText(""); textPengarang.setText(""); textPenerbit.setText(""); textThnTerbit.setText(""); textIsbn.setText(""); textHrgbeli.setText(""); textHrgjual.setText("");

(17)

17

textStok.setText(""); comboKategori.setEditable(true); comboKategori.setSelectedItem(""); Get_Kategoribuku call = new Get_Kategoribuku(); call.Get_kodekategori(); comboKategori.setEditable(false); } } catch(Exception ex) { JOptionPane.showMessageDialog(null, ex.getMessage()); } } });

View

import java.awt.*; import java.sql.*; import javax.swing.*; import javax.swing.table.*;

public class View_Buku extends JPanel {

String[] header = {"Kode Buku", "Judul", "Kategori", "pengarang", "penerbit", "th_terbit", "isbn","hrg_beli", "hrg_jual", "Stok"};

JTable table = new JTable();

JScrollPane scrollTable = new JScrollPane(); private Object[][] dataTable = null;

View_Buku() {

DBConnection open = new DBConnection(); Connection mysql = open.getConnection();

try {

Statement stmt = mysql.createStatement(); String sql = "SELECT * FROM tbl_buku"; ResultSet rs = stmt.executeQuery(sql); ResultSetMetaData meta = rs.getMetaData();

int kolom = meta.getColumnCount(); int baris = 0;

while(rs.next()) {

(18)

18

}

dataTable = new Object[baris][kolom]; int x = 0; rs.beforeFirst(); while(rs.next()) { dataTable[x][0] = rs.getString("kode_buku"); dataTable[x][1] = rs.getString("judul_buku"); dataTable[x][2] = rs.getString("kode_kategori"); dataTable[x][3] = rs.getString("pengarang"); dataTable[x][4] = rs.getString("penerbit"); dataTable[x][5] = rs.getString("tahun"); dataTable[x][6] = rs.getString("isbn"); dataTable[x][7] = rs.getString("harga_beli"); dataTable[x][8] = rs.getString("harga_jual"); dataTable[x][9] = rs.getString("stok"); x++; } scrollTable.setViewportView(table); table.setModel(new DefaultTableModel(dataTable, header)); add(scrollTable, BorderLayout.NORTH); stmt.close(); rs.close(); } catch(Exception ex) { //JOptionPane.showMessageDialog(null, "Tabel Buku Belum ada, silahkan lakukan setup tabel buku terlebih dahulu"); JOptionPane.showMessageDialog(null, ex.getMessage()); } } void GUI() {

JFrame frame = new JFrame("Data Buku");

frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); View_Buku content = new View_Buku();

content.setOpaque(true);

frame.setContentPane(content); frame.pack();

(19)

19

frame.setLocationRelativeTo(null); frame.setVisible(true); } }

3.2. Tabel Tbl_kategori

3.3. Tabel Tbl_pelanggan

3.4. Tabel Tbl_petugas

3.5. Tabel Tbl_supplier

3.6. Tabel Tbl_pembelian

3.7. Tabel Tbl_detail_beli

3.8. Tabel Tbl_penjualan

3.9. Tabel Tbl_detail_jual

(20)

20

BAB IV

MENU

4.1. Menu

(21)

21

4.2. Integrasi Menu

Menu File

(22)

22

Menu Data > Data Buku > Input Data Buku

(23)

23

Menu Data > Data Buku > Update Data Buku

(24)

24

Menu Data > Data Buku > Delete Data Buku

(25)

25

Menu Data > Data Buku > View Data Buku

(26)

26

BAB V

PENUTUP

5.1. Kesimpulan

Dengan menggunakan bahasa pemograman java kita dapat membuat suatu

Aplikasi berbasis desktop dan mampu terkoneksi dengan database.

5.2. Kesulitan

Untuk Kesulitan masih banyak kekurangan dalam penggunaan method

maupun fungsi-fungsi program yang masih jauh dari sempurna, seta koneksi

database maupun menampilkan hasil laporan dari database.

Referensi

Dokumen terkait

Sehingga konsepsi pendidikan Islam fundamental lebih di elaborasi lagi dalam persepektif Islam sehingga menemukan titik temu antara pendidikan Islam yang selama

Bulan November 2013 – Januari 2014 melakukan penelitian Tugas Akhir di Showroom Sepeda Motor Suzuki Sunindo Varia Motor Gemilang yang beralamat di Jl.. Adam

[r]

[r]

Presipitasi adalah istilah umum untuk menyatakan uap air yang mengkondensasi dan jatuh dari atmosfer ke bumi dalam segala bentuknya dalam.. rangkaian siklus hidrologi. Dalam

Koherensi intrinsik antara plot dengan tema yaitu, teks Tattwa Jñàna yang merupakan plot lurus sehingga adanya hubungan sebab akibat di dalam teks Tattwa Jñàna, yaitu

Rencana Pelaksanaan Pembelajaran (RPP) adalah rencana yang menggambarkan prosedur dan pengorganisasian pembelajaran untuk mencapai satu kompetensi dasar yang

Nakazi, Some special bounded homomorphism of uniform algebras and dila- tions , Department of Mathematics, Hokkaido University, Sapporo 060, Japan, preprint, 1992, 1-9.