bab ii landasan teori 2.1 teori-teori basis data 2.1.1...
TRANSCRIPT
7
BAB II
LANDASAN TEORI
2.1 Teori-teori Basis Data
2.1.1 Pengertian Data
Menurut Kadir (1998, p.5), data adalah fakta mengenai suatu
objek atau orang. Data dinyatakan dengan nilai (angka, deretan karakter,
atau simbol). Hirarki data menurut Kadir (1998, p.8-p.9), secara
tradisional data diorganisasikan ke dalam suatu hirarki yang terdiri dari
elemen, rekaman (record), dan berkas (file).
• Elemen data
Elemen data adalah satuan data terkecil yang tidak dapat
dipecah lagi menjadi unit lain yang bermakna. Istilah lain untuk
elemen data adalah medan (field), kolom, item, dan atribut.
• Rekaman
Rekaman adalah gabungan sejumlah elemen data yang saling
terkait. Dalam sistem basis data relasional, rekaman biasa disebut
dengan istilah tuple atau baris.
• Berkas
Himpunan seluruh rekaman yang bertipe sama membentuk
sebuah berkas. Berkas dapat dikatakan sebagai kumpulan rekaman
data yang berkaitan dengan suatu objek. Dalam sistem basis data
relasional, berkas mewakili komponen yang disebut tabel atau relasi.
7
8
2.1.2 Pengertian Basis Data
Basis data dan teknologi dalam basis data mengalami
perkembangan yang besar seiring dengan berkembangnya penggunaan
komputer. Basis data dapat diartikan sebagai suatu kumpulan data yang
secara logika saling terkait, dan terdapat uraian mengenai data tersebut,
dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi
(Connolly, 2002 p.14). Basis data (Bambang Harianto, 2004, p.4) adalah
kumpulan data (elementer) yang secara logik berkaitan dalam
merepresentasikan fenomena/fakta secara terstruktur dalam domain
tertentu untuk mendukung aplikasi pada sistem tertentu. Atau bisa juga
diartikan sebagai kumpulan data yang saling berhubungan yang
merefleksikan fakta-fakta yang terdapat di organisasi. Basis data
mendeskripsikan state organisasi/perusahaan/sistem.
2.1.3 Sistem Basis Data
Menurut Date (1990, p.5) sistem basis data pada dasarnya
merupakan sebuah sistem penyimpanan record yang telah
terkomputerisasi, dimana hal tersebut bertujuan untuk memelihara
informasi dan untuk membuat informasi tersebut tersedia pada saat
diperlukan. Sistem basis data meliputi empat komponen utama yaitu :
• Data
• Perangkat keras (hardware)
• Perangkat lunak (software)
9
• Pemakai (user)
Keuntungan dari pendekatan basis data menurut Date (1990, p.15)
yaitu :
• Kerangkapan data dapat dikurangi
• Ketidaksamaan dapat di hindari
• Penggunaan data bersama
• Standarisasi dapat dilakukan
• Pembatasan keamanan dapat diterapkan
• Integritas data terpelihara
• Kebutuhan yang kompleks dapat diatasi
2.1.4 Database Management System (DBMS)
Database Management System (DBMS) adalah suatu system
perangkat lunak yang bisa mendefinisikan, membuat, memelihara, dan
mengontrol akses ke basis data (Connolly, 2002, p.16).
DBMS menyediakan beberapa fasilitas sebagai berikut :
• Data Definition Language (DFL)
Memperbolehkan pemakai untuk membuat spesifikasi tipe
data, mendefinisikan basis data, struktur data dan constraint data
untuk disimpan dalam basis data.
• Data Manipulation Language (DML)
Memperbolehkan pemakai untuk memasukkan,
memperbaharui, menghapus, dan mengirim data dari basis data.
10
2.2 Teori-teori khusus
2.2.1 Database Application Lifecycle (DBLC)
Untuk merancang aplikasi sistem basis data diperlukan tahapan-
tahapan terstruktur yang harus diikuti yang dinamakan dengan Siklus
Hidup Aplikasi Basis Data (Database Application Lifecycle). Tahapan-
tahapan terebut terlihat pada gambar 2.1.
Gambar 2.1 Database Application Lifecycle (Connolly, 2002, p.272)
Prototyping (optional)
Application Design
DBMS Selection (optional)
Database
System Definition
Requirements Collection and Analy sis
Database Design
Conceptual Database Design
Logical Database Design
Physical Database Design
Implementation
Testing
Operational Maintanance
Data Conversion and Loading
11
2.2.2 Pengumpulan Kebutuhan dan Analisa
Dalam tahap ini dilakukan proses pengumpulan dan analisa
informasi tentang bagian organisasi yang akan didukung oleh aplikasi
basis data, dan menggunakan informasi ini untuk mengidentifikasi
kebutuhan pengguna terhadap sistem yang baru (Connolly, 2002, p.276).
Ada lima kegiatan yang dipakai dalam teknik fact-finding, yaitu :
1. Memeriksa dokumentasi
Pemahaman terhadap jalannya sistem akan cepat diperoleh
dengan memeriksa dokumen-dokumen, formulir, laporan, dan
berkas yang terkait dengan sistem yang sedang berjalan pada
perusahaan. Dengan pemeriksaan ini diharapkan dapat
mengetahui data-data apa saja yang akan disimpan di dalam basis
data.
2. Wawancara
Wawancara bertujuan untuk mengumpulkan fakta-fakta,
memeriksa kebenaran fakta yang ada dan mengklarifikasinya,
membangkitkan semangat, melibatkan pengguna akhir,
mengidentifikasi kebutuhan-kebutuhan, dan mengumpulkan ide-
ide dan pendapat (Connolly, 2002, p.306).
3. Mengamati operasional perusahaan
Pengamatan operasional perusahaan memungkinkan
untuk ikut serta atau mengamati seseorang dalam melakukan
12
kegiatan untuk mempelajari sistem. Setelah satu faktor
pengamatan dapat berhasil adalah dengan mencari informasi
sebanyak mungkin tentang aktivitas tersebut.
4. Penelitian
Selain melakukan penelitian yang berasal dari dalam
organisasi itu sendiri, dapat juga dilakukan pengumpulan
informasi yang berasal dari luar organisasi tersebut. Beberapa
contoh sumber informasi tersebut diantaranya jurnal komputer,
buku-buku referensi, dan internet.
5. Kuisioner
Teknik lain yang dapat digunakan untuk mengumpulkan
informasi yang dibutuhkan adalah dengan menggunakan
kuisioner. Kuisioner adalah suatu dokumen dengan tujuan khusus
yang memungkinkan fakta-fakta dikumpulkan dari banyak orang
sambil menjaga kontrol terhadap tanggapan yang diberikan
(Connolly, 2002, p.308).
2.2.3 Proyek
Proyek (Iman Soeharto, 1995, p.13) adalah kegiatan sekali lewat,
dengan waktu dan sumber daya terbatas untuk mencapai hasil akhir yang
telah ditentukan. Dalam proses mencapai hasil akhir kegiatan proyek
dibatasi oleh anggaran, jadwal dan mutu.
13
2.2.4 Manajemen Proyek
Manajemen proyek (Iman Soeharto, 1995, p.17) adalah kegiatan
merencanakan, mengorganisasikan, mengarahkan dan mengendalikan
sumberdaya organisasi untuk mencapai tujuan tertentu dalam waktu
tertentu dengan sumberdaya tertentu.
Fungsi manajemen menurut pengertian di atas dapat diuraikan
sebagai berikut :
• Merencanakan
Suatu proses mendefinisikan suatu tujuan, membangun
strategi untuk mencapai tujuan itu dan membangun rencana
yang terintegrasi dan terkoordinasi.
• Mengorganisasi
Suatu proses menentukan tugas yang harus
diselesaikan, siapa yang harus melakukannya, bagaimana
membagi tugas, siapa yang harus harus melapor kepada siapa
dan dimana keputusan harus dibuat.
• Memimpin
Suatu proses mengarahkan dan mempengaruhi sumber
daya manusia dalam organisasi agar dapat bekerja dengan
baik sehingga dapat mencapai tujuan yang telah digariskan.
14
• Mengendalikan
Suatu proses dalam menuntun, memantau, mengkaji,
dan bila perlu melakukan koreksi agar hasil sesuai dengan
yang telah ditentukan.
2.3 Teori Metodologi Perancangan Basis Data
2.3.1 Perancangan Basis Data Konseptual (Conceptual Database Design)
Perancangan Basis Data Konseptual adalah proses membangun
suatu model informasi yang digunakan oleh perusahaan atau organisasi
yang tidak tergantung dari pertimbangan fisik (Connolly, 2002, p.419).
Langkah pertama : Membuat local conceptual data model untuk
setiap pandangan. Bertujuan untuk memecah rancangan menjadi tugas-
tugas yang dapat diatur dengan memeriksa sudut pandang yang berbeda
dari pengguna di dalam suatu organisasi (Connolly, 2002, p.421).
Pada tahap membuat local conceptual data model, langkah-
langkah yang dilakukan adalah sebagai berikut :
a. Mengidentifikasi entity types
Bertujuan untuk menentukan entity types utama yang
dibutuhkan. Menentukan entity dapat dilakukan dengan
memeriksa user requirements specification. Setelah terdefinisi,
entity diberikan nama yang tepat dan jelas seperti mahasiswa,
dosen, mataKuliah.
15
b. Mengidentifikasi relationship types
Bertujuan untuk mengidentifikasi suatu relationship yang
penting yang ada antar entity yang telah didefinisikan. Namun
dari suatu relationship menggunakan kata kerja (verb) seperti
mempelajari, memiliki, mempunyai, dan lain-lain.
c. Mengidentifikasi attribute dengan entity atau relationship types
Bertujuan untuk menghubungkan attribute dengan entity
atau relationship yang tepat. Attribute yang dimiliki setiap entity
atau relationship memiliki identitas atau karakteristik yang sesuai
dengan memperhatikan attribute berikut : simple/composite
attribute, single-valued attribute, dan derived attribute.
d. Menentukan attribute domain
Bertujuan untuk menentukan attribute domain pada
conceptual data model. Contohnya yaitu menentukan nilai
attibute jenisKelamin pada entity mahasiswa dengan ‘M’ atau ‘F’
atau nilai attribute sks pada entity mataKuliah dengan ‘1’,’2’,’3’,
dan ’4’.
e. Menentukan candidate key dan primary key attribute
Bertujuan untuk mengidentifikasi candidate key pada
setiap entity dan memilih primary key jika ada lebih dari satu
16
candidate key. Pemilihan primary key didasari pada panjang dari
attribute dan keunikan key di masa datang.
f. Mempertimbangkan Penggunaan Enhance Modelling
Concepts (pilihan)
Pada langkah ini bertujuan untuk menentukan
specialization, generalization, aggregation, composition. Dimana
masing-masing pendekatan dapat dilakukan sesuai dengan
kebutuhan yang ada.
Specialization dan generalization adalah proses dalam
mengelompokkan beberapa entity dan menghasilkan entity yang
baru. Beda dari keduanya adalah cara prosesnya, dimana
spesialisasi menggunakan proses top-down dan generalisasi
menggunakan proses buttom-up.
Aggregation menggambarkan sebuah entity types dengan
sebuah relationship types dimana suatu relasi hanya akan ada jika
telah ada relationship lainnya.
g. Mengecek redundansi
Bertujuan untuk memeriksa conceptual model untuk
menghindari adanya informasi yang redundan. Yang dilakukan
pada langkah ini adalah :
17
• Memeriksa kembali one-to-one relationship (1:1)
Setelah entity diidentifikasikan maka kemungkinan
ada dua entity yang mewakili satu objek. Untuk itu dua
entity tersebut harus di-merger bersama. Dan jika primary
key-nya berbeda maka harus dipilih salah satu dan yang
lainnya disajikan alternate key.
• Menghilangkan relasi yang redundansi
Untuk menekan jumlah model data, maka
relationship data yang redundan harus dihilangkan.
h. Memvalidasi conceptual model dengan transaksi
Bertujuan untuk menjamin bahwa conceptual data model
mendukung kebutuhan transaksi. Dengan menggunakan model
yang telah divalidasi tersebut, dapat digunakan untuk
melaksanakan operasi secara manual. Ada dua pendekatan yang
mungkin untuk menjamin bahwa local conceptual data model
mendukung kebutuhan transaksi yaitu :
• Mendeskripsikan transaksi
Memeriksa seluruh informasi (entities,
relationship, dan attribute) yang diperlakukan pada setiap
transaksi yang disediakan oleh model dengan
18
mendokumentasikan penggambaran dari tiap kebutuhan
transaksi.
• Menggunakan transaksi pathways
Pendekatan kedua, untuk memvalidasi data model
dengan keperluan transaksi yang melibatkan diagram yang
mewakili pathways diambil dari tiap transaksi secara
langsung yang terdapat pada E-R diagram.
2.3.2 Perancangan Basis Data Logikal (Logical Database Design)
Logical database design adalah proses pembuatan suatu model
informasi yang digunakan pada perusahaan berdasarkan pada model data
yang spesifik, tetapi tidak tergantung dari Database Management System
(DBMS) yang khusus dan pertimbangan fisik lain (Connolly, 2002,
p.441).
Langkah kedua : Membuat dan memvalidasi local logical data
model untuk setiap pandangan. Bertujuan untuk membuat local logical
data model dari local conceptual data model yang merepresentasikan
pandangan khusus dari perusahaan dan memvalidasi model tersebut
untuk menjamin kebenaran strukturnya (dengan menggunakan teknik
normalisasi) dan menjamin bahwa model tersebut mendukung kabutuhan
transaksi.
Pada perancangan model logical langkah kedua, tahapan-
tahapannya adalah :
19
a. Menghilangkan feature yang tidak kompetibel dengan model
relasional (pilihan)
Bertujuan untuk menghasilkan model yang kompatibel
dengan model relasional, yaitu dengan :
• Menghilangkan many-to-many (*:*) binary relationship
types
Dengan cara memecah relationship yang
mengandung many-to-many (*:*) untuk
mengidentifikasikan sebuah entity tengah (intermediate
entity) sehingga relationship ini digantikan dengan dua
buah one-to-many (1:*) relationship, dengan entity tengah
berada di antara dua buah entity lama.
• Menghilangkan many-to-many (*:*) recursive relationship
types
Jika recursive relationship ada pada conceptual
data model, relationship tersebut harus dipecah untuk
mengidentifikasikan sebuah entity tengah dengan cara
menganggap entity lain yang terlibat pada relationship ini
merupakan dua buah entity dengan jenis relationship
many-to-many (*:*) binary sehingga penyelesaiannya
sama dengan penyelesaian pada relationship many-to-
many (*:*) binary.
20
• Menghilangkan complex-relationship types
Dihilangkan dengan memecah relationship ini
untuk mengindentifikasi entity tengah. Kemudian complex
relationship ini akan digantikan dengan beberapa one-to-
many (1:*) relationship.
• Menghilangkan multi-valued attributes
Dengan cara memecah atribut ini untuk
mengidentifikasi sebuah entity.
b. Memperoleh relasi untuk local logical data model
Bertujuan untuk membuat hubungan logical model yang
mewakili entity, relationship dan attribute yang telah didefinisi.
Mendeskripsikan komposisi tiap hubungan memakai Database
Definition Language (DDL) untuk relasi basis data. Dengan
menggunakan DDL dapat dibuat spesifikasi nama dari relasi yang
diikuti dengan daftar dari relasi attribute yang mudah lalu
mengidentifikasikan primary key dan foreign key dari suatu
relasi.
Untuk memperoleh relasi untuk local logical data model,
maka diperlukan penjelasan untuk mendeskripsikan struktur yang
mungkin dalam data model saat ini.
21
c. Memvalidasi relasi dengan menggunakan normalisasi
Menurut Connolly dan Begg (2002, p.376), normalisasi
adalah sebuah teknik untuk menghasilkan relasi dengan properti-
properti yang diinginkan, memberikan kebutuhan data dari sebuah
perusahaan.
Tujuan normalisasi adalah terjaminnya struktur yang
konsisten, kerangkapan yang minimal, dan stabilitas struktur data
yang maksimal.
Manfaat normalisai adalah sebagai berikut :
1. Meminimalkan jumlah kapasitas penyimpanan yang
diperlukan untuk menyimpan data.
2. Meminimalkan resiko data yang tidak konsisten dalam
suatu basis data.
3. Meminimalkan kemungkinan update dan delete anomally.
4. Memaksimalkan stabilitas struktur data.
Struktur normalisasi tabel secara detil dibagi menjadi lima
tahap sehingga dikenal bentuk-bentuk tabel normal sesuai dengan
tahapan normalisasi yang telah dilakukan yaitu bentuk normal
pertama, kedua, ketiga, Boyce-Codd, keempat, dan kelima.
d. Memvalidasi Relasi Dengan Transaksi Pengguna
Bertujuan untuk menjamin bahwa relasi dalam logical
model tersebut mendukung user requirement specification secara
22
detil. Selain itu juga untuk menyakinkan bahwa tidak ada
kesalahan yang muncul sewaktu membuat suatu relasi.
e. Menentukan Integrity Constraints
Bertujuan untuk mendefinisikan integrity constraints yang
disampaikan dalam pandangan. Terdapat lima tipe integrity
constraints yang harus diperhatikan, yaitu :
• Required data
• Attribute domain constraints
• Entity integrity
• Referential integrity
• Enterprise constraints
Langkah ketiga : Membuat dan memvalidasi global logical data
model. Bertujuan untuk menyatukan local logical data model menjadi
global logical data model.
Pada perancangan logical model langkah ketiga, tahapan-
tahapannya adalah :
a. Menggabungkan local logical data model
Menghasilkan E-R diagram, skema relasional, kamus data
dan dokumen pendukung yang mendeskripsikan constraints dari
23
model. Beberapa tugas yang harus dikerjakan adalah sebagai
berikut :
• Memeriksa kembali nama dan isi dari entities dari
relationships dan candidate key.
• Memeriksa kembali nama dan isi dari relationships /
foreign keys.
• Menggabungkan entities atau hubungan dari local data
model.
• Mengikutsertakan (tanpa menggabungkan) entities atau
relationships yang unik pada tiap local data model.
• Menggabungkan relationships atau foreign key dari local
data model.
• Mengikutsertakan (tanpa menggabungkan) relationships
atau foreign key unik pada tiap local data model.
• Memeriksa untuk entities (hubungan) dan relationships
atau foreign key.
• Memeriksa integrity constraints.
• Menggambarkan E-R diagram.
• Melakukan update dokumen.
24
b. Memvalidasi Global Logical Data Model
Bertujuan untuk memvalidasi relasi yang dibuat dari
global logical data model dengan teknik normalisasi dan
menjamin bahwa model tersebut mendukung kebutuhan transaksi.
c. Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan yang
signifikan seperti keadaan yang tidak terduga dimasa mendatang
dan menilai apakah model logikal tersebut dapat menampung atau
menyesuaikan perubahan yang terjadi.
d. Melihat Kembali Global Logical Data Model dengan Pengguna
Bertujuan untuk menjamin model data logikal yang
bersifat global telah tepat untuk perusahaan.
2.3.3 Perancangan Basis Data Fisik (Physical Database Design)
Physical database design adalah suatu proses untuk menghasilkan
gambaran dari implementasi basis data pada tempat penyimpanan,
menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan
untuk efesiensi data dan menghubungkan beberapa integrity constraints
dan tindakan keamanan (Connolly, 2002, p.478).
Langkah keempat : Menerjemahkan global logical data model
untuk target DBMS. Bertujuan menghasilkan skema basis data relasional
25
dalam global logical data model yang dapat diimplementasikan ke
DBMS.
Pada perancangan physical model, langkah-langkahnya adalah :
a. Merancang basis data relasional
Dalam memulai merancang physical design,
diperlukan untuk mengumpulkan dan memahami informasi
tentang relasi yang dihasilkan dari logical database design.
Informasi yang penting bisa didapatkan dari kamus data dari
DDL.
b. Merancang representasi dari data yang diperoleh
Bertujuan untuk menentukan bagaimana setiap data
yang diperoleh mewakili global logical data model ke dalam
DBMS.
c. Merancang enterprise constraints
Pada langkah ini bertujuan untuk merancang batasan-
batasan yang ada pada perusahaan.
Langkah kelima : Merancang representasi physical. Bertujuan
untuk menentukan organisasi file yang untuk menyimpan dan
menentukan indeks yang dibutuhkan untuk meningkatkan performa.
Terdapat tiga faktor yang memungkinkan digunakan representasi
physical :
26
1. Transaction throughput
2. Response time
3. Disk storage
Dalam langkah kelima ini perlu untuk memahami system resource
untuk menigkatkan performa basis data.
• Main memory
Dengan semakin besar main memory yang ada
maka akan dapat menigkatkan performa DBMS dan
aplikasi basis data yang digunakan.
• CPU
Mengontrol tugas-tugas dari system resource lain
dan mengeksekusi prosesnya.
• Disk I/O
Dengan menggunakan DBMS yang besar, maka
disk I/O yang diperlukan sangat signifikan dalam
menyimpan dan mengambil data. Untuk menghindari
kemacetan transfer data, maka:
i. File sistem operasi harus dipisahkan dari file basis
data.
ii. File utama basis data harus dipisahkan dari file
indeks.
27
iii. File recovery log harus dipisahkan dari basis data
yang sedang digunakan.
• Network
Ketika jumlah data yang ditransfer telah banyak,
maka dengan menggunakan network sangat dianjurkan.
Selain itu juga untuk menghindari dari kemacetan dalam
mentransfer data.
Langkah-langkah dalam langkah kelima ini adalah :
a. Menganalisa transaksi
Bertujuan untuk memahami fungsi dari transaksi yang
dijalankan pada basis data dan menganalisa transaksi yang
penting. Kriteria kemampuan yang harus diidentifikasi dalam
menganalisa transaksi adalah :
• Transaksi dapat berjalan secara sering dan akan
mempunyai dampak yang signifikan pada performa.
• Transaksi yang kritis pada operasi dan bisnis.
• Waktu selama sehari atau seminggu ketika akan ada
permintaan yang tinggi pada saat basis data dibuat.
28
b. Memilih file organisasi
Bertujuan untuk menyimpan data secara tepat ke tempat
penyimpanan data.
c. Memilih indeks
Bertujuan untuk meningkatkan performa dalam suatu
sistem basis data. Salah satu pendekatan untuk memilih organisasi
file yang cocok untuk relasi adalah untuk menyimpan tuples yang
tidak disimpan dan dibuat sebanyak secondary indexes
sebagaimana diperlukan. Oleh karena itu, pilih attribute yang
digunakan adalah :
• Attribute yang sering digunakan untuk join operations
untuk membuat lebih efisien.
• Attribute yang sering dipesan untuk mengakses tuples
pada suatu relasi di dalam urutan yang menunjukkan
attribute.
d. Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan jumlah ruang
penyimpanan yang akan diperlukan dalam basis data.
Perkiraannya didasari pada ukuran setiap tabel dalam suatu relasi.
Contohnya dalam lima tahun mendatang berapa kapasitas hard
disk yang dibutuhkan untuk menampung data.
29
Langkah keenam : Merancang pandangan pengguna (user
interface). Bertujuan untuk merancang user interface yang telah
diidentifikasi selama mengumpulkan kebutuhan dan menganalisa langkah
dari relasional database lifecycle. Contohnya pada branch terdiri dari
interface direktur dan manajer.
Langkah ketujuh : Merancang keamanan. Dalam sebuah sistem
basis data, keamanan adalah elemen yang sangat penting mengingat isi
dari basis data berupa informasi yang sangat penting.
Langkah kedelapan : Mempertimbangkan pengenalan dan
redundansi kontrol. Pada langkah physical database design ini
mempertimbangkan denormalisasi skema relasional untuk meningkatkan
performa. Hasil dari normalisasi adalah perancangan basis data logikal
secara struktural konsisten dan menekan jumlah redundansi. Faktor yang
perlu dipertimbangkan adalah :
• Denormalisasi membuat implementasi lebih kompleks.
• Denormalisasi selalu mengorbankan fleksibilitas.
• Denormalisasi akan membuat cepat dalam retrieve data tetapi
lambat dalam updates.
Ukuran performa dari suatu perancangan basis data dapat dilihat
dari sudut pandang tertentu yaitu melalui pendekatan efisiensi data
(Normalisasi) atau pendekatan efisiensi proses (Denormalisasi). Efesiensi
data dimaksudkan untuk meminimalkan kapasitas disk, dan efesiensi
30
proses dimaksudkan untuk mempercepat proses saat retrieve data dari
basis data.
Langkah kesembilan : Memonitor dan memasang sistem
operasi. Bertujuan untuk memonitor sistem operasi, meningkatkan
performa dan menentukan perancangan sistem yang tepat atau
menggambarkan perubahan kebutuhan.
2.4 Entity Relationship Modelling
2.4.1 Entity type
Entity adalah kumpulan objek dengan sifat-sifat sama yang
diidentifikasikan oleh perusahaan dan mempunyai keberadaannya sendiri.
Entity dilambangkan dengan sebuah kotak yang dibubuhi nama
dari entity tersebut didalam kotak tersebut. Dalam UML huruf pertama
entity selalu menggunakan huruf capital. Entity ada dua jenis, yaitu :
a. Strong entity : keberadaannya tidak bergantung pada entity lain.
b. Weak entity : keberadaannya bergantung pada enitity lain.
2.4.2 Relationship type
Sekumpulan asosiasi yang artinya mempunyai satu atau lebih
tipe entity. Setiap tipe relasi diberikan nama yang menggambarkan
fungsinya. Representasi diagram dari tipe relasi ditunjukkan dengan garis
yang menghubungkan tipe entity yang berasosiasi dan diberi label dengan
nama relasi.
31
2.4.2.1 Derajat tipe relasi
Entity yang dilibatkan dalam tipe relasi tertentu
dinyatakan sebagai partisipan pada relasi tersebut. Jumlah
partisipan pada tipe relasi disebut derajat relasi. Relasi dengan
derajat dua disebut binary. Relasi dengan derajat tiga disebut
ternary. Relasi dengan derajat empat disebut quaternary.
2.4.2.2 Relasi rekursif
Merupakan tipe relasi dimana tipe entity yang sama
berpartisipasi lebih dari sekali dengan peranan yang berbeda.
2.4.3 Atribut
Merupakan property dari sebuah entity atau tipe relasi.
Contohnya, tipe entity Pegawai, bisa memiliki atribut nomor pegawai,
nama pegawai, jabatan, dan gaji. Atribut dapat dikelompokan sebagai
berikut :
2.4.3.1 Atribut Sederhana dan Komposit
Atribut sederhana merupakan atribut yang terdiri dari satu
komponen tunggal dengan keberadaannya sendiri, sehingga
tidak dapat dipecah menjadi komponen-kompenen yang lebih
kecil lagi. Contoh atribut sederhana meliputi jabatan dan gaji
dari entity Pegawai. Atribut komposit merupakan atribut yang
32
dibentuk dari banyak komponen. Contohnya atribut alamat
dapat dipecah menjadi atribut jalan, kota, dan kode pos.
2.4.3.2 Atribut Single-Valued dan Multi-Valued
Atribut Single-Valued merupakan atribut yang menyimpan
nilai tunggal untuk setiap entity. Kebanyakan atribut adalah
Single-Valued.
Atribut Multi-Valued merupakan atribut yang menyimpan
banyak nilai untuk setiap entity.
2.4.3.3 Atribut Turunan
Atribut Turunan merupakan atribut dimana nilainya
diperoleh atau diturunkan dari nilai atribut atau sekumpulan
atribut lainnya, dan tidak harus dari tipe entity yang sama.
2.4.4. Keys
2.4.4.1. Simple Key
Simple key merupakan candidate key yang terdiri atas dua
atau lebih atribut, dimana nilai dari atribut tersebut bila
digabungkan secara bersama-sama baru akan dapat
mengidentifikasikan sebuah record unik untuk tipe entity
tersebut.
33
2.4.4.2. Composite Key
Composite Key merupakan candidate key yang terdiri atas
dua lebih atribut, dimana nilai dari atribut tersebut bila
digabungkan secara bersama-sama baru akan dapat
mengidentifikasikan sebuah record unik tipe entity tersebut.
2.4.4.3. Candidate Key
Candidate Key merupakan sekumpulan minimal atribut
yang secara unik untuk mengidentifikasikan setiap kemunculan
tipe entity.
2.4.4.4. Primary Key
Primary Key merupakan key yang terpilih secara unik
untuk mengidentifikasikan setiap kemunculan tipe entity.
2.4.4.5. Alternate Key
Alternate Key merupakan kunci candidate yang tidak
dapat dipakai sebagai kunci primer (primary key).
2.4.4.6. Foreign Key
Foreign Key yang merupakan suatu atribut yang
melengkapi satu hubungan (relationship) yang menunjukkan ke
induknya.
34
2.5 Normalisasi
Merupakan serangkaian test dari sebuah relasi untuk menentukan apakah
relasi tersebut memuaskan atau mengganggu kebutuhan dari sebuah normal form
yang diberikan (Connolly,2002,p.376).
2.5.1 Proses Normalisasi
Teknik normalisasi menyangkut sebuah rangkaian aturan yang
digunakan untuk memeriksa sebuah relasi, sehingga sebuah basis data
dapat dinormalisasi dalam beberapa tahap. Normalisasi biasanya
dijalankan seperti sekumpulan langkah secara bertahap, dimana relasi
menjadi semakin kuat bila langka (degree) yang dikenakan padanya
semakin tinggi.
2.5.1.1 Bentuk Normal Kesatu (1NF)
Mengidentifikasi dan membuang atribut yang berulang
(repeting group) dan memiliki nilai yang lebih dari satu. Suatu
hubungan dikatakan normal pertama jika :
a) Setiap dari baris dan kolom berisi atribut yang bernilai
tunggal.
b) Kunci primer telah ditentukan.
c) Atribut nilai banyak (multi value) telah dihilangkan.
35
2.5.1.2 Bentuk Normal kedua (2NF)
Suatu relasi yang memiliki composite key sebagai
primary key-nya mempunyai kemungkinan untuk memiliki
partial functional dependency, dimana atribut primary key
merupakan fungsi pada salah satu atau sebagian dari primary
key. Dalam 2NF maka setiap atribut yang merupakan partial
functional dependency harus dipisahkan ke relasi atau tabel
yang baru dengan mengikutsertakan determinannya. Bentuk
2NF diperoleh apabila setiap atribut bukan bagian dari
primary key suatu tabel merupakan functional dependency dari
primary key tabel tersebut.
2.5.1.3 Bentuk Normal Ketiga (3NF)
Suatu tabel atau relasi memiliki transitive dependency
apabila memiliki atribut bukan primary key yang bergantung
fungsional pada atribut bukan primary key lainnya pada tabel
tersebut. Maka setiap atribut yang transitive dependency
dipisahkan menjadi relasi yang baru dengan mengikutsertakan
determinannya. Bentuk 3NF diperoleh apabila setiap atribut
bukan primary key dalam suatu tabel merupakan transitive
dependency dari atribut bukan primary key tabel tersebut.
36
2.5.1.4 Bentuk Normal Boyce-Codd (BCNF)
Normalisasi BCNF dapat dilakukan bila terdapat
kondisi dimana relasi memiliki dua atau lebih composite key
dimana candidate key-nya saling melengkapi, yang sedikitnya
memiliki satu atribut pada umumnya. Sebuah relasi dikatakan
BCNF, jika dan hanya jika setiap determinant adalah
candidate key.
2.5.1.5 Bentuk Normal Keempat (4NF)
Sebuah relasi dikatakan memiliki multi-value
dependency apabila dua atau lebih one to many relationship
saling bebas terdapat pada relasi tersebut. Multi-Value
dependency dapat dihilangkan dengan memisahkan masing-
masing relasi one to many menjadi sebuah tabel baru dengan
mengikutsertakan determinantnya. Bentuk 4NF diperoleh
apabila relasi tersebut telah BCNF dan tidak terdapat multi-
value dependency.
2.5.1.6 Bentuk Normal Kelima (5NF)
Relasi dikatakan telah 5NF bila relasi tersebut tidak
memiliki joint dependency.
37
2.6 SQL (Structured Query Language)
2.6.1 Pengertian SQL
Menurut Kadir (2002, p.101), SQL singkatan dari Structured
Query Language. Dalam bahasa inggris sering dibaca sebagai SEQUEL.
SQL merupakan bahasa query standard yang digunakan untuk
mengakses basis data relasional. Standardisasi internasional terhadap sql
pertama kali dilakukan oleh ANSI (American National Standard
Institution), melalui publikasi database language SQL (ANSI X3.136 –
1986). Saat ini, ANSI dan ISO (International Standards Organization)
merupakan dua organisasi yang membuat standardisasi terhadap SQL.
SQL pertama kali diterapkan pada sistem R (sebuah proyek
riset pada laboratorium riset San Jose, IBM). Namun kini SQL juga di
jumpai pada berbagai platform, dari microcomputer hingga mainframe.
SQL dapat digunakan baik secara berdiri sendiri maupun dilekatkan
pada bahasa-bahasa lain seperti COBOL dan C. SQL juga telah menjadi
bagian dari sejumlah DBMS, seperti ORACLE, SYBASE, dan
INFORMIX.
SQL bukanlah satu-satunya query yang diterapkan pada basis data.
QUELL adalah contoh bahasa query yang lain, yang pertama kali
diperkenalkan pada sistem basis data Ingres.
38
2.6.2 SQL sebagai Sub Bahasa
Penyebutan SQL sebagai bahasa query tidak tepat sebab
kemampuan SQL tidak terbatas hanya untuk query (memperoleh data)
tetapi juga mencakup kemampuan lain seperti :
a. Pendefinisian struktur data.
b. Pengubahan data.
c. Pengaturan sekuritas, dan sebagainya.
Terkadang SQL dikatakan sebagai sub bahasa data, bukan sebagai
bahasa. Alasan SQL bukanlah bahasa query telah dijelaskan. Adapun
alasan SQL dikatakan sebagai sub bahasa data adalah karena SQL tidak
mendukung persyaratan bahasa yang lengkap, sekaligus SQL dapat
dipakai untuk mengakses basis data. SQL tidak menyediakan hal-hal
berikut :
• Pernyataan penguji kondisi (semacam IF pada COBOL).
• Pernyataan pengulangan/iterasi (semacam REPEAT pada
pascal).
2.6.3 Antarmuka SQL Terhadap DBMS
Penggunaan SQL pada DBMS cukup luas. SQL dapat dipakai oleh
berbagai kalangan (DBA, pemrogram, ataupun pengguna).
2.6.3.1 SQL sebagai bahasa administrasi basis data
Dalam hal ini SQL dipakai oleh DBA untuk
menciptakan serta mengendalikan pengaksesan basis data.
39
2.6.3.2 SQL sebagai bahasa query interaktif
Pengguna dapat memberikan perintah-perintah untuk
mengakses basis data yang sesuai dengan kebutuhannya. Hal
seperti ini sangat berguna untuk memenuhi kebutuhan-
kebutuhan yang seketika (hanya digunakan saat itu saja).
2.6.3.3 SQL sebagai bahasa pemrograman basis data
Pemrograman dapat menggunakan perintah-perintah
SQL dalam program aplikasi yang dibuat, guna mengakses
basis data.
2.6.3.4 SQL sebagai bahasa client / server
SQL juga dipakai untuk mengimplementasikan system
client/server. Sebuah klien dapat menjalankan suatu aplikasi
yang mengakses basis data yang ada pada suatu server. Dalam
hal ini sistem operasi antara server dan klien bisa berbeda.
Sebagai contoh, server barangkali menggunakan UNIX dan
client menggunakan perangkat lunak DBMS yang berbeda.
Sebagai contoh, client menggunakan Visual Foxpro dan
server menggunakan Informix.
40
2.6.4 Elemen SQL
Menurut Kadir (1999,p.104-p.106), elemen dasar SQL mencakup
pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan.
2.6.4.1 Pernyataan
Pernyataan adalah perintah SQL yang meminta suatu
tindakan pada DBMS. SQL memiliki kira-kira 30 pernyataan.
Beberapa pernyataan dasar SQL bisa dilihat pada tabel berikut
:
PERNYATAAN KETERANGAN
ALTER Mengubah struktur tabel
COMMIT Mengakhiri sebuah eksekusi
transaksi
CREATE Menciptakan tabel, indeks,
atau pandangan
DELETE Menghapus baris pasa tabel
DROP Menghapus tabel, indeks,atau
pandangan
GRANT Menugaskan hak terhadap
basis data kepada pengguna
atau grup pengguna
INSERT Menambahkan sebuah baris
41
pada tabel
REVOKE Membatalkan hak terhadap
basis data
ROLLBACK Mengembalikan ke keadaan
semula sekiranya transaksi
gagal dilaksanakan
SELECT Memilih baris dan kolom
pada tabel
UPDATE Mengubah nilai pada sebuah
baris
Tabel 2.1 Tabel Pernyataan dasar SQL
2.6.4.2 Nama
Nama digunakan sebagai identitas bagi objek-objek
pada DBMS. Contoh objek pada DBMS adalah tabel, kolom,
dan pengguna.
2.6.4.3 Tipe Data
Setiap data memiliki tipe data. Beberapa tipe data
standar dapat dilihat pada tabel berikut :
TIPE DATA KETERANGAN
CHAR Untuk menyatakan deretan
42
karakter (string). Misalnya, untuk
menyatakan nama orang, nama
jalan, atau nama kota
INTEGER Untuk menyatakan bilangan bulat
NUMERIC Untuk menyatakan bilangan real
Tabel 2.2 Tabel Tipe data dasar
Adapun beberapa tipe data perluasan dapat dilihat pada tabel
berikut :
TIPE DATA KETERANGAN
VARCHAR Untuk menyatakan string yang
panjangnya bervariasi
MONEY Untuk menyatakan uang
BOOLEAN Untuk menyatakan tipe logis
(true atau false)
BLOB Untuk menyatakan data biner
AUTO INCREMENT Untuk menyatakan nilai yang
urut
Tabel 2.3 Tabel Tipe Data Perluasan
2.6.4.4 Konstanta
Konstanta menyatakan nilai yang tetap (kebalikan dari
konstanta variable). Beberapa contoh konstanta :
43
• Konstanta numerik : 123, -245, 5.45
• Konstanta : ‘Jl. Kartika 21’
• Konstanta simbolik (konstanta yang tersedia
pada SQL dan mempunyai makna tersendiri) :
SYSDATE (tanggal system), USER (nama
pengguna yang menjalankan SQL), Konstanta
simbolik seringkali disebut variabel sistem.
2.6.4.5 Ekspresi
Ekspresi adalah segala sesuatu yang menghasilkan
nilai. Ekspresi digunakan untuk menghitung nilai. Contoh :
(LABA / MODAL) * 100 merupakan ekspresi untuk membagi
isi variable LABA dengan MODAL, dan kemudian dikalikan
dengan 100. Simbol-simbol yang dapar digunakan pada
ekspresi aritmatika antara lain :
SIMBOL KETERANGAN
* Perkalian
/ Pembagian
+ Penjumlahan
- Pengurangan
Tabel 2.4 Tabel Simbol ekspresi Aritmatika
44
2.6.4.6 Fungsi Bawaaan
Fungsi bawaan adalah sebuah sub-program yang
menghasilkan suatu nilai jika dipanggil. SQL memiliki
sejumlah fungsi bawaan (fungsi yang disediakan oleh SQL).
Sebagai contoh, terdapat fungsi bernama MIN yang digunakan
untuk memperoleh nilai terkecil atau avg untuk memperoleh
nilai rata-rata.
2.6.5 Kelompok Pernyataan SQL
Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok
yaitu DDL (Data Definition Language), DML (Data Manipulation
Language), DCL (Data Control Language)
2.6.5.1 DDL (Data Definition Language)
Suatu bahasa yang mengijinkan seorang DBA atau
pengguna untuk menggambarkan dan memberikan nama
suatu entity, attribute dan relationships yang dibutuhkan
untuk aplikasi, bersama-sama yang terhubung dan
memiliki batasan keamanan (Connolly, 2002, p.40).
DDL digunakan untuk mendefinikan skema atau
memodifikasi skema yang sudah ada. DDL tidak dapat
digunakan untuk memanipulasi data.
45
2.6.5.2 DML (Data Manipulation Language)
Suatu bahasa yang medukung suatu sekumpulan
operasi untuk mendukung operasi manipulasi basis data
yang dibuat dalam basis data (Connolly, 2002, p.41).
Perintah yang masuk kategori DML adalah :
• SELECT memilih data
• INSERT memasukkan data
• DELETE menghapus data
• UPDATE mengubah data
2.6.5.3 DCL (Data Control Language)
DCL berisi perintah-perintah untuk mengendalikan
pengaksesan data. Pengendalian dapat dilakukan per
pengguna, per table, per kolom, maupun per operasi yang
boleh dilakukan.
Perintah-perintah yang termasuk DCL :
• GRANT memberikan pengendalian akses data
• REVOKE mencabut kemampuan pengaksesan data
• LOCK TABLE mengunci table
2.6.5.4 Pengendali Transaksi
Pengendalian transaksi adalah perintah-perintah
yang berfungsi untuk mengendalikan pengeksekusian
46
transaksi. Perintah yang termasuk dalam kategori ini
antara lain :
• COMMIT menyetujui rangkaian perintah ynag
berhubungan erat (disebut transakasi) yang telah
berhasil dilakukan.
• ROLLBACK membatalkan transaksi yang ada
karena ada kesalahan atau kegagalan pada salah
satu rangkaian perintah.
2.6.5.5 Pengendali Programatik
Pengendali programatik mencakup pernyataan-
pernyataan yang berhubungan dengan pemanfaatan SQL
dalam bahasa lain (SQL yang dilekatkan). Pernyataan-
pernyataan ini bisa dipakai pada bahasa konvensional (3-
GL) seperti COBOL.
Yang termasuk dalam pengendalian programatik :
• CLOSE menutup kursor (pointer yang menunjuk
ke tabel)
• DECLARE mendeklarasikan kursor
• FETCH mengambil nilai baris berikutnya
• OPEN untuk membuka kursor
47
2.7 Teori-teori Lain
2.7.1 Entity Relationship Diagram (ERD)
Menurut Whitten (2004, p.281) Entity Relationship Diagram
(ERD) yaitu model data yang menggunakan beberapa notasi untuk
menggambarkan data dalam konteks entitas dan hubungan yang
dideskripsikan oleh data tersebut.
2.8 Teori-teori Pendukung
2.8.1 Internet
2.8.1.1 Pengertian Internet
Internet berasal dari kata Interconnection
Networking yang mempunyai arti hubungan komputer
dengan berbagai tipe yang membentuk sistem jaringan
yang mencakup seluruh dunia (jaringan komputer global)
dengan melalui jalur telekomunikasi seperti telepon, radio
link, satelit dan lainnya.
Dalam mengatur integrasi dan komunikasi jaringan
komputer ini digunakan protokol yaitu TCP/IP. TCP
(Transmission Control Protocol) bertugas memastikan
bahwa semua hubungan bekerja dengan benar, sedangkan
IP (Internet Protocol) yang mentransmisikan data dari satu
komputer ke komputer lain. TPC/IP secara umum
berfungsi memilih rute terbaik transmisi data, memilih
48
rute alternatif jika suatu rute tidak dapat di gunakan,
mengatur dan mengirimkan paket-paket pengiriman data.
Dengan memanfaatkan internet, pemakaian
komputer di seluruh dunia dimungkinkan untuk saling
berkomunikasi dan pemakaian bersama informasi dengan
cara saling kirim e-mail, menghubungkan ke komputer
lain, mengirim dan menerima file, membahas topik
tertentu pada newsgroup dan lain-lain.
2.8.1.2 Sejarah Internet
Internet pertama kali dibuat oleh Advance Projects
Agency (ARPA) dari pemerintah Amerika Serikat pada
tahun 1969 dan pertama kali dikenal sebagai ARPANet.
Ide dari ARPANet ini awalnya adalah untuk
menghubungkan komputer-komputer riset antar
universitas. ARPANet pertama kali terhubung dengan
empat universitas besar di Amerika Serikat yaitu
University of California at Los Angeles (UCLA),
University of California at Santa Barbara (UCSB),
Stanford Research Institute, dan University Utah. Secara
umum ARPANet diperkenalkan pada tahun 1972.
Proyek ARPANet merangsang bentuk jaringan,
kehandalan, dan sampai berapa besar informasi dapat
dipindahkan, dan akhirnya semua standar yang mereka
49
tentukan menjadi cikal bakal untuk pengembangan
protokol yang sekarang dikenal sebagai Transfer Control
Protocol/Internet Protocol (TCP/IP).
Protokol jaringan dari ARPANet menggunakan
teknologi yang disebut packet switching. Dengan teknik
data komputer dikirim dan diterima melalui satu saluran,
sehingga hanya dengan menggunakan satu pasang kabel,
data dapat disalurkan melalui beberapa tempat yang
berbeda.
Pada awal tahun 80an, seluruh jaringan yang
menggunakan protokol TCP/IP untuk dapat
berkomunikasi. Komunikasi antar jaringan dapat
dilaksanakan, data dan informasi dari komputer yang
masih dalam bentuk digital perlu diubah terlebih dahulu ke
dalam bentuk analog, shingga dapat dikirimkan melalui
jaringan telepon. Data analog yang dikirim tersebut
kemudian diubah kembali menjadi data digital dengan
bantuan alat modem (modulator demodulator).
2.8.2 Web
World Wide Web ("WWW", atau singkatnya "Web") adalah suatu
ruang informasi di mana sumber-sumber daya yang berguna diidentifikasi
oleh pengenal global yang disebut Uniform Resource Identifier (URI).
50
WWW sering dianggap sama dengan Internet secara keseluruhan,
walaupun sebenarnya ia hanyalah bagian daripadanya.
Hiperteks dilihat dengan sebuah program bernama penjelajah web
yang mengambil informasi (disebut "dokumen" atau "halaman web") dari
peladen web (server web) dan menampilkannya, biasanya di sebuah
tampilan komputer. Kita lalu dapat mengikuti pranala di setiap halaman
untuk pindah ke dokumen lain atau bahkan mengirim informasi kembali
kepada peladen untuk berinteraksi dengannya. Ini disebut "surfing" atau
"berselancar" dalam bahasa Indonesia. Halaman web biasanya diatur
dalam koleksi material yang berkaitan yang disebut "situs web".
2.8.3 Personal Home Page (PHP)
Php merupakan gabungan dari beberapa fitur-fitur terbaik dari
bahasa pemrograman yang modern untuk membuat sesuatu yang unik dan
pendekatan untuk membuat web aplikasi yang baru.
PHP adalah singkatan dari PHP Hypertext Preprocessor,
merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan
diproses di server dan kemudian hasilnya dikirim ke klien, tempat
pemakai browser. PHP dirancang untuk membentuk web dinamis, artinya
dapat membentuk suatu tampilan berdasarkan permintaan terkini (Kadir,
2003, p.1).
51
2.8.4 Javascript
Javascript adalah salah satu bahasa pemrograman yang
dikembangkan oleh Netscape untuk dipakai pada pembuatan halaman
web yang dinamis dan interaktif. Javascript merupakan bahasa
pemrograman yang dibuat untuk memudahkan bagi setiap orang untuk
mempelajari bahasa Java. Bahasa pemograman javascript dibuat secara
khusus untuk membuat suatu halaman web yang interaktif maupun
dinamis. Jika java merupakan bahasa pemograman dan HTML (Hyper
Text Markup Language) merupakan bahasa kode maka javascript hibrid
yang menjadi perpaduan antara bahasa java dengan HTML.
2.8.5 MySQL
MySQL adalah Relational Database Management System
(RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL
(General Public License). Dimana setiap orang bebas untuk
menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang
bersifat closed source atau komersial. MySQL sebenarnya merupakan
turunan salah satu konsep utama dalam database sejak lama, yaitu SQL
(Structured Query Language). SQL adalah sebuah konsep pengoperasian
database, terutama untuk pemilihan atau seleksi dan pemasukan data,
yang memungkinkan pengoperasian data dikerjakan dengan mudah
secara otomatis. Keandalan suatu sistem database (DBMS) dapat
diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-
perintah SQL, yang dibuat oleh user maupun program-program
52
aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih
unggul dibandingkan database server lainnya dalam query data. Hal ini
terbukti untuk query yang dilakukan oleh single user, kecepatan query
MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih
cepat dibandingkan Interbase.