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 :
P( x) =
x
(2.1)
∑x
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 : n
E ( x) = ∑ P( xi ) xi i =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 : n
σ2 =
∑ ( x − x)
2
i =1
(2.3)
n −1
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
Ri =
Pt − Pt −1 ×100% Pt
(2.4)
8 2)
Pendekatan Logaritma
⎛ P ⎞ Ri = log⎜⎜ t ⎟⎟ × 100% ⎝ Pt −1 ⎠ Dimana :
Ri
= Rate of Return
Pt
= Hasil penjualan hari kedua
P t-1
(2.5)
= 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 :
AAR = Dimana :
R1 + R2 + ... + Rn n
(2.6)
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 :
GMR = n (1 + R1 ) × (1 + R2 ) × ... × (1 + Rn ) − 1
(2.7)
9 Dimana :
2.2
GMR = Geometric Mean Return R1
= hasil Return ke-1
Rn
= hasil Return ke-n
n
= jumlah data
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 metodemetode 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 di mana:
(2.8)
k = banyaknya kelas n = banyaknya nilai observasi
b)
Interval Kelas (c)
c=
X n - X1 k
di mana:
(2.9) 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 = ω . α . σ dimana :
(2.10)
α = 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. Tahap Perencanaan Analisis Rancangan Penerapan Penggunaan 2.4
Tabel 2.2 Tahapan Siklus Hidup Sistem Manajer Spesialis Informasi Mendefinisikan Mendukung masalah Mengatur Melaksanakan penelitian sistem Mengatur Merancang sistem Mengatur Menerapkan sistem Mengatur Menyiapkan sistem
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 tugastugas 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, p914) 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.