Blog Kang One

Catatan Sederhana untuk Berbagi

Perkembangan Teknologi Java di Indonesia

Interviewer: Sony Arianto Kurniawan
Published: March 28, 2006
Visits: 362 - Category: Interview

Interview kali ini saya berkesempatan untuk mewawancarai beberapa orang yang berkecimpung dengan dunia Java di Indonesia. Saya tertarik mewawancarai beberapa orang-orang ini untuk lebih jauh membicarakan perkembangan dan prospek Java di Indonesia. Mungkin Anda sudah tahu bahwa Java merupakan platform yang saat ini banyak dipakai tidak saja di kalangan akademisi tetapi bahkan juga sebagai solusi yang ampuh bagi perusahaan skala enterprise.

Awalnya penulis mengirimkan e-mail pertanyaan seputar Java kepada orang-orang berikut ini.

* Frans Thamura (Intercitra)
* Eko BS (Sun Microsystems)
* Darmawan Suandi (Pacomnet)
* Endy Muhardin

Mereka semua adalah orang-orang yang bergelut dengan Java di perusahaan masing-masing dan juga sangat aktif di komunitas maya maupun non-maya. Sampai tulisan ini diturunkan saya hanya mendapatkan respon dari Frans dan Endy. Eko dan Darmawan belum merespon sampai tulisan ini diturunkan. Sambil menunggu respon dari yang lain maka saya turunkan dahulu jawaban dari Frans dan Endy.

Platform Java memang tumbuh sangat pesat dan banyak inovasi yang lahir di dunia Java, khususnya yang lahir dari komunitas pecinta Java. Sekarang mari kita simak hasil interview kami berikut ini.

Sony AK Knowledge Center (SAKKC): Bagaimana keadaan perkembangan Java di Indonesia saat ini?

Endy Muhardin (EM): Menurut saya, beberapa tahun terakhir ini, jumlah pengguna Java di Indonesia sudah meningkat secara signifikan. Beberapa universitas juga sudah menjadikan Java sebagai bahasa pengantar utama dalam perkuliahan.

Dari sisi komunitas, diadakan pertemuan rutin yang dihadiri oleh para peminat Java, baik yang expert maupun yang newbie. Dalam beberapa bulan terakhir, jumlah pesertanya semakin banyak. Seringkali ruangan yang disediakan tidak dapat menampung keseluruhan peserta.

Frans Thamura (FT): Sangat hebat, sangat hebat, tetapi sayangnya vendor kurang turun gunung, jadi yah itu programmer yang siap pakai di industri masih sangat sedikit. Jadi sekarang sudah saatnya vendor turun gunung, kecuali mereka bangga dengan mereknya dan dengan promosi sendiri, wabah produk mereka yang berbasis Java akan menyerang para member Java.

SAKKC: Bisa diceritakan teknologi-teknologi terkini yang ada di Java saat ini?

EM: Teknologi terkini yang terkenal antara lain adalah:
- Aspect
- Annotation

Aspect digunakan untuk menambahkan fungsionalitas ke object yang sudah ada secara transaparan. Misalnya otorisasi, siapa boleh memanggil method apa. Kalau kita coding secara manual ke method, akan ada kode otorisasi di semua method, sehingga banyak terjadi duplikasi. Istilah pemrogramannya, kode seperti ini tidak ortogonal. Tambahkan kode untuk logging, buka-tutup resource, dan lainnya, maka kode program kita akan menjadi sangat-sangat tidak efisien dan sulit dimaintain. Dengan Aspect, kode yang tersebar dan terduplikasi ini dapat dikumpulkan di satu tempat saja. Tanpa Aspect, kita dapat mencapai tujuan yang sama dengan pattern Interceptor.

Annotation adalah implementasi metaprogramming di Java. Metaprogramming artinya memprogram program itu sendiri. Salah satu contoh penggunaan annotation adalah untuk menerapkan Aspect pada kode. Jadi, di dalam kode program, kita menambahkan kode annotation untuk mengkonfigurasi Aspect. Masih banyak lagi penggunaan annotation yang meningkatkan produktivitas. Contoh lain adalah konfigurasi mapping tabel database dengan business object.

FT: Ada 2, satu yaitu java dari vendor (di Indonesia kurang populer), dan Java yang light, sehingga bisa buat sistem yang murah, setelah itu yang teknologi diatas Java Enterprise, seperti framework JSF yang standard, integrasi beberapa produk open source kelas dunia seperti Struts Shale dengan Webwork, Injection yang lagi naik daun.

SAKKC: Java itu sebenarnya Free atau Open Source atau bagaimana? Bisa dijelaskan?

EM: Java sebenarnya adalah kumpulan spesifikasi yang free, dikeluarkan oleh Sun Microsystems. Mulai dari bahasa pemrogramannya, berbagai aplikasi server, dan juga spesifikasi komponen yang dapat dijalankan di server adalah berupa spesifikasi/standar. Implementasi dari standar ini bisa dibuat oleh siapa saja. Untuk saat ini, implementasi bahasa pemrograman yang umum digunakan antara lain Sun Microsystems, IBM, dan BEA.

Implementasi ini gratis dan bebas digunakan untuk perorangan, tapi ada batasan-batasan khusus dalam pendistribusiannya. Artinya, kita boleh pakai dengan gratis atau bebas, tapi kita belum tentu boleh untuk memberikannya pada orang lain. Selain itu, juga ada implementasi yang open source misalnya Blackdown dan gcj.

Di luar bahasa pemrogramannya sendiri, ada banyak kumpulan framework, library, dan aplikasi yang open source. Salah satunya adalah project Jakarta milik Apache Software Foundation. Project Jakarta ini menampung banyak komponen siap pakai yang open source.

Ini mungkin berbeda dengan bahasa pemrograman seperti yang kita kenal dulu, misalnya VB atau Delphi. VB atau Delphi adalah sebuah produk, bukan spesifikasi. Jadi, hanya ada satu implementasi dari VB, yaitu buatan Microsoft, dan hanya ada satu implementasi Delphi, yaitu yang diterbitkan Borland.

Untuk platform .NET, Microsoft juga mengambil pendekatan spesifikasi-implementasi seperti Java. Spesifikasinya tersedia bagi umum, dan Microsoft menyediakan implementasinya berupa Visual Studio .NET. Tapi masyarakat umum juga bisa membuat implementasi sendiri, misalnya project Mono (http://www.mono-project.com).

FT: Java lebih tepat disebut sebagai standard dibawah JCP.org saat ini, dan salah satu implementasinya dengan nama sama Java dari Sun yang disebut Sun Java SDK, sedangkan implementasi lainnya seperti GCJ, Harmony, Javali dan Classpath adalah yang lainnya.

Harmony dan Classpath yang paling agresif untuk mengadopsi standard JCP, yang nantinya dalam beberapa tahun ke depan akan menjadi alternatif dari Sun Java SDK.

SAKKC: Bagaimana mengenai pangsa pasar pengguna Java di Indonesia dibandingkan dengan platform yang lain?

EM: -

FT: Java naik terus, saat ini dibawah JUG sendiri kurang lebih ada 200-an perusahaan yang mulai ke Java, ini termasuk yang 100% Java company seperti Intercitra atau yang Microsoft partner yang melirik ke Java.

Maklum Java itu benar-benar end-to-end dari mobile sampai enterprise clustering, dan semuanya sudah ada tuh perusahaan yang bergerak disana.

SAKKC: Banyak orang saat ini mengatakan bahwa saat ini Java bertempur melawan .NET, bagaimana pendapat Anda mengenai hal tersebut? Siapa yang bakal menang dan bagaimana kesiapan Java dalam menghadapi pesaing lainnya?

EM: Siapa yang menang atau kalah itu masih perlu kita saksikan. Satu hal yang jelas, cakupan pasar Java jauh lebih besar daripada .NET. .NET hanya bisa berjalan 100% pada Windows. Implementasi Mono yang bisa berjalan di Linux masih belum memiliki seluruh fitur yang ada dalam spesifikasi.

FT: Wah itu mah gak usah dibahas, .NET itu pasarnya beda, dengan Java dan sudah gak bisa dibandingkan, secara marketing satu menguatkan Windows satu sebagai platform, jadi jangan disamakan tetapi memang diakui .NET dan Java adalah teknologi Virtual Machine.

Siapa yang menang? .NET akan ada pasar, karena kekuasaan Microsoft di desktop, Java tentu saja di enterprise market dan mobile. Tetapi jangan kaget Mustang lagi ke desktop juga, dan Microsoft yang punya super cross selling product, pasti ada strategi menjual .NET. ABAP dari SAP saja ada yang pakai, masa .NET gak ada. Demikian juga dengan Java yang didukung 700 lebih (anggota JCP) perusahaan, gak akan mudah hilang. RPG aja yang sudah kaleng butut, IBM sudah suruh migrasi ke Java masih ada.

SAKKC: Java banyak digunakan oleh kalangan enterprise dan juga akademisi, bagaimana menurut Anda akan hal tersebut? Apakah Java sudah layak untuk kebutuhan enterprise?

EM: Java didukung oleh vendor-vendor terkemuka di dunia, misalnya IBM, BEA, Oracle, dan sebagainya. Perusahaan tempat saya bekerja banyak menangani pembangunan aplikasi di perusahaan nasional dan internasional. Hampir seluruh proyek yang dikelola menggunakan Java sebagai teknologi utama. Menurut saya, kelayakan Java untuk kebutuhan enterprise sudah tidak perlu dipertanyakan lagi.

FT: Java memang sangat kuat di enterprise pasar yang hanya dimiliki oleh para vendor UNIX. Itu gak usah dipungkiri lagi.

SAKKC: Kebanyakan orang yang ingin belajar Java selalu mengatakan susah untuk memulainya. Apa ada saran-saran agar mudah belajar Java?

EM: Segala hal yang baru dipelajari itu sulit. Akan menjadi mudah kalau kita sudah bisa. Semua orang mengalami kesulitan waktu pertama kali belajar berjalan, naik sepeda, ataupun mengendarai mobil. Sama saja dengan bahasa pemrograman. Saran saya adalah:

1. Menerima kenyataan bahwa belajar itu sulit. Tapi sulit bukan berarti TIDAK FUN.
2. Membuat proyek kecil/sederhana dengan menggunakan Java. Saran ini tidak hanya untuk Java, tapi juga bahasa pemrograman lainnya. Saya selalu membuat aplikasi kecil apabila ingin belajar bahasa/teknologi baru. Ini akan meningkatkan pemahaman tentang hal-hal teknis praktis.
3. Aktif dalam komunitas, baik bertanya, maupun menjawab. Banyak pemula di mailing-list yang saya ikuti ragu-ragu untuk menjawab walaupun sebenarnya pertanyaannya sederhana (biasanya diajukan oleh yang lebih pemula lagi :D) Padahal dalam proses menjawab itu, si penjawab akan mendapatkan pengalaman yang penting. Misalnya pengalaman mencari solusi di internet, pengalaman menerima koreksi (apabila jawabannya salah), dan juga pengalaman berdiskusi secara dewasa.

FT: Karena terbiasa dengan drag and drop VB, yah itu salah sendiri, tetapi dengan VB.NET yang secara teknologi berbeda jauh dengan VB6, serta fitur VB.NET yang tidak sebanyak C#, serta C# yang sama dengan JAva. Jadi yah sudah gak ada pilihan, ke Java atau keluar dari market IT.

SAKKC: Bisa diceritakan ketika Anda pertama kali kenal dengan Java? Bagaimana pandangan Anda waktu itu?

EM: Saya pertama kali mendengar tentang Java pada saat kuliah, kira-kira tahun 1998. Pada saat itu, Java terkenal sebagai bahasa yang bisa berjalan di segala platform. Tetapi, saya baru mempelajari Java secara serius pada tahun 2002 karena tuntutan pekerjaan. Saya harus menjadi instruktur dan mengajarkan Java pada peserta training.

Pandangan saya pada saat mulai belajar adalah:

1. Sintaksnya mirip dengan PHP yang pada saat itu sudah lebih dulu saya kuasai.
2. Mempelajari (dan bisa berpikir secara) Object Oriented lebih sulit daripada belajar Java itu sendiri.
3. Sangat produktif, karena tidak perlu penyesuaian apalagi kompilasi ulang apabila ingin berganti Linux -> Windows atau sebaliknya. Kita juga tidak perlu mengelola memori seperti C atau C++.

FT: Saya di-email oleh Rasmus sang pembuat PHP, karena pertanyaan saya mengenai positioning PHP, saat itu saya mengasuh Linux Indonesia dan juga teman saya salah satu commiter PHPNuke, akhirnya gara-gara email itu, saya ke Java, dan hebatnya setelah statement itu, terbukti Apache sekarang jadi komunitas Java yang besar di dunia.

SAKKC: Apa kira-kira tantangan yang akan dihadapi Java dan developer Java di masa-masa yang akan datang?

EM: Buat teknologi Java, tantangannya adalah bagaimana meningkatkan produktifitas developer.

Pada waktu saya belajar Java dulu, Java sangat produktif, karena tidak perlu mengelola memori sendiri, tidak seperti C atau C++. Ini sangat meningkatkan produktivitas, karena kegiatan mengelola memori membutuhkan banyak usaha dan juga rentan terhadap bug. Saat ini, hampir semua bahasa populer sudah memiliki fitur ini, sehingga Java tidak lagi unggul dalam hal ini.

Sekarang ini, Java dianggap tidak produktif, karena banyak sekali overhead yang harus dilakukan dalam membuat aplikasi, misalnya membuat konfigurasi xml, deployment, dsb. Di lain pihak, sekarang banyak bermunculan bahasa/teknik pemrograman/framwork yang jauh lebih efisien, misalnya Ruby.

Developer Java, menurut saya, dituntut untuk:

1. Mengubah mindset yang selama ini sudah menjadi tradisi.
Framework Ruby on Rails yang sekarang sedang populer, tidak sepenuhnya hebat karena bahasa Ruby-nya. Memang Ruby memungkinkan kita untuk melakukan meta-programming dengan lebih mudah, tetapi framework Rails sendiri memperkenalkan paradigma baru yang lebih efisien daripada yang selama ini dianut developer Java.

Misalnya, paradigma 'configuration based on convention' dan 'smart default' yang digunakan di Ruby on Rails. Artinya, desainer framework berusaha membuat konfigurasi standar (yang tidak membutuhkan effort tambahan dari developer) tapi dapat diganti apabila perlu. Pada 80% kasus, konfigurasi standar tersebut sudah mencukupi, sehingga programmer tidak dibebani kegiatan konfigurasi.
2. Tidak berpuas diri dan selalu meningkatkan kemampuan.
Posisi market leader di enterprise di Java sangat berpotensi menimbulkan rasa superioritas di para developer Java. Kita sebagai developer Java harus selalu siap menerima konsep baru yang datang dari luar dunia Java.

FT: Akan semakin menarik, dengan masuknya pervasive computing dan lisensi Java di mobile yang dipegang Sun dan tidak gratis, membuat teknologi alternatif lainyna akan berkembang, seperti Erlang.

SAKKC: Apa ada pesan-pesan lain bagi rekan-rekan yang ingin memperdalam Java?

EM: Saat ini, Java di Indonesia masih dalam taraf pertumbuhan, sehingga diharapkan kebutuhan developer Java masih akan meningkat terus. Jadi, belajar Java masih menjadi investasi yang berprospek cerah. Jangan ragu untuk belajar Java. Walaupun terasa lebih sulit, Java membuat kita menjadi terbuka wawasannya terhadap masalah-masalah enterprise, misalnya database connection pooling, clustering, distributed transaction, dan lainnya. Banyak konsep penting yang dapat kita peroleh dibandingkan cara cepat klik-and-drag.

FT: Percaya pada kemampuan sendiri, jangan lupa untuk membagi ilmunya terutama ilmu yang didapat dari komunitas.

SAKKC: Di mana tempat yang enak untuk belajar atau kursus Java? Ada yang tahu?

EM: Berdasarkan pengalaman, saya menganjurkan untuk otodidak belajar sendiri di rumah. Cukup download tutorial dan SDK dari situs Sun dan belajar dari situ. Tentu saja penguasaan bahasa Inggris mutlak diperlukan. Pertanyaan atau keraguan bisa dicari solusinya di milis Java.

FT: Belajar sendiri dan sharing dengan teman.

SAKKC: Apa Java IDE yang Anda sukai? Apa alasannya?

EM: Persyaratan IDE layak pakai bagi saya cuma satu: bisa mewarnai source code. Tambahan autocomplete, refactoring tools, dan integrasi dengan server itu cuma sekedar kosmetik saja. Programmer yang baik seharusnya tidak bergantung pada kecanggihan tools.

FT: Saya pengemar Eclipse, tetapi sedang belajar Netbeans dan JDeveloper, sebab semuanya dah gratis, coba semua.

SAKKC: Oh ya, kami dengar saat ini ada program yang dinamakan Java Champion. Bagaimana menurut Anda mengenai program tersebut? Apa saja kira-kira keuntungannya bagi pemegang gelar Java Champion ini?

EM: Saat ini belum ada komentar tentang program JC.

FT: Saat ini Java Champions sudah ada, tetapi program nyatanya lagi digodok, yang pasti saat ini sih seorang JC bisa kenalan dengan orang Java beken dunia, walaupun secara mailing list. Keuntungan lain, JC adalah keren-kerenan.

Maklum bagi saya yang sudah dapat, tidak memberikan nilai income tambahan selain keren, tetapi kerennya juga masih kurang afdol, mungkin 2-3 tahun lagi yah. Maklum JC adalah program Sun global divisi outreach sebenarnya.

Sekilas Endy Muhardin
Endy Muhardin adalah praktisi IT yang berdomisili di Jakarta. Saat ini bekerja di salah satu perusahaan software development terbesar di Indonesia pada divisi Software Engineering Process Group. Kompetensi utama meliputi Linux, Java, dan framework Open Source. Situs Endy Muhardin bisa dilihat pada http://endy.artivisi.com/ atau e-mail di endy@artivisi.com dan bisa juga ditemui melalui Yahoo! Messenger-nya dengan ID endymuhardin.

Sekilas Frans Thamura
Frans Thamura adalah praktisi TI dan pecinta Java. Saat ini bekerja di Intercitra. Beliau bisa dijumpai melalui e-mail frans@intercitra.com atau di Yahoo! Messenger dengan ID fthamura.

Demikian wawancara singkat seputar perkembangan teknologi Java dan hal lainnya di Indonesia. Semoga bermanfaat bagi Anda semuanya. Jika ada saran atau komentar bisa dikirimkan melalui sony-ak@sony-ak.com. Untuk membaca tulisan menarik lainnya silakan menuju ke situs Sony AK Knowledge Center yang beralamat di www.sony-ak.com.

Terima kasih

Tulisan ini diambil dari www.sony-ak.com
Labels: TIK

Thanks for reading Perkembangan Teknologi Java di Indonesia. Please share...!

Back To Top