Java: Tidak untuk Pemula

Posted on April 26th, 2006 | by Endy Muhardin |

Beberapa kali sepanjang perjalanan hidup, saya berkesempatan untuk mengajarkan Java kepada orang lain. Satu hal yang saya simpulkan dari pengalaman tersebut adalah “Java kurang cocok bagi pemula”.

Beberapa orang yang tidak setuju sekarang sedang bersiap-siap menggulung scroll-bar ke bawah, ke bagian komentar, untuk menumpahkan uneg-unegnya. :D Tapi sabar dulu, baca sampai selesai dan Anda akan mengerti maksud saya.

Sebelum kita mulai, mari definisikan dulu kata “pemula”. Pemula yang saya maksudkan adalah orang yang sama sekali belum pernah coding. Bisa memformat harddisk tidak masuk hitungan.

Ok, sekarang bayangkan Anda adalah seorang pemula. Bersemangat tinggi ingin belajar pemrograman, soalnya kayaknya titel programmer terlihat keren di kartu nama. Berdasarkan hasil browsing dan chatting di sana-sini, kata orang sih sekarang jamannya Java. Baiklah, mari kita belajar Java.

Anda ikut training Java -seperti lazimnya sopan santun di dunia pemrograman- hal pertama yang diajarkan instruktur adalah Hello World.

Instruktur: Selamat pagi bapak dan ibu. Sekarang kita akan belajar Hello World. Silahkan buka Notepad, dan ketik kode berikut:


public class HelloWorld {
  public static void main(String[] xx){
    System.out.println(”Hello World”);
  }
}

Instruktur: Dengan kode di atas, kita akan dapat mencetak tulisan “Hello World” ke layar. Bagaimana? Hebat kan?

Peserta: !@#$%[sumpah serapah disensor :P ]. Sama sekali tidak hebat. Apa itu class? Kenapa harus public? Apa artinya void? static? Berarti ada dynamic dong? Apa bedanya kurung kotak [] dengan kurung bulat () dan kurung kurawal {} ? …. [lagi-lagi disensor karena pertanyaan terlalu banyak]

Java, memang adalah bahasa yang mature. Sudah stabil (artinya tidak terlalu banyak perubahan fundamental) dan sudah teruji digunakan berbagai aplikasi besar dengan sukses. Tetapi tidak berarti mudah bagi pemula.

Seperti pada contoh sederhana di atas, sebetulnya baris yang ingin kita ajarkan adalah:

System.out.println("Hello World");

Tapi ada banyak baris lainnya yang ikut muncul. Karena ya di Java untuk Hello World memang itu kebutuhan minimalnya. Bandingkan dengan:

Ruby

puts "Hello World"

PHP

echo("Hello World");

Perhatikan bahwa saya tidak mempermasalahkan urusan kompile dan eksekusi, karena itu memang sudah konsep dasar Java bahwa source code harus dikompilasi.

Jadi, kesimpulannya adalah untuk mengajarkan Hello World, kita juga harus mengajarkan tentang:

  1. Apa itu class
  2. Akses level untuk class dan method, kalo gak pake public gimana? Gak bisa diakses di luar package. Jadi, harus ajarkan juga tentang ….
  3. Apa itu package
  4. Konsep method dan return value
  5. Array
  6. Perbedaan class method (static) dan instance method

Waaa … :(
Berdasarkan keterangan di atas, saran saya untuk yang belum pernah coding sebelumnya adalah belajar dengan bahasa lain dulu. Misalnya PHP yang sintaksnya agak mirip. Nanti kalo sudah tau apa itu array, function, class, object, baru belajar Java.

Ini akan membuat hidup jadi lebih mudah untuk yang belajar, juga untuk yang mengajari.

  1. 24 Responses to “Java: Tidak untuk Pemula”

  2. By -tikabanget- on Apr 27, 2006 | Reply

    waaa..
    padahal baru tadi siang buka blog ini..
    tau tau malemnya dah ganti theme..
    ckckck..

  3. By dicky on May 2, 2006 | Reply

    Wah setuju om :)
    Kalau liat temen2 yang baru mulai belajar dasar pemrograman tapi langsung pakai Java memang seperti itu jadinya.
    Akhirnya untuk mengatasi pertanyaan2 yang panjang sampai disensor itu pakai kata-kata terakhir: “Lewati dulu aja, yang penting belajar branching, looping, sama konsep array” :)

  4. By abud on May 8, 2006 | Reply

    Setuju juga.
    Saya juga belajar Java dengan modal Pascal(intermediate) dan C++(beginner). Mau pake VB yang maen pasang sana-sini, waktu itu gak biasa, gak nyeni, kerjaan design, dll alasan yang intinya tidak prefer. So, Java jawabannya. Awalnya pindah ke Java bukan karena pengen sih, tapi karena terpaksa kuliah, apalagi dosennya pak Endy. Lha sekarang pascal sama C udah banyak lupanya daripada ingetnya :)

  5. By FENTY on May 8, 2006 | Reply

    bener banget, untuk bisa ngerti bener java…. saya harus pontang panting cari apa itu class, apa itu object, apa itu instance, belum lagi baca API nya…… wah ruwet tapi asik juga…. justru itu tantangannya….
    waktu pertama kali ada materi yang bisa dipahami….. wow bangganya…. padahal itu baru sebagian kecil debunya java…. belum bener2 coding java…ha..ha..ha…
    pokoknya java oke banget dah….:-D

  6. By Syafrudin on Dec 19, 2006 | Reply

    Menurut saya yang bagus untuk Pemula tapi juga bagus untuk Industri: Python

  7. By ed on Mar 6, 2007 | Reply

    java memang susah…g bisanya krena API nya banyak banget…g hafal…..kalau baca alurnya ngerti..pas suruh code…lupa lagi…..hahaha…apalagi kalau pernah c++ malah lebih bingung, di deklarasi kelasnya..mirpnya mah ama php 5….jadi bisanya cuman ngeliat alur programnya aja….

  8. By William on Jun 20, 2007 | Reply

    yang terpenting itu bukan javanya, melainkan konsep OO dan interaksi antar Objeknya. soal sintak javanya sih, jadi second priority aj :)

  9. By wong jowo on Sep 10, 2007 | Reply

    Yup gw setuju dengan William, yang paling penting konsep OOP nya untuk semua jenis bahasa pemrogramman yang mendukung OOP seperti Java dan Python.

  10. By ryu on Oct 30, 2007 | Reply

    awalnya belajar Pascal, trus ke C++, yang kudapat dari kuliah. Saat belajar Delphi dan VB, aku belajar otodidak, dan kayaknya ga ada masalah yang fundamental, tapi waktu belajar java…..(otodidak), aku bener-bener kebingungan…,
    Ada ga yang bisa kasi tips buat saya…??? :(

  11. By Mnch on Nov 22, 2007 | Reply

    Belajar dasar programming - konsep OO - baru belajar java

  12. By Dino on Dec 5, 2007 | Reply

    ryu…

    Buang jauh2 konsep pemrograman prosedural..

  13. By Kusyandi on Dec 21, 2007 | Reply

    Semangat dan keingintahuan mungkin jadi modal dasar untuk belajar. Konsep yang kuat dan analisa jadi modal berikutnya untuk menguasai hal baru. Mencoba dan menguji jadi hal biasa yang harus dilakukan. Dan baca tulisan mas Endy buat nyari inspirasi dan semangat baru untuk semua tadi.

  14. By Kiki Ahmadi on Jan 3, 2008 | Reply

    Saya mahasiswa sistem informasi ITS pak endy..
    di kurikulum kita bahasa pemrograman yang pertama diajarkan memang JAVA..
    pada saat awal belajar, oleh dosen mata kuliah diajarkan untuk “terima saja dulu”..yang difokuskan adalah penterjemahan algoritma kedalam kode program java..

    dan oleh beberapa teman di angkatan saya…hal ini memang cukup berat untuk dimengerti…

    sekarang saya udah 2 tahun pake java pak endy…dan udah mulai belajar J2ee dan web framework..

    dan temen temen seangkatan spertinya juga sudah terstigma bahwa develop pake java itu susah dan lama..

    satu bukti…di semester ini ada matakuliah Sistem Informasi Akuntansi, yang tugas akhirnya membuat satu aplikasi akuntansi..

    mayoritas temen temen pake bahasa visual macem VB, Delphi bahkan J#..

    segelintir pake netbeans Matisse GUI builder yang otomatis Swing…..

    sedangkan saya…pake eclipse + JSP + JSTL sama ZK bwat presentation layernya… : )

    java memang menantang pak endy…

    : )

  15. By Aa Gin on Feb 5, 2008 | Reply

    Modal saya untuk belajar Java sama spt Mas Endy. :D, bedanya saya kerja di bidang yg ga ada hubungan sama sekali dengan programming.

    Menurut Saya kuncinya adalah metode pengajaran. Tidak perlu point 1 - 6 itu diajarkan di awal saat membuat Hello Word. Cukup Apa itu class dan cara penulisannya , serta cara untuk menampilkan Hello Word itu pake System.out.println(”Hello World”); (jangan lupa pake titik koma).

    Contoh bagus adalah bukunya Pak Budi Rahardjo (Belajar Mudah Java) dan Video Tutorial di Joegrip.com.

    Kyknya bagus juga kalo pake metode pengajaran yg biasa dipake VB.NET, mereka langsung masuk ke GUI yg drag and Drop pake IDE, ga coding pake Swing.

    Untuk pemula memang harus langsung kelihatan hasilnya dulu. Gambaran umum aplikasi yg sudah jadi sangat perlu bagi pemula.

  16. By Aa Gin on Feb 13, 2008 | Reply

    Nambah komen lagi,
    Setelah masuk ke BAB GUI dengan Swing, saya punya kesimpulan (sementara) : Bagi Pemula pelajari yang perlu2 saja. Untuk GUI mending cari buku ttg “membuat aplikasi GUI dengan Java menggunakan Netbeans atau Eclipse”. Jangan dulu bikin GUI dengan cara coding. :D .

    BAB GUI dengan Swing itu mungkin untuk para Master yg bermaksud bikin aplikasi development tool Java yg bisa menggenerate syntax GUI tsb.

    “Pelajarilah Java dengan cara yg sama dengan cara mempelajari VB.NET”, kyknya bakal lebih mudah. CMIIW

  17. By 6149sgd on Feb 13, 2008 | Reply

    Tidak setuju…
    harusnya dari awal pemula dijerumuskan belajar java…

  18. By Permana on Feb 14, 2008 | Reply

    aku pertama kalo tau ‘if’ di excel dan yang kedua di java.

    bhs. pemrograman pertama java. Tapi saya waktu itu belum diajari kenapa pake public static void. Pokoknya belajar basic algoritma dulu( bener2x dari nol belajar programming nih). lancar algoritma dengan java. baru dikasi tau ama dosen apa itu public, static, void.

    Kyknya enakan gitu ngajarin javanya. perlahan tapi pasti akhirnya mulai mengerti semua. cuman ampe skrng masih binggung sama absctract dan interface

  19. By suherman on May 4, 2008 | Reply

    boleh saya beri tanggapan atas tulisan pak endy, kalau menurut saya justru untuk belajar java harus orang yang sama sekali belum pernah belajar bahasa pemrograman apapun,alasanya ya dengan mudah di mindset,coba kalau mereka yang sudah pernah belajar bahasa pemrograman ,justru akan sulit.satu lagi menurut saya justru yang bermasalah adalah pengajarnya,karena kalau saya lihat mas endy itu hanya seorang programer bukan seorang pendidik jadi ya mas endy tidak tahu cara mengajar,bukannya orang yang di ajar.saya sudah banyak survey mengenai para programer java,menurut saya teknik mengajarnya sangat payah,dan cenderung meremehkan pemula,dan menurut saya programer java itu lebih arogan dan sok .dan saya lihat banyak programer java kalau menulis buku kurang bermutu,saat bukunya dipelajari bukannya mudah dipahami tapi malah semakin membingungkan,kalau begitu siapa yang salah? pemula? tentu tidak yang salah adalah pengarang bukun java yang tidak becus .saya tidak perlu sebut programer java yang sudah terkenal mereka itu hanya cari keuntungan bagi dirinya sendiri,pura pura membuka mailist untuk membantu pemula nyatanya banyak pertanyaan pemula yang ngak di jawab,mereka cenderung menjawab pertanyaan yang sudah ahli. eeit jangan protes itu kenyataan.banyak yang kursus java frustasi karena yang di ajarkan membuat semakin bingung. dan berdasarkan survei yang saya lakukan 10 mengikuti java hanya 1 (itupun masih bingung) 9 yang masih belum bisa,apakah itu muridnya yang bodoh? tentu tidak.sekali lagi saya katakan programer java yang sudah mahir adalah orang yang sombong,arogan,sok,

  20. By vbbego on May 4, 2008 | Reply

    mas endy loe jangan hanya ngebacot saja, cari solusinya agar pemula menjadi paham bukannya “java bukan untuk pemula”,itu jawabanya dari seorang endy yang goblok tapi sok pintar.apakah loe tuhanya sudah menvonis bawah pemula tidak boleh belajar java,loe jangan sok pintar, baru bisa java saja sudah sombong,loe itu belum bisa apa apa! kemampuan java loe itu baru seupil anak kecil tahu! loe itu seperti orang yang baru tahu kulit luarnya saja tapi sok pintar,loe itu kroco.loe tahu kalau di perusahaan besar seorang programer itu pangkatnya paling rendah,baru jadi seorang programer java saja sudah sok.

  21. By Yusuf on May 4, 2008 | Reply

    > vbbego dan suherman

    Saya rasa posting mas endy diatas bukan untuk menyepelekan apalagi merendahkan pemula, justru mas endy ingin memudahkan pemula dalam belajar java. Saya sudah beberapa kali kursus privat dengan mas endy, dan saya sangat kagum dengan pemahaman dan cara dia mengajar (terstruktur, sehingga memudahkan kita untuk memahami). Saya ingat pertama kali ikut kursus Spring dengan mas endy, dia tanya kemampuan java sudah sampai mana? kalau pemula sebaiknya jangan.. “dalam hati, sombong banget nih orang..”, sebetulnya kemampuan saya agak kurang untuk masuk standar materi kursus tersebut, “ah.. nekat aja lah, memang kemampuan dia(mas endy) semana sih!!”. Alhasil setelah kursus materi yang dapat diserap hanya 30 %, karena untuk memahami materi yang disampaikan dikursus saya harus banyak buka buku lainnya. Setelah itu saya sadar, “hmm.. betul, mas endy ternyata tidak bermaksud sombong, justru dia ingin apa yang dia berikan dalam waktu kursus yang singkat dapat diterima dengan baik”. Memang untuk menilai seseorang atau menilai hal apapun diperlukan sosialisasi, interaksi, dan prasangka yang baik.

    Saya dan mas endy juga pernah membahas bagaimana kita membuat suatu “road map” java (mungkin dalam bentuk paket pelatihan) sehingga memudahkan pemula menjadi advance, bahkan siap kerja dibidang professional java, dalam waktu yang tidak terlalu lama.

  22. By endy on May 7, 2008 | Reply

    vbbego dan suherman …

    Kalau Anda baca dengan kepala dingin, nanti Anda akan menyadari bahwa posting ini saya tulis justru karena saya sering mengajarkan Java.

    Jika Anda mencari nafkah dengan mengajar Java, pasti Anda juga akan menyadari besarnya effort yang dibutuhkan untuk mengajar Java fundamental.

    Hmm … mungkin ini sulit dipahami bagi mereka yang belum pernah mengajar Java, jadi ada tantangan sedikit untuk Anda berdua.

    Coba tulis di blog Anda, tutorial tentang Annotation atau Generics. Salah satu saja. Kedua hal di atas adalah fitur Java Fundamental untuk versi 5.

    Sebagai test bahwa tutorial Anda mudah dimengerti, coba suruh istri atau pacar Anda untuk memahaminya. Dengan demikian, bisa terlihat betapa mudahnya mengajarkan Java ke orang yang sama sekali belum bisa coding.

    See, sudut pandang artikel ini adalah bukan dari kacamata orang yang mau belajar Java. Tapi lebih dari kacamata orang yang mengajarkan Java.

  23. By cendra on Jun 6, 2008 | Reply

    Seperti yg saya tulis di milis netbeans BANYAK BACA BUKU TEACH YOURSELF PROGRAMMING IN TEN YEARS.

  24. By Andi on Jun 23, 2008 | Reply

    Mas Suherman pengajar Java juga ?, saya adalah programmer menggunakan Magic Development & MS-Sql, tapi program-nya kurang komersil jadi saya berkeinginan untuk belajar program Java atau Php, dan ada keinginan untuk Ambil kursus Java, kira2 tempat yang bagus untuk Kursus Java yang mau menerangkan secara detail (tidak keberatan untuk menjelaskan apa itu Java dan yg mau menerangkan hal2 berikut : Apa itu class? Kenapa harus public? Apa artinya void? static? Berarti ada dynamic dong? Apa bedanya kurung kotak [] dengan kurung bulat () dan kurung kurawal {} ?).

  25. By Andika on Jun 23, 2008 | Reply

    @Andi

    Coba Artivisi
    http://www.artivisi.com :)

Post a Comment