Anda di halaman 1dari 135

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah PT Bhumi Indah Jaya merupakan perusahaan yang bergerak dalam bidang pembangunan dan penjualan perumahan. Dalam transaksi penjualan rumah PT Bhumi Indah Jaya melayani penjualan secara kredit maupun tunai kepada customer. Penjualan rumah pada PT Bhumi Indah Jaya baik kredit maupun tunai dilakukan secara langsung dari perusahaan kepada customer tanpa melibatkan pihak ketiga. Namun pada penjualan rumah secara kredit perusahaan belum memiliki sistem informasi yang tepat untuk memenuhi transaksi penjualan rumah secara kredit. Perusahaan memiliki kesulitan dalam mengatur data data angsuran customer maupun laporan jatuh tempo pembayaran kredit rumah. Sehingga sering terjadi kesalahan dalam perhitungan denda angsuran yang berakibat kerugian yang cukup besar bagi perusahaan karena berdampak pada pendapatan perusahaan. Dari permasalah tersebut, untuk mengatasinya maka diusulkan pembuatan aplikasi mengunakan Visual Basic 6.0 dan Microsoft Access guna meningkatkan kelancaran transaksi penjualan rumah baik secara kredit maupun secara tunai, guna meningkatkan pelayanan pada PT Bhumi Indah Jaya.

1.2 Rumusan Masalah Bagaimana mendesain sistem Informasi penjualan perumahan secara tunai dan kredit pada PT Bhumi Indah Jaya yang berbasis komputer sehingga dapat meningkatkan pelayanan? 1.3 Batas masalah Sesuai dengan permasalah diatas, maka tugas akhir ini mencakup sebagai berikut: Pendataan rumah, customer, dan pegawai Pengolahan transaksi penjualan secara kredit dan tunai Kriteria dalam menentukan besaran angsuran perbulan dan denda Pelaporan transaksi penjualan dan pelaporan angsuran

1.4 Tujuan dan manfaat 1.4.1 Tujuan 1.4.1.1 Tujuan Institusional Sebagai syarat akademis program sarjana (S1) pada Sekolah Tinggi Informatika dan Komputer Indonesia (STIKI) Malang. 1.4.1.2 Tujuan Pokok Mendesain suatu sistem untuk membantu proses penjualan rumah secara tunai dan kredit pada PT Bhumi Indah Jaya guna meningkatkan pelayanan pada perusahaan tersebut.

1.4.2

Manfaat 1.4.2.1 Bagi Penulis Bagi Penulis dapat mengetahui sejauh mana komputerisasi dapat membantu proses penjualan perumahan pada PT Bhumi Indah Jaya dan dapat merancang program aplikasi untuk mengatasi permasalahan yang ada. 1.4.2.2 Bagi Instansi Bagi instansi dapat digunakan sebagai bahan perbandingan dalam meningkatkan sistem informasi untuk memudahkan penjualan perumahan dan menghindari kesalahan-kesalahan seminimal mungkin. 1.4.2.3 Bagi ilmu pengetahuan Bagi pihak lain atau pembaca dapat digunakan dalam menambah wacana di bidang ilmu pengetahuan dan teknologi, khususnya pada pembuatan sistem informasi penjualan.

1.5 Metodologi 1.5.1 Study Pustaka(library study) Dengan cara mengumpulkan dan memepelajari literatur-literatur, buku, atau diktat kuliah yang berhubungan dengan masalah yang di hadapi di Instansi.

1.5.2

Pengamatan lapangan (filed observation) Dilakukan guna mendapatkan gambaran sebenarnya tentang keadaan PT Bhumi Indah Jaya, dengan terjun langsung ke lokasi. Dalam penelitian langsung ini dilakukan pengumpulan data, antara lain: 1.5.2.1 Pengamatan Langsung(observasi) Dilakukan pengamatan, pencatatan secara sistematis dengan terjun langsung pada PT Bhumi Indah Jaya. 1.5.2.2 Wawancara(interview) Dilakukan komunikasi langsung dengan orang orang instansi yang berkaitan erat dengan sistem informasi adminitrasi kredit rumah

1.5.3

Study Ujicoba (experimental) Pengujian program, agar sesuai dengan sistem yang diharapkan oleh PT Bhumi Indah Jaya

1.6 Sistematis penulisan Sistematika penyusunan dan penulisan tugas akhri ini membahas tentang pokok-pokok masalah yang meliputi: BAB I PENDAHULUAN Berisi mengenai Latar Belakang Penulisan, Rumusan Masalah, Batasan Masalah, Tujuan Institusional, Tujuan Pokok, Manfaat, Metodologi Penulisan dan Sistematika Penulisan.

BAB II

LANDASAN TEORI Berisi tentang pengertian Sistem, Informasi, Sistem Informasi, Rancang Sistem, Flowchart, IOFC (Information Oriented FlowChart), Context Diagram, DFD (Data Flow Diagram), Entity Relationship Diagram, Database,

Microsoft Visual Basic, Microsot Access dan ActiveX Data Objext (ADO) BAB III LANDASAN TEORI Berisi tentang system yang sudah ada, analisa dan pembahasan masalah sistem informasi akademik dengan menggunakan media Contex Diagram, DFD (Data Flow Diagram), ER-Model, Desain Database dan FlowChart BAB V IMPLEMENTASI PROGRAM Berisi tentang rancangan program, fasilitas menu program, dan desain layout program. BAB V PENUTUP Berisi kesimpulan dan saran.

BAB II LANDASAN TEORI

2.1 Pengertian Sistem


Menurut teori Waljiyanto (2002:5) Sistem adalah kumpulan elemenelemen yang saling berkaitan dan bertanggung jawab untuk memproses masukan / input sehingga menghasilkan suatu keluaran / output Dari teori tersebut dapat disimpulkan bahwa sistem adalah bagian-bagian yang saling mempengaruhi dan bekerja sama untuk mencapai tujuan tertentu, dengan kata lain suatu sistem bukan terdiri atas sekumpulan unsur secara acak, namun merupakan sekumpulan unsur yang saling berkaitan satu sama lain karena mempunyai tujuan yang sama. Dari definisi diatas maka dapat diketahui manfaat sistem yaitu untuk menyatukan atau menginteraksikan semua unsur yang ada dalam suatu lingkup, sehingga setiap informasi yang ada akan dapat dimanfaatkan oleh banyak pihak yang ada dalam lingkup tersebut dan pengintegrasian itu akan mempermudah pencapaian tujuan yang diinginkan.

2.2 Pengertian Informasi


Informasi dapat didefinisikan sebagai hasil dari pengolahan data dalam bentuk yang lebih berguna dan lebih berarti bagi penerimanya yang menggambarkan suatu kejadian yang nyata yang digunakan untuk mengambil keputusan. Jogiyanto H. M. (2003:384)

Berdasarkan definisi diatas maka informasi dapat diartikan sebagai data yang dikelola agar memiliki nilai guna bagi pihak yang memerlukan.

2.3 Pengertian Sistem Informasi


Menurut Fathansyah (2001, 24). Sistem informasi adalah kegiatan dari prosedur-prosedur yang diorganisasikan, apabila dieksekusi akan menyediakan informasi-informasi untuk mendukung pengambilan keputusan dan pengendalian didalam organisasi. Manfaat adanya sistem informasi yaitu: a. b. c. Menyajikan informasi guna mendukung pengambilan keputusan Menyajikan informasi guna mendukung operasi harian Menyajikan Informasi yang berkenaan dengan kepengurusan

2.4 Pengertian perancangan Sistem


Perancangan Sistem adalah tahapan atau langkah-langkah didalam membangun sebuah sistem, adapun tahapan atau langkah-langkat dalam rancang system tersebut antara lain: a. Perencanaan (Plainning) Membuat perencanaan yang berkaitan dengan proyek sistem informasi misalnya alokasi waktu dan sumber daya, jadwal proyek, dan cakupan (scope) proyek. b. Analisa (Analysis) Membuat analisa workflow manajemen yang sedang berjalan. c. Desain (Design) Membuat desain workflow manajemen dan desain pemrograman yang di perlukan untuk pengembangan sistem informasi.

d. Pengembangan (Development) Tahap pengembangan sistem informasi dengan menulis program-program yang diperlukan atau merealisasikan apa yang telah dilakukan pada tahap Desain. e. Uji Coba (Testing) Melakukan pengujian terhadap sistem informasi yang telah direalisasikan. f. Implementasi (Implementation) Menerapkan sistem informasi yang telah dibuat untuk digunakan user. g. Pengoperasian dan Pemeliharaan (Operasions and Maintenance) Kegiatan untuk mendukung beroperasinya sistem informasi.

2.5 Bagan Alir (FlowChart)


Bagan alir (flowchart) adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau procedure sistem secara logika. Bagan alir digunakan terutama untuk alat Bantu komunikasi dan untuk dokumentasi. Bagan alir sistem menunjukan simbol-simbol yang tampak sebagai berikut. Tabel 2.1 Simbol Bagan Alir Sistem. Nama Simbol Keterangan Menunjukkan dokumen input dan Dokument output baik untuk proses manual, mekanik atau computer Menunjukkan kegiatan yang Kegiatan Manual dikerjakan secara manual

Menunjukkan kegiatan proses dari Proses operasi computer

Menunjukkan penghubung ke Penghubung halaman yang masih sama atau lain

Masukan (Input)

Menunjukkan input data

Menunjukkan file non-komputer Simpana Off-Line yang diarsipkan secara urut.

Garis Alir

Menunjukkan arus dari proses

Digunakan untuk penyelesaian Pengujian (Decisio) kondisi

Tampilan (Display)

Tampilan Output ke Komputer

Menunjukkan file komputer yang Magnetic Disc diarsipkan secara urut.

10

2.6 IOFC (Information Oriented FlowChart)


Information Oriented FlowChart adalah bentuk sistem Flow Chart klasik yang menyatakan aliran informasi mulai dari sumber data sampai dengan akhir sebuah sistem, sehingga sistem tersebut dapat mudah dipahami. IOFC ini menggunakan symbol-simbol yang sama dengan yang digunakan didalam bagan alir (Flowchart).

2.7 Diagram Arus Data (Data Flow Diagram)


Context Diagram dapat diartikan sebagai Data Flow Diagram Level 0. Context Diagram merupakan model yang digunakan untuk menjawab sejumlah pertanyaan yang muncul dalam pembuatan statement of purpose (deskripsi tekstual fungsi sistem) yang direpresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. Diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem dikenal dengan nama diagram arus data (Data Flow Diagram atau DFD). DFD digunakan untuk menggambarkan suatu sistem yang telah ada atau baru yang akan dikembangkan secara logika tanpa mempertimbangakan lingkungan fisik dimana data tersebut mengalir (misalnya lewat telpon, surat dan sebagainya) atau lingkungan fisik dimana data tersebut akan disimpan (misalnya file kartu, microfiche, hard disk, tape, diskette dan lain sebagainya)

11

Tabel 2.2 Simbol Diagram Arus Data. GAMBAR KETERANGAN Kesatuan Luar (external entity) atau batas sistem (boundary) Arus Data (data flow)

Proses (process)

Simpanan Data (data store)

Pemisahan atau Penggabungan Arus Data (Split/Merge)

Terdapat 2 bentuk DAD (Diagram arus data), yaitu diagram arus data fisik (physical data flow diagram) dan diagram arus data logika (logical data flow diagram). Diagram arus data fisik lebih menekankan pada bagaimana proses dari sistem diterapkan sedang diagram arus data logika lebih menekankan prosesproses apa yang terdapat disistem. a. Diagram Arus Data Fisik Digunakan untuk menggambarka system yang ada (system yang lama). Penekanan dari diagram arus data fisik adalah bagaimana proses-proses dari system diterapkan (dengan cara apa, oleh siapa dan dimana), termasuk proses-proses manual.

12

b. Diagram Arus Data Logika Digunakan untuk menggambarkan system yang akan diusulkan (system yang baru). Diagram arus data logika tidak menekankan pada bagaimana system diterapkan, tetapi penekanannya hanya pada logika dari kebutuhankebutuhan system, yaitu proses-proses apa secara logika yang dibutuhkan oleh system.

2.8 ERD (Entity Relationship Diagram)


Entity Relationship Diagram (ER-D) menurut Roger S. Pressman, Ph.D, Rekayasa Perangkat Lunak Pendekatan Praktisi, (Buku-1, Penerbit Andi Yogyakarta, 2002) adalah Entity relationship Diagram (ER-D) adalah notasi yang digunakan untuk melakukan aktivitas pemodelan data. Menurut Widodo Budiharto, S. Si dengan bukunya Aplikasi Database dengan SQL Server 2000 & Visual Basic 6.0 (2002:4) menyatakan Entity Relationship Diagram ialah sebuah pemodelan untuk mendesain database yang baik. Jadi dapat disimpulkan bahwa Entity Relationship Diagram digunakan untuk memodelkan struktur data dan hubungan antar data, karena hal ini relatif kompleks. Dengan Entity Relationship Diagram kita dapat menguji model dengan mengabaikan proses yang harus dilakukan. Entity Relationship Diagram menggunakan sejumlah notasi dan simbol untuk menggambarkan struktur dan hubungan antar data. Pada dasarnya ada tiga macam simbol yang digunakan, yaitu :

13

a. Entity Entity adalah suatu obyek yang dapat diidentifikasi dalam lingkungan pemakai, merupakan sesuatu yang penting bagi pemakai dalam konteks sistem yang akan dibuat. Entity digambarkan menggunakan persegi empat. b. Atribut Atribut adalah merupakan data elemen (data item), data field yang menggambarkan suatu entity. Atribut dibagi menjadi dua yaitu : 1) Simple Atribut, misal NRP Mahasiswa 2) Komposite Atribut, misal Nama Mahasiswa

Gambar 2.1 Entity dan Atribut

c. Hubungan (Relationship) Entity dapat berhubungan satu sama lain, hubungan ini dinamakan relationship (relasi). Hubungan (relationship) tersebut terbentuk dengan menggunakan kunci data yang bersifat unik. Dalam hubungan antar tabel dikenal ada dua kunci data penghubung yaitu :

14

1) Kunci Utama (Key Field) Satu atribut atau field atau satu set atribut yang mengidentifikasi secara unik suatu kejadian yang spesifik pada entity. 2) Kunci Tamu (Foreign Key) Satu atribut atau satu set atribut yang melengkapi suatu hubungan yang menunjukkan ke entity induknya. Foreign Key berada pada entity anak. Dalam Entity Relationship Diagram, hubungan (relationship) dapat terdiri dari sejumlah entity yang disebut sebagai derajat hubungan. Ada tiga jenis hubungan antar entity yaitu : a) One to One Relationship (1:1) Menggambarkan hubungan satu ke satu, yaitu satu record pada entity pertama berhubungan dengan satu record pada entity kedua atau sebaliknya.

Gambar 2.2 One to One Relationship b) One to Many Relationship (1:M) Menggambarkan hubungan satu ke banyak, yaitu satu record pada entity pertama berhubungan dengan banyak record pada entity kedua atau sebaliknya.

15

Gambar 2.3 One to Many Relationship

c) Many to Many Relationship (M:N) Menggambarkan hubungan banyak ke banyak, yaitu lebih dari satu record pada entity pertama berhubungan dengan lebih dari satu record pada entity kedua atau sebaliknya.

Gambar 2.4 Many to Many Relationship Konsekwensi dari penggunaan hubungan Many to Many antar tabel adalah dibutuhkan suatu associative entity atau entity perantara yang berisi atribut atau field kunci dari masing-masing entity.

Gambar 2.5 Many to Many Relationship dengan Entity perantara

2.9 Database
Database adalah sekumpulan data yang terdiri atas satu atau lebih table yang saling berhubungan. Database berfungsi menampung beberapa table atau query yang digunakan sebagai sumber pengolahan data.

16

2.9.1

Desain Database Dalam membuat desain database terdapat hal-hal yang perlu diperhatikan,

yaitu antara lain: a. Komponen Database Komponen-komponen yang terdapat pada sebuah database antara lain sebagai berikut: 1) Table Tabel digunakan untuk menyimpan data yang telah diolah dan mempunyai suatu tema tertentu. 2) Record Record merupakan data lengkap dalam jumlah tunggal yang tersimpan dalam bentuk baris horisontal pada table. Satu table bisa berisi beberapa record sekaligus. 3) Field Tempat dimana data atau informasi dalam kelompok sejenis dimasukkan dan di inputkan. 4) Domain : Kumpulan nilai dari field atau item data. 5) Key Field Field yang menjadi kunci yang unik untuk menghindari duplikasi data pada suatu table

17

6) Foreign Key Filed yang menjadi kunci penghubung antara table yang berbeda pada suatu database.

Gambar 2.6 Komponen Database b. Struktur Database Struktur database berisi uraian dalam field-field yang ada pada record data. Uraian tersebut adalah sebagai berikut : a) Nama Field b) Type Data : Menerangkan nama atau identifikasi dari field data. : Menerangkan tentang jenis field datanya.

c) Ukuran Data : Menerangkan tentang panjang karakter setiap field data. d) Keterangan c. Normalisasi Suatu field yang terdiri dari beberapa grup elemen yang berulang-ulang perlu diorganisasikan kembali. Proses untuk mengorganisasikan file untuk menghilangkan grup elemen yang berulang-ulang ini disebut dengan normalisasi(narmalization). 2.9.2 Sistem Database Bagian yang harus dipertimbangkan dalam sebuah informasi adalah bagaimana informasi tersebut aman (tidak hilang). Salah satu jalan untuk : Memberikan Penjelasan dari Nama Field.

18

menyimpan informasi tersebut dikomputer adalah dengan menyimpannya secara permanen dalam sistem file. Sebagai contoh adalah sebuah organisasi pendidikan perguruan tinggi. Organisasi tersebut harus menyimpan semua data tentang mahasiswa berikut juga data tentang mata kuliah yang diambil berserta nilai yang diperoleh. Agar user dapat memanipulasi informasi, sistem harus mempunyai program aplikasi yang dapat memanipulasi file, yang meliputi : 1) Program untuk menambah mahasiswa. 2) Program untuk mengentrikan nilai. 3) Program untuk pengambilan mata kuliah. Beberapa hal pokok yang harus dihindari dalam sistem database yaitu : a. Redudansi dan ketidak konsistenan data, dalam hal ini penyimpanan atau penginformasian yang disimpan dalam suatu database tidak boleh berulang-ulang untuk satu data yang sifatnya sama yang mengakibatkan ketidak konsistenan data. b. Data yang terisolasi, adalah penyimpanan file dengan format yang berbeda sehingga hal ini akan mengakibatkan sulitnya untuk membuat aplikasi baru yang akan memberikan data sebagaimana aslinya. c. Masalah integritas data, yaitu data harus disesuaikan dengan tipe kebutuhan. d. Masalah pengaksesan data secara bersamaan, yaitu sistem database harus mampu menangani permasalahan jika ada beberapa user sekaligus yang mengakses data yang sama pada saat yang bersamaan. e. Masalah keamanan, dapat berupa hak akses pada user.

19

Sistem database meliputi : a. Data, yaitu data yang tersimpan didalamnya. b. Hardware, perangkat keras yang meliputi monitor, keyboard, mouse, CPU dan printer sebagai perangkat tambahan. c. Software, perangkat lunak (biasanya disebut sebagai DBMS) yang berfungsi mengatur proses penyimpanan dan pencarian. d. Brainware, orang (user) yang berhubungan langsung dengan komputer, misalnya operator. 2.9.3 Keuntungan Sistem Database

1) Redudancy (duplikasi data) dapat dikurangi. Pada sistem non database conventional masing-masing aplikasi yang berbeda mempertahankan filenya masing-masing sehingga seringkali timbul redudancy dalam sistem database. Redudancy ini dapat dikurangi dengan cara menyatukan file-file yang ada. 2) Inconsistency dapat dihindari. Dengan mengurangi redudancy maka inconsistency dapat dihindari atau dikurangi. 3) Shared data (data dapat dipakai bersama). Sharing adalah salah satu keuntungan yang paling penting dari sistem database dimana aplikasi-aplikasi yang ada dapat menunjuk data yang sama dan aplikasi-aplikasi yang baru dapat menunjuk data yang sudah ada.

20

4) Standarisasi dapat dijalankan. Sentralisasi kontrol (pengendalian terpusat) membuat sistem database memungkinkan untuk menyelenggarakan suatu standarisasi. Standar ini cukup penting dalam jaringan komputer terpusat dimana terjadi perpindahan data antar sistem. 5) Batasan keamanan dapat diterapkan. Sistem database harus dirancang untuk dapat melindungi data karena data menjadi lebih riskan bila dikumpulkan dilokasi yang terpusat daripada diletakkan tersebar secara fisik pada file-file yang berbeda di banyak lokasi. Dalam hal ini batasan keamanan dapat diterapkan. 6) Integritas dapat dipertahankan. Integritas/keterpaduan data dapat dikendalikan dengan lebih baik dari suatu lingkungan database karena dapat dipakai secara bersama-sama. 2.9.4 Model-Model Database Model database menyatakan hubungan antara rekaman yang tersimpan dalam database. Pada bukunya yang berjudul Basis Data, Abdul Kadir mendefinisikan bahwa model dasar database yang paling umum dapat dibedakan menjadi tiga macam, antara lain : 1) Hierarchical Database Model hirarkis biasa disebut dengan model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua-anak dimana setiap simpul (biasanya dinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan.

21

Simpul yang terhubung pada level dibawahnya disebut orang tua dimana setiap orang tua bisa memiliki satu (hubungan 1:1) atau beberapa anak (hubungan 1:M), tetapi setiap anak hanya memiliki satu orang tua. Simpul-simpul yang dibawahi oleh simpul orang tua disebut simpul anak. Simpul orang tua yang tidak memiliki simpul anak disebut daun. Hubungan simpul orang tua dan simpul anak disebut cabang. 2) Network Database Model ini menyerupai model hirarkis, dengan perbedaan satu simpul anak yang bisa memiliki lebih dari satu simpul orang tua. Oleh karena sifatnya yang demikian, maka model ini bisa menyatakan hubungan 1:1 (satu simpul orang tua mempunyai satuas simpul anak), hubungan 1:M (satu simpul orang tua mempunyai banyak simpul anak) maupun hubungan M:N (beberapa simpul anak bisa mempunyai beberapa simpul orang tua). 3) Relational Database Model ini menggunakan sekumpulan table dimensi 2 (yang disebut relasi atau tabel) dengan masing-masing relasi tersusun atas tuple atau baris dan atribut. Relasi ini dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran dan menggunakan kunci tamu untuk berhubungan dengan relasi lain. Beberapa keuntungan dari model ini adalah : Representasi secara tabularis yang digunakan mudah untuk

diimplementasikan dan dipahami dalam sistem database secara fisik.

22

Relatif mudah untuk mengubah jenis lain kedalam bentuk relational sehingga bentuk relational dipandang sebagai satu bentuk representasi universal/umum.

Operasi join mudah diterapkan untuk membentuk relasi baru. Pengendalian kontrol dapat diimplementasikan dalam hak akses. Pencarian dapat dilakukan dengan cepat berdasarkan kunci utamanya (keyfield).

Dalam suatu lingkungan dimana dibutuhkan adanya suatu fleksibilitas maka struktur relational dapat digunakan karena lebih mudah dimodifikasi dibandingkan struktur lain.

2.10 Visual Basic


Visual Basic adalah bahasa pemrograman yang berbeda dengan bahasa program basic konvensional yang telah kita kenal umumnya. Melalui Visual Basic dapat dibentuk output dengan sekumpulan objek yang telah disediakan sebagai fasilitas tool, sehingga seorang programmer tidak lagi menuliskan instruksi program dalam kode-kode baris yang rumit untuk membuat tampilan grafis tetapi cukup dengan melakukan drag dan drop pada objek-objek tersebut. Visual Basic merupakan bahasa pemrograman tercepat dan termudah untuk membuat suatu aplikasi atau RAD (Rapid Application Development) dalam Microsoft Windows. Dengan menggunakan metode GUI (Graphical User Interface), Visual Basic memudahkan programmer untuk berinteraksi langsung dengan elemen-elemen untuk setiap bentuk pemrograman.

23

Sebuah project di Visual Basic dapat terdiri sampai 32.000 "penanda" (kata kunci "non-reserved") termasuk di dalamnya, tetapi tidak terbatas untuk jumlah form, control, module, variabel, konstanta, prosedur, fungsi, dan objek. Jumlah penanda ini pada kenyataannya tergantung pada jumlah memori yang tersedia. Nama variabel di Visual Basic tidak boleh lebih panjang dari 255 karakter, dan nama untuk form, control, module, dan class tidak boleh lebih panjang dari 40 karakter. Visual Basic tidak membatasi terhadap jumlah objek yang benar-benar digunakan dalam suatu project. Pengoperasian Visual Basic 6.0

Gambar 2.7 IDE Visual Basic 6.0 dengan jendela-jendela yang terbuka.

24

Keterangan : Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat. Jendela Project, jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi anda. Anda dapat menggunakan icon Toggle Folders untuk menampilkan modul-modul dalam jendela tersebut secara di group atau berurut berdasarkan nama. Anda dapat menggunakan Ctrl+R untuk menampilkan jendela project, ataupun menggunakan icon Project Explorer. Jendela Form Designer, jendela ini merupakan tempat anda untuk merancang user interface dari aplikasi anda. Jadi jendela ini menyerupai kanvas bagi seorang pelukis. Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan user interface.

Gambar 2.8 General Windows Toolbox Control.

25

Adapun secara garis besar fungsi dari masing-masing kontrol tersebut adalah sebagai berikut : 1) Pointer bukan merupakan suatu kontrol, tapi merupakan tombol indikasi saat berada pada form. 2) PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan format BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF (metafile), EMF (enchanced metafile), GIF dan JPEG. 3) Label adalah kontrol yang digunakan untuk menampilkan teks pada form. 4) TextBox adalah kontrol input yang bertipe string, dapat berupa satu baris tunggal ataupun banyak baris. 5) Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya. 6) CommandButton merupakan kontrol yang ditemukan hampir pada setiap form dan digunakan untuk membangkitkan event proses tertentu ketika tombol ditekan. 7) CheckBox digunakan untuk pilihan yang isinya bernilai yes/no atau true/false. 8) OptionButton sering digunakan lebih dari satu sebagai pilihan terhadap beberapa option yang hanya dapat dipilih satu. 9) ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu item (bergantung pada property MultiSelect).

26

10) ComboBox merupakan kombinasi dari TextBox dan suatu ListBox dimana pemasukan data dapat dilakukan dengan mengetikkan maupun pemilihan. 11) HScrollBar dan VScrollBar digunakan untuk membentuk scroll bar yang beriri sendiri. 12) Timer digunakan untuk proses background yang diaktifkan berdasarkan interval waktu tertentu. Timer merupakan kontrol waktu non-visual. 13) DriveListBox, DirListBox dan FileListBox sering digunakan untuk membentuk dialog box yang berkaitan dengan file. 14) Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi, lingkaran, oval dan lain-lain. 15) Image berfungsi menyerupai ImageBox, tetapi tidak dapat digunakan sebagai kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui bahwa kontrol image menggunakan resource yang lebih kecil dibandingkan dengan PictureBox. 16) Data digunakan untuk data binding, menghubungkan objek dengan suatu database. 17) OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft Exel, Word, dan lain-lain. 18) Selain komponen-komponen objek yang terdapat pada ToolBox standart siap pakai, juga banyak lagi komponen-komponen yang bisa ditambahkan.

27

Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda dapat menampilkan jendela ini dengan menggunakan kombinasi Shift-F7.

Jendela Properties, merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latarbelakang (background). Anda dapat menggunakan F4 untuk menampilkan jendela properti.

Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object.

Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime.

2.11 Microsoft Access Microsoft Access merupakan salah satu program aplikasi basis data (database) yang paling popular dan paling banyak digunakan oleh para pengguna aplikasi database baik pemula maupun professional. Dengan menggunakan Microsoft Access kita dapat merancang, membuat dan mengolah database dengan mudah. Microsoft Access, bukan server edition karena termasuk ke dalam software database yang kecil namun mempunyai kemampuan yang mencakupi untuk penyimpanan dan pengolahan data.

28

Gambar 2.9 Microsoft Access 2003

Database pada Microsoft Access dapat terdiri dari atas satu atau beberapa table, query, form ,report, page, macro dan modul yang semuanya dapat saling berhubungan atau saling terkait. i. Table, merupakan kumpulan data yang menjadi komponen utama dari sebuah database. Table adalah tempat untuk menyimpan data pada database Microsoft Access. Data-data akan disimpan ke dalam table dan data tidak akan berubah apabila tidak diolah atau dirubah. Table mengorganisasikan data ke dalam bentuk kolom-kolom (dinamakan field) dan baris-baris (dinamakan record).

29

ii.

Query, di gukanan untuk mencari dan menampilkan data yang memenuhi syarat tertentu dari satu table atau lebih. Query dapat juga digunakan untuk meng-update atau menghapus beberapa record data pada satu saat yang sama. Selain itu query dapat juga digunakan untuk menjalankan perhitungan terhadap sekelompok data.

iii.

Form, adalah interface atau penghubung antara Microsoft Access dengan penggunanya. Tujuan dari form ini adalah agar orang yang mengolah data tidak perlu masuk ke dalam database Microsoft Access, tapi cukup dari form yang dibuat. Hal ini dimaksudkan untuk memperindah tampilan, mempermudah database processing dan untuk menjaga keamanan data yang tersimpan dari kesalahan pengolahan.

iv.

Report, digunakan untuk menampilkan laporan hasil pengolahan analisa data. Informasi hasil pengolahan data lewat query yang dijalankan dlam form bias ditampilkan sebaik mungkin dan informasinya lebih mudah untuk dipahami orang lain.

v.

Pages, digunakan untuk membuat halaman web (page) berupa data access page yang dapat ditempatkan di server jaringan internet atau internet.

vi.

Macros,

untuk

mengotomatisasikan

perintah-perintah

yang

sering

digunakan. vii. Modul, tempat membuat procedure atau function global yang berfungsi di dalam penggunaan kondisi aplikasi program.

30

2.12 ADO (ActiveX Data Object) ADO adalah antarmuka level aplikasi ke OLE DB, yaitu sebuah library dari antarmuka COM yang memungkinkan untuk mengakses secara umum ke datasource-datasource yang berbeda. Karena ADO dibangun pada bagian teratas dari OLE DB, hal ini menguntungkan dari segi kekayaan infrastruktur pengaksesan data yang OLE DB sediakan yang masih mengatasi dan membantu para pembangun aplikasi dari keperluan pemrograman antarmuka COM. Pembangun-pembangun aplikasi dapat menggunakan ADO untuk tujuan umum dalam aplikasi-aplikasi bisnis (Accounting, Sumber Daya Manusia, dan Pengelolaan Pelanggan), dan OLE DB untuk tool, utilitas, atau pembangunan pada level sistem (pembangunan tools dan utilitas database). Untuk menggunakan objek ADO pada bahasa pemrograman Visual Basic, terlebih dahulu harus mengaktifkannya dengan menambahkan referensi komponen ADO pada aplikasi Visual Basic. Berikut ini tampilan untuk mengaktifkan ADO pada refereces yang diaktifkan pada project menu toolbar.

31

Gambar 2.10 Tampilan Visual Basic untuk mengaktifkan ADO 2.13 Pengertian Pemasaran Pemasaran dan produksi merupakan fungsi pokok bagi perusahaan. Semua perusahaan berusaha memproduksi dan memasarkan produk atau jasa untuk memenuhi kebutuhan konsumen Pada saat ini kegiatan pemasaran mempunyai peranan yang sangat penting dalam dunia usaha. Kadang kadang istilah pemasaran ini diartikan sama dengan beberapa istilah seperti: penjualan, perdagangan dan distribusi. Kesalahan pengertian akan pemasaran ini timbul karena pihak pihak yang bersangkutan mempunyai kegiatan dan kepentingan yang berbeda beda. Misalnya seorang salesman atau manajer penjualan membicarakan pemasaran, sebenarnya masalah

32

yang dibicarakan adalah penjualan, contoh lain adalah seorang manajer toko serba ada mengartikannya sebagai perdagangan Keyataannya, pemasaran merupakan konsep yang menyeluruh, sedangkan istilah yang lain tersebut hanyalah merupakan satu bagian, satu kegiatan dalam sistem pemasaran secara keseluruhan. Jadi pemasaran merupakan keseluruhan dari pengertian tentang : Penjualan Perdagangan Distribusi

Gambaran tentang pemasaran secara luas dapat diketahui dari definisi yang dikemukakan oelh William J. Stanton berikut ini: Pemasaran adalah sistem keseluruhan dari kegiatan usadah yang ditunjukan untuk merencanakan, menentukan harga, mempromosikan dan

mendistribusika barang dan jasa yang dapat memuaskan kebutuhan kepada pembeli yang ada maupun pembeli potensial. Dari definisi tersebut dapat diketahui bahwa sebenarnya proses pemasaran itu terjadi atau dimulai jauh sejak sebelum barang barang diproduksi. Keputusan keputusan dalam pemasaran harus dibuat untuk menentukan produk dan pasarnya, harganya dan promosinya. Kegiatan pemasaran tidak bermula pada saat selesainya proses produksi, juga tidak berakhri [ada saat penjualan dilakukan. Perusahaan harus dapat memberikan kepuasan pada konsumen juka

mengharapkan usahanya dapat berjalan terus, atau konsumen mempunyai

33

pandangan yang baik tehadap perusahaan. Jadi jaminan yang baik atas barang dan jasa dapat dilakukan sesudah penjualan. 2.14 Pengertian Penjualan 2.14.1 Penjualan Secara Tunai Menurut Kamus Lengkap Bahasa Indonesia (2006 : 457) Laporan adalah segala sesuatu yang disampaikan, segala sesuatu yang diadukan, segala sesuatu yang dilaporkan. Laporan adalah penyampaian data data atau informasi informasi kepada pihak pihak tertentu untuk suatu tujuan tertentu. Ciri ciri laporan yang baik : 1. Tidak pernah terlambat atau selalu tepat waktu. 2. Tingkat akurasi tinggi. 3. Laporan yang dibuat dapat digunakan untuk mengambil suatu kebijakan. 4. Dapat diambil sebagai dasar perkembangan selanjutnya. 2.14.2 Penjualan Secara Kredit Menurut moh. Tjoekam (1999:1), kata kredit berasal dari bahasa latin yaitu credere yang berarti percaya atau to belive atau to trust. Sedangkan menurut Thomas suyatno (1993:12), istilah kredit berasal dari bahasa yunani yaitu credere juga yang berarti kepercayaan. Terdapat banyak istilah kredit, secara universal menurut undang undang perbankan Indonesia yaitu: penyediaan uang atau tagihan tagihan yang dapat dipersamakan dengan itu berdasarkan persetujuan pinjam meminjam antara bank dengan pihak lainnya dalam hal mana pihak peminjam

34

berkewajiban melunasi utangnya setelah jangka waktu tertentu dengan jumlah bunga yang telah ditetapkan (undang undang perbankan no. 14/1967) penyedia uang atau tagihan yang dapat dipersamakan dengan itu berdasarkan persetujuan atau kesepakatan pinjam meminjam antara bank dengan pihak lainnya yang mewajibkan pihak peminjam untuk melunasi utangnya setelah jangka waktu tertentu dengan jumlah bunga, imbalan atau pembagian hasil keuntungan (undang undang perbankan no. 7/1992) Selain itu bila dikaitkan dengan kegiatan usaha, kredit berarti suatu kegiatan memberikan nilai ekonomis kepada seseorang atau badan usaha berandaskan kepercayaan saat itu, bahwa nilai ekonomi yang sama akan dikembalikan kepada kreditur setelah jangka waktu tertentu sesuai dengan kesepakatan yang sudah disetujui antara kreditur dan debitur. Oleh karena itu, dasar pemikiran persetujuan pemberian kredit oleh suatu lembaga keuangan atau bank kepada seseorang atau badan usaha berlandaskan kepercayaan. Seseorang, badan usaha atau lembaga keuangan yang memberikan kredit percaya bahwa penerima kredit dimasa mendatang akan sanggup memenuhi segala sesuatu yang telah dijanjikan baik berupa barang ataupun jasa. Adapun unsur unsure yang terkandung dalam pemberian suatu fasilitas kredit adalah sebagai berikut: Kepercayaan yang merupakan suatu keyakinan pemberi kredit bahwa kredit yang diberikannya baik dalam bentuk uang, barang

35

atau jasa akan benar benar diterimanya kembali dalam jangka waktu tertentu dimasa yang akan dating. Waktu yang menyatakan bahwa ada jarak antara saat persetujuan pemberian kredit dan pelunasannya Kesepakatan yang menyatakan bahwa antara kreditur dan debitur terdapat suatu persetujuan dan dibuktikan dengan adanya surat perjanjian dimana masing masing pihak menandatangani dan kewajibannya masing - masing 2.15 Gambaran Umum Perusahaan 2.15.1 Gambaran dan Lokasi Perusahaan PT Bhumi Indah Jaya merupakan perusahaan pengembang perumahan yang juga meyalayani penjualan perumahan. Semua kegiatan perusahaan seperti penjualan, maupun lainnya secara langsung ditangani staf yang memiliki pengalaman pada bidangnya masing masing. Kantor pemasarannya terletak pada jl. Barito III no 65 nganjuk, telepon (0358) 326583. Sedangkan letak perumahanya tersebar di Kediri, ngajuk dan blitar. 2.15.2 Struktur Organisasi PT Bhumi Indah Jaya dikelola oleh seorang direktur yang membawahi beberapa departemen. Berikut ini bertanggung jawab terhadap semua kegiatan perusahaan. Setiap bagian dipimpin oleh seorang manajer, adapun bagian bagian tersebut antara lain; tehnik, pemasaran dan adminitrasi keuangan.

36

DIREKTUR

MANAJER TEHNIK

MANAJER PEMASARAN

MANAJER KEUANGAN

STAF TEHNIK

STAFF PEMASARAN

STAFF ADMINITRASI KEUANGAN

KARYAWAN

Gambar 2.11 Struktur Organisasi 2.15.2.1 Direktur

Fungsi : Mengelola dan menguasai kinerja perusahaan sehingga dalam pelaksanaannya tidak mengalami hambatan hambatan dari segi teknis logistic keuangan dan adminitrasi serta faktor lingkungan. Tugas khusus: Mengkoordinir dan mengawasi langsung maupun tidak langsung seluruh kegiatan atau fungsi dari pada proyek yang meliputi logistic keuangan, perencanaan, dan pengendalian serta operasi Menetapkan jadwal waktu perencanaan dan jadwal waktu pelaksanaan anggaran yang akan dipakai sebagai pedoman pelaksana.

37

Meneliti dan mengesahkan kemajuan pekerjaan yang ada dalam priyek sesuai dengan gambar, spesifikasi dan jadwal waktu pelaksanaan anggaran. Menetapkan langkah langkah yang perlu diambil setiap terjadinya penyimpangang, pelaksanaan dan jadwal, rencana anggaran yang telah ditetapkan. 2.15.2.2 Manajer Pemasaran

Melaksakan kegiatan pemasaran serta memelihara hubunngan baik kemitraan dengan pelangan dan calon pelanggan. Menyusun rencana atau target penjualan Menangani keluhan pelanggan dan penyelesaian sampai tuntas Pembinaan pelanggan khususnya pelanggan besar Evaluasi kegiatan pemasaran Melakukan segala macam kegiatan yang menyangkut pemasaran 2.15.2.3 Manajer Keuangan

Perencanaan Keuangan Membuat rencana pemasukan dan pengeluaraan serta kegiatan-kegiatan lainnya untuk periode tertentu. Penganggaran Keuangan Tindak lanjut dari perencanaan keuangan dengan membuat detail pengeluaran dan pemasukan.

38

Pengelolaan Keuangan Menggunakan dana perusahaan untuk memaksimalkan dana yang ada dengan berbagai cara. . Pencarian Keuangan Mencari dan mengeksploitasi sumber dana yang ada untuk operasional kegiatan perusahaan. Penyimpanan Keuangan Mengumpulkan dana perusahaan serta menyimpan dana tersebut dengan aman. Pengendalian Keuangan Melakukan evaluasi serta perbaikan atas keuangan dan sistem keuangan Pemeriksaan Keuangan Melakukan audit internal atas keuangan perusahaan yang ada agar tidak terjadi penyimpangan 2.15.2.4 Manajer Tehnik

Bertanggung jawab pada proses produksi Mengadakan penelitian baik kinerja karyawan atau proyek pembangunan perusahaan Mengembangkan perusahaan agar menjadi lebih baik dengan program yang mereka susun Mengawasi dan mentraining karyawan

39

2.15.3 Sistem Manual Penjual Rumah Sistem informasi yang sekarang digunakan pada PT Bhumi Indah Jaya untuk transaksi penjualan masih diolah secara manual mengunakan Microsoft excel. Semua data transaksi diolah mengunakan Microsoft Excel, seperti data transaksi penjualan yang akan menghasilkan laporan laporan transaksi yang dilakukan oleh perusahaan, dengan cara mengumpulkan data transaksi yang ada dan menyusunnya kedalam bentuk laporan yang diperlukan perusahaan. Dengan kegiatan perusahaan seperti ini akan memerlukan waktu yang relative lama mengingat saat ini transaksi yang terjadi cukup banyak, jenis laporannya bermacam macam dan beberapa informasi yang saling berhubungan dalam suatu transaksi.

40

2.15.4

IOFC (Information Oriented Flowcart)

2.15.4.1 IOFC Data Master Rumah


DATA MASTER
TEHNIK ADMINITRASI PEMASARAN DIREKTUR

DATA RUMAH

ENTRY DATA UMAH

LAPORAN DATA RUMAH

LAPORAN DATA RUMAH

PROSES PENGURUSAN RUMAH Y

KURANG

DATA RUMAH SIAP

PROSES PEMBUATAN LAPORAN RUMAH SIAP

LAPORAN RUMAH SIAP JUAL

LAPORAN RUMAH SIAP

LAPORAN RUMAH SIAP

LAPORAN RUMAH SIAP

Gambar 2.12 IOFC Data Master Rumah

41

2.15.5 IOFC Transaksi Penjualan


TRANSAKSI PENJUALAN
CUSTOMER PEMASARAN TEHNIK ADMINITRASI DIREKTUR

ORDER RUMAH

ORDER RUMAH

ENTRI DATA ORDER RUMAH N SURVEY

TUNAI PROSES SURVEY Y

PROSES PENJUALAN

ACC

LAPORAN PENJUAL

LAPORAN PENJUALAN

PEMBATALAN PROSES TRANSAKSI NOTA PEMBATALAN LAPORAN PEMBATALAN

NOTA PENJUALAN RUMAH

NOTA PENJUALAN RUMAH

Gambar 2.13 IOFC Transaksi Penjualan

42

2.15.6 IOFC Transaksi Angsuran


ANGSURAN
CUSTOMER ADMINITRASI KEUANGAN BAGIAN TEHNIK DIREKTUR

FORM ANGSURAN

FORM ANGSURAN

ENTRY DATA ANGSURAN

TELAMBAT

>5 BLN

DATA SITA RUMAH

<5 BLN PROSES SITA RUMAH T DENDA

LAPORAN SITA RUMAH DATA ANGSURAN

LAPORAN SITA RUMAH

PROSES PEMBUATAN NOTA

NOTA ANGSURAN

NOTA ANGSURAN

Gambar 2.14 IOFC Transaksi Angsuran

43

BAB III RANCANGAN SISTEM 3.1 Analisa Masalah PT Bhumi Indah Jaya merupakan perusahaan yang bergerak dibidang pembangunan dan penjualan perumahan. Perusahaan menjual rumah yang dibangun langsung kepada konsumen, tanpa melalui pihak ketiga secara langsung misalnya perbankan. Sistem penjualan rumah pada PT Bhumi Indah Jaya secara umum masih dilakukan secara manual, sehingga sering terjadi kesalahan yang diakibatkan oleh factor manusia, yaitu hilangnya data customer, rumah maupun data penjualan rumah. Hal ini berdampak pada kurang baiknya sistem pembuatan laporan, yang berdampak langsung pada keuntungan perusahaan Selain permasalah diatas, sistem manual juga menyebabkan lamanya proses perhitungan transaksi penjualan rumah, baik perhitungan denda dan besar angsuran keseluruhan. Dengan kegiatan perusahaan yang seperti ini memerlukan banyak waktu yang relative lama, mengingat saat ini transaksi yang terjadi cukup banyak, jenis laporannya bermacam macam dan beberapa informasi yang saling berhubungan dalam satu transaksi. Untuk mengatasi permasalahan efisiensi dan efektifitas dalam menyimpan data atau informasi penjualan yang berasal dari transaksi penjualan, maka

44

diusulkan sebuag solusi yaitu pembuatan applikasi sistem informasi penjualan yang berbasis computer dengan data data yang terintegrasi satu sama lain. Dengan sistem informasi yang akan dibuat ini diharapkan akan meningkatkan effisiensi dan efektifitas dalam informasi penjualan rumah baik secara kredit maupun secara tunai 3.1.1 Masalah dan Akibat

Sistem pemberian kredit rumah pada PT Bhumi Indah Jaya masih belum optimal, sehingga dalam pengolahan data untuk pemberian kredit mengalami masalah antara lain: Masalah 1. Penjualan perumahan masih dilakukan secara manual dengan

mengunakan Microsoft Excel hal ini menyebabkan terlambatnya segala macam transaksi penjualan 2. Kesulitan dalam menentukan denda angsuran customer yang telah melewati jatuh tempo pembayaran 3. Terjadi keterlambatan dalam memberikan laporan transaksi kredit dan angsuran kepada direktur. Akibat 1. Customer merasa tidak puas atas pelayanan dalam memberikan perhitungan kredit

45

2. Terjadi kesalahan dalam perhitungan denda angsuran yang telah melewati jatuh tempo pembayaran 3. Laporan yang diberikan kepada direktur menjadi tidak akurat. 3.1.2 Usulan Pemecahan Masalah uraian mengenai permasalahan diatas, maka untuk

Berdasarkan

meminimalisasi masalah tersebut salah satu alternative pemecahan masalah yang dapat dilakukan yaitu dengan melakukan pengembangan sistem yang ada antara lain: 1. Sistem Database Yang Baik Dengan adanya database ini diharapkan agar tidak terjadi duplikasi data transaksi kredit dan data transaksi kredit akan tersimpan dengan aman, sehingga kemungkinan data hilang sangatlah kecil. Sedangkan jika masih mengunakan dokumen untuk mencatat penjualan dan data rumah, maka kemungkinan besar akan hilang, sehingga pencarian dokumennya untuk pembayaran angsuran akan memakan waktu yang lama, selain itu customer akan menunggu dalam waktu yang lama juga. 2. Sistem Pendataan Rumah Dengan adanya sistem pendataan rumah yang akan dilakukan oleh bagian tehnik ini diharapkan dapat memberikan kemudahaan pada bagian pemasaraan dalam melakukan proses transaksi dan proses transaksi akan

46

menjadi lebih cepat. Dengan adanya bagian pemasaran ini maka akan memberikan kemudahan customerdalam transaksi penjualan. 3. Pembuatan Process Transaksi Kredit Dengan adanya sistem transaksi kredit ini diharapkan dapat memperlancar proses penjualan dan mempercepat dalam memberikan pelayanan kepada customer tentang pembayaran tanpa melakukan perhitungan secara manual. 4. Pembuatan Process Pembayaran Angsuran Dengan adanya sistem pembayaran angsuran ini diharapkan dapat mengatasi pembayaran angsuran dan perhitungan denda angsuran yang telah jatuh tempo pembayaran. Sehingga bagian adminitrasi tidak mengalami kesulitan untuk menentukan denda angsuran dan sistem pembayaran akan lebih terkontrol 3.1.2.1 Kelebihan Program Aplikasi Kelebihan program aplikasi ini dapat mengurangi permasalahan yang terjadi dalam pemberian kredit rumah kepada customer sehingga dapat meningkatkan pelayanan penjualan rumah kepada customer. Beberapa kelebihan dari program applikasi ini yaitu: 1. Mempercepat proses perhitungan transaksi kredit yang diberikan kepada customer

47

2. Pihak adminitrasi akan memberikan pelayanan dengan baik ke customer atas perhitungan denda anlah diagsuran yang telah melewati jatuh tempo pembayaran 3. Direktur sewaktu waktu dapat mengetahui laporan yang diinginkannya. 3.1.2.2 Desain Sistem 3.1.2.2.1 Logical Context Diagram

Dalam penulisan laporan ini diawali dengan pembuatan context diagram dengan maksud untuk mengetahui logika dan alur dari sistem. Untuk lebih jelas dapat dilihat pada gambar 3.1 berikut :
angsuran order customer data pegawai bagian tehnik data customer

data operator

pembayaran tunai nota pembayaran laporan angsuran laporan data rumah

SISTEM INFORMASI PENJUALAN RUMAH

data bunga data fasilitas data rumah

+
laporan data pegawai

direktur

laporan order laporan data customer

Gambar 3.1 Context Diagram

48

3.1.2.2.2

Logical DFD level 1


order pembayaran tunai customer angsuran

data pegawai data fasilitas bagian tehnik data rumah data customer nota pembayaran data operator 2 seting data master data bunga data bunga bunga data bunga

1 transaksi

rumah data rumah data fasilitas

data rumah data fasilitas

data pegawai data customer

fasilitas data pegawai pegawai data customer

data order data angsuran

customer order data pegawai data customer data order data angsuran laporan data customer 3 angsuran

laporan

laporan data rumah

direktur

laporan order laporan angsuran laporan data pegawai

Gambar 3.2 DFD Level 1

49

3.1.2.2.3

Logical DFD level 2

Logical data flow diagram level 2 dari proses seting data master:

1 data rumah setting data rumah

rumah

2 data rumah setting data pegawai

data pegawai

pegawai

data pegawai data bunga bagian tehnik data fasilitas

3 setting data bunga

data bunga

bunga

4 data fasilitas data operator 6 customer setting data operator data operator operator setting data fasilitas fasilitas

data customer 5 setting data customer data customer customer

Gambar 3.3 DFD level 2 Seting Data Master

50

Logical data flow diagram level 2 dari proses transaksi

pembayaran tunai order angsuran customer

1 pembayaran

nota pembayaran

2 data pegawai pegawai order

data fasili tas data rumah

fasil itas

data pegawai

rumah data customer

data bunga data customer bunga data angsuran customer data order

data order

angsuran order

Gambar 3.4 DFD level 2 Proses Transaksi

51

3.1.2.3 Desain Data 3.1.2.3.1 Desain Entity Relationship Diagram (ERD)

Desain logical entity relationship diagram adalah sebagai berikut:


syarat_tunai
memasukan data

no_reg suami istri surat_nikah surat_keluarga foto surat_B_P_rumah materai syarat_kredit no_reg suami istri surat_nikah surat_keluarga foto surat_B_P_rumah materai fc_siup fc_top penghasilan_per_bulan status

pegaw ai nip nama alamat tmpt_lahir tgllahir jk

memasukan data

memasukan data

operator
memasukan data

memasukan data memasukan data

userID jabatan pass

persen syarat persen lama_cicilan

angsuran
melakukan

fasilitas no_fasilitas type_rumah nama_fasilitas jumlah harga

memasukan data

no_cicilan no_reg harga cicilan tanggal lambat denda tagihan

melakukan

customer rumah kode_rumah type_rumah nama_rumah luas_rumah harga uang_muka nomer status no_ktp nama tgllahir alamat jk pekerjaan telepon gajibersih nama_perusahaan alamat_perusahaan telepon_perusahaan status tunai
memilih

detail rumah

ganti

memilih

no_reg nama_karyaw an tanggal no_ktp nama type_rumah harga_aw al harga_total


memilih

kredit no_reg nama_karyaw an tanggal no_ktp nama typerumah harga cicilan bulan

uang_muka no_reg nama uang_muka

pengembalian no_reg no_ktp nama type_rumah harga uang_muka potongan kembali

potongan

Gambar 3.6 Desain Logical Entity Relationship Diagram

52

Desain logical entity relationship diagram adalah sebagai berikut:


NIP = NIP

SYARAT_TUNAI NO_REG long varchar SUAMI long varchar ISTRI long varchar SURAT_NIKAH long varchar SURAT_KELUARGA long varchar FOTO long varchar SURAT_B_P_RUMAH long varchar MATERAI long varchar NIP long varchar SYARAT_KREDIT NO_REG SUAMI ISTRI SURAT_NIKAH SURAT_KELUARGA FOTO SURAT_B_P_RUMAH MATERAI FC_SIUP FC_TOP PENGHASILAN_PER_BULAN STATUS NIP long varchar long varchar long varchar long varchar long varchar long varchar long varchar long varchar long varchar long varchar numeric(20) long varchar long varchar

PEGAWAI NIP long varchar NAMA long varchar ALAMAT long varchar TMPT_LAHIR long varchar TGLLAHIR long varchar JK long varchar TELEPON long varchar BAGIAN long varchar USERID long varchar

USERID = USERID

NIP = NIP

TUNAI NO_REG NAMA_KARYAWAN TANGGAL NO_KTP3 NAMA TYPE_RUMAH HARGA_AWAL HARGA_TOTAL NO_KTP long varchar long varchar timestamp long varchar long varchar long varchar numeric(20) numeric(20) long varchar

PERSEN SYARAT long varchar PERSEN long varchar LAMA_CICILAN long varchar USERID long varchar

USERID = USERID

OPERATOR USERID long varchar JABATAN long varchar PASS long varchar

USERID = USERID

PENGEMBALIAN NO_REG long varchar NO_KTP2 long varchar NAMA long varchar TYPE_RUMAH long varchar HARGA numeric(20) UANG_MUKA numeric(20) POTONGAN numeric(20) KEMBALI numeric(20)

FASILITAS NO_FASILITAS long varchar TYPE_RUMAH long varchar NAMA_FASILITAS long varchar JUMLAH numeric(20) HARGA numeric(20) USERID long varchar

CUSTOMER NO_KTP NAMA ALAMAT JK TELEPON NAMA_PERUSAHAAN ALAMAT_PERUSAHAAN TELEPON_PERUSAHAAN STATUS PEKERJAAN GAJIBERSIH USERID KODE_RUMAH TGLLAHIR long varchar long varchar long varchar long varchar long varchar long varchar long varchar long varchar long varchar long varchar numeric(20) long varchar long varchar long varchar MEMILIKI
NO_FASILITAS = NO_FASILITAS

NO_KTP = NO_KTP

KODE_RUMAH NO_FASILITAS

long varchar long varchar

NO_KTP = NO_KTP

NO_KTP = NO_KTP

CICILAN NO_CICILAN NO_KTP NO_REG HARGA CICILAN TANGGAL LAMBAT DENDA TAGIHAN long varchar long varchar long varchar numeric(20) numeric(20) timestamp integer numeric(20) numeric(20)

KODE_RUMAH = KODE_RUMAH

RUMAH KODE_RUMAH long varchar TYPE_RUMAH long varchar LUAS_RUMAH long varchar HARGA numeric(20) UANG_MUKA numeric(20) NOMER long varchar STATUS long varchar USERID long varchar NAMA_RUMAH long varchar

KODE_RUMAH = KODE_RUMAH

USERID = USERID

KREDIT NO_REG NAMA_KARYAWAN TANGGAL NO_KTP2 NAMA TYPERUMAH HARGA CICILAN BULAN NO_KTP

USERID = USERID

long varchar long varchar timestamp long varchar long varchar long varchar numeric(20) numeric(20) numeric(20) long varchar

UANG_MUKA NO_REG NAMA UANG_MUKA long varchar long varchar numeric(20)

Gambar 3.7 Desain Logical Entity Relationship Diagram

53

3.1.2.3.2

Desain table

Table customer

Primary Key = NO_KTP Tabel 3.1. Customer no Field Name Type Text Text Date/time Text Text Text Text Text Text Text Length 15 20 8 25 2 15 20 25 15 10 Keterangan nomer ktp customer Nama customer Tanggal lahir Alamat Jenis kelamin Telepon Nama perusahaan Alamat perusahaan Telepon perusahaan Status kredit

1 NO_KTP 2 Nama 3 Tgllahir 4 Alamat 5 Jk 6 telpon 7 Nama_perusahaan 8 Alamat_perusahaan 9 Telepon 10 Status

Table Rumah

Primary Key = Kode_Rumah Tabel 3.2. Rumah no 1 2 3 4 Field Name Type Text Text text Text Currency Currency Text Text Length 15 10 20 15 15 10 Keterangan Kode rumah Type rumah Nama rumah Luas rumah Harga rumah Uang muka Nomer rumah Status rumah

Kode_rumah Type_rumah Nama_rumah Luas_rumah

5 Harga 6 Uang_muka 7 Nomer 8 Status

54

Table Angsuran

Primary Key = No_Cicilan Tabel 3.3.Angsuran no Field Name 1 No_cicilan 2 No_reg 3 Harga 4 Cicilan 5 Tanggal 6 Lambat 7 Denda 8 Tagihan Type Text Text Number Number Date/time Number Number Number Length 15 15 -Keterangan No angsuran No regetrasi Harga rumah Jumlah cicilan Tanggal Terlambat Denda Tagihan

Table Tunai

Primary Key = No_Reg Foreing key : No_Ktp Tabel 3.4. Tunai no 1 2 3 4 5 Field Name No_reg Nama_karyawan Tanggal No_ktp Nama Type Text Text Date/time Text Text Text Number Number Length 15 20 20 20 5 Keterangan No regetrasi Nama karyawan tanggal No ktp Nama Type rumah Harga awal Harga total

6 Type_rumah 7 Harga_awal 8 Harga_total

55

Table Fasilitas

Primary Key = No_Fasilitas Tabel 3.5. Fasilitas no 1 2 3 4 Field Name No_fasilitas Type_rumah Nama_fasilitas Jumlah Type Text Text Text Text Number Length 15 15 20 Keterangan Nomer fasilitas Type rumah Nama fasilitas Jumlah Harga

5 Harga

Table Operator

Primary Key = userID Tabel 3.6. Operator no Field Name Type text Text Text Length 5 20 20 Keterangan Jabatan User id Password

1 Jabatan 2 User id 3 Password

Table Pegawai

Primary Key = Nip Tabel 3.7. Pegawai no 1 2 3 4 5 6 7 Field Name Nip Nama Alamat Ttl jk Telepon bagian Type Text Text Text Date/time Text Text Text Length 15 20 30 2 10 15 Keterangan Nomer pegawai Nama pegawai Alamat pegawai Tempat lahir Jenis kelamin Telepon Bagian kerja

56

Table Pengembalian

Foreign key : no_ktp, no_reg Tabel 3.8. Pengembalian no 1 2 3 4 Field Name No_reg No_ktp nama Type_rumah Type Text Text Text Text Number Number Text number Length 15 15 20 10 10 Keterangan No regetrasi No ktp Nama Type rumah Harga Uang muka Potongan Uang kembali

5 harga 6 Uang_muka 7 Potongan 8 kembali Table Syarat

Foreign Key = no_reg Tabel 3.9. Syarat no 1 2 3 4 5 Field Name No_reg Suami Istri Surat_nikah Surat_keluarga Type text Text Text Text Text Text Text Text Length 15 5 5 5 5 5 5 5 Keterangan No regertrasi Ktp suami Ktp istri Surat nikah Kartu keluarga Foto Surat rumah Materai

6 Foto 7 Surat_B_P_Rumah 8 materai

57

Table Syarat

Foreign Key = no_reg, no_ktp Tabel 3.10. Syarat no Field Name 1 No_reg 2 Nama_karyawan 3 Tanggal 4 No_ktp 5 Nama 6 Type_rumah 7 Harga 8 Cicilan 9 Bulan Table Kredit Type Text Text Date/time Text Text Text Number Number Number Length 15 20 20 20 5 Keterangan No regretrasi Nama karyawan Tanggal No ktp

Foreign Key = no_reg, no_ktp Tabel 3.10. Syarat_Kredit no 1 No_reg 2 Suami 3 istri 4 Surat nikah 5 Surat keluarga 6 foto 7 Surat_B_P_Rumah 8 Materai 9 FC_Siup 10 FC_Top 11 Penghasilan_Per_Bulan 12 Status Field Name Type Text Text Text Text Text Text Text Text Text Text number Text Length 15 20 15 15 15 15 15 15 15 15 15 Keterangan

58

Table Persen Table 3.12 Tabel Persen

no

Field Name 1 Syarat 2 Persen 3 Lama_cicilan Table Uang Muka

Type Text Text Text

Length 15 15 15

Keterangan Syarat Besar bunga Lama angsuran

Foreing key : no_reg Table 3.14 Tabel Uang Muka no Field Name 1 No_reg 2 Nama 3 Uang_muka Type Text Text Number Length 15 15 Keterangan No regritrasi Nama Uang muka

59

3.1.2.3.3

Flowcart

3.1.2.3.3.1 Flowcart Entry Data Rumah

START

Kode_rumah,type_r umah, luas,harga uangmuka,nomer, status

TIDAK

SIMPAN

RUMAH=KOSONG SIMPAN KE FILE RUMAH

TIDAK

KELUAR

YA

END

Gambar 3.8 Flowcart Entry Data Rumah

60

3.1.2.3.3.2 Flowcart entry data customer

START

Noktp, nama,alamat,tel epon,gaji, pekerjaan

TIDAK

SIMPAN

YA

TBL CUSTOMER

TIDAK

KELUAR

YA

END

Gambar 3.9 Flowcart Entry Data Customer

61

3.1.2.3.3.3 Flowcart Transaksi Angsuran

START

No reg

Cari dalam database trans kredit

ada

ya

Cek tanggal bayar

tidak Tgl>10 tidak

ya

Hitung denda

DENDA = 0

tidak

Ada angsuran

simpan

tidak

ya

Simpan ke file angsuran

keluar

ya

END

Gambar 3.10 Flowcart Transaksi Angsuran

62

3.1.2.3.3.4 Flowcart Transaksi kredit Rumah

START

NO KTP

Cari nomer ktp File customer

Data customer

Type, rumah, lokasi

Cari alamat pada file lokasi

kredit

Hitung uang muka

Uang muka

Lama angsuran

B A

63

A B C

Hitung jumlah angsuran

Angsuran rumah

Penyesuaian angsuran dengan pendapatan customer

A<PD

tidak

tidak

simpan

Simpan pada file transaksi kredit update file Rumah = laku

tidak

keluar

ya

END

Gambar 3.11 Flowcart Transaksi Kredit Rumah

64

3.1.2.4 Desain Interface 3.1.2.4.1 Struktur Menu Struktur menu Sistem Informasi penjualan rumah secara tunai dan kredit adalah sebagai berikut:
MENU UTAMA

LOGIN

FILE TRANSAKSI

LAPORAN

LOGOUT

PELANGGAN ORDER TUNAI

LAP PEMBELIAN

RELOGIN

CUSTOMER ORDER KREDIT

ANGSURAN

KELUAR

RUMAH ANGSURAN

UANG MUKA

FASILITAS PENGEMBALIAN

PEMBATALAN PESANAN

BUNGA

LAP KESELURUHAN

Gambar 4.1 Struktur Menu

65

3.1.2.4.2

Desain Menu Utama

FILE

TRANSAKSI

LAPORAN

EXIT

Gambar 3.12 Desain Interface Menu Utama 3.1.2.4.3 Desain Entry Customer DATA CUSTOMER
NO KTP NAMA ALAMAT JK TELPON NM PERUSAH ALAMAT TELPON STATUS

ADD

SAV E CANC EL

EDIT

DELE TE

EXIT

Gambar 3.12 Desain Layout Customer

66

3.1.2.4.4

Desain Entry rumah DATA RUMAH

KODE RUMAH TIPE RUMAH LUAS HARGA ADD UM NO RUMAH


DELEATE

SAV E
CANCEL

EDIT

EXIT

Gambar 3.13 Desain Layout Rumah 3.1.2.4.5 Desain Angsuran ANGSURAN


NO REG NAMA HARGA CICILAN

CARI
NO ANGSURAN TANGGAL ORDER TANGGAL HARI INI TERLAMABAT DENDA TAGIHAN

ADD

SAVE

EDIT

DELETE

CANCEL

EXIT

Gambar 3.15 Desain Layout Transaksi Kredit

67

3.1.2.4.6

Desain Penjualan Kredit Syarat syarat yang harus dipenuhi Foto copy suami Fotocopy istri

Data customer No ktp nama cari

Surat nikah Kartu keluarga

Order rumah Type rumah Luas tanah Harga Nomor potongan cari 4.1 struktur menu

Foto berwarna Blum pny rumah materai BAB IV Total IMPLEMENTASI

Struktur menu Sistem dakredit adalah sebagai berikut: Ganti fasilitas SAVE ADD EDIT Nama Jumlah Harga Total harga Gambar 4.1 Struktur Menu CANCEL DELE TE Gambar 3.15 desain layout transaksi kredit EXIT

68

BAB IV IMPLEMENTASI 4.1 Persiapan Instrumen Untuk melaksanakan pengembangan program / implementasi setelah proses analisa masalah dan desain sistem pada bab III maka dibutuhkan dukungan dari perangkat keras (hardware) serta perangkat lunak (software). Hardware yang digunakan untuk pengembangan sistem ini adalah sebagai berikut: 1. CPU AMD Athlon X2 1.6 GHz 2. MB PC Partner ATI Radeon X1150 3. VGA ATI Radeon X200 4. HDD Seagate Barracuda 40 GB 7200 rpm 5. Memory DDR2 512 MB 6. Realtek AC 97 Audio 7. Creative FlashDisk 128 MB 8. Keyboard 9. Mouse Sedangkan software-software yang digunakan adalah sebagai berikut : 1. Microsoft Windows XP Home Edition 2. Microsoft Visual Basic 6.0 3. Microsoft Office Xp 4. Adobe Photoshop 7.0 5. Power Desainer 6 32-bit

69

4.2 Implementasi 4.2.1 Login User Form login user digunakan ketika user pertama kali menjalankan program, di sini akan dilakukan pengecekan terhadap data user. Bila data user yang dimasukkan benar maka user bisa masuk ke program utama.

Gambar 4.1 Form Login Berikut adalah penggalan dari kode login user :
Option Explicit Private Koneksi As ADODB.Connection Private Rekordset As ADODB.Recordset Private StrSQL As String Public Nama As String Public un As String Public LoginSucceeded As Boolean Private Sub Cancel_Click() If (TxtUserName.Text <> "") And (TxtPassword.Text = "password") Then LoginSucceeded = True Else LoginSucceeded = False End If Unload Me End Sub Private Sub CmbUser_Change()

70

If CmbUser.Text = "karyawan" Then ID.Caption = "NIP" ElseIf CmbUser.Text = "admin" Then ID.Caption = "admin" Else ID.Caption = "User ID" End If End Sub Private Sub CmbUser_Click() CmbUser_Change End Sub Private Sub Form_Load() Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 5 flash1.Movie = App.Path & "\gambar\opo2.swf" Set Koneksi = New ADODB.Connection Set Rekordset = New ADODB.Recordset Koneksi.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dhytaok.mdb;Persist Security Info=False", "", "", 0 Rekordset.ActiveConnection = Koneksi CmbUser.ListIndex = -1 'Rekordset.Open "SELECT * FROM Petugas", Koneksi 'Rekordset.Close End Sub Private Sub OK_Click() Dim Rs As Recordset Dim i Dim R nama_pegawai = TxtUserName.Text If CmbUser.Text = "bagian kredit" Or CmbUser.Text = "customer" Then Rekordset.Open "SELECT * FROM " & CmbUser.Text & " WHERE " & ID.Caption & " = '" & Trim(TxtUserName.Text) & "'", Koneksi If Rekordset.EOF Then MDIForm1.Embah.Characters("Punk").Play ("Decline") MsgBox "User Tidak Terdaftar!", vbCritical, "Unknown User" TxtUserName.Text = "" TxtPassword.Text = "" ' nama_pegawai = TxtUserName.Text TxtUserName.SetFocus Rekordset.Close Exit Sub Else Rekordset.Close Rekordset.Open "SELECT * FROM " & CmbUser.Text & " WHERE " & ID.Caption & " = '" & Trim(TxtUserName.Text) & "'", Koneksi Set Rs = Rekordset If TxtPassword.Text = Rs!Pass Then LoginSucceeded = True Me.Hide Nama = Rs!Nama MsgBox "Selamat datang " + Nama + ", anda sukses Log In!", vbInformation, "Login" un = TxtUserName.Text MDIForm1.MnLogO.Enabled = True MDIForm1.MnRlog.Enabled = False

71

MDIForm1.TBar.Buttons(1).Image = 2 MDIForm1.TBar.Buttons(1).ToolTipText = "Log Out" MDIForm1.StBar.Panels(2).Text = "Login : " & Nama TxtPassword.Text = "" For i = 5 To 18 MDIForm1.TBar.Buttons(i).Enabled = False Next i If CmbUser.Text = "customer" Then MDIForm1.TBar.Enabled = True MDIForm1.TBar.Buttons(5).Enabled = True 'MDIForm1.TBar.Buttons(6).Enabled = True MDIForm1.TBar.Buttons(7).Enabled = True MDIForm1.TBar.Buttons(9).Enabled = True MDIForm1.master.Enabled = True MDIForm1.Order.Enabled = True MDIForm1.laporan.Enabled = True MDIForm1.User.Enabled = False MDIForm1.laporan.Enabled = True MDIForm1.lap_o_rumah.Enabled = True MDIForm1.lap_P_keseluruhan.Enabled = False MDIForm1.lap_tunai.Enabled = False MDIForm1.lap_u_muka.Enabled = False MDIForm1.lap_kredit.Enabled = True MDIForm1.gagal.Enabled = False MDIForm1.master.Enabled = True MDIForm1.User.Enabled = False MDIForm1.User.Visible = False MDIForm1.Pegawai.Visible = False MDIForm1.Embah.Characters("Punk").Stop MDIForm1.Embah.Characters("Punk").MoveTo (Screen.Width / 18), (Screen.Height / 19) MDIForm1.Embah.Characters("Punk").Play ("pleased") MDIForm1.Embah.Characters("Punk").Speak "Selamat Datang " & Nama & ", Sistem Informasi Adminitrasi Kredit Perumahan Pada PT Bhumi Indah Jaya" End If Else MDIForm1.Embah.Characters("Punk").Play ("DontRecognize") MsgBox "Maaf Password Yang anda masukkan salah !!", vbCritical, "Login" TxtPassword.SetFocus SendKeys "{Home}+{End}" End If Rekordset.Close End If Else Rekordset.Open "SELECT * FROM Operator WHERE UserID = '" & Trim(TxtUserName.Text) & "' AND Jabatan = '" & CmbUser.Text & "'", Koneksi If Rekordset.EOF Then

72

MDIForm1.Embah.Characters("Punk").Play ("Decline") MsgBox "User Tidak Terdaftar!", vbCritical, "Unknown User" TxtUserName.Text = "" TxtPassword.Text = "" TxtUserName.SetFocus Rekordset.Close Exit Sub Else Rekordset.Close Rekordset.Open "SELECT * FROM Operator WHERE userID = '" & Trim(TxtUserName.Text) & "' AND Jabatan = '" & CmbUser.Text & "'", Koneksi Set Rs = Rekordset If TxtPassword.Text = Rs!Pass Then LoginSucceeded = True Me.Hide Nama = Rs!Jabatan MsgBox "Selamat datang " + Nama + ", anda sukses Log In!", vbInformation, "Login" un = TxtUserName.Text MDIForm1.MnLogO.Enabled = True MDIForm1.MnRlog.Enabled = False MDIForm1.TBar.Buttons(1).Image = 2 MDIForm1.TBar.Buttons(1).ToolTipText = "Log Out" MDIForm1.StBar.Panels(2).Text = "Login : " & Nama TxtPassword.Text = "" For i = 1 To 18 MDIForm1.TBar.Buttons(i).Enabled = True Next i '------------------- ADMIN If Rs!UserID = "admin" Then MDIForm1.TBar.Buttons(6).Enabled = False MDIForm1.TBar.Buttons(9).Enabled = False MDIForm1.TBar.Buttons(10).Enabled = False MDIForm1.TBar.Buttons(11).Enabled = False MDIForm1.TBar.Buttons(5).Enabled = True MDIForm1.TBar.Buttons(7).Enabled = True MDIForm1.TBar.Buttons(13).Enabled = True MDIForm1.TBar.Buttons(16).Enabled = True MDIForm1.TBar.Buttons(18).Enabled = True MDIForm1.master.Enabled = True 'MDIForm1.Customer.Enabled = True 'MDIForm1.Pegawai.Enabled = True 'MDIForm1.Rumah.Enabled = False 'MDIForm1.Fasilitas.Enabled = True 'MDIForm1.Bunga.Enabled = True MDIForm1.Order.Enabled = False 'MDIForm1.Order_Rumah.Enabled = True ' MDIForm1.Tunai.Enabled = False 'MDIForm1.T_Tahapan.Enabled = False 'MDIForm1.Surat_Perjanjian.Enabled = False 'MDIForm1.Angsuran.Enabled = False 'MDIForm1.Pengembalian.Enabled = False MDIForm1.laporan.Enabled = False

73

MDIForm1.User.Enabled = True MDIForm1.Help.Enabled = True ElseIf Rs!UserID = "pemasaran" Then MDIForm1.TBar.Buttons(5).Enabled = False MDIForm1.TBar.Buttons(7).Enabled = False MDIForm1.TBar.Buttons(11).Enabled = False MDIForm1.TBar.Buttons(14).Enabled = False MDIForm1.TBar.Buttons(18).Enabled = False MDIForm1.TBar.Buttons(6).Enabled = False MDIForm1.TBar.Buttons(9).Enabled = True MDIForm1.TBar.Buttons(10).Enabled = True 'MDIForm1.TBar.Buttons(11).Enabled = True MDIForm1.TBar.Buttons(13).Enabled = True MDIForm1.TBar.Buttons(16).Enabled = True MDIForm1.master.Enabled = False 'MDIForm1.Customer.Enabled = True 'MDIForm1.Pegawai.Enabled = True 'MDIForm1.Rumah.Enabled = False 'MDIForm1.Fasilitas.Enabled = True 'MDIForm1.Bunga.Enabled = True MDIForm1.Order.Enabled = True 'MDIForm1.Order_rumah.Enabled = True 'MDIForm1.Tunai.Enabled = True 'MDIForm1.T_tahapan.Enabled = True ' MDIForm1.surat_perjanjian.Enabled = False ' MDIForm1.angsuran.Enabled = True 'MDIForm1.pengembalian.Enabled = True MDIForm1.laporan.Enabled = False MDIForm1.User.Enabled = False MDIForm1.View.Enabled = True MDIForm1.Help.Enabled = True ElseIf Rs!UserID = "direktur" Then MDIForm1.TBar.Buttons(5).Enabled = False MDIForm1.TBar.Buttons(6).Enabled = True MDIForm1.TBar.Buttons(12).Enabled = True MDIForm1.TBar.Buttons(14).Enabled = True MDIForm1.TBar.Buttons(16).Enabled = True MDIForm1.TBar.Buttons(17).Enabled = True MDIForm1.TBar.Buttons(18).Enabled = False MDIForm1.master.Enabled = False MDIForm1.Order.Enabled = False MDIForm1.laporan.Enabled = True MDIForm1.lap_o_rumah.Enabled = True MDIForm1.lap_tunai.Enabled = True MDIForm1.lap_kredit.Enabled = True MDIForm1.lap_u_muka.Enabled = True MDIForm1.gagal.Enabled = True MDIForm1.lap_P_keseluruhan.Enabled = True ' varDSN = "Z" ' varMHS = "Z" 'varKUL = "Z" End If

74

MDIForm1.Embah.Characters("Punk").Stop MDIForm1.Embah.Characters("Punk").MoveTo (Screen.Width / 18), (Screen.Height / 19) MDIForm1.Embah.Characters("Punk").Play ("pleased") MDIForm1.Embah.Characters("Punk").Speak "Selamat Datang " & Nama & ", Sistem Informasi Adminitrasi Kredit Perumahan Pada PT Bhumi Indah Jaya" Else MDIForm1.Embah.Characters("Punk").Play ("DontRecognize") MsgBox "Maaf Password Yang anda masukkan salah !!", vbCritical, "Login" TxtPassword.SetFocus SendKeys "{Home}+{End}" End If Rekordset.Close End If End If End Sub 'Private Sub TxtPassword_KeyPress(KeyAscii As Integer) 'If KeyAscii = vbKeyReturn Then 'OK_Click 'End If 'End Sub 'Private Sub TxtUserName_KeyPress(KeyAscii As Integer) 'If KeyAscii = vbKeyReturn Then 'OK_Click 'End If 'End Sub Private Sub TxtUserName_Change() End Sub

4.2.2

Menu utama Menu utama adalah tampilan pertama kali menjalankan program setelah user

melakukan proses login. Pada menu utama ini terdapat sub-sub menu lain, diantaranya : 1. Login Pada sub menu ini terdapat sub-sub menu berikut : a. Login b. Relogin c. Keluar

75

2. File Pada sub menu ini terdapat sub-sub menu berikut : a. Entry Data Customer b. Entry Data Pegawai c. Entry Data Rumah d. Entry Data Fasilitas e. Entry Data Bunga 3. Transaksi Pada sub menu ini terdapat sub-sub menu berikut : a. Transaksi Order i. Transakasi Order Tunai ii. Transaksi Order Kredit b. Transaksi Angsuran c. Transaksi Pengembalian 4. Laporan Pada sub menu ini terdapat sub-sub menu berikut : a. Laporan Penjualan i. Laporan Penjualan Tunai ii. Laporan Penjualan Kredit b. Laporan Angsuran c. Laporan Uang Muka d. Pembatalan Pesanan e. Laporan keseluruhan

76

5. View Pada sub menu ini terdapat sub-sub menu berikut : a. Type Rumah b. Katalok 6. Edit User 7. Help pada sub menu ini terdapat sub sub menu berikut a. About b. Keluar

Gambar 4.2. Form Menu Utama Kode Program:


Dim i, kata, kata2 Private Sub browsur_Click() katalok.Show End Sub Private Sub d_rumah_Click() typerumah.Show End Sub Private Sub lap_angsuran_Click() Fr_Laporan_Angsuran.Show End Sub

77

Private Sub MnLogO_Click() MnLogO.Enabled = False MnRlog.Enabled = True Fr_Pass.TxtUserName.Text = "" Fr_Pass.Nama = "" Fr_Pass.CmbUser.ListIndex = -1 TBar.Buttons(2).Enabled = False TBar.Buttons(1).Enabled = True awal End Sub Private Sub MnRLog_Click() Fr_Pass.Show Embah.Characters("Punk").MoveTo (Screen.Width / 22), (Screen.Height / 42) Embah.Characters("Punk").Play ("GestureRight") Embah.Characters("Punk").Speak "Silahkan Login terlebih dahulu" End Sub Private Sub Angsuran_Click() Fr_Cicilan.Show End Sub Private Sub Bunga_Click() Fr_persen.Show End Sub Private Sub Customer_Click() Fr_Customer.Show End Sub 'Private Sub Nama() 'Call OpenRecordset("SELECT * FROM Pegawai where Nama = '" & nama_pegawai & "'") 'If RS!Bagian = "Bendahara" Or RS!Bagian = "Karyawan" Then ' Rumah.Enabled = False ' Fasilitas.Enabled = False ' Pegawai.Enabled = False 'Laporan.Enabled = False ' User.Enabled = False ' Command1.Enabled = False 'End If 'End Sub Private Sub Exit_Click() Unload Me End Sub Private Sub Fasilitas_Click() Fr_Fasilitas.Show End Sub Private Sub MDIForm_Activate() Embah.Characters.Load "Punk" Embah.Characters("Punk").Show

78

Embah.Characters("Punk").MoveTo (Screen.Width / 22), (Screen.Height / 42) Embah.Characters("Punk").Play ("GestureRight") Embah.Characters("Punk").Speak "Silahkan Login terlebih dahulu" End Sub Private Sub MDIForm_Load() Dim i dbPathADO = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dhytaok.mdb;Persist Security Info=False" varMHS = "A" varDSN = "A" varKUL = "A" Me.Picture = LoadPicture(App.Path & "/gambar/dhyta4.jpg") kata = Me.Caption kata2 = "SISTEM INFORMASI ADMINITRASI KREDIT PR BHUMI INDAH JAYA " awal Fr_Pass.Show Fr_Pass.CmbUser.SetFocus End Sub Private Sub Gagal_Click() Dr_Pengembalian.Show End Sub 'Private Sub Image1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Frame1.Visible = False 'Frame2.Visible = False 'Frame3.Visible = False 'Frame4.Visible = False 'End Sub 'Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Frame1.Visible = False 'Frame2.Visible = False 'Frame3.Visible = False 'End Sub 'Private Sub Label10_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Frame4.Visible = True 'End Sub 'Private Sub Label11_Click() 'Fr_Cicilan.Show 'End Sub 'Private Sub Label12_Click() 'Fr_Tunai.Show 'End Sub 'Private Sub Label13_Click()

79

'Fr_Tunai_Tahapan.Show 'End Sub 'Private Sub Label14_Click() 'Fr_Input_Pass.Show 'End Sub 'Private Sub Label14_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Frame3.Visible = False 'End Sub 'Private Sub Label15_Click() 'Fr_Pengembalian.Show 'End Sub 'Private Sub Label2_Click() 'Unload Me 'End Sub 'Private Sub Label4_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Frame2.Visible = True 'Frame3.Visible = False 'End Sub 'Private Sub Label5_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single) 'Frame3.Visible = True 'Frame2.Visible = False 'End Sub 'Private Sub Label6_Click() 'Fr_Customer.Show 'End Sub 'Private Sub Label7_Click() 'Fr_Pegawai.Show 'End Sub 'Private Sub Label8_Click() 'Fr_Rumah.Show 'End Sub 'Private Sub Label9_Click() 'Fr_Fasilitas.Show 'End Sub Private Sub Lap_Kredit_Click() Fr_Laporan_Kredit.Show 'Dr_Kredit.Show 'Set a = CreateObject("Excel.Application") 'Set b = a.Workbooks.Add(App.Path & "\data\Laporan_Kredit.xls") 'Set c = b.Sheets(1) 'Call OpenRecordset("SELECT * FROM Kredit")

80

' '

For d = 1 To Rs.RecordCount c.Cells(6 + d, 1) = Rs!No_Reg ' c.Cells(6 + d, 2) = Rs!Nama_Karyawan ' c.Cells(6 + d, 3) = Rs!No_KTP ' c.Cells(6 + d, 4) = Rs!Nama ' c.Cells(6 + d, 5) = Rs!Type_Rumah ' c.Cells(6 + d, 6) = Rs!harga ' c.Cells(6 + d, 7) = Rs!cicilan ' c.Cells(6 + d, 8) = Rs!Bulan ' Rs.MoveNext ' Next d

'a.Visible = True End Sub Private Sub Lap_P_Keseluruhan_Click() fr_laptot.Show 'fr_Laporan_Tot.Show 'Dr_Data_Rumah.Show 'Set a = CreateObject("Excel.Application") 'Set b = a.Workbooks.Add(App.Path & "\data\Laporan_Pembangunan.xls") 'Set c = b.Sheets(1) 'Call OpenRecordset("SELECT * FROM Laporan_Pembangunan") ' ' ' ' ' For d = 1 To Rs.RecordCount c.Cells(6 + d, 1) = Rs!Type_Rumah c.Cells(6 + d, 2) = Rs!jumlah Rs.MoveNext Next d

'Call OpenRecordset("SELECT * FROM Rumah") ' ' ' ' For d = 1 To Rs.RecordCount c.Cells(6 + d, 3) = Rs!banyak Rs.MoveNext Next d

'Call OpenRecordset("SELECT * FROM Seluruh_Bangunan") ' ' ' ' For d = 1 To Rs.RecordCount c.Cells(6 + d, 4) = Rs!jumlah Rs.MoveNext Next d

'a.Visible = True End Sub

81

Private Sub Lap_Tunai_Click() fr_laptot.Show 'Dr_Cetak_Tunai.Show 'fr_laptot.Show 'fr_Laporan_Tot.Show 'Set a = CreateObject("Excel.Application") 'Set b = a.Workbooks.Add(App.Path & "\data\Laporan_Tunai.xls") 'Set c = b.Sheets(1) 'Call OpenRecordset("SELECT * FROM tunai") ' ' ' ' ' ' ' ' ' ' For d = 1 To Rs.RecordCount c.Cells(6 + d, 1) = Rs!No_Reg c.Cells(6 + d, 2) = Rs!Nama_Karyawan c.Cells(6 + d, 3) = Rs!No_KTP c.Cells(6 + d, 4) = Rs!Nama c.Cells(6 + d, 5) = Rs!Type_Rumah c.Cells(6 + d, 6) = Rs!Harga_Awal c.Cells(6 + d, 7) = Rs!Harga_Total Rs.MoveNext Next d

'a.Visible = True End Sub Private Sub Lap_U_Muka_Click() Dr_Uang_Muka.Show 'Set a = CreateObject("Excel.Application") 'Set b = a.Workbooks.Add(App.Path & "\data\Laporan_Uang_Muka.xls") 'Set c = b.Sheets(1) 'Call OpenRecordset("SELECT * FROM Uang_Muka") ' ' ' ' ' ' For d = 1 To Rs.RecordCount c.Cells(6 + d, 1) = Rs!No_Reg c.Cells(6 + d, 2) = Rs!Nama c.Cells(6 + d, 3) = Rs!Uang_Muka Rs.MoveNext Next d

'a.Visible = True End Sub Private Sub Pegawai_Click() Fr_Pegawai.Show End Sub Private Sub Pengembalian_Click() Fr_Pengembalian.Show End Sub

82

Private Sub Rumah_Click() Fr_Rumah.Show End Sub 'Private Sub Rumah_Click() 'Fr_Rumah.Show 'End Sub 'Private Sub Surat_Perjanjian_Click() 'Set b = a.Document.Add(App.Path & "\Tambahan\KetentuanUmum.Doc") 'b.Content = App.Path & "\Tambahan\KetentuanUmum.Doc" 'Set b = a.Document.Add(App.Path & "\Tambahan\KetentuanUmum.Document") 'Set c = b.Sheets(1) 'a.Visible = True 'End Sub Private Sub T_Tahapan_Click() Fr_Tunai_Tahapan.Show End Sub Private Sub TBar_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1: If MnLogO.Enabled = False Then MnRLog_Click Else MnLogO_Click End If Case 3: End 'Case 6: mnuMengajar_Click Case 7: User_Click Case 9: Tunai_Click Case 10: T_Tahapan_Click 'Case 11: mnuCariTranskrip_Click Case 13: d_rumah_Click Case 16: browsur_Click Case 18: ganti.Show End Select End Sub Private Sub TBar_ButtonMenuClick(ByVal ButtonMenu As MSComctlLib.ButtonMenu) Select Case ButtonMenu.Parent.Index Case 5: Select Case ButtonMenu.Index Case 1: Customer_Click Case 2: Pegawai_Click Case 3: Rumah_Click Case 4: Fasilitas_Click Case 5: Bunga_Click End Select Case 6: Select Case ButtonMenu.Index Case 1: Lap_Tunai_Click Case 2: T_Tahapan_Click End Select

83

Case 12: Select Case ButtonMenu.Index Case 1: Lap_U_Muka_Click Case 2: Gagal_Click Case 3: Lap_P_Keseluruhan_Click End Select End Select End Sub Private Sub Tim1_Timer() kata2 = Right(kata2, Len(kata2) - 1) + Left(kata2, 1) StBar.Panels(1).Text = kata2 i = i + 1 Me.Caption = Left(kata, i) If i = Len(kata) Then i = 0 End If End Sub Private Sub Tunai_Click() fr_tunai2.Show End Sub Private Sub User_Click() dhyta.Show 'user.Show 'Fr_Input_Pass.Show End Sub Private Sub awal() For i = 4 To 14 TBar.Buttons(i).Enabled = False Next i TBar.Buttons(1).Image = 1 TBar.Buttons(1).ToolTipText = "Log In" TBar.Buttons(2).Visible = False master.Visible = True Order.Visible = True laporan.Visible = True user.Visible = True master.Enabled = False Order.Enabled = False laporan.Enabled = False user.Enabled = False End Sub

4.2.3

Setup Data Master

4.2.3.1 Entry Data Customer Digunakan untuk memasukan data customer, sehingga pada transaksi dan pelaporan nanti tidak perlu ada pengimputan data lagi.

84

Gambar 4.2. Entry Data Customer Kode Program:


Private Sub hapus() Dim i As Integer For i = 0 To 7 Text2(i).Text = "" Next i End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: Text2(0).SetFocus hapus Case 1: If Text2(0).Text = "" Or Text2(1).Text = "" Or Text2(2).Text = "" Or Text2(3).Text = "" Or Text2(4).Text = "" Or Text2(5).Text = "" Or Text2(6).Text = "" Or Text2(7).Text = "" Or Combo1.Text = "" Then MsgBox "Data Belum Di Isi", vbCritical, "Peringatan" Else

85

If (MsgBox("Simpan Data?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then EksekusiSQL ("Insert Into Customer(No_Ktp,Nama,Alamat,JK,Telepon,Nama_Perusahaan,Alamat_Peru sahaan,Telepon_Perusahaan,Status) Values('" & Text2(0).Text & "','" & Text2(1).Text & "','" & Text2(2).Text & "','" & Combo1.Text & "'," & Text2(3).Text & ",'" & Text2(4).Text & "','" & Text2(5).Text & "','" & Text2(6).Text & "','" & Text2(7).Text & "')") End If openDb hapus End If Case 2: Dim Konfirm As String If Text2(0).Text = "" Or Text2(1).Text = "" Or Text2(2).Text = "" Or Text2(3).Text = "" Or Text2(4).Text = "" Or Text2(5).Text = "" Or Text2(6).Text = "" Or Text2(7).Text = "" Then MsgBox "Data Belum Lengkap", vbCritical, "Dilihat" Else Konfirm = MsgBox("Yakin Edit Data?", vbYesNo, "Peringatan") If Konfirm = vbYes Then EksekusiSQL ("UPDATE Customer set Nama = '" & Text2(1).Text & "',Alamat = '" & Text2(2).Text & "', JK = '" & Combo1.Text & "', Telepon = '" & Text2(3).Text & "' , Nama_Perusahaan = '" & Text2(4).Text & "' ,Alamat_Perusahaan = '" & Text2(5).Text & "' ,Telepon_Perusahaan = '" & Text2(6).Text & "',Status = '" & Text2(7).Text & "' WHERE No_Ktp = '" & Text2(0).Text & "'") MsgBox "Data Telah update! Boss!!!!!", vbInformation, "Pesan" hapus openDb Else Exit Sub End If End If Case 3: Dim a As String If Text2(0).Text = "" Or Text2(1).Text = "" Or Text2(2).Text = "" Or Text2(3).Text = "" Or Text2(4).Text = "" Or Text2(5).Text = "" Or Text2(6).Text = "" Or Text2(7).Text = "" Then MsgBox "Data Belum Lengkap", vbCritical, "Dilihat" Else a = MsgBox("Yakin Hapus Data?", vbYesNo, "Peringatan") If a = vbYes Then EksekusiSQL ("Delete from Customer where No_Ktp = '" & Text2(0).Text & "'") openDb

86

hapus Else Exit Sub End If End If Case 4: hapus Case 5: MDIForm1.Show Unload Me End Select End Sub Private Sub tampil(cari As String) Dim W As Integer, ls As ListItem ListView1.ListItems.Clear OpenRecordset "Select * from Customer where Nama like '%" & Text1.Text & "%'" If Not Rs.EOF Then Do Until Rs.EOF For W = 1 To Rs.RecordCount Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) ls.SubItems(8) = Rs.Fields(8) Rs.MoveNext Next W Loop End If End Sub Private Sub Form_Load() Buka openDb End Sub Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(,

, , , , ,

"No Ktp", 1500) "Nama", 1500) "Alamat", 1500) "JK", 1500) "Telepon", 1500)

87

Set header = ListView1.ColumnHeaders.Add(, , "Nama Perusahaan", 2000) Set header = ListView1.ColumnHeaders.Add(, , "Alamat Perusahaan", 2000) Set header = ListView1.ColumnHeaders.Add(, , "Telepon Perusahaan", 2000) Set header = ListView1.ColumnHeaders.Add(, , "Status", 1500) Call OpenRecordset("SELECT * FROM Customer") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) ls.SubItems(8) = Rs.Fields(8) Rs.MoveNext Loop End If End Sub Private Sub ListView1_Click() Text2(0).Text = ListView1.SelectedItem.Text Text2(1).Text = ListView1.SelectedItem.SubItems(1) Text2(2).Text = ListView1.SelectedItem.SubItems(2) Combo1.Text = ListView1.SelectedItem.SubItems(3) Text2(3).Text = ListView1.SelectedItem.SubItems(4) Text2(4).Text = ListView1.SelectedItem.SubItems(5) Text2(5).Text = ListView1.SelectedItem.SubItems(6) Text2(6).Text = ListView1.SelectedItem.SubItems(7) Text2(7).Text = ListView1.SelectedItem.SubItems(8) End Sub Private Sub Text1_Change() tampil Text1.Text End Sub Private Sub Text2_KeyPress(Index As Integer, KeyAscii As Integer) Text2(0).Text = Val(Text2(0).Text) If Text2(0).Text = 0 Then Text2(0).Text = "" End If If KeyAscii = 13 Then Select Case Index Case 0: Text2(1).SetFocus Case 1: Text2(2).SetFocus Case 2: Text2(3).SetFocus

88

Case Case Case Case Case

3: 4: 5: 6: 7:

Text2(4).SetFocus Text2(5).SetFocus Text2(6).SetFocus Text2(7).SetFocus Command1(1).SetFocus

End Select End If End Sub

4.2.3.2 Entry Data Pegawai Digunakan untuk memasukan data pegawai yang berada dalam perusahaan,

Gambar 4.3. Entry Data Pegawai Kode Program:


Private Sub hapus() Dim a As Integer For a = 0 To 5 Text1(a).Text = "" Next a

89

End Sub Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, 2000) Set header = ListView1.ColumnHeaders.Add(, 1500) Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(,

, , , ,

"NIP", 1500) "nama", 2000) "Alamat", 2000) "tempat lahir",

, "tanggal lahir", , "JK", 1500) , "Telepon", 1500) , "Bagian", 1500)

Call OpenRecordset("SELECT * FROM Pegawai") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) Rs.MoveNext Loop End If End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: Text1(0).SetFocus hapus Case 1: If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Or Text1(4).Text = "" Or Text1(5).Text = "" Or DTPicker1.Value = "" Or Combo1.Text = "" Then MsgBox "Data Belum Di Isi", vbCritical, "Peringatan" Else If (MsgBox("Simpan Datanya?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then EksekusiSQL ("Insert Into Pegawai(NIP,Nama,Alamat,tmptlahir,tgllahir,JK,Telepon,Bagian) Values('" & Text1(0).Text & "','" & Text1(1).Text & "','" &

90

Text1(2).Text & "','" & Text1(3).Text & "','" & DTPicker1.Value & "','" & Combo1.Text & "','" & Text1(4).Text & "','" & Text1(5).Text & "')") End If openDb hapus End If Case 2 Dim Konfirm As String If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Or Text1(4).Text = "" Or Combo1.Text = "" Or DTPicker1.Value = "" Then MsgBox "Data Belum Lengkap", vbCritical, "Dilihat" Else Konfirm = MsgBox("Yakin Edit Data?", vbYesNo, "Peringatan") If Konfirm = vbYes Then EksekusiSQL ("UPDATE Pegawai set Nama = '" & Text1(1).Text & "',Alamat = '" & Text1(2).Text & "',tmptlahir = '" & Text1(3).Text & "',tgllahir = '" & DTPicker1.Value & "',JK = '" & Combo1.Text & "', telepon = '" & Text1(4).Text & "', Bagian = '" & Text1(5).Text & "' WHERE NIP = '" & Text1(0).Text & "'") MsgBox "Data Telah Di Edit", vbInformation, "Pesan" hapus openDb Else Exit Sub End If End If Case 3 Dim a As String If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Or Text1(4).Text = "" Or Text1(5).Text = "" Or DTPicker1.Value = "" Or Combo1.Text = "" Then MsgBox "Data Belum Lengkap", vbCritical, "Dilihat" Else a = MsgBox("Yakin Hapus Data?", vbYesNo, "Peringatan") If a = vbYes Then EksekusiSQL ("Delete from Pegawai where NIP = '" & Text1(0).Text & "'") openDb hapus Else Exit Sub End If End If Case 4 hapus Case 5

91

Unload Me End Select End Sub Private Sub Form_Load() Buka openDb End Sub Private Sub Label4_Click() End Sub Private Sub FrmFoto_DragDrop(Source As Control, X As Single, Y As Single) End Sub Private Sub ListView1_Click() Text1(0).Text = ListView1.SelectedItem.Text Text1(1).Text = ListView1.SelectedItem.SubItems(1) Text1(2).Text = ListView1.SelectedItem.SubItems(2) Text1(3).Text = ListView1.SelectedItem.SubItems(3) DTPicker1.DataField = ListView1.SelectedItem.SubItems(4) Combo1.Text = ListView1.SelectedItem.SubItems(5) Text1(4).Text = ListView1.SelectedItem.SubItems(6) Text1(5).Text = ListView1.SelectedItem.SubItems(7) End Sub Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then Select Case Index Case Case Case Case Case Case 0: 1: 2: 3: 4: 4: Text1(1).SetFocus Text1(2).SetFocus Text1(3).SetFocus Text1(4).SetFocus Text1(5).SetFocus Command1(1).SetFocus

End Select End If End Sub

92

4.2.3.3 Entry Data Rumah Digunakan untuk memasukan data rumah yang siap dijual kepada konsumen

Gambar 4.4. Entry Data Rumah Kode Program:


Option Explicit Dim i As Integer Dim a, b As Double Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, 1500) Set header = ListView1.ColumnHeaders.Add(, 1500) Set header = ListView1.ColumnHeaders.Add(, 1500) Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, 1500) Set header = ListView1.ColumnHeaders.Add(,

, "Kode Rumah", , "Type Rumah", , "Luas Rumah", , "Harga", 1500) , "Uang Muka", , "Nomer", 1500)

93

Call OpenRecordset("SELECT * FROM Rumah") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) Rs.MoveNext Loop End If End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: For i = 0 To 3 Text1(i).Enabled = True Next i Text3.SetFocus hapus Case 1: If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Then MsgBox "Data Belum Di Isi", vbCritical, "Peringatan" Else If (MsgBox("Simpan Data?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then EksekusiSQL ("Insert Into Rumah(Kode_Rumah,Type_Rumah,Luas_Rumah,Harga,Uang_Muka,Nomer,Statu s) Values('" & Text3.Text & "'," & Text1(0).Text & ",'" & Text1(1).Text & "','" & Text1(2).Text & "','" & Text1(3).Text & "','" & Text4.Text & "','" & "Kosong" & "')") End If openDb hapus End If Case 2: Dim Konfirm As String If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Then

94

MsgBox "Data Belum Lengkap", vbCritical, "Dilihat" Else Konfirm = MsgBox("Yakin Edit Data?", vbYesNo, "Peringatan") If Konfirm = vbYes Then EksekusiSQL ("UPDATE Rumah set Type_Rumah = '" & Text1(0).Text & "',Luas_Rumah = '" & Text1(1).Text & "',Harga = " & Text1(2).Text & ", Uang_Muka = " & Text1(3).Text & " WHERE Kode_Rumah = '" & Text3.Text & "'") MsgBox "Data Telah Di Update!", vbInformation, "Pesan" hapus openDb Else Exit Sub End If End If Case 3: Dim a As String If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Then MsgBox "Data Belum Lengkap", vbCritical, "Dilihat" Else a = MsgBox("Yakin Hapus Data?", vbYesNo, "Peringatan") If a = vbYes Then EksekusiSQL ("Delete from Rumah where Kode_Rumah = '" & Text3.Text & "'") openDb hapus Else Exit Sub End If End If Case 4: hapus Case 5: Unload Me MDIForm1.Show End Select End Sub Private Sub tampil(cari As String) Dim W As Integer, ls As ListItem ListView1.ListItems.Clear OpenRecordset "Select * from Rumah where Type_Rumah like '%" & Text2.Text & "%'" If Not Rs.EOF Then Do Until Rs.EOF For W = 1 To Rs.RecordCount Set ls = ListView1.ListItems.Add(, , Rs.Fields(0))

95

ls.SubItems(1) ls.SubItems(2) ls.SubItems(3) ls.SubItems(4) ls.SubItems(5) Rs.MoveNext Next W Loop End If End Sub

= = = = =

Rs.Fields(1) Rs.Fields(2) Rs.Fields(3) Rs.Fields(4) Rs.Fields(5)

Private Sub CommandButton1_Click() typerumah.Show End Sub Private Sub Form_Load() Buka openDb End Sub Private Sub ListView1_Click() Text3.Text = ListView1.SelectedItem.Text Text1(0).Text = ListView1.SelectedItem.SubItems(1) Text1(1).Text = ListView1.SelectedItem.SubItems(2) Text1(2).Text = ListView1.SelectedItem.SubItems(3) Text1(3).Text = ListView1.SelectedItem.SubItems(4) Text4.Text = ListView1.SelectedItem.SubItems(5) End Sub Private Sub Text1_Change(Index As Integer) a = Val(Text1(2).Text) b = Val(Text1(3).Text) End Sub Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then Select Case Index Case 0: Text1(1).SetFocus Case 1: Text1(2).SetFocus Case 2: Text1(3).SetFocus 'Text1(2).Text = a Case 3: Text4.SetFocus 'Text1(3).Text = b ' Case 4: Command1(1).SetFocus End Select End If End Sub Private Sub hapus()

96

For i = 0 To 3 Text1(i).Text = "" Next i End Sub Private Sub Text2_Change() tampil Text2.Text End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text1(0).SetFocus End If End Sub Private Sub Text4_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Command1(1).SetFocus End If End Sub

4.2.3.4 Entry Data Fasilitas Digunakan untuk memasukan data fasilitas yang bisa digunakan untuk memperbaharui data rumah yang ada

Gambar 4.5. Entry Data Fasilitas

97

Kode Program :
Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, 1000) Set header = ListView1.ColumnHeaders.Add(, 1000) Set header = ListView1.ColumnHeaders.Add(, 2000) Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(,

, "No Fasilitas", , "Type Rumah", , "Nama Fasilitas", , "Jumlah", 1000) , "Harga", 1500)

Call OpenRecordset("SELECT * FROM Fasilitas") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) Rs.MoveNext Loop End If End Sub Private Sub tampil(cari As String) Dim W As Integer, ls As ListItem ListView1.ListItems.Clear OpenRecordset "Select * from Fasilitas where Nama_Fasilitas like '%" & Text2.Text & "%'" If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) Rs.MoveNext Loop End If End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: Text1(0).SetFocus hapus

98

Case 1: If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Then MsgBox "maaf data anda belum lengkap", vbCritical, "Peringatan" Else If (MsgBox("apakah anda yakin ingin menyimpan?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then EksekusiSQL ("Insert Into Fasilitas(No_Fasilitas,Type_Rumah,Nama_Fasilitas,Jumlah,Harga) Values('" & Text1(0).Text & "','" & Combo1.Text & "','" & Text1(1).Text & "','" & Text1(2).Text & "','" & Text1(3).Text & "')") End If openDb hapus End If Case 2: Dim Konfirm As String If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Then MsgBox "Data Ndak Lengkap Hoe....", vbCritical, "Dilihat" Else Konfirm = MsgBox("Awas !!!! Edit Data?", vbYesNo, "Peringatan") If Konfirm = vbYes Then EksekusiSQL ("UPDATE Fasilitas set Type_Rumah = '" & Combo1.Text & "', Nama_Fasilitas = '" & Text1(1).Text & "' , Jumlah = " & Text1(2).Text & " , Harga = " & Text1(3).Text & " WHERE No_Fasilitas = '" & Text1(0).Text & "'") MsgBox "Data Telah update! Boss!!!!!", vbInformation, "Pesan" hapus openDb Else Exit Sub End If End If Case 3: Dim a As String If Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" Or Text1(3).Text = "" Then MsgBox "maaf data anda tidak lengkap", vbCritical, "Dilihat" Else a = MsgBox("Awas !!!! Delete Data?", vbYesNo, "Peringatan") If a = vbYes Then

99

EksekusiSQL ("Delete from Fasilitas where No_Fasilitas = '" & Text1(0).Text & "'") openDb hapus Else Exit Sub End If End If Case 4: hapus Case 5: Unload Me End Select End Sub 'Private Sub tampilCb()

'Dim a As Integer 'Call OpenRecordset("SELECT * FROM Rumah") ' ' For a = 0 To Rs.RecordCount - 1 Combo1.List(a) = Rs!Type_Rumah ' Rs.MoveNext ' Next a 'End Sub Private Sub Form_Load() Buka 'tampilCb openDb End Sub Private Sub hapus() Dim i As Integer For i = 0 To 3 Text1(i).Text = "" Next i End Sub Private Sub ListView1_Click() Text1(0).Text = ListView1.SelectedItem.Text Combo1.Text = ListView1.SelectedItem.SubItems(1) Text1(1).Text = ListView1.SelectedItem.SubItems(2) Text1(2).Text = ListView1.SelectedItem.SubItems(3) Text1(3).Text = ListView1.SelectedItem.SubItems(4) End Sub

100

Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then Select Case Index Case Case Case Case 0: 1: 2: 3: Text1(1).SetFocus Text1(2).SetFocus Text1(3).SetFocus Command1(1).SetFocus

End Select End If End Sub Private Sub Text2_Change() tampil Text2.Text End Sub

4.2.3.5 Entry Data Bunga Digunakan untuk menyeting besarnya bunga yang digunakan dalam proses transaksi:

Gambar 4.6. Entry Data Bunga

101

Kode Program:
Private Sub openDb2() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, , "Syarat", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Persen", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Lama Cicilan", 1500) Call OpenRecordset("SELECT * FROM Presen") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = (Rs.Fields(2)) / 12 Rs.MoveNext Loop End If End Sub Private Sub hapus() Text1(0).Text = "" Text1(1).Text = "" Text1(2).Text = "" End Sub Private Sub Command1_Click() EksekusiSQL ("Insert Into presen(Syarat,presen,lama_Cicilan) Values('" & Text1(0).Text & "','" & Text1(1).Text & "','" & (Text1(2).Text) * 12 & "')") openDb2 hapus End Sub Private Sub Command2_Click() EksekusiSQL ("UPDATE presen set presen = '" & Text1(1).Text & "',lama_Cicilan = '" & (Text1(2).Text) * 12 & "'WHERE Syarat = '" & Text1(0).Text & "'") openDb2 hapus End Sub Private Sub Command3_Click() EksekusiSQL ("Delete from presen where Syarat = '" & Text1(0).Text & "'") openDb2 hapus End Sub Private Sub Form_Load() Buka openDb2 End Sub

102

Private Sub ListView1_Click() Text1(0).Text = ListView1.SelectedItem.Text Text1(1).Text = ListView1.SelectedItem.SubItems(1) Text1(2).Text = ListView1.SelectedItem.SubItems(2) End Sub

4.2.4

Data Transaksi

Berisi file transaksi yang ada pada perusahaan, yaitu penjualan tunai, penjualan kredit, angsuran dan pengembalian. 4.2.4.1 Transaksi Penjualan Tunai Berisi data penjualan rumah secara tunai oleh customer

Gambar 4.7.Transaksi Penjualan Tunai

103

Kode Program:
Option Explicit Dim a, b, c As Object Private Sub hapus() Dim s As Integer For s = 0 To 1 Text1(s).Text = "" Next s For s = 3 To 4 Text1(s).Text = "" Next s For s = 0 To 6 CheckBox1(s).Value = "" ' Text1(s).Text = "" Next s For s = 0 To 3 NumberBox1(s) = 0 Next s Text2.Text = "'" Combo1.Clear ListView1.ListItems.Clear Text3.Text = "" End Sub Private Sub Command1_Click() Fr_Table_Tanah.Show End Sub Private Sub Command2_Click() Fr_Table_Customer.Show End Sub Private Sub Command3_Click(Index As Integer) Select Case Index Case 0: If NumberBox1(0) = 0 Or NumberBox1(1) = 0 _ Or Text1(0).Text = "" Or Text1(1).Text = "" _ Or Text1(2).Text = "" Or Text1(3).Text = "" Or Text1(4).Text = "" _ Or CheckBox1(0).Value = "" Or CheckBox1(1).Value = "" _ Or CheckBox1(2).Value = "" Or CheckBox1(3).Value = "" Or CheckBox1(4).Value = "" _ Or CheckBox1(5).Value = "" Or CheckBox1(6).Value = "" Then

104

MsgBox "Data Belum Di Isi", vbCritical, "Peringatan" Else If (MsgBox("Simpan Datanya?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then EksekusiSQL ("Insert Into Tunai(No_Reg,Nama_Karyawan,Tanggal,No_KTP,Nama,Type_Rumah,Harga_Aw al,Harga_Total) Values('" & Text2.Text & "','" & Label6.Caption & "','" & Label7.Caption & "','" & Text1(3).Text & "','" & Text1(4).Text & "','" & Text1(0).Text & "','" & NumberBox1(0) & "','" & NumberBox1(1) & "')") 'EksekusiSQL ("Insert Into Laporan_Fasilitas(No_Reg,Harga_Seluruh) Values('" & Text2.Text & "','" & NumberBox1(3) & "')") ' hasil_banyak = banyak - 1 EksekusiSQL ("UPDATE Rumah set Status = '" & "TerIsi" & "' WHERE Type_Rumah = '" & Text1(0).Text & "' and Nomer = '" & Text4.Text & "'") EksekusiSQL ("Insert Into Syarat(No_Reg,Suami,Istri,Surat_Nikah,Surat_Keluarga,Foto,Surat_B_ P_Rumah,Materai) Values('" & Text2.Text & "','" & CheckBox1(0).Value & "','" & CheckBox1(1).Value & "','" & CheckBox1(2).Value & "','" & CheckBox1(3).Value & "','" & CheckBox1(4).Value & "','" & CheckBox1(5).Value & "','" & CheckBox1(6).Value & "')") EksekusiSQL ("UPDATE Customer set Status = '" & "L" & "' WHERE No_Ktp = '" & Text1(3).Text & "'") '// 'Call OpenRecordset("SELECT * FROM WHERE Type_Rumah = '" & Text1(0).Text & "' ") ' jumlah = Rs!jumlah - hasil_banyak ' EksekusiSQL ("UPDATE Laporan_Pembangunan set Jumlah = '" & jumlah & "' WHERE Type_Rumah = '" & Text1(0).Text & "'") '// End If Seluruh_Bangunan

End If Case 1: hapus

105

Case 2: Fr_Table_Tunai.Show Case 3: Call OpenRecordset("SELECT * FROM Tunai WHERE No_Reg = '" & Text2.Text & "'") Set Dr_Cetak_Tunai.DataSource = Rs Dr_Cetak_Tunai.Show 'If NumberBox1(0) = 0 Or NumberBox1(1) = 0 _ ' Or Text1(0).Text = "" Or Text1(1).Text = "" _ ' Or Text1(2).Text = "" Or Text1(3).Text = Text1(4).Text = "" _ ' Or Text1(9).Text = "" Or Text1(10).Text = "" _ Or Text1(11).Text = "" Or Text1(12).Text = Text1(13).Text = "" _ Or Text1(14).Text = "" Or Text1(15).Text = "" Then ' ' Else ' Set a = CreateObject("Excel.Application") ' Set b = a.Workbooks.Add(App.Path & "\data\Tunai.xls") ' Set c = b.Sheets(1) ' ' ' ' ' ' ' ' ' ' ' ' c.Cells(8, 4) = Text2.Text c.Cells(9, 4) = Text1(3).Text c.Cells(10, 4) = Text1(4).Text c.Cells(11, 4) = Text1(0).Text c.Cells(12, 4) = Text1(1).Text c.Cells(13, 4) = NumberBox1(0) c.Cells(14, 4) = Text1(2).Text c.Cells(15, 4) = Text3.Text c.Cells(16, 4) = NumberBox1(3) c.Cells(20, 4) = NumberBox1(1) c.Cells(5, 4) = Label7.Caption

"" ""

Or Or

MsgBox "Data Belum Di Isi", vbCritical, "Peringatan"

' c.Cells(23, 4) = Label6.Caption ' a.Visible = True ' End If Case 4: Unload Me End Select End Sub Private Sub Command4_Click() hapus Call OpenRecordset("SELECT * FROM Tunai")

106

If Rs.RecordCount = 0 Then Text2.Text = "TU1" Else Text2.Text = "TU" & Rs.RecordCount + 1 End If End Sub Private Sub Command5_Click() OpenRecordset "Select * from Fasilitas where Nama_Fasilitas like '%" & Combo1.Text & "%' and Type_Rumah = '" & Text1(0).Text & "'" If Combo1.Text = "0" Then NumberBox1(4) = 0 NumberBox1(2) = 0 Else NumberBox1(4) = Rs.Fields(3) NumberBox1(2) = Rs.Fields(4) End If Rs.Close End Sub Private Sub Command6_Click() Dim ls As ListItem If NumberBox1(2) = 0 Then MsgBox "Tolong di isi lagi", vbCritical, "peringatan" Else fas = NumberBox1(4) a = NumberBox1(2) * NumberBox1(4) NumberBox1(3) = NumberBox1(3) + a Set ls = ListView1.ListItems.Add(, , Combo1.Text) ls.SubItems(1) = NumberBox1(2) ls.SubItems(2) = NumberBox1(4) NumberBox1(2) = 0 NumberBox1(4) = 0 Text3.Text = Text3.Text + " , " + Combo1.Text End If End Sub Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport

107

Set header = ListView1.ColumnHeaders.Add(, , "Nama", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Harga", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Jumlah", 1500) End Sub Private Sub Form_Load() Label6.Caption = nama_pegawai Buka openDb 'tampilCb Label7.Caption = FormatDateTime(Now, vbShortDate) End Sub Private Sub Frame5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) ListView1.Visible = False End Sub

Private Sub NumberBox1_Change(Index As Integer) hitung End Sub Private Sub hitung() Dim a As Double a = NumberBox1(0) - (NumberBox1(0) * (Val(Text1(2).Text) / 100)) NumberBox1(1) = a + NumberBox1(3) End Sub Private Sub NumberBox1_MouseMove(Index As Integer, Integer, Shift As Integer, X As Single, Y As Single) Select Case Index Case 3: ListView1.Visible = True End Select End Sub Private Sub Text1_Change(Index As Integer) hitung End Sub Button As

108

4.2.4.2 Transaksi Penjualan Kredit Penjualan rumah secara kredit yang dilakukan oleh customer dengan aneka syarat

Gambar 4.8.Transaksi Penjualan Kredit Kode Program:


Dim a, b, c As Double Dim X, Y, z As Object Dim st As String Private Sub hitung() OpenRecordset "Select * from presen where Syarat like '%" & Combo3.Text & "%'" 'Bunga = Rs!lama_Cicilan 'c = Rs!presen a = NumberBox1(0) - NumberBox1(1) If Combo3.Text = "Tahapan" Then NumberBox1(2) = (a + (a * (Rs!presen))) / Rs!lama_Cicilan Else 'NumberBox1(2) = a * (Rs!presen) / 12 NumberBox1(2) = (a * Text2(0).Text) / 12 'NumberBox1(2) = (a * Text2(0).Text ) / 12 End If

109

End Sub Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, , "No Ktp", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Nama", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Alamat", 1500) Set header = ListView1.ColumnHeaders.Add(, , "JK", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Telepon", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Nama Perusahaan", 2000) Set header = ListView1.ColumnHeaders.Add(, , "Alamat Perusahaan", 2000) Set header = ListView1.ColumnHeaders.Add(, , "Telepon Perusahaan", 2000) Set header = ListView1.ColumnHeaders.Add(, , "Status", 1500) Call OpenRecordset("SELECT * FROM Customer") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) ls.SubItems(8) = Rs.Fields(8) Rs.MoveNext Loop End If End Sub Private Sub openDb2() ListView2.ListItems.Clear ListView2.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView2.View = lvwReport Set header = ListView2.ColumnHeaders.Add(, 1500) Set header = ListView2.ColumnHeaders.Add(, 1500) Set header = ListView2.ColumnHeaders.Add(, 1500) Set header = ListView2.ColumnHeaders.Add(, Set header = ListView2.ColumnHeaders.Add(, 1500) Set header = ListView2.ColumnHeaders.Add(, Set header = ListView2.ColumnHeaders.Add(, Call OpenRecordset("SELECT * FROM Rumah") If Not Rs.EOF Then

, "Kode_Rumah", , "Type Rumah", , "Luas Rumah", , "Harga", 1500) , "Uang Muka", , "Urutan", 1500) , "Status", 1500)

110

Do Until Rs.EOF Set ls = ListView2.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) Rs.MoveNext Loop End If End Sub Private Sub tampilCb() Dim a As Integer Call OpenRecordset("SELECT * FROM Fasilitas where Type_Rumah = '" & Text1(0).Text & "'") Combo1.List(0) = "0" For a = 1 To Rs.RecordCount Combo1.List(a) = Rs!Nama_Fasilitas Rs.MoveNext Next a End Sub Private Sub Combo3_Click() If Combo3.Text = "Tahapan" Then NumberBox1(1) = (NumberBox1(0) / 2) Else If Combo3.Text = "0" Then NumberBox1(1) = 0 Else NumberBox2 = sisa End If End If Call OpenRecordset("SELECT * FROM presen WHERE syarat = '" & Combo3.Text & "'") Text2(0).Text = Rs!presen End Sub Private Sub Command1_Click() openDb2 Frame7.Visible = True End Sub

111

Private Sub Command10_Click() Frame6.Visible = False End Sub Private Sub Command2_Click() openDb Frame6.Visible = True End Sub Private Sub Command3_Click(Index As Integer) Select Case Index Case 0: If Option1 = True Then st = "umum" Else If Option2 = True Then st = "P. Sendiri" End If End If

If NumberBox1(0) = 0 Or NumberBox1(1) = 0 Or NumberBox1(2) = 0 _ Or Text1(0).Text = "" Or Text1(1).Text = "" Or Text1(2).Text = "" _ Or Text1(3).Text = "" Or CheckBox1(0).Value = "" Or CheckBox1(1).Value = "" Or CheckBox1(2).Value = "" Or CheckBox1(3).Value = "" _ Or CheckBox1(4).Value = "" Or CheckBox1(5).Value = "" Or CheckBox1(6).Value = "" Or Text3.Text = "" Then MsgBox "Data Belum Di Isi", vbCritical, "Peringatan" Else If (MsgBox("Simpan Data?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then EksekusiSQL ("Insert Into Kredit(No_Reg,Nama_Karyawan,Tanggal,No_KTP,Nama,Type_Rumah,Harga,C icilan,Bulan) Values('" & Text3.Text & "','" & Label25.Caption & "','" & Label26.Caption & "','" & Text1(2).Text & "','" & Text1(3).Text & "','" & Text1(0).Text & "','" & NumberBox1(0) & "','" & NumberBox1(2) & "','" & Bunga & "')") EksekusiSQL ("Insert Into Uang_Muka(No_Reg,Nama,Uang_Muka) Values('" & Text3.Text & "','" & Text1(3).Text & "','" & NumberBox1(1) & "')")

112

'EksekusiSQL ("Insert Into Laporan_Fasilitas(No_Reg,Harga_Seluruh) Values('" & Text3.Text & "','" & NumberBox1(3) & "')") '// EksekusiSQL ("UPDATE Rumah set Status = '" & "TerIsi" & "' WHERE Type_Rumah = '" & Text1(0).Text & "' and Nomer = '" & Text5.Text & "'") EksekusiSQL ("Insert Into Syarat_Kredit(No_Reg,Suami,Istri,Surat_Nikah,Surat_Keluarga,Foto,S urat_B_P_Rumah,Materai,FC_Siup,FC_Top,Penghasilan_Per_Bulan,Status ) Values('" & Text3.Text & "','" & CheckBox1(0).Value & "','" & CheckBox1(1).Value & "','" & CheckBox1(2).Value & "','" & CheckBox1(3).Value & "','" & CheckBox1(4).Value & "','" & CheckBox1(5).Value & "','" & CheckBox1(6).Value & "','" & CheckBox1(7).Value & "','" & CheckBox1(8).Value & "','" & NumberBox1(5) & "','" & st & "')") EksekusiSQL ("UPDATE Customer set Status = '" & "K" & "' WHERE No_Ktp = '" & Text1(2).Text & "'") '// ' Call OpenRecordset("SELECT * FROM Seluruh_Bangunan WHERE Type_Rumah = '" & Text1(0).Text & "' ") ' jumlah = Rs!jumlah - hasil_banyak ' EksekusiSQL ("UPDATE Laporan_Pembangunan set Jumlah = '" & jumlah & "' WHERE Type_Rumah = '" & Text1(0).Text & "'") '//

'hapus End If

End If Case 1: hapus Case 2: Fr_Table_Kredit.Show Case 3: Call OpenRecordset("SELECT * FROM Kredit WHERE No_Reg = '" & Text3.Text & "'") Set Dr_Cetak_Kredit.DataSource = Rs

113

Dr_Cetak_Kredit.Show 'Set x = CreateObject("Excel.Application") 'Set y = x.Workbooks.Add(App.Path & "\data\Kredit.xls") 'Set z = y.Sheets(1) ' ' ' ' ' ' ' ' ' ' ' ' ' ' z.Cells(5, 4) = Label26.Caption z.Cells(8, 4) = Text3.Text z.Cells(9, 4) = Text1(2).Text z.Cells(10, 4) = Text1(3).Text z.Cells(11, 4) = Text1(0).Text z.Cells(12, 4) = Text1(1).Text z.Cells(13, 4) = NumberBox1(0) z.Cells(14, 4) = NumberBox1(1) z.Cells(15, 4) = Combo3.Text z.Cells(16, 4) = NumberBox1(2) z.Cells(17, 4) = Combo1.Text z.Cells(18, 4) = NumberBox1(3) z.Cells(23, 4) = Label25.Caption x.Visible = True

Case 4: Unload Me End Select

End Sub Private Sub Command4_Click() hapus Call OpenRecordset("SELECT * FROM Kredit") If Rs.RecordCount = 0 Then Text3.Text = "Kr 1" Else Text3.Text = "Kr " & Rs.RecordCount + 1 End If End Sub Private Sub Command5_Click() OpenRecordset "Select * from Fasilitas where Nama_Fasilitas like '%" & Combo1.Text & "%'" If Combo1.Text = "0" Then NumberBox1(3) = 0 Else NumberBox1(4) = Rs!harga NumberBox1(6) = Rs!jumlah

114

End If End Sub Private Sub Command6_Click() OpenRecordset "Select * from Fasilitas where NO_Fasilitas like '%" & Combo2.Text & "%'" If Combo2.Text = "0" Then Text1(6).Text = "" Text1(7).Text = "" NumberBox1(4) = 0 Else Text1(6).Text = Rs.Fields(1) Text1(7).Text = Rs.Fields(2) NumberBox1(4) = Rs.Fields(3) End If End Sub Private Sub Command7_Click() Call OpenRecordset("SELECT * FROM Rumah WHERE Type_Rumah = '" & Text1(0).Text & "' and Nomer = '" & Text5.Text & "'") If NumberBox1(1) < Rs!Uang_Muka Then MsgBox "Hoe..... Harus Lebih > atau = uang muka", vbCritical, " Perhatian" Else hitung End If End Sub Private Sub Command8_Click() Dim ls As ListItem If NumberBox1(6) = 0 Then MsgBox "Tolong di isi lagi", vbCritical, "peringatan" Else a = NumberBox1(6) * NumberBox1(4) NumberBox1(3) = NumberBox1(3) + a Set ls = ListView3.ListItems.Add(, , Combo1.Text) ls.SubItems(1) = NumberBox1(6) ls.SubItems(2) = NumberBox1(4) NumberBox1(4) = 0 NumberBox1(6) = 0 End If End Sub Private Sub openDb3()

115

ListView3.ListItems.Clear ListView3.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView3.View = lvwReport Set header = ListView3.ColumnHeaders.Add(, , "Nama", 1500) Set header = ListView3.ColumnHeaders.Add(, , "Harga", 1000) Set header = ListView3.ColumnHeaders.Add(, , "Jumlah", 1500) End Sub Private Sub Command9_Click() Frame7.Visible = False End Sub Private Sub Form_Load() Label25.Caption = nama_pegawai Label26.Caption = FormatDateTime(Now, vbShortDate) Buka openDb openDb2 openDb3 tampilCb tampil End Sub Private Sub tampil() Dim a As Integer Call OpenRecordset("SELECT * FROM Presen") Combo3.List(0) = 0 For a = 1 To Rs.RecordCount Combo3.List(a) = Rs!Syarat Rs.MoveNext Next a End Sub Private Sub Frame3_DragDrop(Source As Control, X As Single, Y As Single) End Sub Private Sub Frame5_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) ListView3.Visible = False End Sub Private Sub ListView1_DblClick() If ListView1.SelectedItem.SubItems(8) = "K" Then MsgBox "Maaf Customer masih Ada tanggungan Kredit", vbCritical, "Maaf" Else

116

Text1(2).Text = ListView1.SelectedItem.Text Text1(3).Text = ListView1.SelectedItem.SubItems(1) Frame6.Visible = False End If openDb End Sub Private Sub ListView2_DblClick() If ListView2.SelectedItem.SubItems(6) = "TerIsi" Then MsgBox "Maaf Rumah Sudah TerIsi", vbCritical, "Peringatan" Else Text1(0).Text = ListView2.SelectedItem.SubItems(1) Text1(1).Text = ListView2.SelectedItem.SubItems(2) b = ListView2.SelectedItem.SubItems(3) sisa = ListView2.SelectedItem.SubItems(4) Text5.Text = ListView2.SelectedItem.SubItems(5) Frame7.Visible = False NumberBox1(0) = b tampilCb End If End Sub Private Sub NumberBox1_Change(Index As Integer) 'hitung NumberBox1(0) = b - NumberBox1(3) + NumberBox1(4) End Sub Private Sub NumberBox1_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) Select Case Index Case 3: ListView3.Visible = True End Select End Sub Private Sub Option2_Click() Label7.Visible = True Label22.Visible = True Label23.Visible = True CheckBox1(7).Visible = True CheckBox1(8).Visible = True NumberBox1(5).Visible = True End Sub Private Sub Option1_Click() Label7.Visible = False

117

Label22.Visible = False Label23.Visible = False CheckBox1(7).Visible = False CheckBox1(8).Visible = False NumberBox1(5).Visible = False End Sub Private Sub hapus() Dim W As Integer For W = 0 To 3 Text1(W).Text = "" Next W For W = 0 To 6 CheckBox1(W).Value = "" Next W Text3.Text = "" For W = 0 To 6 NumberBox1(W) = 0 Next W Combo1.Clear End Sub Private Sub Text4_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = 13 Then Select Case Index Case Case Case Case Case Case 0: 1: 2: 3: 4: 5: Text4(1).SetFocus Text4(2).SetFocus Text4(3).SetFocus Text4(4).SetFocus Text4(5).SetFocus Text4(6).SetFocus

End Select End If End Sub

118

4.2.4.3 Transaksi Angsuran Menghimpun data transaksi penjualan rumah secara kredit

Gambar 4.9.Transaksi Angsuran Kode Program


Private Sub hapus() Text1(0).Text = "" Text1(1).Text = "" NumberBox1(0) = 0 NumberBox1(2) = 0 NumberBox1(3) = 0 NumberBox1(4) = 0 Text2(0).Text = "" Text2(1).Text = "" Text2(3).Text = "" End Sub Private Sub Command1_Click() Frame3(2).Visible = True End Sub Private Sub tampil(cari As String) Dim W As Integer, ls As ListItem ListView2.ListItems.Clear OpenRecordset "Select * from Cicilan where No_Reg = '" & Text1(0).Text & "'" If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView2.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1)

119

ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) Rs.MoveNext Loop Text2(1).Text = ListView2.ListItems(Rs.RecordCount).SubItems(4) End If End Sub Private Sub Command2_Click(Index As Integer) Select Case Index Case 0: Dim q, W, e, R As String Dim s As String q = Day(Text2(1).Text) W = Month(Text2(2).Text) e = Year(Now) s = q & "/" & W & "/" & e Text3.Text = s If NumberBox1(4) = 0 Or Text2(1).Text = "" Or Text2(0).Text = "" Or Text2(3).Text = "" Then MsgBox "Data Belum Diisi", vbCritical, "Peringatan" Else If (MsgBox("Simpan Data?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then EksekusiSQL ("Insert Into Cicilan(No_Cicilan,No_Reg,Harga,Cicilan,Tanggal,Lambat,Denda,Tagih an) Values('" & Text2(0).Text & "','" & Text1(0).Text & "','" & NumberBox1(0) & "','" & NumberBox1(2) & "','" & Text3.Text & "','" & Text2(3).Text & "','" & NumberBox1(3) & "','" & NumberBox1(4) & "')") hasil_banyak = banyak - 1 EksekusiSQL ("UPDATE Kredit set Bulan = '" & hasil_banyak & "' WHERE No_Reg = '" & Text1(0).Text & "'") End If openDb openDb2 hapus

120

End If Case 1: Call OpenRecordset("SELECT * FROM Cicilan WHERE No_Cicilan = '" & Text2(0).Text & "'") Set Dr_Cetak_Angsuran.DataSource = Rs Dr_Cetak_Angsuran.Show 'Dim a, b, c As Object 'If Text1(0).Text = "" Or Text1(1).Text = "" _ ' Or Text2(0).Text = "" Or Text2(1).Text = "" Or Text2(2).Text = "" _ ' Or Text2(3).Text = "" Then ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Else Set a = CreateObject("Excel.Application") Set b = a.Workbooks.Add(App.Path & "\data\Cicilan.xls") Set c = b.Sheets(1) c.Cells(8, 4) = Text2(0).Text c.Cells(9, 4) = Text1(0).Text c.Cells(10, 4) = Text1(1).Text c.Cells(11, 4) = NumberBox1(0) c.Cells(12, 4) = NumberBox1(2) c.Cells(13, 4) = Text2(1).Text c.Cells(14, 4) = Text2(2).Text c.Cells(15, 4) = Text2(3).Text c.Cells(16, 4) = NumberBox1(3) c.Cells(22, 4) = NumberBox1(4) MsgBox "Data Belum Di Isi", vbCritical, "Peringatan"

' a.Visible = True ' End If Case 2: hapus Case 3: Unload Me End Select

End Sub Private Sub Command3_Click() Dim a, b, c, d As Double

121

If Text2(1).Text = "" Or Text2(2).Text = "" Then MsgBox "Data Belum Di Isi", vbCritical, "Peringatan" Else a = Day(Text2(1).Text) b = Day(Text2(2).Text) c = (Month(Text2(2).Text) - Month(Text2(1).Text)) * 30 d = (b - a + c) - 30 If d > 0 Then Text2(3).Text = d Else Text2(3).Text = "0" End If NumberBox1(3) = NumberBox1(2) * 0.05 * Val(Text2(3).Text) End If End Sub Private Sub Command4_Click() a = MsgBox("Yakin Hapus Data?", vbYesNo, "Peringatan") If a = vbYes Then EksekusiSQL ("Delete from Cicilan where No_Cicilan = '" & Text2(0).Text & "'") EksekusiSQL ("UPDATE Kredit set Bulan = Bulan + '" & 1 & "' WHERE No_Reg = '" & Text1(0).Text & "'") openDb2 Else Exit Sub End If End Sub Private Sub Command5_Click() Fr_Laporan_Angsuran.Show End Sub Private Sub Form_Load() Text2(2).Text = FormatDateTime(Now, vbShortDate) Buka openDb openDb2 End Sub Private Sub openDb2() ListView2.ListItems.Clear ListView2.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView2.View = lvwReport Set header = ListView2.ColumnHeaders.Add(, , 1500) Set header = ListView2.ColumnHeaders.Add(, , Set header = ListView2.ColumnHeaders.Add(, , Set header = ListView2.ColumnHeaders.Add(, , Set header = ListView2.ColumnHeaders.Add(, , Set header = ListView2.ColumnHeaders.Add(, ,

"No cicilan", "No reg", 1500) "Harga", 1500) "Cicilan", 1500) "Tanggal", 1500) "Lambat", 1500)

122

Set header = ListView2.ColumnHeaders.Add(, , "Denda", 1500) Set header = ListView2.ColumnHeaders.Add(, , "Tagihan", 1500) Call OpenRecordset("SELECT * FROM Cicilan") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView2.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) Rs.MoveNext Loop End If End Sub Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, 1500) Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, 1500) Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(, Set header = ListView1.ColumnHeaders.Add(,

, "No Reg", 1500) , "Nama Karyawan", , , , , "Tanggal", 1500) "No KTP", 1500) "Nama", 1500) "Type Rumah",

, "Harga", 1500) , "Cicilan", 1500) , "Bulan", 1500)

Call OpenRecordset("SELECT * FROM kredit") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) ls.SubItems(8) = Rs.Fields(8) Rs.MoveNext Loop End If End Sub Private Sub ListView1_DblClick() If ListView1.ListItems.Count = 0 Then

123

MsgBox "Data Kosong", vbCritical, "Perhatian" Frame3(2).Visible = False Else If ListView1.SelectedItem.SubItems(8) = 0 Then MsgBox "Sudah Lunas", vbCritical, "Peringatan" Else Text1(0).Text = ListView1.SelectedItem.Text Text1(1).Text = ListView1.SelectedItem.SubItems(4) NumberBox1(0) = ListView1.SelectedItem.SubItems(6) NumberBox1(2) = ListView1.SelectedItem.SubItems(7) banyak = ListView1.SelectedItem.SubItems(8) Text2(0).Text = "Au" & ListView2.ListItems.Count + 1 tampil Text1(0).Text If ListView2.ListItems.Count = 0 Then Text2(1).Text = ListView1.SelectedItem.SubItems(2) End If Frame3(2).Visible = False End If End If End Sub Private Sub ListView2_Click() If ListView2.ListItems.Count = 0 Then MsgBox "Data Kosong", vbCritical, "Perhatian" Else Text2(0).Text = ListView2.SelectedItem.Text Text1(0).Text = ListView2.SelectedItem.SubItems(1) End If End Sub Private Sub NumberBox1_Change(Index As Integer) NumberBox1(4) = NumberBox1(2) + NumberBox1(3) End Sub Private Sub Text1_Change(Index As Integer) tampil Text1(0).Text End Sub

4.2.4.4 Transaksi Pengembalian Transaksi yang digunakan untuk pengembalian rumah yang sudah dibayar uang mukanya, pengembalian melalu proses pemotongan biaya.

124

Gambar 4.9.Transaksi Pengembalian Kode Program :


Private Sub Command1_Click(Index As Integer) Select Case Index Case 1: If NumberBox1(0) = 0 Then MsgBox "Data Di Isi Dulu", vbCritical, "Peringatan" Else If (MsgBox("Simpan Data?", vbInformation + vbOKCancel, "Pertanyaan")) = vbOK Then

125

EksekusiSQL ("Delete from Kredit where No_Reg = '" & Text2.Text & "'") EksekusiSQL ("Delete from Uang_Muka where No_Reg = '" & Text2.Text & "'") '// Call OpenRecordset("SELECT * FROM Rumah where Type_Rumah = '" & Text1(2).Text & "'") ' banyak = Rs!banyak ' hasil_banyak = banyak + 1 EksekusiSQL ("UPDATE Rumah set Status = '" & "Kosong" & "' WHERE Type_Rumah = '" & Text1(2).Text & "'") EksekusiSQL ("UPDATE Customer set Status = '" & "N" & "' WHERE No_Ktp = '" & Text1(0).Text & "'") '// 'Call OpenRecordset("SELECT * FROM Seluruh_Bangunan WHERE Type_Rumah = '" & Text1(2).Text & "'") 'jumlah = Rs!jumlah - hasil_banyak ' EksekusiSQL ("UPDATE Laporan_Pembangunan set Jumlah = '" & jumlah & "' WHERE Type_Rumah = '" & Text1(2).Text & "'") '// EksekusiSQL ("Insert Into Pengembalian(No_Reg,No_Ktp,Nama,Type_Rumah,Harga,Uang_Muka,Potonga n,Kembali) Values('" & Text2.Text & "','" & Text1(0).Text & "','" & Text1(1).Text & "','" & Text1(2).Text & "','" & NumberBox1(0) & "','" & NumberBox1(1) & "','" & Text1(3).Text & "','" & NumberBox1(2) & "')")

openDb End If End If Case 2: Text2.Text = "" Text1(0).Text = Text1(1).Text = Text1(2).Text = NumberBox1(0) = NumberBox1(1) = NumberBox1(2) = Case 3:

"" "" "" 0 0 0

126

Call OpenRecordset("SELECT * FROM Pengembalian WHERE No_Reg = '" & Text2.Text & "'") Set Dr_Cetak_Pengembalian.DataSource = Rs Dr_Cetak_Pengembalian.Show Case 4: Unload Me End Select End Sub Private Sub Command2_Click() Frame3.Visible = True End Sub Private Sub Command3_Click() Frame3.Visible = False End Sub Private Sub Form_Load() Label25.Caption = nama_pegawai Buka openDb End Sub Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.View = lvwReport Set header = ListView1.ColumnHeaders.Add(, , "No Reg", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Tanggal", 1500) Set header = ListView1.ColumnHeaders.Add(, , "No KTP", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Nama", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Type Rumah", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Harga ", 1500) 'Set header = ListView1.ColumnHeaders.Add(, , "Uang Muka", 1500) Call OpenRecordset("SELECT * FROM kredit") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(2) ls.SubItems(2) = Rs.Fields(3) ls.SubItems(3) = Rs.Fields(4) ls.SubItems(4) = Rs.Fields(5) ls.SubItems(5) = Rs.Fields(6) Rs.MoveNext Loop End If

127

End Sub Private Sub Image2_Click() End Sub Private Sub ListView1_DblClick() Call OpenRecordset("SELECT No_Reg FROM Cicilan") If Rs!No_Reg = ListView1.SelectedItem.Text Then MsgBox "Uang Tidak Dapat Dikembalikan", vbCritical, "Perhatian" Else Text2.Text = ListView1.SelectedItem.Text Text1(0).Text = ListView1.SelectedItem.SubItems(2) Text1(1).Text = ListView1.SelectedItem.SubItems(3) Text1(2).Text = ListView1.SelectedItem.SubItems(4) NumberBox1(0) = ListView1.SelectedItem.SubItems(5) Frame3.Visible = False End If End Sub Private Sub NumberBox1_Change(Index As Integer) Call OpenRecordset("SELECT * FROM Uang_Muka where No_Reg = '" & Text2.Text & "'") If Not Rs.EOF Then NumberBox1(1) = Rs!Uang_Muka End If NumberBox1(2) = NumberBox1(1) * (Text1(3).Text / 100) NumberBox1(3) = NumberBox1(1) - NumberBox1(2)

End Sub

4.2.5

Laporan

Berisi laporan laporan penjualan maupun angsuran yang sudah terjadi pada transaksi penjualan dan angsuran, juga laporan pengembalian

128

4.2.5.1 Laporan Penjualan Tunai Berisi laporan penjualan rumah secara tunai

Gambar 4.10. Laporan Tunai Kode Program:


Option Explicit Private Sub Command1_Click() Dim tahun1, bulan1, hari1 As Integer Dim tahun2, bulan2, hari2 As Integer Dim hasil As Date Dim hasil2 As Date tahun1 = Year(DTPicker1.Value) bulan1 = Month(DTPicker1.Value) hari1 = Day(DTPicker1.Value) hasil = bulan1 & "/" & hari1 & "/" & tahun1 tahun2 = Year(DTPicker2.Value) bulan2 = Month(DTPicker2.Value) hari2 = Day(DTPicker2.Value) hasil2 = bulan2 & "/" & hari2 & "/" & tahun2 OpenRecordset "Select * from tunai WHERE Tanggal between #" & hasil & "# AND #" & hasil2 & "#" 'DataReport1.Label7 = DTPicker1.Value Set Dr_Tunai.DataSource = Rs Dr_Tunai.Show End Sub Private Sub CommandButton1_Click() fr_laptot.Hide 'fr_Laporan_Tot.Hide MDIForm1.Show End Sub

129

Private Sub CommandButton2_Click() End Sub Private Sub Form_Load() Buka ' DTPicker1.Value = DateSerial(Year(Date), Month(Date), 1) ' DTPicker2.Value = DateSerial(Year(Date), Month(Date) + 1, 1) - 1 'End Sub End Sub

4.2.5.2 Laporan Penjualan Kredit Berisi laporan penjualan rumah secara kredit

Gambar 4.11. Laporan Kredit Kode Program:


Private Sub Command1_Click() Unload Me End Sub Private Sub Form_Load() Buka openDb End Sub Private Sub openDb() ListView1.ListItems.Clear ListView1.ColumnHeaders.Clear Dim header As ColumnHeader, ls As ListItem ListView1.view = lvwReport Set header = ListView1.ColumnHeaders.Add(, , "No Reg", 1500) Set header = ListView1.ColumnHeaders.Add(, , "Nama Karyawan", 1500)

130

Set Set Set Set 1500) Set 1500) Set Set

header header header header

= = = =

ListView1.ColumnHeaders.Add(, ListView1.ColumnHeaders.Add(, ListView1.ColumnHeaders.Add(, ListView1.ColumnHeaders.Add(,

, , , ,

"Tanggal", 1500) "No KTP", 1500) "Nama", 1500) "Type Rumah",

header = ListView1.ColumnHeaders.Add(, , "Harga Awal", header = ListView1.ColumnHeaders.Add(, , "Cicilan", 1500) header = ListView1.ColumnHeaders.Add(, , "Bulan", 1500)

Call OpenRecordset("SELECT * FROM kredit") If Not Rs.EOF Then Do Until Rs.EOF Set ls = ListView1.ListItems.Add(, , Rs.Fields(0)) ls.SubItems(1) = Rs.Fields(1) ls.SubItems(2) = Rs.Fields(2) ls.SubItems(3) = Rs.Fields(3) ls.SubItems(4) = Rs.Fields(4) ls.SubItems(5) = Rs.Fields(5) ls.SubItems(6) = Rs.Fields(6) ls.SubItems(7) = Rs.Fields(7) ls.SubItems(8) = Rs.Fields(8) Rs.MoveNext Loop End If End Sub Private Sub ListView1_BeforeLabelEdit(Cancel As Integer) End Sub

4.2.5.3 Laporan Angsuran Berisi laporan angsuran yang dilakukan oleh customer

Gambar 4.12. Laporan Angsuran Kode Program:


Private Sub Command1_Click()

131

Buka Call OpenRecordset("SELECT * FROM Cicilan WHERE No_Reg = '" & Text1.Text & "'") Set Dr_Ansuran.DataSource = Rs Dr_Ansuran.Show End Sub Private Sub CommandButton1_Click() Fr_Laporan_Angsuran.Hide MDIForm1.Show End Sub Private Sub CommandButton3_Click() End Sub Private Sub CommandButton2_Click() End Sub Private Sub Form_Load() End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then command1.SetFocus End If End Sub

4.2.5.4 Laporan Keseluruhan Berisi seluruh laporan

Gambar 4.15 Laporan Keseluruhan

132

Kode Program:
Option Explicit Private Sub Command1_Click() Dim tahun1, bulan1, hari1 As Integer Dim tahun2, bulan2, hari2 As Integer Dim hasil As Date Dim hasil2 As Date tahun1 = Year(DTPicker1.Value) bulan1 = Month(DTPicker1.Value) hari1 = Day(DTPicker1.Value) hasil = bulan1 & "/" & hari1 & "/" & tahun1 tahun2 = Year(DTPicker2.Value) bulan2 = Month(DTPicker2.Value) hari2 = Day(DTPicker2.Value) hasil2 = bulan2 & "/" & hari2 & "/" & tahun2 OpenRecordset "Select * from tunai WHERE Tanggal between #" & hasil & "# AND #" & hasil2 & "#" 'DataReport1.Label7 = DTPicker1.Value Set Dr_Tunai.DataSource = Rs Dr_Tunai.Show End Sub Private Sub CommandButton1_Click() fr_laptot.Hide 'fr_Laporan_Tot.Hide MDIForm1.Show End Sub Private Sub CommandButton2_Click() End Sub Private Sub Form_Load() Buka ' DTPicker1.Value = DateSerial(Year(Date), Month(Date), 1) ' DTPicker2.Value = DateSerial(Year(Date), Month(Date) + 1, 1) - 1 'End Sub End Sub

133

4.3 Uji Coba Produk Setelah dilakukan uji coba applikasi maka dapat disimpulkan perbedaaan system yang lama dengan system yang baru 1. Pelayanan Sistem yang lama dibutuhkan waktu yang lama dalam melayani pelanggan, dikarenakan harus mencari data data yang diperlukan dalam transaksi, misalnya data rumah, data customer, data fasilitas, data harga dan lain sebagainya. Sistem sekarang proses pelayanan pada customer bisa berlangsung dengan cepat, dikarenakan semua data yang diperlukan sudah disediakan oleh sistem yang mudah diakses. 2. Transaksi Kredit Sistem yang lama data transaksi kredit yang dilakukan oleh customer pada sistem yang lama disimpan dalam file file cetak, hal ini sering terjadi kehilangan mapun kerusakan pada file tersebut yang berakibat penanganan penjualan tidak terkontrol

134

Sistem yang baru semua data disimpan dalam database sehingga resiko kehilangan dan kerusakan menjadi kecil. Pengendalian transaksi kredit juga semakin baik. 3. Pelaporan Sistem yang lama laporan laporan perusahaan mengalami proses yang lama, dikarenakan harus mencari dan menghitung data secara manual. Sistem yang baru laporan bisa diproses lebih cepat dikarenakan sistem data data untuk menunjang laporan disimpan oleh sistem, yang dapat digunakan dengan cepat. 4. keuntungan Perusahaan Sistem yang lama perusahaan berpotensial besar mengalami kerugian dikarenakan seringnya terjadi kesalahan dalam perhitungan besarnya denda dan pembayaran angsuran. Sistem yang baru sistem yang baru memberikan data besarnya denda dan angsuran dengan akurat

135

BAB V PENUTUP

5.1

Kesimpulan Dari hasil uji coba sistem yang dilakukan terhadap sistem informasi

penjualan perumahan secara tunai dan kredit pada PT Bhumi Indah Jaya dapat diambil kesimpulan. 1. Pelayanan terhadap customer menjadi lebih baik, karena dengan menggunakan sistem yang terkomputerisasi pencatatan transaksi dapat dilakukan dengan cepat 2. 3. Penanganan kredit menjadi lebih terkontrol Dengan sistem ini, dalam memberikan laporan laporan yang berhubungan dengan transaksi kredit dan angsuran menjadi lebih cepat dan akurat 4. Dapat meminimalkan kerugian yang disebabkan pembayaran angsuran yang telah jatuh tempo pembayaran.

5.2

Saran Dengan pembuatan program applikasi ini yang bertujuan untuk membangun

sistem bekerja lebih baik, masih terdapat beberapa kekurangan yaitu bahwa aplikasi yang dihasilkan merupakan applikasi semi manual, yaitu hanya untuk mencatat transaksi kredit, tunai dan angsuran pada PT Bhumi Indah Jaya. Agar proses penjualan rumah berjalan lebih baik maka diperlukan perhitungan ketidak samaan bunga yang bisa naik dan turun dalam jangka waktu kredit.

Anda mungkin juga menyukai