Java Tidak Cocok Buat Pemula

Muhammad Ridho K. Pratama
Ridho's Personal Note
2 min readNov 26, 2017

Mengamini apa yang dituliskan oleh Pak Endy Muhardin dalam posting blognya 11 tahun yang lalu disini, saya juga mengalaminya selang 2 tahun terakhir ini menjadi asisten praktikum pemrograman dasar, OOP maupun algoritma dan struktur data, yang kesemuanya menggunakan Java dalam proses belajar mengajar.

Sependapat dengan Pak Endy, menurut saya, Java memang tidak cocok buat pemula, khususnya bagi anak baru lulus SMA yang kuliah semester awal di fakultas ilmu komputer atau yang sejenis, yang baru belajar ngoding pas kuliah. Mengapa? Saya kasih contoh aja deh.

Di pemrograman dasar ada bab yang membahas tentang method. Ada satu soal, disuruh untuk membuat program untuk menghitung bilangan faktorial. Kalo di Java, implementasinya kira-kira begini.

public class Faktorial {
public static int factorial(int n) {
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
public static void main(String[] xx) {
System.out.println(factorial(5)); // 120
}
}

Bandingkan dengan bahasa yang lebih sederhana, C misal.

#include<stdio.h>int factorial(int n) { 
if (n == 1) {
return 1;
}
return n * factorial(n - 1);
}
int main() {
printf("%d", factorial(5)); // 120
return 0;
}

Contohnya terlalu kompleks ya? Oke kita pake contoh The Mighty Hello World aja.

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

Coba bandingkan dengan bahasa yang lebih simple lagi, Ruby misal.

puts "Hello world."

Nah, silakan dibandingkan :)

Pengajar pemrograman, khususnya yang mengajar Pemrograman Dasar, seharusnya juga harus bisa menjelaskan beberapa hal dibawah kepada mahasiswa yang lagi belajar matkul Pemrograman Dasar, walaupun beberapa penjelasan tersebut bisa dijelaskan di materi Pemrograman Lanjut / Pemrograman Berorientasi Objek, karena materi Pemrograman Dasar tidak sampai situ bahasannya:

  1. Apa itu class?
  2. Kenapa di Java harus bikin class?
  3. Kenapa main method di Java harus dideklarasikan sebagai public static void main(String[] args) ?
  4. Konsep method
  5. Array (di main method ada parameter array jadi harus dijelaskan juga)
  6. Apa bedanya static method dan yang non static method (instance method)?
  7. Access level seperti public , private , protected maupun yang no access level.

Efeknya apa?

  1. Pengajar harus ekstra sabar menjelaskan beberapa materi diatas ke anak yang notabene baru lulus SMA, dan masih kuliah semester 1.
  2. Dari sisi mahasiswanya juga harus bisa betul-betul paham konsep-konsep diatas kalau mau coding Java (walau level basic banget), jadi harus belajar ekstra keras biar paham dan gak sekedar mengikuti modul praktikum/slide dosen tanpa mengerti mengapa-mengapanya harus seperti itu.

Kesimpulan

Mengajarkan dasar pemrograman dengan Java ke pemula yang sebelumnya belum pernah ngoding sama sekali membutuhkan effort yang cukup besar, jika dibandingkan mengajarkan dasar pemrograman dengan bahasa yang lebih sederhana, seperti C, Python atau Ruby.

Tidak ada yang salah sebenarnya jika di kampus belajar dasar pemrogramannya langsung Java, hanya butuh ekstra effort saja dalam pengajarannya dan juga dari sisi mahasiswanya juga harus belajar lebih keras lagi.

--

--