APLIKASI PENGELOLAAN PRESENSI MAHASISWA UMY BERBASIS TOKEN
SKRIPSI
APLIKASI PENGELOLAAN PRESENSI MAHASISWA UMY
BERBASIS TOKEN
Disusun oleh :
AGUNG WICAKSONO
20120140037
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH
YOGYAKARTA
(2)
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Puji syukur penulis panjatkan kehadirat Allah SWT karena berkat Rahmat dan Karunia-Nya penulis dapat menyelesaikan penyusunan skripsi ini. Shalawat beserta salam semoga senantiasa terlimpah curahkan kepada Nabi Muhammad SAW, kepada keluarganya, para sahabatnya, hingga kepada umatnya hingga akhir zaman, amin.
Penulisan skripsi ini diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana pada Program Studi Teknik Informatika Fakultas Teknik Universitas Muhammadiyah Yogyakarta. Judul yang penulis ajukan adalah “Aplikasi Pengelolaan Presensi Mahasiswa UMY Berbasis Token”.
Dalam penyusunan dan penulisan skripsi ini tidak terlepas dari bantuan, bimbingan serta dukungan dari berbagai pihak. Oleh karena itu dalam kesempatan ini penulis dengan senang hati menyampaikan terima kasih kepada yang terhormat: 1. Bapak Helmi Zain Nuri, S.T., MT. selaku Ketua Program Studi Teknik
Informatika Universitas Muhammadiyah Yogyakarta.
2. Bapak Ir. Eko Prasetyo, M.Eng. selaku dosen pembimbing I yang dengan sabar membimbing, memberikan ilmu dan mengarahkan penulis sehingga selama melaksanakan penelitian tugas akhir ini hingga menyelesaikan penyusunan skripsi ini.
3. Bapak Reza Giga Isnanda, S.T., M.Sc. selaku dosen pembimbing II yang dengan sabar memberikan ilmu dan pengetahuan, semoga bermanfaat baik untuk sekarang hingga dikemudian hari.
4. Bapak Cahya Damarjati, S.T., M.Eng. selaku dosen penguji ujian pendadaran skripsi yang senantiasa memberikan saran demi perkembangan ilmu pengetahuan serta perkembangan dunia pendidikan.
5. Segenap dosen dan pengajar di Jurusan Teknik Informatika Universitas Muhammadiyah Yogyakarta.
(3)
6. Staf Tata Usaha Jurusan Teknik Informatika Fakultas Teknik Universitas Muhammadiyah Yogyakarta.
7. Ayah dan Ibu atas jasa-jasanya, kesabaran, do’a dan tidak pernah lelah dalam mendidik dan memberi cinta yang tulus dan ikhlas kepada penulis semenjak kecil.
8. Saudara-saudara tercinta yang telah banyak memberikan dorongan, semangat, kasih sayang dan bantuan baik secara moral maupun materi demi lancarnya penyusunan skripsi ini.
9. Teman-teman seperjuangan Jurusan Teknik Informatika 2012 atas kebersamaan dan bantuan yang berarti bagi penulis.
10. Semua pihak yang telah banyak membantu penulis dalam menyelesaikan skripsi ini.
Semoga Allah SWT memberikan balasan yang berlipat ganda kepada semuanya. Demi perbaikan selanjutnya, saran dan kritik yang membangun akan penulis terima dengan senang hati. Akhirnya, hanya kepada Allah SWT penulis serahkan segalanya mudah-mudahan dapat bermanfaat khususnya bagi penulis umumnya bagi kita semua.
Wassalamu’alaikum Wr. Wb.
Yogyakarta, 26 Desember 2016
(4)
PERNYATAAN
Dengan ini saya menyatakan bahwa dalam skripsi ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar kesarjanaan di suatu Perguruan Tinggi dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis dikutip dalam naskah ini dan disebutkan dalam daftar pustaka.
Yogyakarta, 26 Desember 2016
(5)
DAFTAR ISI
PENGESAHAN I ... I PENGESAHAN II... II KATA PENGANTAR...III PERNYATAAN...V DAFTAR ISI... VI DAFTAR GAMBAR... IX DAFTAR TABEL ...X INTISARI ... XI ABSTRACT ... XII
BAB I PENDAHULUAN... 1
1.1 LATAR BELAKANG ... 1
1.2 RUMUSAN MASALAH ... 3
1.3 TUJUAN PENELITIAN... 4
1.4 BATASAN MASALAH ... 4
1.5 MANFAAT PENELITIAN... 5
1.6 SISTEMATIKA PENULISAN ... 5
BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI... 7
2.1 TINJAUAN PUSTAKA ... 7
2.2 LANDASAN TEORI... 10
2.2.1 Definisi Pengelolaan Data Presensi... 10
2.2.2 Intranet ... 11
2.2.3 Aplikasi Web ... 12
2.2.4 Two Factor Authentication ... 13
(6)
2.2.6 Lightweight Directory Access Protocol (LDAP) Server... 16
2.2.7 UML ... 16
2.2.8 Visual Studio 2015 ... 17
2.2.9 ASP.NET (MVC) ... 18
2.2.10 Microsoft SQL Server Management Studio ... 19
2.2.11 Black Box testing... 20
BAB III METODE PENELITIAN ... 22
3.1 METODE PENGEMBANGAN SISTEM ... 22
3.1.1 System / Information Engineering and Modeling ... 23
3.1.2 Software Requirements Analysis... 23
3.1.3 System Design... 24
3.1.4 Implementation ... 24
3.1.5 Testing / Verification ... 25
3.1.6 Maintenance ... 25
3.2 ALAT DAN BAHAN ... 26
3.2.1 Alat... 26
3.2.2 Bahan ... 28
3.3 METODE PENGUMPULAN DATA... 29
3.3.1 Observasi ... 29
3.3.2 Wawancara ... 29
3.4 ANALISIS DATA ... 30
3.4.1 Arsitektur ... 30
3.4.2 Analisis Pengguna ... 31
3.4.3 Analisis Pembuatan Sesi Perkuliahan ... 32
3.4.4 Analisis Presensi Mahasiswa ... 33
3.4.5 Analisis Pemantauan Kehadiran Mahasiswa ... 34
3.4.6 Analisis Kebutuhan Web... 35
3.5 RANCANGAN SISTEM ... 35
3.5.1 Rancangan Sistem... 36
(7)
BAB IV HASIL DAN PEMBAHASAN ... 45
4.1 TAMPILAN APLIKASI... 45
4.1.1 Halaman Login Dosen ... 45
4.1.2 Halaman Create Sesi Perkuliahan ... 46
4.1.3 Halaman Detail Sesi Perkuliahan ... 47
4.1.4 Halaman List Sesi Perkuliahan ... 49
4.1.5 Halaman Edit Sesi Perkuliahan... 50
4.2 PENGUJIAN USER ... 50
4.2.1 Black Box Testing ... 51
4.2.2 Real Testing ... 57
4.3 PEMBAHASAN ... 62
BAB V KESIMPULAN DAN SARAN ... 64
5.1 KESIMPULAN ... 64
5.2 SARAN ... 64
DAFTAR PUSTAKA... 65
LAMPIRAN... 67
A. Source code pada controller ... 67
B. Source code pada model... 78
C. Source code (html) pada view ... 79
1. Halaman index ... 79
2. Halaman create ... 82
3. Halaman edit ... 86
4. Halaman detail ... 88
5. Halaman delete... 91
(8)
DAFTAR GAMBAR
Gambar 3. 1 Metode Waterfall menurut Bassil (2012) ... 22
Gambar 3. 2 Arsiktektur aplikasi... 30
Gambar 3. 3 Analisis pengguna... 31
Gambar 3. 4 Analisis Pembuatan Sesi Perkuliahan... 32
Gambar 3. 5 Analisis presensi mahasiswa ... 33
Gambar 3. 6 Analisis pemantauan kehadiran mahasiswa ... 34
Gambar 3. 7 Use case diagram ... 36
Gambar 3. 8 Activity diagram ... 37
Gambar 3. 9 Sequence diagram... 39
Gambar 3. 10 Rancangan antarmuka halaman login dosen. ... 42
Gambar 3. 11 Rancangan antarmuka halaman create sesi perkuliahan ... 42
Gambar 3. 12 Rancangan antarmuka halaman detail sesi perkuliahan ... 43
Gambar 3. 13 Rancangan antarmuka halaman list sesi perkuliahan ... 44
Gambar 3. 14 Rancangan antarmuka halaman edit sesi perkuliahan ... 44
Gambar 4. 1 Halaman login dosen ... 45
Gambar 4. 2 Halaman create sesi perkuliahan ... 46
Gambar 4. 3 Halaman detail sesi perkuliahan... 47
Gambar 4. 4 Halaman list sesi perkuliahan... 49
Gambar 4. 5 Halaman edit sesi perkuliahan... 50
Gambar 4. 6 Chart hasil real testing ... 61
(9)
DAFTAR TABEL
Tabel 3. 1 Spesifikasi Laptop Pengembang ... 26
Tabel 3. 2 Spesifikasi Minimum Perangkat Komputer User (Dosen) ... 27
Tabel 3. 3 Spesifikasi Minimum Perangkat Komputer Server... 27
Tabel 3. 4 Daftar Perangkat Lunak... 27
Tabel 3. 5 Perangkat Lunak Minimal untuk User (Dosen) ... 28
Tabel 3. 6 Perangkat Lunak Minimal untuk Server... 28
Tabel 4. 1 Hasil pengujian user interface... 51
Tabel 4. 2 Hasil Pengujian Fungsi Dasar Sistem ... 54
Tabel 4. 3 Hasil pengujian Validasi... 55
Tabel 4. 4 Data Real Testing ... 58
(10)
(11)
(12)
INTISARI
Pengelolaan data presensi mahasiswa sangat penting dalam kegiatan perkuliahan di Universitas Muhammadiyah Yogyakarta. Pengelolaan data yang baik tidak hanya mempermudah proses presensi, namun juga menjamin data administrasi yang baik. Kurangnya disiplin baik dari mahasiswa dan dosen dalam proses belajar dan mengajar terutama dalam hal presensi akan mengakibatkan ketidaksesuaian antara data presensi dan jadwal kuliah.
Tujuan dari penelitian ini adalah untuk merancang dan mengembangkan sistem pengelolaan presensi berbasis token. Sistem akan mempermudah dosen dalam mengelola presensi mahasiswa, sehingga menciptakan sebuah sistem presensi yang secara administratif terorganisir dengan baik.
Berdasarkan hasil uji black box dan uji langsung yang dilakukan setelah penguji mencoba aplikasi presensi online, dapat disimpulkan bahwa aplikasi presensi online ini dapat digunakan oleh dosen untuk mengelola kehadiran mahasiswa. Dengan menggunakan aplikasi ini, mahasiswa dapat mengkonfirmasi kehadiran mereka menggunakantoken. Hal ini dibuktikan dengan rata-rata hasil tes yang mencapai diatas 90%.
(13)
ABSTRACT
Student attendance data management is important in the learning process in Universitas Muhammadiyah Yogyakarta. A good data management not only simplifies the lecture attendance process but also ensure a well-organized data administration. The lack of discipline from both the students and the lecturers in the teaching process especially in taking attendance will result in the mismatch between the attendance data and the scheduled lecture.
The objective of this research is to design and develop a token-based attendance management system. This system will ease the lecturer in managing the students’ attendance, thus creating an attendance system that is administratively well-organized.
Based on the result of black box testing and real testing done after the researcher tried out the online attendance application, it can be inferred that this online attendance application can be used by lecturers to manage students’ attendance. By using this application, students can also confirm their attendance using the token. This is proven by the average percentage of the test result that reaches above 90%.
(14)
BAB I PENDAHULUAN
1.1 LATAR BELAKANG
Universitas Muhammadiyah Yogyakarta adalah salah satu perguruan tinggi di Yogyakarta yang beralamat di Kampus Terpadu Universitas Muhammadiyah Yogyakarta, Jalan Lingkar Selatan, Kasihan, Bantul, DI Yogyakarta. Universitas Muhammadiyah Yogyakarta terakreditasi “A” dengan SK BAN PT No.061/SK/BAN-PT/Ak-IV/PT/II/2013. Hingga saat ini Jumlah mahasiswa Universitas Muhammadiyah Yogyakarta terdapat kurang lebih 20.000 mahasiswa. Sehingga dengan banyaknya jumlah mahasiswa yang ada, maka proses kegiatan belajar dan mengajar semakin banyak.
Dengan banyaknya kegiatan proses belajar dan mengajar di Universitas Muhammadiyah Yogyakarta, tidak menutup kemungkinan akan mengalami beberapa hambatan. Salah satu hambatannya adalah sulitnya pengelolaan pada presensi.
Pengelolaan data presensi mahasiswa tentunya menjadi salah satu hal penting dalam kegiatan perkuliahan di Universitas Muhammadiyah Yogyakarta. Presensi sulit dikelola karena terdapat beberapa masalah. Pertama, mahasiswa dapat melakukan presensi meskipun tidak membayar tanggungan perkuliahan. Mahasiswa bisa datang pada setiap kelas perkuliahan dari awal semester hingga akhir semester. Selain itu mahasiswa tersebut dapat melakukan presensi pada lembar presensi yang disediakan. Kemudian memperoleh nilai perkuliahan pada
(15)
akhir semester. Namun, nilai tersebut ternyata tidak dapat keluar di sistem informasi akademik dikarenakan mahasiswa tersebut belum melesaikan pembayaran perkuliahan. Sehingga hal ini dapat mengganggu dan menjadi hambatan bagi Universitas.
Kedua, mahasiswa berpura-pura datang mengikuti perkuliahan. Padahal mahasiswa tersebut tidak hadir dalam perkuliahan. Dia menyuruh temannya dalam satu kelas untuk melakukan presensi untuknya. Sehingga mahasiswa tersebut tercatat telah menghadiri perkuliahan.
Ketiga, mahasiswa dapat memanipulasi waktu kehadiran saat perkuliahan. Ketika jadwal perkuliahan dimulai dari jam 08.00 pagi sampai dengan jam 10.00 pagi , mahasiswa tersebut ternyata hadir pada perkuliahan dari jam 09.00 pagi sampai selesai. Setelah itu dia melakukan presensi pada lembar yang telah disediakan. Sehingga mahasiswa tersebut tercatat telah menghadiri perkuliahan meskipun dia terlambat.
Keempat, dosen dapat memanipulasi waktu kehadiran saat mengajar. Ketika jadwal perkuliahan dimulai dari jam 08.00 pagi sampai dengan jam 10.00 pagi, namun karena terlambat dosen tersebut memulai perkuliahan dari jam 08.30 sampai dengan jam 10.00 pagi. Setelah itu dosen menanda tangani berita acara perkulihaan sesuai dengan jadwal yang telah ditentukan.
Sejauh ini terdapat dua solusi yang telah diterapkan, yaitu pertama dibuatkannya berita acara perkuliahan. Sehingga mahasiswa memberikan tanda tangan pada lembar berita acara perkuliahan. Kedua, dibuatkannya aplikasidesktop
(16)
tentang pengelolaan presensi berbasis website. Namun dari solusi ini masih belum bisa mengatasi beberapa masalah diatas. Karena aplikasi ini belum bisa membedakan antara mahasiswa yang telah melakukan pembayaran perkuliahan dengan mahasiswa yang belum. Selain itu aplikasi ini masih membutuhkan manual berita acara perkuliahan dalam proses memasukkan data. Hal tersebut tentu saja dapat menyulitkan staf pengolah presensi dalam mengelolah dan menjaga seluruh data agar tidak terjadi kesalahan dalam memasukkan data.
Perkembangan teknologi saat ini sangat memungkinkan untuk memanfaatkan teknologi informasi sebagai alat bantu, manipulasi, dan pengelolaan data seperti aplikasi berbasis token. Token merupakan nilai acak yang dihasilkan dan diingat oleh komputer tanpa melibatkan otak manusia dalam proses mengingat. Karena aplikasi berbasis token memudahkan client dalam melakukan proses autentikasi tanpa harus memasukkan username dan password. Berdasarkan latar belakang masalah yang telah dipaparkan, perancangan dan pembuatan sebuah aplikasi pengelolaan presensi yang berjudul “Sistem Informasi Presensi” diharapkan menjadi sebuah solusi untuk permasalahan presensi.
1.2 RUMUSAN MASALAH
Berdasarkan latar belakang diatas didapatkan beberapa masalah yang menyulitkan staf dalam mengelola presensi. Sehingga untuk mengatasi masalah-masalah tersebut maka perlunya media untuk:
a. Mendisiplinkan mahasiswa dan dosen dalam proses belajar dan mengajar khususnya dalam hal presensi.
(17)
b. Membedakan antara mahasiswa yang sudah dan belum key-in (mengambil mata kuliah).
1.3 TUJUAN PENELITIAN
Berdasarkan deskripsi dari rumusan masalah diatas, tujuan dari penelitian ini adalah untuk merancang dan mengembangkan sistem pengelolaan presensi berbasis token. Sistem pengelolaan presensi dapat dijadikan media oleh dosen untuk mengelola presensi mahasiswa.
1.4 BATASAN MASALAH
Karena luasnya cakupan dalam mengembangkan aplikasi pengelolaan presensi, maka dalam penelitian ini penulis membuat beberapa batasan masalah dengan tidak mengurangi tujuan penelitian. Adapun beberapa batasan masalah yang dimaksud antara lain:
a. Data untuk simulasi atau pengembangan diambil dari Universitas Muhammadiyah Yogyakarta periode awal hingga tahun 2015.
b. Aplikasi ini hanya digunakan untuk Dosen (back office).
c. Sistem Pengelolaan Presensi Mahasiswa ini hanya digunakan dalam jaringan local Universitas Muhammadiyah Yogyakarta.
d. Penelitian ini tidak terfokus pada desain UI (user interface) dan UX (user experience).
(18)
1.5 MANFAAT PENELITIAN
Dengan adanya penelitian ini diharapkan dapat memberikan manfaat antara lain:
a. Memudahkan dosen dalam mengelola presensi.
b. Mahasiswa dan dosen dapat lebih disiplin dalam proses belajar dan mengajar khususnya dalam hal presensi.
c. Terwujudnya sebuah pengelolaan administrasi presensi yang teratur.
1.6 SISTEMATIKA PENULISAN
Dalam penulisan skripsi ini, untuk mempermudah dalam hal penyusunan, penulis membaginya dalam beberapa bab. Secara garis besar, sistematika penulisan skripsi ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisikan tentang pelaksananaan penelitian secara umum. Pada bab ini akan dijelaskan mengenai latar belakang masalah, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, dan sistematika penulisan.
BAB II TINJAUAN PUSTAKAN DAN LANDASAN TEORI
Bab ini menjelaskan teori-teori yang menjadi acuan dalam penulisan, yaitu mulai dari penjelasan tentang teknologi, penjelasan tentang teori yang digunakan dalam membangun aplikasi hinggadatabaseyang digunakan.
(19)
Bab ini membahas mengenai metode penelitian yang berisi mengenai sumber dan jenis data yang akan digunakan penulisan untuk melakukan penelitian. Selain itu terdapat juga rancangan antarmuka untuk aplikasi.
BAB IV HASIL DAN PEMBAHASAN
Bab ini menjelaskan mengenai hasil pembuatan aplikasi pengelolaan presensi Universitas Muhammadiyah Yogyakarta, implementasi sistem dan hasil pengujian pada sistem yang telah dibuat.
BAB V KESIMPULAN DAN SARAN
Bab ini menjelaskan mengenai kesimpulan dan saran yang dibutuhkan dari hasil penelitian yang telah dibuat.
DAFTAR PUSTAKA
(20)
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 TINJAUAN PUSTAKA
Presensi atau daftar hadir adalah formulir berisi data identitas dan validasi dengan paraf atau tandatangan seseorang yang digunakan sebagai bukti kehadiran/keikutsertaan seseorang tersebut dalam suatu acara/kegiatan (Badunk, 2013). Terkadang di sebuah perusahaan seseorang atau karyawan melakukan presensi saat datang dan pulang dari kerja. Selain itu, setiap perusahaan atau instansi memiliki sistem presensi yang berbeda-beda.
Sistem presensi yang terkomputerisasi sudah banyak dikembangkan sebelumnya dengan perangkat lunak dan metode yang berbeda-beda. Sistem yang dikembangkan juga bervariasi, berbasiswebsite, fingerprint,maupundesktop.
Penelitian yang dilakukan oleh Muhammad, dkk. (2013) menjelaskan bahwa sistem presensi MONIKUL V.1 yang telah dikembangkan dapat melakukan monitoring absensi fingerprint untuk perkuliahan yang ada pada Jurusan Sistem Informasi ITS. Sistem ini juga dapat melakukan pengolaan jadwal belajar mengajar terkait absensifingerprint. Selain itu pemanfaatan teknologi ini dapat meringankan beban TU jurusan untuk rekapitulasi absensi saat akhir semester. Melalui uji coba performa menggunakanapache benchmarkpada lingkungan uji coba, MONIKUL V.1 dapat menanganirequestlebih dari 1000userberbeda secara bersamaan.
Dengan adanya sistem ini memungkinkan semua civitas yang tergabung di dalamnya dapat melihat dan merekap absensinya. Civitas yang dimaksud adalah
(21)
useryang tidak lain adalah Dosen, Mahasiswa, dan Admin.Usertersebut memiliki previlage berbeda tergantung jabatanuser tersebut (Muhammad dkk., 2013).
Selain itu, penelitian yang dilakukan oleh Zakaria dan Fandi (2008) mungungkapkan bahwa PDA dapat membantu penggunanya dalam melakukan aktivitas yang sebelumnya sulit untuk dilakukan. Salah satunya adalah untuk melakukan presensi perkuliahan, mayoritas masih menggunakan cara manual, yaitu dengan mengedarkan kertas presensi yang ditandatangani oleh mahasiswa. Sehingga PDA juga mampu melakukan presensi mahasiswa oleh dosen yang bersangkutan, dan langsung dikirim ke aplikasi desktop di suatu Personal Computer( PC ) untuk kemudian disimpan ke dalamdatabase.
Dari hasil penelitian tersebut diketahui bahwa dalam proses presensi mahasiswa, kita dapat menggunakan PDA sebagai media untuk presensi. Dan dalam proses memanajemen presensi kita dapat menggunakan Web Servis dalam pengembangannya. Dalam Proses manajemen kita bisa mengetahui beberapa data salah satunya adalah data presensi mahasiswa.
Berdasarkan pengujian dan analisis yang telah dilakukan oleh masing-masing peneliti, kedua peneliti tersebut membangun beberapa sistem presensi menggunakan beberapa media. Namun, masih terdapat kelemahan pada dua penelitian tersebut. Penelitian Muhammad, dkk. (2013) memiliki kelemahan pada pengadaan alat fingerprint yang terlalu mahal. Sehingga, sangat tidak efektif jika diterapkan pada sebuah instansi besar seperti universitas. Penelitian Zakaria dan Fandi (2008) juga memiliki kelemahan pada sistem security yang digunakan.
(22)
Aplikasi PDA yang digunakan belum mempunyai identitas yang unik. Sehingga, sangat mudah dicurangi jika tidak ada sistem otentikasi yang aman. Untuk itu, aplikasi presensi menggunakan PDA akan lebih baik jika dikembangkan menggunakan sistem yang unik sepertitwo factor authentication.
Terdapat penelitian lain yang dilakukan oleh Gusman (2013) mengenai Analysis and Implementation of Two Factor Authentication with QR Code in Web-Based Aplication. Dia mengungkapkan bahwa proses otentikasi pengguna dalam layanan Internet banking, selain menggunakan password miliknya sendiri, pengguna juga menggunakan token yang akan membangkitkan suatu password sekali pakai (one time password) agar dapat terotentikasi dalam menggunakan layanan Internet banking. Pada layanan Internet banking suatu token bekerja berdasarkan prinsip challenge dan response, dimana web server akan membangkitkan suatu challenge yang nantinya akan diproses oleh token dan menghasilkan suaturesponseyang digunakan untuk melakukan otentikasi.
Berdasarkan penelitian Gusman (2013), penggunaan token dapat mempercepat dan mempermudah pengguna dalam melakukan proses otentikasi. Pada token biasanya pengguna diharuskan memasukkan kode challenge (berdasarkan hasil generated random string) dan kode response secara manual. Sehingga pengguna lebih terjamin keamanannya saat melakukan logonke sistem karena aplikasi telah menerapkantwo factor authentication.
Hasil dari pengujian yang dilakukan oleh Gusman (2013) adalah pencurian terhadaptokenpengguna tidak dapat berguna, karenatokenjuga dilindungi dengan password untuk menggunakannnya. Aktivitas pencurian terhadap informasi
(23)
pengguna pada aplikasi token juga tidak berguna sebab informasi tersebut dienkripsi. Pencurian informasiusernamedanQR codejuga tidak berguna, sebab informasi tersebut akan segera tidak berlaku saat pengguna berhasil terotentikasi (one time password). Selain itu proses otentikasi dibatasi hanya dapat dilakukan dalam batas waktu tertentu.
Melihat potensi token sebagai pengaman, maka token juga dapat dikembangkan pada sistem presensi menggunakan PDA. Dengan menggunakan teknologiweb service,sistem presensi online dapat dikembangkan pada duaclient, yaitu dosen dan mahasiswa. Client untuk dosen digunakan untuk men-generate tokensedangkan clientuntuk mahasiswa digunakan untukenroll token. Sehingga mahasiswa dapat melakukan presensi menggunakan tokenyang telah di-generate oleh dosen.
2.2 LANDASAN TEORI
2.2.1 Definisi Pengelolaan Data Presensi
Pengelolaan adalah serangkaian aktivitas-aktivitas koordinasi yang mencakup perencanaan, pengorganisasisan, pengarahan, pengendalian, penempatan serta pengambilan keputusan untuk mengahasilkan suatu produk dan jasa yang efektif dan efisien Sikula (1973). Berdasarkan penelitian Sikula (1973), peneliti dapat menyimpulkan bahwa pengolahan data presensi adalah suatu proses kegiatan pencatatan terhadap setiap presensi dengan tujuan untuk mengetahui data dan laporan berkaitan dengan presensi masuknya karyawan, presensi pulangnya karyawan, dan bentuk transaksi yang dilakukan pada kurun waktu tertentu. Tujuan
(24)
dari pengolahan data presensi adalah agar dapat mengetahui data dan informasi yang berkaitan dengan informasi presensi.
2.2.2 Intranet
Intranet adalah jaringan komputer yang saling berhubungan atau tersambung yang digunakan oleh suatu sistem organisasi maupun lembaga. Atau Definisi Intranet yang lain adalah Intranet merupakan suatu jaringan komputer yang berbasis protokol TCP/IP, layaknya jaringan internet hanya saja penggunaannya yang dibatasi atau lebih tertutup jadi tidak semua pengguna atau orang dapat secara mudah mengakses jaringan intranet serta hanya orang atau pengguna tertentu saja yang dapat masuk dan menggunakan jaringan intranet.
Dapat disimpulkan Fungsi Intranet adalah berfungsi mengkomunikasikan komputer satu dengan yang lain, persis seperti internet tatapi memiliki layanannya yang terbatas, tak seluas dan seberagam di jaringan internet.
Perbedaan antarainternetdanintranetsebagai berikut:
Jaringaninternet:
1) Sifat yang terbuka, yang artinya dapat di akses oleh siapa saja asalkan dapat terhubung dengan jaringan internet.
2) Jangkauan yang luas dan tak terbatas, yang artinya dimana si pengguna dapat menjangkau seluruh belahan dunia tanpa batasan.
(25)
Jaringanintranet:
1) Sifatnya tak terbuka, artinya dimana hanya dapat diakses oleh orang-orang atau pengguna yang memiliki akses terhadap jaringan intranet.
2) Jangkauan yang luas tapi terbatas, artinya dimana hanya menjangkau pada area-area yang di perlukan untuk jaringan intranet saja.
2.2.3 Aplikasi Web
Aplikasi web merupakan sebuah aplikasi yang mengunakan teknologi browser untuk menjalankan aplikasi dan diakses melalui jaringan komputer (Remick, 2011). Sedangkan menurut Wulandari (2015), aplikasi web merupakan aplikasi yang dapat diakses mengunakan web browser dengan melalui jaringan internetmaupunintranet.
Aplikasi web juga merupakan suatu perangkat lunak komputer yang dikodekan dalam bahasa pemrograman yang mendukung perangkat lunak berbasis web seperti HTML, JavaScript, CSS, Ruby, Python, Php, Java dan bahasa pemrograman lainnya.
Aplikasi berbasis web dapat digunakan untuk berbagai macam tujuan yang berbeda. Sebagai contoh aplikasi berbasis web dapat digunakan untuk membuat invoice dan memberikan cara yang mudah dalam penyimpanan data di database. Aplikasi ini juga dapat dipergunakan untuk mengatur pengelolaan, karena fitur tersebut sangat berguna khususnya bagi mereka yang berbisnis ritel. Bukan hanya itu, Aplikasi berbasis web juga dapat bekerja memonitoring sistem dalam hal tampilan.
(26)
2.2.4 Two Factor Authentication
Otentikasi adalah proses membuktikan suatu identitas (Kessler, 1998). Otentikasi bertujuan membuktikan keabsahan seseorang dalam menggunakan suatu layanan. Metode otentikasi bisa dilihat dalam 4 kategori metode (Pamadya, 2011): 1) Something you know, merupakan metode yang paling umum dengan
mengandalkanpassword.
2) Something you have, merupakan faktor tambahan untuk membuat otentikasi menjadi lebih aman dengan mengandalkan barang yang sifatnya unik, contohnya: kartu magnetik/smartcard, USB token, token hardware, dan sebagainya.
3) Something you are, merupakan metode yang mengandalkan keunikan bagianbagian tubuh yang tidak Mungkin ada pada orang lain, seperti Sidik jari, Sidik retina, Dan suara.
4) Something you do, melibatkan bahwa setiap user dalam melakukan sesuatu
dengan cara yang berbeda. Contoh: Penggunaan analisis suara (voice
recognation), dan analisis tulisan tangan.
Pada aplikasi yang kritis dan sensitif seperti transaksi keuangan, satu metode otentikasi saja tidak cukup. Oleh karena itu muncul istilah 2FA (Two Factor Authentication) yang merupakan sistem otentikasi yang menggunakan 2 faktor (metode) yang berbeda. Metode otentikasi dapat dikombinasikan untuk meningkatkan keamanan, salah satu contohnya adalah dengan kombinasi “something you have” berupa kartu ATM dengan “something you know” berupa PIN. Kombinasi ini merupakan kombinasi yang paling banyak dipakai.
(27)
Contoh kasus lain adalah ketika anda berbelanja di pasar modern dan membayar dengan kartu, tanpa disadari anda telah memakai lebih dari satu faktor otentikasi. Faktor yang pertama adalah “Something You Have” yaitu kartu debit/kredit anda. Faktor kedua adalah “Something You Know”, ketika anda diminta memasukkan PIN ke dalam mesin EDC. Bahkan mungkin ada faktor ketiga yaitu “Something You Can”, ketika anda diminta menanda-tangani nota pembayaran yang dicetak mesin EDC.
Internet banking juga menggunakan two factor authentication dengan mengombinasikan “something you know” berupa password dan “something you have” berupahardware token(keyBCA atauTokenMandiri).
2.2.5 Token
Token merupakan unit atau elemen dasar dalam bahasa komputer (seperti ‘kata’ di bahasa manusia), dimana unit tersebut tidak terbagilagi. Token merupakan bagian dari hasil pemecahan sumber yaitu penerjemahan programlexemepada saat melakukan scanner (Soleh, 2013). Karakter didalam token dikategorikan sebagai salah satu dari lima kelas token yang menggambarkan fungsi mereka (identifier, keyword, literal string, operator, separator) sesuai dengan aturan bahasa pemrograman.
Menurut Oktafia (2008),tokenmerepresentasikan nama:
1) Identifier (nama variabel, fungsi dan tipe atau nama yang didefinisikan pemakai).
(28)
2) Keyword 3) LiteralString 4) Operator 5) Label
6) Simbol tanda (tanda kurung, koma dan titik koma).
Penelitian ini, hanya menggunakan beberapa karakter dalam penerapannya, yaitu:
1) Angka (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
2) Huruf besar (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
3) Huruf kecil (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z)
Tokenini terdiri dari delapandigit random keyword. Prosesgenerate random token terjadi setelah pengguna (dosen) meng-klik tombol create pada sesi perkuliahan. Setelah tombol create diklik, sistem akan melakukan random dari daftar karakter yang disebutkan. Jikatokenyang dibuat sama dengantokensesi lain di hari yang sama, maka sistem akan melakukan pengulangan dalam proses generate random token.Setelah sistem mendapatkantokenyang unik, tokenakan ditampilkan pada halamandetailsesi perkuliahan. Sehinggatokenini nantinya akan digunakan oleh mahasiswa untuk melakukan presensi.
(29)
2.2.6 Lightweight Directory Access Protocol (LDAP) Server
Lightweight Directory Access protocol(LDAP) merupakan protokol aplikasi yang mengatur mekanisme manajemen dan pengaksesan layanan informasi direktori terdistribusi melalui jaringan IP. Informasi tersebut dapat berupapeople, organizations, roles, services dan banyak entitas lainnya. LDAP menggunakan model client-server, di mana client mengirimkan identifier data kepada server dengan menggunakan protokol TCP/IP danservermencoba mencari data tersebut pada DIT (Directory Information Tree) yang tersimpan di server. Apabila data ditemukan, maka hasilnya akan dikirimkan ke client tersebut, namun bila tidak, maka hasilnya berupa pointer ke server lain yang menyimpan data yang dicari. LDAP memiliki bentuk struktur yang berhirarki, bukan berformat kolom dan baris sebagaimana database normal, sehingga memudahkan untuk memasukkan sejumlah besar detail yang mirip dalam bentuk yang terorganisir. LDAP memiliki dua layanan utama, yaitu:
1) Slapd: LDAP daemon yang melayani permintaan dari klient, query dan berkomunikasi denganbackend database.
2) Slurp: Replikasi daemonyang berfungsi melayani replikasi data agar terus terjadi sinkronisasi data antara klien danserver.
2.2.7 UML
Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya (Nugroho et al, 2014). UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem
(30)
tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an (Nugroho et al, 2014). Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP (Nugroho et al, 2014). UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM (Nugroho et al, 2014).
Berikut ini adalah definisi dari 4 diagramUML menurut Handayani (2014) yaitu:
1) Use Case Diagram
Use Case Diagram merupakan inti fungsionalitas koheren yang diekspresikan sebagai transaksi-transaksi yang terjadi antaraactordansystem. 2) Sequence Diagram
Secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada sekuensi sebuahuse caseatau operasi.
3) Activity Diagram
Secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis maupun use case. Activitydiagram dapat juga digunakan untuk memodelkan action yang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dariactiontersebut.
2.2.8 Visual Studio 2015
Microsoft Visual Studio merupakan sebuah perangkat lunak lengkap (suite) yang dapat digunakan untuk melakukan pengembangan aplikasi, baik itu aplikasi bisnis, aplikasi personal, ataupun komponen aplikasinya, dalam bentuk aplikasi
(31)
console, aplikasi Windows, ataupun aplikasi Web. Visual Studio mencakup kompiler, SDK, Integrated Development Environment (IDE), dan dokumentasi (umumnya berupa MSDN Library). Kompiler yang dimasukkan ke dalam paket Visual Studio antara lain Visual C++, Visual C#, Visual Basic, Visual Basic .NET, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, dan Visual SourceSafe.
Microsoft Visual Studio dapat digunakan untuk mengembangkan aplikasi dalam native code (dalam bentuk bahasa mesin yang berjalan di atas Windows) ataupun managed code (dalam bentuk Microsoft Intermediate Language di atas .NET Framework). Selain itu, Visual Studio juga dapat digunakan untuk mengembangkan aplikasi Silverlight, aplikasi Windows Mobile (yang berjalan di atas .NET Compact Framework).
Microsoft Visual Studio 2015 Enterprise dapat membuat dan mengedit aplikasi lebih mudah dan cepat sehingga meningkatkan produktifitas dalam pembuatan aplikasi. Microsoft Visual Studio 2015 Enterprise sudah mendukung sistem operasi windows terbaru yaitu windows 10. Sehingga software ini sangat mendukung dan mudah bagi instansi yang ingin mengembangkan aplikasinya ke versi terbaru.
2.2.9 ASP.NET (MVC)
ASP.NET MVC adalah kerangka kerja untuk membangun aplikasiwebyang menerapkan pola Model-View-Controller umum untuk kerangka ASP.NET (Galloway et al, 2014). Microsoft telah merilis Visual Studio 2015 Enterprise. Ada banyak fitur baru yang diperkenalkan dengan rilis ini dari Visual Studio. Salah
(32)
satunya adalah MVC 6, itu adalah versi terbaru dari MVC. MVC adalah pola arsitektur yang memisahkan aplikasi menjadi tiga bagian utama yang disebut Model, View dan Controller. MVC adalah cara yang diakui untuk mengembangkan aplikasi.
MVC 5 adalah sebuah update terbaru dari Visual Studio dengan kelebihan dapat membangun sebuah webdinamis atau situs data-driven. Visual Studio telah menambahkan fitur menarik seperti pages application , mobile optimization dan adaptive rendering.
Menurut Joshi (2013) ada beberapa karakteristik penting dalam MVC 5 seperti yang diberikan di bawah ini:
1) One ASP.NET
2) ASP.NET Identity 3) Bootstrap
4) Filter Authentication 5) Filter Authorization
2.2.10 Microsoft SQL Server Management Studio
Microsoft SQL Server adalah sistem manajemen database relasional yang dikembangkan oleh Microsoft. Sebagai database, Microsoft SQL Server adalah produk software yang fungsi utamanya adalah untuk menyimpan dan mengambil data seperti yang diminta oleh aplikasi perangkat lunak lain, baik localhost atau pada komputer yang sama maupun melalui jaringan (pada komputer lain dalam jaringan, termasuk jariganinternet). Banyak edisi yang berbeda dari Microsoft SQL
(33)
Server ditujukan untuk pengguna yang berbeda dan untuk beban kerja yang berbeda pula (mulai dari aplikasi kecil yang menyimpan dan mengambil data di komputer yang sama ataupun untuk jutaan pengguna dan komputer yang mengakses data dalam jumlah besar dariinternetpada waktu yang sama).
Microsoft SQL Server termasuk DBMS profesional. Beberapa pesaing seperti MySQL, Oracle, telah mengembangkan software serupa dalam beberapa tahun terakhir, tetapi Microsoft SQL Server lebih mudah digunakan dan memiliki lebih banyak fitur. Pemicunya antara lain adalah dukungan penuh dari Microsoft. Perangkat lunak yang ditawarkan oleh Microsoft juga menawarkan integrasi yang erat dengan .NET framework, dan ini tidak dimiliki oleh produk lain (Aiska, 2011).
2.2.11 Black Box testing
Dalam pengujian perangkat lunak ada dua yaituwhite box testingdanblack box testing. Dari kedua metode itu, pada skripsi dipilih menggunakan black box testing karena dianggap lebih tepat dibanding white box testing. Perangkat lunak memerlukan seperangkat tes untuk pencarian kesalahan fungsi-fungsi dalam aplikasi sehingga dalam hal ini black box testing lebih sesuai. Pengujian ini digunakan untuk mengetahui apakah fungsi-fungsi dalam perangkat lunak sudah sesuai dengan yang diharapkan.
Menurut Pressman (2010), black box testing berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan engineer untuk memperoleh input yang sepenuhnya akan melaksanakan persyaratan fungsional
untuk sebuah program.Black box testingberusaha untuk menemukan kesalahan dalam kategori berikut:
(34)
a. Fungsi yang tidak benar atau fungsi yang hilang. b. Kesalahan antarmuka.
c. Kesalahan dalam struktur data atau akses database eksternal. d. Kesalahan kinerja.
(35)
BAB III
METODE PENELITIAN
3.1 METODE PENGEMBANGAN SISTEM
Untuk pengembangan sistem penelitian ini menggunakan model SDLC (Software Development Life Cycle).System Development Life Cycle(SDLC) adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sebuah sistem. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana (planning), analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance).
Model SDLC yang dipakai dalam penelitian ini adalah model Waterfall. Waterfall Model atau Classic Life Cicle merupakan model yang paling banya dipakai dalamSoftware Enginnering (SE).Menurut Bassil (2012) disebutwaterfall karena tahap demi tahap yang harus dilalui menunggu selesainya tahap sebelumnya dan berjalan berurutan.
(36)
3.1.1 System / Information Engineering and Modeling
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.
Pada tahap ini peneliti melakukan observasi dan wawancara langsung dengan pihat Biro Sitem Informasi (BSI) di Universitas Muhammadiyah Yogyakarta. Penjelasan lebih lengkap dari aktifitas tersebut terdapat pada bab 3.3. Pada Observasi ini terfokus pada permasalahan yang menjadi keluhan dari pihak user. Setelah mendapatkan beberapa data, peneliti menyimpan data tersebut sebagai bahan acuan dalam tahap analisis.
3.1.2 Software Requirements Analysis
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan,user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dansoftware) harus didokumentasikan dan ditunjukkan kepada pelanggan.
Berdasarkan hasil observasi dan wawancara langsung, peneliti menganalisis data keluhan dari user. Apakah kebutuhan fungsi software untuk memenuhi kendala yang dialami oleh user. Sehingga didapatkan sebuah dokumen analisis
(37)
yang digunakan sebagai bahan untuk ditunjukkan kepada user. Penjelasan lebih lengkap dari aktifitas tersebut terdapat pada bab 3.4.
3.1.3 System Design
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint”softwaresebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi darisoftware. Penjelasan lebih lengkap dari aktifitas ini terdapat pada bab 3.5.
Setelah peneliti mendapatkan dokumentasi dari hasil analisis, maka peneliti mengubah kebutuhan-kebutuhan fungsi software diatas menjadi sebuah bentuk “blueprint” software. Sehingga hasil desain akan digunakan oleh peneliti untuk membangun sebuah aplikasi.
3.1.4 Implementation
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahapdesignyang secara teknis nantinya dikerjakan olehprogrammer.
Pada tahap ini, peneliti membangun sebuah aplikasi berdasarkan desain “blueprint” yang telah dibuat. Pengembangan aplikasi ini dilakukan dari awal
(38)
hingga aplikasi siap dijalankan. Dari fungsi-fungsi yang dibutuhkan hingga tampilan untuk pengguna (dosen). Penjelasan lebih lengkap dari aktifitas ini terdapat pada lampiran.
3.1.5 Testing / Verification
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengansoftware. Semua fungsi-fungsi software harus diujicobakan, agarsoftware bebas darierror, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
Setelah proses pembangunan aplikasi selesai, peneliti melakukan pengujian padda tahap ini. Aplikasi diuji berdasarkan metode black box untuk mengetahui tingkat keberhasilan dari bagian sistem. Selain itu, peneliti juga melakukan pengujian secara langsung pada setiap sesi perkuliahan di UMY (khususnya di Jurusan Teknik Informatika). Penjelasan lebih lengkap dari aktifitas ini terdapat pada bab 4.2.
3.1.6 Maintenance
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
(39)
Peneliti belum sampai pada tahap ini, sehingga tahap ini belum terlaksana. Rencana peneliti akan melakukan beberapa perbaikan tidak pada semua tahapan, namun hanya pada tahapan sebelum terjadi error. Sehingga peneliti tidak akan dipusingkan dengan melakukan tahapan dari awal hingga akhir kembali.
3.2 ALAT DAN BAHAN
3.2.1 Alat
Alat yang digunakan berupa perangkat keras dan perangkat lunak.
a. Perangkat Keras untuk Pengembang
Spesifikasi Laptop yang digunakan dapat dilihat pada Tabel 3.1.
Tabel 3. 1Spesifikasi Laptop Pengembang
Sistem Operasi Windows 10 Pro
Processor Intel(R) Core(TM)i3-4010U CPU @
1.70GHz
RAM 6 GB
Hard disk 500 GB
b. Perangkat Keras untukUser(Dosen)
Spesifikasi minimul perangkat komputer yang dapat digunakan oleh dosen untuk menjalan aplikasi ini dapat dilihat pada Tabel 3.2.
(40)
Tabel 3. 2Spesifikasi Minimum Perangkat KomputerUser(Dosen)
Sistem Operasi Windows 7
Processor Intel(R) Pentium 4
RAM 1 GB
Hard disk 5 GB
c. Perangkat Keras untuk Server
Spesifikasi minimul perangkat komputer untuk server yang dapat digunakan untuk menjalan aplikasi ini dapat dilihat pada Tabel 3.3.
Tabel 3. 3Spesifikasi Minimum Perangkat KomputerServer
Sistem Operasi Windows Server 2012
Processor Intel(R) Core i3
RAM 2 GB
Hard disk 60 GB
d. Perangkat Lunak untuk Pengembang
Daftar perangkat lunak yang digunakan dapat dilihat pada Tabel 3.4.
Tabel 3. 4Daftar Perangkat Lunak
No. Perangkat Lunak
1 Microsoft Visual Studio 2015 Enterprise 2 SQL Server Management 2016
(41)
e. Perangkat Lunak untukUser(Dosen)
Daftar perangkat lunak yang digunakan dapat dilihat pada Tabel 3.5.
Tabel 3. 5Perangkat Lunak Minimal untukUser(Dosen)
No. Perangkat Lunak
1 Browser Internet (Google Chrome atau Mozilla Firefox). 2 NET Framework Minimal 3.5
f. Perangkat Lunak untukServer
Daftar perangkat lunak yang digunakan dapat dilihat pada Tabel 3.6.
Tabel 3. 6Perangkat Lunak Minimal untukServer
No. Perangkat Lunak
1 Browser Internet (Google Chrome atau Mozilla Firefox). 2 SQL Server Management 2016
3 Html 5, CSS 3 dan Javascript 4 Internet Information Services (IIS) 7
3.2.2 Bahan
Dalam Penelitian ini bahan yang digunakan adalah:
a. Data yang diperoleh melalui studi literatur berdasarkan penelitian sebelumnya yang masih memiliki keterkaitan dengan aplikasi yang dikembangkan. Dari data yang diperoleh, maka didapatkan kebutuhan dari aplikasi pada saat pengembangan aplikasi.
(42)
b. Database UMY (data hanya sebagian yang mendukung untuk kegiatan presensi) dari Biro Sistem Informasi (BSI) Universitas Muhammadiyah Yogyakarta.
3.3 METODE PENGUMPULAN DATA
3.3.1 Observasi
Tujuan dari observasi adalah dengan mendeskripsikan setting yang diamati, tempat kegiatan orang-orang yang berpartisipasi dalam kegiatan tersebut dan makna apa yang diamati menurut prespektif pengamat. Pengamatan dapat diklasifikasikan atas pengamatan melalui cara berperan serta dan yang tidak berperan serta.
Pada pengamatan berperan serta, pengamat melakukan dua peran sekaligus, yaitu sebagai pengamat dan sekaligus menjadi anggota penelitian dari kelompok penelitian. Pada penelitian ini peneliti mendapatkan data dengan mengamati objek yang akan diteliti secara langsung di tempat penelitian yaitu Biro Sistem Infomasi (BSI) UMY. Pengumpulan data meliputi systempengumpulan data presensi yang digunakan di Universitas Muhammadiyah Yogyakarta.
3.3.2 Wawancara
Wawancara merupakan percakapan dengan maksud tertentu. Percakapan dilakukan antara peneliti yang mengajukan pertanyaan dan yang diwawancarai memberikan jawaban atas pertanyaan itu. Proses wawancara ini dilakukan di Biro Sistem Infomasi (BSI) UMY untuk mendapatkan data dengan melakukan dialog langsung dengan Kepala bagian Urusan Aplikasi (BSI) UMY Bapak Miftahul Yaum, S.Kom. yang dianggap dapat memberikan informasi yang dibutuhkan oleh
(43)
penulis. Tujuan melakukan wawancara ini adalah untuk mengetahui sistem yang dibutuhkan oleh UMY dari segi aritektur aplikasi, teknologi yang digunakan serta pemanfaatnnya.
3.4 ANALISIS DATA
3.4.1 Arsitektur
Berdasarkan hasil observasi, Universitas Muhammadiyah Yogyakarta mempunyai banyak server. Beberapa server mempunyai data-data tertentu yang berbeda-beda. Setiap sistem informasi yang ada mempunyai server sendiri, sehingga peneliti mendapatkan sebuah analisis rancangan arsitektur seperti pada Gambar 3.2.
Gambar 3. 2Arsiktektur aplikasi
Databaseyang digunakan padadatabase serveradalahMicrosoft SQL Server 2014 kemudian pada application server menggunakan IIS dalam mengolah web server. Aplikasi website yang digunakan oleh user adalah web application ASP.NET MVC yang sudah terstruktur antaramodel,controllerdanview. Saatuser mengakses aplikasiwebsite, application server akan memuat antarmukawebsitedan melakukan pengambilan data daridatabase server. Melalui antarmukawebsiteyang
(44)
telah dimuat oleh application server melaluibrowser, user dapat mengelola data baik membuat, menyimpan, menghapus dan mengedit data pada website dan disimpan kedatabase.
3.4.2 Analisis Pengguna
Berdasarkan hasil wawancara dengan bagian BSI (Biro Sistem Informasi) dan observasi di Universitas Muhammadiyah Yogyakarta, proses presensi mahasiswa yang diterapkan adalah sebagai berikut:
1) Stafmembuat berita acara sesi perkuliahan.
2) Mahasiswa melakukan presensi dengan memberi tanda tangan pada lembar berita acara sesi perkuliahan.
3) Stafmerekap data presensi berdasarkan lembar berita acara sesi perkuliahan pada aplikasi presensi.
Dari beberapa tahapan proses presensi yang ada, kita dapat mengurangi beberapa tahapan proses yang sebenarnya dapat dilakukan sekaligus. Sehingga dalam analisis ini peneliti memperoleh rancangan proses presensi seperti pada Gambar 3.3.
Gambar 3. 3Analisis pengguna
Website yang dibuat dapat digunakan oleh 2 (dua) jenis pengguna yang memiliki hak akses yang berbeda, yakni:
(45)
1) Dosen, merupakan jenis pengguna yang dapat melakukan pengolahan data dalam website, Seperti menambah, menghapus, mengupdate dan serta monitoring sesi perkuliahan.
2) Mahasiswa, merupakan jenis pengguna yang dapat masuk ke website lalu melakukan prosessubmit tokenuntuk presensi.
3.4.3 Analisis Pembuatan Sesi Perkuliahan
Pada proses presensi mahasiswa Universitas Muhammadiyah Yogyakarta saat ini, pembuatan sesi perkuliahan dilakukan oleh stafpada masing-masing prodi atau jurusan. Sebenarnya proses ini bisa dilakukan oleh dosen yang mengisi perkuliahan. Sehingga kita dapat mengurangi kerja staf yang dapat memperlambat proses presensi sampai data terekap. Peneliti dalam hal ini memperoleh sebuah rancangan seperti pada Gambar 3.4.
Loginkewebsite
Loginkewebsite Createsesi
perkuliahan Createsesi perkuliahan Dosen
Do
Gambar 3. 4Analisis Pembuatan Sesi Perkuliahan
Penjelasan tentang Gambar 3.4. adalah sebagai berikut:
1. Pertama Dosen mengaskses website presensi online UMY, dan login berdasarkanemaildari kampus.
2. Dosen melakukan pembuatan sesi perkuliahan berdasarkan tahun ajaran, jurusan, matakuliah dan kelas.
(46)
3. Setelah membuat sesi perkuliahan, dosen akan masuk ke halamandetailsesi perkulihan. Pada halaman detail sesi perkuliahan terdapat beberapa data tentang sesi perkuliahan yang telah dibuat seperti: tahun ajaran, kelas program, mata kuliah, kelas, ruangan, waktu mulai, waktu selesai, maksimal keterlambatan, isi perkuliahan, deskripsi dantoken. Selain itu dosen juga bisa melihat data mahasiswa yang telah melakukan presensi berdasarkantoken. 4. Kemudian dosen akan memberi kode token kepada mahasiswa untuk
melakukan proses presensi.
3.4.4 Analisis Presensi Mahasiswa
Proses presensi mahasiswa Universitas Muhammadiyah Yogyakarta saat ini adalah mahasiswa memberikan tanda tangan pada lembar berita acara sesi perkuliahan. Namun, data tersebut masih belum terekap padadatabase. Data akan terekap setelah staf pada setiap prodi atau jurusan melakukan rekap data pada aplikasi presensi. Pada kondisi ini, proses presensi masih memakan waktu yang lama. Sehingga peneliti membuat sebuah rancangan yang datanya langsung terekap padadatabasesetelah mahasiswa melakukan presensi seperti pada Gambar 3.5.
Gambar 3. 5Analisis presensi mahasiswa
(47)
1) Pertama Mahasiswa akan memperoleh sebuah token dari dosen berdasarkan sesi yang telah dibuat.
2) Kemudian mahasiswa akan masuk ke aplikasi android untuk melakukan login berdasarkan email dari dari kampus.
3) Mahasiswa akan melakukan proses submit token untuk melakukan presensi. 4) Setelah berhasil, maka nama mahasiswa dan NIM akan muncul pada halaman
detailsesi perkuliahan diwebsite.
3.4.5 Analisis Pemantauan Kehadiran Mahasiswa
Berdasarkan hasil observasi pada Universitas Muhammadiyah Yogyakarta, proses pemantau kehadiran mahasiswa pada sesi perkuliahan dilakukan secara manual. Mahasiswa yang hadir akan memberi tanda tangan pada lembar berita acara sesi perkuliahan. Dosen tetap melakukan monitoring mahasiswa yang telah absen dengan yang hadir. Sehingga lembar presensi akan terkontrol keamanannya jika terdapat mahasiswa yang curang. Proses ini akan tetap diterapkan pada penelitian ini.sehingga diperoleh sebuah rancangan seperti pada Gambar 3.6.
Loginkewebsite
Loginkewebsite Masuk ke Sesi
Perkuliahan Masuk ke Sesi
Perkuliahan Dosen
Do
Daftar Sesi Perkuliahan Daftar Sesi Perkuliahan
Contain
Gambar 3. 6Analisis pemantauan kehadiran mahasiswa
Penjelasan tentang Gambar 3.6. adalah sebagai berikut:
1) Pertama Dosen mengaskses website presensi online UMY, dan login berdasarkanemaildari kampus.
(48)
2) Dosen masuk ke link “lihat semua sesi”, maka application server akan memuat halaman index. Dimana halaman ini berisi daftar sesi perkuliahan yang pernah dibuat sebelumnya.
3) Selain itu, dosen juga bisa memantau mahasiswa yang hadir pada link“lihat sesi”. Didalam detail sesi perkuliahan, dosen dapat melihat mahasiswa yang hadir tepat waktu dan terlambat.
3.4.6 Analisis Kebutuhan Web
Analisis kebutuhan didapat dari studi literature dan diskusi bersama pengelola BSI UMY. Berikut ini merupakan analisis kebutuhan pada aplikasi presensi UMY:
1) Halaman Login untuk dosen yang akan mengisi sesi perkuliahan. 2) HalamanCreateSesi untuk membuat sesi perkuliahan mahasiswa.
3) HalamanDetailSesi untuk melihat sekaligus memonitoring sesi perkuliahan. 4) Halaman Edit Sesi untuk melakukan perubahan jika terjadi kesalahan saat
mebuat sesi perkuliahan.
5) HalamanDeleteSesi untuk menghapus sesi perkuliahan.
3.5 RANCANGAN SISTEM
Rancangan sistem adalah suatu tahapan kegiatan yang dilakukan seseorang atau kelompok dalam merancang atau membuat sistem sebelum sistem dibuat dengan tujuan sistem yang dibangun sesuai dengan kebutuhan dalam memcahkan atau dengan kebutuhan pengguna berkaitan dengan pengolahan, pengelolaan dan perolehan informasi yang diinginkan. Rancangan sistem pada penelitian ini terdapat beberapa rancangan, yaitu rancangan sistem dan rancangan antarmuka pengguna.
(49)
3.5.1 Rancangan Sistem
Dalam pembuatan aplikasiwebdilakukan perancangan sistem menggunakan UML. Metode UML yang digunakan dalam perancangan aplikasi web ini antara lain Use Case Diagram, Activity Diagram danSequence Diagram. Perancangan tersebut dijelaskan sebagai berikut:
a. Use Case Diagram
Use Case Diagram merupakan teknik pemodelan untuk menjelaskan setiap aktifitas yang mungkin terjadi dengan menggunakan sudut pandang dari aktor sebagai pengguna sistem dan sudut pandang administrator.
Gambaran Use Case Diagram yang digunakan pada website dapat dilihat pada Gambar 3.7.
(50)
Gambar 3.7 menunjukan bagaimana hubungan antara actor dan use case. Pada Gambar 3.7 menjelaskan bahwa pada aplikasi hanya Dosen yang diberi hak untuk akses. Dosen dapat mengolah data di semua fitur setelah melakukan proses login. Kemudian setelah login Dosen dapat membuka, melihat, mengedit dan menghapus sesi perkuliahan.
b. Activity Diagram
Berdasarkan use case yang telah dibuat maka dapat diperoleh activity diagram berdasarkan actor yang terlibat dalam use case diagram. Untuk lebih jelasnya dapat dilihat pada Gambar 3.8.
(51)
Berikut penjelasan tentang langkah-langkah pada Gambar 3.8:
1) Terdapat beberapa proses ketika Dosen masuk padawebsitepresensionline. Dosen diharuskan untuk melakukanloginterlebih dahulu.
2) Jikausernamedanpasswordbenar maka akan masuk ke halamancreatesesi perkuliahan, jika salah maka sistem akan meminta untuk memasukkan usernamedanpasswordkembali
3) Setelah masuk ke halaman create sesi perkuliahan, Dosen membuat sesi perkuliahan berdasarkan mata kuliah yang diampu.
4) Setelah berhasil maka sistem akan mengarahkan ke halaman detail sesi perkuliahan.
5) Dalam kondisi ini Dosen juga bisa masuk ke beberapa halaman seperti: daftar sesi perkuliahan,detailsesi perkuliahan,editsesi perkuliahan dandeletesesi perkuliahan.
c. Sequence Diagram
Berdasarkanuse caseyang telah dibuat maka dapat diperoleh jugasequence diagram yang menggambarkan kelakuan objek pada use case dengan mendiskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek.Sequencediagram pada aplikasi ini dapat dilihat pada Gambar 3.9.
(52)
39 Halaman Login Halaman Login Dosen Dosen
1. Dosen membuat sesi perkuliahan
2. Dosen melihat detail sesi perkuliahan
3. Dosen melihat daftar sesi perkuliahan
4. Dosen mengedit sesi perkuliahan
5. Dosen menghapus sesi perkuliahan
Halaman Create Sesi Halaman Create Sesi Halaman detail Sesi Halaman detail Sesi Halaman edit Sesi Halaman edit Sesi Halaman delete Sesi Halaman delete Sesi
1. masuk ke website
Sistem Sistem
2. memasukkan username dan
password Login gagal
3. login berhasil dan masuk ke halaman create sesi perkuliahan
4. membuat sesi
perkuliahan 5. data telah disimpan dan masuk ke halaman detail sesi perkuliahan 1. setelah login berhasil,
masuk ke halaman index/daftar sesi perkuliahan
Halaman List Sesi Halaman List Sesi
2. klik link "Details"
3. masuk ke halaman detail sesi perkuliahan 1. setelah login berhasil,
langsung masuk ke halaman create sesi perkuliahan
2. klik link "lihat semua sesi" 3. masuk ke halaman
daftar sesi perkuliahan 1. setelah login berhasil,
masuk ke halaman index/daftar sesi perkuliahan
2. klik link "Edit"
3. masuk ke halaman edit sesi perkuliahan
4. menyimpan data perubahan 5. Data perubahan telah disimpan
dan kembali ke halaman list/daftar sesi perkuliahan 1. setelah login berhasil,
masuk ke halaman index/daftar sesi perkuliahan
2. klik link "Delete"
3. masuk ke halaman konfirmasi delete
4. jika "yes" 4. jika "kembali ke daftar sesi"
5. Sesi perkuliahan berhasil dihapus dan kembali ke halaman
list/daftar sesi perkuliahan
Gambar 3. 9Sequencediagram
(53)
Pada Gambar 3.9 diatas terdapat beberapa proses yang dijelaskan, antara lain:
1) Dosen membuat sesi perkuliahan, dalam proses ini dosen diharuskan untuk melakukan loginterlebih dahulu. Setelah proses loginberhasil maka sistem akan mengarahkan ke halamancreatesesi perkuliahan. Dosen mengisi form berdasarkan mata kuliah yang diampu dan setelah dibuat sistem akan mengarahkan ke halaman detail sesi perkuliahan. Sehingga sampai disini dosen akan mendapatkan beberapa data berdasarkan data yang telah dimasukkan, data tersebut diataranya adalah tokenyang nantinya digunakan oleh mahasiswa untuk melakukan presensi.
2) Dosen melihat detail sesi perkuliahan, dalam proses ini dosen diharuskan untuk melakukan login terlebih dahulu. Masuk ke halaman daftar sesi perkuliahan, setelah itu klik link detailpada sesi yang akan dilihat. Setelah itu sistem akan mengarahkan pada halaman detail berdasarkan sesi yang dilihat.
3) Dosen melihat daftar sesi perkuliahan, dalam proses ini dosen diharuskan untuk melakukanloginterlebih dahulu. Klik link “lihat daftar sesi” pada saat berada pada halamancreatesesi perkuliahan
4) Dosen mengedit sesi perkuliahan, dalam proses ini dosen diharuskan untuk melakukanloginterlebih dahulu. Masuk ke halaman daftar sesi perkuliahan, setelah itu klik linkedit pada sesi yang akan diedit. Setelah itu sistem akan mengarahkan pada halaman detail berdasarkan sesi yang dilihat. Dasen melakukan perubahan data padaform. Setelah selesai kliksave,maka sistem akan kembali pada halaman daftar sesi perkuliahan.
(54)
5) Dosen menghapus sesi perkuliahan, dalam proses ini dosen diharuskan untuk melakukanloginterlebih dahulu. Masuk ke halaman daftar sesi perkuliahan, setelah itu klik link delete pada sesi yang akan dihapus. Setelah itu sistem akan mengarahkan pada halaman delete berdasarkan sesi yang dilihat. Konfirmasi akan muncul, apakah dosen yakin untuk menghapus sesi. Setelah di klik “Yes”, makan sistem akan menghapus data sesi perkuliahan yang dihapus dan mengembalikan ke halaman daftar sesi perkuliahan.
3.5.2 Rancangan Antarmuka
Rancangan antarmuka atau tampilan yang akan dirancang memberikan gambaran dari setiap bagian dalamwebsite. Rancangan antarmuka ini menjelaskan keterkaitan setiap halaman menu dan penjelasan cara kerja dari setiap menu dari website. Rancangan antarmuka ini menjadi dasar untuk membuat tampilan pada websiteyang akan dibuat. Rancangan antarmuka ini hanya digunakan untuk dosen.
a. Rancangan Antarmuka HalamanLoginDosen
Rancangan antar muka ini adalah rancangan yang pertama kali muncul saat websitepertama kali diakses. Dosen melakukanloginsebelum masuk pada halaman sesi perkuliahan. Gambaran rancangan antarmuka halaman ini dapat dilihat pada Gambar 3.10.
(55)
Gambar 3. 10 Rancangan antarmuka halamanlogindosen.
b. Rancangan Antarmuka HalamanCreateSesi Perkuliahan
Rancangan antarmuka ini merupakan Halaman yang berisi form untuk membuat sesi perkuliahan untuk mahasiswa. Sehingga dosen akan membuat sesi baru ketika pergantian sesi perkuliahan. Gambaran rancangan antarmuka halaman ini dapat dilihat pada Gambar 3.11.
(56)
c. Rancangan Antarmuka HalamanDetailSesi Perkuliahan
Rancangan antarmuka ini merupakan Halaman detail sesi perkuliahan yang telah dibuat. Halaman ini menampilkan beberapa data dari sesi perkuliahan salah satunya adalah token. Token akan digunakan oleh mahasiswa untuk melakukan presensi. Setelah mahasiswa melakukan presensi, maka data mahasiswa akan muncul di table bagian bawah. Gambaran rancangan antarmuka halaman ini dapat dilihat pada Gambar 3.12.
Gambar 3. 12Rancangan antarmuka halamandetailsesi perkuliahan
d. Rancangan Antarmuka HalamanListSesi Perkuliahan
Rancangan antarmuka ini merupakan Halaman untuk melihat daftar sesi perkuliahan yang telah dibuat oleh dosen. Dosen dapat melakukan edit, delete dan melihat detail sesi perkuliahan. Gambaran rancangan antarmuka halaman ini dapat dilihat pada Gambar 3.13.
(57)
Gambar 3. 13Rancangan antarmuka halamanlistsesi perkuliahan
e. Rancangan Antarmuka HalamanEditSesi Perkuliahan
Rancangan antarmuka ini merupakan Halaman yang berisi form untuk mengedit sesi perkuliahan yang telah dibuat. Sehingga dosen akan mengedit sesi perkuliahan ketika terjadi kesalahan pada sesi perkuliahan. Gambaran rancangan antarmuka halaman ini dapat dilihat pada Gambar 3.14.
(58)
DAFTAR PUSTAKA
Aiska, Hendra. 2011. Kelebihan dan kekurangan Teknologi Microsoft (Artikel). Jakarta.
Badunk, Ikhwan. 2013. Membuat Form Daftar Hadir Kegiatan. Yogyakarta: KantorKita.
Bassil, Youssef. 2012.A Simulation Model for the Waterfall Software Development Life Cycle. Beirut (Lebanon): Lebanese Association for Computational Sciences (LACSC).
Galloway, Jon, Brad Wilson, K. Scott Allen, David Matson. 2014. Professional ASP.NET MVC 5. USA: Wrox.
Gusman, Rahmad Syaifullah. 2013. Analisis dan Implementasi Two Factor Authentication dengan QR Code Pada Aplikasi Berbasis Web. Bogor: Institut Pertanian Bogor (IPB).
Handayani, Indri. 2014. Penerapan Sistem Ilearning Survey (iSUR) untuk Mendukung Kegiatan Akademik pada Perguruan Tinggi Raharja (Tesis). Tanggerang: Widuri (Wiki iDu Raharja iLearning).
Joshi, Nimit. 2013. Programming ASP.NET MVC 5. New Delhi (India): c-sharpcorner.
Kessler GC. 1998.An Overview of Cryptography. Vermont (US): Auerbach. Muhammad, Noval Aditya, Febriliyan Samopa, Radityo Prasetianto W. 2013.
Pembuatan Aplikasi Presensi Perkuliahan Berbasis Fingerprint. Surabaya: Institut Teknologi Sepuluh Nopember (ITS).
Nugroho, Atmoko, April Firman Daru, and Whisnumurti Adhiwibowo. 2014. Pengembangan Pemasaran Online Usaha Kerajinan Enceng Gondok dan Pandan. Semarang:Jurnal Tr@ sForMat!.
Oktafia, Dian. 2008.Teknik Kompilasi(Tesis). Depok: Universitas Gunadarma. Pamadya. 2011.Authentication methods and techniques(artikel). Sidoarjo.
Pramana, Hengky W. 2012. Aplikasi Penjualan Berbasis Access (97/2000/XP). Jakarta: PT. Elex Media Komputindo.
Pressman, Roger S. 2010. Rekayasa Perangkat Lunak: Pendekatan Praktisi. Yogyakarta: ANDI.
Sikula, Andrew F. 1973. The Management of Human Resources: Personnel Text and Current Issues (Wiley Series in Management). Hoboken (US): Wiley. Soleh, Panji Rakhmat. 2013.Security Tokens(Tesis). Bandung: Universitas Advent
Indonesia.
Wulandari, Karnia Y. 2015. Aplikasi Web (Tesis). Bandung: Universitas Pendidikan Indonesia.
(59)
Zakaria, Teddy Marcus, Fandi. 2008. Aplikasi Presensi via PDA dengan Konektivitas Melalui Jaringan WiFi. Bandung: Universitas Kristen Maranatha.
(60)
LAMPIRAN
A. Source codepadacontroller
1. using System;
2. using System.Collections.Generic; 3. using System.Data;
4. using System.Data.Entity; 5. using System.Linq; 6. using System.Net; 7. using System.Web; 8. using System.Web.Mvc; 9. using StudentPresence.Models; 10. using Microsoft.AspNet.Identity; 11. using PagedList;
12.
13. namespace StudentPresence.Controllers 14. {
15. [Authorize]
16. public class Acd_Sched_RealController : Controller
17. {
18. private UMYEntities db = new UMYEntities(); 19.
20. // GET: Acd_Sched_Real
21. public ActionResult Index(string sortOrder, string currentFilter, string searchString, int? page)
22. {
23. ViewBag.CurrentSort = sortOrder;
24. ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date";
25. 26.
27. if (searchString != null)
28. {
29. page = 1;
30. }
31. else
32. {
33. searchString = currentFilter;
34. }
35.
36. ViewBag.CurrentFilter = searchString; 37.
(61)
39. var User_Id = (from n in db.Emp_Employee where n.Email_Corporate == employee select n.Employee_Id); 40.
41. var acd_Sched_Real = db.Acd_Sched_Real.Where(a => a.Employee_Id == User_Id.FirstOrDefault());
42. if (!String.IsNullOrEmpty(searchString))
43. {
44. acd_Sched_Real = acd_Sched_Real.Where(s => s.Acd_Course.Course_Name.Contains(searchString));
45. }
46.
47. switch (sortOrder)
48. {
49. case "Date":
50. acd_Sched_Real = acd_Sched_Real.OrderBy(s => s.Date);
51. break;
52. case "date_desc":
53. acd_Sched_Real = acd_Sched_Real.OrderByDescending(s => s.Date);
54. break;
55. default:
56. acd_Sched_Real = acd_Sched_Real.OrderByDescending(s => s.Date);
57. break;
58. }
59.
60. int pageSize = 4;
61. int pageNumber = (page ?? 1);
62. return View(acd_Sched_Real.ToPagedList(pageNumber, pageSize));
63. }
64.
65. // GET: Acd_Sched_Real/Details/5 66. public ActionResult Details(int? id)
67. {
68. if (id == null)
69. {
70. return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
71. }
72. Acd_Sched_Real acd_Sched_Real = db.Acd_Sched_Real.Find(id); 73. if (acd_Sched_Real == null)
74. {
75. return HttpNotFound();
76. }
77.
(62)
79. {
80. ViewBag.visible = "visibility:visible";
81. }
82. else
83. {
84. ViewBag.visible = "visibility:hidden";
85. }
86.
87. return View(acd_Sched_Real);
88. }
89. public string checkData(int count, int id)
90. {
91. var check = db.Acd_Student_Sched.Where(m => m.Sched_Real_Id == id).Count();
92.
93. if (check != count)
94. {
95. return "true";
96. }
97. else
98. {
99. return "false";
100. }
101.
102. }
103. public ActionResult _Details(int? id)
104. {
105.
106. if (id == null)
107. {
108. return new
HttpStatusCodeResult(HttpStatusCode.BadRequest);
109. }
110. Acd_Sched_Real acd_Sched_Real = db.Acd_Sched_Real.Find(id);
111. if (acd_Sched_Real == null)
112. {
113. return HttpNotFound();
114. }
115. return PartialView(acd_Sched_Real);
116. }
117.
118. // GET: Acd_Sched_Real/Create 119. public ActionResult Create()
120. {
(63)
122. IQueryable<int> User_Id = null;
123. List<sp_termyear_Result> getTermYear = null; 124. List<sp_prodi_Result> getDepartment = null; 125. List<sp_matakuliah_Result> getCourse = null; 126. List<sp_classprog_Result> getClassProg = null; 127. List<sp_kelas_Result> getClass = null;
128. try
129. {
130. employee = User.Identity.GetUserName(); 131. User_Id = (from n in db.Emp_Employee where
n.Email_Corporate == employee select n.Employee_Id); 132.
133. getTermYear = db.sp_termyear(User_Id.Single()).ToList(); 134. getDepartment = db.sp_prodi(User_Id.Single(),
135. getTermYear.Take(1).Single().Term_Year_Id).ToList(); 136. getCourse = db.sp_matakuliah(User_Id.Single(),
137. getTermYear.Take(1).Single().Term_Year_Id,
138. getDepartment.Take(1).Single().Department_Id).ToList(); 139. getClassProg = db.sp_classprog(User_Id.Single(),
140. getTermYear.Take(1).Single().Term_Year_Id, 141. getCourse.Take(1).Single().Course_Id).ToList(); 142. getClass = db.sp_kelas(User_Id.Single(),
143. getTermYear.Take(1).Single().Term_Year_Id, 144. getDepartment.Take(1).Single().Department_Id, 145. getCourse.Take(1).Single().Course_Id).ToList(); 146. } 147. catch 148. {
149. ViewBag.error = "Kemungkinan data Dosen belum di tambahkan di ketersediaan Dosen di Mata Kuliah";
150.
151. return View();
152. }
153. ViewBag.Term_Year_Id = new SelectList(getTermYear, "Term_Year_Id", "Term_Year_Name");
154. ViewBag.Department_Id = new SelectList(getDepartment, "Department_Id", "Department_Name");
155. ViewBag.Course_Id = new SelectList(getCourse, "Course_Id", "Course_Name");
156. ViewBag.Class_Prog_Id = new SelectList(getClassProg, "Class_Prog_Id", "Class_Program_Name");
157. ViewBag.Class_Id = new SelectList(getClass, "Class_Id", "Class_Name");
158. ViewBag.Room_Id = new SelectList(db.Mstr_Room, "Room_Id", "Room_Name");
(64)
160.
161. //For Code TOKEN (Generate Number) 162. int txtPassLength = 8;
163.
164. string allowedChars = "";
165. allowedChars = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,";
166. allowedChars +=
"A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,"; 167. allowedChars += "1,2,3,4,5,6,7,8,9,0";
168. char[] sep = { ',' };
169. string[] arr = allowedChars.Split(sep); 170. string Token = "";
171. string temp = ""; 172. int duplikasi = 0;
173. do
174. {
175. Token = ""; 176. temp = "";
177. Random rand = new Random();
178. for (int i = 0; i < txtPassLength; i++)
179. {
180. temp = arr[i];
181. temp = arr[rand.Next(0, arr.Length)];
182. Token += temp;
183. }
184. var query = db.Acd_Sched_Real.Where(w => w.Date == DateTime.Now && w.Token == Token).Count();
185. duplikasi = query;
186. } while (duplikasi > 0); 187.
188. ViewBag.Token = Token.ToString(); 189.
190. //DATETIME NOW
191. var autofill = new Acd_Sched_Real
192. {
193. Time_Start = DateTime.Now,
194. Date = DateTime.Now,
195. Max_Minutes = 30
196. };
197. return View(autofill);
198. }
199.
200. public ActionResult Course(short termYearId, short departmentId)
201. {
(65)
203. var User_Id = (from n in db.Emp_Employee where n.Email_Corporate == employee select n.Employee_Id); 204.
205. var getCourse = db.sp_matakuliah(User_Id.Single(), termYearId, departmentId).ToList();
206. ViewBag.Course_Id = new SelectList(getCourse, "Course_Id", "Course_Name");
207. return PartialView();
208. }
209. public ActionResult Class(short termYearId, short departmentId, int courseId)
210. {
211. var employee = User.Identity.GetUserName(); 212. var User_Id = (from n in db.Emp_Employee where
n.Email_Corporate == employee select n.Employee_Id); 213.
214. var getClass = db.sp_kelas(User_Id.Single(), termYearId, departmentId, courseId).ToList();
215. ViewBag.Class_Id = new SelectList(getClass, "Class_Id", "Class_Name");
216. return PartialView();
217. }
218. public ActionResult ClassProg(short termYearId, int courseId)
219. {
220. var employee = User.Identity.GetUserName(); 221. var User_Id = (from n in db.Emp_Employee where
n.Email_Corporate == employee select n.Employee_Id); 222.
223. var getClassProg = db.sp_classprog(User_Id.Single(), termYearId, courseId).ToList();
224. ViewBag.Class_Prog_Id = new SelectList(getClassProg, "Class_Prog_Id", "Class_Program_Name");
225. return PartialView();
226. }
227. public ActionResult MeetingOrder(short termYearId, short classProgId, int courseId, short classId)
228. {
229. var employee = User.Identity.GetUserName(); 230. var User_Id = (from n in db.Emp_Employee where
n.Email_Corporate == employee select n.Employee_Id); 231.
232. var getMeetingOrder = db.sp_Meeting_Order(User_Id.Single(), termYearId, classProgId, courseId, classId);
233. ViewBag.Meeting_Order = new SelectList(getMeetingOrder); 234. return PartialView();
(66)
236. }
237. // POST: Acd_Sched_Real/Create 238. [HttpPost]
239. [ValidateAntiForgeryToken]
240. public ActionResult Create([Bind(Include =
"Sched_Real_Id,Term_Year_Id,Class_Prog_Id,Course_Id,Class_Id,Meetin g_Order,Room_Id,Employee_Id,Date,Time_Start,Time_End,Token,Cours e_Content,Closed_By,Max_Minutes,Description,Created_By,Created_Dat e,Modified_By,Modified_Date")] Acd_Sched_Real acd_Sched_Real)
241. {
242. if (ModelState.IsValid)
243. {
244. db.Acd_Sched_Real.Add(acd_Sched_Real);
245. db.SaveChanges();
246. return RedirectToAction("Details", new { id = acd_Sched_Real.Sched_Real_Id });
247. }
248.
249. ViewBag.Course_Id = new SelectList(db.Acd_Course, "Course_Id", "Course_Code", acd_Sched_Real.Course_Id);
250. ViewBag.Employee_Id = new SelectList(db.Emp_Employee, "Employee_Id", "Nik", acd_Sched_Real.Employee_Id);
251. ViewBag.Class_Id = new SelectList(db.Mstr_Class, "Class_Id", "Class_Name", acd_Sched_Real.Class_Id);
252. ViewBag.Class_Prog_Id = new
SelectList(db.Mstr_Class_Program, "Class_Prog_Id", "Class_Prog_Code", acd_Sched_Real.Class_Prog_Id);
253. ViewBag.Room_Id = new SelectList(db.Mstr_Room, "Room_Id", "Room_Code", acd_Sched_Real.Room_Id);
254. ViewBag.Term_Year_Id = new SelectList(db.Mstr_Term_Year, "Term_Year_Id", "Term_Year_Name", acd_Sched_Real.Term_Year_Id); 255. return View(acd_Sched_Real);
256. }
257.
258. // GET: Acd_Sched_Real/Edit/5 259. public ActionResult EditPopup(int? id)
260. {
261. if (id == null)
262. {
263. return new
HttpStatusCodeResult(HttpStatusCode.BadRequest);
264. }
265. Acd_Sched_Real acd_Sched_Real = db.Acd_Sched_Real.Find(id);
266. if (acd_Sched_Real == null)
(1)
78 @Html.DisplayFor(model => model.Meeting_Order)
79 </dd>
80
81 <dt>
82 Waktu Mulai
83 </dt>
84
85 <dd>
86 @Html.DisplayFor(model => model.Time_Start)
87 </dd>
88
89 <dt>
90 Waktu Selesai
91 </dt>
92
93 <dd>
94 @Html.DisplayFor(model => model.Time_End)
95 </dd>
96
97 <dt>
98 Maks. Keterlambatan
99 </dt>
100
101 <dd>
102 @Html.DisplayFor(model => model.Max_Minutes)
<text>menit</text>
103 </dd>
104
105 <dt>
106 Isi Perkuliahan
107 </dt>
108
109 <dd>
110 @Html.DisplayFor(model =>
model.Course_Content)
111 </dd>
112
113 <dt>
114 Deskripsi
115 </dt>
116
117 <dd>
118 @Html.DisplayFor(model => model.Description)
119 </dd>
120 </dl>
121 </td>
122 <td>
123 <strong>Token</strong>
124 <h2 style="color:green;font-family:'Times New
Roman';" >
125 <b>@Html.DisplayFor(model => model.Token)</b>
126 </h2>
127 <dl align="right">
128 <a class="btn btn-default" data-toggle="modal"
data-target=".bootstrapmodal"><span class="glyphicon glyphicon-eye-open"></span> View Token </a>
(2)
129 <a [email protected] id="anchorEdit" class="btn btn-default" data-id="@Model.Sched_Real_Id"><span class="glyphicon glyphicon-stop"></span> Akhiri Sesi</a> 130
131 </dl>
132 </td>
133 </tr>
134 </table>
135 @{
136 // csharp code block
137 // everything in here is code, don't have to use @
138 int counter = 0;
139 }
140 <!--Baris Daftar Mahasiswa yang enroll-->
141 <div id="view_details" dat-id="@Model.Sched_Real_Id">
142 @Html.Partial("_Details")
143 </div> 144 </div> 145 <p>
146 @Html.ActionLink("Edit sesi", "Edit", new { id =
Model.Sched_Real_Id }) |
147 @Html.ActionLink("Lihat semua sesi", "Index")
148
</p>5.
Halaman
delete
1 @model StudentPresence.Models.Acd_Sched_Real
2
3 @{
4 ViewBag.Title = "Delete";
5 }
6
7 <h3 class="text-danger">Apakah anda yakin untuk menghapus sesi perkuliahan ini?</h3>
8 <div>
9 <table class="table">
10 <tr>
11 <td>
12 <dl class="dl-horizontal">
13 <dt>
14 Tanggal
15 </dt>
16
17 <dd>
18 @Html.DisplayFor(model => model.Date)
19 </dd>
20
21 <dt>
22 Tahun Ajaran
23 </dt>
24
(3)
26 @Html.DisplayFor(model => model.Mstr_Term_Year.Term_Year_Name)
27 </dd>
28
29 <dt>
30 Kelas Program
31 </dt>
32
33 <dd>
34 @Html.DisplayFor(model =>
model.Mstr_Class_Program.Class_Program_Name)
35 </dd>
36
37 <dt>
38 Mata Kuliah
39 </dt>
40
41 <dd>
42 @Html.DisplayFor(model =>
model.Acd_Course.Course_Name)
43 </dd>
44
45 <dt>
46 Kelas
47 </dt>
48
49 <dd>
50 @Html.DisplayFor(model =>
model.Mstr_Class.Class_Name)
51 </dd>
52
53 <dt>
54 Ruangan
55 </dt>
56
57 <dd>
58 @Html.DisplayFor(model =>
model.Mstr_Room.Room_Name)
59 </dd>
60 </dl>
61 </td>
62 <td>
63 <dl class="dl-horizontal">
64 <dt>
65 Pertemuan Ke
66 </dt>
67
68 <dd>
69 @Html.DisplayFor(model =>
model.Meeting_Order)
70 </dd>
71
72 <dt>
73 Waktu Mulai
74 </dt>
75
(4)
77 @Html.DisplayFor(model => model.Time_Start)
78 </dd>
79
80 <dt>
81 Waktu Selesai
82 </dt>
83
84 <dd>
85 @Html.DisplayFor(model => model.Time_End)
86 </dd>
87
88 <dt>
89 Maks. Keterlambatan
90 </dt>
91
92 <dd>
93 @Html.DisplayFor(model => model.Max_Minutes)
<text>menit</text>
94 </dd>
95
96 <dt>
97 Isi Perkuliahan
98 </dt>
99
100 <dd>
101 @Html.DisplayFor(model =>
model.Course_Content)
102 </dd>
103
104 <dt>
105 Deskripsi
106 </dt>
107
108 <dd>
109 @Html.DisplayFor(model => model.Description)
110 </dd>
111 <dt></dt>
112 <dd><br/>
113 @using (Html.BeginForm())
114 {
115 @Html.AntiForgeryToken()
116
117 <div class="form-actions no-color ">
118 @Html.ActionLink("Kembali Ke Daftar
Sesi", "Index") |
119 <input type="submit" value="Yes"
class="btn btn-danger" /> 120
121 </div>
122 }
123 </dd>
124 </dl>
125 </td>
126 </tr>
127 </table>
128
</div>(5)
6.
Halaman login
1 @using StudentPresence.Models
2 @model LoginViewModel
3 @{
4 ViewBag.Title = "Log in";
5 }
6
7 <h2>@ViewBag.Title.</h2> 8 <div class="row">
9 <div class="col-md-8"> 10 <section id="loginForm">
11 @using (Html.BeginForm("Login", "Account", new {
ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class =
"form-horizontal", role = "form" }))
12 {
13 @Html.AntiForgeryToken()
14 <h4>Gunakan email dari Universitas untuk log in.</h4>
15 <hr />
16 @Html.ValidationSummary(true, "", new { @class =
"text-danger" })
17 <div class="form-group">
18 @Html.LabelFor(m => m.Email, new { @class =
"col-md-2 control-label" })
19 <div class="col-md-10">
20 @Html.TextBoxFor(m => m.Email, new { @class =
"form-control" })
21 @Html.ValidationMessageFor(m => m.Email, "",
new { @class = "text-danger" })
22 </div>
23 </div>
24 <div class="form-group">
25 @Html.LabelFor(m => m.Password, new { @class =
"col-md-2 control-label" })
26 <div class="col-md-10">
27 @Html.PasswordFor(m => m.Password, new {
@class = "form-control" })
28 @Html.ValidationMessageFor(m => m.Password,
"", new { @class = "text-danger" })
29 </div>
30 </div>
31 <div c lass="form-group">
32 <div class="col-md-offset-2 col-md-10">
33 <input type="submit" value="Log in"
class="btn btn-default" />
34 </div>
35 </div>
36 }
37 </section>
38 </div>
39 <div class="col-md-4">
40 <section id="socialLoginForm">
41 </section>
(6)