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.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
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
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
xvi
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN
A. Latar Belakang
barang yang kita butuhkan sehari-hari, contohnya alat kantor, alat pribadi,
pegawai tersebut adalah kasir. Kasir bertugas dalam hal penjualan dalam
perusahaan. Oleh karena itu, maka data seharusnya diolah sebaik mungkin
Cara yang efektif dan efisien dalam mengolah data salah satunya
berbasis komputer maka proses pengolahan data dapat dilakukan dengan lebih
cepat dan akurat serta dapat memperkecil kesalahan yang dilakukan oleh
pelayanan di minimarket.
masyarakat pada zaman modern ini. Hampir setiap perusahaan besar di negara
sistem operasi, maka dibutuhkan sebuah sistem operasi yang lebih murah agar
suatu perusahaan.
B. Rumusan Masalah
C. Batasan Masalah
2. Pemilik Toko/manager
dua bagian yaitu, laporan persediaan barang dan laporan penjualan (harian,
bulanan, tahunan). Laporan yang dibuat untuk pihak manager dapat dilihat
barang pada saat terjadi transaksi penjualan. Kasir juga dapat mengubah
BAB I PENDAHULUAN
Bab ini berisi mengenai latar belakang pemilihan topik, rumusan
yang saling berhubungan satu sama lain yang membentuk satu kesatuan
sebagai kumpulan elemen yang saling berhubungan satu sama lain yang
yang rusak, berapa yang harus diorder lagi dan berapa banyak yang
telah kadaluarsa.
Seperti tertuang dalam OSD (Open Source Definition) yang terdapat pada
source tidak hanya berarti bebasnya akses terhadap kode sumber. Syaratsyarat
berikut:
seharusnya tidak mensyaratkan royalti atau biaya lain untuk hal tersebut.
2. Kode Sumber
produk tidak didistribusikan dengan kode sumbernya, harus ada sarana yang
3. Kerja Turunan
Lisensi harus mengizinkan modifikasi dan penerusan hasil kerja oleh orang
Lisensi dapat melarang kode sumber untuk didistribusikan ulang dalam bentuk
hasil kerja turunan untuk menggunakan nama atau versi yang berbeda dari
software aslinya.
bidang atau usaha tertentu. Misalnya, tidak boleh melarang program untuk
7. Distribusi Lisensi
Hak-hak yang dimiliki oleh program harus dapat diaplikasikan oleh semua
program, semua pihak yang menerima distribusi tersebut mempunyai hak yang
tidak boleh memaksa agar semua program lain yang didistribusikan melalui
Tidak ada syarat lisensi yang merupakan predikat dari suatu teknologi atau
E. Basis Data
G. Normalisasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
H. MySQL
bebas untuk keperluan penggunaan secara pribadi, tetapi jika digunakan secara
bebas dan dapat dipergunakan untuk keperluan pribadi atau pun komersial,
tabel, membuat indeks untuk tabel, dan lain-lain yang bermuara pada
mengakses database, dan apa saja privelege-nya. Fasilitas ini tersedia pada
2. Fungsi Agregat
a) sum()
numerik.
b) avg()
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
Fungsi ini digunakan untuk menemukan nilai rata-rata dari isi field
c) max()
Fungsi ini digunakan untuk menemukan nilai terbesar dari isi field
d) min()
Fungsi ini digunakan untuk menemukan nilai terkecil dari isi field
e) count()
Fungsi ini digunakan untuk mengetahui jumlah record dari suatu tabel.
I. Gambas
Gambasbersifatobject oriented
dan berjalan di lingkungan
Linux. Gambas
Komponen dalam
Gambas
1. Menu
2. Toolbox
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
button
, dll.
3. Properti
4. Form
text, combo
, table, dan sebagainya.
5. Kode Editor
Jendela kode editor digunakan untuk menulis semua kode program seperti
class, module
, danobjek.
12
A. ANALISA SISTEM
setiap user (user yang memiliki jabatan sebagai kasir) dalam minimarket
dengan cepat dan benar. Oleh karena itu dibutuhkan sistem yang dapat
membantu kerja user agar pencatatan dapat berjalan dengan baik dan
sebuah minimarket yaitu pencatatan data barang yang dilakukan oleh user
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
13
berikut:
Manager/Admin
Operator
Kasir
Pergudangan
a) bagian penjualan/
user
b) bagian pergudangan/
operatorpergudangan
menjadi pengguna sistem ini, maka orang harus mendapat persetujuan dari
14
menjadi user. Data user dimasukkan ke sistem oleh admin. User dapat
menggunakan sistem ini jika data user telah tercatat di dalam sistem.
terjadi. Orang yang dapat menjadi user adalah orang yang cepat dan lincah
gunakan yang akan disesuaikan dengan password yang ada pada tempat
kebenaran data barang yang ada pada sistem. Artinya, jika ada
penambahan barang baru atau ada data barang yang berubah, maka data
menghapus data barang. Data barang yang ada pada sistem harus sesuai
dengan barang yang ada pada gudang. Hal ini dikarenakan data barang
15
3. Analisa Kebutuhan
membantu
userdanoperatorpergudangan dalam merekam data penjualan
maupun kontrol sirkulasi barang agar dapat berjalan secara efektif dan
No Pemakai Kebutuhan
1 Bagian kasir a) Mencatat transaksi penjualan
b) Mengubah data
password
2 Bagianoperatorpergudangana) Mencari data barang/
supplier
b) Melihat detail data barang/
supplier
c) Mencatat data barang baru
d) Mengubah/menghapus data barang
e) Menambah data
supplierbaru
f) Mengubah/menghapussupplier
data
g) Mengubah data
password
3 Bagianmanager
/admin a) Mencari data barang/
supplier
b) Melihat detail data barang/
supplier
c) Melihat laporan penjualan
d) Mencari data
user
e) Menambah data
user
f) Mengubah/menghapususer
data
Hardware dan software yang digunakan penulis dalam pembuatan sistem ini:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
1) Software
a. Bahasa pemrograman
: Gambas 1.9.23
b. Database : MySql 5.0.18
c. Sistem operasi : SUSELinux10.1
2) Hardware
a. Proccessor : Intel(R) Pentium(R) 4 CPU 2.80GHz
b. RAM : 1016 MB
c. VGA : 128 MB
d. HardDisk : 80 GB
e. Resolusi monitor : 1024 x 768
pixel
Minimarket Berbasis
Linux.
Minimarket Berbasis
Linux agar kinerjauser, manager
dan operator
C. DESAIN PROSES
Proses jalannya sistem dapat dilihat dari proses aliran data yang terjadi
berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
d) Pesan interaksi merupakan segala bentuk pesan dari sistem ke User yang
18
e) Data barang meliputi ID barang, nama barang, jenis barang, warna, jumlah
g) Data laporan merupakan data yang sama dengan data jual meliputi ID jual
(ID nota penjualan), tanggal penjualan, jumlah barang yang dijual, total
i) Data hapus berkaitan dengan data cari, dimana merupakan kata kunci
Dari diagram konteks di atas terdapat proses besar yang dapat dipecah
19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
barang, dan user(user dengan jabatan user). Proses rekam data penjualan
digunakan untuk mencatat setiap transaksi penjualan yang terjadi. Proses ini
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
penyimpanan yaitu proses validasi login, update data barang, ubah password,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
barang, user (user dengan jabatan operator) dan supplier. Proses update data
pergudangan sebelum proses yang lain dapat dilakukan. Proses ini berguna
operator pergudangan pada saat ingin mengubah password lama yang ada
pada tempat penyimpanan user menjadi password baru sesuai dengan yang
23
(manager, user, operator pergudangan) jika terdapat data yang kurang benar.
Proses ini menggunakan tempat penyimpanan manager, user, dan operator
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 3.10 DAD level 3 Proses Update Data Barang (proses 2.2)
Pada level 3 untuk proses update data barang terdapat 4 proses yaitu
proses tambah data barang, edit data barang, hapus data barang, validasi data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
barang dan terdapat 2 tempat penyimpanan yaitu barang dan supplier. Proses
tambah data barang digunakan untuk menambah data barang baru. Proses ini
proses validasi data barang apakah data barang valid atau tidak. Tempat
berada pada tempat penyimpanan supplier pada saat menyimpan data yang
baru. Proses edit data barang digunakan untuk mengedit data barang yang
mengecek data barang apakah data barang valid atau tidak. Tempat
data barang yang telah terupdate. Proses hapus data digunakan untuk
menghapus data barang yang sudah tidak digunakan lagi. Proses ini
barang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
10. Diagram alir data Level 3 untuk proses Update data Supplier
update User terdapat proses validasi data supplier dan validasi data User.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
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.
28
id_user
{ angka }5
29
Dd { 01-31 }
Mm { 01-12 }
Yyyy { 19 | 20 }+{ angka }2
Passwd { huruf | angka }8
Status 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 }6
nm_supp { huruf | | }20
alamat_toko { huruf | | }50
data supplier terupdate * data supplier yang telah terupdate *
data supplier tidak valid * data supplier tidak benar atau tidak valid *
data 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 }5
nm_brg { huruf }20
Jenis { huruf }20
Warna { huruf }10
jml_brg { angka }3
jml_min { angka }3
Discount { angka }2 + %
hrg_beli Rp + { angka }7
Harga Rp + { angka }7
v_date Tanggal
Batas { angka }3 + hari
Ket { huruf }60
kd_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 *
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
31
Ss { 00-59 }
jml_jual_brg { angka }3
tot_harga Rp + { angka }7
kd_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 }7
data jumlah jual barang { angka }3
jumlah bayar Rp + { angka }7
jumlah jual barang { angka }3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
dapat mensupply lebih dari satu barang tetapi satu barang dengan satu kode
33
34
dengan melihat acuan nilai id_brg yang paling terakhir. Yang dimaksud
dengan v_date pada tabel barang adalah tanggal kadaluarsa. Batas pada tabel
tanggal kadaluarsa.
3. Tabel entitas
supplier
id_supplie
r nm_supplier no_telp alamat status website
Di dalam tabelsupplier
, id_suppliermerupakan sebuah kunci
key.
)(
many-to-many
(M to N) antara tabel
userdan tabel barang. Di dalam tabel
terbentuk. Kedua
keytersebut disebut kunci tamu
foreign
( key
).
3. Relasi ternormalisasi
Suatu tabel dikatakan dalam bentuk normal pertama (1nf) jika setiap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
id_brg pada tabel barang. Sedangkan kd_user merupakan atribut yang berasal
dari tabel user dengan jabatan kasir, kd_user bernilai sama dengan id_user.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Kedua atribut tersebut masuk ke dalam tabel jual karena hubungan antara tabel
Suatu tabel dikatakan dalam bentuk normal kedua (2nf) jika tabel berada
pada bentuk 1nf dan semua atribut bukan kunci memiliki dependensi
status)
barang(
id_brg, nm_brg, jenis_brg, id_jenis, warna, jml_brg,
discount
jml_min,
,
terhadap atribut jenis_brg sehingga perlu dibuat tabel baru dengan nama
tabel jenis. Sehingga tabel barang dan tabel jenis akan menjadi:
barang(i
d_brg,nm_brg, jenis_brg, warna, jml_brg, jml_min,
discount
,
jenis(i
d_jenis
, jenis)
Dengan tabel jenis ini maka setiap atribut pada tabel barang memiliki
dependensi terhadap kunci primer. Begitu juga dengan tabel jenis, atribut
37
supplie
r(id_suppli
er, nm_supp, alamat, no_telp, nm_toko)
Pada tabel
suppliersetiap atribut sudah memiliki dependensi terhadap
kunci primer.
jual i(d_jual
, kd_brg
, kd_user, waktu, jml_jual_brg)
Suatu tabel dikatakan dalam bentuk normal ketiga (3nf) jika tabel berada
pada bentuk 2nf dan setiap atribut bukan kunci tidak memiliki dependensi
Dari tabel-tabel di bawah ini sudah berbentuk normal ketiga. Hal ini
disebabkan setiap tabel dibawah ini memiliki makna tunggal untuk setiap
kunci primer.
status)
38
jenis(i
d_jenis
, jenis)
supplier
(id_supplier
, nm_supp, alamat, no_telp, nm_toko)
jual i(d_jual
, kd_brg
, kd_user, waktu, jml_jual_brg)
E. DESAIN
INPUTDANOUTPUT
1. Inputkepada sistem
membutuhkan
inputyang memadai dengan ketentuan yang telah ditentukan.
1. No Id 11.jumlah barang
2. password 12.discount
9. id barang 19.website/email
10.nama barang
Dari keseluruhan
inputyang dibutuhkan sistem. Semua
inputtersebut
39
Minimarket Berbasis
Linuxmemiliki beberapa
outputsebagai berikut:
c. Informasi pembayaran
b) Informasi yangupdate
ter mengenai persediaan barang
40
a) Manager
Login
41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
LOGIN
ID user
Password
Login Tutup
MENU MANAGER/OPERATOR
FOTO
MANAGER/OPERATOR
Tentang penulis
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
MENU KASIR
NAMA MINIMARKET
Kode Nota Total Bayar
Kode barang
Petunjuk/bantuan kasir
Tentang penulis
Tutup
44
45
User)
LIHAT LAPORAN
Stok barang
Penjualan
Tutup
46
LAPORAN PENJUALAN
Tutup
LAPORAN PENJUALAN
OK
Tutup
LAPORAN PENJUALAN
Pilih Tahu
n Pilih Bulan
OK
Tutup
47
LAPORAN PENJUALAN
Pilih Tahu
n OK
Tutup
FOTO IDuser
Nama user
Alamatuser
Masukkanpassword
Passwordbaru
VerifikasiPasswordbaru
48
sebenarnya. Pada bagian awal telah disebutkan sistem ini menggunakan basis
operasi Linux, maka basis data sistem akan dibuat menggunakan Module pada
Gambas. Jika basis data pada MySql belum ada, maka basis data akan dibuat
programnya:
WITH hTable
.Fields.Add("id_brg", gb.Integer)
.Fields.Add("nm_brg", gb.String, 60)
.Fields.Add("jenis_brg", gb.String, 40)
.Fields.Add("warna", gb.String, 20)
.Fields.Add("jml_brg", gb.Integer)
.Fields.Add("jml_min", gb.Integer)
.Fields.Add("discount", gb.Integer)
.Fields.Add("hrg_beli", gb.Integer)
.Fields.Add("harga", gb.Integer)
.Fields.Add("v_date", gb.Date)
.Fields.Add("kd_supply", gb.Integer)
.Fields.Add("ket", gb.String, 100)
.Fields.Add("batas", gb.Integer,, 0)
.PrimaryKey = ["id_brg"]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
END WITH
WITH hTable
.Fields.Add("
id_supplier", gb.Integer)
.Fields.Add("nm_supplier", gb.String, 50)
.Fields.Add("no_telp", gb.String, 14)
.Fields.Add("alamat_toko", gb.String, 75)
.Fields.Add("status", gb.String, 12)
.Fields.Add("website", gb.String, 25)
.PrimaryKey id
= _supplier"]
["
.Update
END WITH
hTable = hConn.Tables.Add("
user", "MyISAM")
WITH hTable
.Fields.Add("
id_user", gb.Integer)
.Fields.Add("nm_
user", gb.String, 50)
.Fields.Add("alamat", gb.String, 75)
.Fields.Add("no_telp", gb.String, 14)
.Fields.Add("jk", gb.String, 10)
.Fields.Add("tmp_lhr", gb.String, 20)
.Fields.Add("tgl_lhr", gb.Date)
.Fields.Add("passwd", gb.String, 32)
.Fields.Add("jabatan", gb.String, 10)
.Fields.Add("foto", gb.String, 10)
.PrimaryKey id
= _user
[" "]
.Update
END WITH
END
END WITH 50
.Update
END WITH
WITH hTable
.Fields.Add("
id_jual", gb.Integer)
Gambar 4.1
.Fields.Add("kd_brg", Halaman
Login
gb.Integer)
.Fields.Add("kd_kasir", gb.Integer)
.Fields.Add("jml_jual_brg", usergb.Integer)
Halaman login ini akan memintauntuk memasukkan
id userdan
.Fields.Add("waktu", gb.String, 20)
password
user. Jika
.PrimaryKey =user
id ["salah dalam
_jual", memasukkan
"kd_brg", id dan password
"kd_kasir"] , maka
END WITH
' membuat tabel log digunakan untuk melihat siapa dan kapan sistem
digunakan
Gambar 4.2
WITH hTable Pesan Kesalahan
LoginGagal
.Fields.Add("nama_
user
",yang
Jikaid dan password gb.String, 40)sudah
dimasukkan
user benar, maka
user
.Fields.Add("jabatan", gb.String, 10)
.Fields.Add("waktu", gb.String, 20)
akan masuk ke dalam sistem sesuai dengan jabatan yanguser
dimiliki
. oleh
.PrimaryKey = ["waktu"]
1. Halaman Utama
Admin
/Manager
.Update
51
Informasi tambahan yang diberikan adalah, data stok barang yang sudah
kurang atau sudah habis, data barang yang hampir atau sudah kadaluarsa.
52
53
tersebut ditekan, maka akan tampil halaman ini. Halaman ini terdapat 3
menutup halaman.
54
akan muncul halaman ini. Dalam halaman ini terdapat 3 kategori utama
Jika kategori harian dipilih, maka akan tampil seperti dibawah ini.
user dapat melihat laporan dengan menekan tombol OK. Jika tombol OK
55
Jika kategori bulanan dipilih, maka akan tampil seperti dibawah ini.
bulan dan tahun, user dapat melihat laporan dengan menekan tombol OK.
bulanan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Jika kategori tahunan dipilih, maka akan tampil seperti dibawah ini.
57
Pada halaman utama terdapat menu lihat data user. Jika menu
58
muncul halaman lihat detail data user. Halaman ini digunakan untuk
tambah user atau tombol tambahuser. Menu dan tombol tersebut jika
59
akan diminta oleh sistem untuk memasukkan kode barang yang akan
dijual. Format kode yang diijinkan oleh sistem adalah [kode barang] atau
60
dapat memilih data barang yang akan dijual dengan menekan tombol
61
tombol Delete.
Jika barang yang akan dijual sudah selesai dimasukkan, maka kasir
62
63
bawah ini.
Jika menu lihat data barang ditekan, maka akan muncul halaman
terdapat informasi tambahan yang diberikan adalah, data stok barang yang
sudah kurang atau sudah habis, data barang yang hampir atau sudah
warna.
21.Halaman Lihat
DetailData Barang
Operator
( pergudangan)
ini digunakan untuk melihat detail barang atau mengubah data barang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
supplier
.
65
supplier
.
halaman lihat data barang terdapat tombol tambah. Menu dan tombol ini
66
halaman lihat data barang terdapat tombol tambah. Menu dan tombol ini
supplier
. Halaman ini digunakan untuk menambah
supplier
databaru. Di
67
mengubah data
password
. Pada halaman ini terdapat 3 kolom yang harus
dimasukkan sebelumnya.
68
C. Implementasi Proses
mengakses basis data. Oleh karena itu proses ini dibuat terpisah agar tidak
69
sistem adalah user yang valid. Agar data password user aman, maka data
password dari user akan dienkripsi dengan md5. Proses ini mencatat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
setiap user yang berhasil login ke dalam sistem. Proses pencatatan ini
TRY MdlVal.db.Close
MdlVal.openconn()
' message.Info("koneksi berhasil") query =
"use mnmk" 'menggunakan database mnmk sl =
MdlVal.db.Exec(query) 'mencari data valid
query = "select nm_user, jabatan from user where id_user
='" & TxtNo.Text & "' and passwd= md5('" &
TxtPass.Text & "') " sl =
MdlVal.db.Exec(query) 'mengeksekusi query
IF sl.Count = 1 THEN
IF sl!jabatan = "manager" THEN
FrmManager.Show
ME.Hide
ELSE
IF sl!jabatan = "kasir" THEN
FrmKasir.Show
ME.Hide
ELSE
IF sl!jabatan = "operator" THEN
FrmOperatorPergudangan.Show
ENDIF
ENDIF
ENDIF
spy() ELSE
message.Error("Login gagal.", "&OK")
lug = lug + 1
IF lug = 3 THEN
message.Error("Maaf silahkan coba lagi.")
ME.Close
ENDIF
ENDIF
CATCH
message.Error("Kesalahan sistem. Harap hubungi
programer\n" & error.Text & " " & error.Where)
71
.Columns[0].Width = 75
.Columns[1].Text = "Keterangan"
.Columns[1].Width = 250
.Columns[2].Text = "Jumlah"
.Columns[2].Width = 60
.Columns[3].Text = "Harga (Rp)"
.Columns[3].Width = 80
.Columns[4].Text = "Disc (%)"
.Columns[4].Width = 60
.Columns[5].Text = "Tgl Kadaluarsa"
.Columns[5].Width = 100
.Columns[6].Width = 0
.Columns[7].Width = 0
END WITH
END
72
Tbv1.Data.Alignment = align.Center
ENDIF
'====UNTUK WARNA BARANG YANG BERMASALAH DENGAN STOK=====
IF .rs[brg[2]] <= .rs[brg[6]] THEN
Tbv1.Data.Foreground = Color.Orange
ENDIF
'-------------stok habis-------------------
IF .rs[brg[2]] = 0 THEN
Tbv1.Data.Foreground = Color.Red
ENDIF
'------------kadaluarsa--------------
IF .rs[brg[5]] <> "00:00:00" THEN
tgl = .rs[brg[5]] tgl2 = Format$
(tgl, "'yy-mm-dd'")
sl11 = MdlVal.db.Exec("SELECT DATEDIFF(" & tgl2 & ",now())
as intrvl")
IF sl11!intrvl < .rs[brg[7]] THEN Tbv1.Data.BackColor =
color.RGB(197, 223, 221)
ENDIF
'=======================END=============================
END WITH
TLblItems.Text = "Jml Macam Brg: " & Tbv1.Rows.Count CATCH
message.Error("Kesalahan sistem. Harap hubungi programer\n"
& error.Text & " " & error.Where)
END
73
CmbJnsBrg.Text & "' and nm_supplier ='" & CmbSupp.Text & "'
and kd_supply=id_supplier and concat(nm_brg, '" & " " & "',
ket) like '" & "%" & TxtNmBrg.Text & "%" & "'") ELSE
MdlVal.fill_view(Tbv1, "select id_brg, concat(nm_brg, '" &
" " & "', ket) as keter, jml_brg, harga, discount, v_date,
jml_min, batas from barang where jenis_brg='" &
CmbJnsBrg.Text & "' and concat(nm_brg, '" & " " & "', ket)
like '" & "%" & TxtNmBrg.Text & "%" & "'")
ENDIF
ENDIF
TxtKdBrg.Clear
BDetail.Enabled = FALSE
item Form_Show()
END
programnya.
74
75
76
kode programnya.
77
78
79
ENDIF
ENDIF footer
CLOSE #hFile
FrmLaporan.SetPath(flname)
FrmLaporan.ShowModal
FrmLaporan.nil = 1
ELSE
message.Info("Data Penjualan Kosong!")
ENDIF
END WITH
CATCH
message.Error("Kesalahan sistem. Harap hubungi
programer\n" & error.Text & " " & error.Where) END
80
81
82
83
ENDIF
PRINT #hFile, " </tr>"
END
84
Harga Keseluruhan Penjualan: Rp. " & b & "." & a &
" </td></tr>"
ENDIF
'print footer here
footer1
CLOSE #hFile
'show the report !
FrmLaporan.SetPath(flname2)
FrmLaporan.ShowModal
FrmLaporan.nil = 3
FrmLaporan.Refresh
FrmLaporan.nil = 3
ELSE
message.Info("Data Penjualan Kosong!")
ENDIF
END WITH
CATCH
message.Error("Kesalahan sistem. Harap hubungi
programer\n" & error.Text & " " & error.Where) END
85
86
ENDIF
ENDIF
'------------
TL1.SetFocus
ELSE
IF CmbJbtn.Text = "Manager" THEN
query = "insert into user values('" & TxtId.Text & "', '" &
TxtNama.Text & "', '" & TxtAlmt.Text & "','" & TxtTlp.Text &
"', '" & CmbJk.Text & "', '" & TxtTmp.Text & "', '" &
Format$(DPick.Value, "yyyy/mm/dd") & "', md5('" & TxtPass.Text
& "'), 'manager')" sl =
MdlVal.db.Exec(query)
PictureBox1.Picture.Save("pic/FotoUser/" & TxtId.Text &
".jpg") clear()
ELSE
IF CmbJbtn.Text = "Kasir" THEN
query = "insert into user values('" & TxtId.Text & "', '" &
TxtNama.Text & "', '" & TxtAlmt.Text & "','" & TxtTlp.Text &
"', '" & CmbJk.Text & "', '" & TxtTmp.Text & "', '" &
Format$(DPick.Value, "yyyy/mm/dd") & "', md5('" & TxtPass.Text
& "'), 'kasir')" sl =
MdlVal.db.Exec(query)
PictureBox1.Picture.Save("pic/FotoUser/" & TxtId.Text &
".jpg")
clear()
ELSE
IF CmbJbtn.Text = "Operator" THEN
query = "insert into user values('" & TxtId.Text & "', '" &
TxtNama.Text & "', '" & TxtAlmt.Text & "','" & TxtTlp.Text &
"', '" & CmbJk.Text & "', '" & TxtTmp.Text & "', '" &
Format$(DPick.Value, "yyyy/mm/dd") & "', md5('" & TxtPass.Text
& "'), 'operator')" sl
= MdlVal.db.Exec(query)
PictureBox1.Picture.Save("pic/FotoUser/" & TxtId.Text &
".jpg")
clear() ENDIF
ENDIF
ENDIF
message.Info("Tambah data berhasil.")
FrmLihatDataUsr.CmbJbtn_click()
FrmLihatDataUsr.clir()
ENDIF
CATCH
message.Error("Kesalahan sistem. Harap hubungi
programer\n" & error.Text & " " & error.Where) END
87
BDPick.Visible = FALSE
BNext.Enabled = TRUE
BPrevious.Enabled = TRUE
TL2.Visible = FALSE
TL1.Text = NULL
'=========================
TxtNama.ReadOnly = TRUE
TxtAlmt.ReadOnly = TRUE
TxtTlp.ReadOnly = TRUE
CmbJk.Enabled = FALSE
TxtTmp.ReadOnly = TRUE
TxtTgl.ReadOnly = TRUE
TxtPass.ReadOnly = TRUE
CmbJbtn.Enabled = FALSE
BBrowse.Enabled = FALSE
'=========================
IF TxtId.Text = NULL OR TxtNama.Text = NULL OR TxtAlmt.Text =
NULL OR TxtTlp.Text = NULL OR TxtTmp.Text = NULL OR
TxtTgl.Text = NULL OR TxtPass.Text = NULL THEN
message.Warning("Input data gagal\nData user harus diisi")
'------------------------------
IF TxtId.Text = NULL THEN
TL1.Foreground = color.Red
TL1.Text = "ID user harus diisi."
ELSE
IF TxtNama.Text = NULL THEN
TL1.Foreground = color.Red
TL1.Text = "Nama user harus diisi."
ELSE
IF TxtAlmt.Text = NULL THEN
TL1.Foreground = color.Red
TL1.Text = "Alamat user harus diisi."
ELSE
IF TxtTlp.Text = NULL THEN
TL1.Foreground = color.Red
TL1.Text = "Nomer Telepon user harus diisi."
ELSE
IF CmbJk.Text = "Pilih Jenis Kelamin" THEN
TL1.Foreground = color.Red
TL1.Text = "Tentukan jenis kelamin user."
ELSE
IF TxtTmp.Text = NULL THEN
TL1.Foreground = color.Red
TL1.Text = "Tempat lahir user harus diisi."
ELSE
IF TxtTgl.Text = NULL THEN
TL1.Foreground = color.Red
TL1.Text = "Tanggal lahir user harus diisi."
ELSE
IF TxtPass.Text = NULL THEN
TL1.Foreground = color.Red
TL1.Text = "Password/kata sandi user harus diisi."
ELSE
IF CmbJbtn.Text = "Pilih Jabatan" THEN
TL1.Foreground = color.Red
TL1.Text = "Tentukan jabatan user."
ENDIF
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
'------------
TL1.SetFocus ELSE
p2 = TxtPass.Text
IF p1 <> p2 THEN
query = "update user set nm_user= '" & TxtNama.Text &
"',alamat= '" & TxtAlmt.Text & "',no_telp='" & TxtTlp.Text &
"',jk= '" & CmbJk.Text & "',tmp_lhr= '" & TxtTmp.Text &
"',tgl_lhr= '" & Format$(CDate(tglku), "yyyy/mm/dd") &
"',passwd= md5('" & TxtPass.Text & "'), jabatan='" &
Lower$(CmbJbtn.Text) & "' where id_user='" & TxtId.Text &"'"
sl = MdlVal.db.Exec(query)
PictureBox1.Picture.Save("pic/FotoUser/" & TxtId.Text &".jpg")
ELSE
query = "update user set nm_user= '" & TxtNama.Text &
"',alamat= '" & TxtAlmt.Text & "',no_telp='" &TxtTlp.Text &
"',jk= '" & CmbJk.Text & "',tmp_lhr= '" & TxtTmp.Text &
"',tgl_lhr= '" & Format$(CDate(tglku), "yyyy/mm/dd") & "',
jabatan='" & Lower$(CmbJbtn.Text) & "' where id_user='" &
TxtId.Text & "'" sl =
MdlVal.db.Exec(query)
PictureBox1.Picture.Save("pic/FotoUser/" & TxtId.Text &".jpg")
ENDIF
FrmManager.fluz()
message.Info("Data telah diubah.")
ENDIF
FrmLihatDataUsr.fluz()
CATCH
message.Error("Kesalahan sistem. Harap hubungi
programer\n" & error.Text & " " & error.Where) END
89
90
91
92
END
'----------------------
93
LCDNmbr.Value = 0
show_data()
ENDIF
IF key.Code = key.Enter OR key.Code = key.Return THEN
IF TxtKode.Text <> NULL THEN
input_data() LCDNmbr.Value
= 0
sl13 = MdlVal.db.Exec("select (jml_jual_brg * harga)-
(jml_jual_brg * harga)*(discount/100) total from brg_list,
barang where id_brg=kd_brg")
sl14 = MdlVal.db.Exec("select * from brg_list")
sl13.MoveFirst
FOR i = 1 TO sl14.Count
LCDNmbr.Value = LCDNmbr.Value + sl13!total
sl13.MoveNext
NEXT
LblEnter.Visible = FALSE
ELSE
message.Info("Masukkan kode barang.")
ENDIF
TxtKode.Clear
TxtKode.SetFocus
ENDIF
IF key.Code = key.Insert THEN
IF LCDNmbr.Value = 0 THEN
message.Info("Data barang tidak ada.\nF3/PageDown untuk
mencari data barang")
ELSE
FrmBayar.jkode = TxtIdJual.Text
FrmBayar.ShowModal
ENDIF
ENDIF
IF key.Code = key["Esc"] THEN
IF TxtKode.Text <> NULL THEN
TxtKode.Clear
ENDIF
ENDIF
IF key.Code = key.F3 OR key.Code = key.PageDown THEN
FrmCariBrgKasir.ShowModal
CATCH
message.Error("Kesalahan sistem. Harap hubungi programer\n"
& error.Text & " " & error.Where)
END
Proses ini digunakan kasir untuk mencari data kode barang dari
94
.Columns[1].Text = "Keterangan"
.Columns[1].Width = 320
.Columns[2].Text = "Harga (Rp)"
.Columns[2].Width = 140
.Columns[3].Text = "Disc(%)"
.Columns[3].Width = 95
.Columns[4].Text = "Valid Date"
.Columns[4].Width = 120
.Columns[5].Width = 0
END WITH
END
95
96
97
programnya.
98
programnya.
99
100
101
BSave.Visible = FALSE
BEdit.Visible = TRUE
BHapus.Visible = TRUE
BBarcode.Visible = TRUE
BDpick.Visible = FALSE
BHpsTgl.Visible = FALSE
BSave.Enabled = FALSE
BNext.Enabled = TRUE
BPrevious.Enabled = TRUE
CBBatas.Enabled = FALSE kiwo =
Left(TxtVDate.Text, 2) 'tgl tengah =
Mid(TxtVDate.Text, 4, 2) 'bln tengen =
Right(TxtVDate.Text, 4) 'thn tgl4 =
tengen & "/" & tengah & "/" & kiwo
'======================
sl = MdlVal.db.Exec("select * from supplier where
nm_supplier='" & CmbKdSupp.Text & "'")
sl1 = MdlVal.db.Exec("update barang set nm_brg='" &
TxtNmBrg.Text & "', ket='" & TxtKet.Text & "', jenis_brg='"
& CmbJnsBrg.Text & "', warna='" & TxtWarna.Text & "',
jml_brg='" & TxtJml.Text & "', jml_min='" & TxtJumMin.Text
&
"', discount='" & TxtDiscount.Text & "', hrg_beli='" &
TxtHrgBeli.Text & "', harga='" & TxtHrg.Text & "', v_date='"
& tgl4 & "', kd_supply='" & sl!id_supplier & "', batas='" &
CBBatas.Text & "' where id_brg='" & TxtIdBrg.Text & "'")
'====================================
PB.Picture.Save("pic/brg/" & TxtIdBrg.Text & ".jpg")
message.Info("Data telah diubah.")
TxtNmBrg.ReadOnly = TRUE
TxtKet.ReadOnly = TRUE
TxtWarna.ReadOnly = TRUE
TxtJml.ReadOnly = TRUE
TxtJumMin.ReadOnly = TRUE
TxtDiscount.ReadOnly = TRUE
TxtHrgBeli.ReadOnly = TRUE
TxtHrg.ReadOnly = TRUE
TxtLaba.ReadOnly = TRUE
TxtVDate.ReadOnly = TRUE
CmbKdSupp.Enabled = FALSE
BDetailSupply.Enabled = FALSE
ENDIF
ENDIF CATCH
message.Error("Kesalahan sistem. Harap hubungi programer\n"
& error.Text & " " & error.Where) END
akan dihapus harus dipastikan tidak digunakan oleh entitas yang lain atau
102
103
END
104
105
FrmCetakBrcd.SetPath(flname0)
END
FrmCetakBrcd.ShowModal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
3. Ragu-ragu (nilai 2)
4. Setuju (nilai 3)
112
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
Penulis memberikan kriteria baik apabila indeks nilai jawaban lebih dari
atau sama dengan 3. Berikut adalah hasil rata-rata kriteria jawaban dari
kuisioner tersebut.
1. Pengamalan pengguna.
2. Mempelajari aplikasi
Dari hasil kuisioner, diperoleh nilai rata-rata untuk kriteria kedua adalah
untuk dipelajari.
3. Navigasi aplikasi
Dari hasil kuisioner, diperoleh nilai rata-rata untuk kriteria ketiga adalah
4. Reaksi keseluruhan
5. Manfaat aplikasi
Dari hasil kuisioner, diperoleh nilai rata-rata untuk kriteria kelima adalah
sesuai.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
BAB V
PENUTUP
A. Kesimpulan
source
. Sehingga dengan keadaan seperti itu, pihak minimarket yang
untuk digunakan.
B. Saran
adalah:
terlaris.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
114
DAFTAR PUSTAKA
Kristanto, A. 2003.
Perancangan Sistem Informasi dan Aplikasinya
. Yogyakarta:
Gava Media.
Kristanto, H. 2004.
Konsep dan Perancangan Database
. Yogyakarta: Andi
Ridho, M. 2006.
Panduan Aplikatif Pemrograman Gambas
. Yogyakarta: Andi
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI