Dalam latihan kali ini, kita akan belajar bagaimana cara membuat program buku kontak Python sederhana. Program ini memungkinkan pengguna untuk menambah, mencari, menampilkan, mengedit, dan menghapus kontak. Latihan ini sangat cocok bagi pemula yang ingin memahami konsep dictionary, function, dan looping dalam Python.
1. Tujuan Latihan
Tujuan utama latihan ini adalah untuk memperkuat pemahaman Anda dalam hal:
- Menggunakan struktur data dictionary di Python
- Menerapkan fungsi (function) untuk membagi logika program
- Mengelola input dan output dari pengguna
- Membuat menu interaktif sederhana di terminal
2. Desain Program
Program Buku Kontak ini memiliki beberapa fitur utama:
- Menambahkan kontak baru
- Menampilkan semua kontak
- Mencari kontak berdasarkan nama
- Mengedit kontak
- Menghapus kontak
- Keluar dari program
3. Struktur Data
Setiap kontak akan disimpan dalam dictionary Python dengan format seperti berikut:
kontak = {
"nama": "Raisa",
"telepon": "08123456789",
"email": "raisa@email.com"
}
Semua kontak akan disimpan di dalam list:
buku_kontak = []
4. Kode Program Buku Kontak Lengkap
def tambah_kontak(buku):
nama = input("Masukkan nama: ")
telepon = input("Masukkan nomor telepon: ")
email = input("Masukkan email: ")
kontak = {"nama": nama, "telepon": telepon, "email": email}
buku.append(kontak)
print("Kontak berhasil ditambahkan!\n")
def tampilkan_kontak(buku):
if not buku:
print("Buku kontak kosong.\n")
return
print("Daftar Kontak:")
for i, kontak in enumerate(buku, start=1):
print(f"{i}. Nama: {kontak['nama']}, Telepon: {kontak['telepon']}, Email: {kontak['email']}")
print()
def cari_kontak(buku):
nama = input("Masukkan nama yang ingin dicari: ")
hasil = [k for k in buku if k["nama"].lower() == nama.lower()]
if hasil:
print("Kontak ditemukan:")
for k in hasil:
print(f"Nama: {k['nama']}, Telepon: {k['telepon']}, Email: {k['email']}\n")
else:
print("Kontak tidak ditemukan.\n")
def edit_kontak(buku):
nama = input("Masukkan nama kontak yang ingin diedit: ")
for k in buku:
if k["nama"].lower() == nama.lower():
print("Kontak ditemukan. Masukkan data baru (biarkan kosong jika tidak ingin mengubah):")
telepon_baru = input("Nomor telepon baru: ")
email_baru = input("Email baru: ")
if telepon_baru:
k["telepon"] = telepon_baru
if email_baru:
k["email"] = email_baru
print("Kontak berhasil diperbarui!\n")
return
print("Kontak tidak ditemukan.\n")
def hapus_kontak(buku):
nama = input("Masukkan nama kontak yang ingin dihapus: ")
for k in buku:
if k["nama"].lower() == nama.lower():
buku.remove(k)
print("Kontak berhasil dihapus!\n")
return
print("Kontak tidak ditemukan.\n")
def menu():
buku = []
while True:
print("=== MENU BUKU KONTAK ===")
print("1. Tambah Kontak")
print("2. Tampilkan Semua Kontak")
print("3. Cari Kontak")
print("4. Edit Kontak")
print("5. Hapus Kontak")
print("6. Keluar")
pilihan = input("Pilih menu (1-6): ")
if pilihan == "1":
tambah_kontak(buku)
elif pilihan == "2":
tampilkan_kontak(buku)
elif pilihan == "3":
cari_kontak(buku)
elif pilihan == "4":
edit_kontak(buku)
elif pilihan == "5":
hapus_kontak(buku)
elif pilihan == "6":
print("Terima kasih telah menggunakan Buku Kontak Python!")
break
else:
print("Pilihan tidak valid. Coba lagi.\n")
if __name__ == "__main__":
menu()
5. Contoh Kasus Penggunaan
Berikut contoh bagaimana program bekerja:
=== MENU BUKU KONTAK === 1. Tambah Kontak 2. Tampilkan Semua Kontak 3. Cari Kontak 4. Edit Kontak 5. Hapus Kontak 6. Keluar Pilih menu (1-6): 1 Masukkan nama: Rysa Masukkan nomor telepon: 08123456789 Masukkan email: rysa@email.com Kontak berhasil ditambahkan!
=== MENU BUKU KONTAK === 1. Tambah Kontak 2. Tampilkan Semua Kontak 3. Cari Kontak 4. Edit Kontak 5. Hapus Kontak 6. Keluar Pilih menu (1-6): 2 Daftar Kontak: 1. Nama: Rysa, Telepon: 08123456789, Email: rysa@email.com
6. Penjelasan Kode
Program ini menggunakan beberapa function agar kode lebih terorganisir. Misalnya, tambah_kontak() digunakan untuk menambah data baru, sedangkan tampilkan_kontak() untuk menampilkan semua kontak yang tersimpan.
Pada bagian menu(), terdapat perulangan while True agar menu terus berjalan hingga pengguna memilih opsi keluar.
7. Pengembangan Lebih Lanjut
Anda dapat mengembangkan program ini menjadi lebih kompleks, misalnya dengan:
- Menyimpan data ke file CSV atau JSON agar tidak hilang setelah program ditutup
- Menambahkan fitur pencarian sebagian nama (substring)
- Menggunakan GUI dengan tkinter untuk tampilan visual
Kesimpulan
Latihan ini memberikan pemahaman praktis dalam membuat program buku kontak Python sederhana. Dengan memahami konsep dasar seperti dictionary, function, dan loop, Anda bisa mengembangkan berbagai aplikasi lain yang lebih kompleks di masa depan.
Semoga latihan ini bermanfaat dan bisa menjadi dasar yang kuat dalam perjalanan Anda mempelajari pemrograman Python!