7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program 2.1.1. Pengertian Program
Menurut Bianto (2009:1), “program adalah mendeskripsikan intruksi- intruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer”. Sedangkan menurut Kadir (2012:2) program adalah “kumpulan perintah yang ditunjukan kepada komputer dapat melakukan tindakan sesuai dikehendaki oleh pembuat perintah”. Bahasa yang digunakan untuk menulis program disebut dengan “Bahasa Pemrograman”.
Dalama sebuah program akan terdapata banyak sekali perintah yang saling berkaitan satu dengan yang lainnya. Keberadaan sebuah program cukup penting mengingat bahwa program tersebut dapat disimpan, direkam, sehingga dapat dipakai secara berulang-ulang tanpa harus menulis program tersebut kembali.
Beberapa langkah yang harus diperhatikan oleh pemrogram sebelum mengimplementasikan suatu permasalahan dalam program menurut Kristanto (2009:4), yaitu sebagai berikut:
1. Mendefisikan Masalah
Tujuan dari mendefinisikan masalah adalah untuk memahami permaslahan secara mendalam. Langkah ini berkaitan dengan apa yang akan masukkan pada program, perintah-perintah apa yang akan digunakan dan bagaimana bentuk output-nya. Jadi, harus dipahami benar-benar permasalahan yang ada. Salah
asumsi tentang masalah yang ada, akan berakibat program yang dibuat tidak sesuai yang dikehendaki.
2. Mencari solusi untuk masalah
Setelah dipahami permasalahan yang ada baik itu masukan atau input, perintah yang digunakan keluaran atau output yang diinginkan, baru dicari jawaban atau solusi untuk memecahkan masalah sehingga masalah tersebut dapat terselesaikan dengan baik.
3. Memilih teknik pemecahan masalah dan algoritma
Dalam pemecahan masalah memerlukan suatu teknik pemechan masalah yang tepat. Dalam hal ini akan diluangkan dalam suatu algoritma. Algoritma dibuat dengan tujuan untuk menyelesaikan suatu maslah. Algoritma tidak bisa sekali jadi tetapi akan dikaji berulang-ulang sampai diperoleh algoritma yang tepat, benar dan relevan.
4. Menulis program
Pada langkah ini akan menuliskan program dalam Bahasa Pemrograman ke dalam computer untuk memecahkan masalah yang ada.
5. Melakukan testing dan debugging
Setelah program selesai ditulis, maka langkah selanjutnya melakukan testing dan debugging. Testing merupakan proses menjalankan program secara rutin untuk menemukan kesalahan-kesalahan dalam penulisan atau pernyataan dalam program. Sedangkan debugging adalah proses menemukan kesalahan- kesalahan dalam program dan kesalahan yang ditemukan diperbaiki sampai tidak muncul kesalahan lagi.
6. Melakukan dokumentasi program
Melakukan pendokumentasian program sebagain back-up data yang sama.
Proses ini penting untuk dilakukan, untuk usaha pengembangan program selanjutnya.
7. Melakukan pemeliharaan
Langkah terakhir dalam pembuatan sebuah program adalah melakukan perawatan. Hal ini perlu dilakuan Karena kemungkinan munculnya kesalahan diluar dugaan atau biasanya pengguna meminta fasilitas yang baru dalam program.
Sedangkan menurut Yulikuspartono (2009:29), “program merupakan sederetan instruksi atau statement dalam bahasa yang dimengerti oleh komputer yang bersangkutan” susunan ini sendiri perlu sistematika tertentu dalam sebuah program komputer. Karena program berjalan secara otomatis, sehingga kita tentu tidak ingin terjadinya error ketika program tersebut dijalankan.
2.1.2. Java
Menurut Nugroho (2009:1),”bahasa pemrograman java awalnya bernama bahasa pemrograman Oak, menurut berbagai literatur yang penulis jumpai di internet, diperkenalkan ke hadapan komunitas pemrograman di seluruh dunia, oleh james gosling dari Sun Microsystem Inc. Pada sekitar tahun 1990-an”.
Menurut Prasetyo (2007:2), “bahasa pemograman java adalah bahasa yang digunakan untuk menghasilkan aplikasi-aplikasi java, pada umumnya Bahasa pemograman hanya mendefinisikan sintaks dan perilaku bahasa”.
Sedangkan menurut Supradi (2010a:1), tujuan dari pembuatan bahasa pemrograman java adalah “multi purpose, multiplatform (dapat berjalan di beberapa sistem operasi), mudah dipelajari dan powerful”.
Java memiliki beberapa keunggulan yang tidak bisa dimiliki oleh Bahasa lain. Berdasarkan white paper resmi dari Sun Microsystems, dalam Prabawati dkk.
(2010:76), java memiliki karakteristik sebagai beikut:
1. Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek (object oriented)
Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Dapat didistribusikan dengan mudah
Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4. Interpreter
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust
Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.
6. Aman
Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.
8. Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance
Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10. Multithreaded
Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
11. Dinamis
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu kelas dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan kelas tersebut.
2.1.3. Pemrograman Berorientasi Objek
Pemrograman berorientasi objek merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Dibandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Menurut Supardi (2010:320), “OOP (Object Oriented Programming) merupakan cara berpikir, pandangan atau paradigma baru untuk membuat program atau merancang sistem dengan memperhatikan objek, ciri objek dan perilakunya”.
Dimana semua data dan fungsi di dalam metode ini dibungkus didalam class-class atau object-object. Setiap objek yang kita buat dapat menerima instruksi, memproses data, dan mengirim instruksi atau data ke objek lainnya, Pemrograman berorientasi objek memandang bahwa semua pemecahan masalah
dibagi ke dalam kelas. Kelas tersebutlah yang akan menciptakan sebuah objek yang memiliki atribut atau ciri-ciri dan metode atau tingkah laku.
2.1.4. Netbeans IDE
Menurut Nofriadi (2015:4), “netbeans merupakan sebuah aplikasi Integrated Development Environment (IDE) yang berbasiskan java dari Sun Microsystem yang berjalan di atas swing dan banhyak digunakan sekarang sebagai editor untuk berbagai Bahasa pemrograman”. Sun Microsystems mendirikan proyek kode terbuka Netbeans pada tahun 2000 dan terus menjadi sponsor utama. Saat ini terdapat dua produk:
1. The Netbeans IDE
Adalah sebuah lingkungan pengembangan sebuah kakas untuk pemograman menulis, mengompilasi, mencari kesalahan dan menyebarkan program.
Netbeans ini ditulis dalam Java namun dapat mendukung bahasa pemograman lain. Netbeans IDe ini merupakan produk bebas dengan tanpa batasan bagaimana digunakan.
2. Netbeans Platform
Merupakan sebuah pondasi yang modular dan dapat diperluas yang dapat digunakan sebagai perangkat lunak dasar untuk membuat aplikasi desktop yang besar. Mirta ISV menyediakan plug-in bernilai tambah dan dapat dengan mudah di integrasikan kedalam platform dan dapat juga digunakan untuk membuat kakas dan solusi sendiri. Kedua produk diatas adalah kode terbuka (open source) dan bebas (free) untuk guna ulang dengan lisensi Common Development and Distribution License (CDDL).
2.1.5. Basis Data (Database)
Menurut Yuzefizard (2012:2), “basis data terdiri atas 2 kata, yaitu basis dan data. Basis kurang lebih dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul, sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek”. Sedangkan menurut Lubis (2016:2), “basis data merupakan gabungan file data yang dibentuk dengan hubungan/relasi yang logis dan dapat diungkapkan dengan catatan serta bersifat independen”.
Operasi-operasi dasar yang dapat dilakukan berhubungan dengan basis data menurut Fathansyah (2007:4), diantaranya meliputi:
1. Pembuatam basis data baru (crate database), yang indentik dengan pembuatan lemarri arsip yang baru.
2. Penghapusan basis data (drop database), yang identik dengan perusakan lemari arsip.
3. Pembuatan file atau tabel baru ke suatu basis data (crate table), yang identik dengan penambahan map arsip baru ke sebuah lemari arsip yang telah ada.
4. Penghapusan file atau tabel dari suatu basis data (drop table), yang identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip.
5. Penambahan atau pengisian daa bar uke sebuah file atau tabel di sebuah basis data (insert), yang identik dengan penambahan lembaran arsip ke sebuah map arsip.
6. Opengambilan data dari sebuah file atau tabel (retrieve atau search), yang identik dengan pencarian lembaran arsip dari sebuah map arsip.
7. Pengubahan data dari sebuah file atau tabel (update), yang identik dengan perbaikan isi lembaran arsip yang adadi sebuah map arsip.
8. Penghapusan data dari sebuah file atau tabel (delete), yang identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.
2.1.6. XAMPP
Menurut Wicaksono (2008:7), menjelaskan bahwa “XAMPP adalah sebuah software yang berfungsi untuk menjalankan website berbasis PHP dan menggunkan pengelohan data MySQL di komputer lokal”.
Menurut Riyanto (2010:1), dikutip dalam (Choliviana, Triyono, & sukadi, 2012) ”XAMPP merupakan paket PHP dan MySQL berbasis open source yang dapat digunakan sebagai tool pembantu pengebangan aplikasi berbasis PHP”.
Memanfaatkan XAMPP sebagai database karena XAMPP menyediakan aplikasi database MySQL dengan interface lebih mudah dalam pengoperasiannya, tool-tool yang disediakan cukup lengkap dan memenuhi kebutuhan perancangan database selain itu XAMPP juga termasuk aplikasi gratis.
2.1.7. MySQL
Menurut Ramadhan (2011:151), menyatakan bahwa “MySQL adalah salah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengelolaan datanya”.
MySQL adalah singkatan dari My sequel yang bisa didefinisikan sebuah software dengan sistem manajemen basis data SQL atau DBMS yang multithread dan multi-user dengan jumlah instalasi sekitar enam juta diseluruh dunia.
MySQL didirikan oleh para ahli teknologi dari Swedia, yakni David Axmark, Allan Larsson dan seorang lagi berasal dari Finlandia, yakni Michael
“Monty” Widenus. Kehadiran software ini di dunia teknologi komputer telah mengubah dan mempengaruhi segala hal yang berhubungan dengan dunia blogging dan website. Sebagai satu sistem, MySQL dianggap sebagai terobosan yang sangat bermanfaat bagi penggunanya. Kepopuleran MySQL antara lain Karena MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses database-nya sehingga mudah untuk digunakan, kinerja query cepat, dan mencukupi untuk kebutuhan database perusahaan-perusahaan skala menengah kecil. MySQL juga bersifat open source dan free (tidak perlu membayar untuk menggunakannya) pada berbagai platfrom (kecuali pada windows, yang bersifat shareware). MySQL didistribusikan dengan lisensi open source GPL (General Public License) mulai versi 3.23, pada bulan juni 2000.
2.1.8. iReport
Menurut Kurniawan dkk. (2011:38), “iReport adalah report designer visual yang dibangun pada JasperReport”.
Sedangkan menurut Spriyanto (2010:182), “iReport merupakan software yang digunakan untuk membuat dan mendesain template report atau laporan dengan tampilan GUI, sehingga anda tidak perlu mengetik secara manual file XML untuk membuat template report-nya”.
iReport bersifat intuitif dan mudah digunakan pembangun laporan visual atau desainer untuk JasperReport dan tertulis dalam kitab Java. Sebagai alternatif, terdapat tools iReport (dengan library JasperReport) yang dapat membantu dalam
pembuatan laporan. Library JasperReport sendiri merupakan Java Library (JAR) yang bersifat open dan dirancang untuk menambahkan kemampuan pelaporan (reporting capabilities) pada aplikasi java. JasperReport memiliki sejumlah fitur, diantaranya adalah sebagai berikut:
1. Layout dan desain laporan yang fleksibel.
2. Dapat menampilkan laporan dalam bentuk teks maupun gambar (chart).
3. Dapat menghasilkan Report dalam berbagai format, seperti: html, pdf, rtf, xls, dan csv.
4. Dapat menerima data dari berbagai sumber data, seperti: JDBC, Bean Collection, ResultSet, CSV, XML dan Hibernate
2.1.9. Pengertian Persediaan
Menurut Handoko (2008:333), “istilah persediaan (inventory) adalah suatu istilah umum yang menunjukan segala sesuatu atau sumber daya - sumber daya organisasi yang disimpan dalam antisipasinya terhadap pemenuhan permintaan”.
Sedangkan menurut Herjanto (2015:237), “persediaan adalah bahan atau barang yang disimpan yang akan digunakan untuk memenuhi tujuan tertentu, misalnya untuk digunakan dalam proses produksi atau perakitan, untuk dijual kembali, atau untuk suku cadang dari suatu peralatan atau mesin”.
Ada beberapa jenis persediaan, setiap jenis mempunyai karakteristik khusus tersendiri dan cara pengolahannya yang berbeda, menurut Handoko (2008:334), jenis persediaan dapat dibedakan atas:
1. Persediaan bahan mentah (raw material), yaitu persediaan barang-barang berwujud seperti baja, kayu, dan komponen-komponen lainnya yang digunakan
dalam proses produksi. Bahan mentah dapat diperoleh dari sumber-sumber alam atau dibeli dari para supplier atau dibuat sendiri oleh perusahan untuk digunakan dalam proses produksi selanjutnya.
2. Persediaan komponen-komponen rakitan (purchased parts/components), yaitu persediaan barang barang yang terdri dari komponen-komponen yang diperoleh dari perusahaan lain, di mana secara langsung dapat dirakit menjadi suatu produk.
3. Persediaan bahan pembantu atau penolong (supplies), yaitu persediaan barang- barang yang diperlukan dalam proses produksi, tetapi tidak merupakan bagian atau komponen barang jadi.
4. Persediaan barang dalam proses (work in process), yaitu persediaan barang- barang yang merupakan keluaran dari tiap-tiap bagian dalam proses produksi atau yang telah diolah menjadi suatu bentuk, tetapi masih perlu diproses lebih lanjut menjadi barang jadi.
5. Persediaan barang jadi (finished goods), yaitu persediaan barang-barang yang telah selesai diproses atau diolah dalam pabrik dan siap untuk dijual atau dikirim kepada pelanggan.
2.2. Peralatan Pendukung (Tools Program)
Merupakan alat yang digunakan untuk menggambarkan bentuk logika model dari suatu sistem dengan menggunakan simbol-simbol dan diagram-diagram yang menunjukan secara tepat arti dan fungsinya. Adapun peralatan pendukung (tools program) yang dijelaskan sebagai model sistem yang akan dirancang adalah sebagai berikut:
2.2.1. Unified Modelling Language (UML) 1. Definisi Unified Modelling Language (UML)
Unified Modeling Language (UML) adalah bahasa untuk spesifikasi, visualisasi, konstruksi, dan dokumentasi pembuatan software. Dengan menggunakan UML (Unified Modeling Language) kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML (Unified Modeling Language) juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi obyek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML (Unified Modeling Language) tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
Menurut Shalahuddin Dan Rosa A.S. (2016:133), “UML (Unified Modeling Language) adalah standar bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek”.
2. Jenis-Jenis diagram UML (Unified Modeling Language).
UML (Unified Modeling Language) menurut Shalahuddin Dan Rosa A.S.
(2016:140), terdapat 13 macam diagram yang dikelompokan dalam 3 kategori, diantaranya:
a. Structure Diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan.
1) Class diagram 2) Object diagram
3) Component diagram
4) Composite strukture diagram 5) Package diagram
6) Deployment diagram
b. Behavior Diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem.
1) Use Case Diagram 2) Activity Diagram 3) State Machine Diagram
c. Intraction Diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar sub-sistem pada suatu sistem.
1) Sequence Diagram 2) Communication Diagram 3) Timing Diagram
4) Interaction Overview Diagram
Dalam perancangan perangkat lunak ini penulis hanya menggunakan 4 dari 13 model diagram yang telah disebutkan diatas, dibawah ini beberapa jenis diagram dalam UML (Unified Modeling Language), antara lain:
1. Use Case Diagram
Menurut Shalahuddin Dan Rosa A.S. (2016:155) menyatakan bahwa:
Use case atau diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi anatara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar use case digunakan untuk mengetahui fungsi apa
saja yang ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi - fungsi itu.
Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut actor dan use case.
a. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar system informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari actor adalah gambar orang, tetapi actor belum tentu merupakan orang.
b. Use Case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor.
2. Activity Diagram
Menurut Shalahuddin Dan Rosa A.S. (2016:155) menyatalan bahwa:
Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktifitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas system bukan apa yang dilakukan actor, jadi aktivitas yang dapat dilakukan oleh system.
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 dari sitem / user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
c. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya.
d. Rancangan menu yang ditampilkan pad perangkat lunak.
3. Sequence Diagram
Menurut Shalahuddin Dan Rosa A.S. (2016:165), “diagram Sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek”. Oleh karena itu untuk menggambar sekuen diagram maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang yang diinstansiasi menjadi objek itu. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case.
4. Class Diagram
Menurut Shalahuddin Dan Rosa A.S. (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 dan metode atau operasi”. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas dan operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
Diagram kelas dibuat agar pembuat program atau programmer membuat kelas-kelas sesuai rancangan di dalam diagram kelas agar antara dokumentasi perancangan dan perangkat lunak sinkron.
2.2.2. Black Box Testing
Menurut Pressman (2010:495), “Black-Box testing berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan engineers untuk memperoleh set kondisi input yang sepenuhnya akan melaksanakan persyaratan fungsional untuk sebuah program”. Black-Box testing berusaha untuk menemukan kesalahan dalam kategori berikut:
1. Fungsi yang tidak benar atau fungsi yang hilang 2. Kesalahan antarmuka
3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan perilaku (behavior) atau kesalahan kinerja
5. Inisialisasi dan pemutusan kesalahan