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. 1

38441420 skripsi-aplikasi-penjualan-bab-1-5

Embed Size (px)

DESCRIPTION

skripsi pembuatan aplikasi penjualan

Citation preview

Page 1: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

1

Page 2: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

2

Page 3: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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:

3

Page 4: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

4

Page 5: 38441420 skripsi-aplikasi-penjualan-bab-1-5

BAB II

LANDASAN TEORI

2.1 Konsep Dasar Pemrograman

Menurut Tata Sutabri (2005:148) “Progam adalah suatu kumpulan instruksi-

instruksi 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

5

5

Page 6: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

6

Page 7: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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:

7

Page 8: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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 IF-

THEN-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) berulang-

ulang 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.

8

Page 9: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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:

9

Page 10: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

10

Page 11: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

11

Page 12: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

12

Page 13: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

13

Page 14: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Sistem Informasi Manajemen merupakan suatu sistem yang melakukan rungsi-

fungsi 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)

14

Page 15: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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)

15

Page 16: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

16

Page 17: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

3. 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.

4. 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.

17

Page 18: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

18

Page 19: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

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,

19

18

Page 20: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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 produk-

produk 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

20

Page 21: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

Gambar II.1 Struktur Organisasi CV. Ibnu Yusuf Effort

21

Pemilik

Manager

Bagian Keuangan Bagian Gudang Bagian Pemasaran

Page 22: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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 arahan-

arahan 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

22

Page 23: 38441420 skripsi-aplikasi-penjualan-bab-1-5

3.3. Data Flowchart Diagram Sistem Berjalan

Gambar II.2. Diagram Konteks Sistem Berjalan

23

Penerbit Gudang

Pimpinan

Sistem Pemesanan

Barang pada CV. Ibnu Yusuf

Effort

SPB, Faktur SJ

PO PO, Faktur SJ

LSB

SJ

Page 24: 38441420 skripsi-aplikasi-penjualan-bab-1-5

keterangan :

SPB : Surat Penawaran Barang

PO : Purchase Order

LSB : Laporan Stok Barang

24

Penerbit Gudang1.0

Pemesanan Barang

2.0Penerimaan

Barang

3.0Pengecekan

Barang

4.0Laporan

Arsip PO

Arsip Faktur

PimpinanFaktur, SJ

3.0Pengecekan

Barang

SJ

LSB

Faktur

Faktur

PO

PO

Faktur SJ

SPB

PO

SPB

PO

SJ

Page 25: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

BARANG

HARGA STOK

Mengetahui Di terima Oleh

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

25

Page 26: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

26

Page 27: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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*

27

Page 28: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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. Rancangan bentuk Masukan

a. Nama Dokumen : Data Barang

Fungsi : Mengetahui data barang yang ada

Sumber : Pemilik

28

Page 29: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Tujuan : Bagian Penjualan

Frekuensi : Setiap menambah barang baru

Media : Tampilan layar

Bentuk : Lampiran C-3

b. 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 : Data Transaksi

Fungsi : Untuk melaporkan transaksi

Sumber : Bagian Penjualan

Tujuan : Kasir

Frekuensi : Setiap ada transaksi pembelian

Media : Kertas

Bentuk : Lampiran C-5

3.5.2. Rancangan Bentuk Keluaran

a. 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

29

Page 30: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Jumlah : 1 lembar

Media : Cetak

Bentuk : Lampiran C-6

b. Nama Dokumen : Laporan Penjualan Perkasir

Fungsi : Melaporkan transaksi penjualan yang sudah dilakukan

oleh setiap kasir

Sumber : Kasir

Tujuan : Pimpinan Perusahaan

Frekuensi : Setiap 1 bulan sekali

Jumlah : 1 lembar

Media : Kertas

Bentuk : Lampiran C-7

c. 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

d. Nama Dokumen : Struk penjualan

Fungsi : Sebaai tanda bukti tunai

Sumber : Kasir

Tujuan : pembeli

Frekuensi : Setiap ada transaksi

Jumlah : 1 lembar

Media : Cetak

30

Page 31: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Bentuk : Lampiran C-9

3.6. Normalisasi File

a. Bentuk Tidak Normal (Unnormalized Form)

31

Kode_barang Nama_barang Jenis_barang Harga Stok Kode_user Nama_userPasswordNo_fakturTanggal_fakturKode_userNama_userKode_barangJumlah_beliSub_total

Page 32: 38441420 skripsi-aplikasi-penjualan-bab-1-5

b. Bentuk Normal Kesatu (1 NF atau First Normal Form)

Keterangan:

• Candidate Key

32

Kode_barang *Nama_barangJenis_barangHargaStokNo_faktur *Tanggal_faktur Jumlah_beliSub_total Kode_user *Nama_userPassword

Page 33: 38441420 skripsi-aplikasi-penjualan-bab-1-5

c. Bentuk Normal Kedua (2 NF atau Second Normal Form)

33

Tabel Barang

Kode_barang *Nama_barangJenis_barang Harga Stok

Tabel User

Kode_user *Nama_userPassword

Tabel Transaksi

No_faktur * Tanggal_faktur Jumlah_beliSub_total

Kode_user ** Kode_barang **

Page 34: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Keterangan:

* Merupakan Kunci Primer ( Primary Key)

** Merupakan Kunci Tamu (Foreign Key)

d. Bentuk Normal Ketiga (3 NF atau Third Normal Form)

34

Tabel Barang

Kode_barang*Nama_barangJenis_barang Harga Stok

Tabel User

Kode_user* Nama_userPassword

Tabel Transaksi

Jumlah_beli Sub_total

Tabel Faktur

No_faktur* Tanggal_fakturTotal_bayar

Kode_user**

No._faktur**Kode_barang**

Page 35: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Keterangan :

* Merupakan Kunci Primer ( Primary Key)

** Merupakan Kunci Tamu (Foreign Key)

3.7. Konfigurasi komputer sistem berjalan

35

MonitorLCD 17”

Keyboard + Mouse

PrinterInkjet/Deskjet

Hardisk120 Gb

CPUPentium IV

Optical

Drive

Page 36: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

36

Page 37: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

37

Page 38: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

38

Page 39: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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. perkerjaan menjadi lebih efektif dan lebih efisien dengan waktu pelayanan

yang singkat.

2. mengurangi segala bentuk kesalahan yang sering timbul.

4.2. 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 data-

data barang dalam database komputer dan menghitungnya serta membuat print out nota

penjualan yang berisi data-data barang yang beli.

39

38

Page 40: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

40

PenerbitGudang

Pimpinan

Sistem Pemesanan

Barang pada CV. Ibnu Yusuf

Effort

SPB, Faktur SJ

PO

PO, Faktur SJ

LSB

SJ

Page 41: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Gambar II.5. Diagram Konteks Sistem Usulan

keterangan :

PO : Purchase Order

LSB : Laporan Stok Barang

SPB : Surat Penawaran Barang

SJ : Surat Jalan

41

Penerbit

Gudang

1.0Proses

Pemesanan Barang

2.0Proses

PenerimaanBarang

4.0Proses

Laporan

Arsip PO

Arsip Faktur

Pimpinan

Faktur, SJ

3.0Proses

Pengecekan Barang

SJ

LSB

Faktur

Faktur

PO

Faktur SJ

SPB

POSPB

PO

SJ

Page 42: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

42

Page 43: 38441420 skripsi-aplikasi-penjualan-bab-1-5

h. Record key : Kode barang

i. Media file : Hardisk

Table II.1. File Barang

No Elemen Data Akronim Tipe Size Keterangan

1

2

3

4

5

6

Kode_barang

Nama_barang

Jenis_barang

Harga

Stok

Keterangan

Kode_barang

Nama_barang

Jenis_barang

Harga

Stok

Keterangan

Text

Text

Text

Currenc

y

Long

Text

15

25

20

8

4

15

Primary Key

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 : Random

e. Tipe file : File master

f. Record size : 36 karakter

g. Software : Microsoft access

43

Page 44: 38441420 skripsi-aplikasi-penjualan-bab-1-5

h. Record key : Kode user

i. Media file : Hardisk

Table II.2. File Kasir

No Elemen Data Akronim Tipe Size Keterangan1

2

3

4

User_ID

Password

Nama_pemilik

Status

User_id

Password

Nama_pemilik

Status

Text

Single

Text

Text

15

6

25

15

Primary Key

3. 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 : Random

e. Tipe file : File transaksi

f. Record size : 52 karakter

g. Software : Microsoft access

44

Page 45: 38441420 skripsi-aplikasi-penjualan-bab-1-5

h. Record key : No_Transaksi

i. Media file : Hardisk

Table II.3. File Tansaksi Penjualan Tunai

No Elemen Data Akronim Tipe Size Keterangan

1

2

3

4

5

6

No._transaksi

Kode_barang

Nama_barang

Hagra_Jual

Stok_barang

Sub_total

No._transaksi

Kode_barang

Nama_barang

Harga_jual

Stok_barang

Sub_total

Text

Text

Text

Double

Long

Double

10

15

15

4

4

4

Primary Key

Foreign Key

4. Spesifikasi file faktur

Spesifikasi fille faktur adalah sebagai berikut:

a.Nama tabel : Tabel faktur

b. Akronim file : Faktur

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 : No. Transaksi

i. Media File : Hardisk

45

Page 46: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Tabel II.4 File Faktur

No Elemen Data Akronim Tipe Size Keterrangan

1

2

3

4

No. transaksi

Tanggal faktur

Total bayar

User_id

No._faktur

Tgl_faktur

Total_bayar

User_id

Text

Date

Double

Text

10

6

8

15

Primary key

Foreign key

4.5. 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

46

Page 47: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

47

Page 48: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

48

N > = 3

Keluar

Start

Masukkan user password

dan status

Login

Tidak

VerifikasiUser dan password

benar

Password salah

Ya

Tidak

Ya Tidak

Page 49: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Gambar II.7. Login

B. Menu Utama

49

Start

Data LaporanExit

Exit

YaBaran

g

Ya

Ya Tidak

Tidak

Ya

Master

Ya Tidak

File

Ya

DataBaran

g

Transaksi File

File

Ya Ya

Ya Lapora

nPer User

Penjualan

TransaksiFile FileYa Ya

Menu Utama Tidak

End

Ya

Ya

Page 50: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Gambar II.8. Menu Utama

C. Menu Master Data Barang

50

Tidak

Tidak

Tidak

Start

TambahEditSimpanHapus Exit

Tambah

Double Klik Data

Ya

Ya

Automatic Kode Barang Pilih Jenis

Input Data Barang

Ya Ya Ya

Simpan

Simpa

n

Ya

Tidak

Page 51: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Gambar II.9. Menu Master Barang

D. Menu Master Data Perkasir

51

Tampil Data

Edit Edit Data

Update DataEdit

Hapus Yakin

Hapus

Yakin akan dihapus

TidakYa

Tidak

Tidak

Ya

Ya

Tidak

Exit

Keluar Data

Start

TambahEditSimpanHapusExit

Tambah

Double Klik Data

Ya

Ya

Automatic User ID

Automatic Password

Input Data Nama

Pemilik

Ya Ya Ya

Simpa

n

Ya

Tidak

Tampil DataEdit

Edit Data Update DataEditHapus Yakin

HapusYakin akan

dihapus TidakYaTidakTidak Ya YaTidakExit

Keluar Data

Pilih Status

Ya

Page 52: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Gambar II.10. Menu Master Perkasir

E. Menu Master Data Transaksi

52

Start

ProsesSimpan Keluar

Pros

es

Simpan

Automatic Nomor

Transaksi

Cari Data

Data Barang

Double Klik Data

Masuk Jumlah

Masuk Grid

Input Lagi

Ya

Ya

Ya

Ya Tidak

Automatic Kembali Tidak

Proses Penjualan

Struk Penjualan

Simpan

Cetak

Tidak

Page 53: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Gambar II.11. Menu Master Transaksi

F. Menu Laporan

53

Laporan data transaksiLaporan data baranglaporan data perkasir

Start

Pilih tanggal awal

Pilih tanggal akhir

Proses laporan penjualan transaksi

Print Cetak laporan penjaualan transaksi

Ya

Input Cash

Simpan

Keluar

Back up Struk

Proses cetak

EndYakin

Yakin akan keluar

Keluar

Ya

Tidak

YaTidak

Ya

Ya

Tidak

Page 54: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Gambar II.12. Menu Laporan

4.7. Rancangan bentuk Masukan

a. Nama Dokumen : Data Barang

Fungsi : Mengetahui data barang yang ada

Sumber : Pemilik

Tujuan : Bagian Penjualan

Frekuensi : Setiap menambah barang baru

Media : Tampilan layar

Bentuk : Lampiran C-3

b. Nama Dokuemn : Data Kasir

Fungsi : Sebagai informasi jumlah kasir yang terdaftar

54

Laporan Data Transaksi

Tidak

Exit

Tidak Proses

Cetak laporan

data barang

Cetak laporan barang

Cetak laporan data

perkasir

Cetak laporan perkasir

Ya

Ya

Ya Ya Tidak

Tidak

Tidak

Ya

Ya

Ya

Tidak

Tidak

Page 55: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Sumber : Kasir

Tujuan : Pemilik

Frekuensi : Setiap menambah kasir dan merubah data

Media : Tampilan layar

Bentuk : Lampiran C-4

c. Nama Dokumen : Data Transaksi

Fungsi : Untuk melaporkan transaksi

Sumber : Bagian Penjualan

Tujuan : Kasir

Frekuensi : Setiap ada transaksi pembelian

Media : Kertas

Bentuk : Lampiran C-5

4.8. Rancangan Bentuk Keluaran

a. 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

Jumlah : 1 lembar

Media : Cetak

Bentuk : Lampiran C-6

b. Nama Dokumen : Laporan Penjualan Perkasir

55

Page 56: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Fungsi : Melaporkan transaksi penjualan yang sudah dilakukan

oleh setiap kasir

Sumber : Kasir

Tujuan : Pimpinan Perusahaan

Frekuensi : Setiap 1 bulan sekali

Jumlah : 1 lembar

Media : Kertas

Bentuk : Lampiran C-7

c. 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

d. 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

56

Page 57: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

57

Page 58: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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 data

yang terdiri dari:

1. Data

2. Laporan

3. Exit

Bentuk format : Lampiran C-2

58

Page 59: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

59

Page 60: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

60

Page 61: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

61

Page 62: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

62

Page 63: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

63

Page 64: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

64

Page 65: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

65

Page 66: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

66

Page 67: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

67

Page 68: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Proses : 1. Jalankan dengan mengklik input exit

2. Jika sudah dilihat tekan exit, akan keluar

8. Diagram Hipo

68

0.0

Login

3.0

Exit

0.1

2.0

Laporan

0.1

2.3

Laporan Transaksi

2.0

1.1.1

Master Barang

1.1

1.0

Data

0.1

1.2.1

Transaksi Penjualan

Tunai

1.2

1.1.2

Master Kasir

1.1

1.2

Transaksi

1.0

1.1

Master

1.0

2.2

Laporan Per Kasir

2.0

0.1

Menu Utama

Page 69: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

4.10. Sarana Pendukung Sistem

4.10.1. Perangkat Keras

69

Page 70: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

70

Page 71: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

pemrograman

3. Microsoft Access 7.0 : Sebagai aplikasi

penampung database

71

Page 72: 38441420 skripsi-aplikasi-penjualan-bab-1-5

4.11. Jabwal Implementasi

72

NO KEGIATAN

Bulan I Bulan II Bulan III

I II IIII

VI II III IV I II III IV

1. Observasi

2. Wawancara

3.Perumusan

masalah

4.Studi

pustaka

5.Desain

sistem

6. Laporan

Page 73: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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.

73

72

Page 74: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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 dasar-

dasar 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.

74

Page 75: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

75

Page 76: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

76

Page 77: 38441420 skripsi-aplikasi-penjualan-bab-1-5

CODING SCRIPT PROGRAM APLIKASI PENJUALAN

77

Page 78: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

78

Page 79: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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!", _

79

Page 80: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

80

Page 81: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

81

Page 82: 38441420 skripsi-aplikasi-penjualan-bab-1-5

.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()

82

Page 83: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

83

Page 84: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

84

Page 85: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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"

85

Page 86: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

86

Page 87: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

87

Page 88: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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", _

88

Page 89: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

89

Page 90: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

90

Page 91: 38441420 skripsi-aplikasi-penjualan-bab-1-5

.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

91

Page 92: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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"

92

Page 93: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

93

Page 94: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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!", _

94

Page 95: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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 & "','" _

95

Page 96: 38441420 skripsi-aplikasi-penjualan-bab-1-5

& 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

96

Page 97: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

97

Page 98: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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)

98

Page 99: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

99

Page 100: 38441420 skripsi-aplikasi-penjualan-bab-1-5

ElseIf Not (KeyAscii >= Asc("0") _

And KeyAscii <= Asc("9") _

Or KeyAscii = vbKeyBack) Then

Beep

KeyAscii = 0

End If

End Sub

100

Page 101: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

101

Page 102: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

102

Page 103: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

103

Page 104: 38441420 skripsi-aplikasi-penjualan-bab-1-5

.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

104

Page 105: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

105

Page 106: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

106

Page 107: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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"

107

Page 108: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

108

Page 109: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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 & "", _

109

Page 110: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

110

Page 111: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

111

Page 112: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

112

Page 113: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

113

Page 114: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

114

Page 115: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

115

Page 116: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

116

Page 117: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

117

Page 118: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

118

Page 119: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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"

119

Page 120: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

120

Page 121: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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"

121

Page 122: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

122

Page 123: 38441420 skripsi-aplikasi-penjualan-bab-1-5

& " 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..?", _

123

Page 124: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

124

Page 125: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

125

Page 126: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

126

Page 127: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

127

Page 128: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Lampiran C-6 Coding Script Untuk Spesifikasi Program Laporan Jumlah Barang

Private Sub DataReport_Terminate()

rptBarang.Refresh

DELaporan.rscmdBarang.Close

End Sub

128

Page 129: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Lampiran C-7 Coding Script Untuk Spesifikasi Program Laporan Penjualan Per-kasir

Private Sub DataReport_Terminate()

rptKasir.Refresh

DELaporan.rscmdPengguna.Close

End Sub

129

Page 130: 38441420 skripsi-aplikasi-penjualan-bab-1-5

Lampiran C-8 Coding Script Untuk Spesifikasi Program Laporan Transaksi Penjualan

Tunai

Private Sub DataReport_Terminate()

rptLapPenjualan.Refresh

DELaporan.rscmdSelPenjualan.Close

End Sub

130

Page 131: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

131

Page 132: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

132

Page 133: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

133

Page 134: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

134

Page 135: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

135

Page 136: 38441420 skripsi-aplikasi-penjualan-bab-1-5

.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

136

Page 137: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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! ", _

137

Page 138: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

138

Page 139: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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", _

139

Page 140: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

140

Page 141: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

141

Page 142: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

142

Page 143: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

143

Page 144: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

144

Page 145: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

145

Page 146: 38441420 skripsi-aplikasi-penjualan-bab-1-5

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

146