Perancangan Aplikasi Klinik Pada Klinik Umum Imanuel Menggunakan Visual Basic 6.0

(1)

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