Your SlideShare is downloading. ×
Materi 2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Materi 2

205
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
205
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Shell ProgrammingOleh: Ahmad kurniawan
  • 2. My first Shell Script• vi myfirstscript.sh #! /bin/csh set directory=`pwd` echo The date today is `date` echo The current directory is $directory• chmod u+x myfirstscript.sh• myfirstscript.sh
  • 3. UNIX Shell Scripts• UNIX shell scripts adalah suatu sekumpulan teks yang berisi perintah- perintah UNIX yang berurutan• Seperti halnya bahasa pemrograman, programmer membuat script dengan text editor• Shell script tidak membutuhkan compiler• Hal ini terjadi karena UNIX shell seolah- olah bertingkahlaku seperti interpreter saat membaca script dari file
  • 4. UNIX Shell Scripts (Cont’d)• Karena bertingkah laku seperti interpreter maka statement yang ada pada script akan langsung di translasikan pada instruksi executable dan menyebabkannya untuk langsung menjalankan executable tersebut• Setelah anda menulis shell script, anda akan memberitahukan pada OS bahwa program dapat dijalankan.• Hal ini dapat dilakukan dengan menggunakan perintah chmod untuk merubah mode dari file.
  • 5. UNIX Shell Scripts (cont’d)• Perintah chmod memberi tahu komputer siapa saja yang berhak menggunakan file tersebut: owner (u), group (g), atau other users (o)• Program Shell berjalan sedikit kurang cepat dari pada compiled programs, karena shell harus menterjemahkan masing-masing perintah UNIX sebelum mengeksekusinya
  • 6. Pemrograman Shell Yang umum digunakan pada kebanyakan varian UNIX adalah:• Bourne Shell (sh), shell pertama yang dibuat oleh UNIX• Bourne Again Shell (bash), dibuat oleh programmer dari Free Software Foundation, open source shell dari GNU• Korn Shell (ksh), dibuat oleh David Korn, pembuat dari Bourne shell, tidak disebarluaskan.• C Shell (csh), dibuat oleh Bill Joy, pembuat vi, mengimplementasikan struktur bahasa C.• Terminal Based C Shell (tcsh), versi lanjut dari the Berkeley UNIX C shell (csh)
  • 7. Pemrograman Shell• Semua versi linux menggunakan Bash shell (Bourne Again Shell) sebagai shell standarnya• Semua sistem system menyertakan C shell dan Bourne shell.
  • 8. Pemrograman Shell• Fitur-fitur programming dari UNIX shell: Shell variables Operators Logic structures
  • 9. Pemrograman Shell• Fitur-fitur programming dari UNIX shell:  Shell variables: script anda biasanya sering menyimpan variables nilai untuk digunakan kemudian, variabel shell merupakan nama simbolik yang dapat diakses dari memori  Operators: Script Shell mendukung banyak operator, Operators termasuk operasi matematik  Logic structures: Script Shell mendukung sequential structures logic (untuk menjalankan perintah serial), decision logic (untuk percabangan), looping logic (untuk proses looping), dan case logic (untuk proses seleksi)
  • 10. Pemrograman Shell• Fitur-fitur programming dari UNIX shell: Shell variables Operators Logic structures
  • 11. Variables• Variables merupakan nama simbolik yang merepresentasikan nilai yang disimpan di memori• Tiga tipe dari variabel adalah configuration variables, environment variables, dan shell variables• gunakan configuration variables untuk menyimpan informasi tentang setup dari sistem operasi dan jangan merubahnya.• Anda dapat merubah environment variables dengan nilai inisial
  • 12. Variables (Cont’d)• Variabel ini, dimana UNIX membacanya pada saat anda login, menetapkan banyak karakteristik dari sesi anda• Shell variables adalah variabel yang di buat pada script• Environment dan configuration variables memperlihatkan nama standar, seperti HOME, PATH, SHELL, USERNAME, dan PWD
  • 13. Variables (Cont’d)Untuk melihat daftar dari environment variables: $ printenvatau: $ printenv | more
  • 14. Variables (Cont’d)1. Ciri khas Environment Variables – HOME: pathname of your home directory – PATH: directories where shell is to look for commands – USER: your user name – PWD: your current working directory – MAIL: pathname of your system mailbox – SHELL: pathname of your shell2. Isi dari variable dapat diakses menggunakan ‘$’: Misal: $ echo $HOME
  • 15. Variables (Cont’d)• Cara pemberian variabel adalah variable=value (kecuali pada C shell). $ x=37; echo $x $ 37 $ unset x; echo $x• C shell menggunakan statement “set”. $ set x = 37• Anda dapat meng-set a pathname atau variabel perintah atau menganti set dari variable. $ set mydir=`pwd`; echo $mydir
  • 16. Variables (Cont’d)• Untuk menulis daftar: $ set Y = (UNL 123 CS251)• Untuk meng-set elemen daftar: $ set Y[2] = HUSKER• Untuk melihat isi dari daftar: $ echo $Y[2]
  • 17. Variables (Cont’d)• vi myinputs.sh #! /bin/csh echo Total number of inputs: $#argv echo First input: $argv[1] echo Second input: $argv[2]• chmod u+x myinputs.sh• myinputs.sh HUSKER UNL CSE
  • 18. Pemrograman Shell• Fitur-fitur programming dari UNIX shell: Shell variables Operators Logic structures
  • 19. Shell Operators• Operator dari Bash shell di bagi menjadi 3 kelompok: operator definisi dan evaluasi, operator aritmatik, dan operator redirect dan piping.
  • 20. Operator Aritmetik• expr mendukung operator berikut ini: – arithmetic operators: +,-,*,/,% – comparison operators: <, <=, ==, !=, >=, > – boolean/logical operators: &, | – precedence is the same as C, Java
  • 21. Operator Aritmetik (contoh)• vi math.sh #!/bin/csh set count=5 set count=`expr $count + 1` echo $count• chmod u+x math.sh• math.sh
  • 22. Shell Programming• Fitur-fitur programming dari UNIX shell: Shell variables Operators Logic structures
  • 23. Shell Logic StructuresEmpat struktur logika dasar:Sequential logicDecision logicLooping logicCase logic
  • 24. Sequential Logic• Statemen Sequential logic adalah perintah-perintah yang akan dieksekusi seperti apa yang terlihat terutur pada program• Pemberhentian dari urutan program adalah jika adanya intruksi percabangan.
  • 25. Decision Logic• Decision logic membuat program kita dapat dieksekusi pada kondisi tertentu• if statement adalah kontrol keputusan utama pada jenis logika ini.
  • 26. Decision Logic (cont’d)• if-then if ( expr ) simple-command• if-then-else if ( expr ) then command-set-1 [else command-set-2] endif
  • 27. Decision Logic (cont’d)• Contoh #!/bin/csh if ($#argv != 2) then echo $0 needs two parameters! echo You are inputting $#argv parameters. else set par1 = $argv[1] set par2 = $argv[2] endif
  • 28. Decision Logic (cont’d)Contoh: #! /bin/csh # number is positive, zero or negative echo "enter a number:" set number = $< if ( $number < 0 ) then echo "negative" else if ( $number == 0 ) then echo zero else echo positive endif
  • 29. Decision Logic (cont’d)Contoh: #!/bin/csh if {( grep UNIX $argv[1] > /dev/null )} then echo UNIX occurs in $argv[1] else echo No! echo UNIX does not occur in $argv[1] endif
  • 30. Looping Logic• Pada looping logic, perulangan akan dilakukan sampai dengan kondisi tertentu tercapai• Ada dua jenis mekanisme perulangan: for dan while• Gunakan perulangan for untuk proses perulangan dengan nilai jangkauan tertentu.
  • 31. While Loop• Cara lain dari proses looping adalah adalah menggunakan statement while• Statement while statement digambarkan dengan suatu loop yang berkelanjutan terus menerus sampai dengan kondisi tertentu terpenuhi• Selama statement dalam tanda kurung bernilai trua maka statement yang ada diantara do dan done akan terus di ulang-ulang
  • 32. Looping Logicwhile ( expr ) command_setendforeach var ( worddlist ) command_setend
  • 33. Looping LogicProgram: #!/bin/csh foreach person (Bob Susan Joe Gerry) echo Hello $person endOutput: Hello Bob Hello Susan Hello Joe Hello Gerry
  • 34. Looping Logic• Penambahan nilai integer dari 1 s/d 10 #!/bin/csh set i=1 set sum=0 while ($i <= 10) echo Adding $i into the sum. set sum=`expr $sum + $i` set i=`expr $i + 1` end echo The sum is $sum.
  • 35. Switch Logic• Struktur dari switch logic mempermudah proses seleksi dari pencocokan ketika melakukan proses pemilihan• Memperbolehkan program untuk mengambil suatu tindakan berdasar pada nilai suatu variabel
  • 36. Switch Logicswitch ( var ) case string1: command_set_1 breaksw case string2: command_set_2 breaksw default command_set_3endsw
  • 37. Switch Logic#!/bin/cshif ($#argv == 0 ) then echo "No arguments supplied...exiting"else switch ($argv[1]) case [yY]: echo Argument one is yes. breaksw case [nN]: echo Argument one is no. breaksw default: echo Argument one is neither yes nor no. breaksw endswendif
  • 38. Kesimpulan• A high-level language harus di konversi menjadi low-level (machine) language sebelum komputer mengeksekusinya• Shell menterjemahkan script UNIX shell• Script UNIX shell, dibuat dengan vi atau aplikasi editor lainnya, berisikan instruksi dimana kita tidak perlu membuatnya karena intruksi tersebut telah ada pada sistem operasi.
  • 39. Kesimpulan (cont’d)• Linux shells bersalar dari UNIX Bourne, Korn, dan C shells• UNIX terdiri dari 3 jenis tipe variabel: – Configuration – Environment – Shell• Shell mendukung banyak operator, termasuk sejumlah operasi matematika.• Struktur logic yang ada pada shell diantaranya adalah sequential, decision, looping, dan case