Basis Data
Istilah data bermakna untuk mengetahui fakta-fakta yang dapat direkam dan disimpan pada media komputer. Definisi ini kini berkembang untuk mencerminkan realitas baru. Basis data sekarang digunakan untuk menyimpan objek seperti dokumen, foto, suara, dan video, sebagai tambahan dari data teks dan data numerik. Untuk mencerminkan realitas, kita menggunakan definisi yang diperluas berikut: Data terdiri dari fakta-fakta, hasil-hasil pengujian, grafik, gambar, dan video yang mempunyai arti dalam lingkungan pengguna (Hoffer,2002,p4).
Kita telah mendefinisikan basis data sebagai kumpulan data yang terorganisasi dan saling berhubungan. Terorganisasi maksudnya adalah data yang terstruktur sehingga mudah disimpan, dimanipulasi, dan diambil kembali oleh pengguna.. Saling berhubungan maksudnya adalah data menggambarkan suatu domain yang menjadi perhatian sekelompok pengguna dan penggunapengguna dapat menggunakan data untuk menjawab pertanyaan yang menjadi perhatian dari domain tersebut (Hoffer,2002,p5).
Data dan Informasi
Menurut Turban, Aronson, and Liang (2005) data dan informasi didefinisikan sebagai berikut:
- Data, merupakan sesuatu yang menyangkut barang, kejadian, aktivitas, dan transaksi yang telah tercatat, diklasifikasikan, dan disimpan namun belum memiliki makna. Data dapat berupa nilai numerik, alphanumerik, gambar, dan suara.
- Informasi, adalah data yang telah dikelola dalam bentuk tertentu untuk memberikan makna atau arti bagi penerimanya.
Siklus Informasi
- Data dan informasi akan saling berkesinambungan sehingga membentuk suatu siklus yang disebut information cycle (siklus informasi).
- Data ditangkap oleh indera kemudian menjadi inputan dalam sebuah model untuk diubah menjadi informasi bagi penerimanya yang nantinya akan membantu pengambilan keputusan dan menjadi sebuah hasil tindakan.
Siklus Informasi
- Data dan informasi sebagai sebuah aset penting perusahaan/organisasi.
- Informasi yang benar dapat menjadikan suatu perusahaan/organisasi memperoleh margin untuk melakukan aksi.
- Data dan informasi sebagai salah satu parameter kemajuan perusahaan/organisasi (maturity level).
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 file-file 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 file-file 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.
Perkembangan database
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 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 file-file 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)
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
Komponen database
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.
2. 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.
3. 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
Abstraksi Data
Model Basis Data
Hierarchical
Memiliki struktur pohon dimana field hanya memiliki satu buah induk (parent), masingmasing 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++.
Perancangan Database
Di dalam suatu organisasi yang besar, sistem database merupakan bagian penting pada sistem informasi, karena di perlukan untuk mengelola sumber informasi pada organisasi tersebut. Untuk mengelola sumber informasi tersebut yang pertama kali di lakukan adalah merancang suatu sistem database agar informasi yang ada pada organisasi tersebut dapat digunakan secara maksimal.
Tujuan Perancangan Database
- Untuk memenuhi kebutuhan akan informasi dari pengguna dan aplikasi
- Menyediakan struktur informasi yang natural dan mudah di mengerti oleh pengguna
- Mendukung kebutuhan pemrosesan dan beberapa obyek kinerja dari suatu sistem database
Berikut ini siklus kehidupan sistem informasi di mana terdapat siklus kehidupan sistem database.
a. Siklus Kehidupan Sistem Informasi (Macro Life Cycle )
Tahapan–tahapan yang ada pada siklus kehidupan sistem informasi yaitu :
1) Analisa Kelayakan
Tahapan ini memfokuskan pada penganalisaan areal aplikasi yang unggul , mengidentifikasi pengumpulan informasi dan penyebarannya, mempelajari keuntungan dan kerugian , penentuan kompleksitas data dan proses, dan menentukan prioritas aplikasi yang akan digunakan.
2) Analisa dan Pengumpulan Kebutuhan Pengguna
Kebutuhan–kebutuhan yang detail dikumpulkan dengan berinteraksi pada sekelompok pemakai atau pemakai individu. Mengidentifikasikan masalah yang ada dan kebutuhan-butuhan, ketergantungan antar aplikasi, komunikasi dan prosedur laporan.
3) Perancangan
Perancangan terbagi menjadi dua yaitu : perancangan sistem database dan sistem aplikasi
4) Implementasi
Mengimplementasikan sistem informasi dengan database yang ada
5) Pengujian dan Validasi
Pengujian dan validasi sistem database dengan kriteria kinerja yang diinginkan oleh pengguna.
6) Pengoperasian dan Perawatan
Pengoperasian sistem setelah di validasi disertai dengan pengawasan dan perawatan sistem
b. Siklus Kehidupan Aplikasi Database ( Micro Life Cycle )
Tahapan yang ada pada siklus kehidupan aplikasi database yaitu :
1. Pendefinisian Sistem
Pendefinisian ruang lingkup dari sistem database, pengguna dan aplikasinya.
2. Perancangan Database
Perancangan database secara logika dan fisik pada suatu sistem database sesuai dengan sistem manajemen database yang diinginkan.
3. Implementasi Database
Pendefinisian database secara konseptual, eksternal dan internal, pembuatan file–file database yang kosong serta implementasi aplikasi software.
4. Pengambilan dan Konversi Data
Database ditempatkan dengan baik, sehingga jika ingin memanggil data secara langsung ataupun merubah file–file yang ada dapat di tempatkan kembali sesuai dengan format sistem databasenya.
5. Konversi Aplikasi
Software-software aplikasi dari sistem database sebelumnya di konversikan ke dalam sistem database yang baru
6. Pengujian dan Validasi
Sistem yang baru telah di test dan di uji kinerja nya
7. Pengoperasian
Pengoperasian database sistem dan aplikasinya
8. Pengawasan dan Pemeliharaan
Pengawasan dan pemeliharaan sistem database dan aplikasi software
CASE TOOL
Secara umum seorang software engineer maupun engineer dari disiplin ilmu yang lain dalam membangun/mengembangkan suatu produk, memiliki karakteristik sebagai berikut:
- Mengetahui manfaat tools yang dapat membantu dalam membangun / mengembangkan suatu produk.
- Mampu mengorganisasikan tools yang memungkinkan untuk bekerja cepat dan efisien.
- Memiliki pengetahuan teknik membangun/mengembangkan produk serta handal dalam menggunakan tools untuk membantu pekerjaannya.
Dalam software engineering telah dikenal banyak tools (computer-base system) yang dikenal dengan Computer-Aided Software Engineering (CASE). CASE merupakan suatu teknik yang digunakan untuk membantu satu atau beberapa fase dalam life-cycle software, termasuk fase analisis, desain, implementasi dan maintenance dari software tersebut. Manfaat CASE tools untuk software engineer dijabarkan sebagai berikut:
- CASE tools memperbesar kemungkinan otomatisasi pada setiap fase life-cycle software.
- CASE tools sangat membantu dalam meningkatkan kualitas design model suatu software sebelum software itu dibangun/dikembangkan, baik itu untuk software yang dibangun dalam simple maupun complex environment.
Ada banyak tools yang mendukung pembangunan/pengembangan suatu software.
Agar tidak membingungkan, CASE tools dibagi menjadi beberapa kategori:
- Information engineering-supporting products. Ada beberapa proses dari life-cycle, yang dihasilkan dari rencana strategis dari perusahaan dan yang menyediakan suatu repository untuk membuat dan memelihara enterprise models, data models dan process models.
- Structured diagramming-supporting products. Produk ini sangat mendukung dalam memodelkan data flow, control flow dan entity flow.
- Structured development aids-providing products. Merupakan produk yang cocok digunakan oleh sistem analis, karena didukung oleh suatu proses terstruktur sehingga penganalisaan lebih cepat dan akurat.
- Application-code-generating products. Produk ini mampu menghasilkan application-code untuk tujuan tertentu yang telah ditetapkan oleh designer.
CASE tools diklasifikasikan sebagai berikut:
- Upper CASE. CASE tools yang didesain untuk mendukung perencanaan, identifikasi, dan seleksi proyek (permulaan dari perencanaan proyek), tepatnya pada fase analisis dan desain dari suatu system development life cycle (SDLC).Tools yang termasuk kelas ini adalah jenis Diagramming tools, Form and report generators, dan Analysis tools. Contoh CASE tools: Cradle, PRO-IV Workbench, ProK it*WO RKBENCH.
- Lower CASE. CASE tools yang didesain untuk mendukung tahap implementasi dan maintenance dari SDLC. Tools yang termasuk kelas ini adalah jenis Code.