Pendahuluan, Pembahasan
BAB I
PENDAHULUAN
A. Latar Belakang
Basis data adalah kumpulan informasi yang disimpan di dalam
komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh suatu informasi dari database tersebut. Perangkat
lunak yang digunakan untuk mengolah dan mengambil query basis data disebut
sistem manajement basis data. Pemrosesan basis data sebagai perangkat andalan
sangat diperlukan oleh berbagai institusi dan perusahaan. Dalam pengembangan
sistem informasi diperlukan basis data sebagai media penyimpanan data.
Kehadiran basis data dapat meningkatkan daya saing perusahaan tersebut. Basis
data dapat mempercepat upaya pelayanan kepada pelanggan, menghasilkan informasi
dengan cepat dan tepat sehingga membantu pengambilan keputusan untuk segera
memutuskan suatu masalah berdasaran informasi yang ada. Banyak aplikasi yang
dibuat dengan berlandaskan pada basis data antara lain semua transaksi
perbankan, aplikasi pemesanan, penjadwalan penerbangan, proses registrasi dan
pencatatan data mahasiswa pada perguruan tinggi, aplikasi pemrosesan penjualan,
pembelian dan pecatatan data barang pada perusahaan dagang, pencatatan data
pegawai beserta akivitasnya termasuk operasi penggajian pada suatu perusahaan,
dan sebagainya. Beberapa informasi pada perusahaan retail seperti jumlah
penjualan, mencari jumlah stok yang tersedia, barang apa yang paling laku
dijual pada bulan ini, dan berapa laba bersih perusahaan dapat diketahui dengan
mudah menggunakan basis data.
BAB II
PEMBAHASAN
- Pengertian Basis Data
Banyak sekali
definisi tentanb basis data yang diberikan oleh pakar di bidang ini. Basis data
atau disebut juga database, terdiri dari dua penggalan kata yaitu data dan
base, yang artinya berbasiskan pada data, secara konseptual, database diartikan
sebuah koleksi atau kumpulan data-data yang saling berhubungan (relation),
disusun menurut aturan tertentu secara logis, sehingga menghasilkan informasi.
Selain itu, untuk mengelola dan memanggil query basis data agar dapat disajikan
dalam berbagai bentuk yang dibutuhkan perangkat lunak yang disebut Sistem
Manajement Basis Data atau disebut juga Sistem Database Management System
(DBMS). Penggabungan Sistem Database Management System (DBMS) dengan Basis Data
akan membentuk satu kesatuan yang disebut Sistem Basis Data. System Basis Data
adalah suatu system penyusunan dan pengelolaan record-record dengan menggunakan
computer, dengan tujuan untuk menyimpan atau merekam serta memelihara data
operasional lengkap sebuah organisasi/perusahaan sehingga mampu menyediakan
informasi yang diperlukan pemakai untuk kepentingan proses pengambilan
keputusan.
- Komponen Dasar Basis Data
Dalam membuat
basis data harus memiliki komponen dasar. Agar terciptanya basis data maka hal
yang diperhatikan tersedianya :
- Data : representasi fakta dunia nyata yang mewakili suatu objek yang direkam dalam bentuk angka, huruf, symbol, teks, gambar, bunyi, atau kombinasinya.
- Hardware : terdiri dari semua peralatan perangkat keras computer yang digunakan untuk mengelola system basis data berupa : peralatan penyimpanan (disk, drum, tape), peralatan input dan output, atau peralatan komunikasi.
- Software : sebagai perantara antara pemakai dengan data fisik pada basis data, berupa: Database Mangement System (DBMS) atau program-program aplikasi dan prosedur – prosedur.
- User (pemakai) : terbagi menjadi 4 klasifikasi, yaitu :
1.
System Engineer : tenaga ahli yang
bertanggung jawab atas pemasangan system basis data, dan juga mengadakan
peningkatan dan melaporkan kesalahan dari system tersebut kepada pihak penjual.
2.
Administrator Basis Data : tenaga
ahli yang mempunyai tugas untuk mengontrol system basis data secara
keseluruhan, meramalkan kebutuhan akan system basis data, merencanakannya dan
mengaturnya.
3.
Programmer : membuat program aplikasi
yang diperlukan oleh pemakai akhir dengan menggunakan data yang terdapat dalam
system basis data. Pemakai akhir : tenaga ahli yang menggunakan data untuk
mengambil keputusan yang diperlukan untuk kelangsungan usaha.
- Istilah - Istilah Basis Data
Dalam
penyusunan basis data ada beberapa istilah yang akan sering digunakan. Oleh
karena itu, kita sebagai obyek yang mempelajari lebih jauh lagi tentang ilmu pengetahuan basis data
sepatutnya mengenal :
- Enterprise : suatu bentuk organisasi seperti : bank, universitas, rumah sakit, pabrik, dsb. Data yang disimpan dalam basis data merupakan data operasional dari suatu enterprise. Contoh data operasional : data keuangan, data mahasiswa, data pasien, data karyawan.
- Entitas : suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalam basis data. Contoh entitas dalam lingkungan bank terdiri dari : nasabah, simpanan, hipotik. Contoh entitas dalam lingkungan universitas terdiri dari : mahasiswa, mata kuliah. Kumpulan dari entitas disebut Himpunan Entitas. Contoh : semua nasabah, semua mahasiswa.
- Atribut (Elemen Data) : karakteristik dari suatu entitas. Contoh: entitas mahasiswa atributnya terdiri dari npm, nama, alamat, tgl lahir.
- Nilai Data (Data Value) : isi data/informasi yang tercakup dalam setiap elemen data. Contoh: atribut nama mahasiswa dapat berisi nilai data: Dani, Dewi, Diaz.
- Kunci Element Data (Key Data Element): tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas. Contoh entitas mahasiswa yang mempunyai atribut – atribut npm, nama, alamat, tgl lahir, menggunakan kunci element data npm.
- Record Data: kumpulan isi element data yang saling berhubungan. Contoh: kumpulan atribut npm, nama, alamat, tgl lahir dari entitas mahasiswa: “4109073”, “Dani”, “Jl. Jend. Sudirman No. 4 Makassar”, “4 April 1983”.
- Database Mangement System (DBMS)
Seperti yang
telah dikemukakan diawal, pada bagian ini kita akan mengulas lebih spesifik
lagi mengenai Sistem Mangement Basis Data atau populernya disebut Database
Managament System (DBMS). Yang mana adalah perangkat lunak yang berfungsi untuk
mengelola database, mulai dari membuat database itu sendiri sampai dengan
proses – proses yang berlaku dalam database tersebut, baik berupa entry, edit,
hapus, query terhadap data, membuat laporan dan lain sebagainya secara efektif
dan efisien. Salah satu jenis DBMS yang sangat terkenal saat ini adalah
Relational DBMS (RDBMS), yang mempresentasikan data dalam bentuk tabel – tabel
yang saling berhubungan. Sebuah tabel disusun dalam bentuk baris (record) dan
kolom (field). Banyak sekali berkembang perangkat lunak RDBMS ini, misalnya :
MySQL, Oracle, Sybase, dBase, MS. SQL Microsoft Access (MS. Access) dan
lain-lain. Ada 3 kelompok perintah yang digunakan dalam mengelola dan
mengorganisasikan data dalam RDBMS, yaitu
:
- Data Definition Language: merupakan perintah – perintah yang digunakan oleh seorang Database Administrator untuk mendefinisikan struktur dari database, baik membuat tabel baru, menentukan struktur penyimpanan tabel, model relasi antar tabel, validasi data, dab lain sebagainya.
- Data Manipulation Language (DML): perintah-perintah yang digunakan untuk memanipulasi dan mengambil data pada suatu database. Manipulasi yang dapat dilakukan terhadap data adalah :
·
Penambahan Data
·
Penyisipan Data
·
Penghapusan Data
·
Pengubahan Data
- Data Control Language: bagian ini berkenaan dengan cara mengendalikan data, seperti siapa saja yang bisa melihat isi data, bagaimana data bisa digunakan oleh banyak user, dan lain-lain. Lebih mengarah ke segi sekuritas data.
- Arsitektur Basis Data
Sebuah basis
data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di
dalamnya, penjelasan ini disebut skema. Arsitektur system basis data memberikan
kerangka kerja bagi pembangunan basis data. Menurut ANSI/SPARC, arsitektur
basis data terbagi atas 3 level yaitu:
- Internal/Physical Level: level terendah untuk mempresentasikan basis data, berhubungan dengan bagaimana data disimpan secara fisik (physical storage). Record disimpan dalam media penyimpanan dalam format byte. Didefinisikan sebagai sebuah Skema Internal.
- External/View Level: level user, berhubungan dengan bagaimana data direpresentasikan dari sisi setiap user. Yang dimaksud dengan user adalah programmer, end user atau DBA. Setiap user mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya.
·
Programmer menggunakan bahasa pemograman
seperti C, COBOL, atau PL/I
·
End User menggunakan bahasa query
atau menggunakan fasilitas yang tersedia pada program aplikasi. Pada level
eksternal ini, user dibatasi pada kemampuan perangkat keras dan perangkat lunak
yang digunakan aplkasi basis data. Didefinisikan sebagai sebuah Skema
Eksternal.
- Conceptual/Logical Level: sebuah representasi seluruh muatan informasi yang dikandung basis data yang menghubungkan antara level internal dan level eksternal. Tidak seperti level eksternal, maka pada level conceptual, keberadaannya tidak memperhitungkan kekurangan perangkat keras maupun perangkat lunak pembangun aplikasi basis data. Didefinisikan sebagai sebuah Skema Konseptual.
- Database Independence
Dalam
kebebasan data, aplikasi disekat dari bagaimana data disimpan dan
distrukturkan. Kebebasan data adalah salah satu keuntungan utama dari
penggunaan DBMS. Tujuan utama dari
arsitektur 3 level diatas adalah
untuk menyediakan data independence, dimana level diatasnya tidak berpengaruh
oleh perubahan untuk level dibawahnya. Ada 2 jenis data independence:
- Logical Data Independence (kebebasan data secara logika): perlindungan dari perubahan struktur logika suatu data. Logical data independence menunjuk kepada kekebalan dari skema eksternal untuk perubahan-perubahan dalam skema konseptual. Perubahan skema konseptual, seperti : memungkinkan penambahan atau penghapusan entity, atribut, atau relationship tanpa harus mengganti skema eksternal atau harus menulis kembali program aplikasi yang sudah ada.
- Physical Data Independence (kebebasan data secara fisik): perlindungan dari perubahan struktur fisik suatu data. Physical data independence menunjuk kepada kekebalan dari skema konseptual untuk perubahan-perubahan dalam skema internal. Perubahan skema internal, seperti: penggunaan organisasi file atau struktur penyimpanan yang berbeda, penggunaan media penyimpanan yang berbeda, perubahan algoritma indeks atau hashing tanpa harus mengganti/merubah konseptual atau skema eksternal.
- Model Basis Data
Model basis
data adalah kumpulan konsep yang terintegrasi yang menggambarkan data, hubungan
antara data dan batasan-batasan data dalam suatu organisasi. Fungsi dari suatu
model data untuk mempresentasikan data sehingga data tersebut mudah dipahami.
Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model
data berbasis objek atau model data berbasis objek atau model data berbasis
record.
- Model Data Berbasis Objek menggunakan konsep entitas, atribut dan hubungan antar entitas. Beberapa jenis model data berbasis objek yang umum adalah:
·
Entity – Relationship
·
Semantic
·
Functional
·
Object – Oriented
- Model Data Berbasis Record, basis data terdiri dari sejumlah record dalam bentuk yang tetap yang dapat dibedakan dari bentuknya. Ada 3 macam jenis model data berbasis record yaitu:
·
Model Data Relasional (Relational),
merupakan model data yang popular saat ini. Menggunakan model berupa tabel
berdimensi dua yang disebut relasi atau tabel. Memakai kunci tamu (foreign key)
sebagai penghubung dengan tabel lain.
·
Model Data Hierarkhi (Hierarchical),
dikenal pula sebagai model pohon.
·
Model Data Jaringan (Network),
disebut juga model CODASYL. Setiap anak biasa memiliki lebih dari satu
orangtua.
- Bahasa Query Formal dan Komersial
Bahasa query
yaitu pernyataan yang diajukan untuk mengambil informasi. Dan bahasa query ini
adalah bahasa pada model data relasional yang terbagi menjadi 2 yaitu :
- Bahasa Query Formal: bahasa query yang diterjemahkan dengan menggunakan symbol-simbol matematis terdiri dari:
1. Procedural,
yaitu pemakai memberi spesifikasi data apa yang dibutuhkan dan bagaimana cara
mendapatkannya.
2. Non
procedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa
menspesifikasikan bagaimana untuk mendapatkannya.
- Bahasa Query Komersial: bahasa query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly). Contoh :
·
QUEL : berbasis pada bahasa kalkulus
relasional
·
QBE : berbasis pada bahasa kalkulus
relational
SQL
: berbasis pada bahasa kalkulus relasional dan aljabar relasional
- Perancangan Basis Data
Perancangan
basis data adalah proses pembuatan (develop) struktur database sesuai dengan
data yang dibutuhkan oleh user. Dalam perancangan basis data tentu sangat
dibutuhkan model data seperti apa yang diinginkan, dan hal itu sudah dibahas
pada bagian sebelumnya. Selanjutnya mengambil langkah-langkah dalam perancangan
basis data, yaitu:
- Mendefinisikan kebutuhan (Requirements definition) tujuannya: untuk mengidentifikasikan dan mendeskripsikan data yang dibuat oleh user dalam sebuah organisasi.
- Rancangan konseptual (Conceptual Design) tujuannya: untuk membuat sebuah model data konseptual (atau arsitektur informasi) yang akan mendukung perbedaan kebutuhan informasi dari beberapa user dalam sebuah organisasi.
- Rancangan Implementasi (Implementation Design) tujuannyal: untuk memetakan model data logis (logical data model) kedalam sebuah skema yang dapat diproses oleh DBMS tertentu melalui transformasi ER-D ke Relasi.
- Rancangan fisik (Physdical Design). Pada tahap terakhir ini, logical database structured (normalized relation, trees, network, dll) dipetakan menjadi physical storage structure seperti file dan tabel. Rancangannya seperti:
·
Model detail oleh Database Specialist
·
Diagram Entity-Relationship
·
Normalisasi
·
Spesifikasi hardware/software
- Teknik Normalisasi
Pengertian
normalisasi ada beberapa yang berpendapat:
- Istilah Normalisasi berasal dari E. F.Codd, salah seorang perintis teknologi basis data. Selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel 9 relasi dalam basis data (dengan tujuan mengurangi kemubadziran data), normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain (misalnya : E-R).
- Kroenke mendefinisikan normalisasi sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua belah relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud oleh Kroenke ini sering disebut dengan istilah anomaly.
- Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data/database, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi).
- Normalisasi adalah suatu proses memperbaiki/membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika.
Proses
normalisasi adalah proses pengelompokkan data elemen menjadi tabel-tabel yang
menunjukkan entity dan relasinya. Pada proses normalisasi dilakukan pengujian
pada beberapa kondisi apakah ada kesulitan pada saat menambah/menyisipkan,
menghapus, mengubah dan mengakses pada suatu basis data. Bila terdapat
kesulitan pada pengujian tersebut maka perlu dipecahkan relasi pada beberapa
beberapa tabel lagi atau dengan kata lain perancangan basis data belum optimal.
Tujuan dari
normalisasi itu sendiri adalah:
- Untuk menghilangkan kerangkapan data
- Mengurangi kompleksitas
- Untuk mempermudah pemodifikasian data.
Tahapan
normalisasi dapat diurai sebagai berikut:
- Bentuk Tidak Normal: menghilangkan perulangan group.
- Bentuk Normal Pertama (1NF): menghilangkan ketergantungan sebagian. Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam file flat, data dibentuk dalam satu record demi satu record dan nilai dari field berupa “atomic value”.
- Bentuk Normal Kedua (2NF): menghilangkan ketergantungan transitif. Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu.
- Bentuk Normal Ketiga (3NF): menghilangkan anomali-anomali hasil dari ketergantungan fungsional. Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk Normal Kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Artinya setiap atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh.
- Bentuk Normal Boyce-Codd (BCNF): menghilangkan ketergantungan multivalue. Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk Normal Ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk Normal Kesatu dan setiap atribut dipaksa bergantung pada fungsi pada atribut super key.
- Bentuk Normal Keempat (4NF): menghilangkan anomali-anomali yang tersisa.
- Bentuk Normal Kelima: pengujian untuk memastikan kebenaran isi tabel dan hubungan antara tabel tersebut.
Teknik Normalisasi merupakan sebuah
teknik dalam logical desain sebuah basis data, teknik pengelompokkan atribut
dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa
redudansi).
Pada normalisasi terdapat 3 aturan,
yakni:
·
Aturan
Pertama: mendefinisikan atribut kunci, tidak adanya group berulang , semua
atribut bukan kunci tergantung pada atribut kunci.
·
Aturan
Kedua: sudah memenuhi dalam bentuk normal kesatu, sudah tidak ada
ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field
kunci.
·
Aturan
Ketiga: sudah berada dalam bentuk normal kedua, tidak ketergantungan
transitif(dimana field bukan kunci tergantung pada field bukan kunci lainnya),
bentuk normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari
bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis
redudansi. Keseluruhannya Cuma ada lima bentuk normal. Tiga bentuk normal pertama
menekankan redudansi yang muncul dari Function Dependencies sedangkan bentuk
keempat dan kelima menekankan redudansi yang muncul dari kasus Multi Valued
Dependencies.
Tidak ada komentar:
Posting Komentar