1. Pendahuluan Lembaga Kemahasiswaan Universitas Kristen Satya Wacana (LK) adalah organisasi mahasiswa yang bertujuan untuk dapat beraspirasi dan menunjang kegiatan-kegiatan bagi mahasiswa yang bergabung di dalamnya.Program yang dilaksanakan oleh Lembaga Kemahasiswaan harus megandung kadar-kadar yang pada akhirnya mengacu pada pengembangan profesional skill dan humanistic skill. Pengembangan akan kedua hal ini yang akhirnya menciptakan profil lulusan yang creative minority (SPPM, pengembangan profil lulusan UKSW, skenario I)[1]. Universitas Kristen Satya Wacana Salatiga terdiri dari empat belas fakultas yang di mana setiap fakultas memiliki program kerja yang akan dilaksanakan dalam satu periode kepemimpinan. Sering terjadi adanya kegiatan yang berlangsung dalam waktu yang bersamaan, hal ini sangat tidak efektif untuk tujuan berlangsungnya sebuah kegiatan dan target sebuah kegiatan. Rapat Kordinasi yang dilaksanakan dengan tujuan sharing program kerja setiap periode dinilai kurang efektif untuk menghindari kegiatan yang berlangsung dalam waktu yang bersamaan, oleh karena itu perlu dibangun sebuah sistem yang bisa membantu Lembaga Kemahasiswaan untuk mengatur jadwal kegiatan. Selain itu, dengan sistem ini diharapkan dapat memberi informasi mengenai Lembaga Kemahasiswaan kepada seluruh mahasiswa dan bursa kepanitiaan dengan sistem pendaftaran online. Adanya sistem pendaftaran secara online sangat diharapakan dapat membantu mahasiswa untuk terlibat dalam kegiatan dan dapat menambah Kredit Keaktifan Mahasiswa yang menjadi salah satu syarat kelulusan untuk fakultas tertentu. Berdasarkan kendala yang dihadapi Lembaga Kemahasiswaan saat ini maka penulis merancang sebuah sistem yang nantinya bisa membantu Lembaga Kemahasiswaan dalam mengatur atau menyusun jadwal kegiatan yang akan berlangsung selama satu periode. Hal ini diharapkan dapat membantu dalam mempersiapkan sebuah kegiatan sehingga kegiatan tersebut dapat terlaksana dengan baik dan mencapai target. 2. Tinjauan Pustaka Dalam jurnal yang berjudul PHP dengan framework CodeIgniter dijelaskan bahwa CodeIgniter adalah sebuah Application Development Framework - a toolkit - bagi orang-orang yang membangun situs web menggunakan PHP. Tujuannya adalah untuk memungkinkan mengembangkan proyek-proyek yang jauh lebih cepat daripada jika menulis kode dari awal, dengan menyediakan serangkaian perpustakaan umum yang dibutuhkan untuk tugas-tugas, serta antarmuka yang sederhana dan struktur logika untuk mengakses perpustakaan tersebut. CodeIgniter sangat kreatif memungkinkan fokus pada proyek dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas tertentu[2].
4
CodeIgniter CodeIgniter membutuhkan : Web Server (Apache,IIS), PHP Engine, MySQL database. Karena CodeIgniter menggunakan Object Oriented Programming (OOP), maka yang perlu diingat bahwa penulisan nama class utama harus menggunakan huruf besar di awal dan disimpan dengan nama yang sama ,tetapi menggunakan huruf kecil semua.
Gambar 1 Contoh Penggunaan CodeIgneter[2]
CodeIgneter dijalankan underweb dan harus dengan web server. Program CodeIgneter cukup diletakkan di bawah folder directory web server. Struktur file CodeIgneter ditunjukkan Gambar 2.
Gambar 2 Struktur File CodeIgneter [2]
Beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain[3]:Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi CodeIgniter sangat cepat bahkan CodeIgniter merupakan framework yang paling cepat dibanding framework yang lain.Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk 5
menggunakan CodeIgniter dengan setting standard, hanya perlu merubah sedikit file pada folder config. Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan user untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru. Dokumentasi yang sangat lengkap : Setiap paket instalasi CodeIgniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami. Model View Controller Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat tiga jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu [4]: View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi. Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.
Gambar 3 MVC dalam Aplikasi Web [4]
Sistem Informasi Sistem Informasi adalah kombinasi dari manusia, fasilitas atau alat teknologi, media, prosedur dan pengendalian yang bermaksud menata jaringan komunikasi yang penting, proses atas transaksi-transaksi tertentu dan rutin, membantu manajemen dan pemakai intern dan ekstern dan menyediakan dasar pengambilan keputusan yang tepat[5]. 6
Sistem Informasi Kalender Kegiatan Mahasiswa Kalender kegiatan mahasiswa adalah sebuah penjadwalan tentang kegiatan Lembaga Kemahasiswaan (LK) yang akan berlangsung selama satu periode yang meliputi LK Universitas dan LK Fakultas. Kalender ini nantinya akan sangat berfungsi untuk penjadwalan kegiatan, tampilan yang dirancang user friendly akan mempermudah pemahaman akan isi sistem tersebut (Buku Lembaga Kemahasiswaan Universitas Kristen Satya Wacana tahun 2009). Lembaga Kemahasiswaan Lembaga Kemahasiswaan (LK) adalah wadah keluarga mahasiswa untuk melaksanakan fungsi dan peranannya di dalam UKSW serta wadah kemahasiswaan program pascasarjana adalah paguyuban mahasiswa pascasarjana yang diatur tersendiri melalui surat keputusan rektor (Buku Ketentuan Umum Keluarga Mahasiswa 2011 Bab I Pasal 1). Fungsi dan peranan Lembaga Kemahasiswaan (KUKM 2011) Fungsi dan peranan Lembaga Kemahasiswaan sesuai dengan yang tertulis dalam Buku Ketentuan Umum Keluarga Mahasiswa 2011 Bab I Pasal 1 yaitu: Menjadi wadah bagi mahasiswa untuk berperan serta dalam mewujudkan tujuan perguruan tinggi pada umumnya dan Universitas Kristen Satya Wacana pada khususnya. Menjadi wahana untuk membina persekutuan dan persaudaraan untuk kesejahteraan mahasiswa. Menjadi wahana mempersiapkan calon-calon pemimpin yag kritis-prinsipil, kreatif-realitis dan non-konformis.Menjadi wahana bagi mahasiswa untuk menyalurkan aspirasi kontruktif dan bertanggungjawab, yang hidup di kalangan mahasiswa Proses Pembentukan Lembaga Kemahasiswaan
Gambar 4 Proses Pembentukan Lembaga Kemahasiswaan[6]
Gambar 4 adalah proses pembentukan Lembaga Kemahasiswaan yang berlaku hingga saat penulis melakukan penelitian. Di aras fakultas, mahasiswa yang bergabung dalam setiap angkatan mengirimkan utusannya untuk menjadi pengurus di Badan Perwakilan Mahasiswa Fakultas, kemudian fungsionaris Badan Perwakilan Mahasiswa Fakultas menyelenggarakan pemilihan Ketua Senat Mahasiswa selanjutnya Badan Perwakilan Mahasiswa Fakultas membantu Ketua Umum Senat Mahasiswa terpilih untuk membentuk kepengurusan Senat Mahasiswa. 7
Pada aras Universitas, Badan Perwakilan Mahasiswa Fakultas akan mengirimkan mahasiswa yang merupakan utusan Fakultas untuk menjadi fungsionaris Badan Perwakilan Mahasiswa Universitas. Selanjutnya Badan Perwakilan Mahasiswa Universitas akan menyelenggarakan pemilihan Ketua Umum Senat Mahasiswa Universitas dan kemudian membantu Ketua Umum Senat Mahasiswa Universitas membentuk kepengurusan Senat Mahasiswa Universitas. 3. Perancangan Sistem Metode penelitian yang digunakan pada pembuatan aplikasi ini yaitu model prototyping. Model prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual. Secara lengkap alur model prototyping akan digambarkan seperti pada Gambar 5.
Gambar 5 Prototyping Model [6]
Prototyping Model terdiri dari beberapa tahap, sebagai berikut: 1. Pengumpulan Kebutuhan Pelanggan dan pengembang bersama-sama mengidentifikasikan formal seluruh perangkat lunak, mengidentifikasikan semua kebutuhan dan garis besar sistem yang akan dibuat. 2. Membangun Prototyping Membangun prototyping dengan membuat perancangan sementara yang befokus pada penyajian kepada pelanggan (seperti pembuatan input dan format output) 3. Evaluasi Prototyping Evaluasi ini dilakukan oleh pengguna apakah prototyping yang dibuat sudah sesuai dengan keinginan user, jika sudah selesai maka langkah keempat akan diambil. Jika tidak prototyping direvisi dengan mengulang langkah 1, 2 dan 3. 4. Mengkodekan Sistem Dalam tahap ini prototyping yang sudah dibuat diterjemahkan ke dalam bahasa pemrograman yang sesuai 5. Menguji Sistem Setelah sistem sudah menjadi sebuah perangkat lunak dan siap pakai, harus melalui tahap pengujian. Pengujian ini dilakukan dengan Black Box. 6. Evaluasi Sistem 8
User melakukan evaluasi apakah sistem yang sudah dibuat sesuai dengan yang diharapkan. Jika ya maka akan dilanjutkan ke langkah 7, jika tidak maka akan mengulangi langkah 4 dan langkah 5. 7. Menggunakan Sistem Perangkat yang telah diuji dan diterima pelanggan siap untuk digunakan. Unified Modelling Language (UML), Perancangan sistem menggunakan Unified Modelling Language (UML), terdiri dari use case diagram, activity diagram, sequence diagram, class diagram dan deployment diagram. Pada sistem yang akan dibangun terdapat dua aktor yang masing-masing memiliki hak akses yang berbeda-beda yaitu guest dan admin. Guest adalah mahaiswa yang bisa mengakses sistem informasi dan mencari data tentang Lembaga Kemahasiswaan. Admin adalah Sekretaris Umum Lembaga Kemahasiswaan dalam satu periode kepemimpinan. Use Case Diagram Use Case Diagram menjelaskan mengenai bagian-bagian untuk hak akses guest, dan admin. Hak guest yaitu melihat profil Lembaga Kemahasiswaan, melihat berita Lembaga Kemahasiswaan, melihat profil Lembaga Kemahasiswaan dan memberikan komentar. Pada aplikasi yang dibuat, seorang admin memiliki hak akses penuh atas sistem yang akan dibuat. Hak akses admin manage gallery, update berita Lembaga Kemahasiswaan, manage profil Lembaga Kemahasiswaan. Admin dapat menambah, mengubah maupun menghapus data fungsionaris ketika ada pergantian struktur organisasi di tengah periode. Use Case Diagram ditunjukkan pada Gambar 6.
Gambar 6 Use Case Diagram
Activity diagram Activity diagram menggambarkan proses-proses yang terjadi dari suatu aktifitas dimulai sampai berhenti. Untuk kebutuhan proses dari sistem yang akan dibangun, terdapat dua activity diagram yaitu untuk guest, dan admin. Aktifitas admin yang dapat dilakukan setelah membuka sistem adalah login dengan menggunakan Nomor Induk Mahasiswa (NIM), mengolah data berupa
9
pengumuman, merubah profil Lembaga Kemahasiswaan, menambahkan fungsionaris. Activity diagram admin sistem terlihat pada Gambar 7.
Gambar 7 Activity Diagram Admin
Gambar 8 Activity Diagram Guest
Gambar 8 menggambarkan aktifitas yang dapat dilakukan oleh guest. Dalam hal ini guest tidak memiliki ID untuk login, guest hanya bisa mengakses sistem tanpa harus login, aktifitas yang dapat dilakukan oleh guest adalah melihat program, melihat profil LK, lihat kalender kegiatan, pendaftaran panitia, serta memberi komentar secara online. Sequence diagram Sequence diagram menggambarkan interaksi antar objek didalam dan disekitar sistem, berupa pesan yang digambarkan terhadap waktu. Sequence diagram terdiri antar dimensi vertikal (waktu) dan dimensi horizontal (objekobjek yang terkait). Sequence diagram user untuk melihat profil Lembaga Kemahasiswaan (LK), program kerja, serta member komentar online. Prosesnya 10
adalah pertama Guest membuka aplikasi dan akan muncul halaman utama kemudian dapat mengetahui daftar kegiatan yang sedang dan akan berlangsung dengan memilih menu kegiatan bulanan, mingguan serta harian. Sequence diagram admin sistem terlihat pada Gambar 9. form awal
: admin
galeri
database
login cek username dan password login berhasil
pilih menu galeri pilih tambah gambar muncul form upload gambar pilih/unggah gambar simpan cek data konfirmasi penyimpanan gambar pilh menu hapus gambar tampil menu hapus gambar pilih gambar yang dihapus hapus cek data konfirmasi peghapusan data
pilih menu ambil gambar tampil gambar-gambar dalam galeri pilih gambar yang akan di ambil muncul perintah ambil gambar transfer data cek data transfer konfirmasi data transfer logout close
Gambar 9 Sequence Diagram Admin
Class Diagram Sistem Class diagram sistem pada Gambar 10 untuk perancangan class yang akan dibuat pada aplikasi tersebut adalah class user controler, class User Model, class user_controller, class pengumuman, class Pengumuman Model, class gallery model, class control gallery, class bidang, class departemen, class program, class kegiatan, class fungsionaris, class jabatan, class sistem informasi, class sistem informasi Model, class buku tamu Model, class buku Tamu. Class diagram sistem terlihat pada Gambar 10.
Gambar 10 Class Diagram Sistem
11
Pada class diagram sistem dapat diketahui terdapat delapan relasi one to many, yaitu antara class user controler dan class user model, class cotrol gallery dan class gallery_model, class pengumuman dan class pengumuman model, class program dan class kegiatan, class member dan class jabatan, class buku tamu dan class buku tamu model, class sistem informasi dan class sistem informasi model. 4. Hasil dan Pembahasan Implementasi Model View Controller (MVC) Arsitektur MVC yang telah dibuat dapat dilihat pada Gambar 11.
Gambar 11 MVC dalam CodeIgneter
Dalam membangun sebuah aplikasi dengan CodeIgneter, CodeIgneter telah menyediakan file yang dibutuhkan oleh developer. Berdasarkan beberapa file yang ada, file yang sering digunakan terletak pada directory Model, View dan Controller. Dari directory tersebut, developer dapat membangun sebuah sistem. Gambar 11 merupakan folder hasil generate pertama kali dalam CodeIgneter ketika developer akan membangun sebuah sistem. Mekanisme Kinerja MVC
Gambar 12 Mekanisme Kinerja MVC
12
Gambar 12 menggambarkan mekanisme kinerja MVC, yaitu ketika suatu alamat URL dibuka, sebenarnya yang diakses adalah sebuah Controller (berada dalam lokasi controllers) dan aksi (berada dalam class Controller) serta akan mengirimkan variabel dan nilai 65 variabel jika ada. Secara default, jika tidak menuliskan nama Controller yang dituju, maka akan dianggap mengakses Controller Index (IndexController). Serta jika tidak menuliskan aksinya, maka dianggap mengakses aksi Index (IndexAction). Setelah itu aksi IndexAction dalam IndexController akan memanggil view dengan nama index.phtml untuk ditampilkan. Namun, jika diketahui nama Controller, aksi dan ada variabel yang dikirimkan, maka akan dilakukan proses pengolahan data yang berupa variabel yang dikirim tadi di dalam aksi dalam Controller yang dituju. Pengolahan data di sini bisa saja membutuhkan atau berhubungan dengan data dalam basis data. Oleh sebab itu Controller akan memanggil Model yang berada dalam lokasi models. Hal ini disebabkan karena dalam Controller tidak boleh mengandung kode program untuk mengakses basis data. Sehingga Controller melalui aksinya akan memanggil Model, karena di dalam Model terdapat fungsi-fungsi khusus untuk penanganan basis data. Jadi dari mekanisme kinerja MVC, setiap Controller mempunyai satu folder dan setiap aksi memiliki tampilan sendiri (aksi.phtml) yang diletakkan dalam folder view. Kode Program 1 Perintah untuk View 1
Kode Program satu merupakan perintah untuk memanggil fungsi view calender pada menu Agenda Kegiatan. Kode Program 2 Perintah untuk Model 1 2 3 4 5 5 7
function eventcal(){ $obj = $this->db->get('eventcal'); if (!($obj) == 0) { foreach ($obj->result_array() as $data) { $hasil[] = $data; return $hasil;
Perintah baris kedua sampai baris ketujuh adalah perintah untuk memanggil fungsi Model pada menu Agenda Kegiatan. Kode Program 3 Kode Program Controller 1 2 3 4 5 5 7 8 9 10 11 12
function event(){ $data = $this->auth_model->eventcal(); $event = array(); foreach($data as $d) { $StartEvtArr = explode(' ', $d['StartEvent']); $StartEvtArrDate = explode('-', $StartEvtArr[0]); $EndEvtArr = explode(' ', $d['EndEvent']); $EndEvtArrDate = explode('-', $EndEvtArr[0]); if($d == 1) $allDay = "true"; else $allDay = "false"; $eventdetail = array(
13
13 14 15 16 17
'title'=>$d['EventTitle'],'start'=>"$StartEvtArrDate[0]$StartEvtArrDate[1]-$StartEvtArrDate[2]", 'end'=>"$EndEvtArrDate[0]-$EndEvtArrDate[1]-$EndEvtArrDate[2]", 'allday'=>"$allDay" ); array_push($event, $eventdetail) } echo json_encode($event); }
Perintah baris kedua adalah perintah untuk memanggil fungsi view calender pada menu Agenda Kegiatan. Perintah baris 13 merupakan perintah untuk view agenda kegiatan harian yang memanggil fungsi tanggal. Perancangan Prototype Prototype pertama dalam tahap ini developer bekerja sama dengan client yaitu Ketua Senat Mahasiswa Universitas untuk memperoleh data tentang Lembaga Kemahasiswaan dan mempelajari kebutuhan serta permasalahan yang ada saat ini. Developer membuat rancangan awal terdiri dari menu Home, Tentang LK, Agenda Kegiatan, Program Kerja, Pendaftaran Panitia dan Gallery. Kemudian dievaluasikan kepada client. Setelah mencoba aplikasi yang ada, client menganjurkan untuk menambahkan menu Kelompok Bakat Minat Lembaga Kemahasiswaan. Prototype 1 terlihat pada Gambar 13.
Gambar 13 Prototype 1 Penambahan Menu Kelompok Bakat Minat
Prototype kedua Menu Kelompok Bakat Minat Lembaga Kemahasiswaan telah ditambahkan, client setuju kemudian client menganjurkan untuk mengganti kalender pada form pendaftarn panitia dengan tanggal lahir, bulan serta tahun dalam bentuk scroll up down. Prototype 2 terlihat pada Gambar 14.
14
Gambar 14 Prototype 2 Scroll Up Down pada Kalender Pendaftaran Panitia
Prototype Ketiga Kalender pada form pendaftaran panitia dengan tanggal lahir, bulan serta tahun dalam bentuk scroll up down telah dirubah kemudian client menganjurkan untuk menambahkan menu komentar online. Prototype 3 terlihat pada Gambar 15.
Gambar 15 Prototype 3 Menu Komentar Online
Prototype Ketiga (Gambar 15) Menu komentar online sudah ditambahkan dan dan client menyetujui. Aplikasi sudah sesuai dengan harapan client dan layak untuk diujikan. Prototype ini merupakan tahap realisasi perancangan menjadi sebuah aplikasi yang siap digunakan dan berguna untuk pengguna yaitu Lembaga Kemahasiswaan Universitas serta mahasiswa. Bagian implementasi aplikasi ini memuat dokumentasi dan penjelasan tentang implementasi aplikasi yang meliputi antarmuka (interface) dari aplikasi dan prosedur yang digunakan. Halaman utama merupakan halaman awal yang akan muncul ketika aplikasi dijalankan. Seperti yang ditunjukkan pada Gambar 16. Halaman utama aplikasi terdiri dari menu Beranda, Tentang LK UKSW, Program Kerja, Agenda Kegiatan, Kelompok Bakat Minat, Gallery, Pendaftaran Panitia, Kotak Pesan. Pengguna juga dapat mengakses pengumunan yang terdiri dari Kepanitiaan, Forum Diskusi serta Kegiatan Mahasiswa.
15
Gambar 16 Tampilan Menu Home Pada Aplikasi Kode Program 4 Tampilan Awal Aplikasi 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17