Dibuat:
Kelas:
06TPLM001
Dosen:
Petrus Sianggian P
Menganalisa Error pada sebuah program java supaya berjalan dengan baik
Memahami Error agar dapat memecahkan/mengatasi yang terjadi pada program
Dengan adanya Error Handling kita dapat menyelesaikan Error dengan terstruktur
A. Teknik Kompilasi
Teknik adalah suatu metode atau cara, sedangkan Kompilasi adalah suatu proses
penggabungan serta menterjemahkan sesuatu (source program) menjadi bentuk lain.
Proses kompilasi dapat digambarkan melalui sebuah kotak hitam (black box) berikut :
pesan-pesan kesalahan
(error messages)
Proses kompilasi dari suatu kompilator pada dasarnya dapat dibagi ke dalam 2 bagian utama
yaitu bagian analisis dan bagian sintesis.
Tahap analisis program yang ditulis dalam bahasa sumber dibagi dan dipecah ke
dalam beberapa bagian yang kemudian akan dipresentasikan ke dalam suatu bentuk
antara dari program sumber.
Secara umum proses dalam tahap analis terdiri dari 3 bagian utama, yaitu :
Berfungsi mengambil program sumber (sudah dalam bentuk barisan token) dan
menentukan kedudukan masing-masing token berdasarkan aturan sintaksnya dan
memeriksa kebenaran dan urutan kemunculan token.
program sumber
penganalisa leksikal
(scanner)
penganalisa sintaks
(parser)
pengoptimal kode
pembangkit kode
bahasa sasaran
Bahasa Pemrograman
Bahasa pemrograman adalah bahasa yang menjadi sarana manusia untuk berkomunikasi
dengan komputer. Pikiran manusia yang tidak terstruktur harus dibuat terstruktur agar bisa
berkomunikasi dengan komputer. Komputer memerlukan kepastian dan logika yang benar untuk dapat
melakukan suatu instruksi tertentu. Untuk itu diperlukan algoritma yg baik dan benar.
a. Bahasa Mesin
Bahasa mesin adalah bahasa yang berisi kode-kode mesin yang hanya dapat diinterpretasikan
langsung oleh mesin komputer. Bahasa mesin sering juga disebut native code (sangat tergantung pada
mesin tertentu). Bahasa ini merupakan bahasa level terendah dan berupa kode biner 0 dan 1.
Sekumpulan instruksi dalam bahasa mesin dapat membentuk microcode (semacam prosedur dalam
bahasa mesin).
Contoh:
0001100000110101 = 1835
Misalnya ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain.
Sekumpulan kode - kode bahasa assembly dapat membentuk makroinstruksi. Bahasa assembly juga
memiliki program pendebug-nya, tidak seperti bahasa mesin.
Assembler akan mencocokkan token simbol dari awal s/d akhir, kemudian dikodekan menjadi
bahasa mesin.
Kelebihan : Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file hasil sangat kecil.
Kekurangan : Tetap sulit dipelajari, program sangat panjang.
Bahasa Tingkat tinggi memiliki generasi, misalnya generasi ke-3 (Pascal, C/C++) dan generasi ke-
4 (Delphi, VB, VB.NET, Visual Foxpro)
Contoh : SQL untuk aplikasi database, COGO untuk aplikasi teknik sipil, Regex untuk mencocokkan
pola pada string tertentu, MatLab untuk matematika, dll.
Translator
Source code ditulis dalam bahasa sumber, object code berupa bahasa pemrograman lain / bahasa
mesin pada suatu komputer.
Jadi penerjemah membaca suatu program yang ditulis dalam bahasa sumber dan
menerjemahkan bahasa sumber ke dalam suatu bahasa lain.
a. Assembler
Source code adalah bahasa assembly, object code adalah bahasa mesin
b. Interpreter
Input berupa source code yaitu bahasa scripting seperti PHP, Basic, Perl, Javascript, ASP, Java
bytecode, Basic, Matlab, Matematica, Ruby.
Interpreter tidak menghasilkan object code. Hanya menghasilkan translasi internal. Input dapat
berasal dari source code maupun dari inputan program dari user. Source code dan inputan data user
diproses pada saat yang bersamaan.
Pada interpreter, program tidak harus dianalisis seluruhnya dulu, tapi bersamaan dengan jalannya
program.
Adalah suatu program dimana mengambil input sebuah program yang ditulis pada satu bahasa
program (source language) ke bahasa lain (the object on target language).
Compile time adalah saat pengubahan dari source code menjadi object code. Runtime adalah saat
eksekusi object code dan mungkin menerima input data dari user. Output : bahasa assembly. Kemudian
oleh linker dihasilkan file EXE.
Keuntungan : eksekusi program lebih cepat, menghasilkan file executable yang berdiri sendiri.
B. Error Handling
Error yaitu kesalahan, dan Handling yaitu penanganan. Sehingga error handling merupakan
penanganan kesalahan pada berbagai macam keadaan dalam pemrograman.
Error Handling adalah satu penanganan kesalahan (eror) pada berbagai macam keadaan dalam
pemrograman. Setiap ada kesalahan, maka eksekusi program tidak akan dihentikan secara tiba tiba,
tetapi akan diteruskan ke baris program yang terdapat script penanganan kesalahan.
1) Kesalahan Program
Kesalahan Leksikal
Kesalahan Dalam mengetik/mengeja
Misal ELSE dituliskan dengan ELE
Pada gambar diatas sudah sangat jelas kesalahannya, sehingga tidak tercompailer dengen
meneluruh. Yang seharusnya ELSE menjadi ele.
Kesalahan Sintaks
Misalnya dalam operasi aritmatika dengan tanda kurung yang jumlahnya kurang
Contoh : if ( n_akhir > = 85 && n_akhir < = 100 {
Dan disini terlihat terjadi kesalahan pada sintaks pada kondisi if (n_akhir >= 85 && n_akhir
< = 100 { yang terjadi adalah kurangnya kurang penutup pada akhir kondisi tersebut menjadi kesalhan
pada compiler, dan program tidak dapat berjalan dengan sempurna.
Kesalahan Semantics
Tipe data yang salah
Contoh : int : c
c = 1.5*0.78
Variabel belum didefinisikan
Pada error yang terjadi pada program diatas disebabkan karena variabel yang belum
terdefinisi, maka untuk menangani error tersebut pastikan semua variabel sudah terdefinisikan.
Langkah-langkah :
Mendeteksi kesalahan
Melaporkan kesalahan
Tindak lanjut perbaikan
Misal : compiler menemukan kesalahan, yang bisa meliputi
o Kode kesalahan
o Pesan kesalahan dalam bahasa alami
o Nama dan atribute identifier
Contoh : error 162 Jumlah : Unknow identifier
Dapat diartikan: Kode kesalahan= 162, pesan kesalhan + unknow identifier,
nama identifier + jumlah
Ada beberapa reaksi yang dilakukan compiler
Reaksi yang benar, tapi kurang dapat diterima dan kurang bermanfaat
Compilator menemukan kesalahan pertama, melaporkannya lalu berhenti (halt)
Pemrograman membuang waktu untuk melakukan pengulangan compilasi untuk
setiap kali terdapat sebuah error
Reaksi-reaksi yang dapat diterima
Reaksi yang sudah dapat dilakukan : Compilator melaporkan error
o Recovery : Pemulihan
o Repair : Perbaikan
Reaksi yang belum dapat dilakukan
o Compiler mengkoreksi kesalahan
o Menghasilkan objek program sesuai yang diinginkan program
o Compiler memiliki kemampuan untuk mengetahui maksud dari pemrogram
o Belum diimplementasikan pada program (sekarang ini)
Berikut ini tips sederhana untuk mencegah terjadinya error dalam program
Menulislah dengan teliti, coba ikuti aturan penulisan program dengan benar dan konsisten.
Menulislah dengan rapi, coba ikuti aturan penulisan program yang baik atau mengikuti konvensi
(coding standar). Hal ini akan mempermudah dalam pencarian kesalahan program.
Selalu konsisten dalam penamaan variabel dan sejenisnya juga membantu mencegah terjadinya error
karena terkadang kesalahan terjadi karena perbedaan huruf besar dan kecil.
Pastikan algoritma yang digunakan sudah teruji kebenarannya.
DAFTAR PUSTAKA