LANDASAN TEORI
2.1. Konsep Dasar Program
Dalam memahami konsep dasar program yang penulis buat, disini penulis akan menguraikan definisi dan teori-teori mengenai aplikasi ujian sekolah.
2.1.1. Aplikasi
Menurut Sri Widianti dalam Tenia (2018:1) mengemukakan bahwa, “Aplikasi adalah sebuah software atau perangkat lunak yang bertugas sebagai front
end pada sebuah sistem yang digunakan untuk mengolah berbagai macam data
sehingga menjadi sebuah informasi yang bermanfaat untuk penggunanya dan juga sistem yang berkaitan”.
Menurut Harip Santoso dalam Tenia (2018:1) mengemukakan bahwa, “Aplikasi adalah sebuah kelompok file (class, form, report) yang ditujukan sebagai pengeksekusi aktivitas tertentu yang saling berkaitan seperti contohnya aplikasi
payroll dan aplikasi fixed asset”.
Secara umum, aplikasi merupakan sebuah alat terapan yang difungsikan secara khusus dan terpadu sesuai dengan kemampuan yang dimilikinya. Secara etimologi, aplikasi berasal dari bahasa inggris yaitu Application yang berarti penerapan, lamaran dan penggunaan. Secara istilah aplikasi merupakan sebuah program siap pakai yang dipakai untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dpat digunakan oleh sasaran yang dituju. Dapat dikatakan
juga, bahwa aplikasi merupakan suatu perangkat lunak yang siap pakai dengan menjalankan instruksi-instruksi dari pengguna (user), aplikasi banyak diciptakan untuk membantu berbagai keperluan, seperti contoh : membuat laporan, percetakan dan lain-lain.
2.1.2. Ujian Sekolah
Menurut Peraturan Menteri
Pendidikan Nasional Nomor 4 tahun 2010 tentang Ujian Sekolah/Madrasah tahun pelajaran 2009/2010 pasal 1 yang berbunyi: “Ujian Sekolah/Madrasah adalah kegiatan penilaian dalam bentuk ujian tulis dan/atau praktik untuk mengetahui pencapaian standar kompetensi lulusan pada semua mata pelajaran yang tidak diujikan dalam Ujian Akhir Sekolah Berstandar Nasional (UASBN) dan Ujian Nasional (UN)”.
2.1.3. Bahasa Pemograman
Menurut Wahyudi, dkk (2013:65) menyimpulkan bahwa:
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
1. Penganalan Visual Basic
Menurut Chairiyah (2014:25) “Visual Basic merupakan bahasa pemrograman yang sangat mudah dipelajari, dengan teknik pemrograman visual yang
memungkinkan penggunanya untuk berkreasi lebih baik dalam menghasilkan suatu program aplikasi.”
Menurut Kurniadi dalam Afira (2017:161) mengatakan bahwa, “Visual Basic (yang sering juga disebut dengan VB) selain disebut sebagai bahasa pemrograman, juga sering disebut sebagai sarana (tool) untuk menghasilkan program-program aplikasi berbasiskan Windows”.
Menurut Stefano dalam Afira (2017:161) mengemukakan bahwa, “Visual Basic merupakan sebuah bahasa pemrograman yang menawarkan Intergrated Development Environment (IDE) visual untuk membuat program perangkat lunak
berbasis operasi Microsoft Windows menggunakan model pemrograman (COM)”. Berbeda dengan bahasa pemrograman yang masih menggunakan tampilan
coding secara keseluruhan, Visual Basic menyajikan toolbox dan objek-objek yang
mudah digunakan dan diterapkan.
2.1.4. Basis Data (Database)
Menurut Kendall dalam Syahrial dan Sharipuddin (2016:82) memberi batasan bahwa, “Database (Basis Data) adalah penyimpanan resmi yang didefinisikan dan dikendalikan secara terpusat serta data yang dimaksudkan untuk digunakan dalam berbagai aplikasi”.
1. Xampp
Menurut Yudhanto dan Agus Purbaya dalam Supriyanta dan Khoirun Nisa (2015:36) “XAMPP merupakan program paket PHP dan MySQL berbasis
melakukan programming dan melakukan testing hasil programnya”. Sedangkan menurut Sadeli dalam Supriyanta dan Khoirun Nisa (2015:36) “Xampp adalah program yang berisi paket Apache , MySQL, dan phpMyAdmin”.
2. PhpMyAdmin
Menurut Rahman dalam Supriyanta dan Khoirun Nisa (2015:37) “PHPMyadmin adalah sebuah software berbasis pemrograman PHP yang dipergunakan sebagai administrator MySQL melalui browser (web) yang digunakan untuk managementdatabase”.
Sedangkan menurut Zaki dan Smitdev dalam Kristania, dkk (2017:84) “PHPMyAdmin adalah MySQL client yang berupa aplikasi web dan umumnya tersedia di server php seperti XAMPP maupun server komersial lainnya.” Di web server local, anda dapat mengakses PHPMyAdmin menggunakan URL.
3. MySQL
Menurut Sibero dalam Supriyanta dan Khoirun Nisa (2015:37) “MySQL atau dibaca “My Sekuel” dengan suatu RDBMS (Relational Database Management
System) merupakan aplikasi sistem yang menjalankan fungsi pengolahan data.
MySQL sendiri pertama dikembangkan oleh MySQL AB yang kemudian
diakuisisi oleh Sun Microsystem dan terakhir dikelola oleh Oracle Coorporation. Menurut Kadir dalam Kristania, dkk (2017:84) bahwa, “MySQL adalah salah satu jenis database server yang sangat terkenal. Kepopulerannya disebabkan MySQL menggunakan SQL sebagai Bahasa dasar untuk mengakses
databasenya.” Selain itu, ia bersifat open source (anda tidak perlu membayar untuk menggunakannya) pada berbagai platform (kecuali untuk jenis enterpris, yang bersifat komersial). MySQL termasuk jenis rdbms (relational database
management system). Itulah sebabnya istilah seperti tabel, baris dan kolom
digunakan pada MySQL. Pada MySQL, sebuah database mengandung satu atau sejumlah tabel. Tabel terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom.
2.1.5. Model Pengembangan Perangkat Lunak
Metode yang digunakan pada pengembangan perangkat lunak ini menggunakan model waterfall (Sukamto dan M. Shalahuddin, 2016:28) yang terbagi menjadi empat tahapan, yaitu:
Sumber: Sukamto dan M. Shalahuddin (2016:29)
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 lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya.
3. Pembuatan kode program
Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahapini 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 bagiansudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
2.2. Tools Program
Dalam merancang suatu program tentu saja diperlukan peralatan pendukung (tools system). Peralatan pendukung ini sangat berguna untuk menjelaskan proses jalannya program sehingga mudah dimengerti oleh siapa saja yang akan menggunakan program yang dibuat.
2.2.1. Entity Relationship Diagram (ERD)
Menurut Dennis dalam Syahrial dan Sharipuddin (2016:82) mengemukakan bahwa, “Entity Relationship Diagram (ERD) adalah sebuah gambar yang menunjukkan informasi yang dibuat, disimpan, dan digunakan sistem pada bisnis.”
Menurut Sutanta dalam Apriliya, dkk (2017:107) mengemukakan bahwa “(ERD) Entity Relationship Diagram merupakan suatu model data yang dikembangkan berdasarkan objek. ERD digunakan untuk menjelaskan hubungan antar data dalam basis data kepada pengguna secara logis. ERD didasarkan pada suatu persepsi bahwa real world terdiri atas obyek-obyek dasar tersebut.”
Menurut Rosa dan Shalahuddin dalam Kaafi dan Syahriani (2016:278) mengemukakan bahwa, “ERD adalah bentuk paling awal dalam melakukan perancangan basis data relasional. Jika menggunakan OODBMS maka perancangan ERD tidak perlu dilakukan.”
N N
Sumber: Sukamto dan M. Shalahuddin (2016:58)
Gambar II.2 Diagram ERD Studi Kasus
ERD sendiri sangat dibutuhkan dalam membangun program untuk memudahkan programmer menganalisa kebutuhan program sehingga segala kebutuhan dan hubungan data dalam program lebih mudah dipahami.
2.2.2. Logical Record Structure (LRS)
Menurut Friyadie dalam Supriyanta dan Eunike Nova Dwi Floren Rindani Nussy (2016:18) mengemukakan bahwa, “LRS merupakan hasil dari pemodelan
Entity Relationship (ER) beserta atributnya sehingga bisa terlihat hubungan-hubungan
antar entitas”.
Menurut Simarmata dan Paryudi dalam Fridayanthie, dkk (2016:132) memberi batasan 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 Foreign Key (FK)”.
Berikut adalah cara membentuk skema database atau LRS (Logical Record
Strutured) berdasarkan Entity Relationship Diagram :
a. Jika relasinya satu-ke-satu, maka foreign key diletakan pada salah satu dari dua entitas yang ada atau menyatukan kedua entitas tersebut.
b. Jika relasinya satu-ke-banyak, maka foreign key diletakan pada entitas Many. c. Jika relasinya banyak-ke-banyak, maka dibua “file konektor” yang berisi dua
foreign key yang berasal dari kedua entitas.
2.2.3. Pengkodean
Menurut Fathansyah dalam Maulana, dkk(2014:26) mengemukakan bahwa, “Pengkodean adalah salah satu alasan mengapa kita menyatakan suatu data (atribut) dalam bentuk lain adalah untuk efisiensi ruang penyimpanan”.
1. Syarat-Syarat Kode
Menurut Shatu (2016:107) mengemukakan bahwa sebuah kode-kode yang baik memiliki syarat-syarat tertentu atau faktor-faktor yang perlu dipertimbangkan. Adapun faktor-faktor pertimbangan dalam pembuatan kode yaitu:
a. Kode yang disusun perlu disesuaikan dengan metode proses data.
b. Setiap kode harus mewakili hanya satu item sehingga tidak membingungkan. c. Kode yang disusun harus memudahkan pemakai untuk mengingatnya.
d. Kode yang disusun harus fleksibel, dalam arti memungkinkan dilakukan perluasan tanpa perubahan menyeluruh.
f. Kode yang panjang perlu dipotong-potong (chunking) untuk memudahkan mengingat.
g. Dalam kode yang panjang perlu diberi kode yang merupakan check digit, yaitu untuk mengecek kebenaran kode.
2. Macam-macam Kode
Kode dapat dibuat dalam berbagai struktur kode yang berbeda. Setiap struktur mempunyai kelebihan dan kelemahan. Berikut ini adalah macam-macam kode yang dapat digunakan:
a. Kode urut nomor
“Kode urut nomor merupakan kode yang terbentuk dari susunan angka/nomor. Setiap kode memiliki jumlah angka yang sama (digit).”
b. Kode kelompok
Kode kelompok bertujuan untuk membagi data dalam kelompok tertentu. Tiap kelompok akan diberi kode dengan angka atau huruf tertentu, sehingga masing-masing posisi angka/huruf dari kode mempunyai arti.
c. Kode blok
Setiap kelompok data diberi kode dalam blok nomor tertentu. Kode blok mirip dengan kode kelompok.
d. Kode desimal
Setiap kelompok data akan diberi kode dari 0 sampai dengan 9. Oleh karena itu pengelompokan data harus dilakukan maksimum dalam sepuluh kelompok. e. Kode mnemonic
“Kode mnemonic merupakan kode singkatan data yang digunakan untuk membatu pengguna kode ini dalam membaca maksud dari singkatan tersebut.” f. Kode bar
Kode bar terdiri dari batangan-batangan hitam, biasa digunakan untuk perusahaan makanan dan minuman. Kode ini sebenarnya merupakan transformasi dari angka menjadi batangan-batangan kode, pembedanya adalah ketebalan dari batangan-batangan (bar) tersebut.
2.2.4. Hierarky Input Proses Output (HIPO)
Menurut Ladjamudin dalam Salaby, dkk (2017:5) menyimpulkan bahwa, “Hierarkiplus Input Process Output (HIPO) merupakan teknik untuk mendokumentasikan sistem pemograman. HIPO dikembangkan oleh personal IBM yang percaya bahwa dokumentasi sistem pemograman yang dibentuk dengan menekankan pada fungsi. HIPO menyediakan fasilitas lokasi dalam bentuk kode dari tiap prosedur dalam suatu sistem”.
2.2.5. Diagram Alir Program (Flowchart) 1. Pengertian Flowchart
Menurut Iswandy (2015:73) mengemukakan bahwa, “Flowchart merupakan urutan-urutan langkah kerja suatu proses yang digambarkan dengan menggunakan simbol-simbol yang disusun secara sistematis”.
2. Jenis-jenis Flowchart a. Flowchart Sistem
“Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa
yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem.” Dengan kata lain,
flowchart ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur
yang terkombinasi yang membentuk suatu sistem.
Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses
yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
b. Flowchart Dokumen
“Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya.” Bagan alir dokumen ini menggunakan simbol-simbol yang sama dengan yang digunakan di dalam bagan alir sistem.
c. Flowchart Skematik
“Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem.” Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambar-gambar
komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya. d. Flowchart Program
“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. Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alir logika program ini dipersiapkan oleh analis sistem.
e. Flowchart Proses
“Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.” Bagan alir proses menggunakan lima buah simbol tersendiri seperti terlihat pada tabel di bawah ini.
Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari
dan mengembangkan proses-proses manufacturing. Dalam analisis sistem,
flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan
Teknik pembuatan flowchart terbagi menjadi dua bagian, yaitu :
1. General Way
Cara ini sering digunakan dalam penyusunan logika suatu program, yang menggunakan pengulangan proses secara tidak langsung (Non-Direct Loop).
2. Iteration Way
Cara ini sering dipakai untuk logika program yang cepat, serta bentuk permasalahan yang kompleks, pengulangan proses yang terjadi bersifat langsung (Direct Loop).
2.2.6. Implementasi dan Pengujian Unit
Penulis melakukan pengujian unit menggunakan teknik Black-Box Testing . Menurut Khan dalam Mustaqbal, dkk (2015:33) memberi batasan bahwa, “Black-Box
Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari
perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program”.
Black-Box Testing berfokus pada spesifikasi fungsional dari perangkat lunak. Tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada
spesifikasi fungsional program. Black-Box Testing bukanlah solusi alternatif dari
White Box Testing tapi lebih merupakan pelengkap untuk menguji hal-hal yang tidak
dicakup oleh White Box Testing. Black Box Testing cenderung untuk menemukan hal-hal berikut:
1. Fungsi yang tidak benar atau tidak ada. 2. Kesalahan antarmuka (interface errors).
3. Kesalahan pada struktur data dan akses basis data. 4. Kesalahan performansi (performance errors). 5. Kesalahan inisialisasi dan terminasi.
Saat ini terdapat banyak metoda atau teknik untuk melaksanakan Black Box Testing, antara lain:
1. Equivalence Partitioning
2. Boundary Value Analysis/Limit Testing
3. Comparison Testing 4. Sample Testing 5. Robustness Testing 6. Behavior Testing 7. Requirement Testing 8. Performance Testing
9. Uji Ketahanan (Endurance Testing)