ROLE BASED ACCESS CONTROL SISTEM PENILAIAN
AKADEMIK ONLINE BERBASIS WEB DENGAN
MENGGUNAKAN FRAMEWORK CODEIGNITER PADA
FAKULTAS TEKNOLOGI INDUSTRI UPN ”VETERAN” JATIM
SKRIPSI
Oleh :
HALIMATUS SADIYAH
0534010122
JURUSAN SISTEM INFORMASI FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “ VETERAN” JAWA TIMUR
I
HALIMATUS SADIYAH
ROLE BASED ACCESS CONTROL SISTEM PENILAIAN AKADEMIK ONLINE BERBASIS WEB DENGAN MENGGUNAKAN FRAMEWORK CODEIGNITER PADA FAKULTAS TEKNOLOGI INDUSTRI UPN “VETERAN” JATIM
DOSEN PEMBIMBING I : BASUKI RAHMAT SSI,MT
DOSEN PEMBIMBING II: ABDULLAH FADIL S.KOM
ABSTRAK
Salah satu halangan dalam perkembangan intranet perusahaan bagaimana manajemen yang efektif dari otorisasi data. Salah satu teknik yang digunakan adalah Role-Based Access Control (RBAC). RBAC dapat menggambarkan struktur suatu organisasi. Hal ini dapat dilakukan dengan membuat suatu fungsi yang di kelompokkan ke dalam role dan user dimasukkan pada salah satu atau lebih dari role. Agar informasi yang berada pada aplikasi hanya dapat di akses oleh orang yang mempunyai hak berdasarkan pembagian rule.
Dengan fasilitas yang diberikan untuk semua user, baik Admin ataupun user biasa, di harapkan sistem ini digunakan berdasarkan kebutuhan masing masing tiap user. Dengan pengembangan sistem pembagian hak akses ini di harapkan dapat mempermudah pengisian nilai pada mata kuliah, mengetahui perkembangan mutu pendiikan mahasiswa dengan memantau nilai pada mahasiswa, dapat insert nilai pada data mahasiswa yang mengikuti kuliah, serta dapat melihat history sebuah nilai sebelum sebuah nilai menjadi nilai huruf. Dengan menggunakan aplikasi berbasis web yang di dukung dengan framework, akan memudahkan developer untuk mengembangkan aplikasi ini. Karena dengan menggunakan framework, sistem pengaturan data lebih terstruktur, sehingga menjadi lebih mudah untuk di analisa dan di kembangkan.
II
KATA PENGANTAR
Syukur Alhamdulillahhi robbil ‘alamin puja dan puji syukur ke Hadirat
Allah Yang Maha Esa atas selesainya laporan Tugas Akhir ini. Karena atas berkat
rahmat serta hidayah-Nya, penyusun dapat menyelesaikan laporan Tugas Akhir ini
yang telah menyita banyak waktu, tenaga, namun penyusun tetap diberi kesehatan
dan semangat kerja yang tinggi. Amin.
Pada laporan Tugas Akhir ini, penyusun akan membahas tentang “ Role
Based Access Control sistem penilaian akademik Fakultas Teknologi Industri UPN
“Veteran” Jatim.
Melalui Tugas Akhir ini penyusun merasa mendapatkan kesempatan besar
untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku
perkuliahan. Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari
sempurna dan banyak sekali terjadi kesalahan dan kekurangan. Oleh karena itu
penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk
pengembangan aplikasi lebih lanjut.
Akhirnya penyusun berharap dari laporan Tugas Akhir ini dapat bermanfaat
bagi kita semua. Amien.
Surabaya, Juni 2010
III
UCAPAN TERIMA KASIH
Dalam penyusunan laporan Tugas Akhir ini, penyusun banyak mendapat
bimbingan dan dukungan dari berbagai pihak. Oleh karena itu penyusun
mengucapkan terima kasih sebesar-besarnya kepada :
1. Allah SWT karena atas segala rahmat dan karunia-Nya sehingga kami dapat
melaksanakan dan menyelesaikan Tugas Akhir sehingga berjalan dengan baik.
2. Kedua orang tua yang telah memberikan do’a restu dalam mengerjakan Tugas
Akhir ini sehingga berjalan dengan baik.
3. Bapak Basuki Rahmat SSi,MT dan bapak Abdullah Fadil, S.Kom selaku
pembimbing Tugas akhir dan membantu proses penyelesaian tugas akhir.
4. Bapak Achmad Junaidi, S.Kom sebagai penguji proposal, tugas akhir dan
banyak memberikan masukan, kritik dan saran kepada penyusun.
5. Yang tersayang Baihaquey Gabreil, SE yang selalu memberikan dukungan dan
selalu ada dalam situasa dan kondisi apapun.
6. Teman teman ku (Steindia, Sisca, May, Joko) yang selalu memberikan
dukungan moril.
7. Kakak senior ku ( Mas Wahyu, Aji, Mas Faisal ) yang selalu ada dan
menemaniku saat mengerjakan program.
Surabaya, Juni 2010
Halaman
1.6. Metodologi Penelitian ... ...4
1.7. Sistematika Penulisan ... ...6
BAB II TINJAUAN PUSTAKA ... ... 8
2.1 Sekilas Tentang Sistem Akademik Online... ...8
2.1.1.Manfaat Sistim Penilaian Akademik Mahasiswa... ... ... 8
2.2. Pengertian .Role Based Access Control ... ... 9
2.2.1. Rule... .. 9
2.2.1.1 Perspektif Rule... ...10
2.2.2 Hierarki dari Rule ... ...12
2.2.3 Integritas ... ...12
2.3. RBAC pada web server intranet organisasi ... ... 13
2.4. Administrasi... ... ...15
2.5. RBAC/Web database ... ... ... 15
2.6. Skenario dari sisi user... ... ... 16
2.7. Aplikasi tools yang di gunakan... ... 17
2.7.1. PHP... ... .. 17
2.7.2. My SQL... ...18
2.7.3 Framework Codeigniter... ...19
2.7.3.1 Struktur Direktori Codeigniter PHP framework... ...21
2.7.3.2 Cara Kerja Codeigniter... ...22
2.8 Kelebihan dan Kekurangan pada RBAC sistem penilaian Akademik Online... ...23
BAB III ANALISA DAN PERANCANGAN SISTEM... ... 24
3.1. Pengumpulan Data ... ... 24
3.2. Analisa Data ... ... 24
3.3 Analisa Sistem... ....25
3.4. Perancanagn Basis Data... ... 25
3.4.1. Data Flow Diagram (DFD)... ... .. 25
3.4.2. Conceptual Data Model (CDM)... ....28
3.4.3. Phsical Data Model (PDM)... ....29
3.4.4. Perbedaan CDM dan PDM... ....31
3.4.5 Jenis-jenis objek dalam CDM... ....31
3.4.6 Jenis-jenis objek dalam PDM ... ...32
3.5. Business Rule yang ada dalam CDM dan PDM ... ... 32
3.6. Implementasi Data... ....32
3.7. User Interface... ....37
3.7.1. Desain interface aplikasi untuk user Admin... ....37
3.7.2. Desain interface aplikasi untuk user... ....41
3.7.3. Desain interface aplikasi untuk dosen... ....41
3.7.4. Desain interface aplikasi untuk mahasiswa... ....42
BAB IV IMPLEMENTASI ... ... 43
4.1. Kebutuhan Sistem... ....43
4.1.1. Perangkat Sistem... ....43
4.2. Implementasi ... ... 44
4.2.1. Install Codeigniter... ....44
4.2.2. Setting konfigurasi Codeigniter... ....45
4.3. Menjalankan Codeigniter... ... 47
4.3.1. Membuat data base... ....47
4.3.2. Pemanggilan Data Pada Konsep MVC ( Model, View, Controller )... ....48
4.4. Desain Interface ... ... 50
4.4.1. Desain Interface Menu Utama Sistem Pada Admin... ....51
4.4.2. Desain Interface Menu Utama Sistem Pada user... ....54
BAB V UJI COBA DAN EVALUASI ... ... 57
BAB VI PENUTUP ... ... 69
6.1. Kesimpulan ... ... 69
6.2. Saran ... ... 70
DAFTAR PUSTAKA ... ... xi
1
1
BAB I PENDAHULUAN
1.1 Latar Belakang
Salah satu halangan dalam perkembangan intranet adalah bagaimana
manajemen yang efektif dari otorisasi data. Pada masa sekarang administrator web
server mengatur user pengakses dokumen publik hanya berdasarkan dengan Access.
Proses administrasi dari access control masih merupakan hal yang sangat kritis dan
merupakan aspek keamanan yang penting. Salah satu teknik yang di gunakan adalah
Role-Based Access Control (RBAC). RBAC dapat menggambarkan struktur suatu
organisasi. Hal ini dapat dilakukan dengan membuat suatu fungsi yang di
kelompokkan kedalam rule dan user di masukkan pada salah satu atau lebih dari
rule. Walaupun bukan konsep yang baru akan tetapi RBAC terus mendapat
pengakuan dari dunia komersial untuk di gunakan. RBAC menyederhanakan
definisi, auditing dan administrasi dari keamanan hak akses.
Intranet dapat memberikan kemudahan dan fungsi yang besar bagi suatu
organisasi, industri dana pemerintah. Masalah security pada intranet akan menjadi
perhatian, karena adanya data data sensitif yang tersedia pada server. Untuk itu di
perlukan suatu manajemen user yang dapat mengatur policy terhadap akses data dana
URL pada server intranet. Kebutuhan sistem manajemen user yang diperlukan adalah
sistem manajemen user yang mudah dan biaya yang tidak telalu mahal serta realible.
RBAC adalah sebuah metode yang cocok di gunakan pada server intranet
2
2
RBAC menjembatani antara policy perusahaan, proses bisnis dan mekanisme access
control web server.
Pada dasarnya RBAC memberikan user keanggotaan pada rule berdasarkan
dari kompetensi dan tanggung jawab masing-masing user. Pada RBAC user tidak
dapat melakukan operasi atas inisiatif sendiri melainkan hanya berdasakan rule
dimana ia terdaftar. RBAC dapat di implementasikan pada web server yang telah ada
tanpa perlu ada modifikasi pada source code nya sehingga lebih portable.
Untuk mengatur bagaimana membangun aplikasi yang bersifat menyeluruh,
maka di perlukan adalanya framework. Framework adalah sekumpulan fungsi, class,
dan aturan-aturan. Berbeda dengan library yang sifatnya untuk tujuan tertentu saja,
Framework memungkinkan developer membangun aplikasi dengan lebih cepat .
Karena segala fungsi-fungsi yang umum yang biasanya di gunakan dalam
membangun sebuah aplikasi ataupun website, Menurut User Guide Codeigniter,
Codeigniter memiliki beberapa kelebihan di bandingkan framework PHP yang lain
1.2 Rumusan Masalah
Dari judul yang di ambil maka dapat di rumuskan
permasalahan-permasalahan sebagai berikut:
1. Bagaimana Mengatur Hak akses pada aplikasi penilaian sistem akademik untuk
membatasi siapa saja yang dapat menggunakan aplikasi ini berdasarkan rule atau
level user.
2. Bagaimana cara melindungi keamanan aplikasi dengan menggunakan proteksi
Role-Based ( tipe aturan untuk tiap hak akses yang disediakan ). Hak akses user
3
3
otorisasi ) atau dengan menentukan kumpulan role privilege secara tidak
langsung.
1.3 Batasan Masalah
Batasan permasalahan dalam pembuatan aplikasi ini adalah:
1. Membagi user bedasarkan rule yang di tentukan, untuk membedakan hak
akses pada aplikasi Sistem Penilaian akademik.
2. Meneliti pengguna Sistem Penilaian Akademik di Fakultas Teknologi Industri
UPN “Veteran” Jawa Timur.
3. Admin input data user yang memperoleh hak akses dan mengatur user
bedasarkan rule.
4. Ada sebelas rule yang terdapat dalam aplikasi, yang mempunyai tugas sesuai
dengan rule yang telah di tentukan.
5. Aplikasi hanya membagi mata kuliah, sistem penilaian, data dosen dan
pembagian dosen dengan mata kuliah pada Fakultas Teknologi Industri.
1.4 Tujuan
Adapun tujuan dari pembuatan aplikasi ini adalah:
1. Membagi hak akses pada user,dengan membatasi akses pada aplikasi,agar
informasi keamanan yang terkandung di dalam aplikasi ini, tidak tersebar luas.
2. Mempermudahkan dalam pembagian informasi dengan membuat suatu fungsi
yang di kelompokkan kedalam rule dan user di masukkan pada salah satu atau
4
4
1.5 Manfaat
Adapun manfaat yang dapat di ambil dari pembuatan aplikasi ini adalah:
a. Fleksibilitas dan manajemen yang relatif mudah. Fleksibilitas memungkinkan
administrator dapat membuat privilege yang seminimal mungkin untuk setiap
user.
b. Menghindari konflik dari tugas antar user, pemisahan tugas secara dinamis
maupun statis. Administrator mendaftarkan seorang user kedalam sebuah rule
berdasarkan dari tanggung jawab dan tugasnya.
c. Pada organisasi yang besar, RBAC dapat membuat tugas administratif menjadi
tersebar(decentralised). Hal ini tentu merupakan gambaran dari struktrur dari
sebuah organisasi.
1.6 Metodologi Penelitian
Metodologi yang di gunakan untuk pembuatan aplikasi RBAC pada Sistem
Penilaian Akademik Online , ini meliputi:
1. Studi Literatur
Studi Literatur yang dilakukan meliputi beberapa hal antara lain :
a. Mempelajari tentang pembagian hak akses bedasarkan rule yang di tentukan,
dengan melakukan survey tentang rule yang di bagi dalam hak akses sistem
penilaian akademik pada Fakultas Teknologi Industri.
b. Mempelajari penyimpanan data di server dengan menggunakan PHP, MySQL
5
5
c. Mempelajari konsep MVC (Model,View,Controller) pada framework
CodeIgniter
d. Mempelajari sistem penilaian mata kuliah, pembagian dosen dengan mata
kuliah dan hak akses masing masing user.
2. Analisis Sistem
Melakukan analisa terhadap permasalahan yang ada mengenai bagaimana
perancangan dan pembuatan aplikasi Role Based Akses Control pada Sistem
Penilaian Akademik Online.
3. Desain Sistem
Pada tahap ini di lakukan perancangan Role Based Akses Control pada Sistem
Penilaian Akademik Online.
4.Implementasi
Pada tahap ini di lakukan pembuatan Aplikasi Role Based Akses Control pada
Sistem Penilaian Akademik Online.
5. Uji Coba
Pada tahap ini di lakukan uji coba program Role Based Akses Control pada
Sistem Penilaian Akademik Online, mengamati dan memperbaiki kesalahan yang
ada agar program dapat berjalan dengan baik.
6. Dokumentasi
Pada tahap ini di lakukan pembuatan laporan mulai dari pendahuluan, tinjauan
pustaka, analisa dan perancangan sistem, hasil dan pembahasan serta penarikan
6
6
1.7 Sistematika Penulisan.
Pada penulisan laporan tugas akhir ini terdiri dari beberapa bab yang disusun
dengan sistematika penulisan sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisikan Latar Belakang, Rumusan Masalah, Batasan
Masalah, Tujuan Penelitian, Manfaat Perancangan Sistem, Metode
Penulisan, Sistematika Penulisan.
BAB II TINJAUAN PUSTAKA
Bab ini menjelaskan tentang teori-teori untuk menyelesaikan
pembangunan aplikasi Role Base Access Control. Teori yang terkait
diantaranya adalah : konsep MVC ( model, view, controller)
Dreamweafer, My SQL, PHP, pemograman berbasis web dengan
framework Codeigiter.
BAB III ANALISA DAN PERANCANGAN SISTEM
Bab ini menjelaskan tentang metode alur pembuatan aplikasi Sistem
Penilaian akademik online pada Fakultas Teknologi Industri, meliputi
pembuatan database, Power Designer 6.0 meliputi pembuatan Data
Flow Diagram (DFD), Power Designer 11 meliputi Conceptual Data
7
7
BAB IV IMPLEMENTASI SISTEM
Bab ini menjelaskan konsep MVC pada framework Codeigniter, di
mulai dengan setting database, menu controller, letak directory untuk
pengaksesan file.php yang menggunakan Codeigniter. Dalam bab ini
juga menjelaskan tantang desain program yang di bagi bedasarkan
masing masing rule yang telah di buat.
BAB V UJI COBA DAN EVALUASI
Pada bab ini menjelaskan tentang pelaksanaan uji coba dari program
yang dibuat. Uji coba program dapat di lakukan pada akhir
tahap-tahap analisa sistem, desain sistem dan tahap-tahap penerapan sistem atau
implementasi sistem. Sasaran dari ujicoba program adalah untuk
menemukan kesalahan-kesalahan dari program yang mungkin terjadi
sehingga dapat segera di perbaiki.
BAB VI PENUTUP
Bab ini berisi kesimpulan dari pembuatan aplikasi sistem Penilaian
BAB II
TINJAUAN PUSTAKA 2.1 Sekilas Tentang Sistem Akademik Online
Adanya peran Pendidikan bagi upaya pengembangan sumber daya
manusia, maka isi dan proses pendidikan perlu dimutakhirkan sesuai dengan
kemajuan ilmu dan kebutuhan masyarakat. Implikasinya, jika pada saat ini
masyarakat Indonesia dan dunia menghendaki tersedianya sumber daya
manusia yang memiliki seperangkat kompetensi yang berstandar nasional dan
internasional maka isi dan proses pendidikan perlu diarahkan pada pencapaian
kompetensi tersebut. Perkembangan teknologi informasi dan komunikasi
berlangsung dengan sangat cepat, sehingga penguasaan penggunaan perangkat
teknologi informasi menjadi sebuah kompetensi yang disyaratkan bagi lulusan
satuan pendidikan. Pentingnya sebuah saran dan prasarana dalam pelaksanaan
pendidikan, tanpa sarana dan prasarana yang tepat dan memadai akan sulit
meskipun bukan tidak mungkin untuk mencapai kualitas pendidikan yang
diharapkan. Dari hal tersebut maka dibuatlah sebuah sistem informasi penilaian
akademik, agar proses penilaian akademik mahasiswa menjadi efisien dan
dinamis.
2.1.1 Manfaat Sistim Penilaian Akademik Mahasiswa
a. Memudah proses pengelolaan data akademik dan non akademik.
b. Memberikan laporan perkembangan mahasiswa dalam proses belajar
c. Memberikan laporan perkembangan dosen dalam kegiatan belajar
mengajar.
d. Membantu mahasiswa melihat perkembangan dalam kegiatan akademik
dan non akademik
2.2 Pengertian .Role Based Access Control
RBAC adalah bentuk dari Mandatory Access Control, akan tetapi RBAC
tidak berdasarkan pada multilevel security, hak akses kontrol berdasakan dari
rule dari setiap individu yang merupakan bagian dari sebuah organisasi. Policy
dari setiap organisasi menentukan keanggotaan rule dan alokasi dari hak setiap
role. Tidak seperti DAC, pada RBAC user tidak dapat mendelegasikan hak
akses pada user lainnya.
RBAC web server yang menggunakan proses administrasi dari access
control dan merupakan aspek keamanan yang penting yang menggambarkan
struktur suatu organisasi. Hal ini dapat dilakukan dengan membuat suatu fungsi
yang dikelompokkan kedalam role dan user dimasukkan pada salah satu atau
lebih dari role.
2.2.1 Rule
Pada dasarnya RBAC adalah hak dan ijin diberikan pada role bukan pada
user. User memerlukan hak dan ijin secara virtual dengan jalan memasukkan
user tersebut menjadi anggota dari rule yang bersangkutan. Pada infrastruktur
UNIX, root mempunyai hak akses ‘all or nothing’ dengan kata lain setiap root
dapat melakukan pada saja pada sistem. Tanpa pengalaman yang cukup pada
RBAC maka profile dari sebuah rule ditentukan untuk setiap user. Dengan kata
lain maka tugas dari administrator sistem tidak pada melakukan perubahan
tanpa adanya rule dari RBAC.
Rule berorientasi pada group, sekumpulan transaksi dibuat. Transakasi
disini dapat merupakan obyek yang berupa program yang berhubungan dengan
data. Seorang admintrator dapat menambah dan menghapus user ke dalam
sebuah role atau bahkan menolak user pada suatu role. Dengan
mengelompokkan user kedalam role maka ada memudahkan pada proses
otorisasi dan kemampuan audit. Hal ini bertolak belakangan dengan access list
model pada umumnya yang dilakukan dengan jalan mencari seluruh otorisasi
yang ada kemudian mengalokasi hak dan ijin untuk user tersebut.
Rule dilengkapi dengan fungsionalitas yang memadai untuk menentukan
hak akses setiap pengguna sistem sesuai dengan tugas dan tanggung jawab
masing-masing. Named Protection Domains (NPD) merupakan spesifikasi
role yang mencakup tanggung jawab, hak akses dan relasi keduanya yang
disebut dengan functional role.
Komponen penting lain pada pendefinisian role adalah aspek struktural
yang mencakup relasi antar role pada sistem. Selanjutnya role mengacu pada
functional role, sedangkan aspek struktural di representasikan dalam model
role graph. Role merupakan bentuk dari privilege, sedangkan privilege
merupakan bentuk mode akses dan dapat ditampilkan sebagai unit administrasi
2.2.1.1 Perspektif Rule
Rule dapat dilihat dari beberapa sudut padang:
1. Pengelompokkan berdasarkan organisasi. Cara pandangan klasik ini di
hasilkan dengan membuat beberapa rule agar didapat rule secara
keseluruhan.
2. Pengelompokkan berdasarkan hubungan relatif. Rule seorang user
ditentukan berdasarkan obyek yang berhubungan dengan user tersebut.
Misalnya rule seorang manajer dapat diberikan berdasarkan apa saja yang
dikerjakan oleh manajer tersebut misalnya, proyek, teknologi atau staff.
3. Pengelompokkan berdasarkan kemudahan. Hal ini merupakan cara
pandang klasik di mana otorisasi dapat diubah secara fleksibel.
4. Pengelompokkan berdasarkan dari seleksi. Pengelompokkan ini dilakukan
dengan sesuai dengan kapabilitas atau sesuai dengan proses alur kerja.
Berikut ini adalah rule default dari Sistem Penilaian Akademik Online
Fakultas Teknologi Industri UPN “Veteran” Jatim.
Tabel 2.1 Rule Sistem Penilaian Akademik
5 Sekretaris Jurusan √ √ √ X
6 Dosen √ √ √ X
7 Mahasiswa X √ X X
Keterangan :
1. Dekan, pada sistem penilaian akademik hanya dapat mengakses aplikasi
sebagai pembaca, tidak dapat melakukan proses insert dan edit data, tetapi
dekan dapat membaca keterangan nilai dari semua jurusan yang berada
pada Fakultas Teknologi Industri
2. Wakil dekan dan dikjar, pada sistem penilaian akademik dapat mengakses
aplikasi penuh,yakni sebagai pembaca,dapat melakukan insert dan edit
data nilai mahasiswa dari semua jurusan yang berada pada Fakultas
Teknologi Industri.
3. Ketua Jurusan dan sekretaris jurusan, pada sistem penilaian akademik
dapat mengakses aplikasi penuh,yakni sebagai pembaca,dapat melakukan
insert dan edit data nilai mahasiswa dari masing masing jurusan, tetapi
tidak dapat melakukan insert,membaca dan mengedit data pada jurusan
lain.
4. Dosen, pada sistem penilaian akademik dapat melakukan insert, edit data
nilai mahasiswa bedasarkan mata kuliah yang di ajarkan.
5. Mahasiswa, pada sistem penilaian akademik hanya dapat membaca mata
2.2.2 Hierarki dari Rule
Sebuah hierarki dari rule mendefinisikan atribut yang unik dan secara
implisit dapat berisi rule lainnya. Dengan RBAC sebuah rule yang berisi
privilege dan permission yang umum dari digunakan oleh rule lainnya. Hal ini
menjadikan RBAC efisien karena menghindari pendefinisian ber ulang
2.2.3 Integritas
Hanya rule dan proses yang sah saja yang dapat memodifikasi data.
Kesulitan yang dihadapi pada masalah ini di tentukan oleh kompleksitas dan
transaksi yang berhubungan. Sebagai contoh adalah teller pada sebuah bank
yang meng eksekusi transaksi deposit memerlukan akses tulis dan baca pada
field tertentu pada log transaksi. Sementara itu seorang supervisor akunting
memerlukan rule yang sama untuk mengkoreksi transaksi tersebut jika ada
kesalahan. Perbedaannya adalah pada proses yang telah di ekskusi dan nilai
yang dituliskan pada log transaksi.
2.2.4 Privilege Minimal
Untuk tujuan integritas dapat dilakukan dengan jalan meminimalkan
sebuah privelege. Privilege diberikan kepada user berdasarkan hal apa saja
yang ia perlukan untuk menjalakan tugasnya. Dengan mengimplementasikan
RBAC maka meminimalkan privilege dapat dilakukan dengan mudah.
2.3 RBAC pada web server intranet organisasi
mahal untuk digunakan pada intranet perusahaan. Selain media web dapat
digunakan pada banyak platform dengan menggunakan web browser juga
penggunaannya mudah. Web sangat cocok sebagai penyimpan form, direktori,
material training. Dengan tersimpannya resource ini pada satu komputer saja
(web server) maka manajemennya tentu akan lebih mudah.
Walaupun demikian kemudahan yang diberikan oleh oleh web server
ada beberapa kelemahan, antara lain ancaman terhadap data data yang
disimpan pada web server.
Pengimplementasian RBAC pada web server intranet perusahaan
sangat potensial untuk memudahkan dan mengurangi kompleksitas dari
manajemen otorisasi. RBAC akan menghasilkan administrasi yang jauh lebih
mudah. RBAC mengatur database untuk dapat digunakan oleh administrator
dalam bentuk relasional. Dari pandangan administrator RBAC sebagai tool
untuk mengatur access control. RBAC pada web server tidak memerlukan
browser khusus pada sisi klien. RBAC juga dapat diimplementasikan pada
berbagai platform seperti UNIX (Netscape, Apache, NCSA, CERN) Windows
(Internet Information Server, Website, Purveyor).
Komponen yang terdapat pada web server yang menggunakan RBAC
adalah sebagai berikut.:
· Database, file yang menspesifikasikan antar user dan role, hierarki role,
role yang sedang aktif, dan relasi antara rule dan privilege.
hierarki role, constraint pada hubungan user dan role. File ini dibuat oleh
admin tool.
· API Library, Spesifikasi yang digunakan oleh web server dan CGI untuk
mengakses database.
· CGI, implemetasi RBAC pada CGI adalah dengan menggunakan
RBAC/Web API.
· Session Manager, berguna untuk manajemen user yang sedang aktif.
· Admin tool, berguna sebagai tool untuk membuat user, role, operasi,
menentukan constraint, dan memelihara database, administrator dapat
mengakses tool ini dengan bantuan web browser.
Beberapa web server di lingkungan UNIX seperti Netscape dan
Apache membagi operasinya dalam beberapa langkah, dan pada setiap
langkah akan mengubah dari setiap konfigurasi parameter. Hal ini
memungkinkan pengubahan operasi dari web server tanpa mengubah source
code server.
RBAC dapat digunakan secara bersamaan dengan sistem auntentikasi yang
sudah ada, misalnya username dan password, Secure Socket Layer (SSL) HTTP
(HTTPS) dan Private Communication Technology(PCT).
2.4 Administrasi
RBAC dapat diperlakukan sebagai metode access control discreatory atau
non-discreatory. Perbedaannya terletak dari administrasi role yang diperlukan.
berupa pemetaan User-to-role dan Role-to-permission. Hanya user yang
mempunyai role sama seperti administrator yang dapat melakukan ini. Pada
RBAC keanggotaan dari role ditentukan oleh kompetensi dan tanggung
jawabnya.
Proses Adminstrasi pada RBAC/Web menghasilkan konsistensi pada
seluruh system database. Hal ini dipandang penting karena otorisasi dari data
didistribusikan pada server-server yang terpisah. RBAC/Web database
mempunyai elemen data yang menggunakan Access Control List (ACL) yang
termasuk dinstall jika menggunakan RBAC/Web database. ACL berisi suatu
daftar role yang telah di definisikan Daftar ini berisi metode apa saja yang bisa
diakses berdasarkan dari URL yang digunakan. ACL merupak kumpulan koleksi
dari role privilege yang berhubungan dengan RBAC/We database
2.5 RBAC/Web database
Pada RBAC/Web database user diwakili oleh identifier yang unik dan role
adalah kumpulan dari fungsi serta privilege mewakili metode tertentu yang
mengakses obyek tertentu.
Overlapping role dapat saja terjadi dalam hal tanggung jawab dan
privilege. Untuk menambah efisiensi dan mendukung struktur alami dari sebuah
organisasi maka RBAC/Web memasukkan konsep role hierarcy. Hierarki role
adalah sebuah role yang mempunyai atribut yang unik yang berisi role lainnya.
Sebuah role secara implisit dapat berisi kumpulan dari privilege yang
Role Hierachy adalah struktur ideal yang sesuai dengan prinsip least
privilege (hanya privilege yang diperlukan saja yang diberikan) yang berlaku
baik pada administrator maupun pada users. Untuk mendapatkan least privilege
maka diperlukan identifikasi mengenai fungsi kerja dari user. Privilege yang
diberikan tidak lebih dari itu. Pada implentasi non-RBAC sulit melakukan ini,
karena proses amdinistrasinya dilakukan pada setiap user dan pada setiap obyek.
2.6 Skenario dari sisi user
Sebelum seorang user dapat mengakses URL atau mengakses pada pada
RBAC/Web maka proses proses otorisasi perlu dilakukan. Proses ini dilakukan
dengan memilih/meng-assign user pada ARS (Active Role Set) yang ada. ARS
menentukan operasi apa saja yang dapat dilakukan berdasarkan ARS. User dapat
dimasukkan ke dalam dua buah rule yang berbeda. ARS akan tetap berlaku
sampai end user meng-assign ARS yang lainnya. Misalnya seorang Ketua
Jurusan tetapi termasuk dalam rule dosen, maka ketua jurusan dapat mengakses
rule pada dosen, ini di karenakan seorang user memiliki dua jabatan yakni
Gambar 2.2 RBAC/Web
2.7 Aplikasi tools yang di gunakan
Pada pembuatan aplikasi sistem penilaian akademik Fakultas Teknologi
Industri, ada beberapa tools yang di gunakan, diantara sebagai berikut:
2.7.1 PHP
PHP adalah bahasa server-side scripting yang menyatu dengan HTML
untuk membuat halaman web yang dinamis. Maksud dari server-side scripting
adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan
di server tetapi disertakan pada dokumen HTML. Pembuatan web ini merupakan
kombinasi antara PHP sendiri sebagai bahasa pemrograman dan HTML sebagai
pembangun halaman web. Ketika seorang pengguna internet akan membangun
sebuah situs yang menggunakan fasilitas server-side scripting PHP, maka terlebih
dahulu server yang bersangkutan akan memproses semua perintah PHP di server
lalu mengirimkan hasilnya dalam format HTML ke web browser pengguna
internet tadi. Dengan demikian pengguna internet tidak dapat melihat kode
lebih terjamin.
Tetapi tidak seperti ASP yang juga cukup dikenal sebagai server-side
scripting, PHP merupakan software yang Open Source (gratis) dan mampu lintas
platform, yaitu dapat digunakan dengan sistem operasi dan webs erver apapun.
PHP mampu berjalan di Windows dan beberapa versi Linux. PHP juga dapat
dibangun sebagai modul pada web server Apache dan sebagai binary yang dapat
berjalan sebagai CGI.
PHP dapat mengirim HTTP header, dapat mengest cookies, mengatur
authentication dan redirect user. PHP menawarkan koneksitas yang baik dengan
beberapa basis data, antara lain Oracle, Sybase, mSQL, MySQL, Solid,
PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm dan tak terkecuali
semua database berinterface ODBC.
Hampir semua aplikasi berbasis web dapat dibuat dengan PHP. Namun
kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan
ini kita dapat mempunyai suatu sistem absis data yang dapat diakses dari web.
2.7.2 My SQL
MySQL adalah multiuser database yang menggunakan bahasa Srtucturd
Query Language (SQL). MySQL dalam operasi client-server melibatkan sevis
daemon MySQL disisi server dan berbagai macam program serta library yang
Perusahaan yang mengembangkan MySQL yaitu TeX, mengaku mampu
menyimpan data lebih dari 40 database, 10.000 tabel dan sekitar 7 juta baris,
totalnya kurang lebih 100 Gigabyte data.
SQL adalah bahasa standar yang digunakan untuk mengakses database
server. Bahasa ini pada awalnya dikembangkan oleh IBM, namun telah diadopsi
dan digunakan sebagai standar industri. Dengan menggunakan SQL, proses akses
database menjadi lebih user-friendly dibandingkan dengan menggunakan dBASE
atau Clipper yang masih menggunakan perintah-perintah pemrograman.
Dalam konteks bahasa SQL, pada umumnya informsi tersimpan dalam
table-tabel yag secara logika merupakan struktur dua dimensi yang terdiri atas
baris-baris data yang berada dalam satu atau lebih kolom. Baris pada table sering
disebut sebagai instance dari data, sedangkan kolom sering disebut sebagai
attribute atau field. Keseluruhan table dihimpun dalam satu kesatuan yang disebut
database.
2.7.3 Framework Codeigniter
CodeIgniter merupakan salah satu open source framework yang digunakan
oleh script pemprograman web PHP ( PHP Hypertext Preprocessor) dalam
mengembangkan aplikasi web dinamis yang memenuhi standart MVC yakni:
· MODEL mempresentasikan struktur data dari website yang bisa berupa database maupun data lain misalnya dalam bentuk file, teks atau file xml.
update dan menghapus data website
· VIEW merupakan informasi yang ditampilkan kepada pengunjung dari website.
Pada view , akan memberikan variabel variabel yang berisi data yang siap
ditampilkan. Dengan kata lain pada view adalah halaman website yang dibuat
menggunakan dengan html bantuan java atau javascript, ajax dan lain2x yang
bersifat mengatur style dan struktur dokumen.
· CONTROLER controller merupakan penghubung antara model dan view. Didalam controller inilah terdapat class dan fungsi – fungsi yang memproses
permintaan dari view kedalam struktur data didalam model.
Selain framework CodeIgniter, masih banyak framework lain yang juga
menggunakan PHP,misalnya CakePHP, Symphoni Project, Zend, Seagull, Prado,
dan lain sebagainya.
Penggunakan framework dalam menghasilkan suatu website akan terasa
lebih efesien bagi programmer daripada jika programmer tersebut membuat
website dengan alur coding standar. Keuntungan – keuntungan yang diperoleh
programmer web dari penggunaan CodeIgniter antara lain :
a. Kompatibel dengan akses hosting yang standar dan dapat berjalan dengan
variasi versi PHP apapun dengan konfigurasi yang bagaimanapun
b. Open source framework yang ringan dan powerfull
d. Kinerja progam yang baik
e. Proses setup yang cepat
f. Logika proses akan lebih dimengerti oleh programmer web
g. Tidak meminta konfigurasi apapun.
h. Fokus untuk menghasilkan solusi yang mudah
i. Tidak meminta untuk akses menggunakan CLI (seperti: command line,
console, atau terminal).
j. Fleksibel terhadap peraturan coding
k. Dokumentasi yang lengkap
l. Tidak meminta dependency apapun, seperti PEAR
Metode yang digunakan oleh framework CodeIgniter disebut Model –
View – Controller atau yang disingkat dengan sebutan MVC. MVC memisahkan
antara logika pemprograman dengan presentasi. Hal ini dapat terlihat dari adanya
minimalisir script presentasi (HTML, CSS, JavaScript, dsb) yang dipisahkan dari
PHP script. Didalam folder CodeIgniter, MVC dapat kita temukan dalam folder
application.
2.7.3.1 Struktur Direktori Codeigniter PHP framework
File index.php adalah file yang meload konfigurasi paling awal
codeigniter, seperti nama folder system, nama folder applications, yang jika
Folder system, sebagai direktori induk semua script codeigniter
diletakkan. Dan kita akan bekerja di dalam folder application.Di dalam folder
system, kita akan sering bekerja dengan folder controllers, models, dan views
(dari konsep MVC, Model - Views - Controller).
Folder config, berisi file-file konfigurasi untuk database – dalam file
config.php, controller default – dalam file routes.php, konfigurasi database – di
file database.php, dan file-file lainnya.
2.7.3.2 Cara Kerja Codeigniter
Saat anda mengakses alamat instalasi codeigniter, misalkan di alamat
http://localhost/codeigniter, akan menampilkan halaman selamat datang.Halaman
ini disediakan oleh file welcome_message.php di dalam folder
system/application/views. File tersebut dikontrol oleh file welcome.php di folder
system/application/controllers.
Disini, controller welcome.php tidak menggunakan model, karena
aplikasinya sangat sederhana, tidak ada pengolahan data, tidak memerlukan
interaksi dengan visitor.
Bagaimana codeigniter mengetahui controller mana yang dipanggil saat kita
mengakses alamat root http://localhost/codeigniter (sebenarnya kita mengakses:
http://localhost/codeigniter/index.php/controller_default) Hal ini, kita definisikan
di dalam file routes.php dalam folder system/application/config.
Gambar 2.3 Cara kerja Codeigniter
Pada prosesnya route sebagai pengatur controller mana yang akan di
jadikan fungsi indexnya,dari controller melakukan suatu pemanggilan data atau
gambar ke database melalui model .dan oleh model,dikembalikan lagi ke
controller dan controller menampikan data model pada view.
2.8 Kelebihan dan Kekurangan pada RBAC sistem penilaian Akademik Online
Berikut adalah beberapa kelebihan dan kekurangan pembuatan Role Based
Access Control sistem penilaian akademik Fakultas Teknologi Industri berbasis
web dengan menggunakan framework Codeigniter.
No Kelebihan Kekurangan
1 Pembagian rule lebih bersifat
dinamis, tergantung pada
kebutuhan user pada suatu rule,
yang di atur oleh seorang admin.
Belum terdapat proses pembuatan jadwal
perkuliahan.
2 Pengaturan manajemen perkuliahan
lebih terstuktur, di mulai pada
insert dosen, mata kuliah, kelas dan
pengaturan mata kuliah oleh dosen,
mata kuliah yang di ambil
mahasiswa.
3 Berbasis web, lebih ringan dan user
24
BAB III
ANALISA DAN PERANCANGAN SISTEM
Pada bab ini akan di jelaskan alur perancangan dan pembuatan Aplikasi Role
Based Akses Control pada Sistem Penilaian Akademik Online dengan menggunakan
Data Flow diagram, Conceptual data model, Physical data model , penyusunan tabel
dan desain interface
3.1 Pengumpulan Data
Pada pembuatan sistem RBAC, di perlukan beberapa data untuk melengkapi uji
coba aplikasi, pengumpulan data di lakukan dengan metode:
1. Metode Interview
Yaitu metode penelitian yang di lakukan dengan suatu tanya jawab kepada pihak fakultas
mengenai beberapa rule yang ada dan untuk memperoleh data mahasiswa Fakultas
Teknologi Industri yang tidak mungkin di dapat dengan cara lain.
2. Literatur
Yaitu mempelajari buku buku referensi di perpustakaan dan internet yang berkaitan
dengan permasalahan dan proses pembuatan aplikasi.
3.2 Analisa Data
Dari data yang telah terkumpul maka di lakukan analisa data yaitu menganalisa
beberapa hak akses dalam sistem penilaian pada Fakultas Teknologi Industri.
Dari analisa data yang di peroleh di tentukan beberapa rule dalam hak akses
sistem penilaian yang bersifat default. Oleh karena itu, di buat aplikasi RBAC agar rule
25
3.3 Analisa Sistem
Dalam pembuatan aplikasi RBAC ini di harapkan dapat mempermudah para
pengguna dalam melakukan proses penilaian secara online. User status dekan, wakil
dekan, ketua jurusan dan sekretaris jurusan dapat memantau perkembangan mahasiswa
pada fakultas dan jurusan, untuk dosen dapat melakukan insert nilai pada aplikasi ini
sehingga mempermudah dalam proses pengambilan nilai, sedangkan user dengan status
mahasiswa dapat mengetahui history nilai nilai hingga suatu nilai menjadi nilai huruf.
3.4 Perancanagn Basis Data
Perancangan basis data di lakukan dengan membuat diagram untuk mengetahui
alur aplikasi dan perancangan jalannya sebuah aplikasi.
3.4.1 Data Flow Diagram (DFD)
DFD adalah suatu model logika data suatu proses yang di buat untuk
menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari sistem, di
mana data simpan, dan proses apa yang menghasilkan data tersebut dan interaksi antara
data yang tersimpan dan proses yang di kenakan pada data tersebut.
A. DFD Level 0
Terlihat pada DFD Level 0 di bawah menunjukkan ada empat entitas yaitu admin,
user, dosen dan mahasiswa. Terlihat pada gambar bahwa admin memiliki hak akses
yaitu: insert data dosen, mata kuliah, tahun ajaran, kelas, manage data mahasiswa,
manage mata kuliah dan manage user. Untuk user dapat memilih jurusan, mata kuliah,
tahun ajaran dan edit nilai. Untuk dosen dapat edit nilai mahasiswa. Dan pada mahasiswa
26
RBAC Sistem Penilaian FTI
Data Flow Diagram Level 1 ini merupakan turunan dari Data Flow Diagram
Level 0 Sistem. Pada setiap proses ke dua admin akan memasukkan data ke dalam sistem
dan kemudian dari sistem akan memberikan informasi data pada user, dosen dan
mahasiswa. Setiap proses pada sistem akan tersimpan pada database antara lain: data
dosen, data mata kuliah, data mahasiswa kuliah, data manage mata kuliah, data tahun
ajaran, data kelas dan data manage user akan tersimpan pada tabel user begitu juga
dengan proses login setelah user melakukan proses login maka akan mendapat validasi
27
melakukan proses edit dimana seorang admin membagi user bedasarkan status dan hak
akses sesuai dengan kebutuhan user. Berikut adalah gambar DFD level 1:
data nilai
6data manage nilai mahasiswa
7data manage kuliah
28
3.4.2 Conceptual Data Model (CDM):
Model yang di buat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi
obyek obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara
entitas entitas Digram itu di representasikan dalam bentuk Entity Relationship Diagram.
Conceptual Data Model pada aplikasi sistem ini merepresentasikan rancangan basis data
konseptual di server. Sesuai dengan database yang akan di bangun, dimana tiap database
akan terdiri dari beberapa tabel. Oleh karena itu pada CDM ini akan mempersiapkan
beberapa tabel yang dibutuhkan Sistem.
Tabel-tabel tersebut antara lain adalah tabel dosen, mkul, managekul, kelas,
t_ajaran, nilai dan tabel user. Tabel-tabel ini ada keterkaitannya satu sama lain, terlihat
pada gambar CDM berikut tabel managekul yang terbuhung dengan tabel dosen dan tabel
mkul. Dengan relasi one to many antara tabel dosen dan tabel managekul yang di
gunakan untuk mengambil data dosen pada tabel dosen. Dan relasi relasi one to many
antara tabel mkul dan tabel managekul yang di gunakan untuk mengambil data mata
kuliah pada tabel mkul. Pada tabel managekul mempunyai relasi one to many dengan,
tajaran dan kelas dan pada tabel managekul di lakukan pengaturan sistem pengajaran
pada dosen, misalnya dosen A dapat mengajar mata kuliah A atau B dan seterusnya.
Untuk tabel nilai terhubung dengan relasi one to many dengan tabel user. Tabel nilai
mengambil data mata kuliah dari tabel managekul, data kelas dari tabel kelas dan tahun
ajaran dari tabel t_ajaran. Untuk tabel user dengan relasi one to many dengan tabel nilai
dan dosen untuk mengambil data user, data user pada dosen di ambil dari field nip pada
29
Tabel-tabel yang telah terhubung tersebut akan di generate ke dalam PDM
(Physical Data Model) dari PDM inilah akan terlihat bagaimana keterkaitan antara satu
tabel dengan tabel lainnya.
update dosen
<pi> Variable characters (30) Variable characters (50)
<pi> Variable characters (20) Variable characters (30)
<pi> Variable characters (15) Variable characters (15)
<pi> Variable characters (15) Variable characters (20)
<pi> Variable characters (15) Variable characters (5)
<pi> Variable characters (15) Variable characters (15)
<pi> Variable characters (20) Variable characters (50)
Gambar 3.3 Conceptual data model
3.4.3 Phsical Data Model (PDM)
Merupakan model yang menggunakan sejumlah tabel untuk menggambarkan data
30
mana setiap kolom memiliki nama yang unik. Physical Data Model ini dibuat
berdasarkan Conceptual Data Model dan physical data model ini hasil generate dari
konceptual data model di atas. Hasil generate ini semua tabel tabel yang memiliki relasi
satu arah, karena pada CDM menggunakan relasi one to many dengan dependent antar
tabel maka PDM ini merepresentasikan secara riil arus data yang akan digunakan pada
database.
Terlihat pada tabel managekul terdapat nip dan nama_dosen yang di peroleh dari
tabel dosen,kelas di peroleh dari tabel kelas, t_ajaran di peroleh dari tabel tajaran
sedangkan kode_kul dan nama_mk di peroleh dari tabel mkul. Pada tabel nilai terdapat
id_nilai dan id_user dan id_mankul yang di peroleh dari tabel managekul. Pada tabel user
terdapat nip dan npm sebagai id_user.
FK_MANAGEKU_UPDAT E_DO_DOSEN
FK_MANAGEKU_UPDAT E_T A_T AJARAN dosen
31
3.4.4 Perbedaan CDM dan PDM :
CDM : perancangan basis data yang berdasarkan pengumpulan data dan analisis.
Pembuatan CDM adalah suatu tahap dengan melakukan proses indentifikasi dan analisa
kebutuhan-kebutuhan data dan ini disebut pengumpulan data dan analisa. Untuk
menentukan kebutuhan kebutuhan suatu sistem database, harus mengenal terlebih dahulu
bagian bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database.
Tipe data bersifat general dan tidak spesifik.
PDM : Perancangan database secara fisik. Tipe data bersifat lebih khusus dan spesifik.
Perancangan PDM merupakan representasi fisik / sebenarnya dari database.
Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
Internal/Physical Level : (yang dapat di representasikan dengan PDM)
berhubungan dengan bagaimana data disimpan secara fisik (physical storage).
External /View Level : berhubungan dengan bagaimana data di representasikan
dari sisi setiap user.
Conceptual/Logical Level : (yang dapat di repsesentasikan dengan CDM) yang
menghubungkan antara internal & external level
3.4.5 Jenis-jenis objek dalam CDM :
Entity
Relationship
Inheritance
32
3.4.6 Jenis-jenis objek dalam PDM :
Table
View
Reference
3.5 Business Rule yang ada dalam CDM dan PDM :
Suatu aturan yang di ikuti oleh system database bisnis yang akan di buat. Business
rule dapat berupa peraturan pemerintah, kebutuhan customer, atau aturan-aturan internal.
Business rule yang ada di dalam CDM dan PDM:
Pernyataan yang menjelaskan beberapa aspek bisnis
Menegaskan struktur bisnis
Control / mempengaruhi perilaku bisnis
Dinyatakan dalam istilah yang mudah di mengerti oleh end-user
3.6 Implementasi Data
Rancangan model data fisik pada bagian perancangan sistem di implementasikan
ke dalam basis data MySQL tabel-tabel basis data yang di buat dijelaskan sebagai
berikut:
3.6.1 Database siamik
Database siamik di gunakan untuk menyimpan data, tabel ini terdiri dari tabel
dosen, kelas, managekul, mkul, nilai, tajaran dan tabel user. Berikut adalah tabel tabel
33
Tabel 3.1 Tabel dosen
No. Nama Field Type Keterangan
1. nip varchar (30) nip dengan tipe data varchar, nip akan menjadi
Primary Key di tabel ini dengan batasan 30
2. nama_dosen varchar (50) nama_dosen merupakan FK dengan tipe data
varchar dengan batasan 50
3. jurusan varchar (15) jurusan merupakan FK dengan tipe data
varchar dengan batasan 15
Tabel 3.2 Tabel kelas
No. Nama Field Type Keterangan
1. kelas varchar (5) Kelas merupakan FK dengan tipe data varchar,
dengan batasan 5
Tabel 3.3 Tabel mkul
No. Nama Field Type Keterangan
1 kode_kul varchar (20) Kode_kul dengan tipe data varchar, nip akan
menjadi Primary Key di tabel ini dengan batasan 20
2 nama_mk varchar (30) Nama_mk merupakan FK dengan tipe data
varchar dengan batasan 30
3 sks varchar (5) Sks merupakan FK dengan tipe data varchar
dengan batasan 5
4 jurusan varchar (15) jurusan merupakan FK dengan tipe data varchar
34
Tabel 3.4 Tabel managekul
No Nama Field Type Keterangan
1 Jurusan varchar (15) jurusan merupakan FK dengan tipe data
varchar dengan batasan 15
2 Nama_mk varchar (30) Nama_mk merupakan FK dengan tipe data
varchar dengan batasan 30
3 Nama_dosen varchar (60) Nama_mk merupakan FK dengan tipe data
varchar dengan batasan 30
Tabel 3.5 Tabel nilai
No. Nama Field Type Keterangan
1 Npm varchar (20) Npm dengan tipe data varchar, npm akan
menjadi Primary Key di tabel ini dengan batasan 20
2 Nama_mhs varchar (50) Nama_mhs merupakan FK dengan tipe data
varchar dengan batasan 50
3 Mkul varchar (30) Mkul merupakan FK dengan tipe data varchar
dengan batasan 30
4 Kelas varchar (5) Kelas merupakan FK dengan tipe data varchar
dengan batasan 5
5 T_ajaran varchar (15) T_ajaran merupakan FK dengan tipe data
varchar dengan batasan 15
6 K1 varchar (5) K1 merupakan FK dengan tipe data varchar
dengan batasan 5
7 Tq1 varchar (5) Tq1 merupakan FK dengan tipe data varchar
dengan batasan 5
35
dengan batasan 5
9 Nts varchar (5) Nts merupakan FK dengan tipe data varchar
dengan batasan 5
10 K2 varchar (5) K2 merupakan FK dengan tipe data varchar
dengan batasan 5
11 Tq2 varchar (5) Tq2 merupakan FK dengan tipe data varchar
dengan batasan 5
12 Uas varchar (5) Uas merupakan FK dengan tipe data varchar
dengan batasan 5
13 Nas varchar (5) Nas merupakan FK dengan tipe data varchar
dengan batasan 5
14 Na varchar (5) Na merupakan FK dengan tipe data varchar
dengan batasan 5
15 nh varchar (5) Nh merupakan FK dengan tipe data varchar
dengan batasan 5
Tabel 3.6 Tabel tajaran
No Nama Field Type Keterangan
1 T_ajaran varchar (15) T_ajaran merupakan FK dengan tipe data
varchar dengan batasan 15
Tabel 3.7 Tabel user
No Nama Field Type Keterangan
1 Id_user varchar (20) Id_user dengan tipe data varchar, id_user akan
menjadi Primary Key di tabel ini dengan batasan 20
2 Password varchar (50) Password merupakan FK dengan tipe data
36
3 Status varchar (15) Status merupakan FK dengan tipe data varchar
dengan batasan 15
4 Readti varchar (10) Readti merupakan FK dengan tipe data varchar
dengan batasan 10
5 Readtk varchar (10) Readtk merupakan FK dengan tipe data
varchar dengan batasan 10
6 Readtp varchar (10) Readtp merupakan FK dengan tipe data
varchar dengan batasan 10
7 Readtf varchar (10) Readtf merupakan FK dengan tipe data varchar
dengan batasan 10
8 Readsi varchar (10) Readsi merupakan FK dengan tipe data
varchar dengan batasan 10
9 Editti varchar (10) Editti merupakan FK dengan tipe data varchar
dengan batasan 10
10 Edittk varchar (10) Edittk merupakan FK dengan tipe data varchar
dengan batasan 10
11 Edittp varchar (10) Edittp merupakan FK dengan tipe data varchar
dengan batasan 10
12 edittf varchar (10) Edittf merupakan FK dengan tipe data varchar
dengan batasan 10
13 Editsi varchar (10) editsi merupakan FK dengan tipe data varchar
dengan batasan 10
14 Dosen varchar (10) Dosen merupakan FK dengan tipe data varchar
dengan batasan 10
15 Nama_user varchar (50) Nama_user merupakan FK dengan tipe data
varchar dengan batasan 50
16 jurusan varchar (15) Jurusan merupakan FK dengan tipe data
37
3.7 User Interface
Desain interface aplikasi pada menu login:
Gambar 3.5 Form Login
User insert user ID dan password, jika level admin yang mempunyai hak akses
penuh maka akan langsung ke menu utama. Untuk user akan masuk ke menu user, dosen
masuk pada menu dosen dan mahasiswa masuk pada menu mahasiswa.
3.7.1 Desain interface aplikasi untuk user Admin
Berikut adalah desain interface menu pada admin, terdapat beberapa menu, di
antaranya sebagai berikut :
Menu tambah dosen, admin insert data data dosen pada semua jurusan
Gambar 3.6 Menu tambah dosen
SILAHKAN LOGIN
User ID
:
Password :
38
Berikut adalah desain menu mata kuliah, admin insert mata kuliah pada semua
jurusan, mulai dari kode mata kuliah, nama mata kuliah, jurusan dan jumlah sks.
Gambar 3.7 Menu tambah mata kuliah
Berikut adalah menu manage kelas, admin mengatur kelas, tahun ajaran, dosen
pengajar mata kuliah, mahasiswa yang mengikuti mata kuliah pada setiap jurusan.
Untuk mata kuliah, kelas dan tahun ajaran, di peroleh dari tabel mata kuliah, kelas
dan tahun ajaran.
39
Berikut ini adalah desain manage mata kuliah, di gunakan untuk mengatur dosen
yang mengajar mata kuliah pada jurusan tertentu. Untuk insert mata kuliah dan
dosen di peroleh dari tabel mata kuliah dan dosen.
Gambar 3.9 Menu atur manage kuliah
Berikut ini adalah desain untuk tambah kelas
40
Berikut adalah desain untuk tambah tahun ajaran
Gambar 3.11 Menu tambah tahun ajaran
Berikut ini adalah desain manage user, manage user mengatur user bedasarkan
jabatan dan hak akses yang di tentukan sesuai dengan kebutuhan user, hak akses
bersifat dinamis, user akan mendapat hak akses lebih sesuai dengan kebijakan dan
admin dapat mengubah user akses. Untuk pengaturan hak akses, admin cukup
centang check box pada desain untuk menentukan hak user dalam menjalankan
aplikasi.
41
3.7.2 Desain interface aplikasi untuk user
Berikut ini adalah menu pada user yang hanya dapat di akses oleh user dengan
status sebagai Dekan, Wakil Dekan, Digjar, Ketua Jurusan, Sekretaris Jurusan. Semua
user memiliki hak akses masing masing, ada dua hak akses yakni hak untuk membaca
data dan hak untuk melakuka proses edit data. Berikut adalah desain untuk user
Gambar 3.13 Menu user
Pada menu di atas, user memilih mata kuliah dan tahun ajaran pada jurusan,
dengan melukan proses pencarian data mahasiswa, maka akan secara otomatis aplikasi
akan menampilkan daftar mahasiswa yang mengikuti mata kuliah pada tahun ajaran yang
di pilih oleh user.
3.7.3 Desain interface aplikasi untuk dosen
Berikut ini adalah menu dosen yang secara otomatis akan menampilkan data nilai
mahasiswa sesuai dengan daftar mata kuliah yang di ajarkan dan dosen dapat melakukan
pencarian data nilai dengan memilih daftar mata kuliah yang di tampilkan dan tahun
42
Gambar 3.14 Menu dosen
3.7.4 Desain interface aplikasi untuk mahasiswa
Berikut adalah menu mahasiwa yang menampilkan data mata kuliah yang sedang
di pelajari oleh mahasiswa sesuai data login mahasiswa. Mahasiwa hanya dapat
mengetahui informasi nilai mata kuliah.
43
BAB IV
HASIL DAN PEMBAHASAN
4.1 Kebutuhan Sistem
Ada beberapa hal yang harus diperhatikan sebelum menjalankan program atau
apliksi, antara lain perangkat keras (hardware) dan perangkat lunak (software) yang di
butuhkan oleh sistem serta langkah langkah yang harus di perhatikan dalam melakukan
instalasi aplikasi yang di gunakan oleh sistem untuk menjalankan program atau aplikasi.
4.1.1 Perangkat Sistem
Perangkat yang dibutuhkan dalam pembuatan aplikasi “RBAC sistem penilaian
akademik Fakultas Teknologi Industri” ini termasuk dalam pembuatan laporan adalah
perangkat keras (hardware) dan perangkat lunak (software).
Adapun perangkat keras yang digunakan dalam pengembangan sistem ini adalah:
1. Hardisk 40 Gb
2. Monitor Wide Screen 15”
3. Memory 256 MB
Sedangkan perangkat lunak yang digunakan adalah :
1. Instalasi Windows XP/Seven/Vista
2. Instalasi XAMPP
3. Instalasi Dreamweaver MX
44
5. Setting Framework
6. Web browser (Internet explorer,mozila)
7. Instalasi Office 2007
4.2. Implementasi
Pada bagian implementasi ini akan dijelaskan bagaimana setting konfigurasi
framework Codeigniter. Mulai dari proses instalasi, setting database, setting controler
aplikasi. Dan desain interface yang di tampilkan dalam Aplikasi Role Based Akses
Control pada Sistem Akademik Online.
4.2.1 Install Codeigniter
CodeIgniter adalah aplikasi berbasis website. Yang perlu di lakukan hanyalah
mengcopy folder aplikasi CodeIgniter kedalam Document. Root dari web server yang
sudah kita install sebelumnya. Bukan melakukan instalasi seperti pada aplikasi sistem.
Sebelum melakukan instalasi yang perlu dilakukan pertama kali adalah mendapatkan
kode sumber dari CodeIgniter itu sendiri, CodeIgniter bisa di download
http://www.codeigniter.com/ , versi terbaru sampai buku ini ditulis adalah versi 1.7.2.
Untuk melakukan instalasi cukup ektraks file hasil download, yaitu file
CodeIgniter_1.7.2.zip, kemudian letakan folder hasil ekstrak tadi di folder htdocs
didalam direktori C:\\xampp\htdoc bagi yang menggunakan XAMPP di Windows..
Didalam folder tersebut ada dua folder lagi yaitu system dan user_guide, User guide
45
Lalu buka pada localhost http://localhost/CodeIgniter_1.7.2/ ,Maka akan muncul
tampilan welcome message seperti di bawah ini:
Gambar 4.1 Tampilan awal ketika sukses install Codeigniter
4.2.2 Setting konfigurasi Codeigniter
Pada konfigurasi awal, buka file pada direkrori
C:\\xampp\htdoc\aplication\Controller\config. Beberapa file yang perlu di ubah
konfigurasinya yakni:
Routes.php
Pada routes.php , ubah settingan pada script default controllernya sesuai
dengan setting konfigurasi. Pada gambar ini di jelaskan, file yang menjadi
default controlnya adalah ”siamik” yang berada pada direktori controller,
yang mana pada file siamik ini, akan menjadi controller pada semua aplikasi,
46
Gambar 4.2 setting default controller
Autoload.php
Pada autoload.php perlu menambah scriptnya, untuk settingan
pemanggilan database secara otomatis.
Gambar 4.3 setting autoload database
Config.php
Pada config.php hanya perlu mengubah base url nya,ini digunakan untuk
load halaman awal website yang di buat.
Gambar 4.4 setting base url
Database.php
File konfigurasi untuk basis data terdapat didalam direktori
system/application/config dengan nama file database.php. Konfigurasi basis
data di masukkan sesuai dengan aplikasi basis data yang miliki, misalnya
47
digunakan, nama user yang digunakan untuk mengakses basis data beserta
passwordnya.
Gambar 4.5 Setting database
4.3 Menjalankan Codeigniter
Langkah awal yakni pembuatan database dan penentuan tabel tabel yang berada
pada database. Pemahaman konsep MVC ( Model, view, controller ) pada Codeigniter,
misalnya : Bagaimana sebuah view melakukan action ke controller kemudian controller
melalukan pemanggilan model, model melakukan pemanggilan ke database dan di
kembalikan kembali pada controller, dan controller menampilkan hasil pemanggilan
pada view. Berikut adalah langkah langkah pembuatan database dan pemanggilan data
konsep MVC pada framework Codeigniter.
4.3.1 Membuat database
Untuk membuat database, perlu install aplikasi XAMP. Database disini bernama
48
mkul, nilai, tajaran, user. Pada database siamik, gambar databesenya adalah sebagai
berikut:
Gambar 4.6 Gambar Database
4.3.2 Pemanggilan Data Pada Konsep MVC ( Model, View, Controller )
Aplikasi yang di rancang berdasarkan konsep MVC (Model, View, Controller)
akan dibagi menjadi 3 bagian besar yaitu: Model : yang merepresentasikan object yang
menjadi bagian dalam aplikasi secara keseluruhan, View : menampilkan aplikasi melalui
interface yang baik dan sesuai dan Controller: yang bekerja sebagai navigator dalam
aplikasi. Controller mengatur data yang di minta atau di berikan user untuk di proses,
juga dapat melakukan manipulasi data sebelum data di proses lebih lanjut, data apa yang
harus di tampilkan untuk user dengan tampilan. Berikut adalah contoh penerapan
49
Gambar 4.7 Gambar Tampilan View
Pada gambar diatas adalah desain untuk tampilan pada view, untuk menjalankan
action “tambah” pada data mahasiswa di perlukan action script, yaitu sebagai berikut :
<form name"form1" action="../../index.php/siamik/savemhs" method="post">
Script di atas melakukan action pada controller yang berada pada file “siamik”
dan fungsi savemhs. fungsi savemhs dapat di lihat pada script berikut:
function savemhs()
{
if($this->input->post('txtnpm'))
{
$mhs[0]= $this-> input-> post('txtnpm_');
$mhs[1]= $this-> input-> post('txtnamamhs_');
$mhs[2]= $this-> input-> post('jurusan');
$mhs[3]= $this-> input-> post('mk');
$mhs[4]= $this-> input-> post('kls');
50
$sql="insert into mahasiswa
values('$mhs[0]','$mhs[1]','$mhs[2]','$mhs[3]','$mhs[4]','$mhs[5]')";
$Q=$this-> db->query($sql);
$this->load->model('mhsview');//menampilkan data mahasiswa
$data['querys_kls']=$this->mhsview->get_all();
$this->load->view('managekelas',$data);
}
}
Pada script di atas dapat dijelaskan bahwa, proses inputan pada view diproses
pada controller dan controller melakukan pemanggilan pada “model” fungsi get_all ,
dan mengembalikan kembali ke fungsi savemhs, kemudian controller menampilkan
kembali kepada view yakni pada file managekelas.php.
4.4 Desain Interface
Berikut adalah desain interface menu utama yang terdapat pada sistem, pengguna
sistem ini ada delapan yaitu admin, dekan, wakil dekan, dikjar, ketua jurusan, wakil
ketua jurusan, sekretaris jurusan, dosen dan mahasiswa. Admin memiliki hak akses
penuh dalam sistem yakni insert data dosen, insert mata kuliah, insert data mahasiswa,
insert kelas, insert tahun ajaran, insert data user, manage kelas & manage rule. Untuk
dekan, wakil dekan, dikjar, ketua jurusan, wakil ketua jurusan, sekretaris jurusan
mempunya menu yang sama. Untuk dosen dan mahasiswa menu aplikasi sesuai dengan
51
4.4.1 Desain Interface Menu Utama Sistem Pada Admin
Admin memiliki hak akses insert data dosen, insert mata kuliah, insert data
mahasiswa, insert kelas, insert tahun ajaran, insert data user, manage kelas & manage
rule. Berikut desain menu-menu admin:
a. Pada gambar ini menampilkan menu dosen, untuk menginputkan data dosen
bedasarkan jurusan, hanya user level admin yang dapat melakukan proses input
data pada data dosen.
Gambar 4.8 Gambar input data dosen
b. Pada gambar ini menampilkan menu mata kuliah, untuk menginputkan data mata
kuliah bedasarkan jurusan, hanya user level admin yang dapat melakukan proses
input data mata kuliah.
52
c. Pada gambar ini menampilkan menu manage kelas, untuk menginputkan manage
kelas pada Fakultas Teknologi Industri, pada menu manage kelas, terdapat
beberapa menu diantaranya input data mahasiswa, manage kuliah, input kelas,
input tahun ajaran . hanya user level admin yang dapat menggunakan menu ini
untuk mengatur manajemen perkuliahan.
Menu Data Mahasiswa
Menu data mahasiwa berisikan beberapa inputan, diantaranya inputan
NPM, nama mahasiswa, jurusan, mata kuliah, kelas dan tahun ajaran.
Menu data mahasiswa dapat di lihat pada tampilan berikut ini :
Gambar 4.10 Gambar input data mahasiswa
Menu Manage Kuliah
Pada gambar ini terdapat menu untuk mengatur manajemen perkuliahan
pada Fakultas Teknologi Industri, admin menginputkan jurusan, mata
kuliah dan nama dosen yang mengajar mata kuliah. Untuk mata kuliah
dan dosen, admin otomatis hanya memilih data mata kuliah dan data
53
dan tambah mata kuliah. Menu manage kuliah dapat di lihat pada
tampilan berikut ini :
Gambar 4.11 Gambar manage kuliah
d. Pada gambar ini terdapat menu untuk mengatur data data user bedasarkan status
user, dimulai dengan insert id user, password user, status user, nama user dan
jurusan. Untuk status user terdapat delapan jenis user,yakni admin, dekan, wakil
dekan, dikjar, ketua jurusan, wakil ketua jurusan, sekretaris jurusan, dosen dan
mahasiswa, untuk status sebagai dekan, wakil dekan, dikjar, ketua jurusan, wakil
ketua jurusan, sekretaris jurusan, semuanya di atur oleh admin dalam pembagian
rule nya, ada 11 hak akses yang akan di bagi bedasarkan kebutuhan user
pengguna, misalkan Seorang ketua jurusan Teknik Informatika yang juga adalah
seorang dosen, maka hak akses untuk membaca dan melakukan proses update
pada jurusan Teknik Informatika dan dapat melakukan edit nilai pada mata kuliah
yang di ajarkan, maka admin akan melakukan centang pada status readtf, edittf
dan menu dosen. Pada setiap user memungkinkan memiliki jabatan yang sama
tetapi memiliki hak akses yang berbeda, misalkan ketua jurusan Sistem informasi,