BAB II LANDASAN TEORI
2.1
Metode Penelitian Sekuensial Linier Sekuensial linier mendekatkan kepada perkembangan perangkat lunak
yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. (pressman, 1997) Dimodelkan setelah siklus rekayasa konvensional, model sekuensial linier melingkupi aktivitas-aktivitas sebagai berikut : 1. Rekayasa dan pemodelan sistem/informasi Karena perangkat lunak selalu merupakan bagian dari sebuah sistem (bisnis) yang lebih besar, kerja dimulai dengan syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke perangkat lunak tersebut. Pandangan sistem ini penting ketika harus berhubungan dengan elemen-elemen yang lain seperti perangkat lunak, manusia dan basis data. 2. Analisis kebutuhan peranngkat lunak Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada perangkat lunak. Untuk memahami sifat program yang dibangun, perekayasa perangkat lunak (analisis) harus memahami domain informasi, tingkah laku untuk kerja, dan antarmuka (interface) yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat dari pelanggan. 3. Desain Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada tempat, dan atribut sebuah program yang berbeda, struktur data, arsitektur perangkat lunak, representasi interface dan detail (algoritma) prosedural.
22
4. Generasi Kode Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode untuk melakukan tugas ini. Jika desain dilakukan dengan secara lengkap, pembuatan kode dapat diselesaikan secara mekanis. 5. Pengujian Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pertanyaan sudah diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. 6. Pemeliharaan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan (perkecualian yang mungkin adalah perangkat lunak yang dilekatkan).
Perubahan
ditentukan,
karena
akan
perangkat
terjadi
karena
lunak
harus
kesalahan-kesalahan disesuaikan
untuk
mengakomodasi perubahan-perubahan didalam lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi, seperti pada gamabar 2.1
Gambar 2.1 Model sekuensial linier
23
Model sekuensial linier adalah paradigma rekayasa perangkat lunak yang paling luas dipakai dan paling tua. Tetapi kritik dari paradigma tersebut telah menyebabkan dukungan aktif untuk mempertanyakan kehandalannya (HAN95). Masalah-masalah yang kadang-kadang terjadi ketika model sekuensial linier diaplikasikan adalah: 1. Jarang sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh model. Meskipun model linier bisa mengakomodasi iterasi, model itu melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahanperubahan dapat menyebabkan keraguan pada saat tim berjalan. 2. Kadang-kadang
sulit
bagi
pelanggan
untuk
menyatakan
semua
kebutuhannya secara eksplisit. Model sekuensial linier memerlukan hal ini dan mengalami kesulitan untuk mengakomodasi ketidakpastian natural yang ada pada awal beberapa proyek. 3. Pelanggan harus bersikap sabar. Sebuah versi kerja dari program-program itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah kesalahan besar, jika tidak terdeteksi sampai program yang bekerja tersebut dikaji ulang, bisa menjadi petaka. 4. Pengembangan sering melakukan penundaan yang tidak perlu. Di dalam analisis
yang
menarik tenteng proyek aktual, Bradac [BRA94]
mendapatkan bahwa sifat alami dari siklus kehidupan klasik membawa kepada bloking state di mana banyak anggota tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan. Kenyataannya, waktu yang dipakai untuk menunggu bisa mengurangi waktu untuk usaha produktif! Bloking state cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier.
Masing-masing dari masalah tersebut bersifat riil. Tetapi paradigma siklus kehidupan klasik memiliki tempat yang terbatas namun penting dalam kerja rekayasa perangkat lunak. Paradigma itu memberikan template di mana metoda analisis, desain, pengkodean, pengujian, dan pemeliharaan bisa dilalukan. Siklus kehidupan klasik tetap menjadi model bagi rekayasa perangkat lunak yang paling
24
luas dipakai. Sekalipun memiliki kelemahan, secara signifikan dia lebih baik dari pada pendekatan yang sifatnya sembrono kepada pengembangan perangkat lunak.
2.2
Interaksi Manusia dan Komputer (IMK) 2.2.1 Definisi IMK IMK
merupakan
sebuah
bidang
mempelajari
bagaimana
mendesain, mengevaluasi dan menerapakan (implementasi) interaksi antara manusia dan komputer. (Sudarmawan, 2007) Seperti pada gambar 2.2 dibawah ini
Gambar 2.2 IMK Fungsi IMK mengoptimasikan performansi antara manusia dengan komputer sebagai suatu sistem. Untuk lebih jelasnya, marilah kita mengacu pada konteks berikut ini : Segala mesin yang dioperasikan oleh manusia untuk mencapai tujuan tertentu dengan melakukan suatu aksi. Tujuannya memaksimalkan fungsi suatu mesin. Ada interaksi antara manusia dengan mesin, seperti pada gambar 2.3 MANUSIA
MESIN
aksi Fungsi
HASIL
Gambar 2.3 Konteks aksi dan fungsi
25
Sering ketika mesin pertama kali dirancangan dan dibangun dengan suatu fungsi tertentu, ternyata sulit untuk dioperasikan, hal ini tidak menjadi masalah apabila yang mengoperasikan mesin adalah orang yang ahli dan sangat mengerti tentang mesin. Seorang ahli mengetahui fungsi
kerjanya
serta
orang
tersebut
dapat
dilatih
untuk
mengoperasikannya. Sebagai contoh, komputer yang diciptakan pertama kali sangat kompleks dan sulit untuk berinteraksi dengan masnusia. Orang yang dapat mengoperasikannya hanya sebagian kecil saja, mereka yang mengerti dan sering berurusan dengan hal-hal seperti ini serta dapat mengadaptasikan kebiasaan mereka dengan keperluan sesuatu mesin. Mereka memiliki kemauan untuk melakukan ini sebab mereka memiliki motivasi dan mesin adalah satu-satunya harapan untuk mencapai tujuan pribadi mereka. Dalam beberapa kasus, hanya sedikit orang mengetahui cara megoperasikan komputer agar mudah digunakan. Teknologi tidak menyediakan cara yang mudah untuk digunakan seperti yang kita gunakan sekarang misalnya display unit, mouse, keyboard dan lain-lain. Tetapi ketika komputer dikembangkan dalam hal kecepatan, kemampuan, memori dan lain-lain, serta harganya juga menurun, maka lebih banyak orang menggunakan komputer tersebut. Tetapi mereka masih mengeluh dalam menggunakan mesin itu. Teknik-teknik yang ada terlalu panjang prosedurnya. Mesin tersebut sama sekali belum fleksibel dalam pemakainnya.
Oleh
karena
itu,
sesuatu
harus
dilakukan
untuk
memperbaiki hal tersebut. Pekerjaan tersebu baru dimulai pada tahun 1970-an untuk mencari ide seperti “User Friendly” atau komputer yang bersahabat dengan penggunanya. Tahun 1980-an, mulailah timbul pengetahuan yang lebih luas yang dikenal sebagai Interaksi Manusia Komputer (IMK) atau Human Computer Interaction (HCI).
2.2.2 Kemampuan Pengguna (Usability) Pertimbanga pemakai dan lingkungan menggunakan suatu mesin (sistem komputer) yaitu agar mesin tersebut dapat melakukan beberapa
26
fungsi. Pengguna berharap saat memakai mesin, mereka tidak terlalu beradaptasi dengan mesin itu. Oleh karena itu, mesin yang didesain sealami mungkin dan menarik untuk dipelajari oleh mereka. Piranti masukkan yang berfungsi untuk memasukkan data ke dalam mesin, dirancang bukan hanya sekedar piranti masukkan tapi aspek “usability” menjadi hal pokok. Begitu pula dengan piranti keluaran dirancang untuk memudahkan pengguna membaca atau melihat hasil yang dikerjakan oleh mesin tersebut. Piranti tersebut diharapkan menjadi user interface atau penghubung antara manusia dan mesin. Dalam analisa sistem modern dan rekayasa perangkat lunak istilah “Usability” dimaksudkan untuk membuat kriteria kualitas suatu perangkat lunak
seperti
fungsionalitas,
kehandalan,
efisiensi,
kemudahan
pemeliharaan dan probabilitas. Beberapa hal yang menyangkut Usability : A. Kemampuan Pembelajaran (Learnability) Beberapa
pertanyaan
yang
menyangkut
kemampuan
pembelajaran (learnability) adalah: 1. Seberapa mudah mempelajari suatu sistem? 2. Seberapa cepat untuk menguasai sampai mahir?
B. Tolak Ukur Keluaran (Throughput) Beberapa pertanyaan yang menyangkut tolak ukur keluaran (throughput) adalah: 1. Seberapa cepat suatu tugas bisa dikerjakan? 2. Berapa banyak orang yang diperlukan untuk memperbaiki kesalahannya?
27
C. Keluwesan (Flexibility) Beberapa pertanyaan yang menyangkut keluwesan (flexibility) adalah: 1. Seberapa besar kecocokan sistem dengan keahlian seorang pemakai? 2. Dapatkah sistem itu diubah untuk memenuhi jalan kerja yang berbeda atau perbedaan level dari suatu keahlian.
D. Perilaku (Attitude) Pertanyaan yang menyangkut perilaku (attitude) adalah: 1. Apakah seorang pemakai puas terhadap sistem itu? 2. Apakah pemakai mendapat manfaat besar dari sistem itu? 3. Berapa lama sistem tersebut dipakai pada sistem intansi tersebut?
2.2.3 Panduan Merancang IMK Secara lebih detail panduan merancang IMK adalah sebagai berikut: 1. Konsistensi Terdapat tiga konsistensi dalam perancangan IMK, yaitu: a. Konsistensi Internal Merupakan pengguna yang konsisten pada hal-hal seperti format perintah, simbol, posisi objek, kotak-kotak dialog, daln lain-lain, dalam sebuah aplikasi yang diberikan aturanaturan yang harus diaplikasikan secara konsisten pada semua elemen dalam sistem perangkat lunak (software) khusus manapun. Contoh: Semua kotak dialog harus
28
mempunyai tombol Cancel dan Ok, pada posisi yang relatif sama pada setiap kotak. b. Konsistensi Eksternal Merupakan konsistensi antara perangkat lunak pada jalur yang diberikan. Contoh: Penampilan, fungsi dan posisi menu dalam semua aplikasi. Menggunakan icon yang sama untuk sebuah text dalam semua aplikasi. c. Konsistensi Dunia-Nyata Contoh: penggunaan icon yang tampak sama untuk membayangkan apa yang terlihat dalam “Dunia Nyata”. 2. Kesesuain dengan Harapan Pengguna Perancangan seharusnya menganalisis terminologi dan metode dari tipe kerja, potensi pengguna dan berusaha untuk menjadikan semuanyaini menjadi desain perangkat lunak. Contoh: sebagian besar program Word Processor mencoba untuk membuat tampilan ini layaknya seperti keinginan pengguna dalam mencetak dokumen. Dalam MS-Word fungsi “insert” merupakan daftar menu utama karena dalam Word Processor terdapat jarak yang cukup luas yang bisa disisipkan(page breaks dan lain sebagainya),
sedangkan
program lain membuatnya hanya dala sub-command dengan beberapa daftar lain. 3. Kontrol dan Fleksibility Desain harusnya dapat memenuhi semua kebutuhan dari pengguna, mulai dari amatir sampai yang profesional. Semua ini dapat diterima. Contoh: penyediaan clear icons dan on-line help untuk pengguna baru dan keyboard shortcut untuk pengguna yang berpengalaman. Interface seharusnya didesain sehingga user yang berpengalaman tidak perlu melewati bagian pendahuluan setiap akan menggunakan program. Contoh:
29
dalam program Word Processor, seorang pengguna boleh memilih first entering dari semua teks dan kembali untuk membawa tugas-tugas formatting seperti mengganti font style, tab stops, dan sebagainya. Kemungkinan lain, pengguna dapat memformat tugas-tugas seperti proses pengetikan. Kebanyakan sistem yang modern, pengguna dapat menukar aplikasi yang berbeda (contoh Word Processor ke grafik dan kembali lagi tanpa ada pengurangan) dengan aplikasi yang digunakan user lain. 4. Susunan Eksplisit dari Antarmuka Antarmuka seharusnya tetap sederhana dan tidak terlalu kelebihan dengan banyaknya fitur-fitur dan fungsi-fungsi pada setiap saat. Contoh: “the graying” dari menu perintah mengindikasikan bahwa fungsi-fungsi tersedia untuk para pengguna setiap saat. Tanya jawab seharusnya didesain untuk memenuhi informasi yang dibuuhkan untuk menyelesaikan tugas tanpa kelebihan memori dan melupakan secepatnya setelah diselesaikan. 5. Umpan Balik yang Informatif dan Berkesinambungan Pengguna perlu untuk dapat mengakses apa yang ada di dalam sistem setiap saat dan membutuhkan petunjuk-petunjuk yang diperlukan. Kebanyakan dari interface didesain untuk memberikan petunjuk dalam jumlah yang lebih besar termasuk visual dan auditory sebagaimana sistem yang dikerjakan. Contoh: antarmuka Netscape membiarkan pengguna untuk memberikan umpan balik. Suatu umpan balik seringkali dibagi dalam beberapa kategori yaitu:
30
a. Lexical feedback Umpan
balik
merupakan
sistem
yang
mengindikasikan “terima pesan, tetapi tidak ada perubahan yang telah dibuat di bawah pengaruh dari sistem”. Contoh: daftar nama telah di-blok ketika cursor berubah bentuk dari tool yang ada. b. Syntactic feedback Umpan balik
merupakan umpan balik
yang
membutuhkan lebih sedikit percakapan dengan pengguna tetapi masih tidak memberi isyarat dasar perubahan dalam sistem. Contoh: informasi mengenai sub-menu tanpa menuutama atau fakta bahwa menu tidak aktif ketika kotak dialog tidak aktif c. Semantic feedback Sinyal sistem “pesan diterima dan dijalankan”, untuk mengetahui bahwa terdapat beberapa perubahan fundamental yang terstruktur dalam dokumen. Contoh: Ketika Anda memindahkan icon, Anda dapat melihat posisi yang baru. Anda mengubah font style, maka Anda dapat melihat gaya huruf yang baru. 6. Pencegahan dan Perbaikan Kesalahan Setiap user yang menggunakan sistem komputer dapat membuat kesalahan dari waktu ke waktu, tidak peduli sering atau jarang. Bagaimana suatu software berhadapan dengan situasi seperti ini, kondisi ini sangat mempengaruhi pandangan user terhadapa software tersebut. Untuk itu dibutuhkan suatu pengendalian terhadapa kesalahan-kesalahan tersebut yang disebut dengan istilah error handling. Error handling merupakan suatu sistem penanganan error oleh komputer terhadap kesalahan yang dilakukan oleh user atau pengguna
31
baik dari tingkat user pemula (novice) ataupun tingkat-tngkat lainnya bahkan pengguna expert. Namun dalam hal ini error handling lebih difokuskan pada novice user karena mereka cenderung lebih banyak melakukan kesalahan yang mungkin karena belum tahu banyak tentang seluk beluk suatu sistem dan juga mudah panik. Untuk lebih jelasnya maka akan dibahas mengenai tipe-tipe kesalahan yang biasa dilakukan oleh user. Tipe-tipe kesalahan user yang terjadi digolongkan menjadi 2 hal yaitu : a. Mistake Terjadi saat user berpikir bahwa sudah melakukan sesuatu hal yang benar, namun sebenarnya membuat suatu kesalahan. Contoh: - mebuka file yang non-exist/sudah terhapus - salah mengartikan icon atau menu - salah memasukkan nilai atau memasukkan angka yang tidak diperbolehkan b. Slip Terjadi
saat
user
melakukan
kesalahan
diluar
kehendaknya. Contoh paling mudah dalam kasus ini adalah kesalahan pengetikan, salah mengklik menu yang akan dipilih, dan lain-lain. Tipe-tipe error dibagi menjadi 3 bagian, yaitu: a. Perceptual Errors Perceptual Errors disebabkan oleh ketidakjelasan keterangan
dari
petunjuk
penggunaan
mengakibatkan kesalah tanggapan dari user.
32
yang
b. Cognitive Errors Cognitive
Errors
diakibatkan
dari
kemampuan
memecahkan masalah oleh user, ketidakkonsekuenan perintah, kebanyak konteks atau informasi status. c. Motor Errors Motor Errors diakibatkan ketidaksingkronan antara mata dan tangan serta kemampuan user.
Error handling ini bertujuan untuk memberikan feedback terhadap
user
yang
melakukan
kesalahn.
Berdasarkan
tujuannya, error handling dibagi menjadi 2 kategori, yaitu: a. Error Prevention Tujuan dari Error Prevention ini adalah meminimalisasi kesalahan user agar tidak terjadi error yang lebih fatal pada suatu sistem atau software. b. Error Recovery Tujuan dari Error Recovery adalah bagaimana suatu sistem atau software melakukan koreksi, jika sudah terlanjur kesalahan baik yang serius maupun kesalaha lainnya. Selain 2 hal diatas, bisa juga sistem atau software menyediakan semacam Error Handling Information atau lebih dikenal dengan Troubleshot yang terpadu agar user dapat mengetahui bagaimana langkah-langkah mengatasi kesalahan yang telah terjadi. Penggunaan bahasa juga menentukan penilaian user terhadap suatu sistem atau software. Berikut ini adalah beberapa solusi untuk menciptakan tata bahasa yang baik dalam error handling, yaitu:
33
a. Hindari kata seperti illegal, error, bad, dan lain-lain. Hal ini menyebabkan user berpandangan bahwa dirinya bodoh. b. Hindari kata-kata yang menyalahkan user. Buatlah sistem yang mudah dimengerti agar user tidak banyak melakukan kesalahan. c. Menggunakan bahasa yang mudah dimengerti. Contoh: “Unrecognised String (Error 372)” adalah pesan yang sulit dimengerti pleh user pemula, kata “Error 372” hanya dapat dimengerti oleh perancang program itu sendiri. d. Hindari kalimat inperative (perintah) Tujuannya agar user memiliki kesan sistem ini siap menyediakan apa yang user butuhkan. Contoh: kalimat “Entry data Now!!!” dapat diganti menjadi “Can accept data when you ready” Kemungkinan
arahan terbaik adalah mencoba untuk
mencegah kesalahan yang ada. 7. Pendukung dan Dokumentasi Pengguna Direkomendasikan bahwa setiap paket perangkat lunak, seharusnya terdapat level pendukung pengguna: a. Pengajaran langkah-demi-langkah untuk pemula. b. Lembaran rujukan perintah (daftar isi, perintah, map, dan lain-lain). c. Kartu petunjuk Singkat dan Cepat, sehingga dapat dengan cepat mengoperasikan paket perangkat lunak tersebut.
34
Juga diperlukannya sistem desain yang terdapat on-line, pelatihan dan serta Trouble-shooting. 8. Kejelasan Visual secara Lojik dan Relevan (Visual Clarity) Elemen-elemen
layar
seperti
icon-icon,
checkboxes,
tombol-tombol dan lain-lain seharusnya ditetapkan untuk menghemat waktu para pengguna. Kebanyakan kasus, banyak perancang situs web yang masuk dalam perankap in, dengan memasukkan
fitur-fitur
tambahan
hanya
karena
dapat
diselesaikan. Dalam hal seperti tersebut, informasi ini menjadi kurang relevan untuk pengguna dan hanya menyebabkan kelambatan waktu untuk loading halaman web. Bagaimanapun ini dapat menjadi fungsi yang untuk merancang situs web.
2.3
Unified Modeling Language (UML) 2.3.1 Pengenalan UML UML (unified Modeling Language) adalah salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi objek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembangan sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagai (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain. (Munawar, 2005:17) UML telah menjadi standart dalam industri untuk visualisasi, merancang dan mendokumentasikan sebuah sistem perangkat lunak. UML menawarkan sebuah standart untuk merancang model sebuah sistem. Dengan mengunakan UML kita dapat membuat model untuk semua jenis aplikasi perangkat lunak, dimana aplikasi tersebut dapat berjalan di piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karna UML juga mengunakan class dan
35
operation dalam konsep dasarnya, maka UML lebih cocok untuk penulisan perangkat lunak dalam bahasa-bahasa berorientasi objek. Walau demikian UML tetap dapat digunakan untuk modeling aplikasi procedural. 2.3.2 Diagram-Diagram UML UML
mempunyai
sejumlah
elemen
grafis
yang
bisa
dikombinasikan menjadi sebuah diagram. karen ini merupakan sebuah bahasa maka ada aturan yang dipakai dalam menggabungkan elemenelemen tersebut. elemen-elemen UML tersebut dapat dilihat pada tabel 2.1 dibawah ini Tabel 2.1 Tipe diagram UML (Munawar, 2005) Diagram
Tujuan
Activity
Perilaku prosedural dan parallel
Class
Class, fitur dan relasi
Communication
Interaksi diantara obyek. Lebih menekankan ke link
Component
Struktur dan koneksi dari komponen
Composite Structure
Dekomposisi sebuah class saat runtime
Deployment
Penyebaran / instalasi ke klien
Interacton Overview
Gabungan antara activity dan sequence diagram
Object
Contoh konfigurasi instance
Package
Struktur hierarki saat kompilasi
Sequence State Machine Timing Use Case
Interaksi antara Obyek. Lebih menekankan pada Urutan Bagaimana event mengubah sebuah obyek Interaksi antara obyek. Lebih menekankan pada waktu Bagaimana user berinteraksi dengan sebuah sistem
36
Gambar 2.4 Klasifikasi jenis diagram UML (Munawar, 2005) Diagram UML yang akan dibahas pada bab ini adalah Use Case diagram, Activity diagram, sequence diagram dan Class diagram.
1. Use Case Diagram use case diagram merupakan teknik untuk merekam persyaratan fungsional sebuah sistem. use case diagram mendeskripsikan interaksi upikal antara para pengguna sistem dengan sistem itu sendiri, dengan member sebuah narasi tentang bagaimana sistem tersebut digunakan. use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem yang ditekankan adalah apa yang diperbuat sistem. Sebuah use case diagram merepresentasikan sebuah interaksi antara aktor dengan sistem. use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar belanja, dan lain-
37
lain. Seorang atau 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
persyaratan
(requirement)
sebuah
sistem,
mengkomunikasikan rancangan dengan klien dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case diagram dapat memasukkan fungsionalitas use case diagram lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case diagram yang dimasukkan akan dipanggil setiap kali use case diagram yang memasukkan dieksekusi secara normal. Sebuah use case diaram dapat dimasukkan oleh lebih dari satu use case diagram lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum (common). Sebuah use case diagram juga dapat memperluas use case diagram lain dengan aktivitasnya (behaviuor) sendiri. Sementara hubungan generalisasi antara use case diagram menunjukkan bahwa use case diagram yang satu merupakan spesialisasi dari yang lain.
38
Tabel 2.2 Notasi use case diagram (Fowler.2005) Notasi
Deskripsi Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna. Pelkau ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. Contoh: Manager, pelanggan, dan laib-lain. Use case digubakan unutk menggambarkan spesifikasi pekerjaan (job specification) dan deskripsi pekerjaan (job decription), serta keterkaitan antar pekerjaan (job). Contoh: pesan barang, menutup pintu, dan lin-lain. Aliran
proses
(relationship),
digunakan
untuk
menggambarkan hubungan antara usecase dengan usecase lainnya. Aliran perpanjangan (extension points), digunakan untuk ------------->
menggambarkan hubungan antara usecase
dengan use case yang diperpanjangkan (extended use case) maupun dengan use case yang dimasukkan (included use case). Aliran
yang
digunakan
untuk
menggambarkan
hubungan antara actor dengan usecase. Kondisi yang mendeskripsikan apa yang terjadi antara <<extended>>
use case denagn use case yang diperpanjang. Include adalah kondisi aliran proses langsung (directed
<
>
relationship) antara dua usecasae yang secara tak langsung menyatakan kelakuan (behaviour) dari use case yang dimasukkan.
<>
Adalah kondisi yang mendeskripsikan apa yangterjadi antara actor dengan use case.
39
Gambar 2.5 Contoh use case diagram (Fowler, 2005) Stereotype adalah sebuah model khusus yang terbatas untuk kondisi tertentu. Stereotype digambarkan dengan bentuk << diawali dan ditutup >>
Tipe stereotype ini
menunjukkan bahwa satu use
case seluruhnya merupakan fungsionalitas dari use case lainnya. Tipe
stereotype ini
menunjukan bahwa satu use case
merupakan tambahan fungsional dari use case lainnya jika suatu kondisi terpenuhi. Contoh pelanggan datang melakukan pencarian buku untuk dibaca, dengan cara melihat dan membaca buku yang tersedia untuk dibaca sesuai dengan apa yang diinginkan.
40
2. Activity Diagram Activity diagram teknik untuk menggambarkan logika procedural, proses bisnis, dan jalur kerja. Dalam beberapa hal, diagram ini memainkan peran mirip sebuah diagram alir, tetapi perbedaan antara diagram ini dan notasi
diagram
alir
adalah
diagram
ini
mendukung
behavior
parallel.(Fowler, 2005:163) Activity diagram memungkinkan siapapun yang melakukan proses untuk memilih urutan dalam melakukannya. Dengan kata lain diagram hanya menyebutkan aturan-aturan rangkaian dasar yang harus diikuti. Hal ini penting unuk permodelan bisnis, karena proses-proses sering muncul secara paralel. Ini juga berguna pada algoritma yang bersamaan, dimana urutan-urutan independen dapat melakukan hal-hal secara paralel. Tabel 2.3 Notasi activity diagram (Fowler, 2005) No 1.
Notasi
Keterangan Aktivitas, digunakan untuk menggambarkan aktifitas dalam diagram aktifitas.
2.
Node keputusan (decision node), digunakan untuk menggambarkan kelakuan pada kondisi tertentu.
3.
Titik awal, digunakan untuk menggambarkan awal dari diagram aktifitas.
4.
Titik akhir, digunakan untuk menggambarkan akhir dari diagram aktifitas.
5.
Akhir alur (flow final), digunakan untuk menghabcurkan semua tanda yang datang dan tak memiliki efek alur dalam aktifitas.
6.
Aksi (action), digunakan untuk menggambarkan alur antara aksi dengan aksi, titik awal dengan aksi, atau aksi dengan titik akhir.
41
Tabel 2.3 Notasi activity diagram (lanjutan) 7.
Aksi penerimaan kejadian(accept event action), sebuah aksi yang menunggu kejadian dari suatu peristiwa bertemu kondisi yang spesifikasi.
8.
Datastore digunakan untuk menjaga agar semua <>
tanda yang masuk dan menduplikasikannya saat mereka dipilih untuk pindah ke alur selanjutnya (downstream).
9.
Node fork memiliki satu aksi yang masuk dan beberapa aksi yang keluar.
10.
Join node digunakan untuk menggambarkan beberapa aksi yang masuk dan satu aksi yang keluar.
Gambar 2.6 Contoh activity diagram (Fowler, 2005)
42
3. Class Diagram Class
diagram
merupakan
sebuah
spesifikasi
yang
jika
diinstasiasikan akan menghasilkan sebuah objek dan merupakan inti dari
pengmbangan
dan
desain
berorientasi
objek.
Class
menggambarkan keadaan (atribut.properti) suatu sistem, sekaligus menawarkan
layanan
untuk
memanipulasi
keadaan
tersebut
(metode/fungsi). Symbol antar class adalah contoh class diagram. Tabel 2.4 Notasi class diagram (Fowler, 2005) No 1.
Notasi
Keterangan Composition Jika sebuah kelas tidak bisa berdiri sendiri dan harus merupakan bagian dari kelas yang lain, maka
class
Composition bergantung
tersebut terhadap tersebut.
memiliki class
relasi.
tempat
Sebuah
dia
relationship
composition digambarkan sebagai garis dengan ujungberbentuk jajaran genjang berisi solid. 2.
Dependency Kadangkala sebuah kelas menggunkana elas yang
lain.
Hal
ini
disebut
dependency.
Umumnya penggunaan dependency digunakan unutk menunjukkan operassi pada suatu kelas yang menggunakan kelas lain. Agregation 3.
Mengindikasikan
keseluruhan
bagian
relationship dan biasanya disebut sebagai relasi ”mempunyai sebuah” atau ”bagian dari” sebuah agregation digambarkan sebagai sebuah garis dengan sebuah jajaran genjang yang tidak berisi solid.
43
Tabel 2.4 Notasi class diagram (lanjutan) 4.
Generalization Sebuah relasi generalization sepadan dengan sebuah
relasi
berorientasi
inheritance
objek.
pada
Sebuah
konsep
generalization
dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang mengarah ke kelas ”parent”-nya/ induknya.
Gambar 2.7 Contoh class diagram (Fowler, 2005)
4. Sequence Diagram Sebuah sequence diagram secara khusus menjabarkan akivitas sebuah scenario tunggal, diagram tersebut menunjukkan objek contoh dan pesan-pesan yang melewati objek-objek didalam use case diagram (Fowler, 2005:81). Sequence diagram menunjukkan interaksi dengan menampilkan partisipan dengan garis pengurutan pesan dari atas ke bawah.
44
alirsecara vertikal dan
Sequence diagram biasa digunakan untuk menggambarkan scenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian (event) untuk menghasilkan output tertentu. Masingmasing objek termasuk aktor memiliki lifeline vertical. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainya, Tabel 2.5 Notasi sequnce diagram (Fowler, 2005) No
Notasi
1
Keterangan Frame,
digunakan
untuk
menggambarkan
sebuah interaksi. 2
Lifeline, digunakan untuk mempresentasikan sebuah individu dalam interaksi dan hanya sebuah entitas interaksi.
3
Execution Specification, digunakan untuk mengambarkan spesifikasi dari sebuah unit kelakuan atau aksi antar lifeline.
4
Pesan 1: message
5
(message),
digunakan
untuk
mendeskripsikan pesan yang ada antar lifeline. Lost
Message,
menggambarkan
digunakan sebuah
pesan
untuk yang
mendefinisikan komunikasi particular antara lifelines dalam interaksi lifeline n+1 ke lifeline n. 6
Found
Message,
menggambarkan
digunakan sebuah
pesan
untuk yang
mendefinisikan komunikasi particular antara lifelines dalam interaksi lifeline n ke lifeline n+1. 7
Objek,
digunakan
untuk
menggambarkan
pelaku atau pengguna dalam usecase. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu.
45
Tabel 2.5 Notasi sequnce diagram (lanjutan) 8
Aktor,
digunakan untuk
menggambarkan
pelaku atau pengguna dalam use case. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu.
Gambar 2.8 Contoh sequence diagram (Fowler, 2005) 2.4
Basis Data Basis data terdiri dari dua kata yaitu Basis dan Data. Basis kurang lebih
dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul. Sedangkan Data adalah representasi fakta dunua nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, dan lain-lain) barang, hewan, peristiwa, konsep, keadaan dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasi. Basis data sendiri dapat didefinisikan dengan sejumlah sudut pandang seperti: (Fathansyah, 1999:2) 1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
46
2. Kumpulan data yang saling berhubungan yang dapat disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis Perancangan basis data diperlukan, agar kita bisa memiliki basis data yang kompak dan efisien. Salah satu caranya dengan membuat Diagram Keterhubungan Entitas. 2.4.1 Keuntungan basis data Bila dibandingkan dengan sistem pemrosesan file yang didukung oleh sistem operasi konvensional, maka penggunaan basis data akan memperoleh keuntungan-keuntungan sebagai berikut: 1. Reduksi duplikasi data (minimum redundancy data pada gilirannya akan mencegah inkosistensi dan isolasi data). 2. Kemudahan, kecepatan dan efisiensi (data sharing dan availability) akses (pemanggilan) data. 3. Penjagaan integritas data 4. Menyebabkan data mejadi self-documented dan self descriptive. 5. Mereduksi biaya pengembangan perangkat lunak. 6. Meningkatkan factor keamanan data (security)
2.4.2 Model Keterhubungan Entitas (Model Entity-Relationship) Ada dua komponen utama pembentuk Model keterhubungan entitas yaitu entitas (entity) dan relasi (relation). Kedua komponen ini dideskripsikan lebih jauh melalui sejumlah Atribut atau property 1. Entitas dan himpunan entitas (entitas sets)
47
Entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut. Berikut gambar himpunan entitas mahasiswa dapat dilihat pada gambar……
Gambar 2.9 Contoh entity relationship
2. Atribut Setiap
entitas
pasti
memiliki
atribut
yang
mendeskripsikan
katarakteristik (propeti) dari Entitas tersebut 3. Relasi dan himpunan relasi (Relationship Sets) Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitas tersebut membentuk himpunan relasi (Fathansya, 199 :64-66)
2.4.3 Diagram Entity-Relationship (Diagram E-R) Model keterhubungan entitas yang berisi komponen-komponen himpunan entitas dan himpunan relasi masing-masing digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R)(Fathansyah, 1999:70)
48
Notasi-notasi simbol didalam Diagram E-R yang digunakan adalah: 1. Persegi panjang, menyatakan himpunan entitas. Gambar dapat dilihat pada gambar 2. Lingkaran lonjong, menyatakan atribut (atribut yang berfungsi sebagai key digaris bawahi 3. Belah Ketupat, menyatakan himpunan relasi
A
E
R
Gambar 2.10 Notasi diagram E-R
2.4.3.1 Diagram E-R dengan Kamus Data Objektif utama dari pembuatan Digram E-R adalah untuk menunjukkan objek-objek (himpunan aktfitas) apa saja yang ingin dilibatkan dalam sebuah basis data dan bagaimana hubungan yang terjadi diantara objek-objek tersebut. Pada sebuah sistem yang ruang lingkupnya lebar dan kompleks, penggambaran atribut dalam sebuah Diagram E-R sering kali malah mengganggu objektid yang ingin dicapai tersebut. Kita dapat memisahkan pendeklarasian atribut-atribut ini dari Diagram E-R dan menyatakan dalam sebuah kamus data berisi daftar atribut yang diapit oleh kurung kurawal („{„ dan „}‟). Atribut yang berfungsi sebagai key juga dibedakan dengan yang bukan key dengan menggaris bawahi atribut tersebut. Karena itu, kita diperbolehkan untuk menggambarkn Diagram E-R dengan tambahan kamus data seperti contoh:
49
N Mahasiswa
N Mempelajari
N Kuliah
1 Mengajar
Dosen
Gambar 2.11 Keterangan diagram E-R kamus data
Keterangan untuk gambar diatas sebagai berikut : Kamus Data: Mahasiswa={nim, nama_mhs, alamat_mhs, tgl_lahir} Kuliah={kode_kul, nama_kul, sks, semester} Dosen={nama_dos, alamat_dos} mempelajari={nim, kode_kul, indeks_nilai} mengajar={kode_kul,nama_dos, waktu, tempat}
2.4.4 Kardinalitas/derajat relasi Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas
relasi
yang
terjadi
diantara
dua
himpunan
entitas(misalnya A dan B dapat berupa: 1. Satu ke Satu (One to One) Satu ke satu artinya setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B dan begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
50
Gambar 2.12 Satu ke satu (fathansyah, 1999) 2. Satu ke Banyak (One to Many) Satu ke banyak artinya setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak sebaliknya. Dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas himpunan entitas A
Gambar 2.13 Satu ke banyak (fathansyah, 1999) 3. Banyak ke Banyak (Many to Many) Satu ke banyak artinya setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B dan demikian juga sebalikya. Dimana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas A.
51
Gambar 2.14 Banyak ke banyak (fathansyah, 1999)
2.5
World Wide Web (WWW) World Wide Web (WWW), lebih dikenal dengan web, merupakan salah
satu layanan yang didapat oleh pemakai komputer yang terhubung ke Internet. Web pada awalnya adalah ruang informasi dalam Internet, dengan menggunakan teknologi hiperteks (hypertext), pemakai dituntun untuk menemukan informasi dengan mengikuti tautan (link) yang disediakan dalam dokumen web yang ditampilkan dalam penjelajah web. Kini Internet identik dengan web, karena kepopuleran web sebagai standar antar muka pada layanan-layanan yang ada di Internet, dari awalnya sebagai penyedia informasi, kini digunakan juga untuk komunikasi dari e-mail, chatting, hingga melakukan transaksi bisnis (commerce). Web memudahkan pengguna komputer untuk berinteraksi dengan pengguna Internet lainnya dan untuk menelusuri informasi di dunia maya (Betha dan Husni, 2007:1).
52
2.6
Fotografi Sejarah fotografi berasal yang berawal dari digunakannya pelat fotografi
yang terbuat dari gelas. Selanjutnya digunakan gelatin, yang diikuti dengan ditemukannya film hitam putih hingga foto berwarna. Dasar dari tebentuknya objek fotografi adalah terjadinya proses focus sinar pada area sensitive. Hingga kini, proses tersebut menjadi dasar dalam dunia fotografi pada umumnya. Area sensitive
tersebut
kemudia
diproses
menggunakan
bahan-bahan
kimia
menghasilkan bentukan objek, baik gambar negative maupun gambar positif. (Edi s. 2007) Istilah fotografi berasal dari dua kata dalam bahasa Yunani, yakni Photos yang berarti cahay dan Graphein yang berarti menggambar. Sementara itu, kata kamera berasal dari bahasa latin Camera Obscura yang berarti kamar gelap atau “dark room”. Camera Obscura justru telah ditemukan beratus-ratus tahun sebelum fotografi dikenal seperti saat ini.
Gambar 2.15 Camera obscura Pada gambar diatas diperlihatkan prinsip kuno kamar gelap yang menjadi dasar fotografi modern saat ini. Sinar akan masuk kedalam kamar gelap melalui lubang kecil sehingga akhirnya akan membentuk objek dari luar kamar gelap menjadi bayangan objek yang terbalik di dinding kamar gelap. Diyakini prinsip itu ditemukan pada pemerintahan Yunani kuno oleh Aristoteles pada tahun 384 SM-322 SM dan kemudian ditulis ulang oleh Leonardo DaVinci (1452-1519).
53
Pada abad 16 perbaikan dilakukan pada sistem kamar gelap dan lubang pin-hole kamera. Sistem itu menghasilkan gambar yang terlalu gelap sehingga ditambahkan lensa optis untuk meningkatkan kecerahan gambar. Prinsip kamera dengan penambahan lensa optis tersebut telah dibuat di Inggris pada tahun 1770 dengan ukuran 6 cm x 6 cm. Tipe kamera itulah yang mendasari terbentuknya sistem kamera SLR dengan menempatkan cermin untuk menghasilkan gambar yang semakin baik. Tambahan beberapa cermin pada kamera enghasilkan gambar yang tidak terbalik. Beberapa sistem mekanis ditambakan disertai dengan perbaikan posisi lensa sehingga gambar bisa menjadi terang dan lebih fokus. Sistem Camera Obscura tersebut semakin berkembang dengan ditempatkannya beberapa lensa pada posisi tertentu sehingga kecerahan gambar dapat terbentuk secara sempurna.
Gambar 2.16 Kamera SLR pertama
Perkembangan awal fotografi berjalan seiring dengan ditemukannya bebrapa fungsi baru yang diterapkan pada kamera, seperti teknik-teknik mekanis dan kimiawi untuk menghasilkan rekaman objek.
54