Array dalam Python

 Kali ini kita akan membuat sebuah program login yang disertai fitur seperti penambahan user dan penghapusan user.

Tapi pertama-tama. Apa itu Array?

Array adalah sebuah tipe data bawaan dalam Bahasa Pemrograman Python, bisa juga disebut list.

Array juga bisadi gunakan untuk memanipulasi data dan lebih menghemat memori.

Array tergolong dari 2 jenis yaitu:

-Array Numerik, dan

-Array Karakter.

Array Numerik dapat digunakan untuk perhitungan matematika, sedangkan Array Karakter digunakan untuk menyimpan karakter'string dan juga boolean. Array karakter-lah yang akan kita gunakan dalam pemrograman kita kali ini.


Array juga memiliki dimensi:

-Array 1 dimensi

Menyimpan data dalam 1 dimensi

-Array 2 dimensi

Kumpulan baris data dan kolom

-Array 3 dimensi

Garis, Kolom, dan Kedalaman.


Program yang telah dibuat dan Outputnya:


#untuk fitur keluar
#sys.exit() sebagai fitur force close jika sudah login
import sys

#array untuk membuat list
data_pengguna = [
    ["Username", "Password"],
    ['user1', 'pass123'],
    ['user2', 'pass112']
]
login_admin = ['admin', 'admin123']

#membuat limit percobaan login
max_limit = 3

#fungsi untuk mendaftarkan pengguna baru
def register():
  print("\n")
  print("-"*75)
  print("REGISTRASI")
  print("-"*75)

  while True:
    new_username = input("Buat username baru: ")

    #menghindari penimpaan pengguna yang ada
    alluser = [user[0] for user in data_pengguna[1:]] + [login_admin[0]]
    if new_username in alluser:
      print("Username sudah digunakan. Silahkan pilih username lain.")
    else:
      break #jika username baru yang dibuat berbeda dengan yang ada di data

  new_password = input("Buat password baru: ")
  #memasukkan username baru ke data_pengguna
  data_pengguna.append([new_username, new_password])
  print("Registrasi berhasil!")

def login():
  print("\n")
  print("-"*75)
  print("LOGIN")
  print("-"*75)
  limit = 0

  while limit < max_limit:
    username = input("Masukkan username: ")
    password = input("Masukkan password: ")

    if [username, password] in data_pengguna[1:]:
      print(f"Login berhasil! Selamat datang {username}!")
      usermenu()
      return
    elif username == login_admin[0] and password == login_admin[1]:
      print(f"Selamat datang, {username}!")
      adminmenu()
      return
    else:
      limit += 1
      print("Login gagal. Silahkan coba lagi.")

  print("Percobaan login telah mencapai batas maksimum.")

#tampilan menu pengguna
def usermenu():
  while True:
    print("\n")
    print("="*75)
    print("MENU")
    print("="*75)
    print("9. Log out")
    print("0. Keluar")

    pilihan = input("Pilih menu: ")

    if pilihan == "9":
      print("Anda telah log out.")
      main_menu()
      return
    elif pilihan == "0":
      print("Sampai jumpa kembali!")
      sys.exit()
    else:
      print("Pilihan tidak valid. silahkan coba lagi.")

#tampilan menu admin
def adminmenu():
  while True:
    print("\n")
    print("="*75)
    print("MENU")
    print("="*75)
    print("1. Tambah pengguna")
    print("2. Hapus pengguna")
    print("3. Daftar pengguna")
    print("9. Log out")
    print("0. Keluar")

    pilihan = input("Pilih menu: ")

    if pilihan == "9":
      print("Anda telah log out.")
      main_menu()
      return
    elif pilihan == "0":
      print("Sampai jumpa kembali!")
      sys.exit()
    elif pilihan == "1":
      register()
    elif pilihan == "2":
      deluser()
    elif pilihan == "3":
      userlist()
    else:
      print("Pilihan tidak valid. silahkan coba lagi.")
#membuat fitur menghapus pengguna
def deluser():
  print("\n")
  print("-"*75)
  print("HAPUS PENGGUNA")
  print("-"*75)

  while True:
    admin_password = input("Masukkan password admin: ")
    if admin_password != login_admin[1]:
      print("Password admin salah. Silahkan coba lagi.")
      continue

    username_delete = input("Masukkan username yang ingin dihapus: ")
    found = False
    for i in range(1, len(data_pengguna)): #mulai dari 1 untuk melewati header
      if data_pengguna[i][0] == username_delete:
        data_pengguna.pop(i) #.pop(i) menghapus pengguna berdasarkan kata kunci pencarian indeks
        found = True
        print(f"Pengguna '{username_delete}' berhasil dihapus.")
        break

    if not found:
      print(f"Pengguna '{username_delete}' tidak ditemukan.")

    adminmenu()
    return

def userlist():
  header = data_pengguna[0]
  print("\n")
  print("-"*75)
  print(f"{header[0]:<15} {header[1]:<15}")
  print("-"*75)
  for row in data_pengguna[1:]:
    print(f"{row[0]:<15} {row[1]:<15}")

  adminmenu()

def main_menu():
  while True:
    print("\n")
    print("="*75)
    print("MAIN MENU")
    print("="*75)
    print("1. Login")
    print("2. Register")
    print("0. Keluar")
    print("\n")

    pilihan = input("Pilih menu: ")
    if pilihan == "1":
      login()
    elif pilihan == "2":
      register()
    elif pilihan == "0":
      print("Sampai jumpa kembali!")
      sys.exit()
    else:
      print("Pilihan tidak valid. Silahkan coba lagi.")

main_menu()


Outputnya:

===========================================================================
MAIN MENU
===========================================================================
1. Login
2. Register
0. Keluar


Pilih menu: 1


---------------------------------------------------------------------------
LOGIN
---------------------------------------------------------------------------
Masukkan username: admin
Masukkan password: admin123
Selamat datang, admin!


===========================================================================
MENU
===========================================================================
1. Tambah pengguna
2. Hapus pengguna
3. Daftar pengguna
9. Log out
0. Keluar
Pilih menu: 3


---------------------------------------------------------------------------
Username        Password       
---------------------------------------------------------------------------
user1           pass123        
user2           pass112        


===========================================================================
MENU
===========================================================================
1. Tambah pengguna
2. Hapus pengguna
3. Daftar pengguna
9. Log out
0. Keluar
Pilih menu: 0
Sampai jumpa kembali!
An exception has occurred, use %tb to see the full traceback.

SystemExit
/usr/local/lib/python3.12/dist-packages/IPython/core/interactiveshell.py:3561: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
  warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)

Eror SystemExit ini adalah kendala biasa dikarenakan kita menggunakan kode sys.exit()
untuk force close program yang kita buat. Sekian dan Terima Kasih

Komentar

Postingan populer dari blog ini

Metode - Metode Algoritma Sorting Dalam Pemrograman

Matriks dan NumPy dalam Python

Mengenal Abu Ja'far Muhammad Ibnu Musa Al-Khwarizmi