Perancangan Aplikasi Klinik Pada Klinik Umum Imanuel Menggunakan Visual Basic 6.0
PERANCANGAN APLIKASI KLINIK PADA KLINIK UMUM IMANUEL MENGGUNAKAN VISUAL BASIC 6.0
TUGAS AKHIR
RIFQY MUKHLIZAR 112406063
PROGRAM STUDI D3 TEKNIK INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGEAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2014
(2)
PERANCANGAN APLIKASI KLINIK PADA KLINIK UMUM IMANUEL MENGGUNAKAN VISUAL BASIC 6.0
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
RIFQY MUKHLIZAR 112406063
PROGRAM STUDI D3 TEKNIK INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGEAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2014
(3)
PERSETUJUAN
Judul : PERANCANGAN APLIKASI KLINIK PADA KLINIK UMUM IMANUEL MENGGUNAKAN VISUAL BASIC 6.0 Kategori : TUGAS AKHIR
Nama : RIFQY MUKHLIZAR
Program Studi : D3TEKNIK INFORMATIKA Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 17 Juni 2014
Disetujui Oleh:
Program Studi D3 Teknik Informatika Pembimbing FMIPA USU
Ketua,
Dr. Elly Rosmaini, M.Si Drs. James Piter Marbun,M.Kom NIP. 196005201985032002 NIP.195806111986031002
(4)
PERNYATAAN
PERANCANGAN APLIKASI KLINIK PADA KLINIK UMUM IMANUEL MENGGUNAKAN VISUAL BASIC 6.0
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dari ringkasan yang masing – masing disebutkan sumbernya.
Medan, Juli 2014
RIFQY MUKHLIZAR 112406063
(5)
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya Penulis dapat menyelesaikan penyusunan Tugas Akhir ini dengan judul Perancangan Aplikasi Klinik Pada Klinik Umum Imanuel Menggunakan Visual Basic 6.0 .
Terimakasih penulis sampaikan kepada Bapak Drs. James Piter Marbun,M.Kom selaku pembimbing yang telah meluangkan waktunya selama penyusunan tugas akhir ini. Terimakasih kepada Ibu Dr. Elly Rosmaini, M.Si dan Bapak Syahriol Sitorus, S.Si, M.IT selaku Ketua Program Studi dan Sekretaris Program Studi D3 Teknik Informatika FMIPA USU, Bapak Prof. Dr. Tulus, M.Si dan Ibu Dr. Mardiningsih, M.Si selaku Ketua dan Sekretaris Departemen Matematika FMIPA USU, Bapak Dr. Sutarman, M.Sc Selaku Dekan FMIPA USU, seluruh Staff dan Dosen Program Studi D3 Teknik Informatika FMIPA USU, pegawai FMIPA USU dan rekan-rekan kuliah satu angkatan 2011. Akhirnya tidak terlupakan kepada Ayah Mukhtaruddin, Ibu Zahrawati, begitu juga kakak Rita Wahyuni dan keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan Yang Maha Esa akan membalasnya.
(6)
ABSTRAK
Tugas akhir ini bertujuan untuk membangun sebuah aplikasi yang dapat digunakan secara mudah di dalam pengelolaan sistem aplikasi Klinik Umum. Aplikasi ini dibangun menggunakan perangkat lunak Microsoft Visual Basic 6.0 dan MySQL. Metodologi pengembangan aplikasi yang digunakan adalah melalui pencacatan data, pengelolaan data dan transakasi pendaftaran pasien. Aplikasi ini memiliki media pengelola data berkaitan dengan input data, mengedit, menghapus dan menampilkan data. Tujuan utama Aplikasi ini adalah untuk pengelolaan data yang lebih terorganisir dengan tanpa menggunakan sistem manual melainkan menggunakan komputer sebagai alat mempermudah dalam memanajemen data.
(7)
LIBRARY IN INFORMATION SYSTEM RESEARCH AND DEVELOPMENT BOARD NORTH SUMATRA PROVINCE
ABSTRACT
This final task was build a aplication that can be used easily in the general clinical application. This Aplication software built using Microsoft Visual Basic 6.0 and MySQL. Aplications development methodology that is used through the clinical records, data management and registration pasien. This Aplication has media related data with input data, edit, delete, and display data. The main purpose of this application is for a more organized data management without using a manual system but uses the computer as a tool to make it easier to manage the data.
(8)
DAFTAR ISI
Halaman
PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL ix
DAFTAR GAMBAR x
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Identifikasi Masalah 2
1.3 Batasan Masalah 2
1.4 Maksud dan Tujuan 3
1.5 Metode Penelitian 3
1.6 Tinjauan Pustaka 4
1.7 Sistematika Penulisan 5
BAB 2 LANDASAN TEORI 7
2.1 Komputer 7
2.2 Pengolahan data 8
2.3 Pengertian Basis Data 10
2.3.1 Komponen Basis Data 10 2.4 Perancangan dan Flowchart 12
2.4.1 Perancangan 12
2.4.2 Flowchart 12
2.5 Microsoft Visual Basic 6.0 13 2.5.1 IDE Visual Basic 14
2.5.2 Menu Bar 15
2.5.3 ToolBar/SpeedBar 15
2.5.4 Jendela ToolBox 15
2.5.5 Jendela Form Designer 16 2.5.6 Jendela Kode Editor 16
2.5.7 Jendela Project 17
(9)
BAB 3 PERANCANGAN SISTEM 18
3.1 Perancangan Sistem 18
3.1.1 Perancangan Flowchart 18 3.2 Perancangan Database dan Relasi Antar Table 21
3.2.1 Database 21
3.2.2 Relasi Antar Table 26 3.3 Perancangan Interface (Antarmuka) 27
BAB 4 IMPLEMENTASI SISTEM 30
4.1 Pengertian dan Tujuan Implementasi 30
4.2 Tahap Implementasi 31
4.3 Tampilan Inteface 35
BAB 5 KESIMPULAN DAN SARAN 46
5.1 Kesimpulan 46
5.2 Saran 46
DAFTAR PUSTAKA 48
(10)
DAFTAR TABEL
Halaman
Tabel 2.1 Simbol Flowchart 13
Tabel 3.1 Tabel Admin/Petugas 22
Tabel 3.2 Tabel Data Tindakan 22
Tabel 3.3 Tabel Data Obat 22
Tabel 3.4 Tabel Data Dokter 23
Tabel 3.5 Tabel Data Pasien 23
Tabel 3.6 Tabel Data Pendaftaran 24
Tabel 3.7 Tabel Transaksi Rawat Jalan 24 Tabel 3.8 Tabel Transaksi Rawat Jalan 25 Tabel 3.9 Tabel Transaksi Rawat Obat 25
(11)
DAFTAR GAMBAR
Halaman
Gambar 2.1 IDE 14
Gambar 2.2 Menu Bar 15
Gambar 2.3 ToolBar/SpeedBar 15
Gambar 2.4 Jendela ToolBox Standard 16
Gambar 2.5 Jendela Form Designer 16
Gambar 2.6 Jendela Kode Editor 16
Gambar 2.7 Jendela Project 17
Gambar 2.8 Jendela Propertis 17
Gambar 3.1 Flowchart Login 19
Gambar 3.2 Flowchart Menu Master 19
Gambar 3.3 Flowchart Menu Master Data 20 Gambar 3.4 Flowchart Menu Transaksi 20 Gambar 3.5 Flowchart Menu Laporan 21
Gambar 3.6 Relasi Antar Tabel 26
Gambar 3.7 Rancangan Form Menu Utama 27 Gambar 3.8 Rancangan Form Sub Menu File 27 Gambar 3.9 Rancangan Form Sub Menu Master Data 28 Gambar 3.10 Rancangan Form Sub Menu Transaksi 28 Gambar 3.11 Rancangan Form Sub Menu Laporan 29 Gambar 3.12 Rancangan Form Login 29 Gambar 4.1 Tampilan Form Menu Utama (Login) 35 Gambar 4.2 Tampilan Sub Menu File 35 Gambar 4.3 Tampilan Sub Menu Master Data 36 Gambar 4.4 Tampilan Sub Menu Transaksi 36 Gambar 4.5 Tampilan Sub Menu Laporan 37 Gambar 4.6 Tampilan Form Data Tindakan 37 Gambar 4.7 Tampilan Form Data Dokter 38 Gambar 4.8 Tampilan Form Data Pasien 38 Gambar 4.9 Tampilan Form Data Obat 39 Gambar 4.10 Tampilan Form Data Petugas 39 Gambar 4.11 Tampilan Form Pendaftaran Pasien 40 Gambar 4.12 Tampilan Form Rawat Pasien Baru 40 Gambar 4.13 Tampilan Form Rawat Pasien Lama 41 Gambar 4.14 Tampilan Form Pemberian Obat 41 Gambar 4.15 Tampilan Laporan Data Tindakan 42 Gambar 4.16 Tampilan Laporan Data Dokter 42
(12)
Gambar 4.17 Tampilan Laporan Data Pasien 43 Gambar 4.18 Tampilan Laporan Data Petugas 43 Gambar 4.19 Tampilan Laporan Rawat Tindakan Pasien 44 Gambar 4.20 Tampilan Form Laporan Rawat Tindakan per Periode 44 Gambar 4.21 Tampilan Form laporan Tindakan per Pasien 45 Gambar 4.22 Tampilan Laporan Rawat Obat 45
(13)
ABSTRAK
Tugas akhir ini bertujuan untuk membangun sebuah aplikasi yang dapat digunakan secara mudah di dalam pengelolaan sistem aplikasi Klinik Umum. Aplikasi ini dibangun menggunakan perangkat lunak Microsoft Visual Basic 6.0 dan MySQL. Metodologi pengembangan aplikasi yang digunakan adalah melalui pencacatan data, pengelolaan data dan transakasi pendaftaran pasien. Aplikasi ini memiliki media pengelola data berkaitan dengan input data, mengedit, menghapus dan menampilkan data. Tujuan utama Aplikasi ini adalah untuk pengelolaan data yang lebih terorganisir dengan tanpa menggunakan sistem manual melainkan menggunakan komputer sebagai alat mempermudah dalam memanajemen data.
(14)
LIBRARY IN INFORMATION SYSTEM RESEARCH AND DEVELOPMENT BOARD NORTH SUMATRA PROVINCE
ABSTRACT
This final task was build a aplication that can be used easily in the general clinical application. This Aplication software built using Microsoft Visual Basic 6.0 and MySQL. Aplications development methodology that is used through the clinical records, data management and registration pasien. This Aplication has media related data with input data, edit, delete, and display data. The main purpose of this application is for a more organized data management without using a manual system but uses the computer as a tool to make it easier to manage the data.
(15)
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Saat ini perkembangan teknologi sangat pesat. Hal ini sangat mendukung dan diperlukan untuk membantu kelancaran kinerja dan penyajian informasi dalam suatu instansi atau perusahaan. Perkembangan teknologi terutama dalam bidang teknologi komputer akan memicu munculnya berbagai inovasi baru dalam suatu penyajian informasi.
Penerapan teknologi dapat difungsikan dalam berbagai bentuk, antara lain: aplikasi pengolahan data pasien yang digunakan sebagai aplikasi pada sebuah klinik umum. Penerapan aplikasi ini sebagai sarana untuk pengolahan data, penyimpanan data secara cepat dan akurat. Kedua fungsi penerapan teknologi ini dapat terpisah maupun terintegrasi dalam suatu sistem informasi tergantung dari kemampuan software yang digunakan, sumber daya manusia dan infrastruktur peralatan teknologi yang mendukung keduanya. Seperti halnya sistem pengolahan data pasien yang ada pada klinik umum. Upaya untuk mencapai keberhasilan maksimal dalam menghadapi masalah pengolahan data pasien yang masih menggunakan sistem manual dianggap sudah tidak memenuhi, karena dalam melakukan pendataan dan pencarian data pasien
(16)
harus memerlukan pengolahan data yang cepat dan menghasilkan informasi yang cepat dan akurat juga.
Berdasarkan uraian di atas, maka penulis mencoba untuk menyusun Tugas Akhir dengan judul “PERANCANGAN APLIKASI KLINIK PADA KLINIK UMUM IMANUEL MENGGUNAKAN VISUAL BASIC 6.0”.
Dalam merancang aplikasi klinik pada Klinik Umum Immanuel Gatot Subroto Medan penulis menggunakan bahasa pemrograman Microsoft Visual Basic 6.0, yang didukung pula dengan MySQL sebagai database server.
1.2 Identifikasi Masalah
Berdasarkan uraian dari latar belakang permasalahan di atas, maka masalah yang akan dibahas adalah sebagai berikut:
1. Bagaimana cara pengoptimalan dalam kepengurusan klinik tanpa proses manual. 2. Bagaimana cara membangun aplikasi pengolahan data klinik
1.3 Batasan Masalah
Untuk menghindari pembahasan diluar permasalahan, berikut ini adalah batasan permasalahan:
1. Aplikasi kepengurusan klinik ini merupakan aplikasi yang menggunakan Visual Basic 6.0.
(17)
data petugas, data transaksi, dan laporan dari seluruh rekapitulasi klinik ini. 3. Aplikasi ini merupakan Sistem Pengolahan Data yang dibangun menggunakan
visual basic 6.0 dan MySQL Sebagai Database-nya dengan Sistem Operasi Windows.
1.4 Maksud dan Tujuan
Maksud dari penulis menyusun tugas akhir ini yaitu sebagai syarat kelulusan matakuliah Tugas Akhir Program Diploma III Teknik Informatika Universitas Sumatera Utara (USU).
Adapun tujuan dari pembuatan Tugas Akhir ini:
1. Dengan adanya Aplikasi ini diharapkan dapat memberikan solusi dalam hal mempermudah dan memanage kepengurusan klinik.
2. Membangun atau merancang aplikasi pengolahan data klinik.
1.5 Metode Penelitian
Di dalam penulisan Tugas Akhir ini dibutuhkan data-data pendukung yang diperoleh dengan suatu metode pengumpulan data yang relevan, perancangan sistem yang akurat dan pengujian sistem. Adapun metode penelitian yang digunakan antara lain:
1. Penelitian Kepustakaan (Library Research)
Penulis menggunakan buku yang memuat tentang Visual Basic, dan MySQL.
(18)
a. Observasi kelapangan. b. Pengambilan data
Pengambilan data dilakukan langsung ke Klinik Umum Immanuel Gatot Subroto Medan, dimana penulis melakukan pengumpulan data dengan cara bertanya langsung kepada pihak yang terkait.
c. Pengolahan Data
Data-data yang telah diperoleh kemudian diolah untuk dianalisa.
3. Perancangan Aplikasi ini menggunakan Microsoft Visual Basic 6.0 serta menggunakan MySQL untuk databasenya.
4. Menguji coba program.
1.6 Tinjauan Pustaka
Microsoft Visual Basic merupakan salah satu aplikasi pemrograman visual yang memiliki bahasa pemrograman yang cukup populer dan mudah untuk dipelajari. Basis bahasa pemrograman yang digunakan dalam Visual Basic adalah bahasa BASIC (Beginners All-Purpose Symbolic Instruction Code) yang merupakan salah satu bahasa pemrograman tingkat tinggi yang sederhana dan mudah dipelajari. Dengan Visual Basic, kita bisa membuat program dengan aplikasi GUI (Graphical User Interface) atau program yang memungkinkan pengguna komputer berkomunikasi dengan komputer tersebut menggunakan grafik atau gambar.
Microsoft Visual Basic 6.0 menyediakan berbagai perangkat kontrol yang dapat digunakan untuk membuat program aplikasi dalam sebuah form baik aplikasi kecil,
(19)
sederhana hingga ke aplikasi pengolahan database.
1.7 Sistematika Penulisan
Adapun sistematika penulisan tugas akhir ini terdiri dari 5 bab yang masing –masing dirincikan dalam beberapa subbab, yaitu:
BAB 1 PENDAHULUAN
Dalam bab pendahuluan akan dibahas latar belakang pengambilan masalah, identifikasi masalah, batasan masalah, maksud dan tujuan yang berkaitan dengan topik permasalahan, metodologi penelitian yang digunakan penulis, tinjauan pustakan dan sistematika penulisan tugas akhir.
BAB 2 LANDASAN TEORI
Dalam bab ini, penulis menjelaskan teori-teori singkat tentang hal-hal yang berhubungan dengan judul dan bahasa pemrograman Visual Basic yang digunakan oleh penulis.
BAB 3 PERANCANGAN SISTEM
Dalam bab ini, penulis menguraikan tentang perancangan sistem yang merupakan inti dari permasalahan dalam tugas akhir ini. Penguraian ini dimaksudkan untuk memberikan gambaran yang jelas mengenai masalah-masalah yang dihadapi berikut solusinya.
BAB 4 IMPLEMENTASI SISTEM
(20)
BAB 5 KESIMPULAN DAN SARAN
Dalam bab ini dijelaskan tentang kesimpulan dan saran yang akan disampaikan oleh penulis berdasarkan perancangan serta data-data yang diperoleh oleh penulis.
(21)
BAB 2
LANDASAN TEORI
Landasan teori merupakan paduan untuk melaksanakan dan menyelesaikan suatu studi. Dalam tugas akhir ini penulis akan mengemukakan beberapa teori yang berkaitan dengan masalah yang penulis bahas. Teori-teori tersebut merupakan dasar bagi penulis untuk membuat suatu rancangan maupun keputusan dan kesimpulan untuk menentukan sesuatu apakah sesuai atau tidak.
2.1 Komputer
Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur yang telah dirumuskan. Kata computer semula dipergunakan untuk menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika, dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern dipakai untuk banyak tugas yang tidak berhubungan dengan matematika.
(22)
Pengertian “Komputer” menurut para ahli:
1. Komputer adalah suatu alat elektronik yang memiliki kemampuan melakukan beberapa tugas seperti menerima input, memroses input, menyimpan perintah-perintah dan menyediakan ouput dalam bentuk informasi (Robert H. Blissmer, 1985).
2. Komputer adalah alat hitung elektronik yang bisa menginterpresentasikan serta melaksanakan perintah program berupa input, ouput, perhitungan, dan operasi-operasi logik lainnya. (Larry Long dan Nancy Long).
2.2 Pengolahan Data
Data berasal dari bahasa latin yaitu “datum” yang berarti fakta, kenyataaan, kejadian, atau peristiwa. Jadi data adalah fakta dasar yang mewakili suatu kejadian. Data diproses oleh sistem komputer untuk menghasilkan informasi. Inilah alas an utama keberadaan komputer. Data dapat berupa angka dalam berbagai bentuk.
Salah satu komponen dalam pengolahan data diperlukan adalah merupakan program aplikasi (program komputer) yang mana berisikan seretan instruksi yang disusun dan dapat diterima oleh komputer. Jadi pengolahan data adalah proses untuk melakukan manipulasi dari pemakaian data agar menghasilkan informasi yang diperlukan. Secara umum pengolahan data terdiri dari tiga langkah, yaitu :
1. Input (pemasukan data) 2. Proses (pengolahan data)
(23)
Pengolahan data merupakan segala macam pengolahan terhadap data untuk membuat data itu berguna sesuai dengan hasil yang diinginkan, sehingga dapat segera dipakai, hasil pengolahan data tersebut adalah informasi.
Sewaktu merencanakan proyek penelitian, orang yang melakukan penelitian seharusnya sudah mempunyai rencana mengenai pengolahan dan desain outputnya. Pengolahan data meliputi kegiatan-kegiatan mulai dari penyiapan data sampai mengeluarkan hasil pengolahan data dengan menggunakan perangkat elektronik secara sederhana meliputi :
1. Masukan data
Data terlebih dahulu dikumpulkan, kemudian dipindahkan kesuatu peralatan input komputer. Record data yang dihasilkan akan dibaca oleh komputer melalui bahasa pemrograman yang akan diterjemahkan kedalam bahasa mesin yang akan dimengerti oleh komputer.
2. Memproses data
ada beberapa jenis pemrosesan data, antara lain : a. Penyorotan
record data disusun / diurutkan sesuai dengan urutan yang diinginkan, baik numeric maupun alphabetic.
b. Klasifikasi
Record data disusun dalam berbagai kelompok. c. Kalkulasi
Melakukan perhitungan dengan manipulasi aritmatika terhadap data. d. Ringkasan
(24)
e. Seleksi
Mengambil record-record 3. Hasil pengolahan
Hasil pengolahn disajikan dalam suatu format tertentu yang berisi informasi. Output ini mungkin juga disimpan dalam suatu media yang akan digunakan untuk pengolahannya.
4. Pemeliharaan
Terhadap sistem yang telah selesai dbuat dapat dilakukan beberapa perubahan atau penambahan yang sesuai dengan keinginan pemakai. Pada fase pemeliharaan ini dilakukan pemeriksaan ulang pada setiap jangka waktu.
2.3 Pengertian Basis Data
Basis data (database) merupakan kumpulan dari yang saling berhubungan satu dengan yang lainnya, tersimpan diperangkat lunak untuk memanipulasinya. Database merupakan salah satu komponen yang penting dalam sistem informasi karena merupakan basis dalam menyediakan informasi bagi para pemakai. Penerapan basis data dalam system informasi disebut dengan database system. System basis data (data sistem) adalah suatu system informasi yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan yang lainnya dan membuatnya tersedia bagi beberapa aplikasi yang bermacam-macam di dalam organisasi.
2.3.1 Komponen Basis Data
Apabila kita lihat dari komponen didalam basis data, maka kita dapat menyebutkan bahwa:
(25)
1. Basis data terdiri dari beberapa file 2. File terdiri dari beberapa record 3. Record terdiri dari beberapa field 4. Field terdiri dari beberapa karakter
Karakter merupakan bagian dari yang terkecil dapat berupa karakter numeric, huruf maupun karakter khusus yang membentuk suatu data item (field). Field adalah sekumpulan data-data record yang sejenis, yang merupakan kumpulan data untuk mewakili suatu entity data record.
Record merupakan kumpulan dari field membentuk record. Record menggambarkan unit dari data individu tertentu. File merupakan kumpulan dari record-record yang sejenis yang mempunyai panjang elemen yang sama, atribut yang sama namun berbeda data valuenya. File tediri dari record-record yang menggambarkan suatu kesatuan data yang sejenis.
Dengan menggunakan sistem basis data masalah pada manajemen basis data dapat dikurangi. Dengan sistem basis data juga dapat mengurangi duplikasi data dengan tujuan untu mengurangi biaya menajemen. Basis data dapat dibuat cukup fleksibel dalam arti mudah ditambah atau dikurangi bahkan dimodifikasi, dan system basis data dapat menghubungkan data dengan data lainnya.
(26)
2.4 Perancangan dan Flowchart 2.4.1 Perancangan
Perancangan adalah suatu sistem kejadian membuat pola teknis atau bentuk teknis sistem berdasarkan evaluasi yang telah dilakukan pada kegiatan analisis. Tujuan perancangan adalah untuk memenuhi kebutuhan pemakai sistem mengenai gambaran yang jelas tentang perancangan sistem yang akan dibuat serta dapat
diimplementasikan.
2.4.2 Flowchart
Flowchart adalah sekumpulan simbol-simbol atau skema yang menunjukkan atau menggambarkan arus logika dari data yang akan diproses dalam suatu program dari awal sampai akhir. Flowchart terdiri dari simbol-simbol yang mewakili fungsi-fungsi langkah program dan garis alir menunjukkan urutan dari simbol-simbol yang akan dikerjakan.
Berikut adalah simbol-simbol program flowchart menurut ANSI (American National Standard Institute) :
(27)
Tabel 2.1 Simbol Flowchart
2.5 Microsoft Visual Basic 6.0
Microsoft Visual Basic 6.0 adalah salah satu alat untuk membangun aplikasi dalam lingkungan windows. Microsoft Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk penulisan kode menggunakan dialek bahasa Basic yang mudah dipelajari.
(28)
Pada pemrograman Visual, pengembangan aplikasi dimulai dengan pembentukan user interface, kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan selanjutnya dilakukan penulisan kode program untuk menangani kejadian (event).
2.5.1 IDE Visual Basic
Pengenalan dari belajar Microsoft Visual Basic adalah mengenal IDE (Integrated Development Environment) Visual Basic. IDE Visual Basic adalah bagian dari Visual Basic yang digunakan untuk menciptakan aplikasi. Dengan IDE inilah pemrograman secara visual merancang tampilan untuk para user (antar muka pemakai) dan menuliskan listing program (kode).
(29)
2.5.2 MenuBar
MenuBar berfungsi memilih tugas-tugas tertentu seperti memulai, memilih, mengakhiri suatu aplikasi dan lain sebagainya.
Gambar 2.2 Menu Bar
2.5.3 ToolBar/SpeedBar
ToolBar/SpeedBar memiliki fungsi yang tidak jauh berbeda dngan MenuBar. Hanya saja ToolBar/SpeedBar penggunannya lebih praktis dan cepat (dinyatakan dalam bentuk icon).
Gambar 2.3 ToolBar/SpeedBar
2.5.4 Jendela ToolBox
ToolBox berisikan kumpulan komponen-komponen yang akan ditempelkan/diletakkan dalam form dan digunakan untuk mendesain form sehingga membentuk user interface. ToolBox standard mempunyai banyak pilihan komponen, diantaranya Label, CommandButton, CheckBox, ComboBox, ListBox, Timer, Image, Shape, Line.
(30)
2.5.5 Jendela Form Designer
Jendela Form Designer berfungsi untuk merancang dan mendesain user interface dan disini pula kontrol-kontrol komponen dari ToolBox diletakkan.
Gambar 2.5 Jendela Form Designer
2.5.6 Jendela Kode Editor
Jendela Kode Editor secara umum berguna untuk menuliskan listing program dalam pembuatan suatu aplikasi.
Gambar 2.6 Jendela Kode Editor 2.5.7 Jendela Project
Jendela Project berfungsi untuk melihat kontrol-kontrol apa saja yang berada didalam form tersebut cesara hierarki seperti Windows Explorer.
(31)
Gambar 2.7 Jendela Project
2.5.8 Jendela Properties
Jendela Properties ini digunakan untuk memanipulasi kontrol-kontrol yang sudah ada dalam form. Jendela Properties ini memiliki dua halaman yang masing-masing disebut
Alphabetic (nama properti) dan Catagorized (pilihan properti).
(32)
BAB 3
PERANCANGAN SISTEM
3.1 Perancangan Sistem
Perancangan Sistem adalah merancang atau mendesain suatu sistem yang baik, yang isinya adalah langkah-langkah operasi dalam proses pengolahan data dan prosedur untuk mendukung operasi sistem.
3.1.1 Perancangan Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahasa pemrograman.
(33)
Flowchart Login
Gambar 3.1 Flowchart Login
Flowchart Menu Master
(34)
Flowchart Menu Master Data
Gambar 3.3 Flowchart Menu Master Data
Flowchart Menu Transaksi
(35)
Flowchart Menu Laporan
Gambar 3.5 Flowchart Menu Laporan
3.2 Perancangan Database dan Relasi Antar Table
3.2.1 Database
(36)
Tabel 3.1 Tabel Admin/Petugas
Field Name Type Size Index
Kd_petugas Char 4 Primary Key
nm_petugas Varchar 100 -
No_telepon Varchar 20 -
username Varchar 20 -
password Varchar 100 -
level Varchar 20 -
Tabel 3.2 Tabel Data Tindakan
Field Name Type Size Index
Kd_tindakan Char 4 Primary Key
nm_tindakan Varchar 100 -
harga int 10 -
Tabel 3.3 Tabel Data Obat
Field Name Type Size Index
Kd_obat Char 5 Primary Key
Nm_obat Varchar 100 -
harga_modal Int 10 -
harga_jual Int 10 -
stok Int 10 -
(37)
Tabel 3.4 Tabel Data Dokter
Field Name Type Size Index
kd_dokter Char 4 Primary Key
nm_dokter Varchar 100 -
jns_kelamin Enum - „Laki-laki‟,‟Perempuan‟
tempat_lahir Varchar 100 -
tanggal_lahir Date - -
alamat Varchar 200 -
no_telepon Varchar 20 -
sip Varchar 20 -
spesialisasi Varchar 100 -
bagi_hasil Int 4 -
Tabel 3.5 Tabel Data Pasien
Field Name Type Size Index
nomor_rm Char 7 Primary Key
nm_pasien Varchar 100 -
no_identitas Varchar 40 -
jns_kelamin Enum - „Laki-laki‟,‟Perempuan‟ gol_darah Enum - „A‟,‟B‟,‟AB‟,‟O‟
agama Varchar 40 -
tempat_lahir Varchar 100 -
tanggal_lahir Date -
no_telepon Varchar 20 -
alamat Varchar 200 -
stts_nikah Enum „Menikah‟,‟Belum Nikah‟
pekerjaan Varchar 100 -
kerabat_status Enum „Ayah‟,‟Ibu‟,‟Suami‟,‟Istri‟,‟Saudara
(38)
kerabat_no_telepon Varchar 20 -
tgl_rekam Date -
kd_petugas Char 4 Index
Tabel 3.6 Tabel Data Pendaftaran
Field Name Type Size Index
no_daftar Char 7 Primary Key
nomor_rm Char 7 Index
tgl_daftar Date - -
tgl_janji Date - -
jam_janji Time - -
keluhan Varchar 100 -
kd_tindakan Char 4 Index
nomor_antri Int 4
kd_petugas Char 4 Index
Tabel 3.7 Tabel Transaksi Rawat Jalan
Field Name Type Size Index
no_rawat Char 7 Primary Key
tgl_rawat Date - -
nomor_rm Char 4 Index
(39)
uang_muka Int 10 -
kd_petugas Char 4 Index
Tabel 3.8 Tabel Transaksi Rawat Jalan
Field Name Type Size Index
id_tindakan Int 7 Primary Key
Auto Increment
tgl_tindakan Date -
no_rawat Char 7 -
kd_tindakan Char 4 -
harga Int 10 -
kd_dokter Char 4 -
bagi_hasil Int 10 -
keterangan Varchar 100 -
kd_petugas Char 4 -
Tabel 3.9 Tabel Transaksi Rawat Obat
Field Name Type Size Index
id_obat Int 7 Primary Key
Auto Increment
tgl_obat Date -
no_rawat Char 7 -
kd_obat Char 5 -
(40)
harga_jual Int 10 -
jumlah Int 4 -
aturan_pakai Varchar 100 -
kd_petugas Char 4 -
3.2.2 Relasi Antar Tabel
obat kd_obat * nm_obat harga_modal harga_jual stok keterangan rawat_obat id_obat * tgl_obat no_rawat ** kd_obat ** harga_modal harga_jual jumlah aturan_pakai kd_petugas ** rawat no_rawat * tgl_rawat nomor_rm ** kd_dokter ** hasil_diagnosa uang_muka kd_petugas ** petugas kd_petugas * nm_petugas no_telepon username password level Keterangan:
* : Primary Key / Kunci Utama ** : Foreign Key / Kunci Tamu
: Hubungan One to One : Hubungan One to Many rawat_tindakan id_tindakan * tgl_tindakan no_rawat ** kd_tindakan ** biaya kd_dokter ** bagi_hasil keterangan kd_petugas ** tindakan kd_tindakan * nm_tindakan biaya dokter kd_dokter * nm_dokter jns_kelamin tempat_lahir tanggal_lahir alamat no_telepon sip spesialisasi bagi_hasil pasien nomor_rm * nm_pasien no_identitas jns_kelamin gol_darah agama tempat_lahir tanggal_lahir no_telepon alamat stts_nikah pekerjaan kerabat_status kerabat_nama kerabat_no_telepon tgl_rekam kd_petugas ** pendaftaran no_daftar * nomor_rm ** tgl_daftar tgl_janji jam_janji keluhan kd_tindakan ** nomor_antri kd_petugas **
(41)
3.3 Perancangan Interface (Antarmuka)
Interface yang dirancang penulis dalam aplikasi ini dapat dilihat sebagai berikut :
Rancangan Form Menu Utama
File Master Data Transaksi Laporan
Gambar 3.7 Rancangan Form Menu Utama
Rancangan Form Sub Menu File
File Master Data Transaksi Laporan Log In
Log Out Exit
(42)
Rancangan Form Sub Menu Master Data
File Master Data Transaksi Laporan Data Tindakan
Data Dokter Data Pasien Data Obat Data Petugas
Gambar 3.9 Rancangan Form Sub Menu Master Data
Rancangan Form Sub Menu Transaksi
File Master Data Transaksi Laporan Pendaftaran Pasien
Rawat Pasien Baru
Rawat Tindakan Pasien Lama Rawat Obat Pasien Lama
(43)
Rancangan Form Sub Menu Laporan
File Master Data Transaksi Laporan Data Tindakan Data Dokter Data Pasien Rawat Tnd Pasien Rawat Tnd Per Periode Rawat Tnd Per Pasien Rawat Obat Pasien Lama Data Petugas
Gambar 3.11 Rancangan Form Sub Menu Laporan
Rancangan Form Login
(44)
BAB 4
IMPLEMENTASI SISTEM
4.1 Pengertian dan Tujuan Implementasi
Sistem yang telah dirancang selanjutnya akan diteruskan kepada tahap pengimplementasian sistem. Implementasi sistem adalah proses yang dilakukan untuk menyelesaikan desain sistem yang disetujui dan menguji, mengintsal dan memulai menggunakan sistem baru atau sistem yang telah diperbaiki.
Tujuan implementasi adalah:
1. Menyelesaikan desain sistem yang ada dalam dokumen desain sistem yang disetujui, menyusun dokumen-dokumen baru atau dokumen-dokumen yang diperbaiki.
2. Menulis, menguji dan merekomendasikan program-program dan prosedur-prosedur yang diperlukan oleh desain sistem yang disetujui.
3. Mempertimbangkan bahwa sistem memenuhi permintaan pemakai, yaitu dengan menguji sistem secara keseluruhan.
4. Memastikan bahwa personil dapat mengoperasikan sistem yang baru yaitu dengan mempersiapkan manual pemakai dan melatih personil.
5. Memastikan bahwa konversi ke sistem yang baru berjalan secara benar, yaitu dengan membuat rencana, mengontrol dan melakukan instalasi sistem yang baru dengan benar.
(45)
Dalam memilih pendekatan implementasi sistem yang digunakan untuk desain pendaftaran pasien ini menggunakan implementasi secara langsung terhadap sistem yang berjalan. Hal ini disebabkan karena sistempendaftaran pasien pada Klinik Umum Immanuel Medan yang dilakukan masih bersifat manual.
4.2 Tahap Implementasi
Tahapan implementasi sistem difokuskan kepada penerapan dari sistem yang telah didesain ke bahasa pemrograman, sehingga akhirnya diperoleh hasil seperti yang diinginkan. Tahap-tahap yang dilakukan dalam pembuatan sistem ini ada 7 tahap sesuai dengan daur hidup pembangunan Aplikasi. 7 tahap tersebut adalah :
1. Tahap Perencanaan
Pada tahap ini, tim pembuatan aplikasi mencoba memahami permasalahan yang muncul dan mendifinisikannya secara rinci, kemudian menentukan tujuan pembuatan aplikasi dan mengidentifikasi kendala-kendalanya. Hasilnya dituangkan dalam proposal proyek yang memuat tentang TI yang akan digunakan dan prioritas-prioritas aplikasi. Tanpa Perencanaan yang baik, Aplikasi yang dibangun menjadi tidak optimal atau bahkan tidak dapat digunakan.
2. Tahap Analisis
Pada tahap ini, tim pembuat aplikasi akan manganalisis permasalahan secara lebih mendalam dengan menyusun suatu studi kelayakan. Tahap ini seperti layaknya pendirian usaha yang membutuhkan suatu pertimbangan yang masak. Tahap ini
(46)
harus dilakukan subyektif mungkin agar hasilnya tidak biasa karena kegagalan dalam melakukan studi kelayakan dapat mengakibatkan pada kegagalan total pembangunan aplikasi maka tahap ini harus dilakukan secara hati-hati oleh orang-orang yang telah berpengalaman.
Dari tahap ini akan dihasilkan rekomendasi, apakah sistem layak untuk dibangun atau tidak. Maka rekomendasi itu sebaiknya juga diikuti dengan usulan-usulan perancangannya termasuk perkiraan biaya yang dibutuhkan.
3. Tahap Perancangan
Dengan memahami aplikasi sebelumnya dan kriteria-kriteria aplikasi yang akan dibangun, tim pembuat dapat membuat rancangan aplikasi terlebih dahulu. Proses perancangan diperlukan untuk menghasilkan suatu rancangan aplikasi yang baik, karena dengan adanya rancangan yang tepat akan mengasilkan aplikasi yang stabil dan mudah dikembangkan di masa mendatang. Perancangan yang kurang baik akan mengakibatkan saplikasi yang dibangun harus dirombak total atau aplikasi yang dibangun akan sangat berlebihan dari kebutuhan yang diperlukan. Tahap perancangan disebut juga tahap pemecahan masalah, yaitu dengan menyusun suatu algoritma, alur sistem, masukan, prosedur proses, keluaran dan database.
4. Tahap Penerapan
Tahap ini merupakankegiatan untuk mengimplementasikan rancangan yang telah disusun agar dapat diwujudkan. Proses implementasi untuk prosedur dalam teknologi komputer akan menggunakan bahasa komputer. Pertimbangan untuk memilih bahasa komputer didasarkan pada dua hal, yaitu kemampuan bahasa itu
(47)
untuk menangani dan mengimplementasikan proses-proses yang dirancang. Untuk proses yang terdapat di luar sistem komputer, disusunlah konvensi atau perjanjian/tata tertib agar setiap orang yang terlibat dapat mengikuti alur yang telah ditetapkan. Realisasi aplikasi pada tahap penerapan ini ditempuh dengan beberapa metode, antara lain penggunaan paket aplikasi, pemngembangan oleh staf sendiri dan pengembangan yang dilakukan dengan kerjasama dari pihak luar seperti konsultan atau software house.
5. Tahap Evaluasi
Pada tahap ini, dilakukan uji coba aplikasi yang telah selesai disusun. Proses uji coba ini diperlukan untuk memastikan bahwa aplikasi tersebut sudah benar, sesuai karakteristik yang ditetapkan dan tidak ada kesalahan-kesalahan yang terkandung di dalamnya. Proses uji coba dilakukan secara bertahap. Pada tahap pertama, pengujian dilakukan dengan mengecek alur sistem secara keseluruhan. Tahap kedua, dilakukan pengecekan dengan sampel data dan dilakukan penelusuran. Tahap ketiga, dilakukan pengecekan dengan melibatkan data yang sesungguhnya. Disamping pengecekan terhadap sistem yang terbentuk, perlu dilakukan evaluasi terhadap perangkat keras yang digunakan. Adapun faktor-faktor yang harus diperhatikan dalam mengevaluasi perangkat keras adalah :
1. Kemampuan perangkat keras itu sendiri yang meliputi kecepatan proses distribusinya.
2. Seberapa besar biaya yang harus disediakan untuk pengoperasian dan perawatan sistem.
3. Kompatibilitas perangkat keras terhadap sistem-sistem terkait. 4. Seberapa lama teknologi yang digunakan dapat bertahan.
(48)
5. Sejauh mana pilihan-pilihan terhadap komputer yang digunakan memperhatikan faktor-faktor ergonomic.
6. Tingkat keandalan dan skalabilitas jaringan komputer yang dibangun sebagai insfrastruktur sistem tersebut.
6. Tahap Penggunaan
Pada tahap ini, aplikasi yang telah diuji coba dan dinyatakan lolos dapat mulai digunakan untuk menangani prosedur bisnis yang sesungguhnya. Selama sistem digunakan, tim teknis harus memperhatikan masalah pemeliharaan aplikasi. Hal tersebut penting untuk memelihara keutuhan data dan informasi yang telah dihimpun didalamnya.
7. Tahap Pemeliharaan
Pemeliharaan sistem secara rutin dapat meliputi penataan ulang database, membackup dan scanning virus. Sementara itu, pemeliharaan juga termasuk melakukan penyesuaian-penyesuain untuk menjaga kemuktahiran sistem atau pembetulan atas kesalahan-kesalahan yang mungkin terjadi dan belum diketahui sebelumnya.
(49)
4.3 Tampilan Interface (Antarmuka)
Form Menu Utama (login)
Gambar 4.1 Tampilan Form Menu Utama (Login)
Form Sub Menu File
(50)
Form Sub Menu Master Data
Gambar 4.3 Tampilan Sub Menu Master Data
Form Sub Menu Transakasi
(51)
Form Sub Menu Laporan
Gambar 4.5 Tampilan Sub Menu Laporan
Form Data Tindakan
(52)
Form Data Dokter
Gambar 4.7 Tampilan Form Data Dokter
Form Data Pasien
(53)
Form Data Obat
Gambar 4.9 Tampilan Form Data Obat
Form Data Petugas
(54)
Form Pendaftaran Pasien
Gambar 4.11 Tampilan Form Pendaftaran Pasien
Form Rawat Pasien Baru
(55)
Form Rawat Tindakan Pasien Lama
Gambar 4.13 Tampilan Form Rawat Pasien Lama
Form Pemberian Obat
(56)
Laporan Data Tindakan
Gambar 4.15 Tampilan Laporan Data Tindakan
Laporan Data Dokter
(57)
Laporan Data Pasien
Gambar 4.17 Tampilan Laporan Data Pasien
Laporan Data Petugas
(58)
Laporan Rawat Tindakan Pasien
Gambar 4.19 Tampilan Laporan Rawat Tindakan Pasien
Form Laporan Rawat Tindakan per Periode
(59)
Tampilan Form Laporan Tindakan per Pasien
Gambar 4.21 Tampilan Form laporan Tindakan per Pasien
Laporan Rawat Obat
(60)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Aplikasi yang telah dibuat kiranya dapat digunakan untuk mengatasi permasalahan yang dihadapi oleh Klinik Umum Immanuel Gatsu Medan, khususnya dalam mengolah data pasien di Klinik. Dengan diterapkannya Aplikasi ini diharapkan segala kendala tentang ketidak akuratan laporan-laporan yang berhubungan dengan masalah pada Klinik dapat diatasi bahkan dapat mempercepat pengolahan data.
Dari proses pembuatan aplikasi ini dapat diketahui bahwa untuk menyusun suatu aplikasi yang baik, tahap-tahap yang perlu adalah dengan mempelajari aplikasi yang ada, merumuskan permasalahan yang ada, mencari alternatif penyelesaian untuk masalah yang ada, kemudian merancang suatu aplikasi yang dapat mengatasi masalah serta mengimplementasikan aplikasi yang dirancang.
5.2 Saran
Saran merupakan suatu ide yang dibuat oleh penulis yang berguna untuk memberikan masukan sehingga dapat berguna bagi pemakai. Berdasarkan kesimpulan yang telah dijabarkan, penulis memberikan saran sebagai berikut :
(61)
1. Untuk meningkatkan efisiensi kerja dan memperlancar penginformasian data klinik umum, sebaiknya perlu digunakan suatu aplikasi yang dapat menyampaikan informasi lebih cepat dan efisien.
2. Aplikasi yang diusulkan penulis dapat diuji coba oleh Klinik Umum Immanuel Gatsu Medan jika dianggap baik dan dapat mengatasi permasalahan yang muncul sehingga nantinya dapat dijadikan acuan untuk dapat diterapkan.
3. Sebaiknya aplikasi yang baru dapat digunakan dan diterapkan sesuai dengan kebutuhan dan perkembangannya.
(62)
DAFTAR PUSTAKA
Prabawati, Theresia Ari. 2008. Microsoft Visual Basic 6.0 untuk Pemula. Andi dan Madcoms. Yogyakarta
Nugroho, Bunafit. 2014. Membuat Aplikasi Klinik dengan Visual Basic 6. Elex Media Komputindo. Yogyakarta
Wahana Komputer. 2004. Tutorial Membuat Program Dengan Visual Basic. Salemba Infotek. Jakarta
Oetomo, BudiSutedjo Dharma, S. Kom.,MM. 2002. Perencanaan & Pengembangunan Sistem Informasi. Andi. Yogyakarta
Ferdianto, Yosefa. 2013. Apa itu Visual Basic? Visual Basic adalah.
http://www.carawebs.info/2013/04/apa-itu-visual-basic-visual-basic-adalah.html. [14 maret 2014]
Rifa‟i, Syaifulloh. 2013. Pengertian dan Sejarah MySQL.
http://upyes.wordpress.com/2013/02/06/pengertian-dan-sejarah-mysql/. [14 maret 2014]
http://id.wikipedia.org/wiki/Komputer (14 april)
(63)
DEPARTEMEN PENDIDIKAN NASIONAL
UNIVERSITAS SUMATERA UTARA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM(FMIPA) Jl. Bioteknologi No.1 Kampus USU Telp. (061) 8211050 Fax (061) 8214290
MEDAN – 20155, Email : Dekanat@FMIPA.USU.AC.ID
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
Nama Mahasiswa : RIFQY MUKHLIZAR Nomor Stambuk : 112406063
Judul Tugas Akhir : Perancangan Aplikasi Klinik Pada Klinik Umum Imanuel Menggunakan Visual Basic 6.0 Dosen Pembimbing : Drs. James Piter Marbun,M.Kom
Tanggal Mulai Bimbingan : 4 Maret 2014 Tanggal Selesai Bimbingan : 17 Juni 2014
Diketahui: Disetujui,
Program Studi D3 Teknik Informatika Pembimbing Utama/
FMIPA USU Penanggung Jawab
Ketua,
Dr. Elly Rosmaini, M.Si Drs. James Piter Marbun,M.Kom NIP. 196005201985032002 NIP.195806111986031002
(64)
(65)
(66)
(67)
(68)
LISTING PROGRAM
Form Menu Utama
Private Sub smLapDokter_Click() lapDokter.Show
End Sub
Private Sub smLapPasien_Click() lapPasien.Show
End Sub
Private Sub smLapPetugas_Click() lapPetugas.Show
End Sub
Private Sub smLapRawatObat_Click() LapRawatObat.Show
End Sub
Private Sub smLapRawatTindakan_Click() lapRawatTindakan.Show
End Sub
Private Sub smLapRawatTindakanPasien_Click() frmLapRawatTindakanPasien.Show
End Sub
Private Sub smLapRawatTindakanPeriode_Click() frmLapRawatTindakanPeriode.Show
End Sub
Private Sub smLapTindakan_Click() lapTindakan.Show
End Sub
Private Sub smLogin_Click() frmLogin.Show 1
End Sub
Private Sub smLogout_Click() muData.Enabled = False
muTransaksi.Enabled = False muLaporan.Enabled = False smLogin.Enabled = True smLogout.Enabled = False End Sub
(69)
Unload Me End Sub
Private Sub smObat_Click() frmObatData.Show
End Sub
Private Sub smPasien_Click() frmPasienData.Show
End Sub
Private Sub smPendaftaran_Click() frmPendaftaranData.Show
End Sub
Private Sub smPetugas_Click() frmPetugasData.Show
End Sub
Private Sub smRawatBaru_Click() frmRawatData.Show
End Sub
Private Sub smRawatObat_Click() frmRawatObat.Show
End Sub
Private Sub smRawatTindakan_Click() frmRawatTindakan.Show
End Sub
Private Sub smTindakan_Click() frmTindakan.Show
End Sub
Private Sub smDokter_Click() frmDokterData.Show
End Sub
Form Login
Option Explicit
Dim MaxLogin As Integer Private Sub Form_Load()
(70)
cmbLevel.AddItem ("Petugas") cmbLevel.AddItem ("Admin")
frmUtama.Show SttsLOGIN = False End Sub
Private Sub cmdLogin_Click(Index As Integer) If txtUser.Text = "" Then
MsgBox "USER ID MASIH KOSONG !", vbCritical + vbOKOnly, "Error"
txtUser.SetFocus
ElseIf txtPassword.Text = "" Then
MsgBox "PASSWORD MASIH KOSONG !", vbCritical + vbOKOnly, "Error"
txtPassword.SetFocus
ElseIf cmbLevel.Text = "" Then
MsgBox "LEVEL LOGIN MASIH KOSONG !", vbCritical + vbOKOnly, "Error"
cmbLevel.SetFocus Else
Call BukaDatabase
On Error Resume Next Sql = ""
Sql = "SELECT * FROM petugas WHERE username ='" & txtUser.Text & "' " _
& " AND password ='" & txtPassword.Text & "'" _
& " AND level ='" & cmbLevel.Text & "'" Set Rs = Koneksi.Execute(Sql)
If Not Rs.BOF Then
If cmbLevel.Text = "Admin" Then With frmUtama
.Enabled = True
.muFile.Enabled = True
.smLogin.Enabled = False .smLogout.Enabled = True .smExit.Enabled = True .muData.Enabled = True
.muTransaksi.Enabled = True .muLaporan.Enabled = True
.smLapPetugas.Enabled = True End With
MsgBox "Sukses login sebagai Administrator ! ", vbInformation, "Sukses"
Unload Me Else
(71)
With frmUtama .Enabled = True
.muFile.Enabled = True
.smLogin.Enabled = False .smLogout.Enabled = True .smExit.Enabled = True .muData.Enabled = False .muTransaksi.Enabled = True .muLaporan.Enabled = True
.smLapPetugas.Enabled = False End With
MsgBox "Sukses login sebagai Petugas !", vbInformation, "Sukses"
Unload Me End If
userLogin = Rs!kd_petugas namaLogin = Rs!nm_petugas
SttsLOGIN = True
Unload Me Else
SttsLOGIN = False
If MaxLogin < 3 Then
MsgBox "PASSWORD MASIH SALAH, SILAHKAN ULANGI LAGI!", vbCritical + vbOKOnly, "Error"
txtPassword.Text = "" txtPassword.SetFocus MaxLogin = MaxLogin + 1 Else
MsgBox "SUDAH 3x LOGIN SALAH, ULANGI BEBERAPA SAAT LAGI !", vbCritical + vbOKOnly, "Error" End
End If End If End If End Sub
Private Sub txtuser_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
SendKeys "{tab}" End If
End Sub
Private Sub txtPassword_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
(72)
End If End Sub
Private Sub cmbLevel_KeyPress(KeyAscii As MSForms.ReturnInteger)
If KeyAscii = vbKeyReturn Then SendKeys "{tab}"
End If End Sub
Private Sub cmdKeluar_Click(Index As Integer) frmUtama.muFile.Enabled = True
frmUtama.muData.Enabled = False
frmUtama.muTransaksi.Enabled = False frmUtama.muLaporan.Enabled = False Unload Me
End Sub
FrmCariObat
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
Call BukaDatabase
Set Rs_Data = New ADODB.Recordset
strSQL = "SELECT * FROM obat ORDER BY kd_obat ASC" Rs_Data.Open strSQL, Koneksi, adOpenDynamic,
adLockBatchOptimistic Call tampilGridData End Sub
Sub AktifGridBarang() With gridData .Cols = 5 .Rows = 2
.ToolTipText = "KLIK DISINI UNTUK MEMILIH OBAT ..!"
.RowHeightMin = 300 .Col = 0
.Row = 0 .Text = "NO"
.CellFontBold = True .ColWidth(0) = 400
(73)
.RowHeightMin = 300 .Col = 1
.Row = 0
.Text = "KODE"
.CellFontBold = True .ColWidth(1) = 2000
.CellAlignment = flexAlignCenterCenter .Col = 2
.Row = 0
.Text = "NAMA OBAT" .CellFontBold = True .ColWidth(2) = 4000
.CellAlignment = flexAlignCenterCenter .Col = 3
.Row = 0
.Text = "STOK"
.CellFontBold = True .ColWidth(3) = 1000
.CellAlignment = flexAlignCenterCenter .Col = 4
.Row = 0
.Text = "HARGA (Rp)" .CellFontBold = True .ColWidth(4) = 2000
.CellAlignment = flexAlignCenterCenter End With
End Sub
Sub tampilGridData() Dim Baris As Integer gridData.Clear
Call AktifGridBarang
gridData.Rows = 2 Baris = 0
If Rs_Data.BOF Then
MsgBox "DATA OBAT BELUM ADA!", vbInformation + vbOKOnly, "Informasi"
Exit Sub Else
With Rs_Data .MoveFirst
Do While Not .EOF Baris = Baris + 1
(74)
gridData.TextMatrix(Baris, 0) = Baris gridData.TextMatrix(Baris, 1) = !kd_obat gridData.TextMatrix(Baris, 2) = !nm_obat gridData.TextMatrix(Baris, 3) = !stok gridData.TextMatrix(Baris, 4) =
Format(!harga_jual, "##,##") .MoveNext Loop End With End If End Sub
Private Sub GridData_DblClick() Dim barisGrid As String barisGrid = gridData.Row If gridData.Rows <> 1 Then With frmRawatObat .txtKode.Text = UCase(gridData.TextMatrix(barisGrid, 1)) .txtObat.Text = UCase(gridData.TextMatrix(barisGrid, 2)) .txtHarga.Text =
Replace$(gridData.TextMatrix(barisGrid, 4), ",", "") .txtAturanPakai.SetFocus End With Unload Me Else Exit Sub End If End Sub
Private Sub GridData_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Call GridData_DblClick End If
End Sub
Private Sub txtCari_Change()
strSQL = "SELECT * FROM obat WHERE nm_obat LIKE '%" & txtCari.Text & "%' ORDER BY kd_obat ASC"
Set Rs_Data = New ADODB.Recordset
Rs_Data.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Rs_Data.BOF Then
MsgBox "NAMA YANG DICARI TIDAK KETEMU! ", vbInformation, "Informasi"
(75)
txtCari.Text = "" txtCari.SetFocus Else Call tampilGridData End If End Sub frmCariPasien
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
Call BukaDatabase
Set Rs_Data = New ADODB.Recordset
strSQL = "SELECT * FROM pasien ORDER BY nomor_rm ASC" Rs_Data.Open strSQL, Koneksi, adOpenDynamic,
adLockBatchOptimistic Call tampilGridData End Sub
Sub aktifGridData() With gridData .Cols = 4
.ToolTipText = "KLIK DISINI UNTUK MEMILIH PASIEN ..!"
.RowHeightMin = 300 .Col = 0
.Row = 0 .Text = "NO"
.CellFontBold = True .ColWidth(0) = 400
.CellAlignment = flexAlignCenterCenter
.RowHeightMin = 300 .Col = 1
.Row = 0
.Text = "Nomor. RM" .CellFontBold = True .ColWidth(1) = 1400
.CellAlignment = flexAlignCenterCenter .Col = 2
.Row = 0
.Text = "NAMA PASIEN" .CellFontBold = True
(76)
.ColWidth(2) = 4000
.CellAlignment = flexAlignCenterCenter .Col = 3
.Row = 0
.Text = "ALAMAT TINGGAL" .CellFontBold = True .ColWidth(3) = 6000
.CellAlignment = flexAlignCenterCenter End With
End Sub
Sub tampilGridData() Dim Baris As Integer gridData.Clear
Call aktifGridData gridData.Rows = 2 Baris = 0
If Rs_Data.BOF Then
MsgBox "DATA PASIEN MASIH KOSONG!", vbInformation + vbOKOnly, "Informasi"
Exit Sub Else
With Rs_Data .MoveFirst
Do While Not .EOF Baris = Baris + 1
gridData.Rows = Baris + 1
gridData.TextMatrix(Baris, 0) = Baris gridData.TextMatrix(Baris, 1) = !nomor_rm gridData.TextMatrix(Baris, 2) = !nm_pasien gridData.TextMatrix(Baris, 3) = !alamat .MoveNext
Loop End With End If
End Sub
Private Sub GridData_DblClick() Dim barisGrid As String barisGrid = gridData.Row
If gridData.Rows <> 1 Then
If formInduk = "PENDAFTARAN" Then With frmPendaftaran
.txtNoRM.Text =
(77)
.txtNama.Text = UCase(gridData.TextMatrix(barisGrid, 2)) .txtAlamat.Text = UCase(gridData.TextMatrix(barisGrid, 3)) .dtpTanggalDaftar.SetFocus End With
ElseIf formInduk = "RAWAT" Then With frmRawat .txtNoRM.Text = UCase(gridData.TextMatrix(barisGrid, 1)) .txtNama.Text = UCase(gridData.TextMatrix(barisGrid, 2)) .dtpTanggalRawat.SetFocus End With Else End If Me.Hide Else Exit Sub End If End Sub
Private Sub GridData_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Call GridData_DblClick End If
End Sub
Private Sub txtCari_Change()
strSQL = "SELECT * FROM pasien WHERE nm_pasien LIKE '%" & txtCari.Text & "%' ORDER BY nomor_rm ASC"
Set Rs_Data = New ADODB.Recordset
Rs_Data.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Rs_Data.BOF Then
MsgBox "NAMA YANG DICARI TIDAK KETEMU! ", vbInformation, "Informasi"
txtCari.Text = "" txtCari.SetFocus Else Call tampilGridData End If End Sub frmCariPasienRawat
(78)
Private Sub Form_Load()
' Menampilkan form di tengah halaman
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
' Buka koneksi database Call BukaDatabase
' Membaca data Pasien yang Sedang dirawat ke recordset (Rs_Data)
Set Rs_Data = New ADODB.Recordset
strSQL = "SELECT rawat.no_rawat, rawat.tgl_rawat, pasien.nomor_rm, pasien.nm_pasien" _
& " FROM rawat " _
& " LEFT JOIN pasien ON rawat.nomor_rm = pasien.nomor_rm " _
& " ORDER BY no_rawat DESC"
Rs_Data.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
' Hasil perintah SQL ditampilkan ke Grid Call tampilGridData
End Sub
' SKRIP PROGRAM MENGATUR TATA LETAK GRID (KOLOM DAN LEBAR) Sub aktifGridData()
With gridData
.Cols = 5 ' Jumlah kolom grid .Rows = 2 ' jumlah baris grid
' Membuat judul saat data dilewati mouse
.ToolTipText = "KLIK DISINI UNTUK MEMILIH PASIEN ..!"
' Pengaturan kolom Ke-1 .RowHeightMin = 300 .Col = 0
.Row = 0 .Text = "NO"
.CellFontBold = True .ColWidth(0) = 400
.CellAlignment = flexAlignCenterCenter
' Pengaturan kolom Ke-2 .Col = 1
.Row = 0
.Text = "NO. RAWAT" .CellFontBold = True .ColWidth(1) = 1600
(79)
' Pengaturan kolom Ke-3 .Col = 2
.Row = 0
.Text = "TGL. RAWAT" .CellFontBold = True .ColWidth(2) = 1600
.CellAlignment = flexAlignCenterCenter
' Pengaturan kolom Ke-4 .Col = 3
.Row = 0
.Text = "NOMOR. RM" .CellFontBold = True .ColWidth(3) = 1600
.CellAlignment = flexAlignCenterCenter
' Pengaturan kolom Ke-5 .Col = 4
.Row = 0
.Text = "NAMA PASIEN" .CellFontBold = True .ColWidth(4) = 4000
.CellAlignment = flexAlignCenterCenter End With
End Sub
' SKRIP PROGRAM UNTUK MENAMPILKAN DATA KE GRID Sub tampilGridData()
Dim Baris As Integer ' Refresh kolom grid gridData.Clear
Call aktifGridData
' Atur jumlah baris data grid gridData.Rows = 2
Baris = 0
If Rs_Data.BOF Then
MsgBox "DATA RAWAT PASIEN MASIH KOSONG!", vbInformation + vbOKOnly, "Informasi"
Exit Sub Else
With Rs_Data .MoveFirst
Do While Not .EOF Baris = Baris + 1
gridData.Rows = Baris + 1
(80)
gridData.TextMatrix(Baris, 1) = !no_rawat gridData.TextMatrix(Baris, 2) =
Format(!tgl_rawat, "dd/MM/yyyy")
gridData.TextMatrix(Baris, 3) = !nomor_rm gridData.TextMatrix(Baris, 4) = !nm_pasien .MoveNext
Loop End With End If
End Sub
' SKRIP PROGRAM SAAT ANDA KLIK GANDA (KLIK 2X) PADA BARIS GRID
Private Sub GridData_DblClick() Dim barisGrid As String barisGrid = gridData.Row If gridData.Rows <> 1 Then
If formInduk = "RAWAT_TINDAKAN" Then
' Jika form yang menggunakan adalah form Rawat Tindakan
With frmRawatTindakan
' Masuk ke form Rawat Tindakan .txtNoRawat.Text =
UCase(gridData.TextMatrix(barisGrid, 1)) .dtpTanggalRawat.Value =
Format(gridData.TextMatrix(barisGrid, 2), "dd/MM/yyyy") .txtNoRM.Text =
UCase(gridData.TextMatrix(barisGrid, 3)) .txtNama.Text =
UCase(gridData.TextMatrix(barisGrid, 4)) End With
ElseIf formInduk = "RAWAT_OBAT" Then
' Jika form yang menggunakan adalah form Rawat Obat
With frmRawatObat
' Masuk ke form Rawat Obat .txtNoRawat.Text =
UCase(gridData.TextMatrix(barisGrid, 1)) .dtpTanggalRawat.Value =
Format(gridData.TextMatrix(barisGrid, 2), "dd/MM/yyyy") .txtNoRM.Text = UCase(gridData.TextMatrix(barisGrid, 3)) .txtNama.Text = UCase(gridData.TextMatrix(barisGrid, 4)) End With Else
'Tidak ada form lain End If
'Unload Me Me.Hide
(81)
Else Exit Sub End If End Sub
' DATA TERPILIH SAAT PAGE-UP PAGE-DOWN, LALU TEKAN ENTER ' Menjalankan event yang sama dg Grid saat diklik
Private Sub GridData_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Call GridData_DblClick End If
End Sub
' SKRIP PROGRAM SAAT ANDA MENGETIK APAPUN DI KOTAK PENCARIAN
Private Sub txtCari_Change()
' Perintah SQL untuk mencari data Rawat berdasarkan Nama Pasien
strSQL = "SELECT rawat.no_rawat, rawat.tgl_rawat, pasien.no_rm, pasien.nm_pasien" _
& " FROM rawat " _
& " LEFT JOIN pasien ON rawat.nomor_rm = pasien.nomor_rm " _
& " WHERE pasien.nm_pasien LIKE '%" & txtCari.Text & "%' " _
& " ORDER BY no_rawat DESC" Set Rs_Data = New ADODB.Recordset
Rs_Data.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Rs_Data.BOF Then
' Jika tidak mendapatkan hasil
MsgBox "NAMA YANG DICARI TIDAK KETEMU! ", vbInformation, "Informasi"
txtCari.Text = "" txtCari.SetFocus Else
' Hasil pencarian ditampilkan ke Grid Call tampilGridData
End If End Sub
frmDokter
Private Sub Form_Load() Call BukaDatabase
(82)
If statusFORM = "TAMBAH" Then Call KodeOtomatis
ElseIf statusFORM = "UBAH" Then Call dataPilihKeForm
Else End If
txtKode.Locked = True End Sub
Sub FormKosong()
txtKode.Text = "" txtNama.Text = ""
txtTempatLahir.Text = ""
dtpTanggalLahir.Value = Format(Date, "dd-MM-yyyy") txtAlamat.Text = ""
txtNoTelp.Text = "" txtSIP.Text = ""
txtSpesialisasi.Text = "" txtBagiHasil.Text = "" End Sub
Sub KodeOtomatis()
Set Rs = New ADODB.Recordset
strSQL = "SELECT kd_dokter FROM dokter ORDER BY kd_dokter"
Rs.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Not Rs.BOF Then Rs.MoveLast
KodeBaru = Rs!kd_dokter
KodeBaru = Right(KodeBaru, 3) KodeBaru = Val(KodeBaru) + 1 If Len(KodeBaru) > 3 Then
MsgBox "KODE BARU MELEWATI BATAS, BELUM BISA LEBIH DARI 999", vbCritical, "Error"
Exit Sub End If
KodeBaru = "D" & Format(KodeBaru, "000") Else
KodeBaru = "D001" End If
txtKode.Text = KodeBaru End Sub
Sub dataPilihKeForm()
strSQL = "SELECT * FROM dokter WHERE kd_dokter='" & Kode & "'"
(83)
Set Rs = New ADODB.Recordset
Rs.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Rs.BOF Then
MsgBox "TIDAK MEMILIH BARUS DATA, SILAHKAN TAMBAH DATA BARU", vbInformation, "Info"
statusFORM = "TAMBAH" Call KodeOtomatis Exit Sub
Else
txtKode.Text = Rs!kd_dokter txtNama.Text = Rs!nm_dokter
txtTempatLahir.Text = Rs!tempat_lahir
dtpTanggalLahir.Value = Format(Rs!tanggal_lahir, "dd-MM-yyyy")
txtAlamat.Text = Rs!alamat txtNoTelp.Text = Rs!no_telepon txtSIP.Text = Rs!sip
txtSpesialisasi.Text = Rs!spesialisasi txtBagiHasil.Text = Rs!bagi_hasil
End If End Sub
Private Sub cmdKeluar_Click() Unload Me
End Sub
Private Sub cmdSimpan_Click() If txtKode.Text = "" Then
MsgBox "KODE BELUM TERBENTUK", vbCritical, "Error" txtKode.SetFocus
ElseIf txtNama.Text = "" Then
MsgBox "NAMA DOKTER BELUM DIISI", vbCritical, "Error"
txtNama.SetFocus
ElseIf txtTempatLahir.Text = "" Then
MsgBox "TEMPAT LAHIR BELUM DIISI", vbCritical, "Error"
txtTempatLahir.SetFocus ElseIf txtAlamat.Text = "" Then
MsgBox "ALAMAT BELUM DIISI", vbCritical, "Error" txtAlamat.SetFocus
ElseIf txtNoTelp.Text = "" Then
MsgBox "NO.TELEPON BELUM DIISI", vbCritical, "Error"
txtNoTelp.SetFocus
ElseIf txtSIP.Text = "" Then
(84)
txtSIP.SetFocus
ElseIf txtSpesialisasi.Text = "" Then
MsgBox "SPESIALISASI BELUM DIISI", vbCritical, "Error"
txtSpesialisasi.SetFocus
ElseIf txtBagiHasil.Text = "" Then
MsgBox "PERSEN BAGI HASIL (%) BELUM DIISI", vbCritical, "Error"
txtBagiHasil.SetFocus Else
' Nilai Combo Kelamin Dim kelamin As String
If obKelamin(0).Value = True Then kelamin = "Laki-laki"
Else
kelamin = "Perempuan" End If
Dim tanggalLahir As String
tanggalLahir = Format(dtpTanggalLahir.Value, "yyyy-MM-dd")
If statusFORM = "TAMBAH" Then
SqlSimpan = "INSERT INTO dokter(kd_dokter, nm_dokter, jns_kelamin, tempat_lahir, tanggal_lahir, " _ & " alamat, no_telepon, sip, spesialisasi, bagi_hasil) " _
& " VALUES('" & txtKode.Text & "','" & txtNama.Text & "', '" & kelamin & "', '" & txtTempatLahir.Text & "', '" & tanggalLahir & "', " _
& " '" & txtAlamat.Text & "', '" & txtNoTelp.Text & "', '" & txtSIP.Text & "', '" &
txtSpesialisasi.Text & "', '" & txtBagiHasil.Text & "')" Koneksi.Execute SqlSimpan, , adCmdText
MsgBox "SUKSES...! DATA BERHASIL DISIMPAN", vbInformation, " Info"
Call FormKosong Call KodeOtomatis txtNama.SetFocus
ElseIf statusFORM = "UBAH" Then
SqlSimpan = "UPDATE dokter SET nm_dokter='" & txtNama.Text & "', jns_kelamin= '" & kelamin & "', " _ & " tempat_lahir= '" &
txtTempatLahir.Text & "', tanggal_lahir= '" & tanggalLahir & "', " _
& " alamat= '" & txtAlamat.Text & "', no_telepon= '" & txtNoTelp.Text & "', " _
(85)
& " sip= '" & txtSIP.Text & "', spesialisasi= '" & txtSpesialisasi.Text & "', " _
& " bagi_hasil= '" &
txtBagiHasil.Text & "' WHERE kd_dokter= '" & txtKode.Text & "'"
Koneksi.Execute SqlSimpan, , adCmdText
MsgBox "SUKSES...! DATA BERHASIL DIPERBAIKI", vbInformation, " Info"
Unload Me Else End If Call frmDokterData.gridDataRefresh End If End Sub
Private Sub txtKode_Change() End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtTempatLahir.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtTempatLahir_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
dtpTanggalLahir.SetFocus KeyAscii = 0
End If End Sub
Private Sub dtpTanggalLahir_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtAlamat.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtAlamat_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtNoTelp.SetFocus KeyAscii = 0
End If End Sub
(86)
If KeyAscii = vbKeyReturn Then txtSIP.SetFocus
KeyAscii = 0
ElseIf Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
MsgBox "NO. TELEPON HARUS DIISI ANGKA", vbCritical, "Error"
txtNoTelp.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtSIP_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtSpesialisasi.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtSpesialisasi_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtBagiHasil.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtBagiHasil_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
cmdSimpan.SetFocus KeyAscii = 0
ElseIf Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
MsgBox "PERSEN BAGI HASIL (%) HARUS DIISI ANGKA", vbCritical, "Error"
txtBagiHasil.SetFocus KeyAscii = 0
End If End Sub
(1)
Else Exit Sub End If End Sub
' DATA TERPILIH SAAT PAGE-UP PAGE-DOWN, LALU TEKAN ENTER ' Menjalankan event yang sama dg Grid saat diklik
Private Sub GridData_KeyUp(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Call GridData_DblClick End If
End Sub
' SKRIP PROGRAM SAAT ANDA MENGETIK APAPUN DI KOTAK PENCARIAN
Private Sub txtCari_Change()
' Perintah SQL untuk mencari data Rawat berdasarkan Nama Pasien
strSQL = "SELECT rawat.no_rawat, rawat.tgl_rawat, pasien.no_rm, pasien.nm_pasien" _
& " FROM rawat " _
& " LEFT JOIN pasien ON rawat.nomor_rm = pasien.nomor_rm " _
& " WHERE pasien.nm_pasien LIKE '%" & txtCari.Text & "%' " _
& " ORDER BY no_rawat DESC" Set Rs_Data = New ADODB.Recordset
Rs_Data.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Rs_Data.BOF Then
' Jika tidak mendapatkan hasil
MsgBox "NAMA YANG DICARI TIDAK KETEMU! ", vbInformation, "Informasi"
txtCari.Text = "" txtCari.SetFocus Else
' Hasil pencarian ditampilkan ke Grid Call tampilGridData
End If End Sub
frmDokter
Private Sub Form_Load() Call BukaDatabase
(2)
If statusFORM = "TAMBAH" Then Call KodeOtomatis
ElseIf statusFORM = "UBAH" Then Call dataPilihKeForm
Else End If
txtKode.Locked = True End Sub
Sub FormKosong()
txtKode.Text = "" txtNama.Text = ""
txtTempatLahir.Text = ""
dtpTanggalLahir.Value = Format(Date, "dd-MM-yyyy") txtAlamat.Text = ""
txtNoTelp.Text = "" txtSIP.Text = ""
txtSpesialisasi.Text = "" txtBagiHasil.Text = "" End Sub
Sub KodeOtomatis()
Set Rs = New ADODB.Recordset
strSQL = "SELECT kd_dokter FROM dokter ORDER BY kd_dokter"
Rs.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Not Rs.BOF Then Rs.MoveLast
KodeBaru = Rs!kd_dokter
KodeBaru = Right(KodeBaru, 3) KodeBaru = Val(KodeBaru) + 1 If Len(KodeBaru) > 3 Then
MsgBox "KODE BARU MELEWATI BATAS, BELUM BISA LEBIH DARI 999", vbCritical, "Error"
Exit Sub End If
KodeBaru = "D" & Format(KodeBaru, "000") Else
KodeBaru = "D001" End If
txtKode.Text = KodeBaru End Sub
Sub dataPilihKeForm()
strSQL = "SELECT * FROM dokter WHERE kd_dokter='" & Kode & "'"
(3)
Set Rs = New ADODB.Recordset
Rs.Open strSQL, Koneksi, adOpenDynamic, adLockBatchOptimistic
If Rs.BOF Then
MsgBox "TIDAK MEMILIH BARUS DATA, SILAHKAN TAMBAH DATA BARU", vbInformation, "Info"
statusFORM = "TAMBAH" Call KodeOtomatis Exit Sub
Else
txtKode.Text = Rs!kd_dokter txtNama.Text = Rs!nm_dokter
txtTempatLahir.Text = Rs!tempat_lahir
dtpTanggalLahir.Value = Format(Rs!tanggal_lahir, "dd-MM-yyyy")
txtAlamat.Text = Rs!alamat txtNoTelp.Text = Rs!no_telepon txtSIP.Text = Rs!sip
txtSpesialisasi.Text = Rs!spesialisasi txtBagiHasil.Text = Rs!bagi_hasil
End If End Sub
Private Sub cmdKeluar_Click() Unload Me
End Sub
Private Sub cmdSimpan_Click() If txtKode.Text = "" Then
MsgBox "KODE BELUM TERBENTUK", vbCritical, "Error" txtKode.SetFocus
ElseIf txtNama.Text = "" Then
MsgBox "NAMA DOKTER BELUM DIISI", vbCritical, "Error"
txtNama.SetFocus
ElseIf txtTempatLahir.Text = "" Then
MsgBox "TEMPAT LAHIR BELUM DIISI", vbCritical, "Error"
txtTempatLahir.SetFocus ElseIf txtAlamat.Text = "" Then
MsgBox "ALAMAT BELUM DIISI", vbCritical, "Error" txtAlamat.SetFocus
ElseIf txtNoTelp.Text = "" Then
MsgBox "NO.TELEPON BELUM DIISI", vbCritical, "Error"
txtNoTelp.SetFocus
ElseIf txtSIP.Text = "" Then
(4)
txtSIP.SetFocus
ElseIf txtSpesialisasi.Text = "" Then
MsgBox "SPESIALISASI BELUM DIISI", vbCritical, "Error"
txtSpesialisasi.SetFocus
ElseIf txtBagiHasil.Text = "" Then
MsgBox "PERSEN BAGI HASIL (%) BELUM DIISI", vbCritical, "Error"
txtBagiHasil.SetFocus Else
' Nilai Combo Kelamin Dim kelamin As String
If obKelamin(0).Value = True Then kelamin = "Laki-laki"
Else
kelamin = "Perempuan" End If
Dim tanggalLahir As String
tanggalLahir = Format(dtpTanggalLahir.Value, "yyyy-MM-dd")
If statusFORM = "TAMBAH" Then
SqlSimpan = "INSERT INTO dokter(kd_dokter, nm_dokter, jns_kelamin, tempat_lahir, tanggal_lahir, " _ & " alamat, no_telepon, sip, spesialisasi, bagi_hasil) " _
& " VALUES('" & txtKode.Text & "','" & txtNama.Text & "', '" & kelamin & "', '" & txtTempatLahir.Text & "', '" & tanggalLahir & "', " _
& " '" & txtAlamat.Text & "', '" & txtNoTelp.Text & "', '" & txtSIP.Text & "', '" &
txtSpesialisasi.Text & "', '" & txtBagiHasil.Text & "')" Koneksi.Execute SqlSimpan, , adCmdText
MsgBox "SUKSES...! DATA BERHASIL DISIMPAN", vbInformation, " Info"
Call FormKosong Call KodeOtomatis txtNama.SetFocus
ElseIf statusFORM = "UBAH" Then
SqlSimpan = "UPDATE dokter SET nm_dokter='" & txtNama.Text & "', jns_kelamin= '" & kelamin & "', " _ & " tempat_lahir= '" &
txtTempatLahir.Text & "', tanggal_lahir= '" & tanggalLahir & "', " _
& " alamat= '" & txtAlamat.Text & "', no_telepon= '" & txtNoTelp.Text & "', " _
(5)
& " sip= '" & txtSIP.Text & "', spesialisasi= '" & txtSpesialisasi.Text & "', " _
& " bagi_hasil= '" &
txtBagiHasil.Text & "' WHERE kd_dokter= '" & txtKode.Text & "'"
Koneksi.Execute SqlSimpan, , adCmdText
MsgBox "SUKSES...! DATA BERHASIL DIPERBAIKI", vbInformation, " Info"
Unload Me Else
End If
Call frmDokterData.gridDataRefresh End If
End Sub
Private Sub txtKode_Change() End Sub
Private Sub txtNama_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtTempatLahir.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtTempatLahir_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
dtpTanggalLahir.SetFocus KeyAscii = 0
End If End Sub
Private Sub dtpTanggalLahir_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtAlamat.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtAlamat_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtNoTelp.SetFocus KeyAscii = 0
End If End Sub
(6)
If KeyAscii = vbKeyReturn Then txtSIP.SetFocus
KeyAscii = 0
ElseIf Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
MsgBox "NO. TELEPON HARUS DIISI ANGKA", vbCritical, "Error"
txtNoTelp.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtSIP_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtSpesialisasi.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtSpesialisasi_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
txtBagiHasil.SetFocus KeyAscii = 0
End If End Sub
Private Sub txtBagiHasil_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then
cmdSimpan.SetFocus KeyAscii = 0
ElseIf Not (KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then
MsgBox "PERSEN BAGI HASIL (%) HARUS DIISI ANGKA", vbCritical, "Error"
txtBagiHasil.SetFocus KeyAscii = 0
End If End Sub