Laporan Aplikasi Apotik
-
Upload
didi-andriansyah -
Category
Documents
-
view
475 -
download
2
Transcript of Laporan Aplikasi Apotik
Aplikasi ApotikAplikasi Apotik dengan menggunakan bahasa pemrograman java. Aplikasi ini mempunyai menu utama yaitu :
LoginDalam login terdapat form yang harus diisi dengan username dan password. Username yang kami pakai untuk menjalankan program ini adalah Didi dengan password 1308063, Lyta dengan pasword 1308071, dan Yana dengan pasword 1308080. Nama dan password tersebut sudah terinput dalam database. Ini adalah tampilan form login dari Aplikasi Apotik yang kami buat. Tampilan login di bawah ini adalah tampilan jika tidak berhasil login, maka akan muncul Pesan Login seperti dibawah ini.
Kesalahan seperti ini biasanya username atau password yang dimasukkan tidak sesuai dengan nama admin yang sudah ter-input didatabase. Jika berhasil login maka akan muncul Pesan Login seperti dibawah ini.
1
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Setelah berhasil login maka akan muncul form menu utama.
Dalam menu utama berisi File, Obat, Penjualan, Distributor dan Help.berikut contoh dan penjelasannya :
FileDalam menu file terdapat form Admin, About, dan Logout. Form Admin
2
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Pada form admin terdapat beberapa tombol,yaitu : Simpan Tombol Simpan berguna untuk menyimpan data yang akan diinput dari aplikasi sehingga dapat tersimpan kedalam database. Di bawah ini adalah script dari tombol simpan:private void simpanActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String user="root"; String pwd=""; String host="localhost"; String db="menulogin"; String urlValue=""; try { Class.forName("com.mysql.jdbc.Driver"); urlValue="jdbc:mysql://"+ host +"/"+ db +"?user="+ user +"&password="+ pwd; Connection conn= DriverManager.getConnection(urlValue); PreparedStatement pStatement=null; String sql ="insert into userapp"+ "(id,Nama,Password)" + "values(?,?,?)"; pStatement = conn.prepareStatement(sql); pStatement.setString(1, txt1.getText()); pStatement.setString(2, txt2.getText()); pStatement.setString(3, txt3.getText()); int intTambah=pStatement.executeUpdate(); if (intTambah > 0) JOptionPane.showMessageDialog(this, "Input data berhasil", "Informasi", JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(this, "Input data gagal !!!", "Error", JOptionPane.INFORMATION_MESSAGE); pStatement.close(); conn.close(); txt1.setText(""); txt2.setText(""); txt3.setText(""); txt1.requestFocus(); tampilTabel(); } catch (ClassNotFoundException e){
3
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
System.out.println("jdbc.Driver tidak ditemukan"); } catch (SQLException e){ System.out.println("Koneksi gagal" + e.toString()); } }
Cari Tombol cari berguna untuk mencari data admin yang kita inginkan. Caranya yaitu dengan mengetik ID admin pada teks Id yang terdapat pada form admin, kemudian klik tombol cari. Di bawah ini adalah script tombol cari pada form admin :private void cariActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String user="root"; String pwd=""; String host="localhost"; String db="menulogin"; String urlValue=""; Connection Lconnection=null; try{ Class.forName("com.mysql.jdbc.Driver"); urlValue="jdbc:mysql://"+ host +"/"+ db +"?user="+ user + "&password="+ pwd; Lconnection=DriverManager.getConnection(urlValue); Statement st= Lconnection.createStatement(); ResultSet rs= st.executeQuery( "Select * from userapp"+ " where id = "+ txt1.getText()); if(rs.next()){ txt2.setText(rs.getString("Nama")); txt3.setText(rs.getString("Password")); } else { JOptionPane.showMessageDialog(this, "Id : Salah","Informasi", JOptionPane.INFORMATION_MESSAGE); txt1.setText(""); txt2.setText(""); txt3.setText(""); txt1.requestFocus(); } } catch(ClassNotFoundException e){
4
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
System.out.println("jdbc.Driver tidak ditemukan"); } catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString()); } }
Edit Tombol edit digunakan untuk mengedit database yang sudah terinput. Untuk menggunakan tombol edit harus mengetikan ID admin yang ingin diedit kemudian klik tombol cari sehingga muncul data admin yang ingin diedit. Setalah muncul data admin tersebut kita langsung dapat mengedit dan klik tombol edit. Di bawah ini adalah script tombol edit :private void editActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String user="root"; String pwd=""; String host="localhost"; String db="menulogin"; String urlValue=""; Connection Lconnection=null; try{ Class.forName("com.mysql.jdbc.Driver"); urlValue="jdbc:mysql://"+ host +"/"+ db +"?user="+ user + "&password="+ pwd; Lconnection=DriverManager.getConnection(urlValue); PreparedStatement pStatement = null; String sql ="update userapp set Nama=?, Password=? where id=?"; pStatement = Lconnection.prepareStatement(sql); pStatement.setString(1, txt2.getText()); pStatement.setString(2, txt3.getText()); pStatement.setString(3, txt1.getText()); int intTambah = pStatement.executeUpdate(); if(intTambah > 0) JOptionPane.showMessageDialog(this, "Edit Sukses","Informasi", JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(this, "Edit Gagal","Informasi", JOptionPane.INFORMATION_MESSAGE); pStatement.close(); txt1.setText("");
5
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
txt2.setText(""); txt3.setText(""); txt1.requestFocus(); tampilTabel(); } catch(ClassNotFoundException e){ System.out.println("jdbc.Driver tidak ditemukan"); } catch(SQLException e){ System.out.println("Koneksi Gagal"+ e.toString()); } }
Bersih Tombol ini digunakan untuk mengkosongkan data yang masih mucul. Berikut contoh scriptnya :private void bersihActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: txt1.setText(""); txt2.setText(""); txt3.setText(""); txt1.requestFocus(); }
Hapus Tombol ini digunakan untuk menghapus data yang sudah terinput ke dalam database. Berikut contoh scriptnya :private void hapusActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: String user="root"; String pwd=""; String host="localhost"; String db="menulogin"; String urlValue=""; try{ Class.forName("com.mysql.jdbc.Driver"); urlValue ="jdbc:mysql://"+ host +"/"+ db +"?user="+ user +"&password="+ pwd; Connection conn = DriverManager.getConnection(urlValue); PreparedStatement pStatement = null; String sql ="delete from userapp where id=?"; pStatement=conn.prepareStatement(sql);
6
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
pStatement.setString(1, txt1.getText()); int intTambah = pStatement.executeUpdate(); if(intTambah >0) JOptionPane.showMessageDialog(this, "Hapus data sukses", "Informasi", JOptionPane.INFORMATION_MESSAGE); else JOptionPane.showMessageDialog(this, "Hapus data gagal", "Informasi", JOptionPane.INFORMATION_MESSAGE); pStatement.close(); conn.close(); txt1.setText(""); txt2.setText(""); txt3.setText(""); txt1.requestFocus(); tampilTabel(); } catch (ClassNotFoundException e){ System.out.println("jdbc.Driver tidak ditemukan"); } catch (SQLException e){ System.out.println("Koneksi gagal"+ e.toString()); } }
Keluar Tombol ini digunakan untuk keluar dari form admin. Berikut contoh scriptnya :private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: this.dispose(); }
7
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Form About
Form Logout
Dan muncul pesan logout
8
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
ObatDalam menu Obat terdapat form Entry Data, Back Order, dan Informasi. Dibawah ini adalah Form Entry Data: Form Entry Data
Form Back Order
9
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Form Informasi
PenjualanDalam menu Penjualan terdapat form Entry Beli dan Informasi Jual. Dibawah ini adalah Form Entry Beli: Form Entry Beli
10
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Form Informasi Jual
DistributorDalam menu Distributor terdapat form Entry Distributor dan Data Distributor. Dibawah ini adalah Form Entry Distributor:
Form Entry Distributor
Form Data Distributor
11
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Bila ingin keluar dan kita mengklik tanda X pada kanan atas form menu utama maka akan muncul tampilan seperti ini :
Apabila kita tekan Yes maka akan keluar form berikutnya tetapi bila kita tekan No maka akan kembali ke form menu utama. Ini adalah form berikutnya bila kita mengklik Yes pada form diatas :
Setelah meng-klik tombol OK maka tampilan seluruh form akan keluar dan akan muncul form Login. Hal ini kami buat bertujuan untuk memudahkan pengguna agar tidak merasa repot untuk membuka aplikasi kembali.
Data BaseNama Database : menulogin Di dalam database menulogin terdapat beberapa tabel, yaitu : 1. backorder Nama Field kd_obat nama_obat satuan t_border jam tanggal Tipe Data Int Varchar Varchar Varchar Time Date Length 10 20 30 30
12
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
2. distributor Nama Field kd_distributor nama alamat no_telp tgl_input 3. entrydata Nama Field kd_obat nama_obat nama_distributor satuan total jam tanggal 4. pembelian Nama Field kd_kasir nama_kasir nama_obat jml_barang total jam tanggal Tipe Data Varchar Varchar Varchar Varchar Int Time Date Length 10 20 30 10 30 Tipe Data Varchar Varchar Varchar Varchar Int Time Date Length 6 20 30 10 11 Tipe Data Varchar Varchar Varchar Varchar Date Length 10 20 50 30
13
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
5. userapp Nama Field id nama password Tipe Data Int Varchar Varchar Length 20 30 10
Relasi Antar Entitas
Tb_backorderKd_obat Nama_obat Satuan T_border Jam Tanggal
Tb_entrydatakd_obat nama_obat nama_distributor Satuan Total Jam Tanggal
Tb_pembeliankd_kasir nama_kasir nama_obat jml_barang Total Jam Tanggal
14
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Dibawah ini bentuk UML dari Aplikasi Apotik yaitu terdiri dari : Use case diagram
uses
cari data admin uses
uses
uses uses
entry data admin
uses hapus data admin uses
uses
edit data admin
extends view data admin bersih data admin uses entry data obat uses uses
cari data obat uses uses
uses
edit data obat uses view data obat uses uses bersih data obat hapus data obat
admin user uses uses
entry data backorder
uses cari data backorder uses uses
uses
view data backorder edit data backorder uses uses uses
hapus data backorder
uses
entry data distributor uses bersih data backorder cari data distributor uses uses
view data distributor uses uses uses
edit data distributor uses
hapus data distributor
bersih data distributor entry data pembelian uses cari data pembelian uses uses hapus data pembelian
edit data pembelian uses
uses
view data pembelian
uses
bersih data pembelian
15
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Class diagram
Admin --Id : String --Nama : String --Password : String
Distributor -KdDistributor : String -Nama : String -Alamat : String -No_Tlp : Integer -Tgl_input : Date 1
1
End1 1 End2 EntryData -KdObat : String -NamaObat : String -NamaDistributor : String -Satuan : String -Total : Integer -Jam : String -Tanggal : Date 1 Pembelian -KdKasir : String -NamaKasir : String -NamaObat : String -JmlBarang : Integer -Total : Integer -Jam : String -Tanggal : Date
BackOrder -KdObat : String -NamaObat : String -Satuan : String -Tborder : String -Jam : String -Tanggal : Date
16
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6
Sequence diagram
Login
EntryData
BackOrder
Distributor
Pembelian
Admin
-vertifikasi
*
*
Add * * Update Delete
Add * * Update Delete
Add Update * Delete
*
Add Update * * Delete
17
Pemrograman Berbasis Objek/Laporan Aplikasi Apotik/Semester 6