BAB 2
TINJAUAN PUSTAKA
2.1
Multimedia 2.1.1 Pengertian Multimedia Menurut Vaughan (2011:1-2) multimedia adalah kombinasi dari elemen-elemen multimedia berupa teks, gambar, grafis, suara, animasi, dan video yang dimanipulasi secara digital. Sebuah proyek tidak harus dapat berinteraksi dengan pengguna (interaktif) untuk dapat disebut multimedia. Proyek tersebut dapat bersifat linier, berjalan secara berurutan dari awal hingga akhir seperti sebuah film. Ketika pengguna diizinkan untuk melakukan interaksi dan mengontrol apa dan kapan elemen-elemen multimedia ditampilkan, sesuai dengan keinginan pengguna, sifat produk multimedia menjadi non-linier. Dalam hal ini, multimedia disebut sebagai multimedia interaktif (interactive multimedia). Dalam multimedia interaktif pengguna dapat mengontrol dan mendapatkan feedback secara langsung dari produk atau aplikasi multimedia. Bila multimedia interaktif diberikan suatu struktur elemen-elemen yang saling berhubungan, sehingga pengguna dapat melakukan navigasi dan menelusuri produk multimedia tersebut. Dalam hal ini multimedia interaktif berubah menjadi hypermedia. Dengan demikian, multimedia dapat membantu memberikan informasi secara jelas, menarik, dan efektif.
2.1.2 Elemen Multimedia Seperti yang dijelaskan dalam pengertian multimedia bahwa multimedia adalah kombinasi dari elemen-elemen multimedia. Elemenelemen tersebut berupa teks, gambar, suara, video, dan animasi. Berikut adalah penjelasan dari masing-masing elemen menurut Vaughan (2011:18-169):
7
8 1. Teks Teks dapat membentuk kata, pesan, atau narasi. Teks digunakan dalam menyampaikan pikiran, ide, dan fakta, serta memberikan
informasi
secara
tertulis
kepada
pengguna.
Penggunaan teks bervariasi, tergantung fungsi teks itu sendiri dan aplikasi yang dibuat. Contohnya dalam arcade game, penggunaan teks akan lebih sedikit ditemukan dibandingkan dalam Role Playing Game (RPG). Contoh lainnya adalah dalam aplikasi ensiklopedia yang membutuhkan teks dalam jumlah banyak dibandingkan game. 2. Gambar Penilaian terhadap suatu aplikasi multimedia dipengaruhi oleh pengaruh visual dari aplikasi. Sebagai salah satu elemen pendukung tampilan visual, image atau gambar adalah elemen penting dalam pembuatan produk multimedia. Gambar bisa berukuran besar maupun kecil, berwarna maupun monokrom, ditempatkan secara acak pada layar, berbentuk geometris ataupun dibentuk secara aneh. Gambar dihasilkan dengan 2 cara: • Bitmap Bitmap image atau disebut juga raster image dapat dibuat dengan dengan “painting” programs. Bitmap adalah sebuah data matriks yang berisikan titik-titik yang menyusun sebuah gambar. Titik-titik inilah yang disebut bit yaitu elemen paling sederhana dalam dunia digital berupa digit elektronik yang menyimpan hanya dua nilai. Nilai tersebut dapat berupa true (1) atau false (0), hitam atau putih, dsb. Variasi warna dalam setiap elemen gambar bitmap ditentukan dengan kedalaman bit (bit-depth). Elemen gambar ini disebut pels atau biasa disbut pixels. Pada gambar hitam-putih (monokrom), kedalaman bitnya adalah 1 (1-bit depth), yang artinya hanya dapat menyimpan dua warna yaitu hitam dan putih. Pada gambar berwarna kedalaman bitnya semakin tinggi.
9 Bitmap dapat digunakan untuk gambar-gambar yang berupa foto realistis dan gambar yang memerlukan detil kompleks. Namun, ukuran file gambar bitmap cenderung lebih besar. Selain itu, gambar bitmap tidak dapat menjaga kualitas gambar jika diperbesar. Contoh kompresi bitmap adalah JPEG dan Tagged Image File Format (TIFF). • Vector drawing Vector drawing dihasilkan dengan menggunakan titik-titik
pada
koordinat kartesius
yang
kemudian
digunakan untuk membentuk garis, bentuk geometris, dan bentuk-bentuk lain yang bisa diekspresikan secara matematis dalam sudut, koordinat, dan jarak. Gambar vektor (vector drawing) dibuat dengan menggunakan “drawing” programs. Contoh format vektor adalah Scalable Vector Graphics (SVG) dan Vector Markup Language (VML). Kelebihan gambar vektor adalah ukuran file yang jauh lebih kecil daripada gambar bitmap. Selain itu gambar vektor dapat diperbesar dan diperkecil tanpa mengurangi kualitas atau menambah ukuran file gambar. Kekurangan gambar
vektor
yaitu
tidak
bisa
digunakan
untuk
menyimpan foto atau pun gambar-gambar kompleks lainnya dan tidak bisa dibuka di halaman web tanpa plugin. 3. Suara Suara dihasilkan dari getaran suatu benda yang kemudian menghasilkan gelombang. Gelombang tersebut menyebar dan ketika mencapai telinga akan mengalami perubahan tekanan atau getaran. Inilah yang kemudian dipersepsikan sebagai sebuah suara. Suara merupakan gabungan berbagai sinyal, tetapi suara murni secara teoritis dapat dijelaskan dengan kecepatan frekuensi yang diukur dalam Hertz dan kenyaringan bunyi dengan pengukuran dalam desibel. Ada 2 macam suara yang biasa digunakan dalam multimedia:
10 • Suara Digital Suara
digital
dibuat
untuk
merepresentasikan
karakteristik dari gelombang suara dengan menggunakan angka-angka. Suara digital dihasilkan dari hasil konversi gelombang suara yang disimpan ke dalam informasi berbentuk bits dan bytes. Proses konversi ini disebut digitizing. Kualitas dari hasil digitizing ini bergantung pada seberapa sering sampel diambil (sampling rate) dan berapa banyak angka yang digunakan untuk merepresentasikan tiaptiap sampel (bit depth). Digital Audio digunakan dalam kondisi: - Bila memiliki sumber daya komputasi dan bandwidth yang memadai untuk membawa file digital. - Bila tidak memiliki kontrol terhadap perangkat keras pemutaran. - Bila memerlukan dialog lisan. • MIDI MIDI adalah singkatan dari Musical Instrument Digital Interface. MIDI bukan merupakan hasil rekaman yang melewati proses digitizing. MIDI merupakan data yang merepresentasikan suara dalam bentuk numerik. Ukuran file MIDI biasanya lebih kecil daripada file digital audio, sehingga dapat digunakan dalam halaman web dan diakses lebih cepat dibandingkan file digital lain. Selain itu, MIDI juga dapat diubah. MIDI digunakan dalam kondisi: - Bila suara digital tidak dapat dimainkan karena tidak adanya RAM, ruang hard disk, atau bandwidth yang mencukupi. - Bila memiliki sumber suara MIDI berkualitas tinggi. - Bila tidak memerlukan dialog lisan. - Bila memiliki kontrol terhadap perangkat keras pemutaran MIDI dengan kualitas yang tinggi.
11 4. Animasi Animasi pada dasarnya adalah serangkaian gambar, yang memiliki sedikit perbedaan antar gambar, yang kemudian saling berganti dengan sangat cepat, sehingga nampak seolah-olah berubah atau bergerak. Animasi paling sederhana berupa efek visual seperti fades, wipes, zooms, dan dissolve. Penambahan animasi dapat membuat presentasi statis menjadi hidup. Terdapat dua teknik pembuatan animasi yaitu cel animation dan computer animation. Cel animation digunakan dalam pembuatan animasi 2D, sedangkan computer animation dapat digunakan baik dalam pembuatan animasi 2D, 2½-D, maupun 3D. Berikut penjelasan kedua teknik tersebut, terutama terkait dengan pembuatan animasi 2D: • Cel Animation Teknik
ini
dipopulerkan
oleh
Disney
dengan
menggunakan serangkaian gambar yang berubah secara bertahap atau disebut cel pada setiap frame film. Cel animation menggunakan keyframe, yaitu frame pertama dan terakhir dari sebuah pergerakan dalam animasi. Contohnya, dalam animasi bola memantul, terdapat dua pergerakan yaitu saat bola turun hingga menyentuh lantai dan saat bola memantul kembali ke atas. Saat bola bergerak turun, misalnya, keyframe pembuka (pertama) adalah ketika bola masih belum dijatuhkan dan keyframe penutupnya (terakhir) adalah ketika saat bola menyentuh lantai. Frame-frame lain diantara dua keyframe digambarkan dalam proses yang disebut tweening. Tweening dilakukan dengan menghitung jumlah frame tersebut dan jalur yang dilewati pergerakan tersebut, kemudian menggambarkan perubahan-perubahan yang terjadi di antara kedua keyframe. • Computer Animation Computer animation menggunakan konsep logis dan procedural yang sama dengan cel animation, seperti layer, keyframe, dan tweening. Perbedaan utama keduanya adalah
12 berapa banyak gambar yang harus dibuat oleh animator dan berapa banyak yang secara otomatis dibuat oleh komputer. Selain itu, pada computer animation, animator cukup membuat atau mengimpor objek dan menentukan jalur (path) yang akan diikuti oleh objek tersebut. Oleh karena itu, computer animation untuk animasi 2D sering juga disebut path animation. 5. Video Video merupakan elemen multimedia yang dapat dengan efektif menyampaikan pesan dan memperkuat cerita (seperti dalam game). Video juga dapat lebih menarik perhatian penonton atau pengguna. Namun, dari semua elemen multimedia, video membutuhkan performa memori dan penyimpanan komputer yang paling tinggi. Karena alasan tersebut, masih banyak desainer multimedia yang memilih tidak menghadirkan video dalam proyeknya. Terdapat dua jenis video: • Video Analog Dalam sistem video analog, output dari CCD (ChargeCouple Device) diproses oleh kamera ke dalam tiga saluran informasi warna: merah, hijau, dan biru (RGB); dan synchronization pulses (sync), setelah itu sinyal direkam ke pita magnetik. Ada beberapa standard video untuk mengelola
keluaran
CCD
analog,
masing-masing
disesuaikan dengan jumlah pemisahan komponen (jumlah informasi warna). Semakin banyak pemisahan informasi warna, semakin banyak kualitas gambar dan semakin mahal peralatan yang harus digunakan. • Digital Video Video digital adalah komponen multimedia yang ampuh untuk membawa pengguna lebih dekat dengan dunia nyata. Video digital juga merupakan metode yang sangat baik untuk menyampaikan multimedia. Dengan adanya elemen video, maka pesan dan cerita dapat lebih efektif
13 disampaikan. Pada video digital, output CCD didigitalisasi oleh kamera ke dalam satu frame, sementara data video dan audio dikompresi sebelum disimpan ke dalam tape, disc, atau flash memory.
2.2
Interaksi Manusia dan Komputer 2.2.1 Pengertian Interaksi Manusia dan Komputer Menurut Shneiderman dan Plaisant (2010:22), interaksi manusia dan komputer adalah pengaplikasian metode-metode yang digunakan oleh manusia dalam penerapaan penggunaan komputer.
2.2.2 Lima Faktor Manusia Terukur Menurut Shneiderman dan Plaisant (2010:32), faktor-faktor yang harus diperhatikan dalam merancang user interface, antara lain: 1. Time to learn (waktu belajar) Lamanya waktu yang diperlukan oleh user agar dapat mempelajari bagaimana cara menggunakan aksi-aksi yang relevan dalam mengerjakan suatu tugas. 2. Speed of performance (kecepatan kinerja) Lamanya waktu yang dibutuhkan dalam mengerjakan suatu tugas. 3. Rate of errors by users (tingkat kesalahan) Seberapa banyak dan tipe kesalahan apa saja yang dibuat oleh pengguna dalam mengerjakan suatu tugas. 4. Retention over time (daya ingat) Seberapa baik pengguna mempertahankan pengetahuannya dalam jangka waktu tertentu. 5. Subjective satisfaction (kepuasan subjektif) Menyatakan besaran kepuasan user terhadap aspek-aspek yang ada di dalam interface pada saat penggunaan aplikasi.
2.2.3 Delapan Aturan Emas Shneiderman dan Plaisant menjelaskan delapan aturan yang dapat digunakan sebagai petunjuk yang baik untuk merancang user interface (2010:88-89), yaitu:
14 1. Konsistensi Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah. Konsistensi mencakup tata letak, menu, jenis font, bentuk prompt, dan warna tulisan yang digunakan. 2. Memenuhi kebutuhan universal Rancangan layar harus mempertimbangkan perbedaan pengguna seperti pengalaman pengguna dengan sistem (novice-expert), rentang usia, disabilitas, dan variasi teknologi. 3. Memberikan umpan balik yang informatif Untuk setiap aksi pengguna, sistem harus dapat memberikan umpan balik kepada pengguna. Untuk aksi kecil dan sering dilakukan, berikan umpan balik yang sederhana, sementara untuk aksi besar dan jarang dilakukan, berikan umpan balik yang lebih jelas. 4. Merancang dialog untuk menghasilkan keadaan akhir Urutan aksi sebaiknya diorganisir dalam tiga bagian yaitu awal, tengah, dan akhir. Pada bagian akhir berikan umpan balik yang informatif. Hal ini berguna untuk memberikan kepuasan saat pekerjaan
tersebut
telah
selesai,
rasa
lega,
menurunkan
kekhawatiran, dan tanda persiapan untuk aksi-aksi berikutnya. 5. Mencegah kesalahan Usahakan agar sistem dapat mencegah pengguna melakukan kesalahan yang fatal. Jika pengguna melakukan kesalahan, sistem dapat mendeteksinya dan memberikan instruksi yang mudah dipahami, spesifik, dan membangun untuk penanganan kesalahan. 6. Memungkinkan pembalikan aksi yang mudah Sistem yang dibuat diharapkan memungkinkan pengguna untuk membatalkan
aksi
yang
dilakukannya.
Dengan
demikian,
pengguna dapat merasa lebih rileks karena pengguna mengetahui bahwa setiap kesalahan yang dilakukannya dapat dibatalkan dan menjadikan pengguna lebih berani untuk mencoba dengan fiturfitur yang ada.
15 7. Mendukung pusat kendali internal Biarkan pengguna yang mengkontrol antarmuka dan antarmuka tersebut merespon tindakan pengguna, bukan sebaliknya. 8. Mengurangi beban ingatan jangka pendek Keterbatasan ingatan jangka pendek manusia membutuhkan tampilan yang sederhana, penggabungan beberapa halaman, perpindahan window yang minim, dan waktu yang cukup untuk mempelajari kode-kode, singkatan, serta urutan aksi.
2.3
Unified Modelling Language (UML) 2.3.1 Pengertian UML Menurut Whitten dan Bentley (2007:371), Unified Modelling Language (UML) adalah sekumpulan kesepakatan dalam pemodelan yang digunakan untuk menjabarkan dan mendeskripsikan sebuah sistem perangkat lunak dalam kaitannya dengan objek. UML merupakan bahasa standard pemodelan objek yang digunakan untuk mendeskripsikan objekobjek serta hubungan antar objek dalam sistem berorientasi objek (object oriented).
2.3.2 Use-Case Modelling 2.3.2.1 Use-Case Diagram Whitten dan Bentley (2007:246-250, 382) menjelaskan bahwa untuk menggambarkan interaksi antara sistem dan eksternal sistem serta pengguna digunakan use-case diagram. Use-case diagram menggambarkan siapa yang akan menggunakan sistem dan ekspektasi cara pengguna untuk berinteraksi dengan sistem. Komponen-komponen yang penting dan yang perlu diperhatikan di dalam use case diagram adalah: 1. Use Case Use case adalah komponen dalam use-case modeling yang mendeskripsikan fungsi dari sistem. Use case digambarkan dengan bentuk elips horizontal dengan nama dari use case yang muncul di atas, bawah, atau dalam elips. Setiap
use
case
mewakili satu
tujuan
sistem
dan
16 menunjukkan urutan dari aktivitas dan interaksi pengguna terhadap sistem untuk mencapai tujuan tersebut. Contoh penggunaan use case dapat dilihat pada Gambar 2.1 dibawah ini.
Gambar 2.1 Contoh Penggunaan Use Case dalam UseCase Diagram
2. Actors Use case dapat berjalan karena adanya aksi dari external users yang disebut actors (aktor). Seorang aktor hanya merepresentasikan peran pengguna ketika berinteraksi dengan sistem dan tidak menggambarkan seorang individu maupun jabatan kerja. Aktor tidak harus manusia, melainkan dapat berupa organisasi, sistem informasi lain, dan external device. Aktor digambarkan dengan simbol yang berbentuk seperti manusia, seperti yang dapat dilihat pada Gambar 2.2.
Gambar 2.2 Simbol Aktor dalam Use-Case Diagram
17 Aktor dibagi ke dalam empat tipe: • Primary business actor Seorang stakeholder yang mendapatkan keuntungan ketika use case dijalankan. Primary business actor dapat maupun tidak dapat menjalankan business event. • Primary system actor Stakeholder yang secara langsung berinteraksi dengan sistem untuk menjalankan business atau system event. Primary system actor dapat berinteraksi dengan primary business actor dengan memfasilitasi primary business actor untuk menjalankan secara langsung business event demi keuntungan primary bussiness actor. • External server actor Stakeholder yang merespons permintaan dari use case. • External receiver actor Stakeholder yang menerima nilai terukur dari use case tetapi bukanlah primary actor.
3. Relationships Relationships digambarkan dengan garis yang berada di antara dua use case atau antara use case dengan actor dalam use-case diagram. Cara penggambaran garis dan simbol-simbol apa saja yang saling terhubung dapat memberikan arti yang berbeda-beda. Relationships terbagi menjadi lima tipe: • Association Hubungan antara seorang actor dan sebuah use case yang muncul ketika ada interaksi di antara keduanya
disebut
association.
Hubungan
ini
digambarkan dengan sebuah garis lurus yang solid. Jika pada garis terdapat panah yang menunjuk sebuah use case, hal ini menunjukkan bahwa use case tersebut
18 ditiru oleh actor. Jika pada garis tidak terdapat panah, maka hal ini menunjukkan interaksi antara use case dan external server atau receiver actor. Ketika actor manapun diasosiasikan dengan use case, actor dianggap sedang berkomunikasi dengan use case. Hubungan asosiasi ini dapat bersifat bidirectional maupun unidirectional.
Contoh hubungan ini dapat
dilihat pada Gambar 2.3.
Gambar 2.3 Contoh Association Relationships • Extends Untuk menyederhanakan use case agar mudah dipahami, tahapan yang rumit di dalam use case dapat dijadikan sebuah use case tersendiri. Hasilnya berupa extension use case yang merupakan perpanjangan dari fungsi use case yang sebelumnya lebih kompleks. Hubungan antara extension use case dan use case yang diekstensi tersebut disebut extends relationship, seperti yang dicontohkan pada Gambar 2.4. Sebuah use case dapat memiliki banyak extended relationship tetapi extended use case hanya dapat dipanggil oleh satu use case
awal.
Setiap
garis
penghubung
extended
relationship menggunakan panah yang menunjuk ke use
case
yang
<<extends>>.
diekstensi dan
diberikan label
19
Gambar 2.4 Contoh Extended Relationship • Uses Dalam
pembuatan
use-case
diagram,
ada
kemungkinan terdapat dua atau lebih use case yang memiliki tahapan fungsi yang sama. Tahapan ini dapat dipisahkan ke dalam use case tersendiri yang disebut abstract use case untuk mengurangi redundancy diantara
use
cases.
Abstract
use
case
dapat
direferensikan atau digunakan oleh use case lain yang membutuhkan fungsi tersebut. Hubungan
antara
abstract use case dan use case yang menggunakan abstract
use
case
disebut
uses
atau
includes
relationship, seperti dicontohkan pada Gambar 2.5. Garis penghubung antara kedua use case tersebut menggunakan panah di salah satu ujung yang menunjuk ke abstract use case dan diberi label <<uses>> atau <
>.
Gambar 2.5 Contoh Uses Relationship
20 • Depends on Beberapa use case memiliki ketergantungan dengan use case lainnya. Dengan kata lain, sebuah use case hanya dapat dijalankan ketika use case lainnya sudah
dijalankan.
Hubungan
ketergantungan
ini
disebut depends on relationship. Untuk hubungan ini, seperti
dicontohkan
pada
Gambar
2.6,
garis
penghubung antar use case menggunakan panah yang menunjuk ke use case yang menjadi ketergantungan dan diberi label <<depends on>>.
Gambar 2.6
Contoh Depends On Relationship
• Inheritance Ketika dua atau lebih actors berbagi use case yang sama, dapat dilakukan pembagian actor ke dalam sebuah abstract actor yang baru sehingga mengurangi komunikasi yang redundant di dalam sistem. Kedua (atau lebih) aktor tersebut kemudian menjadi turunan dari
aktor
abstrak
menghubungkan
tersebut.
abstract
actor
Hubungan
yang
dengan
aktor
turunannya disebut inheritance relationship. Relasi ini digambarkan dengan garis berpanah yang menunjuk ke abstract actor. Contoh penggunaan inheritance dapat dilihat pada Gambar 2.7 berikut.
21
Gambar 2.7 Contoh Penggunaan Inheritance Relationship
2.3.2.2 Use-Case Narrative Use-Case narrative (Whitten dan Bentley, 2007:261,382) merupakan deksripsi tekstual dari sebuah use-case. Use-Case narrative menjelaskan secara tekstual seluruh use-case yang ada dalam sistem, bagaimana interaksi pengguna dengan sistem serta langkah-langkah interaksi untuk menyelesaikan tugas yang dimiliki oleh masing-masing use-case. Terdapat dua jenis atau tingkatan usecase narrative: •
High-Level Use-Case Narrative High-Level
Use-Case
Narrative
digunakan
untuk
menjelaskan use-case dengan menggunakan elemenelemen berikut seperti dicontohkan pada Gambar 2.8: o Pengarang – Nama pembuat use case. o Tanggal – Tanggal perbaikan terakhir dari use case. o Versi – Versi terkini dari use-case o Nama use-case – Nama use-case harus mewakili tujuan use-case tersebut. o
Tipe use-case – Dalam perancangan dengan menggunakan use case, terdapat beberapa tipe use case yang dapat digunakan. Pertama adalah business requirement use case, yang memberikan
22 gambaran umum mengenai tujuan dari para stakeholder yang menggunakan sistem. Tipe use case ini adalah tipe yang pertama kali dibuat dalam perancangan. Tipe ini berorientasi bisnis dan mencerminkan high-level view dari cara kerja (behaviour) sistem yang diinginkan. Oleh karena itu, narrrative use case tipe ini memberikan gambaran umum mengenai area dan cakupan masalah, namun tidak menyertakan detil teknis dan detil komunikasi dengan para developer tentang apa yang harus dilakukan sistem. Tipe kedua disebut system use case yang menggambarkan detil implementasi seperti user interface, aturan-aturan, dan
pemanggilan
use
case
lain,
yang
dikembangkan dari business requirement use case. Tipe yang ketiga adalah abstract use-case yang digunakan untuk mendeskripsikan abstract use case yang ada dalam use-case diagram. o Use case ID – Identitas unik yang dimiliki sebuah use case. o Prioritas – Menandakan seberapa penting sebuah use case ada dalam sistem. o Sumber – Sumber yang dimaksud adalah entitas yang memicu terbentuknya sebuah use case. Entitas ini dapat berupa kebutuhan, dokumen, atau stakeholder. o Aktor bisnis utama – Pemegang kepentingan yang paling dapat merasakan manfaat dari sebuah use case dengan menerima suatu nilai yang dapat diukur atau diamati. o Aktor terlibat lainnya – Aktor-aktor lain yang ikut terlibat dalam use case seperti initiating actors, facilitating actors, server/receiver actors, dan
23 secondary actors. Selalu sertakan peran serta aktor-aktor ini dalam use case tersebut. o Interested stakeholder(s) – Orang-orang selain aktor yang memiliki ketertarikan atas tujuan use case. o Deskripsi – Penjelasan singkat mengenai tujuan dan aktivitas use case.
Gambar 2.8 Contoh High Level Use-Case Narrative •
Expanded Use-case Narrative Expanded Use-case Narrative adalah pengembangan dari High-Level Use-case Narrative yang dilakukan dengan menambahkan elemen: o Prekondisi – Syarat-syarat yang harus terpenuhi sebelum sebuah use case dapat dijalankan. Syarat ini biasanya berupa use case lain yang harus dijalankan terlebih dahulu. o Pemicu (Trigger) – Kejadian yang memicu berjalannya use case. Kejadian ini biasanya berupa kegiatan fisik seperti ketika pelanggan menuju ke meja layanan, pengecekan surat, dsb. Use case dapat juga berjalan akibat terpicu oleh waktu tertentu.
24 o Typical course of events – Urutan aktivitas yang dilakukan oleh aktor dan sistem untuk mencapai tujuan use case, yang digambarkan seperti interaksi antara aktor dan sistem, dalam keadaan normal. o Alternate courses – Aktivitas alternatif yang dilakukan dalam kondisi tertentu ketika kondisi dari typical course of events tidak terpenuhi. o Konklusi – Konklusi menyatakan kapan use case selesai dijalankan. o Poskondisi – Kondisi atau aktivitas sistem setelah use case berhasil dilaksanakan. Poskondisi dapat berupa penyimpanan data ke database atau pencetakan kwitansi. o Aturan bisnis – Aturan bisnis menyatakan aturanaturan dan prosedur-prosedur bisnis yang harus diikuti oleh sistem. o Batasan dan spesifikasi implementasi – Batasan dan
spesifikasi
implementasi
menyatakan
kebutuhan non-fungsional yang dapat berdampak pada penerapan use case dan dapat membantu perencanaan
arsitektural
seperti
spesifikasi
keamanan, interface, dsb. o Asumsi – Asumsi-asumsi yang dibuat ketika pembuatan use case. o Open issues – Pertanyaan-pertanyaan atau isu-isu yang harus diselesaikan atau ditelusuri sebelum use case dapat diselesaikan.
2.3.3 Activity Diagram Whitten dan Bentley (2007:382,391) menjelaskan bahwa activity diagram digunakan untuk menggambarkan urutan proses atau aktivitas dari sebuah use case atau proses bisnis. Activity diagram juga dapat digunakan sebagai logika model dengan sistem. Activity diagram mirip dengan flowchart, namun activity diagram menyediakan mekanisme
25 untuk menjelaskan aktivitas-aktivitas yang terjadi bersamaan (paralel). Oleh karena itu, activity diagram sangat berguna untuk menggambarkan tindakan yang akan dilakukan dan hasil dari tindakan tersebut. Activity diagram dapat digambarkan dengan menggunakan notasi-notasi pada Tabel 2.1 di bawah ini.
Tabel 2.1 Nama Notasi
Notasi Activity Diagram
Lambang Notasi
Deskripsi Notasi ini merepresentasikan
Initial node
mulainya suatu activity. Notasi ini merepresentasikan
Actions
ActionState
langkah-langkah dalam setiap proses activity diagram.
Flow
Notasi ini menunjukkan alur dari activity diagram. Notasi ini menunjukkan adanya pilihan dalam proses activity
Decision
yang bergantung pada kondisi yang ada saat activity berlangsung. Notasi ini menggabungkan
Merge
beberapa flow masukkan yang sebelumnya dipisahkan oleh decision. Notasi ini menghasilkan beberapa output flow paralel
Fork
dari satu input flow. Output flow tersebut dapat dilakukan berurutan maupun secara bersamaan.
26 Notasi ini menghasilkan satu output flow dari beberapa input Join
flow. Semua flow masukkan harus dikerjakan terlebih dahulu sebelum melewati joins. Notasi ini menunjukkan akhir
Activity final
dari seluruh proses activity diagram.
2.3.4 Class Diagram Menurut Whitten dan Bentley (2007:73-379,400,648-650), class diagram merupakan gambaran grafis mengenai struktur kelas-kelas objek yang menyusun sistem beserta hubungan di antara kelas-kelas tersebut. Setiap kelas (class), seperti dicontohkan pada Gambar 2.9, digambarkan dengan sebuah kotak yang terbagi atas 3 (tiga) bagian, yaitu: 1.
Nama :
identitas dari setiap kelas.
2. Atribut
: data yang menunjukkan karakteristik penting yang dimiliki oleh sebuah objek dari kelas yang dimaksud.
3. Behaviour : Behaviour menunjukkan apa yang bisa dilakukan oleh suatu kelas yang mengacu pada fungsi-fungsi yang mempengaruhi atau menggunakan data/atribut. Behaviour juga dikenal sebagai method.
<> -atribut1 +atribut2 +behaviour1 + behaviour 2 Gambar 2.9 Struktur Kelas
27 Terdapat beberapa istilah yang digunakan dalam Class Diagram, yaitu: 1. Visibility Visibility menandakan level akses untuk setiap atribut atau method yang berada dalam suatu kelas. Terdapat 3 jenis visibility: private, public, dan protected, yang penjelasannya dapat dilihat pada Tabel 2.2.
Tabel 2.2 Visibility
Jenis-jenis Visibility pada Class Diagram Simbol
Private
-
Public
+
Protected
#
Deskripsi Hanya dapat diakses oleh kelas yang mendefinisikan saja. Dapat diakses oleh semua kelas yang behubungan. Dapat diakses oleh kelas yang mendefinisikan dan turunannya.
2. Multiplicity Multiplicity
menandakan
nilai
minimum
dan
maksimum
munculnya sebuah kelas objek untuk setiap kemunculan satu kelas objek yang berhubungan. Nilai tersebut dituliskan dalam notasinotasi multiplicity yang dapat dilihat pada Tabel 2.3 berikut.
Tabel 2.3
Notasi Multiplicity pada Class Diagram
Multiplicity Deskripsi 0..1
Nol atau satu
1
Tepat satu
0..*
Nol atau lebih
1..*
Satu atau lebih
m..n
Rentang yang spesifik (dari m hingga n)
28 3. Association Association
menggambarkan
hubungan
antar
kelas.
Hubungan antar kelas ini sekaligus menampilkan multiplicity yang dimiliki antar kelas. Secara default, association dalam class diagram bersifat bidirectional, seperti yang dapat dilihat pada Gambar 2.10 (a). Sifat ini memungkinkan kelas-kelas yang saling berhubungan melakukan navigasi (mengirim pesan) satu sama lain. Namun, ada kalanya developer ingin membatasi arah pengiriman pesan. Untuk kasus ini fungsi navigatibily dapat diberikan dengan menambahkan anak panah yang menunjukkan arah navigasi, seperti yang dapat dilihat pada Gambar 2.10 (b).
(a)
(b) Gambar 2.10 Contoh Association (a) bidirectional (b) dengan navigability
4. Generalization/Specialization Generalization/Specialization adalah sebuah teknik dimana atribut dan method yang sama yang dimiliki beberapa kelas berbeda dikelompokkan menjadi satu kelas tersendiri. Kelas baru yang disebut supertype (generalization), sementara kelas-kelas yang memiliki kesamaan tersebut disebut dengan subtype (specialization). Konsep generalization/specialization merupakan penerapan konsep inheritance, kelas supertype merupakan parent dan
kelas
subtype
adalah
child.
Contoh
penggunaan
generalization/specialization dapat dilihat pada Gambar 2.11 di bawah ini.
29
Gambar 2.11 Contoh Generalization/Specialization
5. Aggregation Aggregation menunjukkan adanya relasi antara kelas “bagian" yang lebih kecil dengan kelas “utuh” yang lebih besar. Kelas yang lebih kecil merupakan “bagian” yang menyusun kelas yang lebih besar. Kelas yang lebih besar dapat tersusun dari beberapa kelas yang lebih kecil.
Gambar 2.12 Contoh Aggregation
Bentuk
lain
dari
aggregation
adalah
composition.
Composition adalah relasi aggregation dimana suatu kelas “utuh” berperan secara penuh terhadap keberadaan dari kelas “bagian”. Kelas
“bagian”
dihancurkan.
akan
dihancurkan
Sedangkan
pada
apabila
relasi
kelas
“utuh”
aggregation
selain
composition, Kelas “bagian” dapat tetap dipertahankan (tidak dihancurkan)
apabila
kelas
“utuh”
dihancurkan.
Contoh
aggregation dapat dilihat pada Gambar 2.12 dan contoh composition dapat dilihat pada Gambar 2.13.
30
Gambar 2.13 Contoh Composition
2.4
Feature Driven Development (FDD) Feature
Driven
Development
(FDD)
(Pressman,
2010:86-87)
merupakan salah satu bentuk metode pengembangan program Agile Method. FDD dikembangkan pertama kali oleh Peter Coad dan rekan-rekannya sebagai model proses praktis untuk pembuatan perangkat lunak berorientasi objek. Metode ini kemudian dikembangkan oleh Stephen Palmer dan John Felsing menjadi proses yang adaptif dan cepat (agile) yang dapat diterapkan pada proyek perangkat lunak berukuran menengah hingga besar. Menurut Coad, Lefebvre, dan DeLuca (Pressman, 2010:86), sebuah fitur (feature) adalah sebuah fungsi yang berguna untuk klien/pengguna (client-valued) yang dapat diterapkan dalam waktu kurang dari dua minggu. Definisi tersebut ditekankan melalui keuntungan-keuntungan berikut: • Fitur-fitur dalam FDD adalah blok-blok fungsionalitas kecil yang dapat dipisahkan satu sama lain, sehingga pengguna dapat mendeskripsikan blok-blok tersebut dengan lebih mudah; memahami hubungan di antara mereka tersebut dengan segera; dan meninjau ulang untuk ambiguitas, error, atau kelalaian. • Fitur-fitur dapat disusun ke dalam kelompok-kelompok hirarkis yang terkait dengan bisnis. • Sebuah fitur adalah peningkatan software yang dapat dipisah-pisahkan, sehingga tim pembuat software dapat membuat fitur operasional setiap dua minggu. • Ukuran setiap blok kecil, sehingga representasi rancangan dan kode lebih mudah untuk diperiksa secara efektif. • Perencanaan,
penjadwalan,
berdasarkan urutan/hirarki fitur.
dan
penyusuran
proyek
dilakukan
31
Gambar 2.14 Lima “Collaborating” Framework Activities dalam FDD FDD mendeskripsikan lima “collaborating” framework activities (processes), seperti pada Gambar 2.14, yang digunakan dalam pembuatan software. Kelima aktivitas tersebut adalah: 1. Develop an Overall Model Pada tahap ini data yang telah dikumpulkan dianalisis untuk mendapatkan daftar kebutuhan dan gambaran mengenai software atau aplikasi yang harus dibuat. 2. Build a Features List Pada tahap kedua ini, dibuat daftar fitur dan dikelompokkan ke dalam beberapa set yang mewakili fitur utama software. 3. Plan By Feature Pada tahap ini dibuat jadwal pembuatan setiap fitur yang disusun berdasarkan prioritas setiap fitur. 4. Design By Feature Mulai tahap keempat, fokus dialihkan dari pengembangan software secara keseluruhan ke pengembangan setiap fitur. Pada tahap ini dibuat rancangan fitur berupa UML dan storyboard. 5. Build By Feature Pada tahap terakhir fitur dibuat berdasarkan rancangan dari tahap sebelumnya. Fitur yang telah dibuat kemudian melalui proses testing sebelum akhirnya diintegrasikan ke dalam software atau aplikasi.
32 2.5
Mobile-Assisted Language Learning Mobile-Assisted Language Learning (MALL) merupakan salah satu bidang Computer-Assisted Langueage Learning (CALL). Secara umum, CALL merupakan istilah yang menggambarkan penggunaan teknologi dalam kegiatan belajar dan mengajar bahasa kedua. MALL, secara lebih khusus menggambarkan penggunaan teknologi mobile pada konsep CALL. (Stockwell, 2012:10)
2.6
Speech Recognition Speech recognition merupakan proses identifikasi yang dilakukan komputer atas kata-kata yang diucapkan oleh pembicara melalui sinyal akustik. (Russel dan Norvig, 2010:912)
2.7
Object-Oriented Programming (OOP) Sebesta (2012:525) mengungkapkan bahwa konsep OOP pertama kali berawal dari SIMULA 67 yang kemudian benar-benar dikembangkan dalam Smalltalk80. Bahasa pemrograman yang berorientasi objek (object-oriented) harus memiliki tiga fitur utama: Abstract Data Type (ADT), inheritance, dan dynamic binding dalam pemanggilan methods. 1. Abstract Data Type Abtract Data Type (Sebesta, 2012:475) merupakan sebuah struktur data berupa record yang juga memiliki bagian-bagian program (subprograms) yang dapat memanipulasi data tersebut. ADT merupakan suatu “ruang” yang berisikan representasi dari sebuah tipe data spesifik beserta fungsi-fungsi untuk mengoperasikan tipe tersebut. Detail yang tidak perlu ditampilkan dapat disembunyikan dari unit-unit lain dengan menggunakan kontrol akses. ADT sering juga disebut sebagai class dan instance dari ADT disebut Object. 2. Inheritance Sebesta (2012:525) menyatakan bahwa terdapat dua masalah terkait penggunaan ADT. Pertama adalah ada kalanya fitur-fitur dalam tipe data yang sudah ada kurang sesuai dengan kebutuhan baru dan perlu sedikit perubahan. Permasalahan lainnya adalah semua definisi tipe bersifat independen dan setara, sehingga tidak memungkinkan
33 penyesuaian
program
dengan
masalah
yang
ada.
Untuk
menyelesaikan kedua masalah tersebut dapat digunakan fitur inheritance. Fitur ini memungkinkan sebuah class (derived class atau subclass) agar dapat memiliki fitur-fitur dari class (parent class atau superclass) lain, namun tetap memiliki fitur-fiturnya sendiri, sehingga tidak perlu mengubah superclass yang sudah ada. 3. Dynamic Binding Karakteristik terakhir dari bahasa OOP adalah polymorphism yang disediakan dengan adanya dynamic binding dari pesan-pesan kepada definisi methods (Sebesta, 2012:527). Sebagai contoh sebuah class A memiliki method cetak yang juga dibutuhkan class B, meskipun sedikit berbeda. Class B dapat diturunkan dari class A, sehingga class B mendapatkan method cetak yang kemudian dapat diubah sesuai kebutuhan. Dengan demikian terbentuk polymorphism dari method cetak tersebut. Ketika method cetak tersebut dipanggil, run-time system akan menentukan method cetak mana yang harus dipanggil sesuai dengan class yang menjadi referensi dari object yang memanggilnya. Hal inilah yang dimaksud sebagai dynamic binding.
2.8
Android Android (Gargenta dan Nakamura, 2014:1-2) merupakan salah satu platform open source yang lengkap untuk perangkat mobile. Android dikembangkan oleh Google di bawah kepemilikan Open Handset Alliance. Android menyediakan seluruh peralatan dan framework lengkap secara gratis bagi para developer untuk pengembangan aplikasi berbasis android dengan cepat dan mudah. Para developer juga dapat dengan bebas memperluas dan mengembangkan Android secara bebas serta menggunakannya untuk berbagai keperluan.
2.8.1 Software Development Kit (SDK) Software Development Kit atau SDK (Schwarz, Dutson, Steele, dan To, 2013:12) merupakan kumpulan dari platform, peralatan (tools), contoh kode, dan dokumentasi yang dibutuhkan dalam pembuatan aplikasi Android. SDK merupakan add-on dari Java Development Kit
34 (JDK) dan terintegrasi sebagai plug-in untuk Eclipse Integrated Development Environment (IDE). Android SDK tersedia untuk Windows, Linux, dan Mac dan dapat diunduh di http://developer.android.com/sdk secara gratis baik yang sudah terintegrasi dengan Eclipse maupun yang tidak terintegrasi dengan Eclipse, sehingga pembuat aplikasi dapat mengunduh bagian yang dibutuhkan saja.
2.8.2 Android Development Tools (ADT) Android Development Tools atau ADT (Deitel, Deitel, Deitel, 2013:60) merupakan extension dari Eclipse IDE yang memungkinkan pengembang untuk membuat, menjalankan, dan debug aplikasi-aplikasi Android. ADT juga berfungsi untuk mengubah aplikasi-aplikasi menjadi dokumen APK untuk kemudian didistribusikan, serta masih banyak lagi kegunaan lainnya. ADT menyediakan peralatan perancangan GUI, sehingga pengembang dapat memasukkan komponen GUI dengan cara drag and drop tanpa perlu melakukan coding. 2.9
Eclipse Eclipse (Burnette, 2005:1) merupakan IDE (Integrated Development Environment) yang dapat digunakan untuk membuat aplikasi dalam berbagai bahasa pemrograman. Pada awalnya Eclipse digunakan untuk menggantikan Visual Age for Java yang dikembangkan oleh IBM. Sejak November 2001, Eclipse menjadi IDE open source dan kini dikontrol oleh sebuah organisasi non-profit, Eclipse Foundation.
2.10
SQLite SQLite adalah sebuah embedded relational database, yaitu database yang mendampingi aplikasi yang menggunakannya dan menjadi bagian dalam proses aplikasi tersebut, sehingga tidak berjalan sebagai proses tersendiri. SQLite dirilis pada tahun 2000 sebagai sistem basis data open source yang dirancang untuk menyediakan kemudahan bagi aplikasi untuk mengelola data tanpa adanya proses tambahan saat aplikasi berjalan seperti yang sering kali terjadi pada dedicated relational database management systems. (Owens, 2006:1)
35 2.11
CMU Sphinx CMU Sphinx (Chan, dkk., 2007:3,21-22) merupakan open source speech recognizer yang dikembangkan oleh para peneliti dan pengembang dari Carnegie Mellon University (CMU). Beberapa proyek CMU Sphinx dibuat dengan kerjasama dengan pihak lain seperti Sun Microsystems Laboratories, Mitsubishi Electric Research Labs (MERL), Hewlett Packard (HP), University of California at Santa Cruz (UCSC), Massachusetts Institute of Technology (MIT) dan Cambridge University. CMU Sphinx memudahkan para pengembang (developer) dalam membuat sistem speech recognition mereka sendiri dalam aplikasi yang mereka kembangkan. Hal ini dikarenakan CMU Sphinx bersifat open source dan memungkinkan developer untuk memiliki control penuh atas kode Sphinx. CMU Sphinx tidak menggunakan General Public License (GPL), sehingga developer dapat tetap menjadikan source code program mereka sebagai source tertutup (close source). Dengan menggunakan Sphinx, para developer dapat membuat berbagai aplikasi dengan sistem speech recognition.
2.11.1 PocketSphinx PocketSphinx adalah speech recognizer yang dapat digunakan dalam embedded device. PocketSphinx dikembangkan berdasarkan CMU Sphinx dan dibuat untuk dapat bekerja dengan optimal pada CPU seperti ARM. 2.12
Bahasa Jawa
2.12.1 Pengertian, Penggunaan, dan Perkembangan Bahasa Jawa Bahasa Jawa (Wedhawati, dkk., 2006:1) merupakan bahasa pertama penduduk Pulau Jawa yang tinggal di Jawa Tengah, Daerah Istimewa Yogyakarta, Jawa Timur. Selain digunakan masyarakat Jawa, Bahasa Jawa juga banyak digunakan di berbagai daerah di Indonesia meskipun bukan merupakan bahasa asli yang berasal dari daerah tersebut. Daerah-daerah tersebut biasanya adalah daerah transmigrasi seperti Lampung, Medan, Riau, Jambi, dan Kalimantan Tengah. Bahasa Jawa juga digunakan di luar negeri seperti di Suriname, Belanda, Caledonia Baru, dan Pantai Barat Johor
36 (Malaysia). Jumlah penuturnya mencapai 75,5 juta orang dan menempati urutan ke-11 sebagai bahasa dengan jumlah penutur terbanyak dari 6703 bahasa di dunia. Bahasa Jawa mengalami perkembangan dari Bahasa Jawa Kuno Purba yang kemudian berkembang menjadi Bahasa Jawa Kuno dan kini menjadi Bahasa Jawa Baru/Modern. Bahasa Jawa Modern muncul sekitar abad ke-16 seiring dengan masuknya kebudayaan Islam ke Pulau Jawa. Bahasa Jawa Modern adalah Bahasa Jawa yang dikenal dan digunakan hingga sekarang.
2.12.2 Tingkat Tutur Tingkat tutur, dikenal juga sebagai unggah-ungguh basa atau undhak-usuk basa, adalah tingkat kesopanan atau variasi bahasa. Tingkat tutur (Wedhawati, et al., 2006:10-12) dibedakan berdasarkan sikap pembicara terhadap lawan bicara atau orang ketiga yang dibicarakan. Pemilihan tingkat tutur yang digunakan dalam berkomunikasi ditentukan oleh perbedaan usia, derajat tingkat sosial, dan jarak keakraban antara pembicara dan lawan bicaranya. Kesalahan pemilihan tingkat tutur dapat memunculkan kejanggalan dan dianggap tidak sopan. Kemunculan tingkat tutur diperkirakan terjadi pada abad ke-17, pada masa pemerintahan Sultan Agung (1613-1645) di Kesultanan Mataram. Namun, gejalanya sudah muncul pada abad ke-15 atau pada periode Jawa Pertengahan. Sedangkan cikal bakal bahasa krama, khususnya krama inggil, sudah muncul sejak zaman kuno dalam Bahasa Jawa Kuno. Tingkat tutur Bahasa Jawa dibagi dalam tiga tingkat: 1. Ngoko Tingkat tutur ngoko adalah variasi bahasa yang digunakan untuk berkomunikasi dengan orang yang sudah akrab, seusia, atau status sosialnya sederajat. Tingkat ini menunjukkan rasa akrab dan tidak berjarak serta tidak adanya rasa segan antara pembicara dengan lawan bicaranya. 2. Madya Tingkat tutur madya adalah variasi bahasa yang digunakan untuk berkomunikasi dengan orang yang status sosialnya lenih rendah.
37 Tingkat ini menunjukkan sikap sopan serta segan antara pembicara dengan lawan bicaranya dalam kapasitas yang sedang. 3. Krama Tingkat tutur krama adalah variasi bahasa yang digunakan untuk berkomunikasi dengan orang yang belum akrab, lebih tua, atau status sosialnya lebih tinggi. Tingkat ini menunjukkan kesopanan serta adanya rasa segan antara pembicara dengan lawan bicaranya.
Penggunaan tingkat tutur ini juga disesuaikan berdasarkan tingkat formalitas komunikasi. Tingkat tutur ngoko dapat digunakan dalam komunikasi yang sifatnya formal maupun informal serta dapat digunakan dalam penulisan literer. Tingkat tutur madya hanya dapat digunakan untuk komunikasi informal. Tingkat tutur krama dapat digunakan untuk komunikasi formal dan penulisan literer.
2.13
Hasil Penelitian Sebelumnya Penelitian yang dilakukan oleh Stockwell (2008) menunjukkan reaksi yang cukup baik dari para pelajar mengenai penggunaan telepon genggam sebagai media pembelajaran bahasa. Meskipun para pelajar menyadari mengenai kekurangan telepon genggam dalam pembelajaran bahasa, namun hasil survei menyatakan bahwa dua pertiga dari para pelajar menunjukkan ekspektasi dan ketertarikan mereka mengenai penggunaan telepon genggam sebagai media pembelajaran bahasa baik untuk jangka pendek maupun panjang. Bahkan, pelajar yang awalnya sama sekali tidak tertarik dengan metode ini, nantinya akan menyadari kelebihan metode ini. Dalam penelitian yang dilakukan oleh Miangah dan Nezarat (2012) dikatakan bahwa mobile learning (m-learning) memiliki karakteristik yang ditandai dengan proses pembelajaran yang personal, spontan, informal, dan ubiquitous (ada di mana saja). Orang yang belajar dengan metode m-learning dapat dengan bebas melakukan pembelajaran di mana dan kapan saja sesuai dengan keinginannya. Demikian pula dengan pembelajaran bahasa melalui MALL (Mobile-Assisted Language Learning), pelajar tidak perlu mengikuti kelas atau kursus maupun duduk di depan komputer. Metode ini dapat
38 dipertimbangkan sebagai solusi ideal untuk mengatasi batasan ruang dan waktu pembelajaran. Sharples dan rekan-rekannya (2012) menyatakan bahwa teknologi mobile
menawarkan
kesempatan-kesempatan
baru
dalam
proses
pembelajaran yang dapat menjadi pengembangan dari proses pembelajaran tradisional di dalam kelas. Salah satu kesempatan utama yang ditawarkan adalah dukungan atas proses pembelajaran seumur hidup. Teknologi mobile menyediakan berbagai peralatan bagi anak-anak untuk menyimpan dan mengorganisir
pengalaman
sehari-hari,
menuangkan
ide-ide,
dan
mengeksplorasi lingkungan sekitar mereka. Ketika mereka tumbuh dewasa, teknologi ini dapat diperluas dengan berbagai peralatan untuk mendukung kebutuhan-kebutuhan pribadi seperti pembelajaran bahasa, olahraga, dan hobi.