bab iii pembahasan...secara umum sistem persediaan obat pada apotek aghnia melewati proses sebagai...

53
23 BAB III PEMBAHASAN 3.1. Tinjauan Perusahaan Tinjauan perusahaan dilakukan di Apotek Aghnia untuk mendapatkan gambaran tentang proses bisnis yang sedang berjalan, dan mendapatkan informasi lain seperti struktur organisasi dan fungsi serta visi dan misi perusahaan. 3.1.1. Sejarah Perusahaan Apotek Aghnia didirikan pada tahun 2016 oleh Bapak H. Abdul Rohim yang beralamat di Dawuan, Karawang. Apotek Aghnia terbentuk akibat kesadaran masyarakat juga aparat desa dan kecamatan akan pentingnya sarana kesehatan disana. Apotek Aghnia memiliki visi sebagai berikut : 1. Memberikan pelayanan kesehatan yang tepat dan ramah. 2. Memberikan informasi kesehatan kepada masyarakat. 3. Menyediakan obat-obatan yang terjangkau dengan mutu yang terjamin. Sedangkan Misi dari Apotek Aghnia adalah menjadi apotek keluarga yang berorientasi kepada pelanggan dengan mengutamakan pelayanan kefarmasian secara profesional.

Upload: others

Post on 06-Nov-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

23

BAB III

PEMBAHASAN

3.1. Tinjauan Perusahaan

Tinjauan perusahaan dilakukan di Apotek Aghnia untuk mendapatkan

gambaran tentang proses bisnis yang sedang berjalan, dan mendapatkan

informasi lain seperti struktur organisasi dan fungsi serta visi dan misi

perusahaan.

3.1.1. Sejarah Perusahaan

Apotek Aghnia didirikan pada tahun 2016 oleh Bapak H. Abdul

Rohim yang beralamat di Dawuan, Karawang. Apotek Aghnia terbentuk

akibat kesadaran masyarakat juga aparat desa dan kecamatan akan pentingnya

sarana kesehatan disana.

Apotek Aghnia memiliki visi sebagai berikut :

1. Memberikan pelayanan kesehatan yang tepat dan ramah.

2. Memberikan informasi kesehatan kepada masyarakat.

3. Menyediakan obat-obatan yang terjangkau dengan mutu yang terjamin.

Sedangkan Misi dari Apotek Aghnia adalah menjadi apotek keluarga

yang berorientasi kepada pelanggan dengan mengutamakan pelayanan

kefarmasian secara profesional.

Page 2: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

24

3.1.2. Struktur Organisasi

Adapun struktur organisasi Apotek Aghnia adalah sebagai berikut :

Sumber : Apotek Aghnia Karawang

Gambar III.I

Struktur Organisasi Apotek Aghnia

Adapun fungsi dari masing-masing bagan struktur sesuai dengan

uraian tugas-tugasnya adalah sebagai berikut:

1. Pemilik

Tugas pemilik yaitu mengawasi dan bertanggung jawab penuh terhada

segala aktivitas yang terjadi di Apotek Aghnia.

2. Kasir

Bertugas mempersiapkan segala obat yang diperlukan untuk bagian

penjualan. Melayani permintaan dan pembelian obat. Dan menyusun

laporan kepada Pemilik Apotek.

3. Bagian Gudang

Bertugas untuk mengecek persediaan obat yang tersedia di Apotek

Aghnia.

Pemilik Apotek

Bapak H. Abdul Rohim

Kasir

Siti Marlina

Gudang

Mia Amalia

Page 3: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

25

3.2. Tinjauan Kasus

Dalam tinjauan kasus ini, penulis akan menguraikan gambaran prosedur yang

sedang berjalan dari sistem persediaan obat pada Apotek Aghnia.

3.2.1. Proses Bisnis Sistem Berjalan

Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses

sebagai berikut :

1. Proses Pengecekan Obat

Kasir setiap awal minggu membuat daftar permintaan obat untuk

stok penjualan. Bagian gudang kemudian memeriksa stok obat-

obatan dengan melihat buku stok. Apabila stok obat-obatan cukup

maka Bagian gudang memberikan surat obat keluar dari gudang.

Akan tetapi apabila stok obat berkurang atau kosong maka Bagian

gudang akan membuat dokumen surat pesanan dan mengirimkan

langsung kepada supplier.

2. Proses Pengiriman

Setelah proses pemesanan obat yang dimaksud selesai maka

supplier akan mengirimkan obat-obat ke Apotek Aghnia yang

kemudian akan diterima oleh Bagian gudang.

3. Proses Penerimaan Pesanan

Bagian gudang akan menerima obat yang dikirmkan oleh supplier.

Bagian gudang akan melakukan pengecekan obat yang diterima

sesuai dengan faktur pengiriman dari supplier.

Page 4: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

26

4. Proses Pembuatan Laporan

Jika pengecekan telah sesuai maka bagian gudang akan melakukan

pembaruan stok obat dengan mencatat jumlah obat yang masuk.

Page 5: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

27

3.2.2. Activity Diagram Sistem Berjalan

Gambar III.2.

Activity Diagram Sistem Berjalan

Page 6: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

28

3.2.3. Dokumen Masukan

Adapun bentuk-bentuk dokumen yang digunakan oleh Apotek Aghnia

adalah sebagai berikut:

1. Nama Dokumen : Faktur Pengiriman

Fungsi : Untuk mengetahui Daftar Obat yang Dikirim

Sumber : Supplier

Tujuan : Bagian Gudang

Media : Kertas

Frekuensi : Setiap Ada Pengiriman Obat

Bentuk : A2

Page 7: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

29

3.2.4. Dokumen Keluaran

Adapun dokumen-dokumen keluaran yang digunakan di Apotek

Aghnia Farma adalah sebagai berikut:

1. Nama Dokumen : Surat Obat Keluar

Fungsi : Untuk Mengetahui Daftar Obat Yang Keluar

Sumber : Bagian Gudang

Tujuan : Kasir

Media : Kertas

Jumlah : 1 Lembar

Frekuensi : Setiap Kali Obat Keluar Gudang

Bentuk : B1

2. Nama Dokumen : Surat Pemesanan Obat

Fungsi : Untuk Memesan Obat Ke Supplier

Sumber : Bagian Gudang

Tujuan : Supplier

Media : Kertas

Jumlah : 1 Lembar

Page 8: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

30

Frekuensi : Setiap Kali Melakukan Pemesanan Obat

3. Nama Dokumen : Laporan Stok

Fungsi : Untuk Mengetahui Daftar Obat

Sumber : Bagian Gudang

Tujuan : Kasir

Media : Kertas

Jumlah : 1 Lembar

Frekuensi : Setiap Kali Pembaruan Stok

Bentuk : B3

3.2.5. Permasalahan Pokok

Permasalahan yang ada di Apotek Aghnia adalah sebagai berikut:

1. Banyaknya pengeluaran yang tidak sesuai dengan pencatatan

menyebabkan lambatnya pembaruan persediaan obat sehingga

kurang akurat.

2. Dokumen yang disimpan dalam bentuk kertas menyebabkan

dokumen hilang atau rusak.

Page 9: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

31

3. Belum adanya pembagian kerja menyebabkan terlambatnya

penyusunan laporan.

3.2.6. Pemecahan Masalah

Adapun pemecahan masalah dari permasalahan diatas adalah sebagai

berikut:

1. Disarankan untuk menggunakan sistem yang sudah terkomputerisasi

agar pencatatan sesuai dengan stok obat yang tersedia.

2. Selain bentuk dokumen penulis menyarankan untuk menggunakan

media database sebagai tempat penyimpanan agar terhindar dari

resiko hilang ataupun rusak.

3. Diharapkan ada pembagian kerja untuk Admin dan Bagian Gudang

mengingat pentingnya sistem persediaan obat agar laporan yang

dihasilkan lebih akurat.

3.3. Analisa Kebutuhan Software

Dalam menganalisa kebutuhan software penulis membuat gambaran

melalui Analisis Kebutuhan yang akan diuraikan sebagai berikut:

3.3.1. Analisa Kebutuhan

Berikut ini adalah analisa kebutuhan pengguna terhadap sistem

persediaan obat pada Apotek Aghnia:

A. Kebutuhan Bagian Gudang (user)

1. Gudang Login

Page 10: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

32

2 Gudang mengakses menu utama

A. Gudang mengakses menu master

1. Gudang mengelola data obat

2. Gudang mengelola data supplier

B. Gudang mengakses menu transaksi

1. Gudang mengelola transaksi pembelian obat

C.Gudang mengakses menu laporan

3. User Logout

B. Kebutuhan Bagian Kasir

1. Kasir melakukan Login

2. Kasir dapat mengakses menu Utama

A. Gudang mengakses menu master

1. Kasir mengelola data user

2. Kasir mengelola data obat

B. Kasir mengakses menu transaksi

1. Kasir mengelola transaksi penjualan obat

C. Kasir mengakses menu laporan

3. Kasir melakukan Logout

Page 11: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

33

3.3.2. Use Case Diagram

A. User

1. User Login

Gambar III.3

Use Case Diagram Login

Tabel III.1

Deskripsi Use Case Diagram Login

Use Case Narative Login

Tujuan User dapat login kedalam sistem

Deskripsi Sistem ini memungkinkan aktor untuk

mengakses sitem persediaan obat

Page 12: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

34

Skenario Utama

Aktor User

Kondisi Awal Aktor Membuka Aplikasi

Aksi Aktor Reaksi Sistem

1. Aktor memilih Sistem akan menampilkan textbox untuk mengisi kode

tombol Login user dan password

2

. Aktor memilih Sistem akan membatalkan untuk login

tombol Batal

Kondisi Akhir Jika perintah sesuai maka sistem akan masuk

kedalam aplikasi pembelian

2. User Mengakses Menu Utama

Gambar III.4

Use Case Diagram Menu Utama

Page 13: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

35

Tabel III.2

Deskripsi Use Case Diagram Menu Utama

Use Case Narrative Menu Utama

Tujuan User dapat melakukan pengolahan data yang ada di

menu master, menu transaksidan menu laporan.

Deskripsi Sistem ini memungkinkan aktor untuk mengolah

sistem persediaan obat

Skenario Utama

Aktor User

Kondisi Awal Aktor melakukan login dan telah berada di sistem

pembelian

Aksi Aktor Reaksi Sistem

3. Aktor memilih menu

master

3. Aktor memilih tombol

Menu Trasnsaksi

3. Aktor memilih tombol

Menu Laporan

Sistem menampilkan menu master

Sistem menampilkan menu transaksi

Sistem menampilkan menu laporan

Kondisi Akhir Jika perintah sesuai maka sistem akan menampilkan

seuai dengan yang diinginkan.

A. Menu Transaksi Pembelian

Page 14: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

36

Gambar III.5

Use Case Diagram Transaksi Pembelian

Tabel III.3

Deskripsi Use Case Diagram Transaksi Pembelian

Use Case Narrative Menu Master

Tujuan Gudang dapat melakukan pengolahan pembelian

yang ada di menu transaksi

Deskripsi Sistem memungkinkan aktor untuk mengolah

sistem persediaan obat

Skenario Utama

Aktor Gudang

Kondisi Awal Aktor melakukan login dan telah berada disistem

pembelian

Aksi Aktor Reaksi Sistem

Aktor memilih

tombol Transaksi

Sistem menampilkan submenu master :

1. Gudang mengelola data pembelian

Page 15: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

37

Kondisi Akhir Jika perintah sesuai maka sistem akan

menampilkan sesuai yang diinginkan

B. Mengakses Menu Transaksi Penjualan

Gambar III.6

Use Case Diagram Menu Transaksi Penjualan

Tabel III.4

Deskripsi Use Case Diagram Menu Transaksi

Use Case Narrative Menu Transaksi

Tujuan Kasir dapat melakukan pengolahan data yang

ada di menu transaksi

Deskripsi Sistem ini memungkinkan kasir untuk

mengolah sistem persediaan obat

Skenario Utama

Aktor Kasir

Kondisi Awal Aktor telah melakukan login dan berada di

sistem penjualan

Aksi Aktor Reaksi Sistem

Aktor memilih tombol menu transaksi Sistem menampilkan submenu transaksi :

1. User mengelola transaksi pengeluaran obat

Kondisi Akhir Jika perintah sesuai maka sistem akan

menampilkan yang diinginkan

3. User Logout

Page 16: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

38

Gambar III.7

Use Case Diagram Menu Logout

Tabel III.5

Deskripsi Use Case Diagram Menu Logout

Use Casa Narrative Logout

Tujuan User dapat logout atau keluar dari sistem

Deskripsi Sistem ini memungkinkan aktor untuk

keluar dari sitem

Skenario Utama

Aktor User

Kondisi Awal Aktor telah berada di sistem pembelian

Aksi Aktor Reaksi Sistem

1. Aktor memilih tombol

Logout

2. Aktor memilih tombol

batal

Sistem akan menampilkan textbox

peringatan

Sistem akan membatalkan untuk logout

Kondisi Akhir Jika perintah sesuai maka sistem keluar

dan kembali ke menu Login

Page 17: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

39

3.3.3. Activity Diagram

1. User Login

Page 18: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

40

Gambar III.8

Activity Diagram Login

2. Gudang Mengakses Menu Transaksi Pembelian

Page 19: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

41

Gambar III.9

Activity Diagram Menu Transaksi Pembelian

3. User Mengakses Menu Master

Page 20: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

42

Gambar III.10

Activity Diagram Menu Master

Page 21: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

43

4. User Mengakses Menu Transaksi Penjualan

Gambar III.11

Activity Diagram Menu Transaksi

5. User Mengakses Menu Laporan

Page 22: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

44

Gambar III.12

Activity Diagram Menu Laporan

6. User Mengakses Menu Logout

Page 23: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

45

Gambar III.13

Activity Diagram Menu Logout

3.4. Desain

Page 24: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

46

Didalam tahap desain ini penulis menjabarkan tentang Entity Relationship

Digram (ERD), Logical Record Structure (LRS), Logical Record Structure

(LRS), Spesifikasi File, Sequence Diagram, Deployment Diagram dan User

Interface dari sistem yang diusulkan.

3.4.1. Entity Relationship Digram (ERD)

mastersupplier

*kd_sup

nm_sup

email

tlp

memiliki pembelian

Detail_transaksi

almt

Kd_sup

tgl*notrans

total

memiliki

memilikipenjualan*notrans

tgl

nama_cos

alamat_cos

total

memiliki masterobat

jmobat

hgjual

hgbeli

jnobat

nmobat

*kd_obat

1 M

1

1

1

M1 M

Gambar III.14 Entity Relationship Digram (ERD)

3.4.2. Logical Record Structure (LRS)

Page 25: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

47

mastersupplier

PK kd_sup

nm_sup

email

tlp

almt

pembelian

PK notrans

tgl

kd_sup

total

detail_transaksi

notrans

kd_obat

hg

jumlah

subtotal

penjualan

PK notrans

tgl

nama_cos

alamat_cos

total

masterobat

PK kd_obat

nmobat

jnobat

hgbeli

hgjual

jmobat1 M1

1

M1

M

1

Gambar III.15

Logical Record Structure (LRS)

3.4.3. Spesifikasi File

Spesifikasi file merupakan rancangan tabel yang akan digunakan disistem

usulan tsesuai dengan pembahasan diatas.

1. Spesifikasi File Data User

Nama file : Data User

Fungsi : Digunakan untuk mengelola data user

Akronim : user.myd

Tipe file : Master

Media file : Harddisk

Organisasi file : Index sequential

Page 26: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

48

Akses file : Random

Panjang record : 16 Byte

Field key : kodeuser

Software : MySQL

Tabel III.6

Spesifikasi File User

No Elemen Data Akronim Type Panjang Keterangan

1 Kode User kodeuser Varchar 15 Primary key

2 Nama User namauser Varchar 25

3 Password password Varchar 10

4 Level level Varchar 5

2. Spesifikasi File Data Obat

Nama file : Data Obat

Fungsi : Digunankan untuk mengelola data obat

Akronim : masterobat.myd

Tipe file : Master

Media file : Harddisk

Organisasi file : Index sequential

Akses file : Random

Panjang record : 16 Byte

Field key : kodeobat

Software : MySQL

Page 27: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

49

Tabel III.7

Spesifikasi File Obat

No Elemen Data Akronim Type Panjang Keterangan

1 Kode Obat kodeobat Varchar 15 Primary key

2 Nama Obat namaobat Varchar 30

3 Harga Beli hargabeli Int 10

4 hargajual hargajual Int 10

5 Jumlah jumlah Int 7

3. Spesifikasi File Data Supplier

Nama file : Data supplier

Fungsi : Digunakan untuk mengelola data supplier

Akronim : mastersupplier.myd

Tipe file : Master

Media file : Harddisk

Organisasi file : Index sequential

Akses file : Random

Panjang record : 16 Byte

Filed key : kodesupplier

Software : MySQL

Page 28: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

50

Tabel III.8

Spesifikasi File Supplier

No Elemen Data Akronim Type Panjang Keterangan

1 Kode Supplier kodesupplier Varchar 20 Primary key

2 Nama Supplier namasupplier Varchar 25

3 Email email Varchar 20

4 No Supplier nosupplier Varchar 15

5 Alamat alamat Text

4. Spesifikasi File Penerimaan Obat

Nama file : Penerimaan Obat

Fungsi : Digunakan untuk mengelola penerimaan obat

Akronim : penerimaan_obat.myd

Tipe file : Transaksi

Media file : Harddisk

Organisasi file : Index sequential

Akses file : Random

Panjang record : 20 Byte

Field key : kodepenerimaan

Software : MySQL

Page 29: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

51

Tabel III.9

Spesifikasi File Transaksi Penerimaan Obat

No Elemen Data Akronim Type Panjang Keterangan

1 Kod Penerimaan kodepenerimaan Varchar 15 Primarry Key

2 Tanggal tanggal Date

3 Kode User kodeuser Varchar 5

4 Kode upplier kodesupplier Varchar 5 Foreign Key

5 Total total double

5. Spesifikasi File Transaksi Pengeluaran Obat

Nama file : Detail Pengeluaran Obat

Fungsi : Digunakan mengelola detail pengeluaran obat

Akronim : detail_penerimaan.myd

Tipe file : Transaksi

Media file : Harddisk

Organisasi file : Index sequential

Akses file : Random

Panjang record : 42 Byte

Field key : kodepengeluaran

Software : MySQL

Tabel III.17

Spesifikasi File Detail Pengeluaran Obat

No Elemen Data Akronim Type Panjang Keterangan

1 Kode Pengeluaran kodepengeluaran Varchar 15 Primary Key

2 Kode Obat kodeobat Varchar 5 Foreign Key

3 Jumlah jumlah Int 11

Page 30: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

52

4 Subtotal subtotal Int 11

3.4.4. Sequence Diagram

Menu Control Form

Sistem User Penerimaan Penerimaan

Tambah penerimaan() get (form penerimaan)

set (form penerimaan)

get (kodepenerimaan)

get (kodesupplier) get (kodepenerimaan)

get (kodesupplier)

get (kodeobat)

get (nama_barang)

set (form yang telah diisi)

set (form yang telah diisi)

Simpan()

get (simpan)

Proses penyimpanan()

get (simpan)

set (data telah disimpan)

set (data telah disimpan)

Tambah()

get (tambah)

Batal()

get (tambah)

get (batal)

get (batal)

Gambar III.16

Sequence Diagram

Page 31: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

53

3.4.5. Deployment Diagram

Gambar III.17

Deployment Dagram

Page 32: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

54

3.4.6. User Interface

User interface merupakan rancangan antarmuka yang ditampilkan

berdasarkan rancangan usulan yang telah penulis uraikan diatas.

1. LOGIN

Gambar.III.18

Login

2. MENU UTAMA

Gambar.III.19

Menu Utama

Page 33: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

55

3. MASTER USER

Gambar.III.20

Master User

Page 34: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

56

4. MASTER OBAT

Gambar.III.21

Master Obat

Page 35: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

57

5. MASTER SUPPLIER

Gambar.III.22

Master Supplier

Page 36: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

58

6. TRANSAKSI PENERIMAAN BARANG

Gambar.III.23

Transaksi Penerimaan Barang

Page 37: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

59

7. TRANSAKSI PENJUALAN

Gambar.III.24

Transaksi Penjualan

Page 38: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

60

3.5. Implementasi

Implementasi terdiri dari code generation dan pengujian blackbox testing.Hal ini

bertujuan untuk menguji rancangan program dengan skenario pengujian agar sesuai

dengan ahsil yang diharapkan.

3.5.1. Code Generation

package apk_aghnia;

import java.sql.*;

import javax.swing.*;

import javax.swing.table.DefaultTableModel;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.awt.event.KeyEvent;

import java.util.HashMap;

public class Pembelian extends javax.swing.JInternalFrame {

koneksi kon = new koneksi();

private Object[][] Pembelian=null;

private String[] label={"No Transaksi", "Kode Obat","Kode

Suplier","Harga","Jumlah Beli","Total", "Tanggal"};

/**

* Creates new form Pembelian

*/

public Pembelian() {

initComponents();

kon.setKoneksi();

nonaktif();

BacaTabelPembelian();

tstok1.setVisible(false);

tstok2.setVisible(false);

}

public Date date=new Date();

public SimpleDateFormat noformat=new

SimpleDateFormat("yyyy-MM-dd");

private void bersih()

{

n_fkr.setText("");

tkd_splr.setText("");

tgl.setText("");

t_nm.setText("");

Page 39: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

61

t_tlp.setText("");

t_email.setText("");

t_almt.setText("");

t_kdobt.setText("");

t_nmobt.setText("");

t_jns.setText("");

t_hrg.setText("");

t_jml.setText("");

tstok1.setText("");

t_subtot.setText("0");

}

private void nonaktif()

{

b_tmbh.setEnabled(true);

b_simpan.setEnabled(false);

b_batal.setEnabled(false);

tkd_splr.setEnabled(false);

t_nm.setEnabled(false);

t_tlp.setEnabled(false);

t_email.setEnabled(false);

t_almt.setEnabled(false);

t_kdobt.setEnabled(false);

t_nmobt.setEnabled(false);

t_jns.setEnabled(false);

t_hrg.setEnabled(false);

t_jml.setEnabled(false);

t_subtot.setEnabled(false);

jButton1.setEnabled(false);

jButton2.setEnabled(false);

}

private void aktif()

{

b_tmbh.setEnabled(false);

b_simpan.setEnabled(true);

b_batal.setEnabled(true);

jButton1.setEnabled(true);

jButton2.setEnabled(true);

n_fkr.setEnabled(true);

t_kdobt.setEnabled(true);

t_nmobt.setEnabled(true);

t_jns.setEnabled(true);

t_hrg.setEnabled(true);

t_jml.setEnabled(true);

t_subtot.setEnabled(true);

}

void setTanggal() {

tgl.setText(noformat.format(date));

Page 40: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

62

}

private String nomor() {

String urutan = null;

try {

kon.rs = kon.st.executeQuery("Select right (notrans,3)+1

from pembelian as nomor order by notrans desc");

if (kon.rs.next()) {

urutan = kon.rs.getString(1);

while (urutan.length() < 3) {

urutan = "0" + urutan;

}

urutan = "INV-" + noformat.format(date) + urutan;

} else {

urutan = "INV-" + noformat.format(date) + "001";

}

} catch (Exception e) {

JOptionPane.showMessageDialog(null, e);

}

return urutan;

}

private void setTabel() {

int row = tbl_pembelian.getSelectedRow();

n_fkr.setText((String) tbl_pembelian.getValueAt(row, 0));

t_kdobt.setText((String) tbl_pembelian.getValueAt(row, 1));

tkd_splr.setText((String) tbl_pembelian.getValueAt(row, 2));

t_hrg.setText((String) tbl_pembelian.getValueAt(row, 3));

t_jml.setText((String) tbl_pembelian.getValueAt(row, 4));

t_subtot.setText((String) tbl_pembelian.getValueAt(row, 5));

tgl.setText((String) tbl_pembelian.getValueAt(row, 6));

}

private void BacaTabelPembelian() {

try {

String sql = "Select * From pembelian LEFT OUTER JOIN

detail_transaksi on detail_transaksi.notrans=pembelian.notrans";

kon.rs = kon.st.executeQuery(sql);

ResultSetMetaData m = kon.rs.getMetaData();

int kolom = m.getColumnCount();

int baris = 0;

while (kon.rs.next()) {

baris = kon.rs.getRow();

}

Pembelian = new Object[baris][kolom];

int x = 0;

kon.rs.beforeFirst();

while (kon.rs.next()) {

Pembelian[x][0] = kon.rs.getString("pembelian.notrans");

Pembelian[x][1] =

kon.rs.getString("detail_transaksi.kd_obat");

Page 41: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

63

Pembelian[x][2] = kon.rs.getString("pembelian.kd_sup");

Pembelian[x][3] =

kon.rs.getString("detail_transaksi.hg");

Pembelian[x][4] =

kon.rs.getString("detail_transaksi.jumlah");

Pembelian[x][5] = kon.rs.getString("pembelian.total");

Pembelian[x][6] = kon.rs.getString("pembelian.tgl");

x++;

}

tbl_pembelian.setModel(new DefaultTableModel(Pembelian,

label));

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, e);

}

}

private void aksi() {

try {

String sql = "insert into pembelian values('" +

n_fkr.getText() + "','" + tgl.getText() + "','" + tkd_splr.getText() +

"','" + t_subtot.getText() + "')";

kon.st.executeUpdate(sql);

String sql1 = "update masterobat set kd_obat='" +

t_kdobt.getText() + "'," + "nmobat='" + t_nmobt.getText() + "'," +

"jnobat='" + t_jns.getText() + "'," + "jmobat='" + tstok2.getText() +

"' where kd_obat='" + t_kdobt.getText() + "'";

kon.st.executeUpdate(sql1);

String sql2 = "insert into detail_transaksi values('" +

n_fkr.getText() + "','" + t_kdobt.getText() + "','" + t_hrg.getText() +

"','" + t_jml.getText() + "','" + t_subtot.getText() + "')";

kon.st.executeUpdate(sql2);

JOptionPane.showMessageDialog(null, "Data Pembelian

berhasil disimpan & Data Obat telah terupdate");

bersih();

BacaTabelPembelian();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, e);

}

}

private void HapusData() {

try {

String sql = "Delete from pembelian where notrans='" +

n_fkr.getText() + "'";

kon.st.executeUpdate(sql);

String sql1 = "Delete from detail_transaksi where notrans='"

+ n_fkr.getText() + "'";

kon.st.executeUpdate(sql1);

Page 42: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

64

JOptionPane.showMessageDialog(null, "Data Berhasil

Dihapus");

bersih();

BacaTabelPembelian();

} catch (SQLException e) {

JOptionPane.showMessageDialog(null, e);

}

}

private void tambah() {

int a = Integer.parseInt(tstok1.getText());

int b = Integer.parseInt(t_jml.getText());

int c;

c = a + b;

tstok2.setText(Integer.toString(c));

}

/**

* 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">

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jLabel1 = new javax.swing.JLabel();

n_fkr = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

tgl = new javax.swing.JTextField();

jPanel2 = new javax.swing.JPanel();

jLabel4 = new javax.swing.JLabel();

jPanel3 = new javax.swing.JPanel();

jLabel10 = new javax.swing.JLabel();

t_kdobt = new javax.swing.JTextField();

jLabel11 = new javax.swing.JLabel();

t_nmobt = new javax.swing.JTextField();

jLabel12 = new javax.swing.JLabel();

t_jns = new javax.swing.JTextField();

jLabel13 = new javax.swing.JLabel();

t_hrg = new javax.swing.JTextField();

jLabel14 = new javax.swing.JLabel();

t_jml = new javax.swing.JTextField();

jLabel15 = new javax.swing.JLabel();

t_subtot = new javax.swing.JTextField();

b_tmbh = new javax.swing.JButton();

Page 43: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

65

jButton2 = new javax.swing.JButton();

b_simpan = new javax.swing.JButton();

b_batal = new javax.swing.JButton();

jPanel4 = new javax.swing.JPanel();

jLabel5 = new javax.swing.JLabel();

tkd_splr = new javax.swing.JTextField();

t_nm = new javax.swing.JTextField();

jLabel6 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

t_tlp = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

t_email = new javax.swing.JTextField();

jLabel9 = new javax.swing.JLabel();

t_almt = new javax.swing.JTextField();

jButton1 = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

tbl_pembelian = new javax.swing.JTable();

tstok1 = new javax.swing.JLabel();

tstok2 = new javax.swing.JLabel();

setBackground(new java.awt.Color(204, 255, 204));

setPreferredSize(new java.awt.Dimension(872, 684));

getContentPane().setLayout(new

org.netbeans.lib.awtextra.AbsoluteLayout());

jPanel1.setBackground(new java.awt.Color(204, 255, 204));

jPanel1.setLayout(new

org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel1.setText("No Faktur :");

jPanel1.add(jLabel1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(10, 14, 79, -1));

n_fkr.setEditable(false);

jPanel1.add(n_fkr, new

org.netbeans.lib.awtextra.AbsoluteConstraints(93, 11, 115, -1));

jLabel2.setText("Tanggal :");

jPanel1.add(jLabel2, new

org.netbeans.lib.awtextra.AbsoluteConstraints(226, 14, 53, -1));

tgl.setEditable(false);

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

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

{

tglActionPerformed(evt);

}

});

Page 44: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

66

jPanel1.add(tgl, new

org.netbeans.lib.awtextra.AbsoluteConstraints(283, 11, 109, -1));

getContentPane().add(jPanel1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(0, 40, 856, 40));

jPanel2.setBackground(new java.awt.Color(204, 255, 204));

jPanel2.setLayout(new

org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel4.setFont(new java.awt.Font("Times New Roman", 1,

18)); // NOI18N

jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.CENT

ER);

jLabel4.setText("PEMBELIAN OBAT");

jPanel2.add(jLabel4, new

org.netbeans.lib.awtextra.AbsoluteConstraints(294, 0, 260, -1));

getContentPane().add(jPanel2, new

org.netbeans.lib.awtextra.AbsoluteConstraints(0, 11, 856, -1));

jPanel3.setBackground(new java.awt.Color(204, 255, 204));

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(n

ull, "Data Obat",

javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new

java.awt.Font("Times New Roman", 1, 14))); // NOI18N

jPanel3.setLayout(new

org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel10.setText("Kode Obat");

jPanel3.add(jLabel10, new

org.netbeans.lib.awtextra.AbsoluteConstraints(16, 45, 62, -1));

t_kdobt.setEditable(false);

jPanel3.add(t_kdobt, new

org.netbeans.lib.awtextra.AbsoluteConstraints(96, 37, 101, -1));

jLabel11.setText("Nama");

jPanel3.add(jLabel11, new

org.netbeans.lib.awtextra.AbsoluteConstraints(16, 77, 52, -1));

t_nmobt.setEditable(false);

jPanel3.add(t_nmobt, new

org.netbeans.lib.awtextra.AbsoluteConstraints(96, 74, 150, -1));

Page 45: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

67

jLabel12.setText("Jenis");

jPanel3.add(jLabel12, new

org.netbeans.lib.awtextra.AbsoluteConstraints(16, 115, 44, -1));

t_jns.setEditable(false);

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

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

{

t_jnsActionPerformed(evt);

}

});

jPanel3.add(t_jns, new

org.netbeans.lib.awtextra.AbsoluteConstraints(96, 112, 150, -1));

jLabel13.setText("Harga Beli");

jPanel3.add(jLabel13, new

org.netbeans.lib.awtextra.AbsoluteConstraints(16, 153, 62, -1));

t_hrg.setEditable(false);

jPanel3.add(t_hrg, new

org.netbeans.lib.awtextra.AbsoluteConstraints(96, 150, 150, -1));

jLabel14.setText("Jumlah");

jPanel3.add(jLabel14, new

org.netbeans.lib.awtextra.AbsoluteConstraints(16, 191, 45, -1));

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

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

{

t_jmlActionPerformed(evt);

}

});

jPanel3.add(t_jml, new

org.netbeans.lib.awtextra.AbsoluteConstraints(96, 188, 150, -1));

jLabel15.setText("Total");

jPanel3.add(jLabel15, new

org.netbeans.lib.awtextra.AbsoluteConstraints(12, 220, 70, 20));

t_subtot.setEditable(false);

jPanel3.add(t_subtot, new

org.netbeans.lib.awtextra.AbsoluteConstraints(96, 220, 150, -1));

b_tmbh.setText("Tambah");

b_tmbh.addActionListener(new java.awt.event.ActionListener()

{

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

{

Page 46: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

68

b_tmbhActionPerformed(evt);

}

});

jPanel3.add(b_tmbh, new

org.netbeans.lib.awtextra.AbsoluteConstraints(20, 280, -1, 31));

jButton2.setText("...");

jButton2.addActionListener(new

java.awt.event.ActionListener() {

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

{

jButton2ActionPerformed(evt);

}

});

jPanel3.add(jButton2, new

org.netbeans.lib.awtextra.AbsoluteConstraints(205, 36, 43, -1));

b_simpan.setText("Simpan");

b_simpan.addActionListener(new

java.awt.event.ActionListener() {

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

{

b_simpanActionPerformed(evt);

}

});

jPanel3.add(b_simpan, new

org.netbeans.lib.awtextra.AbsoluteConstraints(100, 280, -1, 31));

b_batal.setText("Batal");

b_batal.addActionListener(new java.awt.event.ActionListener()

{

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

{

b_batalActionPerformed(evt);

}

});

jPanel3.add(b_batal, new

org.netbeans.lib.awtextra.AbsoluteConstraints(170, 280, 66, 31));

getContentPane().add(jPanel3, new

org.netbeans.lib.awtextra.AbsoluteConstraints(0, 290, 260, 350));

jPanel4.setBackground(new java.awt.Color(204, 255, 204));

jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(n

ull, "Data Supplier",

javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,

Page 47: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

69

javax.swing.border.TitledBorder.DEFAULT_POSITION, new

java.awt.Font("Times New Roman", 1, 12))); // NOI18N

jPanel4.setLayout(new

org.netbeans.lib.awtextra.AbsoluteLayout());

jLabel5.setText("Kode Supplier");

jPanel4.add(jLabel5, new

org.netbeans.lib.awtextra.AbsoluteConstraints(27, 42, -1, -1));

tkd_splr.setEditable(false);

jPanel4.add(tkd_splr, new

org.netbeans.lib.awtextra.AbsoluteConstraints(110, 39, 101, -1));

t_nm.setEditable(false);

jPanel4.add(t_nm, new

org.netbeans.lib.awtextra.AbsoluteConstraints(110, 70, 150, -1));

jLabel6.setText("Nama");

jPanel4.add(jLabel6, new

org.netbeans.lib.awtextra.AbsoluteConstraints(30, 70, 45, -1));

jLabel7.setText("Telpon");

jPanel4.add(jLabel7, new

org.netbeans.lib.awtextra.AbsoluteConstraints(30, 100, 37, -1));

t_tlp.setEditable(false);

jPanel4.add(t_tlp, new

org.netbeans.lib.awtextra.AbsoluteConstraints(110, 100, 150, -1));

jLabel8.setText("Email");

jPanel4.add(jLabel8, new

org.netbeans.lib.awtextra.AbsoluteConstraints(314, 42, 45, -1));

t_email.setEditable(false);

jPanel4.add(t_email, new

org.netbeans.lib.awtextra.AbsoluteConstraints(409, 39, 172, -1));

jLabel9.setText("Alamat");

jPanel4.add(jLabel9, new

org.netbeans.lib.awtextra.AbsoluteConstraints(314, 106, 56, -1));

t_almt.setEditable(false);

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

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

{

t_almtActionPerformed(evt);

}

});

Page 48: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

70

jPanel4.add(t_almt, new

org.netbeans.lib.awtextra.AbsoluteConstraints(410, 80, 183, 68));

jButton1.setText("...");

jButton1.addActionListener(new

java.awt.event.ActionListener() {

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

{

jButton1ActionPerformed(evt);

}

});

jPanel4.add(jButton1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(217, 38, 43, -1));

getContentPane().add(jPanel4, new

org.netbeans.lib.awtextra.AbsoluteConstraints(10, 90, 700, 180));

tbl_pembelian.setBackground(new java.awt.Color(204, 255,

204));

tbl_pembelian.setModel(new

javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Title 1", "Title 2", "Title 3", "Title 4"

}

));

tbl_pembelian.addMouseListener(new

java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

tbl_pembelianMouseClicked(evt);

}

});

tbl_pembelian.addKeyListener(new

java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

tbl_pembelianKeyPressed(evt);

}

});

jScrollPane1.setViewportView(tbl_pembelian);

getContentPane().add(jScrollPane1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(270, 310, 574, 330));

Page 49: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

71

getContentPane().add(tstok1, new

org.netbeans.lib.awtextra.AbsoluteConstraints(750, 180, 30, 30));

getContentPane().add(tstok2, new

org.netbeans.lib.awtextra.AbsoluteConstraints(790, 130, 30, 30));

pack();

}// </editor-fold>

private void tglActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

}

private void t_almtActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here:

}

private void t_jnsActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here:

}

private void b_tmbhActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here:

bersih();

aktif();

setTanggal();

n_fkr.setText(nomor());

tstok2.setText("");

}

public String kdo;

public String nmo;

public String jno;

public String hrgo;

public String jmlo;

private void jButton2ActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here:

boolean closeable = true;

DataObat CariData = new DataObat(null, closeable);

CariData.beli = this;

CariData.kode="1";

CariData.setVisible(true);

t_kdobt.setText(kdo);

t_nmobt.setText(nmo);

t_jns.setText(jno);

t_hrg.setText(hrgo);

Page 50: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

72

tstok1.setText(jmlo);

}

public String kds;

public String nms;

public String tel;

public String ema;

public String ala;

private void jButton1ActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here:

boolean closeable = true;

DataSuplier CariData = new DataSuplier(null, closeable);

CariData.beli = this;

CariData.setVisible(true);

tkd_splr.setText(kds);

t_nm.setText(nms);

t_tlp.setText(tel);

t_email.setText(ema);

t_almt.setText(ala);

}

private void

b_simpanActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

tambah();

aksi();

nonaktif();

}

private void b_batalActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here:

bersih();

nonaktif();

}

private void

tbl_pembelianMouseClicked(java.awt.event.MouseEvent evt) {

// TODO add your handling code here:

setTabel();

}

private void tbl_pembelianKeyPressed(java.awt.event.KeyEvent

evt) {

// TODO add your handling code here:

if (evt.getKeyCode() == KeyEvent.VK_BACK_SPACE) {

Page 51: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

73

if (JOptionPane.showConfirmDialog(this, "Yakin Akan

Dihapus?", "konfirmasi", JOptionPane.YES_NO_OPTION) ==

JOptionPane.YES_OPTION) {

HapusData();

nonaktif();

b_tmbh.setEnabled(true);

} else {

JOptionPane.showMessageDialog(this, "Data Batal

Dihapus", "Konfirmasi",

JOptionPane.INFORMATION_MESSAGE);

b_tmbh.setEnabled(true);

nonaktif();

bersih();

return;

}

}

}

private void t_jmlActionPerformed(java.awt.event.ActionEvent

evt) {

// TODO add your handling code here:

int h = Integer.parseInt(t_hrg.getText());

int s = Integer.parseInt(t_jml.getText());

int ttl;

ttl = h * s;

t_subtot.setText(Integer.toString(ttl));

}

// Variables declaration - do not modify

private javax.swing.JButton b_batal;

private javax.swing.JButton b_simpan;

private javax.swing.JButton b_tmbh;

private javax.swing.JButton jButton1;

private javax.swing.JButton jButton2;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel11;

private javax.swing.JLabel jLabel12;

private javax.swing.JLabel jLabel13;

private javax.swing.JLabel jLabel14;

private javax.swing.JLabel jLabel15;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel5;

private javax.swing.JLabel jLabel6;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

Page 52: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

74

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JPanel jPanel3;

private javax.swing.JPanel jPanel4;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JTextField n_fkr;

private javax.swing.JTextField t_almt;

private javax.swing.JTextField t_email;

private javax.swing.JTextField t_hrg;

private javax.swing.JTextField t_jml;

private javax.swing.JTextField t_jns;

private javax.swing.JTextField t_kdobt;

private javax.swing.JTextField t_nm;

private javax.swing.JTextField t_nmobt;

private javax.swing.JTextField t_subtot;

private javax.swing.JTextField t_tlp;

private javax.swing.JTable tbl_pembelian;

private javax.swing.JTextField tgl;

private javax.swing.JTextField tkd_splr;

private javax.swing.JLabel tstok1;

private javax.swing.JLabel tstok2;

// End of variables declaration

}

3.5.2. Blackbox Testing

Tabel III.11

Blackbox Testing

Kelas Uji Skenario Uji Hasil Kesimpulan

Login Benar Masukan Kode User

dan Password Benar

Login

Berhasil

Sesuai

Login Salah Masukan Kode User

dan Password Salah

Login Gagal Sesuai

Logout Memilih Menu

Logout

Keluar Sistem Sesuai

Transaksi

Penerimaan

Obat

Memilih Menu

Transaksi lalu

memilih

Penerimaaan Obat

Kemudian dapat

Menambah,

Menyimpan,

mengubah,

Menghapus dan

Mencetak Laporan

Menampilkan

Form

Transaksi

Penerimaan

Obat dan

dapat

menyimpan,

mengupdate,

menghapus

Sesuai

Page 53: BAB III PEMBAHASAN...Secara umum sistem persediaan obat pada Apotek Aghnia melewati proses sebagai berikut : 1. Proses Pengecekan Obat Kasir setiap awal minggu membuat daftar permintaan

75

3.5.3. Spesifikasi Hardware dan Software

Tabel III.12

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Operasi Windows 8.1 Profesional 64-bit

Processor Intel® Core™ i3-4005U

RAM 1.93 GB

Harddisk 500 GB

Monitor 14” LED

Keyboard 108 key

Mouse USB

Printer Epson LQ310+II Dotmatrix

Bahasa Pemrograman : Java

Software Aplikasi Pendukung : NetBeans IDE 8.1

DBMS : MySQL

Transaksi

Pengeluaran

Obat

Memilih Menu

Transaksi

lalu memilih

Pengeluaran

Obat Kemudian

dapat

Menambah,

Menyimpan,

mengubah,

Menghapus dan

Mencetak Laporan

Menampilkan

Form

Transaksi

Pengeluaran

Obat

dan dapat

menyimpan,

mengupdate,

menghapus

danmencetak

laporan

Sesuai