Advertisement
trainer_pemrograman

Program Perpustakan script bash linux

Oct 30th, 2024 (edited)
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.98 KB | Source Code | 0 0
  1. #!/bin/bash
  2.  
  3. # Array untuk menyimpan daftar pengunjung
  4. visitors=()
  5.  
  6. # Menampilkan menu
  7. show_menu() {
  8.     echo "========================="
  9.     echo "   Program Perpustakaan  "
  10.     echo "========================="
  11.     echo "1. Tambah Pengunjung"
  12.     echo "2. Lihat Daftar Pengunjung"
  13.     echo "3. Cari Pengunjung"
  14.     echo "4. Hapus Pengunjung"
  15.     echo "5. Keluar"
  16. }
  17.  
  18. # Menambah pengunjung
  19. add_visitor() {
  20.     read -p "Masukkan nama pengunjung: " name
  21.     visitors+=("$name")
  22.     echo "'$name' ditambahkan ke daftar pengunjung."
  23. }
  24.  
  25. # Melihat daftar pengunjung
  26. list_visitors() {
  27.     if [ ${#visitors[@]} -eq 0 ]; then
  28.         echo "Tidak ada pengunjung yang terdaftar."
  29.     else
  30.         echo "Daftar Pengunjung:"
  31.         for i in "${!visitors[@]}"; do
  32.             echo "$(($i + 1)). ${visitors[$i]}"
  33.         done
  34.     fi
  35. }
  36.  
  37. # Mencari pengunjung
  38. search_visitor() {
  39.     read -p "Masukkan nama pengunjung yang dicari: " search_name
  40.     for name in "${visitors[@]}"; do
  41.         if [[ "$name" == *"$search_name"* ]]; then
  42.             echo "Pengunjung ditemukan: $name"
  43.             return
  44.         fi
  45.     done
  46.     echo "Pengunjung '$search_name' tidak ditemukan."
  47. }
  48.  
  49. # Menghapus pengunjung
  50. delete_visitor() {
  51.     read -p "Masukkan nama pengunjung yang dihapus: " delete_name
  52.     for i in "${!visitors[@]}"; do
  53.         if [[ "${visitors[$i]}" == "$delete_name" ]]; then
  54.             unset 'visitors[i]'
  55.             echo "'$delete_name' telah dihapus dari daftar pengunjung."
  56.             visitors=("${visitors[@]}")  # Merapikan array setelah penghapusan
  57.             return
  58.         fi
  59.     done
  60.     echo "Pengunjung '$delete_name' tidak ditemukan."
  61. }
  62.  
  63. # Loop utama
  64. while true; do
  65.     show_menu
  66.     read -p "Pilih opsi [1-5]: " choice
  67.     case $choice in
  68.         1) add_visitor ;;
  69.         2) list_visitors ;;
  70.         3) search_visitor ;;
  71.         4) delete_visitor ;;
  72.         5) echo "Keluar dari program."; break ;;
  73.         *) echo "Opsi tidak valid." ;;
  74.     esac
  75. done
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement