BAB 2 LANDASAN TEORI 2.1 Pendekatan Sistem Basis...
Transcript of BAB 2 LANDASAN TEORI 2.1 Pendekatan Sistem Basis...
8
BAB 2
LANDASAN TEORI
2.1 Pendekatan Sistem Basis Data
2.1.1 Sistem
Menurut Hornby (2000,p1373), sistem adalah set ide dan teori
yang terencana atau cara khusus melakukan sesuatu.
Menurut Connolly dan Begg (2005, p270), sistem adalah suatu
cara untuk mengumpulkan, mengatur, mengendalikan, dan menyebarkan
informasi ke seluruh organisasi.
Menurut O‟Brien (2003, p8), sistem adalah kumpulan elemen
yang saling terhubung atau berinteraksi membentuk suatu kesatuan atau
sekumpulan komponen yang saling terhubung dan bekerja sama untuk
mencapai sasaran dengan menerima input dan menghasilkan output
dalam sebuah proses transformasi yang terorganisir.
2.1.2 Data
Menurut Inmon (2002, p388), data adalah kumpulan fakta, konsep
ataupun instruksi yang terekam pada sebuah media penyimpanan untuk
kegunaan komunikasi, pengambilan, dan pemrosesan dengan cara
otomatis untuk dipresentasikan sebagai informasi yang dapat dimengerti
oleh manusia.
9
Menurut Laudon (2000, p8), data merupakan aliran fakta yang
mewakili kejadian yang terjadi dalam organisasi atau dalam lingkugan
fisik sebelum mereka diatur menjadi sebuah bentuk yang dapat
dimengerti dan digunakan oleh pengguna.
Menurut Navathe dan Elmasri (2000, p4), data adalah fakta yang
dapat disimpan dan memiliki arti.
Menurut O‟Brien (2003, p13), data adalah fakta-fakta atau
observasi yang belum diolah, biasanya mengenai kejadian atau transaksi
bisnis.
2.1.3 Basis Data
Menurut Date (2001, p5), sistem basis data adalah sebuah sistem
penyimpanan data yang terkomputerisasi yang memiliki tujuan untuk
menyimpan informasi dan memungkinkan user untuk mengambil dan
mengubah informasi yang dibutuhkan.
Menurut Sumathi dan Esakkirajan (2007, p2), basis data adalah
kumpulan data yang terorganisasi dengan baik dan terhubung yang dapat
diakses dengan perintah logikal yang berbeda.
Menurut Connolly dan Begg (2005,p15), basis data adalah koleksi
data bersama yang terhubung secara logikal dengan deskripsi dari data
tersebut yang dirancang untuk memenuhi kebutuhan informasi dari suatu
organisasi.
10
Menurut O‟Brien (2003, p145), basis data adalah kumpulan yang
terintegrasi dari elemen data yang terhubung secara logikal. Elemen data
mendeskripsikan entiti-entiti dan hubungan antar entitas.
2.1.4 Database Management System (DBMS)
Menurut Inmon (2002, p388), DBMS adalah sistem piranti lunak
berbasis komputer yang digunakan untuk membuat dan mengatur data.
Menurut Sumathi dan Esakkirajan (2007, p3), DBMS adalah
sistem yang kompleks yang memungkinkan user untuk melakukan
banyak hal kepada data(memasukkan data, mengubah data, manipulasi
data, dsb).
Sedangkan menurut Connoley-Begg (2005, p16), DBMS adalah
piranti linak yang memungkinkan user untuk mendefinisikan, membuat,
menjaga, dan mengontrol akses ke basis data.
DBMS adalah perangkat lunak yang berinteraksi dengana aplikasi
pengguna dan basis data yang dirancang untuk mengatur basis data. Pada
umumnya DBMS memiliki fasilitas sebagai berikut :
1. Memungkinkan user untuk mendefinisikan basis data dengan
cara menspesifikasikan tipe data, struktur, dan batasan data
yang akan disimpan di basis data dengan menggunakan DDL
(Data Definition Language).
11
2. Memungkinkan user untuk melakukan insert, update, delete,
dan retrieve data dari basis data dengan melalui Data
Manipulation Language (DML). Dengan memiliki
penyimpanan pusat untuk semua data dan deskripsi data,
memungkinkan DML untuk menyediakan fasilitas inquiry
umum untuk data, yang disebut dengan query language.
Query language yang paling umum adalah SQL (Structured
Query Language).
3. Menyediakan akses yang terkendali pada basis data.
Contoh :
Sistem keamanan, yang mencegah user yang tidak
terdaftar untuk mengakses basis data.
Sistem integritas, yang memelihara konsistensi data yang
tersimpan.
Sistem kontrol konkurensi, yang memungkinkan akses
bersama pada sebuah basis data.
Sistem control recovery, yang mengembalikan basis data
ke keadaaan sebelumnya yang konsisten jika peranti keras
atau peranti lunak mengalami kegagalan.
Sistem katalog akses, yang berisi penjelasan data pada
sebuah basis data.
12
Gambar 2.1 Hal-hal yang dapat dilakukan pada DBMS
Kemampuan DBMS
Menurut Connolly-Begg (2005, p18-21), ada lima komponen
utama pada lingkungan DBMS yaitu :
1. Hardware ( perangkat keras )
DBMS dan aplikasi membutuhkan perangkat keras agar dapat
berjalan. Perangkat keras itu dapat berkisar dari sebuah komputer
pribadi ke sebuah mainframe, sampai pada sebuah jaringan dari
komputer. Perangkat keras tertentu mungkin diperlukan,
tergantung pada kebutuhan organisasi dan DBMS yang
digunakan.
2. Software ( perangkat lunak )
Komponen perangkat lunak terdiri dari perangkat lunak DBMS
itu sendiri dan program aplikasi, bersama-sama dengan sistem
operasi, mencakup perangkat lunak jaringan jika sebuah DBMS
digunakan melalui sebuah jaringan. Secara khusus, program
13
aplikasi ditulis dalam bahasa pemrograman generasi ketiga (3GL),
seperti Visual Basic .NET atau menggunakan bahasa
pemrograman generasi keempat (4GL), seperti SQL, yang
tertanam dalam 3GL.
3. Data
Data merupakan komponen DBMS yang terpenting. Data
berperan sebagai penghubung/jembatan antara komponen mesin
dan komponen manusia.
4. Prosedur
Prosedur adalah instruksi atau aturan yang mengatur perancangan
dan penggunaan dari sebuah basis data. User dari sebuah sistem
dan staf yang mengatur basis data membutuhkan prosedur yang
terdokumentasi tentang bagaimana menggunakan atau
menjalankan suatu sistem.
Prosedur mungkin terdiri atas instruksi tentang bagaimana untuk :
masuk ke sebuah DBMS,
menggunakan fasilitas DBMS atau program aplikasi,
memulai dan menghentikan DBMS,
membuat salinan backup basis data,
menangani kesalahan hardware atau software,
mengubah struktur tabel, menata kembali basis data pada
multiple disk, meningkatkan performance, atau menyimpan
data ke secondary storage.
14
5. People ( Manusia )
Adalah komponen terakhir yang terlibat dalam sebuah sistem.
Ada empat jenis peran atau tugas manusia dalam lingkungan
DBMS, yaitu: data administrator dan database administrator,
logical database designer dan physical database designer,
application developer, dan end useR (naïve user dan sophisticated
user).
DBMS memberikan banyak keuntungan seperti:
1. Mengurangi / mengontrol redudansi data (Control of data
redundancy), pada sistem penyimpanan berbasis file yang lebih
tradisional sering terjadi pemakaian ruang yang berlebih
disebabkan oleh data yang sama. Dengan DBMS hal ini dapat
dikurangi dengan mengintegrasikan file yang ada.
2. Meningkatkan konsistensi data (Data consistency), dengan
mengurangi atau mengontrol redudansi data kita mengurangi
resiko inkonsistensi.
3. Meningkatkan integritas data (Improve data integrity). Integritas
data merujuk kepada kevalidan dan konsistensi dari data yang
tersimpan. Integritas ini biasanya tercermin dari batasan
(constraint) yang adalah aturan konsistensi yang tidak boleh
dilanggar oleh basis data.
4. Mendapatkan informasi yang lebih dari jumlah data yang sama
(more information from the same amount data), hal ini
15
dimungkinkan karena integrasi dari data operasional
memungkinkan organisasi memperoleh informasi yang lebih
banyak dari jumlah data yang sama.
5. Penggunaan data bersama (Sharing of data), apabila pada sistem
berbasis file setiap file dimiliki oleh perorangan atau per
departemen yang menggunakannya. Sedangkan dengan
menggunakan basis data yang dimiliki oleh organisasi maka
semua user yang berhak dapat mengakses data tersebut.
6. Meningkatkan keamanan (Improve security), keamanan pada
basis data adalah proteksi kepada basis data agar tidak diakses
oleh user yang tidak terotorisasi.
7. Meningkatkan standar (Enforcement of standards). Terdiri dari
sebuah standar format data dari departemen, organisasi, nasional,
maupun internasional seperti fasilitas perubahan data, penamaan,
dan peng-update-an prosedur.
8. Penghematan (Economy of scale). Penghematan biaya bisa
dilakukan dengan menggabungkan semua data operasional suatu
organisasi ke dalam satu basis data sehingga aplikasi yang
bekerja dengan satu sumber data saja dan menyebabkan
penghematan biaya.
9. Menyeimbangkan kebutuhan yang berbenturan (Balance of
conflicting requirements). DBA (Database Administrator) akan
merancang dan memutuskan penggunan basis data secara
16
operasional yang akan menyediakan penggunaan terbaik dari
sumber daya yang adalah terbaik untuk keseluruhan organisasi.
10. Meningkatkan akses dan ketersediaan data dan informasi
(improved data accesibility and responsiveness), ini adalah hasil
dari integrasi karena data melewati batasan departemental
sehingga dapat langsung diakses oleh pengguna akhir.
11. Meningkatkan produktivitas (Increased productivity). DBMS
menyediakan standardisasi fungsi sehingga mengurangi beban
dari Programmer dan DBMS terdiri dari tool yang dapat
menyederhanakan pengembangan dari suatu aplikasi database
sehingga dapat meningkatkan produktivitas programmer dan
mengurangi waktu pengembangan.
12. Meningkatkan pemeliharaan melalui independensi data
(Improved maintenance through data independence), DBMS
memisahkan deskripsi basis data dari program aplikasi, sehingga
program aplikasi tidak dapat mengubah database.
13. Meningkatkan konkurensi (increased concurrency). Pada sistem
yang lebih tradisional apabila satu file diakses oleh lebih dari satu
maka dapat terjadi kemungkinan masing-masing proses akan
saling mengganggu yang akan meyebabkan hilangnya informasi
bahkan hilangnya integritas. DBMS memiliki kemampuan untuk
mengatur konkurensi data dan memastikan masalah di atas tak
terjadi.
17
14. Meningkatkan backup dan perbaikan (Improved backup and
recovery services), File-based system menyediakan batasan-
batasan terhadap user untuk menjaga data dari kesalahan dari
sistem komputer atau program aplikasi. Jika terjadi kesalahan,
backup akan di-restore dan pekerjaan setelah backup akan
dihilangkan.
DBMS juga memiliki kelemahan seperti :
1. Kompleksitas (Complexity)
DBMS merupakan software yang sangat kompleks. Salah
mengerti sistem akan mengakibatkan rancangan yang buruk,
yang akan mengakibatkan konsekuensi yang serius kepada suatu
organisasi.
2. Ukuran (Size)
Kekompleksan DBMS membuat ukurannya menjadi sangat besar
sehingga harus menyediakan disk dan memory dengan kapasitas
besar agar dapat berjalan dengan lancar.
3. Biaya DBMS (Cost of DBMS)
Biaya sebuah DBMS tergantung dari lingkungan dan fungsi yang
disediakan.
4. Harga hardware (Additional hardware costs)
Untuk mendapatkan tampilan yang bagus, membutuhkan mesin
yang bagus dengan menambahkan hardware yang harganya tidak
murah.
18
5. Biaya perubahan (Cost of conversion)
Jika terjadi perubahan akan memakan banyak biaya seperti biaya
hardware, DBMS yang baru, termasuk biaya pelatihan karyawan.
6. Tampilan (Performance)
DBMS hanya bisa dijalankan pada beberapa aplikasi saja.
7. Tingkat kegagalan tinggi (Higher impact of failure)
Dengan adanya sentralisasi penyimpanan akan mengakibatkan
sistem cepat rusak. Penggunaan DBMS akan mengakibatkan
operasi berhenti jika terjadi kesalahan.
2.1.5 Data Definition Language (DDL)
Menurut Connolly-Begg (2005, p40), DDL adalah bahasa yang
memungkinkan DBA atau pemakai untuk menggambarkan dan
mendefinisikan entity, atribut, dan relationship yang diperlukan oleh
aplikasi, beserta batasan integritas dan batasan keamanan.
DDL digunakan untuk mendefinisikan suatu skema atau
memodifikasi DDL yang ada.
2.1.6 Data Manipulation Language (DML)
Menurut Connolly-Begg (2002, p41), DML adalah bahasa yang
menyediakan sekumpulan operasi untuk mendukung manipulasi data
pada suatu basis data. Operasi manipulasi data yang dijalankan berupa:
Penambahan (insert) data baru pada basis data.
Pengubahan (update) data yang ada pada basis data.
Pencarian (retrieve) data yang ada pada basis data.
19
Penghapusan (delete) data yang ada dari basis data.
Ada 2 macam tipe dasar DML yang digunakan yaitu :
1. Procedural DML
Merupakan bahasa yang memungkinkan pemakai untuk
memberitahu sistem tentang data apa saja yang dibutuhkan dan
bagaimana caranya untuk menerima data.
2. Non-procedural DML
Merupakan bahasa yang memungkinkan pemakai untuk
mengetahui data apa saja yang dibutuhkan daripada mengetahui
bagaimana data tersebut diperoleh.
2.1.7 Relation Database Management System (RDBMS)
RDBMS adalah produk yang digunakan untuk
mengimplementasikan basis data relasional. RDBMS memungkinkan
pembuatan tabel relasional menjadi mudah dengan cara pendefinisian dan
pembuatan tabel dan mengisinya dengan data.
Gambar 2.2 Gambar RDBMS
20
RDBMS pertama dicetuskan oleh Edgar F Codd. Codd
mencetuskan Codd's 12 rules yang berisi 13 aturan (0 sampai dengan 12)
yang mengatur apakah suatu DBMS pantas disebut RDBMS. (Sumathi,
Esakkirajan, 2007, p65).
Aturan 0 : Sistem harus memiliki kualifikasi sebagai relasional, basis data,
dan sistem manajemen.
Agar sebuah sistem dianggap memiliki kualifikasi sebagai
RDBMS, sistem tersebut harus menggunakan fasilitas
relasionalnya saja untuk mengatur basis data.
Aturan 1 : Aturan informasi
Semua informasi yang terdapat di dalam basis data relasional
harus dapat diwakilkan secara eksplisit oleh satu dan hanya satu
cara, dengan menggunakan nilai pada posisi kolom dan baris pada
tabel.
Aturan 2 : Aturan jaminan akses
Semua data harus dapat diakses tanpa ambiguitas dengan
menggunakan kombinasi nama tabel, nama kolom, dan nilai
primary key.
Aturan 3 : Pemberlakuan nilai Null
Pada DBMS harus diizinkan untuk sebuah field bernilai kosong
atau Null. Secara khusus harus dapat mendukung “informasi yang
hilang dan informasi yang tidak dapat diaplikasikan”
Aturan 4 : Katalog aktif online berdasar model relasional
21
Sistem harus dapat mendukung sebuah katalog online , inline ,
relasional yang dapat diakses oleh pengguna yang terotorisasi
untuk kegunaan bahasa query regular . User harus dapat
mengakses struktur basis data (katalog) dengan menggunakan
bahasa query yang mereka gunakan untuk mengakses data pada
basis data.
Aturan 5 : Aturan subbahasa yang komprehensif
Sistem harus mampu mendukung minimal satu bahasa relasional
yang :
1. Memiliki sintaks linear
2. Dapat digunakan baik secara interaktif dan di dalam aplikasi.
3. Mendukung operasi definisi data (termasuk definisi view),
operasi manipulasi data, keamanan dan integritas konstrain,
dan operasi manajemen transaksi (begin, commit, dan
rollback).
Aturan 6 : Aturan update view
Semua view yang secara teoritis dapat diupdate harus dapat
diupdate juga oleh sistem.
Aturan 7 : Insert, update, dan delete tingkat tinggi.
Sistem harus mampu mendukung operasi insert, update, dan
delete secara set pada satu waktu. Yang berarti data dapat diambil
dari basis data relasional dengan set data yang dibangun dari data
yang terdiri dari banyak baris dan banyak tabel. Aturan ini
22
mengatakan bahwa operasi insert, update, dan delete harus
mendukung pengambilan set bukan hanya satu baris atapun satu
tabel saja.
Aturan 8 : Independensi data fisikal
Perubahan yang terjadi pada level fisikal (bagaimana data
disimpan, baik dengan array maupun linked list) tidak harus
menyebabkan perubahan pada aplikasi dan bagaimana user
mengakses data.
Aturan 9 : Independensi data logikal
Perubahan pada tingkat logikal (tabel, kolom, baris, dst) tidak
harus membutuhkan perubahan kepada aplikasi berdasar
strukturnya. Independensi data logikal lebih sulit dicapai daripada
independensi data fisikal.
Aturan 10 : Independensi integritas
Integritas konstrain harus dispesifikasikan secara terpisah dari
program aplikasi dan disimpan di katalog. Harus dapat
dimungkinkan untuk merubah konstrain tanpa perlu
mempengaruhi aplikasi yang ada.
Aturan 11 : Independensi distribusi
Sebaran dari porsi pada basis data ke lokasi yang beragam
sebaiknya tak tampak dari sudut pandang pengguna basis data.
Aplikasi yang ada harus dapat melanjutkan pekerjaan dengan
baik.
23
1. Pada saat versi tersebar dari DBMS pertama diperkenalkan;
2. Pada saat data tersebar yang sudah ada disebar kembali ke
sistem.
Aturan 12 : Aturan nonsubversi
Apabila sistem menyediakan antar-muka tingkat rendah, maka
antar-muka tidak dapat dipakai untuk meng-subvert sistem.
Contohnya untuk bypass keamanan relasional ataupun integritas
konstrain.
2.1.8 Perancangan Basis Data
2.1.8.1 Perancangan Basis Data Konseptual
Perancangan basis data konseptual menurut Connoly-Begg
(2005,p439) adalah proses membangun model informasi yang
digunakan organisasi, bebas dari semua pertimbangan fisik.
Langkah-langkah dalam metodologi conceptual database design
yaitu :
Langkah 1 – Membangun Local Conceptual Data Model
untuk setiap pandangan pengguna
o Langkah 1.1 Mengidentifikasi tipe entitas
Mengidentifikasikan kata benda atau frase kata benda
pada spesifikasi kebutuhan pengguna, objek besar
seperti orang, tempat, benda, atau konsep dapat
digunakan untuk mencari tipe entitas. Cara lain adalah
dengan mencari obyek bebas.
24
o Langkah 1.2 Mengidentifikasi tipe relasi
Untuk mengidentifikasi relasi yang penting antara tipe-
tipe entitas yang telah diidentifikasi.
o Langkah 1.3 Mengidentifikasi dan menghubungkan
atribut dengan entitas dan relasi
Tujuannya untuk menghubungkan atribut dengan
entitas dan tipe relasi yang tepat. Atribut yang dimiliki
oleh setiap entitas dan relasi wajib memenuhi
karakteristik atribut yaitu simple/composite attribute ,
single/multi-valued attribute , dan derived attribute .
o Langkah 1.4 Menentukan domain atribut
Domain adalah kumpulan nilai dimana satu atau lebih
atribut memperoleh nilai true atau benar.
o Langkah 1.5 Menentukan atribut Candidate Key,
Primary Key, dan Alternate Key
Untuk identifikasi candidate key setiap tipe entitas,
dan jika ada lebih dari satu candidate key maka terpilih
satu sebagai primary key dan sisanya dijadikan
alternate key.
o Langkah 1.6 Pertimbangkan penggunaan enhance
modeling concepts
Untuk menentukan specialization, generalization,
aggregation, dan composition. Specialization adalah
25
proses memaksimalkan perbedaan antara anggota
sebuah entitas dengan mengidentifikasi karakteristik
yang membedakan entitas tersebut. Generalization
adalah proses meminimalkan perbedaan antar entitas
dengan mengidentifikasi sifat umum entitas.
Aggregation menggambarkan relationship „memiliki‟
atau „bagian dari‟ antar tipe entitas dimana yang
satunya mewakili „keseluruhan‟ dan yang satunya
mewakili „sebagian‟.
o Langkah 1.7 Memeriksa redundansi
Untuk mencek conceptual model untuk menghindari
adanya redundansi dalam model. Dua kegiatan yang
dilakukan pada tahap ini :
Memeriksa kembali One-to-One Relationship
(1:1)
Kemungkinan ada dua entitas atau lebih yang
menggambarkan objek yang sama dalam
organisasi.
Menghilangkan relasi yang redundan
Suatu relasi adalah redundan jika informasi yang
dihasilkan sama dengan relasi yang lainnya.
o Langkah 1.8 Memvalidasi conceptual model dengan
transaksi
26
Untuk memastikan local conceptual data model
mendukung transaksi yang dibutuhkan oleh user. Dua
pendekatan yang memungkinkan untuk memastikan
local conceptual data model mendukung kebutuhan
transaksi :
Menggambarkan transaksi (describing the
transaction)
Memeriksa semua informasi yang dibutuhkan
setiap transaksi yang disediakan oleh model.
Menggunakan transaction pathways
Memvalidasi data model terhadap kebutuhan
transaksi dengan penggambaran diagram yang
mewakili pathway yang diambil oleh setiap
transaksi secara langsung pada E- R diagram.
o Langkah 1.9 Melihat kembali conceptual data model
dengan pengguna
Untuk memastikan data model merupakan representasi
yang benar bagi setiap pandangan.
2.1.8.2 Perancangan Basis Data Logikal
Perancangan basis data logikal menurut Connoly-Begg
(2005,p439) adalah proses membangun model informasi yang
digunakan organisasi berdasarkan model data tertentu, tetapi tidak
tergantung dari Database Management System (DBMS) dan
27
pertimbangan fisik lainnya. Langkah-langkah dalam metodologi
logical database design yaitu :
Langkah 2 Membangun dan validasi logical data model
o Langkah 2.1 Membuat relasi untuk logical data model
Untuk menyaring konseptual logical data model
sehingga fitur yang tidak sesuai dengan model
relasional dihilangkan. Langkah-langkahnya :
Menentukan tipe entitas kuat
Untuk semua entitas kuat, buat sebuah entitas yang
memiliki semua atribut yang dimilikinya. Untuk
composite attribute, sertakan atribut pokoknya
saja.
Menentukan tipe entitas lemah
Untuk setiap entitas lemah, buat suatu entitas yang
termasuk semua atribut yang dimilikinya. Tapi,
primary key dari entitas ini belum bisa ditentukan
sampai relasinya dengan entitas kuat dibuat.
Membuat One-to-Many (1:*) Relationship
Pada jenis ini, entitas pada „sisi satu‟ dianggap
sebagai entitas induk sedangkan entitas pada „sisi
banyak‟ dianggap sebagai entitas anak.
28
Membuat One-to- One (1:1) Binary Relationship
Relasi 1:1 lebih sulit ditentukan hubungannya.
Karena Cardinality dan Participation Constraints
juga akan menentukan dalam mengidentifikasi
entitas induk dan anak di relasi ini.
Membuat One-to- One (1:1) Recursive
Relationship
Untuk memecahan hubungan ini, bisa dengan cara
yang sama dengan saat memecahkan hubungan 1:1
relationship.
Memecah Superclass/Subclass Relationship
Untuk setiap superclass/subclass relationship kita
harus mengidentifikasikan superclass sebagai
entitas induk sedangkan subclass sebagai entitas
anak.
Menghilangkan Many-to-Many (*:*) Binary
Relationship Types
Untuk mengidentifikasikan sebuah entitas tengah
sehingga relationship ini digantikan dengan dua
buah one-to-many (1:*) relationship , dengan
entitas tengah berada di antara dua buah entitas
yang lama.
29
Menghilangkan complex relationship types
Untuk mengidentifikasikan entitas tengah.
Kemudian complex relationship ini akan
digantikan dengan beberapa one-to-many (1:*)
binary relationship .
Menghilangkan multi-valued attributes
Caranya dengan memecah atribut ini untuk
mengidentifikasikan sebuah entitas. Setelah itu,
kirim Primary Key pada entitas induk sebagai
Foreign Key pada entitas anak.
o Langkah 2.2 Validasi relasi dengan menggunakan
normalisasi
Normalisasi adalah teknik untuk menghasilkan
himpunan relasi dengan property yang diinginkan
berdasarkan kebutuhan data suatu organisasi.
Unormalized form (UNF) adalah tabel yang terdiri dari
satu atau lebih kelompok yang berulang. Tingkatan
normalisasi yang digunakan yaitu :
First Normal Form (1NF)
Relasi dikatakan bentuk 1NF jika perulangan
groupnya sudah hilang. Ada dua pendekatan untuk
menghilangkan repeating group pada tabel yang
tidak normal, yaitu :
30
• Memasukkan data yang sesuai ke dalam kolom
yang kosong dari baris yang ada data berulang
• Menempatkan data yang berulang bersama
salinan atribut kunci pada relasi yang terpisah
Second Normal Form (2NF)
Relasi dikatakan 2NF jika relasi tersebut berada
pada 1NF dan setiap atribut yang bukan primary
key bergantung penuh kepada primary key.
Third Normal Form (3NF)
Relasi dikatakan 3NF jika relasi tersebut berada
dalam bentuk 1NF dan 2NF, dan tidak ada atribut
yang bukan primary key bergantung secara transitif
o Langkah 2.3 Validasi relasi terhadap transaksi
pengguna
Untuk memastikan bahwa relasi pada local logical
data model mendukung transaksi yang dibutuhkan
oleh pengguna.
o Langkah 2.4 Menentukan intregrity constraint
Menentukan batasan-batasan yang harus ditentukan
untuk melindungi basis data agar tetap konsisten. Ada
lima jenis integrity constraint , yaitu :
Required data
Attribute domain constraint
31
Multiplicity
Entity integrity
Referential integrity
General constraint
o Langkah 2.5 Meninjau kembali local logical data
model yang dibuat dengan pengguna
Untuk memastikan bahwa local logical data model dan
dokumentasi pendukung yang menggambarkan model
merupakan perwakilan yang benar dari pandangan
user.
o Langkah 2.6 Menggabungkan model data logikal
menjadi sebuah model data global
Cara pandang satu atau beberapa user terhadap basis
data. Sedangkan model data global menggambarkan
pandangan semua pengguna terhadap basis data.
o Langkah 2.7 Memeriksa untuk mengantisipasi
perkembangan
Untuk memeriksa akan adanya perubahan signifikan
dalam waktu dekat dan memeriksa apakah model data
logikal yang dibuat bisa mengakomodasi perubahan
itu.
32
2.1.8.3 Perancangan Basis Data Fisikal
Perancangan basis data fisikal adalah proses menghasilkan
penjelasan dari implementasi suatu basis data pada media
penyimpanan, juga menjelaskan base relation, pengaturan file,
dan indeks yang digunakan untuk mencapai akses data yang
efisien, integrity constraint, serta ukuran keamanan. Langkah-
langkah metodologi perancangan basis data fisikal :
Langkah 3 Menterjemahkan logical data model untuk
target DBMS
o Langkah 3.1 Membuat base relations
Untuk setiap relasi yang diidentifikasikan pada global
logical data model, definisinya teridiri dari nama
relasi, daftar simple attribute yang diikuti tanda
kurung, primary key beserta alternate key dan foreign
key jika ada, dan referential integrity constraint bagi
foreign key yang teridentifikasi.
o Langkah 3.2 Membuat representasi dari derived data
Untuk menentukan cara untuk merepresentasikan
derived data yang ada dalam data model logikal secara
umum ke dalam target DBMS.
o Langkah 3.3 Merancang general constraints .
Untuk merancang batasan organisasi untuk target
DBMS.
33
Langkah 4 Merancang organisasi file dan indeks
o Langkah 4.1 Menganalisis transaksi
Untuk memahami fungsi dari transaksi yang
dijalankan pada basis data dan menganalisis transaksi
yang penting. Kriteria pekerjaan yang harus
diidentifikasi seperti:
Transaksi yang sering digunakan dan yang
memiliki dampak yang signifikan pada pekerjaan
Transaksi yang penting bagi kegiatan operasional
bisnis
Peak load
o Langkah 4.2 Memilih organisasi file
Untuk menentukan organisasi file yang efisien untuk
setiap base relation.
o Langkah 4.3 Memilih indeks
Untuk menentukan apakah penambahan indeks akan
meningkatkan pekerjaan sistem. Ada tiga jenis indeks
yaitu:
Primary Index
Clustering Index
Secondary Index
o Langkah 4.4 Memperkirakan kebutuhan ruang
penyimpanan
34
Memperkirakan besar ruang penyimpanan yang
dibutuhkan untuk mendukung implementasi basis data
pada tempat penyimpanan kedua.
Langkah 5 Merancang pandangan user
Untuk merancang pandangan pengguna yang
diidentifikasikan selama tahap pengumpulan kebutuhan
dan analisis pada daur hidup aplikasi basis data relasional
Langkah 6 Merancang mekanisme keamanan
Untuk menentukan bagaimana kebutuhan keamanan akan
direalisasikan. Dua tipe keamanan basis data, yaitu :
o Keamanan sistem
o Keamanan data
2.2 Perancangan Aplikasi
2.2.1 Prototype
Menurut Connoly-Begg (2005,p439) ,prototipe adalah model
kerja yang tidak perlu bekerja secara normal dan memiliki semua feature
atau fungsi dari sistem akhir. Tujuan utamanya adalah memberi contoh
hasil akhir dari sistem kepada user. Memungkinkan user memberikan
pendapat terhadap pengembangan kedepannya sistem ini. Dengan cara
ini, kita dapat dengan jelas memahami kebutuhan user. Prototipe
memiliki kelebihan yaitu tidak terlalu mahal dan cepat dibangun.
Ada dua macam dalam membuat prototipe. Yang pertama adalah
prototipe kebutuhan. Prototipe ini bertujuan untuk menentukan kebutuhan
35
user. Jika sudah jelas kebutuhannya, maka prototipe ini akan dibuang.
Yang kedua adalah prototipe evolusi. Prototipe ini juga memiliki tujuan
yang sama tapi setelah tujuan tercapai, prototipe tidak dibuang, tapi
dikembangkan lagi untuk menjadi proyek utama.
2.3 Enterprise Resource Planning (ERP)
2.3.1 Pengertian ERP
Menurut Gerald Grant (2003, chapter 3 introduction), ERP adalah
infrastruktur perangkat lunak yang dilekatkan dengan evaluasi terbaik,
memilih jalan terbaik untuk melakukan bisnis berdasarkan evaluasi bisnis
umum atau teori akademis. Tujuan dari sistem ERP adalah untuk
meningkatkan kerjasama dan hubungan antar semua departemen dalam
perusahaan, seperti perencaaan produksi, manufaktur, pembelian,
penjualan, dan layanan kustomer.
Menurut Daniel O‟Leary (2007,p27), sistem ERP adalah sistem
dasar computer yang di desain untuk memproses transaksi organisasi dan
integrasi fasilitas dan rencana real time, produksi dan juga respon dari
kostumer.
Menurut Wallace dan Kremzar (2001,p4) ,suatu set usaha secara
luas dari alat manajemen yang menstabilkan permintaan dan persediaan,
memiliki kemampuan untuk menghubungkan kustomer dan pemasok
untuk menjadi rantai persediaan yang lengkap, memakai pembuktian
proses bisnis untuk pengambilan keputusan, dan menyediakan integrasi
36
fungsional tingkat tinggi diantara penjualan, marketing, manufaktur,
operasi, logistik, pembelian, keuangan, pengembangan produk baru dan
sumberdaya manusia.
Jadi, ERP adalah suatu sistem informasi yang dibuat sedemikian
rupa sehingga dapat mengintegrasikan basis data pada semua bagian
departemen dalam suatu perusahaan baik manufaktur maupun jasa.
2.3.2 Sejarah ERP
Menurut Dimitris N. Chorafas (2001, p14), pada 1960 diciptakan
DBMS (database management system) yang dibuat untuk menyatukan
data dalam suatu pulau atau benua. Pada tahun 1970 MIS (management
information system) mulai populer, termasuk beberapa operator logika,
seperti analisa akuntansi, pengaturan pemesanan, dan kontrol inventori
atau penyimpanan. Pada 1980-an, MIS dikembangan untuk satu pulau
dan menyediakan form untuk akses ke database. Pengembangan paling
signifikan adalah expert system. Ditahun 1990-an, internet mulai ramai
digunakan sehingga perusahaan wajib mengembangkan hubungan dengan
mitra bisnis lokal maupun luar negeri agar tidak kalah saingan dengan
para pesaing. Tahun 2001, badai teknologi sudah merambah ke semua
bidang, mulai dari automobile, pesawat luar angkasa, telekomunikasi, dan
lain-lain. Untuk mengikuti perubahan jaman yang sangat cepat, MIS
dipaksa diubah menjadi ERP sebagai jawaban dari kebutuhan teknologi
yang berkembang pesat.
37
Perbedaan MIS dan ERP :
ERP bisa mengakses database secara online atau remote dan
dapat mengintegrasi basis data, sedangakan MIS hanya bisa
diakses melalui computer server.
MIS biasanya dibuat di rumah, dan vendor hanya sebagai
sarana penyedia bantuan saran. ERP merupakan sistem yang
komplit dan terintegrasi dengan live-database yang dapat
dengan cepat untuk di-tes dan diimplementasikan.
2.3.3 Kelebihan ERP
2 Integrasi data keuangan. Untuk mengintegrasikan data keuangan
sehingga top management bisa melihat dan mengontrol kinerja
keuangan perusahaan dengan lebih baik.
2 Standarisasi Proses Operasi. Melakukan standartisasi proses operasi
melalui implementasi best practice sehingga terjadi peningkatan
produktivitas, penurunan inefisiensi dan peningkatan kualitas produk.
2 Standarisasi Data dan Informasi. Melakukan standartisasi data dan
informasi melalui keseragaman pelaporan, terutama untuk perusahaan
besar yang biasanya terdiri dari banyak business unit dengan jumlah
dan jenis bisnis yg berbeda-beda.
Menurut David L. Olson (2005,p4) banyak alasan mengapa ERP
dipakai banyak orang, pertama karena ERP menawarkan integrasi sistem
yang dapat dipakai semua user dibandingkan dengan aplikasi yang
38
terpisah-pisah dan jarang bisa memiliki data yang terintegrasi. Kedua,
ERP men-eliminasi penyelesaian masalah per divisi, yang dengan ERP,
bisa dilakukan penyelesaian per organisasi untuk masalah yang sama.
Ketiga, ERP diharapkan dapat membuat biaya perawatan komputer dan
data dalam jangka waktu panjang.
2.3.4 Kekurangan ERP
Kemampuan untuk menentukan pengaruh dari sistem ERP
sangatlah penting dari sisi teori maupun praktek. Namun,kendala yang di
hadapi :
1. Tidaklah mungkin untuk menggambarkan secara eksplisit
keuntungan dari penelitian sistem informasi sistem ERP.
2. Adanya ketidak-konsistenan dan kontradiksi pencarian dari
penelitian di teknologi informasi dan perubahan dalam
perusahaan.
3. Kebergantungan antara sistem ERP dan perusahaan
membutuhkan interpretif dan metode analisa secara
menyeluruh.
4. Kepastian dari efektifitas perusahaan sulit dipastikan, dan
kompleks.
5. Kurangnya teori pustaka dalam bidang IT.
39
Menurut David L. Olson (2005,p4), pada kenyataannya sistem
ERP ada yang tidak berjalan sesuai perkiraan. Penyebabnya adalah
sulitnya menyatukan detail tiap divisi dan co-operasi dari tiap user.
Kendala lainnya adalah masalah pendanaan untuk pelatihan user
menggunakan aplikasi baru yang berbeda.
Menurut Fiona Fui-Hoon Nah (2002,viii) , masalah dalam
implementasi ERP adalah mahalnya biaya ERP dan saat implementasi
biasanya terdapat biaya yang tersembunyi sehingga terjadi
pembengkakan anggaran. Hal lainnya adalah kegagalan dalam mendisain
ulang kebutuhan user karena salah paham dengan proses bisnis dengan
user saat sebelum dan sesudah implementasi.
2.3.5 Alur Hidup ERP
Alur hidup ERP menurut Gerald Grant (2003, chapter 3 ERP
lifecycle)
Gambar 2.3 Alur Hidup ERP
1. Pada fase adopsi keputusan, manajer menentukan untuk
menginvestasikan pada sistem ERP untuk menggantikan
infrastruktur sistem informasi yang ada. Sistem ERP
diharapkan dapat menjawab tantangan bisnis pada perusahaan
40
dan dapat meningkatkan strategi dan performa dari
perusahaan.
2. Pada fase akuisisi, membandingkan seleksi pada sistem ERP
yang paling cocok sesuai dengan kebutuhan perusahaan untuk
meminimalisir kebutuhan akan perubahan. Keputusan diambil
berdasarkan pengumpulan informasi yang berguna dari
departemen yang berbeda.
3. Pada fase Iimplementasi, berhubungan dengan perubahan,
memparameterkan tiap bagian, dan mengadaptasikan ERP
yang telah dipilih. Fase implementasi biasanya dibawahi oleh
seorang konsultan yang memberikan informasi jalan terbaik
untuk implementasi dan menawarkan pelatihan.
4. Di fase pemakaian dan perawatan, produk sudah dipakai dan
sudah dapat memberikan keuntungan yang diharapkan dan
meminimalisir gangguan. Karena itu, sistem yang berjalan dan
efek dari proses bisnis harus dikontrol secara berkala.
5. Pada fase evolusi, penambahan kemampuan pada sistem ERP.
6. Di fase akhir alur hidup, akan ada penggantian sistem ERP
dengan teknologi yang baru.
2.3.6 Pengaruh Sistem ERP Dalam Perusahaan
ERP saat ini memiliki dampak yang luar biasa dalam organisasi
dan bisnis di dunia. Sistem ERP digunakan untuk mengembangkan suatu
41
aspek dalam suatu perusahaan, sebagai contoh : strategi, organisasi,
bisnis, manajemen, operasional ataupun infrastuktur di IT.
Penelitian membuktikan adanya perkembangan, seperti
pengembangan proses bisnis, peningkatan produktivitas, dan
perkembangan integrasi antar unit bisnis. Untuk mencapai hal diatas,
diperlukan perombakan dalam perusahaan. Karena itulah sistem ERP
sering diasumsikan sebagai teknologi pasti, karena perusahaan wajib
mengatur struktur organisasi, proses bisnis, dan alur kerja untuk
penerapan logika dalam sistem ERP. Bagaimanapun juga, relasi antara
sistem ERP dan perubahan dalam perusahaan telah dipertanyakan.
Pengaruh dan keuntungan dari sistem ERP tidaklah jelas. Tapi satu hal
yang sudah pasti adalah implementasi sangat memakan biaya.
Perbedaan implementasi antara metode pengembangan sistem
informasi tradisional dan proses dari pemilihan dan implementasi sistem
ERP adalah tidak lagi membicarakan analisis dan desain di metode
tradisional, karena yang diperlukan adalah evaluasi dari model referensi
dan fungsi pembuatan sistem ERP yang diikuti oleh proses seleksi. Di
sistem ERP mempertimbangkan tiga hal dasar pilihan, yaitu : menerima,
menerima dengan perubahan, dan menolak semuanya.
ERP sering disebut sebagai Back Office System yang
mengindikasikan bahwa pelanggan dan publik secara umum tidak
dilibatkan dalam sistem ini. Berbeda dengan Front Office System yang
42
langsung berurusan dengan pelanggan seperti sistem untuk e-Commerce,
Costumer Relationship Management (CRM), e-Government dan lain-lain.
Gambar 2.4 Bagian-bagian yang dapat dikerjakan oleh suatu sistem ERP.
43
2.4 Refactoring
2.4.1 Pengertian Refactoring
Refactoring adalah salah satu cara untuk membersihkan kode
yang meminimalkan kemungkinan terkena bug atau pada intinya ketika
dilakukan refactor ,kita meningkatkan rancangan kode yang sudah ditulis
(Fowler,1999, preface).
Berdasarkan pengertian dalam Bahasa Inggris :
1. Refactoring (noun): a change made to the internal structure of
software to make it easier to understand and cheaper to modify
without changing its observable behavior.
Refactoring (kata benda) : perubahan yang dibuat pada struktur
internal dari peranti lunak untuk membuatnya lebih mudah
dimengerti dan lebih murah untuk dirubah tanpa merubah
prilakunya yang tampak.
2. Refactor (verb): to restructure software by applying a series of
refactorings without changing its observable behavior.
Refactor (kata kerja) : untuk me-restrukturisasi peranti lunak
dengan menerapkan sekumpulan refactoring tanpa merubah
prilaku yang terlihat.
44
2.4.2 Masalah Dalam Basis Data
Masalah yang terdapat pada basis data (database smells)
didefiniskan oleh Ambler, Sadalage (2006, bab 1):
1. Kolom yang multiguna
2. Tabel yang multi guna
3. Data yang redundan
4. Tabel dengan terlalu banyak kolom
5. Tabel dengan terlalu banyak baris
6. Kolom yang “smart”
7. Takut akan perubahan
2.4.3 Alasan Pemilihan Refactoring Basis Data
1. Agar dapat memperbaiki basis data warisan. Basis data warisan
tidak dapat memperbaiki dirinya sendiri dan dari sudut pandang
teknikal refactoring basis data adalah cara yang aman, simple
untuk meningkatkan data dan basis data, dan kualitas seiring
dengan waktu.
2. Untuk mendukung pengembangan yang evolusioner.
Database refactoring adalah perubahan kecil untuk merubah
skema basis data yang meningkatkan rancangannya tetapi tetap
45
mempertahankan baik prilaku dan informasi semantiknya.
(Ambler, Sadalage, 2006, bab 2).
Kategori Deskripsi Contoh
Struktural Perubahan ke struktur tabel
dari skema basis data.
Memindahkan sebuah kolom
dari satu tabel ke tabel lainnya
atau memecah sebuah kolom
yang multi-guna ke beberapa
kolom berbeda untuk tujuan
berbeda. (Drop Column, Drop
Table, Drop View, Rename
Column, Rename Table, Split
Column, Split Table, dll).
Kualitas Data Perubahan yang memastikan,
meningkatkan konsistensi
dan kualitas dari nilai
informasi yang terdapat pada
basis data
Membuat sebuah kolom
menjadi tidak dapat di-null-kan
untuk memastikan kolom selalu
memiliki nilai atau menerapkan
format yang umum untuk
memastikan konsistensinya.
(Add Lookup Table, Drop
Column Contraints, Move Data,
Make Column Non-Nullable,
46
dll).
Integritas
referensial
Perubahan untuk memastikan
bahwa sebuah baris yang
direferensikan ada pada
sebuah tabel lainnya yang
atau memastikan di mana
baris yang tidak lagi
dibutuhkan dihapus.
Dengan menambahkan trigger
untuk memungkinkan
penghapusan ID antara 2
entitas, kode yang semula
diterapkan di luar basis data.
(Add Foreign Key Constraint,
Add Trigger for Calculated
Column, Introduce Cascading
Delete, Introduce Hard Delete,
dll).
Arsitektural Perubahan yang
meningkatkan keseluruhan
perilaku di mana program
eksternal berinteraksi dengan
basis data.
Dengan menggantikan kode
operasi Java yang sudah ada
pada perpustakaan kode
bersama dengan stored
procedure pada basis data.
Membuatnya menjadi stored
procedure membuatnya dapat
digunakan di aplikasi non-Java.
(Add CRUD Methods, Add
Mirror Table, Introduce Index,
Migrate Method To /From
47
Database, dll).
Metode Perubahan kepada metode
(stored procedure, stored
function, atau trigger) yang
akan meningkatkan kualitas.
Banyak code refactoring
dapat diaplikasikan ke
metode basis data.
Menamakan kembali sebuah
stored procedure agar lebih
mudah dimengerti. (Add
Parameter, Extract Method,
Rename Method, Remove
Parameter, dll)
Non-
Refactoring
Transformation
Perubahan kepada semantik
pada skema basis data
dengan menambahkan
elemen baru atau merubah
yang sudah ada.
Menambahkan kolom baru ke
tabel yang sudah ada. (Insert
Data, Introduce New Column,
Introduce New Table, Introduce
View, Update Data, dll).
Tabel 2.1 Kategori dari Database Refactoring
2.4.4 Langkah-Langkah Dalam Me-Refactor Basis Data
1. Memulai dari sandbox pengembangan.
a. Pastikan refactoring basis data sesuai.
b. Pilih refactoring basis data yang sesuai.
c. Lihat skema basis data original yang tidak sesuai.
d. Lakukan test sebelum, pada, dan sesudah.
e. Lakukan perubahan pada skema basis data.
48
f. Migrasikan data sumber.
g. Lakukan perubahan pada akses program eksternal.
h. Lakukan tes regresi.
i. Lakukan kontrol versi.
j. Umumkan refactoring.
Gambar 2.5 Pengembangan Sandbox
49
2. Penerapan pada sandbox integrasi.
3. Install Ke dalam produksi.
a. Secara efektif melakukan deploy antara kedua sandbox.
b. Menerapkan sekumpulan refactoring basis data.
c. Melakukan penjadwalan deployment.
d. Melakukan deploy sistem.
e. Menghapuskan skema yang lama.
Gambar 2.6 Instalasi ke Dalam Produk