bab 2 landasan teori -...

41
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 A c , 3. Jika A 1 , A 2 ,... 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,

Upload: hoangliem

Post on 30-Jul-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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,

Page 2: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

2

2. Jika A1, A2, ... ∈ adalah himpunan yang saling lepas yaitu Ai ∩ Aj = ∅

untuk setiap pasangan i ≠ j , maka :

(Grimmett & Stirzaker, 2001:5)

Page 3: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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 :

Page 4: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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)

Page 5: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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)

Page 6: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 7: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

7

(Hogg & Craig, 2005:95)

Page 8: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 9: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 10: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 11: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 12: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 13: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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)

Page 14: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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!

Page 15: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 16: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 17: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 18: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 19: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 20: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 21: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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,

Page 22: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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 :

Page 23: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 24: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 25: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 26: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 27: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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),

Page 28: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 29: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 30: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 31: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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

Page 32: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 33: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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).

Page 34: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 35: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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)

Page 36: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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:

Page 37: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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)

Page 38: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 39: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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.

Page 40: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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)

Page 41: BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-00976-MTIF...disediakan oleh program berorientasi objek. Perencanaan lebih lanjut proses

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)