• Tidak ada hasil yang ditemukan

Perancangan Aplikasi Sistem Absensi Smart SMA Negeri 4 Medan Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Aplikasi Sistem Absensi Smart SMA Negeri 4 Medan Berbasis Android"

Copied!
13
0
0

Teks penuh

(1)

BAB 2

TINJAUAN PUSTAKA

2.1. Sejarah Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis Linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan

platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan perangkat keras, perangkat lunak, dan telekomunikasi, termasuk

Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. (Huda, 2013)

Pada saat perilisan perdana Android pada tanggal 05 November 2007,

Android bersama Open Handset Alliance menyatakan mendukung pengembangan

open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode

(2)

Tidak hanya menjadi sistem operasi di smartphone, saat ini Android menjadi pesaing utama dari Apple. Pesatnya pertumbuhan Android karena Android adalah

platform yang sangat lengkap dari sistem operasinya, aplikasi dan tool

pengembangan, market aplikasi Android serta dukungan yang sangat tinggi dari komunitas Open Source di dunia, sehingga Android terus berkembang pesat baik dari seri teknologi maupun dari segi jumlah device yang ada di dunia.

Android memiliki kelebihan yang dapat dipuji sebagai platform mobile

pertama yang lengkap, terbuka dan bebas. Ada pun penjelasan dari 3 kelebihannya

yaitu antara lain :

1. Lengkap, artinya para desainer dapat melakukan pendekatan yang

komprehensif ketika mereka sedang mengembangkan platformAndroid. 2. Terbuka, artinya platform Android disediakan melalui lisensi open source. 3. Bebas, artinya tidak ada lisensi atau biaya keanggotaan diperlukan, tidak

diperlukan biaya pengujian, dan tidak ada kontrak yang diperlukan.

2.2.Arsitektur Android

Secara garis besar arsitektur android memiliki 4 lapisan (layer) yang merupakan komponen sistem android. Setiap layer tersebut menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi pada android.

(3)

Gambar 2.1. Arsitektur Android

2.2.1. Applications and Widgets

Applications and Widgets ini adalah layer di mana kita berhubungan dengan aplikasi saja, biasanya kita download aplikasi kemudian kita lakukan instlasi dan jalankan aplikasi tersebut. Di layer ini terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi dibuat menggunakan bahasa pemrograman Java.

2.2.2. Applications Frameworks

Applications Frameworks merupakan layer di mana para pembuat aplikasi melakukan peengembangan/pembuatan aplikasi yang akan dijalankan di sistem

(4)

pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks. Programmer

mendapatkan akses penuh untuk memanfaatkan API (AndroidProtocol Interface) yang juga digunakan core applications. Arsitektur aplikasi didesain untuk menyederhanakan pemakaian kembali komponen-komponen, setiap aplikasi dapat

menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan

tersebut. Mekanisme yang sama memungkinkan pengguna mengganti

komponen-komponen yang dikehendaki.

Di dalam semua aplikasi terdapat servis dan sistem yang meliputi satu set

Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan embeddable web browser. Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya

Contacts), atau untuk membagi data yang dimilikinya. Resource Manager

menyediakan akses ke non-code resources misalnya localized strings, graphics,

dan layout files. Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada status bar. 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 servis yang tersedia pada

(5)

Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API

(Application Programming Interface) yang sama. Selain komponen sistem diatas

android juga memiliki komponen yang cukup penting yaitu 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. Maka pengembang tidak perlu lagi mengembangkan hal

serupa untuk aplikasinya, cukup menggunakan scroller yang telah ada. Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap

bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu.

2.2.3. Libraries

Libraries adalah layer di mana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Android

menyertakan satu set library-library dalam bahasa C/ C++ yang digunakan oleh berbagai komponen yang ada pada sistem android. Kemampuan ini dapat diakses oleh programmer melewati android application framework. Sebagai contoh,

android mendukung adanya database. Berikut ini ada beberapa core library

(6)

1. System C Library

Diturunkan dari implementasi standar C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux.

2. MediaLibrary

Berdasarkan PacketVideo’s OpenCORE library-library ini mendukung

playback dan recording dari berbagai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, dan PNG.

3. Surface Manager

Mengatur akses pada display dan lapisan composite 2D and 3D graphic dari berbagai aplikasi.

4. LibWebCore

Web browser engine modern yang merespon android browser maupun

embedded web view. 5. SGL

The underlying 2D graphics engine. 6. 3D Libraries

Implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan

hardware 3D acceleration dan highly optimized 3D software rasterizer.

7. FreeType

Bitmap dan vector font rendering.

8. SQLite

(7)

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

2.2.4. Linux Kernel

Linux Kernel adalah layer di mana inti dari operating sistem dari Android itu berada. Berisi file-file sistem yang mengatur sistem processing, memory,

resource, drivers, dan sistem-sistem operasi android lainnya. Linux Kernel yang digunakan Android adalah Linux Kernel release 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. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan.

2.2.5. Android Runtime

(8)

a. Core Libraries, berfungsi untuk menterjemahkan bahasa Java/C yang ditangani oleh CoreLibraries.

b. Dalvik Virtual Machine, untuk menjalankan fungsi-fungsi secara efisien, yang merupakan pengembangan yang mampu membuat Linux Kernel untuk melakukan threading dan manajemen tingkat rendah.

2.3.Java

Java dimulai pada tahun 1997 ketika Sun Microsystem memulai proyek penelitian

yang diberi kode Green. Proyek ini bertujuan untuk membangun sebuah sistem yang memungkinkan komputer berperan dalam peralatan rumah tangga. Mereka

mengangankan peralatan cerdas yang saling berkomunikasi serta dapat diperintah

oleh manusia hanya dengan sentuhan tombol dan jarak jauh atau diprogram untuk

mengerjakan tugas-tugas tertentu. (Safaat, 2014)

Untuk merealisasikan proyek ini, mereka merencanakan untuk

membangun sebuah sistem operasi yang dibangun dengan bahasa C++. Tetapi,

salah seorang anggota proyek Green yang bernama James Gosling merasa tidak puas dengan bahasa C++. Kemudian ia memutuskan untuk membuat sendiri

bahasa pemrograman yang baru yang diberi nama Oak.

Bahasa Oak dibuat sebagai bahasa yang tidak terikat pada satu platform. Hal ini didasarkan pada kenyataan bahwa peralatan elektronik rumah tangga dibuat

oleh berbagai pabrik dengan memakai berbagai macam jenis prosesor.

(9)

diganti karena sudah ada produk lain yang menggunakan nama tersebut. Nama

Oak diganti menjadi Java.

Java adalah bahasa pemrograman yang kecil, sederhana, aman, object-oriented, dijalankan oleh interpreter, tidak tergantung pada arsitektur, alokasi data yang tidak terpakai dibersihkan secara otomatis, mendukung multi-threading, serta mempunyai mekanisme penanganan exception yang strongly-type. Bahasa ini cocok untuk dipakai dalam menulis program yang terdistribusi dan dapat

dikembangkan secara dinamis.

2.4.Android Studio

Andi (2015) mengemukakan Android Studio adalah sebuah IDE untuk Android Development yang diperkenalkan google pada acara Google I/O 2013. Android Studio merupakan pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android. Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan

Gradle sebagai buildenvironment.

(10)

dari AndroidStudio adalah editor kode cerdas mampu code completion dengan cerdas, refactoring, dan analisis code. Editor yang baik membantu Anda menjadi pengembang aplikasi Android lebih produktif.

2.5.API Google Map V2

Google telah menyediakan layanan bagi para developer aplikasi Android untuk menggukana API Google Map pada aplikasi mereka. API singkatan dari

Application Programming Interface. Perkembangan penggunaan Google Map di

Android yang ada saat ini dimulai dengan adanya Google Map V1, yang penggunaannya telah dihentikan pada akhir tahun 2012. Mulai tahun 2013,

aplikasi Android yang ingin menampilkan Google Map harus menggunakan layanan Google Map V2. (Mufti, 2014)

Ada perbedaan dalam penerapan source code antara Google Map V1

dengan Google Map V2 yaitu mulai dari penggunaan SHA1 yang menggantikan

MD5 untuk mendapatkan Google API Key hingga penggunaan Fragment yang menggantikan MapView. Kita juga harus menginstal library google-play-service

terlebih dahulu pada Android SDK (Software Development Kit).

Sebagaimana pada pengembangan Google Map V1, pada pengembangan

aplikasi yang menggunakan Google Map V2, kita juga mendapat akses untuk

menambahkan marker (tanda lokasi). Pendeteksian lokasi pengguna juga dapat ditambahkan pada pengembangan aplikasi yang menggunakan Google Map, baik

(11)

2.6. PHP dan MySQL Sebagai Web Service

Web service adalah aplikasi yang dibuat agar dapat dipanggil atau diakses oleh aplikasi lain melalui internet dengan menggunakan format pertukaran data sebagai format pengiriman pesan. Contohnya, pertukaran data dengan JSON dan XML. Sebuah web service dapat dipanggil oleh aplikasi lain dengan menggunakan bantuan HTTP (Hypertext Transfer Protocol). (Kasman, 2013)

Web service tidak sama dengan website. Website dibuat untuk memliki tampilan yang bagus, sedangkan web service tidak memliki tampilan. Web service

tidak dibuat untuk berinteraksi langsung dengan pengguna. Web service hanya menyediakan service atau layanan. Layanan tersebutlah yang kemudian akan digunakan atau dipanggil oleh aplikasinya. Dengan demikian, yang akan menjadi

interface adalah aplikasi yang memanggilnya, bukan web service itu sendiri.

2.7. JSON

Suharto (2005) mengemukaan JSON (JavaScript Object Orientation) merupakan format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta

mudah diterjemahkan dan dibuat oleh komputer. JSON juga merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena

menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C++, C#, Java, JavaScript, dll. JSON terbuat dari dua struktur, yaitu :

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

sebagai object, record, struct, dictionary, hash table, keyed list atau

(12)

2. Daftar nilai terurutkan. Pada kebanyakan bahasa hal ini dinyatakan sebagai

array, vektor, list atau sequence.

2.8.Sistem

Sistem berasal dari bahasa Latin (systēma) dan bahasa Yunani (sustēma) adalah

suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama

untuk memudahkan aliran informasi, materi atau energi untuk mencapai suatu

tujuan. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas

yang berinteraksi, di mana suatu model matematika seringkali bisa dibuat.

(Havery, 2009)

Sistem juga merupakan kesatuan bagian-bagian yang saling berhubungan yang

berada dalam suatu wilayah serta memiliki item-item penggerak, contoh umum

misalnya seperti negara. Negara merupakan suatu kumpulan dari beberapa elemen

kesatuan lain seperti provinsi yang saling berhubungan sehingga membentuk

suatu negara dimana yang berperan sebagai penggeraknya yaitu rakyat yang

berada dinegara tersebut.

Kata sistem banyak digunakan dalam percakapan sehari-hari, dalam forum

diskusi maupun dokumen ilmiah. Kata ini digunakan untuk banyak hal, dan pada

banyak bidang pula, sehingga maknanya menjadi beragam. Dalam pengertian

yang paling umum, sebuah sistem adalah sekumpulan benda yang memiliki

(13)

2.9.Absensi

Absensi adalah sebuah kegiatan pengambilan data guna mengetahui jumlah

kehadiran pada suatu kegiatan belajar mengajar di sekolah. Setiap kegiatan yang

membutuhkan informasi mengenai peserta tentu akan melakukan absensi. Salah

satu kegunaan absensi kepada pihak pelajar antara lain adalah dalam perhitungan

kemungkinan pelajar untuk mengikuti ujian dan salah satu kegunaan absensi

kepada pihak pengada kegiatan belajar mengajar adalah untuk melakukan evaluasi

kepada kepuasan pelajar terhadap suatu mata pelajaran. (Shaweddy, 2011)

Pengambilan data dilakukan secara manual. Cara ini memiliki kekurangan

yaitu hilang atau rusaknya data yang ada, salah masukkan data, serta kurangnya

efisiensi dan efektifitas pada pengelolahan data. Maka dari itu, penggunaan

Gambar

Gambar 2.1. Arsitektur Android

Referensi

Dokumen terkait

Dihadapan anda tersedia 12 jenis sampel manisan pepaya kering, anda diminta untuk. memberikan penilaian terhadap warna, aroma, tekstur, rasa, dan overall

Dilihat bahwa ada dua perusahaan mengalami penurunan kondisi keuangan dengan melihat bahwa pada tahun 2012 sebanyak 40% berada dalam keadaan grey area , 40%

Bab analisis dan perancangan berisi penjelasan mengenai dataset yang digunakan untuk pengujian, bentuk data keluaran dari hasil klasifikasi yang akan dilakukan, ekstraksi

Meskipun Amerika adalah negara adidaya satu- satunya setelah Perang dingin, namun itu tidak menjadikannya terlepas dari masalah terorisme, dan meskipun Amerika telah memiliki

Namun ada yang kurang dari manajerial keuangan yang tidak terkelola dengan baik sehingga menimbulkan kecurigan adanya penyimpangan, partisipasi masyarakat dalam

Rabbani, dkk (2015: 4) melaporkan bahwa dengan adanya modifikasi pada pati, maka fungsi pati yang tadinya sebagian besar dijadikan sebagai bahan pangan, dapat juga

Hasil penelitian ini menunjukkan bahwa: (1) Terdapat pengaruh positif dan signifikan Kompensasi terhadap Kinerja Pegawai di Dinas Kelautan dan Perikanan di

Sehingga temperatur substrat yang dimasukkan pada reaktor metanogenesis dapat digunakan untuk pertumbuhan mikroorganisme selama proses anaerob berlangsung.. Pada proses seeding