ABSTRAK
Penulisan skripsi ini bertujuan untuk membuat Sistem Informasi Penjualan
dan Persediaan Barang Minimarket Berbasis Linux. Pengguna dari sistem ini
adalah kasir, operator pergudangan dan manager. Sistem Informasi Penjualan dan
Persediaan Barang Minimarket Berbasis Linux ini berhasil dibuat dengan
menggunakan Gambas dan database MySql di Linux. Dengan menggunakan
sistem ini pihak minimarket tidak harus membayar lisensi.
ABSTRACT
The aim of thesis is developing Linux Based Selling and Inventory
Information System of a Minimarket. The users of this system are cashiers,
storeroom staffs and the managers. This system was successfully developed by
Gambas and MySql in Linux. Using this system, the minimarket must not pay the
licency fee.
SISTEM INFORMASI PENJUALAN DAN PERSEDIAAN
BARANG MINIMARKET BERBASIS
LINUX
S K R I P S I
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh:
Bernadus Rano Laksono
NIM: 033124006
PROGRAM STUDI ILMU KOMPUTER
JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2008
THE LINUX BASED SELLING AND INVENTORY
INFORMATION SYSTEM OF A MINIMARKET
T H E S I S
Presented As Partial Fulfillment Of The Requirements
To Obtain The Sarjana Sains Degree
Study Program Computer Sciences
By:
Bernadus Rano Laksono
NIM: 033124006
STUDY PROGRAM OF COMPUTER SCIENCES
MANAGEMENT OF MATHEMATICS
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2008
PERSEMBAHAN
Yesus Kristus Penuntun langkahku yang setia
Bunda Maria yang selalu setia mendengarkan doa-doaku
Orang tuaku tercinta,
Matheus Kastono dan Eufrozina Soares Martins
Kakakku tersayang, Antanasia Rini Antari
Adik-adikku tersayang Kristina Martins, Delfina Kastono Martins,
Zelasio Suryo Nugroho, Antonia Kastono Martins, Maria Magdalena
Kastono Martins, Martinus Filipe Kastono Martins dan Euphemia
Jaimah Martins Kastono yang selalu mendukungku
Keluarga Bapak Adi Sutrisno di Jitar
yang telah bersedia menjadikanku anak angkat
Rosa Tani Susanti yang menjadi semangat bagiku
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 20 September 2008
Penulis,
Bernadus Rano Laksono
ABSTRAK
Penulisan skripsi ini bertujuan untuk membuat Sistem Informasi Penjualan
dan Persediaan Barang Minimarket Berbasis Linux. Pengguna dari sistem ini
adalah kasir, operator pergudangan dan manager. Sistem Informasi Penjualan dan
Persediaan Barang Minimarket Berbasis Linux ini berhasil dibuat dengan
menggunakan Gambas dan database MySql di Linux. Dengan menggunakan
sistem ini pihak minimarket tidak harus membayar lisensi.
ABSTRACT
The aim of thesis is developing Linux Based Selling and Inventory
Information System of a Minimarket. The users of this system are cashiers,
storeroom staffs and the managers. This system was successfully developed by
Gambas and MySql in Linux. Using this system, the minimarket must not pay the
licency fee.
LEMBAR PERNYATAAN PERSETUJUAN
PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :
Nama
:
Bernardus Rano Laksono
NIM
:
033124006
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
“Sistem Informasi Penjualan dan Persediaan Barang Minimarket Berbasis
Linux”
beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan
data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau
media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya
maupun memberikan royalti kepada saya selama tetap mencantumkan nama saya
sebagai penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal 21 Oktober 2008
Yang menyatakan
KATA PENGANTAR
Puji syukur ke hadirat Tuhan Yang Maha Esa yang telah melimpahkan
rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini.
Skripsi ini ditulis untuk memenuhi salah satu syarat memperoleh gelar
sarjana sains Fakultas Sains dan Teknologi, Program Studi Ilmu Komputer
Universitas Sanata Dharma Yogyakarta.
Dalam penulisan skripsi ini banyak hal yang penulis alami, baik suka
maupun duka, dimana hal tersebut telah membantu penulis untuk menjadi pribadi
yang utuh. Penulis menyadari bahwa banyak peran dari pihak-pihak yang telah
membantu penulis dalam menyelesaikan skripsi ini, sehingga penulis ingin
mengucapkan banyak terima kasih kepada:
1.
Romo Ir. Greg. Heliarko S.J., S.S, B.S.T., M.A., M.Sc selaku Dekan FST
Universitas Sanata Dharma
2.
Iwan Binanto, S.Si. selaku dosen pembimbing I yang telah bersedia
memberikan bimbingan, arahan, dan ketelitiannya dalam penyusunan skripsi
ini.
3.
Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku KaProdi Ilmu Komputer.
4.
Orangtua penulis Bapak Matheus Kastono dan Ibu Eufrozina Soares Martins
di Timor-Timur.
5.
Bpk. Tukijo dan Bu Linda di sekretariat yang dengan ramah telah membantu
melayani penulis.
6.
Kakakku dan ketujuh adikku.
7.
Rosa Tani Susanti yang menjadi semangat bagi penulis.
8.
Bpk. Adi Sutrisno dan Ibu Florentina Ngatiyem yang telah memberikan
tempat untuk mengerjakan skripsi.
9.
Saudaraku sekaligus sahabatku Slamet Widodo yang telah mau mendengarkan
cerita-ceritaku dan telah mengajariku banyak hal.
10.
Sahabatku Hardi, Marjuki dan Pintoko.
11.
Sahabatku Arui dan sekeluarga yang telah meminjamkan laptop untuk bekerja.
12.
Sahabatku Donny yang telah banyak membantu.
13.
Pihak-pihak yang
belum
disebutkan yang telah membantu dalam penyelesaian
skripsi ini.
Penulis menyadari bahwa skripsi ini masih terdapat banyak kekurangan,
sehingga kritik maupun saran sangat diharapkan penulis sehingga skripsi ini bisa
menjadi lebih baik lagi.
Yogyakarta, 20 September 2008
Bernadus Rano Laksono
xi
DAFTAR ISI
HALAMAN JUDUL ...
i
TITLE ... ii
HALAMAN PERSETUJUAN PEMBIMBING ... iii
HALAMAN PENGESAHAN ...
iv
HALAMAN PERSEMBAHAN ...
v
PERNYATAAN KEASLIAN KARYA ...
vi
ABSTRAK ...
vii
ABSTRACT ... viii
KATA PENGANTAR ...
ix
DAFTAR ISI ...
xi
DAFTAR GAMBAR ...
xvi
BAB I PENDAHULUAN ...
1
A.
Latar Belakang …………... 1
B.
Rumusan Masalah …... 2
C.
Batasan Masalah ...
2
D.
Tujuan ……...
4
E.
Metodologi ... 4
F.
Sistematika Penulisan ...
4
BAB II LANDASAN TEORI ...
6
A.
Sistem Informasi Penjualan dan Persediaan Barang ... 6
1.
Konsep Dasar Sistem ...
6
2.
Konsep Dasar Informasi ... 6
3.
Konsep Dasar Sistem Informasi ... 6
4.
Konsep Dasar Sistem Informasi Penjualan dan
Persediaan barang ... 7
B.
Konsep Dasar Open Source ... 7
C.
Diagram Alir Data (DAD)/Data Flow Diagram (DFD) …... 10
D.
Entity Relationship Diagram (ERD) ... 10
xii
2.
One to many relationship 2 entitas ... 11
3.
Many to many relationship 2 entitas ... 11
E.
Basis Data ... 12
F.
Kamus Data ... 12
G.
Normalisasi ... 13
H.
MySQL ... 14
I.
Gambas ... 16
BAB III ANALISA DAN PERANCANGAN SISTEM …... 18
A.
ANALISA SISTEM ... 18
1.
Latar Belakang Pengembangan Sistem ... 18
2.
Gambaran Umum Sistem ... 19
3.
Analisa Kebutuhan ... 21
B.
DESKRIPSI UMUM SISTEM ... 22
C.
DESAIN PROSES ... 22
1.
Diagram konteks ... 23
2.
Diagram alir data level 1 Sisi kasir ... 25
3.
Diagram alir data level 1 Sisi operator ... 25
4.
Diagram alir data level 1 Sisi manager ... 26
5.
Diagram alir data level 2 untuk proses Penjualan ... 26
6.
Diagram alir data level 2 untuk proses Pergudangan ... 27
7.
Diagram alir data level 2 untuk proses Admin ... 29
8.
Diagram alir data level 3 untuk proses rekam
data penjualan ... 30
9.
Diagram alir data level 3 untuk proses
Update data barang ... 30
10.
Diagram alir data Level 3 untuk proses
Update data Supplier ...
32
11.
Diagram alir data level 3 untuk proses Update User ...
32
12.
Kamus data/Data dictionary ... 33
D.
DESAIN BASIS DATA …... 35
xiii
2.
Mendefinisikan tabel dalam program
untuk sistem (mapping) ... 36
3.
Relasi ternormalisasi ... 37
E.
DESAIN INPUT DAN OUTPUT ... 41
1.
Input kepada sistem ... 41
2.
Output dari sistem ... 42
F.
DESAIN ANTARMUKA PEMAKAI ... 43
1.
Rancangan Struktur Menu ... 43
A.
Manager ... 43
B.
Operator Pergudangan ... 44
C.
Kasir ... 44
2.
Rancangan Halaman Antarmuka ... 45
BAB IV IMPLEMENTASI SISTEM ... 51
A.
Implementasi Basis Data …... 51
B.
Implementasi Antarmuka Pengguna ... 53
1.
Halaman Utama Admin/Manager ... 54
2.
Halaman Lihat Data Barang (Manager) ... 55
3.
Halaman Lihat Detail Data Barang (Manager) ... 56
4.
Halaman Lihat Data Supplier (Manager) ... 56
5.
Halaman Lihat Laporan ... 57
6.
Halaman Laporan Stok Barang ... 57
7.
Halaman Lihat Laporan Penjualan ... 58
8.
Halaman Lihat Laporan Penjualan Harian ... 58
9.
Halaman Laporan Penjualan Harian ... 59
10.
Halaman Lihat Laporan Penjualan Bulanan ... 59
11.
Halaman Laporan Penjualan Bulanan ... 60
12.
Halaman Lihat Laporan Penjualan Tahunan ... 60
13.
Halaman Laporan Penjualan Tahunan ... 61
14.
Halaman Lihat Data User... 61
15.
Halaman Lihat Detail Data User ... 62
xiv
17.
Halaman Utama Kasir ... 63
18.
Halaman Bantuan Kasir ... 65
19.
Halaman Utama Operator pergudangan ... 66
20.
Halaman Lihat Data Barang (Operator pergudangan) ... 67
21.
Halaman Lihat Detail Data
Barang (Operator pergudangan) ... 67
22.
Halaman Lihat Data Supplier (Operator pergudangan) ... 68
23.
Halaman Lihat Detail Data
Supplier (Operator pergudangan) ... 69
24.
Halaman Tambah Data Barang ... 69
25.
Halaman Tambah Data Supplier ... 70
26.
Halaman Ubah Password Operator/Kasir ... 71
27.
Halaman Cetak Barcode... 71
C.
Implementasi Proses ... 72
1.
Implementasi Proses Koneksi ke Basis Data ... 72
2.
Implementasi Proses Login ... 74
3.
Proses Lihat Data Barang ... 75
4.
Proses Cari Data Barang ... 76
5.
Proses Lihat Data Supplier ... 77
6.
Proses Cari Data Supplier ... 78
7.
Proses Lihat Laporan ... 78
a.
Proses Lihat Laporan Stok Barang ... 78
b.
Proses Lihat Laporan Penjualan Harian ... 81
c.
Proses Lihat Laporan Penjualan Bulanan ... 84
d.
Proses Lihat Laporan Penjualan Tahunan ... 86
8.
Proses Lihat Data User ... 89
9.
Proses Tambah Data User ... 90
10.
Proses Edit Data User ... 91
11.
Proses Hapus Data User ... 93
12.
Proses Rekam Penjualan ... 94
xv
14.
Proses Tambah Data Supplier ... 101
15.
Proses Edit Data Supplier ... 102
16.
Proses Hapus Data Supplier ... 103
17.
Proses Tambah Data Barang ... 104
18.
Proses Edit Data Barang ... 106
19.
Proses Hapus Data Barang ... 107
20.
Proses Ubah Password Kasir dan Operator ... 108
21.
Proses Cetak Barcode ... 108
D.
Evaluasi Dari Pengguna ... 111
BAB V
PENUTUP ... 114
A.
Kesimpulan ... 114
B.
Saran ... 114
DAFTAR PUSTAKA ... 116
DAFTAR GAMBAR
Gambar 2.1 one to one relationship 2 entitas ………. 11
Gambar 2.2 one to many relationship 2 entitas ……….. 11
Gambar 2.3 many to many relationship 2 entitas ………..
11
Gambar 3.1 Struktur Organisasi ……….…… 19
Gambar 3.2 Diagram Konteks ……….… 23
Gambar 3.3 DAD level 1 Sisi User ………..… 25
Gambar 3.4 DAD level 1 Sisi operator ……… 25
Gambar 3.5 DAD level 1 Sisi Manager ……… 26
Gambar 3.6 DAD level 2 Proses Penjualan (proses 1) ……… 26
Gambar 3.7 DAD level 2 Proses Pergudangan (proses 2) ………..……… 27
Gambar 3.8 DAD level 2 Proses Admin (proses 3) ……….… 29
Gambar 3.9 DAD level 3 Proses Update Data Barang (proses 1.2) …..…
30
Gambar 3.10 DAD level 3 Proses Update Data Barang (proses 2.2) ……
30
Gambar 3.11 DAD level 3 Proses Update Data Supplier (proses 2.5) ..…
32
Gambar 3.12 DAD level 3 Proses Update User (proses 3.3) ………. 32
Gambar 3.13 Diagram Relasi Entitas ………..… 35
Gambar 3.14 Rancangan Struktur Menu Manager ……….…
43
Gambar 3.15 Rancangan Struktur Menu Operator Pergudangan …….….
44
Gambar 3.16 Rancangan Struktur Menu Kasir ………..…
44
Gambar 3.17 Antarmuka Login ………..… 45
Gambar 3.18 Antarmuka Halaman Manager dan
Operator Pergudangan ………..… 45
Gambar 3.19 Antarmuka Halaman Kasir ……… 46
Gambar 3.20 Antarmuka Halaman Lihat
Data (Barang, Supplier, user) ………...… 46
Gambar 3.21 Antarmuka Halaman Detail/Ubah Data Barang ………..…
47
Gambar 3.22 Antarmuka Halaman Detail/Ubah Data Supplier/User …… 47
Gambar 3.23 Antarmuka Halaman Tambah
Data (Barang, Supplier, User) ………..… 48
Gambar 3.24 Antarmuka Halaman Pilih Laporan ………..… 48
Gambar 3.25 Antarmuka Halaman Pilih Laporan Penjualan ……….…… 49
Gambar 3.26 Antarmuka Halaman Laporan Penjualan Harian ……….…
49
Gambar 3.27 Antarmuka Halaman Laporan Penjualan Bulanan ……..…
49
Gambar 3.28 Antarmuka Halaman Laporan Penjualan Tahunan …….…
50
Gambar 3.29 Antarmuka Halaman Ubah Password (user, Operator) …… 50
Gambar 4.1 Halaman Login ……….…
54
Gambar 4.2 Pesan Kesalahan Login Gagal ……….… 54
Gambar 4.3 Halaman Utama Admin/Manager ………
55
Gambar 4.4 Halaman Lihat Data Barang (Manager) ……….… 55
Gambar 4.5 Halaman Detail Data Barang (Manager) ……… 56
Gambar 4.6 Halaman Lihat Data Supplier (Manager) ……… 56
Gambar 4.7 Halaman Lihat Laporan ………..… 57
Gambar 4.8 Halaman Laporan Stok Barang ………..…
57
Gambar 4.9 Halaman Lihat Laporan Penjualan ……….…
58
Gambar 4.10 Halaman Lihat Laporan Penjualan Harian ……… 58
Gambar 4.11 Halaman Laporan Penjualan Harian ……….……… 59
Gambar 4.12 Halaman Lihat Laporan Penjualan Bulanan ………….…… 59
Gambar 4.13 Halaman Laporan Penjualan Bulanan ………..…
60
Gambar 4.14 Halaman Lihat Laporan Penjualan Tahunan ………
60
Gambar 4.15 Halaman Laporan Penjualan Tahunan ……….…
61
Gambar 4.16 Halaman Lihat Data User ………..…
61
Gambar 4.17 Halaman Lihat Detail Data User ………
62
Gambar 4.18 Halaman Tambah User ………..…
62
Gambar 4.19 Halaman Utama Kasir ………...… 63
Gambar 4.20 Pesan Memasukkan Kode Barang ………..…..…
63
Gambar 4.21 Pesan Kesalahan Kode Barang ……….… 64
Gambar 4.22 Halaman Cari Barang Untuk Kasir ………..…
64
Gambar 4.23 Ubah Jumlah Jual Barang ……….… 65
Gambar 4.24 Halaman Pembayaran ……… 65
Gambar 4.25 Halaman Bantuan Kasir ……… 66
Gambar 4.26 Halaman Utama Operator pergudangan ……… 66
Gambar 4.27 Halaman Lihat Data Barang (Operator pergudangan) ….… 67
Gambar 4.28 Halaman Lihat Detail Data
Barang (Operator pergudangan) ………..… 68
Gambar 4.29 Halaman Lihat Data Supplier (Operator pergudangan) …… 68
Gambar 4.30 Halaman Lihat Detail Data
Supplier (Operator pergudangan) ……… 69
Gambar 4.31 Halaman Tambah Data Barang ……….…… 70
Gambar 4.32 Halaman Tambah Data Supplier ………...…
70
Gambar 4.33 Halaman Ubah Password Operator/Kasir ……… 71
Gambar 4.34 Halaman Cetak Barcode Barang ………...…
72
BAB I
PENDAHULUAN
A.
Latar Belakang
Minimarket merupakan suatu tempat di mana kita dapat membeli suatu
barang yang kita butuhkan sehari-hari, contohnya alat kantor, alat pribadi,
makanan ringan, atau yang lainnya. Di dalam minimarket terdapat beberapa
pegawai yang masing-masing memiliki pekerjaan yang berbeda. Salah satu
pegawai tersebut adalah kasir. Kasir bertugas dalam hal penjualan dalam
melayani pembeli pada saat melakukan pembayaran.
Data merupakan bagian yang sangat penting di dalam suatu
peru-sahaan. Oleh karena itu, maka data seharusnya diolah sebaik mungkin
sehing-ga dapat digunakan oleh pihak-pihak yang membutuhkan.
Cara yang efektif dan efisien dalam mengolah data salah satunya
dengan menggunakan sistem berbasis komputer. Dengan menggunakan sistem
berbasis komputer maka proses pengolahan data dapat dilakukan dengan lebih
cepat dan akurat serta dapat memperkecil kesalahan yang dilakukan oleh
manusia (human error). Berdasarkan uraian di atas dan melihat betapa
pentingnya sebuah sistem berbasis komputer, maka penulis ingin membuat
sebuah sistem berbasis komputer untuk meningkatkan kinerja kasir dalam
pelayanan di minimarket.
pekerjaan mereka di tempat kerja mereka. Banyak perusahaan yang
mengeluarkan biaya yang cukup besar untuk mendapatkan sistem operasi
Microsoft windows dikarenakan tuntutan pekerjaan. Seiring dengan mahalnya
sistem operasi, maka dibutuhkan sebuah sistem operasi yang lebih murah agar
dapat membantu mengurangi pengeluaran dan menambah pemasukan bagi
suatu perusahaan.
Sistem operasi Linux adalah sistem operasi yang diberikan secara
gratis. Sehingga dapat membantu mengurangi pengeluaran dari suatu
perusahaan dan membantu menambah pemasukan bagi perusahaan. Oleh
karena itu, pembuatan sistem informasi penjualan minimarket yang akan
dibuat, akan berbasis Linux (open source) dengan menggunakan Gambas.
B.
Rumusan Masalah
Bagaimana membuat Sistem Informasi Penjualan dan Persediaan
Barang Minimarket Berbasis Linux.
C.
Batasan Masalah
Penulis membatasi kemampuan sistem dengan batasan sebagai berikut:
1.
Sistem Informasi Penjualan dan Persediaan Barang Minimarket memiliki
dua proses yang utama, yaitu:
a.
Proses pencatatan penjualan barang
b.
Proses pengolahan data persediaan barang
2.
Pemilik Toko/manager
bulanan, tahunan). Laporan yang dibuat untuk pihak manager dapat dilihat
di dalam sistem ataupun dapat disediakan dalam bentuk kertas. Manager
juga dapat menambah, mengubah, atau menghapus data user/pengguna
(kasir, operator pergudangan dan manager).
3.
Operator penjualan barang/kasir
Tugas
operator penjualan barang/kasir adalah mencatat setiap penjualan
barang pada saat terjadi transaksi penjualan. Kasir juga dapat mengubah
data password sesuai dengan keinginan kasir.
4.
Operator pengolahan data persediaan barang/operator pergudangan
Operator memiliki tugas untuk menambah, mengubah atau menghapus
data barang sesuai dengan keadaan barang sebenarnya. Operator
pergudangan juga dapat menambah, mengubah atau menghapus data
supplier. Selain itu, operator pergudangan juga dapat mengubah data
password operator pergudangan sesuai dengan keinginannya.
Pengembangan Sistem Informasi Penjualan dan Persediaan Barang
Minimarket ini akan menggunakan Gambas dan didukung database Mysql
yang bekerja di Linux.
5.
Sistem ini merupakan stand alone.
6.
Untuk harga yang bernilai desimal dibulat menjadi bilangan bulat.
7.
Sistem menggunakan resolusi monitor 1024 x 768 pixel.
8.
Sistem belum dilengkapi dengan barcode reader.
9.
Sistem belum memiliki menu untuk fasilitas perhitungan keuangan.
11.
Sistem belum dapat menampilkan grafik urutan penjualan terlaris.
12.
Sistem belum memiliki form retur penjualan.
13.
Sistem belum memiliki fasilitas untuk mengubah profil toko.
D.
Tujuan
Adapun tujuan dari penulisan tugas akhir ini adalah membuat Sistem
Informasi Penjualan dan Persediaan Barang Minimarket Berbasis Linux.
E.
Metodologi
Metode yang digunakan dalam pembuatan tugas akhir ini adalah
metode Waterfall. Metode ini memiliki urutan atau langkah sebagai berikut:
1.
Rekayasa sistem, menentukan seluruh kebutuhan ke dalam sistem.
2.
Analisis, menentukan kebutuhan sistem secara khas.
3.
Perancangan (design), membuat rancangan yang akan diimplementasikan
ke sistem.
4.
Penulisan program (coding), menerjemahkan hasil rancangan ke dalam
bahasa sistem.
5.
Pengujian, proses mencari segala kemungkinan kesalahan yang ada pada
sistem (tanpa mencari-cari kesalahan).
6.
Perawatan, proses penambahan fungsi atau peningkatan performansi.
F.
Sistematika Penulisan
Bab ini berisi mengenai latar belakang pemilihan topik, rumusan
masalah, batasan masalah, metodologi, manfaat dan sistematika
penulisan.
BAB II
LANDASAN TEORI
Bab ini akan membahas mengenai berbagai acuan dan bahan-bahan
yang dapat digunakan untuk menjawab permasalahan yang
dihadapi, diantaranya tentang suatu sistem informasi, sistem
operasi
Linux dan keterangan mengenai software yang digunakan
penulis sebagai landasan/dasar dalam penulisan.
BAB III
ANALISA DAN PERANCANGAN SISTEM
Bab ini berisi tentang analisa atas permasalahan yang dihadapi,
kebutuhan pengguna untuk dikembangkan dan menjadi referensi
dalam perancangan sistem yang meliputi perancangan proses yang
terjadi, sistem yang akan dibuat, basis data, struktur menu, input
output, user interface dan rancangan program.
BAB IV IMPLEMENTASI SISTEM
Bab ini akan menyajikan tahap-tahap implementasi program dari
aplikasi yang akan dibuat (implementasi program, basis data, antar
muka pengguna).
BAB V
PENUTUP
BAB II
LANDASAN TEORI
A.
Sistem Informasi Penjualan dan Persediaan Barang
1.
Konsep Dasar Sistem
Menurut Oetomo (2002: 168) sistem merupakan kumpulan elemen
yang saling berhubungan satu sama lain yang membentuk satu kesatuan
dalam usaha mencapai suatu tujuan.
2.
Konsep Dasar Informasi
Informasi adalah pemrosesan data yang diperoleh dari setiap elemen
sistem tersebut menjadi bentuk yang mudah dipahami dan merupakan
pengetahuan yang relevan yang dibutuhkan oleh orang untuk menambah
pemahamannya tentang fakta-fakta yang ada (Oetomo, 2002).
3.
Konsep Dasar Sistem Informasi
4.
Konsep Dasar Sistem Informasi Penjualan dan Persediaan barang
a)
Sistem informasi penjualan
merupakan sistem yang menyediakan
informasi penjualan harian, bulanan, triwulan, semesteran dan tahunan
dari masing-masing jenis barang dan supplier secara rinci. Sistem
informasi ini terkait erat dengan sistem persediaan barang, karena
setiap penjualan akan mengurangi persediaan barang (Oetomo, 2002).
b)
Sistem informasi persediaan barang
. Menurut Oetomo (2002: 170)
dengan sistem informasi dapat diperoleh informasi yang rinci tentang
item-item barang yang tersedia, dari mana suppliernya, berapa barang
yang rusak, berapa yang harus diorder lagi dan berapa banyak yang
telah kadaluarsa.
B.
Konsep Dasar Open Source
Seperti tertuang dalam OSD (Open Source Definition) yang terdapat pada
situs
http://www.opensource.org/docs/definition.php dijelaskan bahwa Open
source tidak hanya berarti bebasnya akses terhadap kode sumber.
Syarat-syarat distribusi open source software harus memenuhi kriteria-kriteria
berikut:
1.
Distribusi Ulang Gratis
2.
Kode Sumber
Program harus menyertakan kode sumber, dan harus mengizinkan distribusi
kode sumber sebagaimana distribusi bentuk terkompilasinya. Jika sebuah
produk tidak didistribusikan dengan kode sumbernya, harus ada sarana yang
terpublikasi baik untuk mendapatkan kode sumber dengan mudah. Kode
sumber harus dalam bentuk yang memudahkan programmer untuk
memodifikasi program tersebut. Bentuk intermediet, seperti output
preprosesor atau translator tidak diperbolehkan.
3.
Kerja Turunan
Lisensi harus mengizinkan modifikasi dan penerusan hasil kerja oleh orang
lain, serta harus mengizinkannya untuk didistribusikan di bawah lisensi yang
sama dengan software aslinya.
4.
Integritas Penulis Kode Sumber
Lisensi dapat melarang kode sumber untuk didistribusikan ulang dalam bentuk
termodifikasi hanya jika lisensi mengizinkan distribusi file-file tambahan
beserta kode sumber untuk tujuan memodifikasi progran pada masa
pembangunan. Lisensi harus secara eksplisit mengizinkan distribusi software
yang dibangun dari modifikasi kode sumber. Lisensi mungkin mensyaratkan
hasil kerja turunan untuk menggunakan nama atau versi yang berbeda dari
software aslinya.
5.
Tak Ada Diskriminasi terhadap Pribadi atau Golongan
Lisensi tidak boleh melarang siapapun untuk memanfaatkan program dalam
bidang atau usaha tertentu. Misalnya, tidak boleh melarang program untuk
digunakan di bidang bisnis, atau digunakan dalam riset genetika.
7.
Distribusi Lisensi
Hak-hak yang dimiliki oleh program harus dapat diaplikasikan oleh semua
orang yang menerima distribusi program tersebut, tanpa perlu penambahan
lisensi oleh pihak-pihak yang bersangkutan.
8.
Lisensi Tidak Spesifik untuk Satu Produk
Hak-hak yang dimiliki program bukan karena program tersebut menjadi
bagian distribusi software tertentu. Jika program tersebut dipisahkan dari
distribusi tersebut dan digunakan atau didistribusikan di bawah lisensi
program, semua pihak yang menerima distribusi tersebut mempunyai hak
yang sama sebagaimana hak yang dipunyai oleh distribusi software asal.
9.
Lisensi Tidak Membatasi Software Lain
Lisensi tidak boleh melakukan pembatasan terhadap software lain yang
didistribusikan bersama dengan software yang diberi lisensi. Misanya, lisensi
tidak boleh memaksa agar semua program lain yang didistribusikan melalui
medium yang sama harus merupakan open source software.
10.
Lisensi Harus Netral terhadap Teknologi
C.
Diagram Alir Data (DAD)/Data Flow Diagram (DFD)
DFD adalah suatu model logika data atau proses yang dibuat untuk
menggambarkan darimana asal data dan kemana tujuan data yang keluar dari
sistem, di mana data disimpan, proses apa yang menghasilkan data tersebut
dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data
tersebut (Kristanto, 2003).
Simbol-simbol pada DFD (Sugiarto, 2003):
= penghasil/pemakai informasi yang berada di luar batas
sistem (h/w; orang; program lain; sistem lain)
= trasformasi informasi yang berada di dalam sistem
= item data/kumpulan item data, arah anak panah
menunjukkan arah aliran data
= gudang data yang tersimpan untuk dipakai oleh satu
atau beberapa proses
Entitas
Eksternal
proses
item data
Simpanan data
D.
Entity Relationship Diagram (ERD)
Menurut Oetomo (2002: 130) E-R Diagram berfungsi untuk
1.
One to one relationship 2 entitas
Hubungan antara entitas pertama dengan entitas kedua adalah satu banding
satu (hubungan 1 : 1). Contoh: satu penjual melayani satu pembeli.
Gambar 2.1 one to one relationship 2 entitas
2.
One to many relationship 2 entitas
Hubungan antara entitas pertama dengan entitas kedua adalah satu banding
banyak (hubungan 1 : N). Contoh: satu dosen mengajar banyak mahasiswa
Gambar 2.2 one to many relationship 2 entitas
3.
Many to many relationship 2 entitas
Hubungan antara entitas pertama dengan entitas kedua adalah banyak
banding banyak (hubungan M : N). Contoh: banyak mahasiswa
mengambil banyak matakuliah.
Gambar 2.3 many to many relationship 2 entitas
layani
Pembeli
1 1
Penjual
ambil
Mahasiswa
M N
Matakuliah
mengajar
Mahasiswa
E.
Basis Data
Kumpulan file-file yang mempunyai kaitan antara satu file dengan file
yang lain sehingga membentuk satu bangunan data untuk menginformasikan
satu perusahaan, instansi dalam batasan tertentu (Kristanto, 2004).
Database merupakan komponen terpenting dalam pembangunan SI,
karena menjadi tempat untuk menampung dan mengorganisasikan seluruh
data yang ada dalam sistem, sehingga dapat dieksplorasi untuk menyusun
informasi-informasi dalam berbagai bentuk. Database merupakan himpunan
data yang saling berkaitan. Data tersebut diorganisasikan sedemikian rupa
agar tidak terjadi duplikasi yang tidak perlu, sehingga dapat diolah secara
cepat dan mudah untuk menghasilkan informasi (Oetomo, 2002).
F.
Kamus Data
Kamus data merupakan kumpulan elemen-elemen/simbol-simbol yang
digunakan untuk membantu dalam penggambaran atau pengidentifikasian
setiap field di dalam sistem (Sugiarto, 2003). Simbol-simbol dari kamus data
berupa:
=
Æ
terdiri dari
+
Æ
dan
( )
Æ
pilihan
{ }*
Æ
iterasi (perulangan) n
kali
**
Æ
komentar
[ ]
Æ
memilih salah satu
alternatif
G.
Normalisasi
Menurut Wijono (2005) bentuk-bentuk normal adalah suatu aturan yang
dikenal pada tabel-tabel dalam basisdata dan harus dipenuhi oleh tabel-tabel
tersebut pada level-level normalisasi. Suatu tabel dikatakan berada dalam
bentuk tertentu jika memenuhi kondisi tertentu.
1.
1nf
Suatu tabel dikatakan dalam bentuk normal pertama atau 1nf jika dan
hanya jika setiap atribut bernilai tunggal untuk setiap baris
2.
2nf
Suatu tabel dikatakan dalam bentuk normal pertama atau 2nf jika dan
hanya jika
a)
Berada pada bentuk 1nf
b)
Semua atribut bukan kunci memiliki dependensi sepenuhnya terhadap
kunci primer.
3.
3nf
Suatu tabel dikatakan dalam bentuk normal pertama atau 3nf jika dan
hanya jika
a)
Berada pada bentuk 2nf
H.
MySQL
Menurut Sidik (2005: 1) MySQL merupakan software sistem
manajemen
database (Database Management System – DBMS) yang sangat
populer di kalangan pemrograman web, terutama di lingkungan Linux.
Kepopuleran
MySQL dimungkinkan karena kemudahannya untuk digunakan,
cepat secara kinerja query, dan mencukupi untuk kebutuhan database
perusahaan-perusahaan skala menengah kecil.
Software
database
MySQL kini dilepas sebagai software manajemen
database yang open source, sebelumnya merupakan software database yang
shareware.
Shareware adalah suatu software yang dapat didistribusikan
secara bebas untuk keperluan penggunaan secara pribadi, tetapi jika
digunakan secara komersial maka pemakai harus mempunyai lisensi dari
pembuatnya.
Software open source menjadikan software dapat didistribusikan secara
bebas dan dapat dipergunakan untuk keperluan pribadi atau pun komersial,
termasuk di dalamnya source code dari software tersebut.
1.
Jenis Perintah SQL
a)
Data Definition Language (DDL)
pembentukan struktur database. Contoh perintah membuat database
mahasiswa:
create database mahasiswa
.
b)
Data Manipulation Language (DML)
Merupakan perintah SQL yang digunakan untuk melakukan manipulasi
data dalam database, menambahkan (insert), mengubah (update),
menghapus (delete), mengambil dan mencari data (query).
c)
Data Control Language (DCL)
Merupakan perintah untuk melakukan pendefinisian pemakai yang boleh
mengakses database, dan apa saja privelege-nya. Fasilitas ini tersedia pada
sistem manajemen database yang memiliki fasilitas daengan membatasi
pemakai dan wewenangnya. Perintah SQL DCL: commit, roolback, grant,
revoke. Secara umum DCL digunakan untuk melakukan pengelolaan akses
dan manipulasi database, terutama perintah grant
dan
revoke.
Perintah
commit dan rollback merupakan kelengkapan fasilitas yang berfungsi
untuk menyimpan atau membatalkan transaksi.
2.
Fungsi Agregat
Fungsi agregat merupakan fungsi yang disediakan oleh SQL untuk
melakukan ringkasan (summary) data, bukan menampilkan data secara
keseluruhan. Perintah di dalam fungsi agregat yang disediakan
a)
sum()
b)
avg()
Fungsi ini digunakan untuk menemukan nilai rata-rata dari isi field
yang bertype numerik.
c)
max()
Fungsi ini digunakan untuk menemukan nilai terbesar dari isi field
yang bertype numerik.
d)
min()
Fungsi ini digunakan untuk menemukan nilai terkecil dari isi field
yang bertype numerik.
e)
count()
Fungsi ini digunakan untuk mengetahui jumlah record dari suatu tabel.
Parameter pada
count()
dapat berupa dana field atau karakter.
I.
Gambas
Gambas merupakan salah satu produk open source dan free (Ridho, 2006:1).
Gambas bersifat object oriented dan berjalan di lingkungan Linux.
Gambas
memiliki banyak kesamaan dengan Visual Basic namun Gambas bukan
merupakan kloning dari Visual Basic tetapi murni proyek open source di
bawah naungan GPL (General Public Licence).
Komponen dalam Gambas
1.
Menu
2.
Toolbox
Jendela toolbox adalah tempat untuk memilih komponen objek yang akan
digunakan dalam aplikasi, seperti label,
text,
table,
combo,
radiobutton,
button, dll.
3.
Properti
Properti merupakan jendela untuk menentukan nilai-nilan dari suatu objek.
4.
Form
Form merupakan tempat untuk meletakkan objek seperti label,
button,
text, combo, table, dan sebagainya.
5.
Kode Editor
BAB III
ANALISA DAN PERANCANGAN SISTEM
A.
ANALISA SISTEM
1.
Latar Belakang Pengembangan Sistem
Dalam sebuah minimarket merekam data penjualan selalu dilakukan oleh
setiap
user (user yang memiliki jabatan sebagai kasir) dalam minimarket
pada saat terjadi transaksi penjualan. Setiap transaksi harus dilakukan
dengan cepat dan benar. Oleh karena itu dibutuhkan sistem yang dapat
membantu kerja user agar pencatatan dapat berjalan dengan baik dan
benar. Selain merekam data penjualan, terdapat proses lain di dalam
sebuah minimarket yaitu pencatatan data barang yang dilakukan oleh user
yang memiliki jabatan sebagai operator pergudangan. Setiap terjadi
pengurangan, penambahan atau pengubahan, data barang harus selalu
dicatat agar data barang selalu konsisten antara data di sistem dan data
yang nyata di gudang. User yang memiliki jabatan sebagai admin dapat
melakukan proses lihat data barang atau supplier serta user tersebut dapat
mengupdate data user yang menggunakan sistem. Sistem yang digunakan
minimarket pada umumnya masih menggunakan sistem operasi yang
terbebankan oleh biaya lisensi.
2.
Gambaran Umum Sistem
a)
Sistem yang sudah ada
Pada umumnya, sistem informasi yang digunakan dalam minimarket
menggunakan sistem yang masih dibebani oleh biaya lisensi. Sehingga
sebagian keuntungan minimarket harus dialokasikan ke biaya lisensi.
b)
Sistem yang akan dibuat
Sistem informasi yang akan dibuat menggunakan sistem operasi linux.
Dengan menggunakan sistem ini, pihak minimarket tidak dibebani oleh
biaya lisensi dari sistem informasi yang digunakan.
Struktur organisasi minimarket secara garis besarnya adalah sebagai
berikut:
Manager/Admin
Kasir Operator
Pergudangan
Gambar 3.1 Struktur Organisasi
Minimarket dipimpin oleh manager dalam sistem ini berperan sebagai
admin yang memiliki bawahan sebagai berikut:
a)
bagian penjualan/user
b)
bagian pergudangan/operator pergudangan
manager/admin minimarket yang berhak penuh terhadap sistem untuk
menjadi
user. Data user dimasukkan ke sistem oleh admin.
User dapat
menggunakan sistem ini jika data user telah tercatat di dalam sistem.
User betugas untuk mencatat setiap transaksi penjualan yang
terjadi. Orang yang dapat menjadi user adalah orang yang cepat dan lincah
dalam menggunakan keyboard. Dalam sistem ini user memasukkan data
ke sistem sebagian besar menggunakan keyboard.
User tidak dapat
menambah, mengubah atau menghapus data barang. User dapat mengubah
data
password dengan cara memasukkan password yang saat ini di
gunakan yang akan disesuaikan dengan password yang ada pada tempat
penyimpanan. Jika password sesuai, kemudian user memasukkan
password baru sesuai dengan keinginan user.
Manager dalam sistem ini berperan sebagai admin. Admin bertugas
sebagai pengendali utama sistem. Admin
dapat melihat laporan penjualan
harian, bulanan, tahunan dan melihat laporan persediaan barang. Admin
juga dapat mengubah data manager/admin,
user,
operator pergudangan.
Admin memiliki hak penuh atas sistem.
3.
Analisa Kebutuhan
Sistem yang akan dikembangkan ini diharapkan dapat digunakan untuk
membantu user dan operator pergudangan dalam merekam data penjualan
maupun kontrol sirkulasi barang agar dapat berjalan secara efektif dan
efisien. Rincian kebutuhan pemakai sistem adalah sebagai berikut:
Tabel 3.1 Kebutuhan Pemakai
No Pemakai
Kebutuhan
1 Bagian
kasir
a)
Mencatat transaksi penjualan
b)
Mengubah data password
2 Bagian
operator pergudangan
a)
Mencari data barang/supplier
b)
Melihat detail data barang/supplier
c)
Mencatat data barang baru
d)
Mengubah/menghapus data barang
e)
Menambah data supplier baru
f)
Mengubah/menghapus data supplier
g)
Mengubah data password
3 Bagian
manager/admin a)
Mencari data barang/supplier
b)
Melihat detail data barang/supplier
c)
Melihat laporan penjualan
d)
Mencari data user
e)
Menambah data user
Hardware dan software yang digunakan penulis dalam pembuatan sistem ini:
1)
Software
a.
Bahasa pemrograman : Gambas 1.9.23
b.
Database
: MySql 5.0.18
c.
Sistem operasi
: SUSE Linux 10.1
2)
Hardware
a.
Proccessor
: Intel(R) Pentium(R) 4 CPU 2.80GHz
b.
RAM
: 1016 MB
c.
VGA
: 128 MB
d.
Hard Disk
: 80 GB
e.
Resolusi monitor
: 1024 x 768 pixel
B.
DESKRIPSI UMUM SISTEM
Nama
Sistem
:
Sistem Informasi Penjualan dan Persediaan Barang
Minimarket Berbasis Linux.
Tujuan sistem : membuat Sistem Informasi Penjualan dan Persediaan Barang
Minimarket Berbasis Linux
agar kinerja user,
manager dan operator
pergudangan lebih efektif dan efisien.
C.
DESAIN PROSES
1.
Diagram konteks
Gambar 3.2 Diagram Konteks
0 SI Penjualan dan
Pergudangan kasir
manager
operator data barang terupdate
Pesan interaksi
data supplier terupdate
Data login password lama password baru data supplier terupdate data supplier baru data hapus supplier
data barang terupdate data barang baru data hapus barang
data login Data cari barang password baru Data jumlah jual barang jumlah bayar
Password lama Data transaksi
pesan interaksi data barang
data jumlah jual barang jumlah kembalian dat a u ser te ru pda te da ta u s e r te ru pd at e d ata su ppli er dat a l og in dat a c ar i lap or an dat a c ar i ba ra ng d ata ba rang d at a ca ri su ppli er dat a u ser baru dat a h apu s us er d ata lapo ra n P esa n i nter aks i
Pada gambar diagram konteks di atas ada beberapa data menggunakan data
komposit. Maksudnya, dilakukan pengelompokan data dengan tujuan agar
gambar diagram konteks tidak terlalu kompleks dan mudah dimengerti.
Berikut penjelasan dari data-data komposit diagram konteks:
a)
Data login meliputi id_User(kasir, operator, manager), password.
b)
Data User menggantikan data kasir, operator pergudangan dan manager,
yaitu meliputi ID user, nama user, alamat, nomer telepon, jenis kelamin,
tempat lahir, tanggal lahir, password, jabatan, foto.
d)
Pesan interaksi merupakan segala bentuk pesan dari sistem ke User yang
bertujuan sebagai sarana komunikasi User dengan sistem.
e)
Data barang meliputi ID barang, nama barang, jenis barang, warna, jumlah
barang, jumlah minimum, discount, harga beli, harga jual, tanggal
kadaluarsa, batas kadaluarsa, keterangan barang, ID supplier.
f)
Data
supplier meliputi ID supplier, nama supplier, alamat toko, nomer
telepon, status supplier, website/email.
g)
Data laporan merupakan data yang sama dengan data jual meliputi ID jual
(ID nota penjualan), tanggal penjualan, jumlah barang yang dijual, total
harga, ID user, ID barang.
h)
Data cari (barang, supplier, laporan) merupakan data yang digunakan
sebagai kata kunci untuk mencari data yang bersangkutan.
i)
Data hapus berkaitan dengan data cari, dimana merupakan kata kunci
untuk mencari data yang bersangkutan yang akan dihapus.
j)
Data transaksi merupakan ID barang, jumlah jual barang.
k)
Jumlah bayar atau jumlah kembalian merupakan harga dalam satuan
rupiah yang harus dibayar atau dikembalikan.
2.
Diagram alir data level 1 Sisi kasir
1 Penjualan Kasir data login pesan interaksi user barang jual Data cari barangpassword baru Data jumlah jual barang jumlah bayar
data barang
data jumlah jual barang jumlah kembalian
password valid password lama data kasir data barang Data jumlah jual barang
data jual
Password lama Data transaksi
Gambar 3.3 DAD level 1 Sisi kasir
Pada level 1 untuk sisi kasir terdapat tempat penyimpanan jual. Tempat
penyimpanan jual akan digunakan sebagai tempat penyimpanan laporan.
3.
Diagram alir data level 1 Sisi operator
2 Pergudangan operator
Data login
Pesan interaksi user
barang
data barang terupdate
supplier Data supplier
password lama password baru
data barang
data barang valid
Data op_pergd
Password lama password valid data supplier valid
data supplier terupdate data supplier terupdate data supplier baru data hapus supplier
data barang terupdate data barang baru data hapus barang
4.
Diagram alir data level 1 Sisi manager
Gambar 3.5 DAD level 1 Sisi Manager
5.
Diagram alir data level 2 untuk proses Penjualan
Gambar 3.6 DAD level 2 Proses Penjualan (proses 1)
Pada
level 2 untuk proses penjualan terdapat 4 proses dan 3 tempat
penyimpanan yaitu proses validasi login, rekam data penjualan, ubah
password dan validasi password dan tempat penyimpanannya adalah jual,
barang, dan user(user dengan jabatan user). Proses rekam data penjualan
manager
data user terupdate
data user terupdate data supplier
data login data cari laporan
3 Admin user jual Data barang data user data user valid data cari barang
data barang
barang
Data supplier supplier
data laporan data cari supplier
data user baru data hapus user
data laporan Pesan interaksi
kasir 1.1 Validasi login Data login
Data login invalid
1.2 Rekam data penjualan 1.3 Ubah password Data login valid Data login valid user data kasir Password lama password lama password baru barang Data cari barang
jumlah jual barang jumlah bayar jumlah kembalian
Data barang
data jumlah jual barang
data jumlah jual barang Data barang jual Data jual password valid Pesan gagal 1.4 Validasi password password baru
password tidak valid data kasir Data transaksi
digunakan untuk mencatat setiap transaksi penjualan yang terjadi. Proses ini
menggunakan tempat penyimpanan barang untuk pengecekan kebenaran data
barang dan tempat penyimpanan jual untuk menyimpan hasil dari transaksi
penjualan. Proses validasi login merupakan proses pertama yang dilakukan
user sebelum proses yang lain dapat dilakukan. Proses ini berguna untuk
mengecek kebenaran data dari pengguna atau user dengan tempat
penyimpanan user. Proses ubah password digunakan oleh user pada saat ingin
mengubah
password lama yang ada pada tempat penyimpanan user menjadi
password baru sesuai dengan yang diinginkan user. Proses validasi password
digunakan untuk mengecek kebenaran antara password yang dimasukkan
dengan password lama yang terdapat pada tempat penyimpanan.
6.
Diagram alir data level 2 untuk proses Pergudangan
operator Validasi login2.1
Data login Data login invalid
2.2 Update data barang 2.3 Ubah password Data login valid Data login valid user Data op_pergd Password lama Pas s wor d va lid Password lama Password baru barang Data barang valid
Data barang Data barang terupdate
Data barang terupdate
supplier Data supplier 2.4 Validasi password Pesan gagal password baru password tidak valid Pesan interaksi 2.5 Update data supplier Data login valid Data supplier Data supplier valid
Pesan interaksi Data supplier terupdate
Data supplier terupdate
Data hapus barang Data barang baru Data hapus supplier Data supplier baru
7.
Diagram alir data level 2 untuk proses Admin
Manager 3.2 Validasi login 3.3 Update User Data loginData login invalid
Data login valid
user data user
Data user terupdate
3.1 Lihat laporan jual Data laporan Data login valid Data cari laporan
Data laporan
data user data user valid pesan gagal
pesan interaksi Data user terupdate
3.4 Lihat data barang Data login valid barang Data barang
Data cari barang Data barang pesan gagal
Data hapus user Data user baru
3.5 Lihat data supplier supplier Data supplier Data login valid Data cari supplier
pesan gagal Data supplier
Gambar 3.8 DAD level 2 Proses Admin (proses 3)
Proses ini menggunakan tempat penyimpanan manager,
user, dan operator
pergudangan.
8.
Diagram alir data level 3 untuk proses rekam data penjualan
kasir 1.2.1 Rekam penjualan login valid user barang
Data cari barang jumlah jual barang jumlah bayar jumlah kembalian
Data barang
data jumlah jual barang
data jumlah jual barang Data barang jual Data jual 1.2.2 Cari data barang Data barang login valid Data transaksi Data transaksi Pesan interaksi Data kasir
Gambar 3.9 DAD level 3 Proses Update Data Barang (proses 1.2)
9.
Diagram alir data level 3 untuk proses Update data barang
operator 2.2.2 Edit data barang 2.2.1 Tambah data barang 2.2.3 Hapus data barang barang Data barang baru Data barang baru
Data barang Data hapus barang
Data barang terupdate Data barang terupdate
Informasi hapus data Pesan gagal Pesan gagal 2.2.4 Validasi data barang Data barang tidak valid
Data barang valid Data barang tidak valid supplier Data barang Data supplier login valid login valid login valid Data barang terupdate
10.
Diagram alir data Level 3 untuk proses Update data Supplier
operator 2.5.2 Edit data supplier 2.5.1 Tambah data supplier 2.5.3 Hapus data supplier supplier Data supplier baru Data supplier baruData supplier Data hapus supplier
Data supplier terupdate Data supplier terupdate
pesan hapus data Pesan gagal Pesan gagal 2.5.4 Validasi data supplier Data supplier tidak valid
Data supplier valid Data supplier tidak valid Data supplier login valid login valid login valid Data supplier terupdate
Gambar 3.11 DAD level 3 Proses Update Data Supplier (proses 2.5)
11.
Diagram alir data level 3 untuk proses Update User
manager 3.3.2
Edit data user 3.3.1 Tambah data user 3.3.3 Hapus data user
Data user baru Data user baru
Data hapus user
Data user terupdate Data user terupdate
Informasi hapus data Pesan gagal Pesan gagal 3.3.4 Validasi data user Data user tidak valid Data user tidak valid login valid login valid login valid Data user terupdate
user
Data user va
lid Data user Dat a user
Gambar 3.12 DAD level 3 Proses Update User (proses 3.3)
Kedua proses ini memiliki fungsi yang sama yaitu mengecek apakah data
supplier atau data User yang ditambahkan atau diubah tersebut sudah sesuai
dan benar dengan data yang berada pada tempat penyimpanan supplier dan
User.
12.
Kamus data/Data dictionary
Data Penjelasan
Angka
{ 0-9 }
Huruf
{ A-Z | a-z }
data login {
id_user + passwd }
data login valid *
keadaan
login sudah valid atau benar *
data login invalid *
keadaan
login belum benar ataubelum valid *
data user id_user + nm_user + alamat + no_telp + jk +
tmp_lhr + tgl_lhr + passwd + status
data user baru
* data user yang terbaru dalam sistem *
data user terupdate *
data
user yang telah terupdate *
data user valid *
data
user sudah benar atau sudah valid *
data user tidak valid *
data
user tidak benar atau tidak valid *
id_user
{ angka }
5nm_user
{ huruf | | }
20Alamat
{ huruf | | }
50no_telp
{ angka }
12Jk
{ pria | wanita }
tgl_lhr Tanggal
tmp_lhr
{ huruf }
10Tanggal
dd + / + mm + / + yyyy
Dd
{ 01-31 }
Mm
{ 01-12 }
Yyyy
{ 19 | 20 }+{ angka }
2Passwd
{ huruf | angka }
8Status
aktif | pasif
pesan gagal
* salah satu pesan dari sistem yang menunjukkan
bahwa proses yang dilewati gagal *
informasi hapus data
* salah satu informasi bahwa data telah terhapus *
data supplier baru
* data supplier yang terbaru dalam sistem *
data supplier id_supplier + nm_supp + alamat_toko + no_telp +
status + website
id_supplier
{ angka }
6nm_supp
{ huruf | | }
20alamat_toko
{ huruf | | }
50data supplier valid *
data
supplier sudah benar atau sudah valid *
data barang
{ id_brg + nm_brg + jenis + warna + jml_brg +
jml_min + discount + hrg_beli + harga + v_date +
batas + ket + kd_supply }
id_brg
{ angka }
5nm_brg
{ huruf }
20Jenis
{ huruf }
20Warna
{ huruf }
10jml_brg
{ angka }
3jml_min
{ angka }
3Discount
{ angka }
2+ %
hrg_beli
Rp + { angka }
7Harga
Rp + { angka }
7v_date Tanggal
Batas
{ angka }
3+ hari
Ket
{ huruf }
60kd_supply id_supplier
data barang baru
* data barang yang terbaru dalam sistem *
data barang terupdate
* data barang yang telah terupdate *
data barang tidak valid
* data barang yang tidak benar atau tidak valid *
data barang valid
* data barang yang sudah benar atau sudah valid *
data cari barang
{ nm_brg | ket | supplier }
data jual
{ id_jual | tgl_jual | jml_jual_brg | tot_harga |
kd_user | kd_brg }
id_jual
{ angka }
6tgl_jual tanggal
+
jam
Jam
hh + : + mm + : + ss
Hh
{ 00-23 }
Mm
{ 00-59 }
Ss
{ 00-59 }
jml_jual_brg
{ angka }
3tot_harga
Rp + { angka }
7kd_user id_user
kd_brg id_brg
data laporan
data jual
pesan interaksi
* segala bentuk informasi dari sistem ke User
sebagai sarana komunikasi *
password baru
* password yang terbaru dalam sistem *
password lama
* password yang ada pada sistem sekarang *
password valid
* password sudah benar atau sudah valid *
password tidak valid *
password tidak benar atau tidak valid *
jumlah kembalian
Rp + { angka }
7D.
DESAIN BASIS DATA
1.
Entity Relationship Diagram (ERD)
user jual barang M id_user nm_user passwd alamat no_telp
jk tmp_lhr id_brg
nm_brg jml_brg jum_min v_date discount id_jual waktu jml_jual_brg supply supplier id_supplier nm_supplier status no_telp 1 N alamat_toko N tgl_lhr jabatan status website jenis_brg warna hrg_beli harga ket batas id_jenis
Gambar 3.13 Diagram Relasi Entitas
Dari ERD di atas dapat dilihat banyak user dapat menjual banyak barang
sehingga menghasilkan sebuah tabel baru yaitu tabel jual. Dalam hal ini, user
yang berperan adalah user yang memiliki jabatan kasir. Tabel jual digunakan
untuk mencatat setiap transaksi penjualan. Key dari tebel jual adalah id_jual.
hanya disupply oleh satu supplier. Ini dimaksudkan untuk mempermudah
dalam permintaan barang atau komplain mengenai barang.
2.
Mendefinisikan tabel dalam program untuk sistem (mapping)
Sesuai dengan fungsi pertama yaitu penyimpanan data maka
penyim-panan data yang ada pada Sistem Informasi ini dibagi dalam suatu kumpulan
data yang disimpan dalam suatu file berbentuk tabel. Himpunan entitas
tersebut digambarkan pada tabel-tabel seperti di bawah ini:
1.
Tabel entitas user
id_user nm_user Alamat no_telp
jk
tmp_lhr tgl_lhr Passwd Jabatan status
Dalam tabel user terdapat 10 atribut. Key dari tabel user adalah id_user.
Status pada tabel user diatas bermaksud apakah user tersebut masih aktif atau
tidak. Untuk user yang berstatus kasir tidak dapat dihapus jika user tersebut
pernah melakukan transaksi penjualan. Data user yang dapat dihapus adalah
data
user yang tidak memiliki hubungan dengan data-data yang ada pada
sistem.
2.
Tabel entitas barang
id_brg nm_brg jenis_brg id_jenis warna jml_brg
jml_min
discount
hrg_beli harga v_date ket Batas
selanjutnya. Id_brg ditentukan berdasarkan id_jenis pada jenis barang tertentu
dengan melihat acuan nilai id_brg yang paling terakhir. Yang dimaksud
dengan v_date pada tabel barang adalah tanggal kadaluarsa. Batas pada tabel
barang berarti batas untuk mengingatkan barang tersebut sudah mendekati
tanggal kadaluarsa.
3.
Tabel entitas supplier
id_supplier nm_supplier no_telp alamat status website
Di dalam tabel supplier, id_supplier merupakan sebuah kunci (key).
Status pada tabel di atas berarti apakah supplier tersebut masih aktif
mensupply barang atau tidak.
4.
Tabel entitas jual
id_jual waktu jml_jual_brg
Tabel jual merupakan tabel yang terbentuk karena adanya hubungan
many-to-many
(M to N) antara tabel user dan tabel barang. Di dalam tabel
jual, id_jual merupakan kunci (key). Jika terjadi hubungan many-to-many,
setiap
key dari tabel yang berhubungan akan masuk ke tabel yang baru
terbentuk. Kedua key tersebut disebut kunci tamu (foreign key).
3.
Relasi ternormalisasi
Basis data dalam suatu sistem harus mengalami proses normalisasi.
Syarat normalisasi suatu basis data adalah sebagai berikut:
1.
Bentuk normal pertama
atribut bernilai tunggal untuk setiap baris.
user(id_user, nm_user, alamat, no_telp, jk, tmt_lhr, tgl_lhr, passwd, jabatan,
status)
id_user nm_user Alamat no_telp
jk
tmp_lhr tgl_lhr Passwd Jabatan status
barang(id_brg, nm_brg, jenis_brg, id_jenis, warna, jml_brg, jml_min,
discount, hrg_beli, harga, v_date, ket, batas, kd_supply)
id_brg nm_brg jenis_brg id_jenis warna jml_brg jml_min
discount
hrg_beli Harga v_date ket batas kd_supply
Kd_supply muncul disebabkan relasi antara tabel supplier dan barang
one-to-many (1 to M). kd_supply digunakan untuk mencari data supplier dari barang
tersebut.
supplier(id_supplier, nm_supp, alamat, no_telp, nm_toko)
id_supplier nm_supp alamat no_telp nm_toko
jual (id_jual, kd_brg, kd_user, waktu, jml_jual_brg)
id_jual kd_brg kd_user waktu jml_jual_brg
dari tabel user dengan jabatan kasir, kd_user
bernilai sama dengan id_user.
Kedua atribut tersebut masuk ke dalam tabel jual karena hubungan antara tabel
user dan barang adalah many-to-many (M to N).
2.
Bentuk normal kedua
Suatu tabel dikatakan dalam bentuk normal kedua (2nf) jika tabel berada
pada bentuk 1nf dan semua atribut bukan kunci memiliki dependensi
sepenuhnya terhadap kunci primer.
user(id_user, nm_user, alamat, no_telp, jk, tmt_lhr, tgl_lhr, passwd, jabatan,
status)
Dari setiap atribut pada tabel user sudah memiliki dependensi
sepenuhnya terhadap kunci primer
barang(id_brg, nm_brg, jenis_brg, id_jenis, warna, jml_brg, jml_min, discount,
hrg_beli, harga, v_date, ket, batas, kd_supply)
Pada tabel barang terdapat atribut id_jenis yang memiliki dependensi
terhadap atribut jenis_brg sehingga perlu dibuat tabel baru dengan nama
tabel jenis. Sehingga tabel barang dan tabel jenis akan menjadi:
barang(id_brg, nm_brg, jenis_brg, warna, jml_brg, jml_min, discount,
hrg_beli, harga, v_date, ket, batas, kd_supply)
jenis(id_jenis, jenis)
jenis memiliki dependensi terhadap id_jenis.
supplier(id_supplier, nm_supp, alamat, no_telp, nm_toko)
Pada tabel supplier setiap atribut sudah memiliki dependensi terhadap
kunci primer.
jual (id_jual, kd_brg, kd_user, waktu, jml_jual_brg)
Pada tabel jual setiap atribut sudah memiliki dependensi terhadap kunci
primer.
3.
Bentuk normal ketiga
Suatu tabel dikatakan dalam bentuk normal ketiga (3nf) jika tabel berada
pada bentuk 2nf dan setiap atribut bukan kunci tidak memiliki dependensi
transitif terhadap kunci primer.
Dari tabel-tabel di bawah ini sudah berbentuk normal ketiga. Hal ini
disebabkan setiap tabel dibawah ini memiliki makna tunggal untuk setiap
atribut. Kemudian dari setiap tabel memiliki atribut-atribut yang
bergantung pada kunci primer. Kemudian setiap tabel memiliki
atribut-atribut yang bukan kunci tidak memiliki dependensi transitif terhadap
kunci primer.
user(id_user, nm_user, alamat, no_telp, jk, tmt_lhr, tgl_lhr, passwd, jabatan,
status)
hrg_beli, harga, v_date, ket, batas, kd_supply)
jenis(id_jenis, jenis)
supplier(id_supplier, nm_supp, alamat, no_telp, nm_toko)
jual (id_jual, kd_brg, kd_user, waktu, jml_jual_brg)
E.
DESAIN INPUT DAN OUTPUT
1.
Input kepada sistem
Agar sistem dapat berjalan sebagaimana mestinya, sebuah sistem
membutuhkan
input yang memadai dengan ketentuan yang telah ditentukan.
Input tersebut dapat berupa data variabel, yaitu:
1.
No Id
2.
password
3.
nama User
4.
alamat
5.
no telepon
6.
jenis kelamin
7.
tempat lahir
8.
tanggal lahir
9.
id barang
10.
nama barang
11.
jumlah barang
12.
discount
13.
harga barang
14.
tanggal kadaluarsa
15.
jumlah bayar
16.
kode supplier
17.
nama supplier
18.
alamat toko
19.
website/email
2.
Output dari sistem
Sebuah sistem tentunya dibangun untuk memberikan kemudahan bagi
penggunanya dalam melakukan pekerjaan mulai dari proses hingga hasil
output yang dibutuhkan. Sistem Informasi Penjualan dan Persediaan Barang
Minimarket Berbasis Linux memiliki beberapa output sebagai berikut:
a)
Informasi yang tentang penjualan barang:
a.
Informasi total harga
b.
Informasi harga barang
c.
Informasi pembayaran
d.
Informasi jumlah sisa pembayaran
b)
Informasi yang terupdate mengenai persediaan barang
a.
Informasi data barang
b.
Informasi grafik barang
c.
Informasi tanggal kadaluarsa barang
F.
DESAIN ANTARMUKA PEMAKAI
1.
Rancangan Struktur Menu
a)
Manager
Login
Lihat Data Laporan Menu User Keluar
Barang
Supplier Detail Barang
Cetak Barcode
Lihat Data Supplier
Lihat Laporan
Stok Barang
Penjualan
Laporan Penjualan Harian
Laporan Penjualan Bulanan
Laporan Penjualan Tahunan
Lihat Data User
Detail Data User
Tambah User
Tambah User
Keluar
b)
Operator Pergudangan
Login
Lihat Data Tambah Data Menu Operator Keluar
Barang
Supplier Detail Barang
Cetak Barcode
Lihat Data Supplier
Barang
Lihat Data Supplier
Supplier
Ubah Profil Keluar
Tambah Barang
Detail Barang
Tambah Barang Lihat Data Supplier
Gambar 3.15 Rancangan Struktur Menu Operator Pergudangan
c)
Kasir
Login
Menu Kasir Bantuan
Keluar Bantuan
Keluar
Ubah Profil
2.
Rancangan Halaman Antarmuka
LOGIN
ID user
Password
Login
Tutup
Gambar 3.17 Antarmuka Login
Petunjuk/bantuan menu
Petunjuk hak akses
MENU MANAGER/OPERATOR
FOTO
MANAGER/OPERATOR
Tentang penulis
MENU KASIR
NAMA MINIMARKET
Tentang penulis
Petunjuk/bantuan kasir
Total Bayar
Tabel penjualan barang
Kode Nota
Kode barang
Gambar 3.19 Antarmuka Halaman Kasir
Tentang penulis
Keterangan tabel (Jika perlu)
Nama
Tabel data barang/supplier/user
Lihat Data Barang
/Supplier/user
Tutup
Detail data barang/
supplier/user:
Detail1:
Detail2:
Detail3:
Detail4:
Dst…
Cari Detail
Kategori 1
Kategori 2
Detail data barang:
Detail1:
Detail2:
Detail3:
Detail4:
Detail5:
Detail6:
Detail7:
Detail8:
Detail9:
Dst…
Detil Data Barang
Tutup
Grafik penjualan barang bulanan
untuk tiap tahun
Cetak barcode Ubah/Simpan Hapus
Gambar 3.21 Antarmuka Halaman Detail/Ubah Data Barang
Det