BAB 2
LANDASAN TEORI
Landasan teori merupakan bagian yang akan membahas tentang penyelesaian masalah yang akan memberikan jalan keluarnya. Dalam hal ini akan dikemukakan beberapa teori-teori yang berkaitan dengan masalah.
2.1 Mengenal Android
Android sebagai sebuah sistem, adalah sistem operasi berbasis Java yang berjalan pada kernel 2.6 Linux. Aplikasi Android yang dikembangkan menngunakan Java dan mudah menyesuaikan ke platform baru . Android merupakan satu kumpulan lengkap perangkat lunak yang dapat berupa sistem operasi, middleware, dan aplikasi kunci perangkat mobile.
Android terdiri dari satu tumpukan yang lengkap mulai dari boot loader, device driver, fungsi-fungsi pustaka, hingga perangkat lunak API (Applicaton Programming Interface), termasuk aplikasi SDK (Software Development Kit). Jadi, Android adalah sistem operasi bergerak (mobile operating system) yang mengadopsi sistem operasi Linux, namun telah dimodifikasi.
Universitas Sumatera Utara
8
Android memiliki empat karakteristik sebagai berikut: 1. Terbuka Android dibangun untuk benar-benar terbuka sehingga sebuah aplikasi dapat memanggil salah satu fungsi inti ponsel seperti membuat panggilan, mengirim pesan teks, menggunakan kamera, dan lain-lain. Android menggunakan sebuah mesin virtual yang dirancang khusus untuk mengoptimalkan sumber daya memori dan perangkat keras yang terdapat di dalam perangkat.
Android merupakan open source, dapat secara bebas diperluas untuk memasukkan teknologi baru yang lebih maju pada saat teknologi tersebut muncul. Platform ini akan terus berkembang untuk membangun aplikasi mobile yang inovatif.
2. Semua aplikasi dibuat sama Android tidak memberikan perbedaan terhadap aplikasi utama dari telepon dan aplikasi pihak ketiga (third-party application). Semua aplikasi dapat dibangun untuk memiliki akses yang sama terhadap kemampuan sebuah telepon dalam menyediakan layanan dan aplikasi yang luas terhadap para pengguna.
3. Memecahkan hambatan pada aplikasi Android memecah hambatan untuk membangun aplikasi yang baru dan inovatif. Misalnya, pengembang dapat menggabungkan informasi yang diperoleh dari web dengan data pada ponsel seseorang seperti kontak pengguna, kalender, atau lokasi geografis.
Universitas Sumatera Utara
9
4. Pengembangan aplikasi yang cepat dan mudah Android menyediakan akses yang sangat luas kepada pengguna untuk menggunakan library yang diperlukan dan tools yang dapat digunakan untuk membangun aplikasi yang semakin baik. Android memiliki sekumpulan tools yang dapat digunakan sehingga membantu para pengembang dalam meningkatkan produktivitas pada saat membangun aplikasi yang dibuat.
Google Inc. sepenuhnya membangun Android dan menjadikannya bersifat terbuka (open source) sehingga para pengembang dapat menggunakan Android tanpa mengeluarkan biaya untuk lisensi dari Google dan dapat membangun Android tanpa adanya batasan-batasan. Android Software Development Kit (SDK) menyediakan alat dan Application Programming Interface (API) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.
Keuntungan utama dari Android adalah adanya pendekatan aplikasi secara terpadu. Pengembang hanya berkonsentrasi pada aplikasi saja, aplikasi tersebut biasa berjalan pada beberapa perangkat yang berbeda selama masih ditenagai oleh Android (pengembang tidak perlu mempertimbangkan kebutuhan jenis perangkatnya). (Safaat, 2012)
2.2 Sejarah Android
Telepon mobile menggunakan sebuah sistem operasi sejenis Symbian OS, Windows Mobile, Mobile Linux,iPhone OS, dan banyak sistem operasi lainnya. Standar-standar
Universitas Sumatera Utara
10
pendukung dan penerbitan API akan sangat meluas, pengembangan aplikasi mobile dengan biaya rendah, tetapi tidak ada sistem operasi yang memegang peranan utama dalam penguanaan Android.
Kemudian Android diambil oleh Google pada tahun 2005 dari Android Inc sebagai bagian strategi untuk mengisi pasar sistem operasi bergerak. Google mengambil alih seluruh hasil kerja Android termasuk tim yang mengembangkan Android. Google memasuki bagian ini dengan Platform Androidnya dengan sebuah kerangka kerja pengembangan.Google menginginkan agar Android bersifat terbuka dan gratis, oleh karena itu hamper setiap kode program Android diluncurkan berdasarkan lisensi open source Apache yang berarti bahwa semua orang yang ingin menggunakan Android dapat men-download penuh source codenya. Google memulai perusahaan Android Inc. Tokoh utama pada Android Inc termasuklah di dalamnya Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada tahun 2005, memulai pengembangan Platform Android (lihat gambar 2.1). 2008
2008
2008
T-Mobile G1 Announced
SDK 1.0 Released
Android Open Sourced
2008
2007
2007
OHA Announced
Early Look SDK
2007
2005
2005
2005
Google Buys Android Inc
Work on Dalvik VM Starts
Gambar 2.1 Gambar Sejarah Sistem Operasi Android
Pada akhir tahun 2007, sebuah kelompok industri muncul bersamaan dengan Platform Android untuk membentuk Open Handset Alliance. Beberapa diantaranya adalah Sprint Nextel, T-Mobile, Motorolla, Samsung, Sony Ericson, Toshiba, Vodafone, Google, Intel, Texas Instrument.
Universitas Sumatera Utara
11
Bagian dari tujuan aliansi adalah mendapatkan paham baru dengan sangat cepat dan merespon kebutuhan konsumen dengan lebih baik, dan Platform Android sebagai yang utama. Android didesain untuk melayani kebutuhan-kebutuhan operatoroperator mobile, perusahaan penyedia perangkat, dan pengembang aplikasi. Anggotaanggota yang melakukannya merilis hal-hal intlektual yang spesifik melalui open source Lisensi Apache, Versi 2.0.
2.3 Fitur Sistem Operasi Android
Sistem operasi Android memiliki fitur-fitur sebagai berikut : 1. Kerangka kerja aplikasi (application framework) Digunakan untuk menulis aplikasi di Android sehingga memungkinkan penggunaan kembali dan penggantian komponen. Kerangka kerja ini didukung oleh berbagai open source libraries seperti openssl, sqlite,dan libc serta didukung oleh libraries utama Android. Kerangka kerja sistem operasi Android didasarkan pada UNIX file system permission yang menjamin bahwa aplikasi-aplikasi tersebut hanya memiliki kemampuan yang diberikan oleh pemilik ponsel pada waktu penginstalan.
2. Dalvik Virtual Machine (DVM) Dalvik Virtual Machine (DVM) adalah sebuah mesin virtual yang menggunakan memori yang sangat rendah dan secara khusus dirancang untuk Android untuk dijalankan pada embedded system. DVM bekerja dengan baik pada situasi dengan tenaga yang rendah dan mengoptimalkan perangkat mobile.
Universitas Sumatera Utara
12
DVM juga mengatur atribut dari Central Processing Unit (CPU)
serta
membuat sebuah format file yang spesial (.DEX) yang dibuat selama build time post processing. DVM mengambil file yang dihasilkan oleh class Java dan menggabungkannya ke dalam satu atau lebih Dalvik Executable (.dex). DVM dapat menggunakan kembali salinan informasi dari beberapa class file dan secara efektif mengurangi kebutuhan penyimpanan oleh setengah dari Java Archive (.jar) file tradisional. Konversi antara kelas Java dan format (.dex) dilakukan dengan memasukkan “dx tool”.
DVM menggunakan assembly-code yang berbeda dimana DVM menggunakan register sebagai unit utama dari penyimpanan data daripada menggunakan stack. Hasil akhir dari executable-code pada Android, merupakan hasil dari DVM yang didasarkan bukan pada Java byte-code melainkan pada file (.dex). Hal ini berarti bahwa Java byte-code tidak dieksekusi secara langsung melainkan dimulai dari Java classfile terlebih dahulu dan kemudian mengkonversikannya ke dalam file (.dex) yang berhubungan.
2.4 Sistem Arsitektur Sistem Operasi Android
Sistem Operasi Android memiliki komponen utama sebagai berikut : 1. Aplikasi Android berisi sekumpulan aplikasi utama seperti : email client, program Short Message Service (SMS), kalender, peta, browser, daftar kontak, dan lain-lain. Semua aplikasi ditulis dengan menggunakan bahasa pemgrograman Java.
Universitas Sumatera Utara
13
2. Kerangka kerja aplikasi Kerangka kerja aplikasi yang ditulis dengan menggunakan bahasa pemrograman Java merupakan peralatan yang digunakan oleh semua aplikasi, baik aplikasi bawaan dari ponsel seperti daftar kontak, dan kotak SMS, maupun aplikasi yang ditulis oleh Google ataupun pengembang Android.
Android menawarkan para pengembang kemampuan untuk membangun aplikasi yang inovatif. Pengembang bebas untuk mengambil keuntungan dari perangkat keras, akses lokasi informasi, menjalankan background services, mengatur alarm, menambahkan peringatan ke status bar, dan masih banyak lagi. Pengembang memiliki akses yang penuh ke dalam kerangka kerja API yang sama yang digunakan oleh aplikasi utama.
Pada dasarnya, kerangka kerja aplikasi memiliki beberapa komponen sebagai berikut: a. Activity Manager Mengatur siklus dari aplikasi dan menyediakan navigasi backstack untuk aplikasi yang berjalan pada proses yang berbeda. b. Package Manager Untuk melacak aplikasi yang di-instal pada perangkat. c. Windows Manager Merupakan abstraksi dari bahasa pemrograman Java pada bagian atas dari level services (pada level yang lebih rendah) yang disediakan oleh Surface Manager.
Universitas Sumatera Utara
14
d. Telephony Manager Berisi sekumpulan API yang diperlukan untuk memanggil aplikasi. e. Content Providers Digunakan untuk memungkinkan aplikasi mengakses data dari aplikasi lain (seperti contacts) atau untuk membagikan data mereka sendiri. f. Resource Manager Digunakan untuk menagkses sumber daya yang bersifat bukan code seperti string lokal, bitmap, deskripsi dari layout file dan bagian eksternal lain dari aplikasi. g. View System Digunakan untuk mengambil sekumpulan button, list, grid, dan text box yang digunakan di dalam antarmuka pengguna. h. Notification Manager Digunakan untuk mengatur tampilan peringatan dan fungsi-fungsi lain.
3. Libraries Android memiliki sekumpulan library C/C++ yang digunakan oleh berbagai komponen dalam sistem Android. Kemampuan-kemampuan ini dilihat oleh para pengembang melalui kerangka kerja aplikasi.
4. Android Runtime Merupakan lokasi dimana komponen utama dari DVM ditempatkan. DVM dirancang secara khusus untuk Android pada saat dijalankan pada lingkungan yang terbatas, dimana baterai yang terbatas, CPU, memori, dan penyimpanan data menjadi fokus utama. Android memiliki sebuah tool yang terintegrasi yaitu “dx”
Universitas Sumatera Utara
15
yang mengkonversi generated byte code dari (.JAR) ke dalam file (.DEX) sehingga byte code menjadi lebih efisien untuk dijalankan pada prosesor yang kecil.
Hal ini memungkinkan untuk memiliki beberapa jenis dari DVM berjalan pada suatu peralatan tunggal pada waktu yang sama. Core libraries ditulis dalam bahasa Java dan berisi kumpulan class, I/O dan peralatan lain.
5. Linux Kernel Arsitektur Android berdasarkan pada Linux 2.6 kernel yang dapat digunakan untuk mengatur keamanan, manajemen memori, manajemen proses, network stack, dan driver model. Kernel juga bertindak sebagai lapisan abstrak antara perangkat keras dan seluruh software stack. (Supardi, 2011)
Agar lebih mudah memahami bagaimana Android bekerja, tingkatan-tingkatan sistem operasi Android lihat pada gambar 2.2.
Gambar 2.2 Gambar Komponen Utama Sistem Operasi Android
Universitas Sumatera Utara
16
2.5 Versi-Versi Android
Seperti perangkat lunak lainya, Android terus diperbaharui, yang direflesikan ke dalam urutan versi-versinya. Untuk menunjukkan perkembangan versi-versi pada Android lihat tabel 2.1. Tabel 2.1 Versi-versi Android Versi Android
Diluncurkan
API Level
Nama Kode
Beta
5 November 2007
-
-
1.0
23 September 2008
1
-
1.1
9 Febuari 2009
2
-
1.5
30 April 2009
3
Cupcake
1.6
15 September 2009
4
Donut
2.0
26 Oktober 2009
5
Eclair
2.01
3 Desember 2009
6
Eclair
2.1
31 Maret 2010
7
Eclair
2.2
20 Mei 2010
8
Froyo(Frozen Yogurt)
2.3
6 Desember 2010
9
Gingerbread
2.3.3
9 Febuari 2011
10
Gingerbread
3.0
12 Febuari 2011
11
Honeycomb
3.1
10 Mei 2011
12
Honeycomb
3.2
2 Juli 2011
13
Honeycomb
4.0
19 Oktober 2011
14
Ice Cream Sandwich
4.03
16 Desember 2011
15
Ice Cream Sandwich
Sekitar pertengahan tahun 2012
16
Jelly Bean
Sekitar 2013
17
Key Lime Pie
Universitas Sumatera Utara
17
Angka versi Android menceritakan tentang besar dan kecil platform yang dirilis. Yang paling penting adalah level API dari setiap versi. Angka versi berubah setiap waktu. Terkadang disebabkan oleh perubahan API, dan bisa juga karena kecilnya perbaikan bug terhadap kemajuan kinerja. (Dodit & Rini, 2012)
2.6 Android dan Java
Java adalah bahasa pemrograman yang multi platform dan multi device. Sekali menuliskan sebuah program dengan menggunakan Java, dapat menjalankannya hampir di semua komputer dan perangkat lain yang support Java, dengan sedikit perubahan atau tanpa perubahan sama sekali dalam kodenya. Aplikasi dengan berbasis Java ini dikompulasikan ke dalam p-code dan bisa dijalankan dengan Java Virtual Machine. Fungsionalitas dari Java ini dapat berjalan dengan platform sistem operasi yang berbeda karena sifatnya yang umum dan non-spesifik. Keuntungan dari Java yaitu dapat dijalankan dalam beberapa platform komputer dan sistem operasi yang berbeda.
Yang kedua adalah OOP atau Object Oriented Programming. Java memiliki library yang lengkap. Library disini adalah sebuah kumpulan dari program yang disertakan dalam Java. Hal ini akan memudahkan pemrograman menjadi lebih mudah. Kelengkapan library semakin beragam jika ditambah dengan karya komunitas Java.
Pada Java, kita menulis source file Java, mengkompilasinya kedalam byte code Java menggunakan kompiler Java, kemudian menjalankan byte code Java pada Java VM. Beberapa pada Android, ketika source file Java sudah dikompilasi ke dalam
Universitas Sumatera Utara
18
byte code, kita harus mengkompilasinnya sekali lagi menggunakan Dalvik compiler menjadi byte code Dalvik. Byte code Dalvik inilah yang akan dieksekusi pada Dalvik VM. Gambar 2.3 mengilustrasikan perbandingan antara standar Java (di sebelah kiri) dengan Android yang menggunakan Dalvik (di sebelah kanan).
Java source code
Java source code
Java compiler
Java compiler
Java byte code
Java byte code Dex compiler Dalvik byte code
Java byte code
Dalvik executable
Java VM
Dalvik VM
Gambar 2.3 Android versus Java
2.7 Pengertian Eclipse
Eclipse
adalah
sebuah
IDE
(Integrated
Development
Environment)
untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platformindependent).
Berikut ini adalah sifat dari Eclipse: a. Multi-platform : Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
Universitas Sumatera Utara
19
b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
2.8 Sistem dan Data
2.8.1 Pengertian Sistem
Sistem adalah sekelompok unsur yang berhubungan satu dengan yang lainnya dan berfungsi bersama-sama untuk mencapai tujuan tertentu.
Berdasarkan definisi di atas dapat disimpulkan bahwa sistem merupakan sekumpulan elemen yang saling berinteraksi dan terintegrasi serta melakukan suatu fungsi untuk mencapai satu tujuan tertentu.
Universitas Sumatera Utara
20
2.8.2. Pengertian Data
Data adalah fakta–fakta yang telah diketahui dan dapat dikumpulkan biasanya mengenai kejadian atau transaksi serta dapat disimpan dalam media komputer yang secara relatif mempunyai arti bagi pengguna.
Jadi, data adalah fakta – fakta mengenai kejadian atau transaksi yang berguna bagi pengguna dan harus dikontrol serta ditangani.
2.9 Database Management System (DBMS)
Database Management System merupakan sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, mengatur, dan mengontrol pengaksesan ke dalam basis data. Sebuah DBMS menyediakan fasilitas – fasilitas sebagai berikut :
1. DBMS memungkinkan pengguna untuk mendefinisikan basis data, dengan menggunakan Data Definition Language (DDL). DDL memungkinkan pemakai untuk menspesifikasikan tipe – tipe dan struktur data serta constraint pada data untuk disimpan di dalam basis data.
2. DBMS memungkinkan pengguna untuk memasukkan, mengubah, menghapus, dan mengambil data dari basis data dengan menggunakan Data Manipulation Language (DML).
Universitas Sumatera Utara
21
3. DBMS menyediakan pengontrolan akses ke dalam basis data.
2.10 Database SQLite
SQLite merupakan paket perangkat lunak yang bersifat public domain yang menyediakan sistem manajemen basis data relasional atau RDBMS. Sistem basis data relasional digunakan untuk menyimpan record yang didefinisikan oleh pengguna pada ukuran
tabel yang besar dan memproses perintah query yang kompleks dan
menggabungkan data dari berbagai tabel untuk menghasilkan laporan dan rangkuman data.
Kata „Lite‟ pada SQLite tidak menunjuk pada kemampuannya, melainkan menunjuk pada sifat dari SQLite, yaitu ringan ketika dihubungkan dengan kompleksitas pengaturan, administrative overhead, dan pemakaian sumber. SQLite memiliki fitur-fitur sebagai berikut :
1. Tidak memerlukan server Arsitektur SQLite tidak memiliki arsitektur client server. Kebanyakan sistem database skala besar memiliki paket server yang besar yang membentuk mesin database.
2. Single File Database SQLite mengemas seluruh database ke dalam suatu single file. Single file tersebut berisi layout database dan data aktual yang berada pada tabel dan indeks yang
Universitas Sumatera Utara
22
berbeda. Format file dapat digunakan pada banyak platform dan dapat diakses pada mesin manapun tanpa memperhatikan native byte order ataupun ukuran kata.
Pengemasan database kedalam suatu file tunggal memudahkan pengguna untuk membuat, menyalin, ataupun mem-backupimage database yang berada di dalam
media
penyimpanan.
Keseluruhan
database
dapat
dipindahkan,
dimodifikasi dan dibagikan dengan begitu mudahnya seperti kemudahan dalam dokumen pemrosesan kata ataupin file spread sheet.
3. Zero Configuration SQLite tidak membutuhkan apapun untuk melakukan instalasi dan konfigurasi. Dengan mengeliminasi server dan menggabungkan database secara langsung ke dalam aplikasi, maka pengguna tidak perlu mengetahui bahwa mereka sedang menggunakan database.
4. Embedded Device Support Ukuran code dari SQLite bersifat kecil dan penggunaan sumber daya yang konservatif membuatnya cocok digunakan untuk embedded system yang berjalan terbatas pada sistem operasi.
5. Fitur-fitur yang unik SQLite menawarkan beberapa fitur yang tidak ditemukan pada kebanyakan sistem basis data. Hal yang paling berbeda adalah SQLite menggunakan sistem dengan tipe dinamis untuk tabel-tabel. SQLite memungkinkan pengguna untuk memasukkan nilai ke dalam kolom tanpa memperhatikan tipe data.
Universitas Sumatera Utara
23
Pada beberapa cara pemakaiannya, sistem yang bertipe dinamis pada SQLite mirip dengan sistem yang ditemukan pada bahasa scripting yang populer, yang sering memiliki sebuah tipe skalar yang dapat menerima semua tipe data dari integer sampai string. Fitur lainnya adalah kemampuan untuk memanipulasi lebih dari satu basis data pada satu waktu. SQLite mempunyai kemampuan dalam menghubungkan sebuah koneksi database tunggal dengan banyak file basis data secara bersamaan. Hal ini memungkinkan SQLite umtuk memproses
SQL
statement yang menjembatani beberapa basis data sekaligus.
6. Compatible License SQLite dan SQLite code tidak memiliki lisensi pengguna dan tidak dilindungi oleh GNU's Not Unix (GNU) General Public License (GPL) atau lisensi open source sejenisnya. Tim pengembang SQLite menempatkan SQLite source code ke dalam domain publik dan dengan tegas serta sengaja melepaskan semua claim yang dimiliki, termasuk hak cipta dan hak kepemilikan dari code ataupun produk yang memiliki SQLite code. Hal ini berarti pengguna dapat melakukan apapun dengan source code SQLite, sehingga library code dapat digunakan dengan berbagai cara, dimodifikasi dengan berbagai cara dan didistribusikan dengan berbagai cara.
7. Highly reliable Sejumlah tes telah dilakukan sebelum library SQLite masing-masing dirilis. Hal ini dilakukan untuk mempertahankan tingkat kehandalan yang tinggi.
Universitas Sumatera Utara
24
2.11 Penggunaan Database SQLite
SQLite memiliki beberapa peran dimana beberapa peran sama dengan peran yang dimiliki oleh sistem database relasional manajemen sistem client server tradisional dan peran lainnya memanfaatkan ukuran SQL serta kemudahan penggunaan. Berikut merupakan peran dari database SQLite :
1. Database Junior SQLite memiliki tool untuk menyimpan, mengatur, dan memanipulasi data yang lebih kecil serta dalam sumber daya lingkungan yang lebih terbatas. SQLite dirancang untuk melengkapi dan bukan menggantikan platform RDBMS yang lebih besar dimana kesederhanaan dan kemudahan penggunaan menjadi lebih penting dibandingkan dengan kapasitas dan concurrency.
2. Application File Penggunaan library SQLite sebagai tempat penyimpanan yang abstrak memiliki banyak keuntungan. Sejumlah aplikasi metadata seperti cache, state data, dan konfigurasi data sesuai untuk model data relasional. Hal ini menyebabkan pembuatan database dipetakan dengan mudah ke dalam struktur data internal aplikasi.
3. Application Cache SQLite mampu membuat basis data yang berada seluruhnya di dalam memori. SQLite digunakan untuk membuat basis data yang kecil dan sementara yang tidak memerlukan tempat penyimpanan permanen. Basis data digunakan untuk
Universitas Sumatera Utara
25
menyimpan hasil yang diambil dari banyak RDBMS tradisional ke dalam tempat penyimpanan sementara (terjadi di dalam memori). Sebuah aplikasi mengambil sekumpulan data dari remotedatabase, menempatkannya ke dalam database sementara dan kemudian memproses beberapa pencarian rinci serta perbaikan terhadap salinan lokal. Hal ini berguna ketika memproses elemen interaktif yang memerlukan response time yang sangat cepat.
4. Penyimpanan data dan arsip SQLite mengemas sekumpulan data kompleks ke dalam suatu file tunggal yang mudah diakses dan dapat digunakan pada banyak platform. Data yang dikemas ke dalam suatu file tunggal membuat distribusi menjadi lebih mudah dan dapat menyimpan data yang memiliki banyak tabel seperti kamus besar atau referensi lokasi geografis.
Library SQLite mampu mengakses file dari basis data yang hanya dapat dibaca (read only). Hal ini memungkinkan data yang disimpan dapat dibaca secara langsung dari optical disk atau sistem file lain yang hanya dapat dibaca (read only) dan hal ini berguna untuk sistem yang memiliki kapasitas hard drive yang terbatas.
5. Client server stand in SQLite bekerja dengan baik sebagai database “stand-in” ketika sebuah RDBMS yang lebih kuat menjadi pilihan yang tepat bagi pengguna. SQLite secara khusus berguna untuk demonstrasi serta evaluasi aplikasi dan tool yang bergantung pada basis data.
Universitas Sumatera Utara
26
6. Alat Pembelajaran SQLite menyediakan lingkungan yang dapat diakses, mudah diatur, mudah digunakan, dan mudah untuk dibagikan bagi pengguna yang masih belajar SQL dan dasar-dasar model relasional. SQLite menawarkan sistem relasional yang sepenuhnya mendukung hampir semua bahasa inti SQL. SQLite
tidak
memerlukan pengaturan server, tidak memerlukan administrasi, dan tidak ada overhead. Hal ini membuat pengguna yang masih belajar dapat sepenuhnya fokus pada pembelajaran mengenai SQL dan manipulasi data tanpa terhalang oleh konfigurasi server dan database maintenance.
7. Generic SQL Engine SQLite tabel virtual memungkinkan pengembang untuk menentukan isi tabel melalui code. Dengan mendefinisikan sekumpulan fungsi callback yang mengambil dan mengembalikan baris dan kolom, pengembang dapat membuat hubungan antara mesin pemrosesan data SQLite dengan setiap sumber data. Hal ini memungkinkan SQLite untuk menjalankan query terhadap sumber data tanpa mengimpor data ke tabel standar.
2.12
Bahasa SQL (Structured Query Language)
Bahasa SQL merupakan sarana utama berinteraksi dengan hampir semua sistem basis data relasional modern. SQL menyediakan perintah untuk mengkonfigurasi tabel, indeks, dan struktur data dalam basis data. Perintah SQL juga digunakan untuk memasukkan, mengedit, dan menghapus data, serta query untuk mencari nilai suatu data yang spesifik.
Universitas Sumatera Utara
27
Semua interaksi dengan basis data relasional dilakukan melalui bahasa SQL. Hal ini berlaku ketika mengetik perintah secara interaktif atau saat menggunakan pemrograman API. Perintah SQL dibagi menjadi empat kategori utama. Setiap kategori mendefinisikan sekumpulan perintah yang memiliki tujuan masing-masing.
Kategori-kateogri tersebut adalah sebagai berikut:
1. Data Definition Language (DDL) Mengacu pada perintah yang menentukan struktur tabel, view dan indeks atau perintah yang digunakan untuk menjelaskan objek dari basis data.
Contoh dari perintah DDL adalah : a. CREATE TABLE (digunakan untuk mendefinisikan sebuah tabel baru) b. CREATE DATABASE (digunakan untuk mendefinisikan sebuah basis data yang baru) c. CREATE INDEX (digunakan untuk membuat index) d. CREATE VIEW (digunakan untuk membuat view) e. DROP DATABASE (digunakan untuk menghapus basis data) f. DROP TABLE (digunakan untuk menghapus tabel) g. DROP INDEX (digunakan untuk menghapus index) h. DROP VIEW (digunakan untuk menghapus view) i. ALTER TABLE (digunakan untuk mengubah suatu tabel)
2. Data Manipulation Language (DML) Mengacu pada semua perintah untuk menambahkan, mengedit, menghapus dan mengambil nilai dari data aktual yang didefinisikan oleh DDL.
Universitas Sumatera Utara
28
Contoh dari perintah DML adalah: a. INSERT (digunakan untuk memasukkan nilai baru ke dalam tabel) b. UPDATE (digunakan untuk mengubah suatu nilai pada satu atau lebih kolom) c. DELETE (digunakan untuk menghapus suatu nilai pada tabel) d. SELECT (digunakan untuk mengambil data dari tabel)
3. Transaction Control Language (TCL) Perintah TCL dapat digunakan untuk mengontrol perintah dari transaksi DML dan DDL.
Contoh dari perintah TCL adalah sebagai berikut: a. BEGIN (digunakan untuk memulai transaksi multistatement) b. COMMIT (digunakan untuk mengakhiri dan menerima transaksi) c. ROLLBACK (digunakan untuk membatalkan perubahan yang dilakukan dalam transaction atau menghapus semua data yang dimodifikasi pada awal transaction)
4. Data Control Language (DCL) Tujuan utama dari DCL adalah untuk memberikan atau mencabut kontrol akses. Sama seperti hak akses file, perintah DCL digunakan untuk memungkinkan (atau menolak) izin pengguna basis data tertentu (atau kelompok pengguna) untuk menggunakan atau mengakses sumber daya tertentu di dalam basis data. Izin ini dapat diterapkan baik pada DDL (seperti membuat tabel) maupun DML (seperti membaca, mengedit, dan menghapus record pada tabel yang spesifik).
Universitas Sumatera Utara
29
Contoh dari perintah TCL adalah: a. GRANT (digunakan untuk memberikan izin) b. REVOKE (digunakan untuk menghapus izin yang sudah ada)
SQLite mendukung perintah standar DDL, DML, dan TCL tetapi tidak memiliki perintah DCL. SQLite tidak memiliki konsep untuk meminta izin atas hak akses karena SQLite tidak memiliki username atau login. SQLite bergantung pada hak akses dari tipe data untuk mendefinisikan siapa saja yang dapat membuka dan mengakses basis data.
2.13 Model Proses Waterfall
Menurut Pressman (2001), sekuensial linier atau lebih yang dikenal dengan sebutan waterfall model menawarkan sebuah pendekatan yang sistematis dan sekuensial dalam pengembangan piranti lunak yang dimulai dari label sistem dan perkembangannya dengan melalui tahap analisis, desain, coding dan testing.
Model waterfall adalah versi paling popular dari system development lifecycle model untuk software engineering. Model ini sering dianggap sebagai pendekatan klasik dalam daur hidup pengembangan sistem.
Ada empat tahapan utama dalam model ini, yaitu: 1. Analisis Analisis adalah sebuah proses pengumpulan kebutuhan yang dikhususkan dan difokuskan dalam pembuatan piranti lunak.
Universitas Sumatera Utara
30
2. Desain Desain adalah sebuah proses yang menerjemahkan hasil dari analisis dalam bentuk representasi piranti lunak sehingga dapat dinilai kualitasnya sebelum proses coding dimulai.
3. Coding Coding adalah proses dimana hasil dari desain diterjemahkan kembali dalam bentuk bahasa pemrograman yang dapat dimengerti oleh mesin.
4. Testing Testing dilakukan setelah coding selesai dilakukan. Testing digunakan untuk mengetahui kesalahan yang tidak terdeteksi sebelumnya atau hasil dari proses yang tidak diinginkan. Adapun gambaran dari metodologi waterfall dapat dilihat pada gambar 2.4. (Pressman, 2001).
Gambar 2.4 Gambar Model Metodologi Waterfall
Universitas Sumatera Utara
31
2.14 Pengertian Aplikasi
Aplikasi berasal dari kata application yang artinya penerapan; lamaran; penggunaan. Secara istilah aplikasi adalah : program siap pakai yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju.
2.15 Pengertian Klasifikasi Hewan
Klasifikasi adalah pemecahan suatu kelas tertentu ke dalam kelas-kelas bawahan berdasarkan ciri-ciri khas yang dimiliki oleh angota-anggota kelas itu. Klasifikasi merupakan suatu metode untuk menempatkan sejumlah hal dalam suatu sistem kelas, sehingga dapat dilihat hubungannya ke samping, ke atas dan ke bawah. Tujuan klasifikasi adalah untuk mengetahui keseluruhan logis dari suatu konsep dan bagianbagiannya dengan lebih baik. Atau secara lebih sederhana adalah untuk memudahkan kita dalam berhubungan dengan hal yang kita cari. Hewan atau disebut juga dengan binatang adalah kelompok organisme yang diklasifikasikan dalam kerajaan Animalia atau metazoa yaitu salah satu dari berbagai makhluk hidup di bumi. Sebutan lainnya adalah fauna dan margasatwa (atau satwa saja). Jadi klasifikasi hewan adalah penggolongan makhluk hidup berdasarkan pada persamaan dan perbedaan yang nampak pada hewan berdasarkan berdasarkan tempat hidupnya,berdasarkan jenis makanannya, penutup tubuhnya, cara geraknya, cara berkembangbiaknya, cara bernafasnya, ada tidaknya tulang belakang. (http://www.min-sukoharjo.sch.id/berita-118-klasifikasi-hewan.html. Diakses tanggal 13 Febuari,2013.)
Universitas Sumatera Utara
32
2.16 Klasifikasi Hewan
2.16.1 Berdasarkan Ada Tidaknya Tulang Belakang
2.16.1.1 Hewan Invertebrata
Hewan Invertebrata adalah hewan yang tidak bertulang belakang, serta memiliki struktur morfologi dan anatomi lebih sederhana dibandingkan dengan kelompok hewan bertulang belakang/vertebrata, juga sistem pencernaan, pernapasan dan peredaran darah lebih sederhana dibandingkan hewan vertebrata. Hewan Invertebrata terdiri atas :
1. Protozoa Protozoa adalah hewan bersel satu karena hanya memiliki satu sel saja alias bersel tunggal dengan ukuran yang mikroskopis hanya dapat dilihat dengan mikroskop. Protozoa dapat hidup di air atau di dalam tubuh makhluk hidup atau organisme lain sebagai parasit. Contohnya : amuba / amoeba, paramecium, dan euglena.
Protozoa dibagi menjadi 4 kelas berdasarkan alat gerak: 1. Rhizopoda (Sarcodina),alat geraknya berupa pseudopoda (kaki semu). Bergerak dengan kaki semu (pseudopodia)yang merupakan penjuluran protoplasma sel. Contohnya : Amoeba proteus.
2. Flagellata (Mastigophora),alat geraknya berupa flagel (bulu cambuk). Bergerak dengan flagel (bulu cambuk) yang digunakan juga sebagai alat indera dan alat bantu untuk menangkap makanan. Contoh : Euglena viridis.
Universitas Sumatera Utara
33
3. Ciliata (Ciliophora),alat gerak berupa silia (rambut getar). Anggota Ciliata ditandai dengan adanya silia (bulu getar) pada suatu fase hidupnya, yang digunakan sebagai alat gerak dan mencari makanan. Contoh : Paramaecium caudatum.
4. Sporozoa, adalah protozoa yang tidak memiliki alat gerak. Cara bergerak hewan ini dengan cara mengubah kedudukan tubuhnya. Contoh : Plasmodium malariae.
2. Porifera/hewan berpori Porifera berasal darai kata porus (lubang-lubang kecil) dan fera (mengandung). Jadi, porifera berarti hewan yang memiliki pori.
3. Coelenterata/hewan berongga Coelenterata berasal dai kata Yunani , koilos (rongga) dan enteron(usus). Jadi, Coelenterata adalah hewan yang berongga.
4. Platyhelminthes/cacing pipih Platyhelminthes merupakan kelompok cacing yang tubuhnya berbentuk pipih (platy = pipih, helminthes = cacing). Platyhelminthes adalah binatang sejenis cacing pipih dengan simetri tubuh simetris bilateral tanpa peredaran darah dengan pusat syaraf yang berpasangan. Cacing pipih kebanyakan sebagai biang timbulnya penyakit karena hidup sebagai parasit pada binatang / hewan atau manusia. Contohnya antara lain seperti planaria, cacing pita, cacing hati.
Universitas Sumatera Utara
34
5. Nemathelminthes/cacing gilig Nama nemathelminthes berasal dari bahasa Yunani (nematos = benang, helminthes = cacing). Anggota kelompok cacing ini memiliki tubuh bulat panjang dan tidak bersegmen. Oleh sebab itu, cacing benang dikenal juga dengan cacing gilik. Nemathelminthes atau cacing gilik / gilig adalah hewan yang memiliki tubuh simetris bilateral dengan saluran pencernaan yang baik namun tiak ada sistem peredaran darah. Contoh cacing gilik : cacing askaris, cacing akarm, cacing tambang, cacing filaria.
6. Annelida/cacing gelang Kata annelida berasal dari bahasa Yunani, yaitu annulus yang berarti gelang atau segmen . Jadi, Annelida dapat diartikan sebagai cacing yang bertubuhnya bersegmen-segmen menyerupai cincin/gelang. Annelida adalah cacing gelang dengan tubuh yang terdiri atas segmen-segmen dengan berbagai sistem organ tubuh yang baik dengan sistem peredaran darah tertutup. Annelida sebagian besar memiliki dua kelamin sekaligus dalam satu tubuh atau hermafrodit. Contohnya yakni cacing tanah, cacing pasir, cacing kipas, lintah/leeches.
7. Molusca/hewan bertubuh lunak Mollusca berasal dari bahasa latin, mollus berarti lunak. Jadi mollusca berarti hewan yang bertubuh lunak.
Mollusca adalah hewan bertubuh lunak tanpa
segmen dengan tubuh yang lunak dan biasanya memiliki pelindung tubuh yang berbentuk cangkang atau cangkok yang terbuat dari zat kapur untuk perlindungan diri dari serangan predator dan gangguan lainnya. Contoh mollusca : kerang, nautilus, gurita, cumi-cumi, sotong, siput darat, siput laut, chiton.
Universitas Sumatera Utara
35
8. Arthropoda/herwan berbuku-buku Arthropoda berasal dari kata arthros = ruas, podos = kaki. Jadi, arthropoda adalah hewan yang memiliki kaki yang beruas-ruas. Arthropoda adalah hewan dengan kaki beruas-ruas dengan sistem saraf tali dan organ tubuh telah berkembang dengan baik. Tubuh artropoda terbagi atas segmen-segmen yang berbeda dengan sistem peredaran darah terbuka.
Arthropoda dapat dibagi menjadi 4 kelas, yaitu : a. Insect/serangga, contohnya : Hetaerina america/capung, b. Crustacea/udang-udangan, contohnya : Ceonobita clypeatus/umang kelomang) c. Arachnida/laba-laba, contohnya : Eurypelma californica/laba-laba d. Myriapoda/lipan, contohnya : Scolopendra subspinipes/kelabang (lipan) laler, kecoa.
9. Echinodermata/hewan berkulit duri Echinodermata berasal dari kata Yunani echinos (duri) dan derma (kulit). Jadi, echinodermata berarti hewan yang memiliki kulit berduri. Mempunyai sistem ameudakral (sistem pompa air). Rangka dalam berkapur dan memiliki banyak duri yang menonjol. Daya generasinya amat besar. Beberapa organ tubuh echinodermata sudah berkembang dengan baik.
Echinodermata dapat dibagi manjadi 5 kelas, yaitu : a. Asteriodea/bintang laut, contohnya : Dermaterias imbricate dan Asterias vulgaris / bintang laut
Universitas Sumatera Utara
36
b. Ophiuroidea/bintang ular laut, contohnya : Ophioderma brevispinum/bintang ular laut. c. Echinoidea / landak laut, contohnya : Diadema antillarum/landak laut, Echinos esculentus/bulu babi berbulu pendek d. Holothuroidea/teripang, contohnya : Holothuria scabra/teripang, Curcuma planci/mentimun laut. e. Crinoidea/lili laut, contohnya : Lamprometra palmata/lili laut.
10. Chordata Chordata adalah hewan yang memiliki notokorda atau chorde yaitu tali sumbu tubuh syaraf belakang dengan rangka. Ukuran chordata beragam ada yang besar dan ada yang kecil dengan otak yang terlindung tengkorak untuk berfikir. Lanselet dan tunikata merupakan contoh chordata invertebrata.
2.16.1.2 Hewan Vertebrata
Hewan vertebrata yaitu hewan yang bertulang belakang atau punggung. Memiliki struktur tubuh yang jauh lebih sempurna dibandingkan dengan hewan Invertebrata. Hewan vertebrata memiliki tali yang merupakan susunan tempat terkumpulnya sel-sel saraf dan memiliki perpanjangan kumpulan saraf dari otak. Tali ini tidak di memiliki oleh yang tidak bertulang punggung. Dalam memenuhi kebutuhannya, hewan vertebrata telah memiliki sistem kerja sempurna peredaran darah berpusat organ jantung dengan pembuluh-pembuluh menjadi salurannya. (Soetarno,2001)
Universitas Sumatera Utara
37
Vertebrata dikelompokan atas beberapa kelas :
1. Pisces (Ikan) Pisces (Ikan) adalah hewan yang hidup di air, bernafas dengan insang, pada umumnya mempunyai kulit yang bersisik, suhu tubuhnya mengikuti suhu air yang disekitarnya.
2. Amphibia (Katak) Amphibia (Katak) merupakan kelompok hewan yang dapat hidup diair dan didarat. Larva biasa hidup diair dan bernafas dengan menggunakan insang. Dewasanya hidup didarat dan bernafas dengan paru-paru dan melalui kulitnya.
3. Reptilia (hewan melata/merayap) Reptilia
(hewan
melata/merayap)
merupakan
vertebrata
pertama
yang
menyesuaikan diri terhadap lingkungan yang kering. Tubuh reptile penuh sisik.reptil berdarah dingin, suhunya sesuai dengan lingkungan. Reptile bernafas dengan paru-paru.
4. Aves (Burung) Tubuh burung tertutup oleh bulu. Burung berdarah panas. Suhu tubuhnya tetap sekalipun suhu disekitarnya berubah.
5. Mamalia (hewan menyusui) Mamalia (hewan menyusui) merupakan kelompok hewan yang memiliki rambut dan kelenjar mammae (kelenjar susu). Rambut tersebut dapat melindungi diri dari cuaca dingin, hewan menyusui berdarah panas. Biasanya mempunyai dua pasang
Universitas Sumatera Utara
38
anggota badan dan hidup didarat.tetapi ada pula mamalia yang hidup di laut.mamalia bernafas dengan paru-paru.
2.16.2 Berdasarkan Tempat Hidupnya
1. Hewan yang hidup di darat. Contoh : anjing, kambing, kucing, sapi, dan kerbau.
2. Hewan yang hidup di air. a. Hewan air tawar (Hewan yang hidup di air tawar). Contoh : Pesut, Lele, Arwana, Koi,Mujair, dan Sepat. b. Hewan air laut (Hewan yang hidup di air laut). Contoh : Kakap, Tongkol, Lumba-lumba, Paus, dan Singa laut. c. Hewan air payau (Hewan yang hidup pada campuran air laut dan air tawar). Contoh : Bandeng dan udang windu.
3. Hewan amfibi (hewan yang hidup didarat dan di air). Contoh : Katak.
2.16.3 Berdasarkan Makanannya
1. Herbivora Herbivora adalah golongan hewan pemakan tumbuhan hijau. Memiliki gigi geraham depan (dens premolare) dan geraham belakang (dens molare) yang kuat dan banyak. Memiliki gigi seri (dens incisivus) yang tajam. Tidak mempunyai gigi taring (dens caninus). Memiliki enzim selulase. Contoh : Hewan Mammalia yang hidup di padang rumput.
Universitas Sumatera Utara
39
2. Carnivora Carnivora adalah golongan hewan pemakan daging. Memiliki gigi taring (dens caninus) yang tajam. Memiliki kuku yang tajam. Memiliki sisi rahang dan ujung gigi geraham yang saling bertemu. Contoh : Singa, Harimau, Kucing, Buaya dan lain-lain.
3. Omnivora Omnivora adalah golongan gewan pemakan daging dan tumbuhan hijau (pamakan segala). Memiliki sifat perpaduan antara herbivora dan carnivora. Contoh : Musang, Beruang, Ayam, Tikus dan lain-lain.
4. Insectivora Insectivora adalah golongan hewan pemakan serangga. Contoh : Cecak, Kadal, Bunglon, Kelelawar dan lain-lain.
2.16.4 Berdasarkan Penutup Tubuhnya
1. Hewan yang tubuhnya ditutupi sisik. Contoh : Ikan 2. Hewan yang tubuhnya ditutupi bulu. Contoh : Ayam, Bebek, dan Burung 3. Hewan yang tubuhnya ditutupi rambut. Contoh : Kucing, Anjing, Sapi,dan Kerbau 4. Hewan yang tubuhnya dilindungi cangkang. Contoh : Siput, Bekicot, dan Kura kura.
Universitas Sumatera Utara
40
2.16.5 Berdasarkan Cara Geraknya
1. Hewan yang bergerak dengan kaki. Contoh : Bebek, Sapi, Kerbau, dan Kambing. 2. Hewan yang bergerak dengan sayap. Contoh : Burung dan Kupu-kupu. 3. Hewan yang bergerak dengan perut. Contoh : Ular dan Cacing. 4. Hewan yang bergerak dengan sirip. Contoh : Ikan.
2.16.6 Berdasarkan Cara Berkembangbiaknya
1. Ovipar (Hewan yang berkembangbiak dengan cara bertelur) Contoh : Ayam, Bebek, dan Angsa 2. Vivipar (Hewan yang berkembangbiak dengan cara beranak) Contoh : Kambing, Sapi, dan Kuda 3. Ovovivipar (Hewan yang berkembangbiak dengan cara bertelur dan beranak) Contoh : Buaya dan Ular
2.16.7 Berdasarkan Cara Bernafasnya
1. Hewan yang bernafas dengan insang. Contoh : Ikan. 2. Hewan yang bernafas dengan trakea. Contoh : Kupu –kupu, Lebah, belalang, dan semut. 3. Hewan yang bernafas dengan paru-paru. Contoh : Tikus, Kelelawar, Ular, Lumbalumba, dan Paus. 4. Hewan yang bernafas dengan kulit. Contoh : cacing tanah. 5. Hewan yang bernafas dengan paru-paru dan kulit. Contoh : Katak.
Universitas Sumatera Utara