7
BAB 2 LANDASAN TEORI
2.1 Forex Valuta asing (valas) atau foreign exchange (forex) atau foreign currency adalah mata uang asing atau alat pembayaran lain yang digunakan untuk melakukan atau membiayai transaksi ekonomi keuangan internasional dan yang mempunyai catatan kurs resmi dari bank sentral (Hady, 1997). Forex merupakan produk investasi yang sifatnya liquid dan bersifat internasional. Perbedaan nilai mata uang kedua negara yang berubah dari waktu ke waktulah yang menjadi dasar diperolehnya keuntungan. Dari banyaknya mata uang yang beredar didunia, hanya terdapat beberapa mata uang yang sering digunakan sebagai satuan hitung dan banyak dicari dalam transaksi perdagangan sebagai alat pembayaran internasional. Mata uang yang dimaksud umumnya berasal dari negara-negara maju yang memiliki perekonomian kuat dan relatif stabil dan mata uang tersebut sering mengalami apresiasi (kenaikan nilai) dibandingkan dengan mata uang lainnya, seperti contohnya US Dollar (USD), Euro (EUR), British Poundsterling (GBP), Swiss Franc (CHF), Japan Yen (JPY), Australian Dollar (AUD), dan sebagainya. Terdapat pula mata uang yang jarang digunakan sebagai alat pembayaran dan kesatuan hitung serta nilainya sering mengalami depresiasi (penurunan nilai). Mata uang ini pada umumnya berasal dari negara-negara berkembang dan perekonomiannya sedang tumbuh, seperti contohnya Indonesia, Malaysia, Filipina, dan sebagainya. Sekarang ini, mata uang negara bukan hanya sebagai alat pembayaran dalam perdagangan internasional, melainkan juga telah menjadi komoditi yang juga
8
diperdagangkan sebagaimana layaknya dengan barang biasa umumnya. Dalam perkembangannya, volume transaksi komoditi uang yang diperdagangkan bahkan lebih besar, sangat lancar, dan cenderung membahayakan perekonomian suatu negara yang mata uangnya diperdagangkan.
2.1.1 Pasar Forex Forex (Foreign Exchange) atau Valuta Asing adalah pasar mata uang yang merupakan pasar derifatif terbesar di dunia. Sebenarnya keberadaan forex trading telah lama ada sejak ditemukannya teknik mengkonversi mata uang sebuah negara ke mata uang negara lainnya. Namun secara kelembagaan baru ada setelah didirikannya badan arbitrase kontrak berjangka (futures). Pasar forex / valas berjalan selama 24 jam sehari dan 5 hari seminggu. Dimulai dari pasar Eropa, Amerika, Australia dan Asia. Tidak seperti Bursa Efek Jakarta yang hanya bisa dapat bertransaksi di siang hari, pada forex trading (khususnya pada online forex trading) kita dapat bertransaksi kapan saja dan dimana saja. Tidak semua mata uang dapat diperdagangkan disini. Hanya beberapa mata uang negara maju yang biasa dipergunakan yaitu US Dollar (USD), Euro (EUR), British Poundsterling (GBP), Swiss Franc (CHF), Japan Yen (JPY), Australian Dollar (AUD). Semua mata uang ini diperdagangkan secara berpasang-pasangan (disebut pair), contohnya GBP/USD, dll. Forex trading Online adalah perdagangan / pertukaran mata uang asing dengan mata uang asing lainnya dengan satu satuan kontrak yang disebut lot dan dilakukan secara online. Selain itu perdagangan di Forex tidak dilakukan secara fisik namun hanya melibatkan nilainya saja.
9
2.1.2 Pelaku Pasar Forex Berikut ini adalah para pelaku yang berperan penting didalam perdagangan valas: a. Bank Sentral Fungsi Bank Sentral dalam pasar valuta asing umumnya sebagai stabilitator nilai tukar mata uang lokal. b. Perusahaan atau individu Perusahaan atau individu memanfaatkan pasar valuta asing untuk memperlancar bisnisnya. Yang termasuk dalam kelompok ini adalah eksportir, importir, investor internasional, perusahaan multinasional dan sebagainya. c. Spekulan dan Arbitrator Spekulan dan arbitrator bertindak atas kehendak mereka sendiri untuk mendapat keuntungan dari perubahan atau fluktuasi harga umum (capital gain). d. Dealer Biasanya yang bertindak sebagai dealer adalah pihak Bank, meskipun ada juga beberapa dari non-bank. Mereka mendapatkan keuntungan dari selisih harga jual dan harga beli valuta asing. e. Pialang Pialang bertindak sebagai perantara yang mempertemukan penawaran dan permintaan terhadap mata uang tertentu.
10
2.1.3 Faktor – Faktor yang Mempengaruhi Kurs Valuta Asing Secara umum, faktor yang mempengaruhi nilai kurs valuta asing (Hady,1997) adalah sebagai berikut : a. Permintaan dan penawaran valas Sesuai dengan hukum permintaan dan penawaran, harga valas dapat menjadi lebih mahal dari nilai nominalnya bila permintaan melebihi jumlah yang ditawarkan sedangkan penawaran berkurang, begitu pula sebaliknya. b. Tingkat inflasi Tingginya angka inflasi yang terjadi pada suatu negara mengindikasikan mahalnya harga barang (tertentu) di negara tersebut. c. Tingkat suku bunga Isu mengenai tingginya tingkat bunga dapat menarik para spekulan uang untuk memanfaatkan selisih nilai bunga pinjaman dan simpanan. Ketika mata uang asing masuk ke suatu negara dalam jumlah banyak, permintaan mata uang lokal akan makin tinggi sehingga nilai mata uang lokal akan naik, sedangkan nilai mata uang asing relatif akan menurun. d. Tingkat pendapatan dan produksi Makin besar nilai barang yang diimpor, makin besar juga permintaan mata uang asing tersebut sehingga harganya relatif naik dari harga semula terhadap mata uang lokal. e. Neraca perdagangan Cadangan devisa adalah total valuta asing yang dimiliki oleh pemerintah dan swasta dari suatu negara. Cadangan devisa yang bernilai positif mengindikasikan
11
bahwa penawaran mata uang asing lebih besar daripada permintaannya, sehingga nilai mata uang lokal menguat, begitupun sebaliknya. f. Pengawasan pemerintah Cara yang sering dilakukan pemerintah dalam mengawasi nilai mata uangnya, yaitu dengan cara kebijakan fiskal dan kebijakan moneter. Kebijakan fiskal dilakukan dengan cara menaikkan nilai pajak, mengetatkan belanja negara, dan sebagainya dengan tujuan jumlah mata uang lokal makin sedikit. Kebijakan moneter biasanya berupa pengetatan uang beredar (atau sebaliknya), menaikkan / menurunkan tingkat suku bunga, dan sebagainya. g. Perkiraan / spekulasi Perkiraan, terutama dari orang-orang yang dianggap berpengalaman dalam bidang perdagangan uang dan bidang politik, apabila sifatnya positif bagi negara yang bersangkutan, kemungkinan besar menyebabkan naiknya permintaan uang lokal dari negara tersebut.
2.1.4 Peramalan 2.1.4.1 Pengertian Peramalan Menurut buku metode peramalan yang ditulis oleh Djauhari (1986, p12), peramalan adalah menduga atau memprediksi peristiwa yang akan datang atau terjadi di masa depan dan bertujuan untuk memperkecil resiko yang akan mungkin terjadi akibat keputusan yang kita ambil, dengan tidak menghilangkan secara penuh faktor-faktor ketidakpastian yang secara eksplisit diperhitungkan dalam perhitungan. Jadi, inti dari pengertian peramalan adalah suatu usaha atau kegiatan untuk menduga, memprediksi apa yang akan terjadi di masa yang akan datang, serta bertujuan
12
untuk memperkecil resiko atau kesalahan yang mungkin terjadi terhadap keputusan yang akan kita ambil. Hubungan antara keputusan yang diambil, ramalan, dan galat digambarkan sebagai berikut: Keputusan
=
Keputusan hasil ramalan
+
Galat ramalan
Gambar 2.1 Hubungan Antara Keputusan Dan Galat
Dari hubungan gambar diatas dapat terlihat bahwa keputusan yang kita ambil itu selalu berhubungan atau memperhitungkan galat atau error. Jadi pengkajian dari galat ramalan sama pentingnya dengan cara peramalan yang kita ambil. Dalam merumuskan masalah peramalan langkah pertama yang harus dilakukan adalah mengkaji masalah pengambilan keputusan. Hal ini dimaksudkan agar dapat menuntun kita dalam menentukan apa yang akan kita ramal bentuk ramalan dan bagaimana tingkat keakuratan hasil keputusan yang kita inginkan. Langkah selanjutnya adalah mempelajari faktor-faktor yang sifatnya lebih teknis yaitu: a. Ketersediaan data. Apakah data-data yang kita perlukan dalam melakukan peramalan tersedia dan dapat kita gunakan. b. Pola data. Penanganan data yang berubah menurut waktu dengan tingkat perubahan yang lemah akan sangat brbeda dengan pola data yang tidak teratur. c. Komputasi. Jumlah variabel yang kecil serta frekuensi peramalan yang rendah daat ditangani dengan prosedur analisis yang mendalam. Lain halnya dengan jumlah veriabel yang besar dan frekuensi peramalan yang tinggi.
13
2.1.4.2 Kegunaan dan Peran peramalan Peramalan diperlukan karena adanya perbedaan waktu antara kesadaran akan dibutuhkannya suatu kebijakan baru dengan waktu pelaksanaan kebijakan tersebut. Dalam usaha mengetahui atau melihat perkembangan di masa depan, peramalan dibutuhkan untuk menentukan kapan suatu peristiwa akan terjadi atau suatu kebutuhan akan timbul, sehingga dapat dipersiapkan kebijakan atau tindakan-tindakan apa yang perlu dilakukan. Menurut Makridakis (1999, p14-15), peranan peramalan sangat penting, baik dalam penelitian, perancangan maupun dalam pengambilan suatu keputusan. Baik tidaknya hasil suatu penelitian di dalam ekonomi dan dunia usaha, khususnya peramalan valas, sangat ditentukan oleh ketepatan ramalan yang dibuat, oleh karena itu, ketepatan dari ramalan tersebut merupakan hal yang sangat penting. Walaupun demikian perlu disadari bahwa suatu ramalan bukan sesuatu yang harus pasti benar, jadi di dalam peramalan selalu ada unsur-unsur keasalahannya, biasa disebut juga galat, dimana kesalahan inilah yang harus kita perkecil kemungkinannya untuk muncul.
2.1.4.3 Jenis-Jenis Peramalan Menurut Sofjan Assauri (1984, p3-4), jenis-jenis peramalan berdasarkan sifatnya terbagi menjadi dalam dua buah kategori, yaitu: a. Teknik peramalan kuantitatif Teknik peramalan kuantitatif adalah suatu metode peramalan yang dapat diterapkan apabila terdapat informasi atau data tentang masa lalu dan informasi atau tersebut dapat dikuantitatifkan serta informasi atau data tersebut dapat
14
dianggap terus menerus berlanjut di masa yang akan datang. Teknik peramalan kuantitatif ini sendiri dapat dibagi menjadi dua metode lagi yaitu: 1. Metode deret berkala (time series) Metode deret berkala memperhatikan serangkaian variabel yang diamati pada suatu interval ruang waktu. 2. Metode kausal atau eksplanatoris (regresi). Metode kausal adalah suatu pemodelan dari variabel yang tak bebas Y (independent variable) sebagai fungsi dari sejumlah variabel bebas Xi sampai dengan Xk (dependent variable), metode ini juga digunakan bila ingin mengetahui seberapa kuat variabel-variabel X mempengaruhi variabel Y. b. Teknik peramalan kualitatif (teknologis). Metode kualitatif atau dikenal juga sebagai metode teknologi digunakan apabila asumsi pola data konstan tidak dipenuhi (pola yang terdapat di dalam masa lalu tidak dapat dianggap berlanjut terus di masa yang akan datang), serta pula informasi atau data tentang masa lalu tidak dapat kita peroleh atau bilamana ramalannya mengenai suatu masalah atau peristiwa tidak dapat diharapkan di masa mendatang.
Sedangkan berdasarkan sifat penyusunannya, maka peramalan dapat dibedakan menjadi 2 macam yaitu: a. Peramalan yang subjektif, yaitu peramalan yang didasarkan atas perasaan atau intuisi dari orang yang menyusunnya. Dalam hal ini, pandangan dari orang yang menyusunnya sangat menentukan baik tidaknya hasil ramalan tersebut.
15
b. Peramalan yang objektif, adalah peramalan yang didasarkan atas data yang relevan pada masa lalu, dengan menggunakan teknik-teknik dan metode dalam penganalisaan data tersebut.
2.1.4.4 Langkah-Langkah Peramalan Mutu dari hasil peramalan yang disusun, sangat ditentukan oleh proses pelaksanaan penyusunannya. Peramalan yang baik adalah peramalan yang dilakukan dengan mengikuti langkah-langkah atau prosedur penyusunan yang baik (Assauri,1984). Pada dasarnya ada tiga langkah peramalan yang penting ,yaitu: a. Mengumpulkan dan menganalisa data, tahap ini berguna untuk mencari pola dari data masa lalu. Data yang dikumpulkan haruslah data yang akurat, sebab data yang tidak akurat atau kurang memadai akan menyebabkan hasil ramalan menjadi kurang tepat. b. Menentukan metode yang digunakan, metode peramalan yang baik adalah metode yang memberikan hasil ramalan yang tidak jauh beda dengan fakta/kenyataan yang terjadi. c. Memproyeksikan
data
yang
lalu
dengan
menggunakan
metode
yang
dipergunakan dan mempertimbangkan adanya beberapa faktor-faktor perubahan.
2.1.4.5 Peramalan Valuta Asing Perdagangan internasional pada saat ini semakin meningkat, oleh karena itu aktivitas perdagangan valas juga turut meningkat. Hal ini menjadikan valas tidak lagi hanya digunakan sebagai alat pembayaran, tapi juga sebagai benda ekonomi yang dapat menghasilkan keuntungan. Kini banyak bermunculan para investor atau pemain valas,
16
baik itu perorangan maupun atas nama perusahaan, yang melakukan bisnis perdagangan valas, yang didasari oleh aturan yang sangat sederhana, yaitu berusaha membeli valas dengan nilai rendah dan kemudian menjualnya saat nilai tukar valas tersebut sedang tinggi. Oleh karena itu, para pemain valas/investor ini sangat membutuhkan suatu informasi prediksi terhadap pergerakkan nilai tukar valas, untuk menentukan kapan ia perlu menjual atau membeli untuk memperoleh keuntungan. Ada dua teknik analisis yang digunakan untuk membantu memprediksi pergerakan nilai tukar valas, yaitu: a. Analisis Fundamental Analisis fundamental adalah suatu analisis/studi terhadap faktor-faktor yang mempengaruhi kondisi perekonomian suatu negara, dimana analisis fundamental ini mempelajari penyebab-penyebab terjadinya pergerakan pasar (Hidayat, 2005). The Fei Ming (2000, p25-31) mengelompokkan faktor-faktor fundamental ke dalam empat kategori besar, yaitu: 1. Faktor Ekonomi Merupakan faktor yang menggambarkan aktivitas perekonomian suatu negara. Indikator-indikator utama yang biasanya dipakai untuk melihat aktivitas perekonomian suatu negara adalah pendapatan nasional bruto, pendapatan domestik bruto, inflasi, neraca pembayaran, dan tingkat bunga bank. 2. Faktor Politik Faktor politik sebagai salah satu indikator untuk memprediksi pergerakkan nilai tukar, sangat sulit untuk diketahui waktu dimana faktor ini akan
17
berdampak terhadap pergerakan nilai tukar. Ada kalanya faktor ini dapat mempengaruhi pergerakkan nilai tukar ada dan kalanya faktor ini tidak terlalu mempengaruhi pergerakkan nilai tukar. 3. Faktor Keuangan Faktor keuangan memusatkan perhatian terhadap pengamatan terhadap tingkat suku bunga, karena di dalam perdagangan valas terjadi transaksi pertukaran dua buah mata uang negara yang berbeda, maka yang harus diperhatikan adalah tingkat suku bunga kedua negara tersebut. 4. Faktor Eksternal Faktor eksternal disini adalah bahwa perubahan nilai tukar valas dapat dipengaruhi oleh keadaan perekonomian dari negara sekitar / negara tetangga. Sebagai contoh pada tahun 1998 tingkat nilai tukar mata uang negara-negara di Asia Tenggara melemah terhadap USD. b. Analisis Teknikal Anlisis teknikal merupakan suatu analisis terhadap pola pergerakkan harga di masa lampau dengan tujuan untuk meramalkan/memprediksi pergerakkan harga di masa yang akan datang (Fei Ming, 2000). Ada dua alat yang dapat digunakan untuk melakukan analisis teknikal, yaitu dengan menggunakan grafik atau dengan persamaan matematis yang lalu dituangkan kedalam grafik (Hidayat, 2005). Keuntungan dari menggunakan analisis teknikal adalah bahwa seorang analisis teknikal tidak perlu lagi mengetahui faktor-faktor yang mengakibatkan pergerakkan harga, karena semuanya telah terrefleksikan dalam harga pasar. Selain itu pula analisis teknikal bersifat fleksibel, sehingga dapat diterapkan untuk melakukan analisis terhadap berbagai macam jenis mata uang.
18
2.2 Artificial Neural Networks (ANN) 2.2.1 Sejarah ANN Jaringan syaraf tiruan telah dikembangkan sejak tahun 1940. Pada tahun 1943 McCulloch dan W.H.Pitts memperkenalkan pemodelan matematis neuron. Tahun 1949, Hebb mencoba mengkaji proses belajar yang dilakukan oleh neuron. Teori ini dikenal sebagai Hebbian Law. Tahun 1958, Rosenblatt memperkenalkan konsep perseptron suatu jaringan yang terdiri dari beberapa lapisan yang saling berhubungan melalui umpan maju (feedforward). Konsep ini dimaksudkan untuk memberikan ilustrasi tentang dasar-dasar intelejensia secara umum. Hasil kerja Rosenblatt yang sangat penting adalah perceptron convergence theorem (tahun 1962) yang membuktikan bahwa bila setiap perseptron dapat memilah-milah dua buah pola yang berbeda maka siklus pelatihannya dapat dilakukan dalam jumlah yang terbatas. Pada tahun 1960 Widrow dan Hoff menemukan ADALINE (Adaptive Linear Neuruon). Alat ini dapat beradaptasi dan beroperasi secara linier. Penemuan ini telah memperlebar aplikasi jaringan syaraf tiruan tidak hanya untuk pemilihan pola, tetapi juga untuk pengiriman sinyal khususnya dalam bidang adaptive filtering. Tahun 1969, Minsky dan Papert melontarkan suatu kritikan tentang kelemahan perseptronnya Rosenblatt di dalam memilah-milah pola yang tidak linier. Sejak saat itu penelitian di bidang jaringan syaraf tiruan telah mengalami masa vakum untuk kurang lebih satu dasawarsa. Tahun 1982, Hopfield telah memperluas aplikasi ANN untuk memecahkan masalah-masalah optimasi. Hopfield telah berhasil memperhitungkan fungsi energi ke dalam jaringan syaraf yaitu agar jaringan memiliki kemampuan untuk mengingat atau
19
memperhitungkan suatu obyek dengan obyek yang pernah dikenal atau diingat sebelumnya (associative memory). Konfigurasi jaringan yang demikian dikenal sebagai recurrent network. Salah satu aplikasinya adalah Travelling Salesman Problem (TSP). Pada tahun 1986 Rumelhart, Hinton dan William menciptakan suatu algoritma belajar yang dikenal sebagai propagasi balik (backpropagation). Bila algoritma ini diterapkan pada perseptron yang memiliki lapisan banyak (multi layer perceptron), maka dapat dibuktikan bahwa pemilahan pola-pola yang tidak linier dapat diselesaikan sehingga dapat mengatasi kritikan yang dilontarkan oleh Minsky dan Papert. Usaha manusia dalam mengembangkan suatu sistem yang meniru kemampuan dan perilaku makhluk hidup telah berlangsung selama beberapa decade belakangan ini. Jaringan saraf tiruan, merupakan hasil perkembangan ilmu dan teknologi yang kini sedang berkembang pesat. ANN yang berupa susunan sel-sel syaraf tiruan (neuron) dibangun berdasarkan prinsip-prinsip organisasi otak manusia. Perhatian yang besar pada ANN disebabkan adanya keunggulan yang dimilikinya seperti kemampuan untuk belajar, komputasi paralel, kemampuan untuk memodelkan fungsi nonlinier dan sifat fault tolerance.
2.2.2 Definisi ANN Salah satu cabang dari AI (Artificial Intelligence) adalah apa yang dikenal dengan Jaringan syaraf tiruan (Artificial Neural Network). Jaringan syaraf tiruan merupakan salah satu sistem pemrosesan informasi yang didesain dengan menirukan cara kerja otak manusia dalam menyelesaikan suatu masalah dengan melakukan proses belajar melalui perubahan bobot sinapsisnya. Jaringan syaraf tiruan mampu melakukan pengenalan kegiatan berbasis data masa lalu. Data masa lalu akan dipelajari oleh
20
jaringan syaraf tiruan sehingga mempunyai kemampuan untuk memberikan keputusan terhadap data yang belum pernah dipelajari. Dalam analisis ini dicoba untuk dipelajari dan dicoba penerapannya didalam bidang psikologi yaitu mendeteksi test psikologi pada manusia. ANN yang berupa susunan sel-sel syaraf tiruan (neuron) dibangun berdasarkan prinsip-prinsip organisasi otak manusia. Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian jaringan syaraf tiruan (Siang, 2005, p23). Neuron terdiri dari 3 elemen pembentuk sebagai berikut. a. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. b. Suatu unit penjumlah yang akan menjumlahkan masukan-masukan sinyal yang sudah dikalikan dengan bobotnya. c. Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain ataukah tidak. Jaringan syaraf tiruan ditentukan oleh 3 hal sebagai berikut. a. Pola hubungan antar neuron (disebut arsitektur jaringan ). b. Metode
untuk
menentukan
bobot
penghubung
(disebut
algoritma
training/learning/pelatihan/belajar) c. Fungsi aktivasi.
Di dalam jaringan syaraf tiruan, istilah simpul (node) sering digunakan untuk menggantikan neuron. Setiap simpul pada jaringan menerima atau mengirim sinyal dari atau ke simpul-simpul lainnya. Pengiriman sinyal disampaikan melalui penghubung. Kekuatan hubungan yang terjadi antara setiap simpul yang saling terhubung dikenal dengan nama bobot.
21
Model-model jaringan syaraf tiruan ditentukan oleh arsitektur jaringan serta algoritma pelatihan. Arsitektur biasanya menjelaskan arah perjalanan sinyal atau data di dalam jaringan. Sedangkan algoritma belajar menjelaskan bagaimana bobot koneksi harus diubah agar pasangan masukan-keluaran yang diinginkan dapat tercapai. Perubahan harga bobot koneksi dapat dilakukan dengan berbagai cara, tergantung pada jenis algoritma pelatihan yang digunakan. Dengan mengatur besarnya nilai bobot ini diharapkan bahwa kinerja jaringan dalam mempelajari berbagai macam pola yang dinyatakan oleh setiap pasangan masukan-keluaran akan meningkat. X1 X2
W1 W2
Y
W3 X3
Gambar 2.2 Sebuah Sel Syaraf Tiruan Pada gambar 2.2 diperlihatkan sebuah sel syaraf tiruan sebagai elemen penghitung. Simpul Y menerima masukan dari neuron x1, x2 dan x3 dengan bobot hubungan masing-masing adalah w1, w2 dan w3. Argumen fungsi aktivasi adalah net masukan (kombinasi linear masukan dan bobotnya). Ketiga sinyal simpul yang ada dijumlahkan: net = x1w1 + x2w2 + x3w3 Besarnya sinyal yang diterima oleh Y mengikuti fungsi aktivasi y = f(net). Apabila nilai fungsi aktivasi cukup kuat, maka sinyal akan diteruskan. Nilai fungsi aktivasi (keluaran model jaringan) juga dapat dipakai sebagai dasar untuk merubah bobot.
22
2.2.3 Arsitektur Jaringan Ada beberapa arsitektur jaringan syaraf, antara lain : a. Jaringan dengan Lapisan Tunggal (Single Layer Network) Pada jaringan ini, sekumpulan masukan neuron dihubungkan langsung dengan sekumpulan keluarannya. Sinyal mengalir searah dari layar (lapisan) masukan sampai layar (lapisan) keluaran. Setiap simpul dihubungkan dengan simpul lainnya yang berada diatasnya dan dibawahnya, tetapi tidak dengan simpul yang berada pada lapisan yang sama. Model yang masuk kategori ini antara lain : ADALINE, Hopfield, Perceptron, LVQ, dan lain-lain. Pada gambar berikut diperlihatkan arsitektur jaringan layar tunggal dengan n buah masukan (x1, x2,..., xn) dan m buah keluaran (y1, y2,..., ym) W11
X1
Wm1 W12 X2
W12
W22
Y1
Y2
Wm2 W1n Xn
Wn2 Wmn
Ym
Gambar 2.3 Jaringan Syaraf Tiruan dengan Lapisan Tunggal
b. Jaringan dengan Banyak Lapisan(Multiple Layer Network) Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output. Seperti terlihat gambar dibawah ada
23
lapisan lapisan yang terletak diantara 2 lapisan yang bersebelahan. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan lebih sulit dari pada jaringan lapisan tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah. Model yang termasuk kategori ini antara lain : MADALINE, backpropagation. Pada gambar berikut diperlihatkan jaringan dengan n buah unit masukan (x1, x2,..., xn), sebuah layar tersembunyi yang terdiri dari m buah unit (z1,z2,..., zm) dan 1 buah unit keluaran.
Gambar 2.4 Jaringan Syaraf Tiruan dengan Banyak Lapisan
c. Jaringan Reccurent Model jaringan reccurent (reccurent network) mirip dengan jaringan layar tunggal ataupun jamak. Hanya saja, ada simpul keluaran yanng memberikan sinyal pada unit masukan (sering disebut feedback loop). Dengan kata lain sinyal mengalir dua arah, yaitu maju dan mundur. Contoh : Hopfield network, Jordan network, Elmal network.
24
2.2.4 Algoritma Pembelajaran atau Pelatihan Ide dasar jaringan syaraf tiruan adalah konsep belajar atau pelatihan. Jaringanjaringan belajar melakukan generalisasi karakteristik tingkah laku objek. Algoritma pelatihan artinya membentuk pemetaan (fungsi) yang menggambarkan hubungan antara vektor masukan dan vektor keluaran (Sekarwati 2005, p4). Biasanya diberikan contoh yang cukup penting dalam membangun pemetaan tersebut. Walaupun untuk pasangan masukan keluaran yang belum pernah digambarkan sebelumnya. Untuk dapat menyelesaikan suatu permasalahan, jaringan syaraf tiruan memerlukan algoritma belajar atau pelatihan yaitu bagaimana sebuah konfigurasi jaringan dapat dilatih untuk mempelajari data historis yang ada. Dengan pelatihan ini, pengetahuan yang terdapat pada data dapat diserap dan direpresentasikan oleh hargaharga bobot koneksinya. Algoritma belajar atau pelatihan digolongkan menjadi sebagai berikut (Siang, 2005, p30): a. Dengan Supervisi (Supervised Training) Dalam pelatihan dengan supervisi, terdapat sejumlah pasangan data (masukantarget keluaran) yang dipakai untuk melatih jaringan. Pada setiap pelatihan, suatu masukan diberikan ke jaringan. Jaringan akan memproses dan mengeluarkan keluaran. Selisih antara keluaran jaringan dengan target (keluaran yang diinginkan) merupakan kesalahan yang terjadi. Jaringan akan memodifikasi bobot sesuai dengan kesalahan tersebut. Model yang menggunakan pelatihan dengan
supervisi
antara
lain
:
Perceptron,
Backpropagation, LVQ. b. Tanpa Supervisi (Unsupervised Training)
ADALINE,
MADALINE,
25
Dalam pelatihannya, perubahan bobot jaringan dilakukan berdasarkan parameter tertentu dan jaringan dimodifikasi menurut ukuran parameter tersebut. Model yang menggunakan pelatihan ini adalah model jaringan kompetitif.
2.2.5 ANN Backpropagation Algoritma pelatihan Backpropagation atau bisa juga disebut propagasi balik, pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart dan McClelland untuk dipakai pada Artificial Neural Networks, dan selanjutnya algoritma ini biasa disingkat dengan BP. Algoritma ini termasuk metode pelatihan supervised dan didesain untuk operasi pada jaringan feedforward multi lapis. Metode BP ini banyak diaplikasikan secara luas. Sekitar 90% bahkan lebih BP telah berhasil diaplikasikan di berbagai bidang, diantaranya diterapkan di bidang finansial, pengenalan pola tulisan tangan, pengenalan pola suara, sistem kendali, pengolah citra medika dan masih banyak lagi keberhasilan BP sebagai salah satu metoda komputasi yang handal. Algoritma ini juga banyak dipakai pada aplikasi pengaturan karena proses pelatihannya didasarkan pada hubungan yang sederhana, yaitu : Jika keluaran memberikan hasil yang salah, maka penimbang (Weight) dikoreksi supaya galatnya dapat diperkecil dan respon jaringan selanjutnya diharapkan akan lebih mendekati harga yang benar. BP juga berkemampuan untuk memperbaiki penimbang pada lapisan tersembunyi (hidden layer). Backpropagation memiliki beberapa unit yang ada dalam satu atau lebih layar tersembunyi. Gambar berikut adalah arsitektur backpropagation dengan n buah masukan
26
(ditambah sebuah bias), sebuah layar tersembunyi yang terdiri dari p unit (ditambah sebuah bias), serta m buah unit keluaran.
Y1
Wk W1 1
V10 1
Wm0
Vj0 Vp0
Yk
Wk1 Wm1
W11
W1j
Z1
V11
Vj1 Vp1
X1
Ym
Wkj Wmj Zj
Vji V1i
Vpi
Wkp W1p Wmp Zp
Vjn V1n Vpn
Xi
Xn
Gambar 2.5 Arsitektur Jaringan Backpropagation Vji merupakan bobot garis dari unit masukan xi ke unit layar tersembunyi Vj (Vj0 merupakan bobot garis yang menghubungkan bias di unit masukan ke unit layar tersembunyi Zj. Wkj merupakan bobot dari unit layar tersembunyi ZJ ke unit keluaran yk (wko merupakan bobot dari bias di layar tersembunyi ke unit keluaran Zk) Secara garis besar, mengapa algoritma ini disebut sebagai propagasi balik, dapat dideskripsikan sebagai berikut: Ketika Jaringan diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit-unit pada lapisan tersembunyi untuk diteruskan ke unit-unit lapisan keluaran. Kemudian unit-unit lapisan keluaran memberikan tanggapan yang disebut sebagai keluaran jaringan. Saat keluaran jaringan tidak sama dengan keluaran yang diharapkan maka keluaran akan menyebar mundur (backward) pada lapisan tersembunyi diteruskan ke unit pada lapisan masukan. Oleh karenanya maka mekanisme pelatihan tersebut dinamakan backpropagation / propagasi balik.
27
Tahap pelatihan ini merupakan langkah bagaimana suatu jaringan saraf itu berlatih, yaitu dengan cara melakukan perubahan penimbang (sambungan antar lapisan yang membentuk jaringan melalui masing-masin unitnya). Sedangkan pemecahan masalah baru akan dilakukan jika proses pelatihan tersebut selesai, fase tersebut adalah fase mapping atau proses pengujian / testing. Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat sebagai berikut. a. Kontinu. b. Terdiferensial dengan mudah. c. Merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi ketiga syarat tersebut sehingga sering dipakai adalah fungsi sigmoid biner yang memiliki range (0,1). Fungsi sigmoid biner didefinisikan sebagai berikut.
1
, ∞
1
∞
dengan f`(x) = σ f(x) [1-f(x)] y
f(x)
1 0.5
0
0
x
Gambar 2.6 Fungsi Sigmoid Biner Fungsi lain yang sering dipakai adalah fungsi sigmoid bipolar dengan range (1,1) yang didefinisikan sebagai berikut.
28
2
1, ∞
1
1
∞
f(x) y
0
x
‐1 0
Gambar 2.7 Fungsi Sigmoid Bipolar
Fungsi sigmoid memiliki nilai maksimum 1. Untuk pola yang targetnya lebih dari 1, pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada layar yang bukan layar keluaran. Pada layar keluaran, fungsi aktivasi yang dipakai adalah fungsi identitas f (x) = x .
2.2.5.1 Pelatihan Backpropagation Pelatihan pada jaringan feedfoward (umpan maju) dilakukan dalam rangka perhitungan bobot sehingga pada akhir pelatihan akan diperoleh bobot-bobot yang baik. Selama proses pelatihan, bobot-bobot diatur secara iteratif untuk meminimumkan error (kesalahan) yang terjadi. Error (kesalahan) dihitung berdasarkan rata-rata kuadrat kesalahan (MSE). Rata-rata kuadrat kesalahan juga dijadikan dasar perhitungan unjuk kerja fungsi aktivasi. Sebagian besar pelatihan untuk jaringan feedfoward (umpan maju)
29
menggunakan gradien dari fungsi aktivasi untuk menentukan bagaimana mengatur bobot-bobot dalam rangka meminimumkan kinerja. Gradien ini ditentukan dengan menggunakan suatu teknik yang disebut backpropagation. Pada dasarnya, algoritma pelatihan standar backpropagation akan menggerakkan bobot dengan arah gradien negatif. Prinsip dasar dari algoritma backpropagation adalah memperbaiki bobot-bobot jaringan dengan arah yang membuat fungsi aktivasi menjadi turun dengan cepat. Pelatihan backpropagation meliputi 3 fase sebagai berikut (Kristanto, 2004) : a. Fase 1, yaitu propagasi maju (feedforward). Pola masukan dihitung maju mulai dari layar masukan hingga layar keluaran menggunakan fungsi aktivasi yang ditentukan. b. Fase 2, yaitu propagasi mundur (backward). Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan yang terjadi itu dipropagasi mundur. Dimulai dari garis yang berhubungan langsung dengan unit-unit di layar keluaran. c. Fase 3, yaitu perubahan bobot. Modifikasi bobot untuk menurunkan kesalahan yang terjadi. Ketiga fase tersebut diulang-ulang terus hingga kondisi penghentian dipenuhi.
Algoritma pelatihan untuk jaringan backpropagation dengan satu layar tersembunyi (dengan fungsi aktivasi sigmoid biner) adalah sebagai berikut. Langkah 0 : Pemberian insiasialisasi penimbang (diberi nilai kecil secara acak). Langkah 1 : Jika kondisi tidak tercapai, lakukan langkah 2-9. Langkah 2 : Untuk setiap pasangan pelatihan, lakukan langkah 3-8.
30
Feedforward: Langkah 3 : Tiap unit masukan (xi, i = 1,…, n) menerima sinyal xi dan menghantarkan sinyal ini ke semua unit lapisan di atasnya (unit tersembunyi). Langkah 4 : Setiap unit tersembunyi (xi, i = 1,…, p) jumlahkan bobot sinyal masukannya, z_inj = voj +∑
ivij
voj = bias pada unit tersembunyi j aplikasikan fungsi aktivasinya untuk menghitung sinyal keluarannya, zj = f (z_inj) =
., dan kirimkan
_
sinyal ini keseluruh unit pada lapisan diatasnya (unit keluaran). Langkah 5 : Tiap unit keluaran (yk, k = 1,…, m) mejumlahkan bobot sinyal masukannya, y_ink = wok + ∑
j
wjk
wok = bias pada unit keluaran k dan aplikasikan fungsi aktivasinya untuk menghitung sinyal keluarannya, yk = f (y_ink) =
_
.
Backward: Langkah 6 : Tiap unit keluaran (yk , k = 1,…, m) menerima pola target yang saling berhubungan
pada
masukan
pola
pelatihan,
hitung
kesalahan
informasinya, δk = (tk – yk) f1 (y_ink) hitung koreksi bobotnya (digunakan untuk memperbaharui wjk nantinya), Δwjk = α δk zj
31
hitung koreksi biasnya (digunakan untuk memperbaharui wok nantinya), dan kirimkan δk ke unit-unit pada lapisan dibawahnya. Langkah 7 : Setiap unit lapisan tersembunyi (zj, j = 1,…, p) jumlahkan hasil perubahan masukannya (dari unit-unit lapisan diatasnya), δ_inj =∑
δk wjk
kalikan dengan turunan fungsi aktivasinya untuk menghitung informasi kesalahannya, δj = δ_inj f1 (z_inj) koreksi bobot vij, Δvij = α δj xi Dan koreksi bias v0j, Δv0j = α δj Lanjutkan ke tahap peng-update-an weight. Langkah 8 : Tiap unit keluaran (yk, k = 1,…, m) update bias dan bobotnya (j = 0,…, p) wjk (baru) = wjk (lama) + Δ wjk Tiap unit lapisan tersembunyi (zj, j = 1,…, p) update bias dan bobotnya (I = 0,…,n) : vij (baru) = vij (lama) + Δ vij Langkah 9 : Test kondisi, jika true maka training berhenti. Keterangan: f(x) = fungsi aktivasi x_setb = (x1,x2,…,xn) n = jumlah neuron pada input layer l = banyaknya pasangan data pel atihan
32
p = jumlah neuron pada hidden layer k = jumlah neuron pada output layer v = weight lapisan pertama w = weight lapisan kedua z_in = sinyal input untuk hidden neuron y_in = sinyal input untuk output neuron x = sinyal input z = sinyal output / level aktivasi dari hidden neuron y = sinyal output / level aktivasi dari output neuron α = parameter learning-rate δk = faktor kesalahan dalam unit output k
Parameter α merupakan laju pemahaman yang menentukan kecepatan iterasi. Nilai α terletak antara 0 dan 1 (0 ≤ α ≤ 1). Semakin besar harga α , semakin sedikit iterasi yang dipakai. Akan tetapi jika harga α terlalu besar, maka akan merusak pola yang sudah benar sehingga pemahaman menjadi lambat. Satu siklus pelatihan yang melibatkan semua pola disebut epoch. Pemilihan bobot awal sangat mempengaruhi jaringan syaraf tiruan dalam mencapai minimum global (atau mungkin lokal saja) terhadap nilai error (kesalahan) dan cepat tidaknya proses pelatihan menuju kekonvergenan. Apabila bobot awal terlalu besar maka input (masukan) ke setiap lapisan tersembunyi atau lapisan output (keluaran) akan jatuh pada daerah dimana turunan fungsi sigmoidnya akan sangat kecil. Apabila bobot awal terlalu kecil, maka input (masukan) ke setiap lapisan tersembunyi atau lapisan output (keluaran) akan sangat
33
kecil. Hal ini akan menyebabkan proses pelatihan berjalan sangat lambat. Biasanya bobot awal diinisialisasi secara random dengan nilai antara -0.5 sampai 0.5 (atau -1 sampai 1 atau interval yang lainnya). Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya propagasi maju (langkah 4 dan 5) saja yang dipakai untuk menentukan keluaran jaringan.
2.2.5.2 Backpropagation dalam Peramalan Salah satu bidang, backpropagation dapat diaplikasikan dengan baik adalah bidang peramalan (forecasting). Peramalan yang sering diketahui adalah peramalan besarnya penjualan, nilai tukar valuta asing, prediksi besarnya aliran sungai dan lainlain. Secara umum, masalah peramalan dapat dinyatakan dengan sejumlah data runtun waktu (time series) x1, x2,..., xn. Masalahnya adalah memperkirakan berapa harga xn+1 berdasarkan x1, x2,..., xn. Langkah-langkah membangun struktur jaringan untuk peramalan sebagai berikut. a. Transformasi Data Langkah awal sebelum melakukan proses pelatihan pada jaringan yang akan digunakan untuk peramalan adalah transformasi data. Data ditransformasi agar kestabilan taburan data dicapai. Selain itu berguna untuk menyesuaikan nilai data dengan range fungsi aktivasi yang digunakan dalam jaringan (Siang 2005, p121). b. Perancangan Struktur Jaringan Yang Optimum Langkah selanjutnya setelah pembagian data adalah penentuan bilangan simpul masukan, bilangan lapisan tersembunyi, bilangan simpul lapisan tersembunyi
34
dan bilangan simpul keluaran yang akan digunakan dalam jaringan. Terdapat beberapa aturan yang dapat membantu perancangan jaringan yang optimum, yaitu sebagai berikut. 1. Bilangan simpul masukan sama dengan periode dimana data berfluktuasi. 2. Bilangan simpul keluaran sama dengan bilangan keluaran masalah. 3. Mulai dengan satu lapisan tersembunyi dan digunakan lebih dari satu lapisan tersembunyi jika diperlukan. 4. Jika menggunakan satu lapisan tersembunyi, bilangan simpul tersembunyi awal adalah 75% dari bilangan simpul masukan. Penggunaan jaringan dengan dua atau lebih lapisan tersembunyi dalam masalah peramalan kebanyakan tidak akan memberikan pengaruh yang sangat besar terhadap prestasi jaringan untuk melakukan peramalan. Selain itu akan melambatkan proses pelatihan yang disebabkan bertambahnya simpul. Beberapa kaidah untuk memperkirakan bilangan simpul tersembunyi yaitu sebagai berikut. 1. h = n, 2n 2. h = n/2 dengan,
n = bilangan simpul masukan yang digunakan. h = bilangan simpul tersembunyi.
Penentuan bilangan simpul tersembunyi yang terbaik diperoleh secara trial and error dari simpul 1 sampai 2n. c. Pemilihan Koefisien Pemahaman dan Momentum Pemilihan koefisien pemahaman dan momentum mempunyai peranan yang penting untuk struktur jaringan yang akan dibangun. Dalam pembangunan
35
jaringan yang akan digunakan dalam peramalan, hasil keputusan yang kurang memuaskan dapat diperbaiki dengan penggunaan koefisien pemahaman dan momentum secara trial and error untuk mendapatkan nilai bobot yang paling optimum agar MAPE dan MSE jaringan dapat diperbaiki. d. Memilih dan Menggunakan Struktur Jaringan yang Optimum Jaringan yang dibangun akan dinilai keakuratan ramalannya. Kaedah penilaian yang digunakan adalah nilai Percentage Error (PE), Mean Absolute Percentage Error (MAPE) dan Mean Square Error (MSE). Pendekatan MAPE digunakan untuk menilai prestasi jaringan yang dilatih karena MAPE mengenal secara pasti signifikasi hubungan diantara data ramalan dengan data aktual melalui persentase dari data aktual serta indikator positif atau negatif pada galat (error) diabaikan. Ketepatan model diukur secara relatif menggunakan PE dan dilihat juga dari nilai MSE-nya. Nilai PE, MAPE dan MSE didapat dari persamaan di bawah ini. ŷ
MAPE = ∑
|
x 100 %
(Makridakis.1999,p61)
|
(Makridakis.1999,p61)
MSE = ∑
e = ∑
dengan,
n = bilangan ramalan.
y
ŷ
yt = nilai aktual pada waktu t. Ytˆ = nilai ramalan pada waktu t. |PE| = nilai absolut PE.
(Makridakis.1999,p59)
36
Berdasarkan nilai MAPE dan PE yang terendah dari proses pelatihan diperoleh jaringan yang optimum. Keakuratan ramalan jaringan dilihat dari nilai MAPE, MSE dan PE dari proses pengujian dan validasi. e. Pemilihan jaringan optimum dan penggunaannya untuk peramalan Langkah-langkah pemilihan jaringan yang optimum sebagai berikut. 1. Proses pelatihan dilakukan terhadap data pelatihan dengan struktur jaringan yang memiliki bilangan simpul tersembunyi berbeda akan diperoleh nilai keluaran jaringan. Nilai PE, MAPE dan MSE-nya dihitung. Jaringan dengan nilai MAPE terendah dipilih sebagai jaringan yang optimum untuk digunakan dalam peramalan. 2. Setelah proses pelatihan dilakukan proses pengujian terhadap data pengujian dengan struktur jaringan yang memiliki bilangan simpul tersembunyi berbeda yang telah dilatih akan diperoleh nilai keluaran jaringan. Nilai PE, MAPE dan MSE masing-masing struktur jaringan dihitung. Proses pengujian dilakukan untuk menguji prestasi pelatihan dan sebagai pendukung bahwa jaringan terpilih sebagai jaringan yang tepat untuk model peramalan. 3. Proses validasi dilakukan dengan menggunakan jaringan terpilih terhadap data validasi untuk melihat prestasi ramalannya.
37
2.3 Rekayasa Perangkat Lunak (RPL) Menurut Pressman (2002, p10) perangkat lunak adalah : a. Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan. b. Struktur data yang memungkinkan program dapat memanipulasi informasi secara proporsional. c. Dokumen yang menggambarkan operasi dan kegunaan program. Menurut Pressman (2002, p28), rekayasa perangkat lunak adalah pengembangan dan pengunaan prinsip pengembangan suara untuk memperoleh perangkat lunak secara ekonomis yang reliabel dan bekerja secara efisien pada mesin nyata.
2.3.1 Model Proses Rekayasa Perangkat Lunak (RPL) System Development Life Cycle (SDLC) adalah sistem pengembangan metode tradisional yang digunakan oleh sebagian besar perusahaan saat ini. SDLC adalah kerangka kerja yang terstruktur yang terdiri dari urutan proses oleh sistem informasi yang dikembangkan. Model-model lain untuk SDLC mungkin berisi lebih banyak atau lebih sedikit dari delapan tahap kami di sini. Namun, sebagian besar masih sama, terlepas dari beberapa tahap. Di masa lalu, pengembang menggunakan pendekatan waterfall ke SDLC, di mana tugas-tugas dalam satu tahap telah selesai sebelum melanjutkan pekerjaan ke tahap berikutnya (Potter, 2003).
38
Gambar 2.8 Waterfall Model a. Systems Investigation Pengembangan sistem profesional setuju bahwa semakin banyak waktu yang diinvestasikan dalam usaha memahami program yang harus dipecahkan, dalam memahami pilihan teknis untuk sistem dan pemahaman masalah yang mungkin terjadi selama perkembangan, semakin besar kesempatan untuk benar-benar berhasil memecahkan masalah. b. Systems Analysis Systems analysis adalah pemeriksaan bisnis organisasi terencana untuk memecahkan masalah dengan sistem informasi. Tahap ini mendefinisikan masalah bisnis, mengidentifikasi penyebabnya, menentukan solusi dan
39
mengidentifikasi persyaratan informasi bahwa solusi harus terpenuhi. c. Systems Design Systems design menggambarkan apa yang harus dilakukan untuk memecahkan masalah bisnis, dan systems design yang menggambarkan bagaimana sistem akan menyelesaikan tugas ini. d. Programming Programming melibatkan terjemahan spesifikasi desain ke dalam kode komputer. Proses ini dapat menjadi panjang dan memakan waktu. e. Testing Testing akan memeriksa untuk melihat apakah kode komputer akan menghasilkan hasil yang diharapkan dan mengalami kondisi tertentu. Testing membutuhkan sejumlah besar waktu, tenaga dan biaya untuk melakukan dengan benar. f. Implementation Implementation adalah proses konversi dari sistem lama ke sistem baru. g. Operation and Maintenance Setelah konversi, sistem baru akan beroperasi selama jangka waktu tertentu, sampai (seperti yang lama digantikan oleh sistem baru) itu tidak lagi memenuhi tujuannya. Sistem memerlukan beberapa jenis maintenance. Tipe pertama adalah debugging, sebuah proses yang berlanjut sepanjang hidup dari sistem. Tipe kedua adalah memperbarui sistem untuk mengakomodasi perubahan dalam kondisi bisnis.
40
2.3.2 Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem dan bagaimana sistem berinteraksi dengan dunia luar. Yang ditekankan dalam Use case diagram adalah ”apa” yang diperbuat sistem, dan bukan “bagaimana” sistem itu melakukannya. Use case diagram juga menjelaskan manfaat sistem jika dilihat menurut pandangan orang yang berada diluar sistem (actor).
Gambar 2.9 Use Case Diagram a. Actor : Actor menggambarkan orang, sistem atau entitas luar yang menyediakan informasi atau menerima informasi dari sistem. Actor menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan. b. Use case : Use case menggambarkan perilaku, termasuk didalamnya interaksi antara actor dengan sistem. Use case dibuat berdasarkan keperluan actor, merupakan
“apa”
yang
dikerjakan
sistem bukan
“bagaimana”
sistem
mengerjakannya. Setiap use case harus diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor.
41
c. Association: mengidentifikasi interaksi antara actor dan use case. Setiap asosiasi menjadi sebuah dialog yang harus dijelaskan dalam kasus menggunakan narasi. Setiap narasi pada gilirannya menyediakan serangkaian skenario yang dapat membantu dalam pengembangan uji kasus ketika mengevaluasi analisis, desain, dan implementasi dari penggunaan artefak kasus dan asosiasi. d. Include relationship: sebuah hubungan dimana sebuah use case (use case dasar) mengandung fungsi dari use case lainnya. Include relationship mendukung penggunaan ulang fungsi dalam sebuah model use case. e. Extend relationship: mengidentifikasi sebuah use case yang menyampaikan tindakan dari use case lainnya. Tipe hubungan ini menyatakan rincian tentang sebuah sistem atau aplikasi yang biasanya tersembunyi dalam sebuah use case.
2.3.3 State Transition Diagram State Transition Diagram adalah suatu modelling tool yang mengambarkan sifat ketergantungan pada waktu dari sebuah sistem. STD adalah suatu kumpulan keadaan atau atribut yang mencirikan suatu keadaan pada waktu tertentu. Komponen-komponen utama STD ialah : a. State, disimbolkan dengan bentuk kotak/persegi
State merepresentasikan reaksi yang ditampilkan ketika suatu tindakan dilakukan. Ada 2 jenis state, yaitu : State awal dan state akhir. State akhir dapat berupa beberapa state, sedangkan state awal tak boleh lebih dari satu. b. Arrow, disimbolkan dengan tanda panah
42
Arrow sering juga disebut juga dengan transisi state yang diberi label dengan ekspresi aturan, label tersebut menunjukkan kejadian yang menyebabkan transisi terjadi. c. Condition dan Action.
Condition adalah suatu event pada external environment yang dapat dideteksi oleh sebuah sistem. Action adalah yang dilakukan oleh sistem bila terjadi perubahan state atau merupakan reaksi terhadap condition. Action akan menghasilkan output, message display pada screen, menghasilkan kalkulasi.
Ada 2 cara pendekatan untuk membuat STD: a. Identifikasi setiap kemungkinan state dari sistem dan gambarkan masing-masing state pada sebuah kotak. Lalu buatlah hubungan antara state tersebut. b. Kita mulai dengan state pertama dan kemudian dilanjutkan dengan state -state berikutnya sesuai dengan flow yang diinginkan.
2.3.4 Diagram Alir (Flowchart) Diagram alir adalah sebuah skema yang mempresentasikan sebuah algoritma atau sebuah proses. Adapun simbol-simbol dari diagram alir yang digunakan dalam ilmu komputer seperti pada gambar berikut:
43
Gambar 2.10 Simbol-simbol Dalam Diagram Alir Keterangan gambar: a. Simbol yang menyatakan awal dan akhir. b. Simbol yang menyatakan proses c. Simbol yang menyatakan input ataupun output. d. Simbol yang menyatakan aliran data. e. Simbol yang mempresentasikan sebuah kondisi atau keputusan. Biasanya berisi pernyataan ya/tidak atau benar/salah.
2.4 Basis Data (Database) Menurut Richard Johnsonbaugh (1997, p115), database adalah kumpulan catatan yang dimanipulasi oleh komputer. Sebagai contoh, database penerbangan mungkin mengandung catatan reservasi penumpang, jadwal penerbangan, peralatan dan sebagainya. Sistem komputer mampu menyimpan jumlah informasi yang besar dalam database. Database bisa digunakan untuk berbagai penerapan. Sistem manajemen
44
database (database management system) merupakan program yang membantu pemakai mengakses informasi dari basis data. Aplikasi database hanyalah sebuah program yang dalam pelaksanaannya berinteraksi dengan database pada titik tertentu. Pendekatan database dapat dikaitkan dengan dua faktor, yaitu : a. Definisi data tertanam dalam program-program aplikasi, bukannya disimpan secara terpisah dan mandiri. b. Tidak ada kontrol dan manipulasi atas akses data di luar yang dipaksakan oleh program aplikasi.
2.5 Interaksi Manusia dan Komputer Ini prinsip-prinsip dasar desain antarmuka, heuristik berasal dari pengalaman, harus divalidasi dan halus (Shneiderman, 1998): 1. Strive for consistency Prinsip ini yang paling sering dilanggar, karena ada banyak bentuk konsistensi yang bisa dibentuk, yang umumnya sulit untuk diikuti semuanya. Konsisten urutan tindakan harus diminta dalam situasi yang mirip. Terminologi identik yang digunakan untuk prompt, menu, layar bantu, konsistensi warna, tata letak, huruf besar, huruf kecil, dan sebagainya harus diterapkan di seluruh halaman. Untuk pengecualian, seperti bagian password atau konfirmasi dari perintah menghapus dapat dimaklumi namun terbatas jumlahnya. 2. Enable frequent users to use shortcuts Karena frekuensi penggunaan yang semakin meningkat, pengguna mengininkan adanya fitur yang bisa dipakai untuk mengurangi jumlah interaksi dan untuk
45
meningkatkan kecepatan interaksi. shortcut, tombol khusus, perintah tersembunyi, dan fasilitas makro sering dicari oleh pengguna untuk kemudahan. Waktu respon yang cepat dan kecepatan tampilan adalah atraksi lainnya bagi frequent users. 3. Offer informative feedback Untuk setiap tindakan pengguna, sistem harus ada umpan balik. Untuk tindakan yang sering dilakukan atau tindakan kecil mendapat respon sederhana, sedangkan untuk tindakan yang jarang dan tindakan-tindakan besar, respon yang diberikan harus lebih baik. 4. Design dialogs to yield closure Urutan tindakan harus diatur dalam kelompok-kelompok yang memiliki awal, tengah, dan akhir. Umpan balik yang informatif pada kelompok penyelesaian tindakan operator memberikan kepuasan prestasi, rasa lega, sinyal untuk menurunkan rencana kontingensi dan pilihan dari pikiran mereka, dan suatu indikasi cara yang jelas untuk mempersiapkan kelompok tindakan berikutnya. 5. Offer error prevention and simple error handling Desain sistem yang dibuat harus sebaik mungkin sehingga pengguna tidak membuat kesalahan yang serius, misalnya memilih pilihan menu yang salah atau memasukkan isian huruf karakter abjad di bagian numerik. Jika pengguna membuat kesalahan, sistem harus mendeteksi kesalahan dan menawarkan konstruksi sederhana/khusus untuk pemulihan. 6. Permit easy reversal of actions Tindakan yang diambil harus dapat dikembalikan ke tindakan sebelumnya . Hal ini bertujuan untuk mengurangi kecemasan, karena pengguna tahu bahwa kesalahan dapat dibatalkan, sehingga mendorong eksplorasi lebih lanjut.
46
7. Support internal locus of control Operator berpengalaman menginginkan bahwa mereka yang memegang kendali atas sistem dan sistem menanggapi tindakan mereka. Sistem yang rusak, kesalahan entrydata, ketidakmampuan atau kesulitan dalam memperoleh informasi yang diperlukan, dan ketidakmampuan untuk menghasilkan tindakan yang diinginkan membangun kecemasan dan ketidakpuasan pengguna. 8. Reduce short-term memory load Keterbatasan pemrosesan informasi manusia dalam memori jangka pendek memerlukan tampilan yang tetap sederhana, tampilan beberapa halaman dapat dikonsolidasikan, jendela-gerak frekuensi dikurangi, dan waktu pelatihan yangg cukup, serta adanya urutan tindakan. Jika sesuai, akses online ke sintaks perintahbentuk, singkatan, kode, dan informasi lainnya harus disediakan.