Perbedaan Programer Otodidak dan Programer Lulusan IF
April 11th, 2008
Pernahkah anda punya rekan yang bisa pemrograman komputer tapi tidak berlatar belakang informatika/sejenisnya? Saya punya. Mulai dari programmer yang copy paste source code sampai dengan yang mampu bikin class sendiri juga ada. Disisi lain saya juga memiliki teman dengan latar belakang informatika namun kemampuan codingnya sama seperti rekan saya yang otodidak, bahkan ada yang mengaku lulusan informatika namun tidak mampu melakukan coding program.
Saya punya teman, pintar, logic programmingnya oke, menguasai lebih dari satu bahasa pemrograman selain itu proses codingnya juga cepat. Kalo disuruh misalnya “Gue butuh program bla.. bla.. bla.., elo bisa buat?†dia langsung jawab “Bisa!â€. Tapi, giliran disuruh bikin ER Diagram ataupun DFD dia bingung harus mulai darimana.
Lalu timbul pertanyaan saya, kenapa masih ada lulusan informatika bisa dikalahkan oleh orang-orang otodidak dalam pemrograman? sebegitu mudahkah menjadi seorang programmer? apakah hanya dengan mengetahui logika pemrograman dan syntax-nya maka sudah menjadi seorang programmer? Lalu apa yang membedakan programmer lulusan teknik informatika dan yang otodidak?
Berdasarkan pengalaman saya bertemu dengan programmer otodidak, hampir sebagian besar mengerti pemrograman namun tidak diawali dengan belajar teori-teori dasar pemrograman. Biasanya hal itu akan dipelajari sambil berjalan seiring dengan mencoba beberapa baris kode. Sedangkan dalam dunia pendidikan, AFAIK, sebelum coding diharuskan mengerti terlebih dahulu teori-teori dasar seperti misalnya DFD, ER Diagram, bit, Byte dan lain sebagainya, baru nanti akan melangkah ke pemrogramannya.
Jika anda programmer terlepas apapun latar belakangnya tentu pernah mengalami hal-hal seperti dibawah ini :
* Penggunaan beberapa fungsi-fungsi sejenis yang terkadang membingungkan dalam penggunaannya. Seperti misalnya kapan harus menggunakan str_replace dan kapan menggunakan ereg_replace atau kenapa harus strstr daripada preg_match() dalam PHP?
* Jika berhubungan dengan field-field database pernahkah penentuan type field berdasarkan alasan yang jelas? Seperti misalnya kenapa harus bigint daripada int atau langsung comot yang paling besar? *mysql style*
* Kenapa harus ADO daripada DAO untuk melakukan koneksi ke database *Lha, masih pake VB 6.0? =))*
* script coding yang sederhana, begin…end;
Jujur, untuk hal-hal seperti itu kadang saya harus buka buku lagi, ya maklumlah namanya juga programmer pemula dan otodidak pula *ngeles*.
Berkaca dari contoh kasus diatas, lalu apa yang seharusnya membedakan antara programmer otodidak dan programmer berlatar belakang informatika?
Menurut saya yang memiliki latar belakang informatika harus bisa mengungguli yang otodidak dengan menguasai teori-teori dasar ini. Kemampuan seperti menyusun ER Diagram, DFD, bit, Byte, alokasi memori dan hal-hal lainnya harus bisa dikuasai oleh yang berlatar belakang informatika. Bahkan akan lebih bagus jika programmer berlatar belakang informatika mampu menguasai itu semua namun dapat menjelaskannya dengan bahasa yang mudah dimengerti oleh orang lain. Bukan tidak mungkin programmer otodidak akan mempelajari hal seperti itu mengingat resources pemrograman sangat banyak beredar di internet. Ini tantangan yang akan dialami oleh lulusan informatika khususnya para programmer.
Pengantar bahasa Java
April 11th, 2008
Bahasa Java adalah sebuah bahasa pemrograman yang dapat digunakan dalam berbagai macam platform yang ada. Hal inilah yang mendasari kesuksesan java dalam dekade ini, yaitu bahwa aplikasi Java dapat dieksekusi pada beragam sistem operasi dan lingkungan software, seperti halnya Mosaic, Netscape Navigator, atau Internet Explorer, mesin PC Windows , mesin Macintosh , mesin UNIX, atau pada sebuah mainframe IBM. Ketidakbergantungan ini pada platform inilah yang membuat Java ini unik. Java berprinsip “Code Once, Run Anywhereâ€.
Bahasa Java
Bahasa Java ini memiliki sintaks yang mirip dengan Bahasa C dan C++, sehingga bagi para programmer C dan C++ tidak terlalu sulit untuk mempelajari bahasa Java. Namun, Java berbeda dari C dan C++ dalam hal berikut :
- dalam Java , operasi alamat memori, kadang disebut aritmatika pointer, ditangani secara internal oleh bahasa tersebut.
- Java tidak memiliki preprocessor bahasa; karenanya, tidak ada penunjuk preprocessor.
- Java tidak menjalankan konversi tipe secara otomatis. Ini adalah salah satu mengapa Java lebih kuat tipenya dari C dan C++.
- Java tidak mendukung definisi tipe melalui operator typedef.
- Java tidak mendukung template.
- Java tidak memungkinkan pemuatan operator eksplisit yang berlebihan.
- Java tidak mendukung multi-pewarisan
- Java juga mendukung multithreading. Maksudnya, multithreading memungkinkan sebuah aplikasi melakukan tugas secara bersamaan.
- Java adalah GRATIS (ini yang orang indonesia suka…he.he). Sun Microsystems menyediakan compiler Java, pustaka run-time, dan standar secara cuma-cuma. Anda bisa mendowload software dari situs Web Sun tanpa biaya, dan Anda tak perlu membayar royalti untuk menggunakannya.
Ini semua berarti bahwa Java adalah bahasa yang sudah dan sederhana dibandingkan C dan C++ . java mudah dipelajari dan digunakan dan lebih bisa diandalkan.
Pustaka Java
Bahasa Java sangat kecil. Dua tipe pustaka memperluas fungsionalitasnya, pustaka inti yang merupakan bagian Java Development Kit (JDK) dan tambahan pustaka opsional . Pustaka inti harus ada dalam setiap implementasi Java, walaupun pustaka opsional bisa ada atau tidak. Jumlah dan kompleksitas pustaka Java luar biasa dan bisa mengecutkan seorang programmer pemula. Contoh dari pustaka Java ini antara lain : java.lang, java.applet, java.awt, javax.swing, java.io, java.util, java.rmi, java.sql, java.sequrity, java.net , java.beans, java.text, java.math, java, accessibility.
