bab 2 landasan teori -...
TRANSCRIPT
BAB 2
LANDASAN TEORI
2.1 Ruang contoh, Kejadian dan Peluang
Definisi 1 (Percobaan acak)
Dalam suatu percobaan seringkali diperlukan pengulangan yang dilakukan dalam
kondisi yang sama. Semua kemungkinan hasil yang akan muncul adalah diketahui,
tetapi hasil pada percobaan berikutnya tidak dapat diduga dengan tepat. Percobaan
semacam ini disebut percobaan acak.
(Hogg & Craig, 2005:1)
Definisi 2 (Ruang contoh dan kejadian)
Himpunan dari semua kemungkinan hasil darisuatu percobaan acak disebut ruang
contoh, dinotasikan dengan Ω . Suatu kejadian A adalah himpunan bagian dari Ω .
(Grimmett & Stirzaker, 2001:1)
Definisi 3 (Medan-σ )
Medan-σ adalah suatu himpunan yang anggotanya terdiri atas himpunan bagian
dari ruang contoh Ω , yang memenuhi kondisi berikut :
1. ∅ ∈ ,
2. Jika A ∈ maka Ac ∈ ,
3. Jika A1, A2 ,... ∈ maka .
(Grimmett & Stirzaker, 2001:3)
Definisi 4 (Ukuran Peluang)
Misalkan adalah medan-σ dari ruang contoh Ω . Ukuran peluang adalah suatu
fungsi P : → ⎡⎣0,1⎤⎦ pada (Ω, ) yang memenuhi :
1. P(∅) = 0, P(Ω) = 1,
2
2. Jika A1, A2, ... ∈ adalah himpunan yang saling lepas yaitu Ai ∩ Aj = ∅
untuk setiap pasangan i ≠ j , maka :
(Grimmett & Stirzaker, 2001:5)
3
2.2 Peubah Acak dan Sebarannya
Definisi 5 (Peubah Acak)
Misalkan adalah medan-σ dari ruang contoh Ω . Suatu peubah acak X adalah suatu
fungsi X : Ω → dengan sifat ω ∈ Ω : X (ω) ≤ x ∈ untuk setiap x ∈ .
(Grimmett & Stirzaker, 2001:27)
Definisi 6 (Peubah Acak Diskret)
Peubah acak X dikatakan diskret jika nilainya hanya pada himpunan bagian yang
terhitung dari .
(Grimmett &Stirzaker, 2001:33)
Catatan :
Suatu himpunan bilangan C disebut terhitung jika C terdiri atas bilangan terhingga
atau anggota C dapat dikorespondensikan 1-1 dengan bilangan bulat positif.
Definisi 7 (Fungsi Massa Peluang)
Fungsi massa peluang dari peubah acak diskret X adalah fungsi p : → ⎡⎣0,1⎤⎦ yang
diberikan oleh :
(Grimmett & Stirzaker, 2001:33)
Definisi 8 (Sebaran Poisson)
Suatu peubah acak X dikatakan menyebar Poisson dengan parameter λ , jika
memiliki fungsi massa peluang :
(Hogg & Craig, 2005:143)
Definisi 9 (Sebaran Geometrik)
Suatu peubah acak X dikatakan menyebar Geometrik dengan parameter , jika
memiliki fungsi massa peluang :
4
Dengan x = 0, 1, 2, ... dan 0 < < 1.
(Hogg & Craig, 2005:43)
Definisi 10 (Sebaran Binom Negatif)
Suatu peubah acak X dikatakan menyebar Binom Negatif dengan parameter r dan p,
jika memiliki fungsi massa peluang :
(Ghahramani, 2005:218)
Definisi 11 (Fungsi Sebaran)
Misalkan X adalah suatu peubah acak dengan ruang A . Fungsi sebaran dari peubah
acak X dinyatakan sebagai,
(Hogg & Craig, 2005:35)
Definisi 12 (Peubah Acak Kontinu)
Peubah acak X dikatakan kontinu jika ada fungsi sehingga fungsi sebaran
dapat dinyatakan sebagai :
adalah fungsi yang terintegralkan. Fungsi f disebut
fungsi kepekatan peluang dari X .
(Grimmett & Stirzaker, 2001:33)
Definisi 13 (Sebaran Exponential)
5
Suatu peubah acak X dikatakan menyebar Exponential dengan parameter θ, jika X
memiliki fungsi kepekatan peluang :
(Ghahramani, 2005:285)
Definisi 14 (Sebaran Gamma)
Suatu peubah acak X dikatakan menyebar Gamma dengan parameter α dan β,
dinotasikan gamma (α, β), jika memiliki fungsi kepekatan peluang :
dengan dan dengan
(Hogg & Craig, 2005:150)
6
Definisi 15 (Fungsi Sebaran Bersama Dua Peubah Acak)
Fungsi sebaran bersama dua peubah acak X dan Y merupakan suatu fungsi
yang didefinisikan oleh
.
(Grimmet & Stirzaker, 2001:98)
Definisi 16 (Fungsi Kepekatan Peluang Bersama dan Marjinal)
Misalkan X dan Y adalah peubah acak kontinu, maka fungsi kepekatan peluang
bersama dari X dan Y adalah
dan fungsi kepekatan peluang marjinal dari peubah acak Y adalah
(Grimmet & Stirzaker, 2001:99)
2.3 Nilai Harapan
Definisi 17 (Nilai Harapan)
Jika X adalah peubah acak kontinu dengan fungsi kepekatan peluang , maka
nilai harapan dari X, dinotasikan dengan E(X), adalah :
,
asalkan integral di atas konvergen mutlak.
(Hogg & Craig, 2005:53)
Definisi 18 (Nilai Harapan Bersyarat)
Misalkan X dan Y adalah peubah acak kontinu dan adalah fungsi
kepekatan peluang bersyarat dari X dengan syarat Y = y. Nilai harapan dari X dengan
syarat Y = y adalah
7
(Hogg & Craig, 2005:95)
8
2.4 Likelihood
Definisi 19 (Fungsi Likelihood)
Misalkan X1, X2, ..., Xn adalah contoh acak dari suatu sebaran dengan fungsi
kepekatan peluang dengan x merupakan realisasi dari peubah acak X. Fungsi
kepekatan peluang bersama dari X1, X2, ..., Xn (fungsi likelihood) adalah :
Fungsi kemungkinan maksimum merupakan bentuk maksimum dari fungsi
likelihood.
(Hogg & Craig, 2005:311)
Definisi 20 (Fungsi Likelihood Maksimum)
Misalkan X1, X2, ..., Xn adalah contoh acak berukuran n dari suatu sebaran dengan
fungsi kepekatan peluang Penduga kemungkinan maksimum bagi
dinotasikan dengan , adalah yang memaksimumkan fungsi likelihood
(Hogg & Craig, 2005:322)
2.5 Pendekatan Bayes
Definisi 21 (Sebaran Prior)
Suatu peubah acak X yang memiliki fungsi kepekatan peluang bersama yang
dilambangkan dengan dan fungsi marjinal , dinamakan
sebaran prior.
(Arnold, 1990)
Definisi 22 (Sebaran Posterior)
Misalkan peubah acak X memiliki sebaran prior dengan fungsi kepekatan peluang
bersama dan memiliki fungsi kepekatan peluang marjinal .
Fungsi kepekatan peluang gabungan dari dilambangkan dengan
9
dinamakan fungsi kepekatan peluang dari sebaran posterior, dan
dinyatakan dengan :
(Arnold, 1990)
Definisi 23 (Fungsi Kerugian)
Misalkan X adalah suatu peubah acak dengan parameter dan penduga
parameternya . Fungsi kerugian (loss function) dari parameter tersebut adalah :
dan
Fungsi kerugian kuadratik merupakan fungsi kerugian dengan kesalahan kuadrat dari
parameter tersebut yang dinyatakan dengan :
(Bain & Engelhardt, 2000)
Definisi 24 (Fungsi Risiko)
Fungsi risiko adalah nilai harapan dari fungsi kerugian, yang dinyatakan sebagai
berikut :
(Bain & Engelhardt, 2000)
Definisi 25 (Solusi Bayes)
Misalkan θ adalah suatu parameter dengan penduga parameternya , dengan fungsi
kerugian L(θ, ) dan nilai harapan dari fungsi kerugian tersebut E(L(θ, )), dikatakan
solusi Bayes jika penduga parameter meminimumkan
10
(Hogg & Craig, 2005:586)
Solusi Bayes ini tergantung dari fungsi kerugiannya, jika diaplikasikan dalam fungsi
kerugian kuadratik (quadratic error loss) :
Sehingga menjadi :
2.6 Metode Slovin
Definisi 26 (Metode Slovin)
Dalam pengambilan sampel data dari populasi yang terhingga, secara acak maka
digunakan rumus Slovin, dengan perhitungan sebagai berikut :
dengan :
n = jumlah sampel
N = Jumlah populasi
e = batas toleransi kesalahan (error tolerance)
(Sevilla & Consuelo G, 2007:182)
2.7 Piranti Lunak dan Bahasa Pemrograman
Definisi 27 (Piranti Lunak)
Definisi piranti lunak menurut Pressman (2011:4) adalah :
a. Perintah (program komputer) yang saat dieksekusi menyediakan features,
fungsi dan performa yang diinginkan pengguna.
11
b. Struktur data yang memungkinan program untuk memanipulasi informasi
secara proporsional.
c. Informasi deskriptif (dokumen) dalam bentuk hardcopy dan virtual yang
menjelaskan operasi dan kegunaan program.
(Pressman, 2011:4)
Definisi 28 (Object Oriented Programming)
Menurut Deitel & Deitel (2012:13) object oriented programming adalah bahasa
pemrograman yang memungkinkan penerapan desain berorientasi objek sebagai
sistem kerja. Object-oriented programming menggunakan modular, object oriented
design (OOD) dan pendekatan implementasi yang lebih meningkatkan produktivitas
programmer jika dibandingkan dengan structure programming. Berikut adalah
konsep-konsep dalam object-oriented programming, yaitu :
1. The Automobile as an Object
Objek menyembunyikan mekanisme kompleks sebuah class sehingga class
dapat digunakan dengan mudah. Contoh sebuah objek mobil. Mobil memiliki
attribute: piston dan bahan bakar. Mobil memiliki methods: menambah
kecepatan. Untuk menambah kecepatan, teknisi harus mendesain mekanisme
kerja semua attribute agar mobil dapat menambah kecepatan. Keluaran dari
teknisi tersebut dapat dianalogikan sebagai class. Dan penggunaan keluaran
tersebut dapat dianalogikan sebagai objek.
2. Methods and Classes
Methods adalah kumpulan baris program yang bertugas melakukan tugas-
tugas sesuai dengan perintah baris program. Sedangkan class merupakan
sekumpulan methods yang melakukan tugas-tugas dalam class. Contoh: class
yang merepresentasikan rekening nasabah yang memiliki methods untuk
menabung dan menarik uang.
3. Instantiation
12
Objek dari sebuah class harus dibangun sebelum menjalankan method yang
didefinisikan oleh class, proses ini disebut instantiation. Objek merupakan
wakil dari keseluruhan isi class.
4. Reuse
Class dapat digunakan berulang kali untuk membangun banyak objek.
Penggunaan ulang class yang telah ada untuk membangun class atau program
baru dapat menghemat waktu dan tenaga. Penggunaan ulang juga membantu
programmer membangun sistem yang lebih tangguh dan efektif, karena class
yang sudah ada telah melewati tahap testing, debugging dan performance
tuning.
5. Messages and Methods Calls
Setiap message diimplementasikan sebagai methods call yang berfungsi
memerintah methods objek yang bersangkutan untuk melakukan tugasnya.
Contoh: program akan memanggil method menabung pada objek rekening
nasabah untuk menambah saldo.
6. Attributes and Instance Variables
Objek selalu memiliki attributes yang digunakan untuk menjalankan
program. Attributes merupakan bagian spesifik dari objek. Attributes
ditentukan dengan instance variable. Contoh: objek rekening bank memiliki
attribute saldo yang merepresentasikan jumlah uang pada rekening tersebut.
7. Encapsulation
Class membungkus attributes dan methods dalam sebuah objek. Attributes
dan methods sebuah objek berhubungan erat. Objek dapat berkomunikasi
dengan objek yang lain akan tetapi biasanya objek tidak perbolehkan untuk
mengetahui bagaimana objek yang lain diimplementasikan.
8. Inheritance
Sebuah kelas baru dapat dibangun dengan mudah dan cepat dengan
inheritance karena class baru mengadopsi penuh karakter class sebelumnya
dan dapat melakukan penambahan karakter yang unik.
13
9. Object-Oriented Analysis and Design (OOAD)
OOAD adalah proses yang yang melibatkan analisis dan perancangan sistem
dari sudut pandang object-oriented. Object-oriented merupakan pendekatan
untuk membangun sebuah program kompleks. Proses analisis merupakan
tahap awal untuk membangun sebuah program yang kompleks.
10. The UML (Unified Modeling Language)
Hasil analisis yang berbeda-beda akan menghasilkan OOAD yang berbeda-
beda. Untuk mengkomunikasikan OOAD yang berbeda-beda tersebut
digunakan bahasa grafis standar untuk memodelkan sistem object-oriented
tersebut.
(Deitel & Deitel, 2012:13)
Definisi 29 (Rekayasa Peranti Lunak)
Menurut Pressman (2011:13) definisi rekayasa peranti lunak oleh Fritz Bauer
merupakan landasan bagi definisi rekayasa peranti lunak lainnya. Fritz Bauer
mengonsepkan bahwa rekayasa peranti lunak merupakan pembangunan peranti lunak
berdasarkan prinsip-prinsip rekayasa untuk mendapatkan peranti lunak yang
ekonomis, handal, dan mampu bekerja secara efisien pada mesin nyata.
Menurut IEEE (Pressman, 2011:13), Definisi rekayasa peranti lunak adalah
penerapan pendekatan yang sistematis, disiplin, dan terukur untuk mengembangkan,
menjalankan, dan memelihara peranti lunak, yang kesemuanya itu merupakan
penerapan rekayasa yang berkaitan dengan peranti lunak.
Prinsip Umum Rekayasa Peranti Lunak
Secara keseluruhan prinsip-prinsip rekayasa peranti lunak terdiri atas 7 prinsip
umum (Pressman, 2011:19):
1. The Reason It all Exists
Sebuah peranti lunak dibangun untuk memberikan nilai bagi penggunanya.
Sebelum menetapkan kebutuhan sistem, fungsionalitas sistem, proses
pembangunan dan hal-hal lain yang perlu diperhatikan adalah apakah peranti
lunak ini akan memberikan nilai tambah pada sistem?
2. KISS (Keep It Simple Stupid)
14
Desain sebuah peranti sesederhana mungkin, tetapi tidak sederhana. (All
design should be as simple as possible, but not simpler). Hal ini dimaksudkan
agar peranti lunak lebih mudah dipahami dan dipelihara oleh sistem.
Penggunaan beberapa iterasi dan pemikiran lugas diperlukan untuk
menyederhanakan peranti lunak.
3. Maintain the Vision
Penetapan visi yang jelas pada tahapan awal rekayasa sangat penting untuk
keberhasilan sebuah peranti lunak.
4. What You Produce, Others Will Consume
Sistem yang telah dibangun suatu saat akan digunakan kembali, dirawat, dan
didokumentasikan oleh orang lain tergantung pada kemampuannya untuk
memahami sistem yang telah ada. Sebagai pembangun sistem usahakan untuk
selalu menentukan spesifikasi, desain, dan implementasi agar orang lain
dapat memahami sistem tersebut.
5. Be Open to the Future
Dalam membangun sistem, prediksi perkembangan sistem yang akan terjadi
setelah sistem berjalan sangat diperlukan. Sistem yang memiliki suatu nilai
lebih dan dapat bertahan lama adalah sistem yang mampu beradaptasi dengan
perkembangan industri.
6. Plan Ahead for Reuse
Penggunaan kembali baris-baris kode dan desain dapat menghemat waktu
dan usaha pengembangan peranti lunak. Tetapi diperlukan pemikiran dan
perencanaan yang jelas untuk menggunakan peluang reuse yang telah
disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses
reuse dapat mengurangi biaya dan meningkatkan nilai dari komponen dan
sistem dimana sistem itu berada.
7. Think!
15
Berpikir secara matang sebelum bertindak akan menghasilkan hasil yang jauh
lebih baik. Ketika pemikiran yang sudah matang dimasukkan ke dalam
sistem maka sistem yang lebih handal dengan nilai lebih akan dihasilkan.
Proses Rekayasa Peranti Lunak
Proses rekayasa peranti lunak bukan merupakan proses kaku yang wajib diikuti
untuk membangun sebuah peranti lunak. Melainkan proses adaptif yang
memungkinkan pengembang untuk memilih proses yang sesuai agar peranti lunak
dapat selesai tepat waktu dengan kualitas yang cukup memuaskan pihak sponsor dan
pengguna.
Pada tahun 2001, Kent Beck dan 16 orang pengembang aplikasi, penulis dan
konsultan lainnya menyepakati “Manifesto for Agile Software Development” yang
berisi bahwa interaksi dan personel lebih penting dari pada proses dan alat, software
yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi
dengan pengguna lebih penting dari pada negosiasi kontrak, dan sikap tanggap
terhadap perubahan lebih penting daripada mengikuti rencana.
Metode agile mementingkan keluaran atau hasil dari proses pengembangan software,
pengerjaan software, dan memaksimalkan nilai untuk pengguna. Metode agile ini
dapat didefinisikan sebagai aturan yang berorientasi pada penggunaan manusia dan
komunikasi dalam hubungannya dengan aturan prosedur proyek yang sifatnya ringan
namun sesuai.
Salah satu metode agile yang banyak digunakan adalah extreme programming. Ide
pengembangan dengan extreme programming pertama kali dilakukan pada akhir era
1980an, dan diperkenalkan oleh Kent Beck. Kent Beck mendefinisikan lima nilai
yang menjadi dasar dari semua pekerjaan sebagai bagian dari extreme programming
adalah komunikasi, penyederhanaan, umpan balik, keberanian, dan menghormati.
Setiap nilai ini digunakan sebagai pendorong bagi aktivitas, aksi, dan tugas extreme
programming secara spesifik (Pressman, 2011:72-73).
1. Komunikasi
16
Untuk mencapai komunikasi yang efektif antara pembuat software dan
pemegang kepentingan lainnya, extreme programming menekankan pada
komunikasi yang dekat dan informal antara pengguna dan pengembang.
Pembentukan komunikasi yang penting ini berfungsi untuk
mengkomunikasikan konsep-konsep penting, umpan balik terus menerus, dan
menghindari dokumentasi tebal sebagai media komunikasi.
2. Penyederhanaan
Extreme programming membatasi pengembang untuk mendesain hanya pada
apa yang dibutuhkan sekarang, dibandingkan dengan memikirkan apa yang
dibutuhkan pada masa depan. Ini bertujuan untuk membuat desain yang
sederhana yang dapat diimplementasikan pada code dengan mudah. Jika
desain harus ditingkatkan, ini dapat di refactoring di kemudian hari.
3. Umpan balik
Umpan balik didapat dari tiga sumber: software yang telah
diimplementasikan itu sendiri, pengguna, dan tim pengembang software yang
lain. Extreme programming menggunakan unit test sebagai taktik untuk
melakukan tes awal. Dengan berkembangnya setiap class, setiap tim
mengembangkan unit test untuk melakukan tes sesuai dengan fungsinya
secara spesifik. Setiap perkembangan yang di kirim ke pengguna, maka
kebutuhan baru akan menjadi bagian dari perencanaan secara iterasi, tim
pengembang menyediakan penggunan dengan umpan balik yang cepat
mengenai biaya dan jadwal.
4. Keberanian
Keberanian disini lebih menekankan pada bahwa setiap anggota tim dari
extreme programming harus berani melakukan desain untuk saat ini
dibandingkan dengan memikirkan kebutuhan masa depan yang dapat berubah
secara drastis.
5. Menghormati
17
Dengan mengikuti setiap nilai-nilai yang ada, setiap tim extreme
programming saling menghormati satu sama lain, baik itu tim pengembang,
anggota tim lainnya, dan pemegang kepentingan lainnya.
Proses dalam extreme programming secara garis besar dapat dibagi menjadi
empat kerangka kerja. Gambar 2.1 mengilustrasikan proses pengembangan
dengan extreme programming (Pressman, 2011:73-77):
Gambar 2.1 Langkah-langkah extreme programming (Pressman, 2011:74)
a. Perencanaan
Tahap perencanaan, yaitu sebuah cara pengumpulan kebutuhan yang
memungkinkan anggota teknikal tim XP untuk mengerti konteks bisnis untuk
piranti lunak dan mendapatkan wawasan yang luas untuk hasil yang
dibutuhkan dan fitur utama serta fungsionalitas. Proses mendengarkan akan
mengarahkan pada pembuatan “cerita” yang menggambarkan kebutuhan
akan
hasil, fitur, dan fungsionalitas piranti lunak yang akan dibuat.
b. Perancangan
Perancangan XP mengikuti prinsip “Keep It Simple” (KIS). Desain yang
sederhana selalu lebih dipilih dibandingkan dengan yang kompleks. Apabila
ditemukan masalah perancangan yang sulit sebagai bagian dari perancangan
cerita, XP merekomendasikan untuk membuat prototype operasional dari
18
perancangan tersebut dengan segera. Dikenal sebagai spike solution,
rancangan prototype diimplementasikan dan dievaluasi. Tujuannya adalah
agar mengurangi risiko saat pengimplementasian yang sesungguhnya dimulai
dan untuk memastikan perkiraan asli untuk cerita yang mengandung masalah
perancangan.
c. Coding
Tahap ini akan dilakukan setelah pembuatan user stories dan perancangan
pendahuluan selesai dibuat, serta dilanjutkan dengan pengembangan urutan
pengujian unit pada user stories yang akan dimasukkan kedalam rilis.
Pengembang sebaiknya memfokuskan pada hal yang akan diimplementasikan
untuk melewati pengujian, setelah pengujian unit dibuat, sehingga akan
dihasilkan umpan balik langsung bagi pengembang, konsep utama selama
coding adalah pair programming, yaitu proses pembuatan kode untuk user
stories yang dilakukan oleh dua orang secara bersama-sama. Hal ini
menyediakan mekanisme untuk pemecahan masalah, penjaminan kualitas
pada saat pengerjaan, dan membuat pengembang tetap fokus pada
permasalahan yang ada. Pada tahap ini juga dilakukan refactoring.
Refactoring memungkinkan pengembang aplikasi untuk meningkatkan
struktur internal dari desain (source code) tanpa mengubah sifat atau
fungsionalitas eksternal. Dengan kata lain refactoring dapat digunakan untuk
meningkatkan efisiensi, kemampuan dibaca, atau performa dari desain atau
code yang mengimplementasikan desain.
d. Pengujian
Pengujian unit yang dibuat sebelum coding dimulai adalah elemen kunci
untuk pendekatan dalam XP. Pengujian unit yang dibuat harus
diimplementasikan menggunakan framework yang memungkinkan pengujian
unit dilakukan secara otomatis. Hal ini mendorong sebuah strategi pengujian
regresi setiap saat kode diubah. Integrasi dan pengujian validasi dari sistem
dapat terjadi secara harian karena pengujian unit secara individu
diorganisasikan menjadi “universal testing suite”. Hal ini menyediakan
indikasi dari kemajuan yang didapat dan juga memberikan peringatan dini
19
terhadap kesalahan yg terjadi kepada tim XP. XP acceptance tests, yang
disebut juga pengujian klien, ditentukan oleh klien dan berfokus pada
keseluruhan fitur sistem dan fungsionalitas yang terlihat dan dapat diulas
kembali oleh klien. Acceptance tests diperoleh dari cerita pengguna yang
telah diimplementasikan sebagai bagian dari piranti lunak yang dirilis.
(Pressman,2011:73-77)
Definisi 30 (Interaksi Manusia dan Komputer (IMK))
Menurut Ben Schneiderman (2010:4-5), 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.
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 promps, 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
20
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
dikurangi dan harus ada waktu yang cukup bagi user untuk mempselajari
kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau kode
sebaliknya tersedia.
21
Selain delapan aturan emas (Eight Golden Rules) 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. Meskipun waktu untuk membuat dan
memperbaiki kesalahan mungkin dimasukan ke dalam kecepatan kinerja,
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.
(Shneiderman & Plaisant, 2011:32)
Definisi 31 (Bahasa Pemograman R)
Bahasa R adalah bagian yang terintegrasi pada fasilitas suatu perangkat lunak untuk
manipulasi data, kalkulasi data dan menampilkan grafik. Bahasa R mempunyai
kelebihan di antara lain :
• Mempunyai kemampuan yang efektif dalam menangani dan menyimpan
data,
• Adanya operator kalkulasi menggunakan arrays dengan matrix khusus,
22
• Suatu alat dengan kemampuan menengah yang besar, koheren dan
terintegrasi untuk analisa data,
• Kemampuan grafis untuk analisa data dan menampilkannya baik secara
langsung di komputer atau saat dicetak.
(Venables dan Smith,2009)
Definisi 32 (Bahasa Pemograman C#)
C# (biasanya disebut juga sebagai “C sharp”) adalah sebuah bahasa pemrograman
komputer yang baru. C# merupakan bahasa object-oriented seperti java dan
merupakan bahasa component-oriented yang pertama. Bahasa pemrograman ini
dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun
fitur bahasa yang terdapat pada bahasabahasa pemrograman lainnya seperti java,
visual basic, dan lain-lain dengan beberapa penyederhanaan.
C# dititikberatkan pada :
• C# adalah sebuah bahasa baru yang diturunkan dari keluarga C/C++
• Kode pada C# lebih sederhana dan lebih modern dari C++
• Merupakan bahasa componen-oriented yang pertama
• Merupakan bahasa yang didesain dari .Net framework
• Merupakan bahasa yang singkat, dan modern
• Mengkombinasikan fitur-fitur terbaik dari banyak bahasa yang umum
digunakan : produktivitas dari visual basic, kekuatan dari c++ dan java
• Mempunyai sintaks yang konsisten.
• C# akan menjadi pilihan bahasa bagi pemrograman .Net.
• Bagian terbesar dari .Net framework yang benar-benar dikodekan dalam
bahasa C#.
(Deitel & Deitel, 2012)
2.8 Chart dan Diagram
Definisi 33 (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 :
23
• Menggambarkan suatu tahapan penyelesaian masalah secara sederhana,
terurai, rapi dan jelas.
• Menggunakan simbol-simbol standar.
Dalam penulisan Flowchart dikenal dua model, yaitu Flowchart Sistem dan
Flowchart Program.
• Flowchart Sistem:
Bagan yang memerlihatkan urutan prosedur dan proses dari beberapa file
di dalam media tertentu.
Melalui flowchart ini terlihat jenis media penyimpanan yang dipakai
dalam pengolahan data.
Selain itu juga menggambarkan file yang dipakai sebagai input dan
output.
Tidak digunakan untuk menggambarkan urutan langkah untuk
memecahkan masalah.
Hanya untuk menggambarkan prosedur dalam sistem yang dibentuk.
Gambar 2.2 Contoh Flowchart Sistem
• Flowchart Program :
Bagan yang memperlihatkan urutan dan hubungan proses dalam suatu
program.
Dua jenis metode penggambaran program flowchart :
o Conceptual flowchart, menggambarkan alur pemecahan masalah
secara global.
o Detail flowchart, menggambarkan alur pemecahan masalah secara
rinci.
24
Gambar 2.3 Conceptual and Detail Flowchart
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
• Menunjukan jenis operasi pengolahan dalam suatu proses/prosedur.
3. Input / Output symbols
• Menunjukan jenis peralatan yang digunakan sebagai media input atau
output.
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.
25
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.
26
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 predefined process, yaitu menyatakan
penyediaan tempat penyimpanan suatu pengolahan
untuk memberi harga awal.
Simbol terminal, yaitu menyatakan permulaan atau
akhir suatu program.
Simbol keying operation, menyatakan segala jenis
operasi yang diproses menggunakan suatu mesin yang
memiliki keyboard.
Simbol offline-storage, menyatakan bahwa data dalam
simbol ini akan disimpan ke suatu media tertentu.
Tabel 2.3 Input/Output Symbol
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.
27
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.
(Nilawati, 2009)
Definisi 34 (Unified Modeling Language (UML))
Menurut Whitten dan Bentley (2007:371) UML versi 2.0 (Unified Modeling
Language) adalah sekumpulan konvensi pemodelan yang digunakan untuk
menentukan atau menggambarkan sebuah sistem piranti lunak yang terkait dengan
objek.
Berdasarkan perspektif dalam memodelkan suatu sistem, UML dapat dikelompokan
menjadi empat kelompok diagram, yaitu: Use case diagram, Activity diagram, Class
diagram, dan Sequence diagram.
(Whitten dan Bentley ,2007:371),
28
Definisi 35 (Use Case Diagram)
Use case diagram adalah sebuah diagram yang menggambarkan interaksi antara
sistem dengan sistem eksternal dengan pengguna. Dengan kata lain, secara grafis
menggambarkan siapa yang akan menggunakan sistem dan dengan cara apa
pengguna mengharapkan untuk berinteraksi dengan sistem (Whitten & Bentley,
2007:246).
Use case diagram memiliki dua elemen penting yaitu skenario dan aktor. Skenario
adalah suatu urutan langkah-langkah yang menjelaskan interaksi antara user dengan
sistem. Aktor adalah segala sesuatu yang berinteraksi denan sistem untuk bertukar
informasi.
Gambar 2.4 Contoh Use Case Diagram (Whitten & Bentley, 2007:246)
Dalam use case diagram terdapat hubungan, hubungan yang digunakan dalam use
case diagram adalah (Whitten & Betley, 2007:248-250):
1. Association
Association menggambarkan adanya interaksi antara sebuah use case dengan
aktor. Association dimodelkan dengan simbol garis dengan, atau tanpa tanda
panah. Association dibagi menjadi dua, yaitu bidirectional association dan
unidirectional association. Bidirectional association adalah asosiasi yang
berlaku dua arah, dilambangan dengan garis lurus seperti (2), unidirectional
association adalah asosiasi yang berlaku satu arah. Association dengan tanda
panah menunjukkan bahwa aktor sebagai inisiator use case tersebut.
29
Sedangkan asosiasi tanpa anak panah menandakan interaksi antara use case
dengan aktor penerima.
Gambar 2.5 Contoh Asosiasi pada Use Case Diagram
(Whitten & Bentley, 2007:248)
2. Extends
Extends digunakan ketika sebuah use case terdiri dari beberapa tahap
sehingga sulit dimengerti. Dengan menggunakan extends, use case akan
menghasilkan use case baru yang mewakili fungsi tertentu dari use case
awal. Hasil dari extends disebut dengan extended use case.
Gambar 2.6 Extended Use Case (Whitten & Bentley, 2007:248)
3. Includes/Uses
Includes digunakan ketika terdapat dua atau lebih use case yang melakukan
langkah yang sama. Langkah tersebut akan dipisahkan menjadi use case
terpisah yang disebut abstract use case. Abstract use case berfungsi untuk
mengurangi redundansi pada use case.
30
Gambar 2.7 Contoh Includes pada Use Case Diagram
(Whitten & Bentley, 2007:248)
4. Depends On
Depends On menunjukkan hubungan keterkaitan antara use case dimana ada
use case yang tidak dapat dijalankan jika use case lainnya belum dilakukan.
Gambar 2.8 Contoh Hubungan Depends On
(Whitten & Bentley, 2007:249)
5. Inheritance
Inheritance digunakan ketika di antara dua atau lebih aktor terdapat langkah
yang sama. Inheritance akan membentuk aktor abstrak (abstract actor) yang
berfungsi untuk menyederhanakan use case.
Gambar 2.9 Contoh Inheritance dalam Use Case
31
(Whitten & Bentley, 2007:249)
(Whitten & Betley, 2007:248-250)
Definisi 36 (Use Case Narrative)
Menurut Whitten & Bentley (2007:256), penjelasan secara narasi akan membantu
mempercepat pemahaman terhadap sistem karena keterangannya yang bersifat high
level (gambaran tingkat tinggi / secara luas).
Gambar 2.10 Use Case Narrative (Whitten & Bentley, 2007:259)
(Whitten & Bentley, 2007:256-259)
Definisi 37 (Activity Diagram)
Activity diagram adalah diagram yang secara grafik digunakan untuk
menggambarkan rangkaian aliran aktifitas baik proses bisnis, langkah-langkah use
32
case, dan logika perilaku dari objek. Diagram ini digunakan untuk memodelkan
action yang akan dilakukan ketika operasi dieksekusi dan memodelkan hasil dari
action tersebut (Whitten & Bentley, 2007:391-393).
Gambar 2.11 Contoh dan Notasi Activity Diagram
(Whitten & Bentley, 2007:392)
Dalam activity diagram terdapat beberapa notasi yang berfungsi untuk
mengilustrasikan diagram, yaitu (Whitten & Bentley, 2007:391):
1. Initial node
Lingkaran dengan warna padat dan utuh yang merepresentasikan awal dari
proses.
2. Actions
Kotak berlingkaran yang merepresentasikan langkah individu.
33
3. Flow
Panah dalam diagram yang mengindikasikan perkembangan dalam sebuah
action.
4. Decision
Bentuk permata dengan satu flow yang masuk dan dua atau lebih flow yang
keluar.Aliran yang keluar ditandai untuk mengidentifikasikan kondisi.
5. Merge
Bentuk permata dengan dua atau lebih flow yang masuk dan satu flow yang
keluar. Notasi ini mengkombinasikan flow yang sebelumnya dipisahkan oleh
decision kemudian diproses sehingga menjadi satu flow.
6. Fork
Balok hitam dengan satu flow masuk dan dua atau lebih flow keluar.
Tindakan pada flow paralel di bawah fork dapat terjadi dalam urutan apapun
atau bersamaan.
7. Join
Kotak hitam dengan dua atau lebih flow yang masuk dan satu flow keluar.
Tindakan yang masuk ke dalam join harus selesai sebelum proses
dilanjutkan.
8. Activity final
Lingkaran dengan warna padat di dalam lingkaran kosong merepresentasikan
akhir dari proses.
(Whitten & Bentley, 2007:391)
Definisi 38 (Sequence Diagram)
Sequence diagram adalah diagram UML yang memodelkan logika dari sebuah use
case dengan cara menggambarkan bagaimana objek berinteraksi satu sama lain.
Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima di antara objek
dan dalam sekuen apa (Whitten & Bentley, 2007:659).
34
Gambar 2.12 Contoh dan Notasi Sequence Diagram
(Whitten & Bentley, 2007:659)
Dalam activity diagram terdapat beberapa notasi yang berfungsi untuk
mengilustrasikan diagram, yaitu (Whitten & Bentley, 2007:660):
1. Actor
Actor berinteraksi dengan objek kelas interface.
2. Interface class
Interface class adalah kotak yang mengindetifikasikan kode kelas dari
tampilan antarmuka.
3. Controller class
Setiap use case akan memiliki satu atau lebih controller classes, digambar
dengan notasi yang sama dengan interface class dan diberi tanda
<<controller>>.
4. Entity classes
Entity classes adalah kotak tambahan untuk setiap kesatuan yang
membutuhkan kolaborasi dalam tahap-tahap sequence.
5. Messages
Messages digunakan untuk menyampaikan method dari setiap objek.
6. Activation bars
Activation bars adalah kotak yang berfungsi untuk mengidentifikasikan
waktu keberadaan dari setiap objek yang ada.
7. Return messages
Return messages adalah jawaban atas pesan yang disampaikan oleh suatu
objek.
35
8. Self-call
Self-call adalah sebuah objek yang dapat mengirimkan pesan ke objek itu
sendiri.
9. Frame
Frame digunakan untuk menandakan area pada diagram yang mengalami
perulangan (looping), mengalami seleksi (alternative), atau memiliki sebuah
ketentuan (optional).
(Whitten & Bentley, 2007:660)
36
Definisi 39 (Class Diagram)
Class diagram adalah sebuah diagram yang menggambarkan struktur objek statis
dari suatu sistem. Diagram ini menunjukkan kelas-kelas objek yang menyusun
sebuah sistem dan juga yang menghubungkan antar kelas objek tersebut (Whitten &
Bentley, 2007:400).
Gambar 2.13 Contoh Class Diagram
(Whitten & Bentley, 2007:406)
Notasi-notasi yang terdapat di class diagram, yaitu (Whitten & Bentley, 2007:373):
1. Class
Class adalah rancangan dari suatu objek, dimana objek yang diciptakan dari
suatu class akan memiliki semua yang dimiliki oleh class tersebut. Secara
umum class digambarkan dengan sebuah kotak yang terdiri dari 3 bagian,
yaitu:
37
a. Bagian atas: class name.
b. Bagian tengah: attribute.
c. Bagian bawah: operational.
2. Relationship
a. Association
Hubungan yang terjadi antara class yang ada. Association
memungkinkan suatu class untuk menggunakan atau mengetahui
attribute atau operation yang dimiki oleh class lain. Association juga
menggambarkan interaksi yang mungkin terjadi antara satu class
dengan class yang lain. Association digambarkan dengan sebuah garis
tanpa tanda panah.
Gambar 2.14 Notasi Association (Whitten & Bentley, 2007:377)
38
b. Aggregation
Aggregation adalah suatu bentuk relasi yang jauh lebih kuat dari
association. Aggregation dapat diartikan bahwa suatu class merupakan
bagian dari class yang lain namun bersifat tidak wajib. Aggregation
digambarkan dengan sebuah garis yang memiliki bentuk diamond kosong
di salah satu ujung garisnya.
Gambar 2.15 Notasi Aggregation (Whitten & Bentley, 2007:379)
c. Composition
Relasi ini merupakan relasi yang paling kuat dibandingkan dengan
association maupun aggregation. Pada composition 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.
39
Gambar 2.16 Notasi Composition (Whitten & Bentley, 2007:379)
d. Generalization
Generalization memungkinkan suatu class mewarisi attribute dan
operation yang dimiliki oleh base class. Attribute dan operation yang
bisa diwarisi oleh suatu class adalah yang memiliki access modifier
public, protected, dan default. Generalization digambarkan dengan garis
yang memiliki tanda panah tertutup kosong pada salah satu ujungnya
yang mengarah ke base class.
40
Gambar 2.17 Notasi Generalization (Whitten & Bentley, 2007:376)
Attribute dan method 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.
(Whitten & Bentley, 2007:373-380)
41
2.9 Teori Umum
Definisi 40 (Asuransi)
Asuransi artinya transaksi pertanggungan yang melibatkan dua pihak, tertanggung
dan penanggung . Sedangkan pengertian asuransi menurut Prof. Mehr dan Cammack
yang didefinisikan oleh Djojosoedarso (2003:74):
“Asuransi adalah alat sosial untuk mengurangi risiko, dengan
menggabungkan sejumlah yang memadai unit-unit yang terkena risiko,
sehingga kerugian-kerugian individual mereka secara kolektif dapat
diramalkan. Kemudian kerugian yang dapat diramalkan itu dipikul merata
oleh mereka yang tergabung”.
(Djojosoedarso, 2003:74)
Definisi 41 (Premi)
Adapun pengertian premi menurut Djojosoedarso (2003:127) :
”Premi adalah pembayaran dari tertanggung kepada penanggung, sebagai
imbalan jasa atas pengalihan risiko kepada penanggung”.
(Djojosoedarso, 2003:127)
Definisi 42 (Piutang)
Menurut Mulyadi (2001:135) menyatakan bahwa :
“Piutang merupakan klaim kepada pihak lain atas uang ,barang/jasa yang
dapat diterima dalam waktu satu tahun, atau dalam satu siklus kegiatan
perusahaan”.
(Mulyadi, 2001:135)
Definisi 43 (Laba)
Adapun pengertian laba menurut Munawir (2002:135):
”Laba merupakan selisih antara penghasilan penjualan di atas semua biaya
dalam periode Akuntasi tertentu. Dengan demikian laba adalah nilai lebih
yang diperoleh pihak perusahaan atas biaya yang dikeluarkan dari hasil yang
diterima”.
(Munawir, 2002:135)