sistem persediaan obat pada apotik dunia
Embed Size (px)
DESCRIPTION
Sistem Persediaan Obat Pada Apotik DuniaTRANSCRIPT

SISTEM INFORMASI PERSEDIAAN OBAT
PADA APOTIK DUNIA
TUGAS AKHIR
LINDAWATY
052406183
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

SISTEM INFORMASI PERSEDIAAN OBAT
PADA APOTIK DUNIA
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
LINDAWATY
052406183
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

PERSETUJUAN
Judul : SISTEM INFORMASI PERSEDIAAN OBAT
PADA APOTIK DUNIA
Kategori : TUGAS AKHIR
Nama : LINDAWATY
Nomor Induk Mahasiswa : 052406183
Program Studi : D3 ILMU KOMPUTER
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Juni 2008
Diketahui/Disetujui oleh Departemen Matematika FMIPA USU Pembimbing Ketua, Dr. Saib Suwilo, M.Sc Dra.Elly Rosmaini, M.Si NIP. 131796149 NIP. 131459475
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

PERNYATAAN
SISTEM INFORMASI PERSEDIAAN OBAT PADA APOTIK DUNIA
TUGAS AKHIR Saya mengakui bahwa Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, Juni 2008 LINDAWATY 052406183
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

PENGHARGAAN Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa, dengan limpahan dan
karunia-Nya Tugas Akhir ini dapat diselesaikan dalam waktu yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Bapak Drs.Eddy
Marlianto,M.Sc selaku Dekan FMIPA USU. Kepada Bapak Dr.Saib Suwilo,M.Sc
selaku Ketua Jurusan FMIPA USU. Ibu Dra.Elly Rosmaini,M.Si, selaku dosen
pembimbing dalam penyelesaian Tugas Akhir ini yang sudah banyak memberikan
masukan kepada penulis hingga Tugas Akhir ini selesai dan kepada seluruh dosen dan
staf pegawai yang ada di FMIPA USU. Kepada orang tua beserta seluruh keluarga
yang telah banyak memberikan dukungan kepada penulis. Kepada teman-teman di
Ilmu Komputer khususnya C’05 yang telah banyak memberikan masukan dan
dukungan kepada penulis. Penulis sepenuhnya menyadari bahawa Tugas Akhir ini
masih jauh dari sempurna, baik dari segi penyusunan maupun kosa katanya. Untuk itu,
dengan segala kerendahan hati penulis bersedia menerima kritik dan saran dari
pembaca yang berguna untuk perbaikan di masa yang akan datang. Akhir kata,
semoga Tugas Akhir ini dapat berguna bagi pembaca.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

ABSTRAK Tugas Akhir ini bertujuan untuk membangun suatu rancangan sistem informasi
persediaan obat yang bertujuan sebagai dasar dalam Sistem Pengambilan Keputusan.
Sistem ini dikembangkan menggunakan Microsoft Visual Basic 6.0 dan Oracle 10
XE. Metodologi pengembangan sistem yang digunakan adalah berdasarkan Tinjauan
Lapangan (Field Research) dan Tinjauan Kepustakaan (Library Research). Sistem
ini meliputi form-form masukan data yang berkaitan dengan data obat, pembelian
obat dan stok obat. Objektif utama sistem ini adalah untuk melihat arsitektur sistem
informasi persediaan obat agar kinerja pengolahan data dapat ditingkatkan dan
rancangan antarmuka diperoleh lebih mudah.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

DAFTAR ISI
Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak v Daftar Isi vi Daftar Tabel viii Daftar Gambar ix Bab 1 Pendahuluan 1 1.1 Latar Belakang 1 1.2 Identifikasi Masalah 2 1.3 Batasan Masalah 3 1.4 Maksud dan Tujuan 4 1.5 Metodologi Penelitian 4 1.6 Sistematika Penulisan 5 Bab 2 Landasan Teori 7 2.1 Sistem dan Informasi 7 2.1.1 Sistem 7 2.1.2 Informasi 9 2.1.3 Komponen Sistem Informasi 11 2.2 Data dan Database Management System (DBMS) 12 2.2.1 Data 12 2.2.2 Database Management System (DBMS) 13 2.2.3 Komponen Utama DBMS 15 2.3 Bahasa Pemrograman Visual Basic 6.0 16 2.3.1 Sekilas tentang Bahasa Pemrograman Visual Basic 6.0 16 2.3.2 Struktur Bahasa Pemrograman Visual Basic 6.0 17 2.4 Oracle 10g XE 24 Bab 3 Perancangan Sistem 29 3.1 Perancangan Sistem 29 3.2 Perancangan Database 30 3.3 Hubungan antar tabel 35 3.4 Diagram Konteks 36 3.5 Digram Alir Data (Data Flow Diagram) 37 3.6 Algoritma 41 Bab 4 Implementasi Sistem 44 4.1 Defenisi Implementasi Sistem 44 4.2 Tujuan Implementasi Sistem 44 4.3 Komponen Utama Implementasi Sistem 45
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

4.4 Pengujian Sistem 48 4.5 Pemeliharaan Sistem 49 4.6 Tampilan 50 Bab 5 Kesimpulan dan Saran 53 5.1 Kesimpulan 53 5.2 Saran 53 Daftar Pustaka 55 Lampiran
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

DAFTAR TABEL
Halaman
Tabel 3.1. Tabel Pembelian 31 Tabel 3.2. Tabel Kode Master 31 Tabel 3.3. Tabel Kode 32 Tabel 3.4. Tabel Kartu Stok 32
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

DAFTAR GAMBAR
Halaman
Gambar 2.1 Layar Interface Visual Basic 6.0 18 Gambar 2.2 Tampilan Menu Bar 19 Gambar 2.3 Tampilan Toolbar 19 Gambar 2.4 Tampilan Form 20 Gambar 2.5 Tampilan Properties Window 20 Gambar 2.6 Tampilan Form Layout Window 21 Gambar 2.7 Tampilan Toolbox 22 Gambar 2.8 Tampilan Project Window 22 Gambar 2.9 Tampilan Code Window 23 Gambar 2.10 Tampilan Immediate Window 23 Gambar 2.11 Topologi Pear to Pear 25 Gambar 2.12 Skema Rancangan Database Oracle 26 Gambar 2.13 Tampilan Home page Oracle 27 Gambar 2.14 Tampilan Halaman Administration 27 Gambar 2.15 Tampilan Halaman Access 28 Gambar 2.16 Tampilan Halaman Access Updated 28 Gambar 3.1 Tampilan Tabel Pembelian 33 Gambar 3.2 Tampilan Tabel Kode 33 Gambar 3.3 Tampilan Tabel Master 34 Gambar 3.4 Relasi Antar Tabel 35 Gambar 3.5 Diagram Konteks 36 Gambar 3.6 DFD Level 0 38 Gambar 3.7 DFD Level 1 40 Gambar 4.1 Tampilan Form Utama 50 Gambar 4.2 Tampilan Form Entry 50 Gambar 4.3 Tampilan Form Penjualan 51 Gambar 4.4 Tampilan Form Pembelian 52 Gambar 4.5 Tampilan Form Help 52
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan sistem komputerisasi tidak terlepas dari perkembangan teknologi yang
hampir mempengaruhi seluruh aspek kehidupan manusia. Dalam perkembangan
sistem komputerisasi, pemanfaatan teknologi informasi dalam pengelolaan dan
manajemen data sangat diperlukan.
Dengan berbagai kelebihan dan kemudahan yang ditawarkannya tentu akan
meningkatkan efisiensi dan efektivitas kerja dari suatu perusahaan. Salah satu
kelebihan dari sistem komputerisasi ialah menghasilkan informasi secara relevan,tepat
waktu dan akurat. Informasi yang dihasilkan tidak terlepas dari manajemen informasi
yang baik dan mampu menjaga kelancaran kebutuhan informasi dalam sirkulasi data
suatu sistem.
Manajemen sistem informasi juga menyangkut adanya suatu database yang
mampu mengorganisasikan data yang ada di dalamnya secara akurat dan mampu
mengatur relasi antar data sehingga informasi yang dihasilkan berdaya guna dan
berpengaruh pada proses pengambilan keputusan pihak manajemen perusahaan.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Membangun suatu sistem informasi memerlukan pemahaman yang baik dan jelas
mengenai sistem yang akan digunakan baik dalam prosedur sistem, input, output
maupun hal-hal yang mempengaruhi kinerja sistem baik untuk jangka pendek maupun
jangka panjang.
Tempat penulis melakukan penelitian yaitu Apotik Dunia, sistem pengolahan
data untuk menangani transaksi pembelian dan penjualan, mengontrol persediaan obat
di gudang dan mendata para pelanggan masih menggunakan aplikasi perkantoran yang
umum digunakan yaitu Microsoft Office. Untuk itu diperlukan suatu sistem informasi
yang mampu meningkatkan kinerja sistem agar dapat memberikan hasil yang
maksimal serta dapat meningkatkan efiensi dan efektivitas kerja.
Berdasarkan uraian di atas bahwa sistem informasi sangat diperlukan dalam suatu
perusahaan sehingga penulis melakukan penelitian dan menuangkannya dalam bentuk
tugas akhir dengan judul “Sistem Informasi Persediaan Obat pada Apotik Dunia”.
1.2. Identifikasi Masalah
Dalam membangun suatu sistem informasi perlu diperhatikan terlebih dahulu akar
permasalahan yang timbul dalam sistem yang telah ada ataupun dari data-data yang
akan dikumpulkan.
Berdasarkan hasil penelitian terhadap sistem yang telah berjalan di apotik
tersebut, maka identifikasi permasalahan pokok terdapat pada :
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

1. Kegiatan pengontrolan obat baik dalam persediaan, pembelian dan penjualan
serta mengolah data pelanggan yang masih dikerjakan dengan aplikasi
perkantoran yaitu Microsoft Office sehingga tidak dapat melihat secara rinci
sisa obat sehingga tidak dapat diketahui persediaan obat minimum di gudang.
2. Laporan persediaan yang dihasilkan kurang terperinci sehingga menyulitkan
pihak manajemen dalam mengambil keputusan tentang persediaan obat.
Dari uraian di atas, maka yang menjadi masalah adalah bagaimana merancang
suatu sistem informasi yang mampu mengolah data dengan cepat, tepat dan akurat
sehingga mendukung kelancaran operasional dengan lebih terkomputerisasi.
1.3. Batasan Masalah
Dalam penulisan tugas akhir ini, penulis mambatasi masalah hanya pada kegiatan
persediaan obat , pembelian dan penjualan obat serta pengelolaan data pelanggan pada
Apotik Dunia. Hal tesebut dilakukan agar pembahasan tidak menyimpang dari
tujuannya serta keterbatasan waktu dan kemampuan penulis.
Dari permasalahan tersebut, penulis berusaha mengatasinya dengan membuat
suatu sistem informasi untuk mengontrol persediaan obat di Apotik Dunia dengan
manggunakan bahasa pemrograman Visual Basic 6.0.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

1.4. Maksud dan Tujuan
Maksud dari penyusunan Tugas Akhir ini adalah sistem informasi persediaan yang
dirancang penulis dapat membantu dalam menyajikan laporan persediaan dengan
cepat dan akurat sehingga dapat mencegah terjadinya penimbunan barang yang
berlebihan di gudang maupun barang yang sudah habis tidak di order kembali.
Adapun tujuan dari penyusunan Tugas Akhir ini adalah untuk merancang suatu
sistem informasi persediaan obat yang lebih efektif dan efisien untuk dapat
dipergunakan pada Apotik Dunia.
1.5. Metodologi Penelitian
Dalam penyusunan tugas akhir, penulis menggunakan beberapa metode dalam
mengumpulkan data. Metode-metode tersebut adalah:
1. Field Research
Melakukan penelitian langsung ke lapangan yaitu di Apotik Dunia dan
menganalisa secara langsung sistem yang ada serta data-data yang dibutuhkan
dalam merancang sistem informasi tersebut.
2. Library Research
Mengadakan penelitian dengan mencari pendukung sumber data tersebut guna
mengumpulkan data yang bersifat teoritis yang berkaitan dengan penelitian
dan penyusunan tugas akhir.
3. Merancang aplikasi program sistem informasi.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

4. Menguji program yang telah dirancang dan melakukan perbaikan jika masih
ditemukan kesalahan.
1.6. Sistematika Penulisan
Adapun tujuan pembuatan sistematika penulisan Tugas Akhir ini adalah untuk lebih
memudahkan penulis dalam menyelesaikan permasalahan yang dianalisis sehingga
lebih terfokus dan terarah sekaligus memudahkan dalam penyajiannya ke dalam
bentuk yang terstruktur.
Adapun sistematika penulisan Tugas Akhir ini adalah sebagai berikut:
BAB 1 : PENDAHULUAN
Dalam bab ini diuraikan tentang penjelasan umum dari
permasalahan yang dibahas sehubungan dengan penyusunan Tugas
Akhir ini yang meliputi latar belakang masalah, identifikasi masalah,
batasan masalah, maksud dan tujuan penelitian, metode penelitian
dan sistematika penulisan.
BAB 2 : LANDASAN TEORI
Dalam bab ini diuraikan beberapa teori yang mendukung dalam
pembahasan Tugas Akhir ini yang terdiri dari pengertian sistem dan
informasi, pengenalan aplikasi database dan bahasa pemrograman
Visual Basic 6.0 dan Oracle 10 XE.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

BAB 3 : PERANCANGAN SISTEM
Dalam bab ini diuraikan tentang perancangan system yang dimulai
dengan analisa perancangan sistem, perancangan database, diagram
alir data (DFD), dan algoritma program.
BAB 4 : IMPLEMENTASI SISTEM
Dalam bab ini diuraikan tentang defenisi implementasi sistem,
tujuan implementasi sistem, komponen utama implementasi
sistem, tampilan output program, pengujian dan pemeliharaan
sistem.
BAB 5 : KESIMPULAN DAN SARAN
Dalam bab ini diuraikan tentang kesimpulan dan saran mengenai
penyusunan tugas akhir.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

BAB 2
LANDASAN TEORI
2.1. Sistem dan Informasi
2.1.1 Sistem
Sistem merupakan serangkaian prosedur yang saling berhubungan dalam
melaksanakan suatu pekerjaan tertentu. Sistem terdiri dari unsur yang dapat dikenal,
saling melengkapi karena satu maksud, tujuan dan sasaran. Suatu sistem dapat terdiri
dari beberapa sub sistem dan sub sistem dapat pula terdiri dari beberapa sub sistem.
Ada beberapa defenisi mengenai sistem yaitu:
1. David (1985) mendefinisikan sistem sebagai bagian yang saling berkaitan yang
beroperasi bersama untuk mencapai beberapa saran atau maksud.
2. Lucas (1989) mendefinisikan sistem sebagai suatu komponen atau variabel yang
terorganisasi , saling tergantung satu dengan yang lainnya dan terpadu serta
mempunyai sasaran.
3. Mulyadi (2001) mendefinisikan sistem sebagai suatu jaringan prosedur yang
dibuat menurut pola yang terpadu untuk melaksanakan kegitan pokok perusahaan.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

4. Robert G.Murdick (1993) mendefinisikan sistem sebagai seperangkat elemen-
elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan
bersama.
Jadi sistem dapat diartikan juga sebagai sekelompok komponen yang saling
berhubungan, bekerja bersama untuk mencapai tujuan bersama dengan menerima
input serta menghasilkan output dalam proses transformasi yang teratur.
Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu , yaitu :
1. Komponen Sistem
Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya
saling bekerja sama membentuk suatu kesatuan. Komponen-komponen sistem atau
elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari
sistem.
2. Batas Sistem
Batas sistem merupakan daerah yang membatasi antara satu sistem dengan sistem
lainnya atau dengan lingkungan luarnya. Batas ini memungkinkan suatu sistem
dipandang sebagai satu kesatuan.
3. Lingkungan Luar Sistem
Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang
mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat
menguntungkan dan dapat bersifat merugikan sistem tersebut.
4. Penghubung Sistem
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Penghubung merupakan media penghubung antara satu subsistem dengan
subsistem lainnya. Dengan penghubung satu subsistem dapat berintegrasi dengan
subsistem lainnya membentuk satu kesatuan.
5. Masukan Sistem
Masukan adalah energi yang diimasukkan ke dalam sistem. Masukan dapat
berupa masukan perawatan dan masukan sinyal. Masukan perawatan adalah
energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Masukan sinyal
adalah energi yang diproses untuk mendapatkan keluaran.
6. Keluaran Sistem
Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi
keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan
masukan untuk subsistem yang lain.
7. Pengolah Sistem
Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah
masukan menjadi keluaran.
8. Sasaran Sistem
Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan dari
sistem dan keluaran yang akan dihasilkan dari sistem. Suatu sistem dikatakan
berhasil bila mengenai sasaran yang telah ditetapkannya.
2.1.2 Informasi
Istilah informasi berasal dari bahasa Inggris “to inform “ yang dalam bahasa Indonesia
diartikan sebagai “memberitahukan”.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Pada dasarnya informasi merupakan hal yang sangat penting bagi berbagai
pihak dalam perusahaan terutama bagi pihak manajemen perusahaaan di dalam
pengambilan suatu keputusan yang dapat diperoleh dari suatu sistem yaitu processing
system atau information generating system.
Defenisi umum mengartikan informasi sebagai data yang telah diolah menjadi
suatu bentuk yang berguna bagi pihak yang menerimanya dan bermanfaat di dalam
pengambilan suatu keputusan pada saat ini maupun saat mendatang.
Menurut Davis (1999), informasi adalah data yang telah diolah menjadi sebuah
bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan
saat ini atau saat mendatang.
Menurut Mardick Et Al (1984) menyatakan informasi terdiri dari data yang
telah diambil kembali, diolah atau digunakan untuk memberi dukungan keterangan
bagi pengambilan kesimpulan, argumentasi, atau sebagai dasar untuk pengambilan
keputusan.
Informasi dihasilkan oleh suatu sistem informasi perusahaan untuk
dimanfaatkan oleh pengguna intern atau ekstern. Pengguna intern terdiri dari para
manajer dan karyawan perusahaan. Pengguna ekstern terdiri dari pihak-pihak yang
berkepentingan di luar perusahaan, seperti kreditor, badan-badan pemerintah dan
serikat pekerja.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Berdasarkan pengertian sistem dan informasi di atas, maka dapat disimpulkan
pengertian dari sistem informasi yaitu sekumpulan prosedur organisasi yang pada saat
dilaksanakan akan memberikan informasi bagi pengambilan keputusan atau untuk
pengendalian organisasi.
Menurut Joseph W.Wilkinson (2000), sistem informasi adalah suatu kerangka
kerja dengan sumber daya (manusia dan komputer) dikoordinasikan untuk mengubah
masukan (data) menjadi keluaran (informasi), guna mencapai sasaran-sasaran
perusahaan.
2.1.3 Komponen Sistem Informasi
John Burch dan Gary Grudnitski mengemukakan bahwa sistem informasi terdiri dari
komponen-komponen yang disebutnya dengan istilah blok bangunan (building block),
yaitu sebagai berikut:
1. Blok masukan (input block), inputnya berupa metode-metode dan media untuk
menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen
dasar.
2. Blok model (model block), terdiri dari kombinasi prosedur, logika dan model
metematik yang akan memanipulasi data input dan data yang tersimpan di basis
data dengan cara tertentu untuk menghasilkan suatu keluaran.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

3. Blok keluaran (output block), menghasilkan keluaran yang merupakan informasi
yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan
manajemen serta semua pemakai sistem.
4. Blok teknologi (technology block), digunakan untuk menerima input, menjalankan
model, menyimpan dan mengakses data, menghasilkan dan mengirimkan
keluaran dan membantu pengendalian dari sistem secara keseluruhan.
5. Blok basis data (database block), merupakan kumpulan dari data yang saling
berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer
dan digunakan perangkat lunak untuk memanipulasinya.
6. Blok kendali (controls block), untuk meyakinkan bahwa hal-hal yang dapat
merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahan-kesalahan
dapat langsung cepat diatasi.
2.2. Data dan Database Management System (DBMS)
2.2.1 Data
Data berasal dari bahasa Latin yaitu “datum” yang berarti fakta, kenyataan, kejadian
atau peristiwa. Jadi, data atau fakta adalah kenyataan dari suatu kejadian atau
peristiwa. Menurut Murdick,dkk (1984) merumuskan bahwa :
“Data adalah fakta yang tidak sedang digunakan pada proses keputusan,
biasanya dicatat dan diarsipkan tanpa maksud untuk segera diambil kembali
untuk pengambilan keputusan.”
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Data merupakan komponen dasar dari informasi yang akan diproses lebih
lanjut untuk menghasilkan informasi. Himpunan data akan memiliki sifat yang unik,
antara lain sebagai berikut:
1. Saling berkaitan (Interreted), data-data tersebut akan saling berkaitan/
terintegrasi dan tersimpan secara terorganisir di dalam suatu media
penyimpanan.
2. Kebersamaan (Shared), data yang terintegrasi tersebut dapat diakses oleh
berbagai macam pengguna / orang tetapi hanya satu yang dapat merubahnya
yaitu Database Administrator (DBA). Sifat kebersamaan (Shared) dalam
himpunan data tersebut akan membutuhkan perubahan berupa cara berfikir
pengguna yang terbiasa dengan pola pemilikan data sendiri dan cara penanganan
dan manajemen data dalam organisasi. Data bersama (Sharing Data) merupakan
data yang dapat digunakan secara bersama oleh beberapa pemakai pada lokasi
yang sama ataupun berbeda. Data bersama memiliki tiga tipe, yaitu:
1. Data bersama di antara unit fungsional
2. Data bersama pada berbagai tingkatan pengguna
3. Data bersama yang tersebar secara geografis
3. Terkendali (Controlled), data yang terintegrasi tersebut hanya dapat diubah oleh
seorang Database Administrator (DBA).
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

2.2.2 Database Management System (DBMS)
Database adalah sekumpulan data yang saling berhubungan satu dengan yang
lainnya, tersimpan di perangkat komputer dan digunakan perangkat lunak untuk
memanipulasi data.
Database merupakan salah satu komponen utama dalam sistem informasi
karena merupakan basis dalam menyediakan informasi bagi pemakai. Penerapan
database di dalam informasi disebut Database System. Sistem Database (Database
System) adalah suatu sistem informasi yang mengintegrasikan kumpulan dari data
yang berhubungan satu dengan yang lainnya dan membuatnya tersedia untuk beberapa
aplikasi yang bermacam-macam di dalam suatu organisasi.
Jadi, dapat disimpulkan bahwa Database Management System (DBMS)
merupakan suatu alat komputer yang digunakan untuk menyimpan dan mengolah data
yang bertujuan untuk menciptakan keadaan yang mudah dan efisien dalam pemakaian
dan penyimpanan data. Adapun tujuan dari konsep database adalah meminimumkan
pengulangan data mencapai independensi data.
Pengulangan data (redundancy data) adalah aplikasi data yang disimpan di
dalam beberapa file. Independensi data adalah kemampuan untuk membuat suatu
struktur data tanpa membuat perubahan pada program yang memproses dalam table
dan kamus data yang terpisah secara fisik dari program.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Database adalah kumpulan file-file yang saling berelasi. Relasi tersebut bisa
ditunjukkan dengan kunci dari file yang ada. Satu database menunjukkan satu
kumpulan data yang dipakai dalam suatu lingkup perusahaan atau instansi.
Dalam satu file terdapat record-record yang sejenis, sama besar,sama bentuk
merupakan satu kumpulan entri yang seragam. Satu record terdiri dari field-field yang
saling berhubungan untuk menunjukkan bahwa field tersebut dalam satu pengertian
yang lengkap dan direkam dalam satu record. Untuk menyebut isi dari field tersebut
maka digunakan atribut atau merupakan judul dari satu kelompok entity tertentu.
Entity adalah suatu objek yang nyata dan akan direkam.
Set program pengelola merupakan satu paket program yang dibuat agar
memudahkan dan mengefesiensikan pemasukan atau perekaman informasi dan
pengambilan atau pembacaan informasi ke dalam database.
2.2.3 Komponen Utama DBMS
Komponen utama DBMS dapat dibagi dalam 4 macam yaitu:
1. Perangkat keras, berupa komputer dan bagian-bagian di dalamnya seperti
processor, memori dan harddisk.
2. Data, mempunyai sifat terpadu yang berarti bahwa berkas data yang ada pada
basis data saling terkait, namun kemubajiran data tidak akan terjadi dan sifat
berbagi (share) yang berarti bahwa data dapat diakses oleh sejumlah pengguna
dalam waktu yang bersamaan.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

3. Perangkat lunak, berkedudukan di antara basis data (data yang disimpan dalam
harddisk) dan pengguna.
4. Pengguna, dapat dikategorikan menjadi tiga yaitu:
a. Pengguna akhir
b. Pemrogram aplikasi
c. Administrator basis data
2.3. Bahasa Pemrograman Visual Basic 6.0
2.3.1 Sekilas tentang Bahasa Pemrograman Visual Basic 6.0
Visual Basic 6.0 berawal dari bahasa pemrograman BASIC (Beginners All-purpose
Symbolic Instruction Code). Microsoft Visual Basic pertama kali dikeluarkan pada
tahun 1991 dengan nama “Thunder” yang merupakan development pertama yang
berbasis visual yang dibuat oleh Microsoft untuk menandingi bahasa pemrograman
lainnya, seperti bahasa pemrograman C,C++, dan bahasa pemrograman lainnya.
Aplikasi Visual Basic mulai diproduksi pertama kali pada tahun 1991. Pada
tahun 1993 Microsoft mengeluarkan Visual Basic versi 2.0 yang memulai menarik
perhatian pengembang dan ketika Visual Basic versi 3.0 dikeluarkan, versi ini menjadi
bahasa pemrograman yang paling pesat berkembang dan banyak diminati oleh para
programmer.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Pada tahun 1997 Microsoft mengeluarkan Visual Basic versi 5.0 yang
memiliki kemampuan untuk menciptakan ActiveX Control yang mampu ditempatkan
di internet dan membuat bahasa HTML lebih dinamis. Pada tahun 1998 Microsoft
mengeluarkan Visual Basic versi 6.0 yang merupakan salah satu bahasa pemrograman
aplikasi yang sangat dikenal di dunia.
Visual Basic versi 6.0 dapat digunakan dalam tiga edisi, yang setiap edisinya
menunjukkan fasilitas dan kemampuannya, yaitu:
1. Edition Learning ( Standard Edition), yang berisi berbagai sarana dasar dari
Visual Basic 6.0 untuk mengembangkan aplikasi.
2. Professional Edition, yang berisi tambahan sarana yang dibutuhkan oleh para
programmer profesional, misalnya tambahan kontrol program, pemrograman
internet, compiler untuk membuat file help dan sarana pengembangan database
yang lebih baik.
3. Enterprise edition, yang memungkinkan profesional programmer untuk
membuat aplikasi client-server yang dapat terhubung ke internet.
2.3.2 Struktur Bahasa Pemrograman Visual Basic 6.0
Visual Basic merupakan bahasa pemrograman yang terstruktur. Struktur aplikasi
Visual Basic terdiri dari:
1. Form, yaitu jendela desain dari sebuah program aplikasi dan juga merupakan
tempat untuk merancang user interface. Programmer dapat mendesain sebuah
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

program aplikasi dengan menempatkan kontrol-kontrol yang ada di bagian
toolbox pada area form.
2. Toolbox, merupakan kotak perangkat yang berisi kumpulan tombol objek atau
kontrol untuk mengatur desain dari aplikasi yang akan dibuat.
3. Properties, yaitu nilai atau karakter yang dimiliki oleh sabuah objek Visual
Basic. Contoh : name, size,colour, position, text dan lain sebagainya. Property
dapat diubah saat mendesain program atau run time ketika program dijalankan.
4. Method, yaitu suatu kumpulan perintah yang memiliki kegunaan yang hampir
sama dengan suatu fungsi atau prosedur, tetapi perintah tersebut sudah
disediakan dalam suatu objek. Suatu method dapat dipanggil dengan cara
menyebutkan nama objek dan diikuti dengan tanda titik dan nama methodnya.
5. Event, yaitu suatu kejadian yang akan diterima oleh suatu objek. Event yang
diterima oleh objek berfungsi untuk menjalankan kode program yang ada di
dalam objek tersebut.
6. Code Window, merupakan suatu jendela yang digunakan untuk menuliskan
kode program dari kontrol ytang telah dipasang pada jendela form dengan cara
memilih terlebih dahulu kontrol tersebut pada kotak objek.
7. Module, berisi kode program atau prosedur yang dapat digunakan oleh
program aplikasi dan juga merupakan kumpulan dari prosedur umum,
deklarasi variabel dan defenisi konstanta yang digunakan di dalam aplikasi.
Tampilan layar Visual Basic adalah sebagai berikut:
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Gambar 2.1 Layar Interface Visual Basic 6. 0
Secara rinci, tampilan layar Visual Basic terdiri dari :
1. Menu bar, merupakan batang menu yang terletak di bawah title bar yang
berfungsi untuk menampilkan pilihan menu atau perintah untuk
mengoperasikan program Visual Basic. Menu bar digunakan untuk memilih
tugas-tugas tertentu seperti menyimpan project, membuka project dan lain
sebagainya.
Gambar 2.2 Tampilan Menu Bar
2. Toolbar, merupakan sbuah batang yang berisi kumpulan tombol yang terletak
di bagian bawah menu bar yang dapat digunakan untuk menjalankan suatu
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

perintah dan mengendalikan tampilan seperti mengatur pemunculan jendela
properties, project dan form layout.
Gambar 2.3 Tampilan Toolbar
3. Form, merupakan tempat untuk merancang user interface dari aplikasi. Form
dapat disebut juga sebagai objek, yang befungsi sebagai latar belakang dari
suatu program aplikasi. Pada waktu membuat program aplikasi yang baru,
akan secara otomatis tersedia form yang baru dengan nama Form 1.
Gambar 2.4 Tampilan Form
4. Properties Window, berisi daftar properti untuk objek (form atau kontrol) yang
dipilih dan berfungsi untuk mengatur karakteristiknya, seperti warna, ukuran
dan lain-lain. Properties window dapat dibuka dengan cara mengklik tombol
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

properties window yang berada pada toolbar atau dengan cara mengklik kanan
pada objek.
Gambar 2.5 Tampilan Properties Window
5. Form Layout Window, merupakan sebuah jendela yang digunakan untuk
mengatur posisi dari form pada form saat program dijalankan. Untuk
memindahkan posisi form pada layar monitor dapat dilakukan melalui proses
drag and drop.
Gambar 2.6 Tampilan Form Layout Window
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

6. Toolbox, yaitu sebuah jendela yang mengandung semua objek atau kontrol
yang akan digunakan untuk membuat suatu program aplikasi. Toolbox dapat
ditampilkan dengan menggunakan prosedur:
1. Klik tombol Toolbox di bagian Toolbar Standard.
2. Pilih perintah View-Toolbox.
Gambar 2.7 Tampilan Toolbox
7. Project Window, yaitu jendela yang menampilkan semua file di dalam aplikasi
Visual Basic yang sedang aktif. Project merupakan suatu kumpulan module
atau merupakan program aplikasi itu sendiri.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Gambar 2.8 Tampilan Project Window
8. Code Window, yaitu jendela yang berisi kode program yang merupakan
instruksi (perintah) untuk aplikasi Visual Basic.
Gambar 2.9 Tampilan Code Window
9. Immediate Window, merupakan sebuah jendela yang digunakan untuk
mencoba beberapa perintah dengan mengetikkan baris program dan dapat
secara langsung dilihat hasilnya. Hal tersebut dilakukan untuk membantu
proses pengujian suatu perintah sebelum dipasang di dalam program.
Gambar 2.10 Tampilan Immediate Window
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

2.4. Oracle 10 XE
Oracle adalah sebuah DBMS untuk level menengah ke atas. Kelebihan Oracle
dibanding dengan Access / SQL Server adalah :
1. Multi platform artinya bisa dijalankan di berbagai OS, misalnya Unix, Linux,
Sun, OS/2, Apple, Windows.
2. Memiliki homepage / layanan berbasis web sehingga data dapat disebar / data
dapat diakses secara remote / jarak jauh.
3. Memiliki software khusus kllien mulia versi 10 ke atas sehingga dengan
menggunakan command line / SQL Plus di Oracle, sehingga kita bisa
mengerjakan semua operasi SQL dari jarak jauh seolah-olah kita berada di
localhost.
4. Hasil Query di layanan web service atau Application Express dapat diekspor
ke dalam Excel.
Salah satu kelebihan utama Oracle adalah kemampuannya yang sangat baik untuk
mendistribusikan database. Mendistribusikan database berarti datanya dapat dipakai
oleh banyak user / multi user. Itu berarti user dapat tersebar di berbagai tempat bahkan
di berbagai negara sehingga databasenya memiliki kemampuan diakses secara
Remote. Atau lebih dikenal dengan sebutan Remote Query. Untuk bisa merealisasikan
database tersebar / multi user, tentu saja server dan klien dapat berkomunikasi melalui
jaringan komputer / network. Karena itu penulis ingin menambahkan sedikit
penjelasan tentang network.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Secara umum topologi jaringan komputer terbagi 4 :
1.Bus
2.Star
3.Ring
4.Pear to Pear
5.FDDI
Untuk tugas akhir ini, penulis menggunakan topologi Pear to Pear dapat
digambarkan sebagai berikut.
IP : 192.168.01 IP : 192.168.02
Server Database Oracle
Client Oracle
Start
Database Stop
Database
Gambar 2.11 Topologi Pear to Pear
Terlihat dari dua komputer tersebut database Oracle berlokasi di alamat / IP :
192.168.02 , itu berarti tabel-tabel yang menjadi tugas akhir saya ini:
1.Tabel Master
2.Tabel Kartu_Stok
3.Tabel Kode_Master
4.Tabel Pembelian
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Semua tabel tersebut berada dalam sebuah database default yang bernama XE.
singkatan dari Ekspress Edition.
Karena penulis menggunakan Oracle versi 10.0.2 XE. Tabel-tabel tersebut hanya bisa
diakses dengan menggunakan user Id milik penulis yaitu :
User Id : Linda
Password : a
Gambar skemanya sebagai berikut.
SYSTEM
LINDA
Tabel Kode Tabel Kartu Stok Tabel Kode Master Tabel Pembelian
Gambar 2.12 Skema Rancangan Database Oracle
Agar client bisa mengakses database server, penulis menggunakan media kabel
bertipe Belden menggunakan port RG-45.
Sedangkan client untuk mengakses database server digunakan dengan 2 cara yaitu :
1. Berbasis web service yaitu dengan menggunakan browser internet seperti
Internet Explorer atau Mozilla Firefox. Caranya, di bagian address,
ketikkanlah http:// [IP server] : port default / service name misalnya : http : //
192.168.02 : 8080 / XE
2. Menggunakan command line berbasis DOS. Untuk melakukan ini harus
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

terlebih dahulu diinstal di komputer client yaitu OracleXEClient. File ini
cukup kecil hanya 29.5 MB.
Langkah-langkah menjalankan komputer client dengan menggunakan web
service / application express yaitu:
1. Start database di database server
2. Di database server tersebut setting application express dengan langkah-langkah
sebagai berikut:
a. Jalankan application express (bukalah database home page).
b. Loginlah dengan nama system(password:123).
Gambar 2.13 Tampilan home page Oracle
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

c.Kliklah administration
Gambar 2.14 Tampilan Halaman administration
d. Kliklah Manage HTTP Access.
e. Klik Access dan pilihlah Available from local server and remote clients.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Gambar 2.15 Tampilan Halaman Access
f. Klik apply changes.
Gambar 2.16 Tampilan Halaman Access Updated
3. Maka ketikkanlah di komputer client di bagian addressnya yaitu :
http://192.168.1.102 : 1521/XE.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

BAB 3
PERANCANGAN SISTEM
3.1. Perancangan Sistem
Perancangan sistem merupakan salah satu unsur atau tahapan dari keseluruhan
pembangunan sistem komputerisasi. Perancangan sistem untuk pengembangan sistem
informasi biasanya memerlukan jangka waktu yang lebih lama daripada pemecahan
masalah pada umumnya. Salah satu unsur pokok yang harus dipertimbangkan dalam
pembangunan sistem komputerisasi yaitu masalah perangkat lunak, karena perangkat
lunak yang digunakan haruslah sesuai dengan masalah yang akan diselesaikan,
disamping masalah perangkat itu sendiri.
Inti dari perancangan sistem adalah berusaha memandang seluruh pengolahan
secara terpadu serta untuk menilai pilihan-pilihan dalam melaksanakan studi
kelayakan.
Adapun tujuan dari perancangan sistem, yaitu:
a. Menentukan tujuan dari sistem yang dibuat
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

b. Menentukan gambaran dari rancang bangun yang lengkap kepada pemakai
komputer tersebut.
3.2. Perancangan Database
Dalam pembuatan suatu sistem yang baik diperlukan perancangan database yang baik.
Database sebagai tempat penyimpanan data merupakan salah satu aspek penting yang
akan menentukan mutu kerja data program yang dibuat.
Perancangan sebuah database berdasarkan bagaimana cara merancang dari
sistematika proses dari sistem tersebut. Pada umumnya database telah disiapkan untuk
menghasilkan sebuah laporan informasi tertentu yang dikehendaki.
Pada Sistem Informasi Persediaan Obat ini menggunakan software database
Oracle 10 XE. Secara garis besar Sistem Informasi Persediaan Obat pada Apotik
Dunia menggunakan struktur database sebagai berikut:
a. Struktur Tabel Pembelian
Tabel 3.1. Table Pembelian Nama Field Tipe Data Ukuran Index Keterangan
Tanggal Date 8 - Tgl Masuk Pembelian
Nama_Per Varchar 30 - Nama Perusahaan
Jenis Varchar 30 - Jenis Obat
Nama Varchar 25 - Nama Obat
No_Batch Varchar 35 - No Produk
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Harga Number 10 - Harga Pembelian
Banyak Number 8 - Banyak Obat
Diskon Number 5 - Jumlah Barang yang Dibeli
Total Number 20 - Total Pembelian
b. Struktur Tabel Master
Tabel 3.2. Tabel Master Nama Field Tipe Data Ukuran Index Keterangan
Kode Varchar 10 - Kode untuk
Obat
Jenis Varchar 30 - Jenis Obat
Banyak Number 8 - Banyak Obat
c. Struktur Tabel Kode
Tabel 3.3. Tabel Kode Nama Field Tipe Data Ukuran Index Keterangan
No Number 8 - No Kode
Kode Varchar 10 - Kode Untuk Obat
Jenis Varchar 30 - Jenis Obat
Tanggal Date 8 - Tanggal Masuk
Nama Varchar 25 - Nama Obat
No_Batch Varchar 35 - No Produk
Exp_Date Date 8 - Tanggal Kaduwarsa
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Harga_Pokok Number 10 - Harga Penjualan
Harga Number 10 - Harga_Pembelian
Rata-Rata Number 8 - Rata-Rata Harga
Banyak Number 8 - Banyak Obat
Nama_Per Varchar 30 - Nama_Perusahaan
Jumlah Number 8 - Total Banyak Obat
Total Number 20 - Total Pembelian
Laba Number 8 - Keuntungan Penjualan
d. Tabel Kartu Stok
Tabel 3.4. Tabel Kartu_Stok Nama Field Tipe Data Ukuran Index Keterangan
Nama Varchar 25 - Nama Obat
Tanggal Date 8 - Tgl Masuk Pembelian
No_Batch Varchar 35 - No Produk
Exp_Date Date 8 - Tanggal Kaduwarsa
Masuk Number 10 - Jumlah Obat yang masuk
Keluar Number 10 - Jumlah Obat yang keluar
Sisa Number 10 - Sisa Obat
e.Hasil Perancangan database
1. Pembelian
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Gambar 3.1 Tampilan tabel pembelian
2. Kode
Gambar 3.2 Tampilan tabel kode
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

3. Master
Gambar 3.3 Tampilan tabel master
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Hubungan antar Tabel
Master Kode Jenis Banyak
Kode No Kode_Brg Jenis Tanggal Nama No_Batch Exp_Date Harga_Pokok Harga Rata-rata Banyak Nama_Per Jumlah Total Laba
Pembelian Kode_Fak Tanggal Nama_Per Jenis Nama No_batch Harga Banyak Diskon Total
Penjualan
Nama Banyak Harga Diskon Jumlah Rata-rata Total
Kartu_Stok
Kode_Fak Nama Tanggal No_Batch Exp_Date Masuk Keluar Sisa
Gambar 3.4 Relasi antar Tabel
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

3.3. Diagram Konteks
Diagram konteks merupakan alat bantu dalam perancangan global bagi program
aplikasi yang dibuat. Tujuannya adalah untuk mencerminkan keadaan sistem yang
akan dibangun secara umum. Adapun diagram konteks untuk Sistem Informasi
Persediaan Obat pada Apotik Dunia adalah:
Laporan Pembelian Data Obat
Data Obat Laporan Stok Obat
Data Obat Laporan Penjualan
Gambar 3.5 Diagram Konteks
PELANGGAN
Sistem Persediaan
Obat
Stok Obat PEMASOK
Berikut penjelasan mengenai diagram konteks di atas :
Sistem menyerahkan data obat kepada pemasok berupa data obat yang akan dipesan,
setelah itu pemasok akan menyerahkan laporan obat yang dibeli kepada sistem dan
menghasilkan laporan pembelian. Sistem akan menyerahkan data obat yang ada
(menyediakan obat yang akan dijual) dan jika pelanggan berminat maka sistem akan
menyerahkan data obat yang diinginkan pelanggan dan akan menghasilkan laporan
penjualan. Sistem akan memberikan keseluruhan data obat (obat yang telah dijual dan
dibeli) untuk diproses dalam bagian stok obat. Bagian stok obat akan memeriksa
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

apakah obat tersebut masih ada atau sudah habis, setelah diperiksa maka bagian stok
barang akan membuat laporan stok barang untuk dikirim ke sistem.
3.4. Diagram Alir Data (Data Flow Diagram)
Diagram Arus Data digunakan untuk menggambarkan aliran informasi dan proses data
yang bergerak dari pemasukan data hingga keluaran. Keuntungan penggunaan DFD
adalah memudahkan pemakai yang kurang menguasai bidang komputer untuk
mengerti sistem yang akan dikerjakan atau dikembangkan. Berikut Data Flow
Diagram dari Sistem Persediaan Obat pada Apotik Dunia.
DFD Level 0
DFD Level 0 merupakan awal dari aliran data. Pada DFD Level 0 menggambarkan
aliran data secara umum. Pada DFD Level 0 ini menggambarkan bagian stok barang
memberikan laporan stok barang kepada sistem dari data obat yang telah diproses.
Bagian Penjualan akan memberikan laporan penjualan mengenai obat yang telah
terjual kepada sistem setelah sistem memberikan data obat yang telah terjual kepada
bagian penjualan. Sistem akan memberikan data barang yang telah dibeli dari
pemasok kepada bagian pembelian untuk diproses lebih lanjut sehingga bagian
pembelian akan menghasilkan laporan pembelian untuk dikirimkan ke sistem.
Laporan yang telah diproses dalam sistem yang berupa laporan pembelian, laporan
penjualan dan laporan stok obat akan dikirm ke pimpinan.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Laporan Penjualan Data Obat yang terjual
Laporan Stok Obat
Laporan
Data Obat
Laporan Pembelian Data Obat yang dibeli
PEMBELIAN
PIMPINAN Sistem Persediaan
Obat
Stok Obat
PENJUALAN
Gambar 3.6 DFD Level 0
DFD Level 1
Bagian Stok barang memberikan laporan stok obat yang kemudian diproses dalam
pembuatan laporan data obat (proses 1). Pada proses ini akan menghasilkan data obat
dan data pemasok. Jika stok obat habis, maka bagian ini akan memberikan laporan
tentang stok barang yang habis yang akan diproses dalam transaksi pembelian (proses
2). Pada proses 2 akan menghasilkan data pembelian untuk melaksanakan pembelian
barang yang akan dilakukan oleh bagian pembelian. Data pembelian juga diperlukan
untuk membuat proses laporan pembelian (proses 5). Setelah itu akan menghasilkan
laporan jumlah pembelian yang akan diberikan kepada pimpinan. Bagian penjualan
melakukan transaksi penjualan (proses 3) yang akan menghasilkan data pelanggan dan
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

data penjualan. Setelah melakukan transaksi, data penjualan akan diproses untuk
pembuatan laporan penjualan. Setelah laporan jumlah penjualan selesai akan
diberikan kepada pimpinan sebagaimana yang ditunjukkan pada gambar 3.7.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Laporan stok
obat akhir Data Pelanggan
F4 Pelanggan
Data penjualan
Data Obat F5 Penjualan
F1 Obat
Data pemasok Laporan Stok Laporan obat
F2 Pemasok obat yang habis yang terjual
Data Pembelian
F3 Pembelian Laporan Jumlah Penjualan
Laporan Jumlah Pembelian
Bag.Stok
1.Pembuatan laporan data obat
2. Transaksi Pembelian
5. Laporan Pembelian
4. Laporan Penjualan
3. Transaksi Penjualan
Bag.Pembelian
Bag.Penjualan
Laporan
Pimpinan
Gambar 3.7 DFD Level 1
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

3.5. Algoritma
Algoritma adalah langkah-langkah penyelesaian dari suatu permasalahan dengan
menggunakan kalimat logika yang diterima dalam membuat program. Algoritma
Sistem Informasi Persediaan Obat pada Apotik Dunia adalah :
1. Algoritma Untuk Menampilkan Menu Utama
Langkah 1 : Tampilkan Menu Utama, yang terdiri atas :
a. Entry
b. Penjualan
c. Pembelian
d. About
e. Help
f. Keluar
Langkah 2 : Selesai.
2. Algortima Untuk Menu Entry
Langkah 1 : Tampilkan data Entry.
Langkah 2 : Jika dipilih Tambah maka pengisian data bisa dikerjakan.
Langkah 3 : Jika diklik Simpan maka data yang diinput akan masuk ke dalam
tabel.
Langkah 4 : Jika diklik Menu, maka akan kembali ke menu utama.
Langkah 5 : Jika diklik Batal, maka akan membatalkan semua penginputan
data yang akan dilakukan.
Langkah 6 : Jika diklik Refresh maka akan merefresh data entry secara
keseluruhan.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Langkah 7 : Jika diklik tombol Nama, maka akan mendaftarkan seluruh nama obat
yang ada pada sistem.
Langkah 8 : Jika diklik tombol Tanggal Masuk, maka akan mendaftarkan seluruh
tanggal masuk obat yang ada pada sistem.
Langkah 9 : Jika diklik tombol Jenis Barang, maka akan mendaftarkan seluruh
jenis obat yang ada pada sistem.
Langkah 10 : Jika diklik tombol Expired Date, maka akan mendaftarkan seluruh
expire date obat yang ada pada sistem.
Langkah 11 : Jika diklik tombol No_Batch, maka akan mendaftarkan seluruh no
batch obat yang ada pada sistem.
Langkah 12 : Jika dipilih Cari maka akan menampilkan data dari obat yang dicari.
Langkah 13 : Selesai.
3. Algoritma Untuk Menu Penjualan
Langkah 1 : Tampilkan data Penjualan.
Langkah 2 : Jika dipilih Tambah maka pengisian data bisa dikerjakan.
Langkah 3 : Jika dipilih Cari maka akan menampilkan data dari obat yang dicari.
Langkah 4 :Jika diklik Refresh maka akan merefresh data entry secara
keseluruhan.
Langkah 5 : Jika diklik Batal, maka akan membatalkan semua penginputan data
yang akan dilakukan.
Langkah 6 : Jika diklik Menu, maka akan kembali ke menu utama.
Langkah 7 : Jika diklik Tambah Item, maka preose penginputan data obat akan
dikerjakan.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Langkah 8 : Selesai.
4. Algoritma Untuk Menu Pembelian
Langkah 1 : Tampilkan data Pembelian.
Langkah 2 : Jika dipilih Tambah maka pengisian data bisa dikerjakan.
Langkah 3 : Jika diklik Simpan maka data yang diinput akan masuk ke dalam
tabel.
Langkah 4 : Jika diklik Menu, maka akan kembali ke menu utama.
Langkah 5 : Jika diklik Batal, maka akan membatalkan semua penginputan
data yang akan dilakukan.
Langkah 6 : Jika diklik Refresh maka akan merefresh data entry secara
keseluruhan.
Langkah 7 : Selesai.
5. Algoritma Untuk Menu About
Langkah 1 : Tampilkan data About.
Langkah 2 : Jika dipilih Tambah maka pengisian data bisa dikerjakan.
Langkah 3 : Jika diklik Menu, maka akan kembali ke tampilan Menu Utama.
Langkah 4 : Selesai.
6. Algoritma Untuk Menu Help
Langkah 1 : Tampilkan data Help.
Langkah 2 : Jika diklik Scroll bar atas maka text akan diulang.
Langkah 3 : Jika diklik Menu, maka akan kembali ke tampilan Menu Utama.
Langkah 4 : Selesai.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

BAB 4
IMPLEMENTASI SISTEM
4.1 Defenisi Implementasi Sistem
Implementasi Sistem adalah langkah-langkah atau prosedur sistem yang dilakukan
untuk menyelesaikan perancangan sistem yang telah disetujui seperti menguji,
menginstal dan memulai menggunakan sistem yang baru atau sistem yang diperbaiki.
Pada tahap implementasi, terlebih dahulu dilakukan pengujian sistem. Setelah
terlihat ada kesalahan yang ditemukan di dalam pengujian maka sistem tersebut akan
diperbaiki dan pengujian sistem dilanjutkan ke tahap operasi yang nyata.
4.2 Tujuan Implementasi Sistem
Tujuan Implementasi Sistem adalah :
1. Menyelesaikan desain sistem yang ada dalam dokumen desain sistem .
2. Menguji dan mendokumentasikan program dan prosedur sistem.
3. Memastikan bahwa user dapat mengoperasikan sistem baru dengan
mempersiapkan manual pemakaian dan melatih user.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

4. Memperhitungkan bahwa sistem memenuhi permintaan user yaitu dengan
menguji sistem secara menyeluruh.
5. Memastikan bahwa konversi ke sistem baru berjalan dengan benar yaitu
dengan membuat rencana, mengontrol dan melakukan instalasi sistem baru
dengan benar.
Langkah-langkah dalam mengimplementasikan sistem adalah sebagai berikut :
1. Pemilihan dan pelatihan user.
2. Menyelesaikan desain sistem.
3. Pemilihan tempat dan instalasi software dan hardware.
4. Menulis, menguji dan mengontrol dan mendokumentasikan program.
5. Menyelesaikan manual pemakai.
6. Konversi sistem.
4.3 Komponen Utama Implementasi Sistem
Untuk mewujudkan sistem yang telah dirancang memerlukan beberapa sarana
pendukung utama yaitu komponen-komponen yang berperan penting dalam
menunjang sistem yang telah dirancang terhadap pengolahan data.
1. Hardware
Hardware (Perangkat Keras) adalah komponen atau mesin yang secara fisik
bekerja sama dalam melaksanakan pengolahan data. Untuk memperoleh hasil yang
baik, maka perlu diperhatikan beberapa hal yaitu :
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

1. Satu unit personal komputer.
2. Memori minimal 256 MB.
3. Harddisk sesuai dengan kebutuhan.
4. Printer, mouse, keyboard.
2. Software
Software (Perangkat Lunak) adalah susunan instruksi yang dibuat secara sistem dalam
bentuk program agar dapat dilaksanakan oleh komputer. Untuk sistem ini diperlukan
perangkat lunak yaitu:
1. Sistem Operasi Windows 98 atau versi yang lebih tinggi.
2. Aplikasi Oracle 10 XE.
3. Microsoft Visual Basic 6.0.
3. Brainware
Brainware merupakan faktor sumber daya manusia yang sangat diperlukan dalam
mengolah sebuah program maupun menangani fasilitas komputer. Faktor brainware
yang dibutuhkan yaitu :
1. Sistem analis yaitu orang yang bergerak dalam bidang pengembangan sistem
yang akan membentuk dan membangun fasilitas desain sistem.
2. Programmer yaitu orang yang akan menyusun instruksi bagi komputer dan
merancang antar muka pemakai (interface) pada program agar dapat
digunakan oleh pemakai (user).
Programmer terdiri dari :
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

a. Pemrogram aplikasi yaitu programmer yang membuat aplikasi
perangkat lunak untuk memenuhi kebutuhan para pemakai.
b. Pemrogram pemeliharaan yaitu programmer yang bertangg ng jawab
dalam memelihara, memodifikasi, memperbaiki dan menjaga agar
program dapat dipakai selama mungkin atau dalam kurun waktu yang
lama.
c. Pemrogram sistem yaitu programmer yang membuat perangkat lunak
sistem untuk mengontrol operasi perangkat keras komputer dan dapat
menjalankan program aplikasi.
3. Personalia Operasi Komputer terdiri dari :
a. Operator komputer yaitu orang yang menangani pengolahan data,
mulai dari mempersiapkan data, tampilan sampai dengan pengentrian
data ke dalam komputer.
b. Manajer operasi komputer yaitu orang yang bertanggung jawab atas
seluruh aktifitas pengoperasian komputer.
c. Personalia pemasukan data yaitu orang yang bertugas memasukkan
data ke sistem komputer dan memastikan data yang masuk terjamin
kebenarannya, akurat dan kelengkapannya.
d. Pustakawan sistem yaitu orang yang bertugas mengelola penyimpanan
data pada peralatan perekam.
4.4 Pengujian Sistem
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Tahap pengujian bertujuan untuk memastikan sistem yang telah dibuat sesuai dengan
keinginan pemakai dan dapat digunakan oleh pemakai dan dioperasikan oleh operator
sistem.
Beberapa tingkat pengujian sebelum mengimplementasikan sistem yaitu :
a. Pengujian Bagian
Pengujian tingkat ini dilakukan pada setiap modul program untuk mengetahui
bahwa setiap modul program tersebut telah memenuhi spesifikasinya.
b. Pengujian Integrasi
Pada tingkat ini akan diuji setiap kelompok logika modul program untuk
mengetahui bahwa setiap kelompok tersebut sudah memenuhi spesifikasi
logika.
c. Pengujian Sistem
Menguji sistem yang telah dibuat untuk memperhitungkan bahwa sistem baru
tersebut telah memenuhi spesifikasinya.
d. Pengujian Penerimaan
Pengujian ini bertujuan untuk memastikan bahwa semua komponen dalam
sistem baru dalam keadaan siap pakai.
e. Pengujian Operasi dan Pengujian Lingkungan Sistem
Sistem yang telah dibuat akan dicoba ke lingkungan yang sesungguhnya
untuk memastikan bahwa semua peralatan sistem baru dapat berjalan dengan
baik.
4.5 Pemeliharaan Sistem
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Sebuah kegiatan pengolahan data akan terus berlangsung dengan melibatkan sejumlah
fungsi yang terlibat atau tidak terlibat, dengan pemanfaatan sistem tersebut secara
maksimal sangat diperlukan. Kegiatan pengolahan data yang akan melibatkan
penyelenggaraan data yang berkualitas baik dalam pengolahan atau menampilkan
laporan tersebut sebagai sajian informasi.
Dengan demikian diperlukan adanya pemeliharaan sistem agar sistem tersebut
dapat berjalan dengan baik dan dapat digunakan semaksimal mungkin.
Adapun tujuan dari pemeliharaan sistem adalah sebagai berikut :
1. Mencegah modifikasi sistem yang akan menyebabkan masalah-masalah yang
lain.
2. Membuat modifikasi sistem yang sesuai dengan kebutuhan organisasi.
3. Menyempurnakan proses penyusunan sistem dan proses pemeliharaan sistem
dengan menganalisa informasi tentang modifikasi sistem.
4. Mengganti pemeliharaan sistem dengan survei sistem jika modifikasi yang
diminta relatif besar.
5. Meminimalkan gangguan kontrol dari gangguan operasi yang disebabkan oleh
pemeliharaan sistem.
4.6 Tampilan
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Tampilan suatu program aplikasi sangat penting untuk pengguna aplikasi tersebut. bila
tampilan suatu aplikasi menarik akan menambah nilai dari program tersebut.
Berikut tampilan output dari Sistem Informasi Persediaan Obat pada Apotik Dunia :
a.Tampilan Form Utama
Gambar 4.1 Tampilan Form Utama
b.Tampilan Form Entry
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Gambar 4.2 Tampilan Form Entry
c.Tampilan Form Penjualan
Gambar 4.3 Tampilan Form Penjualan
d.Tampilan Form Pembelian
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Gambar 4.4 Tampilan Form Pembelian
g.Tampilan Help
Gambar 4.5 Tampilan Form Help
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Melalui pembahasan yang telah diuraikan pada bab sebelumnya, maka dapat ditarik
beberapa kesimpulan yaitu:
1. Informasi memegang peranan penting dalam perkembangan sistem
komputerisasi.
2. Dalam kegiatan operasional, perusahaan maupun organisasi membutuhkan
suatu sistem informasi yang dapat mengatur sistem persediaan barang
sehingga proses produksi dan distribusi dapat berjalan dengan lancar.
3. Sistem Informasi sangat diperlukan dalam pengolahan data ke dalam bentuk
yang lebih berarti dan berguna bagi pemakainya untuk pengambilan keputusan
pada masa kini maupun yang akan datang.
5.2 Saran
Saran yang dapat penulis kemukakan adalah sebagai berikut:
1. Adanya pelatihan khusus kepada karyawan untuk meningkatkan skill
(keahlian/keterampilan) dalam penggunaan aplikasi program komputer agar
pengolahan data menjadi lebih cepat dan akurat.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

2. Diharapkan dengan program ini dapat membantu pengolahan data persediaan
obat.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

DAFTAR PUSTAKA Hartano , Jogianto. 1999. Analisis & Disain. Yogyakarta: Penerbit Andi.
Kurniadi, Andi. 2000. Pemrograman Microsoft Visual Basic 6. Yogyakarta:Penerbit
Andi.
Malik, Jaja Jamaludin. 2006. Animasi Form pada Visual Basic. Yogyakarta: Penerbit
Andi.
Imbar, Radiant Victor. 2006. Oracle&Asp. Bandung: Informatika Bandung.
Ladjumudin, A.B. 2005. Analisis dan Desain Sistem Informasi.Edisi
Pertama.Yogyakarta:Graha.
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

L
A
M
P
I
R
A
N
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

LISTING PROGRAM
Form Utama : Private Sub AB_Click() ABOUT.Show vbModal End Sub Private Sub BELI_Click() PEMBELIAN.Show vbModal End Sub Private Sub EN_Click() Form1.Show vbModal End Sub Private Sub Form_Activate()
StatusBar1.Panels(1).Text = WeekdayName(Weekday(Date)) & ", " & Format(Date, "DD-MMM-YYYY")
xnama = "relasi.rtf" 'trelasi.LoadFile (App.Path & "\" & xnama) 'PANGGIL FILE *.RTF 'DESIGN RELASI TABEL MENGGUNAKAN WORD 'SIMPAN DENGAN *.RTF ' trelasi.Enabled = False End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 End Sub Private Sub HE_Click() HELP.Show vbModal End Sub Private Sub KAR_Click() KARTU_STOK.Show vbModal End Sub Private Sub KEL_Click() koneksi.Close End End Sub Private Sub PEN_Click() PENJUALAN.Show vbModal
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

End Sub Private Sub Timer1_Timer() Timer1.Enabled = True StatusBar1.Panels(10).Text = Format(Time, "hh:mm:ss") End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case "ENTRY": Form1.Show vbModal 'MENGUNCI FORM DIBAWAHNYA rtabel1.Close 'rtabel2.Close Case "PENJUALAN": PENJUALAN.Show vbModal rtabel1.Close Case "PEMBELIAN": PEMBELIAN.Show vbModal 'rtabel2.Close Case "ABOUT": ABOUT.Show vbModal Case "HELP": HELP.Show vbModal Case "KELUAR": End End Select End Sub Form Penjualan : Private Sub batal_Click() tkode = "" tnama = "" tbanyak = "" tharga = "" xcari = "" xcari.SetFocus batal.Enabled = False tambah.Enabled = True End Sub Private Sub cash_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then kembali = Val(cash) - Val(TOTAL) tambah.Enabled = True tambah.SetFocus batal.Enabled = False End If End Sub Private Sub Form_Activate() DataGrid1.Columns(0).Visible = False SQL1 = "SELECT * FROM kode order by no asc" rtabel1.Open SQL1, koneksi Set DataGrid1.DataSource = rtabel1
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

rtabel1.Requery rtabel1.Clone tgl = Format(Date, "dd-mmm-yyyy") batal.Enabled = False tambah.Enabled = True tambah.SetFocus End Sub Private Sub Form_Unload(Cancel As Integer) Cancel = 1 End Sub Private Sub KEMENU_Click() PENJUALAN.Hide End Sub Private Sub tambah_Click() xcari = "" tnama = "" tbanyak = "" tharga = "" tdisc = "" tjumlah = "" tsub = "" TOTAL = "" cash = "" kembali = "" xcari.SetFocus tambah.Enabled = False batal.Enabled = True End Sub Private Sub tbanyak_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Dim rubah As New ADODB.Recordset SQL = "update kode set banyak = banyak - '" & tbanyak & "' where nama = '" & tnama & "' " rubah.Open SQL, koneksi rtabel1.Requery tdisc.SetFocus End If End Sub Private Sub tdisc_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then tjumlah = Val(tbanyak) * Val(tharga)
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

tsub = Val(tjumlah) - (Val(tbanyak) * Val(tharga) * (Val(tdisc) / 100)) TOTAL = tsub + TOTAL cash.SetFocus End If End Sub Private Sub xcari_KeyPress(KeyAscii As Integer) Dim RCARI As New ADODB.Recordset 'On Error GoTo SALAHSQL If KeyAscii = 13 Then If xcari = "" Then MsgBox "SORRY TEXT BELUM ADA...ULANGI" KeyAscii = 0 Exit Sub End If Adodc1.RecordSource = xcari 'Adodc1.RecordSource = "SELECT HARGA FROM KODE IN 'C:nyak\STOK-KASIR\UTAMA.MDB' ORDER BY HARGA ASC" 'SQL_BEBAS = Adodc1.RecordSource SQL = "SELECT * FROM KODE WHERE NAMA = '" & xcari & "'" RCARI.Open SQL, koneksi If RCARI.EOF Or RCARI.BOF Then MsgBox "SORRY DATA TIDAK ADA..." xcari = "" Exit Sub End If ' SQL1 = "SELECT * FROM kode" ' rtabel1.Open SQL1, koneksi 'Set DataGrid1.DataSource = rtabel1 'rtabel1.Requery ' rtabel1.Clone tnama = RCARI!nama tharga = RCARI!harga tbanyak.SetFocus 'xbanyak = Data1.Recordset!banyak 'xpokok = Data1.Recordset!harga_pokok End If End Sub Form Pembelian : Private Sub Form_Unload(Cancel As Integer) Cancel = 1 End Sub Private Sub KEMENU_Click()
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

PEMBELIAN.Hide End Sub Private Sub m_DateClick(ByVal DateClicked As Date) tgl = m.Value End Sub Private Sub simpan_Click() Dim RSIMPAN As New ADODB.Recordset SQL = "INSERT INTO KARTU_BELI_X VALUES ('" & Format(tgl, "yyyy,mm,dd") & "','" & tper & "','" & tjenis & "','" & tnama & "','" & tbatch & "', '" & tharga & "','" & tbanyak & "','" & tdisc & "','" & total & "') " '(NO,JENIS_BARANG,Tgl_masuk,nama,no_batch,exp_date,harga_pokok,harga,rata_rata,banyak,asal,jumlah,total,laba) 'SQL = "INSERT INTO kode (NO,JENIS_BARANG,TGL_MASUK,NAMA) VALUES (2,'BOTOL','2008,09,25','SUSI')" RSIMPAN.Open SQL, koneksi Set DataGrid1.DataSource = RSIMPAN SQL1 = "SELECT * FROM kartu_beli_x" rtabel2.Open SQL1, koneksi Set DataGrid1.DataSource = rtabel2 End Sub Private Sub tdisc_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then total = Val(tharga) * Val(tbanyak) - (Val(tharga) * Val(tbanyak) * (Val(tdisc) / 100)) End If End Sub Private Sub tgl_GotFocus() m.Visible = True End Sub Form Help : Private Sub Form_Unload(Cancel As Integer) Cancel = 1 End Sub Private Sub KEMENU_Click() HELP.Hide End Sub Private Sub Timer1_Timer() Frame1.Top = Frame1.Top - 20 If Frame1.Top <= -1000 Then
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Frame1.Top = 200 End If End Sub Private Sub VScroll1_Change() Frame1.Top = Frame1.Top - 100 If Frame1.Top <= -1000 Then Frame1.Top = 200 End If End Sub Form Entry : Dim XKODE, JENIS, KATEGORI, XXKODE, kate As String Dim n, PPN, laba As Long Public XNO, i Private Sub batal_Click() tbatch = "" sqlcepat.Enabled = True sqlbebas.Enabled = True DataGrid1.Enabled = True DataGrid1.AllowAddNew = False DataGrid1.AllowUpdate = True DataGrid1.AllowDelete = True DataGrid1.AllowArrows = True MonthView1.Visible = False MonthView3.Visible = False simpan.Enabled = False batal.Enabled = False tambah.Enabled = True Command1.Enabled = True End Sub Private Sub Command1_Click() 'On Error GoTo SALAH If Adodc1.Recordset.RecordCount = 0 Then Exit Sub Else If Adodc1.Recordset.BOF = True Or Adodc1.Recordset.EOF = True Then Exit Sub Else 'Adodc1.Recordset.Update 'Adodc1.Refresh 'Adodc1.RecordSource = "SELECT * FROM KODE IN 'C:\STOK\UTAMA.MDB' " Adodc1.RecordSource = "select * from KODE ORDER BY NO" Adodc1.Refresh
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

BYK = Adodc1.Recordset.RecordCount DataGrid1.Font.Strikethrough = False MsgBox "DATA BISA DI EDIT...!" End If End If SALAH: Select Case Err Case 0: Exit Sub Case -2147217864: MsgBox "RECORD GAGAL UNTUK UPADATE....COBA LAGI" Exit Sub Case Else: MsgBox "ADA KESALAHAN " & Err.Number & ": " & Err.Description Exit Sub End Select End Sub Private Sub HARIAN_Click() CrystalReport1.WindowState = crptMaximized CrystalReport1.RetrieveDataFiles CrystalReport1.Action = 1 End Sub Private Sub Command2_Click() On Error GoTo SALAH Calculator.Show Exit Sub SALAH: MsgBox "ADA KESALAHAN " & Err.Number & ": " & Err.Description End Sub Private Sub DataGrid1_AfterColEdit(ByVal ColIndex As Integer) On Error GoTo SALAH If DataGrid1.Col = 0 Then 'kolom nomor Adodc1.Recordset.Update DataGrid1.Col = 2 Exit Sub End If If DataGrid1.Col = 1 Then 'kolom kode Adodc1.Recordset.Update DataGrid1.Col = 2 Exit Sub End If If DataGrid1.Col = 2 Then 'KATEGORI
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Adodc1.Recordset.Update DataGrid1.Col = 4 Exit Sub End If If DataGrid1.Col = 3 Then 'TANGGAL MASUK 'DataGrid1.Columns(3) = MonthView2.SelStart DataGrid1.Col = 4 Adodc1.Recordset.Update Exit Sub End If If DataGrid1.Col = 4 Then 'NAMA 'If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then ' MsgBox "MASUKKAN ANGKA SAJA" ' KeyAscii = 0 ' DataGrid1.Columns(4) = "" ' Exit Sub 'End If DataGrid1.Col = 5 Adodc1.Recordset.Update Exit Sub End If If DataGrid1.Col = 5 Then 'NO BATCH DataGrid1.Columns(6) = Format(Date, "dd-mmm-yyyy") DataGrid1.Col = 7 Adodc1.Recordset.Update Exit Sub End If If DataGrid1.Col = 6 Then 'EXPIRED DATE 'DataGrid1.Columns(6) = MonthView2.SelEnd DataGrid1.Col = 7 Adodc1.Recordset.Update 'DataGrid1.Col = 7 'Adodc1.Recordset.Update Exit Sub End If If DataGrid1.Col = 7 Then 'HARGA POKOK 'DataGrid1.Columns(5) = UCase(DataGrid1.Columns(5)) 'If Not (KeyAscii >= Asc("A") And KeyAscii <= Asc("Z") Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = vbKeySpace) Then ' MsgBox ("data wajib huruf besar ") ' KeyAscii = 0 ' DataGrid1.Columns(5) = ""
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

'Exit Sub 'End If DataGrid1.Columns(12) = DataGrid1.Columns(7) * DataGrid1.Columns(10) 'HARGA POKOK X BANYAK 'DataGrid1.Columns(8) = (DataGrid1.Columns(7) + 0.1 * DataGrid1.Columns(7)) DataGrid1.Columns(8) = DataGrid1.Columns(7) Adodc1.Recordset.Update DataGrid1.Col = 9 Exit Sub End If If DataGrid1.Col = 8 Then ' HARGA = HARGA JUAL DataGrid1.Col = 9 'Adodc1.Recordset.Update Exit Sub End If If DataGrid1.Col = 10 Then 'BANYAK DataGrid1.Col = 11 Exit Sub AKHIR = DataGrid1.Columns(9) SELISIH = AKHIR - AWAL stok.Recordset.Index = "kodex" 'jangan menggunakan adodc XKODE = Left(DataGrid1.Columns(1), 2) 'ambil jenis barang BUKAN KATEGORI stok.Recordset.Seek "=", XKODE 'gunakan control data If stok.Recordset.NoMatch Then MsgBox ("DATA TIDAK DITEMUKAN...!") DataGrid1.Columns(9) = AWAL DataGrid1.Col = 9 Exit Sub End If 'JIKA DITEMUKAN DataGrid1.Columns(11) = DataGrid1.Columns(7) * DataGrid1.Columns(9) Adodc1.Recordset.Update stok.Recordset.Edit If stok.Recordset!banyak <= 0 Then stok.Recordset!banyak = 0 Else stok.Recordset!banyak = stok.Recordset!banyak + SELISIH 'DataGrid1.Columns(11) = DataGrid1.Columns(7) * DataGrid1.Columns(9) End If stok.Recordset.Update
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

stok.Refresh 'End If '---------- DataGrid1.Col = 10 Exit Sub End If If DataGrid1.Col = 10 Then 'ASAL Adodc1.Recordset.Update DataGrid1.Col = 11 Exit Sub End If 'If DataGrid1.Col = 9 Then 'JUMLAH ' DataGrid1.Col = 10 'Adodc1.Recordset.Update ' Exit Sub 'End If 'If DataGrid1.Col = 10 Then 'TOTAL disembunyikan ' DataGrid1.Col = 11 ' Exit Sub 'End If SALAH: Select Case Err Case 0: Exit Sub Case -2147217864: MsgBox "RECORD GAGAL UNTUK UPADATE....COBA LAGI" Adodc1.RecordSource = "SELECT * FROM KODE IN 'C:\STOK\UTAMA.MDB' " Adodc1.Refresh Exit Sub Case Else: MsgBox "ADA KESALAHAN AFTER COLEDIT" & Err.Number & ": " & Err.Description Exit Sub End Select End Sub Private Sub DataGrid1_AfterDelete() stok.Recordset.Index = "kodex" 'jangan menggunakan adodc stok.Recordset.Seek "=", XKODE 'gunakan control data If stok.Recordset.NoMatch Then
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

MsgBox ("Data tidak ditemukan!, kode tersebut tidak ada !") Exit Sub End If stok.Recordset.Edit If stok.Recordset!banyak <= 0 Then stok.Recordset!banyak = 0 'TIDAK BOLEH NEGATIP Else stok.Recordset!banyak = stok.Recordset!banyak - AWAL End If stok.Recordset.Update stok.Refresh MsgBox "TABEL DAN RECORD SUDAH DIHAPUS...!" End Sub Private Sub DataGrid1_BeforeColEdit(ByVal ColIndex As Integer, ByVal KeyAscii As Integer, Cancel As Integer) If DataGrid1.Col = 3 Then 'TANGGAL MASUK If Adodc1.Recordset.BOF = True Then Adodc1.BOFAction = adDoMoveFirst Else MonthView2.Visible = True End If Exit Sub End If If DataGrid1.Col = 6 Then 'EXPIRED DATE MonthView4.Visible = True Exit Sub End If If DataGrid1.Col = 9 Then 'BANYAK 'AWAL = DataGrid1.Columns(9) AWAL = Adodc1.Recordset!banyak XKODE = Left(DataGrid1.Columns(1), 2) Exit Sub End If End Sub Private Sub DataGrid1_BeforeDelete(Cancel As Integer) On Error GoTo SALAH XKODE = Left(DataGrid1.Columns(1), 2) AWAL = Adodc1.Recordset!banyak
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Set DBTOKO = OpenDatabase(App.Path & "\utama.mdb") DBTOKO.TableDefs.Delete (Adodc1.Recordset!nama) Exit Sub SALAH: MsgBox "ADA KESALAHAN :" & Err.Number & " : " & Err.Description Exit Sub End Sub Private Sub DataGrid1_Error(ByVal DataError As Integer, Response As Integer) On Error GoTo SALAH Exit Sub SALAH: MsgBox "ADA KESALAHAN :" & Err.Number & ": " & Err.Description End Sub Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer) Dim RSORTIR As ADODB.Recordset Set RSORTIR = Adodc1.Recordset If RSORTIR.Sort <> DataGrid1.Columns(ColIndex).DataField & " ASC" Then RSORTIR.Sort = DataGrid1.Columns(ColIndex).DataField & " ASC" Else RSORTIR.Sort = DataGrid1.Columns(ColIndex).DataField & " DESC" End If End Sub Private Sub DataGrid1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = VK_ESCAPE Then MonthView4.Visible = False MonthView2.Visible = False End If End Sub Private Sub Form_Activate() List1.Visible = True MonthView1.Visible = False MonthView3.Visible = False MonthView1.Value = Date MonthView3.Value = Date tambah.Enabled = True simpan.Enabled = False batal.Enabled = False tambah.SetFocus sqlcepat.Enabled = True BYK = Adodc1.Recordset.RecordCount DataGrid1.Font.Strikethrough = False klikmenu = 0 i = 1
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

' If rtabel1.BOF = True Or rtabel1.EOF = True Then ' Exit Sub 'Else SQL1 = "SELECT * FROM kode" rtabel1.Open SQL1, koneksi Set DataGrid1.DataSource = rtabel1 rtabel1.Requery rtabel1.Clone ' SQL2 = "SELECT * FROM master " ' rtabel2.Open SQL2, koneksi ' Set DataGrid2.DataSource = rtabel2 'rtabel2.Requery 'rtabel2.Clone 'End If End Sub Public Sub FORM_ERROR(DATAERR As Integer, Response As Integer) MsgBox DATAERR End Sub Private Sub KELUAR_Click() Form2.Hide Form3.Show End Sub Private Sub Form_Unload(Cancel As Integer) If klikmenu = 1 Then Cancel = 0 Else Cancel = 1 End If End Sub Private Sub KEMENU_Click() Form1.Hide End Sub Private Sub List1_Click() On Error GoTo SALAH If optkate.Value = True Then 'perhatian....untuk '" & List1 & "'" Adodc1.RecordSource = "select * from kode WHERE JENIS_BARANG = '" & List1 & "'" Adodc1.Refresh Exit Sub End If
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

If opttgl.Value = True Then Adodc1.RecordSource = "select * from kode WHERE tgl_masuk = # " & List1 & " # " Adodc1.Refresh Exit Sub End If If optnama.Value = True Then Adodc1.RecordSource = "select * from kode WHERE nama = '" & List1 & "'" Adodc1.Refresh Exit Sub End If If Optexp.Value = True Then Adodc1.RecordSource = "select * from kode WHERE exp_date = # " & List1 & " # " Adodc1.Refresh Exit Sub End If If optbatch.Value = True Then 'perhatian....untuk '" & List1 & "'" Adodc1.RecordSource = "select * from kode WHERE no_batch = '" & List1 & "'" Adodc1.Refresh Exit Sub End If SALAH: MsgBox "ada kesalahan :" & Err.Number & " " & Err.Description Exit Sub End Sub Private Sub tasal_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then tjumlah.SetFocus End If End Sub Private Sub tbanyak_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then tjumlah = Val(tharga_pokok) * Val(tbanyak) tasal.SetFocus End If End Sub Private Sub texp_GotFocus() MonthView3.Visible = True texp.SetFocus
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

End Sub Private Sub tgl_GotFocus() MonthView1.Visible = True tgl.SetFocus End Sub Private Sub tgl_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then tgl = MonthView1.SelStart tgl.SetFocus tnama.SetFocus MonthView1.Visible = False End If End Sub Private Sub MaskEdBox2_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then MonthView3.Visible = True MaskEdBox2 = MonthView3.SelStart Text5.SetFocus End If End Sub Private Sub MonthView1_DateClick(ByVal DateClicked As Date) tgl = MonthView1.SelStart MonthView1.Visible = False tgl.SetFocus End Sub Private Sub MonthView2_DateClick(ByVal DateClicked As Date) DataGrid1.Columns(3) = MonthView2.SelStart Exit Sub End Sub Private Sub MonthView2_DateDblClick(ByVal DateDblClicked As Date) On Error Resume Next DataGrid1.Col = 4 Adodc1.Recordset.Update Exit Sub End Sub Private Sub MonthView2_DblClick() MonthView2.Visible = False 'DataGrid1.Col = 4 'Adodc1.Recordset.Update Exit Sub End Sub
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Private Sub MonthView3_DateClick(ByVal DateClicked As Date) texp = MonthView3.SelStart MonthView3.Visible = False texp.SetFocus End Sub Private Sub MonthView4_DateClick(ByVal DateClicked As Date) DataGrid1.Columns(6) = MonthView4.SelStart 'DataGrid1.Col = 7 Exit Sub End Sub Private Sub MonthView4_DateDblClick(ByVal DateDblClicked As Date) On Error Resume Next DataGrid1.Col = 7 Adodc1.Recordset.Update Exit Sub End Sub Private Sub MonthView4_DblClick() MonthView4.Visible = False Exit Sub End Sub Private Sub optbatch_Click() Dim i List1.Visible = True List1.Clear Adodc1.RecordSource = "select * from KODE ORDER BY no_batch" Adodc1.Refresh i = 0 Do While Not Adodc1.Recordset.EOF List1.AddItem Adodc1.Recordset!No_batch Adodc1.Recordset.MoveNext i = i + 1 Loop End Sub Private Sub Optexp_Click() Dim i List1.Visible = True List1.Clear Adodc1.RecordSource = "select * from KODE ORDER BY exp_date" Adodc1.Refresh i = 0 Do While Not Adodc1.Recordset.EOF List1.AddItem Format(Adodc1.Recordset!exp_date, "dd-mmm-yyyy") Adodc1.Recordset.MoveNext i = i + 1
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Loop End Sub Private Sub optkate_Click() Dim i List1.Visible = True List1.Clear Adodc1.RecordSource = "select * from KODE ORDER BY JENIS_BARANG" Adodc1.Refresh i = 0 Do While Not Adodc1.Recordset.EOF List1.AddItem Adodc1.Recordset!JENIS_BARANG Adodc1.Recordset.MoveNext i = i + 1 Loop End Sub Private Sub optnama_Click() List1.Visible = True List1.Clear Adodc1.RecordSource = "select * from KODE ORDER BY NAMA" Adodc1.Refresh Do While Not Adodc1.Recordset.EOF ' sama(0) = Adodc1.Recordset!nama ' If sama(0) <> sama(1) Then List1.AddItem Adodc1.Recordset!nama Adodc1.Recordset.MoveNext ' If Adodc1.Recordset.EOF Then ' Exit Sub ' Else ' sama(1) = Adodc1.Recordset!nama ' End If 'Else ' Adodc1.Recordset.MoveNext 'End If Loop End Sub Private Sub opttgl_Click() Dim i List1.Visible = True List1.Clear Adodc1.RecordSource = "select * from KODE ORDER BY TGL_MASUK" Adodc1.Refresh i = 0 Do While Not Adodc1.Recordset.EOF List1.AddItem Format(Adodc1.Recordset!tgl_MASUK, "dd-mmm-yyyy") Adodc1.Recordset.MoveNext
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

i = i + 1 Loop End Sub Private Sub simpan_Click() Dim RSIMPAN As New ADODB.Recordset XNO = Adodc1.Recordset.RecordCount + 1 SQL = "INSERT INTO KODE VALUES ('" & XNO & "','" & tjenis & "','" & Format(tgl, "yyyy,mm,dd") & "','" & tnama & "','" & tbatch & "', '" & Format(texp, "yyyy,mm,dd") & "','" & tharga_pokok & "','" & tharga_jual & "',1000,'" & tbanyak & "','" & tasal & "','" & tjumlah & "',10000) " '(NO,JENIS_BARANG,Tgl_masuk,nama,no_batch,exp_date,harga_pokok,harga,rata_rata,banyak,asal,jumlah,total,laba) 'SQL = "INSERT INTO kode (NO,JENIS_BARANG,TGL_MASUK,NAMA) VALUES (2,'BOTOL','2008,09,25','SUSI')" RSIMPAN.Open SQL, koneksi Set DataGrid1.DataSource = RSIMPAN rtabel.Requery End Sub Private Sub SQL_BEBAS_Click() SQL_BEBAS = "" End Sub Private Sub SQL_BEBAS_DblClick() Select Case i Case 1: SQL_BEBAS = "SELECT * FROM KODE WHERE TANGGAL_MASUK = DATE()" i = i + 1 Case 2: SQL_BEBAS = "SELECT HARGA FROM KODE WHERE HARGA >= 1000 and harga <= 10000" i = i + 1 Case 3: SQL_BEBAS = "SELECT * FROM KODE WHERE NO_BATCH = '123' " i = i + 1 Case 4: SQL_BEBAS = "SELECT exp_date FROM KODE WHERE HARGA <= 20000 order by exp_date" i = i + 1 Case 5: SQL_BEBAS = "SELECT NAMA,NO_BATCH,EXP_DATE FROM KODE WHERE EXP_DATE < DATE()" i = i + 1 Case 6: SQL_BEBAS = "SELECT NAMA,NO_BATCH,EXP_DATE FROM KODE WHERE EXP_DATE = DATE()+ 90" 'OBAT EXPIRED 3 BULAN LAGI i = i + 1 Case 7: SQL_BEBAS = "SELECT NAMA,NO_BATCH,EXP_DATE FROM KODE WHERE EXP_DATE - DATE()=3" 'OBAT EXPIRED 3 HARI LAGI i = i + 1
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Case 8: SQL_BEBAS = "SELECT * FROM KODE WHERE TANGGAL_MASUK = DATE()-14" 'OBAT MASUK 2 MINGGU LALU i = i + 1 Case 9: SQL_BEBAS = "SELECT * FROM KODE WHERE TANGGAL_MASUK = DATE()-30" 'OBAT MASUK 1 BULAN LALU i = i + 1 Case 10: SQL_BEBAS = "SELECT * FROM KODE WHERE TANGGAL_MASUK = DATE()-365" 'OBAT MASUK TAHUN LALU i = 1 End Select End Sub Private Sub SQL_BEBAS_KeyPress(KeyAscii As Integer) 'Dim SQL1, SQL2, SQL3 As String Set DBTOKO = OpenDatabase(App.Path & "\utama.mdb") On Error GoTo SALAHSQL If KeyAscii = 13 Then If SQL_BEBAS = "" Then MsgBox "SORRY TEXT BELUM ADA...ULANGI" KeyAscii = 0 Exit Sub End If Adodc1.RecordSource = SQL_BEBAS 'Adodc1.RecordSource = "SELECT HARGA FROM KODE IN 'C:\STOK-KASIR\UTAMA.MDB' ORDER BY HARGA ASC" If i = 6 Then DataGrid1.Font.Strikethrough = True Else DataGrid1.Font.Strikethrough = False End If Adodc1.Refresh 'SQL_BEBAS = Adodc1.RecordSource SQL.Text = "" End If Adodc1.Refresh Exit Sub SALAHSQL: MsgBox "SALAH STATEMEN SQL :" & " " & Err.Number & ", " & Err.Description 'Exit Sub End Sub Private Sub sql_DblClick() SQL = "SELECT *" DataGrid1.Font.Strikethrough = False End Sub
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Private Sub sql_KeyPress(KeyAscii As Integer) Dim SQL1, SQL2, SQL3 As String Set DBTOKO = OpenDatabase("C:\STOK\UTAMA.MDB") On Error GoTo SALAHSQL SQL1 = UCase(SQL.Text) SQL2 = " FROM KODE IN" SQL3 = "'C:\STOK\UTAMA.MDB'" 'SQL3 = "'C:\ANUGERAH\UTAMA.MDB' ORDER BY HARGA DESC" If Not (KeyAscii >= Asc("A") And KeyAscii <= Asc("Z") Or KeyAscii >= Asc("a") And KeyAscii <= Asc("z") Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = vbKeySpace Or KeyAscii = Asc(",") Or KeyAscii = Asc("*") Or KeyAscii = Asc("_")) Then MsgBox "ISI DENGAN TEKS" KeyAscii = 0 Exit Sub End If 'On Error GoTo A If KeyAscii = 13 Then If SQL = "" Then MsgBox "SORRY TEXT BELUM ADA...ULANGI" KeyAscii = 0 Exit Sub End If Adodc1.RecordSource = SQL1 + SQL2 + SQL3 'Adodc1.RecordSource = "SELECT HARGA FROM KODE IN 'C:\WIDURI BAN\UTAMA.MDB' ORDER BY HARGA DESC" Adodc1.Refresh 'SQL.Text = Adodc1.RecordSource SQL.Text = "" End If Adodc1.Refresh Exit Sub SALAHSQL: MsgBox "SALAH STATEMEN SQL :" & " " & Err.Number & ", " & Err.Description End Sub Private Sub tambah_Click() ' On Error GoTo SALAH tkod.SetFocus ' XNO = Adodc1.Recordset.RecordCount() 'hitung banyak record ' If XNO <> 0 Then 'Bila isi tabel tidak kosong ' Adodc1.Recordset.MoveFirst 'pindah ke baris 1 ' XNO = XNO + 1 'End If DataGrid1.Enabled = False
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

DataGrid1.AllowAddNew = False DataGrid1.AllowUpdate = False DataGrid1.AllowDelete = False DataGrid1.AllowArrows = True simpan.Enabled = False batal.Enabled = True tambah.Enabled = False sqlcepat.Enabled = False sqlbebas.Enabled = False Command1.Enabled = False Exit Sub SALAH: Select Case Err Case -2147217842: MsgBox "OPERASI TAMBAH DATA TIDAK DIIJINKAN...!" Exit Sub Case Else MsgBox "ADA KESALAHAN :" & " " & Err.Number & ", " & Err.Description Exit Sub End Select End Sub Private Sub Text10_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Text10 = "" Then Text10 = "X" End If Text5.SetFocus End If End Sub Private Sub tbatch_KeyPress(KeyAscii As Integer) 'If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = vbKeySpace Or KeyAscii = Asc(".") Or KeyAscii = Asc("-")) Then ' MsgBox "MASUKKAN ANGKA SAJA" ' KeyAscii = 0 ' tbatch.SetFocus 'Exit Sub 'End If If KeyAscii = 13 Then If tbatch = "" Then MsgBox "MASIH KOSONG ULANGI...!" tbatch.SetFocus
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Exit Sub Else texp.SetFocus End If End If End Sub Private Sub tdisc_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",") Or KeyAscii = Asc(".")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 Text5.SetFocus Exit Sub End If If KeyAscii = 13 Then PPN = Val(tharga_jual.Text) 'text2 = harga jual 'PPN = 0 'text5 = harga pokok 'Text2 = PPN + Val(Text5) * (Val(tdisc) / 100) 'tbanyak = (Val(Text5) + (Val(Text5) * Val(tppn) / 100)) 'tbanyak = Val(Text2) + (Val(Text2) * Val(tdisc) / 100) tharga_jual = PPN + Val(tharga_pokok.Text) * (Val(tdisc) / 100) tbanyak.SetFocus End If End Sub Private Sub Text11_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Text12.SetFocus End If End Sub Private Sub Text12_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 Text12.SetFocus Exit Sub End If If KeyAscii = 13 Then If Text12 = "" Then Text12 = "00" MaskEdBox1.SetFocus Exit Sub
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Else MaskEdBox1.SetFocus Exit Sub End If End If End Sub Private Sub Text13_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 Text13.SetFocus Exit Sub End If If KeyAscii = 13 Then If Text13 = "" Then Text13 = "000" Text7.SetFocus Exit Sub End If If Len(Text13) <> 3 Then MsgBox "KODE ASAL BARANG TERLALU PANJANG ATAU TERLALU PENDEK...ULANGI !!" KeyAscii = 0 Text13.Text = "" Text13.SetFocus Exit Sub Else Text7.SetFocus Exit Sub End If End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 Text2.SetFocus Exit Sub End If If KeyAscii = 13 Then If Val(Text2.Text) <= Val(Text5.Text) Then
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

MsgBox "HARGA JUAL SALAH...ULANGI" KeyAscii = 0 Text2 = "" Exit Sub Else 'simpan.Enabled = True 'simpan.SetFocus Text6.SetFocus End If End If End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) 'KODE JENIS BARANG If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 Text1.SetFocus Exit Sub End If If KeyAscii = 13 Then ' stok.Recordset.Index = "kodex" 'jangan menggunakan adodc ' XKODE = Left(Text1.Text, 2) 'ambil jenis barang BUKAN KATEGORI ' stok.Recordset.Seek "=", XKODE 'gunakan control data ' If stok.Recordset.NoMatch Then ' MsgBox ("Data tidak ditemukan!, kode tersebut tidak ada !") ' KeyAscii = 0 ' Text1.Text = "" ' Text1.SetFocus ' Exit Sub ' End If If Len(Text1) <> 2 Then MsgBox "KODE BARANG TERLALU PANJANG ATAU TERLALU PENDEK...ULANGI !!" KeyAscii = 0 Text1.Text = "" Text1.SetFocus Exit Sub Else 'Text11 = stok.Recordset!JENIS_BARANG SQL = "SELECT JENIS_BARANG FROM MASTER WHERE KODE ='" & Text1 & "' " RCARI.Open SQL, koneksi Text11 = RCARI.GetString RCARI.Close Exit Sub End If End If
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

End Sub Private Sub Text3_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 Text3.SetFocus Exit Sub End If If KeyAscii = 13 Then If Text3 = "" Then Text3.Text = "000" MonthView1.Visible = False Text4.SetFocus Exit Sub End If If Len(Text3) <> 3 Then MsgBox "KODE NAMA BARANG TERLALU PANJANG ATAU TERLALU PENDEK ...ULANGI !!" KeyAscii = 0 Text3.Text = "" Text3.SetFocus Exit Sub Else Text4.SetFocus Exit Sub End If End If End Sub Private Sub Text4_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If Len(Text4) > 50 Then MsgBox "SORRY MAKSIMUM NAMA OBAT 50 KARAKTER...!" KeyAscii = 0 Text4 = "" Exit Sub End If pertama = 0 buat_baru = 0 If Adodc1.Recordset.RecordCount <> 0 Then Adodc1.Recordset.MoveFirst Adodc1.Recordset.Find "NAMA = '" & Text4 & "' " If Adodc1.Recordset.EOF Then MsgBox "DATA TIDAK DITEMUKAN...!"
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

'buat tabel yang baru U KARTU STOK harga program + Rp. 1.000.000 'apotik central BUAT = MsgBox("BUAT TABEL YANG BARU..??", vbYesNo) If BUAT = vbYes Then buat_baru = 1 Else buat_baru = 0 End If tbatch.SetFocus Else LANJUT = MsgBox("ADA NAMA YANG SAMA..LANJUTKAN...?", vbYesNo) If LANJUT = vbYes Then 'PINDAH KE KARTU STOK 'Text4 = "" 'Form2.Hide 'KARTU_STOK.Show 'Exit Sub If Text4 = "" Then Text4 = "X" tbatch.SetFocus Else tbatch.SetFocus End If Else batal.SetFocus End If End If Else 'BUAT TABEL BARU SEJAK 0 RECORD buat_baru = 1 pertama = 1 tbatch.SetFocus If Text4 = "" Then Text4 = "X" tbatch.SetFocus Else tbatch.SetFocus End If End If End If End Sub Private Sub Text5_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA"
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

KeyAscii = 0 Text5.SetFocus Exit Sub End If If KeyAscii = 13 Then If Text5 = "" Then MsgBox "HARGA MASIH KOSONG ULANGI !" KeyAscii = 0 Text5.SetFocus Exit Sub Else 'Text5.Text = Format(Val(Text5.Text), "#,###,'###,###") MonthView3.Visible = False 'PPN = Val(Text5) + 0.1 * Val(Text5) 'Text2 = PPN + 0.2 * Val(Text5) 'Text2.SetFocus tppn.SetFocus End If End If End Sub Private Sub Text6_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 Text6.SetFocus GoTo AKHIR End If If KeyAscii = 13 Then If Text6 = "" Then MsgBox "BANYAK BARANG MASIH KOSONG ULANGI !" KeyAscii = 0 Text6.SetFocus Exit Sub Else 'Text6.Text = Format(Val(Text6.Text), "#,###,###,###") Text13.SetFocus End If End If AKHIR: End Sub Private Sub Text7_KeyPress(KeyAscii As Integer) 'If Not (KeyAscii >= Asc("A") And KeyAscii <= Asc("Z") Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = vbKeySpace Or KeyAscii = Asc(".") Or KeyAscii = Asc(",")) Then
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

' MsgBox ("DATA WAJIB HURUF BESAR ") ' KeyAscii = 0 ' Text7.SetFocus 'Exit Sub 'End If If KeyAscii = 13 Then If Text7 = "" Then Text7 = "X" End If Text8.Text = Val(Text5.Text) * Val(Text6.Text) 'Text8.Text = Format(Val(Text5.Text) * Val(Text6.Text), "#,###,###,###,###") simpan.Enabled = True simpan.SetFocus End If End Sub Private Sub texp_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then texp = MonthView3.SelStart tharga_pokok.SetFocus MonthView3.Visible = False End If End Sub Private Sub tharga_jual_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then tbanyak.SetFocus End If End Sub Private Sub tharga_pokok_Click() MonthView1.Visible = False End Sub Private Sub tharga_pokok_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then tppn.SetFocus End If End Sub Private Sub tjenis_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then tgl.SetFocus End If End Sub Private Sub tjumlah_KeyPress(KeyAscii As Integer) tjumlah = Val(tharga_jual) * Val(tbanyak)
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

If KeyAscii = 13 Then simpan.Enabled = True simpan.SetFocus End If End Sub Private Sub tkod_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 tkod.SetFocus Exit Sub End If If KeyAscii = 13 Then SQL = "SELECT JENIS_BARANG FROM MASTER WHERE KODE ='" & tkod & "' " RCARI.Open SQL, koneksi tjenis = RCARI.GetString RCARI.Close tjenis.SetFocus Exit Sub End If End Sub Private Sub tlaba_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",") Or KeyAscii = Asc(".")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 tppn.SetFocus Exit Sub End If If KeyAscii = 13 Then PPN = Val(tharga_pokok) + Val(tharga_pokok) * (Val(tppn) / 100) tharga_jual = PPN + Val(tharga_pokok) * (Val(tlaba) / 100) laba = Val(tharga_jual) - Val(tharga_pokok) tbanyak.SetFocus End If End Sub Private Sub tnama_Click() MonthView1.Visible = False End Sub Private Sub tnama_KeyPress(KeyAscii As Integer)
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

If KeyAscii = 13 Then tbatch.SetFocus End If End Sub Private Sub tppn_KeyPress(KeyAscii As Integer) If Not (KeyAscii >= vbKey0 And KeyAscii <= vbKey9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn Or KeyAscii = Asc(",") Or KeyAscii = Asc(".")) Then MsgBox "MASUKKAN ANGKA SAJA" KeyAscii = 0 tppn.SetFocus Exit Sub End If If KeyAscii = 13 Then 'tppn = ppn tlaba.SetFocus End If End Sub Private Sub transaksi_Click() On Error GoTo SALAH Adodc1.Refresh Data2.Refresh stok.Refresh SALAH: klikmenu = 1 Unload Me Form3.Show End Sub Sub RATA() n = 0 NJUAL = 0 If Adodc1.Recordset.RecordCount = 0 Then NJUAL = NJUAL + Val(Text2) n = n + 1 Else Adodc1.Recordset.MoveFirst Do Until Adodc1.Recordset.EOF If Adodc1.Recordset!nama = Text4 Then NJUAL = NJUAL + Adodc1.Recordset!harga n = n + 1 End If Adodc1.Recordset.MoveNext Loop End If End Sub
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Module : Public koneksi As New ADODB.Connection Public rtabel As New ADODB.Recordset Public rtabel1 As New ADODB.Recordset Public rtabel2 As New ADODB.Recordset Public RCARI As New ADODB.Recordset Public SQL, SQL1, SQL2 As String Sub Main() rtabel1.CursorLocation = adUseClient rtabel2.CursorLocation = adUseClient 'koneksi.Open "Provider = Microsoft.jet.oledb.4.0;Data Source = " & App.Path & "\KANTOR.mdb" koneksi.Open "Provider=OraOLEDB.Oracle.1;Password=a;User ID=LINDA;Data Source=acer:1521/XE" If koneksi.State = 1 Then UTAMA.Show End If End Sub Public Sub Buat_tabel(urut, xtabel) Set DBS = OpenDatabase(App.Path & "\utama.mdb") 'urut = Date + Time urut = Format(Now(), "dd-mm-yyyy hh:mm:ss") Set td = DBS.CreateTableDef(urut) With td .Fields.Append .CreateField("no", dbLong, 7) .Fields.Append .CreateField("kode", dbText, 10) .Fields.Append .CreateField("nama", dbText, 50) .Fields.Append .CreateField("harga_pokok", dbDouble) .Fields.Append .CreateField("harga", dbDouble) .Fields.Append .CreateField("banyak", dbDouble, 20) .Fields.Append .CreateField("diskon", dbDouble, 100) .Fields.Append .CreateField("jumlah", dbDouble, 20) .Fields.Append .CreateField("total", dbDouble, 20) .Fields.Append .CreateField("cash", dbDouble, 20) .Fields.Append .CreateField("kembali", dbDouble, 20) End With DBS.TableDefs.Append td DBS.Close End Sub
SURAT KETERANGAN TUGAS AKHIR Hasil Uji Program Tugas Akhir
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Yang bertanda tangan di bawah ini, menerangkan bahwa Mahasiswa Tugas Akhir
program Diploma III Ilmu Komputer :
Nama : Lindawaty
Nim : 052406183
Prog. Studi : Ilmu Komputer
Judul T.A : Sistem Informasi Persediaan Obat pada Apotik Dunia
Telah melaksanakan test program tugas akhir Mahasiswa tersebut diatas pada tanggal
…31…/ …05.../ 2008
Dengan Hasil : Sukses / Gagal
Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian
Meja Hijau Tugas Akhir Mahasiswa bersangkutan di Jurusan Matematika FMIPA
USU Medan.
Medan, 31 /05 / 2008
Dosen Pembimbing
Program D3 Ilmu Komputer
Dra. Elly Rosmaini, M.Si
Nip : 131459475
DEPARTEMEN PENDIDIKAN NASIONAL UNIVERSITAS SUMATERA UTARA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM PROGRAM STUDI D-3 ILMU KOMPUTER/STATISTIKA
Jl. Bioteknologi No. 1 Kampus USU Telp. (061) 8211050 Fax. (061) 8214290
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008

Medan – 20155
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
Nama Mahasiswa : LINDAWATY
Nomor Induk Mahasiswa : 052406183
Judul Tugas Akhir : SISTEM INFORMASI PERSEDIAAN OBAT PADA
APOTIK DUNIA
Dosen Pembimbing I : Dra. Elly Rosmaini, M. Si
Tanggal Mulai Bimbingan : 25 Maret 2008
Tanggal Selesai Bimbingan : 2 Juni 2008
NO
TANGGAL ASISTEN
BIMBINGAN
PEMBAHASAN PADA
ASISTENSI MENGENAI PADA BAB
PARAF DOSEN PEMBIMBING
KETERANGAN
1 25 Maret 2008 Proposal Tugas Akhir
2 2 Juni 2008 ACC Bab 1
3 ACC Bab 2
4 ACC Bab 3
5 ACC Bab 4
6 ACC Bab 5
7
8
Diketahui Disetujui Ketua Jurusan Matematika Pembimbing Utama/ Penanggung Jawab
Dr. Saib Suwilo, M. Sc Dra.Elly Rosmaini, M. Si Nip : 131796149 Nip : 131459475
Lindawaty : Sistem Informasi Persediaan Obat Pada Apotik Dunia, 2008 USU Repository © 2008