Ujian sekolah di Indonesia pernah sepenuhnya bergantung pada lembar jawaban komputer dan pensil 2B. Satu bulatan yang kurang hitam bisa membuat jawaban benar terbaca salah oleh mesin pemindai. Sejak ujian berbasis komputer diperkenalkan, laboratorium sekolah perlahan menggantikan tumpukan kertas tersebut.

Perpindahan itu memunculkan kebutuhan baru. Sekolah membutuhkan perangkat lunak yang mengatur bank soal, membagi peserta ke dalam sesi, menghitung waktu pengerjaan, lalu menyimpan nilai secara otomatis. Candy CBT adalah salah satu nama yang paling sering muncul ketika operator sekolah mencari perangkat lunak semacam itu.

Namun ada satu hal yang membuat banyak orang tersesat sejak awal. Nama "Candy CBT" hari ini menunjuk ke dua barang yang berbeda, dengan harga, teknologi, dan status pengembangan yang tidak sama.

Apa Itu Candy CBT?

Candy CBT adalah aplikasi CBT (Computer Based Test, ujian berbasis komputer) buatan Indonesia yang dipakai sekolah untuk menyelenggarakan ujian secara digital. Aplikasi ini dirancang untuk penilaian tengah semester, penilaian akhir semester, ujian sekolah, hingga simulasi ujian nasional berbasis komputer.

Secara umum, aplikasi CBT adalah perangkat lunak yang memindahkan seluruh rangkaian ujian dari kertas ke layar, mulai dari penyajian soal sampai penghitungan nilai.

Satu catatan soal penamaan: aplikasi ini kerap ditulis terbalik menjadi CBT Candy, atau dirapatkan menjadi CandyCBT. Ketiganya menunjuk pada perangkat lunak yang sama.

Sasarannya institusi pendidikan, terutama sekolah dan madrasah. Aplikasi ini mendukung tiga jenjang pendidikan sekaligus, sehingga satu pemasangan bisa melayani SD, SMP, maupun SMA/SMK.

Ada empat peran pengguna yang saling terpisah. Admin mengurus data induk seperti kelas, ruang, dan sesi ujian. Guru menyusun soal serta menentukan bobot penilaian. Pengawas menjaga jalannya ujian dan membagikan token. Siswa hanya melihat halaman pengerjaan soal.

Selain ujian, Candy CBT juga membawa fungsi pembelajaran sederhana. Guru dapat mengunggah materi, memberi tugas, dan mencatat kehadiran. Cakupannya lebih sempit daripada LMS (Learning Management System) penuh seperti Moodle, tetapi cukup untuk kebutuhan harian sekolah yang fokusnya memang pada penilaian.

Dua Candy CBT yang Sering Tertukar

Ada dua produk berbeda yang sama-sama disebut Candy CBT.

Versi lama berbentuk kode sumber PHP yang beredar bebas di GitHub. Tiga repositori yang paling banyak dipakai memuat versi 2.8 r2, 2.8 r3, dan 2.9.4 R2. Dua di antaranya berlisensi MIT, salah satu lisensi open source paling longgar yang mengizinkan pemakaian dan modifikasi tanpa biaya. Pengembangannya sudah berhenti. Repositori versi 2.8 r3 terakhir diperbarui pada 7 Desember 2022 dan masih menyisakan 17 isu terbuka, sedangkan versi 2.9.4 R2 berhenti pada 12 Maret 2024. Rilis 2.8 masih menyertakan berkas install.php sebagai pemandu pemasangan awal, sementara installer tersebut tidak lagi ada di 2.9.4 R2 sehingga penyiapannya sepenuhnya manual.

Versi sekarang bernama Candy School dan sudah berbayar. Teknologinya dibangun ulang di atas CodeIgniter 4, Bootstrap 5, dan Vue.js. Di atasnya ditambahkan PWA (Progressive Web App, situs yang bisa dipasang seperti aplikasi), notifikasi dorong, serta pemindaian kode QR. Modulnya bertambah menjadi tiga: aplikasi CBT, e-learning, dan presensi dengan radius lokasi.

Harganya terbuka di situs resminya. Paket kode sumber saja dibanderol Rp 600.000, sedangkan paket lengkap dengan hosting, domain, dan dukungan dipatok Rp 3 juta per tahun. Ada pula paket acara berbasis VPS yang harganya ditanyakan langsung.

Dua versi Candy CBT: kode sumber PHP gratis di GitHub berhenti Maret 2024, dan Candy School berbayar mulai Rp 600.000.Dua versi Candy CBT: kode sumber PHP gratis di GitHub berhenti Maret 2024, dan Candy School berbayar mulai Rp 600.000.

Pemilik aplikasi mencantumkan jumlah sekolah penggunanya di halaman utama: 618 SD/MI, 1.493 SMP/MTs, dan 2.036 SMA/SMK/MA.

Situs resminya sendiri beralamat di cbtcandy.com dan kini menjadi etalase produk berbayar tersebut. Sementara itu, karena berlisensi terbuka, salinan Candy CBT di GitHub tetap bisa diunduh siapa saja sampai hari ini. Namun berhentinya pengembangan berarti apa yang beredar sebagai versi CBT Candy terbaru sebenarnya mentok di 2.9.4 R2, dan angka itu tidak akan bertambah lagi.

Perbedaan inilah yang perlu Anda pastikan lebih dulu. Ketika seseorang menyebut Candy CBT gratis, hampir pasti yang dimaksud adalah berkas PHP lama tersebut, bukan produk yang dijual hari ini.

Kebutuhan Sistem: PHP 7.4, MariaDB, dan Redis

Versi gratis punya tiga syarat teknis yang menentukan berhasil tidaknya pemasangan.

Berkas README aplikasi menyebutkan kebutuhannya secara eksplisit: PHP 7.x dengan rekomendasi PHP 7.4, dan MariaDB 10.x. Angka ini penting karena PHP 7.4 sudah berhenti mendapat dukungan keamanan sejak 28 November 2022. Layanan hosting masa kini umumnya menyajikan PHP 8.x sebagai bawaan, sehingga aplikasi ini membutuhkan penurunan versi secara manual.

Kebutuhan kedua muncul dari daftar pustaka pihak ketiga. Berkas composer.json pada versi 2.9.4 R2 memuat tiga dependensi:

JSON
{
    "require": {
        "phpoffice/phpword": "^0.17.0",
        "phpoffice/phpspreadsheet": "^1.9",
        "predis/predis": "^2.1"
    }
}

Dua yang pertama menangani impor soal dari berkas Word dan Excel. Yang ketiga, predis, adalah pustaka penghubung ke Redis — penyimpan data di memori yang dipakai sebagai cache. Artinya versi 2.9.4 mengharapkan Redis tersedia di server, sesuatu yang tidak selalu aktif di paket hosting bersama.

Untuk uji coba di komputer sendiri, aplikasi ini dijalankan di atas XAMPP atau Laragon. Keduanya adalah paket instan berisi web server Apache, database MySQL atau MariaDB, dan PHP dalam satu pemasangan.

Ada satu jalan pintas yang cukup populer di kalangan sekolah. Candy CBT juga beredar dalam bentuk VHD (Virtual Hard Disk, berkas cakram keras virtual) yang sudah berisi sistem operasi, web server, dan aplikasinya sekaligus. Berkas tersebut dijalankan lewat VirtualBox, sehingga seluruh kebutuhan versi PHP dan database tadi terbungkus di dalamnya dan tidak perlu Anda siapkan satu per satu. Konsekuensinya, isi berkas itu ikut membeku pada versi saat dibungkus, dan Anda mewarisi apa pun yang ada di dalamnya.

Cara Kerja Candy CBT Saat Ujian Berlangsung

Alur kerjanya mudah diikuti begitu Anda memahami pembagian perannya.

Guru mengisi bank soal lebih dulu, baik dengan mengetik langsung maupun mengimpor berkas Word atau Excel. Setiap butir soal menampung sampai lima opsi jawaban, dan tiap opsi bisa memuat lampiran gambar. Kunci jawaban disimpan sebagai satu huruf, sehingga skemanya menampung pilihan ganda berjawaban tunggal dan soal esai.

Admin kemudian menentukan paket ujian. Di sini diatur jumlah soal, durasi pengerjaan dalam menit, bobot nilai pilihan ganda dan esai, serta jadwal mulai dan selesai. Jumlah soal yang ditampilkan juga boleh lebih sedikit daripada isi bank soal, sehingga setiap peserta menerima kombinasi butir yang berbeda.

Peserta dibagi ke dalam kelompok ruang dan sesi. Pembagian ini yang memungkinkan sekolah dengan 40 unit komputer melayani 200 siswa dalam beberapa gelombang.

Saat ujian dimulai, pengawas membagikan token enam karakter yang punya masa berlaku. Siswa memasukkan token tersebut sebelum soal terbuka, lalu mengerjakan lewat browser biasa atau lewat aplikasi ExamBrowser Android yang ikut dibundel di dalam paket aplikasinya. Selama mengerjakan, siswa bisa menandai soal sebagai ragu-ragu untuk ditinjau ulang sebelum menekan selesai.

Nilai pilihan ganda dihitung otomatis setelah ujian berakhir. Jawaban esai tetap membutuhkan penilaian manual oleh guru.

Alur ujian Candy CBT: guru menyusun soal, admin mengatur sesi, pengawas membagi token, siswa mengerjakan, nilai otomatis.Alur ujian Candy CBT: guru menyusun soal, admin mengatur sesi, pengawas membagi token, siswa mengerjakan, nilai otomatis.

Alamat Panel Admin: /admin/ atau /panel/?

Pertanyaan tentang alamat masuk panel administrator termasuk yang paling sering muncul, dan penyebabnya sederhana: jalurnya berbeda antar versi.

Versi 2.8 r3 menaruh panel di folder admin/. Versi 2.9.4 R2 memindahkannya ke folder panel/. Jadi kalau Anda mengikuti panduan yang ditulis untuk versi berbeda, alamat yang dicoba memang tidak akan pernah terbuka.

Peta versi Candy CBT: 2.8 r3 memakai folder /admin/, sedangkan 2.9.4 R2 memakai /panel/ dan menambah kebutuhan Redis.Peta versi Candy CBT: 2.8 r3 memakai folder /admin/, sedangkan 2.9.4 R2 memakai /panel/ dan menambah kebutuhan Redis.

Saat aplikasi dijalankan di komputer sendiri, alamatnya mengikuti pola berikut. Localhost adalah nama yang selalu menunjuk balik ke komputer yang sedang Anda pakai.

TEXT
http://localhost/cbtcandy/admin/  → versi 2.8
http://localhost/cbtcandy/panel/  → versi 2.9.4

Bagian cbtcandy pada alamat di atas mengikuti nama folder tempat Anda mengekstrak berkasnya. Kalau folder itu Anda beri nama dengan spasi, alamatnya berubah menjadi localhost/candy cbt/admin dan spasi tersebut harus ditulis sebagai %20 di browser. Sebaiknya hindari spasi sejak awal.

Halaman login Candy CBT untuk siswa juga terpisah dari panel tersebut. Siswa masuk lewat halaman depan aplikasi, sedangkan admin, guru, dan pengawas memakai jalur panel.

Kalau alamatnya sudah benar tetapi tetap tidak bisa masuk, ada empat sebab yang paling sering terjadi.

  1. Tabel pengguna masih kosong. Berkas basis data yang disertakan pada versi 2.9.4 hanya berisi struktur 32 tabel tanpa satu pun baris data. Setelah diimpor, tabel pengawas — tempat akun admin, guru, dan pengawas disimpan — benar-benar kosong. Tanpa akun di dalamnya, kombinasi apa pun akan ditolak.
  2. Kata sandi bawaan berbeda dari yang Anda kira. README versi 2.8 r3 mencantumkan pasangan admin dan usbk2020, bukan admin dan admin seperti yang sering beredar.
  3. Berkas konfigurasi wajib justru tidak ikut terunduh. Repositori versi 2.9.4 R2 mencantumkan config/config.candy.php di dalam berkas .gitignore, padahal index.php, login.php, dan panel/ceklogin.php sama-sama me-require berkas tersebut. Hasil unduhan apa adanya karenanya berhenti sebelum halaman pertama sempat tampil. Berkas itu berisi konstanta nama aplikasi, nomor versi, dan nama basis data, sehingga harus Anda salin dari rilis lain lalu sesuaikan sendiri.
  4. Halaman terbuka putih tanpa pesan apa pun. Berkas konfigurasi aplikasi memuat perintah error_reporting(0) yang membungkam seluruh pesan galat PHP. Kegagalan seperti dua poin di atas karenanya tidak memunculkan keterangan, hanya halaman kosong.

Memindahkan Candy CBT dari XAMPP ke Hosting

Menjalankan aplikasi di komputer sendiri hanya melayani jaringan lokal sekolah. Untuk ujian yang dikerjakan dari rumah, aplikasinya harus pindah ke server yang bisa diakses dari internet. Pola perpindahannya mirip dengan memindahkan WordPress dari localhost ke server, dengan empat penyesuaian khas.

Empat yang diubah saat Candy CBT pindah ke hosting: kredensial basis data, blok subdomain, versi PHP 7.4, unggah berkas.Empat yang diubah saat Candy CBT pindah ke hosting: kredensial basis data, blok subdomain, versi PHP 7.4, unggah berkas.

Pertama, kredensial basis data. Berkas config/config.database.php datang dengan nilai bawaan XAMPP:

PHP
$host = 'localhost';
$user = 'root';
$pass = '';
$debe = 'candyold';

Pengguna root tanpa kata sandi tidak akan pernah diterima di server produksi. Keempat nilai tersebut harus diganti dengan data basis data yang Anda buat di panel hosting, termasuk nama basis datanya yang secara bawaan tertulis candyold.

Kedua, blok subdomain. Berkas config/config.default.php memuat dua blok kode dengan petunjuk berbahasa Indonesia di dalamnya. Satu blok aktif untuk pemasangan di dalam subfolder, satu blok lagi dinonaktifkan sebagai komentar untuk pemasangan di subdomain. Kalau aplikasi ditaruh di alamat seperti ujian.namasekolah.sch.id, Anda perlu menukar blok yang aktif dengan blok yang dikomentari.

Ketiga, versi PHP. Turunkan versi PHP ke 7.4 lewat pemilih versi di panel hosting, karena aplikasi ini tidak diuji pada PHP 8.

Keempat, pengunggahan berkas. Seluruh kode sumber diunggah lewat File Manager atau FTP, lalu berkas SQL diimpor melalui phpMyAdmin. Pastikan layanan web hosting yang Anda pakai menyediakan pemilih versi PHP dan akses phpMyAdmin, karena keduanya wajib ada untuk aplikasi ini.

Kelemahan dan Hal yang Perlu Anda Pertimbangkan

Versi gratisnya sudah berhenti dikembangkan. Pembaruan terakhir jatuh pada 2022 dan 2024, sementara isu yang dilaporkan pengguna tidak lagi ditanggapi. Aplikasi yang berhenti diperbarui berarti celah keamanan yang ditemukan setelahnya tidak akan pernah ditambal.

Kata sandi bawaannya bersifat publik. Kombinasi admin dan usbk2020 tertulis di README yang bisa dibaca siapa saja. Setiap pemasangan yang tidak segera mengganti kata sandi tersebut praktis terbuka bagi orang luar. Menggantinya adalah tindakan pertama yang harus Anda lakukan setelah pemasangan selesai.

Ada kunci enkripsi yang identik di semua pemasangan. Konstanta KEY berisi nilai tetap yang sama untuk setiap salinan, dan nilai itu tersimpan di repositori publik. Gantilah dengan deretan acak milik Anda sendiri.

Nomor versinya diumumkan di halaman login. Berkas login.php mencetak baris "Support By Candy CBT v2.8.0 r3" di bawah kotak masuk, dengan angka yang diambil dari konstanta versi aplikasi. Artinya siapa pun yang membuka halaman ujian sekolah Anda langsung mengetahui rilis persis yang dipakai, termasuk kalau rilis itu sudah lama tidak ditambal. Baris tersebut bisa Anda hapus dari templatnya tanpa mengganggu jalannya aplikasi.

Penyimpanan karakternya tidak seragam. Dari 32 tabel, 17 memakai charset latin1 dan tidak satu pun memakai utf8mb4. Tabel jawaban, tempat jawaban esai siswa disimpan, termasuk di antaranya, sehingga karakter khusus berisiko rusak.

Tipe soalnya terbatas. Kunci jawaban disimpan sebagai satu huruf saja. Skema tersebut tidak menampung tipe soal AKM seperti pilihan ganda kompleks berjawaban banyak maupun soal menjodohkan.

Tidak ada dukungan resmi untuk versi gratis. Bantuan hanya tersedia lewat tutorial dan grup komunitas. Kalau ujian bermasalah pada hari pelaksanaan, tidak ada pihak yang terikat kewajiban membantu Anda.

Kapan Candy CBT Masuk Akal, Kapan Sebaiknya Tidak

Versi gratisnya masih masuk akal dalam situasi yang cukup sempit. Ada tiga syarat yang perlu terpenuhi bersamaan.

  1. Tersedia tenaga TI sendiri: minimal satu orang yang terbiasa mengelola PHP dan basis data.
  2. Skalanya menengah: peserta di kisaran 50 sampai 300 siswa per gelombang.
  3. Ujiannya internal: nilainya tidak menentukan kelulusan.

Dalam kondisi tersebut anggarannya nyaris nol, dengan syarat waktu tenaga TI dihitung terpisah.

Sebaliknya, ada tiga kondisi yang membuat pilihan ini lebih baik dihindari. Yang pertama, sekolah tidak punya tenaga TI khusus. Yang kedua, ujiannya bersifat resmi dan menentukan nilai akhir. Yang ketiga, kebijakan sekolah melarang perangkat lunak yang sudah tidak diperbarui. Pada ketiganya, risiko yang Anda tanggung melebihi penghematannya.

Untuk kondisi tersebut ada beberapa arah lain. Paket berbayar Candy School di angka Rp 3 juta per tahun sudah mencakup hosting dan dukungan, sehingga sekolah tidak perlu mengurus server sendiri. Moodle menawarkan fungsi jauh lebih luas dengan komunitas besar dan pembaruan rutin, meskipun kurvanya lebih curam. Kalau kebutuhan Anda murni ujian dan ingin proses pemasangan yang singkat, TCExam yang dipasang melalui Softaculous bisa dijalankan hanya dengan beberapa klik.

Biayanya juga perlu dihitung utuh. Aplikasi gratis tetap membutuhkan hosting, domain, dan waktu orang, sehingga selisihnya dengan paket berbayar sering jauh lebih tipis daripada yang terlihat di awal.

Pertanyaan yang Sering Muncul

Apakah Candy CBT gratis?

Tergantung versinya. Kode sumber versi lama seperti 2.8 dan 2.9.4 tersedia bebas di GitHub dengan lisensi MIT, jadi perangkat lunaknya memang tanpa biaya. Produk yang dijual sekarang dengan nama Candy School berbayar, mulai Rp 600.000 untuk kode sumber saja.

Berapa versi Candy CBT yang paling baru?

Versi terakhir yang beredar sebagai kode sumber gratis adalah 2.9.4 R2, dengan pembaruan terakhir pada Maret 2024. Setelah itu pengembangan berpindah ke Candy School yang memakai basis kode berbeda, sehingga penomoran versi lamanya tidak dilanjutkan.

Kenapa saya tidak bisa masuk ke panel admin?

Sebab yang paling sering justru berkas config/config.candy.php yang tidak ikut terunduh, karena tercantum di .gitignore repositori versi 2.9.4. Tiga sebab lain juga umum. Jalur yang keliru antar versi (admin/ untuk 2.8, panel/ untuk 2.9.4), tabel pengawas yang masih kosong, dan kata sandi bawaan yang sebenarnya usbk2020.

Di mana bisa download Candy CBT?

Kode sumber versi gratisnya beredar di beberapa repositori GitHub milik komunitas, bukan di satu tempat resmi. Karena itu, pastikan Anda memeriksa isi repositori sebelum memakainya. Untuk versi berbayar, pembelian dilakukan langsung lewat situs resmi pengembangnya.

Apakah Candy CBT bisa dipakai tanpa internet?

Bisa. Aplikasi ini dapat dijalankan di satu komputer sekolah yang berfungsi sebagai server lokal, lalu diakses komputer lain melalui jaringan laboratorium. Internet baru dibutuhkan kalau ujian dikerjakan dari luar sekolah.

Perlukah server dengan spesifikasi besar?

Tidak untuk skala yang wajar. Aplikasi ini ringan karena hanya menyajikan halaman PHP sederhana. Yang lebih menentukan justru kestabilan jaringan laboratorium dan jumlah peserta yang mengakses secara bersamaan dalam satu sesi.

Kesimpulan

Candy CBT adalah aplikasi ujian berbasis komputer buatan Indonesia yang beredar dalam dua bentuk berbeda. Versi lamanya gratis, berlisensi MIT, dan berhenti dikembangkan pada 2024, dengan syarat PHP 7.4 yang sudah tamat masa dukungannya. Versi sekarang bernama Candy School, dibangun ulang dengan teknologi baru, dan dijual mulai Rp 600.000.

Pilihlah versi gratis kalau sekolah Anda punya tenaga TI sendiri dan ujiannya bersifat internal. Kalau ujiannya menentukan nilai akhir dan tidak ada yang bertugas menjaga server, paket berbayar atau alternatif yang masih aktif diperbarui adalah keputusan yang lebih aman.

Semoga artikel ini membantu.