Java-Sc akan mencoba memberikan beberapa kondisi error yang biasanya sering terjadi dan dialami oleh programmer pemula (penulis juga) dan orang yang ingin memulai untuk belajar pemrograman java. Untuk itu kita akan membuat sebuah aplikasi sederhana untuk mempraktikan pesan-pesan erro ini, silahkan buat lah aplikasi perkalian dua angka menggunakan GUI. Berikut adalah komponen dan interface yang digunakan untuk tutorial ini.
Komponen | Text | Variable | Fungsi |
JLabel |
Jadi Mastah Karena Pesan Error, X , = |
- |
Judul pada aplikasi dan simbol operasi matematika |
JTextField |
- |
txt_satu,txt_dua dan txt_tiga |
Form input nilai yang akan di kalikan. |
JButton |
Pencet Akuh |
tombol |
Tombol untuk operasi perkalian |
Untuk interface bisa di sesuaikan atau mengikuti contoh pada interface yang saya buat seperti gambar di bawah.
|
Gambar 2 |
Selanjutnya berikan event pada tombol, cukup double click saja tombol secara otomatis akan membuat event actionPerform dan ketikan kode program berikut.
private void tombolActionPerformed(java.awt.event.ActionEvent evt) {
int a,b,c;
a = txt_satu.getText();
b = txt_dua.getText();
c = a * b;
if (!txt_satu.getText().isEmpty() && !txt_dua.getText().isEmpty() {
txt_tiga.setText(c)
JOptionPane.showMessageDialog(null, "Terkalikan");
}else {
JOptionPane.showMessageDialog(null, "Ada yang error, mungkin form kosong");
}
}
Dan ada banyak error didalam kode program diatas, perhatikan jika didalam netbeans kita diberi kemudahan untuk menganalisa error. Terdapat lampu merah (indikator) kalau ada yang tidak beres pada kode program yang kita ketik. Kita dapat melihat pesan yang diberikan dengan cara mengarahkan kursor ke lampu tersebut atau jika bisa di click kita diberi saran/pilihan untuk menangani masalah error yang ada pada program. Coba arahkan kursor pada pesan error untuk baris 3 dan 4, maka akan ada pesan bahwa "incompatible types : String cannot be converted to int" yang menandakan bahwa tipe data String tidak di izinkan untuk di convert ke integer.
|
Gambar 3 |
Biasanya pesan error yang seperti ini adalah ketika kita membuat aplikasi yang didalamnya mengharuskan kita mengganti String ke Integer, Integer ke String, Double ke Integer dan tipe data lainnya yang dapat di ubah. Penanganannya sangat sederhana kita bisa menggunakan fungsi Parse di java, apa itu parse? bisa di pelajari pada postingan berikut : Cara Menggunakan Fungsi Parse Untuk Konversi Tipe Data di Java. Sehingga pada kode program yang sudah kita ubah akan menjadi seperti berikut.
private void tombolActionPerformed(java.awt.event.ActionEvent evt) {
int a,b,c;
a = Integer.parseInt(txt_satu.getText());
b = Integer.parseInt(txt_dua.getText());
c = a * b;
if ( !txt_satu.getText().isEmpty() && !txt_dua.getText().isEmpty() {
txt_tiga.setText(c)
JOptionPane.showMessageDialog(null, "Terkalikan");
}else {
JOptionPane.showMessageDialog(null, "Ada yang error, mungkin form kosong");
}
}
Untuk baris 3 dan 4 sudah tidak ada pesan error lagi, kita akan beralih ke baris 6 dimana ada fungsi percabangan if else. Arahkan kembali ke indikator error yang terjadi pada baris 6 maka akan ada pesan "')' expected" , pesan ini menandakan bahwa ada simbol yang kurang atau tertinggal. Pada tanda kutip ada simbol ) / tutup kurung, artinya pada baris ini tidak ada simbol tersebut. Pesan error seperti ini biasanya paling banyak dialami oleh programmer java yang baru belajar. Cara menanganinya adalah mencocokan, yaitu mencocokan setiap tanda kurung yang tersedia pada baris, perhatikan gambar dibawah tepat pada bagian yang di garis bawahi (garis biru).
|
Gambar 4 |
Saya meletakan kursor diatara tanda kurung tersebut dan menghasilkan warna kunging, maksud dari warna kuning tersebut adalah tanda kurung sudah cocok / sudah ada sepasang tanda kurung. Lalu saya cari lagi ke tanda kurung lain, arahkan ke pada bagian buka kurung setelah if, perhatikan gambar dibawah ini.
|
Gambar 5 |
Kita lihat lagi bagaimana struktur percabangan if else, bisa dibaca pada postingan
Percabangan If Else. Dimana statement/ kondisi harus didalam tanda kurung, coba tambah tutup kurung pada bagian akhir baris tepat sebelum tanda buka kurung kurawal ({), sehingga kode program menjadi seperti berikut.
private void tombolActionPerformed(java.awt.event.ActionEvent evt) {
int a,b,c;
a = Integer.parseInt(txt_satu.getText());
b = Integer.parseInt(txt_dua.getText());
c = a * b;
if ( !txt_satu.getText().isEmpty() && !txt_dua.getText().isEmpty()) {
txt_tiga.setText(c)
JOptionPane.showMessageDialog(null, "Terkalikan");
}else {
JOptionPane.showMessageDialog(null, "Ada yang error, mungkin form kosong");
}
}
Kode error pada baris 6 sudah di selesaikan, selanjutnya adalah baris 7 untuk menampilkan hasil perkalian. Arahkan kursor pada indikator error, nah disini akan terlihat berbeda yaitu sebelumnya indikator error hanya notifikasi merah yang tidak dapat di klik, sekarang indikator berupa lampu yang dapat di klik. Tetapi biasanya pesan error yang benar adalah berupa popup ketika kursor diarahkan ke indikator error tersebut. Ada dua tipe error yang terjadi dapat di perhatikan pada gambar di bawah.
|
Gambar 6 |
Pesan error yaitu "';' excepted" dan "incompatible types : int cannot be converted to String", nah penjelasan error baris ini sudah ada di atas. Pesan error pertama menandakan tidak ada simbol semicolon atau penutup baris setiap kode program. Cukup tambahkan saja tanda semicolon (;) diakhir kode program pada baris 7 sehingga menjadi.
private void tombolActionPerformed(java.awt.event.ActionEvent evt) {
int a,b,c;
a = Integer.parseInt(txt_satu.getText());
b = Integer.parseInt(txt_dua.getText());
c = a * b;
if ( !txt_satu.getText().isEmpty() && !txt_dua.getText().isEmpty()) {
txt_tiga.setText(c);
JOptionPane.showMessageDialog(null, "Terkalikan");
}else {
JOptionPane.showMessageDialog(null, "Ada yang error, mungkin form kosong");
}
}
Dan pesan error terakhir adalah konvert dari int ke string, tetapi ini masalah berbeda dari yang sebelumnya. Berhubung hasil ditampilkan pada komponen textfield, dan komponen ini bertipe data String cukup menambah tanda string saja di sebelum variabel c sehingga menjadi seperti berikut ini.
private void tombolActionPerformed(java.awt.event.ActionEvent evt) {
int a,b,c;
a = Integer.parseInt(txt_satu.getText());
b = Integer.parseInt(txt_dua.getText());
c = a * b;
if ( !txt_satu.getText().isEmpty() && !txt_dua.getText().isEmpty()) {
txt_tiga.setText(""+c);
JOptionPane.showMessageDialog(null, "Terkalikan");
}else {
JOptionPane.showMessageDialog(null, "Ada yang error, mungkin form kosong");
}
}
Selanjutnya pada baris 8 arahkan kursor ke lampu indikator error, pesan error yang ditampilkan adalah "cannot find simbol , symbol: variable JOptionPane, location: class JavaError".
|
Gambar 7 |
Pesan error seperti ini menandakan program tidak dapat membaca suatu variabel atau class. Untuk menangani pesan seperti ini kita barulah di izinkan untuk klik indikator error tersebut, dan memilih saran untuk memperbaiki error. Perhatikan gambar berikut ketika indikator di klik.
|
Gambar 8 |
Ada beberapa penyaranan yaitu "Add Import for javax.swing.JOptionPane, Create class JOptionPane .......", karena JOptionPane merupakan library dari java sendiri maka kita dapat memilih Add Import for javax.swing.JOptionPane. Jika bukan library barulah kita bisa memilih create class JOptionPane dan membuat kode program untuk JOptionPane. Hal ini biasanya terjadi juga ketika kita membuat suatu class tertentu pada aplikasi (contoh class koneksi database/proses crud), dan dalam pemanggilan class yang sudah kita buat pada aplikasi tidak sesuai dengan bisa karena penamaan class yang berisi huruf besar dan huruf kecil. Sebagai contoh class dengan nama koneksiCRUD dipanggil menjadi koneksi_Crud, tentu ini akan membuat program menjadi bingung apa yang dipanggil dan memberikan pilihan kepada programmer seperti contoh diatas.
Bagus nih gan, pemula wajib tau error yang terjadi.
BalasHapusSaya tertarik dengan judul dan tulisan anda, Saya juga mempunyai tulisan yang sejenis mengenai Pengembangan Komputer yang bisa anda kunjungi di Informasi Pengembangan Komputer
BalasHapussaya memiliki permasalahan dalam netbeans, kenapa tempat source code tdk muncul, hanya tertera history, jdi kita tidak bisa isi syntax
BalasHapusKak mau nanya saya masalahnya ini
BalasHapuscannot find symbol
symbol : variable Interger
nah klo gitu masalahnya gimana kak?
maaf gk jadi itu kelebihan r ternyata
Hapusharusnya integer bukan interger