suhe arie's pages

Programmer juga manusia

Lebih dari sekedar HelloWord

Artikel ini merupakan lanjutan dari artikel sebelumnya, yang berhenti sampai membuat dan manjalankan aplikasi yang terkenal, HelloWorld. Sekarang kita akan belajar apa itu classpath, imports, file java, file class, file jar, swing, dan hal-hal yang berkaitan erat dengan pemrograman Java lebih dalam daripada sekedar HelloWorld.

Saya akan tetap menggunakan editor sederhana seperti notepad dan melakukan semuanya secara manual. Mengapa tidak langsung pakai editor seperti Eclipse, Netbeans atau IDE canggih yang lain ?
Alasan pertama, karena ini akan membuat kita memahami “behind the scene things”, yang merupakan fundamental dari Java, sehingga ketika kita menggunakan IDE yang canggih, kita sudah mengetahui, apa yang sebenarnya terjadi.
Alasan kedua, supaya saya bisa berbagi tentang eclipse atau netbeans di artikel berikutnya… Hehe, it’s not a real reason friend 😀

Tipe Data

Java mengenal 2 macam tipe data. Yang pertama adalah tipe data primitif, yaitu byte, short, char, int, long, float, dan double. Yang kedua adalah tipe data object. Ini adalah tipe yang dibuat dari definisi class. Root class di Java adalah class Object, semua class yang ada di library java maupun yang kita buat sendiri adalah turunan dari class Object.

Ok, mari kita mulai dengan membuat aplikasi Kalkulator. Direktori kerja saya saat ini adalah C:\Java. Buka notepad, kemudian ketik kode berikut (saya tetap berpendapat bahwa mengetik lebih baik daripada copy and paste).

package suhearie.blog.morehelloworld;

public class Kalkulator {

public static void main(String[] args) {
if (args.length < 2) { System.out.println("Penggunaan: java Kalkulator operand1 operand2"); } else { System.out.println("Hasil: 5"); } } } [/sourcecode]

Continue reading

July 19, 2008 Posted by | Java | , , , | 9 Comments

Mencoba mengerti OOP

Pemrograman berorientasi objek atau Object Oriented Programming (OOP) menjadi sebuah fenomena yang mempunyai dampak sangat besar di dunia komputasi, terlebih setelah munculnya Java sebagai bahasa pemrograman yang mengimplementasikan konsep ini secara penuh. Artinya, di Java, segala sesuatu yang menyusun aplikasi terdiri atas kumpulan objek. Tidak ada satu komponenpun di Java yang dapat berjalan tanpa melibatkan objek. Ini berbeda dengan beberapa bahasa lain yang sebenarnya berkonsep prosedural, tapi menyelipkan konsep OOP di dalamnya. Beberapa persepsi yang tidak tepat tentang OOP, antara lain:

  • Menyebut hasil kompilasi dengan sebutan object, kemudian menyebut bahasa tersebut sebagai OOP
  • Menganggap event-driven programming adalah OOP, misalnya seperti yang ada di VB.

Melalui artikel ini, saya mencoba untuk menggambarkan secara sederhana seperti apakah konsep OOP tersebut dan memberi contoh implementasinya dalam bahasa Java. Jika Anda belum familiar dengan Java, artikel “Belajar Java, mulai dari mana” mungkin bisa membantu.

Continue reading

July 5, 2008 Posted by | Java | , | Leave a comment

Belajar Java, mulai dari mana ?

Java, my world, my passion..

Java is in the golden age, every programmer hears about “write once, run everywhere”. The promises are platform independent, open standard, pure object oriented, high performance, rapid development, managed environment, safe, etc, etc..

Pertanyaan ini sangat sering saya temui, baik di mailing list, di forum programmer, atau dari teman-teman. Biasanya orang bertanya hal ini karena sering mendengar tentang Java, teman-teman pakai Java, kemudian ingin tahu apa itu Java, tapi bingung apa yang harus dipelajari pertama kali. Umumnya, orang yang ingin  belajar Java akan bingung harus mulai dari mana. Ini cukup dapat dimaklumi, karena Java sedikit berbeda dengan bahasa pemrograman yang lain.

Sebagai contoh, kalau mau belajar Visual Basic, pasti install Visual Basic dulu, kemudian baca help atau cari tutorial. Mau belajar PHP, tinggal download PHP, install, baru coba-coba. Mau belajar Dot Net, install dulu Visual Studionya. Almost all are quiet straightforward, tidak banyak pilihan, yang akan membuat kita sedikit kebingungan, seperti yang biasa ditemui orang saat akan belajar Java. Di Java, kita akan selalu berhadapan dengan pilihan-pilihan. Untuk yang sudah berpengalaman, hal ini sangat bagus, karena kita bebas memilih arsitektur, platform, tools yang sesuai dengan kebutuhan kita. Tapi buat yang baru akan belajar, ini memang bisa menjadi mimpi buruk, dan akhirnya membatalkan niat untuk belajar Java, bahkan sebelum dia mulai belajar. Saya harap, Anda tidak termasuk golongan yang terakhir ini, hehe..

Ok, kita mulai dengan “Java” nya. Java adalah general purpose programming language, artinya bahasa pemrograman yang bisa digunakan untuk membangun aplikasi dengan tujuan umum seperti aplikasi desktop, web, mobile, sampai ke aplikasi skala enterprise. Jadi dengan bahasa yang sama, yaitu bahasa Java, kita bisa membuat berbagai jenis aplikasi dengan menggunakan peralatan dan library yang tepat untuk tujuan kita tersebut. Java adalah bahasa dengan konsep Object Oriented Programming (OOP) murni, bukan OOP setengah-setengah seperti yang ada di beberapa bahasa lain yang ingin menyelipkan konsep OOP di pemrograman yang dasarnya adalah prosedural.

Continue reading

July 5, 2008 Posted by | Java | , , | 21 Comments

Journey to get here, got the right one (part 3)

Perjuangan masih berlanjut…

Dari beberapa company yang menelepon saya, ada satu yang cukup membuat saya bersemangat, karena perusahaan ini bergerak di bidang yang mirip dengan perusahaan tempat saya bekerja waktu itu.

Telepon pertama, cuma berisi konfirmasi mengenai identitas dan overview dari apa yang saya tulis di CV saya.

Telepon kedua, technical interview, hehe.. Otak berpikir keras untuk menjawab semua pertanyaan yang diajukan oleh interviewer dengan baik. Pertanyaan yang diajukan cukup bervariasi, mulai dari konsep OOP tentang abstraction, encapsulation, inheritance, polymorphism. Kemudian menuju ke design pattern, singleton dan teman teman. Konsep MVC, EJB, ORM dan masih banyak lagi. Sesi ini berlangsung sekitar 30 menit, phiew…

Telepon ketiga akhirnya datang juga. Sesi ini lebih cenderung kepada pengetahuan tentang business domain yang saya kerjakan saat ini (banking world). Kemudian dilanjutkan dengan membahas beberapa project yang sudah pernah saya kerjakan, peran saya di project tersebut, dan teknologi yang digunakan. Di akhir interview, ternyata tidak pakai lama, langsung negosiasi gaji. Intinya perusahaan ini tidak keberatan dengan gaji yang saya cantumkan di resume saya. Setelah itu saya jadi berpikir, kok dia langsung setuju ya ? apa harusnya saya minta lebih dari itu ? Hmm, tapi sudahlah, yang penting bisa diterima dulu, dan gaji yang saya harapkan bisa terpenuhi, thanks GOD. Dia berjanji akan mengirim offer letter dan surat kontrak secepatnya.

Continue reading

July 1, 2008 Posted by | My Days | , , , , , | 5 Comments