Friday, December 9, 2011

Parameter Pada Fungsi Utama

Java dan C++ (mungkin bahasa lain juga) memulai programnya dari fungsi utama, yang biasanya memiliki signature int main(int argc, char** argv) di C/C++ atau public static void main(String[] args) di Java. Fungsi utama ini memberikan saya inspirasi pertanyaan untuk recruitment, pertanyaannya adalah kapan parameter tersebut memiliki nilai dan apa nilainya jika ada.

Mungkin pertanyaannya cukup mendasar, namun Saya cukup kaget bahwa lebih banyak yang tidak tahu daripada yang tahu. Saya pikir pertanyaannya yang kurang jelas atau ambigu, tapi ada juga 1-2 orang yang langsung bisa menjawab begitu pertanyaannya selesai Saya ucapkan. Artinya memang ada lulusan informatika yang tidak tahu kapan parameter tersebut diisi.

katakan terdapat kode pada file main.cpp sebagai berikut:

int main(int argc, char** argv){
 for(int i=0;i < argc; i++) cout << argv[i] << endl;
 return 0;
}
note: kode diatas kurang iostream dan std


kemudian di compile dengan perintah c++ -o testargv.exe main.cpp
lalu testargv.exe dieksekusi dengan perintah: testargv.exe coba parameter
maka outputnya akan sebagai berikut:
testargv.exe
coba
parameter


Disini, C++ dan Java memiliki sedikit perbedaan, namun pada prinsipnya tetap sama. C++ berisi perintah eksekusi programmnya, sedangkan Java tidak. Dengan begini, jelas kapan parameter tersebut bernilai dan apa nilainya.

Berbekal pengetahuan ini, sebenarnya program-program umum adakalanya memanfaatkan ini untuk melakukan sesuatu, sebagai contoh Firefox. Jika kita berikan alamat website pada shortcut di desktop seperti pada gambar berikut:

Ketika Icon diclick, maka firefox akan langsung membuka halaman yang kita tuliskan. Tentunya apa parameter tambahan bagi setiap program berbeda tergantung programnya, cuma rata-rata memang mereka take account of added parameter ketika di run. Semoga bermanfaat.




No comments:

Post a Comment