Anda di halaman 1dari 53

LAPORAN KERJA PRAKTEK

RANCANG BANGUN APLIKASI PENDAFTARAN SANTRI BARU


BERBASIS WEB DI
PONDOK PESANTREN TUNAS ILMU PURBALINGGA

Disusun sebagai Salah Satu Syarat


Kelengkapan Kurikulum pada Prodi Informatika
Fakultas Teknik dan Sains Universitas Muhammadiyah Purwokerto

Disusun oleh :
Nama : Anggi Restu Perdana
NIM : 1503040098

PROGRAM STUDI INFORMATIKA


FAKULTAS TEKNIK DAN SAINS
UNIVERSITAS MUHAMMADIYAH PURWOKERTO
SEPTEMBER 2019
HALAMAN PENGESAHAN
LAPORAN KERJA PRAKTEK

RANCANG BANGUN APLIKASI PENDAFTARAN SANTRI BARU


PONDOK PESANTREN TUNAS ILMU PURBALINGGA
BERBASIS WEB

Diusulkan Oleh:
Nama : Anggi Restu Perdana
NIM : 1503040098

Telah disetujui
Pada tanggal...........................

Pembimbing

Muhammad Hamka, S.T.,M.Kom.


NIK. 2160671

Mengetahui,
Ketua Program Studi Teknik Informatika

Feri Wibowo, S.Kom., M.Cs.


NIK. 2160523

ii
HALAMAN PERSEMBAHAN

Dalam pelaksanaan kerja praktek dan pembuatan laporan, penyusun tidak


lepas dari bantuan yang berupa fasilitas dan bimbingan secara materiil dan
spiritual. Dengan segala kerendahan hati, serta rasa syukur terhadap Allah SWT
yang telah memberikan rahmat dan nikmat-Nya, maka saya persembahkan
Laporan Kerja Praktek ini kepada :

1. Allah SWT yang senantiasa melimpahkan nikmat dan kasih sayang-Nya.

2. Bapak, Ibu dan saudara tersayang yang memberikan semangat, bimbingan, dan
doanya untuk saya sampai saat ini.

3. Bapak Harjono, ST., M.Eng. selaku Ketua Program Studi Teknik Universitas
Muhammadiyah Purwokerto.

4. Bapak Muhammad Hamka, S.T., M.Kom. selaku dosen pembimbing Kerja


Praktek yang telah memberi arahan, bimbingan dan petunjuk dengan penuh
kesabaran selama kerja praktek ini.

5. Pimpinan Pondok Pesantren Tunas Ilmu Purbalingga yang telah mengijinkan


saya untuk kerja praktek di instansi tersebut.

6. Teman-teman Teknik Informatika tahun angkatan 2015 yang telah memberi


dukungan.

7. Serta semua pihak yang tidak dapat disebutkan satu per satu yang telah
membantu penyusun menyelesaikan laporan ini.

iii
KATA PENGANTARAN

Puji syukur atas kehadirat Allah SWT yang telah melimpahkan rahmat dan
hidayah-Nya kepada penulis, sehingga penulis dapat menyelesaikan Laporan
Kerja Praktek dengan judul “Rancang Bangun Aplikasi Pendaftaran Santri Baru
Berbasis Web di Pondok Pesantren Tunas Ilmu Purbalingga”.

Namun, penulis menyadari laporan kerja praktek ini masih ada hal-hal
yang belum sempurna dan luput dari perhatian. Baik itu dari bahasa yang
digunakan maupun dari teknik penyajiannya. Oleh karena itu, dengan segala
kekurangan dan kerendahan hati, sangat mengharapkan kritik dan saran dari para
pembaca sekalian demi perbaikan laporan ini kedepanya.

Akhir kata, penulis menyadari bahwa penyusunan Laporan Kerja Praktek


ini masih belum sempurna. Oleh karena itu, kritik dan saran yang membangun
sangat diharapkan penulis demi hasil yang lebih baik di masa mendatang. Semoga
penyusunan laporan ini bermanfaat bagi semua pihak.

Purwokerto, September 2019

Anggi Restu Perdana

iv
DAFTAR ISI

HALAMAN PENGESAHAN.................................................................................ii
HALAMAN PERSEMBAHAN.............................................................................iii
KATA PENGANTARAN......................................................................................iv
DAFTAR ISI............................................................................................................v
DAFTAR TABEL..................................................................................................vii
DAFTAR GAMBAR............................................................................................viii
DAFTAR LAMPIRAN...........................................................................................ix
INTISARI.................................................................................................................x
BAB I.......................................................................................................................1
PENDAHULUAN...............................................................................................1
A. Latar Belakang.........................................................................................1
B. Tujuan......................................................................................................2
C. Manfaat....................................................................................................2
D. Waktu dan Tempat Pelaksanaan..............................................................2
BAB II......................................................................................................................3
KAJIAN PUSTAKA............................................................................................3
A. Kajian Pustaka.........................................................................................3
BAB III....................................................................................................................6
GAMBARAN UMUM........................................................................................6
A. Profil Instansi Kerja Praktek...................................................................6
B. Struktur Organisasi..................................................................................7
C. Tujuan dan Fungsi Pokok........................................................................7
BAB IV....................................................................................................................8
METODE PELAKSANAAN..............................................................................8
A. Perencanaan.............................................................................................9
B. Analisis....................................................................................................9
C. Perancangan.............................................................................................9
D. Implementasi.........................................................................................11
E. Pengujian...............................................................................................12
v
F. Pemeliharaan.........................................................................................12
BAB V....................................................................................................................13
HASIL DAN PEMBAHASAN..........................................................................13
BAB VI..................................................................................................................35
PENUTUP..........................................................................................................35
DAFTAR PUSTAKA............................................................................................36
LAMPIRAN...........................................................................................................37

vi
DAFTAR TABEL

Tabel 1. Struktur Tabel Login................................................................................26


Tabel 2. Struktur Tabel Agama..............................................................................26
Tabel 3. Struktur Tabel Baca Quran......................................................................26
Tabel 4. Struktur Tabel Golongan Darah...............................................................26
Tabel 5. Struktur Tabel Info...................................................................................26
Tabel 6. Struktur Tabel Jenis Kelamin...................................................................27
Tabel 7. Struktur Tabel Pendidikan Terakhir.........................................................27
Tabel 8. Struktur Tabel Status Kawin....................................................................27
Tabel 9. Struktur Tabel Tingkat Sekolah Asal.......................................................27
Tabel 10. Struktur Tabel Pendaftaran....................................................................27

vii
DAFTAR GAMBAR

Gambar 1. Struktur Organisasi Pondok Pesantren Tunas Ilmu.............................17


Gambar 2. Model Pengembangan Sistem SDLC...................................................18
Gambar 3. Use Case Diagram...............................................................................20
Gambar 4. Entity Relationship Diagram................................................................21
Gambar 5. Relasi tabel pada database...................................................................25
Gambar 6. Halaman Utama Sistem........................................................................30
Gambar 7. Halaman Form Pendaftaran..................................................................31
Gambar 8. Halaman Untuk Login..........................................................................32
Gambar 9. Halaman Beranda Calon santri.............................................................32
Gambar 10. Halaman Beranda Santri Setelah Mengisi Formulir Pendaftaran......32
Gambar 11. Halaman Beranda Santri Setelah Mengikuti Ujian............................33
Gambar 12. Halaman Formulir Pendaftaran..........................................................33
Gambar 13. Halaman Cetak Kartu Ujian...............................................................33
Gambar 14. Halaman Alur Pendaftaran.................................................................34
Gambar 15. Halaman Edit Profile..........................................................................34
Gambar 16. Halaman Login...................................................................................35
Gambar 17. Halaman Beranda Admin...................................................................35
Gambar 18. Halaman Validasi Peserta..................................................................35
Gambar 19. Halaman Input Nilai Ujian.................................................................36
Gambar 20. Halaman Laporan Peserta Yang Diterima..........................................36
Gambar 21. Halaman Laporan Peserta Yang Ditolak............................................36
Gambar 22. Halaman Data Admin.........................................................................36
Gambar 23. Halaman Data Password Peserta........................................................36

viii
DAFTAR LAMPIRAN

1. Script Controller User........................................................................................47


2. Script Controller Secure.....................................................................................52

ix
INTISARI

Pengolahan data penerimaan santri baru di Pondok Pesantren Tunas Ilmu


Purbalingga masih menggunakan sistem manual, yaitu pendaftar harus datang
langsung ketempat pendaftaran dan mengisi formulir pendaftaran kemudian data-
data pendaftaran dicatat pada buku-buku dan pembuatan laporan juga masih
menggunakan sistem manual sehingga sering terjadi kesalahan, hilangnya arsip
serta waktu yang digunakan untuk membuat laporan memerlukan waktu yang
cukup lama. Dengan adanya permasalahan tersebut maka perlu adanya
pendaftaran santri baru secara online sehingga calon santri tidak harus datang
langsung ketempat pendaftaran, serta memudahkan petugas dalam pembuatan
laporan. Adapun metode yang digunakan dalam penelitian ini yaitu System
Development Life Cycle (SDLC) meliputi tahapan perencanaan, analisis,
perancangan, implementasi, pengujian, pemeliharaan. Hasil dari pembuatan
aplikasi ini yaitu calon santri dapat mengisi form pendaftaran, melihat informasi
yang berkaitan dengan pendaftaran dan melihat pengumuman secara online. Dan
panitia mendapat kemudahan dalam mengelola data calon santri baru. Aplikasi
Pendaftaran Santri Baru diharapkan dapat membantu calon santri baru dan panitia
PSB dalam proses pendaftaran.

Kata kunci : Aplikasi Pendaftaran Santri Baru , PHP, MySQL, Life Cycle.

x
ABSTRACT

Data processing of new Santri reception at Pondok Pesantren Tunas Ilmu


Purbalingga still uses a manual system, registrants must come directly to the
place of registration then recorded on the book and making reports also still
using the manual system so that can make errors often occur,
BAB I

PENDAHULUAN

A. Latar Belakang
Pada saat Penerimaan Santri Baru (PSB), biasanya panitia
kerepotan dengan banyaknya pendaftar yang masuk. Hal ini disebabkan
oleh banyaknya berkas-berkas dalam PSB yang mesti dilengkapi. Selain
itu juga antrian pendaftar yang tidak hanya berasal dari dalam kota, tapi
dari luar kota bahkan luar pulau. Belum lagi banyaknya telepon masuk
menanyakan tentang segala macam yang berhubungan dengan
pendaftaran, seperti tata cara, kelengkapan yang dibutuhkan, dll.

Hal tersebut dikarenakan belum adanya sistem pendaftaran online.


Pendaftar harus datang langsung untuk melakukan proses pendaftaran,
karena beberapa form harus diisi dan ditandatangani langsung oleh
pendaftar. Banyak pendaftar dari luar pulau yang mengalami kesulitan
waktu, tenaga dan finansial untuk datang sendiri dan melakukan proses
pendaftaran.

Bagi administrator, yang paling merepotkan adalah ketika data-


data yang masuk mengalami kesalahan atau tidak sesuai. Hal ini sering
terjadi dikarenakan menumpuknya data yang harus dimasukkan sendiri
oleh administrator, sehingga terjadi human error. Belum adanya sistem
yang bisa menangani error menyebabkan lolosnya banyak kesalahan,
seperti duplikasi data, salah pengetikan, dll.

Berdasarkan pendahuluan yang digambarkan di atas, maka yang


menjadi pokok permasalahannya adalah bagaimana membuat suatu
aplikasi PSB berbasis web. Aplikasi ini harus dapat memberikan informasi
yang detail dan rinci tentang segala hal yang berhubungan dengan
pendaftaran calon santri baru. Aplikasi juga berisi proses PSB secara
online, mulai dari pengisian data, pengolahan data sampai dengan laporan.

1
Demi menjaga keamanan data dibutuhkan adanya pembagian hak akses
juga antara pendaftar, petugas dan admin.

Oleh karena itu untuk membantu kerja bagian pendaftaran,


dibuatlah sebuah aplikasi yang berjudul “RANCANG BANGUN
APLIKASI PENDAFTARAN SANTRI BARU PONDOK
PESANTREN TUNAS ILMU PURBALINGGA BERBASIS WEB”.
Dengan adanya aplikasi tersebut, diharapkan dapat membantu admin dan
petugas pendaftaran santri baru di Pondok Pesantren Tunas Ilmu
Purbalingga.

B. Tujuan
Tujuan yang ingin dicapai yaitu Membuat Aplikasi Pendaftaran
Santri Baru Pondok Pesantren Tunas Ilmu Purbalingga untuk membantu
proses pendaftaran santri baru yang terkomputerisasi sehingga
mempermudah calon santri baru melakukan pendaftaran dan petugas
pendaftaran untuk memperoleh informasi dengan tepat, akurat dan cepat.

C. Manfaat

Adapun manfaatnya yaitu :


1. Mempermudah proses pengolahan data pendaftaran calon santri baru.
2. Ketersediaan data pendaftaran calon santri baru yang dapat digunakan
sewaktu-waktu.
3. Mepermudah peserta pendaftaran dalam melakukan pendaftaran tanpa
perlu datang ketempat pendaftaran.
4. Mengurangi redudansi (pengulangan) data yang tidak perlu.

D. Waktu dan Tempat Pelaksanaan


Waktu : September 2018 – Desember 2018

Tempat : Pondok Pesantren Tunas Ilmu desa Kedungwuluh,

Purbalingga

2
BAB II

KAJIAN PUSTAKA

A. Kajian Pustaka
1. Rancang

Perancangan atau rancang merupakan serangkaian prosedur untuk


menterjemahkan hasil analisa dan sebuah sistem ke dalam bahasa
pemrograman untuk mendeskripsikan dengan detail bagaimana
komponen-komponen sistem di implementasikan. (Pressman, 2005)

2. Bangun

Pengertian pembangunan atau bangun sistem adalah kegiatan


menciptakan sistem baru maupun mengganti atau memperbaiki sistem
yang telah ada secara keseluruhan. (Pressman, 2005)

Jadi dapat disimpulkan bahwa Rancang Bangun adalah


penggambaran, perencanaan, dan pembuatan sketsa atau pengaturan
dari beberapa elemen yang terpisah kedalam suatu kesatuan yang utuh
dan berfungsi. Dengan demikian pengertian rancang bangun
merupakan kegiatan menerjemahkan hasil analisa ke dalam bentuk
paket perangkat lunak kemudian menciptakan sistem tersebut atau
memperbaiki sistem yang sudah ada.

3. Aplikasi

Aplikasi adalah suatu subkelas perangkat lunak komputer yang


memanfaatkan kemampuan komputer langsung untuk melakukan
suatu tugas yang diinginkan. Biasanya dibandingkan dengan
perangkat lunak sistem yang mengintegrasikan berbagai kemampuan
komputer, tetapi secara tidak langsung menerapkan kemampuan
tersebut untuk mengerjakan suatu tugas yang menguntungkan
pengguna. (Suropati, 2012).

3
4. Web

Web dapat diartikan sebagai kumpulan halaman yang


menampilkan informasi data teks, data gambar diam atau gerak, data
animasi, suara, video, dan atau gabungan dari semuanya baik yang
bersifat statis maupun dinamis yang membentuk suatu rangkaian
bangunan yang saling terkait dimana masing-masing dihubungkan
dengan jaringan halaman (Hyperlink).

5. Pondok Pesantren

Pesantren dapat dipahami sebagai lembaga pendidikan dan


pengajaran agama, umumnya dengan cara nonklasikal, di mana
seorang kiai mengajarkan ilmu agama Islam kepada santri-santri
berdasarkan kitab-kitab yang ditulis dalam bahasa Arab oleh Ulama
Abad pertengahan, dan para santrinya biasanya tinggal di pondok
(asrama) dalam pesantren tersebut. ( Sudjono Prasodjo, 1982)

6. Database
Database adalah kumpulan data yang saling berhubungan yang
disimpan secara bersama sedemikian rupa dan tanpa pengulangan
(redudancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan
(Fathansyah, 2007).
Beberapa tujuan lain penggunaan database seperti :
a. Mencegah redundansi (pengulangan) data yang tidak perlu.
b. Isolasi data untuk standarisasi.
c. Multi-player user (banyak pemakai).
d. Masalah keamanan.
e. Masalah kebebasan data (security).
f. Membentuk hubungan antara item data.
g. Kesulitan mengakses data.

4
h. Dilakukannya pengembangan aplikasi.
i. Keakuratan dan kelengkapan data.
j. Pengamanan data dari orang yang tidak berkepentingan.
k. Kebersamaan pemakaian data.

Membangun database itu sendiri adalah langkah awal dari


pembuatan sebuah aplikasi. Konsep manajemen database adalah
konsep-konsep yang dipakai dalam membangun sebuah database.
Konsep inilah yang mempengaruhi keberhasilan dalam membangun
suatu database (Pohan, 1997).

7. MySQL

Menurut Raharjo (2011:21), ”MySQL merupakan RDBMS (atau


server database) yang mengelola database dengan cepat menampung
dalam jumlah sangat besar dan dapat diakses oleh banyak user”.

8. PHP

PHP (Hypertext PreProcessor) adalah bahasa komputer/bahasa


pemrograman/koding/script yang digunakan untk mengolah data dari
server untuk ditampilkan di website.

PHP digunakan untuk membuat website dinamis. Dalam


penggunaan murninya, kode-kode PHP disisipkan diantara kode
HTML. Secara default, dukumen PHP memiliki ekstensi (.php).

5
BAB III

GAMBARAN UMUM

A. Profil Instansi Kerja Praktek

Nama Instansi : Pondok Pesantren Tunas Ilmu

Alamat : Kedungwluh RT08/RW02, Kalimanah,

Purbalingga

Nama Kepala Instansi : Abdullah Zaen, Lc.,M.A.

Ijin Operasional : SK Menteri Hukum dan Hak Asasi Manusia RI

No: AHU-3926.AH.01.04.Tahun 2010

Visi
Menjadi pondok pesantren dalam melahirkan intelektual muslim
Ahlussunnah yang profesional dan berkemajuan.

Misi

1. Menyelenggarakan pendidikan dan pengajaran yang unggul dalam


bidang Studi Islam dengan menitik beratkan pada metode berfikir
secara kritis dan ilmiah, berlandaskan Al-Quran dan As Sunnah selaras
dengan pemahaman ahlusunnah wal jama’ah.
2. Melakukan penelitian dan pengkajian tentang keilmuan Islam yang
tengah berkembang di masyarakat dalam skala regional dan nasional.
3. Melaksanakan pengabdian kepada masyarakat berdasarkan hasil
pendidikan, pengajaran dan penelitian terhadap nilai-nilai Islam.
4. Menyediakan dan meningkatkan kualitas dan kuantitas sumber daya
manusia yang dapat mendukung proses pendidikan secara maksimal.

6
E. Struktur Organisasi

Gambar 1. Struktur Organisasi Pondok Pesantren Tunas Ilmu

F. Tujuan dan Fungsi Pokok

Pondok Pesantren “Tunas Ilmu”, yang diselenggarakan oleh Yayasan


Islam Tunas Ilmu Purbalingga dengan SK Menteri Hukum dan Hak Asasi
Manusia RI No: AHU-3926.AH.01.04.Tahun 2010, melalui program
pendidikan intensif selama 3 tahun dan praktek dakwah lapangan selama 1
tahun, berkomitmen tinggi mengantarkan para santri untuk menjadi
seorang ulama sebagai pewaris para nabi yang mewarisi ilmu, akhlaq dan
semangat dakwahnya.

7
BAB IV

METODE PELAKSANAAN

Metode pelaksanaan yang dilakukan dalam kerja praktek ini menggunakan


metode pengembangan System Development Life Cycle (SDLC). Metode siklus
pengembangan sistem atau yang sering disebut juga dengan siklus hidup sistem
merupakan proses pembuatan dan pengubahan sistem serta model dan metodologi
yang digunakan untuk mengembangkan sistem - sistem tersebut. Dalam rekayasa
perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi
pengembangan perangkat lunak. Metodologi - metodologi ini membentuk suatu
kerangka kinerja untuk perencanaan dan pengendalian pembuatan sistem
informasi, yaitu proses pengembangan perangkat lunak dan umumnya merujuk
pada sistem komputer atau informasi. Tahapan dari pengembangan sistem dengan
metode SDLC diantaranya sebagai berikut :

Perencanaan

Analisis

Perancangan

Implementasi

Pengujian

Pemeliharaan

Gambar 2. Model Pengembangan Sistem SDLC

8
A. Perencanaan
Pada fase ini dilakukan identifikasi masalah, konfirmasi kelayakan
proyek, pengumpulan data-data yang diperlukan untuk pembangunan dan
proses pengembangan sebuah proyek.

B. Analisis
Analisis yang dilakukan yaitu mengumpulkan kebutuhan data,
kemudian dianalisa kelayakannya untuk dijadikan metode dalam
pengembangan sistem. Selain itu hal yang dilakukan adalah menganalisis
sistem yang telah berjalan di Pondok Pesantren Tunas Ilmu Kedungwuluh
Purbalingga. Sistem yang akan dibangun meliputi master data pendaftar
santri baru.

C. Perancangan
Kegiatan yang dilakukan dalam proses perancangan sistem adalah
menentukan arsitektur sistem secara keseluruhan. Perancangan sistem
melibatkan desain sistem ini yang nantinya akan di implementasikan.

a. Perancangan aplikasi
Data – data yang telah terkumpul melalui observasi,
wawancara, dan dokumen lalu dianalisa data apa saja yang benar –
benar dibutuhkan dalam alur kerja pembuatan sistem aplikasi,
kemudian dirancang menggunakan use case diagram untuk
mengetahui apa saja yang dilakukan admin dalam menjalankan sistem
adalah sebagai berikut :

9
Melakukan Pendaftaran

Melengkapi Formulir
Pendaftaran

Mencetak Kartu
Pendaftaran

Mengubah Password

<<extend>>

Validasi Calon Santri <<extend>>


CALON
SANTRI <<extend>>

Mengelola Nilai Seleksi <<extend>>

<<extend>>
Memperbaharui Biodata
Peserta <<extend>>

<<extend>>
Login
Mencetak Laporan
Pendaftaran
<<extend>>

Mencetak Laporan <<extend>>


Peserta yang Diterima
<<extend>>
ADMIN
Mencetak Laporan <<extend>>
Peserta yang Ditolak
<<extend>>

Mencetak Hasil Seleksi

Mengelola Data Admin

Mengelola Password
Peserta

Logout

Gambar 3. Use Case Diagram.

Keterangan Use Case Diagram :

Admin : admin berwenang untuk melakukan pengelolaan informasi


pendaftaran, mengelola data calon santri, melihat informasi pendaftaran,
melihat status kelulusan, dan menginput status kelulusan.

Calon Santri : berwenang untuk melihat informasi pendaftaran, melihat


status kelulusan, mengisi dan mengubah data calon santri.

10
b. Perancangan database

Dalam merancang sebuah sistem, database merupakan salah satu


komponen utama yang akan diolah dan dijadikan informasi. Perancangan
database sendiri dalam sistem ini akan dibuat dengan menggunakan Entity
Relationship Diagram (ERD). Karena ERD ini salah satu bentuk
pemodelan basis data yang sering digunakan dalam pengembangan sistem
informasi. Berikut diagram ER sistem yang akan dibangun.

Gambar 4. Entity Relationship Diagram

G. Implementasi

Fase implementasi meliputi :


a. Membangun komponen – komponen perangkat lunak.
 Pembuatan database sesuai skema rancangan.
 Pembuatan aplikasi berdasarkan desain sistem.
b. Melakukan pengujian dan perbaikan aplikasi (debugging).

11
c. Melakukan training user dan mendokumentasikan sistem.

H. Pengujian
Setelah aplikasi di implementasikan kemudian dilakukan tahap uji
coba (testing). Uji coba dimaksudkan untuk menguji semua elemen –
elemen aplikasi yang dibuat, apakah sudah sesuai dengan yang diharapkan
oleh pengguna.

I. Pemeliharaan

Pada fase pemeliharaan ini dilakukan beberapa kegiatan meliputi :


a. Memperbaiki desain dan error pada program.
b. Memodifikasi sistem untuk beradaptasi dengan perubahan lingkungan
dan kebutuhan.
c. Melibatkan sistem untuk menyelesaikan masalah.
d. Menjaga sistem dari kemungkinan masalah dimasa yang akan datang.

12
BAB V

HASIL DAN PEMBAHASAN

A. Tujuan Pengembangan Sistem

Tujuan pengembangan sistem pada pembuatan aplikasi pendaftaran santri baru ini
adalah untuk membantu peserta dalam melakukan pendaftaran santri baru di
Pondok Pesantren Tunas Ilmu Purbalingga yang sebelumnya semua data disimpan
dalam lembaran kertas dan kurang terorganisir. Dengan adanya sistem informasi
ini diharapkan dapat membantu dalam menangani permasalahan yang ada.

B. Analisis Kebutuhan

Aplikasi Pendaftaran Calon santri Baru ini memiliki beberapa kebutuhan


dalam proses penerapannya :

1. Kebutuhan Fungsional
Kebutuhan fungsional berisi informasi-informasi apa saja yang harus ada
dan dihasilkan oleh sistem.
a. Admin
1) Admin dapat memvalidasi pendaftaran peserta
2) Admin dapat mengelola pengumuman penerimaan
3) Admin dapat memperbaharui biodata peserta
4) Admin dapat mencetak laporan data santri yang diterima
5) Admin dapat mencetak laporan data santri yang ditolak
6) Admin dapat mengubah password
7) Admin dapat menambah, mengubah, dan menghapus data admin
8) Admin dapat mengelola data password peserta

b. Calon santri Baru

1) Dapat melakukan pendaftaran


2) Dapat melengkapi formulir pendaftaran
3) Dapat mencetak kartu ujian peserta

13
4) Dapat mencetak hasil seleksi
5) Dapat mengubah password
2. Kebutuhan Non-fungsional
a. Pada kebutuhan /non-fungsional ini meliputi perangkat keras
(Hardware) dan perangkat lunak (Software), meliputi hal sebagai
berikut :
1) Software Pendukung
a) Sistem Operasi Microsoft Windows 10
b) Web Browser (Google Chrome)
c) MySQL
d) XAMPP
e) Adobe Dreamweaver CS5

2) Hardware Pendukung
a) PC dengan processor i3 atau lebih tinggi.
b) VGA dengan resolusi 1024 x 760 atau lebih tinggi dan
mendukung Microsoft Windows.
c) RAM 2.00 GB atau lebih tinggi.

3. Keamanan
Keamanan dilengkapi dengan password pada aplikasi maupun database-
nya serta mempunyai hak akses yang berbeda antara admin dan calon
santri.

4. Kinerja sistem yang berjalan


1) Untuk melakukan proses pendaftaran membutuhkan waktu sekitar 15
menit karena harus mendatangi kampus.

2) Untuk melakukan proses pengisian formulir pendaftaran membutuhkan


waktu sekitar 15 menit.

5. Kinerja sistem yang diusulkan


1) Untuk melakukan proses pendaftaran atau registrasi membutuhkan
waktu sekitar 1 menit.

14
2) Untuk melakukan proses login membutuhkan waktu sekitar 30 detik.
3) Untuk melakukan proses mengisi formulir pendaftaran membutuhkan
waktu sekitar 10 menit.
4) Untuk melakukan proses cetak kartu ujian membutuhkan waktu sekitar
1 menit.

5) Untuk melakukan proses cetak hasil seleksi membutuhkan waktu 1


menit.

C. Perancangan Logika/Objek
1. Relasi Database
Relasi merupakan hubungan yang terjadi pada suatu tabel dengan tabel
lainnya yang berfungsi untuk mengatur operasi suatu database. Hubungan
atau relasi data biasanya ditunjukkan dengan kunci (key) dari tiap file yang
ada. Data merupakan fakta atau nilai (value) yang tercatat atau
merepresentasikan deskripsi dari suatu objek.

Gambar 5. Relasi tabel pada database

Primary key merupakan kolom spesial dimana tiap baris memiliki isi dari
primary key yang berbeda - beda. Sedangkan foreign key merupakan
penghubung antara tabel satu dan tabel dua.

15
Tabel 1. Struktur Tabel Login
Nama Field Type

login_id int(11)

nama_admin varchar(50)

Username varchar(50)

Password varchar(255)

Tabel 2. Struktur Tabel Agama


Nama Field Type
agama_id int(5)
agama_nama varchar(50)

Tabel 3. Struktur Tabel Baca Quran


Nama Field Type
baca_id int(5)
baca_nama varchar(50)

Tabel 4. Struktur Tabel Info


Nama Field Type
info_id int(5)
info_nama varchar(50)

Tabel 5. Struktur Tabel Jenis Kelamin


Nama Field Type
jk_id int(5)
jk_nama varchar(50)

16
Tabel 6. Struktur Tabel Pendidikan Terakhir
Nama Field Type
pendidikan_id int(5)
pendidikan_nama varchar(50)

Tabel 7. Struktur Tabel Status Kawin

Nama Field Type


status_kawin_id int(5)
status_kawin_nama varchar(50)

Tabel 8. Struktur Tabel Tingkat Sekolah Asal


Nama Field Type
asal_id int(5)
asal_nama varchar(50)

Tabel 9. Struktur Tabel Pendaftaran


Nama Field Type
pendaftaran_id int(255)
nopen varchar(50)
tgl_daftar Date
gelombang_id int(11)
nama varchar(100)
gol_id int(11)
tempat_lahir varchar(50)
tgl_lahir Date
agama_id int(11)
jk_id int(10)

17
Alamat varchar(200)
no_telp varchar(20)
Email varchar(50)
Prestasi varchar(100)
status_kawin_id int(11)
mhs_pekerjaan varchar(100)
nama_instansi varchar(50)
alamat_instansi varchar(20)
Jabatan varchar(50)
asal_id int(11)
nama_sekolah varchar(50)
tahun_lulus varchar(10)
Jurusan varchar(20)
no_ijazah varchar(20)
info_id int(11)
baca_id int(11)
nama_ortu varchar(50)
tempat_lahir_ortu varchar(50)
tgl_lahir_ortu Date
agama_ortu_id int(11)
pendidikan_terakhir_ortu_i int(11)
d
Hubungan varchar(50)
pekerjaan_ortu varchar(50)
nama_instansi_ortu varchar(50)
alamat_instansi_ortu varchar(200)
tempat_tinggal_ortu varchar(100)
Foto varchar(50)
scan_ijazah varchar(100)
scan_daftar_nilai varchar(100)
scan_ktp varchar(10)
status_diterima varchar(5)
diterima_pada_prodi varchar(100)
Password varchar(100)

18
D. Hasil

Hasil Aplikasi Pendaftaran Calon santri Baru ini diimplementasikan untuk dua
pengguna, yaitu admin dan calon santri.

1) Calon santri

Gambar 6. Halaman Utama Sistem

Pada gambar diatas merupakan gambar utama saat awal calon


santri baru akan melakukan pendaftaran. Pada halaman utama sistem
seperti pada gambar, terdapat 4 pilihan menu yaitu, menu home, menu
daftar, menu login, dan menu alur pendaftaran. Sebelum melakukan
pendaftaran calon santri tersebut dapat melihat alur pendaftaran. Jika calon
santri tersebut akan mendaftar, calon santri memilih button Daftar
Sekarang atau memilih menu daftar.

19
Gambar 7. Halaman Form Pendaftaran

Dihalaman ini calon santri harus melakukan pendaftaran akun


dengan mengisikan nama lengkap, jenis kelamin, tanggal lahir, alamat dan
email untuk mendapatkan username dan password. Setelah melakukan
pendaftaran, calon santri menunggu verifikasi akun dalam waktu 10 menit
untuk mendapatkan notifikasi bahwa pendaftaran telah berhasil. Jika sudah
terverifikasi maka calon santri mengecek di folder spam email untuk
melihat username dan password yang telah dikirim. Setelah itu username
dan password tersebut digunakan untuk login dan melengkapi formulir
pendaftaran PSB.

20
Gambar 8. Halaman Untuk Login

Sebelum masuk ke halaman beranda sistem, calon santri harus


melakukan login terlebih dahulu. Setelah mendapatkan username dan
password melalui email, calon santri memasukkan username dan password
yang sudah dikirimkan melalui email untuk login ke halaman beranda
calon santri. Jika username dan password tidak sesuai maka proses login
tidak berjalan. Bagi calon santri yang belum memiliki akun harus terlebih
dahulu melakukan registrasi akun. Setelah diverifikasi, akun tersebut bisa
digunakan.

Gambar 9. Halaman Beranda Calon santri

Setelah menginputkan username dan password, calon santri masuk


ke halaman beranda calon santri yang didalamnya terdapat menu formulir
pendaftaran. Selanjutnya calon santri harus melengkapi formulir
pendaftaran dengan memilih menu formulir pendaftaran.

Gambar 10. Halaman Beranda Calon santri Setelah Mengisi Formulir Pendaftaran

21
Setelah melengkapi formulir pendaftaran terdapat menu cetak kartu
ujian. Kartu ujian tersebut sebagai tanda bukti bahwa pendaftar tersebut
sudah melakukan pendaftaran dan harus dibawa oleh calon santri untuk
mengikuti ujian tertulis di Pondok Pesantren Tunas Ilmu Purbalingga.

Gambar 11. Halaman Beranda Calon santri Setelah Mengikuti Ujian Tertulis di
Pondok Pesantren Tunas Ilmu Purbalingga

Dan setelah mengikuti ujian tertulis yang dilakukan di Pondok


Pesantren Tunas Ilmu Purbalingga maka halaman beranda tersebut
menampilkan cetak hasil seleksi yang dapat digunakan oleh calon santri
untuk melihat hasil seleksi ujian tertulis yang sudah dilaksanakan oleh
calon santri.

Gambar 12. Halaman Formulir Pendaftaran

Kemudian calon santri akan melengkapi formulir pendaftaran


dengan mengisi jalur pendaftaran, data calon santri, data pekerjaan calon
santri, data sekolah asal, data orang tua, dan upload berkas-berkas
persyaratan diantaranya yaitu foto, ijazah terakhir, daftar nilai dan ktp.

Gambar 13. Halaman Cetak Kartu Ujian

Halaman cetak kartu ujian digunakan untuk mengikuti seleksi ujian


tertulis yang dilakukan di Pondok Pesantren Tunas Ilmu Purbalingga.

22
Gambar 28. Halaman Cetak Hasil Seleksi
Halaman cetak hasil seleksi digunakan untuk melihat keterangan
kelulusan dari hasil ujian tertulis yang telah dilaksanakan di Pondok
Pesantren Tunas Ilmu Purbalingga oleh calon santri baru. Jika calon santri
yang diterima akan muncul rincian biaya yang harus dibayarkan sesuai
dengan gelombang pendaftaran.

Gambar 14. Halaman Alur Pendaftaran

Pada halaman alur pendaftaran tercantum beberapa tahapan


pelaksanaan pendaftaran yang harus dilakukan oleh caloh calon santri
baru.

23
Gambar 15. Halaman Edit Profile

Pada halaman edit profile ini calon santri dapat mengganti


password baru sesuai keinginan.

2) Admin

Gambar 16. Halaman Login

Sebelum masuk ke halaman beranda sistem, pengguna harus


melakukan login terlebih dahulu. Pengguna harus memasukkan username
dan password yang sesuai untuk bisa melakukan login ke sistem, jika
username dan password tidak sesuai maka proses login tidak berjalan.

Gambar 17. Halaman Beranda Admin

Pada halaman beranda admin ini terdapat beberapa menu, seperti


validasi peserta ujian, input nilai ujian, cari data pendaftar, laporan prodi
& gelombang, laporan peserta yang diterima, laporan peserta yang ditolak,

24
data admin dan data password peserta. Yang masing-masing memiliki
fungsi sendiri.

Gambar 18. Halaman Validasi Peserta

Pada halaman validasi peserta ujian ini untuk menampilkan data


peserta yang akan divalidasi untuk mengikuti ujian.

Gambar 19. Halaman Input Nilai Ujian

Pada halaman input nilai ujian ini untuk memasukkan nilai hasil
ujian yang telah diikuti oleh calon santri.

Gambar 20. Halaman Laporan Peserta Yang Diterima

Pada halaman laporan peserta yang diterima ini untuk melihat dan
mencetak laporan peserta yang diterima di Pondok Pesantren Tunas Ilmu
Purbalingga.

Gambar 21. Halaman Laporan Peserta Yang Ditolak

Pada halaman laporan peserta yang diterima ini untuk melihat dan
mencetak laporan peserta yang ditolak di Pondok Pesantren Tunas Ilmu
Purbalingga

Gambar 22. Halaman Data Admin

Pada halaman data admin ini untuk menambah, mengubah dan


menghapus data admin lainnya yang dapat dilakukan oleh admin.

25
Gambar 23. Halaman Data Password Peserta

Pada halaman data password peserta ini untuk mengubah


password peserta yang dapat dilakukan oleh admin.

26
E. Pengujian

Pengujian Pendaftaran
Pengujian Pendaftaran adalah sebagai berikut :

Tabel 23. Pengujian Pendaftaran

Kasus dan Hasil Uji (Data Normal)


Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Pendaftaran Pengisian Data diisi sesuai Data pada sistem Diterima
Data dengan form yang terisi
tersedia

Penyimpanan Data yang Data tersimpan ke Diterima


Data diisikan di dalam database
simpan ke dalam
Klik tombol database
DAFTAR

3) Pengujian Login
Pengujian Login adalah sebagai berikut :

Tabel 24. Pengujian Login Admin


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Login Username : Menampilkan Menu beranda Diterima
nadia beranda admin admin tampil
Password :
240298

Klik tombol
Login
Kasus dan Hasil Uji (Data Salah)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Login Username : Menampilkan Pesan peringatan Diterima
nadia pesan peringatan tampil
Password :

27
99000

Klik tombol
Login

Tabel 25. Pengujian Login Calon santri Baru


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Login Username : Menampilkan Menu beranda Diterima
180001 beranda calon calon santri baru
Password : santri baru tampil
20180411

Klik tombol
Login
Kasus dan Hasil Uji (Data Salah)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Login Username : Menampilkan Pesan peringatan Diterima
180001 pesan peringatan tampil
Password :
000999

Klik tombol
Login

4) Pengujian Pengubahan Password


Pengujian Pengubahan Password adalah sebagai berikut :

Tabel 26. Pengujian Pengubahan Password


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan

Pengubahan Perubahan Data dapat diubah Data pada Diterima


Password Data hingga data lama database
dapat dirubah berubah
menjadi data yang
baru

28
Penyimpanan Data yang diubah Data tersimpan Diterima
Data di simpan ke ke dalam
dalam database database

5) Pengujian Pengisian Formulir Pendaftaran


Pengujian Pengisian Formulir Pendaftaran adalah sebagai berikut :

Tabel 27. Pengujian Pengisian Formulir Pendaftaran


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Pengisian Pengisian Data diisi dan Data pada Diterima
Formulir Data dilengkapi sesuai sistem terisi
Pendaftaran dengan form yang
tersedia
Penyimpanan Data yang diisikan Data tersimpan Diterima
Data di simpan ke dalam ke dalam
database database
Klik tombol
Simpan Data

6) Pengujian Cetak Kartu Ujian Peserta


Pengujian Cetak Kartu Ujian Peserta adalah sebagai berikut :

Tabel 28. Pengujian Cetak Kartu Ujian Peserta

Kasus dan Hasil Uji (Data Normal)


Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Cetak Klik menu Cetak Data Data Diterima
Kartu Ujian Kartu Ujian menampilkan menampilkan
Peserta
Mencetak Kartu
Ujian

7) Pengujian Validasi Peserta Ujian


Pengujian Validasi Peserta Ujian adalah sebagai berikut :

29
Tabel 29. Pengujian Validasi Peserta Ujian

Kasus dan Hasil Uji (Data Normal)


Proses Sub Proses Hasil yang diharapkan Hasil yang Status
didapatkan
Validasi Pencarian Data yang dicari dapat Data ditemukan Diterima
Peserta Data ditemukan berdasarkan
Ujian kata kunci yang
dimasukkan
Detail Data Data yang dipilih akan Data yang Diterima
tampil secara lengkap dipilih tampil
secara lengkap
Penambahan Data masuk ke dalam Data masuk ke Diterima
Data database dalam database
Penyimpanan Data baru di simpan ke Data masuk ke Diterima
Data dalam database dalam database

8) Pengujian Perbaharuan Biodata Peserta


Pengujian Perbaharuan Biodata Peserta adalah sebagai berikut :

Tabel 31. Pengujian Perbaharuan Biodata Peserta

Kasus dan Hasil Uji (Data Normal)


Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Perbaharua Pencarian Data yang dicari Data Diterima
n Biodata Data dapat ditemukan ditemukan
Peserta berdasarkan kata
kunci yang
dimasukkan
Perubahan Data dapat diubah Data pada Diterima
Data hingga data lama database
dapat dirubah berubah
menjadi data yang
baru

30
9) Pengujian Cetak Laporan
Pengujian Cetak Laporan adalah sebagai berikut :

Tabel 32. Pengujian Cetak Laporan


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Cetak Pencarian Data Data yang dicari Data Diterima
Laporan dapat ditemukan ditemukan
berdasarkan kata
kunci yang
dimasukkan
Klik tombol
Unduh Laporan

10) Pengujian Cetak Hasil Seleksi


Pengujian Cetak Hasil Seleksi adalah sebagai berikut :

Tabel 33. Pengujian Cetak Hasil Seleksi


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Cetak Hasil Klik menu Cetak Data Data Diterima
Seleksi Hasil Seleksi menampilkan menampilkan
hasil seleksi
Mencetak Hasil
Seleksi

31
11) Pengujian Pengelolaan Data Admin
Pengujian Pengelolaan Data Admin adalah sebagai berikut :

Tabel 34. Pengujian Pengelolaan Data Admin


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Pengelolaan Penambahan Data masuk ke Data masuk ke Diterima
Data Admin Data dalam database dalam database
Penyimpanan Data baru di simpan Data masuk ke Diterima
Data ke dalam database dalam database
Perubahan Data dapat diubah Data pada Diterima
Data hingga data lama database
dapat dirubah berubah
menjadi data yang
baru
Penghapusan Data dapat dihapus Data pada Diterima
Data pada database database
terhapus

12) Pengujian Pengelolaan Password Peserta


Pengujian Pengelolaan Password Peserta adalah sebagai berikut :

Tabel 35. Pengujian Pengelolaan Password Peserta


Kasus dan Hasil Uji (Data Normal)
Proses Sub Proses Hasil yang Hasil yang Status
diharapkan didapatkan
Pengelolaan Perubahan Data dapat diubah Data pada Diterima
Password Data hingga data lama database
Peserta dapat dirubah berubah
menjadi data yang
baru
Penyimpanan Data baru di simpan Data masuk ke Diterima
Data ke dalam database dalam database

13) Pengujian Logout


Pengujian Logout adalah sebagai berikut :

Tabel 36. Pengujian Logout


Kasus dan Hasil Uji (Data Normal)

32
Proses Sub Proses Hasil yang diharapkanHasil yang Status
didapatkan
Logout Keluar dari Dapat keluar aplikasi Menampilkan Diterima
aplikasi menuju halaman utama halaman utama
system sistem

33
BAB VI

PENUTUP

A. Kesimpulan
Berdasarkan penjelasan dari indentifikasi dan rumusan masaah yang
telah dikemukakan sebelumnya, maka dapat disimpulkan bahwa telah
terbangun “Rancang Bangun Aplikasi Pendaftaran Santri Baru Pondok
Pesantren Tunas Ilmu Purbalingga Berbasis Web” proses PSB ini akan
merubah sistem manual yang dahulunya menggunakan manual tertulis kini
menggunakan sistem online yang mana mempermudah dan mempercepat
proses pendaftaran dan membuantu panitia PSB meningkatkan kinerja
dalam pendaftaran PSB dengan mudah dan cepat.

B. Saran
Sistem ini membutuhkan pengembangan lebih lanjut, adapun saran
untuk pengembangannya yaitu:

1. Aplikasi ini dapat dikembangkan lagi dengan Computer Based Test


(CBT) dalam pelaksanaan ujian saringan masuknya.
2. Mengingat banyak dan pentingnya data yang tersimpan dalam
database, demi keamanan data maka perlu dibuat file duplikat (file
cadangan).
3. Untuk memaksimalkan pemakaian dan kelancaran penggunaan
aplikasi, diharapkan pemakai dapat memahami kegunaan aplikasi
tersebut.

34
DAFTAR PUSTAKA

Emi, suropati. 2012. Pengertian Aplikasi, http://emi-


suropati.blogspot.com/2012/11/definisi-dan-pengertian-aplikasi-dan-
5.html, diakses tanggal 5 September 2018.

Enterprise, Jubilee. 2015. “Membuat Website PHP dengan Codeigniter”.


Jakarta:PT.Elex. Media Komputindo.

Enterprise, Jubilee. 2015. “Mengenal PHP menggunakan Framework


Laravel”. Jakarta:PT. Elex Media Komputindo.

Kadir, A. 2010. “From Zero to a Pro Membuat Aplikasi Laporan


Menggunakan PHP”. Yogyakarta:ANDI.

Nugroho, B. 2009. “Aplikasi Pemrograman Web Dinamis Dengan PHP dan


MySql”. Yogyakarta: Gava Media.

Pressman, R.,S. 2005. “Software Engineering”. New York:McGrawHill.

Syuhada, I. 2015. “Inspirasi Codeigniter”. Jakarta: PT.Elex. Media


Komputindo.

35
LAMPIRAN

1. Script Controller User


<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class User extends MY_Controller
{
public function index()
{
$level = $this->session->userdata('ap_level');
if($level !== 'admin')
{
exit();
}
else
{
$this->load->view('user/user_data');
}
}

public function user_json()


{
$this->load->model('m_user');

$requestData = $_REQUEST;
$fetch = $this->m_user-
>fetch_data_user($requestData['search']['value'], $requestData['order'][0]['column'],
$requestData['order'][0]['dir'], $requestData['start'], $requestData['length']);

$totalData = $fetch['totalData'];
$totalFiltered = $fetch['totalFiltered'];
$query = $fetch['query'];

$data = array();
foreach($query->result_array() as $row)
{
$nestedData = array();

$nestedData[] = $row['nomor'];
$nestedData[] = $row['username'];
$nestedData[] = $row['nama'];
$nestedData[] = $row['level_akses'];
$nestedData[] = $row['status'];
$nestedData[] = "<a href='".site_url('user/edit/'.
$row['id_user'])."' id='EditUser'><i class='fa fa-pencil'></i> Edit</a>";

if($row['label'] !== 'admin')


{
$nestedData[] = "<a href='".site_url('user/hapus/'.
$row['id_user'])."' id='HapusUser'><i class='fa fa-trash-o'></i> Hapus</a>";
}

if($row['label'] == 'admin')
{
$nestedData[] = '';
}

$data[] = $nestedData;
}

$json_data = array(
"draw" => intval( $requestData['draw'] ),
"recordsTotal" => intval( $totalData ),
"recordsFiltered" => intval( $totalFiltered ),
"data" => $data

36
);

echo json_encode($json_data);
}

public function hapus($id_user)


{
$level = $this->session->userdata('ap_level');
if($level !== 'admin')
{
exit();
}
else
{
if($this->input->is_ajax_request())
{
$this->load->model('m_user');
$hapus = $this->m_user->hapus_user($id_user);
if($hapus)
{
echo json_encode(array(
"pesan" => "<font color='green'><i
class='fa fa-check'></i> Data berhasil dihapus !</font>
"));
}
else
{
echo json_encode(array(
"pesan" => "<font color='red'><i
class='fa fa-warning'></i> Terjadi kesalahan, coba lagi !</font>
"));
}
}
}
}

public function tambah()


{
$level = $this->session->userdata('ap_level');
if($level !== 'admin')
{
exit();
}
else
{
if($_POST)
{
$this->load->library('form_validation');
$this->form_validation-
>set_rules('username','Username','trim|required|max_length[40]|
callback_exist_username[username]|alpha_numeric');
$this->form_validation-
>set_rules('password','Password','trim|required|max_length[60]');
$this->form_validation->set_rules('nama','Nama
Lengkap','trim|required|max_length[50]|alpha_spaces');

$this->form_validation->set_message('required','%s harus
diisi !');
$this->form_validation->set_message('exist_username','%s
sudah ada di database, pilih username lain yang unik !');
$this->form_validation->set_message('alpha_spaces', '%s
harus alphabet');
$this->form_validation->set_message('alpha_numeric', '%s
Harus huruf / angka !');

if($this->form_validation->run() == TRUE)
{
$this->load->model('m_user');

37
$username = $this->input-
>post('username');
$password = $this->input-
>post('password');
$nama = $this->input->post('nama');
$id_akses = $this->input-
>post('id_akses');
$status = $this->input->post('status');

$insert = $this->m_user->tambah_baru($username,
$password, $nama, $id_akses, $status);

if($insert > 0)
{
echo json_encode(array(
'status' => 1,
'pesan' => "<i class='fa fa-
check' style='color:green;'></i> Data User berhasil dismpan."
));
}
else
{
$this->query_error("Oops, terjadi
kesalahan, coba lagi !");
}
}
else
{
$this->input_error();
}
}
else
{
$this->load->model('m_akses');
$dt['akses'] = $this->m_akses->get_all();
$this->load->view('user/user_tambah', $dt);
}
}
}

public function exist_username($username)


{
$this->load->model('m_user');
$cek_user = $this->m_user->cek_username($username);

if($cek_user->num_rows() > 0)
{
return FALSE;
}
return TRUE;
}

public function edit($id_user = NULL)


{
$level = $this->session->userdata('ap_level');
if($level !== 'admin')
{
exit();
}
else
{
if( ! empty($id_user))
{
if($this->input->is_ajax_request())
{
$this->load->model('m_user');

38
if($_POST)
{
$this->load->library('form_validation');

$username = $this->input-
>post('username');
$username_old = $this->input-
>post('username_old');

$callback = '';
if($username !== $username_old){
$callback = "|
callback_exist_username[username]";
}

$this->form_validation-
>set_rules('username','Username','trim|required|alpha_numeric|max_length[40]'.
$callback);
$this->form_validation-
>set_rules('password','Password','trim|max_length[60]');
$this->form_validation-
>set_rules('nama','Nama Lengkap','trim|required|max_length[50]|alpha_spaces');

$this->form_validation-
>set_message('required','%s harus diisi !');
$this->form_validation-
>set_message('exist_username','%s sudah ada di database, pilih username lain yang
unik !');
$this->form_validation-
>set_message('alpha_spaces', '%s harus alphabet');
$this->form_validation-
>set_message('alpha_numeric', '%s Harus huruf / angka !');

if($this->form_validation->run() == TRUE)
{
$password = $this->input-
>post('password');
$nama = $this->input-
>post('nama');
$id_akses = $this->input-
>post('id_akses');
$status = $this->input-
>post('status');

$update = $this->m_user-
>update_user($id_user, $username, $password, $nama, $id_akses, $status);
if($update)
{
$label = $this->input-
>post('label');
if($label == 'admin')
{
$this->session-
>set_userdata('ap_nama', $nama);
}

echo json_encode(array(
'status' => 1,
'pesan' => "<div
class='alert alert-success'><i class='fa fa-check'></i> Data user berhasil
diupdate.</div>"
));
}
else
{
$this->query_error();

39
}
}
else
{
$this->input_error();
}
}
else
{
$this->load->model('m_akses');
$dt['user'] = $this->m_user-
>get_baris($id_user)->row();
$dt['akses'] = $this->m_akses-
>get_all();
$this->load->view('user/user_edit', $dt);
}
}
}
}
}

public function ubah_password()


{
if($this->input->is_ajax_request())
{
if($_POST)
{
$this->load->library('form_validation');
$this->form_validation->set_rules('pass_old','Password
Lama','trim|required|max_length[60]|callback_check_pass[pass_old]');
$this->form_validation->set_rules('pass_new','Password
Baru','trim|required|max_length[60]');
$this->form_validation-
>set_rules('pass_new_confirm','Ulangi Password Baru','trim|required|max_length[60]|
matches[pass_new]');
$this->form_validation->set_message('required','%s harus
diisi !');
$this->form_validation->set_message('check_pass','%s anda
salah !');

if($this->form_validation->run() == TRUE)
{
$this->load->model('m_user');
$pass_new = $this->input-
>post('pass_new');

$update = $this->m_user-
>update_password($pass_new);
if($update)
{
$this->session-
>set_userdata('ap_password', sha1($pass_new));

echo json_encode(array(
'status' => 1,
'pesan' => "<div class='alert
alert-success'><i class='fa fa-check'></i> Password berhasil diupdate.</div>"
));
}
else
{
$this->query_error();
}
}
else
{
$this->input_error();
}

40
}
else
{
$this->load->view('user/change_pass');
}
}
}

public function check_pass($pass)


{
$this->load->model('m_user');
$cek_user = $this->m_user->cek_password($pass);

if($cek_user->num_rows() > 0)
{
return TRUE;
}
return FALSE;
}
}

2. Script Controller Secure


<?php
defined('BASEPATH') or exit('No direct script access allowed');

class Secure extends MY_Controller


{
public function index()
{
if ($this->input->is_ajax_request()) {
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'trim|
required|min_length[3]|max_length[40]');
$this->form_validation->set_rules('password', 'Password', 'trim|
required|min_length[3]|max_length[40]');
$this->form_validation->set_message('required', '%s harus
diisi !');

if ($this->form_validation->run() == TRUE) {
$username = $this->input->post('username');
$password = $this->input->post('password');

$this->load->model('m_user');
$validasi_login = $this->m_user-
>validasi_login($username, $password);

if ($validasi_login->num_rows() > 0) {
$data_user = $validasi_login->row();

$session = array(
'ap_id_user' => $data_user->id_user,
'ap_password' => $data_user->password,
'ap_nama' => $data_user->nama,
'ap_level' => $data_user->level,
'ap_level_caption' => $data_user-
>level_caption
);
$this->session->set_userdata($session);

$URL_home = site_url('pendaftaran');
if ($data_user->level == 'santri') {
$URL_home = site_url('santri');
}

41
$json['status'] = 1;
$json['url_home'] = $URL_home;
echo json_encode($json);
} else {
$this->query_error("Login Gagal, Cek Kombinasi
Username & Password !");
}
} else {
$this->input_error();
}
} else {
$this->load->view('login/v_login');
}
}

function logout()
{
$this->session->unset_userdata('ap_id_user');
$this->session->unset_userdata('ap_password');
$this->session->unset_userdata('ap_nama');
$this->session->unset_userdata('ap_level');
$this->session->unset_userdata('ap_level_caption');
redirect();
}
}

42

Anda mungkin juga menyukai