sistem informasi pembelian, penjualan, dan inventori

215
i SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI BARANG MENGGUNAKAN PENDEKATAN BERORIENTASI OBYEK STUDI KASUS : TOKO IJO SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Jurusan Teknik Informatika Disusun Oleh : YUNIANTO NIM : 055314020 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010

Upload: others

Post on 28-Apr-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

i

SISTEM INFORMASI

PEMBELIAN, PENJUALAN, DAN INVENTORI BARANG

MENGGUNAKAN PENDEKATAN BERORIENTASI OBYEK

STUDI KASUS : TOKO IJO

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat

Memperoleh Gelar Sarjana Teknik

Jurusan Teknik Informatika

Disusun Oleh :

YUNIANTO

NIM : 055314020

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2010

Page 2: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

ii

PURCHASE, SALE, AND INVENTORY OF GOODS

INFORMATION SYSTEM USING OBJECT ORIENTED

APPROACH

CASE STUDY: TOKO IJO

A THESIS

Presented as a Partial Fulfillment of the Requirements

To Obtain Sarjana Teknik Degree

In Informatics Engineering

Disusun Oleh :

YUNIANTO

NIM : 055314020

INFORMATICS ENGINEERING STUDY PROGRAM

INFORMATICS ENGINEERING DEPARTMENT

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2010

Page 3: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

iii

HALAMAN PERSETUJUAN

Page 4: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

iv

HALAMAN PENGESAHAN

Page 5: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

v

PERNYATAAN KEASLIAN KARYA

Page 6: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

vi

ABSTRAK

Toko Ijo adalah toko kelontong yang menjual berbagai macam jenis rokok,

makanan ringan,dan lain-lain. Permasalahan yang terjadi selama ini adalah

penjualan, pembelian dan inventori masih menggunakan kertas untuk menyimpan

data-data tersebut dan nota penjualan masih berupa buku nota, sehingga masih

kesulitan ketika harus mengecek stok barang, untuk mengetahui harga baru barang

jika harga barang tersebut naik/turun dan nota penjualan masih berupa buku nota

sehingga penjual harus menulis barang apa yang dibeli dan menghitungnya

dengan manual/kalkulator sehingga rentan salah menghitung.

Sistem ini dibuat menggunakan Java yang dikoneksikan dengan basis data

berorientasi obyek dan metode pengembangan perangkat lunak berorientasi

obyek. Dalam software atau perangkat lunak terdapat 2 user ( pemilik dan

karyawan ). Pemilik menggunakan username dan password untuk mengakses,

pemilik dapat memasukan, mengupdate, menghapus dan mencari data barang ( id

barang, nama barang, stok barang dan harga barang ), serta melakukan transaksi

pembelian dan semua yang dilakukan karyawan. Karyawan hanya dapat mencari

dan melihat data barang, serta dapat melakukan transaksi penjualan. Dengan

terciptanya sistem informasi ini pencarian data barang jauh lebih mudah, transaksi

penjualan dan pembelian tidak lagi dilakukan secara manual dan keamanan jauh

lebih terjamin.

Perangkat lunak diuji menggunakan metode white box dan black box

testing.

Page 7: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

vii

ABSTRACT

Toko Ijo is a small store that sells various kind of goodies such as

cigarettes, snacks and so on. There are small problems that occur in regard to

keeping track of sold items, items to buy as well as inventory which still use

papers to hold all the data and a note book to keep track of sale records. This

introduces difficulties when it is time to check on stocked items, or to keep track

of item’s new price if the price happens to go up or down. It is also becoming

cumbersome when the store owner has to list all of the stocked items and do a

manual count that is prone to error.

This system uses Java program that is connected to a database and

developed in a object oriented method. The software consists of 2 users (Owner

and employee). The owner user requires username and password to access data

and this user is privileged to insert, update, delete and search item’s data (item’s

id, name, number of stock and item’s price) as well as to perform purchase

transaction and everything that employee user can do. Employee user can only

search, view item’s data and perform purchase transaction. With this system, data

lookups on item can be much easier to do, purchase and sell transactions no longer

need to be done manually and the security is much more guaranteed.

The software is tested using white box and black box testing method.

Page 8: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

viii

Page 9: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

ix

KATA PENGANTAR

Puji syukur ke hadirat Tuhan Yang Maha Esa atas berkat dan kasihnya

sehingga penulis dapat menyelesaikan skripsi ini.

Skripsi ini ditulis untuk memenuhi salah satu syarat dalam memperoleh

gelar Sarjana Teknik, Program Studi Teknik Informatika di Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

Dalam penulisan skripsi ini penulis menyadari banyak pihak yang telah

memberikan sumbangan baik pikiran, waktu, tenaga, bimbingan dan dorongan

kepada penulis sehingga akhirnya skripsi ini dapat selesai. Oleh karena itu pada

kesempatan ini penulis menyampaikan ucapan terimakasih kepada :

1. Sri Hartati Wijono, S.Si., M.Kom. selaku dosen pembimbing I yang telah

memberikan bimbingan, arahan dan petunjuk selama penulisan skripsi.

2. Ridowati Gunawan, S.Kom, M.T. selaku dosen pembimbing II yang telah

memberikan bimbingan, arahan dan petunjuk selama penulisan skripsi.

3. Yosef Agung Cahyanta, S.T., M.T. selaku Dekan Fakultas Sains dan Teknologi.

4. Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku Kepala Program Studi

Teknik Informatika.

5. Eko Hari Parmadi, S.Si., M.Kom dan P.H.Prima Rosa, S.Si, M.Sc selaku

dosen penguji yang telah memberikan masukan, saran dan kritik yang

membangun untuk skripsi ini.

6. Papih Rudy Adi Hermanto / Ting Kwie Kiat (alm), Mamih Rosdiana

Widjaya / Oey Cian Nio (alm), Ko Rosdianto, Ko Martiono, Ko Budiono

Page 10: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

x

dan Keponakanku (Steven Rain Martin), Kakak iparku Henny Octavia,

Nency Aprilia Alen, Om dan Tante Adi Pranoto, Om Chong, Tante Evi,

Tante Hong Liang yang telah banyak memberikan dukungan secara moril

maupun materi kepada penulis selama penyusunan skripsi ini.

7. Seluruh dosen pengajar Jurusan Teknik Informatika pada khususnya, staff

sekretariat fakultas Teknik, BABPSI, BAA dan AUK pada umumnya.

8. Aquino Ricky Sanjaya,S.T. selaku pemilik Toko Ijo.

9. Teman-temanku angkatan 2005 yang telah memberikan semangat kepada

penulis selama penyusunan skripsi ini.

Penulis menyadari bahwa skripsi ini masih banyak kekurangan dan jauh

dari kesempurnaan, sehingga segala kritik dan saran yang bersifat membangun

sangat penulis harapkan demi perbaikan skripsi ini. Akhirnya dengan segala

kekurangan yang ada, penulis berharap agar skripsi ini masih dapat diambil

manfaatnya.

Yogyakarta, 19 September 2010

Penulis

Yunianto

Page 11: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xi

DAFTAR ISI

HALAMAN PERSETUJUAN ......................................................................................... iii

HALAMAN PENGESAHAN ...........................................................................................iv

PERNYATAAN KEASLIAN KARYA ............................................................................. v

ABSTRACT ................................................................................................................... vii

PERNYATAAN PUBLIKASI ....................................................................................... viii

KATA PENGANTAR …………………………………………………………………… ix DAFTAR ISI ....................................................................................................................xi

DAFTAR GAMBAR ...................................................................................................... xiv

DAFTAR TABEL ....................................................................................................... xviii

DAFTAR LAMPIRAN ................................................................................................... xix

BAB I PENDAHULUAN .................................................................................................. 1

1.1 LATAR BELAKANG MASALAH ............................................................................... 1 1.2 RUMUSAN MASALAH ............................................................................................ 2 1.3 BATASAN MASALAH ............................................................................................. 2 1.4 TUJUAN PENELITIAN DAN MANFAAT PENELITIAN .................................................. 3 1.5 METODE PENELITIAN ............................................................................................ 3 1.6 SISTEMATIKA PENULISAN ..................................................................................... 5

BAB II LANDASAN TEORI ............................................................................................ 7

2.1 SISTEM INFORMASI .................................................................................................... 7 2.2 TEKNIK DASAR OOAD (OBJECT-ORIENTED ANALYSIS AND DESIGN) ............................. 7 2.2.1 FAST METODOLOGY ................................................................................................ 8 2.3 OODB .................................................................................................................... 12 2.4 OODBMS PADA DB4O .......................................................................................... 12 2.4.1 TIGA JENIS OBYEK QUERY DALAM DB4O ............................................................... 13

BAB III ANALISIS DAN PERANCANGAN SISTEM ................................................... 21

3.1 PROFILE TOKO IJO ................................................................................................... 21 3.2.1 GAMBARAN UMUM SISTEM YANG ADA ................................................................. 22 3.2.2 ANALISIS SISTEM YANG ADA ................................................................................ 22 3.2.3 PROBLEM STATEMENT ............................................................................................ 26 3.3 PROBLEM ANALYSIS .................................................................................................. 27 3.3.1 CAUSE EFFECT ANALYSIS AND SYSTEM IMPROVEMENT OBJECTIVE ............................. 27 3.4 REQUIREMENT ANALYSIS ........................................................................................... 30 3.4.1 KONTEKS DIAGRAM.............................................................................................. 30

Page 12: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xii

3.4.2 USE CASE ........................................................................................................... 31 3.4.3 USE CASE NARRATIVE ............................................................................................ 32 3.5 LOGICAL DESIGN ..................................................................................................... 49 3.5.1 DIAGRAM AKTIVITAS............................................................................................ 49 3.5.2 DIAGRAM KELAS .................................................................................................. 61 3.5.3 MATRIKS ASOSIASI ............................................................................................... 66 3.5.4 DIAGRAM KELAS .................................................................................................. 68 3.5.3 DIAGRAM SEQUENCE ............................................................................................. 73 DESAIN INTERFACE......................................................................................................... 82

BAB IV IMPLEMENTASI DAN ANALISA HASIL ...................................................... 89

4.1 PENJELASAN ANTAR MUKA SISTEM ..................................................................... 89 4.1.1 ANTAR MUKA MENU LOGIN ................................................................................. 89 4.1.2 ANTAR MUKA MENU UTAMA ............................................................................... 90 4.1.3 ANTAR MUKA MENU BARANG .............................................................................. 91 4.1.4 ANTAR MUKA MENU TAMBAH BARANG ............................................................... 91 4.1.5 ANTAR MUKA MENU UBAH BARANG ................................................................... 92 4.1.6 ANTAR MUKA MENU PENJUALAN ........................................................................ 93 4.1.7 ANTAR MUKA MENU PEMBELIAN ......................................................................... 94 4.1.8 ANTAR MUKA MENU DISTRIBUTOR ....................................................................... 95 4.1.9 ANTAR MUKA MENU TAMBAH DATA DISTRIBUTOR ............................................... 96 4.1.10 ANTAR MUKA MENU UBAH DATA DISTRIBUTOR ................................................. 97 4.1.11 ANTAR MUKA MENU DATA KARYAWAN ............................................................. 97 4.1.12 ANTAR MUKA MENU TAMBAH DATA KARYAWAN ............................................... 98 4.1.13 ANTAR MUKA MENU RETUR PENJUALAN ............................................................. 99 4.1.14 ANTAR MUKA MENU RETUR PEMBELIAN ......................................................... 100 4.1.15 ANTAR MUKA MENU LAPORAN PENJUALAN ..................................................... 101 4.1.16 ANTAR MUKA MENU LAPORAN PEMBELIAN ..................................................... 102 4.1.17 ANTAR MUKA MENU LAPORAN DETAIL PENJUALAN ......................................... 102 4.1.18 ANTAR MUKA MENU LAPORAN DETAIL PEMBELIAN TUNAI ............................... 103 4.1.19 ANTAR MUKA MENU LAPORAN DETAIL PEMBELIAN KREDIT ............................. 104 4.1.20 ANTAR MUKA MENU PEMBAYARAN.................................................................. 104 4.1.21 ANTAR MUKA MENU BAYAR HUTANG .............................................................. 105 4.1.22 ANTAR MUKA MENU PENCARIAN BARANG ....................................................... 106 4.1.23 ANTAR MUKA MENU PENCARIAN DATA DISTRIBUTOR ...................................... 106 4.1.24 ANTAR MUKA MENU HAK AKSES .................................................................... 107 4.1.25 ANTAR MUKA MENU UBAH PASSWORD ADMIN .................................................. 107 4.1.26 ANTAR MUKA MENU UBAH PASSWORD KARYAWAN .......................................... 108 4.1.27 ANTAR MUKA MENU UBAH DATA KARYAWAN ................................................. 108 4.2 PENJELASAN IMPLEMENTASI OODB MENGGUNAKAN DB4O. .............................. 109

Page 13: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xiii

4.3 PENJELASAN KONSEP MVC MENGGUNAKAN JAVA ........................................... 113 4.3.2 CONTROLLER ................................................................................................ 115 4.3.2.1 CONTROLLER PENJUALAN ................................................................................. 115 4.3.2.2 CONTROLLER LAPORAN PEMBELIAN ................................................................ 119 4.3.2 MODEL ............................................................................................................... 123

BAB V PENGUJIAN SISTEM ...................................................................................... 127

5.1 PENGUJIAN WHITE BOX ..................................................................................... 127 5.1.1 PENGUJIAN PROSES LOGIN ................................................................................ 127 5.1.2 PENGUJIAN PROSES PENGUBAHAN PASSWORD .................................................... 128 5.1.3 PENGUJIAN PROSES MENU UTAMA .................................................................... 128 5.1.4 PENGUJIAN PROSES TAMBAH BARANG .......................................................... 128 5.1.5 PENGUJIAN PROSES UBAH DATA BARANG ......................................................... 129 5.1.6 PENGUJIAN PROSES TAMBAH DATA DISTRIBUTOR ............................................. 129 5.1.7 PENGUJIAN PROSES UBAH DATA DISTRIBUTOR. ................................................ 130 5.1.8 PENGUJIAN PROSES SEARCHING DATA DISTRIBUTOR ............................................ 130 5.1.9 PENGUJIAN PROSES TAMBAH DATA KARYAWAN ........................................... 130 5.1.10 PROSES PENGUJIAN UBAH DATA KARYAWAN ................................................ 130 5.1.11 PROSES PENGUJIAN UBAH DATA PASSWORD KARYAWAN ............................... 130 5.1.12 PROSES PENGUJIAN LAPORAN ....................................................................... 131 5.1.13 PROSES PENGUJIAN PENCARIAN DATA BARANG ................................................ 131 5.1.14 PROSES PENGUJIAN DATA TRANSAKSI ........................................................... 131 5.1.15 PROSES PENGUJIAN RETUR ............................................................................ 131 5.1.16 PROSES PENGUJIAN BAYAR HUTANG ............................................................. 132 5.1.17 PROSES PENGUJIAN PEMBELIAN .................................................................... 132 5.1.18 PROSES PENGUJIAN PENJUALAN .................................................................... 132 5.2 PENGUJIAN BLACK BOX ..................................................................................... 133

BAB VI KESIMPULAN DAN SARAN ........................................................................ 171

DAFTAR PUSTAKA .................................................................................................... 172

LAMPIRAN A ............................................................................................................... L1

LAMPIRAN B ................................................................................................................ L7

Page 14: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xiv

DAFTAR GAMBAR

GAMBAR 2.1 ENTITY CLASS BARANG ....................................................................... 15

GAMBAR 3.1 KONTEKS DIAGRAM ........................................................................... 30

GAMBAR 3.3 USE CASE KARYAWAN ........................................................................ 32

GAMBAR 3.4 DIAGRAM AKTIVITAS MENCATAT DATA PENJUALAN(A). ......... 49

GAMBAR 3.5 DIAGRAM AKTIVITAS MENCATAT DATA PENJUALAN(B)........... 50

GAMBAR 3.6 DIAGRAM AKTIVITAS MENCATAT DATA RETUR PENJUALAN. . 51

GAMBAR 3.7 DIAGRAM AKTIVITAS MENGHAPUS DATA PENJUALAN. ............ 52

GAMBAR 3.8 DIAGRAM AKTIVITAS PENCARIAN DATA BARANG. .................... 52

GAMBAR 3.9 DIAGRAM AKTIVITAS PEMESANAN BARANG. .............................. 53

GAMBAR 3.10 DIAGRAM AKTIVITAS MENCATAT DATA RETUR BARANG. ..... 54

GAMBAR 3.11 DIAGRAM AKTIVITAS PENCARIAN DATA PEMBELIAN. ............ 54

GAMBAR 3.12 DIAGRAM AKTIVITAS PENCATATAN DATA PEMBELIAN. ......... 55

GAMBAR 3.13 DIAGRAM AKTIVITAS PENCATATAN DATA DISTRIBUTOR. ..... 55

GAMBAR 3.14 DIAGRAM AKTIVITAS MENGUBAH DATA DISTRIBUTOR. ......... 56

GAMBAR 3.15 DIAGRAM AKTIVITAS MENCARI DATA DISTRIBUTOR. ............. 56

GAMBAR 3.16 DIAGRAM AKTIVITAS MEMBUAT DATA KARYAWAN BARU. . 57

GAMBAR 3.17 DIAGRAM AKTIVITAS MENGUBAH DATA KARYAWAN. .......... 57

GAMBAR 3.18 DIAGRAM AKTIVITAS MENGECEK INVENTORI. ......................... 58

GAMBAR 3.19 DIAGRAM AKTIVITAS MENCATAT DATA INVENTORI BARU. . 58

GAMBAR 3.20 DIAGRAM AKTIVITAS MENGUBAH DATA INVENTORI. ............ 59

GAMBAR 3.21 DIAGRAM AKTIVITAS PENENTUAN HARGA JUAL. .................... 59

GAMBAR 3.22 DIAGRAM AKTIVITAS MENGUBAH PASSWORD ADMIN. ........... 60

GAMBAR 3.23 DIAGRAM AKTIVITAS MENGHAPUS DATA KARYAWAN. ......... 60

GAMBAR 3.24 MATRIKS ASOSIASI (A) ..................................................................... 66

GAMBAR 3.25 MATRIKS ASOSIASI (B) ..................................................................... 67

GAMBAR 3.26 DIAGRAM KELAS ............................................................................... 68

GAMBAR 3.27 IMPLEMENTASI MENU OPERATOR................................................. 69

GAMBAR 3.28 IMPLEMENTASI MENU BARANG. .................................................... 69

Page 15: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xv

GAMBAR 3.29 IMPLEMENTASI MENU KARYAWAN. ............................................. 70

GAMBAR 3.30 IMPLEMENTASI MENU DISTRIBUTOR. .......................................... 70

GAMBAR 3.31 IMPLEMENTASI MENU PENJUALAN. .............................................. 71

GAMBAR 3.32 IMPLEMENTASI MENU PEMBELIAN. .............................................. 71

GAMBAR 3.33 IMPLEMENTASI MENU RETUR BELI ............................................... 72

GAMBAR 3.34 IMPLEMENTASI MENU RETUR JUAL. ............................................. 72

GAMBAR 3.35 DIAGRAM SEQUENCE PENCARIAN DATA BARANG. ................... 73

GAMBAR 3.37 DIAGRAM SEQUENCE PENGINPUTAN DATA INVENTORI BARANG BARU. ........................................................................................................... 74

GAMBAR 3.38 DIAGRAM SEQUENCE PENGUBAHAN DATA INVENTORI BARANG. ....................................................................................................................... 74

GAMBAR 3.39 DIAGRAM SEQUENCE PENJUALAN BARANG. ............................. 75

GAMBAR 3.40 DIAGRAM SEQUENCE RETUR PENJUALAN BARANG. ................. 75

GAMBAR 3.41 DIAGRAM SEQUENCE PEMESANAN/PEMBELIAN BARANG. ...... 75

GAMBAR 3.42 DIAGRAM SEQUENCE DISTRIBUTOR BARU. ................................. 76

GAMBAR 3.43 DIAGRAM SEQUENCE UBAH DATA DISTRIBUTOR. ..................... 76

GAMBAR 3.44 DIAGRAM SEQUENCE PENCARIAN DATA DISTRIBUTOR. .......... 77

GAMBAR 3.45 DIAGRAM SEQUENCE INPUTAN DATA KARYAWAN BARU. ...... 77

GAMBAR 3.46 DIAGRAM SEQUENCE PENGUBAHAN DATA KARYAWAN. ........ 78

GAMBAR 3.47 DIAGRAM SEQUENCE PENCARIAN DATA KARYAWAN. ............ 78

GAMBAR 3.48 DIAGRAM SEQUENCE PENCATATAN DATA RETUR PEMBELIAN. ........................................................................................................................................ 79

GAMBAR 3.49 DIAGRAM SEQUENCE PENCARIAN DATA PEMBELIAN. ............. 79

GAMBAR 3.50 DIAGRAM SEQUENCE VIEW DATA HUTANG ................................ 80

GAMBAR 3.51 DIAGRAM SEQUENCE PEMBAYARAN HUTANG ........................... 80

GAMBAR 3.52 DIAGRAM SEQUENCE PENCARIAN DATA PENJUALAN. ............. 81

GAMBAR 3.53 DIAGRAM SEQUENCE PENGUBAHAN PASSWORD ADMIN. ......... 81

GAMBAR 3.54 DIAGRAM SEQUENCE PENGHAPUSAN DATA KARYAWAN. ...... 81

GAMBAR 3.55 FORM LOGIN........................................................................................ 82

GAMBAR 3.56 FORM MENU UTAMA. ........................................................................ 82

Page 16: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xvi

GAMBAR 3.57 FORM BARANG. .................................................................................. 83

GAMBAR 3.58 FORM TAMBAH BARANG. ................................................................ 83

GAMBAR 3.59 FORM UBAH BARANG. ...................................................................... 84

GAMBAR 3.60 FORM PENJUALAN. ............................................................................ 84

GAMBAR 3.61 FORM PEMBELIAN. ............................................................................ 85

GAMBAR 3.63 FORM TAMBAH KARYAWAN. .......................................................... 85

GAMBAR 3.64 FORM UBAH KARYAWAN. ............................................................... 86

GAMBAR 3.65 FORM PENGUBAHAN PASSWORD. .................................................. 86

GAMBAR 3.66 FORM LAPORAN KEUANGAN. ......................................................... 86

GAMBAR 3.67 FORM DATA TRANSAKSI. ................................................................. 87

GAMBAR 3.68 FORM RETUR BARANG. .................................................................... 87

GAMBAR 3.69 FORM DISTRIBUTOR. ........................................................................ 87

GAMBAR 3.70 FORM TAMBAH DATA DISTRIBUTOR. ........................................... 88

GAMBAR 3.71 FORM UBAH DATA DISTRIBUTOR. ................................................. 88

GAMBAR 3.72 FORM PENCARIAN DATA BARANG DAN DISTRIBUTOR. ........... 88

GAMBAR 4.1 MENU LOGIN ........................................................................................ 89

GAMBAR 4.2 MENU UTAMA. ..................................................................................... 90

GAMBAR 4.3 MENU BARANG .................................................................................... 91

GAMBAR 4.4 MENU TAMBAH BARANG................................................................... 91

GAMBAR 4.5 MENU MENGUBAH DATA BARANG. ............................................... 92

GAMBAR 4.6 MENU PENJUALAN. ............................................................................. 93

GAMBAR 4.7 MENU PEMBELIAN .............................................................................. 94

GAMBAR 4.8 MENU DISTRIBUTOR ........................................................................... 95

GAMBAR 4.10 MENU UBAH DATA DISTRIBUTOR. ................................................ 97

GAMBAR 4.12 MENU TAMBAH DATA KARYAWAN .............................................. 98

GAMBAR 4.13 MENU RETUR PENJUALAN ............................................................... 99

GAMBAR 4.14 MENU RETUR PEMBELIAN ............................................................. 100

GAMBAR 4.17 MENU LAPORAN PENJUALAN ....................................................... 101

GAMBAR 4.16 MENU LAPORAN PEMBELIAN ....................................................... 102

Page 17: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xvii

GAMBAR 4.17 MENU LAPORAN DETAIL PENJUALAN ........................................ 102

GAMBAR 4.18 MENU LAPORAN DETAIL PEMBELIAN TUNAI ........................... 103

GAMBAR 4.21 MENU BAYAR HUTANG .................................................................. 105

GAMBAR 4.22 MENU PENCARIAN BARANG ......................................................... 106

GAMBAR 4.23 MENU PENCARIAN DISTRIBUTOR ................................................ 106

GAMBAR 4.25 MENU UBAH PASSWORD ADMIN. .................................................. 107

GAMBAR 4.27 MENU UBAH DATA KARYAWAN .................................................. 108

Page 18: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xviii

DAFTAR TABEL

TABEL 5.2.1 HASIL PENGUJIAN BLACK BOX PROSES LOGIN ............................. 133

TABEL 5.2.2 HASIL PENGUJIAN BLACK BOX PROSES PENGUBAHAN PASSWORD ................................................................................................................. 134

TABEL 5.2.3 HASIL PENGUJIAN BLACK BOX MENU UTAMA .............................. 135

TABEL 5.2.4 HASIL PENGUJIAN BLACK BOX MENU HAK AKSES. ...................... 139

TABEL 5.2.5 HASIL PENGUJIAN BLACK BOX MENU BARANG. ........................... 142

TABEL 5.2.6 HASIL PENGUJIAN BLACK BOX MENU TAMBAH BARANG. ......... 143

TABEL 5.2.7 HASIL PENGUJIAN BLACK BOX MENU UBAH BARANG. ............... 145

TABEL 5.2.7 HASIL PENGUJIAN BLACK BOX MENU DISTRIBUTOR. .................. 147

TABEL 5.2.7 HASIL PENGUJIAN BLACK BOX MENU TAMBAH DISTRIBUTOR. 149

TABEL 5.2.8 HASIL PENGUJIAN BLACK BOX MENU UBAH DISTRIBUTOR. ...... 150

TABEL 5.2.9 HASIL PENGUJIAN BLACK BOX MENU SEARCHING DISTRIBUTOR. ...................................................................................................................................... 152

TABEL 5.2.10 HASIL PENGUJIAN BLACK BOX MENU KARYAWAN. .................. 153

TABEL 5.2.11 HASIL PENGUJIAN BLACK BOX MENU TAMBAH KARYAWAN. . 154

TABEL 5.2.12 HASIL PENGUJIAN BLACK BOX MENU UBAH KARYAWAN. ....... 156

TABEL 5.2.13 HASIL PENGUJIAN BLACK BOX MENU UBAH PASSWORD KARYAWAN. .............................................................................................................. 157

TABEL 5.2.14 HASIL PENGUJIAN BLACK BOX MENU LAPORAN. ....................... 159

TABEL 5.2.15 HASIL PENGUJIAN BLACK BOX MENU PENCARIAN BARANG. .. 160

TABEL 5.2.16 HASIL PENGUJIAN BLACK BOX MENU DATA TRANSAKSI. ........ 162

TABEL 5.2.17 HASIL PENGUJIAN BLACK BOX PROSES RETUR. .......................... 163

TABEL 5.2.18 HASIL PENGUJIAN BLACK BOX PROSES BAYAR HUTANG. ........ 165

TABEL 5.2.19 HASIL PENGUJIAN BLACK BOX PROSES PEMBAYARAN. ............ 166

TABEL 5.2.20 HASIL PENGUJIAN BLACK BOX PROSES PEMBELIAN.................. 166

TABEL 5.2.21 HASIL PENGUJIAN BLACK BOX PROSES PENJUALAN. ................ 168

Page 19: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

xix

DAFTAR LAMPIRAN

A.1 CONTOH LAPORAN PENJUALAN .................................................................. L1

A.2 CONTOH LAPORAN DETAIL PENJUALAN ................................................... L2

A.3 CONTOH LAPORAN PEMBELIAN................................................................... L3

A.4 CONTOH LAPORAN DETAIL PEMBELIAN TUNAI ....................................... L4

A.5 CONTOH LAPORAN DETAIL PEMBELIAN KREDIT ..................................... L5

A.6 CONTOH CETAK NOTA ................................................................................... L6

B.1 KELAS BARANG ............................................................................................... L7

B.2 KELAS DETAIL RETUR PEMBELIAN ............................................................. L8

B.3 KELAS RETUR PENJUALAN ........................................................................... L9

B.4 KELAS DISTRIBUTOR ...................................................................................... L9

B.5 KELAS HISTORI PEMBELIAN KREDIT ........................................................ L10

B.6 KELAS HISTORI PEMBELIAN TUNAI .......................................................... L10

B.7 KELAS HISTORI PENJUALAN ....................................................................... L11

B.8 KELAS HISTORI RETUR BELI ....................................................................... L11

B.9 KELAS HISTORI RETUR JUAL ...................................................................... L12

B.12 KELAS PEMBAYARAN .................................................................................. L14

B.13 KELAS PEMBELIAN ....................................................................................... L14

B.14 KELAS PEMBELIAN KREDIT ........................................................................ L15

B.15 KELAS PEMBELIAN TUNAI .......................................................................... L16

B.16 KELAS PEMILIK .............................................................................................. L16

B.17 KELAS PENJUALAN ....................................................................................... L16

B.18 KELAS RETUR ................................................................................................. L17

B.19 KELAS TRANSAKSI ........................................................................................ L17

C.1 QUISIONER ...................................................................................................... L18

Page 20: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Toko Ijo adalah toko kelontong yang menjual berbagai macam

jenis rokok, makanan ringan, dan berbagai keperluan sehari-hari. Semakin

banyak pelanggan Toko Ijo, maka Toko Ijo semakin banyak menyediakan

barang kebutuhan pelanggan. Dampak yang terjadi adalah item barang

bertambah banyak. Awalnya pemilik toko dan karyawan hapal dengan

item barang yang ada di Toko Ijo. Perkembangan Toko Ijo yang semakin

pesat, menyebabkan pemilik dan karyawan kesulitan mengingat item

barang yang ada di Toko Ijo, terutama mengenai harga barang yang sering

mengalami perubahan. Tentunya permasalahan ini akan mengurangi

pelayanan kepada konsumen.

Pemilik dan karyawan tidak mengetahui stok barang, sehingga

sering terjadi kekosongan stok. Ketidaktahuan stok barang ini juga

menganggu ketika pemilik akan memesan barang ke distributor. Masalah

yang lain adalah jika ada konsumen yang minta nota, pemilik harus

mencatat nota transaksi penjualan dengan tangan dan perhitungan masih

menggunakan alat bantu hitung (kalkulator). Hal ini mengakibatkan

lamanya proses penulisan dan perhitungan total yang harus dibayar oleh

pembeli.

Page 21: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

2

Untuk menjamin kepuasan pembeli, pemilik toko mempunyai

inisiatif membangun sebuah sistem informasi dengan tujuan mengatasi

masalah-masalah tersebut. Sistem informasi yang akan dibangun

menggunakan metodologi pengembangan perangkat lunak berorientasi

obyek. DBMS yang digunakan adalah open source db4o(www.db4o.com).

Bahasa pemrograman yang digunakan untuk mengembangkan sistem

informasi Toko Ijo adalah Java.

1.2 Rumusan Masalah

Bagaimana membuat sistem informasi pembelian, penjualan, dan

inventori barang dengan pendekatan berorientasi obyek yang dapat:

1. Menangani proses pembelian.

2. Menangani proses penjualan.

3. Mengelola inventori.

1.3 Batasan Masalah

1. Sistem tidak menghitung laba-rugi.

2. Sistem ini tidak menangani sistem informasi akuntansinya.

3. Sistem ini tidak menangani penjualan secara kredit.

4. Program dibuat dengan bahasa pemrograman Java dan database db4o

dan tool Netbeans.

Page 22: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

3

1.4 Tujuan Penelitian dan Manfaat Penelitian

1.4.1. Tujuan Penelitian

- Menerapkan metodologi pengembangan perangkat lunak

berorientasi obyek pada sistem informasi Toko Ijo

menggunakan bahasa pemrograman Java dan DBMS

berorientasi obyek dengan db4o.

- Membuat sistem informasi yang dapat menangani proses

pembelian, penjualan dan dapat mengelola inventori.

1.4.2 Manfaat Penelitian

Sistem informasi ini dibuat untuk membantu mengatasi

masalah-masalah yang terjadi pada Toko Ijo. Sistem yang lama

masih menggunakan buku dan nota dalam melakukan proses

transaksi. Proses transaksi ditulis dengan tangan sehingga rentan

sekali dengan kesalahan-kesalahan yang dapat menyebabkan

kerugian, baik dipihak Toko Ijo ataupun dipihak pembeli.

1.5 Metode Penelitian

Metode penelitian yang digunakan adalah studi kasus. Adapun

metode pengembangan sistem yang digunakan adalah metodologi

FAST(Whitten. 2004). Langkah – langkah yang dilakukan adalah sebagai

berikut :

Page 23: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

4

I. Scope definition

Fase ini merupakan tahap pertama dalam melakukan

pengembangan suatu sistem. Dalam fase ini dilakukan penentuan batasan-

batasan sistem, serta penyusunan project plan.

II. Problem analysis

Dalam fase ini system analyst melakukan analisis menyeluruh

terhadap permasalahan dari sistem yang akan dikembangkan. Dengan

melakukan analisa, system analyst bisa memiliki pengertian menyeluruh

terhadap permasalahan sistem, penyebab permasalahan tersebut, serta

menentukan apakah permasalahan tersebut dapat diselesaikan.

III. Requirement analysis

Dalam fase ini system analyst melakukan analisa terhadap business

requirement dari sistem, sesuai dengan requirement yang dibutuhkan dan

diinginkan user yang menggunakan sistem tersebut.

IV. Logical design

Dalam fase ini business requirement yang ada diterjemahkan

dalam bentuk diagram yang disebut system model.

V. Decision analysis

Permasalahan yang dihadapi sistem biasanya dapat diselesaikan

dengan berbagai solusi. Dalam fase ini, system analyst bertugas untuk

mencari dan menentukan solusi terbaik yang dapat digunakan untuk

menyelesaikan permasalahan yang dihadapi sistem.

Page 24: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

5

VI. Physical design and integration

Physical design berfokus pada view yang berbasis teknologi dari

sistem yang meliputi : physical database design specification, physical

business process dan software design specification, dan physical user and

system interface specification.

VII. Construction and testing

Fase ini mempunyai dua tujuan yaitu membangun dan menguji

sistem apakah sudah sesuai dengan kebutuhan dan spesifikasi dari desain

fisik. Dan kedua mengimplementasikan interface antara sistem yang baru

dengan sistem yang ada.

VIII. Instalation and delivery

Kegiatan yang ada pada fase ini: instalasi sistem, kuisioner, final

testing. Juga menyiapkan prosedur konversi. Outputnya adalah petunjuk

penggunaan.

1.6 Sistematika Penulisan

Sistematika penulisan skripsi ini adalah sebagai berikut :

BAB I PENDAHULUAN

Dalam bab pembuka ini secara umum dijelaskan beberapa hal,

diantaranya latar belakang masalah, rumusan masalah, batasan

Page 25: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

6

masalah, tujuan penulisan, metode penelitian, serta sistematika

penulisan.

BAB II LANDASAN TEORI

Bab ini mengemukakan teori – teori yang mendukung

mengenai teknologi yang mendasari pembuatan aplikasi ini,

yaitu OOAD, OODB, dan db4o.

BAB III ANALISIS dan PERANCANGAN SISTEM

Bab ini membahas analisa kebutuhan dan perancangan sistem,

mencakup rancangan basis data dan rancangan antar muka

yang akan digunakan.

BAB IV IMPLEMENTASI dan HASIL SISTEM

Bab ini membahas implementasi dalam bentuk program

berdasarkan analisa dan perancangan yang telah dilakukan.

BAB V PENGUJIAN SISTEM

Bab ini berisi pengujian dengan black box dan white box untuk

menguji sistem informasi penjualan, pembelian, dan inventori

dengan melakukan pendekatan berbasis obyek.

BAB VI PENUTUP

Dalam bab ini berisi kesimpulan dan saran dari pengujian,

perancangan, dan implementasi sistem.

Page 26: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

7

BAB II

LANDASAN TEORI

2.1 Sistem Informasi

Sistem informasi adalah suatu sistem di dalam suatu organisasi yang

mempertemukan kebutuhan pengolahan transaksi harian, bersifat manajerial

dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar

tertentu dengan laporan-laporan yang diperlukan (Leitch. 1983).

Untuk metodologi pengembangan database terdiri dari banyaka model,

diantaranya adalah model relasional database, model hierarkis, model

jaringan, obyek oriented database, obyek relasional database, dan lain

sebagainya.

2.2 Teknik Dasar OOAD (Object-Oriented Analysis and Design)

Macam-macam metodologi OOAD:

Architected Rapid Application Development (Architected RAD).

Dynamic Systems Development Methodology (DSDM).

Joint Application Development (JAD).

Information Engineering (IE).

Rapid Application Development (RAD).

Page 27: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

8

Rational Unified Process (RUP).

Structured Analysis and Design.

eXtreme Programming (XP).

Fast Mehtodology.

2.2.1 FAST Metodology

Metode pengembangan sistem yang digunakan adalah metodologi

FAST(Whitten. 2004). Langkah – langkah yang dilakukan adalah sebagai

berikut :

I. Scope definition

Fase ini merupakan tahap pertama dalam melakukan

pengembangan suatu sistem. Dalam fase ini dilakukan penentuan batasan-

batasan sistem, serta penyusunan project plan.

II. Problem analysis

Dalam fase ini system analyst melakukan analisis menyeluruh

terhadap permasalahan dari sistem yang akan dikembangkan. Dengan

melakukan analisa, system analyst bisa memiliki pengertian menyeluruh

terhadap permasalahan sistem, penyebab permasalahan tersebut, serta

menentukan apakah permasalahan tersebut dapat diselesaikan.

Page 28: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

9

III. Requirement analysis

Dalam fase ini system analyst melakukan analisa terhadap business

requirement dari sistem, sesuai dengan requirement yang dibutuhkan dan

diinginkan user yang menggunakan sistem tersebut.

IV. Logical design

Dalam fase ini business requirement yang ada diterjemahkan

dalam bentuk gambar-gambar yang disebut system model.

V. Decision analysis

Permasalahan yang dihadapi sistem biasanya dapat diselesaikan

dengan berbagai solusi. Dalam fase ini, system analyst bertugas untuk

mencari dan menentukan solusi terbaik yang dapat digunakan untuk

menyelesaikan permasalahan yang dihadapi sistem.

VI. Physical design and integration

Physical design berfokus pada view yang berbasis teknologi dari

sistem yang meliputi : Physical database design specification, Physical

business process dan Software design specification, dan Physical user and

System interface specification.

VII. Construction and testing

Fase ini mempunyai dua tujuan yaitu membangun dan menguji

sistem apakah sudah sesuai dengan kebutuhan dan spesifikasi dari fisikal

Page 29: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

10

design. Dan kedua mengimplementasikan interface antara sistem yang

baru dengan sistem yang ada.

VIII. Instalation and delivery

Kegiatan yang ada pada fase ini: instalasi sistem, kuisioner, final

testing. Juga menyiapkan prosedur konversi. Outputnya adalah petunjuk

penggunaan.

Dalam dunia pemodelan, metodologi implementasi obyek

walaupun terikat kaidah-kaidah standar, namun teknik pemilihan obyek

tidak terlepas pada subyektifitas analyst & designer. Beberapa obyek akan

diabaikan dan beberapa obyek menjadi perhatian untuk diimplementasikan

di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu

permasalahan sudah tentu memiliki lebih dari satu solusi. Ada 3 (tiga)

teknik/konsep dasar dalam konsep berorientasi obyek, yaitu pemodulan

(encapsulation), penurunan (inheritance) dan polymorphism.

a. Pemodulan (Encapsulation)

Enkapsulasi memisahkan antara bagian publik (yang bisa dilihat oleh

pihak luar (obyek lain) dan bagian privat (internal object itu sendiri)

dengan tegas fitur ini memberi keleluasaan/independensi untuk bekerja

dengan aspek internal tanpa harus bergantung pada aspek publik/eksternal

berguna untuk menangani berbagai persoalan interoperabilitas.

Contohnya pada dunia nyata, seorang ibu rumah tangga menanak nasi

dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya

Page 30: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

11

dengan menekan tombol. Tanpa harus tahu bagaimana proses itu

sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice

cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian

menanak nasi oleh ibu menjadi sesuatu yang menjadi dasar bagi konsep

information hiding.

b. Penurunan (Inheritance)

Inheritance adalah obyek-obyek memiliki banyak persamaan, namun ada

sedikit perbedaan. Contoh dengan beberapa buah mobil yang mempunyai

kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak

tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini

memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini

dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus

dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi

yang berlaku pada mobil berlaku juga pada minibus.

c. Polymorphism

Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek

mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk

lebih keras dari pada minibus, hal ini juga berlaku pada obyek anak (child)

melakukan metoda yang sama dengan algoritma berbeda dari obyek

induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar

lainnya adalah ruang lingkup / pembatasan. Artinya setiap obyek

mempunyai ruang lingkup kelas, atribut, dan metoda yang dibatasi.

Page 31: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

12

2.3 OODB

Object Oriented Database adalah sebuah sistem database yang

menggabungkan semua konsep penting dari object oriented (Whitten. 2004).

Tujuan OODBMS dikembangkan pada awal 1990 untuk menyediakan

penyimpanan obyek yang persistence. Produk-produk ini belum sukses

secara komersil, karena memerlukan konversi data yang ada menjadi format

OODBMS. Organisasi-organisasi terpaksa melakukan konversi walaupun

mahal. OOP membutuhkan penyimpanan obyek yang persistence. Sehingga

beberapa DBMS tradisional menambah kemampuan produknya agar mampu

menyimpan obyek sebaik penyimpanan data yang relasional. Produk ini

disebut Object-Relational DBMS, misalnya Oracle yang telah

mengembangkan fasilitas-fasilitas untuk pemodelan dan penyimpanan obyek.

Sebuah DBMS harus mendukung untuk penyimpanan obyek yang

persisten, yaitu obyek yang survive setelah adanya user session atau program

aplikasi yang dibuat setelah terjadi terminated. Ini merupakan hal yang

kontras untuk obyek transient yang berakhir saat melakukan invocation dari

program. Persisten objek harus tetap ada sampai tidak ada lagi yang

membutuhkan, pada titik ini maka obyek akan di-delete.

2.4 OODBMS Pada DB4O

db4o adalah OODBMS yang sangat bagus. Hadir dalam dua versi, yaitu

versi komersial dan GPL, serta berjalan di dua platform Java dan .net.

Page 32: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

13

2.4.1 Tiga Jenis Obyek Query dalam db4o

Di dalam OODBMS db4o, terdapat tiga jenis query yang

dipakai untuk melakukan proses retrieving obyek dari database.

Ketiga jenis obyek query itu adalah : Query by example ( atau sering

disingkat QBE), SODA obyek query API, dan Native obyek query.

Ketiga obyek query ini masing-masing dibahas sebagai berikut:

1. Query by Example (QBE)

QBE adalah suatu bentuk query yang disediakan oleh db4o

yang ditunjukan untuk para pemula yang baru melakukan

penyesuaian dengan Db4o. Dengan QBE diharapkan para user

yang masih berstatus sebagai pemula dapat memulai start dengan

cepat untuk menyimpan atau mendapatkan kembali obyek dari

database.

Ketika menggunakan QBE, kita akan membuat suatu

prototype obyek, kemudian kita akan meminta db4o untuk

mengembalikan obyek dari database yang kriterianya bersesuaian

dengan field dari prototype obyek yang kita berikan. Berikut

potongan kode program yang mendemonstrasikan QBE:

try

{

Barang item = new Barang(null, 0);

objectSet hasil = Db.get(item);

}

Page 33: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

14

finally

{

Db.close();

}

QBE biasanya dipakai oleh para pemula yang baru belajar

db4o agar dapat memulai dengan cepat. Namun secara umum

db4o tidak bermaksud membuat QBE untuk dipakai sebagai query

untuk membuat aplikasi software sungguhan. Hal ini disebabkan

oleh karena QBE tidak dirancang untuk melakukan advance

query. Untuk melakukan advance query dalam db4o kita harus

menggunakan native object query atau SODA object query API.

2. SODA Obyek Query API

SODA query API merupakan low level query API di dalam

db4o yang membolehkan kita melakukan akses secara langsung

ke dalam kumpulan obyek. Menurut db4o Corp, proses query

yang dilakukan dengan menggunakan SODA relatif lebih cepat

karena query dilakukan pada tingkat API. Namun demikian,

penulisan obyek query dengan pendekatan SODA dirasakan jauh

lebih bertele-tele karena memanggil fungsi API. SODA query API

sangat berguna untuk mengonstruksi dynamic query pada saat

runtime.

Itulah sebabnya walau bertele-tele, SODA tetap

dipertahankan. SODA juga punya sedikit kekurangan, dimana

SODA banyak menggunakan String untuk mengidentifikasi field.

Page 34: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

15

string tersebut dijadikan sebagai parameter ketika terjadi

pemanggilan fungsi API. Oleh karenanya SODA tidak sempurna

saat dilakukan typesafe. Contohnya :

Gambar 2.1 Entity Class Barang

2.1 Simple Obyek Query dalam SODA API

Semua bentuk query dalam db4o, baik yang simpel maupun

yang kompleks semuanya diciptakan melalui method query()

dari class ObjectContainer. Adapun segala constraint dari

query tersebut dapat kita tambahkan melalui method tersebut.

Dalam db4o, tingkat kompleksitas suatu query ditentukan dari

banyak atau sedikitnya constraint. Semakin banyak

constraint-nya, maka obyek query-nya semakin kompleks.

Sebaliknya semakin sedikit constraint-nya, maka obyek

query-nya semakin simpel. Contoh:

package simplequery1;

import java.io.*;

import com.db4o.*;

import com.db4o.query.*;

import PDM.Barang;

Page 35: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

16

public class Main {

/** Creates a new instance of Main */

public Main()

{

ObjectContainer Db =

Db4o.openFile("Barang3.ODB");

Query ObjectQuery = Db.query();

ObjectQuery.constrain(Barang.class);

ObjectSet Result = ObjectQuery.execute();

ListResult(Result);

Db.close();

}

public static void ListResult(ObjectSet Hasil)

{

System.out.println("Result:

"+Hasil.size());

while (Hasil.hasNext())

{

System.out.println(Hasil.next());

}

}

/**

* @param args the command line arguments

*/

public static void main(String[] args)

Page 36: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

17

{

// TODO code application logic here

Main Q1 = new Main();

}

}

Untuk membuat obyek query dalam SODA API, pertama-

tama import package com.db4o.query.*. Selanjutnya kita

meng-create SODA query yang baru. Kemudian melalui

interface ObjectQuery kita menambahkan constraint yang

diperlukan. Dalam query ini constraint-nya adalah

Barang.class, yang artinya kita meminta API melakukan

proses retrieving obyek-obyek yang berasal dari classifier

Barang. Selanjutnya ObjectQuery dieksekusi dan hasil query-

nya dimasukkan ke dalam ObjectSet collection. Kemudian

obyek-obyek dalam collection di-retrieve dan ditampilkan di

layar.

3. Native Query

Native query adalah obyek query yang utama di dalam

db4o. Saat ini semua platform db4o, baik untuk Java atau dotNet

mendukung native query. Penggunaan native query memberikan

keuntungan sebagai berikut:

Page 37: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

18

Query 100% native, karenanya dapat meningkatkan

produktivitas. Programmer dapat membuat query tanpa harus

memikirkan query language dan API.

Query 100% type-safe, sehingga mendukung proses type

checking, syntax checking dan refactoring.

Query 100% object-oriented. Query harus dapat dijalankan

pada bahasa itu sendiri. Pelanggaran terhadap norma-norma

object-oriented pun dapat dieliminasi.

Query dapat di-prototype, di-test, dan dijalankan pada

collection di memori tanpa database back end.

Optimization. Merupakan komponen baru yang menjadi kunci

dari native query. Kita membuat ekspresi native query dan

database harus dapat mengeksekusinya pada tingkat performa

yang sama dengan string base query yang telah kita bahas

sebelumnya.

Contoh :

import java.io.*;

import com.db4o.*;

import com.db4o.query.*;

import PDM.Barang;

public class Main{

/** Creates a new instance of Main */

public Main(){

Page 38: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

19

ObjectContainer Db =

Db4o.openFile("Barang3.ODB");//untuk membuat database

barang3.odb

ObjectSet Barangku = Db.query(new Predicate() //query

menampilkan data dalam database dengan sebuah kondisi

{

public boolean match(Barang barang)

{

return barang.GetHarga() > 300000.0 &&

barang.GetPabrikasi() == "Olympic";

}

});

ListResult(Barangku);//untuk menampung

data hasil query

Db.close();//menutup koneksi

}

public static void ListResult(ObjectSet Hasil)

{

System.out.println("Result:

"+Hasil.size());

while (Hasil.hasNext())

{

System.out.println(Hasil.next());

}

}

public static void main(String[] args)

{

// TODO code application logic here

Page 39: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

20

Main Noq1 = new Main();

}

}

Page 40: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

21

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Metodologi FAST terdiri atas beberapa tahapan, yaitu:

I. Scope Definition.

II. Problem Analysis.

III. Requirements Analysis.

IV. Logical Design.

V. Decision Analysis.

VI. Physical Design and Integration.

VII. Construction and Testing.

VIII. Installation and Delivery.

3.1 Profile Toko Ijo

Toko Ijo adalah toko Kelontong yang menjual berbagai jenis keperluan

sehari-hari, seperti rokok, makanan ringan, dan lain-lain. Toko ini beralamat

di Jl Am Sangaji 31 Yogyakarta 55233 Telp (0274)582669. Moto Toko Ijo

“kepuasaan belanja anda adalah kebanggaan kami”.

Page 41: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

22

3.2 Scope Definition/ Mendefinisikan Ruang Lingkup

3.2.1 Gambaran Umum Sistem Yang Ada

Ketika konsumen ingin membeli barang di Toko Ijo, pelayan

atau pemilik toko akan menanyakan barang apa yang ingin

dibeli. Kemudian pelayan atau pemilik akan mengambilkan

barang yang diminta oleh konsumen sekaligus memberitahukan

harganya. Jika harga sesuai konsumen tinggal membayarnya.

Untuk penyediaan barang-barang yang ada di Toko Ijo terdiri

dari beberapa cara, yaitu dengan cara memesan terlebih dahulu

kepada sales / agen kemudian barang dikirim kira-kira 2-3 hari

kemudian, agen/sales langsung datang dengan membawa barang

dan menanyakan barang yang dibutuhkan mau ditambah atau

tidak, dan ada orang yang menitipkan barang kepada Toko Ijo.

3.2.2 Analisis Sistem yang Ada

Problem-solving framework PIECES digunakan untuk

mendefinisikan problems, opportunities dan directives yang ada.

Setiap huruf dalam PIECES merepresentasikan sebuah kategori

dalam perumusan masalah yang ada.

Hasil dari analisa PIECES adalah sebagai berikut.

Page 42: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

23

Performance.

Bukti/nota transaksi penjualan dan pembelian masih ditulis

dengan tangan (manual), sehingga jika nota/bukti hilang tidak

terdapat backup.

Daftar harga ditulis dengan tangan (di barangnya langsung dan

dengan daftar harga barang) dan sebagian besar diingat-ingat,

sehingga jika harga naik atau turun sulit untuk mengubahnya.

Ketika harga barang naik atau turun harga harus ditulis ulang,

hal tersebut sungguh membuat pemilik kerepotan, jika jumlah

barang yang berubah harganya banyak.

Ketika pembeli banyak, pelayanan yang dilakukan kurang cepat

karena terbatasnya penjual (misalnya : pembeli ada 10 orang,

sedangkan penjualnya cuma ada 2 orang).

Information.

Dokumen berupa nota/harga barang masih disimpan dengan

kertas, sehingga sulit untuk mencari data barang.

Proses perhitungan harga dilakukan menggunakan alat bantu

hitung (kalkulator), sehingga retan kesalahan perhitungan total

pembelian, jika jumlah yang dibeli banyak.

Tidak terdapat data karyawan, sehingga pemilik kesulitan untuk

mengetahui alamat, nomor telepon, dan lain-lain.

Page 43: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

24

Economics.

Kerugian biasa terjadi karena harga barang turun, karena barang

dibeli waktu harga barang masih mahal, karena tidak adanya

penyimpan data.

Control.

Perubahan harga dilakukan hanya ketika harga naik atau turun,

dengan cara merubah harga barang dengan cara ditulis, ketika

jumlah barang yang diubah banyak, pemilik akan kesulitan

karena tidak adanya satu tempat penyimpanan data.

Penambahan dan pengurangan barang dilakukan menurut selera

konsumen (ketika barang laku terjual, maka stock barang

ditambah dan ketika barang tidak lagi laku, maka barang tidak

lagi dijual atau dikurangi stocknya) untuk barang baru

tergantung banyaknya konsumen yang menanyakan merk barang

baru.

Eficiency.

Perubahan pada penulisan harga barang yang menempel di

barang dilakukan dengan cara merubahnya satu-persatu,

sehingga hal tersebut belum efisien.

Belum efisien karena tidak adanya database sebagai tempat

penyimpanan, semuanya masih dijalankan secara manual.

Page 44: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

25

Services.

Pembeli yang datang pertama mendapatkan pelayanan pertama,

pembeli berikutnya dilayani setelah pembeli pertama selesai.

Ketika banyak pembeli pemilik toko ikut membantu melayani

pembeli.

Untuk mengatasi kejenuhan di toko, ada TV, koran dan radio.

Page 45: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

26

3.2.3 Problem Statement

Pernyataan Masalah

Proyek : Sistem Informasi Penjualan, Pembelian, dan Inventori.

Manager Proyek: -

Dibuat Oleh : Yunianto Update Terakhir Oleh : -

Tanggal Pembuatan: - Tanggal Update Terakhir : -

Pernyataan Singkat Masalah, Kesempatan, atau Perintah

Solusi Diusulkan

1. Sistem lamabelum mampu menangani perubahan harga barang dengan baik.

Dalam sistem baru akan memuat pencarian data harga barang.

2. Pelayanan yang dilakukan masih kurang cepat karena keterbatasan penjual.

Tidak dapat dipercepat dengan sistem.

3. Keinginan adanya informasi untuk mencetak bukti transaksi penjualan yang diberikan ke konsumen.

Dalam sistem baru akan dapat mencetak semua proses transaksi penjualan.

4. Bukti transaksi masih dicatat dengan manual dan belum ada backup-nya.

Dalam sistem yang baru akan mencatat data penjualan yang disimpan dalam database sebagai backup-nya

5. Sistem lama tidak mampu melakukan perhitungan dengan baik.

Sistem yang baru dapat menangani perhitungan data dalam jumlah besar.

6. Sistem lama belum terdapat penyimpanan data karyawan, sehingga menyebabkan pemilik kesulitan mengingat ketika terjadi perubahan data karyawan.

Sistem yang baru akan menyimpan semua data karyawan kedalam database.

7. Sistem lama sulit dalam mengetahui jumlah barang yang laku.

Sistem baru akan memuat laporan penjualan barang untuk mengetahui barang yang laku.

Page 46: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

27

3.3 Problem Analysis

3.3.1 Cause Effect Analysis And System Improvement Objective

MASALAH, KESEMPATAN, TUJUAN, DAN HAMBATAN

PROYEK : MANAGER PROYEK: DICIPTAKAN OLEH: DIPERBAHARUHI OLEH: - TANGGAL DICIPTAKAN: TANGGAL DIPERBAHARUHI: -

ANALISA PENYEBAB DAN AKIBAT

TUJUAN MEMPERBAIKI SISTEM

MASALAH PENYEBAB DAN AKIBAT

TUJUAN SISTEM

BATASAN SISTEM

1. Kesulitan mengingat harga barang

1. Harga barang sering berubah. Akibatnya : sering terjadi kesalahan harga.

2. Pemilik kesulitan mengingat harga barang dengan cepat. Akibatnya : terjadinya antrian panjang.

1. Memberikan pelayanan secara optimal kepada konsumen dalam proses penjualan.

2. Membuat

karyawan dan pemilik toko untuk tidak mengingat-ingat harga barang berulang kali.

1. Semua data harga barang harus sudah dimasukkan.

2. Proses penyimpanan data barang belum dilakukan dengan teratur.

1. Penjual tidak teratur membuat suatu pengarsipan data pembelian, penjualan dan inventori barang Akibatnya :

1.Proses pencarian data lebih cepat

2.Efek

kehilangan data kecil.

.

1. Memerlukan pegawai yang khusus menangani penyimpanan data secara periodik.

2. Memerlukan

parangkat keras

Page 47: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

28

data barang kemungkinan besar akan hilang.

dan perangkat lunak yang mendukung proses penyimpanan data.

3. Penjual salah memberikan harga barang

1. Konsumen mendapat harga barang yang salah. Akibatnya : Konsumen atau pemilik mengalami kerugian.

2. Sering terjadi kesalahan harga. Akibatnya: Konsumen menjadi kecewa dalam pelayanan yang diberikan Toko Ijo.

1. Memberikan informasi harga barang yang akurat.

1. Memerlukan pegawai yang harus mengurus pencatatan perubahan harga.

4. Pemilik kesulitan mengetahui barang yang laku.

1. Ítem barang yang banyak. Akibatnya : stok barang tidak diketahui dengan baik.

2. Tidak ada data barang yang laku terjual. Akibatnya : pemilik kesulitan dalam memesan barang.

1. Memberikan informasi penjualan barang yang laku.

1. Memerlukan pegawai yang khusus mencatat data barang yang dijual

Page 48: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

29

5. Pemilik kesulitan untuk mencatat bukti transaksi yang banyak

1. Ketika konsumen banyak dan konsumen meminta nota. Akibatnya pemilik harus mencatat nota dengan tangan.

1. Memberikan pencetakan nota tanpa harus ditulis dengan tangan.

1. Memerlukan perangkat keras dan perangkat lunak yang mendukung proses pencetakan.

6. Pemilik kesulitan mengingat data karyawan jika terjadi perubahan karena data karyawan tidak dicatat.

1. Data karyawan mengalami perubahan. Akibatnya : pemilik sering lupa data karyawan berubah

1. Memberikan fasilitas untuk menyimpan data karyawan. Agar pemilik tidak perlu mengingat data karyawan.

1. Memerlukan kesadaran pegawai untuk mengubah datanya sendiri (alamat, telpn, dan lain-lain).

Page 49: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

30

3.4 Requirement Analysis

3.4.1 Konteks Diagram

Gambar 3.1 Konteks diagram

Page 50: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

31

3.4.2 Use Case

Pemilik

Penjualan

Pembelian

Mencatat data retur pembelian

Pencarian data

pembelian

Barang

Mengecek inventori barang

Mencatat data barang

baru

Mengubah data inventori

barang

Karyawan

Membuat data karyawan baru

Menghapus data

karyawan

Pemesanan Barang

Mencatat data transaksi penjualan

Mencatat data retur penjualan

Pencarian data

barang

Mencatat data

pembelian

Menghapus data

penjualan

Mengubah data

karyawan

Distributor

Mencatat data distributor

Mengubah data

distributor

Pencarian data

distributor

Penentuan harga jualextends

Pemilik

Mengubah data password

Gambar 3.2 Use Case pemilik

Page 51: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

32

Gambar 3.3 Use Case karyawan

3.4.3 Use Case Narrative

Use Case Name : Mencatat data transaksi penjualan

Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 1

Prioritys :

Source :

Actors : Pemilik, karyawan

Description : Use case ini menggambarkan tentang pemilik/karyawan melakukan proses pencatatan data penjualan barang kepada konsumen (konsumen membeli barang banyak).

Page 52: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

33

Precondition : Barang yang diinginkan konsumen sudah ada di inventori.

Typical Course of Events : (a)

Actor Action System Response

Langkah 1 : konsumen datang membawa catatan barang yang dibutuhkannya untuk kemudian diberikan kepada karyawan / pemilik.

Langkah 2 : setelah barang yang diinginkan ketemu, konsumen datang ke kasir untuk membayar barang tersebut.

Langkah 2 : pemilik melakukan penginputan data barang yang dibeli oleh konsumen.

Langkah 3 : pemilik / karyawan melakukan proses pencatatan data transaksi penjualan ke dalam sistem.

Langkah 4 : confirmasi pencatatan data transaksi penjualan.

Langkah 5 : sistem akan menyediakan fasilitas untuk mencetak data transaksi penjualan yang telah dilakukan.

Alternate Courses : -

Postcondition : Data penjualan sudah tercatat dalam database.

Use Case Name : Mencatat data transaksi penjualan

Use Case Type

Bussiness Requirements : □

System Analysis : □

Use Case ID : 2

Prioritys :

Page 53: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

34

Source : System Design :

Actors : Pemilik, karyawan

Description : Use case ini menggambarkan tentang pemilik/karyawan melakukan proses pencatatan data penjualan barang kepada konsumen ( konsumen membeli barang hanya sedikit).

Precondition : Barang yang diinginkan konsumen sudah ada di inventori.

Typical Course of Events : (b)

Actor Action System Response

Langkah 1 : ketika konsumen banyak, dan ada konsumen datang menanyakan barang yang dicarinya (hanya sedikit barang yang dibeli).

Langkah 2 : pemilik memberikan barang yang dicari.

Langkah 3 : konsumen datang ke kasir untuk membayar barang tersebut.

Langkah 4 : pemilik/karyawan mencatat data yang dibeli dalam kertas.

Langkah 5 : ketika toko sedang sepi, pemilik / karyawan melakukan proses pencatatan data transaksi penjualan ke dalam sistem.

Langkah 4 : confirmasi pencatatan data transaksi penjualan.

Langkah 5 : sistem akan menyediakan fasilitas untuk mencetak data transaksi penjualan yang telah dilakukan.

Alternate Courses : -

Postcondition : Data penjualan sudah tercatat dalam database.

Page 54: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

35

Use Case Name : Mencatat data retur penjualan Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 3

Prioritys :

Source :

Actors : Pemilik, karyawan

Description : Use case ini menggambarkan konsumen yang meretur barang yang dibeli akibat kesalahan yang tidak disenggaja.

Precondition : Konsumen salah menerima barang.

Typical Course of Events :

(a)

Actor Action System Response

Langkah 1 : konsumen datang ke toko untuk meretur barang.

Langkah 2 : pemilik/karyawan melakukan proses pencatatan ke dalam sistem retur penjualan.

Langkah 6 : konsumen menerima barang pengganti.

Langkah 3 : konfirmasi pencatatan data retur penjualan.

Langkah 4 : menampilkan informasi data retur (tanggal retur, kode barang, nama barang, dan lain-lain).

Langkah 5 : sistem akan menyediakan fasilitas untuk mencetak data retur penjualan yang telah dilakukan.

Alternate Courses : -

Postcondition : Data retur penjualan tercatat di database.

Page 55: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

36

Use Case Name : Menghapus data penjualan Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 4

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik melakukan proses penghapusan data penjualan. Karena kesalahan proses transaksi penjualan.

Precondition : Kesalahan data penjualan yang terlajur diproses masih berada dalam database.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik melakukan pencarian data penjualan yang ingin dihapus.

Langkah 3 : pemilik memberi perintah kepada sistem untuk menghapus data penjualan.

Langkah 2 : sistem menampilkan data yang dicari oleh pemilik.

Langkah 4 : sistem menkonfirmasikan perintah yang dilakukan pemilik.

Alternate Courses : -

Postcondition : Data penjualan sudah dihapus dari database.

Use Case Name : Pencarian data Barang Use Case Type

Bussiness Requirements : □

Use Case ID : 5

Prioritys :

Page 56: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

37

Source : System Analysis : □

System Design :

Actors : Pemilik, karyawan

Description : Use case ini menggambarkan tentang konsumen yang menanyakan informasi barang yang akan dibelinya dan pemilik/karyawan melakukan pencarian informasi data penjualan tersebut.

Precondition : Daftar barang yang dicari sudah tercatat di inventori.

Typical Course of Events :

Actor Action System Response

Langkah 1 : konsumen menanyakan barang yang dibutuhkannya berikut harganya.

Langkah 2 : pemilik/karyawan memasukkan kata kunci pencarian barang yang akan dicari.

Langkah 4 : sistem mencari data dalam database.

Langkah 3 : sistem menampilkan informasi data barang yang dicari.

Alternate Courses : -

Postcondition : Konsumen memperoleh informasi barang yang dicari.

Use Case Name : Pemesanan barang Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 6

Prioritys :

Source :

Page 57: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

38

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik melakukan pemesanan barang ke distributor.

Precondition : Barang sudah ada di inventori

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik mengecek stok barang pada sistem.

Langkah 3 : pemilik memasukkan data pemesanan barang.

Langkah 5 : pemilik memberikan data pemesanan yang telah dicetak kepada distributor.

Langkah 2 : sistem menampilkan data stok barang.

Langkah 4 : konfirmasi penyimpanan data pemesanan dan pencetakkan data pesanan.

Alternate Courses : -

Postcondition : -

Use Case Name : Mencatat data retur pembelian Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 7

Prioritys :

Source :

Actors : Pemilik, karyawan

Page 58: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

39

Description : Use case ini menggambarkan tentang pemilik/karyawan yang meretur barang ke suplier. Karena barang rusak/sudah kadarluarsa.

Precondition : Barang diinventori mengalami kerusakan atau kadarluarsa.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik/karyawan memasukkan data barang yang akan diretur ke distributor ke dalam sistem.

Langkah 2 : konfirmasi pencatatan data retur.

Langkah 3 : menampilkan informasi data retur (kode barang, nama barang, dan lain-lain).

Langkah 4 : sistem menyediakan fasilitas untuk mencetak data retur pembelian.

Alternate Courses : -

Postcondition : Data retur pembelian tercatat dalam database.

Use Case Name : Pencarian data pembelian Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 8

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik/karyawan yang mencari data pembelian barang.

Page 59: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

40

Precondition : Barang sudah bertambah di inventori

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik/karyawan memasukkan kata kunci pencarian data pembelian ke dalam sistem.

Langkah 2 : sistem akan menampilkan informasi pencarian data pembelian yang dicari.

Alternate Courses : -

Postcondition : -

Use Case Name : Mencatat data pembelian Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 9

Prioritys :

Source :

Actors : Pemilik, karyawan

Description : Use case ini menggambarkan tentang pemilik/karyawan yang mencatat data pembelian barang dari distributor.

Precondition : Barang datang dari distributor

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik / karyawan mencatat data dan informasi barang yang dibeli dari distributor ke dalam sistem.

Langkah 2 : sistem menampilkan konfirmasi

Page 60: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

41

pencatatan data pembelian.

Alternate Courses : -

Postcondition : Data pembelian disimpan didalam database.

Use Case Name : Mencatat data distributor Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 10

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang mendata semua distributor yang melakukan transaksi pembelian dengan toko.

Precondition : Semua pemasok barang yang ada diinventori.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik memasukkan data distributor kedalam sistem.

Langkah 2 : sistem memberikan konfirmasi penyimpanan data distributor.

Langkah 3 : data distributor baru ditampilkan pada sistem.

Alternate Courses : -

Page 61: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

42

Postcondition : Data distributor tersimpan dalam database.

Use Case Name : Mengubah data distributor Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 11

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang mengubah data suplier karena terdapat informasi distributor yang berubah

Precondition : Distributor datang memberikan informasi perubahan data distributor.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik melakukan pencarian data distributor yang ingin dirubah.

Langkah 3 : pemilik melakukan perubahan data distributor pada sistem.

Langkah 2 : sistem mengecek dalam database dan memberikan informasi data distributor yang dicari.

Langkah 2 : sistem memberikan konfirmasi perubahan data distributor.

Alternate Courses : -

Postcondition : Data distributor telah dirubah.

Use Case Name : Pencarian data distributor Use Case Type

Page 62: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

43

Use Case ID : 12 Bussiness Requirements : □

System Analysis : □

System Design :

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang mencari data distributor untuk kepentingan pemesanan barang.

Precondition : pemilik ingin memesan barang, tapi lupa distributornya.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik memasukkan kata kunci pencarian data distributor.

Langkah 2 : sistem menampilkan informasi data distributor yang dicari.

Alternate Courses : -

Postcondition : -

Use Case Name : Membuat data karyawan baru Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 13

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang membuatkan account kepada karyawan baru agar dapat mengakses sistem.

Precondition : Karyawan baru yang akan mengakses sistem.

Page 63: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

44

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik menginputkan data-data karyawan baru (nama, alamat, username, passwod, dan lain-lain).

Langkah 2 : konfirmasi pencatatan data karyawan.

Langkah 3 : menampilkan informasi data karyawan.

Alternate Courses : -

Postcondition : Data karyawan baru tersimpan dalam database.

Use Case Name : Mengubah data karyawan Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 14

Prioritys :

Source :

Actors : Pemilik, karyawan

Description : Use case ini menggambarkan tentang pemilik yang mengubah data karyawan karena pindah rumah, ganti telepon, password dan lain-lain.

Precondition : Data karyawan lama masih tersimpan dalam database.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik/karyawan menginputkan data karyawan yang ingin diubah.

Langkah 2 : konfirmasi perubahan data karyawan

Page 64: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

45

karyawan.

Langkah 3 : menampilkan informasi perubahan data.

Alternate Courses : -

Postcondition : Data karyawan telah berubah.

Use Case Name : Menghapus data karyawan Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 15

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang menghapus hak akses karyawan karena karyawan yang bersangkutan sudah tidak bekerja lagi di Toko Ijo.

Precondition : Data karyawan yang sudah tidak bekerja masih tersimpan dalam database.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik memilih data karyawan yang ingin dihapus.

Langkah 2 : sistem memberikan konfirmasi penghapusan data karyawan.

Alternate Courses : -

Postcondition : Data karyawan telah terhapus.

Page 65: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

46

Use Case Name : Mengecek data inventori barang

Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 16

Prioritys :

Source :

Actors : Pemilik, karyawan

Description : Use case ini menggambarkan tentang pemilik yang mengecek inventori barang.

Precondition : Pemilik ingin mengetahui informasi inventori barang.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik / karyawan memasukkan kata kunci barang yang akan dicek data inventorinya.

Langkah 2 : sistem menampilkan data inventori yang dicari.

Alternate Courses : -

Postcondition : -

Use Case Name : Mencatat data inventori baru Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 17

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang mencatat data barang baru ke dalam inventori.

Page 66: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

47

Precondition : Pemilik ingin mencatat data inventori baru.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik mencatat data dan informasi barang baru pada inventori.

Langkah 2 : konfirmasi pencatatan data inventori.

Langkah 3 : sistem menampilkan informasi data inventori baru.

Alternate Courses : -

Postcondition : Inventori barang bertambah.

Use Case Name : Mengubah data inventori barang

Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 19

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang mengubah data inventori barang .

Precondition : Pemilik ingin mengubah data inventori.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik memasukan kata kunci pencarian data inventori yang ingin diubah.

Langkah 2 : sistem menampilkan data yang dicari.

Page 67: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

48

Langkah 3 : pemilik mengubah data dan informasi inventori barang.

Langkah 4 : konfirmasi pengubahan data inventori.

Alternate Courses : -

Postcondition : Inventori barang berubah.

Use Case Name : Mengubah password admin Use Case Type

Bussiness Requirements : □

System Analysis : □

System Design :

Use Case ID : 20

Prioritys :

Source :

Actors : Pemilik

Description : Use case ini menggambarkan tentang pemilik yang mengubah password-nya .

Precondition : Pemilik ingin mengubah password admin.

Typical Course of Events :

Actor Action System Response

Langkah 1 : pemilik memasukan password lama.

Langkah 3 : pemilik memasukkan data password baru.

Langkah 2 : sistem menampilkan validasi password lama.

Langkah 4 : konfirmasi pengubahan data password admin.

Alternate Courses : -

Page 68: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

49

Postcondition : Data password admin berubah.

3.5 Logical design

3.5.1 Diagram Aktivitas Mencatat data penjualan(a).

Gambar 3.4 Diagram aktivitas mencatat data penjualan(a).

Page 69: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

50

Mencatat data transaksi penjualan(b).

Gambar 3.5 Diagram aktivitas mencatat data penjualan(b).

Page 70: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

51

Mencatat data retur penjualan

Pemilik/karyawan Sistem

Pemilik / karyawan menerima barang yang diretur

Pencatatan data barang yang diretur

Simpan di database

ya

tidak

Menampilkan informasidata retur

Pencetakan data retur

Gambar 3.6 Diagram aktivitas mencatat data retur penjualan.

Page 71: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

52

Menghapus data penjualan

Gambar 3.7 Diagram aktivitas menghapus data penjualan.

Pencarian data barang

Gambar 3.8 Diagram aktivitas pencarian data barang.

Page 72: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

53

Pemesanan barang

Gambar 3.9 Diagram aktivitas pemesanan barang.

Page 73: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

54

Mencatat data retur pembelian

Gambar 3.10 Diagram aktivitas mencatat data retur barang.

Pencarian data pembelian

Gambar 3.11 Diagram aktivitas pencarian data pembelian.

Page 74: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

55

Mencatat data pembelian

Gambar 3.12 Diagram aktivitas pencatatan data pembelian.

Pencatatan data distributor

Gambar 3.13 Diagram aktivitas pencatatan data distributor.

Page 75: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

56

Mengubah data distributor

Gambar 3.14 Diagram aktivitas mengubah data distributor.

Mencari data distributor

Gambar 3.15 Diagram aktivitas mencari data distributor.

Page 76: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

57

Membuat data karyawan baru

Gambar 3.16 Diagram aktivitas membuat data karyawan baru.

Mengubah data karyawan

Gambar 3.17 Diagram aktivitas mengubah data karyawan.

Page 77: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

58

Mengecek inventori barang

Gambar 3.18 Diagram aktivitas mengecek inventori.

Mencatat data inventori baru

Gambar 3.19 Diagram aktivitas mencatat data inventori baru.

Page 78: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

59

Mengubah inventori

Gambar 3.20 Diagram aktivitas mengubah data inventori.

Penentuan harga jual

Pemilik Sistem

Inputan harga jual

ya

Tidak

Informasi harga jual

Simpan dalam database

Gambar 3.21 Diagram aktivitas penentuan harga jual.

Page 79: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

60

Mengubah password admin

Gambar 3.22 Diagram aktivitas Mengubah Password Admin.

Menghapus data karyawan

Gambar 3.23 Diagram aktivitas Menghapus Data Karyawan.

Page 80: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

61

3.5.2 Diagram Kelas

Daftar kandidat obyek

Penjualan

Pembelian

Inventori

Pemilik

Distributor

Karyawan

Konsumen

penjualan

barang

Toko Ijo

Transaksi

Kasir

Data

Sistem

Data retur

Page 81: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

62

Toko

Retur barang

Informasi

Data barang

Sales

Stok

Data distributor

Retur pembelian

Informasi barang

Kantor

Account

username

password

data karyawan

kata kunci barang

laporan penjualan

harga jual

Page 82: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

63

Daftar seleksi obyek

Penjualan √ Obyek bisnis

Pembelian √ Obyek bisnis

Inventori x Bukan obyek bisnis

Pemilik √ Obyek bisnis

Supplier √ Obyek bisnis

Karyawan √ Obyek bisnis

Konsumen x Bukan obyek bisnis

Barang √ Obyek bisnis

Toko Ijo x Bukan obyek bisnis

Transaksi x Bukan obyek bisnis

Kasir x Bukan obyek bisnis

Data x Bukan obyek bisnis

sistem x Bukan obyek bisnis

Data retur x Bukan obyek bisnis

Toko x Bukan obyek bisnis

Page 83: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

64

Retur barang √ Obyek bisnis

Informasi x Bukan obyek bisnis

Data barang x Bukan obyek bisnis

Sales x Bukan obyek bisnis

Stok x Bukan obyek bisnis

Data suplier x Bukan Obyek bisnis

Retur pembelian x Bukan obyek bisnis

Informasi barang x Bukan obyek bisnis

Kantor x Bukan obyek bisnis

Account x Bukan obyek bisnis

Username x Atribut obyek pemilik dan karyawan

Password x Atribut obyek pemilik dan karyawan

Data karyawan x Bukan obyek bisnis

Kata kunci barang x Bukan obyek bisnis

Laporan penjualan x Bukan obyek bisnis

Harga jual x Atribut dari detail penjualan dan

Page 84: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

65

pembelian

Daftar obyek yang diusulkan

Detail Pembelian

Retur Pembelian

Retur Penjualan

Transaksi

Histori Pembelian

Histori Pembelian Kredit

Histori Penjualan

Pembelian Kredit

Pembayaran

Histori Retur Beli

Histori Retur Jual

Pembelian Kredit

Page 85: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

66

3.5.3 Matriks asosiasi

Pemilik Karyawan Distributor Penjualan Pembelian Barang Histori penjualan

Detail retur pembelian

Pemilik XX XX XX XX XX XX XX Karyawan XX XX Many to many XX XX XX XX Distributor XX XX XX XX one to many XX XX Penjualan XX XX XX XX XX One to many XX Pembelian XX XX XX XX XX XX One to many

Barang XX XX Many to one XX XX Many to one XX Histori penjualan XX XX XX Many to one XX Many to one XX Detail retur pembelian XX XX XX XX Many to one XX XX

Detail retur penjualan XX XX XX Many to one XX XX XX XX Histori pembelian Kredit

XX XX XX XX XX Many to one XX XX

Histori Pembelian Tunai XX XX XX XX XX

Many to one XX XX

Pembelian Kredit XX XX XX XX one to one XX XX XX Pembelian Tunai XX XX XX XX one to one XX XX XX Operator one to one one to one XX XX XX XX XX XX Transaksi XX XX XX one to one one to one XX XX XX Retur XX XX XX XX XX XX XX one to one

Histori retur Jual XX XX XX XX XX Many to one XX XX Histori retur Beli XX XX XX XX XX Many to one XX Many to one

Pembayaran XX XX XX XX XX XX XX XX

Gambar 3.24 Matriks asosiasi (a)

Page 86: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

67

Detail retur penjualan

Histori pembelian Kredit

Histori Pembelian Tunai

Pembelian Kredit

Pembelian Tunai Operator Transaksi Retur

Histori Retur Jual

Histori Retur Beli Pembayaran

Pemilik XX XX XX XX XX XX XX XX XX XX XX Karyawan XX XX XX XX XX XX XX XX XX XX XX Distributor XX XX XX XX XX XX XX XX XX XX XX

Penjualan one to many XX XX XX XX XX one to

one XX XX XX XX

Pembelian XX XX XX

one to one one to one XX one to

one XX XX XX XX

Barang XX One to many One to many XX XX XX XX XX One to

many One to many

XX

Histori penjualan XX XX XX XX XX XX XX XX XX XX XX Detail retur pembelian

XX XX XX XX XX XX XX one to one

XX One to many

XX

Detail retur penjualan

XX XX XX XX XX XX one to one

One to many

XX XX

Histori pembelian Kredit

XX

XX One to many

XX XX XX XX XX XX XX

Histori Pembelian Tunai

XX XX

XX Many to one XX XX XX XX XX XX

Pembelian Kredit XX One to many XX

XX XX XX XX XX XX One to

many

Pembelian Tunai XX XX One to many XX XX XX XX XX XX XX

Operator XX XX XX XX XX

One to many

XX XX XX XX

Transaksi XX XX XX XX XX Many to one XX XX XX XX

Retur one to one XX XX XX XX XX XX XX XX XX

Histori retur Jual Many to one XX XX XX XX XX XX XX XX XX

Histori retur Beli XX XX XX XX XX XX XX XX XX XX

Pembayaran XX XX XX Many to

one XX XX XX XX XX XX

Gambar 3.25 Matriks asosiasi (b)

Page 87: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

68

3.5.4 Diagram Kelas

Gambar 3.26 Diagram kelas

Page 88: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

69

Rincian untuk setiap diagram kelas ada di lampiran B. Selanjutnya diagram kelas untuk implementasi.

Menu Operator

Gambar 3.27 Implementasi menu operator. Menu Barang

Gambar 3.28 Implementasi Menu barang.

Page 89: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

70

Menu Karyawan

Gambar 3.29 Implementasi Menu karyawan.

Menu Distributor

Gambar 3.30 Implementasi Menu distributor.

Page 90: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

71

Menu Penjualan

Gambar 3.31 Implementasi Menu penjualan. Menu Pembelian

Gambar 3.32 Implementasi Menu pembelian.

Page 91: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

72

Menu Retur Beli

Gambar 3.33 Implementasi menu retur beli Menu Retur Jual

Gambar 3.34 Implementasi menu retur jual.

Page 92: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

73

3.5.3 Diagram Sequence

Gambar 3.35 Diagram sequence pencarian data barang.

Gambar 3.36 Diagram sequence mengecek inventori.

Page 93: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

74

Gambar 3.37 Diagram sequence penginputan data inventori barang baru.

Gambar 3.38 Diagram sequence pengubahan data inventori barang.

Page 94: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

75

Gambar 3.39 Diagram sequence penjualan barang.

Karyawan / pemilik

<<interface>>Tampilan retur penjualan

<<controller>>ReturJualC :Penjualan

Inputan data retur penjualan

Simpan() SimpanReturJual()

Konfirmasi retur penjualanInformasi retur penjualan

Gambar 3.40 Diagram sequence retur penjualan barang.

Gambar 3.41 Diagram sequence pemesanan/Pembelian barang.

Page 95: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

76

Gambar 3.42 Diagram sequence distributor baru.

Gambar 3.43 Diagram sequence ubah data distributor.

Page 96: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

77

Gambar 3.44 Diagram sequence pencarian data distributor.

Gambar 3.45 Diagram sequence inputan data karyawan baru.

Page 97: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

78

Gambar 3.46 Diagram sequence pengubahan data karyawan.

Gambar 3.47 Diagram sequence pencarian data karyawan.

Page 98: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

79

Gambar 3.48 Diagram sequence pencatatan data retur pembelian.

Gambar 3.49 Diagram sequence pencarian data pembelian.

Page 99: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

80

Gambar 3.50 Diagram sequence view data hutang

Pemilik / Karyawan

<<interface>>Pembayaran Hutang

<<controller>>PembayaranC Pembayaran

Data Hutang yang akan dibayar

DataHutang Simpancicilanbayar()

Konfirmasi PembayaranInformasi pelunasan

hutang

Gambar 3.51 Diagram sequence pembayaran hutang

Page 100: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

81

Gambar 3.52 Diagram sequence pencarian data penjualan.

Gambar 3.53 Diagram sequence pengubahan password admin.

Gambar 3.54 Diagram sequence penghapusan data karyawan.

Page 101: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

82

Desain Interface

Gambar 3.55 Form login.

Gambar 3.56 Form menu utama.

Page 102: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

83

Gambar 3.57 Form barang.

Gambar 3.58 Form tambah barang.

Page 103: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

84

Gambar 3.59 Form ubah barang.

Gambar 3.60 Form penjualan.

Page 104: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

85

Gambar 3.61 Form pembelian.

Gambar 3.62 Form Karyawan.

Gambar 3.63 Form tambah karyawan.

Page 105: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

86

Nama Karyawan

No.Telepon

Pengubahan Data Karyawan

Ok

Alamat

Batal

Gambar 3.64 Form ubah karyawan.

Gambar 3.65 Form pengubahan password.

Gambar 3.66 Form laporan keuangan.

Page 106: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

87

Gambar 3.67 Form data transaksi.

Gambar 3.68 Form retur barang.

Gambar 3.69 form distributor.

Page 107: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

88

Gambar 3.70 form tambah data distributor.

Gambar 3.71 form ubah data distributor.

Gambar 3.72 form Pencarian data barang dan distributor.

Page 108: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

89

BAB IV

IMPLEMENTASI DAN ANALISA HASIL

Pada bab ini membahas implementasi dalam bentuk program berdasarkan

analisa dan perancangan yang telah dilakukan.

4.1 Penjelasan antar muka Sistem

4.1.1 Antar Muka Menu Login

Gambar 4.1 Menu login

Gambar 4.1 merupakan halaman untuk login admin dan

karyawan. Pada menu ini pengguna memasukkan username dan

password yang pengguna miliki. Username dan password default

adalah “admin” untuk username dan password.

Page 109: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

90

4.1.2 Antar Muka Menu Utama

Gambar 4.2 Menu utama.

Gambar 4.2 adalah halaman utama administrator. Pada menu

administrator ini terdapat menu barang, penjualan, retur penjualan,

pembelian, retur pembelian, distributor, karyawan, ubah password

admin, laporan pembelian, laporan penjualan, dan help. Sedangkan

untuk menu utama karyawan sama saja hanya saja ada pembatasan

hak akses.

Page 110: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

91

4.1.3 Antar Muka Menu Barang

Gambar 4.3 Menu barang

Antar muka Menu Barang merupakan penerapan dari diagram

sequence pencarian data barang (gambar 3.27), diagram sequence

mengecek inventori (gambar 3.28).

Gambar 4.3 adalah menu data barang. Pada menu data barang ini

pengguna dapat mencari barang tertentu, menambah data barang baru,

mengubah data barang.

4.1.4 Antar Muka Menu Tambah Barang

Gambar 4.4 Menu tambah barang.

Page 111: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

92

Antar muka menu tambah barang merupakan penerapan diagram

sequence pengiputan data inventori baru pada (gambar 3.30).

Gambar 4.4 adalah menu untuk menambah data barang baru.

Pada menu ini, pengguna memasukkan kode barang dengan tipe data

string (disarankan memakai barcode). Pada field harga, pengguna

hanya bisa memasukkan angka. Jumlah stok akan terisi default

dengan “0”, dan akan mempunyai stok jika melakukan pembelian.

Barang yang ditambah harus mempunyai nama distributor tertentu,

pengguna dapat memasukkan data distributor dengan meng-click

tombol cari data distributor (pada gambar 4.23).

4.1.5 Antar Muka Menu Ubah Barang

Gambar 4.5 Menu mengubah data barang.

Antar muka menu mengubah data barang merupakan penerapan

dari diagram sequence pengubahan data inventori barang (gambar

3.31).

Page 112: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

93

Gambar 4.5 adalah halaman untuk mengubah data barang. Data

barang yang bisa diubah hanya nama barang, satuan jual, satuan beli,

isi satuan beli, harga beli, dan harga jual.

4.1.6 Antar Muka Menu Penjualan

Gambar 4.6 Menu penjualan.

Pada Antar muka menu penjualan merupakan penerapan dari

diagram sequence penjualan barang (gambar 3.32), diagram sequence

mengecek inventori (gambar 3.27).

Pada gambar 4.6 adalah gambar menu penjualan. Pengguna dapat

memasukkan kode barang yang akan dijual ke dalam field kode barang /

scan barcode, kemudian jika banyaknya hanya 1 maka tekan enter agar

data nama barang, satuan, dan harga tampil. Setelah itu pengguna dapat

memasukkan banyaknya barang yang ingin dijual. Atau jika banyaknya

lebih dari satu, pengguna tinggal masukkan banyaknya terlabih dahulu

Page 113: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

94

kemudian baru kode barang. Total akan keluar pada pojok kanan atas.

Setelah itu pengguna dapat menyimpan transaksi penjualan dengan

menekan tombol “jual”. Akan tetapi pengguna harus memasukkan uang

yang dibayar terlebih dahulu. Jika pengguna tidak men-check list “cetak

nota manual”, ketika menekan tombol “jual” maka data penjualan akan

tersimpan dan akan diprint otomatis. Tetapi kalau tombol “cetak nota

manual” di-check list, maka nota penjualan akan tercetak bila pengguna

menekan tombol “cetak”.

4.1.7 Antar Muka Menu Pembelian

Gambar 4.7 Menu pembelian

Antar muka menu pembelian merupakan penerapan diagram sequence

pemesanan / Pembelian barang (gambar 3.35), diagram sequence

mengecek mengecek inventori (gambar 3.27).

Page 114: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

95

Pada gambar 4.7 adalah gambar menu pembelian. Tahap pertama

pengguna harus memilih data distributor yang ingin pengguna beli,

kemudian jenis pembelian akan dibeli secara tunai atau kredit. Setelah

itu pengguna dapat memasukkan kode barang yang akan dijual ke dalam

field kode barang / scan barcode (data barang yang bisa dicari hanya

berdasarkan nama distributor), kemudian menekan tombol enter agar

data masuk ke dalam tabel (jika banyak barang hanya 1). Tetapi jika

banyak barang lebih dari satu maka pengguna dapat memasukkan

terlebih dahulu banyaknya barang yang akan dibeli, kemudian masukkan

kode barang / scan barcode. Total akan keluar pada pojok kanan bawah

tabel. Tahap selanjutnya adalah pengguna dapat menyimpan transaksi

pembelian dengan menekan tombol “Beli”.

4.1.8 Antar muka Menu Distributor

Gambar 4.8 Menu distributor

Page 115: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

96

Antar muka menu distributor merupakan penerapan dari diagram

sequence pencarian data distributor (gambar 3.39).

Gambar 4.8 adalah menu tampilan untuk memanipulasi data

distributor. Pada menu ini ditampilkan semua data distributor yang ada.

Selain itu pengguna dapat menambah data distributor dengan menekan

tombol “Tambah”, dan akan tampil menu untuk tambah data distributor

yang ada pada gambar 4.9. Jika pengguna ingin mengubah data

distributor, pengguna tinggal click data distributor yang ingin diubah dan

tekan tombol ubah (ada pada gambar 4.10). Sedangkan untuk

menghapus data distributor tinggal pilih data distributor yang ingin

dihapus dan click tombol ‘hapus’. Untuk mencari data distributor

pengguna tinggal memasukkan kata kunci dan kategori yang diinginkan,

kemudian tekan tombol “Cari”. Untuk tombol “refresh” adalah untuk

menampilkan semua data (setelah kita mencari data distributor).

4.1.9 Antar Muka Menu Tambah Data distributor

Gambar 4.9 Menu tambah data distributor

Page 116: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

97

Antar muka menu tambah distributor merupakan penerapan diagram

sequence distributor baru (gambar 3.36).

4.1.10 Antar Muka Menu Ubah data Distributor

Gambar 4.10 Menu ubah data distributor.

Antar muka menu ubah data distributor merupakan penerapan diagram

sequence ubah data distributor (gambar 3.37).

4.1.11 Antar Muka Menu Data Karyawan

Gambar 4.11 Menu data karyawan

Page 117: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

98

Antar muka menu data karyawan merupakan penerapan dari diagram

sequence pencarian data karyawan (gambar 3.43), diagram sequence

menghapus data karyawan (gambar 3.42).

Gambar 4.11 adalah menu data karyawan, pada menu ini pengguna

dapat mencari data karyawan, menambah data karyawan, dan me-reset

password. Pada menu Data karyawan ini pula pengguna dapat membuat

account untuk login sebagai karyawan.

4.1.12 Antar Muka Menu Tambah data karyawan

Gambar 4.12 Menu tambah data karyawan

Antar muka menu tambah data karyawan merupakan penerapan dari

diagram sequence input-an data karyawan baru.

Gambar 4.12 adalah tampilan untuk menambah data karyawan dan

membuat account karyawan. Pada field hanya bisa menerima input-an angka.

Page 118: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

99

4.1.13 Antar muka Menu Retur Penjualan

Gambar 4.13 Menu retur penjualan

Antar muka menu retur penjualan merupakan penerapan dari

diagram sequence pencarian data penjualan (gambar 3.48), diagram

sequence pencatatan data retur penjualan (gambar 3.34).

Pada gambar 4.13 adalah gambar menu retur penjualan. Dimana

pengguna memasukkan kode barang yang akan dijual ke dalam kolom

kode barang, kemudian menekan tombol enter agar data nama barang,

satuan, harga, dan stok tampil. Setelah itu pengguna dapat memasukkan

banyak barang yang ingin dijual, isi satuan dan harga atau sebaliknya

pengguna dapat memasukkan banyaknya, isi satuan, dan harga terlebih

dahulu baru kode. Total akan keluar pada pojok kanan atas. Setelah itu

pengguna dapat menyimpan transaksi retur pembelian dengan menekan

tombol “Retur”.

Page 119: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

100

4.1.14 Antar Muka Menu Retur Pembelian

Gambar 4.14 Menu retur pembelian

Antar muka menu retur pembelian merupakan penerapan dari

diagram sequence pencarian data pembelian (gambar 3.45), diagram

sequence pencatatan data retur pembelian (gambar 3.44).

Pada gambar 4.14 adalah gambar antar muka retur pembelian.

Dimana pengguna dapat memasukkan kode barang yang akan dibeli ke

dalam field kode barang / scan barcode, kemudian tekan enter agar data

barang tampil pada tabel (jika banyak barang yang diretur hanya 1). Jika

banyak barang lebih dari 1, pengguna tinggal memasukkan banyak

barang yang ingin dibeli lalu masukkan kode barang ke dalam field

kodebarang / scan barcode. Total akan keluar pada pojok kanan atas.

Setelah itu pengguna dapat menyimpan transaksi retur pembelian dengan

menekan tombol “Retur”. Sedangkan tombol “cari” akan menampilkan

Page 120: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

101

semua data barang dan pengguna tinggal memilik barang mana yang

akan diretur.

4.1.15 Antar Muka Menu Laporan Penjualan

Gambar 4.17 Menu laporan penjualan

Pada gambar 4.15 adalah tampilan untuk mencetak laporan

penjualan. Pada menu ini pengguna dapat memilih penjualan dari

tanggal berapa sampai tanggal berapa yang ingin dicetak. Contoh

laporan penjualan ada dilampiran (gambar L1).

Page 121: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

102

4.1.16 Antar Muka Menu Laporan Pembelian

Gambar 4.16 Menu laporan pembelian

Pada gambar 4.16 adalah tampilan untuk mencetak laporan

pembelian. Pada menu ini pengguna dapat memilih pembelian dari

tanggal berapa sampai tanggal berapa yang ingin dicetak. Contoh

laporan pembelian ada dilampiran (gambar L3).

4.1.17 Antar Muka Menu Laporan Detail Penjualan

Gambar 4.17 Menu laporan detail penjualan

Pada gambar 4.17 adalah tampilan untuk mencetak laporan

Detail Penjualan. Pada menu ini pengguna dapat memilih pembelian dari

Page 122: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

103

tanggal berapa sampai tanggal berapa yang ingin dicetak. Contoh

laporan detail penjualan ada dilampiran (gambar L2).

4.1.18 Antar Muka Menu Laporan Detail Pembelian Tunai

Gambar 4.18 Menu laporan detail pembelian tunai

Pada gambar 4.18 adalah tampilan untuk mencetak laporan

Detail Pembelian Tunai. Pada menu ini pengguna dapat memilih

pembelian Tunai dari tanggal berapa sampai tanggal berapa yang ingin

dicetak. Contoh laporan detail pembelian tunai ada dilampiran (gambar

L4).

Page 123: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

104

4.1.19 Antar Muka Menu Laporan Detail Pembelian Kredit

Gambar 4.19 Menu laporan detail pembelian kredit

Pada gambar 4.19 adalah tampilan untuk mencetak laporan

Detail Pembelian Kredit. Pada menu ini pengguna dapat memilih

pembelian Kredit dari tanggal berapa sampai tanggal berapa yang ingin

dicetak. Contoh laporan detail pembelian kredit ada dilampiran (gambar

L4).

4.1.20 Antar Muka Menu Pembayaran

Gambar 4.20 Menu pembayaran.

Page 124: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

105

Antar muka menu pembayaran merupakan penerapan dari diagram

sequence view data hutang (gambar 3.46).

Pada gambar 4.20 adalah tampilan daftar hutang pembelian secara

kredit. Pada tampilan ini pengguna dapat mengetahui hutang pada

distributor dan rincian hutang Toko Ijo. Jika pengguna ingin membayar

hutang, pengguna tinggal pilih hutang Toko Ijo pada tabel bagian atas

dan rincian data hutang akan tampil pada tabel bawah, rincian. Total

bayar dan sisa hutang akan tampil jika kita sudah membayar hutang.

Setalah itu akan tampil sebuah tampilan baru untuk mengisi total bayar

yang pengguna masukkan, serta tanggal pembayarannya.

4.1.21 Antar Muka Menu Bayar Hutang

Gambar 4.21 Menu bayar hutang

Antar muka menu bayar hutang merupakan penerapan dari diagram

sequence pembayaran hutang (gambar 3.47).

Page 125: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

106

4.1.22 Antar Muka Menu Pencarian Barang

Gambar 4.22 Menu pencarian barang

Antar muka menu pencarian barang merupakan penerapan dari diagram

sequence pencarian data barang (gambar 3.27).

4.1.23 Antar Muka Menu Pencarian Data Distributor

Gambar 4.23 Menu pencarian distributor

Antar muka menu pencarian distributor merupakan penerapan dari

diagram sequence pencarian data distributor (gambar 3.39).

Page 126: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

107

4.1.24 Antar Muka Menu Hak Akses

Gambar 4.24 Menu hak akses.

Antar muka menu hak akses merupakan penerapan dari diagram

sequence pengubahan data karyawan (gambar 3.41).

4.1.25 Antar Muka Menu Ubah Password Admin

Gambar 4.25 Menu ubah password admin.

Antar muka menu ubah password merupakan penerapan dari

diagram sequence pengubahan password admin (Gambar 3.49).

Page 127: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

108

4.1.26 Antar Muka Menu Ubah Password Karyawan

Gambar 4.26 Menu ubah password karyawan

Antar muka menu hak akses merupakan penerapan dari diagram

sequence pengubahan data karyawan (gambar 3.41).

4.1.27 Antar Muka Menu Ubah Data Karyawan

.

Gambar 4.27 Menu ubah data karyawan Antar muka menu hak akses merupakan penerapan dari diagram

sequence pengubahan data karyawan (gambar 3.41).

Page 128: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

109

4.2 Penjelasan Implementasi OODB menggunakan db4o. Potongan source code untuk menambah data barang pada Model Database:

public void TambahB(String fullPath, String kode_brg, String nama,

String satuan, int harga, int stok, String satuanBeli, int

HargaBeli, int isisatuan, final String id) {

com.db4o.ObjectContainer db = Db4o.openFile(fullPath);

ObjectSet Distr = db.query(new Predicate<Distributor>() {

public boolean match(Distributor d) {

String a = String.valueOf(d.getId_distributor());

return a.compareTo(id) == 0; // Penjelasan liat pada point 1

}

});

while (Distr.hasNext()) {

getId_distributor().add((Distributor) Distr.next());

}

Barang b = new Barang(kode_brg, nama, satuan, harga, stok,

satuanBeli, HargaBeli, isisatuan, getId_distributor()); //

penjelasan ada pada point 2

db.set(b);

db.close();

Page 129: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

110

}

Relasi one-to-many

public void UbahColect(String fullPath, final String kode, final

int id_d) {

ObjectContainer db = Db4o.openFile(fullPath);

try {

ObjectSet dis = db.query(new Predicate<Barang>() {

public boolean match(Barang b) { // penjelasan

liat pada point 3

Distributor d = new Distributor();

for (int i = 0; i < b.ID_Distributor().size();

i++) {

d = b.ID_Distributor().get(i);

}

String dd =

String.valueOf(d.getId_distributor());

String id_dis = String.valueOf(id_d);

return dd.compareTo(id_dis) == 0;

}

});

Page 130: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

111

while (dis.hasNext()) {

this._barang.add((Barang) dis.next());

}

ObjectSet Result = db.get(new Distributor(id_d)); //

Penjelasan liat pada point 4

Distributor D = (Distributor) Result.next();

D.setBarang(_barang);

db.set(D);

} finally {

db.close();

}

}

Analisa:

1. Pada point ini kita akan melihat terlebih dahulu semua data distributor

dimana id_distributor yang ada di distributor dibandingkan dengan

id_distributor yang kita peroleh dari Tampilan menu tambah data

karyawan. Kemudian hasilnya akan dimasukkan ke dalam list bertipe

Distributor.

2. Pada point ini kita akan kita akan memasukkan data barang kedalam

model Barang dimana kita memanggil konstruktor Barang terlebih dahulu.

Kemudian memasukkan semua data yang telah diperoleh dan diset

Page 131: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

112

kedalam database db4o. ini baru relasi sepihak, yaitu relasi many-to-one

antara barang dan distributor. Disini kita sudah bisa melihat barang yang

kita inputkan mempunya relasi dengan distributor tertentu. Untuk melihat

suatu distributor mempunyai barang apa saja akan dijelaskan pada poin

berikutnya.

3. Pada point 3 ini, untuk membuat relasi 2 arah kita harus melakukan tahap

berikutnya. Tahap selanjutnya yaitu mengubah list barang yang ada di

object distributor. Caranya menampilkan semua data barang dimana

id_distributor yang ada di object distributor dibandingkan dengan list

distributor yang ada di tabel barang. Kemudian data barang yang

ditampilkan itu disimpan dalam list dengan tipe barang.

4. Tahap ini adalah tahapan update list dengan tipe barang yang ada di object

distributor dengan data barang yang telah diperoleh dari point 3. Dimana

pertama-tama kita mencari object distributor dengan dengan id yang di

peroleh dari tampilan tambah data barang. Setelah ketemu kita tinggal

mengubah data/object dari distributor itu dengan cara menset object

tersebut dengan data yang baru. Pada tahap ini relasi one-to-many antara

object distributor dan barang sudah terjalin 2 arah, yaitu kita dapat melihat

dari object barang ataupun distributor.

Page 132: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

113

4.3 Penjelasan Konsep MVC Menggunakan Java Contoh penerapan konsep MVC (Model, View dan Controller) adalah

pada Menu Laporan

4.3.1 View

Gambar 4.3.1 contoh View Laporan

Potongan source code pemanggilan Controller

public Laporanall(String fullPath, String username, String

info, String password) {

this.fullPath = fullPath;

this.username = username;

this.info = info;

this.password = password;

initComponents();

if (this.info.compareTo("Penjualan") == 0) {

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(

null, "Laporan Penjualan",

javax.swing.border.TitledBorder.CENTER,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new

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

Page 133: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

114

LPC = new LPenjualanC(jTable1);

} else if (this.info.compareTo("Pembelian") == 0) {

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(

null, "Laporan Pembelian",

javax.swing.border.TitledBorder.CENTER,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new

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

LBC = new LPembelianC(jTable1);

} else if (this.info.compareTo("DPenjualan") == 0) {

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(

null, "Laporan Detail Penjualan",

javax.swing.border.TitledBorder.CENTER,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new

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

LDPC = new LDetailPenjualanC(jTable1);

} else if (this.info.compareTo("DPembelianKredit") ==

0) {

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(

null, "Laporan Detail Pembelian Kredit",

javax.swing.border.TitledBorder.CENTER,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new

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

LDBKC = new LDetailPembelianKreditC(jTable1);

} else if (this.info.compareTo("DPembelianTunai") == 0)

{

Page 134: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

115

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(

null, "Laporan Detail Pembelian Tunai",

javax.swing.border.TitledBorder.CENTER,

javax.swing.border.TitledBorder.DEFAULT_POSITION, new

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

LDBC = new LDetailPembelianTunaiC(jTable1);

}

this.setExtendedState(6);

jButton1.setEnabled(false);

}

4.3.2 Controller

4.3.2.1 Controller penjualan public class LPenjualanC {

List list = new ArrayList<Penjualan>();

TableModel tableModel = new TabelMPenjualanEdit(list);

public static final String[] columnNames = {

"No Faktur Penjualan", "Tanggal Faktur", "Total"

};

private JTable jTable1;

public LPenjualanC(JTable jTable1) {

this.jTable1 = jTable1;

tableModel = new PenjualanMTableModel(columnNames);

Page 135: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

116

this.jTable1.setModel(tableModel);

}

public void cari(String fullPath, final JDateChooser

Awal, final JDateChooser Akhir) {

list.removeAll(list);

ObjectContainer db = Db4o.openFile(fullPath);

try {

ObjectSet laps = db.query(new

Predicate<Penjualan>() {

public boolean match(Penjualan pj) {

return

pj.getTgl_fakturPenjualan().after(Awal.getDate()) &&

pj.getTgl_fakturPenjualan().before(Akhir.getDate());

}

}, new QueryComparator<Penjualan>() {

public int compare(Penjualan d1, Penjualan

d2) {

int result = d2.getNo_fakturPenjualan()

- d1.getNo_fakturPenjualan();

if (result == 0) {

return

d1.getTgl_fakturPenjualan().compareTo(d2.getTgl_fakturPenjua

lan());

} else {

return -result;

Page 136: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

117

}

}

});

while (laps.hasNext()) {

Penjualan j = (Penjualan) laps.next();

LapValue lapjual = new

LapValue(j.getNo_fakturPenjualan(),

j.getTgl_fakturPenjualan(), j.getTotal());

this.list.add(lapjual);

}

this.tableModel = new TabelMPenjualanEdit(list);

this.jTable1.setModel(tableModel);

} finally {

db.close();

}

}

public void Cetak() {

Properties systemProp = System.getProperties();

// Ambil current dir

String currentDir =

systemProp.getProperty("user.dir");

File dir = new File(currentDir);

String reportName = "report1.jrxml";

String reportDirName = "Report";

Page 137: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

118

File fileRpt;

String Path = "../dist/Report/report1.jrxml";

File.separatorChar +

end if

// Ambil Direktori tempat file RptMaster.jrxml

berada

String[] subRptDir = Path.split(reportName);

String reportDir = subRptDir[0];

System.out.println("Report Directory at : " +

reportDir);

Map<String, Object> parameters = new HashMap<String,

Object>();

parameters.put(null, null);

try {

JasperReport JRpt =

JasperCompileManager.compileReport(Path);

JasperPrint JPrint =

JasperFillManager.fillReport(JRpt, parameters, new

JRTableModelDataSource(tableModel));

JasperViewer.viewReport(JPrint, false);

} catch (Exception rptexcpt) {

JOptionPane.showMessageDialog(null, rptexcpt);

System.out.println("Report Can't view because :

" + rptexcpt);

}

}

Page 138: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

119

/**

* @return the jTable

*/

public JTable getJTable() {

return jTable1;

}

/**

* @param jTable the jTable to set

*/

public void setJTable(JTable jTable) {

this.jTable1 = jTable;

}

}

4.3.2.2 Controller Laporan pembelian public class LPembelianC {

List list = new ArrayList<Pembelian>();

TableModel tableModel = new TabelMEditPembelian(list);

public static final String[] columnNames = {

"No Faktur Pembelian", "Tanggal Faktur", "Total"

};

private JTable jTable1;

public LPembelianC(JTable jTable) {

Page 139: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

120

this.jTable1 = jTable;

tableModel = new PembelianMTableModel(columnNames);

PembelianGui.InteractiveTableModelListener());

this.jTable1.setModel(tableModel);

}

public void cari(String fullPath, final JDateChooser

Awal, final JDateChooser Akhir) {

list.removeAll(list);

ObjectContainer db = Db4o.openFile(fullPath);

try {

ObjectSet laps = db.query(new

Predicate<Pembelian>() {

public boolean match(Pembelian pb) {

return

pb.getTgl_fakturPembelian().after(Awal.getDate()) &&

pb.getTgl_fakturPembelian().before(Akhir.getDate());

}

}, new QueryComparator<Pembelian>() {

public int compare(Pembelian d1, Pembelian

d2) {

int result = d2.getNo_fakturPembelian()

- d1.getNo_fakturPembelian();

if (result == 0) {

Page 140: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

121

return

d1.getTgl_fakturPembelian().compareTo(d2.getTgl_fakturPembel

ian());

} else {

return -result;

}

}

});

while (laps.hasNext()) {

Pembelian b = (Pembelian) laps.next();

LapValue lapsbeli = new

LapValue(b.getNo_fakturPembelian(),

b.getTgl_fakturPembelian(), Integer.valueOf(b.getTotal()));

list.add(lapsbeli);

}

this.tableModel = new TabelMEditPembelian(list);

this.getJTable1().setModel(tableModel);

} finally {

db.close();

}

}

public void Cetak() {

Properties systemProp = System.getProperties();

// Ambil current dir

String currentDir =

systemProp.getProperty("user.dir");

Page 141: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

122

File dir = new File(currentDir);

String reportName = "LaporanPembelian.jrxml";

String reportDirName = "Report";

File fileRpt;

String Path =

"../dist/Report/LaporanPembelian.jrxml";

File.separatorChar +

// Ambil Direktori tempat file RptMaster.jrxml

berada

String[] subRptDir = Path.split(reportName);

String reportDir = subRptDir[0];

System.out.println("Report Directory at : " +

reportDir);

Map<String, Object> parameters = new HashMap<String,

Object>();

try {

JasperReport JRpt =

JasperCompileManager.compileReport(Path);

JasperPrint JPrint =

JasperFillManager.fillReport(JRpt, parameters, new

JRTableModelDataSource(tableModel));

JasperViewer.viewReport(JPrint, false);

} catch (Exception rptexcpt) {

JOptionPane.showMessageDialog(null, rptexcpt);

Page 142: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

123

System.out.println("Penyebab laporan tidak dapat

dipakai : " + rptexcpt);

}

}

/**

* @return the jTable1

*/

public JTable getJTable1() {

return jTable1;

}

/**

* @param jTable1 the jTable1 to set

*/

public void setJTable1(JTable jTable1) {

this.jTable1 = jTable1;

}

}

4.3.2 Model public class LapValue {

private int No_faktur;

private Date Tgl_faktur;

private Object Total;

Object value;

Page 143: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

124

public LapValue(int noFak, Date TglFak, int tot) {

this.No_faktur = noFak;

this.Tgl_faktur = TglFak;

this.value = tot;

Number numberValue = (Number) value;

NumberFormat formatter =

NumberFormat.getNumberInstance();

formatter.setMinimumIntegerDigits(1);

formatter.setMaximumFractionDigits(2);

formatter.setMinimumFractionDigits(2);

value =

formatter.format(numberValue.doubleValue());

this.Total = value;

}

/**

* @return the No_faktur

*/

public int getNo_faktur() {

return No_faktur;

}

/**

* @param No_faktur the No_faktur to set

*/

public void setNo_faktur(int No_faktur) {

this.No_faktur = No_faktur;

Page 144: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

125

}

/**

* @return the Tgl_faktur

*/

public Date getTgl_faktur() {

return Tgl_faktur;

}

/**

* @param Tgl_faktur the Tgl_faktur to set

*/

public void setTgl_faktur(Date Tgl_faktur) {

this.Tgl_faktur = Tgl_faktur;

}

/**

* @return the Total

*/

public Object getTotal() {

return Total;

}

/**

* @param Total the Total to set

*/

public void setTotal(Object Total) {

this.Total = Total;

}

}

Page 145: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

126

Analisa:

Contoh view diatas merupakan contoh penerapan konsep MVC. Satu view

diatas akan dipakai oleh berbagai macam laporan seperti laporan penjualan,

laporan pembelian, laporan detail penjualan, laporan detail pembelian, dan

lain-lain. Pada penjelasan contoh kali ini akan dibahas hanya untuk laporan

penjualan dan pembelian.

Pada view kita akan memberikan kondisi pemanggilan / penanda bahwa

kita ingin tampilan laporan penjualan atau pembelian, caranya dengan

memberikan informasi tambahan pada saat kita memilih menu yang akan

dipanggil. Setelah itu informasi tambahan tersebut dipakai untuk membedakan

kita memanggil laporan penjualan atau pembelian.

Tugas selanjutnya adalah controller yang mengatur atau memberikan

method yang akan digunakan. Controller akan memberikan laporan yang kita

inginkan (data laporan penjualan atau pembelian). Controller akan mengambil

model yang akan dipakai dan di tampilkan pada view. Model disini berupa

tabel yang kita pakai untuk menampilkan data penjualan dan pembelian dari

database. Dengan demikian kita dapat menggunakan satu view untuk berbagai

macam fungsi atau menu yang berbeda dengan catatan rancangan GUI yang

dipakai mirip/sama, tetapi hanya beda nama datanya saja seperti pada laporan.

Page 146: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

127

Bab V

Pengujian Sistem

Aplikasi SISTEM INFORMASI PEMBELIAN, PENJUALAN,

DAN INVENTORI BARANG MENGGUNAKAN PENDEKATAN

BERORIENTASI OBYEK yang telah dibuat, selanjutnya diuji melalui

teknik pengujian perangkat lunak yang meliputi pengujian white box dan

pengujian black box.

5.1 Pengujian White Box

5.1.1 Pengujian Proses Login a. Jika belum ada akan database, akan mengisi data dari object

pemilik dengan username dan password dengan admin.

b. Akan tetapi jika database sudah ada, sistem akan mencari

username dan password dari object pemilik.

c. Selanjutnya akan men-cek pengguna login sebagi admin atau

karyawan.

Jika username dan password tidak kosong serta username yang

dimasukkan = username di object pemilik dan password yang

dimasukkan = password di object pemilik.

tetapi jika tidak ada di object pemilik akan mencari di object

karyawan.

Page 147: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

128

d. Jika username atau password kosong sistem akan memberikan

konfirmasi.

5.1.2 Pengujian Proses Pengubahan Password a. Mengambil data password baru.

b. Mengecek data password lama yang diinputkan apakah sama

dengan data password yang ada di database. Jika tidak sama akan

membatalkan pengubahan password dan memberikan konfirmasi

bahwa password lama yang diinputkan tidak sama.

c. Mengecek data password baru dengan konfirmasi password baru

apakah sama, jika sama maka dilakukan pengubahan password.

Tetapi jika tidak sama akan membatalkan pengubahan password

dan memberikan konfirmasi bahwa konfirmasi password tidak

sama dengan password baru.

5.1.3 Pengujian Proses Menu Utama a. Membandingkan data Login dari object pemilik atau karyawan

dengan cara memeriksa username dan password yang ada pada

object karyawan data login berasal dari pemilik atau karyawan.

b. Mengecek menu login, jika login dari object karyawan makan

ada pembatasan hak akses.

5.1.4 Pengujian Proses Tambah Barang a. Mengecek apakah kode barang kosong dan id_distributor=0.

Page 148: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

129

Jika kode barang kosong dan id_distributor =0 penyimpanan

data barang dibatalkan. Kemudian mengambil data barang yang

akan disimpan ke dalam database.

b. Mengecek kode barang dan nama barang yang akan disimpan

sebelumnya sudah ada atau belum. Jika sudah ada

penyimpanan data barang dibatalkan dan sistem akan

memberikan konfirmasi bahwa data barang sudah ada.

5.1.5 Pengujian Proses Ubah Data Barang a. Mengambil data barang yang akan diubah.

b. Mengubah data barang yang ingin diubah.

5.1.6 Pengujian Proses Tambah Data Distributor a. Mengambil data distributor yang akan di simpan ke dalam

database.

b. Membandingkan apa nama distributor pernah disimpan

sebelumnya.

c. Lakukan pengecekan apakah Data distributor yang nama sudah

tersimpan itu ada apa tidak.

d. Lakukan pengecekan apakah email yang di inputkan memenuhi

standar.

e. Lakukan pengecekan apakah nama email null.

f. Melakukan penyimpanan object distributor.

Page 149: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

130

5.1.7 Pengujian Proses Ubah Data Distributor. a. Mengambil data distributor yang akan diubah.

b. Mengubah data distributor yang akan di ubah.

5.1.8 Pengujian Proses Searching Data Distributor a. Mengambil kata kunci dan kategori data distributor yang akan

dicari.

b. Mencari kata kunci dan kategori di dalam database distributor.

5.1.9 Pengujian Proses Tambah Data Karyawan a. Mengambil data karyawan yang akan dimasukkan ke dalam

database.

b. Check apakah kode barang dan nama barang yang diinputkan

kosong atau tidak, atau kode barang dan nama barang yang

diinputkan pernah diinputkan sebelumnya.

5.1.10 Proses Pengujian Ubah Data Karyawan a. Mengambil data Barang yang akan diubah.

b. Memberikan konfirmasi apakah pengguna yakin ingin

mengubah data karyawan. Jika yakin data karyawan akan

diubah.

5.1.11 Proses Pengujian Ubah Data Password Karyawan a. Cek apakah password lama sama dengan yang ada di database.

Jika ya cek lagi apakah inputan password baru = konfirmasi

password. Jika ya akan mengubah password Karyawan. Tetapi

Page 150: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

131

jika tidak sama dengan password lama atau password baru

tidak sama dengan konfirmasi password, maka sistem akan

memberikan konfirmasi.

5.1.12 Proses Pengujian Laporan a. Cek tanggal awal dan akhir yang ingin dicari apakah kosong

atau tidak. Jika kosog maka sistem akan memberikan

konfirmasi. Jika tidak kosong akan ada kondisi jenis laporan

yang ingin ditampilkan.

5.1.13 Proses Pengujian Pencarian Data Barang a. Mengambil kata kunci dan kategori yang ingin dicari.

b. Cek kategori yang ingin dicari dan kata kunci. Jika data ada

akan ditampilkan ke dalam tabel, jika tidak ada sistem akan

memberikan konfirmasi.

5.1.14 Proses Pengujian Data Transaksi a. Cek apakah data transaksi yang ingin dicari adalah transksi

penjualan atau pembelian.

b. Mengambil data tanggal transaksi yang ingin dicari.

c. Menampilkan data transaksi berdasarkan tanggal yang

diinputkan.

5.1.15 Proses Pengujian Retur a. Cek apakah Barang yang ingin di retur adalah kategori retur

jual atau retur beli. Jika retur jua maka menggunakan method

Page 151: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

132

retur jual, tetapi jika retur beli maka menggunakan method

retur beli.

b. Cek data barang yang diretur apakah ada atau tidak. Jika tidak

ada maka sistem akan memberikan konfirmasi. Jika ada data

maka akan disimpan di dalam database.

5.1.16 Proses Pengujian Bayar Hutang a. Mengambil data Pembayaran.

b. Data bayar yang diinputkan akan disimpan didalam database.

5.1.17 Proses Pengujian Pembelian a. Cek kategori pembelian secara tunai atau kredit.

b. Cek barang yang di beli ada atau tidak. Jika tidak ada maka

penyimpanan dibatalkan tetapi jika ada data transaksi

pembelian akan disimpan.

5.1.18 Proses Pengujian Penjualan a. Cek nota penjualan akan dicetak secara otomatis atau tidak.

b. Mengambil data penjualan.

c. Cek Apakah barang yang dijual ada atau tidak. Jika tidak ada

transaksi penjualan dibatalkan, tetapi jika ada lanjut ke

pengecekkan selanjutnya. Pengecekkan selanjutnya adalah cek

uang yang di bayar pembeli.

Page 152: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

133

5.2 Pengujian Black Box

Tabel 5.2.1 Hasil Pengujian Black Box Proses Login Input Proses Output Hasil

Pengujian

Mengisi

username.

Event focusgained

untuk select all

data yang di enty.

Menampilkan

data yang di

entry dan terblok.

Sesuai.

Mengisi

password.

Event focusgained

untuk select all

data yang di entry.

Menampilkan

data yang di

entry dan terblok.

Sesuai.

Penekanan

tombol

“Login”.

Event

actionperfomed

untuk validasi

login

Menampilkan

hasil validasi

login

Sesuai.

Penekanan

tombol “Batal”.

Event

actionperfomed

untuk keluar dari

progam.

Keluar dari

program

Sesuai.

Page 153: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

134

Tabel 5.2.2 Hasil Pengujian Black Box Proses Pengubahan Password Input Proses Output Hasil

Pengujian

Mengisi

password lama.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan

data yang di

entry dan

terblok.

Sesuai.

Mengisi

password baru.

Event focusgained

untuk select all

data yang di enty.

Menampilkan

data yang di

entry dan

terblok.

Sesuai.

Mengisi

konfirmasi

password baru.

Event focusgained

untuk select all

data yang di enty.

Menampilkan

data yang di

entry dan

terblok.

Sesuai.

Penekanan

tombol “OK”.

Event

actionperfomed

untuk pengubahan

data password.

Menampilkan

validasi

pengubahan

password

Sesuai.

Penekanan

tombol “Batal”.

Event

actionperfomed

untuk keluar dari

progam.

Keluar dari

tampilan

pengubahan

password.

Sesuai.

Page 154: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

135

Tabel 5.2.3 Hasil Pengujian Black Box Menu Utama Input Proses Output Hasil

Pengujian

Penekanan

tombol “Menu

Barang”.

Event

actionperfomed

untuk masuk ke

Menu Barang.

Menampilkan Menu

Barang.

Sesuai.

Penekanan

tombol “Menu

Penjualan”.

Event

actionperfomed

untuk masuk ke

Menu Penjualan.

Menampilkan Menu

Penjualan

Sesuai.

Penekanan

tombol “Menu

Pembelian”.

Event

actionperfomed

untuk masuk ke

MenuPenjualan.

Menampilkan Menu

Pembelian.

Sesuai.

Penekanan

tombol “Menu

Distributor”.

Event

actionperfomed

untuk masuk ke

Menu Distributor.

Menampilkan Menu

Distributor.

Sesuai.

Penekanan

tombol “Menu

Karyawan”.

Event

actionperfomed

untuk masuk ke

Menu Karyawan.

Menampilkan Menu

Karyawan.

Sesuai.

Page 155: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

136

Penekanan

tombol “Menu

Logout”.

Event

actionperfomed

untuk memanggil

Menu Login.

Menampilkan Menu

Login

Sesuai.

Penekanan

tombol “Close”.

Event

actionperfomed

untuk keluar dari

aplikasi.

Keluar dari aplikasi Sesuai.

Penekanan

tombol “Menu

Ubah Password

Admin”.

Event

actionperfomed

untuk masuk ke

Menu Ubah

Password Admin.

Menampilkan Menu

Ubah Password

Admin

Sesuai.

Penekanan

tombol “Menu

Ubah Password

Karyawan”.

Event

actionperfomed

untuk masuk ke

Menu Ubah

Password

Karyawan.

Menampilkan Menu

Ubah Password

Karyawan.

Sesuai.

Penekanan

tombol “Menu

Ubah Data

Karyawan”.

Event

actionperfomed

untuk masuk ke

Menu Ubah Data

Menampilkan Menu

Ubah Data

Karyawan.

Sesuai.

Page 156: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

137

Karyawan.

Penekanan

tombol “Menu

Hak Akses”.

Event

actionperfomed

untuk masuk ke

Menu Hak Akses.

Menampilkan Menu

Hak Akses.

Sesuai.

Penekanan

tombol “Menu

Retur

Penjualan”.

Event

actionperfomed

untuk masuk ke

Menu Retur

Barang.

Menampilkan Menu

Retur Barang.

Sesuai.

Penekanan

tombol “Menu

Retur

Pembelian”.

Event

actionperfomed

untuk masuk ke

Menu Retur

Pembelian.

Menampilkan Menu

Retur Pembelian.

Sesuai.

Penekanan

tombol “Menu

Pembayaran”.

Event

actionperfomed

untuk masuk ke

Menu

Pembayaran.

Menampilkan Menu

Pembayaran.

Sesuai.

Penekanan

tombol “Menu

Laporan

Event

actionperfomed

untuk masuk ke

Menampilkan Menu

Laporan Penjualan.

Sesuai.

Page 157: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

138

Penjualan”. Menu Laporan

Penjualan”.

Penekanan

tombol “Menu

Laporan

Pembelian”.

Event

actionperfomed

untuk masuk ke

Menu Pembelian.

Menampilkan Menu

Laporan Pembelian.

Sesuai.

Penekanan

tombol “Menu

Laporan Detail

Penjualan”.

Event

actionperfomed

untuk masuk ke

Menu Laporan

Detail Penjualan.

Menampilkan Menu

Laporan Detail

Penjualan.

Sesuai.

Penekanan

tombol “Menu

Laporan Detail

Pembelian

Kredit”.

Event

actionperfomed

untuk masuk ke

Menu Laporan

Detail Pembelian

Kredit.

Menampilkan

Laporan Detail

Pembelian Kredit.

Sesuai.

Penekanan

tombol “Menu

Laporan Detail

Pembelian

Tunai”.

Event

actionperfomed

untuk masuk ke

Menu Laporan

Detail Pembelian

Tunai.

Menampilkan

Laporan Detail

Pembelian Tunai.

Sesuai.

Page 158: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

139

Penekanan

tombol “Menu

Help”.

Event

actionperfomed

untuk masuk ke

Menu Help.

Menampilkan Menu

Help.

Sesuai.

Tabel 5.2.4 Hasil Pengujian Black Box Menu Hak Akses. Input Proses Output Hasil

Pengujian

Penekanan

tabel “Hak

Akses

Karyawan”.

Event

mouseclicked

untuk mengambil

data tabel yang di

klik.

Mengambil data dari

tabel yang dipilih.

Sesuai.

Penekanan

check box

“Karyawan”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Distributor”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Ubah

Password”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Page 159: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

140

Penekanan

check box “Hak

Akses”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Ubah Data

Karyawan”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Penjualan”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Retur Jual”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Pembelian”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Retur

Pembelian”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

check box

“Pembayaran”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Page 160: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

141

Penekanan

check box

“Laporan”.

Setselected untuk

memberikan nilai

true n false.

Menampilkan data

check box yang

dipilih.

Sesuai.

Penekanan

tombol

“Simpan”.

Event

actionperfomed

untuk mengubah

data Hak Akses

Karyawan.

Menampilkan

validasi pengubahan

data Hak Akses

Karyawan.

Sesuai.

Penekanan

tombol

“Default”.

Event

actionperfomed

untuk mengubah

data Hak Akses

Karyawan seperti

semula.

Menampilkan

validasi pengubahan

data Hak Akses

Karyawan.

Sesuai.

Penekanan

tombol “Menu

Utama”.

Event

actionperfomed

untuk Memanggil

Menu Utama.

Menampilkan Menu

Utama.

Sesuai.

Page 161: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

142

Tabel 5.2.5 Hasil Pengujian Black Box Menu Barang. Input Proses Output Hasil

Pengujian

Penekanan

tabel data

barang.

Event

mouseclicked

untuk mengambil

data tabel yang di

klik.

Mengambil data dari

tabel yang dipilih.

Sesuai.

Mengisi

masukkan kata

kunci.

Event focusgained

untuk select all

data yang di enty.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Penekanan

tombol “cari”.

Event

actionperfomed

untuk mencari

data barang yang

ada di database.

Menampilkan data

barang yang dicari

berdasarkan kata

kunci dan di

tampilkan dalam

tabel

Sesuai.

Penekanan

tombol

“Tambah”.

Event

actionperfomed

untuk Memanggil

Menu Tambah

Barang.

Menampilkan Menu

Tambah Barang.

Sesuai.

Penekanan Event Menampilkan Menu Sesuai.

Page 162: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

143

tombol “Ubah”. actionperfomed

untuk Memanggil

Menu Ubah

Barang.

Ubah Barang.

Penekanan

tombol

“Refresh”.

Event

actionperfomed

untuk

membersihkan

tabel hasil

pencarian data

barang ke

keadaan kosong.

Menampilkan hasil

tabel pencarian data

barang ke keadaan

kosong.

Sesuai.

Penekanan

tombol “Menu

Utama”.

Event

actionperfomed

untuk Memanggil

Menu Utama.

Menampilkan Menu

Utama

Sesuai.

Tabel 5.2.6 Hasil Pengujian Black Box Menu Tambah Barang. Input Proses Output Hasil

Pengujian

Mengisi “kode

barang”.

Event focusgained

untuk select all

data yang di

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Page 163: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

144

entry.

Mengisi “Nama

Barang”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Satuan Beli”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “Isi

Satuan Beli”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Satuan Jual”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “Harga

Per Satuan

Beli”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “Harga

Per Satuan

Event focusgained

untuk select all

Menampilkan data

yang di entry dan

Sesuai.

Page 164: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

145

Jual”. data yang di

entry.

terblok.

Menekan

tombol “Cari”.

Event

actionperfomed

untuk Memanggil

Menu Cari Data.

Menampilkan Menu

Cari Data.

Sesuai.

Menekan

tombol “OK”.

Event

actionperfomed

untuk menyimpan

data Barang ke

database.

Memberikan

validasi

penyimpanan data.

Sesuai.

Menekan

tombol “Batal”.

Event

actionperfomed

untuk keluar dari

Menu Tambah

Barang.

Keluar dari Menu

Tambah Barang.

Sesuai.

Tabel 5.2.7 Hasil Pengujian Black Box Menu Ubah Barang. Input Proses Output Hasil

Pengujian

Mengisi “Nama

Barang”.

Event focusgained

untuk select all

data yang di

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Page 165: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

146

entry.

Mengisi

“Satuan Jual”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Satuan Beli”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “Isi

Satuan Beli”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “Harga

Jual”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “Harga

Beli”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Penekanan

tombol “OK”.

Event

actionperfomed

Memberikan

validasi pengubahan

Sesuai.

Page 166: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

147

untuk mengubah

data Barang ke

database.

data.

Penekanan

tombol “Batal”.

Event

actionperfomed

untuk keluar dari

“Ubah Data

Barang”.

Keluar dari Menu

Ubah Keluar.

Sesuai.

Tabel 5.2.7 Hasil Pengujian Black Box Menu Distributor. Input Proses Output Hasil

Pengujian

Mengisi “Kata

Kunci”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Menekan

tombol “Cari”.

Event

actionperfomed

untuk mencari

Data Distributor

dari Database.

Menampilkan data

distributor yang di

cari ke dalam tabel.

Sesuai.

Menekan

tombol

Event

actionperfomed

Menampilkan Menu

Tambah Data

Sesuai.

Page 167: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

148

“Tambah”. untuk memanggil

menu “Tambah

Data Distributor”.

Distributor.

Menekan

tombol “Ubah”.

Event

actionperfomed

untuk memanggil

menu “Ubah Data

Distributor”.

Menampilkan Menu

Ubah Data

Distributor

Sesuai.

Menekan

tombol

“Refresh”.

Event

actionperfomed

untuk

menampilkan

semua data

distributor.

Menampilkan semua

data distributor ke

dalam tabel.

Sesuai.

Menekan

tombol “Menu

Utama”.

Event

actionperfomed

untuk memanggil

Menu Utama.

Menampilkan Menu

Utama

Sesuai.

Page 168: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

149

Tabel 5.2.7 Hasil Pengujian Black Box Menu Tambah Distributor. Input Proses Output Hasil

Pengujian

Mengisi “Nama

Distributor”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry yang

terblok.

Sesuai.

Mengisi

“Telepone”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “Fax”. Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Email”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Alamat”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Page 169: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

150

Menekan

tombol

“Simpan”.

Event

actionperfomed

untuk

menyimpan data

distributor.

Memberikan

validasi

penyimpanan data

distributor.

Sesuai.

Menekan

tombol

“Selesai”.

Event

actionperfomed

untuk keluar dari

Menu Tambah

Distributor.

Keluar dari Menu

Tambah Distributor.

Sesuai.

Tabel 5.2.8 Hasil Pengujian Black Box Menu Ubah Distributor. Input Proses Output Hasil

Pengujian

Mengisi “Nama

Distributor”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry yang

terblok.

Sesuai.

Mengisi

“Alamat”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi Event focusgained Menampilkan data Sesuai.

Page 170: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

151

“Telepone”. untuk select all

data yang di

entry. Dan hanya

bisa menerima

inputan berupa

angka.

yang di entry dan

terblok.

Mengisi “Fax”. Event focusgained

untuk select all

data yang di

entry. Dan hanya

bisa menerima

inputan berupa

angka.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Email”.

Event focusgained

untuk select all

data yang di

entry. Dan hanya

bisa menerima

inputan berupa

“format email”.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Menekan

tombol “Ubah”.

Event

actionperfomed

untuk mengubah

Memberikan

validasi pengubahan

data distributor.

Sesuai.

Page 171: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

152

data distributor

dari database.

Menekan

tombol

“selesai”.

Event

actionperfomed

untuk keluar dari

menu ubah

barang.

Keluar dari menu

ubah Distributor

Sesuai.

Tabel 5.2.9 Hasil Pengujian Black Box Menu Searching Distributor. Input Proses Output Hasil

Pengujian

Mengisi “Kata

Kunci”

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Menekan

tombol “Cari”.

Event

actionperfomed

untuk mencari

data distributor

dari database.

Menampilkan data

distributor yang di

cari ke dalam tabel.

Sesuai.

Menekan

tombol

“Refresh”.

Event

actionperfomed

untuk

Menampilkan semua

data distributor.

Sesuai.

Page 172: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

153

menampilkan

semua data

distributor.

Menekan

tombol

“Ambil”.

Event

actionperfomed

untuk mengambil

data distributor.

Mengambil data

distributor.

Sesuai.

Menekan

tombol “Batal”

Event

actionperfomed

untuk keluar dari

pencarian

distributor.

Keluar dari

pencarian data

distributor

Sesuai.

Tabel 5.2.10 Hasil Pengujian Black Box Menu Karyawan. Input Proses Output Hasil

Pengujian

Mengisi “Kata

Kunci”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Menekan

tombol “Cari”.

Event

actionperfomed

untuk mencari

Menampilkan data

yang dicari ke tabel.

Sesuai.

Page 173: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

154

data Karyawan

dari database.

Menekan

tombol

“Karyawan”.

Event

actionperfomed

untuk memanggil

menu tambah

karyawan

Menampilkan menu

tambah karyawan

Sesuai.

Menekan

tombol “Reset”.

Event

actionperfomed

untuk mengeset

username dan

password dengan

nama.

Menampilkan

validasi untuk reset

password.

Sesuai.

Menekan

tombol “Menu

Utama”.

Event

actionperfomed

untuk memanggil

menu utama.

Keluar dari Menu

Karyawan.

Sesuai.

Tabel 5.2.11 Hasil Pengujian Black Box Menu Tambah Karyawan. Input Proses Output Hasil

Pengujian

Mengisi “Nama

Karyawan”.

Event focusgained

untuk select all

Menampilkan data

yang di entry dan

Sesuai.

Page 174: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

155

data yang di

entry.

terblok.

Mengisi “No

Telepone”.

Event focusgained

untuk select all

data yang di

entry. Dan hanya

bisa menerima

inputan berupa

angka.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“UserName”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Password”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“konfirmasi

Password”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi

“Alamat”.

Event focusgained

untuk select all

Menampilkan data

yang di entry dan

Sesuai.

Page 175: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

156

data yang di

entry.

terblok.

Menekan

tombol “OK”.

Event

actionperfomed

untuk

menyimpan data

karyawan ke

dalam database.

Menampilkan

validasi

penyimpanan data

karyawan

Sesuai.

Menekan

tombol “Batal”.

Event

actionperfomed

untuk keluar dari

menu tambah data

karyawan.

Keluar dari menu

tambah data

karyawan.

Sesuai.

Tabel 5.2.12 Hasil Pengujian Black Box Menu Ubah Karyawan. Input Proses Output Hasil

Pengujian

Mengisi “Nama

Karyawan”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Mengisi “No

Telepon”.

Event focusgained

untuk select all

Menampilkan data

yang di entry dan

Sesuai.

Page 176: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

157

data yang di

entry. Dan hanya

bisa menerima

inputan angka

terblok.

Mengisi

“Alamat”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Menekan

tombol “OK”.

Event

actionperfomed

untuk mengubah

data karyawan ke

dalam database.

Menampilkan

validasi pengubahan

data karyawan.

Sesuai.

Menekan

tombol “Batal”.

Event

actionperfomed

untuk keluar dari

menu ubah data

karyawan.

Keluar dari menu

ubah karyawan.

Sesuai.

Tabel 5.2.13 Hasil Pengujian Black Box Menu Ubah Password Karyawan. Input Proses Output Hasil

Pengujian

Mengisi Event focusgained Menampilkan digit Sesuai.

Page 177: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

158

“Password

lama”.

untuk select all

data yang di

entry.

data berupa “*” yang

di entry dan terblok.

Mengisi

“Password

baru”.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan digit

data berupa “*” yang

di entry dan terblok.

Sesuai.

Mengisi

“Konfirmasi

password “.

Event focusgained

untuk select all

data yang di

entry.

Menampilkan digit

data berupa “*” yang

di entry dan terblok.

Sesuai.

Menekan

tombol “OK”.

Event

actionperfomed

untuk mengubah

password dalam

database.

Menampilkan

validasi pengubahan

password.

Sesuai.

Menekan

tombol “Batal”.

Event

actionperfomed

untuk

membatalkan

pengubahan

password

karyawan.

Keluar dari menu

ubah password

karyawan.

Sesuai.

Page 178: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

159

Tabel 5.2.14 Hasil Pengujian Black Box Menu Laporan. Input Proses Output Hasil

Pengujian

Mengisi “Dari

Tanggal”.

Entry tanggal

untuk proses awal

tanggal yang

dicari.

Menampilkan data

yang di entry.

Sesuai.

Mengisi

“sampai”.

Entry tanggal

untuk proses

akhir tanggal

yang dicari.

Menampilakn data

yang di entry.

Sesuai.

Menekan

tombol “Cari”.

Event

actionperfomed

untuk

menampilkan

laporan

(penjualan,

pembelian, detail

penjualan, detail

pembelian tunai,

detail pembelian

kredit) dengan

Menampilkan data

yang dicari ke dalam

tabel.

Sesuai.

Page 179: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

160

periode waktu

tertentu.

Menekan

tombol “OK”.

Event

actionperfomed

untuk mencetak

laporan ke printer.

Keluar dari menu

ubah data karyawan.

Sesuai.

Menekan

tombol “Menu

Utama”.

Event

actionperfomed

untuk kembali ke

menu utama.

Memanggil menu

utama.

Sesuai.

Tabel 5.2.15 Hasil Pengujian Black Box Menu Pencarian Barang. Input Proses Output Hasil

Pengujian

Mengisi

“Masukkan

kata kunci”.

Entry data yang

kan dicari

berdasarkan

kategori.

Menampilkan data

yang di entry dan

terblok.

Sesuai.

Menekan

tombol “Cari”.

Event

actionperfomed

untuk mencari

data barang dari

database.

Menampilkan data

barang yang dicari

kedalam database.

Sesuai.

Page 180: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

161

Menekan

tombol

“Refresh”.

Event

actionperfomed

untuk

menampilkan

semua data

barang tanpa

filter.

Menampilkan semua

data barang ke

dalam tabel.

Sesuai.

Menekan

tombol

“Ambil”.

Event

actionperfomed

untuk mengambil

data yang

diinginkan dan

dipindahkan ke

menu lain.

Memindahkan data

yang diinginkan ke

dalam menu lain.

Sesuai.

Menekan

tombol “Batal”.

Event

actionperfomed

untuk keluar dari

menu pencarian

barang.

Keluar dari menu

pencarian data

barang.

Sesuai.

Page 181: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

162

Tabel 5.2.16 Hasil Pengujian Black Box Menu Data Transaksi. Input Proses Output Hasil

Pengujian

Mengisi

“Tanggal

Transaksi”.

Entry tanggal

untuk mencari

tanggal penjualan

/ pembelian yang

ingin di retur.

Menampilkan data

yang di entry.

Sesuai.

Menekan

tombol “Cari”.

Event

actionperfomed

untuk mencari

data penjualan /

pembelian

berdasarkan

tanggal yang

diinginkan.

Menampilkan data

penjualan yang ingin

di retur.

Sesuai.

Menekan

tombol “Retur”.

Event

actionperfomed

untuk memanggil

menu retur.

Menampilkan menu

retur.

Sesuai.

Menekan

tombol

“Refresh”.

Event

actionperfomed

untuk

Menampilkan tabel

ke dalam keadaan

kosong.

Sesuai.

Page 182: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

163

mengosongkan

tabel.

Menekan

tombol “Menu

Utama”.

Event

actionperfomed

untuk keluar dari

menu data

transaksi.

Menampilkan menu

utama.

Sesuai.

Tabel 5.2.17 Hasil Pengujian Black Box Proses Retur. Input Proses Output Hasil

Pengujian

Mengisi kolom

“kode barang”.

Event

KeyReleased

untuk mencari

kode barang

dalam database.

Menampilkan data

barang ke dalam

tabel.

Sesuai.

Memilih baris

tertentu dalam

tabel.

Event

mousecliked

untuk mengambil

data baris yang

dipilih.

Mengambil nilai dari

baris tabel yang

dipilih.

Sesuai.

Menekan

tombol “Retur”.

Event

actionperfomed

Menampilkan

validasi

Sesuai.

Page 183: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

164

untuk menyimpan

data retur ke

dalam database.

penyimpanan data

retur.

Menekan

tombol

“Hapus”.

Event

actionperfomed

untuk menghapus

baris data barang

yang dipilih.

Menghilangkan baris

yang dipilih.

Sesuai.

Menekan

tombol “Cari

Barang”.

Event

actionperfomed

untuk mengambil

data barang yang

ingin diretur

sesuai dengan no

faktur penjualan /

pembelian.

Menampilkan data

yang ingin di retur

ke dalam baris tabel.

Sesuai.

Menekan

tombol “cetak”.

Event

actionperfomed

untuk mencetak

data retur.

Mencetak data retur

yang telah

dilakukan.

Sesuai.

Menekan

tombol

“Selesai”.

Event

actionperfomed

untuk keluar dari

Keluar dari menu

retur dan kembali ke

menu data transaksi.

Sesuai.

Page 184: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

165

menu retur.

Tabel 5.2.18 Hasil Pengujian Black Box Proses Bayar Hutang. Input Proses Output Hasil

Pengujian

Mengisi

“Bayar”.

Event

keyReleased

untuk mengisi

nilai sama dengan

total hutang

maksimal.

Menampilkan total

hutang secara

default jika inputan

melebihi total

hutang yang ada.

Sesuai.

Menekan

tombol

“Simpan”.

Event

actionperfomed

untuk menyimpan

data bayar hutang

ke database.

Menampilkan

validasi

penyimpanan data

bayar hutang.

Sesuai.

Menekan

tombol “Batal”.

Event

actionperfomed

membatalkan

pembayaran

hutang.

Keluar dari menu

bayar hutang.

Sesuai.

Page 185: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

166

Tabel 5.2.19 Hasil Pengujian Black Box Proses Pembayaran. Input Proses Output Hasil

Pengujian

Memilih baris

tertentu pada

tabel “Daftar

hutang”.

Event

mousecliked

untuk mencari

data detail rincian

hutang.

Menampilkan data

detail hutang dan

menampilkan data

sisa hutang dan telah

bayar berapa.

Sesuai.

Menekan

tombol “Bayar

hutang”.

Event

actionperfomed

untuk memanggil

menu bayar

hutang.

Menampilkan menu

bayar hutang.

Sesuai.

Menekan

tombol “Menu

Utama”.

Event

actionperfomed

untuk memanggil

menu utama.

Keluar dan

menampilkan menu

utama.

Sesuai.

Tabel 5.2.20 Hasil Pengujian Black Box Proses Pembelian. Input Proses Output Hasil

Pengujian

Memilih

“Distributor”.

Event

actionperfomed

Menampilkan data

yang di entry.

Sesuai.

Page 186: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

167

untuk

menampilkan

barang

berdasarkan nama

distributor.

Memilih jenis

pembelian.

Event

buttonclicked

untuk

menampilkan

jenis pembelian

tunai / kredit.

Menampilkan data

yang di entry.

Sesuai.

Mengisi kolom

“kode barang”.

Event

KeyReleased

untuk mencari

kode barang

berdasarkan nama

distributor di

dalam database.

Menampilkan data

barang ke dalam

tabel.

Sesuai.

Menekan

tombol “Beli”.

Event

actionperfomed

untuk menyimpan

data transaksi

pembelian ke

Menampilkan

validasi

penyimpanan data

transaksi pembelian.

Sesuai.

Page 187: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

168

dalam database.

Menekan

tombol

“Hapus”.

Event

actionperfomed

untuk menghapus

baris data barang

yang dipilih.

Menghilangkan baris

yang dipilih.

Sesuai.

Menekan

tombol “Cari

Barang”.

Event

actionperfomed

untuk mengambil

data barang yang

ingin dibeli

berdasarkan nama

distributor.

Menampilkan data

yang ingin di beli ke

dalam baris tabel.

Sesuai.

Menekan

tombol “Menu

Utama”.

Event

actionperfomed

untuk memanggil

menu utama.

Keluar dan

menampilkan menu

utama.

Sesuai.

Tabel 5.2.21 Hasil Pengujian Black Box Proses Penjualan. Input Proses Output Hasil

Pengujian

Mengisi kolom

“kode barang”.

Event

KeyReleased

Menampilkan data

barang ke dalam

Sesuai.

Page 188: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

169

untuk mencari

kode barang

dalam database.

tabel.

Mengisi

“Bayar”.

Event

actionperfomed

untuk membantu

perhitungan uang

kembalian.

Menampilkan uang

yang harus

dikembalikan.

Sesuai.

Mencek list

“cetak nota

manual”.

Event

actionperfomed

untuk mencetak

nota penjualan

secara manual.

Tombol print bisa di

tekan.

Sesuai.

Menekan

tombol “Jual”.

Event

actionperfomed

untuk menyimpan

data penjualan ke

dalam database.

Menampilkan

validasi

penyimpanan data

penjualan.

Sesuai.

Menekan

tombol

“Hapus”.

Event

actionperfomed

untuk menghapus

baris data barang

yang dipilih.

Menghilangkan baris

yang dipilih.

Sesuai.

Page 189: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

170

Menekan

tombol “Cari

Barang”.

Event

actionperfomed

untuk mengambil

data barang yang

ingin di jual

berdasarkan nama

distributor.

Menampilkan data

yang ingin di jual ke

dalam baris tabel.

Sesuai.

Page 190: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

171

BAB VI KESIMPULAN DAN SARAN

6.1 Kesimpulan

Dari hasil pembuatan sistem informasi Toko Ijo, diperoleh kesimpulan

sebagai berikut:

1. Sistem informasi pada Toko Ijo dapat diterapkan dengan pengembangan

perangkat lunak berorientasi obyek, bahasa pemrograman Java, dan

DBMS berorientasi obyek, yaitu dengan Db4o.

2. Sistem informasi pada Toko Ijo dapat menangani proses penjualan,

pembelian dan mengelola inventori dengan baik.

6.2 Saran

Di bawah ini adalah saran-saran bagi para peneliti yang ingin

menerapkan sistem informasi berorientasi obyek yang berupa:

1. Perlu dicoba untuk membuat sistem akuntansi pada Toko Ijo.

Page 191: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

172

DAFTAR PUSTAKA

http://www.java2s.com/Code/JavaAPI/javax.swing/newJFormattedTextFieldnew

MaskFormatter.htm (20 Juni 2010).

Irwanto Djon. (2007). Membangun object oriented software dengan java dan

object database. Jakarta: Elex media komputindo.

Jim Paterson, Henrik Horning, Reidar Horning. (2006). The Definitive Guide to

db4o. New York.

Roger S. Pressman. (1997). Rekayasa Perangkat Lunak Pendekatan Praktisi (Buku

I). Yogyakarta: Andi.

Whitten, Jeffery, Bentley, Lonnie, Dittman, Kevin. (2004). Metode Desain dan

Analisis Sistem edisi 6. McGrawHill. Yogyakarta: Andi.

Page 192: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L1

LAMPIRAN A

A.1 Contoh laporan penjualan

Gambar L1. Contoh laporan penjualan.

Page 193: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L2

A.2 Contoh laporan detail penjualan

Gambar L2. Contoh laporan detail penjualan.

Page 194: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L3

A.3 Contoh laporan pembelian

Gambar L3. Contoh laporan pembelian.

Page 195: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L4

A.4 Contoh laporan detail pembelian tunai

Gambar L4. Contoh laporan detail pembelian tunai.

Page 196: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L5

A.5 Contoh laporan detail pembelian kredit

Gambar L4. Contoh laporan detail pembelian kredit.

Page 197: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L6

A.6 Contoh cetak nota

Gambar L5. Contoh nota penjualan.

Page 198: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L7

LAMPIRAN B

B.1 Kelas barang

Barang

private String Kode_barang;

private String Nama_barang;

private String SatuanJual;

private int hargaJual;

private String SatuanBeli;

private int IsiSatuanBeli;

private int hargaBeli;

private int Stock;

private List<Distributor> Id_distributor = new ArrayList<Distributor>();

private List<HistoriPenjualan> _HPenjualan = new ArrayList<HistoriPenjualan>();

private List<HistoriPembelianKredit> _HPembelianKredit = new ArrayList<HistoriPembelianKredit>();

private List<HistoriPembelianTunai> _HPembelianTunai = new ArrayList<HistoriPembelianTunai>();

private List<HistoriReturBeli> _ReturBeli = new ArrayList<HistoriReturBeli>();

private List<HistoriReturJual> _ReturJual = new ArrayList<HistoriReturJual>();

_______________________________________________________________________

public Barang();

public Barang(String kodeBrg);

public Barang(String kode, String nama, String sat, int harga, int sto, String satBeli, int hargaBeli, int isisatuanBeli);

public Barang(String kode_brg, String nama, String satuan, int harga, int stok, String satBeli, int hargaBeli, int isisatuanBeli, List<Distributor> id_distr);

Page 199: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L8

public void Barang(String kode, String nama, String satuan, int harga, int stok, String satBeli, int hargaBeli, int isisatuanBeli, List<HistoriPenjualan> penjualan);

public void BarangBeli(String kode, String nama, String satuan, int harga, int stok, String satuanBeli, int hargaBeli, int isisatuanBeli, List<HistoriPembelianKredit> pembelianKredit);

public void BarangBeliTunai(String kode, String nama, String satuan, int harga, int stok, String SatBeli, int hargaBeli, int isisatuanbeli, List<HistoriPembelianTunai>BeliTunai);

public void BarangReturJual(String kode, String nama, String satuan, int harga, int stok, String SatuanBeli, int HargaBeli, int isisatuanbeli, List<HistoriReturJual> Rjual);

public void BarangReturBeli(String kode, String nama, String satuan, int harga, int stok, String satBeli, int hargaBeli, int isisatuanbeli, List<HistoriReturBeli> RBeli);

public void TambahB(String fullPath, String kode_brg, String nama, String satuan, int harga, int stok, String satuanBeli, int HargaBeli, int isisatuan, final String id);

public void UbahB(String fullPath, String kode_brg, String nama, String satuan, int harga, String satuanBeli, int hargaBeli, int isisatuanbeli);

public void HapusB(String fullPath, final String kode_brg);

B.2 Kelas detail retur pembelian

DetailReturPembelian

private List<HistoriReturBeli> _historiReturBeli = new ArrayList<HistoriReturBeli>();

private List<Pembelian> _Pembelian = new ArrayList<Pembelian>();

_______________________________________________________________________

public DetailReturPembelian();

public DetailReturPembelian(int id);

public DetailReturPembelian(int id, Date tgl, int total);

public DetailReturPembelian(int id, Date tgl, int total, List<HistoriReturBeli>hbli, List<Pembelian> beli);

Page 200: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L9

B.3 Kelas retur penjualan

DetailReturPenjualan

private List<HistoriReturJual> _historiReturJual = new ArrayList<HistoriReturJual>();

private List<Penjualan> _Penjualan = new ArrayList<Penjualan>();

________________________________________________________________________

public DetailReturPenjualan();

public DetailReturPenjualan(int id);

public DetailReturPenjualan(int id, Date tgl, int total);

B.4 Kelas distributor

Distributor

private int Id_distributor;

private String Nama;

private String Alamat;

private String Tlp;

private String Fax;

private String Email;

private List<Barang> _barang = new ArrayList<Barang>();

________________________________________________________________________

public Distributor();

public Distributor(int id, String nama, String alamat, String telp, String fax, String email);

public void UbahColect(String fullPath, final String kode, final int id_d);

public Distributor(int id, String nama, String alamat, String telp, String fax, String email, List<Barang> b);

public Distributor(int id);

public void TambahDist(String fullPath, int id, String nama, String alamat, String tlp, String fax, String email);

Page 201: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L10

public void UbahDist(String fullPath, int id, String nama, String alamat, String tlp, String fax, String email);

public void HapusDist(String fullPath, final int id);

B.5 Kelas histori pembelian kredit

HistoriPembelianKredit

private List<PembelianKredit> _PembelianKredit = new ArrayList<PembelianKredit>();

private List<Barang> _Barang = new ArrayList<Barang>();

private int Banyaknya;

private int Isi;

private int Harga;

_______________________________________________________________________

public HistoriPembelianKredit();

public HistoriPembelianKredit(int banyak, int harga);

public HistoriPembelianKredit(int banyak, int harga, List<PembelianKredit> beli, List<Barang> barangs);

public void TambahHistoriBeliKredit(String fullPath, final int no, Date tgl, int total, List<PembelianM> b, final String username, Date tglTempo);

public void hapusPembelian(String fullPath, final int noFak);

B.6 Kelas histori pembelian tunai

HistoriPembelianTunai

private List<PembelianTunai> _PembelianTunai = new ArrayList<PembelianTunai>();

private List<Barang> _Barang = new ArrayList<Barang>();

private int Banyaknya;

private int Isi;

private int Harga;

________________________________________________________________________

Page 202: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L11

public HistoriPembelianTunai();

public HistoriPembelianTunai(int banyak, int harga);

public HistoriPembelianTunai(int banyak, int harga, List<PembelianTunai> beli, List<Barang> barangs);

public void TambahHistoriBeli(String fullPath, final int no, Date tgl, int total, List<PembelianM> b, final String username);

public void hapusPembelian(String fullPath, final int noFak);

B.7 Kelas histori penjualan

HistoriPenjualan

private int Banyaknya;

private int harga;

private List<Barang> _Barang = new ArrayList<Barang>();

private List<Penjualan> _Penjualan = new ArrayList<Penjualan>();

_______________________________________________________________________

public HistoriPenjualan();

public HistoriPenjualan(List<Penjualan> jual);

public HistoriPenjualan(int banyak, int harga, List<Penjualan> jual, List<Barang> barang);

public void TambahHistori(String fullPath, final int no, Date tgl, int total, List<PenjualanM> b, final String username);

public void hapusPenjualan(String fullPath, final int noFak);

B.8 Kelas histori retur beli

HistoriReturBeli

private int banyaknya;

private int harga;

private List<DetailReturPembelian> _DetailReturBeli = new ArrayList<DetailReturPembelian>();

Page 203: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L12

private List<Barang> _Barang = new ArrayList<Barang>();

_______________________________________________________________________

public HistoriReturBeli();

public HistoriReturBeli(int banyak, int harga, List<DetailReturPembelian> dr, List<Barang> b);

public void SimpanReturBeli(String fullPath, final int id, Date tgl, int total, List<PenjualanM> pju, final int NoFak);

B.9 Kelas histori retur jual

HistoriReturJual

private int banyaknya;

private int harga;

private List<DetailReturPenjualan> _detailReturJual = new ArrayList<DetailReturPenjualan>();

private List<Barang> _Barang = new ArrayList<Barang>();

_______________________________________________________________________

public HistoriReturJual();

public HistoriReturJual(int banyak, int harga, List<DetailReturPenjualan> dr, List<Barang> b);

public void SimpanReturJual(String fullPath, final int id, Date tgl, int total, List<PenjualanM> pju, final int NoFak);

B.10 Kelas karyawan

Karyawan

private int id_Karyawan;

private String Nama;

private String Alamat;

private String Telepon;

Page 204: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L13

private boolean KaryawanS;

private boolean Distributor;

private boolean UbahPass;

private boolean HakAkses;

private boolean UbahDataKaryawan;

private boolean Penjualan;

private boolean ReturJual;

private boolean Pembelian;

private boolean ReturPembelian;

private boolean Pembayaran;

private boolean Laporan;

_______________________________________________________________________

public Karyawan();

public Karyawan(int id);

public Karyawan(int id_karyawan, String nama, String alamat, String telepon, String user, String pass, boolean kar, boolean dis, boolean passw, boolean hak, boolean ubahdata, boolean jual, boolean rjual, boolean beli, boolean rBeli, boolean bayar, boolean lapor);

public void TambahK(String fullPath, final int id, String nama, String alamat, String telepon, String user, String pass);

public void ubahHakAkses(String fullPath, boolean kar, boolean dist, boolean upass, boolean hak, boolean udkaryawan, boolean jual, boolean rjual, boolean beli, boolean rbeli, boolean bayar, boolean lap, final int id);

public void UbahK(String fullPath, int id, String nama, String alamat, String tlp);

public void HapusK(String fullPath, int id);

B.11 Kelas operator

Operator

Page 205: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L14

String Username;

String Password;

private List<Transaksi> _Transaksi;

_______________________________________________________________________

public Operator(); public Operator(String Username, String Password);

public Operator(String username, String password, List<Transaksi> TR);

public void oper(String Username);

public Operator(String password);

public void ubahPassKar(String fullPath, String password);

B.12 Kelas pembayaran

Pembayaran

private Date Tgl_Pembayaran;

private int JumlahBayar;

private int SisaHutang;

private List<PembelianKredit> _PembelianKredit = new ArrayList<PembelianKredit>();

_______________________________________________________________________

public Pembayaran();

public Pembayaran(Date tgl, int jum, int sis);

public Pembayaran(Date tgl, int jum, int sis, List<PembelianKredit> kredit);

public void SimpanCicilan(String fullPath, Date tanggal, int jum, int sis, final int nofak);

B.13 Kelas pembelian

Pembelian

Page 206: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L15

private int No_fakturPembelian;

private Date Tgl_fakturPembelian;

private int Total;

private List<DetailReturPembelian> _DetailReturPembelian = new ArrayList<DetailReturPembelian>();

_______________________________________________________________________

public Pembelian();

public Pembelian(int no, Date tgl, int total, int id, List<Operator> op);

public Pembelian(int noFak);

public void LaporanBeli(String fullPath, final Date awal, final Date akhir);

B.14 Kelas pembelian kredit

PembelianKredit

private int TotalHutang;

private Date TglJatuhTempo;

private List<Pembayaran> _Pembayaran = new ArrayList<Pembayaran>();

private List<HistoriPembelianKredit> _historiPembelianKredit = new ArrayList<HistoriPembelianKredit>();

_______________________________________________________________________

public PembelianKredit();

public PembelianKredit(int noFak);

public PembelianKredit(int no, Date tgl, int total, int id, List<Operator> op, int totalhutang, Date jatuhtempo);

public PembelianKredit(int no, Date tgl, int total, int id, List<Operator> op, int totalhutang, Date jatuhtempo, List<Pembayaran> pembayaran);

Page 207: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L16

B.15 Kelas pembelian tunai

PembelianTunai

private List<HistoriPembelianTunai> _historiPembelianTunai;

________________________________________________________________________

public PembelianTunai();

public PembelianTunai(int no, Date tgl, int total, int id, List<Operator> op);

public List<HistoriPembelianTunai> getHistoriPembelianTunai();

B.16 Kelas pemilik

Pemilik

private int id;

________________________________________________________________________

public Pemilik();

public Pemilik(String pass);

public Pemilik(int id);

public Pemilik(int id, String user, String pass);

B.17 Kelas penjualan

Penjualan

private int No_fakturPenjualan;

private Date Tgl_fakturPenjualan;

private int Total;

private List<HistoriPenjualan> _HistoriPenjualan = new ArrayList<HistoriPenjualan>();

private List<DetailReturPenjualan> _DetailReturPenjualan = new ArrayList<DetailReturPenjualan>();

Page 208: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L17

_______________________________________________________________________

public Penjualan();

public Penjualan(int No_faktur, Date tgl, int total, int id_t, List<Operator> op);

public Penjualan(int noFak);

B.18 Kelas retur

Retur

private int idRetur;

private Date tanggal;

private int total;

_______________________________________________________________________

public Retur();

public Retur(int id);

public Retur(int id, Date tgl, int total);

B.19 Kelas transaksi

Transaksi

private int id_transaksi;

private List<Operator> _Operator;

_______________________________________________________________________

public Transaksi(int id_transaksi);

public Transaksi(int id_transaksi, List<Operator>OP);

public Transaksi();

Page 209: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L18

C.1 Quisioner

Page 210: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L19

Page 211: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L20

Page 212: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L21

Page 213: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L22

Page 214: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L23

Page 215: SISTEM INFORMASI PEMBELIAN, PENJUALAN, DAN INVENTORI

L24