11 BAB II LANDASAN TEORI Di dalam penulisan tugas akhir ini

advertisement
BAB II
LANDASAN TEORI
Di dalam penulisan tugas akhir ini penulis menggunakan beberapa
pengertian dasar secara teoritis yang diambil dari pendapat para ahli maupun buku
literature yang berhubungan dengan judul penelitian adalah sebagai berikut :
2.1
Pengertian Gaji dan Pekerja PKWT
2.1.1 Pengertian Gaji
Menurut Malayu S.P. Hasibuan (2003:118) “gaji adalah balas jasa yang
dibayar secara periodik kepada pegawai tetap serta mempunyai jaminan pasti.
Gaji akan tetap dibayarkan walaupun pekerja tidak masuk kerja”. Di samping itu
pegawai mungkin memperoleh manfaat-manfaat yang diberikan dalam bentuk
tunjangan, misalnya tunjangan jabatan, tunjangan perumahan, tunjangan
pengobatan, tunjangan hari raya, uang transport, uang makan dan lain-lain.
2.1.2 Pengertian Pekerja PKWT
Dalam Undang-undang ketenagakerjaan, secara hukum dikenal 2 (dua)
macam Pekerja yaitu Pekerja Kontrak (PKWT) dan Pekerja Tetap atau Pekerja
PKWTT/Perjanjian Kerja Waktu Tidak Tertentu. Pekerja Kontrak diartikan secara
hukum adalah Pekerja dengan status bukan Pekerja tetap atau dengan kalimat lain
Pekerja yang bekerja hanya untuk waktu tertentu berdasar kesepakatan antara
Pekerja dengan Perusahaan pemberi kerja. Dalam istilah hukum Pekerja kontrak
sering disebut “Pekerja PKWT”, maksudnya Pekerja dengan Perjanjian Kerja
Waktu Tertentu.
2.2
Konsep Dasar Program Aplikasi
2.2.1 Program
Menurut Kamus Lengkap Dunia Komputer, program adalah sekumpulan
instruksi yang diwujudkan dalam bentuk bahasa, kode skema, ataupun bentuk
lain, yang apabila digabungkan dengan media yang dapat dibaca dengan komputer
akan mampu membuat komputer bekerja untuk melakukan fungsi-fungsi khusus
termasuk persiapan dalam merancang instruksi-instruksi tersebut.
11
12
Menurut Binanto (2005:1), program adalah mendeskripsikan instruksiinstruksi tersendiri yang biasanya disebut source code yang dibuat oleh
programmer.
Dari pengertian diatas, dapat disimpulkan bahwa program merupakan
sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode skema,
ataupun bentuk lain, yang dimengerti oleh komputer sehingga mampu bekerja
untuk melakukan fungsi-fungsi khusus termasuk persiapan dalam merancang
instruksi-instruksi tersebut.
2.2.2 Aplikasi
Menurut Jogiyanto (2005:4), aplikasi merupakan program yang berisikan
perintah-perintah untuk melakukan pengolahan data. Jogiyanto menambahkan
aplikasi
secara
umum
adalah
suatu
proses
dari
cara
manual
yang
ditransformasikan ke komputer dengan membuat sistem atau program agar data
diolah lebih berdaya guna secara optimal.
Menurut Dhanta (2009:32), aplikasi (application) adalah software yang
dibuat oleh suatu perusahaan komputer untuk mengerjakan tugas-tugas tertentu,
misalnya Microsoft Word, dan Microsoft Excel.
2.2.3 Program Aplikasi Web
Pada awalnya aplikasi web dibangun dengan hanya menggunakan bahasa
yang disebut HTML (HyperText Markup Langauge). Pada perkembangan
berikutnya, sejumlah script dan objek dikembangkan untuk memperluas
kemampuan HTML seperti PHP. Aplikasi web dapat dibagi menjadi dua jenis
yaitu aplikasi web statis dan dinamis.
Web statis dibentuk dengan menggunakan HTML. Kekurangan aplikasi
seperti ini terletak pada keharusan untuk memelihara program secara terusmenerus untuk mengikuti setiap perkembangan yang terjadi. Kelemahan ini
diatasi oleh model aplikasi web dinamis. Pada aplikasi web dinamis, perubahan
informasi dalam halaman web dilakukan tanpa perubahan program tetapi melalui
perubahan data. Sebagai implementasi, aplikasi web dapat dikoneksikan ke basis
13
data sehingga perubahan informasi dapat dilakukan oleh user sehingga tidak
menjadi tanggung jawab dari programmer.
Arsitektur aplikasi web meliputi klien, web server, middleware dan basis
data. Klien berinteraksi dengan web server. Secara internal, web server
berkomunikasi dengan middleware dan middleware berkomunikasi dengan basis
data. Salah satu contoh middleware adalah PHP. Pada mekanisme aplikasi web
dinamis, terjadi tambahan proses yaitu server menterjemahkan kode PHP menjadi
kode HTML. Kode PHP yang diterjemahkan oleh mesin PHP yang akan diterima
oleh klien.(Abdul Kadir, 2009)
2.3
Pemograman PHP, Database MySQL dan Webserver Apache
2.3.1 Pemograman PHP
Menurut Jogiyanto (2005), pemrograman adalah pembuatan kode program
untuk suatu aplikasi tertentu berdasarkan rancang bangun
yang telah dibuat.
Menurut Agus Saputra (2012), PHP atau yang memiliki kepanjangan PHP
Hypertext Preprocessor merupakan suatu bahasa pemrograman yang difungsikan
untuk membangun suatu website dinamis. PHP menyatu dengan kode HTML,
maksudnya adalah beda kondisi. HTML digunakan sebagai pembangun atau
pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya
sehingga dengan adanya PHP tersebut, web akan sangat mudah di-maintenance.
PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa
Server Side Scripting. Artinya bahwa dalam setiap menjalankan PHP, wajib
adanya web server. PHP ini bersifat open source sehingga dapat dipakai
secara cuma-cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem
operasi Windows maupun Linux.
Ada beberapa
alasan
yang menjadi
dasar pertimbangan mengapa
menggunakan PHP antara lain :
1. Mudah dipelajari, alasan tersebut menjadi salah satu alasan utama
untuk menggunakan PHP, pemula pun akan mampu untuk menjadi web
master PHP.
14
2. Mampu Lintas Platform, artinya PHP dapat / mudah diaplikasikan ke
berbagai platform OS (Operating Sytem) dan hampir semua browser
juga mendukung PHP.
3. Free alias Gratis, bersifat Open Source.
4. PHP memiliki tingkat akses yang cepat.
5. Didukung oleh beberapa macam web server seperti Apache, IIS,
Lighttpd, Xitami.
6. Mendukung database, PHP mendukung beberapa database, baik
yang gratis maupun yang berbayar, seperti MySQL, PostgreSQL,
mSQL, Informix, SQL server dan Oracle.
PHP sebagai alternatif lain memberikan solusi sangat murah ( karena gratis
digunakan) dan dapat berjalan diberbagai jenis platform. PHP adalah skrip
bersifat server-side yang ditambahkan ke dalam HTML. PHP sendiri merupakan
singkatan dari Personal Home Page Tools. Skrip ini akan membuat suatu aplikasi
dapat diintegrasikan ke dalam HTML sehingga suatu halaman web tidak lagi
bersifat statis, namun menjadi bersifat dinamis. Sifat server side berarti
pengerjaan skrip dilakukan di server, baru kemudian hasilnya di kirimkan ke
browser.
Cara penulisan skrip PHP ada dua macam, yaitu Embeded Script dan Non
Embeded Script, contohnya :

Embeded Script
<html>
<head>
</head>
<body>
<?php
echo “ Ini adalah Embeded Script ”;
?>
</html>
15

Non Embeded Script
<?php
echo “<html>”;
echo “<head>”;
echo “<title>Mengenal PHP</title>”;
echo “<head>”;
echo “<body>”;
echo “<p>PHP cukup menyenangkan”;
echo “</body>”;
echo “</html>”;
?>
Dari contoh menjelaskan bahwa skrip PHP dapat berupa embedded script
yaitu meletakkan tag PHP diantara tag-tag HTML sedangkan non embedded
script yaitu semua tag HTML diletakkan dalam tag PHP. Semua kode PHP
menyerupai dengan kode bahasa C, walaupun tidak sepenuhnya sama.
2.3.2 Database MySQL
Menurut Yeni Kustiyahningsih (2010, p.145) database atau basisdata adalah
sekumpulan informasi yang diatur agar mudah dicari. Dalam arti umum basis data
adalah sekumpulan data yang diproses dengan bantuan komputer yang
memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat
digambarkan sebagai aktivitas satu atau lebih organisasi yang berelasi.
MySQL adalah suatu database. MySQL dapat juga dikatakan sebagai
database yang sangat cocok bila dipadukan dengan PHP. Secara umum, database
berfungsi sebagai tempat atau wadah untuk menyimpan, mengklasifikasikan data
secara professional. MySQL bekerja menggunakan SQL Language ( Structure
Query Language ).
MySQL termasuk jenis RDBMS ( Relational Database Management System ).
Sedangkan RDBMS sendiri akan lebih banyak mengenal istilah seperti tabel, baris
dan kolom digunakan dengan perintah – perintah di MySQL. MySQL merupakan
sebuah basis data yang mengandung satu atau sejumlah tabel. Tabel terdiri atas
sejumlah baris dan setiap baris mengandung satu atau beberapa kolom. Di dalam
16
PHP telah menyediakan fungsi untuk koneksi ke basis data dengan sejumlah
fungsi untuk pengaturan baik menghubungkan maupun memutuskan koneksi
dengan server database MySQL sebagai sarana untuk mengumpulkan informasi.
Pada umumnya perintah yang sering digunakan dalam MySQL adalah select
(mengambil), insert (menambah), update (mengubah), dan delete (menghapus).
Selain itu SQL juga menyediakan perintah untuk membuat database, field,
ataupun index guna menambah atau menghapus data.
Ada beberapa keunggulan mengapa penulis menggunakan MySQL antara
lain :
1. MySQL mampu berjalan di semua sistem operasi, selain itu juga mudah
dipelajari dan sepertinya hosting server juga banyak sekali mengadopsi
MySQL sebagai standar database.
2. Selain gratis / free MySQL juga bersifat open source, yang memiliki
kemampuan untuk di kembangkan lagi.
3. Menggunakan bahas SQL (Structure Query Language ), yang merupakan
standar bahasa dunia dalam pengolahan data.
4. Super performance dan reliable, tidak diragukan proses database nya
sangat cepat dan stabil.
5. Memiliki dukungan support (group) pengguna MySQL.
6. Multiuser, dimana MySQL dapat digunakan oleh beberapa user secara
bersamaan tanpa mengalami konflik.
2.3.3 Web Server Apache
Web server merupakan server internet yang mampu melayani koneksi
transfer data dalam protocol HTTP. Web server merupakan hal yang terpenting
dari server di internet dibandingkan server lainnya seperti E-mail server, FTP
server. Hal ini disebabkan web server telah dirancang untuk dapat melayani
beragam jenis data, dari text sampai grafis. Kemampuan ini telah menyebabkan
berbagai institusi seperti universitas maupun perusahaan dapat menerima
kehadirannya dan juga sekaligus menggunakannya sebagai sarana di internet.
Salah satu software yang biasa digunakan oleh banyak web master di dunia adalah
Apache . Software tersebut dapat di download secara gratis.
17
2.4
UML ( Unified Modeling Language)
Unified Modeling Language ( UML ) bukanlah suatu proses melainkan
bahasa pemodelan secara grafis untuk menspesifikasikan, memvisualisasikan,
membangun dan mendokumentasikan seluruh artifak sistem perangkat lunak.
Penggunaan model ini bertujuan untuk mengidentifikasikan bagian – bagian yang
termasuk dalam lingkup sistem yang dibahas dan bagaimana hubungan antara
sistem dan subsistem maupun sistem lain diluarnya. Dengan pemodelan
menggunakan UML, pengembang dapat melakukan :
1. Tinjauan umum bagaimana arsitektur sistem secara keseluruhan.
2. Penelaahan bagaimana objek-objek dalam sistem saling mengirimkan
pesan dan saling bekerjasama satu sama lain.
3. Menguji apakah sistem perangkat lunak sudah berfungsi seperti
seharusnya.
4. Dokumentasi sistem perangkat lunak untuk keperluan – keperluan
tertentu dimasa yang akan datang.
UML menyediakan 4 jenis diagram yang dapat dikelompokkan berdasarkan
sifatnya, yaitu :
a. Use-Case Diagram adalah suatu kumpulan urutan interaksi diantara user
dengan sistem untuk mencapai suatu tujuan dimana use case ini
menggambarkan kebutuhan fungsional suatu sistem tanpa menampilkan
struktur internal system.
b. Class Diagram menggambarkan struktur object sistem. Diagram ini
menunjukkan class object yang menyusun sistem dan juga hubungan
antara class object tersebut.
c. Sequence
Diagram
adalah
sequence
diagram
digunakan
untuk
menggambarkan event yang dilakukan aktor eksternal pada sistem atau
intersystem event dilihat dalam suatu use case.
d. Activity Diagram adalah representasi secara grafis dari proses dan control
flow dan berfungsi untuk memperlihatkan alur dari satu aktivitas ke
aktivitas yang lain serta menggambarkan perilaku yang kompleks.
18
Daftar simbol – simbol dalam UML
Tabel 2.1 Simbol Use Case Diagram
NO
1
GAMBAR
NAMA
Actor
KETERANGAN
Menspesifikasikan himpuan
yang pengguna mainkan
berinteraksi dengan use case.
peran
ketika
2
Hubungan dimana perubahan yang
terjadi pada suatu elemen mandiri
(independent) akan mempengaruhi
Dependency
elemen yang bergantung padanya
elemen
yang
tidak
mandiri
(independent).
3
Hubungan dimana objek anak
Generalizati (descendent) berbagi perilaku dan
on
struktur data dari objek yang ada di
atasnya objek induk (ancestor).
Include
Menspesifikasikan bahwa use case
sumber secara eksplisit.
5
Extend
Menspesifikasikan bahwa use case
target memperluas perilaku dari use
case sumber pada suatu titik yang
diberikan.
6
Association
Apa yang menghubungkan antara
objek satu dengan objek lainnya.
4
7
8
System
Use Case
Menspesifikasikan
paket
yang
menampilkan sistem secara terbatas.
Deskripsi dari urutan aksi-aksi yang
ditampilkan sistem yang menghasilkan
suatu hasil yang terukur bagi suatu
actor
19
9
10
Collaborati
on
Interaksi aturan-aturan dan elemen lain
yang bekerja sama untuk menyediakan
prilaku yang lebih besar dari jumlah
dan elemen-elemennya (sinergi).
Note
Elemen fisik yang eksis saat aplikasi
dijalankan dan mencerminkan suatu
sumber daya komputasi
Tabel 2.2 Simbol Class Diagram
NO
1
GAMBAR
NAMA
KETERANGAN
Hubungan dimana objek anak
(descendent) berbagi perilaku dan
Generalization
struktur data dari objek yang ada di
atasnya objek induk (ancestor).
Nary
Association
Upaya untuk menghindari asosiasi
dengan lebih dari 2 objek.
Class
Himpunan dari objek-objek yang
berbagi atribut serta operasi yang
sama.
4
Collaboration
Deskripsi dari urutan aksi-aksi yang
ditampilkan
sistem
yang
menghasilkan suatu hasil yang
terukur bagi suatu aktor
5
Realization
Operasi yang benar-benar dilakukan
oleh suatu objek.
Dependency
Hubungan dimana perubahan yang
terjadi pada suatu elemen mandiri
(independent) akan mempegaruhi
elemen yang bergantung padanya
elemen yang tidak mandiri
2
3
6
20
Association
7
Apa yang menghubungkan antara
objek satu dengan objek lainnya
Tabel 2.3 Simbol Sequence Diagram
NO
GAMBAR
NAMA
KETERANGAN
Objek entity, antarmuka yang saling
berinteraksi.
LifeLine
1
2
3
Message
Spesifikasi dari komunikasi antar
objek yang memuat informasiinformasi tentang aktifitas yang
terjadi
Message
Spesifikasi dari komunikasi antar
objek yang memuat informasiinformasi tentang aktifitas yang
terjadi
Tabel 2.4 Simbol StateChart Diagram
NO
GAMBAR
NAMA
KETERANGAN
1
State
Nilai atribut dan nilai link pada suatu
waktu tertentu, yang dimiliki oleh
suatu objek.
2
Initial
Pseudo
State
3
Final State
Bagaimana
diawali
objek
dibentuk
atau
Bagaimana objek
dihancurkan
dibentuk
dan
21
4
Transition
Sebuah kejadian yang memicu sebuah
state
objek
dengan
cara
memperbaharui satu atau lebih nilai
atributnya
5
Association
Apa yang menghubungkan antara
objek satu dengan objek lainnya.
Node
Elemen fisik yang eksis saat aplikasi
dijalankan dan mencerminkan suatu
sumber daya komputasi.
6
Tabel 2.5 Simbol Actifity Diagram
NO
NAMA
KETERANGAN
1
Actifity
Memperlihatkan bagaimana masingmasing kelas antarmuka saling
berinteraksi satu sama lain
2
Action
State dari sistem yang mencerminkan
eksekusi dari suatu aksi
3
Initial Node
Bagaimana
diawali.
objek
dibentuk
atau
4
Actifity
Final Node
Bagaimana objek
dihancurkan
dibentuk
dan
5
Fork Node
Satu aliran yang pada tahap tertentu
berubah menjadi beberapa aliran
2.5
GAMBAR
ERD ( Entity Relationship Diagram)
2.5.1 Model Entity-Relationship ( ER )
ERD adalah model konseptual yang mendeskripsikan hubungan antara
penyimpanan (dalam DFD). ERD digunakan untuk memodelkan struktur data dan
hubungan antar data. Dengan ERD, model dapat diuji dengan mengabaikan proses
yang dilakukan.
22
ERD pertama kali dideskripsikan oleh Peter Chen yang dibuat sebagai
bagian dari perangkat lunak CASE. Notasi yang digunakan dalam ERD dapat
dilihat pada Tabel di bawah ini :
Tabel 2.6 Notasi ERD
2.5.2 K ardinalitas Relasi
Dalam ERD hubungan (relasi) dapat terdiri dari sejumlah entitas yang
disebut dengan derajad relasi. Derajad relasi maksimum disebut dengan
kardinalitas sedangkan derajad minimum disebut dengan modalitas. Jadi
kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi
dengan entitas pada himpunan entitas lain.
a. OnetoOne Relationship
Hubungan antara file pertama dan file kedua adalah satu berbanding satu.
Contoh :
 Pada pengajaran private satu guru satu siswa.
 “Seorang guru mengajar seorang siswa, seorang siswa diajar oleh
seorang guru ”
23
Gambar 2.1 One-toOne Relationship
b. OnetoOne atau Many toOne Relationship
Hubungan antara file pertama dan file kedua adalah satu berbanding banyak
atau banyak berbanding satu.
Contoh :
 Dalam suatu perusahaan satu bagian memperkerjakan banyak pegawai.
 “Satu bagian mempekerjakan banyak pegawai, satu pegawai kerja dalam
satu bagian”
Gambar 2.2 One-toMany Relationship
c. Many toMany Relationship
Hubungan file pertama dan file kedua adalah banyak berbanding banyak.
Contoh :
 Dalam universitas seorang mahasiswa dapat mengambil banyak
matakuliah
 “Satu mahasiswa mengambil banyak matakuliah dan satu matakuliah
diambil banyak mahasiswa”
Gambar 2.3 Many-toMany Relationship
2.5.3 Langkah – langkah Perancangan Teknik E-R
Sumber awal data teknik perencanaan database dengan ER adalah data
dictionary (kumpulan data).
24
Langkah-langkah perancangan ER :
1. Memilih kelompok atribut yang sama untuk dijadikan sebuah entitas dan
menentukan primary key dengan syarat unik dan mewakili entitas.
2. Menggambarkan Cardinality dari ER diagram berdasarkan analisa relasi
yang didapat. Relasi yang terjadi dapat One to One, One to Many dan
Many to Many relationship.
3. Membentuk skema database atau LRS (Logical Record Structure)
berdasarkan ER diagram.
Keterangan :
 Bila relasi One to One maka foreign key diletakkan pada salah satu dari 2
entitas yang ada atau menyatukan ke dua entitas tersebut.
 Bila relasi One to Many maka foreign key diletakkan di entitas yang
Many.
 Bila relasi many to many maka dibuat “file konektor” yang berisi 2
foreign key yang berasal dari kedua entitas.
 Membentuk tabel-tabel berdasarkan primary key yang terpilih dengan
syarat sudah mencapai aturan normalisasi sekurang-kurangnya 3NF dari
Skema DB/LRS yang ada.
2.6
Normalisasi Data
Teknik normalisasi banyak digunakan terutama pemula karena mudah
dipahami dan diaplikasikan.
2.6.1 Pengertian Normalisasi
Normalisasi adalah suatu teknik untuk mengorganisasi data kedalam tabeltabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.
2.6.2 Bentuk – Bentuk Normalisasi
Normal form (bentuk normal) adalah suatu klas dari skema database relasi
yang didefinisikan untuk memenuhi tujuan dari tingginya integritas dan
maintainability. Kreasi dari suatu bentuk normal disebut normalisasi. Normalisasi
25
dicapai dengan penganalisaan ketergantungan diantara setiap individu attribut
yang diasosiasikan dengan relasinya.
Bentuk – bentuk normalisasi adalah sebagai berikut :
a. First Normal Form
Suatu relasi ada dalam kondisi normal First Normal Form ( 1NF ) jika dan
hanya jika semua domain yang tercakup terdiri hanya atomic value, misalnya
tidak ada pengulangan group ( domain-domain ) dalam suatu tuple.

Keuntungan dari 1NF dibanding Unnormalized relation (UNRs) adalah
pada bentuk penyederhanaan representasi dan kemudahan dalam
pengembangan menggunakan suatu query language.

Kekurangannya adalah kebutuhan terhadap duplikasi data. Sebagian besar
sistem relasi (tidak semua) membutuhkan suatu relasi dalam bentuk 1NF.
b. Secound Normal Form
Suatu superkey adalah suatu himpunan dari suatu atau lebih attribute, yang
mana diambil secara khusus yang memungkinkan kita untuk mengidentifikasikan
secara unik satu entitas atau relasi. Suatu candidate key adalah suatu subset dari
attribut-attribut pada superkey yang juga merupakan superkey dan tidak reducible
ke superkey yang lain. Suatu primary key dipilih dari himpunan candidate key
untuk digunakan pada suatu index untuk relasi yang bersangkutan. Kepemilikan
dari satu atau beberapa attribute yang dapat didefinisikan secara unik dari nilai
satu atau beberapa attribute disebut functional dependency.
c. Third Normal Form
Suatu relasi dalam Third Normal Form ( 3NF ) jika dan hanya jika relasi
tersebut dalam 2NF dan setiap non key attribute adalah nontransitive dependent
pada primary key.
26
d. Boyce-Codd Normal Form ( BCNF )
Yaitu menghilangkan terdapatnya anomaly pada relasi yang disebabkan
oleh overlapping candidate key atau apabila setiap determinan adalah merupakan
candidate key.
e. Fourth Normal Form ( 4NF )
Yaitu menghilangkan beberapa ketergantungan pada banyak harga
(multivalue dependency).
f. Fifth Normal Form ( 5NF )
Yaitu join dependency anomaly yang terjadi akibat dekomposisi relasi tidak
dapat dipakai kembali untuk membentuk kembali relasi semula.
Bentuk normalisasi apabila dapat digambarkan menjadi tahapan sebagai berikut :
Gambar 2.4 Tahapan Normalisasi
27
2.6.3 Tujuan Normalisasi
Tujuan normalisasi adalah sebagai berikut :
1. Untuk menghilangkan kerangkapan data.
2. Untuk mengurangi kompleksitas.
3. Untuk mempermudah pemodifikasian data.
2.6.4
Proses Normalisasi
Proses normalisasi mempunyai beberapa tahapan antara lain :
1. Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan
persyaratan tertentu ke beberapa tingkat.
2. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel
tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai
memenuhi bentuk yang optimal.
2.7
Metode Pengembangan system
Metode Pengembangan Sistem yang digunakan dalam perancangan Sistem
Informasi ini menggunakan Model Waterfall. Model proses waterfall ialah model
proses pembuatan sebuah system yang terstruktur yang amat mudah dimengerti,
seperti yang telah diketahui bahwa dengan model proses waterfall sebuah system
dapat dikembangkan lagi.
2.7.1 Tahapan Metode Waterfall
Tahapan Metode Waterfall adalah sebagai berikut :
1. Pengumpulan Data
Pada tahap ini dilakukan pencarian dan pengumpulan data–data dan
informasi
secara lengkap dan akurat.
2. Analisis Sistem
Pada tahap ini adalah menganalisis sistem yang sedang berjalan sesuai
dengan data-data yang telah diperoleh dari penelitian pada PT. XYZ.
3. Perancangan Sistem
Pada tahap ini dilakukan perancangan sistem yang diusulkan mengenai
aplikasi penggajian berbasis web PT. XYZ.
28
4. Pembuatan Sistem
Pada tahap ini dilakukan pembuatan suatu aplikasi berdasarkan
perancangan sistem yang diusulkan.
5. Pengujian Sistem
Pada tahap ini dilakukan pengujian terhadap sistem yang telah dibuat
dengan metode black box.
6. Implementasi dan Pemeliharaan
Penelitian ini menggunakan metode Waterfall dikarenakan metode ini
mempunyai tahapan-tahapan yang jelas, nyata dan praktis. Apabila
terjadi kesalahan, tahapan pemeliharaan termasuk pembetulan kesalahan
yang tidak ditemukan pada langkah terdahulu.
Langkah-langkah penelitian ini dapat digambarkan sebagai berikut :
Gambar 2.5 Model Waterfall
2.7.2 Keunggulan Metode Waterfall
Keunggulan model pendekatan pengembangan software dengan metode
waterfall adalah pencerminan kepraktisan rekayasa, yang membuat kualitas
software tetap terjaga karena pengembangannya yang terstruktur dan terawasi.
Disisi lain model ini merupakan jenis model yang bersifat dokumen lengkap,
29
sehingga proses pemeliharaan dapat dilakukan dengan mudah. Akan tetapi
dikarenakan dokumentasi yang lengkap dan sangat teknis, membuat pihak klien
sulit membaca dokumen yang berujung pada sulitnya komunikasi antar
pengembang dan klien. Dokumentasi kode program yang lengkap juga secara tak
langsung menghapus ketergantungan pengembang terhadap pemrogram yang
keluar dari tim pengembang. Hal ini sangat menguntungkan bagi pihak
pengembang dikarenakan proses pengembangan perangkat lunak tetap dapat
dilanjutkan tanpa bergantung pada pemrogram tertentu.
2.7.3 Kelemahan Metode Waterfall
Kelemahan pengembangan software dengan metode waterfall yang utama
adalah lambatnya proses pengembangan perangkat lunak. Dikarenakan prosesnya
yang satu persatu dan tidak bisa diloncat-loncat menjadikan model klasik ini
sangat memakan waktu dalam pengembangannya. Disisi lain, pihak klien tidak
dapat mencoba sistem sebelum sistem benar-benar selesai pembuatannya.
Kelemahan yang lain adalah kinerja personil yang tidak optimal dan efisien
karena terdapat proses menunggu suatu tahapan selesai terlebih dahulu.
2.8
Konsep Dasar Testing
2.8.1 Definisi Testing
Testing adalah sebuah proses siklus hidup dan merupakan bagian dari proses
rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari
perangkat lunak secara terpenuhi kebutuhan teknis yang telah disepakati dari
awal.
Detail tahapan yang harus dilampaui dalam kaitan kebutuhan perangkat
lunak dari sudut pandang testing perangkat lunak adalah:
1. Verifikasi
adalah proses pemeriksaan untuk memastikan bahwa
perangkat lunak telah menjalankan apa yang harus dilakukan dari
kesepakatan awal antara pengembang perangkat lunak dan pengguna.
2. Validasi adalah sebuah proses yang melakukan konfirmasi bahwa
perangkat lunak dapat dieksekusi secara baik.
30
2.8.2 Definisi Black Box Testing
Black box testing adalah tipe uji coba yang memperlakukan perangkat lunak
yang tidak diketahui kinerja internalnya. Sehingga para tester memandang
perangkat lunak seperti layaknya sebuah kotak hitam yang tidak penting dilihat
isinya, tapi cukup dikenai proses testing di bagian luar.
Beberapa keuntungan yang diperoleh dari jenis testing black box ini antara lain:
1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan
teknis di bidang pemrograman.
2. Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh
komponen tester yang berasal dari pengguna.
3. Hasil dari black box testing dapat memperjelaskan kontradiksi ataupun
kerancuan yang mungkin ditimbulkan dari eksekusi perangkat lunak.
4. Proses testing dapat dilakukan lebih cepat dibandingankan white box
testing.
Download