suhe arie's pages

Programmer juga manusia

Saatnya memilih

Bukan ikut2an, bukan mencari musuh, bukan juga ingin mempengaruhi teman2 yang sudah punya pilihan tetap apalagi dengan jurus “pokok-e si anu”. Saya hanya ingin sekedar berbagi pendapat pribadi, kalau sudi membaca ya monggo, kalo tidak, ya terima kasih.

Ini adalah kali pertama saya tertarik untuk mengikuti, mengamati, berkomentar, dan pastinya akan berpartisipasi dalam pemilihan presiden. Pilpres 5 tahun lalu, males. Pileg apalagi, males banget. Tertarik, karena ini mungkin pertama kalinya saya merasa ada harapan yang lebih nyata untuk Indonesia yang lebih baik pada salah satu pasangan capres-cawapres dan supaya hal itu bisa terwujud saya merasa perlu untuk ikut patungan opini apalagi setelah menonton debat perdana 9 Juni 2014.

Alasan2 berikut ini yang membuat saya menjatuhkan pilihan pada pasangan tertentu: Continue reading

Advertisements

June 28, 2014 Posted by | Inside my mind | 7 Comments

Mencoba jawab (bukan cuma baca) di StackOverflow

Anda mungkin sudah familiar dengan StackOverflow, terutama bagi Anda yang sering mencari solusi permasalahan programming secara online. Website ini memang menyimpan ribuan bahkan mungkin jutaan pertanyaan dan jawaban seputar programming dan teknologi informasi secara umum, Google pun sering menampilkan halaman dari website ini ketika kita melakukan pencarian online. Tapi, apa Anda pernah berkontribusi dengan menjawab pertanyaan-pertanyaan yang ada disana? Hehe..

Beberapa waktu lalu, saya iseng-iseng mencoba membuat akun di StackOverflow karena kebetulan ingin bertanya sesuatu tentang Google App Engine. Ternyata cukup menarik juga, karena dengan adanya akun ini, saya bisa mengajukan pertanyaan dan juga menjawab pertanyaan orang lain. Menarik, karena jika kita memberikan jawaban untuk pertanyaan orang lain, dan orang tersebut menganggap jawaban kita benar (bisa menyelesaikan permasalahan yang diajukan), maka kita akan mendapat poin dan reputasi. Saya lihat beberapa orang punya poin sampai puluhan ribu poin. Saya jadi berpikir, mulai dari kapan mereka ikutan StackOverflow, dan berapa jam dalam sehari mereka habiskan untuk menjawab pertanyaan orang-orang itu. Mungkin, ga pake tidur, haha..

Beberapa hal menarik lainnya:

  • Dilihat dari jumlah tag, ternyata jumlah pertanyaan berkaitan dengan C# (dotnet) mengungguli jumlah pertanyaan yang berkaitan dengan Java. Ternyata, perkiraan saya bahwa jumlah pertanyaan terbanyak adalah Java ternyata salah 🙂
  • Pertanyaan baru muncul sekitar 5-10 detik sekali. Cukup mengagumkan, berarti banyak sekali orang yang punya masalah dengan programming.
  • Respon (jawaban, atau comment) untuk pertanyaan baru juga sangat cepat. Untuk pertanyaan-pertanyaan yang sederhana, respon pertama bisa muncul kurang dari satu menit setelah pertanyaan diposting oleh si penanya. Jadi, kalau mau jawab, mesti balapan dengan orang-orang ini.
  • Beberapa pertanyaan menurut saya cukup mengganggu. Pertanyaan yang menurut saya mengganggu adalah pertanyaan tugas kuliah yang hanya di copy/paste, pertanyaan yang terlalu umum yang membuktikan bahwa si penanya tidak berusaha sedikitpun sebelum bertanya. Pertanyaan-pertanyaan seperti ini biasanya akan di ‘flag’ negatif oleh user lainnya, bahkan mungkin akan di bekukan (put on hold). Jadi kalau Anda mau bertanya disana, berusahalah dulu baru bertanya.

Ok, sekian dulu.. Saya mau ke StackOverflow lagi untuk coba cari pertanyaan-pertanyaan yang bisa saya jawab.

Opps.. website nya down, alias tidak bisa diakses. Besok coba lagi deh 🙂

April 13, 2014 Posted by | My Days | 1 Comment

Fitur baru di Java SE 6 (Mustang)

Meskipun Java SE 6 sudah lama beredar, sepertinya tidak salah untuk me-review  kembali hal-hal baru yang ditawarkan oleh Java SE 6 (dikenal dengan nama Mustang), tentunya dengan membandingkannya dengan Java SE 5. Secara umum, tidak ada hal yang benar-benar baru dari sisi arsitektur bahasa Java nya sendiri. Pengembangan lebih banyak dilakukan pada API, utilities, dan integrasi beberapa library yang sebelumnya merupakan komponen tambahan diluar JDK yang harus didownload secara terpisah.Berikut ini beberapa hal yang saya anggap menarik untuk dibahas. Tentunya ada banyak hal lain yang ada di Java SE 6 tapi tidak saya bahas disini karena kurang menarik (menurut saya). Continue reading

November 12, 2012 Posted by | Java | , | 1 Comment

Towards bug-free software – Unit Testing dengan JUnit 4

Unit testing menjadi semakin populer beberapa tahun belakangan ini, seiring dengan permintaan akan peningkatan kualitas software yang mendekati sempurna. Meskipun sebuah aplikasi yang 100% ‘bug free’ tidak akan pernah ada, tetapi setidaknya ada beberapa hal yang bisa dilakukan untuk menuju ke arah tersebut. Salah satunya adalah dengan mengimplementasikan unit testing.

Secara sederhana, unit testing dapat diartikan sebagai pengujian/testing terhadap satuan terkecil atau komponen dari sebuah software atau aplikasi untuk memastikan bahwa komponen tersebut bekerja dengan baik, sebelum melakukan testing terhadap aplikasi secara keseluruhan. Metode ini sebenarnya bukan hal yang sama sekali baru. Banyak orang sudah melakukan hal ini sejak lama dengan cara manual. Setelah komponen selesai di-develop, programmer atau tester akan melakukan test secara manual terhadap komponen tersebut dengan memberikan berbagai macam input and menganalisa output yang diberikan oleh komponen tersebut. Hal ini tentunya membutuhkan waktu yang panjang dan bisa jadi merupakan sesuatu yang membosankan, karena harus dilakukan berulang-ulang sampai semua skenario selesai diuji dan memberikan hasil sesuai ekspektasi. Inilah yang akhirnya memunculkan ide untuk membangun framework untuk melakukan unit testing secara otomatis (automated unit testing). Metode ini mengarah pada sesuatu yang dinamakan Test Driven Development, dimana skenario test didefinisikan terlebih dahulu, bahkan sebelum aplikasinya sendiri mulai didevelop.

Dengan unit test otomatis, semua skenario test bisa dijalankan secara otomatis, berulang-ulang, tanpa melibatkan interaksi manusia. Unit test penting untuk dilakukan secara terus menerus, berulang-ulang – setiap kali kode aplikasi mengalami perubahan – untuk memastikan bahwa setiap komponen masih berfungsi dengan benar setelah adanya penambahan fitur atau perbaikan logika di dalam komponen tersebut. Dengan demikian, tester bisa mengalihkan fokus pada testing terhadap aplikasi secara keseluruhan. JUnit (http://www.junit.org/) adalah framework unit test yang populer untuk aplikasi yang dibangun dengan Java. Untuk melakukan unit test, programmer perlu menulis kode tambahan (selain kode aplikasi itu sendiri) yang memberikan berbagai macam input dan mengindikasikan output yang diharapkan. Hal ini biasanya dilakukan terhadap setiap method dari setiap class, yang bisa dianggap sebagai unit terkecil dari aplikasi. Release terakhir dari JUnit adalah JUnit 4 yang mengimplementasikan annotation untuk mempermudah programmer untuk menuliskan test class.

OK, let’s get started.. Continue reading

October 26, 2012 Posted by | Java | , , | 1 Comment

Concert, or Church Service?

What do you think this is?

Hillsong Church, London.. Minggu kemarin, saya berkesempatan untuk datang ke gereja yang asalnya dari Australia ini, untuk kebaktian sesi yang kedua, jam 1 siang. Uniknya, mereka tidak menggunakan gedung gereja yang permanen, tapi sebuah gedung teater/musikal yang sehari-harinya digunakan untuk konser dan pertunjukan musikal. Di London, gedung ini (Dominion Theater) cukup dikenal karena setiap harinya gedung ini dipenuhi ratusan orang yang ingin menikmati teater musikal We Will Rock You, by Queen.

I enjoyed the service, meskipun datang agak terlambat karena harus naik kereta dari apartment sekitar empat puluh lima menit (alasan doang sih). The praise & worship was magnificent, plus a blessing and touching words of God. Lain kali kesana lagi deh, dan semoga ga pake telat 🙂

God bless you all..

November 11, 2010 Posted by | My Days | 4 Comments

Oh Indonesia, unluckiest country?

Akhirnya, niat untuk menulis bangkit lagi, thanks to si Teppy di thefreakyteppy dot wordpress dot com!

Seperti deja’vu, pengalaman ini terulang lagi dengan 3 keywords, London, Indonesia, Bencana.

Sekali lagi tanah air kita harus berduka, kali ini malah harus menanggung dua bencana alam pada saat yang hampir bersamaan, meskipun terjadi di dua daerah yang berbeda. Gempa dan tsunami di pulau Mentawai dan meletusnya gunung Merapi di Jogja, really devastating. Turut berduka yang mendalam untuk teman-teman yang ada di sana.

Sehari setelah bencana tersebut terjadi, saya tahu tentang berita ini dari BBC news dan dari surat kabar yang cukup terkenal di sini, di London. I just can say, Oh My God…

Evening Standard

Evening Standard

 

Di kantor, beberapa orang teman bertanya, “How is Indonesia?”, “What’s happen in your country”, “Is your family OK?”, dan beberapa pertanyaan sejenis. Saya langsung teringat kejadian yang mirip seperti ini, awal tahun lalu, di moment yang sama, ketika saya sedang dalam tugas kantor untuk ‘mengunjungi’ company’s headquarter, di London, seperti saat ini.
Tahun lalu, berita cukup menggemparkan datang dari Indonesia, terjadi banjir yang menewaskan banyak orang karena tanggul di Situ Gintung jebol. Saya ingat sekali, saat itu saya membaca surat kabar Metro (bacaan orang London tiap hari), di halaman 2, hampir satu halaman penuh, memberitakan tentang jebolnya Situ Gintung yang mengakibatkan kerugian jiwa dan materi yang luar biasa.

Continue reading

November 2, 2010 Posted by | Inside my mind, My Days | 1 Comment

Pengenalan Web Framework: Apache Struts

Karena ini adalah artikel pertama saya tentang framework, ada baiknya kita tahu dulu apakah yang disebut framework, dan mengapa kita memerlukannya. Ok, secara singkat dapat dikatakan bahwa framework biasanya terdiri atas:
1. Library, adalah kumpulan kode siap pakai.
2. Pattern, pola kerjanya.
3. Rule. Misalnya file xxx harus diletakkan di direktori abc, buat file xml dengan nama blablabla.xml, letakkan di folder xyz.

Tujuan framework adalah untuk memudahkan programmer untuk melakukan pekerjaan yang umum dan dilakukan secara berulang-ulang. Dengan adanya framework, hal-hal tersebut menjadi lebih mudah karena framework sudah menyediakan fitur-fitur tersebut, sehingga waktu pengerjaan diharapkan bisa menjadi lebih cepat dan memperoleh hasil yang lebih baik. Keuntungan lain dari penggunaan framework adalah programming style dari tim developer bisa lebih seragam (konsisten), karena framework sudah menyediakan pattern yang sudah terbukti efektif untuk mendevelop aplikasi.
Kelemahan penggunaan framework adalah perlunya waktu untuk mempelajari cara penggunaan framework itu sendiri. Jika waktu tersebut masih jauh lebih pendek daripada waktu pengerjaan proyeknya, maka menggunakan framework akan memberikan manfaat yang signifikan.

Pernah merasa melakukan sesuatu yang sama, berulang2 pada setiap project ? Misalnya, untuk bikin aplikasi web, kita sering bekerja untuk:
1. Validasi input dari html form.
2. Mengambil semua parameter yang disertakan dalam http request, kemudian mengubahnya menjadi java object.
3. Membuat servlet untuk melakukan complex processing.
4. Melakukan manipulasi database.
5. Setelah processing selesai, forward control ke halaman JSP.

Jika jawabannya adalah YA, maka Anda bisa menggunakan web framework untuk mengerjakan hal-hal tersebut dengan lebih mudah.

Struts, mungkin Anda sering dengar, sering baca di forum, artikel atau lowongan pekerjaan. Bagi yang belum tahu, Struts adalah web development framework yang berada di bawah payung Apache Software Foundation. Struts menggunakan pattern Model-View-Controller (MVC) dengan memanfaatkan Java Bean (Model), Servlet (Controller) dan JSP (View). Sekilas pengenalan tentang Servlet dan JSP bisa dibaca di sini.

Berikut adalah gambar yang mendeskripsikan bagaimana struts framework bekerja dalam aplikasi web:

Continue reading

October 5, 2008 Posted by | Java, Java Enterprise | , , , | 13 Comments

Membuat grafik dengan JFreeChart

Dengan JFreeChart, membuat grafik di java menjadi mudah. Kita tidak perlu lagi berurusan dengan low level Java 2D API. Ada banyak jenis chart yang disupport olleh JFreeChart, namun di contoh kali ini saya hanya akan membuat grafik sederhana (garis dan batang) dengan menggunakan static (dummy) data.

Ada dua library yang kita butuhkan yaitu jfreechart.jar dan jcommon.jar. Class utama dari JFreeChart adalah ChartFactory, yang merupakan factory class untuk membuat berbagai macam chart. Pseudo codenya:

1. Buat dataset dengan meng-create object DefaultCategoryDataset.
2. Tambahkan data dengan memanggil method addValue().
3. Definisikan title, label untuk sumbu X dan sumbu Y.
4. Create chart dengan memanggil method ChartFactory.createLineChart() yang akan menghasilkan object chart.
5. Buat object ChartPanel dengan memberikan object chart tadi sebagai argumen.
6. Tampilkan panel ini pada aplikasi swing anda.

Continue reading

September 6, 2008 Posted by | Java | , , | 15 Comments

Java Enterprise, mulai dari mana ? (part 3 – Eclipse & JBoss)

Ini sebenarnya hanya perbandingan saja, saya ingin mencoba membuat aplikasi yang persis sama dengan yang ada di artikel sebelumnya. Bedanya, di part 2, saya membuatnya dengan IDE Netbeans dan mendeploynya di Glassfish, sedangkan kali ini saya akan menggunakan IDE Eclipse 3.4 for Java EE developer dan mendeploynya di JBoss versi 4.2.2.

Karena di Java kita punya banyak pilihan, semoga artikel ini bisa memberi gambaran tentang alternatif-alternatif yang bisa kita gunakan, sekaligus menunjukkan bahwa aplikasi yang sama bisa dideploy di atas 2 application server yang berbeda tanpa harus melakukan banyak perubahan.

Di artikel ini saya tidak akan mengulang penjelasan tentang apa itu Java EE dan modul-modul yang terdapat di dalamnya. Silahkan lihat artikel ini untuk overview Java EE, dan artikel itu untuk penjelasan komponen Java EE yang digunakan di dalam contoh aplikasi ini.

1. Download dan install

Eclipse 3.4 for Java EE developer bisa didownload dari http://www.eclipse.org/downloads/. JBoss bisa didownload di http://www.jboss.org/jbossas/downloads/, saya menggunakan versi 4.2.2 GA. Ekstrak file-file zip tersebut ke komputer Anda, selanjutnya saya akan menyebut direktori instalasi eclipse sebagai ECLIPSE_HOME dan direktori instalasi JBoss sebagai JBOSS_HOME.

2. Register JBoss ke Eclipse

Klik menu Windows -> Preferences. Pilih item Server -> Runtime Environments di tree. Kemudian klik tombol Add untuk meregister application server baru ke dalam eclipse.

Di wizard New Server Environment, pilih JBoss -> JBoss v4.2, klik next, browse JBOSS_HOME anda, kemudian klik finish. Hasilnya, kita bisa melihat server JBoss kita teregister di eclipse, dan kita bisa mengontrol server ini seperti halnya Netbeans mengontrol Glassfish.

Continue reading

September 1, 2008 Posted by | Java, Java Enterprise | , , , , , , | 15 Comments

Java Enterprise, mulai dari mana ? (part 2 – Netbeans & Glassfish)

Artikel ini merupakan tutorial yang berisi aplikasi kalkulator sederhana dengan menggunakan arsitektur Java EE. Jika Anda belum tahu tentang apa itu Java EE, silahkan baca artikel ini terlebih dahulu. Kali ini kita akan menggunakan Netbeans 6.1 sebagai IDE dan Glasshfish v2 sebagai application servernya.

1. Download & install

Kedua software tersebut bisa didownload sekaligus di http://download.netbeans.org/netbeans/6.1/final/. Install netbeans dan glassfish di komputer Anda dengan mengikuti wizard.

2. Setup Project

Start Netbeans, pilih menu File -> New Project.
Pada dialog New Project, pilih categori Enterprise -> Enterprise Application, klik Next.

Masukkan nama project TestEnterpriseProject.

Pilih Server Glassfish V2, Java EE Version 5, dan pastikan Anda mengaktifkan pilihan Create EJB Module dan Create Web Application Module, kemudian klik Finish.

Maka Netbeans akan mengcreate project TestEnterpriseProject sebagai project utama, project TestEnterpriseProject-ejb sebagai sub-project untuk modul EJB, dan TestEnterpriseProject-war sebagai sub-project untuk modul web.

Continue reading

August 26, 2008 Posted by | Java, Java Enterprise | , , , , , , | 15 Comments