MODUL PEMBELAJARAN PEMROGRAMAN APLIKASI BERBASIS ANDROID

Oleh

I PUTU AGUS EKA PRATAMA, ST MT

SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG

2013

DAFTAR ISI Bab I Level Pemula Android (1).............................................................................1 I.1 Sekilas Mengenai Android.............................................................................1 I.1.1 Kernel Linux................................................................................................1 I.1.2 DVM (Dalvik Virtual Machine)...................................................................2 I.1.3 Android SDK...............................................................................................2 I.1.4 ADT (Android Development Tool)..............................................................3 I.1.5 Arsitektur Android ......................................................................................3 I.1.6 Aplikasi Fundamental Android....................................................................4 I.1.7 Versi Android...............................................................................................5 I.2 Persiapan Untuk Pemrograman Berbasis Android.........................................5 I.2.1 Instalasi Java................................................................................................6 I.2.2 Instalasi Eclipse dan ADT Dalam 1 Paket...................................................7 I.2.3 Membuat AVD (Android Virtual Device)....................................................9 I.2.4 Membuat Program Awal : Sebuah Kalimat Sederhana..............................11 I.3 Soal Latihan.................................................................................................13 Bab II Level Pemula Android (2)..........................................................................14 II.1 User Interface (UI) di Android....................................................................14 II.1.1 UI di Android Beserta Komponennya......................................................14 II.1.2 Mengenal Android Manifest.....................................................................14 II.1.3 Contoh Aplikasi UI : Jam Android...........................................................14 II.2 Soal Latihan ...............................................................................................20 Bab III Level Menengah Android (1)....................................................................21 III.1 Droiddraw..................................................................................................21 III.1.1 Penjelasan DroidDraw.............................................................................21 III.1.2 Contoh : Aplikasi Wisata Sejarah Kota Bandung....................................23 III.2 WebKit.......................................................................................................30 III.2.1 Penjelasan WebKit..................................................................................30 III.2.2 Penerapan WebKit di Android : Aplikasi Buka Web...............................31 III.3 Array dan File............................................................................................38

III.3.1 Penjelasan Array dan File........................................................................38 III.3.2 Penerapan Array dan File di Android......................................................38 III.4 Database SQLite........................................................................................48 III.4.1 Penjelasan Database SQLite....................................................................48 III.4.2 Penerapan Database SQLite di Android..................................................49 III.5 MySQL dan SQL Server di Android.........................................................73 III.5.1 Koneksi dengan MySQL di Android.......................................................73 III.5.2 Koneksi Dengan SQL Server di Android................................................85 Bab IV Level Expert Android (1) .........................................................................93 IV.1 Pemetaan di Android..................................................................................93 IV.1.1 Location Based Service...........................................................................93 IV.1.2 GPS di Android Menggunakan Emulator................................................94 IV.1.3 API Key Google......................................................................................98 IV.1.4 Contoh Aplikasi Penerapan...................................................................100 IV.2 Handle Telephone di Android..................................................................105 IV.2.1 Dial Panggilan di Emulator Android.....................................................105 IV.2.2 SMS Emulator di Android.....................................................................108 IV.3 Beberapa Studi Kasus Aplikasi Android..................................................109 IV.3.1 Integrasi dengan HTML 5 ....................................................................109 Bab V Level Expert Android (2).........................................................................118 V.1 ERP (Enterprise Resource Planning)........................................................118 V.1.1 Definisi ERP...........................................................................................118 V.1.2 Manfaat ERP...........................................................................................118 V.1.3 Modul – Modul Pada ERP......................................................................118 V.2 SOA (Service Oriented Architecture)........................................................119 V.2.1 Definisi SOA...........................................................................................119 V.2.2 Manfaat SOA..........................................................................................119 V.3 Implementasi Modul – Modul ERP Di Android (Porting/Mobile ERP)...119 V.3.1 Latar Belakang .......................................................................................119 V.3.2 Mobile ERP.............................................................................................119 V.3.3 Manfaat ..................................................................................................120 V.3.4 Implementasi...........................................................................................121

Daftar Pustaka....................................................................................................122

Bab I

Level Pemula Android (1)

Tujuan : Melalui Bab 1 ini diharapkan pembaca dapat mengetahui mengenai : 1. Linux, Android, DVM (Dalvik Virtual Machine), Android SDK (Software Development Toolkit), ADT (Android Development Tool), arstitektur Android, aplikasi fundamental Android, dan versi Android. 2. Persiapan – persiapan yang harus dilakukan agar dapat memulai pemrograman

aplikasi

berbasis

Android

(Android

development

programming). Mencakup : instalasi Java, instalasi Android SDK, instalasi IDE Eclipse, instalasi ADT di Eclipse, membuat AVD (Android Virtual Device). 3. Membuat aplikasi sederhana di Android (menanpilkan kalimat, misal : Hai selamat pagi), dan menjalankannya di emulator maupun porting langsung ke smartphone berbasis Android. I.1 I.1.1

Sekilas Mengenai Android Kernel Linux Kernel merupakan perangkat lunak komputer yang menjadi inti dari

sebuah sistem operasi (baik sistem operasi desktop, server, maupun mobile). Pada kernel terdapat fungsi – fungsi dasar dari sebuah sistem operasi. Kernel ditulis dengan beragam bahasa pemrograman. Salah satunya bahasa C pada kernel Linux. Kernel Linux diciptakan oleh Linus Torvald berdasarkan sistem operasi Minix yang telah ada. Minix sendiri mengadpsi sistem operasi UNIX yang saat itu terbilang mahal. Kernel Linux yang ditulis dengan bahasa C ini dilepas bebas ke masyarakat (komunitas) oleh Linus, untuk kemudian bersama – sama dikembangkan, dengan lisensi open source. Misalkan dibungkus dengan beragam aplikasi dan library berlisensi open source GNU GPL, maka menjadi sistem operasi GNU/Linux (umum disebut linux saja). Implementasinya sangat banyak, mulai dari sistem operasi Linux untuk enterprise (misal Red Hat Linux), komunitas (misal Ubuntu, Fedora, Slackware, dan lainnya), dikembangkan dari kernel Linux menjadi sistem operasi lainnya (misal Mikrotik, Android, Tizen,

1

Firefox OS), maupun linux embbeded system (pada mobil, kulkas, televisi, dan lainnya). Dengan makin berkembangnya teknologi informasi, maka penerapan Linux dan open source di berbagai bidang makin besar. Termasuk dalam cloud computing, smart city, dan beragam device mobile lainnya. I.1.2

DVM (Dalvik Virtual Machine) Sebelum munculmnya Android sebagai sebuah platform dan sistem

operasi perangkat mobile dengan memanfaatkan kernel linux, sebelumnya dikenal pemrograman J2ME (Java 2 Mobile Edition) untuk aplikasi mobile, misalkan pada sistem operasi Symbian. J2ME, sebagaimana Java, memiliki virtual machine (JVM/Java Virtual Machine), yang menjadi elemen kunci dari platform Java. Dengan adanya virtual machine tersebut, programmer dapat memastikan apakah aplikasi java mobile yang dikembangkan tersebut dapat berjalan dengan baik juga di deviec sesungguhnya (handphone, smartphone, PDA). JVM bersifat stack based. Android memiliki virtual machine sendiri bernama DVM (Dalvick Virtual Machine). DVM memiliki sifat register based. Dengan adanya DVM ini, executable file dapat dieksekusi dengan lebih baik, sehingga dapat membantu mengcompile code dalam bahasa Java menggunakan tool yang disediakan oleh Software Development Kit (SDK) Android. I.1.3

Android SDK Android SDK (Software Development Kit) merupakan perangkat API

(Application

Programming

Interface)

untuk

memudahkan

di

dalam

mengembangkan perangkat lunak pada platform Android dengan menggunakan bahasa pemrograman Java. SDK Android bersifat open source dan dapat diunduh melalui http://www.developer.android.com. Salah satu IDE open source untuk pemrograman Java, yaitu Eclipse, dapat ditambahkan Andrid SDK untuk memudahkan anda di dalam mengembangkan aplikasi berbasis Android.

2

I.1.4

ADT (Android Development Tool) ADT (Android Development Toolkit) merupakan plugin pada IDE Eclipse

untuk memudahkan di dalam melakukan pengembangan aplikasi berbasis Android.

ADT

juga

bersifat

open

source

dan

bebas

diunduh

di

http://www.developer.android.com. Melalui ADT, file .apk bisa dibuat sehingga memudahkan distribusi aplikasi Android. I.1.5

Arsitektur Android Arsitektur pada Android mencakup lima level komponen, Kelima level

tersebut mencakup Applications and Widgets, Application Frameworks, Libraries, Android Run Time, dan kernel linux. Applications and Widgets merupakan layer yang memuat aplikasi inti pada aplikasi Android (E-Mail Client, SMS, kalender, kontak, peta, web browser, dan lainnya) yang ditulis dengan menggunakan bahasa pemrograman Java. Application Framework merupakan layer di mana pengembang dapat turut serta membangun aplikasi berbasis Android, terutama terkait dengan konten proider (SMS, telepon). Komponen pada Application Framework mencakup Views, Content Provider, Resource Manager, Notification Manager, dan Activity Manager. Libraries merupakan sekumpulan librari sebagai sebuah layer, di mana para pemrogram dapat mengaksesnya sehingga aplikasi dapat dijalankan. Libraries berjalan di atas kernel. Libraries ini terdiri atas berbagai library C, C++, Libc, SSL, library media untuk penyimpanan audio dan video, serta library untuk manajemen tampilan. Android Run Time adalah layer untuk menjalankan aplikasi Android, di mana di dalam Android Run Time ini semua proses mengimplementasikan proses di linux sebagai kernelnya. Android Run Time memiliki 2 bagian utama, yaitu Core Libraries (berfungsi untuk menterjemahkan bahasa C/Java dengan bantuan DVM) serta DVM (seperti dijelaskan di sub bab atas). Linux kernel adalh layer utama yang menjadi nti dari sistem operasi Android ini. Memuat semua fungsi dasar sistem operasi Android (processing,

3

memory, resource, driver). Kernel linux yang digunakan adalah versi 2.6. Kernel linux bersifat open source. I.1.6

Aplikasi Fundamental Android Saat melakukan pemrograman aplikasi Android, digunakan bahasa

pemrograman Java di dalamnya, yang bersifat object oriented. Setelah selesai melakukan pemrograman, kemudian dikompilasikan dan dipaketkan dengan bantuan apt-tools, untk kemudian menjadi aplikasi .apk yang dapat diinstall di perangkat mobile dengan sistem operasi Android. Pada Android terdapat empat komponen utama yang penting. Keempat komponen tersebut mencakup Activities, Services, Broadcast Receiver, dan Content Provider. Activities berfnngsi untuk menyajikan tampilan tatap muka (Graphic User Interface/GUI) kepada pengguna. Banyaknya activities pada sebuah program Android dapat beragam antara satu buah hingga beberapa buah, sesuai dengan keperluan. Service berfungsi memberikan layanan kepada pengguna terkait dengan aplikasi yang dijalankan di Android. Service kebanyakan berjalan di belakang background. Setiap activities memiliki service. Broadcast receiver adalah komponen yang berfungsi untuk memberikan aksi dan menerima reaksi untuk notifikasi berdasarkan kondisi tertentu (batere lemah, pengambilan gambar oleh kamera, perubahan zona waktu, dan lainnya). Sebagaimana service, Broadcast Receiver tidak memiliki GUI namun memiliki activity untuk respon informasi. Content Provider bertugas mengelola data untuk bisa dijadikan informasi oleh pengguna. Content provider menggunakan engine database untuk pengelolaan ini, misalkan SQLite untuk koneksi aplikasi Android dan database. Penerapannya misalkan pada aplikasi pemetaan online di Android, pendaftaran, login, ERP mobile, atau aplikasi lainnya yang memerlukan koneksi dengan database.

4

I.1.7

Versi Android Android mulai banyak beredar di pasaran (dalam hal ini sebagai sistem

operasi di device mobile) mulai dari versi kelima (Froyo/Frozen Yogurt/2.2). Sebelum itu, versi Android masih memiliki banyak kekurangan sebagai sebuah aplikasi di platform mobile phone/smartphone. Berikut adalah urutan versi Android dari yang pertama hingga yang terakhir (tahun 2013). 1. Versi 1.1 (2009) dengan fitur voice search, pengiriman pesan via Gmail, berbagai aplikasi, jam, dan lainnya. 2. Versi 1.5 (CupCake) dengan penambahan SDK, bluetooth, animasi layar, dan lainnya. 3. Versi 1.6 (Donut) dengan tambahan applet VPN, upload foto, text to speech, dial kontak, dan lainnya. 4. Versi 2.0 dan 2,1 (Eclair) dengan tambahan optimasi hardware, dukungan HTML5, browser dan tampilan baru, flash untuk kamera, dan lainnya. 5. Versi 2.2 (Froyo) mulai banyak digunakan di berbagai smartphone/mobile phone. Mulai mengoptimalkan DVM (Dalvik Virtual Machine). 6. Versi 2.3 (Gingerbread) dengan tambahan SIP berbasis VOIP, download manager, dukungan kamera depan dan kamera belakang, NFC (Near Field Communication), dan lainnya. 7. Versi 3.0 (Honeycomb) mulai banyak digunakan di PC tablet, dilanjutkan dengan versi 3.1 dan versi 3.2. 8. Versi 4.0 (Ice Cream Sandwitch) yang dimulai dari November 2011 hingga tahun 2013 ini. 9. Versi 4.1 (Jelly Bean), dilanjutkan dengan versi 4.1 dan versi 4.2. 10. Versi 4.3 (KitKat), di mana versi ini baru saja dirilis tahun 2013 ini. Tentu saja ke depannya akan muncul lagi versi – versi yang lebih baru dengan tambahan fitur yang lebih baik dan lengkap. I.2

Persiapan Untuk Pemrograman Berbasis Android Untuk dapat melakukan pemrograman aplikasi Android di komputer anda,

perlu dipersiapkan beberapa hal penting. Pertama, anda wajib menyediakan sistem operasi di komputer anda. Penulis merekomendasikan sistem operasi Linux

5

(namun anda boleh menggunakan Microsoft Windows maupun Mac OS). Pengalaman penulis sendiri dan referensi pengalaman pengguna lainnya, di sistem operasi Linux, emulator Android berjalan lebih baik dan lebih cepat. Selain itu, dengan kesamaan kernel dan ketersediaan beragam IDE open source yang lengkap, maka memudahkan di dalam pengembangan aplikasi. Langkah kedua adalah penyediaan IDE untuk pemrograman. IDE (Integrated Development Environment/Lingkungan Pengembangan Terintegrasi) yang disarankan untuk pengembangan aplikasi Android adalah IDE open source Eclipse. Penulis menyarankan Eclipse yang telah dibundel menjadi satu dengan ADT, ADV, SDK Android, agar lebih simpel. Langkah ketiga, kuasai pemahaman mengenai bahasa pemrograman Java dan konsep Object Oriented. Java merupakan salah satu bahasa pemrograman yang menggunakan konsep pemrograman berorientasi objek (Object Oriented). I.2.1

Instalasi Java Untuk dapat melakukan pemrograman aplikasi berbasis Android, anda

harus menginstal Java di komputer anda. Lihat kembali prasyarat yang disebutkan di sub bab di atas. Untuk sistem operasi Linux, Windows, dan Mac OS, unduhlah terlebih dahulu

instaler

Java

di

http://www.oracle.com

http://java.com/en/download/manual.jsp?locale=en.

Kemudian

ataupun klik

di untuk

memulai proses instalasi. Pada sistem operasi linux, selain mengunduh dan menginstal secara manual, anda juga dapat melakukannya secara lebih mudah dan otomatis melalui repository masing – masing distribusi (distro) linux yang anda gunakan. Misalkan di Debian/Ubuntu based menggunakan synaptic/apt-get, di Fedora/Red Hat based menggunakan yum atau yumex. Cukup ketik java maka sistem di repository linux akan menampilkan semua paket dependecies terkait dengan Java. Centangi semuanya, kemudian klik untuk instalasi. Atau anda dapat menggunakan perintah ini di terminal linux anda : (1) Untuk basis Debian/Ubuntu : $

sudo

apt-get

install

sun-java6-bin

java6-jdk

(2) Untuk basis Red Hat/Fedora :

6

sun-java6-jre

sun-

# yum install sun-java6-bin sun-java6-jre sun-java6-jdk

(3) Untuk basis Open SUSE : # zypper install sun-java6-bin sun-java6-jre sun-java6-jdk

(4) Untuk basis Gentoo : # emerge install sun-java6-bin sun-java6-jre sun-java6-jdk

Jika sudah, baik di sistem operasi manapun, anda bisa mengeceknya melalui terminal Linux/Mac OS maupun command line (CMD) Windows dengan perintah java –version.

I.2.2

Instalasi Eclipse dan ADT Dalam 1 Paket Langkah selanjutnya adalah menginstall IDE Eclipse untuk pemrograman

Java dan Android application, SDK Android, dan ADT. Agar tidak repot, anda dapat

mengunduh

bundel

semuanya

(komplit

dalam

1

file

zip)

di

http://developer.android.com/sdk/index.html atau bisa copy ke penulis.

Gambar 1.1 Unduh ADT Eclipse bundel File ini dapat digunakan di sistem operasi Linux, Wndows, dan Mac OS, dengan cukup hanya mengesktrak saja kemudian mengklik menu run aplikasi IDE Eclipse yang sudah terintegrasi dengan ADT. Jika proses ekstrasi selesai dilakukan, maka anda akan menemui 2 buah sub folder di dalamnya, yaitu Eclipse IDE dan SDK.

7

Gambar 1.2 Folder bundel ADT Eclipse setelah diekstrak Kemudian pindah ke folder Eclipse, kemudian klik file eksekusi Eclipse. Maka anda harusnya akan melihat Eclipse IDE dengan bundel ADT siap dijalankan.

Gambar 1.3 Eclipse eksekusi file siap dijalankan

8

Gambar 1.4 Eclipse ADT siap disajikan Langkah

selanjutnya

adalah

mengeset

/home/user-anda/workspace/android).

workspace

anda

(disarankan

di

Hal ini cukup dilakukan sekali saja,

sehingga nati saat memprogram otomatis semua project yang anda kerjakan tersimpan di workspace tersebut. Catatan : Jika SDK dianggap belum ada (missing) oleh Eclipse, maka Eclipse akan menampilkan pesan peringatan dan opsi untuk mengubah konfigurasi letak SDK berada. Pilihlah opsi konfigurasi tersebut, kemudian pilih lokasi folder sdk (yang berada 1 folder dgn folder eclipse). I.2.3

Membuat AVD (Android Virtual Device) AVD (Android Virtual Device) adalah emulator yang berfungsi untuk

menjalankan

aplikasi Android

yang

anda

buat

selayaknya

di

device

smartphone/hand phone/tablet yang asli. Anda bahkan dapat memilih jenis device yang akan digunakan, resolusi, dan versi Android yang digunakan. AVD adalah suatu kewajiban di dalam tahap pengembangan perangkat lunak mobile berbasis Android.

9

Untuk mengatur dan menjalankan AVD, beralihlah ke tab menu Windows --> Android Virtual Device manager. Kemudian Pilih New dan isilah dengan nama AVD, memilih device, dan lainnya. Anda dapat membuat lebih dari satu AVD.

Gambar 1.5 Menu pengaturan Android Virtual Device

Gambar 1.6 Pemilihan device untuk AVD

10

Gambar 1.7 Daftar AVD yang dibuat I.2.4

Membuat Program Awal : Sebuah Kalimat Sederhana Pada sub bab ini akan dibahas tata cara pembuatan sebuah project

sederhana untuk aplikasi Android. Contoh yang ditunjukkan adalah membuat sebuah aplikasi untuk menampilkan sebuah kalimat sederhana pada aplikasi Android yang anda buat dan anda jalankan di emulator. Pada contoh ini akan dibuat sebuah aplikasi untuk menampilkan kalimat “Belajar pemrograman Android di linux asyik banget“. Pertama, masih dalam kondisi IDE Eclipse ADT terbuka, klik tab menu File --> New --> Android Development Project. Kemudian berilah nama project Android anda, misalkan Halo. Kemudian biarkan pengaturan lainnya sesuai standarisasi Android dengan menekan Next, Next, sampai Finish. Maka akan muncul sebuah folder bernama Halo lengkap dengan sub folder di dalamnya (lihat di kiri Eclipse anda). Merujuklah ke sub folder res --> value --> strings.xml, lalu buka di Eclipse anda. Kemudian gantilah standarisasi “Hello World“ menjadi kalimat sesuka anda, misalkan menjadi “Belajar pemrograman Android di linux asyik banget“. Kini arahkan ke folder Halo, kemudian klik kanan dan pilih opsi Run as Android Application, Jika benar maka anda akan melihat tampilan emulator Android anda (Android Virtual Device) menjalankan aplikasi yang anda bat tersebut.

11

Gambar 1.8 Script strings.xml yang akan diubah

Gambar 1.9 Aplikasi dijalankan di emulator (ADV)

12

Gambar 1.10 Aplikasi berada di daftar aplikasi I.3

Soal Latihan

Kerjakan latihan berikut : 1. Install sistem operasi Linux (distro bebas) di komputer anda. Jika tidak, boleh tetap memakai OS Windows ataupun Mac OS. Saya menyarankan sistem operasi Linux untuk stabilitas, kemudahan, kehandalan, relatif lebih aman, dan stabil. 2. Install Eclipse + ADT + SDK Android (dalam 1 bundel file zip) sesuai petunjuk di modul. 3. Jalankan Eclipse. 4. Atur workspace anda. 5. Pilih dan konfigurasi AVD anda. 6. Buat project pertama anda (nama project bebas terserah anda). 7. Buat aplikasi sederhana seperti contoh di atas. Anda dapat menggantikan kalimat yang ditampilkan. 8. Jalankan aplikasi anda di AVD. 9. Buat dokumentasi sederhana tentang materi bab ini di blog/website anda masing – masing (untuk poin latihan 1 - 8 di atas), lengkap dengan capture jika diperlukan.

13

Bab II

Level Pemula Android (2)

Tujuan : Melalui Bab 2 ini diharapkan pembaca dapat mengetahui mengenai : 1. User Interface (UI) di Android dan pembuatannya. 2. Activity, Widget, dan View di Android 3. Konsep pada Bab 1 dan Bab 2 ini akan menjadi dasar untuk mempelajari level menengah dan level expert di bab – bab selanjutnya. II.1 User Interface (UI) di Android II.1.1 UI di Android Beserta Komponennya Di Android, User Interface (UI) terdiri atas activity dan komponen dengan lokasi di /res/layout pada file berkekstensi .xml untuk kemudian dipanggil di program utama melalui R.layout.main. Komponen – komponen User Interface di Android terdiri atas ViewGroup, View, RequestFocus, dan Include. ViewGroup terdiri atas LinearLayout, RelativeLayout, FrameLayout, dan lainnya (dibahas tuntas di bab 3 tentang DroidDraw). View lebih dikenal dengan Individual UI component. RequestFocus merupakan elemen kosong yang didefinisikan di dalam View. Include merupakan upaya untuk memasukkan file layout ke layout. II.1.2 Mengenal Android Manifest Android

Manifest

berupa

sebuah

file

dengan

ekstensi

.xml

(androidmanifest.xml). Fungsinya untuk mendeskripsikan variabel global dari paket aplikasi yang digunakan. II.1.3 Contoh Aplikasi UI : Jam Android Sebagai bahan latihan, akan dicoba disajikan pembuatan sebuah aplikasi sederhana Jam Android. Aplikasi sederhana ini sebenarnya hanya memanggil sistem waktu yang ada di komputer melalui script Java. Pertama, seperti biasa, buatlah sebuah project Android melalui menu File --> Android Application Project. Kemudian berikan nama project ini Jam Android.

14

Gambar 2.1 Membuat project Jam Android Kemudian klik tombol Next, biarkan secara default tercentang untuk opsi pembuatan launcher icon dan activity. Kemudian tekan Next untuk melanjutkan ke pemilihan icon launcher dan blank activity.

Gambar 2.2 Proses create launcher icon dan activity

15

Gambar 2.3 Memilih launcher icon

Gambar 2.4 Memilih blank activity Pada tahap Blank Activity, untuk Activity Name diberi nama JamAndroid. Untuk layout name diberikan jam_android. Kemudian tekan Next.

16

Gambar 2.5 Memberi nama Blank Activity Seharusnya akan terbentuk folder project anda bernama JamAndroid. Kemudian melangkah ke sub direktori src, tepatnya di com.putushinoda.jamandroid, kemudian buatlah sebuah kelas Java baru bernama JamAndroid.

Gambar 2.6 Membuat kelas Java JamAndroid Kini isikan kelas JamAndroid.java tersebut dengan script Java berikut ini : package com.putushinoda.jamandroid;

17

import import import import import

android.app.Activity; android.os.Bundle; android.view.View; android.widget.Button; java.util.Date;

public class JamAndroid extends Activity implements View.OnClickListener { Button btn; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); btn=new Button(this); btn.setOnClickListener(this); updateTime(); setContentView(btn); } public void onClick(View view) { updateTime(); }

}

private void updateTime() { btn.setText(new Date().toString()); }

Setelah selesai, kemudian simpan. Lalu klik kanan project Android anda dan pilih opsi Run as Android application. Harusnya akan muncul emulator Android (AVD) yang menampilkan aplikasi Jam Android ini dan menjalankannya :

Gambar 2.7 Instalasi .apk project ke emulator (AVD)

18

Gambar 2.8 Aplikasi di menu Android

Gambar 2.9 Aplikasi dijalankan di emulator (AVD) Sampai di sini proses pembuatan aplikasi Jam Android sudah selesai. Diharapkan pembaca dapat makin memahami mengenai User Interface di Android dan prakteknya dalam pembuatan aplikasi Android. Untuk tahap User Interface lebih lanjut akan dibahas di bab 3 melalui pemanfaatan DrodDraw yang lebih lengkap.

19

II.2 Soal Latihan Kerjakan soal latihan berikut ini : 1. Siapkan komputer anda beserta dengan sistem operasi Linux/sistem operasi yang ada. 2. Jalankan Eclipse anda. 3. Coba jalankan script project di atas sesuai urutan langkah yang telah dijelaskan. 4. Seperti point 3, namun anda harus menggunakan nama project, nama activity, nama kelas, dan lainnya yang berbeda dengan yang telah digunakan di contoh atau nomor 3 di atas. (Hasil output program boleh sama, boleh divariasikan). 5. Buat dokumentasi (beserta capture jika diperlukan) di blog/website masing – masing.

20

Bab III

Level Menengah Android (1)

Tujuan : Melalui Bab 3 ini diharapkan pembaca dapat mengetahui mengenai : 1. Droiddraw di Android untuk pembuatan User Interface (UI) beserta dengan contoh penerapannya pada aplikasi Converter (konversi Dollar ke Rupiah dan sebaliknya). 2. Konsep webkit di Android dan penerapan di dalam aplikasi. 3. Array dan File di Android beserta penerapannya di aplikasi, 4. Konsep dan praktek database di Android memanfaatkan SQLite. III.1 Droiddraw III.1.1 Penjelasan DroidDraw Droiddraw (http://www.droiddraw.org/) merupakan WYSIWYG (What You See Is What You Get) User Interface (UI) designer/editor/builder yang diperuntukkan untuk perangkat mobile dengan platform Android di dalamnya. DroidDraw dapat dijalankan di sistem operasi Linux, Windows, dan Mac OS. Cara menggunakannya pun sangatlah mudah. Pada contoh ini diberikan di sistem operasi Linux, namun anda dapat mencobanya di sistem operasi Windows dan Mac OS karena sama/relatif sama. Pertama, tentu saja anda harus mengunduh DroidDraw sesuai dengan sistem operasi anda di situs DrodiDraw di atas. Kemudian setelah selesai diunduh, installah dengan cara mengkliknya (jika berupa file .exe), atau pada sistem operasi Linux anda memperoleh file .tar.gz yang mana harus anda ekstrak terlebih dahulu dengan perintah tar -xzvf nama-file.tar.gz (atau via klik kanan dan ekstrak menggunakan Ark). Kemudian beralih ke folder hasil bentukan ekstrasi lalu klik file .jar atau file .sh (jika tidak bisa berarti berikan permission dengan chmod +x nama-aplikasi.ekstensi). Berikut contoh menjalankan DroidDraw di Linux melalui terminal :

21

Gambar 3.1 Menjalankan DroidDraw di terminal Linux

Gambar 3.2 Menjalankan DroidDraw di terminal Linux Kedua, setelah DroidDraw dijalankan (dan tentu saja sambil menjalankan Eclipse Android ADT anda), mulailah membuat desain anda di sana. Dalam hal ini, secara garis besar adalah menentukan Root Layout menjadi Relative Layout, kemudian mendrag LinierLayout di Layout tab ke kanvas Relative Layout. Lanjutkan ke tab Widget dengan mendrag widget yang anda inginkan (misalkan

22

Radio Button, Edit Text, dan lainnya). Jangan lupa untuk mengedit parameter setiap widget tersebut (misal Radio Button diubah menjadi Indonesia jika ingin menjadikannya untuk mengubah ke bahasa Indonesia/kurs Indonesia sesuai aplikasi yang dibuat). Langkah terakhir, klik menu Generate, dan anda akan disajikan script XML dari desain anda ini. Langkah ketiga, tentu saja, membuat project aplikasi Android anda. Kemudian script XML hasil generate desain di DroidDraw tadi dicopykan ke dalam file XML di sub folder layout pada project anda. Selanjutnya tentu saja menambahkan script Java di project Android anda sesuai dengan aplikasi yang anda buat. Langkah terakhir, menjalankan aplikasi anda di emulator atau langsung di device Android mobile phone anda. III.1.2 Contoh : Aplikasi Wisata Sejarah Kota Bandung Berdasarkan uraian di atas, maka akan dicoba disajikan langsung langkah – langkah praktek dengan studi kasus pembuatan aplikasi sederhana untuk wisata sejarah di kota Bandung. Karena masih sederhana, maka hanya disediakan tiga buah pilihan wisata sejarah beserta dengan penjelasannya. Dalam hal ini diset statis, tidak memakai database. Poin utama pembelajarannya adalah proses pembuatan menu menggunakan DroidDraw, menggenerate XML, kemudian membuat project Android aplikasi dan menggunakan XML hasil generate tersebut. Pertama – tama, jalankan Eclipse ADT Android anda seperti biasa. Kemudian jalankan DroidDraw. Kini ubah pengaturan di bagian Root Layout menjadi RelativeLayout dengan cara Screen --> Root Layout --> RelativeLayout. Kemudian klik tab Layouts yang ada di menu sebelah kanan. Pilihlah LinearLayout. Kemudian drag dan letakkan di kanvas yang telah diset sebagai RelativeLayout tadi. Aturlah panjang dan lebarnya dengan cara mengklik dua kali LinearLayout yang anda drag tadi. Berilah ukuran sesuai kreasi anda. Misalkan pada contoh ini height (panjang) 300px dan width (lebar) 330px. Kemudian klik Apply. Satu langkah sudah selesai. Kemudian beralihlah ke tab Widgets. Drag widget TextView ke arah kanvas, kemudian edit di bagian id menjadi TextView1. Berilah nama di bagian

23

Text dengan misalkan : Wisata Sejarah di Kota Bandung. Sampai di sini langkah kedua selesai. Lanjut ke langkah ketiga, masih di tab Widgets, drag widget RadioGroup. Berikan nilai id dengan RadioGroup1 dan pada width ubah ke fill_parent. Untuk height biarkan default sebagai wrap_content. Lanjut lagi dengan mendrag tiga buah widget Radio Button. Letakkan sejajar ke bawah berurutan. Untuk masing – masing widget Radio Button ini editlah dan berikan id masing – masing RadioButton1, RadioButton2, dan RadioButton3. Jangan lupa untuk masing – masing text di RadioButton berikan nama Gedung Sate, Museum Asia Afrika, dan Savoy Homann. Sampai di sini langkah ketiga selesai. Langkah terakhir, klik menu Generate (kiri atas). Anda akan disajikan kode XML. Biarkan kode itu, karena akan kita gunakan nanti di project :)

Gambar 3.3 Hasil akhir desain UI menggunakan DroidDraw Kini beralih ke Eclipse. Seperti biasa buat project aplikasi Android yang baru melalui menu File --> New --> Android Application Project. Berikan nama proyek ini Wisata Sejarah Bandung. Untuk package name anda bebas memberikan namanya. Misalkan pada contoh ini com.putushinoda.wisatasejarahbandung. Untuk lainnya biarkan saja standar.

24

Gambar 3.4 Memberi nama proyek aplikasi Android Langkah selanjutnya hanya menekan tombol Next. Biarkan semua pengaturan secara standar.

Gambar 3.5 Membuat activity dan custom launcher

25

Kemudian pada bagian pengaturan Activity tambahkan nama activity dengan nama WisataSejarahBandung dan nama layout sebagai wisata_sejarah_bandung. Kemudian klik Next.

Gambar 3.6 Pengaturan di activity Harusnya akan terbentuk project bernama WisataSejarahBandung. Kini di bagian src-->

com.example.wisatasejarahbandung

akan

ada

file

bernama

WisataSejarahBandung.java. Kemudian isikan dengan script berikut : package com.example.wisatasejarahbandung; import import import import import import import import

android.app.Activity; android.os.Bundle; android.view.View; android.widget.Button; android.widget.EditText; android.widget.RadioButton; android.widget.RadioGroup; android.widget.TextView;

public class WisataSejarahBandung extends Activity { TextView TextView1; RadioGroup RadioGroup1; RadioButton RadioButton1, RadioButton2, RadioButton3; Button Button1; EditText EditText1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {

26

super.onCreate(savedInstanceState); setContentView(R.layout.wisata_sejarah_bandung); /*Mendeklarasikan semua variabel yang digunakan, berhubungan dengan file main.xml */ RadioGroup1 = (RadioGroup) findViewById(R.id.RadioGroup1); RadioButton1 = (RadioButton) findViewById(R.id.RadioButton1); RadioButton2 = (RadioButton) findViewById(R.id.RadioButton2); RadioButton3 = (RadioButton) findViewById(R.id.RadioButton3); Button1 = (Button) findViewById(R.id.Button1); EditText1 = (EditText) findViewById(R.id.EditText1); EditText1.setText(""); TextView1 = (TextView) findViewById(R.id.TextView1); /*Jika tombol diclick jalankan class tomboldiclick */

Button1.setOnClickListener(new tomboldiclick()); }

// Berhubungan dengan button melalui XML // Bagian ini untuk handler button pada widget class tomboldiclick implements Button.OnClickListener { public void onClick(View v) { if (v == Button1) { if (RadioButton1.isChecked()) { EditText1.setText("Gedung peninggalan Belanda yang kini menjadi kantor Gubernur Jawa Barat."); } if (RadioButton2.isChecked()) { EditText1.setText("Tempat diadakannya Konferensi Asia Afrika oleh Presiden Soekarno."); } if (RadioButton3.isChecked()) { EditText1.setText("Merupakan hotel tertua di kota Bandung peninggalan Belanda."); } } } } }

Kemudian beralih ke layout --> wisata-sejarah_bandung.xml. Buka via XML Android editor di ADT Eclipse, kemudian ganti dengan script ini :
27

android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">

Kemudian buat lagi file XML untuk membantu layout menampilkan data yang tersimpan di database ke aplikasi di Android. Buatlah sebuah file XML bernama tampilkanmenu.xml, lalu isikan dengan script berikut :

79

Gambar File XML tampilkanmenu.xml Sekarang kita melakukan proses coding untuk Java. Pertama, dilakukan coding terhadap file Java bernama Warungmakanan.java (yang menjadi main acitivy). Di dalamnya ditampilkan menu untuk Tambah data menu makanan, Lihat data menu makanan, dan menu Keluar. Isikan dengan script Java berikut ini : package com.putushinoda.warungmakan; import import import import import import import import import

android.os.Bundle; android.app.Activity; android.view.Menu; android.app.ListActivity; android.content.Intent; android.view.View; android.widget.ArrayAdapter; android.widget.ListView; android.widget.Toast;

public class Warungmakanan extends ListActivity { public void onCreate(Bundle icicle) { super.onCreate(icicle); String[] menu = new String[] { "Tambah Menu", "Tampilkan Menu", "Keluar" }; this.setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, menu)); } protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Object o = this.getListAdapter().getItem(position);

80

}

String pilihan = o.toString(); tampilkanPilihan(pilihan);

protected void tampilkanPilihan(String pilihan) { try { Intent i = null; if (pilihan.equals("Tambah Menu")) { i = new Intent(this, InsertActivity.class); } else if (pilihan.equals("Tampilkan Menu")) { i = new Intent(this, JSONActivity.class); } else if (pilihan.equals("Keluar")) { finish(); } else { Toast.makeText(this,"Anda Memilih: " + pilihan + " , " + "Actionnya belum dibuat", Toast.LENGTH_LONG).show();

}

} startActivity(i); } catch (Exception e) { e.printStackTrace(); }

}

Kemudian buatlah kelas Java yang baru untuk fungsionalitas penambahan data menu makanan ke dalam server (melalui aplikasi Android ini). Berikan nama kelas ini Tambahmenu.java. Untuk membuatnya, klik kanan project anda di bagian nama-project/src/com.nama-project,, kemudian pilih opsi New -> Class, isikan dengan nama kelas Tambahmenu.

Gambar Membuat kelas Java baru

81

Gambar Memberikan nama kelas batu Java Isi dari file Tambahmenu.java adalah sebagai berikut : package com.putushinoda.warungmakan; import import import import import import import import import import

android.os.Bundle; android.app.Activity; android.view.Menu; android.app.ListActivity; android.content.Intent; android.view.View; android.widget.ArrayAdapter; android.widget.ListView; android.widget.Toast; android.R;

public class Warungmakanan extends ListActivity { public void onCreate(Bundle icicle) { super.onCreate(icicle); String[] menu = new String[] { "Tambah Menu", "Tampilkan Menu", "Keluar" }; this.setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, menu)); } protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); Object o = this.getListAdapter().getItem(position); String pilihan = o.toString(); tampilkanPilihan(pilihan);

82

} protected void tampilkanPilihan(String pilihan) { try { Intent i = null; if (pilihan.equals("Tambah Menu")) { i = new Intent(this, Tambahmenu.class); } else if (pilihan.equals("Tampilkan Menu")) { i = new Intent(this, JSONActivity.class); } else if (pilihan.equals("Keluar")) { finish(); } else { Toast.makeText(this,"Anda Memilih: " + pilihan + " , " + "Actionnya belum dibuat", Toast.LENGTH_LONG).show();

}

} startActivity(i); } catch (Exception e) { e.printStackTrace(); }

}

Kemudian

lanjutkan

lagi

dengan

membuat

kelas

Java

baru bernama

JSONActivity.java. Kelas ini berfungsi untuk menampilkan data yang tersimpan di database server (dalam bentuk JSON). Berikut isi script Java untuk file kelas JSONActivity.java package com.putushinoda.warungmakan; import import import import import import import import import import import import import

java.io.BufferedReader; java.io.InputStream; java.io.InputStreamReader; org.apache.http.HttpResponse; org.apache.http.client.HttpClient; org.apache.http.client.methods.HttpGet; org.apache.http.impl.client.DefaultHttpClient; org.json.JSONArray; org.json.JSONObject; android.app.Activity; android.os.Bundle; android.widget.TextView; android.widget.Toast;

public class JSONActivity extends Activity { private JSONObject jObject; private String xResult =""; private String url = "http://10.0.2.2/warungmakan/daftarmakanan.php"; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.warungmakanan); TextView txtResult = (TextView)findViewById(R.id.action_settings);

83

xResult = getRequest(url); try { parse(txtResult); } catch (Exception e) { e.printStackTrace(); }

} private void parse(TextView txtResult) throws Exception { jObject = new JSONObject(xResult); JSONArray menuitemArray = jObject.getJSONArray("makanan"); String sret=""; for (int i = 0; i < menuitemArray.length(); i++) { sret +=menuitemArray.getJSONObject(i) .getString("nama_makanan").toString()+" : "; System.out.println(menuitemArray.getJSONObject(i) .getString("nama_makanan").toString()); System.out.println(menuitemArray.getJSONObject(i).getString( "harga").toString()); sret +=menuitemArray.getJSONObject(i).getString( "harga").toString()+"\n"; } txtResult.setText(sret); } public String getRequest(String Url) { String sret=""; HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(Url); try { HttpResponse response = client.execute(request); sret =request(response); } catch(Exception ex) { Toast.makeText(this,"Gagal "+sret, Toast.LENGTH_SHORT).show(); } return sret; } public static String request(HttpResponse response){ String result = ""; try{ InputStream in = response.getEntity().getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder str = new StringBuilder(); String line = null; while((line = reader.readLine()) != null){ str.append(line + "\n"); } in.close(); result = str.toString(); }catch(Exception ex){ result = "Error"; } return result; } }

84

Pada kedua contoh di atas, alamat http://10.0.2.2 menggantikan alamat http://127.0.0.1 atau http://localhost atau http://alamatip-address-atau-web-anda

Kemudian editlah file Androidmanifest.xml yang ada di project aplikasi Android anda ini, dengan cara klik kanan file tersebut, kemudian pilih opsi Open With --> Android Common XML Editor. Gantilah dengan script berikut ini :

Kini beralih ke PHP dan MyQL Aktifkan XAMPP server anda dengan perintah berikut : bash-4.2# /opt/lampp/lampp start

Perintah di atas akan mengaktifkan sekaligus Apache web server, MySQL database server, dan interface database PHPMyAdmin. Kini buatlah sebuah database bernama warungmakan, dengan sebuah tabel di dalamnya bernama makanan. Isi dari tabel makanan adalah field id_makanan (Int, 11, not null),

85

nama_makanan (Varchar, 50), dan harga_makanan (Int, 11). Atur id-makanan sebagai primary key dalam tabel ini. Gunakan PHPMyAdmin untuk membuat database dan tabel beserta field tersebut, atau masukkan script SQL berikut di PHPmyAdmin atau SQL anda : 1.) Untuk membuat database : CREATE DATABASE warungmakan;

2.) Untuk membuat tabel dan field di dalamnya : CREATE TABLE tbl_makanan ( id_makanan INT(11) NOT NULL AUTO_INCREMENT, nama_makanan VARCHAR(50) NOT NULL, harga_makanan INT(11) NOT NULL, PRIMARY KEY (id_makanan) ) ENGINE=MyISAM;

Kemudian buatlah sebuah direktori bernama warungmakan di root web anda (/opt/lampp/htdocs), serta berikan akses sepenuhnya (777) : bash-4.2# mkdir /opt/lampp/htdocs/warungmakan/ bash-4.2# chmod 777 -R /opt/lampp/htdocs/warungmakan/ bash-4.2#

Lalu buatlah sebuah file PHP bernama daftarmakanan.php. Pada contoh ini digunakan editor (IDE) Geany untuk pemrograman PHP di linux. Isi script sebagai berikut :
=

mysql_query($query,

query database :

$link)

or

'.$query);

$rows = array(); while ($r = mysql_fetch_assoc($result)) {

86

die('Terjadi

kesalahan

$rows[] = $r; } $data = "{Menu yang tersedia :".json_encode($rows)."}"; echo $data; ?>

Kemudian kembali lagi ke PHPMyAdmin dengan kondisi masih berada di database warungmakan. Kemudian masukkan data – data berikut, atau gunaan menu SQL untuk memasukkan script SQL berikut ini : insert into tbl_makanan values(null,'Nasi + ayam penyet',15000); insert

into

tbl_makanan

values(null,'Sayur

pecel

+

ketupat',10000); insert into tbl_makanan values( null,'Roti keju',8000);

Jika benar, maka seharusnya ketiga data ini akan masuk ke tabel makanan. Anda bisa mengeceknya melalui tab menu Jelajah (browse). Kini buat lagi sebuah file PHP bernama tambahmenu.php yang berfungsi untuk mengatur proses penambahan menu makanan. Masukkan script PHP berikut ini :
=

"insert

into

tbl_makanan

(nama_makanan,harga_makanan)

values('".$nama_makanan."',".$harga_makanan.")"; $result

=

mysql_query($query,

query di database :

$link)

or

die('Terjadi

kesalahan

'.$query);

echo "Penambahan menu makanan sukses !"; ?>

Kemudian buat lagi sebuah file PHP bernama menu.php. File ini berfungsi untuk mengelola menu makanan yang ada. Isikan dengan script berikut ini :
87

$link = mysql_connect('localhost', 'root', 'root') or die('Tidak dapat terhubung ke database'); mysql_select_db('warungmakan',

$link)

or

die('Tidak

dapat

terhubung ke database'); $query = "SELECT nama_makanan, harga_makanan FROM tbl_makanan"; $result

=

mysql_query($query,

query di database :

$link)

or

die('Terjadi

kesalahan

'.$query);

$rows = array(); while ($r = mysql_fetch_assoc($result)) { $rows[] = $r; } $data = "{Memu yang tersedia ".json_encode($rows)."}"; echo $data; ?>

Jika semuanya sudah tersimpan dengan baik, kemudian klik kanan project anda dan pilih opsi Run as Android application, Maka seharusnya akan dijalankan di emulator android anda (AVD), aplikasi yang menampilkan 3 buah pilihan, yaitu : Tambah Menu, Tampilkan Menu, dan Keluar. Semua data yang ditambahkan (insert) maupun ditampilkan (view) merupakan data yang tersimpan di database server dan ditampikan secara remote melalui query database memanfaatkan koneksi jaringan.

III.5.2 Koneksi Dengan SQL Server di Android Koneksi aplikasi Android dengan SQL server dapat dilakukan dengan cara yang sama seperti koneksi MySQL. Anda cukup menginstal SQL server di komputer anda dan membuat koneksi ke PHP (jika diperlukan) dan interface berupa aplikasi Android (di client). Untuk contoh anda dapat merujuk kembali ke panduan di MySQL. Berdasarkan panduan SQLite di materi sebelumnya, anda juga dapat memanfaatkannya untuk membuat koneksi aplikasi Android ke SQL. Tentu saja,

88

anda

harus

sudah

menginstal

(http://www.zentus.com/sqlitejdbc/)

SQLite dan

JDBC

SQLite

Server Browser

(http://sqlitebrowser.sourceforge.net/). Berikut

adalah

contoh

yang

penulis

peroleh

dari

sumber

http://blog.om4g.us/2011/05/java-sqlite-membuat-aplikasi-database-sql-berbasisteks-tanpa-server/#more-680. Anda dapat langsung mengunduh contoh aplikasi dari link tersebut yang disediakan oleh si pembuat aplikasi (Oki Agus Muttaqin). Pertama – tama, buatlah sebuah proyek baru di Eclipse anda, misalkan AndroSQL. Kemudian buatkan file bernama mainFrame.java dengan kode sebagai berikut ini (script penulis ambil langsung dari contoh di link di atas) : package us.om4g; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class MainFrame extends javax.swing.JFrame { public MainFrame() { initComponents(); connectDatabase(); } private void initComponents() { buttonGroup1 = new javax.swing.ButtonGroup(); jButton1 = new javax.swing.JButton(); jTextField1 = new javax.swing.JTextField(); jTextField2 = new javax.swing.JTextField(); jRadioButton1 = new javax.swing.JRadioButton(); jRadioButton2 = new javax.swing.JRadioButton(); jLabel1 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jButton2 = new javax.swing.JButton();

89

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ ON_CLOSE); jButton1.setText("Simpan"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); buttonGroup1.add(jRadioButton1); jRadioButton1.setText("L"); buttonGroup1.add(jRadioButton2); jRadioButton2.setText("P"); jLabel1.setText("ID"); jLabel2.setText("Nama"); jLabel3.setText("Jenis Kelamin"); jButton2.setText("Cari"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton2ActionPerformed(evt); } }); javax.swing.GroupLayout

layout

=

new

javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(layout.createSequentialGroup()

90

.addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(57, 57, 57) .addGroup(layout.createParallelGroup(javax .swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1) .addComponent(jLabel3) .addComponent(jLabel2)) .addGroup(layout.createParallelGroup(javax .swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup () .addGap(40, 40, 40) .addComponent(jRadioButton1) .addGap(18, 18, 18) .addComponent(jRadioButton2)) .addGroup(layout.createSequentialGroup () .addGap(48, 48, 48) .addGroup(layout.createParallelGro up(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequent ialGroup() .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE,

47,

javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jButton2)) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))) .addGroup(layout.createSequentialGroup() .addGap(142, 142, 142) .addComponent(jButton1))) .addContainerGap(50, Short.MAX_VALUE)) ); layout.setVerticalGroup(

91

162,

layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(31, 31, 31) .addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.TRAILING) .addComponent(jLabel1) .addGroup(layout.createParallelGroup(javax.swi ng.GroupLayout.Alignment.BASELINE) .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButton2))) .addPreferredGap(javax.swing.LayoutStyle.Component Placement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.TRAILING) .addComponent(jLabel2) .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(12, 12, 12) .addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(jRadioButton1) .addComponent(jRadioButton2)) .addGap(18, 18, 18) .addComponent(jButton1) .addContainerGap(52, Short.MAX_VALUE)) ); pack(); } private jButton1ActionPerformed(java.awt.event.ActionEvent evt) { try {

92

void

prep = conn.prepareStatement( "insert into tpegawai values (?, ?, ?);"); prep.setString(1, jTextField1.getText()); prep.setString(2, jTextField2.getText()); if (jRadioButton1.isSelected()) { prep.setString(3, jRadioButton1.getText()); } else { prep.setString(3, jRadioButton2.getText()); } prep.addBatch(); conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); clear(); } catch (Exception ex1) { System.out.println(ex1.toString()); } } private

void

jButton2ActionPerformed(java.awt.event.ActionEvent evt) { try { rs = stat.executeQuery("select * from tpegawai where fid = '" + jTextField1.getText() + "';"); while (rs.next()) { jTextField2.setText(rs.getString("fnama")); if (rs.getString("fjk").equals("L")) { jRadioButton1.setSelected(true); } else { jRadioButton2.setSelected(true); } } rs.close(); conn.close(); } catch (Exception ex1) { System.out.println(ex1.toString()); }

93

} public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new MainFrame().setVisible(true); } }); } public void connectDatabase() { try { Class.forName("org.sqlite.JDBC"); conn = DriverManager.getConnection("jdbc:sqlite:lited b.om4gus"); stat = conn.createStatement(); stat.executeUpdate("create table IF NOT EXISTS tpegawai (fid, fnama, fjk);"); } catch (Exception ex1) { System.out.println(ex1.toString()); } } public void clear(){ jTextField1.setText(""); jTextField2.setText(""); jRadioButton1.setSelected(false); jRadioButton2.setSelected(false); } private Connection conn; private Statement stat; private PreparedStatement prep; private ResultSet rs; private javax.swing.ButtonGroup buttonGroup1; private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2;

94

private javax.swing.JLabel jLabel3; private javax.swing.JRadioButton jRadioButton1; private javax.swing.JRadioButton jRadioButton2; private javax.swing.JTextField jTextField1; private javax.swing.JTextField jTextField2; }

Anda dapat menjalankannya di IDE selain Eclipse, misalkan Netbeans (https://netbeans.org/) dan tersedia untuk sistem operasi Linux, Windows, dan Mac OS. Latihan : 1. Berdasarkan penjelasan di atas, coba salin script di contoh – contoh di atas kemudian jalankan di Eclipse pada Linux anda. 2. Kemudian coba anda ubah parameter/isi script di atas dan jalankan, sambil pahami setiap kelas, fungsi, dan prosedur yang ada di dalamnya. 3. Ubahlah contoh – contoh aplikasi di atas sesuai keinginan anda, dengan tetap mengacu kepada materi bab ini (misal : pada contoh MySQL Android menggunakan kasus stok barang, anda dapat mengubahnya menjadi absensi siswa, atau lainnya).

95

Bab IV

Level Expert Android (1)

Tujuan : Melalui Bab 4 ini diharapkan pembaca dapat mengetahui mengenai : 1. Konsep pemetaan di Android menggunakan GIS/GPS/Coding Map 2. Praktek langsung aplikasi pemetaan di Android untuk dijalankan di emulator Android (AVD). 3. Konsep dan penerapan handle telephone di emulator Android (mencakup : dial panggilan telepon dan kirim pesan SMS). 4. Contoh aplikasi penerapan (HTML5 Integration).

IV.1 Pemetaan di Android IV.1.1 Location Based Service Location Based Service (LBS) merupakan sebuah layanan untuk menemukan lokasi perangkat mobile anda secara online, sehingga posisi pengguna perangkat mobile maupun objek tertentu lainnya yang terkait. Informasi yang diberikan ini dapat meningkatkan nilai informasi itu sendiri serta dapat diolah menjadi beragam layanan dan informasi lainnya yang makin bermanfaat. Sebelum lanjut ke sesi pemrograman untuk pemetaan di android, ada baiknya diketahui dulu mengenai elemen dan komponen penting pada LBS ini. LBS memiliki dua buah elemen utama, yaitu Location Manager (API Maps) dan Location Provider (API location). LBS memiliki lima komponen utama yang mencakup perangkat mobile (handphone, GPS, smartphone, lainnnya), jaringan komunikasi (misalkan GSM pada provider), komponen penunjuk lokasi (positioning), penyedia layanan dan aplikasi (untuk memproses data menjadi informasi), serta penyedia data dan konten (dapat berasal dari data sendiri, dapat berasal dari pihak ketiga/penyedia). Location Manager (API/Application Programming Interface) Maps berfungsi untuk menampilkan dan memanipulasi data. Elemen ini diperoleh dengan menggunakan paket com.google.android.maps. Tentunya anda harus mengaktifkan API ini di project anda dan menggenerate key (dijelaskan di sub bab

96

selanjutnya). Location Provider (API location) berfungsi untuk mencari lokasi. Elemen ini dapat dijalankan dengan menggunakan paket Android Location. IV.1.2 GPS di Android Menggunakan Emulator Berikut akan dijabarkan sebuah aplikasi sederhana untuk menampilkan koordinat lokasi anda via aplikasi Android. Aplikasi ini memanfaatkan konsep pemetaan (GPS) di Android. Pertama, buatlah sebuah project aplikasi android di eclipse dengan nama Androgps, dengan nama package com.putushinoda.androgps (boleh ganti dengan nama lain). Seperti biasa, tekan Next, lalu isi centang untuk opsi Create Custom Launcher Icon dan Create Activity. Kemudian klik Next untuk memilih Launcher icon (default saja). Lalu klik Next dan pilih Blank Acitivy. Kemudian Next lagi dan berikan nama Androgps untuk Activity name, androgps untuk layout name, dan untuk navigation type pilih none. Lalu klik Finish. Setelah terbentuk project, kemudian pada file Androidmanifest.xml, isikan kode sebagai berikut di dalamnya :

97



Opsi

android.permission.ACCESS_FINE_LOCATION

berfungsi

untuk

menjalankan fungsi android.location (pemetaan lokasi di android). Kemudian pada file Androgps.java yang berada di project anda --> src --> com.putushinoda.androgps, isikan dengan kode berikut : package com.putushinoda.androgps; import import import import import import import import import

android.os.Bundle; android.app.Activity; android.view.Menu; android.app.Activity; android.content.Context; android.location.Location; android.location.LocationManager; android.os.Bundle; android.widget.TextView;

public class Androgps extends Activity { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.androgps); LocationManager locationManager; locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER) ; updateWithNewLocation(location); } /** Update UI with a new location */ private void updateWithNewLocation(Location location) { TextView myLocationText = (TextView)findViewById(R.id.action_settings); String latLongString; if (location != null) { double lat = location.getLatitude(); double lng = location.getLongitude(); latLongString = "Lat:" + lat + "\nLong:" + lng; } else { latLongString = "Tidak ada lokasi yang ditemukan !"; } myLocationText.setText("Posisi anda saat ini adalah :\n" + latLongString); }

98

}

Jika sudah selesai mengerjakan semuanya, kemudian simpan project anda. Lalu lanjutkan dengan klik kanan dan pilih opsi Run as Android application.

Gambar Menjalankan aplikasi peoject GPS android Anda juga wajib menjalankan DDMS (Dalvik Debug Monitor System) untuk mengecek GPS di emulator android anda. Lokasinya berada di path SDK android anda --> tools --> ddms --> klik saja. Pada contoh ini berada di /home/certaindeath/adt-bundle-linux-x86-20130522/sdk/tools

99

Gambar Lokasi ddms berada di SDK android Klik otomatis file eksekusi ddms tersebut agar berjalan di terminal Linux lalu menampilkan GUI. Kemudian setelah DDMS muncul, pilih emulator yang digunakan untuk menjalankan aplikasi project anda --> pilih Emulator Control --> Location Controls --> Manual --> klik tombol Send.

Gambar DDMS dijalankan Aplikasi project yang telah dirunning maka akan terinstall dan ditampilkan di menu aplikasi pada emulator anda :

100

Gambar Aplikasi berada di menu aplikasi pada emulator IV.1.3 API Key Google Untuk

dapat

menggunakan

fitur

layanan

pemetaan

di Android

memanfaatkan LBS (Location Based Service), perlu adanya key untuk API Google Map. Anda dapat menggeneratenya secara manual di IDE Eclipse, baik pada sistem operasi Linux, Windows, maupun Mac OS. Mulai Google Map API V2), Google tidak lagi memperkenankan kita untuk mengirimkan API yang telah digenerate sebelumnya di terminal. Google API kini didistribusikan sebagai bagian dari Goole Play Service SDK. Anda bisa mengecek rujukannya di : https://developers.google.com/maps/documentation/android/. Untuk sumber panduan lengkap penulis mengambilnya di https://developers.google.com/maps/documentation/android/start#installing_the_g oogle_maps_android_v2_api Pertama, masih dalam keadaan menjalankan Eclipse dan ADT, beralihlah ke tab menu Windows --> Android SDK Manager, kemudian anda akan melihat beragam versi Android dengan API di bagian kiri. Pilihlah versi terbaru (pada contoh ini penulis memilih versi terbaru yaitu Android 4.3 API 18). Centangilah opsi install untuk Google API. Kemudian sistem akan menampilkan list untuk

101

setiap tambahan tersebut. Klik Install dan klik opsi untuk menyetujui ketentuan yang disertakan. Kemudian biarkan proses instalasi berjalan. Lama tidaknya sesuai dengan kecepatan internet anda dan spesifikasi komputer yang digunakan.

Gambar Menambahkan Google API

Gambar Menyetujui ketentuan dan persiapan instalasi

102

Gambar Mulai instalasi IV.1.4 Contoh Aplikasi Penerapan Berikut

akan

disajikan

pembuatan

sebuah

aplikasi

sederhana

memanfaatkan Google API untuk pemetaan di aplikasi Android. Seperti biasa, buka Eclipse, kemudian pilih File --> New --> Android Application Project. Kita misalkan

nama

aplikasi

proyek

ini

GPSKu

dengan

com.putushinoda.gpsku.

Gambar Memulai proyek GPSKu

103

nama

package

Kemudian lanjutkan dengan mencentangi opsi untuk Create Custom Launcher Icon, Create Activity, dan Create Project in Workspace.

Gambar Centangi custom launcher, icon, dan workspace Pada pilihan untuk Configure Launcher Icon, pilihlah launcher icon untuk proyek anda. Klik tombol Next untuk melanjutkan.

Gambar Mengkonfigurasi Launcher Icon

104

Pada halaman selanjutnya adalah membuat (create) activity. Anda boleh memilih Blank Activity.

Gambar Membuat Blank Activity Lanjutkan dengan memberikan nilai untuk Blank Activity, misalkan untuk Actitivy Name diisikan GPSActivity, Layout Name diisikan dengan activity_gps, dan Navigation Type diisikan dengan none.

Gambar Pemberian nilai untuk Blank Activity

105

Kini pada layar komputer anda akan tampil paket di Eclipse terkait proyek anda. Pada bagian file activity_gps.xml (di /res/layout) isikan dengan script berikut : Kemudian pada file GPSActivity.java isikan dengan file berikut ini : package com.putushinoda.gpsku; import import import import import import import import import

android.os.Bundle; android.app.Activity; android.view.Menu; com.google.android.gms.maps.GoogleMap; com.google.android.gms.maps.SupportMapFragment; com.google.android.gms.maps.model.LatLng; com.google.android.gms.maps.model.MarkerOptions; android.support.v4.app.FragmentActivity; android.view.Menu; public class GPSActivity extends FragmentActivity { private GoogleMap mMap; private LatLng mLokasi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // data dummy mLokasi = new LatLng(-7.841785, 110.469904); // setup maps initMap(); } /** * inisialisasi map ketika pertama kali jalan */

106

private void initMap() { // cek apakah map kosong atau tidak if (mMap == null) { mMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); // jika maps sudah ada, // maka setup map, if(mMap!=null){ setupMap(); } } } private void setupMap() { mMap.setMyLocationEnabled(true); mMap.addMarker(new MarkerOptions().position(mLokasi)); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }

Kemudian cek di file AndroidManifest.xml, kemudian ubah isi di dalamnya menjadi seperti berikut ini :

107



Kini jalankan proyek anda melalui AVD. IV.2 Handle Telephone di Android Pada panduan di sub bab ini, kita akan belajar untuk membuat beberapa aksi di emulator sebagaimana layaknya di mobile/smartphone asli (hardware). Beberapa aksi umum tersebut mencakup dial panggilan dan SMS. Melalui panduan ini anda akan dapat mengetahui tentang kemampuan emulator Android untuk menyerupai device handphone sebenarnya. IV.2.1 Dial Panggilan di Emulator Android Dial panggilan ini dapat digunakan untuk menguji sebuah panggilan dari sembarang nomor layaknya di handphone asli. Untuk melakukan ini, anda perlu mengklik (jalankan) file eksekusi ddms yang berada di lokasi SDK android anda (yaitu di /home/certain-death/adt-bundle-linux-x86-20130522/sdk/tools). DDMS (Dalvic Debug Management System) merupakan sebuah file eksekusi yang berguna sebagai pengendali dan debugger emulator Android. Nah

108

setelah file ini dijalankan, akan muncul tampilan awal dan pilihlah tab menu Emulator Control (kanan). Pastikan bahwa sebelum anda menjalankan DDMS, anda telah menjalankan AVD.

Gambar Lokasi file ddms

Gambar DDMS dijalankan

109

Pada kolom Incoming Number, masukkan nomor telepon sembarangan. Anggap nomor tersebut adalah nomor yang akan menghubungi “handphone“ anda di emulator (AVD). Kemudian lanjutkan dengan mengklik tombol Call.

Gambar Memasukkan Incoming Number

Gambar Menerima panggilan di emualator

110

IV.2.2 SMS Emulator di Android Sekarang kita mencoba sebuah emulator pengiriman dan penerimaan pesan

(SMS)

di

emulator

(AVD),

layaknya

seperti

di

perangkat

handphone/smartphone asli. Langkahnya sama seperti sub bab di atas (Telepon Dial Up), hanya saja anda cukup mengganti lokasi memasukkan nomor (Incoming Number) dari voice ke SMS.

Gambar Kirim pesan berupa SMS IV.3 Beberapa Studi Kasus Aplikasi Android IV.3.1 Integrasi dengan HTML 5 Kita pun dapat mengintegrasikan HTML 5 dengan pemrograman aplikasi di Android. Ada 2 pilihan yang dapat anda gunakan. Pertama, secara langsung (native) di Android. Kedua, menggunakan framework PhoneGap. Berikut akan ditampilkan proses integrasi HTML 5 dengan pemrograman aplikasi Android secara native. Pertama,

seperti

HTML5AndroidGue.

biasa

dibuat

sebuah

project

bernama

Lanjutkan dengan membuat launcher icon dan activity.

Pada bagian launcher icon, pilhlah icon yang ingin anda gunakan untuk launcher icon aplikasi anda. Untuk activity, pilihlah blank activity, kemudian berikan nama

111

untuk acitivy anda (Activity Name) HTML5AndroidGue. Sedangkan untuk layout name berikan nama html5_android_gue.

Gambar membuat project

Gambar Membuat Launcher icon dan activity

112

Gambar Memilih launcher icon

Gambar Memilih blank activity

113

Gambar Memberikan nama untuk blank activity Setelah selesai klik Finish. Seharusnya akan terbentuk project anda. Kini lakukan penambahan script pada beberapa file berikut ini (html5_android_gue.xml dan html5_android_gue.java, dan Manifest.XML). Pada file html5_android_gw.xml, isikan dengan script berikut ini :

Pada file html5_android_gue.java, isikan dengan script Java berikut ini : package com.putushinoda.html5androidgue; import import import import import import import

android.os.Bundle; android.app.Activity; android.view.Menu; android.view.Window; android.webkit.WebSettings; android.webkit.WebView; android.webkit.WebViewClient;

public class HTML5AndroidGue extends Activity { WebView webview;

114

WebSettings websettings; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.html5_android_gue); webview=(WebView)findViewById(R.id.webview); websettings=webview.getSettings(); websettings.setJavaScriptEnabled(true); webview.setWebViewClient(new WebViewClient()); webview.loadUrl("http://10.0.2.2/html5androidgue/index.html"); }

}

Pada file Manifest.xml, isikan dengan script berikut ini :

115

Gambar File manifest.xml di project

Gambar file XML untuk layout

116

Gambar File HTML5AndroidGue.java Kemudian aktifkan XAMPP server anda (misalkan di contoh ini XAMPP Linux dengan

perintah

/opt/lampp/htdocs).

Kemudian

pindahlah

ke

lokasi

/opt/lampp/htdocs sebagai root web anda. Buatlah sebuah folder bernama htmnl5androidgue, kemudian buatkan file index.html. Isikan dengan script HTML 5 sebagai berikut ini : HTML 5 di Android Gue

HTML 5 di Android

Belajar pemrograman di Linux asyik banget ^_^
Jangan menyerah dan selalu berlatih yah...



117

Gambar File HTML 5 Jika sudah, kemudian klik kanan project anda dan pilih opsi Run as Android application. Emulator akan menginstal file .apk dari project anda untuk kemudian menjalankannya di emulator.

Gambar

118

Gambar Aplikasi project terdapat di menu pada emulator

Gambar Aplikasi saat dijalankan di emulator Anda dapat bervariasi lagi dengan membuat kode – kode HTML 5 lainnya. Contoh di atas hanyalah sebuah kode HTML 5 sederhana, sebagaimana layaknya HTML biasa.

119

Bab V

Level Expert Android (2)

Tujuan : Melalui Bab 5 ini diharapkan pembaca dapat mengetahui mengenai : 1. Definisi dan konsep ERP 2. Definisi dan konsep SOA 3. Konsep Mobile ERP 4. Modul – Modul Pada ERP dan Implementasinya Pada Android Application (Porting). V.1

ERP (Enterprise Resource Planning)

V.1.1 Definisi ERP ERP

(Enterprise

Resource

Planning/Perencanaan

Sumber

Daya

Perusahaan) merupakan sebuah perangkat lunak sistem informasi yang di dalamnya

terjadi

proses

integrasi

dan

otomatisasi

proses

bisnis

dari

perusahaan/lembaga yang menerapkannya, dalam hal ini produksi, distribusi, dan operasi. ERP bersifat sebagai back office system, bukan front office system (seperti halnya E-Commerce, CRM, E-Gov), sehingga di dalam ERP pelanggan dan publik tidak disertakan dalam sistem. Penerapan ERP akan makin optimal jika adanya hardware, software, infrastruktur jaringan, komputer, dan SDM yang memadai. V.1.2 Manfaat ERP ERP memberikan banyak manfaat, antara lain : memudahkan top level management di dalam melihat dan mengontrol kinerja keuangan perusahaan, meningkatkan produktifitas, meningkatkan mutu produk,

menyeragamkan

laporan untuk standarisasi data dan informasi. V.1.3 Modul – Modul Pada ERP Beberapa modul yang terdapat pada ERP untuk perlu diketahui antara lain modul operasi (General Logistics, Sales and Distribution, Materials Management, Logistics Execution, Quality Management, Plant Maintenance, Customer Service, Production Planning and Control, Project System, Environment Management), 120

modul finansial dan akuntasi (General Accounting, Financial Accounting, Controlling, Investment Management, Treasury, Enterprise Controlling,), dan modul Sumber Daya Manusia (Personnel Management, Personnel Time Management, Payroll, Training and Event Management, Organizational Management, Travel Management). V.2

SOA (Service Oriented Architecture)

V.2.1 Definisi SOA SOA (Service Oriented Architecture/Arsitektur Berorientasi Layanan) merupakan sebuah pemodelan arsitektur untuk membuat dan menggunakan proses bisnis terkait dengan suatu sistem dan paket layanan dalam bentuk perangkat lunak, sepanjang siklus perangkat lunak tersebut. SOA mencakup komponen 4P (People, Platform, Process, Practice). V.2.2 Manfaat SOA Sebagai sebuah pemodelan arsitektur, SOA memungkinkan intergasi data antar perusahaan terjadi, sehingga menunjang tercapainya inovasi, keterhubungan layanan, peningkatan produktifitas, serta strategi bisnis berbasis teknologi. Manfaat – manfaat inilah yang akan diperoleh di dalam penerapan SOA. V.3

Implementasi Modul – Modul ERP Di Android (Porting/Mobile ERP)

V.3.1 Latar Belakang Terkait dengan materi pendahuluan mengenai ERP dan SOA di atas, maka akan dilanjutkan dengan materi mengenai layanan mobile yang dewasa ini makin banyak diimplementasikan. Implementasi ke dalam bentuk mobile tidaklah terjadi pada semua jenis aplikasi. Meski demikian, dengan adanya teknologi cloud computing, peranan platform mobile setidaknya mengubah paradigma para pengembang aplikasi untuk mencoba membuat versi mobile atau interface mobile. V.3.2 Mobile ERP ERP sebagaimana diketahui, saat ini berjalan di komputer desktop dan komputer server (termasuk untuk databasenya). Ini berarti semua pengguna dan para pengambil keputusan hanya dapat melakukannya melalui koneksi wired dan

121

wireless dari komputer desktop dan komputer jinjing. Berdasarkan permasalahan ini, dicoba diberikan solusi untuk pembuatan mobiel ERP berupa interface application berbasis mobile Android untuk menghubungkan pengguna ke server ERP (termasuk juga ke database), sebagai sebuah layanan. Layanan ini mencakup proses login, melihat data, input data, edit/delete data, grafik, dan sebagainya, melalui mobile device. Ini bukan berarti bahwa aplikasi mobile ERP sepenuhnya menggunakan device mobile anda (smartphone, tablet) untuk menyimpan dan mengolah data ERP yang sedemikian besar dan kompleks. Sebuah/beberapa server ERP dan koneksi jaringan tetap diperlukan, sedangkan aplikasi di mobile dengan basis Android akan menampilkan sekaligus membantu anda mengolah data di server ERP. Antara perangkat mobile anda (dengan aplikasi ERP mobile) dan server ERP dijembatani oleh SOA. Ilustrasinya dapat digambarkan dalam bagan sederhana sebagai berikut :

Gambar Bagan Android – SOA – ERP server

V.3.3 Manfaat Dengan adanya implementasi mobile ERP diharapkan dapat membantu para pengguna (termasuk para pengambil keputusan di perusahaan pemakai ERP terhadap hasil yang ditunjukkan oleh ERP system) dengan lebih mudah. Mereka cukup menghubungkan device mobile mereka ke server ERP melalui jaringan yang tersedia, kemudian mengakses semua menu, layanan, dan data di ERP melalui interface aplikasi mobile yang telah diinstal sebelumnya.

122

V.3.4 Implementasi Berikut akan dicoba dijabarkan contoh implementasi mobile ERP. Pada kasus ini akan diinstal terlebih dahulu aplikasi ERP (contoh menggunakan produk open source bernama Open ERP). Kemudian dibuatkan sebuah script Java pada project Android anda untuk mengkoneksikan dengan server Open ERP. Dengan adanya koneksi ini, maka memudahkan di dalam melakukan remote ke mesin server Open ERP untuk melihat, memasukkan, mengedit, maupun menghapus data di dalamnya. Pertama, lakukan instalasi Open ERP di komputer Linux anda. Pada Linux versi Red Hat based digunakan perintah yum install ke server repository. Untuk distro basis lainnya menyesuaikan (misal basis Debian dan Ubuntu dengan apt-get install). bash-4.2# yum install openerp Setelah selesai, kemudian jalankan aplikasi Open ERP di sistem operasi Linux anda. Pastikan bahwa anda sudah mengaktifkan layanan database yang diperlukan (PostGreSQL/MySQL). Langkah selanjutny adalah membuat aplikasi berbasis Android untuk interface (tatap muka) yang menghubungkan perangkat mobile anda (misalkan smartphone) dengan sistem di Open ERP beserta database. Ini bermanfaat untuk memudahkan anda di dalam mengelola ERP secara cepat, mudah, dan mobile tanpa harus berada di depan komputer. Untuk contoh, penulis menyarankan anda mencoba mengunduh dan menjalankan

salah satu proyek open source Android Open ERP di

https://github.com/zikzakmedia/android-openerp. Akhir kata, sampai di sini panduan yang penulis sampaikan untuk pemrograman aplikasi Android. Penulis menyadari segala kekurangan yang penulis miliki. Penulis menyarankan pembaca untuk membaca lagi referensi – referensi yang penulis gunakan (sebagian besar dari internet) melalui link (URL) yang disertakan, dan tentu saja melalui mesin pencari Google.

123

Daftar Pustaka [1] Nazruddin Safaat H (2012) : Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Penerbit Informatika. Bandung.

124

modul-pelatihan-android-itb.pdf

modul-pelatihan-android-itb.pdf. modul-pelatihan-android-itb.pdf. Open. Extract. Open with. Sign In. Main menu. Displaying modul-pelatihan-android-itb.pdf.

14MB Sizes 11 Downloads 220 Views

Recommend Documents

No documents