7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
2.1.1. Program
Menurut (Harumy, 2016) mengemukakan bahwa, “Program adalah formulasi sebuah algoritma dalam bentuk bahasa pemograman, sehingga siap untuk dijalankan pada mesin komputer”.
Menurut (Ropianto, 2018) mengemukakan bahwa, “Program adalah kumpulan atau runtunan intruksi untuk menyelesaikan suatu masalah tersebut”.
Berdasarkan definisi program tersebut, dapat disimpulkan bahwa program merupakan kumpulan intruksi atau perintah yang membentuk suatu algoritma yang ditulis dalam bahasa komputer atau dalam bentuk bahasa pemograman yang digunakan untuk menyelesaikan masalah.
2.1.2. Bahasa Pemograman
Menurut (Harumy, 2016) menyimpulkan bahwa, “Bahasa pemograman adalah bahasa buatan yang digunakan untuk mengendalikan perilaku dari sebuah mesin, biasanya berupa mesin komputer, sehingga dapat digunakan untuk memberitahu komputet tentang apa yang harus dilakukan”
Menurut (Ropianto, 2018) mengemukakan bahwa, “Bahasa komputer yang digunakan untuk menulis program yang dapat dimengerti computer, disebut dengan bahasa pemograman”.
1. Java
Java adalah suatu bahasa pemograman yang dapat membuat seluruh bentuk aplikasi, desktop, web, mobile dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemograman konvensional yang lain. Bahasa pemograman java ini berorientasi Object oriented programming (OOP), dan dapat dijalankan pada berbagai platform sistem operasi.
Bahasa pemograman java adalah perkembangan dari bahasa pemograman C++
yang dimana bahasa pemograman java jauh lebih dapat diandalkan sehingga java bisa membuat seluruh bentuk pemograman dari aplikasi desktop hingga aplikasi mobile, sehingga java sangat cocok digunakan sebagai bahasa pemograman untuk kalangan programmer yang menggunakannya.
2. Netbeans IDE
Netbeans adalah suatu aplikasi untuk membuat suatu program yang dimana bahasa pemograman yang dipakai adalah java, maupun bahasa pemograman yang lain dengan mudahnya penggunaan aplikasi netbeans ini maka programmer sering menggunakan aplikasi ini sebagai wadah untuk membuat berbagai macam program yang dimana netbeans IDE ini bersifat open source.
3. MySQL
SQL merupakan singkatan dari Structured Query Language. Menurut Enterprise (2017:166) Pengertian SQL yaitu “Bahasa pemrograman yang khusus digunakan untuk mengelola database dengan RDBMS”.
Sedangkan menurut Rusmawan (2019:97 menyatakan bahwa “MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (Database Management System) atau DBMS yang multhread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia”
2.1.3. Basis Data
Menurut (Sukamto & Shalahuddin, 2016:43). “Sistem basis data adalah system 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”.
2.1.4. Model Pengembangan Perangkat Lunak
Menurut (Sukamto dan M. Shalahuddin, 2016: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, pengodean, pengujian, dan tahap pendukung (support). Berikut adalah gambar model air terjun:
Sumber : Sukamto dan M. Shalahuddin (2016:29) Gambar II.1
Ilustrasi model waterfall
Tahapan-tahapan model pengembangan perangkat lunak menggunakan model waterfall terurut sebagai berikut:
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, representasi antarmuka, dan prosedur pengodean. 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 di dokumentasikan.
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 Tolls Program
2.2.1. ERD (Entity Relationship Diagram)
Menurut (Yanto, 2016) mengemukakan bahwa, “ERD adalah suatu diagram untuk menggambarkan desain konseptual dari model konseptual suatu basis data relasional. ERD juga merupakan gambaran yang merelasikan antara objek yang satu dengan objek yang lain dari objek di dunia nyata yang sering dikenal dengan hubungan antar entitas. Sebagai contoh jika membuat ERD dari sistem perpustakaan maka bahan sebagai ojek ERD bisa berupa anggota, buku, peminjaman, pegembalian dan sebagainya”.
ERD terdiri dari 3 komponen utama, yaitu : 1. Entitas (Entity)
Entitas adalah suatu objek di dunia nyata yang di bedakan dengan objek lainnya. Objek tersebut dapat berupa orang, benda ataupun hal lainnya.
Entitas digambarkan dalam bentuk persegi panjang. Entitas terbagi atas dua, yaitu :
a. Entitas Kuat (Strong Entity)
Enitas kuat adalah entitas yang dapat berdiri sendiri yang tidak bergantung pada entitas lainnya, entitas kuat memiliki atribut key dan entitas kuat digambarkan sebagai kotak persegi panjang bergaris tunggal.
Contoh entitas kuat adalah entitas pegawai.
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. Contoh entitas
lemah adalah entitas pegawai kontrak, pegawai tetap
2. Atribut (Attribute)
Atribut merupakan semua informasi yang berkaitan dengan entitas. Atribut sering dikenal dengan property dari suatu entitas atau objek. Atribut digambarkan dalam bentuk lingkaran elips. Macam-macam atribut:
a. Atribut Sederhana (Simple Attribute)
Atribut sederhana adalah atribut yang nilainya tidak dapat dibagi lagi menjadi banayak atribut yang lebih kecil. Contoh atribut sederhana adalah harga.
b. Atribut Komposit (Composite Attribute)
Atribut komposit adalah atribut gabungan yang nilainya dapat dipecah menjadi bagian yang lebih kecil. Atau sering disebut atribut yang terdiri dari beberapa atribut kecil didalamnya. Contoh atribut komposit adalah alamat.
c. Atribut Bernilai tunggal (single Values Attribute)
Atribut bernilai tunggal adalah jenis atribut yang nilainya hanya satu dari suatu entitas. Contoh atribut bernilai tunggal adalah tanggal_lahir dari enitas mahasiswa.
d. Atribut Bernilai Banyak (multivalues Attribute)
Atribut bernilai banyak adalah jenis atribut yang nilainya lebih dari satu dalam suatu entitas tertentu. Contoh atribut bernilai banyak adalah hobi dimungkinkan bahwa mahasiswa memiliki lebih dari dari satu hobi.
e. Atribut Turunan (Derived Attribute)
Atribut turunan adalah jenis atribut yang nilainya di peroleh dari atribut yang lain. Contoh atribut turunan adalah masa_bakti dari entitas pegawai.
Atribut masa_bakti akan muncul nilainya ketika atribut tanggal_masuk_kerja sudah ada niainya.
f. Atribut Identitas (Key Attribute)
Atribut identitas adalah atribut yang dijadikan sebagai kunci pada suatu table. Sifat atribut identitas ini unik, tidak ada yang menyamai, atribut identitas terdiri dari beberapa jenis yaitu:
1) Super Key
Super Key adalah satu atribut atau kumpulan atribut yang secara unik mengidentifikasi sebuah baris di dalam relasi atau himpunan dari satu atau lebih entitas yang dapat digunakan untuk mengidentifikasi secara unik sebuah entitas dalam set entitas.
2) Candidate Key
Candidate key adalah atribut yang menjadi determinan yang dapat dijadikan identitas baru pada sebuah relasi. Biasanya super key minimum.
3) Primary Key
Primary key adalah kandidat key yang dipilih untuk mengidentifikasi basis data secara unik dalam relasi.
4) Alternative Key
Alternative key adalah candidate key yang tidak terpilih sebagai
primary key atau atribut untuk menggantikan kunci utama.
5) Foreign Key
Foreign key adalah atribut dengan domain yang sama yang menjadi kunci utama sebuah relasi, tetapi pada relasi lain atribut tersebut sebagai atribut biasa.
6) Composite Key
Composite key adalah kunci yang terdiri dari dua atribut atau lebih.
Atribut-atribut tersebut jika berdiri sendiri tidak menjadi identitas baris, tetapi bila di rangkaikan menjadi satu kesatuan akan dapat mengidentifikasi secara unik.
3. Tipe Relasi
Gambar belah ketupat merupakan perlambangan relasi antar entitas atau sering di sebut kerelasian. Ada dua macam penggambaran relasi, yaitu relasi kuat dan relasi lemah. Relasi kuat adalah untuk menghubungkan antar entitas kuat sedangkan relasi lemah untuk menghubungkan antar entitas kuat dengan entitas lemah.
4. Derajat Kardinalitas
Derajat kardinalitas merupakan penjabaran dari hubungan antar entitas.
Derajat kardinalitas dibagi atas 3 bagian yaitu:
a. Derajat kardinalitas One to One
Derajat kardinalitas one to one terjadi jika satu entitas X hanya berelasi dengan satu entitas Y, ataupun sebaliknya. Sebagai contoh satu pegawai studi hanya memiliki satu pendamping.
b. Derajat kardinalitas One to Many
Derajat kardinalitas one to many terjadi jika satu entitas X berelasi dengan banyak entitas Y, ataupun sebaliknya. Sebagai contoh satu dosen mengampu banyak mahasiswa.
c. Derajat kardinalitas Many to Many
Derajat kardinalitas many to many terjadi jika banyak entitas X berelasi dengan banyak entitas Y, ataupun sebaliknya. Sebagai contoh banyak mahasiswa belajar banyak matakuliah.
2.2.2 LRS (Logical Record Structure)
Menurut (Simarmata, 2016) mengemukaka bahwa, “Logical Record Structured (LRS) adalah representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil relasi antar himpunan entitas”. Menentukan kardinalitas, jumlah tabel, dan ForeignKey (FK).
Berikut adalah cara membentuk skema database atau LRS (Logical Record Strutured) berdasarkan Entity Relationship Diagram:
1. Jika relasinya satu-ke-satu, maka foreign key diletakan pada salah satu dari dua entitas yang ada tau 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.
2.2.3 Pengkodean
Menurut (Mustakini, 2016:444), memberikan batasan bahwa “Struktur Pengkodean adalah Suatu susunan digit (angka), huruf dan karakter- karakter khusus yang dapat dirancang dalam bentuk kode”. Kode digunakan untuk mengklasifikasikan data, memasukkan data ke dalam komputer dan untuk mengambil bermacam-macam informasi yang berhubungan dengannya.
Tipe dari kode ada beberapa macam tipe dari kode yang dapat digunakan dalam system informasi, diantaranya adalah kode mnemonic (mnemonic code), kode urut (sequential code), kode group (group code) dan kode decimal (decimal code). Masing- masing tipe dari kode tersebut mempunyai kebaikan dan kelemahannya tersendiri.
Dalam praktek, tipe-tipe kode yang ada dapat dikombinasikan. Menurut (Mustakini, 2016:386).
1. Kode Mnemonik
Kode mnemonic (mnemonic code) digunakan untuk tujuan supaya mudah diingat. Kode mnemonik dibuat dengan dasar singkatan atau mengambil sebagian karkater dari item yang akan diwakili dengan kode ini.
2. Kode Urut
Kode urut (sequential code) disebut juga dengan kode seri (serial code) merupakan kode yang nilainya urut antara satu kode dengan kode berikutnya.
3. Kode Blok
Kode blok (block code) mengklasifikasikan item ke dalam kelompok blok tertentu yang mencerminkan satu klasifikasi tertentu atas dasar pemakaian maksimum yang diharapkan.
4. Kode Group
Kode group (group code) merupakan kode yang berdasarkan field-field dan tiap- tiap field kode mempunyai arti,
5. Kode Desimal
Kode decimal (decimal code) mengklasifikasikan kode atas dasar 10 unit angka desimal dimulai dari angka 0 sampai dengan angka 9 atau dari 00 sampai dengan 99 tergantung dari banyaknya kelompok.
2.2.4 HIPO (Hierarky Input Proses Output)
Menurut (Mustakini, 2016:787) “HIPO merupakan metodologi yang dikembangkan dan didukung oleh IBM. HIPO sebenarnya adalah alat dokumentasi program. Akan tetapi sekarang, HIPO juga banyak digunakan sebagai alat desain dan teknik dokumentasi dalam siklus pengembangan sistem. HIPO berbasis pada fungsi, yaitu tiap-tiap modul di dalam sistem digambarkan oleh fungsi utamanya”.
HIPO menggunakan tiga macam diagram untuk masing-masing tingkatannya menurut (Mustakini, 2016:788), yaitu sebagai berikut:
1. Visual Table Of Contents (VTOC)
Diagram ini menggambarkan hubungan dari fungsi-fungsi di sistem secara berjenjang.
2. Overview Diagrams
Overview diagrams menunjukan secara garis besar hubungan dari input, proses, dan output. Bagian input menunjukan item-item data yang akan digunakan oleh bagian proses. Bagian proses berisi sejumlah langkah-langkah yang menggambarkan kerja dan fungsi. Bagian output berisi dengan item-item data yang dihasilkan atau dimodifikasi oleh langkah-langkah proses.
3. Detail Diagrams
Detail diagrams merupakan diagram tingkatan yang paling rendah di diagram HIPO. Diagram ini berisi dengan elemen-elemen dasar dari paket yang menggambarkan secara rinci kerja dari fungsi.
2.2.5 Diagram Alir Program (Flowchart) 1. Pengertian Bagan Alir (flowchart)
“Bagan alir (flowchart) adalah bagan (chart) yang menunjukan alir (flow) di dalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi”. Menurut (Mustakini, 2016:795). Pada waktu akan menggambar suatu bagan alir, analisis sistem atau pemrogram dapan mengikuti pedoman-pedoman sebaagai berikut ini.
a. Bagan alir sebaiknya digambar dari atas ke bawah dan dimulai dari bagia kiri dari suatu halaman.
b. Kegiatan di dalam bagan alir harus ditunjukan dengan jelas.
c. Harus ditunjukan dari mana kegiatan akan dimulai dan dimana akan berakhir.
d. Masing masing kegiatan di dalam bagan alir sebaiknya digunakan suatu kata yang mewakili suatu pekerjaan, misalnya:
1) “Persiapkan” dokumen 2) “Hitung” gaji
e. Masing-masing kegiatan di dalam bagan alir harus di dalam urutan yang semestinya.
f. Kegiatan yang terpotong dan akan disambung ditempt lain harus ditunjukkan dengan jelas menggunakan symbol penghubung.
g. Gunakanlah symbol symbol-simbol bagan alir yang standar.
2. Bentuk Flowchart a. Program Flowchart
Menurut (Mustakini, 2016:802) mengemukakan bahwa “Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah- langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem”.
b. Sistem Flowchart
Menurut (Mustakini, 2016:796) mengemukakan bahwa “Bagan alir sistem (system flowchart) merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur- prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem”.
3. Tehnik Pembuatan
Menurut (Dewi, Ahmadi, & Suardika, 2015) pun teknik pembuatan program flowchart ini dibagi menjadi dua bagian yaitu sebagai berikut:
a. General Way
Teknik pembuatan flowchart dengan cara ini biasanya dipakai didalam menyusun logika suatu program, yang menggunakan pengulangan proses secara tidak langsung (Non-Direct-Loop).
b. Iteration Way
Teknik pembuatan flowchart dengan cara ini biasanya dipakai untuk logika program yang cepat serta bentuk permasalahan yang kompleks. Dimana pengulangan proses yang terjadi bersifat langsung (Direct-Loop).