Shell Scripting

Akhirnya, kerjaan yang selama ini buat aia stress mulae ada pencerahan. Nyaris pingsan klo beneran harus input 15000 data secara manual. Bayangin aja. 15rb… Mo jadi kaya apa ni ntar tangan ku begitu data selesai di masukkan. Beberapa master nyaranin tuk pake shell scripting biar kerjaan ku bsia lebih “enteng”. Tapi…. kendalanya itu y… buat scriptnya itu… Aku, yang notabene baru aja belajar alias tergolong masih sangat-sangat newbie tentang dunia pemrograman ini, mana bisa buat script. :duh:

Akhirnya yaaa terpaksa de… input manual atu-atu. *beberapa hari telah berlalu* capek juga lama-lama. Baru dapet 3500 data. Masih 11500 data lagi. Huuuaaa… :(( . Akhirnya nyerah juga ni. Minta tolong de sama master LinX suruh ngajarin :dork:

Sempet gagal beberapa kali dan hampir stress lagi jangan-jangan ni script gak bisa dijalanin. masa’ harus input manual lagi. ๐Ÿ™ Nyampe harus bolak-balik restart windows-slackware buat ngejalanin tuh script. Gara-gara modem ku yang blum bsia di jalanin di linux nih. Klo mau OL nanya sama master harus ganti windows dulu trus ganti linux lagi buat nyoba. Klo masih gagal, restart windows lagi nanya lagi. huuaaa… capek..!!!

But, dengan pencerahan dari master xikyu46, akhirnya smua masalah pun terpecahkan. Sepertinya dengan script kali ini, kerjaan ku bakal jadi lebih ringan.

Ini nih script penolong yang sangat berjasa buat ku. Script ini dijalanin lewat konsole linux. Woke..langsung aja sedikit penjelasan dari script berikut ini.ร‚ย 

for ((i=1;i<6;i++))
do
x=`cat test.txt | awk ‘{print $1}’ | awk ‘NR==’$i”`
y=`cat test.txt | awk ‘{print $2}’ | awk ‘NR==’$i”`
a=0
for ((j=1;j<6;j++))
do
a=`expr $a + 1`
b=`expr $y “*” $a`
echo “ibu membeli $a kg $x seharga $b” >> command
done
done

Woke…dengan script berikut, kita akan membuat list dari file test.txt yang berisi :

jeruk 6500
jambu 4500
anggur 18000
apel 15000
melon 5000

dan dalam sekejap, apa yang terjadi? eng…ing…eng…. beginilah hasilnya :

Test

ibu membeli 1 kg jeruk seharga 6500
ibu membeli 2 kg jeruk seharga 13000
ibu membeli 3 kg jeruk seharga 19500
ibu membeli 4 kg jeruk seharga 26000
ibu membeli 5 kg jeruk seharga 32500
ibu membeli 1 kg jambu seharga 4500
ibu membeli 2 kg jambu seharga 9000
ibu membeli 3 kg jambu seharga 13500
ibu membeli 4 kg jambu seharga 18000
ibu membeli 5 kg jambu seharga 22500
ibu membeli 1 kg anggur seharga 18000
ibu membeli 2 kg anggur seharga 36000
ibu membeli 3 kg anggur seharga 54000
ibu membeli 4 kg anggur seharga 72000
ibu membeli 5 kg anggur seharga 90000
ibu membeli 1 kg apel seharga 15000
ibu membeli 2 kg apel seharga 30000
ibu membeli 3 kg apel seharga 45000
ibu membeli 4 kg apel seharga 60000
ibu membeli 5 kg apel seharga 75000
ibu membeli 1 kg melon seharga 5000
ibu membeli 2 kg melon seharga 10000
ibu membeli 3 kg melon seharga 15000
ibu membeli 4 kg melon seharga 20000
ibu membeli 5 kg melon seharga 25000

Wow…. keren ya…. langsung otomatis ngelist apa yang ada di file txt

coba aja bayangin, klo misalnya ada 1000 nama buah, trus kalian harus ngisi pengulangan berat nyampe 20 kg. Masa’ ya harus manual nulis atu2…??? capek boooo…. Nah makanya. ini nih gunanya shell scripting yang kusebut di atas, yaitu buat “ngentengin” kerjaan. Yang tadinya mungkin butuh waktu berhari-hari buat nulis atu-atu, dengan shell scripting cuma butuh waktu gak nyampe 1 jam. hahaha….. :))

Em… untuk penjelasan script di atas. dikit aja y… jadi begini ceritanya….

Untuk script fungsi pertama :

for ((i=1;i<6;i++)) ===> untuk fungsi dibawah akan dilakukan pengulangan 5x
do ====> mengawali fungsi
x=`cat test.txt | awk ‘{print $1}’ | awk ‘NR==’$i”`
===> mengambil kolom pertama dati file test.txt, yaitu nama buah
y=`cat test.txt | awk ‘{print $2}’ | awk ‘NR==’$i”`
===> mengambil kolom kedua dari file test.txt, yaitu harga

untuk script function yang kedua, yaitu :

a=0 ===> menandakan a dimulai dari 0
for ((j=1;j<6;j++)) ===> untuk fungsi dibawah akan diulangi sebanyak 5x
do ====> mengawali fungsi
a=`expr $a + 1`
===> membuat variabel a dengan a+1 untuk tiap barisnya
b=`expr $y “*” $a`
===> membuat variabel b dengan $y dikalikan dengan variabel a

dan yang terakhir

echo “ibu membeli $a kg $x seharga $b” >> command
===> menambahkan tulisan yang ada dalam tanda petik ke dalam file command
done ===> mengakhiri fungsi kedua
done ===> mengakhiri fungsi pertama

Langkah-langkah untuk membuatnya gini ni :

  1. Buka konsole linux
  2. ketik “nano -w script.sh” (tanpa tanda petik) lalu tekan enter
  3. setelah jendela script.sh terbuka, ketikkan smua script di atas lalu save
  4. ketik “nano -w command” (tanpa tanda petik lagu), tekan enter
  5. ketikkan kata apapun terserah anda sebagai pengganti kata “Test” di atas lalu save lagi
  6. kembali ke jendela terminal, ketikkan “sh script.sh” (tanpa tanda petik lagi) tekan enter
  7. Ditunggu beberapa saat kemudian untuk melihat hasilnya bisa ketikkan lagi “nano command” (inget, tanpa tanda petik)
  8. Kalian akan melihat apa yang bisa dihasilkan dari script di atas. Selamat mencoba ^-^

Nah itu tadi sedikit gambaran tentang shell scripting yang uda sangat berjasa banget ngebantu kerjaan ku. Makasih juga buat master LinX n master Xikyu46 yang uda mau ngajarin si newbie… Akhirnya 13rb lebih data berhasil terinput dengan baik hanya dalam waktu berpa menit. hahha…. Mereka berdua jadi kaya :angle: hahahahha.

Yuph…. semoga bermanfaat ya… sampai jumpa di tutorial selanjutnya…
Hidup untuk belajar dan belajarlah untuk hidup ๐Ÿ˜‰

4 thoughts on “Shell Scripting

Leave a Reply

Your email address will not be published. Required fields are marked *