Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # Array untuk menyimpan daftar pengunjung
- visitors=()
- # Menampilkan menu
- show_menu() {
- echo "========================="
- echo " Program Perpustakaan "
- echo "========================="
- echo "1. Tambah Pengunjung"
- echo "2. Lihat Daftar Pengunjung"
- echo "3. Cari Pengunjung"
- echo "4. Hapus Pengunjung"
- echo "5. Keluar"
- }
- # Menambah pengunjung
- add_visitor() {
- read -p "Masukkan nama pengunjung: " name
- visitors+=("$name")
- echo "'$name' ditambahkan ke daftar pengunjung."
- }
- # Melihat daftar pengunjung
- list_visitors() {
- if [ ${#visitors[@]} -eq 0 ]; then
- echo "Tidak ada pengunjung yang terdaftar."
- else
- echo "Daftar Pengunjung:"
- for i in "${!visitors[@]}"; do
- echo "$(($i + 1)). ${visitors[$i]}"
- done
- fi
- }
- # Mencari pengunjung
- search_visitor() {
- read -p "Masukkan nama pengunjung yang dicari: " search_name
- for name in "${visitors[@]}"; do
- if [[ "$name" == *"$search_name"* ]]; then
- echo "Pengunjung ditemukan: $name"
- return
- fi
- done
- echo "Pengunjung '$search_name' tidak ditemukan."
- }
- # Menghapus pengunjung
- delete_visitor() {
- read -p "Masukkan nama pengunjung yang dihapus: " delete_name
- for i in "${!visitors[@]}"; do
- if [[ "${visitors[$i]}" == "$delete_name" ]]; then
- unset 'visitors[i]'
- echo "'$delete_name' telah dihapus dari daftar pengunjung."
- visitors=("${visitors[@]}") # Merapikan array setelah penghapusan
- return
- fi
- done
- echo "Pengunjung '$delete_name' tidak ditemukan."
- }
- # Loop utama
- while true; do
- show_menu
- read -p "Pilih opsi [1-5]: " choice
- case $choice in
- 1) add_visitor ;;
- 2) list_visitors ;;
- 3) search_visitor ;;
- 4) delete_visitor ;;
- 5) echo "Keluar dari program."; break ;;
- *) echo "Opsi tidak valid." ;;
- esac
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement