bab 2 landasan teori adalah sebuah metode dari sebuah...

33
8 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).

Upload: haduong

Post on 12-Aug-2019

228 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

8

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).

Page 2: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 :

Page 3: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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.

Page 4: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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

Page 5: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 )

Page 6: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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.

Page 7: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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.

Page 8: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 )

Page 9: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 )

Page 10: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 )

Page 11: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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).

Page 12: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

19

2.1.6 Activity Diagram

Activity diagram dapat digunakan untuk memodelkan aspek-

aspek 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).

Page 13: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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

Page 14: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 )

Page 15: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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.

Page 16: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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

Page 17: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 :

Page 18: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 :

<people>

<name>a</name>

<age>20</age>

<people>

• 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.

Page 19: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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.

Page 20: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 )

Page 21: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 :

Page 22: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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.openxmlformats-

officedocument.wordprocessingml.document

xlsx application/vnd.openxmlformats-

officedocument.spreadsheetml.sheet

pptx application/vnd.openxmlformats-

officedocument.presentationml.presentation

Tabel 2.3 MIME Types

(Sumber : NotePage, n.d; Microsoft, 2008)

Page 23: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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).

Page 24: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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).

Page 25: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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

Page 26: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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. Teknik ini biasa

digunakan untuk membuka aplikasi atau melakukan trigger pada

button. Istilah lainnya adalah press atau tap.

Page 27: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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.

Page 28: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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

Page 29: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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

Page 30: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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).

Page 31: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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 :

Page 32: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

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)

Page 33: BAB 2 LANDASAN TEORI adalah sebuah metode dari sebuah ...library.binus.ac.id/eColls/eThesisdoc/Bab2/2011-2-01734-IF Bab2001.pdf · memahami tentang sistem yang harus dibangun (Hermawan,

40

2.2.7 Adaptive Quiz

Menurut Bintoro dan Didik (2008), adaptive quiz merupakan kuis

dimana soal-soalnya akan menyesuaikan dengan kemampuan peserta

yang mengerjakan. 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.