Anda di halaman 1dari 12

9 PRAKTIKUM QUERY LANJUT (MYSQL)

KEMAMPUAN AKHIR YANG DIRENCANAKAN

Mampu mengimplementasikan pengaksesan database MySQL pada Android Studio.

INDIKATOR

• Mampu menjelaskan tentang langkah-langkah untuk mengakses MySQL


• Mampu mengimplementasikan login aplikasi menggunakan MySQL
• Mampu menjalankan program untuk mengakses database MySQL pada Android

A. Membuat File Koneksi PHP


1. Pada MySQL, buat sebuah database loginandroid & table users yang berisi field-field:

Nama Field Tipe Data Length Keterangan


id Integer - Primary key, auto increment
nama Varchar 50 -
username Varchar 25 -
password Varchar 100 -

2. Buat file PHP bernama koneksi.php yang digunakan sebagai koneksi database
MySQL yang telah dibuat. Sesuaikan username dan password dari MySQL anda.

3. Tes file koneksi dengan memanggil file koneksi tsb pada browser. Apabila hasil status
: berhasil, maka koneksi ke database MySQL sukses.

1
4. Buat New Project dengan jenis Empty Activity. Beri nama project tsb: Login MySQL
NamaAnda.

5. Pada MainActivity, susun action untuk melakukan koneksi ke database melalui file PHP
yang ada di suatu IP server (sesuai komputer masing-masing), dan menampilkan
status koneksi tsb pada TextView.

2
6. Run aplikasi.

B. Membuat Aplikasi Registrasi


7. Siapkan file koneksi.php, baris kode echo json_encode untuk testing koneksi
sebelumnya di file koneksi tidak kita butuhkan lagi.

8. Buat file PHP bernama insert.php untuk input record data user ke database MySQL
yang telah dibuat. File ini akan memanggil file koneksi yang telah disiapkan
sebelumnya. Pada file ini nantinya akan dilakukan echo json_encode sebagai status
hasil yang akan dipanggil oleh aplikasi Android.

3
9. Pada Build Gradle, diimplementasikan library Volley varsi 1.1.0 untuk proses koneksi
dengan PHP & MySQL pada suatu server (dalam hal ini localhost) menggunakan
JSON. Akhiri dengan Sync.

implementation 'com.android.volley:volley:1.1.0'

10. Pada AndroidManifest, tambahkan uses-permission Internet untuk mengkoneksikan


aplikasi dengan suatu server.

<uses-permission android:name="android.permission.INTERNET"/>

11. Pada Layout, susun isian untuk registrasi yang terdiri dari Nama, Username, Password,
dan Ulangi Password.

Manfaatkan material design untuk TextInputLayout pada masing-masing field isian


agar tampilan form isian menjadi lebih bagus.

<com.google.android.material.textfield.TextInputLayout
4
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textInputLayout"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.252">

<EditText
android:id="@+id/et_nama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Nama"
android:inputType="text"
android:maxLines="1"
android:textSize="14sp" />
</com.google.android.material.textfield.TextInputLayout>

12. Pada RegisterActivity, susun action untuk menangani validasi pengisian data dan
mengirim nilai-nilai yang telah diisikan tsb ke file PHP dengan memanfaatkan JSON.

5
13. Untuk melakukan testing laman ini, lakukan modifikasi pada AndroidManifest,
dengan menset RegisterActivity sebagai Activity utama yang launch pada saat
pertama kali run project.

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.loginphpmysql">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.LoginPHPMySQL"
android:usesCleartextTraffic="true">
<activity android:name=".RegisterActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
<activity android:name=".MainActivity">

</activity>
</application>
</manifest>

14. Run aplikasi. Lakukan pengisian data user baru. Cek juga apakah validasi berfungsi
dengan baik.

6
15. Cek pada table user.

16. Tugas : modifikasi aplikasi, dimana setelah status : berhasil disimpan, maka activity
akan menuju ke laman LoginActivity. LoginActivity akan dibuat pada bagian
selanjutnya.

C. Membuat Aplikasi Login


17. Buat file PHP untuk melakukan login dengan memeriksa apakah username dan
password yang dimasukkan sama dengan yang terdapat pada table users.

7
18. Pada Layout, susun form login dengan memanfaatkan material desain. Tambahkan
pula tombol Register untuk membuka laman RegisterActivity.

19. Pada LoginActivity, susun action untuk menangani input login yang akan
mengirimkan nilai-nilai yang telah diisikan tsb ke file login.php dengan memanfaatkan
JSON.

8
20. Tugas: Tambahkan sebuah laman baru bernama Dashboard yang digunakan sebagai
laman yang dituju apabila login berhasil. Laman ini hanya berisi TextView untuk
menampilkan nama dan Button Logout.

21. Tugas: Susun action untuk melakukan Logout aplikasi, dimana bila berhasil logout
maka akan ditampilkan laman Login.

9
22. Modifikasi kembali pada AndroidManifest, dengan menset LoginActivity sebagai
Activity utama yang launch pada saat pertama kali run project.

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.loginphpmysql">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.LoginPHPMySQL"
android:usesCleartextTraffic="true">
<activity android:name=".DashboardActivity"></activity>
<activity android:name=".LoginActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />


</intent-filter>
</activity>
<activity android:name=".RegisterActivity">

</activity>
<activity android:name=".MainActivity">

</activity>
</application>

</manifest>

10
23. Sehingga apabila aplikasi dijalankan, akan menjadi seperti pada gambar di bawah ini.
Lakukan pengecekan login benar maupun salah.

11
D. Tugas Praktikum
1) Kerjakan nomor 1 – 23 diatas.
2) Tugas bonus (opsional) : lakukan enkripsi/hash (MD5, Bcrypt, dsb) pada password
sehingga data password yg tersimpan pada table users merupakan password yang
sudah terenkripsi/hashed. Implementasikan pada Register (insert) dan Login.

Ketentuan:
a) Nama project sesuai petunjuk.
b) Dikumpulkan berupa PDF, terdiri dari kode file .xml dan .kt yang ada pada langkah-
langkah diatas, dan printscreen hasil running program di emulator/smartphone.

12

Anda mungkin juga menyukai