BAB II
LANDASAN TEORI
2.1. Konsep Dasar Sistem
Setiap komputer mempunyai bahasa pemograman sendiri. Bahasa
pemrograman yang tingkatnya paling rendah (low level language) adalah bahasa
mesin (machine language). Bahasa ini relative rumit dan sulit karena para
programmer harus terdapat dua kelompok pendekatan didalam mendefinisikan
sistem, yaitu kelompok yang menekankan pada prosedur dan kelompok yang
menekankan pada elemen dan komponennya.
1. Pengertian Sistem
Menurut Sutarbi dalam (Herliana dan Rasyid, 2016:42) ”Sistem sebagai
sekelompok unsur-unsur yang erat hubungannya satu dengan yang lain, yang
berfungsi bersama-sama untuk mencapai tujuan tertentu”.
menurut Tabrani (2014:33) “Suatu sistem adalah suatu jaringan kerja dari
prosedur–prosedur yang saling berhubungan, berkumpul bersama–sama untuk
melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu”,
sedangkan pendekatansistem yang lebih menekankan pada elemen atau komponen
mendefinisikan “Sistem adalah kumpulan dari elemen–elemen yang berinteraksi
untuk mencapai suatu tujuan tertentu”.
Dari uraian diatas, dapat diambil kesimpulan bahwa suatu sistem pada
dasarnya adalah sekelompok unsur yang erat hubungannya satu dengan yang lain,
yang berfungsi bersama–sama untuk mencapai tujuan tertentu. Dari definisi tersebut
dapat dirinci lebih lanjut pengertian sistem secara umum, yaitu :
a. Setiap sistem terdiri dari berbagai unsur.
b. Unsur–unsur tersebut merupakan bagian yang
tak terpisahkan dari sistem yang bersangkutan.
c. Unsur–unsur dalam sistem tersebut bekerja sama untuk mencapai tujuan sistem.
d. Suatu sistem merupakan bagian dari sistem lain yang lebih besar.
Menurut Mudjahidin dan Putra dalam (Herliana dan Rasyid, 2016:42)
“Sistem didefinisikan sebagai suatu kumpulan atau himpunan dari unsur, komponen,
atau variabel yang terorganisir, saling interaksi, saling tergantung satu sama lain, dan
terpadu”.
Sedangkan menurut Hutahaean (2014:2) “Sistem adalah suatu jaringan kerja
dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk
melakukan kegiatan atau untuk melakukan sasaran tertentu”.
Karakteristik suatu sistem:
Suatu sistem memiliki karakter atau sifat-sifat tertentu yang mencirikan sebagai
suatu sistem. Karakteristik juga menggambarkan sistem secara logis. Adapun
karakteristik-karakteristik sistem tersebut adalah, sebagai berikut:
1. Komponen Sistem (Component)
Sistem terdiri dari sejumlah komponen yang saling berinteraksi membentuk suatu
kesatuan komponen sistem dapat berupa suatu subsistem.
2. Batasan Sistem (Boundary)
Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang
lainnya atau dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu
sistem dipandang sebagai suatu kesatuan yang tidak dapat dipisah-pisah.
3. Lingkungan Luar Sistem (Environment)
Merupakan segala bentuk apapun yang berada diluar ruang atau batasan sistem
yang mempengaruhi operasi sistem.
4. Penghubung Sistem (Interface)
Merupakan media penghubung antara suatu subsistem dengan subsistem dengan
subsistem lainnya. Melalui penghubung ini kemungkinan sumber-sumber daya
mengalir dari suatu subsistem dengan subsistem lainnya.
5. Masukan Sistem (Input)
Merupakan suatu energi yang dimasukan ke dalam sistem berupa pemeliharaan
(maintenance) dan sinyal (signal).
6. Keluaran Input (Output)
Merupakan hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran
yang berguna dan sisa pembangunan.
7. Pengolah Sistem (Process)
Suatu sistem dapat mempunyai suatu bagian pengolahan yang akan mengubah
masukan menjadi keluaran.
8. Sasaran Sistem (Objective)
Suatu sistem mempunyai sasaran (objective) dan tujuan (goal) yang pasti
menentukan masukan dan keluaran sistem.
2.1.1. Sistem Berorientasi Obyek (OOP)
Menurut Budiman dan Mulyani (2016:375) “Metodologi Berorientasi Objek
adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan
perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang
diberlakukan terhadapnya”. Metode berorientasi objek merupakan suatu cara
bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara
sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip
pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas
analisis berorientasi objek, perancangan berorientasi objek, pemrograman
berorientasi objek, dan pengujian berorientasi objek.berorientasi objek, perancangan
berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi
objek.
2.1.2. Website
menurut Prothelon (Kusniawan, 2:2016) website adalah sekumpulan file dan
folder yang berisi script-script (bahasa pemrograman) yang tersimpan di dalam
server hosting online dan mempunyai alamat khusus yang membedakan antara
website satu dengan lainnya”.
Sedangkan Menurut Hidayat (Kusniawan, 2016:6 ) mengartikan bahwa
“website atau situs dapat diartikan sebagai kumpulan halaman-halaman yang
digunakan untuk menampilkan informasi teks, gambar diam atau gerak, animasi,
suara dan atau gabungan dari semuanya baik yang bersifat statis maupun dinamis
yang membentuk suatu rangkaian bangunan yang saling terkait.”
1. Internet
Menurut Krisianto (2014:1) “Internet adalah salah satu bentuk media komunikasi
dan informasi interaktif”. Wujud internet adalah jaringan komputer yang
terhubung di seluruh dunia. Internet digunakan untuk mengirim informasi antar
komputer di seluruh dunia.
2. Web Server
Menurut Fathansyah (2015:466) “menyimpulkan bahwa server web (web server)
merujuk pada perangkat keras (server) dan perangkat lunak yang menyediakan
layanan akses kepada pengguna melalui protocol komunikasi HTTP ataupun
variasinya (seperti FTP dan HTTPS) atas berkas-berkas yang terdapat pada suatu
URL ke pemakai”.
2.1.3. XAMPP
Menurut Sidik (2014:72) “Xampp (X/Windows/Linux) Apache MySQL PHP
dan Perl) merupakan paket server web PHP dan database MySQL yang paling
popular di kalangan pengembangan web dengan menggunakan PHP dan MySQL
sebagai databasenya”.
XAMPP memiliki banyak paket untuk berbagi sistem operasi yang ada di
dunia, seperti Windows, Mac OS Xatau Linux. Di buku ini akan digunakan sistem
operasi windows, karena sistem operasi ini paling lazim dipakai di Indonesia.
XAMPP ditunjukan untuk pekerjaan pengembangan program local saja dan
tidak disarankan untuk tahap produksi alias dijalankan di internet. Kurang secure
sehingga anda mudah di-hack ketik menjalankan program ditahap produksi dengan
menggunakan XAMPP.
2.1.4. BASIS DATA
Menurut Sukamto dan M. Shalahudin (2018:43) “Sistem basis data adalah
sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang
sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan”.
Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data
apapun bentuknya, entah berupa file teks ataupun Database Management
System (DBMS).
Kebutuhan basis data dalam sistem informasi meliputi:
1. Memasukkan, menyimpan, dan mengambil data.
2. Membuat laporan berdasarkan data yang telah disimpan.
1. Database Management System (DBMS)
Menurut Sukamto dan M. Shalahudin (2018:44) “DBMS (Database Management
System) atau dalam bahasa Indonesia sering disebut sebagai sistem Manajemen
Basis Data adalah suatu sistem aplikasi yang digunakan untuk menyimpan,
mengelola, dan menampilkan data”.
Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai
berikut :
a. Menyediakan fasillitas untuk mengelola akses data.
b. Mampu menangani integritas data
c. Mampu menangani akses data yang dilakukan
d. Mampu menangani backup data
DBMS sudah mulai berkembang sejak tahun 1960an. Kemudian sekitar tahun
1970an mulai berkembang teknologi Relational DBMS yaitu DBMS berbasis
relasional model. Relasional model pertama kali dikembangkan oleh Edgar J. Codd
pada tahun 1970.
Secara sederhana rasional model dapat dipahami sebagai suatu model yang
memandang data sebagai sekumpulan tabel yang saling terkait. Hamper semua
DBMS komersial dan open source saat ini berbasis Relational DBMS atau RDBMS.
Pada tahun 1980an mulai berkembang object oriented DBMS (OODBMS).
OODBMS berkembang seiring dengan perkembangan teknologi pemrograman
berorientasi objek. Secara umum dapat diartikan bahwa OODBMS merupakan
DBMS yang memandang data sebagai suatu objek. Saat ini OODBMS juga cukup
berkembang namun belum dapat menggeser kepopuleran RDBMS.
Berikut ini adalah 4 macam DBMS versi komersial yang paling banyak digunkan
saat ini, yaitu:
1. Oracle
2. Microsoft SQL Server
3. IBM DB2
4. Microsoft Access
Sedangkan DBMS versi open source yang cukup berkembang dan paling banyak
digunakan saat ini adalah sebagai berikut:
1. MySQL
2. PostgreSQL
3. Firebird
4. SQLite
Hampir semua DBMS mengadopsi SQL sebagai bahasa untuk mengelola data pada
DBMS.
2. Structured Query Language (SQL)
Menurut Sukamto dan M. Shalahudin (2018:46) “SQL (Structured Query
Language) adalah bahasa yang digunakan untuk mengelola data pada RDMS”. SQL
awalnya dikembangkan berdasarkan teori aljabar relasional dan kalkulus.
SQL mulai berkembang pada tahun 1970an. SQL mulai digunakan sebagai
standar yang resmi pada tahun 1986 oleh ANSI (American National Standars
Institute) dan pada tahun 1987 oleh ISO (International Organization For
Standardization) dan disebut sebagai SQL-86. Meskipun SQL diadopsi dan diacu
sebagai bahasa standar oleh hampir sebagian besar RDBMS yang beredar saat ini,
tetapi semua standar yang tercantum dalam SQL diimplementasikan oleh seluru
DBMS tersebut. Sehingga kadang-kadang ada perbedaan perilaku (hasil yang
ditampilkan) oleh DBMS yang berbeda padahal query yang dimasukkan sama.
2.1.5. Model Pengembangan Perangkat Lunak
Menurut Sukamto dan M. Shalahudin (2018:28) 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, pengkodean, pengujian, dan tahap pendukung (support).
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasi
kebutuhan perangkat lunak agar dapat dipamahami perangkat lunak seperti apa yang
dibutuhkan oelh 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, representasi antarmuka, dan prosedur pengaduan. Tahap ini mentranslasi
kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar
dapat diimplementasikan menjadi program pada tahap selanjutnya.Desain perangkat
lunak yang dihasilkan pada tahap ni juga perlu didokumentasikan.
3. Pembuatan Kode Program
Desain harus ditranslasikan ke dalam 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 lojik 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.
5. Pendukung (support) atau Pemeliharaan (maintenance)
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 dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat
mengulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan
perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
2.2. Teori Pendukung
A. Entity Relationship Diagram (ERD)
Menurut Sukamto dan M. Shalahudin (2018:289) “Entity Relationship
Diagram (ERD) adalah pemodelan awal basis data yang dikembangkan
berdasarkan teori himpunan dalam bidang matematika untuk pemodelan basis
data relasional”. ERD biasanya memiliki hubungan binary (satu relasi
menghubungkan dua buah entitas). Beberapa metode perancangan ERD
menoleransi hubungan relasi ternary (satu relasi menghubungkan tiga buah
relasi) atau N-ary (satu relasi menghubungkan banyak entitas), tapi banyak
metode perancangan ERD yang tidak mengizinkan hubungan ternary atau N-
ary.
Komponen-komponen dalam ERD (Entity Relationship Diagram) adalah sebagai
berikut:
a. Entitas (Entity)
Suatu yang nyata atau abstrak yang mempunyai karakteristik dimana kita akan
menyimpan data.
b. Atribut (Attributte)
Ciri umum semua atau sebagian besar instansi pada entitas tertentu.
c. Relasi
Hubungan alamiah yang terjadi antara satu atau lebih entitas.
d. link
Garis penghubung atribut dengan kumpulan entitas dan kumpulan entitas dengan
relasi.
Adapun beberapa kardinalitas relasi yang terdapat dalam ERD, yaitu:
a. Satu ke Satu (One to One)
Setiap elemen dari entitas A berhubungan paling banyak dengan elemen pada
entitas B. demikian juga sebaliknya, setiap elemen B berhubungan paling banyak
satu elemen pada entitas A.
b. Satu ke Banyak (One to Many)
Setiap elemen dari entitas A berhubungan dengan maksimal banyak elemen pada
entitas B. Dan sebaliknya, setiap elemen dari entitas B berhubungan dengan
paling banyak satu elemen di entitas A.
c. Banyak ke Satu (Many to One)
Setiap elemen dari entitas A berhubungan paling banyak dengan satu elemen pada
entitas B. Dan sebaliknya, setiap elemen dari entitas B berhubungan dengan
maksimal banyak elemen di entitas A.
d. Banyak ke Banyak (Many to Many)
Setiap elemen dari entitas A berhubungan maksimal banyak elemen pada entitas
B demikian sebaliknya.
Sumber: Sukamto dan M.Shalahuddin (2018:58)
Gambar II. 1 Diagram ERD Studi Kasus Perpustakaan
B. Logical Record Structure (LRS)
Menurut Tabrani (2014:33) “Logical Record Structure (LRS) dibentuk
dengan nomor dari tipe record”. Beberapa tipe record digambarkan oleh kotak
persegi panjang dan dengan nama yang unik. Perbedaan LRS dengan E-R diagram
adalah nama tipe record berada diluar kotak field tipe record ditempatkan. LRS
terdiri dari link-link diantara tipe record. Link ini menunjukkan arah dari satu tipe
record field-field yang kelihatan pada kedua link tipe record. Penggambaran LRS
mulai dengan menggunakan model yang dimengerti.
Sedangkan menurut Iskandar dan Rangkuti dalam (Sidik dan Rahmawati,
121:2018) “LRS terdiri dari link-link diantara tipe record. Link ini menunjukkan
arah tipe record lainnya. Banyak link dari LRS yang diberi tanda field-field yang
kelihatan pada kedua link tipe record. Penggambaran LRS mulai dengan
menggunakan model yang dimengerti.” Dua metode yang dapat digunakan, dimulai
dengan hubungan kedua model yang dapat dikonversikan ke LRS. Metode yang lain
dimulai dengan Entity Relationship Diagram dan langsung dikonversikan ke LRS.
Sumber: Muhammad Tabrani (2014:38)
Gambar II. 1 Diagram LRS Studi Kasus Penginapan
Berikut adalah cara membentuk skema database atau LRS (Logical Record
Structured) berdasarkan Entity Relationship Diagram:
1. Jika relasinya satu-ke-satu, maka foreign key diletakan pada salah satu dari dua
entitas yang ada atau menyatukan kedua entitas tersebut.
2. Jika relasinya satu-ke-banyak, maka foreign key diletakan pada entitas Many.
3. Jika relasinya banyak-ke-banyak, maka dibuat “file konektor” yang berisi dua
foreign key yang berasal dari kedua entitas.
C. Unified Modeling Language (UML)
Menurut Sukamto dan M. Shalahudin (2018:133) “Unified Modeling
Language (UML) adalah salah standar bahasa yang banyak digunakan di dunia
industri untuk mendefinisikan requirement, membuat analisis & desain, serta
menggambarkan arsitektur dalam pemrograman berorientasi objek”. Pada
perkembangan teknik pemrograman berorientasi objek, muncullah sebuah
standarisasi bahasa pemodelan untuk permbangunan perangkat lunak yang dibangun
dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified
Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan
visual untuk menspesifikasikan, menggambarkan, membangun dan dokumentasi dari
sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan
komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks
pendukung. UML mempunyai beberapa atau sejumlah elemen grafis yang bisa
dikombinasikan menjadi diagram. Diagram tersebut akan menggambarkan atau
mendokumentasikan beberapa aspek dari sebuah sistem. Berikut adalah diagram
yang ada pada UML:
1. Activity Diagram
Menurut Sukamto dan M. Shalahudin (2018:161) “Diagram aktivitas atau activity
diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem
atau proses bisnis atau menu yang ada pada perangkat lunak”. Yang perlu
diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas
sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh
sistem.
Sumber: Sukamto dan M.Shalahuddin (2018:234)
Gambar II. 2 Diagram Interaksi Studi Kasus Perpustakaan
2. Use Case Diagram
Menurut Sukamto dan M. Shalahudin (2018:155) “Use case atau diagram use
case merupakan pemodelan untuk kelakukan (behavior) sistem informasi yang
akan dibuat”. Use case mendeskripsikan sebuah interaksi antara satu atau lebih
aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan
untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan
siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan pada
Use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami.
Sumber: Sukamto dan M.Shalahuddin (2018:204)
Gambar II. 3 Diagram Use case Perpustakaan
3. Class Diagram
Menurut Sukamto dan M. Shalahudin (2018:141) “Diagram kelas atau Class
diagram mengambarkan struktur sistem dari segi pendefinisian kelas-kelas yang
akan dibuat untuk membangun sistem”. Kelas memeliki apa yang disebut atribut
dan metode atau operasi. Diagram kelas dibuat agar pembuat program atau
programmer membuat kelas-kelas sesuai rancangan di dalam diagram kelas agar
antara dokumentasi perancangan dan perangkat lunak sinkron.
Sumber: Sukamto dan M.Shalahuddin (2018:205)
Gambar II. 4 Diagram Kelas Studi Kasus Perpustakaan
4. Sequence Diagram
Menurut Sukamto dan M. Shalahudin (2018:165) “Diagram sekuen
menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu
hidup objek dan messege yang dikirimkan dan diterima antar objek”. Oleh karena
itu untuk menggambarkan diagram sekuen maka harus diketahui objek-objek
yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas
yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan
untuk melihat skenario yang ada pada use case.
Sumber: Sukamto dan M.Shalahuddin (2018:209)
Gambar II. 5 Diagram Sekuen-login