BAB II LANDASAN TEORI - repository.bsi.ac.id · 6 BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem...
Transcript of BAB II LANDASAN TEORI - repository.bsi.ac.id · 6 BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem...
6
BAB II
LANDASAN TEORI
2.1 Konsep Dasar Sistem
Dalam penulisan tugas akhir ini menggunakan beberapa teori dari buku/jurnal
yang diperlukan untuk membantu dalam penelitian dan pengamatan terhadap sistem
maupun dalam pemecahan masalah. Pengertian teori – teori pendukung yang
berhubungan dengan penulisan tugas akhir ini adalah berikut.
2.1.1 Pengertian Sistem
Menurut Arif (2017) menyebutkan bahwa, “Kumpulan dari komponen apapun
yang saling berhubungan satu sama lain dan bekerja sama secara harmonis untuk
mencapai satu tujuan tertentu”. Sedangkan menurut Hutahaen (2015:2) menyebutkan
bahwa, “sistem adalah suatu jaringan kerja dari prosedur – prosedur yang saling
berhubungan, berkumpul bersama – sama untuk melakukan kegiatan atau untuk
melakukan sasaran yang tertentu”.
Dapat disimpulkan bahwa sistem merupakan suatu elemen atau komponen
yang berada dalam satu kesatuan untuk bekerja sama dalam menyelesaikan suatu
pekerjaan.
2.1.2 Karakteristik Sistem
Sistem yang baik memiliki ciri-ciri yang dapat diidentifikasikan bahwa ciri
ciri tersebut merupakan bagian dari sistem. Karakteristik sistem Hutahaen (2015:3)
yang dimaksud, diuraikan sebagai berikut:
7
1. Komponen
Sistem terdiri dari sejumlah komponen yang saling berinteraksi dan
bekerjasama untuk membentuk satu kesatuan.
2. Batasan sistem (boundary)
Daerah yang membatasi antara suatu sistem dengan sistem lainnya atau dengan
lingkungan luar dinamakan dengan batasan sistem.
3. Lingkungan luar sistem (environment)
Apapun yang berada di luar batas dari sistem dan mempengaruhi sistem
tersebut dinamakan dengan lingkungan luar sistem.
4. Penghubung sistem (interface)
Media penghubung diperlukan untuk mengalirkan sumber-sumber daya dari
sub sistem ke sub sistem lainnya dinamakan dengan penghubung sistem.
5. Masukkan sistem (input)
Energi yang dimasukkan ke dalam sistem dinamakan dengan masukan sistem
(input) dapat berupa perawatan dan masukan sinyal.
6. Keluaran sistem (output)
Hasil dari energi yang telah diolah dan diklasifikasikan menjadi keluaran yang
berguna dinamakan dengan keluaran sistem (output).
7. Pengolah sistem
Untuk mengolah masukan menjadi keluaran diperlukan suatu pengolah yang
dinamakan dengan pengolah sistem.
8. Sasaran sistem
Sistem pasti memiliki tujuan atau sasaran yang sangat menentukan input yang
dibutuhkan oleh sistem dan keluaran yang dihasilkan.
8
2.1.3 Klasifikasi Sistem
Sistem berdasarkan sudut pandangnya memiliki beberapa macam kategori.
Kategori ini yang harus diklasifikasikan. Klasifikasi sistem menurut Hutahaen
(2015:6) yang dimaksud, sebagai berikut:
1. Sistem abstrak dan sistem fisik
a. Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak
tampak secara fisik.
b. Sistem fisik adalah sistem yang ada dan tampak secara fisik.
2. Sistem alamiah dan sistem buatan manusia
a. Sistem alamiah adalah sistem yang terjadi dikarenakan oleh proses alam
tanpa campur tangan manusia.
b. Sistem buatan manusia adalah sistem yang dibuat oleh manusia yang
melibatkan interaksi antara manusia dengan mesin.
3. Sistem tertentu dan sistem tak tentu
a. Sistem tertentu adalah sistem yang beroperasi sistem dengan tingkah laku
yang sudah dapat diprediksi dan keluaran yang telah diramalkan.
b. Sistem tak tentu merupakan sistem yang kondisi masa depannya tidak dapat
diprediksi karena mengandung unsur probabilistik.
4. Sistem tertutup dan sistem terbuka
a. Sistem tertutup adalah sistem yang tidak terpengaruh dan berhubungan
dengan dunia luar dan bekerja secara otomatis tanp campur tangan
lingkungan luar, namun pada kenyataannya tidak ada sistem yang benar -
benar tertutup.
9
b. Sistem terbuka adalah sistem yang berhubungan dan terpengaruh oleh
lingkungan luarnya. Sistem yang terpengaruh dengan lingkungan luar
memiliki kontrol kendali yang lebih baik.
2.1.4 Sistem Berorientasi Objek (Object Oriented Programming)
Menurut Sukanto & Shalahuddin (2018:104) menyebutkan bahwa, “Sistem
berorientasi objek merupakan sebuah sistem yang dibangun dengan berdasarkan
metode berorientasi objek adalah sebuah sistem yang komponennya dibungkus
(dienkapsulasi) menjadi kelompok data dan fungsi. Sedangkan menurut Satyaputra &
Aritonang (2014:33) adalah “Object Oriented Programming merupakan cara berpikir
atau metode pemrograman yang berorientasikan kepada objek”.
Berdasarkan pengertian diatas, dapat disimpulkan bahwa Sistem Berorientasi
Objek (Object Oriented Programming) adalah sebuah sistem yang komponennya di
bungkus menjadi kelompok data dan fungsi dengan metode pemrograman yang
berorientasikan ke objek.
Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang
metodologi berorientasi objek menurut Rosa & Shalahuddin (2018:104):
1. Kelas (Class)
Kelas adalah kumpulan objek – objek dengan karakteristik yang sama. Kelas
merupakan definisi statik dan himpunan objek yang sama yang mungkin lahir
atau diciptakan dan kelas tersebut.
2. Object (Object)
Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda,
manusia, satuan organisasi, tempat, kejadian, struktur, status, atau hal – hal lain
yang bersifat abstrak.
10
3. Metode (Method)
Operasi atau metode atau method pada sebuah kelas hampir sama dengan
fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki
lebih dari satu metode atau operasi.
4. Atribut (Attribute)
Atribut dari sebuah kelas adalah variabel globa yang dimiliki sebuah kelas.
Atribut dapat berupa nilai atau elemen – elemen data yang dimiliki oleh objek
dalam kelas objek. Atribut dipunyai secara individual oleh sebuah objek,
misalnya berat, jenis, nama dan sebagainya. Atribut sebaiknya bersifat privat
untuk menjaga konsep enkapsulasi.
5. Abstraksi (Abstraction)
Prinsip untuk mempresentasikan dunia nyata yang kompleks menjadi satu
bentuk model yang sederhana dengan mengabaikan aspek – aspek lain yang
tidak sesuai dengan permasalahan.
6. Enkapsulasi (Encapsulation)
Pembungkusan atribut data dan layanan (operasi – operasi) yang dipunyai
objek untuk menyembunyikan implementasi dan objek sehingga objek lain
tidak mengetahui cara kerjanya.
7. Pewarisan (Inheritance)
Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh
definisi dan objek lain sebagai bagian dan dirinya.
8. Antarmuka (Interface)
Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut kelas
dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada
sebuah interface dapat diimplementasikan oleh kelas lain.
11
9. Reusabilily
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu
permasalahan pada permasalahan lainnya yang melibatkan objek tersebut.
10. Generalisasi dan Spesialisasi
Menunjukkan hubungan antara kelas dan objek yang umum dengan kelas dan
objek yang khusus.
11. Komunikasi Antar Objek
Komunikasi antar-objek dilakukan lewat pesan (message) yang dikirim dan
satu objek ke objek lainnya.
12. Polimorfisme (Polymorphism)
Kemampuan suatu objek untuk digunakan di banyak tujuan yang berbeda
dengan nama yang sama sehingga menghemat baris program.
13. Package
Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk
mengelompokkan kelas – kelas sehingga memungkinkan beberapa kelas yang
bernama sama disimpan dalam package yang berbeda.
2.1.5 Internet
Menurut Anhar (2016:6) internet adalah “jaringan atau sistem pada jaringan
komputer yang saling berhubungan (terhubung) dengan menggunkaan Sistem global
Transmission Control Protocol/ Internet Protocol Suite (TCP/IP) sebagai protokol
pertukaran paket (Packet Switching Communication Protocol) untuk melayani
miliyaran pengguna di dunia”.
Sedangkan menurut Rusman (2017:235) menyebutkan bahwa, “internet
didefinisikan dua komputer atau lebih yang memiliki konektivitas membentuk
12
jaringan komputer hingga meliputi jutaan komputer di dunia secara global
(internasional),yang saling berinteraksi dan bertukar informasi.”
Berdasarkan pendapat para ahli di atas, dapat di tarik kesimpulan bahwa
internet adalah jaringan komputer yang saling terhubung secara global yang saling
berinteraksi dan bertukar informasi.
2.1.6 Website
Menurut Abdulloh (2018b:1) website dapat diartikan sebagai “kumpulan
halaman yang berisi informasi data digital baik berupa teks, gambar, animasi, suara,
dan vidio atau gabungan dari semuanya yang disediakan melalui jalur koneksi
internet sehingga dapat diakses dan dilihat oleh semua orang diseluruh dunia”.
Sedangkan menurut Rerung (2018:1) menyebutkan bahwa, “website adalah
jaringan komputer yang terdiri dari kumpulan situs internet yang menawarkan teks
dan grafik dan suara dan sumber daya animasi melalui hypertext transfer protokol”.
Berdasarkan pendapat para ahli di atas, dapat di tarik kesimpulan bahwa
website adalah halaman situs internet yang berisikan informasi data digital baik
berupa teks, gambar, animasi, suara, dan vidio atau gabungan dari semuanya.
2.1.7 Web Browser
Menurut Solichin (2016:9) menyebutkan bahwa, “web browser merupakan
perangkat lunak yang berfungsi untuk menerima dan menyajikan sumber informasi
di internet. Mudahnya, browser digunakan untuk menampilkan halaman-halaman
web”.
Sedangkan menurut Winarto ST, Zaki, & SmitDev Community (2015:31) web
browser adalah “perangkat lunak yang fungsinya menerima dan menyajikan
13
informasi di internet. Sumber informasi bisa dilihat menggunakan web browser, baik
berupa halaman web, gambar, video, atau jenis konten lainnya”.
Berdasarkan pendapat para ahli di atas, dapat di tarik kesimpulan bahwa web
browser adalah perangkat lunak yang berfungsi untuk menampilkan seluruh
informasi yang terdapat dalam internet.
2.1.8 Web Server
Menurut Rozi & SmitDev Community (2016:16) web server adalah “program
untuk melayani penyajian halaman web di internet”. Sedangkan Roihan (2018:91)
mengemukakan bahwa “web server adalah layanan server yang berfungsi menerima
permintaan HTTP atau HTTPS dari klien dengan menggunakan web browser dan
mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya
berbentuk dokumen HTML dan format dokumen web lainnya”.
Berdasarkan pendapat para ahli di atas, dapat di tarik kesimpulan bahwa web
server adalah layanan server yang berfungsi untuk melayani penyajian halaman web
yang umumnya berbentuk dokumen HTML dan format dokumen web lainnya.
2.1.9 Basis Data
Menurut Rosa A.S dan M. Shalahuddin (2018:43) menyebutkan bahwa, “Basis
Data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data
yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan.
Pada intinya basis data adalah media untuk menyimpan data agar dapat diakses
dengan mudah dan cepat”.
Sedangkan menurut V.K. Pallaw dalam Subandi & Syahdi (2018:2)
menyebutkan bahwa, “Basis Data didefinisikan sebagai “satu koleksi dari data yang
14
saling berhubungan, disimpan bersama – sama secara logika, yang didesain untuk
menjumpai informasi sesuai dengan kebutuhan dari organisasi”.
Berdasarkan pendapat dari para ahli di atas, dapat ditarik kesimpulan bahwa
basis data merupakan kumpulan data yang tersimpan di tempat penyimpanan data,
dapat diolah, dimanipulasi menjadi informasi dan digunakan kembali.
2.1.10 XAMPP
Menurut Wardana (2016:8) XAMPP didefinisikan sebagai “perangkat lunak
bebas (free software) yang mendukung banyak sistem operasi, merupakan kompilasi
dari beberapa program”. Sedangkan menurut Haqi & Setiawan (2019:4) xampp
adalah “paket software yang di dalamnya sudah terkandung Web Server Apache,
database MySql, dan PHP Interpreter”.
Berdasarkan pendapat dari para ahli di atas, dapat ditarik kesimpulan bahwa
XAMPP merupakan paket software yang mendukung banyak sistem operasi dan di
dalamnya sudah terkandung Web Server Apache, database MySql, dan PHP
Interpreter.
2.1.11 MySQL
Menurut Nugroho Aldi dalam Radillah (2018:14) menyebutkan bahwa,
“MySQL adalah sebuah program database server yang mampu menerima dan
mengirim datanya dengan sangat cepat, multi user serta menggunakan perintah
standar SQL (Structure Quered Language)”.
Sedangkan menurut Masruri & Creativity (2015:54) menyebutkan bahwa,
“MySQL adalah sebuah implementasi dari sistem manajemen basis data relasional
(RDBMS) yang didistribusikan secara gratis”.
15
Berdasarkan pendapat dari para ahli di atas, dapat ditarik kesimpulan bahwa
MySQL adalah sebuah program database server dari sistem manajemen basis data
relasional menggunakan perintah standar SQL (Structure Quered Language).
2.1.12 Metode Pengembangan Perangkat Lunak (Model Prototype)
Dalam buku Rosa & Shalahuddin (2018:31) Model Prototipe dapat digunakan
untuk menyambungkan ketidakpahaman pelanggan mengenal hal teknis dan
memperjelas spesifikasi kebutuhan yang diinginkan pelanggan kepada pengembang
perangkat lunak.
Model Protipe (prototyping model) dimulai dari mengumpulkan kebutuhan
pelanggan terhadap perangkat lunak yang akan dibuat. Lalu dibuatlah program
prototipe agar pelanggan lebih terbayang dengan apa yang sebenernya diinginkan.
Program prototipe biasanya merupakan program yang belum jadi. Program ini
biasanya menyediakan tampilan dengan simulasi alur perangkat lunak sehingga
tampak seperti perangkat lunak yang sudah jadi. Program prototipe ini dievaluasi
oleh pelanggan atau user sampai ditemukan spesifikasi yang sesuai dengan keinginan
pelanggan atau user.
Model prototipe cocok digunakan untuk menjabarkan kebutuhan pelanggan
secara lebih detail karena pelanggan sering kali kesulitan menyampaikan
kebutuhannya secara detail tanpa melihat gambaran yang jelas. Untuk mengantisipasi
agar proyek dapat berjalan sesuai dengan target waktu dan biaya di awal, maka
sebaiknya spesifikasi kebutuhan sistem harus sudah disepakati oleh pengembang
dengan pelanggan secara tertulis. Dokumen tersebut akan menjadi patokan agar
spesifikasi kebutuhan sistem masih dalam ruang lingkup proyek.
16
Model prototipe kurang cocok untuk aplikasi dengan skala besar karena
membuat prototipe untuk aplikasi sekala besar akan sangat memakan waktu dan
tenaga.
1. Mock – up
Menurut Rosa A.S dan M. Shalahuddin (2018:32) menyebutkan bahwa, “
Mock – up adalah sesuatu yang digunakan sebagai model desain yang digunakan
untuk mengajar, demonstrasi, evaluasi desain, promosi, atau keperluan lain. Sebuah
mock – up disebut sebagai prototipe perangkat lunak jika menyediakan atau mampu
mendemonstrasikan sebagian besar fungsi sistem perangkat lunak dan
memungkinkan pengujian desain sistem perangkat lunak.Iterasi terjadi pada
pembuatan protoipe sampai sesuai dengan keinginan pelanggan (customer) atau
user”.
2.2 Teori Pendukung
2.2.1 Entity Relationship Diagram (ERD)
Menurut Sukanto & Shalahuddin (2018:53) menyebutkan bahwa, “ERD adalah
bentuk paling awal dalam melakukan perancangan basis data relasional. Jika
menggunakan OODBMS (Object Oriented Database Management System) maka
perancangan ERD tidak perlu dilakukan”. Di dalam buku karya Rosa A.S dan M.
Shalahuddin (2018:50) dijelaskan bahwa, “pemodelan awal basis data yang paling
banyak digunakan adalah menggunakan Entity Relationship Diagram (ERD) dan
ERD dikembangkan berdasarkan teori himpunan dalam bidang matematika juga
ERD digunakan untuk pemodelan basis data relasional sehingga jika penyimpanan
basis data menggunakan OODBMS maka perancangan basis data tidak perlu
menggunakan ERD”. ERD memiliki beberapa aliran notasi seperti Notasi Chen
17
(dikembangkan oleh Peter Chen), Barker (dikembangkan oleh Richard Barker, Ian
Palmer, Harry Ellis), notasi Crow’s Foot, dan beberapa notasi lain.
2.2.2 Logical Relationship Structure (LRS)
Menurut Friyadie dalam Taufik & Ermawati (2017:3) menyebutkan bahwa,
“sebelum tabel dibentuk dari field atau atribut entitas secara fisik atau level internal,
maka harus dibuatkan suatu bentuk relational model yang dibuat secara logic atau
level external dan konsep, dari pernyataam tersebut dibutuhkan yang disebut dengan
Logical Record Structure (LRS)”.
Dalam pembuatan Logical Record Structure (LRS) terdapat tiga hal yang dapat
mempengaruhi, yaitu:
1. Jika tingkat hubungan (cardinality) satu pada satu (one-to-one), maka
digabungkan dengan entitas yang lebih kuat (strong entity), atau digabungkan
dengan entitas yang memiliki atribut yang lebih sedikit.
2. Jika tingkat hubungan (cardinality) satu pada banyak (one-to-many), maka
hubungan relasi atau gabungkan dengan entitas yang tingkat hubungannya
banyak.
3. Jika tingkat hubungan (cardinality) banyak pada banyak (many-to-many), maka
hubungan relasi tidak akan digabungkan dengan entitas manapun, melainkan
menjadi sebuah LRS.
2.2.3 Unified Modeling Language (UML)
Menurut Rosa & Shalahuddin (2018: 137) menyebutkan bahwa, “Unified
Modeling Language (UML) merupakan sebuah standarisasi bahasa pemodelan untuk
pembangunan perangkat lunak yang dibangun dengan mengunakan teknik
pemrograman berorientasi objek”.
18
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.
1. Diagram Aktivitas (Activity Diagram)
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran
kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada
perangkat lunak.
Menurut Rosa & Shalahuddin (2018:162) terdapat beberapa simbol pada
diagram aktivitas, antara lain:
2. Diagram Kelas (Class Diagram)
Diagram kelas atau class diagram menggambarkan struktur sistem dari
pendefinisian kelas – kelas yang akan dibuat untuk membangun sistem. Kelas
memiliki apa yang disebut atribut dan metode atau operasi.
3. Diagram Use Case (Use Case Diagram)
Use case atau diagram use case merupakan pemodelan untuk kelakuan
(behavior) sistem infromasi 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.
4. Diagram Sekuen (Sequence Diagram)
Menurut Rosa & Shalahuddin (2018:165) mengemukakan bahwa :
Diagram sekuen menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan
diterima oleh objek. Untuk menggambarkan diagram sekuen harus mengetahui
objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang
dimiliki kelas.