bab ii (dasar teori)
TRANSCRIPT
BAB II
TINJAUAN PUSTAKA
2.1 TINJAUAN PUSTAKA
2.1.1 Pengertian Aplikasi Apotek
Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak
komputer yang memanfaatkan kemampuan komputer langsung untuk
melakukan suatu tugas yang diinginkan pengguna.(wikipedia).
Apotek adalah tempat menjual dan kadang membuat atau meramu
obat.(wikipedia)
Dapat disimpulkan aplikasi apotek adalah suatu perangkat lunak
komputer untuk melaksanakan tugas-tugas pada apotek.
2.2 TEORI DASAR
2.2.1 Konsep Database
2.2.1 Pengertian Database
Database adalah sekumpulan tabel-tabel yang saling berelasi, relasi
tersebut bisa ditunjukkan dengan kunci dari tiap tabel yang ada. Database juga
bisa didefinisikan sebagai suatu kumpulan dari data yang tersimpan dan
diatur atau diorganisasikan sehingga data tersebut bisa diambil atau dicari
dengan mudah dan efisien. Sebagai contoh sederhana dari database adalah
buku telepon yang mungkin sering Anda lihat. Buku telepon tersebut
adalah sebuah contoh database yang masih menggunakan sistem manual,
4
dan sekarang database juga bisa menggunakan komputer. dengan
menggunakan komputer maka informasi yang ada di dalam database akan
sangat mudah untuk di-update dan sangat cepat untuk dicari.
2.2.2 Kegunaan Database
Suatu penyusunan dan pembuatan database digunakan untuk
mengatasi masalah-masalah pada penyusunan data yaitu:
1. Redundansi dan inkonsistensi data
Redudansi adalah pengulangan data yang tidak perlu. Jika
file-file dan program aplikasi diciptakan oleh programmer
yang berbeda pada waktu yang berselang cukup panjang,
maka ada beberapa bagian data mengalami penggandaan file-
file yang berbeda.
Sebagai contoh : alamat dan nomor telpon dari pelanggan
kita tercatat pada file deposito juga pada file rekening Koran
dan juga file nasabah. Penyimpanan dibeberapa tempat untuk
data yang sama ini disebut sebagai redudansi data dan
mengakibatkan pemborosan ruang penyimpanan dan juga
biaya untuk mengakses jadi lebih tinggi.
Penyimpanan data yang sama berulang-ulang dibeberapa
file mengakibatkan juga inkonsistensi data. Hal ini terjadi
suatu ketika pelanggan tersebut pindah alamat dan nomor
teleponnya berganti, maka seharusnya ketiga file yang
memuat data nomor telepon tersebut harus diubah/diupdate.
5
Bila salah satu dari file yang mengandung data tersebut
terlewat update maka terjadilah tidak konsisten.
2. Isolasi data untuk standarisasi
Jika data tersebar dalam beberapa file dalam bentuk
format yang tidak sama, maka ini menyulitkan dalam menulis
program aplikasi untuk mengambil dan menyimpan data.
Maka haruslah data dalam satu database dibuat suatu format
sehingga mudah dibuat program aplikasinya.
3. Multi user
Dalam rangka mempercepat semua daya guna system dan
mendapat responsi waktu yang cepat, beberapa system
mengijinkan banyak pemakai untuk mengupdate data secara
simultan. Salah satu alasan mengapa database dibangun
karena nantinya data tersebut digunakan oleh banyak orang
dalam waktu yang berbeda, di akses oleh program yang sama
tapi berbeda orang dan waktu. Semua ini memungkinkan
terjadi karena data yang diolah tidaklah tergantung dan
menyatu dalam program tapi ia terlepas dalam kelompok data.
4. Keamanan data
Tidak semua pemakai sistem database boleh mengakses
semua data. Contohnya data mengenai gaji pegawai hanya
boleh dibuka oleh bagian keuangan dan personalia, tidak
diperkenangkan bagian gudang membaca dan mengubahnya..
6
Keamanan tersebut dapat diatur oleh aplikasi program yang telah
dibuat oleh programmer, siapa saja yang berhak untuk
menjalankan aplikasi tersebut, misalnya aplikasi di sebuah
universitas bagian akademik tidak boleh menjalankan di bagian
keuangan juga begitu sebaliknya, mahasiswa tidak boleh
mengakses data yang ada di akademik. Dalam program aplikasi
harus ada pengawasa yang biasanya dilakukan oleh administrator
bekerja untuk mengawasi jalannya sistem tersebut.
2.2.3 Database Management Sistem (DBMS)
Database Management Sistem (DBMS) adalah kumpulan
file/data yang saling berkaitan ditambah satu set program yang
terhubung untuk mengakses, memodifikasi, dan memelihara data dan
pengelolaannya (Krigel, 2003). Database adalah kumpulan data-data,
sedangkan program pengelolaannya berdiri sendiri dalam satu paket
program yang komersil untuk membaca data, mengisi data,
menghapus data, dan melaporkan data dalam database. Beberapa
contoh DBMS terkenal antara lain Oracle, SQL Server, MySQL, dan
PostgreSQL.
a. Perkembangan DBMS
Perangkat lunak DBMS yang sangat luas digunakan
pada pertengahan 1980-an sampai 1990-an khusus computer
mikro(dengan arsitektur stand alone dan system operasi
DOS)adalah dBASE III+ dan Fox Base. Sedangkan dengan
computer mini dan mainframe (multiuser denagn system
7
Operasi IBM-VMS atau UNIX) justru tidak menggunakan
DBMS khusus, akan tetapi membangun aplikasi dengan
menggunakan bahasa COBOL.
Sejak awal tahun 1990-an disaat computer mikro sedang
bejaya denagn adanya perkembangan teknologi jarinagn local
(LAN) yang diperkenalkan Novell, pemanfaatan dBASE III+
semakin luas dan diperkaya denagn perangkat lunak
pembangun aplikasi (development tools), sementara untuk
kelas komoputer mainframe sudah mulai lahir produk DBMS,
seperti Oracel.
b. Operasi Dasar Basis Data
Operasi dasar yang dapat dilakukan berkenaan dengan
basis data meliputi:
1. Pembuatan basis data baru (create database).
2.Pembuatan file/table baru ke dalam basis data
(create table).
3.Penghapusan file/table dari suatu basis data (drop
table).
4. Penambahan atau pengisian data baru ke dalam
file/table disebuah basis data (insert).
5. Perubahan data dari sebuah file/table (update).
6. Penghapusan data dari sebuah file/table (delete).
7. Menampilkan data dari tabel-tabel yang
diinginkan (select).
8
c. Perancangan Database
Salah satu tugas dari database administrator adalah
merancang model konseptual database. Model konseptual
bukanlah pendekatan proses informasi seorang program
aplikasi, tetapi merupakan kombinasi beberapa cara untuk
memperoses data untuk beberapa aplikasi. Model konseptual
tidak tergantung pada hardware yang digunakan serta juga
tidak tergantung pada fisikal model.
Pada perancangan model konseptual penekanan tinjauan
dilakukan pada struktur data relasi antar file. Pendekatan yang
dilakukan pada perancangan model konseptual adalah
menggunakan model data relational.
Dalam perancangan model ini ada 2 teknik yang dapat
digunakan, yaitu :
1. Teknik Normalisasi
Teknik Normalisasi merupakan proses
pengelompokan data dengan tujuan untuk
menghilangkan terjadinya redudansi dan duplikasi
data serta menjaga integritas data.
2. Teknik Entity Relationship
Entity Relationship merupakan proses
penentuan hubungan (relasi) antar satu entity satu
dengan entity yang lain.
9
2.2.4 Elemen-Elemen Database
Merancang database merupakan suatu hal yang sangat penting,
di mana kesulitan awal dalam merancang database adalah bagaimana
memahami elemen-elemn apa saja yang terdapat dalam database.
1.Entity
Suatu kumpulan orang, tempat, kejadian, aktifitas atau
bagian yang terdapat dalam sebuah organisasi atau informasi
yang akan direkam. Pada bidang Akademik entitynya adalah
Dosen, Mahasiswa, Rektor, Keuangan, Administrasi, Rektorat.
Pada bidang Rumah Sakit, entitynya adalah Dokter, Pasien,
Apotik, Perawat.
?????????????????????????????????????????????????????????????????????????????
????????
Gambar 2.1 Contoh Entity
2.Atribute
Sebutan untuk mewakili sebuah entity atau penjelasan dari
entity, seorang mahasiswa dapat dilihat atributnya, misalnya
npm, nama, alamat, hobby dan lain-lain. Atribute juga disebut
data elemen, data field atau data item.
??????????????????????????????????????
10
Dosen Mahasiswa Administrasi
NIM Mahasiswa Nama
Gambar 2.2. Atribut dengan entity mahasiswa
3.Entity Relationship
Relationship adalah penghubung antara dua buah tabel atau
lebih, atau sebagai gambaran relasi secara lengkap yang
menghubungkan antara atribut tabel 1 dengan atribut tabel
yang lainnya. simbol relationship digambarkan dengan belah
ketupat.
4. Type Relationship
Ada tiga macam tipe dan dua jenis relationship yang
dikenal (???? Nama belakang pengarang, tahun…..)
yaitu :
1. Jenis pertama dalam 2 tabel :
a) One to One relationship dalam dua tabel
adalah hubungan antara tabel pertama dengan
tabel kedua adalah satu berbanding satu. Seperti
pada pelajaran privat di mana satu orang guru
mengajar satu siswa dan siswa tersebut diajarkan
oleh satu guru.
11
Dosen Mengabsen Mahasiswa
Guru Murid
Gambar 2.3. Relasi antara dosen dengan mahasiswa
Gambar 2.4. Relasi one to one dalam dua tabel
b) One to Many relationship dua tabel di
mana hubungan antara tabel pertama dengan
tabel kedua adalah satu berbanding banyak
atau dapat dibalik menjadi banyak lawan satu.
Seperti pada contoh satu orang dosen wali
membimbing banyak mahasiswa dan
mahasiswa dibimbing oleh satu orang dosen
wali.
Gambar 2.5. Relasi one to many dalam dua table
c) Many to Many Relasi one to many dalam
dua table relationship dua tabel adalah banyak
berbanding banyak. Di mana banyak mata
kuliah bisa diambil oleh banyak mahasiwa.
Gambar 2.6. Relasi many to many dalam dua table
2. Jenis kedua dalam 1 tabel :
12
MahasiswaDosen Wali
Mata Kuliah
Mahasiswa
a)One to One dalam satu tabel di mana hubungan
satu atribute dengan atribute yang lain dalam
satu tabel yang sama adalah satu lawan satu.
Misalnya satu npm dimiliki oleh satu orang
mahasiswa dan tidak dibolehkan mahasiwa
yang mempunyai npm yang sama.
Gambar 2.7. Relasi one to one dalam satu tabel
b)One to Many dalam satu tabel mempunyai
hubungan satu lawan banyak dalam satu tabel,
di mana satu universitas memiliki banyak
jurusan.
Gambar 2.8. Relasi one to Many dalam satu tabel
c)Many to Many dalam satu tabel yang
mempunyai hubungan antara satu atribute
dengan atribute yang lain dalam satu tabel
yang sama banyak lawan banyak. Misalnya
adalah banyak nama barang memiliki banyak
harga barang.
13
NIM Mahasiswa
Universitas Jurusan
Nama Barang
Harga Barang
Gambar2.9. Relasi many to many dalam satu table
5. Data relasi
Setiap tabel didatabase mempunyai nama tabel yang
unik yang menjelaskan isinya, sebuah relasi adalah istilah
resmi yang digunakan oleh tabel yang di dalamnya
terdapat sebuah baris atau record dalam tabel tersebut
disebut sebagai tuple. Tiap kolom pada setiap tabel
mempunyai nama kolom dan mempunyai nama yang
berbeda tergantung banyaknya tuple pada relasi tersebut.
Banyaknya tuple pada sebuah relasi disebut cardinality,
dan banyaknya atribute atau kolom disebut degree.
6. Kunci (Key)
Key ialah sebuah properti yang menentukan apakah
suatu record pada tabel sangat penting atau tidak, di mana
key akan terdiri dari primary key, candidate key, alternate
key, composite key dan foreign key.
a. Primary Key
Primary key adalah satu atribute atau satu set
atribute yang tidak hanya mengidentifikasi secara
unik suatu kejadian yang spesifik, tapi juga
mewakili pada setiap entity supaya entity tersebut
tidak mempunyai record yang ganda.
14
b. Candidate Key
Sebuah atribute atau satu set atribute yang
mengidentifikasikan secara unik suatu kejadian
spesifik dari sebuah entity. Satu set atribute
menyatakan secara langsung di mana kita tidak
dapat membuang beberapa atribute dalam set
tampa merusak kepemilikan tabel tersebut. Jika
kunci kandidat berisi lebih dari satu atribute, maka
akan disebut sebagai kunci campuran misalnya
nama+tgl_lhr, nama+alamat di mana nama+tgl_lhr
bisa sebagai kunci kandidat karena tidak mungkin
nama yang sama memiliki tanggal lahir yang
sama.
c. Alternate Key
Alternate key adalah kunci kandidat yang
tidak dipakai sebagai primary key, sering kali
kunci alternatif dipakai sebagai kunci dalam
pengurutan laporan.
d. Composite Key
Pada kondisi tertentu satu atribute tidak dapat
digunakan sebagai kunci primary key maka
15
dibutuhkan dua buah atau lebih, di mana kunci
tersebut digunakan untuk membuat record yang
masuk tidak akan sama.
e. Foreign Key
Foreign key atau kunci tamu adalah satu
atribute yang melengkapi satu relationship yang akan
menunjukkan ke tabel induknya. Kunci tamu ini akan
ditempatkan pada entity anak dan akan disamakan
dengan kunci primary di tabel induk. Mengakibatkan
hubungan antara tabel induk dengan anak satu lawan
banyak.
2.3PEMROGRAMAN DENGAN DATABASE
2.3.1. Konsep Dasar
Pemrograman Database (Database Programming)
merupakan suatu bentuk pemrograman alternatif untuk pengolahan
database. Dengan pemrograman database kita dapat secara leluasa
mengatur tampilan dan alur kerja sebuah database dengan lebih
baik. Visual BASIC merupakan salah satu bahasa pemrograman
yang telah mendukung pemrograman database. Visual BASIC
dapat dihubungkan dengan program aplikasi pengolah data lain
seperti Access, MySQL, SQL Server dan sebagainya. Alur kerja
16
pemrograman database dalam Visual BASIC dapat dijelaskan
melalui gambar
Gambar Alur kerja pemrograman database dalam
Visual BASIC
2.3.2 Koneksi Visual BASIC dengan Database Access.
Untuk dapat menghubungkan Visual BASIC dengan
database Access, kita akan menggunakan komponen ADO Data
Control (ADODC).
2.3.2.1 Pengenalan ADO
Pengontrol data ADO menggunakan Microsoft
ActiveX Data Objects (ADO) untuk membuat koneksi yang
cepat antara pengontrol lambung data (data-bound) dan
penyedia data (data-provider). Pengontrol data-bound dapat
mengontrol data sesuai dengan setting properti pada
17
DataSource. Sedangkan data-provider dapat berupa
sembarang tipe sumber data yang memiliki spesifikasi
OLEDB (Oracle, MS SQL, dll), demikian juga anda dapat
membuat sendiri data-provider yang anda tentukan
menggunakan modul class dari Visual Basic.
Komponen ini dapat dihubungkan dengan beberapa
komponen yang digunakan untuk mengakses data seperti
textbox, datagrid, dsb. Untuk dapat menggunakan ADODC,
ada beberapa properti yang harus kita lakukan pengaturan
antara lain:
Jika menggunakan komponen Adodc sebagai
komponen untuk koneksi ke database, terdapat beberapa
method yang sering digunakan dalam pengaksesan database
antara lain:
18
2.3.2.3 Setting ADO dengan Program
Berikut ini diberikan contoh prosedur untuk
melakukan setting terhadap ConnectionString, Source,
DataSource, dan DataField melalui program, yang
diperlihatkan seperti contoh kode program dibawah yang
menunjukkan bagaimana cara melakukan setting terhadap
empat properti, untuk melakukan pengesetan terhadap
properti DataSource membutuhkan statement Set.
Private Sub Form_Load()
With ADODC1
.ConnectionString = "driver={SQL Server};" & _
"server=nanang;uid=user1;pwd=oracle;database=
udkl"
.RecordSource = "Select * From emp"
19
End With
Set Text1.DataSource = ADODC1
Text1.DataField = "Title"
End Sub
2.3.2.3 Model Pemprograman ADO
Beberapa langkah yang harus diperhatikan dalam
pemprograman Visual Basic yang diuraikan dibawah ini
menggunakan pengontrol data ADO dengan obyek adalah
sebagai berikut :
o Membuat koneksi ke sumber data (Connection).
Jiak perlu dapat pula dilakukantransaksi.
o ·Membuat beberapa obyek yang mewakili statement
(Command).
o Menentukan kolom, tabel dan nilai dalam statement
SQL sebagai parametervariabel (Parameter).
o Menjalankan perintah/command (Command,
Connection, atau Recordset).
o Jika perintah telah mengasilkan baris data yang
diinginkan, maka selanjutnya menyimpan baris-
baris tersebut pada oyek penyimpan (Recordset).
20
o Membuat view dari obyek penyimpan sehingga
anda dapat mengurutkan, memfilter, atau
mengarahkan data (Recordset).
o Melakukan pengeditan terhadap data, menambah,
menghapus atau merubah baris dan kolom
(Recordset).
o ·Melakukan update menuju sumber data sesuai
dengan perubahan yang telah dilakukan pada obyek
penyimpan (Recordset).
o Jika ada transaksi maka akan perubahan yang
dilakukan dapat diterima atau diabaikan selama
proses transaksi, yang diikuti dengan mengakhiri
transaksi(Connection).
2.4PEMROGRAMAN DENGAN SQL
2.4.1 PENGENALAN SQL
Structured Query Language (SQL) adalah bahasa standard
untuk melakukan berbagai operasi data pada database, diantaranya
mendefinisikan tabel, menampilkan data engan kriteria tertentu,
menambahkan data hingga menghapus data tertentu. Penggunaan
SQL pada beberapa bahasa pemrograman secara umum relatif
sama.
21
2.4.2 PERINTAH DALAM SQL
2.4.2.1. SELECT
Perintah SELECT digunakan untuk menampilkan data.
Bentuk Umum:
SELECT *|<nama_field> FROM <nama_tabel>
[WHERE
<syarat>] [ORDER BY <nama_field> DESC|ASC]
Klausa WHERE digunakan untuk membatasi data yang
akan ditampilkan dengan menambahkan syarat tertentu pada
data yang ingin ditampilkan. Klausa ORDER BY digunakan
untuk menampilkan data dengan urutan menaik (ASC) atau
urutan menurun (DESC).
Contoh :
‘Menampilkan seluruh data dosen
SELECT * FROM Dosen
‘Menampilkan kode dosen dan nama dosen dari data
dosen
SELECT Kode_Dos, Nama_Dos FROM Dosen
‘Menampilkan data dosen diurutkan berdasarkan nama
secara menaik
SELECT * FROM Dosen ORDER BY Nama_Dos
ASC
22
‘Menampilkan data dosen yang namanya diawali huruf
M
SELECT * FROM Dosen Where Nama_Dos Like
‘M%’
2.4.2.2. INSERT
Perintah INSERT digunakan untuk menambahkan data
kedalam tabel.
Bentuk Umum:
INSERT INTO <nama_tabel>
VALUES(<data_field1>,<data_field2>,...)
Contoh :
‘Menambahkan data dosen baru
INSERT INTO Dosen VALUES (‘D05’,’Fatah
Adi’,’Jl.Solo 100’,’799811’)
2.4.2.3. UPDATE
Perintah UPDATE digunakan untuk mengubah data pada suatu
tabel dengan kriteria tertentu
Bentuk Umum:
23
UPDATE <nama_tabel> SET <field1>=<data1>,
<field2>=<data2>,...
[WHERE <syarat>]
Contoh:
‘ mengubah data nama dosen dengan Kode Dosen
‘D05’ menjadi ‘Fatah Ali’
UPDATE Dosen SET Nama_Dos=’Fatah Ali’
WHERE Kode_Dos=’D05’
2.4.2.4. DELETE
Perintah DELETE digunakan untuk menghapus data yang
memenuhi kriteriatertentu.
Bentuk Umum:
DELETE FROM <nama_tabel> [WHERE <syarat>]
Contoh :
‘Menghapus data dosen dengan nama ‘Fatah Ali’
DELETE FROM Dosen WHERE Nama_Dos=’Fatah
Ali’
‘Menghapus seluruh data dalam tabel
DELETE FROM Dosen
2.2.5 Data Flow Diagram (DFD)
24
Diagram Arus Data (Data Flow Diagram) atau DFD adalah
“Suatu gambaran grafis dari suatu sistem yang menggunakan sejumlah
bentuk-bentuk symbol untuk mengambarkan bagaimana data mengalir
melalui suatu proses yang saling berkaitan”. Walaupun nama diagram ini
menekankan pada data, situasinya justru sebaliknya penekanannya ada pada
proses. (McLeod, 1995, hal 403) terdiri dari empat simbol-simbol DFD
yaitu :
1. Elemen-elemen lingkungan
Elemen-elemen lingkungan berada diluar batas sistem.
Elemen elemen ini menyediakan bagi sistem input data dan
menerima output data dan informasi. Semua arus dipandang
sebagai data.
Nama Terminator digunakan untuk menggambarkan
elemen elemen lingkungan, yang menandai titik-titik berakhir
sistem. Terminator digambarkan dalam DFD dengan suatu kotak
atau segi empat. Tiap simbol terminator diberi label nama elemen
lingkungannya.
Gambar 2.10 Simbol Terminator
2. Proses
Proses adalah sesuatu yang mengubah input menjadi output.
Proses dapat digambarkan dengan lingkaran. Tiap simbol proses
diidentifikasikan dengan label.
25
Teknik pembuatan label yang paling umum adalah dengan
menggunakan kata kerja dan objek, tetapi anda dapat juga
menggunakan nama sistem atau program komputer.
Gambar 2.11 Simbol Proses
3. Arus Data
Arus data terdiri dari sekelompok elemen data yang
berhubungan secara logis yang bergerak dari satu titik atau proses
ke titk atau proses yang lain. Tanda panah digunakan untuk
menggambarkan arus itu. Panah tersebut dapat digambar sebagai
garis lurus atau garis lengkung.
Gambar 2.12 Simbol Arus Data
4. Penyimpanan Data
Jika data diperlukan karena suatu sebab, maka
digunakan penyimpanan data. Dalam istilah DFD, prenyimpanan
26
data (data store) adalah suatu penampungan. Data store
digambarkan dengan garis sejajar.
Gambar 2.13. Simbol Penyimpanan Data
2.2.6 Entitas Relationship Diagram
Entitas Relationship Diagram (ERD) adalah “Suatu penyajian
data dengan menggunakan Entitas dan hubungannya”. ERD dapat
mengambarkan hubungan antar entity dengan jelas dan
mengambarkan batasan jumlah entity dan partisipasi antar entity
sehingga mudah dimengerti oleh pemakai. komponen-komponen
ERD, yaitu
1. Entitas (Entity)
Entity adalah sesuatu yang dapat dibedakan
dalam dunia nyata, imana informasi yang berkaitan
dengannya dikumpulkan. Simbol untuk entity adalah
persegi panjang.
27
Gambar 2.14 Simbol Entity
2. Hubungan (Relationship)
Relationship adalah asosiasi yang terjadi
antara satu atau lebih entity. Hubungan digambarkan
dengan bentuk belah ketupat. Tiap belah ketupat diberi
label kata kerja.
Gambar 2.15 Simbol Relationship
3. Attribute
Atribut adalah karakteristik dari entity atau
relationship, yang menyediakan penjelasan detail
tentang entity atau relationship tersebut. Simbol
attribute adalah bentuk Oval atau elips.
Gambar 2.16 Simbol Atribut
28