Auto login dengan batasan waktu session di App Inventor Kodular

Masih melanjutkan tutorial sebelumnya, kali ini saya akan membuat tutorial auto login dengan batasan waktu session di App Inventor Kodular. Yang dimaksud dengan batasan waktu session ini adalah batasan waktu login si pengguna yang menggunakan aplikasi. Jadi pengguna tidak selamanya otomatis login, sistem akan membatasi kapan waktu login si pengguna akan berakhir.

Auto login dengan batasan waktu session di App Inventor Kodular
Auto login dengan batasan waktu session di App Inventor Kodular

Pada tutorial sebelumnya saya sudah membuat tutorial auto login sederhana untuk aplikasi android yang menggunakan App Inventor atau Kodular. Namun dari sisi keamanannya itu belum cukup aman

Mengapa ? terkadang, dengan adanya kemudahan seperti itu justru menjadi celah bagi orang-orang yang nakal.

Misalkan Smartphone atau HP kamu hilang kemudian ada orang lain yang menemukan HP kamu, lalu kamu sebelumnya sudah pernah melakukan login dan tidak perlu login lagi kedalam sebuah aplikasi karena adanya fitur auto login pada aplikasi.

Maka orang lain yang menemukan HP kamu yang hilang, bisa saja membuka aplikasi tersebut dan masuk ke halaman utama tanpa harus melakukan otorisasi. Nah itu sangat berbahaya, apabila ada orang lain yang memang bukan pengguna aslinya, orang itu bisa saja langsung membuka aplikasi tanpa harus login lagi dan dapat melakukan beberapa tindakan yang bisa saja dapat merugikan si pengguna aslinya.

Pada saat kejadian tersebut sistem tidak dapat membedakan apakah si pengguna ini memang pengguna asli atau bukan, karena sistem hanya membaca data login yang dilakukan oleh orang pertama yang tersimpan sebelumnya di aplikasi.

untuk mengurangi kejadian yang seperti itu, maka pada sistem aplikasi diperlukan adanya batasan waktu session, dimana sistem tersebut dapat mereset data login pengguna dalam jangka waktu yang bisa diatur sesuai dengan keinginan.

Jadi bisa saja dalam 2 hari kedepan sistem akan mereset data login pengguna dan ketika aplikasi dibuka kembali, halaman login akan muncul lagi.

Penggunaan batasan waktu session bagi aplikasi ini sangat berguna untuk memverifikasi kembali apakah orang yang menggunakan aplikasi itu memang pengguna yang sebenarnya atau bukan.

Konsep ini sudah banyak diterapkan khususnya aplikasi yang digunakan sebagai alat untuk media pembayaran atau tempat untuk menampung dompet secara digital. Contohnya seperti Britama, aplikasi Britama menggunakan konsep ini untuk mencegah terjadinya transaksi yang bukan dilakukan oleh pengguna aslinya.

Dengan kata lain fasilitas auto login ini hanya bersifat sementara, yang mana dalam jangka beberapa hari kedepan sistem aplikasi akan mereset ulang dan pengguna akan melewati halaman otorisasi lagi. Dalam segi keamanan ini cukup bagus untuk mengurangi terjadinya kesalahan hak akses pengguna asli dalam menggunakan aplikasi.

Karena pada tutorial ini hanya melanjutkan tutorial sebelumnya, jadi saya tidak akan banyak membahas lebih lengkap khususnya pada bagian proses pembuatan database, tabel dan juga upload file php ke hosting. Saya harap kamu sudah membaca postingan sebelumnya.

Membuat auto login dengan batasan waktu session di App Inventor Kodular

Pada tutorial kali ini saya menggunakan Kodular untuk membuat aplikasinya, jadi bagi kamu pengguna App Inventor tidak perlu khawatir karena struktur kode dan desain pada Kodular mirip dengan App Inventor.

Hal pertama yang dilakukan adalah membuat desain aplikasinya terlebih dahulu.

Desain aplikasi

Adapun desain atau rancangan dari tampilan aplikasi yang dibuat pada tutorial kali ini seperti ini.

desain auto login
desain auto login

desain yang saya buat kali ini sama dengan desain di postingan sebelumnya yaitu membuat auto login sederhana, jika kamu ingin membuatnya lebih bagus dari desain ini silahkan saja. Karena desain pada tutorial ini hanya sebagai contoh saja.

Pada gambar desain di atas, saya membuat 2 halaman dalam 1 screen. Ada halaman “login” dan halaman “welcome”, kedua halaman itu dibuat dengan menggunakan komponen “Vertical_Arrangement”. Adapun beberapa komponen penting lainnya yang wajib ada pada desain kali ini yaitu komponen “Web”, “Notifier”, “TinyDB”, dan “Clock”.

Komponen Web digunakan sebagai jembatan komunikasi untuk mengecek apakah akun yang telah dimasukan pada inputan di halaman login telah sesuai dengan yang ada di database atau tidak. Dengan memasukkan url atau alamat file php di hosting.

Komponen Notifier digunakan untuk menampilkan pesan singkat atau pemberitahuan kepada pengguna, komponen TinyDB digunakan untuk menyimpan data login si pengguna.

Komponen Clock merupakan komponen yang digunakan untuk membuat tanggal baik itu beruba jam, hari, bulan, dan tahun.

Setelah selesai pembuatan desain aplikasi, maka dilanjutkan dengan membuat blok program agar aplikasi android dapat beroperasi dengan baik.

Block program auto login dengan batasan waktu session

berikut di bawah ini adalah kode awalan.

block-program-auto-login-berjangka-inisiasi
block program auto login berjangka inisiasi

kemudian blok program auto login, kedua blok progam ini dibuat dalam satu halaman

block progam auto login dengan batasan waktu session
block progam auto login dengan batasan waktu session

sedikit penjelasan mengenai block program diatas yaitu, ketika aplikasi pertama kali terbuka maka akan mengecek apakah pada database TinyDB sudah terdapat data atau tidak. Pengecekan tersebut dilakukan dengan cara membaca panjang list dari kelularan komponen TinyDB.

Apabila pada TinyDB tidak terdapat data login si pengguna, maka pengguna akan diarahkan ke halaman login untuk melakukan login, sebaliknya apabila data login pengguna sudah ada di database TinyDB maka pengguna akan diarahkan ke halaman welcome.

Setelah itu apabila pengguna sudah melakukan login maka pengguna tidak perlu melakukan login kembali ketika ingin menggunakan aplikasi. Namun auto login tersebut bisa dibatasi waktunya dengan menghitung “session” dan menentukan maksimal session-nya.

Dengan cara mengecek apakah tanggal si pengguna membuka aplikasi berbeda? maka session bertambah, apabila session sudah melewati “max-session”. Maka besok halaman login akan muncul lagi di aplikasi.

Pada blok program yang saya buat di atas, variabel max_session saya isi dengan nilai “1”. Arti dari angka 1 ini untuk menandakan berapa hari sessionnya login si pengguna. 1 berarti 2 hari, karena ketika pengguna baru pertama login, pada database TinyDB key session saya isi dengan nilai 0.

Apabila proses pembuatan blok programnya telah selesai, langkah selanjutnya adalah

Bangun aplikasinya

untuk mengetahui apakah projek aplikasi yang dibuat telah sesuai dengan yang diharapkan, maka project aplikasi harus di rubah menjadi ektensi .apk agar bisa dijalankan di smatphone.

Baik mungkin cukup ini saja yang bisa saya sampaikan apabila ada pertanyaan atau hal-hal yang kurang dimengerti bisa tulis pertanyaanya di komentar

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.