29/01/2023

SKRIP PEMILIHAN (IF THEN dan CASE)

Tutorial ini akan memandu Anda melalui dasar-dasar if-then dan case untuk pernyataan Bash dan menunjukkan cara menggunakannya dalam skrip shell Anda.

Pengambilan keputusan adalah salah satu konsep paling mendasar dari pemrograman komputer. Seperti dalam bahasa pemrograman lainnya, if, if. .else, if. .elif. .else, dan pernyataan bersarang if di Bash digunakan untuk mengeksekusi kode berdasarkan kondisi tertentu. 

if Pernyataan

Kondisional Bash if dapat memiliki bentuk yang berbeda. Pernyataan paling dasar if  mengambil bentuk berikut :

if TEST-COMMAND

then

     STATEMENTS

fi

Pernyataan if dimulai dengan if kata kunci diikuti oleh ekspresi kondisional dan then kata kunci. Pernyataan diakhiri dengan fi kata kunci.

Jika TEST-COMMAND dievaluasi ke TRUE, STATEMENTS dieksekusi. Jika TEST-COMMAND kembali FALSE, tidak ada yang terjadi; yang STATEMENTS diabaikan.

Secara umum, merupakan praktik yang baik untuk selalu mengindentasi kode Anda dan memisahkan blok kode dengan baris kosong. Kebanyakan orang memilih untuk menggunakan lekukan 4 spasi atau 2 spasi. Lekukan dan baris kosong membuat kode Anda lebih mudah dibaca dan teratur. 

Mari kita lihat contoh skrip berikut yang memeriksa apakah angka yang diberikan lebih besar dari 10 :







#!/bin/bash

# Script untuk if 

echo -n "Masukkan Angka : "

read VAR

if [ [ $VAR -gt 10 ] ]

then

     echo "Variabelnya lebih besar dari 10."

fi

Hasil :


Skrip akan meminta Anda untuk memasukkan angka. Jika, misalnya, Anda memasukkan 19, test perintah akan dievaluasi true karena 19 lebih besar dari 10, dan echo perintah di dalam then klausa akan dijalankan.

if..else Pernyataan

Pernyataan Bash if..else mengambil bentuk berikut :

if TEST-COMMAND

then

     STATEMENTS1

else

    STATEMENTS2

fi

Jika TEST-COMMAND bernilai TRUE, STATEMENTS1 akan dieksekusi. Jika tidak, jika TEST-COMMAND return FALSE, maka STATEMENTS2 akan dieksekusi. Anda hanya dapat memiliki satu else klausa yang dalam pernyataan itu.

Mari tambahkan else klausa ke skrip contoh sebelumnya :








#!/bin/bash

# Script untuk if else

echo -n "Masukkan Angka : "

read VAR

if [ [ $VAR -gt 10 ] ]

then

     echo "Variabelnya lebih besar dari 10."

else

     echo "Variabelnya sama atau lebih kecil dari 10."

fi

Hasil :


Jika Anda menjalankan kode dan memasukkan angka, skrip akan mencetak pesan yang berbeda berdasarkan apakah angkanya lebih besar atau lebih kecil/sama dengan 10. 

if..elif..else Pernyataan

Pernyataan Bash if..else mengambil bentuk berikut :

if TEST-COMMAND1

then

     STATEMENTS1

elif TEST-COMMAND2

then

    STATEMENTS2

else

    STATEMENTS3

fi

Jika TEST-COMMAND1 bernilai TRUE, maka STATEMENTS1 akan dieksekusi. Jika TEST-COMMAND2 bernilai TRUE, maka STATEMENTS2 akan dieksekusi. Jika tidak ada perintah uji yang bernilai TRUE, maka  STATEMENTS2 dijalankan. 

Anda hanya dapat memiliki satu atau lebih elif klausa dalam pernyataan tersebut. Klausa else bersifat opsional.

Kondisi dievaluasi secara berurutan. Setelah kondisi kembali TRUE, kondisi yang tersisa tidak dilakukan, dan kontrol program berpindah ke akhir if pernyataan.

Mari tambahkan elif klausa ke skrip sebelumnya :









#!/bin/bash

# Script untuk if else

echo -n "Masukkan Angka : "

read VAR

if [ [ $VAR -gt 10 ] ]

then

     echo "Variabelnya lebih besar dari 10."

elif [ [ $VAR -eq 10 ] ]

then

    echo "Variabelnya sama dengan 10."

else

         echo "Variabelnya kurang dari 10."

fi

Hasil :



if Pernyataan Bersarang

Bash memungkinkan Anda membuat pernyataan bersarang if di dalam if pernyataan. Anda dapat menempatkan beberapa  if pernyataan di dalam pernyataan lain.

Skrip berikut akan meminta Anda memasukkan tiga angka dan mencetak angka terbesar di antara ketiga angka tersebut.













#!/bin/bash

# Script untuk if else

echo -n "Masukkan Angka Pertama : "

read VAR1

echo -n "Masukkan Angka Kedua : "

read VAR2

echo -n "Masukkan Angka Ketiga : "

read VAR3

if [ [ $VAR1 -ge $VAR2 ] ]

then

    if [ [ $VAR1 -ge $VAR3 ] ]

    then

                   echo "$VAR1 adalah angka terbesar."

         else

                   echo "$VAR3 adalah angka terbesar."

          fi

else

    if [ [ $VAR2 -ge $VAR3 ] ]

    then

                   echo "$VAR2 adalah angka terbesar."

         else

                   echo "$VAR3 adalah angka terbesar."

          fi

fi

Hasil :



Case

Pernyataan bash case adalah bentuk paling sederhana dari pernyataan bersyarat if..elif..else. Pernyataan case tersebut menyederhanakan kondisi kompleks dengan beberapa pilihan berbeda. Pernyataan ini lebih mudah dipertahankan dan lebih mudah dibaca daripada if  mengambil pernyataan bersarang.

Pernyataan case tersebut menguji nilai input hingga menemukan pola yang sesuai dan mengeksekusi perintah yang terkait dengan nilai input tersebut. Jadi, ini adalah pilihan yang sangat baik untuk membuat menu dimana pengguna memilih opsi yang memicu tindakan yang sesuai.

Pernyataan bash case mengambil sintaks berikut :

case $variable in

pattern-1)

     commands;;

pattern-2)

     commands;;

pattern-3)

     commands;;

pattern-N)

     commands;;

*)

     commands;;

esac


Pernyataan bash case dimulai dengan case kata kunci diikuti dengan $variable dan kata kunci. Pernyataan diakhiri dengan kata kunci mundur-.in caseesac

Contoh 1 : Keluarkan Deskripsi untuk Setiap Opsi

Contoh berikut adalah skrip yang memungkinkan pengguna memilih warna dan menampilkan komentar yang sesuai dengan masukan menggunakan perintah gema.









#!/bin/bash

# Script untuk case

echo "Warna mana yang Anda sukai?"

echo "1 - Biru"

echo "2 - Merah"

echo "3 - Kuning"

echo "4 - Hijau"

echo "5 - Jingga"

read warna;

case $warna in

  1) echo "Biru adalah warna primer.";;

  2) echo "Merah adalah warna primer.";;

  3) echo "Kuning adalah warna primer.";;

  4) echo "Hijau adalah warna sekunder.";;

  5) echo "Jingga adalah warna sekunder.";;

  *) echo "Warna ini tidak tersedia. Silakan pilih warna yang lain.";; 

esac

Hasil :




Setiap baris memiliki peran sebagai berikut:

  • Baris pertama di setiap skrip biasanya adalah shebang (#!) yang menginstruksikan sistem operasi yang akan digunakan juru bahasa untuk mengurai file.
  • Baris 2-7 merupakan menu pilihan yang disajikan kepada pengguna untuk dipilih.
  • Variabel read warna; meminta jawaban dari pengguna dan menyimpannya.
  • Pernyataan case tersebut berisi kemungkinan tanggapan yang sesuai dengan input pengguna. Dalam contoh ini, keluarannya adalah echo keluaran perintah.
  • Baris terakhir, esacmengakhiri case pernyataan.


Referensi


Tidak ada komentar:

Posting Komentar

Laporan Ujian Akhir (UAS) Proyek Pemrograman Mobile

 Assalamu'alaikum Warahmatullahi Wabarakatuh..., Selamat pagi sobat Eskomers... mimin kembali lagi nih...;)  Dalam kesempatan ini mimin ...