INDIKATOR
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.
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'
<uses-permission android:name="android.permission.INTERNET"/>
11. Pada Layout, susun isian untuk registrasi yang terdiri dari Nama, Username, Password,
dan Ulangi Password.
<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.
<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" />
</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.
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.
<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" />
</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