Bab 2 Tinjauan Pustakarepository.uksw.edu/bitstream/123456789/1736/3/T1...merupakan teknologi yang...
Transcript of Bab 2 Tinjauan Pustakarepository.uksw.edu/bitstream/123456789/1736/3/T1...merupakan teknologi yang...
5
Bab 2
Tinjauan Pustaka
2.1 Penelitian TerdahuluAplikasi 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 Multi-
Attribute 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
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 ServletJava 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 halaman-
halaman 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 ServiceWeb 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 menggunakan Simple Object Access
Protocol (SOAP), yang biasanya 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 UKSWSkripsi 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 MakingMulti 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 masing-
masing 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.= ( , , … , ) (2.3)= ( , , … , ) (2.4)
dengan= maxmin= minmax
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)
Jika j adalah atribut keuntunganJika j adalah atribut biaya
Jika j adalah atribut keuntunganJika j adalah atribut biaya
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.