20 Syntax Error Pada Pemrograman Java Pemula Yang Sering Terjadi

Ketika belajar program Java, bagi pemula pasti sering mengalami jenis-jenis error yang bisa disebabkan oleh berbagai hal.

Tapi ini adalah hal yang wajar pastinya, namanya juga bahasa pemrograman, yang sudah master sekalipun pasti juga sering mengalami error ketika koding, yang jelas manusia tidak luput dari kesalahan.


syntax error program Java


Berikut ini adalah 20 syntax error pada pemrograman Java yang biasa terjadi saat melakukan koding.

1. Kesalahan penulisan pada head main method

Seperti sudah anda ketahui, main method adalah method di mana program mulai di eksekusi :

public static void main (String []args){

Jika ada sedikit saja kesalahan pada bagian di atas, maka error akan muncul seperti kesalahan kecil berikut ini:

public class TestApel {

public static void Main(String [] args){


}
}

Contoh error:

Error: Main method not found in class TestApel, please define the main method as:
   public static void main(String[] args)



2. Menulis keyword dengan huruf kapital

Menulis keyword Java dengan huruf kapital bisa menyebabkan error.

Misal :

BOOLEAN a = true;

Contoh error:


BOOLEAN cannot be resolved to a type

3. Mengasumsikan array 2 dimensi langsung diimplemetasikan pada Java

Misalkan :

int [  ,  ] myArray = new int [3][3];//Seharusnya int [ ] [ ] myArray = new int [3][3]

Contoh error:

Syntax error on token ",", delete this token
Type mismatch: cannot convert from int[][] to int[]

4. Terbalik dalam mengisi parameter konstruktor

Terbalik dalam mengisi parameter konstruktor akan dinyatakan sama dengan konstruktor tersebut tidak pernah ada atau tidak didefinisikan.

Misal:

public class Test {
int a;
String b;
public Test(int a, String b){
this.a = a;
this.b = b;
}
public static void main(String[] args) {
Test test = new Test("Java", 5);// terbalik seharusnya Test test = new Test(5, "Java");
}

}

Contoh error:


The constructor Test(String, int) is undefined

5. Menggunakan Konstruktor Yang Tidak Ada

Misal:

public class Test {

int a;
String b;

public Test(int a, String b){
this.a = a;
this.b = b;
}


public static void main(String[] args) {

Test test = new Test(0.25); //Konstruktor Test(double) tidak didefinisikan

}

}

Contoh error:


The constructor Test(double) is undefined

6. Menggunakan Method Yang Tidak Dimiliki Class

Contoh, mencari panjang string:

public class Test {


public static void main(String[] args) {

String a = "Bahasa Java";
System.out.println(" Panjang string a adalah " + a.size());//seharusnya a.length()

}

}

Contoh error:


The method size() is undefined for the type String


7. Terbalik Ketika Mengisi Parameter Method

Misal:

public class Test {

static void hitungJarak (int kecepatan, double waktu){
double jarak = kecepatan * waktu;
System.out.println("Jarak adalah " + jarak);
}


public static void main(String[] args) {

hitungJarak(20.25, 40);//Seharusnya hitungJarak(40, 20.25);

}

}

Contoh error:


The method hitungJarak(int, double) in the type Test is not applicable for the arguments (double, int)

8. Keliru Antara Operator Prefix Dan Postfix 

Meskipun tidak menimbulkan compile error, namun bisa menyebabkan logic error, yaitu program berjalan mulus namun hasilnya salah.
Contoh 1:

public class Test {

public static void main(String[] args) {

int x = 45;
int y = ++x;

System.out.println(x);//46
System.out.println(y);//46

}

}

Biasanya menganggap nilai output x = 45 dan y = 46, padahal x dan y adalah 46.

Contoh 2:

public class Test {

public static void main(String[] args) {

int x = 45;
int y = x++;

System.out.println(x);//46
System.out.println(y);//45

}

}

Biasanya menganggap output nilai x = 45 dan y = 46, padahal x = 46 dan y = 45


9. Menggunakan Variabel Sebelum Diberi Nilai

Sebelum suatu variabel digunakan maka variabel tersebut harus diberi nilai terlebih dahulu.

Misal:

public class Test {

public static void main(String[] args) {

int x;//Variabel x belum diinisialisasi
int y = 5;

System.out.println(x * y);

}

}

Contoh error:


The local variable x may not have been initialized


10. Mengakses Variabel Instance Private Melalui Class Lain

Misal:

public class Apel {

String warna = "Merah";
private double berat = 0.32;

}

public class TestApel {

public static void main(String[] args) {

Apel apel = new Apel();

//instance variabel warna bisa diakses
String warnaApel = apel.warna;
System.out.println("Warna apel adalah " + warnaApel);

//instance variabel tidak bisa diakses karena private
double beratApel = apel.berat;
System.out.println("Berat apel adalah " + beratApel + " Kg");
}

}

Contoh error:


The field Apel.berat is not visible


11. Menggunakan Operator == Untuk Menguji Apakah Objek Equal Atau Tidak

Misal:

Ketika membandingkan dua objek menggunakan operator ==, maka sebenarnya hanya membandingkan alamat objek pada memori saja. Operator == digunakan untuk membandingkan nilai pada skalar.

Jadi jika objek berada pada alamat yag berbeda pada memori, meskipun memiliki nilai yang sama, maka akan memberikan nilai false jika di uji dengan boolean.

Untuk lebih jelasnya perhatikan perbandingan antara operator == dan method equals pada class String ketika membandingkan 2 objek berikut ini:
public class Test {

public static void main(String[] args) {

String string1 = "Bahasa Java";
String string2 = new String("Bahasa Java");

//Menggunakan operator == untuk menguji uquality objek
if(string1 == string2)
System.out.println("Objek equal");
else
System.out.println("Objek tidak equal ketika di uji dengan operator ==");

//Menggunakan method equals
if(string1.equals(string2)){
System.out.println("Objek equal di uji dengan equals method");
}

}

}

Output:
Objek tidak equal ketika di uji dengan operator ==
Objek equal di uji dengan equals method

12. Lupa Memberikan Tanda  } Pada Akhir Class Body

Misal:

public class Test {

public static void main(String[] args) {

}

Contoh error:


Syntax error, insert "}" to complete ClassBody

13. Kesalahan Menulis Format Untuk Method Class

Method class harus di tulis dengan format NamaKelas.NamaMethod(Argumen(s)), awas jangan keliru dengan method objek.

Misal:

public class Apel {

static void printWarnaDanBerat(){

String warna = "Merah";
double berat = 0.32;

System.out.print("Warna apel adalah " + warna + 
" dan beratnya " + berat + " Kg");
}

}

public class TestApel {

public static void main(String[] args){

printWarnaDanBerat();//Seharusnya Apel.printWarnaDanBerat();

}
}

Contoh error:

The method printWarnaDanBerat() is undefined for the type TestApel

14. Kesalahan Dalam Penulisan Variabel


Variabel dalam pemrograman Java adalah case sensitive.

Misalnya :

Variabel dengan nama panjang, tidak sama dengan Panjang. Jadi penulisan variabel harus benar-benar diperhatikan.


15. Kesalahan Dalam Penulisan Class Ketika Mendeklarasikan Variabel

Class type dalam Java adalah case sensitive. Ini juga adalah kategori error yang sering terjadi.

Misal :

public class Apel {

string warna = "Merah";//Seharusnya : String warna = "Merah";

}

Contoh error:
string can not be resolved to a type

16. Menggunakan Method Static Seperti Method Objek


Selanjutnya error yang sering terjadi adalah mengirim pesan method static pada objek. Misalnya ketika menggunakan method abs() dari class Math untuk menentukan nilai absolut seperti di bawah ini:

public class TestApel {

public static void main(String[] args){

int a = 12;
int b = 15;
int hasilPengurangan = a - b;

//Seharusnya: int nilaiAbsolut = Math.abs(hasilPengurangan)
int nilaiAbsolut = hasilPengurangan.abs();

System.out.print(nilaiAbsolut);

}
}

Contoh error:

Cannot invoke abs() on the primitive type int


17. Lupa Untuk Mengimport Package

Kebanyakan pemula lupa untuk mengimport package, kecuali untuk package java.lang memang akan diimport secara otomatis.

Contoh:

public class TestApel {

public static void main(String[] args){

Scanner input = new Scanner (System.in);
System.out.println("Masukkan umur anda: ");
int umur = input.nextInt();

}
}

Contoh error:
Scanner cannot be resolved to a type

18. Menulis String Pada Baris Yang Baru

Ini sering terjadi jika string memiliki konten yang panjang dan tidak menggunakan tanda +.

Contoh:

public class Belajar {

public static void main(String[] args){

String string = "Mari belajar dengan mudah pemrograman
Java dari dasar";

}
}

Seharusnya:

public class Belajar {

public static void main(String[] args){

String string = "Mari belajar dengan mudah pemrograman "
+ "Java dari dasar";

}
}

Contoh error:

String literal is not properly closed by a double-quote

19. Tidak Menggunakan Keyword Void Untuk Method Yang tidak Mengembalikan Nilai


Untuk method yang tidak mengembalikan nilai harus menggunakan keyword void. Jika tidak, maka akan menghasilkan error, misal:

Invalid method declaration; return type required

20. Lupa menggunakan keyword return pada value returning method


Untuk method yang mengembalikan nilai, maka harus menggunakan keyword return, bila tidak dapat memunculkan contoh error seperti:

Return required at end of

Tidak ada komentar

Bahasa Java. Diberdayakan oleh Blogger.