Langsung ke konten utama

Cara Membuat Aplikasi Android Form Pendaftaran dengan Python dan Kivy dengan Parameter Input if elif else

Cara Membuat Aplikasi Android Form Pendaftaran dengan Python dan Kivy dengan Parameter Input if elif else
begini koder, kemarin kan saya sudah mencatat Cara Membuat Form pendaftaran dengan Python dan GUI dengan KivyMD lalu di input ke database sqlite. Nah sekarang ini kelanjutanya dengan menambahkan form input username dan parameter pada username dan penambahan form input konfirmasi password.

buat yang baru baca catatan ini lebih baik ikuti dahulu di catatan sebelumnya. agar dapat memahami alur dan susunan foldernya di kategori Membuat Aplikasi Android.

Jadi, logikanya sebagai berikut :

1. Jika password yang di input kurang dari delapan karakter maka akan di tolak, lalu muncul notif "Password terlalu pendek mimal 8 karakter". beikut tampilannya

Form Input Password Python dan KivyMD

2. Jika username kurang dari 3 karakter, maka akan ditolak dan muncul notif Usename Minimal 3 karakter. berikut tampilanya

Form Input Username Python dan KivyMD

3. Jika Username sudah terdaftar di database maka akan di tolak, dan muncul notif "Username sudah terdaftar". berikut tampilannya

Form Input Username Python dan KivyMD

4. Jika pendaftaran berhasil maka akan muncul notif "Selamat kamu telah terdaftar, silahkan login di halaman utama". berikut tampilannya.

Form Input Pendaftaran Python dan KivyMD

5. Jika Password berbeda dengan konfirmasi password, maka akan di tolak dan muncul notif "Password harus sama dengan konfirmasi password". berikut tamplinnya

Form Input Password Python dan KivyMD

Dalam file main.py, screens.py, hanya ada di daftar.kv dan daftar.py.

Jadi daftar.kv saya merubah lebih tepatnya menambah form username dan form konfirmasi password. dan untuk scriptnya sebagai berikut.

daftar.kv

#:kivy 2.1
<Daftar>:
MDFloatLayout:
md_bg_color: ("#d3ede6")
Image:
source:"kv/assets/foto/lapakngodingtr.png"
size_hint: .5 , .5
pos_hint:{"center_x": 0.5,"center_y": 0.92}
Image:
source:"kv/assets/foto/logoLapakngodin9.png"
size_hint: .15 , .15
pos_hint:{"center_x": 0.5,"center_y": 0.92}
MDLabel:
text: "L a p a k N g o d i n g"
halign : "center"
font_size : "24sp"
font_name : "Atma"
pos_hint:{"center_y": 0.84}
MDLabel:
text: "Belajar Ngoding dengan Browsing"
halign : "center"
font_size : "14sp"
font_name : "Tagline"
pos_hint:{"center_y": 0.81}
color:("#808080")
MDLabel:
text: "Daftar Member Lapak Ngoding"
halign : "center"
font_size : "16sp"
font_name : "Atma"
pos_hint:{"center_y": 0.78}
color:("#808080")
MDTextField:
id: username
hint_text: "Username"
mode: "rectangle"
icon_left: "account"
size_hint: 0.70, 0.09
pos_hint:{"center_x": 0.5,"center_y": 0.73}
MDTextField:
id: nama
hint_text: "Nama Lengkap"
mode: "rectangle"
icon_left: "account"
size_hint: 0.70, 0.09
pos_hint:{"center_x": 0.5,"center_y": 0.63}
MDTextField:
id: email
hint_text: "Email aktif"
mode:"rectangle"
icon_left: "email-check-outline"
size_hint: 0.70, 0.09
pos_hint:{"center_x": 0.5, "center_y": 0.53}
MDTextField:
id: nohp
hint_text: "No HP Aktif"
mode:"rectangle"
icon_left: "cellphone-basic"
size_hint: 0.70, 0.09
pos_hint:{"center_x": 0.5, "center_y": 0.43}
MDTextField:
id: alamat
hint_text: "Alamat Lengkap"
mode:"rectangle"
icon_left: "city-variant"
size_hint: 0.70, 0.09
pos_hint:{"center_x": 0.5, "center_y": 0.33}
MDTextField:
id: password
password: True
hint_text: "Password min 8"
mode:"rectangle"
icon_left: "key-variant"
size_hint: 0.35, 0.09
pos_hint:{"center_x": 0.32, "center_y": 0.23}
MDTextField:
id: passconf
password: True
hint_text: "Konfirmasi"
mode:"rectangle"
icon_left: "key-variant"
size_hint: 0.35, 0.09
pos_hint:{"center_x": 0.68, "center_y": 0.23}
MDRaisedButton:
text:"D a f t a r"
font_size : "16sp"
font_name : "Atma"
size_hint: 0.30, 0.02
pos_hint: {"center_x": 0.32, "center_y": 0.13}
md_bg_color: ("#23a484")
on_press : root.submit()
MDLabel:
text: "Sudah Punya Akun?"
halign : "center"
font_size : "16sp"
font_name : "Line"
pos_hint:{"center_x": 0.68,"center_y": 0.13}
color:("#000000")


dan untuk script daftar.py sebagai berikut

daftar.py

from kivymd.uix.screen import MDScreen
from kivy.lang import Builder
from kivymd.uix.dialog import MDDialog
import sqlite3
import bcrypt

class Daftar(MDScreen):
pass

def __init__(self, **kwargs):
Builder.load_file("kv/daftar.kv")
super().__init__(**kwargs)

def submit(self):
username = self.ids.username.text
nama = self.ids.nama.text
email = self.ids.email.text
nohp = self.ids.nohp.text
alamat = self.ids.alamat.text
password = self.ids.password.text
passconf = self.ids.passconf.text

#koneksi ke data base
conn = sqlite3.connect('/home/zahir/LapakNgoding.db')
c = conn.cursor()
        #Select database 
c.execute("SELECT * FROM MEMBER")
db = c.fetchall() 
z = []
        #mencari data di database lalu di simpan pada variabel z 
for user in db:
a = (user[1])
z.append(a)
if not len (password)<=7:#parameter password min 8 karakter
conn = sqlite3.connect('/home/zahir/LapakNgoding.db')
if not username == None:
                #parameter username minmal 3 karakter 
if len(username)<3:
print ()
self.dialog = MDDialog(
text = "Username minimal 3 karakter!.untuk mengulangi klik di luar box",
radius=[20, 7, 20, 7],
)
self.dialog.open()
                #jika username ada di dalam database 
elif username in z:
print()
self.dialog = MDDialog(
text="Username sudah terdaftar, untuk mengulangi klik di luar box",
radius=[20, 7, 20, 7],
)
self.dialog.open()
                #parameter password dan konfrm password 
else:
if password == passconf:
password = password.encode('utf-8')
                        #enkripsi password 
password = bcrypt.hashpw(password, bcrypt.gensalt())

conn = sqlite3.connect('/home/zahir/LapakNgoding.db')
c = conn.cursor()
c.execute("INSERT INTO member(nama, email, nohp, alamat, password, username)VALUES(:nama, :email, :nohp, :alamat, :password, :username)",
{
'username' : username,
'nama' : nama,
'email' : email,
'nohp' : nohp,
'alamat' : alamat,
'password' : password
})
conn.commit()
conn.close()
print()
                        #jika berhasil insert atau daftar 
self.dialog = MDDialog(
title="S E L A M A T",
text="Kamu telah terdaftar, Silahkan login di halaman utama",
radius=[20, 7, 20, 7],
)
self.dialog.open()

else:
                    #notif jika password berbeda dengan konfirmasi password 
print()
self.dialog = MDDialog(
text="Password harus sama dengan Konfirmasi Password, untuk mengulangi klik di luar box",
radius=[20, 7, 20, 7],
)
self.dialog.open()
else:
            #notif jika password kurang dari 8 karakter 
print()
self.dialog = MDDialog(
text="Password terlalu pendek minmal 8 karakter, untuk mengulangi klik di luar box",
radius=[20, 7, 20, 7],
)
self.dialog.open()

versi videonya di CHANNEL YOUTUBE LapakNgonding, jangan lupa SUBSCRIBE ya channelnya.


 

Terima kasih

Jakarta, Senin, 14 Nov 22, jam 21.48



Komentar

Postingan populer dari blog ini

Membuat Aplikasi Android dengan Python dan Kivy untuk Halaman Login Administrator

Melanjutkan dari Catatan yang kemrin yaitu Membuat Aplikasi Android SistemEnkripsi dan Deskripsi Password Bcrypt untuk Autentikasi Login denganPython dan Kivy . Buat yang baru mampir silahkan baca catatan sebelumnya agar dapat mengerti alurnya catatan kali ini. Sekarang saya ingin mencatat Membuat Aplikasi Android dengan Python dan Kivy untuk Halaman Login Administrator. langkah awal, di file main.py yang berada di folder Aplikasi Python - main.py tambahkan kode pada class LapakNgoding untuk memanggil atau menjalankan file hallogadmin.py baris kodenya ada di baris ke 19 perhatikan baris kode di bawah ini. lanjut kita buat file python dengan nama hallogadmin.py yang berada di folder Aplikasi Python - screens - hallogadmin.py berikut susunan kodenya. lalu untuk meload class Hallogadmin yang berada di dalam file hallogadmin.py kita perlu menambahkan kode di file screens.py yang berada di folder Aplikasi Python - screens - screens.py tambahakan dengan kode from screens . hallogadmin

Membuat Aplikasi Android Sistem Enkripsi dan Deskripsi Password Bcrypt untuk Autentikasi Login dengan Python dan Kivy

  Hai Koder, jangan lupa baca catatan sebelumnya ya untuk mengerti alur catatan Membuat Aplikasi Android Sistem Enkripsi dan Deskripsi Password Bcrypt untuk Autentikasi Login dengan Python dan Kivy. Silahkan koder baca disini . oke kita mulai Membuat Aplikasi Android Sistem Enkripsi dan Deskripsi Password Bcrypt untuk Autentikasi Login dengan Python dan Kivy Skema filenya sebagai berikut buka file hallog.kv yang berada di Aplikasi Python - kv - hallog.kv lalu pada bagian button login di tambahkan kode on_press : root.loginAcc pada bagian akhir MDRiseButton . berikut full kode hallog.kv. Jangan lupa id pada textfieldnya di bagian MDTextField id : username dan id : password . hallog.kv #:kivy 2.1 <Hallog>: MDFloatLayout: md_bg_color: ( "#d3ede6" ) Image: source: "kv/assets/foto/lapakngodingtr.png" size_hint: . 5 , . 5 pos_hint: { "center_x" : 0 . 5 , "center_y" : 0 . 70 } Image: source: