KI: PRAKTEK 6: Identifikasi & Klasifikasi Data Pribadi (PDP)
Tujuan
Pada praktek ini, mahasiswa tidak hanya memahami PDP secara hukum, tetapi mampu membaca data secara teknis dan menjawab pertanyaan penting:
“Data apa yang sedang kita pegang, seberapa sensitif, dan apa resikonya jika bocor?”
Setelah praktikum, mahasiswa mampu:
- Mengidentifikasi data pribadi di dataset nyata
- Mengklasifikasikan tingkat sensitivitas data
- Menentukan kontrol pengamanan yang rasional
- Menyusun Data Classification Matrix seperti yang digunakan di organisasi profesional
Konsep Inti (Wajib Dipahami)
Data Pribadi Umum vs Sensitif
Data Pribadi Umum
→ Data yang mengidentifikasi seseorang, tetapi dampak kebocorannya relatif rendah
Contoh:
- Nama
- Nomor telepon
- Alamat (tanpa detail spesifik)
Data Pribadi Sensitif
→ Data yang berpotensi menyebabkan kerugian serius bila bocor
Contoh:
- NIK / No KTP
- Data kesehatan
- Rekam biometrik
- Password, token, API key
- Data keuangan
Prinsip penting:
Semakin besar dampak kebocoran, semakin ketat kontrolnya.
Data Lifecycle (Siklus Hidup Data)
Setiap data pasti melewati tahapan ini:
- Collect – dikumpulkan (form, API, upload)
- Store – disimpan (database, file, spreadsheet)
- Process – diproses (analitik, AI, laporan)
- Share – dibagikan (email, API, integrasi)
- Archive – diarsipkan
- Delete – dihapus
Kesalahan umum:
Fokus hanya saat collect, lupa mengamankan store & share.
Tools yang Digunakan (100% Open Source)
| Kebutuhan | Tools |
|---|---|
| Dataset | Dummy CSV |
| Analisis | Python 3 (default Ubuntu 24.04) |
| Spreadsheet | LibreOffice Calc |
| Enkripsi | GnuPG |
| OS | Ubuntu 24.04 LTS |
Praktek Step-by-Step
STEP 1 — Siapkan Dataset Dummy
Buat file data_mahasiswa.csv
nama,email,no_hp,nik,tanggal_lahir,alamat,password Andi Pratama,andi@email.com,08123456789,3174010101010001, 2000-01-01,Jakarta,password123 Siti Rahmawati,siti@email.com,08234567890,3274020202020002, 1999-05-12,Bandung,rahasia456
Catatan penting:
Dataset dummy ini menyerupai data nyata, tetapi aman untuk praktikum.
STEP 2 — Identifikasi Kolom Data Pribadi (Python)
Buat file identify_pdp.py
import pandas as pd
# Load dataset
df = pd.read_csv("data_mahasiswa.csv")
# Daftar pola data pribadi
pdp_patterns = {
"nama": "Data Pribadi Umum",
"email": "Data Pribadi Umum",
"no_hp": "Data Pribadi Umum",
"alamat": "Data Pribadi Umum",
"nik": "Data Pribadi Sensitif",
"tanggal_lahir": "Data Pribadi Sensitif",
"password": "Data Sangat Sensitif"
}
print("Identifikasi Data Pribadi:\n")
for col in df.columns:
kategori = pdp_patterns.get(col, "Bukan Data Pribadi")
print(f"- {col}: {kategori}")
Jalankan:
python3 identify_pdp.py
Output yang diharapkan:
- nama: Data Pribadi Umum - email: Data Pribadi Umum - no_hp: Data Pribadi Umum - nik: Data Pribadi Sensitif - tanggal_lahir: Data Pribadi Sensitif - alamat: Data Pribadi Umum - password: Data Sangat Sensitif
STEP 3 — Klasifikasi Tingkat Sensitivitas
Gunakan 3 level sederhana (praktis & realistis):
| Level | Makna |
|---|---|
| Medium | Risiko reputasi / privasi |
| High | Risiko hukum, finansial, kriminal |
Tambahkan ke script:
sensitivity_level = {
"Data Pribadi Umum": "Medium",
"Data Pribadi Sensitif": "High",
"Data Sangat Sensitif": "Critical"
}
print("\nKlasifikasi Sensitivitas:\n")
for col in df.columns:
kategori = pdp_patterns.get(col, "Bukan Data Pribadi")
level = sensitivity_level.get(kategori, "None")
print(f"- {col}: {level}")
STEP 4 — Tentukan Kontrol Pengamanan
| Level | Kontrol Minimal |
|---|---|
| Medium | Akses terbatas |
| Medium | Akses terbatas |
| High | Enkripsi |
| Critical | Enkripsi + hashing + audit |
Contoh Implementasi: Enkripsi Kolom Sensitif
Enkripsi file dengan GnuPG
gpg --symmetric --cipher-algo AES256 data_mahasiswa.csv
Output:
data_mahasiswa.csv.gpg
Makna:
Data tidak bisa dibaca tanpa passphrase → compliance by design
STEP 5 — Buat Data Classification Matrix
| Kolom | Jenis Data | Sensitivitas | Risiko Kebocoran | Kontrol |
|---|---|---|---|---|
| nama | Pribadi Umum | Medium | Pelanggaran privasi | Access control |
| Pribadi Umum | Medium | Spam / phishing | Masking | |
| no_hp | Pribadi Umum | Medium | Social engineering | Rate limit |
| nik | Sensitif | High | Identitas palsu | Encryption |
| tanggal_lahir | Sensitif | High | Profiling | Encryption |
| password | Sangat Sensitif | Critical | Account takeover | Hashing + Salt |
Inilah dokumen yang dinilai dosen.
Output Praktikum (Wajib Dikumpulkan)
Mahasiswa mengumpulkan:
- ✅ Dataset dummy
- ✅ Script Python identifikasi PDP
- ✅ File terenkripsi (.gpg)
- ✅ Data Classification Matrix
- ✅ Analisis singkat (½–1 halaman):
- Kolom paling berisiko
- Alasan klasifikasi
- Dampak kebocoran
Kesalahan Umum (Dan Harus Dihindari)
- ❌ Menganggap semua data sama
- ❌ Menyimpan password plaintext
- ❌ Tidak tahu data disimpan di mana
- ❌ Tidak bisa menjelaskan kenapa data harus dienkripsi
Skill Nyata yang Didapat
Setelah praktikum ini, mahasiswa:
- Bisa membaca database dengan “kacamata keamanan”
- Siap terlibat audit PDP
- Siap kerja di sistem real (kampus, startup, gov, AI system)