Anda di halaman 1dari 107

PROGRAM APLIKASI REQUEST MAINTENCE BUILDING

PADA PT PROKEMAS ADHIKARI KREASI BERBASIS WEB


MENGGUNAKAN FRAMEWORK MVC

TUGAS AKHIR

Diajukan Sebagai Salah Satu Syarat

Untuk Kelulusan Program Diploma Tiga (D3)

Program Studi Manajemen Informatika

Oleh :

Nama : Rizal Muttaqin


NPM : 43A87026170014

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER


BANI SALEH
BEKASI
2020

1
LEMBAR PERSETUJUAN TUGAS AKHIR

Telah diperiksa dan disetujui oleh pembimbing untuk disidangkan pada


Sidang Tugas Akhir Program Diploma Tiga (D3), Program Studi Manajemen
Informatika Sekolah Tinggi Manajemen Informatika dan Komputer Bani Saleh
skripsi dengan judul:

PROGRAM APLIKASI REQUEST MAINTENCE BUILDING


PADA PT PROKEMAS ADHIKARI KREASI BERBASIS WEB
MENGGUNAKAN FRAMEWORK MVC

Bekasi, 19 September 2020

Pembimbing I Pembimbing II

Widiyawati, S.Kom.,M.Kom Rahmadi, S.Kom.,M.Kom

Mengetahui :

Ketua Program Studi Manajemen Informatika

Rahmadi, S.Kom.,M.Kom

ii

2
LEMBAR PENGESAHAN TUGAS AKHIR

Telah disidangkan dan disahkan oleh Tim Penguji Tugas Akhir dengan
Judul :

PROGRAM APLIKASI REQUEST MAINTENCE BUILDING


PADA PT PROKEMAS ADHIKARI KREASI BERBASIS WEB
MENGGUNAKAN FRAMEWORK MVC

Nama Penguji Tanda Tangan

1.Adi Suwarno, S.Kom.,M.Kom


NIDN : 0429067605 ……………………..

2.Eko Marwanto Putro, S.Kom.,M.Kom


NIDN : 0411039102 ……………………...

Mengetahui :
Ketua Program Studi Manajemen Informatika

Rahmadi, S.Kom.,M.Kom

iii

3
PERNYATAAN KEASLIAN TUGAS AKHIR

Nama : Rizal Muttaqin


NPM : 43A87026170014
Program Studi : Manajemen Informatika
: Program Aplikasi Request Maintance Building Pada PT
Prokemas Adhikari Kreasi Berbasis Web Menggunakan
Judul Skripsi Framework MVC

Dengan ini saya menyatakan bahwa dalam Tugas Akhir tidak terdapat
karya yang pernah diajukan untuk memperoleh gelar diploma di suatu perguruan
tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau pendapat
yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis
dirujuk dalam naskah ini dan disebutkan dalam daftar pustaka.
Apabila dikemudian hari saya terbukti memberikan pernyataan yang tidak
benar, saya bersedia menerima sanksi berupa pencabutan gelar kediplomaan saya.

Bekasi, 03 Juli 2020

(Rizal Muttaqin)

iv
4
KATA PENGANTAR

Puji syukur kami ucapkan atas kehadirat Tuhan Yang Maha Esa karena atas
berkat dan anugerah yang dilimpahkan-Nya penulis dapat menyelesaikan Tugas
Akhir ini pada waktunya. Tugas Akhir ini merupakan salah satu syarat untuk
memperoleh gelar Ahli Madya (A.md) Pada Manajemen Informatika STMIK
BANI SALEH Bekasi. Maka untuk memenuhi persyaratan tersebut, penulis
mencoba untuk menerapkan ilmu yang telah penulis dapat dibangku kuliah ke
dalam bentuk Tugas Akhir yang berjudul “PROGRAM APLIKASI REQUEST
MAINTANCE BUILDING PADA PT PROKEMAS ADHIKARI KREASI
BERBASIS WEB MENGGUNAKAN FRAMEWORK MVC”
”. Oleh karena itu, dalam penulisan Tugas Akhir ini penulis berharap adanya
kritik dan saran dari semua pihak yang nantinya akan dipergunakan untuk
menyempurnakan Tugas Akhir ini.

Selama penyusunan Tugas Akhir ini, penulis telah banyak memperoleh


bantuan bimbingan dan dorongan dari berbagai pihak. Pada kesempatan ini
penulis ingin menyampaikan rasa terima kasih kepada:
1. Bapak Taufik Maulana, Drs. M.BA, selaku Ketua STMIK Bani Saleh
Bekasi.
2. Bapak Rahmadi, S.Kom.,M.Kom selaku Ketua Program Studi
Manajemen Informatika di Sekolah Tinggi Manajemen Informatika dan
Komputer Bani Saleh Bekasi.
3. Ibu Widiyawati, S.Kom.,M.Kom sebagai dosen pembimbing pertama
yang telah sabar membimbing penulis dan membantu serta dalam
memberikan ide kepada penulis dalam menyelesaikan Tugas Akhir ini.
4. Bapak Rahmadi, S.Kom.,M.Kom sebagai dosen pembimbing kedua yang
telah sabar membimbing penulis dan membantu serta dalam memberikan
ide kepada penulis dalam menyelesaikan Tugas Akhir ini.
5. Kedua orang tua saya tercinta yang selalu memberikan doa dan semangat
serta adik, sehingga laporan Tugas Akhir ini dapat terselesaikan.

v
5
6. Teman-teman Mahasiswa dan Mahasiswi STMIK Bani Saleh Program
Studi Manajemen Informatika angkatan 2017 Malam yang telah
memberikan dukungan dan kerja samanya selama ini.
7. Semua pihak yang tidak dapat disebutkan satu persatu, terima kasih atas
kerjasamanya sehingga penulisan Tugas Akhir ini dapat diselesaikan
dengan baik.

Akhir kata, penulis mengucapkan terima kasih dan berharap agar Tugas Akhir
ini dapat bermanfaat bagi penulis pada khususnya dan pembaca pada umumnya.

Bekasi, 03 Juli 2020

(Rizal Muttaqin)

vi

6
DAFTAR ISI

Contents
BAB I PENDAHULUAN...............................................................................................................13
1.1. Latar Belakang.....................................................................................................................13
1.2. Identifikasi Masalah.............................................................................................................14
1.3. Pembatasan Masalah............................................................................................................14
1.4. Tujuan dan Manfaat Penulisan.............................................................................................15
1.4.1. Tujuan Penulisan..........................................................................................................15
1.4.2. Manfaat Penulisan........................................................................................................15
1.4.3. Teknik Pengumpulan Data...........................................................................................15
1.5. Sistematika Penulisan..........................................................................................................16
BAB II LANDASAN TEORI...........................................................................................................17
2.1. Tinjauan Pustaka..................................................................................................................17
2.1.1. Pengertian Maintance Building....................................................................................17
2.1.2. Tujuan Maintance Building..........................................................................................18
2.2. Teori Mengenai Materi Informatika.....................................................................................19
2.2.1. Program........................................................................................................................19
2.2.2. Aplikasi........................................................................................................................19
2.2.3. Basis Data (Database)..................................................................................................20
2.2.4. Pemograman................................................................................................................21
2.2.5. Bahasa Pemograman....................................................................................................22
2.3. Teori Mengenai Materi Pembahasan....................................................................................22
2.3.1. Sistem..........................................................................................................................22
2.3.2. Infomasi.......................................................................................................................22
2.3.3. Sistem Infomasi...........................................................................................................22
2.3.4. Aplikasi Web...............................................................................................................23
2.3.5. Normalisasi dan Tujuan...............................................................................................23
2.3.6. MVC (Model, View, Controller)..................................................................................24
2.3.7. Xampp..........................................................................................................................26
2.3.8. PHPMyAdmin..............................................................................................................26
2.3.9. Apache.........................................................................................................................26
2.3.10. MySQL........................................................................................................................26
2.3.11. Sublime Text................................................................................................................27
2.3.12. PHP (Hypertext Preprocessor).....................................................................................27
2.3.13. CSS (Cascading Style Sheets)......................................................................................27
2.3.14. HTML (Hyper Text Markup Language)......................................................................28
2.3.15. UML (Unified Modelling Language)...........................................................................28
2.3.16. ERD (Entity Relationship Diagram)............................................................................33
BAB III................................................................................................................................................35
7
3.1. Sejarah Perusahaan..............................................................................................................35
3.1.1. Sejarah PT.Prokemas Adhikari Kreasi.........................................................................35
3.1.2. Visi dan Misi................................................................................................................36
3.2. Struktur Organisasi dan Uraian Tugas.................................................................................37
3.2.1. Struktur Organisasi......................................................................................................37
3.2.2. Uraian Tugas................................................................................................................37
3.3. Gambaran Sistem Berjalan...................................................................................................44
3.3.1. Analisis Sistem yang Berjalan......................................................................................44
3.3.2. Evaluasi Sistem yang Berjalan.....................................................................................45
3.3.3. Perancangan yang Diusulkan.......................................................................................45
3.4. Dokumentasi Input dan Ouput.............................................................................................45
BAB IV...............................................................................................................................................47
4.1. Rancangan............................................................................................................................47
4.1.1. Perancangan Sistem (UML).........................................................................................47
4.1.2. Perancangan Basisdata.................................................................................................54
4.1.3. Struktur File.................................................................................................................55
4.1.4. Tampilan Layar dan Algoritma....................................................................................57
4.1.5. Output dan Algoritma..................................................................................................61
4.2. Implementasi........................................................................................................................63
4.2.1. Strutur Tabel................................................................................................................63
4.2.2. Hubungan Antar Tabel.................................................................................................65
4.2.3. Bentuk Tampilan dan Program.....................................................................................66
4.2.4. Bentuk Output dan Program.........................................................................................70
BAB V.................................................................................................................................................71
5.1. Kesimpulan..........................................................................................................................71
5.2. Saran....................................................................................................................................71

8
DAFTAR TABEL

Tabel 4.1 Normalisasi 1NF....................................................................................................45

Tabel 4.2 Normalisasi 2NF RMB.........................................................................................46

Tabel 4.3 Normalisasi 2NF Dept..........................................................................................47

Tabel 4.4 Normalisasi 2NF User..........................................................................................47

Tabel 4.5 Tabel User (Struktur File)...................................................................................48

Tabel 4.6 Tabel Dept (Struktur File)...................................................................................48

Tabel 4.7 Tabel RMB (Struktur File)..................................................................................48

9
DAFTAR GAMBAR

Gambar 2.1 Gambar MVC (Model, View, Controller).................................................14

Gambar 2.2 Gambar Simbol MVC.....................................................................................15

Gambar 2.3 Simbol - Symbol dalam UseCase Diagram..............................................19

Gambar 2.4 Simbol - Simbol dalam Activity Diagram.................................................20

Gambar 2.5 Simbol – Simbol dalam Class Diagram....................................................21

Gambar 2.6 Simbol – Simbol dalam Sequence Diagram............................................22

Gambar 2.7 Simbol – Simbol dalam ERD (Entity Relationsip Diagram)..............24

Gambar 3.1 Logo PT Prokemas Adhikari Kreasi...........................................................27

Gambar 3.2 Struktur Organisasi PT Prokemas Adhikari Kreasi...............................30

Gambar 3.3 Sistem Yang Berjalan......................................................................................33

Gambar 3.4 Sistem Yang Diusulkan..................................................................................35

Gambar 3.5 Dokumentasi Input dan Output....................................................................35

Gambar 4.1 Use Case Admin...............................................................................................37

Gambar 4.2 Use Case User....................................................................................................37

Gambar 4.3 Activity Diagram Daftar.................................................................................38

Gambar 4.4 Activity Diagram Login.................................................................................39

Gambar 4.5 Activity Diagram RMB..................................................................................40

Gambar 4.6 Class Diagram RMB........................................................................................41

Gambar 4.7 Squance Diagram Daftar................................................................................42

Gambar 4.8 Squance Diagram Login.................................................................................43

Gambar 4.9 Squance Diagram RMB..................................................................................43

Gambar 4.10 ERD (Entity Relationsip Diagram)...........................................................43

Gambar 4.11 Rancangan Register (Admin).....................................................................43


10
Gambar 4.12 Crate RMB (User)..........................................................................................43

Gambar 4.13 Approval RMB (Admin)..............................................................................43

Gambar 4.14 On Progress RMB (Admin)........................................................................43

Gambar 4.15 Laporan RMB (Admin)................................................................................43

Gambar 4.16 Cetak Laporan RMB (Admin)...................................................................43

Gambar 4.17 Struktur Tabel User.......................................................................................43

Gambar 4.18 Struktur Tabel Dept.......................................................................................43

Gambar 4.19 Struktur Tabel RMB......................................................................................43

Gambar 4.20 Hubuangan Antar Tabel...............................................................................43

Gambar 4.21 Tampilan Login Admin................................................................................43

Gambar 4.22 Tampilan Menu Admin................................................................................43

Gambar 4.23 Tampilan Menu List User............................................................................43

Gambar 4.24 Tampilan Menu Crate RMB.......................................................................43

Gambar 4.25 Tampilan Menu Approval RMB...............................................................43

Gambar 4.26 Tampilan Menu On Progress RMB..........................................................43

Gambar 4.27 Tampilan Validasi Login.............................................................................43

Gambar 4.28 Tampilan Validasi Register.........................................................................43

Gambar 4.29 Tampilan Report RMB.................................................................................43

Gambar 4.30 Output Printer Laporan.................................................................................43

11
BAB I
PENDAHULUAN
I.1. Latar Belakang

Seiring dengan perkembangan zaman, perkembangan teknologi pun semakin maju


dan berkembang. Bisa dikatakan, teknologi sudah merambah hingga ke berbagai
macam aspek kehidupan, tak terkecuali ke dalam dunia industri. Saat ini, dunia industri
semakin berhubungan dengan komputer. Hal ini terjadi karena kemajuan teknologi,
yang senantiasa menyediakan berbagai macam sarana dan prasarana untuk
memperlancar kegiatan yang berhubungan dengan proses industri.

Perkembangan dan pemanfaatan teknologi informasi terutama dalam pemanfaatan


teknologi komputer untuk pengolahan data juga menjadi perhatian dari kalangan
industri, khususnya instansi perusahaan. Berbagai program perusahaan bisa
dikembangkan menjadi sistem yang kinerjanya menggunakan perangkat komputer, dan
salah satu program tersebut adalah dapat mengelola informasi perusahaan dengan cepat
dan akurat menggunakan media teknologi atau menggunakan sistem berbasis web.

General Affair mempunyai tugas mendukung kegiatan operasional perusahaan melalui


pengadaan barang dan jasa yang dibutuhkan. Dalam melakukan tugasnya, General
Affair banyak melakukan koordinasi dengan departemen lain untuk mengetahui
kebutuhan mereka serta merencanakan anggaran pengadaan barang atau jasa beserta
biaya pemeliharaannya.

Perawatan yang menjadi tanggung jawab Genetal Affair meliputi gedung kantor
(kebersihan, tampilan luar), lingkungan kantor (lahan parkir yang aman, halaman kantor
dan/atau gudang yang memadai), kebersihan lingkungan kerja bagi karyawan (ruang
kerja, ruang meeting, lobby dan semua area perusahaan), perawatan instalasi listrik
(mechanical dan electrical).

Sebagai departemen yang aktif melayani internal perusahaan, General Affair juga
mengadakan survei kepuasan pelayanan yang ditujukan kepada seluruh karyawan atau
unit kerja dalam rangka peningkatan kualitas produk atau jasa, ketepatan dan kecepatan
pelayanan yang diberikan.

12
Setelah di Analisa, Ternyata begitu penting penyimpanan data untuk maintence
bulding sebagai laporan apa saja yang sudah di kerjakan maupun yang masih dalam
proses.

PT Prokemas Adhikari kreasi masih belum menyediakan aplikasi request maintence


building, di karenakan masih banyaknya Department lain yang harus di perbaiki satu
per-satu, di Department General Affair sendiri masih menggunakan metode lama dalam
proses penyimpanan data serta penyajian laporan masih menggunkan yaitu
menggunakan aplikasi Microsoft excel, yang memiliki beberapa kekurangan, di
antaranya :
1. Manual Entry, yang beresiko melakukan salah ketik dan terhapus nya data.
2. Beresiko melakukan salah ektik dan terhapus nya data.
3. Tidak ada histori atas perubahaan data yang dilakukan atau data log.
4. Tidak ada pengingat atau notifikasi.
5. Sulit untuk digunakan secara bersamaan.
6. Data dirgaukan keakuratannya.

Menyadari pentingnya sebuah aplikasi request maintence bulding di PT Prokemas


Adhikari Kreasi, maka penulis tertarik untuk melakukan penelitian dengan judul :
“Sistem Aplikasi Request Maintence Building Pada PT Prokemas Adhikari Kreasi
Berbasis Web menggunakan framework MVC”.

I.2. Identifikasi Masalah


Pembahasan pada laporan Tugas Akhir ini mengenai perancangan aplikasi request
maintence bulding, untuk penyimpanan data, penyajian laporan, serta monitoring
pekerjaan yang belum selsai maupun yang sudah di selesai kan dalam kurun waktu
MTD (Month to date) maupun YTD(Year to date). Sehingga nantinya pimpinan
Department Geeneral Affair dapat melihat apa saja project/pekerjaan yang sedang
dalam proses pengerjaan maupun yang sudah selesai di kerjakan.

I.3. Pembatasan Masalah


Agar ruang lingkup yang dibahas tidak meluas ke hal lain maka perlu adanya batasan
masalah, masalah yang akan dibahas dalam hal ini adalah :
a. Aplikasi ini di buat untuk mengelola data base request maintance building, dengan
menginput, proses dan menyimpan.

13
b. Aplikasi ini di buat unutk membuat laporan maintance building yang di perlukan
untuk pimpinan dept.

c. Aplikasi ini di buat untuk memonitoring dan pengendalian pekerjaan maintance


building.
I.4. Tujuan dan Manfaat Penulisan

I.4.1. Tujuan Penulisan

Tujuan dari pembuatan Laporan Tugas Akhir ini adalah sebagai berikut :
a. Menambah ilmu dalam berpikir dan kontribusi ilmiah teknologi komputer
terutama terhadap segala hal yang berkaitan dengan pembuatan website.
b. Menggunakan atau mengaplikasikan teori dan kemampuan tentang
komputer yang sudah diperoleh di program studi manajemen informatika
dengan mengimplementasikan di dunia kerja.
c. Sebagai syarat untuk menyelesaikan program D-3.

I.4.2. Manfaat Penulisan


a. Mengurangi waktu yang terbuang dalam hal pengumpulan data dari
department peminta kepada department general affair.
b. Sebagai tempat penyimpanan data yang aman dan terintegrasi.
c. Mempercepat dan mempermudah request maitance building sehingga
dapat di selesaikan sesuai jadwal.

I.4.3. Teknik Pengumpulan Data

Teknik pengumpulan data yang digunakan adalah:


a. Wawancara
Penulis melakukan wawancara secara tatap muka dengan pihak-pihak yang
menurut penulis anggap kompeten.
b. Analisa Dokumen
Penulis menganalisis dokumen-dokumen yang di gunakan oleh PT Prokemas
Adhikari Kreasi.
c. Observasi
Penulis melakukan pengamatan secara langsung terhadap data-data yang
berkaitan.
d. studi Pustaka
14
Penulis mencari data yang dibutuhkan melalui sumber berupa buku, jurnal,
serta situs-situs internet.

I.5. Sistematika Penulisan

Agar lebih memahami Laporan Tugas Akhir ini, maka laporan ini dikelompokkan ke
dalam sub bab pembahasan dan menggunakan sistematika penyampaian sebagai
berikut:

BAB I : PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, identifikasi masalah, pembatasan
masalah, tujuan dan manfaat, teknik pengumpulan data dan sistematika
penulisan.

BAB II : LANDASAN TEORI


Bab ini berisi tentang tinjauan pustaka, teori mengenai materi informatika dan
teori mengenai materi pembahasan.

BAB III : GAMBARAN UMUM PERUSAHAAN


Bab ini berisi tentang sejarah organisasi, struktur organisasi serta tugas dan
wewenang organisasi yang ada di PT Prokemas Adhikari Kreasi.

BAB IV : RANCANGAN DAN IMPEMENTASI


Bab ini berisi tentang perancangan sistem, perancangan basisdata,
perancangan struktur file, tampilan layar dan algoritma, output dan algoritma,
implementasi struktur tabel, hubungan antar tabel, bentuk tampilan dan
program, dan bentuk output dan program.

BAB V : KESIMPULAN DAN SARAN


Bab ini berisi tentang kesimpulan dan juga saran mengenai aplikasi yang
dibuat.

15
BAB II
LANDASAN TEORI

II.1. Tinjauan Pustaka

Pada bab ini dijabarkan penjelasan tentang tinjauan pustaka yang digunakan sebagai
acuan dalam merancang program aplikasi reques maintenance building pada PT Prokemas
Adhikari Kreasi. Penelitian dilakukan oleh Ricky Permana (2019), pembahasan meliputi
kegiatan pokok dalam mengelola data. Sistem yang digunakan berbasis bahasa
pemrograman web PHP dan HTML serta MySQL sebagai database, dengan framework
bootstrap.

II.1.1. Pengertian Maintance Building

Maintenance Building berarti segala sesuatu Equipment peralatan dan


pendukung lainnya yang berada dalam lingkup suatu Gedung atau
bangunan yang harus dipelihara.
Pemeliharaan meliputi Pembersihan, perapihan, pemeriksaan,
pengukian, perbaikan dan penggantian.
Dalam melakukan Pemeliharaan Gedung / Bangunan harus memenuhi
beberapa syarat diantaranya:
1. Keselamatan Bangunan
2. Keamanan Gedung
3. Kesehatan Bangunan gedung
4. Kenyamanan Gedung
5. Kemudahan Bangunan Gedung
6. Keandalan bangunan Gedung

Dalam mempersiapkan pemeliharaan bangunan tentunya juga didukung


oleh SDM yang memadai serta didukung dengan SOP ( Standar
Operasional Prosedur).Hal ini diperlukan agar seluruh sistim dapat
berjalan dan bekerja dengan baik dengan harapan hasil yang memuaskan
yaitu :

16
1. SAVING
2. SAFETY
3. COMFORT

Jenis kegiatan Maintenance terdiri dari :


1. Preventive Maintenance, yaitu pemeliharaan rutin yang dilakukan
untuk mencegah timbulnya kerusakan yang tidak terduga ,dalam
melakukan preventive maintenance harus dibuatkan schedulle pada
setiap jenis peralatan yang akan di maintenance serta melakukan
report agar bisa terdata mengenai riwayat dan life time .
2. Predictive Maintenance, yaitu pemeliharaan / perbaikan yang
dilakukan setelah hasil dari suatu pemeriksaan rutin dan inspeksi,.
3. Corrective Maintenance, yaitu perbaikan dan pemeliharaan yang
dilakukan dikarenakan ada suatu kejadian kerusakan yang timbul
secara tiba tiba secara tidak terprediksi serta diperlukan biaya dalam
perbaikannya.

Yang tak kalah penting adalah SOP ,yang berguna sebagai basis data
sepsifikasi peralatan yang menjadi acuan kerja serta mempermudah dalam
pengaturan suatu pekerjaan.
Jenis jenis SOP Maintenance Building diantaranya:
1. Daily ,Monthly,dan yearly report
2. Juklak ( petunjuk pelaksanaan pekerjaan )
3. Juknis ( Petunjuk Teknis )
4. Schedulle time maintenance

II.1.2. Tujuan Maintance Building


Tujuan Maintance Building di perusahaan adalah untuk memastikan
bangunan ataupun fasilitas perusahaan dapat di pergunakan sebaik
mungkin tanpa ada nya kerusakan pada bangunan maupun fasilitas
perusahaan tsb, di antara nya sebagai berikut :
1. Membuat dan memperpanjang daya tahan dan usia bangunan. Bangunan
yang usianya panjang hingga 20 tahun menunjukkan bahwa bangunan
tersebut berkualitas dan dibangun dengan perancanaan serta konstruksi
yang baik.

17
2. Kondisi bangunan kantor/gedung yang selalu dirawat menunjukkan
bahwa bangunannya selalu siap digunakan oleh siapa pun tanpa perlu
khawatir akan kondisi rusak atau tidak siap pakai.

3. Membuat tampilan bangunan nampak lebih menarik, indah, dan bagus.


Barangkali sulit mewujudkan bangunan yang tampilannya menarik dan
indah bila tak dilakukan perawatan dan pemeliharaan secara rutin dan
dukungan tim ahli.
4. Dan yang terpenting perawatan bangunan memiliki manfaat sebagai upaya
penghemat anggaran atau pengeluaran akibat kerusakan bangunan atau
kondisi bangunan tidak siap pakai.
Sumber Teori Maintance Building dia atas via website berikut:
http://garidi78.blogspot.com/2012/01/building-maintenance.html

II.2. Teori Mengenai Materi Informatika


II.2.1. Program
Program merupakan sederetan instruksi atau perintah dalam bahasa
yang dimengerti oleh komputer yang bersangkutan, (Yulikuspartono
2008). Program adalah algoritma yang ditulis dalam bahasa komputer
(Renaldi Munir, 2016).
Dapat disimpulkan bahwa program adalah sekumpulan perintah atau
pernyataan yang disusun membentuk suatu pola urut-urutan proses
tindakan yang sistematis untuk mencapai tujuan tertentu menggunakan
bahasa pemrograman yang dieksekusi oleh komputer.

II.2.2. Aplikasi

Elex media komputindo (2016:53), “Aplikasi adalah program yang


didesain untuk di pakai oleh user”.
Sujatmiko (2012:259), “Application merupakan program komputer
yang dibuat oleh suatu perusahaan komputer untuk membantu manusia
dalam mengerjakan tugas-tugas tertentu”.
Dari kedua pengertian tersebut, dapat disimpulkan bahwa pengertian
Aplikasi adalah program komputer yang didesain oleh suatu perusahaan
komputer untuk di pakai oleh user dalam mengerjakan tugas-tugas tertentu.

18
II.2.3. Basis Data (Database)

Basis data merupakan sistem yang terkomputerisasi yang tujuan utamanya


adalah memelihara data yang sudah diolah atau informasi dan membuat
informasi tersedia saat dibutuhkan. (Indrajani, 2018 : 43) Menurut Rohi
Abdulloh (2018:103) Database atau basis data merupakan sekumpulan
informasi yang disimpan dalam komputer secara sistematik dan merupakan
sumber informasi yang dapat diperiksa menggunakan suatu program
komputer. Database berfungsi untuk menyimpan informasi atau data. Untuk
mengenal database diperlukan software yang sering disebut dengan DBMS
(Database Management System). Dengan DBMS pengguna dapat
membuat, mengolah, mengontrol, dan mengakses database dengan mudah,
praktis dan efisien.

2.2.3.1 Keuntungan dan Manfaat Database

a. Dapat Meminimalkan Redudansi Data

Redudansi merupakan penyimpanan data yang sama dalam


berkas yang berbeda-beda jadi jika data di update akan terjadi
secara berulang-ulang. Maka dengan database redudansi data
dapat di minimalkan bahkan bisa di hindari.

b. Integritas Data Yang Tinggi

Data yang sama akan saling berelasi, jika ada perubahan pada
suatu data maka data yang sama pada file yang sama akan
mengalami perubahan. Integritas data sangat penting pada
database karena dapat memastikan keakuratan, konsitensi,
aksesbilitas dan juga kualitas yang tinggi pada suatu data.

c. Independensi Data

19
Pada database data-data yang ada tidak bergantung pada
software yang mengaksesnya, sebab struktur data pada database
dirancang bedasarkan kebutuhan akan informasi jadi bukan
berdasarkan software. Independensi juga dimana seseorang tidak
bisa melakukan perubahan data jika data tersebut sedang diakses
oleh orang lain.

20
d. Dapat Berbagi Data

Dengan sistem database maka kita dapat berbagi data atau


informasi dengan pengguna lain, sehingga data tersebut dapat
digunakan secara bersama-sama.

e. Tingkat Keamanan Yang Tinggi

Dengan sistem database kita dapat meningkatkan keamanan


terhadap suatu data atau informasi sehingga tidak mudah untuk
diakses orang lain, misalnya dengan memberikan password atau
hak akses pada data tersebut.

f. Mudahnya Mengakses Atau Mendapatkan Data

Database dapat mempermudah user dalam mendapatkan data


yang diperlukannya, dengan berbagi data yang ada dan tentunya
dengan hak akses yang telah diberikan untuk mengakses
database tersebut.

II.2.4. Pemograman
Menurut Renaldi Munir (2016) “ Kegiatan mulai dari mendesain hingga
menulis program”.
Menurut Budi Sutedjo (2009) “Pemrograman adalah proses
mengimplementasi urutan langkah untuk menyelesaikan suatu masalah
dengan menggunakan suatu bahasa pemrograman". Jadi dapat ditarik
kesimpulan bahwa “Pemrograman adalah sekumpulan instruksi yang
merupakan penyelesaian masalah yang ditulis ke dalam bahasa yang
dimengerti komputer”.

21
22
II.2.5. Bahasa Pemograman
Bahasa pemrograman adalah prosedur atau tata cara penulisan program.
Pada bahasa pemrograman terdapat dua faktor yang penting yaitu syntak dan
semantic. Syntak adalah grammatical yang mengatur tata cara penulisan kata,
ekspresi dan pernyataan. Sedangkan semantic adalah aturan-aturan untuk
menyatakan suatu arti (Budi Sutedjo, 2009).
Bahasa pemrograman adalah bahasa komputer yang digunakan untuk
menulis program. (Renaldi Munir, 2016).
II.3. Teori Mengenai Materi Pembahasan

II.3.1. Sistem

Sistem menurut Romney dan Steinbart (2015:3): Sistem adalah rangkaian dari
dua atau lebih komponen-komponen yang saling berhubungan, yang berinteraksi
untuk mencapai suatu tujuan. Sebagian besar sistem terdiridari subsistem yang
lebih kecil yang mendukung sistem yang lebih besar.

II.3.2. Infomasi

Informasi yakni sebagai data yang sebelumnya sudah diproses dan pemrosesannya
dilakukan untuk suatu tujuan tertentu. Selain itu juga mengemukakan pendapat lain
bahwa informasi merupakan keterangan, pemberitahuan, penerangan, kabar berita,
atau bahan nyata lainnya yang bisa digunakan sebagai bahan kajian analisis untuk
mengambil kesimpulan atau mengambil keputusan. (Anton M. Moeliono,2016)

II.3.3. Sistem Infomasi

Menurut (Yakub, 2016), mengemukakan sistem informasi merupakan


kombinasi teratur dari orang-orang, perangkat keras, perangkat lunak, jaringan
komunikasi, dan sumber daya yang mengumpulkan, mengubah, dan
menyebarkan informasi dalam sebuah organisasi. Selain itu sistem informasi
adalah kombinasi atau gabungan dari orang-orang, perangkat lunak
(hardware), software, dan sumber daya data yang mampu mengumpulkan,
mengolah, mengubah dan menyebarkan informasi dalam sebuah organisasi.

23
II.3.4. Aplikasi Web

Menurut Dina Fitria Murad, dkk (2013), ”Website adalah sistem dengan
informasi yang disajikan dalam bentuk teks, gambar, suara, dan lainnya yang
tersimpan dalam sebuah server web internet yang disajikan dalam bentuk
hypertext”.

Pada awalnya aplikasi web dibangun hanya menggunakan bahasa yang


disebut HTML (HyperText Markup Language). Pada perkembangan
berikutnya, sejumlah skrip dan objek dikembangkan untuk memperluas
kemampuan HTML seperti PHP dan ASP pada skrip dan Apllet pada objek.

II.3.5. Normalisasi dan Tujuan


a. Pengertian
Normalisasi merupakan suatu teknik dengan pendekatan button-up yang
digunakan untuk membantu mengidentifikasikan hubungan, dimulai dari
menguji hubungan, yaitu functional dependecies antara atribut. (Indrajani
2018:47) Normalisasi merupakan suatu teknik yang menstruktur data
dengan cara tertentu untuk membantu mengurangi atau mencegah
timbulnya masalah yang berhubungan dengan data dalam database,
misalnya pada saat insert, delete, update, retrieve.

b. Tujuan Normalisasi
Adapun tujuan normalisasi adalah, sebagai berikut :
1. Untuk menghilangkan kerangkapan data.
2. Untuk mengurangi kompleksitas yaitu efek dari penghapusan dan
penambahan.
3. Untuk mempermudah modifikasi data.

Langkah-langkah pembentukan normalisasi terdapat beberapa tahap :

a. Bentuk tidak normal (Unnormalized Form)


Bentuk ini merupakan data yang akan direkam, tidak ada keharusan
untuk mengikuti suatu format tertentu. Data dikumpulkan apa
adanya sesuai dengan data penginput data.

b. Bentuk formal ke satu (1NF)


24
Pada tahap ini dilakukan penghilangan beberapa grup elemen yang
berulang satu harga tunggal yang berinteraksi diantara setiap baris-
baris pada suatu tabel dan setiap atribut harus mempunyai nilai data
yang atomic (bersifat atomic value).
c. Bentuk normal ke dua (2NF)
Pada tahap ini dilakukan penentuan field masing-masing table.

II.3.6. MVC (Model, View, Controller)

2.1 Gambar MVC (Model, View, Controller)

Model-View-Controller (MVC) adalah pola arsitektur yang memisahkan


aplikasi dalam tiga komponen utama Logis: Model, View dan Controller.
Masing-masing komponen ini dibangun untuk menangani aspek-aspek
tertentu pembangunan aplikasi. MVC adalah sebuah metode dalam
membuat aplikasi dengan memisahkan pengembangan aplikasi
berdasarkan komponen utama yang membangun sebuah aplikasi seperti
manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol
utama aplikasi. MVC adalah salah satu framework pembangunan web
standar industri paling sering digunakan untuk menciptakan proyek yang
terukur dan extensible. Komponen-komponen dari MVC adalah :
a. Model

Model berhubungan dengan data dan interaksi ke database atau web


service.

25
Model terdiri dari class dan fungsi untuk mengambil, melakukan
update dan menghapus data website. Sebuah aplikasi web biasanya
menggunakan basis data dalam menyimpan data, maka pada bagian
model biasanya akan berhubungan dengan perintah-perintah query
SQL.

b. View

View berhubungan dengan segala sesuatu yang akan ditampilkan ke


end-user. View dapat berupa halaman web, rss, JavaScript dan lain-
lain. View hanya berisi variabel-variabel data yang siap ditampilkan.
Di dalam view tidak boleh ada kode untuk melakukan koneksi ke
basis data. View hanya dikhususkan untuk menampilkan data-data
hasil dari model dan controller.

c. Controller

Controller bertindak sebagai penghubung data dan view. Controller


terdiri dari class-class dan fungsi-fungsi yang memproses permintaan

dari view ke dalam struktur data di dalam model. Di dalam controller


tidak boleh berisi kode untuk mengakses basis data karena tugas
mengakses data telah diserahkan kepada model.

2.2 Gambar Simbol MVC

26
II.3.7. Xampp
Madcoms (2016:148), “Xampp adalah sebuah paket kumpulan software
yang terdiri dari Apache, MySQL, PhpMyAdmin, PHP, Perl, Filezilla, dan
lain-lain”.
Winarno dkk (2014:1), “Xampp adalah software web server yang bisa
dipakai untuk mengakomodasi system operasi yang anda pakai (X), Apache
(A), MySQL (M), PHP (P) dan Perl (P)”.
II.3.8. PHPMyAdmin
Madcoms (2016:148), “PhpMyAdmin adalah sebuah aplikasi open
source yang berfungsi untuk memudahkan manajemen MySQL”.
PhpMyAdmin dapat dijalankan di banyak OS, selama dapat menjalankan
webserver dan MySQL. PhpMyAdmin dapat di download secara gratis di
http:/www.phpmyadmin.net. jika anda menggunakan paket software
webserver Xampp, maka anda tidak perlu menginstall PhpMyAdmin
secara terpisah.
II.3.9. Apache

Apache merupakan sebuah webserver (localhost) yang dapat berjalan


pada beberapa sistem operasi, seperti: windows dan linux. Apache adalah
bagian dari XAMPP. XAMPP terdiri dari Apache HTTP Server, MySQL
database, dan penerjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl (Apache Friends, 2015).

II.3.10. MySQL
Madcoms (2016A:17), ”MySQL adalah sistem manajemen database
SQL yang bersifat Open Source dan paling populer saat ini. Sistem database
MySQL mendukung beberapa fitur seperti multi-threaded, multi-user, dan
SQL database managemen system (DBMS)”.
Winarno dkk (2014:1), “MySQL merupakan tipe data relasional yang
artinya MySQL menyimpan datanya dalam table-tabel yang saling
berhubungan”. Raharjo (2015:7), “MySQL merupakan software RDBMS
(atau server database) yang dapat mengelola database dengan sangat cepat,
dapat menampung data dalam jumlah sangat besar, dapat diakses oleh
banyak user (multi-user), dan dapat melakukan suatu proses secara sinkron
atau berbarengan (multi-threaded)”.

27
II.3.11. Sublime Text

Menurut Eric Haughee (2013), bahwa Sublime Text adalah aplikasi


editor untuk kode dan teks yang dapat berjalan di berbagai platform
operating system dengan menggunakan teknologi Phyton API. Terciptanya
aplikasi ini terinspirasi dari aplikasi Vim. Aplikasi ini sangatlah fleksibel
dan powerfull. Fungsionalitas dari aplikasi ini dapat dikembangkan dengan
menggunakan sublime-packages.

Sublime Text bukanlah aplikasi open source, yang artinya aplikasi ini
membutuhkan lisensi (license) yang harus dibeli. Akan tetapi beberapa
fitur pengembangan fungsionalitas (packages) dari aplikasi ini merupakan
hasil dari temuan dan mendapat dukungan penuh dari komunitas serta
memiliki linsensi (license) aplikasi gratis.

II.3.12. PHP (Hypertext Preprocessor)

Menurut Rohi Abdulloh (2018:127) yang dimaksud dengan PHP


merupakan singkatan dari Hypertext Preprocessor, ia merupakan bahasa
pemrograman web yang dapat disisipkan salam skrip HTML dan bekerja
di sisi server. Hasilnyalah yang dikirim ke client, tempat pemakai
menggunakan browser. Secara khusus, PHP dirancang untuk membentuk
aplikasi web dinamis. Artinya, ia dapat membentuk suatu tampilan
berdasarkan permintaan terkini. Misalnya, anda bisa menampilkan isi
database ke halaman web.
II.3.13. CSS (Cascading Style Sheets)
Menurut Rohi Abdullah (2018:45) CSS adalah dokumen web yang
berfungsi mengatur elemen HTML dengan berbagai properti yang tersedia
sehingga dapat tampil dengan berbagai gaya yang di inginkan. CSS
memperkenalkan template yang berupa style untuk membuat dan
mempermudah penulisan dari halaman-halaman yang dirancang.

28
Hal ini sangat penting karena halamn yang menggunakan CSS dapat
dibaca secara bolak balik dan isinya dapat dilihat oleh pengunjung dari
manapun.
CSS mampu menciptakan halaman yang tampak sama pada resolusi layar
dari pengunjung yang berbeda tanpa memerlukan suatu tabel. Dengan CSS,
anda akan lebuh mudah melakukan setting tampilan keseluruan web maupun
aplikasi desktop hanya dengan menggantikan atribut-atribut atau perintah
dalam style CSS dengan atribut yang diinginkan tanpa harus dirubah satu per
satu atribut tiap elemen yang ada dalam situs yang dibuat.

II.3.14. HTML (Hyper Text Markup Language)

Elek media komputindo (2016:2), “HTML adalah singkatan dari


hypertext markup language bahasa pemrograman ini terdiri dari tag dan
aturan-aturan yang memungkinkan anda membuat dokumen hypertext.
Halaman web adalah dokumen hypertext”.
Bekti (2015:35), “HTML adalah bahasa pemrograman yang digunakan
untuk mendesain sebuah halam web”.
Abdulloh (2015:2), “HTML singkatan dari hypertext markup language,
yaitu tag-tag untuk membuat dan mengatur struktur website”.
II.3.15. UML (Unified Modelling Language)
UML (Unified Modeling Language) merupakan bahasa visual untuk
pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan
diagram teks-teks pendukung. UML hanya berfungsi untuk melakukan
pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu,
meskipun pada kenyataannya UML paling banyak digunakan pada
metodologi berorientasi objek. (Rosa A. S dan M. Shalahuddin : 2015;137-
138).
UML dapat juga diartikan salah satu standar bahasa yang banyak
digunakan di dunia industri untuk mendefinisikan requirement, membuat
analisis dan desain, serta menggambarkan arsitektur dalam pemrograman
berorientasi objek. (Indrajani, 2018).
Komponen-komponen dalam UML terdiri dari :

29
a. Use Case Diagram
Use Case atau diagram use case merupakan pemodelan untuk
melakukan sistem informasi yang dibuat. Use case mendeskrisikan
sebuah interaksi antara satu atau lebih aktor dengan sistem informasi
yang akan dibuat. (Indrajani. 2018). Use case diagram adalah gambaran
graphical dari beberapa atau semua aktor, use case dan interaksi
diantaranya yang memperkenalkan suatu sistem.Repsentasi visual yang
mewakili interaksi antara pengguna dan sistem informasi dalam UML.
Jadi, dapat disimpulkan bahwa use case diagram adalah diagram yang
merupakan representasi visual yang mewakili interaksi antara pengguna
dan sistem informasi untuk menunjukan peran dari pengguna dan
bagaimana peran-peran pengguna sistem.

2.3 Gambar Simbol-simbol dalam Use Case diagram (Nugroho, 2010)

30
b. Activity Diagram
Activity Diagram atau Diagram aktivitas menggambarkan workflow
(aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau
menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini
adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan
apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem.
(Indajani. 2018).

2.4 Gambar Simbol-simbol dalam Activity diagram

31
c. Class Diagram
Class menggambarkan sebuah spesifikasi yang jika diinstasiasi akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan
desain berorientasi objek. Class menggambarkan keadaan
(atribut/properti) suatu siste,sekaligus menawarkan layanan untuk
memanipulasi keadaa tersebut (metode/fungsi). Class diagram
menggambarkan struktur dan deskripsi class, package dan objek beserta
hubungan satu sama lain seperti containment, asosiasi, dan lain-lain.

2.5 Gambar Simbol-simbol dalam Class Diagram (Nugroho, 2010)

d. Squence Diagram
Sequence Diagram menjelaskan interaksi objek yang disusun dalam

suatu urutan waktu. Diagram ini secara khusus berasosisasi dengan use
case diagram. Sequence diagram memperlihatkan tahap demi tahap apa
yang seharusnya terjadi untuk menghasilkan sesuatu didalam sequence
diagram.

32
2.6 Gambar Simbol-simbol dalam sequence diagram

e. Communication Diagram
Communication diagram menggambarkan interaksi antar objek seperti
sequence diagram, tetapi lebih menekanka pada peran masingmasing
objek. Setiap message memiliki sequence number, dimana message dari
level tertinggi memiliki nomor 1. Diagram membawa informasi yang
sama dengan diagram sequence tetapi lebih memusatkan atau
memfokuskan pada kegiatan objek dari waktu pesan itu dikirimkan.
f. Component Diagram
Diagram ini bila dikombinasikan dengan diagram penyebaran dapat
digunakan untuk menggambarkan distribusi fisik dari modul perangkat lunak
melalui jaringan. Misalnya, ketika merancang sistem client-server, hal ini
berguna untuk menunjukan mana kelas atau paket kelas akan berada

33
pada mode klien dan mana yang akan berada di server. Diagram
komponen juga dapat berguna dalam merancang dan mengembangkan
sistem berbasis komponen. Karena berfokus pada analisis sistem
berorientasi objek dan desain.
g. Deployment Diagram
Diagram ini menggambarkan pencangkolan secara bersama antara
activity diagram dengan sequence diagram, interaction overview diagram
dapat dianggap sebagai activity diagram dimana semua aktivitas diganti
dengan sedikit sequence diagram, atau bisa juga dianggap sebagai
sequence diagram yang dirincikan dengan notasi activity diagram yang
digunakan untuk menunjukan aliran pengawasan.
h. State Diagram
State Diagram menggambarkan urutan keadaan yang dilalui objek
dalam suatu kelas, karena suatu kejadian menyebabkan suatu
perpindahan aktivitas/state. State dari objek adalah penggolongan dari
satu atau lebih nilai attribute pada kelas. Bersifat dinamis. Diagram state
ini memperlihatkan statestate pada sistem, memuat state, transisi, event,
serta aktivitas. Diagram ini terutama penting untuk memperlihatkan sifat
dinamis dari antar muka, kelas, kolaborasi dan terutama penting pada
pemodelan sistem-sistem yang reaktif.
i. Package Diagram
Package diagram umumnya digunakan untuk mengelompokan elemen
diagram UML yang berlainan secara bersama-sama ke dalam tingkat
pembangunan yang lebih tinggi yaitu berupa sebuah paket. Diagram
paket pada dasarnya adalah diagram kelas yang hanya menampilkan
paket, disamping kelas, dan hubungan ketergantungan.
II.3.16. ERD (Entity Relationship Diagram)
Rosa dan Shalahuddin (2014) menyatakan bahwa pemodelan awal basis
data yang paling banyak digunakan adalah menggunakan ERD (Entity
Reltionship Diagram). Al Fatta (2007:121) menjelaskan, ”ERD (Entity

34
Relationship Diagram) adalah gambar atau diagram yang menunjukkan
informasi dibuat, disimpan, dan digunakan dalam sistem bisnis.”

2.7 Gambar Simbol-Simbol dalam ERD (Entity Relationship Diagram)

35
BAB III
GAMBARAN UMUM PERUSAHAAN

III.1. Sejarah Perusahaan


III.1.1. Sejarah PT.Prokemas Adhikari Kreasi

Gambar 2.1 Logo PT Prokemas Adhikari Kreasi

PT. Prokemas Adhikari Kreasi berdiri sejak tahun 2017 yang bergerak di
bidang industri carton box, ber alamat di Jl. Raya Fatahillah No.106, Kalijaya,
Kec. Cikarang Bar., Bekasi, Jawa Barat 17530.

Seiring majunya perkembangan zaman saat ini, membuat para pelaku industri
untuk terus berupaya menjaga kualitas produk-produk yang dibuatnya supaya
dapat bertahan menghadapi persaingan yang semakin ketat dengan para
kompetitor. Indonesia adalah salah satu negara berkembang di kawasan Asia
Tenggara. Maka dari itu, Indonesia harus terus memajukan sektor industrinya.
Salah satunya yaitu sektor industri bidang kemasan karton box yang cukup
pesat pertumbuhannya.

Dalam kehidupan sehari-hari pemakaian karton box sangat dibutuhakan


sebagai suatu wadah untuk melindungi barang produksi yang akan dipasarkan.
Semakin banyak variasi dan jumlah produksi barang, maka semakin meningkat
juga jumlah kebutuhan penggunaan karton box tersebut.

36
Menghadapi keberagaman kebutuhan konsumen sekarang ini, maka
perusahaan dipaksa untuk memenuhinya supaya loyalitas konsumen terhadap
perusahaan dapat tetap terjaga dengan baik. Selain itu, perubahan selera
konsumen yang sangat cepat membuat perusahaan agar terus berinovasi dalam
membuat produk baru untuk konsumennya, baik dari segi harga, desain,
warna, dan lain-lain.
Dalam membuat produk baru, tampilan kemasan dari sebuah produk tidak
boleh dilupakan, karena tampilan merupakan wujud pertama yang dilihat oleh
konsumen. Kemasan juga akan mempengaruhi sejauh mana produk itu mampu
memenuhi kebutuhan pemakainya.

PT. Prokemas Adhikari Kreasi merupakan salah satu perusahaan yang


bergerak di bidang industri kemasan karton box. Perusahaan ini memproduksi
bermacam-macam jenis produk yang berbahan baku kertas. Kualitas
produknya telah terbukti mutunya yang dibuktikan dengan sertifikasi
internasional berupa ISO 9001:2008 sebagai landasan dasar kualitasnya.

III.1.2. Visi dan Misi


a. Visi
“Menjadi perusahaan industry kemasan terbaik di Indonesia, dengan
mengutamakan kualitas produk serta konsisten terhadap kepercayaan
customer.”

b. Misi
1. Dengan bantuan tenaga kerja ahli kami dengan pengalaman
bertahun-tahun dalam industri carton box dan peralatan teknologi
modern. Kami berkomitmen untuk memulai industri pengemasan
yang baru dengan secara terus-menerus meningkatkan inovasi,
berkelanjutan untuk dapat menerima pelanggan kami.
mempertahankan jalan untuk menerima pelanggan
2. Karena persetujuan pada bulan Juli tahun 2017, harus selalu
bekerja dengan bebas dengan cara semua pelanggan kami untuk
memahami saling pengertian. Dengan demikian, kami akan belajar
untuk memenuhi permintaan pelanggan kami dan juga dengan
senang hati menerima penghargaan dari pelanggan

37
III.2. Struktur Organisasi dan Uraian Tugas
III.2.1. Struktur Organisasi

3.1 Struktur Organisasi PT Prokemas Adhikari Kreasi

III.2.2. Uraian Tugas

a. Factory Manager
Tugas dari seorang factory manager di antaranya :
1. Mengambil akuntabilitas atas keefektifan Sistem Manajemen Mutu
dan Lingkungan.
2. Memastikan kebijkan dan sasaran lingkungan ditetapkan dan
sesuai dengan konteks organisasi.
3. Memastikan integrase persyaratan Sistem Manajemen Mutu dan
Lingkungan, kedalam proses bisnis perusahaan.
4. Memastikan sumber daya yang diperlukan untuk Sistem
Manajemen Mutu dan Lingkungan tersedia.
5. Melakukan komunikasi mengenai pentingnya Manajemen Mutu
dan Lingkungan yang efektif dan sesuai terhadap Persyaratan
Sistem Manajemen tersebut.
6. Pencapaian sasaran Mutu, Lingkungan dan Kesehatan dan
Keselamatan Kerja.
7. Memenuhi peraturan perundang-undangan dan persyaratan lainnya
yang berhubungan bisnis yang di jalankan.

38
Adapun wewenang dari Factory Manager di antaranya :
1. Mendukung peran manajemen untuk memperagakan/menunjukan
kepemimpinan dan tanggung jawab di lingkungan kerja.
2. Mengarahkan dan mendungkan setiap karyawan untuk
berkontribusi pada keefektifan Sistem Manajemen Mutu dan
Lingkungan.
3. Mempromosikan Contiunal Improvement.

b. Production Manager
Tugas dari seorang production manager yaitu bertanggung jawab disetiap
proses produksi, di antaranya :
1. Bertanggung jawab untuk hal kualitas,volume,lingkungan dan
safety di Dept.Produksi.
2. Menjaga kualitas dan produktifitas dan bekerja sama dengan
engineering dan departemen terkait.
3. Memastikan pelaksanaan operasional produksi di jalankan dengan
efektif dan aman.
4. Menjaga operasional produksi untuk mencapai tonase dan kualitas
sesuai dengan standard.
5. Memberikan improvement untuk mencapai target.

Adapun wewenang dari seorang manager produksi di antaranya :


1. Bertanggung jawab dalam melakukan imprrovememnt produksi.
2. Memastikan lingkungan kerja dalam kondisi bersih, aman dan
nyaman.
3. Memberikan pelatihan dan pengembangan personel.
4. Menentukan risikodan peluang dalam hal kualiti, lingkungan dan
safety.
5. Menerbitkan surat peringatan.

39
c. Head Of Quality
Tugas dari seorang Head of Quality yaitu bertanggung jawab untuk
meningkatkan kepuasan pelanggan dan menjamin bahwa produk yang
dikirimkan telah sesuai dengan persyaratan dari pelanggan, di antaranya :
1. Bertanggung jawab dalam melakukan pemeriksaan material bahan
baku, haqil qc dan produk yang akan dikirim ke pelanggan.
2. Bertanggung jawab melakukan koordinasi dengan departemen
terkait dalam menindak lanjuti keluhan pelanggan.
3. Memberikan improvement untuk mencapai target.
4. Memberikan pelatihan dan pengembangan kepada personel qc.
5. Mengkomunikasikan Kebijakan Persuhaan dan Sasaran Mutu
Dept. QC.
Adapun wewenang dari Head Of Quality di antaranya :
1. Menentukan kualitas produk.
2. Memberikan pelatihan dan pengembangan personel.

d. Head of Engineering
Tugas dari seorang Head Of Enginering yaitu membuat dan mengawasi
perencanaan dan pengendalian terhadap seluruh aktifitas perawatan dan
perbaikan mesin dan fasilitas produksi lainnya, di antaranya :
1. Melakukan koordinasi dengan Departement Produksi dan PPIC
dalam melaksanakan service mesin sesuai target waktunya.
2. Memonitor proses persiapan service mesin dan evaluasi hasil
service bersama dengan produksi,
3. Memastikan setiap SPK dapat terealisasi tepat waktunya.
4. Menentukan pekerjaan perawatan/perbaikan mesin yang dilakukan
jam kerja lembur.
5. Memonitor performance mesim (Down time) dan berkooridnasi
dengan foreman untuk menentukan tindakan
perbaikan/pencegahan.

40
Adapun wewenang dari Head Of Engineering di antaranya :
1. Menggunakan semua saran dan prasarana yang ada demi efektivitas
dan efisiensi kerja serta pelayanan.
2. Membuat pelatihan perawatan mesin terhadap bawahan sesuai dengan
prosedur yang berlaku.
3. Mengatur penempatan dan pembagian kerja teknisi.

e. Head Of Supply Chain


Tugas dari seorang Head Of Supply Chain yaitu bertanggung jawab
untuk mengawasi dan mengelola keseluruhan rantai pasokan dan strategi
logistik serta operasi untuk memaksimalkan efisiensi dan produktivitas
proses, di antaranya :
1. Supply chain manajemen menyangkut pertimbangan mengenai lokasi
setiap fasilitas yang memiliki dampak terhadap aktivitas dan biaya
dalam rangka memproduksi produk yang diinginkan pelanggan dari
supplier dan pabrik hingga disimpan di gudang dan pendistribusiannya
ke sentra penjualan.
2. Mencapai efisiensi aktivitas dan biaya seluruh sistem, total biaya
sistem dari transportasi hingga distribusi persediaan bahan baku, proses
kerja dan barang jadi.
3. Penyerahan / pengiriman produk secara tepat waktu demi memuaskan
konsumen.
4. Meningkatkan segala hasil dari seluruh supply chain (bukan hanya satu
perusahaan).
5. Memusatkan kegiatan perencanaan dan distribus.

Adapun wewenang dari Head Of Supply Chain di antaranya :


1. Mengembangkan dan menjaga hubungan baik dengan vendor dan
distributor.
2. merencanakan, menerapkan, dan memantau strategi rantai pasokan
kami secara keseluruhan dan untuk memaksimalkan efisiensi dan
produktivitas.

41
f. Head Of HR&GA
Tugas dari seorang Head Of HR&GA yaitu, Melaksanakan tugas dan
tanggung jawab yang berkaitan dengan sumber daya manusia, di
antaranya :
1. Menyediakan dan memenuhi kebutuhan tenaga kerja sesuai
persyaratan jabatan dan kebutuhan organisasi dan mengatur
penempatannya sesuai rencana kerja organisasi.
2. Menyelenggarakan dan mengkoordinir kegiatan pelatihan
karyawan untuk pengembangan kompetensi karyawan.
3. Melaksanakan tugas dan tanggung jawab pengembangan
organisasi secara efektif dan efisien sehingga mendukung
pencapaian target perusahaan.
4. Memberikan pelatihan dan pengembangan kepada personle HRD
5. Mengikuti semua regulasi pemerintah maupun perusahaan dalam
hal Lingkungan dan Sefty.

Adapun wewenang dari Head of HR&GA di antaranya :


1. Bertanggung jawab dalam melakukan improvement Department HRD.
2. Memberikan pelatihan dan pengembangan personel.
3. Memberikan Sanksi terhadap karyawan indisipliner.

g. Manager IT
Tugas dari seorang Manager IT memastikan bahwa tujuan IT
tercapai,berikut tugas dan wewenang Manager IT :
1. Merencanakan dan mengimplementasikan tujuan dan sasaran
untuk setiap fungsi utama.
2. Berkoordinasi dengan department lain.
3. Memulai kebijakan IT, pedoman dan prosedur.
4. Memastikan kebijakan IT,kepatuhan IT di semua department.
5. Memastikan IT terhadap kepatuhan anggaran.

42
Adapun wewenang dari Manager IT di antaranya :
1. Betanggung jawab atas operasi IT secara umum dan
implementasisistem, termasuk perencanaan, pemrosesan,
implementasi serta pengawan IT.
2. Mengarahkan staff IT untuk peningkatan berkelanjutan & kinerja yang
di optimalkan.
3. Memastikan kebijakan,pedoman,dan prosedur IT dikompilasi.

h. Manager Keuangan
Tugas dari seorang Manager Keuangan bertanggung jawab untuk
membantu perencanaan bisnis dan pengambilan keputusan dengan
memberi nasihat keuangan yang seuai,
di antaranya :
1. Bekerja sama dengan manajer lainnya untuk merencanakan serta
meramalkan beberapa aspek dalam perusahaan termasuk perencanaan
umum keuangan perusahaan.
2. Menjalankan dan mengoperasikan roda kehidupan perusahaan se-
efisien dan se-efektif mungkin dengan menjalin kerja sama dengan
manajer lainnya.
3. Mengambil keputusan penting dalam investasi dan berbagai
pembiayaan serta semua hal yang terkait dengan keputusan tersebut.
4. Menghubungkan perusahaan dengan pasar keuangan, di mana
perusahaan dapat memperoleh dana dan surat berharga perusahaan
dapat diperdagangkan.

Adapun wewenang dari Manager Keuangan di antaranya :


1. Mengkoordinasikan dan mengontrol perencanaan, pelaporan, serta
pembayaran kewajiban pajak perusahaan agar efisien, akurat, tepat
waktu, dan sesuai dengan peraturan pemerintah yang berlaku.
2. Merencanakan dan mengkoordinasikan penyusunan anggaran
perusahaan, serta mengontrol penggunaan anggaran tersebut untuk
memastikan penggunaan dana secara efektif dan efisien dalam
menunjang kegiatan operasional perusahaan.
43
3. Mengelola fungsi akuntansi dalam memproses data dan informasi
keuangan untuk menghasilkan laporan keuangan yang dibutuhkan
perusahaan secara akurat.
4. Merencanakan dan mengkoordinasikan pengembangan sistem serta
prosedur keuangan dan akuntansi. Selain itu juga mengontrol
pelaksanaannya untuk memastikan semua proses dan transaksi
keuangan berjalan dengan tertib dan teratur.
5. Merencanakan dan mengkonsolidasikan perpajakan seluruh perusahaan
untuk memastikan efisiensi biaya dan kepatuhan terhadap peraturan
perpajakan.

i. Head of Marketing
Tugas dari seorang Head Of Marketing Mengkoordinasi dan
mengendalikan seluruh aktifitas di Departmen Marketing, di antaranya :
1. Memenuhi target penjualan yang di tetapkan General Manager.
2. Memonitor perkembangan pasar & harga untuk masukan dalam
menentukan target quantitity dan harga jual.
3. Berkomunikasi dengan pelanggan mengenai produk dan servis
yang di berikan.
4. Berkoodinasi dengan PPIC dan departmen terkait dalam penentuan
jadwal produksi.
5. Memberikan pelatihan dan pengembangan kepada personal
marketing.

Adapun wewenang dari Head Of Marketing di antaranya :


1. Betanggung jawab dalam melakukan improvement marketing.
2. Memastikan price list atas persetujuan General Manager.
3. Memberikan pelatihan dan pengembangan perosnel.

44
III.3. Gambaran Sistem Berjalan
III.3.1. Analisis Sistem yang Berjalan
Analisis sistem adalah penguraian dari suatu sitem informasi yang utuh
kedalam bagian-bagian komponenya dengan maksud untuk
mengidentifikasi dan mengevaluasi permasalahan-permasalahan,
kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-
kebutuhan yang diharapkan, sehingga dapat diusulkan perbaikan-
perbaikanya.
Kegiatan analisis yang berjalan dengan menggunakan analisis sitem
yang berorientasi pada objek-objek sangat diperlukan oleh sistem yang
akan dirancang. Berikut adalah gambaran sistem request maintance
building yang sedang berjalan.

Proses Yang Berjalan


User Admin (Petugas)

Mulai

Menyerahakan Terima Form,


Form RMB Penjadwalan RMB

Verifikasi Jadwal Proses


Pemgerjaan

Pengecekan Selesai
Hasil Pengerjaan

Verifikasi Filling
OK Dokumen

Selesai

3.2 Gambar Sistem Yang Berjalan

45
46
III.3.2. Evaluasi Sistem yang Berjalan
1. Proses Request Maintance Building masih berjalan manual, belum
terkomputerisasi.
2. Proses Request Maintance Building membutuhkan waktu yang lama.
3. Sulit nya melakukan monitoring Proses Request Maintance Building di
karenakan masih berjalan manual.

III.3.3. Perancangan yang Diusulkan

3.3 Gambar Sistem Yang Diusulkan

III.4. Dokumentasi Input dan Ouput


a. Dokumentasi Input
Merupakan awal dimulainya proses informasi, bahan mentah dari informasi
adalah data yang terjadi dari transaksi-terjadinya yang dilakukan oleh suatu
organisasi.

47
b. Dokumentasi Output
Merupakan akhir dari proses informasi yang dapat dilihat output. Dapat
berupa hasil dari media keras (kertas, macro) atau hasil dari media (berupa
tampilan dilayar video maupun audio). Output dapat diklarifikasikan
kedalam beberapa tipe, diantaranya :
1. Output Intern adalah output yang dimaksudkan untuk mendukung
suatu kegiatan managemen. Output ini dapat berupa laporan-laporan.
2. Output ekstern adalah output yang akan didistribusikan kepada pihak luar
yang membutuhkan. Contohnya berupa faktur, check, dan lain-lain.

3.4 Gambar Dokumentasi Input dan Output

48
BAB IV

RANCANGAN DAN IMPLEMENTASI

IV.1. Rancangan

Pada bab ini penulis akan menganalisa serta membentuk komponen-


komponen pemrograman yang dibutuhkan untuk Program Aplikasi yang
penulis susun. Komponen tersebut diantaranya struktur tabel database yang
terdiri dari beberapa tabel serta query, rancangan form input dan output.

IV.1.1. Perancangan Sistem (UML)


Dalam perancangan ini penulis melakukan perancangan perangkat
lunak pada program aplikasi maintance building dengan tahap awal
perancangan diagram UML meliputi usecase, activity, class, sequence,
perancangan database, dan perancangan antar muka (User Interface)
sebagai berikut :

A. Use Case Diagram

Perancangan Use Case Diagram ini bertujuan untuk menentukan


siapa saja (pemakai/actor) yang nantinya akan menggunakan atau
berinteraksi dengan sistem, dan proses-proses apa saja atau langkah-
langkah bagaimana actor akan berinteraksi dengan sistem, maka
diperoleh actor yang nantinya akan berperan langsung dalam sistem ini.

49
4.1 Gambar Use Case Admin

50
4.2 Gambar Use Case User

b. Activity Diagram

Activity Diagram menguraikan interaksi yang terjadi pada sistem


usecase diagram yang berfungsi menggambarkan urutan aktivitas
dimana seorang actor akan berinteraksi dengan sistem.
Dalam tahapan ini penulis menguraikan interaksi yang terjadi antara
admin dengan sistem.

51
1. Activity Diagram Daftar
Activity Diagram Daftar menjelaskan tentang alur proses daftar
kedalam sistem yang dilakukan admin, dapat dijelaskan sebagai
berikut:

4.3 Gambar Activity Diagram Daftar

52
2. Activity Diagram Login
Activity Diagram Login menjelaskan tentang alur proses login
kedalam sistem yang dilakukan admin, dapat dijelaskan sebagai
berikut:

4.4 Gambar Activity Diagram Login


3. Activity Diagram RMB
Activity Diagram Peminjaman menjelaskan tentang bagaimana
alur admin menambah data peminjaman, dapat dijelaskan
sebagai berikut:

4.5 Gambar Activity Diagram RMB

53
c. Class Diagram
Fungsi class diagram adalah untuk menggambarkan struktur dari
segi pendefinisian kelas-kelas yang akan dibuat untuk membangun
sistem absensi karyawan. Kelas-kelas yang ada pada struktur sistem
harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem.
Relasi yang akan digunakan dalam penggmbaran kelas diagram dapat
dilihat dalam tabel berikut ini :

4.6 Gambar Class Diagram Maintance Building

d. Sequence Diagram

4.7 Gambar Sequence Diagram Daftar

54
4.8 Gambar Sequence Diagram Login

4.9 Gambar Sequence Diagram Pengembalian

55
IV.1.2. Perancangan Basisdata
A. ERD

4.10 Gambar ERD (Entity Relationshoip Diagram)

B. Normalisasi

Normalisasi merupakan sebuah upaya untuk memperoleh sebuah basis


data dengan struktur yang baik dengan cara menerapkan sejumlah
aturan pada setiap tabel yang menjadi anggota basis data tersebut.
(Fathansyah.Ir,2002:133).

1. Bentuk Normal Tahap Pertama (1NF)

Berdasarkan ERD diatas, tabel ini sudah memenuhi persyaratan


Normalisasi 1 NF, yaitu tidak boleh ada atribut bernilai ganda atau
atribut ganda.

4.11 Tabel Normalisasi 1NF RMB

Id Rmb_num Nama Tipe_rmb Priority Deskirpsi

1 R00001 Keramik Gelmbung LT2 Incident Urgent Urgent

Nama_user Nama_dept Status


Rizal General Affair Selesai

32

56
2. Bentuk Normalisasi Tahap Kedua (2NF)

Normalisasi selanjutnya yaitu menghilangkan atribut yang


bergantung dengan satu atribut lainnya.

Tabel Normalisasi 2NF


4.2.1 Tabel Normalisasi 2 NF RMB
Id Rmb_num Nama Tipe_rmb Priority Deskirpsi

1 R00001 Keramik Gelmbung LT2 Incident Urgent Urgent

id_user id_dept Status

1 2 Selesai

4.2.2 Tabel Normalisasi 2 NF Departemen

Id Kode Nama Ext

1 GA GA 5555

4.2.3 Tabel Normalisasi 2 NF User

Id Nik Nama Depts Jenis_kelamin Password


1 0000000001 Rizal GA Pria 1234

IV.1.3. Struktur File

Setelah semua dokumen di normalisasi sesuai dengan tata cara, maka


didapatkan beberapa tabel yang sudah normal untuk mendukung
database yang akan di susun. Tabel-tabel tersebut diantaranya adalah
tabel admin, tabel buku, tabel anggota, tabel peminjaman, dan tabel
pengembalian.
Tabel-tabel dari hasil proses normalisasi tersebut disusun serta
ditambahkan dengan data-data pendukung suatu file, sehingga tabel
tersebut akan berisi data-data yang lengkap dan dibutuhkan oleh
perusahaan pengguna program yang akan dibuat. Setelah ditambahkan
dengan data pendukung lainnya, maka didapatkan struktur file sebagai
berikut :

57
1. User
Nama Database : rmb
Nama Tabel : user
Primary Key : id

No Nama Field Type Length Keterangan


1 id int 10 Primary key
2 nik varchar 191
3 nama varchar 191
4 depts int 10
5 jenis_kelamin varchar 191
6 status tinyint 4
7 password varchar 191

2. Departemen
Nama Database : rmb
Nama Tabel : departemen
Primary Key : id

No Nama Field Type Length Keterangan


1 Id int 10 Primary key
2 Kode varchar 191
3 nama varchar 191
4 Ext varchar 191
5 status tinyint 4

3. Rmb
Nama Database : rmb
Nama Tabel : rmb
Primary Key : id

No Nama Field Type Length Keterangan


1 id int 10 Primary key
2 rmb_num varchar 191
3 nama varchar 191
4 tipe_rmb varchar 191
5 priority varchar 191
6 deskripsi varchar 191
7 user_id int 10 Foreign key
8 For_dept int 10 Foreign key

58
IV.1.4. Tampilan Layar dan Algoritma

A. Menu Utama

Tampilan Register User

4.11 Gambar Rancangan Register (Petugas)

Algoritma
Klik Menu Register Users
Isi Form Register Users
Klik Submit

59
B. Input, Edit dan Delete

Tampilan Buat RMB

4.12 Gambar Buat RMB (User)

Algoritma
Klik Menu Buat RMB
Isi Form Buat RMB
Klik Submit

60
C. Query / Pencarian Data

Tampilan Approval RMB

4.13 Gambar Approval RMB (Admin)

Algoritma
Klik Menu Approval RMB
Klik Detail
Pilih Approve / Riject RMB
Klik Submit

61
Tampilan Approval RMB

4.14 Gambar On Progress RMB (Admin)


Algoritma
Klik Menu On Progress RMB
Klik Option
Klik Detail
Klik Selesai
Klik Submit

62
IV.1.5. Output dan Algoritma

A. Cetak di Layar

Tampilan Laporan RMB

4.15 Gambar Laporan RMB (Admin)


Algoritma
Klik Menu Laporan RMB
Klik Tanggal Start
Klik Tanggal End
Klik Export To Excel

63
B. Cetak di Printer

4.16 Gambar Cetak diprinter Laporan RMB (Admin)

64
IV.2. Implementasi

IV.2.1. Strutur Tabel


a. Tabel User

4.17 Gambar Tabel User

b. Tabel Departemen

4.18 Gambar Tabel Departemen

65
c. Tabel RMB

4.19 Gambar Tabel RMB

66
IV.2.2. Hubungan Antar Tabel

4.20 Gambar Hubungan Antar Tabel

67
IV.2.3. Bentuk Tampilan dan Program

Tampilan Login Admin

4.21 Gambar Tampilan Login Admin

A. Tampilan Menu Utama Admin

4.22 Gambar Tampilan Menu Utama Admin

68
4.23 Gambar Tampilan Menu User List

c. Tampilan Input,Edit,Delete

4.24 Gambar Tampilan Menu Buku Admin

69
d. Tampilan Menu Query / Pencarian Data

4.25 Gambar Menu Peminjaman & Pengembalian

Tampilan On Progress

4.26 Gambar Menu Laporan

70
4.2.3.Bentuk Tampilan dan
Program (Validasi)

Validasi Login

Validasi Nik (Minimal 8 Digit)

71
IV.2.4. Bentuk Output dan Program

a. Output Cetak Dilayar

4.27 Gambar Cetak Kartu Anggota

B. Output Cetak Diprinter

4.28 Gambar Output Print Laporan

72
BAB V
KESIMPULAN DAN SARAN
V.1. Kesimpulan

1. Dengan adanya program aplikasi request maintenance building PT


Prokemas Adhikari Kreasi, maka admin mendapatkan kemudahan untuk
monitoring request maintance building serta untuk melihat laporan
didalam aplikasi.
2. Memudahkan admin atau user untuk saling berkoordinasi perihal
maintenance building karena sudah mengakses sistem melalui browser.
3. Dengan dibuatnya program aplikasi requet maintance building, dapat
menciptakan efektivitas dari mulai permintaan, monitoring, approval
sampai dengan pembuatan laporan request maintenance building.
4. Admin General Affair dapat mengunduh laporan MTD ataupun YTD.
5. Dengan dibuatnya program aplikasi request maintance building,
Memudahkan serta mempersingkat waktu Dept peminta untuk proses
request maintance building.
V.2. Saran
1. Sebaiknya Dept.General Affair PT Prokemas Adhikari Kreasi melakukan
sosialisasi program aplikasi request maintenance building ini baik kepada
user maupun dept head PT Prokemas Adhikari Kreasi agar nantinya
aplikasi ini dapat dimanfaatkan secara optimal.
2. Untuk menjaga keoptimalnya pemakaian program aplikasi request
maintenance building pada PT Prokemas Adhikari Kreasi ini hendaknya
memakai tenaga professional yang dalam hal ini sebagai operator yang
dapat mengoperasikan komputer dengan baik,sehingga dapat melakukan
pengolahan data yang lebih baik.
3. Aplikasi request maintenance building ini perlu dikembangkan lagi agar
dapat memenuhi kebutuhan sistem pengelolaan maintenance bulding
sesuai dengan perkembangannya dimasa yang akan datang.
4. Sebaiknya admin selalu membackup setiap datanya, agar mengoptimalkan
setiap kerja system.
5. Aplikasi request maintenance building ini perlu disandingkan dengan anti
virus demi keamanan, serta diberikan nama yang baru sesuai dengan
perkembangannya dimasa yang akan datang.
73
DAFTAR PUSTAKA

Abdulloh Rohi. (2015:2). Web Programming . Jakarta : PT Eks Media Komputindo.

Aristian Nugrohtomo. (2018) “Aplikasi Perpustakaan Smk Pembangunan


Yogyakarta Berbasis Web Menggunakan Codeigniter”.

A.S, Rosa dan M.Shalahuddin. (2018). RPL Terstruktur dan Berorientasi Objek.
Informatika., Bandung.

Bekti, H. B. (2015:35). Mahir Membuat Website dengan Adobe Dreamweaver


CS6, CSS dan JQuery. Yogyakarta: Andi.

Budi Sutedjo.( 2009). Algoritma dan Teknik Pemrograman. Andi ., Yogyakarta.

Edy Winarno, Ali Zaki, SmithDev. (2014:1). Pemrograman Web Berbasis


HTML5, PHP, dan JavaScript. Jakarta: PT Elex Media Komputindo.

Elex media komputindo (2016), Aplikasi Web Database dengan PHP dan MySQL.
PT Elex Media Komputindo., Jakarta.

Fajarriyanto, Dian. (2013) “Sistem Informasi Perpustakaan Berbasis Web”.

Hanif Al Fatta. (2007:121). Analisis dan Perancangan Sistem Informasi. Andi.


Yogyakarta.

Haughee, Eric. (2013). Sublime Text Starter, Birmingham: PACKT Publishing.

Indrajani. (2018). Data Base Design. PT Elex Media Komputindo., Jakarta.

MADCOMS MADIUN. (2016)“Pemrograman PHP dan MySQL untuk Pemula”


Penerbit Andi Yogyakarta.

Menurut Dina Fitria Murad, dkk (2013),

Rohi Abdulloh. (2018) “7 in 1 Pemrograman Web untuk Pemula” Penerbit PT


Elex Media Komputindo., Jakarta.

74
Rinaldi Munir dan Leony Lidya. (2016). Algoritma dan Pemrograman.
Informatika., Bandung.

Suharyoto, A.Ma.Pust. (2014) “Mengenal & Mengelola Perpustakaan” Penerbit


Naafi Book Media.

Sujatmiko, Eko. (2012). Kamus Teknologi informasi dan komunikasi. Surakarta :


Aksarra Sinergi Media.

YM Kusuma Ardahana (EllisLab, (2015). Pemograman PHP:CodeIgniter Black


Box., Jakarta.

http://docplayer.info/115966578-Aplikasi-perpustakaan-smk-pembangunan-yogyakarta-
berbasis-web-menggunakan-codeigniter-disusun-oleh-aristian-nugrohtomo-nomor-
mahasiswa.html

https://studylibid.com/doc/1535207/bab-ii.-tinjauan-pustaka

https://digilib.unila.ac.id/22386/2/SKRIPSI%20TANPA%20BAB%20PEMBAHASAN.pdf

75
DAFTAR RIWAYAT HIDUP


Data Pribadi

Nama Lengkap : Rizal Muttaqin

Tempat, Tanggal Lahir : Tangerang, 03 Juli 1999

Jenis Kelamin : Laki - Laki

Alamat : Perum Inkoppol Blok Q/24


Tambun Selatan – Kab.
Bekasi
Email : Rizalmuttaqin72@gmail.com

Agama : Islam

Data Pendidikan

2005-2011 SDN Wanasari 15


2011-2014 SMPN 2 Cibitung
2014-2017 SMKN 1 Cikarang Barat

76
LAMPIRAN

1. Controller Menu Admin (Petugas)

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Admin extends CI_Controller

{ function __construct()

{ parent::__construct();

/ cek session yang login, jika session status tidak sama dengan session
admin_login,maka halaman akan di alihkan kembali ke halaman login.

if($this->session->userdata('status')!="admin_login")

{ redirect(base_url().'login?alert=belum_login'); }

function index(){

$this->load->view('admin/v_header');

$this->load->view('admin/v_index');

$this->load->view('admin/v_footer');

function logout(){

$this->session->sess_destroy();

redirect(base_url().'login?alert=logout');

77
}

function ganti_password(){

$this->load->view('admin/v_header');

$this->load->view('admin/v_ganti_password');

$this->load->view('admin/v_footer');

function ganti_password_aksi(){

$baru = $this->input->post('password_baru');

$ulang = $this->input->post('password_ulang');

$this->form_validation->set_rules('password_baru','Password
Baru','required|matches[password_ulang]');

$this->form_validation->set_rules('password_ulang','Ulangi
Password','required');

if($this->form_validation->run()!=false){

$id = $this->session->userdata('id_admin');

$where = array('id_admin' => $id_admin);

$data = array('password' => md5($baru));

$this->m_data->update_data($where,$data,'admin');

redirect(base_url().'admin/ganti_password/?alert=sukses'); }

else{

$this->load->view('admin/v_header');

$this->load->view('admin/v_ganti_password');

$this->load->view('admin/v_footer');

78
}

// buku

function buku(){

// mengambil data dari database

$data['buku'] = $this->m_data->get_data('buku')->result();

$this->load->view('admin/v_header');

$this->load->view('admin/v_buku',$data);

$this->load->view('admin/v_footer');

// akhir buku

function buku_tambah(){

$this->load->view('admin/v_header');

$this->load->view('admin/v_buku_tambah');

$this->load->view('admin/v_footer');

function admin_tambah_aksi(){

$judul_buku = $this->input->post('judul_buku');

$penulis = $this->input->post('penulis'); $tahun

= $this->input->post('tahun');

79
$penerbit = $this->input->post('penerbit');

$stock = $this->input->post('stock');

$data = array(

'judul_buku' => $judul_buku,

'penulis' => $penulis,

'tahun' => $tahun,

'penerbit' => $penerbit,

'stock' => $stock

);

// insert data ke database

$this->m_data->insert_data($data,'buku');

$this->session->set_flashdata('message','<div class="alert alert-


primary"role="alert">Buku Berhasil Ditambah..</div>');

/ mengalihkan halaman ke halaman data anggota

redirect(base_url().'admin/buku');

function buku_edit($id_buku){

$where = array('id_buku' => $id_buku);

// mengambil data dari database sesuai id

$data['buku'] = $this->m_data->edit_data($where,'buku')->result();

$this->load->view('admin/v_header');

$this->load->view('admin/v_buku_edit',$data);

80
$this->load->view('admin/v_footer');

function buku_update(){

$id_buku = $this->input->post('id_buku');

$judul_buku = $this->input->post('judul_buku');

$tahun = $this->input->post('tahun');

$penulis = $this->input->post('penulis');

$penerbit = $this->input->post('penerbit');

$stock = $this->input->post('stock');

$where = array(

'id_buku' => $id_buku

);

$data = array(

'judul_buku' => $judul_buku,

'tahun' => $tahun,

'penulis' => $penulis,

'penerbit' => $penerbit,

'stock' => $stock

);

// update data ke database

$this->m_data->update_data($where,$data,'buku');

$this->session->set_flashdata('message','<div class="alert alert-success"


role="alert">Update Sukses..</div>');

81
/ mengalihkan halaman ke halaman data buku

redirect(base_url().'admin/buku');

function buku_hapus($id_buku){

$where = array(

'id_buku' => $id_buku

);

/ menghapus data buku dari database sesuai id

$this->m_data->delete_data($where,'buku');

$this->session->set_flashdata('message','<div class="alert alert-danger"


role="alert">Delete Sukses..</div>');

/ mengalihkan halaman ke halaman data buku

redirect(base_url().'admin/buku');

/ CRUD petugas

function anggota(){

// mengambil data dari database

$data['anggota'] = $this->m_data->get_data('anggota')->result();

$this->load->view('admin/v_header');

$this->load->view('admin/v_anggota',$data);

$this->load->view('admin/v_footer');

function anggota_tambah(){

82
$this->load->view('admin/v_header');

$this->load->view('admin/v_anggota_tambah');

$this->load->view('admin/v_footer'); }

function anggota_tambah_aksi(){

$nm_anggota = $this->input->post('nm_anggota');

$nis = $this->input->post('nis');

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

$password = $this->input->post('password');

$kelas= $this->input->post('kelas');

$alamat = $this->input->post('alamat');

$no_telp = $this->input->post('no_telp');

$data = array(

'nm_anggota' => $nm_anggota,

'nis' => $nis,

'username' => $username,

'password' => md5($password),

'kelas' => $kelas,

'alamat' => $alamat,

'no_telp' => $no_telp

);

83
// insert data ke database

$this->m_data->insert_data($data,'anggota');

// mengalihkan halaman ke halaman data anggota

$this->session->set_flashdata('message','<div class="alert alert-primary"


role="alert">Anggota Berhasil Ditambah..</div>');

redirect(base_url().'admin/anggota');

function anggota_edit($id_anggota){

$where = array('id_anggota' => $id_anggota);

// mengambil data dari database sesuai id

$data['anggota'] = $this->m_data->edit_data($where,'anggota')->result();

$this->load->view('admin/v_header');

$this->load->view('admin/v_anggota_edit',$data);

$this->load->view('admin/v_footer');

function anggota_update(){

$id_anggota = $this->input->post('id_anggota');

$nm_anggota = $this->input->post('nm_anggota');

$nis = $this->input->post('nis');

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

$password = $this->input->post('password');

$kelas = $this->input->post('kelas');

$alamat = $this->input->post('alamat');

84
$no_telp = $this->input->post('no_telp');

$where = array(

'id_anggota' => $id_anggota

);

/ cek apakah form password di isi atau tidak

if($password==""){

$data = array(

'nm_anggota' => $nm_anggota,

'nis' =>$nis,

'username' => $username,

'kelas' => $kelas, 'alamat'

=> $alamat, 'no_telp' =>

$no_telp

);

/ update data ke database

$this->m_data->update_data($where,$data,'anggota');

}else{

$data = array(

'nm_anggota' => $nm_anggota,

'nis' => $nis,

'username' => $username,

'password' => md5($password),

85
'kelas' => $kelas,

'alamat' => $alamat,

'no_telp' => $no_telp

);

// update data ke database

$this->m_data->update_data($where,$data,'anggota');

// mengalihkan halaman ke halaman data anggota

$this->session->set_flashdata('message','<div class="alert alert-success"


role="alert">Update Sukses!</div>');

redirect(base_url().'admin/anggota');

function anggota_hapus($id_anggota){

$where = array(

'id_anggota' => $id_anggota

);

// menghapus data anggota dari database sesuai id

$this->m_data->delete_data($where,'anggota

');

// mengalihkan halaman ke halaman data anggota

$this->session->set_flashdata('message','<div class="alert alert-danger"


role="alert"> Anggota Terhapus..</div>');

86
redirect(base_url().'admin/anggota

')

// buku

function peminjaman(){

// mengambil data dari database

$data['peminjaman'] = $this->db->query("select peminjaman.*


,buku.judul_buku, anggota.nm_anggota from peminjaman join buku on
peminjaman.id_buku=buku.id_buku join anggota on
peminjaman.id_anggota=anggota.id_anggota order by id_peminjaman
desc")->result();

/ $data['peminjaman'] = $this->m_data->get_data('peminjaman')->result();

$this->load->view('admin/v_header'); $this->load-

>view('admin/v_peminjaman',$data); $this->load-

>view('admin/v_footer');

function peminjaman_tambah(){

/ mengambil data buku yang berstatus 1 (tersedia) dari database

$where = array('status'=>1);

/ $data['buku'] = $this->m_data->edit_data($where,'buku')->result();

$data['buku'] = $this->db->get('buku')->result_array();

/ mengambil data anggota dari database

/ $data['anggota'] = $this->m_data->get_data('anggota')->result();

$data['anggota'] = $this->db->get('anggota')->result_array();

87
$this->load->view('admin/v_header');

$this->load->view('admin/v_peminjaman_tambah',$data);

$this->load->view('admin/v_footer'); }

function peminjaman_tambah_aksi(){

$id_buku = $this->input->post('id_buku');

$id_anggota = $this->input->post('id_anggota');

$tgl_peminjaman = $this->input->post('tgl_peminjaman');

$tgl_bataspengembalian = $this->input->post('tgl_bataspengembalian');

$jml_peminjaman = $this->input->post('jml_peminjaman');

$data = array(

'id_buku' => $id_buku,

'id_anggota' => $id_anggota,

'tgl_peminjaman' => $tgl_peminjaman,

'tgl_bataspengembalian' => $tgl_bataspengembalian,

'jml_peminjaman' => $jml_peminjaman );

// insert data ke database

$this->m_data->insert_data($data,'peminjaman');

$this->session->set_flashdata('message','<div class="alert alert-success"


role="alert">Peminjaman Berhasil Ditambah.. </div>');

/ mengalihkan halaman ke halaman data anggota

redirect(base_url().'admin/pengembalian');

88
}

function peminjaman_batalkan($id_peminjaman, $id_buku){

$this->db->delete('peminjaman',['id_peminjaman'=>$id_peminjaman]);

$this->session->set_flashdata('message','<div class="alert alert-success"


role="alert"> Berhasil menghapus data ! </div>');

/ mengalihkan halaman ke halaman data buku

redirect(base_url().'admin/pengembalian');

/ buku

function pengembalian(){

// mengambil data dari database

$data['peminjaman'] = $this->db->query("select peminjaman.*


,buku.judul_buku, anggota.nm_anggota from peminjaman join buku on
peminjaman.id_buku=buku.id_buku join anggota on
peminjaman.id_anggota=anggota.id_anggota order by id_peminjaman
desc")->result();

/ $data['peminjaman'] = $this->m_data->get_data('peminjaman')->result();

$this->load->view('admin/v_header'); $this->load-

>view('admin/v_pengembalian',$data); $this->load-

>view('admin/v_footer');

function pengembalian_aksi($id_peminjaman)

{ $data['id_peminjaman1'] = $id_peminjaman;

$data['peminjaman'] = $this->m_data->c_peminjaman($id_peminjaman);

89
$this->form_validation->set_rules('id_peminjaman', 'id_peminjaman',
'required');if($this->form_validation->run() == false){$this->load-
>view('admin/v_header');

$this->load->view('admin/v_pengembalian_aksi',$data);

$this->load->view('admin/v_footer');

}else{

$tgl_bataspengembalian = $this->input->post('tgl_bataspengembalian');
$tgl_pengembalian = $this->input->post('tgl_pengembalian');

if($tgl_bataspengembalian >= $tgl_pengembalian){

$denda = 'Tidak Denda';

} else{

$denda = 'Denda Rp. 20000';

$data = array(

'id_peminjaman' => $this->input->post('id_peminjaman'),

'tgl_pengembalian' => $this->input->post('tgl_pengembalian'),

'denda' => $denda

);

// insert data ke database

$this->m_data->insert_data($data,'pengembalian');

/ $this->db->delete('peminjaman',['id_peminjaman'=>$id_peminjaman]);

/ mengalihkan halaman ke halaman data anggota


redirect(base_url().'admin/pengembalian');

90
}

function anggota_kartu($id_anggota){

$where = array('id_anggota' => $id_anggota);

// mengambil data dari database sesuai id

$data['anggota'] = $this->m_data->edit_data($where,'anggota')->result();

$this->load->view('admin/v_anggota_kartu',$data);

// peminjaman

function peminjaman_laporan(){

if(isset($_GET['tanggal_mulai']) && isset($_GET['tanggal_sampai'])){

$mulai = $this->input->get('tanggal_mulai');

$sampai = $this->input->get('tanggal_sampai');

//mengambil data peminjaman berdasarkan tanggal mulai sampai tanggal sampai

$data['peminjaman'] = $this->db->query("select * from


peminjaman,buku,anggota where peminjaman.id_buku=buku.id_buku and
peminjaman.id_anggota=anggota.id_anggota and date(tgl_peminjaman)
>= '$mulai' and date(tgl_peminjaman) <= '$sampai' order by
id_peminjaman desc")->result();

}else{

//mengambil data peminjaman buku dari database |

dan mengurutkan data dari id peminjaman terbesar ke terkecil (desc)

$data['peminjaman'] = $this->db->query("select * from


peminjaman,buku,anggota where peminjaman.id_buku=buku.id_buku and

91
peminjaman.id_anggota=anggota.id_anggota order by id_peminjaman
desc")->result();

$this->load->view('admin/v_header');

$this->load->view('admin/v_peminjaman_laporan',$data);

$this->load->view('admin/v_footer');

function peminjaman_cetak(){

if(isset($_GET['tanggal_mulai']) && isset($_GET['tanggal_sampai'])){

$mulai = $this->input->get('tanggal_mulai');

$sampai = $this->input->get('tanggal_sampai');

//mengambil data peminjaman berdasarkan tanggal mulai sampai tanggal sampai

$data['peminjaman'] = $this->db->query("select * from


peminjaman,buku,anggota where peminjaman.id_buku=buku.id_buku and
peminjaman.id_anggota=anggota.id_anggota and date(tgl_peminjaman)
>= '$mulai' and date(tgl_peminjaman) <= '$sampai' order by
id_peminjaman desc")->result();

$this->load->view('admin/v_peminjaman_cetak',$data);

}else{

redirect(base_url().'admin/peminjaman');

// akhir peminjaman

92
2. Controller Menu Anggota

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Anggota extends CI_Controller {

function __construct(){

parent::__construct();

/ cek session yang login, jika session status tidak sama dengan session
anggota_login,maka halaman akan di alihkan kembali ke halaman login.if

($this->session->userdata('status')!="anggota_login")

{redirect(base_url().'login?alert=belum_login');

}}

function index(){

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_index');

$this->load->view('anggota/v_footer');

function logout(){

$this->session->sess_destroy();

redirect(base_url().'login?alert=logout');

function ganti_password(){

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_ganti_password');

93
$this->load->view('anggota/v_footer');

function ganti_password_aksi(){

$baru = $this->input->post('password_baru');

$ulang = $this->input->post('password_ulang');

$this->form_validation->set_rules('password_baru','Password
Baru','required|matches[password_ulang]');

$this->form_validation->set_rules('password_ulang','Ulangi
Password','required');

if($this->form_validation->run()!=false){

$id = $this->session->userdata('id');

$where = array('id' => $id);

$data = array('password' => md5($baru));

$this->m_data->update_data($where,$data,'anggota');

redirect(base_url().'anggota/ganti_password/?alert=sukses'); }

else{

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_ganti_password');

$this->load->view('anggota/v_footer');

}}

// crud anggota

function anggota(){

// mengambil data dari database

94
$data['anggota'] = $this->m_data->get_data('anggota')->result();

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_anggota',$data);

$this->load->view('anggota/v_footer');

function anggota_tambah(){

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_anggota_tambah');

$this->load->view('anggota/v_footer'); }

function anggota_tambah_aksi(){

$nama = $this->input->post('nama');

$nik = $this->input->post('nik');

$alamat = $this->input->post('alamat');

$data = array(

'nama' => $nama,

'nik' => $nik,

'alamat' => $alamat);

// insert data ke database

$this->m_data->insert_data($data,'anggota');

/ mengalihkan halaman ke halaman data anggota


redirect(base_url().'anggota/anggota');

95
function anggota_edit($id){

$where = array('id' => $id);

// mengambil data dari database sesuai id

$data['anggota'] = $this->m_data->edit_data($where,'anggota')->result();

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_anggota_edit',$data);

$this->load->view('anggota/v_footer');

function anggota_update(){

$id = $this->input->post('id');

$nama = $this->input->post('nama');

$nik = $this->input->post('nik');

$alamat = $this->input->post('alamat');

$where = array(

'id' => $id);

$data = array(

'nama' => $nama,

'nik' => $nik,

'alamat' => $alamat);

// update data ke database

$this->m_data->update_data($where,$data,'anggota');

/ mengalihkan halaman ke halaman data anggota

95

96
redirect(base_url().'anggota/anggota');

function anggota_hapus($id){

$where = array(

'id' => $id);

// menghapus data anggota dari database sesuai id

$this->m_data->delete_data($where,'anggota');

/ mengalihkan halaman ke halaman data anggota

redirect(base_url().'anggota/anggota');

function anggota_kartu($id){

$where = array('id' => $id);

/ mengambil data dari database sesuai id

$data['anggota'] = $this->m_data->edit_data($where,'anggota')->result();
$this->load->view('anggota/v_anggota_kartu',$data);

/ akhir crud anggota

/ crud buku

function buku(){

// mengambil data dari database

$data['buku'] = $this->m_data->get_data('buku')->result();

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_buku',$data);

$this->load->view('anggota/v_footer');
97
}

function buku_tambah(){

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_buku_tambah');

$this->load->view('anggota/v_footer');

function buku_tambah_aksi(){

$judul = $this->input->post('judul');

$tahun = $this->input->post('tahun');

$penulis = $this->input->post('penulis');

$data = array(

'judul' => $judul,

'tahun' => $tahun,

'penulis' => $penulis,

'status' => 1);

// insert data ke database

$this->m_data->insert_data($data,'buku');

/ mengalihkan halaman ke halaman data buku

redirect(base_url().'anggota/buku');

function buku_edit($id){

98
$where = array('id' => $id);

// mengambil data dari database sesuai id

$data['buku'] = $this->m_data->edit_data($where,'buku')->result();

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_buku_edit',$data);

$this->load->view('anggota/v_footer');

function buku_update(){

$id = $this->input->post('id');

$judul = $this->input->post('judul');

$tahun = $this->input->post('tahun');

$penulis = $this->input->post('penulis');

$status = $this->input->post('status');

$where = array(

'id' => $id);

$data = array(

'judul' => $judul,

'tahun' => $tahun,

'penulis' => $penulis,

'status' => $status);

// update data ke database

98

99
$this->m_data->update_data($where,$data,'buku');

/ mengalihkan halaman ke halaman data buku

redirect(base_url().'anggota/buku');

function buku_hapus($id){

$where = array(

'id' => $id);

/ menghapus data buku dari database sesuai id

$this->m_data->delete_data($where,'buku');

/ mengalihkan halaman ke halaman data buku

redirect(base_url().'anggota/buku');

/ akhir crud buku

/ proses transaksi_peminjaman

function peminjaman(){

$anggota1 = $this->db->get_where('anggota', ['id_anggota' => $this-


>session->userdata('id_anggota')])->row_array();

$id = $anggota1['id_anggota'];

// mengambil data dari database

$data['peminjaman'] = $this->db->query("select peminjaman.*


,buku.judul_buku, anggota.nm_anggota from peminjaman join buku on
peminjaman.id_buku=buku.id_buku join anggota on
peminjaman.id_anggota=anggota.id_anggota where
peminjaman.id_anggota = '$id' order by id_peminjaman desc")->result();

100
/ $data['peminjaman'] = $this->m_data->get_data('peminjaman')->result();

$this->load->view('anggota/v_header'); $this->load-

>view('anggota/v_peminjaman',$data); $this->load-

>view('anggota/v_footer');

function peminjaman_tambah(){

/ mengambil data buku yang berstatus 1 (tersedia) dari database

$where = array('status'=>1);

$data['buku'] = $this->m_data->edit_data($where,'buku')->result();

// mengambil data anggota dari database

$data['anggota'] = $this->m_data->get_data('anggota')->result();

$this->load->view('anggota/v_header');

$this->load->view('anggota/v_peminjaman_tambah',$data);

$this->load->view('anggota/v_footer');

function peminjaman_aksi(){

$buku = $this->input->post('buku');

$anggota = $this->input->post('anggota');

$tanggal_mulai = $this->input->post('tanggal_mulai');

$tanggal_sampai = $this->input->post('tanggal_sampai');

$data = array(

'peminjaman_buku' => $buku,

101
'peminjaman_anggota' => $anggota,

'peminjaman_tanggal_mulai' => $tanggal_mulai,

'peminjaman_tanggal_sampai' => $tanggal_sampai,

'peminjaman_status' => 2);

// insert data ke database

$this->m_data->insert_data($data,'peminjaman');

/ mengubah status buku menjadi di pinjam (2)

$w = array(

'id' => $buku); $d

= array( 'status' =>

2);

$this->m_data->update_data($w,$d,'buku');

/ mengalihkan halaman ke halaman data peminjaman

redirect(base_url().'anggota/peminjaman');

function peminjaman_batalkan($id){

$where = array( 'peminjaman_id' =>

$id);

/ mengambil data buku pada peminjaman ber id tersebut

$data = $this->m_data->edit_data($where,'peminjaman')->row();

$buku = $data->peminjaman_buku;

/ mengembalikan status buku kembali ke tersedia (1)

101

102
$w = array(

'id' => $buku);

$d = array(

'status' => 1);

$this->m_data->update_data($w,$d,'buku');

// menghapus data peminjaman dari database sesuai id

$this->m_data->delete_data($where,'peminjaman');

/ mengalihkan halaman ke halaman data buku

redirect(base_url().'anggota/peminjaman');

function peminjaman_selesai($id){

$where = array( 'peminjaman_id'

=> $id);

/ mengambil data buku pada peminjaman ber id tersebut

$data = $this->m_data->edit_data($where,'peminjaman')->row();

$buku = $data->peminjaman_buku;

/ mengembalikan status buku kembali ke tersedia (1)

$w = array(

'id' => $buku); $d

= array( 'status' =>

1);

$this->m_data->update_data($w,$d,'buku');

102

103
// mengubah status peminjaman menjadi selesai (1)

$this->m_data-
>update_data($where,array('peminjaman_status'=>1),'peminjaman');

/ mengalihkan halaman ke halaman data buku

redirect(base_url().'anggota/peminjaman');

function peminjaman_laporan(){

if(isset($_GET['tanggal_mulai']) && isset($_GET['tanggal_sampai'])){


$mulai = $this->input->get('tanggal_mulai');

$sampai = $this->input->get('tanggal_sampai');

// mengambil data peminjaman berdasarkan tanggal mulai sampai tanggal sampai

$data['peminjaman'] = $this->db->query("select *
frompeminjaman,buku,anggota where
peminjaman.peminjaman_buku=buku.id and
peminjaman.peminjaman_anggota=anggota.id and
date(peminjaman_tanggal_mulai) >= '$mulai' and
date(peminjaman_tanggal_mulai) <= '$sampai' order by peminjaman_id
desc")->result();

}else{

/ mengambil data peminjaman buku dari database | dan mengurutkan data dari id
peminjaman terbesar ke terkecil (desc)

$data['peminjaman'] = $this->db->query("select * from


peminjaman,buku,anggota where peminjaman.peminjaman_buku=buku.id
and peminjaman.peminjaman_anggota=anggota.id order by
peminjaman_id desc")->result();

104
$this->load->view('anggota/v_header');

$this->load->view('anggota/v_peminjaman_laporan',$data);

$this->load->view('anggota/v_footer');

function peminjaman_cetak(){

if(isset($_GET['tanggal_mulai']) && isset($_GET['tanggal_sampai'])){


$mulai = $this->input->get('tanggal_mulai');

$sampai = $this->input->get('tanggal_sampai');

// mengambil data peminjaman berdasarkan tanggal mulai sampai tanggal sampai

$data['peminjaman'] = $this->db->query("select * from


peminjaman,buku,anggota where peminjaman.peminjaman_buku=buku.id
and peminjaman.peminjaman_anggota=anggota.id and
date(peminjaman_tanggal_mulai) >= '$mulai' and
date(peminjaman_tanggal_mulai) <= '$sampai' order by peminjaman_id
desc")->result();

$this->load->view('anggota/v_peminjaman_cetak',$data);

}else{

redirect(base_url().'anggota/peminjaman');

} } }

3. Controller Menu Login

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Login extends CI_Controller {

function __construct(){

105
parent::__construct();

public function index(){

$this->load->view('v_login');

function login_aksi(){

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

$password = $this->input->post('password');

$sebagai = $this->input->post('sebagai');

$this->form_validation->set_rules('username','Username','required');

$this->form_validation->set_rules('password','Password','required');

if($this->form_validation->run() != false){

$where = array(

'username' => $username,

'password' => md5($password));

if($sebagai == "admin"){

$cek = $this->m_data->cek_login('admin',$where)->num_rows();

$data = $this->m_data->cek_login('admin',$where)->row();

if($cek > 0){

$data_session = array(

'id' => $data->id,

'username' => $data->username,

105

106
'status' => 'admin_login');

$this->session->set_userdata($data_session);

redirect(base_url().'admin');

}else{

redirect(base_url().'login?alert=gagal');

}else if($sebagai == "anggota"){

$cek = $this->m_data->cek_login('anggota',$where)->num_rows();

$data = $this->m_data->cek_login('anggota',$where)->row();

if($cek > 0){

$data_session = array(

'id_anggota' => $data->id_anggota,

'nm_anggota' => $data->nm_anggota,

'username' => $data->username,

'status' => 'anggota_login');

$this->session->set_userdata($data_session);

redirect(base_url().'anggota');

}else{

redirect(base_url().'login?alert=gagal');

}}

}else{

$this->load->view('v_login'); }}}

107

Anda mungkin juga menyukai