SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
LAPORAN RESMI
PRAKTIKUM SISTEM OPERASI
MODUL 2
“VARIABEL DAN KARAKTER ESCAPE”
LABORATORIUM TEKNOLOGI INFORMASI DAN APLIKASI
PRODI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS TRUNOJOYO MADURA
2013
Di setujui, ....../……./………../Bangkalan
(M.ANANG SETIAWAN)
110411100060
Nama : Rasminawati
NRP : 120411100103
Kelas : D-2
Asisten : Anang Setiawan
Tgl. Pratikum : 08 Oktober 2013
Dosen : IWAN SANTOSA, S.T.
BAB I
PENDAHULUAN
1.1 Latar Belakang
Dalam Linux juga diperlukan adanya pembuatan variabel agar nantinya program
atau perintah yang kita ketikkan dapat berjalan dalam proses pemanggilan . Tidak
hanya itu tipe-tipe karakter juga akan kita bahas dalam praktikum kali ini. Penggunaan
variabel pada shell Bash ini berbeda dengan bahasa pemrograman yang kita kenal pada
umumnya. Pada modul 2 ini akan dijelaskan tentang variabel yang disediakan oleh
system operasi di skrip shell pada Linux.
1.2 Tujuan
1. Untuk mengetahui pembuatan variabel di shell Bash LINUX
2. Untuk mengetahui penggunaan karakter escape
3. Untuk mengetahui pembuatan program-program perhitungan seperti kalkulator.
BAB II
Dasar Teori
2.1 Dasar Teori
Saat ini, setiap bahasa pemrograman mempunyai konsep tentang variabel - suatu nama
simbolik mewakili suatu alamat memory yang dapat diberikan suatu nilai, dibaca dan
dimanipulasi. Demikian pula pada shell Bash. Bagian ini menjelaskan tentang variabel
yang dapat dibuat oleh pemrogram. Bagian II akan menguraikan tentang variabel yang
disediakan oleh sistem operasi.
Kembali perhatikan contoh pertama, Halo dunia. Ini dapat dikerjakan menggunakan
variabel.
II.1 Pembuatan Variabel
Perlu dicatat bahwa harus tidak ada spasi (ruang) sebelum dan sesudah tanda sama dengan
("="): VAR=value benar sedangkan VAR = value tidak bekerja. Pada kasus pertama, shell
melihat simbol "=" dan memperlakukan perintah sebagai pemberian atau pelewatan
variabel. Pada kasus kedua, shell menganggap bahwa VAR harus berupa nama perintah
dan mencoba mengeksekusinya.
Coba tulis kode berikut ke dalam file skrip var1.sh:
#!/bin/sh
# Nama file skrip:
var1.sh MY_MESSAGE="Halo
dunia" echo $MY_MESSAGE
Ini melewatkan string "Halo dunia" ke variabel MY_MESSAGE kemudian meng-echo-kan
nilai dari variabel tersebut.
Kita harus mengapit string Halo dunia dengan tanda petik. Tidak ada masalah dengan
perintah echo Halo dunia. Perintah echo menerima semua parameter yang diberikan.
Variabel hanya dapat memegang satu nilai, sehingga suatu string yang mengandung spasi
harus diapit tanda petik agar shell mengetahui dan menganggap semuanya sebagai satu.
Jika tidak, shell akan mencoba mengeksekusi perintah dunia setelah MY_MESSAGE=Halo.
Shell tidak mengenal tipe variabel; variabel boleh menyimpan string, integer dan bilangan
ril - apa pun yang diinginkan. Programmer yang telah terbiasa dengan PHP dan Perl
menyukai ini. Jika anda menggunakan C, Pascal atau Ada, ini terasa aneh. Semua nilai
disimpan sebagai string, tetapi rutin yang mengharapkan numerik dapat
memperlakukannya sebagai nilai numerik.
Jika anda melewatkan string ke suatu variabel kemudian mencoba untuk menambahkan 1
ke variabel tersebut, anda dilarang melakukannya:
$ x="hello"
$ y=`expr $x + 1`
expr: non-numeric argument
Karena program eksternal bernama expr hanya mengharapkan numerik. Berikut ini adalah
contoh pembuatan variabel yang benar:
MY_MESSAGE="Halo dunia" MY_SHORT_MESSAGE=hi
MY_NUMBER=1; MY_PI=3.142 MY_OTHER_PI="3.142"; MY_MIXED=123abc
Karakter khusus harus dengan tepat di-escape untuk menghindari salah interpretasi oleh
shell.
Kita dapat secara interaktif meminta pengguna memasukkan nilai untuk suatu variabel.
menggunakan perintah read. Kode berikut menanyakan pengguna nilai untuk variabel
MY_NAME, menggabungkan nilai variabel tersebut dengan string lain dan mencetaknya.
#!/bin/sh
# Nama file skrip: var2.sh
echo Who are U?
read MY_NAME
echo "Hello $MY_NAME - hope you're well."
Apa yang terjadi jika baris terakhir tidak dilingkupi tanda pentik ganda? Karakter petik tunggal
di dalam "you're" tidak cocok sehingga dapat memunculkan error. Hati-hati!
Contoh di atas menggunakan perintah bawaan (built-in) shell read yang membaca baris
dari input standard (biasanya keyboard) ke dalam variabel. Jika anda memasukkan nama
lengkap (lebih dari satu kata) dan tidak menggunakan petik ganda di awal dan akhir
perintah echo, maka luaran masih tetap benar. Bagaimana ini terjadi? Variabel MY_NAME
telah lingkupi petik ganda. Perintah read secara otomatis menempatkan tanda petik
sekeliling inputnya, sehingga spasi tersebut diperlakukan dengan tepat.
II.2 Lingkup Variabel
Variabel dalam shell Bash tidak harus dideklarasikan, sebagaimana dilakukan dalam bahasa
lain seperti C. Tetapi jika anda membaca suatu variabel yang tidak dideklarasi, hasilnya adalah
string kosong. Anda tidak mendapatkan pesan error. Ini dapat menyebabkan beberapa bug kecil
- jika anda mempunyai variabel MY_OBFUSCATED_
VARIABLE=Hello dan kemudian memanggil echo $MY_OSFUCATED_VARIABLE. Anda
tidak akan mendapatkan apapun (karena OBFUSCATED kedua salah ejaan).
Ada perintah export yang mempunyai suatu efek penting terhadap lingkup variabel. Anda
harus memahami bagaimana perintah ini digunakan. Buat sebuah skrip shell kecil
bernama myvar2.sh:
#!/bin/sh
# Nama file skrip: myvar2.sh
echo "MYVAR is: $MYVAR"
MYVAR="hako sen there"
echo "MYVAR is: $MYVAR"
Sekarang jalankan skrip tersebut:
$ ./myvar2.sh
MYVAR is:
MYVAR is: hi there
MYVAR belum diset ke suatu nilai, sehingga blank (kosong). Bagimana jika kita berikan
suatu nilai untuk variabel tersebut melalui shell interaktif? Apa hasilnya? Lakukan apa
yang diilustrasikan di bawah ini:
$ MYVAR=hello
$ ./myvar2.sh
MYVAR is:
MYVAR is: hi there
Ternyata variabel MYVAR masih belum menyimpan suatu nilai. Mengapa? Saat anda
memanggil myvar2.sh dari shell interaktif, suatu shell baru dilahirkan untuk menjalankan
skrip. Ini terjadi karena adanya baris #!/bin/sh pada awal skrip. Artinya, variabel
MYVAR pada shell interaktif berbeda dengan MYVAR di dalam skrip yang dijalankan
pada shell lain.
Bagaimana agar nilai variabel pada shell interaktif dapat masuk ke dalam skrip? Perintah
export jawabannya. Sekarang tulis baris-baris berikut:
$ export MYVAR
$ ./myvar2.sh MYVAR is: hello MYVAR is: hi there
Perhatikan baris ke-3 dari skrip yang bertugas untuk mengubah nilai dari MYVAR. Tetapi
tidak ada cara yang dapat digunakan untuk mengirim balik nilai variabel ke shell interaktif.
Coba baca nilai dari MYVAR setelah eksekusi skrip shell:
$ echo $MYVAR hello
Begitu skrip shell keluar, variabel lingkungannya dihancurkan. Tetapi MYVAR menjaga
nilainya hello di dalam shell interaktif. Adakah caranya agar nilai variabel dari dalam
skrip shell juga dapat diekspor ke shell interaktif? Gunakan operator titik "." saat
memanggil skrip shell. Jika sebelumnya anda memanggil skrip dengan “./nama_file.sh”
maka sekarang anda harus menulisnya “../nama_file.sh”.
Perhatikan contoh berikut:
$ MYVAR=hello
$ echo $MYVAR
hello
$ . ./myvar2.sh
MYVAR is: hello
MYVAR is: hi there
$ echo $MYVAR
hi there
Inilah bagaimana file .profile atau .bash_profile bekerja, sebagai contoh. Dalam
kasus ini, kita tidak perlu meng-export MYVAR. Pastikan bukan echo MYVAR
tetapi echo $MYVAR.
Satu hal lain yang sering memunculkan kesalahan dalam pemanfaatan variabel adalah
seperti pada contoh berikut:
#!/bin/sh
# Nama file skrip:
user.sh echo " Siapa
nama anda?" read
USER_NAME
echo " Halooo $USER_NAME"
echo " Buat file bernama $USER_NAME_file"
touch $USER_NAME_file
echo "Test 1 2 3" >> "${USER_NAME}_file"
cat "${USER_NAME}_file"
Apa yang dihasilkan skrip user.sh di atas? Misalnya anda memasukkan "steve" sebagai
USER_NAME, apakah skrip akan membuatkan file bernama steve_file?
TIDAK. Ini akan memunculkan error kecuali sebelumnya telah ada ada sebuah variabel .
bernama USER_NAME_file. Shell tidak mengetahui dimana ujung dari variabel.
Bagaimana menyelesaikan ini? Jawabannya adalah kita meletakkan variabel tersebut di
dalam kurung kurawal.
Sekarang ubah skrip di user.sh menjadi sebagai berikut:
#!/bin/sh
echo "Siapa nama anda?"
read USER_NAME
echo "Halooo $USER_NAME"
echo "Buat file bernama ${USER_NAME}_file"
touch ${USER_NAME}_file
echo "Test 1 2 3" >> "${USER_NAME}_file"
cat "${USER_NAME}_file"
Shell telah mengetahui bahwa kita mengacu ke variabel USER_NAME dan ingin
menambahkan akhiran _file kepada nilai dari variabel. Berhati-hatilah. Banyak
pemrogram shell pemula melupakan hal sederhana ini.
Perlu juga dicatat bahwa petik ganda yang melingkupi "${USER_NAME}_file" - jika
pengguna memasukkan "Steve Parker" (perhatikan spasi) maka tanpa tanda petik,
argumen yang dilewatkan ke perintah touch menjadi Steve dan Parker_file - yaitu,
dapat dikatakan berupa touch Steve Parker_file yang akan men-touch dua file, bukan
satu. Tanda petik menghindari masalah ini.
II.3 Wildcard
Wildcard atau karakter asterisk (*) bukanlah hal baru jika anda telah biasa menggunakan
console Linux. Bagian ini memaparkan bagaimana asterisk digunakan dalam skrip shell.
Bagaimana anda menyalin semua file dari direktori /tmp/a ke dalam direktori /tmp/b.
Bagaimana jika yang disalin semua file berekstensi .txt? Semua file terakhiran .html?
Anda dapat menjawabnya dengan:
$ cp /tmp/a/* /tmp/b/
$ cp /tmp/a/*.txt /tmp/b/
$ cp /tmp/a/*.html /tmp/b/
Sekarang bagaimana anda mendapat daftar file di dalam /tmp/a/ tanpa menggunakan
ls /tmp/a/ ? Bagaimana dengan echo /tmp/a/*? Apa perbedaan utama luaran dari
echo dan ls? Bergunakah ini? Bagaimana anda mengganti nama (rename) semua file
terekstensi .txt menjadi .bak?
Perintah:
$ mv *.txt *.bak
Tidak akan memberikan hasil yang diharapkan. Coba gunakan echo bukan mv.
II.4 Karakter Escape
Ada sejumlah karakter tertentu memiliki arti khusus bagi shell; Misalnya karakter petik
ganda (") yang menyebabkan shell memperhitungkan spasi dan TAB dalam pemrosesan
teks, sebagai contoh:
$ echo Halo Dunia
Halo Dunia
$ echo “Halo Dunia”
Halo Dunia
Bagaimana menampilkan Halo “Dunia”?
$ echo “Halo ”Dunia””
Karakter " pertama dan terakhir membungkus semuanya ke dalam satu parameter yang
dilewatkan ke perintah echo sehingga spasi yang ada antara dua kata tetap dijaga. Tetapi
kode:
$ echo "Halo " Dunia ""
Akan diinterpretasikan sebagai tiga parameter:
"Halo "
Dunia
""
Sehingga luarannya berupa:
Hello World
Perhatikan, tanpa petik ganda yang mengapit kata Dunia dinyatakan hilang. Ini karena
tanda petik pertama dan kedua mematikan teks Hello dan diikuti oleh spasi, sebagai
argumen pertama; argumen kedua adalah teks Dunia tanpa tanda petik dan argumen ketiga
merupakan string kosong "".
Anda harus berhati-hati, perhatikan kode berikut:
$ echo "Hello "World""
Sebenarnya memanggil perintah echo dengan hanya satu parameter (tak ada spasi antara
paramater yang diapit tanda petik) dan anda dapat menguji ini dengan mengganti perintah
echo dengan misalnya perintah ls.
Sebagian besar karakter (*, ', dll) tidak diterjemahkan jika diletakkan di dalam petik
ganda
("). Semua karakter diterima begitu saja dan dilewatkan ke perintah yang dipanggil.
Contoh menggunakan asterisk (*) adalah sebagai berikut:
$ echo *
case.shtml escape.shtml first.shtml functions.shtml hints.shtml index.shtml
ip-primer.txt raid1+0.txt
$ echo *txt ip-primer.txt raid1+0.txt
$ echo "*"
*
$ echo "*txt"
*txt
Pada contoh pertama, * berarti semua file di dalam direktori aktif. Pada contoh kedua, *txt
berarti semua file yang berakhiran txt. Pada contoh ketiga, ditempatkan * di dalam petik
ganda dan ini diinterpretasikan secara literal. Pada contoh ke-4, sama dengan contoh ke-3,
hanya * disambung dengan string txt.
Namun, ", $, `, dan  masih diterjemahkan oleh shell, bahkan saat ada di apit oleh petik
ganda. Karakter backslash () dapat digunakan untuk menandakan karakter-karakter khusus
ini sehingga tidak diterjemahkan oleh shell, tetapi dilewatkan langsung kepada perintah
yang akan dijalankan (misalnya echo). Sehingga untuk menampilkan string (misal nilai $X
adalah 5):
A quote is ", backslash is , backtick is `. A
few spaces are and dollar is $. $X is 5.
Kita harus menulis:
$ echo "A quote is ", backslash is , backtick is `."
A quote is ", backslash is , backtick is `.
$ echo "A few spaces are ; dollar is $. $X is ${X}."
A few spaces are ; dollar is $. $X is 5.
Kita telah melihat kekhususan dari " untuk memastikan spasi dalam teks. Tanda dollar juga
khusus karena menandai suatu variabel, sehingga $X digantikan oleh shell dengan isi dari
variabel X. Backslash bersifat khusus karena menandakan karakter khusus lain. Perhatikan
pemanfaatan karakter escape di bawah ini:
$ echo "This is  a backslash"
This is  a backslash
$ echo "This is " a quote and this is  a backslash"
This is " a quote and this is  a backslash
Jadi backslash sendiri harus di-escape-kan untuk dapat ditampilkan.
BAB III
TUGAS PENDAHULUAN
1. Bagaimana mengubah semua file terakhir .html menjadi.php? (coba gunakan
berbagai bentuk perintah mv)!
2. Jelaskan dengan singkat shell lain yang tersedia di Linux selain Bash!
Jawab :
1. Mengubah semua file terakhir .html menjadi .php :
 Buat file "touch namafile.html" di terminal linux
 Ketik ls lalu enter
 Kemudian ketik "mv namafile.html namafile.php" kemudian enter
 Ketik ls lagi dan enter
2. Macam-macam shell lain yang tersedia di Linux selain Bash :
 Bourne shell(sh)
 C shell(csh)
 Korn shell(ksh)
Bourne Shell
Diciptakan oleh Steven Bourne. Shell pertama di Unix. Bourne shell merupakan bahasa
pemrograman shell yag cukup baik namun kurang nyaman dalam interaktivitas karena
tidak dilengkai fasilitas command line completion atau auto complete. Sehingga penulisan
script harus dilakukan secara manual.
C Shell
Bill Joy mengembangkan bahasa pemrograman shell yang lebih mirip dengan bahasa
pemrograman C bagi sebagaian orang dianggap lebih sulit. Kelebihan bahasa
pemrograman shell ini daripada Bourne shell adalah sudah tersedia fitur command line
completion atau auto complete. Untuk melengkapi perintah kita hanya perlu menekan
tombol Tab.
Korn Shell
Diciptakan oleh Dave Korn. Shell ini merupakan penyempurnaan dari kedua shell
sebelumnya yaitu Bourne shell dan C Shell. Memiliki interaktivitas yang baik dan gaya
pemrograman yang lebih muda.
BAB IV
IMPLEMENTASI
4.1 Praktikum
4.3.1.Soal
1.Tulis dan jalankan skrip berikut:
#!/bin/bash
# Nama file skrip: var10.sh
a=5.66
b=8.67
c=`echo $a + $b | bc`
echo "$a + $b = $c"
2.Tulis dan jalankan skrip berikut:
#!/bin/bash
echo "Halo, $LOGNAME"
echo "Tanggal sekarang `date`"
echo "Pengguna: `who i am`"
echo "Direktori aktif `pwd`"
3. Modifikasi program no.2 di atas sehingga juga dapat menampilkan daftar file
dan direktori yang terdapat di dalam direktorti aktif!
4.3.2.Jawab
1.
2.
Running :
3.
Runnning
4.2 Tugas Penutup
4.2.1 Soal
Tulis dan jalankan skrip berikut:
#!/bin/bash
echo ”Daftar file Anda: ”;
ls -l
echo ”Thank U very Much”;
4.2.2 Jawab
Skrip pada bash :
Running :
4.3 Tugas Tambahan
1. Buatlah Program calculator sederhana :
2. Buatlah program menghitung keliling lingkaran :
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan Praktikum Modul 2 yang telash selesai dikerjakan maka dapat
diambil kesimpulan :
Setiap bahasa pemrograman mempunyai konsep tentang variabel - suatu nama
simbolik mewakili suatu alamat memory yang dapat diberikan suatu nilai, dibaca dan
dimanipulasi. Dalam pembuatan variabel harus tidak ada ruang kosong atau spasi setelah
tanda = . Variabel dalam shell Bash tidak harus dideklarasikan, sebagaimana dilakukan dalam
bahasa lain seperti C. Tetapi jika anda membaca suatu variabel yang tidak dideklarasi,
hasilnya adalah string kosong. Wildcard atau karakter asterisk (*) bukanlah hal baru jika anda
telah biasa menggunakan console Linux. Bagian ini memaparkan bagaimana asterisk
digunakan dalam skrip shell. Ada sejumlah karakter tertentu memiliki arti khusus bagi shell
yaitu disebut karakter Escape. Macam-macam shell lain yang tersedia di Linux selain
Bash : Bourne shell(sh), C shell(csh), Korn shell(ksh).
5.2 SARAN
Prakrikum modul 2 ini sudah berjalan lancar, suasana cukup kondusif , hanya saja
saran untuk praktikum ini adalah ketika praktikum hendaknya waktu mulai lebih
diperhatikan lagi.

Contenu connexe

Tendances

Basic PHP Syntax
Basic PHP SyntaxBasic PHP Syntax
Basic PHP Syntaxdaffa12
 
Laporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxLaporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxIbrahim Naki
 
Os2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopiOs2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopirizqitohopi
 
Os2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopiOs2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopirizqitohopi
 
Os2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopiOs2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopirizqitohopi
 
Os2013 lap6-rizqitohopi
Os2013 lap6-rizqitohopiOs2013 lap6-rizqitohopi
Os2013 lap6-rizqitohopirizqitohopi
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)Hardini_HD
 
Os2013 lap1-rizqitohopi
Os2013 lap1-rizqitohopiOs2013 lap1-rizqitohopi
Os2013 lap1-rizqitohopirizqitohopi
 
Semua tentang php
Semua tentang phpSemua tentang php
Semua tentang phpZero_c00l
 
Serba-serbi PHP Programming Language
Serba-serbi PHP Programming LanguageSerba-serbi PHP Programming Language
Serba-serbi PHP Programming LanguageSeptian Tama
 
Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10Indah Kusumawati
 

Tendances (19)

Basic PHP Syntax
Basic PHP SyntaxBasic PHP Syntax
Basic PHP Syntax
 
Laporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxLaporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi Linux
 
Os2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopiOs2013 lap4-rizqitohopi
Os2013 lap4-rizqitohopi
 
Os2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopiOs2013 lap5-rizqitohopi
Os2013 lap5-rizqitohopi
 
Os2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopiOs2013 lap2-rizqitohopi
Os2013 lap2-rizqitohopi
 
Os2013 lap6-rizqitohopi
Os2013 lap6-rizqitohopiOs2013 lap6-rizqitohopi
Os2013 lap6-rizqitohopi
 
PASCAL ( MODUL 2)
PASCAL ( MODUL 2)PASCAL ( MODUL 2)
PASCAL ( MODUL 2)
 
Fungsi-Fungsi PHP
Fungsi-Fungsi PHPFungsi-Fungsi PHP
Fungsi-Fungsi PHP
 
Os2013 lap1-rizqitohopi
Os2013 lap1-rizqitohopiOs2013 lap1-rizqitohopi
Os2013 lap1-rizqitohopi
 
Semua tentang php
Semua tentang phpSemua tentang php
Semua tentang php
 
pemrograman php ii
pemrograman  php iipemrograman  php ii
pemrograman php ii
 
Os2013 lap5-ridwan
Os2013 lap5-ridwanOs2013 lap5-ridwan
Os2013 lap5-ridwan
 
Pd
PdPd
Pd
 
Serba-serbi PHP Programming Language
Serba-serbi PHP Programming LanguageSerba-serbi PHP Programming Language
Serba-serbi PHP Programming Language
 
Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10Laporan Praktikum Sistem Operasi Modul 9 dan 10
Laporan Praktikum Sistem Operasi Modul 9 dan 10
 
Variabelphp
VariabelphpVariabelphp
Variabelphp
 
Kelompok Cursor
Kelompok CursorKelompok Cursor
Kelompok Cursor
 
CURSOR
CURSORCURSOR
CURSOR
 
Os2013 lap6-ridwan
Os2013 lap6-ridwanOs2013 lap6-ridwan
Os2013 lap6-ridwan
 

En vedette

Nasehat rasulullah menyambut bulan ramadhan
Nasehat rasulullah menyambut bulan ramadhanNasehat rasulullah menyambut bulan ramadhan
Nasehat rasulullah menyambut bulan ramadhanfadhilmaulana
 
Dear son & dear daughter
Dear son & dear daughterDear son & dear daughter
Dear son & dear daughterfadhilmaulana
 
Power point latihan 1
Power point latihan 1Power point latihan 1
Power point latihan 1fadhilmaulana
 
Реклама в комиксах Fantasy story.ru
Реклама в комиксах Fantasy story.ruРеклама в комиксах Fantasy story.ru
Реклама в комиксах Fantasy story.rufantasystory
 
Kekompakan dan kebersamaan
Kekompakan dan kebersamaanKekompakan dan kebersamaan
Kekompakan dan kebersamaanfadhilmaulana
 
Wajib puasa ramadhan
Wajib puasa ramadhanWajib puasa ramadhan
Wajib puasa ramadhanfadhilmaulana
 

En vedette (16)

Rich poor
Rich poorRich poor
Rich poor
 
Presentation tampil
Presentation tampilPresentation tampil
Presentation tampil
 
Censurado mtv 1
Censurado mtv 1Censurado mtv 1
Censurado mtv 1
 
Nasehat rasulullah menyambut bulan ramadhan
Nasehat rasulullah menyambut bulan ramadhanNasehat rasulullah menyambut bulan ramadhan
Nasehat rasulullah menyambut bulan ramadhan
 
Lilin harapan
Lilin harapanLilin harapan
Lilin harapan
 
Logika mat ict
Logika mat ictLogika mat ict
Logika mat ict
 
Dear son & dear daughter
Dear son & dear daughterDear son & dear daughter
Dear son & dear daughter
 
Kekejaman kafir
Kekejaman kafirKekejaman kafir
Kekejaman kafir
 
Power point latihan 1
Power point latihan 1Power point latihan 1
Power point latihan 1
 
How to succees
How to succeesHow to succees
How to succees
 
Реклама в комиксах Fantasy story.ru
Реклама в комиксах Fantasy story.ruРеклама в комиксах Fantasy story.ru
Реклама в комиксах Fantasy story.ru
 
Kenapa akudiuji
Kenapa akudiujiKenapa akudiuji
Kenapa akudiuji
 
Kekompakan dan kebersamaan
Kekompakan dan kebersamaanKekompakan dan kebersamaan
Kekompakan dan kebersamaan
 
Javascript guide
Javascript guideJavascript guide
Javascript guide
 
Sifat rasulullah
Sifat rasulullahSifat rasulullah
Sifat rasulullah
 
Wajib puasa ramadhan
Wajib puasa ramadhanWajib puasa ramadhan
Wajib puasa ramadhan
 

Similaire à Lapres so d_modul2_yuka

Mod -3_-_so_-_2013-2014
Mod  -3_-_so_-_2013-2014Mod  -3_-_so_-_2013-2014
Mod -3_-_so_-_2013-2014day_aftercoma
 
Modul praktikum-so-2013
Modul praktikum-so-2013Modul praktikum-so-2013
Modul praktikum-so-2013Tri Atsumori
 
Pemrograman C++ - Namespace
Pemrograman C++ - NamespacePemrograman C++ - Namespace
Pemrograman C++ - NamespaceKuliahKita
 
Meeting 9 pemrograman shell - a
Meeting 9    pemrograman shell - a Meeting 9    pemrograman shell - a
Meeting 9 pemrograman shell - a Syaiful Ahdan
 
Jeni intro1-bab04-dasar-dasar pemrograman
Jeni intro1-bab04-dasar-dasar pemrogramanJeni intro1-bab04-dasar-dasar pemrograman
Jeni intro1-bab04-dasar-dasar pemrogramanKristanto Wijaya
 
Jeni Intro1 Bab04 Dasar Dasar Pemrograman
Jeni Intro1 Bab04 Dasar Dasar PemrogramanJeni Intro1 Bab04 Dasar Dasar Pemrograman
Jeni Intro1 Bab04 Dasar Dasar PemrogramanIndividual Consultants
 
Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2Fitrahdede
 
Tutorial perl programming ind ver
Tutorial perl programming ind verTutorial perl programming ind ver
Tutorial perl programming ind verQrembiezs Intruder
 
Meeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modulMeeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modulSyaiful Ahdan
 
Slide web programming ii
Slide web programming iiSlide web programming ii
Slide web programming iiIlman Kadori
 
Praktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxPraktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxMirza Afrizal
 
Pertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutPertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutSyaiful Ahdan
 
20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinuxWahyu W
 

Similaire à Lapres so d_modul2_yuka (20)

Mod -3_-_so_-_2013-2014
Mod  -3_-_so_-_2013-2014Mod  -3_-_so_-_2013-2014
Mod -3_-_so_-_2013-2014
 
Modul praktikum-so-2013
Modul praktikum-so-2013Modul praktikum-so-2013
Modul praktikum-so-2013
 
Pemrograman C++ - Namespace
Pemrograman C++ - NamespacePemrograman C++ - Namespace
Pemrograman C++ - Namespace
 
Meeting 9 pemrograman shell - a
Meeting 9    pemrograman shell - a Meeting 9    pemrograman shell - a
Meeting 9 pemrograman shell - a
 
Dasar PHP
Dasar PHPDasar PHP
Dasar PHP
 
Jeni intro1-bab04-dasar-dasar pemrograman
Jeni intro1-bab04-dasar-dasar pemrogramanJeni intro1-bab04-dasar-dasar pemrograman
Jeni intro1-bab04-dasar-dasar pemrograman
 
Jeni Intro1 Bab04 Dasar Dasar Pemrograman
Jeni Intro1 Bab04 Dasar Dasar PemrogramanJeni Intro1 Bab04 Dasar Dasar Pemrograman
Jeni Intro1 Bab04 Dasar Dasar Pemrograman
 
Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2Fitrah hi hukum tugas so 2
Fitrah hi hukum tugas so 2
 
Tutorial perl programming ind ver
Tutorial perl programming ind verTutorial perl programming ind ver
Tutorial perl programming ind ver
 
Meeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modulMeeting 8-practice5 a-working with bash shell-b-modul
Meeting 8-practice5 a-working with bash shell-b-modul
 
Ppt java
Ppt javaPpt java
Ppt java
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
Slide web programming ii
Slide web programming iiSlide web programming ii
Slide web programming ii
 
orial mini-shell
orial mini-shellorial mini-shell
orial mini-shell
 
01 tk2123 - pemrograman shell-2
01   tk2123 - pemrograman shell-201   tk2123 - pemrograman shell-2
01 tk2123 - pemrograman shell-2
 
JAVA
JAVAJAVA
JAVA
 
Praktikum Sistem Operasi Linux
Praktikum Sistem Operasi LinuxPraktikum Sistem Operasi Linux
Praktikum Sistem Operasi Linux
 
Pertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handoutPertemuan2 basic commands linux operating system-handout
Pertemuan2 basic commands linux operating system-handout
 
20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux20150927 lab2 basiccommandlinux
20150927 lab2 basiccommandlinux
 

Dernier

SBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptxSBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptxFardanassegaf
 
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.aechacha366
 
Panduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdfPanduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdfandriasyulianto57
 
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2noviamaiyanti
 
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...jumadsmanesi
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Keberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptx
Keberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptxKeberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptx
Keberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptxLeniMawarti1
 
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmaksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmeunikekambe10
 
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",Kanaidi ken
 
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaMateri Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaSABDA
 
Teks ucapan Majlis Perpisahan Lambaian Kasih
Teks ucapan Majlis Perpisahan Lambaian KasihTeks ucapan Majlis Perpisahan Lambaian Kasih
Teks ucapan Majlis Perpisahan Lambaian Kasihssuserfcb9e3
 
Workshop penulisan buku (Buku referensi, monograf, BUKU...
Workshop penulisan buku                       (Buku referensi, monograf, BUKU...Workshop penulisan buku                       (Buku referensi, monograf, BUKU...
Workshop penulisan buku (Buku referensi, monograf, BUKU...Riyan Hidayatullah
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
Buku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdfBuku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdfWahyudinST
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxrofikpriyanto2
 
PPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptxPPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptxINyomanAgusSeputraSP
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup BangsaDinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup BangsaEzraCalva
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 

Dernier (20)

SBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptxSBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
SBM_Kelompok-7_Alat dan Media Pembelajaran.pptx
 
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
PUEBI.bahasa Indonesia/pedoman umum ejaan bahasa Indonesia pptx.
 
Panduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdfPanduan Mengisi Dokumen Tindak Lanjut.pdf
Panduan Mengisi Dokumen Tindak Lanjut.pdf
 
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
PRESENTASI PEMBELAJARAN IPA PGSD UT MODUL 2
 
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
UNGGAH PEGANGAN LOKAKARYA DAN PENDAMPINGAN INDIVIDU DALAM KEGIATAN PEMBEKALAN...
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Keberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptx
Keberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptxKeberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptx
Keberagaman-Peserta-Didik-dalam-Psikologi-Pendidikan.pptx
 
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmmaksi nyata pendidikan inklusif.pelatihan mandiri pmm
aksi nyata pendidikan inklusif.pelatihan mandiri pmm
 
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY  SKILL",
RENCANA + Link2 Materi TRAINING "Effective LEADERSHIP & SUPERVISORY SKILL",
 
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 TesalonikaMateri Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
Materi Kelas Online Ministry Learning Center - Bedah Kitab 1 Tesalonika
 
Teks ucapan Majlis Perpisahan Lambaian Kasih
Teks ucapan Majlis Perpisahan Lambaian KasihTeks ucapan Majlis Perpisahan Lambaian Kasih
Teks ucapan Majlis Perpisahan Lambaian Kasih
 
Workshop penulisan buku (Buku referensi, monograf, BUKU...
Workshop penulisan buku                       (Buku referensi, monograf, BUKU...Workshop penulisan buku                       (Buku referensi, monograf, BUKU...
Workshop penulisan buku (Buku referensi, monograf, BUKU...
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
Buku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdfBuku Saku Layanan Haji Ramah Lansia 2.pdf
Buku Saku Layanan Haji Ramah Lansia 2.pdf
 
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptxMATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
MATERI 1_ Modul 1 dan 2 Konsep Dasar IPA SD jadi.pptx
 
PPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptxPPT kecerdasan emosi dan pengendalian diri.pptx
PPT kecerdasan emosi dan pengendalian diri.pptx
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup BangsaDinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
Dinamika perwujudan Pancasila sebagai Dasar Negara dan Pandangan Hidup Bangsa
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 

Lapres so d_modul2_yuka

  • 1. LAPORAN RESMI PRAKTIKUM SISTEM OPERASI MODUL 2 “VARIABEL DAN KARAKTER ESCAPE” LABORATORIUM TEKNOLOGI INFORMASI DAN APLIKASI PRODI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO MADURA 2013 Di setujui, ....../……./………../Bangkalan (M.ANANG SETIAWAN) 110411100060 Nama : Rasminawati NRP : 120411100103 Kelas : D-2 Asisten : Anang Setiawan Tgl. Pratikum : 08 Oktober 2013 Dosen : IWAN SANTOSA, S.T.
  • 2. BAB I PENDAHULUAN 1.1 Latar Belakang Dalam Linux juga diperlukan adanya pembuatan variabel agar nantinya program atau perintah yang kita ketikkan dapat berjalan dalam proses pemanggilan . Tidak hanya itu tipe-tipe karakter juga akan kita bahas dalam praktikum kali ini. Penggunaan variabel pada shell Bash ini berbeda dengan bahasa pemrograman yang kita kenal pada umumnya. Pada modul 2 ini akan dijelaskan tentang variabel yang disediakan oleh system operasi di skrip shell pada Linux. 1.2 Tujuan 1. Untuk mengetahui pembuatan variabel di shell Bash LINUX 2. Untuk mengetahui penggunaan karakter escape 3. Untuk mengetahui pembuatan program-program perhitungan seperti kalkulator.
  • 3. BAB II Dasar Teori 2.1 Dasar Teori Saat ini, setiap bahasa pemrograman mempunyai konsep tentang variabel - suatu nama simbolik mewakili suatu alamat memory yang dapat diberikan suatu nilai, dibaca dan dimanipulasi. Demikian pula pada shell Bash. Bagian ini menjelaskan tentang variabel yang dapat dibuat oleh pemrogram. Bagian II akan menguraikan tentang variabel yang disediakan oleh sistem operasi. Kembali perhatikan contoh pertama, Halo dunia. Ini dapat dikerjakan menggunakan variabel. II.1 Pembuatan Variabel Perlu dicatat bahwa harus tidak ada spasi (ruang) sebelum dan sesudah tanda sama dengan ("="): VAR=value benar sedangkan VAR = value tidak bekerja. Pada kasus pertama, shell melihat simbol "=" dan memperlakukan perintah sebagai pemberian atau pelewatan variabel. Pada kasus kedua, shell menganggap bahwa VAR harus berupa nama perintah dan mencoba mengeksekusinya. Coba tulis kode berikut ke dalam file skrip var1.sh: #!/bin/sh # Nama file skrip: var1.sh MY_MESSAGE="Halo dunia" echo $MY_MESSAGE Ini melewatkan string "Halo dunia" ke variabel MY_MESSAGE kemudian meng-echo-kan nilai dari variabel tersebut. Kita harus mengapit string Halo dunia dengan tanda petik. Tidak ada masalah dengan perintah echo Halo dunia. Perintah echo menerima semua parameter yang diberikan. Variabel hanya dapat memegang satu nilai, sehingga suatu string yang mengandung spasi harus diapit tanda petik agar shell mengetahui dan menganggap semuanya sebagai satu. Jika tidak, shell akan mencoba mengeksekusi perintah dunia setelah MY_MESSAGE=Halo. Shell tidak mengenal tipe variabel; variabel boleh menyimpan string, integer dan bilangan ril - apa pun yang diinginkan. Programmer yang telah terbiasa dengan PHP dan Perl menyukai ini. Jika anda menggunakan C, Pascal atau Ada, ini terasa aneh. Semua nilai disimpan sebagai string, tetapi rutin yang mengharapkan numerik dapat memperlakukannya sebagai nilai numerik. Jika anda melewatkan string ke suatu variabel kemudian mencoba untuk menambahkan 1
  • 4. ke variabel tersebut, anda dilarang melakukannya: $ x="hello" $ y=`expr $x + 1` expr: non-numeric argument Karena program eksternal bernama expr hanya mengharapkan numerik. Berikut ini adalah contoh pembuatan variabel yang benar: MY_MESSAGE="Halo dunia" MY_SHORT_MESSAGE=hi MY_NUMBER=1; MY_PI=3.142 MY_OTHER_PI="3.142"; MY_MIXED=123abc Karakter khusus harus dengan tepat di-escape untuk menghindari salah interpretasi oleh shell. Kita dapat secara interaktif meminta pengguna memasukkan nilai untuk suatu variabel. menggunakan perintah read. Kode berikut menanyakan pengguna nilai untuk variabel MY_NAME, menggabungkan nilai variabel tersebut dengan string lain dan mencetaknya. #!/bin/sh # Nama file skrip: var2.sh echo Who are U? read MY_NAME echo "Hello $MY_NAME - hope you're well." Apa yang terjadi jika baris terakhir tidak dilingkupi tanda pentik ganda? Karakter petik tunggal di dalam "you're" tidak cocok sehingga dapat memunculkan error. Hati-hati! Contoh di atas menggunakan perintah bawaan (built-in) shell read yang membaca baris dari input standard (biasanya keyboard) ke dalam variabel. Jika anda memasukkan nama lengkap (lebih dari satu kata) dan tidak menggunakan petik ganda di awal dan akhir perintah echo, maka luaran masih tetap benar. Bagaimana ini terjadi? Variabel MY_NAME telah lingkupi petik ganda. Perintah read secara otomatis menempatkan tanda petik sekeliling inputnya, sehingga spasi tersebut diperlakukan dengan tepat. II.2 Lingkup Variabel Variabel dalam shell Bash tidak harus dideklarasikan, sebagaimana dilakukan dalam bahasa lain seperti C. Tetapi jika anda membaca suatu variabel yang tidak dideklarasi, hasilnya adalah string kosong. Anda tidak mendapatkan pesan error. Ini dapat menyebabkan beberapa bug kecil - jika anda mempunyai variabel MY_OBFUSCATED_ VARIABLE=Hello dan kemudian memanggil echo $MY_OSFUCATED_VARIABLE. Anda tidak akan mendapatkan apapun (karena OBFUSCATED kedua salah ejaan). Ada perintah export yang mempunyai suatu efek penting terhadap lingkup variabel. Anda
  • 5. harus memahami bagaimana perintah ini digunakan. Buat sebuah skrip shell kecil bernama myvar2.sh: #!/bin/sh # Nama file skrip: myvar2.sh echo "MYVAR is: $MYVAR" MYVAR="hako sen there" echo "MYVAR is: $MYVAR" Sekarang jalankan skrip tersebut: $ ./myvar2.sh MYVAR is: MYVAR is: hi there MYVAR belum diset ke suatu nilai, sehingga blank (kosong). Bagimana jika kita berikan suatu nilai untuk variabel tersebut melalui shell interaktif? Apa hasilnya? Lakukan apa yang diilustrasikan di bawah ini: $ MYVAR=hello $ ./myvar2.sh MYVAR is: MYVAR is: hi there Ternyata variabel MYVAR masih belum menyimpan suatu nilai. Mengapa? Saat anda memanggil myvar2.sh dari shell interaktif, suatu shell baru dilahirkan untuk menjalankan skrip. Ini terjadi karena adanya baris #!/bin/sh pada awal skrip. Artinya, variabel MYVAR pada shell interaktif berbeda dengan MYVAR di dalam skrip yang dijalankan pada shell lain. Bagaimana agar nilai variabel pada shell interaktif dapat masuk ke dalam skrip? Perintah export jawabannya. Sekarang tulis baris-baris berikut: $ export MYVAR $ ./myvar2.sh MYVAR is: hello MYVAR is: hi there Perhatikan baris ke-3 dari skrip yang bertugas untuk mengubah nilai dari MYVAR. Tetapi tidak ada cara yang dapat digunakan untuk mengirim balik nilai variabel ke shell interaktif. Coba baca nilai dari MYVAR setelah eksekusi skrip shell: $ echo $MYVAR hello Begitu skrip shell keluar, variabel lingkungannya dihancurkan. Tetapi MYVAR menjaga nilainya hello di dalam shell interaktif. Adakah caranya agar nilai variabel dari dalam skrip shell juga dapat diekspor ke shell interaktif? Gunakan operator titik "." saat memanggil skrip shell. Jika sebelumnya anda memanggil skrip dengan “./nama_file.sh” maka sekarang anda harus menulisnya “../nama_file.sh”.
  • 6. Perhatikan contoh berikut: $ MYVAR=hello $ echo $MYVAR hello $ . ./myvar2.sh MYVAR is: hello MYVAR is: hi there $ echo $MYVAR hi there Inilah bagaimana file .profile atau .bash_profile bekerja, sebagai contoh. Dalam kasus ini, kita tidak perlu meng-export MYVAR. Pastikan bukan echo MYVAR tetapi echo $MYVAR. Satu hal lain yang sering memunculkan kesalahan dalam pemanfaatan variabel adalah seperti pada contoh berikut: #!/bin/sh # Nama file skrip: user.sh echo " Siapa nama anda?" read USER_NAME echo " Halooo $USER_NAME" echo " Buat file bernama $USER_NAME_file" touch $USER_NAME_file echo "Test 1 2 3" >> "${USER_NAME}_file" cat "${USER_NAME}_file" Apa yang dihasilkan skrip user.sh di atas? Misalnya anda memasukkan "steve" sebagai USER_NAME, apakah skrip akan membuatkan file bernama steve_file? TIDAK. Ini akan memunculkan error kecuali sebelumnya telah ada ada sebuah variabel . bernama USER_NAME_file. Shell tidak mengetahui dimana ujung dari variabel. Bagaimana menyelesaikan ini? Jawabannya adalah kita meletakkan variabel tersebut di dalam kurung kurawal. Sekarang ubah skrip di user.sh menjadi sebagai berikut: #!/bin/sh echo "Siapa nama anda?" read USER_NAME echo "Halooo $USER_NAME" echo "Buat file bernama ${USER_NAME}_file" touch ${USER_NAME}_file echo "Test 1 2 3" >> "${USER_NAME}_file" cat "${USER_NAME}_file" Shell telah mengetahui bahwa kita mengacu ke variabel USER_NAME dan ingin menambahkan akhiran _file kepada nilai dari variabel. Berhati-hatilah. Banyak
  • 7. pemrogram shell pemula melupakan hal sederhana ini. Perlu juga dicatat bahwa petik ganda yang melingkupi "${USER_NAME}_file" - jika pengguna memasukkan "Steve Parker" (perhatikan spasi) maka tanpa tanda petik, argumen yang dilewatkan ke perintah touch menjadi Steve dan Parker_file - yaitu, dapat dikatakan berupa touch Steve Parker_file yang akan men-touch dua file, bukan satu. Tanda petik menghindari masalah ini. II.3 Wildcard Wildcard atau karakter asterisk (*) bukanlah hal baru jika anda telah biasa menggunakan console Linux. Bagian ini memaparkan bagaimana asterisk digunakan dalam skrip shell. Bagaimana anda menyalin semua file dari direktori /tmp/a ke dalam direktori /tmp/b. Bagaimana jika yang disalin semua file berekstensi .txt? Semua file terakhiran .html? Anda dapat menjawabnya dengan: $ cp /tmp/a/* /tmp/b/ $ cp /tmp/a/*.txt /tmp/b/ $ cp /tmp/a/*.html /tmp/b/ Sekarang bagaimana anda mendapat daftar file di dalam /tmp/a/ tanpa menggunakan ls /tmp/a/ ? Bagaimana dengan echo /tmp/a/*? Apa perbedaan utama luaran dari echo dan ls? Bergunakah ini? Bagaimana anda mengganti nama (rename) semua file terekstensi .txt menjadi .bak? Perintah: $ mv *.txt *.bak Tidak akan memberikan hasil yang diharapkan. Coba gunakan echo bukan mv. II.4 Karakter Escape Ada sejumlah karakter tertentu memiliki arti khusus bagi shell; Misalnya karakter petik ganda (") yang menyebabkan shell memperhitungkan spasi dan TAB dalam pemrosesan teks, sebagai contoh: $ echo Halo Dunia Halo Dunia $ echo “Halo Dunia” Halo Dunia Bagaimana menampilkan Halo “Dunia”? $ echo “Halo ”Dunia”” Karakter " pertama dan terakhir membungkus semuanya ke dalam satu parameter yang dilewatkan ke perintah echo sehingga spasi yang ada antara dua kata tetap dijaga. Tetapi kode:
  • 8. $ echo "Halo " Dunia "" Akan diinterpretasikan sebagai tiga parameter: "Halo " Dunia "" Sehingga luarannya berupa: Hello World Perhatikan, tanpa petik ganda yang mengapit kata Dunia dinyatakan hilang. Ini karena tanda petik pertama dan kedua mematikan teks Hello dan diikuti oleh spasi, sebagai argumen pertama; argumen kedua adalah teks Dunia tanpa tanda petik dan argumen ketiga merupakan string kosong "". Anda harus berhati-hati, perhatikan kode berikut: $ echo "Hello "World"" Sebenarnya memanggil perintah echo dengan hanya satu parameter (tak ada spasi antara paramater yang diapit tanda petik) dan anda dapat menguji ini dengan mengganti perintah echo dengan misalnya perintah ls. Sebagian besar karakter (*, ', dll) tidak diterjemahkan jika diletakkan di dalam petik ganda ("). Semua karakter diterima begitu saja dan dilewatkan ke perintah yang dipanggil. Contoh menggunakan asterisk (*) adalah sebagai berikut: $ echo * case.shtml escape.shtml first.shtml functions.shtml hints.shtml index.shtml ip-primer.txt raid1+0.txt $ echo *txt ip-primer.txt raid1+0.txt $ echo "*" * $ echo "*txt" *txt Pada contoh pertama, * berarti semua file di dalam direktori aktif. Pada contoh kedua, *txt berarti semua file yang berakhiran txt. Pada contoh ketiga, ditempatkan * di dalam petik ganda dan ini diinterpretasikan secara literal. Pada contoh ke-4, sama dengan contoh ke-3, hanya * disambung dengan string txt. Namun, ", $, `, dan masih diterjemahkan oleh shell, bahkan saat ada di apit oleh petik ganda. Karakter backslash () dapat digunakan untuk menandakan karakter-karakter khusus ini sehingga tidak diterjemahkan oleh shell, tetapi dilewatkan langsung kepada perintah yang akan dijalankan (misalnya echo). Sehingga untuk menampilkan string (misal nilai $X
  • 9. adalah 5): A quote is ", backslash is , backtick is `. A few spaces are and dollar is $. $X is 5. Kita harus menulis: $ echo "A quote is ", backslash is , backtick is `." A quote is ", backslash is , backtick is `. $ echo "A few spaces are ; dollar is $. $X is ${X}." A few spaces are ; dollar is $. $X is 5. Kita telah melihat kekhususan dari " untuk memastikan spasi dalam teks. Tanda dollar juga khusus karena menandai suatu variabel, sehingga $X digantikan oleh shell dengan isi dari variabel X. Backslash bersifat khusus karena menandakan karakter khusus lain. Perhatikan pemanfaatan karakter escape di bawah ini: $ echo "This is a backslash" This is a backslash $ echo "This is " a quote and this is a backslash" This is " a quote and this is a backslash Jadi backslash sendiri harus di-escape-kan untuk dapat ditampilkan.
  • 10. BAB III TUGAS PENDAHULUAN 1. Bagaimana mengubah semua file terakhir .html menjadi.php? (coba gunakan berbagai bentuk perintah mv)! 2. Jelaskan dengan singkat shell lain yang tersedia di Linux selain Bash! Jawab : 1. Mengubah semua file terakhir .html menjadi .php :  Buat file "touch namafile.html" di terminal linux  Ketik ls lalu enter  Kemudian ketik "mv namafile.html namafile.php" kemudian enter  Ketik ls lagi dan enter 2. Macam-macam shell lain yang tersedia di Linux selain Bash :  Bourne shell(sh)  C shell(csh)  Korn shell(ksh) Bourne Shell Diciptakan oleh Steven Bourne. Shell pertama di Unix. Bourne shell merupakan bahasa pemrograman shell yag cukup baik namun kurang nyaman dalam interaktivitas karena tidak dilengkai fasilitas command line completion atau auto complete. Sehingga penulisan script harus dilakukan secara manual. C Shell Bill Joy mengembangkan bahasa pemrograman shell yang lebih mirip dengan bahasa pemrograman C bagi sebagaian orang dianggap lebih sulit. Kelebihan bahasa pemrograman shell ini daripada Bourne shell adalah sudah tersedia fitur command line completion atau auto complete. Untuk melengkapi perintah kita hanya perlu menekan tombol Tab. Korn Shell Diciptakan oleh Dave Korn. Shell ini merupakan penyempurnaan dari kedua shell sebelumnya yaitu Bourne shell dan C Shell. Memiliki interaktivitas yang baik dan gaya pemrograman yang lebih muda.
  • 11. BAB IV IMPLEMENTASI 4.1 Praktikum 4.3.1.Soal 1.Tulis dan jalankan skrip berikut: #!/bin/bash # Nama file skrip: var10.sh a=5.66 b=8.67 c=`echo $a + $b | bc` echo "$a + $b = $c" 2.Tulis dan jalankan skrip berikut: #!/bin/bash echo "Halo, $LOGNAME" echo "Tanggal sekarang `date`" echo "Pengguna: `who i am`" echo "Direktori aktif `pwd`" 3. Modifikasi program no.2 di atas sehingga juga dapat menampilkan daftar file dan direktori yang terdapat di dalam direktorti aktif! 4.3.2.Jawab 1.
  • 13. 4.2 Tugas Penutup 4.2.1 Soal Tulis dan jalankan skrip berikut: #!/bin/bash echo ”Daftar file Anda: ”; ls -l echo ”Thank U very Much”; 4.2.2 Jawab Skrip pada bash : Running :
  • 14. 4.3 Tugas Tambahan 1. Buatlah Program calculator sederhana : 2. Buatlah program menghitung keliling lingkaran :
  • 15. BAB V PENUTUP 5.1 Kesimpulan Berdasarkan Praktikum Modul 2 yang telash selesai dikerjakan maka dapat diambil kesimpulan : Setiap bahasa pemrograman mempunyai konsep tentang variabel - suatu nama simbolik mewakili suatu alamat memory yang dapat diberikan suatu nilai, dibaca dan dimanipulasi. Dalam pembuatan variabel harus tidak ada ruang kosong atau spasi setelah tanda = . Variabel dalam shell Bash tidak harus dideklarasikan, sebagaimana dilakukan dalam bahasa lain seperti C. Tetapi jika anda membaca suatu variabel yang tidak dideklarasi, hasilnya adalah string kosong. Wildcard atau karakter asterisk (*) bukanlah hal baru jika anda telah biasa menggunakan console Linux. Bagian ini memaparkan bagaimana asterisk digunakan dalam skrip shell. Ada sejumlah karakter tertentu memiliki arti khusus bagi shell yaitu disebut karakter Escape. Macam-macam shell lain yang tersedia di Linux selain Bash : Bourne shell(sh), C shell(csh), Korn shell(ksh). 5.2 SARAN Prakrikum modul 2 ini sudah berjalan lancar, suasana cukup kondusif , hanya saja saran untuk praktikum ini adalah ketika praktikum hendaknya waktu mulai lebih diperhatikan lagi.