BAB II LANDASAN TEORI
2.1 Kecerdasan Buatan (Artificial Intelegent) Kecerdasan Buatan berasal dari Bahasa Inggris “Artifical Intellegence” atau disingkat AI, yaitu intelligence adalah kata sifat yang berarti cerdas, sedangkan artificial artinya buatan. Kecerdasan buatan yang dimaksud merujuk pada mesin yang sskeputusan seperti yang dilakukan oleh manusia. Kecerdasan buatan merupakan salah satu bagian ilmu komputer yang membuat agar komputer dapat melakukan pekerjaan dan sebaik yang dilakukan oleh manusia. Adapun definisi kecerdasan buatan menurut H. A. Simon (1987) merupakan kawasan penelitian, aplikasi dan instruksi yang terkait dengan pemograman komputer untuk melakukan suatu hal yang dalam pandangan manusia adalah cerdas. Menurut Rich dan Knight (1991), kecerdasan buatan
(AI)
merupakan sebuah studi tentang bagaimana membuat komputer melakukan hal-hal yang pada saat ini dapat dilakukan lebih baik oleh manusia (Sutojo dkk, 2011). Tujuan Utama kecerdasan buatan adalah membuat komputer menjadi lebih berguna dan mengerti prinsip-prinsip yang memungkinkan untuk menjadi cerdas. Menurut Winston dan Prendergast (1984), tujuan dari kecerdasan buatan adalah : 1. Membuat mesin menjadi lebih pintar (tujuan utama). 2. Memahami apa itu kecerdasan (tujuan ilmiah). 3. Membuat mesin lebih manfaat (tujuan entrepreneurial). 10
11
2.2 PBK (Pembelajaran Berbasis Komputer) Media pembelajaran berbasis komputer, atau biasa disebut pembelajaran berbantuan komputer (Computer Assisted Instructional / CAI), adalah salah satu media pembelajaran yang sangat menarik dan mampu meningkatkan motivasi belajar peserta didik. Penggunaan komputer sebagai media pembelajaran interaktif dapat diwujudkan dalam berbagai bentuk, diantaranya program Computer-Assisted Learning (CAL), konferensi komputer, surat elektronik atau electronic main (e-mail) dan komputer multimedia yang kemudian disebut multimedia pembelajaran interaktif. Pembelajaran melalui CAI ini bersifat off-line sehingga dalam penggunaannya tidak tergantung pada adanya akses internet. Pembelajaran berbasis komputer adalah penggunaan suatu komputer untuk membantu menyajikan materi pembelajaran kepada siswa,memantau kemajuan belajarnya atau memilih bahan pembelajarantambahan yang sesuai dengan kebutuhan belajar siswa secaraindividual. Robert Heinich, Molenda dan James D. Russesl (1985:226) menyatakan bahwa: "computer system can delivery instruction by allowing them to interact with the lesson programmed into the system: this is referred to computer based intruction". Sistem komputer dapat menyampaikan pembelajaran secara individual dan langsung kepada para siswa dengan cara berinteraksi denga mata pelajaran yang diprogramkan ke dalam sistem komputer, inilah yang disebut dengan pembelajaran berbasis komputer.
12
Perangkat lunak dalam pembelajaran berbasis komputer disamping bisa dimanfaatkan sebagai fungsi computer assited instruction (CAI), juga bisa dimanfaatkan dengan fungsi sebagai sistem pembalajaran individual. Karena dia berfungsi sebagai sistem pembelajaran individual, maka perangkat lunak PBK atau CBI(Computer Based Instruction) memfalisitasi belajar kepada individu yang memanfaatkannya. Oleh karena itu, pengembangan perangkat lunak PBK harus mempertimbangkan prinsip-prinsip belajar, prinsip-prinsip perencanaan sistem pembelajaran, dan prinsip-prinsip pembelajaran individual. Pada PBK, siswa berinteraksi langsung dengan media interaktif berbasis komputer, sementara guru bertindak sebagai desainer dan programmer pembelajaran. Selain itu siswa akan memperoleh pengetahuan yang siap pakai dan akan mampu menanamkan pada siswa kebiasaan-kebiasaan belajar secara rutin, disiplin dan mandiri. Tujuan umum pembelajaran berbasis komputer adalah bagaimana program komputer digunakan sebagai alat bantu untukmenyampaikan materi dalam pembelajaran. Dengan berbagai fiturdan aksesoris pendukungnya, (seperti: teks, suara, gambar, videodan animasi.)
2.3 Multimedia 2.3.1
Pengertian Multimedia Multimedia
adalah
penggunaan
komputer
untuk
menyajikan
dan
menggabungkan teks, suara, gambar, animasi dan video dengan alat bantu (tool) dan koneksi (link) sehingga pengguna dapat bernavigasi, berinteraksi, berkarya dan
13
berkomunikasi (Hofstetter 2001). Multimedia sering digunakan dalam dunia hiburan. Selain dari dunia hiburan, Multimedia juga diadopsi oleh dunia Game. Multimedia juga dapat diartikan sebagai penggunaan beberapa media yang berbeda dalam menyampaikan informasi berbentuk text, audio, grafik, animasi, dan video.
2.3.2 Definisi Multimedia menurut beberapa ahli Definisi Multimedia menurut beberapa ahli, diantaranya : a. Rosch, 1996 : Multimedia adalah Kombinasi dari komputer dan video b. McComick, 1996: Multimedia adalah Kombinasi dari tiga elemen: suara, gambar, dan teks c. Turban dan kawan-kawan, 2002 : Multimedia adalah Kombinasi dari paling sedikit dua media input atau output. Media ini dapat berupa audio (suara, musik), animasi, video, teks, grafik dan gambar d. Robin dan Linda, 2001 : Multimedia adalah Alat yang dapat menciptakan presentasi yang dinamis dan interaktif yang mengkombinasikan teks, grafik, animasi, audio dan video e. Steinmetz (1995, p2) : Multimedia adalah gabungan dari seminimalnya sebuah media diskrit dan sebuah media kontinu. Media diskrit adalah sebuah media dimana validitas datanya tidak tergantung dari kondisi waktu, termasuk didalamnya teks dan grafik. Sedangkan yang dimaksud dengan media kontinu
14
adalah sebuah media dimana validitas datanya tergantung dari kondisi waktu, termasuk di dalamnya suara dan video. f. Vaughan (2004, p1) : Multimedia adalah beberapa kombinasi dari teks, gambar, suara, animasi dan video dikirim ke anda melalui komputer atau alat elektronik lainnya atau dengan manipulasi digital. 2.3.3
Kategori Multimedia Multimedia dapat di definisikan menjadi 2 kategori, yaitu Multimedia Content
Production dan Multimedia Communication. a. Multimedia Content Production adalah penggunaan beberapa media (teks, audio, graphics, animation, video dan interactivity) yang berbeda dalam menyampaikan suatu informasi atau menghasilkan produk multimedia seperti video, audio, musik, film, game, entertaintment, dll. Bisa juga dikatakan sebagai penggunaan beberapa teknologi yang berbeda yang memungkinkan untuk menggabungkan media (teks, audio, graphics, animation, video, dan interactivity) dengan cara yang baru untuk tujuan komunikasi. Dalam kategori ini media yang digunakan adalah : 1.
Media teks/tulisan
2.
Media audio/suara
3.
Media video
4.
Media animasi
5.
Media gambar
6.
Media Interaktif
15
7.
b.
Media spesial effect
Multimedia Communication adalah penggunaan media (massa), seperti televisi, radio, media cetak dan internet untuk mempublikasikan / menyiarkan / mengkomunikasikan material periklanan, publikasi, entertaintment, berita, pendidikan, dll. Dalam kategori ini media yang digunakan adalah : 1.
TV
2.
Radio
3.
Film
4.
Media Cetak
5.
Musik
6.
Game
7.
Entertainment
8.
Tutorial
9.
Internet
Dengan penggunaan multimedia, penyampaian informasi akan menjadi lebih menarik dan mempermudah pengguna dalam mendapatkan informasi tersebut. Seperti yang disebutkan dalam laporan hasil penelitian yang dikeluarkan oleh Computer Technology Research (Hofstetter, p4) bahwa seseorang hanya akan mendapatkan 20% dari apa yang mereka lihat dan 30% dari yang mereka dengar. Sedangkan melalui multimedia akan mendapatkan 50% dari apa yang mereka lihat dan dengar,
16
sampai 80% dari apa yang mereka lihat, dengar dan berinteraksi dengan pada waktu yang sama. 2.3.4
Elemen Multimedia Hofstetter (2001, p16) komponen multimedia terbagi atas lima jenis yaitu:
a. Teks Teks
merupakan
elemen
multimedia
yang
menjadi
dasar
untuk
menyampaikan informasi, karena teks adalah jenis data yang paling sederhana dan
membutuhkan
tempat
penyimpanan
yang
paling
kecil.
Teks
merupakan cara yang paling efektif dalam mengemukakan ide-ide kepada pengguna, sehingga penyampaian informasi akan lebih mudah dimengerti oleh masyarakat. Jenis-jenis teks seperti Printed Text, yaitu teks yang dihasilkan oleh word processor atau word editor dengan cara diketik yang nantinya dapat dicetak. Scanned Text yaitu teks yang dihasilkan melalui proses scanning tanpa pengetikan. Dan Hypertext yaitu jenis teks yang memberikan link ke suatu tempat / meloncat ke topik tertentu. b. Grafik (image) Sangat bermanfaat untuk mengilustrasi informasi yang akan disampaikan terutama informasi yang tidak dapat dijelaskan dengan kata-kata. Jenis-jenis grafik seperti bitmap yaitu gambar yang disimpan dalam bentuk kumpulan pixel, yang berkaitan dengan titik-titik pada layar monitor. Digitized picture adalah gambar hasil rekaman video atau kamera yang dipindahkan ke
17
komputer dan diubah ke dalam bentuk bitmaps. Hyperpictures, sama seperti hypertext hanya saja dalam bentuk gambar. c. Audio Multimedia tidak akan lengkap jika tanpa audio (suara). Audio bisa berupa percakapan, musik atau efek suara. Format dasar audio terdiri dari beberapa jenis: 1. WAVE Merupakan format file digital audio yang disimpan dalam bentuk digital dengan eksistensi WAV 2. MIDI (Musical Instrument Digital Interface) MIDI memberikan cara yang lebih efisien dalam merekam music dibandingkan wave, kapasitas data yang dihasilkan juga jauh lebih kecil. MIDI disimpan dalam bentuk MID. d. Video Video menyediakan sumber yang kaya dan hidup untuk aplikasi multimedia. Dengan video dapat menerangkan hal-hal yang sulit digambarkan lewat katakata
atau
gambar
diam
dan
dapat
menggambarkan
emosi dan psikologi manusia secara lebih jelas. e. Animasi Animasi adalah simulasi gerakan yang dihasilkan dengan menayangkan rentetan frame ke layer. Frame adalah satu gambar tunggal pada rentetan gambar yang membentuk animasi. Menurut Foley, Van Dam, Feiner dan
18
Hughes (1997, p1057) Animate adalah untuk membuat sesuatu hidup, sebagian orang mengira bahwa animasi itu sama dengan motion (gerakan), tetapi animasi mencakup semua yang mengandung efek visual sehingga animasi mencakup perubahan posisi terhadap waktu, bentuk, warna, struktur, tekstur dari sebuah objek, posisi kamera, pencahayaan, orientasi dan focus dan perubahan dalam teknik rendering. 2.3.5
Kriteria Multimedia dalam Pembelajaran Menurut Sigit dkk. (2008), kriteria multimedia adalah sebagai berikut:
1.
Memilki lebih dari satu media yang konvergen, misalnya menggabungkan unsur audio dan visual.
2.
Bersifat
interaktif,
dalam
pengertian
memiliki
kemampuan
untuk
mengakomodasi respon pengguna. 3.
Bersifat mandiri, dalam pengertian memberi kemudahan dan kelengkapan isi sedemikian rupa sehingga pengguna bisa menggunakan tanpa bimbingan orang lain.
2.4 Game Permainan terdiri atas sekumpulan peraturan yang membangun situasi bersaing dari dua sampai beberapa orang atau kelompok dengan memilih strategi yang dibangun untuk memaksimalkan kemenangan sendiri atau pun untuk meminimalkan kemenangan lawan. Peraturan-peraturan menentukan kemungkinan tindakan untuk
19
setiap pemain, sejumlah keterangan diterima setiap pemain sebagai kemajuan bermain, dan sejumlah kemenangan atau kekalahan dalam berbagai situasi. 2.4.1 Definisi Game Pengertian game menurut beberapa ahli: a. Menurut
Chris
Crawford,
seorang
computergame
designer
mengemukakan bahwa game, pada intinya adalah sebuah interaktif, aktivitas yang berpusat pada sebuah pencapaian, ada pelaku aktif (player), ada pelaku pasif (NPC). b. Menurut David Parlett, Game adalah sesuatu yang memiliki "akhir dan cara mencapainya": artinya ada tujuan, hasil dan serangkaian peraturan untuk mencapai keduanya. c. Menurut Roger Caillois, seorang sosiolog Perancis, dalam bukunya yang berjudul Les jeux et les hommes menyatakan game adalah aktivitas yang mencakup karakteristik berikut: fun (bebas bermain adalah pilihan bukan kewajiban), separate (terpisah), uncertain, non-productive, governed by rules (ada aturan), fictitious (pura-pura). d. Menurut Greg Costikyan, Game adalah ―sebentuk karya seni di mana peserta, yang disebut Pemain, membuat keputusan untuk mengelola sumberdaya yang dimilikinya melalui benda di dalam game demi mencapai tujuan.
20
2.4.2 Jenis-jenis Game 2.4.2.1 Simulasi a. Simulasi Kontruksi dan Manajemen Video Game jenis ini seringkali menggambarkan dunia di dalamnya sedekat mungkin dengan dunia nyata dan memperhatikan dengan detil berbagai faktor. Dari mencari jodoh dan pekerjaan, membangun rumah, gedung hingga kota, mengatur pajak dan dana kota hingga keputusan memecat atau menambah karyawan. Dunia kehidupan rumah tangga sampai bisnis membangun konglomerasi, dari jualan limun pinggir jalan hingga membangun laboratorium cloning. Video Game jenis ini membuat pemain harus berpikir untuk mendirikan, membangun dan mengatasi masalah dengan menggunakan dana yang terbatas. Contoh: Sim City, The Sims, Tamagotchi. b. Simulasi Kendaraan Video Game jenis ini memberikan pengalaman atau interaktifitas sedekat mungkin dengan kendaraan yang aslinya, muskipun terkadang kendaraan tersebut masih eksperimen atau bahkan fiktif, tapi ada penekanan khusus pada detil dan pengalaman realistik menggunakan kendaraan tersebut. Terbagi atas beberapa jenis : 1. Perang Video game simulasi kendaraan yang sempat tenar di tahun 90-an ini mengajak pemain untuk menaiki kendaraan dan berperang melawan
21
kendaraan lainnya. Dan kebanyakan diantaranya memiliki judul sama dengan nama kendaraannya. Contoh : Apache 64, Comanche, Abrams, YF-23, F-16 fighting eagle. 2. Balapan Dari namanya sudah jelas, siapa sampai duluan di garis finish dialah pemenangnya! Terkadang malah pemain dapat memilih kendaraan, mendandani, upgrade mesin bahkan mengecatnya. Contoh: Top Gear, Test Drive, Sega Rally Championship, Daytona, Grand Turismo, Need For Speed, Mario Cart, ManXTT. 3. Luar Angkasa Walau masih dapat dikategorikan simulasi kendaraan perang, tetapi segala unsur fiksi ilmiah dan banyaknya judul yang beredar membuat subgenre ini pantas dikategorikan diluar simulasi kendaraan perang. Jenis ini memungkinkan pemain untuk menjelajah luar angkasa, berperang dengan mahluk alien, mendarat di planet antah berantah atau sekedar ingin merasakan bagaimana menjadi kapten di film fiksi ilmiah kesayangan kamu. Contoh: Wing Commander, Freelancer , Star Wars X-Wing, Star Wars Tie Fighter, dll. 4. Mecha Pendapat bahwa hampir tidak ada orang yang terekspos oleh film robot jepang saat kecilnya tidak memimpikan ingin mengendalikan robot, memang sulit dibantah. Dipopulerkan oleh serial Mechwarrior oleh
22
Activision, subgenre Simulasi Mecha ini memungkinkan pemainnya untuk
mengendalikan
robot
dan
menggunakannya
untuk
menghancurkan gedung, helikopter dan tentu saja robot lainnya. Contoh: Mechwarrior, Gundam Last war Chronicles, dan Armored Core. 2.4.2.2 Edukasi a. Edugames Game edukasi adalah game digital yang dirancang untuk pengayaan pendidikan (mendukung pengajaran dan pembelajaran), menggunakan teknologi multimedia interaktif. Video Game jenis ini dibuat dengan tujuan spesifik sebagai alat pendidikan, entah untuk belajar mengenal warna untuk balita, mengenal huruf dan angka, matematika, sampai belajar bahasa asing. Developer yang membuatnya, harus memperhitungkan berbagai hal agar game ini benar-benar dapat mendidik, menambah pengetahuan dan meningkatkan ketrampilan yang memainkannya. Target segmentasi pemain harus pula disesuaikan dengan tingkat kesulitan dan design visual ataupun animasinya. Contoh edugames : Bobi Bola, Dora the explorer, Petualangan Billy dan Tracy.
23
b. Puzzle Video game jenis ini sesuai namanya berintikan mengenai pemecahan teka-teki, baik itu menyusun balok, menyamakan warna bola, memecahkan
perhitungan
matematika,
melewati
labirin,
sampai
mendorong-dorong kota masuk ke tempat yang seharusnya, itu semua termasuk dalam jenis ini. Sering pula permainan jenis ini adalah juga unsur permainan dalam video game petualangan maupun game edukasi. Tetris, Minesweeper, Bejeweled, Sokoban dan Bomberman. 2.4.2.3 Entertainment a. Aksi Shooting Tembak-tembakan, atau hajar-hajaran bisa juga tusuk-tusukan, tergantung cerita dan tokoh di dalamnya, video game jenis ini sangat memerlukan kecepatan refleks, koordinasi mata-tangan, juga timing, inti dari game jenis ini adalah tembak, tembak dan tembak. Termasuk didalam-nya : 1. First person shooting (FPS) seperti Counter Strike dan Call of Duty. 2. Drive n’ shoot, menggunakan unsur simulasi kendaraan tetapi tetap dengan tujuan utama menembak dan menghancurkan lawan, contoh : Spy Hunter, Rock and Roll. Racing, Road Rash. 3. Shoot em’ up, seperti Raiden, 1942, dan gradius. 4. Beat ‘em up (tonjok hajar) seperti Double Dragon dan Final Fight, lalu hack and slash(tusuk bebas) seperti Shinobi dan Legend of Kage.
24
5. Light gun shooting, yang menggunakan alat yang umumnya berbentuk seperti senjata, seperti Virtua Cop dan Time Crisis. b. Fighting Ada yang mengelompokan video game fighting di bagian Aksi, namun penulis berpendapat berbeda, jenis ini memang memerlukan kecepatan refleks dan koordinasi mata-tangan, tetapi inti dari game ini adalah penguasaan jurus (hafal caranya dan lancar mengeksekusinya), pengenalan karakter dan timing sangatlah penting, combo-pun menjadi esensial untuk mengalahkan lawan secepat mungkin. Dan berbeda seperti game Aksi pada umumnya yang umumnya hanya melawan Artificial Intellegence atau istilah umumnya melawan komputer saja, pemain jenis fighting game ini baru teruji kemampuan sesungguhnya dengan melawan pemain lainnya. Seri Street Fighter, Tekken, Mortal Kombat, Soul Calibur dan King of Fighter adalah contohnya. c. Aksi Petualangan Memasuki gua bawah tanah, melompati bebatuan di antara lahar, bergelayutan dari pohon satu ke pohon lain, bergulat dengan ular sambil mencari kunci untuk membuka pintu kuil legendaris, atau sekedar mencari telepon umum untuk mendapatkan misi berikutnya, itulah beberapa dari banyak hal yang karakter pemain harus lakukan dan lalui dalam video game jenis ini. Menurut penulis, game jenis ini sudah berkembang jauh hingga menjadi genre campuran action beat-em up juga, dan sekarang, di
25
tahun 2000 an, jenis ini cenderung untuk memiliki visual 3D dan sudut pandang orang ke-tiga. Tomb Rider, Grand Theft Auto dan Prince of Persia termasuk didalamnya. d. Petualangan Bedanya dengan jenis video game aksipetualangan, refleks dan kelihaian pemain dalam bergerak, berlari, melompat hingga memecut atau menembak tidak diperlukan di sini. Video Game murni petualangan lebih menekankan pada jalan cerita dan kemampuan berpikir pemain dalam menganalisa tempat secara visual, memecahkan teka-teki maupun menyimpulkan rangkaian peristiwa dan percakapan karakter hingga penggunaan benda-benda tepat pada tempat yang tepat. Termasuk didalamnya: e. Role Playing Video game jenis ini sesuai dengan terjemahannya, bermain peran, memiliki penekanan pada tokoh/peran perwakilan pemain di dalam permainan, yang biasanya adalah tokoh utamanya, dimana seiring kita memainkannya, karakter tersebut dapat berubah dan berkembang ke arah yang diinginkan pemain (biasanya menjadi semakin hebat, semakin kuat, semakin berpengaruh, dll) dalam berbagai parameter yang biasanya ditentukan dengan naiknya level, baik dari status kepintaran, kecepatan dan kekuatan karakter, senjata yang semakin sakti, ataupun jumlah teman maupun mahluk peliharaan.Secara kebudayaan, pengembang game Jepang
26
biasanya membuat Role Playing Game(RPG) ke arah cerita linear yang diarahkan seolah karakter kita adalah tokoh dalam cerita itu, seperti Final Fantasy, Dragon Quest dan Xenogears. Sedangkan pengembang game RPGEropa, cenderung membuat karakter kita bebas memilih jalan cerita sendiri secara non-linear, seperti Ultima, Never Winter Nights, baldurs gate, Elder Scroll, dan Fallout. f. Olahraga Singkat padat jelas, bermain sport di PC atau konsol anda. Biasanya permainannya diusahakan serealistik mungkin walau kadang ada yang menambah unsur fiksi seperti NBA JAM. Contohnya pun jelas, Seri Winning Eleven, seri NBA, seri FIFA, John Madden NFL, Lakers vs Celtics, Tony hawk pro skater, dll. g. Multi Player Online Game yang lagi trend di Indonesia bahkan dunia,menjadi salah satu titik balik mengapa dunia game dan internet di Indonesia dapat berkembang. Dan karena dimainkan online dan dengan sistem pembayaran menggunakan voucher, pembajakan sudah tidak menjadi masalah lagi. Game yang dapat dimainkan secara bersamaan oleh lebih dari 2 orang (bahkan dapat mencapai puluhan ribu orang dalam satu waktu) membuat pemain dapat bermain bersama dalam satu dunia virtual dari sekedar chatting hingga membunuh naga bersama teman yang entah bermain di mana. Umumnya permainan tipe ini dimainkan di PC dan
27
bertema RPG, walau ada juga yang bertema music atau action. Contoh: Ragnarok online, O2jam, World of Warcraft, Ayo Dance, Lineage, Rose online. h. Casual Games Sesuai namanya, game yang casual itu tidak kompleks, mainnya rileks dan sangat mudah untuk dipelajari (bahkan cenderung langsung bisa dimainkan). Jenis ini biasanya memerlukan spesifikasi komputer yang standar pada jamannya dan ukurannya tidak lebih dari 100 MB karena biasanya dapat di download versi demo-nya di website resminya. Genre permainannya biasanya puzzle atau action sederhana dan umumnya dapat dimainkan hanya menggunakan mouse (biasanya gamelain menggunakan banyak tombol tergantung game-nya). Contoh: Diner Dash, Sally Salon, Bejeweled, Zuma, Feeding Frenzy, Insaniquarium. i. Endless Running Endless running adalah tipe atau genre game
yang memainkan
karakter yang berlari tanpa ujung. Tipe atau genre ini tidak mempunyai akhir hingga karekter mati, jatuh atau menabrak sesuatu. Tipe atau genre ini menuntut kita untuk belajar daya tahan mata, jari serta konsentrasi saat memainkannya. Ada beberapa game yang terkenal menggunakan tipe atau genre Endless running ini diantaranya :
28
a. Subway Surfers Game Subway Surfers yang dibuat oleh Kiloo Games dan Sybo Games merupakan salah satu game yang banyak peminatnya sampai total pendownload mencapai 50 juta di play store android. Game ini salah satu terbaik dengan genre Endless Running dengan grafis 3D. b. Temple Run 2 Temple Run 2 yang dibuat oleh Imangi Studios pun telah ter-download lebih dari 50 juta dan mempunyai rating hampur 5 bintang. 2.5 Android Operating System Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuk Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qalcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana android, 5 November 2007, Android bersama Open Handset Aylliance menyatakan mendukung pengembangan open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode android dibawah lisensi apache, sebuah lisensi perangkat lunak dan open platform perangkat selular.
29
Tidak hanya menjadi Sistem operasi di smartphone, saat ini android menjadi pesaing utama dari Apple dana system operasi Tablet PC. Pesatnya pertumbuhan android selain faktor yang disebutkan diatas adalah karena Android itu sendiri adalah platform yang sangat lengkap, baik itu sistem operasinya, Aplikasi Tool pengembangan, Market aplikasi android serta dukungan yang sangat tinggi dari komunitas Open source di dunia, sehingga android terus berkembang pesat baik dari segi teknologi maupun dari segi jumlah device yang ada di dunia. Android dipuji sebagai “platform mobile pertama yang lengkap, terbuka, dan bebas”. 1
Lengkap (Complete Platform): para desainer dapat melakukan pendekatan yang komperehensif ketika sedang mengembangkan platform Android. Android merupakan sistem operasi yang aman dan memungkinkan untuk peluang pengembangan aplikasi.
2
Terbuka (Open source Platform): platform Android disediakan melalui lisensi open source. Pengembangan dapat dengan bebas untuk mengembangkan aplikasi. Android sendiri menngunakan Linux kernel 1,6.
3
Free (Free platform): android adalah Platform/aplikasi yang bebas untuk develop. Tidak ada lisensi atau biaya royalty untuk dikembangkan pada platform android.
30
2.5.1
Arsitektur Android
Secara garis besar arsitektur android dapat dijelaskan dan digambarkan sebagai berikut: 1. Applications and Widgets Application dan Widgets ini adalah layer di mana kita berhubungan dengan aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. 2. Application Frameworks Layer di mana para pembuat aplikasi melakukan pengembangan / pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content-providers yang berupa sms dan panggilan telepon. Komponen-komponen yang termasuk di dalam Applications Frameworks adalah sebagai berikut : a. Views b. Content Provider c. Resource Manager d. Notification Manager e. Activity ManagerLibraries 3. Libraries Libraries adalah layer di mana fitur-fitur android berada.
31
4. Android run time Layer yang membuat aplikasi Android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux. 5.
Linux kernel
Linux kernel adalah layer di mana inti-inti dari operating system itu berada.
2.6 Gatotkaca Gatotkaca, terkenal sebagai ksatria perkasa berotot kawat bertulang besi. Ia adalah anak Bima, ibunya bernama Dewi Arimbi. Dalam pewayangan, Gatotkaca adalah seorang raja muda di Pringgadani, yang rakyatnya hampir seluruhnya terdiri atas bangsa raksasa. Negeri ini diwarisinya dari ibunya. Sebelum itu, kakak ibunya yang bernama Arimba, menjadi raja di negeri itu. Sebagai raja muda di Pringgadani, Gatotkaca banyak dibantu oleh patihnya, Brajamusti, adik Arimbi. Begitu lahir di dunia, Gatotkaca telah membuat huru-hara. Tali pusarnya tidak dapat diputus. Berbagai macam pisau dan senjata tak mampu memotong tali pusar itu. Akhirnya keluarga Pandawa sepakat menugasi Arjuna mencari senjata ampuh untuk keperluan itu. Sementara itu para dewa pun tahu peristiwa itu. Untuk menolongnya Batara Guru mengutus Batara Narada turun ke bumi membawa senjata pemotong tali pusar Gatotkaca. Namun Batara Narada membuat kekeliruan. Senjata, yang bernama Kunta Wijayandanu, itu bukan diserahkan pada Arjuna, me-lainkan pada Karna yang wajah dan penampilannya mirip Arjuna.
32
Untuk memperoleh senjata pemberian dewa itu Arjuna terpaksa mencoba merebutnya dari tangan Karna. Usahanya ini tak berhasil. Arjuna hanya dapat merebut sarung (warangka) senjata sakti itu. Sedangkan bilah senjata Kunta tetap dilarikan Karna. Untunglah ternyata sarung Kunta itu pun dapat digu-nakan memotong tali pusar Gatotkaca. Namun, begitu tali pusar itu putus, warangka Kunta langsung melesat masuk ke dalam pusar bayi itu. Setelah tali pusarnya putus, atas izin Bima dan keluarga Pandawa lainnya, Gatotkaca dibawa Batara Narada ke Kahyangan untuk meng-hadapi Kala Sakipu dan Kala Pracona yang mengamuk. Mula-mula Bima dan Dewi Arimbi tidak merelakan anaknya yang baru lahir itu dibawa Narada. Namun, setelah dewa itu menjelaskan bahwa me-nurut ramalan para dewa, Kala Sakipu dan Kala Pracona memang hanya dikalahkan oleh bayi yang di-namakan Tutuka itu, Bima dan Arimbi mengizinkan. Di kahyangan, Bayi Tutuka langsung ditaruh dihadapan kedua raksasa sakti itu. Kala Sakipu langsung memungut bayi itu dan mengunyahnya, tetapi ternyata Tutuka bukan bayi biasa. Tubuhnya tetap utuh, walaupun raksasa itu mengunyah kuat-kuat. Karena kesal, bayi itu dibantingnya sekuat tenaga ke tanah. Tutuka pingsan. Setelah ditinggal pergi kedua raksasa itu, Bayi Tutuka diambil olah Batara Narada, dan dimasukkan ke Kawah Candradimuka. Di sini Gatotkaca digembleng oleh Empu Batara Anggajali. Setelah penggemblengan selesai, begitu muncul kembali dari Kawah Candradimuka, bayi
33
itu sudah berubah ujud menjadi ksatria muda yang perkasa. Ia mengenakan Caping Basunanda, penutup kepala gaib, yang menyebabkannya tidak akan kehujanan dan tidak pula kepanasan. Ia juga mengenakan terompah Padakacarma yang jika digunakan menendang, musuhnya akan mati. Para dewa lalu menyuruhnya berkelahi melawan bala tentara raksasa pimpinan Prabu Kala Pracona dan Patih Kala Sakipu lagi. Gatotkaca ternyata sanggup menunaikan tugas itu dengan baik. Kala Pracona dan Kala Sakipu dapat dibunuhnya. Dalam pewayangan Gatotkaca mempunyai tiga orang istri. Istri pertamanya Dewi Pregiwa, anak Arjuna. Istrinya yang kedua Dewi Sumpani, dan yang ketiga Dewi Suryawati, putri Batara Surya. Dari perkawinan dengan Pergiwa, Gatotkaca mendapat seorang anak bernama Sasikirana. Dengan Dewi Sumpani ia mempunyai anak bernama Arya Jayasumpena. Sedangkan Suryakaca adalah anaknya dari Dewi Suryawati. Dalam Baratayuda Gatotkaca diangkat menjadi senapati dan gugur pada hari ke-15 oleh senjata Kunta yang dilemparkan Karna. Senjata Kunta Wijayandanu itu melesat menembus perut Gatotkaca melalui pusarnya dan masuk ke dalam warangkanya.
2.7 Metode Best First Search Merupakan
metode
yang
membangkitkan
suksesor
dengan
mempertimbangkan harga (didapat dari fungsi heuristik tertentu) dari setiap node. Langkah-langkah yang dilakukan oleh algoritma Best First Search. Algoritma adalah sebagai berikut:
34
1.
Buat sebuah antrian , inisialisasi node pertama dengan root dari tree
2.
Bila node pertama , jika tidak sama dengan GOAL, node di hapus di ganti dengan anak – anaknya.
3.
Bila node pertam = GOAL, selesai
Gambar 2.1 Langkah-langkah yang dilakukan oleh algoritma Best First Search. 2.8 C# C# adalah bahasa pemrograman baru yang diciptakan oleh Microsoft yang dikembangkan dibawah kepemimpinan Anders Hejlsberg yang telah menciptakan berbagai macam bahasa pemrograman termasuk Borland Turbo C++ dan orland Delphi. Bahasa C# juga telah di standarisasi secara internasional oleh ECMA. Seperti halnya bahasa pemrograman yang lain, C# bisa digunakan untuk membangun
35
berbagai macam jenis aplikasi, seperti aplikasi berbasis windows (desktop) dan aplikasi berbasis web serta aplikasi berbasis web services. Sebagai bahasa pemrograman baru C# banyak mengadopsi feature dari beberapa bahasa perogrmaan terkenal dan banyak komunitasnya tetapi yang paling dominan adalah Java adapun komposisinya adalah sebagai berikut 70% Java, 10% C++, 5% Visual Basic, 15% baru. 1. Feature yang sama dengan JAVA a. Object-orientation (single inheritance) b. Interfaces c. Exceptions d. Threads e. Namespaces (like Packages) f. Strong typing g. Garbage Collection h. Reflection i. Dynamic loading Code 2. Feature yang sama dengan C++ a. (Operator) Overloading b. Pointer arithmetic in unsafe code c. Some syntactic details
36
Adapun Feature barunya jika dikomper dengan Java adalah sebagai berikut : a. Reference and output parameters b. Objects on the stack (structs) c.
Rectangular arrays
d.
Enumerations
e. Unified type system f. Goto g. Versioning h. Component-based programming i. Properties j.
Events
k. Delegates l.
Indexers
m. Operator overloading n. foreach statements o. Boxing/unboxing p. Attributes
2.9 Java script JavaScript adalah bahasa pemrograman yang bisa disisipkan ke HTML seperti halnya PHP akan tetapi javascript berjalan di sisi Client. JavaScript adalah bahasa pemrograman yang bisa disisipkan ke HTML seperti halnya PHP akan tetapi
37
javascript berjalan di sisi Client. Misalnya, jam ditampilkan pada halaman yang update sendiri untuk menunjukkan waktu saat ini pada komputer pengguna. Desain JavaScript dipengaruhi oleh banyak bahasa pemrograman, termasuk C, tetapi dimaksudkan untuk lebih digunakan oleh non-programmer. JavaScript tidak didasarkan pada atau terkait ke Java, ini adalah kesalahpahaman umum. JavaScript seringkali disertakan dalam file HTML atau link dari file HTML dan dijalankan secara lokal oleh web browser. Ini berarti bahwa server bebas untuk mengerjakan sesuatu yang lain daripada pemrosesan instruksi untuk setiap klien. Hal ini telah membuat JavaScript pilihan yang lebih populer daripada bahasa yang memerlukan server untuk melakukan pengolahan.
2.10
Unity 3D
Unity 3D adalah sebuah game engine yang berbasis cross-platform. Unity dapat digunakan untuk membuat sebuah game yang bisa digunakan pada perangkat komputer, ponsel pintar android, iPhone, PS3, dan bahkan X-BOX. Unity adalah sebuah sebuah tool yang terintegrasi untuk membuat game, arsitektur bangunan dan simulasi. Unity bisa untuk games PC dan games Online. Untuk games Online diperlukan sebuah plugin, yaitu Unity Web Player, sama halnya dengan Flash Player pada Browser. Unity tidak dirancang untuk proses desain atau modelling, dikarenakan unity bukan tool untuk mendesain. Jika ingin mendesain, pergunakan 3D editor lain seperti
38
3dsmax atau Blender. Banyak hal yang bisa dilakukan dengan unity, ada fitur audio reverb zone, particle effect, dan Sky Box untuk menambahkan langit. Fitur scripting yang disediakan, mendukung 3 bahasa pemrograman, JavaScript, C#, dan Boo. Flexible dan EasyMoving, rotating, dan scaling objects hanya perlu sebaris kode. Begitu juga dengan duplicating, removing, dan changing properties. Visual Properties Variables yang di definisikan dengan scripts ditampilkan pada Editor. Bisa digeser, di drag and drop, bisa memilih warna dengan color picker. Berbasis .NET. Artinya penjalanan program dilakukan dengan Open Source .NET platform, Mono.
Gambar 2.2 Lembar Kerja Unity 3.5
Gambar di atas menampilkan lembar kerja dari unity 3.5. versi gratis. Pada setiap project Unity terdapat sebuah Assets folder. Isi dari Assets folder ditampilkan dalam bentuk panel project dalam editor unity. Assets folder adalah tempat untuk menyimpan semua komponen dari game seperti tingkatan game (level scenes), scripts, 3D models, texture, dan file audio.
39
Untuk menambahkan assets ke dalam project, cukup dengan menarik (drag) file yang ingin ditambahkan ke dalam panel project. Atau dengan memilih menu Assets->Import New Asset. Untuk membuat scene baru, gunakan tombol Control-N (pada keyboard). Untuk menyimpan scene yang sedang aktif, gunakan Control-S (pada keyboard). Panel Hierarchy menampung semua GameObject yang terdapat di scene yang sedang aktif. Beberapa dari GameObject tersebut berhubungan langsung ke asset seperti objek 3D. Objek yang terdapat pada hierarchy dapat di seleksi dan dihapus. Jika objek dihapus atau ditambahkan pada scene, maka objek tersebut juga akan hilang atau muncul pada hierarchy. Unity menggunakan sebuah konsep yang disebut Parenting. Ini digunakan untuk membuat sebuah GameObject menjadi anak dari GameObject yang lain. Tarik sebuah gameobject dan pindahkan tepat di atas tulisan gameObject yang akan dijadikan parent dalam hierarchy. GameObject yang terdapat dalam sebuah gameObject lainnya akan mengikuti perpindahan dan perputaran ketika gameObject parent mengalami perubahan posisi. 2.10.1 Database di Unity3D Salah satu database yang dapat digunakan di Unity3D menggunakan PlayerPrafs. PlayerPrafs adalah sebuah variable static yang dapat terus menyimpan data, bahkan ketika game yang dimainkan keluar atau exit dan dapat mengeluarkan data yang telah tersimpan sebelumnya. Ada beberapa aksi yang dapat digunakan saat memakai PlayerPrafs, diantaranya :
40
a. PlayerPrafs SetString yaitu data dapat disimpan hanya berupa String b. PlayerPrafs SetInt yaitu data dapat disimpan hanya berupa Integer c. PlayerPrafs SetBool yaitu data dapat disimpan hanya berupa Boolean d. PlayerPrafs GetString yaitu data dapat mengambil data String yang telah disimpan sebelumnya . e. PlayerPrafs GetInt yaitu data dapat mengambil data Integer yang telah disimpan sebelumnya . f. PlayerPrafs GetBool yaitu data dapat mengambil data Boolean yang telah disimpan sebelumnya .
2.11
Metode Pengembangan Multimedia Tahapan pengembangan multimedia menurut Luther (Sutopo, 2002:32) yaitu
pengembangan aplikasi multimedia dilakukan berdasarkan enam tahap, yaitu konsep (concept), perancangan (design), pengumpulan bahan (material collecting), pembuatan (assembly), tes (testing), seperti pada gambar 2.3.
Gambar 2.3 Siklus Pengembangan APlikasi Multimedia Menurut Luther (Sutopo, 2003:32)
41
a. Concept Tahap concept (konsep) adalah tahap untuk menentukan tujuan dan siapa pengguna program (identifikasi audience). Selain itu menentukan macam aplikasi (presentasi, interaktif, dll) dan tujuan aplikasi (hiburan, pelatihan, pembelajaran, dll). b. Design Design (perancangan) adalah tahap membuat spesifikasi mengenai arsitektur program, gaya, tampilan dan kebutuhan material/bahan untuk program. c. Material Collecting Material Collecting adalah tahap dimana pengumpulan bahan yang sesuai dengan kebutuhan dilakukan. Tahap ini dapat dikerjakan paralel dengan tahap assembly. Pada beberap kasus, tahap Material Collecting dan tahap Assembly akan dikerjakan secara linear tidak paralel. d. Assembly Tahap assembly (pembuatan) adalah tahap dimana semua objek atau bahan multimedia dibuat. Pembuatan aplikasi didasarkan pada tahap design. e. Testing Dilakukan setelah selesai tahap pembuatan (assembly) dengan menjalankan aplikasi/program dan dilihat apakah ada kesalahan atau tidak. Tahap ini disebut juga sebagai tahap pengujian alpha (alpha test) dimana pengujian dilakukan oleh pembuat atau lingkungan pembuatnya sendiri.
42
2.12
Unified Modeling Language (UML)
Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industry untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. (Dharwiyanti, S & Satria, R.2003). 2.12.1 Use Case Diagram Menurut Roger S. Pressman dalam buku karangannya yang berjudul Software Engineering: Seventh Edition, Uses Case Diagram menggambarkan bagaimana seorang user berinteraksi dengan sistem dngan mendefinisikan langkah-langkah yang diperlukan untuk mendapatkan hasil yang spesifik. Use case diagram dapat membantu menyususun requirement sebuah sistem, mengkomunikasikan rancangan dengan client, 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 bahwa use case yang di include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas common. 2.12.2
Class Diagram
Class Diagram adalah diagram yang menunjukan class-class yang ada dari sebuah sistem dan hubungannya secara logika. Class diagram menggambarkan
43
struktur statis dari sebuah sistem. Karena itu class diagram merupakan tulang punggung atau kekuatan dasar dari hampir setiap metode berorientasi objek termasuk UML (Henderi, 2008). Sementara menurut (Whitten L. Jeffery et al 2004:432) class diagram adalah gambar grafis mengenai struktur objek statis dari suatu sistem, menunjukan class-class objek yang menyusun sebuah sistem dan juga hubungan antara class objek tersebut. Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Class-class, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama). 2.12.3
Activity Diagram
Activity Diagram menggambarkan perilaku dinamis dari sebuah sistem atau bagian dari sebuah sistem atau bagian dari sebuah sistem melalui alran control antar proses yang ditampilkan oleh sistem. 2.12.4
Sequence Diagram
Sequence diagram digunakan untuk menunjukan komunikasi yang dinamis antar objek selama proses eksekusi sebuah tugas. Ini menunjukan bahwa perintah yang bersifat sementara pada suatu pesan dikirim antar objek untuk menyelasikan tugas tersebut. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk
44
menghasilkan output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Masing-masing objek, termasuk actor, memiliki lifeline vertical. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Activation bar menunjukan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah mesaage. Untuk objek-objek yang memiliki sifat khusus object boundary, controller dan persistent entity. 2.13
Pengujian (Testing) 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 dimana 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.
45
Sejumlah aturan yang berfungsisebagai sasaran pengujian pada perangkat lunak adalah : 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 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. Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan, tetapi ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak. Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu : a. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal.
46
b. Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan. c. Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program. d. Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”, Selagi pengujian berlangsung maju, pengujian mengubah fokus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem. e. Pengujian
yang
mendalam
tidak
mungkin
karena
tidak
mungkin
mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar. f. Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent. Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program komputer, sebuah sistem atau produk dengan testabilitas dalam pikirannya. Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah. Testabilitas adalah seberapa mudah sebuah program komputer dapat diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah. Prosedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi.
47
Sasaran utama desain test case yaitu untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi didalam pengungkapan kesalahan pada perangkat lunak. 2.13.1 Pengujian Black-Box Test case ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi yang disimpan secara eksternal selalu dijaga kemutakhirannya. Teknik pengujian black-box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam. Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksa kemampuan program untuk menangani data pada batas yang dapat diterima. Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan teknik khusus untuk pengujian perangkat lunak.