6 2.1. Konsep Dasar Program
2.1.1. Pengertian Program
Pada umumnya program adalah sederetan intruksi atau statement yang tentunya dalam bahasa yang dimengerti oleh komputer. Intruksi tersebut berfungsi untuk mengatur pekerjaan apa yang akan dilakukan oleh komputer agar mendapatkan dan menghasilkan suatu hasil atau keluaran yang diharapkan.
Menurut Kurniadi (2011:267) mengemukakan bahwa:
Dalam konsep modular programing kode-kode program diletakkan terpisah-pisah. Tidak seperti linear programming dimana kode-kode
program dituliskan didalam satu tempat,
pada modular programming kode-kode program letaknya tersebar, tergantung pada komponen-komponen aplikasi tersebut.
Sedangkan menurut Kadir (2012:2) program adalah “kumpulan perintah yang ditunjukan kepada komputer dapat melakukan tindakan sesuai yang dikehendaki oleh pembuat perintah”.
Dari pengertian di atas, dapat disimpulkan bahwa program merupakan sekumpulan perintah yang diwujudkan dalam bentuk bahasa, kode skema, ataupun bentuk lain yang dimengerti oleh komputer sehingga mampu bekerja untuk melakukan fungsi-fungsi khusus.
Dalam dunia komputer, kata program sulit dipisahkan dengan kata software, dan software menjadi kata lain dari program. Program bukanlah sesuatu yang bisa dipegang atau disentuh, sebagaimana layaknya hardware. Program
adalah kumpulan dari instruksi-instruksi, sedangkan programming adalah seluruh kegiatan mulai dari penyusunan program sampai pada penulisan program.
Beberapa langkah yang harus diperhatikan oleh pemrogram sebelum mengimplementasikan suatu permasalahan dalam program menurut Wikrama (2017) yaitu sebagai berikut :
1. Mendefinisikan masalah
Langkah yang pertama dilakukan adalah mendefinisikan permasalahan.
langkah ini harus dilakukan untuk menentukan masalah yang ada serta ditentukan pula input dan output program.
2. Mencari solusi
Kemudian ditentukan solusi dari permasalahan yang dihadapi. Bila untuk mendapatkan solusi harus melalui langkah yang terlalu rumit dapat dilakukan pembagian masalah dalam beberapa modul-modul kecil agar mudah untuk dikerjakan. Lalu modul-modul kecil tersebut digabungkan menjadi satu untuk dapat menentukan solusi.
3. Menentukan algoritma
Dalam pemilihan algoritma, pemrogram atau analis harus menggunakan algoritma yang sesuai dan efisien untuk masalah yang dihadapi.
4. Menulis program
Penulisan program bisa dilakukan dengan menggunakan bahasa pemrograman yang dikuasai dan memiliki kompabilitas dengan perangkat keras yang akan menggunakan program tersebut. Saat ini bahasa pemrograman yang dipakai oleh penulis adalah bahasa Java.
5. Menguji program
Bila program sudah selesai dibuat, pengujian diperlukan untuk mengetahui apakah program yang dibuat sudah layak untuk digunakan.
6. Mendokumentasikan program
Penulisan dokumentasi yang biasanya dilupakan oleh pemrogram menjadi sangat penting saat akan dilakukan perubahan pada program yang dibuat.
penulisan program ini dapat dilakukan dengan menulis komentar pada source code tentang kegunaannya (variabel, parameter, procedur, fungsi).
7. Merawat program
Langkah terakhir dalam pembuatan sebuah program adalah melakukan perawatan. Program yang sudah selesai dibuat juga perlu dirawat dengan pendeteksian bug yang belum diketahui sebelumnya juga penambahan fasilitas baru yang mempermudah pengguna program.
Di dalam membuat sebuah program komputer, tentu tidak lepas dari sifat individu seorang pemrogram. Beberapa karakterstik pemrogram yang mempengaruhi baik tidaknya suatu program yang dibuatnya, adalah:
1. Memiliki pola pikir logis.
2. Memiliki ketekunan dan ketelitian yang tinggi.
3. Memiliki penguasaan bahsa pemrograman yang baik.
4. Memiliki pengetahuan tentang teknik pemrograman yang baik.
Pola pikir logis, ketekunan dan ketelitian yang tinggi sangat dipengaruhi oleh sifat individu pemrogram. Butir satu sampai dengan empat merupakan syarat yang harus dikuasai sebelum memulai membuat program.
2.1.2. Bahasa Pemrograman
Menurut Munir (2011:13) mengemukakan 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). Contoh: Bahasa Assembler, yang dapat menerjemahkan mnemonic.
3. Bahasa Tingkat Menengah (Middle Level Language)
Bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan pernyatannya, 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.3. Pemrograman Berbasis Objek
Menurut Sukamto dan M. Shalahuddin (2010:1) program berbasis objek adalah “sebuah konsep pemrograman untuk membuat kode program yang lebih terstruktur, terkelompok berdasarkan objek-objek yang terlibat sehingga bagian- bagiannya dapat digunakan untuk pembuatan aplikasi lain”.
Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi objek, perancangan berorientasi objek, pemrograman berorientasi objek, dan pengujian berorientasi objek.
Berikut keuntungan metodologi berorientasi objek adalah sebagai berikut:
1. Meningkatkan produktivitas.
2. Kecepatan pengembangan.
3. Kemudahan pemeliharaan.
4. Adanya Konsistensi.
5. Menigkatkan kualitas perangkat lunak.
Banyak orang berfikir bahwa pemrograman berorientasi objek identik dengan bahasa Java. Memang bahasa Java merupakan bahasa yang paling
konsisten dalam mengimplementasikan paradigma pemrograman berorientasi objek. Namun sebenarnya bahasa pemrograman yang mendukung pemrograman berorientasi objek tidak hanya bahasa Java. Berikut beberapa contoh bahasa pemrograman yang mendukung pemrograman berorientasi objek:
1. Bahasa Pemrograman Smalltalk
Smalltalk merupakan salah satu bahasa pemrograman yang dikembangkan untuk mendukung pemrograman berorientasi objek mulai tahun 1978.
Smalltalk memiliki berbagai versi, versi yang banyak dikenal adalah Smalltalk- 80 yang dibuat pada tahun 1980.
2. Bahasa Pemrograman Eiffel
Eiffel merupakan bahasa pemrograman yang dikembangkan untuk mendukung pemrograman berorientasi objek mulai tahun 1985 oleh Bertand Meyer dan compiler Eiffel selesai dibuat pada tahun 1987. Eiffel meiliki sintaks mirip dengan sintaks pada pemograman pascal. Eiffel merupakan bahasa pemrograman objek murni karena semua kode pemogramanya dibungkus di dalam kelas.
3. Bahasa Pemrograman C++
Bahasa pemrograman C++ merupakan pengembangan lebih lanjut dari bahasa pemrograman C untuk mendukung pemrograman berorientasi objek.
Keterkaitan antara C dan C++ dapat dilihat pada gambar 1.
Sumber: Sukamto dan M. Shalahuddin (2010:6)
Gambar II.1.
Keterkaitan Bahasa Pemrograman C dan C++
4. Bahasa Pemrograman (web) PHP
PHP dibuat pertama kali oleh seorang perekayasa perangkat lunak (sofware engineering) yang bernama Rasmus Lerdoff. Ramus Lerdoff membuat halaman web PHP pertamanya pada tahun 1994. PHP4 dengan versi-versi akhir menuju PHP5 sudah mendukung pemrograman berorientasi objek. PHP merupakan pemrograman yang digunakan untuk pemrograman web.
5. Bahasa Pemograman Java
Java menurut definisi dari Sun Microsystem adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Java 2 adalah generasi kedua dari Java platfrom. Java berdiri diatas sebuah mesin interpreter yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam fille class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu, bahasa Java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasasi, asalkan pada sistem operasi tersebut terdapat JVM (Java Virtual
Machine). Java merupkan bahasa pemrograman objek murni karena semua programan nya dibungus dalam kelas.
Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnya). Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan berbagai suatu kumpulan objek yang berkorespondensi dengan objek-objek lainnya.
Berikut ini adalah beberapa konsep dasar yang harus dipahami tentang metodologi berorientasi objek:
1. Kelas (Class)
Kelas adalah kumpulan objek-objek dengan karakteristik yang sama. Kelas merupakan definisi statik dan himpunan objek yang sama yang mengkin lahir atau diciptakan dari kelas tersebut. Sebuah kelas akan mempunyai sifat (atribut), kelakuan (operasi/metode), hubungan (relationship) dan arti. Suatu kelas dapat diturunkan dari kelas yang lain, dimana atribut dan kelas semula dapat diwariskan ke kelas yang baru.
Sumber: Sukamto dan M. Shalahuddin (2010:10)
Gambar II.2.
Ilustrasi Kelas
2. Objek (Object)
Adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia, ataupun organisasitempat,kejadian, struktur, status, atau hal-hal lain yang bersifat abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) daan mempunyai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya.
3. Metode (Method)
Operasi atau metode pada sebuah kelas hampir sama dengan fungsi atau prosedur pada metodologi struktural. Sebuah kelas boleh memiliki lebih dari satu metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri.
4. Atribut (Attribute)
Atribut dari sebuah kelas adalah variabel global yang dimiliki sebuah kelas.
Atribut dapat berupa nilai atau elemen-elemen data yang dimiliki oleh objek dalam kelas objek.
5. Abstraksi (Abstraction)
Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi suatu bentuk model yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan permasalahan.
6. Enkapsulasi (Encapsulation)
Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara kerja nya.
7. Pewarisan (Inheritance)
Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan objek lain sebagai bagian dari dirinya.
8. Antarmuka (Interface)
Antarmuka atau interface sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain.
9. Reusabilily
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya yang mendapatkan objek tersebut.
10. Generalisasi dan Spesialisasi
Menunjukan hubungan antara kelas dan objek yang umum dengan kelas objek yang khusus. Misalnya kelas yang lebih umum (generalisasi) adalah kendaraan darat dan kelas khususna (spesialisasi) adalah mobil, motor, dan kereta.
11. Komunikasi Antar Objek
Komunikasi antar objek dilakukan lewat pesan (massage) yang dikirim dari satu objek ke objek lainnya.
12. Polimorfisme (Polymorphism)
Kemampuan suatu objek untuk digunakan dibanyak tujuan yang berbeda dengan nama yang sama sehingga menghemat baris program.
13. Package
Package adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam package yang berbeda.
2.1.4. Pengertian Java
Menurut Haryanto (2011:2) Java “merupakan bahasa berorientasi objek untuk pengembangan aplikasi mandiri, aplikasi berbasis internet, aplikasi untuk perangkat cerdas yang dapat berkomunikasi lewat internet atau jaringan komunikasi”. Melalui teknologi Java, dimungkinkan perangkat audio stereo dirumah terhubung jaringan komputer. Java tidak lagi hanya untuk membuat applet yang memperintah halaman web tapi Java telah menjadi bahasa untuk pengembangan aplikasi skala interprise berbasis jaringan besar.
Java berdiri diatas mesin penterjemah (interpreter) yang diberi nama Java Virtual Mechine (JVM). JVM inilah akan membaca kode bit (bytecode) dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa Java disebut juga sebagai bahasa pemograman yang portable karena dapat di jalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Alasan utama pembentukan bahasa Java adalah untuk membuat aplikasi-aplikasi yang dapat diletakan di berbagai macam perangkat elektronik, sehingga Java harus bersifat tidak bergantung pada platform (independent platform). Itulah yang menyebabkan dalam dunia pemograman Java dikenal adanya istilah, “write once, run everywhere”, yang berarti kode program hanya ditulis sekali, namun dapat
dijalankan di bawah kumpulan pustaka (platform) manapun, tanpa harus melakukan perubahan kode pogram.
2.1.5. Netbeans
Menurut Nishom (2012) menjelaskan bahwa Netbeans merupakan
“sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing”. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris.
Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang menyediakan Graphic User Interface (GUI), suatu kode editor atau text, suatu compiler dan suatu debugger.
Netbeans juga digunakan oleh sang programer untuk menulis, meng- compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman Java namun selain itu dapat juga mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional desktop, enterprise, web, dan mobile applications dengan Java, C/C++, dan bahkan dynamic languages (bahasa dinamis) seperti PHP, JavaScript, Groovy, dan Ruby. NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra (dan terus bertambah). Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework yang dapat digunakan kembali (reusable) untuk menyederhanakan pengembangan
aplikasi desktop dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk fokus ke logika yang spesifik terhadap aplikasi. Berikut fitur-fitur Platfrom Netbeans, antara lain:
1. Manajemen antarmuka (misal: menu & toolbar).
2. Manajemen pengaturan pengguna.
3. Manajemen penyimpanan (menyimpan dan membuka berbagai macam data).
4. Manajemen jendela.
5. Wizard framework (mendukung dialog langkah demi langkah).
2.1.6. Xampp
Menurut Wicaksono (2008:7) “XAMPP adalah sebuah software yang berfungsi untuk menjalankan website berbasis PHP dan menggunakan pengolah data MySQL dikomputer local”. XAMPP juga dapat disebut sebuah CPanel virtual server. XAMPP adalah singkatan dari X-Apache, MySQL, PHP, and PERL, di mana “X” merupakan inisial dari 4 sistem operasi yang didukung oleh aplikasi ini. Keempat sistem operasi tersebut antara lain: Windows, Linux, McOS, dan Solaris. Di dalam XAMPP terdapat beberapa package yang disertakan, antara lain: Apache sebagai server HTTP, MySQL sebagai DBMS, PERL sebagai bahasa pemrograman pendukung, FileZilla, Mercury, dan Apache Tomcat sebagai server JSP (Java Server Page).
2.1.7. iReport
Dalam dokumentasi resmi dari web ireport menjelaskan bahwa “iReport is a program that helps users and developers that use JasperReports library to visually design reports”. Dapat diterjemahkan iReport adalah sebuah program
yang membantu pengguna dan developer yang menggunakan pustaka JasperReport untuk merancang laporan secara visual.
2.1.8. Basis Data
Menurut Fathansyah (2012:3) Sistem “basis data adalah kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan”.
Sedangkan menurut Martono dkk (2009:307) mendefinisikan database sebagai “kumpulan data dari penempatan tenaga kerja yang saling terkait dan mempengaruhi sesuai dengan tingkat kepentingannya sehingga data tersebut terintegrasi dan independence”.
Basis data merupakan salah satu komponen utama dalam sistem informasi karena menyediakan informasi bagi pemakai. Dalam sebuah program sangat dibutuhkan basis data untuk menyimpan data yang akan dimasukkan kedalam program tersebut. Sehingga data yang tersimpan didalam program tersebut untuk diakses atau ditampilkan kembali dan sangat memungkinkan untuk menambah, mengubah dan menghapus data melalui program tersebut.
Basis data mempunyai prinsip utama yaitu pengaturan data arsip. Tujuan utamanya adalah memberi kemudahan dan kecepatan dalam pengambilan kembali data atau arsip. Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan sebagai berikut:
1. Kecepatan dan Kemudahan (Speed)
Pemaanfaatan basis data memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dan mudah.
2. Efisiensi ruang penyimpanan (Space)
Karena keterkaitannya yang erat antar kelompok data dalam sebuah basis data, maka redudansi (perulangan) pasti selalu ada. Banyaknya redudansi ini pasti akan memperbesar ruang penyimpanan yang harus disediakan. Tetapi dalam basis data hal ini dapat diatasi, yaitu dengan memberikan sejumlah pengkodean atau dengan membuat relasi-relasi.
3. Keakuratan (Accuracy)
Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan atau batasan (constraint) tipe data, keunikan data, dan sebagainya yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidak akuratan penyimpanan.
4. Ketersediaan (Availability)
Pertumbuhan data baik dari jumlah atau jenisnya sejalan dengan waktu akan semakin membutuhkan ruang peyimpanan yang besar. Padahal tidak semua data itu selalu kita butuhkan atau gunakan. Karena itu dapat memilah data utama atau master, data transaksi, data histori hingga data kadaluarsa.
5. Kelengkapan (Completeness)
Lengkap atau tidaknya data yang dikelola dalam sebuah basis data bersifat relatif baik terhadap kebutuhan pemakai maupun terhadap waktu. Bila
seseorang pemakai sudah menganggap bahwa data yang dipelihara sudah lengkap, maka pemakai lain belum tentu sependapat.
6. Keamanan (Security)
Dalam sistem yang besar maka diperlukan keamanan yang ketat, hal ini ditujukan untuk melindungi data-data yang dianggap penting. Basis data dapat memberikan fasilitas keamanan diantaranya dalam sistem dapat ditetapkan siapa pemakai yang boleh menggunakan basis data beserta objek-objek di dalamnya dan menentukan jenis-jenis operasi yang boleh dilakukan.
7. Kebersamaan Pemakaian (Sharability)
Basis data dapat digunakan lebih dari satu orang. Oleh karena itu fungsi dari basis data adalah menjaga atau menghindari terhadap munculnya suatu persoalan seperti data yang sama diubah oleh pemakai pada saat yang sama.
Ada empat (4) faktor utama yang membentuk suatu basis data menurut Simarmata dan Iman Prayudi (2010:36), sebagai berikut :
1. Tabel
Tabel adalah unit penyimpanan fisik utama untuk data dalam basis data.
Didalam tabel tersebut terdapat record dan field yang merupakan bagian dari tabel. Basis data bisa terdiri atas banyak tabel sehingga harus terdapat relasi antar tabel.
2. Record
Record atau baris merupakan kumpulan smua kolom yang berhubungan dengan kejadian tunggal. Dengan kata lain, satu baris data adalah satu record dalam tabel. Sebagai contoh, jika ada 1000 judul buku, akan ada 1000 record
atau baris data dalam tabel judul buku tersebut. Jumlah baris akan berubah ketika judul buku ditambah atau dikurangi.
3. Field
Field atau kolom adalah kategori informasi yang terdapat dalam tabel. Kolom bagi tabel seperti atribut bagi entitas. Dengan kata lain, model bisnis diubah menjadi model basis data, entitas menjadi tabel dan atribut menjadi kolom.
4. Tipe Data
Tipe data menentukan tipe data yang dapat disimpan dalam kolom tabel.
Meskipun ada banyak tipe data, hanya tiga tipe data yang umum digunakan, yaitu:
a. Alfanumerik.
b. Numerik.
c. Tanggal dan Waktu.
Tipe data alfanumerik digunakan untuk menyimpan karakter, angka, karakter khusus, atau hampir semua kombinasi. Jika nilai numerik disimpan dalam field alfanumerik, nilai diperlakukan sebagai karakter bukan angka. Tipe data numerik digunakan hanya untuk menyimpan nilai numeric. Tipe data tanggal dan waktu digunakan untuk menyimapan nilai tanggal dan waktu.
2.1.9. MySQL (My Structure Query Language)
Menurut Anhar (2010:21) mengemukakan bahwa:
MySQL (My Structure Query Language) adalah sebuah perangkat lunak sistem manajemen basis data SQL (Database Management System) atau DBMS dari sekian banyak DBMS, seperti Oracle, MS SQL, Postgre SQL dan lain-lain. MySQL merupakan DBMS yang multithread, multi-user yang berbasis open source atau gratis dibawah lisensi GNU General Public Licence (GPL).
MySQL merupakan DBMS dengan server, sehingga MySQL dapat diakses oleh banyak pengguna dan dapat melakukan suatu proses secara bersamaan (multi thread). Selain mendukung bahasa query standard, MySQL juga dapat menjalankan prosedur atau perintah dengan stored procedure, serta trigger.
2.1.10. Pengertian Raport
Menurut Kamus Besar Bahasa Indonesia menjelaskan bahwa Raport adalah “buku yang berisi nilai kepandaian dan prestasi belajar murid di sekolah, berfungsi sebagai laporan guru kepada orangtua wali murid” (KBBI, 2016).
Raport itu sendiri merupakan salah satu pertanggung jawaban sekolah terhadap masyarakat tentang kemampuan yang dimiliki siswa yang berupa sekumpulan hasil penilaian.
Raport juga di bagikan setiap akhir semester yang di ambil oleh orang tua yang mendapat surat pengumuman dari sekolah kapan waktu pengambilan raport.
Fungsi dari raport itu sendiri adalah
1. Sebagai pengukuran kepandaian dari siswa selama menempuh pelajaran selama di sekolah dari pertama kali masuk sekolah sampai lulus sekolah.
2. Bagi sekolah raport merupakan tolak ukur kurikulum apakah sudah memenuhi standart atau belum, jika belum maka ada hal yang harus lebih ditingkatkan agar dari tahun ketahun mutu pendidikan terus ditingkatkan.
3. Bagi orang tua siswa berfungsi sebagai sejauh mana prestasi anak disekolah jika penilaian belum sesuai apa yang diinginkan orang tua maka orang tua harus mengabil tindakan agar anak atau siswa lebih giat belajar.
2.2. Peralatan Pendukung (Tools Program) 2.2.1. UML (Unified Modeling Language)
Menurut Sukamto dan M. Shalahuddin (2016:133) UML (Unified Modeling Language) adalah “salah satu standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis & desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek.
Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan, membangun, dan dokumentasi dari sistem perangkat lunak. UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram teks-teks pendukung. Berikut ini adalah diagram-diagram UML:
1. Class Diagram
Menurut Sukamto dan M. Shalahuddin (2016:141) Diagram kelas atau class diagram “menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dam metode atau operasi”.
a. Atribut merupakan variabel-variabel yang dimiliki oleh satu kelas.
b. Operasi atau metode adalah fungsi-fungsi yang dimilki oleh suatu kelas.
Diagram kelas dibuat agar pembuatan program atau programmer membuat kelas-kelas sesuai rancangan di dalam diagram kelas agar antara dokumentasi perancangan dan perangkat lunak sinkron. Banyak kasus,
perancangan kelas yang dibuat tidak sesuai dengan kelas-kelas yang dibuat perangkat lunak, sehingga tidaklah ada gunanya lagi sebuah perancangan yang di rancang dan hasil jadinya tidak sesuai.
2. Use Case Diagram
Menurut Sukamto dan M. Shalahuddin (2016:155) Use Case atau diagram use case merupakan “pemodelan untuk kelakukan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan subuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat”. Ada dua hal utama pada use case yaitu:
a. Aktor
Aktor adalah segala hal diluar sistem yang akan menggunakan sistem tersebut untuk melakukan sesuatu. Bisa merupakan manusia, sistem, atau device yang memiliki peranan dalam keberhasilan operasi dari sistem.
b. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
3. Activity Diagram
Menurut Sukamto dan M. Shalahuddin (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”.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
a. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
b. Urutan atau pengelompokan tampilan sari sistem atau user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
Sumber: Sukamto dan M. Shalahuddin (2016:235)
Gambar II.3.
Activity Diagram 4. Sequence Diagram
Menurut Sukamto dan M. Shalahuddin (2016:165) menyimpulkan bahwa:
Diagram sekuen atau Squence diagram adalah salah satu dari diagram- diagram yang ada pada UML, sequence diagram ini adalah diagram yang menggambarkan kolaborasi dinamis antara sejumlah object.
Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antara object. Sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
Membuat diagram sequence juga dibutuhkan untuk melihat skenario yang ada pada use case. Banyaknya diagram sequence yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sequence sehingga semakin banyak use case yang didefinisikan maka diagram sequence yang harus dibuat harus semakin banyak.
Sumber: Sukamto dan M. Shalahuddin (2016:210)
Gambar II.4.
Sequence Diagram
2.2.2. Model Waterfall
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.5.
Ilustrasi Model Waterfall 1. Analisisa kebutuhan perangkat lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user.
2. Desain
Desain perangkat lunak adalah proses multi langkah yang focus 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.
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 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 tidak muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari analis spesifikasi utuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.