BAB II LANDASAN TEORI
2.1
Sistem Pakar Sistem pakar adalah suatu program komputer yang dirancang untuk
mengambil keputusan seperti keputusan yang diambil oleh seorang atau beberapa orang pakar. Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu. Suatu sistem pakar disusun oleh tiga modul utama (Staugaard, 1987), yaitu: 1.
Modul Penerimaan Pengetahuan Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.
2.
Modul Konsultasi(ConsultationMode)
5
6
Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaanpertanyaan yang diajukan oleh sistem. 3.
Modul Penjelasan(Explanation Mode) Modul ini menjelaskan proses pengambilan keputusan oleh sistem (bagaimana suatu keputusan dapat diperoleh). Komponen utama pada struktur sistem pakar (Hu et al, 1987) meliputi:
1.
Basis Pengetahuan (Knowledge Base) Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui. Menurut Gondran (1986) dalam Utami (2002), basis pengetahuan merupakan representasi dari seorang pakar, yang kemudian dapat dimasukkan kedalam bahasa pemrograman khusus untuk kecerdasan buatan (misalnya PROLOG atau LISP) atau shell sistem pakar (misalnya EXSYS, PC-PLUS, CRYSTAL).
2.
Mesin Inferensi (Inference Engine) Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau
7
kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya. Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua tehnik pengendalian tersebut. 3.
Basis Data (Database) Basis data terdiri atas semua fakta yang diperlukan, dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
4.
Antarmuka Pemakai (User Interface) Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan sistem. Hubungan antar komponen penyusun struktur sistem pakar dapat dilihat pada 2.1.
8
Gambar 2.1 komponen penyusun struktur sistem pakar. Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu : 1.
Rule-Based Knowledge Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.
2.
Frame-Based Knowledge Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.
4.
Object-Based Knowledge Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).
5.
Case-Base Reasoning Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).
9
2.2
SSH SSH atau Secure Shell adalah sebuah protokol untuk secure remote login
atau secure network services di dalam jaringan yang tidak aman. SSH terdiri dari tiga komponen, 1. Transport Layer Protocol(SSH-TRANS) Komponen ini menyediakan autentikasi, kerahasiaan dan integritas server. Komponen ini dapat juga menyediakan kompresi. Transport layer ini biasanya akan berjalan diatas sebuah koneksi TCP/IP, tetapi mungkin juga digunakan di atas lapisan data stream lain yang handal. 2. User Authentication Protocol(SSH-USERAUTH) Mengotentikasi di sisi client user ke server. Protokol ini berjalan diatas transport layer protocol. 3. Connection Protocol(SSH-CONNECT) Multiplexes tunnel terenkripsi kedalam beberapa kanal logic. Protokol ini berjalan di atas user authentication protocol. Client mengirim sebuah permintaan layanan setelah transport layer sudah terhubung dengan aman. Sebuah permintaan layanan kedua dikirim setelah otentikasi pengguna selesai. Hal ini memungkinkan protokol baru untuk didefinisikan dan hidup berdampingan dengan protokol di atas. Protokol Koneksi menyediakan saluran yang dapat digunakan untuk berbagai berbagai tujuan. Metode standar disediakan untuk menyiapkan mengamankan sesi shell interaktif dan untuk meneruskan (tunneling) TCP / IP port dan koneksi X11 yang berubah-ubah.
10
2.3
PHP Menurut Saputra (2011) PHP atau yang memiliki kepanjangan Hypertext
Preprocessor merupakan suatu bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau 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 dalam setiap/untuk menjalankan PHP, wajib adanya web server. PHP ini bersifat open source sehingga dapat dipakai secara cuma-cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi Windows maupun Linux dan Machintos. PHP juga dibangun sebagai modul pada web server apache dan sebagai binary yang dapat berjalan sebagai CGI.
2.4
Yii Framework Menurut website resmi Yii, Yii berasal dari singkatan ”Yes it is!”, yang
artinya mewakili jawaban dari pertanyaan-pertanyaan yang umum misalnya: Is it fast? ... Is it secure? ... Is it professional? ... Is it right?... from my project? ... Yes, it is! Yii adalah sebuah aplikasi web development framework yang bersifat open-source yang ditulis dengan PHP5. Yii dirancang untuk memudahkan dan membantu untuk membuat sebuah aplikasi yang sangat efisien, extensible dan maintainable. Berikut adalah fitur-fitur Yii:
11
2.4.1
MVC
DAO/ActiveRecord
I18N/L10N
Caching
Authentication and role-based access control
Scaffolding
Testing
Model View Controller (MVC) patern pada Yii Yii mengimplementasikan desain patern Model-View-Controller(MVC),
yang telah secara luas diadopsi dalam pemrograman web. MVC bertujuan memisahkan logika bisnis dari modul antar muka pengguna(view), sehingga para pengembang dapat lebih mudah untuk mengubah setiap bagian tanpa mempengaruhi bagian yang lain. Dalam MVC, model
menggambarkan
informasi(data) dan aturan bisnis, view mengandung unsur antarmuka pengguna, seperti teks, input form dan controller mengatur komunikasi antar model dan view Selain menerapkan MVC, Yii juga memperkenalkan front-controller, yang disebut Application, yang mengenkapsulasi konteks eksekusi untuk memproses permintaan. Application mengumpulkan beberapa informasi tentang permintaan pengguna dan kemudian mengirimkannya ke controller yang sesuai untuk penanganan selanjutnya. Berikut ini adalah gambar struktur statis dari aplikasi Yii.
12
Gambar 2.2 Stuktur Statis Aplikasi Yii
Gambaran Workflow aplikasi Yii saat melayani permintaan dari pengguna sebagai berikut.
Gambar 2.3 Workflow Aplikasi Yii
13
Berikut penjelasan dari gambar workflow diatas. Nomor
Keterangan
1
Seorang pengguna membuat permintaan dengan url http://www.example.com/index.php?r=post/show&id=1 dan server Web menangani permintaan dengan menjalankan skrip bootstrap index.php.
2
Script bootstrap menciptakan sebuah contoh aplikasi dan menjalankannya. Aplikasi memperoleh pengguna meminta informasi rinci dari komponen aplikasi bernama request.terhadap sistem sesuai dengan hak ases yang diberikan. Jika tidak valid maka sistem akan menampilkan pesan konfirmasi bahwa username dan password yang dimasukkan salah serta pemberitahuan untuk memasukkan kembali username dan password yang valid.
3
4
Aplikasi menentukan controller dan action yang diminta dengan bantuan komponen aplikasi bernama urlManager. Untuk contoh ini, controller adalah posting, yang mengacu pada kelas PostController, dan action adalah show, yang arti sebenarnya ditentukan oleh controller.
5
Aplikasi membuat instance dari controller yang diminta untuk selanjutnya menangani permintaan pengguna. Kontroler menentukan action show merujuk pada sebuah metode bernama actionShow dalam kelas Controller. Kemudian membuat dan menjalankan filter (contoh kontrol akses, benchmarking) terkait dengan aksi ini. Aksi dijalankan jika diijinkan oleh filter.
6
Action membaca Post model di mana ID adalah 1 dari database.
7
Action meyiapkan tampilan bernama show dengan model Post.
8
View membaca dan menampilkan atribut model Post.
9
View menjalankan widget.
10
Hasil render view yang tertanam dalam sebuah layout.
11
Action mengakhiri pembuatan view dan menampilkan hasilnya ke pengguna.
14
2.5
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
15
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.6
VB.NET Menurut Kurniawan dan Yulian (1991), diterangkan bahwa Visual Basic
1.0 muncul pada tahun 1991, Visual Basic tumbuh sangat pesat dan menjadi bahasa pemrograman yang paling popular di dunia. Namun popularitas tidak menjamin bahwa Visual Basic mendapat pengakuan dari semua programmer. Ada yang
menganggap
VB
sebagai
bahasa
sebagai
bahasa
pemrograman
untuk ”mainan”, dan tidak digunakan untuk membuat aplikasi yang ”serius” seperti pada C++ atau Java. VB dianggap tidak memiliki fitur yang digunakan untuk mengembangkan aplikasi bertaraf enterprise. Ada beberapa alasan yang melatarbelakangi salah satunya yaitu VB dianggap tidak mempunyai fitur OOP (Object Oriented Programming) yang lengkap. Pada tahun 2001 Microsoft memperkenalkan teknologi .NET Framework, dan Visual Basic adalah salah satu bahasa yang disupport oleh .NET Framework. Microsoft memberi nama baru yaitu VB.NET. Dengan dukungan platform .NET, VB.NET menjadi bahasa pemrograman yang modern, powerfull dan mendukung OOP secara lengkap. Sekarang VB.NET dapat disejajarkan dengan bahasa modern lainnya seperti C# atau Java.
16
2.7
.NET Framework Untuk bekerja di lingkungan .NET Framework maka anda harus
mengetahui arsitektur dan komponen apa saja yang ada didalamnya. .NET Framewok
mendukung
beberapa
bahasa
pemrograman,
adapun
bahasa
pemrograman yang disupport secara resmi oleh Microsoft adalah C# (CSharp), VB, dan C++, tetapi sekarang banyak bahasa lain yang juga dikembangkan untuk mendukung platform .NET diantaranya Delphi, Phyton (IronPhyton). Untuk mengembangkan aplikasi berbasis NET sebenarnya dapat digunakan lebih dari satu bahasa pemrograman (Language Interoperability) misal sebagian program menggunakan C# dan sebagian lagi menggunakan VB, tetapi disarankan untuk memilih hanya satu bahasa pemrograman saja agar aplikasi yang dibuat lebih mudah untuk di-maintain. Bahasa paling banyak digunakan di platform .NET saat ini adalah C# dan VB.
Gambar 2.4 .NET Framework .NET Framework sebenarnya terdiri dari dua komponen utama yaitu CLR (Common Language Runtime) dan FCL (Framework Class ibrary).
17
Gambar 2.5 Common Language Runtime Common Language Runtime
(CLR)
adalah
pondasi utama
dari
Framework .NET. CLR merupakan komponen yang bertanggung jawab terhadap berbagai macam hal, seperti bertanggung jawab untuk melakukan managemen memory, melakukan eksekusi kode, melakukan verifikasi terhadap keamanan kode, menentukan hak akses dari kode, melakukan kompilasi kode, dan berbagai layanan system lainnya. Dengan adanya fungsi CLR ini, maka aplikasi berbasis .NET biasa juga disebut dengan managed code, sedangkan aplikasi di luar itu biasa disebut dengan un-managed code. Dengan adanya CLR maka tugas pengembang program menjadi lebih ringan karena banyak tugas yang dahulu harus dikerjakan oleh pengembang sudah digantikan secara otomatis oleh komponen CLR ini. CLR akan melakukan kompilasi kode-kode aplikasi kita menjadi bahasa assembly MSIL (Microsoft Intermediate Language). Proses kompilasi ini sendiri dilakukan oleh komponen yang bernama Just In Time (JIT).
18
Gambar 2.6 Framework Class Library .NET Framework Class Library atau sering juga disebut Base Case Library (BCL) adalah koleksi dari reusable types yang sangat banyak dan terintegrasi secara melekat dengan CLR. Kumpulan Class Library ini sangat berguna untuk pengembangan aplikasi karena developer tidak perlu membuat semuanya dari awal karena sudah disediakan oleh .NET, misal class untuk membuat aplikasi berbasis windows, class untuk membuat objek-objek koleksi, class untuk koneksi dengan database (ADO.NET), class untuk mengembangkan aplikasi berbasis web, class WPF (Windows Presentation Foundation) dan masih banyak lagi.
2.8
Tamir SSH Tamir SSH adalah sebuah implementasi .NET murni untuk protokol client
SSH. Tamir SSH adalah sebuah library(dll file) yang menyediakan komunikasi
19
client-server dengan SSH server yang dapat diintegrasikan ke dalam semua aplikasi .NET. berikut adalah fitur-fitur yabg didukung library ini: Key exchange: diffie-hellman-group-exchange-sha1, diffie-hellmangroup1-sha1. Cipher: 3des-cbc MAC: hmac-md5 Host key type: ssh-rsa and partial ssh-dss. Userauth: password, publickey (RSA) Generating RSA key pairs. Changing the passphrase for a private key. SCP and SFTP Library
ini
digunakan
untuk
membangun
aplikasi
client
yang
menggunakan bahasa pemrograman VB.NET, sedangkan untuk url downloadnya adalah : http://www.codeproject.com/Articles/11966/sharpSsh-A-Secure-Shell-SSHlibrary-for-NET
2.9
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
20
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.
21
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
22
sudah jelas, banyak administrator dan programmer menggunakan istilah basis data untuk kedua arti tersebut.
2.10
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.
23
2.11
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
24
Nilai dari tiap atribut didefinisikan kedalam tiga property yaitu: Tipe data : Properti dari atri but yang mengidentifikasikan tipe data yang dapat disimpan ke dalam atribut. Domain : Properti dari atribut yang mengidentifikasikan nilai apa yang boleh diambil oleh suatu atribut. 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
25
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.
26
2.12
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 de ngan 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
27
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”.
28
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)
29
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 multi-valued 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.
30
2.13
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
31
te (menghapus). Selain itu, SQL juga menyediakan perintah untuk membuat database, field, ataupun index guna menamb ah atau menghapus data. 2.14
Waterfall Metode yang digunakan untuk membuat aplikasi ini adalah metode
waterfall, berikut penjelasannya yaitu :
Gambar 2.7 Metode Waterfall 1. Requirement Analysis
Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.
2. System Design
Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan gambaran apa yang seharusnya dikerjakan dan bagaimana
32
tampilannya. Tahap ini membantu dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur sistem secara keseluruhan (Gunawan, 2009).
3. Implementation
Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi yang diinginkan atau belum (Gunawan, 2009).
4. Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan desainnya dan masih terdapat kesalahan atau tidak (Gunawan, 2009).
5. Operation & Maintenance
Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan serta
dilakukan pemeliharaan. Pemeliharaan termasuk
dalam
memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru (Gunawan, 2009).
33
2.15
Pengujian Black Box Pengujian black box berfokus pada persyaratan fungsional perangkat
lunak. Dengan demikian pengujian ini memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujan black box merupakan pendekatan komplementer yang kemungkinkan besar mampu mengungkapkan kelas kesalahan daripada metode white box (Pressman, 2002). Pengujian black box
berusaha menemukan kesalahan dalam kategori
sebagai berikut : a. fungsi yang salah atau hilang. b. kesalahan pada interface. c. kesalahan pada struktur data atau akses database. d. kesalahan performansi. e. kesalahan inisialisasi dan tujuan akhir.
2.16
Pengujian White Box Pengujian White Box terkadang juga disebut pengujian kotak kaca (glass-
box testing), merupakan sebuah filosofi perancangan test case yang menggunakan stuktur kontrol yang dijelaskan sebagai bagian dari perancangan peringkat komponen untuk menghasilkan test case. Dengan menggunakan metode pengujian white box , anda dapat memperoleh test case yang menjamin bahwa semua jalur independen di dalam modul telah dieksekusi sedikitnya satu kali, melaksanakan semua keputusan logis pada sisi benar dan salah, melaksanakan semua loop pada batas mereka dan dalam batas-batas operasional mereka dan
34
melakukan struktur data internal untuk memastikan kesahihannya (Pressman, 2012).
2.17
Pemodelan Kebutuhan Model-model kebutuhan memiliki berbagai mantra/dimensi yang berbeda,
membahas tentang model-model berorientasi aliran, model-model perilaku, dan pertimbangan analisis kebutuhan bersifat khusus, yang memainkan peranan sangat penting saat aplikasi-aplikasi web dikembangkan (Pressman, 2012). Suatu bentuk pemodelan kebutuhan, yang dinamakan analisis terstruktur, mempertimbangkan data dan proses-proses yang melakukan transformasi terhadap data tersebut sebagai entitas-entitas yang saling terpisah satu dengan lainnya. Objek-objek data dimodelkan dengan cara sedemikian rupa sehingga terlihat atribut-atribut serta relasinya. Proses-proses yang memanipulasi objekobjek data dapat dimodelkan sedemikian rupa sehingga kita bisa melihat bagaimana proses-proses itu melakukan transformasi terhadap objek-objek data yang mengalir dalam sistem (Pressman, 2012). Model perilaku biasanya menggambarkan bagaimana perangkat lunak akan berperilaku dalam menanggapi event-event yang datang dari arah luar atau bagaimana perangkat lunak akan berperilaku terhadap rangsangan-rangsangan dari arah luar. Untuk membuat model ini, kita bisa melakukan langah-langkah berikut. 1. Melakukan evaluasi terhadap semua use case untuk secara penuh memahami urutan-urutan interaksi yang terjadi di dalam sistem/perangkat lunak.
35
2. Mengidentifikasi event-event yang mengendalikan urutan interaksiinteraksi dan memahami bagaimana event-event itu berhubungan dengan objek-objek yang bersifat spesifik. 3. Membuat diagram-diagram yang memperlihatkan urutan-urutan untuk masing-masing use case. 4. Mengembangkan diagram state untuk sistem/perangkat lunak yang akan dikembangkan. 5. Meninjau
model
perilaku
untuk
memverifikasi
akurasinya
dan
konsistensinya (Pressman 2012) Pemodelan kebutuhan untuk aplikasi-aplikasi dengan menggunakan beberapa element pemodelan. Elemen-elemen itu diterapkan di dalam sejumlah model terkhususkan yang menyelesaikan permasalahan-permasalahan yang berkaitan dengan isi, fungsi, navigasi, dan konfigurasi klien-server dimana aplikasi-aplikasi web berada (Pressman, 2012).
2.18
Konsep Perancangan Perancangan perangkat lunak adalah sesuatu yang dilakukan hampir oleh
semua rekayasawan perangkat lunak. Perancangan perangkat lunak merupakan tempat
dimana
aturan-aturan
kreativitas,
dimana
kebutuhan-kebutuhan
stakeholder, kebutuhan-kebutuhan bisnis, dan perkembangan-perkembangan teknis, semua secara bersamaan disatukan untuk membentuk suatu produk atau sistem/perangkat lunak yang berkualitas.Perancangan perangkat lunak membuat suatu representasi atau model perangkat lunak, tetapi tidak seperti model-model kebutuhan (yang lebih berfokus pada bagaimana caranya mendeskripsikan data,
36
fungsi, serta perilaku), model perancangan perangkat lunak pada dasarnya menyediakan rincian tentang hal-hal yang berkaitan dengan arsitektur perangkat lunak, antar muka-antarmuka, dan komponen-komponen dan/ atau subsistemsubsistem yang diperlukan untuk mengimplentasikan sistem/perangkat lunak (Pressman, 2012). Model perancangan perangkat lunak pada dasarnya memiliki 4 elemen yang
berbeda.
Saat
masing-masing
elemen
dikembangkan,
pandangan
perancangan perangkat lunak yang lebih lengkap berkembang. Elemen arsitektural sistem/perangkat lunak menggunakan informasi yang didapatkan dari ranah aplikasi, menggunakan aplikasi yang didapatkan dari model-model spesifikasi kebutuhan. (Pressman, 2012).
2.19
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. ;
37
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, isalnya 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 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.
38
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
39
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 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
40
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
41
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 eberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi ditrigger 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).
42
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).
43
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
44
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).
2.20
Perancangan Antarmuka Pengguna Perancangan antarmuka pengguna menciptakan media komunikasi yang
efektif diantara manusia dan komputer. Menikuti sejumlah prinsip perancangan antarmuka,
perancangan
antarmuka
pengguna
bekerja
dengan
cara
mengidentifikasi objek-objek antarmuka dan aksi-aksi dan kemudian membuat tata letak layar yang membentuk basis untuk pembuatan suatu prototipe antarmuka pengguna. Jika perangkat lunak sukar digunakan, jika perangkat lunak menuntun kita kedalam kesalahan-kesalahan, atau jika perangkat lunak membuat kita frustasi saat kita berusaha menyelsaikan sasaran-sasaran kita, kita tidak akan menyukai
perangkat
lunak
itu,
seandainya
pun
perangkat
lunak
itu
memperlihatkan kemampuan untuk melakukan komputasi yang sangat hebat, memiliki isi-isi yang bermanfaat atau menawarkan fungsionalitas-fungsionalitas yang bagus. Antarmuka pengguna harus benar sebab ia membentuk persepsi para pengguna terhadap suatu perangkat lunak ( Pressman, 2012). Perancangan antarmuka pengguna biasanya dimulai dengan melakukan identifikasi
pengguna,
identifikasi
pekerjaan-pekerjaan,
dan
identifikasi
kebutuhan-kebutuhan lingkungan. Saat pekerjaan-pekerjaan yang akan dilakukan oleh pengguna diidentifikasi dengan baik, skenario-skenario penggunaan para pengguna dapat dibuat dan dianalisis untuk dapat dibuat dan dianalisis untuk dapat mendefinisikan sejumlah objek antarmuka pengguna dan untuk dapat
45
mengidentifikasi sejumlah aksi yang diperlukan untuk
membuat suatu
perancangan antarmuka pengguna. Bentuk perancangan antarmuka pengguna ini selanjutnya dapat digunakan untuk melakukan perancangan tata letak objek-objek di layar monitor yang mencakup di dalamnya perancangan-perancangan grafis dan penempatan ikon-ikon, definisi-definisi dari teks deskriptif yang terlihat di layar, spesifikasi-spesifikasi dan pemberian nama-nama jendela-jendela, dan spesifikasi-spesifikasi item-item menu utama dan tambahan (Pressman, 2012). Skenario-skenario pengguna dibuat dan tata-tata letak layar dihasilkan. Suatu prototipe antarmuka dapat secara iteratif dikembangkan dan dimodifikasi. Suatu prototipe antarmuka akan diuji para pengguna dan umpan0umpan balik dari pengguna itu akan digunakan sebagai basis modifikasi prototipe di iterasi berikutnya (Pressman, 2012).
2.21
Perancangan Aplikasi-aplikasi Web Perancangan untuk aplikasi-aplikasi web pada dasarnya memerlukan
aktivitas-aktivitas teknis dan nonteknisyang di dalamnya mencakup hal-hal penting yaitu : penetapan tampilan-tampilan aplikasi web, pembuatan rancangan estetika antarmuka pengguna, pendefinisian arsitektur aplikasi web secara keseluruhan, pengembangan isi dan fungsionalitas yang berada dalam arsitektur aplikasi web dan perencanaan navigasi yang ada di dalam suatu aplikasi web. Perancangan dan produk-produk kerja yang dihasilkan memungkinkan kita untuk membuat suatu model yang dapat dinilai kualitasnya dan dapat diperbaiki sebelum isi dan kode dibentuk, sebelum pengujian-pengujian
46
dilakukan, dan sebelum pengguna akhir yang berjumlah besar terlibat (Pressman, 2012). Masing-masing element pada model perancangan ditinjau dengan maksud untuk menyingkapkan kesalahan-kesalahan, ketidak konsistenan, serta m engabaikan yang ada di dalamnya. Solusi-solusi alternatif juga dipertimbangkan, dan derajat tentang bagaimana model perancangan saat ini akan memicu terbentuknya sebuah implementasi yang efektif harus dinilai pula (Pressman, 2012).