Press ESC to close

Menulis Script Interaktif dengan Select dan Case

WhatsAppTelegramFacebookXThreadsCopy Link

Pernahkah Anda ingin membuat script Bash yang bisa berinteraksi langsung dengan pengguna, tapi bingung harus mulai dari mana? Misalnya, Anda ingin membuat menu pilihan sederhana — pengguna tinggal memilih angka, dan script langsung menjalankan perintah yang sesuai. Banyak pemula di Linux sering mengalami kebingungan ini.

Biasanya, mereka mencoba membuat menu dengan echo dan read, tapi hasilnya berantakan dan tidak efisien. Nah, di sinilah fitur select dan case dalam Bash sangat membantu. Dengan kombinasi keduanya, Anda bisa membuat script interaktif yang terlihat profesional, rapi, dan mudah digunakan.

Dalam artikel ini, Anda akan belajar:

  • Apa itu select dan case dalam Bash.
  • Cara menggabungkannya untuk membuat menu interaktif.
  • Contoh script sederhana dan praktis.
  • Tips agar script Anda tetap aman dan mudah dibaca.

Apa Itu select dan case dalam Bash?

Sebelum membuat script, Anda perlu tahu dulu fungsinya:

  • select: Digunakan untuk membuat menu pilihan otomatis di terminal. Bash akan menampilkan daftar opsi dan meminta pengguna memilih satu dengan mengetik nomor.
  • case: Mirip seperti if-else, tapi lebih ringkas dan cocok untuk menangani banyak pilihan.

Gabungan keduanya memungkinkan Anda membuat script interaktif tanpa harus mengetik banyak kode kondisi berulang.


1. Membuat Menu Sederhana dengan select

Mari mulai dengan membuat menu dasar menggunakan perintah select.

#!/bin/bash

echo "=== Menu Utama ==="
select pilihan in "Lihat Waktu" "Lihat Pengguna Aktif" "Keluar"
do
    echo "Anda memilih: $pilihan"
done

Saat Anda menjalankan script ini, terminal akan menampilkan daftar seperti:

1) Lihat Waktu
2) Lihat Pengguna Aktif
3) Keluar
#? 

Anda tinggal mengetik angka (misalnya 1), dan script akan menampilkan teks sesuai pilihan.


2. Menambahkan Logika dengan case

Sekarang, kita tambahkan logika tindakan untuk setiap pilihan.

#!/bin/bash

echo "=== Menu Utama ==="
select pilihan in "Lihat Waktu" "Lihat Pengguna Aktif" "Keluar"
do
    case $pilihan in
        "Lihat Waktu")
            date
            ;;
        "Lihat Pengguna Aktif")
            who
            ;;
        "Keluar")
            echo "Terima kasih! Keluar dari program."
            break
            ;;
        *)
            echo "Pilihan tidak valid, coba lagi."
            ;;
    esac
done

Penjelasan:

  • case $pilihan in → Mengevaluasi input pengguna.
  • ;; → Menandai akhir dari satu case.
  • break → Keluar dari loop select saat pengguna memilih “Keluar”.
  • * ) → Menangani input yang tidak valid.

3. Menambahkan Sentuhan Interaktif

Agar lebih menarik, Anda bisa menambahkan sedikit tampilan dan pembersihan layar:

#!/bin/bash

clear
PS3="Pilih menu (1-3): "

while true; do
    echo "=== Menu Interaktif ==="
    select opsi in "Lihat Tanggal" "Cek Disk" "Keluar"
    do
        case $opsi in
            "Lihat Tanggal")
                echo "Tanggal saat ini: $(date)"
                break
                ;;
            "Cek Disk")
                echo "Penggunaan Disk:"
                df -h
                break
                ;;
            "Keluar")
                echo "Sampai jumpa!"
                exit
                ;;
            *)
                echo "Pilihan tidak valid."
                ;;
        esac
    done
done

Keterangan tambahan:

  • Variabel PS3 digunakan untuk mengubah teks prompt default #? menjadi lebih informatif.
  • Loop while true menjaga agar menu terus tampil setelah pengguna memilih satu opsi, sampai mereka memilih “Keluar”.

4. Tips Agar Script Lebih Aman dan Efisien

  • Gunakan break atau exit dengan hati-hati agar program tidak masuk infinite loop.
  • Tambahkan validasi input jika menu Anda menggunakan read.
  • Gunakan komentar untuk menjelaskan setiap bagian penting, terutama jika script akan digunakan tim lain.
  • Uji satu per satu opsi sebelum menambahkan fungsi baru agar lebih mudah melacak kesalahan.

Sekarang Anda sudah tahu bagaimana cara menulis script Bash interaktif dengan select dan case. Anda juga sudah mempelajari cara menambahkan looping, prompt kustom, hingga logika pemilihan yang rapi.

Jika Anda ingin melangkah lebih jauh, baca juga artikel kami tentang “Menggunakan for, while, dan until loop di Bash” agar Anda makin mahir menulis script otomatisasi.

WhatsAppTelegramFacebookXThreadsCopy Link