perpustakaan.uns.ac.id
digilib.uns.ac.id
BAB II LANDASAN TEORI 2.1
Tinjauan Pustaka Sebagai perbandingan tugas akhir yang dibuat penulis, terdapat penelitian
yang
dilakukan
sebelumnya
oleh
Monica
Mahardhika(2013
Tanuhita
Putri
Kumala yang
mengimplementasikan Algoritma Dijkstra sebagai penentu jalur terpendek yang dilalui. 2.2
Landasan Teori
2.2.1
Aplikasi
penerapan dari rancang sistem untuk mengolah data yang menggunakan aturan atau
Aplikasi adalah suatu sistem yang dirancang dan disusun sedemikian rupa untuk menghasilkan informasi yang terpadu dengan menggunakan komputer sebagai sarana penunjang. (Jogiyanto, 2000:13). 2.2.2 Aplikasi Web Menurut Arif Rifai (2009:1), pengertian aplikasi berbasis web ialah -side) yang menggunakan standar HTTP dan menggunakan browser untuk menggunakan aplikasi, termasuk di dalamnya terdapat t
commit to user 7
perpustakaan.uns.ac.id
digilib.uns.ac.id
8
Komunikasi antara web browser dengan aplikasi web daat digambarkan seperti berikut :
Gambar 2.1 Gambaran Global Aplikasi Web 2.2.3
Teori Graf Graf merupakan sebuah struktur data yang berbentuk jaringan dimana
hubungan antar elemen-elemennya adalah many-to-many (Munir, 2006). Berdasarkan terminologi teori graf, maka suatu jaringan akan terdiri dari suatu himpunan titik-titik yang disebut dengan node, yang mana node tersebut salaing dihubungkan oleh sebuah garis dan disebut dengan edge. Beberapa terminologinya adalah : 1. Siklus, yaitu lintasan yang diawali sebuah node dan diakhiri pada node itu juga. 2. Tree, yaitu jaringan dengan lintasan yang menghubungkan pasangan-pasangan node, dimana tidak terjadi siklus. 3. Busur maju, yaitu usur yag dapat berarti meninggalkan node. 4. Busur mundur, yaitu busur yang berarti masuk ke dalam node. 5. Kapasitas aliran, yaitu batas aliran yang fleksibel pada busur tertentu. 6. Sumber, yaitu node yang menjadi awal busur-busurnya. 7. Tujuan, yaitu node yang menjadi tujuan busur-busurnya. Menurut Witala (1987), graf adalah sebuah pasangan yang berurutan dari(v,e) dimana v merupakan kumpulan vertex/node dan e adalah kumpulan edge yang
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
9
menghubungkan antara vertex satu dengan yang lain. Gambar 2.1 adalah sebuah graf terdiri dari node (A, B, C, D, E) dan edge merupakan garis-garis yang menghubungkan antar node tersebut. Graph dapat dibedakan menjadi 2 tipe, yaitu : 1. Underected Graph Jika beberapa node yang dihubungkan edge dalam graph tetapi tidak mempunyai arah pada masing-masing edge seperti yang terlihat pada Gambar 2.3 2. Directed Graph Jika sepasang node yang dihubungkan dengan sebuah edge dalam graph dan masing-masing edge mempunyai arah maka disebut dengan graph berarah seperi pada Gambar 2.4
Gambar 2.2 Graph
Gambar 2.3 Undirected Graph
Gambar 2.4 Directed Graph
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
10
2.2.4
Lintasan Terpendek Lintasan terpendek merupakan lintasan minimum yang diperlukan untuk
mencapai sebuah tempat dari tempat tertentu. Lintasan minimum yang dimaksud dapat dicari dengan menggunakan graf, baik yang berbobor maupun tidak (Rachmah, 2008). Terdapat beberapa macam persoalan lintasan terpendek, antara lain : 1. Lintasan terpendek antara dua buah simpul tertentu (Pair Shortest Path) 2. Lintasan terpendek antara semua pasangan simpul simpul (All Pair Shortest Path) 3. Lintasan terpendek dari simpul tertentu ke semua simpul lain (SingleSource Shortest Path) 4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu (Intermediete Shortest Path)
2.2.5
Algoritma Dijkstra Algoritma Djikatra, ditemukan oleh ilmuwan komputer Belanda, Edsger Wybe
Dijkstra pada tahun 1956 dan dipublikasikan pada tahun 1959, merupakan sebuah algoritma pencarian grafik yang menyelesaikan masalah jarak terpendek dengan sebuah node asal untuk graf dengan nilai jarak edge positif, yang menghasilkan jalur terpendek. Algoritma ini sering digunakan pada routing dan sebagai sub-routing pada algoritma jarak lain. Untuk node (vertex) asal yang diberikan dalam graf tersebut, algoritma mencari path dengan nilai terkecil (yaitu path terpendek) diantara vertex asal dengan vertex-vertex yang lain. Hal ini juga dapat digunakan untuk mencari jalur yang memiliki nilai terkecil pada vertex satu dengan vertex tujuan dengan menghentikan algoritma saat jalur terpendek ke vertex tujuan sudah ditentukan.Sebagai contoh, jika satu vertex digambarkan sebagai sebuah kota dan nilai edge digambarkan sebagai jarak antara pasangan kota yang terhubung dengan jalan tersebut, algoritma Dijkstra dapat digunakan untuk mencari jarak terpendek antara satu kota dengan kota lainnya.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
11
Hasilnya, pertama kali jarak terpendek digunakan secara meluas pada jaringan routing protocols, terutama IS-IS dan OSPF (Open Shortest Path First) (Johnsonbaugh, 1990). Menurut Stout (1997, pl) algoritma Dijkstra merupakan pengembangan dari algoritma BFS (Breatdth-first search), dimana pada algoritma Dijkstra setiap edge memiliki nilai dan selalu positif. Perbedaan juga terletak pada open-list. Open-list pada algoritma Djkstra merupakan priority queue, dimana vertex dengan prioritas tertinggi akan diproses terlebih dahulu, yaitu vertex yang memiliki nilai terkecil pada open-list. Jadi pengaturan priority queue dipengaruhi oleh nilai edge kumulatif dari vertex awal hingga akhir. (Newton, Arociam, Raj, Prasath, Kim, &Tai-Hoon, 2009) 1. Rute Terpendek Untuk bisa menerapkan Algoritma Dijkstra, dibutuhkan data sebagai berikut : a. Titik/simpul/daerah, titik/simpul/daerah yang dapat dijangkau langsung serta jarak antar titik
titik, simpang
simpang, atau daerah
b. Titik/simpul/daerah sumber. c. Titik/simpul/daerah tujuan.
Gambar 2.5 Titik Awal dan Tujuan Dijkstra
commit to user
daerah.
perpustakaan.uns.ac.id
digilib.uns.ac.id
12
Keterangan : a) Titik A merupakan titik awal b) Titik F merupakan titik tujuan
Dari grafik diatas, kita akan mencari rute yang harus dilewati untuk oleh titik A mencapai titik F dengan memilih total jarak yang terdekat. Untuk dapat menemukan rute tersebut, maka ditambahkan beberapa kotak bantuan untuk mengisi beberapa label seperti pada gambar 2.
Gambar 2.6 Menambahkan Kotak Bantuan Keterangan : Label Jarak Label Urutan
Label Urutan
Gambar 2.7 Keterangan Label Jarak dan Label Urutan Langkah-langkah yang harus dilakukan dijelaskan sebagai berikut : 1. Mengisi kotak label pada titik awal dengan label urutan 1 dan label jarak 0.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
13
Gambar 2.8 Langkah Dijkstra 1 2. Menetapkan label jarak sementara untuk semua titik yang dapat dihubungkan langsung dengan titik sumber. Label jarak sementara yang dapat dihubungi langsung dari titik A yakni titik B, C, dan E. Sehingga yang dilakukan adalah mengisi label jarak sementara pada titik-titik tersebut.
Gambar 2.9 Langkah Dijkstra 2
3. Memilih titik dengan label jarak sementara terkecil dan menuliskan nilainya di label jarak, serta menambahkan label urutannya. Label jarak terkecil yang didapatkan adalah titik B karena memiliki label jarak sementara terkecil. Selanjutnya mengisi nilai label jaraknya sama dengan label jarak sementara serta memberikan label urutannya seperti pada gambar 2.10
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
14
Gambar 2.10 Langkah Dijkstra 3 4. Memasukkan label jarak sementara pada setiap titik yang belum memiliki label urutan dan label jarak dan dapat dihubungkan langsung dari titik yang baru saja ditulis label jarak dan label urutannya. Nilainya diisi dengan total dari label jarak dari label titik sebelumnya dan jarak dari titik tersebut. Jika labeljarak sementara di titik tersebut sudah memiliki nilai, maka harus diganti hanya jika nilai yang baru lebih kecil. Titik yang belum diberikan label jarak sementara serta label jarak serta dapat dihubungi langsung dari titik B yakni titik C. Label jarak sementara titik C diisi dengan total jarak dari A sampai ke titik C yang melalui titik B, yakni 4 + 2 = 6. Namun sebelumnya nilai label jarak sementaranya titik C sudah ada dan lebih kecil, yakni 5, jadi label jarak sementaranya tidak diganti dan tetap bernilai 5. Karena titik E dan titik C memiliki label jarak semetara yang sama, yakni 5, maka bisa memilih salah satu dari kedua titik tersebut. Misal titik C dipilih, maka diberikan label jarak dan label urutannya, ilustrasi dapat dilihat pada gambar 2.11
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
15
Gambar 2.11 Langkah Dijkstra 4 Selanjutnya titik yang dapat dihubungi secara langsung dari titik C dan belum memiliki label jarak adalah titik E dan D. Titik E
5 + 1 = 6, lebih
besar jika dibandingkan dengan nilai label jarak sementara yang dimiliki oleh titik E sebelumnya, yakni 5, maka nilai 6 diabaikan dan tetap diisi 5. Tiitk D 5 + 2 = 7, maka langsung saja label jarak sementara titik D diisi dengan 7.
Gambar 2.12 Langkah Dijkstra 5 Selanjutnya masuk ke langkah 5, memilih titik dengan label jarak semetara terkecil dan menggunakan label jarak sementaranya sebagai label jarak dari titik tersebut. Dalam contoh ini, titik E terpilih karena memiliki label jarak sementara terkecil. Sehingga memberikan label jarak dan label urutan pada titik E. Ilustrasi gambar dapat dilihat pada gambar 2.13
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
16
Gambar 2.13 Langkah Dijkstra 6 Kembali ke langkah 4, didapatkan bahwa titik F dan G adalah titik yang dapat dihubungi secara langsung dari titk E dan belum memiliki label jarak. Titik F
5 +3 = 8 dan langsung diisikan kedalam label jarak sementaranya.
Sedangkan titik D
5 + 1 = 6 dan lebih kecil daripada nilai sebelumnya yaitu
7, maka nilai label jarak sementaranya diganti dengan 6.
Gambar 2.14 Langkah Dijkstra 7 Menuju ke langkah 5, maka titik D terpilih karena memiliki label jarak sementara terkecil. Maka diberikan label jarak dan label urutan bagi titik D seperti pada gambar 2.14
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
17
Gambar 2.15 Langkah Dijkstra 8 Titik F adalah titik terakhir yang dapat dihubungi secara langsung dari titik D dan belum memiliki label jarak serta merupakan titik tujuan. Titik F 6 + 1 = 7 dan lebih kecil daripada nilai sebelumnya yaitu 8, maka nilai label jarak sementaranya diganti dengan 7.
Gambar 2.16 Langkah Dijkstra 9 Karena titik F adalah satu-satunya titik terakhir yang belum mempunyai label jarak dan label urutan, maka langsung diberikan nilai label jarak dan label urutannya. Dengan begitu, titik tujuan sudah memiliki label jarak dan label jarak sementara. Ilustrasi dapat dilihat pada gambar 2.17
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
18
Gambar 2.17 Langkah Dijkstra 10 5. Memilih titik dengan label jarak sementara terkecil dan menggunakan label jarak sementaranya sebagai label jarak dari titik tersebut, serta menambahkan label urutannya. Langkah 5 sudah dijelaskan pada pembahasan langkah 4. 6. Mengulangi langkah 4 dan 5 hingga titik tujuan memiliki label jarak dan label urutan. 7. Menentukan rute yang harus dilewati untuk menemukan jarak terpendek. Untuk mengetahui rute manakah yag harus dilewati adalah dengan menelusuri kembali dari titik tujuan ke titik sumber dengan cara menuliskan label jarak di samping setiap titik. Contohnya dapat dilihat pada gambar 2.18
Gambar 2.18 Langkah Dijkstra 11
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
19
Titik mana sajakah yang dapat dihubungi langsung dari titik F? Yaitu titik E dan D. Maka untuk menentukan titik manakah yang seharusnya dilewati adalah dengan cara mengurangkan label jarak titik F dengan jaraknya ke titik tujuan serta label jarak titik tersebut. Jika hasilnya kurang dari 0, maka titik tersebut tidak layak untuk dilewati, dan jika hasilnya lebih dari 0 serta lebih mendekati 0, maka titik tersebut yang seharusnya dilewati. Langkah pertama :
Gambar 2.19 Langkah Dijkstra 12 Langkah kedua :
Gambar 2.20 Langkah Dijkstra 13
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
20
Langkah ketiga :
Gambar 2.21 Langkah Dijkstra 14
Dengan begitu, dapat diketahui rute manakah yang harus dilewati dan memilki jarak terpendek dari titik A menuju titik F. Rute tersebut adalah A
E
D
F. Rute terpendek yang didapatkan dapat dilihat pada gambar 2.15
Gambar 2.2 Langkah Dijkstra 15 2.2.6
CodeIgniter Menurut Blanco & Upton (2009:7) CodeIgniter adalah powerfull open source
PHP framework yang mudah dikuasai, dibangun untuk PPHP programers yang membutuhkan toolkit sederhana dan baik untuk membuat full-featured web
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
21
applications. CodeIgniter adalah MVC framework yang di design untuk mempermudah penggunanya. Konsep MVC adalah konsep pemisahan antara logic dengan tampilan dan database. Manfaat konsep ini adalah membuat coding logic lebih simple karena sudah dipisahkan dengan code untuk tampilan dan membuat programmer dapat bekerja secara terpisah dengan designer. Programmer mengerjakan loic, sedangkan designer berkutat dengan design dan tampilan. a. Model
Merupakan code struktur data. Model berisi fungsi di dalam
pengolahan database. b. View
Merupakan code untuk menampilkan tampilan suatu program,
tampilan dapat berupa web page, header, footer, dan apa saja yang berjenis tampilan. c. Contoller
Merupakan code
untuk logic, algoritma, dan sebagai
penghubung antara model, view, dan sumber lain yang diperlukan untuk mengolah HTTP request dan generate web page. 2.2.7
PHP PHP (PHP Hypertext Preprocessor) adalah skrip bersifat server-side yang
ditambahkan ke dalam skrip HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi bersifat statis, namun dinamis. Maksud dari dinamis disini adalah user dapat melakukan perubahan berdasarkan nilai atau value yang diinputkan oleh user. Sedangkan maksud dari server-side berarti pengerjaan skrip akan dilakukan pada server, baru kemudian hasilnya dikirimkan ke browser (Kurniawan, 2001). Menurut Didik Dwi Prasetyo (2004:76), PHP merupakan bahasa scripting server-side, dimana pemrosesan datanya dilakukan pada sisi server. Sederhananya,
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
22
server-lah yang akan menerjemahkan skrip program, baru kemudian hasilnya akan dikirim kepada client yang melakukan permintaan. Sedangkan menurut Valade (2004:9) PHP akronim dari Hypertext Prepocessor adalah open source yang banyak digunakan sebagai tujuan utama scripting language. Didesain untuk digunakan pada pengembangan website. PHP berawal dari personal home page tools, yang dikembangkan oleh Rasmus Lerdorf untuk membantu user dengan webpage task. PHP dibuktikan sangat berguna dan populer serta secara bertahap berkembang untuk menjadi full-featured language.
2.2.7.1 Keunggulan PHP Seluruh aplikasi berbasis web dapat dibuat dengan PHP, namun kekuatan yang paling utama PHP adalah pada konektifitasnya dengan sistem database di dalam web. Kelebihan-kelebihan dari PHP diantaranya adalah : a. PHP mudah dibuat dan dijalankan, maksudnya PHP dapat berjalan dalam web server dan dalam sistem operasi yang berbeda pula. b. PHP adalah software open source yang gratis dan bebas didistribusikan kembali dibawah lissensi GPL (GNU Public Licence). User dapat mendownload kode-kode PHP tanpa harus mengeluarkan uang atau khawatir dituntut oleh pihak pencipta PHP. c. PHP bisa dioperasikan pada platform Linux ataupun Windows. d. PHP sangat efisien karena PHP hanya memerlukan resource system yang sangat sedikit dibanding dengan bahasa pemrograman lain. e. Ada banyak web server yang mendukung PHP, seperti Apache, PWS, IIS, dan lain-lain. f. PHP juga didukung oleh banyak database, seperti MySQL, PostgreSQL, Interbase, SQL, dan lain-lain.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
23
g. Bahasa pemrograman PHP memiliki sintak yang sederhana, singkat, dan mudah untuk dipahami. h. HTML-embedded, artinya PHP adalah bahasa yang dapat ditulis dengan menempelkan pada sintak-sintak HTML. 2.2.7.2 Keunggulan Sifat Server-Side Berdasarkan sifatnya yang server-side, beberapa keunggulan PHP (Didik Dwi Prasetyo, 2004) antara lain : a. Tidak diperlukan kompatibilitas browser atau harus menggunakan browser tertentu, karena server-lah yang akan mengerjakan skrip yang akan mengerjakan skrip PHP. Hasil yang dikirimkan kembali ke browser umumnya bersifat teks atau gambar saja sehingga pasti dikenal oleh browser apa pun. b. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server, misalnya koneksi ke database. c. Skrip tidak source.
2.2.8
MySQL Menurut Didik Dwi Prasetyo (2004:18), MySQL merupakan salah satu
database server yang berkembang di lingkungan open source dan didistribusikan secara free (gratis) dibawah lisensi GPL. Sedangkan menurut King et.al (2009:4) MySQL adalah open soure database product yang mendukung key subsets SQL di Linux system. MySQL digunakan secara gratis dan hanya menghabiskan sedikit biaya bagi periklanannya namun sangat populer. Tidak seperti commercial database, MySQL sangat terjangkau dan mudah digunakan.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
24
Fitur yang terdapat di MySQL antara lain : a. Openess MySQL sangat terbuka dalam setiap hubungan SQL dialect yang digunakan adalah ANSI SQL2 sebagai pembangunnya. Database engine menjalankan platform yang tidak terhitung, termasuk Windows 200, Mac OS X, Linux, FreeBSD, dan Solaris. Jika binary tidak tersedia untuk platform, user dapat mengaksesnya dari source untuk di compile ke platform tersebut. b. Application Support MySQL memiliki API untuk semua bahasa pemrograman. User bisa menulis aplikasi database yang mengakses MySQL di C, C++, Eiffel, Java, Perl, PHP, Phyton, dan Tcl. c.
Cross-Database Joins User bisa mengkontruksi MySQL queries yang bisa menggabungkan tabel dari
database yang berbeda. d. Outer Join Support MySQL mendukung kiri dan kanan outer joins menggunakan ANSI dan sintaks ODBC. 2.2.9
Pemodelan Proses
2.2.9.1 UML (Unified Modelling Language) Unified Modelling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. (Dharwiyati, 2003).
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
25
2.2.9.2 Use Case Diagram Use Case Diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case Diagram mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use Csse Diagram digunakan untuk mengetahui fungsi apa saja yang ada dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Syarat penamaan pada use case adalah nama didefinisikan sesederhana mungkin dan dapat dipahami. Ada dua hal utama pad ause case yaitu pendefinifisian apa saja yang disebut aktor dan use case. 1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, namun aktor belum tentu merupakan orang. 2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antarunit atau aktor. (Shalahudin dan Rosa, 2011) Tabel 2.1 adalah simbol-simbol yang ada pada Diagram Use Case : Tabel 2.1 Simbol Use Case Diagram Nama
Keterangan
Actor / Aktor
Pihak yang berhubungan dengan sistem, baik itu pengguna, proses, atau sistem lainnya yang berada pada sistem yang sedang dibahas. Aktor
Nama
biasanya
dinyatakan
menggunakan kata benda di awal frase nama aktor. Use Case
Nama Use Case
Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
26
pesan antar unit atau aktor. Biasanya dinyatakan dengan menggunakan kata kerja di awal frases nama use case. Association/ Asosiasi
Komunikasi antara aktor dan use case atau object satu dengan object lainnya.
Extend / Ekstensi <<extend>>
Relasi
use
case
tambahan
yang
memungkinkan 1 use case secara optional menggunakan fungsionalitas yang disediakan oleh use case lain. Generalization Generalisasi
/ Hubungan generalaisasi dan spesifikasi (umum - khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya. Relasi
ini
mirip
dengan
prinsip
inheritance pada pemrograman.
2.2.9.3 Sequence Diagram Diagram sekuen menggambarkan bagaimana entitas berinteraksi, termasuk pesan apa yang digunakan dalam berinteraksi. Semua pesan disertakan dalam menyusun pengerjaan. Bersama dengan class diagram dan use case, sequence diagram adalah diagram yang sering digunakan dalam pemodelan sistem perangkat lunak. Sequence diagram terdiri dari sejumlah lifelines. Masing-masing entitas terdapat pada kolom masing-masing. Elemen dimodelkan di bagian atas dari kolom dan lifeline dilanjutkan dnegan garis putus-putus. Berikut ini adalah pilihan untuk objek lifeline :
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
27
Tabel 2.2 Simbol Sequence Diagram (James Sugrue, 2009) Simbol
Nama
Keterangan
Actor/Aktor
Aktor
mewakili
entitas
eksternal dalam sistem. Aktor bisa
berupa
manusia,
perangkat keras, atau sistem lain.
Aktor
digambarkan
dengan stick figure
DataController
General
Menyatakan entitas dalam
Lifeline/Garis
sequence
Hidup
ditampilkan dalam persegi
diagram,
panjang.
Boundary
Elemen boundary biasanya digunakan
untuk
menggambarkan
user
Boundary
interface/antarmuka pengguna, atau logika backend
yang
berhubungan
dengan sistem eksternal. Control
Elemen control mengelola aliran informasi dari skenario. Perilaku dan aturan bisnis
Control
biasanya controller.
commit to user
dikelola
oleh
perpustakaan.uns.ac.id
digilib.uns.ac.id
28
Entity
Entitas yang
menyatakan bertanggung
unsur jawab
dalam memegang data atau
Entity
informasi. dianggap
Entitas
dapat
sebagai
model
objek. Synchronous
Sebuah pesan dengan panah yang solid di akhir. Jika pesan merupakan return message, maka akan muncul sebagai garis putus-putus.
Asynchronous
Sebuah pesan dengan panah garis di akhir. Jika pesan merupakan return message, maka akan muncul sebagai garis putus-putus.
Lost
Lost Message adalah pesan yang
akan
penerima
dikirim yang
ke tidak
diketahui, atau dari suatu benda yang tidak dimodelkan dalam diagram. Found
Found message adalah salah satu
pesan
yang
tidak
diketahui pengirimnyam atau dari sebuah benda yang tidak dimodelkan dalam diagram. Benda tersebut dimodelkan sebagai titik hitam.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
29
Self Message
Self Message
Self Message biasanya adalah sebuah recursive call atau sebuah panggilan ke method lain dalam objek yang sama.
2.2.9.4 Activity Diagram Diagram aktifitas atau activity diagram menggambarkan workflow atau aktifitas dari sebuah sistem atau proses bisnis. Perlu diperhatika bahwa diagram aktivitas menggambarkan sistem bukan apa yang yang dilakukan aktor, jadi aktifitas yang dapat dilakukan sistem. Diagram aktifitas juga banyak digunakan untuk mendefinisikan hal-hal berikut : 1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. 2. Urutan atau pengelompokan tampilan dari sitem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancagan antarmuka tampilan. 3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. (Shalahuddin dan Rosa, 2011)
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
30
Tabel 2.3 menunjukkan simbol-simbol yang ada pada diagram aktivitas : Tabel 2.3 Simbol Activity Diagram (Shalahuddin dan Rosa, 2011) Simbol
Nama
Keterangan
Status awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktivitas
Aktivitas yang dilakuakn sistem. Aktivitas biasanya diawali dengan
Aktivitas
kata kerja. Decision/Percabangan
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu.
Join/Penggabungan
Asosiasi penggabungan dimana ada lebih dari satu aktivitas digabungkan menjadi satu.
2.2.9.5 Class Diagram Class Diagram atau diagram kelas merupakan suatu diagram yang menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. 1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. 2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
31
Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Dalam mendefinisikan metode yang ada di dalam kelas perlu memperhatikan apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain dalam sebuah kelas. Sebagai aturan secara umum maka sebuah metode dibuat harus memiliki kadar cohesion yang kuat dan kadar coupling yang lemah. (Shalahuddin dan Rosa, 2011) Tabel 2.4 menunjukkan simbol-simbol yang ada pada diagram kelas : Tabel 2.4 Simbol Class Diagram (Shalahuddin dan Rosa, 2011) Simbol
Nama
Keterangan
Kelas
Merupakan kelas pada struktur sistem yang terdiri dari atribut dan method.
Interface/Antarmuka
Aktivitas yang dilakuakn sistem. Aktivitas biasanya diawali dengan kata kerja.
Association/Asosiasi
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dnegan multiplicity.
Directed
Relasi antar kelas dengan makna kelas
Association/Asosiasi
yang satu digunakan oleh kelas yang
berarah
lain, asosiasi biasanya juga disertai dengan multiplicity..
commit to user
perpustakaan.uns.ac.id
digilib.uns.ac.id
32
Generalization/Generali
Relasi antar kelas dengan makna
sasi
generalisasi-spesifikasi
(umum-
khusus) Dependency/Kebergantu
Relasi antar kelas dengan makna
ngan
kebergantungan antar kelas.
Agregation/Agregasi
Relasi antar kelas dengan makna semua-bagian (whole-part)
commit to user