Senin, 03 Oktober 2016

Materi 2 DBMS dan Perancangan Basis Data

MATERI 2 DBMS dan PERANCANGAN BASIS DATA

Sebuah sistem informasi berbasiskan komputer melibatkan banyak komponen yang ada, yakni :
• Basis data, sebagai media penyimpanan data
• DBMS, sebagai perangkat lunak pembangun dan manajemen basis data
• Aplikasi perangkat lunak, sebagai antarmuka penggunaan SI
• Perangkat keras komputer termasuk media penyimpanan
• Personal yang menggunakan dan mengembangkan sistem
Basis data merupakan komponen dasar dari sebuah sistem informasi dan pengembangan serta penggunaannya sebaiknya dipandang dari perspektif kebutuhan organisasi yang lebih besar. Oleh karena itu siklus hidup sebuah sistem informasi organisasi berhubungan dengan siklus hidup sistem basis data yang mendukungnya.
Siklus hidup aplikasi basis data berhubungan dengan siklus hidup sistem informasi. Siklus kehidupan sistem informasi sering disebut macro life cycle, dimana siklus kehidupan basis data merupakan micro life cycle. Proses perancangan basis data merupakan bagian dari siklus hidup sistem informasi.
DBMS adalah perangkat lunak yang memungkinkan pemakai untuk mendefinisikan, mengelola, dan mengontrol akses ke basis data. DBMS yang mengelola basis data relational disebut dengan Relational DBMS (RDBMS).
Contoh perangkat lunak DBMS : Dbase, FoxBase, MySQL, dll.
3.2 Tujuan Utama Perancangan Basis data
Pada basis data yang digunakan oleh single pengguna atau hanya beberapa pengguna saja,perancangan basis data tidak sulit. Tetapi jika ukuran basis data yang sedang atau besar (25 – ratusan pengguna yang berisikan jutaan bytes informasi dan melibatkan ratusan query dan program-program aplikasi, contoh : industri-industri, asuransi, hotel, travel, dll yang seluruhnya tergantung pada kesuksesan dari operasi-operasi basis datanya), perancangan basis data menjadi sangat kompleks. Oleh karena itu para pemakai mengharapkan penggunaan basis data yang sedemikian rupa sehingga sistem harus dapat memenuhi kebutuhan-kebutuhan seluruh pengguna tsb.
Tujuan perancangan basis data ialah :
  • memenuhi informasi yang berisikan kebutuhan-kebutuhan pengguna secara khusus dan aplikasi-aplikasinya.
  • memudahkan pengertian struktur informasi
  • mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space)
3.3 Siklus Kehidupan Sistem Informasi dan Basis Data
Sebuah sistem informasi tidak dapat dipisahkan dengan basis data dan untuk membangun sistem tersebut memerlukan langkah-langkah yang jelas. Hal yang penting adalah mengetahui bahwa hidup aplikasi sistem informasi dapat tidak berurutan, tetapi melibatkan beberapa langkah pengulangan yang biasanya disebut sebagai feedback loop. Sebagai contoh : masalah-masalah yang ditemui selama perancangan sistem informasi mungkin harus mengumpulkan dan menganalisis kebutuhan-kebutuhan tambahan. Berikut ini adalah langkah-langkah dalam membangun sebuah sistem informasi berbasis komputer atau disebut sebagai siklus hidup sistem informasi :
Description: https://pnjtkj2010.files.wordpress.com/2010/03/3-1-siklus-hidup-sistem-informasi.jpg?w=460&h=508
Berikut ini adalah penjelasan dari sebuah perancangan sistem informasi sebagai siklus hidup SI.
1. Database
Pada tahap ini menentukan model data dari basis data yang ingin dikembangkan.
2. System definition
Definisi sistem menentukan ruang lingkup aplikasi SI berupa para pemakai, awal dan berakhirnya system.
3. Requirements collection and Analysis
Pada tahap ini dilakukan pengumpulan data dan analisa dari hasil data yang telah terkumpul. Untuk penjelasan lebih lengkap apa saja yang harus dilakukan pada tahap perancangan basis data.
4. Database Design & Application Design
Perancangan basis data dan perancangan aplikasi dari SI dilakukan pada tahap ini. Fase perancangan basis data meliputi secara konseptual, logical dan fisik.
5. Implementation
Pemrosesan dari penulisan definisi basis data secara konseptual, eksternal, dan internal, pembuatan file-file basis data yang kosong, dan implementasi aplikasi yang telah dirancang ke dalam kode program perangkat lunak yang telah digabung dengan sistem basis data yang dibuat.
6. Data loading and Conversion
Data dimasukkan ke dalam sistem data dan selanjutnya melakukan konversi-konversi dari sistem yang lama ke dalam sistem yang baru.
7. Testing
Sistem diuji dalam hal input, output dan proses untuk menghasilkan suatu pengujian yang menyeluruh sehingga dapat diketahui apabila ada kesalahan sistem, operasi atau pun kesalahan dalam proses.
8. Operational & Maintenance
Selama fase operasi, sistem secara konstan memonitor dan memelihara basis data. Pertambahan dan pengembangan data dan aplikasi-aplikasi perangkat lunak  dapat terjadi.Modifikasi dan pengaturan kembali basis data mungkin diperlukan dari waktu ke waktu.
3.2 Proses Perancangan Basis Data
Secara khusus proses perancangan berisikan 2 aktifitas paralel. Aktifitas yang pertama melibatkan perancangan dari isi data dan struktur basis data, sedangkan aktifitas kedua mengenai perancangan pemrosesan basis data dan aplikasi-aplikasi perangkat lunak. Dua aktifitas ini saling menjalin, misalnya : kita dapat mengidentifikasikan data item yang akan disimpan dalam basis data dengan menganalisa aplikasi-aplikasi basis data. Dua aktifitas ini juga saling mempengaruhi satu sama lain. Contohnya : fase perancangan basis data secara fisik, pada saat kita memilih struktur penyimpanan dan jalur-jalur akses dari file-file basis data yang tergantung pada aplikasi-aplikasi yang akan menggunakan file-file tsb. Di lain pihak, kita biasanya menentukan perancangan aplikasi-aplikasi basis data dengan mengarah kepada konstruksi skema basis data yang telah ditentukan selama aktifitas yang pertama. Dari enam fase tersebut, tidak harus diproses berurutan. Pada beberapa hal, rancangan tsb dapat dimodifikasi dari yang pertama dan sementara itu mengerjakan fase yang terakhir (feedback loop antara fase) dan feedback loop dalam fase sering terjadi selama proses perancangan. Terdapat 6 fase proses perancangan basis data yakni :
1. Pengumpulan data dan analisis
2. Perancangan basis data secara konseptual
3. Pemilihan DBMS
4. Perancangan basis data secara logika (data model mapping)
5. Perancangan basis data secara fisik
6. Implementasi Sistem basis data.
Description: https://pnjtkj2010.files.wordpress.com/2010/03/3-2-fase-perancangan-basis-data-sebuah-sistem.jpg?w=460&h=368
Fase 1 merupakan kumpulan informasi yang berhubungan dengan penggunaan basis data. Fase 6 merupakan implementasi basis datanya. Fase 1 dan 6 kadang-kadang bukan merupakan bagian dari perancangan basis data, tetapi merupakan bagian dari siklus kehidupan sistem informasi secara umum. Inti dari proses perancangan basis data adalah fase 1,2,3,4,5
Penjelasan :
1.  Pengumpulan data dan analisa
Proses identifikasi dan analisa kebutuhan-kebutuhan data disebut pengumpulan data dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu sistem basis data, pertama harus mengenal bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem basis data, termasuk para pemakai yang ada dan para pemakai yang baru serta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para pemakai dan aplikasi inilah yang kemudian dikumpulkan dan dianalisa.
Aktifitas-aktifitas pengumpulan data dan analisa :
1)      Menentukan kelompok pemakai dan bidang-bidang aplikasinya
Menentukan aplikasi utama dan kelompok pengguna yang akan menggunakan basis data. Individu utama pada tiap-tiap kelompok pemakai dan bidang aplikasi yang telah dipilih merupakan peserta utama pada langkah-langkah berikutnya dari pengumpulan dan spesifikasi data.
2)      Peninjauan dokumentasi yang ada
Dokumen yang ada yang berhubungan dengan aplikasi-aplikasi dipelajari dan dianalisa. Dokumen-dokumen lainnya (seperti : kebijakan-kebijakan, form, report, dan bagan organisasi) diuji dan ditinjau kembali untuk menguji apakah dokumen-dokumen tsb berpengaruh terhadap kumpulan data dan proses spesifikasi.
3)      Analisa lingkungan operasi dan pemrosesan data
Informasi yang sekarang dan yang akan datang diperinci dan dipelajari. Termasuk juga analisa jenis-jenis transaksi dan frekuensi-frekuensi transaksinya dan juga arus informasi dalam sistem. Informasi tersebut berupa input-output data.
4)      Daftar pertanyaan dan wawancara
Jawaban pertanyaan – pertanyaan yang telah dikumpulkan dari para pemakai basis data yang berpotensi. Ketua kelompok (individu utama) dapat diwawancarai sehingga input yang banyak dapat diterima dari mereka dengan memperhatikan informasi yang berharga dan mengadakan  prioritas.
2. Perancangan basis data secara konseptual
Tujuan dari fase ini adalah menghasilkan conceptual schema untuk basis data yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data model seperti ERD (Entity Relationship Diagram) model selama fase ini. Dalam conceptual schema, kita harus memerinci aplikasi-aplikasi basis data yang diketahui dan transaksi-transaksi yang mungkin.
Fase perancangan basis data secara konseptual mempunyai 2 aktifitas paralel :
1)      Perancangan skema konseptual :
Berfungsi untuk menguji kebutuhan-kebutuhan data dari suatu basis data yang merupakan hasil dari fase 1, dan menghasilkan sebuah conceptual basis data schema pada DBMS independent model data tingkat tinggi seperti ERD (Entity Relationship Diagram) model. Skema ini dapat dihasilkan dengan menggabungkan bermacam-macam kebutuhan pengguna dan secara langsung membuat skema basis data atau dengan merancang skema-skema yang terpisah dari kebutuhan tiap-tiap pengguna dan kemudian menggabungkan skema-skema tsb. Model data yang digunakan pada perancangan skema konseptual adalah DBMS-independent, dan langkah selanjutnya adalah memilih sebuah DBMS untuk melaksanakan rancangan tsb.
2)      Perancangan transaksi :
Berfungsi untuk menguji aplikasi-aplikasi basis data dimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini. Pada tahap ini merupakan pembuatan flowchart dan kegunaan fase ini yang diproses secara paralel bersama fase perancangan skema konseptual adalah untuk merancang karakteristik dari transaksi-transaksi basis data yang telah diketahui pada suatu DBMS-independent. Transaksi-transaksi ini akan digunakan untuk memproses dan memanipulasi basis data suatu saat dimana basis data tsb dilaksanakan.
3. Pemilihan DBMS
Pemilihan basis data ditentukan oleh beberapa faktor, diantaranya : faktor teknik, ekonomi dan  organisasi.
Contoh faktor teknik :
Keberadaan DBMS dalam menjalankan tugasnya seperti jenis-jenis DBMS (relational, network, hierarchical), struktur penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dll.
Faktor-faktor ekonomi dan organisasi yang mempengaruhi satu sama lain dalam pemilihan DBMS :
1)      Struktur data yakni jika data yang disimpan dalam basis data mengikuti struktur hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.
2)    Personal yang telah terbiasa dengan suatu sistem yakni jika staf programmer dalam suatu organisasi sudah terbiasa dengan suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan waktu belajar.
3)     Tersedianya layanan purna jual yakni keberadaan fasilitas pelayanan purna jual sangat dibutuhkan untuk membantu memecahkan beberapa masalah sistem.
4. Perancangan basis data secara logika (pemetaan model data)
Fase selanjutnya dari perancangan basis data adalah membuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Fase ini dilakukan oleh pemetaan skema konseptual dan skema eksternal yang dihasilkan pada fase 2. Pada fase ini, skema konseptual ditransformasikan dari model data tingkat tinggi yang digunakan pada fase 2 ke dalam model data dari DBMS yang dipilih pada fase 3.
Pemetaannya dapat diproses dalam 2 tingkat :
1)     Pemetaan system-independent :
Ialah pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS dari model data tsb.
2)     Penyesuaian skema ke DBMS yang spesifik :
Ialah mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yang digunakan pada DBMS yang dipilih.
Hasil dari fase ini memakai perintah-perintah DDL (Data Definition Language) dalam bahasa DBMS yang dipilih yang menentukan tingkat skema konseptual dan eksternal dari sistem basis data. Tetapi dalam beberapa hal, perintah-perintah DDL memasukkan parameter-parameter rancangan fisik sehingga DDL yang lengkap harus menunggu sampai fase perancangan basis data secara fisik telah lengkap. Fase ini dapat dimulai setelah pemilihan sebuah implementasi model data sambil menunggu DBMS yang spesifik yang akan dipilih. Contoh: jika memutuskan untuk menggunakan beberapa relational DBMS tetapi belum memutuskan suatu relasi yang utama. Rancangan dari skema eksternal untuk aplikasi-aplikasi yang spesifik seringkali sudah selesai selama proses ini.
5. Perancangan basis data secara fisik
Perancangan basis data secara fisik merupakan proses pemilihan struktur-struktur penyimpanan dan jalur-jalur akses pada file-file basis data untuk mencapai penampilan yang terbaik pada bermacam-macam aplikasi. Selama fase ini, dirancang spesifikasi-spesifikasi untuk basis data yang disimpan yang berhubungan dengan struktur-struktur penyimpanan fisik, penempatan record dan jalur akses. Berhubungan dengan internal schema (pada istilah 3 level arsitektur DBMS).
Beberapa petunjuk dalam pemilihan perancangan basis data secara fisik :
1)      Response time :
Ialah waktu akses basis data untuk data item yang ditunjuk oleh suatu transaksi. Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi.
2)      Space utility :
Ialah jumlah ruang penyimpanan yang digunakan oleh file-file basis data dan struktur jalur akses.
3)      Transaction throughput :
Ialah rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data dan merupakan parameter kritis dari sistem transaksi (misal : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file basis data.
6.  Implementasi sistem basis data
Setelah perancangan secara logika dan secara fisik lengkap, kita dapat melaksanakan sistem basis data. Perintah-perintah dalam DDL dan DML (Data Manipulation Language) dari DBMS yang dipilih, dihimpun dan digunakan untuk membuat skema basis data dan file-file basis data (yang kosong). Sekarang basis data tsb dimuat (disatukan) dengan datanya. Jika data harus dirubah dari sistem komputer sebelumnya, perubahan-perubahan yang rutin mungkin diperlukan untuk format ulang datanya yang kemudian dimasukkan ke basis data yang baru. Transaksi-transaksi basis data sekarang harus dilaksanakan oleh para programmer aplikasi. Spesifikasi secara konseptual diuji dan dihubungkan dengan kode program dengan perintah-perintah dari embedded DML yang telah ditulis dan diuji. Suatu saat transaksi tsb telah siap dan data telah dimasukkan ke dalam basis data, maka fase perancangan dan implementasi telah selesai, dan kemudian fase operasional dari sistem basis data dimulai


Materi 1 Konsep Basis Data

Materi 1 Konsep Basis Data

  • Definisi BASIS DATA
  • Basis data merupakan komponen dasar dari sebuah sistem informasi dan pengembangan serta penggunaannya sebaiknya dipandang dari perspektif kebutuhan organisasi yang lebih besar. 
Basis data  terdiri dari 2 kata ;
  • Basis sebagai markas atau gudang tempat bersarang ,
  • Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, dsb), barang , hewan, peristiwa , konsep dan sebagainya.
Contoh Fakta dari objek :
Manusia sebagai pegawai mempunyai :fakta :
NIK,Nama, Alamat, Jabatan, Gaji
Manusia sebagai siswa mempunyai fakta
NIM,Nama, Alamat, Jurusan.
Contoh – Contoh Kasus Basis Data:
Pengaturan Arsip dalam suatu Organisasi seperti
  • Perpustakaan
  • Perbankan,
  • organisasi
  • dst
Penekanan dalam Database adalah Kegiatan – kegiatan yang melakukan
  • Pengaturan
  • Pemilahan
  • Pengelompokkan
  • Pengorganisasian
Definisi Basis Data
Menurut Elmasri R (1994) data yang disimpan dalam komputer dan didefinisikan sebagai basis data adalah :
  • Basis data merupakan penyajian suatu aspek dari dunia nyata (real     World atau mini world) misal basis data perbankan, perpustakaan , pertanahan perpajakan dan model basis data lainnya.
  • Basis data merupakan kumpulan data dari berbagai sumber yang secara logika mempunyai arti implicit. Sehingga data yang terkumpul secara acak dan tanpa arti tidak bisa disebut basis data.
  • Basis Data dirancang , dibangun, dan data dikumpulkan untuk suatu tujuan . Basis data dapat digunakan oleh beberapa pemakai dan beberapa aplikasi yang sesuai dengan kepentingan pemakai.
  • Objektif Basis Data/ tujuan pembuatan basis data
  • Kecepatan dan kemudahan (speed) :
penerapan basis data akan memudahkan dalam pencarian atau manipulasi data
  • Efisiensi ruang penyimpanan (space) :
Penerapan basis data sangat mengurangi redudansi data (data ganda)
  • Keakuratan (accuracy)
Penerapan pengelompokkan data , keterkaitan antara data menjamin data yang dicari atau pun disimpan dapat diletakkan secara tepat.
  • Ketersediaan (avaibility)
Dengan pertumbuhan basis data tentunya ruang penyimpanan akan bertambah besar, padahal kita tidak memerlukan semua data yang tersimpan. Penerapan basis data memungkinkan pengelompokkan antara data yang sering diakses dan yang jarang diakses.
  • Kelengkapan (completeness) :
kelengkapan ini bersifat relatif disesuaikan dengan kebutuhan. Misal untuk data siswa saat ini hanya dibutuhkan data alamat untuk saat nanti mungkin dibutuhkan data orang tua data hobi. Dengan dibuatnya basis data relatif mudah melakukan modifikasi tempat penyimpanan disesuaikan perkembangan kebutuhan.
  • Keamanan (security)
penerapan keamanan disesuaikan kebutuhan system basis data, apakah setiap melihat data memerlukan system keamanan atau tidak.
  • Kebersamaan pemakai (sharability)
Dengan system basis data Memungkinkan pengaksesan data dilakukan secara bersama terhadap data yang ada sehingga dimanapun user membutuhkan dapat mengakses data tanpa harus menunggu user lain selesai mengakses data tersebut.
.
Kecepatan dan kemudahan (speed):
Perhatikan Studi Kasus Berikut :
  • Budi mendata surat – surat yang datang tanpa melakukan pemilahan berdasarkan tanggal datang tapi hanya mencatat di buku catatan kemudian menyerahkan kepada yang berkepentingan
  • Nani dalam mendata surat memilah berdasarkan tanggal dan departemen yang dituju. Setelah surat yang datang dicatat menurut klasifikasi yang ditentukan surat tersebut diserahkan kepada yang berkepentingan.
Dari kedua kasus diatas menurut anda lebih cepat mana bila suatu saat diperlukan penelusuran data ?
Efisiensi ruang penyimpanan (space) :
  • Perhatikan dari dua kasus berikut :
  • Menurut anda lebih baik contoh 1 atau contoh 2 ?
CONTOH 1:
CONTOH 2:

Keakuratan (accuracy):
  • Perhatikan 2 contoh berikut :
Contoh 1:
Bila suatu saat terjadi perubahan alamat untuk siswa yang bernama Dini pindah ke jalan jakarta 20 dan anda hanya merubah satu baris maka apa yang terjadi ?
Contoh 2:
  • Menurut anda bagaimana bila disain tabel di contoh 1 diubah menjadi seperti berikut :

Ketersediaan (avaibility):
  • Contoh Kasus
Suatu Perpustakan yang telah berdiri selama 15 tahun telah memiliki buku dengan jumlah 20 juta eksemplar. 10 juta diantaranya buku buku tersebut telah berumur sepuluh tahun. Pada kenyataannya dalam kegiatan peminjaman buku buku yang sering dipinjam adalah buku yang umurnya kurang dari 10 tahun. Dengan demikian pada saat pencarian buku dilakukan pengelompokkan pencarian buku berdasarkan buku yang berumur 5 tahun terakhir , bila tidak ditemukan dilakukan pencarian berdasar buku yang berumur lebih dari 5 tahun dengan tujuan untuk mempercepat pencarian.
Kelengkapan (completeness):
Kelengkapan tersebut bersifat relatif terhadap waktu misalkan pada saat ini data dari siswa selama kuliahn hanya dibutuhkan data aktivitas kuliah seperti data transkrip ternyata 2 tahun kemudian dibutuhkan juga data tentang riwayat pendidikan selama kuliah dalam hal organisasi yang pernah diikuti, prestasi yang pernah dicapai dalam rangka penilaian institusi.
Keamanan (security):
Dalam Implementasi Basis data berbasis komputer dapat didisain level level keamanan untuk masing-masing pengguna aplikasi contoh untuk Basis data supemarket di bagian kasir hanya bisa mengakses bagian transaksi barang itupun terbatas sekedar input bila akan mengupdate hanya bagian supervisor yang bisa melakukannya.
Kebersamaan pemakai (sharebility):
Sistem Client Server dalam basis data akan memungkinkan dibuat kebersamaan pemakaian dalam suatu sistem basis data.
1.3.Sistem Basis Data dan Sistem File
Pada sebuah institusi, data merupakan salah satu hal yang sangat penting. Setiap bagian/divisi dari institusi memiliki data sendiri-sendiri. Tapi setiap bagian pun membutuhkan sebagian data dari bagian yang lain. Hal ini yang biasa dikenal sebagai “shared data”. Setiap divisi memiliki aplikasi sendiri-sendiri dalam melakukan manipulasi dan pengambilan data tersebut. Setiap aplikasi memiliki filefile dalam sistem operasi yang digunakan untuk menyimpan data-data. Seiring dengan berkembangnya institusi, bertambahnya bagian/divisi, bertambah pula data dan aplikasi yang digunakan. Bertambahnya aplikasi, bertambah pula filefile yang dibuat.
Gaya sistem pemrosesan-file tersebut menyebabkan setiap data disimpan dalam bentuk record dalam berbagai macam file, dan diperlukan aplikasi yang berbeda dalam melakukan pengambilan record dari, dan penambahan record ke dalam file. Hal ini berlaku pada masa sebelum adanya Sistem Basis Data (DBMS).
Menyimpan data dalam bentuk file yang berbeda-beda, memiliki kekurangan-kekurangan:
  • Data redundancy dan inconsistency.
Dikarenakan programer yang berbeda membuat file dan aplikasi masing-masing, menyebabkan beragam format dan aplikasi yang dibuat. Bahkan, aplikasi pun dibuat menggunakan bahasa pemrograman yang berbeda-beda. Lebih jauh lagi, data atau informasi yang sama bisa terdapat dalam beberapa file yang berbeda. Ini yang disebut dengan redundancy. Redundancy data ini lama kelamaan akan menyebabkan inconsystency dari data.
  • Kesulitan dalam pengaksesan data.
Dikarenakan setiap aplikasi memiliki file tersendiri untuk penyimpanan dan pengambilan data, maka jika suatu bagian dari institusi membutuhkan data dari bagian lain, akan menemui kesulitan. Hal ini dikarenakan aplikasi yang dimiliki bagian tersebut, tidak dapat membaca file yang terdapat di bagian lain.
  • Isolasi data.
Dikarenakan data tersebar dalam berbagai macam file, dan file tersebut dalam beragam format, pembuatan aplikasi baru akan terasa sulit ketika harus membaca format dari masing-masing file tersebut.
  • Masalah integritas.
Data yang disimpan harus memenuhi hal yang dinamakan dengan consistency constraint. Jika sebuah constraint berubah, maka seluruh aplikasi yang digunakan harus mengakomodasinya. Masalah akan muncul, jika constraint melibatkan beberapa data dari file yang berbeda-beda.
  • Masalah keamanan.
Tidak semua pengguna dari basis data dapat mengakses semua data. Hal ini akan sulit dilakukan jika menggunakan gaya penyimpanan data dalam file.
1.4.   Definisi Basis Data dan Sistem Basis Data (DBMS)
Basis data adalah penyimpanan kumpulan informasi secara sistematik dalam sebuah komputer 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). DBMS memiliki karakteristik sebagai berikut:
  • Software program
  • Supplements operating sistem
  • Manages data
  • Queries data and generates reports
  • Data security
Sedangkan sistem adalah sebuah tatanan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses pekerjaan. Sehingga bisa dikatakan bahwa sistem basis data adalah sistem yang terdiri atas kumpulan filefile yang saling berhubungan dan dikelola oleh program (DBMS) yang memungkinkan beberapa pemakai dan atau program lain yang memiliki otoritas untuk mengakses dan memanipulasi data tersebut. Kelebihan pemakaian DBMS adalah:
  • Data berdiri sendiri (Data Independence)
  • Pengaksesan data efisien (Efficient data access)
  • Integritas data dan keamanan terjamin (Data integrity and security)
  • Administrasi data (Data administration)
  • Dapat diakses bersamaan (Concurrent access )
  • Recovery saat terjadi kegagalan (Crash recovery)
  • Mengurangi waktu pembangunan aplikasi (Reduced application development time)
1.5.   Komponen Sistem Basis Data
Komponen-komponen pada sebuah sistem basis data antara lain:
  • Perangkat keras
  • Sistem operasi
  • Basis data
  • DBMS (Database Management System)
  • Pemakai
  • Aplikasi lain
1.6.   Abstraksi Data
Tujuan utama dari sistem basis data adalah untuk menyediakan fasilitas untuk view data secara abstrak bagi penggunanya. Namun bagaimana sistem menyimpan dan mengelola data tersebut, hanya diketahui oleh sistem itu sendiri. Abstraksi data merupakan level dalam bagaimana melihat data dalam sebuah sistem basis data. Berikut ini tiga level abstraksi data:
  1. Level fisik
Merupakan level terendah pada abstraksi data yang menunjukkan bagaimana sesungguhnya data disimpan. Pada level ini pemakai melihat data sebagai gabungan dari struktur dan datanya sendiri.
  1. Level lojik
Merupakan level berikutnya pada abstraksi data, menggambarkan data apa yang disimpan pada basis data dan hubungan apa saja yang ada di antara data tersebut.
  1. Level view
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan sebagian dari basis data. Banyak user dalam sistem basis data tidak akan terlibat dengan semua data atau informasi yang ada atau yang disimpan. Para user umumnya hanya membutuhkan sebagian data atau informasi dalam basis data yang kemunculannya di mata user diatur oleh aplikasi end user.

1.7.   Model Basis Data
  • Hierarchical
Memiliki struktur pohon dimana field hanya memiliki satu buah induk (parent), masing-masing parent memiliki banyak child (anak). Model ini memiliki kecepatan yang baik.
  • Network
Relationship dibuat menggunakan linked list (pointer). Berbeda dengan model hierarchical satu anak dapat memiliki beberapa induk. Model ini memiliki fleksibilitas yang tinggi.
  • Relational
Model ini direpresentasikan dalam tabel dua dimensi, tabel-tabel tersebut memiliki hubungan yang disebut dengan relasi. Model ini memiliki fleksibilitas dan kecepatan yang tinggi.
  • Object oriented
Object Oriented Database adalah sebuah sistem database yang menggabungkan semua konsep object oriented seperti pewarisan, abstraksi, enkapsulasi, dll. Model ini dapat berinteraksi dengan baik dengan bahasa pemrograman berorientasi objek seperti java dan C++.
1.8.   Basis Data Relasional
Dalam beberapa tahun terakhir, sistem pengelola basis data (Database Management System – DBMS) menjadi pilihan dalam hal penyimpanan data bagi sistem informasi mulai dari pemrosesan aplikasi transaksi komersial yang besar hingga ke aplikasi yang berbasis desktop PC. Kebanyakan yang digunakan pada masa ini adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data yang mudah tetapi memiliki kemampuan untuk menangani jumlah data yang sangat besar. Beberapa contoh dari RDBMS diantaranya:
  • SQL Server, dibuat oleh Microsoft.
  • MS Access, dibuat oleh Microsoft.
  • Oracle Database, dibuat oleh Oracle.
  • MySQL, dibuat oleh MySQLAB.
  • Firebird, dibuat oleh komunitas open source berdasarkan dari kode Interbase.
  • PostgreSQL, dibuat oleh komunitas open source.
  • DB2, dibuat oleh IBM.
Basis data relasional memiliki satu struktur “lojik” yang disebut Relation (relasi). Struktur relasi merupakan strukture data 2-dimensi dan pada level “fisik” berupa table (tabel). Attribute merepresentasikan elemen dari data yang berkaitan dengan relasi. Sebagai contoh, relasi Mahasiswa memiliki atribut-atribut seperti nim, nama, tempat lahir. tanggal_ lahir, dan alamat.
Pada buku-buku teks mengenai perancangan basis data, sebuah relasi dinotasikan secara konvensional dengan Relation(attribute1, attribute2, ..) dengan aturan : nama dari relasi dan atribut-atribut dari relasi yang berada didalam tanda kurung.
Contohnya: Mahasiswa(NIM, Nama, Alamat, Jenis_kelamin …).
Nilai data dari atribut dari sebuah relasi akan disimpan dalam tuple atau row (baris) dari tabel. Gambar dibawah merupakan ilustrasi dari sebuah relasi.
1.9.   Alternative Terminology
Table-oriented
Set-oriented
Record-Oriented
Table
Relation
Record-type, file
Row
Tuple
Record
Column
Attribute
Field
Ada beberapa istilah/ terminologi yang berkaitan dengan konsep basis data Relational. Ada beberapa cara pandang terhadap data pada konsep basis data relasional. Yang pertama adalah pandangan yang berorientasi tabel (table-oriented) dimana sebuah entity-set direpresentasikan secara lojik menjadi sebuah tabel (table) yang terdiri dari baris (row) dan kolom (column). Kedua adalah pandangan berorientasi set/kumpulan (set-oriented) dimana entity-set direpresentasikan sebagai relasi (Relation), nilai-nilai data yang sesuai dengan atributnya (attribute) disimpan dalam sebuah tempat yang dinamakan tuple.Terminologi yang terakhir adalah pandangan berorientasi record (recordoriented) dimana entity-set di representasikan dengan record-type/file sedangkan nilai dari tiap-tiap entity direpresentasikan dengan record yang terstruktur berdasarkan fieldfield yang dimiliki.