PERANCANGAN SISTEM PENDUKUNG KEPUTUSAN DALAM MENENTUKAN PILIHAN PROGRAM STUDI PADA SELEKSI NASIONAL MASUK PERGURUAN TINGGI NEGERI 1
Moh. Nasrul Aziz1, Eto Wuryanto1, dan Indah Werdiningsih1 Program studi S1 Sistem Informasi, Departemen Matematika, Fakultas Sains dan Teknologi, Universitas Airlangga
ABSTRAK Minat siswa untuk melanjutkan belajar ke perguruan tinggi setiap tahun terus meningkat, namun untuk memutuskan perguruan tinggi dan program studi yang cocok bagi mereka, merupakan hal yang cukup sulit dan berdampak buruk terhadap siswa. Skripsi ini merancang sebuah sistem pengambilan keputusan yang bertujuan untuk membantu siswa dalam memilih program studi pada perguruan tinggi negeri dengan menggunkan metode logika fuzzy. Untuk memberikan saran program studi yang tepat bagi siswa, sistem pendukung keputusan didasarkan pada input siswa yang berupa faktor bakat, faktor akademis, dan faktor ekonomi. Tahap pertama sistem akan menganalisa bakat siswa dengan menggunakan metode logika fuzzy, untuk mengetahui kategori kelompok program studi yang cocok dengan siswa. Selanjutnya ditahap kedua nilai try out dari siswa akan dianalisa menggunakan logika fuzzy untuk mendapatkan nilai tingkat kemampuan siswa terhadap program studi yang tepat bagi siswa. Tahap terakhir, hasil dari tahap pertama dan tahap kedua akan dicocokan dengan data perbandingan daya tampung dan jumlah peminat pada daftar program studi SNMPTN. Sistem akan menghasilkan saran berupa dua pilihan program studi bagi siswa berdasarkan analisis bakat, akademis, dan juga ekonomi. Saran yang dihasilkan oleh sistem pendukung keputusan pemilihan program studi ini, bukanlah suatu keputusan yang mutlak untuk siswa. Namun sistem pendukung keputusan hanya digunakan untuk mendampingi siswa dalam mengambil keputusan dalam penentuan program studi pada perguruan tinggi negeri. Kata kunci : logika fuzzy, perancangan sistem pendukung keputusan, pemilihan program studi. ABSTRACT Interest of the students to continue learning to college each year is on the rise, however, to decide on universities and programs that suit them, it is quite difficult and adverse impact on students. Undergraduate thesis designs a decision support system that aims to assist students in choosing programs of study at public universities by using fuzzy logic method. To advise the proper program of study for students, a decision support system based on student input in the form factors of talent, academic factors, and economic factors. In the first phase, the system will analyze the talent of the students by using fuzzy logic method to determine the category of programs of study that fit students. In the second phase, tryout value from students will be analyzed using fuzzy logic to obtain student's competence level on the right programs of study for students. Then in the last phase, results of the first phase and second phase will be matched with data of comparable capacity and the number of applicants on the list of programs of study SNMPTN. The system will generate suggestions that consist of two elective programs of study for students based on the analysis of talent, academic, and economic. Advice generated by the selection of decision support systems programs of study, is not an absolute decision for students, but the decision support system is used only to assist students in making decisions. Keywords: fuzzy logic, decision support system design, selection of programs of study. PENDAHULUAN Salah memilih program studi punya dampak yang signifikan terhadap kehidupan anak di masa mendatang. Problem psikologis mempelajari sesuatu yang tidak sesuai minat, bakat dan kemampuan, merupakan pekerjaan yang sangat tidak menyenangkan. Belajar karena terpaksa, akan sulit dicerna otak karena sudah ada blocking emosi. Problem akademis yang bisa terjadi jika salah mengambil pilihan, seperti prestasi yang tidak optimum, banyak mengulang mata kuliah yang berdampak bertambahnya waktu dan biaya, kesulitan memahami materi, kesulitan memecahkan persoalan, ketidakmampuan untuk mandiri dalam belajar, dan buntutnya adalah rendahnya nilai indeks prestasi. Selain itu, salah memilih program studi bisa mempengaruhi motivasi belajar dan tingkat kehadiran [1]. Banyak penelitian yang memaparkan hubungan antara minat siswa dengan kesuksesannya di bangku kuliah. Secara umum, hasil studi itu menunjukkan bahwa kekompakan bakat dengan minat yang bisa dilihat dari hasil tes psikologi, bisa membuat sang anak mencapai keberhasilan. Sebaliknya, jika seseorang memiliki minat namun tidak berbakat, kemungkinan besar ia akan mendapatkan nilai indeks prestasi yang minim [2]. Selain melihat hasil tes psikologi untuk memilih program studi yang sesuai adalah dengan melihat kemampuan akademik di tiap mata pelajaran selama SMU. Siswa cenderung akan memilih mata pelajaran yang dirasa ”disukai” dan cenderung menghasilkan nilai yang rapor yang tinggi. Kemampuan akademik juga dapat dilihat dari hasil tes uji coba yang dilakukan di sekolah atau lembaga bimbingan belajar [2]. Pada umumnya siswa melihat hasil tes psikologi, kemampuan akdemik, jumlah peminat dan daya tampung dilakukan secara terpisah. Masing-masing cara dirasa memiliki kelemahan. Untuk itu diharapkan adanya sebuah sistem yang berbasis komputer yang ditujukan untuk membantu pengambilan keputusan dengan memanfaatkan data dan model tertentu untuk memecahkan berbagai persoalan yang tidak terstruktur, yang dikenal dengan istilah sistem pendukung keputusan (SPK) (Morton, 1970). SPK mempunyai beberapa metode yang diaplikasikan didalamnya diantaranya Genetika Algoritma, Jaringan Saraf Tiruan, Logika Fuzy, Analytic Hierarcy Process (AHP), dan berbagai metode lain yang dianggap dapat digunakan dalam masalah pengambilan keputusan. SPK diartikan sebagai tambahan bagi para pengambil keputusan, untuk memperluas kapabilitas, namun tidak untuk menggantikan pertimbangan manajemen dalam pengambilan keputusannya.
Logika fuzzy adalah sebuah metode yang dapat digunakan sistem pendukung keputusan. Logika Fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk linguistik, konsep tidak pasti seperti "sedikit", "sedang", dan "sangat". Selain itu kelebihan dari teori logika fuzzy adalah kemampuan dalam proses penalaran secara bahasa (linguistic reasoning). Sehingga dalam perancangannya tidak memerlukan persamaan matematik dari objek yang akan dikendalikan [3]. Hal yang mendasari penggunaan logika fuzzy pada sistem pengambilan keputusan diantaranya konsep logika fuzzy mudah dimengerti, konsep matematis yang mendasari penalaran fuzzy sangat sederhana dan mudah dimengerti, memiliki toleransi terhadap data – data yang tidak tepat, dapat memodelkan fungsi – fungsi nonlinear yang sangat kompleks, dapat membangun dan mengaplikasikan pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan, serta logika fuzzy didasarkan pada bahasa alami. Untuk membantu calon siswa menentukan pilihan progam studi di perguruan tinggi, diharapkan adanya sistem pendukung keputusan yang mampu menganalisa bakat, minat, akademis, serta tingkat persaingan program studi yang dapat digunakan sebagai pendamping dalam proses pemilihan progam studi. Dalam sistem pendukung keputusan tersebut digunakan metode logika fuzzy melihat kondisi yang tidak menentu antara bakat, minat, serta akademis pada setiap siswa. METODE PENELITIAN Metode Pengumpulan Data Teknik pengumpulan data yang digunakan dalam penelitian ini, yaitu: 1. Pengambilan data batasan minimal untuk nilai tes psikologi dan nilai mata pelajaran untuk setiap kategori program studi dari buku Analisis Tes Bakat [4]. 2. Pengambilan data jumlah peminat dan daya tampung selama tiga tahun untuk setiap progam studi dari buku panduan SNMPTN. 3. Pengambilan daftar nilai hasil try out SNMPTN dari data hasil try out yang diadakan Universitas Negeri Surabaya dan BEM Unair. Teknik Pengolahan Data Data yang telah terkumpul selanjutnya diolah. Semua data yang terkumpul kemudian disajikan dalam susunan yang baik dan rapi di dalam sistem basis data. Yang termasuk dalam kegiatan pengolahan data adalah: 1. Menganalisa data batasan minimal tes psikologi untuk menentukan nilai fungsi keanggotaan fuzzy, yang kemudian disimpan dalam database. 2. Menganalisa data batasan minimal nilai rapor untuk menentukan nilai fungsi keanggotaan fuzzy, yang kemudian disimpan dalam database. 3. Menganilsa nilai tryout yang didapatkan siswa untuk mendapatkan nilai dari fungsi keanggotaan tryout, yang kemudian disimpan dalam database. 4. Membuat perbandingan jumlah peminat dan daya tampung untuk membuat ranking progam studi mulai dari yang mempunyai dtingkat persaingan sangat tinggi sampai tingkat persaingannya yang paling rendah, yang kemudian disimpan dalam database. 5. Menganalisa UMR disetiap kota untuk mendapatkan nilai kebutuhan hidup di setiap kota tempat perguruan tinggi negeri, sehingga didapatkan kisaran biaya hidup di suatu kota untuk membantu calon mahasiswa menentukan kemampuan ekonominya, yang kemudian disimpan dalam database sistem. Analisis Logika Fuzzy Fuzzyfikasi Pada tahap fuzzyfikasi, ditentukan input dan output sistem yang akan diubah kedalam fungsi keanggotaan. Input sistem berupa : nilai bakat, nilai try out, rencana anggaran biaya (RAB). Pada nilai bakat dibagi menjadi 7 input sistem yang diubah kedalam fungsi keanggotaan yaitu : Kecerdasan Umum (I), Spatial (SR), Mechanical (MR), Penalaran Abstrak (AR), Pemahaman Verbal/ Verbal Reasoning (VR), Numerikal (NA), dan Linguistic (LU). Output sistem berupa nilai bakat, yang dibagi menjadi 2 funggsi keanggotaan yaitu: bakat IPA dan bakat IPS. serta output sistem berupa program studi. Output sistem pendukung keputusan pemilihan program studi, sistem akan menghasilkan saran progam studi untuk siswa. Progam studi tersebut dapat dikelompokan kedalam : teknik, sains (MIPA), kedokteran/ farmasi, ekonomi/ manajemen, psikologi, sospol/hukum/komunikasi, sastra/seni/budaya, dan administrasi. yang masing – masing kelompok jurusan dibagi kedalam kategori rendah, sedang, dan tinggi, berdasarkan hasil nilai try out. Dan dengan menganalisa rencana anggaran biaya, sistem juga akan menganalisa program studi yang tepat bagi siswa berdasarkan faktor ekonomi. Sehingga pada output akhir sistem pendukung keputusan pemilihan program studi pada SNMPTN, akan dihasilkan output sistem berupa saran pemilihan jurusan berdasarkan analisis nilai bakat, try out, dan ekonomi dari seorang siswa peserta SNMPTN.
Inferensi Setelah ditentukan fungsi keanggotaan serta variabel linguistic untuk masing – masing fungsi keanggotaan, maka selanjutnya yang dilakukan adalah tahap inferensi. Inferesi adalah melakukan penalaran menggunakan fuzzy input dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy output. Secara sintaks, suatu fuzzy rule (aturan fuzzy) dituliskan sebagai: IF antecendent THEN consequent. Contoh dari aturan fuzzy dalam sistem pendukung keputusan pemilihan jurusan, adalah sebagai berikut:
[R1]
IF Kecerdasan Umum TINGGI And Spatial SANGAT TINGGI And Mechanical SANGAT TINGGI And Penalaran Abstrak SEDANG And Verbal Reasoning SEDANG And Numerikal SANGAT TINGGI And Linguistic RENDAH THEN Bakat IPA TINGGI;
Defuzzyfikasi Tahapan selanjutnya pada logika fuzzy adalah tahapan defuzzifikasi. Defuzzifikasi adalah mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan. Dalam tahapan Defuzzifikasi, metode yang digunakan adalah Weight average, karena metode ini merupakan tahapan Defuzzifikasi dari inferensi tsukamoto. Metode ini mengambil nilai rata-rata dengan menggunakan pembobotan berupa derajat keanggotaan. Sehingga y* didefinisikan sebagai:
di mana y* adalah nilai crisp dan (y) adalah derajat keanggotan dari nilai crisp y. Pencocokan dengan database Setelah didapatkan nilai dari Defuzzifikasi tahap selanjutnya adalah melakukan pencocokan nilai hasil analisa sistem dengan nilai perbandingan program studi yang ada di dalam database. Dalam melakukan pencockan dengan database sistem akan melakukan query dengan syarat yang diperoleh dari perhitungan nilai bakat, perhitungan nilai akademis, dan input nilai rencana anggaran biaya siswa. Setelah ditemukan data (program studi) yang cocok dengan nilai hasil analisa dari faktor nilai bakat, akademis, dan ekonomi. Maka nantinya sistem akan menghasilkan suatu saran berupa dua program studi untuk siswa. Output sistem terdiri dari Teknik, Sains (Mipa), Kedokteran/ Farmasi, Ekonomi/ Manajemen, Psikologi, Sospol/Hukum/Komunikasi, Sastra/Seni/Budaya, Administrasi. Yang masing masing output dibagi kedalam kategori tinggi, sedang dan rendah. Untuk pengelompokan tinggi, sedang, rendah didapatkan dari perbandingan daya tampung dan jumlah peminat dari masing – masing program studi, sehingga nanti dihasilkan range perbandingan masing – masing program studi mulai dari yang perbandingannya paling besar sampai yang paling kecil, yang selanjutnya di kelompokan menjadi tinggi, sedang, dan rendah. Perancangan Sistem Perancangan sistem dilakukan dengan menggunakan power designer untuk menggambarkan data flow diagram (DFD). Hal – hal yang perlu dibuat dalam perancangan sistem antara lain : 1. Berdasarkan data yang telah dikumpulkan dan dianalisis, maka dapat diperoleh entitas luar yang terlibat dalam sistem yang kemudian digambarkan dalam diagram. Entitas yang terdapat dalam sistem adalah : a. admin : bertugas sebagai penanggung jawab pada sistem. b. siswa : sebagai end user pada sistem. 2. Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output. Dalam sistem pendukung keputusan pemilihan program studi pada SNMPTN terdapat beberapa proses yaitu: a. Login b. Kelola data siswa c. Kelola data program studi d. Proses fuzzy 1 e. Proses fuzzy 2 3. Data store, ini biasanya berkaitan dengan penyimpanan penyimpanan, seperti file atau database yang berkaitan dengan penyimpanan secara komputerisasi. Terdapat 5 data store dalam sistem yaitu: a. Tabel siswa b. Tabel program studi c. Tabel fuzy 1 d. Tabel fuzzy 2 IPA e. Tabel fuzzy 2 IPS Perancangan Antar Muka Pada perancangan antar muka sistem akan dibahas GUI (general user interface) untuk sistem pendukung keputusan pemilihan program studi pada seleksi nasional masuk perguruan tinggi negeri. Antar muka adalah suatu bit program yang terdiri dari menu tombol yang saling berhubungan satu dengan yang lain, atau suatu bagian perangkat lunak yang digunakan oleh end user yang bisa dilihat dilayar monitor jika program dijalankan. Pada sistem pendukung keputusan pemilihan program studi pada seleksi nasional masuk perguruan tinggi negeri, perancangan antar muka terdiri dari: a. Halaman login, berfungsi untuk halaman awal sebagai bagian dari keamanan sistem. b. Halaman admin, berfungsi sebagai antar muka untuk interaksi seluruh proses yang dilakukan user admin. c. Halaman siswa, berfungsi sebagai antar muka sebagai interaksi antara user siswa dengan sistem. HASIL DAN PEMBAHASAN Dalam memilih program studi terdapat beberapa faktor untuk memutuskan program studi yang sesuai dengan siswa, faktor yang mempengaruhi dalam menentukan pilihan program studi antara lain : faktor psikolgis, faktor akademis dan faktor ekonomi. Data yang diperlukan oleh sistem untuk faktor psikologis siswa, yaitu data hasil tes psikologi siswa yang berupa : Kecerdasan Umum (I), Spatial (SR), Mechanical (MR), Penalaran Abstrak (AR), Pemahaman Verbal/ Verbal Reasoning (VR), Numerikal (NA), dan Linguistic (LU). Data yang diperlukan oleh sistem untuk faktor akademis adalah data hasil try out, sedangkan data yang diperlukan oleh sistem untuk faktor ekonomi adalah data rencana anggaran biaya (RAB).
Pada proses fuzzyfikasi mengubah masukan yang nilai kebenarannya bersifat pasti kedalam bentuk fuzzy input yang berupa nilai linguistic yang semantiknya ditentukan berdasarkan fungsi keanggotaan tertentu. Fungsi keanggotaan pada sistem pendukung keputusan dalam menentukan pilihan program studi pada seleksi nasional masuk perguruan tinggi negeri meliputi: 1. Fungsi keanggotaan kecerdasan umum (I) 7. Linguistic (LU) 2. Fungsi keanggotaan Spatial (SR) 8. Try out 3. Mechanical (MR) 9. RAB 4. Penalaran Abstrak (AR) 10. Bakat IPA 5. Pemahaman Verbal (VR) 11. Bakat IPS 6. Numerikal (NA) 12. Program studi Yang selanjutnya dari seluruh fungsi keanggotaan akan dibentuk kedalam modul – modul algoritma yang terdapat dalam proses fuzzyfikasi. Yang terdiri dari proses fuzzyfikas 1 dan proses fuzzyfikasi 2. Selanjutnya adalah Inferensi, melakukan penalaran menggunakan fuzzy input dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy output. Dalam inferensi ini dibentuk kombinasi aturan dari seluruh variabel linguistic setiap fungsi keanggotaan, untuk tahap inferensi 1, dari fungsi keanggotaan nilai bakat dapat dibentuk aturan sebagai berikut: 1. Fungsi keanggotaan kecerdasan umum (I) terdiri dari 3 variabel linguistic. 2. Fungsi keanggotaan Spatial (SR) terdiri dari 4 variabel linguistic. 3. Mechanical (MR) terdiri dari 3 variabel linguistic. 4. Penalaran Abstrak (AR) terdiri dari 4 variabel linguistic. 5. Pemahaman Verbal (VR) terdiri dari 4 variabel linguistic. 6. Numerikal (NA) terdiri dari 4 variabel linguistic. 7. Linguistic (LU) terdiri dari 4 variabel linguistic. Sehingga untuk inferensi yang terbentuk pada proses fuzzy yang pertama adalah : 3 × 4 × 3 × 4 × 4 × 4 × 4 = 9126 aturan [5]. Untuk tabel inferensi1 dapat dilihat pada Tabel 1. Tabel 1 inferensi1 Id
Intelegent
Spatial
Mechanical
Abstrak
Verbal
Numerikal
Linguistic
Bakat ipa
Bakat ips
1
ST
ST
ST
ST
ST
ST
ST
ST
ST
2
ST
ST
ST
ST
ST
ST
T
ST
ST
3
ST
ST
ST
ST
ST
ST
S
ST
ST
4
ST
ST
ST
ST
ST
ST
R
ST
ST
5
ST
ST
ST
ST
ST
T
ST
ST
ST
6
ST
ST
ST
ST
ST
T
T
ST
ST
7
ST
ST
ST
ST
ST
T
S
ST
ST
8
ST
ST
ST
ST
ST
T
R
ST
ST
9126
S
R
S
S
S
S
S
S
SR
Pada tahap inferensi yang kedua dalam menentukan nilai program studi, dipengaruhi oleh nilai bakat ( nilai bakat IPA atau nilai bakat IPS) dan nilai try out. 1. Try out terdiri dari 3 variabel linguistic. 2. Bakat IPA terdiri dari 3 variabel linguistic. 3. Bakat IPS terdiri dari 5 variabel linguistic. Sehingga pada tahap fuzzy yang kedua untuk siswa jurusan IPA akan terbentuk aturan sebanyak : 3 × 3 = 9 aturan, yang dapat dilihat pada Tabel 2. Sedangkan untuk siswa dengan jurusan IPS akan terbentuk aturan sebanyak : 3 × 5 = 15 aturan, yang Tabel 3 inferensi IPS dapat dilihat pada Tabel 3. ID try out NB IPS PS Tabel 2 inferensi IPA ID 1 2 3 4 5 6 7 8 9
try out S S S T T T ST ST ST
NB IPA S T ST S T ST S T ST
PS S S T S T ST T ST ST
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
S S S S S T T T T T ST ST ST ST ST
SR R S T ST SR R S T ST SR R S T ST
S S T T ST S T T ST ST T T ST ST ST
Setelah tahapan inferensi selesai selanjutnya adalah tahapan defuzzyfikasi. Pada algoritma defuzzyfikasi algoritma yang digunakan bersumber dari metode weight average. Metode ini mengambil nilai rata-rata dengan menggunakan pembobotan berupa derajat keanggotaan. Perancangan Sistem Dan Algoritma Perancangan sistem dibuat berdasarkan hasil analisis pada perancangan sistem akan dibahas tentang perancangan proses dengan data flow diagram (DFD).
Gambar 1 merupakan gambar context diagram dari sistem pendukung keputusan dalam menentukan pilihan program studi pada seleksi nasional masuk perguruan tinggi negeri. Ada 2 entitas luar yang berhubungan dengan sistem ini yaitu admin dan siswa, dari entitas admin, sistem akan menerima masukan berupa identitas login, data siswa, serta data program studi PTN. Sedangkan dari siswa sistem akan menerima masukan berupa identitas login, data tes bakat, nilai try out, dan rencana anggaran biaya. Setelah sistem melakukan analisa pemilihan jurusan maka entitas siswa akan menerima output sistem berupa saran pemilihan program studi dari sistem.
Gambar 1 Context diagram Pada DFD level 0 dari sistem pendukung keputusan dalam menentukan pilihan program studi pada seleksi nasional masuk perguruan tinggi negeri. DFD level 0 terdapat tujuh proses, yaitu proses login, proses memasukan data program studi, proses memasukan data siswa, proses fuzzy tahap 1, proses fuzzy tahap 2, dan proses pencocokan kedatabase. Untuk algoritma umum SPK pemilihan program studi SNMPTN bisa dilihat pada Gambar 2.
pencocokan ke database. Dapat dilihat pada Gambar 4.9. 1. 2. 3. 4. 5.
mulai tahapan fuzzy 1 tahapan fuzzy 2 pencocokan dengan data base selesai
Gambar 2 Algoritma umum SPK pemilihan prodi Proses fuzzy 1 Pada DFD level 1 proses fuzzy 1, terdiri dari 4 proses yaitu proses mengecek input, fuzzyfikasi, inferensi dan defuzzyfikasi. Pada proses fuzzyfikasi, data tes bakat yang dimasukan oleh siswa akan dicocokan dengan fungsi keanggotaan, sehingga dihasilkan variabel fungsi keanggotaan yang sesuai untuk masing – masing nilai tes bakat ( intelegent, spatial, mechanical, abstrak, verbal, numerikal, dan linguistic). Kemudian proses dilanjutkan dengan proses inferensi. Pada proses inferensi hasil dari proses mengecek input akan dicocokan dengan rule – rule yang terdapat pada tabel inferensi1 untuk mendapatkan nilai untuk setiap rule yang sesuai denagn menuju ketahapan fuzzyfikasi. selanjutnya nilai input yang sesuai dengan aturan dalam tabel inferensi1 akan dihitung nilai setiap variabel fungsi keanggotaanya. Selanjutnya akan dihitung nilai minimum dan nilai predikat setiap aturan yang sesuai. Tahapan selanjutnya hasil inferensi berupa nilai minimum dan predikat setiap aturan akan dikirimkan ketahapan defuzzyfikasi. Pada tahap ini akan dihitung nilai bobot untuk mendapatkan suatu nilai bakat. Untuk lebih jelasnya dapat dilihat pada Gambar 2
Gambar 2 DFD level 1 proses fuzzy 1
Contoh proses fuzzy 1: seorang siswa yang bernama bima jurusan IPA, memasukan kedalam sistem dengan nilai tes bakat seperti pada Tabel 4. Tabel 4 Input nilai bakat Intelegent 130
Spatial 140
Mechanical 140
Abstrak 140
Verbal 140
Numerikal 125
Linguistic 140
Selanjutnya sistem akan menentukan bahwa nilai input yang berupa nilai bakat akan ditentukan mempunyai variabel linguistic seperti pada Tabel 5. Tabel 5 variabel linguistic hasil inputnilai bakat Intelegent ST T
Spatial ST -
Mechanical ST -
Abstrak ST -
Verbal ST -
Numerikal ST T
Linguistic ST -
Setelah didapatkan masing – masing variabel linguistic dari setiap fungsi keanggotaan, selanjutnya dari seluruh variabel linguistic dengan menggunakan algoritma tahap mencari komposisi aturan seperti pada Gambar 3 akan didapatkan rule yang sesuai seperti pada Tabel 6. Tabel 6 Rule hasil inferensi 1 ID INTELEGENT SPATIAL MECHANICAL ABSTRAK VERBAL NUMERIKAL LINGUISTIC BAKAT IPA 1
ST
ST
ST
ST
ST
ST
ST
ST
5
ST
ST
ST
ST
ST
T
ST
ST
3073
T
ST
ST
ST
ST
ST
ST
ST
3077
T
ST
ST
ST
ST
T
ST
ST
Sql komposisi = mysql_query (select * from tabel_rule_fuzzy_1 WHERE ( intelegent = intelegent [0] OR intelegent = intelegent [1] ) AND ( spatial = spatial [0] OR spatial = spatial [1] ) AND (mechanical = mechanical [0] OR mechanical = mechanical [1] ) AND (abstrak = abstrak [0] OR abstrak = abstrak [1] ) AND ( verbal = verbal [0] OR verbal = verbal [1]) AND (numerikal = numerikal [0] OR numerikal = numerikal [1] ) AND (linguistic = linguistic [0] OR linguistic = linguistic [1]))
Gambar 3 Algoritma mencari komposisi aturan Setelah diketahui masing masing nilai keanggotaanya, selanjutnya akan dihitung nilai R dan predikat setiap aturan dengan menggunakan algoritma seperti pada Gambar 4, sehingga akan didapatkan nilai R dan predikat untuk masing – masing aturan sebagai pada Tabel 7. Tabel 6 Nilai R dan predikat fuzzy 1
1. R = array; // variabel untuk menampung nilai 2. While ( data = mysql_fetch_array (Sql komposisi) ) { 3. R[0] = CARI NILAI MINIMUM ( 4. IF (data[intelegent] = s) THEN CALL FUNCTION (µ sedang i (i)); 5. ELSE IF (data[intelegent] = t) THEN CALL FUNCTION (µ tinggi (i)); 6. ELSE IF (data[intelegent] = st) THEN CALL FUNCTION (µ sangat tinggi i (i)); 7. IF (data [spatial] = r) ( µ rendah sr (sr)); 8. ELSE IF data [spatial] = s) THEN CALL FUNCTION ( µ sedang sr (sr)); 9. ELSE IF data [spatial] = t) THEN CALL FUNCTION ( µ tinggi sr (sr)); 10. ELSE IF data [spatial] = st) THEN CALL FUNCTION ( µ sangat tinggi sr (sr)); 11. IF (data [mecahnical] = r) THEN CALL FUNCTION ( µ rendah mr (mr)); 12. ELSE IF data [mecahnical] =s) THEN CALL FUNCTION ( µ sedang mr (mr)); 13. ELSE IF data [mecahnical] = t) THEN CALL FUNCTION ( µ tinggi mr (mr)); 14. ELSE IF data [mecahnical] = st) THEN CALL FUNCTION ( µ sangat tinggi mr (mr)); 15. IF (data [abstrak] = r) THEN CALL FUNCTION ( µ rendah ar (ar)); 16. ELSE IF data [abstrak] = s) THEN CALL FUNCTION ( µ sedang ar (ar)); 17. ELSE IF data [abstrak] = t) THEN CALL FUNCTION ( µ tinggi ar (ar)); 18. ELSE IF data [abstrak] = st) THEN CALL FUNCTION ( µ sangat tinggi ar (ar)); 19. IF (data [verbal] = r) THEN CALL FUNCTION ( µ rendah vr (vr)); 20. ELSE IF data [verbal] = s) THEN CALL FUNCTION ( µ sedang vr (vr)); 21. ELSE IF data [verbal] = t) THEN CALL FUNCTION ( µ tinggi vr (vr)); 22. ELSE IF data [verbal] = st) THEN CALL FUNCTION ( µ sangat tinggi vr (vr)); 23. IF (data [numerikal] = r) THEN CALL FUNCTION ( µ rendah na (na)); 24. ELSE IF data [numerikal] = s) THEN CALL FUNCTION ( µ sedang na (na)); 25. ELSE IF data [numerikal] = t) THEN CALL FUNCTION ( µ tinggi na (na)); 26. ELSE IF data [numerikal] = st) THEN CALL FUNCTION ( µ sangat tinggi na (na)); 27. IF (data [linguistik] = r) THEN CALL FUNCTION ( µ rendah lu (lu)); 28. ELSE IF data [linguistik] = s) THEN CALL FUNCTION ( µ sedang lu (lu)); 29. ELSE IF data [linguistik] = t) THEN CALL FUNCTION ( µ tinggi lu (lu)); 30. ELSE IF data [linguistik] = st) THEN CALL FUNCTION ( µ sangat tinggi lu (lu)); ) 31. IF (jurusan = IPA) THEN { 32. Predikat[0] = (IF (data [bakat ipa] = s) THEN CALL FUNCTION ( µ sedang bakat ipa (R)); 33. ELSE IF data [bakat ipa] = t) THEN CALL FUNCTION ( µ tinggi bakat ipa (R)); 34. ELSE IF data [bakat ipa] = st) THEN CALL FUNCTION ( µ sangat tinggi lu (R));} 35. ELSE { Predikat [0] = IF (data [bakat ips] = sr) THEN CALL FUNCTION (µ sangat rendah bakat ips (R)); 36. ELSE IF (data [bakat ips] == r) THEN CALL FUNCTION (µ rendah bakat ips (R)); 37. ELSE IF (data [bakat ips] = s) THEN CALL FUNCTION (µ sedang bakat ips (R)); 38. ELSE IF (data [bakat ips] = t) THEN CALL FUNCTION(µ tinggi bakat ips (R)); 39. ELSE IF (data [bakat ips] == st) THEN CALL FUNCTION (µ sangat tinggi bakat ips (R));}
Gambar 4 algoritma menghitung nilai R dan predikat
Setelah didapatkan nilai R dan predikat untuk setiap aturan, tahap selanjutnya yaitu tahap defuzzyfikasi. Pada tahap defuzzyfikasi dengan menggunakan metode weight average seperti ditunjukan pada Gambar 5, akan didapatkan nilai bakat siswa sebagai berikut: 𝑧=
0.5 × 880 + 0.25 × 850 + 0.5 × 880 + 0.25 × 850 0.5 + 0.25 + 0.5 + 0.25
𝑧=
1305 = 870 1.5
1. 2. 3. 4. 5. 6. 7.
Mulai Baca nilai R dan predikat dari tahapan inferensi. z 0; //variabel untuk menampung nilai z. FOR (i=0; i<128; i++) { //ulangi aturan ke – 1 sampai aturan ke 128. pembilang pembilang + R[0] * predikat[0]; penyebut penyebut + R[0]; } z pembilang / penyebut;
Gambar 5 algoritma defuzzyfikasi 1 Jadi dari tahap fuzzy 1, nilai bakat bima didapatkan sebesar 870, kemudian nilai 870 dimasukan kedalam fungsi keanggotaan nilai bakat IPA, yang didapatkan bahwa nilai bakat 870 masuk dalam kategori TEKNIK. Proses fuzzy 2 Pada DFD level 1 proses fuzzy 2, terdiri dari tiga proses yaitu proses fuzzyfikasi, inferensi dan defuzzyfikasi. Pada proses fuzzyfikasi, data nilai bakat hasil fuzzy 1 dan nilai try out yang dimasukan oleh siswa akan dicocokan dengan fungsi keanggotaan, sehingga dihasilkan variabel linguistik fungsi keanggotaan yang sesuai untuk masing – masing nilai tes bakat. Kemudian proses dilanjutkan dengan proses inferensi pada proses inferensi hasil dari proses mengecek input akan dicocokan dengan rule – rule yang terdapat pada tabel inferensi2 untuk mendapatkan nilai untuk setiap rule yang sesuai. kemudian nilai input yang sesuai dengan aturan dalam tabel inferensi2 akan dihitung nilai setiap variabel fungsi keanggotaanya. Selanjutnya akan dihitung nilai minimum dan nilai predikat setiap aturan yang sesuai. Selanjutnya hasil inferensi berupa nilai minimum dan predikat setiap aturan akan dikirimkan ketahapan defuzzyfikasi. Pada tahap ini akan dihitung nilai bobot untuk mendapatkan suatu nilai program studi. Untuk lebih jelasnya dapat dilihat pada Gambar 6.
Gambar 6 DFD level 1 proses fuzzy 2 Untuk algoritma pada proses fuzzy 2 tahapannya terdiri dari: inisialisasi data, inisialisasi data adalah proses deklarasi variabel yang akan digunakan dalam tahap fuzzy 2, variabel yang digunakan yaitu nb dan to, nb adalah variabel bertipe double yang digunakan untuk menampung nilai bakat, sedangkan to adalah variabel bertipe double untuk menanmpung nilai try out. Selanjutnya tahap membaca data, yaitu tahapan membaca data dari proses sebelumnya dan dari input user. Untuk nilai try out nilainya dimasukan oleh siswa yang kemudian akan ditampung dalam variabel to. Untuk variabel nb nilainya didapat dari tahapan sebelumnya yaitu tahapan fuuzy 1. Tahap selanjutya yaitu tahapan Mengecek input nilai terhadap fungsi keanggotaan yang sesuai, fuzzyfikasi 2, inferensi 2, dan defuzzyfikasi 2. Untuk tahapan umum fuzzy 2 dapat dilihat pada Gambar 7. Pada contoh proses fuzzy 2, melanjutkan dari data seorang siswa yang sama, pada tahap fuzzy 2, sistem membutuhkan nilai try out siswa dan nilai tes bakat siswa hasil proses fuzzy 1 seperti pada Tabel 7. 1. 2. 3. 4. 5. 6. 7.
Mulai Inisialisasi data: Membaca data: Tahapan Fuzzyfikasi; Tahapan inferensi; Tahapan defuzzyfikasi; Selesai
Tabel 7 Input fuzzy 2
Try out Tes Bakat
40 870
Gambar 7 Algoritma proses fuzzy 2 Selanjutnya sistem akan menentukan bahwa nilai input yang berupa nilai bakat akan ditentukan mempunyai variabel linguistic, seperti pada Tabel 8:
Tabel 8 variabel linguistic fuzzy 2 Try Out ST T
Tes Bakat ST T
Setelah didapatkan masing – masing variabel linguistic dari setiap fungsi keanggotaan, selanjutnya adalah tahap inferensi. Pada tahap inferensi dari seluruh variabel linguistic akan didapatkan aturan yang sesuai. Proses mencari aturan dapat dilihat pada Gambar 8. Untuk aturan yang sesuai yaitu hasil inferensi 2 dapat dilihat pada Tabel 9. Selanjutnya dari masing – masing aturan akan dihitung setiap nilai fungsi keanggotaannya, dari hasil menghitung fungsi keanggotaan didapatkan nilai seperti pada Tabel 10. Tabel 9 Rule hasil inferensi 2 ID
try out
NB IPA
PS
5
T
T
T
6
T
ST
ST
8
ST
T
ST
9
ST
ST
ST
Sql komposisi2 = mysql_query (select * from tabel_rule_fuzzy_2 WHERE ( nilai_bakat = nilai bakat [0] OR nilai_bakat = nilai bakat[1] ) AND ( try_out = try out [0] OR try_out = try out [1] ) )
Gambar 8 Algoritma proses mencari aturan 2 Tabel 10 Nilai setiap fungsi keanggotaan fuzzy 2 Try Out ST T 0.48 0.52
Tes Bakat ST T 0.375 0.625
Setelah diketahui masing masing nilai keanggotaanya, selanjutnya akan dihitung nilai R dan predikat setiap aturan, seperti pada algoritma menghitung nilai R dan predikat pada Gambar 9. Selanjutnya akan didapatkan nilai sebagai R dan predikat untuk fuzzy 2 seperti pada Tabel 11. Tabel 10 Nilai R dan predikat fuzzy 2 ID
R
PREDIKAT
5
0.52
5.79
6
0.375
5.45
8
0.48
5.92
9
0.375
5.45
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
R = array; WHILE ( data = mysql_fetch_array (Sql komposisi2) ) { R[0] CARI NILAI MINIMUM ( IF (data[nilai_bakat] = s) THEN CALL FUNCTION (µ bakat sedang (nb)); ELSE IF (data[nilai_bakat] = t) THEN CALL FUNCTION (µ bakat tinggi (nb)); ELSE IF (data[nilai_bakat] = st) THEN CALL FUNCTION (µ bakat sangat tinggi (nb)); IF data [try_out] = s) THEN CALL FUNCTION ( µ sedang try out (to)); ELSE IF data [try_out] = t) THEN CALL FUNCTION ( µ tinggi try out (to)); ELSE IF data [try_out] = st) THEN CALL FUNCTION ( µ sangat tinggi try out (to));) Predikat[0] { IF (data [program_studi] = s) THEN CALL FUNCTION ( µ sedang program_studi (R)); ELSE IF data [program_studi] = t) THEN CALL FUNCTION ( µ tinggi program_studi (R)); ELSE IF data [program_studi] = st) THEN CALL FUNCTION ( µ sangat tinggi lu (R));}}
Gambar 9 Algoritma menghitung nilai R dan predikat 2 Setelah didapatkan nilai R dan predikat untuk setiap aturan, tahap selanjutnya yaitu tahap defuzzyfikasi. Pada tahap defuzzyfikasi dengan menggunakan metode weight average, seperti pada Gambar 10, akan didapatkan nilai program studi siswa sebagai berikut: 1. Mulai 𝑧=
0.52 × 5.79 + 0.375 × 5.45 + 0.48 × 5.92 + 0.375 × 5.45 0.52 + 0.375 + 0.48 + 0.375
𝑧=
9.94 = 5.68 1.75
2. 3. 4. 5. 6. 7.
Baca nilai R dari tahapan inferensi. z =0; FOR (i=0; i<4; i++) //ulangi aturan ke – 1 sampai aturan ke 4. {pembilang = pembilang + R[0] * predikat[0]; penyebut = penyebut + R[0];} z = pembilang / penyebut;
Gambar 10 Algoritma proses defuzzyfikasi 2 Jadi dari tahap fuzzy 2, nilai program studi bima didapatkan sebesar 5.68. Proses pencocokan data base Pada tahap pencocokan database, hanya terdiri dari dua proses, yaitu proses query kategori dan RAB , dilanjutkan dengan query saran pertama dan kedua. Didalam proses pencocokan database entitas yang terlibat hanya entitas siswa yang memasukan nilai RAB. Data kategori program studi hasil proses fuzzy 1 juga digunakan dalam proses pencocokan yang digunakan dalam proses query kategori dan RAB. Selanjutnya data nilai program studi hasil proses fuzzy 2 akan digunakan dalam proses query saran pertama dan kedua . Hasil dari query saran pertama dan kedua akan dikembalikan kepada siswa berupa saran program studi. Dan seluruh proses dalam SPK pemilihan program studi pada SNMPTN telah selesai. Untuk lebih jelasnya, proses pencocokan databse dapat dilihat pada Gambar 11.
Gambar 11. DFD level 1 proses pencocokan database Melanjutkan contoh dari proses fuzzy 2, bahwa input dalam proses pencocokan database adalah kategori prodi hasil proses fuzzy1, input RAB oleh bima, dan hasil proses fuzzy2 seperti pada Tabel 11. Setelah itu proses dilakukan dengan query kategori dan RAB, sehingga dihasilkan program studi sesuai query seperti pada Tabel 12. Tabel 12 Hasil query kategori dan RAB
Tabel 11 Input proses pencocokan database
ID
NAMA PRODI
009
T. INFORMATIKA
KATEGORI UNIVERSITAS TEKNIK
ITS
BIAYA
PERBANDINGAN 3.72
UNM
RENDAH HIDUP RENDAH
180
PENDIDIKAN TI
TEKNIK
360
ARSITEKTUR
TEKNIK
UGM
RENDAH
113
T. SIPIL
5.03
TEKNIK
ITS
RENDAH
6.83
4.49
Tahap selanjutnya adalah query saran pertama dan kedua, sehingga didapatkan saran program studi dengan nilai yang mendekati 22.21. untuk pilihan pertama akan diambil nilai harapan yaitu nilai lebih besar terdekat dari 22.21, sedangkan untuk saran ke 2, nilai yang diambil tepat pada 22.21 atau nilai lebih kecil terdekat dari 22.21. sehingga dihasilkan saran sistem seperti pada Tabel 13. Algoritma query saran pertama dan kedua dapat dilihat pada Gambar 12. Tabel 13 Hasil output sistem PILIHAN
NAMA PRODI
UNIVERSITAS
PERBANDINGAN
1
ARSITEKTUR
UGM
5.03
2
T. SIPIL
ITS
6.83
1.
Saran1 = mysql_query SELECT id, program studi, universitas, perbandingan FROM tabel_program_studi WHERE (perbandingan – n ) = (select max (perbandingan – n )FROM `coba` WHERE (perbandingan – n ) <0 )
2.
Saran2 = mysql_query select id, program studi, universitas, perbandingan FROM tabel_program_studi WHERE (perbandingan – n ) = (select min (perbandingan – n )FROM `coba` WHERE (perbandingan – n ) >= 0 )
Gambar 11 Query saran 1 dan saran 2 Rancangan antar muka sistem Pada rancangan antar muka sistem akan dibahas GUI (general user interface) untuk sistem pendukung keputusan pemilihan program studi pada seleksi nasional masuk perguruan tinggi negeri. Pada saat pertama kali mengakses sistem, user akan disuguhi halaman login, halaman ini berguna untuk pintu awal sistem. Dihalaman ini user diminta memasukan username dan password dengan benar untuk masuk kedalam menu utama sistem. Setelah user yang berstatus admin berhasil login dengan memasukan username dan password secara benar. User akan bertemu dengan halaman admin. Pada halaman admin user disuguhi tiga menu utama dari admin, yaitu: menu ubah data siswa , menu ubah data program studi, dan menu ubah password. Selanjutnya adalah halaman siswa, pada halaman siswa hanya terdapat dua menu utama yaitu saram program studi dan ubah password. Untuk masuk kedalam saran program studi, user harus memilih menu “saran program studi”. Kemudia user akan masuk dalam form masukan nilai. Didalam form masukan nilai, user diminta mengisi kolom intelegent, spatial, mechanical, abstrak, verbal, numerikal, linguistic, try out, RAB, dan memilih jurusan IPA atau IPS yang sesuai dengan user. Kemudian user memilih tombol “proses” untuk mendapatkan hasil perhitungan sistem tentang saran program studi yang sesuai. Gambar 12 menunjukan form masukan nilai, sedangkan hasil dari proses saran program studi dapat dilihat pada Gambar 13.
Gambar 13 Halaman hasil saran sistem Gambar 12 Halaman masukan nilai
KESIMPULAN Dalam penelitian ini dapat disimpulkan, bahwa untuk merancang sistem pendukung keputusan pemilihan program studi adalah sebagai berikut: 1. Menganalisa masalah yang dihadapi oleh siswa dalam proses memilih program studi pada perguruan tinggi negeri, serta menganalisis faktor – faktor yang mempengaruhi dalam proses pemilihan program studi. 2. Menjelaskan proses, database, dan alur data yang ada dalam sistem menggunakan data flow diagram, pada sistem pemilihan program studi dengan pendekatan logika fuzzy terdapat proses : a. Fuzzyfikasi : Merubah setiap nilai input dari faktor yang memepengaruhi proses pengambilan keputusan kedalam suatu bentuk fungsi keanggotaan dalam logika fuzzy. b. Inferensi : menghitung nilai fungsi keanggotaan berdasarkan basisdata pengetahuan dari logika fuzzy. c. Defuzzyfikasi : mengubah nilai hasil inferensi menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan. d. Melakukan pencocokan dari hasil proses fuzzy kedalam database. 3. Membuat perancangan antarmuka sistem.
SARAN Saran dalam penelitian untuk penelitian selanjutnya adalah sebagai berikut: 1. Sistem pendukung keputusan pemilihan program studi ini hanya sampai pada tahap perancangan sistem. Untuk dapat memberikan saran pemilihan program studi yang sesuai, sistem harus melalui tahap implementasi dan pengujian sistem. 2. Pengelompokan program studi dapat menggunakan metode lain, untuk menentukan pilihan program studi seperti metode clustering, neural network, dan decision tree. 3. Perancangan sistem saat ini hanya memberikan saran untuk siswa yang memilih IPA dan IPS, untuk peneletian selanjutnya dapat dikembangkan pada siswa yang memilih IPC. DAFTAR PUSTAKA [1] Susilowati, P., 1998, Memilih Jurusan di Perguruan Tinggi, http://www.e-psikologi.com, di akses pada tanggal 20 agustus 2011. [2] Suhermin A.P. dan Astuti A.M., 1998, Sistem Pengambilan Keputusan Pemilihan Jurusan di Perguruan Tinggi, Program Magister Bidang Keahlian Evaluasi dan Perencanaan Pendidikan Jurusan Statistika Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Teknologi Sepuluh Nopember. [3] Zadeh, L. A.,1965, Fuzzy Sets, Information and Control , vol. 8, no. 3, pp. 338-353. [4] Kusmawati, D.P.E.N. dan Sukardi, D.K., 2005, Analisis Tes Bakat, Ghalia [5] Surmann, H., dan Selenschtschikow, A., 2002, Automatic generation of fuzzy logic rule bases: Examples I, First International Icsc Conference On Neuro-Fuzzy Technologies, Cuba.