19 Agustus, 2008

Terinspirasi Lebih Semangat

Mas Vavai menuliskan ...
Masing-masing orang punya metode tersendiri untuk mulai belajar Java. Saya pribadi memulainya dengan latar belakang sebagai programmer Visual Basic di Windows. Kemampuan OOP saya bisa dibilang nol besar. Selain itu, saya rada ngeyel, mau menggunakan metode dan cara sendiri untuk belajar sesuatu. Kebiasaan ini merupakan bawaan sejak bayi. Sewaktu SMA (lho, kamu pernah sekolah Vai ? :-P ), alih-alih menyalin tulisan pak guru, saya memilih untuk menuliskan catatan versi saya. Jika pak guru membuat gambar, saya akan menambahkan keterangan versi saya agar bisa saya ingat, “Begini lho maksudnya…”

Sebelum berpanjang lebar soal pengalaman belajar Java, harap dipahami bahwa saya juga baru beberapa waktu belajar dan menggunakan Java untuk pengembangan aplikasi, jadi jangan berpikir saya ini seorang dosen Java atau seorang expert dibidang Java :-).

Ketertarikan saya soal Java dimulai saat saya mulai tertarik dengan Linux. Pemakaian Linux yang semakin intensif, rencana perusahaan untuk migrasi sistem ke Linux dan pencarian aplikasi yang bisa berjalan pada berbagai platform membawa saya ke Java. Salah satu feature penting dari Java tentu konsep WORA (Write Once Run Anywhere) yang ada pada Java. Sekali buat aplikasi, aplikasi tersebut bisa dijalankan pada berbagai sistem operasi. Selain Java, tentu ada aplikasi lain yang sejenis. QT misalnya, tools berbasis C++ yang menjadi kunci pengembangan KDE di Linux menjadi pilihan awal saya, namun saya tidak ku-ku kalau harus membayar biaya lisensinya. Memang sih ada versi open source tapi itu untuk produk open source juga.

Sebelum memilih aplikasi open source, saya juga sempat berniat menceburkan diri ke dunia .NET. Hanya saja, setelah eksplorasi beberapa waktu, skema lisensi .NET membuat saya memilih Java. Meski ada .NET Express, saya memandangnya sebagai tools serba terbatas untuk membangun sebuah aplikasi. Selain itu, perbedaan .NET yang cukup jauh dengan Visual Basic 6.0 saya pandang akan membuat saya mengeluarkan effort yang sama besarnya jika saya menggunakan bahasa yang benar-benar baru.

Sebagai veteran Visual Basic, pilihan awal sebenarnya bukan QT melainkan Gambas. Pertimbangannya, Gambas memiliki kemiripan dengan Visual Basic. Hanya saja, saya masih kurang nyaman dengan keterbatasan yang dimiliki oleh Gambas, sementara disisi lain, Java jauh lebih matang. Real Basic juga pernah saya coba, namun saya tidak eksplorasi lebih jauh setelah aplikasi Visual Basic yang saya import dari versi native tidak dapat dijalankan secara penuh di Real Basic.

Pertimbangan terakhir untuk memilih Java adalah setelah melakukan blog walking dan menemukan blog dari Endy Muhardin. Dari tulisannya, saya melihat mas Endy cukup lugas dalam memberikan penjelasan mengenai sesuatu dalam bahasa Java. Konsep OOP yang dianalogikan dengan sebuah mobil misalnya, membuat saya jauh lebih mudah mencerna pemahaman hal tersebut dibandingkan konsep abstrak lainnya.

Adalah suatu kebetulan, ketika saya tertarik untuk belajar Java, perusahaan juga dalam proses melakukan migrasi aplikasi ke Linux. Proposal saya untuk mengadakan pelatihan internal Java bagi para IT staff disetujui oleh pihak manajemen sehingga proses pembelajaran Java bisa jauh lebih mudah. Trainer yang dipilih juga sangat memahami mindset melakukan coding dengan Java sehingga adaptasi ke Java bisa lebih smooth. Trainernya ? Ya Endy Muhardin :-). Untuk aplikasi menggunakan desktop dan web menggunakan Netbeans, mas Endy disertai rekannya dari komunitas Netbeans Indonesia, Ifnu Bima. Hebatnya, Ifnu ini masih mahasiswa…

Satu hal yang perlu ditekankan, dengan ataupun tanpa pelatihan yang diadakan oleh perusahaan, saya akan tetap mempelajari Java. Resource yang berlimpah di internet merupakan sumber pembelajaran yang bisa diakses dengan mudah.

Lantas, bagaimana pola saya mempelajari Java ?

Latar belakang Visual Basic saya membuat saya melompat-lompat saat melakukan coding. Bisa saja diawal saya menggunakan konsole untuk kemudian tiba-tiba membuat aplikasi database dengan Netbeans untuk kemudian mundur kembali pada konsep OOP. Jika diilustrasikan, berikut adalah catatan kasar sewaktu saya belajar Java.

  1. Bagaimana cara install Java di Linux (OpenSUSE)
  2. Bagaimana cara install IDE Java di Linux (Netbeans, Eclipse, Sun Java Creator dll)
  3. Bagaimana melakukan kompilasi, setting path dan classpath di Linux
  4. Bagaimana membuat Hello World !
  5. Bagaimana membuat aplikasi dasar sekuensial (aplikasi perhitungan biasa tanpa percabangan ataupun perulangan)
  6. Bagaimana membuat aplikasi percabangan (If Then Else)
  7. Bagaimana membuat aplikasi perulangan (Loop)
  8. Bagaimana membuat aplikasi grafis
  9. Bagaimana membuat aplikasi dasar toolbox / pallete grafis (button, text field, combo, list)
  10. Bagaimana membuat aplikasi dengan tabel
  11. Bagaiamana melakukan koneksi ke database via konsole
  12. Bagaimana melakukan koneksi ke database via Netbeans
  13. Bagaimana membuat aplikasi database lengkap
  14. Bagaimana konsep OOP diterapkan dalam sebuah aplikasi yang siap dijalankan
  15. Bagaimana melakukan deployment aplikasi

Dalam perjalanannya, berbagai hal diatas dilengkapi dengan testing penggunaan framework dan model. Dalam beberapa hal, saya cenderung untuk membuat program secara sederhana, meski dengan konsep OOP yang amburadul sekalipun untuk mendapatkan bentuk pemahaman yang saya inginkan. Saran saya, untuk mulai belajar Java, tidak usah dipusingkan dengan konsep framework maupun pemisahan kode dan upaya melakukan fleksibilitas kode. Kalau bisa sih nggak apa-apa, tapi kalau tidak bisa, itu akan mempersulit upaya belajar. Seperti halnya kita saat belajar di sekolah, konsep awal mungkin dibuat mudah agar kita bisa melangkah secara bertahap.

Sewaktu saya menjadi assisten lab komputer di STMIK Bani Saleh Bekasi (1999-2004), pengalaman saya mengajar mahasiswa baru mungkin bisa menjadi masukan. Saat menjelaskan konsep pemrogramman dengan perulangan menggunakan Turbo Pascal, saya melakukan hal sebagai berikut :

  1. Saya minta mahasiswa membuat program dengan tulisan : “Nama saya adalah : Nama-Sendiri”
  2. Saya minta mahasiswa membuat program untuk mencetak tulisan tersebut sebanyak 5 kali. Untuk tahap ini, ada cukup banyak mahasiswa yang menulis statemen diatas sebanyak 5 kali secara manual. Pada saat ini, saya contohkan bagaimana melakukan copy-paste di teks editor Pascal (menggunakan CTRL + KB, CTRL + KK, CTRL + KC. Perintah ini saya ingat karena saya masih termasuk generasi yang mengalami aplikasi pengolah kata Wordstar :-D )
  3. Saya minta mahasiswa membuat program untuk mencetak tulisan sebanyak 10 kali. Sebagian besar menggunakan perintah copy-paste untuk melakukannya.
  4. Saya minta mahasiswa mencetak tulisan yang sama tapi sebanyak 1000 kali. Saat mereka mengeluh soal lamanya proses copy-paste, barulah saya menjelaskan konsep perulangan.

Cukup berbelit memang, tapi itu saya lakukan agar mahasiswa tidak serta merta menganggap konsep perulangan dan konsep lain dalam dunia pemrogramman tercipta dengan sendirinya. Bukan juga berarti bahwa mahasiswa saya terlalu newbie untuk hal yang sama. Sebagian dari mereka sudah memahami konsep yang sama namun dengan cara pandang yang berbeda.

Bagaimana ? Tertarik menggunakan Java ? Apakah masih menggunakan aplikasi WODA ? Write Once Debug Anywhere ? :-))

Related Entry :

  1. Endy Muhardin : Belajar Java, Mulai Dari Mana ?
  2. Ifnu Bima : Belajar Java Mulai Dari Mana

0 komentar:

Blogger Templates by OurBlogTemplates.com 2007