Ads

Sabtu, 02 April 2011

Java Sangat Basic 4 : Mencari kesalahan sederhana bag 1

Sebelum membaca materi ini, ada baiknya Anda membaca 3 materi sebelum materi ini:

  1. java-sangat-basic-1-key-word-dan-identifier

  2. java-sangat-basic-2-memahami-method

  3. java-sangat-basic-3-menampilkan-input-dari-key-board


Dalam dunia pemrograman, hal yang umum bahwa program saat pertama di compile akan menampilkan pesan error. Biasanya kejadian ini terjadi karena salah ketik, lupa meletakan semi colon, menutup kurung kurawal, deklarasi variabel dan lainnya. Oleh karena itu, kita akan coba bahas error-error sederhana yang biasanya terjadi di awal penulisan program. Error ini sering terjadi, bahkan programmer yang sudah bertahun-tahunpun pasti sudah sering mengalaminya.


Ada beberapa hal yang harus Anda ingat dalam membuat Program:




  1. Jangan berharap bahwa program yang Anda buat, bisa langsung berhasil compile tanpa error.

  2. Jangan yakin bahwa program yang sukses di Compile akan berjalan dengan mulus dan tanpa error.

  3. Pastikan pesan error yang muncul, kesalahan-kesalahan umum seperti deklarasi, kurang kurung tutup biasanya bisa terdeteksi di pesan error hasil compile.

  4. Sabar dan Jangan cepat Frustasi

  5. Beberapa ilmu Programming sangat sulit di mengerti, bahkan untuk ahli sekalipun, jadi jangan kecil hati.

  6. Jika Anda sudah putus asa, coba tanyakan masalah Anda ke orang lain, ke Milis atau Komunitas Open Source misalnya.


Mengenali Error


Saat mengetik program TampilkanInput yang kita bahas sebelumnya, mungkin Anda sudah mengalami beberapa Error. Biasanya Error-error tersebut adalah error simple yang mudah dikenali. Error-error tersebut diantaranya Adalah:



Case Sensitive


Java adalah basaha pemrograman yang case sensitive, artinya Java membedakan antara huruf besar dan huruf kecil. Contoh, Next dan next bagi Java adalah suatu hal yang berbeda karena yang satu adalah huruf besar (N), sementara yang lainnya huruf kecil (n). Walau bagi kita artinya sama, tapi berbeda bagi Java. Jadi pastikan Anda menggunakan huruf besar dan huruf kecil dengan tepat dalam Java.


System.out.println(myScanner.nextInt()); => Benar


System.out.println(myScanner.NextInt()); => Salah



Berikut ini adalah contoh Program tampilkan input yang sudah di-error-kan:


import java.util.Scanner;


public class TampilkanInput {


public TampilkanInput() {


}


public static void main(String args[])


{


Scanner myScanner = new Scanner(System.in);


System.out.println(myScanner.nextInt());


System.out.println(myScanner.nextDouble());


System.out.println(myScanner.next());


System.out.println(myScanner.NextLine());


}


}



Saat Kode di atas dicompile, maka akan menampilkan error sebagai berikut:


init:


deps-jar:


Compiling 1 source file to C:\JoData\java\belajar\ModulBlogJava\build\classes


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:31: cannot find symbol


symbol : method NextLine()


location: class java.util.Scanner


System.out.println(myScanner.NextLine());


1 error


BUILD FAILED (total time: 0 seconds)



Dari pesan error diatas, kita coba kenali kesalahannya. Dari pesan tersebut, coba cek line:


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:31: cannot find symbol



Dari Line ini diberitahukan bahwa Java menemukan symbol (bisa merupakan object, method atau hal lainnya) yang berada di file TampilkanInput.java di line 31, dimana symbol ini tidak dikenali olehnya.


Lalu kita cek Line:


symbol : method NextLine()


Dari sini diketahui bahwa Symbol yang tidak dikenali oleh Java adalah method NextLine(). Nah di sini kita coba cek.





  1. Pastikan apakah method tersebut memang benar-benar ada.

  2. Pastikan apakah method tersebut sudah ditulis dengan benar dan tidak kebolak balik (misal nextLine menjadi nxetLine() .

  3. Pastikan apakah medthod tersebut memiliki penulisan huruf besar dan huruf kecil yang benar.Sebenarnya ada beberapa langkah lagi, tetapi karena saat ini Anda masih belajar yang sangat basic, untuk sementara 3 langkah di atas sudah cukup.


Dari 3 langkah diatas, dapat kita ketahui bahwa kesalahan terletak di penulisan huruf besar dimana NextLine() seharusnya ditulis dengan nextLine()


Penggunaan Tanda Baca


Dalam Java tanda baca juga merupakan hal yang penting. Berikut ini adalah contoh script yang memiliki kesalahan, karena lupa mengakhiri kalimat dengan titik koma (semi colon):


import java.util.Scanner;


public class TampilkanInput {


public TampilkanInput() {


}


public static void main(String args[])


{


Scanner myScanner = new Scanner(System.in);


System.out.println(myScanner.nextInt());


System.out.println(myScanner.nextDouble());


System.out.println(myScanner.next()) // kurang titik koma


System.out.println(myScanner.nextLine());


}


}



Tindakan Anda ini akan memberikan pesan error seperti dibawah ini:


init:


deps-jar:


Compiling 1 source file to C:\JoData\java\belajar\ModulBlogJava\build\classes


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:30: ';' expected


System.out.println(myScanner.next())


1 error


BUILD FAILED (total time: 0 seconds)



Dari pesan diatas dapat diketahui bawha line 30:


System.out.println(myScanner.next())



Kurang tanda titik koma, langsung saja tambahkan titik koma, dan compile kembali programnnya.


Pesan Error yang membingungkan


Berikut ini adalah contoh koding program yang di-error-kan dengan pesan kesalahan yang sedikit menyesatkan:


public class HelloTolol {


public static void main(String args[]);


{


System.out.println("Hello Tolol...!!!");


}


}



Jika kita Compile program di atas, maka pesan error yang ditampilkan adalah seperti dibawah ini:


init:


deps-jar:


Compiling 1 source file to C:\JoData\java\belajar\ModulBlogJava\build\classes


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\HelloTolol.java:17: missing method body, or declare abstract


public static void main(String args[]);


1 error


BUILD FAILED (total time: 0 seconds)



Pesan error diatas


public static void main(String args[]);



Di mana di script di atas, ada tanda titik koma yang seharusnya tidak ada. Tetapi pesan error yang ditampilkan bukan memberitahukan hal itu, melainkan malah menginfokan tentang


missing method body, or declare abstract



Kacau bukan???? Sebenarnya maksud komputer benar, yaitu missing method body, karena apa? Karena seperti kita ketahui, bahwa di scirpt di atas, setelah public static void main(String args[]); seharusnya adalah kurung kurawal buka yang merupakan body dari method main. Oleh karena itu, pesan error tersebut masuk akal. Tetapi kebanyakan dari kita, tidak mengerti apa itu method body. sebenarnya sedikit menyesatkan.


Lalu, untuk or declare abstract juga merupakan hal yang tepat. Karena method main diakhiri langsung dengan tanda titik koma, dan satu-satunya cara agar sebuah method tidak memiliki body dan langsung ditutup dengan titik koma adalah dengan mendeklarasikan method tersebut sebagai method absract.


Nah, untuk hal seperti ini ada beberapa tips untuk Anda.




  1. Hindari melalakukan sesuatu yang Anda tidak mengerti. Contoh di atas adalah, karena ada pesan untuk mendeklarasikan suatu method Abstract, maka Anda lalu mencoba mendeklarasikan method tersebut sebagai abstrat. Walaupun Nantinya programnya jalan, maka kemungkinan besar program tersebut tidak ada berjalan sesuai dengan keinginan Anda. Pelajari dulu perintah yang disarankan sampai Anda mengerti fungsi sebenarnya sebelum Anda mengikuti saran dari pesan error seprti ini.

  2. Perhatikan koding Anda untuk waktu yang lama. Semakin sering Anda mengalami kesalahan, maka semakin cepat Anda mendeteksi kesalahan dalam penulisan program. Utamakan untuk mengecek line tempat terjadinya error (walaupun errornya sendiri mungkin disebabkan bukan dari line yang diumumkan oleh error message)

  3. Jika Ada beberapa pesan kesalahan, ikuti pesan kesalahan yang paling pertama Anda temui, karena bisa saja, setelah Anda memperbaiki error yang pertama, maka error yang lain juga menjadi benar kembali.



Pesan Error yang lebih dari satu


Bagaimana jika Anda menemukan beberapa pesan kesalahan sekaligus. Apakah Yang harus Anda lakukan. Satu hal yang pasti adalah, perbaiki kesalahan yang Anda temui pertama kali. Karena jika Anda memperbaiki kesalahan mulai dari bawah, maka bisa saja bukannya jadi benar, malah jadi tambah kacau program Anda.


Berikut ini adalah contoh program error dengan beberapa error message:



import java.util.Scanner;


public class TampilkanInput {


public TampilkanInput() //kurang kurung buka


}


public static void main(String args[])


{


Scanner myScanner = new Scanner(System.in);


System.out.println(myScanner.nextInt());


System.out.println(myScanner.nextDouble());


System.out.println(myScanner.next());


System.out.println(myScanner.nextLine());


}


}



Script diatas akan menghasilkan pesan error seperti dibawah ini:


init:


deps-jar:


Compiling 1 source file to C:\JoData\java\belajar\ModulBlogJava\build\classes


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:21: ';' expected


public TampilkanInput()


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:25: class, interface, or enum expected


public static void main(String args[])


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:28: class, interface, or enum expected


System.out.println(myScanner.nextInt());


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:29: class, interface, or enum expected


System.out.println(myScanner.nextDouble());


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:30: class, interface, or enum expected


System.out.println(myScanner.next());


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:31: class, interface, or enum expected


System.out.println(myScanner.nextLine());


C:\JoData\java\belajar\ModulBlogJava\src\modulblogjava\TampilkanInput.java:33: class, interface, or enum expected


}


7 errors


BUILD FAILED (total time: 0 seconds)



Nah, sama seperti error sebelumnya, error ini menyesatkan, bahkan lebih jauh menyesatkan. Pastikan Anda hanya melihat error paling pertama saja, abaikan error kedua dan ketiga, karena biasanya saat error pertama diperbaiki, maka error berikutnya juga menjadi benar.


Dari error di atas, di infokan bahwa di public TampilkanInput() dituliskan bahwa error tersebut terjadi di sana karena kurang titik koma. Nah perhatikan line tersebut, setelah lama kita perhatikan, kita sadar bahwa line tersebut kurang kurung kurawal pembuka. Sekarang coba anda perbaiki, maka setelah di compile, pesan-pesan error lainnya telah hilang.


Sebenarnya masih ada banyak materi deteksi error, tetapi berhubung sudah ngantuk, kita lanjutin minggu depan aja ya :P.

Tidak ada komentar: