• Tidak ada hasil yang ditemukan

APLIKASI PERKREDITAN FURNITURE

N/A
N/A
Protected

Academic year: 2021

Membagikan "APLIKASI PERKREDITAN FURNITURE"

Copied!
111
0
0

Teks penuh

(1)

APLIKASI PERKREDITAN FURNITURE

Tugas Akhir

Diajukan Untuk Memenuhi Syarat Mata Pelajaran

Perancangan Aplikasi dan Presentasi

Disusun Oleh:

Mohamad Noor Rizal

05061 11523

Program Studi Teknologi Informasi dan Komunikasi

Konsentrasi Rekayasa Perangkat Lunak

SEKOLAH MENENGAH KEJURUAN NEGERI 4

Jl. Kliningan No. 6 Buahbatu 40264

Bandung

2008

(2)

LEMBAR PENGESAHAN

Mengetahui, Penulis

Mohamad Noor Rizal NIS 05061 11523 Menyetujui, Kepala Jurusan Teknik Informatika Drs. Purwanto SST, MT Pembimbing Bambang Irawan

(3)

ABSTRAK

Dokumen yang berjudul “Aplikasi Perkreditan” ini merupakan sebuah dokumentasi aplikasi dan juga sebagai user manual atau panduan untuk pengguna aplikasi ini mengenai penggunaan dan detil dari software program aplikasi sederhana yang bernama “FBay Information System”. Dokumentasi ini dibuat untuk melengkapi program sehingga dapat menambah nilai lebih dalam pemasaran program.

Dokumen ini berisi mulai dari perancangan sistem, perancangan basisdata hingga implementasinya menjadi sebuah program komputer yang berguna.

(4)

KATA PENGANTAR

Assalamu’alaikum Wr. Wb.

Puji dan syukur penulis panjatkan kehadirat Allah SWT karena hanya berkat rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan laporan tugas akhir dengan judul “Aplikasi Perkreditan Furniture”, yang merupakan salahsatu syarat dalam menyelesaikan mata diklat Perancangan Aplikasi dan Presentasi.

Dalam menyelesaikan penyusunan laporan tugas akhir ini, penulis banyak mendapat bantuan dari berbagai pihak baik secara moril maupun materil, do’a, serta bimbingan, petunjuk dan pengarahan. Untuk itu, penulis ingin menyampaikan ucapan terimakasih yang sebesar-besarnya kepanda ibunda, ayahanda, serta adik tercinta juga kepada:

1. Bapak Drs. Purwanto, selaku Ketua Jurusan Teknik Informatika SMK Negeri 4 Bandung

2. Bapak Bambang Irawan, selaku pembimbing mata diklat Perancangan Aplikasi dan Presentasi

3. Serta semua sahabat dan rekan-rekan yang tidak bisa disebutkan satu persatu, terimakasih atas bantuannya.

Akhir kata dengan segala kerendahan hati penulis berharap agar laporan tugas akhir ini bermanfaat bagi semua pihak, dan semoga segala bantuan yang telah diberikan mendapat balasan dari Allah SWT. Amin.

Wassalamu’alaikum Wr. Wb.

Bandung, 21 Juni 2008 Penulis

(5)

DAFTAR ISI

LEMBAR PENGESAHAN ... 1 ABSTRAK ... 3 KATA PENGANTAR ... 4 DAFTAR ISI ... 5 DAFTAR GAMBAR ... 7 DAFTAR TABEL ... 8 BAB I PENDAHULUAN ... 9 1.1 Latar Belakang ... 9

1.2 Maksud dan Tujuan ... 9

1.3 Lingkup Masalah... 10

1.3.1 Identifikasi Masalah ... 10

1.3.2 Batasan Masalah ... 10

1.4 Sistematika Penulisan ... 10

BAB II TEORI DASAR ... 12

2.1 Pemograman ... 12

2.2 Perancangan ... 13

2.2.1 Diagram Alir Data ... 13

2.2.2 Entity Relationship Diagram ... 14

BAB III DESKRIPSI RANCANGAN SISTEM ... 15

3.1 Deskripsi Prosedur Kerja ... 15

3.1.1 Prosedur Penjualan ... 15

3.1.2 Prosedur Pembelian ... 16

3.1.3 Prosedur Pembayaran ... 17

3.2 Deskripsi Dokumen ... 18

3.3 Pemodelan Kebutuhan Fungsional ... 28

3.3.1 Diagram Konteks ... 28

3.3.2 Diagram Aliran Data ... 28

3.4 Perancangan Basis Data ... 30

(6)

3.4.2 Deskripsi Tabel ... 31

3.5 Spesifikasi Minimum ... 34

BAB IV IMPLEMENTASI PERANGKAT LUNAK ... 36

4.1 Lingkungan Implementasi ... 36

4.2 Hasil Implementasi ... 36

4.2.1 Struktur Menu ... 37

4.2.2 Deskripsi Rinci Modul ... 37

4.3 Gantt Chart... 51

BAB V MATRIKS KETERUNUTAN ... 52

BAB VI KESIMPULAN DAN SARAN... 53

6.1 Kesimpulan ... 53 6.2 Saran ... 53 6.3 Kemungkinan Pengembangan ... 53 DAFTAR PUSTAKA ... 54 LAMPIRAN-LAMPIRAN ... 55 Script ... 55

(7)

DAFTAR GAMBAR

Gambar 3-1 Diagram Sistem Prosedur Penjualan ... 16

Gambar 3-3 Diagram Sistem Prosedur Pembelian ... 18

Gambar 3-3 Diagram Sistem Prosedur Pembayaran ... 18

Gambar 3-4 Diagram Konteks ... 28

Gambar 3-5 DAD Level 1 ... 28

Gambar 3-6 DAD Level 2 Proses 1 ... 29

Gambar 3-7 DAD Level 2 Proses 2 ... 29

Gambar 3-8 DAD Level 2 Proses 3 ... 30

Gambar 3-9 E-R Diagram ... 30

Gambar 3-10 E-R Diagram versi James Martin ... 31

Gambar 4-1 Struktur Menu ... 37

Gambar 4-2 Form Log In ... 37

Gambar 4-3 Form Utama ... 38

Gambar 4-4 Form Penjualan ... 38

Gambar 4-5 Form Pembelian ... 39

Gambar 4-6 Form Pembayaran ... 40

Gambar 4-7 Form Data Customer ... 40

Gambar 4-8 Form Data Barang ... 42

Gambar 4-9 Form Data Supplier ... 44

Gambar 4-10 Form Data Penjualan ... 45

Gambar 4-11 Form Data Pembelian ... 47

Gambar 4-12 Form Data Pembayaran ... 49

Gambar 4-13 Form Data Pegawai ... 50

Gambar 4-14 Report Customer ... 42

Gambar 4-15 Report Barang ... 43

Gambar 4-16 Report Pembayaran ... Error! Bookmark not defined. Gambar 4-17 Report Pembayaran ... 47

Gambar 4-18 Report Pembelian ... 48

Gambar 4-19 Report Pegawai ... 51

Gambar 4-20 Gantt Chart ... 51

(8)

DAFTAR TABEL

Tabel 3-1 Form Customer ... 11

Tabel 3-2 Form Supplier ... 12

Tabel 3-3 Form Barang ... 12

Tabel 3-4 Form Penjualan ... 13

Tabel 3-5 Form Pembelian ... 13

Tabel 3-6 Form Customer ... 14

Tabel 3-7 Laporan Penjualan ... 14

Tabel 3-8 Laporan Pembelian ... 15

Tabel 3-9 Laporan Customer ... 15

Tabel 3-10 Tabel Barang ... 19

Tabel 3-11 Tabel Customer ... 20

Tabel 3-12 Tabel Supplier ... 20

Tabel 3-13 Tabel Pegawai ... 21

Tabel 3-14 Tabel Penjualan ... 21

Tabel 3-15 Tabel Pembelian ... 22

Tabel 3-16 Tabel Pembayaran ... 22

Tabel 4-1 Objek Form Log In ... 24

Tabel 4-2 Objek Form Utama ... 25

Tabel 4-3 Objek Form Penjualan ... 26

Tabel 4-4 Objek Form Pembelian ... 26

Tabel 4-5 Objek Form Pembayaran ... 27

Tabel 4-6 Objek Form Data Customer ... 27

Tabel 4-7 Objek Form Data Barang ... 29

Tabel 4-8 Objek Form Data Supplier ... 30

Tabel 4-9 Objek Form Data Penjualan ... 31

Tabel 4-10 Objek Form Data Pembelian ... 32

Tabel 4-11 Objek Form Data Pembayaran ... 33

Tabel 4-12 Objek Form Data Pegawai... 34

(9)

BAB I

PENDAHULUAN

Program tidak buat semata – mata dengan tanpa alasan, tanpa masalah, dan tanpa kebutuhan sebuah sistem tertentu. Oleh karena itu, pembuatan program yang dilengkapi dokumentasi yang baik tak dapat dipandang sebelah mata, karena memerlukan kompetensi yang cukup dalam teknis pembuatan software, serta kosakata Bahasa Indonesia yang luas.

1.1 Latar Belakang

Bisnis furniture merupakan lahan bisnis yang cukup bagus di Indonesia, karena Indonesia dikenal memiliki investasi kayu yang sangat besar. Pada tahap penjualannya, kini banyak sekali pedagang yang menggunakan sistem pembayaran kredit untuk pembayarannya, karena dinilai menguntungkan.

Dalam sebuah sistem informasi penjualan furniture, ada beberapa proses yang harus dilakukan. Pertama, pembelian barang dari produsen furniture ke pasar. Kedua, penjualan barang dari pasar ke konsumen. Ketiga, pembayaran cicilan maupun tunai. Dan yang terakhir adalah pembuatan laporan.

Semua proses diatas tentu saja bisa dilakukan dengan manual melalui penulisan tangan. Tetapi hal tersebut tidak efektif dalam segi waktu, keamanan data maupun kualitas laporan.

1.2 Maksud dan Tujuan

Maksud dan tujuan dari pembuatan aplikasi serta dokumentasinya ini adalah sebagai berikut:

1. Memenuhi salahsatu syarat nilai mata diklat Perancangan Aplikasi dan Presentasi

2. Menghitung jumlah cicilan atau harga total yang dibayar oleh Customer 3. Menghasilkan laporan yang baik

4. Meningkatkan efektifitas dalam pendataan

5. Meningkatkan keamanan dalam penyimpanan data 6. Mencegah redudansi.

(10)

1.3 Lingkup Masalah

1.3.1 Identifikasi Masalah

Kebanyakan sistem informasi yang ada di lingkungan perusahaan perdagangan masih menggunakan aplikasi spreadsheet seperti Microsoft Excel. Dengan kata lain, masih banyak kekurangan aplikasi spreadsheet karena aplikasi ini bukan aplikasi murni pengolah database.

1.3.2 Batasan Masalah

Batasan-batasan masalah dalam pembuatan aplikasi ini, antara lain:

Aplikasi ini dibuat khusus untuk perusahaan yang bergerak dalam perkreditan furniture.

Proses utama yang tercakup adalah penghitungan kredit, edit data, proses penjualan, pembelian, pembayaran, dan pelaporan

1.4 Sistematika Penulisan

Sistematika yang digunakan dalam penulisan dokumentasi ini adalah: BAB I PENDAHULUAN

Membahas latar belakang permasalahan, identifikasi masalah, maksud dan tujuan, serta sistematika penulisan

BAB II TEORI DASAR

Menguraikan tentang teori-teori mengenai garis besar pemograman dan perancangan sebuah aplikasi

BAB III DESKRIPSI RANCANGAN SISTEM

Menjelaskan mengenai rancangan yang penulis sarankan dalam sistem yang baru. Berisi perancangan aliran data dan perancangan basis data BAB IV IMPLEMENTASI PERANGKAT LUNAK

Menguraikan implementasi dari perancangan yang sudah dideskripsikan di bab sebelumnya

BAB V MATRIKS KETERUNUTAN

Membahas keterhubungan dari setiap fungsi-fungsi yang ada dalam aplikasi ini

(11)

Menguraikan kesimpulaln yang didapat dari permasalahan dan pembahasan serta menguraikan saran dari kesimpulan tersebut. Di bab ini membahas juga kemungkinan pengembangan.

(12)

BAB II

TEORI DASAR

Dalam pembangunan sebuah aplikasi, ada banyak sekali pilihan dalam penggunaan bahasa pemrograman. Karena begitu banyaknya bahasa pemrograman, maka bahasa-bahasa itu dikelompokkan menjadi kriteria-kriteria tertentu.

2.1 Pemograman

Pemrograman dapat diklasifikasikan sebagai berikut [Rechenberg]: 1. Berorientasi prosedur (procedural oriented)

2. Berorientasi fungsi (functional oriented) 3. Berorientasi logik (logic oriented) 4. Berorientasi obyek (object oriented)

Masing-masing memiliki kelebihan tersendiri. Kadangkala dalam membangun suatu aplikasi dibutuhkan gabungan metode pemrograman tersebut. Misalnya dalam C++ dan Java (bahasa pemrograman berorientasi obyek), kita masih dapat menemukan tehnik-tehnik pemrograman berorientasi prosedur dalam setiap

method/function member dalam obyek-obyeknya.

Suatu bahasa pemrograman pada asalnya hanya dapat digunakan dalam satu metode. Pascal mulanya untuk procedural-oriented, Lisp untuk

functional-oriented, Smaltalk untuk object-oriented dan lain-lain. Seiring dengan perkembangan tehnologi informasi dan komputer, puluhan bahkan ratusan bahasa pemrograman baru lahir. Masing-masing memiliki keunikan dan kelebihan spesifik. Ada yang khusus untuk jenis komputer tertentu, ada pula yang khusus untuk paradigma pemograman tertentu.

Secara umum, bahasa pemrograman yang berbasiskan prosedur terdiri dari blok/sub program. yang

memiliki dua bagian utama yaitu: 1. Bagian deklarasi

Bagian deklarasi merupakan bagian program untuk mendefinisikan tipe data suatu variable, konstanta, serta fungsi dan prosedur yang akan digunakan pada program. Selain itu, bagian deklarasi dapat juga digunakan untuk memberi nilai awal suatu

(13)

variable. Dengan kata lain, deklarasi digunakan untuk memperkenalkan suatu nama kepada Compiler program.

2. Bagian Statement

Bagian statement merupakan bagian program yang berisi perintah yang akan dieksekusi/dijalankan.

2.2 Perancangan

2.2.1 Diagram Alir Data

Diagram alir data adalah representasi dari aliran data dalam sebuah sistem informasi. Tabel dibawah ini menjelaskan objek-obek yang ada didalam sebuah diagram alir data.

Simbol Nama Simbol Keterangan

Entitas Menunjukkan bagian luar dari sistem yang mempunyai hubngan dengan sistem.

Proses Menunjukkan proses data atau informasi yang terjadi didalam sistem

Alur Data Menunjukkan aliran data yang terjadi. File Menunjukkan data yang ada pada sistem.

(14)

2.2.2 Entity Relationship Diagram

Entity Relationship Diagram adalah sebuah konseptual abstrak yang merepresentasikan struktur data. Simbol-simbol yang digunakan dalam ERD:

Simbol Nama Simbol Keterangan

Entitas Merupakan data yang dikelola.

Relasi Hubungan antara dua entitas atau lebih

(15)

BAB III

DESKRIPSI RANCANGAN SISTEM

Di dalam pembangunan suatu sistem, perancangan, sistem merupakan langkah yang sangat penting, karena bila ditahap ini terdapat suatu kesalahan, maka akan salah pula ditahap berikutnya. Perancangan sistem ini akan menggambarkan prosedur yang akan diusulkan dalam FBay Information System.

Pada perancangan sistem ini akan menjelaskan tentang perancangan prosedur, perancangan perangkat lunak yang digambarkan dalam bentuk diagram konteks, Diagram Alir Data (DAD), perancangan basis data yang terdiri dari Entity Relationship Diagram (ERD), struktur file, struktur menu perancangan masukan, dan perancangan keluaran.

3.1 Deskripsi Prosedur Kerja 3.1.1 Prosedur Penjualan

Prosedur kerja lingkungan implementasi Bagian Penjualan adalah sebagai berikut:

1. Customer mengisi data yang dibutuhkan seperti data diri customer dan id barang yang akan dibeli di Form Customer dan diberikan kepada Bagian Penjualan

2. Bagian Penjualan menginputkan data penjualan ke komputer

3. Komputer lalu membuat tagihan cicilan yang harus dibayar, lalu diberikan kepada Customer

(16)

Diagram Sistem Prosedur Penjualan

Gambar 3-1 Diagram Sistem Prosedur Penjualan

3.1.2 Prosedur Pembelian

Prosedur kerja lingkungan implementasi Bagian Pembelian adalah sebagai berikut:

1. Supplier mengisi form barang yang dibeli

2. Bagian Pembelian menginputkan ke komputer data pembelian

3. Komputer lalu membuat Bukti Pembelian, kemudian diberikan kepada Supplier

(17)

Diagram Sistem Prosedur Pembelian

Gambar 3-2 Diagram Sistem Prosedur Pembelian

3.1.3 Prosedur Pembayaran

Prosedur kerja lingkungan implementasi Bagian Pembayaran adalah sebagai berikut:

1. Customer membayar kepada Bagian Pembayaran

2. Bagian pembayaran menginputkan data pembayaran ke komputer 3. Komputer membuat bukti pembayaran, kemudian diberikan kepada

Customer

(18)

Diagram Sistem Prosedur Pembayaran

Gambar 3-3 Diagram Sistem Prosedur Pembayaran

3.2 Deskripsi Dokumen

Berdasarkan uraian prosedur kerja yang ada maka dokumen yang diperlukan adalah sebagai berikut:

1. Form Customer

Fungsi : Mencatat data customer

Sumber : Bagian Penjualan

Rangkap : 1 (satu)

Distrubusi : Administrator

Frekuensi : Setiap ada transaksi kecuali bila sudah ada Isi Dokumen :

No. Nama Jenis Data Keterangan

1 Nama string Nama lengkap

2 Alamat string Alamat tempat tinggal

3 Kota string Kota tempat tinggal

4 Kode Pos string Kode pos tempat tinggal

5 Tempat Lahir string Kota kelahiran

6 Tanggal Lahir tanggal Tanggal kelahiran 7 Jenis Kelamin string Jenis kelamin

(19)

9 Pekerjaan string Pekerjaan sehari-hari

10 Penghasilan numerik Penghasilan yang didapat per bulan

No. Nama Jenis Data Keterangan

11 Telepon string Nomor telepon pribadi

12 E-mail string Alamat e-mail pribadi

13 Nama string Nama kontak lain yang bisa

dihubungi

14 Alamat string Alamat kontak lain

15 Kota string Kota kontak lain

16 Kode Pos string Kode pos kontak lain

17 Telepon string Telepon kontak lain

18 E-mail string E-mail kontak lain

19 Hub. dgn Customer string Hubungan dengan customer

20 Keterangan string Keterangan yang perlu ditambahkan

Tabel 3-1 Form Customer

Gambar 3-4 Form Customer

2. Form Supplier

Fungsi : Mencatat data Supplier

Sumber : Bagian Pembelian

Rangkap : 1 (satu)

(20)

Frekuensi : Setiap ada transaksi kecuali bila sudah ada Isi Dokumen :

No. Nama Jenis Data Keterangan

1 Nama string Nama perusahaan

2 Alamat string Alamar perusahaan

3 Kota string Kota tempat perusahaan

4 Kode Pos string Kode pos perusahaan

5 Telepon string Telepon kantor perusahaan

6 E-mail string E-mail perusahaan

7 Website string Situs web resmi perusahaan

8 Keterangan string Keterangan yang perlu ditambahkan

Tabel 3-2 Form Supplier

Gamba 3-5 Form Supplier

3. Form Barang

Fungsi : Mencatat data Barang

Sumber : Barang

Rangkap : 1 (satu)

Distribusi : Administrator

(21)

Isi Dokumen :

No. Nama Jenis Data Keterangan

1 Nama string Nama barang

2 Jenis string Jenis barang

3 Warna string Warna barang

4 Panjang string Panjang barang (dalam cm)

5 Lebar string Lebar barang (dalam cm)

6 Tinggi string Tinggi barang (dalam cm)

7 Stok numerik Stok barang yang ada di gudang

8 ID Supplier string ID Supplier yang menyuplai

9 Harga numerik Harga barang per unit

Tabel 3-3 Form Barang

Gambar 3-6 Form Barang

4. Form Penjualan

Fungsi : Mencatat data Penjualan

Sumber : Bagian Penjualan

Rangkap : 1 (satu)

Distribusi : Administrator Frekuensi : Setiap ada transaksi

(22)

Isi Dokumen :

No. Nama Jenis Data Keterangan

1 ID Customer string ID pembeli

2 ID Barang string ID barang yang terjual

3 Tanggal tanggal Tanggal transaksi

4 Metode string Metode pembayaran

5 Harga numerik Harga pokok

6 Uang Muka numerik Jumlah uang muka

7 Bunga numerik Bunga kredit

8 Cicilan numerik Lama penyicilan (tahun)

9 Periode string Periode pembayaran

Tabel 3-4 Form Penjualan

Gambar 3-7 Form Penjualan

5. Form Pembelian

Fungsi : Mencatat data Pembelian

Sumber : Bagian Pembelian

Rangkap : 1 (satu)

Distribusi : Administrator Frekuensi : Setiap ada transaksi

(23)

Isi Dokumen :

No. Nama Jenis Data Keterangan

1 ID Supplier string ID Supplier yang menyuplai

2 ID Barang string ID barang yang dibeli

3 Tanggal tanggal Tanggal transaksi

4 Harga Satuan numerik Harga per unit

5 Jumlah numerik Kuantitas barang yang dibeli

6 Total numerik Total harga transaksi

Tabel 3-5 Form Pembelian

Gambar 3-8 Form Pembelian

6. Form Pembayaran

Fungsi : Mencatat data Pembayaran

Sumber : Bagian Pembayaran

Rangkap : 1 (satu)

Distribusi : Administrator

Frekuensi : Setiap ada pembayaran Isi Dokumen :

(24)

1 ID Penjualan string ID penjualan yang akan dibayar

2 Tanggal tanggal Tanggal pembayaran

3 Untuk Cicilan Ke numerik Urutan cicilan yang akan dibayar

4 Tertanda string ID Pegawai yang menangani

pembayaran

Tabel 3-6 Form Pembayaran

Gambar 3-9 Form Pembayaran

7. Laporan Penjualan

Fungsi : Menginformasikan data penjualan

Sumber : Bagian Penjualan

Rangkap : 1 (satu)

Distribusi : Administrator Frekuensi : Apabila diperlukan Isi Dokumen :

No. Nama Jenis Data Keterangan

1 Tanggal Laporan tanggal Tanggal pembuatan laporan

2 ID Customer string ID pembeli

3 ID Barang string ID barang yang terjual

(25)

5 Metode string Metode pembayaran

6 Harga numerik Harga pokok

7 Uang Muka numerik Jumlah uang muka

8 Bunga numerik Bunga kredit

9 Cicilan numerik Lama penyicilan (tahun)

10 Periode string Periode pembayaran

Tabel 3-7 Laporan Penjualan

Gambar 3-10 Laporan Penjualan

8. Laporan Pembelian

Fungsi : Menginformasikan data pembelian

Sumber : Bagian Pembelian

Rangkap : 1 (satu)

Distribusi : Administrator Frekuensi : Apabila diperlukan Isi Dokumen :

No. Nama Jenis Data Keterangan

1 Tanggal Laporan tanggal Tanggal pembuatan laporan 2 ID Supplier string ID Supplier yang menyuplai

(26)

4 Tanggal tanggal Tanggal transaksi 5 Harga Satuan numerik Harga per unit

6 Jumlah numerik Kuantitas barang yang dibeli

7 Total numerik Total harga transaksi

Tabel 3-8 Laporan Pembelian

Gambar 3-11 Laporan Pembelian

9. Laporan Pembayaran

Fungsi : Menginformasikan data pembayaran

Sumber : Bagian Pembayaran

Rangkap : 1 (satu)

Distribusi : Administrator Frekuensi : Apabila diperlukan Isi Dokumen :

No. Nama Jenis Data Keterangan

1 Tanggal Laporan tanggal Tanggal pembuatan laporan 2 ID Penjualan string ID penjualan yang akan dibayar

3 Tanggal tanggal Tanggal pembayaran

4 Untuk Cicilan Ke numerik Urutan cicilan yang akan dibayar

(27)

pembayaran

Tabel 3-9 Laporan Pembayaran

(28)

3.3 Pemodelan Kebutuhan Fungsional 3.3.1 Diagram Konteks FBay Information System Customer Pegawai Gudang biodata, password laporan Supplier biodata, pesanan laporan pembelian, bukti pembayaran data barang data supplier, data barang laporan pembelian update data barang

Gambar 3-13 Diagram Konteks

3.3.2 Diagram Aliran Data Level 1

Gambar 3-14 DAD Level 1

(29)

Customer Gudang 1.1 Rekam data 1.2 Rekam data db Customer db Barang 1.3 Transaksi db Pembayaran db Penjualan 1.4 Cetak Pegawai data customer id cust. data customer detail id barang data barang detail data barang tagihan lap. penjualan data pembayaran detail data penjualan data penjualan detail

Gambar 3-15 DAD Level 2 Proses 1

Level 2 Proses 2

Gambar 3-16 DAD Level 2 Proses 2

(30)

data bara ng lap. da

ta bara ng

Gambar 3-17 DAD Level 2 Proses 3

3.4 Perancangan Basis Data

3.4.1 Keterhubungan Antar Tabel

Keterhubungan antar tabel dijelaskan dalam E-R Diagram dan E-R Diagram versi James Martin dibawah ini:

(31)

Gambar 3-19 E-R Diagram versi James Martin

3.4.2 Deskripsi Tabel 1. Tabel Barang

Fungsi : Menyimpan data Barang

Jenis : Tabel Induk

Primary Key : id_barang Struktur Tabel :

No Nama Jenis Data Ukuran

1 id_barang string 6 2 nama string 30 3 jenis string 2 4 warna string 7 5 panjang string 3 6 lebar string 3 7 tinggi string 3 8 stok string 3 9 id_supplier string 6

(32)

10 harga double

Tabel 3-10 Tabel Barang

2. Tabel Customer

Fungsi : Menyimpan data Customer

Jenis : Tabel Induk

Primary Key : id_customer Struktur Tabel :

No Nama Jenis Data Ukuran

1 id_customer string 6 2 nama string 30 3 alamat string 50 4 kota string 10 5 kodepos string 5 6 tempatlahir string 10 7 tgl_lahir date 8 jk string 1 9 ktp string 16 10 status string 2 11 pekerjaan string 15 12 penghasilan double 13 telp string 13 14 email string 30 15 knama string 30 16 kalamat string 50 17 kkota string 10 18 kkodepos string 5 19 ktelp string 13 20 kemail string 30 21 khub string 20

Tabel 3-11 Tabel Customer

3. Tabel Supplier

Fungsi : Menyimpan data Supplier

Jenis : Tabel Induk

Primary Key : id_supplier Struktur Tabel :

No Nama Jenis Data Ukuran

(33)

2 nama string 30

No Nama Jenis Data Ukuran

3 alamat string 50 4 kota string 10 5 kodepos string 5 6 telp string 13 7 email string 30 8 website string 30 9 ket string 50

Tabel 3-12 Tabel Supplier

4. Tabel Pegawai

Fungsi : Menyimpan data Pegawai

Jenis : Tabel Induk

Primary Key : id_pegawai Struktur Tabel :

No Nama Jenis Data Ukuran

1 id_pegawai string 6

2 nama string 30

3 jabatan string 2

4 password string 10

5 lastlogin date/time

Tabel 3-13 Tabel Pegawai

5. Tabel Penjualan

Fungsi : Menyimpan data Penjualan

Jenis : Tabel Transaksi

Primary Key : -

Struktur Tabel :

No Nama Jenis Data Ukuran

1 id_jual string 6 2 id_customer string 6 3 id_barang string 6 4 tanggal date 5 metode string 1 6 harga double 7 uangmuka double 8 bunga single 9 cicilan integer

(34)

10 periode string 1

No Nama Jenis Data Ukuran

11 total double

Tabel 3-14 Tabel Penjualan

6. Tabel Pembelian

Fungsi : Menyimpan data Pembelian

Jenis : Tabel Transaksi

Primary Key : -

Struktur Tabel :

No Nama Jenis Data Ukuran

1 id_beli string 6 2 id_supplier string 6 3 id_barang string 6 4 tanggal date 5 harga double 6 jumlah double 7 total double

Tabel 3-15 Tabel Pembelian

7. Tabel Pembayaran

Fungsi : Menyimpan data Pembayaran

Jenis : Tabel Transaksi

Primary Key : -

Struktur Tabel :

No Nama Jenis Data Ukuran

1 id_bayar string 6

2 id_jumlah string 6

3 tanggal date

4 cicilan integer

5 tertanda string 6

Tabel 3-16 Tabel Pembayaran

3.5 Spesifikasi Minimum

Spesifikasi minimum dari komputer yang akan dipasang aplikasi ini adalah: - Pemroses 1,7 GHz

- Memory 128 MB - Harddisk 20 GB

(35)

- Color Monitor 15” - Keyboard dan Mouse

- Sistem Operasi Microsoft Windows 98

(36)

BAB IV

IMPLEMENTASI PERANGKAT LUNAK

4.1 Lingkungan Implementasi

Perangkat keras dan perangkat lunak yang digunakan dalam mengimplementasikan rancangan yang sudah dibahas di bab sebelumnya adalah sebagai berikut.

Perangkat keras

Pemroses : Prosesor Intel Celeron 2 GHz

Memory : Visipro 256 MB

Harddisk : Seagate Barracuda 80 GB 7200 rpm

Monitor : Samsung CDT155 17”

Printer : HP Deskjet 3940

Perangkat lunak

Sistem Operasi : Windows XP SP 2

IDE : Microsoft Visual Basic 6.0

Database : Microsoft Office Access

4.2 Hasil Implementasi

Berikut adalah hasil-hasil dari perancangan sistem yang telah dibahas di bab sebelumnya.

(37)

4.2.1 Struktur Menu

Gambar 4-1 Struktur Menu

4.2.2 Deskripsi Rinci Modul 4.2.2.1 Form Log In

Gambar 4-2 Form Log In

Objek Tipe Keterangan

frmLogin Form Form untuk Log In

Text1 Textfield Inputan ID Pegawai

Text2 Textfield Inputan password

Command1 Button Tombol untuk log in

Command2 Button Tombol untuk batal log in

(38)

4.2.2.2 Form Utama

Gambar 4-3 Form Utama

Objek Tipe Keterangan

frmUtama Form Form utama/inti

mnuUtama Menu bar Menu utama

Toolbar1 Toolbar Baris tombol yang memiliki fungsinya masing-masing

lblJual Label Label untuk menampilkan penjualan

lblBeli Label Label untuk menampilkan pembelian

sB1 Status bar Baris status unuk menampilkan status

Tabel 4-2 Objek Form Utama

4.2.2.3 Form Penjualan

(39)

9

Objek Tipe Keterangan

lbltgl Label Untuk menampilkan tanggal

Text1 Textfield Inputan ID Penjualan

Combo1 Combo box Untuk memilih ID Customer

Combo2 Combo box Untuk memilih ID Barang

lblHarga Label Menampilkan harga pokok

optMetode Radio button Memilih metode pembayaran

Text2 Textfield Inputan uang muka

Text3 Textfield Inputan bunga

Text4 Textfield Inputan lama cicilan

Combo3 Combo box Untuk memilih periode pembayaran

Command1 Button Untuk menambah Customer

Command2 Button Untuk menyimpan record

Command3 Button Untuk mencetak laporan

Command4 Button Untuk menambah barang

Command5 Button Untuk membuat penjualan baru

Tabel 4-3 Objek Form Penjualan

4.2.2.4 Form Pembelian

Gambar 4-5 Form Pembelian

Objek Tipe Keterangan

lbltgl Label Untuk menampilkan tanggal

Combo1 Combo box Untuk memilih ID Supplier

Combo2 Combo box Untuk memilih ID Customer

Text1 Textfield Inputan ID Pembelian

Text2 Textfield Inputan harga satuan barang

Text3 Textfield Inputan jumlah barang yang dibeli

lblTotal Label Menampilkan harga total pembelian

Command1 Button Untuk menambah Supplier

Command2 Button Untuk menambah Barang

Command3 Button Untuk menyimpan record

(40)

Command5 Button Untuk membuat pembelian baru

Tabel 4-4 Objek Form Pembelian

4.2.2.5 Form Pembayaran

Gambar 4-6 Form Pembayaran

Objek Tipe Keterangan

lbltgl Label Untuk menampilkan tanggal

Combo1 Combo box Untuk memilih ID Penjualan

Text1 Textfield Inputan pembayaran cicilan

lblTertanda Label Untuk menampilkan user active

Tabel 4-5 Objek Form Pembayaran

4.2.2.6 Form Data Customer

(41)

Objek Tipe Keterangan

Text1 Textfield Inputan ID Customer

Text2 Textfield Inputan nama customer

Text3 Textfield Inputan alamat customer

Text4 Textfield Inputan kota customer

Text5 Textfield Inputan kode pos customer

Text6 Textfield Inputan tempat lahir customer

Text7 Textfield Inputan tanggal lahir customer

Text8 Textfield Inputan no. ktp customer

Text9 Textfield Inputan pekerjaan customer

Text10 Textfield Inputan jumlah penghasilan customer

Text11 Textfield Inputan no. telepon customer

Text12 Textfield Inputan email customer

Text13 Textfield Inputan nama kontak lain

Text14 Textfield Inputan alamat kontak lain

Text15 Textfield Inputan kota kontak lain

Text16 Textfield Inputan kode pos kontak lain

Text17 Textfield Inputan telepon kontak lain

Text18 Textfield Inputan email kontak lain

Text19 Textfield Inputan hubungan dengan customer

Text20 Textfield Inputan keterangan

Combo1 Combo box Untuk memilih jenis kelamin

Combo2 Combo box Untuk memilih status rumah tinggal

Command1 Button Untuk menyimpan record

Command2 Button Untuk update record

Command3 Button Untuk menghapus record

Command4 Button Untuk membuat record baru

Command5 Button Untuk mencari record

cbKategori Combo box Untuk memilih kategori pencarian

txtKata Textfield Untuk memasukkan kata kunci

pencarian

lblRecord Label Untuk menampilkan posisi record

DataGrid1 Data grid Untuk menampilkan data

(42)

Gambar 4-8 Report Customer

4.2.2.7 Form Data Barang

Gambar 4-9 Form Data Barang

Objek Tipe Keterangan

Text1 Textfield Inputan ID Barang

Text2 Textfield Inputan nama barang

Text3 Textfield Inputan warna barang

Text4 Textfield Inputan harga barang

(43)

Text6 Textfield Inputan lebar barang

Text7 Textfield Inputan tinggi barang

Text8 Textfield Inputan stok barang

Combo1 Combo box Untuk jenis barang

Combo2 Combo box Untuk ID Supplier

Command1 Button Untuk menyimpan record

Command2 Button Untuk update record

Command3 Button Untuk menghapus record

Command4 Button Untuk membuat record baru

Command5 Button Untuk mencari record

cbKategori Combo box Untuk memilih kategori pencarian

txtKata Textfield Untuk memasukkan kata kunci

pencarian

lblRecord Label Untuk menampilkan posisi record

DataGrid1 Data grid Untuk menampilkan data

Tabel 4-7 Objek Form Data Barang

(44)

4.2.2.8 Form Data Supplier

Gambar 4-11 Form Data Supplier

Objek Tipe Keterangan

Text1 Textfield Inputan ID Customer

Text2 Textfield Inputan nama perusahaan supplier

Text3 Textfield Inputan alamat supplier

Text4 Textfield Inputan kota supplier

Text5 Textfield Inputan kode pos supplier

Text6 Textfield Inputan telepon supplier

Text7 Textfield Inputan email supplier

Text8 Textfield Inputan website supplier

Text9 Textfield Inputan keterangan

Command1 Button Untuk menyimpan record

Command2 Button Untuk update record

Command3 Button Untuk menghapus record

Command4 Button Untuk membuat record baru

Command5 Button Untuk mencari record

cbKategori Combo box Untuk memilih kategori pencarian

txtKata Textfield Untuk memasukkan kata kunci

pencarian

lblRecord Label Untuk menampilkan posisi record

DataGrid1 Data grid Untuk menampilkan data

(45)

4.2.2.9 Form Data Penjualan

Gambar 4-12 Form Data Penjualan

Objek Tipe Keterangan

Text1 Textfield Inputan ID Penjualan

Text2 Textfield Inputan tanggal penjualan

Text3 Textfield Inputan harga barang

Text4 Textfield Inputan uang muka

Text5 Textfield Inputan bunga

Text6 Textfield Inputan cicilan

Text7 Textfield Inputan total penjualan

Combo1 Combo box Untuk memilih ID Customer

Combo2 Combo box Untuk memilih ID Barang

Combo3 Combo box Untuk metode

Combo4 Combo box Untuk periode

cmdTanggal Button Untuk menampilkan kalender

Command1 Button Untuk menyimpan record

Command2 Button Untuk update record

Command3 Button Untuk menghapus record

Command4 Button Untuk membuat record baru

Command5 Button Untuk mencari record

cbKategori Combo box Untuk memilih kategori pencarian

txtKata Textfield Untuk memasukkan kata kunci

pencarian

(46)

DataGrid1 Data grid Untuk menampilkan data

(47)

Gambar 4-13 Report Pembayaran

4.2.2.10 Form Data Pembelian

Gambar 4-14 Form Data Pembelian

Objek Tipe Keterangan

Text1 Textfield Inputan ID Pembelian

Text2 Textfield Inputan tanggal pembelian

Text3 Textfield Inputan harga barang

Text4 Textfield Inputan jumlah

Text5 Textfield Inputan total

Combo1 Combo box Untuk memilih ID Supplier

Combo2 Combo box Untuk memilih ID Barang

cmdTanggal Button Untuk menampilkan kalender

(48)

Command2 Button Untuk update record

Command3 Button Untuk menghapus record

Command4 Button Untuk membuat record baru

Command5 Button Untuk mencari record

cbKategori Combo box Untuk memilih kategori pencarian

txtKata Textfield Untuk memasukkan kata kunci

pencarian

lblRecord Label Untuk menampilkan posisi record

DataGrid1 Data grid Untuk menampilkan data

Tabel 4-10 Objek Form Data Pembelian

(49)

4.2.2.11 Form Data Pembayaran

Gambar 4-16 Form Data Pembayaran

Objek Tipe Keterangan

Text1 Textfield Inputan ID Pembayaran

Text2 Textfield Inputan tanggal pembayaran

Text3 Textfield Inputan cicilan

Text4 Textfield Inputan tertanda

Combo1 Combo box Untuk memilih ID Penjualan

cmdTanggal Button Untuk menampilkan kalender

Command1 Button Untuk menyimpan record

Command2 Button Untuk update record

Command3 Button Untuk menghapus record

Command4 Button Untuk membuat record baru

Command5 Button Untuk mencari record

cbKategori Combo box Untuk memilih kategori pencarian

txtKata Textfield Untuk memasukkan kata kunci

pencarian

lblRecord Label Untuk menampilkan posisi record

DataGrid1 Data grid Untuk menampilkan data

(50)

Gambar 4-17 Report Pembayaran

4.2.2.12 Form Data Pegawai

Gambar 4-18 Form Data Pegawai

Objek Tipe Keterangan

Text1 Textfield Inputan ID Pegawai

Text2 Textfield Inputan nama lengkap pegawai

Text3 Textfield Inputan password

Text4 Textfield Inputan last log in

(51)

Command1 Button Untuk menyimpan record

Command2 Button Untuk update record

Command3 Button Untuk menghapus record

Command4 Button Untuk membuat record baru

Command5 Button Untuk mencari record

cbKategori Combo box Untuk memilih kategori pencarian

txtKata Textfield Untuk memasukkan kata kunci

pencarian

lblRecord Label Untuk menampilkan posisi record

DataGrid1 Data grid Untuk menampilkan data

Tabel 4-12 Objek Form Data Pegawai

Gambar 4-19 Report Pegawai

4.3 Gantt Chart

ID Task Name Start Finish Duration

May 2008 Jun 2008 4/27 5/4 5/11 5/18 5/25 6/1 6/8 6/15 1 Identifikasi 24/04/2008 01/05/2008 6d 2 Analisa 01/05/2008 06/05/2008 4d 3 Design 07/05/2008 09/05/2008 3d 4 Development 12/05/2008 19/06/2008 29d 5 Dokumentasi 20/06/2008 24/06/2008 3d 6 Integrating 24/06/2008 24/06/2008 1d 7 Testing 24/06/2008 24/06/2008 1d

(52)

BAB V

MATRIKS KETERUNUTUN

Tabel – tabel yang dibuat, form-form yang dibuat, serta output berupa laporan dan tak lupa proses yang ada didalamnya memiliki keterkaitan sehingga dapat menimbulkan fungsi yang baik dan terstruktur dalam pembuatannya. Berikut table yang menunjukan matrik keterunutan program :

No. SKPL Nama Form Nama Proses Nama Laporan

1 Login Otentifikasi -

2 Utama Hitung total pembelian

Hitung total penjualan

3 Penjualan Penghitungan kredit Report Penjualan

Simpan record penjualan

4 Pembelian Simpan record pembelian Report Pembelian Hitung total pembelian

5 Pembayaran Simpan record pembayaran Report

Pembayaran 6 Data Customer Trigger data Customer Report Customer

7 Data Barang Trigger data Barang Report Barang

8 Data Supplier Trigger data Supplier Report Supplier 9 Data Penjualan Trigger data Penjualan Report Penjualan 10 Data Pembelian Trigger data Pembelian Report Pembelian 11 Data Pembayaran Trigger data Pembayaran Report

Pembayaran 12 Data Pegawai Trigger data Pegawai Report Pegawai

(53)

BAB VI

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Aplikasi ini memiliki fungsi utama, yaitu:

1. Menghitung jumlah cicilan yang harus dibayar oleh pelanggan apabila memilih metode pembayaran kredit

2. Memudahkan pengguna dalam pendokumentasian data pembayaran, pembelian, maupun penjualan

3. Dapat menghasilkan laporan dari setiap proses yang ada.

6.2 Saran

Ketika akan membuat suatu aplikasi perkreditan, penulis menyarankan agar teliti dalam penghitungan pembayaran cicilan, karena bisa saja biaya pokok ditambah biaya administrasi yang lain seperti biaya pengiriman, dll. Kemudian dalam pelaporan, penulis menyarankan untuk memakai chart grafik agar lebih dimengerti oleh penerima laporan.

6.3 Kemungkinan Pengembangan

Kemungkinan untuk mengembangkan aplikasi ini sangat besar. Contohnya, untuk metode pembayaran bisa ditambah menjadi menggunakan kartu kredit atau semacamnya. Kemudian dalam hal laporan, laporan tidak harus selalu dalam format kertas berukuran Legal, tetapi bisa juga dengan ukuran seperti struk belanja.

(54)

DAFTAR PUSTAKA

Jayan. (2006). Mudah dan Cepat Belajar VB. Palembang: Penerbit Maxikom.

VB Source Code. (2002, 15 Maret). Diakses 15 Juni, 2008, dari Planet Source Code: planet-source-code.com

(55)

LAMPIRAN-LAMPIRAN

Script

‘Form Pembayaran

Private Sub Command5_Click() With DataPmbayaran.Recordset .AddNew .Fields(0) = Text1.Text .Fields(1) = Combo1.Text .Fields(2) = lbltgl.Caption .Fields(3) = Text2.Text .Fields(4) = Label6.Caption .Update End With

MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" End Sub

Private Sub Command6_Click() rptPembayaran.Show

End Sub

Private Sub Form_Load() With Me.DataPmbayaran

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from pembayaran" .Refresh

End With

With Me.DataJual

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from penjualan" .Refresh

End With

DataJual.RecordSource = "Select * from penjualan" If (DataJual.Recordset.RecordCount > 0) Then Do While Not DataJual.Recordset.EOF

(56)

Combo1.AddItem DataJual.Recordset!id_jual DataJual.Recordset.MoveNext

Loop End If Call AutoID

lbltgl.Caption = Format(Now, "dd/mm/yy hh:mm") Label6.Caption = frmUtama.sB1.Panels(2).Text End Sub

Private Function AutoID() With Me.DataPmbayaran

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from pembayaran order by id_bayar DESC" .Refresh

End With

If DataPmbayaran.Recordset.RecordCount = 0 Then Text1.Text = "PY0000"

Else

Dim dataY As String

dataY = DataPmbayaran.Recordset.Fields(0)

Text1.Text = "PY" & Format(Right(dataY, 4) + 1, "0000") End If

End Function ‘Form Pembelian Dim tot As Double

Private Function AutoID() With Me.DataPmbelian

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from pembelian order by id_beli DESC" .Refresh

End With

If DataPmbelian.Recordset.RecordCount = 0 Then Text1.Text = "PI0000"

Else

Dim dataY As String

dataY = DataPmbelian.Recordset.Fields(0)

Text1.Text = "PI" & Format(Right(dataY, 4) + 1, "0000") End If

DataPmbelian.Recordset.Close End Function

(57)

Private Sub Command1_Click() frmSupplier.Show

frmSupplier.Command4.SetFocus End Sub

Private Sub Command2_Click() frmBarang.Show

End Sub

Private Sub Command3_Click() Text1.Text = "" Combo1.Text = "" Combo2.Text = "" Text2.Text = "" Text3.Text = "" Label8.Caption = "" Call AutoID End Sub

Private Sub Command5_Click() With DataPmbelian.Recordset .Open .AddNew .Fields(0) = Text1.Text .Fields(1) = Combo1.Text .Fields(2) = Combo2.Text .Fields(3) = lbltgl.Caption .Fields(4) = Text2.Text .Fields(5) = Text3.Text .Fields(6) = tot .Update .Close End With

MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" End Sub

Private Sub Command6_Click() rptPembelian.Show

End Sub

Private Sub Form_Click() Combo1.Clear

DataSupp.RecordSource = "Select id_supplier from supplier" DataSupp.Recordset.MoveFirst

(58)

DataSupp.Refresh

If (DataSupp.Recordset.RecordCount > 0) Then Do While Not DataSupp.Recordset.EOF

Combo1.AddItem DataSupp.Recordset.Fields(0) DataSupp.Recordset.MoveNext

Loop End If

Combo2.Clear

DataBrg.RecordSource = "Select id_barang from barang" DataBrg.Recordset.MoveFirst

DataBrg.Refresh

If (DataBrg.Recordset.RecordCount > 0) Then Do While Not DataBrg.Recordset.EOF

Combo2.AddItem DataBrg.Recordset.Fields(0) DataBrg.Recordset.MoveNext

Loop End If End Sub

Private Sub Form_Load() With Me.DataBrg

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from barang" .Refresh

End With

With Me.DataSupp

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from Supplier" .Refresh

End With

With Me.DataPmbelian

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from Pembelian" .Refresh

End With

DataBrg.RecordSource = "Select * from barang" If (DataBrg.Recordset.RecordCount > 0) Then Do While Not DataBrg.Recordset.EOF

(59)

DataBrg.Recordset.MoveNext Loop

End If

DataSupp.RecordSource = "Select * from Supplier" If (DataSupp.Recordset.RecordCount > 0) Then Do While Not DataSupp.Recordset.EOF

Combo1.AddItem DataSupp.Recordset!id_supplier DataSupp.Recordset.MoveNext Loop End If Call AutoID Command5.Enabled = False

lbltgl.Caption = Format(Now, "dd/mm/yy hh:mm") End Sub

Private Sub Text3_Change()

Label8.Caption = Format(Val(Text2.Text) * Val(Text3.Text), "currency") If Label8.Caption = "" Then

Command5.Enabled = False Else

Command5.Enabled = True End If

tot = Val(Text2.Text) * Val(Text3.Text) End Sub

‘Form Penjualan

Dim strUserChoice As String Dim curPayment As Currency

Dim dblRate As Double, dblNper As Double, dblPv As Double, dblFv As Double, dblPer As Double

Dim dblIpay As Double, dblItotal As Double, dblIarray() As Double Dim dblPpay As Double, dblPtotal As Double, dblParray() As Double Dim dblPeriodComplete As Double 'period at which loan is paid in full Dim bolPaidOff As Boolean

Dim dblAdditionalPrinciple As Double Private Sub Kosong()

Combo2.Text = "" Label11.Caption = "" Option1.Value = False Option2.Value = False Combo4.ListIndex = 0 Text5.Text = "" Text6.Text = "" Text7.Text = "" Label16.Caption = ""

(60)

End Sub

Private Sub Combo2_Click() DataBrg.Recordset.Open

DataBrg.RecordSource = "select*from barang where id_barang like '%" & Combo2.Text & "%'"

DataBrg.Refresh

Label11.Caption = DataBrg.Recordset.Fields(9) DataBrg.Recordset.Close

End Sub

Private Sub Combo2_LostFocus() Combo2.Text = UCase(Combo2.Text) Combo2_Click

End Sub

Private Sub Command1_Click() frmCustomer.Show

End Sub

Private Sub Command3_Click() Combo1.Text = "" Call Kosong Call AutoID Command2.Enabled = False Command3.Enabled = False End Sub

Private Sub Command2_Click() Call Kosong

Command2.Enabled = False Command3.Enabled = False Combo1.SetFocus

End Sub

Private Sub Command5_Click() With DataPnjualan.Recordset .Open .AddNew .Fields(0) = Text1.Text .Fields(1) = Combo1.Text .Fields(2) = Combo2.Text .Fields(3) = lbltgl.Caption If Option1.Value = True Then .Fields(4) = "C"

(61)

Else

.Fields(4) = "R" End If

.Fields(5) = Label11.Caption If Option1.Value = True Then .Fields(6) = 0 .Fields(7) = 0 .Fields(8) = 0 .Fields(9) = "-" Else .Fields(6) = Text5.Text .Fields(7) = Text6.Text .Fields(8) = Text7.Text

If Combo4.Text = "Mingguan" Then .Fields(9) = "M"

ElseIf Combo4.Text = "Bulanan" Then .Fields(9) = "B" Else .Fields(9) = "T" End If End If .Fields(10) = Val(Label16.Caption) .Update .Close End With With DataBrg.Recordset .Open .Update .Fields(7) = Val(.Fields(7)) - 1 .Update .Close End With

MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" Command2.Enabled = True

Command3.Enabled = True End Sub

Private Sub Command6_Click() rptPenjualan.Show

End Sub

Private Sub Command7_Click() If Option2.Value = True Then

If Text5.Text = "" Or Text6.Text = "" Or Text7.Text = "" Or Combo4.Text = "" Then

(62)

MsgBox "Data harus diisi semua", vbCritical, "Error" Option2.Value = False

Option1.SetFocus Else

'assign private datamembers

strUserChoice = Combo4.Text 'payment period (monthly, yearly, quarterly, etc.)

dblPv = Val(Label11.Caption) 'total loan

dblPv = dblPv - Val(Text5.Text) 'total loan minus downpayment dblFv = 0& 'future value of loan = $0.00

dblItotal = 0&: dblPtotal = 0& 'set total interest/principle paid to zero bolPaidOff = False

dblPeriodComplete = 0

'calculate total number of payment periods and assign appropriate Rate If strUserChoice = "Mingguan" Then

dblNper = Val(Text7.Text) * 52&

dblRate = (Val(Text6.Text) / 100&) / 52& End If

If strUserChoice = "Bulanan" Then dblNper = Val(Text7.Text) * 12&

dblRate = (Val(Text6.Text) / 100&) / 12& End If

If strUserChoice = "Tahunan" Then dblNper = Val(Text7.Text)

dblRate = (Val(Text6.Text) / 100&) End If

'calculate payment

curPayment = Pmt(dblRate, dblNper, -dblPv, dblFv, 0)

'Pmt is a VB function which returns the fixed payment for a loan

'based upon the rate(dblRate), number of periods(dblNper), amount of the loan(dblPv),

'future value of loan=0(dblFv), and type(0 indicates payment due at end of period) 'show appropriate term in label

If Combo4.Text = "Mingguan" Then Label15.Caption = "Biaya per minggu: " ElseIf Combo4.Text = "Bulanan" Then Label15.Caption = "Biaya per bulan: " ElseIf Combo4.Text = "Tahunan" Then Label15.Caption = "Biaya per tahun: "

(63)

Else

MsgBox ("Data harus di isi semuanya!!!"), vbCritical, "Ulangi Kembali" End If

Label16.Caption = curPayment

'Create array to contain Periodic interest due

ReDim dblIarray(dblNper - 1, 2) 'to contain the current period, current interest, total interest payment

ReDim dblParray(dblNper - 1, 2) 'to contain current period, current principal payment, total principle payment

dblPeriodComplete = dblNper 'set equal to number of periods calculated above For dblPer = 1 To dblNper

dblPpay = PPmt(dblRate, dblPer, dblNper, -dblPv, dblFv, 0) dblPtotal = dblPtotal + dblPpay + dblAdditionalPrinciple If dblPtotal > dblPv Then 'if loan paid off

If bolPaidOff = False Then

dblPeriodComplete = dblPer 'remember period when loan paid off End If

dblParray(dblPer - 1, 0) = dblPer dblParray(dblPer - 1, 1) = 0 If bolPaidOff = False Then

dblParray(dblPer - 1, 1) = dblPv - dblParray(dblPer - 2, 2) End If dblParray(dblPer - 1, 2) = dblPv bolPaidOff = True Else dblParray(dblPer - 1, 0) = dblPer dblParray(dblPer - 1, 1) = dblPpay dblParray(dblPer - 1, 2) = dblPtotal End If Next dblPer

For dblPer = 1 To dblNper

dblIpay = IPmt(dblRate, dblPer, dblNper, -dblPv, dblFv, 0) dblItotal = dblItotal + dblIpay

If dblPer > dblPeriodComplete Then dblItotal = dblItotal - dblIpay dblIarray(dblPer - 1, 0) = dblPer dblIarray(dblPer - 1, 1) = 0 dblIarray(dblPer - 1, 2) = dblItotal

(64)

Else dblIarray(dblPer - 1, 0) = dblPer dblIarray(dblPer - 1, 1) = dblIpay dblIarray(dblPer - 1, 2) = dblItotal End If Next dblPer 'Label25.Caption = _

' Format$((dblItotal + (Val(Labelharga.Caption)) - Val(Text10.Text)), "currency") 'Command4.Enabled = True End If Else Label16.Caption = Label11.Caption End If 'Command6.Enabled = True End Sub

Private Sub Form_Click() Combo1.Clear

DataCust.RecordSource = "Select id_customer from Customer" DataCust.Recordset.MoveFirst

DataCust.Refresh

If (DataCust.Recordset.RecordCount > 0) Then Do While Not DataCust.Recordset.EOF

Combo1.AddItem DataCust.Recordset!id_Customer DataCust.Recordset.MoveNext

Loop End If End Sub

Private Sub Form_Load() With Me.DataCust

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from customer" .Refresh

End With

With Me.DataBrg

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

(65)

.Refresh End With

DataCust.RecordSource = "Select id_customer from Customer" If (DataCust.Recordset.RecordCount > 0) Then

Do While Not DataCust.Recordset.EOF

Combo1.AddItem DataCust.Recordset!id_Customer DataCust.Recordset.MoveNext

Loop End If

'Set DataCust.Recordset = Nothing

DataBrg.RecordSource = "Select * from barang" If (DataBrg.Recordset.RecordCount > 0) Then Do While Not DataBrg.Recordset.EOF

Combo2.AddItem DataBrg.Recordset!id_barang DataBrg.Recordset.MoveNext Loop End If DataBrg.Recordset.Close Combo4.AddItem "Mingguan" Combo4.AddItem "Bulanan" Combo4.AddItem "Tahunan"

lbltgl.Caption = Format(Now, "dd/mm/yyyy") Call AutoID

Command2.Enabled = False Command3.Enabled = False End Sub

Private Function AutoID() With Me.DataPnjualan

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from penjualan order by id_jual DESC" .Refresh

End With

If DataPnjualan.Recordset.RecordCount = 0 Then Text1.Text = "PO0000"

Else

Dim dataY As String

dataY = DataPnjualan.Recordset.Fields(0)

Text1.Text = "PO" & Format(Right(dataY, 4) + 1, "0000") End If

DataPnjualan.Recordset.Close End Function

(66)

Private Sub Option1_Click() Text5.Enabled = False Text6.Enabled = False Text7.Enabled = False Combo4.Enabled = False Text5.BackColor = &H8000000F Text6.BackColor = &H8000000F Text7.BackColor = &H8000000F Combo4.BackColor = &H8000000F End Sub

Private Sub Option2_Click() Text5.Enabled = True Text6.Enabled = True Text7.Enabled = True Combo4.Enabled = True Text5.BackColor = vbWhite Text6.BackColor = vbWhite Text7.BackColor = vbWhite Combo4.BackColor = vbWhite End Sub

Private Sub Text5_LostFocus()

If Val(Text5.Text) > Val(Label11.Caption) Then

MsgBox "Uang muka tidak bisa lebih besar daripada harga pokok!", vbCritical, App.Title Text5.Text = "" Text5.SetFocus End If End Sub ‘Form About Option Explicit

' Reg Key Security Options...

Const READ_CONTROL = &H20000 Const KEY_QUERY_VALUE = &H1 Const KEY_SET_VALUE = &H2

Const KEY_CREATE_SUB_KEY = &H4 Const KEY_ENUMERATE_SUB_KEYS = &H8 Const KEY_NOTIFY = &H10

Const KEY_CREATE_LINK = &H20

Const KEY_ALL_ACCESS = KEY_QUERY_VALUE + KEY_SET_VALUE + _

KEY_CREATE_SUB_KEY + KEY_ENUMERATE_SUB_KEYS + _

(67)

KEY_NOTIFY + KEY_CREATE_LINK + READ_CONTROL

' Reg Key ROOT Types...

Const HKEY_LOCAL_MACHINE = &H80000002 Const ERROR_SUCCESS = 0

Const REG_SZ = 1 ' Unicode nul terminated string Const REG_DWORD = 4 ' 32-bit number

Const gREGKEYSYSINFOLOC = "SOFTWARE\Microsoft\Shared Tools Location"

Const gREGVALSYSINFOLOC = "MSINFO"

Const gREGKEYSYSINFO = "SOFTWARE\Microsoft\Shared Tools\MSINFO" Const gREGVALSYSINFO = "PATH"

Private Declare Function RegOpenKeyEx Lib "advapi32" Alias

"RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, ByRef phkResult As Long) As Long

Private Declare Function RegQueryValueEx Lib "advapi32" Alias

"RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByRef lpType As Long, ByVal lpData As String, ByRef lpcbData As Long) As Long

Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long

Private Sub cmdSysInfo_Click() Call StartSysInfo

End Sub

Private Sub cmdOK_Click() Unload Me

End Sub

Private Sub Form_Load()

Me.Caption = "About " & App.Title

lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." & App.Revision

lblTitle.Caption = App.Title lblDescription = App.Comments End Sub

Public Sub StartSysInfo() On Error GoTo SysInfoErr

(68)

Dim rc As Long

Dim SysInfoPath As String

' Try To Get System Info Program Path\Name From Registry... If GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFO, gREGVALSYSINFO, SysInfoPath) Then

' Try To Get System Info Program Path Only From Registry...

ElseIf GetKeyValue(HKEY_LOCAL_MACHINE, gREGKEYSYSINFOLOC, gREGVALSYSINFOLOC, SysInfoPath) Then

' Validate Existance Of Known 32 Bit File Version If (Dir(SysInfoPath & "\MSINFO32.EXE") <> "") Then SysInfoPath = SysInfoPath & "\MSINFO32.EXE"

' Error - File Can Not Be Found... Else

GoTo SysInfoErr End If

' Error - Registry Entry Can Not Be Found... Else

GoTo SysInfoErr End If

Call Shell(SysInfoPath, vbNormalFocus)

Exit Sub SysInfoErr:

MsgBox "System Information Is Unavailable At This Time", vbOKOnly End Sub

Public Function GetKeyValue(KeyRoot As Long, KeyName As String, SubKeyRef As String, ByRef KeyVal As String) As Boolean

Dim i As Long ' Loop Counter Dim rc As Long ' Return Code

Dim hKey As Long ' Handle To An Open Registry Key Dim hDepth As Long '

Dim KeyValType As Long ' Data Type Of A Registry Key Dim tmpVal As String ' Tempory Storage For A Registry Key Value

Dim KeyValSize As Long ' Size Of Registry Key Variable '---

' Open RegKey Under KeyRoot {HKEY_LOCAL_MACHINE...} '---

rc = RegOpenKeyEx(KeyRoot, KeyName, 0, KEY_ALL_ACCESS, hKey) ' Open Registry Key

(69)

If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Handle Error...

tmpVal = String$(1024, 0) ' Allocate Variable Space KeyValSize = 1024 ' Mark Variable Size

'--- ' Retrieve Registry Key Value...

'--- rc = RegQueryValueEx(hKey, SubKeyRef, 0, _

KeyValType, tmpVal, KeyValSize) ' Get/Create Key Value

If (rc <> ERROR_SUCCESS) Then GoTo GetKeyError ' Handle Errors

If (Asc(Mid(tmpVal, KeyValSize, 1)) = 0) Then ' Win95 Adds Null Terminated String...

tmpVal = Left(tmpVal, KeyValSize - 1) ' Null Found, Extract From String

Else ' WinNT Does NOT Null Terminate String...

tmpVal = Left(tmpVal, KeyValSize) ' Null Not Found, Extract String Only

End If

'--- ' Determine Key Value Type For Conversion... '---

Select Case KeyValType ' Search Data Types... Case REG_SZ ' String Registry Key Data Type KeyVal = tmpVal ' Copy String Value

Case REG_DWORD ' Double Word Registry Key Data Type

For i = Len(tmpVal) To 1 Step -1 ' Convert Each Bit

KeyVal = KeyVal + Hex(Asc(Mid(tmpVal, i, 1))) ' Build Value Char. By Char.

Next

KeyVal = Format$("&h" + KeyVal) ' Convert Double Word To String

End Select

GetKeyValue = True ' Return Success rc = RegCloseKey(hKey) ' Close Registry Key Exit Function ' Exit

GetKeyError: ' Cleanup After An Error Has Occured...

KeyVal = "" ' Set Return Val To Empty String GetKeyValue = False ' Return Failure

(70)

rc = RegCloseKey(hKey) ' Close Registry Key End Function

‘Form Data Barang

Private Sub Command1_Click()

If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or _ Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or _ Text7.Text = "" Or Combo2.Text = "" Or Combo1.Text = "" Then MsgBox "Data harus diisi semua", vbApplicationModal, "Error!" Text1.SetFocus

End If

With DataBarang.Recordset .AddNew

Select Case Combo1.Text Case "Meja": .Fields(2) = "M"

Case "Meja Belajar": .Fields(2) = "MB" Case "Meja Komputer": .Fields(2) = "MK" Case "Kursi": .Fields(2) = "K"

Case "Kursi Kantor": .Fields(2) = "KK" Case "Sofa": .Fields(2) = "S"

Case "Tempat Tidur": .Fields(2) = "T" Case "Lemari": .Fields(2) = "L" Case "Lemari Baju": .Fields(2) = "LB" End Select .Fields(0) = Text1.Text .Fields(1) = Text2.Text .Fields(3) = Text3.Text .Fields(4) = Text4.Text .Fields(5) = Text5.Text .Fields(6) = Text6.Text .Fields(7) = Text7.Text .Fields(8) = Combo2.Text .Fields(9) = Text8.Text .Update Call RefreshData

MsgBox "Data berhasil disimpan", vbInformation, "Sukses!" Command1.Enabled = False Command2.Enabled = True Command4.SetFocus Exit Sub End With End Sub

Private Sub Command2_Click()

(71)

Text4.Text = "" Or Text5.Text = "" Or Text6.Text = "" Or _ Text7.Text = "" Or Combo2.Text = "" Or Combo1.Text = "" Then MsgBox "Data harus diisi semua", vbApplicationModal, "Error!" Text1.SetFocus

End If

With DataBarang.Recordset .Update

Select Case Combo1.Text Case "Meja": .Fields(2) = "M"

Case "Meja Belajar": .Fields(2) = "MB" Case "Meja Komputer": .Fields(2) = "MK" Case "Kursi": .Fields(2) = "K"

Case "Kursi Kantor": .Fields(2) = "KK" Case "Sofa": .Fields(2) = "S"

Case "Tempat Tidur": .Fields(2) = "T" Case "Lemari": .Fields(2) = "L" Case "Lemari Baju": .Fields(2) = "LB" End Select .Fields(0) = Text1.Text .Fields(1) = Text2.Text .Fields(3) = Text3.Text .Fields(4) = Text4.Text .Fields(5) = Text5.Text .Fields(6) = Text6.Text .Fields(7) = Text7.Text .Fields(8) = Combo2.Text .Fields(9) = Text8.Text .Update Call RefreshData

MsgBox "Data berhasil diupdate", vbInformation, "Sukses!" Exit Sub

End With End Sub

Private Sub Command3_Click() On Error GoTo salah

Dim Konfirmasi, tanya As Integer

tanya = MsgBox("Anda yakin akan menghapusnya?", vbYesNo + vbQuestion, "Konfirmasi")

If tanya = vbYes Then Konfirmasi = 0

With DataBarang.Recordset If .RecordCount <> 0 Then .Delete

(72)

Call RefreshData

If .EOF Then .MovePrevious

If .BOF Then MsgBox "Data form kosong", vbInformation, "data" Else: MsgBox "Data masih kosong"

End If End With End If DataBarang.Refresh Call TampilData Exit Sub salah:

MsgBox "Data tidak dapat dihapus, terjadi kesalahan!!!", vbCritical, "error" End Sub

Private Sub Command4_Click() Command1.Enabled = True Command2.Enabled = False Call Baru Call AutoID Text2.SetFocus End Sub

Public Sub Baru() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Combo1.Text = "" Combo2.Text = "" End Sub

Private Sub DataSupp_Validate(Action As Integer, Save As Integer) End Sub

Private Sub Form_Load() With Me.DataBarang

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

(73)

.Refresh End With

With Me.DataSupp

.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source = " & App.Path & "\dbFBay.mdb"

.CommandType = adCmdText

.RecordSource = "Select * from supplier" .Refresh

End With Call TampilData

Combo1.AddItem "Meja"

Combo1.AddItem "Meja Belajar" Combo1.AddItem "Meja Komputer" Combo1.AddItem "Kursi"

Combo1.AddItem "Kursi Kantor" Combo1.AddItem "Sofa"

Combo1.AddItem "Tempat Tidur" Combo1.AddItem "Lemari" Combo1.AddItem "Lemari Baju"

DataSupp.RecordSource = "Select id_supplier from Supplier" If (DataSupp.Recordset.RecordCount > 0) Then

Do While Not DataSupp.Recordset.EOF

Combo2.AddItem DataSupp.Recordset!id_supplier DataSupp.Recordset.MoveNext

Loop End If

'Set DataSupp.Recordset = Nothing cbKategori.AddItem "ID Barang" cbKategori.AddItem "Nama" cbKategori.AddItem "Jenis" cbKategori.AddItem "ID Supplier" Command1.Enabled = False End Sub

Private Sub txtKata_Click() txtKata.Text = ""

End Sub

Private Sub Form_Click() Call RefreshData

End Sub

Gambar

Diagram  alir  data  adalah  representasi  dari  aliran  data  dalam  sebuah  sistem  informasi
Diagram Sistem Prosedur Penjualan
Diagram Sistem Prosedur Pembelian
Diagram Sistem Prosedur Pembayaran
+7

Referensi

Dokumen terkait

Diagram Konteks Staff Staff Supplier Supplier Manager Manager Pembeli Pembeli Data Pembelian Data Penjualan Data Pembayaran Data Retur Data Jenis Faktur Pembelian Nota

Data Penerimaan Barang Daftar Barang Daftar Pelanggan Transaksi Penerimaan Barang Laporan Penerimaan Barang Data Pesanan Data Pembayaran Transaksi Penjualan Master Supplier

Diagram nol merupakan bentuk diagram kelanjutan dari diagram konteks, dalam diagram ini menggambarkan pengelolaan absensi, gaji dan pecetakan laporan, diagram

B.3 Manager mencetak laporan PO Halaman Admin Gudang : C.1 Admin mengelola transaksi PO C.2 Admin mencetak laporanPO C.3 Admin mencetak laporan PI Halaman supplier :.. D.1

Oleh karena itu sistem informasi administrasi yang dapat mencatat pesanan customer, pemesanan barang pada supplier, pencatatan pembelian, penjualan, retur jual, retur

Diagram nol merupakan bentuk diagram kelanjutan dari diagram konteks, dalam diagram ini menggambarkan pengelolaan absensi, gaji dan pecetakan laporan, diagram

Flowmap usulan Sumber: Data penelitian, 2020 Diagram Konteks Diagram konteks mencakup satu simbol proses yang mewakili seluruh perancangan aplikasi laporan kinerja dengan tiga entitas

x Gambar 3.16 Activity Diagram Menambah data nama Customer……… 26 Gambar 3.17 Activity Diagram Menambah data Supplier ………... 30 Gambar 3.21 Sequence Diagram Cetak laporan Transaksi