Langsung ke konten utama

Tutorial Python Membuat Database dengan file txt serta Autentikasi Login di Python

 

Tutorial Python Membuat Database dengan file txt serta Autentikasi Login di Python

Hai Koder, semoga kita semua selalu diberikan kesehatan, kemudahan dan kelancaran di setiap langkah kita. Aamiin

Catatan kali ini saya ingin membagikan pengalaman saya dalam Belajar Python, yaitu tentang Membuat Database dengan file txt serta Autentikasi Login.

Caranya sangat simple sekali. karena kita ga perlu install databasenya hanya membuat file dengan format txt sudah jadi. tapi ini hanya untuk pembelajaran saja ya sob.

langsung aja buat file dengan nama database.txt dan lokasinya dijadikan satu folder dengan file python.

Lalu buat file dengan nama

LoginPython.py

import bcrypt #untuk enkripsi password

#print ketika berhasil login
def selamat():
print("Selamat Datang di Lapak Ngoding")

#membuat fungsi formDaftar
def formDaftar(Username=None, Password1=None, Password2=None):
Username = input("Buat username:") #form input username
Password1 = input("Buat password:") #form input password
Password2 = input("Konfirmasi Password:") #form konfirmasi password
db = open("belajarPython/LoginPython/database.txt", "r") #membuka file database.txt
z = []
for i in db: #mengambil data dari database.txt
a,b = i.split(",")
b = b.strip()
c = a,b
z.append(a)
if not len(Password1)<=8:#parameter password tidak boleh kurang 8 karakter ke bawah
db = open("belajarPython/LoginPython/database.txt", "r")
if not Username ==None:
if len(Username) <1:#parameter username tidak boleh kurang dari 1
print("Mohon masukkan Username yang benar")
formDaftar()
elif Username in z:#periksa username sudah terdaftar di database atau belum
print("Username sudah terdaftar")
formDaftar()
else:
if Password1 == Password2: #periksa password harus sama, jika sama langsung simpan ke database
Password1 = Password1.encode('utf-8')
Password1 = bcrypt.hashpw(Password1, bcrypt.gensalt())#enkripsi password bcrypt
db = open("belajarPython/LoginPython/database.txt", "a")
db.write(Username+", "+str(Password1)+"\n")
print("User berhasil di buat!")#print info jika behasil
print("Silahkan Login:")

else: #print jika password berbeda
print("Password tidak sama")
formDaftar()
else: #print jika password terlalu pendek
print("Password terlalu pendek")

def formLogin(Username=None, Password=None):
Username = input("Masukkan username:") #form input username
Password = input("Masukkan Password:") #form input password
if not len(Username or Password) < 1:
if True:
db = open("belajarPython/LoginPython/database.txt", "r") #membuka file database.txt
z = []
k = []
for i in db:
a,b = i.split(",") #memisahkan data di database antara koma dan menjadi variabel a dan b
b = b.strip() #mengambil data b
c = a,b #mendefiniskan data a dan b
z.append(a) #menambahakan data a ke variabel z
k.append(b) #menambahakan data b ke variabel k
data = dict(zip(z, k)) #konversi data ke tipe dictionary
try:
if Username in data:
hashed = data[Username].strip('b') #meniadakan b yang berada di awal password enkripsi
hashed = hashed.replace("'", "") #menghapus koma antara username dan password
hashed = hashed.encode('utf-8') #mengembalikan nilai password yang di enkripsi
try:
if bcrypt.checkpw(Password.encode(), hashed): #cek password yang sudah di encode
print("Berhasil login!")
print("Hai apa kabar", Username+"?")
selamat()
else:
print("Password salah")
except:
print("Koreksi passwords atau username")
else:
print("Username tidak ada")
except:
print("Password atau username tidak ada")
else:
print("Error logging into the system")
else:
print("Mohon login kembali")
formLogin()

#Membuat pilihan
def home(option=None):
print("Welcome, silahkan ketik Login atau Daftar untuk memulai")
option = input("Login | Daftar:")
if option == "Login":
formLogin()
elif option == "Daftar":
formDaftar()
else:
print("Mohon ketik Login atau Daftar untuk memulai")

home ()


Note: Mohon maaf jika ada penjelasan dalam kome yang keliru atau bahkan salah.

di dalam LoginPython.py terdapat empat fungsi yang di tampung dalam def

1. def selamat

fungsi ini akan di eksekusi jika berhasil login

2. def formDaftar

fungsi untuk mendaftrakan atau input data ke dalam database.txt

3. def formLogin

Fungsi ini untuk login dengan mengambil data yang sudah ada di dalam database.txt

4. def home

terdapat fungsi pilihan pada saat pertama kali di jalankan

berikut tampilan jika file LoginPython.py di jalankan

karena di database.txt masih kosong. maka saya pilih daftar dan jika password berbeda maka


 oke kita coba lagi dengan input password kurang dari 8 maka hasilnya

dan jika sudah sesuai dengan parameter yang ditentukan maka hasilnya sebagai berikut.

dan isi dari database.txt 

sekarang saya login dengan data tersebut

gimana jika password salah?

bagaimana jika username sudah terdaftar?

nah, begitulah sob hasil eksekusi programnya. koder silahkan bereksplorasi dengan menambahkan fungsi-fungsi yang koder inginkan.

nantikan versi videoanya di Channel Youtube Lapak Ngoding.

Sampai sini dulu ya sob, karena, di minta masak nasi sama istri buat sarapan besok pagi hehehe

Jakarta di saat istri ga jadi jemurin cucian karena si bontot bangun.

sa






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:

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 2. Jika username kurang dari 3 karakter, maka akan ditolak dan muncul notif Usename Minimal 3 karakter. berikut tampilanya 3. Jika Username sudah terdaftar di database maka akan di tolak, dan muncul notif "Username sudah terdaftar". berikut tampilannya 4. Jika pendaftaran berhasil maka akan muncul notif "Selamat kamu telah