Sie sind auf Seite 1von 146

BAB I

PENDAHULUAN
1.1.

Latar Belakang
Dewasa ini persaingan semakin ketat dan berkembang sejalan dengan kemajuan
ilmu pengetahuan, teknologi serta dunia informasi. Ketiga hal tersebut telah banyak
mempengaruhi kehidupan masyarakat dunia internasional pada umumnya. Hampir setiap
kegiatan dan aktifitas kehidupan tidak terlepas dari peralatan canggih, mutakhir dan serba
modern contohnya adalah komputer.
Dalam dunia bisnis perlunya komputer nampaknya tidak dapat dihindarkan lagi.
Sebut saja dalam bidang perdagangan dan perbankan dimana sisterm informasi dan
pengolahan data yang cepat dan efisien harus segera diwujudkan. Hal ini tentunya untuk
meningkatkan pelayanan kepada para pelanggan.
Komputer merupakan alat canggih tepat waktu dan tepat guna di dalam
membantu proses pelayanan transaksi, membuat laporan serta untuk mempermudah dan
mempercepat proses kerja.
Sebagaimana penulis ketahui bahwa masih ada perusahaan-perusahaan kecil di
dalam negeri yang melakukan pencatatan transaksi penjualan masih belum memanfaatkan
komputer sebagai alat bantu. Seiring terjadinya hambatan yang ditemui dibagian
administrasi penjualan dalam menerangkan item-item serta kode-kode barang yang akan
dijual dalam jumlah yang banyak sehingga apabila informasi yang dibutuhkan mengenai
nama barang dan harganya masih memerlukan waktu yang relatif cukup lama untuk
mendapatkannya.

2
Disini diperlukan kecermatan pengolahan data kode barang, nama barang dan
harganya serta hal-hal pendukung yang dibutuhkan. Sehingga pada saat dibutuhkan
informasi tersebut sudah tersedia.
Berdasarkan uraian di atas, penulis tertarik untuk menguraikan masalah tersebut
di dalam skripsi ini dengan mengambil judul :
PERANCANGAN DAN IMPLEMENTASI SISTEM PENJUALAN
CD DAN DVD TUTORIAL PADA CV. IBNU YUSUF EFFORT

1.2.

Maksud dan Tujuan


Maksud dari penulisan skripsi ini adalah :
1. Menarapkan ilmu pengetahuan yang telah di dapat di Fakultas Teknologi
Informasi Universitas Respati Indonesia.
2. Untuk dapat menyajikan informasi penjualan CD Dan DVD Tutorial yang
tersedia pada CV. Ibnu Yusuf Effort.
3. Mempermudah proses pencatatan dan pelaporan penjualan CD Dan DVD
Tutorial.
Tujuan dari penulisan skripsi ini adalah untuk memenuhi satu syarat kelulusan
strata satu ( S1 ) di Fakultas Teknologi Informasi Program Studi Teknik Informatika
Universitas Respati Indonesia .
1.3. Ruang Lingkup
Ruang lingkup masalah yang akan dibahas dalam penulisan skripsi ini adalah
kegiatan yang terjadi pada CV. Ibnu Yusuf Effort dimulai dari proses input data barang,
transaksi penjualan tunai sampai dengan laporan data transaksi secara periodik.

1.4. Metode Penelitian


Dalam rangka mengumpulkan data-data yang diperlukan dalam penyusunan
skripsi ini, yang dilakukan penulis antara lain :
1. Metode Pengamatan Langsung (Observasi)
Penulis mengamatai langsung ke beberapa CD Dan DVD Tutorial terhadap
kegiatan yang dilakukan yang berhubungan dengan masalah yang hendak dibahas.
2.

Wawancara (Interview)
Penulis Bertanya langsung kepada pemilik dan orang yang berhubungan langsung
dengan kegiatan tersebut.

3.

Studi Pustaka
Penulis mengumpulkan data dan informasi yang diperlukan dengan memperlajari
buku-buku yang berhubungan dengan penulisan skripsi dan sebagai pengambilan
referensi.
1.5. Sistematika Penulisan
Agar penulisan data terarah dan mudah dimengerti, maka sistematika penulisan
dibagi dalam beberapa bab sebagai berikut:

BAB I

PENDAHULUAN

Dalam bab ini berisi gambaran secara umum tentang latar belakang masalah, maksud
dan tujuan, metode penelitian, ruang lingkup dan sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini berisikan tentang konsep dasar sistem informasi yang berkaitan dengan
permasalahan yang dibahas struktur sistem informasi, komponen sistem informasi
manajemen, peralatan pendukung (Tools System) yang berkaitan dengan ruang lingkup
penulisan.
BAB III ANALISA SISTEM BERJALAN
Membahas secara umum yang berkaitan sistem berjalan yang meliputi umum,
prosedur sistem berjalan, diagram alir data sistem berjalan, kamus data, spesifikasi
sistem berjalan, spesifikasi sistem kompoter, permasalahan pokok dan alternatif
pemecahan masalah.
BAB IV SISTEM YANG DIUSULKAN
Bab ini berisi tentang sistem flow usulan, spesifikasi file, stuktur kode, spesifikasi file,
stuktur kode, spesifikasi bentuk masukan, spesifikasi bentuk keluaran, spesifikasi
program.
BAB V PENUTUP
Sebagai Penutup dari Penulisan skripsi ini akan dikemukakan kesimpulan dan saran.

BAB II
LANDASAN TEORI
2.1 Konsep Dasar Pemrograman
Menurut Tata Sutabri (2005:148) Progam adalah suatu kumpulan instruksiinstruksi atau kode yang disusun secara logis dan sistematis sehingga merupakan suatu
prosedur yang lengkap yang akhirnya dapat digunakan oleh pemakai dalam pengoprasian
aplikasi. Bahasa komputer juga merupakan sarana komunikasi yang menjembatani antara
manusia dengan komputer. Bahasa-bahasa yang dipakai oleh programer untuk menuliskan
kumpulan instruksi atau program disebut bahasa pemrograman. Terdapat dua jenis bahasa
pemrograman yang terdiri dari:
1. Bahasa Tingkat Tinggi (High Level Language)
Agar instruksi tersebut menjadi suatu program yang dapat dimengerti oleh
komputer, maka instruksi tersebut harus dituliskan kedalam bahasa pemrograman
yang dapat diterjemahkan oleh kompilator yang disebut dengan bahasa tingkat
tinggi. Yang merupakan bahasa tingkat tinggi, diantaranya : BASIC, COBOL,
FORTRAN, ALGOL, dan sebagainya.
2. Bahasa Tingkat Rendah (Low Level Language)
Bahasa yang dimengerti oleh mesin komputer adalah instruksi dalam bahasa mesin
(Machine Language) yang merupakan bahasa tingkat rendah. Salah satu jenis
bahasa komputer yang termasuk dalam bahasa tingkat rendah ini disebut dengan
Assembler. Instruksi-instruksi yang dibuat dalam bahasa pemrograman disebut
program sumber (Source Program), sedangkan program yang sudah diterjemahkan

6
kedalam bahasa mesin disebut program object (Object Program). Ciri bahasa
tingkat rendah adalah bahwa cara penulisan instruksinya sangat mendekati bentuk
instruksi-instruksi dalam bahasa mesin.
Setelah permasalahan dan kebutuhan input dan output telah didefinisikan dengan
jelas, maka untuk keperluan penulisan programnya harus ditentukan terlebih
dahulu bahasa pemrograman yang akan digunakan. Sebagai contoh adalah
program Visual Basic 6.0. Didalam Visual Basic anda diberi kemudahan dalam
penggunannya karena dengan program ini anda tidak akan lagi menulis instruksi
pemrograman dalam betuk kode-kode baris, tetapi secara mudah anda akan
melakukan drag and drop pada obyek yang akan anda gunakan. Visul Basic
tegolong dalam bahasa pemrograman tingkat tinggi (high level language) yang
berasal dari BASIC (Beginner All Purpose Symbolic Instruction Code) yang dalam
sejarahnya sudah banyak digunakan oleh programmer untuk menyusun
aplikasinya.
3.

HIPO (Hierarcy Plus Input-Process-Output)


Menurut Jogiyanto HM

(2001:787) HIPO (Hierarcy Plus Input-Process-

Output) merupakan metodologi yang dikembangkan oleh IBM. HIPO sebenarnya


adalah alat dokumentasi program. HIPO juga banyak digunakan sebagai alat
desain dan teknik dokumentasi dalam siklus pengembangan sistem. HIPO berbasis
pada fungsi, yaitu tiap-tiap modul didalam sistem digambarkan oleh fungsi
utamanya.
HIPO dapat digunakan sebagai alat pengembangan sistem dan teknik dokumentasi
program. Fungsi-fungsi dari sistem digambarkan oleh HIPO dalam tiga tingkatan.
Untuk masing-masing tingkatan digambarkan dalam bentuk diagram sendiri.

7
Dengan demikian HIPO menggunakan tiga macam diagram untuk masing-masing
tingkatannya. Adapun tingkatan-tingkatan tersebut adalah sebagai berikut:
a. VTOC (Visual Table Of Contents)
Diagram ini menggambarkan hubungan dari fungsi-fungsi di sistem secara
berjenjang.
b. Overview Diagram
Diagram ini menunjukan secara garis besar hubungan dari input, proses dan
output. Bagian input menunjukan item-item yang akan digunakan oleh bagian
proses. Bagian proses berisi sejumlah langkah-langkah yang menggambarkan
kerja dari fungsi. Bagian output berisi item-item data yang dihasilkan atau
modifikasi oleh langkah-langkah proses.
c. Detail Program
Detail Diagram merupakan diagram tingkat yang paling rendah di diagram
HIPO. Diagram ini berisi dengan elemen-elemen dasar dari paket yang
menggambarkan secara rinci kerja dari fungsi.
4.

Flowchart
Menurut Jogiyanto HM (2001:766) Diagram Alur (Flowchart), merupakan
simbol-simbol yang digunakan untuk menggambarkan urutan proses yang terjadi
didalam suatu program komputer secara sistematis dan logis. Diagram alir terdiri
dari simbol-simbol yang mewakili fungsi langkah program dan garis alir (flow
lines) menunjukan urutan dari simbol-simbol yang akan dikerjakan.
Berikut ini adalah bentuk dasar struktur logika yang diwakili oleh bagan alir:

8
a. Struktur urut sederhana (simple sequence structure)
Struktur ini hanya berisi langkah-langkah yang urut saja, satu diikuti yang
lainnya.
b. Struktur Bercabang (branch structure)
Struktur ini suatu loncatan ke proses tertentu oleh statemen GOTO atau
statemen IF.
c. Struktur seleksi (selection structure)
Struktur ini merupakan penyelesaian kondisi yang menggunakan statemen IFTHEN-ELSE.
d. Stuktur perulangan FOR (FOR loop structure)
Struktur ini merupakan perulangan beberapa blok statemen yang dibentuk
dengan statemen FOR.
e. Struktur perulangan DO-WHILE (DO-WHILE structure)
Struktur ini menunjukan suatu blok statemen akan dikerjakan (DO) berulangulang selama (WHILE) kondisi yang diseleksi masih terpenuhi dan akan keluar
dari lingkungan loop bola kondisi sudah tidak terpenuhi.
f. Struktur perulangan DO-UNTIL (DO-UNTIL loop structure)
Struktur ini menunjukan suatu blok statemen akan dikerjakan (DO) sampai
(UNTIL) kondisi yang diseleksi tidak terpenuhi.
g. Struktur CASE (CASE structure)
Stukrut ini akan memproses sebuah blok statemen pada salah satu kondisi case
yang terpenuhi dari sejumlah case yang ada.

9
2.2.

Konsep Normalisasi
Menurut Tata Sutabri (2005:232) Untuk dapat melakukan langkah-langkah
sesuai yang diberikan oleh metodologi pengembangan sistem yang tersetruktur, maka
dibutuhkan suatu alat dan teknik untuk dapat melaksanakannya. Alat-alat yang digunakan
dalam suatu metodologi umumnya berupa gambar, tabel, diagram atau kode.
Menurut Linda Marinda (2004:118) Normalisasi adalah proses pengelompokkan elemen
data menjadi tabel-tabel yang menunjukkaan entity dan relasinya. Dimana kondisi yang
diuji untuk membantu mengurangi atau mencegah timbulnya masalah yang berhubungan
dengan pengolahan data di dalam database.
Terdapat beberapa macam kunci (key function) biasa digunakan di dalam pengolahan
database sebagai berikut:
a. Primary key
Kunci utama pada suatu tabel yang berguna sebagai pengenal yang befungsi
untuk menangani field yang nilainya tidak boleh sama.
b. Candidate key
Sama dengan halnya primary key, nilai setiap field tidak boleh sama, bedanya
jumlah index candidate boleh lebih dari satu dalam satu tabel.
c. Alternate key
Kunci kandidat yang tidak dipakai sebagai Primary key.
d. Foreign key
Satu atribut yang melengkapi satu relationship.
Pada proses normalisasi ini perlu dikenal definisi dari tahapan normalisasi
yaitu sebagai berikut:

10
a.

Bentuk Tidak Normal (Unnormalized Form)


Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan
mengikuti suatu format tertentu, data dapat saja tidak lengkap atau
terduplikasi. Data dikumpulkan apa adanya sesuai kedatangannya.
b. Bentuk Normal Kesatu (1NF / First Normal Form)
Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam flat file
(file data Rata-rata), data dibentuk dalam satu record demi record dan nilai dari
field berupa atomic value. Tidak ada set atribut yang berulang atau atribut
bernilai ganda (multivalue).
c. Bentuk Normal Kedua (2NF / Second Normal Form)
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi
kreteria bentuk normal kesatu. Atribut bukan kunci haruslah bergantung secara
fungsi pada kunci utama atau primary key.
d. Bentuk Normal Ketiga (3NF / Third Normal Form)
Untuk menjadikan bentuk normal ketiga maka relasi haruslah dalam bentuk
normal kedua dan semua atribut bukan primer tidak mempunyai hubungan
yang transitif. Dengan kata lain, setiap atribut bukan kunci haruslah
bergantung hanya pada primary key dan pada primary key secara menyeluruh.
e. Boyce-Codd Normal Form (BCNF)
Untuk menjadi Boyce-Codd Normal Form, relasi harus dalam bentuk normal
kesatu dan setiap atribut harus bergantung fungsi pada atribut super key.

11
2.3.

Konsep Data Flowchart Diagram


Penjualan adalah suatu proses sosial dan manajerial dimana individu dan
kelompok mendapat kebutuhan dan keinginan mereka dengan menciptakan,
menawarkan dan bertukar sesuatu yang bernilai satu sama lain. Pendefinisian ini
berdasarkan pada konsep kebutuhan, keinginan, dan permintaan dari produk, nilai,
biaya dan kepuasan dalam pertukaran, transaksi dan hubungan pasar, pemasaran, serta
penjualan.
Di dalam penjualan terdiri dari semua pelanggan potensial yang memiliki
kebutuhan dan keinginan tertentu, serta mau dan mampu turut dalam pertukaran untuk
memenuhi kebutuhan atau keinginan itu.
Perusahaan atau organisasi harus melakukan usaha pernjualan dan promosi
yang agresif. Dalam hal ini konsep tersebut beranggapan bahwa jika konsumen tidak
mau membeli maka konsumen harus didorong supaya membeli dengan berbagai cara
promosi dan usaha penjualan yang efektif untuk merangsang pembeli. Dalam
melakukan penjualan suatu perusahaan harus memusatkan pada kebutuhan menjual
yaitu menukar produknya menjadi nilai uang.
a.

Persyaratan DFD
Ada persyaratan yang harus dipatuhi dalam penggunaan diagram alir data
untuk membuat model sistem adalah sebagai berikut:
1.

Di dalam diagram alir data, Extenal entity tidak dapat bertemu

dengan data store.


2.

Di dalam diagram alir data, Data store tidak dapat bertemu dengan external

entity.

12
3.

Setiap proses harus ada data flow yang masuk dan juga ada data flow yang

keluar.
4.

Di dalam diagram alir data, tidak diperkenankan External entity bertemu

dengan external entity.


b.

Simbol yang digunakan Data Alir Diagram


Beberapa simbol yang digunakan DFD untuk maksud mewakili sebagai berikut:
1. Kesatuan Luar (External Entity) atau Batas Sistem (Boundary).
Sistem akan menerima input dan menghasilkan output kepada lingkungan luarnya.
Kesatuan luar merupakan kesatuan dilingkungan luar sistem yang dapat berupa
orang, organisasi atau sistem lainnya yang berada dilingkungan luarnya yang akan
memberikan input atau menerima output dari sistem.
2. Arus Data (Data Flow).
Arus data (Data Flow) di DFD diberi simbol suatu anak panah. Arus data ini
mengalir diantara proses (Process), simpanan data (Data Store) dan kesatuan luar
(External Entity). Arus ini merupakan arus dari data yang dapat berupa masukkan
untuk sistem atau hasil dari proses sistem. Arus data sebaiknya diberi nama yang
jelas dan mempunyai arti.

3. Proses (Process)
Suatu Proses merupakan kegiatan atau kerja yang dilakukan oleh orang, mesin
komputer dari hasil suatu arus data yang masuk kedalam proses untuk menghasilkan
arus data yang keluar dari proses. Proses dapat ditunjukan dengan simbol lingkaran
atau dengan segi empat persegi panjang tegak dengan sudut-sudutnya tumpul.

13

4. Simpanan Data (Data Store)


Merupakan simpanan dari data yang dapat disimbolkan dengan sepasang garis
horizontal paralel yang tertutup disalah satu ujungnya.
2.4. Konsep Sistem
Sistem Informasi Manajemen atau sering disebut dengan SIM terpadu
merupakan penerapan sistem informasi di dalam organisasi untuk mendukung
informasi-informasi oleh semua tingkatan manajemen. Sistem Informasi Manajemen
(SIM) didefmisikan oleh George M. Scott sebagai berikut "suatu SIM adalah
kumpulan dari interaksi sistem informasi yang menyediakan informasi baik untuk
kebutuhan manajerial maupun kebutuhan informasi". Menurut Barry E. Gushing
sebagai betikut "Suatu Sistem Informasi adalah kumpulan-kumpulan dari manusia
dan sumber daya modal dalam suatu organisasi yang bertanggung jawab
mengumpulkan dan mengolah data untuk menghasilkan informasi yang berguna
bagi semua tingkatan manajemen dalam kegiatan perencanaan dan pengendalian".
Menurut Frederich H. Wu sebagai berikut "Sistem Informasi Manajemen
adalah kumpulan-kumpulan dari sistem-sistem yang menyediakan informasi untuk
mendukung manajemen ". Menurut Gordon B. Davis. SIM adalah sistem manusia
atau mesin yang menyediakan informasi untuk mendukung operasi manajemen dan
fungsi pengambilan keputusan dari suatu organisasi.

14
Sistem Informasi Manajemen merupakan suatu sistem yang melakukan rungsifungsi untuk menyediakan semua informasi yang mempengaruhi semua operasi
organisasi.

a. Karateristik Sistem
Suatu sistem memiliki karateristik atau sifat yang tertentu, yaitu antara lain
1. Komponen Sistem (Components)
Suatu sistem yang terdiri dari sejumlah komponen yang saling berinteraksi, yang
artinya saling bekerja sama membentuk satu kesatuan. Setiap sistem betapapun
kecilnya selalu mengandung komponen-komponen atau subsistem-subsistem dan
setiap subsistem memiliki suatu fungsi tertentu dan mempengaruhi proses sistem
untuk menjalankan suatu fungsi tertentu dan mempengaruhi secara keseluruhan.
2. Batasan Sistem (Boundary)
Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lain
atau lingkungan luarnya. Batas Sistem ini memungkinkan suatu sistem dipandang
sebagai satu kesatuan. Batasan suatu sistem menunjukkan ruang lingkup (scope)
dari sistem tersebut.
Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lain
atau lingkungan luarnya. Batas Sistem ini memungkinkan suatu sistem dipandang
sebagai satu kesatuan. Batasan suatu sistem menunjukkan ruang lingkup (scope)
dari sistem tersebut.
3. Lingkungan Luar Sistem (environment)

15
Lingkungan Luar (environment) dari suatu sistem adalah apapun yang diluar batas
dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat
bersifat menguntungkan merupakan energi dari sistem yang harus tepat dijaga dan
dipelihara. Sedangkan yang merugikan harus ditahan dan dikendalikan, jika tidak
dikendalikan akan mengganggu kelangsungan hidup dari sistem tersebut.

4. Penghubung Sistem (Interface)


Interface atau Penghubung merupakan media yang menghubungkan antara satu
sistem dengan subsistem yang lain. Melalui penghubung inilah yang memungkinkan
sumber-sumber daya mengalir dari satu subsistem ke subsistem yang lainnya.
Keluaran (output) dari satu subsistem akan menjadi (input) untuk subsistem yang
lainnya dengan melalui penghubung. Dengan penghubung satu subsistem dapat
berinteraksi dengan subsistem yang lainnya hingga membentuk satu kesatuan.
5. Masukkan Sistem (Input)
Masukan (Input) merupakan suatu energi yang dimasukkan ke dalam sistem yang
dapat berupa masukkan perawatan (Maintenance Input) dan masukan sinyal (Signal
Input). Maintanance input adalah energi yang dimasukan supaya sistem tersebut
dapat beroperasi sedangkan signal input merupakan energi yang diproses untuk
didapatkan keluaran.
6. Keluaran Sistem (Output)
Keluaran (Output) adalah hasil dari energi yang diolah dan diklasifikasikan menjadi
keluaran yang berguna dan sisa pembuangan.
7. Pengolahan Sistem (Process)

16
Sistem dapat memiliki suatu bagian pengolahan yang akan merubah masukan
menjadi keluaran.

8. Tujuan Sistem (Objective Goal)


Suatu sistem pasti mempunyai tujuan (Goal) atau sasaran (Objectives). Jika suatu
sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya.
Sasaran dari sistem sangatlah menentukan sekali masukan yang dibutuhkan sistem
dan keluaran yang akan dihasilkan sistem. Karena suatu sistem akan berhasil bila
mengenai sasaran atau tujuannya.

a. Klasifikasi Sistem
Sistem merupakan suatu bentuk integrasi antara satu komponen dengan komponen
yang lainnya, karena sistem memiliki sasaran yang berbeda untuk setiap kasus yang
terjadi di dalam sistem tersebut.
sistem dapat di klasifikasi sistem dari beberapa sudut padang, di antaranya adalah
sebagai berikut.
1.

Sistem Abstrak dan Sistem Fisik

Sistem abstrak adalah sistem yang berupa suatu pemikiran atau ide-ide yang
tidak tampak secara fisik, sedangkan sistem fisik merupakan sistem yang ada
secara fisik.

17
2. Sistem Alamiah Dan Sistem Buatan manusia
Sistem alamiah adalah sistem yang terjadi melalui proses alam, sedangkan
sistem buatan manusia merupakan sistem yang melibatkan interaksi manusia
dengan mesin.

Sistem Deterministik Dan Sistem Probabilistik


Sistem deterministik adalah sistem yang beroperasi dengan tingkah laku yang
dapat di prediksi, misalnya sistem komputer. Sedangkan sistem probabilistik
adalah sistem yang kondisi masa depannya tidak dapat di prediksi.
Sistem Terbuka Dan Sistem Tertutup
Sistem terbuka merupakan sistem yang berhubungan dan mempengaruhi
lingkungan luarnya, sedangkan sistem tertutup merupakan sistem yang tidak
terpengaruh oleh lingkungan luarnya.

18

BAB III
ANALISA SISTEM YANG SEDANG BERJALAN

3.1.

Tinjauan Perusahaan
Kepesatan Kemajuan ilmu Pengetahuan dan teknologi telah meningkatkan

komunikasi secara mengesankan. Informasi menyebar secara mengagumkan hampir tanpa


hambatan batas antara negara. Pada zaman globalisasai seperti ini menyebabkan perubahan
yang besar dan drastis pada masyarakat dan lingkungan usaha di seluruh dunia.
Arus lalu lintas perubahan memukul perusahaan-perusahaan dan menyebabkan
sebagian jatuh, sebagian lagi terjerat dalam gelombang ketidak pastian antara selamat dan
tenggelam. Namun banyak juga yang tetap bertahan dan berkembang dengan pesat, Karena
perusahaan-perusahaan tersebut telah merekayasa ulang bisnisnya serta memperbaiki
kualitas sistem manajemen dan korapetisi personil.
Selama masa yang masih menyulitkan ini CV. Ibnu Yusuf Effort, masih dapat
melaksanakan operasionalnya yang menguntungkan. Hal ini dapat tercapai melalui
kombinasi-kombinasi antara strategi manajemen yang baik, tenaga kerja yang

19
berpengalaman dan kemampuan perusahaan dalam melaksanakan Pekerjaan-pekerjaan
dengan hasil yang baik.
Dengan sistem manajemen yang dinamis dan profesional serta kompetisi sumber
daya manusia. Didukung dengan penuh keyakinan setiap perubahan lingkungan perusahaan
dimasa datang menjadi mitra andalan dari CV. Ibnu Yusuf Effot, yang sampai sekarang
benar-benar dipegang teguh.
18
3.1.1.

Sejarah Perusahaan

CV. Ibnu Yusuf Effort didirikan berdasarkan Akta No.03 tanggal 18 Maret 2003
yang telah mendapatkan Pengesahan dari Menteri Kehakiman Republik Indonesia dengan
Keputusan no. 03 / PD / 2003 / PN Bks tanggal 21 Maret 2003 dan telah didaftarkan di
kantor Dinas Perindustrian dan Perdagangan Pemerintah Kota Bekasi. No. TDP
102658233913 dan No. SIUP 510 / 202 - PERINDAG - PK - II -2003.
CV. Ibnu Yusuf Effort merupakan disributor yang memusatkan perhatiannya pada
produk-produk pendidikan terutama yang berkaitan dengan pembelajaran software dan
aplikasi komputer berupa CD Dan DVD Turorial Interaktive yaitu CD Dan DVD yang
berisi tentang materi pelajaran yang berkaitan dengan penggunaan aplikasi komputer secara
interaktive antara komputer itu sendiri dengan Pemakai.
CV. Ibnu Yusuf Effort telah memasarkan produk-poduknya di JABODETABEK
(Jakarta, Bogor, Depok, Tangerang, Bekasi), produk-produk tersebut adalah : CD Dan DVD
Belajar Windows & Word, Microsoft Exel, Microsoft Power Point, Penggunaan Internet,
Microsoft Access, Adobe Photoshop, Corel DRAW12, Auto Cad 2 Dimensi, Page Maker,
MYOB Accounting, Al-Qur'an Player, Animasi Vektor Flash MX, Jaringan Komputer,

20
Visual Basic, Perakitan Komputer, Adobe Premiere, Adobe Alter Effects, Transalator, dan
Macromedia Freehand MX.
Setelah perusahaan berdiri dengan surat-surat perizinan yang lengkap maka CV.
Ibnu Yusuf Effort memulai menjalankan strategi-strategi baru untuk meningkatkan
penjualan yang berakibat pada naiknya omset perusahaan, diantaranya menawarkan produkproduk yang ada kepada toko-toko yang mempunyai banyak cabang seprti:

1. Toko Buku Gunung Agung


2. Toko Buku TISERA
3. Toko Buku Salemba
4. Toko Buku TRI MEDIA Book Store (Kelompok Gramedia)
Selain itu langkah perluasan distribusi juga dilakukan di mall-mall di seluruh
JABODETABEK (Jakarta, Bogor, Depok, Tangerang, Bekasi) antara lain:
1.

Mall Mangga dua

2.

Mall Ambasador

3.

Mall Plaza Pinangsia

4.

Mall Ratu Plaza

5.

Mega Mall Bekasl

6.

Depok Town Square

7.

MargoCity
CV. Ibnu Yusuf Effort telah menjalin kerja sama dengan PT. Proactive Multi

Media sebagai penerbit CD Dan DVD Belajar komputer dan berusaha untuk
menjalin kerja sama dengan Produsen barang-barang yang berkaitan dengan alat-alat

21
pendidikan namun untuk saat ini CV. Ibnu Yusuf Effort masih memaksimalkan
pemasaran pada produk CD Dan DVD Belajar Komputer.
3.1.2.

Struktur Organisasi dan Fungsi


Dalam suatu perusahaan atau organisasi, manajemen merupakan hal yang

sangat penting dalam mendukung tercapainya visi dan misi yang telah ditentukan oleh
perusahaan itu sendiri. Untuk mencapai tujuan yang telah ditentukan tersebut, perusahaan
harus memiliki manajemen yang baik. Oleh karena itu, didalam suatu perusahaan harus
terjalin kerjasama yang baik antara pimpinan dengan bawahan agar dapat menciptakan
iklim organisasi yang baik sehingga segala kegiatan perusahaan atau organisasi dapat
berjalan baik dan lancar. Disini penulis memberi gambaran mengenai bagan struktur dari
organisasi Ibnu Yusut Effort beserta fungsi dan tugas karyawan yang terlibat didalamnya

STRUKTUR ORGANISASI
CV. Ibnu Yusuf Effort
Pemilik

Manager

Bagian Keuangan

Bagian Gudang

Bagian Pemasaran

Gambar II.1 Struktur Organisasi CV. Ibnu Yusuf Effort

22
Wewenang dan tanggung jawab masing-masing bagian dalam CV. Ibnu Yusuf Effort adalah
sebagi berikut:
1. Pemilik
Memberikan wewenang kepada Manager untuk mengelola laju perusahaan dengan arahanarahan yang bersifat strategis.
2. Manager
Memberi tanggung jawab kepada bawahannya dan mengukur prosedur tata-tertib pekerjaan
yang dibawahi, serta bertanggungjawab kepada masing-masing bagian yang ada
dibawahnya.
3. Bagian Keuangan
Bertugas mencatat semua transaksi keuangan baik dana masuk atau dana keluar dan
menyajikan laporan keuangan yang dibutuhkan, bagian keuangan juga bertanggung jawab
atas penyimpanan dokumen-dokumen penting yang berkaitan dengan kegiatan usaha.
4.

Bagian Gudang

Bagian ini bertanggung jawab atas keluar masuknya barang, menjaga kesetabilan stock
barang yang ada di gudang. Bagian gudang juga bertugas memesan barang yang dibutuhkan
setelah melalui persetujuan Manager.
5.

Bagian Pemasaran

Bagian ini bertanggung jawab melayani agen-agen yang memesan barang, menawarkan
produk kepada agen-agen baru dan menjaga hubungan baik dengan mitra usaha yang telah
ada

23

3.3. Data Flowchart Diagram Sistem Berjalan

SPB, Faktur SJ
SJ

Penerbit

PO

Sistem
Pemesanan
Barang pada
CV. Ibnu Yusuf
Effort

Gudang

PO, Faktur SJ

LSB

Pimpinan

Gambar II.2. Diagram Konteks Sistem Berjalan

24

keterangan :
SPB

: Surat Penawaran Barang

PO

: Purchase Order

LSB

: Laporan Stok Barang

PO
Penerbit

SPB

PO

1.0
Pemesanan
Barang

SPB

PO

Gudang

Arsip PO
SJ

2.0
Penerimaan
Barang

Faktur

3.0
Pengecekan
Barang

Faktur, SJ

4.0
Laporan

PO
Faktur SJ

Arsip Faktur

Faktur

SJ
LSB

Pimpinan

25

Gambar III.3. Diagram Nol Sistem Berjalan

3.4. Kamus Data


Kamus data merupakan katalog fakta tentang data dan kebutuhan informasi
dari sistem informasi, data yang di gunakan dalam kamus data ini adalah dokumen masukan
dan keluaran

PURCHASE ORDER
( SURAT PESANAN )
KODE

JENIS

NAMA

HARGA

STOK

BARANG

Mengetahui

(................................)

Di terima Oleh

(...................................)

26
Kamus data dari purchase order di atas adalah :
PURCHASE = ISI
* Purchase order yang valid*
ISI
KODE+JENIS+NAMA_BARANG+HARGA+STOK
NO = *Nomor unit dari barang yang di order
*maksimun 1 macam setiap order formulir*
KODE_BARANG =*15 digit*
HARGA =*dalam rupiah

FAKTUR
Nomor Faktur

Tanggal Faktur

Kode Barang

Nama Barang

Harga Jual

Stok Barang

Sub Total

KODE

NAMA
BARANG

HARGA

JUMLAH

SUBTOTAL

27

Total Harga =
Cash =
Kembali =

Kamus data dari Faktur di atas adalah :


FAKTUR = TOP HEADER+ISI+FOOTER
*Faktur yang valid*
TOP HEADER
NOMOR+TANGGAL_FAKTUR+KODE_BARANG+HARGA_JUAL
+STOK_BARANG+SUB_TOTAL
ISI
NOMOR_FAKTUR+KODE+NAMA_BARANG+HARGA+JUMLAH+SUBTOTAL
NO = *Nomor unit dari barang yang di faktur
*maksimun 1 macam setiap faktur formulir
NOMOR_BARANG = *15 digit*
Harga = *dalam rupiah*
FOOTER
TOTAL_HARGA+CASH+KEMBALI
TOTAL_HARGA = *Total dari jumlah barang yang di faktur*

28
CASH = *Jumlah yang harus di cash oleh langganan*
KEMBALI =*Jumlah yang harus di bayar oleh langganan*

3.5. Spesifikasi Sistem Berjalan


Kegiatan yang memerlukan suatu masukkan atau input yang kemudian masukkan
tersebut akan melalui suatu pemrosesan sehingga dari hasil pemrosesan tersebut
menghasilkan suatu keluaran atau output sesuai dengan yang diharapkan. Begitulah
gambaran yang terjadi pada suatu sistem komputerisasi, apabila satu dari ketiga unsur
tersebut yaitu Input, Proses, Output tidak ada atau tidak berfungsi maka tidak akan bisa
suatu sistem tersebut berjalan.
3.5.1.
a.

Rancangan bentuk Masukan

Nama Dokumen : Data Barang


Fungsi

: Mengetahui data barang yang ada

Sumber

: Pemilik

29

b.

Tujuan

: Bagian Penjualan

Frekuensi

: Setiap menambah barang baru

Media

: Tampilan layar

Bentuk

: Lampiran C-3

Nama Dokuemn : Data Kasir


Fungsi

: Sebagai informasi jumlah kasir yang terdaftar

Sumber

: Kasir

Tujuan

: Pemilik

Frekuensi

: Setiap menambah kasir dan merubah data

Media

: Tampilan layar

Bentuk

: Lampiran C-4

c. Nama Dokumen

3.5.2.
a.

: Data Transaksi

Fungsi

: Untuk melaporkan transaksi

Sumber

: Bagian Penjualan

Tujuan

: Kasir

Frekuensi

: Setiap ada transaksi pembelian

Media

: Kertas

Bentuk

: Lampiran C-5

Rancangan Bentuk Keluaran

Nama Dokumen : Laporan Jumlah Barang


Fungsi

: Melaporkan barang Penjualan yang sudah


dilakukan oleh setiap kasir

Sumber

: Kasir

Tujuan

: Pimpinan Perusahaan

Frekuensi

: Setiap 1 bualn kali

30

b.

Jumlah

: 1 lembar

Media

: Cetak

Bentuk

: Lampiran C-6

Nama Dokumen :
Fungsi

Laporan Penjualan Perkasir


: Melaporkan transaksi penjualan yang sudah dilakukan
oleh setiap kasir

c.

d.

Sumber

: Kasir

Tujuan

: Pimpinan Perusahaan

Frekuensi

: Setiap 1 bulan sekali

Jumlah

: 1 lembar

Media

: Kertas

Bentuk

: Lampiran C-7

Nama Dokumen : Laporan Transaksi Penjualan Tunai


Fungsi

: Sebagian laporan data penjualan kasir secara ditoko

Sumber

: Kasir

Tujuan

: Pimpinan Perusahaan

Frekuensi

: Setiap satu bulan sekali

Jumlah

: 1 lembar

Media

: Kertas

Bentuk

: Lampiran C-8

Nama Dokumen : Struk penjualan


Fungsi

: Sebaai tanda bukti tunai

Sumber

: Kasir

Tujuan

: pembeli

Frekuensi

: Setiap ada transaksi

Jumlah

: 1 lembar

Media

: Cetak

31
Bentuk

: Lampiran C-9

3.6. Normalisasi File


a.

Bentuk Tidak Normal (Unnormalized Form)


Kode_barang
Nama_barang
Jenis_barang
Harga
Stok
Kode_user
Nama_user
Password
No_faktur
Tanggal_faktur
Kode_user
Nama_user
Kode_barang
Jumlah_beli
Sub_total

32

b.

Bentuk Normal Kesatu (1 NF atau First Normal Form)


Kode_barang *
Nama_barang
Jenis_barang
Harga
Stok
No_faktur *
Tanggal_faktur
Jumlah_beli
Sub_total
Kode_user *
Nama_user
Password

Keterangan:

Candidate Key

33

c.

Bentuk Normal Kedua (2 NF atau Second Normal Form)


Tabel Barang
Tabel User

Kode_barang *
Nama_barang
Jenis_barang
Harga
Stok

Kode_user *
Nama_user
Password
Tabel Transaksi
No_faktur *
Tanggal_faktur
Jumlah_beli
Sub_total
Kode_user **
Kode_barang **

34
Keterangan:
*

Merupakan Kunci Primer ( Primary Key)

**

Merupakan Kunci Tamu (Foreign Key)

d.

Bentuk Normal Ketiga (3 NF atau Third Normal Form)

Tabel Barang
Tabel User
Kode_barang*
Nama_barang
Jenis_barang
Harga
Stok

Tabel Transaksi
Jumlah_beli
Sub_total
No._faktur**
Kode_barang**

Kode_user*
Nama_user
Password

Tabel Faktur
No_faktur*
Tanggal_faktur
Total_bayar
Kode_user**

35

Keterangan :
*

Merupakan Kunci Primer ( Primary Key)

**

Merupakan Kunci Tamu (Foreign Key)

3.7. Konfigurasi komputer sistem berjalan

Keyboard +
Mouse

Optical
Hardisk
120 Gb

CPU
Pentium IV

Monitor
LCD
17

Drive

Printer
Inkjet/Deskjet

36

Gambar II.4. Konfigurasi komputer system berjalan


3.8.

Permasalahan Pokok
Makin besar suatu perusahaan itu berkembang maka makin banyak pula

permasalahan yang akan timbul. Hal ini pun akan menghambat perkembangan atau
pertumbuhan perusahaan tersebut. Apabila permasalahan tersebut tidak segera dicermati
untuk selanjutnya dicari solusinya lambat laun perusahaan tersebut akan mengalami
kerugian pada segala bidang dan kemudian bukan mustahil terjadi kebangkrutan. Hal
tersebut tentunya tidak diinginkan oleh para pengusaha dimanapun berada.
Seiring dengan perkembangannya, CV. Ibnu Yusuf Effort pun juga mengalami
beberapa masalah yang cukup serius dan perlu sekali dicarikan solusinya. Setelah
melakukan observasi atau pengamatan secara langsung dilapangan, Penulis melihat
beberapa masalah. Masalah tersebut diantaranya: pada saat pemesanan barang khususnya
dalam pembuatan Surat Pemesanan barang sering sekali terjadi selisih antara stock barang
yang ada dengan barang yang akan dipesan (Buffer), maka saal proses terakahir yaitu proses
serah terima barang antara pihak gudang dengan penerbit sering sekali mengalami
keterlambatan informasi data barang yang kurang maupun barang yang sudah melebihi
stock buffer, maka untuk merevisi problem tersebut diperlukan siklus proses yang cukup
memakan waktu yang sangat bertentangan sekali dengan prosedural perusahaan dalam segi
keterlambatan pelayanan yang selalu dikejar oleh dateline.

37
Disini pihak CV. Ibnu Yusuf Effort ingin menghilangkan tata cara tersebut agar
waktu yang digunakan akan lebih cepat dan efisien dalam proses pemesanan barang dalam
penyajian informasi data barang.
3.9. Alternatif Pemecahan Masalah
Berdasarkan Riset yang telah penilis lakukan, maka penulis akan memberikan
suatu alternatif pemecahannya, adapun alternatif tersebut adalah :
a.

Pakailah sistem komputer yang menerapkan software aplikasi yang konferhensif

baik dalam pemesanan maupun pengiriman sampai dengan penerimaan barang dalam
hal ini sekaligus merupakan program usulan bagi penulis bagi perusahaan.
b.

Proses pembuatan laporan pemesanan barang sebaiknya dibuatkan program yang

baku sehingga untuk pelaksanaannya tinggal membuka file data barang dan hanya
mengisikan beberapa data dan langsung mengirim data tersebut melalui jaringan yang
langsung berhubungan dengan pihak CV. Ibnu Yusuf Effort , pihak gudang maupun
pihak Penerbit tanpa melalui proses yang berkepanjangan.
Demikian alternatif pemecahan masalah yang dapat penulis berikan untuk mengatasi
permasalahan yang timbul pada CV. Ibnu Yusuf Effort penulis menyadari bahwa alternatif
pemecahan masalah tersebut masih menjadi bahan pertimbangan perusahaan, Namun
penulis berharap agar dapat lebih meningkatkan efisiensi kerja dan dapat mempermudah
pelaksanaan tugas yang bersangkutan agar tujuan perusahaan dapat tecapai

38

BAB IV
SISTEM YANG DIUSULKAN

4.1 Umum
Dengan semakin berkembangnya teknologi komputer dalam menangani berbagai
masalah kehidupan, perlu ditinjau dari segi manfaat apa yang di dapat penggunaan
komputer. Karena perlu sekali diadakannya sistem komputerisasi, maka penulis disini
mencoba mengusulkan adanya komputerisasi sistem pada CV. Ibnu Yusuf Effort dengan
tidak menyimpan dari apa yang ada.
Sistem yang diusulkan merupakan komputerisasi sistem yang lama atau sistem yang
berjalan, di mana cara kerja atau prosedur sistem yang baru tidak jauh berbeda dengan

39
system yang lama. Perubahan dari sistem yang lama ke sistem yang baru diharapkan dapat
membantu serta mengatasi permasalahan yang timbul dari permasalahan yang lama.
Adapun tujuan dari sistem yang diusulkan kopmputerisasi secara umum adalah untuk
menghasilkan sistem yang mamapu memenuhi kebutuhan-kebutuhan perusahan serta
mampu menyelesaikan permasalahan yang ada.
Sedang tujuan sistem yang diusulkan komputerisasi secara khusus adalah
meningkatkan efektifitas prosedur kerja, mendayagunakan sumber daya yang berguna baik
dari segi brainware, hardware, dan software

guna menghasilkan informasi yang

berkualitas, akurat, tepat waktu dan terperinci.

Sasaran sistem baru diharapkan penyelesaikan permasalahan-permasalahan yang


timbul adalah :
1.

38
perkerjaan menjadi lebih efektif dan lebih efisien dengan waktu pelayanan

yang singkat.
2.
4.2.

mengurangi segala bentuk kesalahan yang sering timbul.


Prosedur Sistem Usulan

1.

Prosedur Penjualan dan Pembayaran

Kustomer datang langsung ke CV. Ibnu Yusuf Effort untuk membeli dengan memilih
dan melihat barang. Setelah terjadi transaksi maka bagian penjual akan mencatat datadata barang dalam database komputer dan menghitungnya serta membuat print out nota
penjualan yang berisi data-data barang yang beli.

40
2.

Prosedur pengembalian (Retur)


Prosedur pengembalian adalah prosedur kembalinya barang dimana pembeli tidak jadi
membeli atau kekurangan uang dengan menyerahkan nota penjualan dan diserahkan ke
penjual. Selanjutnya penjual melakukan pencatatan data retur pengembalian ke file
database dan memberikan print out nota retur kepada Kustomer.

3.

Prosedur Pembuatan Laporan


Bagian penjualan akan membuat laporan penjualan dari database sistem yang baru
kemudian hasilnya diserahkan ke bagian administrasi dan disahkan oleh Accouting.

4.3.

Data Flowchart Diagram Sistem Usulan


SPB, Faktur SJ
Gudang

PO, Faktur SJ

Penerbit

SJ

Sistem
Pemesanan
Barang pada
CV. Ibnu Yusuf
Effort

LSB

Pimpinan

PO

41

Gambar II.5. Diagram Konteks Sistem Usulan

keterangan :
PO

: Purchase Order

LSB

: Laporan Stok Barang

SPB

: Surat Penawaran Barang

SJ

: Surat Jalan
Penerbit
SPB

PO
2.0
Proses
Penerimaa
nBarang

1.0
Proses
Pemesanan
Barang
PO

PO
SPB

Arsip PO

Faktur SJ
Faktur

3.0
Proses
Pengecekan
Barang

Faktur, SJ

Gudang

4.0
Proses
Laporan

Arsip Faktur
Faktur
SJ

SJ
LSB
Pimpinan

42

Gambar II.6. Diagram Nol Sistem Usulan

4.4.

Spesifikasi File
1.

File Barang

Penulis membuat satu data base dengan nama penjualan1.mdb dengan tabel-tabel
sebagai berikut:
a.Nama tabel

: Tabel barang

b. Akronim file

: Barang

c.Organisasi file

: Index sequential

d. Akses file

: Random

e.Tipe file

: File master

f. Record size

: 87 karakter

g. Software

: Microsoft access

43
h. Record key

: Kode barang

i. Media file

: Hardisk
Table II.1. File Barang

No

Elemen Data
Kode_barang

Akronim
Kode_barang

Tipe
Text

Size
15

Nama_barang

Nama_barang

Text

25

Jenis_barang

Jenis_barang

Text

20

Harga

Harga

Currenc

Stok

Stok

Keterangan

Keterangan

Long

15

Keterangan
Primary Key

1
2
3
4
5
6
Text

2.

File Kasir

Sebagai laporan jumlah kasir yang terdaftar.


Spesifikasi file user adalah sebagai berikut:
a.

Nama tabel

: Tabel user

b.

Akronim file

: User

c.

Organisasi file : Index sequential

d.

Akses file

e.

Tipe file : File master

f.

Record size

: 36 karakter

g.

Software

: Microsoft access

: Random

44
h.

Record key

: Kode user

i.

Media file

: Hardisk

Table II.2. File Kasir


No
Elemen Data
1
User_ID

Akronim
User_id

Password

Password

Nama_pemilik

Nama_pemilik

Status

Status

Tipe
Text

Size
15

Single

Text

25

Text

3.

Keterangan
Primary Key

15

File Transaksi

Bila surat penawaran barang disetujui calon pembeli, maka pihak toko akan
memulai transaksi penjualan barang dengan konsumen.
Spesifikasi file transaksi penjualan tunai adalah sebagai berikut:
a.

Nama tabel

: Tabel transaksi penjualan tunai

b.

Akronim file

: Penjualan tunai

c.

Organisasi file : Index sequential

d.

Akses file

e.

Tipe file : File transaksi

f.

Record size

: 52 karakter

g.

Software

: Microsoft access

: Random

45
h.

Record key

: No_Transaksi

i.

Media file

: Hardisk

Table II.3. File Tansaksi Penjualan Tunai


No

Elemen Data

Akronim

Tipe

Size

Keterangan

No._transaksi

No._transaksi

Text

10

Primary Key

Kode_barang

Kode_barang

Text

15

Foreign Key

Nama_barang

Nama_barang

Text

15

Hagra_Jual

Harga_jual

Double

Stok_barang

Stok_barang

Long

Sub_total

Sub_total

Double

4. Spesifikasi file faktur


Spesifikasi fille faktur adalah sebagai berikut:
a.Nama tabel

: Tabel faktur

b.

Akronim file

c.Organisasi file

: Index Sequential

d.

Akses file : Random

e.Tipe file

: File master

f. Recond size

: 39 karekter

g.

Software : Microsoft Acces

h.

Recond key

i. Media File

: Hardisk

: Faktur

: No. Transaksi

46

Tabel II.4 File Faktur


No

4.5.

Elemen Data

Akronim

Tipe

Size

No. transaksi

No._faktur

Text

10

Tanggal faktur

Tgl_faktur

Date

Total bayar

Total_bayar

Double

User_id

User_id

Text

15

Keterrangan
Primary key

Foreign key

Struktur Kode
Menurut Jogiyanto HM (2001:384) Kode digunakan untuk tujuan
mengklasifikasikan data, memasukan data kedalam komputer dan untuk mengambil
bermacam-macam informasi yang berhubungan dengannya. Kode dapat dibentuk
dari kumpulan huruf, angka dan karakter-karakter khusu (misalnya %, /, $, #, dan lain
sebagainya). Angka merupakan simbol yang paling banyak digunakan dalam sistem
kode. Ada beberapa macam tipe dari kode yang dapat digunakan yang diantaranya:
a.

Kode Mnemonik

Kode mnemonik (mnemonic code) digunakan untuk tujuan supaya mudah diingat.
Kode mnemonik dibuat dengan dasar singkat atau mengambil sebagaian karakter

47
dari item yang akan diwakilkan dengan kode ini, misalnya P untuk mewakili
Pria dan kode W untuk mewakili Wanita.
b.

Kode Urut

Kode urut (sequential code) disebut juga dengan kode seri (seri code) merupakan
kode yang nilainya urut antara satu kode dengan kode berikutnya.
c.

Kode Blok

Kode blok (block code) mengklasifikasikan item kedalam kelompok blok tertentu
yang mencerminkan satu kalsifikasi tertentu atas dasar pemakaian maksimum
yang diharapkan.
d.

Kode Group

Kode group (group code) merupakan kode yang berdasarkan field-field dan tiap
field kode mempunyai arti.

e.

Kode Desimal

Kode desimal (decimal code) mengkalsifikasikan kode dasar sepuluh unit angka
desimal dimulai dari nol sampai dengan angka sembilan atau tergantung dari
banyaknya kelompok.
f.

Bercode (Kode Baris)

Kode baris digambarkan dalam bentuk baris hitam tebal dan tipis yang disusun
berderet sejajar horisontal. Untuk membantu pembacaan secara manual
dicantumkan juga angka-angka dibawah kode baris tersebut. Angka-angka tersebut
tidak mendasari pola kode baris yang tercantum.

48
4.6.

Program Flowchart
Flowchart program merupakan keterangan yang lebih rinci tentang bagaimana setiap
langkah program atau prosedur sesungguhnya dalam proses yang tepat saat terjadi
Program flowchart yang di buat di dalam program aplikasi sistem penjualan terdiri
dari:
A. Program Flowchart Untuk Login
B. Program Flowchart Untuk Menu Utama
C. Program Flowchart Untuk Menu Master Data Barang
D. Program Flowchart Untuk Menu Master Data Per-kasir
E. Program Flowchart Untuk Menu Master Data Transaksi

F.

Program Flowchart Untuk Menu Laporan

A.

Login
Start

Masukkan
user password
dan status

Tidak

Tidak

Ya
Login

Verifikasi

Tidak

User dan
password
benar

Ya
Keluar

Passwor
d salah

N>=3

49

Ya
Tidak

Menu Utama

Ya

End

Gambar II.7. Login

B.

Menu Utama

Start
Data
Lapora
n
Exit

Ya
Data

Maste
r

Ya

Tidak

Baran
g

Ya

Ya

File

File
Ya

Ya
Lapora
n

Exit

Ya

Transa
Per
ksi
User

File Ya

Ya

Tidak

Baran
g

Penjuala
Filen
Transak
File
si Ya

Ya
Tidak

50

Tidak

Tidak

Tidak

Gambar II.8. Menu Utama

C.

Menu Master Data Barang


Start
Ya
Tambah
Edit
Simpan
Hapus
Exit

Tambah

Ya

Automatic
Kode Barang

Ya

Ya
Pilih Jenis

Input Data
Barang

Simpa
n

Ya

Double
Klik
Data

Simpan

Ya

Tidak

51

Tampil Data

Edit

Edit Data

Tidak
Tidak

Edit

Ya

Tidak

Hapus

Ya
Update Data

Tidak

Yakin akan
dihapus

Yakin

Ya
Hapus
Keluar
Data

Gambar II.9. Menu Master Barang

Exit

D.

Menu Master Data Perkasir


Start
Ya
Tambah
Edit
Simpan
Hapus
Exit

Tambah

Ya

Automatic
User ID

Ya

Automatic
Password

Ya

Input Data
Nama
Pemilik

Pilih Status

Ya

Double
Keluar
Klik
Data
Data

Exit

Simpa
n

Tidak Ya

Hapus
Edit
Tampil Data

Tidak Tidak
Ya

Edit
Yakin
akan
Edit
Data
dihapus

Ya

Yakin Ya
Update
Data
Ya
Hapus

Tidak

Tidak

52

Simpan

Gambar II.10. Menu Master Perkasir

E.

Menu Master Data Transaksi


Start

Proses
Simpan
Keluar

Tidak
Pros
es

Ya

Automatic
Nomor
Transaksi

Ya

Cari
Data

Data
Barang
Double
Klik Data

Ya
Masuk
Jumlah

Input
Lagi

Automatic
Kembali

Ya

Masuk
Grid

Tidak

Simp
Ceta

Struk
Proses
an
k
Penjualan
Penjualan

Tidak

53

Input Cash

Simp
an

Ya

Ya

Back up
Struk

Tidak
Proses
cetak

Tidak

Kel
uar

Tidak

Ya

Yakin akan
keluar

Yak
in

Kelu
ar

Ya

End

Gambar II.11. Menu Master Transaksi

F.

Menu Laporan

Start

Laporan data transaksi


Laporan data barang
laporan data perkasir

Pilih tanggal awal

Ya
Pilih tanggal akhir
Proses laporan
penjualan
transaksi

Print
Cetak
laporan
penjaualan transaksi

Ya
Lapora
n Data
Transa
ksi

54

Ya
Ya

Proses

Tidak

Ya

Tidak

Ya
Tidak

Cetak
laporan
data
barang

Ya

Cetak laporan
barang

Tidak

Tidak

Ya

Cetak
laporan
data
perkasir

Cetak laporan
perkasir

Tidak

Tidak

Gambar II.12. Menu Laporan

Exit

4.7.
a.

Rancangan bentuk Masukan

Nama Dokumen : Data Barang

b.

Fungsi

: Mengetahui data barang yang ada

Sumber

: Pemilik

Tujuan

: Bagian Penjualan

Frekuensi

: Setiap menambah barang baru

Media

: Tampilan layar

Bentuk

: Lampiran C-3

Nama Dokuemn : Data Kasir


Fungsi

: Sebagai informasi jumlah kasir yang terdaftar

55
Sumber

: Kasir

Tujuan

: Pemilik

Frekuensi

: Setiap menambah kasir dan merubah data

Media

: Tampilan layar

Bentuk

: Lampiran C-4

c. Nama Dokumen

4.8.
a.

: Data Transaksi

Fungsi

: Untuk melaporkan transaksi

Sumber

: Bagian Penjualan

Tujuan

: Kasir

Frekuensi

: Setiap ada transaksi pembelian

Media

: Kertas

Bentuk

: Lampiran C-5

Rancangan Bentuk Keluaran

Nama Dokumen :
Fungsi

Laporan Jumlah Barang


: Melaporkan barang Penjualan yang sudah
dilakukan oleh setiap kasir

b.

Sumber

: Kasir

Tujuan

: Pimpinan Perusahaan

Frekuensi

: Setiap 1 bualn kali

Jumlah

: 1 lembar

Media

: Cetak

Bentuk

: Lampiran C-6

Nama Dokumen :

Laporan Penjualan Perkasir

56
Fungsi

: Melaporkan transaksi penjualan yang sudah dilakukan


oleh setiap kasir

c.

d.

Sumber

: Kasir

Tujuan

: Pimpinan Perusahaan

Frekuensi

: Setiap 1 bulan sekali

Jumlah

: 1 lembar

Media

: Kertas

Bentuk

: Lampiran C-7

Nama Dokumen : Laporan Transaksi Penjualan Tunai


Fungsi

: Sebagian laporan data penjualan kasir secara ditoko

Sumber

: Kasir

Tujuan

: Pimpinan Perusahaan

Frekuensi

: Setiap satu bulan sekali

Jumlah

: 1 lembar

Media

: Kertas

Bentuk

: Lampiran C-8

Nama Dokumen : Struk penjualan


Fungsi

: Sebagai tanda bukti tunai

Sumber

: Kasir

Tujuan

: pembeli

Frekuensi

: Setiap ada transaksi

Jumlah

: 1 lembar

Media

: Cetak

Bentuk

: Lampiran C-9

57

4.9.

Spesifikasi Program
1.

Login

Nama program

: Form_Login

Akronim

: Form _login.frm

Package program

: Microsoft Visual Basic 6.0

Fungsi program

: Merupakan form yang digunakan untuk membuka form


penjualan 1 user tidak memiliki user name ataupun
password,maka akses untuk membuka form tersebut tolak

Bentuk format

: Lampiran C-1

Proses

: 1. Jalankan Program Login dengan Mengklik

58
Input data login.
2.

Masukkan data login ID

3.

Masukkan data password

4.

Pilih Admin

5.

Jika ingin pilih login, jika tidak ingin

login lagi, maka pilih keluar

2.

Form Menu Utama

Nama program

: Form_Menu Utama

Akronim

: Form_Menu Utama.frm

Package program

: Microsoft Visual Basic 6.0

Fungsi program

: Menu awal yang befungsi sebagai pengolahan


yang terdiri dari:

Bentuk format

1.

Data

2.

Laporan

3.

Exit

: Lampiran C-2

data

59
Proses

: 1. Jalankan program dengan mengeklik program visual


basic
2. Kemudian tampilkan layar utama,maka akan tampil
layar menu
3.

Jika telah selesai. Pilih exit dan akan kembali

tampilan layar utama.

60

4. Form Data Barang


Didalam menu ini terdapat sub menu yang terdiri dari:
1) Barang
Terdiri dari menu master barang dan menu master kasir yang digunakan untuk
menginput data.
Proses

: 1. Jalankan dengan mengklik lnput data barang


2.

Masukkan data barang yang akan dibeli

3.

Jika tidak ingin menginput lagi, maka pilih

exit.
Bentuk format

: Lampiran C-3

61

2) Data Kasir
Terdiri dari menu master user dan yang digunakan untuk menginput data.
Proses

: 1. Jalankan dengan mengklik lnput data user


2.

Masukkan data user yang akan dipakai

3.

Jika tidak ingin menginput lagi, maka pilih

exit.
Bentuk format

: Lampiran C-4

62

3) Data Transaksi
Terdiri dari menu transaksi penjualan tunai yang digunakan untuk memproses
data.
Proses

: 1. Jalankan dengan mengklik lnput data barang


2.

Masukkan kode yang dicari dan kode barang

dengan mengklik tanda cari langsung OK

63
3.

Lalu disimpan dengan mengklik tombol save

4.

Jika sudah tekan exit, akan kembali ke menu

utama.
Bentuk format

: Lampiran C-5

5. Laporan Jumlah Barang


Didalam menu ini terdapat sub menu yang terdiri dari
1) Laporan Jumlah barang
Proses

: 1. Jalankan dengan mengklik menu laporan data barang

64
2. Jika sudah dilihat tekan close,akan kembali ke menu
utama
Bentuk format

: Lampiran C-6

2) Laporan penjualan perkasir


Proses

: 1. Jalankan dengan mengklik input data kasir


2. masukkan kode kasir dan nama kasir dengan
mengklik tanda tambah

65
3. Lalu disimpan dengan mengklik tombol save
4. Jika sudah tekan exit, akan kembali ke menu utama
Bentuk format

: Lampiran C-7

3) Laporan transaksi penjualan tunai


Proses

: 1. Jalankan dengan mengklik menu laporan data


transaksi

66
2. Jika sudah dilihat tekan close, akan kembali ke menu
utama
Bentuk format

: Lampiran C-8

6. Menu Faktur
Cetak Faktur Penjualan Tunai
Proses

1. Jalankan dengan mengklik input penjualan transaksi tunai

67
2. Masukkan nomor faktur, kode kasir, nama kasir dan kode
barang dan jumlah barang
3. Lalu diprint dengan mengklik tombol printer
4. Jika sudah tekan exit, akan kembali ke menu utama
Bentuk Format : Lampiran C-9

7. Menu Exit
1). Exit
Digunakan untuk keluar dari lingkungan program menu utama

68
Proses

: 1. Jalankan dengan mengklik input exit


2. Jika sudah dilihat tekan exit, akan keluar

8.

Diagram Hipo
0.0
2.3
1.2.1
1.1.1
Master
Barang
1.1

1.1

1.1.2

1.2
Transaksi
Penjualan
Master
Master Kasir Data Transaksi
Tunai
1.0

1.1

1.0

0.1

1.0 1.2

2.2

Login

2.0
Laporan
Per Kasir Laporan
0.1
2.0

Menu0.1
Utama

Laporan
Transaksi

2.0

3.0
Exit
0.1

69

Gambar II.13. Diagram HIPO (Hierarki Input Proses Output)

4.10. Sarana Pendukung Sistem


4.10.1. Perangkat Keras

70
Perangkat keras dapat terdiri dari alat masukan, alat pemroses, alat keluaran
dan simpanan luar.
a. Alat Masukan (input)
Alat masukan (input device) adalah alat yang digunakan untuk menerima
masukan. Alat masukan selain untuk memasukan data, dapat juga untuk
memasukan program. Alat input dapat digolongkan ke dalam dua golongan, yaitu
alat input langsung (online input) dan alat input tidak langsung (off line input).
Alat input langsung, yaitu input yang dimasukkan dan langsung di proses oleh
CPU, tanpa lewat suatu media lainnya lagi. Alat input tidak langsung, yaitu input
yang dimasukan tidak langsung di proses oleh CPU, tetapi dalam bentuk media
tertentu. Media yang menampung input tersebut adalah simpanan luar yang dapat
berupa disk megnetik, pita megnetik maupun kartu.
b. Alat Pemroses (process)
Alat pemroses adalah alat dimana instruksi-instruksi program diproses untuk
mengolah data yang dimasukan melalui alat input yang hasilnya akan ditampilkan
di alat output. Alat pemroses terdiri dari central processor atau CPU (central
processing unit) dan main memory.
Dengan adanya penjelasan diatas, maka penulis memberikan suatu
spesifikasi perangkat keras yang mungkin dapat digunakan :

1. Processor

Pentium IV (2.00 Ghz)

2. Ram

1 GB

71
3. Hardisk

120 GB

4. Monitor

LCD 17

5. Keyboard

Standar PS/2 atau USB

6. Mouse

Standar PS/2 atau USB

7. Printer

Deskjet/ Inkjet

8. Optical Drive

: DVD RW

4.10.2. Perangkat Lunak


Adapun spesifikasi software adalah dalam proses mengaplikasikan sebuah
komputer agar dapat berjalan sesuai yang dikehendaki, maka penulis menggambarkan,
mengenai perangkat lunak (software) yang digunakan dalam perancangan program
untuk penyusunan tugas akhir ini.
Perangkat lunak yang digunakan untuk mendukung jalannya program yang
dirancang oleh penulis adalah :
1.

Microsoft Windows XP : Sebagai sistem operasi

2.

Microsoft Visual Basic

Sebagai

bahasa

Microsoft Access 7.0

Sebagai

aplikasi

pemrograman
3.
penampung database

72
4.11. Jabwal Implementasi

Bulan I
NO

KEGIATAN
I

1.

Observasi

2.

Wawancara

3.

Perumusan
masalah

4.

Studi
pustaka

5.

Desain
sistem

6.

Laporan

II

III

Bulan II
I

I
V

II

III

Bulan III
IV

II

III

IV

73
BAB V
PENUTUP

5.1 Kesimpulan
Berdasarkan uraian pada bab-bab sebelumnya, maka dapat di tarik kesimpulan :
a. Sistem yang telah terkomputerisasi dengan program komputer akan sangat
membantu sekali dalam menyelesaikan suatu masalah. Dalam hal ini pengolahan
transaksi dalam menyelesaikan suatu masalah transaksi penjualan barang,
sehingga konsumen tidak dikecewakan oleh perusahaan karena lamanya dalam
pemrosesan dan pengolahan data tidak terjamin kebenaran dan ketepatannya.
b. Dengan program komputer dapat mempercepat proses pembuatan laporan
penjualan barang dalam setiap priode tertentu.
c. Agar program aplikasi ini selalu berjalan dengan perkembangan data dan teknologi
sebaiknya selalu mengadakan pembaharuan secara berkala terhadap program
aplikasi yang ada atau melengkapi kelemahan-kelemahan program ini.

72

74
5.2. Saran
Berdasarkan kesimpulan diatas, maka penulis mencoba memberikan saran adapun
saran yang penulis kemukanan adalah sebagai berikut :
a. Di dalam progam penjualan barang ini terhadap program seperti entry data barang,
program transaksi penjualan, program perubahan data barang dan laporan
penjualan barang, sehingga diperlukan tenaga operator yang mengetahui dasardasar ilmu komputer untuk mengoperasikannya. Karena operator yang akan
menjamin pelayanan yang baik pula kepada perusahaan dan konsumen.
b. Sebaiknya diadakan suatu pelatihan terhadap para operator yang akan menjalankan
aplikasi ini sehingga tidak menghambat rangkaian kerja yang akan dilakukan dan
untuk menjamin kebenarannya, ketepatan, dan kecepatan pemrosesan data.
Demikianlah pembahasan penulis tentang program aplikasi yang dibuat, semoga
bermanfaat bagi penulis maupun pembaca pada umumnya, tapi penulis menyadari
untuk itu segala kritik dan saran yang membangun akan penulis terima dengan senang
hati demi kesempurnaan program ini.

75
DAFTAR PUSTAKA

Indriyanna, Indah. Panduan TA: Membuat Aplikasi Penjualan Barang Dengan Visual Basic
6.0, Alif Media, Yogyakarta, 2009
Jogiyanto, HM.2001. Analisis & Disain Sistem Informasi.Yogyakarta: Andi Offset
Marinda, Linda. 2004. Sistem Basis Data, Jakarta: Elex Media Komputindo
Riyanto Adhi Wibowo. Teknik Pemrograman Visual Basic 6.0. Jakarta: Proactive
Raymond Mcleaod. Dr, George P Sehell. 2008. Sistem Informasi Manajemen. Selemba
Empat
Sutabri,Tata. 2005. Sistem Informasi Manajemen.Yogyakarta: Andi Offset

76
DAFTAR RIWAYAT HIDUP

I. Biodata Mahasiswa
Npm

: 081190014

Nama Lengkap

: Aji Satria

Tempat dan Tanggal Lahir

: Jakarta, 16 Januari 1987

Alamat Lengkap

: Jl.Pondok Melati Rt 002/06 No.51


Jatiwarna Pondok Melati
Bekasi 17415

II. Pendidikan Formal


1. SDN Kecapi 1, Tahun 1999
2. SLTP 192 Lubang Buaya, Tahun 2002
3. SMAN HUTAMA Pondok Gede, Tahun 2005

Pengalaman
SETIFIKAT Komputer ( Word, Excel )

Jakarta, 20 Juli 2010


Saya yang bersangkutan,

Aji Satria

77

CODING SCRIPT PROGRAM APLIKASI PENJUALAN

78
Lampiran C-1 Coding Script Untuk Spesifikasi Program Login
Private Sub TbLogin_Click()
If txtUser.Text = "" Then
MsgBox "USER ID MASIH KOSONG !", _
vbCritical + vbOKOnly, "Error"
txtUser.SetFocus
ElseIf txtPwd.Text = "" Then
MsgBox "PASSWORD MASIH KOSONG !", _
vbCritical + vbOKOnly, "Error"
txtPwd.SetFocus
Else
SQL = ""
SQL = "SELECT * FROM Pengguna " _
& "WHERE UserID='" & txtUser.Text & "' " _
& " AND PassID='" & txtPwd.Text & "'" _
& " AND Status='" & cmbStatus.Text & "'"
Set Rs_Pengguna = KoneksiDB.Execute(SQL)
If Not Rs_Pengguna.BOF Then
If Rs_Pengguna!Status = "ADMIN" Then
Unload Me
FrmMenu.Enabled = True
FrmMenu.Show
FrmMenu.mnuLaporan.Enabled = True
FrmMenu.mnuBarang.Enabled = True

79
FrmMenu.mnuUser.Enabled = True
FrmMenu.mnuTransaksi.Enabled = True
FrmMenu.mnuTransJual.Enabled = True
FrmMenu.mnuJualPeriode.Enabled = True
Else
Unload Me
FrmMenu.Enabled = True
FrmMenu.Show
FrmMenu.mnuLaporan.Enabled = True
FrmMenu.mnuLapBarang.Enabled = True
FrmMenu.mnuTransJual.Enabled = True
FrmMenu.mnuJualPeriode.Enabled = True
FrmMenu.mnuBarang.Enabled = True
FrmMenu.mnuUser.Enabled = True
FrmMenu.mnuTransaksi.Enabled = True
End If
PenggunaID = Rs_Pengguna!UserId
PenggunaNm = Rs_Pengguna!Nama
Unload Me
Else
' Periksa, login hanya 3 kali
' 3x gagal pesan error ditampilkan
If MaxLogin < 3 Then
MsgBox "PASSWORD MASIH SALAH, SILAHKAN ULANGI LAGI!", _

80
vbCritical + vbOKOnly, "Error"
txtPwd.Text = ""
txtPwd.SetFocus
MaxLogin = MaxLogin + 1
Else
MsgBox "ANDA BUKAN USER YANG BERHAK!", _
vbCritical + vbOKOnly, "Error"
End
End If
End If
End If
End Sub
Private Sub TbTutup_Click()
Unload Me
End Sub

81
Lampiran C-2 Coding Script Untuk Spesifikasi Program Menu Utama
Option Explicit
Private Sub mnuJualNota_Click()
frmLapJualNota.Show 1
End Sub
Private Sub mnuLapJenis_Click()
With rptJenis
.Sections("Section4").Controls("Label5").Caption = _
Format(Date, "dd MMMM yyyy")
.Show 1
End With
End Sub
Private Sub Form_Load()
End Sub
Private Sub mnuJualPeriode_Click()
frmLapJualPeriode.Show 1
End Sub
Private Sub mnuJualTgl_Click()
frmLapJualTgl.Show 1
End Sub
Private Sub mnuLUser_Click()
With rptKasir
.Sections("Section4").Controls("Label8").Caption = _
Format(Date, "dd MMMM yyyy")

82
.Show 1
End With
End Sub
Private Sub mnuUser_Click()
frmUser.Show 1
End Sub
Private Sub mnuJenis_Click()
frmJenis.Show 1, FrmUtama
End Sub
Private Sub mnuKeluar_Click()
Dim X As Byte
X = MsgBox("Yakin mau keluar ?", vbYesNo, "Konfirmasi")
If X = vbYes Then
Unload Me
End If
End Sub
Private Sub mnuLapJual_Click()
With rptLapPenjualan
.Sections("Section4").Controls("Label5").Caption = _
Format(Date, "dd MMMM yyyy")
.Show 1
End With
End Sub
Private Sub mnuLapBarang_Click()

83
With rptBarang
.Sections("Section4").Controls("Label5").Caption = _
Format(Date, "dd MMMM yyyy")
.Show 1
End With
End Sub
Private Sub mnuLogin_Click()
If FrmUtama.mnuLogin.Caption = "Login" Then
frmLogin.Show 1
Else
mnuLaporan.Enabled = False
mnuBarang.Enabled = False
mnuJenis.Enabled = False
mnuUser.Enabled = False
mnuTransaksi.Enabled = False
Me.mnuLogin.Caption = "Login"
End If
End Sub
Private Sub mnuBarang_Click()
frmBarang.Show 1, FrmMenu
End Sub
Private Sub mnuBarangJenis_Click()
frmLapBarangJenis.Show 1
End Sub

84
Private Sub mnuTamStok_Click()
frmTambahStok.Show 1
End Sub
Private Sub mnuTransJual_Click()
frmTransaksi.Show 1, FrmMenu
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
On Error Resume Next
Select Case Button.Index
Case 1:
frmJenis.Show 1
Case 2:
frmBarang.Show 1
Case 4:
frmJual.Show 1
Case 6:
frmLogin.Show 1
End Select
End Sub

85
Lampiran C-3 Coding Script Untuk Spesifikasi Program Data Barang
Option Explicit
Dim GridObjIndex As Byte
Dim Kd_Jenis As String
Dim KodeBarang As String
Dim KeteranganBarang As String
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, _
(Screen.Height - Height) / 3
Call BukaDatabase
Call TampilGridData
Call FormMati
TbHapus.Enabled = False
TbSimpan.Enabled = False
TbUbah.Enabled = False
Call CmbJenis_Click
Call cmbJenis_DropDown
End Sub
Sub FormKosong()
txtKode.Text = ""
cmbJenis.ListIndex = -1
txtNama.Text = ""
txtHarga.Text = "0"
txtStok.Text = "0"

86
txtKeterangan.Text = ""
End Sub
Sub FormHidup()
txtKode.Enabled = True
cmbJenis.Enabled = True
txtNama.Enabled = True
txtHarga.Enabled = True
txtStok.Enabled = True
txtKeterangan.Enabled = True
End Sub
Sub FormMati()
txtKode.Enabled = False
cmbJenis.Enabled = False
txtNama.Enabled = False
txtHarga.Enabled = False
txtStok.Enabled = False
txtKeterangan.Enabled = False
End Sub
Sub FormNormal()
Call FormKosong
Call FormMati
txtStok.Locked = False
TbTambah.Enabled = True
TbHapus.Enabled = False

87
TbSimpan.Enabled = False
TbUbah.Enabled = False
TbKeluar.Caption = "&Keluar"
End Sub
Private Sub CmbJenis_Click()
Kd_Jenis = ""
Set Rs_Jenis = KoneksiDB.Execute("SELECT * FROM " _
& " Jenis_Barang WHERE " _
& " Nama_Jenis='" & cmbJenis.Text & "'")
With Rs_Jenis
If .EOF And .BOF Then
Exit Sub
Else
Kd_Jenis = Rs_Jenis!Kode_Jenis
txtNama.SetFocus
End If
End With
End Sub
Private Sub cmbJenis_DropDown()
cmbJenis.Clear
Set Rs_Jenis = KoneksiDB.Execute("SELECT * FROM " _
& " Jenis_Barang ORDER BY Nama_Jenis")
If Not Rs_Jenis.BOF Then
While Not Rs_Jenis.EOF

88
cmbJenis.AddItem Rs_Jenis!Nama_Jenis
Rs_Jenis.MoveNext
Wend
End If
End Sub
Sub BuatKodeBarang()
Rs_Barang.Requery
Set Rs_Barang = New ADODB.Recordset
Rs_Barang.Open "SELECT Barang.*, " _
& " Jenis_Barang.Nama_Jenis " _
& " FROM Barang, Jenis_Barang WHERE " _
& " Jenis_Barang.Kode_Jenis=Barang.Kode_Jenis " _
& " ORDER BY Kode_Barang ASC ", _
KoneksiDB, adOpenDynamic, adLockBatchOptimistic
If Rs_Barang.BOF Then
KodeBarang = "B0001"
Exit Sub
Else
Rs_Barang.MoveLast
KodeBarang = Rs_Barang!Kode_Barang
KodeBarang = Right(KodeBarang, 4)
KodeBarang = Val(KodeBarang) + 1
If Len(KodeBarang) > 4 Then
MsgBox "Kode baru melewati batas", _

89
vbCritical, "Error"
Exit Sub
End If
End If
KodeBarang = "B" & Format(KodeBarang, "0000")
End Sub
Sub AktifGridBarang()
With GridBarang
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "NO"
.CellFontBold = True
.ColWidth(0) = 400
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.RowHeightMin = 300
.Col = 1
.Row = 0
.Text = "KODE"
.CellFontBold = True
.ColWidth(1) = 750
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter

90
.Col = 2
.Row = 0
.Text = "JENIS"
.CellFontBold = True
.ColWidth(2) = 1900
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "NAMA BARANG"
.CellFontBold = True
.ColWidth(3) = 3300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "HARGA [Rp.]"
.CellFontBold = True
.ColWidth(4) = 1600
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 5
.Row = 0
.Text = "STOK"

91
.CellFontBold = True
.ColWidth(5) = 1600
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 6
.Row = 0
.Text = "KETERANGAN"
.CellFontBold = True
.ColWidth(6) = 3000
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilGridData()
Dim Baris As Integer
GridBarang.Clear
Call AktifGridBarang
GridBarang.Rows = 2
Baris = 0
Call BukaDatabase
If Rs_Barang.BOF Then
MsgBox "Tabel Barang masih kosong!", _
vbOKOnly + vbInformation, "Perhatian"
Exit Sub

92
Else
With Rs_Barang
.MoveFirst
Do While Not .EOF
On Error Resume Next
Baris = Baris + 1
GridBarang.Rows = Baris + 1
GridBarang.TextMatrix(Baris, 0) = Baris
GridBarang.TextMatrix(Baris, 1) = !Kode_Barang
GridBarang.TextMatrix(Baris, 2) = !Nama_Jenis
GridBarang.TextMatrix(Baris, 3) = !Nm_Barang
GridBarang.TextMatrix(Baris, 4) = !Hrg_Satuan
GridBarang.TextMatrix(Baris, 5) = !Stok_Barang
GridBarang.TextMatrix(Baris, 6) = !Keterangan
.MoveNext
Loop
End With
End If
End Sub
Private Sub GridBarang_DblClick()
TbHapus.Enabled = True
TbSimpan.Enabled = False
TbUbah.Enabled = True
TbKeluar.Caption = "&Batal"

93
TbTambah.Enabled = False
txtStok.Locked = True
Call FormHidup
cmbJenis.SetFocus
GridObjIndex = GridBarang.Row
Set Rs_Barang = New ADODB.Recordset
Rs_Barang.Open "SELECT Barang.*, " _
& " Jenis_Barang.Nama_Jenis " _
& " FROM Barang, Jenis_Barang WHERE " _
& " Jenis_Barang.Kode_Jenis=Barang.Kode_Jenis " _
& " AND Kode_Barang='" _
& GridBarang.TextMatrix(GridObjIndex, 1) _
& "' ORDER BY Kode_Barang ASC ", _
KoneksiDB, adOpenDynamic, adLockBatchOptimistic
If Rs_Barang.BOF Then
MsgBox "Tabel Barang masih kosong!", _
vbOKOnly + vbInformation, "Perhatian"
Exit Sub
Call FormNormal
Else
Rs_Barang.MoveFirst
Do While Not Rs_Barang.EOF
On Error Resume Next
txtKode.Text = Rs_Barang!Kode_Barang

94
cmbJenis.Text = Rs_Barang!Nama_Jenis
txtNama.Text = Rs_Barang!Nm_Barang
txtHarga.Text = Rs_Barang!Hrg_Satuan
txtStok.Text = Rs_Barang!Stok_Barang
txtKeterangan.Text = Rs_Barang!Keterangan
Rs_Barang.MoveNext
Loop
End If
End Sub
Private Sub TbTambah_Click()
Call FormHidup
Call BuatKodeBarang
txtKode.Text = KodeBarang
TbSimpan.Enabled = True
TbTambah.Enabled = False
TbUbah.Enabled = False
TbHapus.Enabled = False
TbKeluar.Caption = "&Batal"
cmbJenis.SetFocus
Call TampilGridData
End Sub
Private Sub TbSimpan_Click()
If cmbJenis.ListIndex = -1 Then
MsgBox "Jenis Barang tidak boleh kosong!", _

95
vbInformation + vbOKOnly, "Perhatian"
cmbJenis.SetFocus
ElseIf txtNama.Text = "" Then
MsgBox "Nama Barang tidak boleh kosong!", _
vbInformation + vbOKOnly, "Perhatian"
txtNama.SetFocus
ElseIf txtHarga.Text = "" Or txtHarga.Text = "0" Then
MsgBox "Harga Barang tidak boleh kosong!", _
vbInformation + vbOKOnly, "Perhatian"
txtHarga.SetFocus
ElseIf txtStok.Text = "" Then
MsgBox "Stok Barang tidak boleh kosong!", _
vbInformation + vbOKOnly, "Perhatian"
txtStok.SetFocus
Else
If txtKeterangan = "" Then
KeteranganBarang = "Tidak ada keterangan"
Else
KeteranganBarang = txtKeterangan.Text
End If
SqlInsert = "INSERT INTO Barang " _
& " (Kode_Barang,Kode_Jenis, Nm_Barang, " _
& " Hrg_Satuan,Stok_Barang, Keterangan)" _
& " VALUES('" & txtKode.Text & "','" _

96
& Kd_Jenis & "','" & txtNama.Text & "','" _
& txtHarga.Text & "','" & txtStok.Text & "','" _
& KeteranganBarang & "')"
KoneksiDB.Execute SqlInsert, , adCmdText
Rs_Barang.Requery
Call FormNormal
Call Form_Load
MsgBox "Data telah tersimpan dalam database !", _
vbOKOnly + vbInformation, "Konfirmasi"
End If
End Sub
Private Sub TbUbah_Click()
If cmbJenis.ListIndex = -1 Then
MsgBox "Jenis Barang tidak boleh kosong!", _
vbInformation + vbOKOnly, "Perhatian"
cmbJenis.SetFocus
ElseIf txtNama.Text = "" Then
MsgBox "Nama Barang tidak boleh kosong!", _
vbInformation + vbOKOnly, "Perhatian"
txtNama.SetFocus
ElseIf txtHarga.Text = "" Or txtHarga.Text = "0" Then
MsgBox "Harga Barang tidak boleh kosong!", _
vbInformation + vbOKOnly, "Perhatian"
txtHarga.SetFocus

97
ElseIf txtStok.Text = "" Then
MsgBox "Stok Barang tidak boleh kosong!", _
vbInformation + vbOKOnly, "Perhatian"
txtStok.SetFocus
Else
If txtKeterangan = "" Then
KeteranganBarang = "Tidak ada keterangan"
Else
KeteranganBarang = txtKeterangan.Text
End If
SqlUpdate = "UPDATE Barang" _
& " SET Kode_Jenis='" & Kd_Jenis & " ', " _
& " Nm_Barang='" & txtNama.Text & "', " _
& " Hrg_Satuan='" & txtHarga.Text & "', " _
& " Stok_Barang='" & txtStok.Text & "', " _
& " Keterangan='" & KeteranganBarang & "' " _
& " WHERE Kode_Barang='" & txtKode.Text & "'"
KoneksiDB.Execute SqlUpdate, , adCmdText
Rs_Barang.Requery
Call FormNormal
MsgBox "Data telah ter_update dalam database !", _
vbOKOnly + vbInformation, "Konfirmasi"
Call Form_Load
End If

98
End Sub
Private Sub TbHapus_Click()
Konfirmasi = MsgBox("Anda yakin akan " _
& " menghapus pesan ini?", _
vbYesNo + vbQuestion, "Konfirmasi")
If Konfirmasi = vbYes Then
SqlDelete = "DELETE FROM Barang WHERE " _
& " Kode_Barang='" & txtKode.Text & "'"
KoneksiDB.Execute SqlDelete, , adCmdText
Rs_Barang.Requery
Call FormNormal
Call Form_Load
Else
Call FormNormal
End If
End Sub
Private Sub TbKeluar_Click()
If TbKeluar.Caption = "&Keluar" Then
Unload Me
Else
FormNormal
End If
End Sub
Private Sub txtHarga_KeyPress(KeyAscii As Integer)

99
If KeyAscii = vbKeyReturn Then
txtStok.SetFocus
ElseIf Not (KeyAscii >= Asc("0") _
And KeyAscii <= Asc("9") _
Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtKeterangan_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
TbSimpan.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
txtHarga.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub txtStok_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
txtKeterangan.SetFocus

100
ElseIf Not (KeyAscii >= Asc("0") _
And KeyAscii <= Asc("9") _
Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub

101
Lampiran C-4 Coding Script Untuk Spesifikasi Progran Kasir
Option Explicit
Dim GridBaris As Byte
Dim TmpPassword As String
Dim NewPassword As String
Dim Tanya As String
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, _
(Screen.Height - Height) / 3
Call BukaDatabase
Call TampilGridData
cmbStatus.Clear
cmbStatus.AddItem ("KASIR")
cmbStatus.AddItem ("ADMIN")
TbUbah.Enabled = False
TbSimpan.Enabled = False
TbHapus.Enabled = False
Call FormMati
End Sub
Sub FormKosong()
txtUserId.Text = ""
txtPassword.Text = ""
txtNama.Text = ""
cmbStatus.ListIndex = -1

102
End Sub
Sub FormHidup()
txtUserId.Enabled = True
txtPassword.Enabled = True
txtNama.Enabled = True
cmbStatus.Enabled = True
txtUserId.BackColor = &HFFFFFF
txtPassword.BackColor = &HFFFFFF
txtNama.BackColor = &HFFFFFF
cmbStatus.BackColor = &HFFFFFF
End Sub
Sub FormMati()
txtUserId.Enabled = False
txtPassword.Enabled = False
txtNama.Enabled = False
cmbStatus.Enabled = False
txtUserId.BackColor = &HC0FFFF
txtPassword.BackColor = &HC0FFFF
txtNama.BackColor = &HC0FFFF
cmbStatus.BackColor = &HC0FFFF
End Sub
Sub FormNormal()
Call FormKosong
Call FormMati

103
TbBaru.Enabled = True
TbUbah.Enabled = False
TbHapus.Enabled = False
TbSimpan.Enabled = False
TbKeluar.Caption = "&Keluar"
End Sub
Sub AktifGridPengguna()
With GridPengguna
.RowHeightMin = 300
.Col = 0
.Row = 0
.Text = "USER ID"
.CellFontBold = True
.ColWidth(0) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "PASSWORD"
.CellFontBold = True
.ColWidth(1) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2

104
.Row = 0
.Text = "NAMA PEMILIK"
.CellFontBold = True
.ColWidth(2) = 3700
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3
.Row = 0
.Text = "STATUS"
.CellFontBold = True
.ColWidth(3) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Sub TampilGridData()
Dim Baris As Integer
GridPengguna.Clear
Call AktifGridPengguna
GridPengguna.Rows = 2
Baris = 0
Set Rs_Pengguna = New ADODB.Recordset
Rs_Pengguna.Open "SELECT * FROM Pengguna", _
KoneksiDB, adOpenDynamic, adLockOptimistic

105
If Rs_Pengguna.BOF Then
MsgBox "DATA Pengguna MASIH KOSONG!", _
vbOKOnly + vbInformation, "Perhatian"
Exit Sub
Else
With Rs_Pengguna
.MoveFirst
Do While Not .EOF
On Error Resume Next
Baris = Baris + 1
GridPengguna.Rows = Baris + 1
GridPengguna.TextMatrix(Baris, 0) = !UserId
GridPengguna.TextMatrix(Baris, 1) = "xxxxxxx"
GridPengguna.TextMatrix(Baris, 2) = !Nama
GridPengguna.TextMatrix(Baris, 3) = !Status
.MoveNext
Loop
End With
End If
End Sub
Private Sub Frame1_DragDrop(Source As Control, X As Single, Y As Single)
End Sub
Private Sub GridPengguna_DblClick()
TbHapus.Enabled = True

106
TbSimpan.Enabled = False
TbUbah.Enabled = True
TbKeluar.Caption = "&Normal"
TbBaru.Enabled = False
txtUserId.Locked = True
Call FormHidup
txtPassword.SetFocus
GridBaris = GridPengguna.Row
Set Rs_Pengguna = New ADODB.Recordset
Rs_Pengguna.Open "SELECT * FROM Pengguna " _
& " WHERE UserId='" _
& GridPengguna.TextMatrix(GridBaris, 0) & "'", _
KoneksiDB, adOpenDynamic, adLockBatchOptimistic
If Rs_Pengguna.BOF Then
MsgBox "TABEL MASIH KOSONG", _
vbOKOnly + vbInformation, "Perhatian"
Exit Sub
Call FormNormal
Else
Rs_Pengguna.MoveFirst
Do While Not Rs_Pengguna.EOF
On Error Resume Next
txtUserId.Text = Rs_Pengguna!UserId
txtNama.Text = Rs_Pengguna!Nama

107
cmbStatus.Text = Rs_Pengguna!Status
TmpPassword = Rs_Pengguna!PassId
Rs_Pengguna.MoveNext
Loop
End If
End Sub
Private Sub TbBaru_Click()
Call FormHidup
Call TampilGridData
TbSimpan.Enabled = True
TbBaru.Enabled = False
TbHapus.Enabled = False
TbKeluar.Caption = "&Normal"
txtUserId.Locked = False
txtUserId.SetFocus
End Sub
Private Sub TbSimpan_Click()
Set Rs_Pengguna = New ADODB.Recordset
Rs_Pengguna.Open "SELECT * FROM Pengguna WHERE " _
& " UserId='" & Trim(txtUserId.Text) & "'", _
KoneksiDB, adOpenDynamic, adLockBatchOptimistic
If Len(txtUserId.Text) <= 4 Then
MsgBox "USER ID MINIMAL 4 DIGIT", _
vbOKOnly + vbCritical, "Error"

108
txtUserId.SetFocus
ElseIf txtNama.Text = "" Then
MsgBox "NAMA BELUM DIISI", _
vbOKOnly + vbCritical, "Error"
txtNama.SetFocus
ElseIf Not Rs_Pengguna.BOF Then
MsgBox "Maaf, UserId" _
& " " & UCase(txtUserId.Text) _
& " sudah tersedia!!", _
vbInformation + vbOKOnly, "Information"
txtUserId.Text = ""
txtUserId.SetFocus
Exit Sub
Else
SqlInsert = "INSERT INTO Pengguna " _
& " (UserId,PassId,Nama,Status) " _
& " VALUES('" & Trim(txtUserId.Text) & "','" _
& Trim(txtPassword.Text) & "','" _
& Trim(txtNama.Text) & "','" _
& Trim(cmbStatus.Text) & "')"

KoneksiDB.Execute SqlInsert, , adCmdText


Rs_Pengguna.Requery
Call FormNormal

109
Call Form_Load
MsgBox "DATA PENGGUNA BARU TELAH TERSIMPAN", _
vbOKOnly + vbInformation, "Sukses"
End If
End Sub
Private Sub TbUbah_Click()
Set Rs_Pengguna = New ADODB.Recordset
Rs_Pengguna.Open "SELECT * FROM Pengguna WHERE " _
& " UserId='" & Trim(txtUserId.Text) & "'", _
KoneksiDB, adOpenDynamic, adLockBatchOptimistic
If txtNama.Text = "" Then
MsgBox "NAMA BELUM DIISI", _
vbOKOnly + vbCritical, "Error"
txtNama.SetFocus
Else
If Trim(txtPassword.Text) = "" Then
NewPassword = TmpPassword
Else
NewPassword = txtPassword.Text
End If
Tanya = MsgBox("AKAN MERUBAH DATA PENGGUNA? DARI : " _
& vbCrLf & "" & "NAMA LAMA : " _
& Rs_Pengguna.Fields!Nama + vbCrLf & "" _
& "NAMA BARU : " & txtNama.Text + vbCrLf & "", _

110
vbYesNo + vbQuestion, "Awass")
If Tanya = vbYes Then
SqlUpdate = "UPDATE Pengguna" _
& " SET PassId='" & NewPassword & " ', " _
& " Nama='" & Trim(txtNama.Text) & "', " _
& " Status='" & Trim(cmbStatus.Text) & "' " _
& " WHERE UserId='" & Trim(txtUserId.Text) & "'"
KoneksiDB.Execute SqlUpdate, , adCmdText
End If
Rs_Barang.Requery
Call FormNormal
Call Form_Load
End If
End Sub
Private Sub TbHapus_Click()
Tanya = MsgBox("YAKIN AKAN MENGHAPUS DATA INI?" _
& vbCrLf & "" & "USER ID : " _
& txtUserId + vbCrLf & "" _
& "NAMA : " & txtNama.Text + vbCrLf & "", _
vbYesNo + vbQuestion, "Awass")
If Tanya = vbYes Then
SQL = "DELETE FROM Pengguna WHERE " _
& " UserId='" & txtUserId.Text & "'"
KoneksiDB.Execute SQL, , adCmdText

111
Rs_Pengguna.Requery
Call FormNormal
Call FormMati
Call TampilGridData
Else
Call FormNormal
End If
End Sub
Private Sub TbKeluar_Click()
If TbKeluar.Caption = "&Keluar" Then
Unload Me
Else
Call FormNormal
End If
End Sub
Private Sub txtUserId_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
txtPassword.SetFocus
KeyAscii = 0
End If
End Sub
Private Sub txtPassword_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
txtNama.SetFocus

112
KeyAscii = 0
End If
End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer)
KeyAscii = Asc(UCase((Chr(KeyAscii))))
If KeyAscii = vbKeyReturn Then
cmbStatus.SetFocus
KeyAscii = 0
End If
End Sub

113
Lampiran C-5 Coding Script Untuk Spesifikasi Program Transaksi
Option Explicit
Dim Baris As Integer
Dim i As Integer
Dim Tanya As String
Dim NoNota As String
Dim NaikHargaJual As String
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, _
(Screen.Height - Height) / 3
Call BukaDatabase
Call FormMati
TbSimpan.Enabled = False
TbCari.Enabled = False
TbMasuk.Enabled = False
End Sub
Sub FormKosong()
txtNoNota.Text = ""
txtTgl.Text = "__/__/____"
txtKode.Text = ""
txtNama.Text = ""
txtStok.Text = ""
txtHarga.Text = "0"
txtJumlah.Text = ""

114
txtTotal.Text = "0"
txtTotalHarga = "0"
txtKembali.Text = "0"
txtCash.Text = "0"
Baris = 1
GridPenjualan.Clear
GridPenjualan.Rows = 2
Call AktifGridJual
End Sub
Sub FormTransKosong()
txtTotalHarga.Text = "0"
txtCash.Text = ""
txtKembali.Text = "0"
End Sub
Sub FormMati()
txtNoNota.Enabled = False
txtTgl.Enabled = False
txtKode.Enabled = False
txtNama.Enabled = False
txtStok.Enabled = False
txtHarga.Enabled = False
txtJumlah.Enabled = False
txtTotal.Enabled = False
txtTotalHarga.Enabled = False

115
txtCash.Enabled = False
txtKembali.Enabled = False
End Sub
Sub FormHidup()
txtNoNota.Enabled = True
txtTgl.Enabled = True
txtKode.Enabled = True
txtNama.Enabled = True
txtStok.Enabled = True
txtHarga.Enabled = True
txtJumlah.Enabled = True
txtTotal.Enabled = True
txtTotalHarga.Enabled = True
txtCash.Enabled = True
txtKembali.Enabled = True
End Sub
Sub FormNormal()
FormMati
FormKosong
TbKeluar.Caption = "&Keluar"
TbSimpan.Enabled = False
TbBaru.Enabled = True
TbCari.Enabled = False
TbMasuk.Enabled = False

116
End Sub
Sub BuatNotaJual()
Rs_Penjualan.Requery
Set Rs_Penjualan = New ADODB.Recordset
Rs_Penjualan.Open " SELECT * FROM " _
& " Penjualan ORDER BY No_Nota ", _
KoneksiDB, adOpenDynamic, _
adLockBatchOptimistic
If Rs_Penjualan.BOF Then
NoNota = "JL-00001"
Exit Sub
Else
Rs_Penjualan.MoveLast
NoNota = Rs_Penjualan!No_Nota
NoNota = Right(NoNota, 5)
NoNota = Val(NoNota) + 1
If Len(NoNota) > 5 Then
MsgBox "Nomor nota baru melewati batas", _
vbCritical, "Error"
Exit Sub
End If
End If
NoNota = "JL-" & Format(NoNota, "00000")
End Sub

117
Sub AktifGridJual()
With GridPenjualan
.Col = 0
.Row = 0
.Text = "KODE"
.CellFontBold = True
.ColWidth(0) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "NAMA Barang"
.CellFontBold = True
.ColWidth(1) = 4200
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "HARGA (Rp)"
.CellFontBold = True
.ColWidth(2) = 1800
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3

118
.Row = 0
.Text = "JUMLAH"
.CellFontBold = True
.ColWidth(3) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "SUBTOTAL (Rp)"
.CellFontBold = True
.ColWidth(4) = 1800
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Private Sub TbBaru_Click()
txtTgl.Text = Format(Date, "dd/MM/yyyy")
Call FormHidup
Call AktifGridJual
Call BuatNotaJual
txtNoNota.Text = NoNota
TbBaru.Enabled = False
TbCari.Enabled = True
TbKeluar.Caption = "&Batal"

119
TbSimpan.Enabled = True
TbMasuk.Enabled = True
Baris = 1
End Sub
Private Sub TbCari_Click()
FrmMenu.Enabled = False
frmTransaksi.Enabled = False
frmCariStok.Show 1
End Sub
Private Sub TbMasuk_Click()
If txtKode.Text = "" Then
MsgBox "Barang masih kosong! ", _
vbOKOnly + vbCritical, "Konfirmasi"
TbCari.SetFocus
ElseIf Val(txtJumlah.Text) > _
Val(txtStok.Text) Then
MsgBox "Maaf..! Stok tidak memadai .", _
vbOKOnly + vbCritical, "Konfirmasi"
txtJumlah.Text = "0"
txtJumlah.SetFocus
ElseIf txtJumlah.Text = "0" _
Or txtJumlah.Text = "" Then
MsgBox "Jumlah barang masih kosong! ", _
vbOKOnly + vbCritical, "Konfirmasi"

120
txtJumlah.SetFocus
ElseIf GridPenjualan.Rows = 1 Then
MsgBox "Belum ada barang yang akan dijual!", _
vbOKOnly + vbCritical, "Konfirmasi"
TbCari.SetFocus
ElseIf txtStok.Text = "1" Then
MsgBox "Stok barang minimum!", _
vbOKOnly + vbCritical, "Konfirmasi"
Call BersihBarang
ElseIf Val(txtStok.Text) = _
Val(txtJumlah.Text) Then
MsgBox "Stok harus disisakan untuk sempel!", _
vbOKOnly + vbCritical, "Konfirmasi"
txtJumlah.Text = Val(txtJumlah.Text) - 1
TbMasuk.SetFocus
Else
With GridPenjualan
.Rows = Baris + 1
.TextMatrix(Baris, 0) = txtKode.Text
.TextMatrix(Baris, 1) = txtNama.Text
.TextMatrix(Baris, 2) = txtHarga.Text
.TextMatrix(Baris, 3) = txtJumlah.Text
.TextMatrix(Baris, 4) = txtTotal.Text
End With

121
txtTotalHarga.Text = _
Val(txtTotalHarga.Text) + Val(txtTotal.Text)
Baris = Baris + 1
Call BersihBarang
End If
End Sub
Private Sub TbSimpan_Click()
Dim i As Integer
If txtNoNota.Text = "" Then
MsgBox "Nomor transaksi masih kosong !", _
vbOKOnly + vbCritical, "Konfirmasi"
txtNoNota.SetFocus
ElseIf Baris = 1 Then
MsgBox "Belum ada Barang yang akan dijual!", _
vbOKOnly + vbCritical, "Konfirmasi"
TbCari.SetFocus
ElseIf txtCash.Text = "" Or txtCash.Text = "0" Then
MsgBox "Belum melakukan pembayaran ! ", _
vbOKOnly + vbCritical, "Konfirmasi"
txtCash.SetFocus
ElseIf Val(txtCash.Text) < _
Val(txtTotalHarga.Text) Then
MsgBox "Pembayaran masih kurang", _
vbOKOnly + vbCritical, "Konfirmasi"

122
txtCash.SetFocus
Else
SqlInsert = ""
SqlInsert = "INSERT INTO Penjualan" _
& "(No_Nota,Tgl_Nota,Total_Bayar,UserId)" _
& "VALUES ('" & txtNoNota.Text & "','" _
& Format(Date, "yyyy-MM-dd") & "','" _
& txtTotalHarga.Text & " ','" _
& PenggunaID & "')"
KoneksiDB.Execute SqlInsert, , adCmdText
Rs_Penjualan.Requery
For i = 1 To Baris - 1
SqlInsert = ""
SqlInsert = "INSERT INTO Detail_Penjualan" _
& "(No_Nota,Kode_Barang,Harga_Jual, " _
& " Jumlah_Jual,SubTotal)" _
& " VALUES ('" & txtNoNota.Text & "','" _
& GridPenjualan.TextMatrix(i, 0) & "','" _
& GridPenjualan.TextMatrix(i, 2) & "','" _
& GridPenjualan.TextMatrix(i, 3) & "','" _
& GridPenjualan.TextMatrix(i, 4) & "')"
KoneksiDB.Execute SqlInsert, , adCmdText
SqlUpdate = ""
SqlUpdate = "UPDATE Barang SET " _

123
& " Stok_Barang=Stok_Barang - " _
& Val(GridPenjualan.TextMatrix(i, 3)) & "" _
& " WHERE Kode_Barang='" _
& GridPenjualan.TextMatrix(i, 0) & "'"
KoneksiDB.Execute SqlUpdate, , adCmdText
Next i
MsgBox "Data telah tersimpan dalam database !", _
vbOKOnly + vbInformation, "Konfirmasi"
On Error Resume Next
With frmCetakJual
.NoNota = txtNoNota.Text
.TotHarga = txtTotalHarga.Text
.UangBayar = txtCash.Text
.UangKembali = txtKembali.Text
.Show 1
End With
Call FormNormal
Call FormTransKosong
End If
End Sub
Private Sub TbKeluar_Click()
If TbKeluar.Caption = "&Keluar" Then
Tanya = MsgBox("ANDA YAKIN AKAN " _
& " MENGAKHIRI APLIKASI INI..?", _

124
vbQuestion + vbYesNo, "Exit")
If Tanya = vbYes Then
FrmMenu.Enabled = True
Unload Me
Else
Exit Sub
End If
Else
Call FormNormal
End If
End Sub
Sub BersihBarang()
txtKode.Text = ""
txtNama.Text = ""
txtHarga.Text = "0"
txtStok.Text = "0"
txtJumlah.Text = ""
txtTotal.Text = "0"
End Sub
Private Sub txtCash_Change()
On Error Resume Next
If txtCash.Text = "" Or txtTotalHarga.Text = "" Then
txtKembali.Text = "0"
Exit Sub

125
Else
txtKembali.Text = _
Val(txtCash.Text) - Val(txtTotalHarga.Text)
End If
End Sub
Private Sub txtCash_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
TbMasuk.SetFocus
ElseIf Not (KeyAscii >= Asc("0") _
And KeyAscii <= Asc("9") _
Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtJumlah_Change()
On Error Resume Next
If txtJumlah.Text = "" Or txtHarga.Text = "" Then
txtTotal.Text = "0"
Exit Sub
Else
txtTotal.Text = txtJumlah.Text * txtHarga.Text
End If
End Sub

126
Private Sub txtJumlah_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
TbMasuk.SetFocus
ElseIf Not (KeyAscii >= Asc("0") _
And KeyAscii <= Asc("9") _
Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtKode_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
If Len(txtKode.Text) < 5 Then
MsgBox "KODE BARANG HARUS 5 DIGIT", _
vbCritical, "Error"
Exit Sub
End If
KeyAscii = 0
Set Rs_StokBarang = New ADODB.Recordset
Rs_StokBarang.Open "SELECT Barang.*, " _
& " Jenis_Barang.Nama_Jenis " _
& " FROM Barang, Jenis_Barang WHERE " _
& " Jenis_Barang.Kode_Jenis=Barang.Kode_Jenis " _
& " AND Barang.Stok_Barang <> 0 " _

127
& " AND Barang.Kode_Barang='" & txtKode.Text & "' ", _
KoneksiDB, adOpenDynamic, _
adLockBatchOptimistic
If Rs_StokBarang.BOF Then
MsgBox "KODE BARANG TIDAK DIKENALI ..", _
vbInformation, "Info"
Else
With Rs_StokBarang
txtStok.Text = !Stok_Barang
txtNama.Text = !Nm_Barang
' Harga penjualan secara otomatis
' dinaikkan 10% dari harga satuan
NaikHargaJual = _
(0.1 * Val(Rs_StokBarang!Hrg_Satuan))
txtHarga.Text = _
(Val(Rs_StokBarang!Hrg_Satuan) + NaikHargaJual)
txtJumlah.SetFocus
End With
End If
End If
End Sub

128
Lampiran C-6 Coding Script Untuk Spesifikasi Program Laporan Jumlah Barang
Private Sub DataReport_Terminate()
rptBarang.Refresh
DELaporan.rscmdBarang.Close
End Sub

129
Lampiran C-7 Coding Script Untuk Spesifikasi Program Laporan Penjualan Per-kasir
Private Sub DataReport_Terminate()
rptKasir.Refresh
DELaporan.rscmdPengguna.Close
End Sub

130
Lampiran C-8 Coding Script Untuk Spesifikasi Program Laporan Transaksi Penjualan
Tunai
Private Sub DataReport_Terminate()
rptLapPenjualan.Refresh
DELaporan.rscmdSelPenjualan.Close
End Sub

131
Lampiran C-8 Coding Script Untuk Spesifikasi Program Cetak Faktur Penjualan Tunai
Option Explicit
Dim Baris As Integer
Dim i As Integer
Dim Tanya As String
Dim NoNota As String
Dim NaikHargaJual As String
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, _
(Screen.Height - Height) / 3
Call BukaDatabase
Call FormMati
TbSimpan.Enabled = False
TbCari.Enabled = False
TbMasuk.Enabled = False
End Sub
Sub FormKosong()
txtNoNota.Text = ""
txtTgl.Text = "__/__/____"
txtKode.Text = ""
txtNama.Text = ""
txtStok.Text = ""
txtHarga.Text = "0"
txtJumlah.Text = ""

132
txtTotal.Text = "0"
txtTotalHarga = "0"
txtKembali.Text = "0"
txtCash.Text = "0"
Baris = 1
GridPenjualan.Clear
GridPenjualan.Rows = 2
Call AktifGridJual
End Sub
Sub FormTransKosong()
txtTotalHarga.Text = "0"
txtCash.Text = ""
txtKembali.Text = "0"
End Sub
Sub FormMati()
txtNoNota.Enabled = False
txtTgl.Enabled = False
txtKode.Enabled = False
txtNama.Enabled = False
txtStok.Enabled = False
txtHarga.Enabled = False
txtJumlah.Enabled = False
txtTotal.Enabled = False
txtTotalHarga.Enabled = False

133
txtCash.Enabled = False
txtKembali.Enabled = False
End Sub
Sub FormHidup()
txtNoNota.Enabled = True
txtTgl.Enabled = True
txtKode.Enabled = True
txtNama.Enabled = True
txtStok.Enabled = True
txtHarga.Enabled = True
txtJumlah.Enabled = True
txtTotal.Enabled = True
txtTotalHarga.Enabled = True
txtCash.Enabled = True
txtKembali.Enabled = True
End Sub
Sub FormNormal()
FormMati
FormKosong
TbKeluar.Caption = "&Keluar"
TbSimpan.Enabled = False
TbBaru.Enabled = True
TbCari.Enabled = False
TbMasuk.Enabled = False

134
End Sub
Sub BuatNotaJual()
Rs_Penjualan.Requery
Set Rs_Penjualan = New ADODB.Recordset
Rs_Penjualan.Open " SELECT * FROM " _
& " Penjualan ORDER BY No_Nota ", _
KoneksiDB, adOpenDynamic, _
adLockBatchOptimistic
If Rs_Penjualan.BOF Then
NoNota = "JL-00001"
Exit Sub
Else
Rs_Penjualan.MoveLast
NoNota = Rs_Penjualan!No_Nota
NoNota = Right(NoNota, 5)
NoNota = Val(NoNota) + 1
If Len(NoNota) > 5 Then
MsgBox "Nomor nota baru melewati batas", _
vbCritical, "Error"
Exit Sub
End If
End If
NoNota = "JL-" & Format(NoNota, "00000")
End Sub

135
Sub AktifGridJual()
With GridPenjualan
.Col = 0
.Row = 0
.Text = "KODE"
.CellFontBold = True
.ColWidth(0) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 1
.Row = 0
.Text = "NAMA Barang"
.CellFontBold = True
.ColWidth(1) = 4200
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 2
.Row = 0
.Text = "HARGA (Rp)"
.CellFontBold = True
.ColWidth(2) = 1800
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 3

136
.Row = 0
.Text = "JUMLAH"
.CellFontBold = True
.ColWidth(3) = 1300
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
.Col = 4
.Row = 0
.Text = "SUBTOTAL (Rp)"
.CellFontBold = True
.ColWidth(4) = 1800
.AllowUserResizing = flexResizeColumns
.CellAlignment = flexAlignCenterCenter
End With
End Sub
Private Sub TbBaru_Click()
txtTgl.Text = Format(Date, "dd/MM/yyyy")
Call FormHidup
Call AktifGridJual

Call BuatNotaJual
txtNoNota.Text = NoNota
TbBaru.Enabled = False
TbCari.Enabled = True

137
TbKeluar.Caption = "&Batal"
TbSimpan.Enabled = True
TbMasuk.Enabled = True
Baris = 1
End Sub
Private Sub TbCari_Click()
FrmMenu.Enabled = False
frmTransaksi.Enabled = False
frmCariStok.Show 1
End Sub
Private Sub TbMasuk_Click()
If txtKode.Text = "" Then
MsgBox "Barang masih kosong! ", _
vbOKOnly + vbCritical, "Konfirmasi"
TbCari.SetFocus
ElseIf Val(txtJumlah.Text) > _
Val(txtStok.Text) Then
MsgBox "Maaf..! Stok tidak memadai .", _
vbOKOnly + vbCritical, "Konfirmasi"
txtJumlah.Text = "0"
txtJumlah.SetFocus
ElseIf txtJumlah.Text = "0" _
Or txtJumlah.Text = "" Then
MsgBox "Jumlah barang masih kosong! ", _

138
vbOKOnly + vbCritical, "Konfirmasi"
txtJumlah.SetFocus
ElseIf GridPenjualan.Rows = 1 Then
MsgBox "Belum ada barang yang akan dijual!", _
vbOKOnly + vbCritical, "Konfirmasi"
TbCari.SetFocus
ElseIf txtStok.Text = "1" Then
MsgBox "Stok barang minimum!", _
vbOKOnly + vbCritical, "Konfirmasi"
Call BersihBarang
ElseIf Val(txtStok.Text) = _
Val(txtJumlah.Text) Then
MsgBox "Stok harus disisakan untuk sempel!", _
vbOKOnly + vbCritical, "Konfirmasi"
txtJumlah.Text = Val(txtJumlah.Text) - 1
TbMasuk.SetFocus
Else
With GridPenjualan
.Rows = Baris + 1
.TextMatrix(Baris, 0) = txtKode.Text
.TextMatrix(Baris, 1) = txtNama.Text
.TextMatrix(Baris, 2) = txtHarga.Text
.TextMatrix(Baris, 3) = txtJumlah.Text
.TextMatrix(Baris, 4) = txtTotal.Text

139
End With
txtTotalHarga.Text = _
Val(txtTotalHarga.Text) + Val(txtTotal.Text)
Baris = Baris + 1
Call BersihBarang
End If
End Sub
Private Sub TbSimpan_Click()
Dim i As Integer
If txtNoNota.Text = "" Then
MsgBox "Nomor transaksi masih kosong !", _
vbOKOnly + vbCritical, "Konfirmasi"
txtNoNota.SetFocus
ElseIf Baris = 1 Then
MsgBox "Belum ada Barang yang akan dijual!", _
vbOKOnly + vbCritical, "Konfirmasi"
TbCari.SetFocus
ElseIf txtCash.Text = "" Or txtCash.Text = "0" Then
MsgBox "Belum melakukan pembayaran ! ", _
vbOKOnly + vbCritical, "Konfirmasi"
txtCash.SetFocus
ElseIf Val(txtCash.Text) < _
Val(txtTotalHarga.Text) Then
MsgBox "Pembayaran masih kurang", _

140
vbOKOnly + vbCritical, "Konfirmasi"
txtCash.SetFocus
Else
SqlInsert = ""
SqlInsert = "INSERT INTO Penjualan" _
& "(No_Nota,Tgl_Nota,Total_Bayar,UserId)" _
& "VALUES ('" & txtNoNota.Text & "','" _
& Format(Date, "yyyy-MM-dd") & "','" _
& txtTotalHarga.Text & " ','" _
& PenggunaID & "')"
KoneksiDB.Execute SqlInsert, , adCmdText
Rs_Penjualan.Requery
For i = 1 To Baris - 1
SqlInsert = ""
SqlInsert = "INSERT INTO Detail_Penjualan" _
& "(No_Nota,Kode_Barang,Harga_Jual, " _
& " Jumlah_Jual,SubTotal)" _
& " VALUES ('" & txtNoNota.Text & "','" _
& GridPenjualan.TextMatrix(i, 0) & "','" _
& GridPenjualan.TextMatrix(i, 2) & "','" _
& GridPenjualan.TextMatrix(i, 3) & "','" _
& GridPenjualan.TextMatrix(i, 4) & "')"
KoneksiDB.Execute SqlInsert, , adCmdText
SqlUpdate = ""

141
SqlUpdate = "UPDATE Barang SET " _
& " Stok_Barang=Stok_Barang - " _
& Val(GridPenjualan.TextMatrix(i, 3)) & "" _
& " WHERE Kode_Barang='" _
& GridPenjualan.TextMatrix(i, 0) & "'"
KoneksiDB.Execute SqlUpdate, , adCmdText
Next i
MsgBox "Data telah tersimpan dalam database !", _
vbOKOnly + vbInformation, "Konfirmasi"
On Error Resume Next
With frmCetakJual
.NoNota = txtNoNota.Text
.TotHarga = txtTotalHarga.Text
.UangBayar = txtCash.Text
.UangKembali = txtKembali.Text
.Show 1
End With
Call FormNormal
Call FormTransKosong
End If
End Sub
Private Sub TbKeluar_Click()
If TbKeluar.Caption = "&Keluar" Then
Tanya = MsgBox("ANDA YAKIN AKAN " _

142
& " MENGAKHIRI APLIKASI INI..?", _
vbQuestion + vbYesNo, "Exit")
If Tanya = vbYes Then
FrmMenu.Enabled = True
Unload Me
Else
Exit Sub
End If
Else
Call FormNormal
End If
End Sub
Sub BersihBarang()
txtKode.Text = ""
txtNama.Text = ""
txtHarga.Text = "0"
txtStok.Text = "0"
txtJumlah.Text = ""
txtTotal.Text = "0"
End Sub
Private Sub txtCash_Change()
On Error Resume Next
If txtCash.Text = "" Or txtTotalHarga.Text = "" Then
txtKembali.Text = "0"

143
Exit Sub
Else
txtKembali.Text = _
Val(txtCash.Text) - Val(txtTotalHarga.Text)
End If
End Sub
Private Sub txtCash_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
TbMasuk.SetFocus
ElseIf Not (KeyAscii >= Asc("0") _
And KeyAscii <= Asc("9") _
Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtJumlah_Change()
On Error Resume Next
If txtJumlah.Text = "" Or txtHarga.Text = "" Then
txtTotal.Text = "0"
Exit Sub
Else
txtTotal.Text = txtJumlah.Text * txtHarga.Text
End If

144
End Sub
Private Sub txtJumlah_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
TbMasuk.SetFocus
ElseIf Not (KeyAscii >= Asc("0") _
And KeyAscii <= Asc("9") _
Or KeyAscii = vbKeyBack) Then
Beep
KeyAscii = 0
End If
End Sub
Private Sub txtKode_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
If Len(txtKode.Text) < 5 Then
MsgBox "KODE BARANG HARUS 5 DIGIT", _
vbCritical, "Error"
Exit Sub
End If
KeyAscii = 0
Set Rs_StokBarang = New ADODB.Recordset
Rs_StokBarang.Open "SELECT Barang.*, " _
& " Jenis_Barang.Nama_Jenis " _
& " FROM Barang, Jenis_Barang WHERE " _
& " Jenis_Barang.Kode_Jenis=Barang.Kode_Jenis " _

145
& " AND Barang.Stok_Barang <> 0 " _
& " AND Barang.Kode_Barang='" & txtKode.Text & "' ", _
KoneksiDB, adOpenDynamic, _
adLockBatchOptimistic
If Rs_StokBarang.BOF Then
MsgBox "KODE BARANG TIDAK DIKENALI ..", _
vbInformation, "Info"
Else
With Rs_StokBarang
txtStok.Text = !Stok_Barang
txtNama.Text = !Nm_Barang
' Harga penjualan secara otomatis
' dinaikkan 10% dari harga satuan
NaikHargaJual = _
(0.1 * Val(Rs_StokBarang!Hrg_Satuan))
txtHarga.Text = _
(Val(Rs_StokBarang!Hrg_Satuan) + NaikHargaJual)
txtJumlah.SetFocus
End With
End If
End If
End Sub

146
Lampiran C-9 Coding Script Untuk Spesifikasi Program Exit
Private Sub mnuKeluar_Click()
Dim X As Byte
X = MsgBox("Yakin mau keluar ?", vbYesNo, "Konfirmasi")
If X = vbYes Then
Unload Me
End If
End Sub

Das könnte Ihnen auch gefallen