BAB 2 LANDASAN TEORI 2.1 Peubah acak Definisi 1 (Ruang Sampel) Misalkan akan dilakukan sebuah percobaan yang hasil akhirnya tidak dapat diprediksi. Ketika hasil akhirnya tidak dapat diprediksi, semua kemungkinan yang ada dapat dicatat. Semua kemungkinan yang ada di dalam sebuah percobaan inilah yang disebut
Ruang Sampel dan
dinyatakan dengan S. (Ross, 2009:1) Definisi 2 (Kejadian) Elemen yang berada di dalam ruang lingkup S yang dinotasikan dengan E disebut Kejadian (Ross, 2009:2) Definisi 3 (Peluang) Misalkan sebuah percobaan yang mempunyai ruang sampel S. Untuk setiap kejadian E dari ruang sampel S, kita asumsikan ada sebuah angka P(E) yang didefinisikan dan memenuhi 2 kondisi yaitu 1. 0
P(E)
1
2. P(S) = 1 Sehingga P(E) adalah peluang dari kejadian E (Ross, 2009:4) Definisi 4 (Peubah acak) Misalkan fungsi
adalah sebuah ruang sampel suatu percobaan acak. Sebuah yang terdefinisi pada
yang memetakan setiap unsur 9
ke
10 satu dan hanya satu hasil dari
, disebut peubah acak. Ruang dan daerah
adalah himpunan bilang real
. (Hogg, Mckean, Craig, 2012:33)
2.2 Nilai Harapan, Mean, Ragam dan Fungsi Pembangkit Momen Definisi 5 (Fungsi Peluang / Distribusi Peluang (Fungsi Massa Peluang)) Misalkan ada peubah acak diskrit X, maka f(x) adalah fungsi massa peluang dengan syarat sebagai berikut : 1. 2. 3. (Hogg, Mckean, Craig, 2012:33) Definisi 6 (Kepekatan Peluang) Jika X merupakan peubah acak kontinu, maka f(x) adalah Fungsi Kepekatan Peluang dengan syarat sebagai berikut : 1. 2. 3. Fungsi kepekatan peluang dinotasikan dengan f(x). Persamaan diatas menyatakan bahwa peluang X berada pada daerah x dapat diperoleh dengan cara mengintegralkan f(x). (Hogg, Mckean, Craig, 2012:36)
11
Definisi 7 (Nilai Harapan) Misalkan
adalah sebuah peubah acak. Jika
kontinu dengan kepekatan peluang
adalah sebuah peubah acak
maka nilai harapan dari
adalah,
. Jika
adalah sebuah peubah acak diskrit dengan fungsi kerapatan peluang maka nilai harapan dari adalah,
Nilai harapan dari suatu konstanta adalah konstanta itu sendiri. Misalkan adalah suatu konstanta maka,
(Hogg, Mckean, Craig, 2012:53) Definisi 8 (Nilai Harapan Bersyarat) Nilai harapan bersyarat dinotasikan sebagai E[X|Y] yang mempunyai sifat jika X dan Y adalah peubah acak diskrit maka peluang bersyarat dari kerapatan peluang X dengan syarat Y = y adalah
Jika X adalah independen dari Y maka,
12
Sehingga E[X|Y] adalah
(Ross, 2009:91) Jika X dan Y peubah acak kontinu yang mempunyai kepekatan peluang gabungan maka peluang bersyarat dari kepekatan peluang X dengan syarat Y = y adalah
Jika X adalah independen dari Y maka
Sehingga E[X|Y] adalah
(Ross, 2009:96) Definisi 9 (Mean) Misalkan mean
dari
adalah sebuah peubah acak yang memiliki nilai harapan. Nilai didefinisikan sebagai berikut,
(Hogg, Mckean, Craig, 2012:59)
13
Definisi 10 (Ragam) Misalkan
adalah sebuah peubah acak dengan mean
sedemikian hingga
terbatas. Maka ragam dari
yang terbatas didefinisikan
sebagai,
(Hogg, Mckean, Craig, 2012:59) Definisi 11 (Fungsi Pembangkit Momen) Misalkan
adalah sebuah peubah acak sedemikian hingga untuk beberapa
nilai
, nilai harapan dari
pembangkit momen dari
ada untuk
. Fungsi
didefinisikan sebagai,
(Hogg, Mckean, Craig, 2012:60)
2.3 Distribusi Normal Definisi 12 (Distribusi Normal) Misalkan sebuah peubah acak
mempunyai distribusi normal jika fungsi
kepekatan peluangnya adalah,
Parameter bahwa
dan
adalah nilai mean dan ragam dari , biasanya ditulis
mempunyai distribusi
. (Hogg, Mckean, Craig, 2012:162)
14
Definisi 13 (Peubah Acak Normal Standar) Misalkan sebuah peubah acak Z yang mempunyai fungsi kepekatan peluang,
dan mempunyai distribusi normal
. Z disebut sebagai peubah acak
disebut sebagai fungsi kepekatan peluang standar
normal standar dan normal.
Fungsi pembangkit momen dari peubah acak Z adalah
Misalkan
dan menggunakan fungsi pembangkit momen dari
maka akan didapat,
untuk
.
Dengan melihat hubungan antara mempunyai distribusi distribusi standar dari
dan
maka dapat disimpulkan bahwa
jika dan hanya jika
mempunyai
. Fungsi kepekatan kumulatif dari peubah acak normal dapat didefinisikan sebagai,
15 dimana
. (Hogg, Mckean, Craig, 2012:162-163)
2.4 Distribusi Gamma Definisi 14 (Distribusi Gamma) Misalkan sebuah peubah acak
Maka dikatakan
mempunyai fungsi kepekatan peluang,
mempunyai distribusi Gamma dengan parameter
. Biasanya dituliskan bahwa
mempunyai distribusi
dan
.
(Hogg, Mckean, Craig, 2012:149)
2.5 Proses Stokastik Definisi 15 (Proses Stokastik) adalah himpunan dari peubah acak.
Sebuah proses stokastik Maka setiap
adalah peubah acak dimana t mengintepretasikan
waktu t dan X(t) sebagai state (keadaan) dari proses pada waktu t. Himpunan T adalah himpunan index dari sebuah proses. Jika T adalah suatu interval maka proses stokastik tersebut disebut sebagai proses stokastik waktu kontinu. (Ross, 2009:77) Definisi 16 (Inkremen Stasioner) Sebuah proses stokastik dengan waktu kontinu
disebut
memiliki inkremen stasioner jika sebaran dari perubahan nilai pada
16 sembarang interval waktu hanya bergantung pada panjang dari interval waktu.
Dengan kata lain, sebuah proses stokastik memiliki inkremen stasioner jika perubahan
nilai
pada
interval
,
, mempunyai perubahan nilai yang sama interval
untuk setiap
dan
yaitu pada
. (Ross, 2009:250)
Definisi 17 (Inkremen Bebas) Suatu proses stokastik dengan waktu kontinu
disebut ,
memiliki inkremen bebas jika untuk semua peubah acak
adalah
bebas. Dengan kata lain, suatu proses stokastik dengan waktu kontinu X disebut memiliki inkremen bebas jika proses berubahnya nilai pada interval waktu yang tidak tumpang tindih (tidak overlap) adalah bebas. (Ross, 2009:250) 2.6 Proses Wiener Definisi 18 (Proses wiener) Sebuah proses stokastik
disebut sebagai proses Wiener jika
i. ii.
memiliki inkremen stationer dan independen
iii. Untuk setiap ragam
berdistribusi normal dengan mean = 0 dan
. (Ross, 2009:524)
17
2.7 Martingales Definisi 19 (Martingales) Martingales adalah proses stokastik dimana nilai perubahan rata-ratanya 0. Martingales mempunyai sifat dimana nilai harapan pada waktu yang akan datang sama dengan nilainya saat ini. (Hull, 2011:635) Definisi 20 (Equivalent Martingales Measure) Sebuah vektor peluang P disebut sebagai Equivalent Martingales Measure jika tidak terdapat kesempatan untuk melakukan arbitrase sehingga sifat dari martingales berlaku untuk beberapa pilihan untuk risiko harga pasar. Equivalent Martingales Measure juga disebut dengan risk neutral measure. (Hull, 2011:636) 2.8 Deret Mac Laurin Deret Mac Laurin berasal dari deret Taylor yang dinotasikan sebagai berikut
Jika a = 0 maka menjadi deret Mac Laurin dimana deret Maclaurin untuk adalah
18 (Ward, 2011:79)
2.9 Teori Opsi Definisi 21 (Opsi) Opsi adalah suatu perjanjian atau kontrak dimana seorang pembuat opsi memberikan hak,bukan kewajiban bagi seorang pemegang opsi untuk membeli atau menjual suatu saham dengan harga dan waktu yang telah ditetapkan. (Hull, 2011:6) Dilihat dari hak yang dimiliki pemegang opsi, opsi dibedakan menjadi dua,yaitu: 1. Opsi beli
Opsi beli yang lebih dikenal sebagai call option, adalah suatu hak untuk membeli sebuah saham pada harga kesepakatan (strike price) dan dalam jangka waktu tertentu. 2. Opsi Jual
Opsi jual yang lebih dikenal sebagai put option, adalah suatu hak untuk menjual sebuah saham pada harga kesepakatan (strike price) dan dalam jangka waktu tertentu.
Dilihat dari waktu pelaksanaan, opsi dibedakan menjadi dua, yaitu : 1. Opsi Eropa
19 Opsi Eropa yaitu suatu kontrak opsi yang hanya bisa di laksanakan pada hari terakhir saat tanggal jatuh tempo masa berlakunya opsi tersebut. 2. Opsi Amerika Opsi Amerika yaitu suatu kontrak opsi yang bisa dilaksanakan kapan saja di dalam masa berlakunya kontrak opsi. 2.10 Fungsi Payoff Sekarang diperhatikan Opsi Eropa. Pada saat 0 ≤ t < T sebelum expiry date dari opsi akan ditemukan kesulitan untuk menghitung nilai opsi (V),
tetapi pada saat expiry date T akan mudah sekali untuk
menghitung nilai tersebut. Untuk harga Opsi Call Eropa, terdapat tiga kasus yang mungkin, yaitu 1. Harga saham lebih besar dari Strike Price (S > K) Karena tidak ada biaya transaksi, maka nilai opsi adalah V = S – K > 0. Ini adalah alasan bagi pemegang opsi untuk membeli saham dengan strike price K tetapi sebaliknya untuk Opsi Put Eropa. 2. Harga saham lebih kecil dari Strike Price (S < K) Hal ini akan menyebabkan kerugian karena pemegang opsi akan membeli saham tersebut dengan harga di atas harga pasar tetapi sebaliknya untuk Opsi Put Eropa. 3. Harga Saham sama dengan Strike Price (S = K ) Dalam kasus ini tidak ada perbedaan apakah pemegang opsi akan menggunakan haknya untuk membeli(opsi call) atau menjual (opsi put) saham karena akan memberikan nilai V=0.
20 Dari ketiga kasus di atas, dapat disimpulkan bahwa nilai dari Opsi Eropa pada saat expiry date T adalah
dengan d=
. (Pradhitya, 2012:2)
2.11 Model Black-Scholes Model Black Sholes adalah model perhitungan harga opsi yang paling pertama muncul yaitu pada tahun 1973. Model Black Scholes ini memiliki asumsi dimana aset dasar saham tanpa deviden dengan mengabaikan resiko-resiko yang ada. Model ini menghasilkan formulasi perhitungan harga opsi dengan tipe Eropa, dimana formula untuk harga opsi call adalah:
Keterangan : C(S,t) = fungsi call yang bergantung pada S(harga aset awal) dan t (waktu/periode) S
= Harga aset awal (underlying asset)
N(d1) = Nilai Kumulatif hingga d1 pada sebaran normal K
= Harga pada saat dieksekusi (exercise price) = Waktu/periode hingga jatuh tempo (T-t)
T
= Waktu jatuh tempo
21 N(d2) = Nilai Kumulatif hingga d2 pada sebaran normal = Bunga kontinu r
= Suku bunga domestik = Volatilitas (deviasi standar) harga aset dasar. (Hull, 2011:313)
2.12 Metode Esscher Transform Metode Esscher Transform adalah suatu model perhitungan harga opsi yang berorientasi waktu pada ilmu aktuaria dengan memindahkan bobot kerugiannya dengan mentransformasi fungsi kepekatan peluangnya. Misalkan
adalah suatu bilangan real dan
adalah fungsi kepekatan
peluang, maka nilai fungsi pembangkit momennya ada dengan formula sebagai berikut
Sebagai fungsi dalam x,
disebut sebagai peluang kepekatan dan juga disebut sebagai Esscher Transform dari x dengan parameter h. Pada model Risk-Neutral Esscher Transform parameter h yang digunakan adalah unik, dinyatakan dengan call Eropa dengan exercise price
. Pada model ini harga opsi
dan exercise date
adalah,
22
dimana
adalah stock price non-devidend-paying dalam waktu 0,
adalah constant risk free force of interest,
, dan
adalah fungsi distribusi kumulatif. (Ruban, 2011:9) 2.13 Model Proses Shifted Gamma Model
Proses
Shifted
Gamma
adalah
hasil
pengembangan
berdasarkan Risk-Neutral Esscher Transform. Pada model ini diasumsikan bahwa , Dimana
adalah proses Gamma dengan parameter
dan
, dan
konstanta positif c sebagai parameter ketiga. Misalkan mendefinisikan distribusi gamma dengan parameter
dan ,
Maka fungsi distribusi kumulatif yang akan digunakan adalah
dan fungsi pembangkit momennya adalah,
Kemudian ditambahkan parameter
dari model Risk-Neutral Esscher
Transfor, fungsi pembangkit momennya menjadi,
23
Nilai opsi call Eropa dinyatakan dengan,
dimana
. (Gerber, 1997:56)
2.14 Model Proses Shifted Inverse Gaussian Model Proses Shifted Inverse Gaussian adalah hasil pengembangan berdasarkan Risk-Neutral Esscher Transform Pada model ini diasumsikan bahwa , Dimana Misalkan
adalah proses Inverse Gaussian dengan parameter
dan .
mendefinisikan fungsi distribusi Inverse Gaussian,
Maka fungsi distribusi kumulatif yang akan digunakan adalah,
dan fungsi pembangkit momennya adalah,
Kemudian ditambahkan parameter
dari model Risk-Neutral Esscher
Transfor, fungsi pembangkit momennya menjadi,
24 Nilai opsi call Eropa dinyatakan dengan,
dimana
. (Vyncke, 2003:569)
2.15 Proses Model Waterfall Menurut Sommerville(2011:30) Waterfall Model adalah model yang muncul pertama kali yaitu sekitar tahun 1970, Waterfall Model merupakan model yang paling banyak digunakan dalam pembuatan program. Model ini disebut waterfall karena tahap demi tahap yang dilalui harus menunggu selsainya tahap sebelumnya dan berjalan berurutan. Terdapat beberapa tahapan pada model Waterfall. Berikut adalah penjelasan dari tahap-tahap yang di lakukan di dalam model ini : •
Analisis Kebutuhan : Pada fase ini dikumpulkan kebutuhan secara lengkap dari sistem yang akan
dibuat
kemudian
membentuk
user
stories
yang
akan
mengambarkan fitur dan fungsional software yang dibutuhkan sesuai dengan kebutuhan. •
Desain Sistem dan Perangkat Lunak Pada tahap ini akan dirancang user interface pada sistem serta arsitektur pengkodean dengan menggunakan design pattern. Design
25 pattern adalah solusi umum yang dapat digunakan kembali pada permasalahan umum yang sering terjadi pada software design dan bersifat object oriented programming. •
Pengkodean Setelah melakukan perancangan user interface, kemudian dilakukan pengkodean dengan menggunakan bahasa pemograman
•
Pengujian sistem Pada fase ini dilakukan pengujian pada sistem yang sudah di buat dengan menggunakan unit test yang sudah dibuat. Tahap ini dilakukan dua tahap yaitu a. SIT (System Integration Test); uji coba terhadap sistem serta integrasi dengan sistem lainnya. Uji ini dilakukan oleh team developer. b.
UAT (User Acceptance Test); uji coba sistem yang dilakukan oleh user.
•
Pemeliharaan Pada fase ini dilakukan pemeliharaan sistem untuk mengatasi setiap masalah-masalah yang terjadi berkenaan dengan sistem. Fase ini berakhir ketika sistem yang dibuat sudah sesuai dengan kebutuhan yang telah dianalisa di fase awal dan tidak terjadi kesalahan pada saat sistem dijalankan. Dengan kata lain, tujuan dari pembuatan sistem telah tercapai.
26
Gambar 2.1 Model Waterfall
Model ini menjadi terkenal karena pengaplikasian yang mudah, dan ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal proyek,
maka pembuatan program dapat berjalan
dengan baik dan tanpa masalah. Akan tetapi karena model ini melakukan pendekatan secara terurut maka ketika ada suatu tahap yang terhambat maka tahap berikutnya akan ikut terhambat juga.
2.16 Delapan Aturan Emas Menurut Shneiderman et al (2010), ada delapan hal yang harus diperhatikan dalam membuat rancangan antar muka sebuah aplikasi atau yang sering disebut delapan aturan emas. Delapan aturan emas tersebut adalah: 1. Berusaha untuk konsisten Tindakan-tindakan konsisten diperlukan dalam beberapa keadaan misalnya pemakaian warna, layout, jenis tulisan, dan pembuatan menu. 2. Menyediakan fungsi yang bersifat umum Karena adanya jenis user yang beragam dari yang baru mengenal komputer hingga yang sudah ahli dengan komputer, dan dari anak-
27 anak hingga usia lanjut (lansia), dibutuhkan sebuah rancangan yang memiliki fungsi-fungsi yang mudah dikenali user yang beragam atau penjelasan pemakaian aplikasi juga memiliki fungsi tambahan yang mendukung aplikasi tersebut untuk para ahlinya. 3. Memberikan umpan balik yang informatif Untuk segala aksi yang dilakukan user, harus ada sistem yang memberikan umpan balik dengan respon yang berbeda di setiap kondisi yang ada. 4. Merancang dialog untuk menghasilkan penutupan Adanya urutan dari aksi-aksi yang harus diorganisasikan menjadi bagian awal, pertengahan, dan akhir dari aksi tersebut agar memberikan kepuasan kepada user yang menyelesaikan aksi tersebut dan adanya sebuah indikasi untuk mempersiapkan ke bagian selanjutnya dari aksi tersebut. 5. Memberikan pencegahan terhadap kesalahan yang sederhana Sebisa mungkin, desain sistem yang dibuat tidak menyebabkan user melakukan kesalahan serius. Jika user membuat kesalahan, aplikasi harus dapat mendeteksi kesalahan tersebut dan langsung memberikan penanganan kesalahan dengan cara yang mudah dipahami dan instruksi yang spesifik untuk penanganannya. 6. Memungkinkan pengembalian aksi sebelumnya Sebisa mungkin, sebuah aplikasi memiliki fitur yang dapat membatalkan aksi. Fitur ini dapat mengurangi kecemasan karena user mengetahui bahwa kesalahan dapat dibatalkan dan dapat mendorong user untuk mempelajari pilihan-pilihan yang tidak biasa.
28 7. Mendukung pengendalian internal User yang sudah berpengalaman juga ingin merasakan bahwa user bertanggung jawab atas sistemnya dan sistem tersebut merespon tindakan yang dilakukan user karena user cenderung tidak menginginkan kejutan, perubahan tentang kebiasaan yang umum, terganggu dengan entry data yang membosankan, sulit mendapatkan informasi, dan tidak dapat menghasilkan hasil yang diharapkan
8. Mengurangi beban ingatan jangka pendek Desainer harus menghindari interface dimana user harus mengingat informasi dari satu tampilan yang akan dipakai di tampilan lainnya karena kapasitas ingatan manusia dalam hal merespon informasi jangka pendek terbatas
2.17 Unified Modelling Language(UML) Whitten dan Bentley (2007) mengatakan Unified Modelling Language (UML) adalah blueprint dari sistem informasi yang akan dibuat dalam pengembangan aplikasi. Setiap UML memiliki fungsi dan tujuan yang berbeda dalam pengembangan aplikasi sesuai dengan jenisnya. Terdapat 13 diagram yang dapat dipakai untuk pengembangan software yaitu : 1. Use case 2. Activity 3. Class 4. Object
29 5. State machine 6. Composite structure 7. Sequence 8. Communication 9. Interaction overview 10. Timing 11. Component 12. Deployment 13. Package Dalam pengembangan software, dari ketiga belas diagram tersebut tidak semua perlu untuk digunakan. UML yang digunakan dipilih sesuai dengan kebutuhan, dengan syarat sudah dapat menggambarkan proses pengembangan sistem secara jelas. 2.17.1 Use Case Menurut Whitten dan Bentley (2007), use case diagram merupakan salah satu bagian dari use case modeling. Use case diagram digunakan untuk menggambarkan secara jelas proses yang akan dijalankan oleh sistem. Dalam use case diagram terdapat tiga komponen utama yaitu : 1. Use Case Use case adalah aktivitas yang akan dilakukan dalam sistem berupa interaksi antara sistem dan user untuk mencapai tujuan tertentu. Use case digambarkan dalam bentuk elips mendatar yang memiliki keterangan pada bagian atas, bawah, atau dalam dari elips tersebut.
30
Gambar 2.2 Contoh Use Case Diagram 2. Actor Actor adalah user yang akan berinteraksi dalam sistem dengan melakukan use case untuk bertukar informasi. Actor digambarkan dalam bentuk stick figure dengan label peran actor tersebut dalam sistem.
Gambar 2.3 Simbol Actor 3. Relationship Relationship adalah hubungan dari dua symbol dalam use case diagram yang digambarkan dalam bentuk garis. Arti dari hubungan tersebut berbeda-beda tergantung jenis garis dan symbol yang dihubungkan. Berikut adalah beberapa hubungan yang ada dalam use case diagram: a. Associations Komunikasi antara use case dan actor digambarkan sebagai associations. Garis associations dapat memiliki anak panah yang berarti actor berperan sebagai pelaku dari use case
31 tersebut, sedangkan garis tanpa anak panah berarti actor hanya berperan sebagai external database atau penerima dari use case tersebut.
Gambar 2.4 Contoh Hubungan Associations
b. Extendes Sebuah use case yang cukup kompleks dapat dipisahkan menjadi extension use case yaitu dengan membuat hubungan extends dengan use case lainnya. Pemisahan tersebut berguna untuk membuat use case tetap berjalan sesuai
logika.
Hubungan
tersebut
digambarkan
menggunakan garis solid dengan anak panah dan label <<extends>>. Use case X extends use case Y berarti use case X ada bagian yang lbh spesifik dari use case Y atau use case Y bersifat lebih umum.
Gambar 2.5 Contoh Hubungan Extends c. Uses Hubungan uses digambarkan menggunakan garis solid dengan anak panah dan label <<usess>>. Use case X uses
32 use case Y berarti untuk melakukan use case X , use case Y harus dilakukan terlebih dahulu minimal satu kali.
Gambar 2.6 Contoh Hubungan Uses
2.17.2 Use Case Narrative Menurut Whitten dan Bentley (2007), use case narrative merupakan salah satu bagian dari use case modeling yang berisikan rincian dari setiap event dan menerangkan bagaiman user berinteraksi dengan sistem selama event terjadi. 2.17.3 Activity Diagram Menurut Whitten dan Bentley (2007), activity diagram digunakan untuk menggambarkan proses dari aktivitas dalam suatu sistem. Melalui activity diagram dapat dilihat secara jelas urutan dari use case yang akan dijalankan. Berikut adalah tabel notasi yang akan digunakan dalam menggambarkan activity diagram: Tabel 2.1 Tabel Notasi Activity Diagram Notasi
Keterangan
Notasi ini menggambarkan awal proses Initial Node
dari activity diagram
33
Notasi aktivitas
ini
menggambarkan
yang
jika
keseluruhan
akan
keseluruhan
aktivitas
disusun
sebuah secara
menggambarkan
Actions dalam
diagram
Notasi
Keterangan
Notasi ini menggambarkan jalannya aktivitas dalam activity diagram. Jika notasi Flow
ini
dibutuhkan
keluar
dari
kata-kata
decision untuk
mengidentifikasikannya.
Notasi ini menggambarkan keadaan bersyarat, yaitu decision dan merge. 1. Decision Satu flow akan masuk ke dalam decision dan menghasilkan dua atau lebih flow lainnya yang merupakan hasil pilihan dari kondisi yang ada.
activity
34 2. Merge Dua atau lebih flow hasil dari
Decision/Merge
decision akan masuk ke dalam merge
dan
menggabungkannya
menjadi satu flow.
Notasi ini menggambarkan akhir proses dari activity diagram
Activity Final
Gambar 2.7 Contoh Activity Diagram 2.17.4 Class Diagram Menurut Whitten dan Bentley (2007), class diagram adalah kumpulan dari objek-objek beserta hubungannya dalam suatu sistem yang biasanya disebut sebagai class. Dalam class diagram terdapat tiga aspek utama, yaitu: 1. Object instance
35 2. Attribute Behavior<
>
-attribute +behavior Gambar 2.8 Struktur Class Dalam class diagram terdapat istilah visibility yang merupakan level akses suatu objek terhadap attribute dan behavior. Terdapat tiga level visibility dalam class diagram yaitu pada tabel berikut: Tabel 2.2 Tabel Visibility Visibility
Simbol
Keterangan
Public
+
Dapat digunakan oleh semua kelas yang berhubungan.
Protected
#
Hanya dapat digunakan oleh kelas itu dan kelas turunannya.
Private
-
Hanya dapat digunakan kelas itu sendiri
36 Dalam class diagram juga terdapat istilah generalisasi atau spesialisasi, yaitu teknik yang digunakan untuk mengelompokkan attribute dan behavior yang sama dari suatu objek menjadi kelas tersendiri yang disebut supertype. Attribute dan behavior yang ada pada supertype akan diturunkan ke kelas anaknya yang disebut subtype.
Gambar 2.9 Contoh Generalisasi/Spesialisasi 2.17.5 Sequence Diagram Menurut Whitten dan Bentley (2007), sequence diagram digunakan untuk menggambarkan bagaimana actor dan sistem berinteraksi dalam suatu skenario use case, Notasi yang digunakan dalam sequence diagram adalah sebagai berikut: Tabel 2. 3 Tabel Notasi Sequence Diagram Notasi
Keterangan Notasi ini menggambarkan user yang berinteraksi dengan sistem
37 Actor
Notasi ini menggambarkan kelas-kelas yang ada pada class diagram
System
Notasi
Keterangan
Notasi ini menggambarkan hidup dari sequence
Lifelines Notasi ini menggambarkan waktu dimana
user
sedang
aktif
berinteraksi dengan sistem Activation Bars Notasi ini menggambarkan pesan masuk
yang
dikirimkan
yaitu
berupa behavior. Input Message \
Notasi ini menggambarkan pesan yang dikirimkan sebagai balasan pesan masuk yaitu berupa attribute.
Output Message Notasi ini menggambarkan area
38 pada
sistem
perulangan
yang
mengalami
(loops),
seleksi
(alternate fragments), atau kondisi opsional (optional). Frame
Gambar 2.10 Contoh Sequence Diagram 2.18 MVVM, MVC dan MVVMC Prinsip dasar dari MVVM
berdasarkan Garofalo(2011:39) yaitu
bahwa Model terdiri dari seluruh entity yang mewakili business concept. View terdiri dari sekumpulan kontrol yang akan menampilkan data dari Model ke layar. ViewModel berada pada bagian UI layer, dan dapat mengakses data dari Model kemudian memberikan ke View sesuai dengan kebutuhannya
melalui
command.
MVVM
implementasikan pada desktop application.
pattern
umumnya
di
39
Gambar 2.11 MVVM pattern Sedangkan prinsip dasar MVC hampir sama dengan prinsip MVVM, berdasarkan buku yang sama Controller menggantikan ViewModel dan Controller posisinya berada dibawah View. View berada pada posisi paling atas arsitektur. Model berada dibawah Controller. Jadi View bisa mengetahui Controller, Controller mengetahui Model. View berganti pada saat Model berubah. MVC biasanya diimplementasikan pada web programming.
Gambar 2.12 MVC pattern
Pengabungan terhadap kedua Pattern tersebut menjadi MVVMC (Model – View – ViewModel - Controller). Model tetap Model terdiri dari seluruh entity yang mewakili business concept. View terdiri dari sekumpulan kontrol yang akan menampilkan data dari ViewModel ke
40 layar. ViewModel hanya berisi class yang mewakili field dari setiap table di database untuk menyimpan data secara temporary ketika data tersebut dibutuhkan. ViewModel mendapatkan data dari Model. Controller terdiri dari command, event, behavior yang digunakan untuk menjembatani ViewModel dan View.
Gambar 2.13 MVVMC pattern 2.19 C# Programming Menurut Griffith (2012), C# (dibaca “C Sharp”) merupakan sebuah bahasa pemograman yang digunakan untuk membangun berbagai macam aplikasi seperti aplikasi desktop, website, games, dan phone application yang dapat berjalan dalam .NET Framework. C# programming menyediakan fitur object-oriented dan functional programming. C# juga menyediakan service seperti run-time type checking, exception handling, dan thread management.