Rabu, 18 Maret 2009

Bahasa Pemrograman & Perangkat Pengolahan Langsung ( AWK Program )

Judul diatas merupakan salah satu Mata Kuliah yang saya ( Andrey dari Teknk Komputer ) pelajari, memang agak membingungkan juga sih bahasa pemrograman yang dipakai dalam Mata Kuliah ini, dari namanya saja sudah kelihatan aneh gitu apalagi untuk mengoperasikannya, wuuuiiih, pasti pusing deh, yaaah itu mungkin karena belum familiar saja dengan bahasa pemrograman yang satu ini.... he he. Berbeda banget dengan bahasa pemrograman lainnya seperti C++, Visual Basic, Java, Delphy, dll, pengoperasian program yang satu ini adalah lewat terminal atau orang biasa menyebutnya shell yang ada pada Linux. Dari buku dan tutorial yang pernah baca sejarah dan pengertian dari program AWK antara lain RESUMENYA :

Apa siy sebenarnya ‘awk’ itu? AWK adalah sebuah utility filter untuk memanipulasi file teks. AWK sendiri merupakan singkatan dari nama-nama belakang penciptanya, yaitu Alfred V. Aho, Peter J. Weinberger dan Brian W. Kernighan.

AWK merupakan bahasa pemrograman yang dapat digunakan untuk tugas-tugas manipulasi data. AWK dikembangkan pada tahun 1977 di laboratorium AT&T sebagai bagian dari dari percobaan terhadap grep dan sed. Dengan kemampuan untuk menerima suatu pattern matching, kita dapat memanfaatkan AWK untuk mengembangkan sebuah aplikasi script yang dapat memanipulasi data dengan mudah.

AWK adalah bahasa pemrograman yang digunakan untuk memanipulasi teks. Meskipun operasinya bisa sangat kompleks, sintaks untuk awk selalu :
awk '{pattern+action}' '{filenames}'
pattern merepresentasikan pola yang ingin dicari oleh AWK dan action merupakan action yang ingin dilakukan jika pola yang sesuai ditemui.
Beberapa contoh penggunaan instruksi AWK :

bash-3.00$ date
Mon Apr 14 23:53:40 WIT 2008
bash-3.00$ date | awk ‘{print $4}’
23:54:12
bash-3.00$ date | awk ‘{print $3,$2}’
14 Apr
bash-3.00$ date | awk ‘{print $3$2}’
14Apr
bash-3.00$ date | awk ‘{print “DATE: ” $3,$2, “TIME :” $4}’
DATE: 14 Apr TIME :23:55:59
bash-3.00$ date | awk ‘{print $0}’
Mon Apr 14 23:56:15 WIT 2008

Dari contoh diatas, dapat disimpulkan bahwa AWK secara default memisahkan tiap field dari sebuah record dengan delimiter spasi/tab. Field pertama merupakan $1 dan field terakhir adalah $n. Sedangkan $0 dapat diartikan merupakan keseluruhan sebuah record. Owh ya, kita bisa menggunakan perintah {print} untuk menampilkan suatu field atau record. Dalam command print sendiri kita dapat menggunakan beberapa variasi seperti contoh di atas.

Kita juga dapat mengubah separator antar field sesuai keinginan, caranya dengan menggunakan option -F dan menentukan karakter apa yang akan kita gunakan sebagai separatornya. Sebagai contoh kita gunakan file /etc/passwd yang berisi data all user dalam system. Jika kita ingin menampilkan home direktori dari semua user dalam system, bisa kita gunakan perintah sbb :

awk < /etc/passwd -F: ‘{print $6}’

Maksud dari perintah tsb adalah menampilkan field/column ke 6 (’{print $6}’) dari sebuah file (etc/passwd) yang tiap fieldnya dipisahkan oleh karakter titik-dua (-F:).

Selain itu, ‘awk’ juga dapat digunakan dalam operasi aritmatika, seperti penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), sisa pembagian/modulus (%), dsb. Untuk penggunaannya, bisa dilihat pada contoh berikut :

bash-3.00$ echo 2 3 | awk ‘{print $1 + $2}’
5
bash-3.00$ echo 2 3 | awk ‘{print $1 - $2}’
-1
bash-3.00$ echo 2 3 | awk ‘{print $1 * $2}’
6
bash-3.00$ echo 2 3 | awk ‘{print $1 / $2}’
0.666667
bash-3.00$ echo 5 3 | awk ‘{print $1 % $2}’
2

Semua fungsi-fungsi yang dimiliki oleh ‘awk’ juga dapat digunakan secara bersama-sama. Misalnya, saya ingin menjumlahkan size dari beberapa file yang karakter awal nama filenya adalah abe, maka cukup dengan mengetikkan :

bash-3.00$ ls -l abe* | awk ‘{sum=sum + $5} END {print sum}’
197904

Pada command ls -l field yang menunjukkan size suatu file adalah pada field ke-5 ($5), ls -l abe* digunakan untuk me-list file yang berawalan abe. Sedangkan untuk command ‘awk’ digunakan variabel sum untuk menyimpan hasil penjumlahan dari $5 pada setiap line/file name, pada akhir baris dalam list file nilai dari variabel sum ditampilkan.

Simple sie sebenernya, tapi gak tau kenapa ko' jadi sulit yyaa, yaaah mungkin karena kurang pemakaiannya saja..... Tak kenal AWK maka Tak Sayang AWK....

itu adalah sekilas tentang AWK program, lebih dalemnya lagi silahkan browsing tutorialnya di Internet...... OOOYYIII???

Lengkap Mas, Mbak disini

Tidak ada komentar:

Posting Komentar