BAB II LANDASAN TEORI
2.1
Pariwisata Dalam kepariwisataan, menurut Leiper dalam Cooper et.al(1998:5)
terdapat tiga elemen utama yang menjadikan kegiatan tersebut bisa terjadi. (Ismayanti, 2010:1-3)
Gambar 2.1 Sistem Dasar Pariwisata Kegiatan wisata terdiri atas beberapa komponen utama. 1. Wisatawan Aktor dalam kegiatan wisata. Berwisata menjadi sebuah pengalaman manusia untuk menikmati, mengantisipasi dan mengingatkan masa-masa di dalam kehidupan. 2. Elemen Geografi Pergerakan wisatawan berlangsung pada tiga area geografi, seperti berikut: a. Daerah Asal Wisatawan (DAW) b. Daerah Transit (DT) c. Daerah Tujuan Wisata (DTW)
8
9
3. Industri Pariwisata Industri yang menyediakan jasa, daya tarik, dan sarana wisata. Industri yang merupakan unit-unit usaha atau bisnis di dalam kepariwisatan. Pariwisata merupakan kegiatan yang dapat dipahami dari banyak pendekatan. Dalam Undang-undang RI nomor 10 tahun 2009 tentang kepariwisataan dijelaskan bahwa: 1. Wisata merupakan kegiatan perjalanan yang dilakukan oleh seseorang atau sekelompok orang dengan mengunjungi tempat tertentu untuk tujuan rekreasi, pengembangan pribadi, atau mempelajari keunikan daya tarik wisata yang dikunjungi dalam jangka waktu sementara. 2. Wisatawan merupakan orang yang melakukan kegiatan wisata. 3. Pariwisata merupakan berbagai macam kegiatan wisata dan didukung berbagai fasilitas serta layanan yang disediakan oleh masyarakat, pengusaha, pemerintah, dan Pemerintah Daerah. 4. Kepariwisataan merupakan keseluruhan kegiatan yang terkait dengan pariwisata dan bersifat multidimensi serta multidisiplin yang muncul sebagai wujud kebutuhan setiap orang dan negara serta interaksi antara wisatawan, Pemerintah, Pemerintah Daerah, dan Pengusaha. 5. Usaha pariwisata merupakan usaha yang menyediakan barang dan/atau jasa bagi pemenuhan kebutuhan wisatawan dan penyelenggaraan pariwisata. 6. Pengusaha pariwisata merupakan orang atau sekelompok orang yang melakukan kegiatan usaha pariwisata.
10
2.2
Portal (Kukuh Setyo Prakoso, 2008:9-11) Portal merupakan aplikasi berbasis
web. Aplikasi ini menyediakan akses suatu titik tunggal dari informasi online terdistribusi, seperti dokumen yang didapat melalu pencarian, kanal berita dan link ke situs khusus. Untuk memudahkan pengguna, biasanya disediakan kemampuan pencarian dan pengorganisasian informasi. (Wiryana dan Hasibuan) Menurut PortalsCommunity.com, portal dapat dikelompokkan menjadi empat kategori yaitu: 1. Portal Corporate/Enterprise (Intranet) 2. Portal e-Bussiness (Extranet) 3. Portal Personal (WAP) 4. Portal Mega/Publik (Internet)
2.3
UGC/UCC (User Generated Content) “User Generated Content (UGC) adalah berbagai jenis content yang
tersedia secara publik dan diproduksi oleh para end-user.” (Diki Andeas, 2010:10-23) Konsep User Generated Content dapat dilihat pada gambar 2.2.
Gambar 2.2 Konsep User Generated Content
11
Perkembangan teknologi web yang digunakan oleh situs-situs Web 2.0 memungkinkan para pengunjung untuk meng-upload content baik dalam bentuk tulisan, gambar, audio, dan video ke situs tertentu, misalnya Youtube, Facebook, Flickr, Twitter, dan Kaskus. Content-nya berasal dari para pengunjung/pengguna situs tersebut yang dengan sukarela meng-upload content yang mereka sukai. Ini adalah kategori dari teknik User Generated Content, dimana user mempunyai peran utama dalam men-generate content.
2.3.1
Participatory Participatory adalah salah satu kunci kenapa ada User Generated
Content. Alur dan manfaat aplikasi web yang menarik, kemudahan penggunaan, tampilan yang nyaman, layanan yang terjamin, interaksi dengan pengguna lain, Trend Open Content, dan Knowledge Sharing plus efek viral (rekomendasi lewat jalur mulut ke mulut) dari para pengguna awal, umumnya membuat pengguna lain tertarik untuk berpartisipasi.
2.3.2
Usability Web Usability berbicara tentang bagaimana suatu situs dapat digunakan
dengan mudah oleh end-user. Baik dengan cara menyajikan content secara jelas dan bersih, menyediakan alur dan pilihan yang mudah bagi pengguna, menempatkan hal-hal penting dengan tepat sehingga mendapat perhatian pengguna, dan seribu satu cara lainnya yang berorientasi kepada pengguna.
12
2.3.3
Contoh Situs UGC Berikut ini adalah beberapa jenis situs yang menerapkan User Generated
Content. 1. Communication a. Blog: Blogger, WordPress, LiveJurnal, Vox. b. Microblog: Plurk, Twitter, Tumblr, Posterous, Koprol. c. Social Networking: Facebook, Friendster, Linkedln, MySpace, Last.fm. d. Forum: Kaskus. 2. Collaboration a. Wiki: Wikipedia. b. Social Bookmark: Delicious. c. Social News: Digg, Reddit. d. Writing: Cerpenista, Kemudian. 3. Multimedia a. Image dan Photo Sharing: Flickr, Photobucket, DevianArt. b. Video Sharing: Youtube, Vimeo. c. Audio dan Music Sharing: Imeem. d. Design dan Contest: Treadless, GantiBaju. 4. Lain-lain a. Reviews: Yelp, Amazone, GoodReads. b. Question dan Answer: Yahoo! Answer. c. Map dan Direktori: Wikimapia d. Games: Second Life, World of Warcraft, eRepublic, Mafia War.
13
2.4
RUP (Rational Unified Process) RUP adalah proses rekayasa perangkat lunak yang dikembangkan oleh
Rational Software IBM. RUP menyediakan guidline untuk tim pengembang perangkat lunak agar lebih efektif dan efisien menggunakan UML. (Imam Robandi, 2010:36-41)
Gambar 2.3 Bagan Rational Unified Process (Imam Robandi, 2010:36-41) Pada sebuah proyek dengan menggunakan model Rational Unified Process (RUP), kita lakukan melalui 4 fase yaitu: insepsi, elaborasi, konstruksi, dan transisi (Gambar 2.3). Insepsi adalah permulaan proyek, pengumpulan informasi dan pembuktian konsep. Akhir langkah insepsi adalah keputusan untuk melanjutkan atau tidak melanjutkan proyek. Pada fase Elaborasi, use case dirinci dan keputusan untuk memilih arsitektur dibuat. Konstruksi meliputi: analisis, desain, pengkodean, dan perencanaan pengujian. Transisi meliputi persiapan akhir dan deploy sistem ke pemakai. Berikut ini overview secara singkat satu per satu 4 fase diatas. 1. Insepsi Fase insepsi adalah permulaan proyek. Insepsi dimulai ketika seseorang
14
mendapatkan ide pengembangan proyek. Fase ini dimulai dengan membuat pemodelan bisnis, dengan menganalisis bisnis sekitar sistem yang akan dibangun. Dengan menggunakan UML, fase ini dapat kita lakukan dengan membuat use case bisnis, aktor bisnis, pekerja bisnis, dan diagram use case bisnis. Mungkin saja juga membuat diagram aktifitas untuk memodelkan workflow. 2. Elaborasi Tujuan fase elaborasi adalah untuk menganalisis domain masalah, menguatkan arsitektur sistem, mengembangkan rencana proyek, dan mengurangi unsur-unsur risiko tertinggi proyek. Fase elaborasi meliputi beberapa kegiatan antara lain: analisis dan desain arsitektur. Pekerjaan utama pada fase ini adalah melengkapi dan mendetailkan use case yang sudah didapatkan pada fase insepsi. 3. Konstruksi Fase konstruksi menyempurnakan hasil-hasil yang telah dicapai di fase elaborasi. Menggunakan arsitektur yang telah ditetapkan di fase elaborasi, tim melanjutkan ke tahap pembuatan sistem. Tugas-tugas di fase ini meliputi: menyempurnakan kebutuhan yang masih tersisa, membuat perangkat lunak, dan menguji perangkat lunak. 4. Transisi Fase transisi dilakukan ketika perangkat lunak yang diproduksi telah selesai dan diserahkan ke pemakai dilakukan. Tugas-tugas pada fase ini meliputi: melengkapi dan menyempurnakan perangkat lunak, melengkapi acceptance testing akhir, melengkapi manual user guide, dan menyiapkan pelatihan pemakai.
15
2.5
UML (Unified Modeling Language) Notasi UML dibuat sebagai kolaborasi dari Grady Booch, DR. James
Rumbaugh, Ivar Jacobson, Rebecca Wirfs-Brock, Peter Yourdon. (Imam Robandi, 2010:18)
2.5.1
Use Case Diagram Diagram use case menyajikan interaksi antara use case dan aktor dalam
sistem yang akan dikembangkan. Use case sendiri adalah fungsionalitas atau persyaratan-persyaratan sistem yang harus dipenuhi oleh sistem yang akan dikembangkan tersebut menurut pandangan pemakai sistem. Sedangkan aktor bisa berupa orang, peralatan, atau sistem lain yang berinteraksi terhadap sistem yang akan dibangun. (Imam Robandi, 2010:21) Ada dua hal utama pada use case yaitu pendefenisian apa yang disebut aktor dan use case. (Rosa A.S, 2011:131) 1. Aktor merupakan orang, proses, atau sistem lain yang berinterkasi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu orang. 2. Use Case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antarunit atau aktor. Berikut simbol-simbol yang ada pada diagram use case, yang disajikan dalam bentuk tabel 2.1 berikut:
16
Tabel 2.1 Simbol-simbol use case (Rosa A.S, 2011:131-133) SIMBOL 1. Use case
nama usecase
2. Aktor / actor
nama aktor
3. Asosiasi / association
4. Ekstensi / extend
DESKRIPSI Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case. Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun . simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; bisanya dinyatakan menggunakan kata benda diawal frase nama aktor. Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor. Relasi use case tambahan ke sebuah use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu; mirip dengan prinsip inheritance pada pemrograman berorientasi objek; biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan, misal : validasi username <<extend>>
validasi user <<extend>>
validasi sidik jari
arah panah mengarah pada use case yang ditambahkan 5. Generalisasi/ Generalitation
Hubungan generalisasi dan spesialisasi (umum - khusus) antara duah buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainya, misalnya:
17
SIMBOL
DESKRIPSI
ubah data
mengelola data
hapus data
arah panah mengarah pada use case yang menjadi generalisasinya (umum) 6. Menggunakan / include / Relasi use case tambahan ke sebuah use uses case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini. Ada dua sudut pandang yang cukup besar mengenai include di use case: 1. include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan, misal pada kasus berikut : validasi username <
>
login
2. include berarti use case yang tambahan akan selalu melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan, misal pada kasus berikut:
validasi user <>
ubah data
18
SIMBOL
DESKRIPSI Kedua interpretasi di atas dapat dianut salah satu atau keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan.
Contoh use case diagram dapat dilihat pada Gambar 2.4. (Imam Robandi, 2010:21)
Gambar 2.4 Diagram Use Case untuk sistem ATM
2.5.2
Activity Diagram Diagram aktivitas menggambarkan aliran fungsionalitas sistem. Ada dua
kegunaan diagram aktivitas dalam pemodelan dengan UML. Dua kegunaan tersebut diberikan di bawah ini. (Imam Robandi, 2010:22-23) : 1. Pada tahap pemodelan bisnis, diagram aktivitas dapat digunakan untuk menunjukkan alur kerja bisnis (Business Workflow). 2. Pada tahap pemodelan sistem, diagram aktivitas dapat digunakan untuk menjelaskan aktivitas yang terjadi di dalam sebuah use case. Diagram aktivitas mendefenisikan dari mana workflow di mulai, di mana workflow berakhir, aktivitas apa saja yang terjadi di dalam workflow, dan apa saja
19
yang dilakukan saat sebuah aktivitas terjadi. Aktivitas adalah tugas yang dilakukan selama dalam workflow. Berikut adalah simbol-simbol yang ada pada diagram aktivitas, yang disajikan dalam tabel 2.2. (Rosa A.S, 2011:134-135) Tabel 2.2 Simbol-simbol activity diagram Simbol 1. Status awal
Deskripsi Status awal aktivitas sistem, sebuah diagram aktivitas memiliki status awal
2. Aktivitas aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
3. Percabangan / decision Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu 4. Penggabungan / join Asosiasi penggabungan dimana lebih dari satu aktivitas memiliki sebuah status akhir 5. Status akhir Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir 6. Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi
20
Contoh activity diagram dapat dilihat pada Gambar 2.5. (Imam Robandi, 2010:23)
Gambar 2.5 Contoh workflow dengan activity diagram
2.5.3
Class Diagram Diagram kelas menujukkan interaksi antar kelas-kelas dalam sistem.
Kelas juga dapat dianggap sebagai cetak biru dari objek-bjek di dalam system. Sebuah kelas mengandung informasi (attribut) dan tingkah laku (behaviour) yang berkaitan dengan informasi tersebut. Kelas Account mengandung atribut nomor PIN pengguna dan tingkah laku untuk mengecek PIN tersebut. (Imam Robandi, 2010:27). Berikut adalah simbol-simbol yang ada pada diagram kelas, yang disajikan dalam tabel 2.3. (Rosa A.S, 2011:123-124)
21
Tabel 2.3 Simbol-simbol class diagram SIMBOL 1. Kelas
2. Antarmuka / interface
DESKRIPSI Kelas pada struktur sistem
Sama dengan konsep interface dalam pemrograman berorientasi objek
interface
3. Asosiasi / association
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity
4. Asosiasi berarah / directed association
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity Relasi antar kelas dengan makna generalisasi-spesialisai (umum-khusus)
5. Generalisasi
6. Kebergantungan / dependency
Relasi antar kelas dengan kebergantungan antar kelas
makna
7. Agregasi / aggregation
Relasi antar kelas dengan makna semuabagian (whole-part)
Contoh class diagram dapat dilihat pada Gambar 2.6. (Imam Robandi, 2010:28)
Gambar 2.6 Contoh Class Diagram untuk penarikan uang pada sistem ATM
22
2.6
Ruby on Rails Menurut Lenz, 2008:2 dalam skripsi “Implementasi Rails Pada
Pengembangan Aplikasi Web:Universociety” yang disusun oleh Des Erita Fenti menyatakan bahwa Ruby on Rails atau sering disingkat Rails merupakan sebuah framework yang ditulis menggunakan bahasa pemrograman Ruby. Ruby adalah sebuah bahasa scripting berorientasi objek yang diciptakan pertama kali oleh Yukihiro Matsumoto pada awal 1990-an (Lenz, 2008:2). Berikut beberapa prestasi yang telah berhasil diraih oleh framework web ini: a. Rails memenangkan Jolt Award tahun 2006 sebagai perkakas pengembangan web terbaik. b. Buku “Agile Web Development with Rails” terbitan The Pragmatic Programmers menerima penghargaan Jolt Award 2006 untuk kategori buku teknik terbaik. c. Penemu Rails, David Heinemeier Hansson diberi gelar sebagai Hacker of the Year pada OSCON 2006. d. Banyak tokoh-tokoh programmer yang beralih dari PHP dan Java ke Rails, seperti James Duncan Davidson (pengembang Tomcat dan Ant) dan Bruce Tate (pengarang buku-buku Java). e. Rails telah menjadi salah satu framework yang paling berpengaruh dalam pengembangan aplikasi web dengan banyaknya framework web lain yang menggunakan filosofi dan arsitektur Rails, seperti Merb, Django, Grails, CakePHP, Code Igniter, JBOSS Seam, ASP.NET.
23
2.6.1
Sejarah Ruby on Rails Ruby on Rails berasal dari ekstraksi sebuah aplikasi manajemen proyek,
Basecamp, yang dikembangkan oleh pengembang web dari Denmark, David Heinemeier Hansson, untuk perusahaan 37signals. David merilis Rails ke publik untuk pertamakalinya pada Juli 2004 sebagai perangkat lunak open source, dan dilanjutkan dengan rilis versi 1.0 pada 13 Desember 2005. Sekarang Rails telah mencapai versi 2.2 yang dirilis pada November 2008 dan di-maintenance oleh Rails Core Team dibantu dengan patch dan bugfix dari jutaan komunitas pengguna Rails. (Lenz, 2008:4).
2.6.2
Model, View, dan Controller Berikut ini adalah gambar Rails MVC Model :
Gambar 2.7 Rails MVC Model (Fajar Muharandy, 2007:4)
Proses yang terjadi dalam model MVC secara umum adalah sebagai berikut: 1. Browser akan mengirim request ke controller. 2. Controller akan meresponnya dan berkomunikasi dengan model. Komunikasi ini dapat berupa mengakses data, ataupun mengubah data yang disimpan oleh
24
model. Perlu diperhatikan bahwa tidak semua model harus berhubungan dengan database. 3. Controller akan membuat view yang bersesuaian. 4. Browser akan me-render view yang ada dan menampilkanya ke browser.
2.6.3
Struktur Direktori Ruby on Rails Struktur direktori Ruby on Rails dapat dilihat pada gambar 2.8.
Gambar 2.8 Struktur Direktori Pada Ruby on Rails Berikut ini adalah penjelasan mengenai struktur direktori Ruby on Rails: 1. app Semua yang berhubungan dengan aplikasi dan kode pada direktori ini. a. Assets Folder tempat menyimpan: images, stylesheets, dan javascripts. b. Controllers Memproses request pengguna dan mengembalikan respon pengguna. Penamaannya seperti: videos_controller.rb dan articles_controller.rb. c. Helpers Method yang digunakan untuk menyederhanakan View. Penamaanya seperti: videos_helper.rb dan comments_helper.rb. d. Mailers Digunakan untuk memproses email. e. Models Bertanggung Jawab untuk melakukan pengolahan data dalam basis data. Penamaanya seperti: video.rb dan comment.rb will ada di sini.
25
f. Views Merupakan tempat untuk meletakkan apa yang akan ditampilkan di browser Penulisanya seperti: index.html.erb 2. Config Tempat konfigurasi aplikasi. Seperti: database, routing, dan komponen yang lainya. 3. Db DDL (Data Defenition Language) database dari aplikasi dalam bentuk kode ruby, schema.rb. a. Migrate Migrasi (perubahan database tambahan skema) ada di sini. 4. Doc Dokumentasi untuk aplikasi 5. Lib Kode yang tidak termasuk dalam model, controller, atau helper termasuk dalam modul lib ini. 6. Log file yang berisi catatan (log) aktivitas dari aplikasi 7. public Statik files seperti 404.html dan 500.html ada disini. 8. Tmp File-file sementara untuk cache, pelacakan, session, dan soket disimpan di sini. 9. Plugins Tempat instalasi plugins 10. config.ru Digunakan untuk memulai Rails App. 11. Gemfile Tempat mendeklarasikan nama gem.
26
2.7
PostgreSQL PostgreSQL merupakan database yang dibangun dengan metode open
source berbasis SQL, dan oleh para perancangnya diutamakan kelengkapan fasilitas, seperti mudah dikembangkan, memberi kemudahan para pengguna, serta memiliki optimizer untuk meningkatkan kecepatan. (Riyanto, 2005:47-48) Dengan dukungan open source, PostgreSQL juga merupakan salah satu dari sejumlah database besar yang menawarkan skalabilitas, dan kinerja yang tinggi, sehingga penggunaannya begitu meluas di berbagai platform dan didukung oleh banyak bahasa pemrograman seperti C++, Java, Perl, PHP, Ruby, dan Python. Perbedaan penting antara Postgres dengan sistem relasional standar adalah Postgres arsitekturnya memberi kemudahan untuk mendefenisikan sendiri SQL-nya, terutama pada pembuatan function atau biasa disebut sebagai stored procedure. Sehingga bisa dimungkinkan bahwa informasi yang disimpan oleh Postgres bukan hanya tabel dan kolom, melainkan tipe, fungsi, metode akses, dan banyak lagi yang terkait dengan tabel dan kolom tersebut. Postgres bukan sekedar database relational tapi masih mempunyai kelebihan lain yang mungkin tidak dimiliki oleh database lain, kelebihan tersebut seperti halnya konsep object oriented. Sehingga Postgres sering disebut database Object Relational Database Management System (ORDBMS).
27
2.8
Database (Basis Data)
2.8.1
Pengertian Sistem Basis Data adalah sistem terkomputerisasi yang tujuan utamanya
adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya basis data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan cepat. (Rosa A.S, 2011:44) Database adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. (Faried Irmansyah, 2008:2)
2.8.2
DBMS DBMS (Database Management System) atau dalam bahasa Indonesia
sebagai Manajemen Basis Data adalah suatu sistem aplikasi yang digunakan untuk menyimpan, mengelola, dan menampilkan data. (Rosa A.S, 2011:45) Suatu sistem aplikasi disebut DBMS jika memenuhi persyaratan sebagai berikut: 1. Menyediakan fasilitas untuk mengelola akses data 2. Mampu menangani integritas data 3. Mampu menangani akses data yang dilakukan 4. Mampu menangani backup data
28
2.8.3
Normalisasi Data Normalisasi merupakan sebuah teknik dalam logikal desain sebuah basis
data (database), teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). (Faried Irmansyah, 2008:4) a. Normal Pertama (1st Normal Form) Aturan : 1. Mendefinisikan atribut kunci 2. Tidak adanya group berulang 3. Semua atribut bukan kunci tergantung pada atribut kunci b. Normalisasi Kedua (2nd Normal Form) Aturan : 1. Sudah memenuhi dalam bentuk normal kesatu 2. Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci. c. Normalisasi Ketiga (3rd Normal Form) Aturan : 1. Sudah berada dalam bentuk normal kedua 2. Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
29
2.9
Pengujian Perangkat Lunak
2.9.1
Pengertian Pengujian adalah satu set aktifitas yang direncanakan dan sistematis untuk
menguji atau mengevaluasi kebenaran yang diinginkan. (Rosa A.S, 2011:210) 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 “software testing consist of the dynamic verification of the behavior of program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the excepted behaviour” (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). (Janner Simarmata, 2010:303)
2.9.2
Jenis-jenis pengujian Berikut ini merupakan jenis-jenis pengujian : (Rosa A.S, 2011:213-214)
1. Black-Box Testing (pengujian kotak hitam) Yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dank kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan. Pengujian kotak hitam dilakukan dengan membuat kasus uji yang bersifat
30
mencoba semua fungsi dengan spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian kotak hitam harus dibuat dengan kasus benar dan kasus salah, misalkan untuk kasus proses login maka kasus uji yang dibuat adalah: a. Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang benar. b. Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang salah.
2. White-Box Testing (pengujian kotak putih) Yaitu menguji perangkat lunak dari segi desain dank ode program apakah mampu menghasilkan fungsi-fungsi, masukan, dan keluaran yang sesuai dengan spesifikasi kebutuhan. Pengujian kotak putih dilakukan dengan memeriksa lojik dari kode program. Pembuatan kasus uji bisa mengikuti standar pengujian dari standar pemrograman yang seharusnya.