SKRIPSI SISTEM PENDUKUNG KEPUTUSAN PENENTUAN DOSEN PEMBIMBING TUGAS AKHIR MENGGUNAKAN METODE WEIGHTED PRODUCT (WP)
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
FIRAYATI E1E1 11 084
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HALU OLEO KENDARI 2016
INTISARI Firayati, E1E111084 SISTEM PENDUKUNG KEPUTUSAN PENENTUAN DOSEN PEMBIMBING TUGAS AKHIR MENGGUNAKAN METODE WEIGHTED PRODUCT (WP) Kata Kunci : Dosen Pembimbing, Sistem Pendukung Keputusan, Weighted Product. Proses pengambilan keputusan dalam menentukan dosen pembimbing saat ini masih dilakukan secara manual dengan memperhatikan keahlian yang dimiliki dosen. Dalam penentuan dosen pembimbing, pihak program studi masih kurang efektif dalam memilih dosen pembimbing yang sesuai dengan judul yang dimiliki mahasiswa. Oleh, karena itu, dibutuhkan sebuah Sistem Pendukung Keputusan (SPK) yang dapat membantu program studi dalam menentukan dosen pembimbing yang sesuai dengan kriteria yang ditetapkan. Permasalahan tersebut dapat diselesaikan dengan menerapkan metode Weighted Product (WP) dalam pengambilan keputusan dengan memperhatikan kriteria yang menjadi prioritas yaitu status kepegawaian, jabatan fungsiona, keahlian, tanggung jawab, kuota, dan kebersediaan. Alternatif pilihan dengan bobot terbesarlah yang akan menjadi rekomendasi untuk dipilih sebagai dosen pembimbing. Berdasarkan hasil uji coba dan evaluasi yang telah dilakukan, maka sistem yang dibuat mampu memberikan informasi yang dapat membantu dalam menentukan dosen pembimbing.
v
ABSTRACT Firayati, E1E111084 Decision Support System for Selecting Mentor using Weighted Final Product (WP) Keywords: mentor, decision support system, weighted product Nowadays, decision making process in mentor selection at Information Engineering course still involving manual process by considering the expertise of each lecturer in particular subject. Wherein selecting mentor, the department works ineffective in mentor selecting who appropriate with student final project theme. Because of that, decision support system that could assist user in selecting mentor who appropriate with assigned criteria is needed. This issues can be resolved by applying WP method. The alternative options are employment status, functional position, skills, responsibility, quota and availability. Alternative options with the highest weight will become the recommendation to be selected as mentor. Based on the test and evaluation result, we can conclude that this system could assist in selecting the first and the second mentor for student.
v
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberikan segenap kekuatan, kesehatan, keteguhan dan kesabaran serta semua nikmat tak hingga, sehingga penulisan skripsi yang berjudul Sistem Pendukung Keputusan Penentuan Dosen Pembimbing Tugas Akhir Menggunakan Metode Weighted Product dapat terselesaikan sebagaimana mestinya. Salawat dan salam semoga tetap tercurahkan kepada Rasulullah Muhammad SAW serta para sahabat dan keluarganya. Penulis menyadari bahwa dalam penyusunan skripsi ini masih banyak terdapat kesalahan dan kekeliruan yang disebabkan keterbatasan penulis baik dari aspek pengetahuan, tenaga maupun materi. Oleh karena itu saran dan kritik yang bersifat membangun sangat diharapkan dari semua pihak demi kesempurnaan skripsi ini. Berbagai kesulitan dan hambatan penulis temui dalam penyusunan skripsi, namun atas rahmat Allah SWT, tekad dan kemauan yang keras terutama adanya bantuan, bimbingan dan dorongan dari berbagai pihak sehingga dapat diselesaikan dengan baik. Oleh karena itu, dengan segala kerendahan hati penulis menyampaikan terima kasih dan penghargaan yang setinggi-tingginya kepada Bapak Dr. Ir. Muh. Ihsan Sarita, M.KOM selaku pembimbing I dan Ibu Statiswaty, ST.,MMSI. selaku pembimbing II yang telah mengorbankan waktu dan pikiran dalam memberikan bimbingan, pengarahan dan diskusi sejak awal penulisan proposal hingga penyelesaian skripsi ini.
vii
Melalui kesempatan ini secara khusus, dengan hati yang tulus penulis menyampaikan terima kasih dan penghargaan yang tak terhingga kepada Ayahanda Hasanuddin A. dan Ibunda Salwiah, yang telah memberikan cinta dan kasih sayang dan membantu penulis baik dalam bentuk materi, doa dan motivasi dengan tulus dan ikhlas sehingga penyusunan dan penulisan skripsi ini dapat terselesaikan. Segenap keluarga besarku yang telah memberikan doa, dukungan, perhatian dan kasih sayang sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Semoga Allah SWT selalu melindungi dan melimpahkan rahmatnya kepada kita semua. Amin. Pada kesempatan ini pula tidak lupa penulis menyampaikan terima kasih yang tulus kepada : 1.
Bapak Prof. Dr. Ir. H. Usman Rianse, M.S., selaku Rektor Universitas Halu Oleo.
2.
Bapak Mustarum Musaruddin, ST., MIT, Ph.D. selaku Dekan Fakultas Teknik Universitas Halu Oleo.
3.
Ibu Ika Purwanti Ningrum, S.Kom.,M.Cs. selaku Ketua Jurusan Teknik Informatika.
4. Ibu Isnawaty, ST.,MT. selaku Sekretaris Jurusan Teknik Informatika. 5. Ibu Isnawaty, ST.,MT., Bapak LM. Fid Aksara, S.Kom.,M.Kom., Ibu Ika Purwanti Ningrum, S.Kom.,M.Cs., Sutardi, ST.,MT., dan Ibu Yuwanda Purnamwasari, ST.,M.Kom selaku dewan penguji yang telah memberikan ide dan saran bagi penulis dalam menyelesaikan tugas akhir.
viii
6. Bapak dan Ibu dosen Jurusan Teknik Informatika serta seluruh staf di lingkungan Fakultas Teknik, Universitas Halu Oleo, atas segala fasilitas dan pelayanan yang diberikan selama penulis menuntut ilmu pengetahuan di bangku kuliah. 7. Kakakku Hasniah, S.Pd., dan adik-adiku Hariyanto Arif dan Muhammad Fahry Rezkiyah yang menjadi motivasi serta penyemangat penulis untuk menyelesaikan penelitian ini serta si kecil Hafizha Azkadina Fadilla. 8. Teman-teman ku : Ellen Kiswanto, Berliana Mbot, Mas Bram, Fina Faradila, Sari Fatiqah, Ayunita, Amelia Malik, Muh. Syahid Ananto, La Israwan Hafiz, S.T, Ni Putu Yuli terima kasih untuk semuanya. 9. IT 2011: Vega Nataya, Ummi Hidayah, Helmiyanti, M. Usgan, Harley Sebastian, Niken Dwi, Rabiul, Moris Leo, Restu Hadi, Azkar Kumala, Helson Mandala, Firman Teguh, Irmaya Citra, Joy Juhrin, Yulianti Kusumawardani, Fandiansyah, Restin Welinda, Resti Idayani, Ichwan Utari, Ayu Septi, dan semuanya yang tak dapat disebutkan satu per satu terima kasih atas waktu, kebersamaan dan dukungannya selama penulis menjalankan studi di Teknik Informatika Universitas Halu Oleo. 10. Semua saudara-saudara, rekan-rekan, handai taulan di manapun berada, yang tidak dapat disebutkan namanya satu persatu.
ix
Akhirnya skripsi ini penulis persembahkan kepada segenap pembaca semoga bermanfaat dan berguna demi kepentingan Ilmu Pengetahuan dan Teknologi. Semoga Allah SWT meridhoi kita semua. Amin
Kendari, Penulis
FIRAYATI E1E111084
x
2016
DAFTAR ISI HALAMAN JUDUL ........................................................................................
i
HALAMAN PENGESAHAN ..........................................................................
ii
HALAMAN PERNYATAAN..........................................................................
iv
HALAMAN INTISARI....................................................................................
v
HALAMAN ABSTRAK ..................................................................................
vi
KATA PENGANTAR......................................................................................
vii
DAFTAR ISI ...................................................................................................
xi
DAFTAR TABEL ............................................................................................
xiii
DAFTAR GAMBAR........................................................................................
xv
BAB I PENDAHULUAN 1.1 LATAR BELAKANG ................................................................... 1.2 RUMUSAN MASALAH .............................................................. 1.3 BATASAN MASALAH................................................................ 1.4 TUJUAN........................................................................................ 1.5 MANFAAT ................................................................................... 1.6 SISTEMATIKA PENULISAN ..................................................... 1.7 TINJAUAN PUSTAKA ................................................................ BAB II LANDASAN TEORI 2.1 DEFINISI SISTEM ........................................................................ 2.2 SISTEM PENDUKUNG KEPUTUSAN ....................................... 2.2.1 Karakteristik Sistem Pendukung Keputusan ........................ 2.2.2 Komponen Sisitem Pendukung Keputusan ........................... 2.3 KONSEP PEMGAMBILAN KEPUTUSAN ................................. 2.3.1 Pengertian Keputusan ............................................................ 2.3.2 Klasifikasi Keputusan............................................................ 2.3.3 Tahapan Pengambilan Keputusan ......................................... 2.3.4 Kelebihan dan Kekurangan Sistem Pendukung Keputusan .. 2.4 Fuzzy Multiple Attribute Decision Making (FMADM).................. 2.5 Weighted Product (WP).................................................................. 2.6 UNIFIELD MODELING LANGUAGE (UML).............................. 2.6.1 Pengertian UML .................................................................... 2.6.2 Diagram-Diagram UML ........................................................
xi
1 2 2 2 3 3 4 6 7 10 10 12 12 12 13 14 15 16 17 17 18
2.7 Flowchart ...................................................................................... 2.8 BASIS DATA................................................................................. 2.9 C# ................................................................................................... BAB III METOLOGI PENELITIAN 3.1 WAKTU DAN TEMPAT PENELITIAN ...................................... 3.2 METODE PENGAMBILAN DATA ............................................. 3.3 METODE PENGEMBANGAN SISTEM...................................... BAB IV ANALISIS DAN PERANCANGAN SISTEM 4.1 GAMBARAN UMUM ................................................................... 4.1.1 Gambaran Umum Pengambilan Keputusan .......................... 4.1.2 Gambaran Umum Sistem yang Diusulkan ............................ 4.1.3 Activity Diagram Proses Weighted Product .......................... 4.2 ILUSTRASI METODE WP TERHADAP PERANCANGAN ..... APLIKASI...................................................................................... 4.3 PERANCANGAN SISTEM........................................................... 4.3.1 Use Case Diagram ................................................................ 4.3.2 Activity Diagram ................................................................... 4.3.3 Sequence Diagram................................................................. 4.4 Class Diagram................................................................................ 4.5 PERANCANGAN INTERFACE.................................................... BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM 5.1 IMPLEMENTASI SISTEM.......................................................... 5.2 IMPLEMENTASI ANTARMUKA SISTEM............................... 5.3 PENGUJIAN PERANGKAT LUNAK ........................................ BAB VI PENUTUP 6.1 KESIMPULAN............................................................................. 6.2 SARAN ......................................................................................... DAFTAR PUSTAKA
xii
23 25 26 28 28 29 31 31 31 32 33 41 41 43 44 48 49 52 52 71 81 81
DAFTAR TABEL
Tabel 2.1 Simbol Use Case Diagram ......................................................... 19 Tabel 2.2 Simbol Class Diagram................................................................ 21 Tabel 2.3 Simbol Activity Diagram ............................................................ 22 Tabel 2.4 Simbol Dalam Flowchart............................................................ 24 Tabel 3.1 Waktu Penelitian ......................................................................... 28 Tabel 4.1 Kriteria Keahlian......................................................................... 34 Tabel 4.2 Kriteria Jabatan Fungsional ........................................................ 35 Tabel 4.3 Kriteria Kuota ............................................................................. 35 Tabel 4.4 Kriteria Status ............................................................................. 36 Tabel 4.5 Kriteria Kebersediaan ................................................................. 36 Tabel 4.6 Kriteria Tanggung Jawab ............................................................ 37 Tabel 4.7 Kriteria Pembobotan Awal.......................................................... 37 Tabel 4.8 Penilaian Kriteria Alternatif ke 1 ................................................ 38 Tabel 4.9 Penilaian Kriteria Alternatif ke 2 ................................................ 38 Tabel 4.10 Penilaian Kriteria Alternatif ke 3 .............................................. 38 Tabel 4.11 Penilaian Alternatif ................................................................... 39 Tabel 4.12 Hasil Perangkingan ................................................................... 41 Tabel 4.13 Keterangan Diagram Use Case ................................................. 42 Tabel 5.1 Perbandingan Penentuan Dosen Pembimbing ............................ 63 Tabel 5.2 Pengujian Menu Hasil WP.......................................................... 71 Tabel 5.3 Pengujian Menu Hasil WP.......................................................... 72 Tabel 5.4 Pengujian Menu Data Dosen....................................................... 73 Tabel 5.5 Pengujian Menu Keahlian ........................................................... 74
xiii
Tabel 5.6 Pengujian Menu Keahlian Detail ................................................ 75 Tabel 5.7 Pengujian Menu Bimbingan........................................................ 78 Tabel 5.8 Pengujian Menu Laporan ............................................................ 78 Tabel 5.9 Pengujian Menu Bantuan ............................................................ 79 Tabel 5.10 Pengujian Menu Tentang .......................................................... 80
xiv
DAFTAR GAMBAR
Gambar 2.1 Conceptual Flowchart dan Detail Flowchart .....................
23
Gambar 4.1 Activity Sistem yang Diusulkan...........................................
32
Gambar 4.2 Activity Metode WP ............................................................
33
Gambar 4.3 Use Case Diagram...............................................................
42
Gambar 4.4 Activty Diagram...................................................................
43
Gambar 4.5 Sequence Dosen...................................................................
45
Gambar 4.6 Sequence Keahlian ..............................................................
46
Gambar 4.7 Sequnce Keahlian Detail .....................................................
47
Gambar 4.8 Class Diagram.....................................................................
48
Gambar 4.9 Rancangan Halaman Utama ................................................
49
Gambar 4.10 Rancangan Halaman Pembobotan.....................................
50
Gambar 4.11 Rancangan Halaman Dosen ..............................................
50
Gambar 4.12 Rancangan Halaman Keahlian ..........................................
51
Gambar 4.13 Rancangan Halaman Keahlian Detail ...............................
51
Gambar 5.1 Halaman Hasil WP ..............................................................
53
Gambar 5.2 Halaman Hasil Pengujian 1 .................................................
54
Gambar 5.3 Halaman Hasil Pengujian 2 .................................................
55
Gambar 5.4 Halaman Hasil Pengujian 3 .................................................
56
Gambar 5.5 Halaman Hasil Pengujian 4 .................................................
57
Gambar 5.6 Halaman Hasil Pengujian 5 .................................................
58
Gambar 5.7 Halaman Hasil Pengujian 6 .................................................
59
Gambar 5.8 Halaman Hasil Pengujian 7 .................................................
60
Gambar 5.9 Halaman Hasil Pengujian 8 .................................................
61
xiv
Gambar 5.10 Halaman Hasil Pengujian 9 ...............................................
62
Gambar 5.11 Halaman Form Penentuan Pembimbing............................
65
Gambar 5.12 Halaman Menu Dosen .......................................................
66
Gambar 5.13 Halaman Menu Dosen yang Sudah Dikonfimasi ..............
66
Gambar 5.14 Halaman Menu Keahlian...................................................
67
Gambar 5.15 Halaman Menu Keahlian Detail ........................................
68
Gambar 5.16 Halaman Menu Bimbingan ...............................................
68
Gambar 5.17 Halaman Menu Laporan....................................................
69
Gambar 5.18 Halaman Menu Bantuan....................................................
70
Gambar 5.19 Halaman Menu Tentang ....................................................
70
xv
BAB I PENDAHULUAN
1.1
Latar Belakang Tugas akhir adalah salah satu mata kuliah yang harus ditempuh oleh seorang
mahasiswa untuk memperoleh gelar sarjananya. Dalam menyelesaikan tugas akhir ini biasanya mahasiswa yang dalam proses penyusunan skripsi dibantu oleh 2 orang dosen pembimbing yang akan membimbing serta membantunya dalam penyusunan tugas akhir. Biasanya dalam menentukan calon dosen pembimbing terdapat beberapa dosen yang bisa menjadi dosen pembimbing, namun jumlah mahasiswa yang mengajukan tugas akhir lebih banyak dibanding dosen pembimbing. Sehingga dibutuhkan sistem yang dapat mendukung pengambilan keputusan dalam menentukan dosen pembimbing yang sesuai dengan judul tugas akhir mahasiswa. Sistem pendukung keputusan (SPK) adalah suatu sistem yang mampu menyediakan fungsi pengelolaan data berdasarkan suatu model tertentu, sehingga pengguna dari sistem tersebut dapat memilih alternatif keputusan yang terbaik. Hal yang perlu ditekankan adalah bahwa SPK bukanlah suatu tool pengambil keputusan, melainkan sebagai tool pendukung. SPK merupakan sistem yang bertujuan untuk menyediakan informasi, membimbing, memberikan prediksi, serta mengarahkan pengguna informasi agar dapat melakukan pengambilan keputusan dengan lebih baik dan berbasis fakta (evidence). Implementasi sistem pendukung keputusan banyak digunakan untuk kepentingan komersial karena sistem pendukung keputusan dipandang dapat memberikan penalaran secara cerdas dalam pengambilan keputusan melalui para ahli dengan bantuan komputer. Menentukan dosen pembimbing dibutuhkan pendukung atau kriteria yang menjadi pertimbangan dalam menuliskan nama dosen pembimbing yang bisa membimbing mahasiswa. Kriteria yang digunakan berdasarkan peraturan akademik
1
2
Universitas Halu Oleo, nomor: 4173a/UN29/SK/PP/2013. Sehingga itu, dari latar belakang di atas penulis berkeinginan menuangkan kedalam bentuk skripsi dan memberi judul โSistem Pendukung Keputusan Penentukan Dosen Pembimbing Tugas Akhir Menggunakan Metode Weighted Product (WP)โ.
1.2
Rumusan Masalah Berdasarkan latar belakang tersebut, maka penulis merumuskan masalah:
1. Bagaimana menerapkan metode Weigted Product (WP) pada Sistem Pendukung Keputusan penentuan dosen pembimbing tugas akhir? 2. Bagaimana merancang dan membangun Sistem Pendukung Keputusan penentukan dosen pembimbing Tugas Akhir menggunakan metode Weighted Product (WP)?
1.3
Batasan Masalah Adapun batasan masalah yang akan dibahas dalam sistem ini adalah:
1. Sistem dibangun dan dikembangkan dengan metode Weigted Product (WP) dengan kriteria di antaranya keahlian, jabatan fungsional, kuota, status kepegawaian, dan kebersediaan. Sebagai bahasa pemogramannya adalah C# dan SQL Server 2014 sebagai database-nya. 2. Setiap mahasiswa yang akan mengajukan judul skripsi diharuskan mengajukan 2 atau lebih judul skripsi. 3. Sistem Pendukung Keputusan penentuan dosen pembimbing Tugas Akhir ini hanya dapat dilihat oleh Kepala Jurusan. 4. Menampilkan, mencetak hasil dan menyimpan nama dosen pembimbing tugas akhir.
3
1.4
Tujuan Penelitian Adapun tujuan penelitian ini yaitu:
1. Menerapkan penggunaan metode WP dalam Sistem Pendukung Keputusan penentuan dosen pembimbing tugas akhir. 2. Membantu pengambil keputusan dalam menentukan dosen pembimbing tugas akhir.
1.5
Manfaat Penelitian Adapun manfaat dari penelitian ini adalah:
1. Diharapkan metode WP dapat diterapkan dalam Sistem Pendukung Keputusan penentuan dosen pembimbing tugas akhir. 2. Diharapkan sistem dapat membantu pengambil keputusan dalam menentukan dosen pembimbing tugas akhir.
1.6
Sistematika penulisan
BAB I PENDAHULUAN Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, sistematika penulisan dan tinjauan pustaka. BAB II LANDASAN TEORI Teori-teori penunjang yang berhubungan dengan penelitian berupa teori dari metode yang digunakan. BAB III METODOLOGI PENELITIAN Bab tiga berisi tahapan tentang proses dan metode yang akan digunakan dalam menentukan dosen pembimbing tugas akhir. BAB IV ANALISIS DAN PERANCANGAN DESAIN SISTEM Bab ini berisi tentang analisis pengujian data yang diteliti serta perancangan desain sistem yang akan diterapkan.
4
BAB V IMPLEMENTASI SISTEM Berisikan penjelasan tentang hasil pengujian data dalam penerapannya. BAB VI PENUTUP Berisi kesimpulan dan saran dari hasil pembahasan penelitian dan uji coba yang telah dilakukan.
1.7
Tinjauan Pustaka Beberapa kesimpulan penelitian tentang penerapan metode Weighted Product
(WP) dan penentuan dosen pembimbing tugas akhir diantaranya yaitu: Putra Jaya, 2013. Sistem Pendukung Keputusan Penentuan Bonus Karyawan Menggunakan Metode Weighted Product (WP). Berdasarkan hasil dari penelitian yang penulis lakukan mengenai implementasi metode Weighted Product untuk proses pendukung keputusan penentuan bonus karyawan yang telah dirancang, penulis dapat menulis kesimpulan adalah dengan adanya aplikasi ini akan lebih mudah bagi perushaan dalam pengambilan keputusan untuk menentukan bonus karyawan karena aplikasi ini lebih mudah dibandingkan sistem yang lama dan penyimpanan datanya lebih akurat. Penerapan metode weighted product cukup mudah digunakan sebagai cara untuk menentukan bonus karyawan karena langkah-langkah penyelesaiannya cukup sederhana.Perhitungan weighted product ada 3 tahap: penentuan nilai bobot W, penentuan nilai vektor S, dan penentuan nilai vektor V. Pristiwanto, 2014 dalam majalah ilmiah Informasi dan Teknologi Ilmiah (INTI) dengan judul Sistem Pendukung Keputusan dengan Metode Simple Additive Weighting untuk Menetukan Dosen Pembimbing Skripsi berkesimpulan bahwa setelah dilakukan analisis dan perancangan sistem menggunakan FMADM dalam penentuan dosen pembimbing skripsi menggunakan metode Simpel Additive Weighting (SAW), maka berdasarkan pengujian yang telah dilakukan untuk setiap kriteria dengan menggunakan metode SAW, menunjukkan bahwa hasil perhitungan dari sistem telah sesuai dengan hasil perhitungan secara manual, sehingga dapat dinyatakan bahwa aplikasi telah berhasil mengimplementasikan metode SAW dengan
5
baik. Dengan adanya perancangan menggunakan metode Simple Additive Weighting (SAW) dalam menentukan dosen pembimbing dapat dijadikan sebagai tolak ukur oleh perguruan
tinggi
dalam
menentukan
dosen
pembimbing.
Dari
penerapan
menggunakan metode Simple Additive Weighting (SAW) dalam sistem pendukung keputusan mampu memberikan perhitungan perankingan dan solusi siapa yang layak menjadi pembimbing I dan pembimbing II yang telah disediakan oleh pihak kampus dengan pembuktian pembangunan sistem pendukung keputusan untuk mencari alternatif terbaik. Ingot Seen Sianturi, 2013 dalam majalah ilmiah Informasi dan Teknologi Ilmiah (INTI) dwngan judul Sistem Pendukung Keputusan Untuk Menentukan Pemilihan Jurusan Siswa dengan Metode Weighted Product berkesimpulan bahwa Metode Weighted Product (WP), dapat membantu dalam mengambil keputusan untuk menentukan penjurusan siswa. Dengan menggunakan metode Weighted Product (WP) proses penjurusan siswa lebih efisien sehingga siswa lebih cepat mendapatkan informasi tentang penjurusan. Dengan menggunakan Sistem pendukung keputusan dan database, data siswa atau nilai penjurusan siswa dapat disimpan di dalamnya, sehingga jika terjadi kesalahan dalam penginputan nilai atau data siswa, maka data yang salah tersebut dapat diperbaiki tanpa harus menginput ulang nilai atau data siswa.
BAB II LANDASAN TEORI
2.1
Definisi Sistem Menurut Hanif Al Fatta, 2007 definisi sistem berkembang sesuai dengan
konteks di mana pengertian sistem itu digunakan. Berikut diberikan beberapa definisi sistem secara umum yaitu: 1. Kumpulan dari bagian-bagian yang bekerjasama untuk mencapai tujuan yang sama 2. Sekumpulan objek-objek yang saling berelasi dan berinteraksi serta hubungan antar objek bisa dilihat sebagai satu kesatuan yang dirancang untuk mencapai satu tujuan. Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variabel-variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung samalain. Setelah mengetahui beberapa definisi dari sistem, suatu sistem harus memiliki beberapa karakteristik, ada delapan karakteristik sistem yaitu: 1.
Komponen Sistem (Components) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerjasama membentuk satu kesatuan.
2.
Batasan Sistem/Ruang lingkup Sistem (Boundary) Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem yang lain atau sistem dengan lingkungan luar.
3.
Lingkungan luar (Environment) Bentuk apapun yang ada di luar ruang lingkup atau batasan sistem yang mempengaruhi operasi sistem disebut lingkungan luar sistem.
6
7
4.
Penghubung Sistem (Interface) Media yang menghubungkan sistem dengan subsistem lain disebut penghubung sistem atau Interface.
5.
Masukan Sistem (Input) Energi yang dimasukkan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharaan (maintenace) dan sinyal (signal input).
6.
Keluaran Sistem (Output) Hasil energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna.
7.
Pengolah Sistem (proses) Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan menjadi keluaran.
8.
Sasaran Sistem (Objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministic (Tata Sutabri, 2005). Dalam karakteristik sistem yang telah disebutkan sebelumnya, suatu sistem
memerlukan masukan (input) yang akan diproses dan akan menghasilkan keluaran (output). Salah satu input dari sebuah sistem dapat berupa informasi. Informasi sangat penting bagi suatu sistem. Suatu sistem yang kurang mendapatkan informasi akan menjadi luruh, kerdil dan akhirnya berakhir (Jogiyanto, 1989).
2.2
Sistem Pendukung Keputusan Sistem Pendukung Keputusan (SPK) atau Decision Support System (DSS)
adalah sebuah sistem yang mampu memberikan kemampuan pemecahan masalah maupun kemampuan pengkomunikasian untuk masalah dengan kondisi semi terstruktur dan tak terstruktur. Sistem ini digunakan untuk membantu pengambilan keputusan dalam situasi semi terstruktur dan situasi yang tidak terstruktur, dimana tak seorangpun tahu secara pasti bagaimana keputusan seharusnya dibuat (Turban, 2001).
8
SPK bertujuan untuk menyediakan informasi, membimbing, memberikan prediksi serta mengarahkan kepada pengguna informasi agar dapat melakukan pengambilan keputusan dengan lebih baik. SPK merupakan implementasi teori-teori pengambilan keputusan yang telah diperkenalkan oleh ilmu-ilmu seperti operation research dan menegement science, hanya bedanya adalah bahwa jika dahulu untuk mencari penyelesaian masalah yang dihadapi harus dilakukan perhitungan iterasi secara manual (biasanya untuk mencari nilai minimum, maksimum, atau optimum), saat ini komputer PC telah menawarkan kemampuannya untuk menyelesaikan persoalan yang sama dalam waktu relatif singkat. Sprague dan Watson mendefinisikan Sistem Pendukung Keputusan (SPK) sebagai sistem yang memiliki 5 karakteristik utama yaitu (Sprague et.al, 1993): 1.
Sistem yang berbasis komputer.
2.
Dipergunakan untuk membantu para pengambil keputusan
3.
Untuk memecahkan masalah-masalah rumit yang mustahil dilakukan dengan kalkulasi manual
4.
Melalui cara simulasi yang interaktif
5.
Dimana data dan model analisis sebaai komponen utama. Sistem pendukung keputusan adalah suatu pendekatan sistematis pada hakekat
suatu masalah, pengumpulan fakta-fakta penentu yang matang dari alternatif yang dihadapi dan pengambilan tindakan yang paling tepat (Kadarsih Suryadi, 2000). Sistem pendukung keputusan adalah suatu sistem berbasis komputer yang menghasilkan berbagai alternatif keputusan untuk membantu manajemen dalam menangani berbagai permasalahan yang terstruktur ataupun tidak terstruktur dengan menggunakan data dan model (Dadan Umar Daihani, 2001). Untuk menghasilkan
9
keputusan yang baik di dalam sistem pendukung keputusan, perlu didukung oleh informasi dan fakta-fakta yang berkualitas antara lain: 1.
Aksebilitas Atribut ini berkaitan dengan kemudahan mendapatkan informasi, informasi akan lebih berarti bagi si pemakai kalau informasi tersebut mudah didapat, karena akan berkaitan dengan aktifitas dari nilai informasinya.
2.
Kelengkapan Atribut ini berkaitan dengan kelengkapan isi informasi, dalam hal ini isi tidak menyangkut hanya volume tetapi juga kesesuaian dengan harapan si pemakai sehingga sering kali kelengkapan ini sulit diukur secara kuantitatif.
3.
Ketelitian Atribut ini berkaitan dangan tingkat kesalahan yang mungkin di dalam pelaksanaan pengolahan data dalam jumlah (volume) besar. Dua tipe kesalahan yang sering terjadi yaitu berkaitan dengan perhitungan.
4.
Ketepatan Atribut ini berkaitan dengan kesesuaian antara informasi yang dihasilkan dengan kebutuhan pemakai. Sama halnya dengan kelengkapan, ketepatan pun sangat sulit diukur secara kuantitatif.
5.
Ketepatan Waktu Kualitas informasi juga sangat ditentukan oleh ketepatan waktu penyampaian dan aktualisasinya. Misalkan informasi yang berkaitan dengan perencanaan harian akan sangat berguna kalau disampaikan setiap dua hari sekali.
6.
Kejelasan Atribut ini berkaitan dengan bentuk atau format penyampaian informasi. Bagi seorang pimpinan, informasi yang disajikan dalam bentuk grafik, histogram, atau gambar biasanya akan lebih berarti dibandingkan dengan informasi dalam bentuk katakata yang panjang.
10
7.
Fleksibilitas Atribut ini berkaitan dengan tingkat adaptasi dari informasi yang dihasilkan terhadap kebutuhan berbagai keputusan yang akan diambil dan terhadap sekelompok pengambil keputusan yang berbeda.
2.2.1
Karakteristik Sistem Pendukung Keputusan Karakteristik sistem pendukung keputusan adalah:
1.
Sistem Pendukung Keputusan dirancang untuk membantu pengambil keputusan dalam memecahkan masalah yang sifatnya semi terstruktur ataupun tidak terstruktur.
2. Dalam pengolahan pengambilan keputusannya, sistem pendukung keputusan menggunakan model-model analisis dengan masukkan data serta fungsifungsi pencari informasi. 3. Sistem Pendukung Keputusan, dirancang sedemikian rupa sehingga dapat digunakan/dioperasikan dengan mudah. 4. Sistem Pendukung Keputusan dirancang dengan menekankan pada aspek fleksibilitasserta kemampuan adaptasi yang tinggi 2.2.2
Komponen Sistem Pendukung Keputusan Menurut Aji Supriyanto (2005) Sistem Pendukung Keputusan dibangun oleh
tiga komponen, yaitu: 1.
Database Sistem Database adalah kumpulan semua data yang dimiliki oleh perusahaan baik data dasar maupun transaksi sehari-hari.
2.
Model base Model base adalah suatu model yang merepresentasikan permasalahan dalam format kuantitatif.
11
3.
Software System Software System adalah paduan antara database dan model base, setelah sebelumnya direpresentasikan ke dalam bentuk model yang dimengerti oleh sistem komputer. Sedangkan menurut Tata Sutabri (2005) SPK terdiri dari 4 komponen, yaitu:
1.
Dialog Alat untuk berinteraksi antara komputer dengan pemakainya. Pemakai harus bisa mengerti arti informasi yang dihasilkan. Ini berarti, sistem (komputer beserta programnya) mudah dipakai (user friendly). Ditinjau dari sudut pemakainya, pemakai harus pula belajar dan berlatih cara penggunaannya serta arti yang dihasilkan.
2.
Model Model serta sistem yang membolehkan pemakai memilih model yang cocok. Tiga macam model yang biasa digunakan adalah: a. Optimalisasi: mencari yang terbaik. Contohnya membuat jadwal, membuat perbandingan linear programming, simulasi, dan lain sebagainya. b. Statistik/matematis: menggambarkan masalah dengan standar kuantifikasi yang ada. Contohnya forecasting, fungsi kemungkinan (probabilitas), proyeksi penjualan, dan lain sebagainya. c. Financial, mencari kesempatan yang baru yang lebih menguntungkan. Contohnya: investasi, cash flow, manajemen resiko, dan lain sebagainya.
3.
Database Menurut Indira Rakanita (2008) database adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu.
12
4.
Data Data adalah suatu angka atau kelompok angka yang mempunyai arti atau nilai (Paulus Bambangwirawan, 2004).
2.3
Konsep Pengambilan Keputusan
2.3.1
Pengertian Keputusan Keputusan adalah suatu reaksi terhadap beberapa solusi alternatif yang
dilakukan secara sadar dengan cara menganalisa kemungkinan-kemungkinan dari alternatif tersebut bersama konsekuensinya. Setiap keputusan akan membuat pilihan terakhir, dapat berupa tindakan atau opini. Itu semua bermula ketika kita perlu untuk melakukan sesuatu tetapi tidak tahu apa yang harus dilakukan. Untuk itu keputusan dapat dirasakan rasional atau irrasional dan dapat berdasarkan asumsi kuat atau asumsi lemah. Menurut Rachmawati Fitria.R (2011) Pengambilan keputusan adalah sebuah proses memilih tindakan (di antara berbagai alternatif) untuk mencapai suatu tujuan atau beberapa tujuan. Dimana keputusan harus mencakup komponen-komponen utama yaitu: a. Subsistem manajemen data b. Subsistem manajemen model c. Subsistem antarmuka pengguna d. Subsestem manajemen berbasis pengetahuan (Pristiwanto, 2014). 2.3.2
Klasifikasi Keputusan Keputusan adalah suatu reaksi terhadap beberapa solusi alternatif yang
dilakukan secara sadar dengan cara menganalisa kemungkinan - kemungkinan dari alternatif tersebut bersama konsekuensinya.
13
Keputusan diklasifikasikan menjadi tiga (OโBrien, 2005), yaitu: 1.
Keputusan Terstruktur Keputusan terstruktur melibatkan situasi dimana prosedur yang diikuti ketika keputusan diperlukan, dapat disebutkan lebih awal. Contoh: Keputusan pemesanan ulang persediaan yang dihadapi oleh kebanyakan bisnis.
2.
Keputusan Tak Terstruktur Keputusan tak terstruktur melibatkan situasi keputusan dimana tidak mungkin menentukan lebih awal mengenai prosedur keputusan yang harus diikuti.
3.
Keputusan Semiterstruktur Beberapa prosedur keputusan dapat ditentukan, namun tidak cukup untuk mengarah ke suatu keputusan yang direkomendasikan.
2.3.3
Tahapan Pengambilan Keputusan Pengambilan keputusan merupakan proses pemilihan alternatif tindakan untuk
mencapai tujuan atau sasaran tertentu. Pengambilan keputusan dilakukan dengan pendekatan sistematis terhadap permasalahan melalui proses pengumpulan data menjadi informasi serta ditambah dengan faktor โ faktor yang perlu dipertimbangkan dalam pengambilan keputusan. Untuk menghasilkan keputusan yang baik ada beberapa tahapan proses yang harus dilalui dalam pengambilan keputusan. Menurut Julius Hermawan (2002:3), proses pengambilan keputusan melalui beberapa tahap berikut: 1.
Tahap Penelusuran (intelligence) Tahap ini pengambil keputusan mempelajari kenyataan yang terjadi, sehingga kita bisa mengidentifikasi masalah yang terjadi biasanya dilakukan analisis dari sistem ke subsistem pembentuknya sehingga didapatkan keluaran berupa dokumen pernyataan masalah.
2.
Tahap Desain Dalam tahap ini pengambil keputusan menemukan, mengambangkan dan menganalisis semua pemecahan yang mungkin yaitu melalui pembuatan model
14
yang bisa mewakili kondisi nyata masalah. Dari tahapan ini didapatkan keluaran berupa dokumen alternatif solusi. 3.
Tahap Choice Dalam tahap ini pengambil keputusan memilih salah satu alternatif pemecahan yang dibuat pada tahap desain yang dipandang sebagai aksi yang paling tepat untuk mengatasi masalah yang sedang dihadapi. Dari tahap ini didapatkan dokumen solusi dan rencana implementasinya.
4.
Tahap Implementasi Pengambil keputusan menjalankan rangkaian aksi pemecahan yang dipilih di tahap choice. Implementasi yang sukses ditandai dengan terjawabnya masalah yang dihadapi, sementara kegagalan ditandai masih adanya masalah yang sedang dicoba untuk diatasi. Dari tahap ini didapatkan laporan pelaksanaan solusi dan hasilnya.
2.3.4
Kelebihan dan Kekurangan Sistem Pendukug Keputusan Sistem Pendukung Keputusan (SPK) memberikan beberapa keuntungan bagi
pemakainya. Menurut Turban (1995) maupun McLeod (1995) keuntungankeuntungan tersebut meliputi: 1.
Memperluas kemampuan pengambil keputusan dalam memproses data/informasi untuk pengambilan keputusan.
2.
Menghemat waktu yang dibutuhkan untuk memecahkan masalah, terutama berbagai masalah yang sangat kompleks dan tidak terstruktur.
3.
Menghasilkan solusi dengan lebih cepat dan hasilnya dapat diandalkan.
4.
Mampu memberikan berbagai alternatif dalam pengambilan keputusan, meskipun seandainya Sistem Pendukung Keputusan (SPK) tidak mampu memecahkan masalah yang dihadapi oleh pengambil keputusan, namun dapat digunakan sebagai stimulan dalam memahami persoalan.
5.
Memperkuat keyakinan pengambil keputusan terhadap keputusan yang diambilnya.
15
6.
Memberikan keuntungan kompetitif bagi organisasi secara keseluruhan dengan penghematan waktu, tenaga dan biaya. Walaupun dirancang dengan sangat teliti dan mempertimbangkan seluruh
faktor yang ada, menurut Turban (1995) Sistem Pendukung Keputusan (SPK) mempunyai kelemahan atau keterbatasan diantaranya yaitu: 1.
Ada beberapa kemampuan manajemen dan bakat manusia yang tidak dapat dimodelkan, sehingga model yang ada dalam sistem tidak semuanya mencerminkan persoalan sebenarnya.
2.
Sistem Pendukung Keputusan (SPK) terbatas untuk memberikan alternatif dari pengetahuan yang diberikan kepadanya (pengetahuan dasar serta model dasar) pada waktu perancangan program tersebut.
3.
Proses-proses yang dapat dilakukan oleh Sistem Pendukung Keputusan (SPK) biasanya tergantung juga pada kemampuan perangkat lunak yang digunakan.
4.
Harus selalu diadakan perubahan secara kontinyu untuk menyesuaikan dengan keadaan lingkungan yang terus berubah agar sistem tersebut selalu up to date.
5.
Perlu diingat bahwa Sistem Pendukung Keputusan (SPK) dirancang untuk membantu/mendukung pengambilan keputusan dengan mengolah informasi dan data yang diperlukan dan bukan untuk mengambil alih pengambilan keputusan.
2.4
Fuzzy Multiple Attribute Decision Making (FMADM) Fuzzy Multiple Attribute Decision Making (FMADM) adalah metode yang
digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu. FMADM menentukan nilai bobot untuk setiap atribut, lalu melakukan proses perankingan dari alternatif yang sudah ada. FMADM mempunyai tiga pendekatan untuk mencari nilai atribut, yaitu secara subyektif, obyektif, dan integrasi antara subyektif dan obyektif. Berikut beberapa metode yang bisa digunakan untuk menyelesaikan masalah FMADM (Kusumadewi, 2006).
16
1. Simple Additive Weighting (SAW) 2. Weighted Product (WP) 3. ELECTRE 4. Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) 5. Analytic Hierarchy Process (AHP)
2.5
Weighted Product (WP) Menurut Yoon 1989, WP menggunakan perkalian untuk menghubungkan
rating atribut, dimana rating setiap atribut harus dipangkatkan dulu dengan bobot yang bersangkutan. Proses ini samahalnya dengan proses normalisasi. Preferensi untuk alternatif Si diberikan sebagai berikut (Kusumadewi, 2006):
๐ค๐
Si = โ๐๐=1 ๐๐๐
โฆโฆโฆ.(1)
dengan i = 1,2,โฆ,m. dimana : S: Preferensi alternatif dianologikan sebagai vektor S X: Nilai kriteria W: Bobot kriteria/subkriteria I: Alternatif j: Kriteria n: Banyaknya kriteria dimana ฮฃWj = 1 .Wj adalah pangkat bernilai positif untuk atribut keuntungan dan bernilai negatif untuk atribut biaya. Preferensi relatif dari setiap alternatif, diberikan sebagai:
17
๐ฑ๐
V1 =
๐=1 ๐๐ ๐ ๐ค๐ ๐ฑ๐ ๐=1( ๐๐ ๐) ๐ค๐
โฆโฆโฆโฆโฆโฆ(2)
Langkah โ langkah menggunakan metode WP: 1.
Mengalikan seluruh atribut bagi sebuah alternatif dengan bobot sebagai pangkat positif untuk atribut manfaat dan bobot berfungsi sebagai pangkat negatif pada atribut biaya.
2.
Hasil perkalian dijumlahkan untuk menghasilkan nilai pada setiap alternatif.
3.
Mencari nilai alternatif dengan melakukan langkah yang sama seperti langkah satu, hanya saja menggunakan nilai tertinggi untuk setiap atribut tertinggi untuk setiap atribut manfaat dan terendah untuk atribut biaya.
4.
Membagi nilai V bagi setiap alternatif dengan nilai standar (V(A*)) yang menghasilkan R.
5.
Ditemukan urutan alternatif terbaik yang akan menjadi keputusan (Wahyu, 2012).
2.6
UNIFIELD MODELING LANGUAGE (UML)
2.6.1 PENGERTIAN UML Pengertian UML menurut Adi Nugroho (2010) Unifield Modeling Language (UML) 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. Bahasa permodelan grafis telah ada di industri perangkat lunak sejak lama. Pemicu utama dibalik semuanya adalah bahwa bahasa pemrograman berada pada
18
tingkat abstrasi yang terlalu tinggi untuk memfasilitasi diskusi tenteng desain dengan menggunakan notasi-notasi seperti UML, alur logika dari perangkat lunak yang akan dikembangkan bisa mudah dipahami. UML merupakan sebuah standar permodelan untuk bahasa pemrograman berorientasi objek. UML merupakan sebuah standar yang relative terbuka yang dikontrol oleh Object Management Group (OMG), sebuah konsorium yang terdiri dari banyak perusahaan (Martin Fowler, 2004:1). OMG bertugas untuk membuat standar-standar yang mendukung interoperabilitas khususnya interoperabilitas system berorientasi objek. Selain sebagai notasi untuk membantu memudahkan memahami alur logika dari sebuah perangkat lunak yang akan dikembangkan, UML juga biasa digunakan pada proses reverse engineering. Reverse engineering, merupakan tahapan pembuatan notasi-notasi UML dari kode-kode program yang telah dibuat .dengan reverse engineering, anda menggunakan sketsa untuk menjelaskan bagaimana beberapa bagian sebuah sistem bekerja (Martin Fowler, 2004). 2.6.2 DIAGRAM - DIAGRAM UML Seperti yang telah dikemukakan sebelumnya, UML merupakan tool yang tepat untuk memodelkan sebuah rancangan perangkat lunak. Seperti halnya tool untuk memodelkan perangkat lunak terstruktur, UML pun memiliki diagram-diagram tertentu dan terstandar. Notasi yang digunakan dalam permodelan UML, yaitu: 1.
Use case Diagram Use case Diagram menjelaskan mengenai aktor-aktor yang terlibat dengan
perangkat lunak yang dibangun beserta proses-proses yang ada didalamnya.
19
Tabel 2.1 Simbol Use Case Diagram NO
GAMBAR
NAMA
KETERANGAN Menspesifikasikan
1
Actor
himpuan
peran yang pengguna mainkan ketika berinteraksi dengan use case. Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri
2
Dependency
(independent)
mempengaruhi bergantung yang
elemen
padanya tidak
akan yang elemen
mandiri
(independent). Hubungan dimana objek anak (descendent) berbagi perilaku 3
Generalization
dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
4
Include
Menspesifikasikan bahwa use case sumber secara eksplisit. Menspesifikasikan bahwa use
5
Extend
case
target
memperluas
perilaku dari use case sumber pada suatu titik yang diberikan.
20
Apa 6
Association
yang
menghubungkan
antara objek satu dengan objek lainnya.
Menspesifikasikan paket yang 7
System
menampilkan
sistem
secara
terbatas.
Deskripsi dari urutan aksi-aksi 8
Use Case
yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor Interaksi
aturan-aturan
dan
elemen lain yang bekerja sama 9
Collaboration
untuk
menyediakan
prilaku
yang lebih besar dari jumlah dan
elemen-elemennya
(sinergi). Elemen fisik yang eksis saat 10
Note
aplikasi
dijalankan
dan
mencerminkan suatu sumber daya komputasi
2.
Class diagram Class diagram adalah diagram yang digunakan untuk menampilkan beberapa
kelas yang ada dalam sistem perangkat lunak yang akan dikembangkan. Class
21
diagram menunjukan hubungan antar kelas dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai satu tujuan. Tabel 2.2 Simbol Class Diagram NO
GAMBAR
NAMA
KETERANGAN Hubungan dimana objek anak (descendent) berbagi perilaku
1
Generalization dan struktur data dari objek yang ada di atasnya objek induk (ancestor). Upaya
2
untuk
menghindari
Nary
asosiasi dengan lebih dari 2
Association
objek.
Himpunan dari objek-objek 3
Class
yang berbagi atribut
serta
operasi yang sama. Deskripsi dari urutan aksi-aksi 4
Collaboration
yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor
5
Realization
Operasi
yang
benar-benar
dilakukan oleh suatu objek.
22
Hubungan dimana perubahan yang terjadi pada suatu elemen 6
Dependency
mandiri (independent) akan mempegaruhi
elemen
yang
bergantung padanya elemen yang tidak mandiri Apa 7
Association
yang
menghubungkan
antara objek satu dengan objek lainnya
3.
Activity diagram Activity diagram adalah salah satu cara untuk memodelkan event-event yang
terjadi dalam suatu use case. Tabel 2.3 Simbol Activity Diagram NO GAMBAR
NAMA
KETERANGAN Memperlihatkan
1
Actifity
masing-masing
bagaimana kelas
antarmuka
saling berinteraksi satu sama lain State 2
Action
dari
sistem
yang
mencerminkan eksekusi dari suatu aksi
3
4
Initial Node
Bagaimana objek dibentuk atau diawali.
Actifity
Bagaimana objek dibentuk dan
Final Node
dihancurkan
23
Fork Node
5
Satu aliran yang pada tahap tertentu berubah menjadi beberapa aliran
2.7 Flowchart Bagan alir (flowchart) adalah bagan (chart) yang menunjukan hasil (flow) didalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi (Jogiyanto, 2005). Flowcart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelsaian suatu masalah. Flowcart merupakan cara penyajian dari suatu algoritma.
Gambar 2.1 Conceptual flowchart dan Detail flowchart
Gambar diatas merupakan contoh program flowchart yaitu bagan yang memperlihatkan urutan dan hubungan proses dalam suatu program. Ada dua jenis metode penggambaran program flowchart, yaitu: 1.
Conceptual flowchart yang menggambarkan alur pemecahan masalah secara global.
24
2.
Detail flowchart yang menggambarkan alur pemecahan masalah secara rinci.
Simbol-simbol yang di pakai dalam flowchart dibagi menjadi 3 kelompok, yaitu flow direction symbols yang digunakan untuk menghubungkan simbol satu dengan yang lain, processing symbols untuk menunjukan jenis operasi pengolahan dalam suatu proses /prosedur dan input/output symbols untuk menunjukkan jenis peralatan yang digunakan sebagai media input atau output (Al-Bahra, 2005). Tabel 2.4 Simbol-simbol Dalam Flowchart NO. GAMBAR NAMA Proses 1. Input / Output
KETERANGAN Mempresentasikan operasi. Mempresentasikan Input data atau Output
2.
data
yang
diproses
atau informasi. Keputusan 3.
dalam
program. Dokumen
4.
5.
Keputusan
Dokument I / O dalam format cetak.
Terminal points
Awal
/
akhir
flowchart. Preparation
6.
Pemberian
harga
awal. Manual input
7.
Input
yang
dimasukkan
secara
manual dari keyboard. 8.
Penghubung
Keluar dari
atau bagian
masuk lain
25
flowchart khususnya Penghubung
Keluar atau masuknya dari
9.
bagian lain flowchart khususnya
halaman
lain. Display 10.
yang
ditampilkan
pada
terminal
Anak panah
11.
2.8
Output
Mempresentasikan alur kerja.
Basis Data (Database) Menurut Kristanto (2004) pengertian Basis Data (Database) adalah kumpulan
file-file yang mempunyai kaitan antara satu file dengan file lain sehingga membentuk satu bangunan data untuk menginformasikan suatu perusahaan instansi, dalam batasan tertentu. Menurut Connolly (2010) database adalah suatu kumpulan data yang saling berhubungan secara logis dan penjelasan tentang data yang terhubung tersebut dirancang sedemikian rupa sehingga dapat memberikan informasi yang diperlukan oleh organisasi. Basis Data (Database) adalah kumpulan file-file yang saling terkait antara file satu dengan file lainnya yang disusun dengan aturan tertentu yang dpat memudahkan pengguna dalam mengolah dan memperoleh informasi. Selain itu database dapat pula didefinisikan sebagai kumpulan file, tabel, atau arsip yang saling terhubung yang disimpan dalam media elektronik.
26
Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat menghidari duplikasi data, hubungan antar data yang tidak jelas, organisasi data, dan juga update yang rumit.
2.9
Bahasa Pemrograman C# C# (dibaca โSee-Sharpโ) adalah bahasa pemrograman baru yang diciptakan
oleh Microsoft (dikembangkan dibawah kepemimpinan Anders Hejlsberg yang notabene juga telah menciptakan berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan Borland Delphi). Bahasa C# juga telah di standarisasi secara internasional oleh ECMA. Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services. Ada beberapa alasan kenapa memilih C#, yaitu (Kurniawan et al., 2004): 1.
Sederhana (simple) C# menghilangkan beberapa hal yang bersifat kompleks yang terdapat dalam beberapa macam bahasa pemrograman seperti Java dan C++, termasuk diantaranya mengilangkan macro, templates, multiple inheritance dan virtual base classes.
2.
Modern Hal yang membuat C# menjadi suatu bahasa pemrograman yang modern adalah adanya beberapa fitur seperti exception handling, garbage collection, extensible data types, dan code security (keamanan kode/bahasa pemrograman).
3.
Object-Oriented Language Kunci dari bahasa pemrograman yang bersifat Object Oriented adalah encapsulation, inheritance, dan polymorphism. Sifat-sifat tersebut di atas, telah di miliki oleh C# sehingga bahasa C# merupakan bahasa yang bersifat Object Oriented.
4.
Powerfull dan fleksibel C# bisa digunakan untuk membuat berbagai macam aplikasi, seperti aplikasi pengolah kata, grafik, spreadsheets, atau bahkan membuat kompiler untuk sebuah bahasa permrograman.
27
5.
Efisien C# adalah bahasa pemrograman yang menggunakan jumlah kata-kata yang tidak terlalu banyak. C# hanya berisi kata-kata yang biasa disebut dengan keywords. Keywords ini digunakan untuk menjelaskan berbagai macam informasi.
6.
Modular Kode C# ditulis dengan pembagian masing class-class (classes) yang terdiri dari beberapa routines yang disebut sebagai member methods. Class-class dan metode-metode ini dapat digunakan kembali oleh program atau aplikasi lain. Hanya dengan memberikan informasi yang dibutuhkan oleh class dan metode yang dimaksud, maka kita akan dapat membuat suata kode yang dapat digunakan oleh satu atau beberapa aplikasi dan program (reusable code).
7.
C# akan menjadi populer Dengan dukungan penuh dari Microsoft yang akan mengeluarkan produkproduk utamanya dengan dukungan Framework.NET, maka masa depan bahasa C# sebagai salah satu bahasa pemrograman yang ada di dalam lingkungan Framework.NET akan lebih baik.
BAB III METODE PENELITIAN 3.1
Waktu dan Tempat Penelitian Penelitian ini dilakukan di Jurusan Teknik Informatika, Fakultas Teknik,
Universitas Halu Oleo dengan waktu penelitian dapat dilihat pada tabel 3.1 Tabel 3.1 Waktu Penelitian Waktu Tahapan
Oktober
November
Desember
Januari
RUP
(Minggu ke)
(Minggu ke )
(Minggu ke)
(Minggu ke)
No III 1
Inception
2
Elaboration
3
Construction
4
Transition
3.2
IV
I
II
III IV I
II III IV I
II
III
Metode Pengumpulan Data Metode yang dilakukan dalam dalam proses pengumpulan data pada
penelitian ini adalah sebagai berikut:
28
29
1.
Kajian Pustaka Kajian pustaka digunakan untuk mencari dan mengumpulkan referensi-referensi dari buku literature maupun sumber-sumber bacaan lainnya yang dapat membantu dalam proses penyusunan tugas akhir ini.
2.
Wawancara Wawancara dilakukan untuk mengumpulkan informasi yang terkait dengan penelitian ini melalui wawancara langsung dengan pihak pengambil keputusan untuk meyakinkan bahwa data yang diperoleh benar-benar akurat dan nyata.
3.3
Metode Pengembangan Sistem Metode pengembangan sistem yang digunakan pada tugas akhir ini adalah
metode Rasional Unified Process (RUP). Dalam metode RUP ini terdiri dari 4 tahap, yaitu : 1.
Inception Pada tahap ini penulis menentukan batasan ruang lingkup permasalahan pada penelitian ini a. Ruang Lingkup Proyek 1) Sebagai alat bantu dalam proses pengambilan keputusan 2) Sistem ini digunakan untuk membantu dalam proses penyeleksian dosen pembimbing tugas akhir berdasarkan kriteria yang telah ditentukan. 3) Metode yang digunakan adalah WP dengan bahasa pemprograman C# dan pengolahan basis data menggunakan SQL Server. b.
Elaboration Pada tahap ini penulis melakukan perancangan terhadap user interface dari aplikasi ini. Untuk perancangan aplikasi penulis menggunakan alat bantu yaitu UML (Unified Modelling Language). UML merupakan sebuah bahasa yang
menjadi
standar
untuk
visualisasi,
perancangan
serta
pendokumentasian sebuah software. Disebabkan UML menggunakan class
30
dan operation, maka penggunaan UML lebih cocok digunakan dalam perancangan aplikasi yang bersifat object oriented. Perancangan yang dilakukan meliputi halaman-halaman yang ada di dalam sistem. c.
Construction Pada
tahapan
ini
meliputi
bagaimana
suatu
aplikasi
itu
bisa
diimplementasikan dan diuji coba. a. Implementasi Penjelasan mengenai perangkat keras dan perangkat lunak apa saja yang dibutuhkan untuk mengimplementasikan aplikasi Sistem Pendukung Keputusan penentuan dosen pembimbing tugas akhir. b. Coding Proses
pengkodean
pemprograman
C#.
dilakukan
dengan
menggunakan
Pengkodean
sendiri
berisi
bahasa
tahapan-tahapan
perhitungan metode WP c. Testing Pada tahap ini dilakukan pengujian terhadap aplikasi yang telah dibangun untuk mengetahui tingkat akurasi dan kualitas dari aplikasi tersebut, apakah sudah sesuai dengan yang diharapkan atau tidak. Testing dilakukan dengan menguji semua tombol-tombol yang terdapat pada aplikasi apakah sudah berjalan sesuai fungsinya atau tidak. d.
Transition Pada tahap ini dilakukan testing akhir pada sistem yang telah jadi, kemudian dilakukan sosialisasi penggunaan perangkat lunak yang telah dibangun ke administrator.
BAB IV ANALISIS DAN PERANCANGAN SISTEM
4.1 Gambaran Umum 4.1.1
Gambaran Umum Pengambilan Keputusan Gambaran umum pengambilan keputusan dalam proses penentuan dosen
pembimbing tugas akhir dilakukan secara manual. Sehingga itu dibutuhkan sistem yang dapat membantu pengambil keputusan untuk menentukan pembimbing tugas akhir sesuai dengan keahlian dan kompetensi yang dimiliki seorang dosen pembimbing.
4.1.2 Gambaran Umum Sistem Yang Diusulkan Sistem yang dirancang ini bertujuan untuk memperbaiki dan mengembangkan sistem yang sedang berjalan saat ini. Adapun gambaran umum sistem yang diusulkan adalah sebagai berikut: 1. Pengguna sebelum melakukan proses perhitungan dengan metode WP terlebih dahulu memasukkan data seluruh dosen yang kemudian akan menjadi dosen pembimbing sesuai dengan keahlian dan kompetensinya. 2. Setelah memasukkan data dosen pembimbing, pengguna melakukan proses penentuan dosen pembimbing menggunakan metode WP terlebih dahulu dengan memasukkan kriteria yang berupa data dosen lalu kemudian sistem akan menghitung nilai kriteria yang telah dimasukkan untuk menentukan urutan yang menjadi prioritas sebagai pembimbing 1 dan 2 yang dapat dijadikan sebagai bahan pertimbangan bagi pengambil keputusan dalam menentukan siapa yang akan menjadi dosen pembimbing tugas akhir.
31
32
Berikut gambar activity sistem yang diusulkan.
Gambar 4.1 Activity sistem yang diusulkan 4.1.3
Activity Diagram Proses WP (Weighted Product) Perancangan activity diagram akan memudahkan pengembang untuk
mengimplementasikan sistem ke dalam bahasa pemrograman, karena akan menjelaskan bagaimana cara kerja sistem dari awal hingga akhir. Berikut activity diagram perankingan alternatif dengan metode WP.
33
Pengguna
Metode WP
Masukkan Data Alternatif
Masukkan Bobot
Baca Bobot Kriteria
Hitung perbaikan bobot dengan rumus W1 =
Hitung nilai alternatif dengan rumus
Hitung Perangkingan Alternatif
Hasil perangkingan alternatif
Gambar 4.2 Activity Proses WP
4.2
Ilustrasi Metode WP (Weighted Product) Terhadap Perencanaan Aplikasi Implementasi perhitungan WP dalam sistem. Berikut adalah contoh dari
perhitungan model WP yaitu mulanya memberikan nilai setiap alternatif pada setiap
34
kriteria yang sudah ditentukan. Dari masing-masing kriteria tersebut akan ditentukan bobot-bobotnya yaitu: Tidak memenuhi syarat
=1
Kurang memenuhi syarat
=2
Cukup memenuhi syarat
=3
Memenuhi syarat
=4
Sangat memenuhi syarat
=5
1.
Penentuan Kriteria Kriteria adalah ukuran yg menjadi dasar penilaian atau penetapan sesuatu. Dalam
metode WP untuk sistem penunjang keputusan penentuan pembimbing tugas akhir ini ada beberapa kriteria, yaitu: a.
Keahlian Keahlian merupakan kemampuan seseorang terhadap sesuatu. Berikut ini tabel
kriteria keahlian. Tabel 4.1 Kriteria Keahlian Kriteria
Bobot
Keterangan
Sangat sesuai Keahlian dan Sesuai Judul
5
Sangat memenuhi syarat
Sesuai keahlian dan judul
4
Memenuhi syarat
Cukup Sesuai keahlian dan judul
3
Cukup memenuhi syarat
Kurang sesuai keahlian dan judul
2
Kurang memenuhi syarat
Tidak sesuai keahlian dan judul
1
Tidak syarat
memenuhi
35
b. Jabatan Fungsoinal Jabatan fungsional merupakan kedudukan yang menunjukkan tugas, tanggung jawab,wewenang dan hak seorang dosen. Pembagian jabatan fungsional dapat dilihat pada tabel 4.2. Tabel 4.2 Jabatan Fungsional Kriteria
c.
Bobot
Keterangan
Lektor Kepala
5
Sangat memenuhi syarat
Lektor
4
Memenuhi syarat
Asisten Ahli
3
Cukup memenuhi syarat
Tenaga Akademik
2
Kurang memenuhi syarat
Kuota Kuota adalah jatah atau jumlah yang ditentukan. Ini dimaksudkan agar
pembimbing tidak melebihi batas jumlah untuk membimbing mahasiswa yang dalam pengerjaan tugas akhir. Tabel 4.3 Kriteria Kuota Kriteria
Bobot
Keterangan
5
Sangat memenuhi syarat
1 mahasiswa bimbingan
4
Memenuhi syarat
2 mahasiswa bimbingan
3
Cukup memenuhi syarat
3 mahasiswa bimbingan
2
Kurang memenuhi syarat
Belum ada bimbingan
mahasiswa
36
4 mahasiswa bimbingan
0
-
d. Status Status dalam kriteria ini adalah tentang status dosen apakah dia adalah dosen tetap PNS atau dosen tetap NonPNS. Tabel 4.4 Kriteria Status Range
Bobot
Keterangan
Dosen Tetap PNS
5
Sangat memenuhi syarat
Dosen Tetap NonPNS
1
Tidak memenuhi syarat
e. Kebersediaan Bersedia dalam kriteria ini adalah sediakah seorang dosen untuk menjadi pembimbing tugas akhir seorang mahasiswa. Tabel 4.5 Kriteria Kebersediaan Range (Orang)
f.
Bobot
Keterangan
Bersedia
5
Sangat memenuhi syarat
Tidak Bersedia
0
Tidak memenuhi syarat
Tanggung Jawab Tanggung jawab dalam kriteria ini merupakan pembobotan untuk menilai
tanggung jawab dosen
37
Tabel 4.6 Kriteria Tanggung Jawab Range (Orang)
Bobot
Keterangan
5
Sangat memenuhi syarat
Bertanggung jawab
4
Memenuhi syarat
Cukup jawab
bertanggung
3
Cukup memenuhi syarat
Kurang jawab
bertanggung
2
Kurang memenuhi syarat
Tidak jawab
bertanggung
1
Tidak memenuhi syarat
Sanagt jawab
2.
bertanggung
Penentuan Bobot Awal (W) Penentuan bobot awal adalah menentukan diantara kriteria yang telah disebutkan
sebelumnya, manakah kriteria yang memiliki nilai kepentingan tertinggi. Tabel 4.7 Kriteria Pembobotan Awal Kriteria
3.
Bobot
Keahlian
3
Jabatan Fungsional
5
Kuota
2
Status
5
Kebersediaan
1
Tanggung Jawab
3
Penentuan alternatif dan memberi nilai untuk tiap kriteria pada alternatif Berikut adalah nilai kriteria untuk masing-masing alternatif untuk bidang judul
tugas akhir Jaringan.
38
Tabel 4.8 Penilaian Kriteria Alternatif ke 1 Alternatif Kriteria La Surimi
Bobot
Keahlian
5
Kepangkatan
2
Kuota
5
Status
1
Kebersediiaan
5
Tanggung Jawab
5
Tabel 4.9 Penilaian Kriteria Alternatif ke 2 Alternatif Kriteria Muh. Yamin
Bobot
Keahlian
5
Kepangkatan
3
Kuota
5
Status
5
Kebersediiaan
5
Tanggung Jawab
3
Tabel 4.10 Penilaian Kriteria Alternatif 3 Alternatif Kriteria Isnawati
Bobot
Keahlian
5
Kepangkatan
3
Kuota
5
Status
5
39
Kebersediiaan
5
Tanggung Jawab
5
Total dari penilaian alternatif pada masing-masing kriteria dapat di lihat pada tabel 4.11. Tabel 4.11 Penilaian Alternatif Kriteria
1.
Alternatif La Surimi
Muh. Yamin
Isnawati
Keahlian
5
5
5
Kepangkatan
2
3
3
Kuota
5
5
5
Status
1
5
5
Kebersediaan
5
5
5
Bertanggung Jawab
5
3
5
Menentukan semua nilai kriteria untuk masing-masing alternatif dan telah bobot awal dari setiap kriteria.
2.
๐
Kemudian memperbaiki bobot dengan cara W1 = ฮฃ๐ค , Adapun cara penyelesaiannya adalah sebagai berikut : 3
W1 = 3+5+2+5+3 = 0.157895 5
W2 = 3+5+2+5+3 = 0.263158 2
W3 = 3+5+2+5+3 = 0.105263
40
5
W4 = 3+5+2+5+3 = 0.263158 1
W5 = 3+5+2+5+3 = 0.052632 3
W6 = 3+5+2+5+3 = 0.157895 3.
Kemudian menghitung nilai / skor untuk alternative dengan cara berikut: S1 = (50.157895) * (20.263158) * (50.105263) * (10.263158) * (50.052632) * ( 50.157895) = 2.572228 S2 = (50.157895) * (30.263158) * (50.105263) * (50.263158) * (50.052632) * ( 30.157895) = 4.032367 S3 = (50.157895) * (30.263158) * (20.105263) * (50.263158) * (50.052632) * ( 30.157895) = 4.37108
4.
Menentukan perengkingan alternatif yang terbaik dari tiap alternatif dengan rumus sebagai berikut: ๐ฑ๐
๐ ๐ ๐ค๐
V1 = ๐ฑ ๐๐=1 ๐
๐=1( ๐๐ ๐) ๐ค๐
2.572228
V1 = 10.97567 = 0.234357
41
4.032367
V2 = 10.97567 = 0.367391 4.37108
V3 = 10.97567 = 0.398252 Berdasarkan perhitungan di atas sistem pendukung keputusan penentuan dosen pembimbing Tugas Akhir tersebut di dapatkan Nilai terbaik adalah alternatif yang terpilih dapat dilihat pada Tabel di bawah ini: Tabel 4.12 Hasil Perangkingan Alternatif
4.3
Perancangan Sistem
4.3.1
Use Case Diagram
Bobot
Isnawati
0.398252
Muh. Yamin
0.367391
La Surimi
0.234357
Use Case diagram menjelaskan mengenai aktor-aktor yang terlibat dengan perangkat lunak yang dibangun beserta proses-proses yang ada didalamnya. Berikut ini adalah Use Case diagram aplikasi Sistem Pendukung Keputusan penentuan dosen pembimbing Tugas Akhir:
42
Data Dosen <
> Mengelola Data
<>
Data Keahlian
<> Data Detail Keahlian
Menentukan Pembimbing
Actor Menyimpan <> Cetak Laporan <> Menyetak
Gambar 4.3 Use Case Diagram
Berikut adalah deskripsi diagram Use Case. Table 4.13 Keterangan Diagram use Case Aktor Pengguna Mengelolah data -
Sistem Sistem menyediakan tabel isian untuk memasukkan data dosen.
-
Sistem menyediakan tabel isian untuk memasukkan data keahlian.
-
Sistem menyediakan tabel isian untuk
memasukkan
pembobotan keahlian.
data
43
Pengguna Menentukan Pembimbing
-
Sistem memroses data pembobotan keahlian dan data dosen untuk mendapatkan hasil berupa nama pembimbing I dan pembimbing II.
4.3.2
Activity Diagram Activity diagram adalah salah satu cara untuk memodelkan event-event yang
terjadi dalam suatu use case.
Gambar 4.4 Activity Diagram Diagram aktivitas pada gambar 4.4 menjelaskan proses yang dialami aktor terhadap sistem, dimana aktor akan meminta sistem menampilkan menu bimbingan, bantuan dan tentang, sedangkan menu mengolah data dosen, mengolah data keahlian, mengolah data keahlian detail dan laporan adalah menu yang akan dilakukan aksi oleh
44
aktor. Kemudian sistem akan menghitung dengan menggunakan metode WP dan memproses hasil dari masukan yang telah dilakukan oleh aktor. 4.3.3.
Sequence Diagram Sequence Diagram menjelaskan interaksi object yang disusun dalam suatu
urutan waktu. Sequence diagram memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu yang dilakukan dalam use case. a.
Sequence Diagram Data Dosen Ada 3 proses yang dapat dilakukan dalam menu Dosen yaitu :
1.
Tambah data, proses yang terjadi adalah pengguna langsung mengisi tabel data dosen mulai dari nama, jabatan fungsional, status, kebersedian, didikan dan tanggung jawab lalu sistem akan menyimpan data ke dalam database.
2.
Ubah data, proses yang terjadi adalah pengguna langsung menyorot data dosen yang akan diubah lalu melakukan perubahan pada data tersebut kemudian sistem menyimpan data yang telah diubah ke dalam database.
3.
Hapus data, proses yang terjadi adalah pengguna memilih data yang akan dihapus kemudian sistem menghapus data dari database. Proses tersebut dapat dilihat pada gambar 4.5 sequence diagram dosen
45
Gambar 4.5 Sequence Diagram Dosen b.
Sequence Diagram Data Keahlian Ada 3 proses yang dapat dilakukan dalam menu Keahlian yaitu:
1.
Tambah data, proses yang terjadi adalah pengguna dapat langsung mengisi tabel data keahlian lalu sistem akan menyimpan data ke dalam database.
2.
Ubah data, proses yang terjadi adalah pengguna langsung menyorot data keahlian yang akan diubah lalu melakukan perubahan pada data tersebut kemudian sistem menyimpan data yang telah diubah ke dalam database.
3.
Hapus data, proses yang terjadi adalah pengguna memilih data yang akan dihapus kemudian sistem menghapus data dari database. Proses tersebut dapat dilihat pada gambar 4.6 sequence diagram keahlian
46
Gambar 4.6 Sequence Diagram Keahlian
4.
Sequence Diagram Data Keahlian Detail Ada 3 proses yang dapat dilakukan dalam menu keahlian detail yaitu :
1.
Tambah data, proses yang terjadi adalah pengguna memberikan bobot untuk dosen yang telah namanya dipilih lalu sistem akan menyimpan data ke dalam database.
2.
Ubah data, proses yang terjadi adalah pengguna langsung menyorot kolom pembobtan yang akan diubah lalu melakukan perubahan pada data tersebut kemudian sistem menyimpan data yang telah diubah ke dalam database.
3.
Hapus data, proses yang terjadi adalah pengguna memilih data yang akan dihapus kemudian sistem menghapus data dari database. Proses tersebut dapat dilihat pada gambar 4.7 sequence diagram keahlian detail
47
Gambar 4.7 Sequence Diagram Keahlian Detail
4.4
Class Diagram Adapun class diagram yang dibangun berdasarkan Sistem Pendukung
Keputusan penentuan dosen pembimbing tugas akhir, yaitu:
48
WeightedProduct +conf +con +sda +ds +alt +idDosen1 +idDosen2 +didikan1 +didikan2 +cmd +sqlQuery +outJabatan +outKuota +outStatus +outSedia +k1String +k1Sda +k1Ds +k2String +k2Sda +k2Ds +w +wSum +temp +tempSum +strSearch +strBimbing +data +fr +sb +sb1 +sb2
+checkConnection() +execQuery() +convJabatan() +convKouta() +convStatus() +convKebersediaan() +initDefBobot() +bobotConfirm() +initAllDosen() +initDefDosen() +dosenInsert() +dosenUpdate() +dosenSimpan() +dosenDelete() +initAllAhli() +initDefAhli() +ahliInsert() +ahliUpdate() +ahliSimpan() +ahliDelete() +initAllDetail() +initDefDetail() +detailInsert() +detailUpdate() +detailSimpan() +detailDelete() +initAllBimbing() +initDefBimbing() +initAllLaporan() +initDefLaporan() +laporanUpdate() +laporanSimpan() +laporanDelete() +laporanCetak +initDefBantuan() +initDefTentang()
Antarmuka +FormDosen() +FormKeahlian() +FormKeahlianDetail() 1 +TampilHasil() +TampilDataDosen() +TampilKeahlian() +TampilKeahlianDetail() +TampilBimbingan() +TampilLaporan()
1
1
Config +sConnection
1
+Config() +getConnection()
Main 1 +formMain() +InitializeComponent() +formMain_Load() +formMain_Move()
Gambar 4.8 Class Diagram
1
49
4.5
Perancangan Interface Perancangan antarmuka pengguna merupakan penggambaran tampilan yang
digunakan secara langsung oleh pengguna, interaksi yang dapat dilakukan oleh pengguna dalam sistem. Berikut adalah rancangan antarmuka untuk Sistem Pendukung Keputusan penentuan dosen pembimbing tugas akhir ini. a.
Perancangan Halaman Utama Pada halaman ini ditampilkan menu yang telah disediakan oleh sistem untuk kemudian pengguna dapat melanjutkan ke proses selanjutnya.
Gambar 4.9 Rancangan Tampilan Utama b. Perancangan Halaman Pembobotan Sistem menampilkan hasil perhitungan dengan mengeluarkan nama pembimbing I dan pembimbing II sesuai dengan judul yang dimasukkan.
50
Gambar 4.10 Rancangan Tampilan Pembobotan
c.
Perancangan Halaman Data Dosen Untuk halaman ini, sistem menyiapkan tabel isian yang akan diisi dengan datadata dosen.
Gambar 4.11 Rancangan Data Dosen
d.
Perancangan Halaman Keahlian Halaman ini berisi tabel yang kemudian akan diisi dengan keahlian yang ada pada bidang tugas akhir.
51
Gambar 4.12 Rancangan Halaman Keahlian
e.
Perancangan Halaman Keahlian Detail Halaman keahlian detail menampilkan nama dosen per bidang keahlian untuk memberikan bobot keahlian.
Gambar 4.13 Rancangan Halaman Keahlian Detail
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM
5.1
Implementasi Sistem Implementasi merupakan tahap dimana sistem siap untuk dioperasikan. Hasil
analisis dan perancangan diimplementasikan dalam bentuk aplikasi penentuan dosen pembimbing tugas akhir dengan menggunakan metode Weighted Product. Spesifikasi perangkat lunak dan perangkat keras yang digunakan dalam implementasi adalah sebagai berikut: 1. Perangkat Lunak ๏ท
Sistem Operasi
: Windows 10
๏ท
Builder
: Visual Studio 2015
2. Perangkat Keras ๏ท
Processor Intelยฎ Coreโข i3.
๏ท
RAM 2048MB.
5.2
Implementasi Antarmuka Sistem Setelah memenuhi kebutuhan sistem, proses selanjutnya adalah menerangkan
kegunaan form-form yang ada di dalam aplikasi Sistem Pendukung Keputusan penentuan pembimbing tugas akhir dengan metode Weighted Product dan desain formnya, diantaranya dapat dilihat di bawah ini. 5.2.1
Antarmuka Menu Hasil WP Menu hasil WP berfungsi sebagai menu yang dapat menampilkan nama dosen
pembimbing I dan pembimbing II jika semua data telah dimasukkan sebelumnya. Berikut merupakan tampilan dari antarmuka menu hasil WP berdasarkan perhitungan manual pada bab sebelumnya.
52
53
Gambar 5.1 Halaman hasil WP
54
Berikut beberapa contoh pengujian sistem antara sistem manual dan sistem pendukung keputusan penentuan pembimbing tugas akhir. a. Nama
:
Arianto Pratama
NIM
:
E1E111095
Judul Tugas Akhir
: Perancangan Aplikasi Diagnosa Penyakit Lambung Terhadap Pasien RS. Bahteramas dengan menggunakan Metode Ketidakpastian Demster Shafer
Pembimbing I
:
Dr. Ir. Muh. Ihsan Sarita, MKOM
Pembimbing II
:
Ika Purwanti Ningrum, S.Kom.,M.Cs
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.2 Halaman hasil pengujian 1
55
b. Nama
:
Andi Prademon
NIM
:
E1E111002
Judul Tugas Akhir
: Visitor Guide Fakultas Teknik UHO Berbasis 3D Game Desktop Dengan Algoritma Branch and Bound
Pembimbing I
:
Bambang Pramono, S.Si.,MT
Pembimbing II
:
Muh. Yamin, ST.,M.Eng
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.3 Halaman hasil pengujian 2
56
c. Nama
:
Firayati
NIM
:
E1E111084
Judul Tugas Akhir
:
Sistem Pendukung Keputusan Penentuan
Dosen Pembimbing Tugas akhir Menggunakan Metode Weighted Product Pembimbing I
:
Dr. Ir. Muh. Ihsasn Sarita, MKOM
Pembimbing II
:
Statiswaty, ST.,MMSI
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.4 Halaman hasil pengujian 3
57
d. Nama
:
Sari Fatiqah Ayu
NIM
:
E1E111096
Judul Tugas Akhir
: Rancang bangun game edukasi puzzle untuk memperkenalkan kebudayaan Sultra dengan algoritma Fisher Yates Shuffle
Pembimbing I
:
Sutardi, S.Kom.,MT
Pembimbing II
:
LD. Muh. Tajidun, ST.,M.Eng
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.5 Halaman hasil pengujian 4
58
e. Nama
:
Trisye Wulandari
NIM
:
E1E110011
Judul Tugas Akhir
: Implementasi Motede Neive Bayes Classifer untuk Balita berbasis android
Pembimbing I
:
Bambang Pramono, S.Si.,MT
Pembimbing II
:
Rahmad Ramadhan, S.Si.,M.Cs
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.6 Halaman hasil pengujian 5
59
f. Nama
:
Reski Alam
NIM
:
E1E110121
Judul Tugas Akhir
:
Implementasi QR Code dan algoritma Triple
data encryption standard pada pengamanan keaslian dokumen dari serangan pembajakan man-in-the middle Pembimbing I
:
Sutardi, S.Kom.,MT
Pembimbing II
:
Rahmad Ramadhan, S.Kom.,M.Cs
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.7 Halaman hasil pengujian 6
60
g. Nama
:
Muh. Bahri Izatu
NIM
:
E1E110080
Judul Tugas Akhir
:
Lengan
robot
menggunakan
pendeteksi
metode
Sobel
jenis dan
benda JST
Backpropagtion Pembimbing I
:
Isnawati, ST.,MT
Pembimbing II
:
Ika Purwanti, S.Kom.,M.Cs
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.8 Halaman hasil pengujian 7
61
h. Nama
:
Fadil Husni Putra
NIM
:
E1E111105
Judul Tugas Akhir
:
Aplikasi pemanfaatan data warehouse dan
olap tools Pembimbing I
:
Statiswaty, ST.,MMSI
Pembimbing II
:
Muh. Yamin, ST.,M.Eng
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.9 Halaman hasil pengujian 8
62
i. Nama
:
Rizal Adi Saputra
NIM
:
E1E108050
Judul Tugas Akhir
:
Pengenalan
sidik
jari
dengan
metode
transformasi wavelet hour menggunakan JST dengan metode pembelajaran LVQ Pembimbing I
:
Ika Purwanti, S.Kom.,M.Cs
Pembimbing II
:
LD. Muh. Golok Jaya, ST.,MT
Adapun tampilan sistem penentuan dosen pembimbing tugas akhir untuk judul tugas akhir diatas
Gambar 5.10 Halaman hasil pengujian 9
67
Berikut tabel perbandingan penentuan dosen pembimbing dengan dan tanpa sistem pendukung keputusan Tabel 5.1 Perbandingan penentuan dosen pembimbing No 1.
Nama Mahasiswa Arianto Pratama
NIM
Judul
E1E111095
Perancangan Aplikasi Diagnosa Penyakit Lambung Terhadap Pasien RS. Bahteramas dengan menggunakan Metode Ketidakpastian Demster Shafer Visitor Guide Fakultas Teknik UHO Berbasis 3D Game Desktop Dengan Algoritma Branch and Bound Sistem Pendukung Keputusan Penentuan Dosen Pembimbing Tugas akhir Menggunakan Metode Weighted Product Rancang bangun game edukasi puzzle untuk memperkenalkan kebudayaan Sultra dengan algoritma Fisher Yates Shuffle Implementasi Motede Neive Bayes Classifer untuk Balita berbasis android
2.
Andi Prademon
E1E111002
3.
Firayati
E1E111084
4.
Sari Ayu
Fatiqah E1E111096
5.
Trisye Wulandari
E1E110011
Nama Pembimbing tanpa Sistem -
Nama Pembimbing dengan Sistem
Dr. Ir. Muh. Ihsan Sarita, MKOM Ika Purwanti Ningrum, S.Kom.,M.Cs
Dr. Ir. Muh. Ihsan Sarita, MKOM Ika Purwanti Ningrum, S.Kom.,M.Cs
-
Bambang Pramono, S.Si.,MT Muh. Yamin, ST.,M.Eng -
Bambang Pramono, S.Si.,MT Muh. Yamin, ST.,M.Eng
-
Dr. Ir. Muh. Ihsan Sarita, MKOM Statiswaty, ST.,MMSI -
Dr. Ir. Muh. Ihsan Sarita, MKOM Statiswaty, ST.,MMSI
-
Sutardi, S.Kom.,MT LD. Muh. Tajidun, ST.,M.Eng
Sutardi, S.Kom.,MT LD. Muh. Tajidun, ST.,M.Eng
-
Bambang Pramono, S.Si.,MT Rahmad Ramadhan, S.Si.,M.Cs
Bambang Pramono, S.Si.,MT Sutardi, S.Kom.,MT
-
-
63
68
6.
Reski Alam
7.
Muh. Bahri Izatu
8.
Fadil Husni Putra
9.
Rizal Adi Saputra
E1E110121 Implementasi QR Code dan algoritma Triple data encryption standard pada pengamanan keaslian dokumen dari serangan pembajakan manin-the middle E1E110080 Lengan robot pendeteksi jenis benda menggunakan metode Sobel dan JST Backpropagtion E1E111105 Aplikasi pemanfaatan data warehouse dan olap tools
-
Sutardi, S.Kom.,MT Rahmad Ramadhan, S.Kom.,M.Cs -
-
Isnawati, ST.,MT Ika Purwanti, S.Kom.,M.Cs Statiswaty, ST.,MMSI Muh. Yamin, ST.,M.Eng
-
Isnawati, ST.,MT Muh Yamin, ST.,M.Eng
-
E1E108050 Pengenalan sidik jari dengan metode transformasi wavelet hour menggunakan JST dengan metode pembelajaran LVQ
-
Ika Purwanti, S.Kom.,M.Cs LD. Muh Golok Jaya, ST.,MT
-
Muh. Yamin, ST.,M.Eng La Ode Hasnuddin S Sagala, S.Kom.,M.Cs Ika Purwanti, S.Kom.,M.Cs Bambang Pramono, S.Si.,MT
-
-
Bambang Pramono, S.Si.,MT Sutardi, S.Kom.,MT
Tabel di atas menjelaskan perbandingan antara hasil yang dikeluarkan sistem pendukung keputusan penentuan dosen pembimbing tugas akhir dengan sistem yang dilakukan secara manual oleh pengambil keputusan.
64
65
Jika tombol konfirmasi ditekan, maka sistem akan menampilkan tampilan form yang nantinya dapat dicetak maupun disimpan. Berikut tampilan form penentuan pembimbing.
Gambar 5.11 Hasil Penentuan Pembimbing
66
5.2.2 Antarmuka menu Dosen Pada menu ini pengguna dapat memasukkan data dosen dengan langsung menyorot pada tabel dan kemudian mengisi nama, jabatan fungsional, status, kebersediaan, tanggung jawab dan juga jumlah didikan, seperti terlihat pada gambar 5.12.
Gambar 5.12 Halaman Menu Dosen Pada gambar 5.12 keseluruhan dosen memiliki jumlah didikan yang masih kosong. Ini merupakan data awal dimana tiap dosen belum membimbing mahasiswa tugas akhir.
Gambar 5.13 Halaman Menu Dosen Setelah Dikonfirmasi
67
Dapat dilihat perbedaan didikan dosen yang semula kosong dan telah terisi ini karena pada menu hasil WP dosen yang tampil dalam penentuan dosen pembimbing tugas akhir mahasiswa telah dikonfirmasi sehingga secara otomatis data didikan untuk dosen yang telah tampil bertambah.
5.2.3 Antarmuka Menu Keahlian Menu keahlian merupakan menu yang disediakan untuk memasukkan keahlian atau bidang keahlian yang dimiliki tiap dosen.
Gambar 5.14 Halaman Menu Keahlian
5.2.4 Antarmuka Menu Keahlian Detail Merupakan menu yang memisahkan dosen berdasarkan keahlian yang dimiliki untuk dilakukan pembobotan. Sistem menyiapkan pilihan keahlian dan kemudian nama dosen yang akan tampil sesuai dengan keahlian yang dipilih. Berikut tampilan menu keahlian detail.
68
Gambar 5.15 Halaman Menu Detail Keahlian 5.2.5 Antarmuka Menu Bimbingan Menu ini menampilkan data bimbingan mahasiswa berupa nama, NIM dan judul tugas akhir perdosen yang telah dikonfirmasi sebelumnya pada menu Hasil WP.
Gambar 5.16 Halaman Menu Bimbingan
69
5.2.6 Antarmuka Menu Laporan Menu laporan berisi rekapan nama mahasiswa, NIM, judul tugas akhir, nama pembimbing I dan pembimbing II. Menu ini juga menyiapkan aksi berupa simpan yang mana data laporan ini dapat disimpan, dapat dicetak, dan dapat dihapus. Berikut tampilan menu laporan.
Gambar 5.17 Halaman Menu Laporan 5.2.7 Antarmuka Menu Bantuan Menu ini berisi bantuan bagi pengguna dalam menjalankan aplikasi penentuan pembimbing tugas akhir. Berikut merupakan tampilan menu bantuan.
70
Gambar 5.18 Halaman Menu Bantuan 5.2.8 Antarmuka Menu Tentang Menu tentang berfungsi sebagai pemberi informasi mengenai aplikasi, seperti nama dan logo aplikasi, developer, tahun pembuatan, dan lain-lain. Berikut merupakan tampilan dari antarmuka menu tentang.
Gambar 5.19 Halaman Menu Tentang
71
5.3 Pengujian Perangkat Lunak Pada tahap ini dilakukan proses pengujian terhadap suatu sistem yang dibangun. Pengujian yang akan dilakukan mempunyai mekanisme untuk menemukan data uji yang dapat menguji perangkat lunak secara lengkap dan mempunyai kemungkinan tinggi untuk menemukan kesalahan. Tujuan dari pengujian ini adalah untuk menjamin bahwa perangkat lunak yang dibangun memiliki kualitas yang handal yaitu mampu mempresentasikan kajian pokok dari spesifikasi, analisis, perancangan dan pengkodean dari perangkat lunak itu sendiri. 5.3.1
Pengujian Menu Hasil WP Tabel 5.2 adalah tabel pengujian pada hasil pembimbing untuk menguji tombol
yang terdapat pada menu ini. Tabel 5.2 Pengujian Menu Hasil WP Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Masukan Nama Mahasiswa
Yang diharapkan
Pengamatan
Menampilkan
Dapat
nama mahasiswa
menampilkan
yang telah
nama mahasiswa
Kesimpulan Diterima
dimasukkan Nomor Induk
Menampilkan
Dapat
Mahasiswa
NIM
Menampilkan
Diterima
Nomor induk mahasiswa
Judul Mahasiswa
Menampilkan
Dapat
Judul Tugas akhir
menampilkan
mahasiswa
judul tugas akhir mahasiswa
Diterima
72
Memilih kelompok
Menampilkan
Dapat
bidang keahlian
deretan keahlian
menampilkan
yang sesuai
kelompok bidang
dengan judul
keahlian beserta
Diterima
nama pembimbing I dan pembimbing II Memilih Tombol
Menampilkan
Menampilkan
Konfirmasi
form penentuan
form penentuan
pembimbing yang
pembimbing yang
dapat dicetak atau
dapat dicetak atau
disimpan
disimpan
Diterima
Tabel 5.3 Pengujian Menu Hasil WP Kasus dan Hasil Uji Coba (data yang dimasukkan salah) Masukan
Yang diharapkan
Pengamatan
Nama Mahasiswa
Menampilkan
Tidak ada nama
(tidak diisi)
nama mahasiswa
mahasiswa
Kesimpulan Diterima
yang telah dimasukkan Nomor Induk
Menampilkan
Tidak ada Nomor
Mahasiswa (tidak
NIM
induk mahasiswa
Judul Mahasiswa
Menampilkan
Tidak ada judul
(tidak diisi)
Judul Tugas akhir
tugas akhir
mahasiswa
mahasiswa
Memilih kelompok
Menampilkan
Dapat
bidang keahlian
deretan keahlian
menampilkan
Diterima
diisi) Diterima
Diterima
73
yang sesuai
kelompok bidang
dengan judul
keahlian
Memilih Tombol
Menampilkan
Tidak
Konfirmasi
form penentuan
menampilkan form
pembimbing yang
penentuan
dapat dicetak atau
pembimbing dan
disimpan
terdapat pesan
Ditolak
โData Inputan Tidak Boleh Kosongโ
5.3.2
Pengujian Menu Data Dosen Tabel 5.4 adalah tabel pengujian pada form data dosen untuk menguji tombol
yang terdapat pada menu ini. Tabel 5.4 Pengujian Menu Data Dosen Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Masukan
Yang diharapkan
Pengamatan
Memilih Menu
Menampilkan
Dapat
Data Dosen
tabel pengisian
menampilkan
data dosen
tabel pengisian
Kesimpulan Diterima
data dosen Memilih Tombol
-
Simpan
Menampilkan
-
Dapat
data dosen
menampilkan
yang telah
data dosen
diisi
yang telah diisi
-
Menampilkan data dosen
-
Dapat menampilkan
Diterima
74
yang akan
pesan untuk
diubah
mengubah data dosen
Memilih Tombol
Menampilkan
Dapat Menghapus
Hapus
pesan untuk
data
Diterima
menghapus data yang telah dipilih. Tombol Yes untuk menghapus atau memilih tombol No untuk tidak terhapus
5.3.3
Pengujian Menu Keahlian Tabel 5.5 adalah tabel pengujian pada form keahlian untuk menguji tombol
yang terdapat pada menu ini. Tabel 5.5 Pengujian Menu Keahlian Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Masukan
Yang diharapkan
Pengamatan
Memilih Menu
Menampilkan
Dapat
Keahlian
tabel pengisian
menampilkan
keahlian dosen
tabel keahlian
Kesimpulan Diterima
dosen Memilih Tombol Simpan
-
Menampilkan
-
Dapat
data keahlian
menampilkan
dosen yang
data keahlian
telah diisi
dosen yang telah diisi
Diterima
75
-
Menampilkan
-
Dapat
pesan untuk
menampilkan
mengubah
pesan untuk
data dosen
mengubah data dosen
Memilih Tombol
Menampilkan
Dapat Menghapus
Hapus
pesan untuk
data keahlian
menghapus data
dosen
Diterima
yang telah dipilih. Tombol Yes untuk menghapus atau memilih tombol No untuk tidak terhapus
5.3.4
Pengujian Menu Keahlian Detail Tabel 5.6 adalah tabel pengujian pada form data dosen untuk menguji tombol
yang terdapat pada menu ini. Tabel 5.6 Pengujian Menu Keahlian Detail Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Masukan
Yang diharapkan
Pengamatan
Memilih Menu
Menampilkan
Dapat
Keahlian Detail
tabel pembobotan
menampilkan
dosen perkeahlian
tabel pembobotan
Kesimpulan Diterima
dosen Memilih Tombol Simpan
-
Menampilkan data
-
Dapat menampilkan
Diterima
76
pembobotan
data
dosen beserta
pembobotan
nama dosen
dosen beserta
yang telah
nama dosen
diisi dan
yang telah
dipilih
diisi dan dipilih -
-
Dapat
Menampilkan
menampilkan
pesan untuk
pesan untuk
mengubah
mengubah
bobot nilai
bobot nilai
dosen
dosen
Memilih Tombol
Menampilkan
Dapat Menghapus
Hapus
pesan untuk
data dosen dan
menghapus data
pembobotannya
Diterima
yang telah dipilih. Tombol Yes untuk menghapus atau memilih tombol No untuk tidak terhapus Kasus dan Hasil Uji Coba (data yang dimasukkan salah) Masukan
Yang diharapkan
Pengamatan
Memilih Menu
Menampilkan
Dapat
Keahlian Detail
tabel pembobotan
menampilkan
dosen perkeahlian
tabel pembobotan dosen
Kesimpulan Diterima
77
Memilih Tombol
-
Simpan
Menampilkan
-
Dapat
data
menampilkan
pembobotan
data
dosen beserta
pembobotan
nama dosen
dosen beserta
yang telah
nama dosen
diisi dan
yang telah
dipilih
diisi dan
Diterima
dipilih
-
Menampilkan
-
Tidak dapat
pesan untuk
mengubah
mengubah
nama dosen
nama dan
dan bobot
bobot nilai
nilai
Ditolak
dosen
Memilih Tombol
Menampilkan
Dapat Menghapus
Hapus
pesan untuk
data dosen dan
menghapus data
pembobotannya
yang telah dipilih. Tombol Yes untuk menghapus atau memilih tombol No untuk tidak terhapus
Diterima
78
5.3.5
Pengujian Menu Bimbingan Tabel 5.7 adalah tabel pengujian pada menu bimbingan untuk menguji tombol
yang terdapat pada menu ini. Tabel 5.7 Pengujian Menu Bimbingan Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Masukan
Yang diharapkan
Pengamatan
Kesimpulan
Memilih Nama
Menampilkan
Dapat Menampilkan
Diterima
Dosen
nama mahasiswa,
Nama Mahasiswa,
NIM dan Judul
NIM, dan Judul
Tugas Akhir
Tugas Akhir perDosen yang telah dipilih
5.3.6
Pengujian Menu Laporan Tabel 5.8 adalah tabel pengujian pada menu laporan untuk menguji tombol-
tombol yang terdapat pada menu ini. Tabel 5.8 Pengujian Menu Laporan Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Masukan
Yang diharapkan
Pengamatan
Kesimpulan
Memilih Menu
Menampilkan
Dapat Menampilkan
Diterima
Laporan
halaman Laporan
halaman Laporan berupa Nama Mahasiswan, NIM, Judul Tugas Akhir, Nama Dosen Pembimbing I dan Dosen Pembimbing II
79
Memilih tombol
Menampilkan
Dapat menyimpan
Simpan
pesan apabila
data yang telah
terjadi perubahan
diubah
Diterima
data Laporan Memilih tombol
Menampilkan
Dapat menghapus
Hapus
pesan untuk
pesan
Diterima
menghapus data Memilih tombol
Menampilkan form
Dapat menampilkan
Cetak
yang dapat dicetak
form penentuan
Diterima
pembimbing tugas akhir yang dapat dicetak
5.3.7
Pengujian pada Menu Bantuan Tabel 5.9 adalah menu bantuan untuk menguji tombol yang ada pada sistem
ini. Tabel 5.9 Pengujian Menu Bantuan Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Masukan
Yang diharapkan Pengamatan
Kesimpulan
Memilih Menu
Menampilkan
Dapat
Diterima
Bantuan
bantuan
menampilkan
penggunaan
bantuan penggunaan
dan
beberapa
model
warna
desain
untuk aplikasi
80
5.3.8
Pengujian pada Menu Tentang Tabel 5.10 adalah tabel data menu tentang untuk menguji tombol-tombol yang
ada pada tes ini. Tabel 5.10 Pengujian Menu Tentang Kasus dan Hasil Uji Coba (data yang dimasukkan benar) Data Masukan
Yang diharapkan Pengamatan
Kesimpulan
Memilih Menu
Menampilkan
Dapat
Diterima
Tentang
tentang aplikasi
menampilkan tentang aplikasi
BAB VI PENUTUP
6.1
Kesimpulan Berdasarkan pembahasan dan evaluasi sistem pendukung keputusan dosen
penentuan pembimbing tugas akhir menggunakan metode WP maka dapat disimpulkan: 1.
Metode Weighted Product dapat diterapkan dalam pengambilan keputusan penentuan pembimbing tugas akhir dengan kriteria yang telah ditetapkan sehingga mendapatkan hasil untuk alternatif dosen pembimbing tugas akhir.
2.
Hasil akhir keputusan yang dihasilkan oleh sistem penentuan pembimbing tugas akhir adalah berupa nama dosen pembimbing I dan pembimbing II yang dapat dijadikan rekomendasi pilihan.
6.2
Saran Berdasarkan hasil penelitian, ada beberapa saran untuk pengembangan
sistem lebih lanjut, diantaranya sebagai berikut: 1. Aplikasi Penentuan Pembimbing Tugas Akhir dengan metode Weighted Product ini diharapkan dapat diimplementasikan ke dalam perangkat lunak dengan tampilan yang lebih baik sehingga user dapat lebih nyaman dalam menggunakannya 2. Untuk pengembangan aplikasi selanjutnya diharapkan aplikasi ini dapat melakukan penambahan kriteria seiring perkembangan kebutuhan pengguna sistem sehingga dapat meningkatkan kinerja sistem.
81
DAFTAR PUSTAKA Adi Nugroho. 2010. Rekayasa Perangkat Lunak Berbasis Objek dengan Metode USDP. Andi. Yogyakarta
Bambangwirawan, Paulus. 2004. Struktur Data dengan C++. Andi. Yogyakarta. Gerdon. 2012, Sistem Pendukung Keputusan Untuk Menentukan Penerimaan Beasiswa Bagi Mahasiswa, STMIK Amikom, Yogyakarta.
Jogiyanto HM. 2005. Analisis & Desain, Ed ke-III. Andi Offset. Yogyakarta.
Jogiyanto. 1989. Analisis & Disain Sistem Informasi: Pendekatan Terstruktur Teori dan Praktek Aplikasi Bisnis. Andi. Yogyakarta. Kurniawan, A., Adnan, R., dan Aryaputra, P., 2004, Pengenalan Bahasa C#, Project Otak: Jakarta. Kusumadewi, Sri, dkk.2006. Fuzzy MultiAttribute Decision Making. Graha Ilmu. Yogyakarta.
Ladjamuddin. B, Al-Bahra. 2006. Rekayasa Perangkat Lunak cet-keII. GRAHA ILMU. Yogyakarta.
OโBrien, James A. 2005. Introduction to Information System, 12th edition. (Pengantar Sistem Informasi Perspektif Bisnis dan Manajerial. Jakarta: PT Salemba Empat (Emban Patria).
Sparague, R. H. and Watson H. J. 1993. Decision Support Systems: Putting Theory Into Practice. Englewood Clifts, N. J., Prentice Hall.
Supriyanto, Aji. 2005. Pengantar Teknologi Informasi, Salemba Infotek. Jakarta.
Sutabri, Tata. 2005. Sistem Informasi Manajemen, Andi, Yogyakarta.
Turban, Efraim & Aronson, Jay E. 2001. Decision Support Systems and Intelligent Systems. 6th edition, Prentice Hall: Upper Saddle River, NJ.
Turban, Efraim & Aronson, Jay E. 1995. Decision Support Systems and Intelligent Systems. 6th edition, Prentice Hall: Upper Saddle River, NJ.
Listing Program
namespace WeightedProduct { //#### NOTES //- dosenTabelAdapter berfungsi utk mangambil data dosen utk ditampilkan di DGV detail //- ahliTabelAdapter berfungsi utk mangambil data ahli utk ditampilkan di comboBox detail //SELECT id, nama FROM dosen WHERE id NOT IN (SELECT idDosen FROM detail) public partial class formMain : OfficeForm { //#### Start Inisialisasi Keseluruhan Config conf = new Config(); SqlConnection con = new SqlConnection(); SqlDataAdapter sda; DataSet ds; //#### End Inisialisasi Keseluruhan //###Start Inisialisasi Bobot string[][] alt;//Inisialisasi Array seluruh data long idDosen1; long idDosen2; int didikan1; int didikan2; //###End Inisialisasi Bobot //### Start Inisialisasi Dosen int rowNewA;//inisialisasi row terakhir string rowSelectedA;//inisialisasi row terpilih //### End Inisialisasi Dosen //### Start Inisialisasi Ahli int rowNewB;//inisialisasi row terakhir string rowSelectedB;//inisialisasi row terpilih //### End Inisialisasi Ahli //### Start Inisialisasi Detail int rowNewC;//inisialisasi row terakhir string rowSelectedC;//inisialisasi row terpilih //### End Inisialisasi Detail //### Start Inisialisasi Laporan int rowNewD;//inisialisasi row terakhir string rowSelectedD;//inisialisasi row terpilih //### End Inisialisasi Detail //procedure check koneksi public void checkConnection() { try { //mengecek apakah koneksi tertutup, if (con.State == ConnectionState.Closed) { con.ConnectionString = conf.getConnection(); //con = conf.getConnection(); con.Open();//klu tertutup, koneksi dibuka } } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } //procedure public utk eksekusi setiap query public void execQuery(string sqlQuery) { try { //panggil prosedure cek koneksi checkConnection();
//buat command baru SqlCommand cmd = new SqlCommand(); cmd.CommandText = sqlQuery;//set command text cmd.Connection = con;//set koneksi cmd.ExecuteNonQuery();//eksekusi query ///////////////////////////////// //initDefBobot();//reload procedure bobot initDefDosen();//reload procedure dosen initDefAhli();//reload procedure ahli initDefDetail();//reload procedure detail initDefBimbing();//reload procedure bimbingan initDefLaporan();//reload procedure laporan
} catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } #region Pembobotan public string convJabatan(string inJabatan) { string outJabatan = null;//inisialisasi nilai switch (inJabatan)//ganti nilai sesuai inputan { case "Lektor Kepala": outJabatan = "5"; break; case "Lektor": outJabatan = "4"; break; case "Asisten Ahli": outJabatan = "3"; break; case "Tenaga Akademik": outJabatan = "2"; break; default: break; } return outJabatan;//kembalikan nilai } public string convKuota(string inKuota) { string outKuota = null;//inisialisasi nilai switch (inKuota)//ganti nilai sesuai inputan { case "0": outKuota = "5"; break; case "1": outKuota = "4"; break; case "2": outKuota = "3"; break; case "3": outKuota = "2"; break; case "4": outKuota = "0"; break; default: break; } return outKuota;//kembalikan nilai }
public string convStatus(string inStatus) { string outStatus = null;//inisialisasi nilai switch (inStatus)//ganti nilai sesuai inputan { case "PNS": outStatus = "5"; break; case "Belum PNS": outStatus = "1"; break; default: break; } return outStatus;//kembalikan nilai } public string convKebersediaan(string inSedia) { string outSedia = null;//inisialisasi nilai switch (inSedia)//ganti nilai sesuai inputan { case "true": outSedia = "5"; break; case "false": outSedia = "1"; break; default: break; } return outSedia;//kembalikan nilai } public void initDefBobot() { //K1: jumlah dosen yang pns dan bersedia dan didikan < 4, >= 1 //K2: jumlah dosen yg bersedia didikan < 4, >= 2 try { //panggil prosedure checkConnection(); //#Kondisi I string k1String = "SELECT * FROM dosen a, ahli b, detail c WHERE a.id = c.idDosen AND b.id = c.idAhli AND a.kebersediaan = 'true' AND c.idAhli = '" + long.Parse(Convert.ToString(cbBobot.SelectedValue)) + "' AND a.status = 'PNS' AND a.didikan < '" + 4 + "'"; SqlDataAdapter k1Sda = new SqlDataAdapter(k1String, con); DataSet k1Ds = new DataSet(); k1Sda.Fill(k1Ds); //#Kondisi II string k2String = "SELECT * FROM dosen a, ahli b, detail c WHERE a.id = c.idDosen AND b.id = c.idAhli AND a.kebersediaan = 'true' AND c.idAhli = '" + long.Parse(Convert.ToString(cbBobot.SelectedValue)) + "' AND a.didikan < '" + 4 + "'"; SqlDataAdapter k2Sda = new SqlDataAdapter(k2String, con); DataSet k2Ds = new DataSet(); k2Sda.Fill(k2Ds); //jika kedua kondisi terpenuhi if ((k1Ds.Tables[0].Rows.Count >= 1) && (k2Ds.Tables[0].Rows.Count >= 2)) { //Aktifkan semua tool yang berhubungan p1B.Visible = true; p1A.Visible = true; p2B.Visible = true; p2A.Visible = true; btnBobot.Visible = true; //ubah property p1A p1A.TextAlignment = StringAlignment.Near; p1A.Text = "Pembimbing I";
//perintah sql dimasukkan string sdaString = "SELECT c.bobot, a.jabatan, a.didikan, a.status, a.kebersediaan, a.tawab, a.id, b.id, c.id, a.nama, a.didikan FROM dosen a, ahli b, detail c WHERE a.id = c.idDosen AND b.id = c.idAhli AND a.kebersediaan = 'true' AND c.idAhli = '" + long.Parse(Convert.ToString(cbBobot.SelectedValue)) + "' AND a.didikan < '" + 4 + "'"; sda = new SqlDataAdapter(sdaString, con); ds = new DataSet(); sda.Fill(ds); //inisialisasi nilai bobot double[] w = { 3, 5, 2, 5, 1, 3 }; double wSum = w.Sum(); for (int i = 0; i < w.Length; i++) w[i] = w[i] / wSum; alt = new string[ds.Tables[0].Rows.Count][]; for (int i = 0; i < alt.Length; i++) alt[i] = new string[13] { Convert.ToString(ds.Tables[0].Rows[i][0]),// 0 keahlian convJabatan(Convert.ToString(ds.Tables[0].Rows[i][1])),// 1 jabatan convKuota(Convert.ToString(ds.Tables[0].Rows[i][2])),// 2 kuota convStatus(Convert.ToString(ds.Tables[0].Rows[i][3])),// 3 status convKebersediaan(Convert.ToString(ds.Tables[0].Rows[i][4])),// 4 kebersediaan Convert.ToString(ds.Tables[0].Rows[i][5]),// 5 tawab Convert.ToString(ds.Tables[0].Rows[i][6]),// 6 id dosen Convert.ToString(ds.Tables[0].Rows[i][7]),// 7 id keahlian Convert.ToString(ds.Tables[0].Rows[i][8]),// 8 id detail Convert.ToString(ds.Tables[0].Rows[i][9]),// 9 nama dosen Convert.ToString(ds.Tables[0].Rows[i][10]),// 10 didikan dosen "0", // 11 default nilai default "0" // 12 default rangking alternaif }; //masukkan nilai ke kolom 11 for (int i = 0; i < alt.Length; i++) { double temp = 1; for (int j = 0; j < 6; j++) temp *= Math.Pow(double.Parse(alt[i][j]), w[j]);//perpangkatan alt[i][11] = Convert.ToString(temp); } //hitung jumlah seluruh nilai double tempSum = 0; for (int i = 0; i < alt.Length; i++) tempSum += double.Parse(alt[i][11]); //masukkan nilai rangking ke kolom 12 for (int i = 0; i < alt.Length; i++) { double temp = double.Parse(alt[i][11]) / tempSum; alt[i][12] = Convert.ToString(temp); } //sort nilai rangking, order by kolom 12 alt = alt.OrderByDescending(x => x[12]).ToArray(); p1B.Text = alt[0][9];//Pembimbing 1 -> baris = 1 -> index = 0 p2B.Text = alt[1][9];//Pembimbing 2 -> baris = 2 -> index = 1 //tetapkan Id masing2 pembimbing idDosen1 = long.Parse(alt[0][6]); idDosen2 = long.Parse(alt[1][6]); //tetapkan didikan masing2 pembimbing didikan1 = int.Parse(alt[0][10]); didikan2 = int.Parse(alt[1][10]); } else {
//Non Aktikan tools
p1B.Visible = false; p2A.Visible = false; p2B.Visible = false; btnBobot.Visible = false; //Aktifkan n ubah properti 1 Tools p1A.TextAlignment = StringAlignment.Center; p1A.Text = "Tidak dosen yang siap utk bidang ini";
} } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } public void bobotConfirm()//update didikan dosen { try { //cek data kosong or tidak //jika kosong if (txtNamaBobot.Text == "" || txtNimBobot.Text == "" || txtJudulBobot.Text == "") { MessageBox.Show("Data inputan tidak boleh kosong", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); return; } if (MessageBox.Show("Tetapkan pembimbing untuk saudara(i)\n'" + txtNamaBobot.Text + "'?", "Confirm Option", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { //tampilkan notifikasi notifyIcon.ShowBalloonTip(5000, "Penetapan Pembimbing", "Pembimbing untuk Saudara(i) " + txtNamaBobot.Text + " telah ditetapkan", ToolTipIcon.Info); //cetak laporanCetak(true); //insert data laporan string sqlQuery = "INSERT INTO laporan (id, nama, nim, judul, tgl, idDosen1, idDosen2) VALUES ('" + DateTime.Now.Ticks + "', '" + txtNamaBobot.Text + "', '" + txtNimBobot.Text + "', '" + txtJudulBobot.Text + "', '" + DateTime.Now + "', '" + idDosen1 + "', '" + idDosen2 + "')"; execQuery(sqlQuery); //update didikan pembimbing 1 n 2->index 0 n 1 for (int i = 0; i < 2; i++) { string sql = "UPDATE dosen SET didikan = '" + (int.Parse(alt[i][10]) + 1) + "' WHERE id = '" + long.Parse(alt[i][6]) + "'"; execQuery(sql); } //kosongkan text nama, nim n judul txtNamaBobot.ResetText(); txtNimBobot.ResetText(); txtJudulBobot.ResetText(); //reload data pembimbing if (cbBobot.SelectedValue != null) initDefBobot();
} } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } #endregion
#region Dosen public void initAllDosen(string sdaString) { try { //panggil prosedure checkConnection(); //perintah sql dimasukkan sda = new SqlDataAdapter(sdaString, con); ds = new DataSet(); sda.Fill(ds); //Hapus semua baris n colom dgvDosen.Rows.Clear(); dgvDosen.Columns.Clear(); //Buat n tambahkan manual column Nomor DataGridViewTextBoxColumn colNum = new DataGridViewTextBoxColumn(); dgvDosen.Columns.Add(colNum); colNum.HeaderText = "No."; //Buat n tambahkan manual column Id DataGridViewTextBoxColumn colId = new DataGridViewTextBoxColumn(); dgvDosen.Columns.Add(colId); colId.HeaderText = "Id"; //Buat n tambahkan manual column Nama DataGridViewTextBoxColumn colNama = new DataGridViewTextBoxColumn(); dgvDosen.Columns.Add(colNama); colNama.HeaderText = "Nama"; //Buat n tambahkan manual column Status DataGridViewComboBoxExColumn colStatus = new DataGridViewComboBoxExColumn(); dgvDosen.Columns.Add(colStatus); colStatus.HeaderText = "Status"; colStatus.Items.AddRange(new string[] { "PNS", "Belum PNS" }); //Buat n tambahkan manual column Pangkat DataGridViewComboBoxExColumn colPangkat = new DataGridViewComboBoxExColumn(); dgvDosen.Columns.Add(colPangkat); colPangkat.HeaderText = "Jabatan"; colPangkat.Items.AddRange(new string[] { "Tenaga Akademik", "Asisten Ahli", "Lektor", "Lektor Kepala" }); //Buat n tambahkan manual column Kebersediaan DataGridViewCheckBoxXColumn colSedia = new DataGridViewCheckBoxXColumn(); dgvDosen.Columns.Add(colSedia); colSedia.HeaderText = "Kebersediaan"; colSedia.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; //Buat n tambahkan manual column Didikan DataGridViewIntegerInputColumn colTawab = new DataGridViewIntegerInputColumn(); dgvDosen.Columns.Add(colTawab); colTawab.HeaderText = "Tanggung Jawab"; colTawab.ShowUpDown = true; colTawab.MaxValue = 5; colTawab.MinValue = 1; //Buat n tambahkan manual column Didikan DataGridViewIntegerInputColumn colDidik = new DataGridViewIntegerInputColumn(); dgvDosen.Columns.Add(colDidik); colDidik.HeaderText = "Didikan"; colDidik.ShowUpDown = true; colDidik.MaxValue = 4; colDidik.MinValue = 0; //Buat n tambahkan manual kolom tombol simpan DataGridViewButtonXColumn colSimpan = new DataGridViewButtonXColumn(); dgvDosen.Columns.Add(colSimpan); colSimpan.HeaderText = "Simpan";
//Buat n tambahkan manual kolom tombol simpan DataGridViewButtonXColumn colHapus = new DataGridViewButtonXColumn(); dgvDosen.Columns.Add(colHapus); colHapus.HeaderText = "Hapus"; //Column No sifatnya read only dgvDosen.Columns[0].ReadOnly = true; //Baris terakhir = jumlah baris dalam tabel; rowNewA = ds.Tables[0].Rows.Count; //Buat baris row sesuai jumlah jumlah baris di database for (int i = 0; i <= ds.Tables[0].Rows.Count; i++) { //kondisi cell -> tidak bersedia DataGridViewCellStyle cFalse = new DataGridViewCellStyle(); cFalse.BackColor = Color.LightYellow; //cFalse.Alignment = DataGridViewContentAlignment.MiddleCenter; //kondisi cell -> bersedia DataGridViewCellStyle cTrue = new DataGridViewCellStyle(); cTrue.BackColor = Color.LightGreen; //cTrue.Alignment = DataGridViewContentAlignment.MiddleCenter; //kondisi cell -> PNS DataGridViewCellStyle cStatA = new DataGridViewCellStyle(); cStatA.BackColor = Color.LightSkyBlue; cStatA.Alignment = DataGridViewContentAlignment.MiddleCenter; //kondisi cell -> belum PNS DataGridViewCellStyle cStatB = new DataGridViewCellStyle(); cStatB.BackColor = Color.LightPink; cStatB.Alignment = DataGridViewContentAlignment.MiddleCenter; data baru
if (i == ds.Tables[0].Rows.Count)//kondisi baris terakhir -> baris kosong utk buat {
dgvDosen.Rows[i].Cells[0].Value dgvDosen.Rows[i].Cells[1].Value dgvDosen.Rows[i].Cells[2].Value dgvDosen.Rows[i].Cells[3].Value dgvDosen.Rows[i].Cells[4].Value dgvDosen.Rows[i].Cells[5].Value dgvDosen.Rows[i].Cells[6].Value dgvDosen.Rows[i].Cells[7].Value dgvDosen.Rows[i].Cells[8].Value dgvDosen.Rows[i].Cells[9].Value
= = = = = = = = = =
""; ""; ""; ""; ""; "False"; 1; 0; "Simpan"; "Hapus";
dgvDosen.Rows[i].Cells[5].Style = cFalse; } else { //Buat baris baru dgvDosen.Rows.Add(); dgvDosen.Rows[i].Cells[0].Value = i + 1;//Nomor dgvDosen.Rows[i].Cells[1].Value = ds.Tables[0].Rows[i][0];//Id dgvDosen.Rows[i].Cells[2].Value = ds.Tables[0].Rows[i][1];//Nama dgvDosen.Rows[i].Cells[3].Value = ds.Tables[0].Rows[i][2];//Status dgvDosen.Rows[i].Cells[4].Value = ds.Tables[0].Rows[i][3];//Jabatan dgvDosen.Rows[i].Cells[5].Value = Boolean.Parse(Convert.ToString(ds.Tables[0].Rows[i][4]));//Kebersediaan dgvDosen.Rows[i].Cells[6].Value = int.Parse(Convert.ToString(ds.Tables[0].Rows[i][5]));//Tawab dgvDosen.Rows[i].Cells[7].Value = int.Parse(Convert.ToString(ds.Tables[0].Rows[i][6]));//Didikan dgvDosen.Rows[i].Cells[8].Value = "Simpan"; dgvDosen.Rows[i].Cells[9].Value = "Hapus"; //masukkan kondisi cell status if (Convert.ToString(ds.Tables[0].Rows[i][2]) == "PNS") dgvDosen.Rows[i].Cells[3].Style = cStatA; else
dgvDosen.Rows[i].Cells[3].Style = cStatB;
}
}
//masukkan kondisi cell kebersediaan if (Boolean.Parse(Convert.ToString(ds.Tables[0].Rows[i][4]))) dgvDosen.Rows[i].Cells[5].Style = cTrue; else dgvDosen.Rows[i].Cells[5].Style = cFalse;
} catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } } public void initDefDosen() { try { //perintah sql default utk dosen initAllDosen("SELECT * FROM dosen ORDER by nama"); searchDosen.ResetText(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }
waktu
public void dosenInsert() { try { string[] data = new string[7];//buat array baru -> length = kolom = 7 data[0] = Convert.ToString(DateTime.Now.Ticks);//kol0 -> id -> nilai acak berdasarkan data[1] data[2] data[3] data[5] data[6]
= = = = =
Convert.ToString(dgvDosen.Rows[rowNewA].Cells[2].Value);//kol1 Convert.ToString(dgvDosen.Rows[rowNewA].Cells[3].Value);//kol2 Convert.ToString(dgvDosen.Rows[rowNewA].Cells[4].Value);//kol3 Convert.ToString(dgvDosen.Rows[rowNewA].Cells[6].Value);//kol5 Convert.ToString(dgvDosen.Rows[rowNewA].Cells[7].Value);//kol5
-> -> -> -> ->
nama status jabatan tawab didikan
if ((dgvDosen.Rows[rowNewA].Cells[5].Value == null) || (Convert.ToString(dgvDosen.Rows[rowNewA].Cells[5].Value) == "False")) data[4] = "false";//kol4 -> kebersediaan else data[4] = "true";//kol4 -> kebersediaan if (data[1] != "" && data[2] != "" && data[3] != "" && data[4] != "" && data[5] != "" && data[6] != "")//jika data tidak kosong { //masukkan perintah query insert string sqlQuery = "INSERT INTO dosen (id, nama, status, jabatan, kebersediaan, tawab, didikan) VALUES ('" + data[0] + "', '" + data[1] + "', '" + data[2] + "', '" + data[3] + "', '" + data[4] + "', '" + int.Parse(data[5]) + "', '" + int.Parse(data[6]) + "')"; execQuery(sqlQuery); //update table adapter dosen dosenTableAdapter.Insert(long.Parse(data[0]), data[1], data[2], data[3], data[4], int.Parse(data[5]), int.Parse(data[6])); } else//jika data kosong, tampilkan warning MessageBox.Show("Data inputan tidak boleh kosong", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
}
}
public void dosenUpdate() { try { //keterangan sama dengan dosenInsert string[] data = new string[7]; data[0] = Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[1].Value); data[1] = Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[2].Value); data[2] = Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[3].Value); data[3] = Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[4].Value); data[5] = Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[6].Value); data[6] = Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[7].Value); if ((dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[5].Value == null) || (Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[5].Value) == "False")) data[4] = "false"; else data[4] = "true"; if (data[0] != "" && data[1] != "" && data[2] != "" && data[3] != "" && data[4] != "" && data[5] != "" && data[6] != "")//jika data tidak kosong { //masukkan perintah update string sqlQuery = "UPDATE dosen SET nama = '" + data[1] + "', status = '" + data[2] + "', jabatan = '" + data[3] + "', kebersediaan = '" + data[4] + "', tawab = '" + data[5] + "', didikan = '" + data[6] + "' WHERE id = '" + data[0] + "'"; execQuery(sqlQuery); //uodate table adapter dosen dosenTableAdapter.Update(long.Parse(data[0]), data[1], data[2], data[3], data[4], int.Parse(data[5]), int.Parse(data[6])); } else//jika data kosong, tampilkan warning MessageBox.Show("Pastikan data tidak kosong", "Message", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1); } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }
terakhir
public void dosenSimpan() { try { dgvDosen.EndEdit();//akhiri kondisi editing DGV if (rowSelectedA == Convert.ToString(rowNewA))//jika baris yg terklik adalah baris
dosenInsert();//masukkan data else if ((int.Parse(rowSelectedA) < rowNewA) &&//jika bukan baris terakhir (MessageBox.Show("Ubah data Dosen\nId = '" + Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[1].Value) + "'", "Update Option", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)) dosenUpdate();//update data //update tabel adapter dosen this.dosenTableAdapter.Fill(this.dsDosen.dosen); //reload data pembimbing if (cbBobot.SelectedValue != null) initDefBobot();
} catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }
public void dosenDelete() { try { //tombol hapus hanya aktif utk baris yg ada datanya if (int.Parse(rowSelectedA) >= rowNewA) return; //Jika hapus? = Ya if (MessageBox.Show("Hapus data Dosen\nId = '" + Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[1].Value) + "'", "Delete Option", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { //masukkan perintah sql delete string data = Convert.ToString(dgvDosen.Rows[int.Parse(rowSelectedA)].Cells[1].Value);//ambil id dosen sebagai acuan string sqlQuery = "DELETE FROM dosen WHERE id = '" + data + "'"; execQuery(sqlQuery); //update tabel adapter dosen dosenTableAdapter.Delete(long.Parse(data)); this.dosenTableAdapter.Fill(this.dsDosen.dosen); //reload data pembimbing if (cbBobot.SelectedValue != null) initDefBobot();
} } catch (Exception ex) { MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1); } }