2.2.1. Android
Android merupakan sebuah sistem operasi terbuka yang diperuntukan untuk perangkat bergerak (mobile device). Dikembangkan oleh Open Handset Alliance yang terdiri dari pengembang software, hardware dan provider seperti Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan NVIDIA yang bertujuan membuat sebuah standar terbuka untuk perangkat bergerak (mobile device). Pada Juli 2005 Android telah diakuisisi oleh Google dan pada 5 November 2007 barulah secara resmi Android dirilis oleh Google.
Dalam pengembangan aplikasi Android menyediakan Android SDK yang menyediakan tools dan API untuk para pengembang aplikasi dengan platform Android. Android menggunakan Java sebagai bahasa pemogramannya.
2.2.1.1. 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 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 di-download 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 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.
2.2.1.2. 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 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.
2.2.1.3. Persamaan antarmuka Android menggunakan XML dengan Java Swing
Ada beberapa persamaan antara struktur layout menggunakan XML untuk antarmuka Android dengan antarmuka Java menggunakan Java Swing, antara lain:
- 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.2.1.4. Pengembangan Aplikasi Android
Ada 4 hal mendasar yang harus kita pahami dalam membangun aplikasi berbasis Android.
- 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.2.2 Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent).
Gambar 2.1 Area Kerja Eclipse Galileo
Beberapa sifat Eclipse
• Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
• Multi-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 sebagainya.
• Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse dapat populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan 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 dapat melihat dan memodifikasi source code perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya 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 sebanyak US$ 40 juta untuk pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya. Sejak tahun 2006 Eclipse Foundation secara rutin merilis versi Eclipse setiap tahun. Setiap rilis kemudian diberi kode sesuai dengan berbagai nama bintang dari planet Jupiter. Diantaranya adalah sebagai berikut:
• Callisto (26 Juni 2006)
• Europa (27 Juni 2007)
• Ganymede (25 Juni 2008)
• Galileo (24 Juni 2009)
• Helios (23 Juni 2010, sedang tahap perencanaan)
Di samping itu Eclipse juga didistribusikan dalam beberapa proyek sesuai kebutuhan spesifik:
• Sebagai Java IDE (fungsi utama)
• C++ IDE
• Java mobile/embedded device IDE 22
• Web development, dan sebagainya.
2.2.2.1 Pemrograman Java pada Android
a. Deklarasi Package
Deklarasi package digunakan untuk mengelompokkan class-class. Sebuah package dapat mempunyai satu atau lebih sub-package ini sehingga dapat menyusun sebuah hirarki.
Bentuk umum :
package
b. Deklarasi import
Deklarasi import, bersifat opsional, digunakan untuk menunjukkan package atau classyang digunakan dalam sebuah program Java.
Untuk Java, bentuk umumnya :
import java.
Untuk Java Android, bentuk umumnya :
Import android.
Tabel 2.1 Daftar Package beserta method bawaannya
No | Package | Method | Keterangan |
1 | android.app.Activity | Mendukung sebuah classsebagai activitypada aplikasi | |
onCreate() | dipanggil saat activity pertama kali dibuat | ||
setContentView() | mengatur sebuah activity menggunakan sebuah layout pada resource | ||
onSaveInstanceState() | Dipanggil untuk mengambil per-instance state dari suatu activity sebelum dimatikan sehingga state dapat dikembalikan dalam OnCreate(Bundle) atau onRestoreInstanceState(Bundle) (Bundle dipopulasikan method ini akan diteruskan untuk keduanya). | ||
startActivity() | membuka sebuah activity baru | ||
finish() | dipanggil untuk menutup sebuah activity | ||
2
| android.app.AlertDialog
| Mendukung penggunaan alert dialog | |
show()
| menampilkan alert dialog | ||
Builder() | membuat sebuah alert dialog | ||
setMessage() | Mengatur isi pesan pada alert dialog | ||
setTitle()
| mengatur judul alert dialog | ||
setCancelable()
| mengatur jika tombol pada alert dialog ditekan tidak akan terjadi apa-apa | ||
setNeutralButton | menambahkan tombol yang hanya memiliki satu pilihan | ||
3 | android.content.DialogInterface | Mendukung penggunaan Antarmuka Dialog | |
showDialog() | menampilkan dialog | ||
4 | android.media.MediaPlayer
| Mendukung penggunaan Media Player | |
create() | membuat sebuah media player | ||
start()
| digunakan untuk menjalankan media player | ||
5 | android.os.Bundle | Mendukung penggunaan classdapat berjalan pada sistem operasi Android | |
6 | android.view.View | Mendukung penggunaan sebuah file xml sebagai tampilan | |
findViewById() | Menemukan view yang diidentifikasi oleh atribut id dari XML yang kemudian diproses dengan OnCreate() | ||
7 | android.view.View.OnClickListener | Mendukung sebuah view dapat menerima perintah eksekusi klik | |
setOnClickListener() | menerapkan penanganan event klik sebuah view | ||
8 | android.widget.ArrayAdapter | Mendukung penggunaan sebuah array adapter | |
9 | android.widget.AutoCompleteTextView | Mendukung penggunaan widget autocomplete | |
10 | android.widget.Button | Mendukung penggunaan widget Button | |
11 | android.widget.ImageView | Mendukung penggunaan widget ImageView | |
setImageResource() | Digunakan untuk mengatur sumber gambar | ||
12 | android.widget.TextView | Mendukung penggunaan widget TextView | |
13 | android.app.ProgressDialog | Mendukung penggunaan Progress Bar (Progress Dialog) | |
show() | Menampilkan Progress Dialog | ||
dismiss() | Mengabaikan dialog yang sebelumnya ditampilkan melalui showDialog() | ||
14 | android.content.Intent; | Mendukung penggunaan Intent | |
15 | android.widget.RadioButton | Mendukung penggunaan widget RadioButton | |
16 | android.content.ContentValues
| Mendukung penggunaan Content Values | |
17 | android.content.Context | Mendukung penggunaan Context untuk menerapkan sebuah class pada class lain | |
18 | android.database.Cursor | Mendukung penggunaan sebuah kursor basis data | |
query()
| memberikan query pada tabel, lalu mengembalikan hasilnya sebagai cursor | ||
rawQuery()
| menjalankan SQL yang diberikan dan mengembalikan kursor sebagai hasilnya. | ||
19 | android.database.SQLException | Mendukung Exception untuk statement SQL | |
20 | android.database.sqlite.SQLiteDatabase; | Mendukung penggunaan SQLite sebagai basis data | |
execSQL() | mengeksekusi satu statement SQL yang bukan query | ||
open()
| membuka database | ||
close()
| menutup database | ||
21 | android.database.sqlite.SQLiteOpenHelper; | Mendukung penggunaan OpenHelper SQLite | |
22 | java.util.ArrayList;
| digunakan untuk mendukung penggunaan sebuah arraylist
| |
23 | import java.util.List;
| digunakan untuk mendukung penggunaan sebuah list | |
add() | menambahkan nilai ke dalam list. |
c. 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 classnya dan classdalam satu package
- Public : bisa diakses siapa saja
- Private : hanya bisa diakses oleh classnya
d. 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 menambah dah mengurangi nilai yang tersimpan dalm bentuk variabel angka terhadap nilai 1. Sebagai contoh, pernyataan :
count = count + 1; //increment nilai count dengan nilai 1
pernyataan tersebut ekivalen dengan : count++;
3. Operator Relasi
== àsama dengan
!= à tidak sama dengan
e. Struktur Perulangan dan Percabagan
1. Perulangan
- For
Bentuk umum :
for(
//perintah yang diulang}
2. Percabangan
- if
Bentuk umum :
If(
else{//perintah yang dijalankan jika salah}
- switch
Bentuk umum :
switch(variable){
case
break;
case
break;
}
f. Inisialisasi layout dan widget XML
Inisialisasi ini digunakan pada saat medeklarasikan widget atau layout yang dipakai. Secara umum, bentuk pendeklarasian layout xml yang diimplementasikan pada suatu classmenggunakan method setContentView() seperti dibawah ini :
setContentView(
sedangkan untuk mendeklarasikan sebuh widget yang akan digunakan untuk keperluan program secara umum seperti dibawah ini :
waaaah.. lengakap sekali artikel agan..
BalasHapus