BAB 2 LANDASAN TEORI 2.1 Teori-teori Dasar atau Umum 2.1.1

advertisement
BAB 2
LANDASAN TEORI
2.1 Teori-teori Dasar atau Umum
2.1.1 Perbedaaan File Based System dengan Sistem Basis Data
Pada saat ini aplikasi basisdata sudah digunakan di kehidupan sehari-hari, seperti
pembelian di supermarket, pembelian dengan kartu kredit, pemesanan hotel melalui
biro perjalanan, penggunaan pada perpustakaan, penggunaan internet, dll.
Penggunaan basisdata yang tradisional adalah File-Based System. Menurut
Thomas M. Connolly (2002, p7) pengertian dari File-Based System adalah kumpulan
program aplikasi yang menyajikan service kepada pemakai seperti pembuatan
laporan. Setiap program akan mendefinisikan dan mengontrol masing-masing data
program itu sendiri. Tetapi aplikasi File-Based System mempunyai banyak
kelemahan, contohnya :
ƒ
Data yang terpisah-pisah
Data yang terisolasi pada file berbeda mengakibatkan semakin sulitnya
pengaksesan terhadap data tersebut.
ƒ
Duplikasi data
Karena setiap programmer membuat file dan aplikasi dalam jangka
waktu yang lama, variasi file memiliki format yang berbeda dan
kemungkinan program tersebut ditulis oleh bahasa program yang
berbeda-beda. Oleh karena itu, kemungkinan informasi yang sama dapat
berada pada beberapa file.
7
ƒ
Ketergantungan data
Seperti yang telah disebutkan di atas, struktur fisik dari file data dan
record didefinisikan pada kode aplikasi. Hal ini mengakibatkan
pengubahan dari struktur yang telah ada menjadi sulit dilakukan.
ƒ
Format data yang tidak kompatibel
Karena struktur file tersimpan pada program aplikasi, struktur tersebut
menjadi tergantung pada bahasa pemrograman yang digunakan.
ƒ
Fixed query/proliferation of application programs.
Dibandingkan dengan sistem manual, file-based system menawarkan
sistem yang lebih baik, tetapi seiring dengan perkembangan akan muncul
permintaan-permintaan query baru. Hal ini membutuhkan pembuatan
program tambahan untuk dapat menjalankan query tersebut. Hal ini
membutuhkan waktu dan biaya tambahan sehingga dapat menurunkan
efektifitas dari sistem.
Dengan adanya kekurangan dari File-Based System, maka dibuatlah sistem
basisdata yang merupakan pendekatan baru yang dibutuhkan untuk mengatasi
kelemahan tersebut. Salah satu dari sistem basisdata adalah Database dan Database
Management System (DBMS).
2.1.2 Pengertian Database
Pengertian database menurut Thomas M. Connolly (2002, p14) adalah
kumpulan data yang saling berhubungan secara logical, dan keterangan
mengenai data itu, yang dibuat untuk menemukan informasi yang dibutuhkan
8
oleh sebuah organisasi. Database yang tunggal dapat digunakan oleh berbagai
pengguna atau bagian dalam waktu yang bersamaan.
Menurut C. J. Date (2000, p10) database adalah kumpulan data persistent
yang digunakan oleh sistem aplikasi dari perusahaan tertentu. Persistent
maksudnya adalah sekali data telah diterima oleh DBMS untuk dimasukkan ke
dalam database, data tersebut hanya bisa dihapus dari database dengan
menggunakan permintaan eksplisit ke DBMS.
Sistem Basisdata adalah sistem penyimpanan rekaman atau record yang
terkomputerisasi di mana tujuan sebenarnya adalah menyimpan informasi dan
membuat informasi tersebut selalu tersedia pada saat dibutuhkan
2.1.3
Database Management System (DBMS)
DBMS adalah sistem perangkat lunak yang memungkinkan pengguna
untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke
database.
Fasilitas-fasilitas yang disediakan DBMS :
•
Memungkinkan pengguna mendefinisikan database biasanya melalui DDL
(Data Definition Language). DDL memungkinkan pengguna untuk
menentukan tipe dan struktur data yang akan disimpan pada database.
•
Memungkinkan pengguna untuk memasukkan, meng-update, menghapus,
dan mengambil data dari database biasanya melalui DML (Data
Manipulation Language).
•
Menyediakan akses terkontrol ke database. Contohnya :
9
ƒ
Sistem sekuriti, mencegah pengguna yang tidak memiliki hak untuk
mengakses database.
ƒ
Sistem integrity, memelihara konsistensi dari data yang disimpan
ƒ
Concurrency control system, memungkinkan akses bersama database
ƒ
Recovery control system, mengembalikan database ke keadaan
sebelumnya yang masih konsisten ketika terjadi kerusakan perangkat
keras atau perangkat lunak.
ƒ
User-accessible catalog, berisi deskripsi dari data pada database.
Keuntungan dari DBMS :
ƒ
Mengontrol duplikasi data
Database dapat mengurangi duplikasi data yang terjadi pada File-Based
System. Tetapi tidak semua duplikasi data dapat dihilangkan, melainkan
hanya dapat dikontrol. Hal ini dikarenakan terkadang duplikasi data tetap
dibutuhkan untuk meningkatkan perfoma.
ƒ
Data konsisten
Dengan menghilangkan atau mengontrol duplikasi data akan mengurangi
resiko ketidakkonsistenan dari data yang mungkin terjadi.
ƒ
Data yang sama memiliki lebih banyak informasi
Dengan adanya integrasi data operasional maka memungkinkan bagi
sebuah organisasi mendapatkan informasi tambahan dari data yang sama.
ƒ
Penggunaan data bersama-sama
Biasanya
file
dimiliki
oleh
seseorang
atau
departemen
yang
menggunakannya. Sebaliknya database dimiliki oleh organisasi secara
keseluruhan dan dapat di-share kepada pengguna yang memiliki hak.
10
ƒ
Integritas data telah dikembangkan
Integritas data memiliki arti dari konsisten dan keabsahan dari data yang
disimpan. Integritas biasanya menegaskan arti dari constraint, yang
merupakan aturan yang tidak dapat di langgar oleh pemakai database.
ƒ
Keamanan telah dikembangkan
Keamanan database akan melindungi database dari pemakai yang tidak
memiliki hak. Hal ini biasanya dilakukan dengan adanya nama pemakai
dan password untuk mengidentifikasikan hak yang dimiliki oleh setiap
pemakai.
ƒ
Memiliki standar yang jelas
Integrasi
memungkinkan
Database
Administrator
(DBA)
untuk
mendefinisikan dan memberikan standar yang dibutuhkan, seperti format
data untuk mendukung pertukaran data antar sistem, aturan penamaan,
standar dokumentasi, prosedur update, dan cara atau hak pengaksesan.
ƒ
Ekonomis
Dengan menggabungkan semua data operasional organisasi ke dalam satu
database
dan
membuat
beberapa
aplikasi
yang
bekerja
dengan
menggunakan satu sumber data, ini dapat menghemat pengeluaran. Jadi
dana yang di keluarkan akan labih kecil dari dana tiap bagian pada file
based system bila digabungkan.
ƒ
Konflik kebutuhan dapat diseimbangkan
Setiap pengguna atau departemen mempunyai suatu kebutuhan masingmasing, di mana kebutuhan tersebut dapat menimbulkan konflik dengan
pengguna atau departemen yang lain. Dengan database berada di bawah
11
kendali dari DBA, maka DBA dapat membuat keputusan mengenai
perancangan dan penggunaan operational dari database yang menyediakan
penggunaan sumber daya database terbaik bagi organisasi.
ƒ
Meningkatkan kemampuan akses dan respon data
Sebagai hasil integrasi, data umum dapat diakses secara langsung oleh
pemakai. Hal ini menyediakan sistem yang memiliki lebih banyak fungsi.
ƒ
Meningkatkan produktifitas
DBMS menyediakan banyak fungsi standar yang biasanya harus dibuat
oleh seorang programmer pada aplikasi berbasis file. Pada tingkat dasar
DBMS menyediakan semua rutin low level untuk menangani file yang
biasanya ada pada program aplikasi. Kegunaan dari fungsi ini adalah
membuat seorang programmer dapat memusatkan perhatiannya hanya pada
fungsi yang spesifik yang dibutuhkan oleh pengguna, tanpa perlu
memikirkan detil dari implementasi low level-nya.
ƒ
Mempermudah perawatan dengan menghilangkan ketergantungan data
Dalam file-based system deskripsi dari data dan logika untuk pengaksesan
data dibuat untuk tiap aplikasi, sehingga program sangat tergantung
terhadap data. Sebuah perubahan terhadap struktur data tersebut, sebagai
contoh variabel alamat yang sebelumnya dgn panjang 40 karakter ingin
diubah menjadi 41 karakter, ini memerlukan perubahan yang banyak pada
program yang terpengaruh efek dari perubahan tersebut. Sedangkan pada
DBMS deskripsi data dan aplikasi terpisah, dengan cara demikian membuat
aplikasi tidak terpengaruh terhadap perubahan dari deskripsi data.
12
ƒ
Meningkatkan concurrency
Pada file-based system, jika dua atau lebih pengguna yang mengakses file
yang sama secara bersamaan, akses itu bisa saling mempengaruhi, dan
bahkan bisa membuat hilangnya informasi. Sedang DBMS dapat mengelola
akses data secara bersamaan.
ƒ
Meningkatkan kemampuan backup dan perbaikan
Pada file-based system, pengguna sendiri yang bertanggung jawab untuk
melindungi data dari kegagalan sistem komputer atau program aplikasi. Hal
tersebut membutuhkan kerja tambahan di mana pengguna harus melakukan
backup data, dan apabila backup tersebut hilang, pengguna harus
mengulang kembali peng-input-an data. Kebalikannya, DBMS modern
menyediakan fasilitas untuk mengurangi jumlah proses yang harus
dilakukan ketika terjadi kegagalan sistem tersebut.
Kekurangan dari DBMS :
ƒ
Kompleksitas
Fungsionalitas yang diharapkan dari DBMS membuat DBMS menjadi
software yang sangat kompleks. Pengguna DBMS harus memahami dengan
baik setiap fungsi dari DBMS untuk mendapatkan keuntungan maksimum
dari DBMS tersebut. Ketidakpahaman atas sistem dapat menyebabkan
pengambilan keputusan perancangan yang buruk akan
dampak serius pada organisasi.
mengakibatkan
13
ƒ
Ukuran
Kompleksitas dan fungsionalitas yang baik membuat DBMS menjadi
sebuah software yang berukuran sangat besar dan membutuhkan disk space
yang sangat besar serta jumlah memory yang besar agar dapat dijalankan
seefisien mungkin.
ƒ
Harga DBMS
Harga DBMS sangat bervariasi tergantung dari lingkungan dan fungsi yang
disediakan termasuk biaya pemeliharaan.
ƒ
Biaya perangkat keras tambahan
Kebutuhan disk storage untuk DBMS dan database menyebabkan
kemungkinan untuk membeli storage tambahan. Selain itu, untuk
mendapatkan perfoma yang diinginkan, dibutuhkan perangkat keras yang
cepat dan baik tetapi mahal.
ƒ
Biaya konversi
Pada beberapa situasi, biaya yang dibutuhkan untuk mengubah aplikasi
agar dapat berjalan pada DBMS yang baru dapat jauh lebih mahal dari
biaya perangkat keras tambahan. Biaya tersebut juga termasuk biaya
pelatihan pegawai untuk menggunakan sistem yang baru, dan mungkin juga
biaya pegawai spesialis untuk membantu konversi dan pelaksanaan sistem.
ƒ
Perfoma
Biasanya
file-based
system
ditulis
untuk
aplikasi
khusus
yang
mengakibatkan perfoma secara umum sangat baik. Akan tetapi DBMS
dibuat secara umum untuk dapat menjalankan berbagai aplikasi yang
14
mengakibatkan beberapa aplikasi berjalan lebih lambat dari yang
seharusnya.
ƒ
Dampak yang besar akibat kegagalan
Pemusatan sumber daya menambah kerawanan pada sistem. Karena semua
pemakai dan aplikasi tergantung pada DBMS, kegagalan pada satu bagian
dapat mengakibatkan sistem terhenti.
2.1.4
Database Language
Data sublanguage terdiri dari dua bagian yaitu Data Definition Language
(DDL) dan Data Manipulation Language (DML). DDL digunakan secara
spesifik untuk skema database, dan DML digunakan untuk membaca dan
memperbarui database. Bahasa ini disebut sebagai data sublanguage karena
tidak memasukkan bentuk pengulangan dan kondisional yang disediakan oleh
bahasa pemrograman tingkat tinggi. Banyak DBMS mempunyai fasilitas untuk
memasukkan sublanguage ke dalam bahasa pemrograman tingkat tinggi seperti
COBOL, Fortran, Pascal, C, C++, Java, Visual Basic, dll.
2.1.4.1 Data Definition Language (DDL)
DDL adalah sebuah bahasa yang membolehkan DBA atau pemakai untuk
menggambarkan dan menamai sebuah entity, attribute, dan relationship yang
dibutuhkan oleh aplikasi, bersama dengan suatu associated integrity dan security
constraint.
Hasil dari kompilasi statement DDL adalah himpunan tabel yang tersimpan
pada kumpulan file tertentu yang disebut sebagai system catalog. System catalog
15
berintegrasi dengan meta-data, di mana data tersebut menjelaskan obyek-obyek
di dalam database dan mempermudah pengaksesan serta manipulasi objek.
Meta-data berisi definisi dari record, data item, dan obyek-obyek lainnya yang
dibutuhkan oleh DBMS. DBMS biasanya memeriksa system catalog sebelum
data aktual diakses pada database. Data dictionary dan data directory biasanya
digunakan untuk menggambarkan system catalog, meskipun data dictionary
biasanya lebih banyak digunakan pada sistem perangkat lunak umum
dibandingkan dengan DBMS.
2.1.4.2 Data Manipulation Language (DML)
DML adalah sebuah bahasa yang menyediakan sejumlah operasi yang
mendukung proses manipulasi data dasar yang ada pada database.
Proses manipulasi data yang biasanya digunakan :
•
Memasukkan data baru ke dalam database.
•
Memodifikasi data yang tersimpan dalam database.
•
Mengambil data yang terdapat dalam database.
•
Menghapus data dari database.
Oleh karena itu, salah satu fungsi utama DBMS adalah mendukung DML
yang dapat digunakan oleh pemakai untuk membangun statement agar
manipulasi data dapat terjadi. Manipulasi data berlangsung pada internal,
conceptual, dan external level. Bagian dari DML yang melibatkan pengambilan
data disebut query language.
16
DML dibedakan menurut cara pengambilan data, yaitu procedural dan nonprocedural. Perbedaan utama antara kedua DML bahwa procedural menjelaskan
bagaimana cara mendapatkan hasilnya sedangkan non-procedural menjelaskan
hasil apa yang akan didapatkan.
2.1.5
Database Application Lifecycle
Sistem informasi adalah sumber yang dapat mengumpulkan, mengelola,
mengatur, dan membagi segala informasi untuk organisasi. Menurut Connolly
(2002, p270) sejak tahun 1970, sistem database telah menggantikan penggunaan
file-based system sebagai bagian sistem informasi dari perusahaan. Oleh karena
itu, banyak organisasi mendirikan bagian yang berfungsi khusus sebagai data
administration (DB) dan database administration (DBA), yang bertanggung
jawab untuk mengelola dan mengatur data perusahaan dan database perusahaan.
Sistem informasi berbasis komputer terdiri dari sebuah database, piranti
lunak database, piranti lunak aplikasi, perangkat keras komputer, dan pemakaian
perseorangan dan perkembangan sistem.
Komponen terpenting dari sistem informasi adalah database. Pemakaian dan
perkembangan dari database harus memenuhi kebutuhan terbesar dari
perusahaan. Sistem Basisdata adalah penerapan database ke dalam sistem
informasi
Tingkatan dari information systems lifecycle atau software development
lifecycle (SDLC) terdiri dari perencanaan, analisis kebutuhan, perancangan,
pembuatan prototype, implementasi, testing, konversi, dan operasi pemeliharaan.
17
Tingkatan dari database application lifecycle memiliki bentuk yang tidak kaku,
tetapi mengikuti bentuk dari bentuk semula yaitu feed back loops.
Untuk aplikasi database kecil, dengan jumlah pemakai yang kecil, siklus
hidup yang diperlukan tidak terlalu kompleks. Meskipun begitu, ketika
merancang database aplikasi menengah ke atas dengan jumlah pemakai dari 10
hingga 1000, menggunakan ratusan query dan program aplikasi, siklus hidup
dapat menjadi sangat kompleks.
18
Database
planning
System
definition
Requirements
collection and
analysis
Database
design
Conceptual
database design
DBMS
selection
Application
design
Logical database
design
Physical
database design
Implementation
Prototyping
Data conversion
and loading
Testing
Operational
maintenance
Gambar 2.1 Database Application Lifecycle
19
Langkah-langkah dalam siklus hidup database aplikasi :
•
Database planning, adalah merencanakan bagaimana setiap langkah dapat
dijalankan seefisien dan seefektif mungkin.
•
System definition, adalah menspesifikasi ruang lingkup dan batasan dari
aplikasi database, pemakai, dan area aplikasi.
•
Requirement collection and analysis, adalah analisa dan pengumpulan
kebutuhan-kebutuhan dari pemakai dan area aplikasi.
•
Database design, adalah perancangan conceptual, logical, dan physical dari
database.
•
DBMS selection, adalah memilih DBMS yang cocok untuk aplikasi
database.
•
Application design, adalah merancang antarmuka pemakai dan program
apikasi yang menggunakan dan memproses database.
•
Prototyping, adalah membuat sebuah model kerja dari aplikasi database
yang membolehkan perancang atau pemakai untuk memvisualisasikan dan
mengevaluasi bagaimana sistem yang dibuat akan berjalan.
•
Implementation, adalah membuat definisi external, conceptual, dan internal
database dan aplikasi program.
•
Data conversion and loading, adalah memasukkan data dari sistem lama ke
sistem baru.
•
Testing, adalah aplikasi database akan diuji untuk mendapatkan kesalahan
dan divalidasi dengan kebutuhan yang dispesifikasi pemakai.
20
•
Operational
maintenance,
adalah
aplikasi
database
telah
diimplementasikan sepenuhnya. Sistem tersebut akan diawasi dan dirawat
berkala. Ketika dibutuhkan, kebutuhan baru dapat ditambahkan ke dalam
aplikasi database melalui langkah-langkah siklus hidup.
2.1.6
Normalisasi
Normalisasi adalah sebuah teknik untuk menghasilkan sebuah relasi dengan
properti yang diinginkan sesuai dengan kebutuhan data dari suatu perusahaan.
Menurut Connolly (2002, p376) proses normalisasi pertama kali dikembangkan
oleh E. F. Cood. Normalisasi seringkali dilakukan dengan cara menjalankan
serangkaian tes pada relasi untuk menentukan apakah itu dapat memenuhi
kebutuhan sesuai dengan bentuk normal.
Proses normalisasi merupakan metoda yang mengidentifikasi relasi
berdasarkan primary key atau candidate key dan ketergantungan fungsional di
antara atribut-atributnya. Proses ini juga berguna untuk menghindari anomaly
update. Anomaly update bisa terjadi karena adanya duplikasi data.
Urutan proses dari normalisasi berdasarkan urutannya :
•
Unnormalized Form (UNF)
Ini merupakan sebuah tabel yang masih memiliki satu atau lebih kumpulan
data yang berulang.
•
First Normal Form (1NF)
Pada tahap ini data yang berada dalam setiap kolom dan baris dibuat
bernilai tunggal. Ini dilakukan dengan cara menghilangkan grup data yang
21
berulang dengan memasukkan data yang cocok pada kolom yang kosong
dari baris yang memiliki data berulang tersebut.
•
Second Normal Form (2NF)
Tahap ini berdasarkan pada konsep full functional dependency. Full
functional dependency mengidentifikasi bahwa jika A dan B adalah atribut
dari sebuah relasi, B memiliki full functional dependency terhadap A jika B
memiliki ketergantungan fungsional terhadap A, tapi tidak pada subset dari
A. Jadi definisi dari 2NF adalah relasi yang 1NF dan setiap atribut yang
bukan primary key memiliki full functional dependency terhadap primary
key.
•
Third Normal Form (3NF)
Ini adalah relasi yang sudah dalam bentuk 1NF dan 2NF, dan dimana tidak
ada atribut yang bukan primary key memiliki transitive dependency
terhadap primary key.
•
Boyce-Codd Normal Form(BCNF)
Suatu relasi dikatakan BCNF jika dan hanya jika, setiap determinan adalah
candidate key. Untuk menentukan apakah suatu relasi adalah BCNF, kita
menentukannya
dengan
mengidentifikasi
semua
determinan
dan
memastikan semua itu adalah candidate key.
•
Fourth Normal Form(4NF)
Sebuah relasi dikatakan 4NF saat relasi tersebut dalam BCNF dan tidak
lagi memiliki non-trivial Multi Valued Dependencies(MVD). MVD sendiri
22
adalah dependensi antara atribut-atribut dalam relasi meskipun relasi
tersebut telah BCNF sehingga menyebabkan redundansi data.
•
Fifth Normal Form(5NF)
5NF atau juga disebut Project-Join Normal Form(PJNF) adalah sebuah
relasi yang tidak lagi memiliki join dependency.
2.1.7
Perancangan Database
Metodologi desain adalah pendekatan terstruktur yang menggunakan
prosedur, teknik, tool, dan bantuan dokumentasi untuk mendukung dan
memfasilitasi proses perancangan. Metodologi desain terdiri dari beberapa fase
berisi langkah-langkah yang membantu perancang menentukan teknik yang
cocok untuk digunakan pada setiap langkah, serta membantu perancang untuk
merencanakan, mengelola, mengontrol, dan mengevaluasi proyek pengembangan
database. Perancangan database terbagi menjadi perancangan konseptual,
perancangan logikal, dan perancangan fisikal.
2.1.7.1 Perancangan Konseptual
Perancangan konseptual adalah proses membangun model informasi yang
digunakan oleh perusahaan, dan terlepas dari segala pertimbangan fisik seperti
program aplikasi, bahasa pemrograman yang digunakan, platform perangkat
keras, dll.
Tahap-tahap perancangan konseptual :
23
o Membangun model data konseptual lokal untuk setiap view
Bertujuan untuk membangun model data konseptual lokal dari
perusahaan untuk setiap view tertentu. Selama analisa, sejumlah
view pemakai mungkin telah diidentifikasi dan tergantung dari
jumlah bagian yang saling overlap di antara view tersebut, beberapa
view pemakai mungkin harus digabungkan untuk membentuk
collective view. Tugas-tugas yang termasuk dalam langkah ini
adalah :
• Mengidentifikasi entity type
Tahap ini bertujuan untuk mengidentifikasi entity type utama dari
view. Salah satu metode yang digunakan untuk mengidentifikasi
entity adalah dengan memeriksa spesifikasi kebutuhan pemakai.
Dari spesifikasi ini, perancang mengidentifikasi kata benda atau
frase benda seperti nomor staff, nama staff. Metode alternatif
untuk mengidentifikasi entity adalah dengan mencari obyek yang
keberadaannya tidak bergantung pada obyek lain. Sebagai contoh
staff adalah entity meskipun nama, tanggal lahir, dan posisi
mereka tidak diketahui.
• Mengidentifikasi relationship type
Tahap ini bertujuan untuk mengidentifikasi relationship penting
yang terdapat di antara entity type yang telah diidentifikasi. Salah
satu metode yang digunakan adalah dengan menggunakan
spesifikasi kebutuhan pemakai di mana biasanya relationship
diindikasikan dengan kata benda atau ekspresi verbal.
24
• Mengidentifikasi dan menghubungkan atribut dengan entity atau
relationship type
Tahap ini bertujuan untuk menghubungkan atribut dengan entity
atau relationship type yang sesuai.
• Menentukan domain atribut
Tahap ini bertujuan untuk menentukan domain untuk setiap
atribut pada model data konseptual lokal. Domain atribut adalah
himpunan dari nilai yang diizinkan untuk satu atau lebih atribut.
• Menentukan atribut candidate dan primary key
Tahap ini bertujuan untuk mengidentifikasi candidate key untuk
setiap entity type dan jika terdapat lebih dari satu candidate key
maka dipilih satu untuk menjadi primary key.
• Mempertimbangkan penggunaan enhanced modeling concept
Tahap ini bertujuan untuk mempertimbangkan penggunaan
enhanced modeling concept seperti specialization/generalization,
aggregation, dan composition.
• Mengecek model dari redundancy
Tahap ini bertujuan untuk mengecek redundancy yang mungkin
terdapat pada model untuk kemudian dihilangkan dari model
tersebut.
• Memvalidasi model konseptual lokal terhadap transaksi pemakai
Tahap ini bertujuan untuk memastikan bahwa model konseptual
lokal mendukung transaksi yang dibutuhkan oleh view.
25
• Meninjau ulang model konseptual lokal bersama dengan pemakai
Untuk meninjau model data konseptual lokal bersama dengan
pemakai untuk memastikan bahwa model tersebut sungguhsungguh merupakan representasi dari view.
2.1.7.2 Perancangan logikal
Perancangan logikal adalah proses membangun model informasi yang
digunakan perusahaan berdasarkan pada model data khusus, tetapi terlepas dari
DBMS dan pertimbangan fisik tertentu. Tahap-tahap perancangan logikal :
o Membuat dan memvalidasi model data logikal lokal untuk
setiap view
Tahap ini bertujuan untuk membangun model data logikal lokal
dari model data konseptual yang menggambarkan view tertentu dari
perusahaan dan kemudian divalidasi untuk memastikan model
tersebut mendukung transaksi yang diperlukan. Langkah-langkah
pada tahap ini adalah :
• Menghilangkan fitur yang tidak sesuai dengan relational model
(optional)
Langkah ini bertujuan untuk memperbaiki model data konseptual
lokal dengan menghilangkan fitur yang tidak sesuai dengan
relational model. Akan tetapi, model data mungkin berisi
beberapa struktur yang tidak dapat dimodelkan dengan mudah
oleh DBMS konvensional, sehingga pada tahap ini struktur
26
tersebut diubah menjadi bentuk yang lebih mudah dikelola oleh
sistem. Secara lengkap tahap ini bertujuan untuk :
-
menghilangkan many-to-many (*:*) binary relationship type
-
menghilangkan many-to-many (*:*) recursive relationship
type
-
menghilangkan complex relationship type
-
menghilangkan atribut multi-valued
• Membuat relasi untuk model data logikal lokal
Langkah ini bertujuan membuat relasi model data logikal lokal
untuk menggambarkan entity, relationship, dan atribut yang telah
diidentifikasi.
Komposisi dari setiap relasi digambarkan dengan Database
Definition Language (DBDL) untuk setiap relasi database lalu
primary key dan alternate/foreign key dari relasi diidentifikasikan.
Perancang harus menggambarkan bagaimana struktur-struktur
dibawah ini dipresentasikan pada model data.
-
Strong entity type
-
Weak entity type
-
One-to-many (1:*) binary relationship type
-
One-to-one (1:1) binary relationship type
a. mandatory participation pada kedua sisi
b. mandatory participation pada salah satu sisi
c. optional participation pada kedua sisi
-
One-to-one (1:1) recursive relationship
27
-
Superclass/subclass relationship type
-
Many-to-many (*:*) binary relationship type
-
Complex relationship type
-
Atribut multi-valued
• Memvalidasi relasi menggunakan normalisasi
Langkah ini bertujuan untuk memvalidasi relasi pada model data
logikal lokal menggunakan teknik normalisasi.
• Memvalidasi relasi terhadap transaksi pemakai
Langkah ini bertujuan untuk memastikan bahwa relasi pada model
data logikal lokal mendukung transaksi yang dibutuhkan oleh
view
• Mendefinisikan integrity constraint
Langkah ini bertujuan untuk mendefinisikan integrity constraint
yang diberikan oleh view. Integrity constraint adalah constraint
yang harus diperhatikan untuk menjaga database agar tetap
konsisten. Ada lima jenis integrity constraint :
-
Data yang dibutuhkan
-
Attribute domain constraint
-
Entity integrity
-
Referential integrity
-
Enterprise constraint
28
• Meninjau ulang model data logikal lokal bersama dengan pemakai
Langkah ini bertujuan untuk memastikan bahwa model data
logikal lokal dan dokumen pendukung yang menggambarkan
model
tersebut
sungguh-sungguh
merupakan
gambaran
sebenarnya dari view.
o Membuat dan memvalidasi model data logikal global
Jika aplikasi database hanya memiliki satu view, maka
perancangan dapat langsung dilanjutkan ke tahap perancangan
fisikal. Akan tetapi, jika aplikasi database memiliki lebih dari satu
view
maka
langkah
selanjutnya
adalah
membangun
dan
memvalidasi model data logikal global. Langkah-langkah pada
tahap ini adalah :
• Menggabungkan model data logikal lokal menjadi model global
Langkah ini bertujuan untuk menggabungkan model data logikal
lokal menjadi sebuah model data logikal global dari sebuah
perusahaan. Pendekatan yang digunakan pada langkah ini
mengacu pada karya tulis oleh Batini dan Lanzerini (1986),
Biskup dan Convent (1986), Spaccapietra et al. (1992), dan
Bouguettaya et al.(1998), dengan tahap-tahap :
-
Meninjau ulang nama dan isi dari entiti/relasi dan candidate
key masing-masing.
-
Meninjau ulang nama dan isi dari relationship/foreign key.
-
Menggabungkan entiti/relasi dari model data lokal.
29
-
Memasukkan (tanpa menggabungkan) entity/relasi yang unik
ke setiap model data lokal.
-
Menggabungkan relationship/foreign key dari model data
lokal.
-
Memasukkan (tanpa menggabungkan) relationship/foreign
key yang unik ke setiap model data lokal.
-
Mengecek apakah ada entity/relasi dan relationship/foreign
key yang hilang.
-
Mengecek foreign key.
-
Mengecek integrity constraint.
-
Menggambar diagram ER/relasi.
-
Meng-update dokumentasi.
• Memvalidasi model data logikal global
Langkah ini bertujuan untuk memvalidasi relasi yang dibuat dari
model data logikal global menggunakan teknik normalisasi dan
untuk memastikan relasi tersebut mendukung transaksi yang
dibutuhkan.
• Mengecek perkembangan di masa depan
Langkah ini bertujuan untuk menentukan apakah terdapat
perubahan penting yang akan terjadi di masa depan dan untuk
memastikan
bahwa
model
data
mengakomodasi perubahan tersebut.
logikal
global
dapat
30
• Meninjau ulang model data logikal global bersama dengan
pemakai
Langkah ini bertujuan untuk memastikan bahwa model data
logikal global merupakan gambaran sebenarnya dari perusahaan.
2.1.7.3 Perancangan Fisikal
Perancangan fisikal database adalah proses pembuatan deskripsi dari
implementasi database ke dalam media penyimpanan, dimana deskripsi itu
menjelaskan relasi dasar, organisasi file, dan indeks yang digunakan untuk
mendapatkan akses yang efisien terhadap data dan integrity constraint, dan
tingkat keamanan. Langkah dari perancangan fisikal database adalah :
o Menterjemahkan model data logikal global ke dalam DBMS
yang dipilih
Tujuan utama dari langkah ini adalah membuat skema relational
database
dari
model
data
logikal
global
yang
dapat
diimplementasikan pada DBMS yang dipilih. Bagian pertama dari
proses ini adalah mengumpulkan informasi yang di dapat selama
perancangan logikal database dan dokumentasi kamus data. Dan
bagian kedua dari proses ini adalah menggunakan informasi tadi
untuk membuat rancangan dari relasi dasar. Proses ini memerlukan
pengetahuan yang dalam mengenai fungsionalitas yang ditawarkan
oleh DBMS yang akan digunakan.
31
• Merancang relasi dasar
Tujuan utama dari bagian ini adalah memutuskan bagaimana
merepresentasikan relasi dasar yang telah diidentifikasi pada
model data logikal global pada DBMS. Yang dilakukan pertama
kali adalah mengumpulkan dan memahami informasi mengenai
relasi yang telah dihasilkan dari perancangan database logikal.
Informasi yang diperlukan dapat diperoleh dari kamus data dan
definisi dari relasi yang digambarkan menggunakan Database
Design Language (DBDL).
• Merancang representasi dari derived data
Tujuan utama dari bagian ini adalah memutuskan bagaimana
merepresentasikan semua derived data yang terdapat pada model
data logikal global pada DBMS. Derived data adalah atribut yang
nilainya didapat dari memeriksa nilai dari atribut-atribut lain.
Contohnya adalah jumlah gaji bulanan adari seluruh pekerja.
Terkadang atribut derived tidak muncul dalam model data logikal,
tetapi ada dalam kamus data.
• Merancang enterprise constraint
Tujuan utama langkah ini adalah merancang enterprise constraint
bagi DM Tujuan utama dari bagian ini adalah memutuskan
bagaimana merepresentasikan relasi dasar yang telah di
identifikasi pada model data logikal global pada DBMS yang akan
digunakan. Pengubahan terhadap relasi sangat tergantung pada
32
peraturan-peraturan organisasi menurut transaksi yang terjadi
yang akan dijelaskan oleh pengubahan itu. Pembuatan enterprise
constraint tergantung terhadap DBMS yang dipilih, beberapa
sistem menyediakan fasilitas yang lebih daripada yang lain untuk
menjelaskan enterprise constraint.
o Merancang Representasi fisikal
Pada langkah ini ditentukan organisasi file yang optimal untuk
menyimpan relasi dasar dan indeks yang dibutuhkan untuk
mendapatkan performa yang dapat diterima. Ada beberapa faktor
untuk menghitung tingkat efisiensi dari database yaitu :
ƒ Transaction throughput. Ini adalah jumlah dari transaksi yang
dapat diproses dalam jangka waktu tertentu.
ƒ Response time. Ini adalah waktu yang dibutuhkan untuk
menyelesaikan sebuah transaksi.
ƒ Disk storage. Ini adalah jumlah dari kapasitas disk yang
dibutuhkan untuk menyimpan database.
Langkah-langkah pada tahap ini adalah :
• Menganalisa transaksi
Pada saat ini, diperlukan untuk mengerti fungsi dari transaksi
yang akan dijalankan oleh database dan untuk menganalisa
transaksi-transaksi
yang
penting.
Untuk
menghasilkan
perancangan database fisikal yang efektif, penting untuk
33
mengetahui transaksi atau query yang akan dijalankan pada
database. Ini termasuk kualitatif dan kuantitatif dari informasi.
Pada penganalisaan transaksi, dicoba
untuk mengidentifikasi
beberapa kriteria seperti transaksi yang berjalan secara berulangulang dan memiliki dampak yang berarti, transaksi yang penting
bagi operasi bisnis dan sebagainya. Informasi ini digunakan untuk
menentukan bagian dari database yang mungkin menyebabkan
masalah bagi perfoma.
• Memilih organisasi file
Tahapan ini digunakan untuk menentukan organisasi file yang
efisien bagi tiap relasi dasar.
• Memilih indeks
Pada bagian ini ditentukan apakah dengan menambah indeks akan
meningkatkan perfoma dari sistem.
• Memperkirakan kebutuhan kapasitas disk
Pada tahap ini diperkirakan jumlah dari kapasitas disk yang
dibutuhkan oleh database yang dibuat.
o Merancang view pemakai
Pada tahapan ini, tujuan utama adalah merancang view
pengguna yang telah didapat selama pengumpulan kebutuhan dan
tahap analisa dari daur hidup aplikasi database relasional.
34
o Merancang mekanisme keamanan
Di bagian ini, dirancang tingkat keamanan dari database yang
telah ditentukan oleh pengguna. Hal ini diperlukan, karena database
mempresentasikan
data
perusahaan
yang
penting
sehingga
keamanannya menjadi sangat penting. Secara umum DBMS
menyediakan dua tipe keamanan, yaitu keamanan sistem dan
keamanan data. Keamanan sistem meliputi akses dan penggunaan
dari database pada tingkat sistem seperti nama pemakai dan
password. Keamanan data meliputi akses dan penggunaan dari
obyek database (seperti relasi dan view) dan aksi yang dilakukan
pemakai terhadap obyek.
o Mempertimbangkan pengontrolan redundancy
Tahap ini bertujuan untuk menentukan apakah penggunaan
redundancy pada lingkungan terkontrol dengan mengurangi
normalisasi dapat meningkatkan perfoma dari sistem.
o Memonitor dan mengatur sistem operasional
Tahap ini bertujuan untuk mengawasi sistem operasional dan
perfoma dari sistem untuk memperbaiki keputusan desain yang
kurang tepat atau penggambaran perubahan kebutuhan.
35
2.2 Teori-teori Khusus yang Berhubungan dengan Topik yang Dibahas
2.2.1 UML
2.2.1.1 Use Case
Sebuah bagian penting dari Unified modelling language (UML) adalah
fasilitas yang memungkinkan kita untuk menggambar sebuah diagram, yaitu
diagram use-case. Use case digunakan selama tahap analisis dalam sebuah
proyek untuk mengidentifikasikan dan membagi fungsi dari sistem. Diagram ini
membagi-bagi sistem menjadi actor dan use cases.
Actors mewakili peran-peran yang dapat dikerjakan oleh user di dalam
sistem. User-user ini dapat berupa manusia, bagian hardware komputer atau
bahkan software sistem yang lain. Salah satu kriteria adalah mereka harus berada
di luar bagian dari use case sebuah sistem. Mereka harus menyediakan masukan
(inputan) ke dalam system dan mereka akan mendapatkan keluaran (output) dari
sistem tersebut.
Use case menjelaskan tentang cara kerja dari sistem setelah mendapat
inputan dari actor. Cara kerja ini dijelaskan secara rinci. Use case menjelaskan
tentang hal-hal seperti, masukan dari seorang actor dan bagaimana keluaran yang
diterima oleh actor lain, dan cara kerja yang dapat merubah suatu masukan
menjadi keluaran.
Use case merupakan suatu diagram yang sangat berguna bagi pihak analis
saat mengelompokkan fungsi-fungsi dari sistem. Hubungan-hubungan antara
cases dan diagram-diagram yang berhubungan dapat membantu pihak analis
untuk membuat struktur dari sebuah sistem. Tetapi use cases bukanlah sebuah
alat desain, mereka tidak digunakan untuk memspesifikasikan sebuah software
36
atau mereka tidak melibatkan sebuah keberadaan kelas-kelas dan obyek-obyek.
Use case merupakan sebuah deskripsi tentang sebuah sistem yang secara murni
terpisah dari tahap desain sebuah software.
Gambar 2.2 Use Case Diagram
2.2.1.2 Sequence diagram
Sequence diagram berisi informasi yang sama dengan collaboration
diagram, tetapi menekankan pada alur sekuensial sebuah pesan daripada
hubungan antara obyek-obyek. UML sequence diagram menggambarkan alur
dari logika di dalam sistem secara visual, sehingga memungkinkan kita untuk
menyimpan dan mengvalidasi logika kita. Sequence diagram juga digunakan
secara umum untuk keperluan analisis dan desain.
37
Gambar 2.3 Sequence Diagram
2.2.1.3 Class diagram
UML class diagrams adalah sebuah alat analisis dan desain yang
beorientasi obyek. Class diagrams memperlihatkan kelas-kelas yang ada pada
sistem, hubungan-hubungan yang ada (termasuk inheritance, aggregation, dan
association), dan operasi-operasi serta atribut-atribut dari kelas. Class diagrams
digunakan untuk sebuah variasi tujuan yang luas, termasuk kedua modeling
conceptual atau domain dan desain model secara detil.
Model class di dalam UML adalah sebuah artifak utama yang diciptakan
untuk menggambarkan struktur logika dari sebuah sistem pada software. Model
class mengambil data-data dan cara kerja dari obyek-obyek di dalam domain
model. Class adalah sebuah entity logika dasar pada UML. Class model
menjelaskan data dan cara kerja dari sebuah unit yang terstruktur. Class adalah
38
sebuah template atau model yang merupakan dasar terciptanya obyek-obyek
selama run-time. Ketika kita mengembangkan sebuah model logical seperti
struktur hirarki di dalam UML, kita secara langsung berhubungan dengan class.
Gambar 2.4 Class Diagram
2.2.2
ERD
Entity Relationship modelling banyak digunakan untuk menampilkan
model konseptual khususnya berhubungan dengan desain database.
Entity dan relationship diwakilkan dalam bentuk diagram, di ER diagram:
-
Kotak mewakili type entity.
-
Diamond dan hubungan garis mewakilkan type dari relationship yang
ada diantara mereka.
39
-
Nomor yang ada di persegi yang berada pada akhir garis relationship
menunjukkan nomor minimum atau maksimum dari entity yang bisa
digunakan. Di sebut cardinality relationship.
Untuk menentukan cardinality dari relationship diperlukan beberapa
petunjuk. Jika entity X dan Y berhubungan maka kita harus menganggap X
dihubungkan dengan Y dan Y dihubungkan dengan X.
Berikut type relationship yang diidentifikasikan:
• one-to-one (1:1)
Relationship Staff Manages Branch
Multiplicity dari relationship Staff Manages Branch (1:1)
• one-to-many (1 : *)
Relationship dari Staff Oversees PropertyForRent
40
Multiplicity dari relationship Staff Oversees PropertyForRent
• many-to-many (* : *)
Relationship Newspaper Advertises PropertyForRent
Multiplicity dari relationship Newspaper Advertises PropertyForRent (*:*)
Download