bab ii landasanteori · manajemen basis data sql (database management system) atau dbms dari sekian...
TRANSCRIPT
BAB II
LANDASANTEORI
2.1. Konsep Dasar Program
Menurut Harumy, dkk. (2016:4) mengungkapkan bahwa “Program adalah formulasi
sebuah algoritma dalam bentuk bahasa pemrograman, sehingga siap untuk dijalankan pada mesin
komputer.” Secara umum pengertian program adalah himpunan atau kumpulan instruksi tertulis
yang dibuat oleh programmer atau suatu bagian executable dari suatu software. Pemrograman
sering dikatakan sebagai seni dalam menggunakan satu atau lebih algoritma yang saling
berhubungan dengan menggunakan bahasa pemrograman tertentu sehingga menjadi sebuah
program komputer.
Menciptakan program yang efisien, simpel, mudah dipahami dan tersusun berdasarkan
algoritma yang sederhana tentu menjadi pilihan bagi setiap programmer, biasanya gaya
pemrograman ini diklasifikasikan kedalam gaya pemrograman terstruktur. Pemrograman
terstruktur diidentifikasikan sebagai paradigma pemrograman yang berpedoman terhadap gaya
pemrograman yang memperhatikan urutan langkah-langkah perintah secara sistematis dengan
proses pemecahan masalah besar menjadi masalah yang lebih kecil dan seterusnya.
Pemrograman Terstruktur merupakan suatu tindakan untuk membuat program
yang berisi instruksi-instruksi dalam bahasa komputer yang disusun secara logis dan
sistematis agar mudah dimengerti, mudah dites, dan mudah dimodifikasi.
Pemrograman Terstruktur adalah bahasa pemrograman yang mendukung pembuatan
program sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil
dari manapun dalam program dan dapat mengunakan parameter yang berbeda-beda untuk setiap 7
pemanggilan. Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi
data, pengkodean terstruktur dan kontrol program terstruktur.
2.1.1. Pengertian Bahasa Pemrograman
Menurut Munir (2011:13) menyimpulkan bahwa “Bahasa pemrograman adalah bahasa
komputer yang digunakan dalam menulis program.” Untuk itu, bahasa pemrograman dibagi
menjadi 4 (empat) tingkatan yaitu:
1. Bahasa Mesin (Machine Language)
Bahasa pemrograman yang hanya dapat dimengerti oleh mesin komputer yang didalamnya
terdapat Central Processing Unit (CPU) yang hanya mengenal dua keadaan yang berlawanan,
yaitu:
a. Bila terjadi kontak atau ada arus bernilai 1.
b. Bila tidak terjadi kontak atau arus bernilai 0.
2. Bahasa Tingkat Rendah (Low Level Language)
Karena banyak keterbatasan yang dimiliki bahasa mesin maka dibuatlah simbol yang mudah
diingat yang disebut dengan mnemonic (pembantu untuk mengingat) untuk mempermudah
penulisan bahasa pemrograman. Contohnya seperti Bahasa Assembler yang dapat
menerjemahkan mnemonic.
3. Bahasa Tingkat Menengah (Middle Level Language)
Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan
pernyataannya, mudah untuk dipahami, dan memiliki instruksi-instruksi tertentu yang dapat
langsung diakses oleh komputer.
Contoh: Bahasa C.
4. Bahasa Tingkat Tinggi (High Level Language)
Bahasa pemrograman yang dalam penulisan pernyataannya mudah dipahami secara langsung.
a. Bahasa Berorientasi pada Prosedur (Procedure Oriented Language) Contoh: Algoritma,
Fortran, Pascal, Basic, Cobol.
b. Bahasa Berorientasi pada Masalah (Problem Oriented Language) Contoh: Report
Program Generator (RPG).
2.1.2. Database (Basis Data)
Menurut Yuhefizard (2008:2) menjelaskan bahwa “Database diartikan sebuah koleksi
atau kumpulan data yang saling berhubungan (relation), disusun menurut aturan tertentu secara
logis, sehingga menghasilkan informasi”. Secara prinsip, dalam suatu database tercakup dua
komponen penting, yaitu data dan informasi. Data adalah fakta, baik berupa sebuah objek, orang
dan lain-lain yang dapat dinyatakan dengan suatu nilai tertentu (angka, simbol, karakter tertentu).
Sedangkan informasi adalah data yang telah diolah sehingga bernilai guna dan dapat dijadikan
bahan dalam pengambil keputusan.
Relational Database Management System (RDBMS) adalah program yang melayani
sistem basis data yang entitas utamanya terdiri dari tabel-tabel yang mempunyai relasi dari satu
tabel ke tabel yang lain. Salah satu jenis Relational Database Management System (RDBMS)
yang didistribusikan secara gratis dibawah lisensi GPL (General Public License) adalah MySQL.
MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama,
yaitu SQL (Structured Query Language). SQL merupakan sebuah konsep pengoperasian
database, terutama untuk pemilihan atau seleksi dan pemasukan data yang memungkinkan
pengoperasian data dikerjakan dengan mudah secara otomatis. Contoh MySQL adalah
APACHE, XAMPP, Wamp Server.
Pada dasarnya, penggunaan data pada MySQL dilakukan atas dukungan PHPMyAdmin
yang berperan sebagai administrator MySQL melalui browser (web).
1. MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (database
management system) atau DBMS yang multi thread, dan multi-user. MySQL dimiliki dan
disponsori oleh sebuah perusahaan komersial Swedia MySQL AB yang memegang hak cipta
hampir atas semua kode sumbernya. Menurut Anhar (2010:21) mengatakan bahwa
“MySQL (My Structured Query Language) adalah sebuah perangkat lunak sistem
manajemen basis data SQL (Database Management System) atau DBMS dari sekian banyak
DBMS, seperti Oracle, MS SQL, Postagre SQL, dan lain-lain.”
Beberapa kelebihan MySQL, antara lain:
a. MySQL dapat berjalan dengan stabil pada berbagai sistem operasi, seperti Windows,
Linux, FreeBSD, Mac Os X Server, Solaris, dan masih banyak lagi.
b. Bersifat Open Source, MySQL didistribusikan secara open source (gratis), dibawah
lisensi General Public Licence (GPL).
c. Bersifat Multiuser, MySQL dapat digunakan oleh beberapa user dalam waktu yang
bersamaan tanpa mengalami masalah.
d. MySQL memiliki kecepatan yang baik dalam menangani query (perintah SQL). Dengan
kata lain dapat memproses lebih banyak SQL persatuan waktu.
e. Dari segi security atau keamanan data, MySQL memiliki beberapa lapisan sekuriti,
seperti level subnet mask, nama host, dan izin akses user dengan sistem perizinan yang
mendetail serta password yang dienkripsikan secara sistematis.
f. Selain MySQL bersifat fleksibel dengan berbagai pemograman, MySQL juga memiliki
interface (antar muka) terhadap berbagai aplikasi dan bahasa pemograman dengan
menggunakan fungsi API (Application Programming Interface).
g. Dukungan banyak komunitas, biasanya tergabung dalam sebuah forum untuk saling
berdiskusi membagi informasi tentang MySQL.
2. PHPMyAdmin
PHPMyAdmin adalah sebuah aplikasi atau perangkat lunak bebas (opensource) yang ditulis
dalam bahasa pemrograman PHP yang digunakan untuk menangani administrasi database
MySQL melalui jaringan lokal maupun internet.
Menurut Rahman (2013:21) menyatakan bahwa “PHPMyAdmin adalah software
berbasis pemograman PHP yang dipergunakan sebagai administrator MySQL melalui
browser (web) yang digunakan untuk management database.”
PHPMyAdmin juga mendukung berbagai operasi MySQL, diantaranya mengelola basis data,
tabel-tabel, bidang (fields), relasi (relations), pengguna (users), perijinan (permissions), dan
lain-lain.
2.1.3. XAMPP
Berkenaan dengan pengertian Xampp, Wicaksono menyimpulkan bahwa:
XAMPP adalah sebuah sofware yang berfungsi untuk menjalankan website berbasis
PHP dan menggunakan pengolah data MySQL. XAMPP berperan sebagai server web
pada sebuah jaringan komputer. XAMPP juga dapat disebut sebuah CPanel server
virtual, yang dapat membantu setiap penggunanya melakukan preview sehingga dapat
memodifikasi website tanpa harus online atau terakses dengan internet. (Wicaksono,
2008:7).
2.1.4. Pengertian Akuntansi
Menurut Soemarso (2009:14) mengatakan bahwa “Akuntansi (accounting) suatu
disiplin yang menyediakan informasi penting sehingga memungkinkan adanya pelaksanaan dan
penilaian jalannya perusahaan secara efisien”. Pada dasarnya, proses akuntansi meliputi
pencatatan, pengklasifikasian, meringkas dan mengolah data keuangan sehingga dapat digunakan
oleh orang yang menggunakannya dengan mudah dimengerti dan dapat dijadikan sebagai tolak
ukur dalam pengambilan keputusan dan tujuan lainnya.
Fungsi utama akuntansi adalah sebagai informasi keuangan suatu organisasi. Dari
laporan akuntansi pihak-pihak yang memanfaatkan laporan akuntansi akan dapat melihat posisi
keuangan beserta perubahan yang terjadi didalamnya untuk membantu pengambilan keputusan
suatu organisasi.
2.1.5. Pengertian Gaji
Menurut Mardi (2011:107) “Gaji adalah sebuah bentuk pembayaran atau sebuah hak
yang diberikan oleh sebuah perusahaan atau instansi kepada pegawai tetap.” Istilah lain dari gaji
adalah honor dan upah. Gaji, honor ataupun upah dapat diterima pegawai di lingkungan kantor
atau tempat kerja milik negara atau tempat swasta.
2.1.6. Pengertian Sistem
Menurut Susanto (2013:22) bahwa “Sistem adalah kumpulan atau group dari
subsistem atau bagian atau komponen apapun baik phisik ataupun non phisik yang saling
berhubungan satu sama lain dan bekerja sama secara harmonis untuk mencapai satu tujuan
tertentu”.
Menurut Mustakini (2009:34) bahwa “Sistem dapat didefinisikan dengan pendekatan
prosedur dan dengan pendekatan komponen“.
Berdasarkan kutipan dari para ahli yang menyimpulkan definisi sistem, maka dapat
disimpulkan bahwa substansi dari sistem adalah sebuah pendekatan terstruktur untuk mencapai
suatu tujuan yang telah diorganisir.
2.1.7. Pengertian Sistem Penggajian Terkomputerisasi
Menurut Mardi (2011:113) “Sistem penggajian terkomputerisasi adalah sistem
pengolahan gaji yang dilakukan dengan bantuan fasilitas perangkat lunak atau program yang
telah didesain untuk keperluan pengelolaan sistem penggajian dan upah di perusahaan.”
2.1.8. Pengertian Informasi
Menurut Mulyanto (2010:12) bahwa “Data yang diolah menjadi bentuk yang lebih
berguna dan lebih berarti bagi yang menerimanya, sedangkan data merupakan sumber informasi
yang menggambarkan suatu kejadian yang nyata”. Informasi juga dapat didefinisikan sebagai
hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebih berarti bagi
penerimanya yang menggambarkan suatu kejadian-kejadian (event) yang nyata (fact) yang
digunakan untuk pengambilan keputusan.
2.1.9. Pengertian Sistem Informasi
Sistem informasi merupakan suatu sistem didalam suatu organisasi yang terdiri dari
orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian yang ditujukan
untuk mendapatkan jalur komunikasi penting dan memberi sinyal kepada manajemen terhadap
kejadian-kejadian internal maupun eksternal.
Menurut Zakiyudin (2012:13) “Sistem informasi adalah suatu sistem yang ada di dalam
suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung
operasi yang bersifat manajerial dan kegiatan strategi dari suatu organisasi dan pihak luar
tertentu dengan laporan yang diperlukan”. Dari kutipan tersebut dapat disimpulkan bahwa sistem
merupakan suatu cara dalam mencapai tujuan yang diharapkan oleh setiap instansi maupun
organisasi.
2.1.10. Pengertian Sistem Informasi Akuntansi
Menurut Soemarso (2009:14) bahwa “Akuntansi (accounting) suatu disiplin yang
menyediakan informasi penting sehingga memungkinkan adanya pelaksanaan dan penilaian
jalannya perusahaan secara efisien”. Akuntansi juga sering disebut sebagai “bahasanya dunia
usaha” karena akuntansi akan menghasilkan informasi yang berguna bagi pihak-pihak yang
menyelanggarakannya dan pihak luar untuk mengambil keputusan.
2.2. Peralatan Pendukung (Tools Program)
Dalam merancang sebuah sistem diperlukan suatu peralatan yang dapat mendukung
terciptanya sebuah rancangan. Peralatan pendukung (Tools System) merupakan alat yang
digunakan untuk menggambarkan bentuk logika model dari suatu sistem dengan menggunakan
simbol, lambang, diagram yang menunjukan secara tepat arti fisiknya.
Menurut Sutabri (2012:115) bahwa:
Sistem analis dapat mendesain model dari sistem informasi yang diusulkan dalam
bentuk logical model. Media tools sistem merupakan alat yang dapat digunakan untuk
menggambarkan bentuk logical model dari suatu sistem, dimana simbol-simbol,
lambang-lambang dan diagram-diagram menunjukan secara tepat arti fisiknya.
Tools system yang dimaksud untuk merancang model sistem yang baru contohnya
seperti Unified Modeling Leanguage (UML). Proses simulasi sistem dilakukan sebagai upaya
untuk menerapkan model sistem yang baru dengan menggunakan program aplikasi sebagai
komponen sistem secara terkomputerisasi, maka perlu kiranya menggunakan bahasa
pemrograman java dalam proses pengembangan aplikasi Desktop yang dapat berjalan di berbagai
macam platforms seperti Windows, Linux, Mac OS X dan Solaris dengan aplikasi Netbeans.
1. Sekilas Tentang Java
Java adalah bahasa pemrograman tingkat tinggi dan tersusun dari bagian yang disebut kelas.
Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi
setelah melakukan tugasnya.
Menurut Supardi (2007:1) “Java merupakan perangkat lunak yang cepat populer karena
perangkat ini dapat berjalan di berbagai platform, mudah dipelajari dan powerful. Aplikasi
yang dapat dibuat dengan perangkat lunak ini adalah aplikasi berbasis PC. berbasis web, dan
selular.”
2. Sekilas Tentang Netbeans
NetBeans adalah Integrated Development Environment (IDE) berbasiskan Java dari Sun
Microsystems yang berjalan di atas Swing. Swing merupakan sebuah teknologi Java untuk
pengembangan aplikasi Desktop yang dapat bejalan di berbagai macam platforms seperti
Windows, Linux, Mac OS X and Solaris. Netbeans merupakan software development yang
Open Source, dengan kata lain software ini di bawah pengembangan bersama, bebas biaya.
2.2.1. Unified Modelling Language (UML)
1. Use case Diagram
Menurut Sukamto dan Shalahudin (2016:155) “use case atau diagram use case merupakan
pemodelan untuk kelakuan (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 casedigunakan untuk mengetahui fungsi apa saja yang ada di
dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu.
2. Activity Diagram
Sukamto dan Shalahudin (2016 : 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 bahwa diagram
aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas
yang dapat dilakukan oleh sistem.
2.2.2. Entity Relationship Diagram (ERD)
Menurut Kusrini dan Koniyo (2007:99) menyimpulkan bahwa:
ERD merupakan notasi grafis dalam pemodelan data konseptual yang mendeskripsikan
hubungan antar penyimpangan. ERD digunakan untuk memodelkan struktur data dan
hubungan antar data, karena hal ini relatif kompleks. Diagram ERD kita dapat menguji
model dengan mengabaikan proses yang harus dilakukan.
ERD Menggunakan sejumlah notasi dan simbol untuk menggambarkan struktur dan
hubungan antar data.pada dasarnya ada 3 simbol yang digunakan yaitu:
1. Entity
Entity adalah suatu objek yang dapat diidentifikasikan dalam lingkungan pemakai, sesuatu
yang penting bagi pemakai dalam konteks sistem yang akan dibuat. Sebagai contoh adalah
barang, pemasok, pekerja dan lain-lain seandainya A adalah barang maka A adalah isi dari
barang, sedanggakan jika B adalah seorang pelanggan maka B adalah isi dari pelanggan.
Karena itu harus dibedakan antara entitas sebagai bentuk umum dari deskripsi tertentu dan isi
entitas seperti A dan B dalam contoh diatas. Entitas digambarkan dalam bentuk persegi
empat.
2. Atribut
Entitas mempunyai elemen yang disebut atribut dan berfungsi mendeskripsikan karakter
entitas, misalnya atribut nama barang dari entitas barang. Setiap ERD bisa berisi lebih dari
satu atribut. Entitas digambarkan dalam bentuk elips.
3. Hubungan (Relationship)
Sebagaimana halnya entitas, hubungan pun harus dibedakan antara hubungan atau bentuk
hubungan antar entitas dengan isi dari hubungan itu sendiri. Misalnya dalam kasus hubungan
antara entitas barang dan entitas pelanggan adalah menjual barang, sedangkan isi
hubungannya dapat berupa tanggal jual atau yang lainnya. Relationship digambarkan dalam
bentuk intan (diamonds).
Jenis- Jenis hubungan antara lain:
a. Relasi satu ke satu (One to One Relationship)
Hubungan antara file pertama dan file kedua adalah satu berbanding satu.
b. Relasi satu ke banyak (One to Many Relationship)
Hubungan antara file pertama dan file kedua adalah satu berbanding banyak atau dapat pula
dibalik menjadi banyak lawan satu.
c. Relasi banyak ke banyak (Many to Many Relationship)
Hubungan antara file pertama dan file kedua adalah banyak berbanding
banyak.
d. Relasi banyak ke satu (Many to One Relationship)
Hubungan antara file pertama dan file kedua adalah berbanding satu.
2.2.3. Logical Record Structure (LRS)
Menurut Hasugian dan Shidiq (2012:608) memberikan batasan bahwa “LRS adalah
sebuah model sistem yang digambarkan dengan sebuah diagram-ER akan mengikuti pola atau
aturan permodelan tertentu dalam kaitanya dengan konvensi ke LRS”.
Dua metode yang dapat digunakan untuk menggambarkan LRS adalah dengan
menghubungkan model-model yang dapat dikonversikan ke LRS. Metode yang lain dimulai
dengan Entity Relationship diagram dan langsung dikonversikan ke LRS.
1. Konversi ERD ke LRS, Diagram entity relationship diagram harus diubah ke bentuk LRS
(struktur record secara logik). Dari bentuk LRS inilah yang nantinya dapat ditransformasikan
ke bentuk relasi (tabel).
2. Konversi ERD ke LRS Sebuah model sistem yang digambarkan dengan sebuah ERD akan
mengikuti pola permodelan tertentu. Dalam kaitannya dengan konversi ke LRS, untuk
perubahan yang terjadi adalah mengikuti aturan-aturan berikut:
a. Setiap entitas diubah kebentuk kotak dengan nama entitas, berada diluar kotak dan atribut
berada didalam kotak.
b. Sebuah relationship kadang disatukan, dalam sebuah kotak bersama entitas, kadang sebuah
kotak bersama-sama dengan entitas, kadang disatukan dalam sebuah kotak tersendiri.
3. Konversi LRS ke relasi (tabel) relasi atau tabel adalah bentuk pernyataan data secara grafis 2
(dua) dimensi, yang terdiri dari kolom dan baris. Relasi adalah bentuk visual dari sebuah file,
dan tiap tuple dalam sebuah field, atau yang dalam bentuk lingkaran Diagram entity
relationship dikenal dengan sebutan atribut. Konversi dari logical record structure dilakukan
dengan cara :
a. Nama logical record structure menjadi nama relasi.
b. Tiap atribut menjadi sebuah kolom didalam relasi.
2.2.4. Pengujian Program
Menurut Simarmata (2010:323) “Pengujian adalah proses terhadap aplikasi program
untuk menemukan segala kesalahan dan segala kemungkinan yang akan menimbulkan kesalahan
sesuai dengan spesifikasi perangkat lunak yang telah ditentukan sebelum aplikasi tersebut
diserahkan kepada pelanggan.” Dari pengertian tersebut dapat disimpulkan bahwa pengujian
adalah proses terhadap aplikasi yang saling terintegrasi guna menemukan kesalahan dan segala
kemungkinan yang akan menimbulkan kesalahan.
Secara teoritis, testing dapat dilakukan dengan berbagai jenis tipe dan teknik. Namun
secara garis besar, terdapat dua jenis tipe testing yang paling umum digunakan di dalam lingkup
rekayasa perangkat lunak. Dua jenis tersebut adalah Black box dan White box testing.
Tahapan pengujian yang dilakukan oleh penulis saat ini hanya menggunakan Black Box
Testing. Penjelasan mengenai Black Box testing sebagai berikut:
Jenis testing ini hanya memandang perangkat lunak dari sisi spesifikasi dan kebutuhan
yang telah didefinisikan pada saat awal perancangan. Sebagai contoh, jika terdapat sebuah
perangkat lunak yang merupakan sebuah sistem informasi inventory di sebuah perusahaan. Maka
pada jenis whitebox testing, perangkat lunak tersebut akan berusaha dibongkar listing
programnya untuk kemudian dites menggunakan teknik-teknik yang telah dijelaskan
sebelumnya. Sedangkan pada jenis blackbox testing, perangkat lunak tersebut akan dieksekusi
kemudian berusaha dites apakah telah memenuhi kebutuhan pengguna yang didefinisikan pada
saat awal tanpa harus membongkar listing programnya.
Gambar II.1. Skema Diagram Black Box Testing
Tujuan dilakukan testing pada suatu software yaitu untuk mengidentifikasi dan
mengungkapkan berbagai kesalahan sebanyak mungkin dalam perangkat lunak yang diuji,
setelah memperbaiki kesalahan yang diidentifikasi dan melakukan pengujian ulang, pada tingkat
kualitas yang memadai. Serta menyusun catatan kesalahan perangkat lunak untuk digunakan
dalam pencegahan kesalahan (dengan tindakan perbaikan dan pencegahan).
Pengujian dengan metode Black Box Testing ini dilakukan dengan cara memberikan
sejumlah input pada sistem. Input tersebut kemudian di proses sesuai dengan kebutuhan
fungsionalnya untuk melihat apakah program aplikasi dapat menghasilkan output yang sesuai
dengan yang diinginkan dan sesuai pula dengan fungsi dasar dari sistem tersebut. Apabila dari
input yang diberikan, proses dapat menghasilkan output yang sesuai dengan kebutuhan
fungsionalnya, maka program yang dibuat sudah benar, tetapi apabila output yang dihasilkan
tidak sesuai dengan kebutuhan fungsionalnya, maka masih terdapat kesalahan pada sistem
tersebut, dan selanjutnya dilakukan penelusuran perbaikan untuk memperbaiki kesalahan yang
terjadi.