Advertisement

Responsive Advertisement

🕵️‍♂️ Kisah Seru Menjadi Detektif SQL: Dari TKP hingga Otak di Balik Pembunuhan




Beberapa waktu lalu, teman-teman saya mengirim tantangan unik: SQL Murder Mystery.
Ini bukan game biasa, karena di sini kita jadi detektif yang memecahkan kasus pembunuhan…
hanya dengan SQL Query, tabel, dan relasi data.

Siap-siap, karena cerita ini penuh plot twist!
🕵️‍♂️ Tahap 1: Menemukan TKP

Kita cuma ingat samar-samar:
Kejadian: Murder
Lokasi: SQL City
Tanggal: 15 Januari 2018

Maka query pertama: sql
SELECT * FROM crime_scene_report WHERE type = 'murder' AND city = 'SQL City' AND date = 20180115;

💡 Tujuan: Memastikan data TKP valid sebelum bergerak ke saksi.
Hasilnya? Ada 2 saksi:
Tinggal di rumah terakhir di Northwestern Dr
Bernama Annabel di Franklin Ave

👀 Tahap 2: Menggali Info Saksi
Kita cari siapa penghuni terakhir di Northwestern Dr: sql

SELECT * FROM person WHERE address_street_name = 'Northwestern Dr' ORDER BY address_number DESC LIMIT 1;

Hasil: Morty Schapiro (saksi 1)
Lalu kita cari Annabel di Franklin Ave: sql
SELECT * FROM person WHERE name LIKE '%Annabel%' AND address_street_name = 'Franklin Ave';
Hasil: Annabel Miller (saksi 2)

📝 Tahap 3: Analisis Wawancara
Saksi 1 bilang:
Pria keluar bawa tas “Get Fit Now Gym” ID mulai “48Z”, hanya member gold yang punya. Plat mobil ada “H42W”.
Saksi 2 bilang:
Pelaku ada di gym 9 Januari 2018.

🔍 Tahap 4: Menyaring Tersangka di Database
Logikanya:
Cari member gym status gold
ID mulai “48Z”
Plat mobil mengandung “H42W”
Terlihat di gym 9 Januari

Query: sql

SELECT g.person_id, p.name, d.plate_number FROM get_fit_now_member g JOIN person p ON p.id = g.person_id JOIN drivers_license d ON d.id = p.license_id WHERE g.membership_status = 'gold' AND g.id LIKE '48Z%' AND d.plate_number LIKE '%H42W%';

Hasilnya: Jeremy Bowers.

📌 Pelaku ditemukan.

🤯 Tahap 5: Plot Twist — Dalang di Balik Layar
Wawancara Jeremy:
“Saya dibayar wanita kaya, rambut merah, tinggi 65-67 inci, naik Tesla Model S, datang 3 kali ke konser SQL Symphony Desember 2017.”
🎯 Tahap 6: Menyempitkan Calon Dalang
Filter:

Perempuan
Rambut merah
Tesla Model S
Tinggi 65-67 inci
Hadir di konser SQL Symphony 3x di Des 2017
Query: sql

WITH red_tesla AS ( SELECT id FROM drivers_license WHERE gender = 'female' AND hair_color = 'red' AND car_make = 'Tesla' AND car_model = 'Model S' AND height BETWEEN 65 AND 67 ), suspects AS ( SELECT p.id, p.name FROM person p JOIN red_tesla r ON p.license_id = r.id ), concert AS ( SELECT person_id FROM facebook_event_checkin WHERE event_name LIKE '%SQL Symphony Concert%' AND date LIKE '201712%' GROUP BY person_id HAVING COUNT(*) = 3 ) SELECT s.name FROM suspects s JOIN concert c ON s.id = c.person_id;

Hasil: Miranda Priestly 🏆
📌 Otak di balik pembunuhan!
🧠 Proses Berpikir Problem Solver

Identifikasi masalah → Pembunuhan, lokasi, waktu.
Kumpulkan petunjuk → Saksi, deskripsi pelaku.
Tentukan filter data → Membership gym, plat mobil, tanggal check-in.
Validasi tersangka → Cross-check antar tabel.
Lacak ke dalang → Gunakan petunjuk fisik & kebiasaan (konser).
Hasil akhir → Miranda Priestly terbukti sesuai semua kriteria.

🎉 Kesimpulan:
SQL bisa jadi alat investigasi yang luar biasa.
Rasanya seperti jadi detektif, tapi bukannya memeriksa TKP, kita memeriksa tabel dan relasi data.
Kalau kamu mau coba juga, langsung main di mystery.knightlab.com — siap-siap, ini bikin nagih!

Post a Comment

0 Comments