Disusun oleh :
Nama : Anggi Restu Perdana
NIM : 1503040098
Diusulkan Oleh:
Nama : Anggi Restu Perdana
NIM : 1503040098
Telah disetujui
Pada tanggal...........................
Pembimbing
Mengetahui,
Ketua Program Studi Teknik Informatika
ii
HALAMAN PERSEMBAHAN
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.
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.
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
vii
DAFTAR GAMBAR
viii
DAFTAR LAMPIRAN
ix
INTISARI
Kata kunci : Aplikasi Pendaftaran Santri Baru , PHP, MySQL, Life Cycle.
x
ABSTRACT
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.
1
Demi menjaga keamanan data dibutuhkan adanya pembagian hak akses
juga antara pendaftar, petugas dan admin.
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
Purbalingga
2
BAB II
KAJIAN PUSTAKA
A. Kajian Pustaka
1. Rancang
2. Bangun
3. Aplikasi
3
4. Web
5. Pondok Pesantren
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.
7. MySQL
8. PHP
5
BAB III
GAMBARAN UMUM
Purbalingga
Visi
Menjadi pondok pesantren dalam melahirkan intelektual muslim
Ahlussunnah yang profesional dan berkemajuan.
Misi
6
E. Struktur Organisasi
7
BAB IV
METODE PELAKSANAAN
Perencanaan
Analisis
Perancangan
Implementasi
Pengujian
Pemeliharaan
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>>
<<extend>>
Memperbaharui Biodata
Peserta <<extend>>
<<extend>>
Login
Mencetak Laporan
Pendaftaran
<<extend>>
Mengelola Password
Peserta
Logout
10
b. Perancangan database
G. Implementasi
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
12
BAB V
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
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
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.
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.
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.
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)
16
Tabel 6. Struktur Tabel Pendidikan Terakhir
Nama Field Type
pendidikan_id int(5)
pendidikan_nama varchar(50)
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
19
Gambar 7. Halaman Form Pendaftaran
20
Gambar 8. Halaman Untuk Login
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
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.
23
Gambar 15. Halaman Edit Profile
2) Admin
24
data admin dan data password peserta. Yang masing-masing memiliki
fungsi sendiri.
Pada halaman input nilai ujian ini untuk memasukkan nilai hasil
ujian yang telah diikuti oleh calon santri.
Pada halaman laporan peserta yang diterima ini untuk melihat dan
mencetak laporan peserta yang diterima di Pondok Pesantren Tunas Ilmu
Purbalingga.
Pada halaman laporan peserta yang diterima ini untuk melihat dan
mencetak laporan peserta yang ditolak di Pondok Pesantren Tunas Ilmu
Purbalingga
25
Gambar 23. Halaman Data Password Peserta
26
E. Pengujian
Pengujian Pendaftaran
Pengujian Pendaftaran adalah sebagai berikut :
3) Pengujian Login
Pengujian Login adalah sebagai berikut :
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
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
28
Penyimpanan Data yang diubah Data tersimpan Diterima
Data di simpan ke ke dalam
dalam database database
29
Tabel 29. Pengujian Validasi Peserta Ujian
30
9) Pengujian Cetak Laporan
Pengujian Cetak Laporan adalah sebagai berikut :
31
11) Pengujian Pengelolaan Data Admin
Pengujian Pengelolaan Data Admin adalah sebagai berikut :
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:
34
DAFTAR PUSTAKA
35
LAMPIRAN
$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[] = '';
}
$data[] = $nestedData;
}
$json_data = array(
"draw" => intval( $requestData['draw'] ),
"recordsTotal" => intval( $totalData ),
"recordsFiltered" => intval( $totalFiltered ),
"data" => $data
36
);
echo json_encode($json_data);
}
$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);
}
}
}
if($cek_user->num_rows() > 0)
{
return FALSE;
}
return TRUE;
}
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);
}
}
}
}
}
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');
}
}
}
if($cek_user->num_rows() > 0)
{
return TRUE;
}
return FALSE;
}
}
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