Difference between revisions of "Prinsip-prinsip pelindungan data pribadi"
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
Onnowpurbo (talk | contribs)  | 
				Onnowpurbo (talk | contribs)   | 
				||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
==Tujuan Pembelajaran==  | ==Tujuan Pembelajaran==  | ||
Setelah mempelajari bagian ini, mahasiswa diharapkan mampu:  | Setelah mempelajari bagian ini, mahasiswa diharapkan mampu:  | ||
| − | + | * Menjelaskan prinsip-prinsip utama perlindungan data pribadi.  | |
| − | + | * Menghubungkan prinsip-prinsip tersebut ke dalam praktik sistem basis data.  | |
| − | + | * Mengimplementasikan fitur keamanan dan kontrol di MySQL untuk mendukung kepatuhan terhadap perlindungan data.  | |
| − | |||
==Prinsip-Prinsip Pelindungan Data Pribadi==  | ==Prinsip-Prinsip Pelindungan Data Pribadi==  | ||
| Line 11: | Line 10: | ||
{| class="wikitable"  | {| class="wikitable"  | ||
| − | ! Prinsip                    !! Penjelasan  !! Contoh Praktik di MySQL Ubuntu 24.04   | + | ! Prinsip                    !! Penjelasan  !! Contoh Praktik di MySQL Ubuntu 24.04  | 
|-  | |-  | ||
| '''1. Persetujuan (Consent)'''         || Data hanya boleh dikumpulkan dan digunakan jika telah disetujui oleh subjek data.       || Tabel harus mencatat status persetujuan pengguna.  | | '''1. Persetujuan (Consent)'''         || Data hanya boleh dikumpulkan dan digunakan jika telah disetujui oleh subjek data.       || Tabel harus mencatat status persetujuan pengguna.  | ||
| Line 26: | Line 25: | ||
|-  | |-  | ||
| '''7. Akuntabilitas (Accountability)'''        || Pengendali data harus dapat menunjukkan kepatuhan terhadap prinsip ini.                || Catat log akses atau audit trail.  | | '''7. Akuntabilitas (Accountability)'''        || Pengendali data harus dapat menunjukkan kepatuhan terhadap prinsip ini.                || Catat log akses atau audit trail.  | ||
| − | |  | + | |}  | 
==Contoh Implementasi di MySQL Ubuntu 24.04==  | ==Contoh Implementasi di MySQL Ubuntu 24.04==  | ||
Latest revision as of 08:02, 21 April 2025
Tujuan Pembelajaran
Setelah mempelajari bagian ini, mahasiswa diharapkan mampu:
- Menjelaskan prinsip-prinsip utama perlindungan data pribadi.
 - Menghubungkan prinsip-prinsip tersebut ke dalam praktik sistem basis data.
 - Mengimplementasikan fitur keamanan dan kontrol di MySQL untuk mendukung kepatuhan terhadap perlindungan data.
 
Prinsip-Prinsip Pelindungan Data Pribadi
Berikut adalah prinsip-prinsip yang umum digunakan secara internasional (juga tercantum dalam UU No. 27/2022 tentang Pelindungan Data Pribadi di Indonesia):
| Prinsip | Penjelasan | Contoh Praktik di MySQL Ubuntu 24.04 | 
|---|---|---|
| 1. Persetujuan (Consent) | Data hanya boleh dikumpulkan dan digunakan jika telah disetujui oleh subjek data. | Tabel harus mencatat status persetujuan pengguna. | 
| 2. Tujuan Terbatas (Purpose Limitation) | Data hanya boleh digunakan untuk tujuan yang sah dan disetujui. | Gunakan peran (role-based access) untuk membatasi penggunaan. | 
| 3. Minimalisasi Data (Data Minimization) | Hanya data yang benar-benar dibutuhkan yang boleh dikumpulkan. | Jangan buat kolom berlebihan; hindari menyimpan data sensitif jika tidak perlu. | 
| 4. Akurasi (Accuracy) | Data harus dijaga agar tetap akurat dan diperbarui. | Gunakan constraint dan validasi. | 
| 5. Penyimpanan Terbatas (Storage Limitation) | Data tidak boleh disimpan lebih lama dari yang diperlukan. | Terapkan mekanisme penghapusan otomatis berdasarkan waktu. | 
| 6. Integritas dan Kerahasiaan (Security) | Data harus dilindungi dari akses tidak sah atau pelanggaran. | Gunakan GRANT/REVOKE, enkripsi, dan backup. | 
| 7. Akuntabilitas (Accountability) | Pengendali data harus dapat menunjukkan kepatuhan terhadap prinsip ini. | Catat log akses atau audit trail. | 
Contoh Implementasi di MySQL Ubuntu 24.04
1. Pencatatan Persetujuan
CREATE TABLE pengguna (
    id INT PRIMARY KEY AUTO_INCREMENT,
    nama VARCHAR(100),
    email VARCHAR(100),
    setuju_pdp BOOLEAN DEFAULT FALSE,
    tanggal_setuju TIMESTAMP NULL
);
2. Kontrol Akses Berdasarkan Tujuan
Misalnya hanya admin yang boleh mengakses semua data:
-- Buat user terbatas CREATE USER 'survey_user'@'localhost' IDENTIFIED BY 'safePass123'; -- Hanya izinkan akses kolom non-sensitif GRANT SELECT(nama, email) ON mydb.pengguna TO 'survey_user'@'localhost';
3. Validasi Akurasi Data
CREATE TABLE mahasiswa (
    nim VARCHAR(10) PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    email VARCHAR(100),
    ipk DECIMAL(3,2) CHECK (ipk BETWEEN 0.00 AND 4.00)
);
4. Penghapusan Otomatis Data Lama (Retention Policy)
DELETE FROM log_akses WHERE waktu_akses < NOW() - INTERVAL 1 YEAR;
> Bisa dijalankan otomatis lewat cron job di Ubuntu.
5. Keamanan: Enkripsi Manual dan Pembatasan Akses
Enkripsi data email (opsional, manual):
-- Contoh hanya ilustrasi, enkripsi dilakukan di level aplikasi
INSERT INTO pengguna (nama, email)
VALUES ('Budi', AES_ENCRYPT('budi@mail.com', 'kunci_rahasia'));
6. Akuntabilitas: Logging Akses (Manual Logging)
CREATE TABLE log_akses (
    user VARCHAR(50),
    waktu_akses TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    tindakan VARCHAR(255)
);
-- Insert log saat pengguna mengakses data
INSERT INTO log_akses (user, tindakan) VALUES ('admin', 'Lihat tabel pengguna');
> Untuk logging otomatis, perlu integrasi dengan aplikasi atau trigger.
Ringkasan Praktik MySQL untuk Prinsip PDP
| Prinsip | Fitur MySQL yang Relevan | 
|---|---|
| Persetujuan | Kolom `BOOLEAN`, timestamp persetujuan | 
| Tujuan Terbatas | `GRANT`, `REVOKE`, user terbatas | 
| Minimasi Data | Desain tabel efisien, tanpa data tidak perlu | 
| Akurasi | Constraint, `CHECK`, validasi input | 
| Retensi | Query `DELETE` + `cron` atau trigger | 
| Keamanan | Role-based access, enkripsi, backup | 
| Akuntabilitas | `log_akses` table atau binary log |