BAB II LANDASAN TEORI 2.1 Pengertian Model dan Simulasi Model adalah representasi sistem yang ditentukan untuk tujuan studi terhadap suatu sistem. Sebuah model bekerja sebagai penyederhanaan sebuah sistem yang diharapkan dapat menghasilkan kesimpulan valid yang bisa menggambarkan sistem. Sedangkan simulasi dapat didefinisikan sebagai tiruan bekerjanya suatu proses atau sistem yang berjalan dalam suatu rentang waktu. Simulasi tersebut memodelkan perilaku sebuah sistem untuk menggambarkan sebuah perilaku nyata ketika proses pembentukan model sistematis sulit dilakukan karena sistem nyata yang kompleks (Banks, 2001). 2.1.1 Karakteristik Model dan Simulasi Karakteristik model dan simulasi yang baik adalah sebagai berikut: 1. Hanya melibatkan elemen-elemen yang secara langsung terlibat dalam masalah yang akan dipecahkan. 2. Valid, mewakili sistem yang sebenarnya. 3. Memberikan output atau hasil yang mudah dimengerti. 4. Mudah dimodifikasi dan dikembangkan. 5. Dapat digunakan berulang. 2.1.2 Jenis Model dan Simulasi Model dan Simulasi terbagi menjadi beberapa jenis yaitu: 1. Model Simulasi Kontinyu adalah model simulasi dimana state (status) dari sistem berubah secara kontinyu karena berubahnya waktu (continuouschange state variables), contohnya adalah aplikasi simulasi yang digunakan untuk menduga pertumbuhan dari pohon jati emas seperti yang dikembangkan oleh Eliyani (2011). 2. Model Simulasi Statis adalah representasi sistem pada suatu waktu tertentu, atau model yang digunakan untuk merepresentasikan sistem dimana waktu 8 http://digilib.mercubuana.ac.id/ 9 tidak mempunyai peranan, contoh simulasi Monte Carlo (simulasi prilaku sistem fisika dan matematika). 3. Model Simulasi Dinamis adalah representasi sistem sepanjang pergantian waktu ke waktu, contohnya sistem conveyor di pabrik. 4. Model Simulasi Deterministik adalah model simulasi yang tidak mengandung komponen yang sifatnya probabilistik (acak) dan output telah dapat ditentukan begitu sejumlah input dan hubungan tertentu dimasukkan (Shi, 2009). 5. Model Simulasi Stokastik adalah model simulasi yang mengandung inputinput probabilistik (acak) dan output yang dihasilkan pun sifatnya acak (probabilistik). 6. Model Simulasi Diskrit adalah model suatu sistem dimana perubahan state terjadi pada satuan-satuan waktu yang diskrit sebagai hasil suatu kejadian tertentu (discrete-change state variables), contohnya simulasi antrian. 2.2 Pengertian Rudal Rudal atau misil adalah senjata militer yang bisa dikendalikan ataupun diluncurkan dengan menyesuaikan arah dan sudut elevasi. Arah luncur rudal tersebut dihitung secara matematis menggunakan rumus gerak parabola dengan sudut elevasi, gravitasi, dan daya luncur sebagai variabel utama. Rudal terbagi menjadi beberapa kategori, untuk rudal diatas 5,500 km dikategorikan sebagai rudal balistik, rudal yang bisa mencapai sasaran sejauh 1,000~5,500 km dikategorikan sebagai rudal jarak menengah, sedangkan untuk sasaran 0~1,000 km dikategorikan sebagai rudal jarak pendek. Rudal pertama dibuat di Cina pada abad ke-13. Semenjak awal di Cina, rudal digunakan sebagai mercon/kembang api yang mampu melesat ke udara hingga membentuk kembang api raksasa di angkasa. Pada masa perang, mercon berubah fungsi menjadi sarana peluncur panah api. Lewat jalur perdagangan, pengetahuan tentang pembuatan mercon itu sampai ke India dan bahkan sampai kepada bangsa barat. Ditangan bangsa barat mercon dikembangkan menjadi rudal melalui serangkaian penelitian selama lima abad yaitu sejak abad ke-13 sampai ke-18. Rudal modern bermula ketika Robert Goddard seorang insinyur dari Amerika Serikat meletakkan corong de laval pada kamar pembakaran mesin http://digilib.mercubuana.ac.id/ 10 rudal, menggandakan daya dorong dan meningkatkan keefisienan pada rudal. Kemudian pada tahun 1926, Robert Goddard berhasil meluncurkan rudal pertama di Auburn Massachusetts. Rudal ini menggunakan minyak dan oksigen dan bisa meluncur sampai ketinggian 12 meter. Selanjutnya Goddard merancang rudal yang lebih besar dan lebih cepat, hingga bisa terbang sampai ketinggian 2 km (Anonim, 2015). 2.2.1 Rudal KH-31P Rudal KH-31P atau biasa disebut Krypton adalah rudal buatan rusia yang biasa digunakan sebagai sistem pertahanan udara. Rudal ini memiliki panjang 5,2 meter dengan bobot 60 kg. Dengan bobot dan panjang tersebut rudal ini dapat melesat hingga 100 km. Selain Indonesia, Rudal ini juga digunakan oleh Rusia, Algeria, Suriah, India, China, dan Vietnam. 2.2.2 Rudal C-705 Rudal C-705 adalah rudal produksi rusia dengan bobot 110 kg dan panjang 10 Meter. Rudal ini dapat mencapai jangkauan maksimum 170 km dengan daya ledak atau Kill Probabiliy 95,7%. Di Indonesia sendiri rudal C-705 sudah dimiliki TNI dan diaplikasikan kedalam kapal - kapal perang. 2.2.3 Rudal KARTIKA-INDO Kartika Indo adalah roket percobaan dua tingkat sasaran darat ke darat yang dikembangkan dislitbangau. Rudal ini memiliki panjang 6 meter dengan bobot 68 kg serta memiliki jarak tembak maksimum 150 km pada ketinggian elevasi maksimal 80 derajat. 2.3 Gerak Parabola Gerak parabola atau biasa juga disebut gerak peluru merupakan suatu jenis gerakan benda yang pada awalnya diberi kecepatan awal lalu menempuh lintasan yang arahnya dipengaruhi oleh gravitasi. Karena gerak parabola termasuk dalam pokok bahasan kinematika, yaitu ilmu fisika yang membahas tentang gerak benda tanpa mempersoalkan penyebabnya maka gaya sebagai penyebab gerakan benda diabaikan, demikian juga gaya gesekan udara yang menghambat gerak benda. Gerak parabola hanya meninjau gerakan benda tersebut setelah diberikan http://digilib.mercubuana.ac.id/ 11 kecepatan awal (daya luncur) dan bergerak dalam lintasan melengkung sesuai sudut elevasi dimana hanya terdapat pengaruh gravitasi. Dikatakan sebagai gerak parabola karena arah lintasan yang diciptakan dari kombinasi kecepatan, gravitasi dan sudut elevasi menciptakan lintasan melengkung parabolik (Purwanto, 2007). 2.3.1 Jenis - Jenis Gerak Parabola Dalam kehidupan sehari hari terdapat beberapa jenis gerak parabola yaitu: 1. Gerakan benda berbentuk parabola ketika diberikan kecepatan awal dengan sudut teta terhadap garis horisontal, sebagaimana tampak pada Gambar 2.1. Gambar 2.1 Gerak Benda Berbentuk Parabola (Sumber: Purwanto, 2007). Dalam kehidupan sehari-hari terdapat banyak gerakan benda yang berbentuk demikian. Beberapa di antaranya adalah gerakan bola yang ditendang oleh pemain sepak bola, gerakan bola basket yang dilemparkan ke ke dalam keranjang, gerakan bola tenis, gerakan bola volly, gerakan lompat jauh dan gerakan peluru atau rudal yang ditembakan dari permukaan bumi. 2. Gerakan benda berbentuk parabola ketika diberikan kecepatan awal pada ketinggian tertentu dengan arah sejajar horisontal. Beberapa contoh gerakan jenis ini yang kita temui dalam kehidupan sehari-hari, meliputi gerakan bom yang dijatuhkan dari pesawat atau benda yang dilemparkan ke bawah dari ketinggian tertentu sebagaimana tampak pada Gambar 2.2. http://digilib.mercubuana.ac.id/ 12 Gambar 2.2 Gerak Benda Berbentuk Parabola Pada Ketinggian Tertentu (Sumber: Purwanto, 2007). 3. Gerakan benda berbentuk parabola ketika diberikan kecepatan awal dari ketinggian tertentu dengan sudut teta terhadap garis horisontal, sebagaimana tampak pada Gambar 2.3. Gambar 2.3 Gerak Berbentuk Parabola Pada Ketinggian dan Sudut Tertentu (Sumber: Purwanto, 2007). 2.3.2 Analisa Gerak Parabola Gerak parabola dapat dipahami dengan menganalisa komponen-komponen horisontal dan vertikal secara terpisah. Karena gerak parabola adalah gerak dua dimensi, dimana melibatkan sumbu horisontal dan vertikal. Maka gerak parabola merupakan superposisi atau gabungan dari gerak horisontal dan vertikal. Dapat disebut bidang gerak peluru sebagai bidang koordinat xy, dengan sumbu x horisontal dan sumbu y vertikal. Percepatan gravitasi hanya bekerja pada arah vertikal, gravitasi tidak mempengaruhi gerak benda pada arah horisontal (Purwanti. 2012). http://digilib.mercubuana.ac.id/ 13 Percepatan pada komponen x adalah nol karena gerak peluru hanya dipengaruhi oleh gaya gravitasi. Pada arah horisontal atau komponen x, gravitasi tidak bekerja. Percepatan pada komponen y atau arah vertikal bernilai tetap (g = gravitasi) dan bernilai negatif /-g (percepatan gravitasi pada gerak vertikal bernilai negatif, karena arah gravitasi selalu ke bawah alias ke pusat bumi). Gerak horisontal (sumbu x) dapat dianalisis dengan Gerak Lurus Beraturan, sedangkan Gerak Vertikal (sumbu y) dianalisis dengan Gerak Jatuh Bebas. Gambar 2.4 Persamaan GLB & GLBB Gerakan benda setelah diberikan kecepatan awal dengan sudut tetap terhadap garis horisontal. Kecepatan awal (vo) gerak benda diwakili oleh v0x dan v0y.v0x merupakan kecepatan awal pada sumbu x, sedangkan v0y merupakan kecepatan awal pada sumbu y. Vy merupakan komponen kecepatan pada sumbu y dan vx merupakan komponen kecepatan pada sumbu x. Pada titik tertinggi lintasan gerak benda, kecepatan pada arahvertikal (vy) sama dengan nol. Sedangkan, gerakan benda setelah diberikan kecepatan awal pada ketinggian tertentu dengan arah sejajar horisontal. Gambar 2.5 Gerak Benda Dengan Arah Sejajar Horizontal http://digilib.mercubuana.ac.id/ 14 Kecepatan awal (vo) gerak benda diwakili oleh v0x dan v0y.v0x merupakan kecepatan awal pada sumbu x, sedangkan Kecepatan awal pada sumbu vertikal (voy) = 0, vy merupakan komponen kecepatan pada sumbu y dan vx merupakan komponen kecepatan pada sumbu x. Karena terdapat sudut yang dibentuk, maka kita harus memasukan sudut dalam perhitungan kecepatan awal. Kemudian turunkan persamaan kecepatan awal untuk gerak horisontal (v0x)dan vertikal (v0y) dengan bantuan phytagoras. Gambar 2.6 Persamaan Phytagoras Berdasarkan bantuan rumus phytagoras sinus, cosinus dan tangen di atas, maka kecepatan awal pada bidang horisontal dan vertikal dapat dirumuskan seperti gambar diatas. Dengan v0 adalah kecepatan awal, v0x adalah kecepatan awal pada sumbu x, v0y adalah kecepatan awal pada sumbu y, teta adalah sudut yang dibentuk terhadap sumbu x positif. 2.3.3 Persamaan Gerak Parabola Berdasarkan persamaan kecepatan awal untuk komponen gerak horisontal v0x dan kecepatan awal untuk komponen gerak vertikal, maka kita dapat ditulis persamaan gerak parabola secara lengkap sebagai berikut: Gambar 2.7 Persamaan Gerak Parabola http://digilib.mercubuana.ac.id/ 15 Tabel 2.1 Keterangan Persamaan Gerak Parabola Simbol Keterangan Satuan Kecepatan / Daya Luncur m/s (Meter per Second) g Gravitasi (konstan) m/s2 (Meter per Second Kuadrat) α Sudut Elevasi ° (Derajat) Ymax Tinggi Max m (Meter) Xmax Jarak Tempuh Max m (Meter) Y Jarak Peluru Saat t = n Second m (Meter) X Tinggi Peluru Saat t = n Second m (Meter) Vo 2.4 Pengertian Software Perangkat lunak (software) dapat didefinisikan sebagai suatu program yang berisikan instruksi untuk melakukan pengolahan data (Romi, 2013). Perangkat lunak digolongkan menjadi beberapa jenis, yaitu: 2.4.1 Sistem Operasi Sistem operasi adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi. Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali. Contoh sistem operasi adalah DOS, Unix, Novell, OS/2, Windows. 2.4.2 Program Utility Program utility berfungsi untuk membantu atau mengisi kekurangan dari sistem operasi, misalnya PC Tools dapat melakukan perintah format sebagaimana DOS, tapi PC Tools mampu memberikan keterangan dan animasi yang bagus dalam proses pemformatan. File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan. Contoh program utility adalah Norton Utility, Scandisk, PC Tools. http://digilib.mercubuana.ac.id/ 16 2.4.3 Program Aplikasi Merupakan program yang khusus melakukan suatu pekerjaan tertentu, seperti program gaji pada suatu perusahaan. Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain. Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaan/kebutuhan seseorang/lembaga/perusahaan guna keperluan interennya. Contohnya seperti GL, MYOB, Payroll, dan aplikasi penjualan. 2.4.4 Program Paket Program paket adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan. Seperti MSWord, dapat digunakan oleh departemen keuangan untuk membuat nota, atau bagian administrasi untuk membuat surat penawaran dan lain sebagainya. Contohnya seperti MS-Word, MS-Excel, Lotus 125. 2.4.5 Bahasa Pemrograman Bahasa pemprograman adalah bahasa yang digunakan dalam merancang atau menkonversi abstraksi yang dimengerti komputer untuk dijadikan sebuah program (Francisco 2013). Bahasa pemrograman ini terbagi atas 3 tingkatan, yaitu: 1. Low Level Language, bahasa pemrograman generasi pertama, bahasa pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. 2. Midle Level Language, merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari, walaupun begitu masih sulit untuk dimengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE).Yang tergolong kedalam bahasa ini adalah Assembler, ForTran (Formula Translator). 3. High Level Language, merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti, karena menggunakan bahasa sehari-hari, seperti BASIC, COBOL, dBase. http://digilib.mercubuana.ac.id/ 17 2.5 Pemprograman Java Pemrograman adalah salah satu ilmu penting bagi mahasiswa komputer yang secara garis besar hal ini merupakan dasar mengubah abstraksi menjadi kenyataan dalam perhitungan logika komputer,menemukan sintaksis, logis, dan penyelesaian pada bugs (Francisco, 2013). Pemrograman Java sendiri adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java yang disebut dengan Java Application Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package). Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java. Gambar 2.8 Alur Programing Java http://digilib.mercubuana.ac.id/ 18 Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di internet sehingga dirancang agar aman dan portabel. 2.5.1 Platform Independent Platform independent berarti program yang ditulis dalam bahasa Java dapat dengan mudah dipindahkan antar berbagai jenis sistem operasi dan berbagai jenis arsitektur komputer. Aspek ini sangat penting untuk dapat mencapai tujuan Java sebagai bahasa pemrograman internet dimana sebuah program akan dijalankan oleh berbagai jenis komputer dengan berbagai jenis sistem operasi. Sifat ini berlaku untuk level source code dan binary code dari program Java. Berbeda dengan bahasa C dan C++, semua tipe data dalam bahasa Java mempunyai ukuran yang konsisten di semua jenis platform. Source code program Java sendiri tidak perlu dirubah sama sekali jika ingin mengkompile ulang di platform lain. Hasil dari mengkompile source code Java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan berupa bytecode yang berupa file berekstensi .class. Bytecode tersebut dapat langsung di eksekusi di tiap platform yang dengan menggunakan Java Virtual Machine (JVM) sebagai interpreter terhadap bytecode tersebut (Francisco 2013). JVM Gambar 2.9 Alur Java Virtual Machine Kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. JDK ini dapat didownload gratis dari situs java.sun.com. Interpreter untuk program Java sendiri sering juga http://digilib.mercubuana.ac.id/ 19 disebut Java Runtime atau Java Virtual Machine. Interpreter Java, tanpa kompilernya, disebut Java Runtime Environment (JRE) dapat didownload juga di situs yang sama. Untuk mengembangkan program Java dibutuhkan JDK, sementara jika hanya ingin menjalankan bytecode Java cukup dengan JRE saja. 2.5.2 Library Java Selain kompiler dan interpreter, bahasa Java sendiri memiliki library yang cukup besar yang dapat mempermudah User dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk grafik, desain tampilan, kriptografi, jaringan, suara, basis data, dan lain-lain (Francisco 2013). 2.5.3 Orientation Object Java adalah bahasa pemrograman berorientasi objek. Pemrograman berorientasi objek secara umum adalah teknik untuk mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun Java sendiri telah mengimplementasikan berbagai fasilitas agar seorang programer dapat mengoptimalkan teknik pemrograman berorientasi objek (Francisco, 2013). Sedikit perbandingan tambahan dengan bahasa C dan C++, Java banyak mewarisi konsep orientasi objek dari C++ namun dengan menghilangkan aspek aspek kerumitan dalam bahasa C++ tanpa mengurangi kekuatannya. Hal ini mempermudah programer pemula untuk mempelajari Java namun mengurangi keleluasaan programer berpengalaman dalam mengutak-atik sebuah program. Di balik kemudahan yang ditawarkan Java, luasnya fasilitas library Java sendiri membuat seorang programer membutuhkan waktu yang tidak singkat untuk dapat menguasai penggunaan library tersebut. 2.5.4 Source Code Source code (atau disebut juga source) adalah kumpulan pernyataan atau deklarasi bahasa pemrogramman komputer yang ditulis dan dapat di baca manusia. Source code memungkinkan programmer untuk berkomunikasi dengan komputer menggunakan beberapa perintah yang telah terdefinisi (Francisco, 2013). Source Code merupakan sebuah program yang biasanya dibuat dalam satu atau lebih file teks, kadang-kadang disimpan dalam database yang disimpan http://digilib.mercubuana.ac.id/ 20 sebagai prosedur dan dapat juga muncul sebagai potongan kode yang tercetak di buku atau media lainnya. Perlu diingat bahwa bahasa Java bersifat case sensitive, sehingga User harus memperhatikan penggunaan huruf besar dan kecil. Selain itu penulisan source code program tidak harus memperhatikan bentuk tertentu, sehingga User bisa saja menuliskan semua baris source code tersebut dalam satu baris asal User tidak lupa membubuhkan tanda titik koma (;), atau menuliskan tiap kata dalam satu baris tersendiri. 2.6 Netbeans Netbeans adalah salah satu aplikasi IDE yang digunakan programmer untuk menulis, mengompile, mencari kesalahan, dan menyebarkan program. Netbeans ditulis dalam bahasa Java namun dapat juga mendukung bahasa pemrogramman lain. Netbeans Merupakan IDE (Integrated Development Environment) berbasiskan Java dari Sun Microsystems yang berjalan diatas Swing. Swing merupakan sebuah teknologi Java untuk pengembangan aplikasi Desktop yang dapat berjalan di berbagai macam platforms seperti Windows, Linux, Mac OS X dan Solaris (Thamura, 2014). 2.6.1 Paket-Paket Tambahan Pada Netbeans Netbeans menyediakan paket - paket tambahan yang dapat membangtu User dalam mengembangkan aplikasi, paket - paket tersebut antara lain: 1. NetBeans Mobility Pack, adalah alat untuk mengembangkan aplikasi yang berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga mencakup PDA, dan lain-lain. 2. Netbeans C/C++ Pack, Menambahkan dukungan terhadap pengembangan aplikasi C/C++. 3. Netbeans Enterprise Pack, Digunakan untuk Memperluas dukungan terhadap pengembangan aplikasi perusahaan. 4. Netbeans Ruby Pack, Mengijinkan pengembangan IDE menggunakan ruby dan JRubby. 5. Netbeans Java Script, Menyediakan perluasan terhadap JavaScript dan CSS. http://digilib.mercubuana.ac.id/ 21 2.6.2 Databases Pada Netbeans Netbeans juga menyediakan fitur koneksi database yang dapat digunakan oleh User dalam mengolah data - data pada program yang dirancang. Terdapat beberapa media database yang disediakan Netbeans, antara lain: 1. JDBC (Java database connectivity) adalah spesifikasi standar dari JavaSoft API (Aplication Programming Interface) yang memungkinkan program Java untuk mengakses sistem database manajemen. JDBC API terdiri dari satu set interface dan kelas yang ditulis dalam bahasa pemrogaman dapat menulis aplikasi yang terhubung ke database, mengirimkan pertanyaan ditulis SQL (Structured Query Language) dan memproses hasilnya. 2. MySQL, merupakan salah satu aplikasi basisdata yang didukung oleh Netbeans, MySQL memiliki fitur yang ada sudah lumayan lengkap, dari input, update, delete serta search. Berikut sekilas mengenai beberapa syntax SQL yang digunakan pada Netbeans: a. java.sql.Statement, Merupakan interface yang digunakan untuk mengirim laporan statis SQL ke server database dan memperoleh hasilnya. b. javax.sql.ConnectionEventListener,Menerima event atau kejadian bahwa obyek PooledConnection digeneralisasi. c. java.sql.SQLDate, Merupakan subclass dari java.util.Date digunakan untuk tipe data SQL DATE. d. java.lang.DriverManager, Merupakan class yang digunakan untuk mengelola satu set JDBC drivers. e. java.sql.SQLException, Merupakan ekspresi yang menyediakan ekspresi yang menyediakan informasi tentang database error f. java.sql.SQLWarning, Merupakan informasi tentang peringatan database. 3. Database Access, merupakan salah satu aplikasi basisdata yang didukung oleh Netbeans, data dapat disimpan didalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, dan semua kontainer basisdata yang mendukung standar ODBC. Access juga mendukung teknik-teknik pemrogaman berorientasi obyek. http://digilib.mercubuana.ac.id/ 22 4. Oracle, merupakan salah satu aplikasi basisdata yang didukung oleh Netbeans, Oracle secara umum hamper sama dengan MySQL namun yang membedakan adalah oracle dapat digunakan dan dihubungkan dengan netbeans dan harus menggunakan drivers untuk menyimpan data-data yang telah dibuat. Oracle merupakan salah satu dari beberapa aplikasi basisdata yang sering digunakan untuk koneksi ke basisdata pada NetBeans karena relative mudah dan cepat. 2.7 MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari system manajemen basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris. MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan yang memiliki MySQL. Pendiri MySQL AB adalah dua orang Swedia yang bernama David Axmark, Allan Larsson dan satu orang Finlandia bernama Michael “Monty”. Setiap pengguna MySQL dapat menggunakannya secara bebas yang didistribusikan gratis dibawah lisensi GPL (General Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial. Pada saat ini MySQL merupakan database server yang sangat terkenal di dunia, semua itu tak lain karena bahasa dasar yang digunakan untuk mengakses database yaitu SQL. SQL (Structured Query Language) pertama kali diterapkan pada sebuah proyek riset pada laboratorium riset San Jose, IBM yang bernama system R. Kemudian SQL juga dikembangan oleh Oracle, Informix dan Sybase. Dengan menggunakan SQL, proses pengaksesan database lebih user-friendly dibandingan dengan yang lain, misalnya dBase atau Clipper karena mereka masih menggunakan perintah-perintah pemrograman murni (Douglas, 2006). 2.8 JDK (Java Development Kit) Java merupakan sebuah teknologi yang diperkenalkan oleh Sun Microsysytems pada pertengahan tahun 1990. Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada http://digilib.mercubuana.ac.id/ 23 computer standalone ataupun pada lingkungan jaringan. Untuk membuat program Java dibutuhkan kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems, (Techopedia.com 2015). 2.9 UML (Unified Modelling Language) UML salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembangan sistem untuk membuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi dan mengkomunikasikan rancangan mereka dengan yang lain. UML adalah hasil kerja dari konsorsium sebagai organisasi yang berhasil dijadikan sebagai standar buku dalam OOAD (Object Oriented Analysis & Design) (Munawar, 2005). 2.9.1 Use Case Diagram Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pungguna. Use case bekerja dengan cara deskripsikan tipikal interaksi pada antar User (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai (Munawar 2005). Dalam pembicaraan tentang use case, pengguna biasanya disebut dengan aktor. Aktor adalah sebuah peran yang bisa dimainkan oleh pengguna dalam interaksinya dengan sistem. http://digilib.mercubuana.ac.id/ 24 Tabel 2.2 Simbol Use Case Diagram NO GAMBAR NAMA KETERANGAN Menspesifikasikan 1 Actor pengguna peran yang mainkan ketika berinteraksi dengan use case. Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri 2 Dependency (independent) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (independent). Hubungan 3 Generalization dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor). 4 Include 5 Association Menspesifikasikan bahwa use case sumber secara eksplisit. Apa yang menghubungkan antara objek satu dengan objek lainnya. Menspesifikasikan paket yang 6 System menampilkan sistem secara terbatas. http://digilib.mercubuana.ac.id/ 25 Lanjutan Tabel 2.2 Simbol Use Case Diagram Deskripsi dari urutan aksi-aksi Use Case 7 yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor Interaksi aturan-aturan dan elemen lain yang bekerja sama untuk Collaboration 8 menyediakan prilaku yang lebih besar dari jumlah dan elemenelemennya (sinergi). Elemen fisik yang eksis saat Note 9 aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi 2.9.2 Activity diagram Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus (Munawar 2005). Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Tabel 2.3 Simbol Activity Diagram No Gambar Nama Keterangan 1 Rounded rectangle Aktivitas, atau penggerak yang terjadi dalam activity diagram. 2 Continuous line Menggambarkan urutan perpindahan kegiatan dari satu aktivitas ke aktivitas yang lain. http://digilib.mercubuana.ac.id/ 26 Lanjutan Tabel 2.3 Simbol Activity Diagram 3 Solid circle menggambarkan proses dimulai pertama kali di dalam activity diagram. 4 Bull’s– eye Menggambarkan bagaimana akhiri dari aktivitas 5 Diamond Menggambarkan adanya percabangan 2.9.3 Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain (Munawar 2005). Class memiliki tiga area pokok yang terdiri dari nama, atribut, dan metoda. Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metode. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metode pada saat run-time. Hubungan antar class antara lain: 1. Asosiasi, yaitu hubungan statis antar class. Menggambarkan class yang memiliki atribut berupa class lain, atau class yang mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metode class asalnya dan menambahkan fungsionalitas baru. 3. Hubungan dinamis, yaitu rangkaian pesan ( message ) yang dipassing dari satu class kepada class lain. http://digilib.mercubuana.ac.id/ 27 2.9.4 Sequence Diagram Sequence Diagram merupakan salah satu yang menjelaskan bagaimana suatu operasi itu dilakukan message (pesan) apa yang dikirim dan kapan pelaksanaannya (Munawar, 2005). Tabel 2.4 Simbol Sequence Diagram NO GAMBAR NAMA 1. KETERANGAN Sebuah entitas manusia/mesin Acktor yang berinteraksi dengan system Entity Class 2. Menggambarkan hubungankegiatan yang di lakukan A focus of 3. control & a life line A message `4. Menggambarkan tempat mulai dan berkhirnya pesan (message) Menggambarkan pengiriman pesan Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Diagram sequence menampilkan interaksi antar objek dalam dua dimensi. Dimensi vertikal adalah poros waktu, dimana waktu berjalan ke arah bawah. Sedangkan dimensi horizontal merepresentasikan objek-objek individual. Tiap objek (termasuk actor) tersebut mempunyai waktu aktif yang direpresentasikan dengan kolom vertikal yang disebut dengan lifeline. Pesan (message) direpresentasikan sebagai panah dari satu lifeline ke lifeline yang lain. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. http://digilib.mercubuana.ac.id/ 28 2.9.5 Flowchart Flowchart menunjukkan alir urutan dan langkah sebuah algoritma dalam program secara logika. Flowchart membantu analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif lain dalam pengoperasian (Munawar, 2005). Tabel 2.5 Simbol Flowchart NO GAMBAR NAMA 1. Menggambarkan proses yang sedang Process Process 2. dilakukan oleh program. Menggambarkan alur pilihan program Decision Decision 3. atau arah navigasi. Menggambarkan input atau kebutuhan Data 4. Predefined Process 5. Line Connector Data Predefined Process Line Connector 6. KETERANGAN Terminator 7. On-page Reference 8. data yang dibutuhkan program. Menggambarkan sub program yang menggambarkan proses. Garis penghubung antar simbol yang menggambarkan alur program. Menggambarkan Terminator On-Page Reference awal dan akhir program. Penghubung alur program paga bagian yang sama. Menggambarkan persiapan data yang Preparation Preparation akan diolah oleh program. http://digilib.mercubuana.ac.id/ 29 2.10 Metode Waterfall Model ini merupakan sebuah pendekatan terhadap pengembangan perangkat lunak yang sistematik, dengan beberapa tahapan, yaitu: System Engineering, Analysis, Design, Coding, Testing dan Maintenance (Roger S. Presman 2002). System Engineering Analysis Design Coding Testing Maintenance Gambar 2.10 Paradigma Waterfall (Classic Life Cycle) Penjelasan Metodelogi Waterfall: 1. System Engineering, merupakan bagian awal dari pengerjaan suatu proyek perangkat lunak. Dimulai dengan mempersiapkan segala hal yang diperlukan dalam pelaksanaan proyek seperti software utama, media pendukung, serta informasi. 2. Analysis, merupakan tahapan dimana System Engineering menganalisis segala hal yang ada pada pembuatan proyek atau pengembangan perangkat lunak yang bertujuan untuk memahami sistem yang ada, mengidentifikasi masalah dan mencari solusinya. 3. Design, tahapan ini merupakan tahap penerjemah dari keperluan atau data yang telah dianalisis ke dalam bentuk interface yang mudah dimengerti oleh pemakai (user). 4. Coding, yaitu menerjemahkan data yang dirancang ke dalam bahasa pemrograman yang telah ditentukan. 5. Testing, merupakan uji coba terhadap sistem atau program setelah selesai dibuat. 6. Maintenance, yaitu penerapan sistem secara keseluruhan disertai pemeliharaan jika terjadi perubahan struktur, baik dari segi software maupun hardware. http://digilib.mercubuana.ac.id/ 30 2.11 Black Box Testing Pengujian Black-Box merupakan metode yang menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan (Rosa dan Shalahuddin, 2011). Pengujian Black-Box dapat menjelaskan kegunaan dari sebuah perangkat lunak dan menentukan apakah sebuah perangkat lunak melakukan apa yang seharusnya dikerjakan berdasarkan persayaratan fungsionalitasnya, tanpa melihat mekanisme internal atau komponen dari keseluruhan sistem. Black Box Testing disebut juga dengan behavioral testing, pengujian ini berfokus pada persyaratan fungsional perangkat lunak. Artinya, Pengujian black- box memungkinkan perekayasa perangkat lunak untuk mendapatkan set kondisi input (masukan) yang akan melaksanakan semua persyaratan fungsional untuk suatu program, kemudian berfokus pada output yang dihasilkan sebagai respon terhadap input atau masukan yang diberikan kepada sistem Pada Black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses yang diinginkan. Metode pengujian black-box bertujuan untuk menemukan kesalahan dalam hal sebagai berikut: 1. Fungsi yang tidak benar atau hilang, 2. Kesalahan pada antarmuka (Interface), 3. Kesalahan pada struktur data atau akses terhadap basis data, 4. Kesalahan pada perilaku dan performa, 5. Inisialisasi dan penghentian kesalahan. Pengujian Black-box cenderung diterapkan pada tahap akhir suatu proses uji coba perangkat lunak. Melalui pengujian ini, kita dapat menentukan apakah suatu fungsi bekerja sesuai dengan spesifikasinya atau tidak. http://digilib.mercubuana.ac.id/