P. 1
Skripsi Aplikasi Penjualan Bab 1 - 5

Skripsi Aplikasi Penjualan Bab 1 - 5

|Views: 7,563|Likes:
buat pembelajaran contoh skripsi Fakultas Teknologi Informasi, ada di tanyakan dapat add saya di YM dengan alamat bayu_jazz86@yahoo.co.id
buat pembelajaran contoh skripsi Fakultas Teknologi Informasi, ada di tanyakan dapat add saya di YM dengan alamat bayu_jazz86@yahoo.co.id

More info:

Published by: Rm. Bayu Purnomo S.S.T. Han S.Kom. MM on Sep 30, 2010
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/16/2015

pdf

text

original

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

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

1.2.

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

3

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:

4

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.

5

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

5

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

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

7 Dengan demikian HIPO menggunakan tiga macam diagram untuk masing-masing tingkatannya. Adapun tingkatan-tingkatan tersebut adalah sebagai berikut: a. VTOC (Visual Table Of Contents) Diagram ini menggambarkan hubungan dari fungsi-fungsi di sistem secara berjenjang. b. Overview Diagram Diagram ini menunjukan secara garis besar hubungan dari input, proses dan output. Bagian input menunjukan item-item yang akan digunakan oleh bagian proses. Bagian proses berisi sejumlah langkah-langkah yang menggambarkan kerja dari fungsi. Bagian output berisi item-item data yang dihasilkan atau modifikasi oleh langkah-langkah proses. c. Detail Program Detail Diagram merupakan diagram tingkat yang paling rendah di diagram HIPO. Diagram ini berisi dengan elemen-elemen dasar dari paket yang menggambarkan secara rinci kerja dari fungsi. 4. Flowchart Menurut Jogiyanto HM (2001:766) “Diagram Alur (Flowchart), merupakan simbol-simbol yang digunakan untuk menggambarkan urutan proses yang terjadi didalam suatu program komputer secara sistematis dan logis”. Diagram alir terdiri dari simbol-simbol yang mewakili fungsi langkah program dan garis alir (flow lines) menunjukan urutan dari simbol-simbol yang akan dikerjakan. Berikut ini adalah bentuk dasar struktur logika yang diwakili oleh bagan alir:

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

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

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

11 2.3. Konsep Data Flowchart Diagram Penjualan adalah suatu proses sosial dan manajerial dimana individu dan kelompok mendapat kebutuhan dan keinginan mereka dengan menciptakan, menawarkan dan bertukar sesuatu yang bernilai satu sama lain. Pendefinisian ini berdasarkan pada konsep kebutuhan, keinginan, dan permintaan dari produk, nilai, biaya dan kepuasan dalam pertukaran, transaksi dan hubungan pasar, pemasaran, serta penjualan. Di dalam penjualan terdiri dari semua pelanggan potensial yang memiliki kebutuhan dan keinginan tertentu, serta mau dan mampu turut dalam pertukaran untuk memenuhi kebutuhan atau keinginan itu. Perusahaan atau organisasi harus melakukan usaha pernjualan dan promosi yang agresif. Dalam hal ini konsep tersebut beranggapan bahwa jika konsumen tidak mau membeli maka konsumen harus didorong supaya membeli dengan berbagai cara promosi dan usaha penjualan yang efektif untuk merangsang pembeli. Dalam melakukan penjualan suatu perusahaan harus memusatkan pada kebutuhan menjual yaitu menukar produknya menjadi nilai uang. a. Persyaratan DFD Ada persyaratan yang harus dipatuhi dalam penggunaan diagram alir data untuk membuat model sistem adalah sebagai berikut: 1. dengan data store. 2. Di dalam diagram alir data, Data store tidak dapat bertemu dengan external Di dalam diagram alir data, Extenal entity tidak dapat bertemu

entity.

12 3. Setiap proses harus ada data flow yang masuk dan juga ada data flow yang

keluar. 4. Di dalam diagram alir data, tidak diperkenankan External entity bertemu

dengan external entity. b. Simbol yang digunakan Data Alir Diagram Beberapa simbol yang digunakan DFD untuk maksud mewakili sebagai berikut: 1. Kesatuan Luar (External Entity) atau Batas Sistem (Boundary). Sistem akan menerima input dan menghasilkan output kepada lingkungan luarnya. Kesatuan luar merupakan kesatuan dilingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada dilingkungan luarnya yang akan memberikan input atau menerima output dari sistem. 2. Arus Data (Data Flow). Arus data (Data Flow) di DFD diberi simbol suatu anak panah. Arus data ini mengalir diantara proses (Process), simpanan data (Data Store) dan kesatuan luar (External Entity). Arus ini merupakan arus dari data yang dapat berupa masukkan untuk sistem atau hasil dari proses sistem. Arus data sebaiknya diberi nama yang jelas dan mempunyai arti. 3. Proses (Process) Suatu Proses merupakan kegiatan atau kerja yang dilakukan oleh orang, mesin komputer dari hasil suatu arus data yang masuk kedalam proses untuk menghasilkan arus data yang keluar dari proses. Proses dapat ditunjukan dengan simbol lingkaran atau dengan segi empat persegi panjang tegak dengan sudut-sudutnya tumpul.

13

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

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

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

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

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

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

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

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

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

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

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

18

BAB III ANALISA SISTEM YANG SEDANG BERJALAN

3.1.

Tinjauan Perusahaan Kepesatan Kemajuan ilmu Pengetahuan dan teknologi telah meningkatkan

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

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

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

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

1. Toko Buku Gunung Agung 2. Toko Buku TISERA 3. Toko Buku Salemba 4. Toko Buku TRI MEDIA Book Store (Kelompok Gramedia) Selain itu langkah perluasan distribusi juga dilakukan di mall-mall di seluruh JABODETABEK (Jakarta, Bogor, Depok, Tangerang, Bekasi) antara lain: 1. 2. 3. 4. 5. 6. 7. Mall Mangga dua Mall Ambasador Mall Plaza Pinangsia Mall Ratu Plaza Mega Mall Bekasl Depok Town Square MargoCity CV. Ibnu Yusuf Effort telah menjalin kerja sama dengan PT. Proactive Multi Media sebagai penerbit CD Dan DVD Belajar komputer dan berusaha untuk menjalin kerja sama dengan Produsen barang-barang yang berkaitan dengan alat-alat

21 pendidikan namun untuk saat ini CV. Ibnu Yusuf Effort masih memaksimalkan pemasaran pada produk CD Dan DVD Belajar Komputer. 3.1.2. Struktur Organisasi dan Fungsi Dalam suatu perusahaan atau organisasi, manajemen merupakan hal yang sangat penting dalam mendukung tercapainya visi dan misi yang telah ditentukan oleh perusahaan itu sendiri. Untuk mencapai tujuan yang telah ditentukan tersebut, perusahaan harus memiliki manajemen yang baik. Oleh karena itu, didalam suatu perusahaan harus terjalin kerjasama yang baik antara pimpinan dengan bawahan agar dapat menciptakan iklim organisasi yang baik sehingga segala kegiatan perusahaan atau organisasi dapat berjalan baik dan lancar. Disini penulis memberi gambaran mengenai bagan struktur dari organisasi Ibnu Yusut Effort beserta fungsi dan tugas karyawan yang terlibat didalamnya

STRUKTUR ORGANISASI CV. Ibnu Yusuf Effort
Pemilik

Manager

Bagian Keuangan

Bagian Gudang

Bagian Pemasaran

Gambar II.1 Struktur Organisasi CV. Ibnu Yusuf Effort

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

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

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

23

3.3. Data Flowchart Diagram Sistem Berjalan

SPB, Faktur SJ Penerbit SJ Gudang

PO

Sistem Pemesanan Barang pada CV. Ibnu Yusuf Effort

PO, Faktur SJ

LSB

Pimpinan

Gambar II.2. Diagram Konteks Sistem Berjalan

24

keterangan : SPB PO LSB : Surat Penawaran Barang : Purchase Order : Laporan Stok Barang

PO Penerbit SPB

1.0 Pemesanan Barang

PO SPB Gudang

PO

Arsip PO SJ

2.0 Penerimaan Barang

PO Faktur SJ

Faktur

Arsip Faktur

3.0 Pengecekan Barang

Faktur

Faktur, SJ

4.0 Laporan

SJ LSB Pimpinan

25

Gambar III.3. Diagram Nol Sistem Berjalan

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

PURCHASE ORDER ( SURAT PESANAN )
KODE JENIS NAMA BARANG HARGA STOK

Mengetahui

Di terima Oleh

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

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

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

FAKTUR
Nomor Faktur Tanggal Faktur Kode Barang Nama Barang Harga Jual Stok Barang Sub Total : : : : : : :

KODE

NAMA BARANG

HARGA

JUMLAH

SUBTOTAL

27

Total Harga = Cash = Kembali =

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

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

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

Nama Dokumen : Data Barang Fungsi Sumber : Mengetahui data barang yang ada : Pemilik

29 Tujuan Frekuensi Media Bentuk b. Nama Dokuemn : Data Kasir Fungsi Sumber Tujuan Frekuensi Media Bentuk c. Nama Dokumen Fungsi Sumber Tujuan Frekuensi Media Bentuk 3.5.2. a. : Sebagai informasi jumlah kasir yang terdaftar : Kasir : Pemilik : Setiap menambah kasir dan merubah data : Tampilan layar : Lampiran C-4 : Data Transaksi : Untuk melaporkan transaksi : Bagian Penjualan : Kasir : Setiap ada transaksi pembelian : Kertas : Lampiran C-5 : Bagian Penjualan : Setiap menambah barang baru : Tampilan layar : Lampiran C-3

Rancangan Bentuk Keluaran

Nama Dokumen : Laporan Jumlah Barang Fungsi : Melaporkan barang Penjualan yang sudah dilakukan oleh setiap kasir Sumber Tujuan Frekuensi : Kasir : Pimpinan Perusahaan : Setiap 1 bualn kali

30 Jumlah Media Bentuk b. Nama Dokumen : Fungsi : 1 lembar : Cetak : Lampiran C-6 Laporan Penjualan Perkasir : Melaporkan transaksi penjualan yang sudah dilakukan oleh setiap kasir Sumber Tujuan Frekuensi Jumlah Media Bentuk c. : Kasir : Pimpinan Perusahaan : Setiap 1 bulan sekali : 1 lembar : Kertas : Lampiran C-7

Nama Dokumen : Laporan Transaksi Penjualan Tunai Fungsi Sumber Tujuan Frekuensi Jumlah Media Bentuk : Sebagian laporan data penjualan kasir secara ditoko : Kasir : Pimpinan Perusahaan : Setiap satu bulan sekali : 1 lembar : Kertas : Lampiran C-8

d.

Nama Dokumen : Struk penjualan Fungsi Sumber Tujuan Frekuensi Jumlah Media : Sebaai tanda bukti tunai : Kasir : pembeli : Setiap ada transaksi : 1 lembar : Cetak

31 Bentuk : Lampiran C-9

3.6. Normalisasi File a. Bentuk Tidak Normal (Unnormalized Form) Kode_barang Nama_barang Jenis_barang Harga Stok Kode_user Nama_user Password No_faktur Tanggal_faktur Kode_user Nama_user Kode_barang Jumlah_beli Sub_total

32

b.

Bentuk Normal Kesatu (1 NF atau First Normal Form) Kode_barang * Nama_barang Jenis_barang Harga Stok No_faktur * Tanggal_faktur Jumlah_beli Sub_total Kode_user * Nama_user Password

Keterangan: • Candidate Key

33

c.

Bentuk Normal Kedua (2 NF atau Second Normal Form) Tabel Barang Kode_barang * Nama_barang Jenis_barang Harga Stok Tabel Transaksi No_faktur * Tanggal_faktur Jumlah_beli Sub_total Kode_user ** Kode_barang ** Tabel User Kode_user * Nama_user Password

34 Keterangan: * ** Merupakan Kunci Primer ( Primary Key) Merupakan Kunci Tamu (Foreign Key)

d.

Bentuk Normal Ketiga (3 NF atau Third Normal Form)

Tabel Barang Tabel User Kode_barang* Nama_barang Jenis_barang Harga Stok Kode_user* Nama_user Password

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

Tabel Faktur No_faktur* Tanggal_faktur Total_bayar Kode_user**

35

Keterangan : * ** Merupakan Kunci Primer ( Primary Key) Merupakan Kunci Tamu (Foreign Key)

3.7. Konfigurasi komputer sistem berjalan

Keyboard + Mouse

Optical Hardisk 120 Gb CPU Pentium IV Drive

Monitor LCD 17”

Printer Inkjet/Deskjet

36

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

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

baik dalam pemesanan maupun pengiriman sampai dengan penerimaan barang dalam hal ini sekaligus merupakan program usulan bagi penulis bagi perusahaan. b. Proses pembuatan laporan pemesanan barang sebaiknya dibuatkan program yang

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

38

BAB IV SISTEM YANG DIUSULKAN

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

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

Sasaran sistem baru diharapkan penyelesaikan permasalahan-permasalahan yang timbul adalah : 1. 38 perkerjaan menjadi lebih efektif dan lebih efisien dengan waktu pelayanan

yang singkat. 2. 4.2. 1. mengurangi segala bentuk kesalahan yang sering timbul. Prosedur Sistem Usulan Prosedur Penjualan dan Pembayaran

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

40 2. Prosedur pengembalian (Retur) Prosedur pengembalian adalah prosedur kembalinya barang dimana pembeli tidak jadi membeli atau kekurangan uang dengan menyerahkan nota penjualan dan diserahkan ke penjual. Selanjutnya penjual melakukan pencatatan data retur pengembalian ke file database dan memberikan print out nota retur kepada Kustomer. 3. Prosedur Pembuatan Laporan Bagian penjualan akan membuat laporan penjualan dari database sistem yang baru kemudian hasilnya diserahkan ke bagian administrasi dan disahkan oleh Accouting.

4.3.

Data Flowchart Diagram Sistem Usulan SPB, Faktur SJ Gudang SJ Penerbit

PO, Faktur SJ

Sistem Pemesanan Barang pada CV. Ibnu Yusuf Effort

PO

LSB

Pimpinan

41

Gambar II.5. Diagram Konteks Sistem Usulan

keterangan : PO LSB SPB SJ : Purchase Order : Laporan Stok Barang : Surat Penawaran Barang : Surat Jalan Penerbit SPB

PO 2.0 Proses Penerimaa nBarang PO Arsip PO Faktur 3.0 Proses Pengecekan Barang PO SPB Gudang

1.0 Proses Pemesanan Barang

Faktur SJ Arsip Faktur Faktur SJ

Faktur, SJ

4.0 Proses Laporan

SJ LSB Pimpinan

42

Gambar II.6. Diagram Nol Sistem Usulan

4.4.

Spesifikasi File 1. File Barang

Penulis membuat satu data base dengan nama penjualan1.mdb dengan tabel-tabel sebagai berikut: a.Nama tabel b. Akronim file c.Organisasi file d. Akses file e.Tipe file f. Record size g. Software : Tabel barang : Barang : Index sequential : Random : File master : 87 karakter : Microsoft access

43 h. Record key i. Media file : Kode barang : Hardisk Table II.1. File Barang No 1 Nama_barang 2 Jenis_barang 3 Harga 4 Stok 5 Keterangan 6 Text Keterangan Long 15 Stok y 4 Harga Currenc 8 Jenis_barang Text 20 Nama_barang Text 25 Elemen Data Kode_barang Akronim Kode_barang Tipe Text Size 15 Keterangan Primary Key

2. Sebagai laporan jumlah kasir yang terdaftar. Spesifikasi file user adalah sebagai berikut: a. b. c. d. e. f. g. Nama tabel Akronim file : Tabel user : User

File Kasir

Organisasi file : Index sequential Akses file : Random

Tipe file : File master Record size Software : 36 karakter : Microsoft access

44 h. i. Record key Media file : Kode user : Hardisk

Table II.2. File Kasir No Elemen Data 1 User_ID 2 3 4 Password Nama_pemilik Status Akronim User_id Password Nama_pemilik Status Tipe Text Single Text Text Size 15 6 25 15 Keterangan 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. b. c. d. e. f. g. Nama tabel Akronim file : Tabel transaksi penjualan tunai : Penjualan tunai

Organisasi file : Index sequential Akses file : Random

Tipe file : File transaksi Record size Software : 52 karakter : Microsoft access

45 h. i. Record key Media file : No_Transaksi : Hardisk

Table II.3. File Tansaksi Penjualan Tunai No 1 2 3 4 5 6 Elemen Data No._transaksi Kode_barang Nama_barang Hagra_Jual Stok_barang Sub_total Akronim No._transaksi Kode_barang Nama_barang Harga_jual Stok_barang Sub_total Tipe Text Text Text Double Long Double Size 10 15 15 4 4 4 Keterangan Primary Key Foreign Key

4. Spesifikasi file faktur Spesifikasi fille faktur adalah sebagai berikut: a.Nama tabel b. c.Organisasi file d. e.Tipe file f. Recond size g. h. i. Media File : Tabel faktur Akronim file : Faktur

: Index Sequential Akses file : Random : File master : 39 karekter Software : Microsoft Acces Recond key : Hardisk : No. Transaksi

46

Tabel II.4 File Faktur No 1 2 3 4 Elemen Data No. transaksi Tanggal faktur Total bayar User_id Akronim No._faktur Tgl_faktur Total_bayar User_id Tipe Text Date Double Text Size 10 6 8 15 Foreign key Keterrangan Primary 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

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

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

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

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

e.

Kode Desimal

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

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

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

A.

Login
Start

Masukkan user password dan status Tidak

Tidak

Ya
Login

Verifikasi

User dan password benar

Tidak

Passwor d salah

N>=3

Ya
Keluar

49

Ya Tidak

Menu Utama

Ya

End

Gambar II.7. Login

B.

Menu Utama

Start Data Lapora n Exit Ya

Ya Data

Maste r

Baran g

Tidak

Baran g

Tidak

Ya File Ya
Lapora n Transa Per ksi User

Ya File Ya Ya Tidak

Ya

Exit

Ya

File Ya

Penjuala File n Transak FileYa si

50

Tidak

Tidak

Tidak

Gambar II.8. Menu Utama

C.

Menu Master Data Barang
Start Ya
Tambah Edit Simpan Hapus Exit

Tambah

Ya

Automatic Kode Barang

Ya
Pilih Jenis

Ya

Input Data Barang

Simpa n

Tidak

Ya
Simpan

Double Klik Data

Ya

51

Tampil Data

Edit

Edit Data

Tidak Tidak
Edit

Ya
Update Data

Tidak

Ya
Hapus

Yakin akan dihapus

Tidak
Yakin

Ya
Hapus Keluar Data

Exit

Gambar II.9. Menu Master Barang

D.

Menu Master Data Perkasir
Start Ya
Tambah Edit Simpan Hapus Exit

Tambah

Ya

Automatic User ID

Ya

Automatic Password

Ya

Input Data Nama Pemilik

Pilih Status

Ya
Simpa n Hapus Edit Tampil Data Edit Yakin akan Edit Data dihapus Yakin Ya Update Ya Data Hapus

Tidak

Double Keluar Klik Data Data

Exit

Tidak Ya

Tidak Tidak Ya

Ya

Tidak

52

Simpan

Gambar II.10. Menu Master Perkasir

E.

Menu Master Data Transaksi
Start

Proses Simpan Keluar

Tidak
Pros es

Ya

Automatic Nomor Transaksi

Cari Data

Ya

Data Barang Double Klik Data

Ya
Masuk Jumlah

Input Lagi

Ya

Masuk Grid

Tidak

Automatic Kembali

Struk Proses an k Penjualan Penjualan

Simp Ceta

Tidak

53

Input Cash

Simp an

Ya

Ya
Tidak

Back up Struk

Proses cetak

Tidak

Tidak

Kelu ar

Ya

Kel uar

Ya

Yakin akan keluar

Yak in

End

Gambar II.11. Menu Master Transaksi

F.

Menu Laporan

Start

Laporan data transaksi Laporan data barang laporan data perkasir

Pilih tanggal awal

Ya
Pilih tanggal akhir
Proses laporan penjualan transaksi

Print Cetak laporan penjaualan transaksi

Ya
Lapora n Data Transa ksi

54

Ya Tidak
Proses

Ya

Ya

Tidak

Ya Tidak

Cetak laporan data barang

Ya

Cetak laporan barang

Tidak

Tidak

Cetak laporan data perkasir

Ya

Cetak laporan perkasir

Tidak

Tidak Exit

Gambar II.12. Menu Laporan

4.7. a.

Rancangan bentuk Masukan

Nama Dokumen : Data Barang Fungsi Sumber Tujuan Frekuensi Media Bentuk b. Nama Dokuemn : Data Kasir Fungsi : Sebagai informasi jumlah kasir yang terdaftar : Mengetahui data barang yang ada : Pemilik : Bagian Penjualan : Setiap menambah barang baru : Tampilan layar : Lampiran C-3

55 Sumber Tujuan Frekuensi Media Bentuk c. Nama Dokumen Fungsi Sumber Tujuan Frekuensi Media Bentuk : Kasir : Pemilik : Setiap menambah kasir dan merubah data : Tampilan layar : Lampiran C-4 : Data Transaksi : Untuk melaporkan transaksi : Bagian Penjualan : Kasir : Setiap ada transaksi pembelian : Kertas : Lampiran C-5

4.8. a.

Rancangan Bentuk Keluaran Laporan Jumlah Barang : Melaporkan barang Penjualan yang sudah dilakukan oleh setiap kasir Sumber Tujuan Frekuensi Jumlah Media Bentuk : Kasir : Pimpinan Perusahaan : Setiap 1 bualn kali : 1 lembar : Cetak : Lampiran C-6 Laporan Penjualan Perkasir

Nama Dokumen : Fungsi

b.

Nama Dokumen :

56 Fungsi : Melaporkan transaksi penjualan yang sudah dilakukan oleh setiap kasir Sumber Tujuan Frekuensi Jumlah Media Bentuk c. : Kasir : Pimpinan Perusahaan : Setiap 1 bulan sekali : 1 lembar : Kertas : Lampiran C-7

Nama Dokumen : Laporan Transaksi Penjualan Tunai Fungsi Sumber Tujuan Frekuensi Jumlah Media Bentuk : Sebagian laporan data penjualan kasir secara ditoko : Kasir : Pimpinan Perusahaan : Setiap satu bulan sekali : 1 lembar : Kertas : Lampiran C-8

d.

Nama Dokumen : Struk penjualan Fungsi Sumber Tujuan Frekuensi Jumlah Media Bentuk : Sebagai tanda bukti tunai : Kasir : pembeli : Setiap ada transaksi : 1 lembar : Cetak : Lampiran C-9

57

4.9.

Spesifikasi Program 1. Login : Form_Login : Form _login.frm : Microsoft Visual Basic 6.0 : 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 Proses : Lampiran C-1 : 1. Jalankan Program Login dengan Mengklik

Nama program Akronim Package program Fungsi program

58 Input data login. 2. 3. 4. 5. Masukkan data login ID Masukkan data password Pilih Admin Jika ingin pilih login, jika tidak ingin

login lagi, maka pilih keluar

2.

Form Menu Utama : Form_Menu Utama : Form_Menu Utama.frm : Microsoft Visual Basic 6.0 : Menu awal yang befungsi sebagai pengolahan yang terdiri dari: 1. 2. 3. Data Laporan Exit data

Nama program Akronim Package program Fungsi program

Bentuk format

: Lampiran C-2

59 Proses : 1. Jalankan program dengan mengeklik program visual basic 2. Kemudian tampilkan layar utama,maka akan tampil layar menu 3. Jika telah selesai. Pilih exit dan akan kembali

tampilan layar utama.

60

4. Form Data Barang Didalam menu ini terdapat sub menu yang terdiri dari: 1) Barang Terdiri dari menu master barang dan menu master kasir yang digunakan untuk menginput data. Proses : 1. Jalankan dengan mengklik lnput data barang 2. 3. exit. Bentuk format : Lampiran C-3 Masukkan data barang yang akan dibeli Jika tidak ingin menginput lagi, maka pilih

61

2) Data Kasir Terdiri dari menu master user dan yang digunakan untuk menginput data. Proses : 1. Jalankan dengan mengklik lnput data user 2. 3. exit. Bentuk format : Lampiran C-4 Masukkan data user yang akan dipakai Jika tidak ingin menginput lagi, maka pilih

62

3) Data Transaksi Terdiri dari menu transaksi penjualan tunai yang digunakan untuk memproses data. Proses : 1. Jalankan dengan mengklik lnput data barang 2. Masukkan kode yang dicari dan kode barang

dengan mengklik tanda cari langsung OK

63 3. 4. Lalu disimpan dengan mengklik tombol save Jika sudah tekan exit, akan kembali ke menu

utama. Bentuk format : Lampiran C-5

5. Laporan Jumlah Barang Didalam menu ini terdapat sub menu yang terdiri dari 1) Laporan Jumlah barang Proses : 1. Jalankan dengan mengklik menu laporan data barang

64 2. Jika sudah dilihat tekan close,akan kembali ke menu utama Bentuk format : Lampiran C-6

2) Laporan penjualan perkasir Proses : 1. Jalankan dengan mengklik input data kasir 2. masukkan kode kasir dan nama kasir dengan mengklik tanda tambah

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

3) Laporan transaksi penjualan tunai Proses : 1. Jalankan dengan mengklik menu laporan data transaksi

66 2. Jika sudah dilihat tekan close, akan kembali ke menu utama Bentuk format : Lampiran C-8

6. Menu Faktur Cetak Faktur Penjualan Tunai Proses : 1. Jalankan dengan mengklik input penjualan transaksi tunai

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

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

68 Proses : 1. Jalankan dengan mengklik input exit 2. Jika sudah dilihat tekan exit, akan keluar

8.

Diagram Hipo
0.0 2.3 1.2.1 1.1.1 Master Barang 1.1 1.2 Transaksi Penjualan Master Master Kasir Data Transaksi Tunai 1.0 1.1 0.1 1.0 1.2 1.1 1.1.2 1.0 2.2 Login Laporan Transaksi 3.0 Exit 0.1 2.0 Laporan Per Kasir Laporan 0.1 2.0 0.1 Menu Utama

2.0

69

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

4.10. Sarana Pendukung Sistem 4.10.1. Perangkat Keras

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

1. Processor 2. Ram

: :

Pentium IV (2.00 Ghz) 1 GB

71 3. Hardisk 4. Monitor 5. Keyboard 6. Mouse 7. Printer : : : : : 120 GB LCD 17” Standar PS/2 atau USB Standar PS/2 atau USB Deskjet/ Inkjet : DVD – RW

8. Optical Drive

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. 2. pemrograman 3. penampung database Microsoft Access 7.0 : Sebagai aplikasi Microsoft Windows XP : Sebagai sistem operasi Microsoft Visual Basic : Sebagai bahasa

72 4.11. Jabwal Implementasi

Bulan I NO KEGIATAN I 1. Observasi II III I I V

Bulan II II III IV I

Bulan III II III IV

2.

Wawancara Perumusan masalah Studi pustaka Desain sistem Laporan

3.

4.

5.

6.

73 BAB V PENUTUP

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

72

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

75 DAFTAR PUSTAKA

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

76 DAFTAR RIWAYAT HIDUP

I. Biodata Mahasiswa Npm Nama Lengkap Tempat dan Tanggal Lahir Alamat Lengkap : 081190014 : Aji Satria : Jakarta, 16 Januari 1987 : Jl.Pondok Melati Rt 002/06 No.51 Jatiwarna Pondok Melati Bekasi 17415 II. Pendidikan Formal 1. SDN Kecapi 1, Tahun 1999 2. SLTP 192 Lubang Buaya, Tahun 2002 3. SMAN HUTAMA Pondok Gede, Tahun 2005

Pengalaman SETIFIKAT Komputer ( Word, Excel )

Jakarta, 20 Juli 2010 Saya yang bersangkutan,

Aji Satria

77

CODING SCRIPT PROGRAM APLIKASI PENJUALAN

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

KoneksiDB.Execute SqlInsert, , adCmdText Rs_Pengguna.Requery Call FormNormal

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->