Anda di halaman 1dari 42

TUGAS PROYEK II

PENGEMBANGAN PROYEK

RANCANG BANGUN APLIKASI MANAJEMEN CUTI


KARYAWAN ROBORATORY INDONESIA
BERBASIS FRAMEWORK
CODEIGNITER

Disusun untuk Memenuhi Salah Satu Tugas Proyek II

Disusun Oleh :

Kemal Saparudin 1911010052

STIKOM EL RAHMA BOGOR


2022

i
TUGAS PROYEK II
PENGEMBANGAN PROYEK

RANCANG BANGUN APLIKASI MANAJEMEN CUTI


KARYAWAN ROBORATORY INDONESIA
BERBASIS FRAMEWORK
CODEIGNITER

Disusun untuk Memenuhi Salah Satu Tugas Proyek II


Pemrograman Web pada Program Studi S1 Informatika

KEMAL SAPARUDIN
1911010052

Bogor, 21 Januari 2022

Menyetujui,
Dosen Mata Kuliah Proyek

Deni Muharram, S.Kom., M.Kom.

ii
KATA PENGANTAR

Puji dan syukur kehadirat Tuhan Yang Maha Esa atas berkat rahmat serta
kasih-Nya sehingga penulis dapat menyelesaikan Tugas Proyek II. Sholawat dan
salam semoga tetap dikaruniakan kepada Nabi Muhammad SAW, Penutup Para Nabi
dan Rasul serta sebagai suri teladan bagi seluruh umat Islam. Juga kepada keluarga
beliau, sahabat serta para pengikutnya.
Laporan ini disusun untuk memenuhi Syarat Kelulusan Mata Kuliah Proyek II
Pemrograman Visual pada Program Studi S1 Informatika Sekolah Tinggi Ilmu
Komputer El Rahma Bogor, dengan judul “ Rancang Bangun Aplikasi Manajemen
Cuti Karyawan Roboratory Indonesia Berbasis Framework Codeigniter “.
Dalam penulisan tugas proyek II ini, penulis menyampaikan terima kasih yang
tulus kepada :
1. Dr. H. Wendy Asswan Cahyadi, S.TP., M.PD.I, selaku Ketua Sekolah Tinggi
Ilmu Komputer El Rahma.
2. Bapak Deni Muharram, S.Kom., M.Kom selaku Dosen Mata Kuliah Proyek
II.
3. Ibu Ira Tasfiyyutu R., S.Kom., M.Kom selaku Dosen Pembimbing Laporan.
4. Seluruh Dosen Pengajar Sekolah Tinggi Ilmu Komputer El Rahma.
5. Teman – teman seperjuangan, terima kasih atas kebersamaannya.
6. Serta semua pihak yang secara langsung maupun tidak langsung yang telah
membantu penulisan dalam menyelesaikan Laporan Proyek II ini.
Penulis menyadari bahwa penulisan Tugas Proyek II ini masih banyak
kekurangan dan jauh dari sempurna. Untuk itu penulis berharap mendapatkan kritik
dan saran yang dapat berguna untuk membangun demi kesempurnaan laporan tugas
proyek II ini.

Bogor, 21 Januari 2022

Penulis

iii
DAFTAR ISI

Cover ............................................................................................................ i
Lembar Persetujuan ...................................................................................... ii
Kata Pengantar .............................................................................................. iii
Daftar Isi....................................................................................................... iv

BAB I PENDAHULUAN ........................................................................ 1


1.1. Latar Belakang ............................................................................. 1
1.2. Identifikasi Masalah ..................................................................... 2
1.3. Maksud dan Tujuan ...................................................................... 2
1.4. Batasan Masalah .......................................................................... 3
1.5. Waktu Penelitian .......................................................................... 3

BAB II METODE PENELITIAN ............................................................. 4


2.1. Metode Pengumpulan Data .......................................................... 4
2.2. Model Proses Pengembangan Sistem ........................................... 4
2.3. Metode Pendekatan Pengembangan Sistem .................................. 6
2.4. Model Dokumentasi Sistem ......................................................... 8
2.5. Bahasa Pemrograman dan Framework .......................................... 11

BAB III PEMBAHASAN .......................................................................... 18


3.1. Analisis Kebutuhan ...................................................................... 18
3.2. Perancangan Sistem ..................................................................... 21
3.3. Implementasi Sistem .................................................................... 29
3.4. Pengujian Sistem ......................................................................... 35

BAB IV PENUTUP ................................................................................... 38


4.1. Kesimpulan .................................................................................. 38
4.2. Saran............................................................................................. 38

iv
BAB I

PENDAHULUAN

1.1. Latar Belakang

Pada era globalisasi ini, Kebutuhan akan informasi yang cepat, tepat dan akurat
itu sangat penting. Berbagai perusahan berusaha mengembangkan usahanya dengan
melakukan banyak perubahan dengan memanfaatkan teknologi yang canggih seperti
komputer sebagai pengganti tenaga kerja manusia, dimana komputer tersebut
menunjang perusahaan dalam mengambil keputusan yang didukung oleh komponen
penting dari teknologi informasi yaitu Database (Basis Data).
Aplikasi Website merupakan aplikasi yang diakses menggunakan Web Browser
melalu jaringan internet atau intranet. Aplikasi Web juga merupakan suatu perangkat
lunak komputer dengan pembuatan aplikasi menggunakan bahasa pemrograman yang
mendukung perangkat lunak berbasis Web seperti HTML, JavaScript, CSS, Ruby,
Python, Php, Java dan bahasa pemrograman yang lainnya. Penggunaan Aplikasi
Berbasis Web ini juga mempermudah seluruh karyawan saat bekerja, dikarenakan
Aplikasi Berbasis Web ini bisa di akses dimana saja.
Saat ini permasalahan yang dihadapi oleh Roboratory Indonesia adalah
pendataan absensi anak-anak yang masih dilakukan secara manual, sehingga
pembaharuan absensi membutuhkan waktu yang lama. Laporan absensi pengajar
masih dilakukan secara manual. Data barang dan inventarisasi kurang efektif,
sehingga pembaharuan stok barang tidak cepat. Program stock opname masih
dilakukan secara manual, sehingga membutuhkan waktu yang lama. Selain itu
pengajuan terhadap kantor masih dilakukan secara manual.
Maka dari itu kami merasa diperlukannya pengembangan sistem yang lebih
efektif, sehingga semakin memudahkan dalam pendataan dan pengelolaan yang
diaplikasikan dalam sebuah Tugas Proyek II dengan judul : “RANCANG BANGUN
APLIKASI MANAJEMEN CUTI KARYAWAN ROBORATORY INDONESIA
BERBASIS FRAMEWORK CODEIGNITER”

1
2

1.2. Identifikasi Masalah

Berdasarkan latar belakang, maka masalah-masalah yang dapat diidentifikasi


adalah sebagai berikut :
1. Pengajuan cuti karyawan masih dilakukan secara manual, sehingga
pengajuan secara mendadak tidak efektif.
2. Data pengajuan cuti karyawan kurang efektif, sehingga data sering hilang.
3. Ketidak sesuaian sisa cuti karyawan, sehingga sisa cuti mengambil dari
pada data terakhir pengajuan cuti.

1.3. Maksud dan Tujuan

1. Maksud Penelitian
Maksud dari penelitian ini adalah membantu dan mempermudah pengajuan
cuti karyawan pada Roboratory Indonesia dengan membangun sistem
informasi yang mudah dalam penggunaannya. Agar pengelolaan data cuti
karyawan menjadi rapih dan cepat.

2. Tujuan Penelitian
Adapun tujuan penelitian ini adalah :
1. Membangun sistem informasi terhadap Roboratory Indonesia yang
bisa mengelola cuti karyawan dengan baik, sesuai dengan
perjanjian yang telah ditentukan.
2. Membangun sistem informasi terhadap Roboratory Indonesia yang
memudahkan dalam pembuatan laporan agar lebih rapih dan cepat.
3

1.4. Batasan Masalah

Untuk menghindari permasalahan yang lebih luas, penulis hanya membatasi


penelitian pada Rancang Bangun Manajemen Cuti Karyawan Berbasis Framework
CodeIgniter Maka dari itu, dengan aplikasi ini :
1. Sistem yang akan dibuat dapat memudahkan pengajuan cuti karyawan.
2. Sistem ini dibuat agar pendataan cuti karyawan tidak hilang.
3. Sistem ini dapat mengolah data cuti karyawan sesuai dengan perjanjian
yang telah ditentukan.

1.5. Waktu Penelitian

Waktu Penelitian Tugas Proyek II

Tabel 1.1
Tabel Penelitian Tugas Akhir

Tempat Tugas Proyek II

Adapun lokasi objek penelitian bertempat di Roboratory Indonesia Kecamatan

Ciomas Kabupaten Bogor 16610.


BAB II

METODE PENELITIAN

2.1. Metode Pengumpulan Data

Dalam penulisan Tugas Proyek II ini, penulis menggunakan metode


pengembangan proyek. Dan melakukan pengumpulan data dengan kegiatan sebagai
berikut :
1. Metode wawancara
Dalam metode ini penulis melakukan Tanya jawab secara langsung
kepada Ir. Putri Arimurti selaku pemilik Roboratory Indonesia.
2. Metode Observasi
Metode ini merupakan metode pengamatan secara langsung. Dalam
metode ini, penulis langsung terjun ke lapangan mengamati proses pendataan
pada Roboratory Indonesia.
3. Metode Kepustakaan
Metode ini mengambil dari sumber-sumber literatur yang menjadi sumber

referensi yang digunakan dalam penulisan Tugas Proyek ini.

2.2. Model Proses Pengembangan Sistem

Dalam pengembangan sistem pembuatan Aplikasi pada Roboratory Indonesia,


penulis menggunakan metode dengan proses RAD (Rapid Aplication Development)
dimana terdapat lima tahapan dalam pengembangan yaitu tahap Bussiness Modelling,
Data Modelling, Prosess Modelling, Aplication generation, Testing and turnover.
1. Bussiness Modelling
Aliran informasi di antara fungsi – fungsi bisnis diModelkan dengan
suatu cara untuk menjawab pertanyaan – pertanyaan berikut : informasi
apa yang mengendalikan proses bisnis? Informasi apa yang di

4
5

munculkan? Siapa yang memunculkanya? Ke mana informasi itu pergi?


Siapa yang memprosesnya?
2. Data Modelling
Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness
Modelling disaring ke dalam serangkaian objek data yang dibutuhkan
untuk menopang bisnis tersebut. Karakteristik (disebut atribut) masing –
masing objek diidentifikasi dan hubungan antara objek – objek tersebut
didefinisikan.
3. Prosess Modelling
Aliran informasi yang didefinisikan di dalam fase data Modeling
ditransformasikan untuk mencapai aliran informasi yang perlu bagi
implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan
untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali
sebuah objek data.
4. Aplication generation
RAD mengasumsikan pemakaian teknik generasi ke empat. Selain
menciptakan perangkat lunak dengan menggunakan bahasa pemrograman
generasi ketiga yang konvensional, RAD lebih banyak memproses kerja
untuk memkai lagi komponen program yang ada (pada saat
memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila
perlu). Pada semua kasus, alat – alat bantu otomatis dipakai untuk
memfasilitasi konstruksi perangkat lunak.
5. Testing and turnover
Karena proses RAD menekankan pada pemakaian kembali, banyak
komponen program telah diuji. Hal ini mengurangi keseluruhan waktu
pengujian. Tetapi komponen baru harus di uji dan semua interface harus
dilatih secara penuh.
6

Gambar 2.1
Tampilan Siklus Informasi Model RAD

2.3. Metode Pendekatan Pengembangan Sistem

OOP (Object Oriented Programming) adalah suatu metode pemrograman yang


berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah
pengembangan program dengan cara mengikuti Model yang telah ada di kehidupan
sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu
sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi.
Kita ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri
terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling,
kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil
saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada
objek-objek yang lainnya.
Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa
objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim
pesan kepada objek yang lain.
Adapun konsep-konsep dari pada OOP (Object Oriented Programming) terbagi
menjadi 4 yaitu Abstrak Class, Encapsulation, Inheritance dan Polymorphism.
1. Abstrak Class (Kelas Abstrak)
Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari
sekumpulan data. Kelas juga dapat diilustrasikan sebagai suatu cetak
biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
7

Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan
operasi pada data dalam suatu unit tunggal. Kelas mendefinisikan suatu
struktur yang terdiri atas data kelas (data field), prosedur atau fungsi
(method), dan sifat kelas (property).
2. Encapsulation (Enkapsulasi)
Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas
dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail
informasi. Proses enkapsulasi memudahkan kita untuk menggunakan sebuah
objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara
rinci. Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan
kata lain bagaimana menggunakan objek kelas tertentu.
Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan
mobil tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor
yang diperlukan untuk proses tersebut.
3. Inheritance (Warisan)
Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari
kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan secara
bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi
semakin spesifik. Sub kelas memungkinkan kita untuk melakukan spesifikasi
detail dan perilaku khusus dari kelas supernya. Dengan konsep pewarisan,
seorang programmer dapat menggunakan kode yang telah ditulisnya pada
kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis
ulang semua kodekode itu.
4. Polymorphism (Polimorfisme)
Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas
namun terkait dalam pewarisan untuk merespon secara berbeda terhadap
suatu pesan yang sama. Polimorfisme juga dapat dikatakan kemampuan
sebuah objek untuk memutuskan method mana yang akan diterapkan
padanya, tergantung letak objek tersebut pada jenjang pewarisan.
8

2.4. Metode Pendokumentasian Sistem

Unified Modeling Language (UML) merupakan salah satu bentuk language atau
bahasa, menurut pencetusnya UML di definisikan sebagai bahasa visual untuk
menjelaskan, memberikan spesifikasi, merancang, membuat Model, dan
mendokumentasikan aspek-aspek dari sebuah sistem.

Definisi ini merupakan definisi yang sederhana. Pada kenyataannya, pendapat


orang-orang tentang UML berbeda satu sama lain. Hal ini dikarenakan oleh
sejarahnya sendiri dan oleh perbedaan persepsi tentang apa yang membuat sebuah
proses rancang-bangun perangkat lunak efektif (Martin 2005:1).

Pada tahap analisis, meliputi usaha untuk mengetahui apa kemampuan sebuah
sistem yang diinginkan pengguna dan pelanggan dari sebuah perangkat lunak.
Beberapa teknik yang dapat membantu dalam tahapan analisis (Martin 2005:44) :

1. Use case Diagram


Use case Diagram adalah gambaran umum sistem dari sudut pandang pengguna
sistem. Tujuan dari use case adalah untuk menggambarkan apa yang sistem dapat
lakukan. use case diagram dibentuk dari skenario tentang kegunaan sistem yang
dinotasikan dengan sebuah use case. Setiap skenario menjelaskan suatu alur kegiatan.
Setiap skenario dapat diinisialisasi oleh pengguna sistem atau yang disebut aktor.
Tabel 2.1
Simbol Use case Diagram

No Gambar Nama Keterangan


Menspesifikasikan himpuan peran
1 Actor yang pengguna mainkan ketika
berinteraksi dengan use case.
Hubungan dimana perubahan yang
Dependency terjadi pada suatu elemen mandiri
2 (independent) akan mempengaruhi
elemen yang bergantung padanya
elemen yang tidak mandiri.
Hubungan dimana objek anak
3 (descendent) berbagi perilaku dan
Generalization
struktur data dari objek yang ada di
9

atasnya objek induk (ancestor).

4 Include Menspesifikasikan bahwa use case


sumber secara eksplisit.

Menspesifikasikan bahwa use case


5 Extend target memperluas perilaku dari use
case sumber pada suatu titik yang
diberikan.

6 Association Apa yang menghubungkan antara objek


satu dengan objek lainnya.

7 Menspesifikasikan paket yang


System menampilkan sistem secara terbatas.

Deskripsi dari urutan aksi-aksi yang


8 ditampilkan sistemyang menghasilkan
Use Case
suatu hasil yang terukur bagi suatu aktor

Interaksi aturan-aturan dan elemen lain


9 yang bekerja sama untuk menyediakan
Collaboration prilaku yang lebih besar dari jumlah dan
elemen- elemennya (sinergi).

Elemen fisik yang eksis saat aplikasi


10 Note dijalankan dan mencerminkan suatu
sumber daya komputasi

2. Class diagram

Class diagram merupakan salah satu diagram struktur statis yang


menggambarkan struktur dan hubungan antar kelas. Class diagram
digunakan untuk mensimulasikan objek-objek dalam dunia nyata ke dalam
sistem yang akan dibangun. Notasi UML pada class diagram adalah sebuah
persegi yang dibagi menjadi 3 area, yaitu nama kelas, atribut, dan operasi
(method). Class diagram dapat juga menggambarkan keanekaragaman
(multiplicity), yaitu jumlah objek dari suatu kelas yang berhubungan
dengan sebuah objek dari kelas yang berasosiasi.
10

Simbol-simbol yang digunakan dalam class diagram dapat dilihat pada Tabel
2.2 berikut.
Tabel 2.2
Simbol Class Diagram
No Gambar Nama Keterangan
Hubungan dimana objek anak
1 Generalization (descendent) berbagi perilaku dan
struktur data dari objek yang ada di
atasnya objek induk (ancestor).

2 Upaya untuk menghindari asosiasi


Nary
dengan lebih dari 2 objek
Association
Himpunan dari objek-objek yang
3 berbagi atribut serta operasi yang
Class
sama.
Deskripsi dari urutan aksi-aksi yang
ditampilkan sistem yang
4 Collaboration menghasilkan suatu hasil yang
terukur bagi suatu actor

5 Operasi yang benar-benar dilakukan


Realization oleh suatu objek.

Hubungan dimana perubahan yang


terjadi pada suatu elemen mandiri
6 Dependency (independent) akan mempegaruhi
elemen yang bergantung padanya
elemen yang tidak mandiri

Apa yang menghubungkan antara


7 Association
objek satu dengan objek lainnya

3. Activity diagram

Activity Diagram merupakan diagram yang digunakan untuk


menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem
atau proses bisnis. Simbol-simbol yang digunakan dalam activity diagram
dapat dilihat pada Tabel 2.3 berikut.
11

Tabel 2.3

Simbol Activity Diagram


No Gambar Nama Keterangan
Memperlihatkan bagaimana masing-
1 Actifity masing kelas antarmuka saling
berinteraksi satu sama lain

State dari sistem yang mencerminkan


2 Action
eksekusi dari suatu aksi
Bagaimana objek dibentuk atau
3 Initial Node diawali.

Actifity Final Bagaimana objek dibentuk dan


4
Node dihancurkan

Satu aliran yang pada tahap tertentu


5 Fork Node
berubah menjadi beberapa aliran

2.5. Pengertian Bahasa Pemrograman dan Framework

1. HTML (Hypertext Markup Languange)


HTML merupakan suatu script untuk menampilkan informasi lewat internet.
HTML memiliki perbedaan dengan dokumen teks biasa. Perbedaan yang paling
terlihat adalah, pada dokumen word, banyaknya karakter akan dibatasi oleh besarnya
kertas. Sedangkan HTML tidak memiliki batasan text. HTML sendiri merupakan
bahasa pemrograman yang feksibel, kerena dapat menampung bahasa pemrograman
lain, seperti JAVA, Visual Basic, Bahasa C, dan lain-lain.
Untuk membuat sebuah website diperlukan design dengan menggunakan
HTML. Dalam penggunaannya, HTML juga sama sepeti bahasa pemrograman yang
memiliki perintah-perintah untuk mebuat sebuah dokumen dalam bentuk HTML
tertera pada tabel berikut..
12

Tabel 2.4
Perintah Pada HTML (Hypertext Markup Languange)
Tag Fungsi tag / Lokasi tag
<html>,</html> Diawal dan diakhir code (start dan stop)
<head>,</head> Letakan <title>dan</title> disekitarnya
<title>,</title> Letakan judul/Teks disekitarnya
<body>,</body> Setelah meletakan </title>dan</title></head> letakan
<body>dan</body>
<h1>,</h1> Membuat tulisan dengan format header
<h2>,</h2> . . .
<h6>,</h6>
<b>,</b> Tulisan bold (tebal)
<i>,</i> Tulisan italic (miring)
<p>,</p> Tulisan Paragraf-break
<br> Membuat baris baru (break)
<hr> Membuat garis horizontal
<a>,</a> Membuat hyperlink text
<img src=”file”> Meletakan gambar

2. CodeIgniter
CodeIgniter adalah sebuah web application network yang bersifat open source
yang digunakan untuk membangun aplikasi php dinamis. CodeIgniter menjadi sebuah
framework PHP dengan Model MVC (Model, View, Controller) untuk membangun
website dinamis dengan menggunakan PHP yang dapat mempercepat pengembang
untuk membuat sebuah aplikasi web. Selain ringan dan cepat, CodeIgniter juga
memiliki dokumentasi yang super lengkap disertai dengan contoh implementasi
kodenya.
Dokumentasi yang lengkap inilah yang menjadi salah satu alasan kuat mengapa
banyak orang memilih CodeIgniter sebagai framework pilihannya. Karena kelebihan-
kelebihan yang dimiliki oleh CodeIgniter, pembuat PHP Rasmus Lerdorf memuji
CodeIgniter di frOSCon (Agustus 2008) dengan mengatakan bahwa dia menyukai
CodeIgniter karena “it is faster, lighter and the least like a framework.” CodeIgniter
pertamakali dikembangkan pada tahun 2006 oleh Rick Ellis. Dengan logo api yang
menyala, CodeIgniter dengan cepat “membakar” semangat para web developer untuk
13

mengembangkan web dinamis dengan cepat dan mudah menggunakan framework


PHP yang satu ini.
Adapun alur kerja dan fungsi pada CodeIgniter yaitu sebagai berikut:

1. Komponen – Komponen Visual Studio 2010


IDE (Integrated Developement Environment) merupakan sebuah “layanan
satu pintu” yang bisa digunakan oleh programmer untuk melakukan, desain,
coding, debugging, dan kompilasi program dalam sebuah tool yang terintegrasi.
IDE terdiri dari beberapa macam jenisnya yang terdiri dari :
Gambar 2.2
Tampilan Alur Kerja CodeIgniter

Index.php: Index.php disini berfungsi sebagai file pertama dalam program yang akan
dibaca oleh program.

The Router: Router akan memeriksa HTTP request untuk menentukan hal apa yang
harus dilakukan oleh program.

Cache File: Apabila dalam program sudah terdapat “cache file” maka file tersebut
akan langsung dikirim ke browser. File cache inilah yang dapat membuat sebuah
website dapat di buka dengan lebih cepat. Cache file dapat melewati proses yang
sebenarnya harus dilakukan oleh program codeigniter.

Security: Sebelum file controller di load keseluruhan, HTTP request dan data yang
disubmit oleh user akan disaring terlebih dahulu melalui fasilitas security yang
dimiliki oleh codeigniter.

Controller: Controller akan membuka file model, core libraries, helper dan semua
resources yang dibutuhkan dalam program tersebut.
14

View: Hal yang terakhir akan dilakukan adalah membaca semua program yang ada
dalam view file dan mengirimkannya ke browser supaya dapat dilihat. Apabila file
view sudah ada yang di “cache” maka file view baru yang belum ter-cache akan
mengupdate file view yang sudah ada.

Adapun keunggulan dari pada CodeIgniter yaitu sebagai berikut:


1. Size yang kecil
Keseluruhan framework Codeigniter hanya sebesar 2MB. Size sekecil ini
tentu memudahkan kita untuk mempelajari Codeigniter, menjalankannya,
juga meng-update.
2. Sangat cepat
Sebagai pengguna, kita cenderung menyukai aplikasi yang cepat, baik
loading atau saat menggunakannya. Codeigniter memiliki daya respon
loading kurang dari 50 milisecond.
3. Fleksibel
Code igniter memiliki komponen dan fitur-fitur yang berdiri sendiri tanpa
terlalu banyak bergantung pada satu sama lain, membuat Codeigniter sangat
mudah untuk di-upgrade dan dibenarkan jika ada masalah.
4. Arsitektur yang bersifat MVC (Model-View-Controller)
Ketika membuat dan mengerjakan aplikasi berbasis web, desain arsitektur
MVC merupakan standar industri untuk sebuah framework. MVC sangat
berguna untuk memisahkan data, business logic, dan presentasi.
5. Dapat dimodifikasi
Pada mulanya Codeigniter sudah terdapat library dan bantuan dari awal
mula kita pakai. Jika apa yang Anda cari tidak ada, Anda dapat dengan
mudah menambahkan library dan bantuan anda sendiri.
6. Mudah dipelajari dan dikuasai
Bagi Anda yang sudah menguasai PHP, Codeigniter adalah framework yang
sangat mudah untuk dipelajari. Dalam waktu yang singkat, pengguna dapat
menciptakan dan mengembangkan aplikasi menggunakan Codeigniter.
15

2.5.1. Komponen dalam membangun Model, View, Controller

MVC adalah konsep dasar yang harus diketahui sebelum mengenal


CodeIgniter. MVC ( Model, View, Controller) merupakan suatu konsep yang cukup
populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small
Talk, yang memisahkan bisnis logic (alur piker), data logic (penyimpanan data) dan
presentation logic (antarmuka aplikasi) atau secara sederhana adalah memisahkan
antara desain, data dan proses. Ada 3 komponen yang membangun suatu MVC yaitu :

1. Model

Model biasanya berhubungan dengan data dan interaksi ke database atau


webservice. Model juga merepresentasikan struktur data dari aplikasi yang bisa
berupa basis data maupun data lain, misalnya dalam bentuk file teks, file XML
maupun webservice. Biasanya didalam Model akan berisi 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.

Gambar 2.3
Tampilan File Model
16

2. View
View merupakan bagian yang menangani presentation logic. Pada suatu
aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh
Controller. View berfungsi untuk menerima dan merepresentasikan data hasil dari
Model dan Controller kepada user. View tidak memiliki akses langsung terhadap
bagian Model.

Gambar 2.4
Tampilan File View

3. Controller

Controller merupakan bagian yang mengatur hubungan antara bagian Model


dan bagian View. Pada Controller terdapat class-clas dan fungsi-fungsi yang
memproses permintaan dari View ke dalam struktur data di dalam Model.
Controller juga tidak boleh berisi kode untuk mengakses basis data Karena tugas
megakses data telah diserahkan kepada Model. Tugas Controller adalah
menyediakan berbagai variable yang akan ditampilkan di View, memanggil Model
untuk melakukan akses ke basis data, menyediakan penanganan kesalahan/error,
mengerjakan proses logika dari aplikasi serta melakukan validasi atau cek terhadap
input.
17

Gambar 2.5
Tampilan File Controller
BAB III

PEMBAHASAN

3.1. Analisis Kebutuhan Sistem

Analisis Kebutuhan Sistem menjelaskan tentang berbagai analisis yang


berhubungan dengan aplikasi yang akan dibuat. Tahap analisis ini bertujuan untuk
memperoleh informasi yang dibutuhkan dan memperoleh konsep aplikasi yang akan
dibuat nantinya. Ditahap ini, penelitian di awali dengan melakukan observasi
terhadap informasi-informasi yang dibutuhkan di dalam pembuatan aplikasi.
Informasi tersebut antara lain materi dan kebutuhan pembuatan aplikasi.

Analisis Kebutuhan Sistem terbagi menjadi 2, yaitu fungsional dan non-


fungsional. Dan berikut pnjelasannya:
1. Kebutuhan Fungsional

Kebutuhan fungsional adalah jenis kebutuhan yang berisi tentang proses-


proses apa saja yang nantinya dilakukan oleh sistem. Kebutuhan fungsional
juga berisikan tentang informasi-informasi apa saja yang harus ada dan
dihasilkan oleh sistem.
Berikut ini adalah kebutuhan fungsional dari perancangan aplikasi yang
akan dibuat adalah sebagai berikut:
1. Aplikasi Manajemen Cuti Karyawan ini menampilkan Username dan
Password berfungsi untuk memasuki aplikasi.
2. Pada tampilan Username dan Password terdapat tampilan hak akses
untuk memasuki aplikasi. Seperti Admin atau HRD, Leader, Manajer,
Pegawai dan Supervisor.

3. Login Sebagai Admin atau HRD akan menampilkan Beranda yang


meliputi Jumlah Karyawan Aktif dan Menunggu Approved. Form
Data Karyawan, Data Approval yang meliputi Menunggu Approval,

18
19

Approved dan Semua Data dan Data Laporan. Seorang Admin atau
HRD pun bisa merubah Password bila diperlukan.

4. Login Sebagai Leader akan menampilkan Beranda yang meliputi


Semua Data, Approved, Menunggu di Approved, Reject dan
Menunggu Approved. Data Approval yang meliputi Approval Cuti
dan Semua Data. Seorang leader pun bisa membuat pengajuan cuti
serta bisa mengetahui status cutinya apakah di approved atau reject.
Seorang Leader pun bisa merubah Password dan foto bila diperlukan.

5. Login Sebagai Pegawai akan menampilkan Beranda yang meliputi


Approved, Menunggu di Approved dan Rejected. Seorang Pegawai
bisa membuat pengajuan cuti serta bisa mengetahui status cutinya
apakah di approved atau reject. Seorang Leader pun bisa merubah
Password dan foto bila diperlukan.

6. Login Sebagai Supervisor akan menampilkan Beranda yang meliputi


Semua Data, Approved, Menunggu di Approved, Rejected dan
Menunggu Approved. Data Approval yang meliputi Approval Cuti
dan Semua Data. Seorang Supervisor pun bisa membuat pengajuan
cuti serta bisa mengetahui status cutinya apakah di approved atau
reject. Seorang Supervisor pun bisa merubah Password dan foto bila
diperlukan.

7. Login Sebagai Manager akan menampilkan Beranda yang meliputi


Semua Data, Approved, Menunggu di Approved, Rejected dan
Menunggu Approved. Data Approval yang meliputi Approval Cuti
dan Semua Data. Seorang Manager pun bisa membuat pengajuan cuti
serta bisa mengetahui status cutinya apakah di approved atau reject.
Seorang Manager pun bisa merubah Password dan foto bila
diperlukan.
20

2. Kebutuhan Non-Fungsional
Kebutuhan non-fungsional merupakan analisa yang dibutuhkan untuk
menentukan spesifikasi kebutuhan sistem. Spesifikasi non-fungsional juga
meliputi elemen atau komponen-komponen apa saja yang dibutuhkan mulai
dari sistem dibangun sampai diimplementasikan.

Pada analisis kebutuhan non-fungsional dijelaskan analisis kebutuhan


perangkat keras, perangkat lunak, dan juga analisis pengguna diantaranya sebagai
berikut:

1. Perangkat Lunak (Software)

Perangkat lunak (software) yang diperlukan dalam pembuatan


aplikasi desktop “Manajemen Cuti” ini adalah sebagai berikut:

a. Aplikasi DBMS Database Management System yaitu Mysql.

b. Sublime Text sebagai Text Editor.

c. Xampp Control Panel v3.3.0.

d. Corel Draw x5 sebagai aplikasi pendukung desain grafis.

2. Perangkat Keras (Hardware)

Spesifikasi perangkat keras yang digunakan untuk membuat


aplikasi ”Manajemen Cuti Karyawan” adalah sebagai berikut:

a. PC atau Laptop dengan Processor 2 Ghz atau lebih.

b. Random Access Memory : 4 GB

c. Hardisk Drive : 500 GB

d. Perangkat input seperti Keyboard dan Mouse Standard.


21

3.2. Perancangan Sistem

Pada tahap perancangan sistem proses perancangan yang akan dilakukan dalam

pembangunan sistem ini diantaranya adalah perancangan diagram dan perancangan

basis data.

1. Perancangan Diagram
Perancangan Diagram dilakukan untuk memberikan gambaran aliran data
yang ada pada sistem yang akan dibangun berdasarkan pada analisis prosedur
sistem yang sedang berjalan. Perancangan diagram tersebut adalah diagram
UML (Unified Modeling Language). Penulis akan mengambil 3 contoh dari
pada diagram UML tersebut diantaranya Usecase Diagram, Activity Diagram
dan Class Diagram.
1. Usecase Diagram
Usecase diagram adalah satu dari berbagai jenis diagram
UML (Unified Modelling Language) yang menggambarkan hubungan
interaksi antara sistem dan aktor. Usecase dapat mendeskripsikan tipe
interaksi antara si pengguna sistem dengan sistemnya.

1. Usecase Digram Admin atau HRD


Mengelola
Data Cuti

Hapus Data Cuti


Login Admin Karyawan
atau HRD

ADMIN atau HRD Menambah Data


Karyawan

Gambar 3.1.
Laporan
Usecase Diagram Admin atau HRD
22
Mengganti
Password
2. Usecase Digram Pegawai
Mengajukan
Cuti

Menunggu
Approval Cuti
Login Pegawai

Pegawai Rejected

Approval Cuti
Gambar 3.2.
Usecase Diagram Pegawai
Mengganti Foto

3. Usecase Digram Leader Mengganti


Password

Mengajukan
Cuti

Menunggu
Approval Cuti
Login Leader

Leader Rejected

Approval Cuti

Mengganti Foto
Approved Cuti

Gambar 3.3.
Usecase Diagram Leader
23

4. Usecase Diagram Supervisor Mengganti


Password

Mengajukan
Cuti

Menunggu
Approval Cuti
Login
Supervisor
Supervisor Rejected

Approval Cuti

Mengganti Foto
Approved Cuti

Gambar 3.4. Mengganti


Password
Usecase Diagram Supervisor

Mengajukan
5. Usecase Diagram Manager
Cuti

Menunggu
Approval Cuti

Login Manager

Manager Rejected

Approval Cuti

Mengganti Foto
Approved Cuti

Gambar 3.5.
Usecase Diagram Manager
24

2. Activity Diagram

Activity Diagram yaitu diagram yang dapat memodelkan proses-

proses yang terjadi pada sebuah sistem. Runtutan proses dari suatu sistem

digambarkan secara vertikal.

Tabel 3.1.
Activity Diagram Administrator

Admin / HRD Sistem Manajemen Cuti Karyawan

Masuk Aplikasi Tampil Form Login tidak

Masukkan Username & Password


Benar?
ya
ya

Tampil menu Utama

Menambah Data Karyawan

Mengelola Data Cuti

Hapus Data Cuti

Laporan
25

Tabel 3.2.
Activity Diagram Pegawai
Pegawai Sistem Manajemen Cuti Karyawan

Masuk Aplikasi Tampil Form Login


tidak

Benar
Masukkan Username & Password
?
ya

ya

Tampil menu Utama

Mengajukan Cuti

Menunggu Approval

Rejected

Approval Cuti
26

Tabel 3.3.
Activity Diagram Leader, Supervisor dan Manager
Leader, Supervisor dan Manager Sistem Manajemen Cuti Karyawan

Masuk Aplikasi Tampil Form Login

tidak

Benar
Masukkan Username & Password
?

ya

Tampil menu Utama

Mengajukan Cuti

Menunggu Approval

Rejected

Approval Cuti

Approved Cuti Pegawai


27

Approved Cuti Leader

Approved Cuti Supervisor

2. Perancangan Basis Data

Perancangan Basis Data terdiri dari struktur tabel yang ada dalam basis data.

1. Tabel Admin

Tabel 3.4.
Struktur Tabel Admin

Column Name Data Type Length


id_adm Integer 11
nama_adm Varchar 50
telp_adm Varchar 15
user_adm Varchar 50
pass_adm Varchar 100
foto_adm Text -
Tabel 3.5.
Struktur Tabel Cuti

Column Name Data Type Length


no_cuti Varchar 30
npp Varchar 20
tgl_pengajuan Date -
tgl_awal Date -
tgl_akhir Date -
durasi Integer 11
keterangan Text -
28

leader Varchar 20
manager Varchar 30
spv Varchar 20
stt_cuti Varchar 50
ket_reject Text -
hrd_app Integer 2
lead_app Integer 2
spv_app Integer 2
mng_app Integer 2

Tabel 3.6.
Struktur Tabel Transaksi

Column Name Data Type Length


npp Varchar 20
nama_emp Varchar 100
jk_emp Varchar 20
telp_emp Varchar 20
divisi Varchar 50
jabatan Varchar 50
alamat Text -
hak_akses Varchar 20
jml_cuti Integer 11
password Varchar 100
foto_emp Text -
active Varchar 20
id_adm Integer 11
29

3.3. Implementasi Sistem

Implementasi sistem adalah langkah-langkah atau prosedur yang dilakukan


dalam menyelesaikna desain sistem yang telah disetujui, untuk menginstal, menguji
dan memulai sistem baru atau sistem yang diperbaiki. Setelah tahapan implementasi
selesai, maka dilaksanakan tahapan pengujian sistem. Dimana jika terlihat
kekurangan pada sistem baru, selanjutnya akan diadakan pada tahap pengembangan
sistem.

3.3.1. Implementasi Basis Data


Basis data diimplementasikan dengan menggunakan perangkat lunak Aplikasi
DBMS Database Management System yaitu Mysql. Dalam Aplikasi Manajemen Cuti
Karyawan ini, dibuat satu database dengan nama db_cuti. Nama setiap tabel basis
data yang dibuat disesuaikan dengan nama yang telah dirancang sebelumnya. Gambar
3.6. menunjukan gambaran implementasi sistem basis data.

Gambar 3.6.
Implementasi Sistem Basis Data
30

3.3.2. Implementasi Antar Muka


Antar muka aplikasi Manjemen Cuti Karyawan ini diimplementasikan dengan
menggunakan perangkat lunak development tools yaitu Sublime Text sebagai Text
Editor dalam pembangunan aplikasi ini. Dan berikut penjelasan dari masing-masing
form:
1. Form Login
Form login merupakan tahapan awal untuk bisa memasuki sebuah
program yang telah dibuat. Dengan cara memasukkan username dan
password yang benar. Jika username dan password benar dan terdaftar,
maka akan masuk kedalam aplikasi tersebut. Namun sebaliknya, user
akan diminta untuk memasukkan ulang username dan password.
Pada form login ini dapat mengakses halaman Administrator/HRD,
Leader, Manager, Pegawai dan Supervisor. Semua berhak merubah
username dan password bilamana diperlukan. Agar menjaga kerahasiaan
perusahaan.
Implementasi antar muka form login dapat ditunjukan pada gambar
dibawah ini:

Gambar 3.7.
Tampilan Login
31

2. Form Administrator
Pada form Administrator ini, admin akan mengetahui pembaharuan
karyawan terbaru serta dapat menambahkan data karyawan baru. Serta
dapat mengetahui status pengajuan cuti dari semua karyawan. Baik itu
status menunggu approval, approved dan semua data. Administrator dapat
membuat laporan sesuai dengan tanggal yang diinginkan. Sehingga
perusahaan bisa megetahui banyaknya karyawan dalam mengajukan cuti
setiap bulannya. Administrator dapat merubah Username dan Password
bilamana diperlukan.
Implementasi antar muka form Administrator dapat ditunjukan pada
gambar dibawah ini:

Gambar 3.8.
Tampilan Data Administrator
32

3. Form Leader
Pada form Leader ini, Pengajuan cuti baru akan terlihat. Dengan
disediakannya tombol Approved, Leader dapat menyetujui pengajuan cuti
terhadap pegawainya. Serta dapat mengetahui status pengajuan cuti dari
pegawainya. Baik itu Data Menunggu Approval, Rejected dan Approved.
Leaderpun berhak dalam pengajuan cutinya kepada Manager. Leader
dapat merubah Foto, Username dan Password bilamana diperlukan.
Implementasi antar muka form Leader dapat ditunjukan pada
gambar dibawah ini:

Gambar 3.9.
Tampilan Data Leader
4. Form Manager
Pada form Manager ini, Pengajuan cuti baru akan terlihat. Dengan
disediakannya tombol Approved, Manager dapat menyetujui pengajuan cuti
terhadap Leader. Serta dapat mengetahui status pengajuan cuti dari Leadernya.
Baik itu Data Menunggu Approval, Rejected dan Approved. Managerpun
berhak dalam pengajuan cutinya kepada Supervisor. Supervisor dapat merubah
Foto, Username dan Password bilamana diperlukan.
33

Implementasi antar muka form Manager dapat ditunjukan pada


gambar dibawah ini:

Gambar 3.10.
Tampilan Data Manager
5. Form Supervisor
Pada form Supervisor ini, Pengajuan cuti baru akan terlihat. Dengan
disediakannya tombol Approved, Manager dapat menyetujui pengajuan
cuti terhadap Manager. Serta dapat mengetahui status pengajuan cuti dari
Managernya. Baik itu Data Menunggu Approval, Rejected dan Approved.
Managerpun berhak dalam pengajuan cutinya kepada Administrator.
Supervisor dapat merubah Foto, Username dan Password bilamana
diperlukan.
34

Implementasi antar muka form data Supervisor dapat ditunjukan


pada gambar dibawah ini:

Gambar 3.11.
Tampilan Data Supervisor

6. Form Pegawai
Pada form Pegawai ini, Pengajuan cuti baru akan terlihat. Dengan
disediakannya tombol Approved, Leader dapat menyetujui pengajuan cuti
terhadap Pegawai. Serta pegawai dapat mengetahui status pengajuan cutinya.
Baik itu Data Menunggu Approval, Rejected dan Approved. Pegawaipun berhak
dalam pengajuan cutinya kepada Leader. Pegawai dapat merubah Foto,
Username dan Password bilamana diperlukan.
35

Implementasi antar muka form data Pegawai dapat ditunjukan pada


gambar dibawah ini:

Gambar 3.12.
Tampilan Data Pegawai

3.4. Pengujian Sistem


Setelah tahapan implementasi selesai, langkah berikutnya adalah tahap
pengujian sistem. Tahap pengujian sistem merupakan tahapan terakhir sebelum
sistem yang sedang dibangun digunakan oleh perusahaan. Pada tahapan ini
semaksimal mungkin tidak ada kegagalan terhadap program yang telah dibuat.
Namun, agar lebih jelasnya lagi developer akan memberikan ringkasan kerja
sistem yang telah dibangun dalam bentuk tabel.
36

Dan penjelasan dari pengujian ini menggunakan metode Black Box, sistem
tersebut ditunjukkan pada tabel dibawah ini:
Tabel 3.7.

Tabel Pengujian Black Box

No Kasus Tampilan yang diharapkan Hasil


Ketika Administrator, Leader,
Manager, Supervisor dan
1. Pegawai pertama kali Muncul form Login. OK
menjalankan aplikasi
Manajemen Cuti Karyawan.
Akan muncul form User yang
menampilkan username dan password
untuk dimasukkan.
Akan muncul pesan "Maaf, Nama
pengguna atau password salah." jika
Ketika Administrator, Leader, salah memasukkan username atau
2. Manager, Supervisor dan OK
password
Pegawai mencoba login.
Jika username dan password benar,
maka form Username dan Password
akan tertutup dan muncul form
Administrator, Leader, Manager,
Supervisor dan Pegawai.
Administrator dapat mengetahui
karyawan aktif, menambah data
karyawan baru, mengetahui status
pengajuan cuti karyawan, serta
3. Ketika Administrator membuat laporan. OK
membuka form Admin Administrator dapat merubah
Username dan Password serta foto
bilamana diperlukan.

Leader dapat mengetahui status


pengajuan cuti pegawai, serta dapat
menyetujui pengajuan cuti pegawainya,
4. Ketika Leader membuka Leader dapat mengajukan cuti kepada OK
form Leader Manager dan mengetahui status
pengajuan cutinya, baik itu status
menungu approval, Rejected ataupun
Approved.
37

Leader dapat merubah Username dan


Password serta foto bilamana
diperlukan.
Manager dapat mengetahui status
pengajuan cuti Leader, serta dapat
menyetujui pengajuan cuti Leadernya,
Manager dapat mengajukan cuti
kepada Supervisor dan mengetahui
5. Ketika Manager membuka status pengajuan cutinya, baik itu status OK
form Manager menungu approval, Rejected ataupun
Approved.
Manager dapat merubah Username dan
Password serta foto bilamana
diperlukan.
Supervisor dapat mengetahui status
pengajuan cuti Leader, serta dapat
menyetujui pengajuan cuti Leadernya,
Supervisor dapat mengajukan cuti
kepada Administrator dan mengetahui
6. Ketika Supervisor membuka status pengajuan cutinya, baik itu status OK
form Supervisor menungu approval, Rejected ataupun
Approved.
Supervisor dapat merubah Username
dan Password serta foto bilamana
diperlukan.
Pegawai dapat mengetahui status
pengajuan cutinya, serta dapat
mengajukan cuti kepada Leader dan
mengetahui status pengajuan cutinya,
7. Ketika Pegawai membuka baik itu status menungu approval, OK
form Pegawai Rejected ataupun Approved.
Pegawai dapat merubah Username dan
Password serta foto bilamana
diperlukan.

Berdasarkan hasil pengujian sistem ini, dapat diambil kesimpulan bahwa secara
fungsional Aplikasi Manajemen Cuti Karyawan ini sudah memenuhi persyaratan
prosedur sistem yang ada dan juga dapat menghasilkan output yang diharapkan.
BAB IV

PENUTUPAN

4.1. Kesimpulan
Aplikasi Manajemen Cuti Karyawan ini merupakan sebuah aplikasi
berbasis website yang mampu menangani kinerja pada Roboratory Indonesia
berupa pengajuan cuti karyawan. Keluaran dari pada aplikasi ini yaitu
berbentuk laporan data dari pada setiap data yang dilakukan oleh Administrator.
Namun hanya beberapa data saja yang kami buatkan laporan. Seperti Data
Laporan Pengajuan Cuti Karyawan disetiap bulannya. Sebagai Yayasan yang
dilakukan oleh perorangan, sangat terbantu dengan adanya aplikasi Manajemen
Cuti Karyawan ini. Selain sebagai pemanfaatan kemajuan teknologi informasi,
aplikasi ini dapat meningkatkan pelayanan sistem terhadap pengajuan cuti
terhadap karyawan agar pengajuan cuti karyawan menjadi lebih baik dan rapih.

4.2. Saran
Berikut adalah saran untuk penelitian berikutnya:
1. Aplikasi Manajemen Cuti Karyawan ini bisa dikembangkan kembali
tampilan Interfacenya.

38

Anda mungkin juga menyukai