Category Archives: Programming

Online Judge System for Programming Learning (Second Year Project)

Pada Proyek Akhir II saya bersama teman sekelompok yang kami sebut dengan SYP-11 beranggotakan Apriwin Frans Sunggul Tamartmo Pangaribuan, Michael Tobby Sembiring, Titus Nainggolan dan Rumi Lisa Riani Tambunan mengembangan Online Judge System.

Online judge system adalah sistem yang mampu untuk mengecek dan menilai kebenaran sebuah program secara online. Penilaian dilakukan dengan metode black-box testing yaitu hanya memperhatikan input-output pada testcase. Sebuah program dikatakan benar apabila semua testcase yang sudah di tetapkan problem maker (pembuat soal) dipenuhi oleh program yang di-upload. Berikut adalah gambaran umum Online Judge System

bussinessProcess
Pada sistem yang dikembangkan terdapat 3 role pengguna yaitu Admin, lecturer dan student. Admin adalah role yang mempunyai hak akses untuk memange semua data pada sistem, sementara lecturer dapat memanage soal-soal yang akan diberikan kepada students sedangkan students dapat meng-upload berkas program-nya untuk dinilai oleh sistem. Sistem akan memberi informasi mengenai kebenaran program yang sudah di-upload. Selain itu, sistem juga memberikan statistik mengenai hasil yang dicapai setiap user dalam mengerjakan soal-soal.

Sistem ini terdiri dari 2 bagian yaitu back-end dan front-end. Back-end adalah bagian dimana file yang di-upload diproses termasuk didalamnya compiling, running, testing dan grading. Sehingga pada server back-end disediakan compiler sesuai dengan bahasa pemrograman yang digunakan (pada proyek ini bahasa c menggunakan gcc). Selain itu, pada server juga terdapat database yang berisi data pengguna, soal-soal serta testcase untuk setiap soal. Bagian kedua adalah front-end, yaitu antarmuka yang berinteraksi dengan user yang menampilkan informasi-informasi serta statistik pengguna. Bahasa pemrograman yang digunakan adalah PHP dengan framework Codeigniter dan DBMS menggunakan MySQL.

Proyek ini dapat diselesaikan dengan bantuan dari supervisor SYP-11 yaitu Bapak Yaya Setiadi. Dan telah lulus diuji pada seminar PA2 dengan penguji Ibu Arlinta Christy Barus serta Ibu Wiwin Sri Adinda Banjarnahor.

Sekian!

SYP-11

Advertisements

Flash Sudah Jarang Digunakan

Akhir-akhir ini Flash yang dulunya sangat dikenal sudah mulai berkurang. Flash pada saat ini sudah jarang digunakan dalam sebuah website. Ada beberapa hal yang menjadi pertimbangan mengapa flash tidak digunakan lagi.

  1. Berkembangnya dan bertambahnya library javascript, seiring perkembangan library javascript yang mampu membuat  animasi-animasi, flash pun sudah tidak digunakan lagi. Meskipun animasi dengan javascript lebih terbatas dibandingkan dengan animasi berbasis flash,  para web designer lebih memilih bermain dengan javascript.
  2. Lambat di-Load, Animasi-animasi berbasis flash pada umumnya membutuhkan waktu loading yang cukup lama. Dengan loading yang cukup lambat user dipastikan akan kurang nyaman saat mengunjungi web tersebut. Dibandingkan dengan animasi berbasis javascript, javascript lebih cenderung cepat karena merupakan text murni. Inilah salah satu alasan mengapa web designer lebih memilih javascript.
  3. Instalasi dan Update flash player, untuk me-load animasi flash dibutuhkan flash player untuk setiap browser. Hal ini akan sangat merepotkan user
  4. Tidak dibaca search enginee, Animasi flash juga tidak dapat ditemukan dengan mesin pencari seperti google.

Membuat Slide Show Sederhana (javascript)

Berikut adalah kode javascript untuk membuat slide show sederhana dalam web anda.

File: script.js

var ganti= 1;
var jumlahgambar= 4;
var kecepatanganti=2000;

var img1=new Image();
var img2=new Image();
var img3=new Image();
var img4=new Image();

img1.src=”./Image/image1.jpg”;
img2.src=”./Image/image2.jpg”;
img3.src=”./Image/image3.jpg”;
img4.src=”./Image/image4.jpg”;

function ganti_gambar(){
if (document.images)
{
document.images.gambar.src=eval(“img”+ganti+”.src”);
if (ganti<jumlahgambar)
ganti++;
else
ganti= 1;
}
setTimeout(“ganti_gambar()”,kecepatanganti);
}

File: index.html

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “http://www.w3.org/TR/html4/strict.dtd”&gt;
<html>
<head>
<title>Template_1</title>
<script language=”JavaScript” src=”JS/slider.js”></script>
</head>

<body onload=”ganti_gambar()”>
<img src=”Image/image1.jpg” name=”gambar”>
</body>
</html>

 

Source code: Hedy Simamora

Pemrograman Bahasa C

Tipe data dalam bahasa C

Berikut ini adalah tipe data yang biasa digunakan dalam pemrograman Bahasa C

Tipe data Keyword Rentang Nilai (GCC)
Character Char –128 s.d. 127
Short integer Short –32.768 s.d. 32.767
Integer Int –2.147.483.648 s.d. 2.147.483.647
Long integer Long –2.147.483.648 s.d. 2.147.483.647
Long-long integer long long –9.223.372.036.854.775.808 s.d. 9.223.372.036.854.775.807
SP loating point Float 1.17 x 10–38 s.d. 3.4 x 1038
DP floating point double 2.22 x 10–308 s.d. 1.79 x 10 308

Backslash constant character

Berikut adalah tabel konstanta yang biasa digunakan dalam bahasa C

Code Meaning
\b Backspace
\f Form feed (ganti halaman)
\n New line (baris baru)
\r Carriage return (ke awal baris)
\t Horizontal tab
\” Double quote
\’ Single quote
\ \ Backslash
\v Vertical tab
\a Alert (bunyi speaker)
\? Question mark (karakter tanda tanya)
  Character dengan nilai ASCII 0

Fungsi dan Prosedur

Dalam programming dikenal fungsi dan prosedur. Dimana keduanya memiliki persamaan dan perbedaan.

Fungsi dan prosedur dibuat untuk memecah-mecah program yang banyak dan rumit menjadi sub program. Fungsi dan prosedur dapat digunakan berkali-kali saat fungsi atau prosedur tersebut dibutuhkan dalam program utama (main).

Berikut beberapa perbedaan antara fungsi dan prosedur.

  1. Fungsi memiliki tipe data dan akan mengembalikan sebuah nilai dimana nilai tersebut memiliki tipe data yang sama dengan fungsi itu sendiri sedangkan prosedur tidak mengembalikan nilai dan hanya mengeksekusi perintah yang akan dipanggil di program utama.
  2. Karena Fungsi memiliki nilai maka nama fungsi tersebut dapat dieksekusi seperti variabel-variabel lain, dapat di print dan dapat juga nilainya ditampung di variabel baru. Sedangkan prosedur hanya dapat menyalin tugas yang telah dilakukan ke program utama.
  3. Dalam Fungsi tidak dapat dilakukan perintah baca/tulis sedangkan prosedur memungkinkan untuk perintah baca/tulis

Fungsi dan prosedur Untuk masalah fungsi dan prosedur ini akan saya coba jelaskan dalam implementasi di bahasa C. Maklum, saya baru mendalami bahasa pemrograman ini. 😀

//Contoh 1

//Fungsi luas segitiga

int luasSegitiga(int alas, int tinggi){

int luas;

luas=(x*y)/2;

return luas;

}

//Contoh 2

//Prosedur luas segitiga

void luasSegitiga2 (int alas, int tinggi, int *luas){

*luas=(alas*tinggi)/2;

}

//Program utama

int main(){

int a, b, c;

a=4; b=5;

/*Fungsi segitiga*/

printf(“Luas segitiga= %d”, luasSegitiga(a,b));

/*prosedur segitiga2*/

luasSegitiga2(a,b,&c);

printf(“\nLuas segitiga= %d”, c);
getch();
return 0;

}

Output adalah seperti berikut:

Luas segitiga= 10

Luas segitiga=10