Abstrak —Saat  ini,  praktikum  Sistem  Basis  Data  di  Departemen Teknik  Informatika  ITS  masih  dilaksanakan  secara  manual. Ketika praktikan selesai mengerjakan soal, praktikan diharuskan memanggil asisten untuk mengecek jawabannya. Oleh karena itu diperlukan aplikasi yang membantu praktikum Sistem Basis Data agar  menjadi  lebih  efisien.  Pengujian  difokuskan  pada  proses penilaian atau judgement . Proses penilaian dilakukan oleh grader yang  dibangun  dengan  bahasa  Python  dan  berjalan  pada background . Pengujian  dilakukan  dengan  melakukan  uji  coba beberapa jenis query . Query tersebut didapatkan dari praktikum Sistem  Basis  Data  tahun  2015  dan  2016.  Pengujian  dilakukan untuk mengetahui tingkat keberhasilan grader dalam menangani proses penilaian query jawaban praktikan.
Kata Kunci —Sistem Basis Data, Online Judge , Grader , Python.

## I. P ENDAHULUAN
ASIS  data  ( database )  adalah  kumpulan  data,  biasanya menjelaskan mengenai aktifitas satu atau lebih organisasi yang terkait. Basis data terdiri dari entitas dan hubungan antar entitas.  Basis  data biasanya  diatur  menggunakan  sebuah software yaitu Database Management System (DBMS). Basis data merupakan dasar dari sistem penyimpanan dalam sebuah aplikasi,  baik  itu  aplikasi desktop , website ,  maupun mobile . Oleh karena itu teori-teori mengenai basis data harus dikuasai oleh semua developer perangkat lunak.
Di  dalam  matakuliah  Sistem  Basis  Data  (SBD)  di Departemen  Teknik  Informatka  ITS  terdapat  praktikum mengenai  materi Data  Definition  Language (DDL)  dan Data Manipulation Language (DML). Penilaian praktikum SBD saat ini  masih  manual,  yaitu  praktikan  mengeksekusi query di DBMS  lalu  ditunjukkan  kepada  asistennya  untuk  dinilai. Sistem praktikum seperti ini tentu sangat tidak efektif, karena membutuhkan  waktu  lama  dan  membutuhkan  sumber  daya asisten  yang  banyak.  Oleh  karena  itu,  diperlukan  sebuah aplikasi yang bisa membantu praktikum SBD tersebut. Aplikasi yang  akan  dibangun  adalah  Sistem  Basis  Data Online  judge (SBDOJ).
SBDOJ  memiliki  konsep  seperti online  judge pada umumnya. SBDOJ merupakan aplikasi berbasis web . Aplikasi ini   akan   digunakan  dalam  praktikum  SBD  khusunya  pada
materi  DML  yaitu query SELECT.  Praktikan  diharuskan keberhasilanya.  Dengan  adanya  aplikasi  SBDOJ  ini, mengumpulkan query jawaban dari sebuah soal, kemudian query tersebut  akan  dieksekusi  oleh  sistem  dan  akan  dinilai diharapkan  bisa  mempermudah  asisten  maupun  praktikan dalam praktikum SBD materi DML.

## II. T INJAUAN P USTAKA
A. Online Judge
Online  Judge secara  umum  adalah  server  yang  berisi deskripsi dari masalah dalam  kontes  yang berbeda. Serta data yang  diatur  untuk  menilai  apakah  sebuah  solusi  tertentu menyelesaikan soal-soal yang berada di server tersebut [1].
Terdapat beberapa kategori online judge yang saat ini telah diimplementasikan, antara lain :
a. Problem Solving Online Judge
Online judge ini yang sangat familiar dan sering digunakan oleh  para programmer untuk  mengasah  kemampuan logikanya  dalam  menyelesaikan problem  set yang disediakan  oleh online  judge .  Biasanya online  judge ini digunakan  untuk  berlatih competitive  programming . Contohnya adalah SPOJ, UVA, Toki Learning , dan masih banyak lagi.
b. HTML & CSS Online Judge
Online  judge untuk  HTML  dan  CSS  untuk  saat  ini  masih berupa aplikasi untuk pembelajaran. Untuk itu online judge untuk CSS dan HTML terkadang dikenal dengan sebuutan online  course karena  tidak  ada  sistem rating untuk  tiap soalnya.  Sedangkan online  judge seharusnya  memiliki sistem rating .  Contoh  aplikasi online  course HTML  dan CSS adalah Codecademy dan FreeCodeCamp.
c. SQL Online Judge
Sama  seperti online  judge untuk  HTML  dan  CSS, online judge untuk  SQL  saat  ini  masih  berupa online  course . Dikarenakan  belum  adanya  sistem rating dalam  aplikasi tersebut.  Contoh  aplikasi online  course untuk  SQL  adalah Codecademy dan SqlCourse .

## Rancang Bangun Aplikasi Sistem Basis Data Online Judge (SBDOJ) untuk Proses Pembelajaran Mata Kuliah Sistem Basis Data di Departemen Teknik Informatika ITS
Demsy Iman Mustasyar, Rizky Januar Akbar , dan Nurul Fajrin Ariyani Departemen Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS)
e-mail : rizky@if.its.ac.id
B
Gambar 1. Proses Bisnis Sistem Basis Data Online Judge pada Asisten

## III. A NALISIS DAN P ERANCANGAN SISTEM

## A. Analisis Sistem
Sistem Basis Data Online Judge adalah aplikasi yang ditujukan untuk mempermudah penilaian praktikum Sistem Basis Data di Departemen Teknik Informatika ITS khususnya pada materi DML. Selain digunakan untuk praktikum, SBDOJ juga bisa digunakan asisten untuk memberi tutorial kepada mahasiswa. Di setiap event praktikum, terdapat scoreboard untuk melihat rekapitulasi nilai dari mahasiswa. Proses bisnis yang digunakan dalam aplikasi ini adalah proses bisnis yang umum terdapat pada online judge lainnya. Proses bisnis pada sisi asisten dapat dilihat pada diagram alir pada  Gambar 1 . Pada gambar tersebut, asisten harus memasukkan database kunci atau database yang akan digunakan untuk praktikum. Kemudian asisten harus membuat event praktikum atau tutorial. Langkah selanjutnya adalah membuat soal untuk praktikum tersebut. Soal harus disertai query jawaban yang benar dari asisten untuk proses penilaian. Kemudian asisten harus memulai grader dari database yang digunakan agar penilaian jawaban dari praktikan bisa berlangsung di background . Diagram alir dari sisi praktikan dapat dilihat pada
Gambar 2 .  Pada  gambar  tersebut,  praktikan  dapat  memilih event praktikum  atau  tutorial. Event praktikum  bisa  dipilih apabila  waktu  sudah  memasuki  waktu  mulai  praktikum  dan belum  melewati  waktu  akhir  praktikum.  Praktikan  kemudian memasukkan query jawaban pada soal yang dipilih. Setelah itu grader akan  mengecek  jawaban  praktikan  dan  akan memberikan  nilai  dari  jawaban  tersebut.  Nilai  tersebut  yang nantinya akan disimpan pada database . Pada aplikasi ini, data praktian  dimasukkan  oleh  asisten  masing-masing  kelas.  Jadi praktikan tidak bisa mendaftarkan dirinya.

## B. Perancangan Sistem
Berdasarkan analisis sistem, didapatkan beberapa kebutuhan fungsional   yang   diperlukan   untuk  membangun
Gambar 2. Proses Bisnis Sistem Basis Data Online Judge pada Praktikan
aplikasi  Sistem  Basis  Data Online  Judge .  Selain  itu,  dalam aplikasi ini juga terdapat dua pengguna yang terdiri dari asisten dan  praktikan.  Diagram  kasus  penggunaan  aplikasi  SBDOJ dapat dilihat pada Gambar 3.

## IV. I MPLEMENTASI

## A. Lingkungan Implementasi
Dalam  merancang  perangkat  lunak  ini  digunakan  beberapa perangkat  pendukung  yang  terdiri  dari  perangkat  keras  dan perangkat  lunak.  Spesifikasi  perangkat  keras  yang  digunakan dalam membangun aplikasi SBDOJ adalah sebagai berikut: Jenis
: Personal Computer Tipe : LENOVO 10132 Prosesor : Intel® Core™ i3-4150 CPU @ 3.50GHz
Gambar 3. Diagram Kasus Penggunaan
Memori
: 4096MB RAM
Sistem Operasi  : Windows 10 Pro 64-bit Perangkat  lunak  yang  digunakan  dalam  membangun  aplikasi SBDOJ adalah sebagai berikut:
 Sublime Text 3 digunakan untuk menyunting kode.
 StarUML  2.7.0  digunakan  untuk  membuat  diagram  kasus penggunaan, diagram aktivitas dan diagram kelas.
 Oracle  SQL  dan  MySQL  digunakan  untuk  antarmuka pengelola basis data.
 Apache digunakan untuk web server .

## B. Implementasi Antarmuka
Antarmuka  perangkat  lunak  dikembangkan  menggunakan beberapa pustaka. Beberapa di antaranya adalah:
 Laravel Blade sebagai skrip bahasa utama,
 Semantic UI sebagai kerangka kerja CSS,
 jQuery sebagai kerangka kerja JavaScript, dan
 DataTables sebagai pustaka antarmuka tabel.
Halaman mengelola grader dan database dapat dilihat pada Gambar  4.  Pada  halaman  ini  terdapat  halaman  yang menampilkan  daftar database yang  dapat  digunakan  untuk praktikum   maupun  tutorial.  Selain  itu  juga  terdapat  tombol
Gambar 4. Halaman Mengelola Grader dan Database .
Gambar 5. Halaman Mengelola Event
Gambar 6. Halaman Menjawab Soal Event
Gambar 7. Halaman Scoreboard
untuk memulai atau menghentikan grader pada masing-masing database . Halaman untuk mengelola event dapat dilihat pada Gambar 5. Pada halaman ini terdapat tabel daftar praktikum atau tutorial yang  berisi  judul,  waktu  mulai,  waktu  akhir,  kelas,  nama database yang  dipakai,  status grader serta  tombol  untuk mengubah dan menghapus event .
Halaman untuk menjawab soal praktikum atau tutorial dapat dilihat  pada  Gambar  6.  Pada  halaman  ini,  soal  ditampilkan dalam  bentuk  daftar  tabulasi  dan  pada  masing-masing  soal terdapat field untuk  memasukkan  jawaban  praktikan.  Pada masing-masing soal juga terdapat SQL Parser untuk mengecek benar atau tidaknya syntax SQL dari praktikan. Halaman  untuk  melihat scoreboard dari  praktikum  dapat dilihat  pada  Gambar  7.  Halaman  ini  menampilkan  tabel scoreboard dari suatu praktikum. Pada tabel tersebut terdapat nilai  dari  masing-masing  praktikan  pada  masing-masing  soal dan juga terdapat total nilai dari tiap praktikan.

## V. P ENGUJIAN DAN E VALUASI
Pengujian yang dilakukan adalah pengujian user acceptance test (UAT)  dan  pengujian  sistem.  Pengujian  UAT  bertujuan untuk  mengetahui  tingkat  kebutuhan  asisten  akan  aplikasi SBDOJ  dan  tingkat  kesesuaian  SBDOJ  dengan  kebutuhan praktikum  SBD  khusunya  materi  DML query  SELECT di Departemen Teknik Informatika ITS. Jumlah responedn asisten adalah  5 orang. Sedangkan untuk pengujian sistem difokuskan pada  tingkat  keberhasilan grader dalam  menangani  proses judgement dari query yang memungkinkan terjadinya eror pada sistem. Pengujian grader dilakukan dengan menguji dua versi grader . Query yang diuji didapatkan dari praktikum SBD tahun ajaran 2015/2016 dan 2016/2017.
Setelah  pengujian  UAT  dilakukan,  dapat  diketahui  bahwa aplikasi  SBDOJ  sudah  memenuhi  kebutuhan  praktikum  SBD materi  DML query  SELECT dan  dapat  menghemat    waktu asisten.  Selain  itu  juga  terdapat  usulan  dari  asisten,  yaitu penambahan bobot nilai tiap soal.
Kemudian  untuk  pengujian grader, dapat  diketahui  bahwa grader sudah dapat melakukan proses judgement dengan tepat dan  sudah  dapat  menangani query yang  melampaui  waktu maksimal  eksekusi  (TLE).  Namun  terdapat  kekurangan  pada grader yaitu  waktu  maksimal  eksekusi  masih  statis,  yaitu  10 detik.  Seharusnya  waktu  maksimal  eksekusi  dibuat  dinamis berdasarkan soal dan jumlah row dari hasil query .

## VI. K ESIMPULAN
Selama  proses  perancangan,  implementasi,  dan  pengujian dapat diambil kesimpulan sebagai berikut: 1. Aplikasi  SBDOJ mampu  menangani  prosedur  penilaian query jawaban  dari  praktikan  dan  dicocokkan  dengan query kunci jawaban dari asisten.
2. Proses  bisnis  yang  terjadi  antara  asisten  dan  praktikan dalam  prosedur  penilaian  jawaban  praktikan  adalah sebagai berikut:
a. Asisten  memasukkan  data database yang  akan digunakan untuk praktikum atau tutorial.
b. Asisten memasukkan data praktikum atau tutorial.
c. Asisten memasukkan data soal praktikum atau tutorial.
d. Asisten  menekan  tombol start pada grader yang dibutuhkan.
e. Praktikan  memilih  praktikum  atau turorial yang diinginkan.
f. Praktikan memilih soal yang diinginkan.
g. Praktikan memasukkan query jawabannya.
h. Grader mengecek  dan  menilai query jawaban praktikan.
3. Aplikasi SBDOJ sudah memenuhi kebutuhan fungsional .
4. Grader telah memenuhi kebutuhan proses judgement .
5. Berdasarkan user acceptance test , asisten  membutuhkan SBDOJ untuk praktikum SBD materi DML query select .

## DAFTAR PUSTAKA
[1] R. L. Miguel A. Revilla, Shahriar Manzoor, “ Competitive
Learning  in  Informatics:  The  UVa  Online  Judge Experience,” Olympiads  in  Informatics ,  vol.  2,  pp. 131–148, 2008.