BAB 2 LANDASAN TEORI 2.1 Sistem Pendukung Keputusan Pada dasarnya Sistem Pendukung Keputusan (SPK) adalah pengembangan dari sistem informasi manajemen terkomputerisasi yang dirancang sedemikian rupa sehingga bersifat interaktif dengan pemakainya. Interaktif dengan tujuan untuk memudahkan integrasi antarkomponen dalam proses pengambilan keputusan manajerial sehingga kredibilitas instansi tersebut semakin lebih baik. SPK merupakan salah satu sistem aplikasi yang sangat terkenal di kalangan manajemen organisasi. Sistem Pendukung Keputusan dirancang untuk membantu manajemen dalam proses pengambilan keputusan. SPK memadukan data dan pengetahuan untuk meningkatkan efektivitas dan efisiensi dalam proses pengambilan keputusan tersebut (Turban, 1995). Menurut Kusrini (2007), SPK merupakan sistem informasi interaktif yang menyediakan informasi, permodelan, dan pemanipulasian data. Sistem ini digunakan untuk membantu pengambil keputusan dalam situasi semi terstruktur maupun tidak terstruktur. Jika pada pemrosesan tradisional, pengambilan keputusan dilakukan melalui perhitungan iterasi secara manual, SPK menawarkan informasi pendukung keputusan dengan melakukan perhitungan yang cepat. Dalam mendukung keputusan tersebut, SPK mempresentasikan permasalahan manajemen dalam bentuk kuantitatif (Mulyanto, 2009). Secara garis besar, SPK dibangun atas tiga komponen utama, yaitu database, model base, dan software system. Sistem database berisi kumpulan dari semua data bisnis yang dimiliki oleh perusahaan, baik yang berasal dari transaksi sehari-hari, maupun data dasar (master file). Isi database digunakan oleh software system. Basis model (model base) merupakan komponen software yang terdiri dari model-model yang digunakan dalam rutinitas komputasional (O'Brien, 2005). Skema tiga 5 5 6 komponen SPK tersebut dapat dilihat pada gambar 2.1. Gambar 2.1.: Skema komponen SPK Bagaimanapun juga harus diingat bahwa SPK tidak ditekankan untuk membuat suatu keputusan. SPK hanya berfungsi sebagai alat bantu manajemen dalam proses pengambilan keputusan. Jadi, SPK tidak dimaksudkan untuk menggantikan fungsi pengambil keputusan dalam proses pengambilan keputusan. Sistem ini dirancang hanyalah untuk membantu pengambil keputusan dalam melaksanakan tugasnya (Manurung, 2010). 2.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 yang telah disepakati. Inti dari FMADM adalah menentukan nilai bobot untuk setiap atribut, kemudian dilanjutkan dengan proses perankingan yang akan menyeleksi alternatif-alternatif yang sudah diberikan. Sebenarnya ada tiga pendekatan untuk mencari nilai bobot dari suatu atribut. Tiga pendekatan tersebut adalah pendekatan subyektif, pendekatan obyektif dan pendekatan perpaduan antara subyektif dan obyektif. Pendekatan subyektif adalah pendekatan dimana pada proses pemberian nilai bobot pada suatu alternatif ditentukan berdasarkan subyektivitas dari para pengambil keputusan, sehingga beberapa faktor dalam proses perankingan alternatif dapat ditentukan secara bebas. Sedangkan pendekatan obyektif dalam proses pemberian nilai bobotnya 7 memanfaatkan perhitungan secara matematis sehingga mengabaikan subyektivitas dari para pengambil keputusan (Kusrini, 2007). Ada beberapa metode yang dapat digunakan untuk menyelesaikan masalah FMADM, di antaranya (Kusrini, 2007): a. Simple Additive Weighting (SAW) Metode SAW sering juga dikenal dengan metode penjumlahan terbobot. Konsep dasar metode SAW adalah mencari penjumlahan terbobot dari rating kinerja pada setiapalternatifdari semua atribut. Metode SAW membutuhkan proses normalisasi matriks keputusan (X) ke suatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada. b. Weighted Product (WP) Metode WP juga disebut analisis berdimensi karena struktur matematikanya menghilangkan satuan ukuran (K Sarvitha, 2011). Metode WP adalah himpunan berhingga dari alternatif keputusan yang dijelaskan dalam beberapa hal kriteria keputusan. Jadi tidak perlu ada proses normalisasi. Dalam metode WP terdapat perkalian dalam perhitungan matematikanya. c. Elimination and Choise Expressing Reality (ELECTRE) ELECTRE merupakan salah satu metode pengambilan keputusan multikriteria berdasarkan pada konsep outranking dengan menggunakan perbandingan berpasangan dari alternatifalternatif berdasarkan setiap kriteria yang sesuai. ELECTRE digunakan untuk kasus-kasus dengan banyak alternatif namun hanya sedikit kriteria yang dilibatkan (Janko & Bernoider, 2005). d. TOPSIS Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) adalah salah satu metode pengambilan keputusan multikriteria yang pertama kali diperkenalkan oleh 8 Yonn dan Hwang pada tahun 1981. Dengan ide dasarnya adalah bahwa alternatif yang dipilih memiliki jarak terdekat dengan solusi ideal positif dan memiliki jarak terjauh dari solusi ideal negatif. e. Analytical Hierarchy Process (AHP) AHP memanfaatkan tingkat kepentingan dari setiap variabel. Variabel- variabel yang ada diberi nilai numerik secara subyektif tentang arti penting variabel tersebut secara relatif dibandingkan dengan variabel yang lainnya. Dari berbagai pertimbangan tersebut kemudian dilakukan sintesis untuk menetapkan variabel yang memiliki prioritas tinggi dan berperan untuk mempengaruhi hasil pada sistem tersebut. Pada laporan karya ilmiah ini hanya akan membahas metode AHP karena AHP dianggap tepat untuk mewakili pemikiran alamiah yang cenderung mengelompokkan elemen sistem ke level - level yang berbeda dari masing-masing level berisi elemen yang serupa dan juga menyediakan skala pengukuran dan metode untuk mendapatkan prioritas, karena masing masing kriteria memiliki prioritas yang tidak sama. Selain itu, metode AHP juga menyediakan skala pengukuran dan metode untuk mendapatkan prioritas untuk semua hirarki kriteria, karena masing masing kriteria memiliki prioritas yang tidak sama. (Dian. P, 2013) 2.3 Analytical Hierarchy Process (AHP) AHP adalah sebuah metode untuk memecahkan suatu permasalahan yang rumit dalam situasi yang tidak terstruktur menjadi bagian-bagian komponen. Mengatur bagian demi bagian menjadi suatu bentuk susunan hierarki, kemudian memberikan suatu nilai numerik untuk penilaian subyektif terhadap kepentingan relatif dari suatu variabel dan mensitesis suatu penilaian untuk variabel mana yang memiliki prioritas tertinggi yang akan memengaruhi penyelesaian dari situasi tersebut. AHP menggabungkan antara pertimbangan dan penilaian pribadi dengan cara yang logis dan dipengaruhi oleh imajinasi, pengetahuan untuk menyusun suatu hierarki, 9 intuisi dan juga pengalaman untuk memberikan pertimbangan. AHP merupakan suatu proses mengidentifikasi, mengerti dan memberikan perkiraan interaksi sistem secara keseluruhan (Saaty, 1994). Tahap-tahap dalam penggunaan metode AHP adalah sebagai berikut (Suryadi & Ramdhani, 1998): 1. Menyusun hierarki dan permasalahan yang sedang dihadapi. Penyusunan hierarki berupa penentuan tujuan yang merupakan sasaran sistem secara umum pada level paling atas. Level berikutnya terdiri dari kriteria-kriteria yang menjadi penilaian dan pertimbangan dari alternatif- alternatif yang ada dan menenentukan alternatif tersebut. Setiap kriteria memiliki subkriteria di bawahnya dan nilai intensitas masing-masing. 2. Menentukan Prioritas Elemen. • Membuat perbandingan berpasangan. Langkah pertama dalam penentuan prioritas elemen adalah membandingkan elemen secara berpasangan sesuai dengan kriteria yang diberikan. Untuk perbandingan berpasangan digunakan matriks. Matriks bersifat sederhana, berkedudukan kuat yang menawarkan kerangka untuk konsistensi, memperoleh informasi tambahan membuat semua perbandingan yang memeriksa dengan mungkin dan menganalisis kepekaan prioritas secara keseluruhan untuk mengubah pertimbangan. Untuk memulai proses perbandingan pasangan, dimulai dari level paling atas hierarki untuk memilih kriteria, misalnya C, kemudian dari level di bawahnya diambil elemen- elemen yang akan dibandingkan, misal A1, A2, A3 dan A4. Maka elemenelemen tersebut akan tersusun dalam sebuah matriks seperti yang terlampir pada tabel 2.1. Tabel 2.1.: Matriks perbandingan berpasangan C A1 A2 A3 A4 10 A1 1 A2 1 A3 1 A4 • 1 Mengisi matriks perbandingan berpasangan. Untuk menerapkan langkah ini, digunakan bilangan untuk merepresentasikan kepentingan relatif dari satu elemen terhadap elemen lainnya dari skala satu hingga sembilan untuk pertimbangan dalam perbandingan berpasangan elemen pada setiap level hierarki terhadap suatu kriteria di level yang lebih tinggi. Apabila suatu elemen dalam matriks dan dibandingkan dirinya sendiri, maka diberi nilai satu. Jika i dibandingkan dengan j mendapatkan nilai tertentu, maka j dibandingkan dengan I adalah nilai kebalikanya. Tabel 2.2. memberikan definisi beserta penjelasan skala kuantitatif dari satu hingga sembilan untuk menilai tingkat kepentingan suatu elemen dengan elemen lainnya. Tabel 2.2.: Skala kuantitatif dalam sistem pendukung keputusan Intesitas kepentingan Definisi Penjelasan Dua elemen mempunyai 1 Kedua elemen sama pentingnya yang pengaruh sama terhadap tujuan besar 11 Pengalaman Elemen yang satu sedikit lebih penting daripada elemen yang 3 penilaian sedikit menyokong elemen lainnya dan satu dibandingkan dengan elemen yang lainnya Pengalaman dan penilaian sangat kuat menyokong Elemen yang satu lebih penting 5 dari elemen yang lainnya elemen satu dibandingkan dengan elemen yang lainnya Satu elemen yang kuat 7 Satu elemen sangat penting disokong dan terlihat daripada elemen yang lainnya dominan dalam praktek Bukti yang mendukung 9 elemen Satu elemen mutlak lebih penting daripada elemen yang lainnya yang satu terhadap elemen yang lainnya memiliki tingkat penegasan yang paling yang tinggi mungkin menguatkan Nilai ini diberikan bila Nilai-nilai 2, 4, 6, 8 antara dua nilai pertimbangan yang berdekatan Kebalikan ada dua kompromi di antara dua pilihan Jika aktivitas i mendapatkan satu angka dibandingkan dengan aktivitas j, maka j mempunyai nilai kebalikan dengan i • Sintesis 12 Pertimbangan - pertimbangan terhadap perbandingan berpasangan perlu disintesis untuk memperoleh keseluruhan prioritas dengan langkah-langkah sebagai berikut : Menjumlahkan nilai-nilai dari setiap kolom pada matriks. Membagi setiap nilai dari kolom dengan total kolom yang bersangkutan untuk memperoleh normalisasi matriks. Menjumlahkan nilai-nilai dari setiap matriks dan membaginya dengan jumlah elemen untuk mendapatkan nilai rata-rata. Mengukur konsistensi Konsistensi memang penting untuk mendapatkan hasil yang valid di lapangan. pertimbangan dengan AHP mengukur konsistensi rasio konsistensi. Nilai konsistensi rasio harus kurang dari 5% untuk matriks 3x3, 9% untuk matriks 4x4 dan 10% untuk matriks yang lebih besar. Jika lebih dari rasio dari batas tersebut, maka nilai perbandingan matriks dilakukan kembali. Adapun langkah- langkahnya adalah: • Mengalikan nilai pada kolom pertama dengan prioritas relatif elemen pertama, nilai pada kolom kedua dengan prioritas relatif elemen kedua, dan seterusnya. • Menjumlahkan setiap baris. • Hasil dari penjumlahan baris dibagikan dengan elemen prioritas relatif yang bersangkutan. • Membagi hasil di atas dengan banyak elemen yang ada, hasilnya disebut dengan eigen vector (λmaks). • Menghitung indeks konsistensi dengan rumus (1). Keterangan: CI = Consistency Index 13 ßmaks = Eigen Vector n = banyaknya elemen • Menghitung consistency ratio seperti yang tertulis pada rumus (2). Keterangan: CI = Consistency Index CR = Consistency Ratio RC = Random Consistency Matriks random dengan skala satu sampai sembilan beserta kebalikannya sebagai Random Consistency (RC). Berdasarkan perhitungan Saaty, dengan menggunakan 500 sampel, jika pertimbangan memilih secara acak dari skala 1/9, 1/8,……8,9 akan diperoleh rata-rata konsistensi untuk matriks yang berbeda seperti pada tabel 2.3. Tabel 2.3.: Nilai rata-rata konsistensi Konsistensi Ukuran Acak 1 0,00 2 0,00 3 0,58 4 0,90 5 1,12 6 1,24 7 1,32 8 1,41 9 1,45 10 1,49 2.4 PHP PHP adalah bahasa pemrograman untuk dijalankan melalui halaman web, umumnya digunakan untuk mengolah informasi yang ada di 14 internet. Sedangkan dalam pengertian lain, PHP adalah singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan script yang menyatu dengan HTML dan berada pada server (Kurniawan, 2010). PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP adalah script yang dgunakan untuk membuat halaman web yang dinamis. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. PHP memiliki berbagai kelebihan dan kekurangan. Kelebihan dari PHP adalah sebagai berikut: • Bisa membuat web menjadi dinamis. • Bersifat open source. • Dapat dijalankan di semua sistem operasi. • Mendukung banyak paket database baik komersial maupun non- komersial. • Pengembangannya lebih mudah, karena banyaknya forum-forum yang membahas tentang perkembangan PHP. • Lebih mudah dipahami karena memiliki referensi yng cukup banyak. Sedangkan kekurangan dari PHP: • Permasalahan yang sering terjadi pada register_globals. • Tidak mengenal package. • Jika tidak di-encoding, maka kode PHP dapat dibaca oleh semua orang. • PHP memiliki kelemahan dalam hal keamanan. Kejelian dan kehati- hatian pemrogram diperlukan untuk dapat menangkal serangan dari pihak luar. 2.5 Basis Data Basis data menurut George Tsu-der Chou merupakan kumpulan informasi bermanfaat yang diorganisasikan ke dalam aturan yang khusus. 15 Informasi adalah data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang (Kadir, 1999). Sedangkan menurut Fabri dan Schwab basis data adalah sistem berkas terpadu yang dirancang terutama untuk meminimalkan duplikasi data. Dari beberapa definisi di atas, dapat dikatakan bahwa basis data mempunyai berbagai sumber data dalam pengumpulan data, bervariasi derajat interaksi kejadian dari dunia nyata, dirancang dan dibangun agar dapat digunakan oleh beberapa user untuk berbagai kepentingan (Waliyanto, 2000). Basis data memiliki peranan yang cukup penting dalam suatu instansi, kebanyakan adalah perusahaan. Informasi dapat diperoleh dengan cepat berkat data yang telah tersimpan ke dalam basis data. Sejauh ini basis data tidak hanya berguna bagi perusahaan saja, tetapi individu-individu dapat merasakan kebermanfaatan dari basis data. Para programmer dapat memanfaatkan basis data yang dikemas dalam bentuk DBMS untuk membuat aplikasi dinamis. Seorang bendahara dengan menggunakan Microsoft Access dapat mengamati data keuangan yang masuk atau keuangan yang keluar, sehingga laporan tersebut cukup berharga untuk keperluan laporan pertanggung jawaban si bendahara tersebut pada akhir masa jabatannya. Basis data dikelola dalam suatu perangkat yang bernama DBMS (Database Management System). Ada banyak perangkat DBMS, di antaranya adalah MySQL, PostgreSQL, Oracle Express Edition, dan lainlain. MySQL adalah salah satu jenis database server yang cukup terkenal. MySQL merupakan salah satu jenis RDBMS (Relational Database Management System). Operasi data yang menggunakan database pada umumnya mengikuti aturan yang sama, yaitu (Kurniawan, 2010): • Membuka koneksi dengan database server. • Memilih dan membuka database yang digunakan. • Mengirim perintah untuk mengambil, mengubah, dan atau menghapus data yang dibuat dalam bentuk query. • Mengakses hasil pengambilan data dengan query yang telah digunakan. 16 • 2.6 Mengakhiri atau menutup sambungan. Waterfall Process Model Menurut Pressman (2010, p39) model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini ada dua gambaran dari waterfall model. Fase-fase dalam model waterfall menurut referensi Pressman: Gambar 2.2 Waterfall Pressman 1. Communication Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. 2. Planning Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan. 3. Modeling Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, 17 arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement. 4. Construction Construction merupakan proses membuat kode. Coding atau pengkodean merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki. 5. Deployment Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala. 2.7 Unifield Modeling Language (UML) Menurut Nugroho (2010:6), ”UML (Unified Modeling Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma (berorientasi objek).” Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa UML adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek (Object Oriented programming). 18 Menurut Henderi (2008:5), Berikut ini adalah definisi mengenai 3 diagram UML: Use Case Diagram secara grafis menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Dengan kata lain use case diagram secara grafis mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna (user) mengharapkan interaksi dengan sistem itu. Use case secara naratif digunakan untuk secara tekstual menggambarkan sekuensi langkah-langkah dari setiap interaksi. Class Diagram menggambarkan struktur object sistem. Diagram ini menunjukkan class object yang menyusun sistem dan juga hubungan antara class object tersebut. Sequence Diagram secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada sekuensi sebuah use case atau operasi. Activity Diagram secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis maupun use case. Activity diagram dapat juga digunakan untuk memodelkan actionyang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dari action tersebut. 2.8 Entity Relationshp Diagram (ERD) ERD suatu komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut yang mempresentasikan seluruh fakta dari dunia nyata yang ditinjau (Jogiyanto, 2005). Tujuan utama dari penggambaran ERD adalah untuk menunjukkan obyek data atau entitas dan relasi atau hubungan yang ada di dalam obyek tersebut. Berikut ini adalah simbol-simbol yang sering digunakan untuk perancangan ERD: 1. Entitas Entitas merupakan kumpulan obyek atau suatu yang dapat atau dapat diidentifikasi secara unik, kumpulan entitas yang sejenis disebut entity set. 19 Gambar 2.2.: Gambar entitas 2. Relasi Relasi adalah hubungan yang terjadi antara satu entitas atau lebih. Kumpulan relasi yang sejenis disebut dengan relatioship set. Gambar 2.3.: Gambar relationship 3. Atribut Atribut dalah karakteristik dalam entitas atau relasi yang mengerjakan penjelasan lebih jelas tentang entitas atau dengan kata lain adalah kumpulan elemen data yang membentuk suatu entitas. Gambar 2.4.: Gambar atribut 20