BAB II LANDASAN TEORI
2.1
Kecerdasan Buatan Kecerdasan Buatan adalah ide-ide untuk membuat suatu perangkat lunak komputer
yang memiliki kecerdasan sehingga perangkat lunak komputer tersebut dapat melakukan suatu pekerjaan yang dilakukan oleh manusia. Adapun pekerjaan itu adalah berupa konsultasi yang dapat memberikan suatu informasi berupa saran-saran yang akan sangat berguna. Kecerdasan Buatan
memungkinkan
komputer
untuk berpikir
dengan cara
menyederhanakan program. Dengan cara ini, Kecerdasan Buatan dapat menirukan proses belajar manusia sehingga informasi baru dapat diserap dan digunakan sebagai acuan di masamasa mendatang. Kecerdasan atau kepandaian itu didapat berdasarkan pengetahuan dan pengalaman, untuk itu agar perangkat lunak yang dikembangkan dapat mempunyai kecerdasan maka perngakat lunak tersebut harus diberi suatu pengetahuan dan kemampuan untuk menalar dari pengetahuan yang telah didapat dalam menemukan solusi atau kesimpulan layaknya seorang pakar dalam bidang tertentu yang bersifat spesifik. Kecerdasan Buatan menawarkan media dan uji teori kecerdasan. Teori ini dapat dinyatakan dalam bahasa program komputer dan dibuktikan melalui eksekusinya pada komputer nyata. (Hartati . 2008).
2.2
Definisi Sistem Pakar
2.2.1 Pengertian Sistem Pakar Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan.
6
Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu. Ada beberapa definisi tentang sistem pakar, antara lain : 1. Menurut Siswanto (2010) : Sistem pakar adalah program AI (artificial Intelligence) dengan basis pengetahuan (knowledge base) yang diperoleh dari pengetahuan beberapa pakar atau ahli dalam memecahkan persoalan pada bidang tertentu dan didukung mesin inferensi (Inference Engine) yang melakukan penalaran atau pelacakan terhadap sesuatu atau fakta-fakta yang diberikan oleh User lalu dicocokan (Matching) dengan fakta-fakta dan aturan atau kaidah yang ada di basis pengetahuan setelah dilakukan pencarian, sehingga tercapai kesimpulan. 2. Menurut Kusrini (2008) : Sistem pakar adalah aplikasi berbasis komputer yang digunakan untuk menyelesaikan masalah sebagaimana yang dipikirkan oleh pakar. Pakar yang dimaksud di sini adalah orang yang mempunyai keahlian khusus yang dapat menyelesaikan masalah yang tidak dapat diselesaikan oleh orang awam.
2.2.2 Ciri-ciri Sistem Pakar Adapun ciri – ciri sistem pakar (Kusrini, 2008): 1. Terbatas pada bidang keahlian yang spesifik. 2. Dapat memberikan penalaran untuk data – data yang tidak lengkap / tidak pasti. 3. Dapat mengemukakan rangkaian alasan – alasan yang diberikan dengan cara yang dapat dipahami. 4. Berdasarkan rule atau kaidah tertentu. 5. Dirancang untuk dikembangkan secara bertahap. 6. Keluaran bersifat anjuran atau nasehat. 7. Keluaran tergantung dari dialog dengan user.
2.2.3 Keuntungan Sistem Pakar Secara garis besar banyak manfaat yang dapat diambil dengan adanya system pakar, antara lain (Kusrini, 2008) 1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli. 2. Dapat melakukan proses berulang secara otomatis. 3. Menyimpan pengetahuan dan keahlian para pakar. 7
4. Meningkatkan output dan produktivitas. 5. Mampu mengambil dan melestarikan keahlian para pakar.
2.2.4 Keterbatasan Sistem Pakar Jika ada keuntungan, maka ada juga keterbatasan yang dimiliki oleh sistem pakar. Berikut ini merupakan keterbatasan yang dimiliki sistem pakar, yaitu : 1. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya, 2. Kepakaran sangat sulit diekstrak dari manusia, 3. Pengembangan sistem
pakar
seringkali membutuhkan
perekayasa
pengetahuan
(knowledge engineer) yang langka dan mahal, 4. Adalah tidak mudah bagi seorang pakar untuk mengabstraksi atau menjelaskan langkah mereka dalam menangani masalah, 5. Pengetahuan yang hendak diambil tidak selalu tersedia, 6. Pendekatan oleh setiap pakar untuk suatu situasi atau problem bisa berbeda-beda, meskipun sama-sama benar, 7. Sistem Pakar tidak 100% bernilai benar.
2.2.5 Modul Penyusunan Sistem Pakar Suatu sistem pakar disusun oleh tiga modul utama (Staugaard, 1987), yaitu: 1. Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya. 2. Modul Konsultasi (Consultation Mode) Pada saat sistem berada pada suatu posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan mejawab pertanyaan-pertanyaan yang diajukan oleh sistem. 3. Modul Penjelasan (Explanation Mode) Modul ini menjelaskan proses pengambilan sebuah keputusan oleh sistem (bagaimana suatu keputusan dapat diperoleh).
8
2.2.6 Komponen Sistem Pakar Menurut Siswanto (2010) mendefinisikan komponen yang digunakan untuk sebuah program sistem pakar terdiri atas sebagai berikut : 1. Basis Pengetahuan (Knowledge Base) Basis
pengetahuan
merupakan
representasi
dari
pengetahuan
(knowledge
representation) dari seorang pakar. Basis pengetahuan tersusun atas fakta yang berupa obyek dan aturan (rule). Daftar fakta – fakta (fact list) berisikan hasil observasi dan sesuatu kenyataan yang dibutuhkan selama pengolahan. Basis pengetahuan ini adalah inti dari pemrograman sistem pakar yang menyimpan informasi dan aturan – aturan bagi sistem pakar. 2. Mesin Inferensi (Inference Engine) Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai sebuah solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya. Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan proses penalaran. Terdapat taiga teknik pengendalian yang sering digunakan, yaitu pelacakan ke depan (forward chaining), pelacakan ke belakang (backward chaining) dan gabungan dari kedua teknik pengendalian tersebut. Ada dua teknik penalaran (inferensi), yaitu: a. Pelacakan ke Depan (Forward Chaining) Forward chaining adalah sebuah metode pelacakan kedepan, dimana diawali dari fakta-fakta yang diberikan user kemudian dicari di basis pengetahuan lalu dicari rule yang sesuai dengan fakta-fakta. Setelah itu diadaakan hipotesa. Hipotesa ini kemudian dipergunakan untuk menelusuri kaidah-kaidah yang lainnya, sampai ditemukan hasil akhir atau memperoleh sebuah kesimpulan. Banyaknya hipotesa lebih besar dari pada banyaknya fakta. 9
Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri. Dengan kata lain, penalaran dimulai dari fakta terlebih dahulu, lalu dicari rule atau kaidah yang sesuai dengan fakta-fakta yang diberikan untuk menguji kebenaran hipotesa. Proses forward chaining dapat dilihat pada gambar 2.1. Fakta 1
Fakta 2
Kaidah A
Hipotesa 1
Kesimpulan 1
Fakta 3
Kaidah B
Hipotesa 2
Kesimpulan 2
Fakta 4
Kaidah C
Hipotesa 3
Kesimpulan 3
Fakta 5
Gambar 2.1 : Forward Chaining (Siswanto , (2010)) b. Pelacakan ke Belakang (Backward Chaining) Backward Chaining adalah suatu teknik pelacakan yang dimulai dari sekumpulan kesimpulan dari jawaban, lalu menelusuri hipotesa yang diinginkan, kemudian dengan mempergunakan kaidah-kaidah yang ada akan dicari sejumlah besar kondisi awal fakta-fakta yang mendukung kaidah-kaidah tersebut. Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kanan. Dengan kata lain, penalaran dimulai dari kesimpulan, lalu hipotesa terlebih dahulu, dan untuk menguji kebenaran hipotesa tersebut harus dicari rule yang sesuai, lalu fakta yang ada dalam basis pengetahuan. Metode Backward Chaining dapat dilihat pada gambar 2.2. Fakta 1
Fakta 2
Kaidah A
Hipotesa 1
Kesimpulan 1
Fakta 3
Kaidah B
Hipotesa 2
Kesimpulan 2
Fakta 4
Kaidah C
Hipotesa 3
Kesimpulan 3
Fakta 5
Gambar 2.2 : Backward Chaining (Siswanto , (2010))
10
Kedua metode tersebut dipengaruhi oleh tiga teknik penelusuran, yaitu: a. Depth First Searching (DFS) Metode pencarian Depth First Searching adalah metode pencarian yang dimulai dari akar (lever 0) dan pencarian dilanjutkan dengan melacak kode yang berada paling kiri. DFS juga merupakan penelusuran dengan bergerak dari sebelah kiri dari simpul root menuju simpul dibawahnya dan ditelusuri satu persatu sampai simpul yang terdalam dibawahnya, jika tidak ditemukan simpul lagi, maka akan bergerak ke atas sampai ditemukan goal-nya. Proses DFS dapat dilihat pada Gambar START
2.3.
Level 0
A
B
C
D
E
F
Level 1
G
Level 2
GOAL
Gambar 2.3 : Depth First Search (Siswanto , (2010))
b. Breath First Searching (BFS) Metode pencarian Breath First Searching adalah metode yang dimulai dari akar (level 0) ke level selanjutnya. BFS juga merupakan metode pancarian goal dengan menelusuri dari simpul root dan bergerak ke kiri lalu ditelusuri yang satu level dengan simpul tersebut. Bila tidak ditemukan goal-nya maka proses pencarian dilanjutkan dengan mencari pada simpul pada level selanjutnya, mulai dari kiri ke kanan sampai ditemukan goal-nya. Proses BFS dapat dilihat pada gambar 2.4. S TA R T Level 0
A
B
D
C
E
F
Le vel 1
G
Le vel 2
GOAL
Gambar 2.4 : Breath First Search (Siswanto , (2010))
c. Best First Searching 11
Metode Best First Searching adalah gabungan antara dua metode yaitu depth first searching dan metode breath first searching. Metode ini melakukan pencarian pada level yang sama, kemudian akan dilanjutkan dengan mencari ke level bawahnya. Untuk melakukan pencarian dengan jumlah node yang banyak metode ini lebih efisien serta proses pencarian menjadi lebih cepat dibanding dengan metode pencarian yang lainnya. Proses Best First Searching dapat dilihat pada gambar 2.5. S TAR T A
Level 0
B
D
C
E
F
Level 1
G
Level 2
G O AL
Gambar 2.5 : Best First Search (Siswanto , (2010))
3. Basis Data (Database) Basis data terdiri dari semua fakta yang diperlukan, dimana fakta-fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data atau d isebut juga database menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan yang akan atau sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan. 4. Antar muka Pemakai (User Interface) Antar muka pemakai merupakan bagian sistem pakar yang berfungsi sebagai penghubung antar pemakai (user) dengan sistem pakar. Agar suatu program sistem pakar dapat dimanfaatkan oleh pemakai diperlukan sebuah penghubung yang bertindak sebagi seorang konsultan dengan pemakai. Dengan kata lain fasilitas ini digunakan sebagai perantara komunikasi antara pemakai dengan sistem. Komunikasi ini paling baik berupa bahasa alami, biasanya disajikan dalam bentuk tanya-jawab dan kadang ditampilkan dalam bentuk gambar/grafik. Antar muka yang lebih canggih dilengkapi dengan percakapan (voice communication). Pada bentuk tanya-jawab ini akan terus ditampilkan sampai akhirnya mendapatkan suatu kesimpulan yang sesuai. 12
2.2.7 Teknik Representasi Pengetahuan Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu : 1 Rule-Based Knowledge Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan. 2 Frame-Based Knowledge Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame. 3 Object-Based Knowledge Pengetahuan direpresentasikan sebagai jaringan dari obyek- obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses). 4 Case-Base Reasoning Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).
2.2.8 Klasifikasi Sistem Pakar Klasifikasi sistem pakar menurut Siswanto (2010 : 132) : 1. Diagnosa. a. Digunakan untuk merekomendasikan, misalnya : Obat untuk orang sakit, kerusakan mesin, kerusakan rangkaian elektronik. b. Menemukan apa masalah/kerusakan yang terjadi. c. Menggunakan pohon keputusan (decision tree) sebagai representasi pengetahuannya 1. Pengajaran a. Digunakan untuk pengajaran, mulai dari SD s/d PT. b. Membuat diagnosa apa penyebab kekurangan dari siswa, kemudian memberikan cara untuk memperbaikinya.
2. Interpretasi
13
Untuk menganalisa data yang tidak lengkap, tidak teratur, dan data yang kontradiktif. Misalnya : Untuk interpretasi citra. 3. Prediksi a. Untuk peramalan cuaca, Misalnya : Bagaimana seseorang pakar meteorology memprediksi cuaca besok berdasarkan data-data sebelumya. b. Penentuan masa tanam. 4. Perencanaan a. Mulai dari perencanaan mesin-mesin s/d manajemen bisnis. b. Untuk menghemat biaya, waktu, dan material, sebab pembuatan model. c. Sudah tidak diperlukan. Misalnya : Sistem konfigurasi komputer. 5. Kontrol Digunakan untuk mengontrol kegiatan yang membutuhkan presisi waktu tinggi. Misalnya : Pengontrolan pada industri-industri berteknologi tinggi.
2.3 ERD (Entity-Relationship Diagram) Model Entity-Relationship berisi komponen-komponen dari suatu himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta yang ditinjau sehingga dapat diketahui hubungan antara entity-entity yang ada dengan atribut-atributnya. Selain itu juga bisa menggambarkan hubungan yang ada dalam pengolahan data, seperti hubungan many to many, one to many, atau one to one. Lebih jelasnya akan digambarkan secara sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R / ERD). (Adi Nugroho, 2004) Simbol-simbol yang digunakan dalam Entity Relationship Diagram dijelaskan pada gambar 2.1. berikut ini :
Tabel 2.1. Simbol Entity Relationship Diagram (Diagram E-R) (Adi Nugroho, (2004)) SIMBOL
KETERANGAN Entity. Simbol yang menyatakan himpunan entitas ini bisa berupa : suatu elemen lingkungan, sumber daya, atau transaksi, yang begitu pentingnya bagi perusahaan sehingga didokumentasikan dengan data. Attribute. Simbol terminal ini untuk menunjukkan nama-nama atribut yang ada pada entiti. 14
Primary Key Attribute. Simbol atribut yang digarisbawahi, berfungsi sebagai key (kunci) di antara nama-nama atribut yang ada pada suatu entiti. `Relationship. Simbol ini menyatakan relasi ini digunakan untuk menunjukkan hubungan yang ada antara entiti yang satu dengan entiti yang lainnya. Link. Simbol berupa garis ini digunakan sebagai penghubung
antara
himpunan
relasi
dengan
himpunan entitas dan himpunan entitas dengan atributnya.
Hubungan/relasi antar atribut yang terdapat pada sistem konseptual secara bebas yang terdiri dari entiti-entiti, dan setiap entiti terdiri dari atribut yang ada, yaitu : 1. Unary, adalah satu entiti berelasi hanya dengan satu entiti saja. 2. Binary, adalah satu entiti berhubungan dengan entiti yang lain. 3. Ternary, adalah satu entiti berhubungan dengan beberapa entiti yang lainnya. Dalam merancang suatu program, juga ada peralatan yang digunakan hingga program yang dibuat akan lebih sempurna. Adapun peralatan yang digunakan untuk merancang suatu program adalah : 1. Struktur Program Menggambarkan menu utama program yang akan dirancang atau dibuat, juga untuk menampilkan apa yang dikerjakan pada sebuah sistem atau membuat bagian bentuk spesifikasi dari modul-modul program yang dikerjakan pada sebuah sistem. Simbol-simbol standar yang digunakan dalam struktur program terlihat pada gambar 2.2. di bawah ini :
Tabel 2.2. Simbol Struktur Program (Adi Nugroho, (2004)) SIMBOL
KETERANGAN
Simbol Sumber / Tujuan Data. Simbol
Proses
Terdefenisi,
digunakan
untuk
menunjukkan suatu operasi yang rincinya ditunjukkan di tempat lama. 15
2. Flowchart Merupakan alat bantu yang digunakan untuk menerangkan logika program, berupa suatu bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dengan simbol-simbol standar sebagai berikut :
Tabel 2.3. Simbol-Simbol Flowchart (Adi Nugroho, (2004)) SIMBOL
KETERANGAN Terminal
Point
Symbol.
digunakan
untuk
menunjukkan awal dan akhir dari suatu proses. Preparation Symbol. Simbol Persiapan digunakan untuk memberi nilai awal Suatu besaran atau variabel ( harga awal ). Process Symbol. Simbol Proses atau Pengolahan digunakan untuk mewakili suatu proses, seperti pengolahan aritmatika atau pemindahan data. Predefined
Process
Symbol.
Simbol
Proses
Terdefenisi digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain atau untuk proses yang detilnya dijelaskan terpisah, misalnya berbentuk subroutine. Decision Symbol. Simbol Keputusan digunakan untuk mewakili operasi perbandingan logika atau suatu penyeleksian kondisi di dalam program. Input/Output
Symbol.
Simbol
Input/Output
digunakan untuk menyatakan dan mewakili data masukan atau keluaran. Connector Symbol. Simbol Penghubung digunakan untuk menunjukkan sambungan dari bagan alir yang terputus di halaman yang masih sama. Off-page Connector. Simbol Penghubung Halaman lain digunakan untuk menunjukkan hubungan arus proses yang terputus dengan sambungannya ada di 16
halaman yang lain. Flow Lines Symbol. Simbol Garis Alir digunakan untuk menunjukkan aliran atau arus dari proses.
2.4 Bahasa Pemrograman 2.4.1 Android Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD). 1. Sejarah a. Kerjasama dengan Android Inc. Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler. 17
b. 2007-2008: Produk Awal Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar GSM yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010). Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat bergerak (mobile) yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android. c. Android versi 1.1 Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email. d. Android versi 1.5 (Cupcake) Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan 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.
18
e. Android versi 1.6 (Donut) Donut (versi 1.6) dirilis pada September 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; pengadaan resolusi VWGA. f. Android versi 2.0/2.1 (Eclair) Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), 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 kompetisi aplikasi mobile terbaik (killer apps - aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik. Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak 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. g. Android versi 2.2 (Froyo: Frozen Yogurt) Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahanperubahan 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.
19
h. Android versi 2.3 (Gingerbread) Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan (gaming), 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. i. Android versi 3.0/3.1 (Honeycomb) Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. Perangkat tablet dengan platform Android 3.0 akan segera hadir di Indonesia. Perangkat tersebut bernama Eee Pad Transformer produksi dari Asus. Rencana masuk pasar Indonesia pada Mei 2011. j. Android versi 4.0 (ICS: Ice Cream Sandwich) Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC. k. Android versi 4.1/ 4.2 (Jelly Bean) Android 4.1 Jelly Bean diumumkan pada 27 Juni 2012 pada konferensi Google l/O. Versi ini adalah yang tercepat dan terhalus dari semua versi Android. Jelly Bean 4.1 meningkatkan kemudahan dan keindahan tampilan dari Ice Cream Sandwich dan memperkenalkan pengalaman pencarian Google yang baru di Android. l. Android Versi 4.4 (KitKat) Merupakan versi android selanjutnya yang akan dirilis oleh Google. Menggunakan jenis makanan penutup coklat sebagai lambing dari versi android tersebut.
20
2. Fitur dan Arsitektur Android Fitur yang tersedia pada Android adalah : a. Framework aplikasi : memungkinkan pengguna dan pemindahan dari komponen yang tersedia. b. Dalvik virtual machine : virtual machine yang dioptimalkan untuk perangkat mobile. c. Grafik : grafik 2D dan grafik 3D yang didasarkan pada library OpenGL. d. SQLite : untuk penyimpanan data. e. Mendukung media : audio, video, dan berbagi format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF). f. GSM, Blueetooth, EDGE, 3G, and WiFi (tergantung hardware). g. Camera, Global Positioning System (GPS), Compass, and Accelerometer (tergantung hardware). h. Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging, dan plugin untuk Eclipse IDE. Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur sesuai dengan Gambar 2.7.
Gambar 2.7 Arsitektur Android (Sumber : http://id.wikipedia.org/wiki/Berkas:Android-System-Architecture.svg)
21
a. Application Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lain sebagainya. Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman Java. b. Application Framework Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses informasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apapun dapat mempublikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuamn mereka sesuai batasan keamanan. Dasar dari aplikasi adalah seperangkat layanan dan sistem, yaitu berbagai View yang dapat digunakan untuk membangun UI, Content provide yang memungkinkan aplikasi berbagi data, ResourceManager menyediakan akses bukan kode seperti grafik, string, dan layout, NotificationManager yang akan membuat aplikasi dapat menampilkan tanda pada status bar dan ActivityManager yang berguna mengatur daur hidup dari aplikasi. c. Libraries Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android. d. Android Runtime Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada Dalvik Virtual Machine (VM). e. Linux Kernel Abdroid bergantung pada Linux versi 2.6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemem proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.
2.4.2 Komponen Android 1. Android SDK (Software Development Kit) Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di-release oleh Google. Saat ini 22
disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemograman Java. Sebagai platform aplikasi-netral, Android memberi anda kesempatan untuk membuat Aplikasi
yang
kita
butuhkan
yang
bukan
merupakan
aplikasi
bawaan
Handphone/Smartphone. 2. ADT (Android Development Tools) Android Development Tools (ADT) adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi Android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi Android, membuat GUI aplikasi, dan menambahkan komponenkomponen yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui Eclipse. Dengan ADT juga kita dapat melakukan pembuatan package Android (.apk) yang digunakan untuk distribusi aplikasi Android yang kita rancang. Mengembangkan aplikasi Android dengan menggunakan ADT di Eclipse sangat dianjurkan dan sangat mudah untuk memulai mengembangkan aplikasi Android. Berikut adalah versi ADT untuk Eclipse yang sudah dirilis: 1) ADT 12.0.0 (July 2011) 2) ADT 11.0.0 (June 2011) 3) ADT 10.0.1 (March 2011) 4) ADT 10.0.0 (February 2011) 5) ADT 9.0.0 (January 2011) 6) ADT 8.0.1 (December 2010) 7) ADT 8.0.0 (December 2010) 8) ADT 0.9.9 (September 2010) 9) ADT 0.9.8 (September 2010) 10) ADT 0.9.7 (May 2010) 11) ADT 0.9.6 (March 2010) 12) ADT 0.9.5 (December 2009) 13) ADT 0.9.4 (October 2009) 3. Pemrograman XML (eXtensible Markup Language) XML merupakan penyerderhanaan subset SGML (Standard Generalized Markup Language). SGML distandarisasi pada 1986, berdasar pada Generalized Markup Language yang dikembangkan oleh IBM pada 1969. XML disederhanakan untuk penggunaan pada web 23
dan sebagai format pertukaran data. Penyederhanaan tersebut tidak mengurangi ekstensibilitas XML, tetapi membuatnya lebih mudah bagi siapapun untuk menulis XML yang valid. Juga penyederhanaan tersebut membuat parser lebih mudah dan cepat memeriksa dokumen well-formed dan valid. 4. Bahasa Pemerograman Java Menurut Budi Raharjo, Imam Heryanto, Arif Haryono didalam bukunya Mudah Belajar Java (2010) Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasaini awalnya dibuat oleh James Glosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model onjek yag lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis Java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi imlementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java dikenal pula dengan slogannya, “Tulis sekali, jalankan dimanapun”. Saat ini Java merupakan bahasa pemrogramanyang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web. Adapun kelebihan dari Java yaitu : 1. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan dimana saja. Dengan kelebihan ini program cukup menulis sebuah program Java DA dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java dikerjakan diatas operating system Linux tetapi dijalankan baik diatas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (Yang dapat diunduh dari situs Java) untukmeninterprestasikan bytecode tersebut.
24
2. OOP (Object Oriented Programming- Pemrograman Berorientasi Objek) Perpustakaan
Kelas
Yang
Lenkap,
Java
terkenal
dengan
kelengkapan
library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman Java) yang sangat memudahkan dalam penggunaan oleh para pemrograman untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. 3. Bergaya C++. memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrograman C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrograman C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. 4. pengumpulan sampah otomatis. memiliki fasilitas pengaturan pengggunaan memori sehinga para pemrogram tidak perlu melakukan peraturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). Sedangkan kekurangan Java yaitu : 1. Tulis sekali, jalankan dimana saja – Masih ada beberapa hal yang tidak kompatbel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. 2. Mudah didekompilasi. Dekompilasi adalah proses membalikan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .Net Platform. Dengan demikinan, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. 3. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal 25
(lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun..
2.5 Tools 2.5.1 SQLite Database Database adalah kmpulan data yang saling berhubungan yang disimpan secara bersamaan sedemikian rupa tanpa pengulangan (redudansi) yang tidak perlu untuk memenuhi berbagai kebutuhan. 1. SQLiteDatabase merupakan interface yang ada pada sistem operasi android yang digunakan untuk membuat realtional database. SQLite menyokong implementasi dari SQL yang kaya untuk apapun yang dibutuhkan oleh aplikasi mobile. setiap aplikasi dapat memiliki databasenya sendiri dengan pengaturan yang lengkap. 2. SQLite merupakan sebuah sistem manajemen basisdata relasional yang bersifat ACIDcompliant dan memiliki ukuran pustaka kode yang relatif kecil, ditulis dalam bahasa C. SQLite merupakan proyek yang bersifat public domain yang dikerjakan oleh D.Richard Hipp. 3. Tidak seperti pada paradigma client-server umumnya, inti SQLite bukanlah sebuah sistem yang mandiri yang berkomunikasi dengan sebuah program, melainkan sebagai bagian integral dari sebuah program secara keseluruhan. Sehingga protokol komunikasi utama yang digunakan adalah melalui pemanggilan API secara langsung melalui bahasa pemrograman. Mekanisme seperti ini tentunya membawa keuntungan karena dapat mereduksi overhead, latency times, dan secara keseluruhan lebih sederhana. Seluruh elemen basisdata (definisi data, tabel, indeks, dan data) disimpan sebagai sebuah file. Kesederhanaan dari sisi design tersebut bisa diraih dengan cara mengunci keseluruhan file basis data pada saat ssebuat transaksi dimulai. 4. Pustaka SQLite mengimplementasikan hampir seluruh elemen-elemn standar yang berlaku pada SQL-92, teramasuk transaksi yang bersifat atomic, konsistensi basisdat, isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dan query-query yang kompleks. Tidak ada pengecekantipe sehingga data bisa dientrikan dalam bentuk string untuk sebuah kolom bertipe integer. Beberapa kalangan melihat hal 26
inisebagai sebuah inovasi yang menambah nilai guna dari sebuah basisdata, utamanya ketika digunakan dalam bahasa pemrograman script (PHP & Perl), sementara kalangan lain melihat hal tersebut sebagai sebuah kekurangan.
2.5.2 Eclipse IDE Eclipse merupakan program untuk mengetikkan baris perintah untuk membuat aplikasi android, script program yang diketikkan di eclipse merupakan perpaduan antara bahasa pemrograman java dan xml. Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse : 1. Multi-platform, Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. 2. 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. 3. Multi-role, Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus 4. 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. 1. Sejarah Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak IBM Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM pada tanggal 5 November 2001, yang menginvestasikan sebanyak US$ 40 juta untuk pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya. 2. Arsitektur Eclipse Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug27
in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP : 1) Core platform 2) OSGi 3) SWT (Standard Widget Toolkit) 4) Jface 5) Eclipse Workbench Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plugin yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java. Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plugin UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by project.
3. Versi Peluncuran Eclipse Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah deployment dan maintenance untuk sistem enterprise, serta untuk kenyamanan. 1) Eclipse 3.0, 28 Juni 2004, 3.0 2) Eclipse 3.1, 28 Juni 2005, 3.1 3) Callisto, 30 Juni 2006, 3.2 Callisto projects 4) Europa, 29 Juni 2007, 3.3 Europa projects 5) Ganymede, 25 Juni 2008, 3.4 Ganymede projects 28
6) Galileo, 24 Juni 2009, 3.5 Galileo projects 7) Helios 3.6 4. Kontroversi Eclipse Hadirnya Eclipse di tengah-tengah persaingan IDE, terutama Java IDE, menimbulkan banyak kontroversi. Salah satunya adalah penggunaan user interface Eclipse. Sun Microsistems sebagai perusahaan yang membuat Java, selama ini mengeluarkan dua library untuk pengembangan Graphical User Interface (GUI), yaitu Abstract Windowing Toolkit (AWT) dan Swing. Akan tetapi dalam pembuatan Eclipse, dua library ini ditinggalkan karena berbagai alasan, yang salah satunya adalah kedua library ini tidak memberikan look and feel yang baik. Sehingga untuk hal ini dikembangkanlah GUIlibrary
yang
baru.
Selain itu, Sun yang mempunyai IDE sendiri untuk pengembangan Java bernama NetBeans, menjadi gerah atas kehadiran Eclipse yang sampai saat ini komunitasnya cukup besar. Hal ini terlihat dengan menolaknya Sun untuk bekerja sama dalam Eclipse Foundation,
walau
telah
diundang.
Nama Eclipse seolah-olah memberi pesan explisit : cahaya Sun (matahari) yang pancarannya dihalangi oleh Eclipse (gerhana).
2.6 Spesifikasi Mobil Toyota Yaris Jadilah yang terdepan dengan mesin Yaris 1NZ-FE 1.500 cc 16 Valves DOHC berteknologi VVT-i (Variable Valve Timing - intelligent) yang efisien
bahan bakar.
Performanya telah teruji di arena Indonesian Touring Car Championship dan Djarum Black Night Slalom Test. Adapun spesifikasi dari mobil Toyota Yaris adalah sebagai berikut :
i.
Dimensi 1) Panjang
: 3,750 mm
2) Lebar
: 1,695 mm
3) Tinggi
: 1,520 mm
4) Jarak Sumbu
: 2,460 mm
5) Jarak Pijak Depan
: 1,470 mm
6) Jarak Pijak Belakang
: 1,460 mm
7) Berat Kosong
: 1,055 kg
29
ii.
Sasis 1) Transmisi
: Otomatis 4 Tingkat Kecepatan, Super ECT
2) Perbandingan Gigi Ke-1
: 2.847
3) Perbandingan Gigi Ke-2
: 1.552
4) Perbandingan Gigi Ke-3
: 1.000
5) Perbandingan Gigi Ke-4
: 0.700
6) Perbandingan Gigi Ke-5
:-
7) Perbandingan Gigi Mundur
: 2.343
8) Perbandingan Gigi Akhir
: 4.237
9) Suspensi - Depan
: MacPherson Struts Dengan Koil dan Stabilizer
- Belakang
: Torsion Beam dan Pegas Koil
10) Sistem Rem - Depan
: Cakram Berventilasi Dengan ABS, EBD, BA
- Belakang
: Tromol Dilengkapi ABS, EBD, BA
11) Ukuran Ban iii.
: 185 / 60 R15
Mesin 1) Tipe Mesin
: 4 Silinder Segaris, 16 Katup DOHC, VVT-i
2) Isi Silinder
: 1,497 cc
3) Diameter x Langkah
: 75.0mm x 84.7mm
4) Daya Maksimun
: 109ps / 6000rpm
5) Torsi Maksimum
: 14.4kgm / 4.200rpm
6) Kapasitas Tangki
: 42 Liter
7) Bahan Bakar – Jenis
: Bensin Tanpa Timbal
8) Sistem
: Sistem Injeksi Elektronik
30