Senin, 22 April 2013

Penulisan Ilmiah “Aplikasi Pencari Lokasi Wifi berbasis Android 2.3”


BAB I
PENDAHULUAN

       1. 1   Latar Belakang Masalah
            Pada saat ini, perkembangan teknologi informasi sangat pesat sehingga mengharuskan kinerja teknologi dapat dimanfaatkan dan diimplementasikan pada aspek kehidupan manusia. Salah satu teknologi Sistem Operasi yang berkembang adalah Android Android merupakan produk ciptaan Google yang kian menuai sukses sejak dirilis pada 5 November 2007. Fenomena android berhasil merebut pasar menengah dan menengah kebawah yang selama ini mendambakan handphone cerdas dengan harga yang lebih murah. Android adalah perangkat lunak (software) yang didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi baru di dalamnya.

            Android menjadi sistem operasi mobile yang sangat diminati oleh segala lapisan umur, karena kemudahan dan sistemnya yang open source. Sistem Operasi ini sangat cocok bagi mahasiswa yang sangat mengutamakan kebebasan. Hal ini terlihat dari sifat dasar android, yaitu kebebasan bagi user untuk lebih bereksplorasi dengan smartphone masing-masing. Pekerjaan manusia sudah mulai dipermudah dengan adanya Android pada saat ini. Untuk sekedar melihat peta atau untuk mencari alamat sebuah tempat kini orang bisa dengan mudah melihatnya di handphone Android. Saat ini Wifi juga sebagai kebutuhan bagi pengguna laptop atau pengguna smartphone. Pada saat kita ingin bertransfer data atau hanya sekedar ingin berchatting Wifi menjadi kebutuhan pada saat kita tidak memiliki modem eksternal atau tidak menggunakan paket data pada smartphone kita. Di jakarta sudah hampir semua tempat sudah memiliki jaringan Wifi mulai dari Mall, Super Market, tempat hiburan dan tempat makan sekalipun sudah memiliki jaringan Wifi, akan tetapi kita tidak tahu tempat mana saja yang memiliki jaringan Wifi. Ketika ingin mencari tempat atau posisi dimana saja yang memiliki jaringan Wifi yang terdekat dan kita perlu tahu arah atau jarak terdekat dari posisi dimana kita berada, langsung saja buka aplikasi di handphone Android dan cari alamat bengkel yang posisinya sangat terjangkau.
            Dari latar belakang tersebut, penulis mengambil judul “Aplikasi Pencari Lokasi Wifi berbasis Android 2.3”.


1.2 Ruang Lingkup
Dalam penulisan ini, berfokus kepada pembuatan aplikasi Wifi detector yang berjalan pada sistem operasi android hingga aplikasi tersebut terhubung ke Map. Aplikasi ini berisi mengenai lokasi-lokasi Wifi di Jakarta khususnya Jakarta Timur. Dengan mengunakan platform android, android SDK, ADT plugin dan Eclipse 3.5 (Galileo).
Pada halaman aplikasi ini akan terdapat beberapa list dimana didalamnya berisi View Map yang jika kita pilih imageButton tersebut, kita akan dihadapkan pada tampilan sebuah Map yang disana akan terdapat lokasi dimana Wifi berada, about yang berisi tentang aplikasi deteksi Wifi ini.

1.3 Tujuan Penulisan
Tujuan penulisan ini adalah membuat sebuah aplikasi pada sistem operasi berbasis Android dengan menggunakan Software Eclipse IDE for Java Developers. Dengan adanya pembuatan aplikasi ini diharapkan dapat digunakan sebagai media untuk menginformasikan posisi lokasi-lokasi Wifi yang terdekat dari pengguna Aplikasi ini.

1.4 Metode Penelitian
Penelitian dilakukan dalam beberapa tahap yaitu pengumpulan data, penginstalan software (perangkat lunak) pendukung, perancangan aplikasi, pembuatan aplikasi dan tahap uji coba terhadap aplikasi Wifi spot melalui android.
Pengumpulan data dilakukan melalui studi pustaka terhadap literature baik berupa buku-buku relevan, artikel, tutorial dan dokumentasi dari internet yang membahas mengenai aplikasi Wifi spot pada android. Penginstalan software pendukung dapat dilakukan melalui pencarian pada browser internet. Perancangan aplikasi dilakukan dengan membuat alur diagram serta perancangan tampilan program dan Pembuatan aplikasi dengan menggunakan aplikasi Eclipse untuk Android.
Perangkat yang Dibutuhkan :
Spesifikasi perangkat keras yang digunakan :
o   Laptop ACER ASPIRE 4935
o   Processor : Intel ® Core 2 Duo CPU T5800 @ 2.00GHz (2 CPUs), ~2.0GHz
o   Memory: 2GB RAM
o    Harddisk 500 GB

Spesifikasi perangkat lunak yang digunakan :
o   Windows 7 Professional
o   Java SDK versi 6.0
o   JRE Versi 6.0
o   Eclipse 3.5 Galileo
o   ADT
o   Android SDK

Prosedur Pembuatan Aplikasi
Pembuatan naskah program. Naskah program dibuat dengan menggunakan bahasa pemrograman java.

1.5 Sistem Penulisan
Untuk memperjelas dan mempermudah dalam proses penulisan akhir ini, maka dibuat ringkasan penulisan menjadi empat bab. Dimana didalam tiap bab akan dibagi dalam beberapa sub bab. Isi dari keempat bab tersebut antara lain.
BAB I : PENDAHULUAN
Bab ini membahas latar belakang masalah, rumusan masalah, batasan masalah yang telah ditetapkan, tujuan yang hendak dicapai dari penulisan akhir ini, metode penelitian yang dipakai dalam menyelesaikan masalah yang ditemukan serta sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini berisikan landasan teori yang mendukung pembuatan aplikasi Wifi Spot mobile melalui Android.
BAB III : ANALISA DAN PEMBAHASAN MASALAH
Bab ini berisi penjelasan mengenai tinjauan program, perancangan model, perancangan struktur, pembuatan aplikasi, penjelasan program.
BAB IV : PENUTUP
            Bab ini berisikan kesimpulan dari hasil penulisan serta saran-saran guna memunjang keberhasilan implementasi program yang dibuat.



BAB 2
TINJAUAN PUSTAKA

Penyusunan penulisan ilmiah ini berisi tentang perancangan  aplikasi yang dapat membantu memudahkan para user android dalam memesan makanan dimanapun dia berada. Pemesanan makanan melalui telepon (delivery call) pada restoran cepat saji adalah salah satu cara pemesanan makanan oleh pelanggan melalui alat komunikasi. Telepon serta pembayarannya dilakukan di tempat  alamat pemesan.
Pemesanan makanan dengan cara ini pada restoran cepat saji yang bertujuan mempercepat dan memperluas layanan bagi pelanggan yang bertempat tinggal jauh dan juga untuk menghindari kemacetan lalu lintas. Maka dengan ini akan dibuat aplikasi Pemesanan makanan(Food delivery call)  pada android. Sehingga pembahasan pembahasan teori yang mendukung isi dari penulisan ilmiah ini mengenai teori, teknologi, android beserta tools yang mendukung dalam mengerjakan aplikasi ini.
2.1 Flowchart
            Flowchart atau diagram alur merupakan suatu representasi secara diagram yang menggilustrasikan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol, hubungan antar proses digambarkan dengan garis penghubung.
            Flowchart ini merupakan langkah awal pembuatan program, dengan adanya flowchart urutan proses kegiatan menjadi lebih jelas, jika ada penambahan proses maka dapat dilakukan lebih mudah.

2.1.2 Jenis Flowchart
Ada beberapa jenis flowchart diantaranya :
Bagan alir sistem
Bagan alir dokumen
Bagan alir skematik
Bagan alir program
Bagan alir prose

 2.1.3.   Sistem flowchart

         Bagan yang memperlihatkan urutan prosedur dan proses dari beberapa file
didalam media tertentu. System flowchart menggambarkan : 

         Hubungan antara suatu file dengan file lainnya.

         Media yang dipakai untuk setiap file.

         Jadi system flowchart dapat memberikan gambaran umum mengenai suatu

system pengolahan data.

2.1.4.    Program flowchart

         Bagan    yang   memperlihatkan      urutan   dan   proses  dalam    suatu program.

Flowchart merupakan langkah awal pembuatan program. Dengan adanya program

flowchart maka urutan proses di program menjadi lebih jelas.

         Jika ada penambahan proses, maka dapat dilakukan lebih mudah. Setelah

flowchart selesai disusun, pemprograman menerjemahkannya ke bentuk program
dengan bahasa pemprograman, seperti basic, pascal, atau cobol.

    2.1.5.  Kaidah – kaidah dalam pembuatan flowchart 
  Urutan dasar pembuatan flowchart : 
  Star   :  Berisi instruksi untuk persiapan peralatan yang
diperluakan sebelum menangani pemecahan
persoalan.
  Read  :   Berisi instruksi untuk membaca data dari suatu
peralatan input.
  Process  :   Berisi kegiatan yang berkaitan dengan pemecahan
persoalan sesuai dengan data yang dibaca.   18
  Write  :  Berisi instruksi untuk merekam hasil kegiatan
keperalatan output. 
  End   :    Mengakhiri kegiatan pengolahan.

Beberapa anjuran dalam pembuatan flowchart : 
1.  Hindari perulangan proses yang tidak perlu dan logika yang berbelit.
2.  Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda
panah untuk memperjelas.
3.  Sebuah flowchart diawali dari satu titik START dan diakhiri dengan
END.

2.2 Android
Android adalah sebuah sistem operasi untuk perangkat lunak mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, Htc, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan  open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode android dibawah  lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler.
Didunia ini terdapat dua jenis distributor sistem operasi android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
Pada masa saat ini kebanyakan vendor-vendor  smartphone sudah memproduksi  smartphone berbasis android, vendor-vendor itu antara lain HTC, Nokia, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony Ericsson, LG, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendeor smartphone didunia yang memproduksi android. Hal ini karena android adalah sistem oerasi yang  open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun.
Tidak hanya menjadi sistem operasi di  smartphone, saat ini android menjadi pesaing utama dari Apple pada sistem operasi Table PC. Pesatnya pertumbuhan Android selain faktor yang disebutkan diatas adalah karena android itu sendiri adalah platform sangat lengkap baik itu sistem oeprasinya, aplikasi danTool Developmen, Google Play serta dukungan yang sangat tinggi dari komunitas  Open source didunia, sheingga android terus berkembang pesat dari segi teknologi maupun dari segi jumlah device yang ada didunia.
2.2.1.  Fitur-fitur Android
Fitur-fitur yang tersedia di Android adalah:
•        Kerangka aplikasi: itu memungkinkan penggunaan dan penghapusan komponen yang tersedia.
•        Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat mobile.
•        Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.
•        SQLite: untuk tempat penyimpanan data.
•        Mendukung media: audio, video, dan berbagai format gambar.
•        GSM, Bluetooth, EDGE, 3G, dan wifi.
•        Kamera, dan accelerometer.
•        Multi touch:  kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat.
•        Lingkungan Development    yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk Eclipse IDE.
•        Market  seperti kebanyakan telepon selular yang memiliki tempat penjualan aplikasi, market pada android merupakan katalog aplikasi yang dapat di download dan di install pada telepon selular melalui internet.
2.2.2  Arsitektur Android
Secara garis besar arsitektur android dapat dijelas dan digambarkan sebagai berikut :
a.       Application and Widgets
Application and widgets adalah layer dimana berhubungan dengan aplikasi dan biasanya download aplikasi kemudian lakukan instalasi dan jalankan aplikasi tersebut, delayer inilah terdapat seperti aplikasi inti termasuk klien email, program SMS, kalender, peta,  browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java.
b. Application Frameworks
Android adalah “Open Development Platform” yaitu android menawarkan kepada pengembang atau member kemampuan kepada pengembangan untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi  resources, menjalankan serive background, mengatur alarm, dan menambahkan  tambahan seperti status notifications dan masih banyak lagi. Pengembang memiliki akses penuh menuju API  Framework seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi dirancang supaya dengan mudah dapat menggunakan komponen yang sudah digunakan (reuse). Sehingga bisa disimpulkan Application Framework adalah layer dimana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem android, karena pada layer inilah aplikasi dapat dirancang, seperti content-providers yang berupa sms dan lain sebagainya.
Libraries adalah layer dimana fitur-fitur android berada biasanya para pembuat aplikasi kebanyakan mengakses  libraries untuk menjalankan aplikasinya.
Berjalan diatas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta :
1) Libraries media untuk pemutar media audio dan video
2) Libraries untuk manajemen tampilan
3) Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
4) Libraries SQLite untuk dukungan database
5) Libraries SSL dan WebKit terintegrasi dengan web browser dan security
6) Libraries Live Webcore mencakup modern web  browser dengan engine
embedded web view
d. Android Run Time
Layer yang membuat aplikasi android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Didalam Android Run Time dibagi menjadi dua bagian yaitu:
1) Core Libraries : aplikasi android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesin bukan Java Virtual Machine, sehingga diperlukan sebuah libraries yang berfungsi untuk menterjemahkan bahasa Java/C yang dihandle oleh Core Libraries
2) Dalvik Virtual Machine : Virtual mesin yang berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien dimana merupakan pengembangan yang mampu membuat linux kernel untuk  threading dan manajemen tingkat rendah.
3) Linux kernel: Linux kernel adalah layer dimana inti dari operating sistem dari android itu sendiri, berisi file-file sistem yang mengatur sistem  processing,  memory, resources, drivers, dan sistem-sistem operanting andoroid lainnya. Linux kernel yang digunakan android adalah linux kernel release 2.6.
Gambar 2.5 Arsitektur Andoroid
2.3.  Versi Android
2.3.1. Android Versi 1.1
Pada 9 Februari 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaharuan:
•        Estetis pada aplikasi.
•        Jam alarm.
•        Voice search (pencarian suara).
•        Pengiriman pesan dengan Gmail.
•        Pemberitahuan email.
2.3.2. Android Versi 1.5 (Cupcake)
Pada 30 April 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software  Development Kit) dengan versi 1.5 (Cupcake) dibangun di atas Linux Kernel  2.6.27. Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini adalah:

•        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.
2.3.3.Android Versi 1.6 (Donut)
Donut (versi 1.6) dibangun di atas  Linux  kernel 2.6.29 dirilis  pada 15 September 2009 dengan beberapa pembaharuan yaitu:
•        Menampilkan proses pencarian yang lebih baik dibanding sebelumnya;
•        Penggunaan baterai indikator dan kontrol applet VPN.
•        Galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus.
•        Kamera, camcorder dan galeri yang diintegrasikan.
•        CDMA / EVDO, 802.1x, VPN, gestures, dan text-to-speech engine;
•        Kemampuan dial contact;
•        Teknologi text to change speech;
•        Pengaturan resolusi VWGA.
2.3.4. Android Versi 2.0/2.1 (Eclair)
Pada tanggal 26 Oktober 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1  (Eclair)  dibangun di atas  Linux  kernel 2.6.29, 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.
2.3.5. Android Versi 2.2 (Froyo)
Android 2.2 atau yang biasa dikenal dengan Froyo dirilis pada tanggal 20 Mei 2010, Froyo dibangun di atas Linux kernel 2.6.32, Froyo  memang merupakan versi terbaru dari sistem operasi Android yang telah dirilis  oleh google untuk melengkapi versi terdahulu. Walaupun secara resmi telah dirilis oleh google, namun tidak semua ponsel Android dapat menggunakan Froyo.Pengguna masih harus menunggu notifikasi resmi yang dikeluarkan masing-masing vendor ponsel. Berikut ini adalah peningkatan performa dari Android 2.2 Froyo:
•        Peningkatan performa meningkat hingga dua kali lipat dari sistem sebelumnya(Eclair). Pengujian kinerja prosesor dalam mengolah multimedia, hingga kemampuan grafis untuk menangani konten 3D.
•        Free memory  yang ada juga lebih besar dari sebelumnya. Jika biasanya pengguna hanya mendapatkan sekitar 100MB, kini dapat menggunakan sekitar250MB dari total 512MB memory yang ada.
•        Perubahan lain dari HTC melalui sistem operasi Froyo Desire adalah  dapat meletakkan aplikasi di  sd card. Pengguna dapat meletakkan seluruh file installasi pada memory eksternal.
•        Merekam video dengan kualitas HD.  Jika  pengguna dapat merekam gambar bergerak pada resolusi  1280x720pixel yang setara dengan kualitas  High Definition.
•        Setelah upgrade ke Froyo, pengguna akan menemukan icon baru pada deretan aplikasi yang ada yaitu  Wi-Fi Hotspot. Seperti namanya, aplikasi ini memungkinkan ponsel pengguna dijadikan sebagai access point.
•        Selain itu masih ada lagi aplikasi tambahan seperti Flashlight, App Sharing, dan Navigation. Khusus untuk navigasi peta, hanya tersedia dalam versi beta dan belum dapat digunakan di beberapa lokasi.
2.3.6.Android Versi 2.3 (Gingerbread)
Pada tanggal 6 Desember 2010  Google merilis Android 2.3 dengan sebutan Gingerbread, dibangun di atas Linux Kernel 2.6.35 dengan beberapa pembaharuan sebagai berikut:
•        Perubahan user interface,
•        Mendukung ukuran layar WXGA,
•        Mendukung nativ SIP VoIP,
•        Mendukung WebM/VP8 playback video, danAAC audio encoding
•        Audio efek baru seperti  reverb, equalization, headphone virtualization,  dan bass boost,
•        Peningkatan grafis, audio dan input untuk pengembang game.
•        Mendukung Near Field Communication(NFC)
•        Peningkatan fungsi copy-paste
Tidak semua perangkat dapat di upgrade ke versi 2.3 ini. Spesifikasi minimum agar dapat di upgrade ke versi Gingerbread adalah  kapasitas CPU 1 GHz, Ram 512MB, diagonal layar minimal 3.5”.
Android 3.0 / 3.1 / 3.2 Honeycomb : Honeycomb 3.0 dirilis pada bulan Februari 2011, kemudian diikuti versi 3.1 dan 3.2 yang hanya keluar pada bulan Juli sampai Agustus 2011. Google memposting banyak preview dan highlight tentang Honeycomb. Tablet berbasis Android 3.x akan berjalan sangat optimalkan untuk tablet, (karena OA android ai bawah 3.0 tidak benar-benar dirancang untuk tablet). Motorola Xoom adalah tablet Android pertama dengan versi 3.x, dan diikuti oleh perangkat tablet lain.
Android 4.0, Ice Cream Sandwich : Versi 4.0 Oktober 2011. Operating system Ice Cream Sandwich akan tersedia untuk smartphone dan tablet, perangkat pertama yang menggunakan OS ini adalah Samsung Galaxy Nexus. Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC serta masih banyak lagi.
2.4. Android SDK
Android SDK adalah  tools API (Application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada  platform android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di release oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada  platform android menggunakan bahasa pemrograman Java. Sebagai  platform aplikasi-netral,android member anda kesempatan unutk membuat aplikasi yang kita butuhkan yang ubkan merupakan aplikasi bawaan Hadphone/Smartphone. Beberapa fitur-fitur android yang paling penting adalah :
a. Framework : aplikasi yang mendukung pengganti komponen dan reusable.
b. Dalvik Virtual Machine dioptimalkan untuk perangkat  mobile
c. Integrated Browser verdasarkan engine open source WebKit.
d. Grafis yang dioptimalkan dan didukung oleh  libraries grafis 2D, grafis 3D     berdasarkan spesifikasi opengl ES 1,0 (Opsional Ekselerasi hardware)
e. SQLite untuk penyimpanan data.
f. Media  Support yang mendukung audio, video, dan gambar (MPEG4, H.264,       MP3,  AAC, AMR, JPG, PING, GIF), GSM Telephony (tergantung Hardware)
g. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware)
h. Kamera, GPS, Kompas, dan Accelerometer (tergantung hardware)
i. Lingkungan Development yang lengkap dan termasuk pernagkat emulator,  tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse.
Untuk source SDK Android ini dapat dilihat dan didownload langsung di situs resmi pengembang SDK Android di http://www.developer.android.com
2.5. JAVA
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan diterbitkan tahun 1995. Alasan utama pembentukan bahasa java adalah untuk membuat aplikasi-aplikasi yang dapat diletakkan diberbagai macam perangkat elektronik, seperti microwave oven dan remote control, sehingga Java harus bersifat portable atau yang sering disebut dengan platform independent (tidak tergantung pada platform). Itulah yang menyebabkan dalam dunia pemrograman Java, dikenal adanya istilah ‘write once, run everywhere’, yang berarti kode program hanya ditulis sekali, namun dapat dijalankan dibawah  platform  manapun, tanpa harus melakukan perubahan kode program.
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992.Bahasa ini pada awalnya disebut  “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah  dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
2.6  Fundamental Aplikasi
Aplikasi android ditulis dalam bahasa pemrograman java, kode java dikompilasi bersama data file  resource yang dibutuhkan oleh aplikasi dimana prosesnya dipaket oleh  tools yang dinamakan “apt  tools” ke dalam paket android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang sebenernya disebut dengan aplikasi yang dapat diinstal di perangkat mobile nantinya.
Ada enam jenis komponen pada aplikasi android yaitu:
a. Activities
Suatu  activity akan menyajikan  user interface (UI) kepada pengguna, sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi android bisa jadi hanya memiliki satu  activity, tetapi umumnya aplikasi memiliki banyak  activity tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut. Satu  activity biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan kepada  user. Untuk pindah dari satu  activity ke  activity lain dapat dilakukan dengan satu even misalnya click tombol, memilih opesi atau menggunakan triggers tertentu. Secara hirarki sebuah window  activity dinyatakan dengan method  Activity.setContentView(). ContentView adalah objek yang berada pada root hirarki.
b. Service
Service tidak memiliki visual user interface (UI), tetapi  service berjalan secara background, sebagai contoh dalam memainkan music,  service mungkin memainkan music atau mengambil data dari jaringan, tetapi setiap  serviceharuslah berada dalam kelas induknya. Misalnya media player sedang memutar lagu dari list  yang ada. Aplikasi ini akan memiliki dua atau lebih activity yang memungkinkan user untuk memilih lagu atau menulis sms sambil player sedang jalan untuk menjaga music tetapi dijalankan, activity player dapat menjalankan service untuk membuat aplikasi tetap berjalan.  Service dijalankan pada  threadutama dari proses aplikasi.
c. Broadcast Receiver
Broadcast Receiver berfungsi menerima dan bereaksi untuk menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona waktu berubah, baterai  low, gambar telah selesai diambil oleh kamera, atau pengubah referensi bahasa yang digunakan. Aplikasi juga dapat menginisiasi  broadcast misalnya memberikan informasi pada aplikasi lain bahwa ada data yang telah didownload ke perangkat dan siap untuk digunakan.
Broadcast Receiver tidak memiliki  user interface (UI) tetapi memiliki sebuah activity untuk merespon informasil yang mereka terima atau mungkin menggunakan notification manager untuk memberitahu kepada pengguna seperti lampu latar atau viberating (getaran) perangkat dan lain sebagainya.
d. Content Provider
Content Provider membuat kumpulan aplikasi data secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti database SQLite.Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu  activity, misalnya ketika menggunakan aplikasi yang membutuhkan peta (MAP) atau aplikasi yang membutuhkan untuk mengkases data kontak dan navigasi, maka disinilah fungsi content provider.
2.7. Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
2.8. Arsitektur Eclipse
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah  kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari  plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan  Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:
a. Core platform
b. OSGi
c. SWT (Standard Widget Toolkit)
d. JFace
e. Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools),  plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan  plug-in baru. Eclipse beserta  plug-in-nya diimplementasikan dalam bahasa pemrograman Java.
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik[2]. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal  plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya.
2.8.1.   Antarmuka Pengguna Android
Antarmuka Android dapat dibangun melalui dua cara, yaitu dengan menulis kode XML atau dengan menulis kode Java. Penggambaran struktur antarmuka menggunakan kode XML sangat dianjurkan dan lebih baik tentunya. Karena  XML merupakan alat yang bagus untuk melakukan tranmisi informasi baik dalam satu platform maupun berbeda platform.
2.8.2.   Pengembangan Aplikasi Android
Ada 4 hal mendasar yang harus kita pahami dalam membangun aplikasi berbasis Android :
1.  Activity, adalah tampilan grafis yang kita lihat ketika menjalankan sebuah aplikasi. Aplikasi dapat memiliki lebih dari satu Activity.
2.  Intent, adalah serangkaian nilai yang menunjukan apa yang harus dilakukan ketika terjadi perpindahan layar.
3.  Service, adalah layanan yang bekerja di belakang layar (background).
4.  Content provider, memungkinkan sebuah aplikasi untuk dapat menyimpan dan menerima data dari database.

2.9.  XML
XML (eXtensible Markup Language) dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada bulan Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan pada dokumentasi teknis bebagai proyek berskala besar. Ketika HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML.
2.9.1.   Perintah Dasar XML Android
XML Android pada dasarnya berbeda dengan XML secara umum. Pada XML Android, nama-nama  tag  telah didefinisikan oleh Android SDK, tidak seperti XML pada umumnya yang dapat menuliskan nama-nama  tag  sesuai keinginan. Beberapa tag XML Android yang sering digunakan dapat dilihat pada
Tabel 2.1. Tag XML Android
Selain nama-nama  tag, pada XML Android juga  menyediakan perintah untuk mengatur widget-widget tersebut yang dituliskan di dalam tag-tag tersebut.
Perintah perintah yang sering digunakan antara lain ada pada Tabel 2.2.

Tabel 2.2. Perintah XML untuk mengatur widget
2.10.    Struktur Navigasi
Struktur navigasi adalah alur yang digunakan dalam aplikasi yang dibuat. Sebelum menyusun aplikasi multimedia kedalam sebuah software, kita harus menentukan terlebih dahulu alur apa yang akan digunakan dalam aplikasi yang dibuat.
Struktur navigasi dapat digolongkan menurut kebutuhan akan objek, kemudahan pemakaian, keinteraktifitasannya, dan kemudahan membuatnya yang berpengaruh terhadap waktu pembuatan. Bentuk dasar dari struktur navigasi yang biasa digunakan dalam proses pembuatan aplikasi multimedia ada empat macam, yaitu struktur navigasi liniar, hirarki, non liniar dan campuran.

2.10.1  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. Yang terpenting dari struktur navigasi ini tidak diperkenankan adanya tampilan secara linier.

2.10.2  Struktur Navigasi Linier
Struktur navigasi linier merupakan struktur yang mempunyai satu rangkaian cerita berurutan. Struktur ini menampilkan satu demi satu tampilan layer secara berurutan menurut aturannya. Salah satu yang terpenting dari struktur ini adalah tidak diperkenankan terjadinya percabangan.

2.10.3. Struktur Navigasi Non Linier
Struktur navigasi non linier atau struktur tidak berurut 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, yaitu tidak ada master page (halaman utama) ataupun slave page (halaman pendukung).
    
2.10.4. Struktur Navigasi Campuran
Struktur navigasi campuran merupakan gabungan dari ketiga 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 karena struktur ini dapat memberikan keinteraksian yang lebih tinggi. Jika suatu tampilan memerlukan percabangan, maka dapat dibuat percabangan. Bila dalam percabangan tersebut terdapat satu tampilan yang sama kedudukannya, maka dapat dibuat struktur linier dalam percabangan tersebut




0 komentar:

  • :))
  • ;))
  • ;;)
  • :D
  • ;)
  • :p
  • :((
  • :)
  • :(
  • :X
  • =((
  • :-o
  • :-/
  • :-*
  • :|
  • 8-}
  • :)]
  • ~x(
  • :-t
  • b-(
  • :-L
  • x(
  • =))
  • klik ini

Posting Komentar