BAB III LANDASAN TEORI 3.1. Pengertian Sistem Informasi 3 ...
Transcript of BAB III LANDASAN TEORI 3.1. Pengertian Sistem Informasi 3 ...
11
BAB III
LANDASAN TEORI
3.1. Pengertian Sistem Informasi
3.1.1. Sistem
Sistem adalah jaringan kerja dengan segala aktifitas yang saling terkait yang
dilakukan oleh objek yang saling berhubungan dalam suatu wadah yang sama untuk
mencapai suatu tujuan atau sasaran yang telah ditentukan. Sebuah sistem terdiri dari
berbagai unsur yang saling melengkapi dalam mencapai tujuan dan sasaran. Unsur-
unsur yang terdapat dalam sistem itulah yang disebut dengan subsistem. Subsistem
- subsistem tersebut harus saling berhubungan dan berinteraksi melalui komunikasi
yang relevan sehingga sistem dapat bekerja secara efektif dan efisien (Iswandy,
2015).
Sistem didefinisikan sebagai sekumpulan prosedur yang saling berkaitan
dan saling terhubung untuk melakukan suatu tugas bersama – sama. Secara garis
besar, sebuah sistem informasi terdiri atas tiga komponen utama. Ketiga komponen
tersebut mencakup perangkat lunak (software), perangkat keras (hardware), orang
yang mengoprasikan komputer (brainware). Ketiga komponen ini saling berkaitan
satu sama lain (Pratama, 2014).
3.1.2. Informasi
Informasi merupakan hasil pengolahan data dari satu atau berbagai sumber,
yang kemudian diolah, sehingga memberi nilai, arti, dan manfaat (Pratama, 2014).
Menurut Tata Sutabri (2012) Informasi adalah data yang telah diklasifikasikan atau
diolah atau diinterpretasikan untuk digunakan dalam proses pengambilan
keputusan.
12
3.1.3. Sistem Informasi
Sistem Informasi adalah suatu sistem di dalam suatu organisasi yang
mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi
operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu
organisasi untuk dapat menyediakan laporan – laporan yang diperlukan oleh pihak
luar tertentu (Tata, 2012). Sistem informasi terdiri dari komponen – komponen yang
disebut dengan istilah blok bangunan (building block), yang terdiri dari blok
masukan, blok model, blok keluaran, blok teknologi, blok basis data, dan blok
kendali. Sebagai suatu sistem keenam blok tersebut saling berinteraksi satu dengan
yang lain membentuk satu kesatuan untuk mencapai sasaran.
1. Blok Masukan (Input Block)
Input mewakili data yang masuk ke dalam sistem informasi. Yang dimaksud
dengan input disini termasuk metode dan media untuk menangkap.
2. Blok Model (model block)
Blok ini terdiri dari kombinasi prosedur, logika, dan model matematik yang akan
memanipulasi data input dan data yang tersimpan di basis data dengan cara yang
sudah tertentu untuk menghasilkan keluaran yang diinginkan.
3. Blok Keluaran (output block )
Produk dari sistem adalah keluaran yang merupakan informasi yang berkualitas
dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua
pemakai sistem.
4. Blok Teknologi (tecnology block)
Teknologi merupakan tool box dalam sistem informasi. Teknologi digunakan
untuk menerima input, menjalankan model, menyimpan dan mengakses data,
menghasilkan dan mengirimkan keluaran dan membantu pengendalian sistem
secara keseluruhan.
13
5. Blok Basis Data (database block)
Basis data (database) merupakan kumpulan data yang saling berkaitan dan
berhubungan satu dengan yang lainnya, tersimpan diperangkat keras komputer
dan perangkat lunak digunakan untuk memanipulasinya.
6. Blok Kendali ( control block )
Banyak hal dapat merusak sistem informasi, seperti bencana alam, api
temperature, air, debu, kecurangan – kecurangan, kegagalan pada sistem itu
sendiri, ketidak efisienan, sabotase dan lain sebagainya. Beberapa pengendalian
perlu dirancang dan diterapkan untuk meyakinkan bahwa hal – hal yang dapat
merusak sistem dicegah dan bila terlanjur terjadi maka kesalahan – kesalahan
dapat dengan cepat diatasi.
3.2. Penyewaan
Penyewaan adalah pemakaian sesuatu dengan membayar uang sewa, uang
yang dibayarkan karena memakai atau meminjamkan sesuatu. Sewa sebagai
sejumlah uang atau barang yang dibayarkan kepada pemilik sewa oleh pihak yang
menggunakannya sebagai balas jasa untuk penggunaan sewa tersebut (Maimunah,
Hariyansyah, & Jihadi, 2017).
Penyewaan adalah suatu kegiatan dalam bentuk penyediaan barang – barang
modal untuk digunakan dalam jangka waktu tertentu, berdasarkan perjanjian
pembayaran secara berkala disertai dengan hak pilih untuk meminjam barang –
barang modal yang bersangkutan seperti yang telah disepakati Bersama. (Ardian,
Larasati, & Irawan, 2018)
“Sewa-menyewa adalah suatu perjanjian, dengan mana pihak yang satu
mengikatkan dirinya untuk memberikan kepada pihak lainnya kenikmatan dari
sesuatu barang, selama suatu waktu tertentu dan dengan pembayaran sesuatu harga,
yang oleh pihak tersebut belakangan itu disanggupi pembayarannya.” Dari
pengertian sewa-menyewa dalam Pasal 1548 Kitab Undang-Undang Hukum
Perdata, maka dapat diketahui bahwa sewa-menyewa adalah suatu perjanjian yang
melibatkan dua pihak atau lebih, dimana satu pihak memberikan sesuatu barang
14
pada pihak lain dalam kurun waktu tertentu dengan pembayaran sesuai yang telah
disanggupi. (Pratama & Sariana, 2019)
3.3. Kamera
Kamera adalah alat paling populer dalam aktivitas fotografi. Nama ini
didapat dari camera obscura, bahasa Latin untuk "ruang gelap", mekanisme awal
untuk memproyeksikan tampilan di mana suatu ruangan berfungsi seperti cara kerja
kamera fotografis yang modern, kecuali tidak ada cara pada waktu itu untuk
mencatat tampilan gambarnya selain secara manual mengikuti jejaknya. Dalam
dunia fotografi, kamera merupakan suatu peranti untuk membentuk dan merekam
suatu bayangan potret pada lembaran film. Pada kamera televisi, sistem lensa
membentuk gambar pada sebuah lempeng yang peka cahaya. Lempeng ini akan
memancarkan elektron ke lempeng sasaran bila terkena cahaya. Selanjutnya,
pancaran elektron itu diperlakukan secara elektronik. Dikenal banyak jenis kamera
potret (Alfarisi, 2019).
3.4. Android
Android adalah sistem operasi bergerak (mobile operating system) yang
mengadopsi sistem operasi Linux, namun telah dimodifikasi. Android diambil alih
oleh Google pada tahun 2005 dari Android, Inc sebagai bagian dari strategi untuk
mengisi pasar sistem operasi bergerak. Google mengambil alih seluruh hasil kerja
android termasuk tim yang mengembangkan Android. Google menginginkam agar
android bersifat terbuka dan gratis, oleh karena itu hamper setiap kode program
Android diluncurkan berdasarkan lisensi open-sourcode Apache yang berarti bahwa
semua orang yang ingin menggunakan Android dapat men-download penuh source
code-nya.
Disamping itu produsen perangkat keras juga dapat menambahkan
extension-nya sendiri kedalam Android sesuai kebutuhan produk mereka. Model
pengembangannya yang sederhana membuat Android menarik bagi vendor-vendor
perangkat keras (contoh: Samsung). Keuntungan utama dari android adalah adanya
pendekatan aplikasi secara terpadu. Pengembangan hanya berkonsentrasi pada
15
aplikasi saja, aplikasi tersebut bisa beralan pada beberapa perangkat yang berbeda
selama masih ditenagai oleh Android (Suprianto & Agustina , 2012).
Android merupakan sistem operasi yang dikembangkan untuk perangkat
mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh
Android Inc. yang kemudian dibeli oleh Google pada tahun 2005. Dalam usaha
mengembangkan Android, pada tahun 2007 dibentuklah Open Handset Alliance
(OHA), sebuah konsorsium dari beberapa perusahaan, yaitu Texas Instrument s,
Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology Group,
Motorola, Nvidia, Qualcomm, Samsung Electronics (Maiyana, 2018).
Android merupakan sisstem operasi berbasis Linux yang digunakan untuk
telepon seluler (mobile), seperti telepon pintar (Smartphone) dan Komputer Tablet
(PDA). Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti
bergerak. (Yulianto & Wijaya, 2014)
3.5. Alat Bantu Perancangan Unifed Modeling Language (UML)
UML (Unified Modellinng Language) adalah salah satu alat bantu yang
sangat handal di dunia pengembangan sistem yang berorentasi objek. Hal ini
disebabkan karena UML menyediakan bahasa permodelan visual yang
memungkinkan bagi pengembangan sistem untuk membuat cetak biru atas visi
mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan
mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan
rancangan mereka dengan yang lain.
UML merupakan kesatuan dari bahasa permodelan yang dikembangkan oleh
Booch, Object Modeling Technique (OMT) dan Object Oriented Software
Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan
nama metode Desgin Object Oriented. Metode ini menjadikan proses analisis dan
design ke dalam empat tahapan iteratife, yaitu: identifikasi kelas-kelas dan obyek-
obyek, identifikasi semantik dari hubungan obyek dan kelas tersebut, perincian
interface dan implementasi. Keunggulan metode Booch adalah pada detail dan
16
kayanya dengan notasi dan elemen. Permodelan OMT yang dikembangkan oleh
Rumbaugh didasarkan pada analisis terstruktur dan pemodelan entity-relationship.
Tahapan utama dalam metodologi ini adalah analisis, design sistem, design obyek
dan implementasi (Munawar, 2018).
Empat macam diagram yang paling sering digunakan dalam pembangunan
aplikasi berorientasi objek, yaitu use case diagram, sequence diagram, class
diagram, dan activity diagram (Munawar, 2018)
1. Use Case Diagram
Use Case Diagram digunakan untuk memodelkan bisnis proses berdasarkan
perspektif pengguna sistem. Use case adalah abstraksi dari interaksi antara system
dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user
sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah
system dipakai. Use casemerupakan konstruksi untuk mendeskripsikan bagaimana
system akan terlihat di mata user. Sedangkan Use Case Diagram memfasilitasi
komunikasi diantara analis dan pengguna (Munawar, 2018). Berikut adalah Simbol
Use Case Diagram seperti terlihat pada Tabel 3.1.
Tabel 3. 1. Simbol Use Case Diagram
Simbol Nama Keterangan
Actor
Menspesifikasikan
himpunan peran yang pengguna
mainkan ketika berinteraksi
dengan use case.
Use case
Deskripsi dari urutan
aksi-aksi yang ditampilkan
sistem yang menghasilkan suatu
hasil yang terukur bagi suatu
actor.
Dependency
Hubungan dimana
perubahan yang terjadi pada
suatu elemen mandiri
17
(independent) akan
mempengaruhi elemen yang
bergantung pada elemen yang
tidak mandiri (independent).
Generalization
Hubungan dimana objek
anak (descendent) berbagi
perilaku dan struktur data dari
objek yang ada diatasnya objek
induk (ancestor).
Include
Menspesifikasikan
bahwa use case sumber secara
eksplisit.
Extend
Menspesifikasikan
bahwa use casetarget
memperluas perilaku dari use
case sumber pada suatu titik
yang diberikan.
Asscociation
Apa yang
menghubungkan antara objek
satu dengan objek lainnya.
Decision
Digunakan untuk
menggambarkan suatu
keputusan / tindakan yang harus
diambil pada kondisi tertentu.
2. Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku
(operasi) dan relasi yang sama. Sehingga dengan adanya Class Diagram dapat
memberikan pandangan yang luas atas sebuah system. Hal tersebut tercermin dari
class-class yang ada dan relasinya satu dengan yang lainnya.Sebuah sistem
biasanya mempunyai beberapa Class Diagram. Class Diagram sangat membantu
18
dalam visualisasi struktur kelas dari suatu system (Munawar, 2018). Berikut adalah
Simbol Class Diagram seperti terlihat pada Tabel 3.2.
Tabel 3. 2. Simbol Class Diagram
Simbol Nama Keterangan
Association
Menghubungkan antara
objek satu dengan objek lainnya.
Aggregation
Upaya untuk meghindari
asosiasi dengan lebih dari 2 objek
Composite
Varian yang lebih kuat dari
“memiliki” atau hubungan
asosiasi; composite lebih spesifik
daripada agregasi.
Class
Himpunan dari objek-objek
yang berbagi atribut secara operasi
yang sama.
3. Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah
scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim
antar object juga interaksi antar object, sesuatu yang terjadi pada titik tertentu
dalam eksekusi sistem (Munawar, 2018). Berikut adalah Simbol Sequence Diagram
seperti terlihat pada Tabel 3.3.
19
Tabel 3. 3. Simbol Sequence Diagram
Simbol Nama Keterangan
Lifeline
Objek entity, antarmuka
yang saling berinteraksi.
Actor Digunakan untuk
menggambarkan user (pengguna).
Message()
Message
Spesifikasi dari
komunikasi antar objek yang
memuat informasi-informasi
tentang aktifitas yang terjadi.
Boundary
Digunakan untuk
menggambarkan sebuah form.
Control
Class
Digunakan untuk
menghubungkan boundary dengan
tabel.
Entity
Class
Digunakan untuk
menggambarkan hubungan
kegiatan yang akan dilakukan.
4. Activity Diagram
Menggambarkan rangkaian aliran dari aktifitas, digunakan untuk
mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat
juga digunakan untuk aktifitas lainnya seperti use case atau interaksi (Munawar,
2018). Berikut adalah Simbol Activity Diagram seperti terlihat pada Tabel 3.4.
20
Tabel 3.4 Simbol Activity Diagram
Simbol Nama Keterangan
Activity
Memperlihatkan bagaimana
masing-masing kelas antarmuka saling
berinteraksi satu sama lain.
Action
State dari sistem yang
mencerminkan eksekusi dari suatu
aksi.
Initial
Node
Bagaimana objek dibentuk atau
diawali.
Activity
Final Node
Bagaimana objek dibentuk dan
diakhiri.
Decision
Digunakan untuk
menggambarkan suatu tindakan yang
harus diambil pada kondisi tertentu.
Line
Connector
Digunakan untuk
menghubungkan satu simbol dengan
simbol lainnya.
3.6. Firebase
Firebase adalah BaaS (Backend as a Service) yang saat ini dimiliki oleh
Google. Firebase ini merupakan solusi yang ditawarkan oleh Google untuk
mempermudah pekerjaan Mobile Apps Developer. Dengan adanya Firebase, apps
developer bisa fokus mengembangkan aplikasi tanpa harus memberikan effort yang
besar untuk urusan backend (Firdaus , 2018). Google Firebase telah menyediakan
realtime database NoSQL dengan struktur data JSON (Java Script Notation) yang
21
dapat dengan mudah diakses melalui kode web di aplikasi hybrid . Selain realtime
database, ia juga menyediakan fitur autentikasi pengguna (menggunakan email dan
password), storage (sebagai ruang penyimpanan file) dan cloud messaging (dapat
digunakan untuk mengirim notifikasi). Google Firebase telah menghemat waktu
para pengembang ketika ingin mengembangkan aplikasi (Ilhami, 2017).
Firebase Database merupakan penyimpanan basis data nonSQL yang
memungkinan untuk menyimpan beberapa tipe data. Tipe data itu antara lain
String, Long, dan Boolean. Data pada Firebase Database disimpan sebagai objek
JSON tree. Tidak seperti basis data SQL, tidak ada tabel dan baris pada basis data
non-SQL. Ketika ada penambahan data, data tersebut akan menjadi node pada
struktur JSON. Node merupakaan simpul yang berisi data dan bisa memiliki
cabang-cabang berupa node lainnya yang berisi data pula. Proses pengisian suatu
data ke Firebase Database dikenal dengan istilah push. (Sandy, Januar , & Hariadi
, 2017)
Firebase adalah penyedia layanan realtime database dan backend sebagai
layanan. Suatu aplikasi yang memungkinkan pengembang membuat API untuk
disinkronisasikan untuk client yang berbeda-beda dan disimpan pada cloud-nya
Firebase. Firebase memiliki banyak library yang memungkinkan untuk
mengintegrasikan layanan ini dengan Android, Ios, Javacript, Java, Objective-C
dan Node.JS . Database Firebase juga bersifat bisa diakses lewat Rest Api. Rest Api
tersebut menggunakan protokol Server-Sent Event dengan membuat koneksi HTTP
untuk menerima push notification dari server. Pengembang menggunakan Rest Api
untuk post data yang selanjutnya Firebase client library yang sudah diterapkan pada
aplikasi yang dibangun yang akan mengambil data secara realtime. (Sonita &
Fardianitama, 2018)
3.7. Pengujian Sistem
Pengujian atau testing merupakan proses pengeksekusian program untuk
menemukan kesalahan-kesalahan yang terdapat di dalam sistem, kemudian
dilakukan pembenahan. Tahap ini merupakan tahap yang penting dalam
pengembangan sistem, karena pada tahap ini merupakan tahapan untuk memastikan
22
bahwa suatu sistem terbebas dari suatu kesalahan (Pressman, 2012). Dalam
melakukan pengujian sistem terdapat beberapa teknik pengujian sistem yaitu :
3.7.1. White Box Testing (Pengujian Kotak Putih)
Pengujian kotak putih, terkadang disebut juga pengujia kotak kaca (glass-
box-testing), merupakan sebuah filosofi perancangan test case yang menggunakan
struktur kontrol yang dijelaskan sebagai bagian dari perancangan peringkat
komponen untuk menghasilkan test case.
Dengan menggunakan metode prngujian kotak putih, anda dapat
memperoleh test case yang :
1. Menjamin bahwa semua jalur independen di dalam modul telah di eksekusi
sedikitnya satu kali.
2. Melaksanakan semua keputusan logis pada sisi benar dan yang salah.
3. Melaksanakan semua loop pada batas mereka da dalam batas-batas
operasional mereka.
4. Melakukan struktur data internal untuk memastikan kesahihannya
Salah satu teknik dalam pengujian White Box Testing adalah pengujian jalur
dasar (Basis Path Testing). Basis Path Testing diusulkan pertama kali oleh Tom
McCabe. Metode ini memungkinkan penguji dapat mengukur kompleksitas logis
dari desain prosedural dan menggunakannya sebagai pedoman untuk menetapkan
himpunan basis dari semua jalur eksekusi (Pressman, 2012).
Gambar 3. 1. Flow Graph Basis Path (Pressman, 2012)
23
a. Notas Grafik Alir
Grafik alir (flow graph) merupakan sebuah notasi sederhana untuk
mempresentasikan aliran kontrol logis suatu program (Pressman, 2012).
Gambar 3. 2. Notasi Grafik Alir (Pressman, 2012)
Dalam sebuah grafik alir, anak panah disebut sebagai sisi (edge, E)
mempresentasikan aliran kontrol, lingkaran disebut sebagai simpul (node, N)
mempresentasikan satu atau lebih aksi / pernuataan lojik.
Daerah yang dibatasi sisi dan simpul disebut area (Region, R), simpul yang
mengandung keputusan disebut sebagai predicate node, P yaitu simpul yang
mengeluarkan lebih dari satu sisi.
b. Cyclomatic Complexity
Cyclomatic Complexity merupakan matric perangkat lunak yang
menyediakan ukuran kuantitatif dari kompleksitas suatu program. Dalam konteks
metode pengujian jalur dasar, nilai yang dihitung untuk kompleksitas siklomatik
mendefinisikan jumlah alur independen dalam basis set suatu program dan
menyediakan batas atas untuk jumlah pengujian yang harus dilakukan guna
memastikan bahwa semua pernyataan telah di eksekusi minimal sekali (Pressman,
2012).
Cyclomatic Complexity dapat ditentukan dengan beberapa cara berikut:
1. Jumlah region grafik alir sesuai dengan Cyclomatic Complexity.
2. Cyclomatic Complexity V(G) untuk grafik alir dihitung dengan rumus :
V(G) = E – N + 2
Dimana :
E = jumlah edge pada grafik alir
N = jumlah node pada grafik alir
24
3. Cyclomatic Complexity V(G) juga dapat dihitung dengan rumus :
V(G) = P + 1
Dimana :
P = jumlah predikat node pada grafik alir
Pada gambar 3.4 dapat dihitung sebagai berikut :
a. Grafik aliran memiliki 4 region
b. V(G) = 11 edge – 9 node + 2 = 4
c. V(g) = 3 node predikat + 1 = 4
Angka 4 dari hasil perhitungan Cyclomatic Complexity menunjukkan
jumlah independent path dari basis path testing.
Independent path adalah setiap jalur yang melalui program yang
memperkenalkan setidaknya satu kumpulan pernyataan-pernyataan pemrosesan
atau suatu kondisi baru (Pressman, 2012).
Hasil independent path dari gambar 3.4 adalah sebagai berikut :
Path 1 : 1 – 11
Path 2 : 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11
Path 3 : 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11
Path 4 : 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11
3.7.2. Black Box Testing (Pengujian Kotak Hitam)
Menurut Pressman (2012), pengujian kotak hitam merupakan pendekatan
pelengkap yang dilakukan untuk mengungkap kelas kesalahan yang berbeda dari
yang diungkap oleh metode kotak putih. Pengujian kotak hitam berupaya untuk
menemukan kesalahan dalam kategori berikut :
1. Fungsi yang salah satu hilang.
2. Kesalahan antarmuka.
3. Kesalahan dan struktur data atau akses basis data eksternal.
4. Kesalahan perilaku atau kinerja.
25
Tidak seperti pengujian kotak putih, yang dilakukan pada awal proses
pengujian, pengujian kotak hitam cenderung diterapkan selama tahap – tahap
pengujian selanjutnya, karena pengujian kotak hitam sengaja menghasilkan struktur
kendali, perhatian difokuskan pada ranah informasi.