BAB 2 LANDASAN TEORI
2.1 2.1.1
Optimalisasi Definisi Optimalisasi Optimalisasi adalah tindakan untuk memperoleh hasil yang terbaik dengan
keadaan yang diberikan. Dalam desain, konstruksi, dan pemeliharaan dari sistem teknik, harus diambil beberapa teknologi dan keputusan managerial dalam beberapa tahap. Tujuan akhir dari semua keputusan seperti itu adalah meminimalkan upaya yang diperlukan atau untuk memaksimalkan manfaat yang diinginkan. M engacu pada pendapat Singiresu S Rao, John Wiley dan Sons (2009) optimalisasi juga dapat didefinisikan sebagai proses untuk mendapatkan keadaan yang memberikan nilai maksimum atau minimum dari suatu fungsi. Hal ini dapat dilihat dari gambar 2.1, bahwa jika titik x* berkaitan dengan nilai minimum fungsi f(x), titik yang sama juga berkaitan dengan nilai maksimum dari negatif fungsi tersebut –f(x). Tanpa menghilangkan keumumannya, optimasi dapat diartikan meminimalkan, karena maksimum suatu fungsi dapat diperoleh melalui minimum dari negatif fungsi yang sama.
8
Gambar 2. 1 Minimum dari f(x) sama dengan Maksimum dari –f(x)
2.1.2
Metode Optimalisasi M etode mencari optimum dikenal sebagai teknik mathematical programming
dan biasa dipelajari sebagai bagian riset operasi. Riset operasi adalah cabang matematika yang berkaitan dengan penerapan metode ilmiah dan teknik pengambilan keputusan dan penetapan penyelesaian terbaik atau optimal. Pada awal dari subyek riset operasi dapat ditelusuri pada periode awal Perang Dunia II, selama perang, militer inggris menghadapi masalah mengalokasikan sumber daya yang sangat langka dan terbatas (seperti pesawat tempur, radar, dan kapal selam) untuk beberapa kegiatan (penyebaran ke berbagai target dan tujuan). Karena tidak ada metode sistematis yang tersedia untuk memecahkan masalah alokasi sumber daya, militer diatas (tim matematikawan) mengembangkan metode untuk memecahkan masalah secara ilmiah. M etode yang dikembangkan oleh tim
9
berperan penting dalam memenangkan pertempuran udara oleh inggris. M etode tersebut seperti program linier, yang dikembangkan sebagai hasil riset pada militer. Perkembangan metode optimalisasi semakin mengalami kemajuan hingga mas a modern, hal ini dapat dilihat dengan semakin banyak metode optimasi yang ditemukan dan dapat menghasilkan solusi yang semakin optimal. M etode optimasi yang popular dan banyak dipakai antara lain seperti Dynamic Programming, Integer Programming, Game Theory, dan metode optimasi modern. M etode optimasi modern juga disebut metode optimasi non-tradisional, muncul sebagai metode yang ampuh dan popular untuk menyelesaikan masalah teknik optimasi yang kompleks. M etode yang termasuk seperti algoritma genetik, optimasi partikel swarm, optimasi koloni semut, optimasi berbasis jaringan syaraf tiruan, optimasi fuzzy, dan simulated annealing.
2.2
Informasi Suatu sistem tanpa informasi akan tidak berguna karena suatu sistem yang kurang
mendapatkan informasi akan mengalami kemacetan dan akhirnya berhenti. Dengan demikian informasi sangat penting bagi suatu sistem. M enurut Jogiyanto (2001) informasi adalah kumpulan data-data penting yang dapat memberikan pengetahuan yang berguna. Informasi sendiri berasal dari data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Jadi ada suatu proses transformasi data menjadi suatu informasi. Sumber informasi adalah data yang merupakan kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian-kejadian (event) adalah sesuatu
10
yang terjadi pada saat tertentu, kesatuan nyata (fact and entity) berupa objek nyata seperti tempat, benda dan orang yang betul-betul ada dan terjadi.
2.3
Kantor Pos
2.3.1
Definisi Kantor Pos Kantor pos merupakan tempat yang berfungsi sebagai penyedia jasa layanan
pengiriman barang. Kantor pos terdapat disetiap negara didunia termasuk di Indonesia. Di Indonesia sendiri kantor pos memiliki fungsi lain selain sebagai penyedia jasa layanan pengiriman barang seperti tempat pembayaran air, listrik dan telepon, serta tempat keluar masuknya uang dari tabungan, pinjaman, dan pengiriman uang dengan wesel.
2.3.2
Paket Pos Kantor pos memiliki berbagai produk yang ditawarkan kepada masyarakat.
Produk yang diberikan memiliki 3 kategori utama yaitu paket pos, layanan keuangan dan logistik. Paket pos sendiri memiliki banyak tipe lagi seperti tipe domestik, internasional, admail dan filatelli. Kategori paket pos domestik adalah tipe yang dipakai pada skripsi ini. Produk paket pos domestik mempunyai 6 jenis produk yaitu : 1.
Pos Express Pos express merupakan layanan istimewa dari kantor pos indonesia dengan tujuan kota tertentu di Indonesia. Kecepatan dan keakuratan pengiriman
11
diatas produk lain. Waktu yang diperlukan untuk sampai tujuan pengiriman adalah satu hari 2. Pos Kilat Khusus Pos Kilat Khusus memiliki waktu kirim lebih lama dibandingkan dengan pos express, maksimal dua hari untuk tujuan ibukota provinsi dan empat hari untuk tujuan ibukota kabupaten 3. Pos Kilat Pos kilat memiliki waktu kirim lebih lama dari pos kilat khusus, namun masih memiliki prioritas dibandingkan paket pos standar dan biasa. 4. Surat Biasa M erupakan produk layanan pengiriman surat yang standar. Tingkat prioritas pengiriman paling rendah diantara produk pos lainnya. Harga yang ditawarkan juga jauh lebih murah dibanding dengan produk lainnya. Surat biasa datanya tidak tercatat, sehingga lebih sulit untuk dilacak. 5. Surat Biasa tercatat Hampir sama dengan produk surat biasa, namun tingkat prioritasnya setingkat diatas surat biasa dan datanya tercatat sehingga memudahkan untuk dilacak keberadaannya. 6. Paket Pos Standar Waktu pengiriman yang dibutuhkan untuk paket pos standar adalah empat hari. Namun tingkat prioritasnya masih dibawah pos kilat.
12
2.3.3
Pendistribusian Pendistribusian dapat diartikan sebagai kegiatan pemasaran yang berusaha
memperlancar dan mempermudah penyampaian barang dan jasa dari produsen kepada konsumen, sehingga penggunaannya sesuai dengan yang diperlukan. Proses distribusi merupakan aktivitas pemasaran yang mampu : 1. M enciptakan nilai tambah produk 2. M emperlancar arus saluran pemasaran secara fisik dan non-fisik. Yang dimaksud dengan arus pemasaran adalah aliran kegiatan yang terjadi diantara lembaga-lembaga pemasaran yang terlibat di dalam proses pemasaran.
2.4
Graph Suatu graph merupakan sepasang set dari (V, E), dimana V adalah himpunan titik
dan E adalah himpunan simpul yang dibentuk oleh pasangan simpul. E adalah multiset, dengan kata lain unsur-unsurnya dapat muncul lebih dari sekali sehingga setiap elemen memiliki sebuah keanekaragaman (Rouhonen, Keijo yang diterjemahkan oleh Tamminen, Kung-Chung Lee, & Robert, 2008). Graph dapat dinotasikan sebagai G(V,E). titik (V) biasanya dilabeli dengan huruf (a, b, c,…dst), nomor (1, 2, 3,…dst) atau gabungan keduanya. Contoh graph dapat dilihat pada gambar 2.2 dibawah ini :
13
Gambar 2. 2 G raph
2.5
Travelling S alesman Problem (TS P) Travelling Salesmen Problem (TSP) merupakan masalah klasik yang mencoba
mencari rute atau jarak terpendek yang dilalui salesmen yang ingin mengunjungi beberapa tempat yang harus mendatangi tiap tempat masing-masing satu kali. Secara formal TSP merupakan sebuah graph tidak langsung, dimana tiap titik simpul graph memiliki nilai dan akan dicari sirkuit Hamilton dengan nilai total minimum (Letchford, Adam, 2010). Permasalahan TSP tidak hanya mengenai masalah perjalanan pedagang, namun penerapaannya bisa dalam kasus sehari-hari, misalnya seperti : 1. Pengiriman surat dan barang. 2. M asalah Transportasi. 3. Delivery order 4. Analisis rangkaian air atau listrik. Inti dari permasalahan travelling salesmen problem (TSP) adalah menemukan atau mencari jarak dan rute terpendek. Travelling Salesmen Problem (TSP) juga merupakan masalah yang terkenal dalam teori graf.
14
Terdapat beragam teori algoritma yang dapat digunakan untuk menyelesaikan permasalahan Travelling Salesmen Problem (TSP) seperti algoritma brute force, algoritma greedy, algoritma genetic, algoritma branch and bound, dan lain-lain. Contoh travelling salesman problme dapat dilihat pada gambar 2.3.
Gambar 2. 3 Contoh rute Travelling Salesman Problem
2.6 2.6.1
Metode S imulated Annealing Algoritma S imulated Annealing Pada tahun 1953, M etropolis mengembangkan metode untuk memecahkan
masalah optimasi dengan cara meniru sistem termodinamika yang pergi dari satu tingkat energi ke tingkat lainnya. M etropolis memikirkan hal ini setelah melakukan simulasi sebuah pemandian air panas pada bahan kimia tertentu. M etode ini mensyaratkan bahwa sistem partikel menunjukkan tingkat energi dengan cara memaksimalkan entropi
15
termodinakima pada nilai suhu tertentu dan juga tingkat energi rata-rata harus proporsional dengan temperatur yang konstan. M etode ini disebut simulated annealing. Kirkpatrick awalnya berpikir untuk menggunakan simulated annealing pada masalah yang berkaitan dengan komputer. Kirckpatrick melakukan hal tersebut pada tajun 1983 dan menerapkan simulated annealing untuk berbagai masalah optimasi. Kemudian semakin banyak orang lain yang menerapkan metode simulated annealing untuk permasalahan optimasi lainnya. Simulated annealing adalah algoritma yang bagus karena relatif umum dan cenderung untuk tidak terjebak dalam lokal minimum atau maksimum. M etode simulated annealing berdasarkan pada pendinginan dari logam. Jika logam didinginkan perlahan-lahan, akan terbentuk sebuah potongan logam yang halus karena molekulnya telah masuk masuk ke dalam struktur kristal. Struktur kristal mewalkili keadaan energi minimum atau solusi yang optimal untuk permasalahan optimalisasi. Jika logam didinginkan terlalu cepat, logam akan membentuk potongan logam bergerigi kasar dan dilapisi dengan benjolan. Benjolan dan tepi bergerigi mewakili lokal minimum dan maksimum. M etropolis menciptakan sebuah algoritma yang juga dikenal sebagai aturan metropolis dari propabilitas untuk mensimulasikan pendinginan logam melalui serangkaian gerakan. Pada tiap pergerakan, sistem memiliki kemungkinan untuk merubah konfigurasi saat ini menjadi lebih buruk. Peluang perubahan konfigurasi dapat dihitung dari
16
⎧ 1 ⎪ ⎪ P( ΔE , T) ⎨ ⎪exp ⎛⎜ − ΔE ⎞⎟ ⎪⎩ ⎝ KT ⎠
bila ΔE ≤ 0
bila ΔE > 0 (1)
dimana ΔE: Perubahan energi/konfigurasi, T: Temperatur dan K : Konstanta Bolztmann (1.3860 x 10−23 JK−1 ) dan (8.6174 x 10−5 eV K −1 ) . Persamaan (1) ini juga disebut kriteria metropolis. Kemampuan untuk mengubah konfigurasi membuat simulated annealing memungkinkan untuk melompat keluar dari lokal maksima dan
minima dimana sebagian besar algoritma lain terjebak di dalamnya. Beberapa parameter diperlukan dalam implementasi simulated annealing dan telah dirangkum baik oleh Davidson dan Harel : •
Himpunan konfigurasi atau keadaan dari sistem, termasuk konfigurasi awal (yang sering dipilih secara acak).
•
Sebuah aturan generasi untuk konfigurasi baru, yang biasanya diperoleh dengan mendefinisikan lingkungan konfigurasi masing-masing dan memilih konfigurasi berkutnya secara acak dari lingkungan sekitar konfigurasi saat ini.
•
Target, atau biaya, fungsi, harus diminimalkan melalui konfigurasi ruang (ini adalah analog dari energi).
•
Jadwal pendinginan dari parameter kontrol, termasuk nilai-nilai awal dan aturan untuk kapan dan bagaimana cara mengubahnya (ini adalah analog dari suhu dan penurunannya).
17
•
Kondisi terminasi, yang biasanya didasarkan pada waktu dan nilai dari fungsi biaya atau parameter kontrol.
Pada algoritma simulated annealing pertama perlu ditentukan awal dan akhir dari suhu. Hal ini penting karena suhu (T) akan digunakan dalam persamaan probabilitas. Persamaan probabilitas, seperti yang didefinisikan oleh metropolis pada persamaan (1), dimana K merupakan konstanta, sedangkan ΔE didapat dari
ΔE = E 2 − E1 (2) dimana E 2 adalah konfigurasi baru, dan E1 adalah konfigurasi saat ini. Jika konfigurasi baru memiliki biaya yang lebih kecil dan lebih baik daripada konfigurasi saat ini maka konfigurasi baru akan diterima secara otomatis. Hal ini juga berlaku jika diterapkan kedalam persamaan metropolis (1). Simulated annealing dimulai dengan memilih beberapa konfigurasi acak yang memecahkan masalah. Ada sebuag fungsi objektif yang menentukan biaya dari konfigurasi yang diberikan. Fungsi inilah yang sedang diminimalkan (atau dimaksimalkan tergantung dari solusi optimal yang ingin dicari. Biaya asli dipilih secara acak dari konfigurasi kemudian dihitung. Mengingat masih berada pada saat suhu asli, simulated annealing menghasilkan n konfgurasi baru satu persatu, dimana n adalah angka yang dipilih user sebelum simulated annealing dimulai. Setiap konfigurasi baru berasal dari konfigurasi lama. Biaya dari dua konfigurasi kemudian dibandingkan. Jika konfigurasi baru lebih baik dari konfigurasi saat ini maka secara otomatis diterima. Jika konfigurasi baru yang lebih buruk dari yang ada saat ini maka diterima atau tidaknya berdasarkan dari perhitungan propabilitas,
18
dimana E1 adalah biaya dari konfigurasi saat ini dan E 2 adalah biaya dari konfigurasi baru. Setelah proses menemukan konfigurasi baru, kemudian dibandingkan dan ditentukan akan diterima atau tidaknya konfigurasi baru, langkah selanjutnya adalah perubahan suhu. Laju perubahan suhu berdasarkan pada masalah spesifik dan dan jumlah waktu yang user inginkan untuk simulated annealing berjalan. Jumlah iterasi (n) juga dipilih oleh user. Proses ini kemudian akan diulangi sampai suhu akhir tercapai. Ketika suhu mendingin, probabilitas untuk memilih konfigurasi baru menjadi berkurang, sama seperti molekul dalam sepotong logam yang tidak bergerak banyak.
2.6.2
Simulated Annealing dan Travelling S alesman Problem
Metode simulated annealing dapat dipakai pada berbagai masalah optimasi, salah satunya adalah Travelling Salesmen Problem (TSP). Dalam TSP akan diberikan sejumlah n node yang terhubung, dan akan dicari rute optimal dengan melewati setiap node masing-masing satu kali dan kembali ke node awal. Rute optimal sendiri memiliki arti seperti jalur dengan jumlah biaya terkecil, atau waktu tempuh yang paling cepat. Jika terdapat banyak node maka akan membutuhkan waktu yang sangat lama untuk dapat menemukan jalur optimum. Simulated Annealing dapat diterapkan dalam kasus TSP. Algoritma akan
dimulai pada suhu acak. Kemudian urutan bergerak akan diambil selama suhu tersebut. Dalam tiap gerakan akan diciptakan konfigurasi baru dan kemudian akan diterima atau ditolak sesuai dengan perhitungan persamaan probabilitas (1). Ketika sebuah gerakan diterima suhu akan berubah. Proses gerakan akan dilakukan secara berulang-ulang
19
hingga suhu mencapai suhu akhir. Semakin besar tinggi suhu maka akan semakin besar kemungkinan terjadi perpindahan yang kurang optimal. Konfigurasi atau Energi dalam simulated annealing merupakan biaya atau tujuan dari pencarian solusi permasalahan optimasi. Dalam TSP energi didapat dari jarak yang ditempuh saat melewati tiap node. Energi dapat dicari dengan menggunakan persamaan n
E = ∑ di i=1
(3) dimana
E : Fungsi energi setelah iterasi, di : jarak antara node(i) dan node(i+1),
n : jumlah node. Algoritma simulated annealing juga bergantung pada nilai temperatur suhu dan nilai temperatur suhu akan mengalami penurunan pada tiap iterasi. Penurunan suhu tidak bisa dilakukan dengan sembarangan. Terdapat fungsi cooling schedule yang digunakan untuk mencari nilai suhu yang telah turun.
⎛T ⎞ Ti = T0 ⎜⎜ n ⎟⎟ ⎝ T0 ⎠
i N
(4) dimana Ti : temperatur cooling schedule ke-I, T0 : temperatur awal, Tn : temperatur cooling schedule, N : jumlah iterasi, dan i : iterasi (nilai i : 1,2,3,…).
20
Dalam menyelesaikan masalah TSP dengan metode simulated annealing diperlukan beberapa langkah proses perhitungan sebelum mencapai solusi optimal. Proses yang dilakukan adalah : 1. Membangkitkan kondisi(state) awal dan temperatur. 2. Menghitung energi awal yang dihasilkan pada kondisi awal. 3. Update state dan hitung kembali energi yang dihasilkan setelah dilakukan update. 4. Bangkitkan bilangan random berdistribusi uniform [0,1], dilambangkan dengan (p). ⎛ ΔE ⎞ ⎟ update state diterima, selain dari kondisi ini ⎝ KT ⎠
5. Uji kriteria, bila p < exp⎜ −
ditolak.nilai E dapat dicari dengan menggunakan persamaan (3). 6. Turunkan temperatur (T) dengan fungsi cooling schedule (4). 7. Ulangi langkah ke-3 sampai mencapai kriteria. Jika telah mencapai kriteria maka berhenti.
Flowchart dari algoritma simulated annealing (Larrosa, 2008) dapat dilhat pada gambar 2.4.
21
Gambar 2. 4 Flowchart Algoritma Simulated Annealing
2.7
S ystem Development Life Cycle (S DLC)
System development life cycle atau SDLC merupakan siklus pengembangan sistem. SDLC berfungsi untuk menggambarkan tahapan utama dan langkah dalam pengembangan sistem. Secara garis besar tahapan dibagi menjadi empat kegiatan utama, yaitu analisis, desain, impelemtasi, dan perawatan. Software yang dikembangkan
22
berdasarkan SDLC akan menghasilkan sistem dengan kualitas yang tinggi, memenuhi harapan penggunanya, tepat dalam waktu dan biaya, bekerja dengan efektif dan efisien dalam infrastruktur teknologi informasi yang ada atau yang direncanakan, serta murah dalam perawatan dan pengembangan lebih lanjut (Roger S. Pressman, 2005). SDLC memiliki banyak bentuk model, salah satu yang terkenal dan sering dipakai adalah model waterfall. Sesuai dengan namanya waterfall (air terjun), bentuk diagram prosesnya mirip dengan air terjun yang bertingkat. Alur waterfall model dapat dilihat pada gambar 2.4.
Gambar 2. 5 Alur waterfall model
Penjelasan tahapan-tahapan model waterfall adalah sebagai berikut : 1. Perancangan Sistem (System Engineering)
Perancangan sistem sangat diperlukan, karena piranti lunak biasanya merupakan bagian dari suatu sistem yang lebih besar. Pembuatan sebuah piranti lunak dapat dimulai dengan melihat dan mencari apa yang dibutuhkan oleh sistem. Dari kebutuhan sistem tersebut akan diterapkan kedalam piranti lunak yang dibuat.
23
2. Analisa Kebutuhan Piranti Lunak (Software Requirement Analysis)
Merupakan proses pengumpulan kebutuhan piranti lunak. Untuk memahami dasar dari program yang akan dibuat, seorang analisis harus mengetahui ruang lingkup
informasi,
fungsi-fungsi yang dibutuhkan,
kemampuan kinerja yang ingin dihasilkan dan perancangan antarmuka pemakai piranti lunak tersebut. 3. Perancangan (Design)
Perancangan
piranti
lunak
merupakan
proses
bertahap
yang
memfokuskan pada empat bagian penting, yaitu: Struktur data, arsitektur piranti lunak, detil prosedur, dan karakteristik antar muka pemakai. 4. Pengkodean (Coding)
Pengkodean piranti lunak merupakan proses penulisan bahasa program agar piranti lunak tersebut dapat dijalankan oleh mesin. 5. Pengujian (Testing)
Proses ini akan menguji kode program yang telah dibuat dengan memfokuskan pada bagian dalam piranti lunak. Tujuannya untuk memastikan bahwa semua pernyataan telah diuji dan memastikan juga bahwa input yang digunakan akan menghasilkan output yang sesuai. Pada tahap ini pengujian ini dibagi menjadi dua bagian, pengujian internal dan pengujian eksternal. Pengujian internal bertujuan menggambarkan bahwa semua statement sudah dilakukan
pengujian,
sedangkan
pengujian
eksternal bertujuan
untuk
menemukan kesalahan serta memastikan output yang dihasilkan sesuai dengan yang diharapkan.
24
6. Pemeliharaan (Maintenance)
Proses ini dilakukan setelah piranti lunak telah digunakan oleh pemakai atau konsumen. Perubahan akan dilakukan jika terdapat kesalahan, oleh karena itu piranti lunak harus disesuaikan lagi untuk menampung perubahan kebutuhan yang diinginkan konsumen.
2.8
Perancangan Basis Data
Basis data atau database menurut Connolly (2002,p14) adalah kumpulan data yang dihubungkan secara bersama-sama, dan gambaran dari data yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Berbeda dengan sistem file yang menyimpan data secara terpisah, data pada basis data tersimpan secara terintegrasi. Basis data bukan menjadi milik dari suatu departemen tetapi sebagai sumber daya perusahaan yang dapat digunakan bersama. Banyak terdapat aplikasi yang mengatur manajemen basis data, diantaranya SQL dan Micorosft Access. Ada kalanya suatu program aplikasi memerlukan basis data untuk mendukungnya. Basis data diperlukan jika data yang dimiliki terlalu banyak jumlahnya, atau apabila pengguna ingin melakukan fungsi menambahkan, mengubah, atau menghapus data yang akan digunakan dalam menjalankan program aplikasi.
25
2.9 2.9.1
Unified Modelling Language (UML) Definisi UML Unified Modelling Language (UML) adalah sebuah “bahasa yang telah” menjadi
standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah system (Sri Dharwiyanti, 2003). Dalam UML terdapat beberapa diagram yang dapat digunakan sebagai penggambaran dari sistem aplikasi yang dibuat seperti , use case diagram,dan class diagram.
2.9.2
Sequence Diagram Sequence diaram menggambarkan interaksi antar objek di dalam dan disekitar
sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait) (Sri Dharwiyanti, 2003). 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. Contoh sequence diagram dapat dilihat pada gambar 2.5.
26
Gambar 2. 6 Contoh Sequence diagram
2.9.3
Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan system (Sri Dharwiyanti, 2003). 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. Contoh use case diagram dapat dilihat pada gambar 2.6.
27
Gambar 2. 7 Contoh use case diagram
2.10 Delapan Aturan Emas Desain User Interface
Menurut Ben Shneiderman (2005), terdapat 8 aturan yang dapat digunakan sebagai petunjuk dasar untuk merancang suatu user interface yang baik. Delapan aturan yang disebut juga dengan Eight Golden Rules of Interface Design, yaitu : 1. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan.
28
2. Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. 3. Memberikan umpan balik yang informatif
Untuk setiap tindakan operator, sebaiknya disertakan suatu system umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahan. 4. Merancang dialog yang menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana
Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan.
29
6. Mudah kembali ketindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung pusat kendail internal
Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu
pelatihan
untuk
kode,
mnemonic,
dan
urutan
tindakan.