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. 7
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:
µ[x] =
b.
0;
x≤a
(x – a) / (b – a);
a≤x≤b
1;
x≥b
(2.4)
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] =
x ≤ a atau x ≥ c
(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] =
x ≤ a atau x ≥ d
(x – a) / (b – a); a ≤ x ≤ b 1;
(2.7)
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 aturanaturan 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. O5,i = ∑ wi f i = i
∑wf ∑w i
i
i
i
i
(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 pseudoinverse 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:
(2.21) 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
dengan ukuran MxM.
adalah bilangan positif besar dan I adalah matriks identitas
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 Dengan
adalah output ideal dari data
(2.22) 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 dalam persamaan (2.33)-(2.39) untuk mencari
. Dimasukkan ke 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).
System Open Select Music
Play
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 Nama Use Case
Select Music
Actor
User Use Case ini mendeskripsikan tentang Select Music
Deskripsi
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
2.6.2
Actor melakukan proses Play Music.
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:853855). Berikut ini adalah contoh activity diagram dengan swimlanes:
24
Partition1
Partition2
Partition3
ActionState1
ActionState4
ActionState2
ActionState3
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:854856).
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).