pexels-cottonbro-5474288.jpg

Seorang pengembang basis data yang hebat tidak hanya tahu cara menulis query yang cepat, tetapi juga tahu bagaimana memastikan data tersebut tidak hilang dan tidak jatuh ke tangan yang salah. Di dunia industri, integritas dan ketersediaan data adalah harga mati. Bab ini akan membekali Anda dengan pengetahuan dasar tentang cara mencadangkan data, mengelola siapa saja yang boleh masuk ke dalam sistem, serta bagaimana memberikan hak akses yang tepat agar mahasiswa tidak bisa mengubah nilainya sendiri secara ilegal.

12.1. Konsep Backup dan Recovery

Dalam dunia IT, ada sebuah pepatah: "Bukan masalah apakah data Anda akan hilang, tetapi kapan ia akan hilang." Kerusakan server, kegagalan listrik, hingga kesalahan manusia (seperti lupa menulis klausa WHERE pada perintah DELETE) bisa terjadi kapan saja. Oleh karena itu, strategi Backup (pencadangan) dan Recovery (pemulihan) adalah benteng pertahanan utama kita.

12.1.1. Logical Backup vs Physical Backup

Secara umum, ada dua cara utama untuk melakukan pencadangan data:

  1. Logical Backup (SQL Dump): Ini adalah cara paling umum. Basis data akan membaca isinya dan menuliskannya kembali ke dalam berkas teks berupa kumpulan perintah SQL (CREATE TABLE, INSERT INTO, dll).

  2. Physical Backup (Raw Data Copy):

    Teknik ini dilakukan dengan menyalin berkas-berkas fisik basis data langsung dari direktori penyimpanan di cakram keras (hard drive).

12.1.2. Strategi Frekuensi Backup

Kapan kita harus melakukan backup? Jawabannya tergantung pada seberapa banyak data yang "rela" Anda hilangkan jika terjadi bencana.

12.2. Ekspor dan Impor

Setelah kita memahami konsep backup secara teoritis, sekarang kita akan melihat bagaimana praktiknya menggunakan alat yang telah kita tentukan sebelumnya, yaitu phpMyAdmin atau MySQL Workbench.

Dalam keseharian di kampus, Anda mungkin sering harus memindahkan database dari laptop pribadi ke komputer laboratorium, atau sebaliknya. Proses memindahkan "isi otak" database ini disebut dengan Ekspor dan Impor.

Utilitas ini memungkinkan kita untuk mengubah seluruh struktur dan isi database menjadi satu berkas fisik (biasanya berakhiran .sql) yang bisa dibawa-bawa.

Berikut ini contoh file .sql database kampus

-- --------------------------------------------------------
-- Host: localhost
-- Waktu pembuatan: 08 Jan 2026 jam 14.30
-- Versi server: 10.4.28-MariaDB
-- --------------------------------------------------------

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `db_kampus`
--

-- --------------------------------------------------------

--
-- Struktur dari tabel `dosen` (Materi Bab 5: DDL)
--

CREATE TABLE `dosen` (
  `nidn` char(10) NOT NULL,
  `nama_dos` varchar(100) NOT NULL,
  `keahlian` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`nidn`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data untuk tabel `dosen` (Materi Bab 6: DML)
--

INSERT INTO `dosen` (`nidn`, `nama_dos`, `keahlian`) VALUES
('0710018501', 'Jeffry Atur F, S.T., M.Kom.', 'Database System'),
('0722058902', 'Dr. Siti Aminah', 'Artificial Intelligence');

-- --------------------------------------------------------

--
-- Struktur dari tabel `mahasiswa`
--

CREATE TABLE `mahasiswa` (
  `nim` char(8) NOT NULL,
  `nama_mhs` varchar(100) NOT NULL,
  `alamat` text DEFAULT NULL,
  `nidn_wali` char(10) DEFAULT NULL,
  PRIMARY KEY (`nim`),
  KEY `fk_dosen_wali` (`nidn_wali`),
  CONSTRAINT `fk_dosen_wali` FOREIGN KEY (`nidn_wali`) REFERENCES `dosen` (`nidn`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Dumping data untuk tabel `mahasiswa`
--

INSERT INTO `mahasiswa` (`nim`, `nama_mhs`, `alamat`, `nidn_wali`) VALUES
('20230001', 'Budi Santoso', 'Surabaya', '0710018501'),
('20230002', 'Randi Irawan', 'Malang', '0710018501');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

12.2.1. Memahami File SQL (.sql)

Hasil dari proses ekspor biasanya berupa berkas teks yang berisi skrip SQL mentah. Jika Anda membukanya dengan Notepad atau VS Code, Anda akan melihat gabungan dari semua materi yang telah kita pelajari: