Konsep Dasar Sistem Basis Data Untuk Pemula

Konsep Dasar Sistem Basis Data Untuk Pemula

Konsep sistem basis data, merupakan hal yang penting untuk diketahui.

Terkadang, konsep ini sulit dipahami oleh sebagian besar pemula. Apalagi jika anda belajar otodidak.

Pertama kalinya Anda belajar konsep sistem basis data, saya yakin anda tidak tahu harus berbuat apa, tidak tahu harus mulai dari mana, dan apa saja yang perlu diketahui.

Kabar baiknya,

Saya akan sharing kepada anda tentang bagaimana memahami konsep sistem database dengan baik, dan apa saja yang perlu anda ketahui secara detail.

Mari kita mulai!

Berikut konsep dasar yang perlu Anda ketahui:

Konsep Sistem Basis Data

1. Apa itu basis data

Hal pertama yang perlu anda ketahui adalah definisi dari basis data (database).

Lucu memang jika berbicara basis data, tetapi tidak mengetahui apa itu basis data.

Mari kita pelajari!

Sebelum masuk ke definisi, ada baiknya kita pilah-pilah arti dari kata-perkata.

Basis dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.

Sedangkan data merupakan representasi fakta dunia nyata yang mewakili suatu objek.

Seperti:

Manusia (pegawai, pelanggan, mahasiswa, dosen), barang, hewan, kejadian, konsep, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, atau kombinasinya.

Jadi apa itu basis data?

Berikut definisinya:

Basis data atau database merupakan kumpulan data yang saling berelasi (berhubungan).

Relasi biasanya ditujukan dengan key (kunci) dari tiap tabel yang ada.

Dalam satu tabel terdapat record-record yang sejenis yang merupakan satu kumpulan entitas yang seragam.

Satu record terdiri dari field-field yang saling berhubungan dan menunjukan dalam satu pengertian lengkap dalam satu record.

Mungkin terdengar rumit, tapi sebenarnya tidak.

Berdasarkan pengertian diatas dapat disimpulkan bahwa basis data (database) mempunyai beberapa kriteria.

Yaitu:

Bersifat data oriented bukan program oriented, dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.

Hal ini juga dapat dikembangkan dengan mudah baik volume maupun strukturnya sehingga dapat memenuhi kebutuhan sistem-sistem baru dengan mudah.

Prinsip utama basis data atau database adalah pengaturan data dengan tujuan utama fleksibilitas dan kecepatan akses.

Adapun tujuan basis data diantaranya sebagai efisiensi yang meliputi speed, space, dan accuracy, mengenai data dalam jumlah besar, kebersamaan pemakai (sharebility), dan meniadakan duplikasi dan inkonsistensi data.

 

2. Manfaat basis data

Hal berikutnya yang perlu anda ketahui adalah manfaat dari database itu sendiri.

Jika anda mengerti manfaat dari database dengan baik. Anda akan memiliki motivasi yang tinggi untuk belajar tentang database.

Mari kita mulai!

Jadi, apa saja manfaat dari database?

Berikut penjabarannnya:

1. Kecepatan dan kemudahan (Speed)

Pemanfaatan basis data (database) memungkinkan untuk dapat menyimpan (insert), merubah (update), dan menampilkan (Select) kembali data tersebut dengan lebih cepat dan mudah.

2. Efisiensi ruang penyimpanan (Space)

Dengan basis data efisiensi penggunaan ruang penyimpanan dapat dilakukan, karena penekatan jumlah redudansi data, baik dengan sejumlah pengkodean atau dengan membuat tabel-tabel yang saling berhubungan.

3. Keakuratan (accuracy)

Pembentukan relasi antar data bersama dengan penerapan aturan / batasan (constraint) tipe, domain dan keunikan data dapat diterapkan dalam sebuah database.

4. Ketersedian (availability)

Dapat memilah data utama / master, transaksi, data histori hingga data kadaluwarsa.

Data yang jarang atau tidak digunakan lagi dapat diatur dari sistem basis data aktif.

5. Kelengkapan (completeness)

Lengkap / tidaknya data dalam sebuah database bersifat relatif. Bila pemakai sudah menganggap sudah lengkap yang lain belum tentu sama.

6. Keamanan (security)

Pemanfaatan database memungkinkan kita untuk menentukan siapa saja yang berhak menggunakan database beserta objek-objek di dalamnya dan menentukan jenis-jenis operasi apa saja yang boleh dilakukan.

7. Kebersamaan Pengguna (sharebility)

Basis data dapat digunakan oleh beberapa pemakai dan beberapa lokasi.

Basis data yang dikelola oleh sistem (aplikasi) yang mendukung multiuser dapat memenuhi kebutuhan, akan tetapi harus menghindari inkonsistensi data.

 

3. Operasi basis data

Database atau basis data dapat diciptakan dan dapat pula dimusnahkan.

Pada sebuah penyimpanan (disk) dapat menempatkan beberapa basis data (database), misalnya basis data akademik, penjualan, perpustakaan, dan lain-lain.

Sementara dalam sebuah basis data terdapat satu tabel atau lebih.

Misalnya dalam database penjualan terdiri dari tabel barang, pelanggan, kategori, dan transaksi.

Operasi dasar yang dapat dilakukan database adalah sebagai berikut:

1. Pembuatan database baru (CREATE DATABASE)

2. Pemusnahan database (DROP DATABASE)

3. Pembuatan tabel baru dalam database (CREATE TABLE)

4. Penghapusan tabel dari suatu database (DROP TABLE)

5. Pengisian data (record) kedalam tabel (INSERT)

6. Menampilkan data yang ada pada tabel (SELECT)

7. Mengubah data yang ada pada tabel (UPDATE)

8. Penghapusan data yang ada pada table (DELETE)

Operasi pembuatan database dan tabel merupakan operasi awal yang hanya dilakukan sekali dan berlaku seterusnya.

Sedangkan untuk operasi pengisian data merupakan operasi rutin yang dilakukan berulang-ulang.

 

4. Aturan basis data

Untuk menghasilkan rancangan database yang baik, ada aturan atau ketentuan yang harus anda perhatikan.

Ketentuan pada pembuatan tabel pada database bertujuan agar memenuhi kriteria sebagai database.

Adapun kriteria yang harus dipenuhi yaitu:

Redudansi data, inkonsistensi data, pengaksesan data, data terisolasi untuk standarisasi, masalah keamanan, masalah integritas data, dan multiuser.

1. Redudansi data dan Inkonsistensi data

Penyimpanan data dibeberapa tempat yang berbeda disebut redudansi.

Hal ini, akan menyebabkan pemborosan dan menimbulkan inkonsistensi data (data tidak konsisten) apabila terjadi perubahan data (update) dibeberapa tempat.

Tujuan sistem database bukan untuk menghilangkan redudansi data, melainkan meminimalisir redudansi data, karena suatu tabel tidak dapat berelasi (berhubungan) dengan tabel lain jika tidak ada redudansi sama sekali.  

Mungkin terdengar rumit, tapi sebenarnya tidak.

2. Pengaksesan data

Data di dalam database harus siap diakses oleh siapa saja yang membutuhkan dan mempunyai hak untuk mengaksesnya.

Oleh karena itu perlu dibuat suatu program pengelolaan atau suatu aplikasi untuk mengakses data yang dikenal sebagai Database Management System (DBMS).

3. Data terisolasi untuk Standarisasi

Jika data tersebar dalam beberapa tabel dalam bentuk format yang sama, maka akan menyulitkan dalam menulis program aplikasi, baik untuk mengambil dan menyimpan data.

Oleh karena itu data dalam satu database harus dibuat satu format yang sama, sehingga mudah dibuat program aplikasinya.

4. Masalah Keamanan (Security)

Setiap pemakai sistem database tidak semua bagian mengakses semua data.

Misalnya, data mengenai gaji pegawai hanya boleh dibuka oleh bagian keuangan, sedangkan bagian gudang dan bagian lain tidak diperkenankan untuk membukanya.

Keamanan dapat diatur dan disesuaikan baik ditingkat database atau aplikasinya.

5. Banyak pemakai (multiple users)

Salah satu database dibangun karena nantinya data tersebut akan digunakan oleh banyak pengguna (user), baik dalam waktu berbeda maupun bersamaan.

Oleh karena itu diperlukan database yang handal dan dapat mendukung banyak pemakai atau multiuser.

 

5. Integritas data

Integritas data berarti data itu akurat, konsisten, dan terbaru.

Dalam konsep basis data, semakin sedikit redudansi data berarti meningkatkan integritas data.

Karena, semua perubahan hanya dilakukan di satu tempat.

Untuk merancang database yang baik dan menjamin integritas data, wajib bagi Anda untuk memperhatikan 3 hal berikut:

1. Domain Integrity

Domain adalah suatu himpunan yang dapat diberikan pada suatu atribut, yang mencakup nama, arti, tipe data, ukuran, dan nilai yang diijinkan.

Semua nilai yang disimpan pada kolom-kolom harus memiliki domain yang sama. Integritas data ini merujuk pada batasan nilai yang diperbolehkan untuk setiap atribut dalam tabel yang dimiliki oleh suatu atribut.  

2. Integrity Entity

Integrity entity dirancang untuk memastikan setiap relasi atau tabel yang sudah memiliki kunci primer (primary key), dan memastikan bahwa nilai-nilai data untuk kunci primer adalah sah atau valid, dan menjamin bahwa setiap atribut kunci primer tidak boleh kosong atau NOT NULL.

Nilai NULL adalah nilai yang diberikan ke suatu atribut saat tudak ada nilai yang dimasukan atau nilai yang diterapkan tidak diketahui.

Nilai NULL adalah bukan nilai melainkan ketidakhadiran nilai pada suatu atribut tertentu.

Nilai NULL disini bukan angka 0 dan juga bukan space (untuk jenis data alpha, alphanumeric, dan string), malainkan mewakili nilai data kosong.

Sebagai contoh setiap kolom dalam pendefinisian tabel dapat dilengkapi dengan NULL (boleh kosong) dan NOT NULL (tidak boleh kosong).

Contoh:

CREATE TABLE tbl_mahasiswa(
	Nim varchar(15) NOT NULL,
	Nama varchar(30) NOT NULL,
	Prodi varchar(20) NOT NULL,
	Gender varchar(3) NOT NULL,
	Alamat varchar(40)
); 

3. Integrity Referensial

Integrity referensial adalah garis yang menghubungkan antara kunci tamu (foreign key) di suatu tabel dengan kunci primer (primary key).

Integrity referensial merupakan aturan yang memelihara konsistensi antara baris-baris pada 2 relasi.

Aturan ini menerapkan bahwa jika ada kunci tamu disatu relasi tertentu, maka kunci tamu itu harus sesuai dengan nilai kunci primer di relasi lain.

Contoh:

CREATE TABLE kategori(
kategori_id INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
kategori_nama VARCHAR(50) NOT NULL
)ENGINE=INNODB;

CREATE TABLE subkategori(
subkategori_id INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
subkategori_nama VARCHAR(50) NOT NULL,
subkategori_kategori_id INT(11) NOT NULL,
FOREIGN KEY (subkategori_kategori_id) REFERENCES kategori (kategori_id) ON UPDATE CASCADE
)ENGINE=INNODB;

Query diatas akan menghasilkan dua table yang saling berelasi (berhubungan).

Seperti gambar berikut:

Relasi antar table

Pada gambar diatas, anda dapat melihat bahwa terdapat relasi antara tabel kategori dan table subkategori.

Dimana field yang menghubungkannya adalah field kategori_id pada tabel kategori dan field subkategori_kategori_id pada table subkategori.

Integritas referensial yang dimaksud disini adalah, field kategori_id pada tabel kategori dan field subkategori_kategori_id pada table subkategori harus memiliki type data dan panjang karakter yang sama seperti contoh diatas.

 

6. Komponen sistem basis data

Sistem database terdapat komponen-komponen utama.

Yaitu:

Perangkat keras (hardware), sistem operasi (operating system), basis data (database), program aplikasi (application program), DBMS (Database Management System), dan pengguna (user).

1. Perangkat keras (Hardware)

Perangkat keras (hardware) yang biasanya terdapat dalam sebuah sistem database adalah komputer untuk sistem stand alone, sistem jaringan (network), memori sekunder yang online (harddisk), memori sekunder yang offline (disk), dan perangkat komunikasi untuk jaringan.

2. Sistem Operasi (Operating System)

Sistem operasi merupakan program yang mengaktifkan sistem komputer, mengendalikan seluruh sumber daya dalam komputer dan melakukan operasi-operasi dasar dalam komputer, pengelolaan file, dan lain-lain.

Program pengelola basis data akan aktif (running) jika sistem operasi yang dikehendaki sesuai. Sistem operasi yang biasa digunakan Microsoft DOS, Microsoft Windows, UNIX, LINUX, Mac OS, dan lain-lain.

3. Basis data (Database)

Basis data (database) merupakan koleksi dari data yang terorganisasi dengan cara sedemikian rupa sehingga data tersebut mudah disimpan dan dimanipulasi.

Sebuah sistem database dapat memiliki beberapa database.

Setiap database dapat memiliki sejumlah objek database seperti table, indeks, dan lain-lain.  

4. DBMS (Database Management System)

Database Management System (DBMS) merupakan kumpulan program aplikasi yang digunakan untuk membuat dan mengelola database.

DBMS berisi suatu koleksi data dan set program untuk mengakses data.

DBMS meruakan perangkat lunak (software) yang menentukan bagaimana data tersebut diorganisasi, disimpan, diubah dan diambil kembali.

Perangkat lunak ini juga menerapkan mekanisme pengamanan data, pengguna data bersama, dan konsistensi data.

Perangkat lunak yang termasuk kedalam DBMS diantaranya: Microsoft Access, SQL Server, MySQL atau MySQLi, DB2, Oracle, PostgreSQL, SQLite, Mongo DB, dan Maria DB.  

5. Pengguna (User)

Terdapat beberapa tipe users atau pengguna pada sistem database, berdasarkan cara mereka berinteraksi pada basis data, diantaranya program aplikasi, pengguna mahir, pengguna umum, dan pengguna khusus.

5.1. Program Aplikasi

Programmer aplikasi adalah pengguna yang berinteraksi dengan database melalui DML (Data Manipulation Language), yang disertakan dalam program yang ditulis dalam bahasa pemrograman induk (seperti pascal, cobol, clipper, dan lain-lain).

5.2. User Mahir

User mahir adalah pengguna yang berinteraksi dengan sistem tanpa menulis modul program.

Pengguna menggunakan query (bahasa standard yang digunakan oleh setiap DBMS) untuk mengakses data.

5.3. User Umum

User umum adalah pengguna yang berinteraksi dengan sistem database melalui pemanggilan satu program aplikasi permanen yang ditulis atau disediakan sebelumnya.

5.4. User Khusus

User khusus adalah pengguna yang menulis aplikasi database non konvensional untuk keperluan khusus, seperti untuk aplikasi sistem pakar, dan lain-lain.

6. Administrator database

Suatu lingkup database seharusnya memiliki satu orang atau kelompok orang pada bagian struktur database untuk menangani administrasi database yang biasa disebut administrator database atau Database Administrator (DBA).

Administrator database adalah orang yang bertanggung jawab dan bekerja sama dengan analisis sistem dan user-user lain guna melengkapi berbagai macam tugas seperti pendefinisian data, pemodelan data, desain database, serta menjamin kerahasian integritas data.

 

7. Abstraksi data

Pada abstraksi data bayangan mengenai data tidak lagi diperhatikan kondisi sesungguhnya bagaimana suatu data masuk ke database dan disimpan ke dalam sektor mana, tetapi menyangkut secara menyeluruh bagaimana data tersebut dapat diabstraksikan.

Kegunaan utama sistem database adalah agar pengguna mampu menyusun suatu pandangan abstraksi dari data tersebut.

Database dapat dipandang dari 2 yaitu: sudut pandang pengguna dan perancang database.

Pengguna dapat diartikan sebagai orang-orang yang menggunakan database. Sedangkan perancang database adalah orang yang berperan sebagai perancang dan pengelola database.

Seorang perancang database memiliki pandangan secara konseptual dan secara fisik.

Pandangan  tersebut menunjukkan level pandangan terhadap suatu database.

Pandangan terhadap database sering disebut sebagai arsitektur database atau abtraksi database dan terbagi kedalam level fisik, level konseptual, dan level pandangan pengguna. 

Berikut uraiannya:

1. Level Fisik (Physical Level)

Level fisik merupakan level abstraksi yang paling rendah menjelaskan secara detail bagaimana data disimpan dan kondisi sebenarnya atau diorganisasikan secara fisik atau aktual.

Pada level ini struktur data yang diperlukan gambaran secara rinci yang dibutuhkan oleh system enginner, dan level ini umumnya digunakan oleh para pakar software dan hardware.

Physical level sering disebut sebagai level eksternal merupakan bentuk implementasi konseptual, yaitu suatu pandangan perancang yang berkaitan dengan permasalahan teknik penyimpanan data dalam database ke dalam media penyimpanan yang digunakan.

Pandangan ini bersifat sangat teknis dan lebih berorientasi pada mesin, yaitu berkaitan dengan organisasi berkas database.

2. Level Konseptual (Conceptual Level)

Level konseptual merupakan level abstraksi yang lebih rendah dari level logika dan merupakan level abstraksi yang lebih tinggi dari level fisik.

Level ini memberikan gambaran tentang data apa yang sebenarnya perlu disimpan dalam database, serta hubungan atau relasi yang terjadi diantara data dari keseluruhan database.

Level Conceptual / Global Logical Data juga merupakan suatu pandangan perancang database yang berkaitan dengan data apa saja yang perlu disimpan dalam database dan penjelasan mengenai hubungan antara data yang satu dengan yang lainnya.

Pengguna tidak mempedulikan kerumitan dalam struktur level fisik lagi, penggambaran cukup dengan memakai kotak, garis, dan hubungan secukupnya.

3. Level Pandangan Pengguna

Level pandangan pengguna atau level eksternal merupakan pandangan para pengguna database pada masing-masing pengguna database, sehingga memiliki cara pandang yang berbeda-beda tergantung pada macam data apa saja yang tersedia atau dapat diakses oleh pemakai.

Level ini merupakan level abstraksi yang mendeskripsikan bagian tertentu dari keseluruhan database secara logika kepada pengguna tentang data yang dibutuhkan.

Level ini merupakan level abstraksi data tertinggi yang menggambarkan sebagian saja tentang data yang dapat dilihat dan dipakai dari keseluruhan database.

Pengguna tidak perlu tahu bagaimana sebenarnya data-data tersebut disimpan.  

 

8. Bahasa basis data (database language)

Bahasa database adalah suatu cara untuk berinteraksi atau berkomunikasi antara pengguna dengan database yang diatur dalam bahasa khusus yang ditetapkan oleh perusahaan.

Database language dibagi menjadi 3 bagian yaitu Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL).

1. Data Definition Language (DDL)

Data Definition Language (DDL) merupakan satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema database.

DDL juga merupakan struktur database yang menggambarkan desain database secara keseluruhan.

Dengan DDL dapat membuat tabel baru dan mengubah tabel, dan hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data (data dictionary).

Kamus data merupakan suatu meta data (super data) yaitu data yang mendeskripsikan data sesungguhnya.

Kamus data akan selalu diakses dalam suatu operasi database sebelum suatu file data yang sesungguhnya diakses.

2. Data Manipulation Language (DML)

Data Manipulation Language (DML) merupakan satu paket DBMS yang memperbolehkan pengguna untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat.

DML dapat mengambil informasi yang tersimpan dalam database, menyisipkan informasi baru dalam database dan menghapus informasi dari tabel.

DML mempunyai 2 tipe yaitu procedural dan non procedural.

Procedural digunakan oleh pengguna pada saat membutuhkan spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya.

Sedangkan, non procedural digunakan oleh pengguna pada saat membutuhkan spesifikasi data tanpa harus mengetahui bagaimana cara mendapatkannya.

3. Data Control Language (DCL)

Data Control Language (DCL) adalah kumpulan bahasa SQL (structured query language) atau bahasa database yang berfungsi untuk mengatur hak akses pengguna database.

 

Kesimpulan:

Pembahasan kali ini adalah tentang konsep dasar sistem basis data (database system).

Konsep ini sangat penting untuk diketahui untuk menghasilkan rancangan database yang baik.

Rancangan database yang baik harus memenuhi kriteria sebagai database. meminimalisir redudansi data, menghemat ruang penyimpanan, dan menjamin integritas data.

Share:



Komentar (3)

sobat tekno, 01 February 2018 12:12 - Reply

nice artikel

M Fikri, 14 February 2018 10:55 - Reply

Terima kasih gan!

robert, 26 March 2018 00:17 - Reply

halo , saya ingin memasang iklan di http://mfikri.com apa anda menyediakan space untuk iklan? jika anda menyediakannya , silahkan hubungi kami di ulatbulu1355@gmail.com . terima kasih

Leave a Comment