Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
45
BAB IV
IMPLEMENTASI DAN EVALUASI
4.1. Implementasi
Dalam mengimplementasikan tugas akhir ini digunakan PC dengan
spesifikasi sebagai berikut :
4.1.1. Spesifikasi Kebutuhan
Perangkat keras yang digunakan dalam menjalankan program ini
adalah :
1) Prosesor Pentium II
2) RAM 64 MB
3) Hard Disk 10 GB
Program ini dapat dijalankan dengan menggunakan sistem operasi
Window 95, Windows 98, Windows 2000, Windows ME, Windows NT, maupun
Windows XP.
4.1.2. Penjelasan pemakaian program
Setelah kebutuhan atas perangkat keras dan perangkat lunak terpenuhi
selanjutnya aplikasi perancangan dan pembuatan program ini dapat dijalankan.
A. Tampilan Menu Utama
Tampilan menu utama dari program ini terlihat pada gambar dibawah ini :
46
Gambar 4.1 Tampilan menu utama
Tombol Buka File Stack digunakan untuk membuka file stack yang telah disimpan
sebelumnya. Jika keluar dari program, tekan tombol Keluar.
B. Tampilan Menu Pulldown
Tampilan menu utama berisi menu notasi (prefix, infix, postfix), dan
help. Jika menu prefix diklik secara otomatis akan muncul output berupa infix dan
postfix, seperti terlihat pada gambar dibawah ini :
47
Gambar 4.2 Tampilan menu prefix
Jika menu infix diklik maka akan muncul output berupa prefix dan postfix, seperti
terlihat pada gambar dibawah ini :
Gambar 4.3 Tampilan menu infix
48
Pernyataan matematik diinput pada Notasi Awal, untuk prosesnya tekan tombol
Proses, sedangkan tombol Hapus berfungsi untuk hapus data, jika ingin keluar
dari program, tekan tombol Keluar. Jika menu postfix diklik maka akan muncul
output berupa prefix dan postfix, seperti terlihat pada gambar dibawah ini :
Gambar 4.4. Tampilan menu postfix
Untuk tampilan menu help terdiri atas Konversi Notasi Help dan About, seperti
terlihat pada gambar dibawah ini :
49
Gambar 4.5 Tampilan Menu Help
Menu Konversi Notasi Help merupakan program bantu untuk melakukan konversi
notasi, seperti terlihat pada gambar dibawah ini :
50
Gambar 4.6. Tampilan menu help untuk konversi notasi
Selanjutnya dengan memilih menu about akan terlihat tampilan yang berisi versi
program serta nama programer “Tatin Wahyanto”, seperti terlihat pada gambar
dibawah ini :
Gambar 4.7. Tampilan menu about
51
Untuk menghilangkan informasi ini tekan tombol Tutup, maka akan kembali ke
menu utama. Untuk mengetahui implementasi stack, tekan tombol Lihat Stack,
seperti tampak pada gambar di bawah ini :
Gambar 4.8. Tampilan untuk melihat stack
Gambar 4.9. Tampilan untuk implementasi stack
52
Form ini digunakan untuk melihat implementasi konversi pada stack. Tombol Simpan
untuk menyimpan implementasi stack pada file dengan extention txt.
4.2. Contoh Pemakaian Program
Untuk mengkonversi notasi prefix, infix, dan postfix serta simulasinya
dalam stack, maka dilakukan pengujian. Pengujian dilakukan dengan mengubah-ubah
bilangan, operand dan operator pada ekspresi.
4.2.1. Pengujian Konversi Notasi Prefix ke Infix dan Postfix
A. Berikut disajikan contoh konversi notasi prefix ke infix :
1. Prefix : * + A B – C D
Infix : ( ( A + B ) * ( C – D ) )
Gambar 4.10. Tampilan konversi notasi prefix ke infix (1)
53
D
C
- D
B C
A - (C-D)
+ (A+B) (A+B) ((A+B) *
(C-D)) * * *
Gambar 4.11. Stack konversi notasi prefix ke infix (1)
2. Prefix : - A / B + * C D ^ E F
Infix : ( A - ( B / ( ( C * D ) + ( E ^ F ) ) ) )
Gambar 4.12. Tampilan konversi notasi prefix ke infix (2)
54
F
E
^ (E^F)
D D
C C (E^F)
* * (C^D) ((C^D) +
(E^F))
+ + +
B B B B (B/((C*D) +
(E^F)))
/ / / /
A A A A A (A-(B/((C*D) +
(E^F)))) - - - - -
1 2 3 4 5 6
Gambar 4.13. Stack konversi notasi prefix ke infix (2)
B. Contoh konversi notasi prefix ke postfix
1. Prefix : / A – B * C + D E
Postfix : A B C D E + * - /
55
Gambar 4.14. Tampilan konversi notasi prefix ke postfix (1)
E
D
+ DE+
C C
* * CDE+*
B B B BCDE+*-
- - -
A A A A ABCDE+*-/
/ / / /
1 2 3 4 5
Gambar 4.15. Stack konversi notasi prefix ke postfix (1)
56
2. Prefix : * + A B ^ - C D / E F
Postfix : A B + C D – E F / ^ *
Gambar 4.16. Tampilan konversi notasi prefix ke postfix (2)
F
E
/ EF/
D D
C C EF/
- - D
^ ^ C EF/
B B - CD-
A A ^ ^ CD-EF/^
+ + AB+ AB+ AB+ AB+CD-EF/^*
* * * * *
1 2 3 4 5 6
Gambar 4.17. Stack konversi notasi prefix ke postfix (2)
57
4.2.2. Pengujian Konversi Notasi Infix ke Prefix dan Postfix
A. Berikut disajikan contoh konversi notasi infix ke prefix
1. Infix : A – ( B+ C ) * ( D + E )
Prefix : - A * + B C + D E
Gambar 4.18. Tampilan konversi notasi infix ke prefix (1)
58
)
E
+
D
( )
* E
) +
C D
+ ( +DE
B * *
( +BC +BC *+BC+DE
- - - - -A*+BC+DE
A A A A
1 2 3 4 5
Gambar 4.19. Stack konversi notasi infix ke prefix (1)
2. Infix : ( A – B ) * ( ( ( C – D ^ E ) / F ) / G ) * H
Prefix : * * - A B / / - C ^ D E F G H
59
Gambar 4.20. Tampilan konversi notasi infix ke prefix (2)
60
H
*
)
G
/ H
) *
F ) H
/ G *
) / )
E ) G
^ F / H
D / ) *
- ) F )
C E / G
( ^ ) /
( D ^DE )
( - - F
* C C /
) ( ( -C^DE
B ( ( (
- ( ( (
A * * *
( -AB -AB -AB
1 2 3 4
61
H
*
)
G
/ H
/-C^DEF *
( //-C^DEFG *//-C^DEFGH
* * *
-AB -AB -AB **-AB//-C^DEFGH
5 6 7 8
Gambar 4.21. Stack konversi notasi infix ke prefix (2)
62
B. Contoh konversi notasi infix ke postfix
1. Infix : ( A + B ) * ( C + D ) + E
Postfix : A B + C D + * E +
Gambar 4.22. Tampilan konversi notasi infix ke postfix (1)
63
Input
Output Stack
(top of right)
(A+B)*(C+D)+E kosong kosong
A+B)*(C+D)+E kosong (
+B)*(C+D)+E A (
B)*(C+D)+E A (+
)*(C+D)+E AB (+
*(C+D)+E AB+ kosong
(C+D)+E AB+ *
C+D)+E AB+ *(
+D)+E AB+C *(
D)+E AB+C *(+
)+E AB+CD *(+
+E AB+CD+ *
E AB+CD+* +
kosong AB+CD+*E +
kosong AB+CD+*E+ kosong
Gambar 4.23. Stack konversi notasi infix ke postfix (1)
2. Infix : A + B - C * D / E ^ F
Postfix : A B + C D * E F ^ / -
64
Gambar 4.24. Tampilan konversi notasi infix ke postfix (2)
Input Output Stack
(top of right)
A+B-C*D/E^F Kosong Kosong
+B-C*D/E^F A Kosong
B-C*D/E^F A +
-C*D/E^F AB +
C*D/E^F AB+ -
*D/E^F AB+C -
D/E^F AB+C - *
/E^F AB+CD - *
E^F AB+CD* - /
^F AB+CD*E - /
F AB+CD*E - / ^
Kosong AB+CD*EF - / ^
Kosong AB+CD*EF^ - /
Kosong AB+CD*EF^/ -
Kosong AB+CD*EF^/- Kosong
Gambar 4.25 Stack konversi notasi infix ke postfix (2)
65
4.2.3. Pengujian Konversi Notasi Postfix ke Infix dan Prefix
A. Berikut disajikan contoh konversi notasi postfix ke infix :
1. Postfix : A B – C D E ^ */
Infix : ( ( A – B ) / ( C * ( D ^ E ) ) )
Gambar 4.26. Tampilan konversi notasi postfix ke infix (1)
66
/
*
^ /
E *
D (D^E) /
C C (C*(D^E))
- - - /
B B B (C*(D^E)) ((A-
B)/(C+(D^E)) A A A (A-B)
1 2 3 4 5
2. Potsfix : A B C D E ^ F / + G – H / * +
Infix : ( A + ( B * ( ( ( C + ( ( D ^ E ) / F ) ) – G ) / H ) ) )
Gambar 4.28. Tampilan konversi notasi postfix ke infix (2)
Gambar 4.27. Stack konversi notasi postfix ke infix (1)
67
+
*
/ +
H *
- / +
G H *
+ - / +
/ G H *
F + - /
^ / G H
E F + -
D (D^E) ((D^E)/F) G
C C C (C+((D^E)/F))
B B B B
A A A A
1 2 3 4
68
+
*
/ +
H *
((C+((D^E)/F))
-G)
(((C+((D^E)/F))-
G)/H) +
B B (B*(((C+((D^E)/F))-
G)/H) (A+(B*(((C+(D^E)
/F))-G)/H) A A A
5 6 7 8
Gambar 4.29. Stack konversi notasi postfix ke infix (2)
B. Contoh konversi notasi postfix ke prefix :
1. Postfix : A B / C D / +
Prefix : + / A B / C D
69
Gambar 4.30. Tampilan konversi notasi postfix ke prefix (1)
+
/
D +
C /
/ D +
B C /CD
A /AB /AB +/AB/CD
1 2 3 4
Gambar 4.31. Stack konversi notasi postfix ke prefix (1)
70
2. Potsfix : A B C D E + F / + G – H ^ * +
Prefix : + A * B ^ - + C / + D E F G H
Gambar 4.32. Tampilan konversi notasi postfix ke prefix (2)
71
+
*
^ +
H *
- ^ +
G H *
+ - ^ +
/ G H *
F + - ^
+ / G H
E F + -
D +DE /+DEF G
C C C +C/^DEF
B B B B
A A A A
1 2 3 4
72
+
*
^ +
H *
-+C/^DEFG ^-+C/^DEFGH +
B B *B^-+C/^DEFGH
A A A +A*B^-+C/^DEFGH
5 6 7 8
Gambar 4.33. Stack konversi notasi postfix ke prefix (2)
4.2.4 Error Message
Pada saat menjalankan program, kemudian ada kesalahan dalam
penginputan notasi, maka akan muncul beberapa pesan atau error message sebagai
berikut :
a. Bila input yang dimasukkan berupa notasi infix, maka akan dilakukan
pengecekan tanda kurung terlebih dahulu, jika input notasi infix kelebihan
atau kekurangan tanda kurung maka akan muncul pesan kesalahan. Hal ini
73
membawa konsekuensi bahwa penulisan tanda kurung itu harus benar-benar
terhindar dari kesalahan. Berikut gambar pesan kesalahan atau error message
untuk notasi infix :
Gambar 4.34 Pesan kesalahan notasi infix
b. Pesan kesalahan dibawah ini akan muncul bila tidak ada input pada form
“Notasi Awal”.
Gambar 4.35 Pesan kesalahan tidak ada input
Bila input data yang akan dimasukkan berupa notasi prefix ( operator + operand +
operand ), akan tetapi pada pengujian program ditulis notasi postfix ( operand +
operand + operator ), maka secara otomatis program akan muncul pesan kesalahan
seperti tampak pada gambar dibawah ini :
74
Gambar 4.36 Pesan kesalahan input notasi
4.3. Evaluasi
Setelah dilakukan implementasi program dengan menguji 12 contoh
notasi aritmatika, diperoleh hasil evaluasi bahwa pemakaian tanda kurung akan
sangat mempengaruhi hasil akhir, sebagai contoh dalam konversi notasi infix ke
postfix yang diambil dari contoh Sub Bab 4.2.2. bagian B :
Infix : ( A + B ) * ( C + D ) + E
Postfix : A B + C D + * E +
Sedangkan pada ungkapan :
Infix : A + B * C + D + E
Postfix : A B C * + D + E +
Jadi notasi yang berada dalam dalam tanda kurung akan dikerjakan terlebih dahulu.
Dalam ungkapan-ungkapan yang rumit, pemakaian tanda kurung ini tidak bisa
dihindari. Semakin rumit suatu ungkapan semakin banyak dibutuhkan tanda kurung.
Jadi penulisan tanda kurung harus benar-benar terhindar dari kesalahan. Untuk
konversi notasi infix ke prefix dan infix ke postfix, jika ada salah satu tanda kurung
yang tidak ditulis, maka akan terjadi kesalahan, sehingga muncul pesan kesalahan.
Sebagai contoh yang diambil dari Sub Bab 4.2.2 bagian A (1) :
75
Infix : A – ( B + C * ( D + E )
Prefix : Error
Dari uji coba program, untuk hasil output konversi notasi infix ke prefix terjadi
kesalahan karena kurang ‘)’. Untuk notasi prefix dan postfix tidak pernah digunakan
tanda kurung untuk pengelompokan. Dalam hal ini valensi atau derajat operator akan
menentukan operasi mana yang harus dikerjakan terlebih dahulu, sehingga tidak
mempengaruhi hasil akhir dari notasi.
Program konversi ini jika dibalik notasi awalnya (output digunakan sebagai
input) maka hasilnya akan tetap sama. Sebagai contoh yang diambil dari Sub bab
4.2.1 bagian B (2), untuk konversi notasi prefix ke postfix :
Prefix : * + A B ^ - C D / E F
Postfix : A B + C D – E F / ^ *
Jika dibalik notasi awalnya :
Postfix : A B + C D – E F / ^ *
Prefix : * + A B ^ - C D / E F
Jumlah operand harus lebih banyak 1 karakter dari pada operator, jika ada
kelebihan salah satu diantara keduanya, maka akan terjadi kesalahan. Sebagai
contoh yang diambil dari Sub Bab 4.2.3 bagian A (1). untuk konversi notasi
postfix ke infix :
Postfix : A B – C D E ^ * /
Jumlah operand = 5
Jumlah operator = 4
Selisih = 1
76
Jika notasi postfix ditulis :
Postfix : A B – C D ^ * /
Maka akan terjadi kesalahan, karena selisih antara jumlah operand dan operator
nol. Input notasi pada konversi ini bisa menampung sampai dengan 255 karakter,
jika lebih dari 255 karakter maka akan terjadi kelebihan data, sehingga notasi
tidak dapat diproses.