Belajar Membuat Aplikasi Android dengan Kotlin Untuk Pemula Bagian 3 : Login dengan Autentikasi Firebase

baytech 28 Januari 2019

 Belajar Membuat Aplikasi Android dengan Kotlin Untuk Pemula Bagian 3 : Login dengan Autentikasi Firebase

Beberapa waktu yang lalu di Codepolitan, kita telah membahas Belajar Membuat Aplikasi Android dengan Kotlin Untuk Pemula Bagian 2: Membuat Form Login. Setelah belajar membuat Form Login kali ini kita akan mencoba untuk menggunakan Autentikasi Firebase kepada Form login yang telah kita buat kemarin. Jadi, form login kita dapat mendaftarkan user baru dan masuk dengan user yang telah terdaftar. Bagaimana ya caranya? Oke langsung aja kita mulai.

1. Buka Android Studio

Yang pertama dan paling utama sudah pasti kita buka dulu ya Android Studionya.

project

Kurang lebih tampilan terakhir kita kemarin seperti ini pada artikel Belajar Membuat Aplikasi Android dengan Kotlin Untuk Pemula Bagian 2: Membuat Form Login. Bagi kalian yang baru mengikuti artikel ini lebih baik baca dulu artikel sebelum nya jika ingin mengikuti artikel kali ini.

2. Terhubung ke Firebase

Setelah project nya berhasil di buka selanjutnya kita harus menghubungkannya dengan Firebase. Wah apa sih Firebase itu? Firebase adalah sebuah platform database buatan Google yang akhir-akhir menjadi jajanan baru bagi para developer, tidak aneh kalau sekarang, banyak developer yang sudah beralih ke Firebase karena berbagai fitur kelebihannya. Salah satu fitur yang akan kita gunakan sekarang yaitu Firebase Authentication. Bagaimana cara menggunakannya?

Pertama kita pergi ke Menu Tools diatas dan klik Firebase.

connect

Setelah itu akan muncul menu Assistant di sebelah kanan layar seperti berikut ini:

assistant

Kemudian pilihlah Authentication lalu pilihlah Connect To Firebase.

Connect 2

Jika muncul tampilan seperti diatas pilihlah Create new Firebase project lalu beri nama dan klik Connect to Firebase.

succsesfully connect

Kalau sudah terhubung, tampilannya akan seperti ini. Setelah itu klik Add Firebase Authentication to your app.

add

Lalu langsung saja klik Accept Changes.

sync
error Sync

Setelah proses Sync selesai akan muncul error. Lah kok error? Tenang, angan panik hal ini di sebabkan oleh kesalahan penulisan gradle pada Firebase Auth ini mungkin seperti bug tapi kita bisa memperbaikinya. Caranya buka file script build.gradle (app) kalian lalu perhatikan baris kode berikut.

gradle

Kemudian blok saja seperti yang saya lakukan kemudian hapus lalu klik Try Again dan tada:

succes gradle

Error berhasil di perbaiki, Mudah kan? Makanya jangan panik saat terjadi error. Kalian harus pelajari dan teliti bagian error yang terjadi. Oke sip lanjut ya, sekarang Firebase Authentication sudah di tambahkan kedalam aplikasi anda. Kita sudah membuat tampilan nya beberapa waktu lalu dan kurang lebih seperti ini.

tampilan login

Selanjutnya kita langsung saja melakukan koding untuk mengbungkan Autentikasi Firebase ke aplikasi kita. Langsung saja buka file MainActivity:

code

Berikut adalah koding kita yang kemarin, sekarang kita hapus saja bagian yang saya blok. Kemudian ganti dengan baris kode berikut

FirebaseAuth.getInstance().signInWithEmailAndPassword(email,password)
                    .addOnCompleteListener{

                        if (!it.isSuccessful){ return@addOnCompleteListener
                            val intent = Intent (this, MainActivity::class.java)
                            startActivity(intent)
                        }
                        else
                        Toast.makeText(this, "Succesfully Login", Toast.LENGTH_SHORT).show()
                        val intent = Intent (this, Dashboard::class.java)
                        startActivity(intent)
                    }
                    .addOnFailureListener{
                        Log.d("Main", "Failed Login: ${it.message}")
                        Toast.makeText(this, "Email/Password incorrect", Toast.LENGTH_SHORT).show()
                        progressDialog.hide()

                    }
error code

Ketika muncul error seperti ini jangan panik coba saja arahkan kursor kalian ke bagian yg error kemudian tekan Alt + Enter pada keyboard maka error nya akan terselesaikan. Pesan error ini disebabkan karena reference yang kita gunakan belum di import jadi muncul lah error seperti ini.

Jika sudah sekarang kita buka Firebase di browser lalu klik Go to Console.

firebase

Kemudian pilih nama project yang tadi telah kita buat waktu sedang menghubungkan firebase ke aplikasi kita. Setelah itu kalian akan masuk ke Dashboard project, kemudian pilihlah Develop pada menu dan klik Authentication.

signmethod

Pilih Sign-in method pada menu di atas kemudian pilih Email/Password lalu klik Enable kemudian Save.

Sekarang kita coba aplikasi kita sebelum itu kan kita belum mempunyai user yang terdaftar jadi kita harus buat dulu di menu Users.

add user

Jika sudah ditambahkan berarti kita sudah memilki satu user dan sekarang coba kita run aplikasinya dan login menggunakan user yang tadi kita tambahkan.

Oke kita telah berhasil membuat form login yang sudah terautentikasi dengan Firebase sehingga kita bisa login dengan user yang telah terdaftar, tetapi ada kekurangannya yaitu kita belum menambahkan fitur Sign up atau Register pada aplikasi kita sehingga kita harus secara manual membuat user pada Firebase. untuk melengkapi apikasi ini maka di butuhkan fitur Sign up seperti aplikasi pada umumnya tapi sayangnya saya tidak akan menunjukan bagaimana caranya saya akan memberikan tantangan kepada kalian untuk mempelajari dan mencari tau sendiri cara membuat Sign up dan Sign Out pada Firebase berdasarkan yang sudah kita pelajari sebelumnya. Cara nya tidak jauh berbeda kok, hal ini akan membantu kalian dalam belajar topik baru.

Jika kalian ingin melihat hasil Sign Up dan Sign Out yang sudah jadi, silahkan unduh contoh project-nya di https://github.com/bayuafriyadi5/Firebase-Kotlin-Authentication.

Penutup

Demikian tutorial membuat form Login kali ini. Selanjutnya kita akan belajar Membuat CRUD dengan Firebase Realtime Database. Semoga bisa dipahami oleh pembaca sekalian. Jika ada kritik, saran, pertanyaan atau request silahkan melalui kolom komentar saja ya.