BAB II LANDASAN TEORI 2.1 Pengertian Algoritma Genetika

advertisement
BAB II
LANDASAN TEORI
2.1 Pengertian Algoritma Genetika
Algoritma genetik merupakan algoritma yang dikembangkan dari proses
pencarian solusi optimasi yang menggunakan pencarian secara acak (random),
proses ini terlihat dari cara regenerasi populasi awal yang menyatakan
sekumpulan solusi yang dipilih secara acak. Algoritma ini memanfaatkan proses
seleksi alamiah yang dikenal dengan proses evolusi.
Dalam proses evolusi ini, individu secara terus - menerus akan mengalami
perubahan gen untuk menyesuaikan dengan lingkungan hidupnya. Hanya individu
yang kuat yang akan mampu bertahan, sehingga dalam proses evolusi ini akan
dapat diharapkan memperoleh individu yang terbaik. proses seleksi alamiah ini
melibatkan perubahan gen yang akan terjadi pada individu melalui proses
perkembang-biakkan untuk mendapatkan keturunan atau generasi yang lebih baik.
Algoritma genetik pada dasarnya merupakan suatu program komputer yang
mensimulasikan proses evolusi. Dalam hal ini populasi dari kromosom dihasilkan
secara random/acak dan akan memungkinkan untuk berkembang biak sesuai
dengan hukum-hukum evolusi dengan harapan akan menghasilkan individu
kromosom yang prima. Kromosom ini pada kenyataannya adalah kandidat
penyelesaian dari masalah, sehingga bila kromosom yang baik berkembang, solusi
yang baik terhadap masalah diharapkan akan dihasilkan.
Variasi kromosom ini akan mempengaruhi laju reproduksi dan tingkat
kemampuan organisme untuk tetap hidup. Pada dasarnya ada 4 kondisi yang
sangat mempengaruhi proses evaluasi tersebut, yaitu:
1. Kemampuan organisme untuk melakukan reproduksi.
2. Keberadaan populasi organisme yang bisa melakukan reproduksi.
3. Keberagaman organisme dalam suatu populasi.
4. Perbedaan kekuatan dan kemampuan organisme untuk bertahan hidup.
1
2.1.1 Sejarah Algoritma Genetik
Algoritma Genetik merupakan sebuah metode pencarian yang telah
disesuaikan dengan proses genetika dari organisme-organisme biologi yang
berdasarkan pada teori revolusi Charles Darwin. Menurut Randy L and Sue Ellen
(2004:22) Algoritma ini pertama kali diperkenalkan oleh John Holland dari
Universitas Michigan pada awal 1970-an di New York, Amerika Serikat. John
Holland bersama murid-murid serta rekan kerjanya lalu menghasilkan buku
yang berjudul "Adaption in Natural and Artificial Systems" pada tahun 1975,
melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya David
Golberg (1989) dimana mendefinisikan algoritma genetik sebagai metode
algoritma pencarian berdasarkan pada mekanisme seleksi alam dan genetik
alam. John Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi
(alami maupun buatan) dapat diformulasikan dalam teknologi genetika.
Algoritma
Genetik
adalah
algoritma
yang
berusaha
menerapkan
pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan masalah
(problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan
menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu
kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada
suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness.
Generasi ini akan mempresentasikan perbaikan-perbaikan pada populasi
awalnya, dengan melakukan proses ini secara berulang, algoritma ini diharapkan
dapat memanipulasikan proses evolusioner. Pada akhirnya, akan didapatkan
solusi-solusi yang paling tepat bagi permasalahan yang dihadapi.
Algoritma genetik terispirasi dari mekanisme seleksi alam, dimana individu
yang lebih kuat yang kemungkinan akan menjadi pemenang dalam lingkungan
yang kompetitif dan solusi yang optimal dapat diperoleh dan diwakilkan oleh
pemenang akhir dari permainan genetik. Didalam algoritma genetik tersedia solusi
yang ditetapkan pada sebuah populasi individu-individu yang masing-masing
mewakili solusi yang mungkin. Setiap solusi yang mungkin disebut dengan
'kromosom", yang ditunjukkan dengan sekumpulan simbol dalam bentuk string
dengan panjang tertentu dan biasanya dari alfabet biner (0,1). Penggambaran
sebuah string kromosom bit biner ditunjukkan sebagai berikut :
2
|110110|
string kromosom
gen
Gambar 2.1 Penggambaran string kromosom
Selama
evaluasi
genetik,
kromosom
yang
lebih
sehat
memiliki
kecenderungan menghasilkan off spring (keturunan) yang sehat pula. Kromosom
tersedia secara acak dari populasi sehingga sebuah siklus operasional genetik akan
berhasil apabila kromosom yang disebut parent (orang tua) dipilih melalui
tahapan penyeleksian yang spesifik. Gen dari parent tersebut digabung untuk
menghasilkan off spring yang merupakan sebuah generasi baru dari proses
evaluasi ini (manipulasi terhadap gen) diharapkan kromosom yang lebih baik akan
menghasilkan jumlah off spring yang lebih banyak dan mungkin berhasil bertahan
pada generasi berikutnya.
2.1.2 Siklus Algoritma Genetik
Dibawah ini merupakan contoh siklus pembentukan populasi baru dari sebuah
algoritma genetik.
Populasi
Awal
Evaluasi
Fitness
Seleksi
Individu
Reproduksi :
Mutasi
Populasi
Baru
Gambar 2.2 Siklus Algoritma Genetik
3
2.1.3 Kelebihan dan Kelemahan Algoritma Genetik
Kelebihannya :
• Algoritma genetik sangat tepat digunakan untuk penyelesaian masalah
optimasi yang kompleks dan sukar diselesaikan dengan menggunakan
metode yang konvensional.
• Algoritma genetik tidak membutuhkan banyak kebutuhan matematis tentang
masalah optimalisasi karena akan mencari solusi berdasarkan evolusi alami.
Sehingga dapat digunakan untuk skala besar dan perhitungan yang rumit.
Dibawah ini cara kerja dari algoritma genetik yaitu sebagai berikut:
• Membangkitkan sebuah populasi yang berisi sejumlah kromosom, kromosom kromosom tersebut akan berevolusi secara berkelanjutan yang disebut generasi.
• Mengkodekan kromosom yang telah dibangkitkan menjadi individu x dalam
interval yang diinginkan.
• Menghitung nilai fitness dari individu x.
• Melakukan seleksi untuk memperoleh individu yang baik untuk menjadi orang
tua (parent).
• Mutasi, yaitu untuk semua gen yang ada. Jika bilangan acak yang dibangkitkan
kurang dari probabilitas mutasi yang ditentukan maka harus mengubah gen
tersebut dengan kebalikannya (0 menjadi 1 dan 1 menjadi 0). Proses akan
berulang sampai sejumlah generasi yang telah ditentukan.
Kelemahan :
Kelemahan dari algoritma genetik yaitu dikarenakan semua komponen algoritma
genetik bersifat random atau acak yang mengakibatkan solusi yang dihasilkan
berbeda – beda pada setiap kali running, akan tetapi kejadian ini dapat dihindari
dengan cara memilih nilai - nilai parameter dengan tepat, maka dengan ini
algoritma genetik dapat memberikan solusi yang dapat diterima dengan baik.
4
1.1.4 Komponen Dasar dan Komponen Utama Algoritma Genetik
Menurut Randy L and Sue Ellen (2004:13) untuk meningkatkan teknik
optimasi dalam perhitungan evolusioner algoritma genetik mempunyai 5 (lima)
komponen dasar dan 6 (enam) komponen utama.
Komponen dasar agoritma genetik, yaitu:
1. Pembentukan operator genetik dari solusi ke masalah.
2. Pembentukan satu populasi awal dari solusi.
3. Fungsi evaluasi dalam pembentukan nilai fitness algoritma genetik.
4. Pembentukan kromosom awal dari operator genetik.
5. Nilai parameter algoritma genetik.
Komponen utama algoritma genetik, yaitu sebagai berikut:
1. Teknik penyandian
Teknik penyandian meliputi penyandian gen dari kromosom walaupun gen
juga merupakan bagian dari kromosom, dalam satu gen biasanya akan
mewakili satu variable. Gen dapat direpresentasikan dalam berbagai
bentuk antara lain: string bit, pohon, array bilangan real, daftar aturan,
elemen permutasi, elemen program dan lain-lain, sedangkan kromosom
dapat direpresentasikan dengan menggunakan antara lain: string bit,
bilangan real, elemen permutasian, daftar aturan, elemen program pada
pemrograman genetik serta struktur lainnya.
Contoh dari representasi kromosom antara lain sebagai berikut :
1. String bit : 10011, 11101, dst
2. Bilangan Real : 65.65, 562.88, dst
3. Elemen Permutasi : E2, E10, dst
4. Daftar Aturan : R1, R2, R3, dst
5. Elemen Program : pemrograman genetika, dst
6. Struktur lainnya
Misalkan ingin dipecahkan sebuah masalah estimasi yaitu
dengan sampel yang ada untuk A dan B berapa nilai
dengan
fungsi tujuan meminimumkan least square atau memaksimumkan fungsi
likelihood (fungsi kemungkinan). Persoalan tersebut dapat diselesaikan
5
dengan algoritma genetik, yaitu ketiga parameter
dikodekan
dalam kromosom yang masing-masing berisi sejumlah gen yang
mengkodekan informasi yang disimpan di dalam kromosom. Misalkan
untuk memudahkan digunakan
binary encoding dengan panjang
kromosom 12 gen (12 bits), masing-masing parameter
dikodekan dengan 4 gen, sehingga diperoleh pengkodean seperti berikut:
Tabel 2.1 Skema Binary Encoding
Parameter
Binary
1
0
1
1
1
1
1
0
1
0
1
0
g1 g2 g3
g4
g5
g6
g7
g
g
g10
g11
g12
8
9
Number
Decimal
11
14
3
Number
Jika nilai parameter yang akan dicari mempunyai constraint,
,
maka berdasarkan binary encoding nilai parameter dapat diperoleh
dengan menggunakan formula berikut
dimana n menyatakan banyaknya bit atau gen (dalam tabel 2.1, setiap
parameter memiliki (empat) 4 bit dan constraint
), sehingga
diperoleh:
Setetelah skema pengkodean ditentukan, algoritma genetika diinisialisasi
untuk sebuah populasi dengan N kromosom. Gen-gen yang mengisi
6
masing-masing kromosom dibangkitkan secara random. Masing- masing
kromosom akan dikodekan menjadi individu dengan nilai
fitness
tertentu, dan kemudian sebuah populasi baru akan dibentuk dengan
menggunakan mekanisme seleksi alamiah, yaitu memilih individuindividu secara proporsional terhadap nilai fitnessnya, dan genetika
alamiah, yakni mutasi. Pada algoritma genetik metode yang akan
digunakan adalah dengan skema pergantian populasi yang disebut
generational replacement artinya, N kromosom dari suatu generasi
digantikan sekaligus oleh N kromosom baru hasil mutasi.
2. Prosedur inisialisasi
Ukuran populasi tergantung pada masa yang akan dipecahkan dan jenis
operator genetika yang akan implementasikan, juga dilakukan inisialisasi
terhadap kromosom secara acak yang terdapat pada populasi tersebut.
3. Fungsi evaluasi
Ada 2 hal yang harus dilakukan dalam melakukan evaluasi kromosom
yaitu: evaluasi fungsi objektif dan konfersi fungsi objektif ke dalam fungsi
fitness. Dalam hal ini untuk mendapatkan hasil yang baik digunakan
metode best fitness. Metode best fitness yaitu pencarian obyek dengan cara
mencari semua kemungkinan solusi yang terbaik. Setengah dari jumlah
populasi yang memiliki harga fitness yang terendah akan dihilangkan
sehingga akan hanya selalu tersisa sekelompok solusi terbaik yang pernah
diperoleh oleh program.
4. Seleksi
Bertujuan untuk memberikan kesempatan reproduksi yang lebih besar bagi
anggota populasi yang paling fit, ada beberapa metode seleksi dari induk,
antara lain:
a. Rank-based fitness assignment
b. Roulette wheel selection
c. Stochastic universal sampling
d. Local selection
e. Truncation selection
f. Tournament selection
7
5. Operator Genetika
Ada 2 operator genetika yaitu operator untuk melakukan rekomendasi dan
mutasi, operator untuk melakukan rekomendasi terdiri atas rekomendasi
bernilai real, rekomendasi bernilai biner (Crossover) dan Crossover
dengan permutasi, sedangkan operator untuk melakukan mutasi terdiri atas
mutasi bernilai real dan mutasi bernilai biner.
6. Penentuan parameter
Parameter adalah parameter control algoritma genetika yaitu ukuran
populasi (popsize), peluang crossover (Pc) dan peluang mutasi (Pm).
2.1.5 Aplikasi Algoritma Genetik
Untuk meningkatkan sebuah aplikasi yang akan dibangun sebuah program
membutuhkan algoritma yang akan menghubungkan agar sebuah aplikasi dapat
berjalan sesuai dengan yang diharapkan. Pada aplikasi ini metodologi sistem
pencariannya menggunakan algoritma genetik. Algoritma genetik biasa digunakan
pada sistem pencarian dekstop, dan penulis mengembangkan algoritma genetik ini
ke dalam sistem pencarian berbasis android atau mobile phone.
2.2 Pengertian Smartphone
Smartphone atau yang dikenal dalam arti bahasa Indonesia adalah telepon
pintar. merupakan alat telekomunikasi yang menggunakan sistem operasi sebagai
penggerak aplikasi yang ada dalam telepon tersebut. Smartphone memiliki fungsi
yang lebih dibandingkan dengan telepon genggam biasa yang sering digunakan.
Selain dapat digunakan sebagai alat telekomunikasi, smartphone juga dapat
menjadi alat sosialisasi dalam dunia maya, dapat membuka dokumen yang ada,
koneksi yang juga lebih lengkap seperti WiFi, Broadband, dan juga Bluetooth.
Ponsel pintar pertama yang diperkenalkan adalah IBM Simon. Smartphone
ini diciptakan pada tahun 1992 dan dijual ke publik pada 1993. Ponsel ini
mempunyai beberapa aplikasi tambahan seperti calendar, address book, world
clock, calculator, notepad, email client, mengirim dan menerima fax, serta games.
Ponsel ini didesain tanpa tombol fisik dan menggunakan layar touchscreen
dengan stylus. Setelah kemunculan ponsel pintar IBM Simon, Nokia meluncurkan
8
smartphone pertamanya, yakni Nokia Communicator 9000 yang diluncurkan pada
1996. Communicator ini merupakan kombinasi antara PDA dari HP.
Communicator memiliki desain clamshell yang dilengkapi dengan keyboard
QWERTY.Tahun 2000 adalah awal dari penggunaan kata smartphone alias ponsel
pintar.
Ericsson R380 Smartphone adalah ponsel pertama yang menggunakan kata
tersebut dalam merk dagangnya. Smartphone lain memenuhi pasaran. Dari Sony
Ericsson P800, Nokia Communicator 9210, BlackBerry, hingga iPhone. Seiring
dengan kemajuan smartphone, berbagai jenis OS mobile pun berkembang. Antara
lain adalah Symbian dari Nokia, iOS dari Apple, BlackBerry OS dari RIM, Bada
dari Samsung dan Android dari google. Seperti halnya Palm, Windows mobile
dan symbian android juga memiliki fungsi yang sama.Pada bulan Oktober 2003
Andy Rubin, Rich Miner, Nick Sears dan Chris White mendirikan perusahaan
yang bernama Android Inc. Terletak di di Palo Alto, California, USA. Pada
masanya persatuan dari 34 perusahaan yaitu Google Inc membeli Android Inc.
Dan merupakan pendatang baru yang bertujuan membuat peranti lunak untuk
Handphone. Android merupakan produk dari Android Inc.
Android Inc sendiri adalah sebuah perusahaan perangkat lunak kecil yang
didirikan pada bulan Oktober 2003 di Palo Alto, California, USA. Yang didirikan
oleh Andy Rubin, Rich Miner, Nick Sears dan Chris White yang memiliki
pengetahuan tinggi dalam IT & Communication. Menurut Rubin, Android Inc
didirikan untuk mewujudkan mobile device yang lebih peka terhadap lokasi dan
preferensi pemilik. Dengan kata lain, Android Inc, ingin mewujudkan
mobile device yang lebih mengerti pemiliknya.
2.2.1 Pengenalan Android
Android merupakan sebuah sistem operasi perangkat mobile berbasis linux
yang mencakup sistem operasi, middleware dan aplikasi. Beberapa pengertian lain
dari android yaitu :
• Merupakan platform terbuka (Open Source) bagi para pengembang
(programmer) untuk membuat aplikasi.
• Merupakan sistem operasi yang dibeli Google Inc. dari android Inc.
9
• Bukan bahasa pemrograman, akan tetapi hanya menyediakan lingkungan
hidup atau run time environment yang disebut DVM ( Dalvik Virtual
Machine ) yang telah dioptimasi untuk device atau alat dengan sistem memori
yang kecil.
2.2.2 Arsitektur Android
Secara garis besar, arsitektur Android terdiri atas Applications dan Widgets,
Applications Frameworks, Libraries, Android Run Time, dan Linux Kernel.
Applications dan Widgets merupakan layer atau lapis, dimana kita berhubungan
dengan aplikasi saja.
Applications Frameworks merupakan Open Development Platform yang
ditawarkan Android untuk dapat dikembangkan guna membangun aplikasi.
Pengembang memiliki akses penuh menuju API Frameworks seperti yang
dilakukan oleh aplikasi kategori inti. Komponen – komponen yang termasuk di
dalam Applications Frameworks adalah sebagai berikut : Views, Content
Provider, Resource Manager, Notification Manager, dan Activity Manager.
Libraries merupakan layer, dimana fitur – fitur Android berada.
2.2.3 Struktur Aplikasi Android
Struktur aplikasi Android atau Fundamental Aplikasi ditulis dalam bahasa
pemrograman Java. Kode Java dikompilasi bersama dengan file resource yang
dibutuhkan oleh aplikasi, dimana prosesnya di package oleh tools yang dinamakan
“ apt tools ” ke dalam paket Android, sehingga menghasilkan file dengan ekstensi
apk. File apk ini yang disebut dengan aplikasi, dan nantinya dapat dijalankan pada
device atau peralatan mobile. Ada empat komponen pada aplikasi Android
sebagai berikut :
a. Activities merupakan komponen untuk menyajikan user interface ( tampilan
program ) kepada pengguna.
b. Service merupakan komponen yang tidak memiliki user interface ( tampilan
program ), tetapi service berjalan secara backgrounds.
c. Broadcast Receiver merupakan komponen yang berfungsi menerima dan
bereaksi untuk menyampaikan notifikasi.
10
d. Content Provider merupakan komponen membuat kumpulan aplikasi data
secara spesifik sehingga bisa digunakan oleh aplikasi lain.
2.2.4 Kelebihan dan Kekurangan Android
Android merupakan sistem operasi yang dirancang dan dipublikasikan oleh
Google, sebuah perusahaan mesin pencari dan raksasa internet. Dewasa ini
pabrikan ponsel dan smartphone ramai – ramai memakai android sebagai sistem
operasi mereka lebih memilih android sebagai OS yang dipakai daripada
menggunakan sistem operasi lain dikarenakan OS android terdapat kelebihan
didalamnya sebagai sistem operasi saat ini.
Kelebihan Android diantaranya yaitu :
1.
Android bersifat terbuka, karena berbasis Linux yang open sourcenya bisa
dikembangkan oleh siapa saja.
2.
Akses mudah ke Android App Market
Pengguna android adalah orang yang gemar utak atik handphone. Dengan
Google Android App Market dapat mendownload berbagai aplikasi
dengan gratis.
3.
Widget, pada layar utama android terdapat widget yang memudahkan user
mengakses aplikasi android, misalnya menampilkan ststus terbaru FB,
Twitter atau melihat kondisi cuaca daerah tertentu (tentunya dibutuhkan
kineksi dengan internet).
4.
Sistem Operasi Merakyat
Ponsel android beda sekali dengan IOS yang terbatas pada iphone dari
Apple, maka android memiliki banyak produsen dengan gadget andalan
masing - masing mulai dari HTC hingga Samsung.
5.
Fasilitas penuh USB
Anda dapat mengganti baterai, mass storage, diskdrive, dan USB tathering.
6.
Mudah dalam hal notifikasi
Sistem operasi ini bisa memberitahukan Anda tentang adanya SMS, Email,
atau bahkan artikel terbaru dari RSS Reader. Bahkan Anda tidak akan
terlewat dalam hall miscall sekalipun.
11
7.
Mendukung semua layanan Google
Sistem operasi android mendukung semua layanan dari Google mulai dari
Gmail sampai Google Reader. Semua layanan Google bias dimiliki dengan
satu sistem operasi yaitu android.
8.
Install ROM modifikasi
Jika mendapati ROM yang tidak resmi, maksudnya adalah versi yang telah
rilis tidak sesuai dengan spesifikasi ponsel kita, jalan terakhir adalah
modifikasi. Jangan khawatir ada banyak custom ROM yang dapat dipakai
di ponsel Android dan dijamin tidak akan membahayakan perangkat anda.
Kekurangan Android diantaranya yaitu :
1.
Terhubung dengan internet
Android dapat dikatakan sangat memerlukan koneksi internet yang aktif.
Setidaknya harus ada koneksi internet GPRS di daerah anda, agar
perangkat siap untuk online sesuai dengan kebutuhan kita.
2. Perusahaan perangkat terkadang lambat mengeluarkan versi resmi dari
Android, meskipun terkadang tidak ada perbedaan mencolok dalam hal UI.
3.
Android Market kurang control dari pengelola, terkadang masih terdapat
malware.
4.
Sebagai penyedia layanan langsung, terkadang pengguna sangat sulit
sekali terhubung dengan pihak Google.
5.
Iklan, disetiap aplikasi hampir selalu muncul iklan, kecuali aplikasi
bawaan android sendiri atau aplikasi berbayar.
Karena mudah dan gratis, terkadang sering diboncengi iklan. Secara
tampilan memang tidak mengganggu kinerja aplikasi itu sendiri, karena
memang kadang berada di bagian atas atau bawah aplikasi.
6.
Boros baterai
2.2.5 Versi Android
Banyak Smartphone dan PC Tablet menggunakan system operasi dengan
versi yang berbeda. Semakin Versi tinggi, fiturnya semakin canggih dan banyak.
Telepon pertama yang memakai sistem operasi Android adalah HTC Dream yang
12
dirilis pada tanggal 22 Oktober 2008. Beberapa uraian versi Android seperti
dibawah ini :
a. Android 1.0 dirilis pada tanggal 23 September yang memiliki kode nama
Apple pie serta ukuran layar 320x480 HVGA.
b. Android versi 1.1 (Banana Bread)
Sebagai hasil pengembangan versi perdana, versi ini pertama kali dirilis
oleh Google pada tanggal 9 Maret 2009. Versi ini memiliki fitur – fitur :
jam, alarm, voice search (pencarian suara), pengiriman pesan dengan
Gmail dan pemberitahuan email.
c. Android versi 1.5 (Cupcake)
Google kembali hadir dengan merilis versi terbaru yakni versi 1.5
(Cupcake) dirilis pada 30 April 2009. Penyesuaian sistem pada layar
terjadi pada versi ini mengingat terdapat penambahan beberapa fitur yakni
kemampuan merekam dan menonton video dengan modus kamera,
mengunggah video ke Youtube dan gambar ke Picasa via telepon,
dukungan Bluetooth A2DP, kemampuan koneksi secara otomatis ke
headset Bluetooth, animasi layar, dan keyboard semua dapat dilakukan
jauh lebih efektif.
d. Android versi 1.6 (Donut)
Selanjutnya pada 15 September 2009 diliris kembali dengan versi 1.6
(Donut) yang menampilkan proses pencarian lebih baik dibanding pada
versi sebelumnya, penggunaan baterai indikator dan kontrol applet VPN.
Fitur lain yang terdapat pada versi ini adalah fungsi fitur untuk galeri yang
memungkinkan pengguna untuk memilih foto yang hendak di hapus;
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).
e. Android versi 2.0/2.1 (Eclair)
Versi Android ini dirilis pada 3 Desember 2009 yang mulai dipakai oleh
banyak smartphone, fitur utama Eclair yaitu perubahan total struktur dan
tampilan user interface dan merupakan versi Android yang pertama kali
13
mendukung format HTML5. Versi ini dilengkapi dengan Google Maps
3.1.2, browser baru dan dukungan flash untuk kamera 3,2 MP, digital
zoom, dan bluetooth 2.1.
f. Andoid versi 2.2 (Froyo / Frozen Yoghurt)
Android 2.2 dirilis pada 20 Mei 2010 dengan 20 fitur baru, antara lain
peningkatan kecepatan, fitur Wi-Fi hotspot tethering dan dukungan
terhadap Adobe Flash.
g. Android versi 2.3 (Gingerbread)
Gingerbread dirilis pada 6 Desember 2010, versi ini memanjakan para
penggemar game. Format video, peningkatan kualitas suara menjadi
kelebihan dari versi ini dibanding versi sebelumnya. Perubahan utama di
versi 2.3 ini termasuk update UI, peningkatan fitur soft keyboard &
copy/paste, power management, dan support Near Field Communication.
h. Android versi 3.0, 3.1 dan 3.2 (Honeycomb)
Versi baru ini dirilis pada tahun 2011 yang mendukung multi prosesor dan
juga peningkatan kemampuan hardware untuk grafis. Honeycomb juga
ditujukan untuk gadget / device dengan layar besar seperti Tablet PC; Fitur
baru Honeycomb yaitu dukungan terhadap prosessor multicore dan grafis
dengan hardware acceleration (Tablet pertama yang memakai Honeycomb
adalah Motorola Xoom yang dirilis bulan Februari 2011). Google
memutuskan untuk menutup sementara akses ke source code Honeycomb,
hal ini dilakukan untuk mencegah vendor pembuat handphone menginstall
Honeycomb pada smartphone. Karena di versi sebelumnya banyak
perusahaan menginstall Android ke dalam tablet PC, yang menyebabkan
user tidak puas dan akhirnya membuat citra Android tidak bagus.
i. Android versi 4.0 (Ice Cream Sandwich)
Android Ice Cream Sandwich diumumkan pada 10 Mei 2011 di ajang
Google I/O Developer Conference (San Francisco) dan resmi dirilis pada
tanggal 19 Oktober 2011 di Hongkong. “Android Ice Cream Sandwich”
dapat digunakan baik di smartphone ataupun tablet. Fitur utama Android
ICS 4.0 ialah Face Unlock, Android Beam (NFC), perubahan major User
14
Interface, dan ukuran layar standar (native screen) beresolusi 720p (high
definition).
j. Android versi 4.1 (Jelly Bean)
Android Jelly Bean lebih menfokuskan fiturnya ke peningkatan User
Interface yang lebih lancar dan responsif. Di versi ini juga menandai
hadirnya fitur Google Now yang memberikan saran dan rekomendasi
berdasarkan data-data yang tersimpan (kontak, kalender, lokasi, dll) di
handphone.
2.3 Pengertian ADT (Android Development Tools)
Android Development Tools merupakan sebuah plugin yang digunakan
untuk IDE eclipse yang telah di design secara powerfull untuk pengembangan
aplikasi android. Developing android di eclipse sangat direkomendasikan karena
begitu banyak kemudahan - kemudahan sebagai tools terintegrasi seperti custom
XML editor, debugging dan banyak hal - hal lain yang akan mempercepat proses
pembuatan aplikasi tersebut. Di bawah ini contoh dari tampilan Android
Development Tools.
Gambar 2.3 Splash Screen ADT
2.4 Pengertian Java
Java merupakan bahasa pemrograman tingkat tinggi yang berorientasi objek
dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas
15
metode - metode yang melakukan pekerjaan dan mengembalikan informasi
setelah melakukan tugasnya. Para pemrogram
Java banyak mengambil
keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java
Application Programming Interface (API). Kelas-kelas ini diorganisasikan
menjadi sekelompok yang disebut paket (package). Java API telah menyediakan
fungsionalitas yang memadai untuk menciptakan applet dan aplikasi canggih. Jadi
ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan
bagaimana mempergunakan kelas pada Java API.
Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana.
Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak
menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak
pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang
digantikan dan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi
pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa
Java namun harus waspada karena mungkin Java mengambil arah (semantiks)
yang berbeda dibanding C++.
Teknologi Java memiliki tiga komponen penting, yaitu:
• Programming-language specification
• Application-programming interface
• Virtual-machine specification
2.5 UML (Unified Modeling Language)
UML merupakan sebuah bahasa yang telah menjadi standar dalam industri
untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML
menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan
menggunakan UML model dapat dibuat untuk semua jenis aplikasi piranti lunak,
dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan
jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.
16
2.5.1 Actor
Actor menggambarkan segala pengguna software aplikasi (user). Actor
memberikan suatu gambaran jelas tentang apa yang harus dikerjakan software
aplikasi. Sebagai contoh sebuah actor dapat memberikan input kedalam dan
menerima informasi dari software aplikasi, perlu dicatat bahwa sebuah actor
berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Sebuah
actor mungkin seorang manusia, satu device, hardware atau sistem informasi
lainnya.
Gambar 2.4 Notasi Actor
2.5.2 Use Case
Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem
untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan, namun use
case hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan
bagaimana actor dan sistem melakukan kegiatan tersebut.
Gambar 2.5 Notasi Use Case
2.5.3 Association Relationship
Association Relationship adalah yang memodelkan koneksi antar obyek dari
kelas yang berbeda.
Gambar 2.6 Association Relationship
17
Interaksi antara actor dan use case dalam use case model biasanya digunakan
association relationship yaitu :
• <<extend>>
Hubungan extend antar use case berarti bahwa suatu use case merupakan
tambahan kegunaan dari use case yang lain jika kondisi atau syarat tertentu
dipenuhi. Jika prosedur dari use case merupakan alternatif untuk
menjelaskan use case lain. Use case akan dikerjakan apabila salah satu
syarat terpenuhi. Hubungan generalisasi antar use case menunjukkan bahwa
use case yang satu merupakan spesialisai dari yang lain.
Gambar 2.7 Notasi Extend
• <<include>>
Hubungan include menggambarkan suatu use case seluruhnya meliputi
kegunaan dari use case lainnya. Sebuah use case dapat menginclude
fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara
umum diasumsikan bahwa use case yang di-include dieksekusi secara
normal.
Sebuah use case dapat di include oleh lebih dari use case lain, sehingga
duplikasi fungsional dapat dihindari.
Gambar 2.8 Notasi Include
18
Download