1 BAB 2 TINJAUAN PUSTAKA 2.1 Teori Umum Dalam penulisan skripsi ini terdapat teori-teori yang menjadi landasan utama dan dijelaskan seperti berikut in...
Dalam penulisan skripsi ini terdapat teori-teori yang menjadi landasan utama dan dijelaskan seperti berikut ini.
2.1.1 Multimedia
Multimedia adalah beberapa kombinasi dari teks, gambar, suara, animasi dan video dikirim ke anda melalui komputer atau alat elektronik lainnya atau dengan manipulasi digital (Vaughan, 2011:1). Dari definisi diatas, pengertian multimedia secara umum adalah alat atau sarana yang menggabungkan beberapa elemen media berupa teks, gambar, suara, animasi, dan video yang dapat dimanipulasi secara digital menggunakan komputer dan bersifat dinamis dan interaktif.
2.1.1.1 Lima Elemen Multimedia
Komponen multimedia terbagi atas lima jenis (Vaughan, 2011:19 – 164), yaitu : a. Teks Teks adalah rangkaian dari beberapa kata yang disusun secara efektif untuk membuat pembaca dapat mengerti pesan yang disampaikan. 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 user, sehingga penyampaian informasi akan lebih mudah dimengerti oleh masyarakat. Jenis-jenis teks seperti Printed Text, yaitu 9
10 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. Hypertext yaitu jenis teks yang memberikan link ke suatu tempat / meloncat ke topik tertentu. Teks memiliki atribut-atribut yang umum, yaitu : 1. Typical font style: bold, italic, dan underline. 2. Size: didefinisikan dalam point (pt). 72 pt = 1 inch. 3. Leading: spasi antar baris. 4. Kerning: spasi antar karakter. 5. Alignment: kerataan teks (justified, left, right, atau center). b. Grafis/Gambar (Image) Gambar merupakan elemen multimedia untuk menyampaikan informasi atau pendeskripsian suatu objek yang berbentuk visual. Dengan menggunakan gambar, user lebih mudah menangkap informasi yang tidak dapat dijelaskan dengan kata-kata. Selain itu, gambar dapat menjadi suatu daya tarik bagi user untuk memakai aplikasi. Oleh karena itu, banyak gambar diolah dalam bentuk digital agar memudahkan penyebaran informasi melalui internet. Dalam bentuk apapun, gambar secara umum dikenali dalam 2 bentuk oleh komputer yaitu bitmap (atau gambar grafis) dan vector (atau gambar “plain”) (Vaughan, 2011:70). Bitmap merupakan gambar yang terdiri dalam bentuk titik-titik segiempat yang dikenal sebagai pixel. Kualitas gambar yang terbuat dari bitmap dipengaruhi oleh resolusi yang menentukan ketajaman suatu gambar. Resolusi adalah kerapatan antara satu pixel dengan pixel lainnya. Resolusi biasanya diartikan sebagai ukuran panjang dan lebar suatu media, namun resolusi bisa juga diartikan sebagai banyaknya warna atau titik warna dalam satuan ukuran tertentu. Jadi gambar bitmap akan terlihat pecah dan buram jika diperbesar melewati batas toleransi gambar. Format gambar bitmap yang paling umum digunakan adalah BMP, PCX, TIFF. JPEG, GIF, PSD, PNG, dan lain lain. Vector adalah gambar yang dibuat dalam bentuk persamaan yang bersifat matematis. Gambar vector menggabungkan titik dan garis untuk
11 menjadi sebuah objek, sehingga gambar tidak menjadi pecah biarpun diperbesar atau diperkecil, tidak seperti gambar bitmap. Gambar bertipe vector terbentuk dari garis dan kurva hasil dari perhitungan matematis dari beberapa titik, sehingga membentuk dan menampilkan suatu objek gambar tersebut. Walaupun bersifat relatif lebih kaku daripada tampilan bitmap, kualitas gambar vector tidak bergantung kepada resolusi gambar. Oleh karena itu, gambar vector tidak akan terlihat pecah atau buram jika diperbesar. Format gambar vector yang paling umum digunakan adalah AI, CDR, FH, EPS. c. Suara Salah satu elemen yang sering digunakan dalam multimedia adalah suara. Suara merupakan gelombang mekanis yang terjadi melalui suatu mediun yang diukur dengan satuan decibel (dB). Suara berfungsi untuk menghibur dan memberi kesan yang lebih realitis pada suatu situasi. Selain itu, suara dapat menarik perhatian user misalnya dalam reminder diberikan suara agar ketika berbunyi user dapat mengetahui jika ada sesuatu yang perlu diingat. Suara dapat diciptakan melalui pita suara manusia, alat musik, hewan, dan lain-lain. Seiring dengan perkembangan zaman, suara tidak hanya dapat dihasilkan oleh suatu sumber, tetapi juga dapat dimanipulasi oleh komputer. Hasil manipulasi dari komputer dapat disebut sebagai digital audio. Digital audio dibuat ketika menciptakan karakteristik dari suara gelombang dengan menggunakan angka-proses yang disebut sebagai digitalisasi (Vaughan, 2011:106). Dengan kehadiran digitalisasi, suara apapun dapat dimanipulasi dari microphone, synthesizer, alat rekaman, disc compact, ataupun dari sumber suara itu sendiri misalnya manusia. Kualitas perekaman digital ini tergantung pada seberapa sering sampel yang diambil (sampling rate atau frekuensi, diukur dalam kilohertz, atau ribuan sampel per detik) dan berapa banyak angka yang digunakan untuk mewakili nilai masing-masing sampel (bit depth, sample size, resolusi, atau dynamic range) (Vaughan, 2011:106). Jadi semakin banyak data sampel yang diambil maka semakin bagus suara yang dihasilkan dalam proses digitalisasi.
12 Format audio dibagi dalam 2 jenis, yaitu : 1. Analog Suara
yang
berasal
dari
gelombang
elektromagnetis.
Gelombang elektromagnetis merupakan gelombang yang berasal dari tekanan udara atau getaran yang berasal disekitar manusia. Suara
analog
biasanya
dipakai
sebagai
sampling
untuk
menghasilkan suara digital. 2. Digital Harmonisasi
bunyi
yang
dibuat
melalui
perekaman
konvensional maupun suara sintetis yang disimpan dalam media berbasis teknologi komputer. Format digital dapat menyimpan data dalam jumlah besar, jangka panjang dan berjaringan luas. Suara digital ditentukan dalam angka ‘0’ dan ‘1’. MIDI atau Musical Instrumental Digital Interface merupakan cara merekam music secara efisien dan paling umum digunakan. MIDI merekam informasi kinerja yang dibutuhkan chip suara komputer untuk memainkan musik. Hal-hal yang perlu diperhatikan dalam memasukan elemen suara pada multimedia adalah (Vaughan, 2011:124-125) : − Menentukan format file yang sesuai − Menentukan kapabilitas pemutaran suara dari user akhir − Memutuskan suara – suara yang dibutuhkan − Memutuskan kapan dan dimana memakai suara − Mencari material sumber suara − Mengedit suara sesuai dengan kebutuhan − Menguji suara agar sesuai dengan multimedia yang akan dibuat d. Video Video menyediakan sumber yang kaya dan hidup untuk aplikasi multimedia. Dengan video dapat menerangkan hal-hal yang sulit digambarkan
lewat
kata-kata
atau
gambar
diam
dan
menggambarkan emosi dan psikologi manusia secara lebih jelas.
dapat
13 Video terbagi dalam dua macam yaitu : 1. Analog Video Analog video merupakan bentuk video yang disimpan secara analog dalam pita magnetik. Video dalam bentuk analog sering digunakan dalam bidang broadcasting atau siaran televisi. Analog video dibagi dalam tiga macam, yaitu: − NTSC Sistem televisi analog yang digunakan di Amerika Serikat dan banyak negara lainnya, termasuk Amerika dan beberapa bagian Asia Timur. Namanya berasal dari National Television System(s) Committee, badan industri pembuat standar yang menciptakannya. NTSC dikembangkan pada tahun 1950, yang mendefinisikan standar video yang dibuat sampai 525 garis scan horizontal setiap 1/30 detik. − PAL PAL merupakan singkatan dari phase-alternating line, phase alternation by line atau phase alternation line, adalah sebuah encoding berwarna digunakan dalam sistem televisi broadcast, digunakan di seluruh dunia kecuali di kebanyakan Amerika, beberapa di Asia Timur (yang menggunakan NTSC), sebagian Timur Tengah dan Eropa Timur, dan Perancis (yang menggunakan SECAM, walaupun kebanyakan dari mereka telah memulai proses menggunakan PAL). PAL dikembangkan di Jerman oleh Walter Bruch, yang bekerja di Telefunken, dan pertama kali diperkenalkan pada 1967. − SECAM SECAM (Séquentiel couleur à mémoire, dalam bahasa Perancis yang berarti "Sequential Color with Memory") adalah sistem televisi analog yang digunakan di Perancis dan beberapa negara lainnya, termasuk Rusia dan beberapa negara Eropa timur. Sistem yang dikembangkan oleh sebuah tim dengan ketuanya, Henri de France, ini merupakan standar video analog yang pertama di Eropa.
14 2. Digital Video Digital video adalah penyimpanan file secara digital dan dapat dikompresi untuk memperkecil ukuran video. e. Animasi Animasi adalah simulasi gerakan yang dihasilkan dengan menayangkan rentetan gambar dari frame ke layer. Frame adalah satu gambar tunggal pada rentetan gambar yang membentuk animasi. Animasi menggunakan komputer dibagi menjadi tiga bagian yaitu: − Animasi 2D Animasi ini sederhana dan statis, tidak mengubah posisi mereka pada layar. Pada animasi 2D, perubahan visual yang terjadi terdapat di bidang cartesius x dan y pada layar. Contoh dari animasi 2D adalah logo yang berganti warna, animasi sel, tombol yang berubah ketika didekati. Path animation dalam animasi 2D meningkatkan kompleksitas animasi, menyediakan gerakan-gerakan, serta mengubah lokasi gambar selama di jalur dan waktu tertentu. − Animasi 2,5D Pada animasi 2,5D terdapat ilusi kedalaman (sumbu z) yang ditambahkan ke dalam gambar dengan memberikan bayangan dan highlight, namun gambar tersebut masih berada di bidang datar x dan y dalam dua dimensi. Pemberian efek embos, bayangan, bevel, dan highlight membangun ilusi kedalaman dengan membuat objek timbul atau memotongnya di dalam background. − Animasi 3D Dalam animasi 3D, perubahan atau gerakan dihitung dalam tiga sumbu (x, y, z). Hal ini membuat objek yang diciptakan tampak dari depan, belakang, samping, atas, dan bawah, dan mengijinkan user untuk menjelajahi dan melihat seluruh bagian objek dari semua sudut. Saat ini pengembangan animasi 4D menggunakan komputer sedang dijalankan untuk menghasilkan visual yang terlihat lebih nyata. Banyak film mulai menggunakan 4D untuk visualnya. Dalam animasi, terdapat teknik yang umum digunakan pada pembuatannya yaitu:
15
− Animasi Sel Animasi
sel
membuat
objek
bergerak
dengan
menampilkan sejumlah seri gambar yang disebut dengan frame, dimana satu menit animasi membutuhkan kurang lebih 1440 frame. Selanjutnya objek akan diletakkan ke dalam lokasi yang disebut dengan layer dan akan terlihat seolah tampak bergerak. Animasi sel dimulai dengan keyframe dimana frame pertama dan terakhir dari sebuah aksi. − Animasi Komputer Animasi komputer menerapkan konsep yang sama dengan animasi sel. Namun pada animasi komputer, tidak perlu menggambar frame satu per satu. Komputer akan membantu pembuatan animasi secara otomatis dengan mengetahui posisi awal dan posisi akhir.
2.1.2 Perancangan Antarmuka
Selain melihat sisi multimedia yang dirancang, tampilan atau lebih sering disebut dengan nama perancangan antarmuka atau user interface, harus diperhatikan dengan seksama. Perancangan user interface dibuat secara sederhana tetapi menarik.
2.1.2.1 Delapan Aturan Emas
Dalam perancangan user interface terdapat delapan aturan yang menjadi dasar perancangan yang baik (Shneiderman: Plaisant, 2010:88). Delapan aturan itu dikenal sebagai eight golden rules of interface design. Isi dari delapan aturan interface design yakni : a. Konsistensi Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. Dalam perancangan user interface, konsistensi dibutuhkan agar user tidak bingung saat melihat tampilan atau menggunakan aplikasi.
16
b. Memungkinkan user menggunakan shortcut Shortcut merupakan kebutuhan dari user yang sudah ahli untuk meningkatkan kecepatan interaksi sehingga memerlukan singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas makro. Jadi penggunaan aplikasi menjadi lebih efektif dan efisien bagi user. c. Memberikan umpan balik yang informatif Dalam setiap tindakan operator, suatu sistem sebaiknya disertakan umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi ketika tindakan merupakan hal yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. d. Merancang dialog untuk menghasilkan suatu penutupan Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan meberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. e. Memberikan penanganan kesalahan yang sederhana Sedapat mungkin sistem dirancang sehingga user tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan. f. Mudah kembali ke tindakan selanjutnya Hal ini dapat mengurangi kekhawatiran user karena user mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga tidak perlu takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. Dengan kemudahan seperti ini, jika ada kesalahan ditengahtengah maka user tidak perlu mengulang dari awal. g. Mendukung tempat pengendali internal User ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan user dibandingkan jika user merasa bahwa sistem mengontrol user. Sebaiknya sistem dirancang sedemikan rupa sehingga user menjadi inisiator daripada responden.
17
h. Mengurangi beban ingatan jangka pendek Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode, mnemonic, dan urutan tindakan.
2.1.2.2 Lima Faktor Manusia Terukur
Ada lima faktor penting yang menjadi dasar untuk evaluasi, yaitu : a. Waktu Belajar (Time to Learn) Waktu belajar merupakan faktor dimana dapat melihat berapa lama waktu yang digunakan user dalam mempelajari sekumpulan perintah untuk suaru tugas. Oleh karena itu, sistem dibangun sesederhana mungkin sehingga user cepat memahami penggunaan aplikasi. b. Kecepatan Kinerja (Speed of Performance) Kecepatan kinerja suatu proses harus dimaksimalkan agar user mendapatkan informasi secepat mungkin. Dengan informasi yang cepat, maka user tidak perlu menunggu lama dan dapat menjalan tugas yang diberikan oleh user. c. Tingkat Kesalahan Pengguna (Rate of Errors by Users) Tingkat kesalahan pengguna bertujuan untuk melihat jumlah kesalahan dan jenis kesalahan apa yang dilakukan oleh user dalam menyelesaikan suatu tugas. Sistem tersebut harus memiliki tingkat kesalahan yang serendah mungkin saat digunakan oleh user. d. Daya Ingat (Retention Over Time) Daya ingat berhubungan dengan waktu belajar dan frekuensi dalam penggunaan sistem. Semakin sering sistem digunakan oleh user, maka semakin mudah bagi user untuk mengingat sistem tersebut. Sistem yang mudah digunakan membuat user dapat waktu belajar yang singkat. e. Kepuasan Pengguna (Subjective Satisfaction)
18 Kepuasan pengguna adalah faktor dimana dapat melihat tingkat kepuasan user terhadap berbagai aspek dari sistem. Kepuasan subyektif user dilihat dari hasil wawancara atau kuesioner yang disebarkan.
2.1.3 Storyboard
Salah satu tindakan yang tidak pernah lepas dalam membuat atau merancang sesuatu adalah storyboard. Storyboard mirip dengan buku komik, storyboard menceritakan cerita yang dalam bentuk seri dari gambar - gambar. Setiap sudut pandang kamera diberikan sketsa gambar sederhana beserta deskripsinya (Habgood, Nielsen, Crossley, dan Rijks, 2010:214). Storyboard merupakan serangkaian sketsa yang mendeskripsikan setiap konten dari urutan layar multimedia. Jadi secara umum, storyboard adalah sketsa perencanaan secara umun dari suatu pembuatan proyek yang disusun berurutan dan memiliki penjelasan singkat tentang detail gambar. Dengan bantuan storyboard, penyampaian ide yang dipikirkan akan lebih mudah dimengerti oleh orang lain.
Gambar 2.1 Contoh Storyboard (H abgood et al., 2010:214)
2.1.4 Rekayasa Perangkat Lunak
19
Rekayasa perangkat lunak adalah pembentukan dan penggunaan prinsipprinsip pengembangan suara untuk memperoleh perangkat lunak secara ekonomis yang dapat diandalkan dan bekerja secara efisien pada mesin nyata (Pressman, 2010:13). Definisi tersebut yang lebih komprehensif telah dikembangkan oleh IEEE (Institute of Electrical and Electronics Engineers) yaitu : 1. Aplikasi dari sebuah pendekatan kuantifiabel, disiplin, dan sistematis kepada pengembangan, operasi, dan pemeliharaan perangkat lunak. 2. Studi terhadap pendekatan-pendekatan seperti pada butir pertama.
Gambar 2.2 Lapisan – lapisan Rekayasa Peranti Lunak (Pressman, 2010:14)
Dasar dari rekayasa perangkat lunak adalah lapisan – lapisan proses. Lapisan – lapisan proses tersebut, yaitu : a. Tools (Peralatan) Alat rekayasa perangkat lunak memberikan dukungan otomatis atau semi otomatis untuk proses dan metode. Ketika alat-alat yang terintegrasi, sistem untuk mendukung pengembangan perangkat lunak computer-aided software engineering dibuat sehingga informasi yang dibuat oleh salah satu alat dapat digunakan oleh yang lain. b. Methods (Metode) Metode meliputi komunikasi, analisis persyaratan, pemodelan desain, konstruksi program, testing, dan dukungan. metode rekayasa perangkat lunak bergantung pada satu set prinsip-prinsip dasar yang mengatur setiap area teknologi dan kegiatan pemodelan lnclude dan teknik deskriptif lainnya.
20 c. Process (Proses) Proses perangkat lunak membentuk dasar bagi kontrol manajemen proyek perangkat lunak dan menetapkan konteks di mana metode teknis yang diterapkan, produk kerja (model, dokumen, data, laporan, formulir, dan lain – lain) diproduksi, tonggak ditetapkan, kualitas terjamin, dan perubahan dikelola dengan baik. d. A Quality Focus (Fokus pada Kualitas) Fokus pada kualitas adalah lapisan paling dasar yang harus dilakukan. Saat membuat aplikasi, developer harus mengetahui kualitas seperti apa yang harus digunakan, siapa yang akan menggunakan dan lain – lain.
2.1.4.1 Waterfall Model
Waterfall model, atau disebut juga classic life cycle, menyarankan pendekatan yang sistematik dan sekuensial dalam pengembangan perangkat lunak. yang dimulai dari spesifikasi kebutuhan pelanggan dan dilanjutkan dengan perencanaan, pemodelan, konstruksi, dan pemeliharaan (Pressman, 2010:39). Kegiatan tersebut dijabarkan sebagai berikut (Pressman, 2010:15). 1. Communication Aktivitas ini sangat melibatkan komunikasi dan kolaborasi dengan pelanggan dan mencakup pada pengumpulan kebutuhan dan aktivitas lain yang terkait. 2. Planning Aktivitas ini membuat rencana untuk pekerjaan rekayasa perangkat lunak yang menjelaskan tentang kegiatan teknikal yang harus dijalankan, resiko yang mungkin akan terjadi, sumber daya yang akan diperlukan, produk kerja yang akan diproduksi, dan jadwal kerja. 3. Modelling Aktivitas ini mencakup pembuatan model yang akan membantu pengembang dan pelanggan untuk lebih mengerti kebutuhan perangkat lunak dan desain yang menggambarkan kebutuhan tersebut. 4. Construction
21 Aktivitas ini menggabungkan code generation dan pengujian yang diperlukan untuk menemukan error dalam code.
5. Deployment Perangkat
lunak
dikirimkan
pada
pelanggan
yang
akan
mengevaluasi produk yang dikirimkan dan memberikan umpan balik berdasarkan evaluasi tersebut.
Gambar 2.3 Gambar Waterfall Model (Pressman, 2010:39)
2.1.5 Pemograman Orientasi Objek Orientasi objek (OO) adalah teknik yang dibutuhkan dalam membuat analisis orientasi objek (OOA/object-oriented analysis) dan desain orientasi objek (OOD/ object-oriented design) (Whitten dan Bentley, 2007:370). Analisis orientasi merupakan pendekatan yang digunakan untuk (1) mempelajari apakah objek yang telah ada dapat digunakan ulang pada sistem baru, (2) membuat baru atau memodifikasi objek yang ada untuk dikombinasikan dengan objek lain pada aplikasi. Keuntungan dasar pemrograman OO adalah bahwa data dan operasi yang memanipulasi data (kode) keduanya dikemas dalam objek (Weisfeld, 2008:10). Pemograman object oriented memiliki beberapa hal penting yang harus diketahui, yaitu: -
Encapsulation (Pengkapsulan) Pembungkusan ruang lingkup kode program 21rocedural agar variable dan method tidak dapat diakses secara bebas oleh method atau objek lain,
22 kecuali method yang berada di objek itu sendiri. Pengkapsulan ada tiga jenis yaitu public (dapat diakses oleh objek lain), private (dapat diakses oleh objek itu sendiri), dan protected (dapat diakses oleh objek sub class).
-
Polymorphism Konsep yang menyatakan bahwa sesuatu yang sama dapat mempunyai bentuk dan perilaku yang berbeda serta operasi yang sama mungkin memiliki perbedaan dalam class yang berbeda.
-
Inheritance (Pewarisan) Pembuatan kelas baru atau sub class yang memiliki sifat serupa seperti variable dan method yang sama dari superclass.
-
Composition (Komposisi) Composition adalah objek yang terbentuk dari objek lain.
2.1.6 UML (Unified Modeling Language)
UML dikembangkan oleh Grady Booch (penemu metode Booch), Ivar Jacobson (Object-Oriented Software Engineering), dan Jim Rumbaugh (ObjectModeling Technique) (UML, 2013). UML telah menjadi notasi standar yang diterima secara luas sebagai sebuah standar untuk pemodelan objek. Standarisasi UML dibuat dan diatur oleh Object Management Group (OMG). UML mencakup berbagai masalah yang meliputi spesifikasi, visualisasi, konstruksi, dan dokumentasi berbagai jenis perangkat lunak sistem, perangkat lunak nonsistem, dan model bisnis. UML diibaratkan sebagai blueprints dalam membangun rumah (Whitten dan Bentley, 2007:381). Penggunaan UML tidak terbatas pada bahasa pemograman tertentu. UML dapat digunakan pada bahasa pemograman apa pun. Adapun tujuan UML sebagai berikut. 1. Memberikan
bahasa
pemodelan
yang
bebas
dari
berbagai
bahasa
pemrograman dan proses rekayasa. 2. Menyatukan praktek – praktek terbaik yang terdapat dalam pemodelan. 3. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan mengerti secara umum.
23 4. UML bisa juga berfungsi sebagai sebuah cetak biru (blue print) karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bisa diketahui informasi secara detail tentang coding program atau bajakan membaca program dan menginterprestasikan kembali ke dalam bentuk diagram. 5. Memaksimalkan produksi, menambah kualitas dari produksi, mengurangi biaya, dan memaksimalkan penjualan di pasaran. UML 2.4 merupakan UML terbaru yang sering digunakan dan merupakan pengembangan dari UML 2.0 (UML, 2013). Diagram – diagram itu disusun dalam dua kategori besar yaitu structure diagrams dan behavior diagrams. Dalam behavior diagram, terdapat sebuah diagram yang bernama interaction diagram yang dibagikan menjadi empat macam. Berikut ini adalah penjelasan diagram secara singkat yang terdapat dalam UML. 1. Structure Diagrams Structure diagrams atau diagram struktur adalah diagram yang bersifat statis. Struktur diagram menekankan hal-hal yang harus ada dalam pemodelan sistem. Diagram struktur digunakan secara ekstensif dalam mendokumentasikan arsitektur pada sistem perangkat lunak karena diagram struktur mewakili struktur. a. Class Diagram Class diagram merupakan penggambaran dari struktur dari sistem yang dirancang, subsistem atau komponen sebagai kelas dan interface yang terkait, dengan fitur mereka, kendala dan hubungan - asosiasi, generalisasi, dependensi, dan lain – lain. b. Object Diagram Object diagram merupakan sebuah gambaran tentang objek-objek dalam sebuah sistem pada satu titik waktu. Perbedaan utama antara class diagram dan object diagram adalah diagram objek menggambarkan objek dan hubungan mereka. Tujuan utama dari object diagram adalah untuk memungkinkan analis untuk mengungkap rincian tambahan kelas. Dalam beberapa kasus, penyataan variabel dari sebuah class diagram dapat membantu user atau analis dalam menemukan atribut tambahan yang relevan, hubungan, dan atau operasi, atau mungkin menemukan bahwa beberapa atribut, hubungan, atau operasi yang salah tempat.
24 c. Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen perangkat lunak, termasuk ketergantungan (dependency) di antara
komponen.
berisi code (source
Komponen code
perangkat
ataupun
binary
lunak
adalah
modul
code),
library maupun
executable , baik yang muncul pada compile time, link time , atau run time . Umumnya komponen terbentuk dari beberapa class, package, atau gabungan class dan package. Namun, komponen dapat juga dari komponen-komponen
yang
lebih
kecil.
Komponen
dapat
juga
berupa interface yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain. d. Composite Structure Diagram Composite structure diagrams ini digunakan untuk model hubungan antara bagian-bagian dari sebuah kelas.Diagram struktur komposit juga berguna ketika dilakukan pemodelan struktur internal komponen untuk sistem berbasis komponen. e. Package Diagram Package diagram utamanya digunakan untuk mengelompokkan elemen diagram UML yang berlainan secara bersama-sama ke dalam tingkat pembangunan yang lebih tinggi yaitu berupa sebuah paket. Pada dasarnya,
package diagram
adalah diagram
kelas yang
hanya
menampilkan paket, disamping kelas, dan hubungan ketergantungan, disamping hubungan khas yang ditampilkan pada diagram kelas. Package diagram bertujuan untuk mengorganisasi class diagram yang kompleks menjadi pengelompokan kelas-kelas dalam suatu paket. f. Deployment Diagram Deployment diagram digunakan untuk mewakili hubungan antara komponen-komponen hardware yang digunakan dalam infrastruktur fisik sistem informasi. 2. Behavior Diagrams Behavior diagrams atau diagram perilaku adalah diagram yang menekankan apa yang harus terjadi dalam sistem yang dimodelkan. Diagram perilaku digunakan secara luas untuk menggambarkan fungsi sistem perangkat lunak karena diagram perilaku mendekripsikan perilaku sistem.
25 a. Use Case Diagram Use case adalah abstraksi dari interaksi antara sistem dan actor. Use case bertujuan untuk mendeskripsikan tipe interaksi antara user sebuah sistem melalui sebuah cerita bagaimana penggunaan sebuah sistem. Use case merupakan konstruksi untuk mendeskripsikan bagaimana sistem akan terlihat pada pandangan user sedangkan use case diagram memfasilitasi komunikasi diantara analyst dan user serta antara analyst dan client. b. Activity Diagram Activity diagram berfokus pada aliran aktivitas – aktivitas yang saling berkaitan dalam suatu proses tunggal. Jadi dengan kata lain, activity diagram menunjukkan bagaimana aliran aktivitas – aktivitas tersebut bergantung satu sama lain. c. State Machine Diagrams State machine diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. d. Interaction Diagrams Interaction diagrams atau diagram interaksi merupakan bagian dari diagram perilaku yang menekankan aliran kontrol dan data antarsistem yang dimodelkan. 1) Sequence Diagram Sequence Diagram merupakan salah satu interaction diagrams yang menjelaskan bagaimana suatu operasi itu melakukan pesan apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Objek-objek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.
26 2) Communication Diagram (Collaboration Diagrams pada UML 1.x) Communication
diagram
merupakan
pengganti
dari
collaboration diagram. Communication diagram menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek. Setiap pesan memiliki sequence number, di mana pesan dari tingkat tertinggi memiliki nomor satu. Pesan dari tingkat yang sama memiliki prefiks yang sama. Communication diagrams membawa informasi yang sama dengan sequence diagram tetapi lebih memusatkan atau memfokuskan pada kegiatan objek dari waktu pesan itu dikirimkan. 3) Timing Diagram Timing diagram adalah bentuk lain dari interaction diagram, dimana fokus utamanya lebih ke waktu. Timing diagram merupakan perubahan statis yang menekankan pada waktu sebenarnya. Timing diagram digunakan untuk interaksi antar objek dan penekanan pada waktu. Timing diagram sangat berdaya guna dalam menunjukkan faktor pembatas waktu diantara perubahan state pada objek yang berbeda. 4) Interaction Overview Diagram Interaction overview diagram adalah pencangkokan secara bersama
antara activity
diagram dengan sequence
diagram.
Interaction overview diagram dapat dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau dapat dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan. Penulisan ini akan menggunakan 3 dari 4 diagram yang biasa digunakan. Diagram – diagram yang digunakan yaitu :
2.1.6.1 Use Case Diagrams
Use case diagram memungkinkan analis untuk memodelkan interaksi antara sistem informasi dan lingkungannya. Lingkungan sistem informasi akan mencakup baik user akhir dan setiap sistem eksternal yang
27 berinteraksi dengan sistem informasi. Penggunaan utama dari use case diagram adalah untuk menyediakan sarana dalam mendokumentasikan dan memahami persyaratan sistem informasi yang sedang berkembang.
Gambar 2.4 Contoh Use Case Diagram (Whitten dan Bentley, 2007:246)
Use case diagram terbagi atas komponen – komponen yang penting. Komponen – komponen dijelaskan sebagai berikut. a. Actors Actors merupakan seseorang atau sesuatu yang berhubungan langsung
dengan
sistem
dalam
pertukaran
informasi.
Actors
digambarkan dalam bentuk stickman. b. System Boundary Komponen ini merupakan tempat dimana aktivitas use case berlangsung. System boundary digambarkan dalam bentuk kotak persegi panjang. c. Use Cases Urutan langkah atau sebuah skenario, secara otomatis dan manual yang dipakai untuk menyelesaikan tugas bisnis. Use cases digambarkan dalam bentuk oval.
28 d. Relationship Relationship merupakan hubungan antara actor dan use case atau use case dengan use case lainnya. Relationship terdiri dari lima macam (Whitten dan Bentley, 2007:248 – 250), yaitu : − Asosiasi Hubungan antara actor dan use case yang ditandai dengan tanda panah. − Uses / Include Hubungan dimana jika suatu use case terjadi maka use case lain juga akan terjadi. Hubungan ini digambarkan dengan tanda <<uses>> atau <>. − Extend Hubungan dimana jika use case terjadi maka use case yang lain bisa terjadi atau tidak terjadi. Hubungan ini digambarkan dengan tanda <<extend>>. − Depends On Hubungan yang menggambarkan ketergantungan antar use case. Penggambaran dari hubungan ini adalah dengan garis berujung panah yang dimulai dari suatu use case yang kemudian akan menunjuk ke use case tempat ia bergantung. Hubungan ini digambarkan dengan tanda <<depends on>>. − Inheritance Hubungan yang terjadi jika terdapat dua atau lebih aktor yang mempunyai kesamaan sifat. Use case diagram yang telah dibuat akan didokumentasikan ke dalam bentuk narasi. Dokumentasi ini biasa disebut system analysis use cases. System analysis use cases memberikan detail proses dari fungsi sebuah sistem berjalan. System analysis use cases menggunakan narasi dari pandangan user dan percakapan dari sisi sistem. Dalam pembuatan system analysis use cases ini terdapat beberapa elemen penting, yaitu:
29 1. Use case type Use case type adalah jenis use case yang dideskripsikan. Tipe use case ada dua yaitu business requirement dan systems analysis. Business requirement use cases merupakan use cases yang menjelaskan sistem secara keseluruhan. System analysis use cases merupakan use cases yang penggambaran detail dari business requirement use cases. 2. Primary system actor Primary system actor adalah stakeholders yang berinteraksi langsung dengan sistem dalam use case tersebut. Oleh karena itu, perancangan interface harus dibuat. 3. Abstract use case Abstract use case adalah use case lain yang berhubungan dengan use case yang dideskripsikan. Selain itu, system analysis use cases dibagi menjadi dua yaitu abstract dan extensions. Pembuatan kedua use cases ini tidak jauh berbeda dengan system analysis itu sendiri. Perbedaan terletak pada actors. Kedua uses case ini bukan terjadi karena aksi dari actors tetapi aksi karena use case lain. Elemen penting dari abstract dan extensions, yaitu: a. Use case type Use case type berisi jenis use case yang dideskripsikan (abstract atau extension). b. Invoked by Invoked by berisi use case yang menyebabkan use case tersebut dapat terjadi.
30
Gambar 2.5 Contoh System Analysis Use Cases (Whitten dan Bentley, 2007:386)
31 2.1.6.2 Activity Diagrams
Activity diagrams adalah diagram yang menggambarkan aliran dari aktivitas – aktivitas secara berurutan dari proses use case atau bisnis. Activity diagrams dapat digunakan untuk menggambarkan logika dari sebuah sistem. Activity bisa digambarkan menggunakan partisi atau tidak. Partisi adalah memisahkan proses yang ada sesuai dengan siapa yang melakukan proses tersebut. Notasi – notasi yang digunakan pada activity diagrams adalah sebagai berikut. 1. Initial node merupakan bentuk lingkaran padat yang menandakan awal proses sistem. 2. Actions merupakan bentuk segiempat bundar yang menandakan proses sistem yang harus dijalankan. 3. Flows merupakan tanda panah yang menunjukkan langkah selanjutnya yang harus dijalankan setelah proses selesai. 4. Decision merupakan bentuk wajik yang digunakan jika satu flow input memiliki dua flow output yang bisa terjadi. Flow yang keluar tergantung dari kondisi yang ditentukan. 5. Merge merupakan bentuk wajik yang digunakan jika dua input memiliki satu output yang bisa terjadi. Proses yang dipisahkan oleh decision kembali menjadi satu. 6. Fork merupakan batang hitam yang digunakan jika satu flow input memiliki dua flow output yang bisa terjadi. Aksi yang berada di bawah batang hitam dapat terjadi bersamaan. 7. Join merupakan batang hitam yang digunakan jika dua input memiliki satu output yang bisa terjadi. Semua aksi yang masuk ke batang hitam harus selesai sebelum proses dilanjutkan. 8. Activity final merupakan bentuk lingkaran padat berada dalam lingkaran kosong yang menandakan akhir proses sistem. 9. Subactivity indicator merupakan simbol pada aksi yang menandakan aksi tersebut tidak dapat dilakukan pada activity diagrams yang terpisah. hal ini untuk mengurangi kompleksitas dari activity diagrams.
32 10. Connector merupakan sebuah huruf yang berada didalam lingkaran untuk mengatur kompleksitas dalam diagram. Flow yang menuju connector dihubungkan dengan flow yang keluar dengan connector sesuai dengan huruf yang dilewati.
Gambar 2.6 Contoh Activity Diagrams tanpa Partisi (Whitten dan Bentley, 2007:392)
33
Gambar 2.7 Contoh Activity Diagrams Partisi (Whitten dan Bentley, 2007:393)
34 2.1.6.3 Sequence Diagrams
Sequence diagrams menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram. Notasi – notasi yang digunakan oleh sequence diagram, yaitu: a. Actor merupakan seseorang atau sesuatu yang terlibat dalam use case. b. System merupakan kotak yang mengindikasikan hal tersebut sebagai suatu objek. Tanda titik dua (:) di depan objek tersebut menandakan merupakan sebuah class. c. Lifeline adalah garis putus – putus yang melambangkan jalannya sebuah sequence. d. Activation bars merupakan simbol yang menggambarkan kapan saja objek tersebut melakukan interaksi. e. Input messages adalah panah horizontal dari actor ke sistem, yang melambangkan pesan yang masuk ke sistem. f. Output messages – panah dengan garis putus – putus dari sistem ke actor yang melambangkan pesan keluar dari sistem. g. Receiver actor adalah actor lain yang ada pada sistem sebagai penerima pesan. h. Frame adalah kotak yang digunakan untuk membagi sequence menjadi bagian – bagian.
35
Gambar 2.8 Contoh Sequence Diagram (Whitten dan Bentley, 2007:395)
2.1.6.4 Class Diagrams Class diagrams adalah grafik penggambaran dari struktur objek statis sebuah sistem yang menunjukkan objek kelas didalam sistem dan tersusun dengan baik serta hubungan – hubungan antara kelas objek tersebut (Whitten dan Bentley, 2007:400).
36
Gambar 2.9 Contoh Class Diagram (Whitten dan Bentley, 2007:376)
Tiga komponen penting dalam class diagram (Whitten dan Bentley, 2007:372), yaitu : 1. Objek (Object) Objek adalah sesuatu yang dapat dilihat, disentuh, dan dirasakan. Objek biasanya berupa manusia atau benda. Objek pada dasaranya memiliki tiga elemen dasar, yaitu: a. Nama (name) Nama adalah untuk memberikan identitas terhadap kelas. b. Atribut (attribute) Atribut merupakan karakteristik yang dimiliki oleh sebuah kelas. Atribut memiliki tiga sifat secara umum, yaitu public, private, dan protected. Public merupakan sifat objek yang bisa dipanggil oleh objek – objek lain yang terdapat dalam sistem. Private merupakan sifat objek yang bisa dipanggil oleh objek itu sendiri.
37 Protected merupakan sifat objek yang bisa dipanggil oleh anak – anak yang mewarisinya. c. Metode (methods) Metode adalah sekumpulan fungsi yang dapat dilakukan oleh objek. Metode memiliki sifat yang sama pada atribut. Metode bisa bersifat public, private, atau protected. 2. Kelas (Class) Kelas adalah kumpulan dari objek-objek yang memiliki attribute dan behavior yang sama.
Gambar 2.10 Contoh Class (Whitten dan Bentley, 2007:365)
3. Hubungan Kelas Diagram (Class Diagram Relationship) Hubungan diagram adalah hubungan antar kelas diagram yang saling berkaitan. Hubungan kelas diagram dibagi dalam beberapa macam, yaitu: a. Asosiasi Hubungan antarkelas yang saling berelasi. b. Agregasi Agregasi merupakan bentuk hubungan association yang menspesifikasikan semua hubungan sebuah kumpulan (whole) dengan suatu bagian (part). Penggambaran hubungan ini adalah dengan bentuk wajik kosong untuk basic aggregation yaitu hubungan agregasi yang tingkat ketegantungannya rendah dan wajik berisi untuk composition aggregation yaitu hubungan agregasi yang tingkat ketegantungannya tinggi.
38
Gambar 2.11 Contoh Basic Aggregration (a) dan Composition Aggregration (b) (Whitten dan Bentley, 2007:379)
39 c. Multiplicity Hubungan ini menggambarkan jumlah yang bisa dihubungkan dalam antarkelas.
Gambar 2.12 Contoh Multiplicity Dalam Diagram Class (Whitten dan Bentley, 2007:377)
Tabel 2.1 Jenis Multiplicity (Whitten dan Bentley, 2007:377) Multiplicity
UML
Multiplicity dalam Asosiasi
Penjelasan
Mutiplicity Notation 1
1
Seorang
atau
karyawan hanya
kosongkan
bekerja pada satu departemen
0 atau 1
0…. 1
Seorang karyawan mempunyai satu atau tidak ada pasangan
0 atau banyak
0…..* atau
Pelanggan bisa
*
tidak memiliki atau memiliki banyak pembayaran
40
Multiplicity
UML
Multiplicity dalam Asosiasi
Penjelasan
Mutiplicity Notation 1 atau banyak
1….*
Universitas mempunyai 1 atau lebih matakuliah
Specific range
7….9
Satu tim mempunyai game antara 7-9
2.1.7 Database
Database management system adalah sekumpulan data yang saling berhubungan dan program – program yang digunakan dapat mengakses data tersebut (Silberschatz, Korth, Sudarshan, 2011:1). Database system adalah kumpulan data yang saling terkait dan satu set program yang memungkinkan user untuk mengakses dan memodifikasi data tersebut. Tujuan utama dari sistem database adalah untuk menyediakan user dengan pandangan abstrak dari data.
2.1.7.1 Abstraction Data
Data harus dibuat secara efisien. Efesiensi data dibuat oleh desainer dalam struktur data yang kompleks. Oleh karena itu, untuk memudahkan database system user maka developers menyembunyikan kompleksitas dalam beberapa tingkat abstraksi. Tujuan dari abstraksi adalah untuk mempermudah user berinteraksi dengan sistem. Tingkat abtraksi yang dibuat oleh developers, yaitu :
41 a. Physical Level Physical level atau tingkat fisik merupakan tingkat abtraksi paling bawah yang mendeskripsikan bagaimana sebenarnya data disimpan. Tingkat fisik menggambarkan kompleksitas struktur data secara detail. b. Logical Level Logical level atau tingkat logika merupakan tingkat abtraksi yang lebih tinggi yang mendeskripsikan data apa yang disimpan dan hubungan antardata yang tersimpan. Tingkat logika yang sederhana terkadang dapat melibatkan tingkat fisik yang kompleks. Hubungan ini disebut sebagai physical data independence. c. View Level View level atau tingkat logika view merupakan tingkat abtraksi yang lebih tinggi yang mendeskripsikan sebagian dari keseluruhan database. Tingkat logika yang sederhana masih memiliki kompleksitas karena database tersimpan dalam jumlah yang besar. Sebagian dari database system user hanya membutuhkan sebagian data. Oleh karena itu, tingkat view mempermudah interaksi terhadap sistem.
2.1.7.2 Data Models
Data models atau model data adalah sekumpulan cara konseptual untuk mendeskripsikan data, hubungan data, semantik data, dan kendala konsistensi. Sebuah model data menyediakan penggambaran desain database di tingkat fisik, logika, dan view. Model data dibagi dalam empat jenis, yaitu: 1. Relational Model (Model Relasional) Model relasi menggunakan sekumpulan tabel yang berisi data dan hubungan antardata. Setiap tabel memiliki beberapa kolom yang mempunyai nama unik. Model relasional disebut sebagai model berbasis record karena database ini disusun dalam catatan tetap beberapa jenis. Setiap tipe record mendefinisikan sejumlah tetap bidang, atau atribut. Kolom dari tabel sesuai dengan atribut tipe record. Model data relasional adalah model data yang paling banyak digunakan, dan
42 sebagian besar sistem database saat ini didasarkan pada model relasional. 2. Entity-Relationship Model (Model Hubungan Entitas) Model hubungan entitas adalah model data yang menggunakan sekumpulan objek dasar atau disebut entitas dan hubungan antara objek yang ada. Sebuah entitas adalah sebuah “benda’ atau “objek” yang bisa dibedakan dari objek lain. Model ini biasa digunakan dalam perancangan database. 3. Object-Based Data Model (Model Data Basis Objek) Model data basis objek adalah model data yang berbasis objek dengan menggunakan notasi encapsulation, metode atau fungsi, dan identitas objek. Model data relasional objek merupakan kombinasi dari fitur – fitur model data basis objek dengan model relasional. 4. Semistructured Data Model (Model Data Semistruktur) Model data semistruktur adalah model data yang membolehkan spesifikasi data dimana data individual dari tipeyang sama bisa memiliki atritbut yang berbeda.
2.1.7.3 Data Language
Dalam sistem basis data, terdapat dua data language yang digunakan yaitu data-definition language untuk menggambarkan skema database dan data-manipulation language untuk menggambarkan database queries dan updates. Kedua language ini merupakan satu kesatuan dari data language. a. Data-Definition Language (DDL) DDL adalah sebuah bahasa yang digunakan untuk mendefinisikan skema atau melakukan perubahan terhadap data yang sudah ada. DDL digunakan
untuk
menentukan
sifat
tambahan
data.
Struktur
penyimpanan dan metode akses yang digunakan oleh sistem database dengan satu set pernyataan dalam jenis khusus DDL disebut penyimpanan data dan definisi bahasa (data storage and definition language).
43 Nilai-nilai data yang disimpan dalam database harus memenuhi kendala konsistensi tertentu. Dengan demikian, sistem database menerapkan batasan integritas yang dapat diuji. Batasan integritas tersebut, yaitu :
1) Domain Constraint Domain constraint merupakan sebuah domain nilai yang dikaitkan dengan setiap atribut, misalnya jenis integer, tipe karakter, jenis tanggal, dan lain – lain. Domain constraint adalah bentuk paling dasar dari batasan integritas. Domain constraint diuji dengan mudah oleh sistem setiap kali item data baru dimasukkan ke dalam database. 2) Referential Integrity Referential integrity merupakan hubungan dari nilai yang muncul di satu relasi untuk himpunan atribut dan juga muncul dalam himpunan atribut dalam relasi yang lain. Modifikasi database dapat menyebabkan pelanggaran referensial integrity. Ketika aturan referensial integrity dilanggar, prosedur normal menolak tindakan yang menyebabkan pelanggaran. 3) Assertion Assertion adalah kondisi apapun bahwa database harus selalu lengkap. Domain constraint dan referensial integrity merupakan bentuk
khusus
dari
assertion.
Namun
tidak
semua
bisa
diekspresikan dalam bentuk khusus. Ketika sebuah assertion dibuat, sistem menguji assertion untuk validitas. Jika sebuah assertion dinyatakan sah, modifikasi database diperbolehkan hanya jika tidak menimbulkan pelanggaran terhadap assertion. 4) Authorization Authorization merupakan cara membedakan antara user terhadap jenis akses yang diperbolehkan pada berbagai nilai – nilai data dalam database. Authorization terdapat dalam beberapa jenis, yaitu: 1. Read authorization adalah authorization yang memungkinkan membaca tapi tidak modifikasi data.
44 2. Insert
authorization
adalah
authorization
yang
yang
memungkinkan penyisipan data baru tetapi tidak modifikasi data yang ada. 3. Update authorization adalah authorization yang memungkinkan modifikasi tetapi tidak penghapusan data. 4. Delete authorization adalah authorization yang memungkinkan penghapusan data. b. Data-Manipulation Language (DML) DML adalah sebuah bahasa yang memungkinkan user untuk mengakses atau memanipulasi data yang telah dibuat pada model data. Dalam DML terdapat beberapa tipe akses yang biasa digunakan, yaitu: 1) Pengambilan informasi yang disimpan dalam database 2) Penyisipan informasi baru ke dalam database 3) Penghapusan informasi dari database 4) Modifikasi informasi yang disimpan dalam database Pada dasarnya DML terbagi atas dua jenis, yaitu: − Procedural DML Bahasa
dari
DML
yang
memungkinkan
user
untuk
memberitahu sistem mengenai data apa yang dibutuhkan dan bagaimana cara untuk mendapatkan data tersebut. − Non-Procedural DML (Declarative DML) Bahasa
dari
DML
yang
memungkinkan
user
untuk
menyatakan data apa yang dibutuhkan tanpa melihat bagaimana cara data tersebut didapatkan.
2.1.7.4 Relational Database
Relational database merupakan salah satu model data yang sering digunakan. Sebuah tabel disebut sebagai hubungan dalam arti bahwa itu adalah koleksi benda-benda dari jenis yang sama (baris). Data dalam tabel dapat terkait sesuai dengan kunci umum atau konsep, dan kemampuan untuk mengambil data terkait dari tabel adalah dasar dari database relasional. Sebuah database management systems (DBMS) menangani bagaimana data disimpan, dikelola, dan diambil. Dalam relational database,
45 relational database management system (RDBMS) melakukan tugas – tugas ini (Oracle). Dalam relational database istilah relation merujuk kepada table, tuple merujuk pada baris, dan atribut merujuk pada kolom. Setiap tuple pada relational database harus memiliki nilai yang unik. Dengan kata lain, tidak ada dua tuple dalam relasi diperbolehkan untuk memiliki nilai yang sama persis untuk semua atribut. Keunikan ini dibedakan dengan memberi keys. Keys terbagi dalam beberapa jenis, yaitu: 1. Superkey Key yang berasal dari kumpulan candidate key dan digunakan untuk memberi keunikan pada suatu tuple. 2. Candidate Key Key yang membentuk superkey. Candidate key akan dipilih untuk menjadi primary key. 3. Primary Key Key yang terpilih menjadi key bagi suatu tuple dari candidate key. 4. Foreign Key Key yang menjadi referensi relasi antara primary key dari tuple yang saling berhubungan. Selain keys, terdapat query language yaitu bahasa di mana user meminta informasi dari database. Query language terbagi atas dua jenis, yaitu: 1. Procedural yaitu user menginstruksikan sistem untuk melakukan urutan operasi pada database untuk menghitung hasil yang diinginkan. Contoh: aljabar relasional (selection, union, Cartesian product, dan lain – lain). 2. Nonprosedural yaitu user menggambarkan informasi yang diinginkan tanpa memberikan prosedur tertentu untuk memperoleh informasi tersebut. Contoh: tuple kalkulus relasional (penggunaan himpunan) dan kalkulus relasional domain (SQL).
46 2.1.7.5 Transaction Management
Koleksi operasi yang membentuk sebuah unit logis tunggal pekerjaan disebut transaksi (Silberschatz, Korth, Sudarshan, 2011:627). Transaksi memiliki empat sifat utama yang disebut ACID properties, yaitu: 1. Atomicity Semua operasi didalam database harus satu kesatuan, artinya transaksi tercatat dengan lengkap dan tidak ganda. 2. Consistency Tidak ada data yang tereksekusi secara bersamaan agar database tetap konsisten. 3. Isolation Meskipun transaksi tereksekusi bersamaan, ada transaksi yang selesai terlebih dahulu lalu mengeksekusi yang berikutnya. 4. Durability Perubahan data tetap terjaga saat sistem sukses ataupun gagal. Transaksi tidak selalu berhasil sepenuhnya. Oleh karena itu sistem memiliki dua fungsi penting, yaitu: 1. Restart Fungsi ini dapat dilakukan hanya jika transaksi dibatalkan sebagai hasil dari beberapa perangkat keras atau perangkat lunak kesalahan yang tidak dibuat melalui logika internal transaksi. Transaksi restart dianggap transaksi baru. 2. Kill Fungsi yang dijalankan karena kesalahan logika internal transaksi. Jika kesalahan logika terjadi maka program harus ditulis ulang. Selain itu, kesalan logika dapat terjadi karena kesalahan saat input atau data yang dibutuhkan tidak ada dalam database. Transaksi menggunakan
pada
database
concurrency-control.
harus
tetap
konsisten
Concurrency-control
dengan
mempunyai
beberapa metode yang penting, yaitu: 1. Locking Locking
adalah
sebuah
prosedur
yang
digunakan
untuk
mengendalikan akses bersamaan ke data. Ketika sebuah transaksi
47 sedang mengakses database, sebuah lock mungkin menolak akses ke transaksi lain untuk mencegah hasil yang salah 2. Timestamps Timestamps adalah salah satu cara untuk menjamin serialbilitas dengan memilih sebuah urutan diantara beberapa transaksi. 3. Mutiversion dan Snapshot Isolation Multiversion adalah cara untuk memungkinkan transaksi untuk membaca versi lama item data daripada versi yang lebih baru yang ditulis oleh transaksi tidak terikat atau dengan transaksi yang harus datang kemudian dalam urutan serialisasi. Multiversion yang sering dipakai adalah snapshot isolation. Dengan cara ini, setiap transaksi memiliki snapshot tersendiri. Transaksi membaca data dari snapshot tersebut dan terisolasi dari perubahan transaksi yang lain. Jika ada transaksi yang mengubah database maka snapshot itu yang berubah, bukan database itu sendiri. Informasi perubahan ini tersimpan sehingga bisa dimasukkan ke database yang sebenarnya jika transaksi itu telah terjadi.
2.1.7.6 SQL
IBM mengembangkan versi asli dari SQL, disebut sebagai Sequel, sebagai bagian dari proyek sistem R pada awal tahun 1970. Bahasa Sequel kemudian dikembangkan menjadi SQL (structured query language) dan menjadi standar relational database language (Silberschatz, Korth, Sudarshan, 2011:57). SQL memiliki bagian – bagian yang penting, yaitu: 1. Data-definition Language (DDL) DDL SQL memiliki fungsi yang mirip dengan DDL pada umumnya. DDL SQL menyediakan perintah untuk mendefinisikan relasi skema, menghapus relasi, dan memodifikasi relasi yang ada. 2. Data-manipulation Language (DML) DML SQL memiliki fungsi yang mirip dengan DML pada umumnya. DML SQL memiliki fungsi untuk mengatur query informasi,
48 menyisipkan tuple, menghapus tuple, dan memodifikasi tuple pada database. 3. Integrity (Integritas) Integritas
merupakan
DDL
SQL
yang
berfungsi
untuk
menentukan batasan integritas bahwa data yang disimpan dalam database harus menyakinkan. Peerubahan yang melanggar batasan integritas tidak diperbolehkan. 4. View Definition (Definisi View) Definisi view merupakan DDL SQL yang berisi perintah – perintah untuk menentukan view yang dipakai. 5. Transaction Control (Kontrol Transaksi) Kontrol transaksi berfungsi memberi perintah dalam menentukan awal dan akhir dari transaksi. 6. Embedded dan Dynamic SQL Embedded
dan
dynamic
SQL berfungsi untuk
mengatur
bagaimana pernyataan SQL digunakan dalam bahasa program C, C++, atau Java. 7. Authorization Authorization
merupakan DDL SQL yang berfungsi untuk
menentukan hak akses ke relasi dan view.
2.1.8 Data Dictionary Notation
Data dictionary atau kamus data adalah komponen analisis model dari sistem. Kamus data berisi definisi formal semua elemen data yang ditampilkan dalam diagram aliran data (Anonim, 2008). Kamus data mempunyai komponen utama, yaitu: 1. Data Komposit Tingkat yang lebih tinggi (komposit) elemen dapat didefinisikan dalam tingkat yang lebih rendah. Data komposit terbagi dalam tiga jenis notasi. Tiga jenis tersebut adalah sebagai berikut. a. Sequence Sequence mempunyai satu jenis yaitu tanda “+”. Tanda “+” diartikan sebagai tanda sebuah elemen diikuti atau digabungkan
49 dengan elemen lain. Contohnya: Mailing-address = name + address + city + zip-code. b. Repetition Repetition mempunyai dua jenis yaitu tanda “[]” dan tanda “|”. Tanda “[]” diartikan sebagai tanda untuk menyertakan satu atau lebih elemen opsional. Tanda “|” diartikan sebagai tanda singkatan dari "atau" dan digunakan untuk menunjukkan alternatif. Contohnya: Completed-order = [item-ordered].
c. Selection Selection mempunyai satu jenis yaitu tanda “{}”. Tanda “{}” diartikan sebagai tanda elemen yang didefinisikan terdiri dari serangkaian repetition dari elemen tertutup dalam braket. Contohnya: Atm-transaction = {deposit | withdrawal}. 2. Data Elemental Data elemental adalah komponen yang tidak dapat dikurangi lebih jauh dan didefinisikan dalam hal nilai-nilai yang dapat mengasumsikan atau beberapa tipe dasar ambigu lainnya. Contoh: desired-temperature = floating point.
2.2 Teori Khusus
Dalam penulisan skripsi ini terdapat teori-teori yang menjadi pendukung landasan utama dan dijelaskan seperti berikut ini.
2.2.1 Keuangan
Keuangan merupakan hal yang tidak bisa dipisahkan dari manusia. Segala bidang pasti mempunyai keuangan masing – masing termasuk manusia itu sendiri. Setiap manusia memiliki keuangan pribadi yang biasa dicatat dan diatur setiap bulannya.
50 2.2.1.1 Perencanaan Keuangan Pribadi
Keuangan pribadi adalah pengaturan keuangan dari pemasukan individu sesuai dengan kebutuhan yang diperlukan. Keuangan pribadi biasanya dibuatkan suatu perencanaan agar individu dapat mengontrol keuangan yang dimiliki. Setiap individu memiliki cara pengaturan yang berbeda – beda karena kebutuhan setiap orang memiliki kebutuhan yang berbeda – beda. Oleh karena itu, perencanaan keuangan pribadi harus diatur dengan efektif untuk memenuhi kebutuhan yang diinginkan. Perencanaan keuangan yang bersifat komprehensif dapat meningkatkan kualitas hidup individu yang bersangkutan serta meningkatkan kepuasan dengan mengurangi ketidakpastian kebutuhan dan tujuan pada masa yang akan datang (Kapoor, Dlabay, &Hughes, 2004). Dalam perencanaan keuangan terdapat lima tahapan dasar (Keown, 2012:3 – 7). Tahapan – tahapan tersebut adalah sebagai berikut. 1. Mengevaluasi kesehatan keuangan Sebelum melakukan perencanaan, seseorang harus mengetahui kondisi keuangannya terlebih dahulu. Tiga hal yang pelu diketahui oleh seseorang tentang keuangannya, yaitu : a. Seberapa banyak uang yang diperoleh. b. Seberapa besar pengeluaran yang dilakukan. c. Barang apa saja yang telah dibelanjakan. Dengan melihat gambaran finansial yang dimiliki, seseorang dapat melakukan perencanaan yang baik dan benar. Gambaran finansial yang baik dan benar dapat diperoleh dari pencatatan keuangan yang teratur terutama pengeluaran. Pencatatan keuangan yang teratur dapat membantu seseorang dalam mengetahui kondisi keuangan yang dimiliki sehingga dapat mengontrol finansial individu. Pengeluaran
lebih
sulit
dilakukan
dibandingkan
dengan
pemasukan karena transaksi pengeluaran tidak memiliki bukti yang akurat. Hal ini menyulitkan seseorang untuk menelusuri hal – hal yang dibelanjakan. Pengeluaran secara umum dikategorikan dalam dua tipe, yaitu variable expenditure (pengeluaran yang jumlahnya dapat berubah) dan
51 fixed expenditure (pengeluaran yang jumlahnya tetap). Selain itu, pengeluaran
bisa
dikelompokkan
menjadi
beberapa
kategori
berdasarkan kebutuhan. Kategori yang biasa dibuat adalah makan, transport, belanja, tabungan, hiburan, dan lain – lain. 2. Menentukan tujuan finansial Seseorang dapat menetapkan tujuan finansial yang ingin dicapai. Dengan mengetahui tujuan, seseorang dapat mengatur strategi untuk mendapatkan hasil yang maksimal dari perencanaan keuangan. Selain itu, seseorang harus menjalankan kotmitmen keuangannya agar tetap terkontrol dan berada pada jalur tujuan. 3. Mengembangkan rencana Seseorang harus mengetahui cara pencapaian tujuan finansialnya dengan melakukan budgeting atau mengatur strategi untuk menabung yang dapat membuat seseorang mencapai tujuan finansialnya. Budgeting dapat membantu sesorang untuk melihat jumlah yang diperlukan dalam perencanaan dan aliran keuangan yang masuk dan keluar secara garis besar. 4. Mengimplementasikan rencana Konsistensi pada perencanaan yang telah dibuat sebelumnya merupakan hal yang harus dilakukan oleh seseorang. Penelusuran pencatatan pemasukan dan pengeluaran serta pengawasan terhadap tujuan
finansial
adalah
cara
efektif
bagi
seseorang
untuk
mengimplementasikan dan tetap memegang perencanaan keuangan yang telah dibuat. Dengan perencanaan keuangan yang konsisten, seseorang dapat mencapai tujuan finansialnya. 5. Meninjau Kemajuan, Mengevaluasi Ulang, Merevisi Rencana Setelah melakukan implementasi, seseorang dapat mengevaluasi rencana yang telah dijalankan. Dengan demikian, seseorang dapat mengetahui apakah perencanaan keuangan yang dibuat berjalan efektif atau perlu dilakukan suatu perubahan. Jika terjadi kondisi – kondisi diluar perkiraan, maka seseorang dapat merevisi ulang rencana keuangan yang dibuat agar sesuai dengan keperluan yang telah ditentukan.
52 2.2.1.2 Tipe Pengeluaran
Tipe pngeluaran dapat digolongkan menjadi dua (Pant, 2012), yaitu : 1. Tipe Pengeluaran Fixed Pengeluaran tetap merupakan pengeluaran yang pasti terjadi setiap bulan. Jumlah dari pengeluaran ini tidak dapat berubah begitu saja. Misalnya pembayaran uang kontrakan, asuransi, atau uang kuliah. 2. Tipe Pengeluaran Variable Pengeluaran variable merupakan pengeluaran yang tergantung pada intensitas pemakaian atau pembeliannya. Pengeluaran ini ditentukan masing – masing individu berdasarkan kebutuhannya. Misalnya pada kebutuhan yang penting seperti makan, pakaian, listrik, bensin, dan lain – lain atau kebutuhan tambahan seperti rekreasi, belanja, bermain. Pengeluaran ini sering diminimalisasikan oleh seseorang untuk tabungan. Namun, hal ini sulit dilakukan karena diperlukan komitmen yang kuat dan konsistensi yang tinggi dalam menjalankannya.
2.2.2 Android
Android adalah sistem operasi open source yang menggunakan framework Java untuk penulisan perangkat lunak untuk perangkat lunak android (Winarno, Zaki, dan Smitdev Community, 2012:1). Android awalnya dikembangkan oleh Android Inc tetapi pada tahun 2005 Android Inc diakuisi oleh Google. Android adalah sistem operasi mobile pertama yang lengkap, gratis, dan open. Dalam buku 24 Jam Pintar Pemrograman Android #1 dijelaskan platform Android adalah kernel Linux versi 2.6 yang cukup responsible untuk berbagai driver device, sumber daya akses, manajemen daya, dan tugas lainnya. Driver perangkat yang disediakan meliputi display, kamera, keypad, WiFi, kartu memori, audio, dan IPC (interprocess comunication) (Nurochman dan Mufti, 2013:786).
53 2.2.2.1 Android Development Tools (ADT)
ADT merupakan sebuah plugin untuk Eclipse IDE yang memungkinkan pengembang aplikasi memiliki environment yang kuat dan terintegrasi dalam mengembangkan aplikasi Android. ADT memperluas kemampuan Eclipse yang memungkinkan pengembang aplikasi secara cepat mempersiapkan sebuah projek Android baru, menambahkan packages berdasarkan application framework API, debug aplikasi menggunakan peralatan Android SDK, dan mengekspor aplikasi ke dalam file .apk untuk didistribusikan (Developer Android, 2012).
2.2.2.2 Android Software Development Kit (SDK)
Android SDK bertujuan sebagai peralatan pembangun perangkat lunak yang dapat digunakan oleh para developer untuk membuat aplikasi pada platform Android. Pada Android Software Development Kit (SDK), terdapat
contoh
proyek-proyek
dengan
source
code,
peralatan
pembangunan (development tools), emulator (perangkat keras atau program yang berlaku sebagai bagian dari program lain yang komponen lainnya berharap dapat berinteraksi dengannya), dan libraries yang dibutuhkan untuk membangun aplikasi-aplikasi Android. Aplikasi-aplikasi yang dibangun dibuat dengan menggunakan bahasa pemrograman Java yang berjalan pada Dalvik, mesin virtual yang didesain untuk penggunaan pada Linux kernel (Webopedia, 2012).
2.2.2.3 Android Version
Saat ini data yang diambil dari Google play store app berasal dari versi 2.2 keatas, versi yang sudah lebih lama tidak dihitung lagi. Pada bulan Agustus 2013, perangkat yang menggunakan versi dibawah 2.2 hanya 1% pada server Google (Developer Android, 2013).
54 Tabel 2.2 Tabel Penggunaan Android 08 Januari 2014 Version
Codename
API
Distribution
2.2
Froyo
8
1.3%
2.3.3-2.3.7
Ginger Bread
10
21.2%
3.2
Honeycomb
13
0.1%
4.0.3-4.0.4
Ice Cream Sandwich
15
16.9%
4.1.x
Jelly Bean
16
35.9%
4.2.x
17
15.4%
4.3
18
7.8%
19
1.4%
4.4
Kitkat
2.2.3 PhoneGap
PhoneGap adalah sebuah framework open source untuk cepat membangun aplikasi mobile cross-platform menggunakan HTML5, JavaScript dan CSS. PhoneGap diciptakan oleh Nitobi yang merupakan kontributor utama. Pada bulan Oktober 2011, Adobe mengakuisisi Nitobi untuk fokus hanya pada proyek PhoneGap dan melanjutkan pekerjaan terhadap pembangunan yang efisien di seluruh platform mobile (PhoneGap, 2013). PhoneGap build adalah layanan cloud dari PhoneGap untuk membangun aplikasi mobile dengan cepat dan mudah menyusunnya tanpa SDK, kompiler dan perangkat keras. PhoneGap merupakan jembatan dari JavaScript ke platform yang memungkinkan JavaScript API untuk mengakses dan mengontrol perangkat (telepon atau tablet) (Ghatol dan Patel, 2012:17). Sebuah membangun aplikasi menggunakan PhoneGap terutama akan memiliki dua bagian: 1. JavaScript Business Logic bertujuan menggerakkan UI dan fungsionalitas. 2. JavaScript Part bertujuan mengakses dan mengontrol perangkat (telepon atau tablet).
55
Gambar 2.13 Arsitektur dari PhoneGap (Ghatol dan Patel, 2012:18)
2.2.4 JavaScript
JavaScript dikembangkan pertama kali oleh Brendan Eich pada Netscape sekitar tahun 1995 – 1996. Pada saat itu, JavaScript dikenal dengan nama LiveScript. Nama tersebut diubah menjadi JavaScript sebagai strategi pemasaran untuk menaikkan popularitas karena bahasa Java saat itu sedang populer. Namun JavaScript mendapat dampak buruk karena Java memiliki nilai yang kurang dalam pembuatan website. Java membutuhkan plugin untuk menampilkan desain pada web browser sehingga memperlambat proses pencarian. Beberapa tahun belakangan ini, JavaScript mulai memisahkan diri dari Java. JavaScript memakai standar ECMAScript. ECMAScript merupakan script yang dibuat oleh Microsoft dan Netscape yang bekerjasama dengan European Computer Manufacturers Association (ECMA) pada pertengahan tahun 1997 (Shuering, 2013:3-4). JavaScript adalah bahasa yang bekerja disisi client sehingga dapat divalidasi langsung pada halaman web tanpa melewati server. Tujuan dari JavaScript adalah memberi pandangan yang interaktif bagi user. JavaScript bisa dibuat pada text editor apa saja karena JavaScript bukan bahasa yang dikompilasi (Shuering, 2013:17).
56 JavaScript adalah bahasa pemograman yang case sensitive, yaitu perbedaan huruf besar dan kecil dapat mempengaruhi code yang dibuat. Oleh karena itu, penamaan variabel dan penggunaan keywords harus diperhatikan. JavaScript memiliki enam tipe data (Shuering, 2013:41-42), yaitu : 1. Numbers Numbers adalah tipe data yang berasal dari angka. Angka pada JavaScript menggunakan integer, floating, decimal, atau hexadecimal. Hexadecimal merupakan tipe angka yang paling digunakan pada JavaScript. 2. Strings Strings adalah tipe data yang berisi karakter, simbol atau gabungan keduanya. 3. Booleans Booleans adalah sebuah tipe data yang hanya bernilai true atau false. 4. Null Null adalah sesuatu yang sederhana dan tidak berisi apapun. 5. Undefined Undefined adalah sebuah pernyataan, kadang-kadang digunakan seperti nilai, untuk mewakili variabel yang belum berisi nilai. 6. Objects Objects adalah sekumpulan properti yang masing-masing dapat berisi nilai. Properti ini berfungsi sebagai keys untuk mengakses ke nilai – nilai. Dalam JavaScript, local storage dapat digunakan dimana local storage merupakan bagian dari HTML5. Local storage (penyimpanan lokal) adalah bagian dari penyimpanan web, yang itu sendiri merupakan bagian dari spesifikasi HTML5 (Viera, 2013). Ada dua pilihan untuk menyimpan data dalam spesifikasi: a. Penyimpanan lokal: menyimpan data tanpa mengenal waktu dan ini adalah salah satu yang digunakan untuk tetap pada halaman selama mungkin. b. Sesi penyimpanan: hanya menyimpan data untuk satu sesi jadi jika pengguna menutup tab dan membuka kembali semua data mereka akan hilang.
57 2.2.5 jQuery
jQuery dirilis pada bulan Januari 2006 di BarCamp NYC oleh John Resig (jQuery Project, 2010). jQuery mempunyai dua versi, yaitu versi 1.x dan versi 2.x. jQuery versi 1.x mendukung IE 6 atau lebih sedangkan jQuery versi 2.x mendukung IE 9 keatas. Kedua versi ini mendukung versi stabil dan versi sebelumnya untuk Firefox, Google Chrome, Safari, dan lain – lain. jQuery terbaru dari versi 1.x adalah versi 1.10.2 dan jQuery terbaru dari versi 2.x adalah 2.0.3. jQuery adalah library JavaScript yang cepat, kecil, dan mempunyai banyak fitur. Oleh karena itu, dokumen HTML traversal dan manipulasi, penanganan event, animasi, dan Ajax jauh lebih sederhana dengan API yang mudah digunakan yang bekerja di banyak browser (jQuery, 2013). Library jQuery hanya terdiri dari sebuah file JavaScript tunggal yang sederhana lalu dimasukkan dalam JavaScript. Sintaks jQuery juga mudah dipelajari. Sintaks ini menggunakan namespace sederhana dan fungsionalitas yang konsisten (Shuering, 2013:173).
2.2.5.1 jQuery Mobile
jQuery Mobile adalah sebuah kerangka kerja yang memungkinkan desain halaman web dioptimalkan untuk pengalaman touch yang dialami orang jika mereka menggunakan web melalui ponsel atau iPad. jQuery Mobile mengurus tata letak dan transisi antara halaman web untuk membuat web yang lebih seperti aplikasi mobile (Shuering, 2013: 307).
2.2.5.2 Fitur jQuery
jQuery mempunyai beberapa fitur yang berfungsi untuk tugas – tugas tertentu (Chaffer dan Swedberg, 2013:8 – 9). Fitur – fitur tersebut adalah sebagai berikut. 1. Akses halaman pada dokumen jQuery membantu akses halaman untuk mengambil potongan yang tepat dari dokumen yang perlu diperiksa atau dimanipulasi sehingga
58 tidak perlu membuat banyak barisan kode untuk mengakses Document Object Model (DOM) tree dan menemukan bagian-bagian tertentu dari struktur dokumen HTML. 2. Modifikasi tampilan halaman web jQuery dapat mendukung web browser meskipun tidak memiliki standar yang sama. Selain itu, jQuery dapat mengubah kelas atau properti style individual yang diterapkan pada dokumen. 3. Mengubah isi dokumen Perubahan yang dilakukan jQuery tidak hanya terbatas pada tampilan tetapi juga isi dokumen. Dengan beberapa keystrokes, struktur yang dibuat dapat berganti. 4. Merespon interaksi user jQuery mempunyai cara untuk mencegah berbagai hambatan, seperti user mengklik link, tanpa perlu mengacaukan kode yang telah dibuat dengan event handler dan menghilangkan browser yang tidak konsisten. 5. Perubahan gerak dibuat dalam dokumen jQuery library memberikan feedback yang interaktif kepada user dengan menyediakan berbagai efek dan toolkit untuk membuat efek yang baru. 6. Mengambil informasi dari server tanpa refresh halaman Komunikasi antara client dan server semakin rumit. jQuery library menghilangkan kompleksitas browser tertentu sehingga developer dapat fokus pada fungsi server-end. 7. Menyederhanakan tugas-tugas umum JavaScript jQuery library menyediakan perangkat tambahan untuk dasar konstruksi JavaScript seperti iterasi dan manipulasi array.
2.2.5.3 Strategi jQuery
jQuery mempunyai strategi untuk mendukung fitur – fitur yang ada (Chaffer dan Swedberg, 2013:9 – 10). Strategi – strategi yang digunakan, yaitu:
59 1. Pengaruh pengetahuan dari CSS jQuery menggunakan CSS selector sebagai mekanisme untuk mencari elemen halaman dan mewarisi cara singkat yang dapat dibaca dalam mengungkapkan struktur dokumen. jQuery library menjadi poin awal bagi desainer jika ingin menambahkan behaviours ke halaman karena prasyarat untuk melakukan pengembangan web yang profesional adalah pengetahuan tentang sintaks CSS. 2. Mendukung extensions User dapat membuat plugin baru dalam jQuery dengan metode yang telah disediakan. Plugin dapat dihapus jika hal itu diperlukan 3. Mengatasi perbedaan jQuery menambahkan lapisan abstraksi yang menormalkan tugas umum pada browser yang memiliki standar yang berbeda. 4. Bekerja secara satu kesatuan Metode pada jQuery, seperti .hide(), dirancang untuk secara otomatis bekerja pada set objek, bukan yang individu. Teknik ini, disebut iterasi implisit, berarti bahwa banyak looping konstruksi menjadi tidak perlu dan memperpendek kode jauh. 5. Melakukan aksi jamak pada satu baris jQuery menggunakan pola pemrograman yang disebut chaining yaitu hasil dari kebanyakan operasi pada objek adalah objek itu sendiri untuk menghindari penggunaan variabel yang berlebihan.
2.2.6 HTML5
W3C (World Wide Web Consortium) bekerjasama dengan WHATWG (Web Hypertext Application Technology Working Group) mengembangkan HTML5 pada tahun 2006. W3C adalah komunitas yang bergerak dalam pengembangan web untuk meningkatkan standar jangka panjang web (W3C, 2012). WHATWG adalah komunitas yang berkembang dan berisi orang – orang yang tertarik pada web. WHATWG didirikan oleh orang – orang dari Apple, Mozilla Foundation, dan Opera Software pada tahun 2004 (WHATWG, 2013). HTML5 menjadi standar baru bagi HTML (W3CSchool, 2013). HTML5 dirancang untuk memberikan hampir semua yang ingin dilakukan secara online
60 tanpa memerlukan plugin tambahan. HTML5 bersifat cross-platform dan dapat digunakan untuk menulis aplikasi web yang masih bekerja ketika offline. HTML5 masih dalam tahap perkembangan. Namun, sebagian besar browser mendukung banyak elemen HTML5 dan API. HTML5 mempunyai beberapa fitur baru, yaitu: 1. Unsur