Google
 
Secured Loans

Compare 100s of secured loans with Accepted.co.uk.

www.accepted.co.uk

Matched.co.uk

Sulitnya Membuat Program yang Portabel  

Saat mengerjakan tugas DDP kemarin aku mendapat kesulitan kecil. Ceritanya begini, aku ditugaskan untuk membuat program labirin. Program ini menggerakkan suatu ‘O’ dari pintu masuk sampai pintu keluar, apabila tidak ditemukan pintu keluar maka ‘O’ harus keluar melalui pintu masuk (labirin buntu). Tiap pergerakan ‘O’ harus ditampilkan dilayar sebagai animasi. Nah, disini masalahnya, source code yang kubuat di komputerku bisa di-compile dan sukses berjalan tanpa adanya kesalahan. Besoknya di lab aku mencoba men-compile source code tadi, OK tidak error. Tapi begitu dijalankan programku menyatakan kalau tidak ada program “cls” di komputer lab (Aku memakai system() dan memanggil cls/clear untuk membersihkan layar). Heran juga aku melihat error ini, OS yang sedang kupakai saat menjalankan program ini adalah XP, mana mungkin tidak ada program standar “cls”. Kuubah “cls” menjadi “clear” (program di Linux untuk membersihkan layar), yup! Error “command not found” tidak muncul dan layar bisa dihapus.

Lagi-lagi muncul masalah, animasi labirin tidak berjalan. Kutelusuri satu persatu souce codenya (sebenarnya tidak satu-satu, aku langsung mengecek fungsi untuk mencetak labirin), ketemu juga tersangkanya.

sleep(500);

Hmm, compiler di komputer lab ternyata tidak memiliki fungsi sleep(). Meskipun sama-sama gcc kalau versinya berbeda kelakuannya juga berbeda. Sekarang fungsi sleep() kuubah menjadi seperti ini:



int i, j, k;
for(i=0;i<9999;i++) for(j=0;j<9999;j++) k+=j;



Sebenarnya hal ini tidak elegan, jeda untuk tiap komputer berbeda, tergantung seberapa cepat komputer tersebut. Aku tidak sempat memikirkan metode lain karena keterbatasan waktu, yang penting program labirinku bisa berjalan di lab.

Apa hikmah dari cerita ini? Portabilitas memang sesuatu yang penting. Bahasa C yang sering dikatakan portablepun tidak lepas dari masalah ini. Meski sudah ada standarisasi untuk C, tetap saja banyak compiler yang ngeyel, tidak cuma VC, gcc juga menambah-nambah fitur-fitur yang tidak standar lewat gcc extension-nya.

2 komentar: to “ Sulitnya Membuat Program yang Portabel