9
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 adalah sebuah ruang sampel suatu percobaan acak. Sebuah fungsi yang terdefinisi pada yang memetakan setiap unsur ke
satu dan hanya satu , disebut peubah acak. Ruang dan daerah hasil dari 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).
Definisi 7 (Nilai Harapan)
Misalkan adalah sebuah peubah acak. Jika adalah sebuah peubah acak kontinu dengan kepekatan peluang 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
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 adalah sebuah peubah acak yang memiliki nilai harapan. Nilai mean dari didefinisikan sebagai berikut,
Definisi 10 (Ragam)
Misalkan adalah sebuah peubah acak dengan mean yang terbatas sedemikian hingga terbatas. Maka ragam dari 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 ada untuk . Fungsi pembangkit momen dari 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 dan adalah nilai mean dan ragam dari , biasanya ditulis bahwa mempunyai distribusi .
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 normal standar dan disebut sebagai fungsi kepekatan peluang standar normal.
Fungsi pembangkit momen dari peubah acak Z adalah
Misalkan dan menggunakan fungsi pembangkit momen dari maka akan didapat,
untuk .
Dengan melihat hubungan antara dan maka dapat disimpulkan bahwa mempunyai distribusi jika dan hanya jika mempunyai distribusi . Fungsi kepekatan kumulatif dari peubah acak normal standar dari dapat didefinisikan sebagai,
dimana .
(Hogg, Mckean, Craig, 2012:162-163)
2.4 Distribusi Gamma
Definisi 14 (Distribusi Gamma)
Misalkan sebuah peubah acak mempunyai fungsi kepekatan peluang,
Maka dikatakan mempunyai distribusi Gamma dengan parameter dan . Biasanya dituliskan bahwa mempunyai distribusi .
(Hogg, Mckean, Craig, 2012:149)
2.5 Proses Stokastik
Definisi 15 (Proses Stokastik)
Sebuah proses stokastik adalah himpunan dari peubah acak. 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
sembarang interval waktu hanya bergantung pada panjang dari interval waktu.
Dengan kata lain, sebuah proses stokastik memiliki inkremen stasioner jika
perubahan nilai pada interval , yaitu
, mempunyai perubahan nilai yang sama pada interval untuk setiap dan .
(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 berdistribusi normal dengan mean = 0 dan ragam .
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
(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
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.
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
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 . Pada model ini harga opsi call Eropa dengan exercise price dan exercise date adalah,
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,
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 adalah proses Inverse Gaussian dengan parameter dan . Misalkan 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,
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
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.
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-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.
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
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.
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
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
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
Initial Node
Notasi ini menggambarkan awal proses dari activity diagram
Actions
Notasi ini menggambarkan sebuah aktivitas yang jika disusun secara keseluruhan akan menggambarkan keseluruhan aktivitas dalam activity diagram
Notasi Keterangan
Flow
Notasi ini menggambarkan jalannya aktivitas dalam activity diagram. Jika notasi ini keluar dari decision dibutuhkan kata-kata 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.
Decision/Merge
2. Merge
Dua atau lebih flow hasil dari decision akan masuk ke dalam merge dan menggabungkannya menjadi satu flow.
Activity Final
Notasi ini menggambarkan akhir proses dari activity diagram
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:
2. Attribute
Behavior<<instance name>> -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
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
Actor
System
Notasi ini menggambarkan kelas-kelas yang ada pada class diagram
Notasi Keterangan
Lifelines
Notasi ini menggambarkan hidup dari sequence
Activation Bars
Notasi ini menggambarkan waktu dimana user sedang aktif berinteraksi dengan sistem
Input Message
Notasi ini menggambarkan pesan masuk yang dikirimkan yaitu berupa behavior.
\
Output Message
Notasi ini menggambarkan pesan yang dikirimkan sebagai balasan pesan masuk yaitu berupa attribute.
Frame
pada sistem yang mengalami perulangan (loops), seleksi (alternate fragments), atau kondisi opsional (optional).
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 pattern umumnya di implementasikan pada desktop application.
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
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.