Menggabungkan DNS Filtering dan Machine Learning untuk Memblokir Situs Judi Online

Awalnya selalu terlihat sederhana.

Seseorang membuka sebuah situs. Mencoba satu kali. Kadang menang sedikit di awal. Mencoba lagi. Kalah. Mencoba lagi karena rasanya hampir menang. Lalu uang mulai berkurang. Dan ketika uang sendiri tidak lagi cukup, masalahnya berpindah ke tempat lain: ke pinjaman, ke utang, ke hal-hal yang tidak pernah direncanakan pada saat pertama kali membuka situs itu.

Saya tidak menyusun pola itu dari laporan penelitian. Saya menuliskannya karena saya melihat sendiri bagaimana pola semacam itu berjalan di lingkungan saya. Beberapa orang yang saya kenal mengalami masalah dengan judi online, dan pada sebagian dari mereka dampaknya berkembang menjadi persoalan finansial, termasuk sampai terjerat pinjaman online.

Saya tidak akan menceritakan detailnya. Itu bukan cerita saya untuk dibagikan, dan mereka tidak pantas menjadi bahan tulisan siapa pun. Yang ingin saya sampaikan hanya ini: bagi saya, judi online bukan isu yang saya kenal dari layar berita. Saya mengenalnya dari jarak yang cukup dekat untuk membuat saya tidak nyaman.

Dari rasa tidak nyaman itu muncul satu pertanyaan yang terus mengganggu saya. Bukan pertanyaan besar tentang moral atau kebijakan, karena saya tidak punya kapasitas untuk itu. Pertanyaannya jauh lebih kecil dan lebih personal:

Kalau satu-satunya keahlian yang saya punya ada di bidang teknologi, apa sebenarnya yang bisa saya lakukan?

Artikel ini adalah cerita tentang bagaimana saya mencoba menjawab pertanyaan itu, dan mengapa jawabannya ternyata jauh lebih rumit dari yang saya kira.

Catatan sebelum melanjutkan

Tulisan ini membahas penelitian yang masih berada pada tahap proposal, yang saya ajukan untuk seminar proposal skripsi pada Mei 2026. Sistemnya belum dibangun, belum diuji, dan belum memiliki hasil apa pun. Tidak ada angka akurasi di artikel ini, karena memang belum ada. Yang ada baru rancangan dan sejumlah pertanyaan yang ingin saya cari jawabannya.

Ternyata masalahnya jauh lebih besar dari lingkungan saya

Langkah pertama yang saya lakukan bukan membuka editor kode. Saya mencari data. Saya ingin tahu apakah yang saya lihat di sekitar saya hanya kebetulan, atau memang bagian dari sesuatu yang jauh lebih besar.

Jawabannya cukup membuat saya terdiam.

Pusat Pelaporan dan Analisis Transaksi Keuangan (PPATK) mencatat perputaran dana judi online di Indonesia sepanjang 2025 mencapai Rp286,84 triliun dalam 422,1 juta transaksi. Angka itu sebenarnya turun sekitar 20 persen dibanding 2024 yang mencapai Rp359,81 triliun. Tetapi yang membuat saya berhenti bukan nominalnya, melainkan satu baris lain di laporan yang sama: 12,3 juta orang tercatat melakukan deposit judi online melalui bank, dompet elektronik, dan QRIS (PPATK, Januari 2026).

Dua belas juta tiga ratus ribu orang. Angka sebesar itu sulit saya bayangkan, dan saya tidak akan mencoba mendramatisasinya. Yang saya tahu hanya satu hal: beberapa orang yang saya kenal ada di dalam kategori itu.

Dan jumlahnya bukan menurun. PPATK mencatat jumlah pemain yang teridentifikasi naik dari sekitar 9,7 juta orang pada 2024 menjadi 12,3 juta pada 2025. Perputaran uangnya turun, tetapi orang yang terlibat justru bertambah.

Bagian yang paling sulit saya terima adalah data tentang anak-anak. Sepanjang 2025, PPATK menyampaikan temuan sekitar 103,1 ribu anak dan remaja yang terhubung dengan transaksi judi online, dengan puluhan ribu di antaranya berusia di bawah 11 tahun (CNN Indonesia, Juli 2026). PPATK sendiri menegaskan bahwa pemain judi online secara umum masih didominasi kelompok usia produktif, jadi angka ini bukan berarti anak-anak adalah mayoritas pemain. Tetapi keberadaan puluhan ribu anak di dalam sistem yang sama tetap sulit dianggap wajar.

Satu angka yang hampir saya salah baca

Data Semester I 2026 menunjukkan pola yang lebih halus, dan di sinilah saya nyaris membuat kesalahan.

Dalam siaran persnya pada 4 Agustus 2026, PPATK mencatat perputaran dana judi online periode Januari sampai Juni 2026 sebesar Rp86,82 triliun, turun sekitar 12,9 persen dibanding periode yang sama tahun sebelumnya. Sementara itu jumlah transaksi yang teridentifikasi meningkat sekitar 167,2 persen, dari 174,90 juta menjadi 467,32 juta transaksi (PPATK, Agustus 2026).

Angka 167,2 persen itu sangat menggoda untuk dikutip sebagai bukti bahwa aktivitas judi online sedang meledak. Masalahnya, PPATK sendiri menahan tafsir semacam itu. Di siaran pers yang sama, PPATK menjelaskan bahwa kenaikan tajam pada frekuensi transaksi "tidak serta-merta hanya menunjukkan pertumbuhan aktivitas judi online", dan juga mencerminkan kemampuan deteksi transaksi keuangan mencurigakan yang semakin optimal. Kesimpulan PPATK: peningkatan itu perlu dipahami sebagai kombinasi antara perubahan pola pelaku dan membaiknya kemampuan sistem keuangan menangkap aktivitas mencurigakan.

Jadi satu angka itu bercerita tentang dua hal sekaligus. Sistem deteksinya membaik, dan pola transaksi pelaku berubah. Keduanya benar, dan tidak satu pun dari keduanya bisa saya pakai sendiri untuk menyimpulkan bahwa aktivitasnya naik sebesar itu.

Kalau saya butuh bukti yang lebih sulit dibantah bahwa aktivitas ini nyata dan bergerak cepat, angka lain di laporan yang sama jauh lebih berguna. Pada periode pertengahan Juni sampai Juli 2026, PPATK mengidentifikasi deposit perjudian online terkait Piala Dunia senilai Rp1,02 triliun dalam 6.001.352 transaksi. Terhadap aktivitas itu, PPATK menghentikan sementara transaksi pada 2.815 rekening dengan total saldo Rp325,43 miliar.

Enam juta transaksi deposit dalam waktu sekitar satu bulan, mengikuti satu turnamen sepak bola. Itu bukan angka yang bergantung pada tafsir. Itu uang yang benar-benar masuk.

Pola depositnya juga bergeser. Sepanjang Semester I 2026, deposit melalui QRIS mencapai Rp12,36 triliun atau 56,04 persen dari total nominal deposit, dan mencakup 87,66 persen dari seluruh frekuensi transaksi deposit. PPATK menilai jaringan judi online terus beradaptasi dengan memecah transaksi ke nominal yang lebih kecil dan frekuensi yang lebih tinggi. Lembaga itu juga menegaskan bahwa dominasi QRIS tidak boleh dibaca sebagai persoalan pada QRIS-nya. Yang bermasalah adalah penyalahgunaan merchant dan identitas oleh jaringan tersebut.

Saya membaca semua itu dan menyadari sesuatu yang tidak nyaman: ini bukan masalah teknis yang sedang berjalan menuju selesai. Ini masalah yang sedang beradaptasi.

Sebelum mengkritik, saya perlu tahu apa yang sudah dilakukan

Sebelum penelitian ini, saya sempat punya asumsi yang malas: bahwa masalah ini masih besar karena tidak ada yang serius menanganinya. Riset yang saya lakukan memaksa saya membuang asumsi itu.

Kementerian Komunikasi dan Digital menyatakan telah menindak sekitar 3,7 juta situs dan konten bermuatan judi online dalam periode 20 Oktober 2024 hingga 12 Juli 2026 (ANTARA, Juli 2026). Pada periode 1 sampai 28 Juni 2026 saja, Komdigi menangani 126.180 konten, dengan 111.279 di antaranya berupa situs web (RRI, Juni 2026). Kalau dibagi rata, itu sekitar 4.500 konten setiap hari, selama 28 hari berturut-turut. Saya kesulitan menyebut itu sebagai kerja setengah hati.

Penindakannya juga tidak berhenti di konten. Bersama OJK, Bank Indonesia, dan aparat penegak hukum, pemerintah menyatakan telah menutup sekitar 32.500 rekening bank yang berkaitan dengan aktivitas judi online.

Yang paling menarik bagi saya justru pengakuan pemerintah sendiri. Dalam OJK Banking Forum 2026, Menteri Komunikasi dan Digital Meutya Hafid menyatakan bahwa pemberantasan judi online tidak cukup jika berhenti pada pemutusan akses situs saja, dan harus menyasar keseluruhan ekosistemnya, mulai dari aliran dana, identitas pelaku, hingga penegakan hukum (Siaran Pers Kemkomdigi, Juli 2026).

Pendekatan itu kini punya dasar kelembagaan yang lebih kuat. Pada 4 Juni 2026, DPR mengesahkan revisi Undang-Undang Pengembangan dan Penguatan Sektor Keuangan, yang salah satu materinya adalah pembentukan Satuan Tugas Pencegahan dan Penanganan Pinjaman Daring serta Perjudian Daring (ANTARA, Juni 2026). Sebelumnya, satgas judi daring berdiri di atas Keputusan Presiden Nomor 21 Tahun 2024. Perpindahan dasar hukum dari keputusan presiden ke undang-undang bukan perubahan kosmetik, karena mandat undang-undang tidak ikut berganti setiap kali pemerintahan berganti.

Bahkan PPATK, dalam siaran pers yang saya kutip tadi, menyampaikan apresiasi kepada Komdigi yang terus mempersempit ruang promosi dan akses terhadap konten judi online.

Jadi kalau ada yang menulis bahwa pemerintah tidak melakukan apa-apa, tulisan itu salah. Upayanya ada, skalanya besar, dan strateginya sudah bergerak dari sekadar menutup situs menuju memutus aliran dana.

Tetapi justru di situlah letak kritik saya, dan saya ingin menyampaikannya dengan hati-hati.

Perhatikan bentuk pekerjaannya, bukan hanya besarnya. 3,7 juta konten ditindak dalam kurun kurang dari dua tahun. 126.180 konten dalam 28 hari. Angka-angka itu besar, dan justru karena besarnya, ada satu pertanyaan yang sulit dihindari: mengapa jumlah yang harus ditindak setiap bulan tidak menunjukkan tanda-tanda mengecil?

Saya tidak bisa membuktikan hubungan sebab-akibatnya, dan saya tidak akan berpura-pura bisa. Tetapi ada satu penjelasan yang paling sederhana: konten dan domain baru diproduksi setidaknya secepat proses pencatatan dan penindakan berjalan. Selama itu terjadi, penindakan yang mengandalkan daftar akan selalu bekerja dari posisi tertinggal — bukan karena pelaksananya lambat, tetapi karena ia hanya bisa bergerak setelah ada sesuatu untuk dicatat.

Temuan Piala Dunia tadi memperlihatkannya dalam skala waktu yang sangat pendek. Sebuah turnamen dimulai, dan dalam hitungan pekan ada jutaan transaksi deposit yang mengikutinya. Kecepatan adaptasi seperti itu adalah lawan yang berbeda dari apa yang bisa dikejar oleh proses pencatatan manual.

Kejar-kejaran dengan domain

Sebagai orang teknis, saya kemudian ingin memahami bagian yang paling dekat dengan keahlian saya: bagaimana sebenarnya mekanisme pemutusan akses itu bekerja?

Di Indonesia, pemblokiran konten negatif dijalankan melalui basis data yang dikelola pemerintah, dikenal publik sebagai TrustPositif. Penyedia layanan internet mengintegrasikan daftar tersebut ke server DNS mereka, sehingga ketika seseorang meminta sebuah domain yang ada di daftar, jawaban yang diberikan bukan alamat asli situs itu, melainkan pengalihan ke halaman pemblokiran. Secara teknis, salah satu implementasi yang umum digunakan adalah Response Policy Zone pada DNS server, di mana server ISP menerima pembaruan daftar dari server pemerintah (studi implementasi DNS filtering berbasis RPZ).

Ketika saya memahami ini, ada satu hal yang membuat saya berhenti agak lama.

Mekanisme yang sudah berjalan hari ini pada dasarnya adalah DNS filtering berbasis daftar. Dan sifat mendasar dari sebuah daftar adalah: ia hanya mengenali apa yang sudah pernah dicatat.

Ini bukan kelemahan implementasi. Ini konsekuensi logis dari cara kerja daftar itu sendiri. Sebuah domain baru bisa didaftarkan, dipromosikan, dipakai, lalu ditinggalkan, seluruhnya di dalam jendela waktu sebelum domain itu masuk daftar blokir. Selama jendela itu terbuka, tidak ada mekanisme teknis di lapisan DNS yang bisa mengatakan apa pun tentangnya, karena bagi sistem, domain itu sekadar "tidak ada di daftar".

Sempat saya pikir tata kelola domain bisa menutupnya dari hulu

Sebelum melanjutkan, ada satu gagasan lain yang sempat saya kejar. Kalau masalahnya adalah domain baru yang terus muncul, apakah pengelolaan domain yang lebih ketat bisa menutup masalahnya dari hulu?

Saya perlu jujur bahwa ini gagasan saya sendiri, bukan usulan berbasis kajian hukum. Dan setelah saya periksa, gagasan itu tidak bertahan lama.

Pengelolaan nama domain di Indonesia diatur melalui Peraturan Menteri Komunikasi dan Informatika Nomor 23 Tahun 2013 tentang Pengelolaan Nama Domain, yang menempatkan pengelolaan pada Registri dan Registrar Nama Domain, dengan penetapan pengelola dilakukan oleh Menteri berdasarkan rekomendasi Forum Nama Domain Indonesia (JDIH Kemkomdigi). Untuk nama domain tingkat tinggi Indonesia, registrinya adalah PANDI (Laporan PANDI).

Di situlah gagasan saya berhenti. Kewenangan itu melekat pada .id dan turunannya. Domain dengan ekstensi internasional seperti .com atau .net tidak berada di bawah registri Indonesia, dan didaftarkan melalui registrar di luar yurisdiksi Indonesia.

Saya tidak memiliki data mengenai ekstensi domain apa yang sebenarnya paling banyak dipakai situs judi online, jadi saya tidak akan mengklaim proporsinya. Yang bisa saya katakan hanya soal batas kewenangan: memperkuat tata kelola domain nasional, seberapa pun baiknya, tidak menjangkau domain yang berada di luar registri Indonesia. Dan celah teknis yang saya bicarakan tadi tidak mengenal batas yurisdiksi.

Saya memilih tetap menuliskan gagasan ini beserta bantahannya, karena menurut saya justru itu bagian yang jujur dari sebuah proses berpikir. Tidak semua ide yang terdengar masuk akal bertahan setelah diperiksa.

Pertanyaan yang akhirnya saya ambil

Di sini saya harus jujur tentang batas kritik saya. Pemerintah tidak sedang mengabaikan persoalan ini, dan pengakuan bahwa pemblokiran situs saja tidak cukup justru menunjukkan sebaliknya. Yang saya pertanyakan bukan kesadarannya, tetapi konsekuensinya: jika lapisan pemutusan akses tetap dibutuhkan sebagai pertahanan pertama, apakah lapisan itu harus selamanya bersifat statis?

Itulah pertanyaan yang akhirnya menjadi titik masuk penelitian saya. Bukan menggantikan apa pun. Bukan mengklaim tahu lebih banyak dari lembaga yang menangani ini setiap hari. Hanya satu pertanyaan sempit tentang satu lapisan teknis yang kebetulan bisa saya pelajari dengan laptop dan waktu yang saya punya.

Petugas di pintu masuk

Sebelum masuk lebih jauh, saya perlu menjelaskan DNS filtering dengan cara yang lebih sederhana, karena seluruh ide penelitian saya berdiri di atas konsep ini.

Setiap kali kita membuka sebuah situs, ada satu proses yang berjalan di balik layar sebelum apa pun ditampilkan. Nama domain yang kita ketik harus diterjemahkan menjadi alamat IP yang dipahami komputer. Penerjemah itulah yang disebut DNS, Domain Name System.

Bayangkan DNS sebagai petugas di pintu masuk sebuah gedung. Setiap orang yang datang menyebutkan nama, dan petugas itu mengecek daftar di tangannya:

  • Ada whitelist, daftar nama yang sudah dipercaya dan boleh langsung masuk.
  • Ada blacklist, daftar nama yang diketahui bermasalah dan harus ditolak.

Selama nama yang datang ada di salah satu daftar, pekerjaan petugas itu mudah dan cepat. Keputusan diambil di pintu, sebelum orang itu masuk ke dalam gedung.

Alasan saya tertarik pada pendekatan ini bukan karena terdengar canggih. Justru sebaliknya. DNS filtering menarik karena relatif sederhana. Ia bekerja di level jaringan, sehingga tidak perlu memasang aplikasi khusus di setiap perangkat pengguna. Keputusannya diambil lebih awal, sebelum koneksi ke server tujuan terjadi. Dan ia bisa diterapkan di lingkungan kecil seperti jaringan rumah, sekolah, kampus, atau kantor, tanpa infrastruktur berskala operator.

Beberapa penelitian yang menjadi referensi saya menunjukkan hal ini secara praktis. Ada yang mengimplementasikan DNS filtering pada perangkat papan tunggal berukuran kecil untuk memblokir situs terlarang di jaringan lokal, dan ada yang menggunakannya untuk mengamankan jaringan WiFi dari situs judi dan pornografi. Keduanya menguji pada lingkungan yang terbatas, jadi hasilnya menunjukkan bahwa pendekatan ini bisa dijalankan dengan sumber daya kecil, bukan bahwa ia efektif pada skala apa pun.

Batas yang harus saya sebut sekarang, bukan di bagian penutup

Ada satu keterbatasan DNS filtering yang terlalu mendasar untuk saya simpan sampai akhir tulisan.

Kembali ke analogi gedung tadi. Petugas di pintu hanya berguna kalau semua orang memang lewat pintu itu. Dalam kasus DNS, pengguna bisa memilih pintu lain.

Perangkat kita biasanya memakai resolver DNS yang diberikan oleh jaringan tempat kita tersambung. Tetapi pengaturan itu bisa diubah. Pengguna dapat mengarahkan perangkatnya ke resolver publik yang dikelola pihak lain, misalnya milik Google atau Cloudflare. Selain itu ada protokol yang membungkus permintaan DNS di dalam lalu lintas terenkripsi, dikenal sebagai DNS-over-HTTPS dan DNS-over-TLS, sehingga permintaan tersebut tidak lagi melewati jalur resolusi yang dikendalikan jaringan.

Saya tidak akan membahas caranya, karena bukan itu maksud tulisan ini. Yang penting adalah konsekuensinya: jika seseorang bebas memindahkan jalur resolusi DNS-nya, filtering pada satu resolver tertentu berhenti menjadi penghalang.

Ini mengubah cara saya memposisikan penelitian saya sendiri. Sistem seperti ini tidak masuk akal dibayangkan sebagai kontrol atas seluruh internet. Yang realistis adalah lingkungan di mana administrator memang punya kendali atas jalur resolusi DNS, seperti jaringan rumah, sekolah, kampus, kantor, atau laboratorium. Di lingkungan seperti itu, DNS filtering masih relevan sebagai lapisan bawaan. Di luar itu, ia mudah dilewati oleh siapa pun yang tahu apa yang ia lakukan dan memang berniat melakukannya.

Dengan batas itu terpasang di tempatnya, saya bisa kembali ke pertanyaan yang membuat penelitian ini ada. Sebab di dalam lingkungan yang dikendalikan pun, petugas di pintu masuk tadi masih menghadapi satu pertanyaan yang tidak bisa dijawab oleh daftar mana pun:

Bagaimana jika orang yang datang belum pernah tercatat di daftar mana pun?

Dalam sistem berbasis daftar, jawabannya default: teruskan saja. Dan tepat di celah itulah domain-domain baru bekerja.

Bagaimana kalau petugas itu bisa belajar mengenali pola?

Pertanyaan lanjutan yang muncul di kepala saya kira-kira begini: seorang petugas yang berpengalaman sebenarnya tidak hanya mengandalkan daftar. Setelah bertahun-tahun bekerja, ia mulai mengenali ciri-ciri. Ia mungkin tidak mengenal orang di depannya, tetapi ada sesuatu dari cara orang itu datang yang terasa familier, mirip dengan pola yang pernah ia lihat sebelumnya.

Apakah sesuatu seperti itu bisa dibangun untuk domain?

Dari pertanyaan inilah machine learning masuk ke dalam penelitian saya, bukan karena ia teknologi yang sedang populer, tetapi karena bentuk masalahnya memang cocok. Perbedaannya bisa saya ringkas dalam dua kalimat:

  • DNS filtering berbasis daftar berkata: "Saya sudah mengenal domain ini."
  • Machine learning berkata: "Saya belum mengenal domain ini, tetapi karakteristiknya mirip dengan pola yang pernah saya pelajari."

Kalimat kedua itu bukan jaminan kebenaran. Itu hanya dugaan berbasis pola, dan saya akan kembali ke keterbatasannya nanti. Tetapi dugaan berbasis pola adalah sesuatu yang tidak dimiliki oleh daftar statis sama sekali.

Yang saya rancang

Dari alur berpikir itu, saya menyusun rancangan sistem yang menempatkan DNS server sebagai titik kontrol, dengan satu lapisan tambahan untuk domain yang belum dikenal.

Rancangan alurnya seperti ini:

  1. Pengguna memasukkan domain di browser, dan permintaan itu dikirim ke DNS server sistem.
  2. Sistem memeriksa whitelist. Jika domain ada di sana, akses langsung diizinkan.
  3. Sistem memeriksa blacklist. Jika domain ada di sana, akses diblokir.
  4. Jika domain tidak ditemukan di kedua daftar, permintaan tidak langsung diteruskan. Di sinilah analisis machine learning dijalankan.
  5. Sistem mengumpulkan dua hal: karakteristik nama domain itu sendiri, dan konten HTML dari halaman webnya.
  6. Jika model mengklasifikasikannya sebagai situs judi online, domain ditambahkan ke blacklist dan akses diblokir.
  7. Jika tidak, permintaan diteruskan ke DNS eksternal dan pengguna dapat mengakses situs tersebut.

Inti gagasannya ada di langkah keenam. Blacklist tidak lagi hanya diisi dari luar; ia bisa bertambah dari hasil pengamatan sistem itu sendiri. Setidaknya, itulah yang saya rancang. Apakah benar bekerja seperti itu dalam praktik, belum saya ketahui.

Persoalan yang belum saya pecahkan: waktu

Ada satu masalah dalam rancangan itu yang tidak bisa saya lewati tanpa menyebutnya, dan saya belum punya jawabannya.

Perhatikan langkah kelima dan keenam. Untuk mengklasifikasi domain yang belum dikenal, sistem perlu mengambil konten halaman webnya, membersihkannya, mengubahnya menjadi angka, lalu menjalankan model. Sementara itu, permintaan DNS yang memicu seluruh rangkaian tadi sedang menunggu jawaban.

Resolusi DNS adalah proses yang diharapkan selesai dalam waktu sangat singkat. Mengambil dan memproses sebuah halaman web tidak. Kalau seluruh analisis itu diletakkan di dalam jalur yang menahan jawaban DNS, hasilnya berpotensi terlalu lambat untuk dipakai. Browser bisa menyerah lebih dulu, atau pengalaman menjelajah menjadi tidak wajar.

Saya tidak akan berpura-pura masalah ini sudah selesai. Ini pertanyaan desain yang masih terbuka, dan menurut saya justru salah satu bagian paling penting dari penelitian ini. Beberapa kemungkinan yang perlu saya uji:

  • menjalankan analisis secara asinkron, sehingga permintaan pertama tetap dijawab cepat sementara klasifikasi berjalan di belakang;
  • menyimpan hasil klasifikasi, sehingga model hanya dipanggil sekali per domain dan keputusan berikutnya diambil dari cache;
  • menerima bahwa akses pertama ke sebuah domain baru mungkin lolos, lalu menargetkan pemblokiran pada akses-akses sesudahnya;
  • membatasi analisis di jalur cepat hanya pada fitur yang murah dihitung, misalnya karakteristik nama domain, dan memakai konten HTML di jalur yang tidak menahan jawaban.

Setiap pilihan itu punya konsekuensinya sendiri. Yang ketiga, misalnya, berarti sistem secara sadar menerima adanya kebocoran pada akses pertama. Saya belum menguji satu pun dari kemungkinan tersebut, jadi saya belum bisa mengatakan mana yang layak dipakai.

Apa yang dilihat oleh model

Rencananya, model bekerja dengan dua sumber informasi. Yang pertama adalah fitur domain, yaitu pola pada nama domain dan struktur URL-nya. Yang kedua adalah konten HTML, yaitu teks yang diekstraksi dari halaman web tersebut.

Persoalannya, algoritma tidak bisa langsung memproses teks mentah. Teks perlu diubah menjadi angka lebih dulu. Untuk itu saya berencana menggunakan TF-IDF (Term Frequency – Inverse Document Frequency), sebuah metode yang mengukur seberapa penting sebuah kata dalam satu dokumen relatif terhadap kumpulan dokumen lainnya.

Logikanya cukup intuitif. Sebuah kata yang sering muncul di satu halaman akan mendapat bobot tinggi, tetapi bobotnya menurun jika kata itu juga sering muncul di hampir semua halaman lain. Dengan begitu, kata-kata yang khas untuk suatu jenis halaman akan lebih menonjol dibanding kata-kata umum. Hasil akhirnya, setiap halaman direpresentasikan sebagai deretan angka yang bisa diproses oleh model klasifikasi.

Untuk klasifikasinya, saya memilih Random Forest. Cara kerjanya bisa dibayangkan sebagai sekumpulan pengambil keputusan yang bekerja paralel: banyak pohon keputusan dibangun selama pelatihan, masing-masing memberikan penilaiannya sendiri, lalu hasil akhirnya ditentukan berdasarkan suara terbanyak.

Alasan saya memilihnya cukup praktis. Random Forest relatif baik dalam menangani data dengan jumlah fitur yang banyak, dan output TF-IDF memang menghasilkan sangat banyak fitur. Ia juga relatif lebih tahan terhadap overfitting dibanding satu pohon keputusan tunggal, dan cukup ringan untuk dilatih pada skala penelitian mahasiswa dengan satu laptop.

Data dan tahapan yang direncanakan

Dataset yang saya rencanakan terdiri dari dua kelas: domain yang terindikasi sebagai situs judi online, dan domain normal. Sumbernya dari dataset publik, daftar blacklist domain yang tersedia, serta observasi terhadap domain yang terindikasi.

Tahapan penelitiannya saya susun sebagai berikut: pengumpulan data domain, preprocessing (penghapusan duplikasi, normalisasi format URL, pelabelan, dan transformasi data), pelatihan model, evaluasi model, integrasi model dengan sistem DNS filtering, lalu deployment sebagai layanan yang berjalan.

Metodenya Research and Development dengan pendekatan rekayasa sistem, dikerjakan menggunakan Python. Targetnya bukan kajian teoretis, melainkan prototipe yang benar-benar bisa diuji. Saat tulisan ini dibuat, penelitian masih berada pada tahap awal dari daftar itu.

Apakah pendekatan ini benar-benar efektif? Saya belum tahu

Bagian ini yang paling ingin saya tulis dengan jujur, karena ini juga bagian yang paling mudah untuk dilebih-lebihkan.

Saya belum tahu apakah pendekatan ini akan bekerja.

Belum ada model yang saya latih sampai selesai. Belum ada dataset final. Belum ada satu pun domain yang pernah diklasifikasi oleh sistem ini, karena sistemnya belum ada. Semua yang saya tulis di bagian sebelumnya adalah rancangan, bukan laporan.

Yang saya punya baru daftar hal yang perlu diuji. Setelah model dilatih, saya berencana mengukur performanya menggunakan metrik standar, yaitu akurasi, precision, recall, dan F1-score, dengan data testing yang terpisah dari data pelatihan.

Tetapi angka-angka itu bukan pertanyaan yang paling penting bagi saya. Pertanyaan yang sebenarnya ingin saya jawab lebih spesifik: apakah model ini bisa memberi penilaian yang berguna terhadap domain yang belum pernah ia lihat sebelumnya?

Sebuah model bisa terlihat sangat baik pada data uji dan tetap gagal pada domain yang benar-benar baru. Justru kemampuan itu — bukan skor pada dataset — yang menjadi alasan seluruh penelitian ini ada. Kalau ternyata model tidak mampu melakukannya, maka jawaban penelitian saya adalah "pendekatan ini tidak cukup", dan itu pun sebuah hasil yang sah.

Batas-batas yang saya sadari

Saya ingin menuliskan bagian ini secara terbuka, karena pendekatan teknologi paling berbahaya justru ketika keterbatasannya tidak dibicarakan.

Model bisa salah dalam dua arah. Ia bisa menandai situs yang sebenarnya aman sebagai situs judi, sebuah false positive yang berarti memblokir sesuatu yang tidak seharusnya diblokir. Ini bukan kesalahan kecil, karena ada konsekuensi nyata bagi pemilik situs dan penggunanya. Sebaliknya, ia juga bisa gagal mengenali situs judi yang sebenarnya, sebuah false negative yang memberi rasa aman keliru. Menyeimbangkan keduanya adalah bagian yang sulit, dan tidak ada titik seimbang yang sempurna.

Kualitas model tidak akan pernah melampaui kualitas datanya. Jika dataset saya hanya berisi jenis domain tertentu, model akan pandai mengenali jenis itu saja dan buta terhadap variasi lainnya. Ini bias yang nyata, dan dengan dataset berskala penelitian mahasiswa, risikonya tidak kecil.

Pihak yang dideteksi juga bisa beradaptasi. Data PPATK sendiri sudah menunjukkan pola adaptasi di sisi keuangan, yaitu nominal transaksi diperkecil dan frekuensinya diperbanyak. Tidak ada alasan berasumsi bahwa adaptasi serupa tidak akan terjadi pada level domain dan konten halaman. Domain bisa dibuat agar tampak seperti situs normal. Konten bisa disembunyikan di balik JavaScript atau ditampilkan berbeda tergantung siapa yang mengaksesnya. Setiap pola yang berhasil dipelajari model hari ini bisa menjadi pola yang sengaja dihindari besok.

Model akan menua. Karena polanya berubah, model perlu dilatih ulang secara berkala. Sistem yang dilatih sekali lalu dibiarkan akan berhenti relevan, dan ini membawa kembali persoalan pemeliharaan yang sama seperti blacklist manual, hanya dalam bentuk yang berbeda.

Selain itu, ada batasan yang saya tetapkan sendiri untuk menjaga penelitian tetap terarah. Sistem ini hanya menangani permintaan yang melewati protokol DNS pada resolver yang dikendalikan, sehingga tidak menyentuh jalur akses lain seperti VPN maupun resolver di luar jaringan yang saya bahas sebelumnya. Pemblokiran hanya melalui DNS filtering, bukan firewall, bukan deep packet inspection, bukan filtering berbasis IP. Analisisnya terbatas pada nama domain dan teks HTML, tanpa gambar atau video. Pengujiannya dilakukan di lingkungan terbatas berupa simulasi atau jaringan lokal, bukan pada skala operator.

Batasan-batasan ini realistis untuk skripsi S1 dengan sumber daya terbatas. Tetapi saya tidak ingin menyebutnya sekadar "batasan penelitian" seolah tidak berarti apa-apa. Konsekuensinya nyata: sistem semacam ini tidak akan menghentikan siapa pun yang benar-benar berniat mencari jalan masuk. Ia hanya membuat jalan itu tidak terbuka secara default.

Jadi, apakah teknologi cukup?

Tidak.

Saya ingin menulis jawaban itu tanpa kualifikasi apa pun, karena inilah kesimpulan yang paling saya yakini dari seluruh proses ini.

Kalau sistem seperti yang saya rancang berhasil bekerja dengan baik, yang ia lakukan hanyalah menutup satu pintu, di satu jenis jaringan, pada satu lapisan teknis. Ia tidak menyentuh alasan mengapa seseorang mencari pintu itu sejak awal.

Data yang saya temukan justru memperjelas hal ini. Deposit judi online kini paling banyak mengalir melalui QRIS dengan nominal kecil dan frekuensi tinggi, sesuatu yang tidak berada di wilayah DNS sama sekali. Anak-anak masuk ke dalam sistem ini pada usia yang seharusnya masih jauh dari sana.

Dan ada satu temuan lain yang tidak bisa saya lewatkan. Kementerian Sosial menyatakan telah menangguhkan penyaluran bantuan sosial kepada 1.494.652 keluarga penerima manfaat Program Sembako yang terindikasi melakukan transaksi judi online, berdasarkan pemadanan data dengan PPATK. Jumlah itu naik dari sekitar 600 ribu pada pemadanan tahun sebelumnya (ANTARA, Agustus 2026).

Angka itu perlu dibaca dengan dua catatan. Satuan datanya adalah keluarga penerima manfaat, bukan individu, sehingga ia tidak bisa langsung dibaca sebagai jumlah orang. Dan statusnya masih "terindikasi": Kemensos menyatakan sedang melakukan penelusuran dan verifikasi lanjutan, jadi penangguhan itu belum merupakan putusan bahwa penyalahgunaan sudah terbukti. Bahkan dengan dua catatan tersebut, arah angkanya tetap sulit diabaikan.

Angka seperti itu tidak berbicara tentang domain. Ia berbicara tentang tekanan ekonomi, tentang harapan menang cepat, tentang pengawasan yang tidak sampai, dan tentang rasa malu yang membuat orang memilih pinjaman online daripada bercerita kepada keluarganya.

Tidak ada model klasifikasi yang bisa menjawab hal-hal itu.

Yang bisa menjawabnya adalah lapisan-lapisan lain yang jauh lebih sulit dibangun daripada perangkat lunak: kesadaran masyarakat, literasi digital yang tidak berhenti pada slogan, keluarga yang tahu apa yang sedang terjadi pada anaknya, lingkungan sosial yang tidak menormalkan taruhan sebagai hiburan, dan penanganan kecanduan sebagai persoalan kesehatan, bukan hanya sebagai pelanggaran hukum.

Pemerintah punya peran terbesar di sini, dan peran itu jauh melampaui pemblokiran. Membangun kesadaran publik, menjangkau sekolah, menyediakan jalur pemulihan bagi mereka yang sudah terjerat, dan menutup celah di sisi sistem keuangan adalah pekerjaan yang tidak bisa digantikan oleh teknologi mana pun. PPATK sendiri menyatakan bahwa pemutusan konten digital harus berjalan bersamaan dengan pemutusan aliran dana, penguatan pengawasan penyedia jasa keuangan, serta penegakan hukum terhadap bandar dan pihak yang memfasilitasinya. Saya setuju dengan rumusan itu. Yang masih perlu dijawab adalah apakah seluruh lapisan tersebut bisa berjalan secepat pihak yang beradaptasi di sisi lain.

Saya memulai tulisan ini dari sesuatu yang jauh lebih kecil daripada semua angka tadi: rasa tidak nyaman karena melihat orang-orang di sekitar saya terjebak pada sesuatu yang tidak bisa saya hentikan.

Saya tidak punya kewenangan untuk membuat kebijakan. Saya tidak punya akses ke data nasional. Saya tidak punya kapasitas untuk menyelesaikan masalah sebesar ini, dan saya tidak akan berpura-pura sebaliknya.

Yang saya punya hanya kemampuan membaca dokumentasi, menulis kode, dan menahan diri cukup lama untuk memahami sebuah sistem sebelum berkomentar tentangnya. Maka itulah yang saya pakai. Saya mengambil satu bagian kecil dari masalah yang sangat besar, satu lapisan teknis dan satu pertanyaan sempit, lalu mencoba memeriksanya dengan serius.

Saya tidak tahu apakah kombinasi DNS filtering dan machine learning ini akan menjadi lapisan pertahanan yang berguna. Justru itulah yang ingin saya cari tahu melalui penelitian ini.

Dan kalaupun jawabannya nanti ternyata tidak, saya tetap merasa pertanyaannya layak diajukan. Judi online sedang merusak kehidupan banyak orang muda, dan selama itu terjadi, memeriksa setiap lapisan pertahanan yang mungkin rasanya pantas dilakukan. Termasuk lapisan yang kecil. Termasuk yang belum tentu berhasil. Termasuk yang hanya bisa dikerjakan oleh satu orang dengan satu laptop.

Setidaknya, itu lebih baik daripada hanya menonton.


Sumber

Data dan pernyataan resmi yang dikutip dalam artikel ini, dengan prioritas pada sumber primer:

Bagian teknis dan metodologi mengacu pada proposal penelitian saya, Pengembangan Sistem Deteksi dan Pemblokiran Situs Judi Online Berbasis DNS Filtering dan Machine Learning, Program Studi Teknik Informatika, Universitas Muhammadiyah Parepare.