BAB II LANDASAN TEORI 2.1. Konsep Dasar Sistem Menurut Laudon (2012:16) sistem informasi adalah komponen-komponen yang saling berkaitan yang bekerja bersama-sama untuk mengumpulkan, mengolah, menyimpan, dan menampilkan informasi untuk mendukung pengambilan keputusan, koordinasi, pengaturan, analisa, dan visualisasi pada sebuah organisasi. Sistem Informasi dapat terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block), yaitu blok masukan (input block), blok model (model block), blok keluaran (output block), blok teknologi (technology block), blok dasar data (database block), dan blok kendali (control block). Sebagai suatu sistem, keenam blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya. 2.2. Definisi UML (Unified Modelling Language) 2.2.1. Pengertian UML UML singkatan dari Unified Modeling Language, UML adalah kosakata umum berbasis objek dan diagram teknik yang cukup efektif untuk memodelkan setiap proyek pengembangan sistem mulai tahap analisis sampai tahap perancangan dan tahap implementasi. (Alan Dennis, 2012 : 513) 2.2.2. Diagram – Diagram UML Beberapa literature menyebutkan bahwa UML menyediakan Sembilan jenis diagram. Namun kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai dengan kebutuhan. Diagram yang sering digunakan adalah Diagram Use case, Diagram Aktivitas (Activity Diagram), Diagram Sequence, Diagram Class. 8 http://digilib.mercubuana.ac.id/ 9 2.2.3. Use Case Diagram Use Case Diagram merupakan suatu diagram yang menangkap kebutuhan bisnis untuk sistem dan untuk menggambarkan interaksi antara sistem dan lingkungannya. (Alan Dennis, 2012 : 513). Tabel 2. 1. Use Case Diagram (Alan Dennis, 2012 : 518) Komponen pembentuk diagram use case adalah, sebagai berikut : 1. Aktor (An actor), menggambarkan pihak-pihak yang berperan dalam sistem. 2. A Use case, aktifitas / sarana yang disiapkan oleh bisnis / sistem. 3. A System boundary, sebuah kotak yang mewakili sebuah sistem. 4. Hubungan (An association relationship), aktor mana saja yang terlibat dalam use case, dan bagaimana hubungan use case dengan use case lain. ada hubungan antar use case. Digolongkan menjadi 2 : yaitu extend digambarkan dengan keterangan <<extend>>, dan include digambarkan dengan keterangan <<include>>. http://digilib.mercubuana.ac.id/ 10 Gambar 2.1. Perbedaan include dan extend pada use case(Alan Dennis, 2012 : 520) Tabel 2.2. Perbedaan include dan extend pada use case Include Extend Use case terpanggil (included use case) Use case ekstensi tidak selalu selalu diperlukan oleh use case dasar dibutuhkan oleh use case dasar Yang memutuskan kapan dipanggilnya Yang memutuskan kapan dipanggilnya use case included adalah use case dasar use case extend adalah use case extend itu sendiri Panah hubungan dari use case dasar ke Panah hubungan dari use case extend use case include ke use case dasar http://digilib.mercubuana.ac.id/ 11 Use case biasanya disertai dengan penjelesan narasi yang dirangkum dalam tabel yaitu disebut Use case Description. Use caseDescription merupakan tabel yang digunakan untuk membuat dan menjelaskan keterangan terperinci mengenai tiap tiap use case. Terdapat istilah pre condition dan post condition, fungsinya adalah memberikan informasi penting mengenai keadaan sistem sebelum dan sesudah use case. Hal ini dapat dilakukan dengan memberikan penjelasan singkat atau dapat pula berupa namause case. Gambar 2.2.Contoh Use Case (Alan Dennis, 2012 : 519) 2.2.3.2 Activity Diagram Diagram aktivitas atau Activity Diagram yang menggambarkan alur kerja bisnis independen dari kelas, aliran kegiatan dalam use case atau desain rinci sebuah metode. (Alan Dennis, 2012 : 513) Gambar 2.3 Contoh Activity Diagram (Alan Dennis, 2012 : 167) http://digilib.mercubuana.ac.id/ 12 Tabel 2.3. Komponen Activity Diagram (Alan Dennis, 2008 : 166) Actor Digunakan untuk melakukan tindakan Activity Digunakan untuk mewakili serangkaian tindakan Object Node Digunakan untuk mewakili suatu objek yang terhubung ke satu set Arus Obyek Control Flow Menunjukkan urutan eksekusi Object Flow Menunjukkan arus dari sebuah objek dari satu kegiatan (atau tindakan) untuk kegiatan lain (atau tindakan) Actor Activity Class Diagram -----------------> Initial Node Menggambarkan awal dari serangkaian tindakan atau kegiatan Initial activity Node Digunakan untuk menghentikan semua arus kontrol dan arus objek dalam suatu kegiatan (atau tindakan) Final activity Node Digunakan untuk menghentikan aliran kontrol tertentu atau aliran objek Decision Node Digunakan untuk mewakili kondisi tes untuk memastikan bahwa aliran kontrol atau aliran objek hanya turun satu jalur Marge Node Digunakan untuk membawa kembali jalur keputusan bersama yang berbeda yang dibuat menggunakan keputusan-node Fork Node Adalah node kontrol yang memiliki satu dan dua atau lebih aliaran keluar Join Node Adalah gabungan dari satu atau lebih activity aliran masuk Swimline Digunakan untuk memecah sebuah diagram aktivitas dalam baris dan kolom untuk menetapkan aktivitas individu (atau tindakan) kepada individu atau benda yang bertanggung jawab untuk melaksanakan kegiatan (atau tindakan) http://digilib.mercubuana.ac.id/ Name 13 2.2.3.3 Sequence Diagram Sequence Diagram merupakan urutan model dinamis yang menggambarkan contoh kelas yang berpartisipasi dalam use case dan pesan yang lewat di antara mereka dari waktu ke waktu. (Alan Dennis, 2012 : 540) Berikut merupakan komponen utama dalam sequence diagram : Tabel 2.4. Komponen Sequence Diagram( Alan Dennis dkk, 2012 : 532 ) Gambar 2.4.Komponen Sequence Diagram (Alan Dennis, 2010 : 531) http://digilib.mercubuana.ac.id/ 14 2.2.3.3 Class Diagram Diagram kelas atau Class Diagram adalah model statis yang mendukung pandangan statis dari sistem berkembang.Ini menunjukkan kelas dan hubungan antar kelas yang tetap konstan dalam sistem dari waktu ke waktu.Diagram kelas sangat mirip dengan diagram hubungan entitas (ERD).(Alan Dennis, 2012 : 521) Gambar 2.5.Contoh Class Diagram (Alan Dennis, 2010 : 530) Tabel 2.5. KomponenClass Diagram ( Alan Dennis, 2010 ) http://digilib.mercubuana.ac.id/ 15 2.3 Pemrograman 2.3.1 Bahasa Pemrograman Menurut Dipraja (2013:26), programming language (bahasa pemrograman) merupakan suatu sintak untuk mendefinisikan program komputer, bahasa ini memungkinkan seorang programmer dapat membuat suatu program aplikasi 2.3.2 PHP (Perl Hypertext Preprocessor) Menurut Sibero (2011d:49) “PHP adalah pemrograman interpreter yaitu proses penerjemahan baris kode sumber menjadi kode mesin yang dimengerti komputer secara langsung pada saat baris kode dijalankan”. Php disebut juga pemrograman Server Side Programming, hal ini dikarenakan seluruh prosesnya dijalankan pada server. PHP adalah suatu bahasa dengan hak cipta terbuka atau yang juga dikenal dengan open source yaitu pengguna data mengembangkan kode-kode fungsi sesuai kebutuhannya. PHP (Perl Hypertext Preprocessor) bisa di sebut juga sebagai bahasa server-side- scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis”. Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis. 2.4 Basis Data 2.4.1 Definisi Basis Data Menurut Raharjo (2011:3), basis data (database) yaitu kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data tersebut dapat dimanipulasi, diambil, dan dicari secara cepat. 2.4.2 Definisi Database Management Systems (DBMS) Database Management System (DBMS) adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses ke basis data (Connoly dan Beg, 2010:15). Biasanya basis data memiliki fasilitas-fasilitas sebagai berikut : 1. Fasilitas mendefinisikan basis data, biasanya menggunakan Data Definition Language (DDL). DDL mengizinkan pengguna untuk memspesifikasikan tipe, struktur, dan batasan aturan mengenai data yang bisa disimpan ke dalam basis data. 2. Fasilitas untuk mengizinkan pengguna untuk menambah, mengedit, menghapus dan mendapatkan kembali data dari basis data, biasanya menggunakan Data Manipulation Language (DML). Ada pula suatu fasilitas yang melayani http://digilib.mercubuana.ac.id/ 16 pengaksesan data yang disebut query language. Bahasa yang diakui adalah Structured Query Language (SQL), yang merupakan standar dari DBMS. 3. Fasilitas untuk mengontrol ke basis data (DCL). Contoh : a. Sistem keamanan yang mencegah user yang tidak punya autoritas untuk akses data. b. Suatu sistem terintegrasi yang memelihara konsistensi penyimpanan data. c. Suatu sistem control pengembalian data yang mana dapat mengembalikan data ke keadaan sebenarnya apabila terjadi kegagalan perangkat keras atau perangakat lunak. d. Terdapat suatu catalog yang dapat diakses oleh pengguna, yang menjelaskan data didalam basis data tersebut. Komponen DBMS terbagi menjadi lima yaitu: 1. Hardware (Perangkat Keras) Hardware dapat berkisar dari komputer tunggal, mainframe tunggal, hingga jaringan computer. Hardware yang dipakai tergantung pada kebutuhan organisasi dan Database Management System DBMS memerlukan jumlah minimum memori dan hardisk untuk bekerja, tetapi konfigurasi yang minimum tidak memberikan performa yang handal. 2. Software (Perangkat Lunak) Komponen perangkat lunak terdiri dari perangkat lunak DBMSdan program aplikasi beserta sistem operasi (OS), termasuk jaringan perangkat lunak jika DBMS digunakan melalui jaringan. 3. Data Data merupakan data terpenting dalam DBMS khususnya sudut pandang dari end user mengenai data, dimana data berfungsi sebagai jembatan antara komponen mesin dengan komponen manusia. 4. Procedures Prosedur merupakan panduan dan aturan dalam membuat dan menggunakan basis data berupa: login ke dalam basis data, penggunaan fasilitas DBMS atau aplikasi program, cara menjalankan atau menghentikan DBMS, membuat backup database, menangani kerusakan software atau hardware, mengubah struktur tabel, mengumpulkan basis data dari beberapa disk, meningkatkan kinerja atau membuat arsip data pada secondary storage. http://digilib.mercubuana.ac.id/ 17 5. People (manusia) Komponen terakhir yaitu manusia yang terlibat dengan sistem tersebut. 2.5 Pengertian SDLC (Software Development Life Cycle) Pengertian SDLC adalah suatu proses berkelanjutan dari planning analisis, desain dan implementasi. Yang pada prosesnya dilakukan perbaikan secara bertahap (Dennis et al 2012:39). 2.5.1 Metode Waterfall Model perancangan SDLC adalah dengan model waterfall. Terdapat 5 langkah dalam metode waterfall, adalah: Gambar 2.6 Metode Waterfall (Alan Dennis 2012) 1. Perencanaan (Planning) Dalam tahapan ini, menjelaskan dan mengargumentasikan untuk melanjutkan proyek yang telah dipilih, Rencana kerja yang matang juga disusun untuk menjalankan tahapan-tahapan lainnya. Pada tahap ini ditentukan secara detail rencana kerja yang harus dikerjakan, durasi yang diperlukan masing-masing tahap, sumber daya manusia, perangkat lunak, dokumentasi, perangkat keras, maupun financial diestimasi. Pembuatan perencanaan ini bukan langkah mudah karena untuk mengestimasi beban kerja dan durasi dari masing-masing tahap dibutuhkan pengalaman yang cukup banyak. Kesalahan pada tahap ini akan mengakibatkan keuntungan yang diperolah tidak maksimal, bahkan bias rugi. Pada tahapan ini peran manajemen sistem informasi berpengalaman sangat dibutuhkan. 2. Analisis (Analysis) Tahap kedua, adalah tahap analisis, yaitu tahap dimana kita berusaha mengenali segenap permasalahan yang muncul pada pengguna dengan mendekomposisi dan http://digilib.mercubuana.ac.id/ 18 merealisasikan komponen-komponen sistem. Tujuan utama dari tahap analisis adalah untuk memahami dan mendokumentasikan kebutuhan bisnis dan persyaratan proses dari sistem baru. Menganalisa kebutuhan sebagai bahan dalam membuat spesifikasi di tahapan selanjutnya. 3. Perancangan (Design) Tahap Perancangan (design) dimana kita mencoba mencari solusi permasalahan yang didapat dari tahap analisis. Tahapan mengubah kebutuhan yang masih berupa konsep menjadi spesifikasi sistem yang nyata untuk diimplementasikan. Jika pada tahapan analisis ( form requirement to specification), maka tahapan desain adalah (form specification to implementation). Jadi, bagaimana pembuatan spesifikasi yang detail untuk bisa diimplementasikan. 4. Implementasi (Implementation) Tahap implementasi, dimana kita mengimplementasikan perancangan sistem ke situasi nyata atau desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Disini kita mulai berurusan dengan pemilihan perangkat keras dan penyusunan perangkat lunak aplikasi (coding ). 5. Sistem Pada tahapan sistem dilakukan pengujian (testing) dan pemeliharaan, yang dapat digunakan untuk menentukan apakah sistem / perangkat lunak yang kita buat sudah sesuai dengan kebutuhan pengguna atau belum. Jika belum, proses selanjutnya adalah bersifat iterative, yaitu kembali ke tahap sebelumnya. Tahap pemeliharaan dan perawatan dimana kita mulai melakukan pengoperasian sistem dan jika diperlukan melakukan perbaikan-perbaikan kecil. 2.4.3 SQL (Structured Query Language) Menurut Raharjo (2011:55), SQL yaitu kependekan dari Structured Query Language, yang merupakan bahasa atau kumpulan perintah standar yang digunakan untuk berkomunikasi dengan database. Menurut Raharjo (2011:21), mysql mengimplementasikan model database relasional maka disebut sebagai Relational Database Management System/RDBMS. Mysql merupakan software RDBMS atau server database yang dapat mengelola database dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses oleh banyak user/multi-user, dan dapat melakukan suatu proses secara sinkron atau berbarengan/multi-threaded. Mysql banyak digunakan di berbagai kalangan untuk http://digilib.mercubuana.ac.id/ 19 melakukan penyimpanan dan pengolahan data, mulai dari kalangan akademis sampai ke industri, baik industri kecil, menengah, maupun besar. 2.5. Database Basis data (Database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik, sehingga data digunakan oleh suatu program komupter untuk memperoleh informasi dari basis data tersebut. Basis data adalah sekumpulan data yang terhubung satu sama lain secara logika dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. [Verdi Yasin, 2012:274] Menurut Fathansyah [2012:2-3] basis data (Database) dapat didefinisikan dalam sejumlah sudut pandang seperti: 1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak data dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimanan elektronis. 2.6 Dreamweaver Adobe Dreamweaver CS6 merupakan versi terbaru dari Adobe Dreamweaver yang sebelumnya adalah Adobe Dreamweaver CS5”. Aplikasi Adobe Dreamweaver CS6memberikan tampilan lebih baik dan tentu saja semakin mudah dalam penggunaannya. Aplikasi ini mengintegrasikan beragam fitur untuk memenuhi kebutuhan pengembangan website, termasuk pembuatan halaman web dan pengelolaannya. Adobe Dreamweaver CS6 menyertakan banyak tool yang berkaitan dengan pengkodean seperti HTML, CSS, XML,dan pemrograman Client Side, yaitu JavaScript dengan penggunaan yang sangat mudah dan user friendly. Aplikasi ini juga mendukung pemrograman Script Server Side seperti PHP, Active Server Page (ASP), ASP.NET, ASP Java Script, ASP VB Script, Cold Fusion, dan Java Server Page (JSP). Fasilitas yang ada pada Adobe Dreamweaver CS6memberikan kemudahan kepada user untuk melakukan pengeditan karena ditampilkan secara visual. Penambahan desain fungsi pada halaman web tidak harus dituliskan dalam baris kode. Selain itu, Adobe Dreamweaver CS6 juga dapat meng-import dan menyisipkan image atau movie yang dibuat dari aplikasi lainnya seperti file flash (.SWF)ataupun FLV [Komputer, 2013]. http://digilib.mercubuana.ac.id/ 20 Gambar 2.7. AdobeDreamweaver CS6 2.7. Framework CodeIgniter Menurut [Betha Sidik, 2012] Framework CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal. Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu : 1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. 2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. http://digilib.mercubuana.ac.id/ 21 3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi. Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan. Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain, 1. Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain. 2. Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu mengubah sedikit saja file pada folder config. 3. Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru. 4. Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami. 2.8. Pengertian XAMPP XAMPP merupakan bundel paket instan yang terdiri dari Apache (server), MySql (database) dan PHP. Paket instan ini banyak digunakan oleh para programmer web karena kemudahannya sehingga programmer tidak perlu mengonfigurasi dari awal melainkan tinggal pakai (Eko Priyo Utomo 2013:7). Kata XAMPP merupakan singkatan dari : X : Berarti program ini dapat dijalankan di banyak sistem operasi, misalnya (Windows, Linux, Mac OS, dan solaris). http://digilib.mercubuana.ac.id/ 22 A: Apache, merupakan aplikasi web server, dan bertugas untuk menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web. Jika diperlukan juga berdasarkan kode PHP yang dituliskan, maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang dihasilkan. M: MySQL, merupakan aplikasi database server. Perkembangannya disebut sql yang merupakan kepanjangan dari Structured Query Language.Sql merupakan bahasa terstruktur yang digunakan untuk mengolah database.MySQL dapat digunakan untuk membuat dan mengelola database beserta isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah, dan menghapus data yang berada dalam database. P: PHP, bahasa pemrograman web. Bahasa pemrograman PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting. PHP memungkinkan kita untuk membuat halaman web yang bersifat dinamis. Sistem manajemen basis data yang sering digunakan bersama PHP adalah MySQl.namun PHP juga mendukung system manajement database Oracle, Microsoft Access, Interbase, d-base, PostgreSQL, dan sebagainya. P: 2.8.1 Perl, bahasa pemrograman. MySQL Menurut Matthews (2015:363) MySQL (My Structure Query Language)adalah sistem manajemen database relasional yang menggunakan Query TerstrukturLanguage (SQL) untuk menyimpan, bekerja dengan, dan mengambil informasi melalui Internet.MySQL disebut "paling populer database open source di dunia," dengan jutaanwebsite menggunakannya sebagai sumber daya web yang berjalan pada server web, seperti halnya PHP. Dan MySQL juga dapat dijalankan pada server yang berdiri sendiri tidak terhubung ke Web. MySQL dibangun untuk menangani volume besar, akses database multiuser. mysql.com mengatakan "Banyak organisasi yang tumbuh paling cepat terbesar dan dunia termasuk Facebook, Google, Alcatel Lucent, dan Zappos mengandalkan MySQL. "MySQL rendah atau tidak ada biaya, kemudahan penggunaan, kecepatan, kehandalan, dan kegunaan untuk kecil untuk situs besar membuatnya mudah untuk melihat mengapa ia memiliki digunakan secara luas. http://digilib.mercubuana.ac.id/ 23 2.9. Testing Perangkat Lunak Pengujian perangkat lunak merupakan elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas. Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun. Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian white-box, pengujian black-box, Integrasi Bottom-Up dan Integrasi Top-Down. “Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal” Soetam Rizky ( 2011:237) 2.10. Metode Black Box “Black box Testing adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenai proses testing di bagian luar” Soetam Rizky (2011:264). Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain : 1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan teknis di bidang pemrograan. 2. Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna. 3. Hasil dari black box testing dapat memperjelas kontradiksi ataupun keracunan yang mungkin timbul dari eksekusi sebuah perangkat lunak. http://digilib.mercubuana.ac.id/ 24 4. Proses testing dapat dilakukan lebih cepat dibandingkan white box testing. Beberapa teknik testing yang tergolong dalam tipe ini antara lain : 1. Equivalence Partitioning Pada teknik ini, tiap inputan data dikelompokkan ke dalam grup tertentu, yang kemudian dibandingkan outputnya. 2. Boundary Value Analysis Merupakan teknik yang sangat umum digunakan pada saat awal sebuah perangkat lunak selesai dikerjakan.Pada teknik ini, dilakukan inputan yang melebihi dari batasan sebuah data, jika perangkat lunak berhasil mengatasi inputan yang salah maka dapat dikatakan teknik ini telah selesai dilakukan. 3. Cause Effect Graph Dalam teknik ini, dilakukan proses testing yang dapat menghubungkan sebab dari sebuah inputan dan akibatnya pada output yang dihasilkan. 4. Random Data Selection Teknik berusaha melakukan proses inputan data yang menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan. 5. Feature Test Pada teknik ini dilakukan proses testing terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan. http://digilib.mercubuana.ac.id/