BAB II LANDASAN TEORI
2.1 Cuaca Cuaca merupakan bentuk awal yang dihubungkan dengan penafsiran dan pengertian akan kondisi fisik udara sesaat pada suatu lokasi dan suatu waktu, sedangkan iklim merupakan kondisi lanjutan dan merupakan kumpulan dari kondisi cuaca yang kemudian disusun dan dihitung dalam bentuk rata-rata kondisi cuaca dalam kurun waktu tertentu (Winarso, 2003).
Tabel 2.1 Unsur-unsur cuaca dan iklim beserta alat pengukurnya adalah sebagai berikut : No.
Unsur Cuaca
1.
Penerimaan
Satuan Radiasi W.m2
Nama Alat Ukur Solarimeter
Matahari 2.
Lama Penyinaran Matahari
Jam
Campbell Stokes
3.
Suhu Udara
0
Termometer
4.
Kelembapan Udara
%
Psychometer/Higrometer
5.
Kecepatan Angin
m.s-1
Anemometer
6.
Arah Angin
0
Winvane
7.
Curah Hujan
Mm
Ombrometer
C
6
7
2.1.1 LAMA PENYINARAN DAN PANJANG HARI Lama penyinaran adalah periode (dalam jam) matahari bersinar cerah. Faktor yang menentukan lama penyinaran adalah penutupan awan, semakin lama penutupan awan maka lama penyinaran berkurang.
2.1.2 SUHU DAN KELEMBAPAN UDARA Suhu udara diukur dengan satuanOC, sedangkan kelembaban udara dinyatakan dengan tekanan uap air (ea, dalam mb), kerapatan uap air (p, dalam kg.m-3), defisit tekanan uap (es-ea, dalam mb) atau kelembaban nisbi (RH, dalam %). Proses pemanasan udara yang mengakibatkan peningkatan suhu udara, terjadi akibat penerimaan energi radiasi surya di permukaan bumi (daratan dan lautan) yang selanjutnya digunakan untuk memanaskan udara di atasnya, untuk penguapan dan pemanasan daratan serta lautan itu sendiri.
2.1.3 ARAH DAN KECEPATAN ANGIN Angin adalah gerakan udara secara horizontal. Arah angin adalah arah dari mana asal angin tersebut bertiup, dan bukan menuju ke mana angin tersebut bertiup. angin laut adalah angin yang berasal dari laut (menuju ke daratan), sedangkan angin darat adalah angin yang berasal dari darat (menuju ke Laut)
8
2.1.4 PERKIRAAN CUACA Prakiraan cuaca adalah penerapan ilmu pengetahuan dan teknologi untuk memprediksi kondisi atmosfer untuk masa depan, pada waktu dan lokasi tertentu. Prakiraan cuaca dibuat dengan mengumpulkan data kuantitatif tentang keadaan atmosfer saat ini, dan menggunakan pemahaman ilmiah berkenaan dengan prosesproses yang terjadi di atmosfer.
2.2 Perangkat Mobile Perangkat mobile memiliki banyak jenis dalam hal ukuran, desain dan layout, tetapi mereka memiliki kesamaan karakteristik yang sangat berbeda dari sistem desktop : ●
Ukuran yang kecil Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
●
Memory yang terbatas Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan
secondary (disk). Pembatasan ini adalah salah satu
faktor yang mempengaruhi ram untuk berbagai jenis dari perangkat ini. Dengan pembatasan jumlah dari memory, pertimbangan pertimbangan khusus harus diambil untuk memelihara pemakaian dari sumber daya yang mahal ini. ●
Daya proses yang terbatas tidaklah setangguh rekan mereka yaitu desktop. Ukuran, teknologi dan biaya adalah beberapa faktor yang
9
mempengaruhi status dari sumber daya ini. Seperti harddisk dan RAM, Anda dapat menemukan mereka dalam ukuran yang pas dengan sebuah kemasan kecil. ●
Mengkonsumsi daya yang rendah Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin desktop. Perangkat ini harus menghemat daya karena mereka berjalan pada keadaan dimana daya yang disediakan dibatasi oleh baterai - baterai.
●
Kuat dan dapat diandalkan Karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup kuat untuk benturan-benturan, gerakan, dan sesekali tetesantetesan air.
2.3 Multimedia Definisi multimedia menurut Tay Vaughan, 2011 adalah penggabungan berbagai infomasi dengan menggunakan fasilitas dari komputer. Multimedia yang berasal dari kata multi yang berarti banyak atau lebih dari satu dan media yang dapat diartikan penyajian suatu tempat. Multimedia adalah pemanfaatan komputer untuk membuat dan menggabungkan teks, audio, gambar, bergerak (video dan animasi denganmenggunakan link dan tool yang memungkinkan pemakaian melakukan navigasi, berinteraksi, berkreasi dan berkomunikasi (Suyanto,2004). Kelebihan multimedia adalah menarik indera dan minat, karena merupakan gabungan antara pandangan, suara dan gerakan. Lembaga Riset dan Penerbitan Komputer yaitu Computer Technology Research (CTR), menyatakan
10
bahwa orang hanya mampu mengingat 20% dari yang dilihat dan 30% dari yang didengar. Tetapi orang dapat mengingat 50% dari yang dilihat dan didengar dan 30% dari yang dilihat, didengar dan dilakukan sekaligus. Maka multimedia sangatlah efektif. Multimedia menjadi tool yang ampuh untuk pengajaran dan pendidikan serta untuk meraih keunggulan bersaing perusahaan (Suyanto, 2004).
2.3.1 Komponen Multimedia
A. Teks Tampilan dalam bentuk teks atau yang lebih dikenal dengan istilah tipografi merupakan elemen yang cukup penting dalam pembuatan multimedia. Sebagian besar multimedia menggunakan teks karena sangat efektif untuk menyampaikan ide dan panduan kepada pengguna. Teks merupakan bentuk data multimedia yang paling mudah disimpan dan dikenali, serta file teks mempunyai struktur yang sederhana. Teks biasanya mengacu pada kata, kalimat, alinea, segala sesuatu yang tertulis atau ditayangkan. (Vaughan, 2011). Beberapa hal yang perlu diperhatikan mengenai penggunaan teks dalam suatu aplikasi multimedia adalah : 1. Gunakanlah huruf (font) yang sesuai dengan tema aplikasi multimedia yang akan dibuat. 2. Pastikan huruf (font) yang dipakai tersedia di sistem komputer lain. 3. Pemilihan bentuk dan warna yang sesuai dengan tema aplikasi multimedia. 4. Pastikan teks tersebut terbaca.
11
5. Usahakan ringkas tetapi padat. B. Grafik (Gambar) Grafik atau gambar merupakan sarana pembentukan informasi yang lebih mudah untuk dipahami. Gambar juga merupakan salah satu komponen penting dalam multimedia karena dapat meringkas dan menyajikan data kompleks serta mampu menyampaikan banyak kata. Gambar dalam publikasi multimedia lebih menarik perhatian dan dapat mengurangi kebosanan dibandingkan dengan teks, sebab manusia selalu berorientasi terhadap visual. (Vaughan, 2011).
C. Audio Teknologi audio juga berperan penting dalam penyampaian informasi, tanpa adanya audio dalam sebuah multimedia maka hasilnya tidak lengkap. Suara atau audio di dalam multimedia biasanya berupa suara musik, suara dari voice record dan efek–efek suara lain. (Vaughan, 2011, p80).
D. Video Video
adalah
gambar–gambar
yang
saling
berurutan
sehingga
menimbulkan efek gerak. Pembuatan video dalam tampilan multimedia bertujuan untuk membuat tampilan yang dihasilkan lebih menarik. (Vaughan,2011,p142)
E. Animasi Animasi merupakan kumpulan gambar yang ditampilkan secara bergantian dan berurutan sehingga terlihat bergerak dan hidup. Pergerakan animasi akan
12
lebih mudah dimengerti daripada objek atau gambar diam. Selain itu, animasi lebih menarik dan mudah dimengerti daripada hanya sekedar gambar karena lebih komunikatif dalam menyampaikan suatu tujuan. Animasi dibagi menjadi beberapa macam, (Vaughan, 2011, p.104) yaitu :
1) Animasi Sel Sel animasi biasanya merupakan lembaran-lembaran yang membentuk sebuah frame animasi tunggal. Sel animasi merupakan sel yang terpisah dari lembaran latar belakang dan sebuah sel untuk masing-masing objek yang bergerak secara mandiri diatas latar belakang. 2) Animasi Frame Animasi
frame
adalah
bentuk
animasi
yang
paling
sederhana.
Diumpamakan sebuah buku yang mempunyai gambar berseri di tepi halaman berurutan. Jika membuka buku dengan cepat, maka gambar kelihatan bergerak. Pada komputer multimedia, animasi buku tersebut menampilkan sebuah gambar yang berurutan secara cepat. Antara gambar satu (frame satu) dengan gambar lain (frame lain) berbeda.
3) Animasi Sprite Animasi sprite serupa dengan teknik animasi tradisional, yaitu objek yang diletakkan dan dianimasikan pada bagian puncak grafik dengan latar belakang diam. Sprite adalah setiap bagian dari animasi yang bergerak secara mandiri, misalnya burung terbang, planet berotasi atau logo berputar.
13
4) Animasi Lintasan (Path Animation) Animasi lintasan adalah animasi dari objek yang bergerak sepanjang garis kurva yang ditentukan sebagai lintasan.
5) Animasi Spline Spline adalah representasi matematis dari kurva. Bila objek bergerak, biasanya tidak mengikuti garis lurus, misalnya berbentuk kurva. Program animasi komputer memungkinkan untuk membuat animasi spline dengan lintasan gerakan berbentuk kurva.
6) Animasi Vektor Animasi vektor menjadikan objek bergerak dengan memvariasikan ketiga parameter ujung pangkal, arah dan panjang pada segmen-segmen garis yang menentukan objek.
7) Animasi Karakter Animasi karakter merupakan sebuah cabang khusus animasi. Animasi karakter semacam yang dilihat dalam film kartun. Animasi ini berbeda dengan animasi lainnya, misalnya grafik bergerak animasi logo yang melibatkan bentuk organik yang komplek dengan penggandaan yang banyak, gerakan hirarkis.
14
8) Computational Animation Dengan computational animation, untuk menggerakkan objek dilayar cukup memvariasikan koordiant x dan y nya. Koordinat x merupakan posisi horizontal objek, yaitu berapa jauh kiri-kanan layar. Koordinat y merupakan posisi vertikal, yakni berapa jauh atas-bawah layar.
9) Morphing Morphing artinya mengubah satu bentuk menjadi bentuk lain dengan menampilkan serangkaian frame yang menciptakan gerakan halus begitu bentuk pertama mengubah dirinya menjadi bentuk lain. (Suyanto, 2004).
2.3.2 Multimedia Berbasis Komputer Saat ini teknologi komputer tidak hanya digunakan sebagai sarana komputasi pengolahan kata (word processor), tetapi juga sebagai sarana belajar multimedia yang memungkinkan mahasiswa membuat desain dan rekayasa suatu konsep dan ilmu pengetahuan. Sajian multimedia berbasis komputer dapat diartikan sebagai teknologi yang mengoptimalkan peran komputer sebagai sarana untuk menampilkan dan merekayasa teks, grafik, dan dalam sebuah tampilan yang terintegrasi. Dengan tampilan yang dapat mengkombinasikan berbagai unsur penyampaian informasi dan pesan, komputer dapat dirancang dan digunakan sebagai media teknologi yang efektif untuk mempelajari dan menyampaikan informasi yang dibutuhkan oleh manusia. (Vaughan, 2011, p164)
15
2.3.3 Multimedia Sebagai Media Pembelajaran Teknologi baru terutama multimedia mempunyai peranan semakin penting dalampembelajaran. Banyak orang percaya bahwa multimedia akan dapat membawa kita kepada situasi belajar di mana "learning with effort" akan dapat digantikan dengan "learning with fun". Apalagi dalam pembelajaran orang dewasa, “learning with effort” menjadi hal yang cukup menyulitkan untuk dilaksanakan karena berbagai faktor pembatas seperti usia, kemampuan daya tangkap, kemauan berusaha, dan lain lain. Proses pembelajaran yang menyenangkan, kreatif, dan tidak membosankan menjadi pilihan para guru atau fasilitator. Jika situasi belajar seperti ini tidak tercipta, paling tidak multimedia dapat membuat belajar lebih efektif menurut pendapat beberapa pengajar. Beberapa kelebihan multimedia seperti tidak perlu pencetakan hard copy dan dapat dibuat atau diedit pada saat mengajar menjadi hal yang memudahkan guru dalam penyampaian materinya. Berbagai variasi tampilan atau visual bahkan audio mulai dicoba seperti animasi bergerak, potongan video, rekaman audio, paduan warna dibuat untuk mendapatkan sarana bantu mengajar yang sebaikbaiknya.(http://blank91.wordpress.com, 2011).
2.3.4 DEFINISI KOMPUTER MULTIMEDIA Komputer Multimedia adalah sebuah komputer yang dikonfigurasi sesuai dengan rekomendasi dan memiliki sebuah CD-ROM. Standarisasi komputer mutlimedia dilakukan oleh "Multimedia PC Marketing Council", sebuah kelompok kerja dari sebuah perusahaan yang dahulu bernama Software Publishers Association (sekarang bernama Software and Information Industry Association).
16
Perusahaan ini merupakan gabungan dari Microsoft, Creative Labs, Dell, Gateway, dan Fujitsu (wikipedia.org) Standar Komputer Multimedia menurut Software and Information Industry Association: Pada tahun 1990:
16 MHz 386SX CPU
2MB RAM
30MB hard disk
256-color, 640 x 480 VGA video card
1x CD-ROM drive using no more than 40% of CPU to read, with < 1 second seek time
Sound card outputting 22 kHz, 8-bit sound; and inputting 11 kHz, 8-bit sound
Windows 3.0 with Multimedia Extensions.
Pada tahun 1993: •
25 MHz 486SX CPU
•
4 MB RAM
•
160 MB hard disk
•
16-bit color, 640×480 VGA video card
•
2X CD-ROM drive using no more than 40% of CPU to read at 1x, with < 400ms seek time
•
Sound card outputting 44 kHz, 16-bit sound
•
Windows 3.0 with Multimedia Extensions, or Windows 3.1
17
Pada tahun 1996: •
75 MHz Pentium CPU
•
8 MB RAM
•
540 MB hard disk
•
Video system that can show 352×240 at 30 frames per second, 15-bit color
•
MPEG-1 hardware or software video playback
•
4x CD-ROM drive using no more than 40% of CPU to read, with <250ms seek time
•
Sound card outputting 44 kHz, 16-bit sound
•
Windows 3.11
2.3.5 SISTEM MULTIMEDIA Sebuah sistem multimedia adalah sistem yang mendukung lebih dari satu jenis media [AHD,1991]. 1. Kombinasi Media Sistem disebut sistem multimedia jika kedua jenis media (continuous/discrete) dipakai. Contoh media diskrit : teks dan gambar, dan media kontinu adalah audio dan video. 2. Independence Aspek utama dari jenis media yang berbeda adalah keterkaitan antar media tersebut. Sistem disebut sistem multimedia jika tingkat ketergantungan/ keterkaitan antar media tersebut rendah.
18
3. Computer-supported Integration Sistem harus dapat melakukan pemrosesan yang dikontrol oleh komputer. Sistem dapat diprogram oleh system programmer/ user. Sistem Multimedia dapat dibagi menjadi: 1. Sistem Multimedia Stand Alone Sistem ini berarti merupakan sistem komputer multimedia yang memiliki minimal storage (harddisk, CD-ROM/DVD-ROM/CD-RW/DVD-RW), alat input (keyboard, mouse, scanner, mic), dan output (speaker, monitor, LCD Proyektor), VGA dan Soundcard. 2. Sistem Multimedia Berbasis Jaringan Sistem ini harus terhubung melalui jaringan yang mempunyai bandwidth yang besar. Perbedaannya adalah adanya sharing sistem dan pengaksesan terhadap sumber daya yang sama. Contoh: video converence dan video broadcast Permasalahan: bila bandwidth kecil, maka akan terjadi kemacetan jaringan, delay dan masalah infrastruktur yang belum siap.
2.4 User Interface Interaksi manusia dan komputer adalah ilmu yang mempelajari tentangdesain interaktif antara manusia dengan komputer (Shneiderman &Plaisant,2010, p.4).
19
2.4.1 Delapan Aturan Emas Friendly dan interaktif, aturan ini telah dipakai selama dua dekade (Shneiderman, 2010, p88-89), 8 aturan itu adalah : 1. Berusaha Untuk Tetap Konsisten Konsistensi terhadap perancangan user interface dalam hal layout, pewarnaan, kapitalisasi, huruf harus dilakukan secara keseluruhan. 2. Melayani Kegunaan User Kebutuhan user yang beragam yang membuat desain sesuai kebutuhan user, perbedaaan-perbedaan seperti usia, cacat, variasi teknologi. Contohnya menambahkan fiturfitur tambahan terhadap user pemula sedangkan pada user ahli dengan memakai shortcut agar lebih cepat, jadi desain antarmuka dan kualitas sistem menjadi lebih baik. 3. Memberikan Feedback / Umpan Balik yang Informatif Adanya umpan balik terhadap aksi yang dilakukan oleh user agar tercipta suasana yang komunikatif. Semakin sering aksi digunakan maka respon yang diberikan sederhana, dan sebaliknya jika semakin jarang aksi digunakan, respon yang diberikan lebih komplit dan rinci. 4. Merancang Dialog Intuk Menghasilkan Keadaan Akhir Aksi dikelompokkan menjadi bagian awal, tengah dan akhir. Penting bagi seorang user untuk mengetahui kapan aksi yang dilakukannya telah berakhir, dan juga sebagai tanda agar user boleh melakukan aksi selanjutnya.
20
5. Memberikan Pencegahan dan Penanganan Error Sebuah sistem tidak mengijinkan user melakukan aksi yang salah yang menyebabkan error, oleh karena itu jika terjadi kesalahan maka interface harus mendeteksi kesalahan dan memberikan pengarahan sederhana, konstruktif dan spesifik agar user dapat memperbaiki kesalahannya itu. 6. Mengijinkan Pengembalian Aksi / undo Apabila user mengalami kesalahan ataupun tidak sengaja melakukan aksi yang tidak diinginkan, user dapat kembali ke aksi sebelumnya, fitur ini mengurangi kecemasan pada user. 7. Mendukung Pusat Pengendalian Internal User yang memiliki kontrol terhadap interface dan sistem akan meresponnya, user akan puas jika user dapat memegang kendali, sebaliknya tingkat kepuasan user akan menurun jika interface itu tidak dapat dikontrol. 8. Mengurangi Beban Ingatan Jangka Pendek Memberikan user interface sederhana dan mudah diingat dengan cara pengelompokan tampilan yang sejenis dan mengurutkannya, hal ini perlu diperhatikan karena manusia memiliki keterbatasan untuk mengingat sesuatu.
2.4.2. Faktor Manusia Terukur Hal-hal
yang perlu
dievaluasi
(Shneiderman dan Plaisant ,2010 ) :
dalam
merancang user
interface
21
1.
Waktu Untuk Belajar Rentang waktu yang dibutuhkan oleh seorang user untuk belajar menggunakan aksi-aksi yang sesuai dan relevan dengan pekerjaannya.
2.
Kecepatan Kinerja ( Efisiensi ) Rentang waktu yang dibutuhkan untuk menyelesaikan suatu pekerjaan.
3.
Tingkat Kesalahan Pengguna Jumlah dan bentuk kesalahan yang dilakukan oleh user dalam melakukan suatu pekerjaan.
4.
Daya Ingat Pengguna Setelah Jangka Waktu Tertentu Kemampuan user untuk mempertahankan pengetahuannya terhadap sistem, sehingga suatu saat user akan dengan mudah kembali ke sistem dan menggunakannya tanpa kesulitan
5.
Kepuasan Subyektif Pengguna Tingkat kepuasan dan ketertarikan user terhadap aspekaspek yang ada di dalam interface. Hasil tingkat kepuasan user bisa saja diketahui dari hasil survei dan kuisioner.
2.5 Storyboard Storyboard
adalah
sebuah
ilustrasi
seperti
komik,
yang
dapat
menghubungkan antara desainer dan programmer. Dalam storyboard, terdapat gambar yang akan menujukkan informasi yang diperlukan dan menggambarkan sebuah produk akhir yang akan dicapai. Dalam membuat animasi, biasanya
22
membutuhkan storyboard untuk menuangkan ide-ide yang dimiliki. (Simon 2007, p3-7) Menurut Vaughan (2011, p295) ada 2 jenis pendekatan dalam membuat storyboard,yaitu : 1. Storyboard yang berupa outline grafis yang menjelaskan secara detil dan terperinci pada setiap layar yang akan dibuat, baik pemilihan kata dan font, pemilihan warna, pemilihan navigasi, bentuk tombol, bayangan dan efek lainnya. Pendekatan storyboard jenis ini akan lebih cepat dikembangkan menjadi aplikasi yang siap digunakan. 2. Storyboard yang berupa sketsa-sketsa yang masih mentah atau tidak detil, dan akan baru dikembangkan sesuai dengan pengerjaan proyeknya secara langsung 2.6 Augemented Reality (AR) 2.6.1 Pengertian AR Menurut Ben Butchart dalam bukunya yang berjudul Augmented Reality for Smartphones (2011, p1-2), bahwa sangat banyak pengertian dari Augmented Realit. Tetapi secara umumnya, augmentede reality dapat memperkaya perspektif dengan memasangkan obyek virtual ke dalam dunia nyata dengan cara yang sebagaimananya sehingga yang melihatnya melihat seakan-akan obyek virtual tersebut adalah bagian dari lingkungan nyata. Dengan begitu Augmentede Reality dapat dinyatakan sebagai jembatan antara dunia nyata dan dunia virtual, seperti tampak pada ilustrasi dari Paul Milgram mengenai diagram continuum RealityVirtuality (RV) yang dapat kita lihat di bawah ini.
23
Gambar 2.1 Diagram RV
2.6.3 AR Location Based Tracking AR ini berbasiskan metode tracking pada informasi geolocation yang diterima dari sensor lokasi (longitude, latitude, altitude, compass bearing, accelerometer untuk membaca pitch dan roll) yang ada pada perangkat. Istilah ini digunakan untuk membuat perbedaan antara sistem yang hanya bergantung pada sensor lokasi dengan sistem yang dapat melacak obyek menggunakan teknik optik (image
recognition).
Location
based
tracking
biasanya
kurang
akurat
dibandingkan dengan metode optik dan hanya bekerja dengan baik pada lingkungan terbuka. (Butchart, Ben, 2011, p4)
2.6.3 Six Degrees of Freedom Mengacu pada kemampuan dari sistem tracking untuk menjaga keselarasan dari obyek dunia nyata dalam ruang tiga dimensi. Pada aplikasi AR untuk smartphones, six degrees of freedom adalah mungkin. Sensor lokasi memungkinkan untuk memberikan data kedepan/belakang dan kanan/kiri, atas/bawah (GPS) dan yaw (kompas) dan accelerometer dapat menunjukkan pitch
24
dan roll dari sebuah perangkat. Mirip seperti teknik image recognition yang dapat menghitung sudut dari orientasi yang diketahui. (Butchart, Ben, 2011, p4).
2.7 Android SDK ( Software Development Kit) Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk memulai mengenbangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Saat ini disediakab Android SDk sebagai alat batu dan API untuk mulai mengembangkan Aplikasi Platform Android menggunakan pemrograman Java.
2.8 ECLIPSE Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X
Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
25
Eclipse merupakan perangkat lunak yang bersifat open source, yang membuat
beberapa
orang
yakin
mengenai
hak-hak
hukum
ketika
menggunakannya. Perangkat lunak open source memberikan user akses terbuka ke kode sumber dari perangkat lunak dan hak untuk memodifikasi dan mendistribusikan perangkat lunak. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. Platform eclipse terdiri dari beberapa komponen: kernel platform, komponen workbench, komponen workspace, komponen team, dan komponen help. Skema arsitekturnya adalah sebagai berikut (Holzner, 2004:7):
Gambar 2.2 Arsitektur dari eclipse (Sumber: Eclipse. 2004:7) Tugas kernel platform adalah untuk mendapatkan segala sesuatu dimulai dan untuk memuat (load) plug-in yang dibutuhkan. Ini adalah komponen yang berjalan pertama kali ketika memulai eclipse. Komponen workbench merupakan graphical user interface dasar ketika bekerja dengan menggunakan eclipse. Komponen ini mempunyai beberapa macam toolbar dan menu untuk kita gunakan, dan tugasnya adalah untuk menampilkan item dan jendela internal. Workbench merupakan komponen yang paling dasar setelah kernel platform.
26
Ketika kita memulai eclipe, workbench akan menampilkan pesan selamat datang. Komponen workspace mengelola semua sumber daya untuk kita, yaitu semua yang kita simpan di disk atau terhubung ke pada mesin lain. Komponen team adalah plug-in yang mendukung kontrol versi di eclipse. Dalam kontrol versi, kode program dicek sesuai kebutuhan sehingga perubahan perangkat lunak dapat dilacak. Komponen help, sesuai dengan namanya, komponen ini memberikan bantuan (user guide). Ini merupakan dokumentasi sistem yang dapat diperluas (extensible) untuk memberikan bantuan. Ada banyak cara untuk belajar bahasa pemrograman java. Penulis percaya bahwa ada banyak keuntungan untuk belajar bahasa pemrograman java dengan menggunakan eclipse. Beberapa diantaranya tercantum di bawah ini:
Eclipse menyediakan sejumlah alat bantu yang membuat menulis kode java lebih cepat dan lebih mudah daripada menggunakan editor teks. Ini berarti bahwa kita dapat menghabiskan lebih sedikit waktu untuk mengetik kode
Debugger eclipse dan scrapbook memungkinkan kita untuk melihat ke dalam eksekusi kode java. Hal ini memungkinkan kita untuk ”melihat” objek-objek dan untuk memahami bagaimana java bekerja di belakang layar (Dexter, 2007:3) Platform eclipse menyediakan banyak plug-in untuk dijalankan dan
memasang plug-in - plug-in tersebut tidaklah terlalu sulit, plug-in - plug-in tersebut biasanya berbentuk .zip atau .tar. Untuk memasangnya ke eclipse, unzip file tersebut kemudian salin ke direktori plug-in eclipse dan restart eclipse (Holzner, 2004:142). Perlu dicatat bahwa meskipun eclipse dibuat dengan bahasa pemrograman java, platform tersebut dimaksudkan untuk menjadi bahasa yang
27
netral (language-neutral). Untuk mengembangkan (develop) di setiap bahasa pemrograman apapun, yang dibutuhkan adalah plug-in yang sesuai untuk bahasa pemrograman tersebut.
2.8.1 ECLIPSE PLUG-IN Seperti yang disebutkan sebelumnya, eclipse tidak hanya digunakan untuk bahasa pemrograman java. Fungsional itu sendiri dapat berbeda dari satu sama lain, tergantung pada plug-in yang terpasang. Plug-in tersebut memungkinkan eclipse untuk mengembangkan setiap bahasa pemrograman lain. Ada banyak plug-in eclipse yang tersedia, banyak yang gratis dan beberapa lainnya tidak. Sebagian besar plug-in harus diekstrak (unzipped) sebelum memasangnya. Namun beberapa mungkin harus di-instal secara online pada repositori yang terkait. Sangat dianjurkan untuk me-restart eclipse setelah berhasil memasang plug-in ke dalam eclipse. (Holzner, 2004:142).
2.9.2 ANDROID DEVELOPMENT TOOLS (ADT) Android Development Tools (ADT) adalah plug-in untuk IDE eclipse yang dirancang untuk programer dan pengembang (developer) dalam membuat aplikasi android. ADT memperluas kemampuan eclipse untuk membuat project berbasis android, membuat user interface aplikasi, menambahkan paket (package) berdasarkan pada Android Framework API, untuk memonitor eksekusi suatu aplikasi menggunakan SDK android, dan bahkan meng-export file android package (.apk) dalam rangka untuk mendistribusikan aplikasi android. ADT harus
28
dipasang kedalam platform eclipse, karena sebagai penghubung antara android SDK dengan IDE yang digunakan sebagai tempat koding aplikasi yang berbasis android.
2.10 JAVA Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems Inc dan dirilis tahun 1995. Bahasa pemrograman ini terlahir ketika perusahaan Sun Microsystem memulai Green Project, yakni proyek penelitian untuk membuat bahasa yang akan digunakan pada chip-chip embedded untuk customer electronic products. Bahasa tersebut haruslah multiplatform, tidak tergantung kepada vendor
yang
memanufaktur chip tersebut. Karena pada awalnya ditujukan untuk pemrograman device kecil. Java didesain sebagai bahasa pemrograman yang bebas dijalankan di mesin mana saja (machine-independent). Java memiliki karakteristik berukuran kecil, efisien dan portable untuk berbagai hardware. (Nimeyer dan Knudsen, 2005:1-2)
2.11 XML Extensible Markup Language adalah bahasa yang mendefinisikan sekumpulan aturan untuk pengkodean dokumen dalam format yang dapat dibaca oleh manusia (human-readable) dan dapat dibaca oleh mesin (machine-readable). XML adalah merupakan suatu bahasa Markup. Markup yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan tertentu untuk
29
memformat dokumen teks dengan tag sendiri agar dapat dimengerti. Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan tag pembuka (diawali dengan ”<” dan diakhiri dengan ”>”), tag penutup(diawali dengan ”” diakhiri ”>”) dan atribut elemen(parameter yang dinyatakan dalam tag
pembuka
misal
name=”isidata”>).
Hanya
bedanya,
HTML
medefinisikan dari awal tag dan atribut yang dipakai didalamnya, sedangkan pada XML kita bisa menggunakan tag dan atribut sesuai kehendak kita.
2.12 Android Android adalah sistem operasi yang berbasis Linux dan bersifat open source untuk telepon seluler seperti telepon pintar (smartphone) dan komputer tablet yang diciptakan oleh Google dan Open Handset Alliance. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. (Brunette, 2010:10). Android selalu diperbaharui (update) sejak rilis pertamanya. Pembaruan ini biasanya memperbaiki bug dan menambah fitur baru. Saat ini android telah berada di versi 4.2 dan berbasis kernel Linux versi 3.0.31.
30
2.12.1 ARSITEKTUR PERANGKAT LUNAK ANDROID Secara umum, arsitektur perangkat lunak android dapat digunakan berupa susunan struktural dari individu komponen sistemnya. Komponen penyusun perangkat lunak android terdiri dari beberapa tingkatan lapisan (layer) penyusun, dan keseluruhan dari semua lapisan disebut software stack.
Linux kernel Android bergantung pada kernel linux untuk layanan sistem ini seperti driver hardware, manajemen memori, manajemen proses, keamanan, network stack, dan power management. Kernel juga bertindak sebagai lapisan hardware dan seluruh software. Lapisan ini merupakan layer inti (core)dari sistem android berada.
Libraries Bertempat di level yang sama dengan android runtime. Android menyertakan satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem android. Kemampuan ini dapat diakses oleh programmer melewati android application framework. Sebagai contoh android mendukung pemutaran format audio, video, dan gambar.
31
Gambar 2.3 Arsitektur dari perangkat lunak sistem android (Sumber: Professional Android™ Application Development. 2009:13)
Android Runtime Lapisan setelah libraries adalah android runtime. Android runtime ini berisi corelibraries dan dalvik virtual machine. Core libraries mencakup serangkaian inti library java, artinya android menyertakan satu set librarylibrary dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada library-library dasar pemrograman java.
Application Framework Merupakan open development platform yang ditawarkan android untuk dapat dikembangkan guna membangun aplikasi. Pengembang (developer) memiliki
32
akses penuh menuju API framework sepeti yang dilakukan oleh aplikasi kategori inti. Komponen-komponen yang termasuk
dalam application
framework adalah sebagai berikut: servis berbasis lokasi, content provider, window manager, activity manager, package manager, telephony, P2P/IM, notification, views, resource manager.
Application Layer Semua aplikasi, baik yang aplikasi native, atau aplikasi pihak ketiga (third party application) dibangun diatas application layer menggunakan API library yang sama. Application layer berjalan didalam android runtime menggunakan kelas dan layanan yang disediakan dari application framework. Lapisan ini merupakan lapisan dimana kita berhubungan dengan aplikasi saja. Lapisan ini yang sering diakses. Fungsi-fungsi dasar tersebut dapat diakses melalui user interface.
2.12.2 KOMPONEN DASAR APLIKASI ANDROID Beberapa komponen dasar yang paling penting di dalam aplikasi android adalah activities, intents, services, dan content providers (Brunette, 2010:39-40). Berikut ini merupakan penjelasan masing-masing komponen:
2.12.2.1 ACTIVITY Activity adalah salah satu komponen aplikasi yang menyediakan sebuah layar yang mana user bisa berinteraksi dengan aplikasi, misalnya menelepon, mengambil foto, mengirim email, atau melihat peta. Setiap activity memiliki
33
window sebagai tempat meletakkan user interface. Window tersebut biasanya memenuhi layar, bisa juga lebih kecil dari layar dan melayang di atas window lain. Sebuah aplikasi biasanya terdiri dari beberapa activity yang satu sama lain terikat secara longgar. Biasanya, satu activity dalam sebuah aplikasi dikhususkan sebagai activity ”main” (activity utama), yang mana akan ditampilkan kepada user disaat aplikasi dijalankan pertama kali. Setiap activity kemudian bisa menjalankan activity lain untuk melakukan pekerjaan yang berbeda. Setiap kali ada activity baru dijalankan, activity sebelumnya dihentikan, tetapi sistem menyimpan activity tersebut di dalam ”tumpukan” (stack). Ketika sebuah activity dimulai, activity tersebut ditempatkan ditempatkan paling atas pada stack dan mendapatkan fokus dari user. Prinsip antrian stack pada dasarnya adalah ”yang pertama masuk, yang terakhir keluar” (last in first out), jadi ketika user selesai dengan sebuah activity dan menekan tombol BACK, activity tersebut dikeluarkan dari stack (dan dihancurkan) dan activity pada stack dibawahnya dikembalikan.
Gambar 2.4 Siklus hidup dari sebuah activity
34
(Sumber: Hello, Android - Introducing Google’s Device Platform. 2010:37) Siklus hidup dari sebuah activity terpengaruh secara langsung oleh hubungan activity tersebut dengan activity lain, tugasnya (task), dan tumpukan pada memori (back stack). Sebuah activity bisa dalam keadaan sebagai berikut:
onCreate(): Metode ini terpanggil ketika activity pertama kali dijalankan.
onStart(): Metode ini menunjukkan activity akan ditampilkan ke user
onResume(): Metode ini terpanggil ketika activity mendapatkan fokus dari user dan berinteraksi dengan user.
onPause(): Metode ini terpanggil ketika activity akan pergi ke background dan user meninggalkan activity (meskipun tidak selalu activity tersebut akan
dihancurkan),
biasanya
karena
activity
lain
telah
diluncurkan/dijalankan didepan activity tersebut.
onStop(): Metode ini terpanggil ketika activity tidak lagi terlihat oleh user dan tidak akan diperlukan untuk sementara waktu serta bisa di-kill oleh sistem sewaktu-waktu jika memori dubutuhkan untuk proses lain.
onRestart(): Jika metode ini terpanggil, maka hal tersebut mengindikasikan activity sedang ditampilkan kembali ke user dari keadaan onStop().
onDestroy(): Metode ini terpanggil tepat sebelum activity dihancurkan.
2.12.2.2 INTENT Sebuah aplikasi android dapat berisi satu atau lebih activity. Jika aplikasi kita
lebih
dari
satu
activity,
kita
mungkin
perlu
untuk
menavigasikan/memindahkan dari satu activity ke activity lainnya. Jika kita
35
memindahkan dari satu activity ke activity lainnya maka inilah yang disebut dengan intent. (Lee, 2011:43). Android menggunakan kelas spesial yang disebut intent untuk berpindah dari activity satu ke activity lain. Dua bagian yang paling penting dari struktur data intent adalah sebuah aksi dan sebuah data untuk bertindak berdasarkan aksi tersebut. Data tersebut diungkapkan sebagai Uniform Resource Identifier (URI). URI merupakan sebuah karakter string digunakan untuk mengidentifikasi nama atau resource pada sebuah intent.
2.12.2.3 SERVICE Service merupakan tugas (task) yang berjalan di background tanpa interaksi dengan user secara langsung. Sebagai contoh yaitu aplikasi pemutar musik. Musik telah dijalankan oleh suatu activity, tetapi kita menginginkan musik itu tetap berjalan ketika kita berpindah ke aplikasi yang berbeda. Jadi, sebuah kode program yang tetap menjalankan musik di belakang layar merupakan sebuah kode program yang berjalan di service android.
2.12.2.4 ANDROID MAINFEST Android manifest (AndroidManifest.xml) adalah file yang diperlukan untuk setiap aplikasi android. Android manifest terletak di folder root aplikasi dan menjelaskan informasi mengenai aplikasi tersebut, seperti versi dari aplikasi, nama package, tingkatan SDK yang digunakan, beserta icon dan nama yang diberikan untuk aplikasi. Android manifest digunakan sebagai pengatur activityactivity yang terdapat pada aplikasi.
36
Gambar 2.4 Contoh sederhana AndroidManifest.xml Hampir setiap android manifest menyertakan deklarasi namespace (xlmns:android=http://schemas.android.com/apk/res/android) di elemen pertama. Hal tersebut membuat berbagai atribut standar dalam file, yang akan digunakan untuk menyediakan sebagian besar data untuk elemen dalam file tersebut. Sintaks ”xlmns” mengacu pada XML NameSpace. Ketika menggunakan prefix di XML, namespace untuk prefix harus didefinisikan. Namespace didefinisikan oleh atribut xlmns dalam tag awal sebuah elemen. Deklarasi namespace memiliki sintaks sebagai berikut. xlmns:prefix=”URI” Android manifest harus berisi satu tag
, dimana tag tersebut mengandung beberapa tag-tag lain untuk mendeskripsikan activity, permission, service, dan lain-lain yang berada di aplikasi tersebut.
2.12.2.5 RESOURCE PADA ANDROID Antarmuka pengguna atau User Interface (UI) di Android dapat dibangun dengan dua cara, yakni dengan mendefinisikan XML atau dengan menulis kode Java. Mendefinisikan struktur Graphical User Interface (GUI) dalam XML sangat dianjurkan, karena sebagai salah satu dari prinsip Model-View-Control, dimana
37
UI haruslah selalu terpisah dari logika program. Tata letak yang berbasis XML adalah spesifikasi hubungan widget satu sama lain dan kontainer dalam format XML. Android menjadikan XML sebagai basis layout untuk menjadikannya resources, dan disimpan dalam direktori res/layout dalam project android. Resources merupakan file eksternal yang digunakan oleh kode program dan dikompilasi pada saat membangun aplikasi. Android mendukung beberapa jenis file yang berbeda sebagai resources, yakni file XML, PNG, dan file JPEG. (Gramlich, 2008:29). Tipe-tipe resources dan tempatnya:
File layout ”res/layout/”
Gambar ”res/drawable/”
Animasi ”res/anim/”
Styles, strings, dan array ”res/values/”
Raw file seperti audio dan video ”res/raw/”
2.13 UML ( Unified Modelling Language ) UML adalah alat menggambarkan gambaran visual dari sistem yang akan dibuat melalui diagram dan simbol. UML menggunakan konsep Pemrograman Berorientasi Objek ( Object Oriented Programming ). melalui seperangkat diagram , UML menyediakan standart yag memmungkinkan sistem analis untuk merancang berbagai sudut pandang sistem yang dinamakan model ( Schmuller, 1999:Hour 1 )
38
2.13.1 Use Case Diagram Use case diagram menggambarkan fungsionalitas dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah Use case diagram merepresentasikan sebuah interaksi antara pengguna sistim dengan sistem. Use case diagram mengambarkan sebuah pekerjaan tertentu, misalnya login ke sistem, membuatsebuah daftar belanja, dan sebagainya. Aktor adalah sebuah entitas manusia atau sistem yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Notasi-notasi yang digunakan dalam pemodelan diagram use case dapat dilihat pada Tabel 2.2 adalah:
Tabel 2.2. Notasi Use CaseDiagram Notasi
Deskripsi
Aktor, yang digunakan untuk menggambarkan pelaku atau pengguna. Pelaku ini meliputi manusia atau sistem komputer atau subsistem lain yang memiliki metode untuk melakukan sesuatu. Contoh: Manager, Pelanggan, dan lain-lain.
Use
case,
spesifikasi deskripsi
digunakan pekerjaan pekerjaan
untuk (job (job
menggambarkan
specification) description),
dan serta
keterkaitan antar pekerjaan (job). Contoh: pesan barang, menutup pintu, dan lain-lain.
39
Aliran
proses
(relationship),
digunakan
untuk
menggambarkan hubungan antara use case dengan use case lainnya.
Aliran perpanjangan (extension point), digunakan untuk menggabbarkan hubungan antara use case dengan use case yang diperpanjang (extended use case) maupun dengan use case yang dimasukkan (included use case).
Aliran yang digunakan untuk menggammbarkan hubungan antara actor dengan use case.
<<extended>>
Kondisi yang mendeskripsikan apa yang terjadi antara use case dengan use case yang diperpanjang.
Include adalah kondisi aliran proses langsung <>
(directed relationship) antara dua use case yang secara
tak
langsung
menyatakan
kelakuan
(behaviour) dari use case yang dimasukkan. Adalah kondisi yang mendeskripsikan apa yang <>
terjadi antara actor dengan use case.
40
2.13.2 Activity Diagram
Activity diagram merupakan bagian dari model dinamis yang digunakan untuk menggambarkan work flow / proses sistem kita. Diagram ini menunjukkan bagaimana suatu proses dimulai, kemudian alur proses dari tiap keputusan yang ada hingga berakhirnya proses. Serta diagram ini juga memungkinkan untuk menampilkan proses yang terjadi secara pararel. Activity diagram memungkinkan siapapun yang melakukan proses untuk memilih urutan dalam melakukannya. Dengan kata lain, diagram hanya menyebutkan aturan-aturan rangkaian dasar yang harus kita ikuti. Hal ini penting untuk pemodelan bisnis karena proses-proses sering muncul secara paralel.
Notasi-notasi yang digunakan dalam pemodelan diagram aktifitas dapat dilihat pada Tabel 2.3
Tabel 2.3 Notasi Activity Diagram No. 1.
Notasi
Keterangan Aktifitas, digunakan untuk menggambarkan aktifitas dalam diagram aktifitas.
2.
Node keputusan (decision node), digunakan untuk menggambarkan kelakuan pada kondisi tertentu.
3.
Titik awal, digunakan untuk menggambarkan awal dari diagram aktifitas.
41
4.
Titik akhir (final acton), digunakan untuk menggambarkan akhir dari diagram aktifitas.
5.
Akhir alur (flow final), digunakan untuk menghancurkan semua tanda yang datang dan tak memiliki efek alur dalam aktifitas.
6.
Aksi (action), digunakan untuk menggambarkan alur antara aksi dengan aksi, titik awal dengan aksi, atau aksi dengan titik akhir.
7.
Aksi penerimaan kejadian (accept event action), sebuah aksi yang menunggu sebuah kejadian dari suatu peristiwa bertemu kondisi yang spesifikasi.
8.
DataStore digunakan untuyk menjaga agar <>
semua tanda yang masuk dan menduplikasinya saat mereka dipilih untuk pindah ke
alur
selanjutnya (downstream). 9.
Node fork memiliki satu aksi yang masuk dan beberapa aksi yang keluar.
10.
Join node digunakan untuk menggambarkan beberapa aksi yang masuk dan satu aksi yang keluar.
42
2.13.3 Sequence Diagram Sebuah diagram sequence secara khusus menjabarkan aktifitas sebuah skenario tunggal. Diagram tersebut menunjukkan sebuah objek contoh dan pesanpesan yang melewati objek-objek di dalam ese case diagram (Fowler, 2005:81).Diagram sequence menggambarkan interaksi dengan menampilkan setiap partisipan dengan garisalir secara vertikal dan pengurutan pesan dari atas ke bawah. Diagram sequence biasa digunakan untuk mnggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian (event) untuk menghasilkan output tertentu. Di awali 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 aktor memiliki lifeline vertikal. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Notasi-notasi yang digunakan dalam pemodelan sequence diagram terlihat dalam Tabel 2.4
Tabel 2.4 Notasi Diagram Sequence (Fowler, 2005:81) Notasi
Keterangan Aktor Merupakan sebuah peran yang dimainkan seseorang pengguna dalam kaitannya dengan sistem. Activation Menggambarkan waktu yang dibutuhkan suatu objek untuk menyelesaikan suatu aktivitas
43
Kelas Entitas Memodelkan informasi yang harus di simpan oleh sistem
Kelas .. Adalah yang memodelkan interaksi antara satu atau lebih aktor dengan sistem.
Kelas Kontrol Digunakan untuk memodelkan “perilaku mengatur”, khusus untuk satu atau beberapa use case saja.
Lifeline Digambarkan
dengan
garis
putus-putus,
yang
menggambarkan bahwa hadirnya objek terhadap waktu.
Aliran Pesan Digambarkan
dengan
tanda
panah,
menggambarkan komunikasi antar objek.
yang
44
2.14 LUTHER Dalam melakukan pengembangan perangkat lunak begitu banyak pilihan metodologi yang akan digunakan sebagai tata cara yang menentukan proses apa yang akan digunakan, tetapi tidak semua dapat diterapkan pada pengembangan rekaya perangkat lunak berbasis multimedia. Salah satu metodologi yang dapat digunakan untuk pengembangan rekaya perangkat lunak berbasis multimedia adalah metode Luther. Metodologi pengembangan rekayasa perangkat lunak berbasis multimedia terdiri dari 6 tahapan, yaitu konsep (concept), perancangan (design), pengumpulan materi (material collecting), pembuatan (assembly), pengujian (testing), dan distribusi (distribution), seperti gambar berikut ini : [8]
Gambar 2.6 TahapanMetode Luther
45
1.
Konsep (concept) Tahap Konsep adalah tahapan untuk menentukan tujuan dan siapa
pengguna aplikasi (identifikasi audience). Selain itu menentukan jenis aplikasi (presentasi, interaktif, game, dll) dan tujuan aplikasi (hiburan, pelatihan, pembelajaran, dll). 2.
Perancangan (design) Perancanganadalah tahapan membuat spesifikasi mengenai arsitektur
program, gaya, tampilan dan kebutuhan material/bahan untuk program. Spesifikasi dibuat serinci mungkin sehingga pada tahap berikutnya, yaitu pengumpulan bahan dan pembuatan, pengambilan keputusan baru tidak diperlukan lagi, cukup menggunakan keputusan yang sudah ditentukan pada tahap ini. Meskipun demikian, pada praktiknya, pengerjaan proyek pada tahap awal masih akan sering mengalami penambahan bahan atau pengurangan bagian aplikasi, atau perubahan-perubahan lain. Tahap ini biasanya menggunakan storyboard untuk menggambarkan deskripsi tiap scene, dengan mencantumkan semua objek multimedia dan tautan ke scene/frame lain dan bagan alir (flowchart) untuk menggambarkan aliran dari satu scene ke scene lain. Pembuatan storyboard dapat menggunakan cara pembuatan storyboard film/animasi. Pada bagian storyboard dapat dilihat komponen yang terdapat dalam suatu scene dengan penjelasan yang diperlukan.
46
3.
Pengumpulan Materi (material collecting) Pengumpulan Materi adalah tahap dimana pengumpulan bahan yang
sesuai dengan kebutuhan yang dilakukan. Tahap ini dapat dikerjakan secara paralel dengan tahap Pembuatan (assembly). Pada beberap kasus, tahap Pengumpulan Materi dan tahap Pembuatan akan dikerjakan secara linear tidak paralel. 4.
Pembuatan (assembly) Tahap Pembuatan adalah tahap dimana semua objek atau bahan
multimedia
dibuat.
Pembuatan
aplikasi
didasarkan
pada
tahap
Perancangan seperti storyboard dan flowchart. Tahap ini biasanya menggunakan
perangkat
lunak
authoring,
seperti
Adobe
Flash
Professional CS5 dan lain-lain. 5.
Pengujian (testing) Dilakukan setelah selesai tahap pembuatan (assembly) dengan
menjalankan aplikasi/program dan dilihat apakah ada kesalahan atau tidak. Tahap pertama pada tahap ini disebut tahap pengujian alpha (alpha test) yang pengujiannya dilakukan oleh pembuat atau lingkungan pembuatnya sendiri. Setelah lolos dari pengujian alpha, pengujian beta (beta test) yang melibatkan pengguna akhir akan dilakukan.
2.15 BLACKBOX TESTING
47
Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan mempresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean. (Pressman, 2002: 525). Terdapat 2 macam bentuk pendekatan test/pengujian :
Pengujian Black Box Pengujian Black Box berfokus pada persyaratan fungsional perangkat lunak. Pengujian ini memungkinkan analis sistem memperoleh kumpulan kondisi masukan yang akan mengerjakan seluruh keperluan fungsional program. Proses yang terdapat dalam pengujian black box: 1.
Pembagian kelas data untuk pengujian tiap kasus pengujian white-box.
2.
Analisis batasan nilai yang berlaku untuk setiap data. Tujuan metode ini mencari kesalahan pada :
1.
Fungsi yang salah atau hilang.
2.
Kesalahan pada interface.
3.
Kesalahan pada struktur data atau akses basis data.
4.
Kesalahan performansi.
5.
Kesalahan insialisasi dan tujuan akhir.
48
Pengujian Black Box dirancang untuk menjawab pertanyaan sebagai berikut : 1.
Bagaimana validitas fungsional diuji
2.
Apa kelas input yang terbaik untuk uji coba yang baik
3.
Apakah sistem sangat peka terhadap nilai input tertentu
4.
Bagaimana jika kelas data yang terbatas dipisahkan
5.
Bagaimana volume data yang dapat ditoleransi oleh sistem?
6.
Bagaimana pengaruh kombinasi data terhadap pengoperasian sistem