Kategori
Pemrograman

Basis Data

Pengantar

Data adalah fakta-fakta mentah kemudian dikelola sehingga menghasilkan informasi yang penting bagi sebuah perusahaaan atau organisasi.

Berikut ini adalah pengertian basis data menurut beberapa ahli :

  • Menurut Connolly dan Begg (2010), basis data adalah sebuah kumpulan data yang secara logis terkait dan dirancang untuk memenuhi suatu kebutuhan informasi dari sebuah organisasi.
  • Menurut Indrajani (2015), basis data adalah kumpulan data yang saling berhubungan secara logis dan didesain untuk mendapatkan data yang dibutuhkan oleh suatu organisasi.
  • Menurut Connolly dan Begg (2010), sistem basis data adalah kumpulan dari program aplikasi yang berinteraksi dengan basis data bersama dengan Database Management System ( DBMS ) dan basis data itu sendiri.

Definisi

Basis data atau database, berasal dari kata basis dan data, adapun pengertian dari kedua pengertian tersebut adalah sebagai berikut :

  • Basis : dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.
  • Data : representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya.

Dari kedua pengertian tersebut, maka dapat ditarik kesimpulan bahwa pengertian dari 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. Database berfungsi untuk menampung atau menyimpan data – data, dimana masing – masing data yang ada pada table atau file tersebut saling berhubungan dengan satu sama lainnya. Basis data telah digunakan pada hampir seluruh area dimana komputer digunakan, termasuk bisnis, teknik, kesehatan, hukum, pendidikan dan sebagainya. Tujuan basis data pada suatu perusahaan pada dasarnya adalah kemudahan dan kecepatan dalam pengambilan kembali data.

Basis data (database) adalah suatu kumpulan data yang disusun dalam bentuk tabel-tabel yang saling berkaitan maupun berdiri sendiri dan disimpan secara bersama-sama pada suatu media. Basis data dapat digunakan oleh satu atau lebih program aplikasi secara optimal, data disimpan tanpa mengalami ketergantungan pada program yang akan menggunakannya.

Terdapat beberapa aturan yang harus dipatuhi pada file basis data agar dapat memenuhi kriteria sebagai suatu basis data, yaitu:

  1. Kerangkapan data, yaitu munculnya data-data yang sama secara berulang-ulang pada file basis data,
  2. Inkonsistensi data, yaitu munculnya data yang tidak konsisten pada field yang sama untuk beberapa file dengan kunci yang sama,
  3. Data terisolasi, disebabkan oleh pemakaian beberapa file basis data. Program aplikasi tidak dapat mengakses file tertentu dalam sistem basis data tersebut, kecuali program aplikasi dirubah atau ditambah sehingga seolah-olah ada file yang terpisah atau terisolasi terhadap file yang lain,
  4. Keamanan data, berhubungan dengan masalah keamanan data dalam sistem basis data. Pada prinsipnya file basis data hanya boleh digunakan oleh pemakai tertentu yang mempunya wewenang untuk mengakses,
  5. Integrasi data, berhubungan dengan unjuk kerja sistem agar dapat melakukan kendali atau kontrol pada semua bagian sistem sehingga sistem selalu beroperasi dalam pengendalian penuh.

Ciri-ciri Database

Adapun ciri-ciri database adalah:

  1. Sistem yang dapat menyimpan data ke dalam floppy disk atau harddisk.
  2. Sistem yang menganut pengolahan data untuk ditambah, diubah, atau dihapus dengan mudah dan terkontrol.
  3. Data terpisah dari program


Sifat-sifat Database

  • Internal: Kesatuan (integritas) dari file-file yang terlibat.
  • Terbagi/share: Elemen-elemen database dapat dibagikan pada para user baik secara sendiri-sendiri maupun secara serentak dan pada waktu yang sama (Concurrent sharing).

Tujuan Basis Data

  1. Kecepatan dan Kemudahan (Speed)
    Basis data memungkinkan kita dapat meyimpan, memanipulasi, menampilkan data dengan lebih cepat dan mudah, dibandingkan dengan data yang disimpan bukan pada media elektronik atau disimpan pada media elektronik tetapi tidak dalam bentuk aturan basis data (bentuk spread sheet atau dokumen teks biasa).
  2. Efisiensi Ruang Penyimpanan (Space)
    Keterkaitan antarkelompok basis data dapat meminimalisir terjadinya redudansi (pengulangan) data. Sehingga apabila redudansi data dapat diminimalisir maka dapat berpengaruh pada ruang penyimpanan yang digunakan.
  3. Keakuratan (Accuracy)
    Pembentukan relasi atau hubungan antar data, tipe data, domain data, keunikan data dan sebagainya dapat menyebabkan keakuratan data yang disimpan dalam sebuah basis data.
  4. Ketersediaan (Availability)
    Basis data dapat menjamin ketersedian data bagi siapa saja yang membutuhkan data tesebut.
  5. Kelengkapan (Completeness)
    Kelengkapan data pada sebuah basis data ditentukan oleh penambahan, perubahan, penghapusan data di dalam basis data. Selain itu juga dipengaruhi oleh perubahan struktur data (tabel, atribut) yang menyesuaikan pada kebutuhan data.
  6. Keamanan (Security)
    Kemanan dapat diterapkan pada sebuah basis data. Contohnya menentukan pengguna yang dapat mengakses basis data dan batasan-batasan operasi yang dapat dilakukan dari masing-masing pengguna tersebut.
  7. Kebersamaan Pemakaian (Sharability)
    Basis data dapat mendukung multi-user secara bersamaan dengan tetap memperhatikan aspek keamanan basis data tersebut.

Tahapan perancangan basis data

  1. Perencanaan basis data
  2. Mendefinisikan sistem
  3. Analisis dan mengumpulkan kebutuhan
  4. Perancangan basis data
  5. Perancangan aplikasi
  6. Membuat prototipe
  7. Implementasi
  8. Konversi data
  9. Pengujian
  10. Pemeliharaan operasional

Jenis Basis Data

Operational Database
Operational Database atau biasa disebut dengan database OLTP (On Line Transaction Processing), berguna untuk mengelola data yang dinamis secara langsung atau real-time. Jenis ini memungkinkan para pengguna dapat melakukan, melihat, dan memodifikasi data. Modifikasi tersebut bisa berupa mengubah, menambah, menghapus data secara langsung melalui perangkat keras yang digunakan. Contoh JSON dan XML

Database Warehouse
Database Warehouse adalah sistem basis data yang biasa digunakan untuk pelaporan dan analisis data. Sistem ini dianggap sebagai komponen inti dari business intelligence. Database Warehouse merupakan repositori sentral data yang terpadu dari satu atau lebih sumber yang berbeda. Database tersebut juga menyimpan data terkini dan historis dengan satu tempat yang digunakan untuk membuat laporan analisis.

Data yang tersimpan di warehouse awalnya diunggah dari sistem operasi. Data bisa melewati penyimpanan operasional dan memungkinkan untuk pembersihan data. Proses tersebut menjadi operasi tambahannya dan dapat memastikan kualitas data sebelum digunakan di warehouse sebagai pelaporannya. Contoh Microsoft SQL Server

Distributed Database
Distributed Database adalah basis data yang perangkat penyimpanannya tidak terpasang pada perangkat komputer yang sama. Basis data tersebut disimpan di beberapa perangkat komputer yang terletak di tempat yang sama atau tersebar melalui jaringan komputer lainnya yang saling berhubungan.

Sistem ini tidak sama dengan sistem paralel yang menggabungkan erat dan bersistem data tunggal. Sistem ini terdistribusi melalui situs yang tergabung dan tidak memiliki komponen fisik.

Melalui administratornya, basis data dapat mendistribusikan sekumpulan data di beberapa lokasi yang berada di server jaringan terorganisir. Karena sistem yang begitu unik, basis data terdistribusi bisa meningkatkan kinerja bagi end user dengan membiarkan transaksi melalui proses mesin yang banyak sehingga tidak fokus pada satu mesin saja. Contoh Microsoft Access (Office)

Relational Database
Relational Database atau basis data relasional adalah basis data yang mengorganisir berdasarkan model hubungan data. Banyak sekali perangkat lunak yang menggunakan sistem ini untuk mengatur dan memelihara basis data melalui hubungan setiap data. Umumnya, semua sistem menggunakan Structured Query Language (SQL) sebagai bahasa pemrograman untuk pemeliharaan basis data dan query. Contoh MySQL, PostgreSQL, MariaDB, MongoDB, Oracle Database, SAP HANA, IBM Db2, MemSQL, Interbase, Firebird

End-User Database
SQLite adalah sistem manajemen basis data yang ada pada library pemrograman C. Berbeda dengan sistem lainnya, SQLite bukan merupakan mesin database client server. SQLite tertanam ke dalam program akhir sehingga cocok digunakan dalam mendukung penyimpanan data akhir end user.

SQLite sangat populer digunakan sebagai perangkat lunak database untuk penyimpanan lokal / klien melalui perangkat lunak aplikasi seperti peramban web. Sistem ini merupakan sistem yang paling banyak digunakan melalui sistem operasi, peramban web, dan sistem embedded yang lebih luas seperti ponsel. Contoh SQLite

Database Management System (DBMS)

DBMS adalah sebuah sistem perangkat lunak yang mengizinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke dalam basis data. (Connoly dan Begg, 2010).

Sistem merupakan tatanan dari beberapa komponen funsional (dengan satuan fungsi dan tugas khusus) yang saling berhubungan dan melakukan proses untuk tujuan tertentu. Sistem basis data merupakan sistem yang terdiri dari tabel data yang saling berhungan dan terorganisir menggunakan sistem pengelola database pada sebuah perangkat komputer, serta memungkinkan beberapa pemakai atau program aplikasi lainnya untuk mengakses atau memanipulasi data yang ada pada basis data tersebut.

Fasilitas yang disediakan oleh DBMS

  • Mengizinkan pengguna untuk mendfinisikan basis data, dengan melalui Data Definition Language ( DDL ). DDL mengizinkan pengguna untuk menentukan tipe, struktur, serta kendala data yang nantinya akan disimpan ke dalam basis data.
  • Mengizinkan pengguna untuk melakukan menambah, mengubah, menghapus dan mengambil data dari basis data tersebut, dengan menggunakan Data Manipulation Language ( DML ). Standard bahasa dari DBMS ialah Structured Query Language ( SQL ).
  • Menyediakan akses kontrol ke dalam basis data, seperti :
    1. Sistem keamanan, yang dapat mencegah pengguna yang tidak diberi kuasa untuk mengakses basis data.
    2. Sistem integritas, yang dapat menjaga konsistensi dari data yang tersimpan.
    3. Sistem kontrol konkurensi, yang mengizinkan berbagi akses dengan basis data.
    4. Sistem kontrol pemulihan, jika terjadi kegagalan perangkat keras atau perangkat lunak maka sistem kontrol pemulihan ini dapat mengembalikan basis data ke keadaan yang konsisten dari yang sebelumnya.

Komponen Utama dalam DBMS

Hardware
Hardware yang digunakan dapat berupa Personal Computer ( PC ) yang akan disesuaikan dengan kebutuhan perusahaan dan DBMS yang akan digunakan.

Software
Komponen software terdiri dari software DBMS itu sendiri dan program aplikasi, bersamaan dengan sistem operasinya, serta termasuk software jaringan, apabila DBMS yang akan digunakan melalui sebuah jaringan.

Data
Data adalah komponen yang terpenting pada DBMS , karena data merupakan sebuah jembatan penghubung antara komponen mesin dengan manusia.

Procedures
Prosedur berisikan instruksi serta aturan yang digunakan untuk merancang dan menggunakan sebuah basis data.

People
Komponen terakhir adalah manusia yang dapat terlibat langsung dengan sistem tersebut.

Keuntungan DBMS

Mengendalikan redudansi data
Menghilangkan redudansi dengan cara mengintegrasikan file- file tersebut agar salinan dari data yang sama tidak disimpan. Dikarenakan apabila data yang sama dengan data tersebut ditemukan lebih dari satu tabel di dalam basis data maka akan terjadi redudansi.

Meningkatkan Integritas data
Integritas basis data megacu pada validitas dan konsistensi data yang tersimpan. Integritas dinyatakan dalam constraints .

Meningkatkan keamanan
Keamanan sebuah basis data melindungi basis data dari pengguna yang tidak berwenang. dengan cara membuat username dan password untuk mengidentifikasikan pengguna yang memiliki hak akses dalam menggunakan basis data. Akses yang diberikan pada pengguna yang telah memiliki hak akses dapat melakukan operasi seperti, retrieval, insert, update, delete .

Meningkatkan pelayanan backup dan recovery
Menyediakan fasilitas untuk pemulihan data bila terjadi kegagalan pada software atau hardware dapat di pulihkan sehingga dapat meminimalkan jumlah pemrosesan yang hilang.

Berbagi Data
DBMS memungkinkan pengguna untuk menggunakan data yang sama secara bersamaan tentunya dengan pengguna yang berwenang.

Kerugian DBMS

Kompleksitas
DBMS merupakan sebuah perangkat lunak yang sangat kompleks. Database Designers, Database Developer, Database Administrator dan End-user harus mengerti fungsionalitasnya.

Ukuran
Karena besarnya kompleksitas pada DBMS membuat DBMS membutuhkan sebuah kapasitas penyimpanan yang besar agar dapat menjalankan aplikasinya.

Biaya dalam DBMS

Biaya dalam DBMS sangat bervariasi, dan itu tergantung dari lingkungan dan fungsionalitas yang diinginkan.

Biaya tambahan dari hardware
Membutuhkan biaya tambahan untuk kapasitas penyimpanan dan agar dapat mencapai kinerja yang diinginkan sehingga membutuhkan mesin yang lebih besar.

Biaya Konversi
Biaya konversi relatif lebih kecil. Biaya konversi meliputi pelatihan karyawan untuk menggunakan sistem yang baru dan memungkinkan karyawan dengan keahlian yang khusus

Software Database

Microsoft SQL Server
Oracle
Sybase
Interbase
XBase
Firebird
MySQL
PostgreSQL
Microsoft Access
dBase III
Paradox
FoxPro
Visual FoxPro
Arago
Force
Recital
dbFast
dbXL
Quicksilver
Clipper
FlagShip
Harbour
Visual dBase
Lotus Smart Suite Approach
db2
MongoDB

Ref : [1][2][3]