Ads

Sabtu, 02 April 2011

Java Sangat Basic 5 : Mencari kesalahan sederhana bag 2

Sebelum membaca materi ini, ada baiknya Anda membaca materi-materi sebelum materi ini yaitu:




  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

  4. Java Sangat Basic 4 : Mencari kesalahan sederhanam bag 1



Melanjutkan materi sebelumnya tentang error. Kita masih bahas beberapa cara mendeteksi error sederhana.


Semua Pesan Error Menyesatkan


Misalnya saat ini Anda lapar. Anda ingin makan telor dadar, tapi tidak tahu caranya. Lalu anda bertanya kepada teman Anda, "Men, cara bikin telor kaya gimana si???". Nah, kebetulan teman anda ini adalah manusia yang 90 % waktu di kantornya di gunakan untuk forward dan baca e-mail tidak penting, baik itu hoax atau beneran. Kebetulan sekali, dia baru saja baca artikel tentang ditemukannya cara membuat telor tiruan di cina.


Karena beripikir, bahwa yang Anda tanyakan adalah membuat telor, maka dia menginfokan apa yang dia baca tersebut & dia juga menginfokan Anda tentang cara membuat telur asli, yaitu dengan budi daya ayam . Nah entah Anda polos atau bego, Anda mengikuti saran teman Anda. Semakin Anda ikuti semakin tersesat Anda karena telor dadar yang Anda inginkan tidak jadi-jadi. Karena apa? Karena Anda mengikuti informasi yang menyesatkan.


Hal diatas juga bisa terjadi pada Compiler Java. Coba Anda perhatikan script yang telah di-error-kan dibawah ini:



Import java.util.Scanner; //import di tulis dengan Import
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());
}
}



Setelah Anda compile, maka akan menampilkan pesar error seperti dibawah ini:


init:


deps-jar:


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


C:\TampilkanInput.java:16: class, interface, or enum expected


Import java.util.Scanner;


1 error


BUILD FAILED (total time: 0 seconds)



Diatas diinfokan bahwa Anda harus menempatkan class, interface atau enum di depan kata Import. Nah padahalkan seharusnya Compiler Java memberitahukan Anda bahwa Anda salah menulis kata import dengan kata Import. Tetapi Java malah menganggap bahwa kita sedang mencoba class, interface atau enum dengan nama Import.


Nah untuk kesalahan macam ini, hanya pengalaman yang bisa membantu Anda. Semakin sering Anda menggunakan Java maka semakin mudah Anda menemukan kesalahan macam ini.


Error saat Run Time


Keberhasilan Compile tanpa error bukan berarti program tersebut dapat berjalan mulus tanpa error saat pada kondisi Run Time (dijalankan). Berikut ini kita coba cek program yang berhasil di compile tapi mengalami error saat dijalankan.



public class HelloTolol {
public static void Main(String args[]) //main ditulis dengan Main
{
System.out.println("Hello Tolol...!!!");
}
}

Nah, saat Anda compile program diatas. Maka program tersebut akan dapat berjalan dengan lancar. Tetapi, cobalah Anda jalankan programnya. Apa yang terjadi? Sebuah error muncul dan Anda diinfokan bahwa method main tidak ditemukan.


Pertanyaannya, mengapa saat dicompile tidak terjadi error, tetapi saat di jalankan terjadi error. Karena saat komputer melihat method Main, komputer berfikir bahwa anda sedang menciptakan sebuah method baru dan bukan merupakan kesalahan dari method main. Komputer juga tidak memberikan error saat dia tidak menemukan method main, karena method main itu tidak perlu ada disemua Class.


Method main hanya perlu ada di class utama, dan komputer tidak tahu bahwa class yang Anda jalankan ini adalah class utama. Sehingga pada saat class utama ini dijalankan, JVM mencoba mencari method main, karena tidak menemukannya maka programnya crash dan pesan tidak dapat menemukan main diberitahukan ke user.


Beberapa cara untuk menghindari dan memudahkan dalam pelacakan error:


Nama identifier


Pastikan Anda konsisten dengan nama identifier yang Anda buat. Misalnya saat anda membuat class dengan nama TampilkanInput, maka constructor yang Anda buat juga menggunakan TampilkanInput. Lalu saat anda menggunakan Class anda di class lainnya, pastikan Anda menggunakan nama TampilkanInput saat mereferensikan class tersebut. Oleh karena itu biasakan membuat nama class yang berhubungan dengan arti dari class tersebut dan mudah diingat.


Indent & New Line


Biasakan untuk mendulis dengan indent yang baik. Pencet tab dibawah baris yang memiliki tanda kurung buka dan tekan shift + tab di bawah baris dengan kurung tutup. Usahakan untuk meletakan satu statement dalam satu baris, jangan menempatkan banyak statement dalam satu baris, karena selain tidak rapi, akan membuat Anda sulit dalam melacak error.


Buatlah Program dengan Logika Anda


Buatlah program dengan menggunakan cara dan pandangan Anda sendiri. Karena jika program tersebut dibuat oleh Anda, maka Anda akan lebih mudah untuk mengetahui letak kelemahan dan kesalahan yang mungkin terjadi dari program yang Anda buat tersebut. Ingatlah, bahwa logika orang beda-beda, sehingga pandangan orang dalam membuat program juga berbeda-beda. Suatu program dengan alur dan output yang sama bisa dibuat dengan script yang berbeda.


Berikut ini adalah program yang memiliki cara kerja dan output yang sama dengan TampilkanInput tetapi memiliki logika yang berbeda. Berikut ini adalah Scriptnya:



import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class TampilanInputVarian {
public TampilanInputVarian() {
}
public static void main(String[] args) throws IOException
{
//deklarasi smbr input (keyboard = System.in)
InputStreamReader isr =
new InputStreamReader(System.in);
//deklarasi reader
BufferedReader br = new BufferedReader(isr);
//baca input keyboard letakan kedalam var input
String input = br.readLine();
//tampilkan input
System.out.println(input);
}
}


Program diatas sama dengan program TampilkanInput, walaupun koding yang dibuat berbeda. Sehingga buatlah program dengan cara yang cocok untuk Anda sehingga anda lebih mudah mengerjakannya dan lebih sulit terkena error.


Program yang error setelah compile jangan dijalankan


Setelah kita berhasil melakukan suatu proses compile, maka java akan mengenerate suatu .class file dimana nantinya class file tersebut dapat dijalankan sebagai suatu aplikasi sendiri. Lalu bagaimana setelah Sukses, lalu programnya Anda otak-atik dan kemudian Anda Compile kembali, tapi gagal. Bagaimana nasib class file Anda?


Tenang, file .class hasil compile Anda sebelumnya tidak dihapus jadi Anda masih bisa menjalankannya kembali. Walaupun sepertinya hal itu baik, tetapi bagi user-user tidak tau tentang hal ini, hal ini akan sangat membingungkan. Karena, setau mereka, jika compile gagal, berarti seharusnya program tidak bisa jalan, tetapi mengapa saat mereka jalankan program tersebut jalan. Hal ini akan membuat mereka berfikir bahwa Java mereka error, dan mereka mulai menghabiskan waktu dengan mencari-cari penyebab masalah ini.


Ok, sampai sini saja pembahasan kita tentang cara mencari error-error sederhana. Sampai ketemu lagi minggu depan (mudah mudahan) :)




3 Responses to “Java Sangat Basic 5 : Mencari kesalahan sederhana bag 2”

Jo Point Of View » Blog Archive » Java Sangat Basic 6 : Number & Types Bag 1 says:
December 17, 2008 at 8:45 pm (Edit)

[...] Mencari kesalahan sederhanam bag 2 [...]
jaharuudin says:
December 12, 2009 at 6:17 pm (Edit)

mas, tolong dong program aq kok ngak jalan2 sih
Johan Firdaus says:
December 14, 2009 at 8:52 am (Edit)

Program apaan gan? Dah jarang ngotak ngatik java neh :((

Tidak ada komentar: