BAB II LANDASAN TEORI
2.1 Manajemen Review Management review (dalam bahasa Indonsesia diterjemahkan sebagai tinjauan manajemen) adalah istilah dalam iso9000 yang artinya suatu kegiatan berkala yang dilakukan untuk mengevaluasi sistem manajemen mutu.Suatu sistem yang diterapkan pada suatu organisasi, sistem apa pun itu, harus dievaluasi. Tujuannya guna menilai seberapa jauh sistem yang diaplikasikan berfungsi sebagaimana diharapkan.Demikian halnya dengan penerapan sistem iso 9000. Siapa pun yang mengadopsi sistem manajemen mutu iso 9001, sistem yang diterapkan harus dievaulasi atau dikaji secara berkala. Kegiatan
evaluasi
sistem itu
dinamakan
management
review.
Dalam praktek, kebanyakan perusahaan bersertifikat iso 9001 melaksanakan management review melalui mekanisme rapat pertemuan atau meeting. Rapat
dilaksanakan untuk mengkaji sistem iso 9001 yang diterapkan
perusahaan tersebut.
2.2 Website merupakan suatu kumpulan halaman situs yang merupakan bagian dari nama domain di World Wide Web (WWW), yang saling terkait terkadang disertai pula dengan berkas-berkas gambar, atau jenis berkas lainya. Sebuah situs web biasanya ditempatka pada sebuah server web, yang dapat diakses melalui jaringan seperti internet, ataupun jaringan wilayah lokal (LAN) melalui alamat internet yang dikenal sebagai URL. Sebuah website merupakan berkas yang ditulis sebagai berkas teks biasa yang diatur dan dikombinasikan sedemikian rupa dengan instruksiinstruksi berbasis HTML ataupun XHTML, kadang-kadang juga disisipkan sekelumit bahasa pemrograman seperti PHP, ataupun java scrip.
2.3 PHP Menurut Saputra Hypertext
Preprocessor
(2011) php atau yang memiliki kepanjangan merupakan suatu bahasa
pemrograman yang
difungsikan untuk membangun website dinamis. PHP menyatu dengan kode HTML, HTML digunakan sebagai pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut web akan sangat mudah di-maintenance. PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa Server Side Scripting. Artinya bahwa setiap menjalankan PHP, wajib adanya web server.
2.4 Komunikasi Client dan Server Menurut
Comer
(2000),
Server
adalah
setiap
program yang
menawarkan layanan yang dapat dihubungi melalui jaringan. Sebuah server menerima
permintaan
melalui
jaringan,
melakukan
pelayanan,
dan
mengembalikan hasil kepada pemohon. Untuk layanan sederhana, setiap permintaan tiba di IP tunggal datagram dan server mengembalikan respon pada datagram yang lain. Program yang
sedang
berjalan
berubah menjadi
klien ketika
mengirimkan permintaan ke server dan menunggu tanggapan. Karena model client-server adalah extensi nyaman dan alami komunikasi interprocess pada mesin tunggal, mudah untuk membangun program yang menggunakan model untuk berinteraksi. Server dapat melakukan tugas-tugas sederhana atau kompleks. Sebagai contoh, server dalam satu hari hanya mengembalikan waktu saat ini setiap kali klien mengirimkan paket server. Sebuah web server menerima permintaan dari browser untuk mengambil salinan dari halaman web, server mendapatkan salinan file untuk halaman dan kembali ke browser. Biasanya,
server
diimplementasikan
sebagai
program
aplikasi.
Keuntungan dari implementasi server sebagai program aplikasi adalah bahwa mereka dapat mengeksekusi pada komputasi setiap sistem yang mendukung komunikasi TCP/IP. Dengan demikian, server untuk layanan tertentu dapat mengeksekusi pada sistem bersamaan dengan program lain, atau dapat mengeksekusi pada komputer pribadi. Beberapa server dapat menawarkan
layanan yang sama dan dapat mengeksekusi pada mesin yang sama atau pada beberapa mesin. Biasanya, manajer mereplikasi salinan server yang diberikan ke
mesin
fisik
independen
untuk
meningkatkan
kehandalan
atau
meningkatkan kinerja. Jika tujuan utama komputer adalah dukungan dari program server tertentu, maka istilah "server" dapat diterapkan ke komputer tersebut sesuai dengan program server. Dengan demikian, orang mendengar pernyataan seperti "mesin adalah file server kami".
2.5 Basis Data Data adalah fakta mengenai objek, orang dan lain-lain. Sedangkan Informasi adalah hasil analisis dan sintesis terhadap data. Basis data adalah kumpulan data, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi. Basis data (Bahasa Inggris: database), atau sering juga dieja sebagai basisdata mempunyai arti sebagai kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi. Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data
sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis. Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system /DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.
Menurut Connolly (2002) database adalah sekumpulan data dan deskripsinya yang didesain untuk memenuhi kebutuhan informasi dari sebuah organisasi. Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan didalamnya: penjelasan ini disebut dengan skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data : ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layanan mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari basis dan kolom (definisi yang sebenarnya menggunakan terminology matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (Database Management System / DBMS). Jika konteksnya sudah jelas, banyak administrator dan programmer menggunakan istilah basis data untuk kedua arti tersebut.
2.6 Database Management System (DBMS) Menurut Date, Sistem Basis Data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara informasi dan membuat informasi tersebut tersedia saat dibutuhkan. Manajemen Sistem Basis Data (Database Management System / DBMS) adalah perangkat lunak yang didesain un tuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar. DBMS dapat menjadi alternative penggunaan secara khusus untuk aplikasi, semisal penyimpana n data dalam fiel dan menulis kode aplikasi yang spesifik untuk pengaturannya. Menurut Connoly (2002) DBMS adalah software
system yang
memungkinkan user untuk membuat, mengelola dan mengatur akses ke database. DBMS merupakan program software yang kompleks, yang mengatur organisasi. Penyimpanan, manajemen, dan penggunaan
data yang ada di
database. DBMS mencakup: 1.
Bahasa pemodelan untuk menjelaskan skema dari setiap database yang berada di dalam DBMS, dan sesuai dengan data model DBMS.
2.
Data Struktur (fields, record, file dan object) dioptimalkan untuk digunakan bersama dengan media penyimpanan data berskala besar.
3.
Database query language
4.
Mekanisme transaksi.
2.7 ERD Menurut Jeffery dan Lonnie (2004), ERD adalah model data yang menggunakan beberapa notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang di deskripsikan oleh data tersebut. ERD adalah model konseptual yang mendeskripsikan hubungan antara penyimpanan (dalam DFD). ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan. Ada beberapa catatan mengenai pemodelan data. Sebagian besar ERD disebut sesuai dengan nama penemunya (misalny, Chen Martin, Bachman, Merise) atau sesuai standar yang dipublikasikan. “Bahasa” pemodelan data ini pada umumnya mendukung konsep dan konstruksi dasar yang sama. Skripsi ini menggunakan ERD Martin karena penggunanya sudah terbesar luas dan didukung oleh peralatan CASE Model data. ERD mempunyai beberapa konsep dasar, yaitu: 1. Entitas (Entity) Entitas adalah sekelompok orang, tempat, objek, kejadian atau konsep tentang apa yang kita perlukan untuk mengcapture dan menyimpan data. Jika entitas adalah sesuatu yang kita gunakan untuk menyimpan data, maka kita perlu mengidentifikasi bagian data spesifik yang ingin kita simpan dari setiap contoh entitas tertentu. Bagian data ini dapat disebut sebagai atribut. Atribut adalah sifat atau karakteris tik deskriptif suatu entitas.
2. Atribut (Attribute) Yang dimaksud dengan atribut adalah karakteristik entity. a. Domain Nilai dari tiap atribut didefinisikan kedalam tiga property yaitu: 1. Tipe data : Properti dari atri but yang mengidentifikasikan tipe data yang dapat disimpan ke dalam atribut. 2. Domain : Properti dari atribut yang mengidentifikasikan nilai apa yang boleh diambil oleh suatu atribut. 3. Default Value : suatu nilai yang akan disimpan apabila nilai tidak dispesifikasikan oleh user. b. Identifikasi (Identification). Dengan banyaknya instance yang dimiliki oleh suatu entity maka diperlukan suatu key yang unik untuk mengidentifikasikan setiap instance berdasarkan data dari atribut. Yang dimaksud dengan key adalah suatu atribut atau sekumpulan atribut yang mengasumsikan nilai yang unik dari setiap bagian dari entity dan seringkali disebut identifier.
Candidate
key
adalah suatu key yang memiliki
kemungkinan untuk dijadikan primary key. Primary key adalah candidate key yang unik dan mengidentifikasikan sebuah bagian dari entity. Alternate key adalah candidate key yang tidak dijadikan primary key.
3. Hubungan (Relationship) Secara
konseptual, entitas
dan atribut tidak terpisah. Hal yang
dinyatakannya saling berinteraksi dan mempengaruhi untuk mendukung tujuan bisnis. Relationship / hubungan adalah hubungan bisnis alami yang ada di antara satu atau lebih entitas. Hubungan tersebut dapat menyatkan kejadian yang menghubungkan entitas atau hanya persamaan logika yang ada diantara entitas. Cardinality adalah sejumlah entity yang mungkin direlasikan dengan entity lain. Degree adalah sejumlah entity yang berpartisipasi dalam sebuah relationship . Foreign key adalah sebuah primary key yang digunakan oleh entity lain untuk mengidentifikasikan instansi dari sebuah relationship. Berikut ini adalah notasi dari cardinality: Tabel 2.1 Notasi Kardinalitas. Interpretasi Kardinalitas Tepat satu(satu dan hanya satu); nilai minimum dan maksimum 1. Nol atau satu: nilai minimum adalah 0 dan nilai maksimum adalah 1. Satu atau lebih: nilai minimum adalah 1 dan nilai maksimum adalah banyak (>1) Nol, satu, atau lebih: nilai minimum adalah 0 dan nilai maksimum adalah banyak (>1) Lebih dari satu: nilai minimum dan maksimum adalah >1
Minimum Instance
Maximum Instence
1
1
0
1
1
>1
0
>1
>1
>1
4. Generalisasi (Generalization) Yang dimaksud dengan Generalization adalah sebuah konsep dimana atribut-atribut yang umum bagi beberapa tipe dari entity digrupkan kedalam entity mereka masing-masing.
2.8 Normalisasi Menurut Petroutsos (2002), ada beberapa aturan dalam perancangan basis data, yang disebut dengan aturan normalisasi. Aturan-aturan ini akan merancang basis data yang normal atau setidaknya memverifikasikan rancangan. Basis data dianggap normal jika basis data tersebut tidak mengulang data(data redudancy) atau tidak menimbulkan keanehan pada proses update, delete, atau insert. Proses pembentukan tabel normal atau normalisasi bertujuan untuk: 1. Membuat sekecil mungkin terjadinya data rangkap 2. Menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap. 3. Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua atribut. Proses normalisasi tabel secara detail dibagi menjadi lima tahap sehingga dikenal bentuk-bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga, Boyce-Codd, keempat dan kelima.
1. Bentuk normal pertama (First Normal Form / 1NF) Aturan bentuk normal pertama (1NF) menurut Connolly dan Begg (2002), “A relation in which the insersection of each row and each column contains one and only one value”, yang dapat diartikan sebagai, ”sebuah relasi dimana tiap baris dan kolom hanya terdiri dari satu nilai”. Bentuk normal pertama dicapai bila tiap nilai atribut
adalah
tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (repeating groups). Pada kondisi normal pertama ini kemungkinan masih terdapat data yang rangkap 2. Bentuk normal kedua (Second Normal Form / 2NF) Aturan bentuk normal kedua (2NF ) menurut Connolly dan Begg (2002), “A relation that is in forst normal form and every non-primary key attribute is fully function dependent on the primary key”, yang dapat diartikan sebagai,” sebuah relasi dalam bentuk normal pertama dan setiap atribut bukan
primary key
bergantung secara fungsional terhadap
primary key”. Bentuk normal kedua adalah berdasarkan konsep ketergantungan fungsional penuh (full functional dependency). Full functional ependency dinyatakan dengan jika A dan B adalah atribut dari suatu relasi (relation), B adalah fungsional ketergantungan penuh (full functional dependency) pada A jika B secara fungsional bergantung pada
A, tetapi bukan
merupakan himpunan bagian dari A. Bentuk normal kedua menciptakan
sebuah relasi pada bentuk normal pertama dan semua atribut yang bukan primary key adalah fungsional tergantung penuh terhadap primary key. 3. Bentuk normal ketiga (Third Normal Form / 3 NF) Aturan bentuk normal ketiga (3NF) menurut Connolly dan Begg (2002), ”A relation that is in first and second normal form, and in which non primary key attribute is transitively dependent on the primary key”. Yang dapat diartikan sebagai, ”Sebuah relasi dalam bentuk normal pertama dan kedua dan semua atribut bukan primary key yang bergantung secara transitif kepada primary key”. Bentuk normal ketiga berdasarkan pada konsep peralihan ketergantungan (transitive dependency). Transitive dependency adalah sebuah kondisi dimana A, B dan C adalah atribut dari sebuah relasi bahwa jika A B dan B C, maka C adalah transitive dependency terhadap A melewati B (menyatakan bahwa A bukan functional dependent pada B atau C). Pada bentuk normal ke tiga, sebuah relasi pada bentuk normal pertama dan kedua, dimana tidak ada atribut
non-primary key
bergantung secara transitif (transitive dependency) pada primary key. 4. Bentuk normal Boyce-Codd ( Boyce-Codd Normal Form / BCNF) Aturan bentuk normal Boyce-Codd
(BCNF) menurut Connolly
dan Begg (2002), ”A relation is in BCNF, if and only if, every determinant is a candidate key”, yang dapat diartikan sebagai, ”Sebuah relasi disebut BCNF, jika dan hanya jika setiap determinannya adalah sebuah candidate key”. Untuk menguji apakah suatu relasi sudah BCNF,
dilakukan identifikasi
semua
determinan dan memastikan bahwa
determinan tersebut adalah candidate key. Deteminan adalah sebuah atribut, atau kumpulan atribut, dimana beberapa atribut yang lain masih bergantung secara fungsional penuh (fully functionally dependent). Perbedaan antara 3NF dan BCNF terdapat dalam hal functional dependency. A B, 3NF mengijinkan ketergantungan ini dalam sebuah relasi jika B adalah atribut primary key dan A bukan candidate key. Sedangkan dalam BCNF ketergantungan ini tetap ada dalam sebuah relasi, dimana A harus sebuah candidate key. 5. Bentuk normal keempat (Fourth Normal Form / 4 NF) Aturan bentuk normal keempat (4NF) menurut Connolly dan Begg (2002), ”A relation that is in Boyce-Codd Normal Form and contains no nontrivial multi-valued dependencies”, yang dapat diartikan sebagai sebuah relasi dalam Boyce-Codd normal form (BCNF) dan tidak mengandung ketergantungan multi value nontrivial (nontrivial multivalued dependencies)”. Bentuk normal keempat (4NF) merupakan bentuk yang lebih kuat dari BCNF dimana 4NF mencegah relasi dari nontrivial multivalued dependency dan data redundancy. Normalisasi dari BCNF ke 4NF meliputi pemindahan multi-valued dependency dari relasi dengan menempatkan atribut dalam sebuah relasi baru bersama dengan determinan.
Multi-valued
dependency
(MVD)
menggambarkan
ketergantungan antara atribut-atribut dalam suatu relasi. 6. Bentuk normal kelima (Fifth Normal Form / 5 NF) Aturan bentuk normal kelima (5NF) menurut Connolly dan Begg (2002), ”A relation that has no join dependency”, yang dapat diartikan sebagai, ”Sebuah relasi yang tidak mempunyai ketergantungan gabungan (join dependency)”. Join dependency menggambarkan sebuah tipe ketergantungan. Sebagai contoh, untuk sebuah relasi R dengan subs et-subset atribut dari R, yang dimisalkan dengan A,B,….Z, sebuah relasi R menunjukkan join dependency, jika dan hanya jika, setiap nilai dari R sama dengan gabungan dari proyeksi-proyeksinya pada A,B,….Z.
2.9 MySQL Menurut Yeni K. (2010) Basis data adalah sekumpulan informasi yang diatur agar mudah dicari. Dalam arti umum basis data adalah sekumpulan data yang diproses degan bantuan komputer yang memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai aktivitas dari satu atau lebih organisasi yang berelasi. MySQL merupakan suatu database. MySQL dapat juga dikatakan sebagai database yang sangat cocok bila dipadukan dengan PHP. Secara umum, database berfungsi sebagai tempat atau wadah untuk menyimpan, mengklasif ikasikan data secara prefosional. MySQL bekerja menggunakan
SQL Language(Structure Query Language). Itu dapat diartikan bahwa MySQL merupakan standar penggunaan database di dunia untuk pengolahan data. MySQL termasuk jenis RDBMS (Relational Database Management System). Sedangkan RDBMS sendiri akam lebih banyak mengenal istilah seperti tabel, baris, dan kolom digunakan dalam perintah-perintah di MySQL. MySQL merupakan sebuah basis data yang mengandung satu atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom. Di dalam PHP telah menyediakan fungsi untuk koneksi ke basis data dengan sejumlah fungsi untuk pengaturan baik menghubungkan maupun memutuskan koneksi dengan server database MySQL sebagai sarana untuk mengumpulkan informasi. Pada umumnya, perintah yang paling sering digunakan dalam MySQL adalah select (men gamb il), insert (menambah), update
(mengubah), dan
dele te (menghapus). Selain
itu, SQL juga
menyediakan perintah untuk membuat database, field, ataupun index guna menambah atau menghapus data.
2.10
Pemodelan UML UML digunakan untuk melakukan pemodelan sistem/ perangkat lunak
lewat sarana rational rose. Dengan pemodelan menggunakan UML ini, pengembang (juga perangkat lunak rational rose) dapat melakukan: a. tinjauan umum bagaimana arsitektur sistem secara keseluruhan.
b. penelaah bagaimana objek-objek dalam sistem saling mengirimkan pesan (message) dan saling bekerjasama satu sama lain. c. menguji apakah sistem/perangkat lunak sudah berfungsi seperti yang seharusnya. d. dokumentasi sistem/perangkat lunak untuk keperluan-keperluan tertentu di masa yang akan datang. Notasi UML terbentuk dari kerjasama dan upaya Graddy Booch (yang sebelumnya dikenal sebagai notasi booch-nya), DR. James Rumbaugh yang sebelumnya terkenal dengan notasi OMT(Object Modeling Technique-nya), serta Ivar Jacobson (yang sebelumnya terkenal dengan OOSE (Object Oriented
Software
Engineering)-nya).
Setiap
sistem yang komplek
seharusnya bisa dipandang dari sudut pandang yang berbeda-beda sehingga kita bisa mendapatkan pemahaman secara menyeluruh (Fowler, 2005). 1. Use case 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 pekerjaanpekerjaan tertentu.
Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, 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 menginclude dieksekusi secara normal. Sebuah use case dapat di-include 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 behaviournya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain (Wahono, 2003).
Gambar 2.8 Use Case
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 (Wahono, 2003) : 1. Nama (dan stereotype) 2. Atribut 3. Metoda Atribut dan metoda dapat memiliki salah satu sifat berikut : • Private, tidak dapat dipanggil dari luar class yang bersangkutan • Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anakanak yang mewarisinya. • Public, dapat dipanggil oleh siapa saja
Gambar 2.9 Class Diagram
3. 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 antar 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. 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 (Wahono, 2003).
4. Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama (Wahono, 2003).
Gambar 2.10 Collaboration Diagram
5. 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, di mana 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 proses-proses 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 (Wahono, 2003).
Gambar 2.11 Activity Diagram
6. 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 (Wahono, 2003). 7. Component Diagram 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 (Wahono, 2003).
Gambar 2.12 Component Diagram 8. Deploymet Diagram Deployment/physical
diagram
menggambarkan
detail
bagaimana
komponen di-deploy dalam infrastruktur sistem, di mana 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 dalam diagram ini (Wahono, 2003).