Anda di halaman 1dari 136

1

LAPORAN PROYEK KHUSUS


PORTAL BEASISWA KPU
DENGAN SISTEM PENDUKUNG KEPUTUSAN BERBASIS FUZZY

Kidung Hudha Candra Bumi (08/265927/PA/11929)
Poerwiyanto (08/269978/PA/12157)
Uki Astika Mancasari (08/269581/PA/11982)




JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2011

2

HALAMAN PENGESAHAN
LAPORAN PROYEK KHUSUS
PORTAL BEASISWA KPU
DENGAN SISTEM PENDUKUNG KEPUTUSAN BERBASIS FUZZY




Pembimbing


Sri Mulyana, Drs., M.Kom
Tim Penulis
Penulis 1, Penulis 2, Penulis 3,


Kidung Hudha Candra Bumi Poerwiyanto Uki Astika Mancasari

3

KATA PENGANTAR
Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa yang memberikan rahmat,
sehingga kami dapat menyelesaikan proyek dengan judul Portal Beasiswa KPU dengan
Sistem Pendukung Keputusan Berbasis Fuzzy.
Tujuan utama dari proyek ini adalah untuk membangun sebuah sistem yang memudahkan
penawar beasiswa dalam menawarkan beasiswa dan menentukan pemohon-pemohon beasiswa
yang layak meraih beasiswa dan pemohon beasiswa dalam menemukan informasi tentang
beasiswa-beasiswa. Selain itu, proyek ini untuk memenuhi persyaratan guna menyelesaikan mata
kuliah Proyek Khusus.
Pengembangan proyek ini dari awal hingga laporan ini diselesaikan tidak terlepas dari
kerja sama dari sesama anggota kelompok dan pihak terkait yang telah menyumbangkan tenaga,
yaitu bapak Sri Mulyana, Drs., M.Kom selaku dosen pembimbing. Untuk itu, kami mengucapkan
terima kasih sedalam-dalamnya kepada bapak Sri Mulyana, Drs., M.Kom.
Yogyakarta, Juni 2011


Tim Penulis

4

DAFTAR ISI
HALAMAN JUDUL1
HALAMAN PENGESAHAN.2
KATA PENGANTAR3
DAFTAR ISI4
DAFTAR GAMBAR..6
ABSTRAK7
BAB I PENDAHULUAN9
1.1 Latar Belakang...9
1.2 Rumusan Masalah...10
1.3 Batasan Masalah..10
1.4 Tujuan.11
1.5 Manfaat...11
1.6 Metodologi Perancangan.11
BAB II LANDASAN TEORI13
2.1 Decision Support System (Sistem Pendukung Keputusan)........13
2.2 Logika Fuzzy..15
2.3 CodeIgniter.17
2.4 Model-View-Controller..18
BAB III ANALISIS DAN PERANCANGAN SISTEM.19
3.1 Analisis Sistem19
3.1.1 Analisis Masalah19
3.2 Perancangan Sistem.19
5

3.2.1 Perancangan Fungsional Sistem.20
3.2.2 Perancangan Basis Data24
3.2.3 Perancangan Antar Muka..27
BAB IV IMPLEMENTASI.33
4.1 Implementasi...33
BAB V PENGUJIAN SISTEM.47
5.1 Pengujian Sistem.47
BAB VI KESIMPULAN...60
6.1 Kesimpulan..60
DAFTAR PUSTAKA61
LAMPIRAN...62

6

DAFTAR GAMBAR
Gambar 3.1 Diagram Konteks..22
Gambar 3.2 DAD Level 1.22
Gambar 3.3 Use Case...23
Gambar 3.4 Rancangan antar muka halaman pendaftaran beasiswa28
Gambar 3.5 Rancangan antar muka halaman login pengguna.28
Gambar 3.6 Rancangan antar muka halaman tambah peubah penentu29
Gambar 3.7 Rancangan antar muka tambah fungsi keanggotaan.30
Gambar 3.8 Rancangan antar muka halaman tambah aturan...30
Gambar 3.9 Rancangan antar muka halaman pendaftaran mahasiswa/i...31
Gambar 3.10 Rancangan antar muka halaman mahasiswa/i..32
Gambar 4.1 Halaman publik33
Gambar 4.2 Halaman pendaftaran mahasiswa/i...34
Gambar 4.3 Halaman hasil (publik).35
Gambar 4.4 Halamanpendaftaran beasiswa.36
Gambar 4.5 Halaman login...37
Gambar 4.6 Halaman beasiswa38
Gambar 4.7 Halaman beasiswa (deskripsi)..39
Gambar 4.8 Halaman beasiswa (ganti kata sandi)39
Gambar 4.9 Halaman peubah penentu..40
Gambar 4.10 Halaman tambah/ubah peubah penentu40
Gambar 4.11 Halaman fungsi keanggotaan41
Gambar 4.12 Halaman tambah/ubah fungsi keanggotaan..42
Gambar 4.13 Halaman fungsi keanggotaan (pemula)42
Gambar 4.14 Halaman tambah/ubah fungsi keanggotaan (pemula)...43
Gambar 4.15 Halaman basis aturan44
Gambar 4.16 Halaman tambah aturan44
7

Gambar 4.17 Halaman hasil (beasiswa).45
Gambar 4.18 Halaman pemohon46
Gambar 4.19 Halaman pemohon (ganti kata sandi)...46
Gambar 5.1 Pendaftaran beasiswa baru47
Gambar 5.2 Notifikasi jika nama pengguna telah dipakai48
Gambar 5.3 Halaman login..49
Gambar 5.4 Halaman login jika terjadi kesalahan49
Gambar 5.5 Halaman beasiswa49
Gambar 5.6 Halaman beasiswa (deskripsi)..50
Gambar 5.7 Penambahan peubah penentu50
Gambar 5.8 Halaman peubah penentu..51
Gambar 5.9 Pengubahan peubah penentu.51
Gambar 5.10 Halaman peubah penentu..51
Gambar 5.11 Penambahan fungsi keanggotaan..52
Gambar 5.12 Halaman fungsi keanggotaan52
Gambar 5.13 Penambahan aturan...52
Gambar 5.14 Penambahan gagal jika aturan telah ada...53
Gambar 5.15 Halaman basis aturan53
Gambar 5.16 Pendaftaran pemohon...54
Gambar 5.17 Notifikasi jika berkas tidak berformat *.zip.55
Gambar 5.18 Notifikasi jika nama pengguna telah dipakai56
Gambar 5.19 Halaman login..56
Gambar 5.20 Halaman pemohon57
Gambar 5.21 Halaman hasil (beasiswa).57
Gambar 5.22 Halaman rincian hasil...58
Gambar 5.23 Halaman hasil (beasiswa) setelah kidung diterima...58
Gambar 5.24 Halaman hasil (publik).59
8

ABSTRAK
Portal Beasiswa KPU
dengan Sistem Pendukung Keputusan Berbasis Fuzzy

Banyak sekali masyarakat Indonesia yang memiliki potensi tinggi dalam pendidikan
tetapi tidak memiliki perekonomian yang cukup dalam meraih pendidikan tersebut.Hal ini
memicu beberapa instansi baik yang negeri maupun swasta mengadakan beasiswa bagi
masyarakat yang kurang mampu namun memiliki potensi yang tinggi. Tetapi dalam penyebaran
informasi beasiswa tersebut masih kurang merata sehingga sedikit masyarakat yang mengetahui
tentang pengadaan beasiswa, padahal teknologi saat ini sudah berkembang semakin pesat. Untuk
itu diperlukan sebuah media yang digunakan untuk menggabungkan teknologi internet dan
penyebaran informasi tentang pengadaan beasiswa.
Pemilihan dan penetapan mahasiswa berprestasi ini menjadi suatu proses yang rumit
karena pengerjaannya yang selama ini masih manual, selain itu proses tersebut memiliki banyak
peluang untuk membuat keputusan yang salah karena dapat terjadi proses penilaian yang bersifat
subjektif. Hal ini dapat mengakibatkan mahasiswa yang dipilih tidak mencapai standart yang
diinginkan dan tidak memperoleh calon yang terbaik.
Portal Beasiswa KPUdengan Sistem Pendukung Keputusan Berbasis Fuzzy adalah portal
beasiswa yang berbasis sistem pendukung keputusan model fuzzy yang mampu menentukan
penerimaan beasiswa secara efektif dan efisien disertai dengan penyediaan informasi beasiswa
yang cepat, tepat dan akurat.
Kata kunci: portal beasiswa, sistem pendukung keputusan, logika fuzzy.



9

BAB I
PENDAHULUAN
1.1 Latar Belakang
Manusia semakin memahami pentingnya makna pendidikan, terutama dari aspek kebutuhan
karena saat ini pendidikan merupakan salah satu investasi penting untuk masa depan. Dengan
adanya pendidikan, maka dapat meningkatkan kualitas sumberdaya manusia masyarakat
Indonesia. Namun, dalam penerimaan pendidikan tersebut masih memiliki beberapa kendala
salah satunya dari segi ekonomi. Banyak sekali masyarakat Indonesia yang memiliki potensi
tinggi dalam pendidikan tetapi tidak memiliki perekonomian yang cukup dalam meraih
pendidikan tersebut. Hal ini memicu beberapa instansi baik yang negeri maupun swasta
mengadakan beasiswa bagi masyarakat yang kurang mampu namun memiliki potensi yang
tinggi. Tetapi dalam penyebaran informasi beasiswa tersebut masih kurang merata sehingga
sedikit masyarakat yang mengetahui tentang pengadaan beasiswa, padahal teknologi saat ini
sudah berkembang semakin pesat. Dengan seiringnya perkembangan teknologi tersebut, maka di
butuhkan penyebaran informasi yang cepat, salah satu teknologi pendukung untuk
perkembangan informasi adalah internet, karena internet bersifat sangat global dan dapat diakses
secara umum.
Untuk itu diperlukan sebuah media yang digunakan untuk menggabungkan teknologi
internet dan penyebaran informasi tentang pengadaan beasiswa. Salah satu media tersebut dapat
berupa sebuah portal yang digunakan untuk menggabungkan beberapa informasi beasiswa yang
terdaftar yang kemudian portal tersebut dapat melakukan seleksi secara otomatis dalam
penentuan penerima beasiswa sesuai dengan kriteria yang telah ditentukan.
Proses penentuan untuk seleksi penerima beasiswa menggunakan salah satu cabang ilmu
dari kecerdasan buatan yakni sistem pendukung keputusan, yaitu suatu sistem yang dirancang
untuk membantu user dalam melakukan sebuah keputusan untuk memilih alternative dari suatu
masalah untuk mencapai tujuan yang diinginkan.
Beberapa metode yang dapat digunakan dalam sistem pendukung keputusan antara lain :
Wighted of Sum, Promethee, Profile Matching, Fuzzy, AHP (Analyric Hierarchy Process), AHP
10

Fuzzy. Fuzzy merupakan salah satu metode yang telah banyak diaplikasikan diberbagai bidang
dan mampu menyelesaikan permasalahan dan pembuatan keputusan yang kompleks sehingga
dapat digunakan untuk analisis kelayakan penerimaan beasiswa. Metode ini terdiri dari 3 bagian,
yaitu fuzzifikasi, inferensi, dan defuzzifikasi. Dari penerapan fuzzy ini akan kita dapatkan suatu
keputusan apakah seorang calon penerima beasiswa layak untuk mendapatkan beasiswa.
Manfaat proses pemilihan ini adalah untuk mencapai akhir yang diinginkan yaitu
mendapatkan mahasiswa yang tepat berdasarkan kriteria-kriteria yang telah ditentukan.
Pemilihan dan penetapan mahasiswa berprestasi ini menjadi suatu proses yang rumit karena
pengerjaannya yang selama ini masih manual, selain itu proses tersebut memiliki banyak peluang
untuk membuat keputusan yang salah karena dapat terjadi proses penilaian yang bersifat
subjektif. Hal ini dapat mengakibatkan mahasiswa yang dipilih tidak mencapai standart yang
diinginkan dan tidak memperoleh calon yang terbaik.
Oleh karena itu, dibangun sebuah portal beasiswa yang mampu menampung seluruh
informasi beasiswa yang ditawarkan sekaligus melakukan penilaian berdasarkan syarat-syarat
yang diharapkan penawar beasiswa untuk mendukung keputusan yang akan diambil, dalam hal
ini menentukan peraih beasiswa.
1.2 Rumusan Masalah
Dari latar belakang di atas dapat di ambil rumusan masalah yang akan menjadi pembahasan
proyek yaitu bagaimana merancang dan membangun sebuah aplikasi sistem pendukung
keputusan yang berbasis web menggunakan metode fuzzy untuk penentuan penerimaan
beasiswa.
1.3 Batasan Masalah
Batasan masalah yang digunakan dalam perancangan proyek ini bertujuan agar proyek
menjadi lebih realitis dan terarah dalam pengembangannya. Adapun batasan masalah yang
digunakan adalah sebagai berikut.
1. Rule base yg digunakan menggunakan operator AND.
2. Keluaran program ini berupa saran untuk mendukung sebuah keputusan, tidak
mengambil keputusan.
3. Satu ID hanya untuk satu beasiswa.
11

4. Satu ID mahasiswa hanya bias mendaftarkan satu beasiswa.
1.4 Tujuan
Tujuan rancangan sistem ini adalah membuat portal beasiswa yang berbasis sistem
pendukung keputusan model fuzzy yang mampu menentukan penerimaan beasiswa secara efektif
dan efisien disertai dengan penyediaan informasi beasiswa yang cepat, tepat dan akurat.
1.5 Manfaat
Adapun manfaat dari pembuatan system ini adalah :
1. Menjadi alat bantu untuk memudahakan sebuah instansi dalam menyeleksi mahasiswa
yang mendaftar beasiswa.
2. Menjadi alat bantu bagi mahasiswa untuk memudahkan mencari informasi beasiswa
secara cepat hanya dalam satu portal saja.
Dengan penyeleksian yang cepat dan tepat terhadap mahasiswa yang mendaftar beasiswa, maka
secara tidak langsung penyeleksian ini bersifat adil karena sesuai dengan kriteria yang ditentukan
sistem.
1.6 Metodologi Perancangan
Metodologi yang digunakan dalam perancangan proyek ini adalah
1. Perencanaan
Perencanaan dilakukan dengan mendefinisikan masalah, menentukan tujuan dan sasaran
yang ingin dicapai, serta mempelajari prospeknya. Untuk itu dilakukan studi pada berbagai
metode penyeleksian beasiswa yang ada, aplikasi portal beasiswa yang ada beserta kelebihan
dan kekurangannya dan studi mengenai teknologi Internet yang akan digunakan untuk
membangun aplikasi.
2. Analisis dan Perancangan
Dilakukan analisis dan perancangan portal beasiswa berbasis sistem pendukung
keputusan metode fuzzy. Analisis dan perancangan meliputi antarmuka pengguna, basis data,
dan sistem pendukung keputusan dengan metode fuzzy, mulai dari peubah linguistik, fungsi
keanggotaan, sampai mesin inferensi.
12


3. Desain
Proses disain merupakan penuangan hasil analisis dalam bentuk rancangan. Rancangan
meliputi disain arsitektur, alur, basis data, dan antarmuka aplikasi yang termuat pada poin
Rancangan.
4. Implementasi dan Pengujian
Rancangan yang telah dibuat diimplementasikan ke dalam bentuk program yang berbasis
web dengan framework MVC yang dibangun dengan bahasa pemrograman PHP. Antarmuka
dibangun dengan html dan css serta didukung oleh framework javascript jquery yang
membuat web menjadi lebih interaktif. Basis data menggunakan MySQL, sedangkan untuk
web server digunakan apache http server.
. Setelah implementasi selesai dilakukan, selanjutnya dilakukan pengujian terhadap
sistem untuk memastikan sistem memenuhi dan mampu menyelesaikan permasalahan yang
ada.

13

BAB II
LANDASAN TEORI
2.1 Decision Support System(Sistem Pendukung Keputusan)
DSS adalah bagian dari sistem informasi berbasis komputer (termasuk sistem berbasis
pengetahuan (manajemen pengetahuan)) yang dipakai untuk mendukung pengambilan keputusan
dalam suatu organisasi atau perusahaan.
DSS adalah sekumpulan prosedur berbasis model yang digunakan untuk pemrosesan data
dan membantu seorang pengelola membuat sebuah pertimbangan dalam pembuatan keputusan
(Little, 1970). sistem harus sederhana, mudah untuk diatur, dapat melakukan penyesuaian, dan
interaktif.
Moore dan Chang (1980) berpendapat bahwa konsep terstruktur pada umumnya tidak berarti;
sebuah masalah dapat dideskripsikan sebagai setruktur atau tidak terstruktur hanya dalm kondisi
tertentu. Maka mereka mendefinisikan bahwa DSS sebagai perluasan sistem yang mampu
mendukung analisa data ad hoc dan permodelan keputusan, berorientasi pada perencanaan masa
depan dan digunakan pada interval yang tidak terencana dan irregular.
Bonczek et al. (1980) menyatakan bahwa sistem pendukung keputusan adalah sistem
berbasis computer yang berisi tiga komponen yang interaktif yaitu language system (sebuah
mekanisme untuk komunikasi antara user dan komponen dalam SPK), knowledge system (tempat
penyimpanan dari permasalahan dengan domain knowledge yang terdapat dalam DSS dapat
berupa data maupun prosedur), dan problem-processing system (penghubung antara dua
komponen yang mampu melakukan manipulasi terhadap sebuah permasalah pada pengambilan
keputusan). Konsep dari definisi ini sangat penting untk pemahaman hubungan antara DSS dan
knowledge.
Menurut Keen (1980), SPK adalah sebuah hasil dari pengembangan proses dimana DSS user
pembangun SPK dan SPK itu sendiri mampu mempengaruhi satu sama lain yang merupakan
hasil dari evolusi sitem dan pola yang digunakan.
14

Dari beberapa definisi di atas dilakukan perbandingan dengan menguji dari beberapa konsep
untuk mendefinisikan DSS (table 1). Dapat kita lihat bahwa konsep dasar dari SPK telah
dikembangkan dari berbagai persepsi definisi SPK dan ide bagaimana sebuah objektif dari SPK
mencapai tujuan.
Karakteristik Sistem Pendukung Keputusan
SPK pada umunya dibangun untuk mendukung sebuah solusi dari certain problem dan
untuk mengevaluasi sebuah probabilitas.

1. SPK dapat mendukung untuk membuat keputusan dengan permasalahan semi-
terstrukur dan tidak terstruktur dengan memadukan penentuan manusia dan
komputerisasi informasi.
2. Pendukung keputusan untuk berbagai level pengelolaan.
3. Dapat digunakan oleh secara individu dan berkelompok.
15

4. Sistem pendukung keputusan dapat membuat interdependen dan sekuensial
keputusan. Keputusan dapat dilakukan sekali, berkali-kali, dan berulang kali.
5. Mendukung untuk semua fase dalam pengambilan keputusan : kecerdasan, desain,
pemilihan, dan implementasi.
6. Mendukung berbagai proses dari pengambilan keputusan.
7. Pengambil keputusan harus reaktif dan dapat mengubah kondisi secara seketika dan
sistem tersebut harus langsung dapat melakukan penyesuaian dengan perubahan yang
terjadi.
8. Bersifat user-friendly , grafis yang baik, dan interaktif untuk meningkatkan
efektivitas dari SPK.
9. Lebih mementingkan efektivitas (keakuratan, kecepatan, kualitas) daripada efisiensi
(biaya pembuatan).
10. Pembuat keputusan harus memiliki kendali penuh terhadap setiap langkah dalam
pengambilan keputusan.
11. End user dapat mengkonstruksi dan mengubah sistem. Sistem yang besar dapat
dibangun dengan bantuan pakar sistem informasi.
SPK digunakan untuk permodelan analisa pengambilan keputusan.
2.2 Logika Fuzzy
Logika fuzzy digunakan ketika terjadi keadaan yang tidak pasti dalam kehidupan sehari-
hari. Teknik ini menggunakan teori matematis dari fuzzy sets (Jamshidi et al., 1997;Klir dan
Yuan, 1995;McNeill dan Freiberger,1993; Nguyen dan Walker,1999), yaitu simulasi proses dari
human reasoning yang normal dengan menggunakan computer yang dapat bekerja secara logis
dibandingkan dengan metode computer yang konvensional.
Latar belakang dari pendekatan ini adalah bahwa dalam setiap pengambilan keputusan
tidak selalu bernilai true atau false,namun ada juga daerah yang abu-abu, yakni daerah yang
berada diantara nilai true dan false tersebut.
Dengan menggunakan Logika Fuzzy, maka dalam menginterpretasikan persepsi manusia
akan menjadi lebih efektif dan akurat pad a pengambilan keputusan, karena
16

tidak semua situasi bernilai 100% true dan false. Berbagai permasalahan dalam pengambilan
keputusan tidak dapat menggunakan true dan false, namun membutuhkan model matematis.
Contoh dari penjelasan di atas adalah fuzzy sets dalam mendeskripsikan tinggi badan
dengan range 5 hingga 7 kaki(1kaki = 30cm, 1inch=2.54cm).
Enrollment in local colleges, 2005
Height Proportions Vote
For


510 0.05
511 0.10
6 0.60
61 0.15
62 0.10








Misal tinggi dari jack adalah 6kaki. Maka dengan menggunakan teori probabilitas, kita
bisa menggunakkan kumulpatif distribusi probabilitas bahwa ada kemungkinan 75% bahwa Jack
termasuk tinggi.
Dalam logika fuzzy, maka dapat dikatakan bahwa knowledge-base bahwa Jack adalah
tinggi (CF=0.75) dan pernyataan bahwa Jack adalah pendek (CF=0.15). Dalam teori probabilitas
, jika probabilitas Jack adalah tinggi 0.75 maka probabilitas bahwa Jack adalah pendek 0.25.

17

2.3 CodeIgniter
Codeigniter adalah sebuah framework untuk web yang dibuat dalam format PHP. Format
yang dibuat ini selanjutnya dapat digunakan untuk membuat sistem aplikasi web yang kompleks.
Codeigniter dapat mempercepat proses pembuatan web, karena semua class dan model yang
dibuatkan sudah ada dan hanya tinggal menggunakan kembali pada aplikasi web yang akan
dibuat. Sebelum melangkah lebih jauh perlu mengetahui definisi dari sebuah framework.
Framework secara umum adalah sebuah susunan atau rangkaian kerja yang tetap dan
dibuat sedemikian rupa yang kemudian dapat digunakan kembali dalam sebuah aktifitas kerja
yang lain tapi tetap dalam satu area kerja dengan rangkaian kerja yang sebelumnya.
Sistem Codeigniter
Tampilan web adalah bagian akhir di manahalaman web tersebut tersebut terlihat pada browser.
Tahapannya adalah sebagai berikut:
1. File [tampilan web/index.php] bertindak sebagai kontroler utama, yang berfungsi sebagai
penampil halaman web yang memuat sumber kode utama yang berfungsi untuk
menjalankan Codeigniter.
2. Bagian [Routing] berfungsi untuk menerima permintaan HTTP untuk mnentukan langkah
selanjutnya diambil.
3. Jika file Chace ada, maka sistem langsung akan menuju bagian [Caching] yang kemudian
akan ditampilkan pada halaman web, tanpa melalui sistem Codeigniter yang normal.
4. Pada bagian [Security], semua permintaan HTTP dan form yang dikirim oleh pengguna
akan di saring untuk pengaman.
5. Kemudian data akan menuju bagian [Application controller] yang akan memunculkan
model, library, script helper dan plugins dan semua sumber yang dibutuhkan untuk
melengkapi permintaan tersebut.
6. Tampilan akhir [View] akan dikirim ke dalam browser untuk dilihat pada halam web.
Jika [Caching] diterima maka tampilan akhir akan menjalani caching terlebih dahulu
sehingga permintaan yang sama akan dapat berjalan lebih cepat pada browser.

18

2.4 Model- View-Controller
Framework Codeigniter adalah framework yang berbasis Model-View-Contreller (MVC).
MVC adalah sebuah software yang memisahkan antara aplikasi logika dengan presentasi pada
halaman web. Sehingga hal ini akan menyebabkan halam web akan mangandung kode yang
sedikit karena sudah terjadi pemisahan antara tampilan dan pemograman.
Model merupakan struktur data. Secara spesifik class model akan mengandung fungsi
kode yang akan membantu dalam segala proses yang berhubungan dengan database
seperti memasukkan, mengedit, mendapatkan dan menghapus data dalam sebuah
database.
View merupakan informasi yang disampaikan ke pengguna. Sebuah view biasanya
berupa halam web, tetapi dalam Codeigniter, sebuah view juga bisa berupa sebuah
fragmen halaman seperti header dan footer. View juga bisa berupa halaman RSS atau
jenis halam web yang lain.
Controller merupakan sebuah perantara antara Model dan View dan semua sumber yang
dibutuhkan untuk memproses permintaan HTTP dan dalam membuat halam web.
Dalam menggunakan framework Codeigniter, kehadiran bagian Model tidak sering
dibutuhkan, hanya dapat bekerja dengan bagian Controller dan View atau dapat dibangun fungsi
sendiri secara minimal menggunakan dua bagian tersebut. Codeigniter diperbolehkan untuk
membangun aplikasi sesuai kemampuan dan keinginan.


19

BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Sebelum Portal Beasiswa KPU dengan Sistem Pendukung Keputusan Berbasis Fuzzy
dikembangkan, terlebih dahulu dilakukan tahapan analisis sistem. Analisis sistem diperlukan
untuk mengetahui kebutuhan pengguna dan sistem. Dengan adanya sistem, diharapkan
pengembangan sistem akan berjalan sesuai yang direncanakan.
3.1.1 Analisis Masalah
Beasiswa merupakan suatu permasalahan yang menyangkut dua sisi, yaitu penawar dan
pengguna. Di sisi penawar/pemberi permasalahan yang sering terjadi adalah menawarkan
beasiswa secara efektif dan masalah dalam menilai dan menentukan peraih beasiswa, sedangkan
di sisi pemohon adalah mencari beasiswa. Pemecahan masalah adalah membuat sebuah portal
yang berisi gabungan informasi-informasi beasiswa dari berbagai instansi dan universitas. Untuk
pemecahan penilaian bisa dilakukan dengan memanfaatkan sistem pendukung keputusan yang
mampu memberi nilai dan saran terhadap setiap pemohon beasiswa untuk kemudian dapat secara
mudah dipilih oleh penawar beasiswa. Metode yang digunakan untuk sistem pendukung
keputusan adalah logika fuzzy.
Dengan bantuan mesin inferensi berupa syarat-syarat (selanjutnya disebut peubah
penentu) dan basis aturan, penilaian menjadi suatu proses yang dapat diabaikan oleh penawar
beasiswa sebelum pengambilan keputusan.
3.2 Perancangan Sistem
Perancangan yang dimaksudkan di sini adalah perancangan sistem yang meliputi perancangan
fungsional sistem yang ditunjukkan dalam Diagram Alir Data dan Use Case, perancangan basis
data, dan perancangan antar muka.


20

3.2.1 Perancangan fungsional sistem
Perancangan fungsionalitas sistem merupakan tahap awal untuk merancang semua proses
dan aliran data yang terjadi dalam sistem.
Diagram Konteks
Diagram konteks atau yang dikenal sebagai Diagram Alir Data (DAD) Level 0 berfungsi
untuk menunjukan ruang lingkup dan batasan dari sebuah sistem yang dibangun, serta
menunjukan adanya interaksi sistem dengan entitas luar. Entitas luar yang berhubungan secara
langsung dengan sistem ini adalah Pemberi beasiswa dan Mahasiswa.
1. Pemberi beasiswa
Pemberi beasiswa memiliki peranan, yaitu:
Memberikan masukan berupa informasi beasiswa serta manipulasi data beasiswa
tergantung pada syarat yang ditentukan .
Menentukan mahasiswa mana yang akan mendapatkan beasiswa.
2. Mahasiswa
Mahasiswa memiliki peranan, yaitu:
Memberikan masukan berupa data diri dan kriteria yang disyaratkan oleh pemberi
beasiswa. Sistem akan memberikan keluaran berupa hasil apakah mahasiswa
diterima atau ditolak.







21


Flowchart(Penawar Beasiswa dan Pemberi)
Mulai
Mendaftarkan
beasiswa
Login ke halaman
beasiswa
Menambah peubah
penentu
Mengubah peubah
penentu
Menghapus peubah
penentu
Menambah fungsi
keanggotaan
Mengubah fungsi
keanggotaan
Menghapus fungsi
keanggotaan
Mengubah aturan Menambah aturan
Melihat hasil
penilaian
Melihat rincian data
pemohon
Menerima Menolak
Selesai
Mulai
Mendaftarkan diri
sebagai pemohon
Login ke halaman
pemohon
Mengisi nilai untuk
syarat-syarat
Selesai

22

Diagram konteks dari portal beasiswa berbasis sistem pendukung keputusan model fuzzy
ditunjukan oleh gambar berikut :

Gambar 3.1: Diagram Konteks
Diagram Alir Data Level 1
Diagram alir data level 1 merupakan kelanjutan diagram konteks yang menggambarkan
proses-proses yang berlangsung dalam sistem. Diagram alir data level 1 dapat dilihat pada
gambar berikut ini.











23

Gambar 3.2: DAD Level 1

Use Case
Use case adalah gambaran fungsionalitas dari suatu sistem, sehingga customer atau
pengguna sistem paham dan mengerti mengenai kegunaan sistem yang akan dibangun.















Gambar 3.3: Use Case.
24


3.2.2 Perancangan Basis Data
1. Tabel Applicant
Tabel applicant digunakan untuk menyimpan data-data dari pengaju beasiswa. Field-field
yang terdapat pada table tersebut :
No. Nama Field Tipe Data Keterangan
1. appId Int(11) Kode Identitas untuk calon
penerima beasiswa(Primary Key)
2. appSchId Int(11) Kode Identitas untuk beasiswa
yang diajukan (Foreign Key)
3. appUsername VarChar(50) Username yg di gunakan calon
penerima beasiswa untuk login
4. appPwd VarChar(50) Berisi password untuk verifikasi.
5. appBirthdate Date Tanggal lahir
6. appDepartment VarChar(100) Asal jurusan
7. appEmail VarChar(100) Email
8. appFile VarChar(50) Untuk mengunggah file zip
9. appGuaName VarChar(100) Nama wali/orangtua
10. appRegDate Datetime Tanggal pendaftaran
11. appUniversity VarChar(100) Asal universitas
12. appGender Enum(laki-
laki,perempuan)
Jenis kelamin
13. appAddress VarChar(1000) Alamat
14. appTelNumber VarChar(20) Nomor yang dapat dihubungi

2. Tabel Scholarship
Tabel scholarship digunakan untuk menyimpan data-data dari pemberi beasiswa. Field-field
yang terdapat dalam tabel scholarship tersebut :
25

No Nama Field Tipe Data Keterangan
1. schId Int(11) Kode Identitas untuk pemberi
beasiswa (Primary Key)
2. schContent Text Penjelasan tentang beasiswa dan
syarat-syarat yang ditentukan
3. schEmail VarChar(100) Email
4. schExpDate Date Batas pendaftaran beasiswa
5. schPassword VarChar(50) Password untuk verifikasi login
6. schRegDate Datetime Tanggal Pendaftaran
7. schTitle VarChar(100) Judul beasiswa
8. schUsername VarChar(50) Username untuk login

3. Tabel RuleBase
Table rulebase digunakan untuk menyimpan data aturan untuk fuzzy dari penentuan
syarat oleh pemberi beasiswa. Field-field dari table rulebase adalah :
No Nama Field Tipe Data Keterangan
1. rulBasId Int(11) Kode Identitas untuk rule
base(Primary Key)
2. rulBasSchId Int(11) Kode Identitas untuk rule base
pada beasiswa yang ditawarkan
3. rulBasAntecedent VarChar(50) Antecedent pada rule base yang
ditetapkan
4. rulBasConsequent Int(11) Consequent pada rule base yang
ditetapkan

4. Tabel Membershipfunction
Tabel membershipfunction digunakan untuk menyimpan data-data dari rentang nilai
Linguistik Variabel. Field-field dari table membershipfunction adalah :
26

No. Nama Field Tipe Data Keterangan
1. memFunId Int(11) Kode Identitas untuk
membership function
2. memFunLinVarId Int(11) Kode Identitas untuk
membership function tergantung
pada Linguistic Variabel
3. memFunSchId Int(11) Kode Identitas membership
function tergantung pada
beasiswa yang di pilih
4. memFunName VarChar(50) Nama membership function
5. memFunValue1 Double Nilai titik pertama untuk
membership function
6. memFunValue2 Double Nilai titik kedua untuk
membership function
7. memFunValue3 Double Nilai titik ketiga untuk
membership function
8. memFunValue4 Double Nilai titik keempat untuk
membership function

5. Tabel LinguisticVariable
Tabel LinguisticVariable digunakan untuk menyimpan data-data variable yang dijadikan
penentu dalam syarat beasiswa yang telah ditentukan. Field-field dari table
LinguisticVariable adalah :

No. Nama Field Tipe Data Keterangan
1. linVarId Int(11) Kode Identitas untuk Linguistik
Variable
2. linVarSchId Int(11) Kode Identitas untuk Linguistik
Variabel tergantung pada
beasiswa yang di pilih
27

3. linVarName VarChar(50) Nama dari Linguistik Variabel
4. linVarType Enum(antecedent
,consequent)
Tipe dari Linguistik Variable

6. Tabel Value
Tabel value digunakan untuk menyimpan data-data dari nilai yang diperlukan sebagai
penilaian oleh sistem dengan perhitungan fuzzy.Field-field dari table value adalah :
No. Nama Field Tipe Data Keterangan
1. valAppId Int(11) Kode Identitas untuk table value
2. valLinVarId Int(11) Kode Identitas untuk Linguisitk
Variabel untuk value
3. valSchId Int(11) Kode Identitas untuk beasiswa
pada value
4. valValue Double Nilai dari value

3.2.3 Perancangan Antar Muka
Antarmuka merupakan sebuah jembatan komunikasi antara sistem dan pengguna. Antar
muka yang dirancang diharapkan mampu memudahkan pengguna dalam berinteraksi dengan
sistem. Rancangan antar muka yang ada adalah sebagai berikut.
Rancangan Antaramuka Halaman Pendaftaran Beasiswa
Pendaftaran beasiswa berfungsi untuk para pemberi beasiswa untuk mendaftarkan
beasiswa yang akan diberikan atau diumumkan. Pada antarmuka ini, pengguna diminta
memasukkan Nama Pengguna, Kata Sandi, Email, Judul dari beasiswa, Tanggal Penutupan
Pendaftaran, dan Isi yang berisi keterangan tentang beasiswa yang diberikan. Tombol Submit
untuk memasukkan data-data yang telah diisikan.
28


Gambar 3.4: Rancangan antar muka halaman pendaftaran beasiswa.
Rancagan Antarmuka Halaman Login Pengguna
Halaman login pengguna berfungsi untuk login para pemberi beasiswa dan mahasiswa
dan sebagai penga,an data, sehingga hanya pengguna yang mendapat akses yaitu pemberi
beasiswa yang dapat melakukan manipulasi data yang ada disistem. Pada antarmuka ini,
pengguna diminta memasukkan Nama Pengguna, Kata Sandi, dan memilih login sebagai
mahasiswa atau pihak beasiswa. Tombol Submit untuk memeriksa masukan nama pengguna,
kata sandi dan hak akses pengguna apliksi. Rancangn antarmuka halam pengguna ditunjukkan
seperti gambar berikut:




Gambar 3.5: Rancangan antar muka halaman login pengguna.
29

Rancangan Antarmuka Halaman Tambah Peubah Penentu
Halaman ini berfungsi untuk menentukan kriteria-kriteria yang digunakan untuk menilai
kelayakan calon penerima beasiswa, misalnya indeks prestasi kumulatif. Pada antarmuka
halaman peubah penentu ini pemberi beasiswa mengisi nama peubah penentu dan jenisnya,
anteseden atau konsekuennya. Tombol Submit berfungsi untuk memasukkan data yang telah
dimasukkan. Rancangn antarmuka halam pengguna ditunjukkan seperti gambar berikut:

Gambar 3.6: Rancangan antar muka halaman tambah peubah penentu.
Rancangan Antarmuka Tambah Fungsi Keanggotaan
Halaman Tambah Fungsi Keanggotaan berfungsi untuk menentukan fungsi-fungsi untuk
setiap peubah penentu, misalnya fungsi rendah, sedang, dan tinggi untuk indeks prestasi
kumulatif. Pada antarmuka ini, pemberi beasiswa memilih peubah penentu yang ingin ditentukan
fungsi keanggotaannya, kemudian masukkan nama variable ligustiknya, nilai-nilai variable
lingustiknya dari batas bawah sampai batas atas, serta tipe fungsi keanggotaannya apakah
semakin besar nilainya maka semakin baik atau semkin kecil nilainya maka semakin baik.
Tombol Submit berfungsi untuk memasukkan data-data yang telah diisi ke database. Rancangn
antarmuka halam pengguna ditunjukkan seperti gambar berikut:

30


Gambar 3.7: Rancangan antar muka tambah fungsi keanggotaan.
Rancangan Antarmuka Halaman Tambah Aturan
Halaman tambah aturan ini berfungsi untuk menentukan aturan-aturan yang digunakan
untuk menilai kelayakan calon penerima beasiswa, misalnya jika indeks prestasi kumulatif
rendah, kelayakan rendah. Pada antarmuka ini, pemberi beasiswa dapat menambah beberapa
aturan bedasarkan banyaknya pasangan fungsi keanggotaan yang telah dibuat sebelumnya.
Misalnya, pengguna membuat 2 pasangan anteseden dan konsekuen pada fungsi keanggotaannya
maka pada halaman basis data ini ditentukan 2 aturan juga. Berikut gambar rancangan antarmuka
halaman basis aturan ketika proses penambahan aturan:

Gambar 3.8: Rancangan antar muka halaman tambah aturan.
31

Rancangan Antarmuka Pendaftaran Mahasiswa/i
Halaman Pendaftaran Mahasiswa/i berfungsi untuk para mahasiswa untuk mendaftar
atau mencari beasiswa. Pada antarmuka ini, mahasiswa diminta memasukkan Nama Pengguna,
Kata Sandi, Jurusan yang ditempuh, Email, Berkas yang merupakan data-data tambahkan yang
diminta atau disyaratkan oleh pemilik beasiswa dalam bentuk .zip, Tanggal Lahir,
Institusi/Universitas asal, Nama Wali, Alamat sekarang, dan nomor telepon. Tombol Submit
untuk memasukkan data-data yang telah diisikan.

Gambar 3.9: Rancangan antar muka halaman pendaftaran mahasiswa/i.
Setelah mendaftarkan diri pada sebuah beasiswa, maka kembali ke halaman Login
kemudian mahasiswa memasukkan persyaratan-persyaratan lain yang ditentukan oleh pemilik
beasiswa. Indeks Prestasi Kumulatif misalnya.
32


IP

Gambar 3.10: Rancangan antar muka halaman mahasiswa/i.

Submit
33

BAB IV
IMPLEMENTASI
4.1 Implementasi
Hasil implementasi rancangan direncanakan terdiri dari beberapa halaman yang berfungsi
sebagai penghubung antar pengguna dan sistem. Setiap halaman dirancang sesuai dengan fungsi
yang dibutuhkan.
Halaman Publik

Gambar 4.1: halaman publik.
34

Halaman publik menjadi halaman utama dari Portal Beasiswa KPU. Pada halaman ini,
pengunjung bisa menawarkan beasiswa ke pengunjung lain melalui tautan daftar beasiswa
baru. Untuk pengunjung yang telah terdaftar di Portal Beasiswa KPU, bisa mengunjungi
halaman pengguna melalui tautan yang disediakan. Selain itu, di halaman publik ditampilkan
informasi beasiswa-beasiswa yang terdaftar di Portal Beasiswa KPU. Di setiap informasi
terdapat tautan yang mengarahkan pengunjung ke halaman pendaftaran dan hasil penilaian dari
beasiswa tersebut.
Halaman Pendaftaran Mahasiswa/i

Gambar 4.2: halaman pendaftaran mahasiswa/i.
Seperti dijelaskan sebelumnya, terdapat tautan pendaftaran bagi mahasiswa/i (tidak harus,
bisa juga tingkatan lainnya) untuk setiap beasiswa. Tautan ini akan mengarahkan pemohon
35

beasiswa ke halaman seperti terlihat di gambar 2. Pada halaman ini, seorang pemohon
mengisikan semua data yang diminta untuk dapat mendaftarkan diri ke beasiswa yang
dikehendaki.
Halaman Hasil (Publik)

Gambar 4.3: halaman hasil (publik).
Halaman ini berfungsi seperti pengumuman untuk setiap beasiswa yang terdaftar. Di
halaman ini dapat dilihat pemohon-pemohon beasiswa mana yang diterima sebagai peraih
beasiswa dan ditolak. Selain itu, jika data pemohon-pemohon belum diproses, maka akan
ditampilkan sebagai dalam pertimbangan. Data yang ditampilkan diurut berdasarkan nama
pengguna dari pemohon-pemohon beasiswa.
Halaman Pendaftaran Beasiswa
36


Gambar 4.4: halaman pendaftaran beasiswa.
Pengunjung yang tertarik untuk menawarkan beasiswa bisa mengisi data yang dibutuhkan
pada halaman pendaftaran beasiswa agar beasiswa ditampilkan di halaman publik dari Portal
Beasiswa KPU, sehingga pengunjung lain yang tertarik terhadap beasiswa yang ditawarkan bisa
mendaftarkan diri. Informasi utama yang dibutuhkan untuk menawarkan beasiswa adalah judul,
informasi (syarat-syarat, dsb.), dan tanggal penutupan pendaftaran beasiswa.
Halaman Login
37


Gambar 4.5: halaman login.
Halaman login berfungsi sebagai otentikasi pengguna terdaftar, baik itu penawar
beasiswa maupun pemohon beasiswa. Data yang digunakan untuk otentikasi hanya nama
pengguna dan kata sandi yang dipilih saat pendaftaran.









38

Halaman Beasiswa

Gambar 4.6: halaman beasiswa.
39


Gambar 4.7: halaman beasiswa (deskripsi).

Gambar 4.8: halaman beasiswa (ganti kata sandi).
Halaman untuk penawar beasiswa dapat dibagi menjadi tiga bagian, yaitu bagian untuk
penilaian (syarat-syarat, basis aturan, dan penilaian), bagian untuk deskripsi yang berfungsi
sebagai tempat pengisian informasi yang ditampilkan ke publik, dan bagian untuk mengganti
kata sandi.




40

Halaman Peubah Penentu

Gambar 4.9: halaman peubah penentu.

Gambar 4.10: halaman tambah/ubah peubah penentu.
Di halaman inilah seorang penawar beasiswa menentukan syarat-syarat yang digunakan
sebagai penilaian, misalnya indeks prestasi kumulatif dan penghasilan orang tua, dan hasil,
41

misalnya kelayakan. Pada halaman ini, penawar beasiswa dapat menambah, mengubah, dan
menghapus syarat dan hasil yang digunakan untuk penilaian.
Halaman Fungsi Keanggotaan

Gambar 4.11: halaman fungsi keanggotaan.
42


Gambar 4.12: halaman tambah/ubah fungsi keanggotaan.

Gambar 4.13: halaman fungsi keanggotaan (pemula).
43


Gambar 4.14: halaman tambah/ubah fungsi keanggotaan (pemula).
Fungsi keanggotaan berfungsi seperti rentang nilai untuk syarat dan hasil yang ditentukan
di halaman peubah penentu, misalnya indeks prestasi kumulatif memiliki rentang 0-4. Sama
seperti halaman peubah penentu, di sini penawar beasiswa dapat menambah, mengubah, dan
menghapus fungsi keanggotaan.









44

Halaman Basis Aturan

Gambar 4.15: halaman basis aturan.

Gambar 4.16: halaman tambah aturan.
Setelah menentukan syarat-syarat, hasil, dan rentang nilainya, penawar beasiswa
diharuskan untuk membuat basis aturan yang digunakan untuk penilaian, misalnya jika indeks
45

prestasi kumulatif tinggi dan penghasilan orang tua rendah, kelayakan tinggi. Di halaman ini,
penawar beasiswa hanya dapat menambah dan menghapus aturan, tidak dapat mengubah.
Halaman Hasil (Beasiswa)

Gambar 4.17: halaman hasil (beasiswa).
Di halaman ini, penawar beasiswa mendapatkan hasil penilaian setiap pemohon oleh
sistem. Selanjutnya, untuk menerima atau menolak seorang pemohon, dilakukan pada tautan
yang terdapat di kolom aksi. Selain itu, di halaman ini, penawar beasiswa dapat melihat rincian
informasi setiap pemohon beasiswa.







46

Halaman Pemohon

Gambar 4.18: halaman pemohon.

Gambar 4.19: halaman pemohon (ganti kata sandi).
Tidak jauh berbeda dengan halaman beasiswa, halaman pemohon dibagi menjadi tiga
bagian juga, yaitu bagian untuk pengisian nilai yang digunakan sebagai syarat-syarat, bagian
pengisian rincian informasi, dan bagian ganti kata sandi.
47

BAB V
PENGUJIAN SISTEM
5.1 Pengujian Sistem
Pengujian sistem dilakukan pada setiap halaman yang dibangun di implementasi.
Pengujian bertujuan untuk memastikan halaman yang dibangun dapat bekerja dengan baik dan
sesuai dengan fungsi yang diharapkan.
Pengujian dimulai dengan melakukan pendaftaran beasiswa ke Portal Beasiswa KPU
hingga melihat hasil dari penilaian sistem.

48

Gambar 5.1: pendaftaran beasiswa baru.

Gambar 5.2: notifikasi jika nama pengguna telah dipakai.
Pertama-tama, dilakukan pendaftaran beasiswa baru. Pada gambar terlihat notifikasi
bahwa semua data diperlukan, sehingga harus diisi semuanya. Jika tidak diisi semuanya,
pendaftaran tidak dapat dilanjutkan. Selain itu, nama pengguna yang dipilih harus berbeda.
Setelah sukses mendaftar, dicoba login melalui halaman login.
49


Gambar 5.3: halaman login.

Gambar 5.4: halaman login jika terjadi kesalahan.

50

Gambar 5.5: halaman beasiswa.
Jika login sebagai beasiswa sukses, maka akan terlihat halaman seperti pada gambar 5.
Selanjutnya, dapat dilihat pada gambar 6 bahwa informasi yang disertakan pada saat pendaftaran
telah tercatat di basis data sistem.

Gambar 5.6: halaman beasiswa (deskripsi).
Selanjutnya, dilakukan penambahan syarat-syarat yang digunakan untuk penilaian. Dapat
dilihat pada gambar 7 dilakukan pengisian, kemudian pada gambar 8, terlihat peubah penentu
telah terdaftar. Selain itu, pada gambar 9 dilakukan pengubahan dan pada gambar 10 terlihat
pengubahan berhasil dilakukan.

Gambar 5.7: penambahan peubah penentu.
51


Gambar 5.8: halaman peubah penentu.

Gambar 5.9: pengubahan peubah penentu.

Gambar 5.10: halaman peubah penentu.
Setelah peubah penentu diisi, langkah yang dilakukan adalah menentukan fungsi
keanggotaan untuk setiap peubah penentu seperti disajikan pada gambar 11. Pada gambar 12,
terlihat fungsi keanggotaan untuk IPK dengan nama rendah telah berhasil ditentukan.
52


Gambar 5.11: penambahan fungsi keanggotaan.

Gambar 5.12: halaman fungsi keanggotaan.
Setelah fungsi-fungsi keanggotaan ditentukan, selanjutnya adalah menentukan basis
aturan seperti pada gambar 13 (pada saat melakukan penambahan) dan gambar 14 (setelah
penambahan).

Gambar 5.13: penambahan aturan.
53


Gambar 5.14: penambahan gagal jika aturan telah ada.

Gambar 5.15: halaman basis aturan.
Setelah langkah-langkah di atas, dilakukan pendaftaran untuk pemohon agar dapat dilihat
halaman hasil.
54


Gambar 5.16: pendaftaran pemohon.
Jika berkas yang disertakan tidak dalam format *.zip, yang terjadi adalah pesan berupa
Gagal mengunggah berkas, seperti terlihat pada gambar 17. Jika nama pengguna telah dipakai,
gambar 18 akan terlihat pada layar.
55


Gambar 5.17: notifikasi jika berkas tidak berformat *.zip.
56


Gambar 5.18: notifikasi jika nama pengguna telah dipakai.
Jika sukses mendaftar, dilakukan login dengan jenis mahasiswa, nama pengguna dan kata
sandi.

Gambar 5.19: halaman login.
Setelah login, pemohon beasiswa akan diminta untuk mengisi data yang diperlukan untuk
penilaian beasiswa yang diminati. Seperti pada gambar 20, diminta data berupa IPK dan
Penghasilan orang tua. Selain itu, data yang dimasukkan saat pendaftaran terlihat sudah tercatat
di basis data sistem.
57


Gambar 5.20: halaman pemohon.
Setelah terdapat pemohon, halaman hasil pada penawar beasiswa akan langsung
melakukan penilaian sesuai dengan data yang diberikan setiap pemohon, seperti pada gambar 21
dan 22. Untuk menerima seorang pemohon sebagai peraih beasiswa, tinggal memilih diterima.
Begitu pula untuk menolak, tinggal memilih ditolak. Pada gambar 23, terlihat kidung yang
sebelumnya (gambar 21) dalam pertimbangan diterima menjadi peraih beasiswa.

Gambar 5.21: halaman hasil (beasiswa).
58


Gambar 5.22: halaman rincian hasil.

Gambar 5.23: halaman hasil (beasiswa) setelah kidung diterima.
Selain itu, pengunjung dapat melihat hasil penilaian juga, namun bedanya halaman hasil
untuk pengunjung tidak menyertakan hasil penilaian.
59


Gambar 5.24: halaman hasil (publik).
Selain dari aspek rancangan, pengujian juga dilakukan terhadap penilaian. Terlihat pada
gambar 23, hasil penilaian beberapa pemohon beasiswa dengan masukan sebagai berikut:
Nama IPK Penghasilan orang tua Kelayakan
kidung 4 0 10
uki 1.25 37500000 6.25
Poerwiyanto 3.75 500000 5
Tabel 1: Pengujian penilaian.

60

BAB VI
KESIMPULAN
6.1 Kesimpulan
Berdasarkan penjelasan dalam bab-bab sebelumnya dan hasil implementasi dan pengujian, dapat
diambil kesimpulan sebagai berikut.
1. Portal Beasiswa KPU mampu menjadi sebuah tempat untuk menampung informasi
beasiswa-beasiswa yang ditawarkan berbagai institusi, sehingga memudahkan pemohon
beasiswa dalam mencari mengenai informasi tentang beasiswa-beasiswa baru yang
ditawarkan.
2. Portal Beasiswa KPU juga memudahkan penawar beasiswa yaitu dengan menilai
pemohon-pemohon beasiswa, sehingga yang perlu dilakukan penawar hanya mengambil
keputusan.

61

DAFTAR PUSTAKA
Anon., n. d., Sistem Pendukung Keputusan, http://id.wikipedia.org/
wiki/Sistem_pendukung_keputusan.
Basuki, A. P., 2010, Membangun Web Berbasis PHP dengan Framework Codeigniter, Penerbit
Lokomedia, Yogyakarta.
Hidayati, E., 2010, Sistem Pendukung Keputusan Berbasis Logika Fuzzy untuk Analisis
Kelayakan Kredit, Pendahuluan, Skripsi, Jurusan Matematika, Institut Teknologi Sepuluh
Nopember.
Turban, E., Aronson, J. E., dan Bolloju, N., 2001, Decision Support Systems and Intelligent
Systems, Prentice Hall, Upper Saddle River, New Jersey.
Wiswakarma, K., 2010, 9 Langkah Menjadi Master Framework Codeigniter, Penerbit
Lokomedia, Yogyakarta.

62

LAMPIRAN
KODE CONTROLLER
applicant.php
<?php
Class applicant extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata("type")!="applicant"){
header("location:".base_url()."index.php/login");
}
}

function index($e=""){
$data["e"]=$e;
$this->load->model("mApplicant");
$data["applicant"]=$this->mApplicant->retrieveById($this->session-
>userdata("id"));
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable-
>retrieveBySchIdType($data["applicant"][0]->appSchId);
$data["username"]=$this->session->userdata("username");
foreach($data["linVariable"] as $row){
$this->load->model("mValue");
$data["value"][$row->linVarId]=$this->mValue-
>retrieveByAppIdLinVarId($this->session->userdata("id"),$row->linVarId);
}
$this->loadView($data);
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vApplicant",$data);
63

$this->load->view("vB");
}

function uApplicant(){
$this->load->library("form_validation");
$this->form_validation-
>set_rules("appBirthdate","appBirthdate","required");
$this->form_validation-
>set_rules("appDepartment","appDepartment","required");
$this->form_validation-
>set_rules("appEmail","appEmail","required|valid_email");
$this->form_validation->set_rules("appGuaName","appGuaName","required");
$this->form_validation->set_rules("appName","appName","required");
$this->form_validation-
>set_rules("appUniversity","appUniversity","required");
$this->form_validation->set_rules("appAddress","appAddress","required");
$this->form_validation-
>set_rules("appTelNumber","appTelNumber","required");
if($this->form_validation->run()==false){
$e="Semua masukan harus diisi!";
}
if(empty($e)){
$config["upload_path"]="./files/";
$config["allowed_types"]="zip";
$this->load->library("upload",$config);
if(!$this->upload->do_upload("appFile")){
$file["file_name"]=$this->input->post("appFile1");
}else{
$file=$this->upload->data();
}
$data=array(
'appId'=>$this->session->userdata('id'),
'appBirthdate'=>$this->input->post('appBirthdate'),
'appDepartment'=>$this->input->post('appDepartment'),
'appEmail'=>$this->input->post('appEmail'),
64

'appFile'=>$file["file_name"],
'appGuaName'=>$this->input->post('appGuaName'),
'appName'=>$this->input->post('appName'),
'appUniversity'=>$this->input->post('appUniversity'),
'appGender'=>$this->input->post('appGender'),
'appAddress'=>$this->input->post('appAddress'),
'appTelNumber'=>$this->input->post('appTelNumber')
);
$this->load->model("mApplicant");
$this->mApplicant->update($data);
header("location:".base_url()."index.php/applicant");
}else{
$this->index($e);
}
}

function uPassword(){
$this->load->library("form_validation");
$this->form_validation-
>set_rules("appPwd","appPwd","required|matches[appPwd1]");
if($this->form_validation->run()==false){
$e="Kata sandi tidak cocok!";
}
$this->load->model("mApplicant");
if(empty($e)){
$data=array(
"appId"=>$this->session->userdata("id"),
"appPwd"=>$this->input->post("appPwd")
);
$this->mApplicant->updatePassword($data);
header("location:".base_url()."index.php/applicant");
}else{
$this->index($e);
65

}
}

function uValue(){
$linVarId=array_keys($this->input->post("value"));
$value=array_values($this->input->post("value"));
for($i=0;$i<sizeof($linVarId);$i++){
if(empty($value[$i])){
$value[$i]=0;
}
$data=array(
"valAppId"=>$this->session->userdata("id"),
"valLinVarId"=>$linVarId[$i],
"valValue"=>$value[$i]
);
$this->load->model("mValue");
$this->mValue->update($data);
}
header("location:".base_url()."index.php/applicant");
}
}
?>
Linguisticvariable.php
<?php
Class linguisticvariable extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata("type")!="scholarship"){
header("location:".base_url()."index.php/login");
}
$this->load->model("mApplicant");
$couApplicant=$this->mApplicant->couApplicant($this->session-
>userdata("id"));
66

if($couApplicant[0]->count>0){
header("location:".base_url()."index.php/scholarship");
}
}

function index(){
$this->load->model("mLinguisticVariable");
$couConsequent=$this->mLinguisticVariable->couConsequent($this->session-
>userdata("id"));
$data["e"]="";
if($couConsequent[0]->count!=1){
$data["e"]="Belum terdapat hasil!";
}
$data["linVariable"]=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->loadView($data);
}

function add($e=""){
$data["act"]="add";
$data["e"]=$e;
$this->load->model("mLinguisticVariable");
$data["couConsequent"]=$this->mLinguisticVariable->couConsequent($this-
>session->userdata("id"));
$this->loadView($data);
}

function delete($id){
$this->load->model("mLinguisticVariable");
$this->mLinguisticVariable->delete($id);
header("location:".base_url()."index.php/linguisticvariable");
}

function edit($id,$e=""){
67

$data["act"]="edit";
$data["e"]=$e;
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable->retrieveById($id);
$this->loadView($data);
}

function iu($id=""){
$this->load->library("form_validation");
$this->form_validation->set_rules("name","name","required");
if($this->form_validation->run()==false){
if($id==""){
$this->add("Semua masukan harus diisi!");
}else{
$this->edit($id,"Semua masukan harus diisi!");
}
}else{
$data=array(
"schId"=>$this->session->userdata("id"),
"name"=>$this->input->post("name"),
"type"=>$this->input->post("type")
);
$this->load->model("mLinguisticVariable");
if($id==""){
$this->mLinguisticVariable->insert($data);
}else{
$this->mLinguisticVariable->update($data,$id);
}
header("location:".base_url()."index.php/linguisticvariable");
}
}

68

function loadView($data){
$this->load->view("vA");
$this->load->view("vLinguisticVariable",$data);
$this->load->view("vB");
}
}
?>
login.php
<?php
Class login extends CI_Controller{
function index($e=""){
if($this->session->userdata("id")!=""){
header("location:".base_url()."index.php/".$this->session-
>userdata("type"));
}
$data["e"]=$e;
$this->loadView($data);
}

function authenticate(){
$data=array(
"password"=>$this->input->post("password"),
"username"=>$this->input->post("username")
);
if($this->input->post("type")=="beasiswa"){
$this->load->model("mScholarship");
$scholarship=$this->mScholarship->authenticate($data);
if(sizeof($scholarship)==1){
$this->load->library("session");
$this->session->set_userdata(array("id"=>$scholarship[0]-
>schId,"type"=>"scholarship","username"=>$scholarship[0]->schUsername));
header("location:".base_url()."index.php/scholarship");
}else{
69

$this->index("Login salah, silakan coba lagi!");
}
}elseif($this->input->post("type")=="mahasiswa"){
$this->load->model("mApplicant");
$applicant=$this->mApplicant->authenticate($data);
if(sizeof($applicant)==1){
$this->load->library("session");
$this->session->set_userdata(array("id"=>$applicant[0]-
>appId,"type"=>"applicant","username"=>$applicant[0]->appUsername));
header("location:".base_url()."index.php/applicant");
}else{
$this->index("Login salah, silakan coba lagi!");
}
}
}

/*function forgetPassword(){
$data["act"]="forgetPassword";
$this->loadView($data);
}*/

function loadView($data){
$this->load->view("vA");
$this->load->view("vLogin",$data);
$this->load->view("vB");
}

function logout(){
$this->session-
>unset_userdata(array("id"=>"","type"=>"","username"=>""));
header("location:".base_url()."index.php/public1");
}

70

/*function sendPassword(){
$header="From: administrator@portalbeasiswakpu \n";
$header.="Reply-To: administrator@portalbeasiswakpu \n";
$header.="Content-Type: text/html \r\n";
if($this->input->post("type")=="beasiswa"){
$this->load->model("mScholarship");
$scholarship=$this->mScholarship->retrieveByUsername($this->input-
>post("username"));
mail($scholarship[0]->schEmail,"Portal Beasiswa KPU: lupa kata
sandi","nama pengguna: ".$scholarship[0]->schUsername.", password: ".$scholarship[0]-
>schPassword,$header);
}elseif($this->input->post("type")=="mahasiswa"){
$this->load->model("mApplicant");
$applicant=$this->mApplicant->retrieveByUsername($this->input-
>post("username"));
mail($applicant[0]->appEmail,"Portal Beasiswa KPU: lupa kata
sandi","nama pengguna: ".$applicant[0]->appUsername.", password: ".$applicant[0]-
>appPassword,$header);
}
}*/
}
?>
Membershipfunction.php
<?php
Class membershipfunction extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata("type")!="scholarship"){
header("location:".base_url()."index.php/login");
}
$this->load->model('mLinguisticVariable');
$couConsequent=$this->mLinguisticVariable->couConsequent($this->session-
>userdata("id"));
if($couConsequent[0]->count!=1){
header("location:".base_url()."index.php/scholarship");
}
71

}

function index(){
$this->load->model('mLinguisticVariable');
$linVariable=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->load->model("mMembershipFunction");
$data["e"]="";
foreach($linVariable as $row){
$couMemFunction=$this->mMembershipFunction->couMemFunction($row-
>linVarId);
if($couMemFunction[0]->count==0){
$data["e"]="Ada peubah penentu yang belum memiliki fungsi
keanggotaan!";
}
}
$data["memFunction"]=$this->mMembershipFunction->retrieve($this->session-
>userdata("id"));
$this->loadView($data);
}

function add($e=""){
$data["act"]="add";
$data["e"]=$e;
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->loadView($data);
}

function delete($id,$schId){
$this->load->model("mMembershipFunction");
$this->mMembershipFunction->delete($id,$this->session->userdata("id"));
header("location:".base_url()."index.php/membershipfunction");
}
72


function edit($id,$e=""){
$data["act"]="edit";
$data["e"]=$e;
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->load->model("mMembershipFunction");
$data["memFunction"]=$this->mMembershipFunction->retrieveById($id);
$this->loadView($data);
}

function iu($id=""){
$this->load->library("form_validation");
$this->form_validation->set_rules("name","name","required");
$this->form_validation->set_rules("value1","value1","numeric");
$this->form_validation->set_rules("value2","value2","numeric");
$this->form_validation->set_rules("value3","value3","numeric");
$this->form_validation->set_rules("value4","value4","numeric");
if($this->form_validation->run()==false||
$this->input->post("value1")>$this->input->post("value2")||
$this->input->post("value2")>$this->input->post("value3")||
$this->input->post("value3")>$this->input->post("value4")){
if($id==""){
$this->add("Semua masukan harus diisi dan
nilai1<=nilai2<=nilai3<=nilai4!");
}else{
$this->edit($id,"Semua masukan harus diisi dan
nilai1<=nilai2<=nilai3<=nilai4!");
}
}else{
$data=array(
"linVarId"=>$this->input->post("linVarId"),
"schId"=>$this->session->userdata("id"),
73

"name"=>$this->input->post("name"),
"value1"=>$this->input->post("value1"),
"value2"=>$this->input->post("value2"),
"value3"=>$this->input->post("value3"),
"value4"=>$this->input->post("value4")
);
$this->load->model("mMembershipFunction");
if($id==""){
$this->mMembershipFunction->insert($data);
}else{
$this->mMembershipFunction->update($data,$id);
}
header("location:".base_url()."index.php/membershipfunction");
}
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vMembershipFunction",$data);
$this->load->view("vB");
}
}
?>
membershipfunction1.php
<?php
Class membershipfunction1 extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata("type")!="scholarship"){
header("location:".base_url()."index.php/login");
}
$this->load->model('mLinguisticVariable');
74

$couConsequent=$this->mLinguisticVariable->couConsequent($this->session-
>userdata("id"));
if($couConsequent[0]->count!=1){
header("location:".base_url()."index.php/scholarship");
}
}

function index(){
$this->load->model('mLinguisticVariable');
$data["linVariable"]=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->load->model("mMembershipFunction");
$data["e"]="";
foreach($data["linVariable"] as $row){
$couMemFunction=$this->mMembershipFunction->couMemFunction($row-
>linVarId);
if($couMemFunction[0]->count==0){
$data["e"]="Ada peubah penentu yang belum memiliki fungsi
keanggotaan!";
}
$data["memFunction"][$row->linVarId]=$this->mMembershipFunction-
>retrieve1($row->linVarId,$this->session->userdata("id"));
}
$this->loadView($data);
}

function add($e=""){
$data["act"]="add";
$data["e"]=$e;
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable->retrieve1($this-
>session->userdata("id"));
if(sizeof($data["linVariable"])>0){
$this->loadView($data);
}else{
75

header("location:".base_url()."index.php/membershipfunction1");
}
}

function delete($linVarId,$schId){
$this->load->model("mMembershipFunction");
$this->mMembershipFunction->deleteByLinVarId($linVarId,$this->session-
>userdata("id"));
header("location:".base_url()."index.php/membershipfunction1");
}

function edit($linVarId,$memFunId,$e=""){
$data["act"]="edit";
$data["e"]=$e;
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable->retrieveById($linVarId);
$this->load->model("mMembershipFunction");
$data["memFunction"]=$this->mMembershipFunction->retrieveById($memFunId);
$this->loadView($data);
}

function iu($memFunId=""){
$this->load->library("form_validation");
$this->form_validation->set_rules("value1","value1","numeric");
$this->form_validation->set_rules("value2","value2","numeric");
if($this->form_validation->run()==false||
$this->input->post("value1")>$this->input->post("value2")){
if($id==""){
$this->add("Semua masukan harus diisi dan
nilai1<=nilai2!");
}else{
$this->edit($id,"Semua masukan harus diisi dan
nilai1<=nilai2!");
}
76

}else{
$data[0]=array(
"linVarId"=>$this->input->post("linVarId"),
"schId"=>$this->session->userdata("id"),
"name"=>"tinggi",
"value1"=>$this->input->post("value1"),
"value2"=>$this->input->post("value2"),
"value3"=>$this->input->post("value2"),
"value4"=>$this->input->post("value2")
);
$data[1]=array(
"linVarId"=>$this->input->post("linVarId"),
"schId"=>$this->session->userdata("id"),
"name"=>"rendah",
"value1"=>$this->input->post("value1"),
"value2"=>$this->input->post("value1"),
"value3"=>$this->input->post("value1"),
"value4"=>$this->input->post("value2")
);
$this->load->model("mMembershipFunction");
if($memFunId==""){
for($i=0;$i<2;$i++){
$this->mMembershipFunction->insert($data[$i]);
}
}else{
$memFunction=$this->mMembershipFunction->retrieve1($this-
>input->post("linVarId"),$this->session->userdata("id"));
for($i=0;$i<sizeof($memFunction);$i++){
$this->mMembershipFunction-
>update($data[$i],$memFunction[$i]->memFunId);
}
}
header("location:".base_url()."index.php/membershipfunction1");
77

}
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vMembershipFunction1",$data);
$this->load->view("vB");
}
}
?>
public1.php
<?php
Class public1 extends CI_Controller{
function index(){
$this->load->model("mScholarship");
$data["scholarship"]=$this->mScholarship->retrieve();
$this->load->model("mLinguisticVariable");
foreach($data["scholarship"] as $row){
$data["couConsequent"][$row->schId]=$this->mLinguisticVariable-
>couConsequent($row->schId);
}
if($this->session->userdata("type")=="applicant"){
$data["type"]="mahasiswa";
}elseif($this->session->userdata("type")=="scholarship"){
$data["type"]="scholarship";
}
$data["username"]=$this->session->userdata("username");
$this->loadView($data);
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vPublic",$data);
78

$this->load->view("vB");
}

function result($schId){
$data["act"]="result";
$this->load->model("mApplicant");
$data["applicant"]=$this->mApplicant->retrieveBySchId($schId);
$this->loadView($data);
}
}
?>
registration.php
<?php
Class registration extends CI_Controller{
function applicant($schId,$e=""){
$data["e"]=$e;
$data["type"]="applicant";
$this->load->model("mScholarship");
$data["scholarship"]=$this->mScholarship->retrieveById($schId);
$this->loadView($data);
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vRegistration",$data);
$this->load->view("vB");
}

function iApplicant(){
$this->load->library("form_validation");
$this->form_validation-
>set_rules("appUsername","appUsername","required");
79

$this->form_validation-
>set_rules("appPwd","appPwd","required|matches[appPwd1]");
$this->form_validation-
>set_rules("appBirthdate","appBirthdate","required");
$this->form_validation-
>set_rules("appDepartment","appDepartment","required");
$this->form_validation-
>set_rules("appEmail","appEmail","required|valid_email");
$this->form_validation->set_rules("appGuaName","appGuaName","required");
$this->form_validation->set_rules("appName","appName","required");
$this->form_validation-
>set_rules("appUniversity","appUniversity","required");
$this->form_validation->set_rules("appAddress","appAddress","required");
$this->form_validation-
>set_rules("appTelNumber","appTelNumber","required");
if($this->form_validation->run()==false){
$e="Semua masukan harus diisi atau kata sandi tidak cocok!";
}
$this->load->model("mApplicant");
$applicant=$this->mApplicant->retrieve();
foreach($applicant as $row){
if($this->input->post("appUsername")==$row->appUsername){
$e="Nama pengguna telah dipakai!";
}
}
$config["upload_path"]="./files/";
$config["allowed_types"]="zip";
$this->load->library("upload",$config);
if(!$this->upload->do_upload("appFile")){
$e="Gagal mengunggah berkas!";
}else{
$file=$this->upload->data();
}
if(empty($e)){
$data=array(
80

'appSchId'=>$this->input->post('appSchId'),
'appUsername'=>$this->input->post('appUsername'),
'appPwd'=>$this->input->post('appPwd'),
'appBirthdate'=>$this->input->post('appBirthdate'),
'appDepartment'=>$this->input->post('appDepartment'),
'appEmail'=>$this->input->post('appEmail'),
'appFile'=>$file["file_name"],
'appGuaName'=>$this->input->post('appGuaName'),
'appName'=>$this->input->post('appName'),
'appStatus'=>'belum diketahui',
'appUniversity'=>$this->input->post('appUniversity'),
'appGender'=>$this->input->post('appGender'),
'appAddress'=>$this->input->post('appAddress'),
'appTelNumber'=>$this->input->post('appTelNumber')
);
$this->mApplicant->insert($data);
$this->load->model("mLinguisticVariable");
$linVariable=$this->mLinguisticVariable-
>retrieveBySchIdType($this->input->post('appSchId'));
foreach($linVariable as $row){
$this->load->model("mValue");
$applicant=$this->mApplicant->retrieveByUsername($this-
>input->post('appUsername'));
$data=array(
"valAppId"=>$applicant[0]->appId,
"valLinVarId"=>$row->linVarId,
"valSchId"=>$this->input->post('appSchId'),
"valValue"=>"0"
);
$this->mValue->insert($data);
}
header("location:".base_url()."index.php/login");
}else{
81

$this->applicant($this->input->post("appSchId"),$e);
}
}

function iScholarship(){
$this->load->library("form_validation");
$this->form_validation->set_rules("content","content","required");
$this->form_validation-
>set_rules("email","email","required|valid_email");
$this->form_validation->set_rules("expdate","expdate","required");
$this->form_validation-
>set_rules("password","password","required|matches[password1]");
$this->form_validation->set_rules("title","title","required");
$this->form_validation->set_rules("username","username","required");
if($this->form_validation->run()==false){
$e="Semua masukan harus diisi atau kata sandi tidak cocok!";
}
$this->load->model("mScholarship");
$scholarship=$this->mScholarship->retrieve();
foreach($scholarship as $row){
if($this->input->post("username")==$row->schUsername){
$e="Nama pengguna telah dipakai!";
}
}
if(empty($e)){
$data=array(
"content"=>$this->input->post("content"),
"email"=>$this->input->post("email"),
"expdate"=>$this->input->post("expdate"),
"password"=>$this->input->post("password"),
"title"=>$this->input->post("title"),
"username"=>$this->input->post("username")
);
82

$this->mScholarship->insert($data);
header("location:".base_url()."index.php/login");
}else{
$this->scholarship($e);
}
}

function scholarship($e=""){
$data["e"]=$e;
$data["type"]="scholarship";
$this->loadView($data);
}
}
?>
result.php
<?php
Class result extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata("type")!="scholarship"){
header("location:".base_url()."index.php/login");
}
$this->load->model("mLinguisticVariable");
$linVariable=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->load->model("mMembershipFunction");
$couRuleBase=1;
foreach($linVariable as $row){
if($row->linVarType=="anteseden"){
$couMemFunction=$this->mMembershipFunction-
>couMemFunction($row->linVarId);
$couRuleBase*=$couMemFunction[0]->count;
}
83

}
$this->load->model("mRuleBase");
$rulBase=$this->mRuleBase->retrieve($this->session->userdata("id"));
if(sizeof($rulBase)!=$couRuleBase){
header("location:".base_url()."index.php/scholarship");
}
}

function index(){
$this->load->model("mApplicant");
$applicant=$this->mApplicant->retrieveBySchId($this->session-
>userdata("id"));
$this->load->model("mValue");
$k=0;
foreach($applicant as $row1){
$this->load->model("mRuleBase");
$rulBase=$this->mRuleBase->retrieve($this->session-
>userdata("id"));
$consequent=null;
$i=0;
foreach($rulBase as $row2){
$antecedent=explode(";",$row2->rulBasAntecedent);
$this->load->model("mMembershipFunction");
for($j=0;$j<sizeof($antecedent)-1;$j++){
$memFunction=$this->mMembershipFunction-
>retrieveById($antecedent[$j]);
$value=$this->mValue->retrieveByAppIdLinVarId($row1-
>appId,$memFunction[0]->memFunLinVarId);
if($memFunction[0]->memFunValue1==$memFunction[0]-
>memFunValue2&&$memFunction[0]->memFunValue1==$value[0]->valValue){
$fuzAntecedent[$j]=1;
}elseif($memFunction[0]->memFunValue1>=$value[0]-
>valValue||$memFunction[0]->memFunValue4<$value[0]->valValue){
$fuzAntecedent[$j]=0;
}elseif($memFunction[0]->memFunValue1<$value[0]-
>valValue&&$memFunction[0]->memFunValue2>=$value[0]->valValue){
84

$fuzAntecedent[$j]=($value[0]->valValue-
$memFunction[0]->memFunValue1)/($memFunction[0]->memFunValue2-$memFunction[0]-
>memFunValue1);
}elseif($memFunction[0]->memFunValue2<$value[0]-
>valValue&&$memFunction[0]->memFunValue3>=$value[0]->valValue){
$fuzAntecedent[$j]=1;
}elseif($memFunction[0]->memFunValue3<$value[0]-
>valValue&&$memFunction[0]->memFunValue4>=$value[0]->valValue){
$fuzAntecedent[$j]=($memFunction[0]-
>memFunValue4-$value[0]->valValue)/($memFunction[0]->memFunValue4-$memFunction[0]-
>memFunValue3);
}else{
$fuzAntecedent[$j]=0;
}
}
$memFunction=$this->mMembershipFunction-
>retrieveById($row2->rulBasConsequent);
if($memFunction[0]->memFunValue2-$memFunction[0]-
>memFunValue1!=0){

$consequent[$i]=array(min($fuzAntecedent),min($fuzAntecedent)*($memFunction[0]-
>memFunValue2-$memFunction[0]->memFunValue1)+$memFunction[0]->memFunValue1);
$i++;
}
if($memFunction[0]->memFunValue4-$memFunction[0]-
>memFunValue3!=0){
$consequent[$i]=array(min($fuzAntecedent),-
(min($fuzAntecedent)*($memFunction[0]->memFunValue4-$memFunction[0]-
>memFunValue3))+$memFunction[0]->memFunValue4);
$i++;
}
}
$a=0;$b=0;
for($i=0;$i<sizeof($consequent);$i++){
$a+=$consequent[$i][0]*$consequent[$i][1];
$b+=$consequent[$i][0];
}
$data["id"][$row1->appUsername]=$row1->appId;
if($b==0){
85

$data["result"][$row1->appUsername]=0;
}else{
$data["result"][$row1->appUsername]=$a/$b;
}
$data["status"][$row1->appUsername]=$row1->appStatus;
$k++;
}
$data["accepted"]=$this->mApplicant->couAccepted($this->session-
>userdata("id"));
if(!empty($data["result"])){
arsort($data["result"]);
$data["username"]=array_keys($data["result"]);
}else{
$data["result"]=array();
$data["username"]=array();
}
$this->loadView($data);
}

function accept($id){
$this->load->model("mApplicant");
$this->mApplicant->accept($id);
header("location:".base_url()."index.php/result");
}

function detail($id){
$data["act"]="detail";
$this->load->model("mApplicant");
$data["applicant"]=$this->mApplicant->retrieveById($id);
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable-
>retrieveBySchIdType($data["applicant"][0]->appSchId);
foreach($data["linVariable"] as $row){
86

$this->load->model("mValue");
$data["value"][$row->linVarId]=$this->mValue-
>retrieveByAppIdLinVarId($id,$row->linVarId);
}
$this->loadView($data);
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vResult",$data);
$this->load->view("vB");
}

function reject($id=""){
$this->load->model("mApplicant");
$this->mApplicant->reject($id);
header("location:".base_url()."index.php/result");
}
}
?>
rulebase.php
<?php
Class rulebase extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata("type")!="scholarship"){
header("location:".base_url()."index.php/login");
}
$this->load->model('mLinguisticVariable');
$linVariable=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->load->model("mMembershipFunction");
if(sizeof($linVariable)==0){
87

header("location:".base_url()."index.php/scholarship");
}else{
foreach($linVariable as $row){
$couMemFunction=$this->mMembershipFunction-
>couMemFunction($row->linVarId);
if($couMemFunction[0]->count==0){

header("location:".base_url()."index.php/scholarship");
}
}
}
}

function index(){
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->load->model("mMembershipFunction");
$couRuleBase=1;
foreach($data["linVariable"] as $row){
if($row->linVarType=="anteseden"){
$couMemFunction=$this->mMembershipFunction-
>couMemFunction($row->linVarId);
$couRuleBase*=$couMemFunction[0]->count;
}
}
$this->load->model("mRuleBase");
$data["rulBase"]=$this->mRuleBase->retrieve($this->session-
>userdata("id"));
$data["e"]="";
if(sizeof($data["rulBase"])!=$couRuleBase){
$data["e"]="Seharusnya terdapat ".$couRuleBase." aturan!";
}
$data["memFunction"]=$this->mMembershipFunction->retrieve($this->session-
>userdata("id"));
88

$this->loadView($data);
}

function add($e=""){
$data["act"]="add";
$data["e"]=$e;
$this->load->model("mLinguisticVariable");
$data["linVariable"]=$this->mLinguisticVariable->retrieve($this->session-
>userdata("id"));
$this->load->model("mMembershipFunction");
$data["memFunction"]=$this->mMembershipFunction->retrieve($this->session-
>userdata("id"));
$this->loadView($data);
}

function delete($id){
$this->load->model("mRuleBase");
$this->mRuleBase->delete($id);
header("location:".base_url()."index.php/rulebase");
}

function insert(){
$s=sizeof($this->input->post("linVarId"));
$antecedent="";
for($i=0;$i<$s-1;$i++){
$antecedent.=$_POST["linVarId"][$i].";";
}
$this->load->model("mRuleBase");
$couAntecedent=$this->mRuleBase->couAntecedent($antecedent);
if($couAntecedent[0]->count==1){
$this->add("Aturan telah ada!");
}else{
$data=array(
89

"schId"=>$this->session->userdata("id"),
"antecedent"=>$antecedent,
"consequent"=>$_POST["linVarId"][$s-1]
);
$this->mRuleBase->insert($data);
header("location:".base_url()."index.php/rulebase");
}
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vRuleBase",$data);
$this->load->view("vB");
}
}
?>
scholarship.php
<?php
Class scholarship extends CI_Controller{
function __construct(){
parent::__construct();
if($this->session->userdata("type")!="scholarship"){
header("location:".base_url()."index.php/login");
}
}

function index($e=""){
$data["e"]=$e;
$this->load->model("mApplicant");
$data["couApplicant"]=$this->mApplicant->couApplicant($this->session-
>userdata("id"));
$this->load->model("mScholarship");
90

$data["scholarship"]=$this->mScholarship->retrieveById($this->session-
>userdata("id"));
$data["username"]=$this->session->userdata("username");
$this->loadView($data);
}

function loadView($data){
$this->load->view("vA");
$this->load->view("vScholarship",$data);
$this->load->view("vB");
}

function u(){
$this->load->library("form_validation");
$this->form_validation->set_rules("content","content","required");
$this->form_validation-
>set_rules("email","email","required|valid_email");
$this->form_validation->set_rules("expdate","expdate","required");
$this->form_validation->set_rules("title","title","required");
if($this->form_validation->run()==false){
$this->index("Semua masukan harus diisi!");
}else{
$data=array(
"schId"=>$this->session->userdata("id"),
"content"=>$this->input->post("content"),
"email"=>$this->input->post("email"),
"expdate"=>$this->input->post("expdate"),
"title"=>$this->input->post("title")
);
$this->load->model("mScholarship");
$this->mScholarship->update($data);
header("location:".base_url()."index.php/scholarship");
}
91

}

function uPassword(){
$this->load->library("form_validation");
$this->form_validation-
>set_rules("schPassword","schPassword","required|matches[schPassword1]");
if($this->form_validation->run()==false){
$e="Kata sandi tidak cocok!";
}
$this->load->model("mScholarship");
if(empty($e)){
$data=array(
"schId"=>$this->session->userdata("id"),
"schPassword"=>$this->input->post("schPassword")
);
$this->mScholarship->updatePassword($data);
header("location:".base_url()."index.php/scholarship");
}else{
$this->index($e);
}
}
}
?>

92

LAMPIRAN
KODE MODEL
mApplicant.php
<?php
Class mApplicant extends CI_Model{
function accept($id){
$this->db->query("update
applicant set appStatus='diterima'
where appId='".$id."'");
return;
}

function authenticate($data){
$query=$this->db->query("select * from applicant where
appUsername='".$data["username"]."' and appPwd='".$data["password"]."'");
return $query->result();
}

function couAccepted($schId){
$query=$this->db->query("select count(*) as count from applicant where
appSchId='".$schId."' and appStatus='diterima'");
return $query->result();
}

function couApplicant($schId){
$query=$this->db->query("select count(*) as count from applicant where
appSchId='".$schId."'");
return $query->result();
}

function insert($data){
$this->db->insert("applicant",$data);
return;
93

}

function reject($id){
if($id==""){
$this->db->query("update
applicant set appStatus='ditolak'
where appStatus='belum diketahui'");
}else{
$this->db->query("update
applicant set appStatus='ditolak'
where appId='".$id."'");
}
return;
}

function retrieve(){
$query=$this->db->query("select * from applicant");
return $query->result();
}

function retrieveById($id){
$query=$this->db->query("select * from applicant where appId='".$id."'");
return $query->result();
}

function retrieveBySchId($schId){
$query=$this->db->query("select * from applicant where
appSchId='".$schId."' order by appUsername");
return $query->result();
}

function retrieveByUsername($username){
94

$query=$this->db->query("select * from applicant where
appUsername='".$username."'");
return $query->result();
}

function update($data){
$this->db->where("appId",$data["appId"]);
$this->db->update("applicant",$data);
return;
}

function updatePassword($data){
$this->db->where("appId",$data["appId"]);
$this->db->update("applicant",$data);
return;
}
}
?>
mLinguisticVariable.php
<?php
Class mApplicant extends CI_Model{
function accept($id){
$this->db->query("update
applicant set appStatus='diterima'
where appId='".$id."'");
return;
}

function authenticate($data){
$query=$this->db->query("select * from applicant where
appUsername='".$data["username"]."' and appPwd='".$data["password"]."'");
return $query->result();
}
95


function couAccepted($schId){
$query=$this->db->query("select count(*) as count from applicant where
appSchId='".$schId."' and appStatus='diterima'");
return $query->result();
}

function couApplicant($schId){
$query=$this->db->query("select count(*) as count from applicant where
appSchId='".$schId."'");
return $query->result();
}

function insert($data){
$this->db->insert("applicant",$data);
return;
}

function reject($id){
if($id==""){
$this->db->query("update
applicant set appStatus='ditolak'
where appStatus='belum diketahui'");
}else{
$this->db->query("update
applicant set appStatus='ditolak'
where appId='".$id."'");
}
return;
}

function retrieve(){
$query=$this->db->query("select * from applicant");
96

return $query->result();
}

function retrieveById($id){
$query=$this->db->query("select * from applicant where appId='".$id."'");
return $query->result();
}

function retrieveBySchId($schId){
$query=$this->db->query("select * from applicant where
appSchId='".$schId."' order by appUsername");
return $query->result();
}

function retrieveByUsername($username){
$query=$this->db->query("select * from applicant where
appUsername='".$username."'");
return $query->result();
}

function update($data){
$this->db->where("appId",$data["appId"]);
$this->db->update("applicant",$data);
return;
}

function updatePassword($data){
$this->db->where("appId",$data["appId"]);
$this->db->update("applicant",$data);
return;
}
}
?>
97

mMembershipFunction.php
<?php
Class mMembershipFunction extends CI_Model{
function couMemFunction($linVarId){
$query=$this->db->query("select count(*) as count from membershipfunction
where memFunLinVarId='".$linVarId."'");
return $query->result();
}

function delete($id,$schId){
$this->db->query("delete from membershipfunction where memFunId=".$id);
$this->db->query("delete from rulebase where rulBasSchId='".$schId."'");
return;
}

function deleteByLinVarId($linVarId,$schId){
$this->db->query("delete from membershipfunction where
memFunLinVarId=".$linVarId);
$this->db->query("delete from rulebase where rulBasSchId='".$schId."'");
return;
}

function insert($data){
$this->db->query("insert into

membershipfunction(memFunLinVarId,memFunSchId,memFunName,memFunValue1,memFunVal
ue2,memFunValue3,memFunValue4)

values('".$data["linVarId"]."','".$data["schId"]."','".$data["name"]."','".$dat
a["value1"]."','".$data["value2"]."','".$data["value3"]."','".$data["value4"]."')");
return;
}

function retrieve($schId){
98

$query=$this->db->query("select * from
linguisticvariable,membershipfunction where linVarId=memFunLinVarId and
linVarSchId='".$schId."' order by linVarType");
return $query->result();
}

function retrieve1($linVarId,$schId){
$query=$this->db->query("select * from
linguisticvariable,membershipfunction where linVarId='".$linVarId."' and
linVarId=memFunLinVarId and linVarSchId='".$schId."' order by linVarType,memFunId");
return $query->result();
}

function retrieveById($id){
$query=$this->db->query("select * from membershipfunction where
memFunId='".$id."'");
return $query->result();
}

function update($data,$id){
$this->db->query("update
membershipfunction set
memFunLinVarId='".$data["linVarId"]."',memFunSchId='".$data["schId"]."',memFunName='".
$data["name"]."',memFunValue1='".$data["value1"]."',memFunValue2='".$data["value2"]."'
,memFunValue3='".$data["value3"]."',memFunValue4='".$data["value4"]."'
where memFunId='".$id."'");
return;
}
}
?>
mRuleBase.php
<?php
Class mRuleBase extends CI_Model{
function couAntecedent($antecedent){
$query=$this->db->query("select count(*) as count from rulebase where
rulBasAntecedent='".$antecedent."'");
return $query->result();
99

}

function delete($id){
$this->db->query("delete from rulebase where rulBasId='".$id."'");
return;
}

function insert($data){
$this->db->query("insert into
rulebase(rulBasSchId,rulBasAntecedent,rulBasConsequent)

values('".$data["schId"]."','".$data["antecedent"]."','".$data["consequent"]."'
)");
return;
}

function retrieve($schId){
$query=$this->db->query("select * from rulebase where
rulBasSchId='".$schId."'");
return $query->result();
}
}
?>
mScholarship.php
<?php
Class mScholarship extends CI_Model{
function authenticate($data){
$query=$this->db->query("select * from scholarship where
schPassword='".$data["password"]."' and schUsername='".$data["username"]."'");
return $query->result();
}

function insert($data){
$this->db->query("insert into
100


scholarship(schContent,schEmail,schExpDate,schPassword,schRegDate,schTitle,schU
sername)

values('".$data["content"]."','".$data["email"]."','".$data["expdate"]."','".$d
ata["password"]."',now(),'".$data["title"]."','".$data["username"]."')");
return;
}

function retrieve(){
$query=$this->db->query("select * from scholarship order by schRegDate
desc");
return $query->result();
}

function retrieveById($id){
$query=$this->db->query("select * from scholarship where
schId='".$id."'");
return $query->result();
}

function retrieveByUsername($username){
$query=$this->db->query("select * from scholarship where
schUsername='".$username."'");
return $query->result();
}

function update($data){
$this->db->query("update
scholarship set
schContent='".$data["content"]."',schEmail='".$data["email"]."',schExpDate='".$data["e
xpdate"]."',schRegDate=now(),schTitle='".$data["title"]."'
where schId='".$data["schId"]."'");
return;
}

function updatePassword($data){
101

$this->db->where("schId",$data["schId"]);
$this->db->update("scholarship",$data);
return;
}
}
?>
mValue.php
<?php
Class mValue extends CI_Model{
function insert($data){
$this->db->insert("value",$data);
return;
}

function retrieveApplicant($schId){
$query=$this->db->query("select valAppId from value where
valSchId='".$schId."' group by valAppId");
return $query->result();
}

function retrieveByAppIdLinVarId($appId,$linVarId){
$query=$this->db->query("select * from value where valAppId='".$appId."'
and valLinVarId='".$linVarId."'");
return $query->result();
}

function update($data){
$this->db->where("valAppId",$data["valAppId"]);
$this->db->where("valLinVarId",$data["valLinVarId"]);
$this->db->update("value",$data);
return;
}
}
102

?>

103

LAMPIRAN
KODE VIEW
vApplicant.php
<head>
<link href="<?php echo base_url()."javascript/development-
bundle/themes/base/jquery.ui.all.css"; ?>" rel="stylesheet" />
<script src="<?php echo base_url()."javascript/development-bundle/jquery-
1.5.1.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.core.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.widget.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.datepicker.js"; ?>"></script>
<script>
$(function(){
$("#datepicker").datepicker({dateFormat:"yy-mm-dd"});
});
</script>
</head>
<div class="div2">
<h3>Selamat Datang, <?php echo $username; ?></h3><hr />
<a href="<?php echo base_url(); ?>">halaman publik</a>|
<a href="login/logout">logout</a>
<?php
echo
form_open("applicant/uValue")."<table>";
foreach($linVariable as $row){
echo "
<tr>
<td>".$row->linVarName."</td>
<td>".form_input(array("class"=>"input1","name"=>"value[$row-
>linVarId]","value"=>$value[$row->linVarId][0]->valValue))."</td>
</tr>";
104

}
echo "
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit"))."</td>
</tr>
</table>".form_close()."<hr />
<p class='label1'>".$e."</p>".
form_open_multipart("applicant/uApplicant")."<table>
<tr>
<td><label for='appStatus'>Status</label></td>
<td><b>".$applicant[0]->appStatus."</b></td>
</tr>
<tr>
<td><label for='appName'>Nama lengkap</label></td>
<td><input class='input1' name='appName' type='text'
value='".$applicant[0]->appName."' /></td>
</tr>
<tr>
<td><label for='appBirthdate'>Tanggal lahir</label></td>
<td><input class='input1' id='datepicker' name='appBirthdate'
type='text' value='".$applicant[0]->appBirthdate."' /></td>
</tr>
<tr>
<td><label for='appDepartment'>Jurusan</label></td>
<td><input class='input1' name='appDepartment' type='text'
value='".$applicant[0]->appDepartment."' /></td>
</tr>
<tr>
<td><label for='appEmail'>Email</label></td>
<td><input class='input1' name='appEmail' type='text'
value='".$applicant[0]->appEmail."' /></td>
</tr>
<tr>
105

<td><label for='appFile'>Berkas (*.zip)</label></td>
<td>
<input class='input1' name='appFile' type='file' />
<input class='input1' name='appFile1' type='hidden'
value='".$applicant[0]->appFile."' /><br />
<a href='".base_url()."files/".$applicant[0]-
>appFile."'>".$applicant[0]->appFile."</a>
</td>
</tr>
<tr>
<td><label for='appGuaName'>Nama wali</label></td>
<td><input class='input1' name='appGuaName' type='text'
value='".$applicant[0]->appGuaName."' /></td>
</tr>
<tr>
<td><label for='appUniversity'>Institusi/Universitas</label></td>
<td><input class='input1' name='appUniversity' type='text'
value='".$applicant[0]->appUniversity."' /></td>
</tr>
<tr>
<td><label for='appGender'>Jenis Kelamin</label></td>
<td>".form_dropdown("appGender",array("laki-laki"=>"laki-
laki","perempuan"=>"perempuan"),$applicant[0]->appGender)."</td>
</tr>
<tr>
<td><label for='appAddress'>Alamat</label></td>
<td><input class='input1' name='appUniversity' type='text'
value='".$applicant[0]->appAddress."' /></td>
</tr>
<tr>
<td><label for='appTelNumber'>Nomor telepon</label></td>
<td><input class='input1' name='appTelNumber' type='text'
value='".$applicant[0]->appTelNumber."' /></td>
</tr>
<tr>
<td></td>
106

<td><input class='input1' type='submit' /></td>
</tr>
</table>".form_close()."<hr />".
form_open("applicant/uPassword")."<table>
<tr>
<td><b>Ganti kata sandi</b></td>
</tr>
<tr>
<td><label for='appPwd'>Kata sandi</label></td>
<td><input class='input1' name='appPwd' type='password' /></td>
</tr>
<tr>
<td><label for='appPwd1'>Kata sandi lagi</label></td>
<td><input class='input1' name='appPwd1' type='password' /></td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit"))."</td>
</tr>
</table>".form_close();
?>
</div>
vLinguisticVariable.php
<div class="div2">
<?php if(empty($act)){ ?>
<h3>Peubah Penentu</h3><hr />
<a href="scholarship">halaman utama</a>|
<a href="linguisticvariable/add">tambah peubah penentu</a>
<?php
echo "
<p class='label1'>".$e."</p>";
?>
107

<table class="table1">
<tr>
<th></th>
<th>Nama</th>
<th>Jenis</th>
<th>Aksi</th>
</tr>
<?php
$i=1;
foreach($linVariable as $row){
if($row->linVarType=="anteseden"){
$type="penentu";
}elseif($row->linVarType=="konsekuen"){
$type="hasil";
}
echo "
<tr>
<td>".$i."</td>
<td>".$row->linVarName."</td>
<td>".$type."</td>
<td>
<a href='linguisticvariable/edit/".$row-
>linVarId."'>ubah</a>
<a href='linguisticvariable/delete/".$row-
>linVarId."'>hapus</a>
</td>
</tr>";
$i++;
}
?>
</table>
<?php }elseif($act=="add"){ ?>
<h3>Tambah Peubah Penentu</h3><hr />
108

<?php
echo "
<p class='label1'>".$e."</p>".
form_open("linguisticvariable/iu")."<table>
<tr>
<td>Nama</td>
<td>".form_input(array("class"=>"input1","name"=>"name"))."</td>
</tr>
<tr>
<td>Jenis</td>";
if($couConsequent[0]->count==1){
echo "
<td>".form_dropdown("type",array("anteseden"=>"penentu"))."</td>";
}else{
echo "

<td>".form_dropdown("type",array("anteseden"=>"penentu","konsekuen"=>"hasil")).
"</td>";
}
echo "
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
}elseif($act=="edit"){ ?>
<h3>Ubah Peubah Penentu</h3><hr />
<?php
if($linVariable[0]->linVarType=="anteseden"){
$type="penentu";
}elseif($linVariable[0]->linVarType=="konsekuen"){
109

$type="hasil";
}
echo "
<p class='label1'>".$e."</p>".
form_open("linguisticvariable/iu/".$linVariable[0]->linVarId)."<table>
<tr>
<td>Nama</td>

<td>".form_input(array("class"=>"input1","name"=>"name","value"=>$linVariable[0
]->linVarName))."</td>
</tr>
<tr>
<td>Jenis</td>
<td>".$type."</td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
} ?>
</div>
vLogin.php
<div class="div2">
<h3>Login</h3><hr />
<a href="<?php echo base_url(); ?>">halaman publik</a>
<?php
if(empty($act)){
echo "
<p class='label1'>".$e."</p>".
form_open("login/authenticate")."<table class='table1'>
<tr>
110

<td></td>

<td>".form_dropdown("type",array("beasiswa"=>"beasiswa","mahasiswa"=>"mahasiswa
"))."</td>
</tr>
<tr>
<td>Nama pengguna</td>

<td>".form_input(array("class"=>"input1","name"=>"username"))."</td>
</tr>
<tr>
<td>Kata sandi</td>

<td>".form_password(array("class"=>"input1","name"=>"password"))."</td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit"))."</td>
</tr>
</table>".form_close();
}elseif($act=="forgetPassword"){
echo
form_open("login/sendPassword")."<table class='table1'>
<tr>
<td></td>

<td>".form_dropdown("type",array("beasiswa"=>"beasiswa","mahasiswa"=>"mahasiswa
"))."</td>
</tr>
<tr>
<td>Nama pengguna</td>

<td>".form_input(array("class"=>"input1","name"=>"username"))."</td>
</tr>
<tr>
111

<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
}?>
</div>
vMembershipFunction.php
<div class="div2">
<?php if(empty($act)){ ?>
<h3>Fungsi Keanggotaan</h3><hr />
<a href="scholarship">halaman utama</a>|
<a href="membershipfunction/add">tambah fungsi keanggotaan</a>
<?php
echo "
<p class='label1'>".$e."</p>";
?>
<table class="table1">
<tr>
<th></th>
<th>Peubah penentu</th>
<th>Nama</th>
<th>Nilai1</th>
<th>Nilai2</th>
<th>Nilai3</th>
<th>Nilai4</th>
<th>Aksi</th>
</tr>
<?php
$i=1;
foreach($memFunction as $row){
echo "
112

<tr>
<td>".$i."</td>
<td>".$row->linVarName."</td>
<td>".$row->memFunName."</td>
<td>".$row->memFunValue1."</td>
<td>".$row->memFunValue2."</td>
<td>".$row->memFunValue3."</td>
<td>".$row->memFunValue4."</td>
<td>
<a href='membershipfunction/edit/".$row-
>memFunId."'>ubah</a>
<a href='membershipfunction/delete/".$row-
>memFunId."'>hapus</a>
</td>
</tr>";
$i++;
}
?>
</table>
<?php }elseif($act=="add"){ ?>
<h3>Tambah Fungsi Keanggotaan</h3><hr />
<?php
foreach($linVariable as $row){
$linVarValue[$row->linVarId]=$row->linVarName;
}
echo "
<p class='label1'>".$e."</p>".
form_open("membershipfunction/iu")."<table>
<tr>
<td>Peubah penentu</td>
<td>".form_dropdown("linVarId",$linVarValue)."</td>
</tr>
<tr>
113

<td>Nama</td>
<td>".form_input(array("class"=>"input1","name"=>"name"))."</td>
</tr>
<tr>
<td>Nilai1</td>
<td>".form_input(array("class"=>"input1","name"=>"value1"))."</td>
</tr>
<tr>
<td>Nilai2</td>
<td>".form_input(array("class"=>"input1","name"=>"value2"))."</td>
</tr>
<tr>
<td>Nilai3</td>
<td>".form_input(array("class"=>"input1","name"=>"value3"))."</td>
</tr>
<tr>
<td>Nilai4</td>
<td>".form_input(array("class"=>"input1","name"=>"value4"))."</td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
}elseif($act=="edit"){ ?>
<h3>Ubah Fungsi Keanggotaan</h3><hr />
<?php
foreach($linVariable as $row){
$linVarValue[$row->linVarId]=$row->linVarName;
}
echo "
114

<p class='label1'>".$e."</p>".
form_open("membershipfunction/iu/".$memFunction[0]->memFunId)."<table>
<tr>
<td>Peubah penentu</td>
<td>".form_dropdown("linVarId",$linVarValue,$memFunction[0]-
>memFunLinVarId)."</td>
</tr>
<tr>
<td>Nama</td>

<td>".form_input(array("class"=>"input1","name"=>"name","value"=>$memFunction[0
]->memFunName))."</td>
</tr>
<tr>
<td>Nilai1</td>

<td>".form_input(array("class"=>"input1","name"=>"value1","value"=>$memFunction
[0]->memFunValue1))."</td>
</tr>
<tr>
<td>Nilai2</td>

<td>".form_input(array("class"=>"input1","name"=>"value2","value"=>$memFunction
[0]->memFunValue2))."</td>
</tr>
<tr>
<td>Nilai3</td>

<td>".form_input(array("class"=>"input1","name"=>"value3","value"=>$memFunction
[0]->memFunValue3))."</td>
</tr>
<tr>
<td>Nilai4</td>

<td>".form_input(array("class"=>"input1","name"=>"value4","value"=>$memFunction
[0]->memFunValue4))."</td>
</tr>
<tr>
115

<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
} ?>
</div>
vMembershipFunction1.php
<div class="div2">
<?php if(empty($act)){ ?>
<h3>Fungsi Keanggotaan</h3><hr />
<a href="scholarship">halaman utama</a>|
<a href="membershipfunction1/add">tambah fungsi keanggotaan</a>
<?php
echo "
<p class='label1'>".$e."</p>";
?>
<table class="table1">
<tr>
<th></th>
<th>Peubah penentu</th>
<th>Batas bawah</th>
<th>Batas atas</th>
<th>Aksi</th>
</tr>
<?php
$i=1;
foreach($linVariable as $row){
if(!empty($memFunction[$row->linVarId][0])){
if($memFunction[$row->linVarId][0]-
>memFunValue1==$memFunction[$row->linVarId][0]->memFunValue2&&$memFunction[$row-
>linVarId][0]->memFunValue2==$memFunction[$row->linVarId][0]->memFunValue3){
$upper=$memFunction[$row->linVarId][0]->memFunValue4;
116

}elseif($memFunction[$row->linVarId][0]-
>memFunValue2==$memFunction[$row->linVarId][0]->memFunValue3&&$memFunction[$row-
>linVarId][0]->memFunValue3==$memFunction[$row->linVarId][0]->memFunValue4){
$upper=$memFunction[$row->linVarId][0]->memFunValue2;
}
echo "
<tr>
<td>".$i."</td>
<td>".$row->linVarName."</td>
<td>".$memFunction[$row->linVarId][0]->memFunValue1."</td>
<td>".$upper."</td>
<td>
<a href='membershipfunction1/edit/".$row-
>linVarId."/".$memFunction[$row->linVarId][0]->memFunId."'>ubah</a>
<a href='membershipfunction1/delete/".$row-
>linVarId."'>hapus</a>
</td>
</tr>";
$i++;
}
}
?>
</table>
<?php }elseif($act=="add"){ ?>
<h3>Tambah Fungsi Keanggotaan</h3><hr />
<?php
foreach($linVariable as $row){
$linVarValue[$row->linVarId]=$row->linVarName;
}
echo "
<p class='label1'>".$e."</p>".
form_open("membershipfunction1/iu")."<table>
<tr>
<td>Peubah penentu</td>
117

<td>".form_dropdown("linVarId",$linVarValue)."</td>
</tr>
<tr>
<td>Batas bawah</td>
<td>".form_input(array("class"=>"input1","name"=>"value1"))."</td>
</tr>
<tr>
<td>Batas atas</td>
<td>".form_input(array("class"=>"input1","name"=>"value2"))."</td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
}elseif($act=="edit"){ ?>
<h3>Ubah Fungsi Keanggotaan</h3><hr />
<?php
if($memFunction[0]->memFunValue1==$memFunction[0]-
>memFunValue2&&$memFunction[0]->memFunValue2==$memFunction[0]->memFunValue3){
$upper=$memFunction[0]->memFunValue4;
}elseif($memFunction[0]->memFunValue2==$memFunction[0]-
>memFunValue3&&$memFunction[0]->memFunValue3==$memFunction[0]->memFunValue4){
$upper=$memFunction[0]->memFunValue2;
}
foreach($linVariable as $row){
$linVarValue[$row->linVarId]=$row->linVarName;
}
echo "
<p class='label1'>".$e."</p>".
form_open("membershipfunction1/iu/".$memFunction[0]->memFunId)."<table>
<tr>
118

<td>Peubah penentu</td>

<td>".form_hidden(array("class"=>"input1","name"=>"linVarId","value"=>$memFunct
ion[0]->memFunLinVarId)).$linVariable[0]->linVarName."</td>
</tr>
<tr>
<td>Batas bawah</td>

<td>".form_input(array("class"=>"input1","name"=>"value1","value"=>$memFunction
[0]->memFunValue1))."</td>
</tr>
<tr>
<td>Batas atas</td>

<td>".form_input(array("class"=>"input1","name"=>"value2","value"=>$upper))."</
td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
} ?>
</div>
vPublic.php
<div class="left">
<?php
if(empty($act)){
echo "
<center><table><tr><td class='title'>PORTAL BEASISWA
KPU</td></tr></table></center>";
if($username!=""){
echo "
<p align='center'>Anda login sebagai <b>".$type."</b> dengan nama pengguna
<b>".$username."</b>.</p>";
119

}
echo "
<table>
<tr>
<td><b>Pilihan:</b></td>
<td>
<a
href='".base_url()."index.php/registration/scholarship'>daftar beasiswa baru</a>,
<a href='".base_url()."index.php/login'>halaman
pengguna</a>.
</td>
</tr>
</table><hr />";
foreach($scholarship as $row){
echo "
<table>
<tr><td class='title'>".$row->schTitle."</td></tr>
<tr><td class='byline'>".$row->schRegDate.", tanggal penutupan
pendaftaran:".$row->schExpDate."</td></tr>
<tr><td>".$row->schContent."</td></tr>
<tr><td><b>Pilihan:</b>";
if($row->schExpDate>=date("Y-m-d")&&$couConsequent[$row->schId][0]-
>count==1){
echo "
<a href='".base_url()."index.php/registration/applicant/".$row-
>schId."'>daftar</a>,";
}
echo "
<a href='".base_url()."index.php/public1/result/".$row-
>schId."'>lihat hasil</a>.
</td></tr>
</table><hr />";
}
}elseif($act=="result"){ ?>
<h3>Hasil</h3><hr />
120

<a href="<?php echo base_url(); ?>">halaman utama</a>
<p>* diurutkan berdasarkan nama pengguna.</p>
<table class="table1">
<tr>
<th></th>
<th>Nama pengguna</th>
<th>Nama lengkap</th>
<th>Status</th>
</tr>
<?php
$i=1;
foreach($applicant as $row){
echo "
<tr>
<td>".$i."</td>
<td>".$row->appUsername."</td>
<td>".$row->appName."</td>
<td>".$row->appStatus."</td>
</tr>";
$i++;
}
?>
</table>
<?php } ?>
</div>
<div class="right">
<center><table>
<tr><td align="center">Karya mahasiswa:</td></tr>
<tr><td align="center"><a href="http://ikomp.ugm.ac.id"><img src="<?php
echo base_url()."pictures/banner1.png"; ?>" width="200px" /></a></td></tr>
<tr><td align="center"><a href="http://mipa.ugm.ac.id"><img src="<?php
echo base_url()."pictures/banner2.jpg"; ?>" width="200px" /></a></td></tr>
121

<tr><td align="center"><iframe frameborder="0" height="460"
scrolling="auto" src="http://www5.shoutmix.com/?kpu_spkbeasiswa"
title="kpu_spkbeasiswa" width="100%"></iframe></td></tr>
</table></center>
</div>
vRegistration.php
<head>
<link href="<?php echo base_url()."javascript/development-
bundle/themes/base/jquery.ui.all.css"; ?>" rel="stylesheet" />
<script src="<?php echo base_url()."javascript/development-bundle/jquery-
1.5.1.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.core.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.widget.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.datepicker.js"; ?>"></script>
<script>
$(function(){
$("#datepicker").datepicker({dateFormat:"yy-mm-dd"});
});
</script>
<script src="<?php echo base_url()."/javascript/tiny_mce/tiny_mce.js"; ?>"
type="text/javascript"></script>
<script type="text/javascript">
tinyMCE.init({
elements:"textarea1",
mode:"textareas",
plugins:"fullscreen,media,preview,table,wordcount",
skin:"o2k7",
theme:"advanced",

theme_advanced_buttons4:"fontselect,fontsizeselect,|,fullscreen,|,media,|,preview,|,ta
blecontrols",
theme_advanced_statusbar_location:"bottom",
theme_advanced_toolbar_align:"left",
theme_advanced_toolbar_location:"top"
122

});
</script>
</head>
<div class="div2">
<?php if($type=="applicant"){ ?>
<h3>Pendaftaran Mahasiswa/i</h3><hr />
<?php
echo "
<p class='label1'>".$e."</p>".
form_open_multipart("registration/iApplicant")."<table>
<tr>
<td><label for='appSchId'>Beasiswa</label></td>
<td><input name='appSchId' type='hidden' value='".$scholarship[0]-
>schId."' />".$scholarship[0]->schTitle."</td>
</tr>
<tr>
<td><label for='appName'>Nama lengkap</label></td>
<td><input class='input1' name='appName' type='text' /></td>
</tr>
<tr>
<td><label for='appUsername'>Nama pengguna</label></td>
<td><input class='input1' name='appUsername' type='text' /></td>
</tr>
<tr>
<td><label for='appPwd'>Kata sandi</label></td>
<td><input class='input1' name='appPwd' type='password' /></td>
</tr>
<tr>
<td><label for='appPwd1'>Kata sandi lagi</label></td>
<td><input class='input1' name='appPwd1' type='password' /></td>
</tr>
<tr>
<td><label for='appBirthdate'>Tanggal lahir</label></td>
123

<td><input class='input1' id='datepicker' name='appBirthdate'
type='text' /></td>
</tr>
<tr>
<td><label for='appDepartment'>Jurusan</label></td>
<td><input class='input1' name='appDepartment' type='text' /></td>
</tr>
<tr>
<td><label for='appEmail'>Email</label></td>
<td><input class='input1' name='appEmail' type='text' /></td>
</tr>
<tr>
<td><label for='appFile'>Berkas (*.zip)</label></td>
<td><input class='input1' name='appFile' type='file' /></td>
</tr>
<tr>
<td><label for='appGuaName'>Nama wali</label></td>
<td><input class='input1' name='appGuaName' type='text' /></td>
</tr>
<tr>
<td><label for='appUniversity'>Institusi/Universitas</label></td>
<td><input class='input1' name='appUniversity' type='text' /></td>
</tr>
<tr>
<td><label for='appGender'>Jenis Kelamin</label></td>
<td>".form_dropdown("appGender",array("laki-laki"=>"laki-
laki","perempuan"=>"perempuan"))."</td>
</tr>
<tr>
<td><label for='appAddress'>Alamat</label></td>
<td><input class='input1' name='appAddress' type='text' /></td>
</tr>
<tr>
124

<td><label for='appTelNumber'>Nomor telepon</label></td>
<td><input class='input1' name='appTelNumber' type='text' /></td>
</tr>
<tr>
<td></td>
<td><input class='input1' type='submit'
/>".form_button(array("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
}elseif($type=="scholarship"){ ?>
<h3>Pendaftaran Beasiswa</h3><hr />
<?php
echo "
<p class='label1'>".$e."</p>".
form_open("registration/iScholarship")."<table>
<tr>
<td>Nama pengguna</td>

<td>".form_input(array("class"=>"input1","name"=>"username"))."</td>
</tr>
<tr>
<td>Kata sandi</td>

<td>".form_password(array("class"=>"input1","name"=>"password"))."</td>
</tr>
<tr>
<td>Kata sandi lagi</td>

<td>".form_password(array("class"=>"input1","name"=>"password1"))."</td>
</tr>
<tr>
<td>Email</td>
<td>".form_input(array("class"=>"input1","name"=>"email"))."</td>
</tr>
125

<tr>
<td>Judul</td>
<td>".form_input(array("class"=>"input1","name"=>"title"))."</td>
</tr>
<tr>
<td>Tanggal penutupan pendaftaran</td>

<td>".form_input(array("class"=>"input1","disabled","id"=>"datepicker","name"=>
"expdate"))."</td>
</tr>
<tr>
<td>Isi</td>

<td>".form_textarea(array("class"=>"input1","id"=>"textarea1","name"=>"content"
))."</td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
</tr>
</table>".form_close();
} ?>
</div>
vResult.php
<div class="div2">
<?php if(empty($act)){ ?>
<h3>Hasil</h3><hr />
<a href="scholarship">halaman utama</a>|
<a href="result/reject">tolak yang belum diketahui</a>
<p>jumlah diterima: <?php echo $accepted[0]->count; ?> pendaftar</p>
<table class="table1">
<tr>
<th></th>
126

<th>Nama lengkap</th>
<th>Hasil</th>
<th>Status</th>
<th>Aksi</th>
</tr>
<?php
$i=1;
foreach($username as $row){
echo "
<tr>
<td>".$i."</td>
<td>".$row."</td>
<td>".$result[$row]."</td>
<td>".$status[$row]."</td>
<td>
<a href='result/detail/".$id[$row]."'>rincian</a>";
if($status[$row]=="dalam pertimbangan"){
echo "
<a href='result/accept/".$id[$row]."'>terima</a>
<a href='result/reject/".$id[$row]."'>tolak</a>";
}elseif($status[$row]=="diterima"){
echo "
<a href='result/reject/".$id[$row]."'>tolak</a>";
}elseif($status[$row]=="ditolak"){
echo "
<a href='result/accept/".$id[$row]."'>terima</a>";
}
echo "
</td>
</tr>";
$i++;
}
127

?>
</table>
<?php }elseif($act=="detail"){ ?>
<h3>Rincian: <?php echo $applicant[0]->appUsername; ?></h3><hr />
<a href='<?php echo base_url()."index.php/result"; ?>'>kembali ke hasil</a>
<?php
echo "
<table class='table1'>
<tr>
<td><label for='appName'>Nama lengkap</label></td>
<td><b>".$applicant[0]->appName."</b></td>
</tr>
<tr>
<td align='center' colspan='2'><b>Aspek penilaian</b></td>
</tr>";
foreach($linVariable as $row){
echo "
<tr>
<td>".$row->linVarName."</td>
<td><b>".$value[$row->linVarId][0]->valValue."</b></td>
</tr>";
}
echo "
<tr>
<td align='center' colspan='2'><b>Data diri</b></td>
</tr>
<tr>
<td><label for='appBirthdate'>Tanggal lahir</label></td>
<td>".$applicant[0]->appBirthdate."</td>
</tr>
<tr>
<td><label for='appDepartment'>Jurusan</label></td>
128

<td>".$applicant[0]->appDepartment."</td>
</tr>
<tr>
<td><label for='appFile'>Berkas (*.zip)</label></td>
<td><a href='".base_url()."files/".$applicant[0]-
>appFile."'>".$applicant[0]->appFile."</a></td>
</tr>
<tr>
<td><label for='appGuaName'>Nama wali</label></td>
<td>".$applicant[0]->appGuaName."</td>
</tr>
<tr>
<td><label for='appUniversity'>Institusi/Universitas</label></td>
<td>".$applicant[0]->appUniversity."</td>
</tr>
<tr>
<td><label for='appGender'>Jenis Kelamin</label></td>
<td>".$applicant[0]->appGender."</td>
</tr>
<tr>
<td><label for='appAddress'>Alamat</label></td>
<td>".$applicant[0]->appAddress."</textarea></td>
</tr>
<tr>
<td><label for='appTelNumber'>Nomor telepon</label></td>
<td>".$applicant[0]->appTelNumber."</td>
</tr>
</table>";
} ?>
</div>
vRuleBase.php
<div class="div2">
<?php if(empty($act)){ ?>
129

<h3>Basis Aturan</h3><hr />
<a href="scholarship">halaman utama</a>|
<a href="rulebase/add">tambah aturan</a>
<?php
echo "
<p class='label1'>".$e."</p>";
?>
<table class="table1">
<tr>
<th></th>
<?php
$i=0;
foreach($linVariable as $row){
echo "
<th></th>
<th>".$row->linVarName."</th>";
}
?>
<th>Aksi</th>
</tr>
<?php
$i=1;
foreach($rulBase as $row1){
$k=0;
echo "
<tr>
<td>".$i."</td>";
$antecedent=explode(";",$row1->rulBasAntecedent);
for($j=0;$j<sizeof($antecedent);$j++){
if($k==0){
$word="jika";
}elseif($k>0){
130

$word="dan";
}
foreach($memFunction as $row2){
if($row2->memFunId==$antecedent[$j]){
echo "
<td>".$word."</td>
<td>".$row2->memFunName."</td>";
}
$k++;
}
}
foreach($memFunction as $row2){
if($row2->memFunId==$row1->rulBasConsequent){
echo "
<td>maka</td>
<td>".$row2->memFunName."</td>";
}
}
echo "
<td>
<a href='rulebase/delete/".$row1->rulBasId."'>hapus</a>
</td>
</tr>";
$i++;
}
?>
</table>
<?php }elseif($act=="add"){ ?>
<h3>Tambah Aturan</h3><hr />
<?php
echo "
<p class='label1'>".$e."</p>".
131

form_open("rulebase/insert")."<table>";
$i=0;$j=0;
foreach($linVariable as $row1){
if($row1->linVarType=="konsekuen"){
$word="maka ";
}elseif($j==0){
$word="Jika ";
}elseif($j>0){
$word="dan ";
}
echo "
<tr>
<td>".$word.$row1->linVarName."</td>";
$memFunId=array();
$memFunName=array();
foreach($memFunction as $row2){
if($row1->linVarId==$row2->memFunLinVarId){
$memFunId=array_merge($memFunId,(array)$row2->memFunId);
$memFunName=array_merge($memFunName,(array)$row2-
>memFunName);
}
}
$memFunValue=array_combine($memFunId,$memFunName);
echo "
<td>".form_dropdown("linVarId[$i]",$memFunValue)."</td>
</tr>";
$i++;$j++;
}
echo "
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit")).form_button(array
("class"=>"input1","onclick"=>"self.history.back();"))."</td>
132

</tr>
</table>".form_close();
} ?>
</div>
vScholarship.php
<head>
<link href="<?php echo base_url()."javascript/development-
bundle/themes/base/jquery.ui.all.css"; ?>" rel="stylesheet" />
<script src="<?php echo base_url()."javascript/development-bundle/jquery-
1.5.1.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.core.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.widget.js"; ?>"></script>
<script src="<?php echo base_url()."javascript/development-
bundle/ui/jquery.ui.datepicker.js"; ?>"></script>
<script>
$(function(){
$("#datepicker").datepicker({dateFormat:"yy-mm-dd"});
});
</script>
<script src="<?php echo base_url()."/javascript/tiny_mce/tiny_mce.js"; ?>"
type="text/javascript"></script>
<script type="text/javascript">
tinyMCE.init({
elements:"textarea1",
mode:"textareas",
plugins:"fullscreen,media,preview,table,wordcount",
skin:"o2k7",
theme:"advanced",

theme_advanced_buttons4:"fontselect,fontsizeselect,|,fullscreen,|,media,|,preview,|,ta
blecontrols",
theme_advanced_statusbar_location:"bottom",
theme_advanced_toolbar_align:"left",
theme_advanced_toolbar_location:"top"
133

});
</script>
</head>
<div class="div2">
<h3>Selamat Datang, <?php echo $username; ?></h3><hr />
<p class='label1'><?php echo $e; ?></p>
<table class="table1" width="600px">
<tr>
<td colspan="2" style="text-align:center;"><a
href="public1">halaman publik</a></td>
</tr>
<tr>
<td>Langkah ke-1</td>
<td><?php
if($couApplicant[0]->count>0){
echo "
peubah penentu";
}else{
echo "
<a href='linguisticvariable'>peubah penentu</a>";
}
?>
</td>
</tr>
<tr>
<td colspan="2"><p style="color:#ff0000">Hati-hati! Peubah penentu
tidak dapat diubah jika ada mahasiswa yang telah mendaftar.</p><img src="<?php echo
base_url()."pictures/information.png"; ?>" />Keterangan: menentukan kriteria-kriteria
yang digunakan untuk menilai kelayakan calon penerima beasiswa, misalnya indeks
prestasi kumulatif.</td>
</tr>
<tr>
<td>Langkah ke-2</td>
<td><a href="membershipfunction">fungsi keanggotaan</a>/<a
href="membershipfunction1">fungsi keanggotaan (pemula)</a></td>
134

</tr>
<tr>
<td colspan="2"><img src="<?php echo
base_url()."pictures/information.png"; ?>" />Keterangan: menentukan fungsi-fungsi
untuk setiap peubah penentu, misalnya fungsi rendah, sedang, dan tinggi untuk indeks
prestasi kumulatif. Untuk pemula, hanya perlu menentukan batas bawah dan batas
atas.</td>
</tr>
<tr>
<td>Langkah ke-3</td>
<td><a href="rulebase">basis aturan</a></td>
</tr>
<tr>
<td colspan="2"><img src="<?php echo
base_url()."pictures/information.png"; ?>" />Keterangan: menentukan aturan-aturan yang
digunakan untuk menilai kelayakan calon penerima beasiswa, misalnya jika indeks
prestasi kumulatif rendah, kelayakan rendah.</td>
</tr>
<tr>
<td>Langkah ke-4</td>
<td><a href="result">hasil</a></td>
</tr>
<tr>
<td colspan="2"><img src="<?php echo
base_url()."pictures/information.png"; ?>" />Keterangan: melihat data diri dan hasil
penilaian setiap calon penerima beasiswa.</td>
</tr>
<tr>
<td colspan="2" style="text-align:center;"><a
href="login/logout">logout</a></td>
</tr>
</table>
<h3>Deskripsi</h3><hr />
<?php
echo
form_open("scholarship/u")."<table class='table1'>
<tr>
135

<td>Email</td>

<td>".form_input(array("class"=>"input1","name"=>"email","value"=>$scholarship[
0]->schEmail))."</td>
</tr>
<tr>
<td>Judul</td>

<td>".form_input(array("class"=>"input1","name"=>"title","value"=>$scholarship[
0]->schTitle))."</td>
</tr>
<tr>
<td>Tanggal penutupan pendaftaran</td>

<td>".form_input(array("class"=>"input1","disabled","id"=>"datepicker","name"=>
"expdate","value"=>$scholarship[0]->schExpDate))."</td>
</tr>
<tr>
<td>Isi</td>

<td>".form_textarea(array("class"=>"input1","id"=>"textarea1","name"=>"content"
,"value"=>$scholarship[0]->schContent))."</td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit"))."</td>
</tr>
</table>".form_close()."
<h3>Ganti Kata Sandi</h3><hr />".
form_open("scholarship/uPassword")."<table class='table1'>
<tr>
<td><label for='schPassword'>Kata sandi</label></td>
<td><input class='input1' name='schPassword' type='password'
/></td>
</tr>
<tr>
136

<td><label for='schPassword1'>Kata sandi lagi</label></td>
<td><input class='input1' name='schPassword1' type='password'
/></td>
</tr>
<tr>
<td></td>

<td>".form_submit(array("class"=>"input1","value"=>"submit"))."</td>
</tr>
</table>".form_close();
?>
</div>

Anda mungkin juga menyukai