BAB II LANDASAN TEORI
2.1 Pengertian Analisis Analisis sistem didefinisikan sebagai bagaimana memahami dan menspesifikasi dengan detail apa yang harus dilakukan oleh sistem. Sedangkan sistem desain diartikan sebagai menjelaskan dengan detail bagaimana bagian-bagian dari sistem informasi diimplementasikan. Sehingga Analisis dan desain sistem informasi (ANSI) bisa didefinisikan sebagai : Proses organisasional kompleks dimana sistem informasi berbasis komputer diimplementasikan (Santoso B., 2008). Sehingga bisa diringkas sebagai berikut : 1. Analysis : mendefinisikan masalah, From requirements to specification. 2. Design: memecahkan masalah, From specification to implementation. Manfaat dari analisis dan perancangan : 1. Kesuksesan suatu sistem informasi tergantung pada analisis dan perancangan yang baik. 2. ANSI telah digunakan secara luas di berbagai industri (teknologi yang telah teruji). 3. Bagian dari karir dalam dunia IT, menawarkan banyak kesenangan dan tantangan serta gaji yang tidak rendah.
4. Kenaikan permintaan akan keahlian sistem analis. Secara singkat berdasarkan pendekatan ANSI, seorang sistem analis adalah orang yang bertugas: 1. Bagaimana membangun sistem informasi. 2. Bagaimana menganalisis kebutuhan dari sisteminformasi. 3. Bagaimana merancang sebuah Sistem Informasi berbasis komputer. 4. Bagaimana memecahkan masalah dalam organisasi melalui sistem informasi.
2.2 Website atau Situs 2.2.1
Pengertian Website atau Situs Situs dapat diartikan sebagai kumpulan halaman-halaman yang
digunakan untuk menampilkan informasi, gambar gerak, suara, dan atau gabungan dari semuanya itu baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masingmasing dihubungkan dengan link-link (Tristiyanto E., 2011). 2.2.2
Unsur-Unsur Website atau Situs Untuk membangun situs diperlukan beberapa unsur yang harus ada
agar situs dapat berjalan dengan baik dan sesuai yang diharapkan. Unsurunsur yang harus ada dalam situs antara lain: 1. Domain Name Domain name atau biasa disebut nama domain adalah alamat permanen
situs
di
dunia
internet
yang
digunakan
untuk
mengidentifikasi sebuah situs atau dengan kata lain domain name adalah alamat yang digunakan untuk menemukan situs kita pada dunia internet. Istilah yang umum digunakan adalah URL. Contoh sebuah URL adalah http://www.yahoo.com--dapat juga tanpa www-Nama domain dari tiap-tiap situs di seluruh dunia tidak ada yang sama sehingga tidak ada satupun situs yang akan dijumpai tertukar nama atau tertukar halaman situsnya. Untuk memperoleh nama dilakukan penyewaan domain, biasanya dalam jangka tertentu (tahunan). 2. Hosting Hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar dan lain sebagainya yang akan ditampilkan di situs. Besarnya data yang bisa dimasukkan tergantung dari besarnya hosting yang disewa/dipunyai, semakin besar hosting semakin besar pula data yang dapat dimasukkan dan ditampilkan dalam situs. Hosting juga diperoleh dengan menyewa. Besarnya hosting ditentukan ruangan harddisk dengan ukuran MB (Mega Byte) atau GB (Giga Byte). 3. Scripts/Bahasa Program Adalah bahasa yang digunakan untuk menerjemahkan setiap perintah dalam situs yang pada saat diakses. Beragam scripts saat ini telah hadir untuk mendukung kualitas situs. Jenis jenis scripts yang banyak dipakai para designer antara lain HTML, ASP, PHP, JSP, Java
Scripts, Java applets dsb. Bahasa dasar yang dipakai setiap situs adalah HTML sedangkan ASP dan lainnya merupakan bahasa pendukung yang bertindak sebagai pengatur dinamis, dan interaktifnya situs. 4. Design Web Setelah melakukan penyewaan domain dan hosting serta penguasaan scripts, unsur situs yang paling penting dan utama adalah design. Design web sangat menentukan kualitas dan keindahan situs. Design sangat berpengaruh kepada penilaian pengunjung akan bagus tidaknya sebuah website. Untuk membuat situs biasanya dapat dilakukan sendiri atau menyewa jasa web designer. 5. Publikasi Keberadaan situs tidak ada gunanya dibangun tanpa dikunjungi atau dikenal oleh masyarakat atau pengunjung internet. Karena efektif tidaknya situs sangat tergantung dari besarnya pengunjung dan komentar yang masuk. Untuk mengenalkan situs kepada masyarakat memerlukan apa yang disebut publikasi, cara yang biasanya dilakukan dan paling efektif dengan tak terbatas ruang atau waktu adalah publikasi langsung di internet melalui search engine-search engine (mesin pencari, spt : Yahoo, Google, Search Indonesia, dsb)
2.2.3
Pemeliharaan Website atau Situs Untuk mendukung kelanjutan dari situs diperlukan pemeliharaan
setiap waktu sesuai yang diinginkan seperti penambahan informasi, berita,
artikel, link, gambar atau lain sebagainya. Tanpa pemeliharaan yang baik situs akan terkesan membosankan atau monoton juga akan segera ditinggal pengunjung. Pemeliharaan situs dapat dilakukan per periode tertentu seperti tiap hari, tiap minggu atau tiap bulan sekali secara rutin atau secara periodik saja tergantung kebutuhan (tidak rutin). Pemeliharaan rutin biasanya dipakai oleh situs-situs berita, penyedia artikel, organisasi atau lembaga pemerintah. Sedangkan pemeliharaan periodik biasanya untuk situs-situs pribadi, penjualan/e-commerce, dan lain sebagainya.
2.3 E-Commerce E-Commerce merupakan salah satu keunggulan dari Internet. Ada beberapa sebuatan E-Commerce yaitu Internet Commerce, Ecom, atau Immerce, yang pada dasarnya semua sebutan di atas mempunyai makna yang sama. Istilah-istilah tersebut berarti membeli atau menjual secara elektronik, dan kegiatan ini dilakukan pada jaringan Internet. E-Commerce juga dapat berarti pemasangan iklan, penjualan dan dukugan dan pelayanan yang terbaik menggunakan sebuah web shop 24 jam sehari bagi seluruh pelanggannya. Bryan A. Garner menyatakan bahwa “E-Commerce the practice of buying and selling goods and services trough online consumer services on the Internet. The eshortened from electronic, has become a popular prefix for other terms associated with electronic transaction”. Dapat dikatakan bahwa pengertian e-commerce yang dimaksud adalah pembelian dan penjualan
barang dan jasa dengan menggunakan jasa komputer online di Internet (Barakatullah A.H ., 2005 ). Definisi dari E-Commerce menurut Kalakota dan Whinston (1997) dapat ditinjau dalam perspektif berikut: a. Dari perspektif komunikasi, E-Commerce adalah pengiriman barang, layanan, informasi, atau pembayaran melalui jaringan komputer atau melalui peralatan elektronik lainnya. b. Dari perspektif proses bisnis, E-Commerce adalah aplikasi dari teknologi yang menuju otomatisasi dari transaksi bisnis dan aliran kerja. c. Dari perspektif layanan, E-Commerce merupakan suatu alat yang memenuhi keinginan perusahaan, konsumen, dan manajemen untuk memangkas biaya layanan ketika meningkatkan kualitas barang dan meningkatkan kecepatan pengiriman. d. Dari perspektif online, E-Commerce menyediakan kemampuan untuk membeli dan menjual barang ataupun informasi melalui Internet dan sarana online lainnya. Tapi dalam penulisan Laporan Kerja Praktik ini penulis mengambil pengertian
E-Commerce
sebagai
alat/cara
modern
untuk
lebih
memperkenalkan sebuah usaha kepada masyarakat melalui kecanggihan teknologi Internet.
2.4 Pengertian Admin Menurut Wikipedia administrator adalah orang yang bertugas mengurus hal-hal yang bersifat administrative. Istilah administrator digunakan juga dalam jaringan computer dan internet dimana administrator atau sering disebut admin memiliki wewenang dan peranan yang besar dalam mengendalikan suatu jaringan komputer , baik local maupun internet. Admin yang dimaksud dalam dunia jaringan komputer adalah seseorang atau sebuah tim yang bertindak sebagai pengatur dalam suatu jaringan. Beberapa tanggung jawab admin, Ada beberapa hal yang menjadi tanggung jawab seorang admin, antara lain adalah sebagai berikut : 1. Memastikan Keamanan Jaringan (security) Melindungi computer yang berada di dalam suatu jaringan adalah tugas utama dari admin. Keadaan jaringan computer yang aman dan berfungsi dengan baik harus dipastikan oleh admin. Computer dan jaringan harus diproteksi dari kemungkinan ancaman program jahat seperti virus dan malware. Pemilihan anti virus yang tepat dan mengatur hak akses dalam jaringan adalah salah satu hak mutlak yang dimiliki admin untuk menjalankan tugasnya dalam bidang ini.
2. Mengatur Pengguna Dalam perusahaan yang memiliki jaringan computer kelas menengah, seorang admin bertugas dalam mengatur penggunaan
jaringan tersebut. Admin harus tahu dengan baiik computer mana saja dan sumber daya apa saja yang ada dalam jaringan yang ia pimpin. Admin juga merupakan penegak dari aturan atau kebijakan perusahaan dalam mengakses jaringan sehingga dapat ditaati oleh seluruh pengguna jaringan tersebut. Umumnya dalam jaringan memiliki
akun
masing-masing.
Akun
user
ini
biasanya
dikelompokkan berdasarkan jabatan dan kepentingan dalam mengakses
jaringan
serta
waktu
aksesnya.
Setelah
akun
dikelompokan, maka baru diberi hak akses penggunaan resources berupa data dan perangkat keras sesuai porsi kerjaan user tersebut. 3. Mengatur Cadangan Data Tugas penting lain admin adalah bertanggung jawab membuat salinan data sebagai cadangan dari data-data penting dan memiliki jaringan dari perusahaan atau instansi tertentu. Dengan adanya backup data, maka admin dapat menyelamatkan data penting perusahaan dan mengenbalikan seperti semla sesuai tanggal backup terjadi. 4. Troubleshooting atau Penanganan Masalah Ini adalah pekerjaan wajib dari admin dalam mengatasi masalah dalam jaringan. Admin wajib menjaga jaringan agar dapat beraktivitas secara normaltanpa adanya maslah.
5. Update atau Pemutakhiran Update sepertinya adalah hal yang sepele namun memiliki dampak besar dalam jaringan tersebut. Update perangkat lunak misalnya adalah update sistem operasi dan antivirus. Inti dari pekerjaan admin adalah bertanggung jawab atas kondisi dan kelancaran kinerja suatu jaringan computer.
2.5 Metodelogi Pengembangan Perangkat Lunak Didalam merancang suatu perangkat lunak, ada beberapa metodemetode yang dipergunakan dalam pengembangan Perangkat Lunak, diantaranya : a. Metode Waterfall. b. Prototype Model. c. Spiral Model. d. Rapid Application Development (RAD). Dari 4 model metode yang ada, penulis memilih metode prototye. Model prototipe ini dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari perangkat lunak, dan mengidentifikasi segala kebutuhan yang diketahui (Pressman, 1997).
2.6
Metode Prototype Secara ideal prototipe berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Prototipe bisa menjadi paradigma yang efektif bagi rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototipe dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan (Mulyanto, 2009). Gambar 2.1 berikut ini menampilkan view dalam prototype :
Gambar 2.1 Metode prototipe
Langkah-langkah pembuatan prototipe : 1. Langkah Pertama Permintaan bermula dari kebutuhan user.
2. Langkah Kedua Bangunlah sistem prototipe untuk menemukan kebutuhan awal yang diminta. 3. Langkah Ketiga Biarkan user menggunakan prototipe. Analis harus memberikan pelatihan, membantu dan duduk bersama-sama dengan user, khususnya untuk pertama kali. Anjurkan perubahan. User harus melihat fungsi-fungsi dan sifat dari prototipe, lihat bagaimana ia memecahkan masalah bisnis dan mengusulkan perbaikan. 4. Langkah Keempat Implementasikan saran-saran perubahan. 5. Langkah Kelima Ulangi langkah ketiga sampai user merasa puas. 6. Langkah Keenam Merancang dan membangun suatu sistem akhir seperti sebelumnya. Namun, pada dasarnya semua metode pengembangan Perangkat Lunak secara umum sama yaitu terdiri dari fase-fase berikut : 1. Fase Pendefinisian a. Planning. b. Pendefinisian perangkat lunak yang dikembangkan. c. Alokasi Sumber Daya yang diperlukan. d. Scheduling. e. Estimasi biaya.
f. Mendefinisikan alokasi biaya yang akan dikeluarkan untuk pengembangan sistem yang akan dibangun. 2. Fase Pengembangan a. Perancangan b. Pendeskripsian arsitektur perangkat lunak yang akan di bangun 3. Fase Verifikasi a. Verifikasi untuk semua unit fungsional. b. Pengetesan fungsi-fungsi dan interface. c. Perawatan (maintenance), meliputi : 1. Mengecek ulang kesalahan-kesalahan perangkat lunak. 2. Adaptasi terhadap perubahan lingkungan. 3. Menambahkan dan mengembangkan kebutuhan yang akan datang.
2.7 Object Oriented Programming Object-Oriented Programming (OOP) merupakan sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan /action atau metode. Bahasa pemograman berbasis object menyediakan mekanisme untuk bekerja dengan:
1) kelas dan object 2) methods 3) inheritance 4) polymorphism 5) reusability Object-oriented programs terdiri dari objects yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata, users dari software programs dilibatkan dari logika proses untuk menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman di word processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik tombol printer. Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya setelah kamu menekan tombol printer, maka secara simultan object tombol tersebut berinteraksi dengan object printer untuk menyelesaikan job tersebut. Konsep dari object oriented programming (OOP) adalah lebih dari sekedar sebuah konsep pemrograman, Object oriented programming adalah cara berpikir tentang aplikasi yang mempelajari untuk berpikir bahwa aplikasi bukan sekedar prosedur melainkan sebagai object dan real entity. Object yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses satu sama lain. Jadi object oriented programming merupakan cara yang paling efisien untuk menulis program
komputer yang sangat mudah untuk di kombinasikan dan untuk dipergunakan kembali. Object oriented programming lebih memfokuskan kepada manipulasi object. Kenapa seorang programmer harus mempelajari object oriented programming bahkan seorang programmer yang tidak pernah bekerja dengan object oriented programing pun harus mempelajarinya juga. Hal ini dikarenakan pada suatu hari nanti semua bahasa pemrograman akan menambahkan kemampuan object oriented programming pada bahasanya. Object oriented programming yang paling populer adalah java dan C++, tetapi visual basic pun sudah ikut menambahakan kemampuan ini sejak meluncurkan VB 4.0.
Pada kesempatan kali ini kita hanya akan membahas tentang visual basic dan C++ saja. Sesuai dengan namanya object oriented programming maka konsep object merupakan jantung dari object oriented programming.
2.8 UML UML
adalah
menspesifikasikan,
dan
bahasa
grafis
membangunsistem
untuk
mendokumentasi,
perangkat
lunak.
UML
berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak, didukung oleh kakas-kakas yang diintegrasikan lewat XML (XMI). (Haryanto B., 2004).
Kelebihan dari UML adalah dapat menggambarkan pemetaan (gambaran) dari tahap analisis ke dalam tahap perancangan dan akhirnya implentasi. UML memberikan notasi -notasi yang konsisten dan ini memudahkan model tersebut untuk berkomunikasi dengan pengguna. Gambar 2.2 berikut ini menampilkan view dalam UML .
Gambar 2.2 View dalam UML
1. Usecase view mendeskripsikan secara fungsional sistem terhadap aktor ekternal yang berinteraksi dengan sistem. Aktor eksternal tersebut dapat berupa sistem lain atau user.
View yang
memperlihatkan fungsionalitas dari sistem. 2. Logical view yang memperlihatkan bagaimana fungsionalitas tersebut dirancang kedalam sistem ( static structure dan dynamic behavior ). 3. Component view mendeskripsikan bagaimana sistem memberikan
layanan secara fungsionalitas dilihat dari dalam sistem. Struktur statis digambarkan dalam diagram kelas dan objek, sedangkan model dinamisnya digambarkan dalam state, sequence dan activity diagram. 4. Concurrency view menggambarkan transaksi dan pembagian dari sistem menjadi proses-proses dan pemrosesannya. 5. Deployment view yang memperlihatkan penyebaran sistem kedalam arsitektur fisik ( komputer dan alat-alat ). Grafik aktual yang mengilustrasikan bagian-bagian dari sistem di gambarkan dalam tipe-tipe diagram. UML memiliki 9 tipe diagram yaitu : usecase diagram, activity digram, class diagram, object diagram, sequence diagram, statechart diagram, collaboration diagram, component diagram dan deployment diagram. Tetapi pada kasus penelitian ini kami mengambil beberapa diagram untuk memecahkan kasus tersebut, diantaranya: 2.8.1
Use Case Diagram Usecase diagram memperlihatkan hubungan diantara aktor dan
usecase. Aktor merepresentasaikan seorang user atau sub sistem lain yang akan berinteraksi dengan sistem. Sedangkan usecase merupakan urutan kejadian yang menggambarkan interaksi antara user dengan sistem fungsionalitas sistem didefinisikan ke dalam usecase dari sudut eksternal sistem yang berguna untuk uji kelayakan fungsionalitas. Seperti yang digambarkan pada gambar 2.3 beritkut ini :
Gambar 2.3 UseCase Diagram Terdapat tiga jenis hubungan yang terjadi antara usecase yaitu : 1. Extends relationship: Hubungan generalization dimana satu usecase memperluas usecase yang lain dengan cara penambahan aksi-aksi pada usecase yang umum 2. Uses relationship: Hubungan generalization dimana satu usecase menggunakan usecase yang lain, ini menandakan sebagai bagian dari specilized usecase, tingkah laku dari usecase yang umum akan diikutsertakan. 3. Grouping: Ketika sejumlah usecase menangani fungsi yang sama atau dalam beberapacara berhubungan satu dengan yang lainnya, mereka dapat diikat (bundle) dalam UML
2.8.2
Activity Diagram Diagram ini menjelaskan alur kerja sebuah sistem. Activity
diagram mirip dengan state diagram karena sejumlah aktivitas menggambarkan keadaan suatu proses dengan memperlihatkan urutan aktivitas yang dijalankan baik berupa pilihan maupun paralel. Diagram ini juga berguna untuk menganalisa sebuah usecase dengan menggambarkanaksi-aksi yang diperlukan dan kapan aksi-aksi
tersebut dijalankan, menjelaskan urutan algoritma yang komplek dan memodelkan sejumlah aplikasi dengan proses paralel. Gambar 2.4 berikut ini merupakan contoh activity diagram.
Gambar 2.4 Activity Diagram 2.8.3
Class Diagram Digunakan
untuk
menggambarkan
tipe-tipe
objek
dan
hubungannya dalam sebuah sistem. Class diagram memodelkan struktur class dan isinya dengan menggunakan elemen-elemen model seperti class, package dan objek. Class terdiri dari tiga bagian yaitu Nama class, atribut dan operasi. Class yang didefinisikan secara global dapat diakses oleh objek diluar class tersebut. Gambar 2.5 berikut menampilkan class diagram dalam UML :
Gambar 2.5 Class diagram
Keterangan : 1. Nama kelas ditulis dalam huruf tebal dan diletakkan di tengahtengah. Nama diambil dari domain permasalahan dan harus sejelas mungkin. Oleh karena itu nama kelas haruslah berupa kata benda. 2. Atribut kelas menggambarkan karakteristik dari objek. Atribut kelas yang benar adalah yang dapat mencakup informasi-informasi yang dilukiskan dan mengenali instance tertentu dari kelas. Tipe dari atribut dapat berupa primitif atribut atau tipe lainnya. 3. Operasi digunakan untuk memanipulasi atribut atau menjalankan aksi-aksi. Operasi biasanya disebut dengan fungsi, tetapi mereka terdapat didalam kelas dan dapat diaplikasikan hanya pada objek dalam kelas tersebut. 2.8.4
Object Diagram Object diagram menyediakan cara penggambaran objek, kelas
serta hubungannyasatu terhadap yang lain. Diagram objek bersifat sederhana, mudah di pahami, akurat, serta bekerja dengan baik dalam kenyataan. Suatu objek dikatakan merupakan instansiasi suatu kelas bila objek itu merupakan turunan yang nyata dari suatu kelas, seperti pada gambar 2.6 berikut ini :
Gambar 2.6 : Object Diagram
Diagram kelas mendeskripsikan kelas yang umum sedangkan diagram instansiasi digunakan terutama untuk memperlihatkan objekobjek yang dihasilkan dalam suatu kelas. 2.8.5
Sequence Diagram Diagram ini menjelaskan bagaimana objek berinteraksi dengan
lainnya dengan cara mengirim dan menerima pesan. Sequence diagram memiliki dua sumbu: sumbu vertical dan sumbu horizontal. Sumbu vertikal putus-putus merepresentasikan “lifetime” objek dan sumbu horizontal menunjukan sekumpulan objek. Diagram ini juga menyatakan interaksi khusus diantara objek yang terjadi pada beberapa tempat selama fungsi tertentu dijalankan. Komunikasi diantara objek direpresentasikan dengan garis horizontal disertai dengan nama operasinya, seperti pada gambar 2.7 berikut ini :
Gambar 2.7 Sequence Diagram
2.9 Perencanaan Teknologi Yang Akan Dipakai 1. HTML 5 HTML (HyperText Markup Language) adalah sebuah bahasa standar yang digunakan oleh browser Internet untuk membuat halaman dan dokumen pada sebuah Web yang kemudian dapat diakses dan dibaca layaknya sebuah artikel. HTMLjuga dapat digunakan sebagai link antara file-file dalam situs atau dalam komputer dengan menggunakan localhost, atau link yang menghubungkan antar situs dalam dunia internet (Raharjo B., 2011). 2. PHP 5 PHP merupakan singkatan rekursif (akronim berulang) dari PHP Hypertext Preprocessor. PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini atau dalam kata lain bisa diartikan sebuah bahasa pemrograman web yang bekerja di sisi server (server side scripting) yang dapat melakukan konektifitas pada database yang di mana hal itu tidak dapat dilakukan hanya dengan menggunakan sintakssintaks HTML biasa. PHP banyak
dipakai
untuk
memrogram
situs
web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain (Raharjo B., 2011). 3. MySQL MySQL adalah
sebuah perangkat
lunak sistem
manajemen basis
data SQL (bahasa Inggris: database management system) atau DBMS yangmultithread, multi-user, dengan sekitar enam juta instalasi di seluruh
dunia.
MySQL
tersedia
sebagai perangkat
lunak
gratis dibawah
lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL (Raharjo B., 2011). 2.10
Pengujian Perangkat Lunak Berdasarkan standar IEEE, pengujian perangkat lunak memiliki pengertian
aktivitas yang
dilakukan untuk mengevaluasi kualitas produk dan untuk
mengembangkannya dengan mengidentifikasi kelemahan dan permasalahan yang terjadi. Defenisi secara umum adalah “softwar testing consist of the dynamic verification of the behavior ofprogram on a finite set of test cases, suitably selected from the usually infiniteexecutions domain, against the excepted behaviour”, (Simarmata J., 2010). Pengujian perangkat lunak terdiri dari verifikasi dinamis perilaku program pada sekumpulan kasus-kasus pengujian yang terbatas, pada umumnya dipilih dengan tepat dari domain eksekusi yang tak terbatas, dan berlawanan dengan perilaku yang diharapkan). Terdapat 2 cara pengujian perangkat lunak, yaitu : 1. Black Box Testing 2. White Box Testing Dari 2 cara tersebut, penulis memilih Black Box Testing.
2.11 Black Box Testing Test case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana
yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya. Teknik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima. Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak. Klasifikasi black box testing mencakup beberapa pengujian, yaitu: 1. Pengujian fungsional (functional testing). 2. Pengujian tegangan (stress testing). 3. Pengujian beban (load testing). 4. Pengujian khusus (ad-hoc testing). 5. Pengujian penyelidikan (exploratory testing). 6. Pengujian usabilitas (usability testing). 7. Pengujian asap (smoke testing).
8. Pengujian pemulihan (recovery testing). 9. Pengujian volume (volume testing). 10. Pengujian domain (domain testing). 11. Pengujian skenario (scenario testing). 12. Pengujian regresi (regression testing). 13. Penerimaan pengguna (user acceptance). 14. Pengujian alfa (alpha testing). 15. Pengujian beta (beta testing).