Upload
vuongdien
View
217
Download
0
Embed Size (px)
Citation preview
BAB 2
LANDASAN TEORI
2.1 Analisis Risko
Analisis risko merupakan metode mengidentifikasi risko dan menilai kerugian
ataupun penurunan keuntungan yang mungkin disebabkan, sebagai alasan perlunya
strategi untuk mencegah risko tersebut (Bedford et al, 2009, p12). Analisa risko
memiliki tiga tujuan: mengidentifikasi risko, menghitung dampak dari risko tersebut,
dan memberikan perbandingan biaya/manfaat antara dampak risko dengan biaya.
Setelah risko yang dapat mempengaruhi pengembangan teridentifikasi maka
diperlukan cara untuk menentukan tingkat kepentingan dari masing-masing risko.
Probabilitas terjadinya risko sering disebut dengan risk likelihood; sedangkan dampak
yang akan terjadi jika risko tersebut terjadi dikenal dengan risk impact dan tingkat
kepentingan risko disebut dengan risk value atau risk exposure.
Idealnya risk impact diestimasi dalam batas moneter dan likelihood dievaluasi
sebagai sebuah probabilitas. Dalam hal ini, menurut Hasan (2007, p64) risk exposure
akan menyatakan besarnya biaya yang diperlukan berdasarkan perhitungan analisis
biaya manfaat. Risk exposure untuk berbagai risko dapat dibandingkan antara satu
dengan lainnya untuk mengetahui tingkat kepentingan masing-masing risko.
Akan tetapi, estimasi biaya dan probabilitas tersebut sulit dihitung, subjektif,
menghabiskan waktu dan biaya. Untuk mengatasi hal ini maka diperlukan beberapa
pengukuran yang kuantitatif untuk menilai risk likelihood dan risk impact, karena tanpa
ini sulit untuk membandingkan atau meranking risko tersebut untuk berbagai keperluan.
Akan tetapi, usaha yang dilakukan untuk mendapatkan sebuah estimasi kuantitatif yang
6
baik akan menghasilkan pemahaman yang mendalam dan bermanfaat atas terjadinya
suatu permasalahan.
Angka-angka statistik dapat digunakan sebagai dasar untuk menghitung
perkiraan risko berdasarkan situasi yang ada, misalnya pada situasi pasar yang optimis
(bullish), pasar normal dan pasar yang pesimis (bearish). Perhitungan ini menggunakan
probabilitas, baik berdasarkan pengalaman masa lalu, rasio, trend industri, interview
dengan pihak eksekutif perusahaan, atau berdasarkan terknik perhitungan simulasi.
Menurut Supranto (2000, p309), probabilitas diartikan sebagai suatu nilai yang
digunakan untuk mengukur tingkat terjadinya suatu kejadian yang diacak. Probabilitas,
P(x), dapat ditentukan dengan menggunakan rumus :
∑=
xxxP )( (2.1)
di mana : P(x) = probabilitas
x = nilai bilangan yang akan dihitung probabilitasnya
Σ x = jumlah seluruh x
Dalam menghitung risko yang aktual dari penurunan hasil penjualan, dapat
digunakan rumus-rumus statistik, yaitu nilai yang diharapkan (expected value) dan
standar deviasi (standard deviation).
Expected value adalah rata-rata nilai/hasil yang diharapkan akan terlaksana. Nilai
ini diperoleh dari perkalian antara hasil yang diharapkan dengan probabilitasnya, P(x).
Rumusnya yaitu :
i
n
ii xxPxE )()(
1∑=
= (2.2)
7
di mana : xi = nilai permintaan i
P(xi) = probabilitas permintaan
n = jumlah nilai permintaan berbeda
Sedangkan Standard Deviation atau Standar Deviasi adalah tingkat fluktuasi
yang dipakai untuk memperkirakan tingkat risko atas penyimpangan yang mungkin
terjadi. Standar Deviasi diperhitungkan dari variabilitas expected value. Dinyatakan
dalam rumus :
1
)( 2
12
−
−=∑=
n
xxn
iσ (2.3)
di mana : σ2 = varian dari sebuah set nilai
x = setiap nilai dari suatu set
x = rata-rata (mean) dari observasi
n = jumlah varian yang dihitung
σ = (σ2 )1/2 = standar deviasi
Selain itu, dibutuhkan juga Rate of Return. Menurut Jones et.al (2002, p40),
return merupakan tingkat pengembalian yang dihasilkan dari penjualan yang tingkat
riskonya tidak kita ketahui dan merupakan nilai yang akan berubah sesuai dengan jangka
waktu tertentu. Rate of Return dapat dihitung dengan dua pendekatan, yaitu:
1) Pendekatan Aritmatika
%1001 ×−
= −
t
tti P
PPR (2.4)
8
2) Pendekatan Logaritma
%100log1
×⎟⎟⎠
⎞⎜⎜⎝
⎛=
−t
ti P
PR (2.5)
Dimana : Ri = Rate of Return
Pt = Hasil penjualan hari kedua
P t-1 = Hasil penjualan hari pertama (hari sebelumnya)
Terdapat perbedaan nilai rate of return yang dihasilkan dari kedua pendekatan di
atas, untuk perhitungan yang tingkat fluktuasinya tinggi maka pendekatan Lognormal
lebih sesuai dan lebih akurat dibandingkan dengan pendekatan Aritmatika.
Adapun rata-rata rate of return dapat dihitung dalam bentuk :
nRRRAAR n+++
=...21
(2.6)
Dimana : AAR = Aritmatic Average Return
R1 = hasil return ke-1
Rn = hasil return ke-n
n = jumlah data
AAR lebih cocok digunakan untuk data yang memiliki fluktuasi rendah.
Sehingga untuk estimasi tingkat laba rata-rata yang memiliki data berfluktuasi tinggi,
lebih cocok digunakan metode GMR (Geometric Mean Return). Variabel-variabel GMR
dapat dihitung dengan rumus :
1)1(...)1()1( 21 −+××+×+= nnRRRGMR (2.7)
9
Dimana : GMR = Geometric Mean Return
R1 = hasil Return ke-1
Rn = hasil Return ke-n
n = jumlah data
2.2 Metode Monte Carlo
2.2.1 Definisi Monte Carlo
Metode Monte Carlo adalah algoritma komputasi untuk mensimulasikan
berbagai perilaku sistem fisika dan matematika (Uyanto, 2005). Penggunaan klasik
metode ini adalah untuk mengevaluasi integral definit, terutama integral multidimensi
dengan syarat dan batasan yang rumit. Metode Monte Carlo berbeda dengan metode-
metode simulasi lainnya (seperti molecular dynamics) dengan menjadi stochastic, yang
nondeterministic dalam beberapa kasus - biasanya dengan menggunakan angka acak
(atau biasanya yang lebih sering pseudo-random numbers) - seperti yang terjadi pada
deterministic algorithms. Karena algoritma ini memerlukan pengulangan (repetisi) dan
perhitungan yang amat kompleks, metode Monte Carlo pada umumnya dilakukan
menggunakan komputer, dan memakai berbagai teknik simulasi komputer.
Metode Monte Carlo sangat penting dalam fisika komputasi dan bidang terapan
lainnya, dan memiliki aplikasi yang beragam mulai dari perhitungan kromodinamika
kuantum esoterik hingga perancangan aerodinamika. Metode ini terbukti efisien dalam
memecahkan persamaan diferensial integral medan radians, sehingga metode ini
digunakan dalam perhitungan iluminasi global yang menghasilkan gambar-gambar
fotorealistik model tiga dimensi, dimana diterapkan dalam video games, arsitektur,
10
perancangan, film yang dihasilkan oleh komputer, efek-efek khusus dalam film, bisnis,
ekonomi, dan bidang lainnya.
Karena algoritma ini memerlukan pengulangan (repetisi) dan perhitungan yang
amat kompleks, metode Monte Carlo pada umumnya dilakukan menggunakan komputer,
dan memakai berbagai teknik simulasi komputer.
2.2.2 Sejarah Monte Carlo
Metode Monte Carlo digunakan dengan istilah sampling statistic. Penggunaan
nama Monte Carlo, yang dipopulerkan oleh para pioner bidang tersebut (termasuk
Stanislaw Marcin Ulam, Enrico Fermi, John von Neumann dan Nicholas Metropolis),
merupakan nama kasino terkemuka di Monako. Penggunaan keacakan dan sifat
pengulangan proses mirip dengan aktivitas yang dilakukan pada sebuah kasino. Dalam
autobiografinya Adventures of a Mathematician, Stanislaw Marcin Ulam menyatakan
bahwa metode tersebut dinamakan untuk menghormati pamannya yang seorang penjudi,
atas saran Metropolis.
Penggunaannya yang cukup dikenal adalah oleh Enrico Fermi pada tahun 1930,
ketika ia menggunakan metode acak untuk menghitung sifat-sifat neutron yang waktu itu
baru saja ditemukan. Metode Monte Carlo merupakan simulasi inti yang digunakan
dalam Manhattan Project, meski waktu itu masih menggunakan peralatan komputasi
yang sangat sederhana. Sejak digunakannya komputer elektronik pada tahun 1945,
Monte Carlo mulai dipelajari secara mendalam. Pada tahun 1950-an, metode ini
digunakan di Laboratorium Nasional Los Alamos untuk penelitian awal pengembangan
bom hidrogen, dan kemudian sangat populer dalam bidang fisika dan riset operasi. Rand
Corporation dan Angkatan Udara AS merupakan dua institusi utama yang bertanggung
11
jawab dalam pendanaan dan penyebaran informasi mengenai Monte Carlo waktu itu,
dan mereka mulai menemukan aplikasinya dalam berbagai bidang.
Penggunaan metode Monte Carlo memerlukan sejumlah besar bilangan acak, dan
hal tersebut semakin mudah dengan perkembangan pembangkit bilangan pseudoacak,
yang jauh lebih cepat dan praktis dibandingkan dengan metode yang menggunakan tabel
bilangan acak untuk sampling statistik (Chendra et al, 2006).
2.2.3 Perhitungan Monte Carlo
2.2.3.1 Penentuan Distribusi Frekuensi
Dalam memilih dan melakukan perhitungan statistik terhadap suatu data yang
sifatnya random, perlu terlebih dahulu dilakukan pengelompokan data berdasarkan
jumlah dan interval kelasnya. Maka, penulis akan menjabarkan secara singkat mengenai
penentuan kerangka distribusi frekuensi, menurut Supranto (2000, p63):
a) Jumlah kelas (k)
k = 1 + 3,3 log n (2.8)
di mana: k = banyaknya kelas
n = banyaknya nilai observasi
b) Interval Kelas (c)
kX-X c 1n= (2.9)
di mana: c = perkiraan besarnya interval
k = banyaknya kelas
12
Xn = nilai observasi terbesar
X1 = nilai observasi terkecil
2.2.4 Penerapan Monte Carlo
Seperti yang telah dibahas sebelumnya, proses perhitungan Simulasi Monte
Carlo dapat dilakukan dengan penggunaan bilangan acak, yang prinsip dasar di balik
proses pemilihan bilangan acak tersebut sama dengan yang ada pada peralatan seperti
roulette, dadu, atau kartu. Peralatan tersebut menghasilkan angka secara acak dari suatu
populasi yang jelas.
Langkah-langkah dalam Simulasi Monte Carlo, yaitu (Kakiay, 2004, p75) :
1) Tentukan distribusi probabilitas untuk variabel-variabel yang penting.
2) Buat distribusi probabilitas kumulatif untuk setiap variabel pada langkah
pertama.
3) Tentukan interval bilangan acak untuk setiap variabel.
4) Bangkitkan bilangan acak.
5) Simulasikan serangkaian percobaan.
Langkah-langkah dari Simulasi Monte Carlo ditampilkan dalam bentuk skema,
seperti pada Gambar 2.1.
13
Gambar 2.1 Langkah-langkah Simulasi Monte Carlo
Sumber : Capital Investment Analysis for Engineering and Management, p326
Tujuan proses Monte Carlo adalah untuk menentukan variabel acak melalui uji
petik dari distribusi probabilitas, P(x).. Dalam penyusunan acak ini, periode panjang dari
waktu yang sebenarnya (real time) dicerminkan oleh suatu periode jangka pendek dari
waktu simulasi (simulated time).
Langkah kedua yang harus dilakukan adalah menentukan distribusi probabilitas
kumulatif atau Cumulative P(x), untuk setiap variabel yang ada. Dalam pengelompokan
14
data, Cum.P(x) dapat dianggap sebagai batas bawah (lower limit) kelas. Cara
mendapatkan Cum.P(x) yaitu dengan menjumlahkan probabilitas permintaan P(x) per
minggu dengan distribusi probabilitas kumulatif minggu sebelumnya. Namum perlu
diingat bahwa Cum.P(x) awal dianggap sebagai 0, karena batas bawah (lower limit) dari
kelas pertama selalu diawali dengan 0.
Langkah selanjutnya yang harus dilakukan adalah membangkitkan bilangan
acak. Menurut pendapat Taylor III et al. (2009, p579), untuk dapat mencerminkan sistem
yang disimulasi, angka acak yang digunakan harus memiliki karakteristik berikut:
a) Angka acak harus didistribusikan secara seragam. Hal ini berarti tiap angka acak
dalam suatu interval angka acak (yaitu, dari 0 sampai 1 atau 0 sampai 100)
memiliki kesempatan yang sama untuk dipilih. Jika kondisi ini tidak terpenuhi,
maka hasil simulasi akan bias dengan adanya angka acak yang memiliki
kesempatan lebih besar untuk dipilih.
b) Teknik numerik untuk menghasilkan angka acak harus efisien. Ini berarti bahwa
angka acak tersebut jangan sampai berubah menjadi nilai konstan atau terlalu
sering berulang.
c) Urutan angka acak harus tidak mencerminkan pola tertentu. Misalnya, urutan
angka 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, dan seterusnya,
meskipun seragam, namun tidak bersifat acak.
Berikut disajikan tabel angka acak seperti pada Tabel 2.1. Melalui tabel ini, dapat
langsung ditentukan angka acak dengan sistem komputer, yang kisaran angkanya antara
0 sampai dengan 1.
15
Tabel 2.1 Tabel Angka Acak (Random Numbers) dengan Sistem Komputer 0.3448 0.7670 0.7540 0.5977 0.3660 0.9669 0.8557 0.3448 0.7670 0.7540
0.9807 0.5924 0.7820 0.2899 0.0540 0.5212 0.9308 0.9807 0.5924 0.7820
0.6959 0.7592 0.6368 0.4598 0.1677 0.5331 0.4345 0.6959 0.7592 0.6368
0.7775 0.9184 0.2327 0.8195 0.5687 0.8053 0.9516 0.7775 0.9184 0.2327
0.7189 0.3725 0.4908 0.8973 0.6458 0.0660 0.6253 0.7189 0.3725 0.4908
0.6250 0.1143 0.6486 0.9961 0.9597 0.8740 0.6985 0.6250 0.1143 0.6486
0.8047 0.8696 0.3257 0.1538 0.7666 0.8230 0.8206 0.8047 0.8696 0.3257
0.0074 0.2901 0.1919 0.0532 0.2902 0.1922 0.6696 0.0074 0.2901 0.1919
0.6535 0.4783 0.3296 0.4739 0.4272 0.4600 0.3480 0.6535 0.4783 0.3296
0.4591 0.5071 0.6155 0.5475 0.7140 0.9986 0.9762 0.4591 0.5071 0.6155
Maka setelah melakukan serangkaian percobaan dengan mengulangi proses
pemilihan angka acak dari Tabel 2.1 lalu menentukan permintaan mingguan dari angka
acak tersebut, dapat disimulasikan permintaan untuk suatu periode waktu.
Adapun permintaan rata-rata dapat dihitung lebih tepat secara analisis dengan
menggunakan variabel-variabel untuk nilai yang diperkirakan. Menurut Taylor III et al.
(2009, p581), nilai yang diperkirakan (expected value) permintaan mingguan rata-rata
dapat dihitung dengan rumus 2.2.
Hasil dari penerapan simulasi dipengaruhi oleh beberapa kali simulasi (jumlah
percobaan) dilakukan. Menurut Taylor III et al. (2009, p581), “Semakin banyak periode
di mana simulasi dilakukan, semakin akurat hasil yang diberikan”.
16
2.2.5 Value at Risk (VaR)
Satu keunggulan dari penggunaan VaR adalah sangat mudah dipahami dan
diaplikasikan untuk segala bidang. VaR sudah sering diterapkan pada bidang perbankan,
perusahaan sekuritas, perusahaan penyedia komoditas, industri sumber daya energi, dan
berbagai bidang lainnya.
Hull (2005, p338) memberikan sebuah pengertian sebagai berikut, “A VaR
calculation is aimed at making a statement of following form: We are X percent certain
that we will not lose more than V dollars in the next N days.”
Dari kutipan di atas dapat diartikan bahwa perhitungan VaR ditujukan untuk
membuat pernyataan: “Kita berkeyakinan X persen bahwa kita tidak akan rugi lebih dari
V Dollar selama N hari mendatang.” Jika dijabarkan, variable V adalah VaR dari sebuah
portfolio. Variabel X menunjukkan tingkat keyakinan (confidence level), dan variable N
adalah periode waktu yang diestimasi.
Maka, VaR dinyatakan dengan rumus :
VaR = ω . α . σ (2.10)
dimana : α = tingkat kesalahan/error
σ = standard deviasi
ω = nilai variable yang dihitung (nilai sendiri atau nilai
gabungan)
Hull (2005, p338) juga berpendapat, berdasarkan rumus dan variabel VaR yang
telah dijelaskan di atas, VaR memiliki 2 (dua) parameter, yaitu :
17
a) Periode waktu harian yang diestimasi, N.
Pada prakteknya, sering dinyatakan N = 1 pada awal kejadian. Hal ini karena
data yang akan tersedia tidak mencukupi untuk melakukan estimasi lebih dari satu hari.
Maka diasumsikan dalam rumus :
N-day VaR = 1-day VaR x √ N (2.11)
Misalnya, terdapat 3 kali transaksi modal dengan ketentuan 10-day 99% VaR,
maka hasilnya, 3 x √ 10 = 9,49 kali 1-day VaR.
b) Tingkat keyakinan (confidence level), X.
Tingkat keyakinan yang biasanya diterapkan dalam perhitungan adalah antara
90%, 95% dan 99%. Salah satu faktor yang mempengaruhi pemilihan tingkat keyakinan
ini ialah jumlah data yang akan digunakan untuk observasi dan juga manfaat dari
observasi tersebut. Untuk observasi yang digunakan pada skala kecil dan menengah,
biasanya diakui tingkat keyakinan sebesar 90% - 95%. Sementara, untuk observasi yang
digunakan pada skala besar dan international, dapat diakui tingkat keyakinan sebesar
99%.
Besar atau kecilnya suatu tingkat keyakinan (confidence level) akan
mempengaruhi tingkat kesalahan atau error dari suatu estimasi. Misalnya, diketahui
tingkat keyakinan sebesar 95% dari 250 hari dalam setahun. Maka dari tingkat
keyakinan 95% akan diketahui persentase error senilai 5% (100% - 95%).
18
2.3 Sistem Berbasis Komputer
2.3.1 Model dari Computer Based Information System (CBIS)
Porsi komputer dalam pengolah informasi terdiri dari tiap area aplikasi yang
berbasis komputer – SIA, SIM, DSS, OA, dan ES. Sistem informasi berbasis komputer
(computer-based information system) atau CBIS digunakan untuk menggambarkan lima
subsistem yang menggunakan komputer (Stair et al, 2009, p11), seperti yang terlihat
pada Gambar 2.2 dan Gambar 2.3.
Gambar 2.2 Kerangka Sistem Berbasis Komputer
19
Gambar 2.3 Subsistem Berbasis Komputer
2.3.2 Organisasi Jasa Informasi
Perusahaan-perusahaan yang menggunakan komputer menyadari perlunya
membentuk unit-unit organisasional tersendiri yang terdiri dari para spesialis yang
bertanggung jawab menerapkan sistem. Para spesialis informasi (information specialist)
adalah pegawai perusahaan yang sepenuh waktu bertanggung jawab mengembangkan
dan memelihara sistem berbasis komputer. Ada lima spesialis informasi (Stair et al,
2009, p14) :
1) Analis sistem (System Analyst), bekerjasama dengan pemakai mengembangkan
sistem baru dan memperbaiki sistem yang ada sekarang.
20
2) Pengelola database (Database administrator), bekerjasama dengan pemakai dan
analis sistem menciptakan database yang berisi data yang diperlukan untuk
menghasilkan informasi bagi pemakainya.
3) Spesialis jaringan (Network specialist), bekerjasama dengan analis sistem dan
pemakai membentuk jaringan komunikasi data yang menyatukan berbagai
sumberdaya komputer yang tersebar.
4) Programer, menggunakan dokumentasi yang disediakan oleh analis sistem
untuk membuat kode instruksi-instruksi yang menyebabkan komputer mengubah
data menjadi informasi yang diperlukan.
5) Operator, mengoperasikan peralatan komputer berskala besar seperti mainframe
dan komputer mini.
Gambar 2.4 Rantai Komunikasi Tradisional
21
2.3.3 Pengelolaan CBIS
2.3.3.1 Kecenderungan Menuju End-User Computing
End-User Computing (EUC) adalah pengembangan seluruh atau sebagian sistem
berbasis komputer oleh para pemakai.
End-User Computing berkembang karena :
a) Meningkatnya pengetahuan tentang komputer, berbagai tingkatan manajemen,
mulai tingkat bawah diisi orang-orang yang menguasai komputer dengan baik.
b) Antrian jasa informasi, para spesialis informasi selalu memiliki lebih banyak
pekerjaan dengan yang dapat mereka tangani. Pemakai ingin mendapat layanan
cepat.
c) Perangkat keras yang murah.
d) Perangkat lunak jadi; menawarkan dukungan peningkatan dan kemudahan
penggunaan, dan memampukan perusahaan dan pemakai individu dengan sedikit
atau tanpa keahlian komputer untuk menerapkan sistem berbasis komputer.
2.3.3.2 Mencapai CBIS
Dalam beberapa hal, tiap subsistem dari CBIS menyerupai suatu organisme
hidup-lahir, bertumbuh, menjadi matang, berfungsi dan akhirnya mati. Proses
evolusioner ini disebut “Siklus kehidupan sistem” (system life cycle – CLC) dan terdiri
dari tahapan : perencanaan, analisis, rancangan, penerapan, dan penggunaan.
Siklus ini mungkin berlangsung beberapa bulan, atau mungkin berlangsung
beberapa tahun, seperti yang terlihat pada Gambar 2.5.
22
Gambar 2.5 Pola Lingkaran Siklus Hidup Sistem
Berbagai peran manajer dan spesialis informasi selama siklus hidup sistem, seperti yang
terlihat pada Tabel 2.2.
Tabel 2.2 Tahapan Siklus Hidup Sistem Tahap Manajer Spesialis Informasi
Perencanaan Mendefinisikan masalah Mendukung
Analisis Mengatur Melaksanakan penelitian sistem Rancangan Mengatur Merancang sistem Penerapan Mengatur Menerapkan sistem
Penggunaan Mengatur Menyiapkan sistem
2.4 Basis Data (Database)
Basis data (database) adalah kumpulan dari item data yang saling berhubungan
satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur
tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan
manipulasi untuk kegunaan tertentu (Ramakrishnan et al, 2003, p51). Ada juga yang
mendefinisikan basis data adalah kumpulan informasi yang disimpan di dalam komputer
23
secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk
memperoleh informasi dari basis data tersebut.
Alasan perlunya database yaitu sebagai berikut:
a) Basis data merupakan salah satu komponen penting dalam system informasi,
karena merupakan dasar dalam menyediakan informasi.
b) Basis data menentukan kualitas informasi : akurat, tepat pada waktunya dan
relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif
dibandingkan dengan biaya mendapatkannya.
c) Basis data mengurangi duplikasi data (data redudancy).
d) Dengan mengaplikasikan basis data hubungan data dapat ditingkatkan.
e) Basis data dapat mengurangi pemborosan tempat simpanan luar.
2.5 Rekayasa Perangkat Lunak
2.5.1 Pengertian Perangkat Lunak
Menurut Pressman (2002, p10), perangkat lunak adalah :
a) Perintah-perintah dalam suatu program komputer yang jika dijalankan akan
memberikan fungsi dan hasil yang diinginkan.
b) Struktur-struktur data yang membuat program dapat memanipulasi data.
c) Dokumen yang menggambarkan operasi dan penggunaan program.
2.5.2 Pengertian Rekayasa Perangkat Lunak
Menurut Pressman (2002, p28), rekayasa perangkat lunak adalah:
”Pengembangan dan penggunaan prinsip rekayasa untuk memperoleh perangkat lunak secara ekonomis yang reliabel dan bekerja secara efisien pada mesin nyata”.
24
2.5.3 Tujuan Rekayasa Perangkat Lunak
Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Mari
kita perhatikan Gambar 2.4 berikut ini (Mulyanto, 2008, p3).
Gambar 2.6 Tujuan Rekayasa Perangkat Lunak
Dari Gambar 2.4 dapat diartikan bahwa bidang rekayasa akan selalu berusaha
menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang
tepat.
Secara lebih khusus kita dapat menyatakan tujuan RPL adalah :
a) Memperoleh biaya produksi perangkat lunak yang rendah.
b) Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.
c) Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
d) Menghasilkan perangkat lunak yang biaya perawatannya rendah.
2.5.4 Model Proses Perangkat Lunak
Menurut Pressman (2002, p36) salah satu model proses perangkat lunak yang
sering digunakan adalah linear sequential model. Model ini sering disebut dengan
classic life cycle atau waterfall model. Model ini adalah model yang muncul pertama
kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model
yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan
pendekatan pada pengembangan perangkat lunak yang sistematis dan sekuensial yang
25
mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian
dan pemeliharaan. Secara umum menurut Pressman (2002, p37), tahapan pada model
waterfall dapat dilihat pada gambar berikut :
Gambar 2.7 Waterfall Model
a) System engineering and analysis (rekayasa dan pemodelan sistem)
Karena perangkat lunak merupakan bagian dari sebuah sistem yang besar, maka
kerja dimulai dengan membangun syarat dari semua elemen sistem dan
mengalokasikan beberapa subset dari kebutuhan ke perangkat lunak tersebut.
b) Software requirement analysis (analisis kebutuhan perangkat lunak)
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada
software. Untuk mengetahui sifat dari program yang akan dibangun, maka para
software engineer harus memahami domain informasi, tingkah laku, unjuk kerja,
dan antarmuka yang diperlukan.
c) Design (desain)
Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus
pada empat atribut sebuah program yang berbeda; struktur data, arsitektur
26
perangkat lunak, representasi antarmuka dan detail (algoritma) prosedural.
Proses desain menerjemahkan syarat/kebutuhan ke dalam sebuah representasi
perangkat lunak yang dapat diperkirakan demi kualitas sebelum proses
pengkodean dimulai
d) Coding (pengkodean)
Design yang telah dibuat harus diterjemahkan ke dalam bentuk yang dapat
dibaca oleh mesin yaitu berupa coding computer.
e) Testing/Verification (pengujian)
Setelah pengkodean, maka pengujian program dimulai. Proses pengujian
berfokus pada logika internal perangkat lunak, memastikan bahwa semua
pernyataan sudah diuji, dan pada eksternal fungsional yaitu mengarahkan
pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input
yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang
dibutuhkan.
f) Maintenance (pemeliharaan)
Perangkat lunak akan mengalami perubahan setelah disampaikan kepada
pemakai. Perubahan akan terjadi jika terdapat kesalahan di dalam sistem atau
adanya perubahan lingkungan perangkat lunak, seperti perubahan perangkat
keras atau sistem operasi, atau untuk meningkatkan fungsi dan kinerja dari
perangkat lunak itu sendiri.
2.6 Interaksi Manusia dan Komputer
Interaksi Manusia dan Komputer (Galitz, 2007) adalah suatu ilmu yang
mempelajari perencanaan dan desain tentang cara manusia dan komputer saling bekerja
27
sama, sehingga manusia dapat merasa puas dengan cara yang paling efektif. Dikatakan
juga bahwa sebuah desain antarmuka yang ideal adalah yang mampu memberikan
kepuasan terhadap manusia sebagai pengguna dengan faktor kapabilitas serta
keterbatasan yang terdapat dalam sistem.
Menurut Shneiderman (2003, p74-75), dalam perancangan sebuah interface
terdapat aturan-aturan yang telah dikenal dengan Eight Golden Rules of Interface
Design (delapan aturan emas), yaitu :
1) Berusaha keras untuk konsisten (strive for consistency)
Konsisten ini adalah konsisten dalam penggunaan bentuk dan ukuran font,
pemberian warna pada latar belakang dan tulisan, pembuatan layout.
2) Memungkinkan pengguna menggunakan shortcut sesering mungkin (enable
frequent users to use shortcuts)
Pengurangan jumlah interaksi melalui fasilitas shortcuts memberikan manfaat
bagi pengguna dalam memberikan waktu respon dan waktu tampilan yang cepat.
3) Memberikan umpan balik yang informatif (offer informative feedback)
Untuk setiap tindakan yang dilakukan oleh user, harus diberikan umpan balik
(feed back). Umpan balik bisa berupa tampilan ataupun suara sehingga pengguna
mengetahui bahwa pernagkat lunak tersebut memberikan respon.
4) Merancang dialog untuk menghasilkan keadaan akhir (design dialogs to yield
closure)
Urutan dari tindakan harus diatur ke dalam suatu kelompok yang memiliki
bagian awal, bagian tengah, dan bagian akhir. Umpan balik yang informatif
dalam penyelesaian tindakan-tindakan akan memberikan kepuasan bagi pemakai.
28
5) Memberikan penanganan kesalahan yang sederhana (offer error prevention and
simple error handling)
Dalam mendesain, sebisa mungkin diberikan error prevention, contohnya, pada
menu untuk memasukkan nama, user tidak diperbolehkan untuk memasukkan
angka. Jika user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan
tersebut dan menampilkan kesalahan si pengguna dan memberikan contoh
penggunaan yang benar secara sederhana.
6) Mengizinkan pembalikan aksi dengan mudah (permit easy reversal of actions)
Dalam melakukan desain, sebisa mungkin diberikan undo. Hal ini akan
memudahkan user jika melakukan kesalahan yang tidak disengaja ketika sedang
mengerjakan sesuatu.
7) Menyediakan kendali internal bagi user (support internal locus of control)
Sistem harus dirancang supaya user merasa menguasai sistem dan sistem akan
memberi respon atas tindakan yang diberikan.
8) Mengurangi muatan memory jangka pendek (reduce short-term memory load)
Manusia mempunyai keterbatasan dalam mengingat sehingga memerlukan
tampilan sederhana, tampilan halaman-halaman dapat digabungkan, dan
pergerakan Windows dapat dikurangi.
Suatu program yang interaktif dan baik harus bersifat user friendly. 5 kriteria
yang harus dipenuhi oleh suatu program yang user friendly yaitu (Galitz, 2007, p64) :
1) Dapat dipelajari : seberapa mudah pengguna pertama kali mengerjakan tugas-
tugas dasar?
2) Efisien kecepatan kinerja: Seberapa cepat pengguna dapat melakukan tugas?
29
3) Kesalahan: Berapa banyak kesalahan yang pengguna buat, Seberapa parah
pengguna salah, dan seberapa mudah pengguna dapat memperbaiki kesalahan?
4) Dapat diingat ketika pengguna kembali menggunakan design setelah beberapa
waktu tidak menggunkan, seberapa mudah pengguna dapat menggunakan
kembali design tersebut?
5) Kepuasan: bagaimana kepuasan pengguna dalam menggunakan design?
Tujuan rekayasa sistem interaksi manusia dan komputer (Shneiderman, 2003, p9-
14) adalah :
a) Fungsionalitas yang sesuai
Sistem dengan fungsionalitas yang kurang memadai mengecewakan pemakai dan
sering ditolak atau tidak digunakan. Sedangkan sistem dengan fungsionalitas
yang berlebihan berbahaya dalam implementasi, pemeliharaan, proses belajar
dan penggunaan yang sulit.
b) Kehandalan, Ketersediaan, Keamanan dan Integritas data
Kehandalan berfungsi seperti yang diinginkan, tampilan akurat. Ketersediaan
berarti tersedia ketika hendak digunakan dan jarang mengalami masalah.
Keamanan berarti terlindung dari akses yang tidak diinginkan. Integritas data
adalah keutuhan data yang terjamin, tidak mudah dirusak atau diubah oleh orang.
c) Standarisasi, Integrasi, Konsistensi dan Portabilitas
Standarisasi adalah keseragaman sifat-sifat antar muka pemakai pada aplikasi
yang berbeda. Integrasi adalah keterpaduan dari berbagai paket aplikasi dan
peralatan perangkat lunak. Konsistensi adalah keseragaman dalam satu program
aplikasi, seperti urutan perintah, istilah, satuan, warna, tipografi. Portabilitas
30
berarti dimungkinkannya data dikonversi dan dipindahkan, dan
dimungkinkannya antar muka pemakai dipakai di berbagai lingkungan perangkat
lunak dan perangkat keras.
d) Penjadwalan dan anggaran
Perencanaan yang hati-hati dan manajemen yang berani diperlukan karena
adanya persaingan dengan vendor lain sehingga proyek harus sesuai jadwal dan
anggaran, sistem yang perlu tepat pada waktunya (real time), serta murah agar
dapat diterima.
2.7 Perancangan Layar
Perancangan layar merupakan suatu tahapan untuk membuat blue print atas
tampilan layar yang sesungguhnya. Rancangan layar dibuat sedemikian rupa sehingga
memudahkan pengguna berinteraksi dengan sistem. Smith dan Mosier (dikutip oleh
Shneiderman, 2003, p80) mengusulkan pedoman perancangan layar yang baik sebagai
berikut:
1) Konsistensi tampilan data. Istilah, singkatan, format dan lain sebagainya harus
standar.
2) Beban ingatan yang seminimal mungkin bagi pengguna. Pengguna sedapat
mungkin tidak diharuskan mengingat informasi dari layar satu ke layar lainnya.
3) Kompatibilitas tampilan data dengan pemasukan data. Format tampilan informasi
perlu berhubungan dengan tampilan pemasukan data.
4) Fleksibilitas kendali pengguna terhadap data. Pengguna program harus dapat
memperoleh informasi yang diinginkan sesuai format yang paling memudahkan.