BAB II TINJAUAN PUSTAKA II.1. Pendahuluan Seiring dengan perkembangan teknologi informasi, bertambah pula keberadaan komputer yang terhubung ke jaringan. Layanan-layanan internet semakin banyak. Hal tersebut merupakan hasil yang positif bagi pemenuhan kebutuhan informasi. Namun kondisi tersebut mempunyai efek samping, yaitu sulitnya untuk memonitoring keberadaan komputer yang terhubung ke internet. Apalagi traffic pada komputer server, merupakan hal wajib yang perlu diperhatikan karena mempengaruhi performansi server. Untuk menjawab permasalahan tersebut, perlu adanya suatu sistem terpusat yang mampu memonitoring traffic server dengan membebankan inti pengukuran pada network interface. Sistem ini dibangun menggunakan protokol Simple Network Management Protocol (SNMP) dengan aplikasi antarmuka berupa web. Pemilihan web sebagai antarmuka aplikasi dirasa tepat karena web memiliki beberapa kelebihan, yaitu ringan, mudah diaplikasikan dalam aplikasi client-server, dan mudah diakses dari berbagai lokasi.
II.2. Manajemen Jaringan Manajemen jaringan adalah kemampuan untuk memonitor, mengontrol jaringan komputer dan komponen sistem. Manajemen jaringan mencoba menggunakan kekuatan komputer dan jaringan untuk mengatur dan mengelola
9
sistem serta jaringan itu sendiri. Dalam melakukan hal itu, para manajer jaringan mengandalkan berbagai macam peralatan. Semakin kita memasuki era komputer pada setiap desktop, kitapun semakin menyandarkan diri pada manajemen jaringan sebagai wahana untuk menjamin bahwa segala sesuatunya dapat beroperasi dan memberikan pelayanan yang handal.(SNATI, 2006 ; H-65)
II.3. Monitoring Jaringan Komputer Monitoring berasal dari kata monitor, dalam kamus besar bahasa Indonesia monitor dapat diartikan dengan pengawasan dan tindakan memverifikasi kebenaran operasi suatu program selama pelaksanaannya berdasarkan rutin diagnostik yg digunakan dr waktu ke waktu. (sumber : http://bahasa.kemdiknas.go.id/kbbi/index.php) Jaringan komputer adalah himpunan “interkoneksi” antara 2 komputer autonomous atau lebih yang terhubung dengan media transmisi kabel atau tanpa kabel (wireless). Bila sebuah komputer dapat membuat komputer lainnya restart, shutdown atau melakukan control lainnya, maka komputer-komputer tersebut bukan autonomous (tidak melakukan control terhadap komputer lain dengan akses penuh). (Melwin Syahfrizal, 2006 ; 2). Dari uraian di atas dapat disimpulkan bahwa monitoring jaringan komputer adalah proses pemantauan atau pengawasan terhadap kondisi interkoneksi anatara komputer-komputer yang terhubung dalam suatu jaringan baik menggunakan kabel maupun tanpa kabel (wireless)
10
II. 4. Server Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau pencetak, dan memberikan akses kepada stasiun kerja anggota jaringan. Umumnya, di dalam sistem operasi server terdapat berbagai macam layanan yang menggunakan arsitektur client/server. Contoh dari layanan ini adalah Protokol Konfigurasi Hos Dinamik, server surat, server PTH, server PTB, DNS server, dan lain sebagainya. Setiap sistem operasi server umumnya membundel layanan-layanan tersebut, meskipun pihak ketiga dapat pula membuat layanan tersendiri. Setiap layanan tersebut akan merespon request dari client. Sebagai contoh, client PKHD akan memberikan request kepada server yang menjalankan layanan server PKHD; ketika sebuah client membutuhkan alamat IP, client akan memberikan request kepada server, dengan bahasa yang dipahami oleh server PKHD, yaitu protokol PKHD itu sendiri. Dilihat dari fungsinya, server bisa di kategorikan dalam beberapa jenis, seperti: server aplikasi, server data maupun server proksi. Server aplikasi adalah server yang digunakan untuk menyimpan berbagai macam aplikasi yang dapat diakses oleh client, server data sendiri digunakan untuk menyimpan data baik yang digunakan client secara langsung maupun data yang diproses oleh server
11
aplikasi. Server proksi berfungsi untuk mengatur lalu lintas di jaringan melalui pengaturan
proksi.
Orang awam
lebih
mengenal
proxy
server
untuk
mengkoneksikan komputer client ke Internet.( http://id.wikipedia.org/wiki/Server)
II. 5. Konsep Dasar Website II. 5. 1. Jaringan Internet Internet adalah jaringan komputer yang bisa dikategorikan sebagai WAN, menghubungkan berjuta komputer diseluruh dunia, tanpa batas negara, dimana setiap orang yang memiliki komputer dapat bergabung ke dalam jaringan ini hanya dengan melakukan koneksi ke penyedia layanan internet (internet service provider / ISP) seperti Telkom Speedy, atau IndosatNet. Internet dapat diterjemahkan sebagai international networking (jaringan internasional), karena menghubungkan komputer secara internasional, atau sebagai internetworking (jaringan antar jaringan) karena menghubungkan berjuta jaringan di seluruh dunia. Internet dimulai ketika Departemen Pertahanan Amerika Serikat (Department of Defense USA) membangun sebuah jaringan komputer di tahun 1969, yang diberi nama ARPANET (Advanced Research Project Agency NETwork) dengan tujuan untuk menghubungkan beberapa komputer yang berada dibeberapa universitas melakukan riset militer, terutama untuk membangun jaringan komunikasi komputer yang mampu bertahan terhadap serangan nuklir. Jaringan ini berkembang terus, semakin banyak komputer yang terlibat, dan riset disisi pengembangan perangkat lunak juga berkembang. Pada bulan Mei tahun 1974, Vinton G.Cerf dari Stanford University dan Robert E.Kahn dari
12
Departemen Pertahanan USA, mempublikasi sebuah paper di IEEE Transaction on
Communication
berjudul
“A
Protocol
for
Packet
Network
Intercommunication”, konsep ini kemudian populer sebagai protokol TCP/IP, ketika ARPANET meng-adopsi protokol menjadi protokol standard untuk ARPANET pada tahun 1983. Pihak universitas terutama University of California at Berkeley kemudian membangun sistem operasi Berkeley Software Distribution Unix) atau BSD UNIX (dikenal dengan nama Free BSD Unix) dan pihak departemen pertahanan membiayai Bolt Baranek dan Newman (BBN) untuk meng-implementasi protokol TCP/IP pada BSD Unix untuk diterapkan pada ARPANET, dengan demikian cikal-bakal internet terbentuk. Topologi internet pada dasarnya adalah mesh-topology, menghubungkan banyak jenis jaringan melalui sistem packet-switching, kalaupun bisa dikatakan yang menjadi pusat-nya adalah beberapa NAP (Network Access Point) yang ada di San Fransisco (Pacific Bell), di Chicago (Ameritech), New Jersey (Sprint), dan Merit Access Exchange (MAE) di San Fransisco (MAE West) dan Washington, D.C (MAE East) yang ditangani oleh MFS Datanet. Walaupun tidak ada organisasi yang memiliki internet, namun ada banyak organisasi yang memelihara jaringan ini melalui penetapan standarisasi protokol, aturan-aturan,
serta
metoda
akses.
Internet
Engineering
Task
Force
(IETF)Internet Research Task Force (IRTF) menangani riset teknis, seperti sistem pengalamatan dan rekayasa lainnya. Internet Assigned Numbers Authority (IANA) mengatur pembagian alamat IP (IP#) ke berbagai negara dan organisasi. Internet Society (ISOC) menangani masalah administrasi dan struktur organisasi internet.
13
menangani masalah-masalah teknis yang timbul di internet, seperti masalah pada protokol, arsitektur dan pengoperasian internet.
II. 5. 2. Bahasa Pemrograman Web (PHP) PHP adalah sebuah bahasa pemograman yang berjalan dalam sebuah webserver (server side). PHP diciptakan oleh programmer unix dan Perl yang bernama Rasmus Lerdoft pada bulan Agustus-September 1994. Pada awalnya, Rasmus mencoba menciptakan sebuah script dalam website pribadinya dengan tujuan untuk memonitor siapa saja yang pernah mengunjungi website-nya. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI pada sekitar tahun 1995, dan diperkenalkan kepada beberapa programmer pemula dengan alasan bahasa yang digunakan oleh PHP cukup sederhana dan mudah dipahami. Selanjutnya Rasmus menulis ulang PHP dengan bahsa C untuk meningkatkan kecepatan aksesnya. Mulai bulan September sampai Oktober 1995, kode PHP ditulis ulang dan digabungkan menjadi PHP/F1. Baru di akhir tahun 1995 dirilis bagi umum secara gratis. Mengapa Rasmus membagikan ke publik secara gratis, Rasmus berangapan apabila kode PHP ini berguna bagi dirinya, tentu juga akan bermanfaat untuk oranglain. Toh pada akhirnya akan kembali bermanfaat bagi dirinya sendiri. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
14
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
II. 5. 3. Web Server Web server merupakan software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari klien yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman halaman web yang umumnya berbentuk dokumen HTML
15
II.6. Sistem Terdistribusi Sebelum jaringan komputer popular, user komputer pernah mengenal sistem terdistribusi. Terdapat hal yang cukup membingungkan dalam pemakaian istilah jaringan computer dan sistem terdistribusi (distributed system). Persamaannya adalah keduanya merupakan sekumpulan komputer yang saling terkoneksi dengan media transmisi yang relatif tidak jauh berbeda, dan sama-sama harus memindahkan file. Perbedaan yang lebih spesifik antara jaringan komputer dan sistem terdistribusi adalah sebagai berikut : Tabel II.1. Perbedaan jaringan komputer dan sistem terdistribusi JARINGAN KOMPUTER Komputer
yang
SISTEM TERDISTRIBUSI
terhubung Komputer yang terhubng terdiri dari
merupakan gabubungan yang terdiri host (komputer utama) dan terminaldari beberapa workstation atau juga terminal (komputer yang terhubung gabungan komputer server dan client Beberapa komputer terhububung agar dapat sharing, namun tiap pekerjaan ditangani
sendiri-sendiri
oleh
komputer yang meminta layanan. Server hanya melayani permintaan sesuai antrian yang sudah diatur system Kualitas
komunikasi
dengan komputer host) Beberapa host komputer terhubung agar dapat mengerjakan sebuah atau beberapa pekerjaan besar bersama. Host melayani beberapa terminal dan melakukan proses berdasarkan input dari terminal-terminal.
data Kualitas
komunikasi
data
dipengaruhi oelh media transmisi dipengaruhi oleh sistem. Lamanya yang digunakan.
Lamanya suatu suatu
proses
tergantung
sistem
proses dipengaruhi oleh spesifikasi operasi yang akan memilih prosesor hardware
masing-masing
yang meminta layananan
station komputer digunakan.
mana
yang
akan
16
Metode komunikasi antara komputer Metode komunikasi antar komputer dengan model Peer to Peer atau tersentralisasi Client Server
(terpusat
pada
komputer utama/host) (Sumber : Melwin Sayfrizal, 2005; 5)
II.7. SNMP (Simple Network Management Protocol) SNMP adalah sebuah protokol yang didesain untuk memberikan kemampuan kepada pemakai untuk memonitor
dan
mengatur jaringan
komputernya secara sistematis dari jarak jauh atau dalam satu pusat kontrol saja. Pengolahan ini dijalankan dengan mengumpulkan data dan melakukan penetapan terhadap variabel-variabel dalam elemen jaringan yang
dikelola.
SNMP merupakan protokol standar industri yang digunakan untuk memonitor dan mengelola berbagai perangkat di jaringan Internet meliputi hub, router, switch, email server, file server, workstation dan sistem manajemen jaringan secara jarak jauh (remote). Untuk dapat berkomunikasi antar stasiun manajemen dan agen, maka diperlukan suatu protokol SNMP. Cara yang biasa dipakai SNMP adalah stasiun manajemen mengirim permintaan (request) ke agen tentang informasi atau memerintahnya untuk melakukan tertentu.
Idealnya,
agen
pembaharuan keadaannya dengan cara-cara
cukup
menjawab
pertanyaan
dikonfirmasikan bahwa agen telah melakukan pembaharuan
diminta
atau
keadaan sesuai
dengan permintaan manajer. Ide dasar dari setiap manajemen jaringan adalah bahwa terdapat dua tipe sistem pada setiap jaringan yang terkonfigurasi yaitu : agen dan manajer. Yang
17
ditempatkan pada setiap titik pada jaringan yang akan diatur, termasuk PC, Workstation, server, bridge, router dan lainnya termasuk modul agen. Semua aplikasi jaringan pada umumnya berbagi protokol manajemen jaringan yang umum. Protokol ini menyediakan fungsi-fungsi fundamental untuk mengambil informasi manajemen dari agen dan mengirimkan perintah kepada agen. Protokol ini kemudian menggunakan fasilitas komunikasi seperti TCP/IP atau OSI (Organisasi Standar Internasional). SNMP terdiri dari tiga elemen utama, yaitu: a. Manajer Manajer adalah pelaksana dari manajemen jaringan. Pada kenyataannya manajer ini merupakan komputer biasa yang ada pada jaringan yang mengoperasikan perangkat lunak untuk manajemen jaringan. Manajer ini terdiri atas satu proses atau lebih yang berkomunikasi dengan agenagennya dan berfungsi untuk mengumpulkan informasi dari jaringan yang diminta oleh administrator saja bukan semua informasi yang dimiliki agen. Banyak manajer saat ini memiliki antarmuka
pengguna grafis yang
memungkinkan manajer jaringan
status jaringan dan
memeriksa
mengambil tindakan tertentu bila diperlukan. b.
MIB (Management Information Base)
MIB dapat dikatakan sebagai struktur basis data variabel dari elemen jaringan yang dikelola. Struktur ini bersifat hierarki dan memiliki aturan sedemikian rupa sehingga informasi setiap variabel dapat dikelola atau diterapkan dengan mudah. Mekanisme pendefinisian MIB dalam SNMP
18
menggunakan diagram pohon, dan menempatkan setiap identifikasi objek (ID) pada suatu lokasi unik pada pohon. ID dari objek-objek tersebut mirip dengan nomor telepon yang diorganisasikan secara hierarki. Masingmasing objek memiliki angka tertentu yang menunjukan organisasi tertentu sebagai pemilik. Tingkat puncak diagram pohon mendaftar semua organisasi standar yang penting di dunia menurut pandangan ISO, yaitu CCITT (Consultative Committee for International Telegraph And Telephone) yang sekarang menjadi ITU (International Telecommunication Union), ISO (International Organization for Standardization) dan jointISO-CCITT. Sebagian besar aktifitas MIB saat ini merupakan bagian dari cabang ISO yang didefinisikan oleh ID 1.3.6.1 dan dikhususkan untuk komunitas internet. c.
Agen
Agen merupakan perangkat lunak yang dijalankan di setiap elemen jaringan yang akan dikelola. Setiap agen mempunyai basis data variabel yang bersifat lokal yang menerangkan keadaan dan aktifitasnya. Dalam agen terdapat perintah-perintah untuk mengakses, yaitu: perintah-perintah dasar tersebut antara lain snmpget, snmpgetnext, snmpwalk, dan snmpset. 1. Perintah snmpget digunakan untuk mengambil sebuah variabel MIB dari sebuah agen. Harus tahu identifikasi kejadian secara tepat.
19
2. Perintah snmpgetnext digunakan untuk mengambil nilai sebuah objek kejadian setelah kejadian yang disebutkan dalam perintah (MIB_object_instance). 3. Perintah snmpwalk digunakan untuk mengambil nilai satu atau lebih variabel MIB dari agen tanpa harus menyatakan identitas kejadiannya secara tepat. 4. Perintah snmpset digunakan untuk menetapkan nilai sebuah variabel MIB. II. 8. Ping (Packet Internet Groper) Ping (singkatan dari Packet Internet Groper) adalah sebuah program utilitas yang digunakan untuk memeriksa konektivitas jaringan berbasis teknologi
Transmission
Control
Protocol/Internet
Protocol
(TCP/IP).
Dengan menggunakan utilitas ini, dapat diuji apakah sebuah komputer terhubung dengan
komputer
mengirim
paket
sebuah
lainnya.
kepada
Hal
alamat
ini IP
dilakukan yang
dengan
hendak
cara
diujicoba
konektivitasnya dan menunggu respons darinya. Nama "ping" datang dari sonar sebuah kapal selam yang sedang aktif, yang sering mengeluarkan bunyi ping ketika menemukan sebuah objek. Apabila utilitas ping menunjukkan hasil yang positif maka kedua komputer tersebut
saling terhubung di
dalam
sebuah jaringan.
Hasil
statistik keadaan koneksi ditampilkan dibagian akhir. Kualitas koneksi dapat dilihat dari besarnya waktu pergi-pulang (roundtrip) dan besarnya
20
jumlah paket yang hilang (packet loss). Semakin kecil kedua angka tersebut, semakin bagus kualitas koneksinya.
II. 9. PHP ( Personal Home Page) PHP adalah singkatan dari Hypertext Preprocessor.PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting. PHP memungkinkan anda untuk membuat halaman web yang bersifat dinamis. PHP dapat dijalankan pada berbagai macam sistem operasi, misalnya Windows, LINUX dan Mac OS. Selain Apache, PHP juga mendukung beberapa web server lain, misalnya Microsoft IIS, Claudium, PWS dan lain-lain. Sistem manajemen database yang sering digunakan bersama PHP adalah MySQL. Namun PHP juga mendukung sistem manajemen database Oracle, Microsoft Access, Interbase,dBase, PostgreSQL dan lain-lain. Hingga kini PHP sudah berkembangn hingga versi 5. PHP 5 mendukung penuh Object Oriented Programming (OOP), integrasi XML mendukung semua entensi terbaru MySQL, pengembangan web service dengan SOP dan REST, serta ratusan peningkatan lainnya dibandingkan versi sebelumnya. PHP juga bersifat open Source sehingga setiap orang dapat menggunakannya secara gratis. (Arief Ramadhan, S.Kom, 2006)
21
II. 10. MySQL Database MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Wildenius. MySQL server adalah RDBMS (Relational Database Management System) yang dapat menangani data yang bervolume besar. Meskipun begitu, tida menuntut resource yang besar. MySQL adalah database yang paling popular diantara database-database lain. MySQL adalah program database yang mampu mengirim dan menerima data dengan sangat cepat dan multi user. MySQL memiliki dua bentuk license, yaitu free software dan shareware. (Wahana Komputer, 2005 ; 5)
II.11. UML (Unified Modelling Language) UML (Unified Modelling Language) adalah salah satu alat bantu yang sangat handal didalam dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembangan sistem untuk membuat cetak biru atas visi mereka dalam bentuk baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain. UML merupakan kesatuan dari bahasa pemodelan yang dikembangan oleh Booch, Object Modelling Techniqu (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented. Metode ini menjadi proses analisis dan desain ke dalam empat tahapan iterative, yaitu : identifikasi kelas-kelas dan
22
obyek-obyek, identifikasi semantic dari hubungan obyek dan kelas tersebut, perincian interface dan implementasi. Keunggulan metode Booch adalah pada detil dan kayanya dengan notasi dan elemen. Pemodelan OMT yang dikembangkan oleh Rumbaugh didasarkan pada analisis terstruktur dan pemodelan entity-relationship.
Tahapan utama dalam metodologi ini adalah
analisis, design sistem , design obyek dan implementasi. (Munawar, 2005 ; 17 19) Dengan UML, metode Booch, OMT dan OOSE digabungkan dengan membuang elemen-elemen yang tidak praktis ditambahkan dengan elemenelemen dari metode lain yang lebih efektif dan elemen-elemen baru yang belum ada pada metode terdahulu sehingga UML lebih ekspesif dan seragam daripada metode lainnya. Gambar berikut adalah unsur-unsur yang membentuk UML.
Gambar II.1. UML Sebagai Bahasa Standar Pemodelan Aplikasi OOP Sumber : (Sri Dharwiyanti: 2006 ; 3)
23
Tabel II.2. Simbol-Simbol dalam UML Simbol
Keterangan Actor; mewakili peran orang
Use Case; Interaksi antara system dan actor
System
Class Message
Titik awal
Titik akhir
24
Activity
Pilihan untuk pengambilan keputusan
Fork; digunakan untuk menunjukkan kegiatan yang dilakukan secara pararel atau untuk menggabungkan dua kegiatan pararel menjadi satu
Rake; menunjukkan adanya dekomposisi
Tanda waktu
Tanda pengiriman Tanda penerimaan
Aliran akhir (Flow Final)
25
Activation (Mewakili sebuah eksekusi operasi dari participant) Lifeline (Setiap participant terhubung dengan garis titik-titik
Participant
Sumber : Munawar, Pemodelan Visual dengan UML ; 2005 : 09
II.11.1. Konsepsi Dasar UML Dari berbagai penjelasan rumit yang terdapat di dokumen dan buku-buku UML. Sebenarnya konsepsi dasar UML bisa kita rangkumkan dalam gambar dibawah. Table. II.3. Konsep Dasar UML
Sumber : (Sri Dharwiyanti, 2006 ; 3)
26
Seperti juga tercantum pada gambar diatas UML mendefinisikan diagramdiagram sebagai berikut: 1. use case diagram 2. class diagram 3. statechart diagram 4. activity diagram 5. sequence diagram 6. collaboration diagram 7. component diagram 8. deployment diagram Dalam pembuatan skripsi ini penulis menggunakan diagram Use Case yang terdapat di dalam UML. Adapun maksud dari Use Case Diagram diterangkan dibawah ini. 1. Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat 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/sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat
27
membantu
bila
kita
sedang
menyusun
requirement
sebuah
sistem,
mengkomunikasikan rancangan dengan client, dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat diinclude oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang common. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
Contoh use case diagram :
Gambar.II.2.Use Case Diagram Sumber : (Sri Dharwiyanti, 2006 ; 5)
28
2. Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok : 1.
Nama ( stereotype)
2.
Atribut
3.
Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut : a.
Private, tidak dapat dipanggil dari luar class yang bersangkutan
b.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya
c.
Public, dapat dipanggil oleh siapa saja
29
Gambar.II.3.Class Diagram Sumber : (Sri Dharwiyanti, 2006 ; 5) 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. (Sri Dharwiyanti, 2005; 5)
a. Hubungan Antar Class 1.
Asosiasi,
yaitu
hubungan
statis
antar
class.
Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2.
Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
3.
Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda
30
class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. 4.
Hubungan dinamis, yaitu rangkaian pesan (message) yang dipassing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Gambar.II.4.Hubungan antar Class Sumber : (Sri Dharwiyanti, 2006 ; 6)
31
3. Statechart Diagram 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 (satu class dapat memiliki lebih dari satu statechart diagram). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
Gambar.II.5. State Diagram Sumber : (Sri Dharwiyanti, 2006 ; 7)
32
4. Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
menggambarkan
proses
yang
berjalan,
sementara
use
case
menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat
untuk
menggambarkan
aktivitas.
Decision
digunakan
untuk
menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan prosesproses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
33
Gambar.II.6. Contoh Activity Diagram State Diagram Sumber : (Sri Dharwiyanti, 2006 ; 7) 5. Sequence Diagram 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 atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa 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.
34
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent entity.
Gambar.II.7. Contoh Sequence Diagram State Diagram Sumber : (Sri Dharwiyanti, 2006 ; 8)