BAB II Tinjauan Pustaka II.1 Sistem Pendukung Keputusan Sistem pendukung keputusan merupakan salah satu produk perangkat lunak yang dikembangkan secara khusus untuk membantu dalam proses pengambilan keputusan. Sesuai dengan namanya tujuan dari sistem ini adalah sebagai “information sources” atau second opinion yang dapat digunakan sebagai bahan pertimbangan dalam pengambilan keputusan atau kebijakan tertentu, merupakan satu model yang fleksibel yang memungkinkan pribadi-pribadi atau kelompok-kelompok untuk membentuk gagasan-gagasan dan membatasi masalah dengan membuat asumsi mereka sendiri dan menghasilkan pemecahan yang diinginkan. Sistem penunjang keputusan dengan metode FMADM (Fuzzy Multiple Attribute Decission Making) menggunakan SAW (Simple additive weighting) ini dibuat untuk dapat membantu dan meningkatkan proses serta kualitas hasil pengambilan keputusan dengan memadukan data dan pengetahuan untuk meningkatkan efektivitas dalam proses pengambilan keputusan. (Jurnal Semantik ; Ita Arfyanti, Edi Purwanto; 2012 : 119) II.1.1 Karakteristik Sistem Pendukung Keputusan Karakteristik sistem pendukung keputusan yaitu : a. Mendukung proses pengambilan keputusan suatu organisasi atau perusahaan. 14 15 b. Adanya interface manusia atau mesin dimana manusia (user) tetap memegang kontrol proses pengambilan keputusan. c. Mendukung pengambilan keputusan untuk membahas masalah terstruktur, semi terstruktur serta mendukung beberapa keputusan yang saling berinteraksi. d. Memiliki kapasitas dialog untuk memperoleh informasi sesuai dengan kebutuhan. e. Memiliki sub sistem yang terintegrasi sedemikian rupa sehingga dapat berfungsi sebagai kesatuan sistem. II.1.2 Ciri-Ciri Sistem Pendukung Keputusan Kriteria atau ciri-ciri sistem pendukung keputusan adalah sebagai berikut : a. Banyak pilihan atau alternatif. b. Adanya kendala. c. Mengikuti suatu pola atau model tingkah laku, baik yang terstruktur maupun tidak terstruktur. d. Banyak input atau variabel. e. Ada faktor resiko, dibutuhkan kecepatan, ketepatan, dan keakuratan. II.1.3 Fase Dalam Sistem Pendukung Keputusan Tiga fase dalam pengambilan keputusan yaitu : a. Inteligence 16 Tahap ini merupakan proses penelusuran dan pendeteksian dari ruang lingkup problematika secara proses pengenalan masalah. Data masukan diperoleh dan diuji dalam rangka mengidentifikasi masalah. b. Design Tahap ini merupakan proses menemukan, mengembangkan dan menganalisis alternatif tindakan yang bisa dilakukan. Tahap melakukan pengujian kelayakan solusi. c. Choice Pada tahap ini dilakukan proses pemilihan diantara berbagai alternatif tindakan yang mungkin dijalankan. Hasil pemilihan tersebut kemudian diimplentasikan kedalam proses pengambilan keputusan. II.1.4 Komponen Sistem Pendukung Keputusan Secara garis besar sistem pendukung keputusan dibangun oleh tiga komponen utama yaitu : a. Sub sistem (Database) Sub sistem data merupakan komponen sistem pendukung keputusan yang berguna sebagai penyedia data bagi sistem. Data tersebut disimpan untuk diorganisasikan dalam sebuah basis data yang diorganisasikan oleh suat sistem yang disebut dengan sistem manajemen basis data (database management system). 17 b. Sub sistem model Model adalah suatu tiruan dari alam nyata. Kendala yang sering dihadapi dalam merancang model adalah bahwa model yang dirancang tidak mampu mencerminkan seluruh variabel alam nyata, sehingga keputusan yang diambil tidak sesuai dengan kebutuhan. Oleh karena itu, dalam menyimpan berbagai model harus diperhatikan dan harus dijaga fleksibelitasnya. Hal lain yang harus diperhatikan adalah pada setiap model yang disimpan hendaknya ditambahkan rincian, keterangan dan penjelasan yang komprehensif mengenai model yang dibuat. c. Sub sistem dialog (User Sistem Interface) Sub sistem dialog adalah fasilitas yang mampu mengintegrasikan sistem yang terpasang dengan pengguna secara interaktif, yang dikenal dengan sub sistem dialog. Melalui sub sistem dialog sistem diimplementasikan sehingga pengguna dapat berkomunikasi dengan sistem yang dibuat. (Dicky Nofriansyah; 2014 : 1-4) II.2 Fuzzy Multiple Attribute Decision Making (FMADM) Fuzzy Multiple Attribute Decision Making (FMADM) adalah suatu metode yang digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu. Inti dari FMADM adalah menentukan nilai bobot untuk setiap atribut, kemudian dilanjutkan dengan proses perankingan yang akan menyeleksi alternatif yang sudah diberikan. Pada dasarnya, ada 3 pendekatan untuk mencari 18 nilai bobot atribut, yaitu pendekatan subyektif, pendekatan obyektif dan pendekatan integrasi antara subyektif dan obyektif. Masing-masing pendekatan memiliki kelebihan dan kelemahan. Pada pendekatan subyektif, nilai bobot ditentukan berdasarkan subyektifitas dari para pengambil keputusan, sehingga beberapa faktor dalam proses perankingan alternatif bisa ditentukan secara bebas. Sedangkan pada pendekatan obyektif, nilai bobot dihitung secara matematis sehingga mengabaikan subyektifitas dari pengambil keputusan. Ada beberapa metode yang dapat digunakan untuk menyelesaikan masalah FMADM, antara lain: 1. Simple Additive Weighting (SAW). 2. Weighted Product (WP). 3. Elimination and Choise Expressing Reality (ELECTRE). 4. Technique for Order Preference by Similarity to Ideal Solution (TOPSIS). 5. Analytic Hierarchy Process (AHP). II.3 Simple Additive Weighting (SAW) Metode Simple Additive Weighting (SAW) merupakan metode Multiple Attribute Decision Making (MADM) yang paling sederhana dan paling banyak digunakan. Metode ini juga metode yang paling mudah untuk diaplikasikan, karena mempunyai algoritma yang tidak terlalu rumit. Metode SAW sering juga dikenal sebagai metode penjumlahan terbobot. Konsep dasar metode SAW adalah mencari penjumlahan terbobot dari rating kinerja pada setiap alternatif pada 19 semua atribut. Metode SAW membutuhkan proses normalisasi matriks keputusan (X) ke suatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada. Berikut adalah formula untuk mencari normalisasi : 𝑥𝑖𝑗 max 𝑥𝑖𝑗 𝑗𝑖𝑘𝑎 𝑗 𝑎𝑑𝑎𝑙𝑎 𝑎𝑡𝑟𝑖𝑏𝑢𝑡 𝑘𝑒𝑢𝑛𝑡𝑢𝑛𝑔𝑎𝑛 (𝑏𝑒𝑛𝑒𝑓𝑖𝑡) 𝑖 𝑟𝑖𝑗 = min 𝑥𝑖𝑗 𝑖 𝑥𝑖𝑗 𝑗𝑖𝑘𝑎 𝑗 𝑎𝑑𝑎𝑙𝑎 𝑎𝑡𝑟𝑖𝑏𝑢𝑡 𝑏𝑖𝑎𝑦𝑎 𝑐𝑜𝑠𝑡 Dimana : rij : Rating kinerja ternormalisasi Maximum : Nilai maksimum dari setiap baris dan kolom Minimum : Nilai minimum dari setiap baris dan kolom Xij : Baris dan kolom dari matriks Dimana rij adalah rating kinerja ternormalisasi dari alternatif Ai pada atribut Cj; i=1,2,...,m dan j=1,2,...,n. Nilai preferensi untuk setiap alternatif (Vi) diberikan sebagai : 𝑛 𝑉𝑖 = 𝑤 𝑟 𝑖𝑗 𝑗 =1 Dimana : Vi : Nilai Akhir Alternative Wj : Bobot yang telah ditentukan Rij : Normalisasi matriks 𝑗 20 Nilai Vi yang lebih besar mengindikasikan bahwa alternatif Ai lebih terpilih. (Jurnal SPK ; Alif Wahyu Oktaputra, Edi Noersasongko ; 2014 : 3) Langkah–langkah penyelesaian Fuzzy MADM menggunakan metode SAW adalah: 1. Menentukan kriterian-kriteria yang akan dijadikan acuan dalam pengambilan keputusan, yaitu Ci. 2. Menentukan rating kecocokan setiap alternatif pada setiap kriteria. 3. Membuat matriks keputusan berdasarkan kriteria (Ci), kemudian melakukan normalisasi matriks berdasarkan persamaan yang disesuaikan dengan jenis atribut (atribut keuntungan maupun atribut biaya) sehingga diperoleh matriks ternormalisasi R. 4. Hasil akhir diperoleh dari setiap proses perankingan yaitu penjumlahan dari perkalian matriks ternormalisasi R dengan vector bobot sehingga diperoleh nilai terbesar yang dipilih sebagai alternatif terbaik (Ai) sebagai solusi. (Jurnal Semantik ; Ita Arfyanti, Edi Purwanto; 2012 : 122) II.4 Pembelian Sepeda Motor Bekas Menurut Kamus Besar Bahasa Indonesia, pembelian berasal dari kata beli yang berarti memperoleh sesuatu melalui penukaran atau pembayaran dengan uang. Pembelian berarti proses, cara, dan perbuatan membeli. Sepeda motor adalah kendaraan beroda dua yang digerakkan oleh sebuah mesin sedangkan barang bekas (second) berarti suatu benda yang sudah pernah dipakai. Dapat 21 disimpulkan bahwa pembelian sepeda motor bekas (second) merupakan suatu proses untuk memperoleh sepeda motor yang sudah pernah dipakai melalui alat penukaran yang sah dan adanya kesepakatan dalam transaksinya. (Naskah Publikasi ; Mellalia eka putri ; 2015 :1) II.5 Visual Basic Visual Basic diturunkan dari bahasa Basic. Visual Basic terkenal sebagai bahasa pemograman yang mudah untuk digunakan terutama membuat aplikasi yang berjalan diatas platform windows. Pada tahun 90an, Visual Basic menjadi bahasa pemrograman yang paling populer dan menjadi pilihan utama untuk mengembangkan program berbasis windows. Versi Visual Basic terakhir sebelum berjalan diatas .NET Framework adalah VB6. Visual Basic .NET dirilis pada bulan Februari 2002 bersamaan dengan platform. NET Framework 1.0. Kini sudah ada beberapa versi dari Visual Basic yang berjalan pada platform .NET, yaitu VB 2002 (VB7), VB 2005 (VB8), VB 2008 (VB9), dan yang terakhir adalah VB 2010 (VB10) yang dirilis bersamaan dengan Visual Studio 2010. Selain visual basic 2010, visual studio 2010 juga mendukung beberapa bahasa lain, yaitu C#, C++, F# (bahasa baru untuk functional programming), IronPhyton dan IronRuby (bahasa baru untuk dynamic programming). Berikut tampilan visual studio 2010 pada saat pertama kali dijalankan adalah seperti pada gambar dibawah. 22 Gambar II.1 Halaman StartUp (Sumber : Erick Kurniawan ; 2011 : 10) Dari halaman startup di atas terdapat beberapa bagian penting yang sering digunakan di antaranya : 1. Solution explorer Solution berisi semua file yang akan anda gunakan untuk membuat aplikasi. Ketika anda membuat project, sebenarnya anda juga membuat solution. Sebuah solution dapat terdiri dari beberapa project. Pada visual basic, tidak semua file dalam solution explorer ditampilkan. Ada beberapa yang disembunyikan, misalnya file yang menyimpan kode design form dan reference file. 23 Gambar II.2 Solution Explorer (Sumber : Erick Kurniawan ; 2011 : 13) 2. Toolbox Toolbox berisi berbagai control yang dapat anda gunakan untuk mendesain antarmuka grafis. Pada visual studio 2010, pengorganisasian control lebih rapi dan teratur sehingga lebih mudah untuk menentukan control yang anda inginkan Gambar II.3 Tool Box (Sumber : Erick Kurniawan ; 2011 : 14) 24 3. Jendela properties Jendela properties digunakan untuk mengatur property dan kontrol yang anda gunakan. Dari segi letak dan fungsinya, tampilan jendela propertis masih sama dengan yang terdapat pada visual studio versi sebelumnya. Gambar II.4 Jendela Properties (Sumber : Erick Kurniawan ; 2011 : 15-16) II.6 Basis Data Secara umum untuk menjelaskan tentang pengertian basis data dapat ditinjau dari dua sisi, secara kharfiah dan istilah. Menurut pengertian secara kharfiah, basis data berasal dari dua kata yaitu basis dan data. Basis dapat diartikan sebagai suatu markas atau gudang, tempat bersarang atau tempat berkumpul. Data dapat diartikan sebagai representasi dari fakta dunia yang mewakili suatu objek (manusia, barang, peristiwa, keadaan, dsb) yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya. 25 Adapun pengertian menurut istilah terdapat beberapa defenisi sebagai berikut : 1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa perulangan (redudancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan tertentu. 4. Kumpulan data, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi. Basis data merupakan suatu sistem yang dibangun oleh beberapa komponen diantaranya ada enam komponen pokok antara lain : 1. Perangkat keras (Hardware) dalam sistem komputer. Dalam sistem pengolahan basis data digital perangkat utama sebagai pengolah data adalah komputer. 2. Perangkat lunak aplikasi (Software) lain yang mendukung dan bersifat opsional. Perangkat lunak digunakan untuk mendukung proses pengelolaan basis data. Misalnya, bahasa pemograman c, basic pascal. 3. Sistem operasi (Operating System) merupakan perangkat lunak yang digunakan untuk mengelola aplikasi basis data dan penggunaan sumber daya komputer. 26 4. Basis data lain yang mempunyai keterkaitan dan hubungan dengan basis data itu sendiri. Berisi atau memiliki objek-objek basis data seperti, file, tabel, indeks. Mempunyai struktur baik untuk basis data maupun objek-objek secara detail. 5. Sistem Pengolahan Basis Data atau Database Management System (DBMS) merupakan program aplikasi untuk pengolahan basis data, seperti microsoft access, oracle, dan lain-lain. 6. Pemakai (User) yaitu pengguna yang terlibat dalam pengolahan basis dan penggunaan basis data (Abdul Munif ; 2013 : 7-8). II.7 SQL Server 2008 Sistem basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya basis data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan cepat. (Rosa, Shalahuddin ; 2015 ; 43) SQL Server 2008 adalah sebuah terobosan baru dari Microsoft dalam bidang database. SQL Server adalah sebuah DBMS (Database Management System) yang dibuat oleh Microsoft untuk ikut berkecimpung dalam persaingan dunia pengolahan data menyusul pendahuluannya seperti IBM dan Oracle. SQL Server 2008 dibuat pada saat kemajuan dalam bidang hardware sedemikian pesat. Oleh karena itu sudah dapat dipastikan bahwa SQL Server 2008 membawa 27 beberapa terobosan dalam bidang pengolahan dan penyimpanan data. (Wahana Komputer ; 2010 : 2) Dalam DBMS biasanya tersedia paket bahasa yang digunakan untuk mengorganisasi basis data yang ada, yaitu : 1. Data Defenition Language (DDL) Data Definition Language (DDL) adalah satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data. Hasil kompilasi dari DDL adalah satu set tabel yang disimpan dalam file khusus yang disebut Data Directory/Dictionary. Secara umum perintah perintah dalam DDL berhubungan dengan operasi-operasi dasar seperti membuat basis data baru, menghapus basis data, membuat tabel baru, menghapus tabel, membuat indeks, mengubah struktur tabel. Contoh perintah DDL misalnya, Create Table, Create Index, Alter, dan Drop Database. 2. Data Manipulation Language (DML) Data Manipulation Language (DML) adalah satu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat. Dengan DML dapat dilakukan kegiatan : a. Mengambil informasi yang tersimpan dalam basis data. b. Menyisipkan informasi baru dalam basis data. c. Menghapus informasi dari tabel. 28 Terdapat dua tipe DML yaitu prosedural dan non prosedural. Prosedural DML membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana cara mendapatkannya, sedang non prosedural DML membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa tahu bagaimana cara mendapatkannya. SQL merupakan kependekan dari Structured Query Language (Bahasa Query Terstruktur). SQL lebih dekat dengan DML dari pada DDL. Namun tidak berarti SQL tidak menyediakan perintah DDL. SQL lebih menekankan pada aspek pencarian dari dalam tabel. Aspek pencarian ini sedemikian penting karena di sinilah sebenarnya inti dari segala upaya kita melakukan pengelolaan data. Data dalam basis data diorganisasi sedemikian rupa dengan tujuan untuk memudahkan pencarian di kemudian hari. Sebagai sebuah bahasa, SQL telah distandarisasi dan mengalami beberapaperubahan atau penyempurnaan. SQL muncul pertama kali pada tahun 1970 dengan nama Sequel (nama yang masih sering digunakan hingga saat ini). Standarisasi yang pertama dibuat pada tahun 1986 oleh ANSI (American NationalStandards Institute) dan ISO (International Standard Organization), yang disebut SQL-86. Pada tahun 1989 SQL-86 diperbaharui menjadi SQL-89. Standar terakhir yang dibuat adalah SQL-92. Pernyataan-pernyataan SQL digunakan untuk melakukan beberapa tugas seperti update data pada basis data, atau menampilkan data dari basis data. Beberapa software RDBMS yang dapat menggunakan SQL, seperti : Oracle, Sybase, Microsoft SQL Server, MySQL, Microsoft Access, Ingres, dsb. Setiap 29 software basis data mempunyai mungkin bahasa perintah / sintaks yang berbeda, namun pada prinsipnya mempunyai arti dan fungsi yang sama. Perintah utama dalam SQL adalah select (Aunur Rofiq Mulyanto ; 2008 : 324-325). II.8 Entity Relationship Diagram (ERD) Pemodelan awal basis data yang paling banyak digunakan adalah mengunakan Entity Relationship Diagram (ERD). ERD dikembangkan berdasarkan teori himpunan dalam bidang matematika. ERD digunakan untuk pemodelan basis data relasional. ERD memiliki beberapa notasi, namun yang paling banyak digunakan adalah notasi Chen (dikembangkan oleh Peter Chen). Berikut adalah simbol-simbol yang digunakan pada ERD dengan notasi Chen : Tabel II.1 Simbol-Simbol ERD Simbol Entitas / entity Nama_entitas Atribut Nama_atribut Atribut Kunci Primer Nama_kunci_primer Deskripsi Entitas Merupakan data inti yang akan disimpan; bakal tabel pada basis data; benda yang memiliki data dan harus disimpan datanya agar dapat diakses oleh aplkasi komputer; penamaan entitas biasanya lebih ke kata benda dan belum merupakan nama tabel. Field atau kolom data yang butuh disimpan dalam suatu entitas Field atau kolom data yang butuh disimpan dalam suatu entitas dan digunakan sebagai kunci akses record yang diinginkan; biasanya 30 Tabel II.1 Simbol-Simbol ERD (Lanjutan) berupa id; kunci primer dapat lebih dari satu kolom, asalkan kombinasi dari beberapa kolom tersebut bersifat unik (berbeda tanpa ada yang sama) Atribut multinilai / multivalue Field atau kolom data yang butuh disimpan dalam suatu entitas yang dapat memiliki nilai Nama_atribut lebih dari satu Relasi Relasi yang menghubungkan antar entitas; biasanya diawali dengan kata kerja Nama_relasi Asosiasi / association N Penghubung antara relasi dan entitas dimana kedua ujungnya memiliki multiplicity kemungkinan jumlah pemakaian, kemungkinan jumlah maksimum keterhubungan antara entitas satu dengan yang lain disebut dengan kardinalitas. (Sumber : Rosa dan Shalahuddin ; 2015 : 50-51) II.9 Kamus Data Kamus data (data dictionary) dipergunakan untuk memperjelas aliran data yang digambarkan pada DFD. Kamus data adalah kumpulan daftar elemen data yang yang mengalir pada pada sistem perangkat lunak sehingga masukan (input) dan keluaran (output) dapat dipahami secara umum (memiliki standar cara penulisan). Kamus data dalam implementasi program dapat menjadi parameter masukan atau keluaran dari sebuah fungsi atau prosedur. Kamus data biasanya berisis : 1. Nama-nama dari data 2. Digunakan pada – merupakan proses-proses yang terkait data 31 3. Deskripsi – merupakan deskripsi data 4. Informasi tambahan – seperti tipr data, nilai data, batas nilai data, dan komponen yang membentuk data (Rosa, Shalahuddin ; 2015 : 73) Kamus data memiliki beberapa simbol untuk menjelaskan informasi tambahan sebagai berikut : Tabel II.2 Simbol-Simbol kamus data Simbol Keterangan = Disusun atau terdiri dari + Dan [|] Baik ...atau... {}n n kali diulang/ bernilai banyak () Data opsional *...* Batas komentar (Sumber : Rosa dan Shalahuddin ; 2015 ; 74) Berikut ini adalah contoh kamus data untuk studikasus prosedur login : Tabel II.3 Contoh Kamus Data Prosedur Login 1 Nama : Login Digunakan di : Proses login (masukan (input)) Deskripsi : Login = id + password Id = *string* Password = *string* (Sumber : Rosa dan Shalahuddin ; 2015 : 74) 32 II.10 Normalisasi Normalisasi diartikan sebagai suatu teknik yang menstrukturkan atau mendekomposisikan atau memecah data menggunakan cara-cara tertentu untuk mencegah timbulnya permasalahan pengelohan data dalam basis data. Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan- penyimpangan (anomalies) yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan. Proses normalisasi akan menghasilkan relasi yang optimal yaitu : 1. Memiliki struktur record yang mudah untuk dimengerti. 2. Memiliki struktur record yang sederhana dalam pemeliharaan. 3. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pemakai. 4. Minimalisasi kerangkapan data guna meningkatkan kinerja system (Abdul Munif ; 2013 : 89). II.10.1 Bentuk-Bentuk Normalisasi Normalisasi data adalah proses yang berkaitan dengan model data relasional untuk mengorganisasi himpunan data dengan ketergantungan dan keterkaitan yang tinggi atau erat. Hasil dari proses normalisasi adalah tabel–table data dalam bentuk normal (normal form), yaitu tabel–tabel data yang terhindar dari dua hal yaitu: 33 a. Pengulangan informasi. b. Potensi inkonsistensi data pada operasi pengubahan. Terdapat enam bentuk normal (normal form) dalam teknik normalisasi data, keenam bentuk tersebut adalah : a. Bentuk Normal Tahap pertama (1st Normal Form) b. Bentuk Normal Tahap Kedua (2nd Normal Form) c. Bentuk Normal Tahap Ketiga (3rd Normal Form) d. Bentuk Normal Boyce - Code (BCNF) e. Bentuk Normal Tahap Keempat (4rd Normal Form) f. Bentuk Normal Tahap Kelima (4rd Normal Form) ( Abdul Munif ; 2013 : 103) II.10.2 Proses Normalisasi Data Dalam proses normalisasi, data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila table yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal. Langkah-langkah yang dilakukan dalam melakukan normalisasi data diperlihatkan dalam gambar dibawah ini : 34 Gambar II.5 Proses Normalisasi Data (Sumber : Abdul Munif ; 2013 : 104) a. Bentuk tidak normal (Unnormalized Form) Bentuk ini memiliki ciri-ciri, yaitu : 1. Merupakan kumpulan data yang akan direkam 2. Tidak ada keharusan mengikuti suatu format tertentu 3. Dapat saja data tidak lengkap atau terduplikasi 4. Data dikumpulkan apa adanya sesuai dengan kedatangannya. b. Bentuk Normal Tahap pertama (1st Normal Form) Bentuk normal ke satu 1 NF ini mempunyai beberapa ciri 35 antara lain yaitu: 1. Setiap data dibentuk dalam flat file (file data/ rata) 2. Data dibentuk dalam satu record demi satu record dan nilai dari field-field berupa "atomic value", tidak dapat dibagibagi lagi. 3. Tidak ada set atribute yang berulang-ulang atau atribute bernilai ganda (multivalue). 4. Tidak ada set atribut composite atau kombinasinya dalam domain data yang sama. 5. Tiap field hanya satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata sehingga artinya lain. Gambar II.6 Contoh data yang belum memenuhi 1NF (Sumber : Abdul Munif ; 2013 : 105) Untuk dapat memenuhi aturan 1NF, maka dilakukan penataan ulang data (dekomposisi) menjadi 2 entitas, yakni entitas siswa dan entitas hobi seperti gambar berikut : 36 Gambar II.7 Contoh data yang memenuhi 1NF (Sumber : Abdul Munif ; 2013 : 106) c. Bentuk Normal Tahap Kedua (2nd Normal Form) Bentuk normal kedua mempunyai syarat yaitu: 1. Bentuk data telah memenuhi kriteria bentuk normal kesatu. 2. Atribute bukan kunci haruslah bergantung secara fungsi pada kunci utama atau primary key. 3. Sudah ditentukan kunci kunci field, dimana kunci field haruslah unik dan dapat mewakili atribute lain yang menjadi anggotanya. d. Bentuk Normal Tahap Ketiga (3rd Normal Form) Untuk menjadi bentuk normal ketiga (3 NF) suatu tabel harus mempunyai ciri-ciri sebagai berikut: 1. Memenuhi bentuk 2 NF (normal kedua). 37 2. Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci utama atau primary key. 3. Setiap atribute bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh (Abdul Munif ; 2013 : 104-107). II.11 Unified Modelling Language (UML) Unified Modelling Language (UML) merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML hanya berfungsi untuk pemodelan, jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek. (Rosa, Shalahuddin ; 2015 : 137) II.11.1 Use Case Diagram Use Case Diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan dengan sistem informasi yang akan dibuat. Berikut adalah simbol-simbol yang ada pada diagram use case: 38 Tabel II.4 Simbol-Simbol Use Case Diagram Simbol Use Cse Deskripsi Fungsionalitas yang disediakan sebagai unitunit yang saling bertukar pesan antar unit atau nama use case aktor; biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case Aktor / actor Orang, proses, atau sistem lain yang bereinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat, jadi walaupun simbol dari aktor nama aktor merupakan gambar orang merupakan orang; biasanya belum tentu dinyatakan menggunakan kata benda di awal frase nama aktor. Asosiasi / association Komunikasi antara aktor dan use case atau use case memiliki interaksi dengan aktor Ekstensi / extend Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan dapat «extends» berdiri sendiri walau tanpa use case tambahan; biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan. 39 Tabel II.4 Simbol-Simbol Use Case Diagram (Lanjutan) validasi username «extends» validasi user «extends» validasi sidik jari Generalisasi / generalization Arah panah mengarah pada use case yang ditambahkan; biasanya use case yang menjadi extend-nya merupakan jenis yang sama dengan use case yang menjadi induknya. 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 hapus data Arah panah mengarah pada use case yang menjadi generalisasinya (umum) Menggunakan / include / uses < < include > > «uses» Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini, ada dua sudut pandang yang cukup besar mengenai include di use case : Include berarti use case yang ditambahakan akan selalu dipanggil saat use case tambahan dijalankan, misal pada kasus berikut : 40 Tabel II.4 Simbol-Simbol Use Case Diagram (Lanjutan) validasi username < < include > > login Include berarti use case tambahan akan selalu melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan, misal pada kasus berikut: validasi user < < include > > ubah data Kedua interpretasi diatas dapat dianut salah satu atau keduanya tergantung pada pertimbangan atau interpretasi yang dibutuhkan. (Sumber : Rosa dan Shalahuddin ; 2015 ; 155-158) II.11.2 Class Diagram Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefenisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. Operasi atau metode adalah fungsi-fungsi yang dimiliki oles suatu kelas. Diagram kelas dibuat agar pembuat 41 program atau programer membuat kelas-kelas sesuai rancangan di dalam diagram kelas agar antara dokumentasi perancangan dan dokumen sinkron. Berikut adalah simbol-simbol yang ada pada diagram kelas: Tabel II.5 Simbol-Simbol Class Diagram Simbol Kelas Deskripsi Kelas pada struktur sistem nama_kelas -+atribut +operasi() Antar muka / interface Sama dengan konsep interface pemograman berorientasi objek dalam Nama_interface Asosiasi / association Relasi antarkelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity Asosiasi berarah / directed Relasi antarkelas dengan makna kelas yang association satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity Generalisasi Relasi antarkelas dengan makna generalisasispesialisasi umum (umum khusus) Kebergantungan / dependency Relasi antar kelas dengan kebergantungan antar kelas Agregasi / aggregation Relasi antarkelas dengan makna semuabagian (whole-part) (Sumber : Rosa dan Shalahuddin ; 2015 : 141-147) makna 42 II.11.3 Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitaas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor. Berikut adalah simbol-simbol yang ada pada diagram aktivitas : Tabel II.6 Simbol-Simbol Activity Diagram Simbol Status awal Deskripsi Status awal aktivitas sistem, sebuah diagram aktivitas memiliki status awal. Aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja aktivitas 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 status akhir Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi nama swimline (Sumber : Rosa dan Shalahuddin ; 2015 : 161-163) 43 II.11.4 Sequence diagram Sequence diagram atau diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Untuk mengambarkan diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metodemetode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Berikut adalah simbol-simbol yang ada pada diagram sekuen : Tabel II.7 Simbol-Simbol Sequence Diagram Simbol Aktor nama akktor Atau Nama aktor Deskripsi Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat, jadi walaupun simbol aktor adalah gambar orang, tapi aktor belum tentu merupakan orang, biasanya dinyatakan menggunakan kata benda di awal frase nama aktor. tanpa waktu aktif Garis hidup / lifeline Menyatakan kehidupan suatu objek Objek Menyatakan objek yang berinteraksi pesan nama objek : nama kelas Waktu aktif Menyatakan objek dalam keadaan aktif dan berinteraksi, semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan di dalamnya, misalnya 1: login() 2: cekStatusLogin() 3: open() 44 Tabel II.7 Simbol-Simbol Sequence Diagram (Lanjutan) maka cekStatusLogin() dan open() dilakukan dalam metode login() aktor tidak memiliki waktu aktif Menyatakan suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat Pesan tipe create < <create> > Pesan tipe call 1: nama_metode() Menyatakan suatu objek memanggil/metode yang ada pada objek lain atau dirinya sendiri, 1: nama_metode() Arah panah mengarah pada objek yang memiliki operasi /metode, karena ini memanggil operasi/metode maka operasi/metode yang dipanggil harus ada pada diagram kelas sesuai dengan kelas objek yang berinteraksi Menyatakan bahwa suatu objek mengirmkan data/masukan/informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah pana mengarah kepada objek yang menerima kembalian Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang dikhiri, sebaiknya jika ada create maka ada destroy Pesan tipe send 1: masukan Pesan tipe send 1: keluaran Pesan tipe destroy < <destroy> > X (Sumber : Rosa dan Shalahuddin ; 2015 ;165-167)