azariansyah.files.wordpress.com€¦ · web viewbab ii. landasan teori. 2.1 streaming radio di...
TRANSCRIPT
BAB II
LANDASAN TEORI
2.1 Streaming Radio di Indonesia
Streaming radio adalah sebuah aplikasi yang dirancang untuk
mendengarkan radio dari perangkat portabel seperti ponsel dan laptop atau
perangkat keras seperti komputer yang membutuhkan koneksi internet untuk
menyiarkan dan mendengarkan radionya. Awal pencetus radio streaming yang
pada saat itu dinamakan internet talk radio oleh Carl Malamud yang diluncurkan
pada tahun 1993. Seminar ini hanya membicarakan masalah konsep. Pada tahun
1994, internet Service multitasking memulai RTFM, dimana berperan sebagai
stasiun berita internet. Berbeda dengan radio konvensional yang menggunakan
antena sebagai pemancar. Radio streaming menggunakan Internet untuk
menyiarkan Radio, sehingga siaran yang dihasilkan bersifat global. Bisa dinikmati
di seluruh dunia tanpa menggunakan antena. Berawal dari tahun 1990 dimana
radio streaming menggunakan broadcast.com tetapi broadcast.com mengalami
kerugian sehingga menjual sahamnya kepada Yahoo dan sekarang di Indonesia
sudah banyak host server yang telah memberikan fasilitas radio streaming
berbayar. Radio streaming bahkan sudah dimanfaatkan oleh mahasiswa indonesia
yang sedang meneruskan study di luar negeri. Mereka membuat radio streaming
berbahasa indonesia sebagai wujud kerinduan mereka pada tanah air. Radio
tersebut dinamakan PPI (Persatuan Pelajar Indonesia). Tidak hanya di Belanda
tetapi di seluruh dunia sehingga dapat mempererat rasa nasionalisme mereka
walaupun mereka tidak tinggal di Indonesia dan membuat mereka tidak
melupakan tanah air Indonesia. Banyak radio lokal yang membuat siaran melalui
streaming dari berbagai macam segmen, dengan adanya beragam segmen ini
memudahkan masyarakat untuk memilih siaran mana yang masyarakat suka.
Contoh radio swasta yang mempunyai streaming radio seperti radio Prambors.
Radio ini dibuat oleh sekelompok orang yang memiliki hobi yang sama. Di dalam
komunitas tersebut mereka membentuk sebuah radio, dan pendengar dapat
memilih siaran apa yang ingin di dengar sesuai dengan komunitasnya. Contoh 4
5
seperti RKTI (Radio Komunitas Twitter Indonesia), dimana terdapat berbagai
siaran yang disiarkan oleh komunitas twitter Indonesia. Seiring berkembangnya
Radio streaming ini dapat dijadikan lahan bisnis oleh masyarakat dan membangun
kreativitas masyarakat. Masyarakat harus menentukan jenis siaran apa yang harus
disiarkan begitu pula dengan konsep penyiaran dan pemilihan lagu yang akan di
siarkan pada Radio streaming ini.
2.2 Bahasa Pemrograman Java
Jika ingin bekerja pada beberapa bidang dalam rekayasa perangkat lunak,
maka akan dibutuhkan beberapa perangkat lunak untuk mengatasinya. Bagaimana
jika hanya memiliki satu perangkat lunak, tetapi dapat menangani beberapa
bidang atau program (Multi Purpose Programming) dan sesuai (portable) untuk
beberapa sistem operasi, maka jawaban satu-satunya dengan memakai dan
mempelajari Java. Bahasa Java memiliki edisi yang lengkap untuk semua
masalah, yaitu pemrograman database atau enterprise, pemrograman desktop atau
aplikasi dan pemrograman mobile.
2.2.1 Sejarah dan Perkembangan Java
Java adalah bahasa pemrograman Object-oriented yang dibuat dan
diperkenalkan pertama kali oleh sebuah tim Sun Microsystem yang dipimpin oleh
Patrick Naughton dan James Gosling pada tahun 1991 dengan code name Oak.
Pada tahun 1995 Sun mengubah nama Oak tersebut manjadi Java. Ide pertama
kali kenapa Java dibuat adalah karena adanya motivasi untuk membuat sebuah
bahasa pemrograman yang bersifat portable dan platform independent (tidak
tergantung pada mesin atau sistem operasi) yang dapat digunakan untuk membuat
peranti lunak yang dapat ditanamkan (embedded) pada berbagai macam peralatan
elektronik konsumer biasa, seperti microwave, remote control, ponsel, card
reader dan sebagainya. Seperti yang telah diketahui, peralatan elektronik
konsumer ini dapat menggunakan berbagai macam CPU (Central Processing
Unit) yang berbeda-beda yang digunakan sebagai controller. Ini mengakibatkan
pembuatan peranti lunak untuk setiap peralatan elektronik ini menjadi sulit dan
6
mahal. Karena alasan inilah maka muncul suatu ide yang kemudian mendasari dan
melahirkan apa yang sekarang dikenal sebagai Java.
Hingga saat ini bahasa pemrograman Java terus mengalami peningkatan.
Pada awalnya diproduksi Java 1, yaitu biasa disebut dengan JDK (Java
Development Kit). Pada perkembangan selanjutnya Sun Microsystem
memperkenalkan Java versi 1.2 atau yang lebih dikenal dengan Java 2 yang terdiri
dari JDK dan JRE (Java Runtime Environtment).
Java berdiri di atas sebuah mesin interpreter yang diberi nama Java
Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam
dokumen .class dari suatu program sebagai representasi langsung program yang
berisi bahasa mesin. Oleh karena itu bahasa Java disebut sebagai bahasa
pemrograman yang portable karena dapat dijalankan pada berbagai sistem
operasi, asalkan pada sistem operasi tersebut terdapat JVM.
Platform Java terdiri dari kumpulan library, JVM, kelas-kelas loader yang
dipaket dalam sebuah lingkungan rutin Java dan sebuah compiler, debugger dan
tools lain yang dipaket dalam Java Development Kit (JDK). Java 2 adalah
generasi yang sekarang sedang berkembang dari platform Java. Agar sebuah
program Java dapat dijalankan, maka dokumen dengan ekstensi .java harus
dikompilasi menjadi dokumen bytecode. Untuk menjalankan bytecode tersebut
dibutuhkan JRE (Java Runtime Environment) yang memungkinkan pengguna
untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode
baru lagi.
Saat ini distribusi Java dan class pendukungnya dibagi dalam tiga bagian
yang masing-masing memiliki konsentrasi tersendiri, yaitu :
1. Java 2 Enterprise Edition (J2EE), untuk menjalankan dan
mengembangkan beberapa aplikasi Java pada lingkungan enterprise.
2. Java 2 Standard Edition (J2SE), untuk menjalankan dan
mengembangkan beberapa aplikasi Java pada lingkungan desktop.
7
3. Java 2 Micro Edition (J2ME), untuk menjalankan dan
mengembangkan beberapa aplikasi Java pada beberapa perangkat
seperti ponsel, PDA (Personal Digital Assistant) dan Pocket PC.
2.2.2 Kelebihan, Karakteristik dan Kekurangan Java
Sintaks bahasa yang digunakan dalam Java merupakan pengembangan dari
bahasa C/C++. Hal ini dilakukan karena bahasa C/C++ merupakan bahasa
pemrograman yang telah dikenal oleh banyak pemrogram sehingga mempelajari
Java seharusnya bukan merupakan sesuatu yang sulit. Selain itu, bahasa C/C++
juga telah dikenal sebagai bahasa yang handal, bahkan dapat dikatakan era
pemrograman modern dimulai oleh bahasa C yang kemudian diteruskan oleh C++
dengan paradigma pemrograman berorientasi objeknya yang terkenal. Segala
kelebihan bahasa C/C++ inilah yang dikembangkan lebih lanjut di dalam bahasa
Java.
Berikut ini adalah beberapa kelebihan dari bahasa Java dibandingkan
dengan bahasa pemrograman lainnya:
1. Bersifat portable dan platform independent. Program Java yang ditulis
akan dapat dieksekusi di platform manapun tanpa memerlukan kompilasi
ulang (portable) asalkan Java Virtual Machine untuk platform tersebut
tersedia.
2. Memiliki garbage collection yang dapat mendealokasi memori secara
otomatis. Tidak perlu secara eksplisit membebaskan suatu lokasi memori
yang dipakai karena ini akan dilakukan secara otomatis oleh Java.
3. Menghilangkan pewarisan berganda yang terdapat pada C++.
Walaupun kelihatannya lebih sebagai suatu kekurangan, namun banyak
para ahli yang mengakui bahasa konsep pewarisan berganda lebih banyak
mengakibatkan kerugian daripada keuntungan. Java telah didesain
sedemikian rupa sehingga teknik ini tidak akan diperlukan dalam
pembuatan program apapun.
4. Mengurangi pointer aritmatik. Pengaksesan lokasi memori secara
langsung dengan menggunakan pointer memungkinkan program untuk
8
melakukan suatu tindakan yang tidak seharusnya atau tidak boleh
dilakukan, untuk mengurangi dan menghilangkan kemungkinan kesalahan
seperti ini, penggunaan pointer pada Java telah dibatasi dengan
menggunakan reference.
5. Mengurangi kerancuan antara pemberian nilai pada conditional
statement. Contohnya, pada penggunaan tanda ’=’ dengan ‘==’ pada
kondisi If.
Selain itu para perancang Java sendiri telah merangkum beberapa
karakteristik dari bahasa Java yang telah dikembangkan, dimana karakteristik
inilah yang membuat Java menjadi seperti apa yang dikenal sekarang ini sehingga
dapat dikatakan sebagai ciri khas dari Java itu sendiri :
1. Berorientasi objek, Java telah menerapkan konsep pemrograman
berorientasi objek yang modern dalam implementasinya. Artinya semua
aspek yang terdapat di Java adalah objek. Java merupakan salah satu
bahasa pemrograman berbasis objek secara murni. Semua tipe data
diturunkan dari kelas dasar yang disebut objek. Hal ini sangat
memudahkan pemrogram untuk merancang, membuat, mengembangkan
dan mengalokasi kesalahan sebuah program dengan basis Java secara
cepat, tepat, mudah dan terorganisir.
2. Robust, Java mendorong pemrograman yang bebas dari kesalahan dengan
bersifat strongly typed dan memiliki run-time checking.
3. Portable, program Java dapat dieksekusi di platform manapun selama
tersedia JVM untuk platform tersebut.
4. Multithreading, Java mendukung penggunaan multithreading yang telah
terintegrasi secara langsung dalam bahasa Java. Multithreading adalah
kemampuan suatu program komputer untuk mengerjakan beberapa proses
dalam suatu waktu.
5. Dinamis, program Java dapat melakukan suatu tindakan yang ditentukan
pada saat eksekusi program dan bukan pada saat kompilasi.
9
6. Sederhana, Java menggunakan bahasa yang sederhana dan mudah
dipelajari.
7. Terdistribusi, Java dirancang untuk berjalan pada lingkungan yang
terdistribusi seperti halnya internet.
8. Aman, aplikasi yang dibuat dengan bahasa Java dapat dipastikan
keamanannya terutama untuk aplikasi internet.
9. Netral secara arsitektur, Java tidak terikat pada suatu mesin atau sistem
operasi tertentu.
10. Interpreted, aplikasi Java dapat dieksekusi pada platform yang berbeda-
beda dengan melakukan interpretasi pada bytecode.
11. Berkinerja tinggi, bytecode Java telah sangat teroptimasi sehingga
eksekusi program dapat dilakukan secara cepat sekalipun dilakukan
dengan cara interpretasi terhadap bytecode.
Berikut ini beberapa kekurangan yang terdapat pada bahasa Java,
diantaranya adalah :
1. Tulis sekali, perbaiki di mana saja. Masih ada beberapa hal yang tidak
kompatibel antara platform satu dengan platform lainnya. Untuk J2SE,
misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada
Mac OS X.
2. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari
kode jadi menjadi kode sumber. Hal ini dimungkinkan karena kode jadi
Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat
tinggi, seperti beberapa nama kelas, metode dan tipe data. Dengan
demikian, algoritma yang digunakan program akan lebih sulit
disembunyikan dan mudah dibajak.
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 (lebih spesifik lagi, yaitu Delphi
dan Object Pascal). Biasanya hal ini bukan merupakan masalah bagi pihak
yang menggunakan teknologi terbaru (karena trend memori terpasang
10
makin murah), tetapi menjadi masalah bagi mereka yang masih harus
berkutat dengan mesin komputer berumur lebih dari 4 tahun.
2.3 Android
Android adalah sebuah sistem operasi untuk ponsel yang berbasis Linux.
Android SDK (Software Development Kit) menyediakan tools dan API
(Application Programming Interface) yang diperlukan bagi para pengembang
untuk membuat dan mengembangkan aplikasi yang digunakan pada ponsel
bersistem operasi Android dengan menggunakan bahasa pemrograman Java.
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 (High Tech Computer),
Intel, Motorola, Qualcomm, T-Mobile dan Nvidia.
Sistem operasi Android memilki dua versi, yaitu Android dengan GMS
(Google Mobile Services) dan Android OHD (Open Handset Distribution).
Android dengan Google Mobile Services (GMS) dilengkapi dengan tempat
dimana pengguna dapat meng-upload atau bahkan membeli beberapa aplikasi
untuk ponselnya di Android Market dan didukung sepenuhnya oleh Google, yang
artinya dalam ponsel tersebut dilengkapi dengan beberapa fasilitas yang
tersinkronisasi langsung dengan Google account. Beberapa contoh aplikasi
tersebut diantaranya Gmail, Google Contact, Google Calendar dan Youtube.
Sedangkan Android dengan Open Handset Distribution (OHD) merupakan sistem
operasi Android yang sangat dasar, tanpa ada dukungan dari Google sama sekali
dan tidak memiliki Android Market.
Sistem operasi Android akan menjadi pilihan yang baik bagi para vendor
smartphone karena memiliki biaya lisensi lebih murah dan bersifat open source
(terbuka). Sifat open source tersebut membuka peluang besar untuk komunitas
ataupun non komunitas TI (Teknologi Informasi) untuk dapat mengembangkan
atau membuat aplikasi Android sendiri.
11
Sistem operasi Android sendiri mulai diperkenalkan pada bulan November
2008 secara global. Namun Android masih terbilang asing, hal ini dikarenakan
ponsel Android belum banyak terdapat di pasaran, apalagi ponsel dengan sistem
operasi tersebut dibandrol dengan harga yang lumayan mahal sehingga tidak
mudah dijangkau oleh kalangan menengah ke bawah.
HTC Magic adalah ponsel pertama di dunia yang menggunakan sistem
operasi Android. Di tengah maraknya Blackberry di Indonesia saat ini, tantangan
HTC Magic memang sangat berat, tidak mudah untuk merebut pasar Blackberry
ditambah lagi dengan model Blackberry yang Qwerty keyboard berhasil memikat
hati para konsumennya. Sebagai langkah awal, HTC harus bisa menunjukkan
keunggulan sistem operasi Android dibandingkan dengan sistem operasi ponsel
lainnya. Dan jika pada akhirnya para konsumen melihat kelebihan Android, HTC
harus siap bersaing dengan ponsel berbasis Android dari pabrikan lainnya, seperti
Nexus One dan Samsung yang telah menghadirkan ponsel Android.
Sampai saat ini sudah cukup banyak ponsel yang menggunakan Android
sebagai sistem operasi seperti Nexus One, Samsung Galaxy Lite, HTC Dream,
Motorola Droid, LG Eve, Sony Ericsson Xperia X10, dan T-Mobile G1.
2.3.1 Sejarah Android
Pada bulan Juli 2005, Google telah mengakuisisi Android, Inc., sebuah
perusahaan baru yang berbasis di Palo Alto, California, Amerika Serikat. Para
pendiri Android yang bekerja di Google, yaitu Andy Rubin (pendiri perusahaan
Danger), Rich Miner (pendiri perusahaan Wildfire Communications, Inc.), Nick
Sears (wakil presiden di perusahaan T-Mobile) dan Chris White (ketua desain dan
pengembangan interface di WebTV).
Tim yang dipimpin oleh Rubin di Google untuk mengembangkan platform
mobile yang didukung oleh kernel Linux dipasarkan kepada para produsen
handset dan penyelenggara telekomunikasi dengan memberikan suatu fleksibilitas
dan sistem yang bisa di-upgrade. Dengan ini memberitahukan bahwa Google
sudah siap menjalin kerja sama dengan perusahaan software dan hardware serta
12
para penyelenggara telekomunikasi. Pada bulan Desember 2006 Google akan
mulai memasuki pasar telepon seluler.
Pada bulan Desember 2007, majalah InformationWeek beserta hasil riset
dari Evalueserve melaporkan bahwa Google telah mengajukan beberapa aplikasi
paten di bidang ponsel. Akhirnya, Google meluncurkan ponsel miliknya, yaitu
Nexus One yang menggunakan Android sebagai sistem operasi.
2.3.2 Perkembangan Versi Android
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.
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.
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.
13
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.
Android versi 2.2 (Froyo: Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-
perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan
Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat,
intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat
kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card,
kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi
Android Market.
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
14
boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan
jumlah kamera yang lebih dari satu.
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.
Android versi 4.0 (ICS :Ice Cream Sandwich)
Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb
untuk ponsel 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.
2.3.3 Fitur Android
Berikut ini berbagai fitur dari sistem operasi Android :
1. Rancangan handset. Platform disesuaikan dengan kebutuhan VGA
(Video Graphics Adapter) yang lebih besar, library grafis 2D dan 3D yang
berdasarkan pada spesifikasi OpenGL ES 1.0 serta layout smartphone
yang tradisional.
2. Penyimpanan. Android menggunakan software database SQLite sebagai
penyimpanan data.
3. Konektivitas. Android mendukung berbagai teknologi konektivitas,
seperti GSM (Global System for Mobile Communications)/EDGE
(Enhanced Data rates for GSM Evolution), CDMA (Code Division
Multiple Access), EV-DO (Evolution-Data Optimized), UMTS (Universal
15
Mobile Telecommunications System), bluetooth dan Wi-Fi (Wireless
Fidelity).
4. Pesan. Android mendukung pengiriman pesan dalam bentuk SMS (Short
Message Service) dan MMS (Multimedia Messaging Service).
5. Web browser. Web browser yang tersedia di Android berdasarkan pada
framework aplikasi open source WebKit.
6. Dukungan Java. Software yang ditulis dalam bahasa Java dapat
dikompilasi dan dieksekusi pada mesin virtual Dalvik, yang merupakan
implementasi dari VM (Virtual Machine) yang dirancang khusus untuk
penggunaan perangkat bergerak.
7. Dukungan media. Android mendukung beberapa format audio/video
seperti: H.263, H.264 (dalam kontainer 3GP atau MP4), MPEG-4 SP,
AMR, AMR-WB (dalam kontainer 3GP), AAC, HE-AAC (dalam
kontainer MP4 atau 3GP), MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG,
GIF dan BMP.
8. Dukungan hardware lainnya. Android mendukung penggunaan kamera,
layar sentuh, GPS (Global Positioning System), accelerometers,
magnetometers, akselerasi 2D bit blits (dengan orientasi hardware,
scaling, konversi format piksel) dan akselerasi grafis 3D.
9. Lingkungan Development. Android menyediakan perangkat emulator,
debugger, memori dan profil kinerja yang tersedia pada plugin Eclipse
IDE (Integrated Development Environment).
10. Market. Mirip dengan App Store pada iPhone OS, Android Market adalah
sebuah katalog aplikasi yang dapat diunduh dan diinstal pada telepon
seluler secara online, tanpa menggunakan PC (Personal Computer).
Awalnya hanya aplikasi gratis saja yang didukung. Dan sejak tanggal 19
Februari 2009 aplikasi berbayar telah tersedia di Android Market untuk
Amerika Serikat.
11. Multi-touch. Android memiliki dukungan bawaan untuk multi-touch yang
tersedia pada handset terbaru, seperti HTC Hero. Pada awalnya fitur
tersebut dinonaktifkan pada level kernel (mungkin untuk menghindari
16
pelanggaran paten terhadap teknologi layar sentuh Apple). Sejak Google
merilis update untuk Nexus One dan juga berencana untuk merilis update
untuk Motorola Droid yang memungkinkan multi-touch.
Sistem operasi Android yang memiliki segudang fitur tersebut diyakini
akan siap bersaing melawan sistem operasi ponsel lainnya seperti Blackberry,
Symbian, Windows Mobile dan IPhone. Selain mempunyai kelebihan Android
juga masih mempunyai kekurangan atau bisa dikatakan sebagai kritik, yaitu
Android tidak memakai standar Java yang sudah berkembang, seperti Java SE dan
ME, hal ini membuat kompatibilitas antara aplikasi yang ditulis menggunakan
Java dengan aplikasi platform Android menjadi tidak kompatibel, Android juga
merupakan ancaman bagi beberapa perusahaan karena memberikan konsumen
kebebasan untuk mengunduh aplikasi yang diinginkan ke ponsel.
2.3.4 Bagan Arsitektur Android
Bagan arsitektur android menunjukan struktur android dari lapisan paling
bawah hingga lapisan teratas. Setiap lapisan dari tumpukan ini menghimpun
beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi.
Berikut adalah bagan Asitektur Android :
17
Gambar 2.1 Bagan Arsitektur Android
Berikut ini susunan dari lapisan – lapisan tersebut jika dilihat dari lapisan dasar
hingga lapisan teratas:
1. Linux Kernel. Tumpukan paling bawah pada arsitektur Android ini adalah
kernel. Kernel berperan sebaagai abstraction layer antara hardware dan
keseluruhan software. Kernel Android terdapat driver keypad, WiFi,
kamera, dan driver Kernel Linux yang mendukung semua struktur internal
Android dalam satu paket.
2. Android Runtime. Lapisan setelah Kernel Linux adalah Android Runtime.
Android Runtime ini berisi Core Libraries dan Dalvik Virtual Machine.
Core Libraries mencakup serangkaian inti library Java, artinya Android
menyertakan satu set library-library dasar yang menyediakan sebagian
besar fungsi-fungsi yang ada pada library-library dasar bahasa
pemrograman Java. Dalvik adalah Java Virtual Machine yang memberi
kekuatan pada sistem Android. Dalvik VM ini di optimalkan untuk telepon
seluler. Setiap aplikasi yang berjalan pada Android berjalan pada
18
processnya sendiri, dengan instance dari Dalvik Virtual Machine. Dalvik
telah dibuat sehingga sebuah piranti yang memakainya dapat menjalankan
multi Virtual Machine dengan efisien. Dalvik VM dapat mengeksekusi file
dengan format Dalvik Executable (.dex) yang telah dioptimasi untuk
menggunakan minimal memory footprint. Virtual Machine ini register-
based, dan menjalankan class-class yang dicompile menggunakan
compiler Java yang kemudian ditransformasi menjadi format .dex
menggunakan "dx" tool yang telah disertakan.
Dalvik Virtual Machine (VM) menggunakan kernel Linux untuk
menjalankan fungsi-fungsi seperti threading dan low-level memory
management.
3. Libraries. Bertempat di level yang sama dengan Android Runtime adalah
Libraries. Android menyertakan satu set library-library dalam bahasa
C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem
Android. Kemampuan ini dapat diakses oleh programmer melewati
Android application framework. Sebagai contoh Android mendukung
pemutaran format audio, video, dan gambar.
Berikut ini beberapa core library tersebut :
System C library. diturunkan dari implementasi standard C system
library (libc) milik BSD, dioptimasi untuk piranti embedded
berbasis Linux.
Media Libraries. berdasarkan PacketVideo's OpenCORE; library-
library ini mendukun playback dan recording dari berbadai format
audio and video populer, meliputi MPEG4, H.264, MP3, AAC,
AMR, JPG, and PNG.
Surface Manager. mengatur akses pada display dan lapisan
composites 2D and 3D graphic dari berbagai aplikasi.
LibWebCore. web browser engine modern yang mensupport
Android browser maupun embeddable web view.
SGL. the underlying 2D graphics engine.
19
3D libraries. implementasi berdasarkan OpenGL ES 1.0 APIs;
library ini menggunakan hardware 3D acceleration dan highly
optimized 3D software rasterizer.
FreeType. bitmap dan vector font rendering.
SQLite. relational database engine yang powerful dan ringan
tersedia untuk semua aplikasi.
4. Application Framework. Lapisan selanjutnya adalah application
framework, yang mencakup program untuk mengatur fungsi-fungsi dasar
ponsel. Application Framework merupakan serangkaian tool dasar seperti
alokasi resource ponsel, aplikasi telepon, pergantian antar - proses atau
program, dan pelacakan lokasi fisik telepon. Para pengembang aplikasi
memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan
memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.
Programmer mendapatkan akses penuh untuk memanfaatkan API-API
(Android Protocol Interface) yang juga digunakan core applications.
Arsitektur aplikasi didesain untuk menyederhanakan pemakaian kembali
komponen-komponen, setiap aplikasi dapat menunjukkan kemampuannya
dan aplikasi lain dapat memakai kemampuan tersebut. Mekanisme yang
sama memungkinkan pengguna mengganti komponen-komponen yang
dikehendaki.
Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :
Satu set Views yang dapat digunakan untuk membangun aplikasi
meliputi lists, grids, text boxes, buttons, dan embeddable web
browser
Content Providers yang memungkinkan aplikasi untuk mengakses
data dari aplikasi lain (misalnya Contacts), atau untuk membagi
data yang dimilikinya.
Resource Manager , menyediakan akses ke non-code resources
misalnya localized strings, graphics, dan layout files.
Notification Manager yang memungkinkan semua aplikasi untuk
menampilkan custom alerts pada the status bar.
20
Activity Manager yang memanage life cycle of dari aplikasi dan
menyediakan common navigation backstack.
5. Application. Di lapisan teratas bercokol aplikasi itu sendiri. Di lapisan
inilah anda menemukan fungsi-fungsi dasar ponsel seperti menelepon dan
mengirim pesan singkat, menjalankan web browser, mengakses daftar
kontak, dan lain-lain. Bagi rata-rata pengguna, lapisan inilah yang paling
sering mereka akses. Mereka mengakses fungsi-fungsi dasar tersebut
melalui user interface.
2.3.5 Pengembangan Aplikasi Android
Ada 4 hal mendasar yang harus kita pahami dalam membangun aplikasi
berbasis Android, yaitu :
Activity adalah tampilan grafis yang kita lihat ketika menjalankan sebuah
aplikasi. Aplikasi dapat memiliki lebih dari satu Activity.
Intent adalah serangkaian nilai yang menunjukan apa yang harus
dilakukan ketika terjadi perpindahan layar.
Service adalah layanan yang bekerja di belakang layar (background).
Content provider memungkinkan sebuah aplikasi untuk dapat menyimpan
dan menerima data dari database.
2.3.6 Android SDK (Software Development Kit)
Android SDK mencakup perangkat tools pengembangan yang
komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator,
dokumentasi, contoh kode program dan tutorial. Saat ini Android sudah
mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktop
modern), Mac OS X 10.4.8 atau lebih, Windows XP atau Vista. Persyaratan
mencakup JDK, Apache Ant dan Python 2.2 atau lebih. IDE yang didukung
secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plugin Android
Development Tools (ADT), dengan ini pengembang dapat menggunakan IDE
untuk mengedit dokumen Java dan XML (Extensible Markup Language) serta
menggunakan peralatan command line untuk menciptakan, membangun,
21
melakukan debug aplikasi Android dan pengendalian perangkat Android
(misalnya reboot, menginstal paket perangkat lunak).
Android SDK telah dirilis pada tanggal 12 November 2007. Dan pada
tanggal 15 Juli 2008 tim Android Developer Challenge dengan sengaja
mengirimkan e-mail ke semua pendatang baru di Android Developer Challenge
untuk mengumumkan bahwa rilis SDK terbaru telah tersedia pada halaman
download. E-mail tersebut juga ditujukan kepada pemenang Android Developer
Challenge putaran pertama. Sebuah penyataan bahwa Google telah menyediakan
rilis SDK terbaru untuk beberapa pengembang.
Pada tanggal 18 Agustus 2008, Android SDK 0.9 beta dirilis. Rilis ini
menyediakan API yang telah diperbarui dan diperluas, perbaikan pada tools
pengembangan dan disain terbaru untuk tampilan home. Petunjuk untuk meng-
upgrade SDK sudah tersedia pada rilis sebelumnya. Pada tanggal 23 September
2008, Android 1.0 SDK telah dirilis. Pada tanggal 9 Maret 2009, Google merilis
versi 1.1 untuk ponsel Android. Rilis terbaru tersebut termasuk dukungan untuk
pencarian dengan suara, harga aplikasi, perbaikan jam alarm, perbaikan
pengiriman e-mail pada gmail, perbaikan notification dan peta.
Pada pertengahan Mei 2009, Google merilis versi 1.5 (Cupcake) pada
sistem operasi Android dan SDK. Pembaruan ini termasuk pada dukungan
beberapa fitur baru seperti perekaman video, bluetooth, sistem keyboard pada
layar dan pengenalan suara. Rilis ini juga membuka AppWidget framework
kepada para pengembang yang memungkinkan untuk membuat widget sendiri
pada tampilan home. Pada September 2009 versi 1.6 (Donut) dirilis yang dapat
menampilkan hasil pencarian yang lebih baik dan penggunaan indikator baterai.
Aplikasi Android dipaketkan ke dalam format .apk dan disimpan pada
folder /data/app. Pengguna dapat menjalankan perintah adb root untuk
mengakses folder tersebut karena root memiliki izin untuk mengakses folder
tersebut.
22
2.3.7 Antarmuka Pengguna Android
Antarmuka Android dapat dibangun melalui dua cara, yaitu dengan
menulis kode XML atau dengan menulis kode Java. Penggambaran struktur
antarmuka dengan menggunakan kode XML sangat dianjurkan dan lebih baik
tentunya. Karena menurut prinsip Model Viewer Control (MVC) bahwa
antarmuka pengguna sebaiknya selalu dipisahkan dari logika program. Selain itu,
adaptasi sebuah program dari suatu resolusi layar ke resolusi layar lainnya
menjadi lebih mudah.
Persamaan Antarmuka Android Menggunakan XML dengan Java Swing dan
beberapa persamaan antara struktur layout menggunakan XML untuk antarmuka
Android dengan antarmuka Java menggunakan Java Swing, diantaranya :
Pada Android XML-Layout dikenal Activity, pada Java Swing dikenal
(J)Frame
Pada Android XML-Layout dikenal View, pada Java Swing dikenal
(J)Component
Pada Android XML-Layout dikenal TextView, pada Java Swing dikenal
(J)Label, pada Android XML-Layout dikenal EditText, pada Java Swing
dikenal (J)TextField Pada Android XML-Layout dikenal Button, pada
Java Swing dikenal (J)Button.
2.3.8 Pemrograman Android
a. Deklarasi AndroidManifest.xml
Sebelum Android dapat menjalankan sebuah komponen aplikasi, ia harus
mengetahui bahwa komponen tersebut ada. Oleh karena itu, aplikasi harus
mendeklarasikan komponennya dalam file manifest. File manifest merupakan
struktur file XML dan selalu bernama AndroidManifest.xml untuk semua aplikasi.
Berikut ini bentuk umum dari AndroidManifest.xml :
<?xml version="1.0" encoding="utf-8"?>
<manifest . . .>
23
<application . . .>
<activity . . .></activity>
<service . . .></service>
</application>
</manifest>
b. Deklarasi Package
Deklarasi package digunakan untuk mengelompokkan beberapa class.
Sebuah package dapat mempunyai satu atau lebih sub package ini sehingga dapat
menyusun sebuah hirarki.
Bentuk umum : package
<namapackage>.<namasubpackage>.<namasubsubpackage>;
c. Deklarasi import
Deklarasi import digunakan untuk menunjukkan package atau class yang
digunakan dalam sebuah program Java.
Untuk Java, bentuk umumnya : import java.<package>.<subpackage>
Untuk Java Android, bentuk umumnya : import android.<package>.<subpackage>
d. Deklarasi Variable
1. Type Data
- Primitive: menyimpan data di memori tempat mereka berada.
Contoh: byte, int, short, long, float
- Reference: menyimpan alamat memori dimana data tersimpan di memori tempat
mereka berada.
Contoh: string, integer
2. Access Modifier
- Default (no modifier): hanya bisa diakses oleh class-nya dan class dalam satu
package
24
- Public : bisa diakses siapa saja
- Private : hanya bisa diakses oleh class-nya
e. Operator
1. Operator Aritmatika
+ penambahan
- pengurangan
2. Operator Increment dan Decrement
Dari sisi operator dasar aritmatika, Java Android juga terdiri atas operator
unary increment (++) dan operator unary decrement (--). Operator increment dan
decrement digunakan untuk menambah dan mengurangi nilai yang tersimpan
dalam bentuk variabel angka terhadap nilai 1. Sebagai contoh, pernyataan :
count = count + 1; //increment nilai count dengan nilai 1
Pernyataan tersebut ekuivalen dengan : count++;
3. Operator Relasi
== sama dengan
!= tidak sama dengan
f. Struktur Perulangan dan Percabangan
1. Perulangan
- For
Bentuk umum : for(<inisialisasi>, <>, <iterasi>){
//perintah yang diulang
}
2. Percabangan
- If
Bentuk umum : if(<ekspresi>){
//perintah yang dijalankan jika benar
}
25
else{
//perintah yang dijalankan jika salah
}
- Switch
Bentuk umum : switch(variable){
case <kondisi 1> : //program yang dijalankan
break;
case <kondisi 2> : //program yang dijalankan
break;
}
g. Inisialisasi Layout dan Widget XML
Inisialisasi ini digunakan pada saat mendeklarasikan widget atau layout
yang dipakai. Secara umum, bentuk pendeklarasian layout XML yang
diimplementasikan pada suatu class menggunakan method setContentView()
seperti di bawah ini : setContentView(<layout file>);
Sedangkan untuk mendeklarasikan sebuah widget yang akan digunakan untuk
keperluan program secara umum seperti di bawah ini : <Object> <name> = (<Object>) this.findViewById(<id
object in xml file>);
h. Deklarasi Intent
Intent adalah serangkaian nilai yang menunjukan apa yang harus
dilakukan ketika terjadi perpindahan layar. Intent dapat membawa nilai dimana
nilai tersebut akan digunakan pada activity yang terbuka selanjutnya. Secara
umum deklarasi intent seperti dibawah ini : intent <intent_name> = new Intent(context, <activity
for result>);
startActivity(<intent_name>);
26
Berikut ini beberapa method yang digunakan:
Tabel 2.1 Daftar Method Aplikasi Streaaming Radio
Method DeskripsionCreate() Pertama kali dipanggil jika suatu activity telah
dibuat. Biasanya digunakan untuk membuat view, bind data to lists dan lain-lain.
setContentView(int layoutResID)
Mengeset konten activity dari sumber layout.
findViewById(int id) Mencari view yang diidentifikasikan oleh atribut id dari file XML yang diproses dengan OnCreate(Bundle).
setText(CharSequence text)
Mengeset nilai string dari TextView.
valueOf(int i) Mengembalikan instansi integer untuk nilai integer yang telah ditentukan.
toString() Mengembalikan string, deskripsi yang dapat dibaca oleh objek ini.
getClassName() Mengembalikan nama kelas dari komponen ini.getId() Mengembalikan identifier-nya view.
startActivity(Intent intent) Memulai activity baru.finish() Akan dipanggil ketika activity sudah selesai dan
akan ditutup.
Sebuah activity akan terus berinteraksi dengan pengguna dan tetap aktif
meskipun ketika dalam kondisi idle, demikian pula service dapat tetap berjalan
dalam waktu yang lama. Maka Android memiliki method untuk menutup activity
dan service dengan memanggil method finish(). Sedangkan service dapat
dihentikan dengan memanggil method stopSelf() atau
Context.stopService().
2.4 Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) yang
digunakan untuk mengembangkan perangkat lunak dan dapat dijalankan di semua
platform (platform-independent). Berikut ini adalah beberapa sifat dari Eclipse :
Multi-platform: Sistem operasi yang dapat menggunakan Eclipse adalah
Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
27
Multi-language: Eclipse dikembangkan dengan bahasa pemrograman
Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis
bahasa pemrograman lainnya seperti C/C++, Cobol, Python, Perl dan PHP.
Multi-role: Selain digunakan sebagai IDE untuk pengembangan aplikasi,
Eclipse dapat digunakan untuk aktivitas dalam siklus pengembangan
perangkat lunak, seperti dokumentasi, uji perangkat lunak, pengembangan
web dan sebagainya.
Eclipse pada saat ini merupakan salah satu IDE populer 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 plugin. Eclipse awalnya dikembangkan oleh
perusahaan IBM (International Business Machines) untuk menggantikan
perangkat lunak IBM Visual Age for Java 4.0. Produk ini diluncurkan oleh IBM
pada tanggal 5 November 2001, yang menginvestasikan uang sebanyak US$ 40
juta untuk pengembangannya. Semenjak itu konsorsium Eclipse Foundation
mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan
organisasi.
Sejak tahun 2006 Eclipse Foundation secara rutin merilis versi-versi
Eclipse setiap tahun. Setiap rilis kemudian diberi kode sesuai dengan nama-nama
bulan dari planet Jupiter. Diantaranya adalah sebagai berikut :
Tabel 2.2 Versi Eclipse
Release Date Platform
version
Projects
Indigo June 2011 3.7 http://wiki.eclipse.org/IndigoHelios 23 June 2010 3.6 http://wiki.eclipse.org/index.php/
HeliosGalileo 24 June 2009 3.5 http://wiki.eclipse.org/GalileoGanymede 25 June 2008 3.4 http://wiki.eclipse.org/index.php/
Ganymede_Simultaneous_ReleaseEuropa 29 June 2007 3.3 http://wiki.eclipse.org/index.php/
Europa_Simultaneous_Release
28
Callisto 30 June 2006 3.2 http://www.eclipse.org/callisto/callistoprojects.php
Eclipse 3.1 28 June 2005 3.1Eclipse 3.0 28 June 2004 3.0
Di samping itu Eclipse juga didistribusikan dalam beberapa proyek sesuai
kebutuhan spesifik :
Sebagai Java IDE (fungsi utama)
C++ IDE
Java mobile/embedded device IDE
Web development, dan sebagainya
2.4.1 Konfigurasi Eclipse Galileo, Android SDK dan ADT
Sebelum memulai pemrograman Android diperlukan program untuk
mendukung pembuatan program Android, yaitu Eclipse Galileo, Android SDK
dan ADT. Unduh terlebih dahulu ketiga file program tersebut pada alamat berikut
ini :
Eclipse Galileo : http://www.eclipse.org/downloads
Android SDK : http://developer.android.com/sdk/index.html
ADT : http://developer.android.com/sdk/eclipse-adt.html
Simpan file Eclipse dan Android SDK misal di drive c: lalu ekstrak. Dan
simpan file ADT misal di drive c: dan tidak perlu diekstrak. Buka eclipse.exe
lalu pilih menu Help > Install New Software… > Add > Ketikkan name misalnya
Android Plugin dan klik tombol “Archive…”. Cari file ADT yang disimpan lalu
“Open” dan klik OK. Beri tanda centang pada “Developers Tools” lalu “Next” dan
“Finish”. Eclipse akan meminta untuk di-restart, klik OK untuk me-restart
Eclipse. Sampai di sini ADT sudah dipasang ke dalam program Eclipse.
Selanjutnya yang akan dilakukan adalah mengintegrasikan Android SDK
ke dalam Eclipse. Untuk melakukannya, pilih menu Windows > Preferences >
Android. Lalu pada “SDK Location” cari direktori di mana folder Android SDK
berada, umumnya folder bernama android-sdk-windows setelah file Android SDK
29
diekstrak, misalnya c:\android-sdk-windows. Jika sudah, klik “Apply” maka pada
kolom Target Name akan berisi Android 1.1 dan seterusnya.
Selanjutnya untuk membuat projek baru Android, pilih menu File > New >
Project… > Android > Android Project dan klik Next. Pada Project name isikan
nama projek misalnya musicplayer, pada Build Target pilih tipe versi emulator
Android yang ingin digunakan. Pada Application name isikan nama aplikasi
misalnya Music Player, pada Package name isikan nama paket misalnya
com.ilham.musicplayer, pada Create Activity isikan nama aktivitas misalnya
musicplayer dan pada Min SDK Version isikan nilai angka minimal versi API
emulator Android yang dapat digunakan untuk projek tersebut misalnya diisi
dengan angka 2. Setelah itu klik Finish dan sampai di sini projek pembuatan
program Android siap dimulai.
2.4.2 Pembuatan Android Virtual Device (AVD) pada Eclipse
Sebelum membuat projek baru Android alangkah lebih baiknya emulator
dibuat terlebih dahulu sehingga ketika akan men-debug dan menjalankan projek,
emulator akan langsung muncul untuk memasang projek program ke dalamnya
jika tidak ada pesan error. Untuk membuat emulator, pilih menu Windows >
Android SDK and AVD Manager, pada Virtual Devices klik tombol New… maka
akan muncul kotak dialog, pada Name isikan nama emulator, pada Target pilih
versi yang terbaru saja misalnya Android 2.2. Hal ini dimaksudkan karena
emulator terbaru memiliki API yang terbaru juga. Pada Size dapat diberikan
ukuran nilai memori eksternal misalnya 128 MiB. Pada Hardware jika ingin
memasukkan fasilitas seperti dukungan terhadap kamera maka dapat dilakukan di
sini, jika sudah klik Create AVD dan sekarang sudah ada 1 emulator yang siap
dipasang dengan projek program.
2.5 XML (Extensible Markup Language)
Extensible Markup Language (XML) adalah bahasa markup serba guna
yang direkomendasikan oleh W3C (World Wide Web Consortium) untuk
mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti
30
halnya HTML (Hypertext Markup Language), namun penggunaannya tidak
terbatas pada tampilan halaman situs saja.
XML dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari
W3C (World Wide Web Consortium) pada bulan Februari 1998. Teknologi yang
digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan teknologi
turunan dari SGML (Standard Generalized Markup Language) yang telah
dikembangkan pada awal tahun 80-an dan telah banyak digunakan pada
dokumentasi teknis beberapa proyek berskala besar. Ketika HTML dikembangkan
pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada
SGML dan dengan berpedoman pada pengembangan HTML sehingga
menghasilkan markup language yang tidak kalah hebatnya dengan SGML.
XML dirancang khusus untuk penyampaian informasi melalui World Wide
Web (WWW), sama seperti HTML yang telah menjadi bahasa standar untuk
membuat halaman web sejak awal kehadiran web. XML adalah salah satu
format/ekstensi dokumen yang berbasis teks, yang memiliki ekstensi berakhiran
.xml. Penggunaan XML untuk pemrograman web interaktif sangat cocok sekali,
selain mudah dimengerti struktur elemennya karena menggunakan tag sesuai
keinginan, begitu juga dengan script-nya (menggunakan JavaScript, JScript atau
VBScript).
XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing
dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk
menampilkan informasi dan berfokus pada bagaimana informasi itu terlihat, XML
mendeskripsikan susunan informasi dan berfokus pada informasi itu sendiri. XML
terutama dibutuhkan untuk menyusun dan menyajikan informasi dengan format
yang tidak mengandung format standard seperti heading, paragraph, table dan
sebagainya.
2.5.1 Keunggulan XML
Beberapa keunggulan yang didapat dari dokumen XML, diantaranya :
Ekstensibilitas, dapat ditukar atau digabung dengan dokumen XML lain.
31
Memungkinkan pemrograman yang lebih baik maka dibuat suatu software
pengolah XML.
Memisahkan data dan presentasi. Yang akan direpresentasikan dalam
XML dan XSLT (Extensible Stylesheet Language Transformations).
Pencarian data yang cepat karena XML merupakan data dalam format
yang terstruktur.
Plain text dan platform independent.
Untuk pertukaran data.
Dokumen XML dapat digunakan untuk berbagai macam tujuan, seperti :
Sebagai penyimpan data (database) yang mudah dibaca oleh pengguna
karena disimpan dalam bentuk teks.
Standar transfer data, dapat digunakan untuk pengiriman data transaksi
antar perusahaan atau mengirim data dari DBMS (Database Management
System) yang berbeda (misalnya dari Oracle ke SQL Server).
Sebagai acuan membuat bahasa baru, seperti WML (Wireless Markup
Language) yang digunakan pada ponsel dengan protokol WAP (Wireless
Application Protocol) atau VoiceXML yang digunakan sebagai bahasa
markup untuk pengenalan suara, dialog, aplikasi interaksi respon suara
maupun DTMF (Dual-Tone Multi-Frequency Signaling) seperti aplikasi
pengisian pulsa, call center dan sebagainya.
Sebagai dokumen konfigurasi, di Java beberapa dokumen XML yang
sering dijumpai seperti dokumen server.xml dan web.xml yang digunakan
oleh Tomcat atau perintah-perintah query yang disimpan dalam dokumen
XML yang dipakai pada framework iBatis atau Hibernate.
2.5.2 Perintah Dasar XML Android
XML Android pada dasarnya berbeda dengan XML secara umum. Pada
XML Android, beberapa nama tag telah didefinisikan oleh Android SDK, tidak
seperti XML pada umumnya yang dapat menuliskan beberapa nama tag sesuai
keinginan. Berikut beberapa tag XML Android yang sering digunakan.
32
Tabel 2.3 Tag XML Android
No. Perintah Fungsi
1. <AbsolutLayout> Digunakan jika ingin menggunakan sistem koordinat x dan y untuk tata letak widget (berdasarkan piksel)
2. <LinearLayout> Jika jenis ini yang digunakan, widget akan terurut secara vertikal berdasarkan urutan penulisan widget
3. <RelativeLayout> Tata letak widget relatif, bergantung widget lainnya
4. <Button> Membuat widget tombol 5. <ImageButton> Membuat widget tombol gambar 6. <EditText> Membuat widget kolom penulisan teks 7. <TextView> Membuat widget teks 8. <ImageView> Membuat widget untuk menampilkan gambar 9. <Spinner> Membuat widget spinner (combo box)
Selain beberapa nama tag, XML Android juga menyediakan perintah
untuk mengatur beberapa widget yang dituliskan di dalam beberapa tag. Beberapa
perintah yang sering digunakan adalah ada pada tabel 2.4.
Tabel 2.4 Perintah XML Untuk Mengatur Widget
No. Perintah Fungsi1. android:id memberikan nama identifier2. android:layout_height mengatur tinggi widget 3. android:layout_weight mengatur lebar widget 4. android:layout_x mengatur posisi widget terhadap sumbu x 5. android:layout_y mengatur posisi widget terhadap sumbu y 6. android:text memberikan teks 7. android:textSize mengatur ukuran teks 8. android:textStyle mengatur gaya teks 9. android:textColor mengatur warna teks 10. android:gravity mengatur posisi widget secara vertikal 11. android:layout_gravity mengatur posisi widget terhadap layar 12. android:layout_width mengatur lebar layar 13 android:layout_height mengatur tinggi layar 14. android:background memberi background pada layar
2.6 Struktur Navigasi
Struktur Navigasi adalah alur yang digunakan dalam aplikasi yang dibuat.
Sebelum menyusun aplikasi multimedia kedalam sebuah software, kita harus
33
menentukan terlebih dahulu alur apa yang akan digunakan dalam aplikasi yang
dibuat. Bentuk dasar dari struktur navigasi yang biasa digunakan dalam proses
pembuatan aplikasi multimedia ada empat macam, yaitu struktur navigasi linier,
hirarki, non linier dan campuran.
2.6.1 Struktur Navigasi Linier
Struktur Navigasi Linier merupakan struktur yang mempunyai satu langkaian cerita berurutan. Struktur ini menampilkan satu demi satu tampilan layer secara berurutan menurut aturannya.
Gambar 2.2 Contoh model Struktur Navigasi Linier
2.6.2 Struktur Navigasi Hirarki
Struktur Navigasi Hirarki sering disebut struktur navigasi bercabang, yaitu
merupakan suatu struktur yang mengandalkan percabangan untuk menampilkan
data atau gambar pada layer dengan kriteria tertentu. Tampilan pada menu utama
disebut master page (halaman utama satu), halaman tersebut mempunyai halaman
percabangan yang disebut slave page (halaman pendukung) dan jika dipilih akan
menjadi halaman kedua, begitu seterusnya.
Gambar 2.3 Contoh model Struktur Navigasi Hirarki
34
2.6.3 Struktur Navigasi Non Linier
Struktur navigasi non linier (tidak terurut) merupakan pengembangan dari struktur
navigasi linier, hanya saja pada struktur ini diperkenankan untuk membuat
percabangan. Percabangan pada struktur non linier berbeda dengan percabangan
pada struktur hirarki, pada struktur ini kedudukan semua page sama, sehingga
tidak dikenal adanya master atau slave page. Tampilan struktur navigasi non linier
dapat dilihat pada gambar dibawah ini:
Gambar 2.4 Contoh model Struktur Navigasi Non Linier
2.6.4 Struktur Navigasi Campuran
Struktur Navigasi Campuran (composite) merupakan gabungan dari
struktur sebelumnya dan disebut juga struktur navigasi bebas, maksudnya adalah
jika suatu tampilan membutuhkan percabangan maka dibuat percabangan.
Struktur ini paling banyak digunakan dalam pembuatan aplikasi multimedia
Gambar 2.5 Contoh model Struktur Navigasi Campuran
35
2.7 Aplikasi Olah Gambar Adobe Photoshop
Dalam proses pembuatan layout, di butuhkan gambar yang cocok agar
desain tampilan aplikasi dapat enak di lihat pengguna. Oleh karena itu di
butuhkan aplikasi olah gambar Adobe Photoshop. Adobe Photoshop adalah
program edting grafis yang di kembangkan dan di terbitkan oleh Adobe System.
Adobe Photoshop memiliki penciptaan gambar ekstra 3D, gerak editing grafis,
dan fitur gambar analisis lanjutan.
2.7.1 Sejarah Adobe Photoshop
Pada tahun 1987, Thomas Knoll , seorang mahasiswa PhD di University of
Michigan mulai menulis sebuah program pada nya Macintosh Plus untuk
menampilkan grayscale gambar pada layar monokrom. Program ini, disebut
Display, menarik perhatian saudaranya John Knoll , seorang Industrial Light &
Magic karyawan, yang disarankan bahwa Thomas mengubahnya menjadi program
image editing penuh. Thomas mengambil istirahat enam bulan dari studi pada
tahun 1988 untuk berkolaborasi dengan saudaranya pada program. Thomas
diganti program ImagePro, tapi nama itu sudah diambil. Kemudian pada tahun itu,
Thomas diganti program Photoshop dan bekerja di luar kesepakatan jangka
pendek dengan produsen scanner Barneyscan untuk mendistribusikan salinan dari
program dengan slide scanner , sebuah " total sekitar 200 salinan Photoshop yang
dikirimkan "cara ini.
Selama waktu ini, John bepergian ke Silicon Valley dan memberikan
demonstrasi program untuk insinyur di Apple dan Russell Brown , direktur seni
di Adobe. Kedua pertunjukan itu berhasil, dan Adobe memutuskan untuk membeli
lisensi untuk mendistribusikan pada bulan September 1988. Sementara John
bekerja pada plug-in di California, Thomas tetap di Ann Arbor menulis
kode. Photoshop 1.0 dirilis pada tahun 1990 khusus untuk Macintosh.
2.7.2 Kelebihan, Karakteristik dan Kekurangan Adobe Photoshop
File Photoshop memiliki ekstensi standar file sebagai PSD,. Yang
merupakan singkatan dari "Dokumen Photoshop." Sebuah file PSD menyimpan
36
gambar dengan dukungan untuk pilihan pencitraan yang paling tersedia di
Photoshop. Ini termasuk lapisan dengan masker , ruang warna , profil ICC ,
CMYK Mode (digunakan untuk percetakan komersial), transparansi, teks, saluran
alpha dan warna spot , jalur kliping , dan duotone pengaturan. Hal ini berbeda
dengan banyak format file lainnya (misalnya. JPG atau. GIF) yang membatasi
untuk menyediakan konten lancar, diprediksi fungsi. Sebuah file PSD memiliki
ketinggian maksimum dan lebar 30.000 piksel, dan batas panjang dari 2
Gigabytes.
File Photoshop kadang-kadang memiliki ekstensi file PSB,. Yang
merupakan singkatan dari "Photoshop Big" (juga dikenal sebagai "format
dokumen besar").Sebuah file PSB memperluas format file PSD, meningkatkan
ketinggian maksimum dan lebar hingga 300.000 piksel dan batas panjang menjadi
sekitar 4 exabyte. Batas dimensi tampaknya dipilih secara sewenang-wenang oleh
Adobe, tidak didasarkan pada kendala komputer aritmatika (tidak dekat dengan
kekuatan dua, seperti 30.000) tetapi untuk kemudahan pengujian perangkat
lunak. PSD dan format PSB didokumentasikan.
Karena popularitasnya Photoshop, file PSD secara luas digunakan dan
didukung untuk beberapa hal oleh perangkat lunak bersaing kebanyakan. Format
file. PSD dapat diekspor ke dan dari aplikasi lain Adobe seperti Adobe
Illustrator , Adobe Premiere Pro , dan After Effects , untuk membuat DVD
standar profesional dan memberikan non-linear editing dan efek khusus layanan,
seperti latar belakang, tekstur, dan sebagainya pada, untuk televisi, film, dan
web.Kekuatan utama Photoshop adalah sebagai pixel berbasis editor foto, tidak
seperti berbasis vektor editor gambar. Photoshop juga memungkinkan grafis
vektor editing melalui Jalan nya, alat Pen, alat Shape, Shape Layers, alat Type,
perintah Impor, dan fungsi Smart Object. Alat-alat dan perintah yang nyaman
untuk menggabungkan gambar pixel-based dan berbasis vektor dalam satu
dokumen Photoshop, karena mungkin tidak diperlukan untuk menggunakan lebih
dari satu program. Untuk membuat grafis vektor yang sangat kompleks dengan
berbagai bentuk dan warna, mungkin lebih mudah untuk menggunakan perangkat
lunak yang diciptakan terutama untuk tujuan itu, seperti Adobe
37
Illustrator atau CorelDRAW . Non-destruktif Photoshop Smart Objects juga dapat
mengimpor bentuk vektor kompleks.
Berikut ini adalah Keterbatasan Bahasa yang tersedia dalam Photoshop :
Portugis Brasil, Cina Sederhana, Cina Tradisional, Ceko, Denmark, Belanda,
Inggris, Finlandia, Perancis, Jerman, Hungaria, Italia, Jepang, Korea, Norwegia,
Polandia, Rumania, Rusia, Spanyol, Swedia, Turki dan Ukraina. Juga bahasa Arab
dan Ibrani pada Photoshop CS6.
2.7.3 Tampilan dan Tools Adobe Photoshop
Photoshop sebagai software editor pengolah citra memiliki tool-tool yang
kompleks dan beragam. Berikut ini akan di jelaskan apa saja isi tool-tool yang ada
di dalam photoshop 7.
Gambar 2.6 Jendela Kerja Photoshop
1. Menu
Merupakan tampilan utama dari Adobe Photoshop 7 yang terletak paling
atas dan memiliki beberapa macam panel seperti :
- File
Tempat memasukan file berupa picture atau foto yang kita inginkan
dan juga menu untuk menyimpan file foto yang telah selesai di edit.
- Edit
Dimana kita dapat mengedit sesuai dengan apa yang kita inginkan.
38
- Image
Panel pengaturan di mana gambar bisa dimanipulasi ukuran dan juga
tingkat kecerahan dari sebuah image.
- Layer
Panel pengaturan konfigurasi layer mulai dari memasukan layer baru,
delete layer, hingga layer properties.
- Select
Panel select berfungsi untuk memilih bagian mana yang akan di edit
dari sebuah picture atau foto. Ada beberapa menu pilihan yang
tersedia di menu select yang memberikan kemudahan pada user untuk
melakukan proses edit picture.
- Filter
Panel filter berfungsi untuk memberikan efek-efek tertentu pada saat
memanipulasi gambar atau image.
- View
Menu yang menampilkan view foto atau picture yang sedang di edit.
- Window
Panel ini menampilkan tool-tool yang ingin di munculkan ke jendela
Adobe Photoshop.
- Help
Merupakan panel bantuan untuk memudahkan kita mengetahui lebih
jauh tentang Adobe Photoshop.
2. Option
Panel option berisi pilihan dari tool yang di piliholeh user. Misalnya yang
dipilih kuas/brush, maka ukuran/diameter brush ada di sini.
3. Toolbox
Panel toolbox berada di sebelah kiri jendela Photoshop. Panel ini berisi
banyak tool-tool yang di butuhkan dalam proses editing seperti menyeleksi
dan memodifikasi gambar.
4. Pallete Navigator
39
Panel navigator berfungsi sebagai preview picture atau foto yang sedang di
edit dan juga menampilkan info warna dan histogram foto atau gambar
tersebut.
5. Pallete Color
Panel color merupakan panel yang menampilkan konfigurasi warna pada
Photoshop.
6. Pallete History
Panel ini menampilkan semua langkah-langkah proses editing gambar dari
awal hingga tahap akhir.
7. Pallete Layer
Panel Layer ini menampilkan semua layer layer yang ada di jendela
Photoshop.