BAB 2 LANDASAN TEORI 2.1
Teori Umum 2.1.1
Object Oriented Programming Object
oriented
programming
adalah
sebuah
metode
pemrograman dimana pengembang aplikasi tidak hanya mendefinisikan variabel yang berisi state dari sebuah struktur data, tetapi juga mendefinisikan fungsi untuk menunjukkan behavior yang diaplikasikan pada struktur data. Dalam hal ini, struktur data merupakan objek. Suatu objek dapat saling berkomunikasi satu sama lain dengan menggunakan fungsi yang ada di dalamnya tanpa perlu mengetahui internal state masing-masing objek (data encapsulation) (Webopedia, n.d). Salah satu keuntungan dari object oriented programming dibandingkan
procedural
programming
adalah
memungkinkan
pengembang aplikasi untuk membuat fungsi yang tidak perlu diubah ketika sebuah objek dengan tipe berbeda ditambahkan.
Seorang
pengembang aplikasi hanya perlu membuat objek baru yang mewarisi beberapa fungsi atau tipe data dari objek yang sudah ada (inheritance). Hal ini membuat object oriented programming mudah dalam pengembangannya (Webopedia, n.d).
8
9
Menurut Bennett, McRobb, dan Farmer (2006), dalam bukunya “Object-Oriented System Analysis And Design Using UML”, terdapat beberapa konsep dalam object oriented programming, yaitu : •
Objek Objek terdiri dari state dan behavior. Sebuah objek menyimpan state pada variabel dan menunjukkan behavior melalui fungsi. Fungsi
bertugas
mengubah
internal
state
dan
melayani
komunikasi antara satu objek dengan objek lainnya (Oracle, n.d).
•
Class Class adalah sekumpulan objek yang memiliki state dan behavior yang sama.
•
Instance Instance adalah objek tunggal yang memiliki nilai state yang secara keseluruhan berbeda dengan objek lain.
•
Generalisasi Generalisasi adalah konsep yang mengelompokkan state dan behavior yang sama dari beberapa class menjadi class tersendiri. Berikut adalah ciri-ciri dari generalisasi :
10
1. Inheritance Mekanisme untuk mengimplementasikan generalisasi dalam bahasa pemrograman berorientasi objek. Class yang memiliki state dan behavior dari hasil pengelompokkan disebut superclass sedangkan class yang memiliki state dan behavior yang unik karena pengelompokkan disebut subclass. 2. Operasi transitif Operasi yang menurunkan state dan behavior dari superclass ke subclass. 3. Disjoint nature Aspek dimana class harus memiliki state dan behaviour yang unik dari class lain yang satu level.
•
Message passing Message passing adalah komunikasi yang dilakukan objek untuk meminta informasi tertentu dari objek lain dengan menggunakan fungsi dari objek lain.
11
2.1.2
Unified Modeling Language ( UML ) Unified modeling language adalah bahasa yang digunakan untuk memodelkan sebuah sistem sehingga dapat mengambil keputusan dan memahami tentang sistem yang harus dibangun (Hermawan, 2004). Menurut Whitten dan Bentley (2007), UML menawarkan sembilan diagram yang dikelompokkan ke dalam lima perspektif yang berbeda untuk memodelkan sebuah sistem.
Lima perspektif tersebut
adalah : •
Use-Case Model Diagrams Diagram yang ada dalam kelompok ini adalah use-case diagram ( diagram yang menggambarkan fungsi sistem dari sudut pandang pengguna ).
•
Static Structure Diagrams Diagram yang ada dalam kelompok ini adalah class diagram ( diagram yang menggambarkan struktur objek dalam sistem ) dan object diagram ( diagram yang menggambarkan objek instance yang aktual ).
•
Interaction Diagrams Interaction diagram memodelkan sebuah interaksi yang terdiri dari sekumpulan objek, hubungannya, dan pesan yang dikirimkan
12
diantara objek tersebut. Diagram yang ada dalam kelompok ini adalah sequence diagram
( diagram yang menggambarkan
interaksi antar objek dimana fokus pada timing dari pesan ) dan communication diagram ( diagram yang menggambarkan interaksi antara objek dengan network format )
•
State Diagrams Diagram yang ada dalam kelompok ini adalah statechart diagram ( diagram yang mengilustrasikan daur hidup objek ) dan activity diagram ( diagram yang menggambarkan aliran dari sebuah use case).
•
Implementation Diagrams Diagram yang ada dalam kelompok ini adalah component diagram ( diagram yang menggambarkan bagaimana code program
dipecah
menjadi
komponen-kompnone
dan
ketergantungan diantara komponen tersebut) dan deployment diagram
( diagram yang menggambarkan arsitektur secara fisik
dari hardware dan software dalam sistem )
13
2.1.3
Use Case Diagram Use case adalah deskripsi fungsi sistem dari sudut pandang pengguna. Use case diagram digunakan untuk menunjukkan fungsi yang sistem akan sediakan dan menunjukkan pengguna mana yang akan berkomunikasi dengan sistem. Use case diagram ini dikembangkan oleh Jacobson et al. (1992), dan judul buku dimana use case diagram ini ditampilkan adalah A Use Case Driven Approach (Bennett, McRobb, dan Farmer, 2006). Menurut Bennett, McRobb, dan Farmer (2006), use case diagram menunjukkan tiga aspek dalam sistem yaitu: •
Actors Actors mewakili peran yang dimiliki orang, sistem lain, atau device ketika berkomunikasi dengan use cases tertentu dalam sistem dimana satu actor dapat mewakili beberapa orang atau pekerjaan.
•
Use cases Sebuah use case menggambarkan sebuah fungsi yang dilakukan oleh
sistem
untuk
mencapai
tujuan
pengguna
dimana
digambarkan dengan bentuk eclipse. •
Batasan sistem atau subsistem Batasan yang mengelilingi fungsi-fungsi dalam sistem atau subsistem dimana berbentuk persegi panjang.
14
Gambar 2.1 Notasi Use Case Diagram ( Sumber : Bennett, McRobb, dan Farmer, 2006, p146 )
2.1.4
Class Diagram Class diagram adalah sebuah diagram yang menggambarkan objek-objek dari sistem dan hubungan antara objek tersebut (Bennett, McRobb, dan Farmer, 2006). Menurut Bennett, McRobb, dan Farmer (2006), class diagram memiliki istilah-istilah penting yang perlu diketahui, yaitu : •
Attributes Attributes adalah data yang menampilkan karakteristik utama dari sebuah class. Oleh karena itu, setiap objek dari class memiliki attribute yang dimiliki oleh class tersebut.
15
Gambar 2.2 Class Diagram Dengan Attributes ( Sumber : Bennett, McRobb, dan Farmer, 2006, p180 ) •
Association Sebuah association adalah hubungan antara dua class yang berbeda dimana ditandai dengan nama hubungan, garis lurus yang menghubungkan kedua class tersebut, dan tanda panah yang membantu pemahaman ketika melihat class diagram.
Gambar 2.3 Class Diagram Dengan Association ( Sumber : Bennett, McRobb, dan Farmer, 2006, p184 )
16
•
Multiplicity Multiplicity adalah istilah yang digunakan untuk menerangkan batasan pada jumlah objek yang dapat berpartisipasi. Multiplicity merefleksikan aturan-aturan suatu perusahaan yang merupakan batasan pada cara aktivitas bisnis berjalan. Notasi multiplicity dapat berupa kisaran nilai seperti 0..*, 0..3, 1..5, 2..10 atau berupa nilai tunggal, seperti 1, 3, 5, 19.
Gambar 2.4 Class Diagram Dengan Multiplicity ( Sumber : Bennett, McRobb, dan Farmer, 2006, p185 )
17
•
Operations Operations adalah behavior yang dapat dilakukan oleh objek atau dilakukan pada objek.
Behavior tersebut diimplementasikan
melalui fungsi. Dalam komunikasi dengan objek lain, suatu objek hanya perlu memanggil fungsi dari objek tersebut tanpa perlu mengetahui attribute yang ada.
Gambar 2.5 Class Diagram Dengan Attributes dan Operations ( Sumber : Bennett, McRobb, dan Farmer, 2006, p187 )
18
2.1.5
Sequence Diagram Sequence diagram adalah salah satu dari beberapa macam UML interaction diagram. Sebuah sequence diagram menunjukkan sebuah interaksi antara objek-objek yang disusun dalam urutan waktu. Kegunaan dari sequence diagram adalah menunjukkan interaksi objek secara rinci yang terjadi untuk satu use case (Bennett, McRobb, dan Farmer, 2006). Dalam sequence diagram, dimensi vertikal menunjukkan waktu dan semua objek yang ikut terlibat dalam interaksi tersebar secara horizontal pada diagram.
Waktu secara normal berjalan ke bawah.
Setiap objek dalam sebuah sequence diagram ditunjukkan oleh sebuah lifeline. Lifeline adalah sebuah garis vertikal putus-putus dengan simbol objek pada bagian paling atas. Sebuah pesan ditunjukkan dengan garis panah horizontal dari satu lifeline ke lifeline yang lain dan diberi label dengan nama message. Setiap nama message secara opsional didahului oleh sebuah nomor urut yang menunjukkan urutan dimana message dikirim, tetapi ini biasanya tidak perlu pada sebuah sequence diagram karena urutan message telah disampaikan oleh posisi relatif mereka selama sumbu waktu (Bennett, McRobb, dan Farmer, 2006).
19
2.1.6
Activity Diagram Activity diagram dapat digunakan untuk memodelkan aspekaspek yang berbeda pada sebuah sistem.
Activity diagram dapat
digunakan untuk memodelkan aktivitas bisnis pada sistem yang ada, dapat juga digunakan pada tahap awal dalam system development lifecycle, yaitu dengan memodelkan sebuah fungsi sistem yang ditunjukkan oleh sebuah use case, menggunakan aliran objek untuk menunjukkan objek mana yang terlibat dalam sebuah use case (Bennett, McRobb, dan Farmer, 2006). Activity diagram terdiri atas sekumpulan aksi yang dihubungkan bersama oleh aliran dari satu aktivitas ke aktivitas lainnya. Setiap aksi ditunjukkan sebagai persegi dengan sudut yang melingkar. Nama dari aksi ditulis di dalam simbol dua dimensi ini. Hal ini menjadi penuh arti dan merangkum aksi tersebut (Bennett, McRobb, dan Farmer, 2006). Selanjutnya, jika ingin mendeskripsikan beberapa pilihan yang dapat diambil, digunakan explicit decision node, yang ditunjukkan dengan ikon berbentuk diamond. Setiap aliran alternatif tersebut diberi label dengan sebuah guard condition. Guard condition ditunjukkan di dalam simbol bracket (Bennett, McRobb, dan Farmer, 2006).
20
2.1.7
Deployment Diagram Deployment diagram adalah tipe implementation diagram yang mendeskripsikan arsitektur fisik dari perangkat keras dan perangkat lunak dalam sistem. Diagram ini menggambarkan komponen perangkat lunak, processor, dan device yang membentuk arsitektur sistem. Setiap kotak yang ada pada diagram menggambarkan satu buah perangkat keras. Perangkat keras dapat berupa PC, mainframe, printer, atau smartphone. Perangkat lunak yang terdapat dalam kotak ditandai dengan simbol komponen.
Garis yang menghubungi kotak mengindikasikan sebuah
komunikasi antar device.
Komunikasi tersebut ditandai dengan tipe
protokol komunikasi yang digunakan (Whitten dan Bentley, 2007).
2.1.8
Metode Pengembangan Perangkat Lunak ( Prototyping ) Prototyping merupakan salah satu metode pengembangan perangkat lunak yang bersifat iteratif. Metode ini cocok digunakan pada saat stakeholder mendefinisikan beberapa tujuan umum dari perangkat lunak, tetapi tidak mendefinisikan kebutuhan rinci untuk fungsi dan fiturnya. Metode ini dimulai dengan komunikasi. Pengembang aplikasi bertemu dengan stakeholder untuk mendefinisikan keseluruhan tujuan dari perangkat lunak dan mendefinisikan kebutuhan yang diketahui. Langkah selanjutnya adalah membuat perencanaan secara cepat dilanjutkan pemodelan yang berfokus pada aspek dari perangkat yang
21
tampak pada stakeholder, contohnya adalah rancangan antar muka. Setelah selesai pemodelan, pembuatan prototype dilakukan, dipaparkan, dan dievaluasi oleh stakeholder untuk mengetahui kebutuhan selanjutnya. Pengulangan terjadi sampai prototype memuaskan kebutuhan berbagai stakeholder dan pada saat bersamaan memungkinkan pengembang aplikasi untuk memahami lebih baik apa yang perlu dilakukan (Pressman, 2010).
Gambar 2.6 Paradigma Prototyping ( Sumber : Pressman, 2010, p43 )
22
2.1.9
Black-Box Testing Black-box testing merupakan pengujian yang berpusat pada kebutuhan fungsional perangkat lunak dimana memungkinkan untuk memperoleh sekumpulan kondisi input yang secara penuh memeriksa fungsional dari sebuah aplikasi. Black-box testing berusaha menemukan kesalahan-kesalahan seperti kesalahan fungsi dan kesalahan tampilan aplikasi.
Black-box testing dapat digunakan untuk menguji aplikasi
konvensional dan aplikasi yang berorientasi objek (Pressman, 2010).
2.1.10 ERD Menurut Whitten dan Bentley (2007), Entity Relationship Diagram (ERD) adalah sebuah data model yang menggunakan beberapa notasi untuk menggambarkan data dengan istilah entities dan relationships yang ada. Beberapa konsep dasar dari ERD adalah : •
Entities Sebuah entity merupakan sebuah class untuk menyimpan data. Class dapat berupa orang, tempat, objek, kejadian, atau konsep.
•
Attributes Attributes merupakan data yang akan disimpan pada entity dimana data tersebut merupakan karakteristik dari entity. Contohnya entity File memiliki attribute nama file dan ukuran file.
23
•
Relationships Relationship adalah hubungan antara satu atau lebih entities. Hubungan tersebut bisa berupa exactly one, zero or one, one or more, zero;one; or more, dan more than one.
•
Generalization Generalization adalah konsep yang mengelompokkan atribute pada entity yang berbeda menjadi suatu entity baru berdasarkan persamaan karakteristik yang dimiliki atribute.
2.1.11 DBMS Menurut Connolly dan Begg (2002), Database Management System (DBMS) merupakan sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengatur akses
ke database.
DBMS
ini
menyediakan
fasilitas
untuk
mendefinisikan database melalui DDL (Data Definition Language) dan menyediakan fasilitas untuk melakukan insert, update, delete, select melalui DML (Data Manipulation Language).
Contoh dari DBMS
antara lain : • MySQL MySQL merupakan DBMS yang bersifat open source dimana pengguna dapat melakukan modifikasi pada kodenya yang berorientasi pada performa dan merupakan DBMS yang mendukung beberapa tipe
24
table ( storage engine ). Tipe table yang digunakan secara default adalah MyISAM yang memiliki kelebihan akses data yang cepat tetapi tidak mendukung fitur foreign key. Jika pengguna ingin ada dukungan foreign key pada table , pengguna dapat menggunakan tipe table InnoDB (Kofler, 2005).
• SQLite SQLite merupakan embedded DBMS yang berbeda dengan DBMS pada umumnya dimana DBMS ini tidak berjalan sendiri melainkan berada di dalam aplikasi, seperti aplikasi yang dibuat pada sistem operasi Android (Allen dan Owens, 2010). Letak database ini ada di direktori “/data/data/your.app.package/databases/your-db-name”.
2.1.12 Web Service ( REST ) Web Service merupakan komponen perangkat lunak yang dibangun berbasis web untuk komunikasi antar aplikasi yang berjalan pada berbagai platform melalui intenet (Cobarzan, 2010).
Menurut
Richards (2006), dalam merancang web service dengan desain arsitektural Representational State Transfer (REST), diperlukan beberapa komponen, yaitu :
25
• XML (Extensible Markup Language) XML adalah sebuah standar untuk mendeskripsikan data di dalam format yang terstruktur. Dalam istilah layman, XML mengizinkan data ditandai dengan menggunakan nama deskriptif sehingga manusia dan aplikasi dapat memahami arti dari keping-keping data yang berbeda. Contoh dari XML adalah :
a 20
• HTTP HTTP adalah singkatan dari Hypertext Transfer Protocol yang berfungsi sebagai protokol request-response pada model client-server. Cara kerjanya adalah client mengirimkan sebuah pesan HTTP request ke server dan server yang menyimpan sumber daya seperti PHP file mengembalikan sebuah pesan HTTP response ke client.
Sebuah
response berisi informasi status tentang request dan mungkin berisi informasi lain yang diminta oleh client pada message body, contohnya XML. Metode yang dimiliki HTTP untuk melakukan tugasnya antara lain GET, HEAD, POST, PUT, dan DELETE.
26
Tabel 2.1 Metode HTTP untuk REST ( Sumber : Richards, 2006, p636 )
• URI URI biasanya berupa sebuah URL yang merupakan resource identifier dimana Web service berada. • MIME Type Dikarenakan data yang dikirim ke client berupa format XML, text/xml adalah MIME type yang digunakan.
2.1.13 SHA-1 SHA-1 adalah singkatan dari Secure Hash Algrorithm 1 yang merupakan algoritma untuk mengenkripsi password yang disediakan oleh PHP.
Penggunaan algoritma ini sederhana dan efektif dimana
menghasilkan 40 digit angka heksadesimal yang tidak bisa dikembalikan.
27
Selain itu sebagai langkah untuk berjaga-jaga, pengembang aplikasi dapat menggabungkan random kata dengan password yang dimasukkan sehingga walaupun password yang dimasukkan sama akan menghasilkan 40 digit angka heksadesimal yang berbeda. Contoh dari hasil enkripsi sha-1 adalah : 2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12 (Powers, 2010).
2.1.14 Binary Prefix Pada bulan Desember 1998, International Electrotechnical Commission ( IEC ) mengesahkan nama dan simbol untuk binary prefix yang digunakan dalam ruang lingkup pemrosesan data dan transmisi data. Binary Prefix tersebut adalah :
Tabel 2.2 Prefixes for Binary Multiples ( Sumber : National Institute of Standards and Technology, n.d )
28
2.1.15 SFTP SFTP adalah singkatan dari Secure File Transfer Protocol yang dibangun di atas SSH ( Secure Shell ) dan menyediakan pelapis keamanan tambahan untuk perintah pertukaran file dan aliran data. SFTP menggunakan protokol SSH yang ada untuk membuat dan mengatur banyak perintah dan aliran data agar menjaga keamanan dari pencurian informasi yang sensitif. SFTP ini dapat digunakan dimana SSH diimplementasikan, baik di client maupun server (Tittel, 2007). Untuk di client, aplikasi SFTP ada yang berbentuk konsol maupun grafis. Contoh aplikasi SFTP adalah FileZilla ( sistem operasi Windows, Linux, Macintosh) dan AndFTP ( sistem operasi Android ).
2.1.16 MIME Type MIME merupakan singkatan dari Multipurpose Internet Mail Extensions yang asalnya diperuntukan untuk e-mail server agar dapat mendefinisikan dukungan terhadap berbagai tipe data yang berbeda. Selanjutnya diperluas untuk definisi tipe data communication protocol (HTTP), dan sekarang untuk sistem operasi Android agar dapat mendefinisikan tipe datanya.
Kesimpulannya adalah MIME telah
menjadi standar untuk menentukan tipe data dalam lingkungan komputasi (Jackson, 2011). Contoh dari MIME antara lain :
29
File Type
MIME Type
jpg
image/jpeg
gif
image/gif
png
image/png
mp3
audio/mpeg
3gp
audio/3gpp
m4a
audio/mp4a-latm
mp4
video/mp4
m4v
video/x-m4v
pdf
application/pdf
doc
application/msword
xls
application/vnd.ms-excel
ppt
application/vnd.ms-powerpoint
docx
application/vnd.openxmlformatsofficedocument.wordprocessingml.document
xlsx
application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet
pptx
application/vnd.openxmlformatsofficedocument.presentationml.presentation
Tabel 2.3 MIME Types (Sumber : NotePage, n.d; Microsoft, 2008)
30
2.1.17 Email Password Recovery Sebuah alamat email didaftarkan pada saat pembuatan id anggota dan alamat email ini digunakan ketika seorang anggota kehilangan password aplikasi.
Alamat email ini digunakan untuk mengirimkan
password sementara atau URL untuk melakukan reset password.
Cara
ini tergolong instan pada saat ini karena pengiriman email hampir mendekati real-time dan banyak digunakan karena ongkos penerapan yang rendah (Danezis, 2012).
31
2.2.
Teori Khusus 2.2.1
Android Android merupakan sebuah platform open source dari Google dan dimiliki oleh Open Handset Alliance dimana dirancang untuk perangkat mobile
sehingga
rancangannya
mempertimbangkan
keterbatasan
perangkat dalam hal memori, kecepatan, dan sumber daya listrik. Selain itu, Android merupakan sebuah platform yang memisahkan hardware dari software yang berjalan pada hardware tersebut. Hal ini mengizinkan banyak perangkat mobile dapat menjalankan aplikasi yang sama dengan platform ini. Dimulai dari tahun 2005, Google membeli Android, Inc. Pada tahun 2007, Open Handset Alliance mengumumkan Android memiliki open source code. Berselang satu tahun setelah itu, Android SDK 1.0 diluncurkan dan HTC mengeluarkan smartphone pertamanya yang berbasis Android dengan nama G1 phone. Pada tahun berikutnya, versi baru dari platform ini muncul dimulai dari Cupcake ( 1.5 ), Donut ( 1.6 ), dan Eclair ( 2.0 dan 2.1 ) dimana lebih dari 20 perangkat menggunakannya. Tahun berikutnya lagi, yaitu tahun 2010, versi berikutnya muncul, yaitu Froyo ( 2.2 ) dan Android telah menjadi platform smartphone dengan tingkat penjualan yang terbaik (Gargenta, 2011).
32
Tabel 2.4 menggambarkan perkembangan versi yang lebih lengkap dari platform Android.
Tabel 2.4 Perkembangan Versi Platform Android (Sumber : Android developers, 2012) Dengan perkembangan platform Android yang begitu cepat sampai saat ini, pengembang aplikasi Android perlu memperhatikan API level dari aplikasi yang dikembangkan. Hal ini bertujuan agar aplikasi yang dibuat dapat berjalan pada perangkat yang ada pada saat ini sebanyak mungkin.
Pada tabel 2.4, terdapat distribusi versi dari
perangkat yang berbasis platform Android di sisi paling kanan. Untuk
33
lebih jelasnya, terdapat pie chart berdasarkan tabel 2.4, yaitu sebagai berikut :
Gambar 2.7 Distribusi Versi Platform Android (Sumber : Android developers, 2012)
2.2.2
Teknik Menyentuh Layar Android Menurut Gookin (2012), ada beberapa teknik dalam menyentuh layar di Android, yaitu: • Touch Teknik menyentuh layar yang paling sederhana. digunakan
Teknik ini biasa
untuk membuka aplikasi atau melakukan trigger pada
button. Istilah lainnya adalah press atau tap.
34
• Double-tap Teknik menyentuh layar pada lokasi yang sama sebanyak dua kali secara cepat.
Teknik ini digunakan untuk memperbesar atau
memperkecil gambar atau peta. • Long-press Teknik ini dimulai dengan menyentuh pada bagian tertentu lalu menahannya sementara.
Teknik ini biasa digunakan untuk
memindahkan icon pada homescreen. • Swipe Teknik ini dimulai dari menyentuh satu titik lalu digeser ke titik baru tanpa melepas layar. Biasanya swipe dilakukan ke atas , bawah, kanan, atau kiri dimana akan mengganti material yang ditampilkan • Pinch Teknik ini melibatkan dua jari tangan dimana dimulai dari kedua jari terpisah lalu didekatkan. Pinch digunakan untuk memperkecil. • Spread Teknik ini dimulai dari kedua jari bersamaan dan kemudian bentangkan
kedua
jari
tersebut.
Spread
digunakan
untuk
memperbesar. • Rotate Teknik ini menggunakan kedua jari untuk memutar pada titik pusat dari layar sentuh yang memiliki efek merotasi objek pada layar.
35
2.2.3
Resolusi Layar Android Beberapa resolusi layar yang ada pada Android SDK terdapat pada tabel berikut :
Tabel 2.5 Resolusi Layar yang Didukung Android SDK (Sumber : Android developers, n.d)
2.2.4
M-Assessment M-assessment merupakan evaluasi pembelajaran dengan bantuan mobile phone (Riad dan El-Ghareeb, 2008). Menurut Pachler, Pimmer, Seipold (2010), m-assessment memungkinkan pengajar di universitas untuk mengobservasi dan memandu pembelajaran individu peserta didik dari jarak jauh dan memungkinkan peserta didik untuk berlatih pada topik tertentu dari suatu mata pelajaran sesuai dengan kebutuhan. M-assessment ini dapat dilakukan oleh peserta didik pada tiga tahap, yaitu sebelum pembelajaran, selama proses pembelajaran, dan sesudah
36
proses pembelajaran. Tahap-tahap m-assessment ini ditunjukkan pada gambar 2.8
Gambar 2.8 Kategori Assessment (Sumber : Dube dan Ma, 2010) Menurut Dube dan Ma (2010), m-assessment yang dilakukan sebelum proses pembelajaran untuk menentukan apa yang telah diketahui oleh seorang peserta didik dinamakan diagnosa. M-assessment yang dilakukan selama
proses pembelajaran untuk memeriksa seberapa
banyak yang telah dipahami peserta didik dinamakan formative
37
sedangkan m-assessment
yang dilakukan setelah selesai proses
pembelajaran untuk mengetahui apakah tujuan pembelajaran telah tercapai dinamakan summative.
2.2.5
Pertanyaan Terbuka dan Tertutup Menurut Oei (2010), pertanyaan terbuka adalah pertanyaan yang bersifat
longgar
dimana
memberikan
kebebasan
peserta
dalam
memberikan jawaban atas pertanyaan yang ada sedangkan pertanyaan tertutup adalah pertanyaan yang diberikan pilihan kepada peserta untuk menjawabnya.
Dalam kuesioner, pertanyaan terbuka berfungsi untuk
mengumpulkan data kualitatif dan memungkinkan periset untuk mendapatkan banyak ide atau pandangan sedangkan pertanyaan tertutup berfungsi untuk mengumpulkan data kuantitatif dan memungkinkan periset untuk mendapatkan jawaban yang dimaksud.
Dalam kuis,
pertanyaan terbuka berfungsi untuk mengetahui pemahaman peserta didik secara lebih mendalam tetapi tidak dapat dievaluasi secara otomatis oleh aplikasi (essay) sedangkan pertanyaan tertutup berfungsi untuk mengetahui pemahaman peserta didik lebih dangkal tetapi dapat dievaluasi secara otomatis oleh aplikasi (multiple correct, multiple choice, ordering, fill-in).
38
2.2.6
Tipe Pertanyaan Kuis Dalam sebuah kuis, penyedia pertanyaan dapat menampilkan pertanyaan-pertanyaan yang dimiliki dalam beberapa tipe. Menurut Quia (n.d), tipe tersebut dibagi menjadi 10, yaitu multiple choice, true-false, pop-up, multiple correct, fill-in, initial answer, short answer, essay, matching, dan ordering. Dalam skripsi ini, tipe yang digunakan hanya 3, yaitu : •
Multiple Correct Pada tipe pertanyaan ini, peserta memilih satu atau lebih jawaban yang benar. Contoh dari tipe ini adalah :
Gambar 2.9 Contoh Pertanyaan Tipe Multiple Correct (Sumber : Quia, n.d) •
Fill-in Pada tipe pertanyaan ini, peserta mengisi bagian kosong dari suatu kalimat atau pernyataan. Contoh dari tipe pertanyaan ini adalah :
39
Gambar 2.10 Contoh Pertanyaan Tipe Fill-in (Sumber : Quia, n.d) •
Ordering Pada tipe pertanyaan ini, peserta mengurutkan daftar istilah atau daftar pengerjaan sesuatu yang tidak terurut dengan benar. Contoh dari tipe pertanyaan ini adalah :
Gambar 2.11 Contoh Pertanyaan Tipe Ordering (Sumber : Quia, n.d)
40
2.2.7
Adaptive Quiz Menurut Bintoro dan Didik (2008), adaptive quiz merupakan kuis dimana soal-soalnya akan menyesuaikan dengan yang mengerjakan.
kemampuan peserta
Soal berikutnya akan menjadi lebih mudah atau
sederhana jika peserta menjawab salah pada soal saat ini dan akan berlaku sebaliknya. Oleh karena itu, soal atau pertanyaan yang ada perlu dibuat tingkatan atau ranking. Tingkatan tersebut bisa ditentukan sejak awal pembuatan soal atau ditentukan berdasarkan jawaban peserta terhadap soal tersebut.