Anda di halaman 1dari 21

LAPORAN PEMROGRAMAN VISUAL

EXCEPTION HANDLING

Disusun oleh :

Nama : Janet Bertha Amelia


Kelas : IK -1B
NIM : 3.34.18.1.13
Jobsheet : 11

PROGRAM STUDI D3 TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2018/2019
DAFTAR ISI

LAPORAN PEMROGRAMAN VISUAL ................................................................1


DAFTAR ISI ..............................................................................................................2
I. TUJUAN INSTRUKSIONAL KHUSUS ........................................................3
II. DASAR TEORI ................................................................................................3
a. Kelas Exception di Net Framework. ................................................................4
b. Penanganan Exception......................................................................................5
c. Membuat User-Defined Exception ...................................................................5
d. Objek Throw .....................................................................................................6
e. On Error Resume Next .....................................................................................7
f. On Error Goto ...................................................................................................7
III. CONTOH SOAL ..............................................................................................8
IV. SOAL LATIHAN ...........................................................................................17
V. RANGKUMAN ..............................................................................................21

BAB 11 - PEMROGRAMAN VISUAL 2


I. TUJUAN INSTRUKSIONAL KHUSUS
Setelah mengikuti perkuliahan ini diharapkan mahasiswa akan dapat :
1) Memahami dan dapat menjelaskan tentang apa itu Exception Handling
2) Mahasiswa dapat membuat aplikasi sederhana dengan menggunakan Exception
Handling.

II. DASAR TEORI


Perintah penanganan kesalahan atau yang lebih dikenal dengan sebutan Exception
Handling. Perintah ini digunakan untuk menangani kesalahan dalam menjalankan
aplikasi, dengan adanya perintah ini setiap kesalahan akan diatasi secara otomatis
sesuai dengan perintah penanganan kesalahan yang telah dibuat, sehingga tidak terjadi
kemacetan aplikasi yang sedang berjalan.
Dengan asumsi blok akan memunculkan eksepsi, metode menangkap
pengecualian menggunakan kombinasi kata kunci Try dan Catch. Sebuah blok
Cobalah / Catch ditempatkan di sekitar kode yang mungkin menghasilkan
pengecualian. Kode dalam blok Try / Catch disebut sebagai kode dilindungi, dan
sintaks untuk menggunakan Try / Catch tampak seperti berikut :

Try
[ tryStatements ]
[ Exit Try ]
[ Catch [ exception [ As type ] ] [ When expression ]
[ catchStatements ]
[ Exit Try ] ]
[ Catch ... ]
[ Finally
[ finallyStatements ] ]
End Try

Anda bisa daftar ke beberapa pernyataan menangkap untuk menangkap berbagai


jenis pengecualian dalam kasus blok try Anda meningkatkan lebih dari satu
pengecualian dalam situasi yang berbeda.

BAB 11 - PEMROGRAMAN VISUAL 3


a. Kelas Exception di Net Framework.
Dalam Net Framework., exception diwakili oleh kelas. Kelas-kelas exception
dalam Net Framework. Terutama langsung atau tidak langsung berasal dari kelas
System.Exception.
Beberapa kelas exception berasal dari kelas System.Exception adalah
System.ApplicationException dan System.SystemException kelas.
Kelas System.ApplicationException mendukung exception yang dihasilkan oleh
program aplikasi. Jadi exception didefinisikan oleh programmer harus berasal dari kelas
ini.
Kelas System.SystemException adalah kelas dasar untuk semua sistem kecuali
yang telah ditetapkan.

Tabel berikut memberikan beberapa kelas pengecualian yang telah ditetapkan


berasal dari kelas Sytem.SystemException :

Tabel 11.1 Kelas Sytem.SystemException


Kelas Exception Deskripsi
System.IO.IOException Menangani error I/O
System.IndexOutOfRangeException Menangani kesalahan yang
dihasilkan ketika sebuah metode
mengacu pada indeks array di
luar jangkauan
System.ArrayTypeMismatchException Menangani kesalahan yang
dihasilkan ketika jenis ini tidak
cocok dengan tipe array.
System.NullReferenceException Menangani kesalahan yang
dihasilkan dari deferencing objek
null.
System.DivideByZeroException Menangani kesalahan yang
dihasilkan dari membagi dividen
dengan nol.
System.InvalidCastException Menangani kesalahan yang
dihasilkan selama typecasting.
System.OutOfMemoryException Menangani kesalahan yang
dihasilkan dari memori bebas
tidak cukup.
System.StackOverflowException Menangani kesalahan yang
dihasilkan dari stack overflow.

BAB 11 - PEMROGRAMAN VISUAL 4


b. Penanganan Exception
VB.Net menyediakan solusi terstruktur untuk masalah penanganan exception
dalam bentuk try dan catch blok. Menggunakan blok ini laporan program inti
dipisahkan dari laporan penanganan error. Blok penanganan kesalahan ini
diimplementasikan dengan menggunakan kata kunci Try, Catch dan Finally.
Berikut adalah contoh dari melemparkan exception ketika membagi dengan
kondisi zero terjadi :

Module exceptionProg
Sub division(ByVal num1 As Integer, ByVal num2 As Integer)
Dim result As Integer
Try
result = num1 \ num2
Catch e As DivideByZeroException
Console.WriteLine("Exception tertangkap: {0}", e)
Finally
Console.WriteLine("Hasil: {0}", result)
End Try End
Sub Sub Main()
division(25, 0)
Console.ReadKey()
End Sub
End Module

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut:

Exception tertangkap : System.DivideByZeroException: Attempted to divide


by zero. at ... Hasil: 0

c. Membuat User-Defined Exception


Anda juga dapat mendefinisikan exception Anda sendiri. User-defined kelas eksepsi
yang berasal dari kelas ApplicationException. Contoh berikut menunjukkan hal ini :

Module exceptionProg
Public Class TempIsZeroException : Inherits ApplicationException
Public Sub New(ByVal message As String)
MyBase.New(message)
End Sub
End Class
Public Class Temperature
Dim temperature As Integer = 0
Sub showTemp()
If (temperature = 0) Then

BAB 11 - PEMROGRAMAN VISUAL 5


Throw (New TempIsZeroException("Zero Temperature found"))
Else
Console.WriteLine("Temperature: {0}", temperature)
End If
End Sub
End Class
Sub Main()
Dim temp As Temperature = New Temperature()
Try
temp.showTemp()
Catch e As TempIsZeroException
Console.WriteLine("TempIsZeroException: {0}", e.Message)
End Try
Console.ReadKey()
End Sub
End Module

Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut :
TempIsZeroException: Zero Temperature found

d. Objek Throw
Anda dapat melemparkan sebuah benda apakah itu baik secara langsung maupun tidak
langsung berasal dari kelas System.Exception.

Anda dapat menggunakan pernyataan throw di blok catch untuk membuang objek
hadir sebagai :

Throw [ expression ]

Program berikut menunjukkan hal ini:

Module exceptionProg
Sub Main()
Try
Throw New ApplicationException("A custom exception _
is being thrown here...")
Catch e As Exception
Console.WriteLine(e.Message)
Finally
Console.WriteLine("Now inside the Finally Block")
End Try
Console.ReadKey()
End Sub
End Module

BAB 11 - PEMROGRAMAN VISUAL 6


Ketika kode di atas dikompilasi dan dijalankan, menghasilkan hasil sebagai berikut :

A custom exception is being thrown here...


Now inside the Finally Block

e. On Error Resume Next


Merupakan perintah penanganan kesalahan apabila terjadi kesalahan terhadap suatu baris
tertentu maka baris tersebut akan di abaikan.

Contoh :
On Error Resume Next Dim A As Integer

X = TextBox1.Text
TextBox1.Text=”String”
MsgBox(ex.ToString)
MsgBox(“Abaikan Kesalahan”)

f. On Error Goto
Merupakan perintah penanganan kesalahan apabila terjadi kesalahan terhadap suatu baris
tertentu maka perintah akan melompat ke baris yang dituju akan dijalankan.
Contoh :

On Error Goto Pesan


Dim A As Integer
X = TextBox1.Text
TextBox1.Text=”String”
Exit Sub Pesan :

MsgBox(“Abaikan
Kesalahan”)

BAB 11 - PEMROGRAMAN VISUAL 7


III. CONTOH SOAL
1) Buatlah program kalkulator sederhana untuk penanganan expsepsi dengan desain
tampilan sebagai berikut :

Selanjutnya tambahkan kontrol ke form seperti pada gambar diatas dan atur
propertinya seperti tabel berikut :

Object Properties Nilai


Form3 Name Form3
Text Operator
Label1 Text Nilai1
Label2 Text Operator
Label3 Text Nilai2
Label4 Text Hasil
TextBox1 Name TxtNilai1
ComboBox1 Name CmbOperator
TextBox2 Name TxtNilai2
TextBox3 Name TxtHasil
Button1 Name BtnProses Proses
Text

Selanjutnya ketikkan kode program sebagai berikut :


a. Double klik pada Form1, kemudian ketik kode Program berikut ini :

Public Class Form1


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load
Cmboperator.Items.Add("+")

BAB 11 - PEMROGRAMAN VISUAL 8


Cmboperator.Items.Add("-")
Cmboperator.Items.Add("x")
Cmboperator.Items.Add("/")
Cmboperator.Items.Add("Sisa")
Cmboperator.Items.Add("Pangkat")
Cmboperator.Items.Add("<>")
Cmboperator.Items.Add("<")
Cmboperator.Items.Add(">")
Cmboperator.Items.Add("<=")
Cmboperator.Items.Add(">=")
Cmboperator.Items.Add("Like")
Cmboperator.Items.Add("Not")
Cmboperator.Items.Add("And")
Cmboperator.Items.Add("Or")
Cmboperator.Items.Add("Xor")
Cmboperator.Items.Add("+p")
Cmboperator.Items.Add("&")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles Button1.Click
Try
Select Case Cmboperator.Text
Case "+"
TxtHasil.Text = Val(TxtNilai1.Text) +
Val(TxtNilai2.Text)
Case "-"
TxtHasil.Text = Val(TxtNilai1.Text) -
Val(TxtNilai2.Text)
Case "x"
TxtHasil.Text = Val(TxtNilai1.Text) *
Val(TxtNilai2.Text)
Case "/"
TxtHasil.Text = Val(TxtNilai1.Text) /
Val(TxtNilai2.Text)
Case "Sisa"
TxtHasil.Text = Val(TxtNilai1.Text) Mod
Val(TxtNilai2.Text)
Case "Pangkat"
TxtHasil.Text = Val(TxtNilai1.Text) ^
Val(TxtNilai2.Text)

Case "<>"
TxtHasil.Text = TxtNilai1.Text <>
TxtNilai2.Text
Case "<"
TxtHasil.Text = TxtNilai1.Text <
TxtNilai2.Text
Case ">"
TxtHasil.Text = TxtNilai1.Text >
TxtNilai2.Text
Case "<="
TxtHasil.Text = TxtNilai1.Text <=

BAB 11 - PEMROGRAMAN VISUAL 9


TxtNilai2.Text
Case ">="
TxtHasil.Text = TxtNilai1.Text >=
TxtNilai2.Text
Case "Like"
TxtHasil.Text = TxtNilai1.Text Like
TxtNilai2.Text
Case "Not"
TxtHasil.Text = Not TxtNilai1.Text =
TxtNilai2.Text
Case "And"
TxtHasil.Text = TxtNilai1.Text = "LUSE" And
TxtNilai2.Text = "LUSE"
Case "Or"
TxtHasil.Text = TxtNilai1.Text = "LUSE" Or
TxtNilai2.Text = "LUSE"
Case "Xor"
TxtHasil.Text = TxtNilai1.Text = "LUSE" Xor
TxtNilai2.Text = "LUSE"
Case "+P"
TxtHasil.Text = TxtNilai1.Text +
TxtNilai2.Text
Case "&"
TxtHasil.Text = TxtNilai1.Text &
TxtNilai2.Text
End Select
Catch ex As Exception
MsgBox("Salah menginput data / input angka")
Finally

End Try
End Sub
End Class

JAWAB :
KODE PROGRAM :

BAB 11 - PEMROGRAMAN VISUAL 10


HASIL TAMPILAN :

BAB 11 - PEMROGRAMAN VISUAL 11


2) Buatlah program untuk penanganan expsepsi dengan desain tampilan sebagai
berikut:

Selanjutnya tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya
seperti tabel berikut :

BAB 11 - PEMROGRAMAN VISUAL 12


Object Properties Nilai
Form1 Name Form1
Text Form1
Label1 Text Harga
Label2 Text Banyak Pesan
Label3 Text Total
Label4 Text Bayar
Label5 Text Kembali
Label6 Text No. Meja
TexBox1 Name TxtHarga
TexBox2 Name TxtBanyak
TexBox3 Name TxtTotal
TexBox4 Name TxtBayar
TexBox5 Name TxtKembali
ComboBox1 Name CmbTgl
ComboBox2 Name CmbMeja
Button1 Name BtnPesan Pesan
Text
Button2 Name BtnReject Reject
Text
Button3 Name BtnSelesai Selesai
Text

Kemudian ketikkan kode program sebagai berikut :


a) Klik ganda pada Form Load, kemudian ketikkan kode program berikut ini :

Imports System.Windows.Forms

Public Class Form3

Private Sub Form3_Load(ByVal sender As System.Object, ByVal e


As System.EventArgs) Handles MyBase.Load
Dim meja As Integer
For meja = 1 To 50
ComboBox1.Items.Add(meja)
Next meja
End Sub

Sub aktif()
RadioButton1.Enabled = True
RadioButton2.Enabled = True
RadioButton3.Enabled = True
ListBox1.Enabled = True
ComboBox1.Enabled = True
TextBox1.Enabled = True

BAB 11 - PEMROGRAMAN VISUAL 13


TextBox2.Enabled = True
TextBox3.Enabled = True
TextBox4.Enabled = True
TextBox5.Enabled = True
Button1.Enabled = True
Button3.Enabled = True
End Sub

Sub total()
TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text)
End Sub

Sub kembali()
Try
If TextBox4.Text >= TextBox3.Text Then
TextBox5.Text = Val(TextBox4.Text) -
Val(TextBox3.Text)
ElseIf TextBox4.Text < TextBox3.Text Then
MessageBox.Show("Uang Anda Kurang", "Peringatan
!", MessageBoxButtons.OK, MessageBoxIcon.Warning)
End If
Catch ex As Exception
MsgBox("Data yang anda masukkan salah", "Peringatan !")
End Try

End Sub

Sub batal()
ListBox1.Items.Clear()
ComboBox1.Text = "MejaNo"
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
RadioButton1.Enabled = False
RadioButton2.Enabled = False
RadioButton3.Enabled = False
ListBox1.Enabled = False
ComboBox1.Enabled = False
TextBox1.Enabled = False
TextBox2.Enabled = False
TextBox3.Enabled = False
TextBox4.Enabled = False
TextBox5.Enabled = False
Button2.Enabled = False
Button1.Enabled = False
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal


As System.EventArgs) Handles Timer1.Tick

BAB 11 - PEMROGRAMAN VISUAL 14


Label8.Text = Format(Now, "hh:mm:ss")
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles Button1.Click
Call aktif()
TextBox2.Focus()
Call total()
Call kembali()
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles Button3.Click
End
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
RadioButton1.CheckedChanged
ListBox1.Items.Clear()
ListBox1.Items.Add("Shusi")
ListBox1.Items.Add("Triyaki")
ListBox1.Items.Add("Sake")
TextBox1.Text = 150000
End Sub

Private Sub RadioButton2_CheckedChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
RadioButton2.CheckedChanged
ListBox1.Items.Clear()
ListBox1.Items.Add("Steak")
ListBox1.Items.Add("Fried Fish")
ListBox1.Items.Add("Coke")
TextBox1.Text = 175000
End Sub

Private Sub RadioButton3_CheckedChanged(ByVal sender As


System.Object, ByVal e As System.EventArgs) Handles
RadioButton3.CheckedChanged
ListBox1.Items.Clear()
ListBox1.Items.Add("Pizza")
ListBox1.Items.Add("Spageti")
ListBox1.Items.Add("Capucinno")
TextBox1.Text = 100000
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal


e As System.EventArgs) Handles Button2.Click
Call batal()
End Sub
End Class

BAB 11 - PEMROGRAMAN VISUAL 15


JAWAB :
KODE PROGRAM :

BAB 11 - PEMROGRAMAN VISUAL 16


HASIL TAMPILAN :

IV. SOAL LATIHAN


1. Buatlah desain Tampilan form seperti gambar berikut ini :

BAB 11 - PEMROGRAMAN VISUAL 17


Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya seperti
tabel berikut :

Object Properties Nilai


Form1 Name Form1 SIA
Text
Label1 Text NIM
Label2 Text Nama
Label3 Text Prodi
TexBox1 Name TxtNIM
TexBox2 Name TxtNama
TexBox3 Name TxtProdi
ListView1 Name ListView1
Button1 Name BtnTambah Tambah
Text

Catatan : Tambahkan blok exeption pada event tambah data.


JAWAB :
KODE PROGRAM :

BAB 11 - PEMROGRAMAN VISUAL 18


HASIL TAMPILAN :

BAB 11 - PEMROGRAMAN VISUAL 19


2. Buatlah desain Tampilan form seperti gambar berikut ini :

Tambahkan kontrol ke form seperti pada gambar diatas dan atur propertinya seperti
tabel berikut:

Object Properties Nilai


Form1 Name Form1
Text Converter
TexBox1 Name TxtRupiah
TexBox2 Name TxtDollar
Button1 Name BtnConver
Text Proses

Catatan : Tambahkan blok exeption pada event Conver.

JAWAB :
KODE PROGRAM :

BAB 11 - PEMROGRAMAN VISUAL 20


HASIL TAMPILAN :

V. RANGKUMAN
Exception Handling adalah perintah ini digunakan untuk menangani kesalahan
dalam menjalankan aplikasi, dengan adanya perintah ini setiap kesalahan akan diatasi
secara otomatis sesuai dengan perintah penanganan kesalahan yang telah dibuat, sehingga
tidak terjadi kemacetan aplikasi yang sedang berjalan.

Struktur Exception Handling atau penanganan kesalahan pada visual basic 2008
antara lain :

Try … Catch … Finally … End Try


Merupakan perintah penanganan kesalahan yang berfungsi untuk menangani kesalahan
dalam menjalankan aplikasi.

VI. DAFTAR PUSTAKA


BAB 11 Exception Handling.pdf
Handoko, S. 2019. Buku Pemrograman Visual. Semarang : Politeknik Negeri
Semarang

BAB 11 - PEMROGRAMAN VISUAL 21

Anda mungkin juga menyukai