Bismillahirrahmanirrahiim,
Sebelum kita membahas lebih jauh tentang basis data, maka saya mencoba memberikan beberapa point alasan perancangan basis data yang saya ketahui seperti dibawah ini.
Pertanyaan: mengapa perancangan basis data di perlukan? jawabannya:
Sistem basis data telah menjadi bagian dalam sistem informasi suatu organisasi Kebutuhan menyimpan data dalaml jumlah besar semakin mendesak Fungsi-fungsi dalam organisasi semakin dikomputerisasikan Semakin kompleks data dan aplikasi yang digunakan, maka relationship antar data harus dimodelisasikan Dibutuhkannya kemandirian data.
Setelah kita mengetahui beberapa alasan perancangan basis data maka kita akan bertanya, apa tujuan dari perancangan basis data?
Dibawah ini adalah beberapa point tujuan perancangan basis data yang saya ketehaui:
untuk memenuhi kebutuhan-kebutuhan konten informasi dari pengguna dan aplikasi-aplikasi tertentu menyediakan struktur informasi yang alami dan mudah dipahami mendukung kebutuhan-kebutuhan pemrosesan dan objektifitas kinerja (waktu respon, waktu pemrosesan, dan ruang penyimpanan).
oke, maka sekarang kita telah mengetahui alasan dan tujuan perancangan basis data, mari kita lanjutkan. ^_^
Basis Data
Apa itu basis data ? Saya akan mencoba menguraikannya seperti di bawah ini:
Basis data (bahasa Inggris: database), atau sering pula dieja basisdata yang disimpan di dalam, adalah kumpulan informasi komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut.
Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. (sumber wikipedia)
Maka Basis Data dapat juga di artikan kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu Ada juga yang mendefinisikan basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut
Alasan Perlunya Database
Basis data merupakan salah satu komponen penting dalam system informasi, karena merupakan dasar dalam menyediakan informasi. Basis data menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. Basis data mengurangi duplikasi data (data redudancy). Dengan mengaplikasikan basis data hubungan data dapat ditingkatkan. Basis data dapat mengurangi pemborosan tempat simpanan luar.
Bahasa basis data
Bahasa basis data terdiri atas:
- Data Definition Language (DDL), merujuk pada kumpulan perintah yang dapat digunakan untuk mendefinisikan objek – objek basis data, seperti membuat sebuah tabel basis data atau indeks primer atau sekunder.
- Data Manipulation Language (DML), mengacu pada kumpulan perintah yang dapat digunakan untuk melakukan manipulasi data, seperti penyimpanan data ke suatu tabel, kemudian mengubahnya dan menghapusnya atau hanya sekedar menampilkannya kembali.
Objektif Basis Data
Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut :
a. Kecepatan dan kemudahan (Speed)
b. Efisiensi ruang penyimpanan (Space)
c. Keakuratan (Accuracy)
d. Ketersediaan (Avaibility)
e. Kelengkapan (Completeness)
f. Keamanan (Security)
g. Kebersamaan pemakaian (Sharability)
Data Flow Diagram (DFD)
DFD merupakan diagram yang mengunakan notasi-notasi atau simbol-simbol untuk mengambarkan sistem jaringan kerja antar fungsi-fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data.
Adapun yang digunakan dalam DFD adalah:
1. Kesatuan Luar (External Entity)
Kesatuan luar (entity) di lingkungan luar sistem yang dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau menerima output dari sistem. Suatu kesatuan luar dapat disimbolkan dengan suatu notasi persegi panjang atau suatu persegi panjang dengan sisi kiri dan atasnya berbentuk garis tebal.
2. Aliran data
Aliran data di DFD diberikan simbol suatu panah. Aliran data ini mengalir diantara process (process), simpanan data (data store) dan kesatuan luar (External entity). Aliran data ini menunjukkan arus dari data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem.
3. Proses
Suatu process adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu aliran datayang masuk ke dalam proses untuk dihasilkan aliran data yang akan keluar dari proses. Suatu proses dapat disimbolkan dengan notasi lingkaran atau dengan simbol empat persegi panjang dengan sudut-sudut tumpul.
4.Penyimpan Data (Data Store)
Penyimpan data (data store) merupakan penyimpan data yang dapat berupa:
• Suatu file atau basis data di sistem komputer.
• Suatu arsip atau catatan manual.
• Suatu kotak tempat data di meja seseorang.
• Suatu tabel acuan manual.
• Suatu agenda atau buku.
Simpanan data di DFD dapat disimbolkan dengan sepasang garis horisontal paralel yang tertutup di salah satu ujungnya atau tanpa ditutup.
Contoh Kasus dibawah ini adalah program aplikasi sistem informasi penjualan pelumas, DFD yang dirancang akan dijelaskan berikut ini:
Berikut ini adalah gambar proses bisnis perusahaan mulai dari pengadaan pelumas
sampai penjualannya
Berikut ini adalah gambar proses bisnis perusahaan mulai dari pengadaan pelumas
sampai penjualannya
PROSES BISNIS |
Data Flow Diagram (DFD) nya:
Diagram Konteks /DFD Level 0 |
DFD Level 1 |
DFD Level 2, Proses 1.4 |
DFD Level 3, Proses 1.4.2 |
DFD Level 4, Proses 1.4.2.6 |
Entity Relational Diagram (E-R Diagram)
Entity Relational Diagram merupakan salah satu pemodelan data konseptual yang paling sering digunakan dalam proses pengembangan basis data bertipe relasional. Model E-R adalah rincian yang merupakan representasi logika dari data pada suatu organisasi atau area bisnis tertentu.
Model E-R terdiri dari beberapa komponen dasar yaitu sebagai berikut:
1. Entitas
Entitas adalah sesuatu atau objek di dunia nyata yang dapat dibedakan dari sesuatu atau objek yang lainnya. Sebagai contoh, setiap mahasiswa dalam suatu universitas adalah suatu entitas. Setiap fakultas dalam suatu universitas adalah juga suatu entitas. Dapat dikatakan bahwa entitas bisa bersifat konseptual/abstrak atau nyata hadir di dunia nyata.
2. Atribut
Atribut adalah properti deskriptif yang dimiliki oleh setiap anggota dari himpunan entitas. Sebagai contoh entitas mahasiswa, atribut-atribut yang dimiliki adalah nim, nama mahasiswa, alamat dan lain-lain.
3. Hubungan antar relasi (Relationship)
Hubungan antar relasi adalah hubungan antara suatu himpunan entitas dengan himpunan entitas yang lainnya. Misalnya, entitas mahasiswa memiliki hubungan tertentu dengan entitas matakuliah (mahasiswa mengambil matakuliah). Pada penggambaran model E-R, relasi adalah perekat yang menghubungkan suatu entitas dengan entitas yang lainnya.
4. Kardinalitas/Derajat Relasi
Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Sebagai contoh: entitas-entitas pada himpunan entitas mahasiswa dapat berelasi dengan satu entitas, banyak entitas atau tidak satupun entitas dari himpunan entitas kuliah. Kardinalitas relasi yang terjadi di antara dua himpunan entitas dapat berupa:
-Satu ke Satu(One to One)
Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, begitupun sebaliknya.
-Satu ke Banyak(One to Many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
-Banyak ke Satu(Many to One)
Setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B, tetapi tidak sebaliknya dengan entitas B.
-Banyak ke Banyak(Many to Many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, dan demikian sebaliknya, dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.
Entity Relational Diagram (E-R Diagram) nya:
ER-Diagram |
Proses Perancangan Basis Data
Terdapat enam tahap utama pada proses desain basis data yaitu :
1. Koleksi dan analisa kebutuhan
2. Desain basis data konseptual
3. Pemilihan DBMS
4. Pemetaan model data (disebut juga desain basis data logika)
5. Desain basis data fisik.
6. Implementasi dan tuning sistem basis data
Metodologi Perancangan Basis Data
Metodologi perancangan basis data adalah kumpulan teknik terorganisasi untuk pembuatan rancangan basis data. Teknik terorganisasi ini merupakan kumpulan tahap-tahapan yang memiliki aturan-aturan terurut. Teknik yang digunakan pada perancangan basis data dibagi menjadi dua, yaitu:
a. Perancangan basis data tingkat logik.
b. Perancangan basis data tingkat fisik.
Perancangan basis data secara logik dimulai dengan penciptaan model konseptual dari organisasi dan seluruhnya tak bergantung rincian implementasi seperti perangkat lunak DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras, dan pertimbangan fisik lainnya. Model konsep ini kemudian dipetakan menjadi model data secara logik yang telah dipengaruhi model data target basis data seperti model relasional.
Dalam perancangan basis data secara logik, kita dapat melakukannya dengan cara :
a. Menerapkan Normalisasi terhadap struktur tabel yang telah diketahui.
b. Langsung membuat model Entity-Relationship (ER).
Model data secara logik merupakan sumber informasi perancangan fisik. Model ini menyediakan perancang suatu kendaraan untuk pertimbangan dalam merancang basis data yang efisien.
Perancangan basis data secara fisik adalah proses memproduksi deskripsi implementasi basis data pada penyimpanan sekunder, mendeskripsikan struktur-struktur penyimpanan dan metode-metode pengaksesan dalam meningkatkan efektifitas pengaksesan. Pada tahap ini, perancangan fisik telah ditujukan untuk system DBMS tertentu. Perancangan basis data tingkat fisik sudah dikaitkan dengan platform dan perangkat lunak system manajemen basis data dimana basis data diimplementasikan.
Langkah-langkah Metodologi Perancangan Basis Data
Berikut adalah perancangan basis data relasional :
- Dimulai dari perancangan basis data logik untuk basis data relasional pada tahap 1 sampai dengan tahap 3.
- Perancangan dan implementasi basis data fisik untuk basis data relasional pada tahap 4 sampai dengan tahap 7.
a. Tahap 1
Membangun rancangan data konseptual lokal berdasarkan pandangan pemakai. Yaitu mengidentifikasikan himpunan entitas - himpunan entitas. Mengidentifikasikan keterhubungan-keterhubungan (relationship), mengidentifikasikan dan asosiasikan atribut-atribut pada entitas atau keterhubungan, menentukan domain atribut, menentukan atribut-atribut candidate key dan primary key, melakukan spesialisasi/generalisasi, menggambarkan diagram ER, melakukan review model data konsep dengan pemakai.
b. Tahap 2
Membangun dan validasi model data logik lokal. Yaitu memetakan model data konsep ke model data logik, melakukan turunan relasi-relasi dari model data logik, validasi model menggunakan normalisasi, validasi model berdasarkan transaksi – transaksi pemakai, menggambarkan ER nya, mendefinisikan kontsrain-konstrain (batasan-batasan) integritas, melakukan review model data logik dengan pemakai.
c. Tahap 3
Membangun dan validasi model data logik global. Yaitu menggabungkan model data logik lokal menjadi model global, validasi model data logik global, periksa untuk pertumbuhan masa datang, menggambarkan diagram ER akhir, melakukan review model logik global dengan pemakai.
d. Tahap 4
Menerjemahkan model data logik global untuk DBMS target. Yaitu merancang relasi-relasi basis untuk DBMS target, merancang aturan-aturan integritas untuk DBMS target.
e. Tahap 5
Merancang dan implementasi representasi fisik. Yaitu menganalisa transaksi-transaksi, memilih organisasi file, memilih indeks-indeks sekunder, mempertimbangkan penambahan redudansi yang terkendali, estimasikan ruang disk yang diperlukan.
f. Tahap 6
Merancang dan mengimplementasikan mekanisme pengamanan. Yaitu merancang view-view pemakai, merancang aturan-aturan pengaksesan.
g. Tahap 7
Memonitor dan menyesuaikan system yang sedang operasi.
Terdapat beberapa kunci (key) di dalam teknik perancangan basis data, diantaranya :
1. Kunci Kandidat (Candidate Key)
Kunci kandidat adalah satu atribut atau satu set atribut yang mengidentifikasikan secara unik suatu kejadian spesifik dari entity. Satu set atribut menyatakan secara tidak langsung dimana anda tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik. Jika kunci kandidat berisi lebih dari satu atribut, maka biasanya disebut sebagai composite key (kunci campuran atau gabungan).
Contoh :
File mahasiswa berisi : Nomor Pegawai, No KTP, Nama Pegawai, Tempat Lahir, Tanggal Lahir, Alamat, Kota. Kunci kandidat dalam file mahasiswa di atas dapat dipilih sebagai berikut : Nomor Pegawai, No KTP, Nama (tidak dapat dipakai karena sering seseorang punya nama yang sama dengan orang lain), Nama + Tanggal Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama yang sama dan tanggal lahir yang sama cukup kecil), Nama + Tempat Lahir + Tanggal Lahir (dapat dipakai sebagai kunci), Alamat dan Kota (bukan kunci).
2. Kunci Primer (Primery Key)
Primary key adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kekadian spesifik, tetapi juga dapat mewakili setiap kejadian dari suatu entity. Setiap kunci kandidat dapat menjadi kunci primer tetapi sebaliknya sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yang ada.
Contoh :
No Pegawai (karena sifatnya yang unik maka tidak mungkin pegawai mempunyai Nomor Pegawai yang sama), No KTP (Bisa dipakai misalnya untuk pegawai yang baru belum mendapatkan nomor pegawai maka bisa digunakan nomor KTP untuk sementara sebagai kunci primer, Kode_Kuliah (bisa dipakai untuk data mata kuliah karena kode mata kuliah bersifat unik untuk tiap mata kuliah).
3. Kunci Alternatif (Alternate Key)
Kunci alternatif adalah kunci kandidat yang tidak dipakai sebagai kunci primer. Kunci alternatif ini sering digunakan untuk kunci pengurutan misalnya dalam laporan.
4. Kunci Tamu (Foreign Key)
Kunci tamu adalah satu atribut aatau satu set minimal atribut yang melengkapi satu hubungan yang menunjukkan ke induknya. kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk yang direlasikan. Hubungan antara entity induk dengan anak adalah hubungan satu lawan banyak (one to many relationship)
Contoh :
File Transaksi Gaji Bulanan :
No Pegawai, No Bukti, Tanggal, Jumlah Gaji Kotor, Jumlah Potongan, Jumlah Gaji Bersih, Jumlah Pajak. Kunci Tamu : No Pegawai (karena Gaji berhubungan dengan file Pegawai). Kunci Primer : No Bukti (karena unik dan mewakili entity). Kunci Kandidat : No Pegawai + Nomor Bukti (Unik dan menunjukkan hubungan dengan file Pegawai).
Dalam hubungan dua buah file yang punya relationship banyak lawan banyak maka terdapat 2 kunci tamu pada file konektornya.
Contoh :
File Proyek berisi atribut : No Proyek, Tgl Mulai, Tgl Selesai, Anggaran.
File Pegawai berisi atribut : No Pegawai, Nama
Hubungan antara file tersebut adalah banyak lawan banyak yaitu satu pegawai mengerjakan lebih dari 1 proyek dan 1 proyek dikerjakan oleh beberapa pegawai maka untuk menunjukkan hubungan tersebut dipakai file konektor yang berisi kunci tamu dari kedua file.
File Proyek Pegawai berisi atribut : No Proyek, No Pegawai, Jam Kerja.
Maka pada file proyek pegawai terdapat kunci tamu yaitu nomor proyek dan no pegawai. Kedua atribut tersebut juga merupakan kunci primer.
Kebergantungan Fungsi
Kebergantungan Fungsi didefinisikan sebagai hubungan antara satu relasi dengan relasi lainnya. Misalnya : sebuah relasi R, atribut Y dan R adalah bergantung fungsi pada atribut X dari R jika dan hanya jika setiap nilai X dalam R punya hubungan dengan tepat satu nilai Y dalam R (dalam setiap satu waktu).
File relasi pegawai atribut berisi : No Pegawai, No KTP, Nama, Tempat Lahir, Tgl Lahir, Alamat, Kota. Isi dari atribut nama bergantung pada No Pegawai. Jadi dapat dikatakan bahwa atribut nama bergantung secara fungsi pada No Pegawai dan Nomor Pegawai menunjukkan secara fungsi nama. jika anda mengetahui no pegawai maka anda dapat menentukan nama pegawai tersebut. Notasi untuk kebergantungan fungsi ini adalah No Pegawai 1DPD atau Nama = f(No Pegawai).
Skema Basis Data nya:
SKEMA BASIS DATA |
Perancangan Sketsa User Interface
Perancangan user interface diperlukan pada
program aplikasi ini dengan tujuan untuk mempermudah pengguna dalam
menggunakan program apikasi ini. Dengan adanya user interface ini berbagai
pengguna baik yang awam, maupun yang sudah berpengalaman dapat
mengoperasikan program ini tanpa adanya kesulitan yang besar.
Program aplikasi sistem informasi penjualan pelumas ini menggunakan jenis menu pull down yaitu setiap menu memiliki sub-menu masing-masing. Tujuan penggunaan jenis menu ini adalah untuk mempermudah pengguna dalam memilih fitur yang akan digunakan. Untuk lebih jelasnya, akan dipaparkan dalam gambar berikut ini.
Program aplikasi sistem informasi penjualan pelumas ini menggunakan jenis menu pull down yaitu setiap menu memiliki sub-menu masing-masing. Tujuan penggunaan jenis menu ini adalah untuk mempermudah pengguna dalam memilih fitur yang akan digunakan. Untuk lebih jelasnya, akan dipaparkan dalam gambar berikut ini.
STRUKTUR MENU |