7
BAB 2
LANDASAN TEORI
2.1 Fuzzy Logic
Menurut Sri Kusuma Dewi, logika fuzzy merupakan salah satu komponen
pembentuk Soft Computing. Dasar logika fuzzy adalah teori himpunan fuzzy. Pada
teori himpunan fuzzy, peranan derajat keanggotaan sebagai penentu keberadaan
elemen dalam suatu himpunan sangatlah penting. Nilai keanggotaan atau derajat
keanggotaan atau membership function menjadi ciri utama dari penalaran dengan
logika fuzzy tersebut (Kusumadewi S, Purnomo H, 2010).
Salah satu contoh pemetaan suatu input output dalam bentuk grafis seperti
terlihat pada gambar
Gambar 2.1 Contoh Pemetaan Input-Output
Fuzzy logic merupakan penigkatan dari penerapan logika boolean, pada
aljabar boolean yang hanya mengenal notasi 1 dan 0. Fuzzy logic memungkinkan
keanggotaan bernilai antara 0 sampai dengan 1. Oleh sebab itu bisa dikatakan bahwa
sebuah kondisi bisa bernilai sebagian benar dan sebagian salah pada saat bersamaan.
Ada beberapa alasan mengapa orang menggunakan fuzzy logic, antara lain :
1. Konsep fuzzy logic mudah dimengerti. Konsep matematis yang mendasari
penalaran fuzzysangat sederhana dan mudah dimengerti.
2. Fuzzy logic sangat fleksibel.
3. Fuzzy logic memiliki toleransi terhadap data-data yang tidak tepat.
4. Fuzzy logic mampu memodelkan fungsi-fungsi non-linear yang sangat
kompleks.
8
5. Fuzzy logic dapat membangun dan mengaplikasikan pengalaman-pengalaman
para pakar secara langsung tanpa harus melalui proses pelatihan.
6. Fuzzy logic dapat bekerjasama dengan teknik-teknik kendali secara
konvensional.
7. Fuzzy logic didasarkan pada bahasa alami.
2.1.1 Himpunan Fuzzy (Fuzzy Set)
Himpunan fuzzy adalah sekumpulan objek x dimana masing-masing objek
memiliki nilai keanggotaan “µ” atau disebut juga dengan nilai kebenaran. Jika X
adalah sekumpulan objek dan anggotanya dinyatakan dengan x maka himpunan fuzzy
dari A di dalam X adalah himpunan dengan sepasang anggota atau dapat dinyatakan
dengan (Kuncahyo B, Ginardi R, Arieshanti I, 2012):
(2.1)
Contoh, jika A= “bilangan yang mendekati 10” dimana :
(2.2)
(2.3)
Ada beberapa hal yang perlu diketahui dalam sistem fuzzy, yaitu :
1. Variable Fuzzy
Variable fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem
fuzzy. Contoh: umur, temperatur, permintaan, dan lain-lain.
2. Himpunan Fuzzy
Himpunan fuzzy merupakan suatu grup yang memiliki suatu kondisi atau
keadaan tertentu dalam suatu variabel fuzzy. Contoh: variabel temperatur
terbagi menjadi 5 himpunana fuzzy, yaitu: PANAS, DINGIN, SEJUK,
NORMAL, dan HANGAT.
3. Semesta Pembicaraan
Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk
dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan
himpunan bilangan real yang senantiasa bertambah secara monoton dari kiri
ke kanan atau sebaliknya. Nilai semesta pembicaraan dapat berupa bilangan
positif maupun negatif. Contoh semesta pembicaraan:
a. Semesta pembicaraan untuk variabel umur: [0 +∞]
b. Semesta pembicaraan untuk variabel temperatur: [0 40]
9
4. Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dan boleh
dioperasikan dalam suatu himpunan fuzzy. Seperti semesta pembicaraan,
domain merupakan himpunan bilangan real yang senantiasa bertambah
secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan
positif maupun negatif. Contoh domain himpunan fuzzy:
a. DINGIN = [0, 20]
b. SEJUK = [15, 25]
c. NORMAL = [20, 30]
d. HANGAT = [25, 35]
2.1.2 Fungsi Keanggotaan Fuzzy
Keanggotaan adalah suatu kurva yang menunjukkan titik-titik input data ke
dalam nilai keanggotaanya yang memiliki interval antara 0 sampai 1. Salah satu cara
yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan
melakukan pendekatan fungsi.
Fungsi keanggotaan yang sering digunakan, antara lain (Kuncahyo B,
Ginardi R, Arieshanti I, 2012) :
1. Representasi linear
Pada representasi linear, pemetaan input ke derajat keanggotannya digambarkan
sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang
baik untuk mendekati suatu konsep yang kurang jelas.
Ada dua keadaan himpunan linear,
a. Representasi Linear Naik
Gambar 2.2 Representasi Linear Naik
10
Fungsi Keanggotaan:
0; x ≤ a
µ[x] = (x – a) / (b – a); a ≤ x ≤ b (2.4)
1; x ≥ b
b. Representasi Linear Turun
Gambar 2.3 Representasi Linear Turun
Fungsi keanggotaan:
µ[x] = (b – x) / (b – a); (2.5)
0;
2. Fungsi keanggotaan segitiga
Fungsi keanggotaan segitiga memiliki parameter a, b, dan c dengan formula
sebagai berikut:
Gambar 2.4 Kurva Segitiga
11
Fungsi keanggotaan:
0; x ≤ a atau x ≥ c
µ[x] = (x – a) / (b – a); a ≤ x ≤ b (2.6)
(b – x) / (c – b); b ≤ x ≤ c
3. Fungsi keanggotaan trapesium
Fungsi keanggotaan trapesium memiliki parameter a, b, c, dan d dengan formula
sebagai berikut:
Gambar 2.5 Kurva Trapesium
Fungsi Keanggotaan:
0; x ≤ a atau x ≥ d
µ[x] = (x – a) / (b – a); a ≤ x ≤ b (2.7)
1; b ≤ x ≤ c
(d – x) / (d – c); x ≥ d
4. Fungsi keanggotaan Gaussian
Fungsi keanggotaan Gaussian memiliki parameter a, dan σ dengan formula
sebagai berikut:
(2.8)
5. Fungsi keanggotaan Bell yang diperluas (Generalized Bell/Gbell)
Fungsi keanggotaan Bell yang diperluas memiliki parameter a, b, dan c dengan
formula sebagai berikut:
12
(2.9)
2.1.3 Aturan Fuzzy dan Penalaran Fuzzy
Basis aturan merupakan sekumpulan aturan yang terdapat pada sistem fuzzy.
Aturan if-then fuzzy atau fuzzy conditional statement adalah sebuah bentuk aturan if
A then B, dimana A dan B adalah label dari fuzzy sets yang ditandai sesuai dengan
fungsi keanggotaan (Jang dan Sun, 1995). Dengan kata lain, basis aturan if-then fuzzy
digunakan untuk menangkap maksud yang tidak jelas dari pemikiran sesuai dengan
kemampuan manusia yang mampu membuat keputusan di lingkungan yang tidak
pasti. Sebagai contoh dapat digambarkan sebagai beikut :
If (jika) tekananya tinggi then (maka) volumenya kecil
Dimana tekanan dan volume adalah variable linguistik, tinggi dan kecil
adalah nilai linguistik atau label yang didefinisikan dalam fungsi keanggotaan.
Aturan dasar inferensi dalam two – valued logic tradisional adalah modus
ponens : menarik kebenaran proposisi B dari kebenaran A dan implikasi A → B.
Dalam penalaran manusia, modus ponen banyak digunakan dalam cara
pendekatan (approximate). Ini dapat digambarkan sebagai berikut :
Premis 1 (fakta) : x is A`.
Premis 2 (aturan) : if x is A then y is B̀.
Konsekuensi (konklusi) : y is B`.
Dimana A` dekat dengan A dan B` dekat dengan B. Prosedur inferensi di atas
disebut approximate reasoning atau penalaran fuzzy, atau Generalized Modus
Ponen (GMP) karena mengandung modus ponen dalam kasus khusus.
Proses penalaran fuzzy dapat dibagi ke dalam empat langkah (Kuncahyo B,
Ginardi R, Arieshanti I, 2012):
1. Memasukkan inputfuzzy (Derajat Kesepadanan)
Bandingkan fakta yang diketahui dengan antesedan dari aturan fuzzy
untuk menemukan derajat kesepadanan dengan memperhatikan setiap
antesedan MF.
13
2. Pengaplikasian operator fuzzy
Gabungkan derajat – derajat kesepadanan dengan memperhatikan
antesedan MF – MF dalam suatu aturan menggunakan operator
fuzzyAND atau OR untuk membentuk operator fuzzy yang
mengindikasikan tingkat bagian antesedan dari aturan yang terpenuhi.
3. Mengaplikasikan metode implikasi (MF konsekuen yang qualified
(terinduksi)
Gunakan proses ke – 2 ke MF konsekuen dari suatu aturan untuk
menemukan suatu MF konsekuen qualified.
4. Komposisi semua output (outputkeseluruhan MF)
Agresikan semua MF konsekuen qualified untuk mendapatkan suatu
MF outputkeseluruhan.
2.2 Sistem Inferensi Fuzzy (Fuzzy Inference System)
Sistem inferensi fuzzy (FIS) adalah sebuah sistem pengambilan keputusan
yang didasarkan pada teori fuzzy, aturan fuzzyif-then dan logika fuzzy. Struktur dasar
sistem inferensi fuzzy terdiri atas (Kuncahyo B, Ginardi R, Arieshanti I, 2012):
1. Sebuah basis aturan yang berisi aturan fuzzyif-then.
2. Basis data yang mendefinisikan fungsi keanggotaan himpunan fuzzy.
3. Unit pengambilan keputusan yang menyatakan operasi inferensi atau aturan-
aturan yang ada.
4. Fuzzifikasi yang mentransformasikan masukan klasik (crisp) ke derajat tertentu
sesuai dengan fungsi keanggotaan.
5. Defuzzifikasi yang mentransformasikan hasil inferensi fuzzy ke dalam bentuk
crisp.
Sistem inferensi fuzzy (Fuzzy Inference System) pada dasarnya
mendefinisikan pemetaan nonlinear dari vektor data inputmenjadi skalar output.
Proses pemetaan melibatkan input/output fungsi keanggotaan, operator-operator
fuzzy, aturan fuzzy if-then, agregasi dari himpunan output dan defuzzification
(Hartono, 2010).
14
Gambar 2.6 Fuzzy Inference System
2.3 Adaptive Neuro-Fuzzy Inference System (ANFIS)
Neuro-Fuzzy adalah gabungan dari dua sistem logika fuzzy dan jaringan
syaraf tiruan. Sistem neuro-fuzzy berdasar pada sistem inferensi fuzzy yang dilatih
menggunakan algoritma pembelajaran yang diturunkan dari sistem jaringan syaraf
tiruan. Dengan demikian, sistem neuro-fuzzy memiliki semua kelebihan yang
dimiliki oleh sistem inferensi fuzzy dan sistem jaringan syaraf tiruan (Rahman A,
Abdullah G, Lukman H, 2012).
Teknik neuro-fuzzy dapat mempelajari sistem perilaku dari data yang cukup
besar dan dapat menetapkan secara otomatis aturan fuzzy dan fuzzy-set ke tingkat
akurasi yang paling tinggi (Bisht D, Jangid A, 2011).
Adaptive Neuro-Fuzzy Inference System (ANFIS) merupakan jaringan
adaptif yang berbasis pada sistem kesimpulan fuzzy (fuzzy inference system). ANFIS
dapat membangun suatu mapping input-output yang keduanya berdasarkan pada
pengetahuan manusia (pada bentuk aturan fuzzy if-then) dengan fungsi keanggotaan
yang tepat (Bagus K, Ketut J, Eka K, 2013).
15
Gambar 2.7Struktur ANFIS dengan 2 Input
Tabel 2.1 Proses Pembelajaran Hibrida pada ANFIS
Tahap Maju (Forward) Tahap Mundur (Backward)
Parameter Premis Tetap Gradient descent- EBP
Parameter Konsekuen LSE Tetap
Sinyal Keluaran Simpul Sinyal Kesalahan
Berikut ini adalah penjelasan lebih lanjut tentang proses pembelajaran pada
ANFIS:
Pada awalnya, jaringan merambat dari layer input ke layer output.
Outputdari neuron/simpul ke-i pada lapisan ke-l dinotasikan sebagai , seperti
berikut (Kuncahyo B, Ginardi R, Arieshanti I, 2012):
Lapisan 1
Setiap simpul i pada lapisan ini adalah simpul adaptif dengan fungsi aktivasi
simpul sebagai berikut :
(2.10)
i =3, 4 (2.11)
Dengan x dan y adalah input pada simpul ke i, dan Aiadalah label linguistik
seperti baik, buruk, dsb. Dengan kata lain Ol,i adalah fungsi keanggotaan dari Aidan
menspesifikasikan derajat keanggotaan x dan y terhadap Ai. Fungsi keanggotaa
didasarkan pada persamaan bell dengan nilai maksimum 1 dan nilai minimum 0.
16
(2.12)
Dimana {a, b, c} adalah himpunan parameter. Parameter ci dan ai dapat
diatur untuk merubah nilai dari pusat dan lebar dari kurva bell, sedangkan
bidigunakan untuk mengatur kemiringan kurva dan harus bernilai positif agar kurva
tidak terbalik. Jika nilai dari parameter-parameter ini berubah, maka kurva fungsi
bell juga akan berubah. Hal ini berarti akan terbentuk berbagai fungsi keanggotaan
untuk himpunan linguistik Ai, ....,Isesuai dengan model fuzzy Sugeno. Parameter pada
lapisan ini disebut dengan parameter premis.
Lapisan 2
Setiap simpul pada lapisan ini adalah simpul nonadaptif. Output-nya
merupakan perkalian dari semua input yang masuk pada lapisan ini.
(2.13)
Tiap keluaran simpul menyatakan derajat pengaktifan (firing strength) tiap
aturan fuzzy. Banyaknya simpul pada lapisan ini menunjukkan banyaknya aturan
yang dibentuk.
Lapisan 3
Setiap simpul pada lapisan ini adalah simpul nonadaptif yang menampilkan
fungsi derajad pengaktifan ternomalisasi (normalized firing strength) yaitu rasio
keluaran simpul ke-i pada lapisan sebelumnya terhadap seluruh keluaran lapisan
sebelumnya, dengan bentuk fungsi simpul:
(2.14)
Lapisan 4
Setiap simpul pada lapisan ini adalah simpul adaptif dengan fungsi simpul:
(2.15)
Dengan adalah derajat pengaktifan ternormalisasi dari lapisan ke 3 dan
{ pi, qi, ri} menyatakan parameter konsekuen yang adaptif.
Lapisan 5
Pada lapisan ini hanya ada satu simpul tetap yang fungsinya untuk
menjumlahkan semua masukan.
∑
∑∑ ==
i i
ii i
ii
ii w
fwfwO ,5 (2.16)
17
Jaringan adaptif dengan lima lapisan tersebut ekivalen degan system
inferensi fuzzy Sugeno.
2.3.1 Proses Pembelajaran dengan RLSE untuk Parameter Konsekuen pada
Tahap Maju
Berdasarkan arsitektur ANFIS pada Gambar 2.3, diketahui bahwa jika nilai
dari parameter premis tetap maka keluaran keseluruhannya dapat dinyatakan dengan
kombinasi linier dari parameter konsekuen.
(2.17)
Jika jumlah N data belajar diterapkan pada persamaan (2.18), maka didapat
(2.18)
Jika persamaan (2.19) dinyatakan dengan persamaan matriks, berbentuk:
(2.19)
Dengan dimensi dari masing-masing matriks A, X dan B adalah PxM, Mxl,
dan Pxl. Dimana P adalah jumlah pasangan data latih dan M adalah jumlah parameter
konsekuen. Penyelesaian terbaik adalah dengan maminimumkan ||AXB||2. Dengan
teori LSE didapatkan solusi X*, LSE dari X, adalah dengan menggunakan pseudo-
inverse dari X :
(2.20)
Karena memperlama waktu komputasi yang disebabkan oleh perkalian
dengan inverse matriks dan persamaan menjadi tidak jelas jika ATA adalah matriks
singular, maka X dihitung dengan Recursive LSE (RLSE) seperti berikut:
Dengan adalah vektor baris dari matriks adalah komponen ke i dari
matriks B, dan Siadalah matriks kovarian. Inisial kondisi dari X0 adalah 0 dan S0
adalah , dimana adalah bilangan positif besar dan I adalah matriks identitas
dengan ukuran MxM.
(2.21)
18
2.3.2 Proses Pembelajaran Backpropagation-erroruntuk Parameter Premis
pada Tahap mundur
Misalkan jaringan adaptif yang diberikan memiliki lapisan L dan lapisan k
memiliki sejumlah k node, maka untuk P data, jumlah dari kesalahan kuadrat adalah:
)2 (2.22)
Dengan adalah output ideal dari data adalah output yang dihasilkan
jaringan. Tujuan dari sistem adaptif adalah untuk meminimumkan pengukuran
kesalahan pada persamaan (2.10) dengan mengubah parameter-parameter adaptif.
Dengan mendefinisikan sinyal kesalahan sebagai ordered derivative terhadap
keluaran simpul ke-i, lapisan ke-1, maka ordered derivative dinotasikan dengan :
(2.23)
Sinyal kesalahan untuk simpul keluaran ke-i (pada lapisan 1) dapat dihitung langsung
dengan:
(2.24)
Jika pengukuran kesalahan seperti yang didefinisikan pada persamaan (2.16) maka
persamaan (2.11) menjadi :
(2.26)
Untuk simpul dalam pada lapisan 1 posisi ke-i, sinyal kesalahan dapat diperoleh
menggunakan aturan rantai :
(2.27)
Dengan 0 ≤ l ≤ L-1. Sinyal kesalahan simpul dalam, pada lapisan ke-1 dapat
dinyatakan sebagai kombinasi linier dari sinyal kesalahan simpul pada lapisan ke
(l+1). Jadi untuk menghitung sinyal kesalahan pada simpul ke-i lapisan ke-1 (1< L),
pertama digunakan persamaan (2.12) untuk mendapatkan sinyal kesalahan pada
lapisan keluaran kemudian persamaan (2.14) secara iteratif sampai mencapai lapisan
yang diinginkan. Prosedur diatas disebut backpropagation karena sinyal kesalahan
dihitung secara mundur dari lapisan keluaran hingga lapisan masukan.
Vektor gradien didefinisikan sebagai ordered derivative dari pengukuran
kesalahan terhadap tiap parameternya. Jika a adalah parameter simpul ke-1 lapisan
ke-1, maka diperoleh:
(2.28)
19
Dengan menggunakan metode gradient simple steepest descent, persamaan untuk
memperbaiki parameter a adalah :
(2.29)
Dengan � adalah laju proses belajar (learning rate) yang dinyatakan dengan :
(2.30)
Dengan k adalah step size yang dapat diubah untuk mempercepat konvergensi.
Parameter untuk simpul selanjutnya diperbaharui dengan :
(2.31)
Untuk sistem pada gambar , dengan menerapkan persamaan (2.26) dan persamaan
(2.15) maka diperoleh persamaan-persamaan :
(2.32)
adalah sinyal kesalahan lapisan keluaran dari jaringan adaptif. Kemudian secara
iteratif dengan propagasibalik diperoleh sinyal kesalahan simpul ke-i lapisan ke-L-1,
atau
(2.33)
(2.34)
(2.35)
(2.36)
(2.37)
(2.38)
(2.39)
dengan cara yang sama dapat diperoleh .
Dalam penelitian ini dicari nilai perubahan dari parameter-parameter fungsi
keanggotaan himpunan fuzzy. Parameter-parameter tersebut berada pada lapisan ke-1
maka sinyal kesalahan pada lapisan ke-1, yaitu . Dimasukkan ke
dalam persamaan (2.33)-(2.39) untuk mencari Pada persamaan (2.33)-(2.39)
digunakan notasi Wi,j, dimana nilai ini menyatakan bobot untuk sinyal kesalahan tiap
simpul. Berdasarkan persamaan (2.17) dapat dihitung dengan
(2.40)
20
Dibandingkan dengan menerapkan persamaan (2.16) untuk mencari sinyal
kesalahan pada lapisan dalam, prosedur yang lebih sederhana dapat dilakukan
dengan mengarikan Wi,j sebagai bobot sinyal kesalahan dari simpul i merupakan
jumlah dari tiap sinyal kesalahan yang masuk ke simpul j dikalikan dengan bobotnya.
Proses belajar propagasi balik (EBP) untuk contoh ini bisa digambarkan sebagai
berikut.
Gambar 2.8 Proses Belajar Backpropagation pada ANFIS
2.4 Komoditi & Saham
Komoditi adalah sesuatu benda nyata yang relatif mudah diperdagangkan,
dapat diserahkan secara fisik, dapat disimpan untuk jangka waktu tertentu dan dapat
dipertukarkan dengan produk lainnya dengan jenis yang sama, yang biasa dapat
dibeli atau dijual oleh investor melalui bursa berjangka. Secara umum, suatu produk
yang diperdagangkan, termasuk valuta asing, instrumen keuangan dan indeks
(Ferdiansyah, 2013).
Biasanya produk komoditi berupa barang mineral, produk pertanian (beras,
gandum, jagung, kopi, gula, dan lain-lain), dan pertambangan (emas, batubara,
timah, perak, minyak bumi dan lain-lain). Pasar komoditi menjanjikan peluang
investasi yang berpotensi untuk menghasilkan banyak uang serta terdapat tantangan
tersendiri bagi para investor.
Saham dapat didefinisikan sebagai tanda penyertaan modal seseorang atau
pihak (badan usaha) dalam suatu perusahaan atau perseroan terbatas. Dengan
21
menyertakan modal tersebut, maka pihak tersebut memiliki klai atas pendapatan
perusahaan, klaim atas asset perusahaan, dan berhak hadir dalam Rapat Umum
Pemegang Saham (RUPS) (sumber : www.idx.co.id).
2.5 Prediksi
Prediksi merupakan pernyataan tentang apa yang akan terjadi dimasa yang
akan datang, yang biasanya didasari oleh pengalaman dan ilmu pengetahuan yang
dapat dipertanggung jawabkan namun tidak selamanya dapat digunakan.
Pada dasarnya, istilahprediksi memiliki arti yang sedikit berbeda. Pada
umumnya, peramalan dilakukan dengan cara menggabungkan sejumlah besar
informasi yang bersifat subyektif dan obyektif untuk membentuk perkiraan yang
terbaik tentang masa depan. Sedangkan prediksi, dilakukan dengan cara
menggunakan teknik statistik dalam membentuk gambaran masa depan berdasarkan
pengolahan angka-angka historis.
Prediksi, seringkali digunakan oleh perusahaan besar untuk mendapatkan
apa saja yang harus dilakukan agar suatu perusahaan dapat meraih apa yang mereka
inginkan. Ini memungkinkan suatu perusahaan untuk mendapatkan keuntungan lebih
dan mencegah kerugian besar dikemudian harinya.
Beberapa Sifat Hasil Prediksi :
Dalam membuat peramalan atau menerapkan hasil suatu peramalan, maka
ada beberapa hal yang harus dipertimbangkan, yaitu (Nasution, 2003):
1. Peramalan pasti mengandung kesalahan, artinya peramal hanya bisa mengurangi
ketidakpastian yang akan terjadi, tetapi tidak dapat menghilangkan
ketidakpastian tersebut.
2. Peramalan seharusnya memberikan informasi tentang berapa ukurankesalahan,
artinya karena peramalan pasti mengandung kesalahan, maka adalah penting
bagi peramal untuk menginformasikan seberapa besar kesalahan yang mungkin
terjadi.
3. Peramalan jangka pendek lebih akurat dibandingkan peramalan jangka panjang.
Hal ini disebabkan karena pada peramalan jangka pendek, faktor-faktor yang
mempengaruhi permintaan relatif masih konstan, sedangkan semakin panjang
periode peramalan, maka semakin besar pula kemungkinan terjadinya perubahan
faktor-faktor yang mempengaruhi permintaan.
22
2.6 Rekayasa Perangkat Lunak
2.6.1 Unified Modelling Language (UML)
Unified Modelling Language adalah sebuah bahasa standar yang digunakan
untuk membantu para pengembang perangkat lunak untuk membangun sebuah
perangkat lunak yang baik (Pressman, 2010:841).
2.6.1.1 Use Case Diagram
Use Case Diagram adalah sebuah diagram yang menggambarkan interaksi
antara sistem dan sistem eksternal dan penggunaan. Dengan kata lain, diagram ini
menjelaskan siapa saja dan bagaimana berhubungan dengan sistem (Whitten &
Bentley, 2007 : 246).
Open
Play
Select
Music
System
Pause
Gambar 2.9 Use Case Diagram MP3
Berikut adalah penjelasan istilah Use Case Diagram :
1. Actor
Actor digunakan untuk menggambarkan pelaku yang menyediakan atau
menerima informasi dari sistem.
Gambar 2.10 Actor
23
2. Use Case
Use Case digunakan untuk menggambarkan fungsionalitas dan kebutuhan sistem
dari sudut pandang Actor.
Gambar 2.11 Use Case
2.6.1.2 Use Case Narrative
Use Case Narrative merupakan penjelasan mengenai setiap use case yang
didokumentasikan ke dalam sudut pandang satu naratif (Whitten & Bentley, 2007,
P.25 – P.26).
Berikut ini adalah contoh Use Case Narative MP3:
Tabel 2.2 Use Case Narative MP3
2.6.2 Activity Diagram
Activity Diagram adalah diagram yang menggambarkan perilaku dinamis
dari suatu atau bagian sistem melalui proses kontrol dari berbagaitindakan yang
dilakukan oleh sistem. Activity Diagram memiliki kemiripan dengan flowchart, tetapi
dapat memiliki proses yang konkuren. Activity Diagram juga dapat diberi swimlanes
untuk menyatakan participant yang menjalankan action terkait (Pressman, 2010:853-
855). Berikut ini adalah contoh activity diagram dengan swimlanes:
Nama Use Case Select Music
Actor User
Deskripsi
Use Case ini mendeskripsikan tentang Select Music
dalam MP3
Precondition Actor telah membuka aplikasi.
Flow of Event Actor Action System Response
Step 1. Actor memilih Step 2. Sistem akan
Musik memutar lagu yang ada di
playlist.
Postcondition Actor melakukan proses Play Music.
24
Partition3Partition2Partition1
ActionState1
ActionState2 ActionState3ActionState4
ActionState5
Gambar 2.12 Contoh Activity Diagram
Berikut ini adalah penjelasan istilah dalam Activity Diagram:
1. Initial Node
Initial node digunakan untuk menggambarkan titik awal proses dalam activity
diagram. Initial node digambarkan sebagai lingkaran hitam (Pressman,
2010:853).
Gambar 2.13 Initial Node
25
2. Action Node
Action node digunakan untuk menggambarkan proses yang dilakukan oleh
sistem dalam activity diagram. Action node digambarkan sebagai rounded
rectangle (Pressman, 2010:853).
Gambar 2.14 Action Node
3. Control Flow
Control flow digunakaan untuk menggambarkan alir dari suatu elemen ke
elemen lainnya dalam activity diagram. Control flow digambarkan sebagai garis
panah (Pressman, 2010:853).
Gambar 2.15 Control Flow
4. Fork
Fork digunakan untuk menggambarkan pemisahan suatu proses menjadi dua
atau lebih proses yang konkuren. Fork digambarkan sebagai persegi panjang
hitam horizontal dengan satu panah input dan dua atau lebih panah
output(Pressman, 2010:853).
Gambar 2.16 Fork
5. Join
Join digunakan untuk menggambarkan sinkronisasi proses yang konkuren. Join
digambarkan sebagai persegi panjang hitam horizontal dengan banyak panah
input dan satu panah output(Pressman, 2010:854).
26
Gambar 2.17 Join
6. Decision
Decision digunakan untuk menggambarkan kondisi seleksi dalam control flow.
Decision digambarkan sebagai wajik dengan satu panah input dan dua atau lebih
panah output. Setiap panah output akan diberi keterangan (Pressman, 2010:854-
856).
Gambar 2.18 Decision
2.6.3 Sequence Diagram
Sequence Diagram adalah diagram yang menjelaskan mengenai komunikasi
dinamis antar objek selama proses eksekusi berlangsung. Sequence Diagram
menggambarkan adanya berbagai pesan yang dikirim antar objek untuk
menyelesaikan suatu proses (Pressman, 2010:848). Berikut ini adalah contoh dari
Sequence Diagram:
27
Gambar 2.19 Contoh Sequence Diagram
Berikut ini adalah penjelasan istilah dalam Sequence Diagram:
1. Lifelines
Lifelines digunakan untuk menggambarkan jangka waktu dari suatu intance
objek atau role. Lifelines digambarkan sebagai garis putus-putus di bawah objek
(Pressman, 2010:849).
Gambar 2.20 Lifelines
2. Instance Role
Instance role digunakan untuk menggambarkan instance yang terlibat dalam
suatu proses. Instance umumnya menunjuk ke suatu objek. Nama dari instance
role dapat diawali tanda titik dua jika mengacu pada sebuah objek (Pressman,
2010:849).
28
Gambar 2.21 Instance
3. Activation bar
Activation bar digunakan untuk menggambarkan lama waktu eksekusi suatu
operasi. Activation bar digambarkan sebagai persegi panjang putih pada lifelines
(Pressman, 2010:849).
Gambar 2.22 Activation Bar
4. Messages (call)
Messages (call) digunakan untuk menggambarkan pesan yang dikirim dari
instance pengirim ke penerima. Messages (call) digambarkan sebagai sebuah
garis panah penuhdengan nama operation yang dieksekusi. Messages (call) juga
dapat berisi parameter, jenis serta return type dari operation yang dieksekusi.
Jika instance pengirim dan penerima sama, maka panah dapat menunjuk kembali
ke instance yang sama (Pressman, 2010, 849-851).
Gambar 2.23 Message (call)
5. Messages (return)
Messages (return) digunakan untuk menggambarkan pesan balasan (reply) dari
instance penerima ke pengirim. Messages(call) digambarkan sebagai sebuah
garis panah putus-putus (Pressman, 2010, 849).
29
Gambar 2.24 Messages (return)
2.6.4 Flowchart
Flowchart adalah suatu diagram yang menyajikan berbagai simbol untuk
menampilkan alur data dan urutan operasi dalam suatu sistem. Berikut adalah
penjelasan istilah simbol standar dalam flowchart.
1. Terminal
Terminal digunakan untuk merepresentasikan awal atau akhir flowchart.
Gambar 2.25 Terminal
2. Input/Output(I/O)
Input/Output(I/O) digunakan untuk merepresentasikan data untuk proses
berikutnya (input) atau menyimpan informasi proses (output).
Gambar 2.26 Input/Output
3. Process
Process digunakan untuk merepresentasikan setiap jenis proses dalam flowchart.
Gambar 2.27 Process
4. Flowline
Flowline digunakan untuk menghubungkan berbagai simbol sehingga terbentuk
sebuah urutan proses
30
Gambar 2.28 Flowline
5. Decision
Decision digunakan untuk merepresentasikan operasi tambahan deskripsi
sebagai klarifikasi.
Gambar 2.29 Decesion
2.6.5 Waterfall Model
Waterfall Model nama lain dari model ini adalah Linear Sequential Model.
Model ini biasa disebut dengan classic life cycle atau waterfallprocess model. Model
ini merupakan model yang pertama kali moncul sekitar tahun 1970-an sehingga
banyak orang menganggap model ini kuno. Namun demikian, model ini merupakan
model yang paling banyak dipakai oleh banyak kalangan dalam Software Enginering
(SE) karena melakukan pendekatan secara sistematis dan urut mulai dari level
kebutuhan sistem hingga tahap maintance. Di dalam model ini tahap demi tahap
harus dilalui sehingga suatu tahap dapat dikerjakan apabila tahap sebelumnya telah
selesai dikerjakan. Sebagai contoh tahap desain dapat dilakukan setelah tahap
requirement selesai. Berikut ini beberapa fase pada pemodelan waterfall (Pressman,
2010, p39).
Gambar 2.30 Waterfall Model
31
1. Communication
Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk
mengadakan pengumpulan data dengan melakukan pertemuan dengan customer,
maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel,
maupun internet.
2. Planning
Proses Planning ini merupakan lanjutan dari proses communication. Tahap ini
akan menghasilkan dukumen user requirement atau bisa dikatakan sebagai data
yang berhubungan dengan keinginan user dalam pembuatan software, termasuk
rencana yang akan dilakukan.
3. Modeling
Proses ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan
software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus
pada rancangan struktur data, arsitektur software, representasi interface, dan
detail (algoritma) prosedural. Tahap ini akan menghasilkan dokumen yang
disebut software requirement.
4. Construction
Merupakan proses membuat code. Coding merupakan penerjemahan desain
dalam bahasa yang bisa dikenali oleh komputer. Programmer akan
menerjemahkan transaksi yang diminta oleh user. Tahap inilah yang merupakan
tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan
komputer akan dimaksimalkan dalam tahapan ini. Setelah coding selesai maka
akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing
adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk
kemudian bisa diperbaiki.
5. Deployment
Tahap ini bisa dikatakan akhir dalam pembuatan sebuah software atau sistem.
Setelah melakukan analisis, desain dan coding maka sistem yang sudah jadi akan
digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan
pemeliharaan secara berkala.
6. Maintenance
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah
pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.
Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan
32
sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software
tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal
perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
2.7 Inteaksi Manusia dan Komputer
Menurut (Sheinderman, 2010:88), ada delapan aturan emas (eight golden
rules) dalam rancangan suatu sistem inteaksi manusia dan komputer yang baik, yaitu:
1. Strive for consistency (berusaha untuk konsisten).
2. Cater to universal usability (dapat digunakan secara universal).
3. Design dialogs to yield closure (pengorganisasian berbagai aksi ke dalam dialog
untuk membentuk urutan yang jelas dari awal sampai penutupan).
4. Prevent Errors (pendeteksian error dan penyediaan instruksi sederhana untuk
memperbaiki error tersebut).
5. Permit easy reversal of actions (menyediakan fitur untuk kembali ke aksi
sebelumnya dengan mudah).
6. Support internal locus of control (memungkinkan pengguna untuk mengatur
sistem dan tampilan aplikasi).
7. Reduce short-term memory load (mengurangi baban pengguna untuk mengigat
berbagai informasi dari layar aplikasi).