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