BAB 2 LANDASAN TEORI
2.1. Teori Basis Data 2.1.1
Pengertian Data Menurut Atzeni, Ceri, Paraboschi, Torlone (2003, p2), data adalah informasi
yang
disimpan,
yang
memerlukan
terjemahan
untuk
menghasilkan informasi. Menurut Hoffer, Prescott, and McFadden (2002, p4), data adalah fakta yang telah diketahui, yang dapat dikumpulkan dan disimpan dalam media komputer. Data terdiri dari fakta-fakta dan simbol-simbol angka yang secara relatif mempunyai arti bagi user (McLeod and Schell, 2001, p12).
2.1.2
Pengertian Sistem Sistem merupakan sekelompok elemen-elemen yang terintegrasi dengan maksud umum untuk mencapai suatu tujuan. (McLeod and Schell, 2001, p9) Menurut pendapat O’Brien (2002, p8) sistem secara sederhana dapat diartikan sebagai sebuah kumpulan dari elemen-elemen yang saling berhubungan atau berinteraksi yang membentuk suatu kesatuan. Sistem adalah kumpulan dari komponen yang terorganisir, yang digunakan untuk menyelesaikan satu atau beberapa fungsi dan tugas spesifik tertentu. (Sumber : www.ichnet.org) 6
7 Menurut Mannino (2001, p192), sistem adalah kumpulan dari komponen-komponen yang berhubungan dan bekerja bersama-sama untuk menghasilkan suatu tujuan tertentu. Tujuan tersebut dicapai dengan berinteraksi dengan lingkungan dan fungsi tertentu.
2.1.3
Pengertian Basis Data Menurut Hoffer, Prescott, and McFadden (2002, p25), basis data adalah sebuah kumpulan terorganisir dari data-data yang berhubungan secara logikal, yang biasanya dirancang untuk memenuhi kebutuhankebutuhan informasi dari multiple user dalam sebuah organisasi. Menurut Post (2005, p2), basis data adalah sebuah kumpulan data yang di simpan dalam suatu format yang sudah distandarisasi, yang didesain agar dapat digunakan oleh multiple user. Menurut Ramakrishnan (2003, p4), basis data adalah kumpulan data-data, yang biasanya menggambarkan aktivitas dari satu atau lebih organisasi yang berhubungan
2.1.4. Karakteristik Basis Data Menurut Mannino (2001, pp4-5), basis data mempunyai beberapa karakteristik yaitu : •
Persistent Data berada dalam salah satu bagian dari tempat penyimpanan yang stabil, misalnya magnetic disk, sebagai contoh sebuah organisasi memerlukan data tentang konsumen, supplier, dan inventory dalam
8 suatu penyimpanan yang stabil karena data-data ini sering digunakan berulang-ulang. Sebuah variabel dalam program komputer tidak akan ada terus menerus (persistent) karena berada dalam memori utama dan akan hilang setelah program dimatikan. Persistent tidak berarti bahwa data akan ada selamanya, ketika data tidak diperlukan atau tidak relevan lagi maka data dapat dihilangkan atau tetap disimpan •
Shared Basis data dapat digunakan oleh multiple user. Sebuah basis data menyediakan memori yang umum untuk banyak fungsi dalam organisasi. Misalnya, basis data dapat mendukung perhitungan gaji, evaluasi kinerja, menyediakan laporan-laporan dan sebagainya.
•
Interrelated Data yang disimpan dalam unit-unit yang terpisah dapat dihubungkan
untuk
mendapatkan
suatu
keseluruhan. Misalnya basis data konsumen
gambaran
secara
menghubungkan
dengan data order untuk memfasilitasi proses order (pemesanan)
2.1.5
Kelebihan dan Kekurangan Basis Data Menurut Hoffer, Prescott, and McFadden (2002, pp21-23), Basis data mempunyai beberapa keuntungan antara lain : •
Program Data Independence Dengan adanya basis data, maka deskripsi data disimpan dalam
9 lokasi pusat yang disebut repository. Properti sistem basis data ini memungkinkan data organisasi untuk diubah dan dikembangkan tanpa mengubah aplikasi program yang memproses data. •
Minimal Data Redundancy Tujuan dari basis data adalah mengintegrasikan data yang dulunya tersebar menjadi satu struktur logikal. Basis data tidak menghilangkan semua redundanci tetapi membantu desainer untuk mengontrol tipe dan jumlah redundansi itu secara hati-hati.
•
Improved Data Consistency Dengan mengontrol atau menghilangkan redundansi data, maka akan mengurangi kemungkinan inconsistency data (meningkatkan konsistensi antar data). Misalnya jika alamat konsumen hanya disimpan dalam satu tempat maka alamat tersebut tidak dapat diragukan lagi kebenarannya.
•
Improved Data Sharing Sebuah basis data didesain untuk digunakan sebagai sumber informasi perusahaan yang dapat digunakan oleh semua orang. User terotorisasi internal maupun eksternal dapat menggunakan basis data ini tetapi dengan kemampuan yang berbeda dalam menggunakan fasilitas basis data ini.
•
Increased Productivity of Application Development Keuntungan utama dari basis data adalah dapat mengurangi waktu dan biaya untuk pengembangan aplikasi bisnis baru.
10 •
Enforcement of Standards Ketika basis data diimplementasikan dengan dukungan penuh dari manajemen maka administrator basis data seharusnya akan berfungsi sebagai orang yang bertanggung jawab untuk menghasilkan suatu standarisasi data untuk organisasi.
•
Improved Data Quality Dengan adanya database maka dapat diberikan batasan-batasan (integrity constraints) sehingga kualitas data dapat terjamin.
•
Improved Data Accessibility and Responsiveness Dengan relasional database , end users yang tidak mempunyai kemampuan ataupun pengalaman programming bisa mendapatkan dan menampilkan data bahkan melewati batasan departemen.
•
Reduced Program Maintenance Untuk mengurangi kegiatan maintenance program maka data yang disimpan harus dapat sering diubah untuk beberapa alasan, misalnya adanya tambahan data yang baru, format data berubah dan sebagainya. Selain itu penggunaan basis data menurut Hoffer, Prescott, and McFadden (2002, p23-24) juga mempunyai resiko dan biaya antara lain : a. New, Specialized Personnel Sering kali, organisasi yang menggunakan basis data perlu untuk mempekerjakan atau melatih orang untuk mendesain dan
11 mengimplementasikan basis data, menyediakan service basis data, dan mengatur staff yang terdiri dari orang-orang baru. b. Installation and Management Cost and Complexity Multiuser database management system adalah software yang sangat kompleks dan mempunyai harga initial yang tinggi, memerlukan staff yang telah terlatih untuk meng-install, mengoperasikan serta setiap tahun memerlukan pemeliharaan dan biaya pendukung. Meng-install suatu sistem juga mungkin memerlukan hardware yang lebih baik dan sistem komunikasi dalam organisasi. c. Conversion Cost Biaya juga diperlukan untuk mengkonversi sistem lama menjadi sistem basis data yang modern, yang dapat diukur dengan uang dan waktu. d. Need for Explicit Backup and Recovery Sebuah basis data yang digunakan secara bersama-sama haruslah akurat dan dapat digunakan setiap saat. Hal ini mengharuskan prosedur-prosedur seperti itu dikembangkan dan digunakan
untuk
menyediakan
backup
dari
data,
untuk
memulihkan basis data bila terjadi kerusakan. e. Organizational Conflict Penggunaan basis data secara bersama-sama dalam satu perusahaan memerlukan kesepakatan dalam hal definisi data dan kepemilikan data, seperti halnya juga pertanggungjawaban
12 terhadap keakuratan dalam pemeliharaan data. Pengalaman telah membuktikan bahwa konflik yang terjadi pada definisi data, format data, pemograman data (coding), dan kemampuan untuk mengupdate data yang digunakan telah menjadi masalah yang sering dan sulit untuk diselesaikan. Untuk menangani masalah ini memerlukan komitmen organisasi dalam basis data.
2.1.6
Komponen Lingkungan Basis Data Menurut Hoffer, Prescott dan McFadden (2002, pp24-25), ada beberapa komponen dalam lingkungan basis data yaitu : •
Computer-aided software engineering (CASE) tools CASE tools merupakan tools automata yang digunakan untuk mendesain basis data dan program aplikasi
•
Repository Pusat penyimpanan definisi-definisi data, relasi antar data, format layar dan laporan.
•
Database Management System (DBMS) Perangkat lunak komersial yang digunakan untuk mendefinisikan, membuat, memelihara dan menyediakan akses terkontrol terhadap basis data dan juga repository
•
Basis data Suatu kelompok yang terorganisir dari data-data yang berhubungan, biasanya didesain untuk memenuhi kebutuhan informasi multiple user
13 dalam organisasi •
Program Aplikasi Program komputer yang digunakan untuk membuat dan memelihara basis data serta menyediakan informasi kepada user
•
User Interface Bahasa, menu, dan fasilitas lainnya yang membuat user dapat berinteraksi dengan beragam komponen sistem.
•
Administrator data Orang-orang yang bertanggung jawab atas seluruh sumber informasi yang ada di organisasi.
•
System Developer Orang-orang seperti sistem analist dan programmer yang mendesain program aplikasi baru
•
End Users Orang-orang yang berada pada organisasi yang menambah, mengurangi serta mengubah data dalam basis data dan orang yang meminta atau menerima informasi dari basis data.
2.1.7
Sistem Manajemen Basis Data Menurut Post (2005, p2), sistem manajemen basis data adalah suatu perangkat lunak yang mendefinisikan sebuah basis data, menyimpan data, mendukung bahasa query, menghasilkan laporan, dan membuat tampilan data entry.
14 Menurut Ramakrishnan (2003, p4), sistem manajemen basis data adalah suatu perangkat lunak yang didesain untuk mendukung dalam memelihara dan menggunakan koleksi data yang besar. Sebuah DBMS terdiri dari sebuah kumpulan data-data yang saling berhubungan dan kumpulan program-program untuk mengakses data tersebut (Silberschatz et.al, 2002, p21). Menurut Connolly and Begg (2002, p16), secara khusus DBMS menyediakan fasilitas-fasilitas berikut : •
Mengijinkan pengguna untuk menentukan basis data, biasanya melalui Data Definition Language (DDL). DDL menyediakan fasilitas untuk menspesifikasi tipe data, struktur, dan batasan data yang bisa disimpan di basis data
•
Mengijinkan pengguna untuk memasukkan, mengupdate, menghapus dan mengambil data dari basis data, yang dilakukan melalui Data Manipulation Language (DML).
•
DBMS juga menyediakan akses kontrol terhadap basis data. Contoh akses kontrol yang tersedia di DBMS : a.
Sistem sekuriti, yang dapat mencegah pengguna yang tidak terotorisasi mengakses basis data
b.
Integrity system, menangani konsistensi penyimpanan data.
c.
Concurrency
and
Control
System,
yang
memungkinkan
pembagian akses pengguna ke basis data d.
Recovery Control System, yang dapat mengembalikan basis data
15 ke keadaan konsisten awal apabila terjadi kesalahan pada perangkat lunak maupun perangkat keras e.
User Accesible Catalog, yang berisi deskripsi data yang terdapat dalam basis data.
2.1.8
Data Definition Language (DDL) Menurut Connolly and Begg (2002, p40), DDL adalah bahasa yang memungkinkan seorang administrator basis data atau user untuk mendeskripsikan dan menentukan entiti, atribut, dan relasi yang dibutuhkan aplikasi, bersama dengan semua batasan-batasan integritas dan keamanan (integrity and security constraints). Hasil dari kompilasi statemen DDL adalah kumpulan dari tabel yang disimpan di file khusus yang disebut system catalog. Sementara istilah data dictionary dan data directory digunakan untuk mendeskripsikan system catalog. Menurut Brown (2001, p64), DDL adalah sekumpulan perintah yang digunakan untuk mendefinisikan atau memodifikasi struktur dari fitur skema yang ada, seperti tabel, view, fungsi, prosedur, tipe data, dan sebagainya. Prinsip dasar dari pernyataan DDL adalah CREATE, ALTER dan DROP.
2.1.9
Data Manipulation Language (DML) Menurut Brown (2001, p64), DML adalah sekumpulan perintah yang digunakan untuk membaca dan memodifikasi nilai data yang diakses melalui database. Empat operasi utama dari DML adalah SELECT,
16 INSERT, UPDATE dan DELETE. Menurut Connolly and Begg (2002, p41), DML adalah bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi manipulasi data dasar dari data yang tersimpan di basis data Secara umum operasi DML mencakup : •
Pemasukkan data baru ke dalam basis data
•
Pemodifikasian dari data yang telah tersimpan dalam basis data
•
Pengambilan data yang terdapat dalam basis data
•
Penghapusan data yang terdapat dalam basis data
2.1.10 Entity Relationship Modelling (ER Modelling) Berdasarkan pendapat Silberschatz, et.al (2002, p8) Entity Relationship Data Model didasarkan pada persepsi terhadap dunia nyata yang terdiri dari kumpulan objek-objek dasar, yang disebut entities, dan hubungan (relationship) antara objek-objek ini. Sebuah entiti adalah sebuah ‘benda’ atau ‘objek’ di dunia nyata yang dapat dibedakan dari objek-objek lainnya. Contohnya setiap orang adalah sebuah entiti. ER Modelling adalah pendekatan top-down dalam perancangan basis data yang dimulai dengan mengidentifikasi data-data penting yang disebut entities dan hubungan (relationship) antara data-data tersebut harus direpresentasikan dalam model. (Connolly and Begg, 2002, p330). Berikut ini dijelaskan konsep dasar dari ER Modelling sebagai berikut:
17 a. Tipe Entiti Tipe entiti merepresentasikan kumpulan dari objek yang ada pada ‘dunia nyata’ dengan properti yang sama. Sebuah tipe entiti ada secara independen dan bisa berbentuk objek dengan keberadaan fisik atau nyata ataupun objek yang tidak nyata atau abstrak. b. Tipe Relasi Tipe relasi adalah kumpulan hubungan yang mempunyai arti antara tipe-tipe entiti. Setiap tipe relasi akan diberikan nama yang menggambarkan fungsinya, misalnya tipe relasi yang dinamakan Powns, yaitu relasi yang menghubungkan entitiy PrivateOwner dan PropertyForRent ¾ Degree of relationship type Menyatakan jumlah entiti yang berpartisipasi dalam relasi. Entiti dengan degree dua dinamakan binary, sedangkan entiti dengan degree tiga disebut ternary, entiti dengan degree empat dinamakan quaternary. Suatu relasi dapat disebut relasi yang kompleks bila relasi tersebut mempunyai degree yang lebih tinggi dari binary ¾ Relasi Rekursif Merupakan tipe relasi dimana tipe entiti yang sama berpartisipasi lebih dari satu kali dalam peran yang berbeda c. Atribut Merupakan sifat dari sebuah entiti atau tipe relasi, misalnya entiti staff bisa digambarkan dengan atribut staffNo, nama, jabatan dan gaji.
18 Atribut ini mempunyai nilai yang menggambarkan setiap entiti dan merepresentasikan bagian utama dari data yang akan disimpan dalam basis data. ¾ Domain Atribut Merupakan kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih atribut, misalnya untuk atribut noKamar harus diisi dengan nilai antara 1 sampai 15. ¾ Simple dan composite attributes •
Simple attribute adalah atribut yang tersusun dari sebuah komponen yang ada secara independen. Simple attribute tidak dapat dipecah lagi menjadi atribut yang lebih kecil, biasanya disebut dengan atomic attribute, contohnya adalah jabatan, gaji pada entiti staff.
•
Composite attribute adalah atribut yang tersusun dari banyak komponen, setiap komponen itu ada secara independen. Composite attribute dapat dipecah lagi menjadi komponenkomponen independen yang lebih kecil, misalnya entiti cabang dengan nilai (163 Main St, Glasgow, G119QX) dapat dipecah menjadi atribut jalan(163 Main St). kota (Glasgow), kodePos(G11 9QX)
¾ Single-Value dan Multi-Value Attributes •
Single-valued attribute adalah atribut yang hanya mempunyai sebuah nilai untuk setiap tipe entiti. Hampir sebagian besar
19 atribut adalah single-value, misalnya pada entiti cabang mempunyai noCabang (B003), noCabang ini adalah singlevalue atribut. •
Multi-valued attribute merupakan atribut yang mempunyai banyak nilai untuk setiap tipe entiti, misalnya pada noCabang B003 mempunyai noTelp 0141-339-2178 dan 0141-339-4439. Pada kasus ini, noTelp merupakan multi-value atribut.
¾ Derived Attributes Derived
attributes
merupakan
sebuah
atribut
yang
merepresentasikan sebuah nilai yang berasal dari nilai sebuah atribut yang berhubungan atau set atribut, dan tidak harus berada dalam tipe entiti yang sama. ¾ Keys •
Candidate key merupakan kumpulan minimal dari atribut yang secara unik mengidentifikasikan tipe entiti tertentu
•
Primary key adalah candidate key yang dipilih untuk secara unik mengidentifikasikan suatu tipe entiti. Candidate key lainnya yang tidak dipilih menjadi primary key disebut dengan alternate key
•
Composite key adalah candidate key yang terdiri dari dua atau lebih atribut
d. Strong and weak entity types ¾ Strong entity adalah entiti yang keberadaannya tidak tergantung
20 dengan entiti lain, misalnya entiti staff, cabang. Karakteristik dari strong entity adalah setiap entiti dapat diidentifikasikan dengan primary key dari tipe entiti itu ¾ Weak entity adalah entiti yang keberadaannya tergantung dari entiti lain. Karakteristik dari weak entity adalah atribut yang terdapat pada entiti tersebut tidak dapat mengidentifikasikan tipe entiti itu secara unik e. Structural Constraints Multiplicity merupakan jumlah kemunculan (occurence) yang mungkin dari sebuah tipe entiti yang berhubungan dengan kemunculan tunggal dari sebuat tipe entiti yang berhubungan melalui relasi tertentu (Connolly and Begg, 2002, p344). Contohnya beberapa batasan-batasan (constraints) termasuk syarat bahwa sebuah properti sewa harus mempunyai seorang pemilik dan setiap cabang harus mempunyai staff. Tipe utama dari batasanbatasan dalam relasi ini disebut multiplicity. Multiplicity membatasi cara entiti-entiti saling terhubung. Batasan ini dapat dibuat oleh organisasi ataupun user Tingkat relasi yang umum antar entiti adalah binary. Berikut ini adalah relasi binary yang sering terjadi : 1.
Relasi One-to-One (1:1) Relasi dimana setiap entiti yang ada hanya dapat mempunyai maksimal 1 relasi dengan entiti yang lain
21
Bud
R1
A
R2
B
Fik Kope
Staff
mengatur
cabang
(Entiti)
(tipe relasi)
(Entiti)
Gambar 2.1 Relasi one-to-one antara cabang dan staff
Pada gambar diatas relasi yang terjadi adalah relasi one-to-one, dimana setiap staff yang ada hanya mengatur satu cabang. 2. Relasi One-to-Many (1:*) Relasi dimana setiap entiti yang ada dapat mempunyai satu relasi atau lebih dari satu relasi dengan entiti yang lain
Bud
R1
Ani
Fik
R2
Ana
Kope
R3
Ano
Staff
melayani
konsumen
(Entiti)
(tipe relasi)
(Entiti)
Gambar 2.2 Relasi one-to-many antara staff dan konsumen
Pada gambar diatas relasi yang terjadi adalah relasi one-to-many dimana setiap staff dapat melayani lebih dari 1 konsumen.
22 3. Relasi Many-to-Many (*:*) Relasi dimana setiap entiti dapat mempunyai lebih dari satu relasi dengan entiti lainnya.
Kompas
R1
P1
IndoPos
R2 R3 R4
P2
Tempo
P3
Koran
mengiklankan
Rumah
(Entiti)
(tipe relasi)
(Entiti)
Gambar 2.3 Relasi many-to-many antara koran dan iklan
Pada gambar diatas relasi yang terjadi adalah relasi many-to-many dimana setiap koran dapat mengiklankan lebih dari 1 rumah. ¾ Cardinality dan Participation Constraints Multiplicity terdiri dari dua batasan yaitu cardinality dan participation. Cardinality menggambarkan jumlah maksimum relasi yang mungkin terjadi dari sebuah entiti yang berpartisipasi dalam tipe relasi. One-to-one(1:1), one-tomany(1:*), dan many-to-many(*:*) merupakan cardinality dari relasi binary. Participation menentukan apakah semua atau hanya sebagian dari entiti yang berpartisipasi dalam relasi.
23
Cardinality
Satu branch diatur oleh satu anggota dari staff
Staff staffNo
Satu branch diatur oleh satu anggota dari staff
Branch branchNo 1..1
0..1
Semua cabang diatur
Tidak semua staff mengatur cabang
Participation Gambar 2.4 Cardinality dan Participation antara Branch dan Staff
f. Permasalahan dengan model ER Dalam membangun ER model, terdapat beberapa masalah yang mungkin muncul yang biasanya disebut connection traps karena kesalahan interpretasi dari makna relasi tertentu. Dua tipe connection traps adalah : •
Fan Traps Fan Traps terjadi ketika sebuah model merepresentasikan relasi diantara entiti tapi alur/jalan antara entiti tersebut tidak jelas (ambigu)
•
Chasm traps Chasm traps terjadi ketika sebuah model menyatakan
24 keberadaan relasi antar entiti, tetapi alur/jalan antara entiti tersebut tidak ada
2.1.11 Normalisasi Normalisasi adalah teknik untuk memproduksi sekumpulan relasi dengan properti yang diinginkan, dengan kebutuhan data yang diberikan enterprise. (Connolly and Begg, 2002, p376). Adapun proses normalisasi adalah sebagai berikut : a.
First Normal Form (1NF) Suatu kondisi sebelum masuk ke proses normalisasi adalah Unnormalized Form (UNF), yaitu kondisi dimana sebuah tabel mengandung satu atau lebih repeating group. Sedangkan 1NF adalah relasi dimana gabungan dari tiap kolom dan baris mengandung satu dan hanya satu nilai
b.
Second Normal Form (2NF) Yaitu relasi yang terdapat di dalam 1NF dan tiap atribut non-primary key bersifat bergantung fungsional penuh terhadap primary key
c.
Third Normal Form (3NF) Yaitu relasi yang terdapat pada 1NF dan 2NF, dimana tidak ada atribut non-primary key yang bergantung transistif terhadap primary key
d.
Boyce-Codd Normal Form (BCNF) Relasi yang disebut BCNF, adalah relasi yang hanya dan
25 hanya jika setiap determinan adalah kunci kandidat. e.
Fourth Normal Form (4NF) Yaitu relasi yang terdapat dalam Boyce-Codd normal form dan tidak mengandung ketergantungan bernilai banyak
f.
Fifth Normal Form (5NF) Didefinisikan sebagai relasi yang tidak mempunyai join depedency
2.1.12 4th GL (Fourth Generation Language) 4th GL atau bahasa generasi keempat adalah bahasa komputer yang diciptakan untuk mengimprovisasi produktivitas dari bahasa generasi ketiga (3rd GL). Fitur utama yang terdapat pada 4th GL adalah sistem manajemen basis data yang sudah terintegrasi, bahasa query, pembuatan laporan dan fasilitas definisi layar. Sedangkan beberapa fitur tambahannya diantaranya adalah pembangkit grafik, fungsi decision support dan fungsi analisa statistik. (Sumber : http ://sel.gsfc.nasa.gov) Menurut Connolly and Begg (2002, p42) bila dibandingkan dengan 3rd GL yang merupakan bahasa pemrograman prosedural, 4th GL merupakan bahasa pemrograman non prosedural: user mendefinisikan apa yang akan dilakukan, dan bukan bagaimana. Keunggulan yang ditawarkan oleh 4th GL adalah line of codes yang lebih sedikit dibanding 3rd GL dan peningkatan produktivitas. Contoh dari bahasa generasi keempat : SQL dan QBE.
26 4th GL mencakup : •
Bahasa presentasi, seperti bahasa query dan report generator
•
Bahasa spesialisasi, seperti spreadsheet dan bahasa basis data
•
Generator aplikasi (application generator) yang mendefinisikan, mengupdate, dan mengambil data dari basis data untuk membangun aplikasi
•
Bahasa dengan level yang sangat tinggi (very high-level language), yang digunakan untuk membuat kode aplikasi.
27 2.1.13 Siklus Hidup Aplikasi Basis data Siklus / daur hidup sebuah aplikasi basis data menurut Connolly and Begg (2002, p271 ) digambarkan sebagai berikut :
Perencanaan Basis Data Definisi Sistem
Analisa dan Pengumpulan Kebutuhan Desain Basis data Desain Konseptual Basis data Pemiihan DBMS (optional)
Desain Aplikasi Desain Logikal Basis data Desain Fisikal Basis data
Protoyping (optional)
Implementasi
Konversi dan Loading Data Testing
Perawatan Operasional
Gambar 2.5 The Stage of Database Application Lifecycle
28 Adapun penjelasan dari daur hidup diatas adalah : a.
Perencanaan Basis Data Perencanaan basis data adalah aktivitas manajemen yang memungkinkan tahapan dari aplikasi basis data untuk dapat direalisasikan seefisien dan seefektif mungkin. Perencanaan basis data harus dapat diintegrasikan dengan keseluruhan strategi sistem informasi organisasi. Terdapat tiga hal penting yang terlibat dalam memformulasikan
sebuah
strategi
sistem
informasi
dengan
perencanaan basis data, yaitu : •
Mengidentifikasi rencana dan tujuan perusahaan dengan penentuan sistem informasi yang diperlukan
•
Mengevaluasi sistem informasi yang digunakan sekarang untuk menentukan kekuatan dan kelemahan
•
Penilaian tentang peluang teknologi informasi yang mungkin menghasilkan keuntungan yang kompetitif Perencanaan basis data juga harus meliputi pengembangan
standar pengumpulan data, bagaimana penetapan format dan dokumentasi yang diperlukan, bagaimana desain dan implementasi diproses. b.
Definisi Sistem Aktivitas utamanya adalah menentukan ruang lingkup dan batasan dari aplikasi basis data dan user view utama.
29 Menurut Connolly and Begg (2002, p275) User View mendefinisikan apa yang dibutuhkan aplikasi basis data dari sudut pandang peran pekerjaan tertentu (misal manajer atau supervisor) atau area aplikasi enterprise (misal marketing, personil, atau kontrol stok) Sebuah aplikasi basis data dapat mempunyai satu atau lebih user view. Mengidentifikasi user view adalah aspek yang penting dalam mengembangkan aplikasi basis data, karena dapat membantu untuk memastikan tidak ada pengguna utama dari basis data yang terlupakan saat membangun dan mengembangkan kebutuhankebutuhan untuk aplikasi yang baru c.
Analisa dan Pengumpulan Kebutuhan Yaitu proses mengumpulkan dan menganalisa informasi mengenai bagian dari organisasi yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna sistem baru. Informasi tersebut diambil dari tiap user view yang penting, dimana didalamnya termasuk : •
Deskripsi tentang data yang digunakan atau dibuat
•
Detil dari bagaimana data akan digunakan atau dibuat
•
Kebutuhan tambahan untuk aplikasi basis data baru
Pada bagian ini dilakukan pengumpulan dan analisa informasi tentang bagian-bagian dari enterprise yang akan menggunakan atau
30 terkait dengan basis data yang akan dibuat. Untuk itu digunakan teknik Fact Finding Techniques Terdapat lima teknik Fact Finding yang umum digunakan : 1. Mengevaluasi dokumen 2. Wawancara 3. Mengobservasi jalannya kegiatan kerja perusahaan 4. Penelitian 5. Kuisioner d.
Desain Basis Data Adalah proses dalam menciptakan desain untuk basis data yang akan mendukung operasi dan tujuan enterprise. Desain basis data dibuat dalam tiga fase utama, yaitu : •
Desain konseptual basis data. Proses membangun model informasi yang digunakan dalam sebuah enterprise, terbebas dari semua pertimbangan fisik
•
Desain logikal basis data Proses membangun model informasi yang digunakan dalam sebuah enterprise yang didasarkan oleh data model spesifik, dan terbebas dari DBMS tertentu dan pertimbangan fisik lainnya.
•
Desain fisikal basis data Proses memproduksi sebuah deskripsi dari implementasi basis data dalam secondary storage, yang menjelaskan relasi dasar,
31 organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke data, dan setiap integrity constraint yang saling berhubungan dan juga pengukuran keamanan (security). e.
Penyeleksian DBMS Pada tahap ini dilakukan seleksi DBMS yang cocok untuk mendukung aplikasi basis data. Berikut ini adalah tahapan utama untuk menyeleksi basis data adalah : •
Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan
•
Membuat perbandingan mengenai dua atau tiga produk
•
Mengevaluasi produk-produk DBMS yang dipilih
•
Merekomendasikan pemilihan DBMS dan membuat laporan hasil evaluasi produk-produk DBMS tersebut
f.
Desain Aplikasi Yaitu mendesain antarmuka pengguna dan program aplikasi yang menggunakan dan memproses basis data. Pada tahap ini harus dipastikan semua spesifikasi kebutuhan pengguna terdapat di dalam desain aplikasi untuk aplikasi basis data. Desain aplikasi dibagi menjadi dua aspek, yaitu : •
Desain transaksi Transaksi merupakan suatu unit logikal dari pekerjaan,
32 yang biasanya melibatkan beberapa operasi basis data (C. J. Date, 2000, p16). Atau transaksi dapat juga diartikan sebagai sebuah atau serangkaian aksi, yang dilakukan oleh seorang user atau program aplikasi, yang mengakses atau mengubah isi dari basis data (Connolly and Begg, 2002, p551). Terdapat tiga tipe utama transaksi : -
Retrieval Transaction, contohnya tampilan detil data properti (data ditampilkan dalam bentuk angka)
-
Update
Transaction,
contohnya
operasi
untuk
memasukkan detil data properti baru ke dalam basis data. -
Mixed Transaction, contohnya operasi untuk mencari detil data properti, menampilkannya dan kemudian mengupdate nilainya
• g.
Panduan Desain Antarmuka Pengguna
Prototyping Prototyping
adalah
proses
membangun
model
kerja
(working model) dari aplikasi basis data. Tujuan utama dari membangun prototype aplikasi basis data adalah untuk memungkinkan pengguna menggunakan prototype tersebut untuk mengidentifikasi fitur dari sistem yang bekerja dengan baik, dan apabila memungkinkan untuk dapat menyarankan improvisasi atau bahkan membuat fitur baru ke aplikasi basis data
33 h.
Implementasi Yaitu realisasi fisik dari basis data dan desain aplikasi. Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih, atau dengan menggunakan Graphical User Interfasce (GUI), yang menyediakan
fungsionalitas
yang
sama
dengan
saat
menyembunyikan statemen low-level DDL. Program aplikasi diimplementasikan menggunakan bahasa generasi ketiga atau keempat (3GL atau 4GL). Bagian dari program aplikasi ini adalah transaksi basis data, yang diimplementasikan dengan menggunakan Data Manipulation Language (DML), yang biasanya sudah terdapat dalam bahasa pemrograman. Selain itu pada tahap ini diimplementasikan pula sekuriti dan kontrol integritas. i.
Loading dan Konversi Data Pada tahap ini dilakukan transfer semua data ke dalam basis data yang baru dan mengkonversi aplikasi yang ada untuk dijalankan di basis data yang baru.
j.
Testing Yaitu proses mengeksekusi program aplikasi dengan tujuan menemukan kesalahan Beberapa keuntungan melakukan testing : •
Menemukan error (kesalahan)
program aplikasi dan
mungkin juga kesalahan struktur basis data.
34 •
Testing mendemonstrasikan bahwa basis data dan program aplikasi dapat berjalan sesuai dengan kebutuhan performa dan spesifikasi yang diiginkan atau tidak.
k.
Perawatan Operasional Adalah proses memonitor dan merawat sistem setelah dilakukan instalasi. Pada tahap maintenance (perawatan) ini melibatkan beberapa aktivitas : •
Memonitor performa sistem. Apabila performa berada di level bawah, maka dibutuhkan tuning atau reorganisasi basis data
•
Memelihara dan mengupgrade aplikasi basis data (apabila dibutuhkan).
2.1.14 Desain Konseptual, Logikal dan Fisikal Basis data Terdapat tiga tahapan atau fase utama dalam perancangan basis data (Connolly and Begg, 2002, p419), yaitu : a.
Desain Konseptual Basis data Proses mengkonstruksikan/ membangun model informasi yang digunakan
dalam
sebuah
enterprise,
terbebas
dari
semua
pertimbangan fisik Pada konseptual basis data desain ini terdiri dari langkah-langkah sebagai berikut :
35 Langkah 1: Membangun data model konseptual lokal untuk setiap view 1.1
Mengidentifikasi tipe entiti Pada tahapan ini dilakukan identifikasi tipe entiti utama
yang diperlukan oleh sebuah view. Salah satu metode dalam mengidentifikasi tipe entiti adalah dengan memerika kebutuhan user. Dari kebutuhan user ini, kita dapat mengidentifikasi kata benda atau frase yang ada (misalnya nama staff, alamat rumah), selain itu kita bisa mendapatkan objek utama seperti orang, tempat. Cara lain dalam mengidentifikasi entiti adalah dengan melihat objek-objek yang akan tetap ada dan keberadaannya tidak tergantung pada objek lain, misalnya staff merupakan entiti karena staff tetap akan ada walaupun kita tidak mengetahui nama, posisi dan tanggal lahirnya 1.2
Mengidentifikasi tipe relasi Pada tahapan ini dilakukan identifikasi relasi penting yang
ada
antara
tipe
entiti
yang
telah
teridentifikasi.
Ketika
mengidentifikasi relasi kita dapat menggunakan kata kerja dalam spesifikasi kebutuhan user. Misalnya: •
Staff mengatur Property
•
PrivateOwner mempunyai Property
Dengan adanya kebutuhan user ini, membuktikan bahwa relasi-relasi yang terjadi adalah penting dan harus dimasukkan dalam model.
36 1.3
Mengidentifikasi dan menghubungkan atribut dengan entiti atau tipe entiti Pada tahapan ini, attribut dihubungkan dengan entiti atau
tipe entiti yang tepat 1.4
Menentukan domain atribut Domain adalah sebuah penampung dari nilai yang dapat
ditampung oleh attribut, misalnya domain attribut dari nomor staff hanya dapat menggunakan 5 karakter string dengan 2 karakter pertama adalah huruf dan 3 karakter berikutnya adalah angka. 1.5
Menentukan candidate dan primary key dari attribut Candidate key adalah set atribut minimal dari sebuah entiti
yang secara unik mengidentifikasi setiap kemunculan dari entiti tersebut. Candidate key dapat diidentifikasikan lebih dari satu, tetapi harus dipilih satu sebagai primary key, sedangkan candidate key yang lain disebut alternate key. Berikut adalah acuan dalam menentukan primary key
dari
candidate key : •
Candidate key dengan set atribut yang minimal
•
Candidate key dengan nilai yang berubah paling sedikit
•
Candidate key dengan karakter paling sedikit
•
Candidate key dengan isi maksimum yang paling sedikit
•
Candidate key yang termudah digunakan dari sudut pandang user
37 1.6
Mempertimbangkan penggunaan konsep model yang lebih tinggi (enhanced modelling concepts) / optional Tahap ini bersifat opsional, apakah akan digunakan
pengembangan dari entiti model dengan menggunakan enhanced modelling concepts, seperti spesialisasi/generalisasi 1.7
Memeriksa redundansi pada model Tahapan ini memeriksa model data konseptual lokal apakah
terjadi duplikasi atau tidak dengan dua langkah yaitu •
Memeriksa ulang relasi one-to-one
•
Menghilangkan relasi yang terduplikasi (redundant)
1.8
Memvalidasi model data konseptual lokal terhadap transaksi user Memeriksa model yang telah dihasilkan apakah mendukung
transaksi pada view. Pemeriksaan ini dapat menggunakan dua langkah yaitu : •
Mendeskripsikan transaksi
•
Menggunakan jalur transaksi
1.9
Memeriksa model data konseptual lokal dengan user Memeriksa model data konseptual lokal termasuk ER, jika
terjadi ketidakcocokan (anomaly) maka harus dilakukan perubahan b.
Desain Logikal Basis Data Proses membangun model informasi yang digunakan dalam sebuah enterprise yang didasarkan pada data model spesifik,
38 dan terbebas dari DBMS dan semua pertimbangan fisik Pada desain logikal basis data terdiri dari langkah-langkah sebagai berikut : Langkah 2: Membangun dan memvalidasi model data logikal lokal untuk setiap view Dari model data konseptual lokal yang telah dibangun pada tahapan pertama akan diubah menjadi model data logikal lokal yang terdiri dari entiti relationship diagram, sebuah relationship schema dan dokumentasi-dokumentasi pendukung. 2.1
Menghilangkan hal-hal yang tidak sesuai dengan model relational (optional) Model data konseptual lokal yang telah ada dapat
mengandung struktur yang tidak dapat dimodelkan oleh DBMS konvensional, oleh karena itu pada tahap ini dilakukan perubahan menjadi bentuk yang lebih mudah ditangani oleh sistem ini. Langkah-langkah
yang
dapat
dilakukan
penyesuaian struktur adalah : •
Menghilangkan relasi binary many-to-many (*:*)
•
Menghilangkan relasi rekursif many-to-many (*:*)
•
Menghilangkan tipe relasi yang kompleks
•
Menghilangkan atribut multi-valued
dalam
39 2.2
Mendapatkan relasi untuk model data logikal Membentuk relasi dari model data logikal lokal untuk
merepresentasikan relasi antar entiti dan attribut yang telah diidentifikasikan. Untuk mendapatkan relasi dari data model yang ada maka digunakan cara-cara berikut ini : •
Tipe entiti yang kuat
•
Tipe entiti yang lemah
•
Relasi binary one-to-many (1:*)
•
Relasi binary one-to-one (1:1)
•
Relasi rekursif one-to-one (1:*)
•
Tipe relasi superclass/subclass
2.3
Memvalidasi relasi menggunakan normalisasi Normalisasi digunakan untuk meningkatkan model yang
telah terbentuk agar duplikasi data yang tidak diperlukan dapat dihindari. 2.4
Memvalidasi relasi dengan transaksi user Memastikan relasi yang telah ada pada model data logikal
dapat mendukung transaksi yang diperlukan oleh view. 2.5
Memdefinisikan integrity constraints Integrity constraint adalah batasan yang digunakan untuk
menjaga agar basis data tidak menjadi inkonsisten.
40 Ada 5 tipe integrity constraints : •
Required data (data/nilai yang valid)
•
Batasan domain attribut
•
Entity integrity (primary key tidak boleh null)
•
Referential integrity (foreign key pada suatu entiti harus sesuai dengan candidate key pada entiti lain)
•
Enterprise constraint (batasan pada organisasi)
2.6
Memeriksa model data logikal lokal dengan user Memastikan model data logikal lokal yang terbentuk
merupakan representasi dari user view. Untuk memvalidasi model data logikal ini digunakan Data Flow Diagram (DFD). DFD dapat menunjukkan aliran data dari suatu organisasi. Langkah 3: Membangun dan memvalidasi model data logikal global Pada tahap ini, digabungkan semua model data logikal lokal
menjadi
sebuah
model
data
logikal
global
yang
merepresentasikan organisasi tersebut. 3.1
Menggabungkan model data logikal lokal ke dalam model global Menggabungkan model data logikal individual ke dalam
model data logikal global organisasi 3.2
Memvalidasi model data logikal global Memvalidasi relasi yang telah dibuat dari model data
41 global menggunakan teknik normalisasi dan memastikan relasi ini mendukung transaksi yang diperlukan. Langkah ini sama dengan langkah 2.3 dan 2.4 yang memvalidasi setiap model data logikal lokal 3.3
Memeriksa perkembangan yang akan datang Memastikan apakah ada perubahan yang signifikan yang
dapat diperkirakan dan memastikan apakah model data logikal global ini dapat mendukung perubahan-perubahan ini. 3.4
Memeriksa model data logikal global dengan user Memastikan bahwa model data logikal global merupakan
representasi nyata dari organisasi c.
Desain Fisikal Basis Data Proses memproduksi sebuah deskripsi dari implementasi basis data dalam secondary storage, yang menjelaskan relasi dasar, organisasi file, dan membuat indeks untuk mendapatkan akses yang efisien ke data, serta setiap integrity constraint yang saling berhubungan dan juga pengukuran sekuriti. Pada desain fisikal basis data ini terdiri dari langkahlangkah sebagai berikut : Langkah 4: Menerjemahkan model data logikal global untuk DBMS yang akan digunakan Pada tahap ini akan dihasilkan suatu skema basis data relasional
dari
model
data
logikal
global
yang
diimplementasikan ke dalam DBMS yang akan digunakan
dapat
42 4.1
Mendesain relasi dasar (base relations) Memutuskan bagaimana merepresentasikan relasi-relasi
yang telah diidentifikasikan pada model data logikal global pada DBMS yang akan dipakai 4.2 Mendesain representasi dari data yang diturunkan Memutuskan
bagaimana
merepresentasikan
derived
attribut dalam model data logikal global pada DBMS yang akan dipakai 4.3
Mendesain enterprise constraints Menentukan enterprise constraint untuk target DBMS
Langkah 5: Mendesain gambaran fisik dari basis data Menentukan organisasi file yang akan digunakan dan indeks untuk menghasilkan performa yang diinginkan serta menentukan apa saja yang akan disimpan dalam secondary storage. 5.1
Menganalisis transaksi Memahami fungsi-fungsi dari transaksi yang akan
dijalankan pada basis data dan menganalisis transaksi yang penting 5.2
Memilih organisasi file yang akan digunakan Menentukan organisasi file yang efisien. Ada 5 tipe
organisasi file : •
Heap
•
Hash
•
Indexed Sequential Access Method (ISAM)
43 •
B-tree
•
Clusters
5.3
Memilih indeks yang digunakan Memutuskan apakah dengan menggunakan indeks akan
meningkatkan performa dari sistem. 5.4
Memperkirakan disk space yang diperlukan Memperkirakan disk storage yang diperlukan untuk
menggunakan sistem basis data, disk stroge yang dimaksud adalah secondary storage. Langkah 6: Mendesain user view Mendesain user view yang telah diidentifikasi. Langkah 7: Mendesain pengukuran keamanan (security) Membatasi pengaksesan basis data oleh user-user yang tidak berhak dan menspesifikasi user terhadap basis data yang dapat diakses. Langkah 8: Menentukan apakah redundansi data telah dapat dikontrol Dilakukan normalisasi agar dapat meningkatkan performa dari sistem dan menghilangkan redundansi. Langkah 9: Memonitor Sistem Operasional Memonitor dan meningkatkan performa dari sistem dengan memperbaiki desain yang tidak sesuai atau perubahan kebutuhan.
44 2.2.
Teori-teori Khusus yang Berhubungan dengan Topik yang Dibahas 2.2.1
Rehabilitasi Menurut www.amputee-coalition.org, rehabilitasi adalah proses pemulihan seseorang yang mengalami penyakit atau kecelakaan. Menurut www.dph.state.ct.us, rehabilitasi adalah kombinasi dan koordinasi penggunaaan pengukuran medis, sosial, edukasi untuk melatih orang yang mengalami ketidakmampuan karena penyakit atau kecelakaan ke level kemampuan fungsional tertinggi yang mungkin.
2.2.2
Terapi Menurut Markam, Ganiswara, Laksman (1984, p144), terapi adalah pemberian pertolongan kepada orang sakit, atau usaha untuk menyembuhkan orang sakit. Terapi atau pengobatan merupakan percobaan perbaikan dari masalah kesehatan yang biasanya diikuti dengan diagnosa. (Sumber: www.wikipedia.org).
2.2.3
Fisioterapi, Speech Therapy, Terapi Okupasi Fisioterapi adalah terapi dengan menggunakan cara fisik, seperti memanaskan, mendinginkan, merendam, mengurut, penyinaran dan lainlain (Markam,Ganiswara, Laksman, 1984, p43) Menurut www.wikipedia.org, physio therapy (fisioterapi) adalah sebuah profesi kesehatan yang mengurus tentang penaksiran, diagnosa, dan pengobatan melalui alat-alat fisik.
45 Speech
therapy
merupakan
pengobatan
yang
bersifat
memperbaiki atau merehabilitasi kelainan/ kekurangan fisik dan atau kemampuan berbicara yang menyebabkan kesulitan dalam komunikasi verbal. (Sumber: www.wikipedia.org) Menurut www.saranaku.com, pelayanan terapi wicara merupakan tindakan yang diperuntukkan bagi individu yang mengalami gangguan komunikasi termasuk didalamnya adalah gangguan berbahasa, bicara dan gangguan menelan. Ada 5 jenis gangguan/ kelainan yang memerlukan terapi wicara, yaitu: gangguan artikulasi, gangguan berbahasa, gangguan bersuara, gangguan irama kelancaran, serta gangguan menelan. Menurut www.saranaku.com, terapi okupasi adalah salah satu jenis terapi kesehatan yang merupakan bagian dari rehabilitasi medis. Penekanan terapi ini adalah pada sensomotorik dan proses neurologi dengan cara memanipulasi, memfasilitasi dan menginhibisi lingkungan, sehingga tercapai peningkatan, perbaikan dan pemeliharaan kemampuan anak.