BAB 2
LANDAS AN TEORI
2.1.
Teori Umum 2.1.1. Artificial Intelligence
Gambar 2.1 Beberapa definisi dari artificial intelligence, dikelompokkan menjadi 4 kategori (Russel & Norvig, 2010, p. 2). Dari definisi-definisi di atas, kita dapat melihat bahwa definisi disebelah atas berkaitan dengan proses berpikir dan penalaran, dimana yang di sebelah bawah berkaitan dengan tindakan. Di sebelah kiri berkaitan dengan human performance dimana yang sebelah kanan berkaitan dengan rasionalitas.Sebuah system dikatakan rasional jika sistem tersebut melakukan hal yang benar (Russel & Norvig, 2010, pp. 1-5).
7
8
2.1.1.1.
Acting Humanly: The Turing test Approach
Dari pendekatan Turing Test yang diusulkan oleh Alan Turing (1950), untuk dapat mencapai makna dari intelligence maka sebuah komputer harus memiliki kemampuan-kemampuan berikut ini: •
Natural Language Processing: kemampuan untuk berkomunikasi dalam bahasa Inggris.
•
Knowledge Representation: untuk menyimpan apa yang diketahui dan didengar.
•
Automated Reasoning: untuk menggunakan informasi yang disimpan untuk menjawab pertanyaan dan menghasilkan simpulan.
•
Machine Learning: untuk beradaptasi dengan lingkungan baru dan mendeteksi pola dari kemungkinan-kemungkinan.
•
Computer Vision: untuk melihat objek-objek.
•
Robotics: untuk memanipulasi objek-objek dan pergerakannya.
2.1.1.2.
Thinking Humanly: The Cognitive Modelling Approach
Pendekatan ini dilakukan dengan mengerti cara kerja dari pikiran manusia, ada 3 cara yaitu: •
Instropeksi: mencoba untuk menangkap jalan pikir diri kita sendiri.
•
Psychological Experiments: observasi seseorang dalam tindakannya.
•
Brain Imaging: observasi otak manusia dalam suatu tindakan.
9
Ketika kita sudah mendapatkan cukup teori yang tepat mengenai pikiran manusia, maka akan menjadi mungkin untuk mengekspresikan teori tersebut sebagai program computer. 2.1.1.3.
Thinking Rationally: The “Laws of Thought” Approach
Pendekatan ini dikenalkan oleh ahil filsafat Yunani, Aristotle yang mencoba menyusun pemikiran yang benar.Pemikiran dia menyediakan pola untuk strukturstruktur argumen yang selalu menghasilkan simpulan yang benar kalau diberikan premis-premis yang benar.Ada 2 hambatan utama dalam pendekatan ini.Pertama, tidak mudah untuk mengambil pengetahuan informal dan menyatakan dalam bahasa resmi yang dibutuhkan oleh notasi logika, khususnya ketika informasi tersebut kepastiannya kurang dari 100%.Kedua, ada perbedaan yang cukup besar antara menyelesaikan masalah dalam teori dan menyelesaikan problem tersebut pada prakteknya. Bahkan masalah-masalah dengan hanya beberapa ratus fakta-fakta dapat menguras resources komputer kecuali memiliki penuntun untuk menentukan langkah yang akan dicoba pertama. 2.1.1.4.
Acting Rationally: The Rational Agent Approach
Sebuah agen hanyalah sesuatu yang melakukan tindakan. M emang benar semua program komputer melakukan sesuatu, tetapi agen-agen komputer diharapkan untuk dapat melakukan lebih: beroperasi secara mandiri, melihat lingkungannya, bertahan untuk periode waktu yang panjang, beradaptasi terhadap perubahan, dan membuat dan mengejar tujuan. Jadi bagaimana untuk melakukan tindakan secara rasional secara logika berdasarkan simpulan yang akan mencapai tujuannya. Pendekatan ini memiliki 2
keuntungan
atas
pendekatan-pendekatan
lainnya.Yang pertama,
10
pendekatan ini lebih umum dari pendekatan “laws of thought” karena kesimpulan yang benar hanya satu dari beberapa mekanisme yang mungkin untuk mencapai rasionalitas.Kedua, lebih mudah diterima pengembangan ilmiah dibandingkan pendekatan dari sifat atau pemikiran manusia. 2.1.2. Multimedia M ultimediaadalah kombinasi dari text, art, sound, animation, dan video yang ditampilkan komputer atau alat elektronik lainnya. Ketika anda memungkinkan seorang end user – yang dikenal juga sebagai penonton dari suatu proyek multimedia – untuk mengontrol apa dan kapan elemen-elemen disampaikan, maka hal ini disebut dengan interactive multimedia. Ketika anda menyediakan sebuah struktur dari elemen-elemen yang berhubungan dengan penggunadapat melakukan navigasi, maka interactive multimedia menjadi hypermedia(Vaughan, 2011, p. 1). 2.1.2.1.
Text
Text digunakan sebagai salah satu media komunikasi bagi manusia.Semenjak kepopuleran Internet dan World Wide Web, text menjadi sangat penting. Bahasa native dari HTM L (Hypertext Markup Language), secara original dibuat untuk menampilkan simple text documents pada layar komputer dengan beberapa gambar sebagai ilustrasi (Vaughan, 2011, pp. 18-20). Beberapa hal yang harus kita perhatikan, yaitu: 2.1.2.1.1.
Kekuatan dari Arti
Bahkan sebuah katapun dapat berarti banyak hal, jadi ketika kita memulai bekerja dengan text, sangatlah penting untuk mempertahankan akurasi dan sederhana tetapi jelas dalam kata yang kita pilih. Dalam multimedia, kata-kata ini
11
akanmuncul dalam judul, menu, dan navigasi dan yang juga muncul dalam naratif maupun content(Vaughan, 2011, pp. 20-21). 2.1.2.1.2. Sebagaimana
Kekuatan dan Keanehan Bahasa Inggris kita
tahu,
bahwa
bahasa
Inggris
merupakan
bahasa
internasional.Penelitian oleh British Council menyatakan bahwa 1 milyar orang berbicara Inggris pada milenium ke-2 sebagai bahasa pertama, kedua, ataupun asing mereka.Inggris merupakan bahasa resmi dari lebih dari 75 negara. Lebih dari dua per tiga ilmuwan dunia membaca dalam bahasa Inggris, dan tiga per empat surat di dunia ditulis dalam bahasa Inggris. Tercatat bahwa 80% informasi dunia yang tersimpan dalam komputer-komputer ditulis dalam bahasa Inggris. Tetapi sayangnya menurut profesor berkebangsaan Belanda, Boeree dari Shippensburg University mengatakan bahwa, “Unfortunately for learners of English, it still has several irregular verbs (e.g., to be and to have) and a large number of strong verbs (e.g. sing-sang-sung), plus a few irregular plurals (e.g. child-children, manmen...)”. Jadi bahasa Inggris ini masih memiliki beberapa ketidakteraturan.(Vaughan, 2011, pp. 21-22) 2.1.2.1.3.
Fonts and Faces
Sebuah typeface adalah family dari graphic characters yang biasanya termasuk banyak ukuran dan styles. Sebuah font merupakan sebuah koleksi dari karakterkarakter dari sebuah ukuran dan style yang dimiliki oleh suatu typeface family.Font style khusus adalah boldface dan italic. Software komputer anda dapat memasukkan atribut lain seperti underlining dan outlining karakter-karakter (Vaughan, 2011, p. 22).
12
2.1.2.1.4.
Cases
Kita mengetahui mengenai huruf kapital yang dikenal sebagai uppercase dan huruf kecil yang dikenal sebagai lowercase. Penelitian telah membuktikan bahwa kata-kata yang mengkombinasikan antara uppercase dan lowercase lebih mudah untuk dibaca daripada hanya uppercase. Kecuali memang dalam hal yang penting atau mendesak (Vaughan, 2011, p. 24). 2.1.2.1.5.
Serif vs. S ans Serif
Pendekatan untuk mengkategorikan typefaces yang dimengerti secara umum yaitu serif dan sans serif. Pendekatan ini adalah cara yang paling sederhana untuk mengkategorisasikan sebuah typeface. Kalau serif memiliki sedikit dekorasi pada akhir dari letter stroke.Kalau dalam bentuk halaman yang di-print, maka yang dipakai adalah serif karena membantu mata dari pembaca mengikuti garis dari teks. Digunakan juga untuk headlines dan bold statements. Untuk sans serif lebih banyak dipakai pada layar karena lebih mudah dibaca dan menarik.(Vaughan, 2011, pp. 24-25)
Gambar 2.2 S erif vs S ans Serif(Vaughan, 2011, p. 25) 2.1.2.2.
Images
Gambar mungkin dapat kecil atau besar, atau bahkan full screen.M ereka dapat juga diberi
warna,
ditempatkan
pada
sembarang
tempat
pada
layar,
dapat
13
geometricmaupun berbentuk aneh. Salah satu cara untuk menghasilkan gambar ini yaitu dengan bitmaps(Vaughan, 2011, p. 70). 2.1.2.2.1.
Bitmaps
Sebuah bit adalah elemen terkecil dalam digital world, sebuah electronic digit yang berupa on atau off, atau true (1) atau false (0). Hal ini berhubungan dengan binary, karena hanya memiliki 2 states (on atau off). Sebuah map merupakan matriks 2 dimensi dari bits ini. Jadi sebuah bitmap merupakan matriks sederhana dari titik-titik kecil yang membentuk sebuah gambar dan ditampilkan pada layar computer atau di-print(Vaughan, 2011, p. 71). 2.1.2.3.
S ound
Ketika sesuatu bergetar dalam udara dengan bergerak mundur dan maju, akan menciptakan gelombang-gelombang tekanan. Gelombang-gelombang ini ketika mencapai gendang telinga anda, akan mengalami perubahan tekanan sebagai suara (Vaughan, 2011, p. 104). Digital audio dibuat ketika anda merepresentasikan karakteristik dari sebuah gelombang suara menggunakan angka (digitizing).Digitized sound merupakan sampled sound. Setiap beberapa bagian dalam 1 detik, sebuah sampel dari suara akan diambil dan disimpan sebagai informasi digital dalam bits dan bytes. Kualitas dari digital recording ini bergantung pada sebarapa seringsampel diambil dan berapa banyak angka yang digunakan untuk merepresentasikan nilai dari setiap sampel (Vaughan, 2011, p. 106).
14
2.1.2.4.
Animation
Animasi membuat presentasi static menjadi lebih hidup. Animasi merupakan perubahan visual sejalan dengan waktu dan dapat menambahkan kekuatan lebih pada multimedia projects dan web pages(Vaughan, 2011, p. 140). M enggunakan software dan teknik yang sesuai, anda dapat menganimasi gambar dalam banyak cara. Animasi tersimpel berjalan pada 2-D, untuk yang lebih kompleks terjadi pada intermediate 2½-D (shadowing, highlights, dll), dan animasi yang paling realistic pada 3-D. Kalau untuk 2-D menggunakan 2 axis yaitu x dan y, kalau 2½-D menggunakan z tetapi hanya untuk shadowing dan highlighting, tetapi gambarnya tetap pada sumbu x dan y, sedangkan pada sumbu 3-D menggunakan 3 sumbu yaitu x, y, dan z (Vaughan, 2011, pp. 142-143). 2.1.2.5.
Video
Video merupakan elemen multimedia yang paling menarik dan merupakan alat yang sangat baik untuk membawa pengguna lebih dekat dengan dunia nyata.Sekarang ini video merupakan salah satu elemen multimedia yang dapat menarik perhatian dari suatu keramaian dan juga mempertahankan minat belajar seorang pelajar dalam sebuah proyek belajar berbasiskan komputer.Dari semua elemen multimedia, menempatkan performa tertinggi dari computer atau device anda, termasuk juga memory dan storage (Vaughan, 2011, p. 164).
15
2.1.3. Human-Computer Interaction 2.1.3.1.
Eight Golden Rules
Ada delapan aturan emas dalam merancang interface(Shneiderman, Plaisant, Cohen, & Jacobs, 2010, pp. 88-89), yaitu: 2.1.3.1.1.
Berusaha Untuk Konsisten
Urutan tindakan yang konsisten dibutuhkan dalam situasi yang mirip. Terminologi yang identic seharusnya digunakan pada prompts, menus, dan help screens. Warna, layout, capitalization, fonts, dan lain lain yang konsisten harus digunakan. 2.1.3.1.2.
Menyediakan Fungsionalitas Universal
M engetahui kebutuhan dari pengguna berbeda dan design untuk plasticity, memfasilitasi perubahan dari content. Perbedaan antara orang awam dan expert, rentang umur, cacat, dan perbedaan keanekaragaman teknologi dapat memberikan gambaran dalam merancang design.Fitur untuk orang awam misalnya penjelasan dan fitur untuk orang ahli misalnya shortcuts dapat memperkaya interface design dan meningkatkan kualitas sistem. 2.1.3.1.3.
Memberikan Feedback Informatif
Untuk setiap tindakan user, harus ada system feedback.Untuk tindakan yang sering dan minor, respon dapat menjadi sederhana, tetapi untuk tindakan yang jarang dan major, respon dapat menjadi besar. 2.1.3.1.4.
Merancang Dialog Untuk Menghasilkan Penutupan
Urutan tindakan harus dikelompokkan ke dalam kelompok dengan permulaan, pertengahan, dan akhir.Informative feedback pada akhir dari sebuah kelompok
16
aksi memberikan pengguna kepuasan atas pencapaian, rasa lega, tanda untuk membatalkan rencana lain yang sudah dipikirkan, dan sebagai indikator untuk persiapan ke kelompok aksi berikutnya. Sebagai contoh e-commerce web sites memindahkan pengguna dari memilih produk ke checkout, diakhiri dengan halaman konfirmasi yang jelas yang menyelesaikan transaksi tersebut. 2.1.3.1.5.
Mencegah Eror
Sebisa mungkin, design sebuah sistem yang dimana pengguna tidak dapat membuat eror-eror yang serius. M isalnya: Untuk menu yang tidak cocok, bisa di-disable/hide dan juga untuk field numerik menolak untuk karakter alfabet. Jika user membuat sebuah eror, interface tersebut seharusnya dapat mendeteksi eror tersebut dan menawarkan instruksi yang simple, constructive, dan spesifik untuk recovery.Sebagai contoh, pengguna seharusnya tidak perlu memasukkan semua field kembali bila hanya salah satu field, tetapi sebaiknya dituntun untuk membetulkan bagian yang salah.Aksi yang membuat eror seharusnya membiarkan keadaan sistem tidak berubah, atau interface memberikan instruksi untuk mengembalikan keadaan. 2.1.3.1.6.
Memberikan Aksi Balik Yang Mudah
Sebisa mungkin, aksi yang dilakukan dapat diulang.Fitur ini mengurangi kecemasan, semenjak pengguna mengetahui eror dapat dibatalkan, dan memberikan keberanian untuk eksplorasi pilihan yang tidak familiar.Dapat berupa aksi tunggal, entri data, atau sebuah kelompok tindakan lengkap. 2.1.3.1.7.
Mendukung Pusat Kendali Internal
17
Pengguna yang sudah berpengalaman sangat menginginkan rasa bahwa mereka bertanggung jawab atas sistem dan sistem merespon tindakan dari mereka.M ereka tidak mau ada kejutan atau perubahan dalam keadaan yang familiar.M ereka merasa terganggu dengan pengulangan entry data yang membosankan, kesusahan dalam mencari informasi yang diperlukan, dan ketidakmampuan untuk menghasilkan hasil yang mereka inginkan. 2.1.3.1.8.
Mengurangi Beban Ingatan Jangka Pendek
Kapasitas manusia yang terbatas untuk memroses informasi dalam short-term memory membutuhkan design yang membutuhkan pengguna untuk mengingat informasi dan kemudian menggunakan informasi tersebut pada layar lain. 2.1.3.2.
Five Measurable Human Factors Goals
Terdapat lima factor manusia terukur yang dapat dijadikan sebagai pusat evaluasi (Shneiderman, Plaisant, Cohen, & Jacobs, 2010, p. 32), yaitu: 2.1.3.2.1.
Waktu Belajar
Seberapa lama user belajar untuk dapat melakukan tindakan yang benar dalam menggunakan aplikasi.Ada user yang dapat belajar dengan cepat dan ada juga yang belajar dengan lambat, hal ini tergantung dengan masing-masing user itu sendiri.Hal ini yang harus kita perhatikan untuk dapat mempermudah user dalam belajar menggunakan aplikasi yang kita buat. 2.1.3.2.2.
Kecepatan Melakukan S uatu Tugas
Seberapa lama waktu yang diperlukan untuk melakukan suatu tugas.Di sini kita melihat ketika user melakukan suatu tindakan, berapa lama waktu yang dibutuhkan user tersebut dalam menyelesaikan tindakan tersebut.
18
2.1.3.2.3.
Eror Yang Dibuat Pengguna
Seberapa banyak dan eror yang seperti apa yang dibuat orang ketika melakukan suatu tindakan. Sekalipun waktu untuk membuat dan membetulkan eror mungkin tergabung dalam kecepatan performa, dengan user interface yang baik akan dapat mengurangi atau
bahkan
menghilangkan
kemungkinan
pengguna untuk
melakukan eror. 2.1.3.2.4.
Daya Ingat Dari Waktu Ke Waktu
Seberapa baik penggunamaintain pengetahuan mereka setelah 1 jam, 1 hari, atau 1 minggu. Daya ingat mungkin berhubungan dekat dengan waktu belajar, dan frekuensi dari penggunaan. 2.1.3.2.5. Seberapa
Ketertarikan banyak
pengguna
suka
menggunakan
berbagai
aspek
dari
interface.Jawabannya dapat dipastikan dengan wawancara atau survey yang termasuk skala kepuasan dan keleluasaan untuk berkomentar. Setiap designer menginginkan untuk berhasil di setiap ukuran, tetapi ada harga yang harus ditukar.Jika waktu belajar diperpanjang, maka waktu performa tugas dapat dikurangi dengan menggunakan singkatan-singkatan, macros, dan shortcuts.Jika tingkat eror ditahan seminimal mungkin, maka kecepatan performa mungkin harus dikorbankan. 2.1.4. Waterfall Model Waterfall Model disebut juga dengan Classic Life Cycle, menyediakan sebuah pendekatan sistematik dan sekuensial pada pengembangan software yang dimulai dengan spesifikasi kebutuhan customer
dan
berlangsung melalui planning,
modeling,
19
construction, deployment, dan terakhir ongoing support pada software yang telah jadi (Pressman, 2010, p. 39).
Gambar 2.3 Waterfall Model(Pressman, 2010, p. 39) 2.1.4.1.
Communication
Dalam tahap ini terdiri dari dua, yaitu Project Initiation dan Requirements Gathering.Requirements Gathering yang dilakukan harus secara intensif dan difokuskan kepada software. 2.1.4.2.
Planning
Setelah Communication, maka akan masuk ke tahap berikutnya yaitu Planning. Terdiri dari tiga, yaitu Estimating, Scheduling, Tracking. Pada tahap ini software engineer melakukan penjadwalan untuk menyelesaikan tahap – tahap pembuatan software berdasarkan waktu yang telah dijadwalkan. 2.1.4.3.
Modeling
Setelah Planning, maka akan masuk ke tahap berikutnya yaitu Modelling. Terdiri dari 2, yaitu Analysis dan Design. Pada tahap Designakan focus pada empat atribut program yaitu Data Structure, Software Architecture, Interface Representation, and Algorithm Detail. Pada tahap ini mengubah requirements menjadi software representation sebelum penulisan code dimulai.
20
2.1.4.4.
Construction
Setelah Modelling, maka akan masuk ke tahap berikutnya yaitu Construction. Terdiri dari 2, yaitu Code dan Test. Pada tahap ini Designakan diubah ke dalam bentuk bahasa yang dimengerti oleh mesin. Setelah penulisan code sudah selesai, maka program tersebut akan diuji. Pengujian ini dilakukan agar segala bentuk eror dapat dibetulkan dan juga agar input yang dimasukkan dapat menghasilkan output yang sesuai. 2.1.4.5.
Deployment
Setelah Construction, maka akan masuk ke tahap berikutnya, yaitu Deployment. Terdiri dari tiga, yaitu Delivery, Support, Feedback.Pada tahap ini Software Engineer menyediakan dokumentasi untuk semua fitur dan fungsi yang ada dalam program yang sudah dibuat sehingga memudahkan customer dalam menggunakan program tersebut. Dan juga Software Enginnermendapat umpan balik dari customer terhadap software yang dibuat untuk perbaikan yang lebih baik dengan modifikasi fungsi dan fiturnya. 2.1.5. UML (Unified Modelling Language) Unified Modelling Language adalah suatu set dari model conventions yang digunakan untuk menentukan atau menjelaskan software system dalam bentuk objek – objek. UM L Diagram terdiri dari Use Case Diagram, Activity Diagram, Sequence Diagram, Class Diagram(Whitten & Bentley, 2007, p. 371). 2.1.5.1.
Use Case Diagram
Use Case Diagram merupakan sebuah diagram yang menggambarkan interaksi antara system, external systems, dan pengguna. Dengan kata lain, Use Case Diagram secara
21
grafik menjelaskan siapa yang akan menggunakan system dan dengan cara apa user mengharapkan untuk berinteraksi dengan system. Salah satu tool yang digunakan adalah use cases yang menjelaskan fungsi sistem dari perspektif pengguna eksternal dan dalam cara dan terminology yang mereka mengerti (Whitten & Bentley, 2007, pp. 246-250).
Gambar 2.4 Contoh Use Case Diagram(Whitten & Bentley, 2007, p. 246) Use Case Diagram terdiri dari 2 komponen utama yaitu Actors dan Relationships. 2.1.5.1.1.
Actors
M erupakan segala sesuatu yang memerlukan interaksi dengan system untuk pertukaran informasi.Sebuah actor memulai aktivitas system, sebuah use case, dengan tujuan menyelesaikan beberapa tugas bisnis yang menghasilkan sesuatu yang dapat diukur. Sebagai contoh misalkan seorang mahasiswa yang mengikuti sidang akhir skripsi, maka actor-nya adalah mahasiswa tersebut dan business event / use case-nya adalah mengikuti sidang akhir skripsi. Seorang
22
actormewakili sebuah role yang dipenuhi oleh sebuah user dan tidak berarti menggambarkan seorang individu ataupun jabatan kerja.Dalam faktanya, sebuah actor tidak harus manusia, tetapi dapat juga berupa sebuah organisasi, system informasi, sebuah external device seperti sebuah heat sensor, atau bahkan konsep waktu. Sebuah actor digambarkan sebagai stick yang diberi label, nama dari role yang dimiliki oleh actor.
Gambar 2.5 Contoh Simbol Actor(Whitten & Bentley, 2007, p. 247)
2.1.5.1.2.
Relationships
Digambarkan sebagai dua simbol pada use case diagram. Arti dari relationships mungkin dapat berbeda tergantung dari bagaimana garis tersebut digambar dan tipe simbol yang dihubungkan. Hubungan antara seorang actor dan sebuah use case menjelaskan interaksi di antara mereka. Hubungan ini disebut asosiasi. Pada gambar 2.6 dimodelkan sebuah hubungan asosiasi sebagai garis lurus yang menghubungkan antara actor dan use case-nya. Sebuah asosiasi yang terdiri dari sebuah panah menyentuh use case-nya (1) mengindikasi bahwa use case tersebut dilakukan oleh actor yang berada pada sisi lain dari garis tersebut. Asosiasi tanpa panah (2) mengindikasikan sebuah interaksi antara use case dan sebuah external
23
server atau receiver actor. Ketika satu actor terasosiasi dengan sebuah use case, kita dapat mengatakan bahwa actor tersebut berkomunikasi dengan use case.
Gambar 2.6 Contoh Relationship
2.1.5.2.
Activity Diagram
Activity diagram merupakan diagram yang dapat digunakan secara grafik menggambarkan flow dari proses bisnis, langkah – langkah dari sebuah use case atau logika dari sebuah object behavior (method)(Whitten & Bentley, 2007, pp. 390-392).
Gambar 2.7 Contoh Acti vity Diagram
24
2.1.5.3.
S ystem Sequence Diagram
System Sequence Diagram adalah diagram yang menggambarkan interaksi antara actor dan system untuk skenario use case. Kita belum memulai analisis tiap object classes. Untuk sekarang kita masih berpikir system sebagai keseluruhan (Whitten & Bentley, 2007, p. 394). Pada gambar 2.8 ada sebuah contoh system sequence diagram. Berikut ini adalah penjelasan dari notasi-notasi yang dipakai dalam diagram tersebut: 1. Actor – actor berinteraksi dengan user interface yang ditampilkan dengan symbol actor user case. 2. Interface class – kotak mengindikasikan kode class user interface. Untuk memastikan agar tidak membuat bingung, maka <
> dituliskan. Titik
dua
merupakan
notasi
standard
sequence
diagram
untuk
mengindikasikan sebuah instance yang berjalan dalam sistem. 3. Controller class – setiap use case pasti memiliki satu atau lebih class controller, digambarkan dengan notasi yang sama dengan interface class, dan diberikan tulisan <>. 4. Entity class – tambahkan box-box untuk setiap entity yang membutuhkan untuk berkolaborasi dalam langkah-langkah sequence. Titik dua menunjukkan instance objek. 5. Input messages – panah horizontal dari actor ke sistem mengindikasikan message inputs. 6. Activation bars – bar yang diset di atas lifelines mengindikasikan periode waktu ketika participant aktif dalam interaksi.
25
7. Output messages – panah horizontal dari sistem ke actor ditunjukkan sebagai garis putus-putus. 8. Self call – sebuah object dapat memanggil method-nya sendiri. 9. Frame – untuk mengindikasikan satu atau lebih message merupakan langkah optional, atau dapat berupa loop yang berarti controller dapat melakukan loop melalui item tersebut.
Gambar 2.8 Contoh S ystem Sequence Diagram untuk Login Validation(Whitten & Bentley, 2007, p. 659) 2.1.5.4.
Class Diagram
Class Diagram merupakan gambaran grafik dari sebuah struktur system’s static object, menunjukkan object classes yang menyusun system tersebut dan juga hubungan antar object classes(Whitten & Bentley, 2007, p. 400). Bagaimana atribut-atribut dan method-method di akses oleh class lain dalam Class Diagram didefinisikan oleh visibility. UM L menyediakan 3 level dari visibility, yaitu: •
Public – dilambangkan dengan symbol ‘+’.
26
•
Protected – dilambangkan dengan symbol ‘#’.
•
Private – dilambangkan dengan symbol ‘-‘.
Atribut public dapat diakses dan method public dapat dipanggil oleh method lain oleh class lainnya. Atribut protected dapat di akses dan method protected dapat dipanggil oleh method lain di class dimana atribut dan methoddidefinisikan dan di subclass dari class tersebut. Atribut private dapat diakses dan method private dapat dipanggil oleh method lain yang didefinisikan pada class itu sendiri (Whitten & Bentley, 2007, pp. 650-651).
Gambar 2.9Attribute and Method Visibility(Whitten & Bentley, 2007, p. 651) 2.1.5.4.1.
Association and Multiplicity
Association merupakan hubungan yang menyatakan apa yang perlu diketahui suatu objek terhadap lainnya. Sedangkan kalau multiplicity adalah yang mengatur association. 2.1.5.4.2.
Generalization/S pecialization
M erupakan hubungan yang terdiri dari supertype classes dan subtype classes. Kalau supertype classes memiliki atribut-atribut yang umum sedangkan kalau subtype classes memiliki atribut-atribut yang khusus dan juga mewarisi atribut dari supertype class-nya
27
2.1.5.4.3.
Aggregation/Composition
M erupakan sebuah hubungan unik dimana suatu objek merupakan bagian dari objek yang lain. Bersifat asimetris, yaitu bila objek A merupakan bagian dari objek B maka tidak sebaliknya.
Gambar 2.10 Contoh Class Diagram 2.1.6. Database S ystems Database sebuah shared collection dari data yang berelasi secara logical dan deskripsinya, dibuat untuk mencapai kebutuhan informasi dari sebuah organisasi. Deskripsi dari data diketahui sebagai system catalog/data dictionary/metadata(Connolly & Begg, 2010, p. 65).
28
Pendekatan yang diambil yaitu data abstraction, yaitu definisi dari data dipisahkan dari program aplikasi.Apa yang user lihat hanyalah definisi eksternal tetapi tidak dapat melihat bagaimana objek tersebut didefinisikan dan berfungsi. Ada 3 hal yang perlu kita perhatikan, yaitu entities, attributes,relationships. Sebuah entity adalah sebuah distinct object (seseorang, tempat, benda, konsep, atau kejadian) dalam organisasi yang direpresentasikan di database. Sebuah attribute adalah sebuah property yang menjelaskan beberapa aspek dari objek tersebut yang ingin disimpan. Sebuah relationship adalah asosiasi antara entities. Database Management System (DBMS) adalah software yang berinteraksi dengan program aplikasi pengguna dan database(Connolly & Begg, 2010, p. 66). Biasanya DBM S menyediakan fasilitas berikut: •
Data Definition Language: memungkinkan pengguna untuk mendefinisikan database dengan menentukan tipe data, struktur, dan constraints pada data yang disimpan dalam database,
•
Data Manipulation Language: memungkinkan pengguna untuk melakukan insert, update, delete, dan mengambil data dari database, dan
•
Controlled Access: o Security System: mencegah pengguna tidak dikenal mengakses database, o Integrity S ystem: mempertahankan konsistensi dari data yang disimpan, o Concurrency Control S ystem: memungkinkan shared access dari database, o Recovery Control S ystem: mengembalikan keadaan database ke keadaan stabil sebelumnya mengikuti hardware/software failure, dan
29
o User-Accessible Catalog: terdiri dari deskripsi dari data yang ada dalam database. Relation adalah sebuah table dengan baris dan kolom.Attribute adalah nama kolom dari sebuah relation. Domain adalah set dari nilai yang diperbolehkan untuk satu atau lebih attributes. Tuple merupakan baris dari sebuah relation.Degree dari sebuah relation merupakan banyaknya attributes yang ada di dalamnya. Cardinality dari sebuah relation merupakan banyaknya tuples yang ada di dalamnya.Relational database adalah sebuah koleksi dari relations yang sudah dinormalisasi dengan namarelation yang distinct. Superkey adalah sebuah atribut atau set daru atribut-atribut, yang secara unik mengidentifikasikan tuples dari sebuah relation. Candidate key adalah superkey dengan minimal subset dalam sebuah relation. Primary key adalah candidate key yang dipilih untuk mengidentifikasikan setiap baris secara unik. Foreign key adalah sebuah attribute atau set dari attributes dalam sebuah relation yang sama dengan candidate key dari beberapa relations(Connolly & Begg, 2010, pp. 144-151). 2.2. Teori Khusus 2.2.1. S ales Promotion Sales Promotion, sebuah bahan utama dalam marketing campaigns, terdiri dari peralatanperalatan yang mendorong, kebanyakan dalam jangka pendek di-design untuk menstimulasi lebih cepat atau besar pembelian produk-produk tertentu atau layananlayanan oleh konsumen atau pasar. Ketika advertising menawarkan alasan untuk membeli, sales promotion menawarkan dorongan.Salah satu tahap dalam menggunakan sales promotion, yaitu sebuah perusahaan harus mencapai tujuannya (Kotler & Keller, 2012, p. 519).
30
2.2.1.1.
Mencapai Tujuan
Untuk konsumen, tujuannya termasuk mendorong pembelian untuk unit yang besar, membangun trial bagi nonusers, dan menarik switchers dari merk competitor. Idealnya, promosi dengan consumer akan mempunyai dampak short – run sales sama seperti efek dari long-run brand equity. Bagi retailers, tujuannya termasuk membujuk retailers untuk membawa items baru dan level inventory yang lebih tinggi, mendorong pembelian off – season, mendorong stocking dari items yang berhubungan, offsetting competitive promotions, membangun keloyalan merk, dan mendapatkan entry ke dalam retail outlets. Bagi sales force, tujuannya termasuk mendorong dukundan dari sebuah produk baru atau model, mendorong prospecting yang lebih, dan menstimulasi off – season sales. 2.2.2. Augmented Reality Augmented Reality adalah suatu teknologi yang memungkinkan penggabungan secara real-time dari digital content yang dihasilkan computer dengan dunia nyata (Haller, Billinghurst, & Thomas, 2007, pp. vi-vii). Sebuah sistem augmented reality harus memenuhi 3 karakeristik berikut ini: •
Kombinasi antara real dan virtual content.
•
Bersifat interaktif dan berjalan dalam real-time.
•
Virtual content terdaftar dengan dunia nyata.
Penelitian menunjukkan bahwa teknologi augmented reality dapat diaplikasikan dalam bidang edukasi, pengobatan, engineering, militer, dan entertainment. Sebagai contoh virtual maps dapat diletakkan pada dunia nyata untuk membantu orang-orang melakukan
31
navigasi, medical imagery dapat muncul pada tubuh asli pasien, arsitek dapat melihat virtual buildings pada suatu tempat sebelum mulai untuk dibangun. 2.2.3. Computer Vision Computer Vision adalah transformasi data dari sebuah still atau video camera ke dalam sebuah keputusan atau representasi baru. Keputusan dapat berupa “there is a person in this scene” atau “there are 14 tumor cells on this slide”. Keputusan ini didapatkan dari misal untuk mengetahui ada seseorang dalam suatu scene kita dapat melakukan deteksi wajah (Bradski & Kaehler, 2008, p. 2). 2.2.3.1.
OpenCV
OpenCV merupakan open source library yang ditulis dalam C dan C++ dan berjalan di bawah Linux, Windows, dan Mac OS X. OpenCV ini memiliki lebih dari 500 fungsi yang mendukung banyak area computer vision. OpenCV juga memiliki Machine Learning Library (MLL).Salah
satu area yang difokuskan
adalah pattern
recognition(Bradski & Kaehler, 2008, p. 1). 2.2.3.2.
Template Matching
Template M atchingmerupakan
teknik
dari digital image processing untuk
menemukan sebagian kecil dari sebuah gambar yang sama dengan gambar templatenya (Brunelli, 2009, pp. 1-3). 2.2.3.2.1.
Face Detection
Face Detection merupakan sebuah teknik dalam OpenCV yang menggunakan teknik
tree-based
dan
diberi
namaHaar
Classifier.
OpenCV
mengimplementasikan teknik face detection yang pertama kali dibuat oleh Paul Viola dan M ichael Jones (Viola-Jones detector) dan kemudian dikembangkan
32
oleh Rainer Lienhart dan Jochen M aydt menggunakan “Haar Classifier”.Dengan adanya Haar Classifier ini, maka kita dapat mendeteksi suatu object misalnya adalah mendeteksi wajah seseorang(Bradski & Kaehler, 2008, pp. 506-507). 2.2.3.2.2.
Image Matching
Image Matching merupakan bagian dari Template Matching, dimana merupakan konsep untuk menyelesaikan berbagai masalah seperti Object Recognition, Image Registration, Visual Tracking, 3D reconstruction, dan lain-lain. Salah satu konsep yang dipakai adalah konsep Interest Point (dapat disebut keypoints atau feature points). Teknik-teknik dalam image matching adalah Detecting Harris Corners, Detecting FAST features, Detecting the scale-invariant SURF features, Describing SURF features(Laganière, 2011, p. 191). 2.2.3.3.
Papervision3D
Papervision3D merupakan sebuah library ditulis dalam bahasa action script 3.0 yang mudah digunakan memungkinkan developer untuk membuat 3D dalam flash.Karena dijalankan pada flash, maka anda dapat dengan mudah meletakkannya pada web(Winder & Tondeur, 2009, p. 1). 2.2.4. Bahasa Pemrograman ActionS cript 3.0 ActionScript merupakan bahasa pemrograman untuk Adobe Flash Player run-time environment.ActionScript memungkinkan interaktivitas, data handling, dan banyak lagi dalam konten dan aplikasi-aplikasi Flash(Adobe System Incorporated, 2007, p. 19). ActionScript dijalankan oleh ActionScript Virtual Machine (AVM), yang di mana merupakan bagian dari Flash Player.Kode ActionScript biasanya di-compile ke dalam format bytecode (semacam bahasa pemrograman yang ditulis dan dimengerti oleh
33
komputer) oleh sebuah compiler, seperti Adobe Flash CS3 Professional atauAdobe® Flex™ Builder™.Bytecode tersebut di-embed dalam SWF files, yang dijalankan oleh Flash Player. Kelebihan dari ActionScript 3.0 yaitu melebihi kemampuan scripting dari versi-versi sebelumnya.ActionScript 3.0 menyediakan di-design untuk memfasilitasi kreasi dari aplikasi-aplikasi yang kompleks dengan data set yang besar dan object-oriented, berdasarkan reusable code. Ketika ActionScript 3.0 tidak dibutuhkan pada konten yang dijalankan dalam Adobe Flash Player 9, Action Script 3.0 memberikan kemajuan performa yang hanya ada dengan AVM2, virtual machine yang baru. Kode ActionScript 3.0 dapat menjalankan sampai sepuluh kali lebih cepat dari ActionScript yang sebelumnya.