Bab 2 Tinjauan Pustaka 2.1 Penelitian Terdahulu Aplikasi penjadwalan ujian skripsi ini pernah dibuat sebagai topik skripsi di Fakultas Teknologi Informasi Universitas Kristen Satya Wacana. Dalam pengembangannya, aplikasi ini menggunakan bahasa pemrograman Java dengan berbasis desktop application. Sedangkan untuk metode pengambilan keputusan dalam pemilihan dosen penguji aplikasi ini menggunakan algoritma Fuzzy MultiAttribute Decision Making (FMADM). Fuzzy Multi-Attribute Decision Making adalah penggabungan antara logika fuzzy dan multi-attribute decision making. Fuzzy dalam multi-attribute decision making, digunakan untuk mengolah atribut suatu alternatif yang tidak dapat disajikan dengan lengkap, mengandung ketidakpastian atau ketidakkonsistenan. Secara umum, FMADM memiliki suatu tujuan tertentu, yang dapat diklasifikasikan dalam dua tipe, yaitu menyeleksi alternatif dengan atribut dengan ciri-ciri terbaik and mengklasifikasi alternatif berdasarkan peran tertentu (Simoes-Marques dalam Ashinta, 2009). Fuzzy Multi-Attribute Decision Making, akan mencari hubungan antara skripsi dengan dosen melalui lebih dari satu atribut yang berpengaruh dalam pemilihan dosen penguji, yaitu keterkaitan bidang minat, keterkaitan bahasa pemrograman, keterkaitan mata kuliah dan kesesuaian jadwal. Penggunaan banyak atribut sebagai
5
6
penentu dalam pemilihan dosen penguji diharapkan mampu memberikan hasil yang lebih optimal (Ashinta, 2009). Aplikasi penjadwalan yang telah dibuat tersebut sudah memiliki kemampuan yang cukup untuk menyusun sebuah jadwal ujian, mengatur dosen sesuai dengan jadwal, dan kuota yang dibagikan juga relatif seimbang. Namun masih ada beberapa hal yang harus diperbaiki, antara lain jadwal dosen masih harus dimasukkan oleh pengguna sistem. Pengisian dilakukan satu persatu dan apabila ada kesalahan dalam pengisian, jadwal dosen harus dihapus satu persatu juga, sehingga hal tersebut dirasa kurang efisien. Kemudian, jadwal-jadwal yang terbentuk masih terdapat kesalahan, yaitu dengan adanya jadwal yang tidak ada dosen pengujinya atau hanya terdapat seorang penguji. Untuk memperbaikinya, akan digantikan dengan penerapan Web Service yang berhubungan dengan database SIASAT, sehingga tidak perlu melakukan input jadwal dosen berulang-ulang. Selain itu, aplikasi yang akan dibuat ini akan dibuat dengan berbasis web, sehingga aplikasi ini dapat diakses di mana saja, tanpa melakukan peng-install-an terlebih dahulu. Perbedaan dari penelitian yang dilakukan oleh Ashinta dengan aplikasi yang akan dibuat dalam skripsi ini adalah metode yang akan digunakan dalam pemilihan dosen penguji. Fuzzy multi-attribute decision making (FMADM) digunakan dalam penelitian yang dilakukan oleh Ashinta, sedangkan dalam skripsi ini akan menggunakan metode yang termasuk di dalam FMADM itu sendiri, yaitu metode Technique for Order Preference by Similarity to Ideal Solution (TOPSIS). Metode TOPSIS ini didasarkan pada konsep
7
dimana alternatif terpilih yang terbaik tidak hanya memiliki jarak terpendek dari solusi ideal positif, namun juga memiliki jarak terpanjang dari solusi ideal negatif (Kusumadewi dalam Mahanani, 2006). Selain itu, penelitian yang dilakukan oleh Ashinta dibuat dengan berbasis desktop application, sedangkan aplikasi yang akan dibuat dalam skripsi ini adalah sistem berbasis web dan berhubungan dengan Web Service. Web Service ini akan berhubungan dengan database SIASAT, sehingga tidak perlu melakukan input jadwal dosen berulang-ulang. Penelitian lain yang berhubungan dengan penjadwalan ujian skripsi ini sudah dilakukan oleh Sinaga dalam penelitiannya yang berjudul Perancangan Aplikasi Agenda Ujian Tugas Akhir Berbasis Web. Aplikasi yang dibuat mampu membantu pengguna untuk memilih jadwal yang sesuai baik dalam hal waktu maupun ruangan yang tersedia. Kedua, aplikasi menyediakan informasi bagi dosen mengenai daftar mahasiswa yang sedang mengajukan ujian tugas akhir, daftar ujian yang akan dilaksanakan, dan daftar ujian yang sudah dilaksanakan. Ketiga, aplikasi membantu mahasiswa dalam menentukan jadwal ujian tugas akhir mulai dari pengajuan jadwal kepada ketiga dosen penguji hingga memperoleh jadwal ujian yang disetujui oleh ketiga dosen penguji (Sinaga, 2011). Jadwal ujian dapat terbentuk dalam penelitian yang dilakukan, namun tidak ada sistem auto-generate dalam penjadwalan yang dilakukan. Dosen akan mengisi sendiri pada jadwal dimana dosen tersebut dapat melakukan pengujian. Penerapan Web Service dalam pengembangan aplikasi sudah banyak dilakukan, sebagai contoh yaitu dalam penerapan Web
8
Service dalam sistem informasi pembelian kendaraan bermotor secara kredit. Penggunaan Web Service dalam sistem tersebut disebabkan karena teknologi Web Service memiliki kelebihan, yaitu merupakan teknologi yang lintas platform, sehingga memungkinkan komputer-komputer yang berbeda sistem operasi dapat saling bertukar data. Kelebihan yang lain adalah language independent, yang memungkinkan Web Service dapat diakses menggunakan bahasa pemrograman apa saja. Jembatan penghubung dengan database, umumnya sebuah aplikasi memerlukan driver database agar dapat melakukan koneksi ke dalam database. Web Service dapat dijadikan sebagai penghubung antara aplikasi dengan database, sehingga pertukaran data antar perusahaan akan lebih mudah dan cepat daripada harus menyesuaikan aplikasi dan database yang digunakan (Muaya, 2010).
2.2 Java Servlet Java Servlet adalah sebuah teknologi dari Java yang digunakan untuk pembuatan aplikasi web. Servlet adalah kelas pada Java yang berjalan pada server (server side) dan melakukan proses untuk halaman web dinamis dalam sebuah aplikasi web. Oleh karena hal itu, penulisan Servlet dalam pembuatan sebuah aplikasi web dilakukan oleh seorang web programmer, bukan oleh web designer. Setelah proses selesai, Servlet akan mengembalikan kode-kode HTML kepada web browser menggunakan fungsi println() (Murach dan Steelman, 2008). Servlet adalah kelas Java yang dirancang untuk merespon dengan konten dinamis untuk permintaan klien melalui jaringan.
9
Servlet ter-install dalam web containers sebagai bagian dalam aplikasi web. Aplikasi-aplikasi ini adalah kumpulan dari web resources seperti halaman HTML, gambar, multimedia, Servlet, Java Server Pages (JSP), XML, kelas pendukung Java, dan library pendukung Java. Ketika sebuah aplikasi web diletakkan dalam sebuah web container, container tersebut akan membuat dan memuat instansi-instansi dari kelas Java Servlet ke dalam Java Virtual Machine (JVM) untuk menangani permintaan yang ditujukan pada Servlet (Perry, 2004). Servlet dapat dijadikan sebagai alternatif dalam pembuatan sebuah web dinamis. Berikut ini adalah keuntungan yang dapat diberikan oleh Servlet untuk pengembangan web (Hunter, 2001). 1.
Portability Karena Servlet ditulis dalam bahasa Java, maka Servlet bisa
digunakan di berbagai jenis sistem operasi dan berbagai server. Dengan menggunakan Servlet, prinsip Java “tulis sekali, dipakai di mana saja” dapat diterapkan. Servlet bekerja hanya pada server yang digunakan untuk pengembangan dan deployment. 2.
Power Servlet dapat memanfaatkan semua kekuatan yang dimiliki
oleh Java APIs, yaitu jaringan dan akses URL, multithreading, manipulasi gambar, kompresi data, koneksi basis data (JDBC), object serialization, internationalization, Remote Method Invocation (RMI), dan legaly integration (CORBA). Selain itu, Servlet juga mengambil kelebihan dari platform J2EE yang meliputi support Enterprise JavaBeans (EJBs), distributed transactions (JTS),
10
standardized messaging (JMS), directory lookup (JNDI), dan advanced database access (JDBC 2.0). Dengan adanya standar API dalam Servlet, pengembangan aplikasi web menjadi lebih cepat, mudah, dan dapat diandalkan. 3.
Efficiency and endurance Permintaan kepada Servlet sangat efisien. Sekali sebuah
Servlet dimuat, Servlet akan tinggal di dalam memory server sebagai sebuah instansi objek. Setelah itu, server meminta kepada Servlet untuk menangani permintaan dengan metode yang mudah dan ringan. Servlet dapat langsung menangani hampir semua permintaan yang datang. Servlet menahan objek secara alami. Karena Servlet bertahan dalam memory server, maka Servlet akan mempertahankan keadaan dan sumber dari luar, seperti koneksi kepada database. 4.
Safety Servlet menurunkan tipe keamanan yang kuat dari bahasa
Java, karena Servlet ditulis dalam bahasa Java. Servlet secara umum aman dari masalah pengaturan memory, seperti dangling pointers, invalid pointer references, dan memory leaks. Servlet dapat menangani kesalahan dengan aman, karena adanya mekanisme penanganan kesalahan dari Java. Jika dalam Servlet terdapat operasi-operasi yang salah, maka Servlet akan memberikan peringatan yang dapat diambil dan ditangani secara aman oleh server.
11
5.
Elegance Kemewahan dari kode Servlet sangat mencolok. Kode Servlet
tersebut jelas, object oriented, modular, dan sangat sederhana. Satu alasan dari kesederhanaannya adalah dari Servlet API itu sendiri, termasuk method-method dan kelas yang menangani tugas rutin dari pengembangan Servlet. 6.
Integration Servlet memiliki integrasi yang sangat kuat dengan server.
Dengan integrasi ini, mengijinkan Servlet untuk bekerja sama dengan server yang tidak bisa dilakukan oleh CGI. Sebagai contoh, Servlet dapat menggunakan server untuk menerjemahkan alamat file, perform logging, check authorization, dan perform MIME type mapping. 7.
Extensibility and flexibility Servlet dirancang agar dapat dengan mudah dikembangkan.
Seperti sekarang ini, API berisi kelas-kelas dengan dukungan khusus untuk HTTP Servlet. Untuk ke depannya, bisa juga ditambah dan dioptimalkan untuk jenis Servlet yang lain. Kemungkinan juga, dukungan untuk HTTP Servlet dapat lebih ditingkatkan. Servlet juga cukup fleksibel dalam pembuatan sebuah konten. Servlet
dapat
membuat
sebuah
konten
secara
sederhana
menggunakan pernyataan out.println() atau membuat halamanhalaman yang rumit menggunakan sebuah template engine. Servlet dapat membuat sebuah halaman HTML dan memperlakukan
12
halaman tersebut sebagai sebuah objek dari Java atau membuat halaman HTML dengan melakukan perubahan dari XML ke HTML.
2.3 Web Service Web Service adalah sebuah sistem software yang dirancang untuk mendukung interoperabilitas interaksi antara mesin ke mesin pada sebuah network. Interface dideskripsikan pada format mesin seperti WSDL. Sistem lain yang berinteraksi dengan Web Service dilakukan melalui antarmuka menggunakan pesan seperti pada SOAP. Pada umumnya pesan ini memanfaatkan HTTP dan XML yang merupakan salah satu standar web (Wulandari dan Wicaksana, 2006). Web Service berbeda dengan web pada umumnya. Web berisi informasi-informasi yang dapat dipahami langsung oleh manusia dan memungkinkan terjadi interaksi di dalamnya. Sedangkan Web Service, tidak berisi informasi yang dapat dipahami secara langsung oleh manusia, karena hanya berisi layanan-layanan yang dapat dipakai oleh sistem. Informasi dapat diperoleh setelah layanan yang diambil dari Web Service telah diolah oleh sistem menjadi informasi yang dapat dipahami oleh manusia. Web Service muncul seiring dengan perkembangan aplikasi berbasis client-server. Sesuai dengan definisi yang dikeluarkan oleh konsorsuim W3C, Web Service diartikan sebagai sebuah sistem perangkat lunak yang dirancang untuk mendukung interoperabilitas interaksi mesin ke mesin lewat sebuah jaringan. Web Service memiliki sebuah interface yang dibangun dalam sebuah format yang dapat diproses oleh mesin, yang disebut dengan Web Service
13
Description
Language
(WSDL).
Sistem-sistem
yang
lain
berinteraksi dengan Web Service melalui WSDL yang sudah ditetapkan sebelumnya Protocol
(SOAP),
menggunakan
yang
biasanya
Simple Object
Access
dilangsungkan
dengan
menggunakan HTTP dengan sebuah serialisasi XML dalam penggabungan dengan standar web terkait lainnya. Inti
dari
adanya
Web
Service
adalah
mengenai
interoperabilitas. Interoperabilitas ini berbicara bukan hanya interoperabilitas atas sebuah bahasa pemrograman yang sama, namun juga berbicara mengenai interoperabilitas antar bahasa pemrograman yang berbeda, antar server dan platform yang berbeda pula, meliputi J2EE Server, .NET Framework, Perl, Apache Axis, Python, C++, dan sebagainya. Teknologi Web Service memampukan untuk berinteraksi dan bekerja sama dengan sistem yang berbeda, hal ini disebabkan karena Web Service adalah teknologi yang bebas platform, dengan kata lain, Web Service adalah media perantara yang digunakan untuk berkomunikasi yang tidak terbatas hanya pada bahasa pemrograman, sistem operasi, dan hardware tertentu (Muaya, 2010). Keuntungan-keuntungan penggunaan Web Service (Wulandari dan Wicaksana, 2006) : 1.
Web Service menyediakan interoperabilitas antar berbagai aplikasi perangkat lunak yang running pada platform yang berbeda.
2.
Web Service menggunakan standard dan protokol yang open. Jika memungkinkan protokol dan format data
14
adalah text-based, membuatnya mudah bagi pengembang untuk memahami. 3.
Dengan pemanfaatan HTTP, Web Service dapat bekerja melalui banyak pengukuran keamanan firewall yang umum tanpa menuntut perubahan bagi aturan firewall filtering.
4.
Web Service mengijinkan perangkat lunak dan service dari perusahaan
dan
lokasi
yang
berbeda
untuk
dikombinasikan dengan mudah untuk menyediakan suatu service yang terintegrasi. 5.
Web Service mengijinkan penggunaan kembali service dan komponen di dalam suatu infrastruktur.
6.
Web Service dapat secara bebas digabungkan (loosely coupled) dengan demikian memudahkan suatu pendekatan terdistribusi ke pengintegrasian aplikasi.
Kekurangan dari Web Service adalah (Wulandari dan Wicaksana, 2006) : 1.
Karakteristik standard Web Service saat ini masih dalam tahap perkembangan awal dibandingkan open standard komputer terdistribusi yang lebih matang seperti CORBA.
2.
Web Service dapat saja memiliki performance/kinerja yang lemah dibandingkan dengan pendekatan komputasi terdistribusi lain seperti RMI, CORBA, atau DCOM.
15
2.4 Sistem Penjadwalan Ujian Skripsi di FTI UKSW Skripsi merupakan tugas akhir dari seorang mahasiswa untuk memperoleh gelar sarjananya. Dalam penyusunan laporan skripsi, mahasiswa dibimbing oleh dua orang dosen. Dosen pembimbing 1 harus memiliki tingkat pendidikan terakhir minimal S2, sedangkan untuk dosen pembimbing 2 harus memiliki tingkat pendidikan terakhir minimal S1 atau di atasnya. Untuk
memperoleh
gelar
sarjana,
mahasiswa
harus
mengujikan skripsinya di hadapan tiga orang penguji yang memiliki kompentensi yang sesuai dengan topik skripsi serta memiliki hak untuk menguji skripsi tersebut. Sebelum dilakukan pengujian, KPTA akan membuat sebuah jadwal skripsi dari mahasiswa-mahasiswa yang telah mengajukan skripsinya untuk diujikan, serta memilih dosen-dosen penguji yang memiliki kompentensi sesuai dengan topik-topik skripsi dan membagi tugas antara penguji yang satu dengan yang lain secara rata. Penjadwalan juga dilakukan dengan mempertimbangkan jadwal dosen yang bersangkutan serta ruang yang digunakan untuk melakukan ujian skripsi. Diagram alur (Flowchart) dari sistem penjadwalan ujian skripsi ini dapat dilihat pada Gambar 2.1.
16
Gambar 2.1 Flowchart Diagram Penjadwalan Ujian Skripsi
17
2.5 Multi-Attribute Decision Making Multi Attribute Decision Making (MADM) adalah suatu metode yang digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu. MADM menentukan nilai bobot untuk setiap atribut, kemudian dilanjutkan dengan proses perangkingan yang akan menyeleksi alternatif yang sudah diberikan. Pada dasarnya, ada tiga pendekatan untuk mencari nilai bobot atribut, yaitu pendekatan subyektif, pendekatan obyektif, dan pendekatan integrasi antara subyektif dan obyektif. Pada pendekatan subyektif, nilai bobot ditentukan berdasarkan subyektifitas dari para pengambil keputusan, sehingga beberapa faktor dalam proses perangkingan alternatif bisa ditentukan secara bebas. Sedangkan pada pendekatan obyektif, nilai bobot dihitung secara matematis sehingga mengabaikan subyektifitas dari pengambil keputusan (Kusumadewi dalam Mahanani, 2006). MADM dilakukan melalui 2 langkah. Yang pertama adalah melakukan agregasi terhadap keputusan-keputusan yang tanggap terhadap semua tujuan pada setiap alternatif. Langkah kedua adalah melakukan perangkingan alternatif-alternatif keputusan tersebut berdasarkan hasil agregasi keputusan untuk mendapatkan alternatif yang terbaik. 2.5.1 Technique for Order Preference by Similarity Ideal Solution (TOPSIS) Metode TOPSIS merupakan salah satu metode pengambilan keputusan multikriteria. Metode TOPSIS didasarkan pada konsep dimana alternatif terpilih yang terbaik tidak hanya memiliki jarak
18
terpendek dari solusi ideal positif, namun juga memiliki jarak terpanjang dari solusi ideal negatif (Kusumadewi dalam Mahanani, 2011). Metode TOPSIS memperhatikan jarak ke solusi ideal positif maupun solusi ideal negatif, dengan mengambil keputusan yang dekat dengan solusi ideal positif. Solusi ideal positif adalah nilai terbaik dari setiap atribut, sedangkan solusi ideal negatif adalah nilai terburuk dari setiap atribut. Nilai preferensi dapat ditentukan dengan memperhatikan jarak antar keduanya. Konsep TOPSIS banyak digunakan pada beberapa model MADM untuk menyelesaikan masalah keputusan secara praktis. Hal tersebut dikarenakan konsep TOPSIS yang sederhana dan mudah dipahami, komputasinya efisien, dan memiliki kemampuan untuk mengukur kinerja relatif dan alternatif-alternatif keputusan dalam bentuk matematis yang sederhana (Kusumadewi dalam Mahanani, 2006). Dalam proses pemilihan dosen penguji, metode TOPSIS digunakan untuk mencari pilihan terbaik dari dosen-dosen penguji yang ada, didasarkan pada topik skripsi yang bersangkutan dan kompetensi-kompetensi dari dosen penguji. Nilai-nilai kompetensi dosen penguji diperoleh dari hasil wawancara dengan masingmasing dosen penguji. Prosedur TOPSIS secara umum terdiri dari langkah-langkah sebagai berikut (Kusumadewi dalam Mahanani, 2006): 1. Membuat matriks keputusan yang ternormalisasi. TOPSIS membutuhkan rating kerja setiap alternatif Ai pada setiap kriteria Ci yang ternormalisasi.
19
=
(2.1)
∑
dengan i = 1, 2, …, m; dan j = 1, 2, …, n 2. Membuat matriks keputusan yang ternormalisasi terbobot. (2.2)
=
dengan i = 1, 2, …, m; dan j = 1, 2, …, n 3. Menentukan matriks solusi ideal positif (A+) dan matriks solusi ideal negatif (A-) berdasarkan rating bobot ternormalisasi yij. =( dengan max = min min = max
=(
, ,
,…, ,…,
) )
(2.3) (2.4)
Jika j adalah atribut keuntungan Jika j adalah atribut biaya Jika j adalah atribut keuntungan Jika j adalah atribut biaya
4. Menentukan jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan matriks solusi ideal negatif. Jarak antara alternatif Ai dengan solusi ideal positif =
∑
−
(2.5)
20
Jarak antara alternatif Ai dengan solusi ideal negatif =
∑
−
(2.6)
5. Menentukan nilai preferensi untuk setiap alternatif (Vi). =
(2.7)
Nilai Vi yang paling besar merupakan alternatif terbaik yang didapat.