10 BAB II TINJAUAN PUSTAKA II.1. Sistem Tujuan dari suatu sistem tergantung pada jenis sistem itu sendiri. Sebagai contoh , sistem peredaran darah manusia merupakan sistem biologi yang memiliki tujuan untuk mengedarkan darah yang mengandung oksigen dan sari makanan keseluruh tubuh. Sedangkan sistem buatan manusia seperti sistem yang terdapat di sekolah, organisasi bisnis, atau instansi pemerintah juga mempunyai tujuan yang berbeda. Organisasi bisnis biasanya memiliki tujuan yang lebih jelas, seperti yang telah disebutkan pada bagian sebelumnya, yaitu mendapatkan laba. Sistem merupakan serangkai bagian yang saling tergantung dan bekerja sama untuk mencapai tujuan tertentu. Suatu sistem pasti tersusun dari sub-sub sistem yang lebih kecil dan juga saling tergantung dan bekerja sama untuk mencapai tujuan. Sebagai contoh, sistem administrasi universitas terdiri dari sistem dari sub-sub sistem administrasi fakultas dan sub-sub sistem administrasi jurusan fakultas. Sistem informasi yang kadang kala disebut sebagai sistem pemrosesan data, merupakan sistem buatan manusia yang biasanya terdiri dari sekumpulan komponen, baik manual ataupun berbasis komputer yang terintegrasi untuk mengumpulkan, menyimpan dan mengelola data serta menyediakan informasi kepada pihak yang berkepentingan sebagai pemakai informasi tersebut (Anastasia Diana; 2011 : 3). 10 11 Perancangan sistem adalah proses, cara ataupun desain agar sebuah sistem dapat berjalan sebagaimana yang diinginkan. Sistem pakar kerusakan pada mobil merupakan software yang dirancang dengan tujuan untuk memberikan kemudahan bagi user juga bagi mekanik kendaraan bermotor untuk mengantisipasi kerusakan yang terjadi pada mesin kendaraan bermotor (Desi Wulandari, dkk ; 2012 ; 5). Jadi sistem merupakan suatu kesatuan yang saling berhubungaan dengan menggunakana suatu proses dimana setiap komponen akan memiliki fungsi masing-masing untuk mendapatkan suatu tujuan tertentu. II.2. Sistem Pakar Pakar adalah seorang individu yang memiliki pengetahuan khusus, pemahaman pengalaman dan metode-metode yang digunakan untuk memecahakan persoalan dalam bidang tertentu. Seorang pakar memiliki kemapuan seorang kepakaran, yaitu : 1. Dapat mengenali dan merumuskan suatu masalah. 2. Menjelaskan solusi dari suatu masalah. 3. Restrukturisasi pengetahuan. 4. Belajar dari pengalaman. 5. Memahami batas kemampuan (Rika Rosnelly ; 2012: 10) Sistem Pakar pada umumnya dirancang untuk memenuhi beberapa karakteristik umum berikut ini : 12 1. Kinerja sangat baik (high performance). Sistem harus mampu memberikan respon berupa saran (advice) dengan tingkat kualitas yang sama dengan seorang pakar atau melebihinya. 2. Waktu respon yang baik (adequate respon time). Sistem juga harus mampu bekerja dalam waktu yang sama baiknya (reasonable) atau lebih cepat dibandingkan dengan seorang pakar dalam menghasilkan keputusan. 3. Dapat diandalkan (good reliability). Sistem harus dapat diandalkan dan tidak mudah rusak/ crash. 4. Dapat dipahami (understandable). Sistem harus mampu menjelaskan lngkah-langkah penalaran yang dilakukannya seperti seorang pakar. 5. Fleksibel (fleksibility). Sistem harus menyediakan mekanisme untuk menambah, mengubah, dan menghapus pengetahuan (Rika Rosnelly; 2012 :20) Sistem pakar adalah salah satu cabang dari artificial intelegence yang membuat penggunaan secara luas knowledge yang khusus untuk penyelesaian masalah tingkat manusia oleh seorang pakar dan dirancang untuk dapat menirukan keahlian seorang pakar dalam menjawab pertanyaan dan menyelesaikan permasalahan di semua bidang. Seorang pakar adalah seorang yang mempunyai keahlian dalam bidang tertentu yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain tidak mengetahui atau mampu dalam bidang yang dimilikinya. Sifat utama sistem pakar adalah ketergantungan sistem ini pada pengetahuan manusia dalam suatu bidang dalam menyusun strategi pemecahan 13 persoalan yang dihadapi oleh sistem. Teknologi sistem pakar ini meliputi bahasa sistem pakar, program dan perangkat keras yang dirancang untuk membantu pengembangan dan pembuatan sistem pakar (Desi Wulandari, dkk ; 2012 ; 6). Jadi sistem pakar merupakan suatu implementasi pengetahuan seseorang pakar mengenai sesuatu hal yang dituangkan kedalam subuah sistem untuk dapat membantu pakar tersebut dalam melakukan pekerjaannya. II.3. Metode Dempster Shafer Ada berbagai macam penalaran dengan model yang lengkap dan sangat konsisten, tetapi pada kenyataannya banyak permasalahan yang tidak dapat terselesaikan secara lengkap dan konsisten. Ketidak konsistenan yang tersebut adalah akibat adanya penambahan fakta baru. Penalaran yang seperti itu disebut dengan penalaran non monotonis. Untuk mengatasi ketidak konsistenan tersebut maka dapat menggunakan penalaran dengan teori Dempster-Shafer. DempsterShafer adalah suatu teori matematika untuk pembuktian berdasarkan belief functions and plausible reasoning(fungsi kepercayaan dan pemikiran yang masuk akal), yang digunakan untuk mengkombinasikan potongan informasi yang terpisah (bukti) untuk mengkalkulasi kemungkinan dari suatu peristiwa. Teori ini dikembangkan oleh Arthur P. Dempster dan Glenn Shafer. Secara umum teori Dempster-Shafer ditulis dalam suatu interval : [Belief,Plausibility] 1. Belief (Bel) adalah ukuran kekuatan evidence dalam mendukung suatu himpunan proposisi. Jika bernilai 0 maka mengindikasikan bahwa tidak 14 ada evidence, dan jika bernilai 1 menunjukkan adanya kepastian. Dimana nilai bel yaitu (0-0.9). 2. Plausibility (Pl) dinotasikan sebagai : Pl(s) = 1 – Bel (-s) Plausibility juga bernilai 0 sampai 1. Jika yakin akan -s, maka dapat dikatakan bahwa Bel(-s)=1, dan Pl(-s)=0. Pada teori Dempster-Shafer dikenal adanya frame of discrement yang dinotasikan dengan θ. Frame ini merupakan semesta pembicaraan dari sekumpulan hipotesis. Tujuannya adalah mengaitkan ukuran kepercayaan elemen-elemen θ. Tidak semua evidence secara langsung mendukung tiaptiap elemen. Untuk itu perlu adanya probabilitas fungsi densitas (m). Nilai m tidak hanya mendefinisikan elemen-elemen θ saja, namun juga semua subsetnya. Sehingga jika θ berisi n elemen, maka subset θ adalah 2n . Jumlah semua m dalam subset θ sama dengan 1. Apabila tidak ada informasi apapun untuk memilih hipotesis, maka nilai : m{θ} = 1,0. Apabila diketahui X adalah subset dari θ, dengan m1 sebagai fungsi densitasnya, dan Y juga merupakan subset dari θ dengan m2 sebagai fungsi densitasnya, maka dapat dibentuk fungsi kombinasi m1 dan m2 sebagai m3, yaitu (Muhammad Dahria, dkk ; 2013 ; 4) : ∑X∩Y=Z m1(X). m2(Y) m3(Z) = 1-∑X∩Y=Ø m1(X). m2(Y) Dimana m3(Z) = mass function dari evidence (Z) 15 = mass function dari evidence (X), yang diperoleh dari nilai m1(X) keyakinan suatu evidence dikalikan dengan nilai disbelief dari evidence tersebut. = Mass function dari evidence (Y), yang diperoleh dari nilai m2(Y) keyakinan suatu evidence dikalikan dengan nilai disbelief dari evidence tersebut. ∑ m1(X). m2(Y) = Merupakan nilai kekuatan dari evidence Z yang diperoleh dari kombinasi. X∩Y=Z = Nilai keyakinan sekumpulan evidence. Dempster-Shafer adalah suatu teori matematika untuk pembuktian berdasarkan belief functions and plausible reasoning (fungsi kepercayaan dan pemikiran yang masuk akal), yang digunakan untuk mengkombinasikan potongan informasi yang terpisah (bukti) untuk mengkalkulasi kemungkinan dari suatu peristiwa (Maruli Tua Nahampun ; 2014 : 2). Untuk menganalisis gejala-gejala yang diberikan oleh pasien untuk mendapatkan kemungkinan nama penyakitnya, dilakukan dengan menghitung nilai densitas dari gejala dengan menghitung nilai kepercayaan menggunakan rumus Dempster-shafer. Seorang pasien mengalami gejala penyakit pada kelapa sawit dengan diagnosa dokter penyakit yang mungkin dideritanya adalah Garis Kuning, Busuk Kuncup atau Tanjuk. Gejala-1 : Daun tampak mengering dan gugur Apabila diketahui nilai kepercayaan setelah dilakukan observasi nyeri ulu hati sebagai gejala dari penyakit Garis Kuning (GK) dan Busuk Kuncup (BK) adalah: 16 m1{GK, BK,DBM} = 0,8 m1{θ} = 1 – 0,8 = 0,2 Gejala-2 : Tampak Bercak-bercak lonjong berwarna kuning dan ditengahnya berwarna coklat Kemudian jika diketahui nilai kepercayaan setelah dilakukan observasi terhadap rasa terbakar pada tenggorokan sebagai gejala dari penyakit Tanjuk(PT) adalah : m2{GK, BK, PT} = 0,9 m2{θ} = 1 – 0,9 = 0,1 (Maruli Tua Nahampun ; 2014 : 2). Jadi teori dempster shafer merupakan salah satu teori yang sering digunakan untuk menerapkan sistem pakar yang dimiliki seorang pakar yang diterapkan dengan teori matematika dimana sistem kepercayaan dan masuk akal oleh manusia yang akan diterima oleh sistem. II.4. Unified Modeling Language Unified Modeling Language (UML) adalah suatu alat untuk memvisualisasikan dan mendokumentasikan hasil analisa dan desain yang berisi sintak dalam memodelkan sistem secara visual (Braun, et. al.2011). Juga merupakan satu kumpulan konvensi pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek (Whitten, et. al. 2004) UML merupakan salah satu alat bantu yang sangat handal dalam bidang pengembangan sistem berorientasi objek karena UML menyediakan bahasa pemodelan visual yang memungkinkan pengembang sistem membuat blue print 17 atas visinya dalam bentuk yang baku. UML berfungsi sebagai jembatan dalam berkomunikasikan beberapa aspek dalam sistem melalui sejumlah elemen grafis yang bisa dikombinasikan menjadi diagram. UML mempunyai banyak diagram yang dapat mengakomodasi berbagai sudut pandang dari suatu perangkat lunak yang akan dibangun.(Yuni Sugiarti; 2013:36-37) Dengan menggunakan UML, kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemograman apapun. Tetapi karena UML juga menggunakan dan operation dalam konssep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian UML tetap dapat digunakan untuk modelling aplikasi prosedural dalam VB atau C. Seperti bahasa-bahasa lainnya, UML mengidentifikasikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Software Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering) (Yuni Sugiarti;2013:34). Blok pembangunan utama UML adalah diagram. Beberapa diagram ada yang rinci (jenis timming diagram) dan lainnya ada yang bersifat umum (misalnya diagram kelas). Para pengembang sistem berorientasi objek menggunakan bahasa 18 model untuk menggambarkan, membangun dan mendokumentasikan sistem yang mereka rancang. UML memungkinkan para anggota team untuk bekerja sama dengan bahasa model yang sama dengan mengaplikasikan beragam sistem. Intinya UML merupakan alat komunikasi yang konsisten dalam mendukung para pengembang sistem saat ini. Adapun beberapa bagian dari Unified Modelling Languange (UML) adalah sebagai berikut : II.4.1. Use Case Diagram Dalam membuat sebuah sistem, langkah awal yang perlu dilakukan adalah menentukan kebutuhan. Terdapat dua jenis kebutuhan, yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional adalah kebutuhan pengguna dan stakeholder sehari-hari yang akan dimiliki oleh sistem, dimana kebutuhan ini akan digunakan oleh pengguna stakeholder. Sedangkan kebutuhan nonfungsional adalah kebutuhan yang memperhatikan hal-hal berikut yaitu performansi, kemudahan dalam menggunakan sistem, kehandalan sistem, keamanan sistem, keuangan, legalitas, dan operasional. Kebutuhan fungsi akan digambarkan melalui sebuah diagram yang dinamakan diagram use case. Use case diagram atau diagram use case merupakan pemodelan untuk menggambarkan kelakuan (behavior) sistem yang akan dibuat. Diagram use case mendeskripsikan sebuah interaksi antar satu atau lebih actor dengan sistem yang akan dibuat. Dengan pengertian yang cepat, diagram use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. 19 Terdapat beberapa simbol dalam menggambarkan diagram use case, yaitu use case, actor dan relasi. Hal perlu diingat mengenai diagram use case adalah diagram use case bukan menggambarkan tampilan antarmuka (user interface), arsitektur dari sistem, kebutuhan nonfungsional, dan tujuan performansi. Sedangkan untuk penamaan use case adalah nama didefinisikan semudah mungkin, dapat dipahami dan menggunakan kata kerja (Yuni Sugiarti; 2013:41). Diagram yang menggambarkan actor, use case dan relasinya sebagai suatu urutan tindakan yang memberikan nilai terukur untuk aktor. Sebuah use case digambarkan sebagai elips horizontal dalam suatu diagram UML use case (Mulawarman ; 2011 ; 4 ) Jadi use case diagram adalah suatu perancangan dimana akan menyatakan hubungan antara aktor atau pengguna dengan sistem atau aplikasi yang akan digunakan. Berikut ini pada tabel II.1. adalah simbol-simbol yang ada pada diagram use case: Tabel II.1. Simbol – Simbol Use Case Diagram Simbol Use case Nama use case Deskripsi Fungsionalitas unit-unit yang atau aktor, menggunakan nama use case yang disediakan sistem sebagai saling bertukar pesan antar unit biasanya dinyatakan dengan kata kerja diawal diawal frase 20 Aktor / actor nama aktor orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari actor adalah gambar orang, tapi actor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal nama actor. Asosiasi/ association Komunikasi antara actor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor Ekstensi / extend <<extend>> Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu: mirip dengan prinsip inheritance pada pemograman berorientasi objek; biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan, misal Validasi username <<extend>> Validasi user <<extend>> Validasi sidik jari Arah panah mengarah pada use case yang ditambahkan; biasanya use case yang menjadi extend-nya nya merupakan jenis yang sama dengan use case yang menjadi induknya. 21 Generalisasi/generalization generalization Hubungan generalisasi dan spesialisasi (umum – khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya, misalnya: Ubah data Mengelola data Input data Arah panah mengarah pada use case yang menjadi generalisasinya (umum). Menggunakan / include / Relasi use case tambahan ke sebuah use case uses dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat use case ini. Ada dua sudut pandang yang cukup besar <<include>> mengenai include di use case : include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan. include berarti use case yang tambahan akan <<uses>> selalu melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan. Sumber : (Rosa A.S, M.Shalahuddin; 2013; 155-158). 158). II.4.2. Class Diagram ( Diagram Kelas) Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas kelas kelas yang akan dibuat untuk membangun sistem. kelas memiliki apa yang disebut atribut dan metode atau operasi. 1. Atribut merupakan variabel-variabel variabel variabel yang dimiliki oleh suatu kelas. 22 2. Atribut mendeskripsikan property dengan sebaris teks didalam kotak kelas tersebut. 3. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Diagram kelas mendeskripsikan jenis-jenis objek dalam sistem dan berbagai hubungan statis yang terdapat diantara mereka. Diagram kelas juga menunjukkan properti dan operasi sebuah kelas dan batasan-batasan yang terdapat dalam hubungan-hubungan objek. Diagram kelas menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, perwarisan, asosiasi, dan lain-lain (Yuni Sugiarti;2013:57). Kelas memiliki tiga area pokok : 1. Nama 2. Atribut 3. Operasi Class diagram menggambarkan struktur statis dari kelas dalam sistem anda dan menggambarkan atribut, operasi dan hubungan antara kelas. Class diagram membantu dalam memvisualisasikan struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat (Mulawarman ; 2011 : 4) Jadi class diagram merupakan perancangan yang akan menampilkan kelaskelas atau tabel-tabel penyimpanan data yang nantinya akan digunakan untuk pembuatan aplikasi. 23 Berikut adalah tabel II.2 simbol-simbol yang ada pada diagram kelas : Tabel II.2. Simbol-Simbol Diagram Kelas Simbol Package Deskripsi Package merupakan bungkusan dari satu kelas atau lebih Package Operasi Kelas pada struktur system Nama_Kelas +atribut +operasi() Antarmuka / interface Sama dengan konsep interface dalam pemrograman berorientasi objek Nama interface Asosiasi / association 1 1..* Asosiasi berarah association / Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity Relasi antar kelas dengan makna kelas Directed yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity Generalisasi Relasi antar kelas dengan makna generalisasi-spesialisasi (umum khusus) Kebergantungan Relasi antar kelas dengan makna Kebergantungan antar kelas Agregasi / aggregation Relasi antar kelas dengan makna Semua bagian (whole part) Sumber : (Yuni Sugiarti;2013:59). 24 II.4.3. Activity Diagram ( Aktivitas) Diagram aktivitas atau activity diagram menggambarkan workflow(aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity Diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem ( dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarka proses-proses dan jalur-jalur aktivitas dari level atas secara umum (Yuni Sugiarti;2013:75). Menggambarkan aktifitas-aktifitas, objek, state, transisi state dan event. Dengan kata lain kegiatan diagram alur kerja menggambarkan perilaku sistem untuk aktivitas (Mulawarman ; 2011 :4) Jadi activity diagram adalah perancangan alur aplikasi yang dibuat untuk mengetahui cara kerja pengguna terhadap sistem yang dibuat secara vertikal. Berikut adalah tabel II.3. yang menggambarkan simbol-simbol yang digunakan pada diagram aktivitas : Tabel II.3. Simbol Activity Diagram Simbol Status awal Deskripsi Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal. Aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja. 25 Percabangan decision / Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu. Penggabungan / join Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu. Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir. Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi. nama swimlane Sumber : (Rosa A.S, M.Shalahuddin; 2013; 161-163). II.4.4. Sequence Diagram Diagram sequence menggambarkan kelakuan/perilaku objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Banyaknya diagram sequence yang digambarkan adalah sebanyak pendefenisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefenisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case didefenisikan maka diagram sequnce yang harus dibuat juga semakin banyak (Yuni Sugiarti;2013:69). Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap, termasuk kronologi (urutan) perubahan secara logis yang seharusnya 26 dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram (Mulawarman ; 2011 : 4) Jadi sequence diagram adalah perancangan alur aplikasi yang dibuat untuk mengetahui cara kerja pengguna terhadap sistem yang dibuat secara horizontal. Berikut adalah tabel II.4. yang menerangkan simbol-simbol yang ada pada diagram sequence : Tabel II.4. Diagram Sequence Simbol Deskripsi Aktor Garis hidup / lifeline orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari actor adalah gambar orang, tapi actor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal nama actor. Menyatakan kehidupan suatu objek. Objek Menyatakan objek yang berinteraksi pesan. nama aktor nama objek :nama kelas Waktu aktif Menyatakan objek dalam keadaan aktif dan berinteraksi, semua yang terhubung dengan waktu aktif ini adalah tahapan yang dilakukan didalamnya. Pesan tipe create <<create>> Menyatakan suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat 27 Pesan tipe call 1 : nama_metode{} Menyatakan suatu objek memanggil operasi / metode yang ada pada objek lain atau dirinya sendiri. Pesan tipe send 1 : masukan Menyatakan bahwa suatu objek mengirimkan data / masukan / informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi. Pesan tipe return Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian. Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada destroy. 1 : keluaran Pesan tipe destroy <<destroy>> Sumber : (Rosa A.S, M.Shalahuddin; 2013; 165-167). II.5. Entity Relationship Diagram Entity Relationship Diagram/ER_M merupakan suatu model data yang dikembangkan berdasarkan objek. ER_M digunakan untuk menjelaskan hubungan antara data dalam basis data kepada pengguna secara logik. ER_M didasarkan pada suatu persepsi bahwa real world terdiri atas objek-objek dasar yang mempunyai hubungan/kerelasian antar objek-objek dasar tersebut. ER_M digambarkan dalam bentuk diagram yang disebut dengan ER (ER_Diagram/ER_D). Untuk menggambarkan ER_D digunakan simbol-simbol grafis tertentu (Edhy Sutanta ; 2011 : 91) 28 ERD adalah model konseptual yang mendeskripsikan hubungan antara penyimpanan. ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses yang dilakukan (Adelia, dkk ; 2011 : 3). Jadi ERD merupakan suatu alat yang mendeskripsikan suatu hubungan antara satu penyimpanan dengan penyimpanan lainnya yang dibuat untuk mempermudah pengguna dalam melakukan pemeriksaan database. II.6. Visual Basic Visual Basic merupakan salah satu bahasa pemrograman yang handal dan banyak digunakan oleh pengembang untuk membangun berbagai macam aplikasi Windows. Visual Basic 2008 atau Visual Basic 9 adalah versi terbaru yang telah diluncurkan bersama C#, Visual C++, dan Visual Web Developer dalam satu paket Visual Studio 2008. Visual Basic 2008 merupakan aplikasi pemrograman yang menggunakan teknologi .NET Framework. Teknologi .NET Framework merupakan komponen windows yang terintegrasi serta mendukung pembuatan, penggunaan aplikasi dan halaman web. Teknologi .NET Framework mempunyai 2 komponen utama, yaitu CLR (Common Language Runtime) dan Class Library. CLR digunakan untuk menjalankan aplikasi yang berbasis .NET sedangkan Library adalah kelas pustaka atau perintah yang digunakan untuk mengembangkan aplikasi. (Wahana Komputer, 2010 : 2). 29 Visual Basic merupakan turunan bahasa BASIC dan menawarkan pengembangan aplikasi komputer berbasis grafik dengan cepat, akses ke basis data menggunakan Data Access Objects (DAO), Remote Data Objects (RDO), atau ActiveX Data Object (ADO), serta menawarkan pembuatan kontrol ActiveX dan objek ActiveX. Beberapa bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang berbeda. Para programmer dapat membangun aplikasi dengan menggunakan komponen-komponen yang disediakan oleh Microsoft Visual Basic Program-program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API, tapi membutuhkan deklarasi fungsi eksternal tambahan (Adelia, dkk ; 2011 : 3). Jadi visual basic merupakan suatu aplikasi khusus yang dirancang untuk membantu dalam melakukan pembuatan aplikasi dengan mudah yang dilengkapi dengan bahasa pemrograman yang mudah dipahami oleh penggunanya. II.7. SQL Server Dalam suatu rancangan database, data dictionary digunakan untuk menjelaskan atau mendeskripsikan kolom-kolom pada masing-masing tabel yang akan dibuat ke dalam database. Deskripsi kolom yang dimaksud di sini meliputi tipe data, lebar karakter atau digit, serta keterangan tentang kunci relasi (Budi Raharjo ; 2011 : 59) Bahasa query merupakan bahasa khusus yang digunakan untuk melakukan manipulasi dan menanyakan pertanyaan (query) yang berhubungan dengan bahasa 30 pemrograman, dimana bahasa query tidak memiliki kemampuan untuk menyelesaikan banyak masalah seperti bahasa pemrograman pada umumnya. Dalam pemrograman basis data, salah satu bahasa yang harus di kuasai adalah SQL. SQL merupakan bahasa komputer standar yang digunakan untuk berkomunikasi dengan sistem manajemen basis data relasional (RDBMS) (Ema Utami dan Anggi Dwi Hartanto ; 2012 : 63) SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya (Adelia, dkk ; 2011 : 3). Jadi SQL merupakan suatu bahasa pemrogram khusus yang digunakan untuk membangun sebuah database atau penyimpanan data untuk aplikasi tertentu yang akan dibangun oleh pengguna. II.8. Kamus Data Sebelum memperoleh defenisi formal basis data, kita akan mencoba memahaminya secara sederhana terlebih dahulu. Istilah basis data tersusun atas dua suku kata, yaitu basis dan data (basis data = basis + data). Dalam sistem bilangan biner, kita dapat menuliskan beberapa contoh bilangan sebagai berikut (Edhy Sutanta ; 2011 : 25) : 0 → sama dengan 0 dalam sistem bilangan desimal 1 → sama dengan 1 dalam sistem bilangan desimal 31 10 → sama dengan 2 dalam sistem bilangan desimal 11 → sama dengan 3 dalam sistem bilangan desimal 100 → sama dengan 4 dalam sistem bilangan desimal Kamus data atau data dictionary adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu informasi. Dengan kamus data, dapat mendefinisikan data pada sistem dengan lengkap (Destinawati ; 2013: 33) Jadi kamus data merupakan sekumpulan data yang dibuat dengan terperinci untuk membantu dalam perancangan database untuk tingkat lanjut dalam pembuatan aplikasi. II.9. Normalisasi Normalisasi diartikan sebagai suatu teknik yang menstrukturkan atau mendekomposisikan data dalam cara-cara tertentu untuk mencegah timbulnya pemasalahan dalam pengolahan data dalam basis data. Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan-penyimpangan (anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan in-efisiensi pengolahan. Proses normalisasi menghasilkan relasi yang optimal yaitu : 1. Memiliki struktur record yang konsisten secara logik 2. Memiliki struktur record yang mudah untuk dimengerti 3. Memiliki struktur record yang sederhana dalam pemeliharaan 4. Memiliki struktur record yang mudah ditampilkan kembali untuk memenuhi kebutuhan pengguna 32 5. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem (Edhy Sutanta ; 2011 : 174) Normalisasi diartikan sebagai suatu teknik yang menstrukturkan/ memecah/ mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Pemasalahan yang dimaksud adalah berkaitan dengan penyimpangan-penimpangan (anomallies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan (Destinawati ; 2013: 31). Jadi normalisasi merupakan bentuk dari pada tabel dimana ini dibuat untuk mengurangi resiko terjadi redudansi data saat membuat aplikasi yang dapat menimbulkan pemborosan dalam database.