6
BAB II
LANDASAN TEORI
2.1. Konsep Dasar 2.1.1. Sistem
Bambang Hartono mengemukakan bahwa “Sistem adalah suatu himpunan
dari berbagai bagian yang saling berhubungan secara terorganisasi berdasarkan
fungsi-fungsinya menjadi suatu kesatuan” (Nofyat et al., 2018).
“Sistem adalah kumpulan atau himpunan dari unsur atau variabel-variabel
yang saling terkait, saling berinteraksi, dan saling tergantung satu sama lain” (Tohari,
2017).
Karakterisitik suatu sistem menurut (Tohari, 2017) adalah:
1. Komponen atau elemen (components) suatu sistem terdiri dari
komponen-komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk
satu kesatuan.
2. Batas Sistem (Boundary)
Batas sistem merupakan daerah yang membatasi antara sistem yang satu dengan
sistem yang lainnya atau dengan lingkunan luarnya. Adanya batas sistem, maka
sistem dapat membentuk suatu kesatuan, karena dengan batas sistem ini, fungsi
dan tugas dari subsistem satu dengan yang lainnya berbeda tetapi tetap saling
berinterakksi. Dengan kata lain, batas sistem merupakan ruang lingkup atau scope
3. Lingkungan luar subsistem (Environtment)
Lingkungan luar sistem adalah segala sesuatu diluar batas sistem yang
mempengaruhi operasi suatu sistem.
4. Penghubung sistem (interface)
Penghubung sistem merupakan suatu media (penghubung) antara subsistem
dengan subsistem lainnya yang membentuk stu kesatuan, sehingga
sumber-sumber daya mengalir dari subsistem yang satu ke subsistem lainnya.
5. Masukan (input)
Input adalah energi atau sesuatu yang dimasukkan ke dalam suatu sistem yang
dapat berupa masukkan yaitu energi yang dimasukkan supaya sistem dapat
beroperasi atau masukkan sinyal yang merupakkan energi yang diproses untuk
menghasilkan suatu luaran.
6. Luaran (output)
Merupakan hasil dari energi yang diolah dan diklasifikasikan menjadi luaran yang
berguna, juga merupakan luaran atau tujuan akhir dari sistem.
7. Pengolah (process)
Suatu sistem mempunyai bagian pengolah yang akan mengubah input menjadi
output.
8. Sasaran (objekive)
Dari sistem sangat menentukan sekali masukkan yang dibutuhkan sistem dan
keluaran yang akan dihasilkan sistem.
2.1.2. Informasi
Tata Sutabri mengemukakan bahwa “Informasi adalah data yang telah
diklasifikasikan atau diolah atau diinterpretasikan untuk digunakan dalam proses
2.1.3. Sistem Informasi
Sutarman mengemukakan bahwa “Sistem informasi adalah sistem yang dapat
didefinisikan dengan mengumpulkan, memperoses, menyimpan, menganalisis,
menyebarkan informasi untuk tujuan tertentu. Seperti sistem lainnya, sebuah sistem
informasi terdiri atas input (data instruksi) dan output (laporan kalkulasi)” (Nofyat et
al., 2018)
2.1.4. Website
Abdul Kadir mengemukakan bahwa “Website adalah suatu media publikasi
elektronik yang terdiri dari halaman-halaman web (Web Page) yang terhubung satu
dengan yang lain menggunakan link yang dilekatkan pada suatu teks, image, video,
audio dan animasi lainya”. Website dibuat pertama kali oleh Tim Barners Lee pada
tahun 1990 (Nurani et al., 2017).
Website sering juga disebut web dapat diartikan suatu kumpulan-kumpulan
halaman yang menampilkan berbagai macam informasi teks, data, gambar diam ataupun bergerak, data animasi, suara, video maupun gabungan dari semuanya, baik itu yang bersifat statis mapun yang dinamis, yang membentuk suatu rangkaian bangunan yang saling berkaitan dimana masing-masing dihubungkan dengan jaringan halaman atau hyperlink. (Nurhadi, 2017)
2.1.5. Bahasa Pemrograman
Bahasa pemrograman yang penulis pakai untuk menyusun Tugas akhir ini
adalah PHP dengan framework CodeIgniter.
1. PHP (PHP Hypertext Preprocessor)
“PHP adalah bahasa pemrograman yang digunakan secara luas untuk
penggunaan, pembuatan dan pengembangan situs web dan bisa digunakan bersama dengan HTML”. (Nurhadi, 2017)
Nugroho mendefinisikan bahwa “PHP adalah bahasa program yang
PHP termasuk bahasa program yang hanya bisa berjalan di sisi server, atau sering
disebut Side Server Language. Tanpa adanya server web yang terus berjalan dia
tidak akan bisa dijalankan. (Hidayat et al., 2017)
Madcoms mengemukakan bahwa PHP (Hypertext Preprocessor), merupakan bahasa pemrograman pada sisi server yang memperbolehkan programmer menyisipkan perintah-perintah perangkat lunak web server (Apache, IIS, atau apapun) akan dieksekusi sebelum perintah itu dikirim oleh halaman ke
browser yang me-request-nya, contohnya adalah bagaimana
memungkinkannya memasukkan tanggal sekarang pada sebuah halaman web setiap kali tampilan tanggal dibutuhkan. Sesuai dengan fungsinya yang berjalan di sisi server maka PHP adalah bahasa pemrograman yang digunakan untuk membangun teknologi web application (Nurani et al., 2017).
Kustiyahningsih mengemukakan bahwa “PHP (Hypertext Preprosesor) adalah
skrip bersifat bersifat server-side yang di tambahkan ke dalam HTML. PHP sendiri
merupakan singkatan dari Personal Home Page Tools” (Nofyat et al., 2018).
2. HTML (HyperText Markup Language)
“HTML merupakan bahasa standar yang digunakan untuk membuat suatu
dokumen atau halaman web, terdiri dari kode-kode singkat tertentu yang akan ditampilkan oleh web browser”. (Nurhadi, 2017)
3. Framework
Betha Sidik mengemukakan bahwa “Framework adalah kumpulan
intruksi-intruksi yang dikumpulkan dalam class dan function-function dengan fungsi masing-
masing untuk memudahkan developer dalam memanggilnya tanpa harus menuliskan
syntax program yang sama berulang-ulang serta dapat menghemat waktu”
(Destiningrum & Adrian, 2017).
4. CodeIgniter
Betha Sidik mengemukakan bahwa “CodeIgniter adalah sebuah framework
Controller) untuk memudahkan developer atau programmer dalam membangun
sebuah aplikasi berbasis web tanpa harus membuatnya dari awal” (Destiningrum &
Adrian, 2017).
Framework Codeigniter dikembangkan oleh Rick Ellis, CEO Ellislab, Inc.
kelebihan dari framework codeigniter jika dibandingkan dengan framework lain
adalah sebagai berikut (Destiningrum & Adrian, 2017) :
1) Gratis (Open-Source) Kerangka kerja Codeigniter memiliki lisensi dibawah
Apache/BSD open-source sehingga bersifat bebas atau gratis.
2) Berukuran kecil Ukuran yang kecil merupakan keunggulan tersendiri jika
dibandingkan framework lain yang berukuran besar dan membutuhkan resource
yang besar dan juga dalam eksekusi maupun penyimpanannya.
3) Menggunakan konsep M-V-C Codeigniter merupakan konsep M-V-C (Model-
View-Controller) yang memungkinkan pemisahan antara layer application-logic
dan presentation. Dengan konsep ini kode PHP, query Mysql, Javascript dan
CSS dapat saling dipisah-pisahkan sehingga ukuran file menjadi lebih kecil dan
lebih mudah dalam perbaikan kedepannya atau maintenance.
a. Model Kode merupakan program (berupa OOP class) yang digunakan untuk
berhubungan dengan database MySQL sekaligus untuk memanipulasinya
(input-edit-delete).
b. View Merupakan kode program berupa template atau PHP untuk
menampilkan data pada browser.
c. Controller merupakan Kode program (berupa OOP class ) yang digunakan
untuk mengontrol aliran atau dengan kata lain sebagai pengontrol model dan
2.1.6. Basis Data 1. Definisi Basis Data
Menurut Yakub Basis data (database) diartikan sebagai markas atau gudang data, tempat bersarang atau berkumpul data. Prinsip utama basis data adalah pengaturan data dengan tujuan utama fleksibilitas dan kecepatan dalam pengambilan data kembali. Adapun tujuan basis data diantaranya sebagai efisisensi yang meliputi speed, space & Accurancy, menangani data dalam jumlah besar, kebersamaan pemakaian, dan meniadakan duplikasi (Nofyat et al., 2018).
2. Aplikasi Basis Data a) Xampp
“Xampp adalah perangkat lunak bebas, yang mendukung banyak sistem
operasi, yang merupakan kompilasi dari beberapa program” (Junaidi, 2016).
Madcoms mengemukakan bahwa “Xampp adalah sebuah paket kumpulan
software yang terdiri dari Apache, MySQL, phpMyAdmin, PHP, Perl, Filezilla
dan lain-lain yang berfungsi untuk memudahkan instalasi lingkungan PHP,
dimana biasanya lingkungan pengembangan web memerlukan PHP, Apache,
MySQL, dan phpMyAdmin serta software lainnya yang terkait dengan
pengembangan web” (Hidayat et al., 2017).
b) MySQL
Madcoms mengemukakan bahwa “MySQL adalah sistem manajemen
database SQL yang bersifat Open Source dan paling populer saat ini. Sistem
Database MySQL mendukung beberapa fitur seperti multithreaded, multi-user,
dan SQL database management system (DBMS). Database ini dibuat untuk
keperluan sistem database yang cepat, handal, dan mudah digunakan” (Hidayat et
Adi Nugroho mengemukakan bahwa MySQL (My Structured Query
Language) adalah suatu sistem basis data relation atau Relational Database management System (RDBMS) yang mampu bekerja secara cepat dan mudah
digunakan MySQL juga merupakan program pengakses database yang bersifat jaringan, sehingga sapat digunakan untuk aplikasi multiuser (banyak pengguna). MySQL didistribusikan gratis dibawah lisensi GPL (General
Public License). Dimana setiap program bebas menggunakan MySQL namun
tidak bisa dijadikan produk turunan yang dijadikan closed source atau komersial (Destiningrum & Adrian, 2017).
c) Php MyAdmin
Madcoms mengemukakan bahwa “PhpMyAdmin adalah sebuah aplikasi open
source yang berfungsi untuk memudahkan manajemen MySQL. PhpMyAdmin
dapat membuat database, membuat tabel, menambah, menghapus dan
mengupdate data dengan GUI dan terasa lebih mudah, tanpa perlu mengetikkan perintah SQL secara manual” (Hidayat et al., 2017).
2.1.7. Model Pengembangan Perangkat Lunak
Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier
(sequential linear) atau alur hidup klasik (classic life cycle) Model air terjun
menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut
dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support)
(Sukamto dan Shalahuddin, 2016). Berikut ini adalah gambar model air terjun :
Sumber : (Sukamto dan Shalahuddin, 2016)
Gambar II.1. Ilustrasi model waterfall Sistem/ Rekayasa
Informasi
Berikut ini langkah-langkah metode waterfall dalam penelitian (Sukamto dan
Shalahuddin, 2016) :
1. Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat
lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat
lunak pada tahap ini perlu untuk didokumentasikan.
2. Desain
Desain perangkat lunak adalah proses multi langkah yang fokus pada desain
pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat
lunak, rerentasi antarmuka, dan prosedur pengodean. Tahap ini mentranslasi
kebutuhan perangkat lunak dari tahap analisis kebutuhan kerepresentasi desain
agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain
perangkat lunak yang dihasikan pada tahap ini juga perlu didokumentasikan.
3. Pembuatan Kode Program
Desain harus ditranslasikan kedalam program perangkat lunak. Hasil dari tahap
ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap
desain.
4. Pengujian
Pengujian fokus pada perangkat lunak secara dari segi logik dan fungsional dan
memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk
meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan
sesuai dengan yang diinginkan.
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan
ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan
yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus
beradaptasi pada lingkungan baru. Tahap pendukung atau pemeliharaan dapat
mengulangi proses pengembangan mulai dari analisis spesifikasi untuk
perubahan perangkat lunak yang sudah ada, tapi tidak membuat perangkat lunak
baru.
2.2. Teori Pendukung 2.2.1. Struktur Navigasi
Binanto menegemukakan bahwa “Struktur Navigasi adalah setiap rencana akan
dibuat desainnya dan kemudian diproduksi menjadi produk jadi yang bersifat sementara” (Hidayat et al., 2017).
2.2.2. Entity Relationship Diagram(ERD) 1. Entity Relationship Diagram (ERD)
“Entity Relation Diagram adalah alat pemodelan data utama dan akan
membantu mengorganisasi data dalam suatu proyek ke dalam entitas-entitas dan
menentukan hubungan antar entitas” (Abdussomad et al., 2016)
“Sebuah diagram ER/ER_D tersusun atas tiga komponen, yaitu entitas, atribut,
dan kerelasian antar entitas. Secara garis besar, entitas merupakan objek dasar yang
terlibat dalam sistem. Atribut berperan sebagai penjelas entitas, sedangkan kerelasian
menunjukan hubungan yang terjadi diantara dua entitas” (Nurrahman et al., 2018). “ERD adalah suatu diagram untuk menggambarkan desain konseptual dari
model konseptual suau basis data relasional” (Yanto, 2016).
ERD terdiri dari 3 komponen Utama, yaitu entitas, atribut, dan relasi (Yanto,
1) Entitas (Entity)
Entitas adalah suatu objek di dunia nyata yang dapat dibedakan dengan objek
lainnya. Objek tersebut dapat berupa orang, benda ataupun hal lainnya. Dilihat
dari jenisnya entitas terbagi atas dua yaitu:
a) Entitas Kuat (Strong Entity)
Entitas kuat adalah entitas yang dapat berdiri sendiri tidak bergantung pada
entitas lainnya, entitas kuat memiliki atribut key dan entitas kuat
digambarkan sebagai kotak persegi panjang bergaris tunggal.
b) Entitas Lemah (Weak Entity)
Entitas lemah adalah entitas yang tidak dapat berdiri sendiri. Entitas lemah
merupakan hasil dari pembentukan entitas kuat, entitas lemah tidak memiliki
atribut key dan entitas lemah digambarkan sebagai kotak persegi panjang
bergaris ganda. Jika entitas kuat yang membentuk entitas lemah dihapus
maka secara otomatis entitas lemah akan terhapus.
2) Atribut (Attribute)
Atribut merupakan semua informasi yang berkaitan dengan entitas. Atribut sering
dikenal dengan property dari suatu entitas atau objek. Atribut digambarkan dalam
lingkaran elips. Macam-macam atribut:
a) Atribut sederhana (Simple Attribute)
Atribut sederhana adalah atribut yang nilainya tidak dapat dibagi lagi menjadi
banyak atribut yang lebih kecil.
b) Atibut Komposit (Composite Attribute)
Atribut komposit adalah atribut gabungan yang nilainya dapat dipecah
menjadi bagian yang lebih kecil. Atau seting disebut atribut yang terdiri dari
c) Atribut Bernilai Tunggal (Single Values Attribute)
Atribut bernilai tunggal adalah jenis atribut yang nilainya hanya satu dari
entitas.
d) Atribut Bernilai Banyak (Multivalues Attribute)
Atribut bernilai banyak adalah jenis atribut yang nilainya lebih dari satu dalam
suatu entitas tertentu.
e) Atribut Turunan (Derived Attribute)
Atribut turunan adalah jenis atribut yang nilainya diperoleh dari atribut yang
lain.
f) Atribut Identitas (Key Attribute)
Atribut identitas adalah atibut yang dijadikan sebagai kundi pada suatu tabel.
Sifat atribut identitas ini unik, tidak ada yang menyamai.
3) Tipe Relasi
Gambar belah ketupat merupakan perlambangan relasi antar entitas atau sering
disebut kerelasian. Ada 2 tipe macam penggambaran relasi yaitu relasi kuat dan
relasi lemah. Relasi kuat adala untuk menghubungkan antar entitas kuat
sedangkan relasi lemah untuk menghubungkan antar entitas lemah.
Ada tiga macam relasi menurut derajatnya, yaitu:
1. Unary adalah relasi yang menghubungkan entitas yang sejenis.
2. Binary adalah relasi yang menghubungkan entitas yang tidak sejenis.
3. Ternary adalah relasi yang menghbungkan lebih dari dua entitas yang tidak
2. Logical Record Structure (LRS)
Tabrani mengemukakan bahwa “Logical Record Structure (LRS) terdiri dari
link-link diantara tipe record, Link ini menunjukkan arah dari satu tipe record
lainnya. Banyak link dari LRS yang diberi tanda field-field yang kelihatan pada
kedua link tipe record” (Hidayat et al., 2017).
2.2.3. Pengujian Web
Pressman mengemukakan “pengujian perangkat lunak adalah elemen kritis dari
jaminan perangkat lunak dan mempresentasikan kajian pokok dari spesifikasi, desain
dan pengodean. Selain itu, pengujian juga dapat diartikan sebagai sebuah proses eksekusi suatu program dengan maksud menentukan kesalahan” (Destiningrum &
Adrian, 2017).
Black Box Testing
Rouse mengemukakan bahwa “Black Box Testing menilai sistem hanya dari
luar, dimana penguji tidak perlu mengetahui apa yang terjadi di dalam sistem untuk
menghasilkan respons terhadap tindakan pengujian. Black Box mengacu pada
sistem yang perilakunya harus diamati sepenuhnya oleh input dan output” (Sopandi