SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K Laporan Penulisan Penelitian APLIKASI TANDA TERIMA TAGIHAN PADA PT. BLUE BIRD GROUP MENGGUNAKAN MICROSOFT VISUAL BASIC 6.0 Nama NPM / NIRM Jurusan Pembimbing : Muhammad Iqbal Basith : 10401215 / 20013322756650033 : Sistem Informasi : Soenarto Usna, SSi, MMSI Ditulis guna melengkapi sebagian syarat untuk mencapai Jenjang Diploma Tiga (D III) SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K 2006 SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K Laporan Penulisan Penelitian APLIKASI TANDA TERIMA TAGIHAN PADA PT. BLUE BIRD GROUP MENGGUNAKAN MICROSOFT VISUAL BASIC 6.0 Nama NPM / NIRM Jurusan Pembimbing : Muhammad Iqbal Basith : 10401215 / 20013322756650033 : Sistem Informasi : Soenarto Usna, SSi, MMSI Ditulis guna melengkapi sebagian syarat untuk mencapai Jenjang Diploma Tiga (D III) SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K 2006 ABSTRAKSI Judul : Aplikasi Tanda Terima Tagihan pada PT. Blue Bird Group menggunakan Microsoft Visual Basic 6.0 NPM / NIRM : 10401215 / 20013322756650033 Nama : Muhammad Iqbal Basith Pembimbing : Soenarto Usna, SSi, MMSI Kata Kunci Hal : Tanda Terima Tagihan : ix + 61 halaman + IV Bab + 4 Tabel + 15 lampiran Tanda terima tagihan merupakan suatu surat yang diterima oleh para supplier dari perusahaan PT. Blue Bird, yang bersifat sementara serta digunakan untuk menagih pembayaran terhadap PT. Blue Bird. Proses ini biasa dilakukan oleh para karyawan dengan cara manual sehingga kemungkinan terjadi kesalahan manusia dalam proses penyimpanan data sangatlah besar. Hal ini dikarenakan tidak terdapatnya aplikasi serta tempat untuk menampung suatu data tagihan tersebut kedalam suatu tempat. Untuk itu penulis membuat aplikasi yang dapat membantu kinerja perusahaan dalam mengelola data-data tagihan tersebut dan menyimpannya kedalam suatu database, sehingga keamanan data dapat terjaga dengan baik. Daftar Pustaka: 6 ( 1993 - 2004 ) i KATA PENGANTAR Bismillaahirrahmaanirrahiim Pertama-tama penulis panjatkan puji serta syukur kehadirat Allah SWT, atas curahan rahmat dan karunia-Nyalah sehingga penulis dapat menyelesaikan Penulisan Ilmiah ini. Shalawat serta salam semoga kiranya Allah SWT limpahkan kepada junjungan Nabi Besar Muhammad SAW beserta keluarga, sahabat dan ummatnya hingga akhir zaman yang tetap setia mengikuti beliau. Penulis menyadari sepenuhnya bahwa Penulisan Ilmiah ini masih banyak kekurangan dan jauh dari kesempurnaan. Meskipun demikian penulis berharap semoga Penulisan Ilmiah ini bermanfaat bagi semua pihak yang membutuhkan. Pada kesempatan ini penulis tak lupa menyampaikan ucapan terima kasih yang setinggi-tingginya atas bantuan dan bimbingan yang penulis terima kepada : 1. Bapak Eko Hadiyanto, SSi, MMSI, selaku Ketua STMIK Jakarta STI&K 2. Bapak Aqwam Rosadi K, SKom, MMSI, selaku Ketua Jurusan Sistem Infomasi STMIK Jakarta STI&K 3. Bapak Soenarto Usna, SSi, MMSI, selaku Dosen Pembimbing Materi dalam penyusunan penulisan ilmiah ini. 4. Bapak Soetarno, SKom, MMSI, segala saran serta dorongannya 5. Seluruh Staf Dosen dan Pengajar yang ada di dalam lingkungan STMIK Jakarta STI&K yang telah memberikan bekal ilmu kepada penulis. selaku Pembimbing Akademik atas ii 6. Secara khusus penulis sampaikan pula ucapan terima kasih atas bantuan dan dorongan moril dari kedua Orang Tuaku tercinta serta kakak dan adikadikku dan juga saudara-saudara sepupuku. 7. Teman-temanku sekalian angkatan 2001 jurusan S1/SI, kelas 504, atas segala semangat serta dorongan dan telah banyak membantu dalam penyusunan penulisan Penulisan Ilmiah ini. Penulis juga ingin mengucapkan terima kasih kepada semua pihak yang langsung maupun tidak langsung turut serta membantu dan mendorong penulis menyelesaikan pendidikan perguruan tinggi pada STMIK Jakarta STI&K. Sekali lagi penulis berharap semoga penulisan Penulisan Ilmiah ini bermanfaat bagi semua pihak yang membutuhkan dan tak lupa penulis mohon maaf bila ada kesalahan dan kekurangan. Jakarta, Februari 2006 Penulis iii DAFTAR ISI Halaman HALAMAN JUDUL ............................................................................................. LEMBAR PENGESAHAN .................................................................................. ABSTRAKSI.......................................................................................................... i KATA PENGANTAR........................................................................................... ii DAFTAR ISI.......................................................................................................... iv DAFTAR GAMBAR ............................................................................................. vii DAFTAR TABEL ................................................................................................. ix BAB I. PENDAHULUAN................................................................................... 1 I.1. Latar Belakang........................................................................................ 1 I.2. Masalah dan Pembatasan Masalah ......................................................... 2 I.3. Tujuan Penulisan..................................................................................... 3 I.4. Metode Penulisan.................................................................................... 3 I.5. Sistematika Penulisan ............................................................................. 4 BAB II. LANDASAN TEORI ............................................................................ 6 II.1. Definisi ................................................................................................. 6 II.1.1. Definisi Aplikasi ....................................................................... 6 II.1.2. Definisi Tanda Terima Tagihan ................................................ 6 iv II.1.3. Definisi Aplikasi Tanda Terima Tgihan ................................... 7 II.2. Pengantar Microsoft Visual Basic 6.0................................................... 8 II.2.1. Mengenal Microsoft Visual Basic 6.0....................................... 8 II.2.2. Komponen Microsoft Visual Basic 6.0 ..................................... 9 II.2.3. Pengantar Database Microsoft Visual Basic 6.0 ....................... 12 II.3. Model Objek ADO ................................................................................ 14 II.3.1. Objek-objek ADO ..................................................................... 14 II.3.2. Collection ADO ......................................................................... 16 II.4. Pengantar konsep Client-Server ............................................................ 17 II.4.1. Arsitektur Client-Server ............................................................ 18 II.4.2. Keuntungan Client-server.......................................................... 19 II.5. Mengenal Database Access 2000 ......................................................... 19 II.6. Entity Relationship Diagram (ERD) ..................................................... 20 II.7. Normalisasi ............................................................................................ 22 II.8. Flowchart (diagram alur)....................................................................... 24 II.8.1. Pengertian Flowchart................................................................. 24 II.8.2. Simbol-simbol Flowchart .......................................................... 25 v BAB III. ANALISA DAN PEMBAHASAN MASALAH ................................ 28 III.1. Analisa Masalah ................................................................................... 28 III.1.1. Analisa Permasalahan .............................................................. 28 III.1.2. Permasalahan............................................................................. 29 III.2. Pembahasan Masalah ........................................................................... 30 III.2.1. Pemecahan................................................................................ 30 III.3. Perancangan Aplikasi Tanda Terima Tagihan ..................................... 31 III.3.1. Perancangan Aplikasi................................................................ 31 III.3.2. Perancangan Database ............................................................. 34 III.4. Algoritma Aplikasi Tanda Terima Tagihan ........................................ 39 III.5. Flowchart Aplikasi Tanda Terima Tagihan ........................................ 44 III.6. Rancangan Aplikasi Tanda Terima Tagihan ....................................... 50 III.7. Perangkat Yang Dibutuhkan ................................................................ 57 BAB IV. PENUTUP ............................................................................................ 58 IV.1. Kesimpulan .......................................................................................... 58 IV.2. Saran .................................................................................................... 59 DAFTAR PUSTAKA ............................................................................................ 60 LAMPIRAN........................................................................................................... 61 vi DAFTAR GAMBAR Gambar 2.1. Komponen-komponen yang terdapat dalam jendela kerja Microsoft Visual Basic 6.0 ................................................................................ 9 Gambar 2.2 Model Objek Utama ADO ................................................................ 14 Gambar 2.3. Diagram Aplikasi Database Client-Server ........................................ 18 Gambar 2.4. Simbol Entity .................................................................................... 20 Gambar 2.5. Simbol Relationship .......................................................................... 21 Gambar 2.6. Simbol Atribut................................................................................... 21 Gambar 2.7. Simbol Terminal................................................................................ 25 Gambar 2.8. Simbol Input/Output.......................................................................... 25 Gambar 2.9. Simbol Proses.................................................................................... 25 Gambar 2.10. Simbol Predifined............................................................................ 26 Gambar 2.11. Simbol Decision .............................................................................. 26 Gambar 2.12. Simbol Connector............................................................................ 26 Gambar 2.13. Flow Lines....................................................................................... 27 Gambar 2.14. Simbol Preparation.......................................................................... 27 Gambar 3.1. Gambar rancangan Form Login User................................................ 50 Gambar 3.2. Gambar rancangan Form Menu Utama............................................. 50 Gambar 3.3. Gambar rancangan Tampilan pada Form Supplier .......................... 51 vii Gambar 3.4. Gambar rancangan Tampilan pada Form Data Pool ........................ 51 Gambar 3.5. Gambar rancangan Tampilan pada Form Data User ........................ 52 Gambar 3.6. Gambar rancangan Tampilan pada Form Data Tagihan .................. 53 Gambar 3.7. Gambar rancangan Tampilan pada Form Laporan Tagihan ............. 53 Gambar 3.8. Gambar Rancangan Tampilan Tanda Terima Tagihan .................... 54 Gambar 3.9. Gambar Rancangan Tampilan Laporan Data Tagihan ..................... 55 Gambar 3.10. Gambar Rancangan Tampilan Laporan Data Supplier .................. 55 viii DAFTAR TABEL Tabel 3.1. Spesifikasi Tabel Pool .......................................................................... 37 Tabel 3.2. Spesifikasi Tabel Supplier ................................................................... 37 Tabel 3.3. Spesifikasi Tabel User_app .................................................................. 37 Tabel 3.4. Spesifikasi Tabel Tagihan .................................................................... 38 ix BAB I PENDAHULUAN I.1. Latar Belakang Peranan komputer dewasa ini hampir tidak bisa dipisahkan dari kehidupan sehari-hari, karena pada umumnya seluruh kegiatan menggunakan komputer terutama di perkantoran. Adapun alasannya karena komputer lebih cepat mengerjakan suatu kegiatan daripada kegiatan yang dilakukan secara manual. Terlebih apabila kegiatan ini mempunyai data yang sangat banyak, maka peranan komputer sangat membantu sekali. Aplikasi tanda terima tagihan merupakan salah satu aplikasi yang mempunyai data yang cukup banyak, jelas hal ini akan memakan waktu yang cukup lama bila di kerjakan secara manual, dan sering di jumpai masalah-masalah atau kelemahan-kelemahan yang ada, diantaranya belum teraturnya pencatatan data-data, belum terurut atau tersusun dengan rapi dan belum menggunakan prosedur yang baik (komputer), sehingga bila sewaktu-waktu data tersebut di butuhkan akan memakan waktu yang lama untuk mencarinya. Karena itulah penulis tertarik untuk mencoba menuangkan ide agar masalah-masalah tersebut diatas dapat diatasi dengan cepat dan tepat, dengan harapan dapat mempermudah dalam pencatatan, dokumentasi data, serta hasil laporan yang akurat. Dari penjelasan tersebut, penulis mengambil kesimpulan 1 2 untuk membuat sebuah program dengan judul “Aplikasi Tanda Terima Tagihan pada PT. BLUE BIRD GROUP dengan menggunakan Microsoft Visual Basic 6.0”. Judul tersebut penulis buat berdasarkan uraian yang telah penulis sampaikan dan akan penulis tuangkan dari ilmu-ilmu yang didapat oleh penulis yaitu sistem terdistribusi serta ilmu pengetahuan lainnya yang penulis dapat sampai sekarang ini di STMIK Jakarta STI&K. I.2. Masalah dan Pembatasan Masalah Berdasarkan uraian yang telah penulis utarakan, penulis akan membahas tentang bagaimana proses pembuatan tanda terima tagihan, mulai dari input data hingga output data berupa tanda terima itu sendiri, ataupun laporan secara keseluruhan. Penulis juga membatasi permasalahan bahwa aplikasi ini hanya digunakan untuk kalangan intern PT. Blue Bird Group. 3 I.3. Tujuan Penulisan Tujuan dari penulisan yang penulis buat adalah : 1. Meningkatkan efisien kerja para karyawan dalam proses pembuatan tanda terima tagihan. 2. Membuat rancangan Aplikasi Tanda Terima Tagihan. 3. Penyimpanan data yang lebih baik. 4. Mempercepat proses pengolahan data-data yang dibutuhkan. 5. Mengamankan data-data yang telah terkumpul pada suatu tempat. I.4. Metode Penelitian Metode Pengumpulan data yang digunakan oleh penulis yaitu: 1. Studi Pustaka Metode ini dilakukan dengan mengumpulkan data-data secara langsung dari buku-buku dari mata kuliah penunjang serta bahanbahan penulisan dari mahasiswa-mahasiswa sebelumnya. 2. Studi Lapangan Metode ini dilakukan dengan melakukan pengamatan-pengamatan bagaimana pengolahan data-data tersebut dapat tersusun dengan baik serta melakukan tinjauan hasil output yang dapat dihasilkan dari sistem itu sendiri. 4 I.5. Sistematika Penulisan Sistematika dari penulisan ini adalah : a. Bab I. Pendahuluan Berisikan tentang segala macam persoalan yang akan dibahas oleh penulis dari penulisan yang akan dibuat, yaitu Latar Belakang, Masalah dan Pembatasan Masalah, Tujuan Penulisan, Metode Penelitian dan Sistematika Penulisan. b. Bab II. Landasan Teori Dalam bab ini penulis menjelaskan konsep dasar dari sistem yang dibahas dalam pembatasan masalah penulisan ilimiah ini, dan juga memberikan penjelasan teori-teori yang menunjang tentang penulisan ini. c. Bab III. Analisa dan Pembahasan Pada Bab ini terdiri atas : a. Struktur ( Uraian ) Kasus Berisikan tentang uraian atau data-data umum yang ada dalam penelitian ini. Dari uraian ini, mencakup uraian dari semua aspek yang terdapat dalam penelitian ini. b. Analisa dan Pembahasan Berisikan tentang ketertarikan antara faktor-faktor dari data-data yang telah berhasil diperoleh, dengan maksud untuk memperoleh hasil dari permasalah yang ada. 5 d. Bab IV. Penutup Penutup terdiri dari kesimpulan dan saran yang telah penulis buat dalam penulisan ini. BAB II LANDASAN TEORI II.1 Definisi II.1.1 Definisi Aplikasi Aplikasi dapat diartikan sebagai program komputer yang dibuat untuk menolong manusia dalam melaksanakan tugas tertentu ( kamus komputer, 1996, Hal:20). Aplikasi software yang dirancang untuk penggunaan praktisi khusus, klasifikasi luas ini dapat dibagi menjadi dua (Santoso, 2000,Hal:1-2). 1. Aplikasi software spesialis, program dengan dokumentasi tergabung yang dirancang untuk menjalankan tugas. 2. Aplikasi paket, suatu program dengan dokumentasi tergabung yang digunakan untuk sejenis masalah tertentu, misalnya penggajian (Payroll). II.1.2 Definisi Tanda Terima Tagihan Tanda merupakan sesuatu yang menjadi alamat, pengenal identitas. Terima berarti menyambut pemberian, mendapat, ikhlas menanggung (nasib) atau tidak menuntut. Tanda terima berarti sesuatu yang menjadi identitas atas suatu pemberian. Tanda terima tagihan merupakan proses pemberian bentuk pembayaran berupa kwitansi, faktur atau nota keuangan lainnya yang kemudian ditukarkan 6 7 dengan lampiran sebagai identitas untuk pemiliknya sebagai tanda terima untuk pembayaran. (Kamus Lengkap Bahasa Indonesia Populer, Hal : 531) II.1.3 Definisi Aplikasi Tanda Terima Tagihan Tanda terima tagihan merupakan proses dimana pihak vendor (supplier) menukarkan kwitansi dan faktur atau nota keuangan lainnya dengan tanda terima dari pihak PT. Blue Bird untuk diolah dan diproses, disesuaikan dengan data yang tersimpan, sehingga proses pembayaran dapat dilakukan. Jadi Aplikasi Tanda Terima Tagihan pada PT. Blue Bird Group merupakan suatu cara untuk memproses atau mengolah data-data penunjang yang ada pada suatu tempat disimpannya data-data tersebut menjadi suatu hasil output yang digunakan oleh si penerima (supplier) untuk menagih pembayaran yang dilakukan terhadap PT. Blue Bird. 8 II.2 Pengantar Microsoft Visual Basic 6.0 II.2.1 Mengenal Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0 adalah bahasa pemrograman yang bekerja dalam lingkup MS-Windows. Microsoft Visual Basic 6.0 dapat memanfaatkan kemampuan MS-Windows secara optimal. Kemampuannya dapat dipakai untuk merancang program aplikasi yang berpenampilan seperti program aplikasi lainnya berbasis MS-Windows. Microsoft Visual Basic 6.0 dapat memanfaatkan hampir semua kemudahan dan kecanggihan yang disediakan sistem operasi MSWindows. Kemampuan Microsoft Visual Basic 6.0 secara umum adalah menyediakan komponen-komponen yang memungkinkan untuk membuat program aplikasi yang sesuai dengan tampilan dan cara kerja MS-Windows. 9 II.2.2 Komponen Microsoft Visual Basic 6.0 Menu Toolbox Project Explorer Toolbox Form Windows Properties Window Gambar 2.1 Komponen-komponen yang terdapat dalam jendela kerja Microsoft Visual Basic 6.0 a. Project Project adalah sekumpulan modul. Jadi project adalah program aplikasi itu sendiri. Project disimpan dalam file berakhiran .VBP. File ini menyimpan seluruh komponen program, termasuk pilihan proyek, pilihan environment, pilihan fil EXE dan segala sesuatu yang berhubungan dengan proyek. 10 b. Form Form adalah suatu objek yang sering dipakai sebagai tempat bekerja program aplikasi. Form berbentuk jendela dan dapat dibayangkan sebagai kertas objek atau meja kerja yang dapat dilukisi atau diletakkan kedalamnya objek-objek lain. Pada saat membuat program aplikasi, akan otomatis tersedia satu Form. Nantinya dalam satu proyek, kita dapat menggunakan lebih dari satu Form. Pada saat mendesain form, terdapat garis titik-titik yang disebut dengan grid. Grid sangat berguna untuk mengatus tata letak objek yang diletakkan didalam Form tersebut. c. Toolbox Toolbox adalah kotak alat yang berisi icon-icon untuk memasukkan objek tertentu kedalam jendela Form. Ketika memulai suatu proyek, Microsoft Visual Basic 6.0 akan otomatis menyediakan icon-icon objek yang sering digunakan dalam membuat suatu proyek. d. Properties Properti digunakan untuk menentukan setting suatu objek. Suatu objek biasanya mempunyai properti yang dapat diatur langsung dari jendela Properties atau lewat kode program. Setting properti akan menentukan cara kerja dari objek yang bersangkutan saat program aplikasi dijalankan, misalnya menentukan warna objek, bingkai objek, pengambilan data, dan lain-lain. 11 e. Kode program Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu objekdijalankan. Kode program ini akan mengontrol dan menentukan jalannya suatu objek. Berikut ini contoh dari kode program yang dibuat dalam Microsoft Visual Basic 6.0: Public Function Abbreviate(ByVal strTitle As String) As String Dim strTmp As String Dim intID As Integer Dim strChar As String intID = 1 strTmp = Trim$(strTitle) strChar = UCase$(Left$(strTmp, 1)) Do While InStr(intID, strTmp, " ") intID = InStr(intID, strTmp, " ") + 1 strChar = strChar & UCase$(Mid$(strTmp, intID, 1)) Loop Abbreviate = strChar End Function e. Event Event dalah peristiwa atau kejadian yang diterima oleh sesuatu objek, misalnya klik, seret, tunjuk, dan lain-lain. Event yang diterima objek akan memicu Microsoft Visual Basic 6.0 menjalankan kode program yang ada didalamnya. f. Metoda (Method) Metoda adalah suatu set perintah seperti halnya fungsi dan prosedur, tetapi sudah tersedia didalam suatu objek. Seperti halnya properti (yang juga terdapat pada suatu objek), suatu metoda dapat dipanggil dengan menyebut nama objek diikuti tanda titik dan nama metodanya. Metoda biasanya akan mengerjakan suatu tugas khusus pada suatu objek tertentu, sedangkan properti biasanya memberi definisi nilai atau setting pada suatu objek. Antara satu objek dengan objek lain 12 dapat mempunyai metoda yang sama atau tidak sama, baik dalam segi jumlah metoda maupun macam metoda. g. Module Module dapat disejajarkan dengan form, tetapi tidak mengandung objek dan bentuk standar. Module dapat berisi beberapa kode program atau procedure yang dapat digunakan dalam program aplikasi. Sebenarnya suatu form juga adalah sebuah module (disebut sebagai Form Module), tetapi mempunyai objek berupa form. Selain itu ada juga Class Module, yaitu suatu module yang berupa objek class, yaitu suatu objek yang mempunyai metoda dan properti yang sudah terdefinisi. II.2.3 Pengantar Database Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0 merupakan salah satu bahasa pemrograman berbasis Visual yang popular dan canggih yang ada di lingkungan Windows. Sebagai Software DBMS, kita merancang, membuat atau membangun program aplikasi database maupun program-program lainnya. Microsoft Visual Basic 6.0 merupakan pengembangan dari Microsoft Visual Basic versi sebelumnya. Teknologi akses data yang dimiliki oleh Microsoft Visual Basic 6.0 yaitu teknologi ActiveX Data Object atau yang lebih sering dikenal dengan nama ADO. ADO adalah teknologi terbaru dari Microsoft untuk memanipulasi informasi dari database relasional dan non-relasional. ADO mampu mengintegrasikan program aplikasi database yang anda bangun dengan berbagai 13 sumber data seperti Microsoft Access, SQL Server, ODBC, Oracle dan lain sebagainya. Microsoft ActiveX Data Objek (ADO) memungkinkan kita untuk membangun aplikasi client/server yang dapat mengakses dan memanipulasi data dari server dengan terlebih dahulu menentukan provider OLE DB-nya. Selain itu juga ADO mendukung dalam pembuatan aplikasi berbasis Web. Keistimewaan ADO yang lainnya yaitu Remote Data Service (RDS), dimana dapat memindahkan data dari sebuah server ke sebuah aplikasi client atau Web page, memanipulasi data dari client dan mengembalikannya ke server. Pada versi sebelumnya, visual basic masih menggunakan teknologi Data Access Objects (DAO) untuk mengakses database. Dulu DAO sering digunakan untuk mengakses database yang dibuat menggunakan Microsoft Access 97. Kontrol Data pada Visual Basic 6.0, pada dasarnya dirancang untuk mendesain mesin database jet 3.51, yaitu Microsoft Access 97. Namun sekarang ini database Microsoft Access telah ditingkatkan dengan dikeluarkannya Microsoft Access 2000 dan XP dengan mesin Jet 4.0. kontrol data tersebut tidak mampu menangani hubungan koneksi dengan database mesin Jet 4.0 ataupun jenis yang lainnya. Permasalahan karena perbedaan mesin database, dapat ditangani bila kita menggunakan ADO, yaitu dengan menambahkan kontrol tambahan Adodc (ActiveX Data Objek Control) sebagai interface untuk mengakses database, baik itu database yang dibuat dengan Microsoft Access, SQL Server, Oracle dan lain sebagainnya. 14 II.3 Model Objek ADO Model objek ADO sendiri secara keseluruhan terdiri atas Objek ADO dan Collections ADO. Item yang terarsir menyatakan objek-objek ADO, sedangkan yang tidak terarsir adalah kumpulan atau Collections ADO. Berikut Model ADO secara keseluruhan. gambar Connection Errors Properties Error Property Command Parameters Properties Recordset Fields Properties Stream Field Property Parameter Property Gambar 2.2 Model Objek Utama ADO II.3.1 Objek-objek ADO a. Connections Objek ini digunakan untuk membuka koneksi dari sebuah sumber data. Koneksi yang dapat dilakukan dengan sumber data eksternal, diantaranya MS SQL Server, ODBC, MS Access, Oracle dan lain sebagainya. 15 b. Command Mendefinisikan sebuah command atau perintah yang spesifik untuk mengeksekusi sebuah sumber data. Objek command biasanya digunakan untuk query sebuah database dan mengembalikan records dalam objek recordset, mengeksekusi sebuah operasi yang penting, atau juga memanipulasi struktur dari database. c. Error Berisi secara detail tentang kesalahan pengaksesan data, sebuah operasi dari objek ADO dapat menghasilkan satu atau lebih kesalahan provider. Setiap kesalahan yang terjadi, satu atau lebih objek error merupakan bagian dari Error Collection dari objek Connection. d. Field Menggambarkan sebuha kolom dari data. Setiap objek field disamakan dengan sebuah kolom didalam sebuah recordset. e. Parameter Menggambarkan sebuah parameter atau untuk menghubungkan argumen dengan sebuahobjek command dasar pada parameterized query, yaitu sebuah query atau perintah yang mengizinkan anda untuk mengatur nilai parameter sebelum perintah tersebut dijalankan. f. Property Mengambarkan karakteristik atau sifat sebuah objek. 16 g. Recordset Menggambarkan sekumpulan record dari tabel sumber atau dari hasil pengeksekusian perintah. Kita dapat mengunakan objek recordset untuk memanipulasi data. Semua recordset terdiri atas record-record, yaitu baris dan kolom. h. Record Menggambarkan sebuah baris di dalam sebuah recordset. i. Stream Mengambarkan urutan data binary atau teks. II.3.2 Collection ADO a. Errors Berisi semua tanggapan atau jawaban yang ditimbulkan dari kesalahan objek (error objek). Setiap operasi dari objek ADO dapat menimbulkan suatu atau lebih kesalahan. Kesalahan tersebut merupakan bagian dari sekumpulan kesalahan object connection. b. Fields Berisi semua objek field dari sebuah objek recordset. Sebuah objek recordset mempunyai sekumpulan field (Field Collection) yang dibuat untuk object field. 17 c. Parameters Berisi semua parameter objek dari sebuah object command. Sebuah object command mempunyai sekumpulan parameter (parameters Collection) yang dibuat untuk objek parameter. d. Properties Berisi semua property object. Objek ADO mempunyai sekumpulan properti yang berada dalam object properties. Setiap property object menggambarkan karakteristik atau sifat objek itu sendiri. II.4 Pengantar konsep Client-Server Latar belakang pemrograman berbasis client-server tidak lepas dari sejarah perkembangan teknologi perkembangan komputer dan kebutuhan yang muncul pada perusahaan besar (multinasiaonal), militer, maupun perguruan tinggi untuk memperoleh atau berbagi informasi antar kelompoknya. Microsoft Corp, sebagai penyedia sistem operasi Windows, telah mengembangkan sistem operasi Windows berbasis DNA (Distributed interNetwork Architecture), dimana semua komputer berbasis Windows dapat digabungkan menjadi satu jaringan besar yang saling berhubungan. Dengan demikian data dapat didistribusi pada lokasi yang berbeda dan format data dapat dikhususkan penempatannya sesuai dengan kebutuhan. Untuk memperkuat visi tersebut, Microsoft telah mengembangkan konsep/gagasan Universal Data Access yaitu gagasan untuk mengakses berbagai jenis data/file pada suatu jaringan dengan cara yang sama. Salah satu contoh dari 18 konsep/gagasan tersebut adalah mengembangkan metode/model pengaksesan data yang dikenal dengan nama model ADO (ActiveX Data Objects). Berikut ini merupakan diagram konsep Aplikasi database Client / Server (Yuswanto, Panduan Belajar Microsoft Visual Basic 5.0 untuk program Multi-User, hal 234) File Database Mesin Database LAN Program Aplikasi Gambar 2.3 Diagram Aplikasi Database Client-Server II.4.1 Arsitektur Client-Server Berdasarkan pada area kerja PC-Client dihubungkan ke komputer server, dikenal dua macam tingkatan arsitektur yaitu model Dua Tier dan Tiga Tier. Dua Tier/ Dua Tingkatan adalah proses dimana komputer workstation membuat hubungan kekomputer server dan mempertahankan hubungan tersebut sampai proses selesai. Tiga Tier/Tiga Tingkatan adalah model proses dimana kita menambahkan sebuah komputer yang bertugas untuk berhubungan dengan komputer server (SQL 19 Server) sehingga workstation/client tidak dapt berhubungan langsung dengan komputer server (SQL Server). II.4.2 Keuntungan Client-server Berikut ini merupakan keuntungan-keuntungan dalam menggunakan Client Server :     Dapat menyembunyikan data dan program khusus, dapat berbagi prosedur, optimisasi interpertjika Sistem, pengamanan prosedur. II.5 Mengenal Database Access 2000 Database atau biasa disebut basis data adalah kumpulan data yang berhubungan dengan suatu objek, topik atau tujuan khusus tertentu. Database pada Access 2000 dapat terdiri atas satu atau beberapa tabel, query, form, report, makro dan modul yang semuanya berhubungan dan saling terkait. 1. Tables, berupa tabel kumpulan data yang merupakan komponen utama dari database. 2. Queries, digunakan untuk mencari dan menampilkan data yang memenuhi syarat tertentu dari satu tabel atau lebih. Query dapat juga digunakan untuk mengupdate atau menghapus beberapa record data pada satu saat yang sama. Selain itu query dapat digunakan untuk menjalankan perhitungan terhadap sekelompok data. Sebuah query dapat memiliki sumber data sampai dengan 16 tabel, dapat memiliki 255 field yang berbeda. 20 3. Form, dipergunakan untuk menampilkan data, mengisi data dan mengubah data yang ada di dalam tabel. 4. Reports, dipergunakan untuk menampilkan laporan hasil analisa data. 5. Pages, dipergunakan untuk membuat halaman Web (page) berupa data access page yang dapat ditempatkan di server sistem jaringan internet atau intranet. 6. Macros, unruk mengotomatisasi perintah-perintah yang sering digunakan dalam mengolah data. 7. Modules, digunakan untuk perancangan berbagai modul sebagai pengolahan database tingkat lanjut sesuai dengan kebutuhan. II.6 Entity Relationship Diagram (ERD) ERD digunakan untuk menyatakan jenis data dan hubungan data yang ada diantara jenis data yang terdapat dalam sistem. Komponen-komponen yang digunakan dalam ERD adalah :  Entitas (Entity) Suatu objek yang terdiri dari kumpulan elemen atau data yang dapat digunakan dari objek lainnya. Komponen Entitas digambarkan sebagai berikut : Gambar 2.4 Simbol Entity  Relationship set 21 Relasi antar entity merupakan hubungan alamiah yang terjadi antar entity. Komponen Relationship digambarkan sebagai berikut : Gambar 2.5 Simbol Relationship  Attribute Atribut merupakan sifat atau karakteristik suatu entitas yang menyediakan penjelasan detail tentang entitas tersebut. Komponen atribut digambarkan sebagai berikut : Gambar 2.6 Simbol Atribut  Cardinality Merupakan batasan pada jumlah entity yang berhubungan melalui sebuah relationship. Terdapat tiga jenis cardinality yaitu : One to One (1:1) Bila suatu entity mempunyai hubungan satu kali dengan entity lainnya. One to Many atau Many to One (1:M atau M:1) Bila satu entity punya banyak hubungan dengan entity lainnya atau sebaliknya. 22 - Many to Many (M:M) Bila beberapa entity mempunyai banyak hubungan. II.7 Normalisasi Proses Normalisasi merupakan proses pengelompokkan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi selalu di uji pada beberapa kondisi. Apakah ada kesulitan pada saat menambah, menghapus, mengubah, membaca pada suatu database. Bila ada kesulitan pada pengujian tersebut maka relasi tersebut dipecahkan pada beberapa tabel lagi atau dengan kata lain perancangan belum mendapat database yang optimal. Semua hubungan database selalu sudah ternormalisasi, dalam arti bahwa semua hubungan sudah terdefinisikan tehadap domain sederhana, yaitu domain yang hanya berisi nilai atomic. Normalisasi bertujuan untuk menghilangkan atau mengurangi data yang duplikasi, agar mendapatkan bentuk yang lebih baik dan cepat. Berikut ini uraian mengenai tingkatan-tingkatan yang ada dalam normalisasi, semua normalisasi di kutip dari buku “ An Introduction to Database System, Canada: ( Adision – Wessley Publishing Company, 181, Third Edition ), hal 237. 1. First Normal (1 NF) Suatu relasi R berada pada 1 NF jika dan hanya jika semua domainnya sudah berisi atom semua. 2. Second Normal Form (2 NF) 23 Suatu relasi R berada pada 2 NF jika dan hanya jika sudah berada pada 1 NF dan setiap atribut yang bukan key tergantung sepenuhnya terhadap primary key. 3. Third Normal (3 NF) Sustu relasi R berada pada 3 NF jika dan hanya jika sudah berada pada 2 NF dan setiap atribut yang bukan key dan tidak tergantung secara transitif primary key. Kunci dalam Normalisasi yang digunakan pada sistem adalah sebagai berikut: a. Kunci Kandidat (Candidate Key) Candidat Key adalah satu atribute atau satu set minimal atribute yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. b. Kunci Primer (Primary Key) Primary key adalah satu atribute atau satu set minimal atribute yang tidak hanya mengidentifikasi secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entity. c. Kunci Alternatif (Alternate Key) Alternate key adalah Candidat Key yang tidak dipakai sebagai primary key. Kerap kali Alternate Key dipakai sebagai kunci pengurutan dalam laporan misalnya. d. Kunci Tamu (Foreign Key) 24 Foreign key adalah satu atribute yang melengkapi satu relationship yang menunjukkan ke induknya. Foreign Key ditempatkan pada entity anak dan sama dengan primery key dihubungkan (relation). II.8 Flowchart (diagram alur) Untuk memudahkan pembuatan program, maka dibuat flowchartnya terlebih dahulu sebelum suatu program dibuat. Disini penulis akan memberikan sedikit gambaran tentang flowchart. II.8.1 Pengertian Flowchart Flwchart adalah bagan yang menggambarkan urutan intruksi untuk proses dengan komputer dan hubungan antara suatu proses dengan menggunakan simbol tertentu. Pada flowchart terbagi menjadi dua jenis yaitu: 1. Sistem Flowchart, adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses dari sutu file di dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. 2. Program Flowchart, adalah suatu bagan dengan simbol tertentu yang menggambarkan urutan proses secara mendetil dan hubungan antara suatu intruksi dengan proses lainnya dalam suatu program. dengan proses lainnya, 25 II.8.2 Simbol-simbol Flowchart 1. Terminal Gambar 2.7 Simbol Terminal Simbol ini digunakan untuk menunjukkan awal atau akhir kegiatan atau berhentinya program. 2. Input/Output Gambar 2.8 Simbol Input/Output Simbol ini digunakan untuk mewakili data input dan menuliskan outputnya. 3. Proses Gambar 2.9 Simbol Proses Simbol ini melambangkan pengolahan suatu data. 26 4. Predifined Gambar 2.10 Simbol Predifined Simbol ini digunakan untuk menghubungkan program utama dengan subroutine. 5. Decision Gambar 2.11 Simbol Decision Simbol ini menunjukkan suatu perbandingan yang harus dibuat. 6. Connector Gambar 2.12 Simbol Connector Simbol ini memisahkan beberapa bagian dari flowchart ditulis ditempat atau halaman lain. 27 7. Flow Lines Gambar 2.13 Flow Lines Tanda ini digunakan untuk menghubungkan simbol-simbol flowchart untuk menunjukkan intruksi selanjutnya. 8. Preparation Gambar 2.14 Simbol Preparation Tanda ini digunakan untuk memberi nilai awal dari suatu besaran. BAB III ANALISA DAN PEMBAHASAN MASALAH III.1 Analisa Masalah III.1.1. Analisa Permasalahan Perkembangan teknologi informasi semakin pesat, seiring dengan berkembangnya teknologi komputer. Komputer yang mula-mula hanya digunakan sebagai alat hitung, kini telah berkembang menjadi sebuah alat yang bisa digunakan untuk memasukkan data, mengolah atau memprosesnya, menyimpan data tersebut, serta mengeluarkan hasil dari proses yang dilakukan oleh komputer itu sendiri. Oleh karena itu komputer sudah banyak dipergunakan, selain untuk sarana belajar juga sebagai sarana penunjang dan kelancaran kerja dalam perkantoran. Untuk menunjang kelancaran kerja tersebut dibutuhkan suatu aplikasi bantu guna meningkatkan efisiensi kerja. Tanda terima tagihan merupakan salah satu data yang cukup banyak yang biasa diterima karyawan setiap harinya dalam proses kerja, jelas hal ini akan memakan waktu yang cukup lama bila dikerjakan secara manual, dan sering di jumpai masalah-masalah atau kelemahan-kelemahan yang ada, diantaranya belum teraturnya pencatatan data-data, belum terurut atau tersusun dengan rapi dan belum menggunakan prosedur yang baik (komputer), sehingga bila sewaktu-waktu data tersebut dibutuhkan akan memakan waktu yang lama untuk mencarinya. 28 29 Selain itu proses pembuatan laporan juga dibutuhkan waktu yang cukup lama apabila data-data yang tesimpan tidak tersusun dengan rapi. Laporan sangatlah dibutuhkan sebagai acuan atau juga sebagai pembukuan yang akan diserahkan kepada atasan. III.1.2 Permasalahan Sebuah komputer biasanya digunakan hanya sebagai tempat penyimpanan data-data yang telah selesai di proses. Padahal fungsi komputer itu sendiri selain sebagai tempat penyimpanan data juga dapat digunakan untuk mengelola atau memproses data-data yang dimasukkan oleh seorang karyawan. Untuk melakukan proses tersebut, komputer memerlukan sebuah aplikasi untuk melaksanakannya. Demi kelancaran dan efisiensi kerja, maka di buatlah aplikasi untuk membuat tanda terima tagihan pada PT. Blue Bird. Dari penjelasan diatas, penulis menemukan beberapa pokok kesulitan yang akan ditempuh oleh para karyawan dalam proses pembuatan tanda terima tagihan yaitu 1. Tidak adanya tempat untuk menampung data-data atau menyimpan data tagihan. 2. Kurang efektifnya kerja para karyawan dengan proses pembuatan data yang dilakukan secara manual. 3. Kurangnya sistem pengamanan data karena data-data yang disimpan tidak dikumpulkan kedalam suatu tempat khusus yang dapat menampung data tersebut. 30 4. Karena data yang tersimpan tidak berada pada suatu tempat maka akan dapat mempersulit proses pembuatan laporan. III.2.Pembahasan Masalah III.2.1. Pemecahan Dalam menyelesaikan permasalahan yang dihadapi oleh para karyawan ndari kendala-kendala yang disebutkan diatas, maka penulis memberikan pemecahan permasalahan tersebut yaitu dengan mengkomputerisasikan data-data tanda terima tagihan kedalam suatu aplikasi serta penyimpanannya kedalam suatu database. Dalam menggunakan aplikasi ini, penulis menyarankan agar tidak hanya menggunakan satu komputer, tetapi akan lebih efektif apabila aplikasi ini menggunakan lebih dari satu komputer yang saling terhubung. Oleh karena itu, Penulis memberikan penyelesaian bahwa data-data yang akan tersimpan sebaiknya disimpan secara terpusat dalam database tanda terima tagihan pada satu komputer. Dengan konsep data yang terpusat ini dimaksudkan agar para pengguna dapat menambahkan data-data soal melalui komputer yang lain secara bersamaan dalam satu waktu, selain itu konsep ini penulis gunakan untuk menjaga keamanan data karena database yang tersimpan dan dikelola oleh satu orang pengguna. 31 III.3. Perancangan Aplikasi Tanda Terima Tagihan Berikut ini merupakan suatu rancangan Aplikasi tanda terima tagihan yang dibuat oleh penulis. III.3.1. Perancangan Aplikasi Rancangan dari aplikasi ini diantaranya yaitu 1. Proses penyimpanan Untuk perancangan Aplikasi ini, penulis merancang aplikasi ini dengan konsep Client-server dimana data akan disimpan secara terpusat Dari konsep ini penulis merancang agar database terletak secara terpusat yaitu hanya pada server. Sedangkan yang lainnya yaitu client sebagai pengguna yang bertugas untuk memasukkan data soal. Dengan administrator sebagai pengelola server dan client digunakan oleh para user. Jadi apliksi ini mempunyai dua pengguna yaitu : a. Administrator Administrator pada aplikasi ini hanya terdapat satu orang yang bertugas mengelola master data untuk memperhatikan segala kegiatan user. Diantaranya adalah menambah user, mengatur user mulai dari mengecek status, mengganti status atau bahkan merubah password para user. Selain itu juga menambah, mengurangi, dan mengedit master data supplier. b. User 32 User merupakan pengguna aplikasi yang bertugas yaitu memasukkan data-data yang diperlukan seperti, nomor kwitansi, jumlah nominal tagihan, dan lain sebagainya. 2. Proses Pengolahan Data Untuk data, penulis merancang agar para pengguna atau user bisa mengolah data lebih lanjut diantaranya yaitu : a. Tambah Data Para pengguna bisa menambahkan data yang akan dibuat untuk selanjutnya akan disimpan dalam database. b. Edit Data Para pengguna dapat merubah data-data tagihan. c. Hapus Data Para pengguna dapat menghapus data yang pernah ada apabila data tersebut dianggap batal (void). 3. Proses Penginputan Data. Dalam proses penginputan data atau dalam memasukkan data. Terlebih dahulu yang harus disiapkan adalah menginputkan data yang akan diperlukan untuk menginput data tagihan, diantara data-data yang perlu diinput terlebih dahulu sebelum menginput data, adalah : a. Data kwitansi b. Data faktur / faktur pajak c. Data invoice 33 d. Data surat jalan 4. Output Data aplikasi Output atau hasil dari aplikasi ini yaitu : a. Mencetak Setelah selesai melakukan penginputan data, para user dapat langsung mencetak hasil input data tersebut. b. Laporan data tagihan Para user juga dapat membuat atau mencetak laporan data tagihan. 34 III.3.2. Perancangan Database 1. Entity Relationship Diagram (ERD) A. Entity Relationship Diagram (ERD) Input data soal jml kd pool St_user Nm_user Id_user Nip_user kd supp ket tghn Bag_user no tgh * id user tgl tgh tgl jth tempo User_app 1 membuat M Tagihan no kwt js invoice pas_user js lainket js kwitansi js lain js fakturp js suratj js faktur M Supplier Kd_supp* nm_supp alm_supp Keterangan : * Primary key ** Foreign key 35 2. Normalisasi Database Berikut ini adalah Normalisasi dari Database Tanda Terima Tagihan dimulai dari bentuk tidak normal sampai dengan bentuk normalisasi ketiga. Bentuk tidak normal (Un Normalized) Id_user Nm_user Nip_user Bag_user Pas_user St_user Kd_pool alm_pool prsh_pool id_supp nm_supp alm_supp no_tagih kd_supp kd_pool jml tgl_tagih tgl_jth_tempo id_user no_kwt js_invoice js_kwitansi js_faktur js_fakturjp js_suratjl js_lain js_lainket Bentuk Normalisasi Pertama (1NF) Id_user Nm_user Nip_user Bag_user Pas_user St_user Kd_pool alm_pool prsh_pool id_supp nm_supp alm_supp no_tagih jml tgl_tagih tgl_jth_tempo no_kwt js_invoice js_kwitansi js_faktur js_fakturjp js_suratjl js_lain js_lainket 36 Bentuk Normalisasi Kedua (2NF) Tabel Tagihan Tabel pool Kd_pool * Alm_pool Prsh_pool Tabel User_app Id_user * Nm_user Nip_user Bag_user Pas_user St_user Tabel Supplier Kd_supp * Nm_supp Alm_supp no_tagih * kd_supp kd_pool jml tgl_tagih tgl_jth_tempo id_user no_kwt js_invoice js_kwitansi js_faktur js_fakturjp js_suratjl js_lain js_lainket Bentuk Normalisasi Ketiga (3NF) Tabel pool Kd_pool * Alm_pool Prsh_pool Tabel Tagihan no_tagih * kd_supp ** kd_pool ** jml tgl_tagih tgl_jth_tempo id_user ** no_kwt js_invoice js_kwitansi js_faktur js_fakturjp js_suratjl js_lain js_lainket Tabel User_app Id_user * Nm_user Nip_user Bag_user Pas_user St_user Tabel Supplier Kd_supp * Nm_supp Alm_supp Keterangan : * Primary key ** Foreign key 37 3. Struktur Database Keterangan Database Nama Database Paket program : Database.mdb : Ms.Office Access a. Spesifikasi Tabel Pool Nama Tabel Key : Tabel Pool : kd_pool Tabel 3.1. Spesifikasi Tabel Pool No 1. 2. 3. Nama Kode Pool Alamat Pool Perusahaan Nama Field k d_pool alm_pool prsh_pool Tipe Text Text Text Panjang 3 30 30 Keterangan Primary Key b. Spesifikasi Tabel Supplier Nama Tabel : Tabel supplier Key : kd_supp Tabel 3.2. Spesifikasi Tabel Supplier No 1. 2. 3. Nama Kode Supplier Nama Supplier Alamat Supplier Nama Field kd_supp nm_supp alm_supp Tipe Text Text Text Panjang 10 25 25 Keterangan Primary Key c. Spesifikasi Tabel User_app Nama Tabel : Tabel user_app Key : id_user Tabel 3.3. Spesifikasi Tabel User_app No 1. 2. 3. Nama ID User Nama User NIP User Nama Field id_user nm_user nip_user Tipe Text Text Text Panjang 10 25 10 Keterangan Primary Key 38 4. 5. 6. Bagian User Password User Status user bag_user pas_user st_user Text Text Bolean 15 10 15 d. Spesifikasi Tabel Tagihan Nama Tabel : Tabel Tagihan Key : no_tagih Tabel 3.4. Spesifikasi Tabel Tagihan No 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16 Nama Nomor Tagihan Kode Supplier Kode Pool Jumlah Tanggal Tagih Tanggal Jatuh Tempo Keterangan Tagihan ID User Nomor Kwitansi Jenis Invoice Jenis Kwitansi Jenis Faktur Jenis Faktur Pajak Jenis Surat jalan Jenis Lain Jenis Lain Keterangan Nama Field no_tagih kd_supp kd_pool jml tgl_tagih tgl_jth_temp ket_tagih id_user no_kwt js_invoice js_kwt js_faktur js_fakturp js_suratj js_lain js_lainket Tipe Text Text Text Integer Date/time Date/time Text Text Text Boolean Boolean Boolean Boolean Boolean Boolean Text Panjang 15 10 3 15 10 10 50 10 10 20 20 20 20 20 20 15 Foreign Key Keterangan Primary Key Foreign Key Foreign Key 39 III.4. Algoritma Aplikasi Tanda Terima Tagihan A. Algoritma Form Login 1. Mulai. 2. Pilih tombol Set Konfigurasi untuk menentukan nama serta lokasi database yang akan digunakan. 3. Masukkan nama user id tersedia. 4. Pilih tombol pada form. 5. Jika pilih Ok, maka user id serta password anda akan diproses pada database. 6. Jika user id serta password anda telah memenuhi syarat, maka akan masuk ke menu utama. 7. Jika user id serta password anda tidak memenuhi syarat, maka akan akan kembali untuk memasukkan id serta password yang lain. 8. Jika pilih batal maka akan keluar aplikasi ini. B. Algoritma Form Menu Utama 1. Mulai. 2. Pada form Menu Utama jika pilih menu Master Data (untuk Administrator), maka tampil submenu Supplier, Pool, dan User. 3. Jika pilih submenu Supplier, maka ditampilkan Form Data Supplier. 4. Jika pilih submenu Pool, maka ditampilkan Form Data Pool. 5. Jika pilih submenu User, maka ditampilkan Form Data User. 6. Jika pilih tanda panah, maka kembali ke menu utama. anda serta password pada kolom yang 40 7. Jika pilih menu Proses Data, maka tampil submenu Tagihan 8. Jika pilih submenu Tagihan, maka tampil Data Tagihan 9. Jika pilih tanda panah, maka kembali ke menu utama. 10. Jika pilih menu Laporan, maka tampil submenu Data Supplier dan submenu Data Tagihan 11. Jika pilih submenu Data Laporan, maka akan tampil preview laporan data Supplier 12. Jika pilih submenu Data Tagihan, maka akan tampil preview laporan data Tagihan 13. Jika pilih tanda panah, maka kembali ke menu utama 14. Jika pilih menu About, maka tampil form tentang aplikasi 15. Jika pilih menu Keluar, maka akan tampil submenu Keluar Login dan submenu Keluar Aplikasi 16. Jika pilih submenu Keluar Login, maka akan tampil form Login 17. Jika pilih submenu Keluar Aplikasi, maka akan keluar dari aplikasi ini 18. Jika pilih tanda panah, maka kembali ke menu utama. C. Algoritma Form Data Supplier 1. Tampilkan menu pada Form Data Supplier 2. Pilih Tambah data supplier 3. Ketik Kode Supplier, Nama Supplier dan Alamat Supplier 4. Simpan data 5. Pilih kode supplier pada tabel, kemudian pilih Edit 6. Jika pilih OK, maka akan mengedit data yang ada 41 7. Jika pilih cancel, maka batal untuk di edit 8. Pilih kode supplier pada tabel, kemudian pilih Hapus 9. Jika pilih OK, maka akan menghapus data yang ada 10. Jika pilih cancel, maka batal untuk di hapus 11. Pilih Cari, 12. Ketik kode supplier, pilih cari, maka tampil data-data supplier 13. Pilih Keluar untuk keluar dari Form Data Supplier D. Algoritma Form Data Pool 1. Tampilkan menu pada Form Data Pool 2. Pilih Tambah data Pool 3. Ketik Kode Pool, Alamat Pool dan Nama Perusahaan 4. Simpan data 5. Pilih kode pool pada tabel, kemudian pilih Edit 6. Jika pilih OK, maka akan mengedit data yang ada 7. Jika pilih cancel, maka batal untuk di edit 8. Pilih kode pool pada tabel, kemudian pilih Hapus 9. Jika pilih OK, maka akan menghapus data yang ada 10. Jika pilih cancel, maka batal untuk di hapus 11. Pilih Keluar untuk keluar dari Form Data Supplier E. Algoritma Form Data User 1. Tampilkan menu pada Form Data User 2. Pilih Tambah data user 3. Ketik ID User, Nama, NIP, Bagian, Password, dan status User 42 4. Simpan data 5. Pilih kode ID User pada tabel, kemudian pilih Edit 6. Jika pilih OK, maka akan mengedit data yang ada 7. Jika pilih cancel, maka batal untuk di edit 8. Pilih kode ID User pada tabel, kemudian pilih Hapus 9. Jika pilih OK, maka akan menghapus data yang ada 10. Jika pilih cancel, maka batal untuk di hapus 11. Pilih Keluar untuk keluar dari Form Data User F. Algoritma Form Data Tagihan 1. Tampilkan Form Data Tagihan 2. Jika pilih Tambah, maka lanjutkan langkah ke 5 3. JIka pilih Cari , maka lanjutkan langkah ke 14 4. Jika Pilih Keluar untuk keluar dari Form Data Tagihan 5. Input kode pool 6. Ketik nomor kwitansi, faktur, surat jalan, dll 7. Input kode supplier 8. Ketik nominal jumlah tagihan 9. Ketik tanggal jatuh tempo 10. Pilih salah satu jenis lampiran tagihan 11. Simpan data 12. Pilih tampilan cetak untuk melihat tampilan sebelum dicetak 13. Pilih cetak untuk mencetak tanda terima tagihan 14. Pilih salah satu jenis pilihan yang akan dicari 43 15. Pilih Supplier jika pencarian data tagihan berdasarkan nama supplier 16. Pilih nomor tagihan jika pencarian berdasarkan nomor tagihan 17. Pilih tombol cari untuk memulai pencarian dan tombol x untuk keluar frame pencarian. 18. Pilih edit untuk merubah data tagihan. 19. Pilih hapus untuk menghapus data tagihan. G. Algoritma Form Laporan Tagihan 1. Tampilkan Form Laporan Tagihan 2. Pilih laporan berdasarkan Kode Pool atau Tanggal pembuatan 3. Pilih lihat laporan tagihan 44 III.5. Flowchart Aplikasi Tanda Terima Tagihan Berikut ini merupakan Flowchart dari Aplikasi Tanda Terima Tagihan. 45 46 47 48 49 50 II.6.Rancangan Aplikasi Tanda Terima Tagihan Berikut ini merupakan gambar rancangan-rancangan dari Aplikasi Tanda Terima Tagihan, yaitu: A. Rancangan Form Login Nama Password OK Set Konfigurasi Batal Gambar 3.1. Gambar rancangan Form Login User B. Rancangan Form Menu utama APLIKASI TAGIHAN PT. BLUE BIRD GROUP MASTER DATA PROSES DATA LAPORAN ABOUT KELUAR Gambar 3.2. Gambar rancangan Form Menu Utama 51 C. Rancangan Form Data Supplier Data Supplier Kode Supplier Nama Supplier Alamat Supplier Tambah Edit Simpan Batal Hapus Cari Cari Keluar Gambar 3.3. Gambar rancangan Tampilan pada Form Supplier D. Rancangan Form Data Pool Data Pool Kode Pool Alamat Pool Perusahaan Tambah Edit Simpan Batal Hapus Kaluar Gambar 3.4. Gambar rancangan Tampilan pada Form Data Pool 52 E. Rancangan Form Data User Data User Id User Nama NIP Bagian Password Administrator Tambah Edit Simpan Batal Hapus Kaluar Gambar 3.5. Gambar rancangan Tampilan pada Form Data User 53 F. Rancangan Form Data Tagihan Data Tagihan Pool Perusahaan Nomor No Kwitansi Nama Supplier Jumlah Tanggal Jatuh tempo Jenis Invoice Kwitansi Faktur Faktur pajak Surat jalan Lain-lain Tampilan Cetak Tambah Edit Simpan Batal Hapus Cetak Cari Kaluar Gambar 3.6. Gambar rancangan Tampilan pada Form Data Tagihan G. Rancangan Form Laporan Tagihan Laporan Tagihan Kode Pool Tanggal Mulai Sampai Lihat Laporan Selesai Gambar 3.7. Gambar rancangan Tampilan pada Form Laporan Tagihan 54 H. Rancangan Tanda Terima Tagihan Tanda Terima Tagihan Perusahaan Nomor Nama Supplier No Kwitansi Jumlah Tanggal Jatuh tempo Pool Lampiran Invoice Kwitansi Faktur Faktur pajak Surat jalan Lain-lain Penerima Tanggal Nama & Paraf Cap Perusahaan ** Pengambilan tagihan yang jatuh tempo dapat diambil setiap hari Senin, Rabu, Jum'at pk 09.00 - 11.00 WIB BLUE BIRD GROUP Jl. Mampang Prapatan Raya No. 60 - Jakarta Selatan Tel. 021-7989000, 7989111 Gambar 3.8. Gambar rancangan Tampilan Tanda Terima Tagihan 55 I. Rancangan Laporan Tagihan PT. BLUE BIRD GROUP Laporan Data Tagihan Mulai Tanggal xx/xx/xxxx Sampai dengan xx/xx/xxxx Kode Pool : AA Nama Perusahaan : AAAAAAAAAAA Alamat Tgl Terima xx/xx/xxxx : AAAAAAAAAAA Nomor xxxx/aa/xx/xx No. Kwitansi aaxxxxx Nama Supplier aaaaaaaaaaaaaaaaa Jumlah xxx.xxx.xxx Tgl Jatuh tempo xx/xx/xxxx Jakarta, xx/xx/xxxx Kepala Pool Gambar 3.9. Gambar rancangan Tampilan Laporan Data Tagihan 56 J. Rancangan Laporan Supplier PT. BLUE BIRD GROUP Laporan Data Supplier Kode Supplier aaxxxxxx Nama Supplier aaaaaaaaaaaaaaaaa Alamat Supplier aaaaaaaaaaaaaaaaaaaaa Jakarta, xx/xx/xxxx Kepala Pool Gambar 3.10. Gambar Rancangan Tampilan Laporan Data Supplier 57 III.8 Perangkat Yang Dibutuhkan Untuk menjalankan Aplikasi Tanda Terima Tagihan ini perangkat yang dibutuhkan harus memenuhi syarat-syarat konfigurasi berikut ini merupakan konfigurasi minimum hardware serta software syarat-syarat perangkat yang dibutuhkan adalah : A. Perangkat Hardware Server o Processor o o o o o Memory Harddisk CDRom/CD RW Floppy Disk Graphic Card Intel Pentium III 600 MHz SDRAM / DDR RAM 256 10 GB 52 x 1.44 Mb 4 Mb Intel Pentium II 233 MHz SDRAM / DDR RAM 64 2 GB Client/Workstation o Processor o o Memory Harddisk B. Sistem Operasi Server o Microsoft Windows NT o Microsoft Windows 2000 Server / Advanced Server o Microsoft Windows XP Enterprise Client/Workstation o o o Microsoft Windows 98 Se Microsoft Windows 2000 Professional Microsoft Windows XP Professional C. Software Pendukung Database o Microsoft Access 2000 BAB IV PENUTUP IV. 1 Kesimpulan Dari uraian yang telah di sampaikan sebelumnya maka penulis mengambil kesimpulan sebagai berikut : 1. Tanda terima tagihan digunakan sebagai alat pertukaran (barter) yang bersifat sementara, sebelum terjadinya transaksi pembayaran. 2. Proses pembuatan tanda terima tagihan yang dilakukan secara manual membuat kurangnya efesiensi kerja para karyawan. 3. Dengan Aplikasi Tanda Terima Tagihan para karyawan dapat membuat tanda terima tagihan setiap saat. 4. Dengan Aplikasi Tanda Terima Tagihan para karyawan dapat menyusun data tagihan untuk dicetak langsung atau dibentuk kedalam suatu file. Sehingga dapat meningkatkan efisiensi kerja para karyawan tersebut. 5. Dengan adanya jenjang status yang terdapat pada pengguna Aplikasi Tanda Terima Tagihan, maka pengamanan data-data tagihan dapat terjaga dengan baik. 6. Dengan sistem data yang disimpan secara teratur, para karyawan dapat dengan mudah melihat laporan tanda terima tagihan berdasarkan kriteria yang diinginkan. 58 59 IV. 2 Saran Sehubungan dengan analisa dan pembahasan yang telah diuraikan oleh penulis, maka penulis bermaksud untuk memberikan saran kepada para pembaca serta pengguna dari aplikasi ini. Saran-saran tersebut adalah : 1. Untuk menggunakan aplikasi ini, lebih disarankan agar para pengguna menggunakan konsep jaringan LAN (Local Area Network) dengan komputer yang terpisah, sehingga dapat menggunakan aplikasi ini secara optimal. 2. User diharapkan menggunakan aplikasi ini semaksimal mungkin agar diperoleh hasil kerja yang maksimal pula. Dan juga dapat meningkatkan efektifitas dan efisiensi kerja user itu sendiri. DAFTAR PUSTAKA Alam, M. Agus J, Belajar Sendiri Visual Basic versi 6.0, PT. Elex Media Komputindo Kelompok Gramedia, Jakarta, 1999 Harpiandi, Belajar Sendiri Pemrograman Database dengan ADO menggunakan Visual basic 6.0, PT. Elex Media Komputindo Kelompok Gramedia, Jakarta, 2003 Kusumo, Ario Suryo, Buku Latihan Pemrograman Database dengan Visual Basic 6.0, PT. Elex Media Komputindo Kelompok Gramedia, Jakarta, 2000 Marhijanto, Bambang, Kamus Lengkap Bahasa Indoneia Populer, Bintang Timur Surabaya, Surabaya, 1995 Purwadarminta.W.J.S., Kamus Umum Bahasa Indonesia, Balai Pustaka Jakarta 1993. Santoso, Harip., Pemrograman Client-Server menggunakan SQL Server 2000 dan Visual Basic 6.0, PT. Elex Media Komputindo Kelompok Gramedia, Jakarta, 2003 60 LAMPIRAN  TAMPILAN APLIKASI TANDA TERIMA TAGIHAN  PROGRAM APLIKASI TANDA TERIMA TAGIHAN  OUTPUT APLIKASI TANDA TERIMA TAGIHAN Form Login Dim us As String Dim ps As String Private Sub Command1_Click() If Text1(0).Text <> "" Then masuk_aplikasi Else MsgBox "Maaf anda belum memasukkan Login anda.", vbCritical + vbOKOnly, judul End If End Sub Private Sub Command2_Click() Tutup_Koneksi_Data DatabaseCon End End Sub Private Sub Command3_Click() Unload Me frmconfig.Show End Sub Private Sub Form_Load() tampil_skin Skin1, Me End Sub Private Sub Text1_GotFocus(Index As Integer) Select Case Index 'Case 0: Text1(0).BackColor = &HFFC0C0 'Case 1: Text1(1).BackColor = &HFFC0C0 End Select End Sub Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) Select Case Index Case 0: If KeyAscii = 13 Then Text1(1).SetFocus End If Case 1: If KeyAscii = 13 Then Command1.SetFocus End If End Select End Sub Private Sub Text1_LostFocus(Index As Integer) Select Case Index 'Case 0: Text1(0).BackColor = &H80000005 'Case 1: Text1(1).BackColor = &H80000005 End Select End Sub Private Sub masuk_aplikasi() Buka_Koneksi_Data DatabaseCon Buka_Record "Select * from user_app where id_user ='" & Trim(Text1(0).Text) & "' ", UserRec, DatabaseCon If UserRec.RecordCount <> 0 Then If Text1(1).Text = UserRec.Fields("pas_user").Value Then iduser = UserRec.Fields("id_user").Value nmuser = UserRec.Fields("nm_user").Value bguser = UserRec.Fields("bag_user").Value stuser = UserRec.Fields("st_user").Value MsgBox "Selamat datang " & nmuser frmmenu.Show Unload Me Else MsgBox "Maaf password anda salah." & vbCrLf & "Mohon masukkan kembali password yang benar.", vbOKOnly + vbExclamation, judul Text1(1).SetFocus End If Else MsgBox "Maaf user yang anda cari tidak terdapat dalam database kami.", vbOKOnly + vbExclamation, judul Text1(0).SetFocus End If End Sub Form Config Private Sub Command1_Click() dbloca = Text1.Text MsgBox "Lokasi database telah tersimpan pada file " & dbloca & ". ", vbInformation + vbOKOnly, judul SaveConfig End Sub Private Sub Command2_Click() CommonDialog1.Filter = "Document Files|*.mdb|All Files|*.*" CommonDialog1.ShowOpen xmlfilename = CommonDialog1.FileName Text1.Text = xmlfilename End Sub Private Sub Command3_Click() Unload Me frmlogin.Show End Sub Private Sub Form_Load() tampil_skin Skin1, Me End Sub Form Menu Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: If stuser = True Then framaster.Visible = True Else MsgBox "Maaf Status anda bukan sebagai Administrator" & vbCrLf & "Anda tidak diperkenankan menggunakan fasilitas ini", vbCritical + vbOKOnly, judul End If Case 1: Fraproses.Visible = True Case 2: Fralaporan.Visible = True Case 3: Frakeluar.Visible = True Case 4: frmpreview.Show End Select End Sub Private Sub Command2_Click(Index As Integer) 'menu master Select Case Index Case 0: frmsup.Show Me.Hide Case 1: frmpool.Show Me.Hide Case 2: frmuser.Show Me.Hide Case 3: framaster.Visible = False End Select End Sub Private Sub Command3_Click(Index As Integer) 'menu proses Select Case Index Case 0: frmtagihan.Show Me.Hide Case 1: Fraproses.Visible = False End Select End Sub Private Sub Command4_Click(Index As Integer) 'menu laporan Select Case Index Case 0: DataEnvironment1.Commands("Command3").Command Text = "SELECT * FROM supplier ORDER BY kd_supp ASC" DataReport3.Show Case 1: frmlaptagih.Show Me.Hide Case 2: Fralaporan.Visible = False End Select End Sub Private Sub Command5_Click(Index As Integer) 'menu keluar Select Case Index Case 0: Tutup_Koneksi_Data DatabaseCon Unload Me frmlogin.Show Case 1: StringMessage = MsgBox("Keluar Aplikasi?.", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Tutup_Koneksi_Data DatabaseCon End End If Case 2: Frakeluar.Visible = False End Select End Sub Private Sub Form_Load() 'tampilkan skin tampil_skin Skin1, Me 'beri tampilan nama user pada status bar StatusBar1.Panels(3).Text = nmuser & " :: " & bguser 'disable frame With framaster .Visible = False .Left = 5160 .Top = 0 .Height = 5655 .Width = 2175 End With With Fraproses .Visible = False .Left = 5160 .Top = 0 .Height = 5655 .Width = 2175 End With With Fralaporan .Visible = False .Left = 5160 .Top = 0 .Height = 5655 .Width = 2175 End With With Frakeluar .Visible = False .Left = 5160 .Top = 0 .Height = 5655 .Width = 2175 End With 'Command4(0).Caption = "LAPORAN " & vbCrLf & "DATA SUPPLER" 'Command4(1).Caption = "LAPORAN " & vbCrLf & "DATA TAGIHAN" End Sub Form Supplier Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: 'Tombol Tambah StringMessage = MsgBox("Tambah Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False, False StringCommand = "Add" 'perintah data = tambah Text_Hidup Text1(0), Text1(1), Text1(2) Text_Bersih Text1(0), Text1(1), Text1(2) ListView1.Enabled = False Text1(0).SetFocus End If Case 1: 'Tombol Edit StringMessage = MsgBox("Edit Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False, False StringCommand = "Edit" 'perintah data = edit Text_Hidup Text1(0), Text1(1), Text1(2) ListView1.Enabled = False dat_edit = Text1(0).Text End If Case 2: 'Tombol Simpan StringMessage = MsgBox("Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then If StringCommand = "Add" Then 'jika perintah yang akan dilaksanakan tambah Buka_Record "Select * from supplier", SupplierRec, DatabaseCon SupplierRec.AddNew 'perintah tambha data Else 'jika perintah yang dilaksanakan edit Buka_Record "Select * from supplier where kd_supp='" & Trim(dat_edit) & "' ", SupplierRec, DatabaseCon End If With SupplierRec .Fields(0).Value = Text1(0).Text 'data filed 1 .Fields(1).Value = Text1(1).Text 'data filed 2 .Fields(2).Value = Text1(2).Text 'data field 3 .Update 'simpan data kedalam supplier End With Tutup_Record SupplierRec Refresh_List Seting_Tombol True, True, False, False, True, True, True Text_Mati Text1(0), Text1(1), Text1(2) ListView1.Enabled = True End If Case 3: 'Tombol Batal StringMessage = MsgBox("Batal Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol True, True, False, False, True, True, True Text_Mati Text1(0), Text1(1), Text1(2) ListView1.Enabled = True End If Case 4: 'Tombol Hapus StringMessage = MsgBox("Hapus Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Buka_Record "Select * from supplier where kd_supp='" & Trim(Text1(0).Text) & "' ", SupplierRec, DatabaseCon SupplierRec.Delete Tutup_Record SupplierRec Refresh_List Text_Bersih Text1(0), Text1(1), Text1(2) End If Case 5: 'Tombol Keluar Unload Me frmmenu.Show Case 6: 'Tombol buka frame cari Frame1.Enabled = True Seting_Tombol False, False, False, False, False, False, False Text_Mati Text1(0), Text1(1), Text1(2) Text_Bersih Text1(0), Text1(1), Text1(2) Text2.SetFocus Case 7: 'Tombol cari Buka_Record "select * from supplier where kd_supp='" & Trim(Text2.Text) & "' ", SupplierRec, DatabaseCon If SupplierRec.RecordCount <> 0 Then 'jika data ditemukan With SupplierRec Text1(0).Text = .Fields(0).Value 'data filed 1 Text1(1).Text = .Fields(1).Value 'data filed 2 Text1(2).Text = .Fields(2).Value 'data field 3 End With Else MsgBox "Data tidak ditemukan", vbCritical End If Seting_Tombol True, True, False, False, True, True, True Frame1.Enabled = False End Select End Sub Private Sub Form_Load() Buka_Koneksi_Data DatabaseCon With ListView1 .ColumnHeaders.Add 1, , "Kode supplier", 1500 .ColumnHeaders.Add 2, , "Nama supplier", 3000 .ColumnHeaders.Add 3, , "Alamat supplier", 5000 .BackColor = vbWhite .View = lvwReport .GridLines = True End With Buka_Record "Select * from supplier", SupplierRec, DatabaseCon If SupplierRec.RecordCount <> 0 Then 'jika supplier tidak kosong maka tampilkan data pada list Tampilkan_Data_List SupplierRec, ListView1, 2 End If Tutup_Record SupplierRec Seting_Tombol True, True, False, False, True, True, True Text_Mati Text1(0), Text1(1), Text1(2) Text_Bersih Text1(0), Text1(1), Text1(2) StringCommand = "" 'frame untuk pencarian data Frame1.Enabled = False tampil_skin Skin1, Me StatusBar1.Panels(3).Text = nmuser & " :: " & bguser End Sub Private Sub Form_Unload(Cancel As Integer) Tutup_Koneksi_Data DatabaseCon Unload Me frmmenu.Show End Sub Private Sub ListView1_Click() Buka_Record "select * from supplier where kd_supp ='" & Trim(ListView1.SelectedItem) & "' ", SupplierRec, DatabaseCon With SupplierRec Text1(0).Text = .Fields(0).Value Text1(1).Text = .Fields(1).Value Text1(2).Text = .Fields(2).Value End With Tutup_Record SupplierRec End Sub Form Pool Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: 'Tombol Tambah StringMessage = MsgBox("Tambah Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False ', False StringCommand = "Add" 'perintah data = tambah Text_Hidup Text1(0), Text1(1), Text1(2) Text_Bersih Text1(0), Text1(1), Text1(2) ListView1.Enabled = False Text1(0).SetFocus End If Case 1: 'Tombol Edit StringMessage = MsgBox("Edit Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False ', False StringCommand = "Edit" 'perintah data = edit Text_Hidup Text1(0), Text1(1), Text1(2) ListView1.Enabled = False dat_edit = Text1(0).Text End If Case 2: 'Tombol Simpan StringMessage = MsgBox("Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then If StringCommand = "Add" Then 'jika perintah yang akan dilaksanakan tambah Buka_Record "Select * from pool", PoolRec, DatabaseCon PoolRec.AddNew 'perintah tambha data Else 'jika perintah yang dilaksanakan edit Buka_Record "Select * from pool where kd_pool='" & Trim(dat_edit) & "' ", PoolRec, DatabaseCon End If With PoolRec .Fields(0).Value = Text1(0).Text 'data filed 1 .Fields(1).Value = Text1(1).Text 'data filed 2 .Fields(2).Value = Text1(2).Text 'data field 3 .Update 'simpan data kedalam pool End With Tutup_Record PoolRec Refresh_List Seting_Tombol True, True, False, False, True, True ', True Text_Mati Text1(0), Text1(1), Text1(2) ListView1.Enabled = True End If Case 3: 'Tombol Batal StringMessage = MsgBox("Batal Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol True, True, False, False, True, True ', True Text_Mati Text1(0), Text1(1), Text1(2) ListView1.Enabled = True End If Case 4: 'Tombol Hapus StringMessage = MsgBox("Hapus Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Buka_Record "Select * from pool where kd_pool='" & Trim(Text1(0).Text) & "' ", PoolRec, DatabaseCon PoolRec.Delete Tutup_Record PoolRec Refresh_List Text_Bersih Text1(0), Text1(1), Text1(2) End If Case 5: 'Tombol Keluar Unload Me frmmenu.Show End Select End Sub Private Sub Form_Load() Buka_Koneksi_Data DatabaseCon With ListView1 .ColumnHeaders.Add 1, , "Kode pool", 1500 .ColumnHeaders.Add 2, , "Alamat pool", 3000 .ColumnHeaders.Add 3, , "Nama perusahaan", 5000 .BackColor = vbWhite .View = lvwReport .GridLines = True End With Buka_Record "Select * from pool", PoolRec, DatabaseCon If PoolRec.RecordCount <> 0 Then 'jika pool tidak kosong maka tampilkan data pada list Tampilkan_Data_List PoolRec, ListView1, 2 End If Tutup_Record PoolRec Seting_Tombol True, True, False, False, True, True ', True Text_Mati Text1(0), Text1(1), Text 1(2) Text_Bersih Text1(0), Text1(1), Text1(2) StringCommand = "" tampil_skin Skin1, Me StatusBar1.Panels(3).Text = nmuser & " :: " & bguser End Sub Private Sub Form_Unload(Cancel As Integer) Tutup_Koneksi_Data DatabaseCon Unload Me frmmenu.Show End Sub Private Sub ListView1_Click() Buka_Record "select * from pool where kd_pool ='" & Trim(ListView1.SelectedItem) & "' ", PoolRec, DatabaseCon With PoolRec Text1(0).Text = .Fields(0).Value Text1(1).Text = .Fields(1).Value Text1(2).Text = .Fields(2).Value End With Tutup_Record PoolRec End Sub Form User Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: 'Tombol Tambah StringMessage = MsgBox("Tambah Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False ', False StringCommand = "Add" 'perintah data = tambah Text_Hidup Text1(0), Text1(1), Text1(2), Text1(3), Text1(4), Check1 Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Text1(4) ListView1.Enabled = False Text1(0).SetFocus End If Case 1: 'Tombol Edit StringMessage = MsgBox("Edit Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False ', False StringCommand = "Edit" 'perintah data = edit Text_Hidup Text1(0), Text1(1), Text1(2), Text1(3), Text1(4), Check1 ListView1.Enabled = False dat_edit = Text1(0).Text End If Case 2: 'Tombol Simpan StringMessage = MsgBox("Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then If StringCommand = "Add" Then 'jika perintah yang akan dilaksanakan tambah Buka_Record "Select * from user_app", UserRec, DatabaseCon UserRec.AddNew 'perintah tambha data Else 'jika perintah yang dilaksanakan edit Buka_Record "Select * from user_app where id_user='" & Trim(dat_edit) & "' ", UserRec, DatabaseCon End If With UserRec .Fields(0).Value = Text1(0).Text 'data filed 1 .Fields(1).Value = Text1(1).Text 'data filed 2 .Fields(2).Value = Text1(2).Text 'data field 3 .Fields(3).Value = Text1(3).Text 'data field 3 .Fields(4).Value = Text1(4).Text 'data field 3 .Fields(5).Value = Check1.Value 'data field 3 .Update 'simpan data kedalam user End With Tutup_Record UserRec Refresh_List Seting_Tombol True, True, False, False, True, True ', True Text_Mati Text1(0), Text1(1), Text1(2), Text1(3), Text1(4), Check1 ListView1.Enabled = True End If Case 3: 'Tombol Batal StringMessage = MsgBox("Batal Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol True, True, False, False, True, True ', True Text_Mati Text1(0), Text1(1), Text1(2), Text1(3), Text1(4), Check1 ListView1.Enabled = True End If Case 4: 'Tombol Hapus StringMessage = MsgBox("Hapus Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Buka_Record "Select * from user_app where id_user='" & Trim(Text1(0).Text) & "' ", UserRec, DatabaseCon UserRec.Delete Tutup_Record UserRec Refresh_List Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Text1(4) End If Case 5: 'Tombol Keluar Unload Me frmmenu.Show End Select End Sub Private Sub Form_Load() Buka_Koneksi_Data DatabaseCon With ListView1 .ColumnHeaders.Add 1, , "ID user", 1000 .ColumnHeaders.Add 2, , "Nama ", 2000 .ColumnHeaders.Add 3, , "NIP ", 1000 .ColumnHeaders.Add 4, , "Bagian ", 2000 .ColumnHeaders.Add 5, , "Password ", 1000 .ColumnHeaders.Add 6, , "Status ", 1000 .BackColor = vbWhite .View = lvwReport .GridLines = True End With Buka_Record "Select * from user_app", UserRec, DatabaseCon If UserRec.RecordCount <> 0 Then 'jika user tidak kosong maka tampilkan data pada list Tampilkan_Data_List UserRec, ListView1, 5 End If Tutup_Record UserRec Seting_Tombol True, True, False, False, True, True ', True Text_Mati Text1(0), Text1(1), Text1(2), Text1(3), Text1(4), Check1 Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Text1(4) StringCommand = "" 'frame untuk pencarian data 'Frame1.Enabled = False tampil_skin Skin1, Me StatusBar1.Panels(3).Text = nmuser & " :: " & bguser End Sub Private Sub Form_Unload(Cancel As Integer) Tutup_Koneksi_Data DatabaseCon Unload Me frmmenu.Show End Sub Private Sub ListView1_Click() Buka_Record "select * from user_app where id_user ='" & Trim(ListView1.SelectedItem) & "' ", UserRec, DatabaseCon With UserRec Text1(0).Text = .Fields(0).Value Text1(1).Text = .Fields(1).Value Text1(2).Text = .Fields(2).Value Text1(3).Text = .Fields(3).Value Text1(4).Text = .Fields(4).Value If .Fields(5).Value = True Then Check1.Value = vbChecked Else Check1.Value = vbUnchecked End If End With Tutup_Record UserRec End Sub Form Tagihan Dim nmsupp, kdsupp As String Dim JenisKirim As String Dim notag As String Private Sub Check1_Click() If Check1.Value = vbChecked Then Text3.Enabled = True Check2.Value = vbUnchecked Text3.SetFocus Else Text3.Enabled = False End If End Sub Private Sub Check2_Click() If Check2.Value = vbChecked Then Text4.Enabled = True Check1.Value = vbUnchecked Text4.SetFocus Else Text4.Enabled = False End If End Sub Private Sub Check3_Click(Index As Integer) Select Case Index Case 5: Text1(4).Enabled = True Text1(4).SetFocus End Select End Sub Private Sub Combo1_Click() Text1(0).Text = Ambil_Data("Select prsh_pool from pool where kd_pool='" & Trim(Combo1.Text) & "' ", PoolRec, DatabaseCon) If StringCommand = "Add" Then Text1(5).Text = Make_PrimKey("tagihan", TagihanRec, Trim(Combo1.Text)) End If End Sub Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text1(0).Text = Ambil_Data("Select prsh_pool from pool where kd_pool='" & Trim(Combo1.Text) & "' ", PoolRec, DatabaseCon) If Text1(0).Text <> "" Then Text1(0).SetFocus Else MsgBox "Data Pool tidak ada. Coba kembali", vbCritical + vbOKOnly, judul End If If StringCommand = "Add" Then Text1(5).Text = Make_PrimKey("tagihan", TagihanRec, Trim(Combo1.Text)) End If End If End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: 'Tombol Tambah StringMessage = MsgBox("Tambah Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False, True, True, True StringCommand = "Add" 'perintah data = tambah Text_Hidup Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Check_Hidup Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Check_bersih 'ListView1.Enabled = False Combo1.SetFocus End If Case 1: 'Tombol Edit StringMessage = MsgBox("Edit Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol False, False, True, True, False, False, True, True, True StringCommand = "Edit" 'perintah data = edit Text_Hidup Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Check_Hidup 'ListView1.Enabled = False Combo1.SetFocus dat_edit = Text1(5).Text End If Case 2: 'Tombol Simpan StringMessage = MsgBox("Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then If StringCommand = "Add" Then 'jika perintah yang akan dilaksanakan tambah Buka_Record "Select * from tagihan", TagihanRec, DatabaseCon TagihanRec.AddNew 'perintah tambha data Else 'jika perintah yang dilaksanakan edit Buka_Record "Select * from tagihan where no_tagih='" & Trim(dat_edit) & "' ", TagihanRec, DatabaseCon End If With TagihanRec .Fields(0).Value = Text1(5).Text 'data field nomor tagihan .Fields(1).Value = Ambil_Data("select kd_supp from supplier where nm_supp='" & Trim(Text1(1).Text) & "' ", SupplierRec, DatabaseCon) 'data field kode supplier .Fields(2).Value = Trim(Combo1.Text) 'data field kode pool '.Fields(3).Value = Trim(Combo2.Text) 'data field jenis tagihan .Fields(3).Value = Text1(2).Text 'data field jumlah tagihan .Fields(4).Value = Format(Date, "dd/mm/yyyy") 'data field tanggal tagihan .Fields(5).Value = MaskEdBox1.Text 'data field tanggal jatuh tempo .Fields(6).Value = "" 'data field keterangan .Fields(7).Value = iduser 'data field id user .Fields(8).Value = Text1(3).Text 'data field no kwt .Fields(9).Value = Check3(0).Value 'data field jenis invo .Fields(10).Value = Check3(1).Value 'data field jenis kwi .Fields(11).Value = Check3(2).Value 'data field jenis fakt .Fields(12).Value = Check3(3).Value 'data field jenis fakt paj .Fields(13).Value = Check3(4).Value 'data field jenis ssrt jal .Fields(14).Value = Check3(5).Value 'data field jenis lain .Fields(15).Value = Text1(4).Text 'data field ket jenis lain .Update 'simpan data kedalam tagihan End With Tutup_Record TagihanRec 'Refresh_List 'Seting_Tombol True, False, False, False, False, True, False, False, True 'Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Combo1, Combo2, MaskEdBox1, text1(5) Text_Mati Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Check_Mati Seting_Tombol True, True, False, False, True, True, True, True, True 'ListView1.Enabled = True 'Command1(7).SetFocus MsgBox "Data sudah tersimpan", vbInformation + vbOKOnly, judul Text1(4).Enabled = False End If Case 3: 'Tombol Batal StringMessage = MsgBox("Batal Simpan Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Seting_Tombol True, False, False, False, False, True, False, False, True Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Text_Mati Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Check_Mati Check_bersih Text1(4).Enabled = False 'ListView1.Enabled = True End If Case 4: 'Tombol Hapus If stuser = True Then StringMessage = MsgBox("Hapus Data ?", vbOKCancel + vbInformation, judul) If StringMessage = vbOK Then Buka_Record "Select * from tagihan where no_tagih='" & Trim(Text1(5).Text) & "' ", TagihanRec, DatabaseCon TagihanRec.Delete Tutup_Record TagihanRec 'Refresh_List Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Check_bersih End If Else MsgBox "Anda Tidak berhak menggunakan perintah ini.", vbCritical + vbOKOnly, judul End If Case 5: 'Tombol cari fratagih.Visible = True Seting_Tombol False, False, False, False, False, False, False, False, True Case 6: 'Tampilkan Cetakan Tampil_Cetak Case 7: 'Print Cetakan Cetak Case 8: 'tombol keluar Unload Me frmmenu.Show End Select End Sub Private Sub Command2_Click(Index As Integer) Select Case Index Case 0: Case 1: frasupp.Visible = False Text1(1).Text = nmsupp End Select End Sub Private Sub Command3_Click(Index As Integer) Dim i, x As Integer On Error GoTo errhandler Select Case Index Case 0: cari_tagihan Case 1: fratagih.Visible = False beri_data Seting_Tombol True, True, False, False, True, True, True, True, True End Select Exit Sub errhandler: MsgBox Err.Description End Sub Private Sub Form_Load() Dim i As Integer Buka_Koneksi_Data DatabaseCon Buka_Record "select kd_pool from pool", PoolRec, DatabaseCon For i = 1 To PoolRec.RecordCount Combo1.AddItem PoolRec.Fields(0).Value PoolRec.MoveNext Next Tutup_Record PoolRec 'Buka_Record "Select kd_supp,nm_supp from supplier", SupplierRec, DatabaseCon With ListView1 .ColumnHeaders.Add 1, , "Kode supplier", 1500 .ColumnHeaders.Add 2, , "Nama supplier", 3000 .BackColor = vbWhite .View = lvwReport .GridLines = True End With With ListView2 .ColumnHeaders.Add 1, , "Nomor tagihan", 2000 .ColumnHeaders.Add 2, , "Nomor kwitansi", 2000 .ColumnHeaders.Add 3, , "Nama supplier", 4000 .ColumnHeaders.Add 4, , "Kode Pool", 1000 .ColumnHeaders.Add 5, , "jumlah", 1500 .ColumnHeaders.Add 6, , "Jatuh Tempo", 3000 .ColumnHeaders.Add 7, , "Invoice", 1500 .ColumnHeaders.Add 8, , "kwitansi", 1500 .ColumnHeaders.Add 9, , "Faktur", 1500 .ColumnHeaders.Add 10, , "Faktur Pajak", 1500 .ColumnHeaders.Add 11, , "Surat Jalan", 1500 .ColumnHeaders.Add 12, , "Lain", 1500 .BackColor = vbWhite .View = lvwReport .GridLines = True End With With frasupp .Left = 2040 .Top = 600 .Visible = False End With With fratagih .Left = 120 .Top = 600 .Height = 3495 .Width = 9255 .Visible = False End With Me.Width = 9570 Me.Height = 6075 tampil_skin Skin1, Me StatusBar1.Panels(3).Text = nmuser & " :: " & bguser Seting_Tombol True, False, False, False, False, True, False, False, True Text_Bersih Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Text_Mati Text1(0), Text1(1), Text1(2), Text1(3), Combo1, MaskEdBox1, Text1(5) Check_Mati Check_bersih Text3.Enabled = False Text4.Enabled = False Text1(4).Enabled = False End Sub Private Sub Form_Unload(Cancel As Integer) Tutup_Koneksi_Data DatabaseCon Unload Me frmmenu.Show End Sub Private Sub ListView1_DblClick() On Error GoTo errhandler Buka_Record "select * from supplier where kd_supp ='" & Trim(ListView1.SelectedItem) & "' ", SupplierRec, DatabaseCon With SupplierRec kdsupp = .Fields(0).Value nmsupp = .Fields(1).Value End With Tutup_Record SupplierRec 'Text2.Text = kdsupp frasupp.Visible = False If JenisKirim = "t1" Then Text1(1).Text = nmsupp Else Text3.Text = nmsupp End If Exit Sub errhandler: MsgBox Err.Description End Sub Private Sub ListView2_DblClick() fratagih.Visible = False beri_data Seting_Tombol True, True, False, False, True, True, True, True, True End Sub Private Sub MaskEdBox1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then 'Command1(2).SetFocus Check3(0).SetFocus End If End Sub Private Sub text4_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then cari_tagihan End If End Sub Private Sub Text1_GotFocus(Index As Integer) Select Case Index Case 1: frasupp.Visible = True Text2.SetFocus JenisKirim = "t1" End Select End Sub Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer) Select Case Index Case 0: If KeyAscii = 13 Then Text1(5).SetFocus End If Case 1: If KeyAscii = 13 Then 'Combo2.SetFocus End If Case 2: If KeyAscii = 13 Then MaskEdBox1.SetFocus End If Case 3: If KeyAscii = 13 Then Text1(1).SetFocus End If Case 4: If KeyAscii = 13 Then Command1(2).SetFocus End If Case 5: If KeyAscii = 13 Then Text1(3).SetFocus End If End Select End Sub Private Sub Text2_Change() Dim i, x As Integer On Error GoTo errhandler Buka_Record "select * from supplier where nm_supp like '%" & Trim(Text2.Text) & "%' ", SupplierRec, DatabaseCon If SupplierRec.RecordCount <> 0 Then ListView1.ListItems.Clear SupplierRec.MoveLast i=1 Do While Not SupplierRec.BOF Set Item = ListView1.ListItems.Add(i, , SupplierRec.Fields(0)) Item.SubItems(1) = SupplierRec.Fields(1).Value SupplierRec.MovePrevious Loop End If Tutup_Record SupplierRec Exit Sub errhandler: MsgBox Err.Description End Sub Form Laptagihan Dim dasarlap As String Private Sub Check1_Click(Index As Integer) Select Case Index Case 0: 'dasarlap = "pool" If Check1(0).Value = 1 Then Combo1.Enabled = True Else Combo1.Enabled = False Combo1.Text = "" kdpool = "" nmpool = "" End If Case 1: 'dasarlap = "tgl" If Check1(1).Value = 1 Then Text1(0).Enabled = True Text1(1).Enabled = True Else Text1(0).Enabled = False Text1(1).Enabled = False Text1(0).Text = "" Text1(1).Text = "" tg1 = "" tg2 = "" End If End Select End Sub Private Sub Combo1_Click() kdpool = Trim(Combo1.Text) nmpool = Ambil_Data("Select prsh_pool from pool where kd_pool='" & Trim(Combo1.Text) & "' ", PoolRec, DatabaseCon) alpool = Ambil_Data("Select alm_pool from pool where kd_pool='" & Trim(Combo1.Text) & "' ", PoolRec, DatabaseCon) End Sub Private Sub Command1_Click(Index As Integer) Select Case Index Case 0: If Check1(0).Value = 0 And Check1(1).Value = 0 Then MsgBox "Pilih salah satu jenis laporan tagihan berdasarkan kode pool atau tanggal.", vbInformation + vbOKOnly, judul Else If Check1(0).Value = 1 And Check1(1).Value = 0 Then 'pool DataEnvironment1.Commands("Command2").Command Text = "SELECT * FROM supplier INNER JOIN tagihan ON supplier.kd_supp = tagihan.kd_supp where tagihan.kd_pool='" & kdpool & "' " DataReport2.Show ElseIf Check1(0).Value = 0 And Check1(1).Value = 1 Then 'tgl DataEnvironment1.Commands("Command2").Command Text = "SELECT * FROM supplier INNER JOIN tagihan ON supplier.kd_supp = tagihan.kd_supp where tagihan.tgl_tagih between #" & tg1 & "# and #" & tg2 & "# " DataReport2.Show ElseIf Check1(0).Value = 1 And Check1(1).Value = 1 Then 'pool dan tgl DataEnvironment1.Commands("Command2").Command Text = "SELECT * FROM supplier INNER JOIN tagihan ON supplier.kd_supp = tagihan.kd_supp where tagihan.kd_pool='" & kdpool & "' and tagihan.tgl_tagih between #" & tg1 & "# and #" & tg2 & "# " DataReport2.Show End If End If Case 1: Unload Me frmmenu.Show End Select End Sub Private Sub Form_Load() Buka_Koneksi_Data DatabaseCon tampil_skin Skin1, Me StatusBar1.Panels(3).Text = nmuser & " :: " & bguser Buka_Record "select kd_pool from pool", PoolRec, DatabaseCon For i = 1 To PoolRec.RecordCount Combo1.AddItem PoolRec.Fields(0).Value PoolRec.MoveNext Next Tutup_Record PoolRec With MonthView1(0) .Value = Date .Visible = False .Left = 1800 .Top = 960 End With With MonthView1(1) .Value = Date .Visible = False .Left = 1800 .Top = 960 End With Combo1.Enabled = False Text1(0).Enabled = False Text1(1).Enabled = False End Sub Private Sub MonthView1_DateClick(Index As Integer, ByVal DateClicked As Date) Select Case Index Case 0: MonthView1(0).Visible = False Text1(0).Text = MonthView1(0).Value tg11 = MonthView1(0).Value tg1 = Format(MonthView1(0).Value, "mm/dd/yyyy") Case 1: MonthView1(1).Visible = False Text1(1).Text = MonthView1(1).Value tg22 = MonthView1(1).Value tg2 = Format(MonthView1(1).Value, "mm/dd/yyyy") End Select End Sub Private Sub Text1_GotFocus(Index As Integer) Select Case Index Case 0: MonthView1(0).Visible = True Case 1: MonthView1(1).Visible = True End Select End Sub
Sign up to vote on this title
UsefulNot useful