BAB II LANDASAN TEORI 2.1 Pengertian Sistem Dalam memahami suatu sistem diperlukan pemahaman mengenai sistem itu sendiri. Terdapat beberapa pendekatan dalam mendefinisikan sistem. Pendekatan yang lebih menekankan pada prosedur. Pendekatan sistem yang merupakan suatu jaringan prosedur lebih menekankan pada urutan-urutan operasi di dalam sistem, sedangkan pendekatan yang menekankan pada elemen atau komponen merupakan interaksi antar elemen atau komponen untuk mencapai sasaran dan tujuan dari sistem. Pendekatan system yang menekankan pada prosedurnya didefinisikan oleh Jogiyanto Hartono. MBA,Ph.D, tahun 2005 dalam bukunya Analisa dan Desain Sistem Informasi yaitu: Pendekatan sistem yang lebih menekankan pada prosedur menurut Jogiyanto Hartono adalah : “Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu” [6]. Sedangkan pendekatan lain yang lebih menekankan pada komponen atau elemennya menurut Jogiyanto Hartono mendefinisikan sebagai berikut : “Sistem adalah kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu”[6]..
10
11
Jadi dapat disimpulkan sistem itu adalah suatu cara atau metode yang saling berhubungan dan saling melengkapi satu sama lainnya untuk menyelesaikan masalah agar memudahkan dalam pencapaian tujuan. 2.2 Pengertian Informasi Informasi merupakan suatu komponen yang sangat penting dalam sistem karena tanpa informasi kegiatan yang akan dijalankan akan mengalami kesulitan. Pengertian informasi menurut Jogiyanto Hartono adalah: “Informasi adalah data yang telah diolah menjadi sedemikian rupa sehingga fungsi dan kegunaannya lebih berguna dan berarti bagi pengguna yang lainnya sebagai dasar pengambilan keputusan” [6]. Pada saat yang tidak menentu, informasi dapat mengurangi ketidakpastian, informasi
mengubah
kemungkinan-kemungkinan
hasil
yang
diharapkan
dalam situasi keputusan dan kerena itu mempunyai nilai dalam proses pengambilan keputusan. Sumber dari informasi adalah data. Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata data merupakan bentuk yang masih mentah belum memberikan arti banyak bagi pemakai. 2.3 Pengertian Sistem Informasi Menurut Robert A. Leitch dan K. Roscoe Davis, tahun 1983 pengertian sistem informasi adalah :
12
“Sistem Informasi adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan- laporan yang diperlukan” [6]. Jadi dapat disimpulkan bahwa sistem informasi itu pada dasarnya merupakan suatu sistem yang dibuat oleh manusia yang terdiri dari komponen-komponen
dalam
sebuah
wadah
organisasi
yang
saling
berinteraksi untuk mencapai tujuan yaitu menyajikan informasi yang sedang dibutuhkan. 2.3.1. Pengertian Analisis Sistem Analisa sistem merupakan penguraian dari suatu sistem informasi yang utuh
kedalam
Mengidentifikasikan
bagian-bagian dan
komponennya mengevaluasi
dengan
maksud
untuk
permasalahan-permasalahan,
kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhankebutuhan
yang
diharapkan
sehingga
dapat
diusulkan
perbaikan-
perbaikannya. Analisis sistem dilakukan untuk mengetahui masalah apa yang sedang dihadapi oleh suatu perusahaan yang berguna untuk membandingkan dan membuat alternatif-alternatif yang diberikan pada sistem baru. Menurut Jogiyanto, analisis sistem adalah : “Penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya dengan maksud untulk mengidentifikasikan dan mengevaluasi
13
permasalahan-permasalahan,
kesempatan-kesempatan,
hambatan-hambatan
yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya”[6]. Dari definisi diatas, maka analisa sistem adalah suatu perencanaan sekaligus
pembuatan
sketsa
dari elemen yang terpisah namun saling
berintegrasi ke dalam suatu kesatuan yang utuh dan berfungsi. 2.3.2. Perancangan Sistem Informasi Sistem informasi yang diterapkan disuatu organisasi akan berbeda dengan sistem informasi yang diterapkan kepada organisasi lainnya. Karena akan tergantung kepada luas lingkup organisasi, sifat atau jenis organisasi yang bersangkutan.
Setiap
organisasi perlu
merancang masing-masing sistem
informasi, dan pengembangannya perlu diserasikan dengan kebutuhan dari organisasi bersangkutan. Perancangan
sistem
informasi termaksud
dapat
disesuaikan
dengan
rencana pengembangan dimasa depan untuk jangka pendek maupun jangka panjang, dikaitkan dengan faktor-faktor lainnya. Apabila perancangan sistem informasi yang sudah ada dirasakan masih mengalami kekurangan atau kelemahan,
maka segera dicari penyebab
kekurangan atau kelemahan tersebut untuk diadakan penyempurnaan lebih lanjut, sehingga akhirnya diperoleh sistem yang sesuai dengan kebutuhan. Menurut Jogiyanto Hartono, Perancangan sistem informasi sebaiknya melalui
14
langkah-langkah kegiatan yang dilakukan secara berurutan [6], yaitu sebagai berikut. 1. Tentukan dengan jelas jenis informasi yang diperlukan serta manfaatnya. 2. Buat penggolongan informasi, sehingga terwujud klasifikasi pokok atau klasifikasi. 3. Rumuskan dengan jelas kegunaan informasi yang ingin dicapai. 4. Tentukan pusat-pusat atau lokasi penting yang harus ada dalam jaringan lalulintas informasi. 5. Rencanakan tempat atau pusat data yang bertugas, menerima, mengelola, mendistribusikan dan memelihara serta menyimpan informasi. 6. Tetapkan informasi mana yang harus diproses secara otomatis dan informasi mana yang dapat diproses secara manual ataupun dengan tangan. Perancangan informasi yang luas dan rumit, kiranya tidak cukup dilakukan hanya oleh pemimpin organisasi seorang diri, tetapi perlu dibantu oleh seorang ahli analisis sistem dan ahli komputer. Sistem informasi akan dapat dilaksanakan dengan efektif dan efisien, apabila keadaan organisasi yang bersangkutan benar-benar menunjang. 2.4 Pengertian Perpustakaan “Perpustakaan adalah sekumpulan bahan pustaka, baik yang tercetak maupun rekaman yang lainnya,
pada suatu tempat tertentu yang telah diatur
sedemikian rupa untuk mempermudah pemustaka mencari informasi yang
15
diperlukannya kebutuhan
dan
informasi
yang
tujuannya
masyarakat
utamanya
yang
adalah
dilayaninnya
dan
untuk
melayani
bukan
untuk
diperdagangkan” [11]. “Perpustakaan sekolah adalah sarana penunjang pendidikan di satu pihak sebagai pelestari ilmu pengetahuan, dan di lain pihak sebagai sumber bahan pendidikan yang akan diwariskan kepada generasi yang lebih muda. Secara nyata perpustakaan sekolah merupakan sarana untuk proses belajar dan mengajar bagi guru maupun bagi murid” [11]. Jadi dapat disimpulkan bahwa perpustakaan merupakan subsistem program pendidikan keseluruhan.
sehingga
berpengaruh
terhadap
program pendidikan secara
Sehingga dengan demikian perpustakaan sekolah dijadikan
komponen yang tidak terpisahkan dari keseluruahn komponon pendidikan. 2.5 Website Website adalah suatu media publikasi elektronik yang terdiri dari halamanhalaman web (web page) yang terhubung satu dengan yang lain menggunakan link yang dilekatkan pada suatu teks atau image. Website dibuat pertama kali oleh Tim Barners Lee pada tahun 1990. Website dibangun dengan menggunakan bahasa Hypertext Markup Language (HTML) dan memanfaatkan protokol komunikasi Hypertext Transfer Protocol (HTTP) yang terletak pada application layer pada referensi layer OSI. Halaman website diakses menggunakan aplikasi yang disebut internet browser. Gambar 3 menunjukan skema kerja pemrosesan file HTML sampai ditampilkan di browser [12].
16
Gambar 2.1 Skema kerja protokol HTTP Menurut Jasmadi, fungsi dari website adalah : 1. Fungsi Komunikasi Website berfungsi sebagai media komunikasi antara pembuat/pemilik dengan pengunjung atau pengunjung dengan pengunjung lain. Komunikasi dilakukan dengan menggunakan aplikasi web messanger, web forum, web chat, web mail, dan lain sebagainya. 2. Fungsi Informasi Website berfungsi untuk menyediakan informasi bagi pengunjung. 3. Fungsi Hiburan Website menjadi sarana hiburan, menyediakan layanan online game, video streaming, music streaming, dan lain sebagainya. 4. Fungsi Transaksi Website berfungsi sebagai sarana untuk melaksanakan transaksi bisnis seperti : online order, pembayaran menggunakan kartu kredit, pembayaran dengan e-gold, dan sebagainya.
17
5. Fungsi Pendidikan Website berfungsi sebagai sarana dalam interaksi guru dan siswa sehingga tidak terikat oleh jarak dan waktu [13]. 2.6 Server 2.6.1
PHP Sebagai Aplikasi Server PHP (PHP: Hypertext Preprocessor) merupakan salah satu dari bahasa
pemrograman berbasis website. PHP bersifat server-side programming, artinya kode PHP yang ditulis akan dieksekusi di sisi server sehingga pengunjung tidak dapat melihat source code dari skrip PHP yang dibangun. Adapun proses eksekusi kode PHP didalam sisi server ditunjukkan oleh gambar 4 [12]. Hingga saat ini php sudah sampai pada versi 5 meskipun sebentar lagi php versi 6 akan rilis.
Gambar 2.2 PHP sebagai aplikasi server 2.6.2
Database Server MySql MySQL adalah sebuah implementasi dari sistem manajemen basisdata
relasional (RDBMS)
yang
didistribusikan
secara
gratis dibawah lisensi GPL
(General Public License). Setiap pengguna dapat secara bebas menggunakan
18
MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL juga merupakan perangkat lunak database server atau sebut saja Database
Smart.
Database
ini semakin
lama semakin populer.
Dengan
menggunakan database ini, data semakin aman dan berdaya guna. Database ini juga banyak dipakai pada web database sehingga data semakin terintegrasi antara database dekstop dengan database web. Mysql mempunyai keistimewaan diantaranya adalah : -
Dapat berjalan stabil pada berbagai sistem operasi seperti: Linux,
Windows,
FreeBSD, Mac Os X Server, Solaris, dan masih banyak lagi. -
MySQL didistribusikan secara open source (gratis), dibawah lisensi GNU General Public Licence (GPL).
-
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa
pemrograman
dengan
menggunakan
fungsi
API
(Application
Programming Interface). -
MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
-
MySQL memiliki kecepatan yang baik dalam menangani query (perintah sql). Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu [16].
2.6.3
Web Server Web server adalah suatu perangkat lunak yang berfungsi untuk melayani
aktifitas request and reply file-file web. Salah satu web server yang paling banyak
19
digunakan saat ini adalah Apache Web Server. Keunggulan Apache antara lain bersifat
open
source,
gratis,
memiliki
dukungan
luas
terhadap
bahasa
pemrograman web, antara lain PHP, JSP, Perl, dan lain sebagainya [4].
Gambar 2.3 Arsitektur Web Server
2.6.4
PhpMyAdmin PhpMyAdmin adalah perangkat lunak bebas yang ditulis dalam bahasa
pemograman PHP yang digunakan untuk menangani administrasi MySQL melalui jaringan WWW. phpMyAdmin mendukung berbagai operasi MySQl, diantaranya mengelola basis data, tabel-tabel, bidang (fields), relasi (relation), indeks, pengguna (users), perijinan (permissions) dan lain-lain. Pada dasarnya, mengelola basis data dengan MySQL harus dilakukan dengan cara mengetikkan baris-baris perintah yang sesuai (command line) untuk setiap maksud tertentu. Jika seseorang ingin membuat basis data (database), ketikkan baris perintah yang sesuai untuk membuat basis data. Jika seseorang menghapus tabel, ketikkan baris perintah yang sesuai untuk menghapus tabel. Hal tersebut tentu saja sangat menyulitkan karena seseorang harus hafal dan mengetikkan perintahnya satu per satu. Saat ini banyak sekali perangkat lunak yang dapat dimanfaatkan untuk mengelola basis
data
dalam MySQL,
salah
satunya
adalah phpMyAdmin.
Dengan
20
phpMyAdmin, seseorang dapat membuat database, membuat tabel, mengisi data, dan lain-lain dengan mudah, tanpa harus menghafal baris perintahnya [18]. fasilitas pada PHP Myadmin antara lain : -
Membuat dan menghapus database
-
Dapat membuat FDF grafik, dan mampu mencari data didalam database
-
Membuat, menyalin, menghapus, dapat menambah field
-
Manajemen pengguna dan privilege (hak akses) pada MySQL.
2.7 Client 2.7.1
AJAX AJAX adalah akronim dari Asynchronous Javascript and XML. AJAX
merupakan paduan dari beberapa teknologi yang sudah dikenal sebelumnya yaituHTML, DOM, XML, Javascript dan teknologi pendukung lainnya [17]. Komponen-komponenAJAX meliputi: 1. HTML (HyperText
Markup
Language) digunakan dalam membuat
halaman webdan dokumen-dokumen lain yang dapat ditampilkan dalam browser. HTMLmerupakan standar internasional dengan spesifikasi yang ditetapkan oleh WorldWide Web Consortium (W3C). Versi terakhir saat tulisan ini dibuat adalah HTML 4.01. 2. XHTML (Extensible HyperText Markup Language), adalah bahasa markupsebagaimana HTML, tetapi dengan gaya bahasa lebih baik. Versi terakhir saattulisan ini dibuat adalah XHTML 2.0.
21
3. CSS (Cascading Style Sheets ) adalah sebuah mekanisme sederhana untuk memberikan style (seperti font, warna, jarak spasi, dll) kepada dokumen web yang ditulis dalam HTML atau XML (termasuk beberapa variasi bahasa XML seperti XHTML dan SVG). 4. Javascript adalah bahasa scripting kecil, ringan, berorientasi-objek dan lintas platform. JavaScript tidak dapat berjalan dengan baik sebagai bahasa mandiri, melainkan dirancang untuk ditanamkan pada produk dan aplikasi lain seperti peramban web. 5. DOM (Document Object Model) adalah sebuah API (Application Program Interface) untuk
dokumen HTML dan XML. DOM menyediakan
representasi dokumen secara terstruktur, dimungkinkan untuk merubah isi dan presentasi visual. Pada dasarnya, DOM menghubungkan halaman web dengan script atau bahasa pemrograman. 6. XML (Extensible Markup Language) adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C untuk membuat dokumen markupkeperluan khusus. Keperluan utama XML adalah untuk pertukaran data antar sistem yang beraneka ragam. 7. XSLT (Extensible Stylesheet Language Transformations) adalah sebuah bahasa berbasis-XML untuk transformasi dokumen XML. Walaupun proses merujuk pada transformasi, dokumen asli tidak berubah melainkan dokumen XML baru dibuat dengan basis isi dokumen yang sudah ada.
22
XSLT biasanya digunakan untuk merubah skema XML ke halaman web atau dokumen PDF. 8. Objek XMLHttpRequest untuk melakukan pertukaran data secara asinkron dengan peladen (server) web. Beberapa kerangka-kerja Ajax dan dalam beberapa situasi, objek iframe digunakan selain objek XMLHttpRequest untuk melakukan pertukaran data dengan peladen web. 2.7.2
Web Browser Web browser adalah software yang digunakan untuk menampilkan
informasi dari server web. Software ini kini telah dikembangkan dengan menggunakan
user
interface
grafis,
sehingga
pemakai
dapat
dengan
melakukan „point and click‟ untuk pindah antar dokumen. Dapat dikatakan saat ini hanya ada empat web browser GUI yang populer yaitu : Netscape Navigator, Mozaic, Internet Explorer, Mozila Firefox, Opera, Google Chrome [16]. 2.8 Object-Oriented Analysis and Design (OOAD) Menurut Satzinger et al pengertian Object-Oriented Analysis and Design with the Unified Process (OOAD) adalah: Object Oriented Programming (OOP) menuliskan tentang pernyataan dalam bahasa pemrograman untuk mendifinisikan tipe dari masingmasing objek [10].
23
Gambar 2.4. Object-Oriented even-driven program flow • Object-Orientied Analysis (OOA) adalah semua jenis objek yang melakukan pekerjaan dalam sistem dan menunjukan interaksi pengguna apa yang dibutuhkan untuk menyelesaikan tugas-tugas. Objek diartikan sebagai suatu hal dalam sistem komputer yang dapat merespon pesanpesan [10]. • Object-Oriented Design (OOD) adalah semua jenis objek yang diperlukan untuk berkomunikasi dengan orang dan perangkat dalam sistem, menunjukan bagaimana objek berinteraksi untuk meyelesaikan tugas, dan menyempurnakan definisi dari masing-masing jenis objek sehingga dapat diimplementasikan dengan bahasa tertentu [10]. Sedangkan menurut Whitten et al, Object-Oriented Analysis and Design (OOAD) merupakan suatu kumpulan alat dan teknik untuk mengembangkan suatu sistem yang akan menggunakan teknologi objek untuk membangun sebuah sistem dan piranti lunak [15].
24
2.8.1
Unified Modeling Language (UML) Menurut Satzinger et al. UML adalah serangkaian standar konstruksi
model dan notasi yang dikembangkan secara khusus untuk pengembangan object-oriented [10]. Sedangkan menurut Whitten et al. UML adalah satu set konversi pemodelan yang digunakan untuk menggambarkan sebuah sistem software dalam bentuk objek-objek [15]. 2.8.2
Activity Diagram Menurut Satzinger, activity diagram adalah jenis diagram alur kerja yang
menggambarkan tentang kegiatan pengguna dan alur sekuensial. Aktivitas diagram hanyalah sebuah diagram alur yang menggambarkan berbagai kegiatan pengguna maupun sistem [10]. Tabel 2.1. Activity Diagram Symbol Simbol
Keterangan Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal. Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja. Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu. Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu. Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status. Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.
25
Digunakan untuk menunjukkan kegiatan yang dilakukan secara paralel. Digunakan untuk menunjukkan kegiatan yang digabungkan. 2.8.3
Class Diagram Menurut Satzinger dapat diartikan bahwa class diagram adalah suatu
model grafik
yang digunakan dalam pendekatan object-oriented untuk
menampilkan class dari suatu objek di dalam sistem [9]. Tabel 2.2. Class Diagram Gambar
Nama Generalization
Class Collaboration
Realization Dependency
Association
Keterangan Hubungan dimana objek anak (descendant) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor). Himpunan dari objek-objek yang berbagi atribut serta operasi yang sama. Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor. Operasi yang benar-benar dilakukan oleh suatu objek. Hubungan dimana perubahan yang terjadi pada suatu element mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri. Apa yang menghubungkan antara objek suatu dengan objek yang lain.
Menurut McLeod dan Scheel, class diagram adalah suatu teknik secara grafis
yang
dapat
menggambarkan
hubungan
antar
data
sekaligus
menunjukan tindakan-tindakan apa yang akan dilakukan terhadap data. Teknik ini dinamakan diagram kelas dan merupakan salah satu model
26
berorientasi objek. Objek adalah satu konsep dalam TI, terdiri dari data, tindakan yang akan dilakukan dan menandakan suatu hubungan [7]. 2.8.4
Use Case Menurut
Satzinger,
use
case
adalah
suatu
aktivitas
sistem yang
melaksanakan tugas, biasanya dalam menanggapi permintaan oleh pengguna. Masing-masing
use
case
didefinisikan
secara
rinci untuk
menentukan
persyaratan fungsional. Use Case juga menyediakan kerangka kerja untuk merencanakan suatu proses pengulangan [10]. Menurut Chaffey use case merupakan urutan transaksi-transaksi antara aktor dan sistem yang mendukung aktivitas pada aktor. Use Case memaparkan aktivitas dan tugas yang merupakan suatu bagian antara aktor dan sistem, kemudian menjabarkan kebutuhan-kebutuhan pada suatu sistem dari masingmasing aktor [5]. Tabel 2.3. Use Case Simbol
Nama Aktor
Keterangan Sebuah entitas manusia / mesin yang berinteraksi dengan sistem
Use Case
Merepresentasikan dungsionalitas dari suatu sistem / pekerjaan tertentu pada sistem Menjelaskan hubungan antar use case yang berupa pertukaran informasi Menunjukkan suatu use case harus dipenuhi
Asosiasi Dependency include Dependency extend
Menunjukkan suatu use case akan dilaksanakan bersifat optional.
Menurut McLeod dan Scheel, use case adalah deskriptif ringkasan suatu dialog yang terjadi antara sistem primer dan sekunder. Ada dua format use case, pertama adalah naratif berkelanjutan dengan masing-masing tindakan
27
diberi nomor secara berurutan, kedua disebut format ping pong, sebab terdiri dari dua naratif dan nomor menandai bagaimana tugas dilaksanakan secara bergantian [7]. 2.8.5
System Sequence Diagram (SSD) Menurut Satzinger System Sequence Diagram (SSD) digunakan untuk
menggambarkan alur informasi yang masuk dan keluar dari sistem secara otomatis. Tabel 2.4. System Sequence Diagram Gambar
Nama Life Line
Keterangan Objek entity, antarmuka yang saling berinteraksi
Message
Spesifikasi dari komunikasi antar objek yang memuat informasiinformasi tentang aktifitas yang terjadi Spesifikasi dari komunikasi antar objek yang memuat informasiinformasi tentang aktifitas yang terjadi
Message
Sistem adalah suatu objek yang mewakili sistem secara keseluruhan, didalam SSD dan semua diagram interaksi suatu analisis menggunakan notasi objek, di mana notasi tersebut menunjukan bahwa kotak mengacu pada objek individu. Dalam diagram interaksi, pesan yang dikirim dan diterima yaitu oleh objek individu bukan oleh class [10]. 2.8.6
User Interface Menurut Satzinger et al.User Interface (UI) adalah sistem itu sendiri dan
merupakan segala sesuatu yang berhubungan dengan end user saat sedang menggunakan
sistem
seperti
fisik,
perseptual,
dan
konseptual
[10].
28
Shneiderman mengemukakan delapan aturan yang dapat digunakan sebagai dasar petunjuk yang baik untuk merancang suatu UI [14]. Delapan aturan ini disebut dengan Eight Golden Rules of Interface Design, yaitu: Berusaha konsisten. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. Memungkinkan pengguna untuk menggunakan shortcut. Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. Memberikan umpan balik informative. Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem umpan balik. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu memasukan data atau muncul pesan kesalahannya. Merancang dialog untuk menghasilkan suatu penutupan. Umpan balik informatif akan memberikan indikasi penutupan bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan langkah berikutnya. Memberikan penanganan kesalahan yang sederhana. Sedapat
mungkin
sistem
dirancang
sehingga
pengguna
tidak
dapat
melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sederhana dan mudah dipahami untuk penanganan kesalahan. Mudah kembali ke tindakan sebelumnya.
29
Hal ini dapat mengurangi ke khawatiran pengguna, karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna tidak takut untuk mengeksplorasi pilihan-pilihan lain yang belum biasa digunakan. Mendukung tempat pengendali internal. Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna dari pada pengguna merasa bahwa sistem mengkontrol pengguna. 2.9
Pengujian Pentingnya pengujian perangkat lunak mengacu pada kualitas perangkat lunak
yang melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan karena ketidak mampuan manusia dalam melakukan komunikasi dengan sempurna terhadap kebutuhan yang diinginkan user maka pengembangan perangkat lunak harus diiringi dengan aktivitas jaminan kualitas dengan melakukan pengujian terhadap perangkat lunak tersebut. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak unuk mencari kesalahan yang terdapat pada perangkat lunak sebelum perangakat lunak tersebut digunakan. Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah [8]: 1. Pengujian
adalah
proses
menemukan kesalahan.
eksekusi suatu
program dengan
maksud
30
2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian
yang
sukses
adalah
pengujian
yang mengungkap
semua
kesalahan yang belum pernah ditemukan sebelumnya. Untuk mendapatkan kesalahan pada perangkat lunak, digunakan beberapa teknik pengujian diantaranya : 1. Pengujian White-Box White Box Testing Adalah metode desain test case yang menggunakan struktur kontrol desain proseddural untuk memperoleh test case [8]. Pengguna metode pengujian akan membuat software enginer dapat : a. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali; b. Menggunakan semua keputusan logis pada sisi true dan false; c. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional mereka; d. Menggunakan struktur data internal untuk menjamin validasinya. 2. Pengujian Black-Box Black-box testingberfokus pada persyaratan perangkat lunak [8]. Pengetahuan khusus dari kode aplikasi / struktur internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Cara pengujian dilakukan dengan hanya menjalankan atau mengeksekusi unit atau modul kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang
31
diinginkan. Dari sini dapat diketahui keinginan client terhadap perangkat lunak
tersebut,
misal client
ingin tampilannya diubah atau proses
penjalanan perangkat lunak tersebut agar lebih dimengerti. Ciri-Ciri Black Box Testing 1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software. 2. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing. 3. Black
box testing melakukan pengujian tanpa pengetahuan detil
struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification-based testing, input/output testing atau functional testing. Ujicoba black-box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya : 1. Fungsi-fungsi yang salah atau hilang 2. Kesalahan interface 3. Kesalahan dalam struktur data atau akses database eksternal 4. Kesalahan performa 5. Kesalahan inisialisasi dan terminasi