BAB 2 LANDASAN TEORI
2.1
Saham dan Indeks Harga Saham Gabungan (IHSG) Definisi 1 (Saham) Saham adalah surat berharga yang menunjukkan kepemilikan seorang investor di dalam suatu perusahaan yang artinya jika seseorang membeli saham suatu perusahaan, itu berarti dia telah menyertakan modal ke dalam suatu perusahaan tersebut sebanyak jumlah saham yang dibeli. (Fakhruddin, 2008:30)
Definisi 2 (Indeks Harga Saham Gabungan) Indeks Harga Saham Gabungan (IHSG) adalah suatu rangkaian informasi historis mengenai pergerakan harga saham gabungan, sampai tanggal tertentu dan mencerminkan suatu nilai yang berfungsi sebagai pengukuran kinerja suatu saham gabungan di bursa efek. (Sunariyah, 2003:147)
Dalam perhitungan indeks, IHSG menggunakan seluruh saham tercatat sebagai komponen perhitungan indeks. (Tandelilin, 2010:86).
2.2
Logika Fuzzy Definisi 3 (Logika Fuzzy) Logika fuzzy merupakan sebuah logika yang memiliki nilai kekaburan atau kesamaran antara benar dan salah. Dalam teori logika fuzzy sebuah nilai bisa bernilai benar dan salah secara bersamaan namun berapa besar kebenaran dan kesalahan suatu nilai tergantung kepada bobot keanggotaan yang dimilikinya. (Matondang, Kusumawati, & Abidin, 2011)
Fuzzy logic dapat diangggap sebagai kotak hitam yang menghubungkan antara ruang input dengan ruang output. Kotak hitam tersebut berisi cara atau metode
9
10 yang dapat digunakan untuk mengolah data input menjadi output dalam bentuk informasi yang baik. Nilai keanggotaan atau derajat keanggotaan atau membership function menjadi ciri utama dari penalaran dengan fuzzy logic tersebut. (Kusumadewi & Purnomo, 2010) Konsep logika fuzzy diperkenalkan oleh Prof. Lotfi Zadeh dari Universitas California di Berkeley pada 1965. Logika fuzzy adalah cabang dari sistem
kecerdasan
buatan
(Artificial
Intelligent)
yang
mengemulasi
kemampuan manusia dalam berfikir ke dalam bentuk algoritma yang kemudian dijalankan oleh mesin. Algoritma ini digunakan dalam berbagai aplikasi pemrosesan data yang tidak dapat direpresentasikan dalam bentuk biner. Dalam bahasa Inggris, fuzzy berarti kabur atau tidak jelas. Jadi, logika fuzzy merupakan logika yang mengandung unsur ketidakjelasan atau ketidakpastian. Logika fuzzy merupakan metode yang mempunyai kemampuan untuk memproses variabel yang bersifat samar-samar atau yang tidak dapat dideskripsikan secara pasti dan digunakan untuk menerjemahkan suatu besaran yang diekspresikan menggunakan bahasa (linguistic), misalnya besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak cepat, cepat, dan sangat cepat. Logika fuzzy menginterpretasikan statement yang samar menjadi sebuah pengertian yang logis. Logika fuzzy dikembangkan karena logika Boolean/boolean logic hanya mempunyai logika 0 (nol) dan 1 (satu) saja sehingga diperlukan sistem yang dapat memiliki logika diantara 0 (nol) dan 1 (satu). Logika fuzzy menyediakan sebuah
kerangka
kerja
matematis
untuk
merepresentasikan
dan
memperlakukan ketidakpastian dalam bentuk kekaburan, ketidaktepatan, kebocoran informasi, dan bagian kebenaran (Tettamanzi and Tomassini, 2001). Menurut Saelan (2009), beberapa alasan digunakannya logika fuzzy antara lain: a.
Konsep logika fuzzy mudah dimengerti. Konsep matematis yang mendasari penalaran fuzzy sederhana dan mudah dimengerti.
b.
Logika fuzzy sangat fleksibel.
c.
Logika fuzzy memiliki toleransi terhadap data-data yang tidak tepat.
d.
Logika fuzzy mampu memodelkan fungsi-fungsi non linear yang kompleks.
11 e.
Logika fuzzy dapat membangun dan mengaplikasikan pengalamanpengalaman para pakar secara langsung tanpa harus melalui proses pelatihan.
f. Logika fuzzy dapat bekerja sama dengan teknik-teknik kendali secara konvensional. g.
Logika fuzzy didasarkan pada bahasa alami.
Definisi 4 (Himpunan Fuzzy) Himpunan fuzzy adalah pengelompokan sesuatu berdasarkan variabel bahasa (variabel linguistik), yang dinyatakan dengan fungsi keanggotaan, dalam semesta U. Keanggotaan suatu nilai pada himpunan dinyatakan dengan derajat keanggotaan yang nilainya antara 0.0 sampai 1.0. (Saelan, 2009) Himpunan fuzzy merupakan suatu pengembangan lebih lanjut tentang konsep himpunan dalam matematika. Himpunan fuzzy adalah rentang nilainilai dengan tingkat keanggotaan elemen berada pada interval [0,1], yang artinya masing-masing nilai pada himpunan tersebut mempunyai derajat keanggotaan (membership) antara 0 sampai dengan 1. Ungkapan logika Boolean
menggambarkan
nilai
“benar”
atau
“salah”.
Logika
fuzzy
menggunakan ungkapan misalnya : “sangat rendah”, ”cukup rendah”, “sangat tinggi” dan ungkapan lain-lain untuk mengungkapkan derajat intensitasnya. Logika fuzzy menggunakan suatu set aturan untuk menggambarkan perilakunya. Aturan-aturan tersebut menggunakan kondisi yang diharapkan dan hasil yang diinginkan dengan menggunakan statement “Jika – Maka”. Suatu himpunan fuzzy A dalam semesta pembicaraan dinyatakan dengan fungsi keanggotaan (membership function)
, yang harganya berada dalam
interval [0,1]. Secara matematis, hal ini dinyatakan dengan :
Himpunan fuzzy A dalam semesta pembicaraan U biasa dinyatakan sebagai sekumpulan pasangan elemen u (u anggota U) dan besarnya derajat keanggotaan (grade of membership) elemen tersebut sebagai berikut :
12 Tanda ‘/ ‘ digunakan untuk menghubungkan sebuah elemen dengan derajat keanggotaannya. Jika U adalah diskrit, maka A dapat dinyatakan dengan :
Definisi 5 (Variabel Linguistik) Variabel linguistik yaitu sebuah variabel yang memiliki nilai berupa kata-kata dalam bahasa alamiah bukan angka. (Kusumadewi, 2003)
2.3
Relasi Logika Fuzzy Definisi 6 (Relasi Logika Fuzzy) Jika ada relasi fuzzy
sehingga
dengan symbol “ ” adalah sebuah operator maka oleh
, relasi yang ada antara
dan
dikatakan “disebabkan” dinotasikan dengan
. Misal dan
dan adalah
, dan relasi logika fuzzy antara
, maka
dikenal dengan “sisi kiri” dan
dikenal dengan “sisi kanan”. (Xihao & Yimin, 2008:105)
Definisi 7 (Grup Relasi Logika Fuzzy) Relasi logika fuzzy di mana memiliki “sisi kiri” yang identik, dapat digrupkan menjadi grup relasi logika fuzzy. Sebagai contoh, diberikan dua buah relasi logika fuzzy dengan sisi kiri yang sama
, sebuah grup relasi logika fuzzy dapat dibentuk dengan:
(Sah & Degtiarev, 2005:376)
2.4
Time Series Definisi 8 (Runtun Waktu (Time Series))
13 Runtun waktu adalah suatu himpunan pengamatan yang dibangun secara berurutan dalam waktu. Waktu atau periode yang dibutuhkan untuk melakukan suatu peramalan itu biasanya disebut sebagai lead time yang bervariasi pada tiap persoalan. (Halim, 2006:1)
Definisi 9 (Data Time Series) Data time series merupakan data yang dikumpulkan, dicatat atau diobservasi sepanjang waktu secara berurutan. Periode waktu observasi dapat berbentuk tahun, kuartal, bulan, minggu, dan di beberapa kasus dapat juga hari atau jam. (Subekti, 2010:61)
2.5
Fuzzy Time Series Definisi 10 (Fuzzy Time Series) Diasumsikan
⊂
(garis real),
menjadi himpunan
semesta pembicaraan yang dinyatakan oleh himpunan fuzzy dari
.
didefinisikan sebagai fuzzy time series pada
terdiri .
(Xihao & Yimin, 2008:105) Fuzzy time series adalah metode peramalan data yang menggunakan prinsip-prinsip fuzzy (teori himpunan fuzzy, konsep variabel linguistik dan logika fuzzy) sebagai dasarnya. Sistem peramalan dengan fuzzy time series menangkap pola dari data yang telah lalu kemudian digunakan untuk memproyeksikan data yang akan datang.
2.6
Fuzzy Time Series Menurut Song dan Chissom Song dan Chissom menjelaskan definisi dari fuzzy time series pada tahun 1993. Andaikan
adalah himpunan semesta (universal of discourse), dengan , dan fuzzy set
berikut:
dengan definisi sebagai
14 di mana
adalah fungsi keanggotaan dari fuzzy set , dan
fuzzy set
,
adalah elemen dari
adalah derajat keanggotaan dari
Jika dinyatakan bahwa
pada
, disebabkan oleh
,
,
maka grup relasi logika fuzzynya (fuzzy logical relationship group) dinyatakan dengan
,. Jika ada beberapa fuzzy logical relationship group berasal
→
dari suatu state, misalkan state A2, dan transisi yang terjadi terhadap state lain , misalkan
,
→
→
, maka fuzzy
→
logical relationship group dari beberapa transisi tersebut digabung menjadi suatu fuzzy logical relationship group baru :
.
→
Berdasarkan teorema-teorema tersebut, maka langkah-langkah dalam metode fuzzy time series menurut Song & Chissom adalah sebagai berikut : 1) Definisikan himpunan semesta
untuk data historikal yang tersedia.
Data minimum dan data maksimum dari data historikal masing-masing dan
secara berurutan dilambangkan dengan semesta dan
dapat didefinisikan sebagai [
-
,
. Himpunan +
], di mana
adalah bilangan positif yang sesuai. menjadi sejumlah ganjil interval yang sama
2) Bagi himpunan semesta
. Panjang interval dapat diperoleh dari :
3) Jadikan
,
menjadi suatu himpunan-himpunan fuzzy yang
variabel linguistiknya ditentukan sesuai dengan keadaan semesta. 4) Lakukan fuzzifikasi terhadap data historikal. Jika sebuah data time series termasuk ke dalam interval
, maka data tersebut difuzzifikasi ke dalam
. 5) Tentukan fuzzy logical relationship group. Jika oleh didefinisikan sebagai
disebabkan
, maka fuzzy logical relationship group-nya →
.
15 6) Hitung hasil output peramalan. Jika peramalan pada
, maka hasil output
dapat ditentukan dengan menggunakan beberapa
prinsip berikut : 1) Jika fuzzy logical relationship group dari (contoh :
adalah himpunan kosong
→ Ø), maka hasil peramalan untuk ):
(midpoint dari
2) Jika fuzzy logical relationship group dari (contoh :
→
, yaitu
nilai rata-rata dari
,
adalah
:
3) Jika fuzzy logical relationship group dari →
adalah one-to-one
), maka hasil peramalan untuk
midpoint (nilai tengah) dari
(contoh :
adalah
adalah one-to-many
maka hasil peramalan untuk (midpoint dari
adalah ):
(Tsaur, 2012)
2.7
Markov Chain Definisi 11 (Rantai Markov (Markov Chain)) Rantai markov (markov chain) merupakan salah satu model yang sering digunakan untuk menggambarkan proses stokastik. Analisa rantai markov adalah suatu metode yang mempelajari sifat-sifat suatu variabel pada masa sekarang yang didasarkan pada sifat-sifatnya di masa lalu dalam usaha menaksir sifat-sifat variabel tersebut di masa yang akan datang. (Sanny & Sarjono, 2012:139)
Rantai Markov merupakan proses stokastik dari variabel-variabel acak {
} yang membentuk suatu deret yang memenuhi sifat
Markov. (Yakub, 2008:17)
16 Rantai Markov (Markov Chain) adalah sebuah teknik perhitungan yang umumnya digunakan dalam melakukan pemodelan bermacam-macam kondisi. Teknik ini digunakan untuk membantu dalam memperkirakan perubahan yang mungkin terjadi di masa mendatang. Perubahan-perubahan tersebut diwakili dalam variabel-variabel dinamis di waktu-waktu tertentu. Sehingga perlu untuk menyimpan nilai dari variabel keadaan pada tiap-tiap waktu tertentu itu. Dalam kenyataannya, penerapan analisa Markov bisa dibilang cukup terbatas karena sulit untuk menemukan permasalahan yang memenuhi semua sifat yang diperlukan untuk analisa Markov, terutama persyaratan bahwa probabilitas transisi harus konstan sepanjang waktu. Proses Markov Chain terdiri dari dua prosedur, yaitu menyusun matriks probabilitas transisi, dan kemudian menghitung kemungkinan market share di waktu yang akan datang dengan mengalikan nilai matriks dari waktu sebelumnya dengan matriks probabilitas transisi.
2.8
Sifat Markov Dalam sifat Markov, jika diberikan kejadian-kejadian yang telah berlalu (past states)
dan kejadian yang sedang berlangsung
kejadian yang akan datang (future state)
bersifat bebas (independen) dari
kejadian-kejadian yang telah berlalu (past states) kejadian yang akan datang (future state) yang sedang berlangsung (present state)
, maka
. Artinya,
hanya bergantung pada kejadian .
Untuk suatu pengamatan yang prosesnya sampai untuk waktu ke n, maka distribusi nilai proses dari waktu ke
hanya bergantung pada nilai dari
proses pada waktu n. Secara umum dapat dituliskan sebagai berikut: . (Yakub, 2008:17-18)
Jika
, maka suatu proses dikatakan terjadi pada state
pada waktu .
Kapanpun suatu proses berada pada state , akan ada probabilitas tetap
yang
menyatakan bahwa state berikutnya (dari state ) adalah state . Nilai dari merepresentasikan probabilitas suatu proses yang berada pada state
dan
17 melakukan transisi ke state . Probabilitas
bernilai positif dan diasumsikan
bahwa suatu proses harus melakukan transisi ke suatu state, maka dari itu diperoleh : dengan dengan (Ross, 2010:192)
Classification of States State
dikatakan accessible dari state
jika
. Hal ini berarti bahwa state accessible dari state
, untuk beberapa jika dan hanya jika,
proses transisi dimulai dari state , dan ada probabilitas bahwa proses tersebut menuju ke state . Jika j tidak accessible dari , maka Dua state
dan
.
dikatakan berkomunikasi (communicate), jika state
dan state saling accessible satu sama lain, sehingga dapat ditulis
.
(Ross, 2010:204)
2.9
Asumsi Dasar Rantai Markov Asumsi-asumsi yang perlu diperhatikan dalam rantai Markov adalah sebagai berikut : 1.
Jumlah probabilitas transisi keadaan adalah 1 (satu).
2.
Probabilitas transisi adalah tidak berubah selamanya.
3.
Probabilitas transisi hanya tergantung pada masa sekarang, bukan pada periode sebelumnya. (Yakub, 2008:18)
2.10 Matriks Probabilitas Transisi Markov Keadaan transisi didapatkan setelah keadaan awal
diberikan
perubahan melalui suatu matriks yang disebut Matriks Probabilitas Transisi ( ) sebagai berikut:
.
18 Matriks probabilitas transisi dari suatu rantai Markov adalah suatu matriks berderajat n dimana n tergantung kepada jumlah kejadian atau state pada rantai Markov tersebut. Elemen pada matriks probabilitas transisi adalah probabilitas perubahan suatu keadaan berada pada kejadian i jika pada masa sebelumnya berada pada keadaan j. Matriks probabilitas transisi Markov ( ) dinyatakan sebagai berikut:
Dan berlaku (Yakub, 2008:18) 2.11 Peramalan Definisi 12 (Peramalan) Peramalan atau prediksi yang
merupakan suatu
dugaan terhadap permintaan
akan datang berdasarkan pada beberapa variabel peramal, sering
berdasarkan data deret waktu historis. (Gaspersz, 2005:72) Terdapat sembilan langkah yang perlu diperhatikan untuk menjamin efektifitas dan efisiensi sistem peramalan, antara lain sebagai berikut (Gaspersz, 2005 : 74) : a.
Menentukan tujuan dari peramalan
b.
Memilih item yang akan diramalkan
c.
Mentukan horizon waktu peramalan, apakah jangka panjang (lebih dari 1 tahun), jangka menengah (1-12 bulan), atau jangka pendek (1-30 hari).
d.
Memilih model-model peramalan
e.
Memperoleh data yang dibutuhkan untuk melakukan peramalan
f. Validasi model peramalan g.
Membuat peramalan
h.
Implementasikan hasil-hasil peramalan
i. Memantau keandalan hasil peramalan Peramalan biasanya diklasifikasikan berdasarkan horizon waktu masa depan yang dicakupnya. Menurut Taylor (2004) dalam hubungannya dengan horizon waktu peramalan terbagi atas beberapa kategori, yaitu:
19 a.
Ramalan jangka pendek (short-range forecast) mencakup masa depan yang dekat (immediate future) dan memperhatikan kegiatan harian suatu perusahaan bisnis, seperti permintaan harian atau kebutuhan sumber daya harian.
b.
Ramalan jangka menengah (medium-range forecast) mencakup jangka waktu satu atau dua bulan sampai satu tahun. Ramalan jangka waktu ini umumnya lebih berkaitan dengan rencana produksi tahunan dan akan mencerminkan hal-hal seperti puncak dan lembah dalam suatu permintaan dan kebutuhan untuk menjamin adanya tambahan untuk sumber daya untuk tahun berikutnya.
c.
Ramalan jangka panjang (long-range forecast) mencakup periode yang lebih lama dari satu atau dua tahun. Ramalan ini berkaitan dengan usaha manajemen untuk merencanakan produk baru untuk pasar yang berubah, membangun fasilitas baru, atau menjamin adanya pembiayaan jangka panjang. Pada dasarnya terdapat dua pendekatan umum untuk mengatasi semua
model keputusan untuk meramal: a.
Peramalan Kualitatif Yaitu peramalan yang menggabungkan faktor-faktor seperti intuisi pengambilan keputusan, emosi, pengalaman pribadi, dan sistem nilai.
b.
Peramalan Kuantitatif Yaitu peramalan yang menggunakan satu atau lebih model matematis dengan data masa lalu dan variabel sebab akibat untuk meramalkan permintaan. Pada dasarnya metode peramalan kuantitatif ini dibedakan menjadi dua: 1.
Metode peramalan berdasarkan seri waktu (time series) Model ini melihat pada apa yang terjadi selama periode waktu menggunakan seri data masa lalu untuk membuat ramalan.
2.
Metode kausal (causal methods) atau metode korelasi Metode kausal, bergabung menjadi variabel atau hubungan yang bisa mempengaruhi jumlah yang sedang diramal. (Ekawanti, 2009:17-18)
20 2.12 Indikator Akurasi Peramalan Definisi 13 (Mean Absolute Percentage Error) Mean Absolute Percentage Error (MAPE) adalah rata-rata persentase kesalahan absolut, merupakan persentase kesalahan hasil peramalan terhadap permintaan aktual selama periode tertentu yang akan memberikan informasi persentase kesalahan terlalu tinggi atau terlalu rendah. Secara matematis, MAPE dirumuskan sebagai berikut:
di mana: adalah nilai aktual pada tanggal adalah nilai peramalan pada tanggal adalah jumlah data peramalan (Irwansyah, 2010:22)
Definisi 14 (Mean Absolute Deviation) Mean Absolute Deviation (MAD) adalah rata-rata penyimpangan absolut, merupakan rata-rata kesalahan mutlak selama periode tertentu tanpa memperhatikan apakah hasil peramalan lebih besar atau lebih kecil dibandingkan kenyataannya. Secara matematis, MAD dirumuskan sebagai berikut:
di mana: adalah nilai aktual pada tanggal adalah nilai peramalan pada tanggal adalah jumlah data peramalan (Irwansyah, 2010:22)
2.13 Web Definisi 15 (Web)
21 Web adalah salah satu aplikasi yang berisikan dokumen-dokumen multimedia (teks, gambar, suara, animasi, video) di dalamnya yang menggunakan protokol HTTP (Hypertext Transfer Protocol) dan untuk mengaksesnya menggunakan perangkat lunak yang disebut browser. (Arief, 2011:7)
2.14 Aplikasi Berbasis Web Definisi 16 (Aplikasi Berbasis Web) Aplikasi berbasis web adalah aplikasi yang berjalan di atas platform browser, meskipun mungkin dioptimasi untuk jenis browser tertentu.
Kelebihan aplikasi berbasis web : 1.
Dapat diakses kapan pun dan darimana pun selama ada internet.
2.
Dapat diakses dengan hanya menggunakan web browser (umumnya sudah tersedia di PC, PDA, dan handphone terbaru), tidak perlu menginstall aplikasi khusus.
Kekurangan aplikasi berbasis web : 1.
Antar muka yang dapat dibuat terbatas sesuai spesifikasi standar untuk membuat
dokumen
web
dan
keterbatasan
web
browser
untuk
menampilkannya. 2.
Terbatasnya kecepatan internet mungkin membuat respon aplikasi menjadi lambat. (Gunadi, 2012)
2.15 PHP Definisi 17 (Hypertext Preprocessor (PHP)) PHP singkatan dari Hypertext Preprocessor yang digunakan sebagai bahasa script server side dalam pengembangan web yang disisipkan pada dokumen HTML. (Nugroho, 2009:370) Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang
22 wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Pada Juni 1998, singkatan PHP diubah menjadi Hypertext Preprocessor. PHP merupakan bahasa pemrograman server side yang di desain khusus untuk aplikasi web yang ditambahkan ke dalam HTML. Bahasa pemrograman PHP dapat digabungkan dengan HTML dengan terlebih dahulu memberikan tanda tag buka dilanjutkan tanda tanya ( ). Sifat server side berarti pengerjaan skrip akan dilakukan di server, baru kemudian hasilnya dikirim ke browser. Menurut Prasetyo (2008:14), kelebihan PHP dari bahasa pemrograman lain adalah: 1. Web Server yang mendukung PHP dapat ditemukan di mana-mana dari mulai IIS sampai dengan Apache, dengan konfigurasi yang relatif mudah. 2. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena banyak referensinya. 3. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows). 4. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu.
2.16 XAMPP Definisi 18 (XAMPP) XAMPP merupakan aplikasi yang mengintegrasikan beberapa aplikasi web utama di dalamnya. Dalam XAMPP terdapat instalasi modul PHP, MySQL, dan web server Apache. (Arief, 2011:44)
XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, dan merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan
23 singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan gratis, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. (Priyanti & Iriani, 2013:16)
2.17 Web Hosting Definisi 19 (Web Hosting) Web Hosting adalah jasa penyedia hosting di internet. Tugas web hosting adalah menyediakan dan mengelola ruang harddisk yang akan disewa oleh pemilik suatu domain untuk menyimpan file-file nya agar halaman web si pemilik domain dapat ditampilkan di browser internet. Pada dasarnya, perusahaan web hosting adalah lembaga bisnis yang menyediakan komputer server yang mampu melayani banyak permintaan data, akses internet 24 jam, dan IP public. (Danuri & Darmanto, 2014:24)
2.18 Adobe Dreamweaver CS3 Adobe Dreamweaver CS3 merupakan perangkat lunak yang dikenal sebagai web authoring tool, yaitu perangkat lunak yang digunakan untuk mendesain tampilan halaman web. Adobe Dreamweaver CS3 mempunyai kemampuan untuk mengedit kode pada aplikasi web dengan bahasa pemrograman yang berbeda-beda, seperti PHP, ASP, Java Server Pages (JSP), dan lain-lain.
2.19 Waterfall Model Definisi 20 (Waterfall Model) Waterfall model adalah sebuah contoh dari proses perencanaan, dimana semua proses kegiatan harus terlebih dulu direncanakan dan dijadwalkan sebelum dikerjakan.
24
Gambar 2.1 Waterfall Model (Sommerville, 2011:30)
Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Berikut fasefase dalam model waterfall menurut referensi Sommerville: 1.
Requirements Definition Pada tahapan ini, mendapatkan data mengenai pelayanan, batasan, dan tujuan dari sistem dengan cara melakukan konsultasi dengan pengguna sistem. Kemudian akan ditunjukan dengan sebuah spesifikasi sistem dengan rinci.
2.
System and Sofware Design Pada tahapan ini, membentuk arsitektur dari sistem secara keseluruhan dengan cara membuat desain dari alokasi spesifikasi sistem untuk hardware maupun software.
3.
Implementation and Unit Testing Pada tahapan ini, desain dari software direalisasikan dalam sejumlah set program atau unit program. Pengujian dilakukan untuk memverifikasi dari setiap unit agar memenuhi spesifikasi.
4.
Integration and System Testing Program akan diintegrasikan dan diuji sebagai sebuah sistem yang lengkap untuk memastikan bahwa spesifikasi software yang diinginkan telah dipenuhi. setelah melakukan pengujian, maka sistem software akan dikirimkan kepada konsumen.
5.
Operation and Maintenance
25 Tahapan ini biasanya merupakan fase yang paling lama. Sistem sudah berjalan dan sudah dapat digunakan. Pemeliharaan mencakup adanya koreksi pada error yang tidak ditemukan pada tahap-tahap terdahulu, dan/atau peningkatkan kemampuan sistem dengan menambahkan beberapa kriteria yang baru ditemukan dengan melakukan penyesuaian pada perubahan-perubahan di lingkungan eksternalnya atau konsumen yang membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan perangkat lunak mengaplikasi lagi setiap fase sebelumnya, lalu memperbaiki program yang sebelumnya dan tidak membuat yang baru lagi. (Sommerville, 2011:30-31)
2.20 Flowchart Definisi 21 (Flowchart) Flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. Tujuan membuat flowchart : 1.
Menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi, dan jelas.
2.
Menggunakan simbol-simbol standar.
Simbol-simbol dalam flowchart : Simbol-simbol yang dipakai dalam flowchart dibagi menjadi 3 kelompok : 1.
Flow direction symbols • Digunakan untuk menghubungkan simbol satu dengan yang lain. • Disebut juga connecting line.
2.
Processing symbols • Menunjukkan jenis operasi pengolahan dalam suatu proses/prosedur.
3.
Input / Output symbols • Menunjukkan jenis peralatan yang digunakan sebagai media input atau output.
26 Tabel 2.1 Flow Direction Symbols Symbol arus / flow, yaitu menyatakan jalannya arus suatu proses. Simbol communication link, yaitu menyatakan transmisi data dari satu lokasi ke lokasi lain. Simbol connector, berfungsi menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama. Simbol offline connector, menyatakan sambungan dari proses ke proses lainnya dalam halaman yang berbeda.
Tabel 2.2 Processing Symbols Simbol process, yaitu menyatakan suatu tindakan (proses) yang dilakukan oleh komputer. Simbol manual, yaitu menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer. Simbol decision, yaitu menunjukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan (ya/tidak). Simbol preparation, yaitu menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal. Simbol predefined process, untuk menyatakan sekumpulan langkah-langkah proses yang ditulis sebagai prosedur. Simbol terminal, yaitu menyatakan permulaan atau akhir suatu program. Simbol keying operation, menyatakan segala jenis operasi yang diproses menggunakan suatu mesin yang memiliki keyboard.
27 Simbol offline-storage, menyatakan bahwa data dalam simbol ini akan disimpan ke suatu media tertentu.
Tabel 2.3 Input/Output Symbols Simbol manual input, memasukan data secara manual dengan menggunakan online keyboard. Simbol input/output, menyatakan proses input atau output tanpa tergantung jenis peralatannya. Simbol punched card, menyatakan input berdasarkan dari kartu atau output ditulis ke kartu. Simbol magnetic tape, menyatakan input berasal dari pita magnetis atau output disimpan ke pita magnetis. Simbol disk storage, menyatakan input berasal dari disk atau output disimpan ke disk. Simbol document, mencetak keluaran dalam bentuk dokumen (melalui printer) Simbol display, mencetak keluaran dalam layar monitor.
28 (Nilawati, 2009)
2.21 Object Oriented Programming Definisi 22 (Object Oriented Programming (OOP)) Object Oriented Programming atau pemrograman berorientasi objek adalah suatu strategi pembangunan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Berikut ini adalah beberapa konsep yang terdapat di dalam pemrograman berorientasi objek: • Kelas (Class) Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (metode), dan hubungan (relationship). • Objek (Object) Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperi benda, manusia, tempat, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada objeknya. • Metode (Method) Metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode. Metode merupakan fungsi atau transformasi yang dapat dilakukan terhadap objek atau dilakukan oleh objek. • Atribut (Attribute) Atribut dalam sebuah kelas adalah variabel global yang dimiliki oleh sebuah kelas. Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam sebuah kelas objek. Atribut sebaiknya bersifat privat untuk menjaga konsep enkapsulasi. • Enkapsulasi (Encapsulation) Pembungkusan atribut data dan metode-metode yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerjanya. • Pewarisan (Inheritance)
29 Mekanisme yang memungkinkan suatu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dan dirinya. • Polimorfisme (Polymorphism) Kemampuan suatu objek untuk digunakan di banyak tujuan dengan nama yang sama sehingga menghemat baris program. • Reusability Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang melibatkan objek tersebut. (Sukamto & Shalahuddin, 2013:100-110)
2.22 Perancangan Program Definisi 23 (Unified Modeling Language (UML)) Menurut Whitten & Bentley, UML (Unified Modelling Language) adalah sebuah kumpulan dari konvensi permodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. Dalam memodelkan suatu sistem, UML dapat dikelompokan menjadi empat kelompok diagram, yaitu: Use case diagram, Activity diagram, Class diagram, dan Sequence diagram. (Whitten & Bentley, 2007:371)
Definisi 24 (Use Case Diagram) Berdasarkan pengertian Whitten & Bentley, Use Case Diagram adalah diagram yang menggambarkan interaksi antara sistem dengan hal-hal eksternal dari sistem dan user. Dengan kata lain, secara grafis menjelaskan siapa yang akan mempergunakan sistem dan dengan cara apa user diharapkan untuk berinteraksi dengan sistem. (Whitten & Bentley, 2007:246)
30
Dalam use case diagram terdapat tiga komponen utama yaitu actor, use case, dan hubungan, seperti dijelaskan dalam tabel berikut:
Tabel 2.4 Komponen Use Case Diagram No.
Simbol
Gambar
Keterangan Aktor adalah segala sesuatu yang perlu berinteraksi dengan sistem
1.
untuk pertukaran informasi.
Aktor
Aktor
dapat
berupa
manusia,
organisasi, sistem informasi yang lain, dan perangkat eksternal. Use Case1
2.
Use case
Use case adalah aktivitas yang akan dilakukan
dalam
sistem
berupa
interaksi antara sistem dan user untuk mencapai tujuan tertentu.
3.
Hubungan
Menggambarkan hubungan antara dua simbol pada use case diagram.
(Whitten & Bentley, 2007:384)
Definisi 25 (Use Case Narrative)
31 Use case narrative merupakan salah satu bagian dari use case modeling yang berisikan rincian dari setiap event dan menerangkan bagaimana user berinteraksi dengan sistem selama event terjadi. Menurut Whitten & Bentley (2007:256), penjelasan secara narasi akan membantu mempercepat pemahaman terhadap sistem.
Definisi 26 (Activity Diagram) Activity Diagram adalah diagram yang dipergunakan untuk menggambarkan alur dari proses bisnis secara grafis, langkah-langkah dari use case, dan logika dari karakteristik objek. (Whitten & Bentley, 2007:390) Berikut adalah tabel notasi yang digunakan dalam menggambarkan activity diagram:
Tabel 2.5 Notasi Activity Diagram Notasi
Keterangan
Notasi ini menggambarkan awal proses dari activity diagram Initial Node
Notasi ini menggambarkan sebuah aktivitas yang jika disusun Actions
secara
keseluruhan
akan
menggambarkan
keseluruhan aktivitas dalam activity diagram
Notasi ini menggambarkan jalannya aktivitas dalam activity diagram. Jika notasi ini keluar dari decision dibutuhkan kataFlow
kata untuk mengidentifikasikannya. Notasi ini menggambarkan keadaan bersyarat, yaitu decision dan merge. 1. Decision
Decision/ Merge
Satu flow akan masuk ke dalam decision dan menghasilkan dua atau lebih flow lainnya yang
32 merupakan hasil pilihan dari kondisi yang ada. 2. Merge Dua atau lebih flow hasil dari decision akan masuk ke dalam merge dan menggabunkannya menjadi satu flow.
Notasi ini menggambarkan akhir proses dari activity diagram Activity Final
Gambar 2.2 Contoh Activity Diagram
Definisi 27 (Class Diagram) Menurut Whitten & Bentley (2007, p400), Class Diagram adalah penggambaran grafis dan deskripsi dari class dan objek, beserta hubungannya satu sama lain. Diagram ini menunjukkan kelas-kelas objek yang menyusun sebuah sistem dan juga yang menghubungkan antar kelas objek tersebut. Dalam class diagram terdapat tiga aspek utama, yaitu: 1.
Class Name
2.
Attributte
3.
Behavior
<
> -attribute
33 +behaviour Gambar 2.3 Struktur Class
Attribute dan behavior dalam class diagram dapat memiliki salah satu sifat berikut: a.
Private (-)
:
tidak dapat dipanggil di luar class yang
bersangkutan. b.
Protected (#): hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
c.
Public (+)
: dapat dipanggil oleh semua class lain.
Menurut Whitten & Bentley (2007, p373-380) hubungan antar class terdiri dari 3 hubungan: 1.
Asosiasi, hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Hubungan ini diperlukan agar sebuah class dapat menyampaikan pesan kepada class lainnya. Asosiasi digambarkan dengan sebuah garis tanpa tanda panah.
2.
Generalisasi dan Spesialisasi, merupakan hubungan yang menyatakan mengandung supertype class ataupun subtype class. Supertype class jika mengandung atribut dan behavior yang dapat diwariskan kepada class lain. Dikatakan subtype class jika memiliki atribut dan behavior yang unik dan mewarisi atribut dan behavior dari supertype class. Generalisasi digambarkan dengan garis yang memiliki tanda panah tertutup kosong pada salah satu ujungnya yang mengarah ke supertype class. Atribut dan behavior dalam class diagram dapat memiliki salah satu sifat berikut: a. Private (-), tidak dapat dipanggil di luar class yang bersangkutan. b. Protected (#), hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. c. Public (+), dapat dipanggil oleh semua class lain.
3.
Agregasi, hubungan yang menyatakan bagian dari objek lainnya, dapat didefinisikan seperti objek a mengandung objek b dan objek b bagian dari objek a. Hubungan asimetris, artinya tidak berlaku sebaliknya. Hubungan
34 agregasi merupakan suatu bentuk relasi yang jauh lebih kuat dari asosiasi. Agregasi dapat diartikan bahwa suatu class merupakan bagian dari class yang lain namun bersifat tidak wajib. Agregasi digambarkan dengan sebuah garis yang memiliki bentuk diamond kosong di salah satu ujung garisnya. 4.
Komposisi, merupakan relasi yang paling kuat dibandingkan dengan asosiasi maupun agregasi. Pada komposisi diartikan bahwa suatu class merupakan bagian wajib dari class yang lain. Komposisi digambarkan dengan sebuah garis yang memiliki bentuk diamond utuh di salah satu ujung garisnya.
Definisi 28 (Sequence Diagram) Menurut Whitten & Bentley (2007, p659), Sequence Diagram adalah sebuah diagram UML yang memodelkan logika dari sebuah use case dengan menggambarkan bagaimana objek berinteraksi satu dengan yang lain melalui pesan. Notasi yang digunakan dalam sequence diagram adalah sebagai berikut:
Tabel 2.6 Notasi Sequence Diagram Notasi
Keterangan Notasi
ini
menggambarkan
user
yang
berinteraksi dengan system Actor
Notasi ini menggambarkan kelas-kelas yang ada pada class diagram System
Notasi ini menggambarkan hidup dari sequence Life Lines Notasi ini menggambarkan waktu dimana user sedang aktif berinteraksi dengan system
35
Activation Bars Notasi ini menggambarkan pesan masuk yang dikirimkan yaitu berupa behavior Input Message
Notasi
ini
menggambarkan
pesan
yang
dikirimkan sebagai balasan pesan masuk Output Message
Tabel 2.6 Notasi Sequence Diagram (lanjutan) Notasi
Keterangan
Notasi ini menggambarkan area pada sistem yang mengalami perulangan (loops), seleksi (alternate fragments), atau kondisi opsional (optional). Frame
36
Gambar 2.4 Contoh Sequence Diagram
Definisi 29 (Model View Controller) Model View Controller (MVC) adalah sebuah sebuah metode untuk membuat sebuah
aplikasi
dengan
memisahkan
data
dari
tampilan
dan
cara
memprosesnya. MVC diperkenalkan pertama sekali oleh para peneliti di XEROC PARAC yang bekerja untuk pembuatan bahasa pemrograman Smalltalk pada tahun 1970-1980. Metode MVC membagi aplikasi menjadi tiga bagian yaitu: 1. Model, berfungsi sebagai pengelola perilaku dan data pada domain aplikasi, melakukan tanggapan terhadap permintaan informasi dan merespons instruksi untuk merubah suatu kondisi (state). 2. View, menerjemahkan informasi yang berasal dari model ke dalam sebuah bentuk yang sesuai untuk berinteraksi dengan user. Biasanya berupa satu atau lebih elemen antarmuka user. 3. Controller, menerima masukan dari user dan memicu respons dengan membuat pemanggilan ke objek-objek model. Kelebihan-kelebihan metode MVC adalah sebagai berikut:
37 1. Bagian model memberikan penempatan detil data yang terpisah dan tidak disebar di dalam keseluruhan aplikasi sehingga meningkatkan fleksibilitas dalam proses pemeliharaan aplikasi. 2. Pemisahan model juga membuat objek model dapat digunakan oleh aplikasi lain dengan kebutuhan yang sama (reuse). 3. Pemisahan view memudahkan perakitan/integrasi dengan komponen aplikasi lainnya tanpa harus memperhatikan detil proses. Desainer hanya berkonsentrasi pada bentuk dan tampilan antarmuka pemakai (user interface). 4. Penggunaan controller memungkinkan untuk perubahan proses tanpa harus mengganggu antarmuka pemakai. Detil proses disembunyikan oleh controller sehingga tidak mengganggu presentasi ke user maupun pengelolaan data/informasi (manajemen database). Sedangkan kekurangan metode MVC yaitu: 1. Peningkatan kompleksitas aplikasi karena arsitektur aplikasi yang terbagi menjadi tiga bagian. 2. Menimbulkan loosely coupled (komponen aplikasi yang membuat/mengacu ke komponen lainnya dengan sedikit/tanpa informasi detil dari komponen yang diacu tersebut). (Rahmadiansyah & Irwan, 2012)
2.23 Interaksi Manusia dan Komputer Definisi 30 (Interaksi Manusia dan Komputer (IMK)) Interaksi manusia komputer adalah disiplin ilmu yang mempelajari hubungan antara manusia dan komputer yang meliputi perancangan, evaluasi, dan implementasi antarmuka pengguna komputer agar mudah digunakan oleh manusia. Sebuah sistem dapat disebut interaktif apabila sistem tersebut dapat berkomunikasi dengan pengguna, dengan tujuan agar sistem dapat berguna bagi pengguna. (Shneiderman & Plaisant, 2010:4-5)
38 Dalam perancangan desain antarmuka (interface) terdapat delapan aturan emas yang perlu diperhatikan (Shneiderman & Plaisant, 2010:88-89) : 1. Berusaha untuk konsisten. Diperlukan urutan aksi yang konsisten pada situasi yang sama. Konsistensi juga harus diterapkan pada prompts, menus, dan layar bantu. 2. Memungkinkan penggunaan yang universal. Mengenali kebutuhan pengguna yang beragam dari pengguna pemula (novice) sampai pengguna ahli (expert) dengan merancang konten yang beragam, misal: penjelasan untuk pengguna pemula sampai shortcut untuk pengguna yang sudah ahli. 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan yang dilakukan user, diharapkan adanya umpan balik dari sistem. Untuk tindakan yang sering terjadi dan tidak membutuhkan banyak aksi, umpan balik dapat dibuat sederhana, sedangkan tindakan yang jarang dilakukan dan memerlukan banyak aksi harus lebih ditonjolkan. 4. Merancang dialog yang memberikan penutupan (keadaan akhir). Urutan aksi yang harus disusun ke dalam kelompok awal, tengah, dan akhir. Suatu umpan balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan tersebut telah selesai dan siap melanjutkan ke aksi berikutnya. 5. Memberikan pencegahan kesalahan dan penanganan kesalahan sederhana. Sistem yang dibuat diharapkan tidak memungkinkan user membuat kesalahan serius. Jika terjadi kesalahan, sistem harus dapat mendeteksi kesalahan tersebut dan menawarkan penanganan kesalahan yang sederhana. 6. Memungkinkan pengembalian aksi yang sebelumnya. Fitur untuk mengurangi kekhawatiran user karena user tahu bahwa jika ada kesalahan yang dibuat dapat dikembalikan lagi ke aksi sebelumnya. 7. Mendukung pusat kendali internal. Menjadikan user sebagai yang mengendalikan sistem, bukan yang dikendalikan oleh sistem. 8. Mengurangi beban ingatan jangka pendek. Mengingat keterbatasan manusia dalam pemrosesan informasi dalam jangka pendek, sebuah sistem diharapkan dibuat dengan tampilan sesederhana mungkin, beberapa halaman dijadikan satu, frekuensi pergerakan window
39 dikurangi dan harus ada waktu yang cukup bagi user untuk mempelajari kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau kode sebaliknya tersedia. Selain delapan aturan emas, dalam perancangan desain antarmuka terdapat juga lima faktor manusia terukur yang digunakan untuk mengevaluasi perancangan desain antarmuka, yaitu (Shneiderman & Plaisant, 2010:32) : 1. Waktu pembelajaran (time to learn) Berapa lama waktu yang dibutuhkan oleh anggota dari sekelompok komunitas pengguna untuk mempelajari cara menggunakan perintahperintah yang digunakan untuk menyelesaikan sebuah tugas. 2. Kecepatan kinerja (speed of performance) Berapa lama waktu yang diperlukan untuk menyelesaikan suatu tugas. 3. Tingkat kesalahan pengguna (rate of errors by users) Mengukur
berapa
banyak
kesalahan
yang
terjadi
saat
aplikasi
menyelesaikan suatu tugas. Penanganan kesalahan merupakan hal yang penting dalam penggunaan antarmuka dan membutuhkan pembelajaran yang luas. 4. Daya ingat jangka panjang (retention over time) Bagaimana pengguna menjaga pengetahuan mereka setelah beberapa jam, hari, atau minggu. Daya ingat sering dikaitkan dengan waktu pembelajaran dan biasanya frekuensi penggunaan juga memainkan peran penting. 5. Kepuasan subjektif (subjective satisfication) Mengukur sebarapa jauh pengguna menyukai berbagai aspek dari antarmuka pengguna.