bab ii tinjauan pustaka - sinta.unud.ac.id ii.pdf · mengurangi keanekaragaman atau variasi yang...

29
BAB II TINJAUAN PUSTAKA Bab ini memuat teori-teori literatur yang berhubungan dengan permasalahan dan pembahasan. Teori-teori tersebut meliputi konsep dasar sistem, pengenalan citra, biometrika, serta Android mobile development platform. 2.1 Konsep Dasar Sistem Informasi Aplikasi atau sistem yang digunakan untuk mengolah data menjadi suatu informasi yang berguna disebut dengan sistem informasi. Digunakan dalam berbagai aspek kehidupan sehingga manusia dengan mudah mampu memahami keadaan atau isi dari informasi yang dicari atau digunakan. Sub bab ini menjelaskan tentang pengertian sistem informasi. 2.1.1 Konsep Dasar Sistem Sistem merupakan sekelompok komponen yang saling berhubungan, bekerja bersama untuk mencapai tujuan bersama dengan menerima input serta menghasilkan output dalam proses transformasi yang teratur. Unsur-unsur yang mewakili sistem secara umum adalah masukan (input) pengolahan (processing) dan keluaran (output). Suatu sistem senantiasa tidak terlepas dari lingkungan sekitarnya. Umpan balik (feedback) di samping dapat berasal dari output, juga dapat berasal dari lingkungan sistem tersebut. Dapat dilihat lebih lanjut tentang pengertian sistem secara umum, yaitu: 1. Setiap sistem terdiri dari berbagai unsur. 2. Unsur-unsur tersebut merupakan bagian yang tidak terpisahkan dari sistem yang bersangkutan. 3. Unsur-unsur di dalam sistem tersebut bekeija sama untuk mencapai tujuan sistem. 4. Suatu sistem merupakan bagian dari sistem lain yang lebih besar.

Upload: vankiet

Post on 22-Mar-2019

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

5

BAB II

TINJAUAN PUSTAKA

Bab ini memuat teori-teori literatur yang berhubungan dengan

permasalahan dan pembahasan. Teori-teori tersebut meliputi konsep dasar sistem,

pengenalan citra, biometrika, serta Android mobile development platform.

2.1 Konsep Dasar Sistem Informasi

Aplikasi atau sistem yang digunakan untuk mengolah data menjadi suatu

informasi yang berguna disebut dengan sistem informasi. Digunakan dalam

berbagai aspek kehidupan sehingga manusia dengan mudah mampu memahami

keadaan atau isi dari informasi yang dicari atau digunakan. Sub bab ini

menjelaskan tentang pengertian sistem informasi.

2.1.1 Konsep Dasar Sistem

Sistem merupakan sekelompok komponen yang saling berhubungan,

bekerja bersama untuk mencapai tujuan bersama dengan menerima input serta

menghasilkan output dalam proses transformasi yang teratur.

Unsur-unsur yang mewakili sistem secara umum adalah masukan (input)

pengolahan (processing) dan keluaran (output). Suatu sistem senantiasa tidak

terlepas dari lingkungan sekitarnya. Umpan balik (feedback) di samping dapat

berasal dari output, juga dapat berasal dari lingkungan sistem tersebut.

Dapat dilihat lebih lanjut tentang pengertian sistem secara umum, yaitu:

1. Setiap sistem terdiri dari berbagai unsur.

2. Unsur-unsur tersebut merupakan bagian yang tidak terpisahkan dari sistem

yang bersangkutan.

3. Unsur-unsur di dalam sistem tersebut bekeija sama untuk mencapai tujuan

sistem.

4. Suatu sistem merupakan bagian dari sistem lain yang lebih besar.

Page 2: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

6

2.1.2 Elemen Sistem

Sistem tersusun dari beberapa elemen yang saling berkaitan, yaitu : tujuan,

masukan, proses, keluaran, batas, mekanisme pengendalian dan umpan balik serta

lingkungan. Berikut penjelasan mengenai elemen-elemen yang membentuk

sebuah sistem :

1. Tujuan

Setiap sistem memiliki tujuan (goal), entah hanya satu atau mungkin

banyak. Tujuan tersebut yang menjadi acuan kemana dan bagaimana sistem akan

dibangun. Tujuan juga sebagai alasan mengapa sebuah sistem dibuat.

2. Masukan

Masukan (input) sistem adalah segala sesuatu yang masuk ke dalam sistem

dan selanjutnya menjadi bahan yang diproses. Masukan berupa data akan diolah

oleh sistem agar dapat ditampilkan sebagai sebuah informasi. Masukkan dapat

juga hanya disimpan tanpa perlu diolah, namun sudah dapat dikatakan sebagai

informasi.

3. Proses

Proses merupakan bagian yang melakukan perubahan atau transformasi

dari masukan menjadi keluaran yang berguna dan lbih bernilai, misalnya berupa

informasi dan produk, tetapi juga bisa berupa hal-hal yang tidak berguna,

misalnya saja sisa pembuangan atau limbah. Proses dapat berupa bahan mentah

pada pabrik kimia, atau pada rumah sakit, proses dapat berupa aktivitas

pembedahan pasien.

4. Keluaran

Keluaran (output) merupakan hasil dari pemrosesan. Keluaran bisa berupa

suatu informasi, saran, cetakan laporan, dan sebagainya.

Page 3: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

7

5. Batas

Batas (boundary) sistem adalah pemisah antara sistem dan daerah di luar

sistem (lingkungan). Batas sistem menentukan konfigurasi, ruang lingkup, atau

kemampuan sistem. Contoh, tim sepakbola mempunyai aturan permainan dan

keterbatasan kemampuan pemain. Pertumbuhan sebuah toko kelontong

dipengaruhi oleh pembelian pelanggan, gerakan pesaing dan keterbatasan dana

dari bank. Batas sebuah sistem yang dikurangi atau dimodifikasi akan mengubah

perilaku sistem.

6. Mekanisme Pengendalian dan Umpan Balik

Mekanisme pengendalian (control mechanism) diwujudkan dengan

menggunakan umpan balik (feedback), yang mencuplik keluaran. Umpan balik ini

digunakan untuk mengendalikan baik masukan maupun proses. Tujuannya adalah

untuk mengatur agar sistem berjalan sesuai dengan tujuan.

7. Lingkungan

Lingkungan adalah segala sesuatu yang berada diluar sistem. Lingkungan

bisa berpengaruh terhadap operasi sistem dalam arti bisa merugikan atau

menguntungkan sistem itu sendiri. Lingkungan yang merugikan tentu saja harus

ditahan dan dikendalikan supaya tidak mengganggu kelangsungan operasi sistem,

sedangkan yang menguntungkan tetap harus terus dijaga, karena akan memacu

terhadap kelangsungan hidup sistem.

Berdasarkan beberapa definisi di atas dapat dirumuskan bahwa sistem

terdiri dari beberapa elemen-elemen yang merupakan bagian terpadu dari suatu

sistem yang bersangkutan. Elemen-elemen sistem tersebut berhubungan erat satu

sama lain dan tidak dapat berdiri sendiri, mereka saling berinteraksi dan saling

berhubungan membentuk satu kesatuan, sehingga tujuan atau sasaran suatu sistem

dapat tercapai. Sesuatu dapat dikatakan sistem, apabila memenuhi sedikitnya dua

syarat. Pertama adalah memiliki bagian-bagian yang saling berinteraksi untuk

Page 4: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

8

mencapai tujuan tertentu, kedua adalah bahwa suatu sistem harus memiliki tiga

unsur, yaitu input, proses, dan output.

2.1.3 Konsep Dasar Informasi

Informasi adalah data yang telah diklasifikasikan atau diolah untuk

digunakan dalam proses pengambilan keputusan. Informasi adalah data yang telah

diproses, atau data yang telah memiliki arti. Dengan kata lain informasi adalah

data yang telah diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi

yang menerimanya. Informasi dapat dikelompokkan menjadi tiga bagian.

1. Informasi Strategis. Informasi ini digunakan untuk mengambil keputusan

jangka panjang, mencakup informasi eksternal, rencana perluasan

perusahaan, dan sebagainya.

2. Informasi Taktis. Informasi ini dibutuhkan untuk mengambil keputusan

jangka menengah, seperti informasi tren penjualan yang dapat

dimanfaatkan untuk menyusun rencana penjualan.

3. Informasi Teknis. Informasi ini dihamilkan untuk keperluan operasional

sehari-hari, seperti informasi persediaan, retur penjualan, dan laporan kas

harian.

2.1.4 Konsep Dasar Sistem Informasi

Sistem informasi adalah suatu sistem di dalam suatu organisasi yang

mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi

operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu

organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan laporan-

laporan yang diperlukan. Sistem informasi memiliki beberapa fungsi, antara lain :

1. Menambah pengetahuan

2. Mengurangi ketidakpastian

3. Mengurangi resiko kegagalan

4. Mengurangi keanekaragaman atau variasi yang tidak diperlukan

5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

yang menentukan pencapaian sasaran dan tujuan.

Page 5: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

9

Fungsi tersebut menjadi patokan dimana sebuah aplikasi dapat

dikategorikan sebagai sistem informasi yang baik dalam pencapaiannya untuk

mengolah data yang dimiliki menjadi informasi yang berguna.

2.2 Konsep Dasar Mobile Application

Mobile Application merupakan aplikasi yang cara aksesnya menggunakan

perangkat bergerak (mobile device) seperti handphone, smartphone dan

PDAphone.

2.2.1 Pengertian Android

Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat

bergerak mencakup sistem operasi, middleware, dan aplikasi kunci. Android

Standart Development Kid (SDK) menyediakan perlengkapan dan Application

Programming Interface (API) yang diperlukan untuk mengembangkan aplikasi

pada platform Android menggunakan bahasa pemrograman Java.

Android dikembangkan oleh Google bersama Open Handset Allience

(OHA) yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan

Hardware, Software dan perusahaan telekomunikasi ditujukan untuk

mengembangkan standar terbuka bagi perangkat selular.

2.2.2 Konsep Dasar Android Platform

Platform Android adalah software stack untuk perangkat mobile yang

mencakup sistem operasi, middleware dan aplikasi kunci. Pengembangan aplikasi

Android dapat dilakukan melalui Android Standard Development Key (Android

SDK) dengan sintaks yang berbasis pemrograman Java. Aplikasi Android ini

tidak berjalan pada kernel system operation melainkan pada sebuah virtual

machine yang dirancang khusus untuk digunakan pada system embedded yang

dinamakan Dalvik.

Page 6: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

10

2.2.3 Sejarah dan Perkembangan Android

Awal mulanya terdapat berbagai macam sistem operasi pada perangkat

selular, diantaranya sistem operasi Symbian, Microsoft Windows Mobile, Mobile

Linux, iPhone, dan sistem operasi lainnya. Sistem operasi yang ada belum

mendukung standar dan penerbitan API yang dapat dimanfaatkan secara

keseluruhan dan dengan biaya yang murah. Google akhirnya ikut berkecimpung

didalamnya dengan Platform Android, yang menjanjikan keterbukaan,

keterjangkauan, open source, dan framework yang berkualitas.

Tahun 2005, Google mengakuisisi perusahaan Android Inc. untuk

memulai pengembangan platform android. Nama-nama yang terlibat dalam

pengembangan ini, yaitu : Andy Rubin, Rich Miner, Nick Sears, dan Chris White.

Pertengahan 2007 sekelompok pemimpin industri bersama-sama membentuk

aliansi perangkat selular terbuka, disebut dengan Open Handset Alliance (OHA).

Bagian dari tujuan aliansi ini adalah berinovasi dengan cepat dan menanggapi

kebutuhan konsumen dengan lebih baik, dengan produk awalnya adalah platform

Android. Platform Android dirancang untuk melayani kebutuhan operator

telekomunikasi, manufaktur handset, dan pengembang aplikasi. OHA

berkomitmen untuk membuat android open source dengan lisensi Apache versi

2.0. [Sayed Y. Hashimi and Satya Komatineni, Pro Android, Apress, USA 2009]

Android pertama kali diluncurkan pada 5 November 2007, dan

smartphone pertama yang menggunakan sistem operasi android dikeluarkan oleh

T-Mobile dengan sebutan G1 pada bulan September 2008. Hingga saat ini android

telah merilis beberapa versi android untuk menyempurnakan versi sebelumnya.

Selain berdasarkan penomoran, pada setiap versi android terdapat kode nama

berdasarkan nama-nama kue. Hingga saat ini sudah terdapat beberapa versi yang

telah diluncurkan, diantaranya: versi 1.5 dirilis pada 30 April 2009 diberi nama

Cupcake, versi 1.6 dirilis pada 15 September 2009 diberi nama Donut, dan versi

terakhir 2.0 dirilis pada 26 Oktober 2009 diberi nama Eclair.

Page 7: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

11

2.2.4 Anatomi Android

Paket sistem operasi android tediri dari beberapa unsur seperti tampak

pada gambar 2.1. Secara sederhana arsitektur android merupakan sebuah kernel

Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang

menyediakan dan mengatur alur proses aplikasi.[Google IO, Android Anatomy

and Physiology]

Gambar 2.1 Detil Anatomi Android

1. Linux Kernel

Android dibangun di atas kernel Linux 2.6, namun secara keseluruhan

android bukanlah linux, karena dalam android tidak terdapat paket standar yang

dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal

dalam manajemen memori dan proses, sehingga pada android hanya terdapat

beberapa servis yang diperlukan, seperti : keamanan, manajemen memori,

manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar,

Page 8: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

12

kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess

Communication) untuk mengatur aplikasi dan lubang keamanan.

2. Libraries

Android menggunakan beberapa paket pustaka (libraries) yang terdapat

pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya

setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka

diantaranya:

a. Media Library untuk memutar dan merekam berbagai macam format

audio dan video.

b. Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.

c. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan

2D dan 3D.

d. SQLite untuk mengatur relasi database yang digunakan pada aplikasi.

e. SSl dan WebKit untuk browser dan keamanan internet.

Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun

hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi

Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri

menggunakan Native Development Toolkit (NDK).

3. Android Runtime

Tertanam paket pustaka inti pada android yang menyediakan sebagian

besar fungsi android. Pustaka inti inilah yang membedakan Android dibandingkan

dengan sistem operasi lain yang juga mengimplementasikan Linux. Android

Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih

tangguh dengan paket pustaka yang telah ada. Terdapat 2 bagian utama dalam

Android Runtime, diantaranya:

a. Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java,

tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android

Page 9: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

13

menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta

beberapa pustaka khusus android.

b. Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang

dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah

perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin

virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex).

Format yang digunakan Dalvik akan mengoptimalkan efisiensi

penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik

berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading

dan manajemen memori yang terbatas. [Nicolas Gramlich, Andbook,

anddev.org]

4. Application Framework

Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk

mengembangkan aplikasi android. Framework juga menyediakan abstraksi

generik untuk mengakses perangkat, serta mengatur tampilan user interface dan

sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah

sebagai berikut [Hello Android 2nd Edition]:

a. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan

menjaga keadaan ”Backstack“ untuk navigasi penggunaan.

b. Content Providers, berfungsi untuk merangkum data yang memungkinkan

digunakan oleh aplikasi lainnya, seperti daftar nama.

c. Resuource Manager, untuk mengatur sumber daya yang ada dalam

program. Serta menyediakan akses sumber daya diluar kode program,

seperti karakter, grafik, dan file layout.

d. Location Manager, berfungsi untuk memberikan informasi detail

mengenai lokasi perangkat android berada.

e. Notification Manager, mencakup berbagai macam peringatan seperti,

pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status

bar.

Page 10: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

14

5. Application Layer

Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget.

Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika

menjalankan program. Pengguna hanya akan melihat program ketika digunakan

tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan

dalam Android runtime dengan menggunakan kelas dan service yang tersedia

pada framework aplikasi.

Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem

operasi lainnya. Semua aplikasi android, baik aplikasi inti (native) maupun

aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan

pustaka API (Application Programming Interface) yang sama.

6. Komponen Aplikasi

Fitur penting android adalah bahwa satu aplikasi dapat menggunakan

elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh,

sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan

fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya.

Pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya,

cukup menggunakan scroller yang telah ada.

Sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu

dibutuhkan agar fitur tersebut dapat bekerja, dan pemanggilan objek java untuk

bagian itu. Komponen ini yang membedakan Android dari sistem operasi lainnya.

Android tidak memiliki satu tampilan utama program seperti fungsi main() pada

aplikasi lain. Aplikasi Android memiliki komponen penting yang memungkinkan

sistem untuk memanggil dan menjalankan ketika dibutuhkan.

7. Activities

Activity merupakan bagian yang paling penting dalam sebuah aplikasi,

karena Activity menyajikan tampilan visual program yang sedang digunakan oleh

pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk

menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap

Page 11: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

15

Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada

activity yang pertama kali tampil ketika aplikasi dijalankan.

Perpindahan antara activity dengan activity lainnya diatur melalui sistem,

dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh

posisinya dalam tumpukan acitivity, LIFO (Last In First Out) dari semua aplikasi

yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya

digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin

menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup

activity yang sedang digunakan, maka activity yang berada diatas akan aktif

kembali. Memory Manager android menggunakan tumpukkan ini untuk

menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk mengakhiri

suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.

Terdapat 4 kemungkinan kondisi transisi yang akan terjadi ketika activity

diambil dan disimpan dalam tumpukkan activity [Reto Meier, Profesional Android

Application Development, Wiley Publishing, Canada, 2009]:

a. Active, setiap activity yang berada ditumpukan paling atas, maka dia akan

terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan

berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup

dengan segala cara, bahkan akan menghentikan activity yang berada

dibawah tumpukkannya jika diperlukan. Jika activity sedang aktif, maka

yang lainnya akan dihentikan sementara.

b. Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus

pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity

transparan dan tidak fullscreen pada layar. Jika activity dalam keadaan

paused, dia terlihat active namun tidak dapat menerima masukkan dari

pengguna. Android akan menghentikan activity dalam keadaan paused ini

jika diperlukan, untuk menunjang sumber daya bagi activity yang sedang

aktif.

c. Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut

stopped. Activity akan tetap berada dalam memori dengan semua keadaan

dan informasi yang ada, namun akan menjadi kandidat utama untuk

Page 12: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

16

dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Jika suatu

activity dalam kondisi stopped, maka perlu disimpan data dan kondisi

antarmuka saat itu, karena ketika activity telah keluar atau ditutup, maka

dia akan menjadi inactive.

d. Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan.

Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu

restart ulang agar dapat tampil dan digunakan kembali.

Kondisi transisi ini sepenuhnya ditangani oleh manajer memori android.

Android akan memulai menutup aplikasi yang mengandung activity inactive,

kemudian stopped activity, dan dalam kasus luar biasa paused activity juga akan

di tutup.

8. Services

Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di

background untuk waktu yang tidak terbatas. Komponen service diproses tidak

terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan

untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika

Activity tidak aktif atau tidak tampak.

9. Intents

Intens merupakan sebuah mekanisme untuk menggambarkan tindakan

tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya.

Intents tidak selalu dimulai dengan menjalankan aplikasi, namun juga digunakan

oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan

masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin

menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh

Intents tersebut.

Page 13: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

17

10. Broadcast Receivers

Broadcast Receivers merupakan komponen yang sebenarnya tidak

melakukan apa-apa kecuali menerima dan bereaksi menyampaikan

pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, battery

sudah hampir habis, informasi zona waktu telah berubah, atau pengguna telah

merubah bahasa default pada perangkat. Broadcast Receivers tidak menampilkan

antarmuka pengguna seperti yang dilakukan service, namun, Broadcast Receivers

dapat menggunakan Notification Manager untuk memberitahukan sesuatu kepada

pengguna.

11. Content Providers

Content Providers digunakan untuk mengelola dan berbagi database. Data

dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain

yang pada prinsipnya sama. Content Provider memungkinkan antar aplikasi untuk

saling berbagi data. Komponen ini sangat berguna ketika sebuah aplikasi

membutuhkan data dari aplikasi lain, sehingga mudah dalam penerapannya.

Anatomi Android tersebut tersusun saling terkait satu sama lain dalam

pembuatan suatu aplikasi, sehingga menjadikan pemrograman android sebagai

sebuah platform yang mampu menangani berbagai kreatifitas aplikasi yang akan

dibangun.

2.2.5 Tipe Aplikasi Android

Terdapat tiga kategori aplikasi pada android [Reto Meier, Profesional

Android Application Development, Wiley Publishing, Canada, 2009] :

1. Foreground Activity

Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap

efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan

siklus hidup activity, sehingga perpindahan antar activity dapat berlangsung

dengan lancar.

Page 14: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

18

2. Background Service

Aplikasi yang memiliki interaksi terbatas dengan user, selain dari

pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar.

Contohnya aplikasi penyaringan panggilan atau sms auto respon.

3. Intermittent Activity

Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna,

namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan

akan memberi tahu pengguna tentang kondisi tertentu. Contohnya : pemutar

musik.

Aplikasi yang kompleks akan sulit untuk menentukan kategori aplikasi

tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori, sehingga perlu

pertimbangan bagaimana aplikasi tersebut digunakan dan menentukan kategori

aplikasi yang sesuai.

2.2.6 Siklus Hidup Aplikasi Android

Siklus hidup aplikasi android dikelola oleh sistem, berdasarkan kebutuhan

pengguna, sumberdaya yang tersedia, dan sebagainya. Sistem sangat berperan

dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau

dihentikan sama sekali. Jika pengguna ketika itu sedang menjalankan sebuah

Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang

menjalankan Activity tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan

sistem membutuhkan sumber daya yang lebih, maka Activity yang prioritas rendah

akan ditutup. [Sayed . Y. Hashimi and Satya Komatineni, Pro Android, Apress,

USA 2009]

Android menjalankan setiap aplikasi dalam proses secara terpisah, dan

masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi

penggunaan memori berlebih pada aplikasi. Android juga dapat mengontrol

aplikasi mana yang layak menjadi prioritas utama, karenanya android sangat

Page 15: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

19

sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya

penanganan terhadap setiap kondisi agar aplikasi menjadi stabil.

Gambar 2.2 Prioritas aplikasi berdasarkan activity

Gambar 2.2 menunjukkan prioritas dari aplikasi. Prioritas digolongkan

menjadi 3 bagian, yaitu : kritis (harus), tinggi (diutamakan), dan rendah.

2.2.7 Kelebihan Android

Banyak platform yang dibuat untuk perangkat selular saat ini, namun ada

beberapa hal yang menjadi kelebihan Android. Android adalah yang pertama

menggabungkan hal seperti berikut walaupun beberapa fitur-fitur yang ada telah

muncul sebelumnya pada platform lain [Ed Burnette, Hello Android 2nd Edition,

usa 2009]:

1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap sistem

karena berbasiskan Linux dan open source. Pembuat perangkat menyukai

hal ini karena dapat membangun platform yang sesuai yang diinginkan

tanpa harus membayar royality. Pengembang software menyukai karena

Active

process

Visible

process

Started

service

process

Backgr

ound

process Empty

process

Critical

Priority

High

Priority

Low

Priority

Page 16: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

20

android dapat digunakan diperangkat manapun dan tanpa terikat oleh

vendor manapun.

2. Arsitektur komponen dasar android terinspirasi dari teknologi internet

Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi

lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan

aplikasi yang dikembangkan.

3. Banyak dukungan service, kemudahan dalam menggunakan berbagai

macam layanan pada aplikasi seperti penggunaan layanan pencarian

lokasi, database SQL, browser dan penggunaan peta. Service tersebut

sudah tertanam pada android sehingga memudahkan dalam pengembangan

aplikasi.

4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara

satu sama lain oleh berbagai lapisan keamanan, sehingga kerja sistem

menjadi lebih stabil. Pengguna tak perlu kawatir dalam menggunakan

aplikasi pada perangkat yang memorinya terbatas.

5. Dukungan grafis dan suarat terbaik, dengan adanya dukungan 2D grafis

dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan

OpenGL memungkinkan membuat aplikasi maupun game yang berbeda.

Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada

saat ini maupun yang akan datang. Semua program ditulis dengan menggunakan

bahas pemrograman Java dan dieksekusi oleh mesin virtual Dalvik, sehingga kode

program portabel antara ARM, X86, dan arsitektur lainnya. Dukungan input

seperti penggunaan keyboard, layar sentuh, trackball dan resolusi layar semua

dapat disesuaikan dengan program.

2.2.8 Versi Android

Android memiliki beberapa versi yang terus berkembang, versi-versi

android adalah sebagai berikut:

Page 17: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

21

1. Android versi 1.1

Google merilis Android versi 1.1 pada 9 Maret 2009. Android versi ini

dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search

(pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

2. Android versi 1.5 (Cupcake)

Google kembali merilis telepon seluler pada pertengahan Mei 2009

dengan menggunakan Android dan SDK (Software Development Kit) dengan versi

1.5 (Cupcake). Pembaruan terjadi pada beberapa sektor termasuk juga

penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam

dan menonton video dengan modus kamera, mengunggah video ke youtube dan

gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan

terhubung secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada

layar yang dapat disesuaikan dengan sistem.

3. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September 2009 dengan menampilkan proses

pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator

dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan

pengguna untuk memilih foto yang akan dihapus, kamera camcorder dan galeri

yang dintegrasikan, CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-speech

engine, kemampuan dial kontak, teknologi text to change speech (tidak tersedia

pada semua ponsel), dan pengadaan resolusi VWGA.

4. Android versi 2.0/2.1 (Eclair)

Diluncurkan lagi ponsel Android dengan versi 2.0/2.1 (Eclair) pada

penghujung 2009, perubahan yang dilakukan adalah pengoptimalan hardware,

peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan

dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2

MP, digital Zoom, dan Bluetooth 2.1. Untuk bergerak cepat dalam persaingan

perangkat generasi berikut, Google melakukan investasi dengan mengadakan

Page 18: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

22

kompetisi aplikasi mobile terbaik (killer apps-plikasi unggulan). Kompetisi ini

berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan

selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik. Semakin

berkembangnya dan semakin bertambahnya jumlah handset Android, semakin

banyak pula pihak ketiga yang berminat untuk menyalurkan aplikasi mereka

kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem

operasi Android adalah Shazam, Backgrounds, dan WeatherBug. Sistem operasi

Android dalam situs Internet juga dianggap penting untuk menciptakan aplikasi

Android asli, contohnya oleh MySpace dan Facebook.

5. Android versi 2.2 (Froyo: Frozen Yoghurt)

Android versi 2.2 (Froyo) diluncurkan pada 20 Mei 2010,. Perubahan-

perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan

Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat,

intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat

kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card,

kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi

Android Market.

6. Android versi 2.3 (Gingerbread)

Tujuh bulan kemudian, tepatnya pada 6 Desember 2010, Android versi 2.3

(Gingerbread) diluncurkan. Perubahan umum yang didapat dari Android versi ini

antara lain peningkatan kemampuan permainan, peningkatan fungsi copy paste,

layar antar muka (User Interface) didesain ulang, dukungan format video VP8 dan

WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass

boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan

jumlah kamera yang lebih dari satu.

7. Android versi 3.0/3.1 (Honeycomb)

Dirilis pada 22 Februari 2011 silam. Android versi Honeycomb didesain

khusus untuk tablet. Perubahan signifikan dari Honeycomb sendiri adalah

Page 19: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

23

kemampuan dalam mendukung perangkat dengan layar tampilan lebih besar, serta

kinerja yang lebih canggih dalam penanganan multi processor. Dukungan bagi

gamers sangat terasa pada fitur joystick dan gamepad yang disematkan pada versi

ini.

8. Android versi 4.0 (ICS : Ice Cream Sandwich)

Versi Android berikutnya adalah 4.0 dimana lebih dikenal dengan nama

ICS (Ice Cream Sandwich) yang dirilis pada 19 Oktober 2011. Fitur dari generasi

ICS kebanyakan diturunkan dari Honeycomb, namun beberapa fitur baru tentu

saja disematkan pada versi 4.0. Pengenalan wajah, perangkat tambahan pada

fotografi, pencarian email secara offline, dan kemampuan berbagi informasi

melalui NFC (Near Field Communication).

9. Android versi 4.1/4.3 (Jellybean)

Fitur pencarian yang menggunakan voice search merupakan fitur unggulan

dari Android versi 4.1 yang kita kenal dengan nama Jellybean. Dirilis pada 9 Juli

2012 silam dengan tampilan user interface (UI) yang sangat halus, serta input

keyboard yang lebih dinamis. Pembaruan tersebut diwujudkan Google dalam

“Proyek Butter”, perbaikam ini termasuk antisipasi sentuhan layar, triple

buffering, perpanjangan waktu vsync, dan peningkatan frame rate hingga 60fps

untuk menciptakan UI yang lebih halus.

10. Android versi 4.4 (Kitkat)

Diluncurkan pada 31 Oktober 2013 sebagai Android terbaru yang telah

dirilis. Memiliki tampilan yang lebih halus serta ketersediaan cloud storage untuk

melakukan back up foto, video, dan berbagai file lainnya. Keunggulan lain dari

versi Kitkat, adalah screen orientation dengan kecepatan jauh lebih baik, serta

penggunaan daya baterai yang lebih tidak konsumtif.

Page 20: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

24

2.2.9 Fitur Android

Android dilengkapi dengan berbagai fitur dan API yang menyediakan

akses ke berbagai fitur yang dimiliki perangkat mobile. Fitur yang ditawarkan

Android berupa:

1. Application Framework, mendukung pemakaian komponen-komponen

yang mudah diganti dan digunakan kembali.

2. Dalvik Virtual Machine, sebuah virtual machine yang dioptimasi untuk

piranti mobile

3. Integrated Browser, browser yang terintegrasi

4. Optimized Graphics, didukung oleh custom 2D graphics library, 3D

graphics dibangun berdasarkan OpenGL ES 1.0 Specification

5. SQLite, untuk penyimpanan database terstruktur

6. Media Support, untuk mendukung berbagai audio, video, dan still image

format (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

7. GSM Telephony

8. Bluetooth, EDGE, 3G, dan WiFi

9. Camera, GPS, Compass and Accelerometer

10. Rich Development Environtment, meliputi device emulator, tools untuk

debugging, memory dan performance profiling, dan plugin untuk Eclipse

Integrated Development Environment (IDE)

2.3 Web Service

Web service merupakan suatu komponen perangkat lunak yang merupakan

self-containing, aplikasi modular self-describing yang dapat dipublikasikan,

dialokasikan dan dilaksanakan pada web. Web service adalah teknologi yang

mengubah kemampuan internet dengan menambahkan kemampuan transactional

web, yaitu kemampuan web untuk saling berkomunikasi dengan pola program-to-

program (P2P). Fokus web selama ini didominasi oleh komunikasi program-to-

user dengan interaksi business-to-computer, sedangkan transactional web akan

didominasi oleh program-to-program dengan interaksi business-to-business.

Page 21: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

25

Perbedaan signifikan web service dengan website, adalah :

1. Web service tidak memiliki interface yang bagus, berbeda dengan website

dimana menggunakan web interface yang baik dan interaktif dalam

tujuannya berinteraksi langsung dengan pengguna.

2. Web service dibangun untuk berinteraksi dengan aplikasi yang lain, baik

itu berbeda sistem operasi, maupun berbeda konsep sekalipun.

3. Web service dibangun untuk bekerja pada semua tipe aplikasi client atau

perangkat client, sedangkan website dibangun untuk berjalan baik pada

web browser.

Gambar 2.3 merupakan blok bangunan web service yang mana

menyediakan fasilitas komunikasi jarak jauh antara dua aplikasi yang merupakan

layer arsitektur web service.

1. Layer 1 : HTTP dan TCP/IP merupakan protokol internet standar yang

digunakan sebagai sarana transportasi.

2. Layer 2 : Simple Object Access Protocol (SOAP) berbasiskan XML dan

digunakan untuk pertukaran informasi antar sekelompok layanan.

3. Layer 3 : Web Service Definition Language (WSDL) digunakan untuk

mendiskripsikan attribute layanan.

4. Layer 4 : Universal Description, Discovery and Integration, yang mana

merupakan direktori pusat untuk deskripsi layanan.

Gambar 2.3 Blok Bangunan Web Service

Page 22: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

26

Secara sederhana, web service dapat diartikan pula sebagai sistem software

yang dirancang untuk mendukung kemampuan interaksi mesin-ke-mesin yang

dilakukan melalui jaringan. Sistem yang berinteraksi dengan suatu web service

ditentukan oleh deskripsi dengan menggunakan pesan SOAP, umumnya

disampaikan menggunakan HTTP request dengan serialisasi XML dalam

hubungannya dengan web lain yang terkait standar.

2.3.1 JSON (Java Script Object Notation)

JSON (JavaScript Object Notation) adalah format pertukaran data yang

bersifat ringan karena mudah dibaca dan ditulis oleh manusia, serta mudah

diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat

berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262

Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung

pada bahasa pemprograman apapun karena menggunakan bahasa yang umum

digunakan oleh programmer kelompok C termasuk C, C++, C#, Java, JavaScript,

Perl, Python dll. Hal tersebut yang menjadikan JSON sangat ideal digunakan

sebagai format bahasa pertukaran data.

JSON (JavaScript Object Notation) terdiri dari dua strukutur, yaitu:

1. Kumpulan sepasang nama/nilai. Pada beberapa bahasa, hal ini dinyatakan

sebagai objek (object), record, struktur (struct), dictionary, hash table, key

list, atau associative array.

2. List values yang diurutkan (an ordered list of values). Sebagian besar

bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar

(list), atau urutan (sequence).

Struktur-struktur data ini disebut sebagai struktur data universal karena

pada dasarnya, semua bahasa pemprograman modern yang mendukung struktur

data ini dalam bentuk yang sama maupun berlainan. Hal ini dapat disebut

demikian karena format data mudah ditukarkan dengan bahasa-bahasa

pemprograman yang juga berdasarkan pada struktur data tersebut.

Page 23: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

27

JSON (JavaScript Object Notation) menggunakan bentuk sebagai berikut:

1. Objek adalah sepasang nama/nilai yang tidak diurutkan. Objek dimulai

dengan lambang “ { “ (kurung kurawal buka) dan diakhiri dengan “ }

” (kurung kurawal tutup). Setiap nama diikuti dengan tanda “ : ” (titik dua)

dan setiap pasangan nama/nilai dipisahkan oleh tanda “ , ” (koma).

Gambar 2.4 JSON Format Objek

2. Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan

“[“ (kurung siku buka) dan diakhiri dengan “]“ (kurung siku tutup). Setiap

nilai dipisahkan oleh “ , “ (koma)

Gambar 2.5 JSON Format Array

Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau

angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-

struktur tersebut dapat disusun bertingkat.

Page 24: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

28

Gambar 2.6 JSON Format Value

3. String merupakan kumpulan dari nol atau lebih karakter unicode, yang

dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan

backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter

mewakili karakter tunggal pada string. String sangat mirip dengan string C

atau Java.

Gambar 2.7 JSON Format String

4. Number adalah sangat mirip dengan angka yang terdapat di C atau Java,

kecuali format oktal dan heksadesimal tidak digunakan

Page 25: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

29

Gambar 2.8 JSON Format Number

Whitespace dapat disisipkan di antara pasangan tanda-tanda tersebut,

kecuali beberapa detil encoding yang secara lengkap dipaparkan oleh bahasa

pemprograman yang bersangkutan.

2.3.2 XML (Xtensible Markup Language)

XML merupakan bahasa web turunan dari SGMW (Standard Generalized

Markup Language) yang ada sebelumnya. Teknologi XML dikembangkan mulai

tahun 1966 dan mendapat pengakuan dari World Wide Web Consortium (W3C)

pada bulan Februari 1998. Secara sederhana XML adalah suatu bahasa yang

digunakan untuk mendeskripsikan dan memanipulasi dokumen secara terstruktur.

Sebuah bahasa meta-markup yang menyediakan format tertentu untuk dokumen-

dokumen yang memiliki data terstruktur.

XML tidak memiliki definisi secara tepat dikarenakan ada yang

berpendapat bahwa XML bukanlah bahasa pemrograman, melainkan sebuah

sintaks yang digunakan untuk menjelaskan bahasa markup lainnya, sehingga

dinamakan meta-language.

XML memiliki tiga tipe file yang umum digunakan, yaitu :

1. XML, merupakan format standar dari struktur berkas (file).

2. XSL, merupakan format standar untuk memodifikasi data yang diimpor

atau diekspor.

3. XSD, merupakan format standar yang mendefinisikan struktur database

dalam XML.

Page 26: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

30

Perlu diketahui bahwa XML bukan merupakan pengganti HTML, dimana

perbedaan signifikan terasa dari fungsi masing-masing. HTML lebih bertujuan

untuk menampilkan informasi yang dititik beratkan pada bagaimana informasi

tersebut terlihat secara gamblang, sedangkan XML bertujuan untuk transportasi

dan menyimpan data yang dititik beratkan pada isi data yang dibawa.

Dokumen XML dapat digunakan untuk berbagai macam tujuan, yaitu :

1. Sebagai media penyimpanan data (database) yang mudah dibaca oleh user

karena disimpan dalam bentuk teks.

2. Sebagai media transfer data seperti data transaksi antar perusahaan, atau

mentransfer data adari DBMS yang berbeda (Oracle ke SQL Server).

3. Sebagai acuan untuk membuat bahasa baru, seperti WML (Wireless Markup

Language) yang digunakan pada perangkat mobile dengan protokol WAP,

atau VoiceXML yang digunakan sebagai bahasa markup untuk pengenalan

suara, dialog, aplikasi interaksi respon suara maupun DTMF (aplikasi call

centre).

4. Sebagai file konfigurasi, pada Java dokumen XML sering kali dijumpai

seperti file server.xml dan web.xml yang digunakan Tomcat, atau perintah-

perintah query yang disimpan dalam bentuk file XML.

XML menjadi dasar dari beberapa bahasa markup yang telah

dikembangkan sampai saat ini, seperti : XHTML (perbaikan dari HTML),

VoiceXML (bahasa untuk aplikasi suara, telepon), Xforms (pengembangan form

pada web), Xpath, Xpointer, XSL dan XSLT (transformasi dan presentasi XML).

2.4 Absensi

Absensi adalah proses pencatatan waktu hadir seseorang dalam sebuah

dokumen yang dibuat sebagaimana mestinya guna sebagai acuan dalam

menentukan sebuah keputusan dalam lingkup penilaian. Catatan waktu hadir

dapat berupa daftar hadir biasa, dapat pula berbentuk kartu hadir yang diisi

dengan menggunakan mesin pencatatan waktu. Kegiatan mencatat waktu pada

Page 27: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

31

dasarnya dapat dipisahkan menjadi dua bagian, yaitu : pencatatan waktu hadir

(attendance time keeping) dan pencatatan waktu kerja (shop time keeping).

2.4.1 Tujuan Absensi.

Pencatatan waktu kehadiran dimaksudkan untuk mengumpulkan data

mengenai kapan atau jam berapa seseorang hadir dalam suatu periode. Pencatatan

waktu kehadiran umumnya bertujuan sebagai acuan dalam menentukan tarif upah,

sikap tepat waktu seseorang, nilai tunjangan pada lingkup karyawan, dan dapat

digunakan sebagai acuan dalam mengambil keputusan akan nilai kerajinan pada

seseorang.

Pencatatan waktu kerja dimaksudkan untuk mencatat jumlah jam kerja

sesungguhnya yang digunakan oleh seseorang dalam setiap pekerjaan (job) atau

departemennya. Catatan waktu kerja ini dapat digunakan untuk menilai kinerja

atau rentan waktu yang dibutuhkan seseorang dalam menangani suatu kasus,

mendapatkana data produksi yang diperlukan untuk distribusi upah dan gaji dan

berbagai perhitungan intensif dalam lingkup pekerjaan.

2.4.2 Metode Absensi

Pencatatan waktu absensi dapat dilakukan dengan beberapa cara yang

umum dilakukan, yaitu :

1. Absensi Catatan Tangan.

Merupakan cara absensi yang paling umum dan mudah digunakan dalam

penerapannya. Menggunakan catatan tangan (tanda tangan atau catatan yang

ditulis tangan) yang dimiliki sebagai penanda kehadiran dalam dokumen absen.

Tidak mencatat jam atau waktu kehadiran dalam dokumen, sehingga presisi waktu

kerja diabaikan, serta waktu kehadiran dipukul rata secara global sesuai waktu

mulai kegiatan.

Kekurangan metode absensi catatan tangan adalah :

a. Seseorang dapat menulis waktu hadir atau waktu pulang sesuai dengan

kehendaknya.

Page 28: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

32

b. Seseorang dapat menulis waktu hadir atau waktu pulang temannya

(orang lain) yang belum datang atau pulang lebih awal, atau bahkan

yang tidak hadir sama sekali (kecurangan).

c. Memiliki kesulitan yang tinggi dalam melakukan rekap jam hadir pada

akhir kegiatan.

Metode absensi catatan tangan memiliki banyak kekurangan, namun

metode ini paling umum digunakan dalam suatu kegiatan sosial dan belajar

mengajar di Indonesia, karena kemudahan dalam menyiapkan alat dan dokumen

yang dibutuhkan untuk proses absensi yang dilakukan.

2. Absensi Almano

Metode absensi ini menggunakan mesin almano atau mesin absensi

dengan sistem check lock. Menggunakan sebuah kartu kehadiran sebagai

dokumen dalam pencatatan absensi seseorang, dengan memasukkan kartu absen

kedalam mesin almano, dan secara otomatis pada kartu tersebut akan dicetak jam

hadir atau jam pulang seseorang sesuai dengan patokan waktu yang digunakan di

suatu tempat.

Kelebihan yang dimiliki oleh absensi dengan metode almano adalah :

a. Mudah digunakan dimana seseorang hanya perlu memasukkan kartu

absen kedalam mesin almano.

b. Seseorang tidak bisa menulis waktu hadir atau waktu pulang

sekehendak hati.

c. Proses perekapan jam hadir akan lebih mudah dikarenakan dokumen

yang dihasilkan terlihat lebih rapi dan mudah dilihat.

Metode absensi almano masih memiliki celah dalam sisi keamanan,

dimana dokumen atau kartu absen yang digunakan untuk pencatatan absensi dapat

digunakan oleh orang lain yang datang lebih awal. Hal ini dikarenakan kartu

absensi diletakkan dekat dengan mesin almano, dimana seseorang masih dapat

menggunakan kartu orang lain untuk membantu temannya yang datang terlambat.

Page 29: BAB II TINJAUAN PUSTAKA - sinta.unud.ac.id II.pdf · Mengurangi keanekaragaman atau variasi yang tidak diperlukan 5. Memberi standar, aturan-aturan, ukuran-ukuran, dan keputusan-keputusan

33

3. Absensi Sidik Jari

Absensi sidik jari (Finger Scan) umumnya digunakan oleh perusahaan

menengah keatas. Cara kerja sistem absensi ini adalah dengan cara menempelkan

salah satu jari (umumnya ibu jari tangan kanan) pada mesin setelah memasukkan

nomor identitas miliknya.

Metode absensi sidik jari memiliki kelebihan sebagai berikut :

a. Absensi tidak dapat digantikan oleh orang lain, karena membutuhkan

sidik jari pemilik yang tidak dapat ditemukan selain pada jari si

pemilik nomor identitas.

b. Pencatatan waktu kehadiran menjadi sangat akurat sesuai dengan

waktu pemindaian sidik jari berlangsung.

c. Proses perekapan data absensi menjadi lebih mudah.

Metode sidik jari, walaupun memiliki nilai keamanan yang tinggi, namun

dalam penerapannya masih rentan dengan kesalahan yang terjadi (error).

Kesalahan tersebut dapat terjadi pada sistem apabila sistem tidak berhasil

mengenali sidik jari yang digunakan, atau pada manusia dimana pengguna yang

belum fasih akan membutuhkan waktu lama untuk proses absensi. Harga yang

relatif mahal merupakan salah satu alasan mengapa sistem absensi ini masih

belum lumrah di masyarakat.

4. Absensi Telapak Tangan.

Sistem absensi ini biasanya digunakan oleh perusahaan atau golongan

berskala besar. Cara kerja sistem absensi ini serupa dengan finger scan, yaitu

dengan cara menempelkan telapak tangan pada mesin absensi setelah

memasukkan nomor identitas pemilik. Kesalahan yang mungkin terjadi, serupa

dengan metode finger scan, dimana cacat atau luka pada telapak tangan akan

berpengaruh terhadap kemampuan sistem dalam mengenali telapak tangan

pemilik absen.