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 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) 5
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
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 Kredit
Menurut Rivai (2013:197) mengemukakan bahwa “Kreadit berasal dari kata latin, credo, yang berarti i belive, i trust, saya percaya atau saya menaruh kepercayaan”.
2.1.6. Unsur-Unsur Kredit
Menurut Kasmir (2012:87) mengemukakan bahwa:
Unsur-unsur dalam pemberian kredit adalah sebagai berikut :
1. Kepercayaan
Yaitu suatu keyakinan pemberi kredit bahwa kredit yang diberikan (berupa uang, barang, atau jasa) akan benar-benar diterima kembali di masa tertentu di masa yang akan datang. Kepercayaan ini diberikan oleh bank, dimana sebelumnya sudah dilakukan penyelidikan tentang nasabah baik secara interen maupun eksteren. Penyelidikan ini dilakukan untuk mengetahui kondisi masa lalu dan sekarang terhadap nasabah pemohon kredit.
Yaitu kesepakatan antara si pemberi kredit dengan si penerima kredit yang dituangkan dalam suatu perjanjian di mana masing-masing pihak menandatangani hak dan kewajibannya masing-masing.
3. Jangka Waktu
Masa pengembalian kredit yang telah disepakati bersama. Jangka waktu tersebut dapat berupa jangka waktu yang pendek, menegah ataupun jangka panjang.
4. Risiko
Adanya suatu tenggang waktu pengembalian akan menyebabkan suatu risiko tidak tertagihnya/macet pemberian kredit. Semakin panjang suatu kredit semakin besar risikonya demikian pula sebaliknya. Risiko ini menjadi tanggungan bank, baik risiko yang disengaja oleh nasabah yang lalai, maupun oleh risiko yang tidak disengaja. Misalnya terjadi bencana alam atau bangkrutnya usaha nasabah tanpa ada unsur kesengajaan lainnya.
5. Balas Jasa
Yaitu keuntungan atas pemberian suatu kredit atau pembiayaan yang dikenal sebagai bunga untuk bank konvensional atau bagi hasil untuk bank yang menganut prinsip syariah.
2.1.7. 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.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.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.
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)
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.
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.