bab 2 landasan teori 2 -...

26
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.

Upload: duongdien

Post on 12-Mar-2019

224 views

Category:

Documents


0 download

TRANSCRIPT

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).