Jangan Hanya Melihat dari Satu Sudut Pandang

“Dalam memperbaiki error pada suatu program, jangan hanya melihat dari satu sudut pandang saja, tapi harus dicek juga segala file yang berkaitan. Karena mungkin saja file-file yang berkaitan tersebut adalah sumber masalahnya.”

Kemarin, saya baru saja memodifikasi sebuah script program yang dulu pernah saya buat. Script yang saya buat dengan bahasa PHP ini sangatlah sederhana. Saya menggunakannya hanya untuk melakukan transfer data, yaitu menggunakan perintah curl.

Jadi, begini. Waktu itu, saya telah membuat dua file script, yang pertama saya simpan di komputer (client), sementara script yang kedua saya simpan di server. Script yang ada di client ini digunakan untuk melakukan pengiriman string, dan script yang berada di server ini berfungsi untuk menangkap string yang dikirimkan tersebut, kemudian mengirimkan kembali string balasan ke client. Lalu string yang telah ditangkap oleh client tadi disimpan ke dalam variabel untuk kemudian diproses selanjutnya. Nah, karena dua file ini sangat berhubungan, otomatis harus bekerja sama dengan baik. Kalau tidak, bisa-bisa muncul error yang kemarin saya alami ini.

404/730: Error 404 - Flibble not found
404/730: Error 404 (via https://www.flickr.com/photos/flibble/)

Saat saya mencobanya lagi kemarin, saya menemukan sedikit error. Error di sini bukan berarti scriptnya berhenti berjalan, tapi kondisi yang harusnya mengarah ke statement kondisi tertentu malah ke statement kondisi lainnya. Harusnya menjalankan kondisi IF, eh ini malah ke kondisi yang ELSE IF. Duhhh..

Saya utak-atik kembali file script yang ada di client. Lalu saya lakukan testing. Masih error. Saya coba alternatif lain. Masih juga error. Berkali-kali saya melakukan testing, namun hasilnya masih belum sesuai dengan yang saya inginkan. Lagi-lagi saya mencoba untuk mengecek ulang script file yang ada di client sambil mencari baris mana yang terdapat kesalahan logikanya.

Setelah mengecek berkali-kali, saya sudah yakin sekali script yang ada di client ini sudah benar. Lalu terlintas di pikiran saya untuk “mengintip” script file yang ada di server. Nah, mulailah timbul dugaan-dugaan kecil bahwa file yang di server ini yang bermasalah. Untuk membuktikannya, langsung saja saya melihat script yang ada di server tersebut. Melihat satu persatu barisnya, lalu tiba-tiba saya terhenti di salah satu baris..

“Ahhhh, dari tadi, kekkk..”

Ternyata benar. String yang dikirimkan dari file yang ada di server dengan string dari file di komputer saya tidak sama. Terdapat sebuah kesalahan pada script yang ada di server. Hmm, pantas saja dari tadi kok error-error teruss.

Akhirnya, setelah memperbaiki script yang di server tersebut, selesai pula masalahnya. Script yang saya buat sudah berfungsi dengan baik. 🙂

Dalam dunia pemrograman, hal seperti ini seringkali terjadi. Masalah-masalah yang mestinya mudah untuk dipecahkan, entah kenapa terkadang membutuhkan waktu yang tidak sedikit untuk memecahkannya.

Ah, iya, ini pelajaran untuk saya. Saya harus lebih memperhatikan suatu masalah lebih mendalam. Dalam memperbaiki error, jangan hanya melihat dari satu sudut pandang saja, tapi harus dicek juga segala file yang berkaitan. Karena mungkin saja file-file yang berkaitan tersebut adalah sumber masalahnya. 🙂

Ayo semangat. Anak Fakultas Ilmu Komputer harus memiliki semangat ngodinggg. Hehee..

Lama-Lama Bisa Gila

Hahaha, gila.. Ini bener-bener bisa membuat gilaaa..

Sebenarnya saya malas menuliskan hal ini, karena ini sama saja dengan membuka kartu sendiri. Daripada dipendam, lebih baik saya ceritakan disini. Daripada lewat Twitter atau Facebook, nanti bisa mengganggu ketenangan mereka. Jadi, lebih baik disini saja. Rumah kita..

Lebih baik disini.. Rumah kita sendiri..

Dari tadi pagi saya berusaha membuat program untuk mendeteksi wajah. Tapi, sampai sekarang pun program itu belum selesai. Bahasa pemrograman yang saya pilih adalah Python.

Tadinya saya sudah senang sekali saat mendapatkan berbagai macam referensi yang terkait dengan penelitian yang sedang saya lakukan. Setelah saya coba mempraktikannya langsung, ternyata hasilnya NOL BESAR, sodara-sodara..

Dari sekian banyak referensi tersebut (terutama yang ini), hampir seluruhnya menggunakan library OpenCV. Sepertinya Python memang kurang bersahabat dengan OpenCV. Entahlah, atau memang saya sendiri yang memang masih baru di bidang ini dan membutuhkan banyak sekali pelajaran.

Awalnya saya mendapatkan kendala pada baris berikut

from opencv.cv import *
from opencv.highgui import *

Kemudian “orang di luar sana” menyarankan untuk menggantinya dengan baris berikut

import cv2

Ada yang aneh, bukan? Module bernama Highgui tiba-tiba dihilangkan begitu saja. Setelah saya cari tahu, ternyata memang highgui (kelihatannya yang sedang saya hadapi saat ini) tidak bisa diimport.

bisagila
Lalala.

Setelah baca sana-sini juga, ternyata saya harus menyesuaikan beberapa sintax agar bisa digunakan di Python tanpa mengandalkan module Highgui tersebut. Berikut sintax-sintax yang menjadi penyebabnya:

  1. cvCreateImage
  2. cvSize
  3. cvCvtColor
  4. cvCreateMemStorage
  5. cvClearMemStorage
  6. cvEqualizerHist
  7. cvLoadHaarClassifierCascade
  8. cvHaarDetectObjects
  9. cvLoadImage

Otomatis, saya harus merubah beberapa sintax diatas dan menyesuaikannya. Haahh.. Kelihatannya membutuhkan banyak waktu ini. Lebih baik saya beristirahat terlebih dahulu.

Walaupun masih belum selesai, tapi sedikit lega rasanya..

Jrengggg.