4.6 Bahasa Pemodelan Unifi ed Modeling Language ( UML )
4.6.5 Class Diagr am
Class diagram adalah inti dari proses pemodelan objek. Baik fordward engineering maupun reverse engineeringmemanfaatkan diagram ini. Forward engineering adalah proses perubahan model menjadi kode
program
program sedangakansedangakan reverse engineeringreverse engineering sebaliknya, merubah kodesebaliknya, merubah kode program menjadi model.
program menjadi model.
Diagram kelas memiliki fitur-fitur yang menyertainya yaitu atribut Diagram kelas memiliki fitur-fitur yang menyertainya yaitu atribut dan operasi. Atribut (
dan operasi. Atribut (attributeattribute) dan operasi () dan operasi (operationoperation) menggambarkan) menggambarkan perilaku
perilaku suatu suatu kelas kelas serta serta perluasannya perluasannya sepertiseperti stereotypes, tagged values, stereotypes, tagged values, dan batasan (
dan batasan (constraintsconstraints) merupakan fitur-fitur sebuah kelas.) merupakan fitur-fitur sebuah kelas. Tabel 8. Simbol
Tabel 8. Simbol Class DiagramClass Diagram
No.
No. Simbol Simbol Nama Nama KeterangKeteranganan
1.
1. GeneralizationGeneralization
Hubungan dimana objek anak Hubungan dimana objek anak (descendent)
(descendent) berbagi perilaku dan berbagi perilaku dan struktur data dari objek yang ada di struktur data dari objek yang ada di atasnya objek induk (
atasnya objek induk (ancestor ancestor ).). 2.
2. Nary Nary
Association Association
Upaya untuk menghindari asosiasi Upaya untuk menghindari asosiasi dengan lebih dari 2 objek.
dengan lebih dari 2 objek.
3.
3. ClassClass
Himpunan dari objek-objek yang Himpunan dari objek-objek yang berbagi
berbagi atribut atribut serta serta operasi operasi yangyang sama.
sama.
4.
4. CollaborationCollaboration
Deskripsi dari urutan aksi-aksi yang Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang ditampilkan sistem yang menghasilkan suatu hasil yang menghasilkan suatu hasil yang terukur bagi suatu aktor.
terukur bagi suatu aktor.
5.
5. Realization Realization Operasi yang benar-benar dilakukanOperasi yang benar-benar dilakukan oleh suatu objek.
oleh suatu objek.
6.
6. Dependency Dependency
Hubungan dimana perubahan yang Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri terjadi pada suatu elemen mandiri (independent)
(independent) akan mempegaruhi akan mempegaruhi elemen yang bergantung padanya elemen yang bergantung padanya
7.
7. Association Association Apa yang menghubungkan antaraApa yang menghubungkan antara objek satu dengan objek lainnya. objek satu dengan objek lainnya.
4.7
4.7 XAMPPXAMPP
Menurut Purbadian (2016)
Menurut Purbadian (2016) Xampp Xampp merupakan suatu merupakan suatu software software yang yang berisi
berisi open sourceopen source yang merupakan pengembangan dari yang merupakan pengembangan dari LAMP LAMP (( Linux, Linux, Apache,
Apache, MySQL, MySQL, PHP PHP and and Perl Perl ).). XAMPP XAMPP ini merupakan proyek ini merupakan proyek non-proft non-proft yang dikembangkan oleh
yang dikembangkan oleh Apache Friend Apache Friend yang didirikan yang didirikan Kai Oswalad Sei Kai Oswalad Seider der dan
dan Kay Kay Vogelgesang Vogelgesang pada tahun 2002. Proyek mereka ini bertujuan pada tahun 2002. Proyek mereka ini bertujuan mempromosikan penggunaan
mempromosikan penggunaan Apache web server Apache web server . Sampai pada. Sampai pada XAMPP XAMPP versi versi 1.7.3, beberapa paket yang
di-1.7.3, beberapa paket yang di-bundlebundle adalah adalah Apache Apache HTTPD,HTTPD, mod_autoindex_color module, FileZilla FTP Server, Mercury Mail Transport mod_autoindex_color module, FileZilla FTP Server, Mercury Mail Transport Agent,
Agent, OpenSSL, OpenSSL, SQLite, SQLite, The The Webalizer, Webalizer, msmtp msmtp (a (a sandmail sandmail compatiblecompatible SMTP client), MySQL, Primebase XT Storage Engine for MySQL, PHP, SMTP client), MySQL, Primebase XT Storage Engine for MySQL, PHP, eAccelerator extension, xdebug extension, Ming extension, PDFlib Lite eAccelerator extension, xdebug extension, Ming extension, PDFlib Lite extension, PEAR, phpMyAdmin, FPDF Library, ADOdb, Perl, CPAN, PPM, extension, PEAR, phpMyAdmin, FPDF Library, ADOdb, Perl, CPAN, PPM, mod_perl, Apache : ASP.
mod_perl, Apache : ASP. Direktori kerja
Direktori kerja XAMPP XAMPP .. Semua
Semuaweb server web server akan menyediakan sebuah direktori kerja atau yang disebut akan menyediakan sebuah direktori kerja atau yang disebut dengan
dengan webroot webroot atau atau document root document root yang berbeda. Direktori ini difungsikan yang berbeda. Direktori ini difungsikan untuk menyimpan seluruh
untuk menyimpan seluruh file file aplikasiaplikasi webweb, termasuk dokumen, termasuk dokumen PHP PHP . Pada. Pada web server
web server lokal seperti lokal seperti XAMPP XAMPP , tersedia sebuah folder kerja dengan nama, tersedia sebuah folder kerja dengan nama htdocs
Gambar 6. Direktori kerja XAMPP Gambar 6. Direktori kerja XAMPP
Penjelasan gambar 6 : Penjelasan gambar 6 :
Semua
Semua web server web server akan menyediakan sebuah direktori kerja atau yang akan menyediakan sebuah direktori kerja atau yang disebut dengan
disebut dengan webroot webroot atau atau document root document root yang berbeda. Direktori ini yang berbeda. Direktori ini difungsikan untuk menyimpan seluruh
difungsikan untuk menyimpan seluruh file file aplikasiaplikasi webweb, termasuk dokumen, termasuk dokumen PHP
PHP . Pada. Pada web server web server lokal seperti lokal seperti XAMPP XAMPP , tersedia sebuah folder kerja, tersedia sebuah folder kerja dengan nama
4.8 Metodologi Pengujian
Pengujian software sangat diperlukan untuk memastikan software/aplikasi yang sudah/sedang dibuat dapat berjalan sesuai dengan fungsionalitas yang diharapkan. Pengembang atau penguji software harus menyiapkan sesi khusus untuk menguji program yang sudah dibuat agar kesalahan ataupun kekurangan dapat dideteksi sejak awal dan dikoreksi secepatnya. Pengujian atau testing sendiri merupakan elemen kritis dari jaminan kualitas perangkat lunak dan merupakan bagian yang tidak terpisah
dari siklus hidup pengembangan software seperti halnya analisis, desain, dan pengkodean. (Shi, 2010)
Pengujian software haruslah dilakukan dalam proses rekayasa perangkat lunak atau software engineering . Sejumlah strategi pengujian software telah diusulkan dalam literatur. Semuanya menyediakan template untuk pengujian bagi pembuat software. Dalam hal ini, semuanya harus memiliki karakteristik umum berupa (Bhat and Quadri, 2015) :
1. Testing dimulai pada level modul dan bekerja keluar ke arah integrasi pada sistem berbasiskan komputer
2. Teknik testing yang berbeda sesuai dengan poin-poin yang berbeda pada waktunya
3. Testing diadakan oleh pembuat/pengembang software dan untuk proyek yang besar oleh group testing yang independent
4. Testing dan Debugging adalah aktivitas yang berbeda tetapi debugging harus diakomodasikan pada setiap strategitesting .
Pengujian software adalah satu elemen dari sebuah topik yang lebih luas yang sering diartikan sebagai Verifikasi dan Validasi (V&V) antara lain : a. Verifikasi: menunjuk kepada kumpulan aktifitas yang memastikan bahwa
b. Validasi: menunjuk kepada sebuah kumpulan berbeda dari aktivitas yang memastikan bahwa software yang telah dibangun dapat ditelusuri terhadap kebutuhan customer .
Menurut Bhat and Quadri, 2015 Definisi V&V meliputi banyak aktifitas SQA ( software quality assurance), termasuk review teknis formal, kualitas dan audit konfigurasi, monitor performance. Terdapat beberapa tipe yang berbeda dalam pengujian software yang meliputi studi kelayakan dan simulasi antara lain :
1. Metode software engineering menyediakan dasar dari mutu yang mana yang akan dipakai.
2. Metode Analysis, design and Construction berupa tindakan untuk meningkatkan kualitas dengan menyediakan teknik yang seragam dan hasil yang sesuai dengan keinginan.
3. Metode Formal Technical Reviews menolong untuk memastikan kualitas kerja produk merupakan hasil konsekuensi dari setiap langkah software engineering .
4. Metode Measurement diberlakukan pada setiap elemen dari konfigurasi software.
5. Metode Standards and Procedures membantu untuk memastikan keseragaman dan formalitas dari SQA untuk menguatkan dasar “filosofi kualitas total”.
6. Metoda Testing menyediakan cara terakhir dari tingkat kualitas mana yang dapat dicapai dan dengan praktis dapat mengetahui letakerror .
Davids menyarankan satu set prinsip pengujian :
1. Semua test harus dapat dilacak ke kebutuhan pelanggan.
2. Test harus direncanakan dengan baik sebelum pengujian mulai. a. Prinsip Pareto berlaku untuk pengujian
3. Pengujian seharusnya mulai “dari yang kecil” dan pengujian perkembangan ke arah “yang besar”.
4. Pengujian menyeluruh adalah tidak mungkin. Paling efektif, pengujian harus diselenggarakan oleh suatu pihak ketiga mandiri.
Langkah-langkah pengujian software ada 4 yaitu:
1. Unit testing -testing per unit yaitu mencoba alur yang spesifik pada struktur modul kontrol untuk memastikan pelengkapan secara penuh dan pendeteksian error secara maksimum
2. Integration testing – testing per penggabungan unit yaitu pengalamatan dari isu-isu yang diasosiasikan dengan masalah ganda pada verifikasi dan konstruksi program
3. High-order test yaitu terjadi ketika software telah selesai diintegrasikan atau dibangun menjadi satu – tidak terpisah-pisah
4. Validation test yaitu menyediakan jaminan akhir bahwa software memenuhi semua kebutuhan fungsional, kepribadian dan performa.
Tom Gilb menyatakan bahwa prosedur yang harus digunakan jika ingin mengimplementasikan strategi testing software yang sukses (Bhat and Quadri, 2015):
1. Menetapkan seluruh kebutuhan produk software dalam perhitungan sebelum memulai testing .
2. Status obyektesting harus jelas.
3. Memahami pengguna software dan mengembangkan sebuah profil untuk setiap kategoriuser .
4. Mengembangkan rencana testing yang menekankan pada “rapid cycle testing ”.
5. Membangun software yang sempurna yang didesain untuk menguji dirinya sendiri.
7. Melakukan tinjauan ulang secara formal untuk menilai strategi tes dan kasus tes itu sendiri.
8. Mengembangkan pendekatan peningkatan yang berkelanjutan untuk proses testing .
Menurut Khan, 2011 Ada beberapa jenis pengujian perangkat lunak, antara lain :
1. Pengujian white box adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara prosedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.
2. 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.
4.8.1 White Box Testing
White Box Testing adalah salah satu cara untuk menguji suatu aplikasi atau software dengan cara melihat modul untuk dapat meneliti dan menganalisa kode dari program yang di buat ada yang salah atau tidak. Kalau modul yang telah dan sudah di hasilkan berupa output yang tidak sesuai dengan yang diharapkan maka akan dikompilasi ulang dan di cek kembali kode-kode tersebut hingga sesuai dengan yang diharapkan (Nidhra and Dondetti, 2012).
Kasus yang sering menggunakan white box testing akan di uji dengan beberapa tahapan yaitu :
1. Pengujian seluruh keputusan yang menggunakan logikal. 2. Pengujian keseluruhloop yang ada sesuai batasan-batasannya.
3. Pengujian pada struktur data yang sifatnya internal dan yang terjamin validitasnya.
Kelebihan White Box Testing antara lain (Nidhra and Dondetti, 2012) :
1. Kesalahan Logika Menggunakan sintax ‘if’ dan sintax pengulangan. Langkah selanjutnya metode white box testing ini akan mencari dan mendeteksi segala kondisi yang di percaya tidak sesuai dan mencari kapan suatu proses perulangan di akhiri.
2. Ketidaksesuaian Asumsi Menampilkan dan memonitor beberapa asumsi yang diyakini tidak sesuai dengan yang diharapkan atau yang akan diwujudkan, untuk selanjutnya akan dianalisa kembali dan kemudian diperbaiki.
3. Kesalahan Pengetikan Mendeteksi dan mencaribahasa-bahasa pemograman yang di anggap bersifat case sensitif. Kelemahan White Box Testing adalah pada perangkat lunak yang jenisnya besar, metode white box testing ini dianggap boros karena melibatkan banyak sumberdaya untuk melakukannya. (Nidhra and Dondetti, 2012)
4.8.2 Black Box Testing
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 olehWhite 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).
Pengujian didesain untuk menjawab pertanyaanpertanyaan berikut : 1. Bagaimana fungsi-fungsi diuji agar dapat dinyatakanvalid ? 2. Input seperti apa yang dapat menjadi bahan kasus uji yang baik ? 3. Apakah sistem sensitif padainput-input tertentu ?
4. Bagaimana sekumpulan data dapat diisolasi ?
5. Berapa banyak rata-rata data dan jumlah data yang dapat ditangani sistem?
6. Efek apa yang dapat membuat kombinasi data ditangani spesifik pada operasi sistem?
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 ).
5. Metodologi Penelitian A. Bahan Penelitian
Bahan penelitian yang digunakan dalam pembuatan aplikasi ini yaitu sampel data profil masyarakat yang berprofesi sebagai guru di wilayah Kota Tegal.
B. Alat Penelitian
Alat yang digunakan untuk mendukung penelitian tersebut terdiri dari perangkat keras (hardware) dan perangkat lunak ( software) :
1. Perangkat Keras ( Hardware)
Hardware yang digunakan adalah notebook dengan spesifikasi sebagai berikut :
a. Processor AMD E-300 APU with Radeon(tm) HD Graphics 1.30 GHz b. Memory 4 GB DDR3 RAM
c. Hardisk 300 GB d. Mouse
2. Perangkat Lunak (Software)
Berdasarkan hasil penelitian tersebut dibuatlah aplikasi dengan menggunakan tools sebagai berikut :
a. Windows 7
b. Notepad ++ v7.3
c. Xampp Control Panel v3.2.1 d. StarUML v2.6.0
C. Alur Penelitian
1. Identifikasi Masalah
Masalah yang diidentifikasi dalam penelitian ini adalah bagaimana membuat aplikasi backend yang dapat melakukan pengolahan data reservasi guru Kota Tegal.
2. Metode Pengumpulan Data
Pengumpulan data pada penelitian ini dilakukan dengan dua metode, yaitu metode wawancara dan observasi.
a. Wawancara
Metode ini dilakukan untuk memperoleh informasi atau data yang dibutuhkan dengan cara melakukan tanya jawab secara langsung dengan masyarakat yang berprofesi sebagai guru mengenai les privat atau belajar privat
b. Observasi
Metode ini dilakukan untuk mengamati proses bisnis yang ada dibeberapa situs diantaranya seperti tokopedia, bukalapak, dan lazada guna mengetahui dan mempelajari cara bertransaksi elektronik yang efektif.
3. Analisis Data
Analisis dilakukan berdasarkan hasil pengumpulan data untuk dijadikan acuan terhadap permasalahan yang ada ketika aplikasi akan dibuat, tahap ini merupakan tahap kritis dan sangat penting karena pembuatan aplikasi dapat dilakukan secara tepat jika memperhatikan analisa data, hal yang dianalisa diantaraya adalah analisa profil guru, analisa calon siswa, dan analisa metode transaksi elektronik.
4. Perancangan Sistem
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi represntasi ke dalam bentuk pemodelan sebelumcoding dimulai. Pada tahap ini hasil dari analisis data, akan diubah menjadi model dari sistem yang akan dibuat. Pemodelan dilakukan agar proses perancangan sistem dapat terencana dengan baik. Bahasa pemodelan yang digunakan adalah UML (Unified Modelling Language) yang menggunakan tools StarUML.
5. Pembuatan Sistem
Aplikasi ini dibangun dengan pemograman framework CodeIgniter , untuk kepentingan development aplikasi berbasis website dan browser sebagai emulator.
6. Testing
Pada tahap ini dilakukan pengujian terhadap aplikasi sebelum di implementasikan. Metode yang dipakai dalam pengujian ini adalah BlackBox yaitu pengujian dengan cara memilih input yang valid dan tidak valid serta menentukan output yang benar. Pengujian tersebut meliputi pengisian data acak yang tidak sesuai dengan tipe data pada standar aplikasi, misalnya pada kolom nama akan di isi menggunakan tipe data angka atau simbol. Pengujian dengan metode BlackBox yang dilakukan pada aplikasi ini bertujuan apakah sistem tersebut dapat mengatasi perlakuan yang tidak sesuai dengan prosedur aplikasi dan memberi
tindakan lanjutan berupa pesanerror yang ditampilkan. 7. Implementasi
Setelah aplikasi lolos pada tahap pengujian maka dilakukan implementasi secara langsung yang diperuntukan bagiadmin dari Aplikasi Back End Pada Reservasi Guru Privat BerbasisWebsite Studi Kasus : Kota Tegal yang dapat digunakan untuk mengelola data registrasi dan pengguna aplikasi serta dapat melayanirequest data pesanan dari pengguna aplikasi.
6. Jadwal Penelitian
Tabel 5 Jadwal Penelitian
No Kegiatan Bulan ke-I Bulan ke-II Bulan ke-III Bulan ke-IV Bulan ke-V 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1. Penyusunan dan bimbingan proposal TA. 2. Pengumpulan Data 3. Analisa Data 4. Penyusunan dan Bimbingan Bab I 5. Penyusunan dan Bimbingan Bab II 6. Penyusunan dan
Bimbingan Bab III 7. Perancangan Sistem 8. Penyusunan dan Bimbingan Bab IV 9. Pembuatan Aplikasi 10. Penyusunan dan Bimbingan Bab V 11. Penyusunan dan Bimbingan Bab VI
7. Daftar Pustaka
Achmad Solichin. 2010. MySQL 5 dari pemula hingga mahir . Jakarta : Universitas Budi Luhur.
Arifin Gugun Ginanjar dkk. 2013. Pengembangan Sistem Informasi Pemesanan Kamar Hotel Berbasis Web Menggunakan Metodologi Rapid Application Development ISSN: 2302-7339 Vol. 10 No. 1.
Bhat, A, and Quadri, S.M.K, 2015. Equivalence Class Partitioning and Boundary Value Analysis = A review, 2nd International Conference on
Computing for Sustainable Global Development (INDIACom). Cerami, E. 2002. Web Services Essentials. O’Reilly Media.
Daigneau, Robert. 2012. Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services. Boston : Pearson Education, Inc.
Dewi, Srie Purnama dan Arnie Rintana. 2014. Aplikasi Layanan Pemesanan Katering Pada Rumah Makan Srie Berbasis Web. ISSN: 2089-3787. Febrian. 2007. Kamus Komputer & Teknologi Informasi. Bandung :
Informatika.
Grohbiel, Benjamin. 2011. REST engineering on the server-and client-side. Tesis tidak diterbitkan.
Hidayat, Rahmat. (2010). Cara Praktis Membangun Website Gratis : Pengertian Website. Jakarta : PT Elex Media Komputindo Kompas,
Granedia.
Ibrahim Ali. 2011. Perancangan Sistem Pemesanan Tiket Pesawat Berbasis Web.Jurnal Sistem Informasi (JSI), VOL. 3, NO. 1, April 2011.
Inayati Immah dkk. 2015. Aplikasi Pemesanan Makanan Berbasis Web (Studi Kasus : RM Lesehan Berkah Ilahi Gresik). e-Jurnal NARODROID, Vol. 1 No.2 Juli 2015.
Khan, Mohd Ehmer, 2011. Different Approach to Blackbox Testing Technique for Finding Error, International Journal of Software Engineering &
Lathyf Azhari dan Safii Muhammad. 2012. Sistem Informasi Reservation Kamar Hotel Berbasis Web Pada Mesra Business dan Resort Hotel .
ISBN 979 – 26 – 0255 – 0.
Lucky. 2008. XML Web Services Aplikasi Desktop, Internet dan Handphone. Jakarta : JASAKOM.
Nidhra, Srinivas, and Dondeti, Jagruthi, 2012. Blackbox and Whitebox Testing Techniques – A Literature Review, International Journal of Embedded Systems and Applications (IJESA). Vol.2, No.2, June 2012.
Purbadian, Yenda. 2016. Trik Cepat Membangun Aplikasi Berbasis Web dengan Framework CodeIgniter . Yogyakarta: Web Programming.
Putra, Ferry Yudhitama dkk. 2016. Aplikasi Reservasi Les Privat Di Easyspeak Denpasar Berbasis Web Dan Android . Jurnal Teknologi Elektro, Vol.15, No.1, Januari - Juni 2016.
Rachmatullah Robby. 2015. Perancangan Sistem Pemesanan Tiket Bus Online Berbasis Web. IJNS – Indonesian Journal on Networking and Security
-Volume 4 No 1.
Raharjo, Budi. 2011. Pemrograman Web dengan PHP + Oracle. Bandung : Informatika.
Raharjo, Budi. 2016. Modul Pemrograman WEB (HTML, PHP, & MySQL). Bandung. Modula.
Rozali, Imam. 2011. Next Generation Mobile Application. Konferensi Teknologi Informasi dan Komunikasi untuk Indonesia, Bandung, 14-15 Juni.
Ruslan. 2016. Pengolahan Reservasi Hotel Melalui Aplikasi Berbasis Website. Volume 4 : Nomor : 2 Edisi : April 2016 – September 2016 ISSN 2302-2786.
Sandoval, jose. 2009. RESTful Java Web services : Master core REST concepts and create RESTful web services in Java. Birmingham : Packt Publishing Ltd.