BAB II LANDASAN TEORI
2.1 Identifikasi model fuzzy Metode identifikasi yang digunakan dalam model fuzzy sangat penting. Identifikasi untuk model fuzzy mempunyai dua aspek: - identifikasi struktur - identifikasi parameter. Secara umum, identifikasi struktur merupakan proses yang sulit dan sangat tidak jelas dan tidak siap menerima teknik-teknik otomatis. Kendala dari identifikasi parameter sangat berhubungan dengan estimasi fungsi masing-masing anggota set fuzzy tersebut atau dengan kata lain, hubungan fuzzy yang terkait dengan model fuzzy. 2.1.1
Identifikasi Struktur Pada umumnya, identifikasi struktur mencakup dua kendala sebagai berikut: - menemukan variabel input/output dari sejumlah calon input/output dengan metode heuristis (mencari sendiri) berdasarkan pengalaman dan/atau pengetahuan umum. - menemukan hubungan input/output dalam bentuk aturan sebab-akibat. Di dalam sebuah model fuzzy, identifikasi struktur dinyatakan dengan berbagai cara. Sebuah model fuzzy terdiri dari sejumlah aturan sebab-akibat.
6
Jumlah aturan, n, di dalam sebuah model fuzzy sesuai dengan urutan model tersebut di dalam sebuah metode konvensional. Ada dua bagian di dalam sebuah aturan sebab-akibat: - bagian pendahuluan (antecedent part) - bagian konsekuensi (consequent part)
Gambar 2.1 Antecendet-consequent part dari if-then rule. Sumber : http://www.infm.ulst.ac.uk/~siddique
Bagian antecedent dari sebuah aturan fuzzy mendefinisikan wilayah fuzzy lokal, sementara consequent mendeskripsikan perilaku di dalam suatu daerah melalui berbagai macam pemilih. Para pemilih consequent dapat berasal dari consequent membership functions (MFs), seperti Mamdani dan Tsukamoto fuzzy model, sebuah nilai konstan seperti model deret nol Sugeno, atau sebuah persamaan linear seperti model deret pertama Sugeno. Pemilih consequent yang berbeda menghasilkan sistem fuzzy inference yang berbeda pula, tetapi antecedent mereka selalu sama dan menentukan urutan modelnya dengan membagi-bagi ruang input.
7
Pertimbangkan aturan fuzzy dengan aturan berikut : jika x1 adalah A1, maka y adalah C1. jika x1 adalah A2 dan x2 adalah B1, maka y adalah C2. jika x1 adalah A2 dan x2 adalah B2, maka y adalah C3. Masukan x1 dan x2 dari model aturan diatas dibagi menjadi 3 subspaces dan jumlah aturan sesuai dengan jumlah subspaces . berbeda cara mempartisi dari ruang masukan dua dimensi ditunjukkan pada gambar 2.2.
Gambar 2.2 Partisi dari ruang input. Sumber: http://www.infm.ulst.ac.uk/~siddique
Secara konseptual, pemodelan fuzzy dapat dilakukan dengan dua tahap, yang sepenuhnya tidak saling lepas. Tahap pertama adalah identifikasi struktur,yang tugasnya ada sebagai berikut:
8
1. Pemilihan input – output yang relevan. 2. Memilih jenis Fuzzy Inference System yang lebih spesifik. 3. Menentukan jumlah istilah linguistik yang terkait dengan setiap input dan output variabel. 4. Menghasilkan satu set aturan fuzzy jika – maka.
2.1.2
Identifikasi parameter Dalam
sistem identifikasi biasa, parameter adalah koefisien didalam
suatu model sistem fungsional. Contohnya :
Dimana ao, a1, a2, b0, b1 adalah parameter model sistem yang akan diestimasi. Dalam pemodelan fuzzy , parameter adalah anggota dari fungsi keanggotaan dari fuzzy set. Dalam pemodelan fuzzy, identifikasi parameter hanyalah masalah optimasi dengan konvensional kriteria atau fungsi objektif, seperti kesalahan output. Penentuan arti variabel linguistik disebut sebagai identifikasi dari struktur yang dalam. Struktur yang dalam menentukan fungsi keanggotaan dari masing – masing variabel linguistik (koefisien polinomial output setiap kaidah dari fuzzy model tipe Sugeno). Identifikasi struktur yang mendalam meliputi :
9
1. Memilih keluarga yang tepat dari MTF parameterised. 2. Menerapkan seleksi heuristik atau wawancara operator manusia untuk menentukan parameter MFS 3. Menyempurnakan parameter MFS menggunakan teknik optimasi yang cocok. Dua tugas diatas dapat tersedia dari seorang pakar manusia tetapi untuk tugas yang ke 3 input – output set data akan dibutuhkan. Berbagai parameter identifikasi dan teknik optimasi dapat digunakan seperti metode least – square, metode derivative – based, metode derivatif bebas seperti algoritma evolusioner.
2.2 logika dan Himpunan Fuzzy 2.2.1
Pengertian Logika Fuzzy Fuzzy secara bahasa diartikan sebagai kabur atau samar-samar. Suatu nilai dapat bernilai besar atau salah secara bersamaan. Dalam fuzzy dikenal derajat keanggotaan yang memiliki rentang nilai 0 (nol) hingga 1 (satu). Berbeda dengan himpunan tegas yang memiliki nilai 1 atau 0 (ya atau tidak). Logika Fuzzy merupakan suatu logika yang memiliki nilai kekaburan atau kesamaran (fuzzyness) antar benar atau salah. Dalam teoru logika fuzzy suatu nilai bias bernilai benar atau salah secara bersama. Namun berapa besar keberadaan dan kesalahan suatu tergantung pada bobot keanggotaan yang
10
dimilikinya. Logika fuzzy memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan logika digital yang hanya memiliki nilai 1 atau 0. Logika fuzzy digunakan untuk menterjemahkan suatu besaran yang dieskpresikan menggunakan bahasa (linguistic), misalkan besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak cepat, cepat, dan sangat cepat. Dan logika fuzzy menunjukan sejauh mana suatu nilai itu benar dan sejauh mana suatu nilai itu salah. Tidak seperti logika klasik (scrisp)/ tegas, suatu nilai hanya mempunyai 2 kemungkinan yaitu merupakan suatu anggota himpunan atau tidak. Derajat keanggotaan 0 (nol) artinya nilai bukan merupakan anggota himpunana dan 1(satu) berarti nilai tersebut adalah anggota himpunan. Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input
kedalam suatu ruang output, mempunyai nilai kontinu. Fuzzy
dinyatakan dalam derajat dari suatu keanggotaan dan derajat dari kebenaran. Oleh sebab itu sesuatu yang dapat dikatakan sebagain benar dan sebagian salah pada waktu yang sama. Logika fuzzy memungkinkan nilai keanggotaan antar 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti “sedikit”, “lumayan” dan “sangat” (Zadeh 1965). Kelebihan dari teori logika fuzzy adalah kemampuan dalam proses penalaran
secara
bahasa
(linguistic
reasoning).
Sehingga
dalam
11
perancangannya tidak memerlukan persamaan matematik dari objek yang akan dikendalikan. 2.2.2
Fungsi Keanggotaan Dalam logika tegas, fungsi keanggotaan menyatakan keanggotaan χA(x) bernilai 1 jika x anggota himpunan A, dan bernilai 0 jika x bukan anggota himpunan A. jadi, fungsi keanggotaan ini hanya bisa bernilai 0 atau 1.
Sedangkan dalam logika fuzzy, fungsi keanggotaan menyatakan derajata keanggotaan pada suatu himpunan. Nilai dari fungsi keanggotaan ini berada dalam selang [ 0, 1], dan dinyatakan dengan µA .
Fungsi keanggotaan µA(x) bernilai 1 jika x anggota penuh himpunan A, dan bernilai 0 jika x bukan anggota himpunan A. Sedangkan jika derajat keanggotaan berada dalam selang (0,1), misalnya µA(x)= µ, menyatakan x sebagai himpunan A dengan derajat keanggotaan sebesar µ. Ada 3 cara mendefinisikan himpunan fuzzy : 1. Sebagai himpunan pasangan berurutan
12
Misalkan himpunan fuzzy A didefinisikan dalam semesta X ={x1,x2,…, xn}, maka himpunan pasangan berurutan yang menyatakan himpunan fuzzy-nya adalah
Cara ini hanya dapat digunakan pada himpunan fuzzy yang anggotanya bernilai diskrit. 2. Dengan menyebut fungsi keanggotaan Misalkan himpunan fuzzy A didefinisikan dalam semesta X yang anggotanya bernilai kontinu, makan himpunan pasangan berurutan yang menyatakan himpunan fuzzy-nya adalah
3. Menuliskan sebagai
Untuk X diskrit, atau
Untuk X kontinu.
Fungsi keanggotaan suatu himpuanan fuzzy dapat ditentukan dengan fungsi segitiga (triangel), trapesium (trapezoidal), atau fungsi Gauss (Gaussian).
13
1. Fungsi keanggotaan segitiga Persamaan fungsi keanggotaan segitiga adalah
Persamaan tersebut direpresentasikan dalam bentuk grafik sebagai berikut.
Gambar 2.3 Grafik fungsi keanggotaan segitiga 2. Fungsi keangotaan trapesium Persamaan fungsi keanggotaan segitiga adalah
14
Persamaan tersebut direpresentasikan dalam bentuk grafik sebagai berikut.
Gambar 2.4 Grafik fungsi keanggotaan trapesium 3. Fungsi keanggotaan Gaussian Persamaan fungsi keanggotaan gaussian adalah
Persamaan tersebut direpresentasikan dalam bentuk grafik sebagai berikut.
Gambar 2.5 Grafik fungsi keanggotaan gaussian
15
2.2.3
Operasi Logika Fuzzy Operasi – operasi yang dapat dilakukan dalam logika dan himpunan Fuzzy sama dengan dalam logika dan himpunan biasa. Namun definisinya agak berbeda. 1. Gabungan Gabungan antara himpunan A dan himpunan B dapat diartikan sebagai himpunan yang dekat dengan A atau dekat dengan B.
Gambar 2.6 Grafik gabungan A dan B 2. Irisan Irisan antara himpunan A dan himpunan B dapat diartikan sebagai himpunan yang dekat dengan A dan dekat dengan B.
16
Gambar 2.7 Grafik irisan A dan B 3. Komplemen Komplemen dari himpunan A dapat diartikan sebagai himpunan yang tidak dekat dengan A.
Gambar 2.8 Grafik komplemen B
2.3 Fuzzy Inferense System Fuzzy inferense system (FIS) atau fuzzy inferense engine adalah sistem yang dapat melakukan penalaran dengan prinsip serupa seperti manusia melakukan penalaran dengan nalurinya.
17
Terdapat beberapa jenis FIS yang dikenal yaitu Mamdani, Sugeno dan Tsukamoto. FIS yang paling mudah dimengerti, karena paling sesuai dengan naluri manusia adalah FIS mamdani. FIS tersebut bekerja berdasarkan kaidah-kaidah linguistik dan memiliki algoritma fuzzy yang menyediakan sebuah aproksimasi untuk dimasuki analisa matematik. Sistem kendali logika fuzzy terdiri dari beberapa tahapan seperti pada diagaram berikut.
Gambar 2.9 Proses kendali logika fuzzy Proses dalam kendali logika fuzzy ditunjukan pada gambar diatas. Input yang diberikan adalah berupa bilangan tertentu dan output yang dihasilkan juga harus berupa bilangan tertentu. Aturan-aturan dalam bahasa linguistik dapat digunakan sebagai input yang bersifat teliti harus dikonversikan terlebih dahulu, lalu
18
melakukan penalaran berdasarkan aturan-aturan dan mengkonversi hasil penalaran tersebut menjadi output yang bersifat teliti.
2.3.1
Metode Fuzzy Tsukamoto Dalam model fuzzy Tsukamoto, konsekuensi dari setiap aturan jikamaka fuzzy ini diwakili oleh satu set fuzzy dengan MF monoton (Tsukamoto, 1979). Akibatnya, output dari setiap aturan didefinisikan sebagai crisp value termasuk kekuatan tembak aturan tersebut. Secara keseluruhan output diambil sebagai rata-rata yang dipertimbangkan dari setiap aturan output. Gambar 2.10 mengilustrasikan dua input- satu output dari model fuzzy Tsukamoto
19
Gambar 2.10 Model fuzzy Tsukamoto dengan dua input-satu output Sumber : Kusumadewi, sri (2003)
2.3.2
Fuzzyfikasi Fuzzyfikasi adalah pemetaan nilai input yang merupakan nilai tegas ke dalam fungsi keanggotaan himpunan fuzzy, untuk kemudian diolah didalem mesin penalaran. Fuzzyfikasi : x→µ(x)
20
2.3.3
Aturan dasar Aturan dasar dalam kendali logika fuzzy adalah aturan implikasi dalam bentuk “jika….maka…”. Aturan dasar tersebut ditentukan dengan bantuan seorang pakar yang mengetahui karakteristik objek yang akan dikendalikan. Contoh bentuk implikasi yang digunakan adalah sebagai berikut. Jika X=A dan Y=B maka Z=C.
2.3.4
Penalaran Pada tahapan ini sistem menalar nilai masukan untuk menentukan nilai keluaran sebagai bentuk pengambil keputusan. Sistem terdiri dari beberapa aturan, maka kesimpulan diperoleh dari kumpulan dan korelasi antar aturan. Ada 3 metode yang digunakan dalam melakukan fuzzy inference system, yaitu max, additive dan probabilistik OR. Pada metode max, solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah fuzzy, dan mengaplikasikannya ke output dengan menggunkan operator OR (union). Secara umum dapat dituluis.
Selain itu, salah satu model penalaran yang banyak digunakan adalah max-min. Dalam penalaran ini, pertama-tama dilakukan proses operasi min
21
sinyal keluaran lapisan fuzzyfikasi, kemudian diteruskan dengan operasi max untuk mencari nilai keluaran yang selanjutnya akan didefuzzyfikasikan sebagai bentuk keluaran pengendali. Operasi max-min tersebut daat dinyatakan sebagai berikut. Operasi min atau irisan
Operasi max atau gabungan
Proses penalaran max-min dijelaskan dalam grafik berikut.
Gambar 2.11 Proses penalaran min-max Sumber : http://k12008.widyagama.ac.id/ai/diktatpdf/Logika_Fuzzy.pdf
22
2.3.5
Defuzzyfikasi Defuzzyfikasi merupakan kebalikan dari fuzzyfikasi, yaitu pemetaan dari himpunan fuzzy ke himpunan tegas. Input dari proses defuzzyfikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy. Hasil dari defuzzyfikasi ini merupakaan output dari sistem kendali logika fuzzy. Defuzzyfikasi dideskripsikan sebagai Z*=defuzzyfier(Z) Dengan Z= hasil penalaran fuzzy Z*= keluaran kendali logika fuzzy Deffuzyfier= fungsi defuzzyfikasi Metode defuzzyfikasi antara lain: 1. Metode Maximum Metode ini juga dikenal dengan metode puncak, yang nilai keluarannya dibatasi oleh fungsi µc(z*)>µ1(z). 2. Metode titik tengah Metode titik tengah juga disebut metode pusat area. Metode ini lazim dipakai dalam proses defuzzyfikasi. Keluaran dari metode ini adlaah titik tengah dari hasil proses penalaran 3. Metode rata-rata
23
Metode ini digunakan untuk fungsi keanggotaan keluaran yang simetris. Keluaran dari metode ini adalah nilai rata-rata dari hasil proses penalaran. 4. Metode penjumlahan titik tengah Keluaran dari metode ini adalah penjumlahan titik tengah dari hasil proses penalaran. 5. Metode titik tengah area terbesar Dalam metode ini, keluarannya adalah titik pusat dari area tebesar yang ada.
2.4 Rekayasa Piranti Lunak Piranti lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah
yang
dibutuhkan
oleh
pengguna
dalamm
memproses
informasi
(O’Brien,1999). Menurut Aunur R. Mulyanto (2008,p2) RPL adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. Hal ini menjelaskan bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer tetapi semua hal yang berhubungan dengan proses produksi
24
seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualias sampai dengan pelatihan pengguna merupakan bagian dari RPL. Menurut Aunur R. Mulyanto (2008,p3) menyatakan tujuan RPL adalah” a. Memperoleh biaya produksi perangkat lunak yang rendah. b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu. c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform. d. Menghasilkan perangkat lunak yang biaya perawatannya rendah Ada beberapa ruang lingkup RPL dan digambarkan sebagai berikut
Gambar 2.12 Ruang Lingkup RPL Sumber: Aunur R. Mulyanto (2008,P3) -
Software requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
-
Software design mencakup proses penentuan arsitektur, komponenm antarmuka, dan karakteristik lain dari perangkat lunak
25
-
Software construction berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian, dan pencarian kesalahan.
-
Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
-
Software mantenance mencakup upaya- upaya perawatan ketika perangkat lunak telah dioperasikan.
-
Software configuration management berkaitan dengan pengelolaan dan pengukuran RPL.
-
Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.
-
Software quality menitikberatkan pada kualitas dan daur hidup perangkat lunak.
2.5 Model Rekayasa Piranti Lunak Model – model pada rekayasa piranti lunak umumnya mengacu pada model proses pengembangan sistem yang disebut System Development Life Cycle (SDLC) seperti terlihat pada gambar dibawah ini.
Gambar 2.13 System Development life Cycle (SDLC) Sumber : Aunur R. Mulyanto (2008,P19)
26
Ada beberapa persamaan dari model-model ini, yaitu: -
Kebutuhan terhadap definisi masalah yang jelas.
-
Tahapan-tahapan pengembangan yang teratur
-
Stakeholder
berperan sangat penting dalam keseluruhan tahapan
perkembangan. -
Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak.
-
Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Ada banyak model pengembangan perangkat lunak, antara lain The waterfall
Model, Joint Application Development (JAD), information Engineering (IE), Rapid Application Development (RAD) termasuk juga didalamnya prototyping, Unified Process(UP), Structural Analysis and Design (SAD) dan Framework for the Application of System thinking (FAST). 2.5.1 The Waterfall Model The Waterfall Model merupakan salah satu model yang cukup dikenal dalam dunia rekayasa perangkat lunak. Disebut waterfall karena diagram tahapan prosesnya mirip dengan air terjun. The waterfall model mempunyai 5 tahapan utama, yaitu: -
Tahap investigasi dilakukan untuk mententukan apakah terjadi suatu masalah atau adakah peluang untung suatu sistem dikembangkan. Studi
27
kelayakan diperlukan untuk menentukan menentukan apakah sistem informasi yang dikembangkan merupakan solusi yang layak -
Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada.
-
Tahap disain bertujuan menentukan spesifikasi detil dari komponenkomponen sistem informasi dan produk-produk yang sesuai dengan hasil tahap analisis.
-
Tahap implementasi merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software, melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
-
Tahap perawatan dilakukan ketika sistem informasi sudah dioperasikan.
Gambar 2.14 The Waterfall Model Sumber : Aunur R. Mulyanto (2008,P20)
28
Model Waterfall ini dipakai pada skripsi yang saya buat sekaligus menjadi acuan dalam menganalisa, membahas, mengevaluasi, dan menarik kesimpulan pada skripsi ini. 2.6 Unified Process dan Unified Modeling Language Unified Process adalah kerangka proses pengembangan yang bersifat use-casedriven,berpusat pada arsitektur perangkat lunak, interatif dan tumbuh kembang (Alhir,2005). UP sendiri dapat diaplikasikan pada berbagai skala proyek, mulai dari skala yang kecil hingga skala besar. Dalam pengembangan perangkat lunak dengan menggunaka UP, maka tidak lepas juga dari pengunaan notasi-notasi yang disebut sebagai UML (Unified Modeling Language). UML adalah bahasa pemodelan standar atau kumpulan teknikteknik pemodelan untuk menspesifiksai, mem-visualisasi, meng-konstruksi dan mendokumentasi hasil kerja dalam pengembangan perangkat lunak (Fowler, 2004). UML lahir dari banyak bahasa pemodelan grafis berorientasi obyek yang berkembang pada akhir tahun 1980an dan awal 1990an. UML digunakan untuk menggambarkan sketsa sistem. UML mendefinisikan notasi dan semantik dimana notasi ini merupakan sekumpulan bentuk khusus yang memiliki makna tertentu untuk menggambarkan berbagai diagram piranti lunak dan semantik mendefinisikan bagaimana bentuk tersebut dapat dikombinasikan. Ada beberapa jenis diagram didalam UML, antara lain adalah: -
Use-case diagram. Diagram ini digunakan untuk menggambarkan interaksi antara pengguna dengan sebuah perangkat lunak
29
-
Activity diagram. Diagram ini menggambarkan prosedur-prosedur perilaku perangkat lunak
-
Class diagram. Diagram ini menggambarkan class, fitur, dan hubunganhubungan yang terjadi.
-
Sequence diagram. Diagram ini menggambarkan interaksi antara obyek dengan penekanan pada urutan proses.
-
State machine diagram. Diagram ini menggambarkan bagaimana suatu kejadian mengubah obyek selama masa hidup obyek tersebut.
-
Component diagram. Diagram ini menggambarkan strukutr dan koneksi komponen.
2.6.1 Use-case Diagram Use-case diagram merupakan diagram yang menunjukan fungsionalitas suatu sistem dan bagaimana suatu sistem tersebut berinteraksi dengan dunia luar. Use-case mempresentasikan sebuah interaksi antara aktor dengan sistem. Use-case diagram dapat digunakan selama proses analisis untuk menangkap requirement sistem dan untuk memahami bagaimana sistem seharusnya fungsionalitas
bekerja. Kebutuhan apa
yang
harus
atau
requirements
disediakan
oleh
sistem
sistem
adalah
kemudian
didokumentasikan pada model use case yang menggambarkan fungsi sistem yang diharapkan (use-case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use-case (use case diagram) itu sendiri. Ada beberapa komponen pembentuk use-case diagram,antara lain:
30
o Aktor. Untuk dapat terciptanya suatu use-case diagram makan diperlukan beberapa aktor. Aktor mempresentasikan seseorang atau sesuatu yang berinteraksi dengan sistem. Aktor digambarkan sebagai stick man. o Use case. Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun. 2.6.2 Statechart Diagram Statechart diagram adalah suatu diagram yang menggambarkan daur hidup(behavior pattern) dari sebuah objek, dari awal objek diinisialisasi sampai dihancurkan. Ada 2 macam notasi pada statechart diagram, yaitu initial state dan final state.
Gambar 2.15 intial state dan final state. 2.6.3 Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana berkahir.
31
Activity diagram merupakan state diagram khusus,dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya. Activity diagram tidak menggambarkan behaviour internal sebuha sistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. 2.6.4 Sequence Diagram sequence diagram menggambarakan interaksi antar objek didalam dan disekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram bisa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.