Memahami Konsep, Struktur, Fungsi, dan Pengelolaan Basis Data
BAB 1. PENGENALAN DATABASE
1.1 Pengertian Database
Database atau basis data adalah kumpulan data yang disusun secara sistematis sehingga dapat disimpan, diakses, dikelola, diperbarui, dan digunakan kembali sesuai kebutuhan.
Database digunakan untuk menyimpan berbagai jenis informasi, seperti data siswa, mahasiswa, karyawan, pelanggan, produk, transaksi penjualan, data keuangan, dan data inventaris perusahaan.
Dalam kehidupan sehari-hari, database digunakan oleh berbagai organisasi untuk mendukung kegiatan operasional. Sekolah menggunakan database untuk mengelola data siswa dan nilai. Rumah sakit menggunakannya untuk menyimpan data pasien dan riwayat pelayanan. Perusahaan menggunakan database untuk mengelola pelanggan, produk, persediaan, serta transaksi bisnis.
Database tidak hanya berfungsi sebagai tempat penyimpanan data, tetapi juga sebagai sarana untuk mengorganisasi informasi agar mudah ditemukan, dianalisis, dan digunakan dalam proses pengambilan keputusan.
1.2 Perbedaan Data dan Informasi
Data adalah fakta mentah yang belum diolah atau belum diberikan konteks yang memadai. Data dapat berupa angka, teks, tanggal, simbol, atau bentuk lainnya.
Informasi adalah data yang telah diolah sehingga memiliki makna dan dapat digunakan untuk memahami suatu keadaan atau mengambil keputusan.
Contoh:
Data:
- 80
- 75
- 90
- 85
Informasi:
Nilai rata-rata seorang siswa dari empat mata pelajaran adalah 82,5.
Contoh tersebut menunjukkan bahwa data merupakan bahan dasar, sedangkan informasi merupakan hasil pengolahan data yang mempunyai makna lebih jelas.
Database dapat menyimpan data yang kemudian diolah menjadi informasi untuk mendukung berbagai aktivitas.

1.3 Tujuan Penggunaan Database
Database digunakan untuk mencapai beberapa tujuan berikut.
- Penyimpanan data secara terstruktur. Database memungkinkan data disimpan dalam format yang terorganisasi sehingga lebih mudah dikelola.
- Mempermudah pencarian data. Data dapat dicari berdasarkan kriteria tertentu tanpa harus memeriksa seluruh catatan secara manual.
- Mempermudah pembaruan data. Perubahan informasi dapat dilakukan secara terkontrol.
- Mengurangi duplikasi data. Perancangan database yang baik dapat mengurangi penyimpanan data yang sama secara berulang.
- Menjaga konsistensi data. Aturan database membantu memastikan data tetap sesuai dengan ketentuan yang berlaku.
- Mendukung keamanan data. Hak akses dapat diatur agar pengguna hanya dapat melakukan aktivitas yang diizinkan.
- Mendukung pembuatan laporan. Data dapat diolah menjadi laporan operasional, statistik, dan informasi manajerial.
- Mendukung pengambilan keputusan. Informasi yang dihasilkan dapat membantu organisasi mengevaluasi kondisi dan menentukan langkah berikutnya.
1.4 Manfaat Database
Penggunaan database memberikan manfaat bagi individu, organisasi, dan perusahaan.
Bagi lembaga pendidikan, database membantu mengelola data siswa, jadwal pelajaran, nilai, kehadiran, dan administrasi akademik.
Bagi perusahaan, database membantu mengelola pelanggan, pemasok, karyawan, transaksi, dan persediaan barang.
Bagi layanan kesehatan, database membantu pengelolaan informasi pasien, jadwal pemeriksaan, dan catatan pelayanan sesuai dengan aturan privasi yang berlaku.
Bagi toko daring, database membantu menyimpan data produk, akun pelanggan, pesanan, pembayaran, dan status pengiriman.
Dengan pengelolaan yang tepat, database dapat meningkatkan efisiensi kerja, mengurangi kesalahan administrasi, dan mempercepat penyediaan informasi.
1.5 Karakteristik Database
Database yang dirancang dan dikelola dengan baik umumnya mempunyai karakteristik berikut.
- Terstruktur, yaitu data disusun berdasarkan model dan aturan tertentu.
- Terorganisasi, yaitu data dikelompokkan sesuai kebutuhan.
- Dapat diakses, yaitu data dapat diambil oleh pengguna atau aplikasi yang memiliki izin.
- Konsisten, yaitu data mengikuti aturan dan batasan yang ditetapkan.
- Dapat diperbarui, yaitu data dapat ditambah, diubah, atau dihapus sesuai kewenangan.
- Memiliki mekanisme keamanan, yaitu akses dan perubahan data dapat dikendalikan.
- Mendukung pencadangan dan pemulihan, yaitu data dapat dilindungi dari kehilangan melalui prosedur yang sesuai.
BAB 2. KONSEP DASAR DATABASE
2.1 Pengertian Sistem Basis Data
Sistem basis data adalah sistem yang mencakup data, perangkat lunak pengelola database, perangkat keras, pengguna, dan prosedur yang digunakan untuk menyimpan serta mengelola data.
Sistem basis data mempunyai cakupan lebih luas daripada database itu sendiri. Database merupakan kumpulan datanya, sedangkan sistem basis data mencakup komponen yang memungkinkan data tersebut dikelola dan dimanfaatkan.
2.2 Pengertian DBMS
DBMS merupakan singkatan dari Database Management System, yaitu perangkat lunak yang digunakan untuk membuat, mengatur, menyimpan, mengakses, dan memelihara database.
DBMS menyediakan berbagai fungsi, seperti pengelolaan struktur tabel, pencarian data, pengaturan hak akses, pengendalian transaksi, serta pencadangan dan pemulihan.
Contoh DBMS antara lain MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, dan SQLite.
Pemilihan DBMS bergantung pada kebutuhan aplikasi, jumlah data, jumlah pengguna, kemampuan teknis tim, biaya, serta persyaratan keamanan dan kinerja.
2.3 Perbedaan Database dan DBMS
Database merupakan kumpulan data yang tersimpan secara terorganisasi.
DBMS merupakan perangkat lunak yang digunakan untuk mengelola kumpulan data tersebut.
Sebagai contoh, database akademik dapat berisi data mahasiswa, dosen, mata kuliah, dan nilai. DBMS berfungsi untuk mengatur bagaimana data tersebut disimpan, dicari, diperbarui, dan dilindungi.
Dengan demikian, database adalah data yang dikelola, sedangkan DBMS adalah perangkat lunak pengelolanya.
2.4 Komponen Sistem Basis Data
Sistem basis data umumnya terdiri atas beberapa komponen berikut.
- Data, yaitu fakta atau informasi yang disimpan.
- Perangkat keras, yaitu komputer, server, media penyimpanan, dan perangkat jaringan yang mendukung pengoperasian sistem.
- Perangkat lunak, yaitu DBMS, sistem operasi, dan aplikasi yang mengakses database.
- Pengguna, yaitu pihak yang berinteraksi dengan sistem sesuai hak aksesnya.
- Prosedur, yaitu aturan dan langkah kerja dalam penggunaan, pemeliharaan, keamanan, serta pencadangan database.
Seluruh komponen tersebut bekerja bersama untuk memastikan data dapat dikelola secara efektif.
2.5 Pengguna Database
Pengguna database dapat dibedakan berdasarkan peran dan tanggung jawabnya.
Administrator database bertanggung jawab terhadap pengelolaan teknis database, keamanan, kinerja, pencadangan, dan pemulihan data.
Database designer bertugas merancang struktur database berdasarkan kebutuhan sistem dan aturan bisnis.
Programmer atau pengembang aplikasi membuat aplikasi yang menggunakan database untuk menjalankan berbagai fungsi.
Pengguna akhir merupakan orang yang memakai aplikasi untuk memasukkan, melihat, atau mengolah data sesuai kewenangannya.
Analis data menggunakan data yang tersedia untuk menghasilkan laporan, menemukan pola, dan mendukung pengambilan keputusan.
Dalam organisasi kecil, beberapa peran tersebut dapat dijalankan oleh orang yang sama.
BAB 3. STRUKTUR DAN ISTILAH DATABASE
3.1 Tabel
Tabel adalah struktur untuk menyimpan data dalam bentuk baris dan kolom. Dalam database relasional, setiap tabel biasanya digunakan untuk menyimpan data mengenai satu jenis entitas atau objek tertentu.
Contohnya adalah tabel mahasiswa, tabel dosen, tabel produk, dan tabel transaksi.
Pemisahan data ke dalam tabel yang sesuai membantu menjaga keteraturan serta mempermudah pengelolaan hubungan antardata.
3.2 Field atau Kolom
Field atau kolom merupakan bagian tabel yang menunjukkan atribut atau karakteristik suatu data.
Contohnya, tabel mahasiswa dapat mempunyai kolom nomor mahasiswa, nama, alamat, tanggal lahir, dan program studi.
Setiap kolom mempunyai nama dan tipe data yang menentukan jenis nilai yang dapat disimpan.
3.3 Record atau Baris
Record adalah satu kumpulan nilai yang mewakili satu entitas atau satu kejadian dalam tabel.
Contohnya, satu baris dalam tabel mahasiswa berisi informasi tentang seorang mahasiswa. Baris lainnya berisi informasi tentang mahasiswa yang berbeda.
Record juga sering disebut sebagai baris data atau tuple dalam terminologi relasional.
3.4 Value atau Nilai Data
Value adalah nilai yang disimpan pada perpotongan suatu baris dan kolom.
Contohnya, pada kolom nama terdapat nilai “Andi”, sedangkan pada kolom program studi terdapat nilai “Informatika”.
Nilai data harus sesuai dengan tipe data dan aturan yang berlaku pada kolom tersebut.
3.5 Skema Database
Skema database adalah rancangan atau definisi struktur database. Skema menjelaskan tabel, kolom, tipe data, hubungan antartabel, serta aturan yang digunakan.
Skema berfungsi sebagai pedoman dalam penyimpanan dan pengelolaan data. Perancangan skema yang tepat dapat membantu menjaga konsistensi dan mempermudah pengembangan sistem.
3.6 Metadata
Metadata adalah data yang menjelaskan data lainnya.
Dalam database, metadata dapat mencakup nama tabel, nama kolom, tipe data, batasan nilai, hubungan antartabel, dan informasi mengenai struktur penyimpanan.
Metadata membantu pengelola dan aplikasi memahami bagaimana data disusun serta aturan apa yang berlaku.
BAB 4. JENIS-JENIS DATABASE
4.1 Database Relasional
Database relasional adalah jenis database yang menyimpan data dalam tabel-tabel yang dapat saling berhubungan.
Hubungan tersebut dibentuk melalui kunci dan aturan tertentu. Model relasional banyak digunakan dalam sistem akademik, keuangan, administrasi, perdagangan, dan aplikasi bisnis.
Contoh sistem pengelola database relasional adalah MySQL, PostgreSQL, Oracle Database, dan Microsoft SQL Server.
Keunggulan database relasional adalah struktur data yang jelas, dukungan terhadap relasi, serta kemampuan menjaga konsistensi melalui berbagai batasan dan transaksi.
4.2 Database Hierarkis
Database hierarkis mengorganisasi data dalam struktur bertingkat yang menyerupai pohon. Hubungan antardata mengikuti pola induk dan anak.
Model ini sesuai untuk struktur tertentu yang mempunyai hubungan hierarkis jelas. Namun, hubungan yang lebih kompleks dapat memerlukan pengelolaan tambahan.
4.3 Database Jaringan
Database jaringan merupakan model yang memungkinkan sebuah data mempunyai hubungan dengan beberapa data lain melalui struktur jaringan.
Model ini lebih fleksibel daripada model hierarkis dalam menangani hubungan tertentu, tetapi struktur dan pengelolaannya dapat menjadi kompleks.
4.4 Database Berorientasi Dokumen
Database berorientasi dokumen menyimpan data dalam bentuk dokumen, umumnya menggunakan format seperti JSON atau BSON.
Model ini memungkinkan struktur dokumen yang fleksibel dan sering digunakan pada aplikasi yang mempunyai kebutuhan data berkembang atau bervariasi.
MongoDB merupakan salah satu contoh sistem database berorientasi dokumen.
4.5 Database Key-Value
Database key-value menyimpan data sebagai pasangan kunci dan nilai. Kunci digunakan untuk menemukan nilai yang berkaitan dengannya.
Model ini sering digunakan untuk cache, sesi pengguna, dan kebutuhan akses data sederhana dengan cepat. Redis merupakan salah satu contoh sistem yang mendukung model key-value.
4.6 Database Graf
Database graf mengorganisasi data sebagai simpul dan hubungan. Model ini berguna untuk data yang mempunyai banyak hubungan, seperti jejaring sosial, hubungan antarentitas, dan sistem rekomendasi.
Neo4j merupakan salah satu contoh database graf.
4.7 Database Terdistribusi
Database terdistribusi adalah database yang data atau komponennya dikelola pada beberapa komputer atau lokasi yang saling terhubung.
Pendekatan ini dapat mendukung skalabilitas, ketersediaan, dan penyebaran layanan. Namun, pengelolaannya juga memerlukan perhatian terhadap konsistensi data, jaringan, replikasi, dan pemulihan ketika terjadi gangguan.
BAB 5. DATABASE RELASIONAL DAN KUNCI
5.1 Konsep Database Relasional
Database relasional didasarkan pada model yang mengorganisasi data dalam relasi, yang dalam implementasi umum direpresentasikan sebagai tabel.
Setiap tabel mempunyai atribut yang diwakili kolom dan kumpulan record yang diwakili baris. Hubungan antartabel dapat dibentuk dengan menggunakan kunci.
Sebagai contoh, sistem akademik dapat mempunyai tabel mahasiswa, dosen, mata kuliah, dan nilai. Tabel-tabel tersebut saling berhubungan untuk menggambarkan aktivitas akademik.
5.2 Primary Key
Primary key adalah kolom atau kombinasi kolom yang digunakan untuk mengidentifikasi setiap baris secara unik.
Primary key tidak boleh mempunyai nilai NULL dan setiap nilainya harus unik.
Sebagai contoh, nomor mahasiswa dapat digunakan sebagai primary key pada tabel mahasiswa jika setiap mahasiswa mempunyai nomor yang berbeda.
Primary key penting untuk mencegah ambiguitas ketika sistem mengakses atau memperbarui suatu record.
5.3 Foreign Key
Foreign key adalah kolom atau kombinasi kolom yang merujuk pada kunci kandidat yang memenuhi syarat sebagai acuan pada tabel yang sama atau tabel lain, sesuai dukungan sistem database.
Dalam penggunaan umum, foreign key menghubungkan tabel anak dengan tabel induk.
Sebagai contoh, tabel mahasiswa dapat mempunyai kolom kode program studi yang merujuk pada tabel program studi.
Foreign key membantu menjaga integritas referensial, yaitu memastikan hubungan antardata tetap sesuai dengan aturan yang ditetapkan.
5.4 Candidate Key
Candidate key adalah atribut atau kombinasi atribut yang dapat mengidentifikasi setiap record secara unik dan bersifat minimal.
Sebuah tabel dapat mempunyai lebih dari satu candidate key. Salah satunya dipilih sebagai primary key, sedangkan candidate key lainnya dapat ditetapkan sebagai alternate key.
5.5 Composite Key
Composite key adalah kunci yang terdiri atas dua atau lebih kolom.
Contohnya, tabel detail nilai dapat menggunakan kombinasi nomor mahasiswa dan kode mata kuliah sebagai kunci, apabila setiap mahasiswa hanya mempunyai satu record nilai untuk setiap mata kuliah dalam konteks data tersebut.
Pemilihan composite key harus mengikuti aturan bisnis dan kebutuhan sistem.
5.6 Unique Key
Unique key merupakan batasan yang memastikan nilai pada kolom atau kombinasi kolom tidak mempunyai duplikasi yang dilarang.
Batasan ini dapat digunakan, misalnya, untuk memastikan alamat email akun tidak digunakan oleh lebih dari satu pengguna.
Perilaku terhadap nilai NULL dapat berbeda bergantung pada DBMS. Oleh karena itu, aturan keunikan perlu dipahami sesuai sistem yang digunakan.
BAB 6. RELASI ANTARTABEL
6.1 Pengertian Relasi
Relasi antartabel adalah hubungan logis antara data yang disimpan dalam tabel berbeda. Relasi memungkinkan informasi disimpan secara terorganisasi dan digabungkan ketika dibutuhkan.
Relasi dibentuk berdasarkan aturan bisnis serta kunci yang sesuai.
6.2 One-to-One
One-to-one adalah hubungan ketika satu record pada suatu entitas berkaitan dengan paling banyak satu record pada entitas lainnya, dan sebaliknya, sesuai aturan hubungan yang ditetapkan.
Contohnya, satu akun pengguna mempunyai satu profil tambahan yang bersifat khusus.
6.3 One-to-Many
One-to-many adalah hubungan ketika satu record pada tabel induk dapat berkaitan dengan banyak record pada tabel anak.
Contohnya, satu pelanggan dapat mempunyai banyak pesanan. Setiap pesanan tetap mengacu pada pelanggan yang sesuai.
Relasi ini umum digunakan dalam sistem penjualan, akademik, kepegawaian, dan administrasi.
6.4 Many-to-Many
Many-to-many adalah hubungan ketika banyak record pada satu entitas dapat berkaitan dengan banyak record pada entitas lainnya.
Contohnya, seorang mahasiswa dapat mengambil beberapa mata kuliah dan satu mata kuliah dapat diambil oleh banyak mahasiswa.
Dalam database relasional, hubungan ini umumnya diimplementasikan menggunakan tabel penghubung yang menyimpan referensi ke kedua entitas.
6.5 Pentingnya Relasi
Relasi membantu mengurangi pengulangan data, menjaga konsistensi hubungan, dan memungkinkan pengambilan informasi dari beberapa tabel.
Perancangan relasi yang tepat juga membantu menghindari data yatim, yaitu data yang merujuk pada entitas yang tidak tersedia, jika aturan integritas referensial diterapkan dengan benar.
BAB 7. PERANCANGAN DATABASE
7.1 Pengertian Perancangan Database
Perancangan database adalah proses menentukan struktur, hubungan, batasan, dan aturan penyimpanan data berdasarkan kebutuhan suatu sistem.
Perancangan yang baik dilakukan sebelum database diterapkan agar struktur data sesuai dengan kebutuhan pengguna dan proses bisnis.
7.2 Analisis Kebutuhan
Tahap pertama adalah memahami data apa saja yang harus disimpan, siapa yang menggunakan data, bagaimana data diproses, serta laporan apa yang dibutuhkan.
Sebagai contoh, sistem perpustakaan memerlukan data buku, anggota, peminjaman, pengembalian, dan kemungkinan denda.
Analisis kebutuhan membantu menentukan entitas, atribut, relasi, dan aturan yang harus diterapkan.
7.3 Identifikasi Entitas
Entitas adalah objek atau konsep yang datanya perlu disimpan.
Contoh entitas pada sistem akademik meliputi mahasiswa, dosen, program studi, mata kuliah, dan nilai.
Setiap entitas kemudian dijelaskan melalui atribut yang relevan.
7.4 Identifikasi Atribut
Atribut adalah karakteristik yang menjelaskan suatu entitas.
Contohnya, entitas mahasiswa dapat mempunyai atribut nomor mahasiswa, nama, tanggal lahir, alamat, dan program studi.
Pemilihan atribut perlu mempertimbangkan kebutuhan sistem, keakuratan data, dan prinsip minimisasi data pribadi.
7.5 Menentukan Kunci dan Relasi
Setiap tabel perlu mempunyai pengenal yang sesuai. Selanjutnya, hubungan antartabel ditentukan berdasarkan aturan bisnis.
Penetapan primary key dan foreign key membantu memastikan identitas record dan hubungan data dikelola dengan benar.
7.6 Penyusunan Skema
Setelah entitas, atribut, dan relasi ditentukan, rancangan diterjemahkan menjadi skema database.
Skema mencakup nama tabel, nama kolom, tipe data, kunci, batasan, dan hubungan antartabel.
Skema kemudian ditinjau untuk memastikan tidak ada struktur yang bertentangan dengan kebutuhan sistem.
BAB 8. ENTITY RELATIONSHIP DIAGRAM
8.1 Pengertian ERD
Entity Relationship Diagram atau ERD adalah metode pemodelan yang digunakan untuk menggambarkan entitas, atribut, dan hubungan antardata dalam suatu sistem.
ERD membantu pengembang memahami struktur database sebelum implementasi dilakukan.
8.2 Komponen ERD
Komponen utama ERD meliputi:
- Entitas, yaitu objek atau konsep yang datanya dikelola.
- Atribut, yaitu karakteristik yang menjelaskan entitas.
- Relasi, yaitu hubungan antara entitas.
- Kardinalitas, yaitu batas jumlah hubungan antardata.
- Kunci, yaitu atribut yang digunakan untuk identifikasi dan penghubung.
Notasi ERD dapat berbeda-beda, sehingga rancangan harus menggunakan simbol dan aturan yang konsisten.
8.3 Kardinalitas
Kardinalitas menjelaskan jumlah hubungan yang mungkin terjadi antara entitas.
Kardinalitas yang umum adalah one-to-one, one-to-many, dan many-to-many.
Penentuan kardinalitas harus mengikuti aturan bisnis, bukan hanya berdasarkan perkiraan perancang.
8.4 Manfaat ERD
ERD membantu memvisualisasikan struktur data, menemukan hubungan yang belum jelas, mengidentifikasi kebutuhan tabel penghubung, dan menjadi pedoman implementasi database.
ERD juga memudahkan komunikasi antara analis sistem, pengembang aplikasi, administrator database, dan pemangku kepentingan.
BAB 9. NORMALISASI DATABASE
9.1 Pengertian Normalisasi
Normalisasi adalah proses menyusun struktur tabel berdasarkan aturan tertentu untuk mengurangi redundansi dan mencegah anomali data.
Redundansi adalah pengulangan informasi yang tidak diperlukan. Anomali dapat terjadi ketika struktur tabel menyebabkan masalah pada proses penambahan, pembaruan, atau penghapusan data.
Normalisasi merupakan bagian penting dari perancangan database relasional.
9.2 Tujuan Normalisasi
Tujuan normalisasi meliputi:
- Mengurangi pengulangan data yang tidak diperlukan.
- Menjaga konsistensi informasi.
- Mengurangi risiko anomali pembaruan.
- Mempermudah pemeliharaan struktur data.
- Memperjelas ketergantungan ant atribut.
Normalisasi tidak selalu berarti memecah tabel sebanyak mungkin. Struktur akhir tetap perlu mempertimbangkan kebutuhan aplikasi dan karakteristik beban kerja.
9.3 First Normal Form (1NF)
Bentuk normal pertama mensyaratkan setiap atribut menyimpan nilai yang atomik sesuai domainnya, bukan kelompok nilai berulang dalam satu sel.
Sebagai contoh, satu kolom nomor telepon sebaiknya tidak diisi dengan beberapa nomor yang dipisahkan tanda koma apabila setiap nomor perlu dicari, divalidasi, atau dikelola sebagai data tersendiri.
Struktur yang memenuhi 1NF lebih mudah diproses dan dipelihara.
9.4 Second Normal Form (2NF)
Bentuk normal kedua mensyaratkan tabel memenuhi 1NF dan setiap atribut non-kunci bergantung secara penuh pada seluruh candidate key yang relevan.
Konsep ini terutama penting ketika tabel menggunakan kunci gabungan. Atribut yang hanya bergantung pada sebagian kunci gabungan perlu dipertimbangkan untuk dipisahkan ke tabel yang sesuai.
9.5 Third Normal Form (3NF)
Bentuk normal ketiga mensyaratkan tabel memenuhi 2NF serta menghindari ketergantungan transitif yang tidak semestinya di antara atribut non-kunci.
Sebagai contoh, jika kode program studi menentukan nama program studi, informasi nama program studi biasanya lebih tepat dikelola pada tabel program studi daripada diulang pada setiap record mahasiswa.
9.6 Manfaat Normalisasi
Normalisasi membantu menjaga konsistensi data dan mengurangi masalah ketika data dimasukkan, diperbarui, atau dihapus.
Namun, dalam kondisi tertentu, denormalisasi dapat dipertimbangkan untuk kebutuhan kinerja tertentu. Keputusan tersebut sebaiknya dilakukan berdasarkan analisis, pengukuran, dan kebutuhan aplikasi.
BAB 10. BAHASA SQL DAN PENGELOLAAN DATA
10.1 Pengertian SQL
SQL adalah singkatan dari Structured Query Language, yaitu bahasa yang digunakan untuk mendefinisikan struktur database, mengelola data, dan mengatur berbagai aspek pengoperasian database relasional.
SQL digunakan untuk membuat tabel, menambahkan data, membaca data, memperbarui data, menghapus data, serta mengelola hak akses dan transaksi sesuai dukungan DBMS.
10.2 Data Definition Language (DDL)
DDL adalah kelompok perintah yang digunakan untuk mendefinisikan atau mengubah struktur database.
Contoh perintah DDL meliputi CREATE, ALTER, dan DROP.
CREATE digunakan untuk membuat objek database. ALTER digunakan untuk mengubah struktur objek yang sudah ada. DROP digunakan untuk menghapus objek database.
10.3 Data Manipulation Language (DML)
DML merupakan kelompok perintah yang digunakan untuk memanipulasi data dalam tabel.
Perintah yang umum meliputi INSERT, UPDATE, dan DELETE.
INSERT digunakan untuk menambahkan data. UPDATE digunakan untuk memperbarui data. DELETE digunakan untuk menghapus record.
10.4 Data Query Language (DQL)
DQL merujuk pada perintah yang digunakan untuk mengambil atau membaca data, terutama SELECT.
SELECT dapat digunakan untuk menentukan kolom yang ditampilkan, menyaring data, mengurutkan hasil, mengelompokkan record, dan menggabungkan data dari beberapa tabel.
Pengelompokan SQL ke dalam DDL, DML, dan DQL dapat sedikit berbeda antarreferensi, terutama mengenai apakah SELECT dianggap bagian dari DML atau kategori tersendiri.
10.5 Data Control Language (DCL)
DCL berkaitan dengan pengaturan hak akses pengguna terhadap objek dan operasi database.
Perintah yang umum dibahas adalah GRANT dan REVOKE, meskipun cakupan serta perilakunya bergantung pada DBMS.
Pengaturan hak akses perlu mengikuti prinsip hak minimum, yaitu setiap pengguna hanya memperoleh izin yang diperlukan untuk menjalankan tugasnya.
10.6 Transaction Control Language (TCL)
TCL berkaitan dengan pengendalian transaksi database.
Perintah yang umum adalah COMMIT dan ROLLBACK. COMMIT menetapkan perubahan transaksi agar disimpan secara permanen, sedangkan ROLLBACK membatalkan perubahan transaksi yang belum ditetapkan, sesuai aturan sistem database.
Pengendalian transaksi sangat penting untuk menjaga konsistensi data pada operasi yang melibatkan beberapa perubahan sekaligus.
BAB 11. INTEGRITAS DAN KEAMANAN DATABASE
11.1 Pengertian Integritas Data
Integritas data adalah kondisi ketika data tetap akurat, konsisten, dan sesuai dengan aturan yang ditetapkan selama penyimpanan serta pengolahannya.
Integritas data dapat dijaga melalui validasi, batasan kolom, primary key, foreign key, transaksi, dan prosedur pengelolaan yang tepat.
11.2 Jenis Integritas Data
Integritas entitas memastikan setiap record dapat diidentifikasi secara unik.
Integritas referensial memastikan hubungan antara record yang saling terkait tetap sesuai aturan.
Integritas domain memastikan nilai data memenuhi tipe, rentang, atau ketentuan yang berlaku pada atributnya.
Integritas bisnis memastikan data mengikuti aturan operasional organisasi, seperti ketentuan jumlah stok, status transaksi, atau tanggal peminjaman.
11.3 Keamanan Database
Keamanan database bertujuan melindungi data dari akses, perubahan, pengungkapan, atau penghapusan yang tidak sah.
Langkah keamanan meliputi penggunaan autentikasi, pengaturan hak akses, pembatasan koneksi, enkripsi yang sesuai, pencatatan aktivitas, pembaruan perangkat lunak, serta pengujian keamanan.
Akun administrator sebaiknya tidak digunakan untuk seluruh aktivitas sehari-hari. Hak akses diberikan sesuai tugas dan tanggung jawab setiap pengguna.
11.4 SQL Injection
SQL injection adalah jenis serangan yang terjadi ketika input tidak tepercaya dimasukkan ke dalam perintah SQL tanpa penanganan yang tepat sehingga dapat mengubah maksud query.
Pencegahan utamanya adalah menggunakan prepared statements atau query terparameterisasi, memvalidasi input sesuai kebutuhan, serta membatasi hak akses akun database.
Validasi input tetap penting, tetapi tidak menggantikan penggunaan query terparameterisasi.
11.5 Privasi Data
Pengelolaan database yang memuat data pribadi harus memperhatikan tujuan pengumpulan, pembatasan akses, keamanan penyimpanan, masa retensi, dan ketentuan hukum yang berlaku.
Organisasi perlu menghindari pengumpulan informasi yang tidak diperlukan serta memastikan data hanya digunakan sesuai dasar dan tujuan yang sah.
BAB 12. BACKUP, RESTORE, DAN PEMELIHARAAN DATABASE
12.1 Pengertian Backup
Backup adalah proses membuat salinan data atau database untuk melindungi informasi dari kehilangan, kerusakan, kesalahan manusia, atau gangguan sistem.
Backup merupakan bagian penting dari strategi keberlangsungan operasional.
12.2 Jenis Backup
Full backup adalah pencadangan seluruh data yang termasuk dalam cakupan pencadangan.
Incremental backup adalah pencadangan perubahan sejak pencadangan sebelumnya, sesuai mekanisme yang digunakan.
Differential backup adalah pencadangan perubahan sejak full backup terakhir.
Pemilihan metode backup perlu mempertimbangkan volume data, kebutuhan pemulihan, kapasitas penyimpanan, dan biaya operasional.
12.3 Pengertian Restore
Restore adalah proses memulihkan data dari salinan backup.
Backup yang berhasil dibuat belum tentu dapat dipulihkan dengan benar. Oleh karena itu, proses restore perlu diuji secara berkala untuk memastikan cadangan dapat digunakan ketika dibutuhkan.
12.4 Pemeliharaan Database
Pemeliharaan database meliputi pemantauan kinerja, pemeriksaan log, pengelolaan kapasitas penyimpanan, pembaruan perangkat lunak, pemeriksaan integritas, peninjauan hak akses, serta pengujian prosedur pemulihan.
Pemeliharaan yang dilakukan secara teratur membantu mengurangi risiko gangguan dan menjaga ketersediaan layanan.
BAB 13. KINERJA DAN OPTIMASI DATABASE
13.1 Pengertian Kinerja Database
Kinerja database menggambarkan kemampuan sistem dalam memproses permintaan data secara efisien dan memenuhi kebutuhan aplikasi.
Kinerja dapat dinilai berdasarkan waktu respons, jumlah transaksi yang dapat diproses, penggunaan sumber daya, dan kestabilan sistem.
13.2 Index
Index adalah struktur tambahan yang membantu database menemukan data secara lebih efisien tanpa harus memeriksa seluruh record dalam banyak kasus.
Index dapat meningkatkan kecepatan pencarian, tetapi membutuhkan ruang penyimpanan dan dapat menambah biaya operasi INSERT, UPDATE, serta DELETE.
Oleh karena itu, index harus dirancang berdasarkan pola query dan hasil pengukuran kinerja.
13.3 Query Optimization
Query optimization adalah proses meningkatkan efisiensi eksekusi permintaan database.
Upaya optimasi dapat meliputi pemilihan kolom yang diperlukan, penggunaan kondisi pencarian yang sesuai, peninjauan index, pemeriksaan execution plan, dan pengurangan operasi yang tidak perlu.
Optimasi sebaiknya didasarkan pada pengukuran dan analisis, bukan hanya asumsi.
13.4 Skalabilitas
Skalabilitas adalah kemampuan sistem menangani peningkatan jumlah data, pengguna, atau beban kerja.
Skalabilitas dapat ditingkatkan melalui perbaikan struktur database, optimasi query, peningkatan sumber daya perangkat keras, caching, replikasi, atau distribusi beban sesuai kebutuhan.
Setiap pendekatan mempunyai kelebihan, biaya, dan konsekuensi yang perlu dievaluasi.
BAB 14. PENERAPAN DATABASE DALAM KEHIDUPAN NYATA
14.1 Database Akademik
Database akademik digunakan untuk mengelola data mahasiswa, dosen, mata kuliah, jadwal, kehadiran, dan nilai.
Sistem ini membantu lembaga pendidikan menjalankan administrasi akademik serta menghasilkan laporan yang diperlukan.
14.2 Database Perpustakaan
Database perpustakaan digunakan untuk mengelola koleksi buku, anggota, peminjaman, pengembalian, dan status ketersediaan koleksi.
Pengelolaan yang baik membantu pustakawan mengetahui lokasi data koleksi, riwayat transaksi, dan buku yang sedang dipinjam.
14.3 Database Penjualan
Database penjualan menyimpan informasi produk, pelanggan, pesanan, pembayaran, dan transaksi.
Database ini dapat membantu perusahaan memantau penjualan, mengelola persediaan, serta menganalisis kebutuhan pelanggan.
14.4 Database Kepegawaian
Database kepegawaian digunakan untuk menyimpan data karyawan, jabatan, unit kerja, riwayat pekerjaan, dan informasi administrasi lainnya sesuai kebutuhan organisasi.
Data kepegawaian perlu dikelola dengan kontrol akses dan perlindungan privasi yang memadai.
14.5 Database Kesehatan
Database kesehatan digunakan untuk mengelola informasi pasien, jadwal pelayanan, pemeriksaan, dan catatan medis sesuai aturan yang berlaku.
Karena data kesehatan bersifat sensitif, sistem harus menerapkan perlindungan, pengaturan akses, dan tata kelola yang ketat.
BAB 15. KESIMPULAN
Database merupakan komponen penting dalam sistem informasi modern. Database memungkinkan data disimpan, diorganisasi, diakses, dan dikelola secara terstruktur sehingga dapat mendukung kegiatan operasional dan pengambilan keputusan.
Untuk memahami database dari nol, seseorang perlu mempelajari konsep data dan informasi, DBMS, struktur tabel, field, record, kunci, relasi antartabel, perancangan database, ERD, normalisasi, SQL, integritas data, keamanan, backup, serta optimasi kinerja.
Pemahaman teori merupakan dasar penting sebelum mempelajari implementasi menggunakan perangkat lunak database tertentu. Dengan memahami konsep dan prinsip perancangannya, seseorang dapat memilih struktur database yang sesuai dengan kebutuhan sistem serta menghindari kesalahan mendasar dalam pengelolaan data.
Database bukan sekadar tempat menyimpan informasi, melainkan bagian penting dari sistem yang membantu organisasi mengelola informasi secara akurat, aman, konsisten, dan efisien.