Cara Install HUSTOJ (HUST Online Judge) di Ubuntu 24.04 LTS

Pengertian HUSTOJ

HUSTOJ (Huazhong University of Science and Technology Online Judge) adalah sebuah sistem penilaian otomatis (Online Judge System) yang digunakan untuk menilai hasil pemrograman secara otomatis.

Sistem ini mampu menjalankan, menguji, dan menilai kode program yang dikirimkan oleh pengguna berdasarkan kasus uji (test case) yang sudah ditentukan oleh pengelola (guru/dosen/admin).

Dengan HUSTOJ, pengguna dapat mengerjakan soal pemrograman secara online, lalu sistem akan menilai kebenaran dan efisiensi program secara otomatis, mirip dengan sistem yang digunakan pada kompetisi seperti Olympiad in Informatics (OI) atau ACM-ICPC.

 

Fungsi dan Tujuan HUSTOJ

  1. Sebagai alat evaluasi otomatis
    Menguji hasil program siswa/mahasiswa secara objektif tanpa perlu menilai manual.
  2. Sebagai media latihan pemrograman
    Siswa dapat berlatih mengerjakan berbagai soal algoritma dan logika pemrograman.
  3. Sebagai platform lomba pemrograman
    Dapat digunakan untuk mengadakan kompetisi coding (contest mode) di sekolah atau kampus.
  4. Sebagai pendukung pembelajaran
    Guru atau dosen bisa menambahkan soal, melihat hasil siswa, dan memberikan umpan balik berbasis data.

 

Cara Kerja HUSTOJ

  1. Admin / Guru membuat soal di sistem dan menyediakan input-output test case.
  2. Peserta / Siswa menulis program sesuai soal (dalam bahasa C, C++, Java, Python, dan lain-lain).
  3. Sistem HUSTOJ akan secara otomatis:
    • Meng-compile kode yang dikirim,
    • Menjalankannya dengan input tertentu,
    • Membandingkan hasil output dengan jawaban yang benar.
  4. Nilai / status hasil dikembalikan seperti:
    • Accepted → jawaban benar,
    • Wrong Answer → salah output,
    • ⚠️ Time Limit Exceeded → program terlalu lama,
    • 💥 Runtime Error → program crash.
Baca Juga  Tutorial C#  8 : Perulangan / Looping pada C#

 

Komponen Utama HUSTOJ

Komponen Fungsi
Web Interface (Frontend) Tampilan web untuk siswa, guru, dan admin.
Database (MySQL/MariaDB) Menyimpan data user, soal, hasil submission, dan contest.
Judger Daemon (Backend) Program di server yang melakukan kompilasi & penilaian otomatis.
Problem Data Folder Tempat penyimpanan test case (input/output) untuk setiap soal.

 

 

Fitur Utama HUSTOJ

  1. Berbasis web (PHP + MySQL + nginx/Apache)
  2. Multi-user (Admin, Teacher, Student)
  3. Forum diskusi dan ranking peserta
  4. Mode contest (kompetisi waktu nyata)
  5. Statistik submission & leaderboard
  6. Backup dan restore otomatis
  7. Support banyak bahasa pemrograman (C, C++, Java, Python, Pascal, PHP, Go, dan sebagainya)

 

 

Kegunaan HUSTOJ di Pendidikan

HUSTOJ sangat cocok digunakan di sekolah/kampus kejuruan (misalnya SMK jurusan RPL) untuk:

  • Latihan coding harian
  • Ujian praktik pemrograman
  • Kompetisi antar kelas/jurusan
  • Evaluasi otomatis tanpa koreksi manual

Dengan sistem ini, guru bisa:

  • Melihat ranking dan statistik pengerjaan siswa,
  • Memberikan umpan balik cepat,
  • Menghemat waktu penilaian.

Kelebihan HUSTOJ

  • Open Source (gratis dan dapat dimodifikasi)
  • Ringan & cepat (bisa jalan di server kecil)
  • Mudah diinstal di Linux (Ubuntu, Debian)
  • Mendukung auto-grading dan contest management
  • Komunitas aktif dan dokumentasi lengkap

 

Teknologi yang Digunakan

Komponen Teknologi
Server Web Nginx / Apache
Bahasa PHP, C/C++, Shell
Database MariaDB / MySQL
Sistem Operasi Ubuntu / Debian
Kompilator gcc, g++, javac, python3, dll

Instalasi Hustoj

1. Persiapan Sistem

Langkah 1 — Update sistem

sudo apt update && sudo apt upgrade -y

 

Langkah 2 — Install paket pendukung

sudo apt install -y wget curl git unzip build-essential make gcc g++ \ 
    nginx mariadb-server mariadb-client \ 
    php-fpm php-mysql php-gd php-mbstring php-xml php-zip php-curl \ 
    default-jdk openjdk-17-jdk pkg-config libssl-dev

Langkah 3 — Pastikan Apache tidak aktif

Jika ada Apache, hentikan dan hapus (karena kita pakai nginx):

sudo systemctl stop apache2

 

sudo apt remove -y apache2 apache2-utils

 

sudo apt autoremove -y

2. Instalasi Otomatis (Direkomendasikan)

Cara termudah dan direkomendasikan resmi oleh pengembang HUSTOJ adalah menjalankan skrip instalasi:

cd /tmp

 

wget http://dl.hustoj.com/install.sh -O install-hustoj.sh

 

sudo bash install-hustoj.sh

Skrip ini akan:

  • Menginstal seluruh dependensi (nginx, php, mariadb, compiler, dan lain-lain)
  • Membuat user judge
  • Meng-clone kode sumber HUSTOJ ke /home/judge/src
  • Membuat database jol
  • Mengimpor tabel otomatis
  • Menjalankan web server dan judged daemon
Baca Juga  15 Ekstensi Visual Studio Code Terbaik untuk Web Developer

Jika berhasil maka di terminal akan tampil user dan password yang di generate oleh sistem, seperti berikut ini :

 

3. Struktur Folder Penting

Folder Keterangan
/home/judge/src/web Folder web (HTML, PHP, CSS, JS)
/home/judge/src/core File judge daemon (C++)
/home/judge/data Folder soal dan data test
/home/judge/src/install Skrip instalasi & backup
/var/log/nginx Log web server

 

4. Uji Akses di Browser

Buka :

http://127.0.0.1

atau

http://localhost

Jika muncul halaman login/register HUSTOJ, artinya instalasi berhasil.

 

 

Ganti Default Bahasa lewat File (jika web belum tampil)

Pada saat akses hustoj ke alamat http://localhost, maka yang akan tampil pertama kali dalam tulisan dan bahasa China. Tentunya ini akan menyulitkan kita, karena tidak terbiasa dan tidak mengerti dengan bahasanya. Solusinya kita ganti bahasa settingan bahsanya dari bahasa China menjadi Bahasa Inggris atau bahasa lainnya.

Berikut cara menggantinya :

  1. Buka file konfigurasi database (yang juga memuat setting OJ):

    sudo nano /home/judge/src/web/include/db_info.inc.php
  2. Cari baris berikut :

    static  $OJ_LANG="cn";  //默认语言, 中文修改为"cn"

    dan ganti menjadi :

    static  $OJ_LANG="en";  //默认语言, 中文修改为"cn"

    en = Bahasa Inggris (English)

  3. Simpan (ctrl + O), kemudian Enter dan keluar (Ctrl+x)

  4. Restart server web:

    sudo systemctl restart nginx

     

     Mengecek file bahasa

    Kita bisa lihat file bahasa yang tersedia di folder ini:

    ls /home/judge/src/web/lang/

    Biasanya akan muncul:

    en.php
    zh-cn.php
    zh-tw.php
    fa.php
Artinya HUSTOJ memang mendukung menggunakan bahasa inggris (en.php).

Demikian cara instalasi Hustoj sebagai aplikasi yang bisa kita gunakan sebagai penilaian otomatis untuk pemrograman, selanjutnya kita akan membahas cara Register, pendaftaran user, pembuatan contest, problem dan sebagainya pada tutorial berikut ini :

Panduan Lengkap Menggunakan HUSTOJ untuk Guru dan Siswa

Related Post

Be the first to comment

Leave a Reply

Your email address will not be published.


*


error: Ga bisa dicopy