Download - Laporankkk Praktikum Modul II Alpro V
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
1/22
LAPORAN AKHIR PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN II
Nama : Bagus Kusuma Risqi
NIM : DBC 115 068
K!as : "
M#$u! : % &O'(a)#( O*(!#a$i+g
E,-')i#+ Ha+$!i+g.
/URUAN TEKNIK IN"ORMATIKA
"AKULTA TEKNIK
UNI%ERITA PALANGKA RAA
2016
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
2/22
BAB I
TU/UAN DAN LANDAAN TEORI
I3 Tu4ua+
Setelah menyelesaikan modul ini, mahasiswa diharapkan mampu:
1. Mengimplementasikan Exception Handling
2. Mengimplementasikan operator overloading
II3 La+$asa+ T#(i
arang sekali se!uah program di!uat dapat !er"alan dengan sukses
pada saat pertama sekali di"alankan. #esalahan sering ter"adi pada saat
perancangan atau pemrograman.#esalahan terse!ut dikatagorikan men"adi
tiga !agian, yaitu:
$ syntax errors % mengaki!atkan kesalahan kompilasi.
$ semantic errors% program menghasilkan keluaran yang tidak sesuai
dengan harapan.
$ runtime errors % ke!anyakan mengaki!atkan terminasi program secara
tidak normal atau !ahkan sistem crash
&erikut ini merupakan contoh runtime error.
$ 'em!agian !ilangan dengan nol.
$ (kses elemen yang !erada di luar indeks array
$ Menggunakan nilai negati) untuk ukuran array
Setiap program dalam !erada dapat suatu kondisi yang tidak normal %
Error *onditions.'rogram yang +!aik harus dapat menangani kondisi
ini.Exception merupakan suatu keadaan yang dise!a!kan oleh runtime error
dalam program. Memungkinkan kesalahan ditangani tanpa harus +mengotori
program -dengan rutin yang menangani kesalahan. Memungkinkan
pemisahan penanganan kesalahan dengan program utama -main !usiness
logic.
Suatu )ungsi dapat mem!eri tanda suatu kesalahan dengan melempar
suatu exception % throws. /ungsi pemanggil dapat menyerahkan kendali ke
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
3/22
exception handler dengan menangkap -catching exception 0 try, catch.
&erikut ini merupakan !lok try0 catch.
try
instruksi yang !erpotensi menghasilkan exception
catch-tipe3exception e
instruksi untuk menangani exception
Seperti !ahasa tingkat tinggi yang lain, *44 memiliki !e!erapa operator 4,
0, 5, 6,77, 88, 9, ;, Manipulasi !ilangan
kompleks le!ih mudah apa!ila dapat memperlakukannya seperti pada tipe
dasar. Sehingga dapat dilakukan, hal0hal seperti
$ *omplex a-2,?@
$ *omplex !-?,A@
$ . . .
$ *omplex c < a 4 !@
&ukannya
$ *omplex a-2,?@
$ *omplex !-?,A@
$ . . .
$ *omplex c < a.tam!ah-!@
=perator yang digunakan pada kelas dalam *44 dinyatakan dalam
pemanggilan )ungsi. enis operator ada dua yaitu operator uner dan operator
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
4/22
!iner.=perator uner hanya mem!utuhkan satu argument,misalnya 44, 00, B.
=perator !iner mem!utuhkan dua argument, misalnya 4, 0, C, 6.
=perator dalam *44 diimplementasikan dengan pemanggilan )ungsi.
Dser dapat merede)inisikan arti suatu operator pada suatu kelas dengan
melakukan rede)inisi method yang !erkaitan dengan operator terse!ut. idak
semua operator !isa di0overload. (da !atasan0!atasan yang !isa dilakukan
dalam operator overloading.
&erikut ini merupakan da)tar operator yang dapat di0overload dan yang
tidak dapat di0overload.
Operator yang dapat di-overload+ - * / % ^ & |
~ ! = < > += -= *=
/= %= ^= &= |= > >>=
[] ( ne "elete
ne[] delete[]
Operator yang tida# dapat di-overload
$ $* 'ieo)
BAB II
LANGKAH KER/A
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
5/22
La+ga K(4a
1. &uatlah program seperti di !awah iniF
Ginclude 7iostream8
Ginclude 7stdli!.h8
class complex
dou!le real@
dou!le imaginer@
pu!lic:
compelx-dou!le re
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
6/22
return result@
complex operator0-complex c
complex result@
result.real < real 0 c.real@
result.imaginer < imaginer 0 c.imaginer@
return result@
void display-
cout 77 I-I 77 real 77 I,I 77 imaginer 77 II 77 endl:
@
int main-
complex J-1,2, w-K,?, !@
complex a < J 4 w
a.display-@
a < J 0 w@
a.display-@
!
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
7/22
BAB III
PEMBAHAAN
Pm7aasa+
'rogram 1 :
'ada kode program ini merupakan !adan utama programGinclude
7iostream.h8!er)ungsi agar program yang meli!atkan perintah input % output,
misal cout, cin. /ile header Ginclude 7stdli!.h8 men"a!arkan !e!erapa )ungsi
umum dan marcotermasuk mana"emen memori dinamis, men"alin komunikasi
dengan perangkat sekitar, mem!uat !ilangan secara random, aritmetika !ilangan
integer, pencarian, pengurutan dan pengonversian.
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
8/22
*lass *omplex adalah class utama program yang memiliki pendeklarasian
varia!el dou!le real 9 dou!le imaginer yang nantinya akan digunakan oleh para
methodnya. Lengan mode akses pu!lic dan konstruktor dengan nama *omplex
!erisikan ketentuan atri!ut real 9 imaginer yang memiliki nilainya sama dengan
atri!ut dari parameternya *omplex, yaitu real
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
9/22
'rogram 2:
Header Ginclude 7iostream.h8!er)ungsi agar program yang meli!atkan
perintah input % output, misal cout, cin. /ile header Ginclude 7stdli!.h8
men"a!arkan !e!erapa )ungsi umum dan marco termasuk mana"emen memori
dinamis, men"alin komunikasi dengan perangkat sekitar, mem!uat !ilangan
secara random, aritmetika !ilangan integer, pencarian, pengurutan dan
pengonversian. /ile header Ginclude 7conio.h8diperlukan !ila meli!atkan
clrscr-,yaitu perintah untuk mem!ersihkanlayar.
*lass #alkecilulator adalah kelas yang mendeklarasikan varia!el int hasil,
!il11, dan !il2.
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
10/22
oid tam!ah yang dimiliki oleh class kalkeciltulator adalah method yang
mengatur operator penam!ahan pada program ini -hasil
menggunakan perintah cout untuk menampilkan output penam!ahan.
oid kurang yang dimiliki oleh class kalkeciltulator adalah method yang
mengatur operator pengurangan pada program ini -hasil
menggunakan perintah cout untuk menampilkan output pengurangan.
oid kali yang dimiliki oleh class kalkeciltulator adalah method yang
mengatur operator kali pada program ini -hasil
perintah cout untuk menampilkan output kali.
oid !agi yang dimiliki oleh class kalkeciltulator adalah method yang
mengatur operator pem!agian pada program ini -hasil
menggunakan perintah cout untuk menampilkan output pem!agian.
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
11/22
oid l!esar yang dimiliki oleh class kalkeciltulator adalah method yang
mengatur operator le!ih !esar pada program ini -dengan menggunakan perintah
i) else. Lan menggunakan perintah cout untuk menampilkan output le!ih !esar.
oid lkecil yang dimiliki oleh class kalkeciltulator adalah method yang
mengatur operator le!ih kecil pada program ini -dengan menggunakan perintah
i) else. Lan menggunakan perintah cout untuk menampilkan output le!ih kecil.
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
12/22
main - disini merupakan titik awal isi dari !adan program akan dieksekusi.
'ada !adan utama program ter"adi enkapsulasi dari kelas kalkeciltulator dengan
nama enkapsulasi k. menu: adalah la!el. 'erintah cout di atas !er)ungsi untuk
menampilkan menu.
'erintah i) else digunakan untuk men"alankan pilihan menu. adi, "ika kita
memilih nomor 1, maka akan ter"adi penam!ahan, pilih nomor 2, maka akan ter"adi
pengurangan, dst.
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
13/22
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
14/22
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
15/22
BAB I%
KEIMPULAN
Ksim'u!a+
1. =verloading operator !ertu"uan untuk memudahkan operasi !er!agai type
data sesuai dengan ke!utuhan kita misalkan yang meli!atkan operasi yang
meli!atkan suatu o!"ect class.2. Exception handling adalah penangan error yang ter"adi pada se!uah program.
Exception handling akan mendeteksi error yang ter"adi secara otomatis.
K. Lidalam melakukan statement operator overloading umumnya kita
memerlukan enkapsulasi dari se!uah kelas itu sendiri agar pemanipulasi
!ilangan kompleks men"adi le!ih mudah
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
16/22
BAB %
DA"TAR PUTAKA
Losen eknik Nn)ormatika. 21O.Modul Praktikum Algoritma dan Pemrograman II.
'alangka Paya: D'P /. E#QN#.
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
17/22
BAB %I
LAMPIRAN
P(#g(am 1 :
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
18/22
Ou)'u):
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
19/22
P(#g(am 2 :
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
20/22
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
21/22
-
7/25/2019 Laporankkk Praktikum Modul II Alpro V
22/22
Ou)'u):