2 poin oleh GN⁺ 2025-02-14 | 1 komentar | Bagikan ke WhatsApp
  • SQLNoir adalah game belajar SQL berbasis cerita di mana pengguna membuka berkas kasus dan menelusuri database untuk menemukan petunjuk
  • Setiap kasus menyediakan ringkasan kasus, skema database, dan editor SQL bawaan sehingga pengguna dapat memeriksa tersangka dan petunjuk lewat kueri
  • Pengguna dapat berlatih berulang kali pola SQL nyata seperti filtering, join, agregasi, dan subkueri dalam proses memecahkan kasus
  • Dapat langsung dimulai tanpa instalasi atau pengaturan lingkungan terpisah, dan progres ditunjukkan lewat XP serta jumlah kasus yang berhasil diselesaikan
  • Kasus pemula membahas dasar-dasar, sementara kasus lanjutan menuntut join hierarkis dan kondisi yang lebih rumit, sehingga cocok untuk developer, analis data, pelajar, dan pengajar

Mempelajari SQL sambil Memecahkan Kasus

  • SQLNoir menempatkan pengguna ke dalam investigasi berbasis cerita dan menyediakan ringkasan kasus serta skema database secara bersamaan
  • Pengguna menjalankan kueri SQL di editor bawaan untuk menghubungkan tabel, menyingkirkan tersangka, dan memverifikasi alibi
  • Pola SQL yang dipraktikkan dalam alur kasus mencakup
    • filtering
    • join
    • agregasi
    • subkueri
  • Tanpa instalasi atau pengaturan tambahan, pengguna bisa langsung membuka berkas kasus dan menyelidiki data

Progres dan Sasaran Pembelajar

  • XP dan jumlah kasus yang diselesaikan menunjukkan progres
  • Kasus pemula dirancang untuk mempelajari dasar-dasar SQL, sementara kasus lanjutan menuntut join hierarkis dan kondisi yang lebih menantang
  • Cocok untuk pengguna berikut
    • developer yang ingin melatih dasar SQL dan join secara langsung
    • analis data yang mempersiapkan wawancara dengan skenario kueri yang realistis
    • pelajar yang belajar lebih cepat lewat cerita dan umpan balik instan dibanding materi ajar yang kering
    • pengajar yang mencari tugas latihan SQL tanpa mengharuskan peserta menyiapkan lingkungan

1 komentar

 
GN⁺ 2025-02-14
Opini Hacker News
  • Menarik dan saya suka
    Menambahkan beberapa hal: pada kasus pertama, kolom input submit kurang jelas apakah harus diisi nama atau ID tersangka
    Akan bagus kalau ada tombol “salin ke catatan” pada hasil keluaran, dan juga dokumentasi tentang fungsi apa saja yang tersedia atau dialek SQL apa yang dipakai
    Belajar sambil benar-benar memecahkan proyek kecil jauh lebih mudah, jadi ini terlihat seperti pendekatan yang cukup bernilai

    • Sepertinya diimplementasikan secara umum, dan apa yang harus dikirim tertulis di bagian Objectives
      Dari sudut pandang pengguna, karena ini game detektif, saya tentu menyimpulkan yang diminta adalah nama “tersangka”
  • Benar-benar menyenangkan
    Sebagai perbaikan kecil, akan bagus jika bisa mengunduh database SQLite secara langsung lalu melakukan query dengan aplikasi pilihan sendiri, sementara situs hanya dipakai untuk briefing, catatan, dan submit
    Selain itu, kalau disebut untuk “belajar SQL”, rasanya perlu sedikit lebih banyak panduan atau contoh query
    Dalam kondisi sekarang, kalau tidak tahu SQL, orang mudah sekali benar-benar tersesat tentang apa yang harus dilakukan; ini memang alat yang keren, tetapi sebagai alat belajar masih belum sepenuhnya pas

  • Tambahan yang bagus untuk bidang yang pilihannya tidak banyak
    Yang terlintas adalah SQL Island(https://sql-island.informatik.uni-kl.de) dan SQL Murder Mystery(https://mystery.knightlab.com); pendekatan SQL Noir lebih dekat ke yang terakhir, yaitu petualangan mandiri yang tidak terlalu diarahkan
    Saya sedang membuat engine game SQL bernama SQLab, yang bisa menambahkan latihan ke database dasar mana pun untuk membuat petualangan mandiri yang terarah: https://github.com/laowantong/sqlab
    Dump database bisa diunduh dan saat ini dapat dimainkan di MySQL, SQLite, dan Postgres dengan antarmuka admin apa pun
    Di halaman yang sama juga ada tautan ke investigasi polisi panjang yang dirancang untuk mahasiswa Prancis, dan jika Anda guru atau peneliti, prinsip SQLab dijelaskan di sini: https://arxiv.org/abs/2410.16120

  • Mengingatkan saya pada MathNet yang saya tonton waktu kecil
    Itu serial investigasi polisi edukatif bergaya Dragnet, dengan dua penyidik yang membawa kalkulator seperti pistol di sarungnya
    https://en.m.wikipedia.org/wiki/Mathnet

  • Saya suka, gayanya unik sekaligus keren
    Ini terasa seperti awal dari cara yang menyenangkan untuk belajar, berlatih, dan mengingat kembali SQL
    Beberapa hal: akan lebih baik jika ada satu ruang kerja tanpa tab. Saat ini harus terus bolak-balik antar-tab
    Akan bagus kalau query SQL sebelumnya dan hasilnya bisa disimpan; saat ini saya menyalin hasil ke catatan
    Sepertinya fitur ini akan makin penting saat kasusnya menjadi lebih kompleks

    • Catatan yang bagus
      Saya baru saja mengimplementasikan tampilan berdampingan agar dua tab bisa dilihat sekaligus, semoga membantu
      Seperti yang disarankan pengguna lain, query juga bisa disimpan di catatan, atau dikomentari di editor
    • Setiap kali menyalin query dan hasil ke bagian catatan, saya membayangkan diri saya mencatat di flip notepad di TKP
      Tinggal pakai topi, lalu mengatakan “faktanya saja, Bu” beberapa kali, dan lengkap sudah
  • Idenya bagus, tetapi imersi UI hampir tidak ada
    Untuk meningkatkan imersi, perlu autocomplete, kemampuan melihat skema dan query bersamaan di layar lebar, serta cara mudah menyalin nama tabel dan kolom dengan sekali klik
    Khususnya nama tabel bahkan tidak bisa dipilih
    Jangan hanya memungkinkan menimpa query yang sudah dijalankan; akan lebih baik jika bisa terus menambahkan query baru di atas atau di bawah query yang sudah dijalankan

    • Saya sebagian besar setuju, tetapi menurut saya autocomplete sebaiknya menjadi fitur tersembunyi atau dinonaktifkan secara default
      Karena itu mengurangi imersi, dan juga mengurangi bagian yang seharusnya diingat sendiri
      Mungkin boleh jika diaktifkan di new game plus
    • Terima kasih atas sarannya
      Saya baru saja mengimplementasikan tampilan Side by Side untuk membuka dua tab berbeda sekaligus, serta tombol untuk menyalin nama tabel
    • Akan sangat berguna kalau blok kode bisa dikomentari dengan command-/
  • Ide yang benar-benar bagus, dan memecahkan kasusnya menyenangkan
    Untuk programmer junior, mungkin versi komik akan membantu
    Editor SQL kadang berperilaku aneh sehingga membuat saya tidak bisa menulis dengan benar

  • Saat mencoba menambahkan komentar di editor, perilakunya aneh
    Cara mereproduksinya adalah menulis beberapa baris lalu menambahkan -- di depan tiap baris untuk mengomentarinya satu per satu
    Misalnya setelah menulis select i.*, s.*, from interviews i, join suspects s, on s.id = i.suspect_id, begitu menambahkan -- juga di depan from interviews i, baris itu pindah ke baris sebelumnya dan syntax highlighting rusak

    • Betul
      Sepertinya saya baru saja memperbaiki bug ini
  • Saya ingat saat kuliah, pengajar pernah memberi tautan ke minigame memecahkan kriminal yang mirip dengan ini untuk latihan SQL
    Saya cukup tenggelam di dalamnya, sampai mencoba mencari solusi satu baris yang paling efisien
    Terima kasih sudah membuatnya; sepertinya saya akan membagikan ini kepada orang-orang yang ingin belajar SQL

  • Cukup menyenangkan, saya mencoba dua misteri gratis dan rasanya memuaskan saat berhasil memecahkannya
    Kekurangan kecilnya adalah akan bagus jika editor SQL mendukung komentar
    Jika bisa mengomentari query lama sebelum menjalankan query baru agar histori tetap tersimpan, itu akan praktis, terutama ketika perlu menjalankan query yang sama lagi

    • Seharusnya bisa mengomentari baris query dengan menambahkan --
      Kalau tidak bisa, berarti itu bug dan akan saya selidiki
      Tab Notes juga bisa digunakan untuk menyimpan query lama dan temuan