BAB II LANDASAN TEORI
2.1 Aplikasi Web Aplikasi web adalah suatu unit aplikasi logik yang menyediakan data dan pelayanan ke applikasi lainnya. Aplikasi web melalui web protocol, tanpa harus mengetahui bagaimana aplikasi web itu di implementasikan. Aplikasi berbasis web diartikan sebagai aplikasi yang dibuat dengan memanfaatkan mekanisme dan aplikasi yang sudah ada pada sistem web (WWW). Sistem web sebenarnya merupakan aplikasi yang berarsitektur client-server (software web browser di sisi client dan software web server di sisi server), menggunakan protokol HTTP dalam komunikasi antara client dan server, dan mempunyai fungsi untuk mengambil/menjalankan isi file dokumen web di server dan menampilkannya di sisi client. Membuat aplikasi berbasis web berarti memperkaya fungsi web serverdengan cara menambahkan program pada dokumen web yang akan dieksekusi oleh server ketika file dokumen web tersebut diakses oleh web server. 2.1.1 Pengertian Web Browser Menurut Juharis Rasul (2012:35) Web Browser adalah suatu program atau software yang digunakan untuk menjelajahi internet atau untuk mencari informasi dari suatu web yang tersimpan didalam komputer. Awalnya, web browser berorientasi pada teks dan belum dapat menampilkan gambar. Namun, web browser sekarang tidak hanya menampilkan gambar dan teks saja, tetapi juga memutar file multimedia seperti video dan suara. Web browser juga dapat mengirim dan menerima email, mengelola HTML, sebagai input dan menjadikan halaman web sebagai hasil output yang informative. Dengan menggunakan web browser, para pengguna internet dapat mengakses berbagai informasi yang terdapat di internet dengan mudah.
5 http://digilib.mercubuana.ac.id/
2.1.2. HTML (Hypertext Markup Languange) Hypertext Markup Languange (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan informasi didalam sebuah browser internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut SGML (Standard Generalized Markup Language), HTML adalah sebuah standard yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML berupa kode kode tag yang menginstrusikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan web browser seperti Internet Explorer atau Mozilla Firefox. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDT dan program lain yang memiliki kemampuan browser. HTML dokumen tersebut mirip dengan dokument text biasa, hanya dalam dokumen ini sebuah text bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal denga TAG tertentu, sebagai contoh jika sebuah tulisan ingin bercetak tebal maka penulisannya dilakukan dengan cara :
Tebal . Tanda
digunakan untuk mengaktifkan instruksi cetak tebal dan harus diakhiri dengan untuk menonaktifkannya. 2.2. .NET Framework 2.2.1. ASP.NET Active Server Pages .NET (sering disingkat sebagai ASP.NET) adalah kumpulan teknologi dalam Framework .NET untuk membangun aplikasi web dinamik dan XML Web Service (Layanan Web XML). Halaman ASP.NET dijalankan di server kemudian akan dibuat halaman markup (penanda) seperti HTML ( Hypertext Markup Language),
6 http://digilib.mercubuana.ac.id/
WML (Wireless Markup Language), atau XML (Extensible Markup Language) yang dikirim ke browser desktop atau mobile.
2.2.2. ASP.NET dengan Web Form ASP.NET dapat dibangun menggunakan C# atau VB.Net. Pada kasus di sini saya menggunakan VB.net untuk membangun ASP.NET. ASP.NET tidakhanya terbatas pada bahasa script, tetapi memungkinkan Anda untuk menggunakan bahasa NET seperti C #, J #, VB, dll. Hal ini memungkinkan developer untuk membangun aplikasi yang sangat menarik dengan memanfaatkan Visual Studio., Alat pengembangan yang disediakan oleh Microsoft . ASP.NET adalah murni server-side teknologi. 2.3. Web Server Web Server adalah software yang memberikan layanan data yang berfungsi menerima permintaan HTTP atau HTTPS dari client yang dikenal dengan browser web yang umumnya berbentuk HTML Macam macam Web Server antara lain : 1. Apache 2. Microsoft Windows Server 2003 Internet Information Services (IIS) 3. Lighttpd 4. Sun Java System Web Server 5. Xitami Web Server 6. Zeus Web Server Prinsip kerja Web Server pada dasarnya hanya ada dua, yaitu: 1. Menerima permintaan (request) dari client. 2. Mengirimkan apa yang diminta oleh client (response). Secara sederhana dapat digambarkan sebagai berikut :
7 http://digilib.mercubuana.ac.id/
Gambar 2.1 Konsep Web Server Penjelasan gambar: 1. User (client) yang memiliki browser dan terhubung melalui jaringan (intranet atau internet). Lalu client meminta suatu halaman ke server untuk ditampilkan di kompuer client sebagai contoh client mengetikan di browser www.facebook.com. 2. Server yang mendapatkan permintaan dari cient akan mencari di komputer server halaman yang diminta dan akan dikirimkan ke client. 2.3.1. IIS (Internet Information Service) Internet Information Service (IIS) adalah komponen yang dapat digunakan untuk mengelola web, File Transfer Protocol (FTP), Ghoper, dan NNTP. Komponen IIS terdapat pada sistem operasi Windows NT ,Windows 2000, Windows XP, 7 dan Windows Server 2003. Keunggulan IIS (Internet Information Server) dibandingkan Apache Web Server adalah kemudahan penggunanya karana IIS mengadopsi konsep GUI (Graphical User Interface) untuk melakukan pengaturan-pengaturan dan konfigurasi terhadap sistem.
Namun IIS juga memiliki beberapa kelemahan yaitu hanya
mendukung sistem operasi yang dibuat oleh Microsoft. Komponen pendukung IIS antara lain : 1. Protocol jaringan TCP/IP 2. Domain Name System (DNS). 3. Direkomendasikan untuk menggunakan format NTFS demi keamanan 8 http://digilib.mercubuana.ac.id/
4. Software untuk membuat situs web, salah satunya Microsoft FrontPage Pada pembahasan Internet Information Service ini, yang banyak dibahas adalah Internet Information Service yang terdapat pada Windows 2000 Server dan hanya terbatas pada Files Transfer Protocol (FTP) dan web saja. Kelebihan dan Kekurangan 1. Lebih kompatibel dengan Windows karena memang IIS adalah keluaran Microsoft 2. Unjuk kerja untuk PHP lebih stabil, handal, dan cepat 3. Adanya kemampuan diagnostik untuk pelacakan kesalahan (bisa dikustomisasi) 4. Untuk platform .NET, user hanya bisa menggunakan IIS 5. Memiliki score tertinggi dari web server lainnya untuk masalah bug 6. Tidak gratis (web server berbayar) 7.
Port 80 (Port untuk layanan web) sangat mudah diserang oleh cracker
2.4. Intranet Menurut Khoe yao tung (2011:45) Intranet adalah sebuah jaringan privat (private network) yang menggunakan protokol internet (TCP/IP), untuk membagi informasi rahasia perusahaan atau operasi dalam perusahaan tersebut kepada karyawannya. Kadang-kadang, istilah intranet hanya merujuk kepada layanan yang terlihat, yakni situs web internal perusahaan. Untuk membangun sebuah intranet, maka sebuah jaringan haruslah memiliki beberapa komponen yang membangun Internet, yakni protokol Internet (Protokol TCP/IP, alamat IP, dan protokol lainnya), klien dan juga server. Protokol HTTP dan beberapa protokol Internet lainnya (FTP, POP3, atau SMTP) umumnya merupakan komponen protokol yang sering digunakan
9 http://digilib.mercubuana.ac.id/
2.5. Database Menurut Ketut Darmayudha (2010:46) Basis data (database) adalah kumpulan dari data yang saling berhubungan satu dengan lainnya tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Dari definisi di atas terdapat tiga hal yang berhubungan dengan basis data (database), yaitu sebagai berikut : 1. Mengembangkan ilmu penegetahuan dan teknologi, seni serta budaya yang relevan dengan perkembangan dan kebutuhan masyarakat pada zamanya. 2. Data itu sendiri yang diorganisasikan dalam bentuk basis data (database). 3. Perangkat lunak untuk memanipulasi basis datanya. Perangkat lunak ini dapat dibuat sendiri dengan menggunakan bahas pemrograman komputer atau dibeli dalam bentuk suatu paket. Banyak paket perangkat lunak ini disebut dengan DBMS (Data Base Management System). Bebrapa terminology dalam database diantara lain : 1. Basis data (Database) adalah Sekumpulan data yang saling berhubungan untuk mencapai suatu tujuan. 2.
Data adalah fakta-fakta yang dapat disimpan dan mempunyai arti tertentu.
3.
Tabel adalah Tempat untuk menyimpan data, tabel terdiri dari field dan record
4. Field biasa disebut juga dengan kolom, yaitu bagian tabel tempat menyimpan sebuah item data. 5.
Record biasa disebut juga dengan baris, yaitu satu bagian informasi yang disimpan dalam tabel, misal data seorang mahasiswa akan disimpan dalam satu record yang terdiri dari beberapa kolom / field.
2.5.1. SQL Server SQL Server adalah bagian dari produk Back Ofiice Microsoft, yang juga menyertakan Back Ofiice Server, Exchange Server, Proxy Server, Site Server, SBS atau small Bussiness Server dan Server Management Server. Pada dasarnya SQL Server berbasis bahasa SQL atau Structured Query Language.
10 http://digilib.mercubuana.ac.id/
SQL Server pada awalnya merupakan hasil kerjasama antara Sybase dengan Microsoft. Dimana pada saat itu masih terjadi kerjasama yang apik antara Microsoft dengan IBM untuk membuat sebuah Operating System baru yaitu OS/2. Keduanya sepakat menginginkan sebuah database baru yang juga bisa dijalankan pada OS/2 sehigga mereka bermitra dengan Sybase dan meminta Sybase untuk menyertakan produk DataServer yang berbasis UNIX ke OS/2. SQL Server juga terdiri dari tiga versi yaitu edisi Small Bussiness Server (SBS) edisi Standard dan edisi Enterprise. Semua edisi berisi mesin dan tools database inti. Perbedaan utama dari ketiga edisi ini adalah sistem operasi yang dijalankan masingmasing. Setiap edisi memiliki sebuah instalasi standard
dan
instalasi
dekstop.
Instalasi standard adalah sebuah server database penuh dan berjalan hanya pada Windows NT Server. Sementara instalasi dekstop hanya digunakan dan dirancang untuk kebutuhan penyimpanan database lokal saja. SQL Server versi instalasi dekstop mampu berjalan pada Windows 95, Windows 98, Windows NT Workstation, Windows NT Server atau Windows Enterprise. 2.6. Metode Waterfall Menurut M. Salahudin (2011:26) model air terjun (waterfall) sering juga disebut model sekuensial liner atau alur hidu klasik. Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut mulai dari rekayasa sistem, analisa sistem, desain sistem, pengkodean , pengujian dan pemeliharaan. Berikut adalah gambar metodologi waterfall:
Gambar 2.2 Fase Waterfall
11 http://digilib.mercubuana.ac.id/
2.7. Unified Modeling Languange (UML) Pada perkembangan teknik pemrograman berorientasi objek munculah sebuah standarisasi bahasa pemodelan untuk pembangunan sistem yang dibangun menggunakan tekhnik pemrograman berorientasi objek, yaitu Unified Modelling Language. Sistem perangkat lunak UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu. (M. Salahudin 2011:80). Penjelasan dari berbagai dokumen dan buku-buku UML, sebenarnya konsep dasar UML yang bisa kita rangkumkan pada tabel berikut: Tabel 2.1 Konsep Dasar UML Major Area
View
Diagrams
Main Concepts Class, association, generalization,
Static View
Class Diagram
dependency, realization, interface Use case, actor,
Use case view
Use case diagram
association, extend, include, use case generalization
Structural
Component, Implementation view
Component diagram
interface, depedency, realization
Deployment view
Node,
component,
Deployment diagram dependency, location
12 http://digilib.mercubuana.ac.id/
State
machine
view
Statechart diagram
State,
transition, Action State,
Activity view
Activity diagram
event,
activity,
completion transition, fork, join
Dynamic Sequence diagram Interaction view Collaboration diagram Model
Model management
management
Class diagram
view
Interaction, object, message, activation Collaboration, interaction,
role,
message Package, subsystem, model Constraint,
Extensibility
All
All
stereotype,
tagged
values Abstraksi konsep dasar UML yang terdiri dari structural classification, dynamic behavior, dan model management, bisa kita pahami dengan mudah apabila kita melihat tabel sebelumnya. Main concept bisa kita pandang sebagai term yang akan muncul pada saat kita membuat diagram, sedangkan view adalah kategori dari diagram tersebut. Seperti juga tercantum pada tabel di atas, UML mendefinisikan diagram-diagram sebagai berikut: 1.
Use case diagram
2.
Class diagram
3.
Sequence diagram
4.
Activity diagram
13 http://digilib.mercubuana.ac.id/
5.
State chart diagram
6.
Collaboration diagram
7.
Component diagram
8.
Deployment diagram
2.7.1. Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah jurnal, dan sebagainya. Seseorang sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Tabel 2.2 Simbol Use Case Diagram
14 http://digilib.mercubuana.ac.id/
Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien dan merancang test case untuk semua feature yang ada pada sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bagwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.
Gambar 2.3 Contoh Use Case Diagram 2.5.2. Class Diagram Class adalah sebuah spesifikasi yang jika diinstasikan akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (attribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment , pewarisan, asosiasi, dan lain-lain.
15 http://digilib.mercubuana.ac.id/
Tabel 2.3 Simbol Class Diagram
Class memiliki tiga area pokok yaitu Nama(dan stereotype), Attribut dan Metoda. Attribut dan metoda dapat memiliki salah satu sifat berikut: 1.
Private, tidak adapat dipanggil dari luar class yang bersangkutan.
2.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anakanak yang mewarisinya.
3.
Public, dapat dipanggil oleh siapa saja.
Gambar 2.4 Contoh Class Diagram
16 http://digilib.mercubuana.ac.id/
2.5.3. Activity Diagram Activity diagram menggambarkan berbagai alur aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagaram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktifitas dari level atas secara umum. Tabel 2.4 Simbol Activity Diagram
Sebuah aktifitas dapat direalisasikan oleh satu use case atau lebih. Aktifitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktifitas.
17 http://digilib.mercubuana.ac.id/
Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktifitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork and join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktifitas tertentu.
Gambar 2.5 Contoh Activity Diagram 2.5.4. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri antar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
18 http://digilib.mercubuana.ac.id/
Tabel 2.5 Simbol Sequence Diagram
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-trigger aktifitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan.
Gambar 2.6 Contoh Sequence diagram
19 http://digilib.mercubuana.ac.id/
2.5.5. Statechart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulan dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
Gambar 2.7 Contoh State chart diagram 2.5.6. Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
20 http://digilib.mercubuana.ac.id/
Gambar 2.8 Contoh Collaboration diagram 2.5.7. Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) diantaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maumpun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface,
yaitu kumpulan layanan yang disediakan sebuah komponen untuk
komponen lain.
Gambar 2.9 Contoh Component diagram 21 http://digilib.mercubuana.ac.id/
2.5.8. Deployment Diagram Deployment physical diagram menggambarkan detail bagaimana komponen dideploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini. 2.8. Black Box Blackbox model adalah suatu sistem/model yang bersifat kuantitatif. Konsep dasar dari model kuantitatif ini memperlakukan system sebagai kotak hitam, dan tidak ada usaha untuk menemukan faktor yang berpengaruh pada perilaku system (Juwono, 2008). Menurut
Roger
S
Pressman
dalam
bukunya
Rekayasa
Perangkat
Lunak:”Pengujian Black-Box berfokus pada persyaratan fungsional perangkat lunak. Pengujian Black-Box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program”. Pengujian Black-Box bukan merupakan alternative dari teknik White-Box, tetapi merupakan
pendekatan
komplementer
yang
memungkinkan
besar
mampu
mengungkap kelas kesalahan daripada metode white-box. Pengujian Black-Box berusaha menemukan kesalahan dalam kategori white-box. Pengujian Black-Box berusaha menemukan kesalahan dalam kategori sebagai berikut; 1. Fungsi-fungsi yang tidak benar atau hilang 2. Kesalahan Interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan kinerja
22 http://digilib.mercubuana.ac.id/
5. Inisialisasi dan kesalahan terminasi. Pengujian Black-Box cenderung diaplikasikan selama tahap akhir pengujian, karena pengujian black-box memperhatikan struktur control maka perhatian berfokus pada domain informasi. Black
box
testing
merupakan
strategi
testing
dimana
hanya
memperhatikan/memfokuskan kepada factor fungsionalitas dan spesifikasi perangkat lunak. Black box testing tidak membutuhkan pengetahuan mengenai, alur internal (internal path), struktur atau implementasi dari software under test (SUT). Black box testing dilakukan dibeberapa tahapan berikutnya. Karena black box testing memang ditujukan untuk mengabaikan struktur kontrol tetapi lebih terfokus terhadap information domain. Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karena itu ujicoba black box memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain menggunakan metode whitebox. Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya: Fungsi-fungsi yang salah satu hilang, kesalahan interface, kesalahn dalam struktur data atau akses database eksternal, kesalahan performa, kesalah inisialisasi dan terminasi. Keuntungannya adalah memungkinkan kita untuk mendeteksi potensi kesalahan dalam spesifikasi, memungkinkan kita untuk memulai dengan pandangan dan panduan lengkap, tanpa ketergantungan terhadap kondisi tertentu, membantu untuk menemukan beberapa alternatif terhadap suatu kondisi, berguna ketika menentukan logika kompleks, menganalisis dan pengujian logika kompleks. Dilakukan untuk testing pada interface perangkat lunak. Test case ini bertujuan untuk menunjukan 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.
23 http://digilib.mercubuana.ac.id/
Dalam black box testing metode pengjuan black box berfokus pada keperluan fungsional dari perangkat lunak dan domain informasi, analis sistem memperoleh kumpulan kondisi dari input yang akan mengerjakan seluruh keperluan fungsional program, cenderung diaplikasikan selama tahap akhir pengujian, disebut juga pengujian behavioral/pengujian partisi atau pengujian interface, memperhatikan dari sudut pandang Input data dan Output data, perangkat lunak ditinjau sebagai kotak hitam yang menyalurkan input kepada output berdasarkan rincian dimana perangkat lunak tersebut harus melakukanya, periksa kecocokan dari pengujian S/W yang membentuk tingkah laku, mencari kesalahan-kesalahan yang dihasilkan oleh kesalahan dan kesalahan perangkat lunak adalah bagian dari perangkat lunak yang tidak menurut pada penyediaan definisi itu sendiri dalam dokumen pengembangan. Tujuannya untuk mencari kesalahan-kesalahan pada: 1.
Fungsi yang salah atau hilang.
2.
Kesalahan pada interface.
3.
Kesalahan pada struktur data atau akses database.
4.
Kesalahan performansi (kinerja).
5.
Kesalahan initialisasi dan tujuan akhir.
Type dari pengujian blackbox: Equivalence Class Partitioning. (pembagian kelas yang sama) 1.
Metode pengujian black box yang memecah atau membagi domain input dari suatu program ke dalam kelas kelas data.
2.
Perancangan test case berdasarkan evaluasi kelas equivalence untuk kondisi input.
3.
Kelas equivalence menggambarkan kumpulan keadaan yang valid dan tidak valid untuk kondisi input
4.
Kondisi input dapat berupa nilai numerik, range dari nilai, kumpulan nilai yang berhubungan atau kondisi boolean.
Kelas equivalence dapat ditentukan sesuai pedoman berikut ini: 1.
Bila kondisi input menentukan suatu range, maka kelas equivalence valid dan dua yang invalid ditentukan.
24 http://digilib.mercubuana.ac.id/
2.
Bila kondisi input membutuhkan suatu harga khusus, maka satu kelas equivalence valid dan dua yang invalid ditentukan.
3.
Bila kondisi input menentukan anggota suatu himpunan, maka satu kelas equivalence valid dan dua yang invalid ditentukan.
4.
Bila kondisi input adalah boolean, maka satu kelas dan satu yang tidak valid ditentukan.
Boundry Value Analisys (analisa penilaian terbatas) 1.
Untuk permasalahan yang tidak diketahui dengan jelas, akan cenderung menimbulkan kesalahan pada domain output-nya.
2.
Pemilihan test case yang mengerjakan nilai-nilai yang telah ditentukan.
3.
Melengkapi equivalence class partitioning.
Petunjuk pemakaian BVA: 1.
Jika kondisi input berupa range yang dibatasi oleh nilai a dan b, test case harus dirancang dengan nilai a dan b.
2.
Jika kondisi input dengan sejumlah nilai, test case harus dikembangan dengan mengerjakan sampai batas maksimal dari nilai tersebut.
3.
Sesuai dengan 1 dan 2, untuk kondisi output harus dirancang test case sampai jumlah maksimal.
4.
Untuk struktur data pada program juga harus dirancang sampai batas kemampuan.
Comparison Testing. (pengujian perbandingan) 1.
Perangkat keras dan perangkat lunak yang berlebihan memungkinkan untuk digunakan.
2.
Menggunakan team yang terpisah untuk mengembangkan versi-versi yang independent dari perangkat lunak dengan menggunakan spesifikasi yang sama.
3.
Mencoba masing-masing versi dengan data yang sama untuk memastikan bahwa semua versi memberikan output yang identik.
4.
Semua versi dieksekusi secara paralel dengan perbandingan real time hasil untuk memastikan konsistensi.
25 http://digilib.mercubuana.ac.id/
5.
Output dari masing-masing versi sama implementasi benar.
6.
Output berbeda masing-masing versi dari aplikasi diperiksa untuk menentukan cacat pada suatu versi (perbedaan jelas).
7.
Spesifikasi semua fungsi yang dikembangkan mengandung kesalahan, maka semua versi kemungkinan besar merefleksikan kesalahan.
8.
Masing-masing versi independen identik tetapi tidak benar, maka pengujian kondisi akan gagal mendeteksi kesalahan.
Pengujian black-box: 1.
Didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program.
2.
Berfokus pada domain informasi dari perangkat lunak.
3.
Melakukan test case dengan mempartisi domain input dan output dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.
4.
Partisi ekuivalensi (Equivalence Class Partitioning) membagi domain input kedalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu.
5.
Analisis nilai terbatas (Boundary Value Analysis) memeriksa kemampuan program untuk menangani data pada batas yang dapat diterima.
6.
Pengujian perbandingan (Comparison Testing) mengembangkan perangkat lunak kedalam versi-versi yang independen dari suatu aplikasi dengan menggunakan spesifikasi yang sama. Setiap versi diuji dengan data uji yang sama untuk memastikan bahwa semua versi memberikan output yang identik. Disebut juga pengujian back to back.
Pengembang perangkat lunak yang berpengalaman sering mengatakan, “Pengujian tidak akan pernah berakhir. Pengujian hanya berpindah dari Penguji ke pelanggan. Setiap pelanggan menggunakan program tersebut, berarti suatu pengujian dilakukan”. Dengan mengaplikasikan desain test case, perekayasa perangkat lunak dapat mencapai pengujian yang lebih lengkap sehingga dapat mengungkap dan melakukan koreksi sebelum “pengajuan pelanggan” dimulai.
26 http://digilib.mercubuana.ac.id/