BAB 2 LANDASAN TEORI
2.1
Pengertian Kriteria dan Analisis Multikriteria Dalam proses pengambilan keputusan dibutuhkan adanya kriteria sebelum
memutuskan suatu alternatif pilihan. Kriteria digunakan sebagai alat ukur untuk mengukur tingkat pencapaian tujuan, karena kriteria menunjukkan definisi dari suatu masalah dalam bentuk yang konkrit. Kriteria adalah standar penentuan atau aturan-aturan dasar yang mana alternatif keputusan-keputusan diurutkan menurut keinginan kriteria itu sendiri, atau dengan kata lain kriteria adalah suatu istilah umum yang meliputi konsep-konsep dari atribut dan sasaran (Malczewski, 1999). Analisis multikriteria adalah seperangkat proses yang digunakan untuk menganalisis masalah keputusan yang kompleks dimana ketidakpastian dan kriteria yang saling berlawanan dilibatkan sebagai dasar dimana keputusan-keputusan alternatif dievaluasi (Malczewski, 1999).
2.2
Metode Pembobotan Menurut Malczewski (1999), terdapat beberapa cara pembobotan, pembobotan
bisa dilakukan dengan metode ranking, rating, pairwise comparison, dan trade-off analysis. Pada penelitian ini metode yang digunakan adalah :
12 1. Metode Pairwise Comparison digunakan dalam metode AHP. Metode ini mempunyai konsep menentukan bobot relatif antara dua kriteria berdasarkan skala nilai bobot 1-9 yang dikembangkan oleh Saaty. 2. Metode ranking digunakan dalam MPE, merupakan metode pemberian bobot yang sederhana, dimana dalam penyusunannya bobot dibuat dalam tingkatan-tingkatan tertentu. Kriteria dan bobot dibuat berdasarkan pertimbangan pembuat keputusan.
2.3
Definisi AHP Analytical Hierarchy Process (AHP) adalah suatu metode analisa pengambilan
keputusan berhirarki yang dibangun oleh Prof. Thomas L. Saaty di University of Pittsburg pada tahun 1970. AHP pertama kali diaplikasikan dalam perencanaan militer Amerika Serikat dalam menghadapi berbagai kemungkinan (contingency planning). Setelah itu AHP digunakan dalam pengembangan rencana transportasi di Sudan dan meluas di perusahaan Amerika Serikat lainnya. Di antara perusahaan besar di Amerika Serikat yang pernah menggunakan AHP dalam kegiatan bisnisnya adalah IBM, General Motors, Xerox, Kodak, dan Rockwell International. AHP adalah suatu model pengambilan keputusan yang berguna dan fleksibel untuk membantu orang dalam menentukan prioritas dan membuat keputusan terbaik. AHP memberikan kesempatan untuk membangun gagasan-gagasan dan mendefinisikan persoalan dengan cara membuat asumsi mereka masing-masing dan memperoleh pemecahannya. AHP memasukkan pertimbangan dan nilai-nilai pribadi secara logis. Proses ini bergantung pada imajinasi, pengalaman, dan pengetahuan untuk menyususn hirarki suatu masalah pada logika, intuisi, dan pengalaman untuk memberikan pertimbangan. Proses ini juga memungkinkan pengujian kepekaan hasilnya terhadap
13 perubahan informasi. Secara kualitatif, metode ini mendefinisikan masalah dan penilaian. Sedangkan secara kuantitatif, AHP melakukan perbandingan dan penilaian untuk mendapatkan solusi. Metode ini memecahkan suatu masalah yang kompleks dan tidak terstruktur ke dalam kelompok-kelompoknya, mengatur kelompok-kelompok tersebut dalam suatu hirarki, memasukkan nilai numerik sehingga mengganti persepsi manusia dalam melakukan perbandingan relatif dan akhirnya dengan suatu sintesa ditentukan elemen mana yang mempunyai prioritas tertinggi. Para pengambil keputusan dapat memperbanyak elemen-elemen suatu persoalan hirarki dan mengubah beberapa pertimbangan mereka. Setiap pengulangan AHP adalah seperti membuat hipotesis dan mengujinya, sehingga lama-kelamaan akan menambah pemahaman terhadap sistem. Pada dasarnya pengambilan keputusan dalam metode AHP didasarkan pada 3 hal, yaitu penyusunan hirarki, penentuan prioritas dan konsistensi logis. Kekuatan AHP terletak pada struktur hirarkinya yang memungkinkan seseorang memasukkan semua faktor penting, nyata dan mengaturnya dari atas ke bawah mulai dari tingkat yang paling penting ke tingkat yang berisi alternatif, untuk dipilih mana yang terbaik. Metode AHP juga merupakan suatu teori umum mengenai pengukuran. AHP digunakan untuk menurutkan skala rasio dari beberapa perbandingan berpasangan yang bersifat diskrit maupun kontinu. Empat macam skala pengukuran yang biasa digunakan adalah skala nominal, ordinal, interval dan rasio. Skala yang lebih tinggi dapat dikategorikan menjadi skala-skala yang lebih rendah, namun tidak sebaliknya. Perbandingan berpasangan tersebut dapat diperoleh melalui pengukuran aktual maupun pengukuran relatif dari derajat kesukaan, kepentingan atau perasaaan. Dengan demikian
14 metode ini sangat berguna untuk membantu mendapatkan skala rasio dari hal-hal yang semula sulit diukur, seperti pendapat, perasaan, perilaku dan kepercayaan. Menurut Mulyono (2002, p335-337), dalam menyelesaikan persoalan dengan AHP ada beberapa prinsip yang harus dipahami, diantaranya adalah : •
Decomposition Setelah persoalan didefinisikan, maka perlu dilakukan decomposition, yaitu memecah persoalan yang utuh menjadi unsur-unsurnya. Jika ingin mendapatkan hasil yang akurat, pemecahan juga dilakukan terhadap unsur-unsurnya sampai tidak mungkin dilakukan pemecahan lebih lanjut, sehingga didapatkan beberapa tingkatan dari persoalan tadi. Karena alasan ini, maka proses analisis ini dinamakan hirarki. Ada dua jenis hirarki, yaitu lengkap dan tidak lengkap. Dalam hirarki lengkap, semua elemen pada suatu tingkatan memiliki semua elemen yang ada pada tingkat berikutnya. Jika tidak demikian maka dinamakan hirarki tidak lengkap.
•
Comparative judgement Prinsip ini berarti membuat penilaian tentang kepentingan relatif dua elemen pada suatu tingkat tertentu dalam kaitannya dengan tingkat di atasnya. Penilaian ini merupakan inti dari AHP, karena ia akan berpengaruh terhadap prioritas elemenelemen. Hasil dari penilaian ini akan tampak lebih enak bila disajikan dalam bentuk matriks yang dinamakan pairwise comparison matrix. Pertanyaan yang biasa diajukan dalam menyusun skala kepentingan adalah : 1. Elemen mana yang lebih (penting / disukai / mungkin / ...) ? dan 2. Berapa kali lebih (penting / disukai / mungkin / ...) ? Agar diperoleh skala yang bermanfaat ketika membandingkan dua elemen, seseorang yang akan memberikan jawaban perlu pengertian menyeluruh tentang
15 elemen-elemen yang dibandingkan dan relevansinya terhadap kriteria atau tujuan yang dipelajari. •
Synthesis of priority Dari setiap pairwise comparison matrix kemudian dicari eigenvectornya untuk mendapatkan local priority. Karena pairwise comparison matrix terdapat pada setiap tingkat, maka untuk mendapatkan global priority harus dilakukan sintesa di antara local priority. Prosedur melakukan sintesa berbeda menurut bentuk hirarki. Pengurutan elemen-elemen menurut kepentingan relatif melalui prosedur sintesa dinamakan priority setting.
•
Logical consistency Konsistensi memiliki dua makna. Pertama adalah bahwa objek-objek yang serupa dapat dikelompokkan sesuai dengan keseragaman dan relevansi. Contohnya, anggur dan kelereng dikelompokkan dalam himpunan yang seragam jika bulat merupakan kriterianya, tetapi tak dapat jika rasa sebagai kriterianya. Arti kedua adalah menyangkut tingkat hubungan antara objek-objek yang didasarkan pada kriteria tertentu. Contohnya, jika manis merupakan kriteria dan madu dinilai lima kali lebih manis dibanding gula, dan gula dinilai dua kali lebih manis dibanding sirup, maka seharusnya madu dinilai sepuluh kali lebih manis dibanding sirup. Jika madu hanya dinilai empat kali lebih manis dibanding sirup, maka penilaian dianggap tidak konsisten dan proses harus diulang jika ingin memperoleh penilaian yang lebih tepat.
2.4
Manfaat AHP Menurut Saaty (1991, p23-25), AHP merupakan sebuah model luwes untuk
membantu dalam pengambilan keputusan. Pengamatan mendasar ini tentang sifat
16 manusia, pemikiran analitik, dan pengukuran membawa pada pengembangan suatu model yang berguna untuk memecahkan persoalan secara kuantitatif. AHP merupakan proses yang ampuh untuk menanggulangi berbagai persoalan politik dan sosio ekonomi yang kompleks. AHP harus memasukkan pertimbangan dan nilai-nilai pribadi secara logis, karena hal tersebut merupakan faktor yang dapat mempengaruhi hasil keputusan. Prosesnya adalah mengidentifikasi, memahami, dan menilai interaksi dari suatu sistem sebagai suatu keseluruhan. Kita sulit untuk mengharapkan pemecahan langsung untuk persoalan yang rumit, oleh karena itu, AHP harus terus dicoba dan diulang. Secara umum, keuntungan menggunakan AHP dapat dikatakan sebagai berikut : 1. Kesatuan. AHP memberi satu model tunggal yang mudah dimengerti dan luwes untuk aneka ragam persoalan tak terstruktur. 2. Kompleksitas. AHP memadukan ancangan deduktif dan ancangan berdasarkan sistem dalam memecahkan persoalan. 3. Saling ketergantungan. AHP dapat menangani saling ketergantungan elemen-elemen dalam suatu sistem dan tak memaksakan pemikiran linear. 4. Penyusunan hierarki. AHP mencerminkan kecenderungan alami pikiran untuk memilah-milah elemenelemen suatu sistem dalam berbagai tingkat berlainan dan mengelompokkan unsur yang serupa dalam setiap tingkat.
17 5. Pengukuran. AHP memberi suatu skala untuk mengukur hal-hal dan wujud suatu metode untuk menetapkan prioritas. 6. Konsistensi. AHP melacak konsistensi logis dari pertimbangan-pertimbangan yang digunakan dalam menetapkan berbagai prioritas. 7. Sintesis. AHP menuntun kesatuan taksiran menyeluruh tentang kebaikan setiap alternatif. 8. Tawar Menawar. AHP mempertimbangkan prioritas-prioritas relatif dari berbagai faktor sistem dan memungkinkan orang untuk memilih alternatif yang terbaik berdasarkan tujuantujuan mereka. 9. Penilaian dan Konsensus. AHP tidak memaksakan konsensus tetapi mensintesis suatu hasil yang representative dari berbagai penilaian yang berbeda-beda. 10. Pengulangan Proses AHP memungkinkan orang memperhalus definisi mereka pada suatu persoalan dan memperbaiki pertimbangan dan pengertian mereka melalui pengulangan.
2.5
Metodologi AHP Langkah-langkah penggunaan AHP adalah sebagai berikut :
1. Tentukan tujuan (level 1), kriteria (level 2), dan alternatif (level 3) dari masalah. 2. Tentukan peringkat kriteria untuk matriks alternatif yang dipilih menurut tabel derajat kepentingan.
18 Jika faktor dibandingkan dengan dirinya sendiri, maka harus ”equally preferred” dengan nilai 1, yang membuat seluruh nilai sepanjang diagonal matriks bernilai 1. Penilaian skala perbandingan antar kriteria diisi berdasarkan tabel intensitas kepentingan pada model AHP. Tabel 2.1 Derajat Kepentingan AHP Intensitas
Keterangan
Kepentingan 1 2
Penjelasan Dua aktivitas memberikan kontribusi sama
Equally preferred
terhadap tujuan.
Equally to moderately preferred
Antara equally dan moderately. Pengalaman dan penilaian memberikan nilai
3
Moderately preferred
tidak jauh berbeda antara satu aktivitas terhadap aktivitas lainnya.
4 5 6 7 8 9
Moderately to strongly preferred
Penilaian memberikan nilai kuat berbeda antara
Strongly preferred Strongly
to
satu aktivitas terhadap aktivitas lainnya. very
strongly preferred
Antara strongly dan very strongly.
strongly Satu aktivitas sangat lebih disukai
Very
dibandingkan aktivitas lainnya.
preferred Very
Antara moderately dan strongly.
strongly
extremely preferred Extremely preferred
to
Antara very strongly dan extremely. Satu aktivitas menempati urutan tertinggi dari aktivitas lainnya.
3. Sama dengan cara nomor 2, tentukan peringkat untuk masing-masing matriks kriteria yang dipilih menurut tabel derajat kepentingan.
19 4. Kalikan matriks kriteria dengan matriks alternatif dari hasil perhitungan nomor 2 dan nomor 3 untuk mendapatkan priority vector sehingga mendapatkan keputusan yang terbaik. 5. Langkah nomor 5-8 digunakan untuk menghitung konsistensi, dimulai dengan penentuan weighted sum vector dengan mengalikan row averages dengan matriks awal. 6. Tentukan consistency vector dengan membagi weighted sum vector dengan row averages. 7. Hitung Lambda dan Consistency Index: CI =
λ−n n −1
, di mana n adalah jumlah item dari sistem yang dibandingkan. dan λ adalah rata-rata dari Consistency Vector.
8. Hitung Consistency Ratio:
CR =
CI , di mana RI adalah Random Index yang didapatkan dari tabel. RI
Hasil yang konsisten adalah CR ≤ 0,10. Jika hasil CR > 0,10, maka matriks keputusan yang diambil harus dievaluasi ulang. Tabel 2.2. Random Index N 2 3 4 5 6 7 8 9 10
Random Index 0,00 0,58 0,90 1,12 1,24 1,32 1,41 1,45 1,49
20 2.6
Definisi MPE
Metode Perbandingan Eksponensial (MPE) merupakan salah satu metode untuk menentukan prioritas alternatif keputusan dengan kriteria jamak. Teknik ini digunakan sebagai pembantu bagi individu pengambil keputusan untuk menggunakan rancang bangun model yang terdefinisi dengan baik pada tahapan proses. Berbeda dengan teknik Bayes, MPE akan menghasilkan nilai alternatif yang perbedaannya lebih kontras (Marimin, 2004).
2.7
Metodologi MPE
Dalam menggunakan metode perbandingan eksponensial, ada beberapa tahapan yang harus dilakukan. Tahapan-tahapan tersebut adalah sebagai berikut : 1. Menyusun alternatif-alternatif keputusan yang akan dipilih. 2. Menentukan kriteria atau perbandingan relatif kriteria keputusan yang penting untuk dievaluasi dengan menggunakan skala konversi tertentu sesuai dengan keinginan pengambil keputusan. 3. Menentukan tingkat kepentingan relatif dari setiap dari setiap kriteria keputusan atau pertimbangan kriteria. Penentuan bobot ditetapkan pada setiap kriteria untuk menunjukkan tingkat kepentingan suatu kriteria. 4. melakukan penilaian terhadap semua alternatif pada setiap kriteria dalam bentuk total skor tiap alternatif. 5. menghitung skor atau nilai total setiap alternatif dan mengurutkannya. Semakin besar total nilai (TN) alternatif maka semakin tinggi urutan prioritasnya. Formulasi perhitungan skor untuk setiap alternatif dalam metode perbandingan eksponensial adalah sebagai berikut :
21 m
Total Nilai (TN i ) = ∑ ( RK ij )
TKK j
j =1
Dimana : TNi
= total nilai alternatif ke –i
RKij
= derajat kepentingan relatif kriteria ke –j pada pilihan keputusan i
TKKj = derajat kepentingan kriteria keputusan ke –j; TKKj > 0; bulat n
= jumlah pilihan keputusan
m
= jumlah kriteria keputusan
2.8
Keuntungan MPE
Metode perbandingan eksponensial mempunyai keuntungan dalam mengurangi bias yang mungkin terjadi dalam analisis. Nilai skor yang menggambarkan urutan prioritas menjadi besar (fungsi eksponensial) ini mengakibatkan urutan prioritas alternatif keputusan lebih nyata (Marimin, 2004).
2.9
Pengertian Sistem Informasi
Menurut Mcleod (2001, p11), sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Suatu organisasi seperti suatu perusahaan atau bidang fungsional cocok dengan definisi ini. Menurut O’Brien (2003, p8), sistem terdiri dari bagian-bagian yang saling berkaitan satu sama lain dan saling bekerja sama untuk mencapai tujuan tertentu. Atau lebih detail lagi, sistem adalah integrasi dari komponen-komponen yang saling bekerja sama untuk mencapai satu tujuan dengan mengubah input menjadi output melalui serangkaian proses yang terorganisir.
22 Elemen / komponen dasar sebuah sistem terdiri atas : 1. Input, meliputi seluruh elemen / komponen yang memasuki sistem untuk diproses. 2. Process, meliputi proses transformasi yang mengubah input menjadi suatu output yang berguna. 3. Output, merupakan pemindahan elemen-elemen yang telah dihasilkan oleh proses transformasi yang akan dikirimkan ke tujuan akhir. Selain elemen dasar, sistem juga memiliki dua elemen tambahan. Elemen tambahan ini membuat konsep sistem menjadi lebih berguna dan sistem dapat menjalankan pengawasan dan pengaturan sendiri. Elemen tambahan tersebut adalah : 1. Feedback, merupakan output yang dikembalikan kepada orang-orang dalam organisasi untuk membantu mengevaluasi input. 2. Control, merupakan pengawasan dan evaluasi feedback untuk menentukan apakah sistem telah berjalan sesuai yang diharapkan. Menurut McLeod (2001, p12-13), informasi adalah data yang telah diproses atau data yang memiliki arti. Terdapat empat dimensi informasi, yaitu : •
Ketepatan waktu Informasi harus dapat tersedia untuk memcahkan masalah pada waktu yang tepat sebelum situasi menjadi tidak terkendali atau kesempatan yang ada menghilang.
•
Kelengkapan Perusahaan khususnya manajer harus dapat memperoleh informasi yang memberi gambaran lengkap dari suatu permasalahan atau penyelesaian. Namun pemberian informasi yang tidak berguna secara berlebihan harus dihindari.
23 •
Akurasi Secara ideal, semua informasi harus akurat untuk menunjang terbentuknya system yang akurat pula. Akurasi ini terutama diperlukan dalam aplikasi-aplikasi tertentu seperti aplikasi yang melibatkan keuangan, semakin teliti informasi yang diinginkan maka biaya pun semakin bertambah.
•
Relevansi Informasi disebut relevan jika informasi tersebut berkaitan langsung dengan masalah yang sedang dihadapi. Manajer harus mampu memilih informasi yang diperlukan. Menurut O’Brien (2003, p13), informasi adalah data yang telah diproses menjadi
sesuatu yang bermanfaat bagi pengguna. Ada tiga buah dimensi atribut dari kualitas informasi menurut O’Brien (2003, p16), yaitu : •
Dimensi Waktu (Time Dimension) Informasi harus disediakan ketika dibutuhkan, harus up-to-date ketika disajikan, harus disajikan sesering mungkin ketika dibutuhkan dan harus dapat menyajikan data masa lalu, sekarang, dan amsa yang akan datang.
•
Dimensi Isi (Content Dimension) Informasi harus dapat disajikan secara akurat, harus relevan, dan harus dapat disediakan secara lengkap sesuai kebutuhan.
•
Dimensi Bentuk (Form Dimension) Informasi harus dapat disajikan dengan cara yang mudah dipahami, bisa ditampilkan dalam bentuk tulisan, angka, grafik, dan bentuk-bentuk lainnya, informasi dapat disajikanpada media kertas, video, atau media yang lainnya.
24 Menurut Mcleod (2001, p4), sistem informasi adalah suatu kombinasi yang terorganisasi dari manusia, perangkat lunak, perangkat keras, jaringan komunikasi, dan sumber daya data yang mengumpulkan, mentransformasikan, serta menyebarkan informasi dalam sebuah organisasi.
2.10
Analisis dan Perancangan Sistem Informasi
2.10.1 Konsep Object Oriented Analysis and Design
Menurut Mathiassen et al (2000, p135), Object-Oriented Analysis and Design (OOAD) adalah metode untuk menganalisa dan merancang sistem dengan pendekatan berorientasi object. Object diartikan sebagai suatu entitas yang memiliki identitas, state dan behavior (Mathiassen et al, 2000, p4). Pada analisa, identitas sebuah object menjelaskan bagaimana seorang user membedakannya dari object lain, dan behavior object digambarkan melalui event yang dilakukannya. Sedangkan pada perancangan,
identitas sebuah object digambarkan dengan cara bagaimana object lain mengenalinya sehingga dapat diakses, dan behavior object digambarkan dengan operation yang dapat dilakukan object tersebut yang dapat mempengaruhi object lain dalam sistem. Terdapat tiga buah konsep atau teknik dasar dalam proses analisa dan perancangan berorientasi objek, yaitu: 1. Encapsulation Encapsulation dalam bahasa pemrograman berorientasi objek secara sederhana
berarti pengelompokkan fungsi. Pengelompokkan ini bertujuan agar developer tidak perlu membuat coding untuk fungsi yang sama, melainkan hanya perlu memanggil fungsi yang telah dibuat sebelumnya.
25 2. Inheritance Inheritance dalam bahasa pemrograman berorientasi objek secara sederhana berarti
menciptakan sebuah class baru yang memiliki sifat-sifat dan karakteristikkarakteristik sama dengan yang dimiliki class induknya disamping sifat-sifat dan karakteristik-karakteristk individualnya. 3. Polymorphism Polymorphism berarti kemampuan dari tipe objek yang berbeda untuk menyediakan
atribut dan operasi yang sama dalam hal yang berbeda. Polymorphism adalah hasil natural dari fakta bahwa objek dari tipe yang berbeda atau bahkan dari sub-tipe yang berbeda dapat menggunakan atribut dan operasi yang sama. Pendekatan perancangan yang berorientasi pada objek ini menggunakan objek dan class sebagai konsepnya. Pengertian objek yaitu suatu entitas yang memiliki identitas, status, dan perilaku. Sedangkan, pengertian class adalah deskripsi dari kumpulan objek yang memiliki struktur, pola perilaku, dan atribut yang sama.
2.10.2 System Choice
Pengembangan sebuah sistem dimulai dengan pengumpulan ide-ide yang diperlukan mengenai sistem. Hal ini dapat dilakukan dengan preliminary analysis atau dengan sederetan keputusan yang telah dibuat oleh pihak-pihak yang terlibat. Pembuatan system choice dapat dilakukan dengan terlebih dahulu mendeskripsikan sistem yang
akan dibuat. Deskripsi sistem yang diinginkan dapat dibuat dalam bentuk narasi atau gambar. Dalam bentuk narasi, deskripsi sistem dibuat menggunakan system definition, yaitu deskripsi singkat dan jelas mengenai sistem yang akan dibuat dalam bahasa yang
26 sederhana. Dalam bentuk gambar, deskripsi sistem dibuat menggunakan rich picture, yaitu suatu gambar informal yang menunjukkan pemahaman pengembang terhadap sistem. Dalam preliminary analysis, juga ditentukan 6 kriteria yang sering disingkat menjadi FACTOR. Keenam kriteria tersebut adalah (Mathiassen et al, 2000, p39-40) : •
Functionality, fungsi dari sistem yang mendukung kegiatan application domain.
•
Application domain, bagian dari suatu organisasi yang mengatur, mengawasi dan
mengontrol problem domain. •
Conditions, kondisi di mana sistem akan dikembangkan dan digunakan.
•
Technology, teknologi yang digunakan untuk mengembangkan sistem dan teknologi
di mana sistem tersebut akan dijalankan. •
Objects, object utama dalam problem domain.
•
Responsiliility, tanggung jawab sistem secara keseluruhan terhadap konteks sistem.
FACTOR dapat digunakan dalam dua cara. Pertama, FACTOR digunakan untuk mendukung pembuatan system definition, dengan mempertimbangkan formulasi keenam kriteria FACTOR. Di sini, FACTOR didefinisikan dahulu, baru kemudian dibuat system definitionnya. Cara kedua adalah dengan mendefinisikan system definition dahulu dan
kemudian menggunakan keenam kriteria FACTOR untuk mengetahui bagaimana system definition yang dibuat telah memenuhi keenam FACTOR tersebut.
27 2.10.3 Aktivitas Utama Object Oriented Analysis and Design
Menurut Mathiassen et al (2000), Objek Oriented Analysis and Design (OOAD) memiliki empat aktifitas utama yaitu problem domain analysis, application domain analysis, component design, dan architectural design.
2.10.3.1
Problem Domain Analysis Problem domain merupakan bagian dari konteks yang diatur, diawasi dan
dikendalikan oleh sistem. Dengan kata lain analisis problem domain berkaitan dengan mengekspresikan kebutuhan yang harus dipenuhi oleh sistem. Tujuannya yaitu mengidentifikasi dan memodelkan problem domain sehingga didapatkan informasi apa saja yang dibutuhkan oleh sistem. Aktivitas dalam problem domain ada tiga, yaitu mendefinisikan classes, structure dan behavior. Tabel 2.3 Aktivitas dalam Problem Domain Analysis Aktivitas Classes
Structure
Behavior
Isi Object dan event apa saja yang menjadi
bagian dalam problem domain?
Konsep Class, object dan event
Bagaimana class dan object saling
Generalisasi, agregasi,
dihubungkan?
asosiasi, dan cluster
Apa saja properti dinamis yang dimiliki
Event trace, behavioral
sebuah object?
pattern,dan atribut
2.10.3.1.1 Classes
Menurut Mathiassen et al (2000, p49), aktivitas classes bertujuan memilih elemen-elemen dalam problem domain, yaitu object, class dan event. Event adalah kejadian yang terjadi seketika yang melibatkan satu atau lebih object. Abstraksi, klasifikasi dan pemilihan adalah kegiatan utama dalam aktivitas class. Abstraksi
28 merupakan kegiatan di mana problem domain diabstraksikan dalam bentuk object dan event. Object dan event tersebut kemudian diklasifikasikan dan dilakukan pemilihan class dan event mana yang digunakan untuk memodelkan problem domain. Konsep class ini merupakan upaya untuk mendefinisikan dan membatasi problem domain.
2.10.3.1.2 Structure
Aktivitas structure bertujuan menjelaskan hubungan struktural antara class dan object dalam problem domain. Dalam aktivitas classes, class dan object diklasifikasikan berdasarkan event. Pada aktivitas structure, hal ini dikembangkan dengan menambahkan pendeskripsian hubungan struktural antara class dan object tersebut. Hubungan sruktural ini kemudian digambarkan dalam suatu class diagram, yang menunjukkan atribut dan operasi dari sebuah class. Menurut Mathiassen et al (2000), hubungan struktural terbagi atas : 1. Struktur antar class •
Generalisasi, adalah hubungan struktural antara dua atau lebih class khusus (subclass) dengan sebuah class yang lebih umum (superclass). Dalam konsep generalisasi ini, semua yang merupakan property dari superclass juga berlaku bagi subclassnya.
•
Cluster, adalah kumpulan dari class yang saling berhubungan. Sebuah cluster
memungkinkan pemahaman problem domain secara menyeluruh dengan membaginya menjadi subdomain. Class-class di dalam sebuah cluster biasanya memiliki hubungan generalisasi atau agregasi, walaupun hal ini bukanlah syarat mutlak dalam pembentukan cluster. Dan hubungan antar class dari cluster yang satu dengan cluster yang lain biasanya berupa hubungan asosiasi.
29 2. Struktur antar object •
Agregasi, adalah hubungan struktural antara dua atau lebih object, di mana object yang satu merupakan bagian dari suatu object lain yang bersifat keseluruhan. Hubungan agregasi dari class yang lebih tinggi dapat dinyatakan sebagai ”terdiri dari”, misalnya sebuah mobil terdiri dari mesin motor. Sedangkan hubungan agregasi dari class yang lebih rendah dinyatakan sebagai ”bagian dari”, misalnya mesin motor adalah bagian dari mobil.
•
Asosiasi, adalah hubungan struktural antara dua atau lebih object, di mana tidak terdapat peringkat antar object yang dihubungkannya (memiliki peringkat yang sama / sejajar). Hubungan asosiasi digambarkan dengan sebuah garis di antara class yang relevan.
2.10.3.1.3 Behaviour
Pada aktivitas behavior, dilakukan perluasan definisi class diagram dengan menambahkan atribut dan behavioral pattern pada setiap class. Dalam aktivitas class, behavior merupakan sekumpulan event yang belum berurutan yang melibatkan sebuah object. Maka pada aktivitas behavior, behavior dijelaskan dengan lebih detail dengan
memberikan urutan waktu pada event. Behavior perlu dibuat untuk semua class dan dapat dibuat dengan membuat event trace terlebih dahulu. Event trace adalah urut-urutan event yang melibatkan object tertentu. Dan behavioral pattern adalah penjelasan dari semua kemungkinan event trace untuk seluruh object dalam sebuah class. Ada tiga bentuk behavioral pattern, yaitu :
•
Sequence (urutan), adalah pola di mana event terjadi satu persatu secara berurutan.
30 •
Selection (pemilihan), adalah pola di mana hanya satu event yang terjadi dari
beberapa kemungkinan event yang dapat terjadi. •
Iteration (perulangan), ialah pola di mana sebuah event terjadi secara berulang-
ulang. Hasil
dari
aktivitas
behavior
adalah
statechart
diagram
yang
menggambarkan semua aktivitas dan state-state yang mungkin dialami dalam sebuah class, mulai dari pembentukan class hingga ketika class tersebut dihancurkan.
2.10.3.2
Application Domain Analysis Application domain merupakan organisasi yang mengatur, mengawasi, atau
mengendalikan problem domain. Tujuan dari analisis application domain adalah untuk menentukan fungsi-fungsi dan antar muka apa saja yang dibutuhkan oleh penggunaan sistem. Tabel 2.4 Aktivitas dalam Application Domain Analysis Aktivitas Usage
Function
Interface
Isi
Bagaimana sistem berinteraksi dengan manusia dan konteks sistem? Bagaimana kemampuan (kapabilitas) sistem dalam memproses informasi?
Konsep Use case dan actor
Function
Interface apa saja yang dibutuhkan oleh
Interface, user interface,
sistem?
system interface
2.10.3.2.1 Usage
Aktivitas usage bertujuan mendefinisikan interaksi pengguna (actor) dengan sistem melalui pendefinisian actor dan use case. Actor adalah abstraksi pengguna atau sistem lain yang berinteraksi dengan sistem. Dan use case adalah sebuah pola interaksi
31 antara sistem dengan actor dalam application domain. Hasil dari aktivitas ini dapat berupa gambar (use case diagram) yang menggambarkan hubungan actor dan use case, atau berupa tabel (actor table) yang mendefinisikan interaksi antara actor dan use case. 2.10.3.2.2 Function
Aktivitas
function
bertujuan
menentukan
kapabilitas
sistem
dalam
memproses informasi, di mana function yang kompleks perlu mendapatkan perhatian khusus. Function adalah fasilitas yang memungkinkan model menjadi berguna bagi actor. Sebuah function akan diaktifkan, dieksekusi dan akhirnya memberikan hasil, di
mana eksekusi yang dilakukan terhadap function dapat mengubah status atau menimbulkan reaksi terhadap application domain dan problem domain. Hasil dari aktivitas function adalah function list. Terdapat 4 tipe function, yaitu: •
Update, adalah function yang diaktifkan oleh event dalam problem domain dan
menghasilkan perubahan pada status (state) dari model. •
Signal, adalah function yang diaktifkan oleh perubahan status dari model dan
menimbulkan reaksi dalam problem domain, reaksi dapat berupa tampilan bagi actor atau intervensi langsung yang menyatakan hal tersebut. •
Read, adalah function yang diaktifkan oleh adanya kebutuhan akan informasi dalam
pekerjaan actor sehingga sistem akan menampilkan bagian tertentu dari model yang berhubungan. •
Compute, adalah function yang diaktifkan oleh adanya kebutuhan akan informasi
dalam pekerjaan actor yang memerlukan komputasi dari informasi yang disediakan oleh actor atau model. Hasilnya berupa tampilan hasil komputasi tersebut.
32 2.10.3.2.3 Interface Interface digunakan oleh actor untuk berinteraksi dengan sistem. Interface
adalah fasilitas yang memungkinkan model dan function dari sistem dapat digunakan oleh actor. Interface terdiri dari user dan system interface. User interface adalah interface yang menghubungkan sistem dengan pengguna (user). Sedangkan system interface adalah interface yang menghubungkan sistem dengan sistem lain.
Hasil dari aktivitas ini adalah pembuatan tampilan (form) yang merupakan user interface dan navigation diagram yang menggambarkan setiap window, bagaimana
hubungan antara setiap window dan bagaimana mengakses setiap window tersebut.
2.10.3.3
Architectural Design Architectural design adalah tahap penyusunan sistem yang terkomputerisasi.
Kegiatan ini merupakan kerangka kerja dalam aktivitas pengembangan sistem. Hasil dari aktifitas ini adalah struktur komponen dan proses sistem. Architectural design terbagi atas dua yaitu component architecture dan process architecture. Component architecture berfokus pada aspek yang stabil yaitu class dan menyusun sistem dalam
komponen yang terkait dan berkaitan dengan pertimbangan logis. Sedangkan process architecture lebih berfokus pada aspek yang dinamis yaitu objek dan menyusun proses
dalam sistem supaya terkoordinasi dan mencapai penggunaan yang efisien dalam technical platform dan process architecture berhubungan dengan pertimbangan fisik.
33 Tabel 2.5 Aktivitas dalam Architectural Design Aktivitas Criteria
Isi
Bagaimana kondisi dan kriteria untuk perancangan?
Konsep Criterion
Compone
Bagaimana sistem didekomposisikan ke
Component dan
nts
dalam komponen-komponen?
Component architecture
Bagaimana proses dalam sistem
Process dan Process
didistribusikan dan dikoordinasikan?
architecture
Processes
2.10.3.3.1 Criteria
Tujuan pembuatan criteria adalah untuk menentukan urutan prioritas dalam perancangan. Suatu perancangan yang baik memiliki 3 prinsip, yaitu tidak memiliki kelemahan utama, memiliki beberapa kriteria secara seimbang, serta mencakup paling tidak 3 kriteria perancangan, yaitu usable, flexible dan comprehensible. Usable ditentukan oleh hubungan antara kualitas teknis sistem dengan penerapannya dalam pekerjaan user. Flexible dan comprehensible membantu dalam perancangan dan pengimplementasian kegiatan. Criteria adalah properti atau kondisi yang lebih diutamakan dalam suatu
arsitektur. Kriteria-kriteria ini bisa jadi saling bertentangan, karena itu prioritas dari kriteria-kriteria menjadi penting. Kriteria-kriteria tersebut adalah : •
Usable : kemampuan sistem untuk beradaptasi terhadap suatu organisasi, kegiatan
yang terkait, dan konteks teknis dalam organisasi tersebut. •
Secure : pencegahan terhadap akses yang tidak diijinkan terhadap data dan fasilitas.
•
Efficient : eksploitasi secara ekonomis dari fasilitas technical platform.
•
Correct : pemenuhan sistem terhadap kebutuhan organisasi.
34 •
Reliable : pemenuhan terhadap kebutuhan yang penting dalam pelaksanaan fungsi-
fungsi sistem. •
Maintainable : biaya untuk mencari dan memperbaiki kerusakan pada sistem.
•
Testable : biaya untuk memastikan bahwa sistem yang dibuat dapat berfungsi
sebagaimana mestinya. •
Flexible : biaya untuk memodifikasi sistem yang dibuat.
•
Comprehensible : usaha yang diperlukan untuk mendapatkan pemahaman yang baik
terhadap sistem. •
Reuseable : potensi untuk menggunakan bagian-bagian sistem dalam sistem lainnya
yang berkaitan. •
Portable: biaya untuk memindahkan sistem ke technical platform yang lain.
•
Interoperable : biaya untuk menghubungkan sistem dengan sistem yang lain.
2.10.3.3.2 Components
Tujuan dari aktivitas ini adalah untuk membuat struktur sistem yang mudah dimengerti (comprehensible) dan flexible. Component adalah suatu kumpulan dari bagian-bagian program yang memiliki tanggung jawab masing-masing. Component architecture adalah struktur sistem yang terdiri dari komponen-komponen yang saling
berhubungan. Component architecture yang baik akan membantu pemahaman sistem, pengaturan perancangan dan menunjukkan kestabilan dari sistem tersebut. Hasil dari aktivitas ini adalah component diagram. Komponen sistem memiliki tiga bagian, yaitu : •
Model : bertanggung jawab untuk menampung object dari problem domain.
•
Function : bertanggung jawab untuk menyediakan fungsionalitas dari sistem.
35 •
User interface : bertanggung jawab untuk mengatur interaksi antara pengguna (user)
dengan sistem. Perancangan component architecture dapat dilakukan berdasarkan pola-pola (pattern) tertentu. Pattern menunjukkan pengalaman dari berbagai proyek, dan pattern terbaik dapat membantu dalam membuat perancangan yang konsisten. Ada 3 macam pola (pattern) yang digunakan untuk merancang component architecture, yaitu : •
The layered architecture pattern Layered architecture terdiri dari beberapa komponen yang dirancang dalam bentuk
lapisan-lapisan (layer), di mana setiap komponen diuraikan menjadi interface atas dan bawah. Interface bawah menjelaskan operasi yang dapat diakses oleh komponen dari lapisan di bawahnya, sedangkan interface atas menjelaskan operasi yang disediakan oleh komponen di lapisan atas. •
The generic architecture pattern
Arsitektur ini terdiri dari model sistem yang terletak di lapisan paling bawah, diikuti dengan function pada lapisan di atasnya dan interface di lapisan teratas. Perangkat teknis bisa diletakkan di bawah model di mana perangkat teknis ini terhubung dengan model dan interface. •
The client-server architecture pattern
Arsitektur ini dikembangkan untuk sistem yang terdistribusi di beberapa area geografis yang berbeda. Komponen dari arsitektur ini mencakup sebuah server dan beberapa klien, di mana klien-klien ini menggunakan server secara independen satu sama lainnya.
36 Tabel 2.6 Bentuk-Bentuk Distribusi dalam Client Server Architecture Client
Server
Architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M
M
Distributed data
2.10.3.3.3 Processes
Aktivitas ini bertujuan mendefinisikan struktur fisik sebuah sistem. Process architecture adalah struktur eksekusi sistem yang terdiri dari proses-proses yang
interdependen. Hasil dari aktivitas ini adalah deployment diagram, yang menjelaskan distribusi dan kolaborasi komponen program dan objek yang terkait dengan processor. Processor adalah unit yang dapat mengeksekusi program.
2.10.3.4
Component Design
Tujuan dari aktifitas ini adalah menentukan implementasi dari kebutuhan ke dalam kerangka kerja arsitektur. Oleh karena itu aktifitas ini berisi perancangan terhadap komponen sistem yaitu model dan function yang hasilnya berupa deskripsi mengenai komponen tersebut.
37 Tabel 2.7 Aktivitas dalam Component Design Aktivitas
Isi
Konsep
Bagaimana model mewakili
Model Component dan
class dalam sistem?
Attribute
Bagaimana functions
Function Component dan
diimplementasikan?
Operation
Connecting
Bagaimana komponen-
Component dan
Components
komponen dihubungkan?
Connection
Model Component
Function Component
2.10.3.4.1 Model Component Model component adalah bagian dari sistem yang mengimplementasi model
dari problem domain. Tujuannya yaitu mengantarkan data historis dan saat ini ke function, interfaces, dan terutama kepada user dan sistem lain. Hasilnya adalah class diagram dari model component yang telah direvisi.
2.10.3.4.2 Function Component Function component lebih mengarah pada bagaimana fungsi diimplementasi. Function component adalah bagian dari sistem yang mengimplementasi kebutuhan
fungsional. Tujuannya yaitu memberikan akses terhadap model kepada user interface dan sistem lain. Hasil aktifitas ini adalah class diagram dengan operasi dan spesifikasi dari operasi yang kompleks. 2.10.3.4.3 Connecting Component
Aktifitas
connecting
component
berfokus
pada
menilai
bagaimana
komponen-komponen tersebut saling terhubung. Hubungan ini ditunjukan dengan penilaian terhadap coupling (ukuran seberapa dekat dua buah class atau komponen terkait) dan cohesion (ukuran seberapa baik sebuah class atau komponen digabungkan
38 bersama. Hasil aktifitas ini adalah class diagram dari komponen yang saling berhubungan.
2.11
Unified Modeling Language (UML)
2.11.1 Sejarah UML
UML merupakan pengantar kepada gelombang metode OOAD yang muncul pada akhir tahun 1980an dan awal 1990an. Pada saat itu, ada banyak metode object oriented yang berbeda yang digunakan dalam industri, di antaranya Booch Method dari
Grady Booch, Object Modeling Technique (OMT) dari James Rumbaugh, dan ObjectOriented Software Engineering (OOSE) dari Ivar Jacobson. Adanya banyak metode dan
teknik pemodelan tersebut merupakan permasalahan utama dalam pengembangan sistem saat itu, karena tidak ada standar dan keseragaman tertentu sehingga terdapat keterbatasan antar proyek dan antar anggota tim pengembangan. Hal ini mempersulit komunikasi dan menimbulkan banyak kesalahan dalam proyek. Permasalahan inilah yang membawa kepada usaha untuk menemukan bahasa pemodelan yang standar, yang dapat digunakan pada semua keadaan di seluruh dunia. Tahun 1994, Booch dan Rumbaugh menyatukan pandangan mereka tentang metode pengembangan object oriented, dan disusul oleh Jacobson pada 1995, serta metode-metode lain seperti Fusion, Shlaer-Mellor, dan lain-lain. Pada 1996, Object Management Group (OMG) meminta proposal untuk sebuah pendekatan yang standar
untuk object oriented modeling. Para pencetus UML mulai bekerja dengan para metodologis dan pengembang dari perusahaan lain untuk membuat sebuah proposal yang menarik bagi OMG agar modeling languange dapat diterima oleh para pencetus, metodologis dan pengembang. Proposal diserahkan ke OMG pada September 1997,
39 hasil akhirnya adalah kolaborasi dari banyak orang. Dan pada November 1997 dibuat sebuah standarnya yaitu UML version 1.0. UML adalah standar dunia yang dibuat oleh Object Management Group (OMG), sebuah badan yang bertugas mengeluarkan standar-
standar teknologi object oriented dan software component. 2.11.2 Kegunaan UML
Berdasarkan OMG, UML (Unified Modeling Language) dapat didefinisikan sebagai sebuah bahasa yang berdasarkan gambar untuk memvisualisasi (visualisizing), menspesifikasi (specifying), mengkonstruksi (constructing), dan mendokumentasi (documenting) sebuah sistem perangkat lunak. UML menggunakan notasi yang dikombinasikan dari beberapa metode yang telah berkembang sebelumnya. Hal ini ditujukan untuk mempermudah desain, dan dapat digunakan untuk model dengan skala besar sekalipun dengan jumlah kompleksitas, jumlah tim, dan distribusi komponen yang sangat besar. Tujuan akhir dari UML adalah untuk menjadi sesederhana mungkin selama masih memenuhi kebutuhan untuk melakukan modeling pada sistem yang akan dibangun. 2.11.3 Diagram-diagram dan Notasi UML
Notasi adalah bahasa textual dan graphical untuk menggambarkan sebuah sistem dan konteksnya yang diformalisasikan secara terpisah. Tujuannya adalah untuk menyederhanakan komunikasi dan dokumentasi. Berikut ini merupakan beberapa diagram UML dan notasinya yang paling umum digunakan dalam OOAD : 1. Class Diagram Class merupakan sebuah spesifikasi yang jika diinstansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.
40 Class menggambarkan keadaan suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut. Jadi, dapat disimpulkan bahwa class diagram menggambarkan sekumpulan class, interface, dan collaboration, dan relasirelasinya. Class diagram juga menunjukkan atribut dan operasi dari sebuah objek class. Atribut adalah nama-nama properti dari sebuah kelas yang menjelaskan
batasan nilainya dari properti yang dimiliki oleh sebuah kelas tersebut. Atribut dari suatu kelas merepresentasikan properti-properti yang dimiliki oleh kelas tersebut. Atribut mempunyai tipe yang menjelaskan tipe instansiasinya. Operasi adalah implementasi dari layanan yang dapat diminta dari sebuah objek dari sebuah kelas yang menentukan tingkah lakunya. Sebuah operasi dapat berupa perintah ataupun permintaan. Sebuah permintaan tidak boleh mengubah kedudukan dari objek tersebut. Hanya perintah yang dapat mengubah keadaan dari sebuah objek. Keluaran dari sebuah operasi tergantung dari nilai keadaan terakhir dari sebuah objek. Class memiliki 3 area pokok, yaitu nama, atribut, dan fungsi. Atribut dan metoda
dapat memiliki salah satu sifat berikut ini: − Private : tidak dapat dipanggil dari luar class yang bersangkutan. − Protected : hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. − Public : dapat dipanggil oleh siapa saja. Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang
hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package.
41 Hubungan antar class dapat digambarkan dengan notasi sebagai berikut: •
Asosiasi Hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Digambarkan dengan sebuah garis yang dilengkapi dengan sebuah label, nama dan status hubungannya. Panah navigability menunjukkan arah query antar class. Navigability merupakan sebuah properti dari role yang menandakan bahwa
mungkin untuk melakukan navigasi uni-directional pada asosiasi dari objek sumber ke objek tujuan. •
Agregasi Hubungan yang menyatakan ”bagian dari”, ”bagian keseluruhan” atau ”terdiri atas”. Suatu class atau objek mungkin memiliki atau bisa dibagi menjadi class atau objek tertentu, dimana class atau objek yang disebut kemudian merupakan bagian dari class atau objek yang terdahulu. Ada 2 jenis agregasi, yaitu : 1. Composite Aggregation
Disebut juga strong aggregation dimana objek ”bagian” tidak dapat berdiri sendiri tanpa objek ”keseluruhan”. Jadi, antara objek yang satunya saling terkait kuat dengan objek lainnya. Merupakan multiplicity pada satu composite dan dinotasikan dengan filled diamond. Menunjukkan bahwa composite secara tunggal memiliki the part. 2. Shared Aggregation
Merupakan multiplicity pada composite yang lebih dari 1 dan dinotasikan dengan hollow diamond. Menunjukkan bahwa the part bisa terdapat pada instance composite.
42 •
Generalisasi Menggambarkan hubungan khusus dalam objek anak/child yang menggantikan objek parent/induk. Objek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek induk.
2. Statechart Diagram Menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu. Statechart diagram digunakan
dalam aktifitas behavior pada problem domain analysis. 3. Use Case Diagram Menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah ”apa” yang diperbuat oleh sistem, dan bukan ”bagaimana.” Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create
sebuah daftar belanja dan sebagainya. Seorang actor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement (kebutuhan) sebuah sistem, mengkomunikasikan rancangan dengan
klien, dan merancang test case untuk semua feature yang ada pada sistem. Use case diagram menunjukkan aktor-aktor yang berinteraksi dengan sebuah sistem
dan use case yang menjelaskan cara-cara seperti bagaimana interaksi mengambil tempat. Aktor-aktor dihubungkan dengan use case di mana mereka dihubungkan dengan sebuah asosiasi.
43 4. Sequence Diagram Menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri dari dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Bisa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk aktor memiliki lifeline
vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Sequence diagram menunjukkan sebuah interaksi antara peran atau obyekobyek prototipe dalam sebuah kolaborasi. Setiap peran memiliki sebuah lifeline yang memanjang di bawahnya. Message direpresentasikan dengan panah ber-label yang digambarkan dari satu lifeline ke lifeline lain. Message memberikan sebuah aktivasi. Di ujung aktivasi, return message menunjukkan arah balik kendali kepada obyek yang memanggil. Paramenter dan nilai return dapat ditunjukkan dalam message. Message dikirim ke obyek dengan sendirinya untuk memberikan aktivasi nested.
Bennet et al. (2006, p253-254) menyatakan bahwa setiap sequence diagram harus diberikan frame yang memiliki heading dengan menggunakan notasi sd yang merupakan kependekan dari sequence diagram. Bennet et al. (2006, p270) juga menyatakan bahwa terdapat beberapa notasi penulisan heading pada setiap frame yang terdapat dalam sequence diagram, antara lain:
44 a. alt
Notasi alt merupakan kependekan dari alternatives yang menyatakan bahwa terdapat beberapa buah alternatif jalur eksekusi untuk dijalankan. b. opt
Notasi opt merupakan kependekan dari optional dimana frame yang memiliki heading ini memiliki status pilihan yang akan dijalankan jika syarat tertentu
dipenuhi. c. loop
Notasi loop menyatakan bahwa operation yang terdapat dalam frame tersebut dijalankan secara berulang selama kondisi tertentu. d. break
Notasi break mengindikasikan bahwa semua operation yang berada setelah frame tersebut tidak dijalankan. e. par
Merupakan kependekan dari parallel yang mengindikasikan bahwa operation dalam frame tersebut dijalankan secara bersamaan. f. seq
Notasi seq merupakan kependekan dari weak sequencing yang berarti operation yang berasal dari lifeline yang berbeda dapat terjadi pada urutan manapun. g. strict
Notasi strict merupakan kependekan dari strict sequencing yang menyatakan bahwa operation harus dilakukan secara berurutan.
45 h. neg
Notasi neg merupakan kependekan dari negative yang mendeskripsikan operasi yang tidak valid. i. critical Frame yang memiliki heading critical menyatakan bahwa operasi-operasi yang
terdapat di dalamnya tidak memiliki sela yang kosong. j. ignore
Notasi ini mengindikasikan bahwa tipe pesan atau parameter yang dikirimkan dapat diabaikan dalam interaksi. k. consider Consider menyatakan pesan mana yang harus dipertimbangkan dalam interaksi. l. assert
Merupakan kependekan dari assertion yang menyatakan urutan pesan yang valid. m. ref
Notasi ref merupakan kependekan dari refer yang menyatakan bahwa frame mereferensikan operation yang terdapat di dalamnya pada sebuah sequence diagram tertentu.
5. Navigation Diagram. Navigation Diagram merupakan statechart diagram khusus yang berfokus pada user interface. Diagram ini menunjukan window- window yang terlibat dan transisi antar window tersebut. Sebuah window dapat digambarkan sebagai sebuah state yang
memiliki nama dan mengandung gambar miniatur window. Navigation diagram digunakan pada aktifitas interface pada application domain analysis.
46 6. Component Diagram Menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time.
Umumnya komponen terbentuk dari beberapa class dan atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk
komponen lain. Sebuah
component
diagram
berisi
component,
interface,
dan
hubungan
(relationship). Bentuk component diagram utama adalah sebuah segi empat utama yang memiliki dua segi empat lain yang bergantung pada sisi kiri dari segi empat utamanya. Nama dari komponen dapat ditulis di dalam icon tersebut. Nama tesebut berupa
string.
Component
Diagram
menggambarkan
bagaimana
kondisi
pengimplementasian dari objek dan class pada saat penggunaan di lapangan, Component diagram ini juga menggambarkan aktivitas dan interaksi antara aktor, komponen, class, dan objek. 7. Deployment Diagram Menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, dimana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah node adalah server, workstation atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan
47 dalam diagram ini. Deployment diagram menunjukkan arsitektur sebuah computerbased system secara fisik. Diagram ini menggambarkan komputer dan peralatannya,
menunjukkan hubungan yang satu dengan yang lain, dan menunjukkan software yang ada dalam tiap mesin. Setiap komputer menunjukkan sebuah cube, dengan interkoneksinya
antara
komputer
yang
digambarkan
sebagai
garis
yang
menghubungkan cube-cube tersebut.
2.12
Database
Menurut Connolly (2003, p14-15), database adalah kumpulan dari data yang saling berhubungan, dan data ini dibuat untuk memenuhi kebutuhan informasi dari suatu perusahaan. Database Management System (DBMS) adalah suatu software yang memampukan penggunanya untuk membuat, memelihara, dan mempunyai kontrol untuk mengakses database.
2.13
ASP.NET
ASP.NET merupakan platform pengembangan web. ASP.NET memiliki beberapa kelebihan dibandingkan dengan teknologi terdahulu, antara lain : 1. Kemudahan mengakses berbagai library .NET Framework secara konsisten sehingga mempercepat pengembangan aplikasi. 2. Penggunaan berbagai macam bahasa pemrograman secara penuh misalnya VB.NET, C#, J#, dan Visual C++. Selain itu tersedia berbagai web control yang dapat digunakan untuk membangun aplikasi secara cepat. Code Behind, artinya coding pemrograman ditempatkan terpisah dengan coding user interface yang berbentuk HTML. Ini sangat memudahkan ketika melakukan
48 debugging, karena coding untuk presentation layer tidak digabung dengan coding untuk application logic.
2.14
Microsoft Access
Microsoft Access adalah sebuah relational database management system yang dikembangkan oleh Microsoft. Microsoft Access versi 1.0 dirilis pada tahun 1992. Pada awal pengembangannya dikenal dengan kode Cirrus. Software ini telah mulai dikembangkan sebelum Visual Basic mulai dikembangkan. Microsoft Access umumnya didistribusikan bersama-sama dengan aplikasi Micosoft Office (seperti word, excel, power point) lainnya dalam satu paket.