BAB 2 LANDASAN TEORI 2.1 Ruang Contoh, Kejadian, dan Peluang Definisi 1 (Ruang Contoh) Ruang contoh adalah himpunan semua hasil yang mungkin dari suatu percobaan acak, dan dinotasikan dengan Ω. (Grimmett dan Stirzaker, 2001:1) Definisi 2 (Kejadian) Kejadian adalah suatu himpunan bagian dari ruang contoh Ω. (Grimmett dan Stirzaker, 2001:2) Definisi 3 (Kejadian Saling Lepas) Kejadian A dan B disebut saling lepas jika irisan dari keduanya adalah himpunan kosong ∅ . (Grimmett dan Stirzaker, 2001:2) Definisi 4 (Medan-σ ) Medan-σ adalah suatu himpunan yang anggotanya terdiri atas himpunan bagian dari ruang contoh Ω , yang memenuhi kondisi berikut : 1. ∅∈ , 2. Jika A ∈ maka Ac ∈ , 6 7 3. Jika A1, A2 ,... ∈ maka . (Grimmett dan Stirzaker, 2001:3) Definisi 5 (Ukuran Peluang) Misalkan fungsi P : adalah medan-σ dari ruang contoh Ω . Ukuran peluang adalah suatu → ⎡⎣0,1⎤⎦ pada (Ω, ) yang memenuhi : 1. P(∅) = 0, P(Ω) = 1, 2. Jika A1, A2, ... ∈ adalah himpunan yang saling lepas yaitu Ai ∩ Aj = ∅ untuk setiap pasangan i ≠ j , maka : (Grimmett dan Stirzaker, 2001:5) Definisi 6 (Kejadian Saling Bebas) Kejadian A dan B dikatakan saling bebas jika: Ρ ( A ∩ B ) = Ρ ( A) Ρ ( B ) . Secara umum, himpunan kejadian {Ai; i ∈ I} dikatakan saling bebas jika: Ρ I Ai = ∏ Ρ ( Ai ) i∈J i∈J untuk setiap himpunan bagian J dari I. (Grimmett dan Stirzaker, 2001:13) 8 2.2 Peubah Acak dan Fungsi Sebaran Definisi 7 (Peubah Acak) Misalkan Ω adalah ruang contoh dari suatu percobaan acak. Fungsi X yang terdefinisi pada Ω yang memetakan setiap unsur ω ∈ Ω ke satu dan hanya satu bilangan real X(ω) = x disebut peubah acak. Ruang dari X adalah himpunan bagian bilangan real A = {x : x = X(ω), ω ∈ Ω}. (Hogg dan Craig, 2005:33) Peubah acak dinotasikan dengan huruf kapital, misalnya X, Y, Z. Sedangkan nilai peubah acak dinotasikan dengan huruf kecil seperti x, y, z. Definisi 8 (Peubah Acak Diskrit) Peubah acak X dikatakan diskret jika semua himpunan nilai dari peubah acak tersebut merupakan himpunan tercacah. (Hogg dan Craig, 2005:41) Definisi 9 (Fungsi Sebaran) Misalkan X adalah peubah acak dengan ruang A. Misalkan kejadian A=(-∞,x] ⊂ A, maka peluang dari kejadian A adalah pX ( A) = Ρ ( X ≤ x ) = FX ( x ) . Fungsi FX disebut fungsi sebaran dari peubah acak X. (Hogg dan Craig, 2005:35) 9 Definisi 10 (Fungsi Kerapatan Peluang) Fungsi kerapatan peluang dari peubah acak diskret X adalah fungsi p : x → [0,1] yang diberikan oleh: pX ( x ) = Ρ ( X = x ) . (Hogg dan Craig, 2005:36) Definisi 11 (Sebaran Poisson) Suatu peubah acak X dikatakan menyebar Poisson dengan parameter λ , jika memiliki fungsi massa peluang : (Hogg dan Craig, 2005:143) Definisi 12 (Sebaran Geometric) Suatu peubah acak X dikatakan menyebar geometrik dengan parameter , jika memiliki fungsi massa peluang : Dengan x = 0, 1, 2, ... dan 0 < < 1. (Hogg dan Craig, 2005:137) Definisi 13 (Sebaran Eksponensial) Suatu peubah acak X dikatakan menyebak eksponensial dengan parameter θ, jika X memiliki fungsi kepekatan peluang : (Ghahramani, 2005:285) 10 Definisi 14 (Sebaran Gamma) Suatu peubah acak X dikatakan menyebar gamma dengan parameter α dan β, dinotasikan gamma (α,β), jika memiliki fungsi kepekatan peluang : Dengan α > 0, β > 0 dan Γ(α) > 0, di mana (Hogg dan Craig, 2005:149) Definisi 15 (Sebaran Inverse-Gamma) Suatu peubah acak X dikatakan menyebar inverse-gamma dengan parameter s dan m, jika memiliki fungsi kepekatan peluang : (Hogg dan Klugman, 1984) Definisi 16 (Sebaran Pareto) Suatu peubah acak X dikatakan berdistribusi Pareto dengan parameter α dan β Jika memiliki fungsi kepekatan: (Hogg dan Craig, 2005:193) Definisi 17 (Fungsi Kepekatan Peluang Bersyarat) 11 Misalkan X dan Y adalah peubah acak kontinu dengan fungsi kepekatan peluang marginal Fungsi kepekatan peluang bersyarat dari X dengan syarat Y=y adalah (Grimmett dan Stirzaker, 2001:104) 2.3 Nilai Harapan Definisi 18 (Nilai Harapan) Misalkan X adalah peubah acak diskret dengan fungsi kerapatan peluang pX ( x ) = Ρ ( X = x ) .Nilai harapan dari X, dinotasikan dengan E(X), adalah Ε ( X ) = ∑ x Ρ ( X = x ) = ∑ x pX ( x ) x x , jika jumlah di atas konvergen mutlak. (Hogg dan Craig, 2005:53) Definisi 19 (Nilai Harapan Bersyarat) Misalkan X dan Y adalah peubah acak kontinu dan adalah fungsi kepekatan peluang bersyarat dari X dengan syaratY = y. Nilai harapan dari X dengan syarat Y=y adalah (Hogg dan Craig, 2005:95) Definisi 20 (Mean) 12 Misalkan X adalah peubah acak diskret yang memiliki nilai harapan. Nilai mean dari X adalah (Hogg dan Craig, 2005:59) Definisi 21 (Varians) Misalkan X adalah peubah acak diskret dengan mean . Nilai Varians dari X dapat didefinisikan sebagai (Hogg dan Craig, 2005:59) 2.4 Likelihood Definisi 22 (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 dan Craig, 2005:311) 13 Definisi 23 (Fungsi Likelihood Maksimum) Misalkan X1, X2, ..., Xn adalah contoh acak berukuran n dari suatu sebaran dengan fungsi kepekatan peluang Penduga kemungkinan maksimum bagi dengan , adalah dinotasikan yang memaksimumkan fungsi likelihood (Hogg dan Craig, 2005:313) 2.5 Pendekatan Bayes Definisi 24 (Sebaran Prior) Suatu peubah acak X yang memiliki fungsi kepekatan peluang bersama yang dilambangkan dengan dan fungsi marjinal , dinamakan sebaran prior. (Hogg dan Craig, 2005:583) Definisi 25 (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 dinamakan fungsi kepekatan peluang dari sebaran posterior, dan dinyatakan dengan : (Hogg dan Craig, 2005:584) Definisi 26 (Fungsi Kerugian) Misalkan X adalah suatu peubah acak dengan parameter parameternya dan penduga . Fungsi kerugian (loss function) dari parameter tersebut adalah : 14 dan Fungsi kerugian kuadratik merupakan fungsi kerugian dengan kesalahan kuadrat dari parameter tersebut yang dinyatakan dengan : (Hogg dan Craig, 2005:370) Definisi 27 (Fungsi Resiko) Fungsi resiko adalah nilai harapan dari fungsi kerugian, yang dinyatakan sebagai berikut : (Hogg dan Craig, 2005:368) Definisi 28 (Solusi Bayes) Misalkan θ adalah suatu parameter dengan penduga parameternya , dengan fungsi kerugian L[θ, ] dan nilai harapan dari fungsi kerugian tersebut E[L[θ, ]], solusi bayes jika penduga parameter meminimumkan (Hogg dan Craig, 2005:586) 2.6 Bahasa Pemrograman Definisi 29 (Bahasa Pemrograman R) 15 Bahasa R adalah bagian yang terintegrasi pada fasilitas suatu perangkat lunat 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, • 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 30 (Bahasa Pemrograman 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. (Deitel & Deitel, 2012) 2.7 Flowchart Definisi 31 (Flowchart) Flowchart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. 16 Tujuan membuat flowchart : • Menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi dan jelas. • Menggunakan simbol-simbol standar Dalam penulisan Flowchart dikenal dua model, yaitu Sistem Flowchart dan Program Flowchart. • System Flowchart : 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.1 Contoh System Flowchart 17 • Program Flowchart : Bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program. Dua jenis metode penggambaran program flowchart : 1) Conceptual flowchart, menggambarkan alur pemecahan masalah secara global 2) Detail flowchart, menggambarkan alur pemecahan masalah secara rinci Gambar 2.2 Conceptual dan Detail Flowchart. Simbol-simbol dalam flowchart Simbol-simbol yang dipakai dalam flowchart dibagi menjadi 3 kelompok : 1) 2) Flow direction symbols o Digunakan untuk menghubungkan simbol satu dengan yang lain o Disebut juga connecting line Processing symbols o Menunjukan jenis operasi pengolahan dalam suatu proses/prosedur 18 3) Input / Output symbols o Menunjukan jenis peralatan yang digunakan sebagai media input atau output o 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 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 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) 19 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. Simbol manual input, memasukan data secara manual dengan menggunakan online keyboard. Tabel 2.3 Input/Output Symbols 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 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) 20 Simbol display, mencetak keluaran dalam layar monitor. (Nilawati, 2009) 2.8 Peranti Lunak Definisi 32 (Peranti Lunak) Peranti lunak adalah a. Perintah (program komputer) yang saat dieksekusi menyediakan features, fungsi dan performa yang diinginkan pengguna. b. Struktur data yang memungkinkan program untuk memanipulasi informasi secara proporsional. c. Informasi deskriptif (dokumen) dalam bentuk hardcopy dan virtual yang menjelaskan operasi dan kegunaan program. (Pressman, 2010:4) Definisi 33 (Rekayasa Peranti Lunak) 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. (Pressman, 2010:13) Definisi 34 (Waterfall Model) Waterfall model merupakan model proses pengembangan peranti lunak dengan pendekatan yang sistematis dan berurutan. Waterfall model dimulai dari tahap 21 communication, planning, modeling, construction, hingga deployment. Tahap demi tahap dalam model proses waterfall dijalankan secara linier. Tahap sebelumnya harus telah diselesaikan sebelum memasuki tahapan yang baru. Gambar 2.3 Waterfall Model (Pressman, 2010:39) 2.9 Object Oriented Programming Definisi 35 (Object Oriented Programming) 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. (Deitel dan Deitel, 2012:13) 2.10 Unified Modeling Language Definisi 36 (Unified Modeling Language (UML)) UML adalah sekumpulan ketentuan permodelan yang digunakan untuk menspesifikasi dan menggambarkan sebuah sistem peranti lunak yang berbasis objek. (Whitten dan Bentley, 2007:371) 22 Definisi 37 (Use-case Modeling) Use-case modeling adalah proses permodelan yang menggambarkan fungsi sebuah sistem yang terbatas pada kegiatan bisnis tertentu, dan sumber daya yang terlibat dalam sistem, serta umpan balik sistem terhadap kegiatan bisnis tersebut. Dalam permodelannya, Use-case terbagi atas 2 jenis : a. Use-case Narrative Use-case Narrative tersusun atas penggambaran secara detail setiap kegiatan bisnis dan spesifikasi interaksi pengguna dengan sistem selama kegiatan bisnis berlangsung. Use-case Narrative terdiri dari : 1. Use-case Name Use-case name berisikan nama dari use-case dan menggambarkan tujuan dari usecase tersebut ketika dijalankan. 2. Actor Actor berisikan pengguna eksternal yang dapat mengakses use-case tersebut. 3. Description Berisikan ringkasan yang menggambarkan tujuan dari use-case dan aktivitasnya. 4. Precondition Precondition berisikan kondisi sistem sebelum use-case dijalankan. 5. Flow of Events Berisikan langkah-langkah yang dilakukan oleh actor dan sistem untuk mencapai tujuan dari use-case. 6. Postcondition Postcondition berisikan kondisi sistem setelah use-case berhasil dieksekusi. b. Use-case Diagram 23 Use-case diagram merupakan diagram yang menggambarkan alur interaksi antara sistem, sistem eksternal, dan pengguna. Use-case diagram secara grafis menggambarkan pengguna sistem dan cara pengguna berinteraksi dengan sistem. Use-case diagram terbagi atas 3 unsur penting, yaitu: 1. Use-case Use-case adalah sebuah perilaku yang berkaitan dengan langkah-langkah berurutan, baik secara otomatis ataupun manual dengan tujuan menyelesaikan tugas bisnis tunggal. Use-case dilambangkan dengan bentuk elips horizontal dengan nama use-case di dalam elips tersebut. Gambar 2.4 Use-case Diagram (Whitten dan Bentley, 2007:246) 2. Actor Actor adalah pengguna eksternal yang memicu use-case dengan tujuan menyelesaikan tugas bisnis yang menghasilkan sesuatu yang dapat diukur. Secara garis besar actor terbagi atas 4 tipe : 2.1. Primary business actor 24 Actor utama yang mendapatkan keuntungan utama dari terlaksananya usecase dengan menerima sesuatu yang dapat diukur. Contoh : karyawan yang menerima pembayaran. 2.2. Primary system actor Actor yang berinteraksi secara langsung dengan sistem untuk memicu kejadian bisnis atau sistem. Contoh : teller sebuah bank. 2.3. External server actor Actor yang menanggapi permintaan dari use-case. Contoh : biro kredit yang melakukan otorisasi charge sebuah kartu kredit. 2.4. External receiver actor Actor yang meskipun bukan actor utama tetapi menerima sesuatu dari usecase. Contoh : gudang menyimpan slip packing. 3. Relationship Relationship digambarkan dalam bentuk garis antara dua simbol dalam use- case diagram. Terdapat beberapa jenis relationship dalam use-case diagram, diantaranya : 1.1. Association Hubungan antara actor dengan use-case dimana terjadi interaksi diantara mereka. Gambar 2.5 Contoh Association Pada Use-case Diagram 25 1.2. Extends Hubungan yang terdiri dari langkah yang diekstraksi dari use-case yang lebih kompleks untuk menyederhanakan masalah awal. Gambar 2.6 Extended Use-case 1.3. Uses or Includes Hubungan yang terjadi pada saat dua atau lebih use-case memiliki langkah yang sama. Cara terbaik untuk menghindari perulangan ini adalah memunculkan use-case abstrak yang baru. Gambar 2.7 Contoh Includes Pada Use-case Diagram 1.4. Depends On Hubungan yang menggambarkan ketergantungan satu use-case dengan use-case lainnya. 26 Gambar 2.8 Contoh Hubungan Depends On 1.5. Inheritance Hubungan yang terjadi pada saat dua atau lebih actor memiliki kelakuan yang sama dan umum maka akan muncul actor abstrak baru yang mengurangi komunikasi berulang dengan sistem. Gambar 2.9 Contoh Inheritance Dalam Use-case (Whitten dan Bentley, 2007:245) Definisi 38 (Activity Diagram) Activity diagram merupakan diagram yang sangat berperan dalam menggambarkan aliran sebuah proses yang akan terjadi jika sebuah operasi dieksekusi. 27 Activity diagram merupakan urutan proses dari use-case atau logika dari sebuah method. Activity diagram memiliki beberapa notasi diagram, diantaranya : Tabel 2.4 Activity Diagram Notation No Notasi Nama Deskripsi 1 Initial node Notasi lingkaran padat yang menyatakan awal dari sebuah proses 2 Actions Notasi segi-empat dengan sudut melengkung yang menyatakan urutan aksi tunggal, kumpulan aksi tunggal tersebut yang menyusun aktivitas sebuah usecase 3 Flow Notasi panah yang menunjukkan aliran aksi-aksi dalam Activity diagram. 4 Decision Notasi wajik dengan satu panah mengarah ke wajik dan dua panah yang mengarah keluar dari wajik. Wajik tersebut merupakan notasi untuk proses menghasilkan pemilihan yang keputusan. Dua 28 panah yang keluar dari wajik menerangkan kondisi-kondisi. 5 Merge Notasi wajik dengan lebih dari satu panah yang mengarah ke wajik dan satu panah keluar dari wajik. 6 Fork Notasi balok hitam dengan satu panah masuk dan lebih dari satu panah keluar. menggambarkan Notasi aksi ini yang dipecah menjadi beberapa aksi dengan aliran yang paralel. 7 Join Notasi balok hitam dengan lebih dari satu panah masuk dan hanya satu panah keluar. Notasi ini menggambarkan penggabungan aksi-aksi paralel keluaran fork. 8 Activity final Notasi lingkaran dengan sebuah lingkaran didalamnya, yang menyatakan akhir dari sebuah proses (Whitten dan Bentley, 2007:390) 29 Gambar 2.10 Activity Diagram (Whitten dan Bentley, 2007:392) Definisi 39 (Sequence Diagram) Sequence diagram merupakan bagan yang menggambarkan interaksi antara actor dan sistem dengan eksekusi use-case. Sequence diagram menggambarkan bagaimana pesan terkirim dan diterima objek-objek dan dengan urutan tertentu. 30 Gambar 2.11 Contoh Sequence Diagram (Whitten dan Bentley, 2007:659) Gambar 2.12 Contoh Sequence Diagram Dengan Dua Actor (Whitten dan Bentley, 2007:396) 31 Notasi penyusun sequence diagram terdiri atas : 1. Actor Simbol actor yang berinteraksi dengan user interface dapat ditunjukkan dengan simbol actor use-case atau dengan segi-empat yang diberi notasi “<<actor>>”. Garis putus-putus vertikal yang memanjang ke bawah menunjukkan riwayat actor tersebut. 2. Interface Class Segi-empat yang dengan notasi “<<interface>>” menandakan object classes user interface. Simbol “ : ” menandakan kejadian yang berlangsung pada sebuah kelas. 3. Controller Class Setiap use-case akan memiliki lebih dari satu controller class yang ditunjukkan dengan notasi “<<controller>>” yang mirip dengan kelas lainnya. 4. Entity Class Segi-empat untuk setiap entity yang bekerja sama dalam tahap yang berurutan. 5. Messages Panah horizontal yang menandakan pesan yang dikirimkan ke kelas. Setiap messages memanggil methods yang menghubungkan antar kelas. Penulisan messages dalam sequence diagram diawali dengan huruf kecil, huruf kapital pada kata tambahan, dan tanpa spasi. 6. Activation Bars Balok yang yang terletak pada lifelines menandakan rentang waktu berfungsinya setiap objek. 7. Return Messages Panah yang bergaris putus-putus horizontal dengan arah berlawanan dengan messages menandakan bahwa setiap methods harus memberikan umpan balik. 32 8. Self-call Panah yang menunjuk kembali menandakan sebuah objek yang memanggil methods-nya sendiri. 9. Frame Segi-empat yang menandakan bahwa controller harus mengulangi semua komponen didalamnya jika terjadi perulangan. 10. Receiver Actor Actor lain atau sistem eksternal yang menerima pesan dari sistem. (Whitten dan Bentley, 2007:394) Definisi 40 (Class Diagram) Class diagram merupakan penggambaran secara grafis objek statis sebuah sistem dan hubungan antar objek penyusun sistem tersebut. Tahap-tahap pembuatan class diagram menurut Whitten dan Bentley dimulai dari : a. Identifikasi association dan multiplicity Pada tahap ini, dilakukan identifikasi pertalian antar object classes (association). Hubungan antara objek yang menyusun sistem akan memunculkan multiplicity. Multiplicity adalah angka maksimum dan minimum kejadian yang terjadi diantara hubungan tunggal sebuah object classes dengan object classes lainnya. 33 Gambar 2.13 Association dan Multiplicity (Whitten dan Bentley, 2007:377) b. Identifikasi hubungan generalization/spesialization Pada tahap ini, generalization/spesialization dilakukan diperlukan dalam identifikasi hubungan apakah antar object hubungan classes. Generalization/spesialization umumnya terjadi pada object classes yang memiliki hubungan multiplicity one-to-one. Generalization/spesialization membagi object classes menjadi 2 kategori : 34 1. Supertype classes Supertype classes merupakan entity yang mengandung attributes umum bagi satu atau lebih object classes. 2. Subtype classes Subtype classes terdiri atas attributes unik yang merupakan turunan dari attributes supertype classes. Gambar 2.14 Generalization / Spesialization (Whitten dan Bentley, 2007:404) c. Identifikasi hubungan aggregation/composition Pada tahap ini, dilakukan identifikasi hubungan aggregation/composition yang terdapat antar object classes. Aggregation adalah hubungan antar 2 object classes dimana sebuah object classes mengandung sebagian kecil attributes dari object classes lain. Sedangkan composition adalah hubungan aggregation dimana terdapat hubungan yang kuat dalam seluruh atau sebagian object classes sehingga jika satu object classes hilang, maka object classes yang menjadi bagiannya akan hilang juga. 35 Gambar 2.15 Aggregation / Composition (Whitten dan Bentley, 2007:379) d. Menyempurnakan class diagram Pada tahap ini dilakukan penyempurnaan pada setiap object classes. Setiap object classes tunggal tersusun atas nama kelas (stereotype), attributes, dan methods. Tingkatan akses objek eksternal terhadap attributes atau methods disebut dengan visibility. Dalam class diagram terdapat 3 jenis visibility : 1. Public Level ini dinotasikan dengan simbol “+”. Attributes dengan level public berarti attributes dapat diakses dan methods dapat dipanggil oleh semua object classes yang berada dalam sistem. 36 2. Protected Level ini dinotasikan dengan simbol “#”. Attributes dengan level protected dapat diakses dan methods dengan level protected dapat dipanggil oleh object classes tertentu yang diberi hak dan subtype class object classes tersebut. 3. Private Level ini dinotasikan dengan simbol “-”. Attributes dengan level private dan methods dengan level private juga hanya dapat dipanggil oleh object classes dimana attributes tersebut berada. (Whitten dan Bentley, 2007:400) 37 Gambar 2.16 Class Diagram (Whitten dan Bentley, 2007:406) 38 2.11 Interaksi Manusia dan Komputer Definisi 41 (Interaksi Manusia dan Komputer) Interaksi manusia dan komputer merupakan bidang ilmu desain yang menerapkan metode psikologi dan ilmu komputer dengan cara mengintegrasikan pendidikan dengan industri psikologi, instruksi dengan perancangan grafis, penulis teknis, ahli ergonomi, arsitek informasi, dan petualangan beberapa antropolog dan sosiolog (Shneiderman dan Plaisant, 2010:22) Definisi 42 (Delapan Aturan Emas) Prinsip yang umum digunakan para perancangan untuk merancang user interface adalah delapan aturan emas perancangan user interface. Delapan aturan emas perancangan user interface tersebut terdiri atas : 1. Berusaha untuk konsistem Konsistensi urutan tindakan pada situasi yang sama, menggunakan istilah yang identik pada menus, prompt, dan help screens, konsistensi warna, tata ruang, tipe huruf, bahasa dan lain sebagainya. 2. Memenuhi kegunaan universal Pengguna yang beragam akan memunculkan reaksi penggunaan sistem yang berbeda juga, maka diperlukan pengelompokkan pengguna untuk penetapan features dalam sistem. Contoh: menggunakan features penjelasan untuk pemula dan penggunaan features shortcuts dan faster pacing untuk pengguna yang ahli. 3. Menawarkan umpan balik yang informatif Untuk setiap tindakan pengguna, harus disertakan dengan umpan balik dari sistem untuk menunjukkan hasil dari tindakan yang dilakukan. Untuk tindakan yang 39 sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Sebaliknya untuk tindakan jarang dan penting, berikan umpan balik yang substansial. 4. Merancang dialog yang mengarah pada penutupan Rangkaian aksi yang bertahap seharusnya diatur dalam kelompok yaitu : awal, tengah dan akhir. Pemberian umpan balik yang informatif pada akhir dari serangkaian aksi yang telah dilakukan pengguna untuk menunjukkan bahwa proses yang dilakukan telah selesai dan siap untuk ke aksi berikutnya. 5. Memberikan penanganan kesalahan Jika pemakai melakukan kesalahan, sistem akan mendeteksi kesalahan dan menawarkan perintah yang sederhana, membangun, dan spesifik untuk menangani kesalahan yang terjadi. 6. Mengizinkan pembalikan aksi Setiap aksi harus dapat dibalikkan ke aksi semula atau aksi yang sebelumnya agar pengguna merasa aman untuk menggunakan pilihan-pilihan yang belum diketahuinya. 7. Mendukung pengendalian internal Memposisikan pemakai di posisi pelaku tindakan yang mengontrol sistem, bukan hanya sekedar menanggapi tindakan dari sistem. 8. Mengurangi penggunaan ingatan jangka pendek Hal ini dapat dilakukan dengan menjaga tampilan layar agar tetap sederhana, perancangan menu dan sub-menu yang tidak rumit, menggabungkan beberapa halaman, mengurangi frekuensi pergerakan windows, membuat waktu pelatihan dan pembelajaran kode, singkatan dan urutan aksi yang secukupnya. (Shneiderman dan Plaisant, 2010:88) 40 2.11 Database Definisi 43 (Database) Database adalah kumpulan data yang berhubungan secara logika dan deskripsinya dirancang untuk memenuhi kebutuhan infomasi sebuah organisasi. Database berupa penyimpanan data dengan kapasitas besar yang dapat digunakan secara bersamaan oleh banyak departemen dan pengguna. Database merepresentasikan entity, attributes, dan hubungan antar entity. (Connolly dan Begg, 2010:65) Definisi 44 (Database Management System / DBMS ) DBMS merupakan sebuah sistem peranti lunak yang memungkinkan pengguna untuk menetapkan, membuat, merawat, dam mengontrol akses ke database. DBMS merupakan peranti lunak yang bertindak sebagai perantara antara peranti lunak aplikasi pengguna dan database. (Connolly dan Begg, 2010:66) Definisi 45 (MySQL) MySQL merupakan sistem manajemen database relasional yang memungkinkan penyimpanan, pencarian, dan pengambilan data secara efisien, cepat, dan tangguh. MySQL menggunakan bahasa query standar (SQL). MySQL bersifat multiuser yang berarti beberapa pengguna dapat mengakses database dalam waktu yang bersamaan (Welling dan Thomson, 2009:3)