(Studi Kasus di Pedagang Besar Farmasi (PBF) PT. Bina San Prima)
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Jurusan Teknik Informatika
Disusun Oleh : Andi Raharjo
025314037
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
USING MEDIATOR SYSTEM APPROACH
(Case Study at Pedagang Besar Farmasi (PBF) PT. Bina San Prima)A Thesis
Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana Teknik Degree
in Informatic Engineering
by
Andi Raharjo 025314037
DEPARTEMENT OF INFORMATIC ENGINEERING
FACULTY OF SAINS AND TECHNOLOGY
SANATA
DHARMA
UNIVERSITY
YOGYAKARTA
PERNYATAAN
Dengan ini saya sebagai penulis tugas akhir menyatakan dengan
sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian
karya orang lain, kecuali pemikiran, metode atau hasil penelitian orang lain yang
diambil disebutkan dengan jelas sebagai acuan.
Yogyakarta, September 2007
Andi Raharjo
Penulis
HALAMAN PERSEMBAHAN
Karya ini kupersembahkan untuk
semua yang aku cintai dan aku banggakan :
Tuhan Yesus X-tus
Bunda Maria
Bapak
-
ku
Y. Sunaryo
dan
Ibu
-
ku
Nesiati
Adik
-
ku
Bagus
Orang – orang
di
sekitar-
ku
“terima kasih atas semuanya yang telah dilakukan untuk aku...”
ABSTRAKSI
Integrasi basis data pada dasarnya merupakan topik yang terus mengalami
perkembangan karena banyak basis data yang tersedia mempunyai struktur dan
format yang berbeda-beda. Mediator merupakan salah satu metode yang dapat
digunakan untuk mengintegrasikan basis data. Karakteristik dari sistem mediator
ini adalah hanya mengintegrasikan basis data secara read-only (akses ke basis data
hanya diijinkan secara read-only). Tujuan dari sistem yang dibuat adalah
mengakses basis data dengan struktur dan format yang berbeda-beda melalui
suatu cara yang seragam, sehingga seolah-olah berhubungan dengan satu basis
data.
Dalam skripsi ini dibuat aplikasi pendukung (DBMapper.exe), objek
mediator, dan aplikasi web. Aplikasi pendukung (DBMapper.exe) digunakan
untuk membuat file setting dalam format XML yang kemudian diakses oleh objek
mediator. Objek mediator digunakan sebagai perantara dalam mengakses basis
data dengan struktur dan format yang berbeda-beda melalui suatu cara yang
seragam, sehingga seolah-olah berhubungan dengan satu basis data. Masukan
objek mediator berupa query yang mirip dengan SQL, dengan keluaran diberikan
dalam bentuk dokumen XML. Objek mediator juga berfungsi untuk
mendefinisikan komponen, setting serta relationship dari masing-masing
komponen basis data yang akan diintegrasikan. Aplikasi web ini sebagai masukan
query untuk objek mediator. Pembuatan sistem ini memakai bahasa pemrograman
Visual Basic 6.0 untuk pembuatan aplikasi pendukung (DBMapper.exe), Visual
Basic 6.0 untuk pembuatan objek mediator, dan ASP (Active Server Pages) untuk
aplikasi web. Untuk hasil keluaran dalam bentuk dokumen XML.
Hasil akhir sistem ini berupa sistem yang digunakan oleh Pedagang Besar
Farmasi (PBF) berfungsi untuk melakukan pencarian bermacam-macam obat dan
mengetahui stok obat yang disuplaynya dari berbagai macam apotek dengan basis
data yang berbeda-beda, baik format maupun strukturnya.
ABSTRACT
Database integration basically, is a topic that always develops continually
because many available database have structure and forms which different each
other. Mediator is one of the methods that can integrated the database. The
characteristic of this mediator system is only to integrate the database by
read-only (access to database read-only permitted by read-read-only). Intention of system the
made is to accessing the database by using the different structure and forms with
same way, so as if they were related to one database.
In this thesis, there were supporting application (DBMapper.exe),
mediator object, and web application. The supporting application(DBMapper.exe )
was used to make the file setting in XML format that was immedietely accessed
by the mediator object. The mediator object was used to be the mediator in
accessing the database by using the different forms with same way, so as if they
were related to one database. The input of mediator object is query was similar to
SQL, and the output was given in the form of XML document. The mediator
object was also functioned to definite the component, setting, and relationship
from every component of database that would be integrated. This web application
was functioned as the query input in mediator object.The making of this system
used the programmed language of Visual Basic 6.0 to make the supporting
application (DBMapper.exe), Visual Basic 6.0 to make the mediator object and
ASP (Active Server Pages) to apply the web. The output result was in the form of
XML document.
This System end result in the form of a system used by Pedagang Besar
Farmasi (PBF). It was a system to look for the variation of drugs and to know the
stock of drugs that were suplied by many pharmacies with the different databases
both the formats and the structures.
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Kuasa
yang telah melimpahkan berkat-Nya sehingga penulis dapat menyelesaikan
Laporan Tugas Akhir ini. Penulisan tugas akhir ini ditujukan untuk memenuhi
salah satu syarat memperoleh gelar Sarjana Teknik Jurusan Teknik Informatika.
Terselesaikannya penulisan tugas akhir ini tidak lepas dari peran serta
beberapa pihak, baik secara langsung maupun secara tidak langsung. Oleh karena
itu, penulis ingin menyampaikan terima kasih kepada pihak-pihak yang telah ikut
membantu dalam penulisan tugas akhir ini, baik dalam memberikan bimbingan,
petunjuk, kerjasama, kritikan, maupun saran, antara lain kepada:
1. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Dosen Pembimbing I. yang
selalu sabar dan tulus mendampingi dan membimbing penulis dalam
menyelesaikan skripsi ini,
2. Ibu Agnes Maria Polina, S.Kom., M.Sc., selaku Dosen Pembimbing
Akademik dan Ketua Jurusan Teknik Informatika Universitas Sanata Dharma,
3. Bapak Alb. Agung Hadhiatma S.T., M.T., dan Bapak St. Wisnu Wijaya, S.T.,
M.T. selaku panitia penguji pada ujian pendadaran penulis,
4. Kedua orang tua penulis dan adik penulis, yang selalu membisikkan doa
kepada Tuhan, memberikan semangat dan dorongan kepada penulis untuk
dapat menyelesaikan penulisan laporan tugas akhir ini,
5. Seluruh staff dan dosen pengajar di Univeritas Sanata Dharma pada umumnya
dan Jurusan Teknik Informatika pada khususnya,
6. Teman–teman TI seperjuangan angkatan 2002 Hasto, Bowo, Nico, Andika +
Tri, Mc’Dee, Aceng, Ucok, Ase, Kuncung, Lilik, Ika + Gwendi, Albert, serta
teman–teman yang tidak dapat saya sebut satu persatu, terima kasih atas
kebersamaan, keakraban dan bantuan serta dukungannya selama ini.
7. Pram yang menjadi teman penulis yang setia dalam menerima keluh-kesah
pada saat pengerjaan tugas akhir ini,
8. Tari, terimakasih atas pengertian, kesabaran, motivasi, dan kebersamaan yang
indah selama ini,
9. Teman – teman kos Wondo, Tumbur, Dian, Gono, Koepriet, Pak Min, anak
PKL, dan anak kos kulon,
10.Seluruh civitas akademik Universitas Sanata Dharma, Yogyakarta.
11.Dan seluruh pihak yang telah ikut ambil bagian dalam penyelesaian laporan
tugas akhir ini yang tidak dapat penulis sebutkan satu - persatu.
Penulis menyadari bahwa masih banyak kekurangan yang terdapat pada
laporan ini. Saran dan kritik selalu penulis harapkan dari pembaca untuk
perbaikan – perbaikan di masa yang akan datang.
Akhir kata penulis berharap tulisan ini bermanfaat bagi kemajuan dan
perkembangan ilmu pengatahuan dan berbagai pihak pengguna pada umumnya.
Yogyakarta, September 2007
DAFTAR ISI
Halaman Judul... i
Halaman Persetujuan... ii
Halaman Pengesahan... iii
2.2.1 Model Data Hirarkhi ... 9
2.3.2 Pendekatan Integrasi Basis Data ... 14
2.3.3 Aspek Dalam Integrasi ... 18
2.4 ASP (Active Server Pages) ... 20
2.4.1 Kelebihan ASP ... 21
2.4.2 Proses Kerja ASP Pada Windows ... 23
2.5 XML (eXtesible Markup Language) ... 23
2.5.1 SGML, HTML, dan XML ... 23
2.5.2 DTD (Document Type Definition) ... 24
2.5.3 XSL (eXtensible Stylesheet Language Transformation) ... 25
BAB III ANALISA DAN PERANCANGAN SISTEM ... 27
3.1 Analisis Sistem ... 27
3.1.1 Gambaran Umum Sistem ... 27
3.1.2 Deskripsi Masalah ... 27
3.1.3 Use Case Diagram... 27
3.1.4 Normal Scenario... 28
3.1.5 Proses Modelling... 30
3.1.5.2 Dynamic Modelling... 32
4.1 Implementasi Program... 57
4.1.1 Implementasi Program pada Aplikasi Pendukung ... 58
4.1.1.1 Tampilan Pembuka Aplikasi Pendukung ... 58
4.1.2 Implementasi Program pada Objek Mediator ... 69
4.1.2.1 Objek Mediator ... 69
4.1.2.4 Format Input SQL Query... 74
4.1.3 Implementasi Program pada Aplikasi Web ... 75
4.1.3.1 Tampilan Pembuka ... 75
4.1.3.2 Tampilan Penelusuran Data Obat... 75
4.1.3.3 Tampilan Hasil ... 77
BAB V ANALISA HASIL IMPLEMENTASI ... 80
5.1 Analisa Hasil Implementasi Program ... 80
5.1.1 Analisa Hasil Aplikasi Pendukung (DBMapper.exe) ... 80
5.1.2 Analisa Hasil Proses pada Objek Mediator ... 80
5.2 Analisa Kelebihan dan Kelemahan Sistem ... 81
BAB VI KESIMPULAN DAN SARAN... 82
6.1 Kesimpulan ... 82
6.2 Saran ... 82
DAFTAR GAMBAR
Gambar II.1 Contoh Basis Data Model Hirarkhi ... 10
Gambar II.2 Contoh Antar Entitas Basis Data Model Jaringan ... 11
Gambar II.3Contoh Gambar Tabel dalam Basis Data Relational ... 12
Gambar II.4 Arsitektur Skema Federated Basis Data ... 15
Gambar II.5 Arsistektur dari Sistem Mediator ... 16
Gambar II.6 Arsistektur Data Warehouse ... 18
Gambar III.1 Use Case Diagram ... 28
Gambar III.2 Normal Scenario Diagram ... 29
Gambar III.3 Class Diagram untuk Penelusuran Data Obat ... 31
Gambar III.4 State Diagram Normal Scenario ... 32
Gambar III.5 Konteks Diagram ... 33
Gambar III.6 DFD (Data Flow Diagram) ... 33
Gambar III.7 ER Diagram Apotek A ... 34
Gambar III.13 Sequence Diagram ... 45
Gambar III.14 Collaboration Diagram ... 47
Gambar III.15 Client-Object Diagram ... 48
Gambar III.16 Desain Service untuk Halaman Pembuka ... 49
Gambar III.17 Desain Service untuk Halaman Penelusuran Data Obat ... 49
Gambar III.18 Desain Service untuk Halaman Hasil Penelusuran Data Obat 50
Gambar III.19 Desain Struktur Menu User Aplikasi Web ... 51
Gambar III.20 Desain Struktur Menu User Aplikasi Pendukung ... 51
Gambar III.21 Halaman Pertama Aplikasi Pendukung... 52
Gambar III.22 Halaman Nama dan Kolom Baru XML ... 52
Gambar III.23 Halaman Koneksi Basis Data... 53
Gambar III.24 Halaman Mapping... 53
Gambar III.25 Halaman Pembuka Aplikasi Web ... 54
Gambar III.26 Halaman Penelusuran Data Obat... 54
Gambar III.27 Halaman Hasil Penelusuran Data Obat ... 54
Gambar IV.1 Tampilan Pembuka Aplikasi Pendukung... 58
Gambar IV.2 Tampilan New Skema Virtual Database ... 60
Gambar IV.3 Tampilan Koneksi Basis Data ... 62
Gambar IV.4 Tampilan Tambah Tabel Relationship ... 63
Gambar IV.5 Tampilan Relationship Antar Tabel... 65
Gambar IV.6 Tampilan Mapping ... 66
Gambar IV.7 Tampilan Pembuka Aplikasi Web ... 75
Gambar IV.8 Tampilan Penelusuran Data Obat Aplikasi Web ... 77
Tabel III.1 Masukan dan keluaran sistem ... 30
Tabel III.2 Tabel Kepemilikan_Obat (Apotek A)... 35
Tabel III.3 Tabel Obat (Apotek A) ... 35
Tabel III.4 Tabel Apotek (Apotek A) ... 36
Tabel III.5 Tabel Kepemilikan_Obat (Apotek B) ... 37
Tabel III.6 Tabel Obat (Apotek B) ... 38
Tabel III.7 Tabel Apotek (Apotek B) ... 38
Tabel III.8 Kepemilikan_Obat (Apotek C) ... 40
Tabel III.9 Tabel Drugs (Apotek C) ... 40
Tabel III.10 Tabel Drugstore (Apotek C) ... 40
Tabel III.11 Tabel Daftar Mapping ... 44
1.1 Latar Belakang Masalah
Saat ini pertumbuhan sumber informasi terutama melalui media WWW
(World Wide Web) berkembang dengan pesat. Informasi ditampilkan dengan
jenis yang beraneka ragam seperti file HTML, basis data berbasis web, dokumen
XML (Extensible Markup Language), dan lain-lain. Meletakan data di internet
agar dapat diakses oleh publik saat ini sudah menjadi trend dikalangan industri.
Hal ini tentunya akan meningkatkan ketersediaan data di internet. Disisi lain,
perangkat lunak dalam pengelolaan DBMS (Database Management System) juga
terus meningkat baik dalam jumlah maupun Keragamannya. Hal ini menyebabkan
basis data yang tersedia mempunyai format dan model yang berbeda-beda.
Kebutuhan akan informasi baik oleh individu maupun organisasi terus meningkat
seiring dengan pertumbuhan informasi itu sendiri. Semakin banyak informasi
yang tersedia maka akan semakin banyak pula data yang harus diolah dan data
yang diperlukan terkadang justru dimiliki oleh organisasi lain dengan format,
struktur, dan model yang berbeda. Akses ke basis data yang berbeda sebenarnya
dapat dilakukan dengan adanya ODBC (Open Basis data Connectivity). Namun
ketika jumlah data dalam basis data tersebut bertambah banyak maka akses ke
basis data menjadi semakin sulit karena harus dipahami struktur masing-masing
basis data tersebut. Oleh karena itu diperlukan adanya suatu sistem terintegrasi
yang diharapkan mampu menangani masalah-masalah tersebut diatas.
Tugas akhir ini bertujuan untuk membangun suatu perangkat lunak –
software- dengan batasan-batasan tertentu sehingga bisa didapatkan sistem
terintegrasi dengan pendekatan Sistem Mediator yang mampu mengintegrasikan
basis data yang tersedia mempunyai format, struktur, yang berbeda-beda dengan
mengambil contoh kasus Pedagang Besar Farmasi (PBF) yang berupa suatu
sistem yang berfungsi untuk melakukan pencarian bermacam-macam obat dan
mengetahui stok obat yang disuplaynya dari berbagai macam apotek dengan basis
data yang berbeda-beda, baik format, maupun strukturnya. Apotek pertama
menyimpan database dalam format microsoft SQL server, apotek kedua
menyimpan database dalam format microsoft access, dan apotek ketiga
menyimpan database dalam format mysql. Dari latar belakang tersebut diatas
penulis tertarik untuk meneliti : Sistem Integrasi Basis data Berbasis WEB dengan Menggunakan Pendekatan Sistem Mediator
1.2 Rumusan Masalah
Adapun pokok permasalahan yang akan dibahas pada tugas akhir ini
adalah bagaimana mengintegrasikan basis data dengan format yang berbeda
menjadi satu sehingga semua akses dilakukan seolah-olah dengan satu basis data.
1.3 Batasan Masalah
Adapun batasan-batasan masalah dalam melakukan penulisan antara lain :
1. Penulisan ini dikonsentarasikan pada integrasi basis data sehingga
apotek tidak akan dibahas dan transaksi penjualan
apotek-apotek juga tidak akan dibahas.
2. Integrasi basis data dapat dilakukan dengan berbagai macam
pendekatan, tugas akhir ini hanya akan membahas mengenai integrasi
beberapa basis data relational dengan menggunakan pendekatan Sistem
Mediator (Mediator System) yaitu, mengintegrasikan basis data dengan
menyediakan suatu middle layer yang mampu menyembunyikan
keragaman komponen-komponen basis data lainnya dan basis data
tersebut hanya dapat diakses secara read-only.
3. Struktur basis data dibeberapa apotek diasumsikan mempunyai entitas
atribut yang sama, perbedaannya adalah nama atribut dan panjang
atribut dapat berbeda.
4. Pada aplikasi pendukung (DBMapper.exe) diasumsikan adalah aplikasi
pada salah satu menu admin dari sistem yang sudah dipunyai oleh PT.
Bina San Prima. Jadi, tugas akhir ini tidak membahas login admin.
5. Tugas akhir ini tidak akan membahas masalah memasukan dan update
data dalam basis data yang diintegrasikan tersebut.
6. Tugas akhir ini tidak akan membahas jaringan dan keamanan integrasi
basis data tersebut.
7. Data yang diambil dalam penulisan hanya data dari Pedagang Besar
Farmasi (PBF) yaitu PT. Bina San Prima (BSP) dan data dari
valid dan up-to-date. Basis data apotek yang dibuat dibatasi hanya tiga
basis data apotek.
1.4 Tujuan
Tujuan dari penulisan ini adalah merancang dan membangun suatu
aplikasi perangkat lunak yang berfungsi mengintegrasikan basis data
dengan menggunakan pendekatan Sistem Mediator dengan tujuan sebagai
berikut:
a. Sebagai masukan atau informasi penting bagi Pedagang Besar
Farmasi (PBF) dalam hal stok obat dari apotek-apotek dan obat
yang paling cepat terjual atau tidak.
b. Sebagai informasi bagi PBF tersebut untuk memasarkan obat.
c. Sebagai masukan untuk melakukan komunikasi pemasaran
secara tepat (misalnya untuk promosi obat baru yang belum
dipunyai apotek).
1.5 Metodologi Penelitian
Metode yang digunakan dalam penulisan tugas akhir ini:
1. Studi pustaka dilakukan dengan membaca buku-buku, artikel-artikel di
internet maupun referensi-referensi lainnya yang berkaitan dengan
tugas akhir ini.
2. Interview, yaitu tanya jawab dengan karyawan PT. Bina San Prima dan
pengambilan data yang diperlukan untuk tugas akhir ini.
4. Implementasi.
Pengembangan objek mediator dilakukan dengan cara sebagai
berikut:
1. Menyediakan basis data relational dengan format
Microsoft Access, SQL server, dan MySQL.
2. Membuat Aplikasi Pendukung (DBMapper.exe),
yang berfungsi:
a. Mendefinisikan basis data yang akan
diintegrasikan.
b. Mendefinisikan komponen basis data.
c. Mendefinisikan relationship.
d. Melakukan mapping.
3. Membuat objek mediator yang terdiri dari :
a. Membuat fungsi untuk memparser query yang
diterima oleh objek mediator.
b. Membuat fungsi requery yang berfungsi untuk
membuat SQL query yang disesuaikan dengan
masing-masing basis data.
c. Membuat fungsi untuk mengeksekusi query
tersebut untuk masing-masing dikomponen basis
data pendukung.
d. Menggabungkan hasil query kedalam suatu
4. Membuat Suatu aplikasi web untuk menguji objek
mediator dengan ketentuan sebagai berikut:
a. Mampu melakukan query ke sistem mediator.
b. Mampu menampilkan dokumen XML sebagai
hasil query ke suatu halaman web.
1.6 Sistematika Penulisan
Untuk memberi gambaran serta mempermudah pemahaman tentang
materi yang ada dalam penulisan tugas akhir ini, maka keseluruhan materi
tersebut disusun dalam sistematika sebagai berikut :
BAB I : Pendahuluan
Bab ini berisikan tentang latar belakang masalah, perumusan
masalah, batasan masalah, tujuan penulisan, metode penelitian,
dan sistematika penulisan. BAB II : Landasan Teori
Bab ini berisikan penjelasan dasar-dasar teori dan tinjauan
pustaka yang digunakan untuk mendukung penulisan tugas
akhir ini
BAB III : Analisa dan Perancangan Sistem
Berisi uraian tentang gambaran sistem yang dibuat, seperti :
analisa kebutuhan, spesifikasi sistem, dan perangkat
BAB IV : Implementasi Sistem
Berisi uraian tentang spesifikasi perangkat lunak dan
implementasi rancangan sistem, kemudian dilakukan uji coba
terhadap sistem yang dibuat.
BAB V : Analisa Hasil Implementasi
Berisi tentang pembahasan hasil dari implementasi aplikasi
yang dibuat
BAB VI : Kesimpulan and Saran
Berisi tentang kesimpulan tugas akhir dan saran-saran untuk
LANDASAN TEORI
2.1Basis data
Sistem basis data dapat diartikan sebagai suatu penyimpanan record
terkomputerisasi dengan tujuan utama adalah perawatan dan penyediaan
informasi pada saat dibutuhkan (Date, 1986). Sistem basis data didesain untuk
mengelola informasi, pengelolaan informasi tersebut meliputi pendefinisian
struktur penyimpanan informasi dan mekanisme untuk memanipulasi informasi.
Keuntungan penggunaan sistem basis data yang berbasis komputer adalah lebih
cepat dalam pengambilan dan penyimpanan data dibanding dengan yang dapat
dilakukan manusia, selain itu juga tidak diperlukan tempat yang luas dalam
penyimpanan data.
Secara fisik, pengelolaan basis data tidak dilakukan oleh pengguna secara
langsung, namun ditangani oleh suatu sistem perangkat lunak (Silberschartz,
1997). Perangkat lunak yang menangani hal ini dinamakan Basis data
Management System (DBMS). DBMS menentukan bagaimana data diorganisasi,
disimpan, diubah, dan diambil kembali. DBMS merupakan perantara antara
pengguna dengan basis data yang diatur dalam suatu mekanisme tertentu dan
sudah ditetapkan oleh perusahaan pembuat DBMS.
Dalam perkembangannya masing-masing perusahaan pembuat DBMS
menetapkan standar sendiri. Hal ini menyebabkan DBMS tersedia mempunyai
format yang berbeda-beda, tergantung pada perusahaan yang membuatnya. Selain
itu, model data yang digunakan juga berbeda-beda sesuai dengan perkembangan
teknologi yang dianggap paling sesuai dengan masanya.
2.2Model Data
Karakteristik utama basis data adalah adanya beberapa tingkatan dalam
abstraksi data dengan menyembunyikan detail penyimpanan data. Hal ini
dilakukan karena banyak pengguna basis data yang awam terhadap sistem
komputer. Kompleksitas penyimpanan data disembunyikan dari pengguna melalui
beberapa level abstraksi dengan maksud untuk memudahkan interaksi antara
pengguna dengan sistem basis data. Pemodelan data merupakan sarana untuk
melakukan abstraksi data. Model data merupakan sekumpulan konsep untuk
mendeskripsikan data, relasi-relasi antar data serta struktur basis data.
2.2.1 Model Data Hirarkhi
Model data hirarkhi disusun menurut struktur pohon. Model ini
menggunakan pola hubungan orang tua-anak. Simpul dalam model data hirarkhi
biasanya dinyatakan dalam lingkaran atau kotak. Simpul yang terhubung dengan
simpul dibawahnya dinamakan simpul orang tua. Simpul yang berada dibawah
dibawah simpul orang tua dinamakan simpul anak. Setiap orang tua dapat
memiliki lebih dari satu anak sedangkan anak hanya dapat memiliki satu orang
tua. Hubungan orang tua – anak bersifat one to many. Simpul yang tidak
mempunyai orang tua dinamakan akar dan simpul yang tidak mempunyai anak
hirarkhi populer pada akhir tahun 1960-an. Salah satu contoh model data ini
adalah IMS (Information Management System) yang dikembangkan oleh
perusahaan IBM dan Rockwell International Corporation. Berikut ini adalah
contoh basis data model hirarkhi.
Univesitas Univesitas Sanata Dharma
Fakultas
Fakultas Jumlah_Dosen Jumlah_Jurusan
Teknik 100 3
Mahasiswa
NIM Nama Jurusan
025314037 Andi Raharjo Teknik_Informatika
Dosen
NIP Nama 123 A.M. Polina
Mata_Kuliah
Kode Nama_Mk Jumlah_SKS TIF157 BasisData1 2
Gambar II.1 Contoh Basis Data Model Hirarkhi
2.2.2 Model Data Jaringan
Data dalam model jaringan direpresentasikan oleh record dan link. Dalam
model data jaringan tiap entitas dapat mempunyai banyak induk atau banyak anak.
Hal ini lebih fleksibel daripada model hirarkhi, tetapi lebih banyak terdapat
disimpan. Hal ini mengakibatkan penambahan volume dan kerumitan dalam
penyimpanan data. Dalam basis data yang kompleks, informasi hubungan antar
entitas dapat mencapai jumlah yang besar dan banyak memerlukan waktu jika
terjadi perubahan hubungan yang dikehendaki. Berikut ini adalah contoh basis
data model data jaringan.
Mahasiswa
Fakultas Univesitas
Dosen
Mata Kuliah Jurusan
Registrasi
Gambar II.2 Contoh Antar Entitas Basis Data Model Jaringan
2.2.3 Model Data Relational
Model relational pertama kali diperkenalkan oleh E.F Codd pada tahun
1970. Model ini memiliki konsep sedaerhana yang didasarkan pada
prinsip-prinsip matematika, yaitu teori himpunan, teori relasi, dan predikat logika order
Codd menyadari jika model data didasarkan pada teori himpunan, maka
operasi-operasi pada himpunan dapat diaplikasikan pada data dan operasi-operasi-operasi-operasi tersebut
dapat dimodifikasi dan diperluas pengertiannya sesuai dengan kebutuhannya
model data. Model relational menggunakan kumpulan tabel-tabel untuk
merepresentasikan data dan hubungan antar data-data tersebut. Setiap tabel terdiri
atas kolom-kolom, dan setiap kolom nama yang unik. Saat ini model data
relational merupakan data yang paling populer. Berikut ini adalah contoh
tabel-tabel dalam basis data relational.
Mahasiswa
No_Mhs Nama Jurusan Dosen_Wali
025314037 Andi Raharjo Teknik_Informatika A.M. Polina
Mata_Kuliah
Kode Nama_Mk Jumlah_SKS NIP
TIF157 Basis_Data1 2 123
Dosen
NIP Nama_Dosen Golongan Alamat
123 A.M. Polina IV Kranggan
Gambar II.3 Contoh Gambar Tabel dalam Basis Data Relational
2.2.4 Model Data Berorientasi Objek
Model data berbasis objek dirancang sesuai dengan prinsip dalam
pemorgraman berorientasi objek. Basis data berorientasi objek seperti C++
dengan mekanisme penyimpanan dan pengambilan data. Dengan adanya
data berorientansi objek dan meng-enkapsulasi data dengan struktur dan sifat yang
bersesuaian dengan data tersebut.
2.3Integrasi Basis data
2.3.1 Evolusi Integrasi Basis data
Banyaknya tipe dalam integrasi basis data pada dasarnya berkembang
melalui proses evolusi yang alamiah sesuai dengan perkembangan basis data itu
sendiri. Pada mulanya permasalahan utama adalah bagaimana mengintegrasikan
data yang tersedia dalam beberapa basis data relational yang berbeda. Konsep
tentang hal ini disebut dengan istilah multidatabase. Namun dalam
perkembangannya, data tidak hanya tersimpan dalam basis data relational namun
juga dalam basis data berorientasi objek maupun basis data model lainnya,
sehingga muncul istilah federated database, yaitu suatu konsep dalam integrasi
basis data yang berusaha mengintegrasikan basis data dengan model data yang
berbeda-beda. Perkembangan internet serta infrastrukturnya yang pesat
mengakibatkan pertumbuhan sumber-sumber informasi secara revolusioner. Data
tidak hanya tersimpan dalam suatu DBMS namun juga tersimpan dalam suatu
dokumen seperti XML, EDI, serta file teks. Kemudian muncul istilah sistem
mediator (mediator system), konsep ini pada dasarnya sama dengan federated
database , namun Sistem Mediator lebih ditekankan pada integrasi data secara
read-only (akses kesumber data hanya diijinkan secara read-only). Hal ini sesuai
dengan perkembangan internet saat ini, dimana banyak terdapat sumber data yang
warehouse, sistem ini menyediakan suatu gudang data baru yang dikumpulkan
dari bermacam-macam basis data, dan biasanya untuk managemen sistem
pendukung keputusan.
2.3.2 Menurut Karl Aberer (2002) pendekatan dalam integrasi basis data dapat dibagi menjadi empat, yaitu :
1. Multidatabase
Tujuan utama, konsep multidatabase adalah untuk menyatukan akses
ke beberapa basis data relational yang berbeda. Dalam multidatabase
ini skema dari masing- masing komponen basis data masih
dipertahankan. Komponen basis data merupakan sumber basis data
yang diintegrasikan. Setiap query yang dilakukan akan diquery ulang
sesuai dengan masing-masing komponen basis data. Salah satu cirinya
adalah multidatabase tidak menghilangkan perbedaan skema untuk
masing-masing komponen basis data. Skema dari fungsi basis data,
yaitu dengan menambahkan suatu awalan ke setiap nama tabel.
2. Federated database
Federated basis data merupakan perkembangan dari multidatabase.
Perbedaan utama dari multidatabase adalah bahwa sistem
multidatabase hanya mampu mengintegrasikan basis data model
relational, sedangkan federated database mampu mengintegrasikan
basis data dengan model yang berbeda-beda . Dalam melakukan proses
skema federated database disusun dalam 5 lapis (layer). Lapisan
pertama dari federated database ini berupa sumber data yang akan
diintegrasikan. Lapisan kedua digunakan untuk mengatasi perbedaan
data model antar komponen basis data yaitu dengan menyediakan
suatu export schema yang dibuat dalam satu data model yang sama.
Lapisan ketiga adalah import skema, lapisan ini menyediakan data apa
saja yang digunakan dari komponen basis data. Import schema hanya
dapat memilih informasi dari export schema. Pada lapisan keempat
semua data yang sudah didefinisikan pada import schema disatukan,
dengan tujuan untuk memberi satu kesatuan antar pengguna. Gambar
II.4 menunjukan bagaimana arsistektur dari federated database
(Aberer, 2002).
3. Sistem Mediator (Mediator System)
Istilah mediator pertama kali diperkenalkan oleh Wiederhold dan
mulai saat ini banyak digunakan dalam berbagai publikasi yang
berhubungan dengan integrasi data. Sejak pertama kali digunakan
Sistem Mediator menyerupai federated database. Namun secara
umum, Sistem Mediator merupakan suatu middle layer yang menjadi
perantara antara pengguna dengan sumber-sumber data yang hanya
dapat diakses secara read-only. Gambar II.5 menunjukan bagaimana
arsistektur sistem mediator (Kutche, 1999).
Gambar II.5 Arsistektur dari Sistem Mediator
Objek mediator merupakan inti dari sistem karena pada bagian inilah
semua proses dilakukan. Objek ini dibuat dalam bentuk aplikasi
apikasi, baik berbasis web maupun tidak. Berikut ini daftar property
dan method objek mediator yang dapat diakses oleh aplikasi luar :
1) Property SqlString
Merupakan variabel untuk menyimpan suatu query tipe data
String.
2) Property RecordCount
Merupakan variabel untuk menyimpan jumalah record yang
dihasilkan dari suatu query, tipe data long.
3) Method Load
Merupakan fungsi untuk mengambil data dari suatu file setting
yang dimasukan dalam parameter namafile. Fungsi ini akan
menghasilkan nilai true bila berhasil melakukan loading file
setting.
Sintaks :
Load (namafile as String) as boolean
4) Method execute SQL
Merupakan fungsi untuk melakukan eksekusi query. Fungsi ini
mempunyai dua parameter, yaitu SqlString berisi string query
yang akan dieksekusi. Parameter xslfile berisi path dari
dokumen XSLT, yang dapat menampilkan dokumen XML ke
halaman web. Parameter xslfile merupakan paremeter yang
diinginkan. Keluaran dari fungsi ini berupa string yang berisi
dokumen XML.
Sintaks :
execute SQL (sqlString, [xslfile as String]) as String
4. Data Warehouse
Data warehouse merupakan suatu gudang data yang dikumpulkan dari
bermacam-macam sumber data. Pada setiap query, data tidak diakses
dari komponen basis data namun diambil dari satu basis data yang
sudah terintegrasi yang dinamakan pusat data warehouse. Data
warehause ini biasanya digunakan untuk proses-proses pengambilan
keputusan serta penentuan strategi bisnis. Gambar II.6 menunjukan
arsistektur dari data warehouse (Aberer, 2002).
Gambar II.6 Arsistektur Data Warehouse
2.3.3 Aspek dalam integrasi
Terdapat aspek penting yang sangat menentukan dalam melakukan
1. Bottom-up vs. Top-down.
Dalam pendekatan top-down, pembuatan sistem dimulai dengan
mengumpulkan informasi – informasi umum yang diperlukan.
Kemudian dibuat sistem yang mampu mengakses informasi tersebut
dari basis data-basis data yang tersedia, informasi yang diakses hanya
yang diperlukan saja. Sedangkan pada pendekatan bottom-up
pembuatan sistem dimulai dari sekumpulan basis data yang sudah
tersedia, kemudian membuat satu sistem yang mampu mengakses
informasi dari basis data-basis data tersebut secara seragam. Secara
umum pendekatan dengan bottom-up akan lebih sulit dibuat.
2. Virtual vs. Materialized
Integrasi basis data berdasarkan ada tidaknya data. Pada layer integrasi
dapat dibedakan menjadi dua, yaitu virtual integration dan
materialized integration. Pada integrasi secara virtual data hanya ada
secara sementara yaitu ketika hasil dari suatu query akan disampaikan
ke pengguna. Setiap query yang dilakukan akan diquery ulang ke
masing-masing komponen basis data. Kemudian hasilnya digabungkan
dan disampaikan ke pengguna, sedangkan pada materialized
intregration data yang diakses benar-benar tersedia pada level
integrasi. Contoh dari materialized integration ini adalah data
warehouse. Keuntungan dari materialized integration ini adalah query
yang dilakukan ke sistem akan lebih cepat, sedangkan kerugiannya
integrasi, selain itu untuk menjaga agar data tetap up-to-date juga
memerlukan proses yang lebih rumit.
3. Read-only vs. Read-and-write
Berdasarkan diijinkan atau tidaknya basis data diupdate, integrasi basis
data dapat dibedakan menjadi dua, yaitu read-only dan read-and-write.
Write akses sering diabaikan dalam integrasi disebabkan oleh beberapa
hal sebagai berikut :
• Beberapa data yang tesedia di web hanya mengijinkan akses secara
read-only.
• Update pada suatu skema yang sudah terintegrasi akan
menyulitkan sistem dalam memilih komponen basis data mana
yang akan diupdate.
2.4ASP (Active Server Pages)
ASP atau Active Server Pages berawal dari VBScript yang bertindak
sebagai media yang menyatukan kelebihan ASP kedalam web page. ASP adalah
server side scripting dan bahasa pemrograman internet buatan Microsoft.
Dikembangkan pertama kali pada platform windows sejak Desember 1996.
Program ASP sangat membantu memudahkan integrasi suatu program aplikasi
dengan basis data dan diwujudkan dalam web. Hampir semua aplikasi berbasis
web dapat dibuat dengan ASP. Namun hal yang paling utama adalah untuk
ASP berisi sekumpulan script yang terlebih dahulu akan diproses diserver
sebelum dikirimkan ke client. Client hanya akan menerima dalam bentuk
hypertext markup language (HTML).
Jadi terdapat dua element penting dalam ASP :
• Element pertama adalah script yang digunakan menulis program
• Element kedua adalah HTML,yaitu HTML yang dihasilkan dari proses
pengolahan ASP lebih lanjut.
ASP didesain untuk integrasi dengan personal web server (PWS), akan
tetapi ASP juga dapat bekerja pada server lain , seperti Microsoft Information
Server (IIS).
2.4.1 Kelebihan ASP
Dengan adanya teknologi ASP ini, halaman web dapat diisikan HTML
tag, ASP script, juga pemanggilan komponen di server, kombinasi ini
menghasilkan aplikasi web yang baik. Secara garis besar kelebihan ASP dapat
diuraikan sebagai berikut :
1) Halaman ASP tidak lepas dengan tiga bagian, yaitu : ASP Object,
Scripting Language, dan ActiveX Server Component. Dengan adanya
ketiga bagian tersebut, sebuah halaman ASP bisa menjalankan
program- program yang rumit di server.
2) Kesanggupan dalam membaca basis data melalui internet, seperti
3) ASP saat ini banyak dipakai oleh banyak web developer diseluruh
dunia, ASP juga merupakan bagian dari active platform yang
berbasiskan Component Object Model (COM), sehingga aplikasi
program ASP mudah untuk dikembangkan.
4) Keuntungan ASP yang lain adalah dukungan terhadap server
component yang memungkinkan developer dapat membuat aplikasi
activeX dengan menggunakan bahasa pemrograman seperti Visual
Basic, Delphi, C++, Java, atau bahasa lainnya untuk kemudian
menjalankan di ASP.
Dengan teknologi ini, ASP menjadi sangat efisien dalam segi konektifitas maupun
penanganan aplikasi untuk transaksi yang jumlahnya sangat banyak. Hal ini
dimungkinkan dengan adanya pemakaian Microsoft Transaction Server (MTS).
Program ASP mempunyai beberapa kelebihan untuk penggunaan utama
dalam membangun halaman web berbasis basis data, pencarian atau penelusuran
suatu data yang personalized, mendukung web dengan password, game, dan
pemrosesan form-form.
Beberapa contoh aplikasi yang bisa dilakukan ASP diantaranya :
1) Test Interface Online, misalnya aplikasi pendidikan sekolah berbasis
internet. Selama surfing di internet, user bisa berinteraksi dengan cara
memilih dan menjawab suatu test, kemudian input yang ada di evaluasi
sehingga didapatkan nilai sebagai hasil akhir test.
2) Melindungi suatu situs dengan password, yaitu menggunakan kata
2.4.2 Proses Kerja ASP Pada Windows
Dalam sistem operasi Windows, setelah PWS (Personal Web Server)
di-instalkan, maka terdapat sebuah direktori baru “InetPub” yang terletak pada root
directory, didalamnya terdapat direktori “WwwRoot” yang dipergunakan untuk
menyimpan script-script.
Untuk menjalankan script-script yang sudah ada menggunakan PWS dan
browser ”IE”, maka dapat diketikan perintah pada address bar browser
http://localhost/default.asp”.
Di dalam direktori “C:\Windows\System\InetSrv”dapat ditemui sebuah file
dengan nama “asp.dll”, file ini berisi semua aktivitas dalam ASP, berupa suatu
perluasan dalam ISAPI (Internet Service Application Programming Interface) ke
PWS atau IIS, dan di-compile dalam windows sebagai suatu file “.dll” (dynamic
link library) yang bertujuan untuk memudahkan pengaksesan fungsi web-server
secara langsung , yaitu lewat file “asp.dll” dengan menggunakan script-script
ASP.
2.5XML (eXtesible Markup Language)
2.5.1 SGML, HTML, dan XML
XML merupakan merupakan singkatan dari eXtesible Markup Language,
didefinisikan oleh XML Working Group pada World Wide Web Consortium
(W3C) pada tahun 1996. XML diturunkan dari suatu bahasa yang disebut dengan
SGML (Structured Generalized Markup Language). HTML saat ini merupakan
memiliki keterbatasan kapasitas untuk menyimpan informasi. Meskipun XML
yang merupakan turunan SGML, namun tidak seperti HTML, XML mampu
mendeskripsikan data yang memisahkan format dengan isi. Fleksibilitas XML
mengijinkan pembuat untuk mendefinisikan markup baru untuk mendeskripsikan
yang kita buat. Dokumen XML merupakan file teks biasa, yang bisa dibuat
dengan teks editor biasa.
Struktur XML dianggap sebagai struktur pohon (tree), karena setiap
dokumen XML diawali dengan sebuah elemen root, dan harus hanya satu elemen
root saja. Satu elemen root dapat terdiri dari beberapa elemen, masing-masing
elemen dapat terdiri dari beberapa elemen lainnya. Sebuah elemen juga dapat
mempunyai beberapa atribut. Aplikasi XML biasanya didefinisikan dengan
membuat sebuah Document Type Definition (DTD), yang merupakan sebuah
komponen opsional pada dokumen XML. DTD seperti skema basis data yang
mendefinisikan dan menamai elemen yang bisa dipakai dalam dokumen tersebut.
DTD berisi susunan elemen yang digunakan, atribut yang bisa dipakai, dan
fitur-fitur dokumen lainnya.
2.5.2 DTD (Document Type Definition)
Suatu dokumen XML dikatakan valid jika memenuhi spesifikasi yang ada
pada DTD. Spesifikasi paling sederhana dari suatu DTD adalah dengan membuat
daftar semua elemen yang ada pada dokumen XML. Suatu DTD dapat menjadi
lebih kompleks, apabila ditambahkan hubungan antar elemen, misalnya sebuah
sebagainya. DTD juga menentukan elemen dan atribut yang bersifat pilihan
(optional). DTD dapat di letakan menjadi satu dengan dokumen XML, maupun
dalam file tertentu diluar dokumen XML.
2.5.3 XSLT (eXtensible Stylesheet Language Transformation)
XSLT (XSL Transformation) merupakan bahasa untuk
mentransformasikan sebuah dokumen XML ke dokumen lain, sedangkan XSL
(eXtensible Stylesheet Language) adalah XSLT ditambah kumpulan penjelasan
mengenai formating object dan formating properties. XSLT dapat digunakan
untuk mengganti tag-tag XML dengan tag-tag HTML agar bisa ditampilkan di
web browser, walapupun sebenarnya dpt dikonversi ke tag-tag lain sesuai dengan
aplikasi yang akan dipakai, secara sederhana perintah dalam XSLT dapat
dijelaskan sebagai berikut :
• Jika ada tag <buku> diganti dengan tag <table>
• Jika ada tag <judul> diganti dengan tag <tr>
Proses transformasi suatu dokumen XSLT dapat terjadi di :
• Web browser atau dikomputer pemakai. Kedua dokumen (XML dan XSL),
dari server dikirim ke komputer client dan oleh web browser akan diolah
sesuai dengan aturan XSLT, kemudian ditampilkan ke pemakai web
browser, yang dapat melakukan hal ini adalah internet explorer 5.0.
• Server, sebuah server akan mengolah dokumen XML dan XSL dan
hasilnya akan dikirim ke pemakai. Contoh aplikasi yang dapat melakukan
• Sebuah program XSL processor, program ini akan mentransformasikan
XML, sebelum diletakan di server. Hasil transformasi diletakan ke web
server. Contoh program ini adalah Saxon.
BAB III
ANALISA DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
3.1.1 Gambaran Umum Sistem
Sistem yang akan dibuat adalah Sistem Penelusuran Data Obat berbasis
WEB dari berbagai apotek berbasis web dengan format dan struktur database
berbeda-beda yang terintegrasi dengan menggunakan aplikasi pendukung
(DBMapper) dan objek mediator sebagai alat bantu.
3.1.2 Deskripsi Masalah
Akan dibuat suatu aplikasi bagi PBF dalam tugas akhir ini sebagai user
yang mampu menampilkan informasi data obat dari beberapa apotek, aplikasi ini
diharapkan mampu melakukan proses pencarian informasi kebeberapa apotek
tersebut. Namun yang menjadi kendala adalah masing-masing apotek sendiri
dengan format yang berbeda. Apotek pertama menyimpan database dalam format
microsoft SQL server, apotek kedua menyimpan database dalam format microsoft
access, dan apotek ketiga menyimpan database dalam format mysql.
3.1.3 Use Case Diagram
Use Case Diagram dari Sistem Penelusuran Data Obat berbasis WEB
dapat dilihat pada Gambar 3.1.
Gambar III.1 Use Case Diagram
3.1.4 Normal Scenario
Normal Scenario yang dihasilkan, dituliskan secara urut dalam beberapa
tahap dibawah ini :
1) Browser menampilkan halaman pembuka “Sistem Penelusuran Data
Obat”.
2) User menekan tombol “Penelusuran Data Obat” untuk menuju halaman
penelusuran data obat (halaman utama).
4) User memasukan check box No Reg, Nama Obat, Stok obat.
5) User memasukan check box basis data dari apotek yang akan dituju.
6) User memasukan keyword/kata kunci pada kotak input pencarian.
7) User menekan tombol “Cari” untuk memulai pencarian data obat (untuk
membatalkan pencarian user dapat menekan tombol “batal” dan untuk
kembali kehalaman pembuka user dapat menekan tombol “Kembali”).
8) Proses selanjutnya adalah pemrosesan dan pengiriman query yang
dihasilkan ke virtual database obat dan dicari kesesuaian datanya.
9) Browser menampilkan hasil pencarian berupa dokumen XML sesuai
dengan check box yang dimasukkan yaitu No Reg, Nama Obat, Apotek
tujuan, Stok obat , disertai dengan informasi/keterangan dengan data obat
ditemukan atau tidak.
10)User menekan tombol “Cetak” (digunakan untuk mencetak hasil pencarian
yang berupa dokumen XML yang ditampilkan browser ke printer untuk
dijadikan dokumen).
*Keterangan: User adalah PBF
3.1.5 Proses Modelling
Proses modeling digunakan untuk mengorganisasikan dan
mendokumentasikan proses dari sistem. Tabel masukan dan keluaran proses
modelling untuk Sistem Penelusuran Data Obat berbasis WEB dapat dilihat pada
tabel 3.1.
Tabel 3.1 Masukan dan keluaran Sistem
Kesatuan Luar Masukan Keluaran
User • Isi check box Tanggal, No
Reg, Nama obat, Stok
obat.
• Isi check box basis data dari
apotek mana yang dituju.
• Memasukan “ kata kunci”
pencarian nama obat.
Informasi dalam
dokumen XML sesuai
dengan check box
yang dinputkan yaitu
No Reg, Nama obat,
Apotek tujuan, Stok
3.1.5.1 Class Modeling
Dalam tahap ini dihasilkan suatu class diagram. Hal-hal yang dilakukan
user pada normal scenario digambarkan dalam class diagram dibawah ini :
3.1.5.2 Dynamic Modeling
Dalam tahap ini dihasilkan suatu state diagram. Hal-hal yang dilakukan
user pada normal scenario digambarkan pada state diagram dibawah ini :
3.1.5.3 Konteks Diagram
Diagram Konteks digunakan untuk merepresentasikan elemen sistem
sebagai sebuah proses tunggal dengan input dan output data yang ditunjukkan
oleh panah masuk dan keluar. Diagram konteks untuk Sistem Informasi Stok Obat
berbasis WEB dapat dilihat pada Gambar 3.2.
Gambar III.5 Konteks Diagram
3.1.5.4DFD (Data Flow Diagram)
3.2 Desain Sistem
Desain sistem bertujuan untuk memberikan gambaran secara umum
tentang sistem yang akan dibuat.
3.2.1 Langkah Penyusunan
Terdapat beberapa langkah dalam penyusunan desain Sistem Penelusuran
Data Obat berbasis WEB yaitu :
3.2.1.1Desain Basis Data
Basis data (database) merupakan kumpulan dari data yang saling
berhubungan satu dengan yang lainnya, tersimpan dalam simpanan luar dan
digunakan perangkat lunak tertentu untuk memanipulasinya. Database berfungsi
sebagai penyedia informasi bagi para penggunanya.
Dalam sistem ini digunakan beberapa tabel untuk masing masing apotek, yaitu:
1. Apotek A
A. ER diagram apotek A
B. Berikut ini adalah daftar tabel serta kolom-kolom dalam format Microsoft SQL Server :
1. Tabel Kepemilikan_Obat
Spesifikasi tabel ini dapat dilihat dalam Tabel III.2
Tabel III.2 Kepemilikan_Obat
Nama Field Tipe Data Ukuran
SIA Nvarchar 15
No_Reg Nvarchar 15
2. Tabel Obat
Spesifikasi tabel ini dapat dilihat dalam Tabel III.3
Tabel III.3 Obat
Nama Field Tipe Data Ukuran Field
No_Reg Nvarchar 15
Nama_Obat Nvarchar 15
3. Tabel Apotek
Spesifikasi tabel ini dapat dilihat dalam Tabel III.4
Tabel III.4 Apotek
Nama Field Tipe Data Ukuran Field
SIA Nvarchar 15
Nama_Apotek Nvarchar 25
Alamat Nvarchar 50
Keterangan : SIA (Surat Ijin Apotek) adalah nomor identitas apotek.
C. Relasi antar tabel
2. Apotek B
A. ER diagram apotek B
Gambar III.9 Gambar ER Diagram Apotek B
B. Berikut ini adalah daftar tabel serta kolom-kolom dalam format Microsoft Access :
1. Tabel Kepemilikan_Obat
Spesifikasi tabel ini dapat dilihat dalam Tabel III.5
Tabel III.5 Kepemilikan_Obat
Nama Field Tipe Data Ukuran
SIA Text 15
2. Tabel Obat
Spesifikasi tabel ini dapat dilihat dalam Tabel III.6
Tabel III.6 Obat
Nama Field Tipe Data Ukuran Field
No_Registrasi Text 15
Obat_Nama Text 15
Stok Text 5
3. Tabel Apotek
Spesifikasi tabel ini dapat dilihat dalam Tabel III.7
Tabel III.7 Apotek
Nama Field Tipe Data Ukuran Field
SIA Text 15
Apotek_Nama Text 25
C. Relasi antar tabel
Gambar III.10 Gambar Relasi Antar Tabel Apotek B
3. Apotek C
A. ER diagram apotek C
Gambar III.11 Gambar ER Diagram Apotek C
B. Berikut ini adalah daftar tabel serta kolom-kolom dalam format Mysql:
1. Tabel Kepemilikan_Obat
Tabel III.8 Kepemilikan_Obat
Nama Field Tipe Data Ukuran
No_Reg Varchar 15
SIA Varchar 15
2. Tabel Drugs
Spesifikasi tabel ini dapat dilihat dalam Tabel III.9
Tabel III.9 Drugs
Nama Field Tipe Data Ukuran Field
No_Reg Varchar 15
Drug_Name Varchar 15
Stok Varchar 5
4. Tabel Drugstore
Spesifikasi tabel ini dapat dilihat dalam Tabel III.10
Tabel III.10 Drugstore
Nama Field Tipe Data Ukuran Field
SIA Varchar 15
Drugstore_Name Varchar 25
C. Relasi antar tabel
Gambar III.12 Gambar Relasi Antar Tabel Apotek C
3.2.1.2Rancangan Aplikasi Pendukung (DBMapper.exe)
Setelah tesedia basis data yang telah di jelaskan sebelumnya maka
diperlukan suatu aplikasi pendukung yang dapat digunakan dalam
mengintegrasikan basis data. bagian-bagian yang akan dibuat dalam aplikasi
pendukung (DBMapper.exe) sebagai berikut :
1. Mendefinisikan basis data yang diintegrasikan
Bagian ini berfungsi untuk membuat skema dari basis data yang akan
diintegrasikan (virtual database) serta mendefnisikan kolom-kolom
yang tersedia dalam basis data tersebut. Skema ini menjadi dasar bagi
pengguna dalam melakukan query ke basis data yang diintegrasikan.
pengguna hanya bisa melihat hasil dari basis data yang diintegrasikan
melalui skema ini saja.
2. Mendefinisikan Komponen Basis Data dan Koneksi Basis Data
Bagian kedua setelah mendefinisikan basis data adalah mendefinisikan
komponen dari basis data yang akan diintegrasikan. Masing-masing
komponen basis data diberi nama baru, kemudian memasukan nama
atau letak sumber data, user serta password dari basis data tersebut.
Aplikasi pendukung ini mampu menangani koneksi kebeberapa jenis
basis data, yaitu Microsoft Access, Microsoft SQL server, dan MySql.
Koneksi basis data MySql dilakukan dengan menggunakan ODBC,
database Microsoft SQL server menggunakan SQL OLEDB, sedangkan
basis data Microsoft Access menggunakan Microsoft Jet OLEDB.
3. Relationship
Bagian ini berfungsi untuk mendefinisikan relationship dari
masing-masing komponen basis data. Hal ini harus dilakukan utnuk tabel-tabel
yang mempunyai kolom-kolom yang bersesuaian denagn kolom-kolom
yang suadah ditentukan pada virtual database.
4. Mapping
Bagian ini berfungsi untuk melakukan mapping antara kolom-kolom
yang ada dalam virtual database dengan kolom-kolom yang
perlu dilakukan agar query ke basis data tersebut mengarah pada data
yang tepat.
5. Hasil
Setelah semua proses yang diperlukan untuk mendefinisikan setting
untuk masing-masing komponen basis data selesai maka hasilnya akan
disimpan dalam suatu file dengan format dokumen XML. File inilah
yang nantinya akan digunakan oleh objek mediator sbagai data untuk
mengetahui setting dari masing-masing basis data yang diintegrasikan.
File ini dibuat dalam format XML agar dapat dibuat secara manual
dengan menggunakan teks editor tanpa menggunakan aplikasi
pendukung yang sudah disediakan. Berikut ini Tabel III.11 menunjukan
Tabel III.11 Tabel daftar Mapping
VirtualDB Apotek A Apotek B Apotek C
No_Reg Obat.No_Reg Obat.No_Registrasi Drugs.No_Reg
Nama_Obat Obat.Nama_Obat Obat.Obat_Nama Drugs.Drug_Name
Nama_Apotek Apotek.Nama_Apotek Apotek.Apotek_Nama Drugstore.Drugstore_Name
3.2.1.3Desain Arsistektur
3.2.1.3.1 Menyusun “interaction diagram”.
Diagram interaksi disusun untuk menunjukan hubungan / interaksi antara
object dan pesan. Diagram interaksi ini dibedakan menjadi dua macam yaitu :
1. Sequence Diagram
Sequence diagram menekankan pada urutan kronologis pesan.
Interaksi user dan object diungkapkan dalam bentuk vertikal. Object
(instanisasi suatu class) ditulis sesuai dengan nama kelas dalam huruf kecil
dan digaris bawahi.
Berikut ini adalah sequence diagram yang dihasilkan dari perangkat
lunak:
Keterangan diagram :
Nomer-nomer diatas mewakili normal scenario yaitu :
1) Browser menampilkan halaman pembuka “Sistem Penelusuran
Data Obat”.
2) User menekan tombol “Penelusuran Data Obat” untuk menuju
halaman penelusuran data obat (halaman utama).
3) Browser menampilkan halaman utama “Penelusuran Data Obat”.
4) User memasukan check box No Reg, Nama Obat, Stok obat.
5) User memasukan check box basis data dari apotek yang akan
dituju.
6) User memasukan keyword/kata kunci pada kotak input pencarian.
7) User menekan tombol “Cari” untuk memulai pencarian data obat
(untuk membatalkan pencarian user dapat menekan tombol “batal”
dan untuk kembali kehalaman pembuka user dapat menekan
tombol “Kembali”).
8) Proses selanjutnya adalah pemrosesan dan pengiriman query yang
dihasilkan ke virtual database obat dan dicari kesesuaian datanya.
9) Browser menampilkan hasil pencarian berupa dokumen XML
sesuai dengan check box yang dimasukkan yaitu No Reg, Nama
Obat, Apotek tujuan, Stok obat, disertai dengan informasi
10)User menekan tombol “Cetak” (digunakan untuk mencetak hasil
pencarian yang berupa dokumen XML yang ditampilkan browser
ke printer untuk dijadikan dokumen).
2. Collaboration Diagram
Collaboration Diagram menekankan pada keterkaitan antar object.
Interaksi antar object dan pesan dapat dilihat dari normal scenario.
Collaboration diagram yang dihasilkan dari perangkat lunak yang dibuat
adalah sebagai berikut :
Gambar 3.14 Collaboration Diagram
3.2.1.3.2 Menyusun Desain Hubungan “Client dan Object”
Suatu object atau fungsi H yang mengirim pesan ke object D merupakan
client dari D. Class diagram dipergunakan sebagai titik tolak untuk
Gambar 3.15 Client-Object Diagram
3.2.1.3.3 Desain Service
Desain service atau desain layanan adalah kelakuan khusus yang
ditunjukkan class. Sistem Penelusuran Obat ini memiliki beberapa layanan,
yaitu:
Nama servis : Halaman Pembuka_Class::tampilkan
Tipe servis : Method
Tipe return : void
Parameter masukan : tidak ada
Parameter keluaran : check box ;kata kunci pencarian Pesan keluaran : tidak ada
File yang diakses : obat.html File yang diubah : tidak ada Modul yang dipanggil : tidak ada Narasi :
Menjalankan file obat.html untuk menampilkan halaman penelusuran data obat
Gambar 3.16 Desain Service untuk Halaman Pembuka
Nama servis : Halaman Hasil Penelusuran Data Obat_Class::tampilkan
Tipe servis : Method
Tipe return : void
Parameter masukan : check box ;kata kunci pencarian
Parameter keluaran : dokumen XML sesuai dengan masukan Pesan keluaran : ada
Pesan kesalahan : tidak ada
File yang diakses : cari.asp, Mediator.dll File yang diubah : tidak ada
Modul yang dipanggil : tidak ada Narasi :
Halaman ini berfungsi untuk menerima masukan dari user berupa check box, kata kunci, , untuk kemudian dicari kesesuaian datanya pada virtual database.
Nama servis : Halaman Cetak_Class::tampilkan
Tipe servis : Method
Tipe return : void
Parameter masukan : check box ;kata kunci pencarian Parameter keluaran : tidak ada
Pesan keluaran : tidak ada Pesan kesalahan : ada
File yang diakses : Mediator.dll File yang diubah : tidak ada Modul yang dipanggil : tidak ada Narasi :
Halaman ini berfungsi untuk menampilkan data hasil penelusuran beserta informasi lainnya yang terkait dengan data pilihan user ke printer untuk dijadikan dokumen.
3.2.1.3.4 Desain Antar-Muka Pemakai (User Interface Design) 1)Desain Struktur Menu
a. Desain Struktur Menu untuk user aplikasi web
Desain struktur menu untuk Sistem Penelusuran Data Obat dapat
dilihat pada Gambar 3.19 untuk disain struktur menu user.
Gambar 3.19 Desain Struktur Menu User Aplikasi Web
b. Desain Struktur Menu aplikasi pendukung (DBMapper.exe)
Desain struktur menu untuk aplikasi pendukung (DBMapper.exe)
dapat dilihat pada Gambar 3.14 untuk desain struktur menu
aplikasi pendukung.
2) Desain Antar-Muka Pemakai untuk Aplikasi Pendukung (DBMapper.exe).
A. Halaman pertama
Gambar 3.21 Halaman Pertama Aplikasi Pendukung
B. Halaman nama dan kolom baru xml
C. Halaman koneksi basis data
Gambar 3.23 Halaman Koneksi Basis Data
D. Halaman mapping
3) Desain Antar-Muka Pemakai untuk User Aplikasi Web
A. Halaman Pembuka
Gambar 3.25 Halaman Pembuka Aplikasi Web
B. Halaman Penelusuran Data Obat
C. Halaman Hasil Penelusuran Data Obat
Gambar 3.27 Halaman Hasil Penelusuran Data Obat
3.3 Tools
Alat-alat yang digunakan pembuatan tugas akhir ini dibagi menjadi empat
bagian, yaitu ;
1. Perangkat keras, yaitu komputer dari spesifikasi sebagai berikut :
a. Proccessor Intel cel 2,4 Gb.
b. Memory DDR 512mb.
c. Harddisk 40Gb 7200.
2. Perangkat lunak yang digunakan dalam membuat aplikasi pendukung
(DBMapper.exe)
a. Sistem Operasi XP Profesional sp.2.
b. Microsoft Visual Basic 6.0 sebagai bahasa pemrograman.
c. Driver Mysql Connector ODBC 3.51.
a. Perangkat lunak yang digunakan dalam membuat objek madiator.
a. Sistem Operasi XP Profesional sp.2.
b. Microsoft Visual Basic 6.0 sebagai bahasa pemrograman.
b. Aplikasi web yang mengakses objek mediator.
a. Internet Information Service sebagai web server.
b. ASP sebagai bahasa pemrograman.
c. Macromedia Dreamweaver MX2004 sebagai web editor.
4.1Implementasi Program
Implementasi merupakan tahap pengkodean dari aplikasi yang telah
dirancang. Pada bab ini akan diulas proses implementasi sistem yang telah
dirancang pada bab sebelumnya meliputi keseluruhan proses integrasi basis data
dalam penelusuran data obat. Selain itu juga akan diulas cara kerja sistem dan
hasil programnya.
Pengembangan objek mediator dilakukan tahapan sebagai berikut:
1. Menyediakan basis data relational dengan format Microsoft Access,
SQL server, dan MySQL.
2. Membuat Aplikasi Pendukung (DBMapper.exe), yang berfungsi:
a. Mendefinisikan basis data yang akan diintegrasikan (lihat sub
bab 4.1.1.2).
b. Mendefinisikan komponen dan koneksi basis data (lihat sub
bab 4.1.1.3).
c. Mendefinisikan relationship(lihat sub bab 4.1.1.4 dan 4.1.1.5 ).
d. Melakukan mapping (lihat sub bab.4.1.1.6).
3. Membuat objek mediator (lihat sub bab 4.1.2.2) yang terdiri dari :
a. Membuat fungsi untuk memparser query yang diterima oleh
objek mediator.
b. Membuat fungsi requery yang berfungsi untuk membuat SQL
query yang disesuaikan dengan masing-masing basis data.
c. Membuat fungsi untuk mengeksekusi query tersebut untuk
masing-masing dikomponen basis data pendukung.
d. Menggabungkan hasil query kedalam suatu XML template.
4. Membuat Suatu aplikasi web (lihat sub bab.4.1.3) untuk menguji
objek mediator dengan ketentuan sebagai berikut:
a. Mampu melakukan query ke sistem mediator.
b. Mampu menampilkan dokumen XML sebagai hasil query ke
suatu halaman web.
4.1.1 Implementasi Program pada Aplikasi Pendukung (DBMapper.exe) 4.1.1.1Tampilan Pembuka Aplikasi Pendukung
Gambar IV.1 Tampilan Pembuka Aplikasi Pendukung
Gambar IV.1 merupakan tampilan pembuka aplikasi pendukung
untuk menampilkan form membuat baru skema virtual database yang akan
disimpan sebagai file setting dalam format XML. Open digunakan untuk
membuka kembali file setting. Close untuk menutup semua basis data yang telah
terbuka, dan exit untuk keluar dari program aplikasi.
4.1.1.2Tampilan Membuat Baru Skema Basis Data
Bagian ini berfungsi untuk membuat skema dari basis data yang akan
diintegrasikan (virtual database) serta mendefnisikan kolom-kolom yang tersedia
dalam basis data tersebut. Skema ini menjadi dasar bagi pengguna dalam
melakukan query ke basis data yang diintegrasikan. Semua query yang dilakukan
harus sesuai dengan skema ini, karena pengguna hanya bisa melihat hasil dari
basis data yang diintegrasikan melalui skema ini saja.
Tampilan berikut ini digunakan pengguna untuk membuat baru skema
virtual database. Sesuai dengan implementasi skripsi ini terdapat beberapa
beberapa entitas yang pasti terdapat dalam semua komponen basis data yang
tersedia yaitu, No_Reg, Nama_Obat, Nama_Apotek, dan Stok. Entitas-entitas
inilah yang dijadikan nama kolom dari virtual database yang akan dibuat. Form
Gambar IV.2 Tampilan New Skema Virtual Database
Berikut adalah sintaks pokok yang digunakan dalam membuat skema
virtual database :
Private Sub Command3_Click() Dim xmlroot As IXMLDOMElement Dim xmlmap As IXMLDOMElement Dim xmlchild As IXMLDOMElement Dim mnode As Node
If Grid.TextMatrix(1, 1) <> "" And txtnama <> "" Then Dialog.Filter = "All Files(*.*) |*.*|XML Files (*.xml) |*.xml" Dialog.FilterIndex = 2
Dialog.ShowSave On Error GoTo err
Set xmlroot = xmldoc.createElement("databases") xmlroot.setAttribute "nama", txtnama
xmldoc.appendChild xmlroot
Set xmlmap = xmldoc.createElement("mapping") xmlroot.appendChild xmlmap
Unload Me
mainform.buka_file (namafile)
mainform.Toolbar.Buttons(1).Enabled = False mainform.Toolbar.Buttons(2).Enabled = False
End If err: End Sub
4.1.1.3Tampilan Koneksi Basis Data
Setelah mendefinisikan konfigurasi untuk masing-masing komponen basis
data yang akan diintegrasikan adalah melakukan koneksi kemasing-masing basis
data Masing-masing komponen basis data diberi nama baru, kemudian
memasukan nama atau letak sumber data, user serta password dari basis data
tersebut.. Dalam aplikasi pendukung (DBMapper.exe) yang tersedia, koneksi
dapat dilakukan melalui tiga cara, yaitu driver ODBC, SQL Server OLEDB, dan
Jet OLEDB. Dalam implementasi ini komponen MySQL menggunakan ODBC,
SQL Server menggunakan SQL Server OLEDB, dan Microsoft Access
Gambar IV.3 Tampilan Koneksi Basis Data
Berikut adalah sintaks yang digunakan dalam koneksi basis data :
Function koneksi() As Boolean On Error GoTo pesan
Set cn = New ADODB.Connection If Option1(0).Value = True Then cn.ConnectionString = _
"DSN=" & txtdsn & "; Uid=" & txtid & ";Pwd=" & txtpass ElseIf Option1(1).Value = True Then
4.1.1.4Tampilan Tambah Tabel Relationship
Form tampilan pada gambar IV.4 digunakan untuk menampilkan
tabel-tabel yang akan direlasikan kembali sesuai dengan tabel-tabel yang ada dalam salah
satu basis data yang telah terkoneksi.
Gambar IV.4 Tampilan Tambah Tabel Relationship
Berikut adalah sintaks yang digunakan dalam tambah tabel relationship :
Private Sub Btnadd_Click() Dim jml As Integer Dim x, y, i As Single Dim mnode As Node With mainform
jml = .Grid1.UBound + 1 Load .Grid1(jml)
.Grid1(jml).TextMatrix(0, 0) = ListTable.SelectedItem.text .Grid1(jml).Visible = True
Set mnode = .Tree.Nodes(SourceNode.Parent.text + ListTable.SelectedItem.text).Child.FirstSibling