BAB 2 LANDASAN TEORI 2.1 Teknik Simulasi Teknik Simulasi

advertisement
 BAB 2
LANDASAN TEORI
2.1
Teknik Simulasi
Teknik Simulasi merupakan cara meniru suatu sistem nyata yang kompleks
dalam bentuk model untuk dipelajari, diuji, dan sebagainya. Banyak ahli memberikan
definisi mengenai simulasi seperti :
a. Shannon (1975)
Simulasi merupakan proses perancangan model dari sistem nyata yang
dilanjutkan dengan pelaksanaan eksperimen terhadap model untuk mempelajari
perilaku sistem atau evaluasi strategi (dalam batas-batas yang ditentukan oleh
suatu kriteria atau serangkaian kriteria untuk operasi sistem).
b. Banks dan Carson (1984)
Simulasi adalah tiruan dari sistem nyata yang dikerjakan secara manual atau
komputer yang kemudian diobservasi dan disimpulkan untuk mempelajari
karakteristik sistem.
c. Hoover dan Perry (1990)
Simulasi merupakan proses perancangan model matematis atau logis dari sistem
nyata, melakukan eksperimen terhadap model dengan menggunakan komputer
untuk menggambarkan, menjelaskan, dan memprediksi perilaku sistem.
d. Law dan Kelton (2000)
Simulasi yang dapat disebut juga pengimitasian adalah meniru atau
menggambarkan operasi-operasi yang terjadi pada berbagai macam fasilitas atau
8 prosees yang terjadi pada kehidupan nyata denngan mengggunakan banntuan
komp
puter.
e. Harrel, dkk (2003)
ulasi merupaakan tiruan dari sistem dinamik meenggunakan model kom
mputer
Simu
dalam
m mengevaluuasi dan menningkatkan kinerja
k
sistem
m.
b
simulasi adalah teknik
Dari beberapa definisi di atas dapat dissimpulkan bahwa
m
meniru
suatu
u sistem yanng nyata/sesuungguhnya dengan
d
mennggunakan bantuan
b
peranngkat
k
komputer
seehingga sisteem tersebut bisa dipelaj
ajari secara ilmiah
i
dan diharapkan
d
dapat
m
mengevalua
si dan meninngkatkan kinnerja sistem.
2
2.2
Kub
bus Rubik
Kubu
us rubik adaalah permainnan kubus 3xx3x3 yang memiliki
m
warrna yang berrbeda
p
pada
keenam
m sisinya. Keeenam sisi kubus
k
akan dinamakan
d
seebagai berikkut : up (U), down
(
(D),
front (F
F), back (B)), left (L), dan right (R)). Kubus inii terdiri dari dua puluh enam
k
kubus
kecil yang disatuukan. Satu kubus
k
kecil ditengah
d
tidaak dianggapp karena berpperan
s
sebagai
sum
mbu kubus saaat memutar sisi-sisinya.
Gambar 2.1 Ilustrasi Kubus Rubik
Sumb
ber : http://annakkomput3rr.blogspot.ccom/2010/055/kubus-rubiik_13.html
9 Kubus rubik diciptakan oleh seorang professor arsitektur asal negara Hungaria
yang bernama Erno Rubik pada tahun 1974. Di Jerman, pada tahun 1980 kubus rubik
mendapat penghargaan sebagai Games of The Year , pada tahun 1982 kubus rubik
menjadi kata tersendiri yang masuk dalam kamus The Oxf hingga pada tahun 2007
kubus rubik dinobatkan sebagai The Coolest Brand in The World (True Stories, 2011).
Sampai detik ini diperkirakan telah lebih dari 100.000.000 Kubus Rubik terjual di
seluruh dunia. Permainan ini diklaim dapat meningkatkan ketajaman kecerdasan visual
spasial (kemampuan visual yang diikuti dengan kemampuan persepsi pandang ruang
atau dimensi, kelebihan hal berpikir melalui gambar) dan daya nalar (proses yang cermat
dan menyeluruh dalam mempertimbangkan segala segi guna menyelesaikan masalah),
sehingga tak heran banyak orang tertarik memainkannya.
2.3
Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang
aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan
angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab.
Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan.
Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari
nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa AlKhuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi
menulis buku yang berjudul Kitab Al Jabar Wal - Muqabala yang artinya “Buku
pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku
itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism
menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic,
10 sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab
sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur
dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan
makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma
(Alex Budiyanto, 2003).
Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis. Kata logis merupakan kata kunci dalam algoritma. Langkahlangkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau
benar.
2.4
Algoritma Genetik
Algoritma genetik adalah suatu algoritma pencarian yang berbasis pada
mekanisme seleksi alam dan genetika. Algoritma genetik merupakan salah satu
algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi
kompleks, yang sulit dilakukan oleh metode konvensional (A. Desiani dan M. Arhami,
2006). Secara alamiah, individu di dalam populasi akan saling bersaing untuk
mendapatkan sumber daya yang tersedia. Individu yang berhasil mendapatkan sumber
daya akan tetap bertahan hidup, sedangkan yang tidak, akan mati dan punah. Algoritma
genetik melakukan teknik pencarian untuk menemukan penyelesaian perkiraaan untuk
optimasi dan masalah pencarian. Selain itu, algoritma ini juga menggunakan teknik yang
terinspirasi oleh biologi revolusioner seperti warisan, mutasi, seleksi alam dan crossover.
Dalam hal ini, populasi dari kromosom dihasilkan secara random dan
memungkinkan untuk berkembang biak sesuai dengan hukum yang berlaku untuk proses
evolusi dengan harapan akan menghasilkan individu dengan kromosom yang prima.
11 Kromosom inilah yang pada kenyataannya merupakan penyelesaian masalah (solusi),
sehingga bila kromosom yang baik berkembang, maka solusi bagi masalahpun
diharapkan dapat dihasilkan.
Sifat algoritma genetik adalah mencari kemungkinan-kemungkinan dari calon
solusi untuk mendapatkan yang optimal bagi penyelesaian masalah. Ruang cakupan dari
semua solusi yang layak, yaitu objek-objek di antara solusi yang sesuai, dinamakan
ruang pencarian. Tiap titik dalam ruang pencarian merepresentasikan satu solusi yang
layak.
2.4.1
Struktur Dasar Algoritma Genetik
Algoritma
genetik
mempunyai
struktur
dasar
yang
digunakan
dalam
penyelesaian suatu masalah. Menurut, Thiang, dkk (2001) struktur dasar algoritma
genetik adalah sebagai berikut :
a. Membangkitkan populasi awal
Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal.
Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan
solusi yang diinginkan.
b. Membentuk generasi baru
Untuk membentuk generasi baru, digunakan operator reproduksi/seleksi,
crossover, dan mutasi. Proses ini dilakukan berulang-ulang sehingga didapatkan
jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi
baru ini merupakan representasi dari solusi baru. Generasi baru ini dikenal
dengan istilah anak (off-spring).
12 c. Evaluasi solusi
Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness
setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila
kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan
mengulangi langkah kedua. Beberapa kriteria berhenti yang sering digunakan
antara lain :
•
Berhenti pada generasi tertentu.
•
Berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai
fitness tertinggi tidak berubah.
•
Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness yang
lebih tinggi.
Gambar 2.2 Siklus Algoritma Genetik oleh David Goldberg
Sumber : http://lecturer.eepisits.edu/~entin/Kecerdasan%20Buatan/Buku/Bab%207%20Algoritma%20Geneti
ka.pdf
13 Siklus
ini
kemudian
diperbaiki
oleh
beberapa
ilmuwan
yang
mengembangkan algoritma genetik, yaitu Michalewicz dengan menambahkan
operator elitisim dan membalik proses seleksi setelah proses reproduksi.
Gambar 2.3 Siklus Algoritma Genetik oleh Michalewicz
Sumber : http://lecturer.eepisits.edu/~entin/Kecerdasan%20Buatan/Buku/Bab%207%20Algoritma%20Geneti
ka.pdf
2.4.2
Representasi Populasi Awal
Menurut Suyanto (2005), ada beberapa jenis representasi yang sering digunakan
yaitu:
a. Representasi Biner
Ini adalah representasi yang paling sederhana dan paling umum. Pada
representasi biner ini, setiap gen hanya bisa bernilai 0 atau 1. Bilangan biner
dapat digunakan untuk mempresentasikan “ya” atau “tidak”. Representasi ini
banyak digunakan karena mempermudah pemrograman di dalam proses seperti
crossover dan mutasi.
14 b. Representasi Integer
Pada representasi ini, setiap gen bisa bernilai bilangan bulat (integer). Bilangan
bulat bisa digunakan untuk merepresentasikan nomor urut, posisi, jenis, atau
kualitas obyek. Dengan representasi ini, ukuran kromosom menjadi lebih
sederhana.
c. Representasi Real
Jika representasi biner maupun integer tidak bisa mencapai tingkat ketelitian
yang diinginkan, maka bisa menggunakan representasi real.
d. Representasi Permutasi
Untuk masalah tertentu, kita mungkin saja tidak bisa menggunakan representasi
biner, integer, maupun real. Misalnya dalam mencari solusi “urutan” bukan
“nilai”.
2.4.3
Operator Genetik dalam Algoritma Genetik
Algoritma genetik mempunyai operator-operator genetik yang digunakan dalam
penyelesaian suatu masalah. Opeator-operator tersebut terdiri dari seleksi, rekombinasi
(crossover), dan mutasi.
2.4.3.1 Seleksi
Langkah pertama yang dilakukan dalam seleksi adalah pencarian nilai fitness.
Dalam terminologi algoritma genetika kemampuan suatu individu (kromosom) untuk
bertahan hidup dapat diukur berdasarkan nilai fitness-nya. Nilai fitness ditentukan dari
nilai objektif diri sendiri terhadap nilai objektif dari semua individu dalam wadah
15 seleksi. Semakin baik nilai fitness suatu kromosom maka akan semakin baik peluang
kromosom tersebut untuk bertahan hidup dan ikut dalam proses reproduksi.
Proses seleksi bertujuan untuk memilih kromosom yang akan dijadikan sebagai
parent (kromosom induk) pada proses crossover (pindah silang). Seleksi dilakukan
untuk mendapatkan calon induk yang baik. Induk yang baik akan menghasilkan
keturunan yang baik (Entin Martiana, 2011). Ada beberapa metode yang dapat dipilih
pada proses seleksi, antara lain :
a. Roulette Wheel Selection
Pada roulette wheel selection, kromosom akan dipilih secara acak ditentukan
dengan memperhitungkan nilai fitness masing-masing kromosom. Semakin besar
nilai fitness suatu kromosom, semakin besar pula peluang kromosom tersebut
untuk terpilih sebagai parent (kromosom induk). Pengkodean Roulette Wheel
dapat dianalogikan seperti permainan roda putar. Pada permainan roda putar,
lingkaran roda dibagi menjadi beberapa wilayah. Pada Roulette Wheel Selection,
lebar suatu wilayah kromosom ditentukan menurut nilai fitness yang dimilikinya,
semakin besar nilai fitness maka akan semakin besar wilayahnya, dan semakin
besar pula peluang kromosom tersebut untuk terpilih.
b. Rank Selection
Pada rank selection, pemilihan kromosom tidak berdasarkan pada nilai fitnessnya, namun diurutkan berdasarkan nilai rangking yang diberikan. Nilai rangking
dibuat berdasarkan urutan nilai fitness yang dimiliki setiap kromosom.
c. Tournament Selection
Pada tournament selection, 2 buah kromosom dipilih secara acak dari populasi.
Sebuah angka r dipilih secara acak dari angka-angka diantara 0 dan 1. Sebuah
16 parameter k ditentukan (misalnya k = 0,9). Jika r < k, maka kromosom dengan
nilai fitness yang lebih baik dipilih dan kemudian dikembalikan ke populasi dan
dapat dipilih lagi.
d. Elitism
Pada elitism, beberapa gen terbaik dari setiap generasi diambil dan disimpan
dengan tujuan mencegah hilangnya gen-gen terbaik karena tidak dipilih untuk
melakukan crossover atau mutasi.
Gambar 2.4 Ilustrasi Roulette Wheel Selection
Sumber :
http://en.pudn.com/downloads157/sourcecode/math/detail700938_en.html
2.4.3.2 Rekombinasi (crossover)
Rekombinasi (crossover) adalah operator dari algoritma genetik yang melibatkan
dua induk untuk membentuk kromosom baru. Individu dipilih secara acak untuk
dilakukan rekombinasi. Jika rekombinasi tidak dilakukan, maka nilai dari induk akan
17 diturunkan kepada keturunan (Entin Martiana, 2011). Crossover bertujuan menambah
keanekaragaman string dalam satu populasi. Ada beberapa crossover, seperti :
a. Crossover satu titik
Crossover satu titik menggabungkan dua genotipe induk dengan memilih satu
titik pada parent dan menukar gen antara dua parent yang berada di luar titik.
b. Crossover dua titik
Prinsip crossover dua titik sama prinsipnya dengan crossover satu titik. Bedanya,
pada crossover dua titik, dipilih secara acak dua titik pada parent dan menukar
gen yang berada di antara dua titik.
c. Crossover banyak titik
Prinsipnya memilih titik-titik, gen-gen ditukar antara kromosom pada titik
tersebut untuk menghasilkan kromosom baru.
Gambar 2.5 Ilustrasi Crossover Satu Titik
Sumber : http://yossitompul.blogspot.com/2008/01/algoritma-genetik.html
18 2.4.3.3 Mutasi
Mutasi berperan untuk menggantikan gen yang hilang dari populasi akibat proses
seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi
populasi (Entin Martiana, 2011). Mutasi dilakukan dengan cara memilih satu atau
beberapa gen dalam kromosom dan kemudian mengganti nilainya.
Gambar 2.6 Ilustrasi Mutasi
Sumber : http://yossitompul.blogspot.com/2008/01/algoritma-genetik.html
2.4.4
Parameter Genetik dalam Algoritma Genetik
Algoritma genetik mempunyai parameter-parameter genetik berguna dalam
pengendalian operator-operator genetik. Penentuan parameter-parameter genetik sangat
berpengaruh terhadap kinerja algoritma genetik dalam penyelesaian suatu masalah.
Parameter-parameter tersebut terdiri dari ukuran populasi (popsize), probabilitas
crossover (ܲ௖ ), dan probabilitas mutasi (ܲ௠ ).
2.4.4.1 Ukuran Populasi (popsize)
Ukuran populasi mempengaruhi ukuran efektivitas dan kinerja algoritma genetik.
Tidak ada aturan yang pasti tentang berapa nilai ukuran populasi. Apabila ukuran
populasi terlalu kecil, maka hanya terdapat sedikit solusi penyelesaian suatu masalah.
19 Sebaliknya, ukuran populasi yang terlalu besar akan menurunkan kinerja algoritma
genetik. Ukuran populasi berkisar antara 20 – 30.
2.4.4.2 Probabilitas Crossover (ࡼࢉ )
Probabilitas crossover akan mengendalikan operator crossover dalam setiap
generasi dalam populasi yang mengalami crossover. A. Desiani dan M. Arhami (2006)
menyatakan bahwa dari hasil penelitian algoritma genetika yang sudah pernah dilakukan
nilai probabilitas crossover sebaiknya tinggi, yaitu antara 0,8 - 0,9 agar memberikan
hasil yang baik.
Jika tidak terjadi crossover, maka keturunannya akan sama persis dengan
kromosom orangtuanya. Semakin besar probabilitas crossover, maka akan semakin
cepat struktur individu baru yang terbentuk ke dalam populasi. Namun, jika probabilitas
crossover terlalu besar, maka kandidat solusi terbaik mungkin hilang lebih cepat pada
generasi selanjutnya.
2.4.4.3 Probabilitas Mutasi (ࡼ࢓ )
Probabilitas mutasi (
) didefinisikan sebagai presentasi dari jumlah total gen
pada populasi yang mengalami mutasi. Probabilitas mutasi akan mengendalikan operator
mutasi dalam setiap generasi dalam populasi yang mengalami mutasi. Probabilitas
mutasi biasanya lebih kecil dibanding dengan probabilitas crossover. Pada seleksi alam
murni, mutasi jarang sekali muncul. A. Desiani dan M. Arhami (2006) menyatakan
bahwa dari hasil penelitian yang sudah pernah dilakukan menunjukkan bahwa nilai
probabilitas mutasi terbaik adalah antara 0.005 – 0.01.
20 Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna tidak
pernah dievaluasi. Tetapi bila peluang mutasi ini terlalu besar, maka akan terlalu banyak
gangguan acak, sehingga kemiripan dari induknya, dan juga algoritma kehilangan
kemampuan untuk belajar dari histori pencarian.
2.4.5 Cara Kerja Algoritma Genetik
Proses algoritma genetik yang akan dilakukan dalam penyelesaian kubus rubik
adalah membangkitkan populasi awal secara acak, menghitung nilai fitness awal,
melakukan proses crossover, proses mutasi, menghitung nilai fitness, dan melakukan
proses seleksi hingga menghasilkan populasi baru. Proses ini akan berlangsung sampai
menemukan solusi yang diharapkan.
Tabel 2.1 Notasi Integer Pergerakan Kubus Rubik
F
Memutar seluruh sisi depan kubus sebesar
F2
Memutar seluruh sisi depan kubus sebesar
F’
Memutar seluruh sisi depan kubus sebesar
L
Memutar seluruh sisi kiri kubus sebesar
L2
Memutar seluruh sisi kiri kubus sebesar
L’
Memutar seluruh sisi kiri kubus sebesar
R
Memutar seluruh sisi kanan kubus sebesar
R2
Memutar seluruh sisi kanan kubus sebesar
R’
Memutar seluruh sisi kanan kubus sebesar
B
Memutar seluruh sisi belakang kubus sebesar
B2
Memutar seluruh sisi belakang kubus sebesar
B’
Memutar seluruh kubus pada sisi belakang sebesar
searah jarum jam
0
1
berlawanan arah jarum jam
searah jarum jam
2
3
4
berlawanan arah jarum jam
searah jarum jam
5
6
7
berlawanan arah jarum jam
searah jarum jam
8
9
10
berlawanan arah
11
21 jarum jam
U
Memutar seluruh sisi atas kubus sebesar
U2
Memutar seluruh sisi atas kubus sebesar
U’
Memutar seluruh sisi atas kubus sebesar
D
Memutar seluruh sisi bawah kubus sebesar
D2
Memutar seluruh sisi bawah kubus sebesar
D’
Memutar seluruh sisi bawah kubus sebesar
T
Tetap
searah jarum jam
12
13
berlawanan arah jarum jam
searah jarum jam
14
15
16
berlawanan arah jarum jam
17
18
Gambar 2.7 Ilustrasi Perputaran Sisi Depan Kubus Rubik Searah Jarum Jam
Sumber : http://www.yohanli.com/menyelesaikan-rubik%E2%80%99s-cube-kubusrubik.html
22 Contoh kasus :
Apabila diketahui keadaan akhir dari suatu rubik yang akan diselesaikan seperti
pada gambar dibawah ini :
Gambar 2.8 Ilustrasi Keadaan Akhir Kubus Rubik
Untuk penentuan parameter genetik yaitu ukuran populasi (popsize),
probabilitias crossover (ܲ௖ ), dan probabilitas mutasi (ܲ௠ ), ada beberapa rekomendasi
yang dapat digunakan, antara lain :
a. Untuk permasalahan yang memiliki kawasan cukup besar, De Jong (1975)
merekomendasikan untuk nilai parameter kontrol : (popsize : ܲ௖ : ܲ௠ ) = (50 : 0.6
: 0,001).
b. Bila rata-rata nilai fitness setiap generasi digunakan sebagai indikator, maka
Grefenstette (1986) merekomendasikan : (popsize : ܲ௖ : ܲ௠ ) = (30 : 0.95 : 0,01).
23 Pertama, kita hitung terlebih dahulu nilai fitness awal dari kondisi akhir kubus
rubik yang dilakukan dengan rumus :
Nilai fitness =
48-x
48
100%
Angka 48 didapat dari 54 sisi permukaan kubus rubik dikurang dengan enam(6). Enam
adalah enam warna yang berada pada sumbu kubus rubik. Enam warna ini tidak
diperhitungkan karena dianggap tidak bergerak. Dengan “x” adalah jumlah posisi
permukaan kubus kecil pada tiap sisi yang tidak sesuai pada tempatnya/yang memiliki
warna yang berbeda dengan sumbu tersebut.
Jika nilai fitness = 100% maka kubus rubik sudah selesai. Jika nilai fitness
!=100%, terlebih dahulu kita bangkitkan populasi awal secara acak menggunakan
bilangan random yang dibangkitkan tiap gen dalam suatu individu dengan nilai dari
representasi integer kubus rubik, yaitu 0–18. Panjang kromosom yang digunakan adalah
22 karena pada Agustus 2008, Tomas Rokichi membuktikan bahwa langkah maksimum
untuk menyelesaikan kubus rubik adalah 22 langkah, sebanyak 30 buah kromosom.
Gambar 2.9 Ilustrasi Populasi Awal Secara Acak
24 Setelah itu dilakukan rekombinasi(crossover). Misalkan ditentukan probabilitas
crossover = 0,95 dan angka random crossover [0 -1] = 0,65. Maka letak posisi crossover
di luar titik 0.65 x 22 = 14.3 yaitu 15.
Gambar 2.10 Ilustrasi Crossover Satu Titik
Pada tahap mutasi, nilai gen yang lama akan diganti dengan nilai gen yang baru.
Jumlah gen pada populasi adalah 22 x 30 = 660 gen. Apabila ditentukan probabilitas
mutasi = 0,01 dan angka random mutasi [0-1] = 0,1. Maka tidak akan terjadi mutasi.
Tapi apabila angka random = 0,009. Maka banyak mutasi adalah 0,009 x 22 x 30 = 5,94
yang ditentukan secara acak dan menggantinya dengan nilai dari representasi integer
kubus rubik, yaitu 0 – 18.
25 Gambar 2.11 Ilustrasi Mutasi
Dari hasil mutasi, kita cari nilai fitness. Sama seperti mencari nilai fitness diatas,
setelah mutasi kita akan mendapatkan 30 nilai fitness baru yang kemudian digunakan
untuk menentukan rank setiap kromosom karena seleksi yang akan dilakukan dalam
pemilihan kromosom induk baru adalah rank selection.
Gambar 2.12 Ilustrasi Kromosom Baru
2.5
Model Rekayasa Piranti Lunak
Model sekuensial linier yang sering disebut juga dengan waterfall models
merupakan paradigma rekayasa perangkat lunak yang mengusulkan pada pendekatan
proses yang sistematik dan sekuensial yang dimulai pada tingkat dan kemajuan sistem
pada seluruh analisis, design, kode, pengujian, dan pemeliharaan (Roger S Pressman,
1997), sebagai berikut:
26 a. Rekayasa Sistem/Informasi dan Pemodelan
Karena perangkat lunak selalu menjadi bagian dari sistem yang lebih besar, kerja
dimulai dengan membangun syarat semua elemen sistem dan kemudian
mengalokasikan beberapa subset dari kebutuhan ke software.
b. Analisis Kebutuhan
Pada tahap ini merupakan analisis kebutuhan perangkat lunak, Proses
pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada software.
Untuk memahami sifat program yang dibangun, analisis harus memahami
domain informasi, tingkah laku, unjuk kerja, dan interface yang diperlukan.
c. Desain/perancangan
Proses desain merepresentasikan kebutuhan ke dalam bentuk perangkat lunak
sebelum dilakukan pengkodean.
d. Kode
Pada tahapan ini mengkodekan hasil dari desain/perancangan ke dalam bahasa
pemrograman.
e. Pengujian/implementasi
Pengujian software dilakukan untuk memastikan bahwa software yang dibuat
telah sesuai dengan desain dan semua fungsi dapat dipergunakan dengan baik.
27 Gambar 2.13 Waterfall Model
Sumber: http://lecturer.ukdw.ac.id/othie/softwareprocess.pdf
2.6
Unified Modelling Language (UML)
UML adalah bahasa standar yang digunakan untuk menjelaskan dan
memvisualisasikan artifak dari proses analisis dan disain berorientasi obyek. UML
menyediakan standar pada notasi dan diagram yang bisa digunakan untuk memodelkan
suatu system. UML menyediakan beberapa notasi dan artifak standar yang bias
digunakan sebagai alat komunikasi bagi para pelaku dalam proses analisis dan desain.
Artifak di dalam UML didefinisikan sebagai informasi dalam berbagai bentuk yang
digunakan atau dihasilkan dalam proses pengembangan perangkat lunak (Julius
Hermawan, 2004).
2.6.1
Use Case Diagram
Use Case Diagram menjelaskan apa yang akan dilakukan oleh sistem yang akan
dibangun dan siapa yang berinteraksi dengan sistem. Use case diagram pada umumnya
tersusun dari elemen actor, use case, dependency, generalization, dan association. Use
28 case diagram ini memberikan gambaran statis dari sistem yang sedang dibangun dan
merupakan artifak dari proses analisis (Julius Hermawan, 2004).
2.6.2
Sequence Diagram
Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam
sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi
apa saja yang terlibat, urutan antar operasi, dan informasi yang diperlukan oleh masingmasing operasi (Julius Hermawan, 2004).
Download