bab ii landasan teori - repository.bsi.ac.id filesedangkan upah merupakan pembayaran atas penyerahan...
TRANSCRIPT
7
BAB II
LANDASAN TEORI
2.1.Tinjauan Pustaka
Pengertian sistem mempunyai peranan yang sangat penting dalam melakukan
pendekatan sistem yang akan dianalisis, pendekatan sistem dilakukan agar lebih
menekankan pada komponen sistem.
2.1.1. Aplikasi Berbasis Web
Menurut Maulani dkk (2017:1) Menyimpulkan bahwa :
Aplikasi web adalah jenis aplikasi yang diakses melalui jaringan seperti
internet atau intranet, seperti Internet Explorer dan Mozilla Firefox. Dengan
menggunakan aplikasi web, kita hanya perlu menempatkan aplikasi dalam
sebuah server dan dengan sendirinya aplikasi tersebut dapat diakses dari
manapun, sepanjang pemakai dapat mengakses web servernya. Web server
adalah server yang melayani permintaan aplikasi web. Aplikasi web yang
paling dasar ditulis dengan mengunakan HTML (Hypertext Markup
Language).
2.1.2. Absensi
Menurut Lengkong dkk (2016:1) Menyimpulkan bahwa “Absensi adalah suatu
kegiatan atau rutinitas yang dilakukan oleh seseorang untuk membuktikan dirinya
hadir atau tidak dalam suatu instansi.”
1. Tujuan Absensi
Karena absensi merupakan unsur kedisplinan dalam hal bekerja maka tujuan
diadakannya absensi yaitu untuk meningkatkan kedisiplinan pegawai. Daftar
absensi diperlukan bagi atasan untuk mengetahui bagaimana kedisiplinan para
pegawai di suatu instansi.
8
Adapun tujuan absensi tersebut adalah:
1. Untuk melihat kehadiran pegawai.
2. Untuk meningkatkan kedisiplinan pegawai.
3. Untuk meningkatkan semangat kerja pegawai.
4. Untuk mengetahui keadaan bawahan dihari kerja.
5. Untuk mengetahui apakah bawahan mempunyai semangat kerja dengan
melihat kehadiran karyawan dihari kerja.
6. Sebagai bahan laporan kepada atasan tentang kinerja pegawai yang
disiplin.
Dengan diterapkannya sistem absensi dapat membantu meningkatkan mutu
dari instansi itu. Penggunaan absensi pada suatu instansi berarti terdapat kedisiplinan
pada tempat yang bersangkutan, sehingga dapat dinilai bahwa sistem kerja ditempat
tersebut berkualitas baik.
2.1.3. Penggajian
Menurut Saputra & Bukhori (2014:1) menjelaskan bahwa :
Penggajian adalah memberikan kompensasi untuk pegawai yang berupa gaji
sebagai kembalian finansial kepada para pegawai sebagai ganti kontribusi
mereka terhadap organisai/instansi. Mengingat pentingnya peranan sistem
penggajian, maka sistem tersebut harus didesain dengan baik agar dapat
memberikan layanan yang mencukupi bagi pegawai serta dapat membantu
memberikn dukungan informasi bagi pihak manajemen dalam pengambilan
keputusan, dapat berupa informasi yang berkualitas yang disajikan dalam
bentuk laporan.
Sistem menyajikan cara-cara penggajian pegawai secara memadai dan akurat,
menghasilkan laporan-laporan penggajian yang diperlukan dan menyajikan informasi
kebutuhan pegawai kepada manajamen. Pemrosesan harus meliputi pengurangan
pajak, potongan tertentu, pelaporan kepada pemerintah dan persyaratan-persyaratan
9
kepegawaian lainnya. Pemrosesan penggajian merupakan satu kegiatan yang peka
terhadap hukuman denda maupun penjara jika pencatatan yang dibuat tidak memadai.
Sistem yang efisien diperlukan untuk menjaga hubungan baik antara pegawai dan
perusahaan.
Sering sekali gaji dan upah dianggap mempunyai pengertian yang sama oleh
kebanyakan masyarakat. Anggapan ini terjadi mungkin disebabkan karena gaji dan
upah sama-sama merupakan balas jasa yang diberikan kepada karyawannya. Pada
kenyataannya kedua istilah tersebut mempunyai perbedaan.
Menurut undang-undang tenaga kerja no 13 tahun 2003, Bab 1, Pasal 1
berisikan Upah adalah hak pekerja/buruh yang diterima dan dinyatakan dalam bentuk
uang sebagai imbalan dari pengusaha atau pemberi kerja kepada pekerja/buruh yang
ditetapkan dan dibayarkan menurut suatu perjanjian kerja, kesepakatan, atau
peraturan perundang undangan, termasuk tunjangan bagi pekerja/buruh dan
keluarganya atas suatu pekerjaan atau jasa yang telah atau akan dilakukan.
Gaji pada umumnya merupakan pembayaran atas penyerahan jasa yang
dilakukan oleh para karyawan yang mempunyai jenjang jabatan manager, dan
dibayarkan secara tetap per bulan. Sedangkan upah merupakan pembayaran
atas penyerahan jasa yang dilakukan oleh karyawan pelaksana (buruh)
umumnya dibayarkan berdasarkan hari kerja, jam kerja, atau jumlah satuan
produk yang dihasilkan oleh karyawan. (Herdyana, 2017)
Dari definisi Gaji di atas maka dapat disimpulkan bahwa gaji merupakan pengganti
jasa bagi tenaga-tenaga kerja dengan tugas yang sifatnya lebih konstan. Ditetapkan
melalui perhitungan masa yang lebih panjang misalnya bulanan, triwulan atau
tahunan.
10
2.1.4. Unified Modelling Language (UML)
Menurut Surjawan dkk (2016:2) “UML singkatan dari Unified Modeling
Language yang berarti bahasa pemodelan standar".
1. Pengertian UML
Sedangkan menurut Nugroho dkk (2016:4) menjelaskan bahwa “UML adalah
bahasa pemodelan standar atau kumpulan teknik-teknik pemodelan untuk
menspesifikasi, mem-visualisasi, meng-konstruksi dan mendokumentasi hasil
kerja dalam pengembanganan perangkat lunak. Secara sederhana UML digunakan
untuk menggambar sketsa system”.
2. Tujuan atau fungsi dari penggunaan UML
Inilah beberapa tujuan atau fungsi dari penggunaan UML, yang diantaranaya:
a. Dapat memberikan bahasa permodelan visual kepada pengguna dari berbagai
macam pemerograman maupun proses rekayasa.
b. Dapat menyatukan praktek-praktek terbaik yang ada dalam permodelan.
c. Dapat memberikan model yang siap untuk digunakan, merupakan bahasa
permodelan visual yang ekspresif untuk mengembangkan sistem dan untuk
saling menukar model secara mudah.
d. Dapat berguna sebagai blue print, sebab sangat lengkap dan detail dalam
perancangannya yang nantinya akan diketahui informasi yang detail mengenai
koding suatu program.
e. Dapat memodelkan sistem yang berkonsep berorientasi objek, jadi tidak
hanya digunakan untuk memodelkan perangkat lunak (software) saja.
11
f. Dapat menciptakan suatu bahasa permodelan yang nantinya dapat
dipergunakan oleh manusia maupun oleh mesin.
3. Jenis-jenis diagram UML
a. Use case Diagram
Use case diagram yaitu salah satu jenis diagram pada UML yang
menggambarkan interaksi antara sistem dan aktor, use case diagram juga
dapat men-deskripsikan tipe interaksi antara si pemakai sistem dengan
sistemnya.
Sumber : Nugroho dkk (2016:4)
Gambar II.1. Contoh Use Case Diagram
12
b. Activity Diagram
Activity diagram atau diagram aktivitas yaitu salah satu jenis diagram pada
UML yang dapat memodelkan proses-proses apa saja yang terjadi pada
sistem.
Sumber : http://www.tutorialkampus.com/2014/06/pengembangan-desain
dan-implementasi.html
Gambar II.2. Contoh Activity Diagram
c. Sequence diagram
Sequence diagram yaitu salah satu jenis diagram pada UML yang
menjelaskan interaksi objek yang berdasarkan urutan waktu, sequence
13
diagram juga dapat menggambarkan urutan atau tahapan yang harus
dilakukan untuk dapat menghasilkan sesuatu seperti pada use case diagram.
Sumber : Khasani & Surjawan (2016:4)
Gambar II.3. Contoh Sequence Diagram
d. Class diagram
Class diagram yaitu salah satu jenis diagram pada UML yang digunakan
untuk menampilkan kelas-kelas maupun paket-paket yang ada pada suatu
sistem yang nantinya akan digunakan. Jadi diagram ini dapat memberikan
14
sebuah gambaran mengenai sistem maupun relasi-relasi yang terdapat pada
sistem tersebut.
Sumber : (Nugroho et al. (2016:4)
Gambar II.4. Contoh Class Diagram
e. Deployment diagram
Deployment diagram yaitu salah satu diagram pada UML yang menunjukan
tata letak suatu sistem secara fisik, dapat juga dikatakan untuk menampilkan
bagian-bagian software yang terdapat pada hardware dan digunakan untuk
menerapkan suatu sistem dan hubungan antara komponen hardware. Jadi
15
Deployment diagram intinya untuk menunjukan letak software pada
hardware yang digunakan sistem.
Sumber : Indiharto dkk (2016:7)
Gambar II.5. Contoh Deployment Diagram
f. Component diagram
Component diagram yaitu salah satu jenis diagram pada UML yang
menggambarkan software pada suatu sistem. Component diagram
merupakan penerapan software dari satu ataupun lebih class, dan biasanya
berupa file data atau .exe, source kode, table, dokumen dsb.
16
Sumber : Janti & Susanti (2017:4)
Gambar II.6. Contoh Component Diagram
g. Object diagram
Object diagram yaitu salah satu jenis diagram pada UML yang
menggambarkan objek-objek pada suatu sistem dan hubungan antarnya.
h. Composite structure diagram
Composite structure diagram yaitu salah satu jenis diagram pada UML yang
menggambarkan struktur internal dari penklasifikasian (class, component
atau use case) dan termasuk titik-titik interaksi penklasifikasian kebagian
lainnya dari suatu sistem. Ini hampir mirip seperti class diagram akan tetapi
composite structure diagram menggambarkan bagian-bagian dari individu
kelas saja bukan semua kelas.
17
i. Interaction Overview Diagram
Interaction Overview diagram yaitu salah satu jenis diagram pada UML
yang berguna untuk men-visualisasikan kerjasama dan hubungan antara
activity diagram dengan sequence diagram.
j. Package diagram
Package diagram yaitu salah satu jenis diagram pada UML digunakan untuk
mengelompokan kelas dan juga menunjukan bagaimana elemen model akan
disusun serta mengambarkan ketergantungan antara paket-paket.
k. Diagram Timing
Diagram timing yaitu salah satu jenis diagram pada UML yang disebut
sebagai bentuk lain dari interaksi diagram, dimana fokus yang paling
utamanya kepada waktu. Diagram timing berguna untuk menunjukan faktor-
faktor yang membatasi waktu antara perubahan state terhadap objek yang
berbeda.
2.1.5. PHP Hypertext Preprocessor (PHP)
Menurut Surjawan dkk (2016:2) menjelaskan bahwa “PHP atau PHP
Hypertext Preprocessor merupakan bahasa pemrograman yang berjalan di sisi server.
Ketika user melakukan akses ke sebuah alamat situs dengan mengetikkan halaman
URL-nya, browser akan mengirimkan request/permintaan ke webserver”.
18
1. Fungsi Hypertext Preprocessor (PHP)
Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa pemrograman yang
wajib digunakan. Kita bisa saja membuat website hanya menggunakan HTML saja.
Web yang dihasilkan dengan HTML (dan CSS) ini dikenal dengan website statis,
dimana konten dan halaman web bersifat tetap.
Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan PHP adalah
situs web yang bisa menyesuaikan tampilan konten tergantung situasi. Website
dinamis juga bisa menyimpan data ke dalam database, membuat halaman yang
berubah-ubah sesuai input dari user, memproses form, dll.
Untuk pembuatan web, kode PHP biasanya di sisipkan kedalam dokumen HTML.
Karena fitur inilah PHP disebut juga sebagai Scripting Language atau bahasa
pemrograman script.
2.1.6. CodeIgniter
1. Pengertian CodeIgniter
Menurut Khasani & Surjawan (2016:2) menjelaskan bahwa “CodeIgniter adalah
framework pengembangan aplikasi (application development framework) dengan
menggunakan PHP, suatu kerangka untuk bekerja atau membuat program dengan
menggunakan PHP yang lebih sistematis”.
2. Framework
Menurut Nugroho et al. (2016:4) menyimpulkan bahwa:
Framework secara sederhana dapat diartikan sebagai kumpulan dari fungsi atau
prosedur dan class untuk tertentu yang sudah siap untuk digunakan sehingga
mempermudah dan mempercepat dalam pembuatan program tanpa harus
membuat fungsi atau class dari awal. Pada framework sudah tersedia struktur
aplikasi yang baik seperti standar coding, best practice, design pattern dan
common function sehingga proses pembuatan program dapat langsung fokus
19
kepada proses pembangunan sistem tanpa harus melakukan mindset atau
berpikir pada masalah struktur aplikasi, standar coding, dan lain sebagainya.
3. Kelebihan Framework Codeigniter
a. Mempercepat dan mempermudah pemabangunan sebuah aplikasi
web,Relatif memudahkan dalam proses maintenance karena sudah ada pola
tertentu dalam sebuah framework (dengan syarat programmer harus
mengikuti pola standar yang ada).
b. Framework menyediakan fasilitas – fasilitas yang umum dipakai sehingga
kita tidak perlu membangun dari awal (misalnya validasi, ORM, Pagination,
Multiple Database, Scaffolding, pengaturan session, error handling, dll
c. Lebih bebas dalam pengembangan jika dibandingkan CSM
4. Kekurangan Framework Codeigniter
a. Update core-engine tidak secepat framework lain
b. Masih banyak kelonggaran dalam hal coding, misalnya bebas dalam
menambah file.
c. Tidak mencerminkan MVC yang sesungguhnya, misalnya penulisan echo
masih dapat dilakukan pada file Controller.
2.1.7. MySQL
MySQL menurut Surjawan dkk (2016:2) Menyimpulkan bahwa :
merupakan software yang tergolong sebagai DBMS (Database Management
System) yang bersifat Open Source. Open Source menyatakan bahwa software
ini dilengkapi dengan source code (kode yang dipakai untuk membuat MySQL),
selain itu tentu saja bentuk executablenya atau kode yang dapat dijalankan
secara langsung dalam sistem operasi, dan bisa diperoleh dengan cara
mendownload (mengunduh) di internet secara gratis.
20
1. Pengertian MSQL
MySQL adalah salah satu jenis database server yang banyak digunakan dan sangat
terkenal. Kepopulerannya disebabkan MySQL menggunakan SQL sebagai bahasa
dasar untuk mengakses database yang terbagi menjadi tiga bagian, yaitu DDL,
DML, DCL. Selain itu, MySQL bersifat open source, jadi tidak perlu membayar
untuk menggunakannya.
a. DDL
DDL (Data definition Language) merupakan kelompok perintah yang
berfungsi untuk mendefinisikan atribut–atribut database, atribut(kolom),
batasan-batasan terhadap suatu atribut, serta hubungan antar.
b. DML
DML (Data Manipulation Language) adalah kelompok perintah yang
berfungsi untuk memanipulasi data dalam database, misalnya untuk
pengambilan, penyisipan, pengubahan dan penghapusan data.
c. DCL
DCL (Data Control Language) berisi perinta–perintah untuk mengendalikan
pengaksesan data. Pengendalian dapat dilakukan berdasarkan pengguna, per
tabel, per-kolom maupun per-operasi yang boleh dilakukan.
2.1.8. Notepad++
Notepad++ merupakan suatu text editor yang berjalan pada Operating
System(OS) Windows. Notepad++ disini menggunakan komponen-komponen
Scintilla agar dapat menampilkan dan menyunting text dan berkas source code
berbagai bahasa pemrograman. Notepad++ didistribusikan sebagai Free Software
21
(gratis) Proyek ini dilayani oleh Sourceforge.net dengan telah diunduh lebih dari 27
juta kali dan dua kali memenangkan penghargaan SourceForge Community Choice
Award for Best Developer Tool.
Pengembang dari Notepad++ disini adan Don Ho yang diriliskan pada
tanggal 24 November 2003,dengan memiliki license dari GNU General Public
License dengan ukuran program yang kecil yaitu 5.5MB. Bahasa pemrograman yang
didukung oleh notepad++ adalah bahasa C++ karena fungsi-fungsinya yang
dimasukan kedalam daftar fungsi dan kata-katanya akan berubah sesuai dengan
makna kata C++. Berikut ini adalah bahasa pemrograman yang didukung oleh
Notepad++ sejak dirilis pada versi 5.9.3 :
a. ActionScript, Ada, ASP, Assembler, autoIt
b. Batch
c. C, C++, C#, Caml, Cmake, COBOL, CSS
d. D, Diff
e. Flash ActionScript, Fortran
f. Gui4CLI
g. Haskell, HTML
h. Berkas INI, InnoSetup
i. Java, Javascript, JSP
j. KiXtart
k. LISP, Lua
l. Makefile, Matlab, MS-DOS
m. NSIS
22
n. Objective-C
o. Pascal, Perl, PHP, Postscript, PowerShell, Properties file, Python
p. R, Resource file, Ruby
q. Shell, Scheme, Smalltalk, SQL
r. TCL, TeX
s. Pascal, Perl, PHP, Postscript, PowerShell, Properties file, Python
t. XML
u. YAML
Dan kali ini saya ingin memberitahu kenapa kita menggunakan notepad++
untuk membuat Web Programming yang biasa memakai bahasa pemrograman
HTML, PHP, Javascript, SQL, CSS, sedangkan masih ada banyak software lain yang
lebih canggih dalam pembuatan web programming selain notepad++ seperti
Dreamweaver, Bluefish, Eclipse, CoffeeCup Free HTML Editor.
1) Keunggulan Notepad++ Dalam Software Web Programming
Simple, Ringan dan Cepat dibandingkan dengan text editor lainnya, notepad++
tidak perlu menunggu loading opening library, terlebih seperti pada software
adobe dreamweaver dan eclipse apa lagi untuk PC / Laptop yang memiliki
specification yang rendah.
Bracket Matching atau bisa dibilang mengumpulkan yang sesuai (berpasangan),
biasanya digunakan pada saat menuliskan syntax percabangan,perulangan dan
bagian utama program. Fungsi ini berguna untuk kita jika menuliskan block
program yang panjang dan terkadang kita lupa untuk menutup block program yang
telah kita buat
23
Syntax Highlighting tampilan source code, disini kita bisa melihat warna pada
setiap fungsi dari syntax. Jadi kita tidak bingung menggolongkan kegunaan syntax
yang kita tulis dan dapat dibaca dengan mudah. Contoh tulisan yang berwarna
hijau biasanya terdapat pada statment jika kita menuliskan komentar pada sebuah
program.
Syntax Folding atau melipat source code, ini hampir sama seperti bracket
matching sebelumnya. Jika bracket matching digunakan untuk menunjukan awal
dan akhir suatu block program. Syntax Folding disini tidak jauh beda tetapi,
digunakan untuk menyembunyikan block program tertentu agar terlihat lebih
ringkas tampilannya agar programmer tidak perlu melihat seluruh syntaxnya apa
lagi jika sudah sampai lebih 1000 baris lebih.
Quick Color Picker++ fungsi ini berguna pada saat kita menuliskan kode warna
pada html atau pun CSS tetapi tidak harus menuliskan kodenya terlebih jika kita
lupa kode pada warna yang kita inginkan, biasanya akan muncul kotak dengan
banyak aneka warna yang kita tinggal pilih,setelah memilih nanti kode warna
tersebut akan muncul.
FingerText, biasa digunakan untuk menuliskan bahasa PHP di notepad++,fungsi
ini berfungsi untuk memudahkan pengetikan syntax dengan kata tertentu sebagai
pemicu/trigger dan menggantikannya dengan menekan tombol TAB. Contoh kata
g akan berubah menjadi $_GET.
24
2.1.9. Bootstrap
Bootstrap adalah sebuah library framework CSS yang dibuat khusus untuk
bagian pengembangan front-end website. Bootstrap juga merupakan salah satu
framework HTML, CSS dan javascript yang paling populer di kalangan web
developer yang digunakan untuk mengembangkan sebuah website yang responsive.
Sehingga halaman website nantinya dapat menyesuaikan sesuai dengan ukuran
monitor device (desktop, tablet, ponsel) yang digunakan pengguna disaat mengakses
website website dari browser.
Bootsrap telah menyediakan kumpulan komponen class interface dasar yang
telah dirancang sedemikian rupa untuk menciptakan sebuah tampilan yang menarik
dan ringan. Selain komponen class interface, bootsrap juga memiliki grid yang
berfungsi untuk mengatur layout pada halaman website. Selain itu developer juga
dapat menambahkan class dan CSS sendiri,
beberapa kelebihan yang dimiliki oleh Bootstrap itu sendiri yang antara lain:
a. Dapat mempercepat waktu proses pembuatan front-end website.
b. Tampilan bootstrap yang sudah cukup terlihat modern.
c. Tampilan Bootsrap sudah responsive,sehingga mendukung segala jenis
resolusi, baik itu PC, tablet, dan juga smartphone
d. Website menjadi Sangat ringan ketika diakses, karena bootsrap dibuat dengan
sangat terstruktur.
25
2.1.10. jQuery
JQuery merupakan library Javascript yang dibuat untuk memudahkan
pembuatan website dengan HTML yang berjalan di sisi Client. JQuery diluncurkan
pada tanggal 26 Januari 2006 di Barcamp NYC oleh John Resig dan berlisensi ganda
di bawah MIT dan GPL.
Script JQuery dibuat untuk memudahkan pengaturan document seperti
menyeleksi object dengan element DOM dan membuat aplikasi dengan AJAX.
Jquery juga menyediakan layanan atau support para developers untuk membuat plug-
ins di dalam bahasa Javascript tentunya. Sehingga memungkinkan para developer
website membuat website lebih interaktif dengan animasi, efek – efek, tema dan
widget. Dengan menggunakan JQuery kita bisa meluapkan kreatifitas untuk membuat
website dinamis.
1. Beberapa Fitur yang ada di JQuery :
Dalam Pemakaian menggunakan seleksi element DOM, sehingga website lebih
dinamis dan interaktif.
a. JQuery bisa memanipulasi Class pada CSS dan Support CSS 3
b. Event
c. AJAX
d. Efek-efek dan animasi
e. Ekstensi dan Plug-ins
f. Kompatibilitas dengan hampir semua Browser modern
g. Keperluan lain seperti : User Agent, Feature detection dan lainnya
26
h. JQuery hanyalah 1 file yang berisi kode dalam Javascript tetapi bisa berisi
banyak fitur seperti di atas. Sehingga cara menggunakaanya sangat mudah.
2.1.11. Asynchronous JavaScript and XML (Ajax)
AJAX, singkatan dari “Asynchronous JavaScript and XML“, merupakan
metode suatu laman web menggunakan JavaScript untuk mengirim dan menerima
data dari server tanpa harus menyegarkan (refresh) laman itu. XML adalah sejenis
markup language – seperti HTML, yang kerap dipakai untuk mengirimkan data
melalui internet. Belakangan ini, JSON (“JavaScript Object Notation”) lebih populer
dan bisa dibaca – secara bawaan (native) – oleh JavaScript. Berikut uraian yang lebih
ringkas:
AJAX: Asynchronous JavaScript and XML. Sebuah sistem untuk mengirim dan
menerima data dari server tanpa penyegaran laman (page refresh). (contoh di bawah)
XML: eXtensible Markup Language. Sebuah bahasa untuk mengorganisir data
arbitrer. Menggunakan banyak sekali kurung sudut (angle brackets): “<>”. HTML:
HyperText Markup Language. Sebuah subset XML yang khususnya berfungsi untuk
menjelaskan dan mengorganisir laman web. JSON: JavaScript Object Notation.
Metode yang lebih modern untuk memindahkan paket data yang sering dipakai
bersama dengan AJAX. Bisa dibaca secara bawaan oleh JavaScript.
Sebuah contoh perintah AJAX bisa berjalan seperti berikut:
a. Client memanggil laman dari server
b. Server merespon panggilan dan mengirimkan laman
c. Client membuat perintah AJAX ke server dan memanggil lebih banyak data
d. Server mengirimkan data tersebut
27
e. Client memutakhirkan laman dengan data tersebut tanpa me-refresh laman.
f. Facebook, Gmail, dan Pinterest adalah contoh situs-situs yang banyak
menggunakan AJAX.
Bagian “Asynchronous” merujuk pada fakta bahwa ketika JavaScript
menyampaikan panggilan AJAX ke webserver, ia terus berjalan sampai memperoleh
respon – ia tidak memblokir dan berhenti saat data sedang diproses oleh server.
2.1.12. Metode Waterfall
Metode ini memberikan pendekatan-pendekatan sistematis dan berurutan
bagi pengembangan sistem informasi. Berikut adalah gambar pengembangan sistem
perangkat lunak dengan metode waterfall. Penjelasan dari tahap-tahap waterfall
model adalah sebagai berikut:
Sumber : Hengki & Suprawiro (2017:2)
Gambar II.7. Contoh Metode Waterfall
28
1. Requirement Analisis
Tahap ini pengembang sistem diperlukan komunikasi yang bertujuan untuk
memahami perangkat lunak yang diharapkan oleh pengguna dan batasan
perangkat lunak tersebut. Informasi ini biasanya dapat diperoleh melalui
wawancara, diskusi atau survei langsung. Informasi dianalisis untuk
mendapatkan data yang dibutuhkan oleh pengguna.
2. System Design
Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari dalam fase ini dan
desain sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat
keras(hardware) dan sistem persyaratan dan juga membantu dalam
mendefinisikan arsitektur sistem secara keseluruhan.
3. Implementation
Pada tahap ini, sistem pertama kali dikembangkan di program kecil yang disebut
unit, yang terintegrasi dalam tahap selanjutnya. Setiap unit dikembangkan dan
diuji untuk fungsionalitas yang disebut sebagai unit testing.
4. Integration & Testing
Seluruh unit yang dikembangkan dalam tahap implementasi diintegrasikan ke
dalam sistem setelah pengujian yang dilakukan masing-masing unit. Setelah
integrasi seluruh sistem diuji untuk mengecek setiap kegagalan maupun
kesalahan.
5. Operation & Maintenance
Tahap akhir dalam model waterfall. Perangkat lunak yang sudah jadi,
dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam
29
memperbaiki kesalahan yang tidak ditemukan pada langkah sebelumnya.
Perbaikan implementasi unit sistem dan peningkatan jasa sistem sebagai
kebutuhan baru.
2.1.13. Entity Relationship Diagram (ERD)
Model Entity Relationship diperkenalkan pertama kali oleh P.P. Chen pada
tahun 1976. Model ini dirancang untuk menggambarkan persepsi dari pemakai dan
berisi obyek-obyek dasar yang disebut entity dan hubungan antara entity-entity
tersebut yang disebut dengan relationship. Pada model ER ini smesta data yang ada
dalam dunia nyata ditrasformasikan dengan memanfaatkan perangkat konseptual
menjadi sebuah diagram, yaitu diagram ER (Entity Relationship).
Menurut Khasani & Surjawan (2016:2) menjelaskan bahwa “Relationship
Diagram (ERD) adalah alat pemodelan data utama dan akan membantu
mengorganisasi data dalam suatu proyek ke dalam entitas-entitas dan menentukan
hubunganantar entitas. Proses memungkinkan analis menghasilkan struktur basis data
yang baik sehingga data dapat disimpan dan diambil secara efisien”.
Diagram Entity-Relationship dilengkapi penggambaran grafik dari struktur
logika. Dengan kata lain diagram ER menggambarkan arti dari aspek data seperti
bagimana entity-entity, atribut-atribut dan relationship-relationship disajikan.
Sebelum membuat diagram ER, tentunya kita harus memahami betul data
yang diperlukan dengan ruang lingkupnya. Di dalam pembuatan diagram ER perlu
diperhatikan penetuan sesuatu konsep apakah merupakan suatu entity, atribut atau
relationship.
30
Elemen - elemen Entity Relationship Diagram :
1. Entitas
Entitis merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan
dari sesuatu yang lain. Simbol dari entiti ini biasanya digambarkan dengan persegi
panjang.
2. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk
mendes-kripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai
sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar
atribut diwakili oleh simbol elips.
a. Atribut Key
Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat
membedakan semua baris data (Row/Record) dalam tabel secara unik.
Dikatakan unik jika pada atribut yang dijadikan key tidak boleh ada baris data
dengan nilai yang sama. Contoh : Nomor pokok mahasiswa (NPM), NIM dan
nomor pokok lainnya.
b. Atribut simple
atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi. Contoh :
Alamat, penerbit, tahun terbit, judul buku.
c. Atribut Multivalue
nilai dari suatu attribute yang mempunyai lebih dari satu (multivalue) nilai dari
atrribute yang bersangkutan. Contoh : dari sebuah buku, yaitu terdapat
beberapa pengarang.
31
d. Atribut Composite
Atribut composite adalah suatu atribut yang terdiri dari beberapa atribut yang
lebih kecil yang mempunyai arti tertentu yang masih bisah dipecah lagi atau
mempunyai sub attribute. Contoh : dari entitas nama yaitu nama depan, nama
tengah, dan nama belakang
e. Atribut Derivatif
Atribut yang tidak harus disimpan dalam database Ex. Total. atau atribut yang
dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini
dilambangkan dengan bentuk oval yang bergaris putus-putus
f. Hubungan / Relasi
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang
berbeda. Derajat relasi atau kardinalitas rasio menjelaskan jumlah maksimum
hubungan antara satu entitas dengan entitas lainnya
1) One to One (1:1)
Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota
entitas B, begitu pula sebaliknya.
2) One to many (1:M / Many)
Setiap anggota entitas A dapat berhubungan dengan lebih dari satu
anggota entitas B tetapi tidak sebaliknya.
3) Many to Many (M:M)
Setiap entitas A dapat berhubungan dengan banyak entitas himpunan
entitas B dan demikian pula sebaliknya
32
2.2.Penelitian Terkait
Dalam penelitian ini penulis memaparkan beberapa penelitian yang berkaitan
dengan dengan permasalahan yang terkait, yaitu tentang sistem informasi absensi dan
penggajian karyawan berbasis web.
Menurut Frangky & Devitra (2016):
PT. Sumber Agrindo Sejahtera merupakan perusahaan yang bergerak dalam
bidang retail produk pertanian khususnya dalam bidang kelapa sawit dan
sedang berkembang.Pada saat ini, Sistem penggajian yang masih digunakan
oleh PT. Sumber Agrindo Sejahtera yang ada belum terintergrasi dengan baik.
Dalam proses alur penggajian yang berjalan adalah setiap harinya karyawan
melakukan absensi untuk mendapatkan uang makan dan transportasi yang akan
diakumulasikan setiap bulannya, lalu untuk karyawan yang ingin mengajukan
cuti dapat langsung menyampaikan ke manajer bagiannya, jika telah disetujui
manager bagian, yang bersangkutan akan menyampaikan persetujuannya ke
bagian HRD, yang pada akhir bulan akan digunakan untuk menghitung gajinya
dan pada akhir bulan seluruh data absensi, cuti, perhitungan pajak pph21,
tunjangan, dan gaji pokok akan diakumulasikan untuk menetapakan pemberian
gaji karyawan bersangkutan. Untuk itu dalam mempermudah proses penggajian
oleh perusahaan agar terhindar dari kesalahan dan penyediaan laporan yang
lama maka perlu dilakukan analisis sistem yang sedang berjalan kemudian
merancangan sistem informasi penggajian yang dibutuhkan. Hasil penelitian
yang dilakukan berupa prototype dari sistem informasi penggajian yang dapat
membantu perusahaan mengatasi permasalahan yang terjadi yaitu mengurangi
kesalahan dalam perhitungan penggajian serta membantu untuk dapat
menyediakan laporan yang dibutuhkan secara cepat dan akurat.
Menurut Sari & Yulianto (2013):
Sistem absensi pegawai di Badan Perencanaan Pembangunan Daerah dan
Penanaman Modal Kabupaten Pacitan masih dilakukan secara manual dengan
melakukan kegiatan absensi tanda tangan pada kertas. Dalam setiap kegiatan
absensi sering terjadi kecurangan para pegawai yang menitipkan tanda tangan
absensinya atau mengisi daftar hadir sesuai kedatangannya sehingga kepala
instansi terkait tidak dapat mengontrol keterlambatan para pegawai yang datang
melebihi waktu yang telah ditetapkan oleh pemerintah daerah, atau pulang lebih
awal dari jam waktu yang telah ditentukan. Pengembangan sistem absensi yang
lebih modern dengan memperhatikan sisi kejujuran memang perlu diadakan
sebagai pengganti absensi manual dengan menggunakan kertas sekaligus dapat
menjadi standart baru sistem absensi pegawai di Kabupaten Pacitan. Dalam
penelitian ini selain memaparkan kajian teori yang digunakan sebagai dasar
penyusunan, juga akan dibahas mengenai perancangan sistem informasi.
33
Sehingga dapat diharapkan dapat diimplementasikan dalam sebuah produk
yang akan memperbaiki segala kekurangan yang ada pada sistem lama.
Menurut Jaman & Garno (2017):
Pemerintahan kabupaten karawang untuk mengetahui kedisiplinan pegawainya
secara dini yaitu dengan system kontrol kedisiplinan pegawai. Sistem kontrol
tersebut yaitu dengan mengontrol absensi, walaupun absensi belum mewakili
semua bahwa dengan absensi yang bagus berarti pegawai tersebut etos kerjanya
juga bagus, namun setidaknya untuk memulai dari sisi kedisiplinan masuk kerja
tepat waktu dan pulang tepat pada waktunya. Program kedisiplinan pegawai
dengan menerapkan setiap pegawai masuk kerja harus absensi dengan
fingerprint saat datang di pagi hari jam 08:00 dan pulang di sore hari jam 17:00
wib, dan hasil sistem absensi tersebut direport dan dipantau langsung oleh
badan kepegawaian kabupaten karawang dengan nama presensi pegawai
kabupaten karawang.