Anda di halaman 1dari 47

LINUX

OLEH ADITYA PUTRA ARSYAD HAMIDI AHMAD IZZUDDIN IRFAN YIGA EZZAT

PENGENALAN LINUX Sejarah linux • • Berawal dari hobi, Linux Torvalds (mahasiswa Finlandia, Univesitas Helsinki) memodifikasi sistem Minix. Linux memakai logo pinguin yang dinamakan tux yang membentuk linux  Shell Shell dan Kernel merupakan perantara antara pemakai dan perangkat keras (hardware). Shell memungkinkan pemakai dapat berkomunikasi dengan komputer. Tugas Shell adalah membaca dan menerjemahkan perintah pemakai sebagai suatu permintaan dan memberikannya ke Kernel. Oleh sebab itu Shell disebut juga Penerjemah Perintah (Command Interpreter).  Kernel Kernel merupakan program inti dari Sistem Unix/Linux. Tugasnya adalah:mengendalikan akses terhadap komputer, mengatur memori komputer, memelihara sistem file dan mengalokasikan sumber daya komputer di antara pemakai.

 Yang membentuk linux  Aplikasi Aplikasi ini di buat oleh pemakai / di masukkan sendiri oleh pemakai atau user, contohnya adalah aplikasi untuk multimedia, music, dll.  Utilitas (Tool atau Utility). Adalah: program bantu di luar shell untuk melakukan tugas tertentu, misalnya:  Mengirim berita secara elektronik  Menyunting dokumen.  Melakukan perhitungan.

Berikut contoh utilitas yang ada pada Linux:  cal, untuk menampilkan kalender.

 cat, untuk menampilkan isi dokumen.  cc, untuk mengkompilasi program.  date, untuk menampilkan tanggal dan jam kalkulator.  grep, untuk mencari kata tertentu dalam suatu dokumen.  mail, untuk Electronic Mail.  Sistem File dan Direktori Sistem file pada Unix/Linux tersusun dari sejumlah file dan direktori, dan sering digambarkan sebagai struktur pohon yang dibalik. Pada bagian puncak terdapat sebuah ditektori yang disebut root directory atau direktori / (slash). Direktori di bawah root umumnya:  /bin, berisikan program-program dasar Linux.  /etc, berisi file-file administrasi sistem.  /usr, berisi perintah-perintah Unix dan file administrasi sistem dan mengalokasi file-file dari pemakai, yang dikenal dengan home directory.  /dev, berisi file-file piranti milik sistem.  /tmp, menyimpan file yang bersifat sementara (tidak ada pada Linux).  Direktori yang berada di direktori lain disebut dengan sub-direktori.  Penamaan direktori dan file:  Semua karakter selain slash(/) boleh digunakan.  Beberapa karakter yang sebaiknya tidak dipergunakan adalah:     ?@#$^&*()`[]\|;’”<> spasi tab backspace Huruf kecil dan huruf kapital berbeda arti. Maksimal berdiri dari 14 karakter. Jangan gunakan nama dot (.) dan dot dot (..) sebagai nama file, karena nama itu mempunyai makna khusus.

Perintah-perintah Dasar Stand-alone.  ls, melihat isi direktori.  mkdir, menciptakan direktori.  cd, mengaktifkan direktori.  cat, menampilkan isi file dan menciptakan file.  cp, menyalin file.  rm, menghapus file.  mv, mengganti nama file/direktori dan memindah file ke direktori lain.  rmdir, menghapus direktori.  ln, link ke file lain.  lp, mencetak isi file.  chmod, untuk mengubah model akses terhadap file atau direktori.  chgrp, untuk mengubah group dari file.  chown, untuk mengubah kepemilikan dari file.

Kelebihan dan kekurangan Linux Kelebihn Linux:
 

Linux merupakan sistem operasi bebas dan terbuka (open source). Sehingga tidak perlu biaya lisensi untuk membeli atau menggunakan Linux, gratis. Linux mudah digunakan. Dulu, Linux dikatakan merupakan sistem operasi yang sulit dan hanya dikhususkan untuk para hacker karena masih berbasis teks (DOS). Namun, kini Linux mudah digunakan hampir semudah menggunakan Windows, bahkan masalah style pun, Linux lebih baik dari Windows 7. Hampir semua aplikasi yang terdapat di Windows, telah terdapat alternatifnya di Linux karena banyak komunitas-komunitas pengembangnya, semisal sourceforge.net. , atau bila terpaksa kita bisa menjalankan software untuk Windows di Linux dengan bantuan emulator seperti Wine sehingga file .exe dan .msi dapat dijalankan. Keamanan. Hampir semua pengguna Windows pasti pernah terkena virus, spyware, trojan, adware, dsb. Hal ini, hampir tidak terjadi pada Linux. Linux sejak awal didesain multi-user, sehingga bila virus menjangkiti user tertentu, akan sangat sangat sulit menjangkiti dan menyebar ke user yang lain. Beberapa orang berpendapat bahwa Linux

Instalasi software di Linux. Selain itu. contoh yang populer seperti Ubuntu. Pada Windows. akan menjadi lebih mudah bila terkoneksi ke internet atau bila mempunyai CD / DVD repository-nya. masih sangat berguna dan dapat dijalankan dengan baik di atas Linux.       lebih aman karena jumlah penggunanya lebih sedikit dibanding Windows. namun di satu sisi hal ini juga akan membingungkan calon pengguna Linux. Jarang ditemui.com untuk mengetahui rangking distro-distro Linux. sehingga cocok untuk komputer dengan spesifikasi minimal. Linux dapat berjalan dalam dua mode. tidak pernah ditemui dokumen-dokumen yang lebih baru tidak dapat dibaca pada Linux versi yang lebih lama. BlackBox. Lihat chart distribusi Linux di http://distrowatch. dsb. Banyak distro bermunculan. seperti kasus file . yang merupakan varian dari UNIX. Komputer yang dijalankan di atas sistem operasi UNIX sangat dikenal stabil berjalan tanpa henti. Aplikasi-aplikasi di Linux belum seampuh aplikasi di Windows. namun anggapan itu tidaklah tepat. Linux relatif stabil. gratis pula untuk dimodifikasi dan didistribusikan ulang. maka mau tidak mau harus mempelajari hal ini. Fedora. XFCE. Bagi administrator sistem yang belum terbiasa dengan Unix-like (seperti Linux). Mandriva (Mandrake). Linux selain gratis untuk digunakan. kita seakan dituntut untuk terus mengikuti perkembangan perangkat keras. Linux mempunyai kompatibilitas ke belakang yang lebih baik (better backwardcompatibilty). Modus GUI sendiri memiliki banyak pilhan desktop environment-nya seperti KDE. . Sehingga syarat untuk menjadi administrator adalah manusia yang suka belajar hal-hal baru dan terus-menerus belajar.org atau LinuxHardware. Gnome. Linux. RedHat. Kekurangan Linux:      Banyak pengguna yang belum terbiasa dengan Linux dan masih ‘Windows minded’. takut untuk beralih dari Windows.org. kita dapat melihatnya di Linux-Drivers. Bahkan kita dapat mengembangkan distro kita sendiri. Dukungan perangkat keras dari vendor-vendor tertentu yang tidak terlalu baik pada Linux. Untuk mencari daftar perangkat keras yang didukung pada Linux. Dukungan komunitas yang beragam dan menyebar di seluruh dunia. Beragam pilihan. Linux membutuhkan resource yang lebih kecil dari Windows. maka kita harus men-download satu per satu package yang dibutuhkan beserta dependencies-nya. Selain itu hampir semua distro populer menyediakan versi 32 bit maupun 64 bit. openSuSe. Proses instalasi software / aplikasi yang tidak semudah di Windows. Bila tidak. Keanekaragaman ini memberi kita banyak pilihan sesuai dengan kebutuhan masing-masing.docx (Word 2007-2010) yang tidak bisa dibuka dengan Microsoft Word 2003 atau versi dibawahnya. Hal ini bisa menjadi kelebihan maupun kekurangan. Perangkat keras yang telah berusia lama. Debian. juga mewarisi kestabilan ini. komputer yang tiba-tiba hang dan harus menekan tombol Ctrl-Alt-Del atau Restart untuk mengakhiri kejadian tersebut. modus teks dan modus GUI namun pada umumnya modus teks (terminal) ini lah yang menjadi kekuatan Linux.

kok Registry?? Saya menyebutnya begitu karena tampilannya mirip sekali registry di Sistem Operasi tetangga. Tidak percaya? Dari desktop pencet tuh ALT+F2 . lalu ketikan gconf-editor [lihat gambar dibawah ini] Run Application Lalu akan muncul tampilan yang baru [nah bagaimana. lohh. silahkan ikuti tutorial berikut ini: Ok. Kalau juragan pengin tahu cara-caranya untuk menghilangkan atau menampilan icon-icon yang ada di Desktop Ubuntu. Langsung saja Gan. Struktur direktori dan hak-akses yang membingungkan bagi yang sudah terbiasa dengan Windows dan belum mengenal UNIX/Linux sama sekali. . belum lagi Drive Flashdisk yang nancep malah bikin ribet. Sesudah itu.. tidak enak dipandang mata dan tampilannya bukan membuat indah tapi membuat pusing [itu menurut saya]. mirip sama registry nya sistem operasi tetangga bukan] . Disini kita akan masuk ke Registry – nya Ubuntu. jangan resah karena saya juga mengalami hal yang sama [ribet:maksudnya]. Iya kalau Drive nya cuma 1-2 kalau jumlahnya banyak gimana. Tips Menghilangkan dan Menampilkan Icon-icon yang ada di Desktop Ubuntu Contoh Tampilan Icon Apakah Anda merasa terganggu oleh icon-icon yang bertebaran di Desktop Ubuntu kesayangan atau Anda ingin menampilkan icon tersebut? Apakah merasa ribet / atau pengin untuk di tampilkan? Tenang. Juragan [Ngaskus mode=auto]. pilih Apps | nautilus | desktop dan sesuaikan settingan Anda seperti Gambar di bawah.

Tabel Settingan Registry Jadi intinya adalah. tetapi kita sedang melakukan perbaikan dalam mempelajari logika-logika dalam dunia komputer pada umumnya. . misalkan: 01 #di Fedora yang saya gunakan: 02 sudo yum install minicom 03 04 #atau kalau di openSUSE: 05 sudo zypper install minicom 06 07 #atau di distro lain yg berbasis ubuntu: 08 sudo apt-get install minicom 09 10 #kalau repository bukan di direktori lokal.Bapak Linux). kita juga bisa tahu apa yang membuat sistem operasi berjalan. Dengan mengenal Linux kita jadi tahu bahwa suatu program bisa berjalan karena ada kernel. kita tahu analogi-analogi pemrograman dan juga konsepkonsep dasarnya. Untuk menginstallnya di Linux mudah sekali karena biasanya sudah termasuk ke dalam paket repository.. pastikan dulu internetnya connect.(Linus Torvalds . jadi tinggal ketik program installer paket diikuti nama paketnya seperti biasa. Karena "Linux diciptakan hacker untuk hacker". sudah siapkah Anda beralih ke Linux? Kita belajar Linux tidak untuk mempersulit diri sendiri.

nilai kecepatan baudrate perlu juga disesuaikan dengan device (untuk yakinnya sih liat aja di dokumentasi manual dari devicenya). berhasil juga nyobain AT Command Untuk keluar dari program atau akses menu lainnya bisa dengan menekan Ctrl+A lalu klik Z .. Selain akses port. misalkan jika koneksinya USB maka output dari perintah di atas akan ada informasi bahwa/dev/ttyUSB0 baru saja dicolok atau misal jika koneksinya serial namanya bisa/dev/ttyS1 dan semacamnya. terlebih dahulu perlu mensetting beberapa konfigurasi. untuk melihat device yang baru saja dicolokkan kita dapat menggunakan perintah 1 dmesg | grep tty Dari perintah di atas kita dapat mengetahui nama devicenya. Setelah semua settingan selesai baru deh kita jalankan programnya: 1 minicom Saatnya mencoba ^^ akhirnya.Setelah selesai menginstall. seperti device yang digunakan dan besar kecepatan baudratenya. untuk itu jalankan dengan perintah: 1 sudo minicom -s Sebelumnya.

Setelah backup selanjutnya adalah membuat windows boot disk / rescue disk pada disket floppy 1. disket floppy. Back up / bekap file penting anda yang ada pada hardisk karena dengan format akan menghapus semua file yang ada di hard disk anda. Langkah dan Tahap Format Ulang Hard Disk 1. . Disket ini bertujuan untuk booting langsung ke disket tidak melalui harddisk anda. Disesuaikan dengan jumlah partisi anda yang ada. bad sector. Jika semua beres dan berjalan lancar maka proses format ulang telah selesai. Pada tips ini akan diberikan beberapa langkah mudah yang dapat anda lakukan sendiri tetapi tidak secara mendetail. Ganti Setting Bios Saat komputer dinyalakan anda harus langsung masuk ke tampilan bios untuk setting pilihan urutan boot. Kini harddisk anda menjadi seperti baru kembali. Jika anda punya partisi 3 buah maka tambah perintah format d: dan format e:. komputer sering hang. Nanti komputer anda akan otomatis boot dari disket tersebut dan pilih boot without cd-rom supaya proses booting bisa lebih cepat. komputer lambat.Petunjuk Teknis Masalah yang bersifat fatal dan parah bisa saja terjadi kapan dan di mana saja tidak memandang merk dan harga komputer pc / laptop anda. Tips dan cara mempartisi hard disk mungkin bisa anda cari di kotak search di sebelah kiri halaman artikel ini. 4. Jika berbagai cara sudah anda lakukan dan belum mendapatkan hasil yang memuaskan maka jalan pintas / singkat yang paling baik adalah dengan cara format ulang harddisk / hard drive yang ada di koputer pc / laptop anda. 2.Cara Memformat Ulang Hard Disk Linux pada Komputer PC / Laptop . Mudah-mudahan saya atau kawan lain dapat membantu anda. Setelah masuk ke command prompt a:\ ketik format c: lalu tekan enter. Bila anda butuh bimbingan anda bisa menanyakan di forum situs organisasi. Format Hard Disk Setelah bios diganti serta disave anda masukkan disket kemudian restart komputer anda. Terkadang komputer tidak bisa masuk ke windows akibat banyak hal seperti terkena virus.org ini. pindah file ke jaringan network lan atau internet pada komputer atau server lain dan lain-lain. file booting hilang.4 MB. 3. Jika anda punya cd-rw drive atau dvd-rw drive anda bisa membakar file anda ke dalam cd atau dvd. Cara lain backup adalah dengan flash disk. salah seting dan berbagai masalah lainnya. Istilahnya anda akan menggunakan os microsoft dos yang ada pada disket yang anda buat. Jika format telah selsesai beri nama drive tersebut sesuai selera anda. Ganti urutan booting dengan urutan pertama floppy disk. A. disket zip. Caranya ketika komputer baru dinyalakan anda menekan dan menahan tombol delete sampai bios muncul di layar monitor komputer anda.

atau sesudah menginstal nya yang kapasitasnya cukup besar. salah satunya dalam hal konfigurasi jaringan LAN(kabel) dan WLAN (wireless) pada komputer/laptop. sistem juga harus bekerja lebih keras untuk menemukan ruang kosong buat menulis file baru. 1. kapan waktu yang tepat untuk melakukan disk defrag? untuk melakukan nya saya sarankan beberapa kali dalam seminggu. Kemudian klik tombol Defragment 8. Seperti kita ketahui semua. coba kita bayangkan dalam sebuah game yang membutuhkan reaksi cepat. salah satu nya dengan cara Disk Defrag. selain itu. apalagi saat kita bermain Game. sewaktu-waktu pengunjung yang ingin mencari buku tertentu. ia akan menghabiskan waktu yang lebih lama dalam mencari buku yang diinginkan. Nah begitu juga di komputer. silahkan ikuti langkah-langkah di bawah ini. 6. Tapi tidak usah takut. jadi. sebenarnya ini adalah akibat dari kurangnya perawatan komputer yang kita gunakan. karna komputer yang kita gunakan loadingnya terlalu lambat.Cara mendefrag di linux Sering kita berkeluh kesa. Silahkan klik Start Pilih All Programs Pilih Accesories System Tools Klik Defragmenter Kemudian pilih salah satu Disk yang ingin anda defrag 7. bila isi harddisk berantakan. bila harddisk berada dalam kondisi terfragmentasi. 4. karena konfigurasi keduanya tidak sesulit yang dibayangkan. lakukan defrag di pertisi yang ada Windows dan di partisi aplikasi tersebut di instal. seperti game FPS. Berikut penjelasannya menurut pemahaman saya Konfigurasi LAN . Konfigurasi LAN dan WLAN di Linux Menggunakan linux emang susah-susah gampang. Sebuah PC yang jarang di-defrag bisa diibaratkan seperti sebuah perpustakaan yang bukunya berantakan. 3. untuk menggunakan disk Defrag tersebut. 2. Tunggu Defragment selesai Sekarang yang perlu anda ketahui. tentunya akan ada sedikit delay dalam game tersebut. windows sendiri sudah menyediakan fitur untuk men-defrag yang ada di setiap komputer. sistem akan bekerja lebih keras untuk mencari file karena datanya berserakan tidak teratur di dalam harddisk. sebelum menginstal aplikasi. dan ditaruh di sembarangan tempat. bermacam cara yang bisa kita lakukan. 5.

lo. Grsync juga tersedia bagi pengguna Mac OS dan Windows. Biasanya device jaringan untuk LAN di Linux adalah eth0 Ketiga. maka akan muncul list device jaringan seperti eth0. software ini lebih mudah dan menjadwalkannya dan bisa mengambil perubahan2 pada file sumber saja tanpa mengambil lagi file yang telah di ambil sebelumnya. nama dari tool ini adalah Grsync. Melakukan copy file dengan ukuran besar dalam waktu yang singkat bisa dilakukan dengan menggunakan Grsync. . Terutama pengguna ubuntu Pengguna Ubuntu sebenarnya tidak perlu bingung untuk bisa melakukan kegiatan di atas. Rsync memiliki lisensi GPL sehingga Grsync bersifat open source. Kedua. Grsync merupakan bentuk GUI (Graphical User Interface) dari program untuk melakukan kegiatan seperti ini yang bernama rsync.Untuk setting LAN. Rsync sendiri merupakan alat yang digunakan untuk melakukan sinkronisasi folder dan file dalam bentuk command line (basis teks). dll. langkah pertama yang harus dilakukan adalah pastikan komputer/laptop anda telah terhubung dengan jaringan internet kabel. ketikkan ifconfig di terminal. maka anda harus ketikkan dhclient <nama_device> (harus sebagai root). nah. untuk setting secara dynamic. Selain bisa digunakan dalam Ubuntu dan distro Linux. Cara lain adalah dengan setting secara static. Sistem akan mencarikan IP Address untuk anda. kali ini kita akan mencoba menggunakan rsync. maka anda harus ketikkanifconfig <nama_device> <IP_Address> <Subnet_mask> (harus sebagai root) Back up data pada linux kalau di linux sudah ada jenis aplikasi backup data yang memang di kenal sangat cepat.

sehingga memungkinkan pemakai memilih shell mana yang paling baik untuk membantu menyelesaikan pekerjaannya.untuk pertama kali. Bash shell merupakan shell yang cukup banyak digunakan pemakai linux karena kemudahan serta banyaknya fasilitas perintah yang disediakan.04 [fajar@linux$]echo $BASH_VERSION bash 2. membuat penjadwalannya. membuat link ke komputer remote tanpa harus menggunakan password nantinya 2.04. membuat rsync 3. ataupun perintah eksekusi suatu file progam (eksternal command). untuk dokumentasi ini shell yang digunakan adalah bash shell dari GNU. Macam . yang merupakan pengembangan dari Bourne shell dan mengambil beberapa feature (keistimewaan) dari C shell serta Korn shell.macam shell? Tidak seperti sistem operasi lain yang hanya menyediakan satu atau 2 shell. langkah yang akan kita lakukan adalah : 1. Bourne again shell(bash). .masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih didasarkan pada kebutuhan pemakai yang makin hari makin meningkat. sistem operasi dari keluarga unix misalnya linux sampai saat ini dilengkapi oleh banyak shell dengan kumpulan perintah yang sangat banyak.versi bash shell yang saya gunakan adalah 2. dsb. Masing .12(1)-release Mungkin saat anda membaca dokumentasi ini versi terbaru dari bash sudah dirilis dengan penambahan feature yang lain. atau dapat pula berpindah-pindah dari shell yang satu ke shell yang lain dengan mudah. tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command). Korn shell(ksh). Pendahuluan Apa itu shell ? shell adalah program (penterjemah perintah) yang menjembatani user dengan sistem operasi dalam hal ini kernel (inti sistem operasi). beberapa shell yang ada di linux antara lain:      Bourne shell(sh). umumnya shell menyediakan prompt sebagai user interface. SHELL BASH PADA LINUX 1. C shell(csh). selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.

<. bg. contoh: ls -l | sort -s ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending).2. bedanya jika file sudah ada maka isinya akan ditambah di akhir file. [ ]. menyeleksi kondisi. redirection (cara mengirim output ke file atau menerima input dari file). jadi dengan shell di linux kita dapat membuat program seperti halnya bahasa pemrograman. mkdir.perintah dasar shell baik itu internal command yang telah disediakan shell maupun eksternal command atau utility. . untuk pemrograman shell pemakai unix atau linux menyebutnya sebagai script shell. ?. alias. ls. membuat fungsi.. jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa. utilitas seperti cat.. cat < data file data dijadikan input oleh perintah cat  pipa (output suatu perintah menjadi input perintah lain).. clear. contohnya: . contohnya: ls > data hasil ls dikirim ke file data. looping. Pemrograman Shell ? Yaitu menyusun atau mengelompokkan beberapa perintah shell (internal atupun eksternal command) menjadi kumpulan perintah yang melakukan tugas tertentu sesuai tujuan penyusunnya. fg. Kelebihan shell di linux dibanding sistem operasi lain adalah bahwa shell di linux memungkinkan kita untuk menyusun serangkaian perintah seperti halnya bahasa pemrograman (interpreter language). adalah proses . umask. menggunakan operator redirect >.. Kebutuhan Dasar Sebelum mempelajari pemrograman Bash shell di linux sebaiknya anda telah mengetahui dan menggunakan perintah . exit. operatornya : | . rm. chmod. logout. mv.proses yang umumnya dilakukan oleh suatu bahasa pemrograman. 3. ls >> data hampir sama. <<. cut. rmdir. cp. pwd. mending pake ls -l -r saja :-) ls -l | sort -s | more cat <data | sort > databaru  Wildcard dengan karakter *. times.. >>. dsb. seperti    cd. paste. melakukan proses I/O. lpr.

anda akan mengetikkan kembali perintah tadi. jika disystem anda berbeda misalnya csh atau ksh ubahlah dengan perintah change shell [fajar@linux$]chsh Password: New shell [/bin/csh]:/bin/bash Shell changed atau dengan mengetikkan bash [fajar@linux$]bash sekarang coba anda ketikkan perintah dibawah ini pada prompt shell echo "Script shell pertamaku di linux" [fajar@linux$]echo "Script shell pertamaku di linux" Script shell pertamaku di linux string yang diapit tanda kutip ganda (double quoted) akan ditampilkan pada layar anda. dan diakhiri dengan i ls [ab]* tampilkan file yang dimulai dengan salah satu karakter a atau b 4. Simple Bash Script Langkah awal sebaiknya periksa dulu shell aktif anda. kemudian sembarang karakter tunggal. bagaimana jika berupa kumpulan perintah yang cukup banyak. tentunya dengan fasilitas hirtory kita akan kerepotan juga mengulangi perintah yang diinginkan apalagi jika selang beberapa waktu mungkin perintah-perintah tadi . echo adalah statement (perintah) built-in bash yang berfungsi menampilkan informasi ke standard output yang defaultnya adalah layar. gunakan perintah ps (report process status) [fajar@linux$]ps PID TTY TIME CMD 219 tty1 00:00:00 bash 301 tty1 00:00:00 ps bash adalah shell aktif di system saya. tapi dengan fasilitas history cukup menggunakan tombol panah kita sudah dapat mengulangi perintah tersebut. jika diinginkan mengulangi proses tersebut.ls i* tampilkan semua file yang dimulai dengan i ls i?i tampilkan file yang dimulai dengan i.

jumlah pemakai yang sedang login di system contoh scriptnya: #!/bin/bash #myinfo . jalankan 9. apakah memakai vi. coba ikuti langkah . echo "Hello. Masuk ke editor anda. jika diinginkan mengeset direktory kerja anda sehingga terdaftar pada search path ketikkan perintah berikut PATH=$PATH:. setelah itu script diatas dapat dijalankan dengan cara [fajar@linux$]tes Hello. 2. simpan dengan nama file tes 6. apa khabar" 5. atau dengan mengetikkan bash pada prompt shell. [fajar@linux$]bash tes tentunya cara ini kurang efisien. [fajar@linux$]. untuk itulah sebaiknya perintah-perintah tsb disimpan ke sebuah file yang dapat kita panggil kapanpun diinginkan.. #!/bin/bash 4. Sekarang coba kita membuat script shell yang menampilkan informasi berikut: 1. apa khabar tanda #! pada /bin/bash dalam script tes adalah perintah yang diterjemahkan ke kernel linux untuk mengeksekusi path yang disertakan dalam hal ini program bash pada direktory /bin. sebenarnya tanpa mengikutkan baris tersebut anda tetap dapat mengeksekusi script bash.emacs..langkah berikut: 1.sudah tertimpa oleh perintah lain karena history mempunyai kapasitas penyimpanan yang ditentukan./tes kapan saja anda mau mengeksekusinya tinggal memanggil file tes tersebut.dsb. ketikkan perintah berikut 3. menyertakan path program bash diawal script kemudian merubah permission file sehingga dapat anda execusi merupakan cara yang paling efisien. ubah permission file tes menggunakan chmod 7. dengan catatan bash adalah shell aktif. Waktu system 2.pico. Info tentang anda 3. [fajar@linux$]chmod 755 tes 8.

Environment Variable atau variabel lingkungan yang digunakan khusus oleh shell atau system linux kita untuk proses kerja system seperti variabel PS1. User Defined Variable 5..dsb.#membersihkan tampilan layar clear #menampilkan informasi echo -n "Waktu system :". memungkinkan penggunaan backslash karakter atau karakter sekuen seperti pada bahasa C atau perl. SHELL. who | wc -l sebelum dijalankan jangan lupa untuk merubah permission file myinfo sehingga dapat dieksekusi oleh anda [fajar@linux$]chmod 755 myinfo [fajar@linux$]. misalkan : echo -e "\abunyikan bell" jika dijalankan akan mengeluarkan bunyi bell. anda boleh mencoba tanpa menggunakan opsi -n. date echo -n "Anda :". dan lihat perbedaannya. PATH.jika . informasi opsi pada statement echo dan backslash karakter selengkapnya dapat dilihat via man di prompt shell. opsi lain yang dapat digunakan adalah -e (enable). Positional Parameter 3.1. dalam dokumentasi ini saya membagi variabel menjadi 3 kategori: 1.. PS2. [fajar@linux$]man echo 5./myinfo Waktu system : Sat Nov 25 22:57:15 BORT 2001 Anda : fajar Banyak pemakai : 2 tentunya layout diatas akan disesuaikan dengan system yang anda gunakan statement echo dengan opsi -n akan membuat posisi kursor untuk tidak berpindah ke baris baru karena secara default statement echo akan mengakhiri proses pencetakan ke standar output dengan karakter baris baru (newline). Environment Variable 2. USER. Pemakaian Variabel Secara sederhana variabel adalah pengenal (identifier) berupa satuan dasar penyimpanan yang isi atau nilainya sewaktu-waktu dapat berubah baik oleh eksekusi program (runtime program) ataupun proses lain yang dilakukan sistem operasi. HOME. whoami echo -n "Banyak pemakai :".

anda dapat mengeset PS1 dan PS2 seperti berikut. bash telah menyediakan beberapa backslash karakter diantaranya adalah: \a ASCII bell character (07) \d date dengan format "Weekday Month Date" (misalnya "Tue May 26") \e ASCII escape character (033) \H hostname (namahost) \n newline (karakter baru) \w Direktory aktif \t time dalam 24 jam dengan format HH:MM:SS dll man bash:-) contoh pemakaiannya: [fajar@linux$]PS1="[\t][\u@\h:\w]\$" . misalkan variabel PS1 yang digunakan untuk mengeset prompt shell pertama yaitu prompt tempat anda mengetikkan perintah . prompt ini akan ditampilkan jika perintah yang dimasukkan dianggap belum lengkap oleh shell (defaultnya ">"). untuk mengembalikan PS1 anda ke prompt semula ketikkan perintah [fajar@linux$]PS1=$PS1LAMA Jika anda ingin mengkonfigurasi prompt shell.digunakan akan berdampak pada system. simpan dahulu isi PS1 asli system anda. sehingga nanti dapat dengan mudah dikembalikan [fajar@linux$]PS1LAMA=$PS1 sekarang masukkan string yang diinginkan pada variabel PS1 [fajar@linux$]PS1="Hi ini Promptku!" Hi ini Promptku!PS2="Lengkapi dong ? " maka prompt pertama dan kedua akan berubah. PS2 untuk prompt pelengkap perintah.perintah shell (defaultnya "\s-\v\$").

./argumen Banyak argumen : 4 Argumennya adalah : 1 2 3 empat 5.2. Positional Parameter atau parameter posisi yaitu variabel yang digunakan shell untuk menampung argumen yang diberikan terhadap shell baik berupa argumen waktu sebuah file dijalankan atau argumen yang dikirim ke subrutin.#.2.$.bashrc atau . echo "Argumennya adalah: $*". variabel yang dimaksud adalah 1. echo "Banyak argumen : $#".dst..dll.lebih jelasnya lihat contoh script berikut : #!/bin/bash #argumen1 echo $1 adalah salah satu $2 populer di $3 Hasilnya [fajar@linux$]./argumen 1 2 3 empat Nama script anda : .2.agar prompt shell hasil konfigurasi anda dapat tetap berlaku (permanen) sisipkan pada file ..3. variabel spesial lain yang dapat digunakan diperlihatkan pada script berikut: #!/bin/bash #argumen2 clear echo "Nama script anda : $0". linux.profile 5.3 sesuai posisinya. masing2 argumen akan disimpan pada variabel 1. beberapa hal yang perlu diperhatikan dalam mendefenisikan variabel adalah:   dimulai dengan huruf atau underscore hindari pemakaian spesial karakter seperti *.3. User Defined Variable atau variabel yang didefinisikan sendiri oleh pembuat script sesuai dengan kebutuhannya./argumen1 bash shell linux bash adalah salah satu shell populer di linux ada 3 argumen yang disertakan pada script argumen1 yaitu bash. . shell. Hasilnya: [fajar@linux$].

contohnya: #!/bin/bash nama="pinguin" kata='Hi $nama. nama berbeda dengan Nama. akan ditampilkan apa adanya..NaMa. apa khabarmu" echo $kata. Hasilnya: Hi pinguin. apa khabarmu #menyisipkan variabel nama         dengan kutip terbalik (double-quoted). contohnya : myos="linux" nama='pinguin' hasil=`ls -l`. maksudnya membedakan huruf besar dan kecil. variabel isi #hapus layar echo $hapus #hasil dari perintah ls -l disimpan di . apa khabarmu' echo $kata. Hasilnya: Hi $nama. adapun perbedaannya adalah:       dengan kutip ganda (double-quoted). untuk mengeset nilai variabel gunakan operator assignment (pemberi nilai)"=". bash bersifat case sensitive. bash mengizinkan kita untuk menyisipkan variabel di dalamnya. angka=12 #double-quoted #single-quoted #back-quoted kalau anda perhatikan ada 3 tanda kutip yang kita gunakan untuk memberikan nilai string ke suatu variabel. contohnya: #!/bin/bash nama="pinguin" kata="Hi $nama. isi=`ls -l`.dsb. contohnya: #!/bin/bash hapus=`clear`. apa khabarmu #menyisipkan variabel nama       dengan kutip tunggal (single-quoted). bash menerjemahkan sebagai perintah yang akan dieksekusi. a berbeda dengan A.

$distro\nkomputernya.redhat./varuse untuk operasi matematika ada 3 cara yang dapat anda gunakan.\npake $OS\nDistribusi. bisa slackware. macam-macam.debian.mandrake. 1 buah Hasil ls -l . pake linux Distribusi.suse.mandrake.   #ls -l echo $isi. Hasilnya: silahkan dicoba sendiri Untuk lebih jelasnya lihat contoh berikut: #!/bin/bash #varuse nama="fajar" OS='linux' distro="macam-macam. $pc buah" echo "Hasil ls -l $0 adalah =$hasil" Hasilnya: [fajar@linux$].dll" pc=1 hasil=`ls -l $0` clear echo -e "Hi $nama. dengan statement builtin let atau expr atau perintah subtitusi seperti contoh berikut: #!/bin/bash #mat1 a=10 b=5 #memakai let let jumlah=$a+$b let kurang=$a-$b let kali=$a*$b #memakai expr .suse./varuse adalah -rwxr-xr-x 1 fajar users 299 Nov 21 06:24 .debian./varuse Hi fajar.redhat.dll komputernya. bisa slackware.

echo $angka. mungkin seperti C atau pascal. maka Bash akan mengubahnya ke nilai 0. tetapi jika anda tidak menggunakannya maka dianggap sebagai string. sebenarnya kita telah . floppy./mat1 10+5=15 10-5=5 10*5=50 10/5=2 10%5=0 fungsi expr begitu berdaya guna baik untuk operasi matematika ataupun string contohnya: [fajar@linux$]mystr="linux" [fajar@linux$]expr length $mystr 5 Mungkin anda bertanya . baik itu berupa keyboard. Simple I/O I/O merupakan hal yang mendasar dari kerja komputer karena kapasitas inilah yang membuat komputer begitu berdayaguna. apabila variabel yang dideklarasikan menggunakan declare -i ternyata anda beri nilai string (karakter). Contohnya: #!/bin/bash declare -i angka angka=100.bagi=`expr $a / $b` #memakai perintah subtitusi $((ekspresi)) modul =$(($a%$b)) #sisa pembagian echo echo echo echo echo "$a+$b=$jumlah" "$a-$b=$kurang" "$a*$b=$kali" "$a/$b=$bagi" "$a%$b=$mod" Hasilnya: [fajar@linux$]. I/O yang dimaksud adalah device yang menangani masukan dan keluaran.dsb. apakah bisa variabel yang akan digunakan dideklarasikan secara eksplisit dengan tipe data tertentu?. 6. untuk hal ini oleh Bash disediakan statement declare dengan opsi -i hanya untuk data integer (bilangan bulat).tanya. layar monitor.

baik ke layar ataupun ke file dengan format tertentu.linux.id". atau operasi redirect ke ke file.or. printf "Hi. printf "%d decimal dalam float = %.1 Output dengan printf #!/bin/bash #pr1 url="pemula.id 32 decimal = 40 octal 32 decimal dalam float = 32. bash menyediakan perintah builtin printf untuk mengalihkan keluaran ke output standard.or.menggunakan proses I/O ini pada contoh -contoh diatas seperti statement echo yang menampilkan teks atau informasi ke layar. Pake printf ala C di bash My url pemula.2f\n" $angka $angka Hasilnya: [fajar@linux$].00 untuk menggunakan format kontrol sertakan simbol %.tab. Pake printf ala C\n\t\a di bash\n". selain echo.2f akan mencetak 2 angka dibelakang koma. angka=32. Format control Keterangan %d %o %f %x untuk format data integer Octal float atau decimal Hexadecimal pada script diatas %. bash akan mensubtitusikan format tsb dengan isi variabel yang berada di posisi kanan sesuai dengan urutannya jika lebih dari satu variabel. defaultnya 6 angka. berikut contohnya: 6. mirip statement printf kepunyaan bahasa C atau perl. dan bell./pr1 Hi.linux. \n \t \a adalah karakter sekuen lepas newline. informasi lebih lanjut dapat dilihat via man printf . printf "My url %s\n %d decimal = %o octal\n" $url $angka $angka.

] berikut contoh scriptnya: #!/bin/bash #rd1 echo -n "Nama anda :" read nama. maka data yang diinput akan disimpan di variabel REPLY contoh lain read menggunakan opsi -t(TIMEOUT). "Pesan dan kesan :". pake linux pasti asyk . . -p (PROMPT). -s(SILENT). apa khabarmu Pesan & kesan : pake linux pasti asyk .6. "kata $nama. echo echo read echo Hasilnya: [fajar@linux$]./rd1 Nama anda : pinguin Hi pinguin. apa khabarmu". $REPLY".\njika dalam 6 second tidak dimasukkan pengisian password diakhiri" read -s -n 10 -t 6 pass echo "kesan anda selama pake linux.asyk aja kata pinguin. -n (NCHAR) dan -d(DELIM) #!/bin/bash read -p "User Name : " user echo -e "Password 10 karakter.asyk aja jika nama_variabel tidak disertakan.2 Input dengan read Setelah echo dan printf untuk proses output telah anda ketahui. _underscore=>selesai" read -d _ kesan echo echo "User = $user" "Password = $pass" "Hi $nama. sekarang kita menggunakan statement read yang cukup ampuh untuk membaca atau menerima masukan dari input standar syntax : read -opsi [nama_variabel...

Pengaturan Warna Untuk pewarnaan tampilan dilayar anda dapat menggunakan konstanta ANSI (salah satu badan nasional amerika yang mengurus standarisasi). Output dengan konstanta ANSI 6.3. syntaxnya: \033[warnam Dimana: m menandakan setting color contohnya: [fajar@linux$]echo -e "\033[31m HELLO\033[0m" HELLO konstanta 31m adalah warna merah dan 0m untuk mengembalikan ke warna normal (none).3. tentunya konstanta warna ansi ini dapat dimasukkan ke variabel PS1 untuk mengatur tampilan prompt shell anda.echo "Kesan selama pake linux = $kesan" Hasilnya: silahkan dicoba sendiri :-) Opsi Keterangan -p memungkinkan kita membuat prompt sebagai informasi pengisian -s membuat input yang dimasukkan tidak di echo ke layar (seperti layaknya password di linux) -n menentukan banyak karakter yang diinput -d menentukan karakter pembatas masukan informasi secara lengkap lihat man bash 6. contohnya: [fajar@linux$]PS1="\033[34m" [fajar@linux$] .1.

30 Red 0.37 White 1.32 Light Green 1.37 background dimulai dengan 40 untuk BLACK. dapat digunakan salah satu cara dibawah.2 Pengaturan posisi kursor sedangkan untuk penempatan posisi kursor.34 Light Blue 1.41 RED.1.34 Purple 0.30 Dark Gray 1.berikut daftar warna yang dapat anda gunakan: foreground None 0m Black 0.37m" GOTOYX="\033[6.31 Green 0.           Menentukan posisi baris dan kolom kursor: \033[baris.31 Light Red 1.3. 7 inverse tentunya untuk mendapatkan tampilan yang menarik anda dapat menggabungkannya antara foreground dan background [fajar@linux$]echo -e "\033[31.33 Yellow 1.kolomH Pindahkan kursor keatas N baris: \033[NA Pindahkan kursor kebawah N baris: \033[NB Pindahkan kursor kedepan N kolom: \033[NC Pindahkan kursor kebelakang N kolom: \033[ND Contohnya: #!/bin/bash SETMYCOLOR="\033[42.36 Light Cyan 1.32 Brown 0.dst lain-lain 4 underscore.1.5 blink.36 Light Gray 0.35H" clear .33m Bash and ansi color\033[0m" Bash and ansi color 6.35 Light Purple 1.33 Blue 0.35 Cyan 0.

33. syntaxnya: tput cup baris kolom contohnya: #!/bin/bash clear tput cup 5 10 echo "HELLO" tput cup 6 10 echo "PAKE TPUT" jika dijalankan anda akan mendapatkan string HELLO di koordinat baris 5 kolom 10. Seleksi dan Perulangan Bagian ini merupakan ciri yang paling khas dari suatu bahasa pemrograman dimana kita dapat mengeksekusi suatu pernyataan dengan kondisi terntentu dan mengulang beberapa pernyataan dengan kode script yang cukup singkat. KOLOM 20" echo -e "\033[44.1 test dan operator test adalah utility sh shell yang berguna untuk memeriksa informasi tentang suatu file dan berguna untuk melakukan perbandingan suatu nilai baik string ataupun numerik syntaxnya: test ekspresi proses kerja test yaitu dengan mengembalikan sebuah informasi status yang dapat bernilai 0 (benar) atau 1 (salah) dimana nilai status ini dapat dibaca pada variabel spesial $?.5m\033[5. 7. atau info tput 7.echo -e "\033[3. echo -e "$SETMYCOLOR$GOTOYX ANDA LIHAT INI\033[0m" Hasilnya: Silahkan dicoba sendiri Menggunakan utulity tput untuk penempatan posisi kursor kita dapat pula mengatur penempatan posisi kursor di layar dengan memanfaatkan utility tput.1.20H INI DIBARIS 3. [fajar@linux$]test 5 -gt 3 . informasi selengkapnya tentang tput gunakan man tput.35H HELLO\033[0m". dan string PAKE TPUT dibaris 6 kolom 10.

Benar jika STRING1 sama dengan STRING2 . "+" adalah operator sedangkan 2 dan 3 adalah operandnya.Benar jika bil1 lebih kecil dari bil2 bil1 -le bil2 -||. anda lihat simbol -gt dan -lt. pada contoh test tadi yang bertindak sebagai oparatornya adalah -lt dan -gt.1.1.Benar jika bil1 lebih besar dari bil2 bil1 -ge bil2 -||.2. berarti pernyataan salah.Benar jika bil1 tidak sama dengan bil2 bil1 -lt bil2 -||. Operasi string Operator -z STRING Keterangan Mengembalikan Benar jika panjang STRING adalah zero STRING1 == STRING2 -||. sedangkan bilangan disebelah kiri dan kanannya adalah operand. Operator untuk integer Operator Keterangan bil1 -eq bil2 Mengembalikan Benar jika bil1 sama dengan bil2 bil1 -ne bil2 -||. secara sederhana operator adalah karakter khusus (spesial) yang melakukan operasi terhadap sejumlah operand.1.Benar jika bil1 lebih kecil atau sama dengan bil2 bil1 -gt bil2 -||.[fajar@linux$]echo $? 0 pernyataan 5 -gt (lebih besar dari) 3 yang dievaluasi test menghasilkan 0 pada variabel status $? itu artinya pernyataan tersebut benar tetapi coba anda evaluasi dengan expresi berikut [fajar@linux$]test 3 -lt 1 [fajar@linux$]echo $? 1 status bernilai 1. misalkan 2+3. cukup banyak operator yang disediakan bash antara lain: 7.Benar jika bil1 lebih besar atau sama dengan bil2 7. itulah yang disebut sebagai operator.

1 if Statement builtin if berfungsi untuk melakukan seleksi berdasarkan suatu kondisi tertentu syntax: if test-command1. elif test-command2. if [ $# -lt 1 ]. Seleksi 7. 7. then .3 Operator file Operator Keterangan -f FILE -d FILE Mengembalikan Benar jika FILE ada dan merupakan file biasa -||.&&) ! ekspresi Mengembalikan Benar jika ekspresi tidak benar (not!) untuk informasi lebih lengkap man bash atau info bash di prompt shell anda.7.3 Operator logika ekspr1 -o ekspr2 Benar jika jika salah satu ekspresi benar (or.Benar jika FILE ada dan meruapakan direktory 7.2. else alternatif_perintah. fi contoh script if1: #!/bin/bash #if1 clear.2.1. then perintah1.||) ekspr1 -a ekspr2 Benar jika ekspresi1 dan ekspresi2 benar (and. then perintah2.1.

jika ya maka eksekusi perintah di dalam blok if . gagal nih".fi tsb. statement diluar blok if./if2 Password anda : bash Sukses.fi tidak akan dieksekusi..fi akan dieksekusi apabila kondisi if terpenuhi.. anda layak dapat linux [fajar@linux$].] statement dalam blok if.. echo "Banyak argumen : $#". read -s -p "Password anda : " pass if [ $pass==$kunci ]./if1 [arg1 arg2 . anda layak dapat linux" else echo "Wah sorry. tetapi jika anda memasukkan satu atau lebih argumen maka blok if.. contoh script if2: #!/bin/bash kunci="bash". perintah exit 1 akan mengakhiri jalannya script... kita tinggal membaca apakah variabel $# lebih kecil (less than) dari 1.. then echo "Sukses.. dalam hal ini jika script if1 dijalankan tanpa argumen./if1 Usage : .]" exit 1. fi echo "Nama script anda : $0". sebaliknya jika if terpenuhi maka else tidak akan dieksekusi . fi Hasilnya [fajar@linux$]. gagal nih klausa else akan dieksekusi jika if tidak terpenuhi.filah yang akan dieksekusi./if2 Password anda : Bash Wah sorry. angka 1 pada exit adalah status yang menandakan terdapat kesalahan. status 0 berarti sukses... anda dapat melihat isi variabel $? yang menyimpan nilai status exit. Hasilnya: [fajar@linux$].echo "Usage : $0 [arg1 arg2 . echo "Argumennya adalah: $*".

then exit 0 else echo "Sorry. echo "1. read -p "Pilihan anda [1-3] :" pil. elif [ $angka -eq 3 ]. then echo "Banyak mangkuk =". echo "3. echo "2. echo "-------------". read jum let bayar=jum*2000./if3 MENU HARI INI ------------1. elif [ $angka -eq 2 ]. 4000 THX . $bayar" echo "THX" Hasilnya: [fajar@linux$]. Exit Pilihan anda :2 Banyak porsi = 2 Harga bayar = Rp. Exit ". if [ $pil -eq 1 ]. Bakso ". read jum let bayar=jum*1500. Bakso 2.contoh script if3: penyeleksian dengan kondisi majemuk #!/bin/bash clear echo "MENU HARI INI". tidak tersedia" exit 1 fi echo "Harga bayar = Rp. Gado-Gado 3. Gado-Gado ". then echo "Banyak porsi =".

read binatang. *) echo "$binatang blom didaftarkan" break . esac Hasilnya: [fajar@linux$]..3..... done contoh script for1 #!/bin/bash for angka in 1 2 3 4 5.]. pemakaian case terasa lebih efisien syntax: case WORD in [ [(] PATTERN [| PATTERN]. do echo "angka=$angka". case $binatang in pinguin | ayam | burung ) echo "$binatang berkaki 2" break .3.2..1. Perulangan 7.7.. .. esac contoh script cs1 #!/bin/bash clear echo -n "Masukkan nama binatang :".) COMMAND-LIST . onta | kuda | anjing ) echo "$binatang berkaki 4" break . statement builtin case seperti halnya if statement case digunakan untuk menyeleksi kondisi majemuk...2./cs1 Masukkan nama binatang : pinguin pinguin berkaki 2 7. dibanding if. statement for syntax: for NAME [in WORDS .]. do perintah.

mendingan gunakan cat /etc/passwd saja biar efisien. statement while selama kondisi bernilai benar atau zero perintah dalam blok while akan diulang terus syntax: ./for2 satu 2 tiga satu 2 tiga atau variasi seperti berikut #!/bin/bash for var in `cat /etc/passwd` do echo $var done Hasilnya: hasil dari perintah cat terhadap file /etc/passwd disimpan ke var dan ditampilkan menggunakan echo $var ke layar.3. :-) 7./for1 angka=1 angka=2 angka=3 angka=4 angka=5 contoh script for2 berikut akan membaca argumen yang disertakan waktu script dijalankan #!/bin/bash for var do echo $var done Hasilnya: [fajar@linux$].2.done Hasilnya: [fajar@linux$].

tidak boleh kosong atau Batas loop exit 0. then let bil_genap=$bil_genap+1. bil_ganjil=0. do echo -n "$i.". sehingga perintah dalam blokwhile tidak dieksekusi lagi contoh script wh2 akan menghitung banyak bilangan genap dan ganjil yang ada. while [ $i -le 10 ]. kondisi tidak terpenuhi pada saat nilai i=11 (9+2). if [ `expr $i % 2` -eq 0 ]. echo -n "Batas loop :".5.". done. contoh script wh1 mencetak bilangan ganjil antara 1-10 #!/bin/bash i=1. #counter untuk mencapai batas done harus >= 0". do perintah. let i=$i+2. . read batas if [ -z $batas ] || [ $batas -lt 0 ]. else let bil_ganjil=$bil_ganjil+1.while KONDISI. do echo "$i./wh1 1. fi while [ $i -le $batas ]. then echo "Ops. fi let i=$i+1.9. bil_genap=0.7.3. done Hasilnya: [fajar@linux$]. #!/bin/bash i=0.

2. then echo -n "Banyak porsi =".9.1.10. selain itu i bilangan ganjil yang dicatat oleh pencacah bil_ganjilproses ini dilakukan terus selama nilai i lebih kecil atau samadengan nilai batas yang dimasukkan. banyak bilangan genap = 6 banyak bilangan ganjil = 5 untuk mengetahui apakah nilai i berupa bilangan genap kita cukup menggunakan operasi matematika % (mod). do clear echo "MENU HARI INI".5. elif [ $pil -eq 2 ]. echo "-------------". read jum let bayar=jum*1500. Hasilnya: [fajar@linux$]. lihat contoh berikut: #!/bin/bash #kedai lagi='y' while [ $lagi == 'y' ] || [ $lagi == 'Y' ].3.7. then echo -n "Banyak mangkuk =". echo "3. Exit ". script juga akan memeriksa dahulu nilai batas yang dimasukkan apabila kosong atau lebih kecil dari 0 maka proses segera berakhir./wh2 Batas loop : 10 0.4. if [ $pil -eq 1 ]. echo "1. echo "2. read -p "Pilihan anda [1-3] :" pil. . read jum let bayar=jum*2000.echo echo "banyak bilangan genap = $bil_genap". Bakso ". echo "banyak bilangan ganjil = $bil_ganjil". Gado-Gado ". jika nilai i dibagi 2 menghasilkan sisa 0 berarti i adalah bilangan genap (semua bilangan genap yang dibagi dengan 2 mempunyai sisa 0) maka pencacah (bil_genap) dinaikkan 1.6.8.tentunya dengan statement while kita sudah dapat membuat perulangan pada script kedai diatas agar dapat digunakan terusmenerus selama operator masih ingin melakukan proses perhitungan.

then exit 0 else echo "Sorry.elif [ $pil -eq 3 ]. echo -n "Hitung lagi (y/t) :".3.3. read lagi. done done proses pemilihan menu dan perhitungan biaya akan diulang terus selama anda memasukkan y/Y dan t/T untuk berhenti. lain halnya dengan statement until yang akan mengulang selama kondisi salah. do echo $i. dalam script terdapat validasi input menggunakan while. isi lagi dengan (y/Y/t/Y)". do echo "Ops. statement until jika while akan mengulang selama kondisi benar. until [ $i -gt 10 ]. $bayar" "THX" -n "Hitung lagi (y/t) :". let i=$i+1 done Hasilnya: . tidak tersedia" exit 1 fi echo echo echo echo read "Harga bayar = Rp. #untuk validasi input while [ $lagi != 'y' ] && [ $lagi != 'Y' ] && [ $lagi != 't' ] && [ $lagi != 'T' ]. lagi. sehingga hanya y/Y/t/T saja yang dapat diterima soalnya saya belum mendapatkan fungsi yang lebih efisien :-) 7. berikut contoh script ut menggunakan until #!/bin/bash i=1.

apabila daftar item list tidak dituliskan maka bash akan mengambil item list dari parameter posisi sewaktu script dijalankan.7.2.9. serta akan menampilkan prompt yang menunggu masukan dari keyboard.8.4. masukan tersebut oleh bash disimpan di variabel builtin REPLY.[fajar@linux$]. do perintah. dimana nilai awal i=1 dan akan berhenti apabila nilai i = 11 (bernilai benar) 11 -gt 10. 7.3./menu1 Slackware Redhat Mandrake 1) Slackware 2) Redhat 3) Mandrake #? 1 Anda memilih 1 yaitu Slackware karena item list tidak disertakan dalam script. perhatikan kodisi until yang salah [ $i -gt 10].3./ut 1. anda lihat contoh script pembuatan menu diatas kita hanya melakukannya dengan echo secara satu persatu. #!/bin/bash #kedai . done sewaktu dijalankan bash akan menampilkan daftar menu yang diambil dari item list. statement select select berguna untuk pembuatan layout berbentuk menu pilihan.6. maka sewaktu script dijalankan kita menyertakan item list sebagai parameter posisi. coba gunakan statement select pada program kedai diatas. syntax: select varname in (&ltitem list>). dengan select akan terlihat lebih efisien.10. lebih jelasnya lihat contoh berikut: #!/bin/bash #menu1 clear select menu do echo "Anda memilih $REPLY yaitu $menu" done Hasilnya: layout: [fajar@linux$].4.5.

do echo "Ops. esac do echo echo echo echo read "Harga bayar = Rp. . done done 8. anda bisa membayangkan array ini sebagai tumpukan buku . case $REPLY in 1) echo -n "Banyak mangkuk =".. isi lagi dengan (y/Y/t/Y)". read jum let bayar=jum*2000. lagi. echo -n "Hitung lagi (y/t) :". 2) echo -n "Banyak porsi =".. 3) exit 0 .. .lagi='y' while [ $lagi == 'y' ] || [ $lagi == 'Y' ]. $bayar" "THX" -n "Hitung lagi (y/t) :".buku dimeja belajar. dimana array ini merupakan feature Bash yang cukup indah :-) dan salah satu hal yang cukup penting dalam bahasa pemrograman. *) echo "Sorry. lebih jelasnya sebaiknya lihat dulu contoh script berikut: #!/bin/bash #array1 . read jum let bayar=jum*1500. #untuk validasi input while [ $lagi != 'y' ] && [ $lagi != 'Y' ] && [ $lagi != 't' ] && [ $lagi != 'T' ]. tidak tersedia" . Array adalah kumpulan variabel dengan tipe sejenis. do clear select menu in "Bakso" "Gado-Gado" "Exit".. read lagi.

echo ${buah[*]}.buah=(Melon. jadi array buah mempunyai struktur seperti berikut: buah[0] berisi Melon buah[1] berisi Apel buah[2] berisi Durian 0./array1.Apel. secara otomatis array buah diciptakan dan string Melon menempati index pertama dari array buah. dengan index berisi "*" atau "@".Durian).Apel.1. perlu diketahui bahwa array di Bash dimulai dari index 0./array2 Banyak hari dalam bulan November adalah 30 hari sebenarnya kita dapat mendeklarasikan array secara eksplisit menggunakan statement declare contohnya: .Durian anda lihat bahwa membuat tipe array di Bash begitu mudah. Hasilnya: [fajar@linux$]. anda lihat contoh berikut: #!/bin/bash #array2 bulan[0]=31 bulan[1]=28 bulan[2]=31 bulan[3]=30 bulan[4]=31 bulan[5]=30 bulan[6]=31 bulan[7]=31 bulan[8]=30 bulan[9]=31 bulan[10]=30 bulan[11]=31 echo "Banyak hari dalam bulan November adalah ${bulan[10]} hari" Hasilnya: [fajar@linux$]. Melon. dengan adanya index array tentunya kita dapat mengisi array perindexnya dan menampilkan isi array sesuai dengan index yang diinginkan. berarti ada 3 elemen pada array buah. untuk menampilkan isi semua elemen array gunakan perintah subtitusi seperti pada contoh diatas.2 adalah index array.

dengan subrutin kode script kita tentunya lebih sederhana dan terstruktur. lihat contoh : #!/bin/bash #array3 #deklarasikan variabel array declare -a angka #clear i=0. Subrutin atau Fungsi merupakan bagian script atau program yang berisi kumpulan beberapa statement yang melaksanakan tugas tertentu. do let isi=$i*2. karena sekali fungsi telah dibuat dan berhasil maka akan dapat digunakan kapan saja kita inginkan. beberapa hal mengenai fungsi ini adalah:   Memungkinkan kita menyusun kode script ke dalam bentuk modul-modul kecil yang lebih efisien dengan tugasnya masing-masing. untuk membuat subrutin shell telah menyediakan keyword function seperti pada bahasa C. akan tetapi ini bersifat optional (artinya boleh digunakan boleh tidak)./array3 0 2 4 6 8 9. angka[$i]=$isi. while [ $i -le 4 ].declare -a myarray mendeklarasikan variabel myarray sebagai array dengan opsi -a. let i=$i+1. #destroy array angka (memory yang dipakai dibebaskan kembali) unset angka Hasilnya: [fajar@linux$]. done #tampilkan semua elemen array #dengan indexnya berisi "*" atau "@" echo ${angka[*]}. kemudian anda sudah dapat memberinya nilai baik untuk semua elemen atau hanya elemen tertentu saja dengan perulangan yang telah kita pelajari pengisian elemen array dapat lebih dipermudah. . Mencegah penulisan kode yang berulang .ulang.

tetapi jika keyword function tidak disertakan maka tanda kurung harus digunakan. apa kbabar" } #panggil fungsi say_hello. lihat contoh berikut: #!/bin/bash function say_hello{ echo "Hello. apa khabar jika keyword function disertakan maka kita boleh tidak menggunakan tanda kurung (). . lebih jelasnya lihat contoh script fungsi1 berikut: #!/bin/bash function say_hello() { echo "Hello. apa khabar Hello. echo "Bagaimana dengan anda ?".apa khabar" } balas(){ echo "Baik-baik saja". setelah fungsi dideklarasikan atau dibuat anda dapat memaggilnya dengan menyebutkan nama fungsinya./fungsi1 Hello. #panggil sekali lagi say_hello. } #panggil fungsi say_hello say_hello. } nama_fungsi adalah pengenal (identifier) yang aturan penamaannya sama seperti pemberian nama variabel. Hasilnya: [fajar@linux$].syntax: function nama_fungsi() { perintah.

Hasilnya: [fajar@linux$].2. lebih jelasnya anda lihat contoh berikut: #!/bin/bash function hello{ if [ -z $1 ]. nah dengan memanfaatkan parameter posisi tsb tentunya kita dapat mengambil nilai yang dikirim. apa khabar Baik-baik saja Bagaimana dengan anda ? 9.dst. sebelum mencetak pesan kita melakukan pemeriksaan dengan if terhadap parameter posisi $1 apabila kosong maka pesan "Hello. Mengirim argumen sebagai parameter ke fungsi tentunya suatu fungsi lebih berdaya guna apabila dapat menerima argumen yang dikirim oleh pemanggilnya dan memproses argumen tsb didalam fungsinya./fungsi2 Hello. then echo "Hello. tetapi jika ada string yang kita input maka string tersebut akan dicetak di dalam ./fungsi3 Nama anda : pinguin Hello pinguin. apa khabar lihat fungsi hello.argumen tsb pada parameter posisi 1.. apa khabar anda" yang akan ditampilkan..3. maka bash akan menyimpan argumen . apa khabar".. apabila pada pemanggilan fungsi kita menyertakan argumen untuk diproses fungsi tsb. fungsi yang kita buat pada bash shell tentunya dapat melakukan hal tsb. Hasilnya: [fajar@linux$]. apa khabar anda" else echo "Hello $1. read nama #panggil fungsi dan kirim isi variabel nama ke fungsi untuk dicetak hello $nama.#panggil fungsi balas balas. fi } #masukkan nama anda disini echo -n "Nama anda :".1.

jika argumen yang dikirim lebih dari satu. proses $a Hasilnya: Isi variabel a=2 Isi variabel a=2 coba anda tambahkan local a pada fungsi proses menjadi proses(){ local a. argumen kedua pada variabel 2. echo -e "a didalam fungsi. } a=10. maksud global adalah bahwa variabel tsb dikenal dan dapat diakses oleh semua fungsi dalam script.variabel yang digunakan dalam script adalah variabel bersifat global. a=$a" proses $a Hasilnya: a didalam fungsi. a= a diluar fungsi.. 9. a=$a". dst.coba lihat contoh berikut: #!/bin/bash proses(){ echo "Isi variabel a=$a". a=10 a didalam fungsi a= .blok else pada fungsi. tetapi bash menyediakan keyword local yang berfungsi membatasi cakupan (scope) suatu variabel agar dikenal hanya oleh fungsi yang mendeklarasikannya. proses().2. proses() echo "a diluar fungsi. argumen pertama diteruskan ke variabel 1. Cakupan Variabel secara default variabel . } a=2.

Entry Data" tput cup 4 11. touch operator redirection ">>" untuk menambah data sleep. Cetak Data" tput cup 6 11. pada contoh dalam fungsi proses variabel a dideklarasikan sebagai variabel local dan tidak diberi nilai. read -p "Pilihan anda [1-4] :" pil. echo "SIMPLE DATABASE KPLI" tput cup 3 11. perintahperintah shell dan beberapa utility yang digunakan adalah:      apa yang telah anda pelajari diatas utility test. do tput cup 7 9 read -p "Pilihan anda [1-4] :" pil. cat. Exit" tput cup 7 9. echo "1. silahkan mendistribusikan kembali #atau mengubahnya asalkan anda mengikuti aturan . | (pipa). done . echo "2. cut. grep (global regular expression parser).fajar Makassar 2001. Cari Data" tput cup 5 11. echo "3. echo "4. contoh script buat para linuxer #file ini adalah public domain.aturan dari GPL # menu(){ clear tput cup 2 8. Diakhir dokumentasi ini saya menyertakan contoh script sederhana untuk melakukan entry datadata KPLI (Kelompok Pencinta Linux Indonesia) dan menyimpannya ke sebuah file. sort dan more tput untuk menempatkan cursor pada koordinat tertentu (baris kolom) sebagai latihan silahkan mengembangkan sendiri script dibawah ini: #!/bin/bash #----------------------------------------------------------------#(C) Moh.nah jelas perbedaannya jika mendeklarasikan variabel memakai keyword local menyebabkan variabel tersebut hanya berlaku pada fungsi yang mendekalarasikannya. while [ -z $pil ] || [ $pil -lt 1 ] || [ $pil -gt 4 ].

do tput cup 13 27 echo "Ops Tidak boleh kosong atau $nama sudah ada". read alamat. tput cup 14 27 echo -n "Email :". read nama. nama. tput cup 16 27 echo "Rekam data ke file" if !(echo $nama:$kota:$alamat:$email>>$data). fi sleep 3. sleep 3 clear tput cup 11 27 echo -n "Nama KPLI :". read email. . gagal merekam ke file" exit 1. } cari(){ tput cup 9 27 echo "Cari data per record" tput cup 11 27 echo -n "Nama KPLI :". then echo "Ops. read kota. while [ -z $nama ] || grep $nama $data -q -i. done tput cup 12 27 echo -n "Kota :".} entry() { tput echo tput echo read cup 9 27 "Enrty data" cup 11 27 -n "Nama KPLI :". tput cup 13 27 echo -n "Alamat :".

$found" | cut -d: -f1 else tput cup 13 27 echo "Ops. then tput cup 12 27 echo -n "Kota :".read nama. tput cup 11 27 echo -n "Nama KPLI :". then cat $data | sort | more -d elif [ $mode -eq 2 ]. echo "$found" | cut -d: -f5 tput cup 16 27 echo -n "Record ke. 2->Descending :" read mode clear. echo "$found" | cut -d: -f3 tput cup 13 27 echo -n "Alamat :". read nama. then cat $data | sort -r | more -d else cat $data | sort | more -d fi } . done if found=`grep $nama $data -n -i`. do tput cup 13 27 echo "Ops. if [ -z $mode ] || [ $mode -eq 1 ]. while [ -z $nama ]. nama tidak boleh kosong" sleep 3. data tidak ditemukan". echo "$found" | cut -d: -f4 tput cup 14 27 echo -n "Mail :". fi } cetak() { tput cup 12 27 echo "Tampilkan Data" tput cup 13 27 echo -n "1->Ascendig.

case $pil in 1) entry . exit 0. 2) cari. paste... . cukup baik dan membantu untuk digunakan.. egrep. done clear tentunya kemampuan script ini dapat kita tambahkan dengan mudah sehingga mendekati program database sesungguhnya. esac tput cup 18 27 echo -n "Ke Menu (y/t): ". . tidak ada dalam pilihan" . lpr. then if !(touch $data). *) echo "$pil.. then echo "gagal buat file database" exit 1 fi fi lagi='y' while [ $lagi == 'y' ] || [ $lagi == 'Y' ] do menu.#block utama data="mydata" if !(test -e $data). 3) cetak .. utility seperti tr. Mengembalikan Grub Pada Linux Ubuntu saat komputer kita memiliki 2 sistem operasi atau sering di sebut "Dual Boot" biasanaya kita akan di hadapkan banyak masalah.. dll. . read lagi. 4) clear.

Keluar dari grub shell dengan mengetik quit. setelah cari cari informasi di google. sehingga saya nggak bisa masuk ke Linux ubuntu saya.1 . atau klik menu Applications-Accessories-Terminal .Pada Terminal. dan setelah saya install ulang. Lalu ketikkan root (hd0. dan mengharuskan saya untuk meng install ulang nya.1) .Y).5. pada waktu itu salah satu sistem operasi saya ("windows") terkena virus. ternyata Linux ubuntu tidak lah rusak melainkan GRUB nya saja yang rusak.Salah satu contoh yang pernah saya alami => saya memiliki 2 sistem operasi dalam komputer saya. Maka X =0 dan Y=1. caranya tekan tombol ALT+F2 setelah itu ketik "gnome-terminal" dan enter. ketikkan sudo grub. Misalkan yang keluar hd0. Cara Membenahinya: .Ketik root (hdX. yang pertama adalah sistem operasi linux ubuntu. (jangan lupa untuk merubah settingan BIOS agar boot pertama ke hardisk anda). Dimana X dan Y adalah keluaran angka dari no.buka terminal.1. dan yang kedua sistem operasi windows. .Berikutnya menginstall GRUB ke MBR dengan perintah setup (hd0) . . seketika itu saya berfikir kalau linux ubuntu saya rusak akibat saya install ulang windows.Ketik find /boot/grub/stage1 maka akan ada sebuah output.jalankan live cd linux ubuntu ( tapi sebelum nya ubah booting yang pertama pada bios mejadi cd room dan bukan hardisk). Contoh outputnya adalah hd0. GRUB di bagian paling depan sebelum kita menjalankan sistem operasi linux ubuntu saya hilang. dan restart komputer. maka prompt akan berubah menjadi grub> .