Anda di halaman 1dari 90

ABSTRAK

Haris Targunawan, Sistem Pembayaran Laboratorium Klinik Swasta Dengan Menggunakan Aplikasi Microsoft Visual Basic 6.0 Di LABORATORIUM SPEKTRONIK Semarang. Tugas Akhir (TA) Statistika Terapan dan Komputasi D3 Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam 2005. Laboratorium klinik adalah sarana kesehatan yang melaksanakan pengukuran, penetapan dan pengujian terhadap bahan yang berasal dari manusia atau bahan bukan manusia untuk penentuan jenis penyakit, kondisi kesehatan atau factor yang dapat berpengaruh pada kesehatan perorangan dan masyarakat. Dalam kegiatan laboratorium tidak lepas dari data-data yang dapat berubah sewaktuwaktu dengan jumlah yang cukup besar. Perubahan data tersebut harus tersimpan dengan baik. Kebanyakan data yang tersimpan diolah secara manual, dimana datadata yang ada berupa rekam medis pasien tersimpan dalam rak-rak. Dalam kegiatan di Laboratorium Klinik dibuat basis data. Antara lain yang akan dibuat untuk sistem sistem pembayaran adalah data pasien, data karyawan/ analis, jenis pemeriksaan, administrasi pembayaran dari Laboratorium Klinik Swasta Spektronik Semarang. Kegiatan dilakukan dengan cara pengumpulan data baik dengan wawancara maupun dokumentasi yang ada di Laboratorium Spektronik selanjutnya dilakukan perancangan pemrograman yang akan dibuat dengan menggunakan aplikasi Microsoft Visual Basic Versi 6.0. Dari perancangan pemrograman yang dihasilkan diharapkan sebuah program sistem pembayaran yang dapat membantu pihak Laboratorium Klinik dalam melakukan pengolahan data pemeriksaan atau transaksi dari pasien.

BAB I PENDAHULUAN

A. Latar Belakang Masalah Keberhasilan suatu organisasi dalam mencapai tujuannya sangatlah ditentukan oleh sistem pengolahan/ menajemen dan perangkat adminitrasi yang dimilikinya. Bahkan beberapa ahli berpendapat bahwa ketahanan dan perkembangan dunia dan peradabannya sangatlah ditentukan oleh sistem administrasi, antara lain dikemukakan oleh Charles A. Beard: ..tidak ada satu hal yang lebih penting dari administrasi, kelangsungan Pemerintahan yang beradab dan melahan kelangsungan hidup dari peradaban itu sendiri akan sangat tergantung atas kemampuan kita untuk membina dan mengembangkan suatu filsafat administrasi yang mampu memecahkan masalah-masalah masyarakat modern......(Sumber; dr.AgusHR, dkk;1983:3) Sistem administrasi yang sanggup mempertahankan dan mengembangkan eksistensi dan peranan suatu organisasi bukanlah merupakan suatu sistem administrasi yang statis, tetapi merupakan suatu sistem administrasi yang dinamis, berarti sistem administrasi yang ada harus sanggup mengimbangi dinamika dari suprasistem dan sub sistem dari organisasi tersebut. Demikian pula administrasi laboratorium akan banyak menentukan keberadaan, peranan dan perkembangan dari laboratorium itu sendiri. Salah satu sistem administrasi yang mendukung fungsi manajemen adalah sistem pembentukan informasi, sistem ini akan banyak membantu pengelola/ manajer/ administrator selaku pengambil keputusan (decision

maker) menjalankan fungsi manajemen dalam masalah-masalah: perencanan, pengorganisasian/ penyusunan, pelaksanaan/ operasional, pengendalian dan pengawasan. Dengan demikian diperlukan suatu sistem informasi yang dapat menghasilkan informasi yang acurate, reliable, up todate, on time bagi pemimpin. Di dalam pengolahan data suatu perusahaan atau organisasi, sumber daya manusia sangat dibutuhkan, akan tetapi kemampuan manusia itu sendiri sangat terbatas. Oleh karena itu untuk memperingan dan memperlancar tugas manusia tersebut dibutuhkan peralatan data komputer. Dewasa ini perusahaanperusahaan sudah memakai sistem komputerisasi dalam segala bidang, salah satunya adalah di bidang pengelolaan pembayaran laboratorium klinik, karena telah terbukti dengan komputerisasi dapat memperingan dan memperlancar setiap tugas yang seharusnya dikerjakan oleh manusia Perkembangan teknologi yang diciptakan untuk membantu manusia dalam mengatasi masalah-masalah yang dihadapi dalam tata kehidupannya, termasuk perkembangan di bidang teknologi elektronik yang dapat pula dimanfaatkan untuk memperingankan tugas manusia dan sekaligus telah mampu menduplikasikan otak manusia ke dalam bentuk soft ware (perangkat lunak) dari komputer, bahkan dalam beberapa segi misalnya dalam daya ingat dan ketepatan mengingat jauh dapat melebihi manusia sebagai penciptanya. Sehingga komputer telah banyak berperan dalam bidang-bidang penelitian, administrasi/ manajemen, perdagangan, industri, kesehatan, kemiliteran dan lain-lain.

Dalam bidang administrasi/ manajemen komputer dimanfaatkan untuk menunjang sistem informasi manajemen yang memadahi. Maka komputerisasi bukan hanya sekedar untuk automatisasi administrasi saja, tapi suatu kenyataan bahwa hingga saat ini masih ada yang memanfaatkan mesin manual dan yang memanfaatkan komputer hanya pada tingkat atuomatisasi administrasi saja, belum sampai pada pembentukan sistem informasi manajemen yang sempurna. Sejalan dengan perkembanmgan ilmu pengetahuan dan teknologi maka komputerisasi juga mengiringi perkembangan hal tersebut. Komputer merupakan produk teknologi yang mampu memecahkan masalah bukan hanya dari segi perhitungan tetapi juga dalam kemampuan menyimpan dan memberikan informasi. Walaupun masyarakat pada zaman ini komputer lebih banyak dimanfaatkan sebagai pusat data (data base) dibandingkan penggunaan lainnya. Demikian pula laboratorium yang berkembang dan memiliki ruang lingkup kerja yang luas serta beban kerja yang berat memerlukan sarana penunjang dalam pengelolaannya, yaitu komputer. Komputerisai adalah suatu langkah pemanfaatan teknologi yang cukup canggih (sophisticated) dengan investasi yang cukup mahal maka

pelaksanaannya harus didahului oleh perencanaan yang sistematis agar dapat mencapai tujuan investasinya. Untuk mencapai tujuan komputerisasi maka dalam pelaksanaannya memerlukan persiapan yang mantap baik dalam bentuk kesiapan dari manajemen untuk menerima kemungkinan perubahan dan penyempurnaan

sistem dan tata arus dari prosedur administrasi, juga persiapan personal yang berhubungan langsung maupun tidak langsung serta disiplin kerjanya, yang keseluruhannya perlu dilaksanakan secara sistematis dan terencana dengan baik. Laboratorium klinik swasta Spektronik yang berada di Jl. Kaligarang no.14A Semarang merupakan laboratorium klinik pemeriksaan yang melayani pemeriksaan bermacam-macam penyakit yang diderita oleh pasien, maka laboratorium klinik ini harus dapat melakukan pelayanan dan pemeriksaan secara efisien dan tepat. Selama ini laboratorium klinik swasta Spektronik melakukan

manajemen pemeriksaan dengan menggunakan cara manual sehingga perlu adanya perubahan atau pembaharuan. Oleh karena itu maka perlu adanya sistem komputerisasi agar pelayanan menjadi baik. Karena adanya sistem komputerisasi maka perlu adanya suatu progam yang dapat mendukung

proses manajemen yang ada di laboratorium klinik swasta Spektronik Semarang. Program yang banyak beredar dan pembuatannya juga mudah salah satunya adalah Microsoft Visual Basic versi 6.0 berbasis Microsoft Window. Sebagai bahasa pemrograman yang mutahir, Microscoft Visual Basic versi 6.0 didesain untuk memanfaatkan fasilitas yang tersedia dalam Microsoft Window, dimana progam ini merupakan progam yang berorientansi obyek sehingga tampilan sama seperti progam yang beredar saat ini.

B. Rumusan dan Pembatasan Masalah 1. Rumusan Masalah Dari latar belakang di atas dapat diproleh permasalahan yang timbul sebagai berikut : Bagaimana progam manajemen Laboraturium Klinik dengan Microsoft Visual Basic versi 6.0 ? 2. Pembatasan Masalah Karena manajemen Laboraturium Klinik mempunyai banyak data base maka penulis hanya membatasi manajemen yang berhubungan dengan pembayaran pemeriksaan, data karyawan/ Analis di Laboraturium Klinik Swasta Spektronik Semarang.

C. Tujuan dan Manfaat Kegiatan 1. Tujuan Kegiatan Tujuan dari kegiatan ini adalah: a. Merelasikan antara tebel dalam basis data pembayaran, pemeriksaan penyakit dan data karyawan yang berada di Laboratorium Klinik Spektronik Semarang. b. Menerapkan hasil rancangan kedalam tata bahasa pemrograman Microsoft Visual Basic Versi 6.0. c. Membuat dan menganalisa cara kerja program basis data pembayaran, pemeriksaan penyakit, data karyawan. d. Memudahkan pengolahan dan pelayanan Laboratorium Klinik Spektronik Semarang.

2. Manfaat Kegiatan Dari pembuatan program diharapkan dapat bermanfaat antara lain: a. Bagi Penyusun 1). Sebagai latihan dalam memasuki dunia kerja. 2). Sebagai penerapan ilmu yang diperoleh dalam bangku kuliah kedalam kenyataan di masyarakat. b. Bagi Laboratorium Klinik Spektronik 1). Mempermudah pengelolaan manajemen Laboratorium Klinik Spektronik Semarang. 2). Mempercepat proses pembayaran dan pemeriksaan pasien.

D. Sistematika Laporan BAB I : PENDAHULUAN Pada bab I berisi tentang latar belakang permasalahan, rumusan masalah dan pembatasannya, tujuan dan manfaat kegiatan, dan sistematika penulisan laporan BAB II : KAJIAN TEORI Pada bab II berisi Data Base, sekilas tentang Laboratorium Klinik Spektronik, dan sekilas tentang Microsoft Visual Basic 6.0 BAB III : METODE KEGIATAN Pada bab III berisi ruang lingkup kegiatan, Studi kelayakan, pengambilan data dan perancangan sistem.

BAB IV

: PEMBAHASAN Pada bab IV berisi pembuatan database dan tabel, pembuatan form input, form output, dan implementasi aplikasi program.

BAB V

: PENUTUP Pada bab V berisi simpulan dan saran.

BAB II KAJIAN TEORI A. Data Base 1. Pengertian Database. Database adalah kumpulan informasi yang tersimpan secara elektronis pada sebuah file. Database merupakan salah satu yang penting di dalam informasi, karena berfungsi sebagai basis penyedia informasi bagi pemakainya. Penerapan database dalam suatu sistem informasi yang mengintegratasikan kumpulan dari data yang paling berhubungan satu dengan yang lainnya dan membuat tersedia untuk beberapa aplikasi yang bermacam-macam. 2. Kegunaan Database. Database digunakan untuk mengatasi masalah-masalah yang sering muncul dalam pengelolaan data antara lain: a. Redundansi dan inkonsistensi data. Redundansi data adalah penyimpanan data yang sama pada beberapa tempat file yang berbeda, sehingga mengakibatkan pemborosan ruang penyimpanan (memori). Sedangkan inkonsistensi data akan terjadi bila suatu saat ada data yang diubah. b. Kesulitan dalam mengakses data. Kesulitan untuk mengakses data tertentu muncul jika belum tersedia program yang digunakan untuk mengakses data tersebut. Kesulitan ini akan teratasi dengan adanya DBMS (Data Base Manajemen Sistem) yang diartikan sebagai software yang akan menentukan bagaimana data

21

22

diorganisasikan, disimpan, diubah, diambil kembali, pengaturan mekanisme pengamanan data, mekanisme pemakaian data secara bersama, mekanisme pengolahan data dalam lingkungan multi user. yang mampu mengambil data secara langsung dengan menggunakan bahasa yang sederhana. c. Isolasi data. Jika data yang tersimpan dalam beberapa file memiliki format yang berbeda, maka akan menyulitkan dalam menulis program untuk mengakses data. Untuk mengatasi masalah tersebut, maka data yang diletakkan dalam satu database harus memiliki format yang sama sehingga program aplikasinya mudah dibuat. d. Multiple user Dalam rangka meningkatkan daya guna sistem, mempercepat waktu akses dan penghematan memori, beberapa sistem mengijinkan banyak pemakai untuk mengakses data secara bersamaan. e. Masalah integritas (kesatuan) data. Data base berisi file-file yang berkaitan, masalahnya adalah bagaimana caranya menghubungkan file-file tersebut. Di dalam data base file-file tersebut dihubungkan menggunakan field kunci. Field kunci

merupakan field yang nilainya unik untuk mewakili record dan setiap orang atau obyek mewakili satu field kunci saja.

23

f. Masalah data Indipendence (kebebasan data). Di dalam database perubahan apapun yang terjadi pada struktur file tidak menyebabkan program harus diubah pada saat itu. Ini berarti bahwa perintah-perintah dalam program bebas terhadap database. g. Masalah keamanan. Keamanan data ini dapat diatur lewat program aplikasinya yaitu dengan memberikan password atau melalui sistem operasinya. 3. Elemen-elemen Database. Sistem database mempunyai beberapa elemen penyusun sistem. Elemenelemen pokok penyusun sistem tersebut sebagai berikut: a. Data Adalah kumpulan kejadian yang diangkat dari suatu kenyataan, dapat berupa angka-angka, huruf-huruf, atau simbol-simbol. b. Software Adalah program yang berisi perintah-perintah untuk melakukan pengolahan data. c. Hardware Adalah peralatan di sistem komputer yang secara fisik terlihat dan dapat disentuh. d. Brainware Adalah manusia yang terlibat di dalam pengoprasian serta mengatur sistem komputer.

24

B. Basis Data a. Data dan Informasi Data adalah suatu penggambaran keadaan kuantitatif maupun kualitatif tentang fakta/ keadaan/ pengertian yang dapat disampaikan, diolah oleh manusia atau peralatan yang digunakan manusia sehingga dapat dimengerti. Sedangkan informasi merupakan tambahan pengetahuan berupa fakta, berita, pendapat yang bersumber dari data yang telah diatur, disusun, diolah sehingga mempunyai arti dan nilai. b. Hirarki Data Secara tradisional, data diorganisasikan ke dalam satu hirarki yang terdiri atas elemen data, rekaman (record) dan berkas (file). 1). Element Data Merupakan satuan elemen yang tidak dapat dipecahkan lagi menjadi unit lain yang bermakna. 2). Rekaman (record) Rekaman merupakan gabungan sejumlah elemen data yang saling terkait. Dalam basis data relasional, rekaman biasa disebut dengan istilah tupel atau baris. 3). Berkas (file) Himpunan dari seluruh rekaman yang bertipe sama membentuk sebuah berkas. Berkas dapat dikatakan sebagai kumpulan, rekaman data yang berkaitan dengan sebuah objek.

25

Dalam sistem basis data relasional, berkas mewakili komponen yang disebut tabel atau relasi. c. Pengertian Basis Data Istilah basis data banyak menimbulkan interprestasi yang berbeda. Pada saat maraknya perangkat lunak Dbase II Plus, sebagai sebuah berkas (dengan ekstensi DBD biasa disebut istilah basis data). Istilah yang tidak tepat ini kemudian diluruskan kembali oleh pencipta perangkat lunak basis data yang lain. d. Sistem Manajemen Basis Data Suatu sistem pemrosesan dalam basis data dimansudkan untk mengatasi kelemahan dalam sistem pemprosesan dan sistem

pemprosesan manual dimana dalam sistem pemprosesan berkas menggunakan sistem komputer dengan sekelompok rekaman disimpan pada sejumlah berkas secara terpisah. Sistem pemprosesan berkas memiliki keunggulan dalam hal kecepatan dan keakuratan

dibandingkan dengan sistem pemprosesan manual jadi dalam sistem pemprosesan basis dan merupakan penyempurnaan dari sistem e. Perancangan Basis Data Perancangan basis data ada 3 tahapan, yaitu : a. Perancangan basis data secara konseptual, merupakan upaya untuk membuat model yang masih bersifat konsep, b. Perancangan basis data secara logis, merupakan tahapan untuk memetakan model konseptual ke model basis data yang akan dipakai,

26

c. Perancangan basis data secara fisis, merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpan eksternal, pemprosesan yang ada .

C. Laboratorium Klinik SPEKTRONIK 1. Ruang Lingkup Labortorium Klinik Spektronik Labortorium Klinik Spektronik merupakan salah satu labortorium swasta yang berada di Jl. Kaligarang 14 A Semarang yang masih tetap beroperasi di bidang kesehatan. Labortorium Klinik Spektronik dalam menjalankan kegiatannya memiliki 2 bagian yaitu administrasi, dan bagian pemeriksaan. Bagian administrasi yaitu bagian yang melayani kebutuhan pasien dalam pemeriksaan meliputi transaksi, data hasil pemeriksaan. Bagian pemeriksaan yaitu bagian yang melayani pasien, untuk diperiksa dengan mengambil sampel darah atau urine atau sampel lainnya. Saat ini Laboratorium Klinik Spektronik berusaha untuk meningkatkan pemeriksaan. 2. Arti, Tujuan, Visi dan Misi Laboratorium Spektronik a. Arti dan tujuan Laboratorium Laboratorium klinik adalah sarana kesehatan yang melaksanakan pengukuran, penetapan dan pengujian terhadap bahan yang berasal dari manusia atau bahan bukan manusia untuk penentuan jenis penyakit, pelayanan dengan menyediakan jasa panggilan

27

kondisi kesehatan atau factor yang dapat berpengaruh pada kesehatan perorangan dan masyarakat Tujuan didirikanya laboratorium adalah untuk mendukung,

memperlancar serta mempertinggi kualitas pemeriksaan kesehatan masyarakat. b. Visi Laboratorium klinik Spektronik mempunyai visi yaitu mampu memberikan pelayanan yang professional bagi pasien. c. Misi Misi yang dimiliki laboratorium adalah dengan menggunakan PMI (Pemantapan Mutu Internal) dan PME (Pemantapan Mutu External) serta memperhatikan persiapan penderita sebelum dilakukan sesuai

pemeriksaan,

melaksanakan

pemeriksaan

Laboratorium

petunjuk, menggunakan reagen yang bermutu serta alat-alat yang telah dikalibrasi sesuai standard yang ditentukan.

3. Falsafah Laboratorium Klinik Spektronik Laboratorium Klinik Spektronik memiliki falsafah yang selalu mengutamakan kepentingan penderita atau pasien dengan memberikan pelayanan terbaik.

28

D. MICROSOFT VISUAL BASIC VERSI 6.0 1. Pengertian Microsoft Visual Basic Versi 6.0 Microsoft Visual Basic Versi 6.0 merupakan bahasa pemrograman event drive di mana program menunggu sampai adanya respon dari pemakai yang berupa kejadian tertentu, misal tombol diklik, objek mendapatkan fokus, kehilangan fokus, dan lain sebagainya. Microsoft Visual Basic Versi 6.0 merupakan bahasa pemrograman yang berbasis Microsoft Windows, sebagai bahasa pemrograman yang mutahir, Microsoft Visual Basic Versi 6.0 dirancang untuk dapat memanfaatkan fasilitas yang tesedia dalam Microsoft Windows. Microsoft Visual Basic Versi 6.0 juga merupakan bahasa pemrograman Object Oriented Programing (OOP), yaitu pemrograman yang berorientasi pada objek. Ada tiga edisi Visual Basic 6.0 yang dikeluarkan oleh Microsoft ialah sebagai berikut: 1. Standard Edition Program ini memiliki fasilitas sebagai berikut: a. Kemampuan aplikasi 32 bit yang berjalan pada Microsoft Windows 9x dan Windows NT untuk pemula. b. Terdiri atas kontrol-kontrol, seperti grid, tab, dan data bound. c. Termasuk Learn Visual Basic Now dan Online Help. d. Microsoft Developer Network CD yang berisi dokumentasi.

29

2. Professional Edition Program ini tidak ada perbedaan dengan standart edition, hanya ada tambahan yaitu: a. Active Control, termasuk Internet Control. b. IIS (Internet Information Server). c. Dinamic HTML Page Designer. 3. Enterprise Edition Untuk membuat aplikasi yang bersifat server based. Program-program aplikasi standar dapat berjalan dengan baik menggunakan versi ini. Fasilitas tambahannya yaitu: a. Aplication Performance Explorer. b. IIS (Internet Information Server). c. Suppor forMicrosoft Transaction Server 2.0. d. Visual Componen Manager. e. SQL Debugging. f. Visual Database Tool. 2. Struktur Aplikasi Visual Basic Versi 6.0 a. Tampilan Microsoft Visual Basic dapat dilihat pada gambar 2.1. Kotak dialog yang muncul saat dijalankan dengan tiga tabulasi.

30

Gambar 2.1 Kotak dialog visual basic

b. Komponen yang mucul pad program Visual Basic 6.0, yaitu: 1. Title Bar. Merupakan batang judul sebagai indikasi nama program dan nama project yang sedang aktif. Di sebelah kanan title bar terdapat 3 tombol, yaitu minimize, maximize/ restore dan close.

Close Maxzimize Minimize

Gambar 2.2 Title bar/ batang judul 2. Menu Bar. Menu bar/ batang menu dapat menampung beberapa pilihan menu yang mempermudah pengguna dalam melakukan beberapa perintah.

31

Gambar 2.3 Menu bar/ batang menu 3. Toolbar. Toolbar berfungsi untuk mempercepat pengguna membuka project, membuat project baru, dan lain-lain.

Gambar 2.4 Toolbar 4. Form. Merupakan media dalam membuat aplikasi atau antarmuka dengan pengguna. Di dalamnya dapat ditambahkan beberapa objek seperti textbox, commnd button, dan sebagainya yang diambil dari toolbox. Form merupakan window atau jendela dimana akan dibuat user interface atau tampilan.

Gambar 2.5 Tampilan Form

32

5. Jendela project. Jendela project berfungsi untuk mempermudah dalam melihat form apa saja yang terdapat dalam project.

Gambar 2.6 Jendela project 6. Toolbox. Merupakan wadah dari beberapa objek yang akan ditambahkan ke dalam form.

Gambar 2.7 Toolbox

33

7. Jendela properties. Jendela ini digunakan untuk mengatur property objek, diantaranya property Name, Caption, Aligment, dan sebagianya.

Gambar 2.8 Jendela Properties 8. Form layout. Form layout digunakan untuk menempatkan posisi form saat dijalankan.

Gambar 2.9 Form Layout

34

9. Code Editor. Code editor digunakan untuk mengetikkan listing program.

Kotak Objek

Kotak Event

Gambar 2.10 Code Editor

10. SQL dalam Microsoft Visual Basic Versi 6.0 SQL adalah singkatan dari Structured Query Language. SQL adalah bahasa yang digunakan untuk query, mengupdate dan mengolah relasi antar database. Bahasa didalam SQL untuk memuat, mengurutkan dan menyaring suatu data, sehingga dihasilka suatu data yang spesifik dari suatu database.

35

BAB III METODELOGI PENELITIAN

A. Studi Lapangan Data-data yang akan diambil dalam pembuatan program pembayaran di Laboratorium Klinik Spektronik Semarang adalah: a. Daftar Pemeriksaan 1) Kode Periksa 2) Nama Periksa 3) Harga 4) Jumlah b. Data Pembayaran 1) No Faktur 2) Tanggal 3) Kode Periksa 4) Kode Analis 5) Harga 6) Jumlah Periksa 7) Total Harga 8) Total Bayar 9) Dibayar 10) Kembali

36

c. Data Analis 1) Login 2) Kode Analis 3) Nama Analis d. Data Transaksi 1) Nomor 2) Kode 3) Nama 4) Harga 5) Jumlah 6) Total

B. Cara Pengambilan Data Untuk mendapatkan data sebagai penunjang dalam penulisan tugas akhir yang berkaitan dengan karyawan atau analis, pembayaran pemeriksaan di Laboratorium Klinik Spektronik Semarang penulis melakukan beberapa metode antara lain: 1. Metode Wawancara Metode ini dilakukan secara langsung dengan mewawancarai karyawan laboratorium Spektronik Semarang dan digunakan untuk merancang dan membuat aplikasi pembayaran menggunakan program Microsoft Visual Basic 6.0.

37

2. Metode Observasi Metode observasi dilakukan secara langsung mengadakan

pengamatan dan mengambil data-data yang diperlukan. Data yang diperoleh dalam bentuk yang sudah jadi, misalnya publikasi, dokumen, dan laporan. 3. Metode Pustaka Adapun metode pustaka dapat diperoleh melalui : a. Studi Literatur Untuk memecahkan permasalahan diatas diperlukan sumbersumber kajian pada buku-buku yang ada di perpustakaan maupun di toko-toko yang berhubungan dengan masalah diatas. b. Dokumentasi Yaitu pengumpulan data dengan mengambil dokumen yang dapat memberikan keterangan tentang masalah diatas.

C. Metode Kegiatan Merancang dan membuat Program Pembayaran Laboratorium Klinik Swasta Spektronik Semarang 1. Mempersiapkan alat dan bahan yang diperlukan, 2. Membuat Diagram Aliran Data Konteks, 3. Membuat Diagram Aliran Data Analisis, 4. Mengubah dan menerangkan diagram aliran program kedalam tata bahasa pemrograman Microsoft Visual Basic 6.0,

38

5. Mengkompilasi program, 6. Menguji program, 7. Merevisi program bila hal ini diperlukan.

D. Analisis Data Hasil perancangan dan pembuatan program diuraikan dan dijelaskan secara deskriptif naratif. Penaksiran dan penarikan simpulan dilakukan berdasarkan tiap langkah pembuatan program. Simpulan akhir ditentukan berhasil atau tidaknya program yang dibuat. indikator keberhasilan didasarkan pada kesesuaian program dengan penanganan data di Laboratorium Klinik Spektronik Semarang secara manual.

39

BAB IV PEMBAHASAN

A. Hasil Kegiatan 1. Identifikasi masalah Dalam pendataan pemeriksaan, Laboratorium Klinik Spektronik Semarang masih menggunakan alat yang cukup sederhana yaitu menggunakan kalkulator dan mesin ketik manual. Sedangkan alat yang digunakan untuk penelusuran data pemeriksaan masih sangat sederhana yaitu dengan menggunakan buku catatan 2. Observasi Dalam kegiatan ini penulis melakukan pengamatan secara langsung di Laboratorium Klinik Spektronik Semarang guna melihat kegiatan pendataan pemeriksaan pasien. Pada tahap ini kegiatan yang dilakukan adalah memperoleh data-data sebagai berikut : a. Data input yang terdiri dari tabel-tabel sebagai berikut 1) Tabel Jenis Pemeriksaan 2) Tabel Pembayaran 3) Tabel Analis/ Pegawai 4) Tabel Transaksi b. Data-data output 1) Faktur Pembayaran 2) Laporan Pembayaran 3) Laporan Data Transaksi

40

3. Pemecahan Masalah Dari identifikasi masalah dan data yang diperoleh melalui obsevarsi, maka untuk permasalahan dalam pembayaran laboratorium diharapkan dapat diselesaikan dengan dibuatnya program aplikasi pembayaran laboratorium menggunakan Aplikasi Microsoft Visual Basic 6.0, sehingga dapat membantu melayani pasien dengan cepat dan tepat serta dengan tampilan visual yang menarik. B. Pengembangan Sistem 1. Tahapan Studi Kelayakan Berdasarkan hasil indentifikasi terhadap sistem yang sudah ada, Laboratorium Klinik Spektronik Semarang dalam hal pendataan pemeriksaan belum menggunakan komputer. Untuk memunuhi sistem yang baru dibutuhkan beberapa alat yang dapat mendukung sistem tersebut yaitu: a. Software Microsoft Visual Basic versi 6.0 dengan sistem operasi Microsoft Windows 97, 98, Nt dan Windows 2000.

b. Hardware Harddisk min 20 GB VGA ATI RADEON 9550 XT 128 MB Komputer pentium 3 atau lebih

41

2. Tahapan Rencana Pendahuluan Tahapan rencana pendahuluan menentukan lingkup proyek atau sistem yang akan ditangani. Hal ini digunakan untuk menentukan jadwal proyek. Adapun lingkup sistem yang ditangani dijabarkan dalam bentuk DFD konteks (atau sering juga disebut diagram konteks). DFD (Data Flow Diagram) sering diterjemahkan menjadi diagram aliran data (DAD). DAD merupakan merupakan alat yang biasa dipakai untuk

mendokumentasikan proses dalam sistem.


Pimpinan Laboratorium

Laporan Transaksi

Laporan Transaksi Laporan Data Pemeriksaan Administrasi Perubahan Harga Sistem Pembayaran Laboratorium Spektronik Faktur Pembayaran Pasien Pembayaran

Sampel

Data Pemeriksaan

Analis

Gambar 4.1 DAD Kontek Sistem Pembayaran Diagram konteks diatas memberikan gambaran bahwa sistem berinteraksi dengan empat terminator: pimpinan laboratorium,

administrasi, pasien dan analis. Tanda panah menyatakan masukan dan keluaran sistem. Sebagai contoh, sistem memberikan masukan berupa laporan transaksi kepada pimpinan laboratorium

42

Dalam pembuatan basis data pemeriksaan Laboratorium Spektronik tahapan yang dilakukan adalah dengan membuat diagram alur data konteks, seperti gambar 4.2. Pada tahap selanjutnya, tahapan analisis sistem, DAD konteks akan dijabarkan ke pandangan yang lebih detail daripada DAD konteks disebut DAD analisis dan DAD model.

3. Tahapan Analisis Sistem a. Diagram Alir Data

Gambar 4.2 Simbol-simbol pada DAD

43

No. DAD Nama DAD

:1 : Penanganan

1.1 Mencatat Pemeriksaan

Waktu Pembayaran Jumlah pemeriksaan Pembayaran


waktu pemeriksaan

Catatan Catatan Pemeriksaan Perhitungan

Pemeriksaan

2.1 Membuat Laporan Persediaan


Tidak dapat diperiksa

Dapat diperiksa

Identitas

3.1 Memproses Pemeriksaan

Pasien

Data Pemerikasaan

Pemeriksaan

Gambar 4.3 DAD untuk sistem pembayaran level 1

44

No. DAD Nama DAD

:2 : Pembuatan Laporan Pembayaran Analis

Data periksa masuk

2.1.1 Cek Jenis periksa Waktu Pemeriksaan

2.1.2 Pemilihan Pemeriksan

Rincian Pemeriksaan

2.1.3 Membuat Rincian Pemeriksaan Waktu Pembayaran Blangko/ Faktur Pemeriksaan Pasien Bagian Administrasi Daftar Rincian Pemeriksaan

Lap. Pembayaran

Gambar 4.4 DAD untuk sistem pembayaran level 2

45

Dalam tahapan analisis sistem ini untuk memperoleh informasi yang akurat mengenai alur pembayaran pemeriksaan di Laboratorium Klinik Spektronik dengan metode wawancara langsung dengan karyawan laboratorium.

4. Tahapan Perancangan Sistem Dalam perancangan basis data ini, model basis data yang digunakan adalah model relasional. Model relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna, serta yang paling populer saat ini.model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau tabel), dengan masing-masing relasi tersusun atas tupel atau baris atau atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran data dan menggunakan kunci tamu untuk berhungan dengan relasi lain. Abdul Kadir (1999:25). Entitas yang ada pada suatu sistem umumnya banyak. Antar entitas memiliki hubungan. Hubungan antar entitas biasa dinyatakan dengan diagram stuktur data (disebut juga diagram Bachman [8] ). Hubungan antar entitas di dalam diagram stuktur data dinyatakan dengan garis dan panah. Abdul Kadir (1999:52). Perancangan proses biasanya menghasilkan dokumentasi

perancangan dalam bentuk Spesifikasi Program dan Bagan Stuktur Sistem. Spesifikasi Program dipakai sebagai petunjuk bagi pemrogram

46

agar dengan mudah dapat menuangkan menuangkan proses ke dalam program. Bagan struktur sistem memperlihatkan seluruh program dalam sistem baru dan hirarki kontrol terhadap proogram-program tersebut. Abdul Kadir (1999:60).

Gambar 4.5 Bagan struktur sistem pembayaran administrasi

47

a. Hubungan ( Relations ). Hubungan adalah asosiasi atau kaitan antara dua entitas. Misalnya, antara Data Pembayaran dan Pemeriksaan terdapat hubungan berupa kode periksa.

Gambar 4.6 Hubungan antar table

5. Tahapan Implementasi Sistem Dalam tahapan ini mencakup pengkodean program, pengujian program, pemasangan program, dan juga pelatihan pada pengguna. a. Pengkodean program Dalam program pembayaran laboratorium klinik Spektronik Semarang ini pengkodean program yang digunakan adalah Visual Basic 6.0 dan command button yang digunakan adalah input, simpan, hapus, edit, batal,tutup. b. Pengujian program Pengujian program yang dimaksud di sini adalah apakah program ini sudah bisa dijalankan atau belum. c. Pemasangan program Program pembayaran laboratorium ini akan digunakan oleh

Laboratorium klinik umum Spektronik Semarang.

48

d. Pelatihan untuk user Yang dimaksud dengan pelatihan untuk user adalah yang akan menggunakan program pembayaran laboratorium ini, yaitu bagian administrasi dan para pegawai lainnya (analis).

C. Hasil Pemrograman Dari pembuatan Program Pembayaran Laboratorium Klinik Swasta Spektronik Semarang dengan Microsoft Visual Basic 6.0 diperoleh hasil, listting Program (lampiran 2) dan cara kerja program sebagai berikut. a. Form Masuk menu utama

Gambar 4.7 Form masuk menu utama

49

Pada form ini terdapat menu help dan keluar, dua tombol Masuk dan Baru, jika tombol masuk diklik maka akan keluar menu login (gambar 4.8). Kemudian diisi login sesuai login yang sudah diinput.

Gambar. 4.8 Menu Login Analis Pada saat program dijalankan yang terlihat hanya kotak pengisian password saja. Hasil program pada saat dijalankan terlihat pada gambar 4.9.

Gambar 4.9 Tampilan Login analis Setelah di enter akan keluar pesan sukses dan masuk program menu utama.

Gambar 4.10 Pesan jika login sukses

50

Jika login salah dan belum terdaftar maka akan keluar perintah pesan yang terlihat pada gambar 4.11 berikut ini.

Gambar 4.11 Pesan jika login salah

b. Menu pengolahan data analis Pengguna dapat mendaftar dan mengisi login baru dengan mengeklik tombol Baru maka akan muncul form data analis sebagai berikut.

Gambar 4.12 Menu data analis Pada form ini terdapat tombol edit, input, hapus dan tutup. Dari ke tiga tombol kecuali tutup, jika diklik maka akan muncul tombol simpan dan batal. Jika isian belum lengkap maka akan keluar pesan seperti gambar 4.13

51

Gambar 4.13 Pesan jika data belum lengkap Pada tombol edit jika kode belum terdaftar kemudian dienter maka akan keluar pesan seperti gambar 4.14

Gambar 4.14 Login belum terdaftar c. Form Menu Utama

Gambar 4.15 Menu utama Pada menu ini muncul menu pilihan file, edit, laporan, abaout, help dan keluar.

52

d. Menu Pengolahan Data Pemeriksaan Pada form pemeriksaan terdapat tombol input, edit, hapus dan tutup. Jika klik tombol input maka akan berubah tombol simpan selanjutnya sama dengan tombol yang lain. Pada menu ini kode periksa akan muncul secara otomatis secara terurut mulai dari 0001 sampai 9999.

Gambar 4.16 Menu Pengolahan Ddata Pemeriksaan Jika pengisian data belum lengkap maka akan keluar pesan seperti pada gambar 4.17

Gambar 4.17 Pesan data belum lengkap

53

e. Menu Pembayaran Pada form ini terdapat pilihan pengisian pada grid, ketika proses pembayaran dilakukan, dalam transaksi terdapat data seperti terlihat pada gambar 4.18.

Gambar 4.18. Menu Pembayaran Setelah tombol simpan diklik, maka akan dihasilkan faktur seperti gambar 4.19.

54

Gambar 4.19 Faktur hasil transaksi pembayaran Pada menu transaksi pembayaran ini jika dalam pengisian data belum lengkap maka akan keluar pesan seperti gambar 4.20, dan gambar 4.21.

Gambar 4.20 Pesan tidak ada transaksi

Gambar 4.21 Pesan jumlah pembayaran kurang

55

Pada menu transaksi pembayaran ini terdapat menu pilihan yang dapat menampilkan kalkulator sebagai alat rite perhitungan

pemeriksaan, dapat dilihat pada gambar 4.22.

Gambar 4.22 Kalkulator f. Menu Pencarian data Pada menu pencarian dapat dicari dengan beberapa pilihan berdasarkan faktur, tanggal, kode periksa, kode analis dan secara umum juga dapat dicari dengan memasukkan kode yang akan dicari seperti terlihat pada gambar 4.23.

Gambar 4.23 Pencarian data berdasarkan seluruh

riteria

56

g. Menu Edit Pada saat analis atau kasir menerima uang pembayaran, kadang terjadi kesalahan pengetikan pembayaran. Kesalahan ini dapat diperbaiki dengan mengubah jumlah pembayaran. Untuk keperluan tersebut dapat digunakan menu edit pembayaran seperti pada gambar 4.24 berikut ini.

Gambar 4.24 Menu edit jumlah pembayaran Menu edit yang lain adalah menu edit jumlah pemeriksaan yang dapat merubah kesalahan pengetikan waktu transaksi pembayaran, seperti pada gambar 4.25.

Gambar 4.25 Menu edit pemeriksaan

57

h. Menu Laporan Menu laporan ini dibuat dengan crystal report dan tata letaknya disatukan dengan tampilan pada gambar 4.26. Untuk hasil laporan dapat dilihat pada lampiran.

Gambar 4.26 Menu laporan pembayaran

i. Menu Hapus data Pada menu ini terdapat dua pilihan yaitu hapus faktur dan hapus pemeriksaan, seperti terlihat pada gambar 4.27.

58

Gambar 4.267Menu Hapus data Pada menu hapus ini hanya memasukkan kode faktur maka faktur akan terhapus, sepeti terlihat pada gambar 4.28 berikut ini.

Gambar 4.28 Hapus faktur Jika kode faktur suadah dimasukkan dan tekan enter maka akan keluar pesan seperti pada gambar 4.29.

Gambar 4.29 Pesan hapus

59

j. Menu Help Menu help ini dibuat sebagai sarana informasi bagi pengguna untuk dapat menjalankan program pembayaran ini. Dalam menu help dituliskan beberapa langkah menggunakan program pada menu utama dari 1 sampai 4 serta menu edit dan hapus.

Gambar 4.30 Tampilan menu help

60

k. Menu About Pada menu about ini menceritakan tentang data dari penulis yang merancang program ini

Gambar 4.31 Menu About Pada menu bantu ini terdapat tombol OK, tombol ini untuk keluar dari menu abaut dan kembali ke menu utama.

61

BAB V PENUTUP

A. Simpulan Berdasarkan uraian pada bab-bab diatas, mengenai penyajian sistem pembayaran dan pemeriksaan laboratorium klinik Spektronik yang

sebelumnya masih sederhana, penulis berusaha memberikan alternatif bagi laboratorium Spektronik dalam mengelola berbagai kegiatannya. Adapun kesimpulan dari penyusunan Tugas Akhir ini adalah sebagai berikut: 1. Sistem pembayaran dan pemeriksaan di laboratorium Spektronik masih dibilang sederhana yaitu dengan catatan buku, sehingga menyulitkan bagi petugas bila ingin mencari data pemeriksaan yang dinginkan. 2. Dengan aplikasi program yang baru ini, diharapkan akan lebih meningkatkan kualitas penyajian data pemeriksaan di Laboratorium Spektronik Semarang serta lebih mudah dalam rangka memperoleh informasi yang akurat, tepat waktu dan relevan. 3. Dari hasil aplikasi program baru ini diharapkan akan lebih bagus dan lebih mudah dipahami oleh para pengguna karena dalam aplikasi program baru ini dilengkapi dengan tampilan yang menarik.

62

B. Saran Saran-saran penulis terhadap Laboratorium Spektronik Semarang adalah sebagai berikut : 1. Laboratorium Spektronik Semarang hendaknya mengoptimalkan pemanfa atan komputer yang ada disana. 2. Laboratorium Spektronik Semarang hendaknya lebih meningkatkan kualitas pelayanan informasi laboratorium dalam bentuk penyajian yang lebih mudah dipahami oleh para pengguna. 3. Laboratorium Spektronik Semarang hendaknya memiliki karyawan yang lebih mempunyai kemampuan di bidang komputer agar dapat menjalankan sistem yang ada dengan sistem komputerisasi. guna menangani proses pengolahan berbagai kegiatan

63

DAFTAR PUSTAKA

64

Listing program. Login Analis Option Explicit Dim Pesan As String Private Sub Form_Activate() Me.Height = 1815 TxtLogin.PasswordChar = "*" Call Panggil TxtLogin.SetFocus TxtKodeAnls.Enabled = False TxtNamaAnls.Enabled = False TxtKodeAnls = "" TxtNamaAnls = "" End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path + "\Chizh.skn" Skin1.ApplySkin hWnd End Sub Private Sub TxtLogin_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me TxtLogin.MaxLength = 10 Dim LoginAnalis As String Dim KodeAnalis As String Dim NamaAnalis As String KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then

Dim PasswordLogin As Recordset Set PasswordLogin = DTBS.OpenRecordset("Select * from Analis where Login='" & TxtLogin & "'", dbOpenDynaset) If Not PasswordLogin.EOF Then Login = True Pesan = MsgBox(" Selamat menggunakan program ini dengan baik!", 0, "Sukses") Unload Me Menu.Show KodeAnalis = PasswordLogin!KodeAnls NamaAnalis = PasswordLogin!NamaAnls TxtKodeAnls = KodeAnalis TxtNamaAnls = NamaAnalis 'Transaksi.TxtKodeAnls = KodeAnalis

65

'Transaksi.TxtNamaAnls = NamaAnalis Else Pesan = MsgBox(" Maaf Password Anda Salah!Silahkan daftar dulu!", 0, "Peringatan") TxtLogin = "" TxtLogin.SetFocus End If End If End Sub Menu Utama Dim Pesan As String Dim Bergerak As Integer Dim Teks As String Private Sub Command1_Click() Login_Analis.Show End Sub Private Sub Command2_Click() Data_Analis.Show End Sub Private Sub Form_Load() Teks = Menu.Caption Skin1.LoadSkin App.Path + "\B-STUDIO.skn" Skin1.ApplySkin hWnd 'ShockwaveFlash1.Movie = App.Path & ("\speC.swf") 'ShockwaveFlash1.Play End Sub Private Sub MnAbout_Click() About.Show End Sub Private Sub mnanalis_Click() Data_Analis.Show End Sub Private Sub MnEditItemPeriksa_Click() Edit_ItemPeriksa.Show End Sub Private Sub MnHapusItemPeriksa_Click() Edit_ItemPeriksa.Show End Sub

66

Private Sub Mnganti_Click() Login_Analis.Show End Sub Private Sub MnHapus_Click() Hapus.Show End Sub Private Sub MnPeMbayaran_Click() Transaksi.Show End Sub Private Sub MnPeriksa_Click() Data_Periksa.Show End Sub Private Sub Timer1_Timer() Menu.Caption = Bergerak Teks = Right(Teks, Len(Teks) - 1) & Left(Teks, 1) Menu.Caption = Teks End Sub Private Sub MnPencarian_Click() Pencarian.Show End Sub Private Sub MnLapBarang_Click() 'CrystalReport1.SelectionFormula = "{Induk}" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub Private Sub MnLapPenjualan_Click() LapPembayaran.Show End Sub Private Sub MnEditPembayaran_Click() Perbaikan.Show End Sub Private Sub MnHapusFaktur_Click() Hapus_Faktur.Show End Sub Private Sub MnUbah_Click() Perubahan.Show End Sub

67

Sub Form_Activate() If Login = False Then Menu.MnFile.Visible = False Menu.MnPencarian.Visible = False Menu.mnlapcrystal.Visible = False Menu.MnPerubahan.Visible = False Menu.MnHapus.Visible = False Menu.MnAbout.Visible = False Else Menu.MnFile.Visible = True Menu.MnPencarian.Visible = True Menu.mnlapcrystal.Visible = True Menu.MnPerubahan.Visible = True Menu.MnHapus.Visible = True Menu.MnAbout.Visible = True Command1.Visible = False Command2.Visible = False Frame1.Visible = False End If End Sub

Private Sub MnBantu_Click() Informasi.HelpFile = "C:\Penjualan\Menu Bantu Pembayaran.hlp" Informasi.HelpCommand = cdlHelpContents Informasi.ShowHelp End Sub Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Then Pesan = MsgBox("Yakin anda benar-benar keluar...?", vbYesNo, "Konfirmasi") If Pesan = vbYes Then End End If End If 'If KeyAscii = 9 Then 'Data_Analis.Show 'End If End Sub Private Sub mntidak_Click() Menu.Show End Sub Private Sub mnya_Click() End End Sub

68

Data Analis Dim RSAnalis As Recordset Dim Pesan As String Function JmlAnalis() MJmlanls = RSAnalis.RecordCount SkinLabel6.Caption = MJmlanls End Function Private Sub Form_Activate() Call Panggil Set RSAnalis = DTBS.OpenRecordset("Analis") Text1.PasswordChar = "*" Text1.MaxLength = 10 Text2.PasswordChar = "*" Text2.MaxLength = 3 Text3.MaxLength = 20 JmlAnalis TidakSiapIsi End Sub Private Sub Command1_Keypress(index As Integer, KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub Command1_Click(index As Integer) SiapIsi Select Case index Case 0 'Untuk Input If Command1(0).Caption = "&Input" Then Command1(0).Caption = "&Simpan" Command1(1).Enabled = False Command1(2).Enabled = False Command1(3).Caption = "&Batal" SiapIsi Text1.SetFocus Else If Text1 = "" Or Text2 = "" Or Text3 = "" Then MsgBox "Data Belum lengkap", 0, "Periksa Kembali Pengisian Data" If Text1 = "" Then Text1.SetFocus ElseIf Text2 = "" Then Text2.SetFocus ElseIf Text3 = "" Then Text3.SetFocus End If

69

Else With RSAnalis .AddNew !Login = Text1 !KodeAnls = Text2 !NamaAnls = Text3 .Update End With Kosongkan Semula TidakSiapIsi JmlAnalis End If End If Case 1 'Edit If Command1(1).Caption = "&Edit" Then Command1(1).Caption = "&Simpan" Command1(0).Enabled = False Command1(2).Enabled = False Command1(3).Caption = "&Batal" Text1.SetFocus Else If Text1 = "" Or Text2 = "" Or Text3 = "" Then MsgBox "Data Belum lengkap", 0, "Periksa Kembali Pengisian Data" If Text1 = "" Then Text1.SetFocus ElseIf Text2 = "" Then Text2.SetFocus ElseIf Text3 = "" Then Text3.SetFocus End If Else With RSAnalis .Edit !Login = Text1 !KodeAnls = Text2 !NamaAnls = Text3 .Update End With Kosongkan Semula TidakSiapIsi JmlAnalis End If End If Case 2 'Hapus Text1.SetFocus

70

Command1(3).Caption = "&Batal" Command1(0).Enabled = False Command1(1).Enabled = False Case 3 'keluar Select Case Command1(3).Caption Case "&Tutup" Unload Me Case "&Batal" TidakSiapIsi Semula Kosongkan End Select End Select End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path + "\winaqua.skn" Skin1.ApplySkin hWnd End Sub Private Sub Text1_Keypress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then 'Untuk Input If Command1(0).Caption = "&Simpan" Then With RSAnalis .index = "Logindex" .Seek "=", Text1 If Not .NoMatch Then Tampilkan Pesan = MsgBox("Login Analis telah terdaftar...!", 0, "Informasi") Kosongkan Text1.SetFocus Else Text2.SetFocus End If End With 'untuk edit ElseIf Command1(1).Caption = "&Simpan" Then With RSAnalis .index = "Logindex" .Seek "=", Text1 If Not .NoMatch Then Tampilkan Text2.Enabled = False Text3.SetFocus Else

71

x = MsgBox("Login Analis <<" & Text1 & ">> belum terdaftar, coba kode lain...!", 0, "Informasi") Text1.SetFocus End If End With 'untuk hapus ElseIf Command1(2).Caption = "&Hapus" Then With RSAnalis .index = "Logindex" .Seek "=", Text1 If Not .NoMatch Then Tampilkan x = MsgBox("Yakin Data Ini Akan Dihapus ...?", vbYesNo, "Konfirmasi Hapus") If x = vbYes Then .Delete Kosongkan TidakSiapIsi Semula JmlAnalis Command1(2).SetFocus Else Kosongkan TidakSiapIsi Semula Command1(2).SetFocus End If Else x = MsgBox("Login Analis <<" & Text1 & ">> belum terdaftar", 0, "Informasi") Text1.SetFocus End If End With End If End If End Sub Private Sub Text2_Keypress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Command1(0).Caption = "&Simpan" Then With RSAnalis .index = "Analisdex" .Seek "=", Text2 If Not .NoMatch Then Pesan = MsgBox("Kode Analis telah terdaftar...!", 0, "Informasi") Text2 = ""

72

Text2.SetFocus Else Text3.SetFocus End If End With End If End If End Sub Private Sub Text3_Keypress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then If Command1(0).Caption = "&Simpan" Then Command1(0).SetFocus ElseIf Command1(1).Caption = "&Simpan" Then Command1(1).SetFocus End If End If End Sub Sub TidakSiapIsi() Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False End Sub Sub SiapIsi() Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True End Sub Sub Kosongkan() Text1 = "" Text2 = "" Text3 = "" End Sub Sub Tampilkan() With RSAnalis Text2 = !KodeAnls Text3 = !NamaAnls End With End Sub

73

Sub Semula() Kosongkan TidakSiapIsi Command1(0).Caption = "&Input" Command1(1).Caption = "&Edit" Command1(2).Caption = "&Hapus" Command1(3).Caption = "&Tutup" Command1(0).Enabled = True Command1(1).Enabled = True Command1(2).Enabled = True End Sub Data periksa Dim Pesan As String Private Sub Form_Load() Skin1.LoadSkin App.Path + "\chizh.skn" Skin1.ApplySkin hWnd End Sub Private Sub Timer1_Timer() Me.Height = Me.Height + 100 Tengah If Me.Height >= 4440 Then Timer1.Enabled = False Tengah End If End Sub Public Sub Tengah() Me.Left = (Screen.Width - Me.Width) / 2 Me.Top = (Screen.Height - Me.Height) / 2 End Sub Function JmlPeriksa() MJmlPrsk = Data1.Recordset.RecordCount Text5.Text = MJmlPrsk End Function Private Sub Form_Activate() Me.Height = 10 Text1.MaxLength = 4 Text2.MaxLength = 30 Text3.MaxLength = 8 Text4.MaxLength = 4 JmlPeriksa TidakSiapIsi End Sub

74

Private Sub Auto() Dim Urutan As String * 4 Dim Hitung As Byte With Data1.Recordset If .RecordCount = 0 Then Urutan = "0001" Else .MoveLast Hitung = Val(Right(.Fields("KodePrks"), 4)) + 1 Urutan = Right("0000" & Hitung, 4) End If Text1 = Urutan End With End Sub Private Sub Command1_Keypress(index As Integer, KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub Command1_Click(index As Integer) SiapIsi Select Case index Case 0 'Untuk Input If Command1(0).Caption = "&Input" Then Command1(0).Caption = "&Simpan" Command1(1).Enabled = False Command1(2).Enabled = False Command1(3).Caption = "&Batal" SiapIsi Call Auto Text1.Enabled = False Text2.SetFocus Else If Text2 = "" Or Text3 = "" Or Text4 = "" Then MsgBox "Data Belum lengkap", 0, "Periksa Kembali Pengisian Data" If Text2 = "" Then Text2.SetFocus ElseIf Text3 = "" Then Text3.SetFocus ElseIf Text4 = "" Then Text4.SetFocus End If Else With Data1.Recordset .AddNew !KodePrks = Text1 !NamaPrsk = Text2

75

!Harga = Val(Text3) !Jumlah = Val(Text4) .Update End With Kosongkan Semula TidakSiapIsi JmlPeriksa End If End If Case 1 'Edit If Command1(1).Caption = "&Edit" Then Command1(1).Caption = "&Simpan" Command1(0).Enabled = False Command1(2).Enabled = False Command1(3).Caption = "&Batal" Text1.SetFocus Else If Text1 = "" Or Text2 = "" Or Text3 = "" Or Text4 = "" Then MsgBox "Data Belum lengkap", 0, "Periksa Kembali Pengisian Data" If Text1 = "" Then Text1.SetFocus ElseIf Text2 = "" Then Text2.SetFocus ElseIf Text3 = "" Then Text3.SetFocus ElseIf Text4 = "" Then Text4.SetFocus End If Else With Data1.Recordset .Edit !KodePrks = Text1 !NamaPrsk = Text2 !Harga = Val(Text3) !Jumlah = Val(Text4) .Update End With Kosongkan Semula TidakSiapIsi JmlPeriksa End If End If Case 2 'Hapus Text1.SetFocus Command1(3).Caption = "&Batal"

76

Command1(0).Enabled = False Command1(1).Enabled = False Case 3 'keluar Select Case Command1(3).Caption Case "&Tutup" Unload Me Case "&Batal" TidakSiapIsi Semula Kosongkan End Select End Select End Sub Private Sub Text1_Keypress(KeyAscii As Integer) If KeyAscii = 13 Then 'untuk edit If Command1(1).Caption = "&Simpan" Then With Data1.Recordset .index = "Periksadex" .Seek "=", Text1 If Not .NoMatch Then Tampilkan Text2.SetFocus Else x = MsgBox("Kode <<" & Text1 & ">> tidak terdaftar, coba kode lain...!", 0, "Informasi") Text1.SetFocus End If End With 'untuk hapus ElseIf Command1(2).Caption = "&Hapus" Then With Data1.Recordset .index = "Periksadex" .Seek "=", Text1 If Not .NoMatch Then Tampilkan x = MsgBox("Yakin Data Ini Akan Dihapus ...?", vbYesNo, "Konfirmasi") If x = vbYes Then .Delete Kosongkan TidakSiapIsi Semula JmlPeriksa Command1(2).SetFocus Else Kosongkan

77

TidakSiapIsi Semula Command1(2).SetFocus End If Else x = MsgBox("Kode <<" & Text1 & ">> tidak terdaftar", 0, "Informasi") Text1.SetFocus End If End With End If End If End Sub Private Sub Text2_Keypress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then Text3.SetFocus End Sub Private Sub Text3_Keypress(KeyAscii As Integer) If KeyAscii = 13 Then Text4.SetFocus If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub Text4_Keypress(KeyAscii As Integer) If KeyAscii = 13 Then If Command1(0).Caption = "&Simpan" Then Command1(0).SetFocus ElseIf Command1(1).Caption = "&Simpan" Then Command1(1).SetFocus End If End If If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Sub TidakSiapIsi() Text1.Enabled = False: Text2.Enabled = False Text3.Enabled = False: Text4.Enabled = False End Sub

78

Sub SiapIsi() Text1.Enabled = True: Text2.Enabled = True Text3.Enabled = True: Text4.Enabled = True End Sub Sub Kosongkan() Text1 = "": Text2 = "" Text3 = "": Text4 = "" End Sub Sub Tampilkan() With Data1.Recordset Text2 = !NamaPrsk Text3 = !Harga Text4 = !Jumlah End With End Sub Sub Semula() Kosongkan TidakSiapIsi Command1(0).Caption = "&Input" Command1(1).Caption = "&Edit" Command1(2).Caption = "&Hapus" Command1(3).Caption = "&Tutup" Command1(0).Enabled = True Command1(1).Enabled = True Command1(2).Enabled = True End Sub Transaksi Pembayaran Private Sub Form_Load() Skin1.LoadSkin App.Path + "\b-studio.skn" Skin1.ApplySkin hWnd uangkbl.Visible = False txtkembali.Visible = False Call Panggil Login = True TxtKodeAnls = Login_Analis.TxtKodeAnls TxtNamaAnls = Login_Analis.TxtNamaAnls End Sub Private Sub Auto() Dim Urutan As String * 4 Dim Hitung As Byte With DTBayar.Recordset

79

If .RecordCount = 0 Then Urutan = "0001" Else .MoveLast Hitung = Val(!Faktur) + 1 Urutan = Right("0000" & Hitung, 4) End If TxtNoFaktur = Urutan End With End Sub Private Sub Form_Activate() Call Auto If Not DTTRans.Recordset.RecordCount = 0 Then DTTRans.Recordset.MoveFirst Do While Not DTTRans.Recordset.EOF DTTRans.Recordset.Delete DTTRans.Recordset.MoveNext Loop End If For i = 1 To 30 DTTRans.Recordset.AddNew DTTRans.Recordset!Nomor = i DTTRans.Recordset.Update Next i DTTRans.Recordset.MoveFirst TxtTglFaktur = Date DBGrid1.SetFocus DBGrid1.Col = 1 Terkunci End Sub Private Sub DBGrid1_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub DBGrid1_AfterColEdit(ByVal ColIndex As Integer) On Error Resume Next If DBGrid1.Col = 1 Then DTPeriksa.Recordset.index = "Periksadex" DTPeriksa.Recordset.Seek "=", UCase(DBGrid1.SelText) If DTPeriksa.Recordset.NoMatch Then Pesan = MsgBox("Kode Periksa Empat Digit (Contoh 0001)", 0, "Peringatan") DBGrid1.Col = 1 Exit Sub

80

End If DTTRans.Recordset.Edit DTTRans.Recordset!Kode = DTPeriksa.Recordset!KodePrks DTTRans.Recordset!Nama = DTPeriksa.Recordset!NamaPrsk DTTRans.Recordset!Harga = DTPeriksa.Recordset!Harga * 1.1 DTTRans.Recordset.Update DBGrid1.Col = 4 DBGrid1.Refresh Exit Sub End If If DBGrid1.Col = 2 Then DTTRans.Recordset.Edit DTTRans.Recordset!Kode = DTPeriksa.Recordset!KodePrks DTTRans.Recordset!Nama = DTPeriksa.Recordset!NamaPrsk DTTRans.Recordset!Harga = DTPeriksa.Recordset!Harga * 1.1 DTTRans.Recordset.Update DBGrid1.Col = 4 DBGrid1.Refresh Exit Sub End If If DBGrid1.Col = 3 Then DTTRans.Recordset.Edit DTTRans.Recordset!Harga = DBGrid1.SelText DTTRans.Recordset!total = DBGrid1.SelText * DTTRans.Recordset!Jumlah DTTRans.Recordset.Update TxtJmlPeriksa = Str(JmlPrks) TxtTotalHarga = Format(JMLHarga, "#,###") TxtJmlItem = Str(JMLItem) DBGrid1.Col = 4 Exit Sub End If If DBGrid1.Col = 4 Then DTTRans.Recordset.Edit DTTRans.Recordset!Jumlah = DBGrid1.SelText DTTRans.Recordset!total = DBGrid1.SelText * DTTRans.Recordset!Harga DTTRans.Recordset.Update TxtTotalHarga.Text = DBGrid1.Columns(5).Value TxtJmlPeriksa = Str(JmlPrks) TxtTotalHarga = Format(JMLHarga, "#,###") TxtJmlItem = Str(JMLItem) DBGrid1.Col = 5 End If If DBGrid1.Col = 5 Then DTTRans.Recordset.MoveNext DBGrid1.Col = 1 End If Exit Sub

81

On Error GoTo 0 'salahProses: 'Pesan = MsgBox("Ada kesalahan proses program", , "Informasi") End Sub Sub KosongkanTabel() If Not DTTRans.Recordset.RecordCount = 0 Then DTTRans.Recordset.MoveFirst Do While Not DTTRans.Recordset.EOF DTTRans.Recordset.Delete DTTRans.Recordset.MoveNext Loop End If For i = 1 To 30 DTTRans.Recordset.AddNew DTTRans.Recordset!Nomor = i DTTRans.Recordset.Update Next i DTTRans.Recordset.MoveFirst DBGrid1.SetFocus DBGrid1.Col = 1 End Sub Private Sub KosongkanHitungan() TxtJmlPeriksa = "": TxtTotalHarga = "" TxtBayar = "": txtkembali = "" TxtJmlItem = "" End Sub Function JMLItem() Dim RSJmlItem As Recordset Set RSJmlItem = DTBS.OpenRecordset("select count(Kode) as jmlitem from Transaksi where total<>0") JMLItem = RSJmlItem!JMLItem End Function Function JmlPrks() Dim rsJMLPRKS As Recordset Set rsJMLPRKS = DTBS.OpenRecordset("select sum(Jumlah) as jmlperiksa from Transaksi where jumlah<>0") JmlPrks = rsJMLPRKS!JmlPeriksa End Function Function JMLHarga() Dim RSTotal As Recordset Set RSTotal = DTBS.OpenRecordset("Select sum(Total) as THarga from Transaksi", dbOpenDynaset)

82

JMLHarga = RSTotal!THarga End Function Private Sub TxtBayar_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If TxtBayar = "" Or Val(TxtBayar) < Str(TxtTotalHarga) Then MsgBox "Jumlah Pembayaran Kurang" TxtBayar.SetFocus Else TxtBayar = Format(TxtBayar, "###,###,###") uangkbl.Visible = True txtkembali.Visible = True uangkbl.Enabled = False txtkembali.Enabled = False txtkembali = Format(TxtBayar - JMLHarga, "###,###,##0") CmdSimpan.SetFocus End If End If End Sub Private Sub cmdSimpan_Click() uangkbl.Visible = False txtkembali.Visible = False If TxtJmlItem = "" Or TxtBayar = "" Or DBGrid1.Col = 3 Or DBGrid1.Col = 4 Or DBGrid1.Col = 5 Then x = MsgBox("Data belum lengkap,Tidak Ada Transaksi ", 0, "Informasi") DBGrid1.SetFocus Exit Sub End If DTTRans.Recordset.MoveFirst Do While Not DTTRans.Recordset.EOF If DTTRans.Recordset!Kode <> vbNullString Then DTBayar.Recordset.AddNew DTBayar.Recordset!Faktur = TxtNoFaktur DTBayar.Recordset!Tanggal = CDate(TxtTglFaktur) DTBayar.Recordset!KodeAnls = TxtKodeAnls DTBayar.Recordset!Nomor = DTTRans.Recordset!Nomor DTBayar.Recordset!KodePrks = DTTRans.Recordset!Kode DTBayar.Recordset!Harga = DTTRans.Recordset!Harga DTBayar.Recordset!Jumlah = DTTRans.Recordset!Jumlah DTBayar.Recordset!totalharga = DTTRans.Recordset!total DTBayar.Recordset!TotalBayar = TxtTotalHarga DTBayar.Recordset!Dibayar = TxtBayar DTBayar.Recordset!Kembali = txtkembali DTBayar.Recordset.Update End If

83

DTTRans.Recordset.MoveNext Loop 'Pengurangan Jumlah Periksa DTTRans.Recordset.MoveFirst Do While Not DTTRans.Recordset.EOF If DTTRans.Recordset!Kode <> vbNullString Then DTPeriksa.Recordset.index = "Periksadex" DTPeriksa.Recordset.Seek "=", DTTRans.Recordset!Kode If Not DTPeriksa.Recordset.NoMatch Then DTPeriksa.Recordset.Edit DTPeriksa.Recordset!Jumlah = DTPeriksa.Recordset!Jumlah DTTRans.Recordset!Jumlah DTPeriksa.Recordset.Update End If End If DTTRans.Recordset.MoveNext Loop KosongkanHitungan Form_Activate Call Cetak End Sub Private Sub cmdbatal_Click() KosongkanTabel KosongkanHitungan End Sub Private Sub cmdtutup_Click() Unload Me End Sub

Function Cetak() DTBayar.RecordSource = "select * from DataPembayaran Order By Faktur Desc, Nomor Asc" DTBayar.Refresh Tampil.Show Dim MSubtotal, MTotal As Long Dim MNo, MHal, MBaris As Integer Dim MJumlah As Double Dim Mharga, Mjual, mhasil As Double Dim MGrs As String Tampil.Font = "Courier New" DTBayar.Recordset.MoveFirst mtotalharga = 0 mtotalJual = 0 Mtotalhasil = 0 MNo = 0

84

MHal = 0 Do While DTBayar.Recordset!Faktur = FakturTerakhir MHal = MHal + 1 DTAnalis.Recordset.index = "Analisdex" DTAnalis.Recordset.Seek "=", DTBayar.Recordset!KodeAnls Tampil.Print Tampil.FontBold = True Tampil.FontSize = 13 Tampil.Print Tab(20); "Faktur Pembayaran Laboratorium SPEKTRONIK" Tampil.Print Tampil.FontBold = False Tampil.FontSize = 9 Tampil.Print Tab(5); "Faktur : "; DTBayar.Recordset!Faktur Tampil.Print Tab(5); "Tanggal : "; Format(Date, "DD-MMMM-YYYY") Tampil.Print Tab(5); "Analis : "; DTAnalis.Recordset!NamaAnls Tampil.Print Tab(85); "Hal :"; Format(MHal, "###") MGrs = String$(90, "-") Tampil.Print Tab(5); MGrs Tampil.Print Tab(5); "No"; Tampil.Print Tab(10); "Nama Periksa"; Tampil.Print Tab(50); "Harga"; Tampil.Print Tab(65); "JML"; Tampil.Print Tab(80); "Total" Tampil.Print Tab(5); MGrs MBaris = 0 Do While DTBayar.Recordset!Faktur = FakturTerakhir MNo = MNo + 1 DTPeriksa.Recordset.index = "Periksadex" DTPeriksa.Recordset.Seek "=", DTBayar.Recordset!KodePrks Mharga = DTBayar.Recordset!Harga Mjual = DTBayar.Recordset!Jumlah mhasil = Mharga * Mjual Tampil.Print Tab(4); RKanan(MNo, "###"); Tampil.Print Tab(10); DTPeriksa.Recordset!NamaPrsk; Tampil.Print Tab(45); "Rp."; RKanan(Mharga, "###,###,###"); Tampil.Print Tab(63); RKanan(Mjual, "#,###"); Tampil.Print Tab(75); "Rp."; RKanan(mhasil, "###,###,###") MBaris = MBaris + 1 DTBayar.Recordset.MoveNext Loop Tampil.Print Tab(5); MGrs Tampil.Print Tab(5); "Jumlah Total"; Tampil.Print Tab(63); RKanan(JumlahPeriksa, "#,###"); Tampil.Print Tab(75); "Rp."; RKanan(JumlahTotal, "###,###,###"); Tampil.Print Tab(5); MGrs Tampil.Print Tab(5); "Jumlah Bayar"; Tampil.Print Tab(75); "Rp."; RKanan(JumlahBayar, "###,###,###");

85

Tampil.Print Tab(5); "Jumlah Kembali"; Tampil.Print Tab(75); "Rp."; RKanan(JumlahKembali, "###,###,###"); Tampil.Print Tab(5); MGrs Loop Tampil.Print Tampil.FontBold = True Tampil.FontSize = 13 Tampil.Print Tab(25); "Terima kasih Semoga Lekas Sembuh" DTBayar.RecordSource = "select * from DataPembayaran" DTBayar.Refresh End Function Function JumlahItem() Dim RSJmlItem As Recordset Set RSJmlItem = DTBS.OpenRecordset("Select Count(KodePrks) As JmlItem From DataJual Where Faktur In(Select Max(Faktur)From DataPembayaran)") JumlahItem = RSJmlItem!JMLItem End Function Function JumlahPeriksa() Dim RSJmlPeriksa As Recordset Set RSJmlPeriksa = DTBS.OpenRecordset("Select Sum(Jumlah) As JmlPeriksa From DataPembayaran Where Faktur In(Select Max(Faktur)From DataPembayaran)") JumlahPeriksa = RSJmlPeriksa!JmlPeriksa End Function Function JumlahTotal() Dim RSJmlTotal As Recordset Set RSJmlTotal = DTBS.OpenRecordset("Select Sum(Jumlah*harga) As JmlTotal From DataPembayaran Where Faktur In(Select Max(Faktur)From DataPembayaran)") JumlahTotal = RSJmlTotal!JmlTotal End Function Function JumlahBayar() Dim RSJmlBayar As Recordset Set RSJmlBayar = DTBS.OpenRecordset("Select DiBayar As JmlBayar From DataPembayaran Where Faktur In(Select Max(Faktur)From DataPembayaran)") JumlahBayar = RSJmlBayar!JmlBayar End Function Function JumlahKembali() Dim RSJmlKembali As Recordset Set RSJmlKembali = DTBS.OpenRecordset("Select Kembali As JmlKembali From DataPembayaran Where Faktur In(Select Max(Faktur)From DataPembayaran)")

86

JumlahKembali = RSJmlKembali!JmlKembali End Function Function FakturTerakhir() Dim RSFaktur As Recordset Set RSFaktur = DTBS.OpenRecordset("Select Max(Faktur)as FakturTerbesar from DataPembayaran ", dbOpenDynaset) FakturTerakhir = RSFaktur!FakturTerbesar End Function Private Function RKanan(NData, CFormat) As String RKanan = Format(NData, CFormat) RKanan = Space(Len(CFormat) - Len(RKanan)) + RKanan End Function Sub Terkunci() TxtNoFaktur.Enabled = False: TxtTglFaktur.Enabled = False TxtNamaAnls.Enabled = False: TxtJmlPeriksa.Enabled = False TxtTotalHarga.Enabled = False: txtkembali.Enabled = False TxtKodeAnls.Enabled = False: TxtJmlItem.Enabled = False End Sub Private Sub CmdKalkulator_Click() AppActivate Shell("Calc.exe") End Sub Tampil/ cetak Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 27 Or KeyAscii = 13 Then Unload Me End If End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path + "\b-studio.skn" Skin1.ApplySkin hWnd End Sub

87

Pencarian data Dim DB As Database Dim RSBayar, RSAnalis, RSPeriksa As Recordset Dim Pesan As String Sub Form_Load() Skin1.LoadSkin App.Path + "\b-studio.skn" Skin1.ApplySkin hWnd Set DB = OpenDatabase("C:\Pembayaran\Database\Induk.mdb") Set RSBayar = DB.OpenRecordset("DataPembayaran") Set RSAnalis = DB.OpenRecordset("Analis") Set RSPeriksa = DB.OpenRecordset("Pemeriksaan") Dim SQLFaktur As String SQLFaktur = "Select Distinct Faktur From DataPembayaran" Set RSBayar = DB.OpenRecordset(SQLFaktur) Do Until RSBayar.EOF CboFaktur.AddItem RSBayar!Faktur RSBayar.MoveNext Loop Dim SQLTanggal As String SQLTanggal = "Select Distinct Tanggal From DataPembayaran" Set RSBayar = DB.OpenRecordset(SQLTanggal) Do Until RSBayar.EOF CboTanggal.AddItem RSBayar!Tanggal RSBayar.MoveNext Loop Dim SQLKodePrks As String SQLKodePrks = "Select Distinct KodePrks From DataPembayaran" Set RSBayar = DB.OpenRecordset(SQLKodePrks) Do Until RSBayar.EOF CboKodePrks.AddItem RSBayar!KodePrks RSBayar.MoveNext Loop Dim SQLKodeAnls As String SQLKodeAnls = "Select Distinct KodeAnls From DataPembayaran" Set RSBayar = DB.OpenRecordset(SQLKodeAnls) Do Until RSBayar.EOF CboKodeAnls.AddItem RSBayar!KodeAnls RSBayar.MoveNext Loop End Sub

88

Private Sub SSTab1_GotFocus() If SSTab1.Caption = "Faktur" Then CboFaktur = "" Text1 = "" Text2 = "" CboFaktur.SetFocus ElseIf SSTab1.Caption = "Tanggal" Then CboTanggal = "" CboFkt = "" CboAnls = "" Label10.Caption = "" CboTanggal.SetFocus ElseIf SSTab1.Caption = "Kode Periksa" Then CboKodePrks = "" Text3 = "" Text5 = "" CboKodePrks.SetFocus ElseIf SSTab1.Caption = "Kode Analis" Then CboKodeAnls = "" Text4 = "" CboKodeAnls.SetFocus ElseIf SSTab1.Caption = "Umum" Then TxtCari = "" TxtCari.SetFocus End If End Sub Private Sub CboFaktur_Gotfocus() 'DTHasil.Refresh End Sub Sub CboFaktur_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub CboFaktur_Click() Text1.Enabled = False Text2.Enabled = False DTPembayaran.RecordSource = "Select * From DataPembayaran Where Faktur = '" & CboFaktur & "'" DTPembayaran.Refresh Text1 = Space(1) & Format(DTPembayaran.Recordset!Tanggal, "DD-MMMYYYY") With DTAnalis.Recordset .index = "Analisdex" .Seek "=", DTPembayaran.Recordset!KodeAnls 'On Error Resume Next

89

'Text2 = Space(1) & DTAnalis.Recordset!NamaAnls Text2 = DTAnalis.Recordset!NamaAnls DTHasil.RecordSource = "Select distinct NamaPrsk as [Nama Periksa],datapembayaran.Harga,datapembayaran.Jumlah, datapembayaran.Harga*datapembayaran.Jumlah as Total From DataPembayaran,Pemeriksaan Where Faktur = '" & CboFaktur & "' and DataPembayaran.KodePrks=Pemeriksaan.KodePrks" DTHasil.Refresh End With End Sub Sub CboTanggal_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub CboTanggal_Gotfocus() DTHasil.RecordSource = "Select distinct NamaPrsk as [Nama Periksa],datapembayaran.Harga,datapembayaran.Jumlah, datapembayaran.Harga*datapembayaran.Jumlah as Total From DataPembayaran,Pemeriksaan Where Faktur = '" & CboFaktur & "' and DataPembayaran.KodePrks=Pemeriksaan.KodePrks" '"Select distinct NamaPrks as [Nama Periksa],Harga,Jumlah, Harga*Jumlah as Total From Pemeriksaan,DataPembayaran Where Faktur = '0' " DTHasil.Refresh End Sub Private Sub CboTanggal_Click() CboFkt.Clear CboAnls.Clear Label10.Caption = "" DTPembayaran.RecordSource = "Select Distinct Faktur,KodeAnls DataPembayaran where cdate(Tanggal)='" & CboTanggal & "'" DTPembayaran.Refresh Do Until DTPembayaran.Recordset.EOF CboFkt.AddItem DTPembayaran.Recordset!Faktur DTPembayaran.Recordset.MoveNext Loop End Sub Sub CboFkt_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub CboFkt_Click() CboAnls.Clear

From

90

DTPembayaran.RecordSource = "Select Distinct KodeAnls From DataPembayaran where cdate(Tanggal)='" & CboTanggal & "' and Faktur='" & CboFkt & "'" DTPembayaran.Refresh Do Until DTPembayaran.Recordset.EOF CboAnls.AddItem DTPembayaran.Recordset!KodeAnls DTPembayaran.Recordset.MoveNext Loop End Sub Sub Cboksr_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub CboAnls_Click() 'DTHasil.RecordSource = "Select distinct NamaPrsk as [Nama Periksa],datapembayaran.Harga,datapembayaran.Jumlah, datapembayaran.Harga*datapembayaran.Jumlah as Total From DataPembayaran,Pemeriksaan Where Faktur = '" & CboFaktur & "' and DataPembayaran.KodePrks=Pemeriksaan.KodePrks" DTHasil.RecordSource = "Select distinct NamaPrsk as [Nama Periksa],datapembayaran.Harga.datapembayaran.Jumlah, datapembayaran.Harga*datapembayaran.Jumlah as Total From datapembayaran,Pemeriksaan Where cdate(Tanggal)= '" & CboTanggal & "' and DataPembayaran.Faktur = '" & CboFkt & "' and DataPembayaran.kodeprks= pemeriksaan.kodeprks" 'DTHasil.Refresh With DTAnalis.Recordset .index = "Analisdex" .Seek "=", CboAnls Label10 = Space(1) & DTAnalis.Recordset!NamaAnls End With End Sub Sub CboKodePrks_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub CboKodePrks_Gotfocus() DTHasil.RecordSource = "Select distinct Faktur,Tanggal,NamaAnls as Analis,Jumlah,harga*jumlah as Total From dataPembayaran,analis where faktur='0'" DTHasil.Refresh End Sub Private Sub CboKodePrks_Click() Text3.Enabled = False

91

Text5.Enabled = False DTPembayaran.RecordSource = "Select * From DataPembayaran Where KodePrks= '" & CboKodePrks & "'" DTPembayaran.Refresh With DTPeriksa.Recordset .index = "Periksadex" .Seek "=", DTPembayaran.Recordset!KodePrks Text3 = Space(1) & DTPeriksa.Recordset!NamaPrsk Text5 = Space(1) & "Rp." & DTPeriksa.Recordset!Harga + (DTPeriksa.Recordset!Harga * 0.1) DTHasil.RecordSource = "Select distinct Faktur,Format(Tanggal,'DD-MMMYYYY') as Tgl_Jual,NamaAnls As Analis,datapembayaran.Jumlah, datapembayaran.Harga*datapembayaran.Jumlah As Total From Data Pembayaran,Analis where KodePrks='" & CboKodePrks & "' and Data Pembayaran.KodeAnls=Analis.KodeAnls" 'DTHasil.Refresh End With End Sub Sub CboKodeAnls_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub Private Sub CboKodeAnls_Gotfocus() DTHasil.RecordSource = "Select distinct Faktur,Tanggal,namaPrsk As [Nama Periksa],Harga,Jumlah,Harga*Jumlah as Total From Data Pembayaran,Periksa where faktur='0'" 'DTHasil.Refresh End Sub Private Sub CboKodeAnls_Click() Text4.Enabled = False DTPembayaran.RecordSource = "Select * From DataPembayaran Where KodeAnls= '" & CboKodeAnls & "'" DTPembayaran.Refresh With DTAnalis.Recordset .index = "Analisdex" .Seek "=", DTPembayaran.Recordset!KodeAnls Text4 = Space(1) & DTAnalis.Recordset!NamaAnls DTHasil.RecordSource = "Select distinct Faktur,Format(Tanggal,'DD-MMMYYYY') As TglJual,NamaPrsk As [Nama Periksa],Harga,Jumlah,Harga*Jumlah As Total From DataPembayaran,Periksa where KodeAnls='" & CboKodeAnls & "' and DataPembayaran.kodePrks=Periksa.KodePrks" 'DTHasil.Refresh End With End Sub

92

Private Sub TxtCari_Gotfocus() DTHasil.RecordSource = "Select Faktur,Format(Tanggal,'DD-MMM-YYYY')As Tgl_Jual,KodePrks as [Kode Periksa],KodeAnls as [Kode Anls],Harga,Jumlah,Harga*Jumlah As Total From DataPembayaran where Faktur= '0'" DTHasil.Refresh End Sub Private Sub TxtCari_Keypress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 27 Then Unload Me If TxtCari = "" Then DTHasil.RecordSource = "Select Faktur,Format(Tanggal,'DD-MMMYYYY')As Tgl_Jual,KodePrks as [Kode Periksa],KodeAnls as [Kode Analis],Harga,Jumlah,Harga*Jumlah As Total From DataPembayaran where Faktur= '0'" DTHasil.Refresh End If If KeyAscii = 13 Then DTHasil.RecordSource = "Select Faktur,Format(Tanggal,'DD-MMMYYYY')As Tgl_Jual,KodePrks as [Kode Periksa],KodeAnls as [Kode Analis],Harga,Jumlah,Harga*Jumlah As Total From DataPembayaran where Faktur='" & TxtCari & "' or Cdate(Tanggal)='" & TxtCari & "' or KodePrks='" & TxtCari & "' or KodeAnls='" & TxtCari & "'" DTHasil.Refresh If DTHasil.Recordset.EOF Then Pesan = MsgBox("Maaf data tidak ditemukan", , "Informasi") TxtCari.SetFocus Exit Sub End If End If End Sub

93

Edit Periksa Dim RSBayar, RSPeriksa As Recordset Private Sub Command1_Click() Unload Me Menu.Show End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path + "\b-studio.skn" Skin1.ApplySkin hWnd Call Panggil Gelap Set RSBayar = DTBS.OpenRecordset("DataPembayaran") Set RSPeriksa = DTBS.OpenRecordset("Pemeriksaan") Dim SQLFaktur As String SQLFaktur = "select distinct Faktur From dataPembayaran" Set RSBayar = DTBS.OpenRecordset(SQLFaktur) Do Until RSBayar.EOF Combo1.AddItem RSBayar!Faktur RSBayar.MoveNext Loop End Sub Private Sub Combo1_Click() Dim SQLPeriksa As String SQLPeriksa = "select distinct KodePrks From DataPembayaran where Faktur='" & Combo1 & "'" Set RSBayar = DTBS.OpenRecordset(SQLPeriksa) Combo2.Clear Do Until RSBayar.EOF Combo2.AddItem RSBayar!KodePrks RSBayar.MoveNext Loop End Sub Private Sub Combo2_Click() With RSPeriksa .index = "Periksadex" .Seek "=", Combo2 If Not .NoMatch Then TxtNamaPrks = RSPeriksa!NamaPrsk TxtHarga = RSPeriksa!Harga + (RSPeriksa!Harga * 0.1) TxtJmlEdit.SetFocus End If End With

94

SQLPeriksa = "Select * From DataPembayaran where Faktur='" & Combo1 & "' and datapembayaran.KodePrks='" & Combo2 & "'" Set RSBayar = DTBS.OpenRecordset(SQLPeriksa) TxtJumlah = RSBayar!Jumlah TxtTotalSemula = Val(TxtHarga) * Val(TxtJumlah) End Sub Private Sub TxtJmlEdit_Change() TxtTotalSekarang = Val(TxtHarga) * Val(TxtJmlEdit) SQLEdit = "Update Datapembayaran Set Jumlah= '" & TxtJmlEdit & "',TotalHarga='" & TxtTotalSekarang & "' where Faktur='" & Combo1 & "' and KodePrks='" & Combo2 & "'" DTBS.Execute (SQLEdit) End Sub Private Sub TxtJmlEdit_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me If KeyAscii = 13 Then CmdEdit.SetFocus If Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep KeyAscii = 0 End If End Sub Private Sub CmdEdit_Click() 'If TxtJmlEdit = "" Or TxtTotalSekarang = "" Then 'MsgBox "Pengisiaan data belum lengkap", , "Informasi" SQLGRTotal = "Select Sum(TotalHarga) as TtlBayar From DataPembayaran Where Faktur='" & Combo1 & "'" Set RSTotalBayar = DTBS.OpenRecordset(SQLGRTotal) GRTotal = RSTotalBayar!TtlBayar SQLTotalBayar = "Update DataPembayaran Set TotalBayar= '" & GRTotal & "' where faktur='" & Combo1 & "'" DTBS.Execute (SQLTotalBayar) SQLKembali = "Update Datapembayaran Set Kembali= DiBayar-TotalBayar where faktur='" & Combo1 & "'" DTBS.Execute (SQLKembali) MsgBox "Jumlah Periksa dan Total Harga dan Total Bayar telah diedit", , "Informasi" Unload Me End Sub

95

Sub Gelap() TxtNamaPrks.Enabled = False TxtHarga.Enabled = False TxtJumlah.Enabled = False TxtTotalSemula.Enabled = False TxtTotalSekarang.Enabled = False End Sub Perubahan Bayar Dim DB As Database Dim RS As Recordset Sub Form_Activate() Call Panggil Gelap TxtFaktur.SetFocus Set RS = DTBS.OpenRecordset("DataPembayaran") End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path + "\b-studio.skn" Skin1.ApplySkin hWnd End Sub Private Sub TxtFaktur_Keypress(KeyAscii As Integer) 'If KeyAscii = 27 Then Unload Me TxtFaktur.MaxLength = 6 If KeyAscii = 13 Then Dim SQLCari As String SQLCari = "Select * From DataPembayaran Where Faktur = '" & TxtFaktur & "'" Dim RS As Recordset Set RS = DTBS.OpenRecordset(SQLCari) If RS.EOF Then MsgBox "Maaf Nomor Faktur Tidak Ditemukan", , "Informasi" TxtFaktur.SetFocus Exit Sub End If Dim RSTtlBayar As Recordset SQLGRTotal = "Select Sum(TotalHarga) as TtlBayar From DataPembayaran Where Faktur='" & TxtFaktur & "'" Set RSTtlBayar = DTBS.OpenRecordset(SQLGRTotal) TxtTotalHarga = RSTtlBayar!TtlBayar TxtDibayar = RS!Dibayar TxtKembali1 = RS!Kembali TxtEditBayar.SetFocus End If End Sub

96

Private Sub TxtEditBayar_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me If KeyAscii = 13 Then Dim Perbaiki1 As String Dim Perbaiki2 As String Perbaiki1 = "Update DataPembayaran Set DiBayar = '" & TxtEditBayar & "' where Faktur = '" & TxtFaktur & "'" DTBS.Execute (Perbaiki1) Perbaiki2 = "Update DataPembayaran Set Kembali = '" & TxtEditBayar & "' (TotalBayar) where Faktur = '" & TxtFaktur & "'" DTBS.Execute (Perbaiki2) TxtKembali2 = TxtEditBayar - TxtTotalHarga Pesan = MsgBox("Data Pembayaran telah diperbaiki", vbOKCancel, "Informasi") Unload Me End If End Sub Sub Gelap() TxtTotalHarga.Enabled = False TxtDibayar.Enabled = False TxtKembali1.Enabled = False TxtKembali2.Enabled = False End Sub Private Sub Timer1_Timer() If SkinLabel4.Visible = True Then SkinLabel4.Visible = False TxtDibayar.Visible = False ElseIf SkinLabel4.Visible = False Then SkinLabel4.Visible = True TxtDibayar.Visible = True End If End Sub Laporan Pembayaran Sub Form_Load() Skin1.LoadSkin App.Path + "\B-STUDIO.skn" Skin1.ApplySkin hWnd DTBayar.RecordSource = "Select Distinct Tanggal From DataPembayaran order By 1" DTBayar.Refresh Do Until DTBayar.Recordset.EOF CboHarian.AddItem DTBayar.Recordset!Tanggal CboAwal.AddItem Format(DTBayar.Recordset!Tanggal, "YYYY ,MM, DD") CboAkhir.AddItem Format(DTBayar.Recordset!Tanggal, "YYYY ,MM, DD")

97

CboBulanan.AddItem DTBayar.Recordset!Tanggal DTBayar.Recordset.MoveNext Loop DTBayar.RecordSource = "Select Distinct KodeAnls From DataPembayaran order By 1" DTBayar.Refresh Do Until DTBayar.Recordset.EOF List1.AddItem DTBayar.Recordset!KodeAnls DTBayar.Recordset.MoveNext Loop DTBayar.RecordSource = "Select Distinct KodePrks From DataPembayaran order By 1" DTBayar.Refresh Do Until DTBayar.Recordset.EOF List2.AddItem DTBayar.Recordset!KodePrks DTBayar.Recordset.MoveNext Loop DTBayar.RecordSource = "Select Distinct Faktur From DataPembayaran order By 1" DTBayar.Refresh Do Until DTBayar.Recordset.EOF List3.AddItem DTBayar.Recordset!Faktur DTBayar.Recordset.MoveNext Loop End Sub Private Sub SSTab1_GotFocus() If SSTab1.Caption = "Laporan Harian" Then CboHarian.SetFocus ElseIf SSTab1.Caption = "Laporan Mingguan" Then CboAwal.SetFocus ElseIf SSTab1.Caption = "Laporan Bulanan" Then CboBulanan.SetFocus End If End Sub Private Sub SSTab2_GotFocus() If SSTab2.Caption = "Laporan Per Analis" Then List1.SetFocus ElseIf SSTab2.Caption = "Laporan Per Periksa" Then List2.SetFocus ElseIf SSTab2.Caption = "Laporan Per Faktur" Then List3.SetFocus End If End Sub Private Sub CboHarian_Keypress(KeyAscii As Integer) If CboHarian = "" Or KeyAscii = 27 Then Unload Me End Sub

98

'Laporan Harian Private Sub CboHarian_Click() CrystalReport1.SelectionFormula = "Totext({DataPembayaran.Tanggal})='" & CboHarian & "'" CrystalReport1.ReportFileName = "C:\Pemayaran\Laporan\Lap Jual Harian.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub Private Sub CboAwal_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub 'Laporan Mingguan (Tgl Syarat) Private Sub CboAkhir_Click() If CboAwal = "" Then MsgBox "Tanggal awal kosong", , "Informasi" CboAwal.SetFocus Exit Sub End If CrystalReport1.SelectionFormula = "{DataPembayaran.Tanggal} in date (" & CboAwal.Text & ") to date (" & CboAkhir.Text & ")" CrystalReport1.ReportFileName = "C:\Pemabayaran\Laporan\Lap Jual Mingguan.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub Private Sub CboBulanan_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub 'Laporan Bulanan Private Sub CboBulanan_Click() CrystalReport1.SelectionFormula = "Month({DataPembayaran.Tanggal})=" & Month(CboBulanan.Text) & "" CrystalReport1.ReportFileName = "C:\Pemabayaran\Laporan\Lap Jual Bulanan.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub Private Sub List1_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub

99

'Laporan Per Analis Private Sub List1_Click() CrystalReport1.SelectionFormula = "{DataPemabayaran.Kodeksr}='" & List1 & "'" CrystalReport1.ReportFileName = "C:\Penjualan\Laporan\Lap Jual Per Kasir.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub Private Sub List2_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub 'Laporan Per Periksa Private Sub list2_Click() CrystalReport1.SelectionFormula = "{DataPemabayaran.KodePrks}='" & List2 & "'" CrystalReport1.ReportFileName = "C:\Pemabayaran\Laporan\Lap Jual Per Barang.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub Private Sub List3_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me End Sub 'Laporan Per Faktur Private Sub List3_Click() CrystalReport1.SelectionFormula = "{DataPemabayaran.Faktur}='" & List3 & "'" CrystalReport1.ReportFileName = "C:\Pemabayaran\Laporan\Lap Jual Per Faktur.rpt" CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub

100

Hapus Private Sub Command1_Click() Unload Me Hapus_Faktur.Show End Sub Private Sub Command2_Click() Unload Me Hapus_Periksa.Show End Sub Private Sub Command3_Click() Menu.Show End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path + "\zhelezo.skn" Skin1.ApplySkin hWnd End Sub Private Sub SkinLabel1_DragDrop(Source As Control, x As Single, y As Single) If KeyAscii = 27 Then Unload Me End Sub Hapus Faktur Dim RS As Recordset Private Sub Form_Load() Skin1.LoadSkin App.Path + "\B-STUDIO.skn" Skin1.ApplySkin hWnd Call Panggil Set RS = DTBS.OpenRecordset("DataPembayaran") TxtHapusFaktur.MaxLength = 6 End Sub Private Sub TxtHapusFaktur_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me If KeyAscii = 13 Then Dim RSCari As Recordset Set RSCari = DTBS.OpenRecordset("Select * From DataPembayaran where Faktur='" & TxtHapusFaktur & "'", dbOpenDynaset) If RSCari.EOF Then MsgBox "Faktur tidak ditemukan", , "Informasi" TxtHapusFaktur.SetFocus Exit Sub

101

End If Pesan = MsgBox("Yakin Faktur ini akan di hapus", vbYesNo, "Konfirmasi Hapus") If Pesan = vbYes Then Dim SQLHapus As String SQLHapus = "delete from datapembayaran where faktur='" & TxtHapusFaktur & "'" DTBS.Execute (SQLHapus) MsgBox "Faktur << " & TxtHapusFaktur & " >> telah dihapus", , "Informasi Hapus" Unload Me Hapus.Show Else TxtHapusFaktur.SetFocus End If End If End Sub Hapus periksa Dim RS As Recordset Private Sub Form_Load() Skin1.LoadSkin App.Path + "\B-STUDIO.skn" Skin1.ApplySkin hWnd Call Panggil Set RS = DTBS.OpenRecordset("DataPembayaran") TxtHapusFaktur.MaxLength = 6 End Sub Private Sub TxtHapusFaktur_Keypress(KeyAscii As Integer) If KeyAscii = 27 Then Unload Me If KeyAscii = 13 Then Dim RSCari As Recordset Set RSCari = DTBS.OpenRecordset("Select * From DataPembayaran where Faktur='" & TxtHapusFaktur & "'", dbOpenDynaset) If RSCari.EOF Then MsgBox "Faktur tidak ditemukan", , "Informasi" TxtHapusFaktur.SetFocus Exit Sub End If Pesan = MsgBox("Yakin Faktur ini akan di hapus", vbYesNo, "Konfirmasi Hapus") If Pesan = vbYes Then Dim SQLHapus As String SQLHapus = "delete from datapembayaran where faktur='" & TxtHapusFaktur & "'"

102

DTBS.Execute (SQLHapus) MsgBox "Faktur << " & TxtHapusFaktur & " >> telah dihapus", , "Informasi Hapus" Unload Me Hapus.Show Else TxtHapusFaktur.SetFocus End If End If End Sub Menu About Private Sub Command1_Click() Unload Me Menu.Show End Sub Private Sub Form_Load() Skin1.LoadSkin App.Path + "\b-studio.skn" Skin1.ApplySkin hWnd End Sub Modul Pembayaran Option Explicit Public Login As Boolean Public DTBS As Database Public Sub Panggil() Set DTBS = OpenDatabase("C:\Pembayaran\Database\Induk.Mdb") End Sub

Anda mungkin juga menyukai