Shell programming bab Input/Output 1

A. T U J U A N

1. Menggunakan statement echo dan printf untuk menampilkan data pada standar output (layar monitor)

2. Menggunakan statment read untuk memproses data masukkan yang berasal dari standard input (keyboard).

3. Menggunakan konstanta ANSI untuk keluaran dengan pengaturan warna dan kursor

B. DASAR TEORI

Proses I/O

Sebuah proses memerlukan Input dan Output.

 INPUT –=> PROSES –=> OUTPUT

Instruksi (command) yang diberikan pada Linux melalui Shell disebut sebagai eksekusi program yang selanjutnya disebut proses. Setiap kali instruksi diberikan, maka Linux kernel akan menciptakan sebuah proses dengan memberikan nomor PID (Process Identity). Proses dalam Linux selalu membutuhkan Input dan menghasilkan suatu Output.

Dalam konteks Linux input/output adalah :

• Keyboard (input)

• Layar (output)

• Files

• Struktur data kernel

 

  • Simple I/O

I/O merupakan hal yang mendasar dari kerja komputer karena kapasitas inilah yang membuat komputer begitu berdayaguna. I/O yang dimaksud adalah device yang menangani masukan dan keluaran, baik itu berupa keyboard, floppy, layar monitor,dan sebagainya. Penggunaan proses I/O ini pada contoh sebelumnya seperti statement echo yang digunakan untuk menampilkan teks atau informasi ke layar, atau operasi redirect ke file. selain echo, bash menyediakan perintah builtin printf untuk mengalihkan keluaran ke output standard, baik ke layar ataupun ke file dengan format tertentu, mirip statement printf kepunyaan bahasa C atau perl.berikut contohnya:

  • ·         Output dengan echo

Perintah yang digunakan adalah : echo.

Kalimat yang mengikuti echo akan ditampilkan di layar, kemudian kursor pindah baris berikutnya tanda (opsi) –n antara echo dengan kalimat digunakan agar kursor tidak pindah ke baris berikutnya, Contoh :

#!/bin/bash

     #myinfo

     #membersihkan tampilan layar

     clear          

     #menampilkan informasi

     echo -n “Waktu system   :”; date

     echo -n “Anda           :”; whoami

     echo -n “Banyak pemakai :”; who | wc –l

tentunya layout diatas akan disesuaikan dengan system yang digunakan 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), dapat juga dicoba tanpa menggunakan opsi -n, dan lihat perbedaannya. opsi lain yang dapat digunakan adalah -e (enable), memungkinkan penggunaan backslash karakter atau karakter sekuen seperti pada bahasa C atau perl, misalkan :

      echo -e “\abunyikan bell”

jika dijalankan akan mengeluarkan bunyi bell, informasi opsi pada statement echo dan backslash karakter selengkapnya dapat dilihat via man di prompt shell.  $man echo


  • ·         Output dengan printf

    #!/bin/bash

    #pr1

    url=”pemula.linux.or.id”;

    angka=32;

    printf “Hi, Pake printf ala C\n\t\a di bash\n”;

  printf “My url %s\n %d decimal = %o octal\n” $url

          $angka $angka;

  printf “%d decimal dalam float = %.2f\n” $angka

          $angka

untuk menggunakan format kontrol disertakan simbol %, bash akan mensubtitusikan format tsb dengan isi variabel yang berada di posisi kanan sesuai dengan urutannya jika lebih dari satu variabel, \n \t \a adalah karakter sekuen lepas newline,tab, dan bell, seperti terlihat pada tabel berikut:

Tabel 1. Format Control

Format control

keterangan

%d

untuk format data integer

%o

octal

%f

float atau decimal

%x

Hexadecimal

pada script diatas %.2f akan mencetak 2 angka dibelakang koma, defaultnya 6 angka, informasi lebih lanjut dapat dilihat via man printf


  • ·         Output dengan Konstanta ANSI

 

1.   Pengaturan Warna

Untuk pewarnaan tampilan dilayar dapat menggunakan konstanta ANSI (salah satu badan nasional amerika yang mengurus standarisasi).

syntaxnya:       33[warnam

Dimana:
m menandakan setting color

contohnya:

     $echo -e “33[31m HELLO33[0m

     HELLO

konstanta 31m adalah warna merah, 0m untuk kembali ke warna normal (none), untuk mengatur tampilan prompt shell, contohnya: $PS1=”33[34m”

 

Daftar warna yang digunakan :

foreground

            None              0m

            Black              0;30     Dark Gray                 1;30

            Red                 0;31     Light Red                  1;31

            Green             0;32     Light Green               1;32

            Brown            0;33     Yellow                       1;33

            Blue                0;34     Light Blue                 1;34

            Purple            0;35     Light Purple                1;35

            Cyan              0;36     Light Cyan                  1;36

            Light Gray      0;37     White                          1;37

background

       dimulai dengan 40 untuk BLACK,41 RED,dst

lain-lain

       4 underscore,5 blink, 7 inverse

2.   Pengaturan posisi kursor

Sedangkan untuk penempatan posisi kursor, dapat digunakan salah satu cara dibawah.

  • Menentukan posisi baris dan kolom kursor:       33[baris;kolomH
  • Pindahkan kursor keatas N baris:          33[NA
  • Pindahkan kursor kebawah N baris:        33[NB
  • Pindahkan kursor kedepan N kolom:        33[NC
  • Pindahkan kursor kebelakang N kolom:      33[ND

Contohnya:

     #!/bin/bash

 

     SETMYCOLOR=”33[42;1;37m”

     GOTOYX=”33[6;35H”

     clear

     echo -e “33[3;20H INI DIBARIS 3, KOLOM 20”

     echo -e “33[44;1;33;5m33[5;35H HELLO33[0m”;

     echo -e “$SETMYCOLOR$GOTOYX ANDA LIHAT INI33[0m”

Menggunakan utulity tput untuk penempatan posisi kursor

Penempatan posisi kursor di layar dapat diatur dengan memanfaatkan utility tput.

syntaxnya:

      tput cup baris kolom

contohnya:

     #!/bin/bash

 

     clear

     tput cup 5 10

     echo  “HELLO”

     tput cup 6 10

     echo  “PAKE TPUT”

jika dijalankan akan didapatkan string HELLO di koordinat baris 5 kolom 10, dan string PAKE TPUT dibaris 6 kolom 10. informasi selengkapnya tentang tput gunakan man tput, atau info tput.

  • Perintah Input

Perintah yang digunakan adalah : read

Membaca data yang dimasukkan dari input standar (keyboard)

syntaxnya :

read -opsi [nama_variabel…]

opsi
-t(TIMEOUT), -p (PROMPT), -s(SILENT), -n (NCHAR) dan -d(DELIM)

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 dimasukkan

-d

menentukan karakter pembatas masukan

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: