JAKARTA STI&K
SKRIPSI
JAKARTA
September 2022
i
LEMBAR PENGESAHAN
Disetujui oleh :
Dosen Pembimbing Ka. Subag Sidang
ii
PERNYATAAN ORIGINALITAS DAN PUBLIKASI
Menyatakan bahwa tulisan ini adalah karya saya sendiri dan dapat dipublikasikan
sepenuhnya oleh STMIK JAKARTA STI&K. Segala kutipan dalam bentuk
apapun telah mengikuti kaidah, etika yang berlaku. Mengenai isi dan tulisan
adalah merupakan tanggung jawab Penulis, bukan STMIK JAKARTA STI&K.
Jakarta
iii
ABSTRAK
iv
ABSTRACT
v
KATA PENGANTAR
vi
6. Kedua Orang Tua tercinta Bapak Mulyono dan Ibu Suratmi, yang selalu
memberikan do’a kepercayaan dukungan kepada penulis dan seluruh
keluarga besar yang selalu memberikan semangat kepada penulis.
7. Teman-teman penulis yang telah banyak memberikan bantuan saran serta
motivasi kepada penulis.
8. Dan semua pihak yang membantu penulis dalam menyelesaikan penulisan
ilmiah ini yang tidak dapat disebutkan satu persatu.
Semoga Allah SWT selalu melimpahkan rahmat-nya kepada semua pihak
yang telah membantu penulis dalam penyelesaian tulisan ini. Akhir kata
diharapkan penulisan ini dapat bermanfaat bagi penulis sendiri khususnya dan
juga bagi para pembaca pada umumnya.
Wassalamualaikum Warahmatullahi Wabarakatuh.
Penulis
vii
DAFTAR ISI
viii
2.10 Internet ...................................................................................................... 11
2.11 Unified Modeling Language (UML) ......................................................... 12
2.11.1 Use Case Diagram ..................................................................................... 12
2.11.2 Class Diagram ........................................................................................... 14
2.11.3 Activity Diagram ....................................................................................... 16
2.11.4 Squence Diagram ...................................................................................... 18
2.12 Struktur Navigasi....................................................................................... 20
2.12.1 Struktur Navigasi Linier ............................................................................ 20
2.12.2 Struktur Navigasi Hierarchi ...................................................................... 21
2.12.3 Struktur Navigasi Non-Linier.................................................................... 21
2.12.4 Struktur Navigasi Composite .................................................................... 22
2.13 Browser ..................................................................................................... 22
2.14 XAMPP ..................................................................................................... 23
2.15 Database (Basis Data) ............................................................................... 23
2.15.1 Fungsi Database ........................................................................................ 23
2.16 My Structure Query Language (MySQL) ................................................. 24
2.16.1 Keunggulan MySQL ................................................................................. 24
2.17 Hypertext Markup Language (HTML) ..................................................... 25
2.18 Cascading Style Sheets (CSS) ................................................................... 25
2.19 Hypertext Preprocessor (PHP) .................................................................. 26
2.20 Javascript ................................................................................................... 27
2.21 Bootstrap ................................................................................................... 27
3. ANALISA DAN PEMBAHASAN ........................................................... 29
3.1 Profil Perusahaan ....................................................................................... 29
3.1.1 Visi Perusahaan ......................................................................................... 29
3.1.2 Misi Perusahaan ........................................................................................ 29
3.2 Struktur Organisasi Perusahaan ................................................................ 30
3.3 Proses Bisnis Perusahaan .......................................................................... 32
3.4 Sistem Berjalan ......................................................................................... 33
3.5 Analisa Masalah ........................................................................................ 34
3.6 Permasalahan ............................................................................................. 35
ix
3.7 Pemecahan Masalah .................................................................................. 35
3.8 Usulan Sistem Berjalan ............................................................................. 36
3.9 Analisis Sistem .......................................................................................... 37
3.10 Perancangan Struktur Navigasi ................................................................. 39
3.10.1 Struktur Navigasi Admin .......................................................................... 39
3.10.2 Struktur Navigasi Manajer ........................................................................ 40
3.10.3 Struktur Navigasi Karyawan ..................................................................... 40
3.11 Perancangan Sistem................................................................................... 40
3.11.1 Use Case Diagram ..................................................................................... 41
3.11.2 Class Diagram ........................................................................................... 44
3.11.3 Activity Diagram ....................................................................................... 46
3.11.4 Sequence Diagram ..................................................................................... 68
3.12 Perancangan Database ............................................................................... 84
3.13 Perancangan Tampilan .............................................................................. 87
3.13.1 Perancangan Tampilan Admin .................................................................. 87
3.13.2 Perancangan Tampilan Manajer ................................................................ 92
3.13.3 Perancangan Tampilan Karyawan ............................................................. 97
4. IMPLEMENTASI DAN PENGUJIAN .................................................. 101
4.1.1 Implementasi Database (Basis Data)....................................................... 101
4.1.2 Table Pekerjaan ....................................................................................... 102
4.1.3 Table Pengguna ....................................................................................... 103
4.1.4 Table Tugas ............................................................................................. 104
4.1.5 Table Laporan ......................................................................................... 105
4.2 Implementasi Tampilan ........................................................................... 105
4.2.1 Implementasi Tampilan Admin ............................................................... 106
4.2.2 Implementasi Tampilan Manajer ............................................................ 112
4.2.3 Implementasi Tampilan Karyawan ......................................................... 118
4.3 Pengujian ................................................................................................. 122
4.4 Perangkat ................................................................................................. 125
4.4.1 Perangkat Keras ....................................................................................... 125
4.4.2 Perangkat Lunak ...................................................................................... 125
x
5. PENUTUP ............................................................................................... 126
5.1 Simpulan.................................................................................................. 126
5.2 Saran ........................................................................................................ 126
DAFTAR PUSTAKA ......................................................................................... 127
LAMPIRAN ........................................................................................................ 129
xi
DAFTAR GAMBAR
xii
Gambar 3. 21 Activity Diagram Edit Laporan ...................................................... 58
Gambar 3. 22 Activity Diagram Hapus Laporan .................................................. 59
Gambar 3. 23 Activity Diagram Tambah Akun Pengguna ................................... 60
Gambar 3. 24 Activity Diagram Daftar Akun Pengguna ...................................... 61
Gambar 3. 25 Activity Diagram Edit Akun Pengguna ......................................... 62
Gambar 3. 26 Activity Diagram Hapus Akun Pengguna ...................................... 63
Gambar 3. 27 Activity Diagram Lihat Akun Pengguna ........................................ 64
Gambar 3. 28 Activity Diagram Rangkuman ....................................................... 65
Gambar 3. 29 Activity Diagram Laporan ............................................................. 66
Gambar 3. 30 Activity Diagram Cetak Laporan ................................................... 67
Gambar 3. 31 Activity Diagram Logout ............................................................... 68
Gambar 3. 32 Sequence Diagram Login ............................................................... 69
Gambar 3. 33 Sequence Diagram Tambah Pekerjaan ........................................... 70
Gambar 3. 34 Sequence Diagram Daftar Pekerjaan.............................................. 70
Gambar 3. 35 Sequence Diagram Edit Pekerjaan ................................................. 71
Gambar 3. 36 Sequence Diagram Hapus Pekerjaan.............................................. 72
Gambar 3. 37 Sequence Diagram Detail Pekerjaan .............................................. 72
Gambar 3. 38 Sequence Diagram Cetak Detail Pekerjaan .................................... 73
Gambar 3. 39 Sequence Diagram Tambah Tugas ................................................. 74
Gambar 3. 40 Sequence Diagram Edit Tugas ....................................................... 74
Gambar 3. 41 Sequence Diagram Hapus Tugas.................................................... 75
Gambar 3. 42 Sequence Diagram Lihat Tugas ..................................................... 76
Gambar 3. 43 Sequence Tambah Laporan ............................................................ 76
Gambar 3. 44 Sequence Diagram Edit Laporan.................................................... 77
Gambar 3. 45 Sequence Diagram Hapus Laporan ................................................ 78
Gambar 3. 46 Sequence Tambah Akun Pengguna ................................................ 78
Gambar 3. 47 Sequence Daftar Akun Pengguna ................................................... 79
Gambar 3. 48 Sequence Diagram Edit Akun Pengguna ....................................... 80
Gambar 3. 49 Sequence Diagram Hapus Akun Pengguna.................................... 81
Gambar 3. 50 Sequence Diagram Lihat Akun Pengguna ..................................... 81
Gambar 3. 51 Sequence Diagram Rangkuman ..................................................... 82
xiii
Gambar 3. 52 Sequence Diagram Laporan ........................................................... 83
Gambar 3. 53 Sequence Diagram Cetak Laporan ................................................. 83
Gambar 3. 54 Sequence Diagram Logout ............................................................. 84
Gambar 3. 55 Perancangan Tampilan Halaman Login Admin ............................. 87
Gambar 3. 56 Perancangan Tampilan Halaman Dashboard Admin ..................... 88
Gambar 3. 57 Perancangan Tampilan Halaman Tambah Pekerjaan Admin ......... 88
Gambar 3. 58 Perancangan Tampilan Halaman Daftar Pekerjaan Admin............ 89
Gambar 3. 59 Perancangan Tampilan Halaman Detail Pekerjaan Admin ............ 89
Gambar 3. 60 Perancangan Tampilan Halaman Rangkuman Admin ................... 90
Gambar 3. 61 Perancangan Tampilan Halaman Laporan Admin ......................... 90
Gambar 3. 62 Perancangan Tampilan Halaman Tambah Pengguna Admin ......... 91
Gambar 3. 63 Perancangan Tampilan Halaman Daftar Pengguna Admin............ 91
Gambar 3. 64 Perancangan Tampilan Halaman Kelola Akun Admin .................. 92
Gambar 3. 65 Perancangan Tampilan Halaman Login Manager .......................... 92
Gambar 3. 66 Perancangan Tampilan Halaman Dashboard Manajer ................... 93
Gambar 3. 67 Perancangan Tampilan Halaman Tambah Pekerjaan Manajer ...... 93
Gambar 3. 68 Perancangan Tampilan Halaman Daftar Pekerjaan Manajer ......... 94
Gambar 3. 69 Perancangan Tampilan Halaman Detail Pekerjaan Manajer .......... 94
Gambar 3. 70 Perancangan Tampilan Halaman Tambah Tugas Manajer ............ 95
Gambar 3. 71 Perancangan Tampilan Halaman Rangkuman Manajer ................. 95
Gambar 3. 72 Perancangan Tampilan Halaman Laporan Manajer ....................... 96
Gambar 3. 73 Perancangan Tampilan Halaman Kelola Akun Manajer ................ 96
Gambar 3. 74 Perancangan Tampilan Halaman Login Karyawan ........................ 97
Gambar 3. 75 Perancangan Tampilan Halaman Dashboard Karyawan ................ 97
Gambar 3. 76 Perancangan Tampilan Halaman Daftar Pekerjaan Karyawan ...... 98
Gambar 3. 77 Perancangan Tampilan Halaman Detail Pekerjaan Karyawan ....... 98
Gambar 3. 78 Perancangan Tampilan Halaman Tambah Laporan Karyawan ...... 99
Gambar 3. 79 Perancangan Tampilan Halaman Rangkuman Karyawan .............. 99
Gambar 3. 80 Perancangan Tampilan Halaman Kelola Akun Karyawan ........... 100
Gambar 4. 1 Implementasi Database .................................................................. 101
Gambar 4. 2 Field Table Pekerjaan ..................................................................... 102
xiv
Gambar 4. 3 Record Table Pekerjaan ................................................................. 102
Gambar 4. 4 Field Table Pengguna ..................................................................... 103
Gambar 4. 5 Record Table Pengguna ................................................................. 103
Gambar 4. 6 Field Table Tugas ........................................................................... 104
Gambar 4. 7 Record Table Tugas ....................................................................... 104
Gambar 4. 8 Field Table Laporan ....................................................................... 105
Gambar 4. 9 Record Table Laporan .................................................................... 105
Gambar 4. 10 Implementasi Tampilan Halaman Login Admin .......................... 106
Gambar 4. 11 Implementasi Tampilan Halaman Dashboard Admin .................. 106
Gambar 4. 12 Implementasi Tampilan Halaman Tambah Pekerjaan Admin ..... 107
Gambar 4. 13 Implementasi Tampilan Halaman Daftar Pekerjaan Admin ........ 107
Gambar 4. 14 Implementasi Tampilan Halaman Detail Pekerjaan Admin ......... 108
Gambar 4. 15 Implementasi Tampilan Halaman Rangkuman Admin ................ 109
Gambar 4. 16 Implementasi Tampilan Halaman Laporan Admin ...................... 109
Gambar 4. 17 Implementasi Tampilan Halaman Cetak Laporan Admin............ 110
Gambar 4. 18 Implementasi Tampilan Halaman Tambah Pengguna Admin ..... 110
Gambar 4. 19 Implementasi Tampilan Halaman Daftar Pengguna Admin ........ 111
Gambar 4. 20 Implementasi Tampilan Halaman Kelola Akun Admin ............... 111
Gambar 4. 21 Implementasi Tampilan Halaman Login Manajer ....................... 112
Gambar 4. 22 Implementasi Tampilan Halaman Dashboard Manajer ................ 112
Gambar 4. 23 Implementasi Tampilan Halaman Tambah Pekerjaan Manajer ... 113
Gambar 4. 24 Implementasi Tampilan Halaman Daftar Pekerjaan Manajer ...... 113
Gambar 4. 25 Implementasi Tampilan Halaman Detail Pekerjaan Manajer ...... 114
Gambar 4. 26 Implementasi Tampilan Halaman Cetak Detail Pekerjaan Manajer
............................................................................................................................. 115
Gambar 4. 27 Implementasi Tampilan Halaman Tambah Tugas Manajer ......... 116
Gambar 4. 28 Implementasi Tampilan Halaman Rangkuman Manajer .............. 116
Gambar 4. 29 Implementasi Tampilan Halaman Laporan Manajer .................... 117
Gambar 4. 30 Implementasi Tampilan Halaman Kelola Akun Manajer ............ 117
Gambar 4. 31 Implementasi Tampilan Halaman Login Karyawan .................... 118
Gambar 4. 32 Implementasi Tampilan Halaman Dashboard Karyawan............. 118
xv
Gambar 4. 33 Implementasi Tampilan Halaman Daftar Pekerjaan Karyawan ... 119
Gambar 4. 34 Implementasi Tampilan Halaman Detail Pekerjaan Karyawan ... 120
Gambar 4. 35 Implementasi Tampilan Halaman Tambah Laporan Karyawan .. 121
Gambar 4. 36 Implementasi Tampilan Halaman Rangkuman Karyawan........... 121
Gambar 4. 37 Implementasi Tampilan Halaman Kelola Akun Karyawan ......... 122
xvi
DAFTAR TABEL
xvii
1. PENDAHULUAN
1
2
cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak
secara sekuential atau terurut dimulai dari analisis, desain, pengkodean, pengujian
dan tahap pemeliharaan [2]. Metode pengembangan sistem waterfall dilakukan
dengan beberapa tahapan yang antara lain :
1. Analisis Sistem
Pada tahap ini sebelum melakukan perencanaan harus memahami
gambaran umum pada tempat penelitian dan menganalisis sistem yang
sedang berjalan. Kemudian menganalisis permasalahan yang dihadapi
supaya bisa mendapatkan pemecahan masalah pada tempat penelitian
tersebut dan mengetahui kebutuhan sistem yang diinginkan oleh
pengguna.
2. Desain Sistem
Dalam penelitian ini perencanaan desain sistem yang dilakukan
dengan cara menggunakan desain sistem dengan Unfied Modeling
Language (UML) yang diantara lainnya menggunakan use case
diagram, class diagram, activity diagram, dan sequence diagram.
3. Pengkodean
Setelah informasi dan data-data yang dibutuhkan telah terkumpul
maka dilakukan pembuatan program aplikasi. Pada pembuatan
aplikasi ini menggunakan alat bantu seperti teks editor sebagai tempat
pengkodean, browser sebagai media program aplikasi, PHP dan
Javascript sebagai bahasa pengkodean, MySQL sebagai database,
PHPMyAdmin sebagai pengelolaan database, dan dikolaborasikan
dengan kerangka kerja (framework).
4. Pengujian
Setelah pembuatan koding selesai, maka tahap selanjutnya adalah
pengujian yang dilakukan dengan salah satu metode pengujian yaitu
metode black box testing. Pengujian terlebih dahulu dilakukan untuk
mengetahui normal dan tidak normalnya pada kinerja program
aplikasi tersebut, supaya dapat mengetahui kelebihan dan
kekurangannya.
5
5. Pemeliharaan
Pada tahap ini dapat mengulangi proses pengembangan dari analisis
spesifikasi untuk perubahan sistem yang sudah ada, tetapi tidak untuk
membuat sistem baru.
2.1 Perancangan
Menurut Soetam Rizky (2011), perancangan adalah sebuah proses untuk
mendefinisikan sesuatu yang akan dikerjakan dengan menggunakan teknik yang
bervariasi serta didalamnya melibatkan deskripsi mengenai arsitektur serta detail
komponen dan juga keterbatasan yang akan dialami dalam proses pengerjaannya.
[4]
Perancangan merupakan penentuan proses dan data yang diperlukan oleh
sistem baru. Manfaat tahap perancangan sistem ini memberikan gambaran
rancangan bangun yang lengkap sebagai pedoman bagi programmer dalam
mengembangkan aplikasi. Sesuai dengan komponen sistem yang
dikomputerisasikan, maka yang harus didesain dalam tahap ini mencakup
hardware atau software, database dan aplikasi.
Dapat disimpulkan bahwa perancangan adalah tahapan setelah analisis
sistem yang tujuannya untuk menghasilkan rancangan yang memenuhi kebutuhan
yang ditentukan selama tahap analisis.
2.2 Sistem
Menurut Susanto (2017), sistem adalah seperangkat unsur yang saling
terikat dalam suatu antar relasi diantara unsur-unsur tersebut dengan lingkungan.
[5]
Adapun pengertian sistem dan menghasilkan informasi sebagaimana yang
dikemukakan oleh The American National Standards Committee dalam La Midjan
dan Susanto adalah sistem dalam pengolahan data, suatu kumpulan dari manusia,
mesin dan metode yang terorganisir untuk memenuhi seperangkat fungsi. Sistem
terdiri dari tiga unsur yaitu: input (masukan), proses dan output (keluaran). Input
merupakan komponen penggerak atau pemberi tenaga di mana sistem itu
dioperasikan, sedangkan output adalah hasil operasi. Dalam pengertian sederhana
output berarti yang menjadi tujuan sasaran atau target pengoperasian suatu sistem
7
8
2.3 Aplikasi
Aplikasi adalah software yang dibuat oleh suatu perusahaan komputer
yang digunakan untuk mengerjakan tugas-tugas tertentu, misalnya Microsoft
Office. Aplikasi berasal dari kata application yang artinya penerapan lamaran
penggunaan. Jadi aplikasi merupakan sebuah transformasi dari sebuah
permasalahan atau pekerjaan berupa hal yang sulit dipahami menjadi lebih
sederhana, mudah, dan dapat dimengerti oleh pengguna. Sehingga adanya
aplikasi, sebuah permasalahan akan terbantu lebih cepat dan tepat. [6]
Dapat disimpulkan bawa aplikasi disebut sebagai perangkat lunak,
merupakan program komputer yang isi instruksinya dapat diubah dengan mudah.
Aplikasi pada umumnya digunakan untuk mengontrol perangkat keras untuk
melakukan proses perhitungan, dan berinteraksi dengan aplikasi yang lebih
mendasar lainnya (seperti sistem operasi, dan bahasa pemrograman).
2.4 Manajemen
Manajemen merupakan suatu proses yang terdiri dari perencanaan,
pengarahan, pengorganisasian, dan pengawasan yang dilakukan untuk
menentukan dan mencapai tujuan yang telah ditetapkan dengan menggunakan
manusia atau sumber daya lainnya. [7]
Istilah manajemen berasal dari kata kerja to manage yang berarti
menangani, atau mengatur. Dari pengertian pengelolaan di atas, dapat
disimpulkan bahwa pengertian pengelolan yaitu bukan hanya melaksanakan suatu
kegiatan, yang meliputi fungsi-fungsi manajemen, seperti perencanaan,
pelaksanaan dan pengawasan untuk mencapai tujuan secara efektif dan efisien.
Tujuan manajemen adalah mendapatkan metode atau cara teknis yang
paling baik agar dengan sumber-sumber daya yang terbatas diperoleh hasil
maksimal dalam hal ketepatan, kecepatan, penghematan dan keselamatan kerja
komprehensif.
9
2.5 Tugas
Tugas secara umum merupakan hal-hal yang harus bahkan wajib
dikerjakan oleh seorang anggota organisasi atau pegawai dalam suatu instansi
secara rutin sesuai rutin dengan kemampuan yang dimilikinya untuk
menyelesaikan program yang telah dibuat berdasarkan tujuan, visi dan misi suatu
organisasi.
Adapun definisi lainnya menurut John & Marry Miner dalam Moekjiat
(1998), menyatakan “tugas adalah kegiatan pekerjaan tertentu yang dilakukan
untuk suatu tujuan khusus”. Sedangkan menurut Moekjiat (1998), “tugas adalah
suatu bagian atau satu unsur atau satu komponen dari suatu jabatan. Tugas adalah
gabungan dari dua unsur atau lebih menjadi suatu kegiatan yang lengkap”.
Berdasarkan definisi tugas diatas, dapat kita simpulkan bahwa tugas adalah
kesatuan pekerjaan atau kegiatan yang paling utama dan rutin dilakukan oleh para
pegawai dalam sebuah organisasi yang memberikan gambaran tentang ruang
lingkup atau kompleksitas jabatan atau organisasi demi mencapai tujuan tertentu.
2.6 Laporan
Laporan memegang peranan penting dalam sebuah organisasi, karena
memberikan informasi yang didapat melalui hasil proses mengolah data, hasil
penelitian atau hasil suatu tugas atau pekerjaan.
Menurut Priansa (2017), mengemukakan bahwa laporan adalah setiap
tulisan yang berisi hasil pengolahan data informasi, serta merupakan alat
komunikasi yang di dalamnya terdapat beberapa kesimpulan atau rekomendasi
dari fakta atau keadaan yang telah diselidiki. [8]
Laporan adalah setiap tulisan berisi fakta/hasil pengolahan data yang
berkenaan dengan tanggung jawab pelapor dan berwujud penyampaian
ide/informasi dari satu pihak ke pihak lainnya untuk kepentingan organisasi dalam
mencapai suatu tujuan.
10
2.7 Proyek
Definisi proyek dapat diartikan gabungan dari sumber-sumber daya seperti
manusia, material, peralatan dan modal/biaya yang dihimpun dalam suatu wadah
organisasi sementara untuk mencapai sasaran dan tujuan. [9]
Proyek merupakan usaha sementara untuk membuat produk, layanan dan
hasil yang unik. Sifat sementara proyek menunjukan bahwa proyek memiliki awal
dan akhir. Proyek akan berakhir ketika tujuan proyek tercapai atau tidak ada
kebutuhan lagi dari proyek. Sebuah proyek juga dapat dihentikan jika klien
(pelanggan, sponsor, investor) ingin mengakhiri proyek. Sementara bukan berarti
proyek itu pendek. Hal ini mengacu pada keterlibatan dan umur dari proyek
tersebut.
Jadi dapat disimpulkan bahwa proyek adalah pekerjaan sementara yang
unik, kompleks, dan terhubung dengan aktivitas serta tugas yang mempunyai
tujuan dan harus diselesaikan dengan waktu yang spesifik, dengan anggaran yang
sesuai, dan berdasarkan spesifikasi.
penggunaan sumber daya yang benar dan sesuai dengan kebutuhan yang
diperlukan.
Dalam proses sesungguhnya, pemimpin dalam organisasi proyek
mengelola dan mengarahkan segala perangkat dan sumber daya yang ada dengan
kondisi terbatas, tetapi berusaha memperoleh pencapaian paling maksimal yang
sesuai dengan standar kinerja proyek dalam hal biaya, mutu, waktu dan
keselamatan kerja yang telah ditetapkan sebelumnya. [9]
2.9 Website
Website atau web dapat diartikan sebagai kumpulan halaman yang berisi
informasi data digital baik berupa teks, gambar, animasi, suara, dan video atau
gabungan dari semuanya yang disediakan melalui jalur koneksi internet sehingga
dapat diakses dan dilihat oleh semua orang di seluruh dunia. Halaman website
dibuat menggunakan bahasa standar yaitu HTML (Hypertext Markup Language).
Script HTML ini akan diterjemahkan oleh web browser sehingga dapat
ditampilkan dalam bentuk informasi yang dapat dibaca semua orang. [10]
Web dapat diartikan sebagai kumpulan halaman-halaman yang digunakan
untuk menampilkan informasi teks, gambar diam atau gerak, animasi, suara dan
atau gabungan dari semuanya itu baik bersifat statis maupun dinamis yang
membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing
dihubungkan dengan jaringan-jaringan halaman (hyperlink).
2.10 Internet
Internet adalah salah satu bentuk media komunikasi dan informasi
interaktif. Wujud internet adalah jaringan komputer yang terhubung di seluruh
dunia. Internet digunakan untuk mengirim informasi antar komputer di seluruh
dunia sehingga melalui internet kita bisa mengakses dan bertukar informasi secara
cepat. [11]
Dalam mengatur integrasi dan komunikasi jaringan, digunakan standar
protokol internet yaitu TCP/IP. TCP bertugas untuk memastikan bahwa semua
hubungan bekerja dengan baik, sedangkan IP bertugas untuk mentransmisikan
12
paket data dari satu komputer ke komputer lainnya. Sejarah internet dimulai dari
proyek ARPA yang dibentuk tahun 1969 oleh Departemen Pertahanan Amerika
Serikat. Proyek ini kemudian dikenal dengan ARPANET (Advanced Research
Project Agency Network) yang melakukan riset tentang cara menghubungkan
komputer satu dengan komputer lainnya agar bisa saling berkomunikasi. Pada
tahun 1970, proyek ini berhasil menghubungkan lebih dari 10 komputer dalam
bentuk jaringan dan beberapa tahun kemudian, hasil riset proyek ini
dikembangkan di luar Amerika. Karena jumlah komputer yang terhubung semakin
banyak, maka pada tahun 1980 dibuatlah protokol resmi yang kemudian dikenal
dengan TCP/IP (Transmission Control Protocol Internet Protocol).
sebuah cara yang dimengerti oleh mereka agar maksud yang diinginkan dapat
digambarkan secara akurat dan menyeluruh tentang proses bisnis atau event.
Use Case direpresentasikan secara grafik dengan sebuah object elips
dengan nama use case di atas atau di bawah objek elips tersebut. Sebuah use case
diagram merepresentasikan satu tujuan dari sistem dan mendeskripsi sebuah
urutan dari aktivitas dan interaksi user untuk mencapai tujuan tersebut. Sebuah
use case itu sendiri tidak dianggap sebagai sebuah kebutuhan fungsional, tapi
sebagai skenario yang menceritakan tentang satu atau lebih kebutuhan sistem. Use
case digunakan untuk secara tekstural menggambarkan sekuensi langkah-langkah
dari setiap interaksi. Pada gambar 2.2 terdapat contoh model use case diagram.
Pada tabel 2.1 dibawah ini terdapat penjelasan masing-masing simbol dari
use case diagram sebagai berikut :
Tabel 2. 1 Simbol Use Case Diagram
No Nama Simbol Deskripsi
1 Use Case Fungsionalitas yang disediakan
sistem sebagai unit-unit yang saling
bertukar pesan antar unit atau aktor;
14
Pada tabel 2.2 dibawah ini terdapat penjelasan masing-masing simbol dari
class diagram sebagai berikut :
Tabel 2. 2 Simbol Class Diagram
No Nama Simbol Deskripsi
1 Class / Kelas Class adalah blok-blok
pembangun pada pemrograman
berorientasi objek. Sebuah kotak
yang terbagi atas tiga bagian.
Bagian atas adalah nama class.
bagian tengah mendefinisikan
properti atribut bagian akhir
mendefinisikan method-method
dari sebuah class.
2 Interface / Sama dengan konsep interface
Antarmuka dalam pemrograman berorientasi
objek.
3 Association / Relasi antar kelas dengan makna
Asosiasi umum, asosiasi biasanya juga
disertai dengan multiplicity.
4 Directed Relasi antar kelas dengan makna
Association / kelas yang satu digunakan oleh
16
Pada tabel 2.3 dibawah ini terdapat penjelasan masing-masing simbol dari
activity diagram sebagai berikut :
Tabel 2. 3 Simbol Activity Diagram
No Nama Simbol Deskripsi
1 Initial Node / Status awal aktivitas sistem, sebuah
Status Awal diagram aktivitas memiliki sebuah
status awal.
2 Final Node / Status akhir yang dilakukan sistem,
Status Akhir sebuah diagram aktivitas memiliki
sebuah status akhir.
3 Activity / Aktivitas yang dilakukan sistem,
Aktivitas aktivitas biasanya diawali dengan
kata kerja.
4 Decision / Digunakan untuk menggambarkan
Percabangan suatu keputusan atau tindakan yang
harus diambil pada kondisi tertentu.
5 Connector / Digunakan untuk menghubungkan
18
Pada tabel 2.4 dibawah ini terdapat penjelasan masing-masing simbol dari
sequence diagram sebagai berikut :
Tabel 2. 4 Simbol Sequence Diagram
No Nama Simbol Deskripsi
1 Actor / Aktor Orang, proses, atau sistem lain
yang berinteraksi dengan sistem
informasi yang akan dibuat diluar
sistem informasi yang akan dibuat
itu sendiri, jadi walaupun simbol
dari aktor adalah gambar orang,
tapi aktor belum tentu merupakan
orang biasanya dinyatakan
menggunakan kata benda di awal
frase nama aktor.
2 Life Line / Menyatakan kehidupan suatu objek.
Garis Hidup
halaman sebelumnya atau satu halaman sesudahnya, tidak dapat dua halaman
sebelumnya atau dua halaman sesudahnya, pengguna akan melakukan navigasi
secara berurutan, dalam frame atau byte informasi satu ke yang lainnya. Pada
gambar 2.6 terdapat contoh model struktur navigasi linier.
2.13 Browser
Browser adalah aplikasi yang kita gunakan untuk mengakses halaman
suatu website dan menjelajahi isi dari website tersebut. Tanpa web browser kita
tidak dapat menjelajahi situs-situs yang ada di seluruh dunia. Browser bisa
dikatakan sebagai perangkat lunak pelengkap dalam berhubungan internet.
Browser adalah program komputer yang dapat digunakan oleh pengunjung untuk
menjelajahi atau mengunjungi sebuah website dan menampilkan halaman website
tersebut. Browser pertama dikembangkan oleh Netscape. [13]
23
2.14 XAMPP
XAMPP merupakan paket aplikasi yang memudahkan dalam menginstal
modul, PHP, Apache Web Server, dan MySQL Database. Selain itu XAMPP
dilengkapi oleh berbagai jenis fasilitas lain yang akan memberikan kemudahan
dalam mengembangkan situs web berbasis PHP. XAMPP merupakan aplikasi
gratis dan tersedia untuk platform Linux, Windows, MacOS dan Solaris. Aplikasi
ini dikembangkan oleh Kay Vogelgeang, Carsten Wiedman dan Kai “Oswand”
Saidler dibawah lisensi GNU (General Public License). [14]
dengan ukuran file yang dapat ditangani oleh sistem operasi yang
dipakai.
antar paragraf, spasi antar teks, margin kiri, kanan, atas, bawah dan parameter
lainnya
dalam kode HTML, atau dapat digunakan dalam kombinasi dengan berbagai
sistem template web, sistem manajemen konten web, dan kerangka kerja web.
2.20 Javascript
Javascript adalah bahasa script yang berjalan pada web browser (sebagai
client server programming) dan digunakan untuk menyediakan akses script untuk
objek yang dimasukan (embedded) di aplikasi lain. Javascript merupakan nama
implementasi dari Netscape Communications Corporation untuk ECMA script
standard, yaitu suatu bahasa script yang didasarkan pada konsep pemrograman
berbasis prototipe. [21]
Javascript bergantung kepada browser yang memanggil halaman web yang
berisi script-script. Javascript juga tidak memerlukan kompilator atau penterjemah
khusus untuk menjalankan karena pada kenyataannya kompilator Javascript
sendiri sudah termasuk di dalam browser tersebut. Lain halnya dengan bahasa
“Java” (di mana Javascript selalu dibanding-bandingkan) yang memerlukan
kompilator khusus untuk menterjemahkannya di sisi user/client. Javascript hanya
memiliki sedikit hubungan dengan bahasa pemrograman Java, dengan kesamaan
utamanya adalah penggunaan sintaks C. secara garis besar Javascript memiliki
lebih banyak kesamaan dengan bahasa pemrograman self.
2.21 Bootstrap
Bootstrap adalah paket aplikasi siap pakai untuk membuat front-end
sebuah website. Dapat dikatakan bootstrap adalah template desain web dengan
fitur plus. Bootstrap diciptakan untuk mempermudah proses desain web bagi
berbagai tingkat pengguna. Paket Bootstrap berisi sekumpulan file CSS, font, dan
Javascript yang diintegrasikan ke sebuah dokumen HTML menggunakan kaidah-
kaidah tertentu. Dokumen HTML yang dihasilkan pun secara dinamis akan tampil
dalam layout yang disesuaikan dengan ukuran layar piranti pengunjung.
Bootstrap merupakan proyek open source dan tentunya pemakaiannya
bersifat gratis. Saat ini, Bootstrap menjadi aplikasi paling populer di situs layanan
hosting software open source github.com. Jutaan website telah menggunakan
28
29
30
3. Keuangan
Jabatan yang mempunyai tugas untuk pengelolaan keuangan secara
keseluruhan dalam perusahaan, untuk mendukung pelaksanaan
program perusahaan dan bertanggung jawab kepada direktur utama.
4. Manajer Administrasi
Jabatan yang bertugas sebagai pengatur dan mengelola seluruh dari
sub bagian umum dan sub bagian logistik, dan bertanggung jawab
langsung kepada direktur utama.
5. Umum
Sub bagian yang melaksanakan administrasi berkas seluruh pekerjaan,
meliputi surat-menyurat, pembukuan, agenda pekerjaan dan lain-
lainnya.
6. Logistik
Sub bagian yang melaksanakan pengelolaan dan pengadaan peralatan
pekerjaan dan penyiapan bahan-bahan untuk pekerjaan.
7. Manajer Pekerjaan
Jabatan yang bertugas sebagai pengatur dan mengelola seluruh dari
sub bagian operasional, sub bagian pengawas, dan lapangan, serta
bertanggung jawab langsung kepada direktur utama.
8. Operasional
Sub bagian yang menjalankan kegiatan proyek dilapangan, mulai dari
pemenuhan izin, pekerja lapangan, peralatan, serta bahan-bahan
pekerjaan.
9. Pengawas
Sub bagian yang menjalankan tugas untuk memonitoring pekerjaan
proyek, supaya mencapai target baik waktu maupun kualitas hasil dari
pekerjaaan.
10. Lapangan
Sub bagian yang menjalankan tugas sebagai pekerja dari proyek yang
dijalankan dari perusahaan, yang melaksanakan seluruh pekerjaan.
32
3.6 Permasalahan
Berdasarkan analisa masalah tersebut, maka dapat di identifikasikan
permasalahan dalam penelitian ini sebagai berikut :
1. Sulit memantau dan memonitoring pada proses perkembangan sebuah
pekerjaan secara terkini.
2. Terjadi kelalaian dalam hal pelaporan proses perkembangan sebuah
pekerjaan karena masih bersifat manual.
3. Penyajian laporan memerlukan waktu yang lama, karena laporan tugas
yang diberikan hanya berupa tulisan tangan dibuku sehingga perlu
disalin dengan cara mengetik ulang sebagai laporan pekerjaan yang
baik dan rapi.
Hasil Dari
Sistem Berjalan Usulan Sistem Berjalan
Sistem Diusulkan
Pembuatan laporan Pada aplikasi tersedia Data laporan dalam
dengan mengumpulkan menu laporan yang aplikasi sudah tersusun
data tugas dan laporan, berisi seluruh data rapi dan aman dan
lalu di input ke dalam tugas dan laporan dapat di cetak atau di
komputer untuk disusun download untuk
menjadi dokumen menghasilkan dokumen
Hasil dari identifikasi aktor di atas, maka use case diagram yang
digambarkan pada gambar 3.7 sebagai berikut :
42
pesan aktor untuk mengedit data tugas. Untuk mengedit tugas, aktor
harus masuk ke halaman detail salah satu pekerjaan lalu pilih salah
satu tugas yang ingin di edit lalu pilih menu aksi edit kemudian edit
dan pilih simpan. Kemudian sistem akan menyimpan data dengan
proses query database pada tabel tugas. Data yang telah di edit akan
muncul di halaman detail pekerjaan.
pesan aktor untuk melihat data akun. Untuk melihat akun, aktor harus
masuk ke halaman daftar pengguna lalu pilih salah satu akun yang
ingin di lihat secara detail lalu pilih menu aksi lihat. Kemudian sistem
akan menampilkan data dengan proses query database pada tabel
pengguna, dan data akan muncul pop up detail akun pengguna.
query database pada tabel pekerjaan. Jika data sesuai lalu muncul di
halaman laporan, yang berisikan seluruh daftar pekerjaan. Jika ingin
mencetak laporan, maka aktor perlu melakukan aksi cetak didalam
sebuah halaman laporan, kemudian hasil dari cetak tersebut adalah
dokumen yang berformat pdf.
Foreign Key :-
Tabel 3. 4 Perancangan Table Pekerjaan
No Field Tipe Data Batas Keterangan
1 id_pekerjaan Varchar 3 Primary key
2 nama_pekerjaan Varchar 20 Nama pekerjaan
3 deskripsi Text 50 Deskripsi
pekerjaan
4 klien Varchar 20 Klien
5 harga Decimal 20 Harga pekerjaan
6 status Tinyint 15 Status pekerjaan
7 waktu_mulai Date Waktu mulai
8 waktu_selesai Date Waktu selesai
2. Table Tugas
Nama : tugas
Deskripsi : tabel yang berisi atribut tugas
Primary Key : id_tugas
Foreign Key : id_pekerjaan
Tabel 3. 5 Perancangan Table Tugas
No Field Tipe Data Batas Keterangan
1 id_tugas Varchar 3 Primary key
2 id_pekerjaan Varchar 3 Foreign key
3 nama_tugas Varchar 20 Nama tugas
4 deskripsi Text 50 Deskripsi tugas
5 status Tinyint 15 Status tugas
3. Table Laporan
Nama : laporan
Deskripsi : tabel yang berisi atribut laporan
Primary Key : id_laporan
Foreign Key : id_ tugas
86
4. Table Pengguna
Nama : pengguna
Deskripsi : tabel yang berisi atribut pengguna
Primary Key : id_pengguna
Foreign Key :-
Tabel 3. 7 Perancangan Table Pengguna
No Field Tipe Data Batas Keterangan
1 id_pengguna Varchar 2 Pk pekerjaan
2 nama_depan Varchar 15 Nama depan
3 nama_belakang Varchar 15 Nama belakang
4 email Varchar 15 Email
5 password Text 15 Password
6 jabatan Tinyint 10 Jabatan
7 foto Text 1 Foto
87
101
102
4.3 Pengujian
Pengujian pada aplikasi merupakan proses pengeksekusi sistem perangkat
lunak untuk menentukan apakah aplikasi tersebut sesuai dengan spesifikasi dan
berjalan seperti yang diinginkan. Pengujian sering dengan pencarian bug,
ketidaksempurnaan aplikasi, kesalahan pada aplikasi yang menyebabkan
kegagalan eksekusi sistem pada aplikasi.
Pengujian dilakukan dengan menguji setiap proses dan menemukan
kesalahan yang terjadi untuk setiap proses. Adapun metode yang digunakan dalam
pengujian ini adalah dengan metode black box testing atau yang biasa disebut
dengan pengujian struktural dengan melibatkan pengetahuan teknis terperinci dari
sistem pada aplikasi. Berikut ini adalah hasil dari pengujian aplikasi dengan
menggunakan metode black box testing sebagai berikut :
1. Pengujian Menu Pekerjaan
Tabel 4. 1 Pengujian Menu Pekerjaan
No Aktor Aksi Hasil Aksi Hasil Uji
1 Admin Membuat Data pekerjaan [√] Sukses
Manajer pekerjaan tersimpan [√] Gagal
2 Admin Melihat daftar Tampil seluruh [√] Sukses
Manajer pekerjaan data pekerjaan [√] Gagal
123
4.4 Perangkat
Sistem manajemen pengelola tugas dan laporan proyek pekerjaan ini
dibangun menggunakan perangkat keras (hardware) dan perangkat lunak
(software) dengan rincian spesifikasi yang akan dijelaskan sebagai berikut :
5.1 Simpulan
Berdasarkan hasil uji coba dan implementasi bahwa aplikasi tersebut telah
berhasil dijalankan sesuai dengan rancangannya. Sehingga sistem ini mampu
menunjang kebutuhan dari sebuah pekerjaan yang memerlukan pencatatan tugas
dan laporan proyek pekerjaan. Berikut terdapat beberapa hal dari hasil yang
diuraikan bahwa :
1. Karyawan dapat melihat daftar tugas yang diberikan berikut dengan
spesifikasi dan mempermudah dalam pembuatan laporan melalui
aplikasi, sehingga tanpa harus menulis catatan laporan dalam buku
catatan tugas.
2. Manajer dan direktur mudah dalam memonitor proyek pekerjaan,
karena dapat melihat tugas-tugas apa saja yang telah selesai sesuai
dengan rencana ataupun tugas yang belum selesai karena tidak sesuai
dengan rencana.
3. Manajer mudah dalam merekapitulasi tugas dan laporan proyek
pekerjaan yang akan digunakan sebagai laporan kepada klien.
5.2 Saran
Saran yang dapat diajukan untuk pengembangan aplikasi yang lebih lanjut,
antara lain :
1. Aplikasi ini dapat dikembangkan menjadi lebih luas terkait dengan
pembobotan proyek pekerjaan seperti keuangan, dan persuratan.
2. Aplikasi ini dapat dikembangkan dengan memberikan notifikasi
peringatan kepada akun manajer dan karyawan ketika ada tugas di
dalam sebuah proyek pekerjaan yang sudah mendekati waktu batas
jatuh tempo di dalam aplikasi tersebut.
3. Sebaiknya aplikasi dapat dikembangkan menjadi aplikasi berbasis
device mobile agar memudahkan dalam mengakses aplikasi tanpa
harus masuk ke dalam browser terlebih dahulu.
126
DAFTAR PUSTAKA
127
128
1. Database
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";
129
(4, 0, 'Stik Kolom', 'Pembuatan Stik Kolom', '2022-06-02', '2022-06-10',
'13:02:32', '13:01:30', 2),
(5, 0, 'Penyediaan Air Kerja', 'Air Untuk Kebutuhan Pekerjaan', '2022-06-
08', '2022-06-22', '13:02:55', '13:02:55', 1),
(6, 0, 'Pengukuran', 'Pengukuran Pondasi Setempat', '2022-06-23', '2022-
06-30', '13:02:55', '13:06:56', 1),
(7, 0, 'Bouwplank', 'Pemasangan Bouwplank Pondasi Setempat', '2022-06-
08', '2022-06-22', '13:02:55', '13:01:31', 1);
2. Aplikasi
2.1 db_connect.php
<?php
$conn= new mysqli('localhost','root','','tms_db')or die("Could not
connect to mysql".mysqli_error($con));
?>
2.2 admin_class.php
<?php
session_start();
ini_set('display_errors', 1);
Class Action {
private $db;
public function __construct() {
ob_start();
include 'db_connect.php';
$this->db = $conn;
}
function __destruct() {
$this->db->close();
ob_end_flush();
}
function login(){
extract($_POST);
$qry = $this->db->query("SELECT *,concat(firstname,' ',lastname)
as name FROM users where email = '".$email."' and password =
'".md5($password)."' ");
if($qry->num_rows > 0){
foreach ($qry->fetch_array() as $key => $value) {
if($key != 'password' && !is_numeric($key))
$_SESSION['login_'.$key] = $value;
}
return 1;
}else{
return 2;
}
}
function logout(){
session_destroy();
foreach ($_SESSION as $key => $value) {
unset($_SESSION[$key]);
}
header("location:login.php");
}
function login2(){
extract($_POST);
$qry = $this->db->query("SELECT *,concat(lastname,',
',firstname,' ',middlename) as name FROM students where
student_code = '".$student_code."' ");
if($qry->num_rows > 0){
foreach ($qry->fetch_array() as $key => $value) {
if($key != 'password' && !is_numeric($key))
$_SESSION['rs_'.$key] = $value;
}
return 1;
}else{
return 3;
}
}
function save_user(){
extract($_POST);
$data = "";
foreach($_POST as $k => $v){
if(!in_array($k, array('id','cpass','password')) &&
!is_numeric($k)){
if(empty($data)){
$data .= " $k='$v' ";
}else{
$data .= ", $k='$v' ";
}
}
}
if(!empty($password)){
$data .= ", password=md5('$password') ";
}
$check = $this->db->query("SELECT * FROM users where email
='$email' ".(!empty($id) ? " and id != {$id} " : ''))->num_rows;
if($check > 0){
return 2;
exit;
}
if(isset($_FILES['img']) && $_FILES['img']['tmp_name']
!= ''){
$fname = strtotime(date('y-m-d H:i')).'_'.$_FILES['img']['name'];
$move=
move_uploaded_file($_FILES['img']['tmp_name'],'assets/uploads/'.
$fname);
$data .= ", avatar = '$fname' ";
}
if(empty($id)){
$save = $this->db->query("INSERT INTO users set $data");
}else{
$save = $this->db->query("UPDATE users set $data where id =
$id");
}
if($save){
return 1;
}
}
function signup(){
extract($_POST);
$data = "";
foreach($_POST as $k => $v){
if(!in_array($k, array('id','cpass')) && !is_numeric($k)){
if($k =='password'){
if(empty($v))
continue;
$v = md5($v);
}
if(empty($data)){
$data .= " $k='$v' ";
}else{
$data .= ", $k='$v' ";
}
}
}
$check = $this->db->query("SELECT * FROM users where email
='$email' ".(!empty($id) ? " and id != {$id} " : ''))->num_rows;
if($check > 0){
return 2;
exit;
}
if(isset($_FILES['img']) && $_FILES['img']['tmp_name'] != ''){
$fname = strtotime(date('y-m-d H:i')).'_'.$_FILES['img']['name'];
$move =
move_uploaded_file($_FILES['img']['tmp_name'],'assets/uploads/'.
$fname);
$data .= ", avatar = '$fname' ";
}
if(empty($id)){
$save = $this->db->query("INSERT INTO users set $data");
}else{
$save = $this->db->query("UPDATE users set $data where id =
$id");
}
if($save){
if(empty($id))
$id = $this->db->insert_id;
foreach ($_POST as $key => $value) {
if(!in_array($key,
array('id','cpass','password')) && !is_numeric($key))
$_SESSION['login_'.$key] = $value;
}
$_SESSION['login_id'] = $id;
if(isset($_FILES['img']) && !empty($_FILES['img']['tmp_name']))
$_SESSION['login_avatar'] = $fname;
return 1;
}
}
function update_user(){
extract($_POST);
$data = "";
foreach($_POST as $k => $v){
if(!in_array($k, array('id','cpass','table','password'))
&& !is_numeric($k)){
if(empty($data)){
$data .= " $k='$v' ";
}else{
$data .= ", $k='$v' ";
}
}
}
$check = $this->db->query("SELECT * FROM users where email
='$email' ".(!empty($id) ? " and id != {$id} " : ''))->num_rows;
if($check > 0){
return 2;
exit;
}
if(isset($_FILES['img']) && $_FILES['img']['tmp_name'] != ''){
$fname = strtotime(date('y-m-d H:i')).'_'.$_FILES['img']['name'];
$move =
move_uploaded_file($_FILES['img']['tmp_name'],'assets/uploads/'.
$fname);
$data .= ", avatar = '$fname' ";
}
if(!empty($password))
$data .= " ,password=md5('$password') ";
if(empty($id)){
$save = $this->db->query("INSERT INTO users set $data");
}else{
$save = $this->db->query("UPDATE users set $data where id =
$id");
}
if($save){
foreach ($_POST as $key => $value) {
if($key != 'password' && !is_numeric($key))
$_SESSION['login_'.$key] = $value;
}
if(isset($_FILES['img']) && !empty($_FILES['img']['tmp_name']))
$_SESSION['login_avatar'] = $fname;
return 1;
}
}
function delete_user(){
extract($_POST);
$delete = $this->db->query("DELETE FROM users where id =
".$id);
if($delete)
return 1;
}
function save_system_settings(){
extract($_POST);
$data = '';
foreach($_POST as $k => $v){
if(!is_numeric($k)){
if(empty($data)){
$data .= " $k='$v' ";
}else{
$data .= ", $k='$v' ";
}
}
}
if($_FILES['cover']['tmp_name'] != ''){
$fname = strtotime(date('y-m-d H:i')).'_'.$_FILES['cover']['name'];
$move =
move_uploaded_file($_FILES['cover']['tmp_name'],'../assets/uploa
ds/'. $fname);
$data .= ", cover_img = '$fname' ";
}
$chk = $this->db->query("SELECT * FROM system_settings");
if($chk->num_rows > 0){
$save = $this->db->query("UPDATE system_settings set $data
where id =".$chk->fetch_array()['id']);
}else{
$save = $this->db->query("INSERT INTO system_settings set
$data");
}
if($save){
foreach($_POST as $k => $v){
if(!is_numeric($k)){
$_SESSION['system'][$k] = $v;
}
}
if($_FILES['cover']['tmp_name'] != ''){
$_SESSION['system']['cover_img'] =
$fname;
}
return 1;
}
}
function save_image(){
extract($_FILES['file']);
if(!empty($tmp_name)){
$fname = strtotime(date("Y-m-d H:i"))."_".(str_replace(" ","-
",$name));
$move = move_uploaded_file($tmp_name,'assets/uploads/'.
$fname);
$protocol =
strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='h
ttps'?'https':'http';
$hostName = $_SERVER['HTTP_HOST'];
$path =explode('/',$_SERVER['PHP_SELF']);
$currentPath = '/'.$path[1];
if($move){
return
$protocol.'://'.$hostName.$currentPath.'/assets/uploads/'.$fname;
}
}
}
function save_project(){
extract($_POST);
$data = "";
foreach($_POST as $k => $v){
if(!in_array($k, array('id','user_ids')) && !is_numeric($k)){
if($k == 'description')
$v = htmlentities(str_replace("'","’",$v));
if(empty($data)){
$data .= " $k='$v' ";
}else{
$data .= ", $k='$v' ";
}
}
}
if(isset($user_ids)){
$data .= ", user_ids='".implode(',',$user_ids)."' ";
}
// echo $data;exit;
if(empty($id)){
$save = $this->db->query("INSERT INTO project_list set $data");
}else{
$save = $this->db->query("UPDATE project_list set $data where
id = $id");
}
if($save){
return 1;
}
}
function delete_project(){
extract($_POST);
$delete = $this->db->query("DELETE FROM project_list where id
= $id");
if($delete){
return 1;
}
}
function save_task(){
extract($_POST);
$data = "";
foreach($_POST as $k => $v){
if(!in_array($k, array('id')) && !is_numeric($k)){
if($k == 'description')
$v = htmlentities(str_replace("'","’",$v));
if(empty($data)){
$data .= " $k='$v' ";
}else{
$data .= ", $k='$v' ";
}
}
}
if(empty($id)){
$save = $this->db->query("INSERT INTO task_list set $data");
}else{
$save = $this->db->query("UPDATE task_list set $data where id =
$id");
}
if($save){
return 1;
}
}
function delete_task(){
extract($_POST);
$delete = $this->db->query("DELETE FROM task_list where id =
$id");
if($delete){
return 1;
}
}
function save_progress(){
extract($_POST);
$data = "";
foreach($_POST as $k => $v){
if(!in_array($k, array('id')) && !is_numeric($k)){
if($k == 'comment')
$v = htmlentities(str_replace("'","’",$v));
if(empty($data)){
$data .= " $k='$v' ";
}else{
$data .= ", $k='$v' ";
}
}
}
$dur = abs(strtotime("2020-01-01 ".$end_time)) -
abs(strtotime("2020-01-01 ".$start_time));
$dur = $dur / (60 * 60);
$data .= ", time_rendered='$dur' ";
// echo "INSERT INTO user_productivity set $data"; exit;
if(empty($id)){
$data .= ", user_id={$_SESSION['login_id']} ";
$save = $this->db->query("INSERT INTO user_productivity set
$data");
}else{
$save = $this->db->query("UPDATE user_productivity set $data
where id = $id");
}
if($save){
return 1;
}
}
function delete_progress(){
extract($_POST);
$delete = $this->db->query("DELETE FROM user_productivity
where id = $id");
if($delete){
return 1;
}
}
function get_report(){
extract($_POST);
$data = array();
$get = $this->db->query("SELECT t.*,p.name as ticket_for FROM
ticket_list t inner join pricing p on p.id = t.pricing_id where
date(t.date_created) between '$date_from' and '$date_to' order by
unix_timestamp(t.date_created) desc ");
while($row= $get->fetch_assoc()){
$row['date_created'] = date("M d,
Y",strtotime($row['date_created']));
$row['name'] = ucwords($row['name']);
$row['adult_price'] = number_format($row['adult_price'],2);
$row['child_price'] = number_format($row['child_price'],2);
$row['amount'] = number_format($row['amount'],2);
$data[]=$row;
}
return json_encode($data)
}
}
2.3 ajax.php
<?php
ob_start();
date_default_timezone_set("Asia/Jakarta");
$action = $_GET['action'];
include 'admin_class.php';
$crud = new Action();
if ($action == 'login') {
$login = $crud->login();
if ($login)
echo $login;
}
if ($action == 'login2') {
$login = $crud->login2();
if ($login)
echo $login;
}
if ($action == 'logout') {
$logout = $crud->logout();
if ($logout)
echo $logout;
}
if ($action == 'logout2') {
$logout = $crud->logout2();
if ($logout)
echo $logout;
}
if ($action == 'signup') {
$save = $crud->signup();
if ($save)
echo $save;
}
if ($action == 'save_user') {
$save = $crud->save_user();
if ($save)
echo $save;
}
if ($action == 'update_user') {
$save = $crud->update_user();
if ($save)
echo $save;
}
if ($action == 'delete_user') {
$save = $crud->delete_user();
if ($save)
echo $save;
}
if ($action == 'save_project') {
$save = $crud->save_project();
if ($save)
echo $save;
}
if ($action == 'delete_project') {
$save = $crud->delete_project();
if ($save)
echo $save;
}
if ($action == 'save_task') {
$save = $crud->save_task();
if ($save)
echo $save;
}
if ($action == 'delete_task') {
$save = $crud->delete_task();
if ($save)
echo $save;
}
if ($action == 'save_progress') {
$save = $crud->save_progress();
if ($save)
echo $save;
}
if ($action == 'delete_progress') {
$save = $crud->delete_progress();
if ($save)
echo $save;
}
if ($action == 'get_report') {
$get = $crud->get_report();
if ($get)
echo $get;
}
ob_end_flush();
2.4 index.php
<!DOCTYPE html>
<html lang="en">
<?php session_start() ?>
<?php
if (!isset($_SESSION['login_id']))
header('location:login.php');
include 'db_connect.php';
ob_start();
if (!isset($_SESSION['system'])) {
include 'header.php'
?>
<body class="hold-transition sidebar-mini layout-fixed layout-
navbar-fixed layout-footer-fixed">
<div class="wrapper">
<?php include 'topbar.php' ?>
<?php include 'sidebar.php' ?>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<div class="toast" id="alert_toast" role="alert" aria-
live="assertive" aria-atomic="true">
<div class="toast-body text-white">
</div>
</div>
<div id="toastsContainerTopRight" class="toasts-top-right
fixed"></div>
<!-- Content Header (Page header) -->
<div class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h5 class="m-0"><b><?php echo $title ?></b></h5>
</div><!-- /.col -->
</div><!-- /.row -->
<hr class="border-primary">
</div><!-- /.container-fluid -->
</div>
<!-- /.content-header -->
<!-- Main content -->
<section class="content">
<div class="container-fluid">
<?php
$page = isset($_GET['page']) ? $_GET['page'] : 'home';
if (!file_exists($page . ".php")) {
include '404.html';
} else {
include $page . '.php';
}
?>
</div>
<!--/. container-fluid -->
</section>
<!-- /.content -->
<div class="modal fade" id="confirm_modal" role='dialog'>
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Konfirmasi</h5>
</div>
<div class="modal-body">
<div id="delete_content"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary"
id='confirm' onclick="">Ya</button>
<button type="button" class="btn btn-secondary" data-
dismiss="modal">Tidak</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="uni_modal" role='dialog'>
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id='submit'
onclick="$('#uni_modal form').submit()">Simpan</button>
<button type="button" class="btn btn-secondary" data-
dismiss="modal">Batal</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="uni_modal_right" role='dialog'>
<div class="modal-dialog modal-full-height modal-md"
role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"></h5>
<button type="button" class="close" data-
dismiss="modal" aria-label="Close">
<span class="fa fa-arrow-right"></span>
</button>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
<div class="modal fade" id="viewer_modal" role='dialog'>
<div class="modal-dialog modal-md" role="document">
<div class="modal-content">
<button type="button" class="btn-close" data-
dismiss="modal"><span class="fa fa-times"></span></button>
<img src="" alt="">
</div>
</div>
</div>
</div>
<!-- /.content-wrapper -->
<!-- Control Sidebar -->
<aside class="control-sidebar control-sidebar-dark">
<!-- Control sidebar content goes here -->
</aside>
<!-- /.control-sidebar -->
<!-- Main Footer -->
<footer class="main-footer">
Copyright © 2021
<div class="float-right d-none d-sm-inline-block">
<b>PT ADIKARA BANGUN NUSANTARA</b>
</div>
</footer>
</div>
<!-- ./wrapper -->
<!-- REQUIRED SCRIPTS -->
<!-- jQuery -->
<!-- Bootstrap -->
<?php include 'footer.php' ?>
</body>
</html>