Pemodelan Perangkat Lunak Berorientasi Aspek Dalam Notasi UML, Studi Kasus Pada Sistem Keamanan Perangkat lunak - ITS Repository

--------------·- --·PEMODELAN PERANGKAT LUNAK BERORIENTASI
ASPEK DALAM NOTASI UML,
STUDI KASUS PADA SISTEM KEAMANAN
PERANGKATLUNAK

TUGASAKHIR

Disusun Oleh :
Siti Kustiarsih
5101100 036

PEilPUSTAKAAN
1

Tci.T..tTeri,...
No. Ag~nda

---

-..n
Prp.


r s
~-

~ '-wv-\"""

tl
't'l'l f)

JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INFORMASI
INSTITUT TEKNOLOGI SEPULUH NOPEMBER
SURABAYA
2005

f6

PEMODELAN PERANGKAT LUNAK BERORIENTASI
ASPEK DALAM NOTASI UML,
STUD I KASUS PADA SISTEM KEAMANAN

PERANGKATLUNAK

TUGASAKHIR

Diajukan untuk Memenuhi Sebagian Persyaratan
Memperoleh Gelar Sarjana Komputer
Pada

Jurusan Teknik lnformatika
Fakultas Teknologi lnformasi
Institut Teknologi Sepuluh Nopember
Surabaya

Mengetahui/Menyetujui,
Dosen Pembimbing I

lr. Siti Rochimah, MT
NIP. 132 103 631

SURABAYA

JULI2005

ABSTRAK

ABSTRAK

Teknik pembangunan perangkat lunak selalu mengalami perkembangan
seiring dengan kemajuan teknologi. Mulai dari teknik pembangunan terstruktur,
pembangunan berorientasi objek, dan sekarang yang baru adalah pembangunan
berorientasi aspek. Tahapan dalam pembangunan perangkat lunak berorientasi
aspek yang sekarang banyak dibahas baru pada tingkat pemrogramannya saja,
sedangkan tahap pemodelan belum banyak diteliti dan didiskusikan. Notasi
pemodelan untuk pendekatan aspek ini belum ada, khususnya pada tahap ana/isis
dan perancangan.
Karakteristik permasalahan yang sering dihadapi dalam proses
pembangunan perangkat lunak adalah penanganan crosscutting concerns.
Crosscutting concern muncul pada kebutuhan system-level yang berupa: logging,
authentication, security, performance, error checking, multythread savety, dll.
Kebutuhan sistem-level kadang saling mempengaruhi satu sama lain,
mempengaruhi beberapa subsistem, atau bahkan ada kemungkinan untuk

mempengaruhi jalannya sistem secara keseluruhan. Crosscutting concern
menyebabkan penyebaran fungsi-jimgsi umum di seluruh sistem.
Dalam Tugas Akhir ini dilakukan pemodelan terhadap studi kasus sistem
keamanan login, karena sistem keamanan merupakan salah satu contoh dart
kebutuhan system-level dengan memberikan usulan untuk notasi-notasi dalam
pemodelan aspek. Dengan demikian diharapkan adanya gambaran yang jelas
mengenai tahap pemodelan pada teknik pembangunan perangkat lunak
berorientasi aspek serta perbedaannya dengan teknik pembangunan perangkat
lunak berorientasi objek.
Dari hasil proses ana/isis dan perancangan disimpulkan bahwa UML
merupakan a/at yang extendible dimana bisa ditambahkan notasi-notasi baru
melalui mekanisme stereotype. Hasil implementasi dari OOD dan menunjukkan
bahwa hasil rancangan dengan menggunakan AOD memiliki rancangan yang
lebih bersih karena tidak ada crosscutting concerns.

Kata kunci: berorientasi aspek, crosscutting concerns, system-level.

iii

KATA PENGANTAR


/

KATAPENGANTAR
Alhamdulillah, segala puja dan puji hanyalah bagi Allah Yang SWT, Yang
telah melimpahkan hidayah dan kasih sayang-Nya. Atas kemudahan yang
diberikan-Nya lah penulis dapat menyelesaikan Tugas Akhir ini. Shalawat serta
salam tetap kita curahkan kepada Rasulullah Muhammad SAW.
Penulis memberi judul pada Tugas Akhir ini: PEMBANGUNAN

PERANGKAT LUNAK BERORIENTASI ASPEK KE DALAM NOTASI
UML, STUDI KASUS PADA SISTEM KEAMANAN PERANGKAT
LUNAK.
Penulis berharap semoga Tugas Akhir ini dapat membantu pengembangan
teknologi informasi di jurusan Teknik Informatika ITS . Tugas akhir ini masih jaul1
dari sempurna, oleh karena itu sangat diharapkan segala masukan bagi
pengembangan selanjutnya.
Akhirnya, penulis mengucapkan terima kasih yang sebesar-besarnya
kepada semua pihak yang telah membantu penyelesaian tugas akhir ini.


Surabaya, Juli 2005

Siti Kustiarsih

iii

UCAPAN TERIMAKASIH

UCAPAN TERIMA KASill
Alhamdulillah,

penulis

bisa

menyelesaikan

Tugas

Akhir


berkat

pertolongan Allah SWT. Selain itu penulis juga mendapatkan bantuan dari
berbagai pihak. Untuk itulah, melalui kesempatan ini penulis mengucapkan terima
kasih yang sebesar-besarnya kepada:
1. Allah SWT, Rabbul izzati yang telah memberikan limpahan rahmat dan
hidayah-Nya, serta segala nikmat yang tak terhitungjumlahnya.
2. Keluarga, yang tak henti-hentinya memberikan dukungan dan nasihat
kepada penulis agar selalu bersemangat dan bekerja keras dalam menjalani
setiap detik kehidupan ini. Semoga Allah selalu melimpahkan ampunan,
kasih sayang dan hidayah-Nya kepada kami semua.
3. Bapak Prof Dr. Ir. Arif Djunaidy, M.Sc, selaku Ketua Dekan Fakultas
Teknologi Informasi ITS dan Bapak Yudhi Purwananto, M.Kom, selaku
Ketua Jurusan Teknik Informatika ITS.
4. Ibu Ir. Siti Rochimah, MT selaku dosen pembimbing, yang telah
memberikan beribu-ribu ilmu dan wawasan yang bermanfaat kepada
penulis selama mengerjakan Tugas Akhir.
5. Bapak Muhammad Husni selaku dosen wali, Bapak Ryanarto Sarno,
Bapak Daniel 0 . Siahaan dan Ibu Umi Laili Yuhana, selaku dosen penguji

serta seluruh do sen di Jurusan T eknik Informatika ITS yang telah
memberikan ilmu yang sangat bermanfaat bagi penulis.
6. Ria, Dwi, Nina, sama Dipa.... .. .f5 never dies, friendship never ends!! Luv
u guys!!

iv

7. Ternan-ternan dan kakak-kakak: di kos Wisma Permai 1 No. 163. Mbak
Astin yang selalu bersemangat, Mbak Ilmn yang mengaku namanya Fatin
yang suka konser musik di pagi, siang, sore, dan malam hari, Ria yang
suka pulang ke Samarinda (lho?!), Dhewy yang mirip anak smp :P, Rossy
yang meski paling kecil tapi pemberani (jadi inget pas mati lampu malam
itu.:P), trus juga... bapak kos yang aneh! Aja Aja Fighting!!!:)
8. Sempal my nice nephew © lengkap dengan smsnya yang aneh, Rolly si
Babon PM(thanks laptopnya!), Galih Ndut yang suka bantuin ngabisin
makanan, Fanni(sasaran Battle Royal 2005), Phe yang selalu tabah karena
request friendsternya enggak ku-approve :D. Ntar maen-maen ke
Parahyangan lagi yah ! Qta pecahin rekor Mesin Cuci Elextrolux Samsung
Automatic!
9. Anak2 seperjuangan bimbingan Bu Siti. Dhewy (namamu uda muncul dua

kali dhew!), Sigit Bulu, Sigit Pram, Mas Hendra, Deaddie Mucil, Choy,
Pandu, Miko, Dhoma, Harris.
10. Anak2 lab RPL sama adminnya yang baek-baek yang uda bikin suasana
lab jadi nyaman bwt ngerjain TA Dwi, yang kompinya sebelahan rna
kompiku, Mas Junaidy yang siap sedia benerin kompi yang kena virus,
Dewa yang ngasih installer yang aku butuhin, Taqi thanks Eclipse-nya,
dan Yovi.
11 . Kent yang suka aku ganggu pake imel-imelku saat aku pusing ngerjain
TA, tapi jarang marah. "jarang" loh ya .. bukannya enggak pernah ....:D

v

-

- - --

DAFTARISI

DAFTARISI
ABS TRAK ............................................................................................................. iii

KATA PENGANT AR ....................................... ...... .................... .. ...................... .. iii
UCAPAN TERIMA KASIH .................................................................................. iv
DAFT AR lSI ......................................................................................................... vii
DAFT AR GAMBAR ............................................................................................. ix
DAFT ART ABEL ...................................... ............ ...... .... ................................ ...... xi
BAB I ................. ........................................ .......... .................................. ................. 1
PENDAHULUAN ................................................................................................... 1
1.1. Latar Belakang ......................................... ................................ ...... ............ ... 1
1.2. Tujuan dan Manfaat.. .................................................................................... 2
1.3. Permasalahan ................................................................................................ 2
1.4. Metodologi ............. ...... ............................. ....... ........ ....... ........... .... ............... 3
1.5. Sistematika Laporan .................................... ............ ...... ............ ............. ... .. . 4
BAB !! ... ..... ..... .. .............. ... .. .............. ...... .................. ..... ............. ......... .... ........... ... 6
DASAR TEORI ...................................................................................................... 6
2.1. UML Rational Rose ...................................................................................... 6
2.2. Pemodelan berorientasi objek ...................... ............ .......... .. .... ............ ....... 15
2.3. Pemrograman Berorientasi Aspek .............................................................. 17
2.4. Pemodelan Berorientasi Aspek ................................................................... 24
2.5. Uji Coba yang Pemah Dilakukan Terhadap Keunggulan AOD .... ............ . 28
BAB III .................................................................................................................. 35

ANALISIS DAN PERANCANGAN SISTEM KEAMANAN ................ ........ .... 35
3.1 Notasi untuk Istilah-istilah dalam AOD ...................................................... 35
3.2 Studi Kasus pada Sistem login .............................................. ............ ........ ... 40
3.2.1 Use Case Diagram ................ ........ .... .......... ...................................... ..... 43
3.2.2 Sequence Diagram ................................................................................. 46
3.2.3 Class Diagram ....................................................................................... 49
3.3 Pemodelan perangkat lunak berorientasi aspek pada sistem keamanan login
pada aplikasi SOP ............. ...................... ................ ................ ................ ........... 52

vii

3.3.1 Sequence Diagram .................. ..... ... ......... .... .... .... ..... ........ ....... ........ ..... . 54
3 .3.2 Class Diagram ........ ........ ... ..... .. ............. .. ...... .. ..... ..... .... ..... ..... ........ .. .. .. 55
3.4 Perbedaan antara pemodelan AOD dengan OOD pada sistem keamanan
login pada aplikasi SOP ................ ...... ... ... .... ......... .. ... .... .... ....... .... .. ........ .. ........ 57
BAB IV ........ ..... .............................. ... ..... ...... ........ ........... .... .......... .... ..... ... .. .... .... . 59
IMPLEMENT ASI DAN UJI COBA MODEL SISTEM KEAMANAN .. ....... .. ... 59
4.1. Lingkungan Pembangunan Perangkat Lunak .. ... ... ... ............... ...... ...... ...... . 59
4.2 . Implementasi Kelas Perangkat Lunak ... ... .... ....... ..... .. ......... .... .. .... ....... .. .. .. 60
4.2 .1. Kelas DB Manager ... .. ....... .. .. ... .............. ... .. ..... .... .......... ... .. ......... ... .. .... 60
4.2.2 . Kelas Authen ...................... ...... ... ... .. ......... ... ......... .... .... .. .. ...... ... ... ..... .. 61
4.2 .3. Kelas User List .. ... ... ..... .. ... ...... ............. ... ... ....... .... ... ....... .... ........... .. .. ... 62
4.2 .4. Kelas UA ..... .... .. .... ...... .. .... .. ... ... ...... ......... ............. ... ............ ... .... ........ . 62
4.2.5 . Kelas UAList .......... ........... ............... .... .... ...... .. ... ............. ... .. .. ..... .... .... 63
4.2 .6. Kelas Credentials .. .... ..... .... .... ... ... ... .. ....... ........ ...... ..... ... ... ...... ........... .. . 63
4.2.7. Kelas LoginForm ... ..... ... ..... .. .. .. ... ..... ........ ... .. ............... .. ........ ... ...... .. ... 64
4.2 .8. Kelas MainForm .... ..... .. .. ... ... ... ....... ... ..... .... ... .... ........... .... .... ........... ..... 66
4.3 . Implementasi Proses .................... .. .... .... ............ ..... ....... ............ .... ... .... .. .... 68
4.4 . Implementasi dan Uji Coba AntarMuka .. ......... .... .. ...... .. ... ... .......... .... ... .. ... 69
BAB V .......... ..... .... .... ... .................. ... ....... ... .... ...... ...... ... .... ..... ... ..... ........... ... ... .. .. . 71
KESIMPULAN DAN SARAN ..... .. .. ..... .. ... .... .. ... ... ........... .... ... .... .... .............. .. .... 71
5 .1. Kesimpulan ... .. ... ... ........... ....... ...... ........ .. ... .. ............ ..... .. ..... ......... .......... .. .. 71
5.2. Saran .. .. ......... .......... ....... ..... ....................... ..... ...... .. .... ............. .. .... ..... ... ... .. 71
DAFTAR PUSTAKA ..... .... ................. ...... ........ ... ............ ..... ...... .. .. ................ ..... 72

Vlll

DAFTARGAMBAR

DAFTAR GAMBAR
Gambar 2.1. Contoh Use case diagram .................................................................. 7
Gambar 2.2. Contoh activity diagram ..... ... ........ .... ........ ..... ... ......... ... ......... ...... ...... 7
Gambar 2.3. Contoh sequence diagram .......... ..... ....... .. .. ... ...... ........ .... ... ... ......... .. .. 8
Gambar 2.4. Contoh collaboration diagram ............. ...... .... ......... ..... ..... ....... ..... ..... 8
Gambar 2.5. Contoh class diagram ......................................................................... 9
Gambar 2.6. Contoh deployment diagram .............................................................. 9
Gambar 2.7. Contoh browser ................................................................................ 11
Gambar 2.8. Contoh window diagram ... ......... ... ...... ............. .. .. .... ...... .... ............ .. 12
Gambar 2.9. Contoh too/bar diagram .... ............................................................... 12
Gambar 2.1 0. Contoh documentation window ...................................................... 13
Gambar 2.11. Contoh log window ......................................................................... 13
Gambar 2.12. Contoh option window .................. ...... ............... .. .. .. ........ .......... .. .. 14
Gambar 2.13. Contohjenis-jenis stereotype ..... .. ..... ...... ........... ... .. .... ........ ... ... ... .. 14
Gambar 2.14. Imp1ementasi modul sebagai sekumpulan concerns ... ........ ..... ... ... 19
Gambar 2.15. Dekomposisi concerns ................................................................... 19
Gambar 2.16. Pembangunan program berorientasi aspek. ............. ........... .. .......... 20
Gambar 2.17. Enkapsulasi nama, atribut, dan layanan dalam ke1as ..................... 21
Gambar 2.18. Pola umum deklarasi kelas.. ........................................................... 21
Gambar 2.19. Weaver ............................................................................................ 22
Gambar 2.20. Contoh OOD untuk editor gambar sederhana ................................ 29
Gambar 2.21. Contoh AOD untuk editor gambar sederhana ................................ 30
Gambar 3 .I. Contoh notasi aspek pada class diagram ....... ............. ................ ..... 36
Gambar 3.2. Notasijoin point untuk method yang melakukan crosscutting
terhadap pada sequence diagram ..................... .... .. .... .. .... ........... .............. ...... 36
Gambar 3.3. Notasi join point untuk penambahan method pada sequence diagram
············ ·· ·········································································································· 36
Gambar 3.4. Contoh penerapan notasijoin point untuk method yang melakukan

crosscutting terhadap sistem, pada sequence diagram .............. ..... ................ 37

IX

Gambar 3.5. Contoh penerapan notasijoin point untuk penambahan method, pada

sequence diagram ... .... ..... ...... .. ......... ... .............. .. ... ............... ....... .. ......... ...... . 37
Gambar 3.6. Contoh penerapan notasijoin point, pointcut, aspek, advice, dan

intertype declaration dalam class diagram ........ ............................ .. .. ............ 39
Gambar 3.7. Use Case untuk: login.................................... ... ... .............. ................ 43
Gambar 3.8. Sequence diagram pada OOD untuk aksi normal ...... .. .... .. .............. 46
Gambar 3.9. Sequence diagram untuk aksi alternative ......................................... 48
Gambar 3.10. Class diagram pada OOD .... .............. .. .............. ... ....... ..... .............. 49
Gambar 3.11. Sequence diagram pada AOD untuk aksi normal .......................... 55
Gambar 3.12. Class diagram pada sistem keamanan login yang dilengkapi dengan
notasi aspek ..................................................... ............................................... 55
Gambar 4.1 . Implementasi kelas DBManager ........ ................ ... .. .... ....... .. ............ 61
Gambar 4.2. Implementasi kelas Authen .............................................................. 61
Gambar 4.3. Implementasi kelas UserList .. .......... .......... .. .... ..... .. ........ .... .... ......... 62
Gambar 4.4. Implementasi kelas UA ... ........ ............ ........ .. .... .. ................ .......... ... 63
Gambar 4.5. Implementasi kelas UAList .............................................................. 63
Gambar 4.6. Implementasi kelas Credentials ........ ...... .. ....... ............................ ..... 63
Gam bar 4.7. Implementasi kelas LoginF orm .. ....................... ...... ... ..... .. ..... .... ...... 66
Gambar 4.8. Implementasi kelas MainForm ............. ............ ..... ... ........ ................ 67
Gambar 4.9. Implementasi aspek check. ... ... ... .. ...... .... ...... .................. ...... ... .. ... .... 68
Gambar 4.10 . Implementasi aspek RoleHierarchy ............................................... 68
Gam bar 4.11. Implementasi antarmuka untuk halaman login .............................. 69
Gambar 4.12. Implementasi antarmuka untuk halaman utama .................... ..... .... 69
Gambar 4.13. Pesan kesalahan pada halaman login ............................................. 69

X

DAFTAR TABEL

DAFTAR TABEL
Tabel 3 .1. Skenario login pada aplikasi web SOP ......................... .. .... .............. .. . 44
Tabel 3 .2. Operasi dan atribut pada sistem login 000 serta keterangannya ........ 49
Tabel3.3 . Resume 000 dan AOO .. ...... ... .... ....... .. ......... .... ........ ...... .. .. ... .......... ... 58
Tabel4.1 Lingkungan pembangunan perangkat lunak ... .. .... ... ........... .... ... .. ......... 59

XJ

BABI

PENDAHULUAN

BABI
PENDAHULUAN

1.1.

Latar Belakang

Sekarang ini pengembangan perangkat lunak banyak dikeijakan
dengan menggunakan metode berorientasi objek, contohnya UML. Pada
OOD (Object Oriented Design) tahap perancangan perangkat lunak
dike:Ijakan

dengan

menentukan

objek-objek

yang penting

tmtuk

mendukung dan memenuhi kebutuhan (requirement) yang ada[CLI03].
Tujuannya adalah untuk mengelompokkan fungsionalitas seperti yang
telah ditentukan pada saat menganalisis kebutuhan. Melalui proses ini,
perancang sering lupa bahwa objek-objek ini memerlukan interaksi dengan
objek lainnya untuk memenuhi kebutuhan. Hal ini terjadi karena
bagaimana cara kebutuhan berinteraksi berbeda dengan objek. Akibatnya,
arsitektur objek menjadi kacau I membingungkan dan modularitas sistem
tidak jelas. Hal ini juga mempengaruhi re-usability sistem.
Tugas Akhir ini akan menggali tahap analisis dan memodelkan
tahap perancangan perangkat lunak dengan menggunakan metode
berorientasi aspek, dimana aspek merupakan pengembangan dari objek.
Pemodelan aspek juga menggunakan UML yang sudah ada yang telah
dikembangkan. Dengan menggunakan aspek akan mempermudah tahap
perancangan sebuah sistem, terutama nanti pada saat sistem tersebut
mengalami perubahan (misalnya karena perkembangan teknologi) karena

2

aspek memisahkan concerns ke dalam modul-modul sehingga sistem yang
dibuat mempunyai modularitas yang bagus pada tahap perancangan
perangkat lunak. Modularitas yang bagus pada tahap perancangan
mempunyru

kelebihan

dalam

hal

comprehensibility,

reusability,

adaptability,jlexibility, dan maintainability.

1.2. Tujuan dan Manfaat
Tujuan dari Tugas Akhir ini adalah untuk memodelkan suatu aspek
yang terdiri dari sekumpulan concerns ke dalam notasi UML pada waktu
tahap pemodelan perangkat lunak. Dengan adanya notasi baru pada UML
yang

menggambarkan

aspek

ini,

diharapkan

tahap

analisis

dan

perancangan pada proses pembangunan perangkat lunak bisa dilakukan
dengan lebih bersih dan jelas.

1.3. Permasalahan
Permasalahan yang diangkat dalam tugas akhir ini adalah sebagai
berikut.
1. Menentukan concerns pada suatu permasalahan/studi kasus
2. Memisahkan concerns pada suatu permasalahan/studi kasus untuk
kemudian ditempatkan pada suatu aspek
3. Menggambarkan notasi aspek ke dalam notasi UML beserta relasinya
dengan kelas-kelas lain.

3

1.4. Metodologi

Pengerjaan tugas akhir ini terbagi menjadi beberapa tahapan, yaitu:
1. Studi literatur

Tahap ini merupakan tahap pencarian informasi sehubungan
dengan proses-proses yang dilakukan pada tahap perancangan suatu
pengembangan perangkat lunak yang berorientasi aspek. Informasiinformasi tersebut didapatkan dari internet, dikarenakan buku
mengenai topik tersebut masih sangat jarang.
2. Pengumpulan data
Pada tahap ini dilakukan pengumpulan data mengena1
permasalahan-permasalahan/studi kasus yang bisa diselesaikan dengan
menggunakan

metode

pengembangan

perangkat

lunak

yang

berorientasi aspek.
3. Analisis dan perancangan data
Pada tahap analisis dan perancangan, dilakukan analisis datadata yang telah terkumpul untuk mempelajari karakteristiknya untuk
dapat dimodelkan dengan aspek. Selanjutnya merancang pembuatan
notasi aspek untuk data-data tersebut. Pada tahap ni juga diusulkan
notasi-notasi untuk

istilah-istilah

yang terdapat dalam teknik

pemodelan berorientasi aspek.
4. Implementasi dan ujicoba perancangan
Tahap ini merupakan tahap untuk mengimpementasikan
/membuktikan

hasil rancangan yang sudah dibuat, yaitu dengan

4

membuat program berorientasi aspek sesuai dengan rancangan yang
telah dibuat sebelumnya. Setelah itu dilakukan tes untuk memeriksa
apakah basil implementasi yang dibuat sudah benar dan dilakukan
evaluasi untuk mengetahui apa saja kekurangannya

1.5. Sistematika Laporan

Uraian sistematika penulisan pada tugas akhir ini bertujuan agar
perancangan dan pembuatan perangkat lunak yang dibahas menjadi mudah
dipahami, jelas dan sistematis untuk tiap-tiap bab atau sub bahasan.
Secara kronologis uraian dalam tugas akhir ini disusun sebagai berikut :
Bab I Pendahuluan.

Bagian ini berisi latar belakang, permasalahan, tujuan, batasan
permasalahan, metodologi, dan sistematika pembahasan.
Bab II Dasar Teori.

Bab ini berisi penjelasan mengenai dasar ilmu yang mendukung
pembahasan tugas akhir ini, meliputi Ul\1L (Unified Modeling Language),
pemodelan berorientasi aspek AOD (Aspect Oriented Design), dan sedikit
mengenai pemrograman berorientasi aspek AOP (Aspect Oriented

Programming).
Bab III Analisis dan Perancangan Sistem Keamanan.

Bab ini berisi penjelasan mengenai notasi untuk istilah-istilah dalam
pemodelan berorientasi aspek, analisis dan pemodelan sistem keamanan
login dengan menggunakan mekanisme pemodelan berorientasi objek,

5

memodelkan sistem keamanan login menggunakan pemodelan berorientasi
aspek, serta perbedaan antara pemodelan berorientasi objek dan
pemodelan berorientasi aspek.
Bab IV Implementasi dan Uji Coba Model Sistem Keamanan.

Pada bagian ini akan dibuat implementasilpembuktian dari basil
perancangan pada bab sebelumnya. Setelah itu dilakukan uji coba dan
evaluasi terhadap rancangan yang telah dibuat.
Bab V Kesimpulan dan Saran

Merupakan uraian kesimpulan dari bab-bab sebelumnya, serta saran
untuk pengembangan selanjutnya.

BAB II

DASAR TEORI

BABII
DASARTEORI

Pada bab ini akan dibahas mengenai teori-teori yang mendasari pembuatan
Tugas Akhir yang meliputi pembahasan Uill Rational Rose, Pemodelan
Berorientasi

Objek,

Pemrograman

Berorientasi

Aspek,

dan

Pemodelan

Berorientasi Aspek.

2.1. UML Rational Rose
- Uill (Unified Modeling Language)
Uill [B0098] merupakan bahasa standar untuk visualisasi, spesifikasi,
pembangunan, dan pendokumentasian artefak pada sistem perangkat lunak. Uill
terdiri dari:


Pemodelan data (Data modeling)



Pemodelan bisnis (Business modeling)



Pemodelan objek (Object modeling)



Pemodelan komponen (Component modeling)

Dill mungkin digunakan untuk memvisualisasi model:


Perilaku (behavior) aplikasi



Struktur sistem



Arsitektur proyek yang akan dikeijakan



Komponen sistem

6

7

Use Case Diagram
Use-case diagrams dibuat untuk menggambarkan interaksi sistem dengan luar.

/~

!)
,~

Student

Request Course Roster

'"~

Professor

Register for Courses

Maintain Course Information
Registrar

Billing System

Gambar 2.1. Contoh Use case diagram

Activity Diagram
Activity diagram menunjukkan aliran kejadian dalam sistem.

( Op.en . . . ".

~· r~gistaon

·)

"' cise ~)
t,,regis!ratlon

i

Gam bar 2.2. Contoh activity diagram

Sequence Diagram
Sequence diagram menggambarkan langkah-langkah yang hams dilakukan
menyelesaikan bagian fungsionalitas yang disediakan oleh sistem. untuk

8

Il
' 2.su
· ~ bmil.
~

3: add Joe to M ath 101

I
I

I
I
4: add Joe

5 : are you open ?

I
I

6: • dd ope n

I

I

Gambar 2.3. Contoh sequence diagram

Collaboration Diagram
Collaboration diagram menggambarkan interaksi objek yang diatur di sekitar

objek dan hubungannya satu dengan yang lain.

~

: Registrar

~
~

.'-1



+setx(int) 11 setY(int)

~getx()

·

:----------.
2
~

Move'rracKing .

+setP1(Point)U , ;,etp2(Point)

~-

Llne
•getP1()
•getP2()

Gambar 2.21. Contoh AOD untuk editor gambar sederhana

Pada gambar 2.21. diatas terlihat bahwa sekarang kelas Line dan kelas Point
bersih dari code tangling. Dan rancangan yang barn ini mempunyai modularitas
dan tingkat reusability yang tinggi karena tidak ada concerns atau fungsi-fungsi
yang melakukan crosscutting terhadapnya.

Pembangunan Perangkat Lunak Berorientasi Aspek
Tahap analisis dan perancangan
Pada tahap ini yang hams

dilakukan

adalah menganalisis dan

mendekomposisi semua kebutuhan!concerns, dimana concerns yang
umum( concerns yang mewakili komponen ftmgsional yang sudah
modular) dikelompokkan menjadi kelas, sedangkan concerns yang
khusus( concerns

yang

melakukan

crosscutting

terhadap

sistem)

31

dimodulkan dalam aspek[LAD02]. Sebuah aspek digunakan untuk
mengimplementasikan

sebuah

concern

khusus.

Concerns

hasil

dekomposisi tersebut kemudian diimplementasikan menjadi unit-unit
individual, dimana implementasi kelas terdiri dari nama kelas, operasi, dan
atribut, sedangkan implementasi aspek terdiri dari komponen nama,
stereotype aspect, operasi, dan atribut. Kemudian semua aspek dan kelas
direkomposisi untuk membentuk rancangan lengkap suatu sistem
perangkat lunak.
Tahap pemrograman
Pada tahap ini AOP memudahkan programmer dalam menuliskan kodekode program yang berulang dalam sistem, karena kode-kode program
tersebut dikelompokkan dalam modul aspek, sehingga mengurangi jumlah
kode yang harus ditulis. Dalam hal ini pemrograman dikerjakan dengan
menggunakan AspectJ.
Kode AOP lebih termodularisasi dan mempunyai tingkat reusability yang
tinggi dari pada versi OOP. Kode AOP juga lebih fleksibel dalam hal
penambahan method-method tanpa merubah desain atau kode, dan tidak
b