9
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
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 pengalaman-
pengalaman 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 nilai-
nilai 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 dikatakan “disebabkan”
oleh , relasi yang ada antara dan dinotasikan dengan
.
Misal dan , dan relasi logika fuzzy antara
dan adalah , 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 . terdiri
dari didefinisikan sebagai fuzzy time series pada .
(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 dengan definisi sebagai
berikut:
14
di mana adalah fungsi keanggotaan dari fuzzy set , adalah elemen dari
fuzzy set , dan adalah derajat keanggotaan dari pada ,
Jika dinyatakan bahwa , 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
secara berurutan dilambangkan dengan dan . Himpunan
semesta dapat didefinisikan sebagai [ - , + ], di mana
dan adalah bilangan positif yang sesuai.
2) Bagi himpunan semesta menjadi sejumlah ganjil interval yang sama
. 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 disebabkan
oleh , maka fuzzy logical relationship group-nya
didefinisikan sebagai → .
15
6) Hitung hasil output peramalan. Jika , maka hasil output
peramalan pada dapat ditentukan dengan menggunakan beberapa
prinsip berikut :
1) Jika fuzzy logical relationship group dari adalah himpunan kosong
(contoh : → Ø), maka hasil peramalan untuk adalah
(midpoint dari ):
2) Jika fuzzy logical relationship group dari adalah one-to-one
(contoh : → ), maka hasil peramalan untuk adalah
midpoint (nilai tengah) dari , yaitu :
3) Jika fuzzy logical relationship group dari adalah one-to-many
(contoh : → , maka hasil peramalan untuk adalah
nilai rata-rata dari (midpoint dari ):
(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 , maka
kejadian yang akan datang (future state) bersifat bebas (independen) dari
kejadian-kejadian yang telah berlalu (past states) . Artinya,
kejadian yang akan datang (future state) hanya bergantung pada kejadian
yang sedang berlangsung (present state) .
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 , untuk beberapa
. Hal ini berarti bahwa state accessible dari state 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 merupakan suatu dugaan terhadap permintaan
yang 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 ( <? ) kemudian ditutup dengan tanda
tanya dilanjutkan tanda tag tutup ( ?> ). 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 fase-
fase 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
1. Aktor
Aktor adalah segala sesuatu yang
perlu berinteraksi dengan sistem
untuk pertukaran informasi.
Aktor dapat berupa manusia,
organisasi, sistem informasi yang
lain, dan perangkat eksternal.
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)
Use Case1
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
Initial Node
Notasi ini menggambarkan awal proses dari activity diagram
Actions
Notasi ini menggambarkan sebuah aktivitas yang jika
disusun secara keseluruhan akan menggambarkan
keseluruhan aktivitas dalam activity diagram
Flow
Notasi ini menggambarkan jalannya aktivitas dalam activity
diagram. Jika notasi ini keluar dari decision dibutuhkan kata-
kata untuk mengidentifikasikannya.
Decision/
Merge
Notasi ini menggambarkan keadaan bersyarat, yaitu decision
dan merge.
1. Decision
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.
Activity Final
Notasi ini menggambarkan akhir proses dari activity diagram
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
<<Class Name>>
-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
Actor
Notasi ini menggambarkan user yang
berinteraksi dengan system
System
Notasi ini menggambarkan kelas-kelas yang ada
pada class diagram
Life Lines
Notasi ini menggambarkan hidup dari sequence
Notasi ini menggambarkan waktu dimana user
sedang aktif berinteraksi dengan system
35
Activation Bars
Input Message
Notasi ini menggambarkan pesan masuk yang
dikirimkan yaitu berupa behavior
Output Message
Notasi ini menggambarkan pesan yang
dikirimkan sebagai balasan pesan masuk
Tabel 2.6 Notasi Sequence Diagram (lanjutan)
Notasi Keterangan
Frame
Notasi ini menggambarkan area pada sistem
yang mengalami perulangan (loops), seleksi
(alternate fragments), atau kondisi opsional
(optional).
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 perintah-
perintah 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.
Top Related