Modul 4 Android-mysql Dan Json

25
MATERI 4 Aplikasi Client-Server Menggunakan Android, PHP dan MySQL Memahami Aplikasi Client-Server Memahami program server dengan PHP Memahami MySQL Aplikasi yang akan kita buat ini adalah aplikasi Client-Server, karena disisi client (Pengguna HP Android) akan berinteraksi dengan database yang ada di server melalui internet/jaringan dan PHP. Untuk lebih jelasnya dapat dilihat ilustrasi gambar berikut ini: Berdasarkan gambar di atas, ponsel Android akan melakukan request (get/post) ke server melalui internet. Cara ini juga sama jika ingin aplikasi berada pada localhost. Selanjutnya web server (dalam hal ini PHP), akan memproses request dari Android dan akan melakukan query ke database (MySQL) Sebenarnya Android memiliki beberapa fasilitas untuk menyimpan data yaitu: 1. Shared preferences. Terdiri dari key dan value data. Model ini biasanya untuk menyimpan settingan (pengaturan) sebuah aplikasi.

description

belajar android

Transcript of Modul 4 Android-mysql Dan Json

Page 1: Modul 4 Android-mysql Dan Json

MATERI 4

Aplikasi Client-Server Menggunakan Android, PHP dan MySQL

Memahami Aplikasi Client-Server

Memahami program server dengan PHP

Memahami MySQL

Aplikasi yang akan kita buat ini adalah aplikasi Client-Server, karena disisi client (Pengguna HP Android)

akan berinteraksi dengan database yang ada di server melalui internet/jaringan dan PHP. Untuk lebih

jelasnya dapat dilihat ilustrasi gambar berikut ini:

Berdasarkan gambar di atas, ponsel Android akan melakukan request (get/post) ke server

melalui internet. Cara ini juga sama jika ingin aplikasi berada pada localhost. Selanjutnya web

server (dalam hal ini PHP), akan memproses request dari Android dan akan melakukan query ke

database (MySQL)

Sebenarnya Android memiliki beberapa fasilitas untuk menyimpan data yaitu:

1. Shared preferences. Terdiri dari key dan value data. Model ini biasanya untuk

menyimpan settingan (pengaturan) sebuah aplikasi.

Page 2: Modul 4 Android-mysql Dan Json

2. File. Fasilitas ini juga dapat menyimpan data sama halnya dengan Shared Preferences,

hanya saja data disimpan ke dalam bentuk file. Misalnya: txt, xml atau bentuk file

lainnya

3. SQLite Database. Fasilitas ini cukup ideal untuk menyimpan data yang lumayan banyak.

Berbeda halnya dengan 2 fasilitas sebelumnya yang biasanya untuk menyimpan data

yang sedikit seperti pengaturan. Dengan SQLite, kita dapat melakukan query dan table-

table seperti halnya database pada umumnya.

Ketiga fasilitas di atas menyimpan data pada ponsel pengguna (client). Nah, bagaimana jika ingin data

itu selalu update dan dapat mengaksesnya siapa saja dan dimana saja (anyone, anytime and

anywhere)?. Itulah alasanya mengapa kita memerlukan sebuah server dalam hal ini MySQL. Jadi, ada

tiga hal yang harus kita lakukan untuk membuat aplikasi Client-Server ini, yaitu:

1. Membuat Database

2. Membuat script PHP

3. Membuat aplikasi Android

Dari tiga hal di atas akan kita bagi-bagi lagi dalam beberapa tahap pengerjaan aplikasi ini. Ikuti langkah-

langkah berikut ini:

A. Memebuat Database MySQL

Untuk membuat database pastikan terlebih dahulu dikomputer Anda sudah terinstall database

MySQL Server dan webserver Apache serta PHP atau sudah terinstall paket XAMPP. Untuk

memudahkan pembuatan database Anda boleh menggunakan PHPMyAdmin. Buatlah database,

table dan masukkan record-nya.

CREATE DATABASE dbclientserver;

CREATE TABLE IF NOT EXISTS `mahasiswa` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nim` varchar(11) NOT NULL, `nama` varchar(100) NOT NULL, `telp` varchar(50) NOT NULL, `alamat` varchar(255) NOT NULL, PRIMARY KEY (`id`));

INSERT INTO `mahasiswa` ( `nim`, `nama`, `telp`, `alamat`) VALUES ( '1231050', 'Sultan Hasanuddin I', '0800', 'Palembang'),

( '1231051', 'Sultan Hasanuddin I', '0801', 'Palembang'),

( '1231052', 'Sultan Hasanuddin I', '0802', 'Palembang'),

( '1231053', 'Sultan Hasanuddin I', '0803', 'Palembang'),

( '1231054', 'Sultan Hasanuddin I', '0804', 'Palembang');

Page 3: Modul 4 Android-mysql Dan Json

B. Membuat Script PHP

Sebenarnya Android tidak dapat berkomunikasi langsung dengan MySQL untuk memanipulasi

database. Untuk itu, kita membutuhkan script server side misalnya ASP, JSP atau PHP untuk bisa

menjadi “jembatan” antara Android dengan MySQL. Jadi, Android hanya memberika perintah

(request) ke PHP dan PHP yang akan melaksanakan query ke MySQL. Data yang dihasilkan atau

diambil dari database MySQL semua dalam format JSON.

Ada 5 file PHP yang di butuhkan, yaitu:

1. index.php: sebagai file index dan hanya berisi HTML.

2. connection.php: sebagai file koneksi ke database.

3. select_all.php: untuk melakukan query mengabil seluruh data dari table mahasiswa.

4. submit_mahasiswa.php : untuk memproses simpan dan update ke database.

5. delete_mahasiswa.php: untuk menghapus (delete) data mahasiswa

Semua file di atas diletakkan dalam direktori “03120012” (Ganti sesuai NPM Anda).

c:/xampp/htdocs/03120012. (sesuaikan dengan direktori server Anda).

index.php

connection.php

select_all.php

Page 4: Modul 4 Android-mysql Dan Json

submit_mahasiswa.php

delete_mahasiswa.php

Page 5: Modul 4 Android-mysql Dan Json

Sebelum dicoba ke Android, coba terlebih dahulu dicek melalui browser dengan alamat

http://localhost/03120012. Untuk mengecek di Android, buka browser dari emulator (AVD), dan

ketikkan url http://10.0.2.2/03120012 maka akan muncul seperti gambar berikut:

Page 6: Modul 4 Android-mysql Dan Json

C. Membuat Aplikasi Android

a. Membuat Object Mahasiswa

Yang pertama kita lakukan adalah membuat object Mahasiswa, karena table yang dibuat

sebelumnya adalah mahasiswa. Class Mahasiswa sangat membantu kita memanipulasi object.

Salah satunya adalah konsep Object Relational Mapping (ORM) yang menggunakan object yang

sama untuk memetakan table pada database.

Mahasiswa.java

Page 7: Modul 4 Android-mysql Dan Json

b. Membuat Class ServerRequest

Class ini akan kita gunakan berkomunikasi / melakukan request ke server. Pada class ini, kita

membuat dua buah request, yaitu GET dan POST.

ServerRequest.java

Page 8: Modul 4 Android-mysql Dan Json
Page 9: Modul 4 Android-mysql Dan Json

c. Ubah Layout activity_main.xml

Ubahlah file activity_main.xml di dalam folder layout menjadi seperti script berikut:

activity_main.xml

d. Tambah Layout Baru list_row.xml

Layout ini adalah custom ListView agar dapat menampilhan Nama dan NIM mahasiswa dalam

ListView.

list_row.xml

Page 10: Modul 4 Android-mysql Dan Json

e. Membuat ListAdapter

Untuk menampilkan custom ListView, kita membutuhkan sebuah adapter yang inherit kepada

BaseAdapter. ListAdapterMahasiswa juga meng-implements Filterable yang berguna saat

melakukan pencarian. Berikut adalah potongan source code nya:

ListAdapterMahasiswa.java

Page 11: Modul 4 Android-mysql Dan Json
Page 12: Modul 4 Android-mysql Dan Json

f. Edit MainActivity.java

MainActivity adalah class utama memiliki fitur:

Menampilkan custom ListView

Memiliki Option Menu yang ditampilkan pada Action Bar (Search dan New)

Search View untuk melakukan filter (pencarian)

ListView yang dapat diklik (clickable ListView)

ListView yang dapat di long-click. Long clik akan menampilkan Contextual Action Bar

(CAB) untuk Edit dan Delete.

Pada saat MainActivity.java dijalankan, Activity akan melakukan request ke server

melalui AsyncTask. Kemudian Activity akan memanggil class ServerRequest untuk mengirimkan

GET requets. Response dari request ini adalah JSON (JavaScript Object Notation). Url yang

direquest http://10.0.2.2/03120012/select_all.php. Atau dapat dilihat melalui browser

localhost http://localhost/03120012/select_all.php. Seperti gambar berikut:

Response JSON ini akan diproses sesuai dengan object nya. Berdasarkan response JSON di atas,

terlihat bahwa object JSON terdiri dari “mahasiswa”. Dan “mahasiswa” memiliki JSON Array.

Berikut adalah Source code lengkap MainActivity.java

Page 13: Modul 4 Android-mysql Dan Json

MainActivity.java

Page 14: Modul 4 Android-mysql Dan Json
Page 15: Modul 4 Android-mysql Dan Json
Page 16: Modul 4 Android-mysql Dan Json
Page 17: Modul 4 Android-mysql Dan Json

g. Membuat Form Mahasiswa

Membuat sebuah activity (FormMahasiswa.java) dan layout activity_form_mahasiswa.xml.

Layout ini terdiri dari TextView dan EditText untuk input data Mahasiswa (nama, nim, telp dan

alamat). Form Mahasiswa kita gunakan untuk insert dan delete.

activity_form_mahasiswa.xml

Page 18: Modul 4 Android-mysql Dan Json

FormMahasiswa.java

Page 19: Modul 4 Android-mysql Dan Json
Page 20: Modul 4 Android-mysql Dan Json
Page 21: Modul 4 Android-mysql Dan Json

h. Membuat Detail Mahasiswa

Detail Mahasiswa berfungsi untuk menampilkan data lengkap. Karena pada ListView yang

ditampilkan hanya NIM dan Nama. Sedangkan Activity DetailMahasiswa berguna untuk

menampilkan data mahasiswa dengan layout activity_detail_mahasiswa.xml.

activity_detail_mahasiswa.xml

Page 22: Modul 4 Android-mysql Dan Json

DetailMahasiswa.java

Page 23: Modul 4 Android-mysql Dan Json
Page 24: Modul 4 Android-mysql Dan Json
Page 25: Modul 4 Android-mysql Dan Json

i. Menambah Permission

Tambahkan permission ada AndroidManifest.xml.

AndroidManifest.xml

Selamat mengerjakan

Sumber: http://pizani.wordpress.com/