5
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Sistem 2.1.1. Pengertian Sistem
Menurut Sidharta dalam Hutahean (2014:2) menjelaskan bahwa “Sistem adalah himpunan dari bagian-bagian yang saling berhubungan yang secara bersama mencapai tujuan-tujuan yang sama”.
sistem merupakan suatu jaringan kerja dari prosedur–prosedur yang saling berhubungan, berkumpul bersama–sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu”. Sedangkan menurut Sukamto dan M.Shalahuddin (2013:2) mengemukakan bahwa “Sistem berarti kumpulan komponen yang saling terkait dan mempunyai satu tujuan yang ingin dicapai”.
dan menurut Davis dalam Ladjamudin (2013:3) Mendefinisikan bahwa sistem sebagai bagian-bagian yang saling berkaitan yang beroperasi bersama untuk mencapai beberapa sasaran atau maksud
Menurut Ladjamudin (2013:6) menjelaskan bahwa “Sistem dapat diklasifikasikan kedalam beberapa sudut pandang. Seperti contoh sistem yang bersifat abstrak, sistem alamiah, sistem yang bersifat deterministic dan sistem yang bersifat terbuka dan tertutup”. Untuk lebih detail dan rinci penjelasan akan dipaparkan dibawah ini.
a. Sistem diklasifikasikan sebagai sistem abstrak dan sistem fisik. Sistem abstrak adalah sistem yang berupa pemikiran atau ide-ide yang tidak nampak secara fisik. Misalnya sistem teologi, yaitu sistem yang berupa pemikiran-pemikiran
hubungan antara manusia dengan Tuhan. Sistem fisik merupakan sistem yang ada secara fisik. Misalnya sistem komputer, sistem operasi, sistem penjualan, dan lain sebagainya.
b. Sistem diklasifikasikan sebagai sistem alamiah dan sistem buatan manusia.
Sistem alamiah adalah sistem yang terjadi karena proses alam tidak dibuat oleh manusia (ditentukan dan tunduk kepada kehendak sang pencipta alam).
Misalnya sistem perputaran bumi, sistem pergantian siang dengan malam, sistem kehidupan umat manusia. Sistem buatan manusia adalah sistem yang dirancang oleh manusia. Sistem buatan manusia yang melibatkan interaksi manusia dengan mesin disebut dengan human-machine sistem atau ada yang menyebut dengan machine system.Sistem informasi merupakan contoh man- machine system.Karena menyangkut penggunaan komputer yang berinteraksi dengan manusia.
c. Sistem diklasifikasikan sebagai sistem tertentu (deterministic system) dan sistem tak tentu (probabilistic system). Sistem tertentu beroperasi dengan tingkah laku yang sudah dapat diprediksi. Interaksi diantara bagian-bagiannya dapat dideteksi dengan pasti, sehingga keluaran dari sistem dapat diramalkan.
Sistem tertentu relatif stabil/konstan dalam jangka waktu yang lama. Sistem komputer adalah contoh dari sistem tertentu yang tingkah lakunya dapat dipastikan berdasarkan program yang dijalankan. Sehingga dapat dikatakan sistem yang deterministik adalah sistem yang tidak pernah dan menganut prinsip demokrasi (suara terbanyak adalah suara tuhan), karena dalam sistem komputer misalnya seberapa banyaknya data yang salah yang dimasukan (menjadi input), maka hasilnya tetap akan salah, sebaliknya satu saja data yang
benar dimasukan (menjadi input) diantara sekian juta data yang salah, maka hasilnya satu data tersebut akan menjadi benar. Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas. Sistem sosial, sistem politik, dan sistem demokrasi merupakan sistem yang probabilistik/tak tentu, dalam sistem politik kondisi masa depannya tidak bisa diprediksi bahkan dalam waktu beberapa jam saja sudah berubah, kawan menjadi lawan dan lawan yang selalu dihujat berubah menjadi kawan dan didukung habis-habisan.
d. Sistem diklasifikasikan sebagai sistem tertutup dan sistem terbuka. Sistem tertutup merupakan sistem yang tidak berhubungan dengan lingkungan luarnya. Sistem ini bekerja secara otomatis tanpa adanya turut campur tangan dari pihak luarnya. Secara teoritis sistem tertutup ini ada, tetapi kenyataannya tidak ada sistem yang benar-benar tertutup, yang ada hanya relatively closed system (secara relatif tertutup, tidak benar-benar tertutup). Sistem terbuka adalah sistem yang berhubungan dan terpengaruh dengan lingkungan luarnya.
Sistem ini menerima masukan dan menghasilkan keluaran untuk lingkungan luar atau subsistem yang lain. Karena sistem sifatnya terbuka dan terpengaruh lingkungan luarnya, maka suatu sistem harus mempunyai suatu pengendalian yang baik. Sistem yang baik harus dirancang sedemikian rupa, sehingga secara relatif tertutup karena sistem tertutup akan bekerja secara otomatis dan terbuka hanya untuk pengaruh yang baik saja.
Agar informasi yang dihasilkan lebih berkualitas, maka informasi harus memenuhi ciri-ciri menurut Tata Sutabri dalam Tabrani (2014:34), adalah:
1. Akurat
Informasi harus mencerminkan keadaan yang sebenarnya. Pengujian terhadap hal ini biasanya dilakukan melalui pengujian yang dilakukan oleh dua orang atau lebih yang berbeda dan apabila hasil pengujian tersebut menghasilkan hasil yang sama maka dianggap data tersebut akurat.
2. Tepat Waktu
Informasi harus tersedia atau ada pada saat informasi tersebut diperlukan, tidak besok atau tidak beberapa jam lagi.
3. Relevan
Informasi yang diberikan harus sesuai dengan yang dibutuhkan. Jika kebutuhan informasi ini untuk suatu organisasi maka informasi tersebut harus sesuai dengan kebutuhan informasi di berbagai tingkatan atau bagian yang ada dalam organisasi tersebut.
2.1.2. Program
Menurut Harumy (2016:4) menyatakan bahwa “Program adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman. Sehingga siap untuk dijalankan pada mesin komputer”.
bahasa pemrograman merupakan bahasa buatan yang digunakan untuk mengendalikan perilaku dari sebuah mesin, biasanya berupa mesin komputer, sehingga dapat digunakan untuk memberitahu komputer tentang apa yang harus dilakukan
2.1.3. Bahasa Pemrograman Java
Menurut Utomo (2013:2) menyatakan bahwa ”Java merupakan bahasa pemrograman berorientasi objek yang sintaknya mengikuti bentuk bahasa C dan C++ sehingga bagi para programmer bahasa C tidak akan kesulitan ketika akan bermigrasi ke bahasa Java karena sintaknya hampir sama”.
Beberapa elemen yang ada pada bahasa Java antara lain:
1. Java mendukung adanya komentar untuk baris tunggal atau lebih untuk keperluan dokumentasi kode sumber (untuk lebih memudahkan memahami kode program dengan memberikan penjelasan/keterangan).
2. Bahasa Java juga menyediakan perintah if, switch, while, for serta perintah seperti try, catch, class yang ditemukan pada bahasa C++.
3. Bahasa Java juga mendukung adanya tipe data yang bersifat karakter, integer dan tipe lainnya.
4. Bahasa Java juga mendukung operator yang sama seperti yang digunakan pada bahasa C, seperti operator aritmatik (+, -, *, /) juga operator kondisional seperti „?‟.
5. Bahasa Java menggunakan karakter blace, yaitu { dan } untuk membatasi pernyataan pada blok tertentu. Karakter tersebut juga ada di bahasa C
2.1.4. Basis Data
Menurut Yanto (2016:10) mengemukakan bahwa :
Basis data terdiri dari dua kata yaitu basis dan data. Basis dapat diartikan sebagai markas, gudang, tempat berkumpul. Sedangkan data adalah fakta yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, keadaan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.
Sebagai satu kesatuan istilah, Basis Data (Database) sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti:
1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu untuk memenuhi berbagai kebutuhan.
3. Kumpulan file atau tabel atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis
Dengan menerapkan basis data user mendapat keuntungan sebagai berikut:
1. Pengendalian terhadap data terpusat.
2. Redundansi data dapat dikurangi, 3. Terciptanya data yang konsisten.
4. Data dapat dipakai bersama.
5. Dapat dilakukan pembatasan keamanan data.
6. Integritas data dapat dipelihara.
7. Independensi data.
Sedangkan kerugian menggunakan basis data sebagai berikut:
1. Biaya yang dibutuhkan sangat mahal dikarenakan membutuhkan hardware, software, dan brainware,yang berkualitas.
2. Bersifat kompleks dalam penggunaan hardware yang berkapasitas besar sehingga dibutuhkan tingkat keahlian yang tinggi
2.1.5. Model Pengembangan Perankat Lunak
Menurut Sukamto dan M. Shalahuddin (2013:28) menjelaskan bahwa
“Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (squentiallinear) atau alur hidup klasik (classiclifecycle)”.
Berikut adalah gambar model air terjun (waterfall).”.
Sistem / Rekayasa Informasi
Analisa Desain Pengkodean Pengujian
Sumber: Sukamto dan Shalahuddin (2013:29) Gambar II.1 Ilustrasi Model Waterfall A. Analisis
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.
B. 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 pengkodean. 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 ini juga perlu didokumentasikan.
C. Pembuatan Kode Program
Desain harus terjemahkan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah.
D. Pengujian
Pengujian fokus pada perangkat lunak secara segi logic 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.
E. Pemeliharaan (Maintenance)
Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika salah dikirim 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 tahap analisis spesifikasi untuk perubahan perangkat lunak baru.
Keuntungan menggunakan metode waterfall adalah prosesnya lebih terstruktur, hal ini membuat kualitas softwarebaik dan tetap terjaga. Dari sisi userjuga lebih menguntungkan, karena dapat merencanakan dan menyiapkan kebutuhan data dan proses yang diperlukan sejak awal. Penjadwalan juga menjadi lebih menentu, karena jadwal setiap proses dapat ditentukan secara pasti. Sehingga dapat dilihat jelas target penyelesaian pengembangan program.
Dengan adanya urutan yang pasti, dapat dilihat pula perkembangan untuk
setiap tahap secara pasti. Dari sisi lain, model ini merupakan jenis model yang bersifat dokumen lengkap sehingga proses pemeliharaan dapat dilakukan dengan mudah.
Kelemahan menggunakan metode waterfall adalah bersifat kaku, sehingga sulit melakukan perubahan di tengah proses. Jika terdapat kekurangan proses/prosedur dari tahap sebelumnya, maka tahapan pengembangan harus dilakukan mulai dari awal lagi. Hal ini akan memakan waktu yang lebih lama.
Karena jika proses sebelumnya belum selesai sampai akhir, maka proses selanjutnya juga tidak dapat berjalan. Oleh karena itu, jika terdapat kekurangan dalam permintaan usermaka proses pengembangan harus dimulai kembali dari awal. Karena itu, dapat dikatakan proses pengembangan software dengan metode waterfall bersifat lambat.
2.2. Teori Pendukung
2.2.1. Entity Relationship Diagram
Entity Relation Diagram (ERD) atau yang dikenal juga dengan Diagram Entity-Relationship (Diagram E-R) merupakan suatu model yang menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
Menurut Fathansyah (2015:81) mengemukakan bahwa:
Model Entity-Relationship yang berisi komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang mempresentasikan seluruh fakta dari „dunia nyata‟
yang kita tinjau, dapat digambarkan dengan lebih sistematis dengan menggunakan DIagram Entity-Relationship (Diagram E-R).
Notasi-notasi simbolik di dalam Entity Relation Diagram yang dapat digunakan adalah:
1. Entitas
Digambarkan dengan kotak persegi panjang dan digunakan untuk menunjukkan sekumpulan orang, tempat, objek atau konsep dan sebagainya yang menunjukkan dimana data dicatat atau disimpan.
2. Hubungan atau Relasi
Digambarkan dengan kotak berbentuk diamond atau belah ketupat dengan garis yang menghubungkan ke entitas yang terkait. Maka relationship diberi nama dengan kata kerja. Hubungan atau relasi menunjukkan abstraksi dari sekumpulan hubungan yang mengaitkan antara entitas yang berbeda.
3. Atribut
Digambarkan dengan bentuk elips. Atribut menunjukkan karakteristik dari tiap entitas atau sesuatu yang menjelaskan entitas atau hubungan. Sehingga atribut dikatakan elemn dari entitas dan relasi. Dari setiap atribut entitas terdapat satu atribut yang dijadikan sebagai kunci (key). Beberapa jeni kunci tersebut antara lain : Primary key, Candidate key, Composite key, Secondary key, Alternate key dan Foreign key.
4. Tingkat Hubungan (Cardinality)
Entity Relation Diagram (ERD) juga menunjukkan tingkat hubungan yang terjadi, dilihat dari segi kejadian atau banyak tiidaknya hubungan antara entitas tersebut, diantaranya ada tiga kemungkinan hubungan yang ada, yaitu:
a. Satu ke satu (one to one (1:1))
Tingkat hubungan dinyatakan satu ke satu jika suatu kejadian pada entitas pertama hanya mempunyai satu hubungan dengan satu kejadian maupun satu hubungan dengan satu kejadian pada entitas kedua. Demikian juga sebaliknya, satu kejadian pada entitas yang kedua hanya bisa mempunyai satu hubungann dengan satu kejadian pada entitas yang pertama.
b. Satu ke banyak (one to many (1:M))
Tingkat hubungan satu ke banyak (1:M) adalah sama dengan banyak ke satu (M:1), tergantung dari arah mana hubungan-hubungan tersebut dilihat.
Untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian yang kedua, sebaliknya banyak kejadian pada entitas yang kedua hanya bisa mempunyai satu hubungan dengan satu kejadian pada entitas yang pertama.
c. Banyak ke banyak (many to many (M:N))
Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian pada sebuah entitas akan mempunyai hubungan dengan kejadian pada entitas lainnya, baik dilihat dari entitas yang pertama maupun dilihat dari entitas yang kedua.
2.2.2. Logical Record Structure (LRS)
Menurut Kusrini dalam Abdussomad. dkk (2016:115) mengutarakan bahwa
“Model relasional adalah kumpulan tabel-tabel untuk merepresentasikan data dan relasi antar data – data tersebut”.
Menurut Wulandari dalam Cahyani dan Nurmalasari (2016:69) mengemukakan Bahwa "Logical Record Structure (LRS) dibentuk dengan nomor tipe record”.
Logical Relationals Structures (LRS) dibentuk dengan nomor tipe record.
Beberapa tipe record digambarkan oleh kotak empat persegi panjang dan dengan nama yang unik.
Beberapa tipe record digambarkan oleh kotak persegi panjang dan dengan nama yang unik. Berikut tahapan transformasi ERD ke LRS :
1. Konversi ERD ke LRS, Entity Relationship Diagram harus diubah ke bentuk LRS (struktur record secara logic). Dari bentuk LRS inilah yang nantinya dapat ditransformasikan ke bentuk relasi tabel.
2. Konversi ERD ke LRS sebuah model sistem yang digambarkan dengan sebuah model sistem yang digambarkan dengan sebuah ERD akan mengikuti pola pemodelan tertentu. Dalam kaitannya dengan konversi ke LRS
2.2.3. UML (Unifield Modeling Language)
Menurut Martin Fowler dalam Syukron dan Noor Hasan (2015:30) mengutarakan bahwa Unifield Modelling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun dengan menggunakan pemrograman berorientasi objek (oop).
Sedangkan menurut Nugroho dalam Abdussomad. dkk (2016:114) menyimpulkan bahwa “UML (Unified Modeling Language) adalah bahasa
pemodelan dalam sistem atau perangkat lunak yang berparadigma berorientasi objek”
Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi dan mengkomunikaskan rancangan mereka dengan yang lain
A. Use Case Diagram
Menurut Alan Dennis dalam Abdussomad (2016:114) “Use Case Diagram adalah diagram fungsional dalam arti bahwa mereka menggambarkan fungsi dasar dari suatu sistem, yaitu apa yang dapat dilakukan pengguna dan bagaimana sistem harus menanggapi tindakan pengguna
B. Activity Diagram
Activity Diagram digunakan untuk model perilaku dalam independen proses bisnis Suatu objek. Dalam banyak hal, Activity Diagram dapat dipandang sebagai diagram aliran data yang canggih yang dapat digunakan dalam hubungannya dengan analisis terstruktur.
C. Class diagram
Class diagram menggambarkan jenis objek dalam sistem dan berbagai jenis hubungan statis yang ada di antara mereka.Class diagram juga menunjukkan sifat-sifat dan operasi dari sebuah kelas dan kendala yang erlaku untuk cara objek yang terhubung.
D. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di
sekitar system (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah - langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu.
Dalam membangun sebuah diagram tentu tidak terlepas dari tahapan-tahapan yang harus dipahami. Berikut tahapan-tahapan dalam membangun sequence diagram yang harus dipahami menurut Hunt (2013:130):
a. Mengidentifikasi semua class yang terlibat dalam urutan tertentu
b. Menentukan garis penghubung/relasi dari objek, yaitu saat objek dibuat dan kapan objek dihentikan.
c. Mengidentifikasi kejadian pada tahap pertama.
d. Menentukan massages, untuk menggambarkan maksud massage dan input apa pun yang sedang dikirim.
e. Mengidentifikasi focus control pada objek.
f. Mengidentifikasi pesan yang dikembalikan (nilai yang dikembalikan) Mengidentifikasi penyimpangan atau kesalahan pada urutan diagram