Aspek Matematika Pemrograman Shell Linux - Bagian IV
Pada postingan kali ini saya akan membahas SScript dari sudut pandang Matematika dan Angka. Meskipun saya telah memposting skrip yang lebih kompleks (Kalkulator Sederhana) di posting sebelumnya, namun pada bagian pengguna sulit untuk dipahami dan oleh karena itu saya berpikir untuk membuat Anda mempelajari sisi lain yang berguna dari pembelajaran di paket kecil.
Sebelum artikel ini, tiga artikel dari Seri Skrip Shell telah diterbitkan, yaitu:
- Memahami Linux Shell dan Basic Shell Scripting – Bagian I
- 5 Skrip Shell untuk Mempelajari Pemrograman Shell – Bagian II
- Berlayar Melalui Dunia Linux BASH Scripting – Bagian III
Mari kita mulai proses pembelajaran lebih lanjut dengan beberapa skrip baru yang menarik, dimulai dengan skrip Matematika:
Skrip 1: Tambahan
Buat file “Addition.sh” dan chmod 755 ke skrip seperti yang dijelaskan dalam posting sebelumnya dan jalankan.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(expr "$a" + "$b")
echo $a + $b = $x
Contoh Keluaran
[root@tecmint ~]# vi Additions.sh
[root@tecmint ~]# chmod 755 Additions.sh
[root@tecmint ~]# ./Additions.sh
“Enter the First Number: ”
12
“Enter the Second Number: ”
13
12 + 13 = 25
Unduh Additions.sh
Skrip 2: Pengurangan
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
x=$(($a - $b))
echo $a - $b = $x
Catatan: Di sini kami mengganti expr dan membiarkan penghitungan matematis dilakukan di shell.
Contoh Keluaran
[root@tecmint ~]# vi Substraction.sh
[root@tecmint ~]# chmod 755 Substraction.sh
[root@tecmint ~]# ./Substraction.sh
“Enter the First Number: ”
13
“Enter the Second Number: ”
20
13 - 20 = -7
Unduh Substraksi.sh
Skrip 3: Perkalian
Sejauh ini Anda akan sangat menikmati mempelajari skrip dengan cara yang mudah, jadi urutan kronologis berikutnya adalah Perkalian.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a * $b = $(expr $a \* $b)"
Catatan: Ya! Di sini kita tidak memasukkan nilai perkalian ke dalam variabel tetapi melakukannya langsung di pernyataan keluaran.
Contoh Keluaran
[root@tecmint ~]# vi Multiplication.sh
[root@tecmint ~]# chmod 755 Multiplication.sh
[root@tecmint ~]# ./Multiplication.sh
“Enter the First Number: ”
11
“Enter the Second Number: ”
11
11 * 11 = 121
Unduh Perkalian.sh
Skrip 4: Pembagian
Benar! Berikutnya adalah Divisi, dan sekali lagi ini adalah skrip yang sangat sederhana. Periksa sendiri.
#!/bin/bash
echo “Enter the First Number: ”
read a
echo “Enter the Second Number: ”
read b
echo "$a / $b = $(expr $a / $b)"
Contoh Keluaran
[root@tecmint ~]# vi Division.sh
[root@tecmint ~]# chmod 755 Division.sh
[root@tecmint ~]# ./Division.sh
“Enter the First Number: ”
12
“Enter the Second Number: ”
3
12 / 3 = 4
Unduh Divisi.sh
Skrip 5: Tabel
Bagus! Bagaimana setelah operasi matematika dasar ini. Mari kita menulis skrip yang mencetak tabel nomor berapa pun.
#!/bin/bash
echo “Enter The Number upto which you want to Print Table: ”
read n
i=1
while [ $i -ne 10 ]
do
i=$(expr $i + 1)
table=$(expr $i \* $n)
echo $table
done
Contoh Keluaran
[root@tecmint ~]# vi Table.sh
[root@tecmint ~]# chmod 755 Table.sh
[root@tecmint ~]# ./Table.sh
“Enter The Number upto which you want to Print Table: ”
29
58
87
116
145
174
203
232
261
290
Unduh Tabel.sh
Skrip 6: Ganjil Genap
Kita sebagai seorang anak selalu melakukan perhitungan untuk mengetahui bilangan ganjil atau genap. Bukankah ide yang bagus untuk menerapkannya dalam skrip.
#!/bin/bash
echo "Enter The Number"
read n
num=$(expr $n % 2)
if [ $num -eq 0 ]
then
echo "is a Even Number"
else
echo "is a Odd Number"
fi
Contoh Keluaran
[root@tecmint ~]# vi EvenOdd.sh
[root@tecmint ~]# chmod 755 EvenOdd.sh
[root@tecmint ~]# ./EvenOdd.sh
Enter The Number
12
is a Even Number
[root@tecmint ~]# ./EvenOdd.sh
Enter The Number
11
is a Odd Number
Unduh EvenOdd.sh
Skrip 7: Faktorial
Selanjutnya adalah mencari Faktorial.
#!/bin/bash
echo "Enter The Number"
read a
fact=1
while [ $a -ne 0 ]
do
fact=$(expr $fact \* $a)
a=$(expr $a - 1)
done
echo $fact
Contoh Keluaran
[root@tecmint ~]# vi Factorial.sh
[root@tecmint ~]# chmod 755 Factorial.sh
[root@tecmint ~]# ./Factorial.sh
Enter The Number
12
479001600
Anda sekarang mungkin merasa santai dengan perasaan bahwa menghitung 12*11*10*9*7*7*6*5*4*3*2*1 akan lebih sulit daripada skrip sederhana seperti yang dibuat di atas . Pikirkan situasi di mana Anda perlu menemukan 99! atau sesuatu seperti itu. Tentu! Skrip ini akan sangat berguna dalam situasi itu.
Unduh Faktorial.sh
Naskah 8: Armstrong
Nomor Armstrong! Ohhh Anda lupa apa itu Angka Armstrong. Bilangan Armstrong yang terdiri dari tiga digit adalah bilangan bulat sehingga jumlah pangkat tiga dari digit-digitnya sama dengan bilangan itu sendiri. Misalnya, 371 adalah bilangan Armstrong karena 3**3 + 7**3 + 1**3=371.
#!/bin/bash
echo "Enter A Number"
read n
arm=0
temp=$n
while [ $n -ne 0 ]
do
r=$(expr $n % 10)
arm=$(expr $arm + $r \* $r \* $r)
n=$(expr $n / 10)
done
echo $arm
if [ $arm -eq $temp ]
then
echo "Armstrong"
else
echo "Not Armstrong"
fi
Contoh Keluaran
[root@tecmint ~]# vi Armstrong.sh
[root@tecmint ~]# chmod 755 Armstrong.sh
[root@tecmint ~]# ./Armstrong.sh
Enter A Number
371
371
Armstrong
[root@tecmint ~]# ./Armstrong.sh
Enter A Number
123
36
Not Armstrong
Unduh Armstrong.sh
Skrip 9: Perdana
Skrip terakhir untuk membedakan suatu bilangan prima atau bukan.
#!/bin/bash
echo “Enter Any Number”
read n
i=1
c=1
while [ $i -le $n ]
do
i=$(expr $i + 1)
r=$(expr $n % $i)
if [ $r -eq 0 ]
then
c=$(expr $c + 1)
fi
done
if [ $c -eq 2 ]
then
echo “Prime”
else
echo “Not Prime”
fi
Contoh Keluaran
[root@tecmint ~]# vi Prime.sh
[root@tecmint ~]# chmod 755 Prime.sh
[root@tecmint ~]# ./Prime.sh
“Enter Any Number”
12
“Not Prime”
Unduh Prime.sh
Itu saja untuk saat ini. Pada artikel kami berikutnya, kami akan membahas program matematika lainnya dalam bahasa pemrograman shell Scripting. Jangan lupa sebutkan pandangan Anda mengenai artikel di bagian Komentar. Sukai dan bagikan kami serta bantu kami menyebarkannya. Kunjungi linux-console.net untuk Berita dan artikel yang berkaitan dengan FOSS. Sampai saat itu. Nantikan terus.