Anda di halaman 1dari 37

LAB.

MEANING PRODI KA UNIKOM

Pelatihan Cepat Bisa


Android
Rio Yunanto, S.Kom., M.T.

abighazy@gmail.com

2013

RioYunanto

Daftar Isi

Daftar Isi ............................................................................................................................................. 2


Chapter 1: Pengenalan Android ......................................................................................................... 3
Sejarah Singkat Android ................................................................................................................. 3
Android versi 1.1 ........................................................................................................................ 4
Android versi 1.5 (Cupcake) ....................................................................................................... 4
Android versi 1.6 (Donut) ........................................................................................................... 5
Android versi 2.0/2.1 (Eclair)...................................................................................................... 5
Android versi 2.2 (Froyo: Frozen Yoghurt) ................................................................................. 6
Android versi 2.3 (Gingerbread) ................................................................................................. 6
Android versi 3.0/3.1 (Honeycomb) ........................................................................................... 7
Android versi 4.0 (ICS: Ice Cream Sandwich) ............................................................................. 7
Android versi 4.1 (Jelly Bean) ..................................................................................................... 7
Fitur dan Komunitas ................................................................................................................... 8
Chapter 2: Instalasi Android ............................................................................................................... 9
Instalasi JDK (Java Development Kit)............................................................................................ 10
Instalasi ADT-Bundle for Windows ............................................................................................... 11
Membuat Android Virtual Device ................................................................................................ 12
Memulai Project Hello World ....................................................................................................... 13
Chapter 3: Cepat Bisa Pemrograman Android ................................................................................. 17
Project 1. EditText dan Toas ......................................................................................................... 17
Project 2. Menu Aplikasi dengan Button ..................................................................................... 19
Project 3. Mengirim SMS.............................................................................................................. 22
Project 4. Simulasi Client-Server dengan MySQL ......................................................................... 25
Membuat Database Server dengan MySQL ............................................................................. 25
Membuat Aplikasi Server dengan PHP ..................................................................................... 26
Membuat Aplikasi Client dengan Android ............................................................................... 27
Referensi .......................................................................................................................................... 37

2 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

Chapter 1: Pengenalan Android

Lisensi Dokumen:
Copyright 2013 Lab. Meaning Prodi KA UNIKOM
Seluruh dokumen di Lab. Meaning Prodi KA UNIKOM dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak
menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan
dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali
mendapatkan ijin terlebih dahulu dari Lab. Meaning Prodi KA UNIKOM.

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar
dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya,
Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel.
Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari
34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel,
Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance
menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak,
Google merilis kodekode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan
standar terbuka perangkat seluler.
Di dunia 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).

Sejarah Singkat Android


Pada Juli 2005, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto,
California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy
Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android
Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa
Google hendak memasuki pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin

3 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini
menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon
seluler.
Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi
telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar GSM
yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC
Corporation dan tersedia di pasaran pada 5 Januari 2010).
Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android
ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd,
Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open
Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat bergerak
(mobile) yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan
berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru.
Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22
Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18
jenis telepon seluler yang menggunakan Android.
Android versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan
pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan
dengan Gmail, dan pemberitahuan email.

Gambar Logo Android versi 1.1

Android versi 1.5 (Cupcake)


Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan
Android dan SDK (Software Development Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa
pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan
merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube dan
gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung
secara otomatis ke headset Bluetooth, animasi layar, dan keyboard pada layar yang dapat
disesuaikan dengan sistem.

RioYunanto

Gambar Logo Android versi 1.5 (Cupcake)

Android versi 1.6 (Donut)


Donut (versi 1.6) dirilis pada bulan September dengan menampilkan proses pencarian yang lebih
baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya
adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera,
camcorder dan galeri yang dintegrasikan; CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-tospeech engine; kemampuan dial kontak; teknologi text to change speech (tidak tersedia pada
semua ponsel; pengadaan resolusi VWGA.

Gambar Logo Android versi 1.6 (Donut)

Android versi 2.0/2.1 (Eclair)


Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair),
perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2,
perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan
flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.

s
Gambar Logo Android versi 2.0/2.1 (Eclair)

RioYunanto

Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi
dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps - aplikasi unggulan). Kompetisi
ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua
tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.
Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin
banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka kepada sistem operasi
Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam,
Backgrounds, dan WeatherBug. Sistem operasi Android dalam situs Internet juga dianggap
penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.
Android versi 2.2 (Froyo: Frozen Yoghurt)
Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umumnya
terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan
aplikasi 2 sampai 5 kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google Chrome
yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card,
kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi Android Market.

Gambar Logo Android versi 2.2 (Froyo: Frozen Yoghurt)

Android versi 2.3 (Gingerbread)


Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan
umum yang didapat dari Android versi ini antara lain peningkatan kemampuan permainan
(gaming), peningkatan fungsi copy paste, layar antar muka (User Interface) didesain ulang,
dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone
virtualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan
dukungan jumlah kamera yang lebih dari satu.

Gambar Logo Android versi 2.3 (Gingerbread)

RioYunanto

Android versi 3.0/3.1 (Honeycomb)


Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar
yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk
tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras
(hardware) untuk grafis. Tablet pertama yang dibuat dengan menjalankan Honeycomb adalah
Motorola Xoom. Perangkat tablet dengan platform Android 3.0 akan segera hadir di Indonesia.
Perangkat tersebut bernama Eee Pad Transformer produksi dari Asus. Rencana masuk pasar
Indonesia pada Mei 2011.

Gambar Logo Android versi 3.0/3.1 (Honeycomb)

Android versi 4.0 (ICS: Ice Cream Sandwich)


Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan
menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data
pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan
fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC. Ponsel
pertama yang menggunakan sistem operasi ini adalah Samsung Galaxy Nexus.

Gambar Logo Android versi 4.0 (ICS: Ice Cream Sandwich)

Android versi 4.1 (Jelly Bean)


Android Jelly Bean yaang diluncurkan pada acara Google I/O lalu membawa sejumlah keunggulan
dan fitur baru. Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur
pencarian, UI yang baru dan pencarian melalui Voice Search yang lebih cepat. Tak ketinggalan
Google Now juga menjadi bagian yang diperbarui. Google Now memberikan informasi yang tepat
pada waktu yang tepat pula. Salah satu kemampuannya adalah dapat mengetahui informasi
cuaca, lalu-lintas, ataupun hasil pertandingan olahraga. Sistem operasi Android Jelly Bean 4.1
muncul pertama kali dalam produk tablet Asus, yakni Google Nexus 7.

RioYunanto

Gambar Logo & Tampilan Layar Android 4.2 "Jelly Bean"

Fitur dan Komunitas

Fitur yang tersedia di Android adalah:


Framework
: itu memungkinkan penggunaan dan penghapusan komponen yang tersedia.
Dalvik
: mesin virtual dioptimalkan untuk perangkat telepon seluler.
Grafik
: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.
SQLite
: untuk penyimpanan data.
Dukungan
: audio, video, dan berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR,
media
JPG, PNG, GIF) GSM, Bluetooth, EDGE, 3G, 4G dan WiFi (tergantung piranti
keras) Kamera, Global Positioning System (GPS), kompas, NFC dan
accelerometer (tergantung piranti keras)
Android memiliki berbagai keunggulan sebagai piranti lunak yang memakai basis kode komputer
yang bisa didistribusikan secara terbuka (open source) sehingga pengguna bisa membuat aplikasi
baru di dalamnya. Android memiliki aplikasi native Google yang terintegrasi seperti pushmail
Gmail, Google Maps, dan Google Calendar.
Para penggemar open source kemudian membangun komunitas yang membangun dan berbagi
Android berbasis firmware dengan sejumlah penyesuaian dan fitur-fitur tambahan, seperti FLAC
lossless audio dan kemampuan untuk menyimpan download aplikasi pada microSD card. Mereka
sering memperbaharui paket-paket firmware dan menggabungkan elemen-elemen fungsi
Android yang belum resmi diluncurkan dalam suatu carrier-sanction firmware.

RioYunanto

Chapter 2: Instalasi Android

Lisensi Dokumen:
Copyright 2013 Lab. Meaning Prodi KA UNIKOM
Seluruh dokumen di Lab. Meaning Prodi KA UNIKOM dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak
menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan
dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali
mendapatkan ijin terlebih dahulu dari Lab. Meaning Prodi KA UNIKOM.

Untuk dapat membuat aplikasi Andorid, terlebih dahulu kita lakukan proses instalasi Java
Development Kit dan Android Development Tool yang telah di bundle sehingga lebih praktis
dalam proses instalasi. Secara umum ada 2 file utama yang kita perlukan yaitu:
1. jdk-7-windows-i586.exe (http://www.oracle.com/technetwork/java/javase/downloads/)
2. adt-bundle-windows-x86.zip (http://developer.android.com/sdk/index.html)
dimana kedua file tersebut bias kita peroleh dengan mendownload langsung dari alamat web
yang telah tercantum diatas.

Gambar Tampilan halaman mengunduh JDK dan ADT

RioYunanto

Instalasi JDK (Java Development Kit)


Untuk melakukan instalasi JDK sebetulnyya tdiak terlalu sulit, kita hanya perlu menjalankan file
yang telah diunduh dan melakukan proses intalasi secara default dengan cara melakukan klik next
hingga instalasi berakhir.

Gambar Tampilan memulai instalasi JDK

Gambar Tampilan proses instalasi JDK secara default

RioYunanto

Instalasi ADT-Bundle for Windows


Untuk menginstal adt-bundle-windows-x86.zip ternyata lebih mudah lagi. Kita hanya perlu mengextract file adt-bundle-windows-x86.zip ke lokasi drive yang kita inginkan, bisa di dive C:/ atau D:/
atau bahkan dapat kita extract dan tempatkan di folder Documents.

Gambar Tampilan isi folder adt-bundle-windows-x86

Setelah proses extract selesai, didalam folder tersebut berisi 2 folder utama yaitu eclipse dan sdk.
Kita hanya perlu fokus pada folder eclipse, yang didalamnya terdapat file eclipse.exe yang
selanjutnya dapat langsung kita jalankan file tersebut, sehingga muncul tampilan gambar berikut.

Gambar Tampilan loading ADT

Gambar Tampilan IDE Eclipse ADT Bundle

RioYunanto

Membuat Android Virtual Device


Langkah selanjutnya adalah Membuat Android Virtual Device, Android Virtual Devices (AVD)
adalah konfigurasi dari emulator sehingga kita dapat menjalankan perangkat Android sesuai
model yang dipilih, misal Android 1.5 atau 2.2. dan Android SDK sesungguhnya adalah Android
Virtual Device (AVD) itu sendiri, karena dimulai dari sanalah akses ke AVD dimulai. Pilih tab Virtual
Devices dan klik pada tombol New. Kemudian lengkapi nama, device, dan target AVD yang kita
inginkan lalu OK. Dengan begitu kita kan melihat bahwa telah muncul list baru didalam AVD
Manager.

Gambar Tampilan AVD Manager yang masiih kosong

Gambar Tampilan membuat AVD baru

RioYunanto

Gambar Tampilan AVD Manager yang telah berisi AVD baru

Memulai Project Hello World


Untuk memulai project baru HelloWorld secara umum tidak sulit, karena kita hanya perlu klik
Next untuk setiap tahapan pembuatan project secara default. Langkah pertama yang perlu
dilakukan untuk membuat project baru yaitu dengan memilih menu File >> New >> Android
Application Project, untuk selanjutnya klik Next hingga proses project baru selesai.

Gambar Tampilan membuat project baru

RioYunanto

Gambar Tampilan New Android Application

Gambar Tampilan Konfigurasi Icon

Gambar Tampilan membuat activity utama

RioYunanto

Gambar Tampilan blank activity

Gambar Tampilan halaman layout HelloWorld

Gambar Tampilan kompilasi project dengan cara Ctrl + F11

RioYunanto

Gambar Tampilan log eksekusi project HelloWorld

Gambar Tampilan menu aplikasi pada emulator Android

Gambar Tampilan running project HelloWorld

RioYunanto

Chapter 3: Cepat Bisa Pemrograman Android

Lisensi Dokumen:
Copyright 2013 Lab. Meaning Prodi KA UNIKOM
Seluruh dokumen di Lab. Meaning Prodi KA UNIKOM dapat digunakan, dimodifikasi dan
disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak
menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan
dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali
mendapatkan ijin terlebih dahulu dari Lab. Meaning Prodi KA UNIKOM.

Pada bab ini, kita akan memulai membuat project-project baru yang mudah namun punya
peluang untuk dikembangkan menjadi aplikasi yang menarik. Mulai dari aplikasi yang standalone
maupun yang sudah menggunakan pendekatan client-server. Untuk memulai setiap project baru
berikut ini, kita akan selalu membuat project baru secara default seperti membuat HelloWorld,
dengan memberikan nama project yang berbeda. Setelah terbentuk project baru, langkah
selanjutnya adalah memodifikasi file-file yang ada sesuai dengan project yang kita inginkan.

Project 1. EditText dan Toas


Latihan project 1 edittext dan toast memberikan contoh program bagaimana membaca isi data
yang diinput melalui edittext dan menampilkannya melalui toast.

Gambar Tampilan membuat layout utama pada activity_main.xml

RioYunanto

Gambar Tampilan running project 1

activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="Nama Lengkap Anda"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editText1"
android:text="Klik" />
</RelativeLayout>

RioYunanto

MainActivity.java
package com.example.project1;
import
import
import
import
import
import
import

android.os.Bundle;
android.app.Activity;
android.view.Menu;
android.view.View;
android.widget.Button;
android.widget.EditText;
android.widget.Toast;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText edit1 = (EditText)
findViewById(R.id.editText1);
Button btn_klik = (Button) findViewById(R.id.button1);
btn_klik.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(),
"Selamat Datang " + edit1.getText(),
Toast.LENGTH_LONG)
.show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

Project 2. Menu Aplikasi dengan Button


Pada project 2 ini, kita sekaligus mempraktekkan bagian penting dalam pemrograman android
yaitu Intent. Intent adalah pesan asynchronous yang memungkinkan aplikasi untuk memberikan
request secara fungsionalitas dari komponen yang berbeda di sitem android, misalnya Service,
broadcast receiver atau Activity. Sebuah aplikasi dapat memanggil komponen secara langsung
(eksplisit intent) atau mengetahui komponen mana yang teregister untuk inten tertentu (implicit
intent).

19 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

Gambar Tampilan layout menu aplikasi dengan button

activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="51dp"
android:text="Pesan KFC" />
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:text="Buka www.yahoo.com" />
<Button
android:id="@+id/button3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/button2"
android:layout_centerHorizontal="true"
android:layout_marginTop="19dp"
android:text="Camera" />
</RelativeLayout>

RioYunanto

MainActivity.java
package example.project2;
import
import
import
import
import
import
import

android.net.Uri;
android.os.Bundle;
android.app.Activity;
android.content.Intent;
android.view.Menu;
android.view.View;
android.widget.Button;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn1 = (Button) findViewById(R.id.button1);
btn1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent(Intent.ACTION_CALL,
Uri.parse("tel:14022"));
startActivity(intent);
}
});
Button btn2 = (Button) findViewById(R.id.button2);
btn2.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.yahoo.com/"));
startActivity(intent);
}
});
Button btn3 = (Button) findViewById(R.id.button3);
btn3.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
Intent intent = new
Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, 0);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

AndroidManifest.xmls
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.project2"

21 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="example.project2.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>

Project 3. Mengirim SMS


Pada project 3 ini, kita akan menggunakan 2 buah edittext yang akan kita gunakan untuk
menuliskan nomor hape tujuan dan menuliskan isi pesan SMS, sekaligus satu buah button untk
melakukan proses kirim SMS.

Gambar Tampilan layout project kirim SMS

RioYunanto

AndroidManifest.xmls
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="No Hape Tujuan"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editTextNoHape"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView1"
android:ems="10"
android:inputType="number" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editTextNoHape"
android:layout_marginTop="19dp"
android:text="Isi Pesan SMS"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editTextSMS"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView2"
android:layout_marginTop="20dp"
android:ems="10"
android:gravity="top"
android:inputType="textMultiLine"
android:lines="5" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/editTextSMS"

23 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

android:layout_marginTop="23dp"
android:text="Kirim" />
</RelativeLayout>

AndroidManifest.xmls
package example.project3;
android.os.Bundle;
android.app.Activity;
android.telephony.SmsManager;
android.view.Menu;
android.view.View;
android.widget.Button;
android.widget.EditText;
android.widget.Toast;

import
import
import
import
import
import
import
import

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn_kirim = (Button) findViewById(R.id.button1);
btn_kirim.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
EditText noHape = (EditText)
findViewById(R.id.editTextNoHape);
EditText isiSMS = (EditText)
findViewById(R.id.editTextSMS);
try {
SmsManager kirimSMS =
SmsManager.getDefault();
kirimSMS.sendTextMessage(noHape.getText().toString(), null,
isiSMS.getText().toString(), null, null);
Toast.makeText(getApplicationContext(), "SMS Terkirim!",
Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "SMS Gagal!",
Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

24 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

AndroidManifest.xmls
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.project3"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.SEND_SMS" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="example.project3.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>

Project 4. Simulasi Client-Server dengan MySQL


Dalam project ini, kita akan membuat aplikasi client/server yang menggunakan arsitektur Three
Tier Client/Server. Project ini terdiri dari 3 bagian yaitu; 1) Database Server MySQL, 2) Application
Server, 3) Thin Client.

Membuat Database Server dengan MySQL


Langkah pertama yang perlu kita lakukan dalam project ini yaitu membuat Database dan Tabel.
Nama Database: simulasi, Nama Tabel: buku.
Tabel Struktur Tabel Buku
No Nama Field
1 Judul
2 Penulis
3 Tahun

Tipe Data
Varchar(50)
Varchar(50)
Int(11)

25 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

Gambar Tampilan Tabel Buku pada MySQL

Tabel Data Buku Awal


Judul
Bukan Bibi Biasa
Gila Bola Juara
Sabda Alam

Penulis
Tukul Arwana
BePe
Mario

Tahun
2015
2020
2005

Gambar Tampilan Data Buku Awal pada MySQL

Membuat Aplikasi Server dengan PHP


Buat folder baru didalam folder htdocs, beri nama: simulasi. Buat file PHP baru sesuai kode
program berikut:

save_buku.php
<?php
$con = mysql_connect("localhost","root","");
if (!$con) {
die('Could not connect: ' . mysql_error()); }
mysql_select_db("simulasi", $con);
if
($_GET["jdl"]==Null
$_GET["thn"]==Null) {

||

$_GET["pls"]==Null

||

RioYunanto

echo "<b>Data Buku Kosong !!</b>";


} else {
mysql_query("INSERT INTO buku VALUES ('".$_GET["jdl"]
."', '".$_GET["pls"]."', '".$_GET["thn"]."')");
echo "<b>Simpan Data Sukses !!</b>";
}
mysql_close($con);
?>

list_buku.php
<?php
$con = mysql_connect("localhost","root","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("simulasi", $con);
$result = mysql_query("SELECT * FROM buku");
echo
"<table
width='100%'
border='0'
cellspacing='0'
cellpadding='0'>
<tr bgcolor='#cccccc'>
<td>Judul</td><td>Penulis</td><td>Tahun</td>
</tr>
";
while($row = mysql_fetch_array($result))
{
echo "<tr>
<td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td>
</tr>
";
}
echo "</table>";
mysql_close($con);
?>

Membuat Aplikasi Client dengan Android


Langkah ketiga dalam project ini yaitu membuat aplikasi client dengan android.
Nama Project: MobileApp

27 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

Gambar Tampilan layout menu utama

activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp"
android:text="Simulasi Stored Procedure"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="48dp"
android:text="Input Data" />
<Button
android:id="@+id/button2"

RioYunanto

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginTop="42dp"
android:text="Tampilkan Data" />
</RelativeLayout>

Gambar Tampilan layout form input data buku

forminput.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

RioYunanto

android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView2"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editText1"
android:text="Penulis Buku"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView3"
android:ems="10"
android:inputType="textPersonName" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editText2"
android:text="Tahun Terbit"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editText3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/textView4"
android:ems="10"
android:inputType="textPersonName" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"

30 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

android:text="Form Input Data"


android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginTop="16dp"
android:text="Judul Buku"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText3"
android:layout_centerHorizontal="true"
android:text="Simpan Data" />
</RelativeLayout>

Gambar Tampilan layout tampilan data buku

formtampilan.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"

RioYunanto

android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="Tampilan Data"
android:textAppearance="?android:attr/textAppearanceLarge" />
<WebView
android:id="@+id/webView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp" />
</RelativeLayout>

MainActivity.java
package example.mobileapp;
import
import
import
import
import
import

android.os.Bundle;
android.app.Activity;
android.content.Intent;
android.view.Menu;
android.view.View;
android.widget.Button;

public class MainActivity extends Activity {


private Button btn_input, btn_tampil;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_input = (Button) findViewById(R.id.button1);
btn_tampil = (Button) findViewById(R.id.button2);
btn_input.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
Intent
intent
=
new
Intent(getApplicationContext(),
InputActivity.class);
startActivity(intent);

32 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

}
});
btn_tampil.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
Intent
intent
=
new
Intent(getApplicationContext(),
TampilActivity.class);
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it
is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}

InputActivity.java
package example.mobileapp;
import
import
import
import
import
import

android.app.Activity;
android.os.Bundle;
android.view.View;
android.webkit.WebView;
android.widget.Button;
android.widget.EditText;

public class InputActivity extends Activity {


private Button btn_simpan;
private EditText txt_judul, txt_penulis, txt_tahun;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.forminput);
txt_judul = (EditText) findViewById(R.id.editText1);
txt_penulis = (EditText) findViewById(R.id.editText2);
txt_tahun = (EditText) findViewById(R.id.editText3);
btn_simpan = (Button) findViewById(R.id.button1);
btn_simpan.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
WebView
webView
=
(WebView)

33 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

findViewById(R.id.webView1);
webView.loadUrl("http://192.168.2.202/simulasi/save_buku.php?jdl="
+ txt_judul.getText()
+ "&pls="
+ txt_penulis.getText()
+ "&thn=" + txt_tahun.getText() +
"");
}
});
}
}

TampilActivity.java
package example.mobileapp;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class TampilActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.formtampilan);
WebView webView = (WebView) findViewById(R.id.webView1);
webView.loadUrl("http://192.168.2.202/simulasi/list_buku.php");
}
}

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="example.mobileapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<application

34 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

RioYunanto

android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="example.mobileapp.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="InputActivity"
android:label="Form Input Data"
android:theme="@style/AppTheme" >
</activity>
<activity
android:name="TampilActivity"
android:label="Tampilan Data Buku"
android:theme="@style/AppTheme" >
</activity>
</application>
</manifest>

RioYunanto

RioYunanto

Referensi
[ 1 ] http://id.wikipedia.org/wiki/Android_(sistem_operasi)
[ 2 ] http://www.android.com/
[ 3 ] https://developers.google.com/android/

37 | Copyright 2013 [ Program Penggalangan Dana GO GREEN FTIK UNIKOM ]

Anda mungkin juga menyukai