You are on page 1of 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.
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');
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


submit_mahasiswa.php

delete_mahasiswa.php

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:

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




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





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




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




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
MainActivity.java








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




FormMahasiswa.java








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




DetailMahasiswa.java








i. Menambah Permission
Tambahkan permission ada AndroidManifest.xml.
AndroidManifest.xml

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

You might also like