03 Sep 2008
Mulai beberapa minggu ini, ArtiVisi kebanjiran project. Ini tentu harus dikelola dengan baik. Semua orang harus bekerja se-efisien mungkin. Menjadi tugas saya sebagai manager untuk memudahkan orang-orang bekerja.
Opa Abe Lincoln pernah bilang gini, jauh sebelum mas Barry masuk sekolah di SD Besuki, Menteng.
If I had eight hours to chop down a tree, I’d spend six hours sharpening my axe
So be it ….
Hal pertama yang harus dilakukan sebelum mulai bekerja adalah mempersiapkan environment. Ada beberapa tools yang dapat digunakan untuk mempercepat kegiatan software development, terutama di Java. Ini pernah saya bahas di artikel ini.
Subversion sudah terinstal sejak hari pertama ArtiVisi buka warung. Bahkan sebelum websitenya jadi, repository sudah siap digunakan dan diamankan melalui prosedur backup. Ant-Ivy juga sudah terinstal dan terkonfigurasi. Tinggal menunggu terisi dengan *.jar external dari repository ibiblio dan repository springsource.
Hal berikutnya adalah mempersiapkan bug tracker dan project management tools. Karena saya menggunakan Eclipse, maka kriteria pemilihan bug tracker tentu saja adalah kompatibilitasnya dengan Mylyn. Bugzilla cuma bisa untuk bug-tracker, jadi saya pilih saja Trac.
Berikut langkah instalasi di Ubuntu Gutsy Server.
Instalasi Trac
Instalasi Trac tidak sulit, cukup satu baris perintah saja.
sudo apt-get install trac libapache2-mod-python python-setuptools
Selanjutnya, kita konfigurasi VirtualHost Apache. Saya buatkan satu subdomain khusus yang namanya trac.artivisi.com. Jadi, kita buat file /etc/apache2/sites-available/trac.artivisi.com
.
Subdomain ini nantinya akan menampung data Trac untuk banyak project. Jadi, kita harus mengkonfigurasi parent path yang menyatakan folder tempat data trac untuk masing-masing project disimpan.
Berikut isi filenya.
<Location /trac>
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/lib/trac
PythonOption TracUriRoot /trac
</Location>
Selanjutnya, kita konfigurasi otentikasinya supaya mengacu ke LDAP tempat menyimpan username dan password Subversion. Jadi username dan password untuk svn commit sama dengan untuk login ke Trac.
<LocationMatch "/trac/[^/]+/login">
AuthType Basic
AuthName "ArtiVisi Trac Server"
AuthBasicProvider ldap
AuthLDAPURL url-ldap-server
AuthLDAPBindDN dn-untuk-apache-login-di-ldap
AuthLDAPBindPassword password-dn-tersebut
AuthzLDAPAuthoritative off
Require valid-user
</LocationMatch>
Sekarang konfigurasi Apache sudah selesai. Jangan lupa me-restart apache.
sudo /etc/init.d/apache2/restart
Berikutnya, membuat project baru.
Membuat Project
Misalnya kita ingin membuat project bernama hello-world. Sebagai root, masuk ke folder /var/lib/trac. Kemudian buat projectnya. Jangan lupa tambahkan user administratornya sekaligus.Terakhir, ganti kepemilikan folder sesuai dengan user yang digunakan proses webserver.
sudo -i
cd /var/lib/trac
trac-admin hello-world initenv
trac-admin hello-world permission add endy TRAC_ADMIN
chown -R www-data.www-data hello-world
Langkah di atas akan menginisialisasi Trac dengan satu username –yaitu endy– sebagai administrator. Selanjutnya, kita edit konfigurasinya agar setiap perubahan bug/task akan mengirim notifikasi ke email. Edit file /var/lib/trac/hello-world/conf/trac.ini
smtp_enabled = true
smtp_default_domain = artivisi.com
smtp_from_name = ArtiVisi Trac Server
smtp_from = artivisi.dev@gmail.com
smtp_replyto = artivisi.dev@gmail.com
smtp_server = smtp.gmail.com
smtp_port = 587
smtp_user = artivisi.dev
smtp_password = rahasia_dong
use_tls = true
Pada konfigurasi di atas, kita menggunakan Gmail yang gratis dan mudah. Kita buat account di Gmail bernama artivisi.dev dan kita berikan password rahasia_dong.
Selesai sudah. Sekarang silahkan browse ke URLnya.
Plugin WebAdmin
Sebagai tambahan, kita bisa menambahkan plugin webadmin supaya kita bisa menambah user dan mengatur permission melalui interface web.
Ubuntu secara default menginstal Trac versi 0.10, jadi kita harus menginstal plugin WebAdmin secara manual. Di versi 0.11 Trac sudah menyertakan WebAdmin secara default.
Instalasi dijalankan langsung dari subversion repository.
sudo easy_install http://svn.edgewall.org/repos/trac/sandbox/webadmin/
Untuk menjalankan plugin, kita perlu membuat file /etc/trac/trac.ini
. Berikut isinya.
[components]
webadmin.* = enabled
Voila, nanti akan muncul tombol admin setelah kita login.
03 Sep 2008
Ant, adalah tools untuk mengotomasi kegiatan build di Java. Seperti kita tahu, dari mulai source code diketik sampai bisa digunakan user, ada beberapa kegiatan yang harus dilakukan, misalnya:
-
Bersihkan sisa-sisa kompilasi terdahulu
-
Setting CLASSPATH
-
Kompilasi
-
Masukkan artifak lain ke CLASSPATH sesuai kebutuhan (*.properties, *.xml)
-
Jalankan automated test
-
Kompilasi Javadoc
-
Paket menjadi *jar atau *war
-
Deploy ke server (bila perlu)
Rangkaian kegiatan ini disebut dengan proses build.
Jika kegiatan ini dilakukan secara manual, tentu saja masa muda kita akan habis untuk melakukan build dan tidak akan sempat menulis kode program.
Kita bisa memudahkan proses build dengan bantuan IDE. Tinggal klik Clean and Build, langsung beres. Tapi kita tahu bahwa masing-masing orang memiliki IDE favorit masing-masing. Jadi langkah-langkah build bisa jadi berbeda di masing-masing IDE. Selain itu, build dengan IDE tidak otomatis. Harus ada seseorang yang menekan tombol Clean and Build. Tentu saja hal ini mencegah kita untuk melakukan otomasi penuh semacam Continuous Integration.
Ada dua tools yang biasa digunakan untuk build, yaitu Ant dan Maven. Maven memiliki kelebihan dibanding Ant, yaitu dia:
-
mampu mengelola dependensi
-
membuatkan website
-
melakukan kegiatan lain yang fancy, seperti menjalankan webserver (mvn:jetty), unit test, dan lain sebagainya
dan fitur-fitur lain yang bisa dilihat di sini dan di sini.
Maven sangat powerful, tapi seperti sudah sering saya katakan,
with great power, comes great complexity
Maven relatif sulit dipelajari dan banyak mengandung black-magic (baca: banyak mengandung undocumented behavior). Selain itu, Maven juga tidak reliable, dibuktikan dengan dokumentasi cara melakukan build untuk salah satu project open source terkenal Cocoon.
Dengan berbagai plus-minus di atas, akhirnya saya memutuskan untuk menggunakan Ant ditambah dengan Ivy saja. Toh sebenarnya kami di ArtiVisi cuma butuh dependency management saja. Ivy lebih mudah dipelajari, dan hei … contoh aplikasi SpringSource Application Platform (SSAP) di-build menggunakan Ivy.
Sekedar informasi, contoh aplikasi Petclinic SSAP cukup kompleks. Aplikasi tersebut memiliki banyak konfigurasi yang dapat dipilih, antara lain:
-
Framework akses database : JDBC, JPA, Hibernate, atau Eclipselink
-
Database provider : HSQLDB atau MySQL
Dengan banyak kombinasi tersebut, pengelolaan dependency dan proses build menjadi rumit. Domain modelnya saja digunakan oleh banyak modul lain. Belum lagi dependency terhadap pustaka external seperti Hibernate dan Eclipselink. Akan ada banyak konfigurasi untuk compile, test, dan deployment.
Aplikasi contoh tersebut sudah mencerminkan kemampuan Ivy untuk mengelola project dengan banyak relasi ke project lainnya. Dan faktor yang paling penting, Ivy mudah dipelajari. Kita akan buktikan dalam beberapa posting berikutnya.
Lebih jauh tentang dependency management akan dibahas pada posting selanjutnya tentang Ivy. Untuk sekarang, kita akan bahas cara instalasinya.
Instalasi Ant
Pertama, kita harus menginstal Ant dulu. Karena saya menggunakan Ubuntu, instalasi tidak terlalu sulit. Cukup ketikkan perintah berikut di command prompt.
sudo apt-get install ant ant-optional
Atau jika Anda alergi dengan command prompt, bisa menggunakan System > Administration > Synaptic Package Manager.
Selain cara otomatis seperti di atas, kita juga bisa menginstal secara manual. Caranya, donlod Ant, kemudian extract. Masukkan path menuju folder bin di dalam hasil extract ke dalam environment variable PATH.
Kemudian, test instalasi dengan mengetik perintah ant -v
di command prompt. Berikut hasilnya di komputer saya:
endy@kintoun:~$ ant -v
Apache Ant version 1.7.0 compiled on August 29 2007
Buildfile: build.xml does not exist!
Build failed
Baiklah, kita sudah mendapatkan Ant versi 1.7.0. Selanjutnya, instalasi Ivy.
Instalasi Ivy
Pertama, tentunya download dulu Ivy-nya. Pada saat artikel ini ditulis, versi terbaru adalah 2.0.0-beta2. Jangan khawatir dengan status beta, karena menurut pengalaman saya, versi ini cukup stabil.
Setelah donlod, kemudian extract. Kita membutuhkan file berikut :
-
ivy-2.0.0-beta2.jar
-
ivy-core-2.0.0-beta2
dan satu file lagi bila kita ingin mengakses repository melalui ssh.
Masukkan file tersebut ke lokasi instalasi Ant, dalam folder lib. Bila Anda menggunakan Ubuntu seperti saya, dan menginstal Ant menggunakan Synaptic, apt-get, atau aptitude, maka lokasi instalasi Ant ada di
Instalasi Ivy selesai.
Dengan menggunakan Ivy, kita dapat mengelola proyek raksasa (terdiri dari banyak modul, dikerjakan oleh puluhan tim) dengan lebih mudah.
Bagaimana cara menggunakannya? Tunggu posting selanjutnya :D
*[IDE]: Integrated Development Environment
27 Aug 2008
Setelah menjadi pengusaha, KlikBCA saya berganti, dari Individual menjadi Bisnis. Hmm … tentunya KlikBCA ini juga harus bisa diakses via Linux.
Untuk mengakses KlikBCA Bisnis, kita harus dial up VPN dulu. BCA menyediakan installer untuk VPN dialer versi Windows.
Google punya google, dapat link ini dan ini. Tapi keduanya ternyata tidak menyelesaikan masalah. Ada beberapa hal yang kurang jelas. Mudah-mudahan posting ini bisa menjelaskan semuanya sehingga kita semua bisa berbisnis dengan BCA menggunakan Ubuntu Linux.
Pertama, kita tetap butuh komputer Windows. Di komputer Windows ini, kita instal aplikasi KlikBCA Dialer. Tujuan utamanya adalah mendapatkan informasi koneksi VPN yang sebagian ada dalam file KlikBCA Bisnis.pcf
. File ini bisa kita dapatkan di CD Installer, tapi ternyata formatnya berbeda dengan yang sudah terinstal. So, instal dulu dialernya, kemudian buka file KlikBCA Bisnis.pcf
dengan text editor.
Kita butuh beberapa informasi dari file ini, yaitu:
-
Host : Ini adalah nama komputer VPN Server
-
GroupName
Kedua, kita butuh aplikasi kecil untuk mendekripsi field enc_GroupPwd
dalam file KlikBCA Bisnis.pcf
. Aplikasi tersebut bisa diunduh di sini. Kopikan ke komputer Windows yang sudah terinstal dialer, dan jalankan. Nanti kita akan ditanya Profile mana yang mau didekripsi. Pilih saja KlikBCA Bisnis.pcf
. Nanti dia akan menampilkan Group Password yang sudah terdekripsi.
Selesai dengan Windows, silahkan diformat menjadi Ubuntu.
Ketiga, instal dulu VPN Client dan interface Network Managernya.
sudo apt-get install vpnc network-manager-vpnc
Keempat, kita konfigurasi Network Manager Applet. Network Manager Applet adalah icon kecil di taskbar atas, sebelah kanan. Berikut contohnya.
Gambar diambil dari sini.
Pilih VPN Connections - Configure VPN. Nanti akan tampil daftar jaringan VPN yang sudah ada. Karena kita belum mengkonfigurasi, tentunya ini masih kosong.

Selanjutnya, klik Add untuk menambah jaringan VPN baru. Wizardnya akan muncul.

Kita akan disajikan pilihan VPN client yang tersedia. Pilih Cisco compatible.

Masukkan data-data sesuai dengan isi file KlikBCA Bisnis.pcf
.

Dalam tab pertama, isikan:
Klik tab Optional, lalu centang Override user name.

Isikan Corporate Id + User Id yang diberikan BCA pada Anda. Kedua ID digabungkan tanpa spasi dan diisikan di textfield Override user name.
Selesai konfigurasi, sekarang jika ingin connect, klik pada network manager applet : VPN Connections - KlikBCA Bisnis. Nanti akan muncul pertanyaan password dan group password.

Password diisi dengan respon dari KeyBCA APPLI 1. Group password diisi dengan hasil dekripsi Group Password. Group password boleh disimpan di keyring, karena nilainya tidak berubah-ubah. Tapi password tidak perlu disimpan, karena nilainya berubah sesuai KeyBCA APPLI 1.
Kalau semua nilai yang diisikan benar, maka setelah menunggu sepeminuman teh, Anda akan segera terhubung ke VPN BCA. Ini ditandai dengan adanya tanda gembok pada network manager applet.
Untuk menyudahi koneksi VPN, bila Anda sudah selesai menggunakan KlikBCA Bisnis, klik lagi network manager applet : VPN Connections - Disconnect VPN.
Beberapa linux user belum merasa macho kalau tidak mengedit text file. No problem, jika ingin connect via command line, begini caranya.
Buat file /etc/vpnc/default.conf
. Isinya sebagai berikut:
IPSec gateway <masukkan isi field Host>
IPSec ID <masukkan isi field GroupName>
IPSec secret <masukkan hasil dekripsi Group Password>
Xauth username <masukkan CorporateID digabung dengan UserID>
Selesai konfigurasi. Sekarang dial dengan cara menjalankan:
Nanti dia akan minta password. Masukkan respon APPLI 1 KeyBCA.
Untuk mengakhiri koneksi VPN, jalankan:
Selamat mencoba.
19 Jul 2008
Menggunakan log4j
Pada waktu SMU dulu, saya dan teman-teman saya membentuk grup band. Sebagai band amatiran, kami hanya tampil kalau ada pentas seni di sekolah, atau kalau ada acara tujuh-belasan di lapangan dekat rumah. Yang ingin tampil di event tersebut tidak hanya band kami, tapi juga puluhan band amatir lainnya. Karena demand jauh melebihi supply, seringkali kami justru harus membayar uang pendaftaran agar bisa tampil.
Sama dengan band remaja pada umumnya, kami punya impian menjadi rock-star. Tidak usah mengeluarkan album dulu lah … setidaknya kami dibayar setiap kali tampil. Bukannya malah membayar.
Suatu ketika, pemain bas kami mengajak kami berkenalan dengan salah satu sepupunya yang juga punya band. Tidak seperti kami yang amatiran, band sepupu ini lebih profesional. Mereka sudah punya slot tampil rutin di beberapa kafe, yang tentu saja … dibayar :D
Setelah ngobrol kesana-sini, akhirnya kami diajak untuk datang ke kafe dan menonton penampilan mereka.
Sesampainya di lokasi, terlihat jelas perbedaan level antara kami dan mereka. Band kami, sebelum tampil, semua anggotanya deg-degan dan gugup. Topik pembicaraan adalah tentang lagu yang dimainkan. Kami saling mengingatkan berapa kali harus mengulang refrain, berapa bar sesi gitar solo, pada ketukan berapa vokalis harus masuk, dan hal-hal sejenisnya. Dan tentunya, orang gemetaran tidak mungkin bercanda.
Berbeda keadaannya dengan band sepupu tersebut. Begitu datang, mereka berhaha-hihi dengan gembira. Pada waktu kami mendekat, terdengar jelas bahwa topik pembicaraan bukanlah tentang teknis musik yang akan dimainkan, melainkan urusan ….. kostum !!!
Mereka sudah sedemikian terbiasa tampil di panggung, sehingga bermusik sudah seperti bernafas. Tidak perlu berpikir lagi. Oleh karena itu mereka bisa dengan tenang memikirkan kostum.
Lalu apa hubungannya band kafe dengan Log4J?
Programmer pemula akan sangat concern dengan urusan algoritma, design pattern, normalisasi database, dan hal-hal teknis pemrograman. Programmer kawakan, sudah tidak lagi mengkhawatirkan hal-hal tersebut. Bukan karena tidak penting, tapi karena hal teknis tersebut sudah menjadi bagian dari dirinya. Coding sudah seperti bernafas. No mind .. demikian menurut Tom Cruise dalam film The Last Samurai.
Lalu apa yang dipikirkan programmer kawakan? Dia memikirkan pengguna aplikasinya. Bukan end-user atau operator, karena itu juga sudah refleks terpikirkan. Melainkan system administrator, first level technical support, dan maintainer programmer (programmer generasi kedua yang akan menambahkan fitur atau melakukan troubleshoot).
Untuk kepentingan tersebut, maka yang harus dipikirkan adalah log message dan exception handling. Log message sangat dibutuhkan oleh sysdamin untuk mendeteksi masalah sedini mungkin. First level technical support juga harus membuat keputusan apakah masalah bisa diselesaikan melalui restart, atau butuh coding tambahan?
Nah, untuk itu kita harus mempertimbangkan :
-
Di titik mana harus menaruh log
-
Informasi apa yang harus ditulis di log
-
Di mana harus menulis log: konsol, file, database, syslog, Event Viewer?
-
Bagaimana harus memformat log message agar mudah ditelusuri?
-
Bagaimana memfilter log agar menampilkan hanya severity tertentu?
-
Bagaimana memfilter log agar hanya meliput modul tertentu?
Beruntung bagi programmer Java, kita hanya perlu memikirkan nomer 1 dan 2. Sisanya sudah disediakan oleh logging framework seperti log4j.
Lalu bagaimana cara menggunakan log4j? Pelajari di Minibook Log4J.
13 Jul 2008
Belajar bahasa pemrograman mirip dengan belajar bahasa manusia. Bahasa pertama adalah yang paling sulit. Ini disebabkan karena kita belum paham istilah-istilah yang digunakan, pola umum menyusun kata, dan ungkapan-ungkapan khusus yang biasa digunakan dalam bahasa tertentu.
Mari kita ingat waktu pertama kali belajar bahasa Inggris (bahasa Indonesia tidak dihitung, karena kita sudah bisa dari kecil). Pertama kali, kita sama sekali tidak tahu vocabulary. Kemudian kita belajar tentang susunan kata, Subjek-Predikat-Objek. Belajar kalimat aktif dan pasif.
Demikian juga dengan bahasa pemrograman. Bahasa pertama selalu paling sulit. Setelah kita menguasai satu bahasa, belajar bahasa berikutnya tidak sesulit yang pertama. Misalnya kita butuh waktu enam bulan untuk menguasai Java, maka untuk belajar PHP mungkin cuma butuh 2 bulan.
Dengan asumsi kita sama sekali belum pernah mengenal bahasa pemrograman, berikut adalah peta jalan untuk belajar bahasa pemrograman Java.
Pertama, kita kumpulkan dulu perlengkapan belajarnya. Kita membutuhkan:
Pada tahap ini, jangan menggunakan editor canggih –biasa disebut Integrated Development Environment (IDE)– macam Eclipse, Netbeans, dan lainnya. IDE memiliki fitur yang canggih dan juga kompleks. Di awal masa belajar, kita ingin belajar tentang bahasa Java, bukan penggunaan tombol dan wizard.
Setelah itu, instal Java SDK. Tergantung metode instalasi Anda, mungkin Anda perlu mengatur environment variabel JAVA_HOME dan PATH. JAVA_HOME mengarah ke folder tempat instalasi Java SDK, sedangkan PATH mengarah pada folder bin di dalam lokasi JAVA_HOME.
Untuk mengetes apakah instalasi Anda sudah berhasil, coba ketik perintah berikut di command prompt:
Bila keluar pesan error “perintah javac tidak ditemukan” berarti environment variabel masih belum diatur dengan benar.
Perhatikan bahwa setelah mengatur environment variabel, kita harus merestart command prompt. Command prompt baik di Windows maupun Linux tidak dapat mendeteksi perubahan environment variabel secara instan.
Selanjutnya, buat kode program sederhana. Dalam semua bahasa pemrograman, kode ini disebut HelloWorld. Kode program ini hanya mencetak tulisan Hello World ke layar komputer.
Coba kompilasi dan jalankan program HelloWorld tersebut. Dari sini Anda akan mengetahui beberapa konsep, yaitu:
Begitu kita sudah bisa mengkompilasi dan menjalankan kode program Java, kita bisa mulai belajar prinsip umum pemrograman. Prinsip ini sama di semua bahasa pemrograman, walaupun cara penulisannya berbeda. Berikut prinsip-prinsip yang perlu dipelajari:
-
Anatomi aplikasi. Di Java, aplikasi terdiri dari banyak package, satu package berisi banyak class, satu class berisi banyak property dan method, satu method terdiri dari banyak statement.
-
Menggunakan variabel
-
Macam-macam tipe data
-
Operator
-
Statement, Comment, Expression
-
Method, function, atau procedure. Istilah mana yang digunakan tergantung bahasa yang dipelajari
-
Penggunaan variabel sebagai argumen dan return value. Pelajari juga pass-by-value vs pass-by-reference dan scope variabel
-
Control Flow, meliputi percabangan menggunakan if-else dan switch, dan perulangan dengan while atau for.Ketahui juga keyword control flow seperti break, return, dan exit.
-
Setelah mahir menggunakan variabel skalar, pelajari variabel majemuk. Variabel majemuk ini ada di semua bahasa pemrograman. Biasanya ada dua kategori dasar, yaitu yang menggunakan indeks numerik dan indeks non-numerik. Di PHP variabel majemuk berindeks numerik disebut dengan numeric-array, sedangkan yang berindeks non-numerik disebut associative-array. Di Java pilihan lebih banyak. Untuk indeks numerik ada List dan array. Sedangkan indeks non-numerik diwakili oleh Map. Java juga punya variabel majemuk yang dinamakan Set, yang tidak memiliki indeks berurut, tapi bisa digunakan untuk mencegah elemen yang duplikat. Pelajari konsep, implementasi, dan penggunaannya.
Beberapa latihan yang dapat digunakan untuk memahami prinsip dasar ini antara lain:
Salah satu keunggulan Java adalah dukungannya terhadap Object Oriented Programming. Sekarang, setelah menguasai cara kerja bahasa pemrograman melalui prinsip-prinsip di atas, kita belajar tentang bagaimana mendesain aplikasi dengan menggunakan prinsip orientasi objek.
Langkah-langkah belajar OOP adalah:
-
Belajar apa itu class dan apa itu object. Kalau di Java, ketahui perbedaan antara class dan instance. Perbedaan antara static variable dan instance variable.
-
Encapsulation
-
Inheritance
-
Polymorphism
-
Banyak orang mengalami kesulitan dalam menjelaskan, apalagi mempelajari encapsulation, inheritance, dan polymorphism. Berdasarkan pengalaman saya, design pattern dapat digunakan untuk membantu pemahaman ketiga konsep OO tersebut. Gunakan Strategy pattern untuk memahami polymorphism, Factory pattern untuk memahami encapsulation, dan Template Method untuk memahami Inheritance. Cukup dengan tiga pattern ini, seharusnya konsep OO sudah bisa dipahami dengan baik
Beberapa bahasa pemrograman seperti Java, Ruby, C# memiliki fitur Exception Handling. Pelajari fitur ini. Khusus Java, pelajari bedanya Error, Checked Exception, dan Unchecked Exception. Yang lebih penting, kenali karakteristik masing-masing dan kapan harus menggunakannya.
Semua bahasa pemrograman modern sudah memiliki infrastruktur Input/Output Stream. I/O Stream ini digunakan untuk membaca dan menulis data ke berbagai tujuan, misalnya file, jaringan, object, dan sebagainya. Dengan menggunakan I/O Stream, teknik baca/tulis file mirip dengan terima/kirim data dari jaringan.
Sebagai latihan, coba buat aplikasi chatting sederhana.
Terakhir, pelajari fitur-fitur Java yang advanced, seperti:
-
Multithreading
-
Reflections API
-
Annotations
-
Generics
-
Enum
Kalau sudah sampai di sini, pengetahuan Anda sudah cukup untuk meneruskan sendiri. Bila ingin membuat aplikasi bisnis, pelajari JDBC, kemudian ikuti Road to Java EE. Bila ingin membuat aplikasi daemon seperti web server atau sms gateway, dalami multithreading, classloading, socket programming, dan lainnya. Bila ingin konsentrasi di mobile, pelajari Java ME.
Demikian panduan singkat untuk belajar bahasa pemrograman Java. Tidak ada yang instan di dunia ini, termasuk belajar bahasa pemrograman. Bila Anda sama sekali belum pernah coding, Anda butuh waktu paling tidak 6 bulan untuk menguasai Java. Bila sudah pernah menggunakan bahasa non-OOP, butuh waktu sekitar 2-3 bulan. Perkiraan waktu ini sekedar gambaran saja, mungkin juga ada yang 2 minggu sudah bisa, atau 2 tahun masih belum bisa. Tergantung kondisi.
Setelah menguasai bahasanya, selanjutnya menguasai (Application Programming Interface) API yang dibutuhkan untuk menyelesaikan pekerjaan. Kemudian masih ada framework untuk membantu pembuatan aplikasi. Jangan lupa, kita masih harus belajar menggunakan tools seperti IDE, Ant, Maven, JUnit, Subversion, agar kita bisa bekerja secara efektif dan efisien.
Selamat belajar Java.