bab 2 landasan teori 2.1 simulasi 2.1.1 pengertian...

21
BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasi Simulasi merupakan salah satu cara untuk memecahkan berbagai persoalan yang dihadapi di dunia nyata (real world). Banyak metode yang dibangun dalam Operations Research dan System Analyst untuk kepentingan pengambilan keputusan dengan menggunakan berbagai analisis data. Pendekatan yang digunakan untuk memecahkan berbagai masalah yang tidak pasti dan kemungkinan jangka panjang yang tidak dapat diperhitungkan dengan seksama adalah dengan simulasi. Simulasi adalah suatu peniruan sesuatu yang nyata, keadaan sekelilingnya (state of affairs), atau proses. Aksi melakukan simulasi sesuatu secara umum mewakilkan suatu karakteristik kunci atau kelakuan dari sistem-sistem fisik atau abstrak.(Wikipedia, 2009). 2.1.2 Struktur Dasar Model Simulasi Setiap model umumnya akan memiliki unsur-unsur berikut ini: 1. Komponen-komponen model, yakni entitas yang membentuk model, didefinisikan sebagai objek sistem yang menjadi perhatian pokok. 2. Variabel, yakni nilai yang selalu berubah. 3. Parameter, yakni nilai yang tetap pada suatu saat, tapi bisa berubah pada waktu yang berbeda.

Upload: nguyenliem

Post on 02-Mar-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

BAB 2

LANDASAN TEORI

2.1 Simulasi

2.1.1 Pengertian Simulasi

Simulasi merupakan salah satu cara untuk memecahkan berbagai persoalan yang

dihadapi di dunia nyata (real world). Banyak metode yang dibangun dalam Operations

Research dan System Analyst untuk kepentingan pengambilan keputusan dengan

menggunakan berbagai analisis data. Pendekatan yang digunakan untuk memecahkan

berbagai masalah yang tidak pasti dan kemungkinan jangka panjang yang tidak dapat

diperhitungkan dengan seksama adalah dengan simulasi.

Simulasi adalah suatu peniruan sesuatu yang nyata, keadaan sekelilingnya (state

of affairs), atau proses. Aksi melakukan simulasi sesuatu secara umum mewakilkan

suatu karakteristik kunci atau kelakuan dari sistem-sistem fisik atau abstrak.(Wikipedia,

2009).

2.1.2 Struktur Dasar Model Simulasi

Setiap model umumnya akan memiliki unsur-unsur berikut ini:

1. Komponen-komponen model, yakni entitas yang membentuk model,

didefinisikan sebagai objek sistem yang menjadi perhatian pokok.

2. Variabel, yakni nilai yang selalu berubah.

3. Parameter, yakni nilai yang tetap pada suatu saat, tapi bisa berubah pada

waktu yang berbeda.

Page 2: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

7

4. Hubungan fungsional, yakni hubungan antar komponen-komponen model.

5. Konstrain, yakni batasan dari permasalahan yang dihadapi.

2.1.3 Langkah-langkah Simulasi

Dalam melakukan simulasi terdapat langkah-langkah yang perlu dilakukan:

1. Pendefinisian Sistem, menentukan batasan sistem dan identifikasi variabel

yang signifikan.

2. Formulasi Model, yakni merumuskan hubungan antar komponen model.

3. Pengambilan Data, yakni identifikasi data yang diperlukan model sesuai

tujuan pembuatannya.

4. Pembuatan Model, yakni menyesuaikan penyusunan model dengan jenis

bahasa simulasi yang digunakan.

5. Verifikasi Model, yakni proses pengecekan terhadap model apakah sudah

bebas dari kesalahan. Dalam tahap ini perlu disesuaikan dengan bahasa

simulasi yang digunakan.

6. Validasi Model, yakni proses pengujian terhadap model apakah sudah sesuai

dengan sistem nyatanya.

7. Skenariosasi

Penyusunan skenario terhadap model. Setelah model dianggap valid, maka

berikutnya adalah membuat beberapa skenario atau eksperimen untuk

memperbaiki kinerja sistem sesuai dengan keinginan.

Page 3: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

8

Secara umum jenis-jenis skenario ini adalah:

a. Skenario parameter dilakukan dengan mengubah nilai parameter model.

Skenario jenis ini mudah dilakukan karena kita hanya melakukan

perubahan terhadap nilai parameter model dan melihat dampak terhadap

output.

b. Skenario struktur dilakukan dengan mengubah struktur model. Skenari

jenis ini memerlukan pengetahuan yang cukup tentang sistem agar

struktur baru yang diusulkan dan dieksperimenkan dapat memperbaiki

kinerja sistem.

8. Interpretasi Model, yakni proses penarikan kesimpulan dari hasil output

model simulasi.

9. Implementasi, yakni penerapan model pada sistem nyata.

10. Dokumentasi, yakni proses penyimpanan hasil output model.

2.1.4 Keuntungan dan Kerugian Simulasi

2.1.4.1 Keuntungan Simulasi

Keuntungan dari uji coba dengan menggunakan simulasi adalah sebagai berikut:

1. Mengantisipasi kemungkinan-kemungkinan adanya kesalahan atau kegagalan

sebelum dilakukan implementasi ke dalam sistem yang sesungguhnya.

2. Dengan simulasi kita dapat memberikan gambaran yang jelas tentang sistem

yang akan dibuat.

3. Dengan simulasi kita dapat melakukan evaluasi sistem dalam jangka waktu

yang singkat. Contohnya, jika dalam sistem yang sebenarnya diperlukan

waktu beberapa hari untuk mengetahui hasil dari sistem tersebut namun

Page 4: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

9

dengan simulasi kita dapat mempercepatnya hanya dalam beberapa menit

saja.

2.1.4.2 Kerugian Simulasi

Kerugian dari uji coba dengan menggunakan simulasi adalah sebagai berikut:

1. Hasil dari simulasi kadang-kadang tidak sepenuhnya sesuai dengan keadaan yang

sebenarnya.

2. Untuk melakukan suatu simulasi kadang-kadang membutuhkan biaya yang

mahal dan waktu.

2.2 Traveling Salesman Problem

Traveling Salesman Problem (TSP) merupakan permasalahan optimasi yang

tergolong dalam NP-complete problem. TSP adalah permasalahan seorang sales dalam

menentukan urutan dari sejumlah kota yang harus dilalui, di mana setiap kota hanya

boleh dilalui sekali dan perjalanan berakhir pada kota awal di mana seorang sales

memulai perjalanan. Permasalahan matematik yang berkaitan dengan Traveling

Salesman Problem ini mulai muncul sekitar tahun 1800-an. Masalah ini dikemukakan

oleh dua orang matematikawan, yaitu Sir William Rowan Hamilton yang berasal dari

Irlandia dan Thomas Penyngton Kirkman yang berasal dari Inggris.

TSP adalah permasalahan dalam bidang diskrit dan optimasi kombinatorial

dengan kemungkinan penyelesaian yang sangat banyak. TSP dengan n kota

(1,2,3,4,5,…,n) mempunyai (n-1)!/2 kemungkinan. TSP dengan nilai n yang besar tidak

dapat diselesaikan dengan metode pencarian satu-satu karena membutuhkan waktu yang

sangat lama. Oleh karena itu, dibutuhkan komputer dengan algoritma yang dapat

Page 5: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

10

melakukan perhitungan yang cepat dengan tingkat kesalahan yang lebih kecil daripada

dengan melakukan pencarian satu-satu.

2.3 Teori Graf

Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan

antara objek-objek tersebut. Graf (G) merupakan pasangan himpunan (V,E) dengan

V= himpunan tidak kosong dari titik (vertex), dan

E= himpunan sisi (edge) yang menghubungkan sepasang titik atau dapat ditulis dengan

notasi G= (V , E ).

Titik biasa digunakan untuk melambangkan objek, sedangkan sisi biasa

digunakan untuk melambangkan jalan penghubung antara dua objek. Definisi graf

menyatakan bahwa V tidak boleh kosong, sedangkan E boleh kosong. Jadi, sebuah graf

dimungkinkan tidak mempunyai sisi satu buah pun, tetapi titiknya harus ada minimal

satu. Graf dengan satu titik dan tidak mempunyai sisi disebut graf trivial.

Titik pada graf dapat dinomori dengan huruf, seperti a, b, c, … dengan bilangan

asli 1, 2, 3, ..., atau gabungan keduanya. Sedangkan E adalah sisi yang menghubungkan

titik Vi dengan titik Vj, maka E dapat ditulis sebagai E = ( V i , V j) atau E = ( V i V j).

Secara geometri graf dapat digambarkan sebagai sekumpulan titik di dalam bidang dua

dimensi yang dihubungkan dengan sekumpulan sisi.

Page 6: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

11

Gambar di bawah ini merupakan contoh sebuah graf yang menyatakan peta yang

menghubungkan sejumlah kota di Provinsi Jawa Tengah.

Brebes Tegal

Slawi

Pemalang

Purwokerto

Cilacap

Banjarnegara

Wonosobo

Kebumen

Purworejo

KendalSemarang

Pekalongan

Purbalingga

Magelang

Salatiga

Klaten

Solo

Purwodadi

DemakKudus

Rembang

Blora

Sukoharjo

Wonogiri

SragenBoyolali

Kroya

Temanggung

Gambar 2.1 Peta di Provinsi Jawa Tengah

2.4 Algoritma

Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari

Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada

terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero

Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-

aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik

Arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah

ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah

yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.

Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah

untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara

bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan

Page 7: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

12

untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum

menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal

yang memenuhi kriteria, dalam hal ini berbeda dengan heuristic. Algoritma sering

mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean

dan perbandingan) sampai tugasnya selesai.

Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak

komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara

informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang

singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan

waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.

Gambar 2.2 Diagram Alur Sebuah Algoritma

Page 8: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

13

2.5 NP-Hard dan NP-Complete

Waktu yang dibutuhkan algoritma untuk menghasilkan solusi dari permasalahan

terbagi atas dua, yaitu:

1. Algoritma P (Polynomial Problem)

Polynomial Problem adalah suatu permasalahan di mana waktu yang

dibutuhkan utuk menghasilkan solusi terbatas pada waktu polynomial dalam

tingkat kecil, seperti permasalahan pengurutan (sorting) dengan kompleksitas

waktu O(n log n)

2. Algoritma NP (Non Polynomial Problem)

Algoritma dengan waktu polynomial tidak efisien untuk menyelesaikan

masalah non polynomial karena algoritma polynomial membutuhkan waktu

yang cukup lama untuk menyelesaikan permasalahan skala menengah.

Contoh permasalahan yang menggunakan NP adalah travelling salesman

problem dengan kompleksitas waktu O(n22n) dan permasalahan knapsack

dengan kompleksitas waktu O(2 n/2). NP terbagi menjadi dua, yaitu : NP-

Hard dan NP-Complete. Suatu masalah termasuk ke dalam Np-Complete

apabila dapat dipecahkan dalam waktu polynomial jika dan hanya jika

seluruh masalah NP-Complete juga dapat dipecahkan dalam waktu

polynomial. Jika sebuah masalah NP-Hard dapat dipecahkan dalam waktu

polynomial maka seluruh masalah NP-Complete dapat dipecahkan dalam

waktu polynomial. Seluruh masalah NP-Complete merupakan masalah NP-

Hard, tetapi sebagian masalah NP-Hard belum tentu menjadi masalah NP-

Complete (Horowitz, Sahni dan Rajasekaran, 1998, pp 495-553). Hubungan

Page 9: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

14

antara P, NP, NP-Complete dan NP-Hard dapat dilihat dengan jelas dengan

gambar berikut.

Gambar 2.3 Relasi antara P, NP, NP-Complete dan NP-Hard

2.6 Pencarian (Searching)

Pencarian merupakan kegiatan mendefinisikan ruang masalah untuk masalah

yang dihadapai. Ruang masalah ini dapat digambarkan sebagai himpunan keadaan

(state) atau bisa juga sebagai himpunan rute dari keadaan awal (initial state) menuju

keadaan tujuan (goal state). Langkah kedua adalah mendefinisikan aturan produksi yang

digunakan untuk mengubah suatu state ke state lainnya. Langkah terakhir adalah

memilih metode pencarian yang tepat sehingga dapat menemukan solusi terbaik dengan

usaha yang minimal.

Ada dua metode searching, yaitu:

1. Blind atau un-informed search (pencarian buta atau tidak berbekal informasi)

2. Heuristic atau informed search (pencarian dengan berbekal informasi).

Page 10: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

15

2.6.1 Metode Pencarian Heuristic

Kata Heuristic berasal dari sebuah kata kerja Yunani, heuriskein, yang berarti

‘mencari’ atau ‘menemukan’. Dalam dunia pemrograman, sebagian orang menggunakan

kata heuristic sebagai lawan kata dari algoritmik, di mana kata heuristic ini diartikan

sebagai suatu proses yang mungkin dapat menyelesaikan suatu masalah tetapi tidak ada

jaminan bahwa solusi yang dicari selalu dapat ditemukan.

Heuristic memperbaiki proses pencarian solusi walaupun tidak harus sampai

mengatasi kasus terburuk (worst case scenario). Heuristik ini mengembangkan efisiensi

dalam proses pencarian, namum dengan kemungkinan mengorbankan kelengkapan

(completeness). Algoritma ini biasanya mencari solusi yang dekat dengan solusi terbaik

dan proses pencariannya cepat dan mudah. Terkadang algoritma ini dapat menjadi

akurat dan menemukan solusi terbaik, tetapi algoritma ini tetap disebut heuristic hingga

solusi terbaik itu terbukti untuk menjadi yang terbaik. Fungsi heuristic h(n) adalah

perkiraan biaya termurah dari node n ke node tujuan. Fungsi heuristic melambangkan

cost yang akan dikeluarkan agent jika memilih node tertentu.

2.6.2 Metode A* Heuristic

Metode A* tanpa fungsi heuristic yang baik akan memperlambat pencarian dan

dapat menghasilkan rute yang tidak tepat. Fungsi heuristic yang sempurna akan

membuat metode A* langsung menuju final node tanpa harus mencari kearah lain.

Sehingga jika fungsi heuristicnya terlalu underestimate akan menyebabkan algoritma ini

beranggapan bahwa ada rute lain yang lebih baik. Untuk fungsi heuristic yang

underestimate, bila nilainya terlalu rendah akan menyebabkan algoritma ini seperti

algortima Djikstra’s yang mencari ke segala arah yang mungkin. Hal ini dikarenakan

Page 11: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

16

tidak ada informasi yang cukup mengenai masalah yang dihadapi, sehingga

menyebabkan metode A* melakukan pencarian lebih banyak dan lebih lama.

Dalam ilmu computer, A* (disebut “A star”) adalah sebuah graph atau metode

tree search yang digunakan untuk mencari jalan dari sebuah node awal ke node tujuan

(goal node) yang telah ditentukan, metode ini menggunakan “estimasi heuristic” h(x)

pada setiap node untuk mengurutkan setiap node x berdasarkan estimasi rute terbaik

yang melalu node tersebut. Dalam prosesnya metode ini akan mengunjungi setiap node

berdasarkan urutan yang dihasilkan dari estimasi heuristic ini. Metode A* adalah salah

satu contoh dari metode best-first search.

Metode A* dikembangkan oleh Peter Hart, Nils Nilsson, dan Bertram Raphael,

mereka juga menyebut metode tersebut dengan sebutan algoritma A, dengan

menggunakan metode ini dan dengan heuristic yang tepat menghasilkan sebuah hasil

yang optimal, yaitu A*. Secara umum, depth-first search (DFS) dan breadth-first search

(BFS) adalah dua kasus spesial dari metode A*. Algoritma Djikstra’s merupakan kasus

yang paling special dari A*, di mana h(x) = 0 untuk semua x.

Dalam masalah pencarian rute di mana metode A* sering digunakan, A* secara

bertahap membangun semua rute yang mengarah mulai dari titik awal sampai akhirnya

mencapai titik akhir. Metode A* hanya membangun rute yang mungkin digunakan untuk

mencapai tujuan. Untuk mengetahui rute mana yang memungkinkan mengarah ke titik

akhir, A* menggunakan estimasi heuristic jarak dari sembarang node ke node tujuan.

Dalam kasus pencarian rute, ini bisa jadi sama dengan jarak lurus antara dua titik, di

mana biasanya merupakan perkiraan dari jarak jalan.

Page 12: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

17

Hubungan antara heuristic dengan algoritma A*:

• Apabila h(n) selalu bernilai 0, maka hanya g(n) yang akan berperan, dan A*

berubah menjadi Algoritma Dijkstra, yang menjamin selalu akan menemukan

jalur terpendek.

• Apabila h(n) selalu lebih rendah atau sama dengan ongkos perpindahan dari

titik n ke tujuan, maka A* dijamin akan selalu menemukan jalur terpendek.

Semakin rendah nilai h(n), semakin banyak titik-titik yang diperiksa A*,

membuatnya semakin lambat.

• Apabila h(n) tepat sama dengan ongkos perpindahan dari n ke tujuan, maka

A* hanya akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun

titik lainnya, membuatnya sangat cepat. Walaupun hal ini belum tentu bisa

diaplikasikan ke semua kasus, ada beberapa kasus khusus yang dapat

menggunakannya.

• Apabila h(n) kadangkala lebih besar dari ongkos perpindahan dari n ke

tujuan, maka A* tidak menjamin ditemukannya jalur terpendek, tapi

prosesnya cepat.

• Apabila h(n) secara relatif jauh lebih besar dari g(n), maka hanya h(n) yang

memainkan peran, dan A* berubah menjadi BFS.

2.6.3 Metode Simplified Memory-Bounded A* (SMA*)

Simplified Memory-Bounded A* (SMA*) merupakan pengembangan dari

algoritma A*. Algoritma SMA* merupakan penggabungan dari greedy search yang

Page 13: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

18

meminimalisir perkiraan pencarian harga dan uniform cost search yang meminimalisir

harga sampai selesai. Algoritma ini mempunyai fungsi sebagai berikut:

f(n) = h(n) + g(n)

g(n) = harga terjauh untuk mencapai node n dari state awal

h(n) = perkiraan harga mencapai state akhir dari node n

f(n) = perkiraan total harga untuk mencapai titik akhir

h(n) = Arc Cos { (Sin ( lat1 ) * Sin ( lat2 )) + (Cos ( lat1 ) * Cos ( lat2 ) *

Cos ( lon1 - lon2 )) } * 6378

lat1 = latitude node awal

lat2 = latitude node akhir

lon1 = longitude node awal

lon2 = longitude node akhir

Algoritma SMA* bersifat admissible. Ini berarti apabila solusi ada, solusi yang

ditemukan pertama adalah solusi yang optimal. SMA* bersifat admissible bila memenuhi

syarat-syarat, yaitu: di dalam graph state space setiap node memiliki successor yang

terbatas, setiap arc pada graph memiliki biaya yang lebih besar dari 0, dan heuristik

untuk setiap node n, h(n) < h*(n). SMA * dikatakan complete dan optimal dengan

mengasumsikan sebuah heuristic yang admissible dan konsisten.

Simplified Memory-Bounded A* ini dikembangkan karena algoritma A*

menggunakan banyak memory sehingga menghabiskan memory untuk pencarian.

Algoritma ini menjalankan best first search selama memory masih tersedia, apabila

memory penuh maka node dengan nilai terburuk dibuang, namun nilai terbaik disimpan

Page 14: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

19

pada node atasnya. Jika ruang memory mencukupi untuk semua node pada tree dalam

jalur pencarian, maka repeated states tidak akan diulang sehingga pencarian akan

menjadi optimal.

Aturan-aturan SMA* :

• Jika mempunyai lebih dari satu simpul, maka pilih salah satu yang

mempunyai f-cost terkecil. Jangan hapus dulu simpul tersebut sebelum

mengeceknya terlebih dahulu, karena bisa jadi simpul tersebut akan dipakai

dulu oleh simpul yang lain.

• Jika hasil f-cost dari suksesor baru yang telah dibangkitkan hasilnya lebih

kecil, maka suksesor-suksesor sebelumnya dihapus. Tetapi jika lebih besar,

maka lanjutkan dulu pencarian ke suksesor yang lebih kecil, sebelum

menghapus suksesor yang lebih besar tersebut.

• Jika menemukan state di level yang lebih dangkal, dan mmpunyai f-cost

lebih besar, maka state tersebut juga harus dihapus.

Berikut ini adalah gambar pencarian jarak dengan metode SMA*

Gambar 2.4 Pencarian Jarak dengan Metode SMA*

Page 15: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

20

2.7 Perancangan Basis Data

Basis data, dalam bahasa Inggris database, adalah kumpulan informasi yang

disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan

suatu program komputer untuk memperoleh informasi dari basis data tersebut

(Wikipedia, 2009). Perangkat lunak yang digunakan untuk mengelola dan memanggil

query basis data disebut sistem manajemen basis data atau Database Management

System (DBMS). Contoh dari aplikasi manajemen basis data di antaranya, SQL Server

dan Ms Access yang dibuat oleh Microsoft, dan MySQL yang dibuat oleh MySQL AB.

Ada kalanya suatu program aplikasi memerlukan basis data untuk

mendukungnya. Basis data diperlukan bilamana data yang dimiliki terlalu banyak, atau

apabila pengguna ingin menambahkan, mengubah, atau menghapus data yang akan

digunakan dalam menjalankan program aplikasi.

2.8 Software Development Life Cycle

Menurut Turban, et. al. (2001, p477-486), Software Development Life Cycle

(SDLC) adalah kerangka terstruktur yang terdiri dari beberapa proses yang berurutan

yang diperlukan untuk membangun suatu sistem informasi. Pendekatan waterfall

digunakan untuk menggambarkan SDLC.

SDLC dirancang dengan tujuan untuk membangun alur pemrograman yang

terstruktur dan untuk membantu manajemen proyek dalam perhitungan estimasi waktu

dan sumber yang dibutuhkan suatu proyek.

Page 16: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

21

Gambar 2.5 Eight Stage SDLC

Sumber: Turban, et. al. (2001, p477)

Tahap-tahap SDLC adalah sebagai berikut:

1. Systems Investigation

Systems Investigation adalah tahap yang mengutamakan pembelajaran

terhadap segala kemungkinan yang dapat terjadi. Dengan pembelajaran maka

suatu sistem dapat terhindar dari kesalahan yang dapat mengakibatkan

peningkatan usaha, waktu, dan jumlah pengeluaran.

2. Systems Analysis

Systems Analysis adalah tahap yang menganalisis masalah yang perlu

diselesaikan. Tahap ini mendefinisikan permasalahan, mengidentifikasikan

penyebab, menspesifikasikan solusi, serta mengidentifikasikan informasi-

informasi yang diperlukan.

Page 17: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

22

3. Systems Design

Systems Design adalah tahap yang menjelaskan bagaimana suatu sistem akan

bekerja. Hasil dari tahap ini adalah output, input, dan user interface dari

sistem serta hardware, software, database, dan prosedur.

4. Programming

Programming adalah tahap yang menerjemahkan spesifikasi desain sistem

menjadi bahasa pemrograman yang dapat dimengerti oleh komputer.

5. Testing

Testing adalah tahap yang digunakan untuk memeriksa apakah pemrograman

telah menghasilkan hasil yang diinginkan dan diharapkan atas situasi

tertentu. Testing dirancang untuk mendeteksi adanya kesalahan coding.

6. Implementation

Implementation adalah proses perubahan dari penggunaan sistem lama

menjadi sistem yang baru.

7. Operation dan Maintenance

Operation dan Maintenance adalah tahap untuk memelihara sistem baru yang

akan dioperasikan dalam suatu periode waktu.

Metodologi waterfall ini dipilih karena urutan prosesnya yang memaksa

pengembang untuk terlebih dahulu memikirkan seperti apa sistem yang akan dibangun,

sebelum akhirnya dibuat perencanaan bagaimana sistem tersebut dibangun, karena akan

jauh lebih mudah untuk membangun sistem yang telah diketahui akan seperti apa sistem

itu.

Page 18: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

23

2.9 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah bahasa grafis yang standar untuk

memodelkan software object oriented (Lethbridge, 2002, p151). UML bertujuan untuk

melakukan pemodelan terhadap pembuatan suatu sistem dengan menggunakan konsep

berorientasi objek (object oriented).

Dalam UML terdapat beberapa diagram yang dapat digunakan untuk pembuatan

desain pada sebuah aplikasi. Salah satunya adalah State Transition Diagram (STD).

2.9.1 State Transition Diagram (STD)

2.9.1.1 Pengertian STD

STD merupakan suatu modeling tool yang menggambarkan sifat ketergantungan

sistem. Pada mulanya hanya digunakan untuk menggambarkan suatu sistem yang

memiliki sifat real time seperti proses control, telephone switching system, dan control

system.

2.9.1.2 Simbol dan Sifat STD

State adalah kumpulan keadaan dan atribut yang mencirikan objek pada waktu

dan kondisi tertentu. Disimbolkan dengan segi empat.

Gambar 2.6 Notasi State

Page 19: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

24

Transition adalah simbol perpindahan keaktifan dari sebuah objek menjadi objek

lain. Transition disimbolkan dengan anak panah.

Gambar 2.7 Notasi Transition

Condition adalah suatu keadaan pada lingkungan eksternal yang dapat dideteksi

oleh sistem. Condition menggambarkan syarat yang biasanya digunakan dalam

hubungan seleksi. Action adalah yang dilakukan sistem bila terjadi perubahan state atau

merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran atau output.

Display adalah hasil yang merupakan STD.

2.10 Delapan Aturan Emas Desain User Interface

Menurut Ben Shneiderman (2005, p74-75), ada 8 (delapan) aturan yang dapat

digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user interface.

Delapan aturan ini disebut 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.

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.

Page 20: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

25

3. Memberikan umpan balik yang informatif

Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan

balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat

diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal

yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya

muncul suatu suara ketika salah menekan tombol pada waktu input data atau

muncul pesan kesalahannya.

4. Merancang dialog untuk 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.

6. Mudah kembali ke tindakan 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 tempat pengendali internal (internal locus of control)

Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan

yang dilakukan pengguna daripada pengguna merasa bahwa sistem

Page 21: BAB 2 LANDASAN TEORI 2.1 Simulasi 2.1.1 Pengertian Simulasithesis.binus.ac.id/doc/Bab2/2010-2-00424-MTIF bab 2.pdf · Definisi graf menyatakan bahwa V tidak boleh kosong, sedangkan

26

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.