Aplikasi Layanan Resto Berbasis CLI Menggunakan Python dan SQLite 3

Artikel ini di tulis oleh : Dedi Juniansha S Kom M Kom dan Moch Yusuf Romdoni, S Kom MTI

CLI adalah kependekan dari command line interpreter yang merupakan salah satu aplikasi dari Command Prompt (CMD) yang ada di windows. Salah satu kelebihan dari CMD adalah aksesnya yang sangat cepat di karenakan tidak adanya grafis. Berikut ini saya akan memberikan contoh aplikasi berbasis CLI yang di buat dengan bahasa pemrograman python dan database SQLite3, dengan kasus layanan cafe yang bernama Puzzle Resto. Aplikasi ini telah di sempurnakan oleh mahasiswa Teknik Informatika yang bernama Humaedi.

Gambar di atas merupakan tampilan hasil program yang berbasis CLI setelah di jalankan, dan bagi rekan-rekan yang ingin tahu perintah program nya dapat di lihat di bawah ini.

import sqlite3
import os, random

conn = sqlite3.connect(‘kopi.db’)
conn.close()

conn = sqlite3.connect(‘kopi.db’)

cursor=conn.cursor()
sql=”””CREATE TABLE IF NOT EXISTS pelanggan(
no_id INTEGER PRIMARY KEY,
nama_pembeli TEXT,
jenis_menu TEXT,
no_meja TEXT,
total_harga REAL);”””

cursor.execute(sql)
conn.close()

def clear_screen():
os.system(“cls”)

def kembali():
print(“\n”)
while True:
tanya=input(“Apakah ingin kembali ke menu utama?[Y/T]:”)
if tanya==”Y” or tanya==”y”:
menu_utama()
elif tanya==”T” or tanya==”t”:
exit()
break
else:
continue

def transaksi_ulang():
print(“\n”)
while True:
tanya=input(“Apakah ingin membeli lagi?[Y/T]:”)
if tanya==”Y” or tanya==”y”:
transaksi(conn)
elif tanya==”T” or tanya==”t”:
exit()
break
else:
continue

def transaksi():
clear_screen()
print(“===============================================”)
print(“================ Menu ===================”)
print(“[1] Coffe late Rp. 27000”)
print(“[2] Kopi Kenangan Rp. 35000”)
print(“[3] Blue Drink Rp. 26500”)
print(“[4] Minuman Non Coffee Rp. 17000”)
print(“[5] Variasi Late Rp. 45000”)
print(“===============================================”)
print()
print(“Masukan Data Diri”)
id=int(input(“Masukan ID : “))
nama=input(“Masukan Nama : “)
tlp=input(“Masukan No Meja : “)
print(“=============================”)

harga1=0; harga2=0; harga3=0; harga4=0; harga5=0
coffe=""; kopi=""; blue=""; minuman=""; variasi=""
beli=int(input("Pilih Nomor Menu yang ingin anda pesan :"))
if beli==1:
    coffe="Coffe late"
    harga1=27000
elif beli==2:
    kopi="Kopi Kenangan"
    harga2=35000
elif beli==3:
    blue="Blue Drink"
    harga3=26500
elif beli==4:
    minuman="Minuman Non Coffe"
    harga4=17000
elif beli==5:
    variasi="Variasi Late"
    harga5=20000    
else:
    print("Pilihan anda salah")
    menu_utama()

jenis_menu=coffe + kopi + blue + minuman + variasi
total=harga1 + harga2 + harga3 + harga4 + harga5

conn = sqlite3.connect('kopi.db')
cursor=conn.cursor()
val = (id, nama, jenis_menu, tlp, total)
sql = "INSERT INTO pelanggan(no_id, nama_pembeli, jenis_menu, no_meja, total_harga)VALUES(?,?,?,?,?)"
cursor.execute(sql,val)
conn.commit()

print("\n")
print("-----------Pembayaran-----------")
print("Total Tagihan               : Rp.", total)
bayar=int(input("Masukan nomial pembayaran: Rp. "))
print("Kembali Anda                : Rp.", bayar - total)
kembali()

transaksi_ulang()
conn.close()

def show_all_data():
conn = sqlite3.connect(‘kopi.db’)
cursor=conn.cursor()
sql=”SELECT*FROM pelanggan”
cursor.execute(sql)
results=cursor.fetchall()
print(“===============================”)
for data in results:
print(“ID Pelanggan : “, data[0])
print(“Nama Pembeli : “, data[1])
print(“Jenis Menu : “, data[2])
print(“No Meja : “, data[3])
print(“Total Harga : “, data[4])
print(“===============================”)
print()
asal=input(“Ketik Enter untuk kembali”)
lihat_data()

def lihat_data():
clear_screen()
print(“=================================”)
print(“[1] Melihat Semua Data”)
print(“[2] Kembali ke Menu Utama”)
pilih = int(input(“Pilihan anda : “))
if pilih==1:
show_all_data()
elif pilih==2:
kembali()
else:
print(“Pilihan Anda salah”)

def update_data():
conn = sqlite3.connect(‘kopi.db’)
cursor=conn.cursor()
sql=”SELECT*FROM pelanggan”
cursor.execute(sql)
results=cursor.fetchall()
print(“============================”)
for data in results:
print(“ID Pelanggan : “, data[0])
print(“Nama Pembeli : “, data[1])
print(“Jenis Menu : “, data[2])
print(“No Meja : “, data[3])
print(“Total Harga : “, data[4])
print(“===========================”)
print()

banyak=int(input("Berapa banyak yang ingin di update: "))
for data in range(1, banyak+1):
    print("================ Data ke- {} ===============".format(data))
    id=int(input("ID yang ingin diupdate: "))
    nama=input("Nama Baru               : ")
    jb=input("Jenis Menu Baru           : ")
    tlp=input("No Telepon Baru          : ")
    #harga=int(input("Harga Baru         : "))
    print("Data ke- {} sudah ter-update".format(data))
    print()
    cursor=conn.cursor()
    sql="UPDATE pelanggan SET nama=?, jenis_menu=?, nohp=? WHERE no_id=?"
    val=(nama,jb,tlp,id)
    cursor.execute(sql,val)
    conn.commit()
print("{} data telah diupdate".format(banyak))
kembali()

def delete_data():
conn = sqlite3.connect(‘kopi.db’)
cursor=conn.cursor()
sql=”SELECT*FROM pelanggan”
cursor.execute(sql)
results=cursor.fetchall()
print(“=========================”)
for data in results:
print(“ID Pelanggan : “, data[0],”/”,data[1])
print(“Jenis Menu : “, data[2])
print(“Total Harga : “, data[4])
print(“===========================”)
print()

idd=input("Masukan ID : ")
print("====================================")

query = "DELETE from pelanggan where no_id = ?"
result = cursor.execute(query, (idd,))
conn.commit()
if (result):
    print("One record Deleted")
else:
    print("Something Error in Deletion")
kembali()

def mencari_data():
clear_screen()
conn = sqlite3.connect(‘kopi.db’)
cursor=conn.cursor()
print(“\nMasukan kata kunci berupa ID Pelanggan/Nma/Jenis Menu”)
keyword=input(“Kata Kunci: “)
sql=”SElECT*FROM pelanggan WHERE no_id=? or nama=? or jenis_menu=?”
val=(keyword, keyword, keyword)
cursor.execute(sql,val)
results=cursor.fetchall()
if (results):
print(“=======================”)
for data in results:
print(“ID Pelanggan : “, data[0])
print(“Nama Pembeli : “, data[1])
print(“Jenis Menu : “, data[2])
print(“No Telepon : “, data[3])
print(“Total Harga : “, data[4])
print(“===========================”)
print()
else:
print(“Data tidak ditemukan”)
kembali()
def anggota():
print(“1. Humaedi 1101201094.”)
print(“2. Bagas Adi Nugraha 1101201024.”)
print(“3.Mohammad Nuril Rizki 1101201045.”)
kembali()

def menu_utama():
clear_screen()
print(“=========== Puzzle resto ============”)
print(“[1] Transaksi”)
print(“[2] Melihat Data”)
print(“[3] Update Data”)
print(“[4] Delete Data”)
print(“[5] Mencari Data”)
print(“[6] Data Kelompok”)
print(“[7] Keluar”)
print(“=====================================”)
print()
pilih=int(input(“Pilihan anda : “))
if pilih==1:
transaksi()
elif pilih==2:
lihat_data()
elif pilih==3:
update_data()
elif pilih==4:
delete_data()
elif pilih==5:
mencari_data()
elif pilih==6:
anggota()
else:
print(“Pilian anda salah”)

if name==”main“:
while True:
menu_utama()

Related posts