Monday, May 30, 2016

PPDB with Framework CI

Dokumentasi Aplikasi


Web dibuat dengan menggunakan Framework Code Igniter dan Bootstrap.



Rancangan Basis Data

Basis data dirancang menggunakan MySql. Rancangan terdiri dari 6 Tabel. 

Tabel users
Tabel sekolah
Tabel rilis_pengumuman
Tabel prioritas pilihan

Nilai mata pelajaran dimasukkan ke tabel users

Interface

Siswa
Siswa masuk ke web dan melakukan login sesuai username dan password yang telah diberikan. Setelah masuk siswa dapat mendaftar dan melengkapi biodata. Setelah itu siswa dapat memilih pilihan prioritas sekolah sebanyak tiga sekolah. Jika selesai maka siswa dapat memberi berkas nilai kepada pihak sekolah untuk diverifikasi. Setelah pemberkasan selesai siswa dapat menunggu hasil pengumuman di tab pengumuman.

Sekolah
Sekolah masuk ke web dan melakukan login. Setelah masuk sekolah dapat memasukkan nilai yang telah diberikan oleh siswa. Dan dapat melakukan verifikasi terhadap nilai tersebut jika. Sekolah juga dapat melihat siswa sementara yang diterima sampai nantinya rilis batas akhir pengumuman oleh admin. 

Admin
Admin masuk ke web dan melakukan login. Setelah masuk admin dapat pergi ke beberapa pilihan. Untuk pilihan siswa, admin dapat melakukan verifikasi dan pembatalan verifikasi serta menghapus akun siswa. Admin juga dapat membuat akun baru untuk siswa. Untuk nilai, admin dapat memasukkan nilai siswa bersangkutan ataupun memperbaharuinya. Di pilihan sekolah admin dapat mendaftarkan sekolah lain, dan dapat menghapus sekolah dari daftar. dan di pilihan pengumuman admin dapat melakukan rilis untuk pengumuman yang dapat di lihat di akun siswa.

Arsitektur sistem dan penjelasannya

public_html/
ppdb/
–––– application/ 
–––––––– config/ 
–––––––––––– autoload.php 
–––––––––––– ... 
–––––––––––– doctypes.php 
–––––––––––– foreign_chars.php 
–––––––––––– grocery_crud.php 
–––––––––––– ... 
–––––––– controllers/ 
–––––––––––– Home.php 
–––––––––––– Login.php
–––––––––––– Main.php 
–––––––––––– Verifylogin.php  
–––––––––––– index.html 
–––––––––––– Welcome.php 
–––––––– libraries/ 
–––––––––––– index.html 
–––––––– models/ 
–––––––––––– index.html 
–––––––––––– Main_model.php
–––––––––––– User.php  
–––––––– views/ 
–––––––––––––––– umum/
–––––––––––––––––––– p_loginpage.php
–––––––––––––––– admin/
–––––––––––––––––––– admin_footer.php
–––––––––––––––––––– admin_header.php
–––––––––––––––––––– admin_nav.php
–––––––––––––––––––– charts.php
–––––––––––––––––––– form.php
–––––––––––––––––––– index.php
–––––––––––––––––––– widgets.php
–––––––––––––––– siswa/
–––––––––––––––––––– siswa_head.php
–––––––––––––––––––– siswa_footer.php
–––––––––––––––––––– siswa_isi_pengumuman.php
–––––––––––––––––––– siswa_isi_biodata.php
–––––––––––––––––––– siswa_isi_sekolah.php
–––––––––––––––––––– siswa_nav.php
–––––––––––––––– sekolah/
–––––––––––––––––––– sekolah_head.php
–––––––––––––––––––– sekolah_footer.php
–––––––––––––––––––– sekolah_isi_pengumuman.php
–––––––––––––––––––– sekolah_isi_inputnilai.php
–––––––––––––––––––– sekolah_isi_verifikasi.php
–––––––––––––––––––– sekolah_nav.php
–––––––––––– index.html 
–––––––––––– welcome_message.php 
–––– font/ 
–––––––– glyphicons-halflings-regular.eot 
–––––––– glyphicons-halflings-regular.svg
–––––––– glyphicons-halflings-regular.ttf
–––––––– glyphicons-halflings-regular.woff
–––– sass/
–––––––– bootstrap/
–––––––––––– mixins/
–––––––––––––––– _alerts.scss
–––––––––––––––– ...
–––––––––––––––– _vendor-prefixes.scss
–––––––––––– _alerts.scss
–––––––––––– _badges.scss
–––––––––––– ... 
–––––––––––– _wells.scss
–––––––––––– index.html
–––––––– _bootstrap-compass.scss
–––––––– _bootstrap-mincer.scss
–––––––– _bootstrap-sprockets.scss
–––––––– _bootstrap.scss
–––––––– index.html
–––––––– style.scss
–––– style/
–––––––– css/
–––––––––––– bootstrap-table.css
–––––––––––– bootstrap-theme.css
–––––––––––– ...
––––––––––––styles.css
–––––––– css2/
–––––––––––– animate.css
–––––––––––– icomoon.css
–––––––––––– ...
–––––––––––– style.css.map
–––– script/   
–––––––– js/
–––––––––––– bootsrap-datepicker.js
–––––––––––– bootstrap-table.js
–––––––––––– ...
–––––––––––– respond.min.js
–––––––– js2/
–––––––––––– bootstrap.min.js
–––––––––––– index.html
–––––––––––– ...
–––––––––––– respond.min.js
–––– system/ 
–––– user_guide/ 
–––– change_log.txt 
–––– example_database.sql 
–––– index.php 
–––– licence-grocery-crud.txt 
–––– license.tx

Model
Model berisi query yang dipanggil melalui controller. Di sini dipergunakan dua model terpisah yaitu user.php dan main_model.php. User.php di khususkan untuk menghandle session dari user yang login sedangkan main_model berisi query database yang dipergunakan di website sebagai penampil data, input data, hapus data, dan sebagainya.

Views
View berisi tampilan yang ditampilkan di website. Di sini dipisahkan menjadi empat yaitu umum,siswa, sekolah dan admin. Sesuai namanya siswa untuk menampilkan tampilan dari akun siswa, sekolah untuk menampilkan tampilan akun sekolah, dan admin menampilkan tampilan dari akun admin. Cara penampilan di view diatur juga sedemikian rupa yaitu dengan memisahkan bagian head, nav, body dan footer, yang mana load dari tampilan akan dipanggil satu persatu dari controller. Dibuat terpisah karena umumnya head,nav dan footer umumnya sama tampilannya, dan hanya bodynya yang isinya berbeda, di sini lah dimanfaatkan juga kelebihan dari CI.
Untuk Penjelasan tampilan-tampilan dari bodynya kurang lebih sesuai namanya seperti "sekolah_isi_pengumuman.php" maka itu merupakan php body yang berisi tampilan pengumuman untuk sekolah. Dan untuk admin memang agak berbeda charts.php untuk tampilan isi sekolah, forms.php untuk tampilan isi pengumuman, index.php untuk tampilan isi siswa  dan widgets.php untuk tampilan isi nilai siswa. CSS dan Js yang diletakkan terpisah juga dapat dipanggil melalui view. CSS dan Js yang diperlukan disini sebagian besar dipanggil atau dideklarasikan di bagian head.

CSS
CSS berisi pengaturan untuk tampilan yang disini menggunakan framework tampilan bootstrap. File-file CSS ini diletakkan terpisah dan dipanggil diview jika views membutuhkan. Dan pengaturan untuk pemakainnya juga diatur di views.

Script
Script di sini berisi file js atau java script. Hampir sama dengan CSS, yaitu meleteakkan file js di tempat terpisah yang kemudian dapat digunakan dengan cara dipanggil di view.

Asumi
Siswa mendapatkan username dan password melalui sekolah, dan username password telah dibuat oleh admin sebelumnya. Siswa dapat mendaftar dan menunggu hasil sesuai kebijakan yang ditentukan dan pengumuman kepada siswa akan muncul saat admin menggunakan tombol rilis pengumuman. Sekolah yang dituju dapat mengkonfirmasi data siswa secara online setelah sebelumnya siswa tersebut tersebut menyerahkan berkasnya dan melengkapi syarat offline dari sekolah bersangkutan. Kelulusan siwa akan diatur sesuai nilai tertinggi dan giliran verifikasi. Sekolah juga dapat memantau siswa mana saja yang masih asuk jangkauan kelulusan, selama proses berlangsung. Pembatalan verifikasi hanya bisa dilakukan admin dan admin dapat memodifikasi akun, ataupun menghapusnya.