Selasa, 24 Maret 2009

AWK : Operasi Pengkondisian

Operasi If

Jika ada sebuah file dengan data sebagai berikut (daftar.txt):

Nama Nilai

fadly 89
andi 78
rahmat 67
yudha 53
nindi 92
rani 45


Terus kemudian kita ingin mencari nilai dengan range tertentu, dan diberikan predikat A,B,atau C. Maka kita harus menggunakan fungsi awk pengkondisian untuk mengetahui range nilai tersebut. Untuk melaksanakan tugas tersebut, dapat dilakukan dengan intruksi berikut:

# Cara buat file

:~$ cat 1> daftar.txt
Nama Nilai

fadly 89
andi 78
rahmat 67
yudha 53
nindi 92
rani 45
(Ctrl-d untuk keluar)

# Cara seleksi untuk nilai A saja

:~$ awk '{if($2>=80 && $2<=100) {print $1,$2,"A"}} ' daftar.txt # tekan enter

maka secara otomatis program tersebut akan mengeluarkan data seperti berikut:
fadly 89 A
nindi 92 A

# Cara seleksi untuk nilai A dan B

:~$ awk '{if($2>=80 && $2<=100) {print $1,$2,"A"}} {if($2>=60 && $2<=80) {print $1,$2,"B"}} ' daftar.txt
# tekan enter

maka hasilnya adalah sebagai berikut:

fadly 89 A
andi 78 B
rahmat 67 B
nindi 92 A


Fungsi pengkondisian diatas akan dijelaskan sebagai berikut:

if($2>=80 && $2<=100) --> berarti daerah kolom 2 dengan nilai antara 80 sampai 100.
{print $1,$2,"A"} --> berarti cetak kolom 1,2 dan beri karakter A dengan jeda tab/spasi
' daftar.txt --> nama file yang akan di seleksi


Cukup sekian artikel saya. So, jika anda mau jadi programmer hebat tunggu aja artikel yang lain.

thank's to : Pak Wasista & Pak One

Rabu, 18 Maret 2009

Pengenalan AWK

Utilitas AWK

Utilitas ini memanipulasi dengan menyaring baris-baris dalam file teks untuk digunakan membuat laporan atau mencari string tertentu. Defaultnya, sebuah baris dalam file teks yang menjadi masukan utilitas AWK menjadi sebuah record.

Pemanggilan utilitas dengan format

awk 'script_awk' nama_file_masukan

Script_awk adalah script yang terdiri atas

pola jika pola tidak dibuat maka semua record diproses
tindakan jika tindakan tidak ada, maka record ditampilkan

nama_file_masukan adalah nama file yang diproses.

Contoh: Proses dengan perintah berikut

awk '{ print }' data.dat ditampilkan seluruhnya
awk '{ print $1 $3 }' data.dat ditampilkan field-1 dan field-3 saja
awk '/mu/ { print }' data.dat ditampilkan record yang mengandung 'mu'
awk '/89/ { print }' data.dat ditampilkan record yang mengandung '89'
awk '/89/' data.dat sama dengan di atas

Script awk dapat ditulis dalam sebuah file dan dikerjakan dengan format perintah

awk -f nama_file_skrip nama_file_masukan



Pembuka dan penutup awk


Pada script awk dapat ditambahkan pola

* BEGIN untuk tindakan yang dikerjakan sekali di awal script (sebelum record pertama diproses). Dapat digunakan untuk membuat judul dan memberi nilai awal.
* END untuk tindakan yang dikerjakan sekali di akhir script (setelah seluruh record diproses). Digunakan untuk ringkasan dan keterangan akhir.

Contoh: Buat script2.awk

BEGIN {
print "DAFTAR Mahasiswa"
print "NRP NAMA"
print ""
}

{ print }

END {
print "selesai"
}


Variabel

Dua macam variabel

1. Bawaan (built-in) mencakup
* ARGC jumlah argumen dari baris perintah
* ARGV array dari argumen baris
* FILENAME nama file yang diproses
* NR Jumlah record dari awal hingga record yang sedang diproses
* FNR Jumlah record dari awal sebuah file hingga record yang sedang diproses pada file tersebut (masukan terdiri dari beberapa file).
* NF Jumlah field dari record yang sedang diproses
* FS karakter pemisah field dari file masukan, default spasi.
* OFS karakter pemisah field untuk keluaran
* RS pemisah record masukan, default newline.
* ORS pemisah record keluaran, default newline.
2. buatan, didefinisikan dengan cara mengisi dengan harga awal.

Pustaka : blajar_awk.html

Sejarah Perkembangan Bahasa Pemrograman

Generasi Bahasa
Perkembangan bahasa pemrograman mungkin tidak semudah yang kita kira, namun perkembangan tersebut sangatlah sulit dan memakan waktu yang lama hingga bisa menjadi bahasa pemrograman yang bisa kita nikmati sekarang ini. Pembagian generasi bahasa adalah seperti berikut:
• First-Generation Language (1GL) adalah bahasa mesin atau level instruksi dan data, yang diberikan kepada prosesor agar dapat bekerja. Pada komputer konvensiona terdiri dari deretan angka 0 dan 1.
• Second-Generation Language (2GL) adalah bahasa pemrograman assembler (orang juga mengenalnya sebagai bahasa assembly). Pada bahasa perograman generasi kedua ini assembler mengubah pernyataan bahasa pemrograman ke bahasa mesin.
• Third-Generation Language (3GL) merupakan bahasa pemrograman yang masuk dalam generasi ketiga. Ini adalah bahasa pemrograman tingkat tinggi, seperti PL/1, C, atau Java.
• Fourth-Generation Language (4GL) adalah bahasa pemrograman yang didesain lebih “natural”, sehingga makin mudah digunakan.
• Fifth-Generation Language (5GL) adalah bahasa pemrograman yang menggunakan interface pengembangan visual atau grafik untuk membuat bahasasumbernya, yang biasanya di-compile dengan compiler 3GL atau 4GL.

Perkembangan Bahasa

• Perkembangan bahasa pemrograman dimulai pada tahun 1949 dengan hadirnya Short Code, bahasa pemrograman komputer pertama yang digunakan dalam peralatan komputer elektronik. Ini masih berupa bahasa pemrograman manual (hand-compiled).
• Pada tahun 1951, Grace Hopper yang bekerja pada Remington Rand mulai bekerja untuk mendesain sebuah compiler yang diberi nama A-0. Pada tahun 1957, bahasa pemrograman ini kemudian dirilis oleh Rand dengan nama Math-matic.
• Kemudian Alick E. Glennie, di waktu senggangnya di Universitas Manchester, berhasil membuat programming system bernama AUTOCODE pada tahun 1952. Sekitar lima tahun setelahnya dirilislah mathematical FORmula TRANslating (FORTRAN), dan menjadi salah satu bahasa pemrograman yang mudah digunakan pada tahun itu.
• FORTRAN dibuat oleh tim yang diketuai oleh John Backus, yang kemudian juga memiliki konstribusi dalam pembuatan bahasa pemrograman ALGOL.
• Setahun kemudian, muncul FORTRAN II yang mampu menjalankan perintah subroutines dan koneksi ke bahasa assembly. Dan, pada tahun yang sama juga dirilis bahasa pemrograman ALGOL. Pada tahun 1960 muncul ALGOL 60. Bahasa pemrogramana ini sangat popular di Eropa pada pertengahan 1960-an. Pada tahun 1962, APL (A Programming Language) dirilis oleh Kenneth Iverson. Pada tahun yang sama juga dirilis FORTRAN IV.
• Perkembangan bahasa pemrograman terus berlanjut dengan munculnya berturut turut APL/360 dan PL/1 pada tahun 1964, SNOBOL3 pada 1965, FORTRAN 66 dan LISP 2 pada 1966, SNOBOL 4 pada 1967, ALGOL 68, ALTRAN, dan COBOL.
• Pada tahun 1975, Bob Albrecht dan Dennis Allison merilis Tiny BASIC. Pada tahun yang sama, Bill Gates dan Paul Allen merilis BASIC yang mereka jual ke MITS (Micro Instrumentation and Telemetry Systems). Tahun-tahun selanjutnya, beberapa bahasa pemrograman baru bermunculan. Di antaranya AWK yang dirilis tahun 1978; Smalltalk-80, Modula-2, Franz LISP pada tahun 1980; dan ISO Pascal serta PostScript yang dirilis pada tahun 1982. Pada tahun 1983 dirilis bahasa pemrograman Ada.
• Nama tersebut diambil dari Lady Augusta Ada Byron, yang menyandang gelar programer komputer pertama karena hasil kerjanya pada Charles Babbage’s analytical engine di tahun 1842.
• Tahun 1986, selain Apple telah merilis Object Pascal dan Borland merilis Turbo Prolog, pada tahun yang sama juga dirilis bahasa pemrogramanC++ dan Eiffel. Setahun sesudahnya dirilis Turbo Pascal version 4.0. Bahasa pemrograman C++ berkembang pesat dengan dirilisnya C++ 2.0 pada tahun 1989, dan C++ 2.1 pada tahun 1990. Ini bersamaan dengan dirilisnya FORTRAN 90. Setahun kemudian, Microsoft kembali merilis Visual Basic, yang kemudian memenangkan penghargaan BYTE’s Best of Show saat COMDEX.
• Bahasa pemrograman terus berkembang hingga tahun ini, dengan diilisnya Java 2 (versi 1.4), Python 2.2, J#, dan F#.

Bahasa Modern (Java)
• Kelahiran Java dimulai tahun 1991. Bahasa Java merupakan proyek penelitian Sun Microsystems yang diberi nama kode Green. Proyek ini bertujuan membangun sistem yang memungkinkan komputer berperan dalam rumah tangga. Fokus pertama proyek adalah pada TV kabel yang disebut set-top box.
• Untuk menjalankan proyek tersebut Sun merencanakan untuk membangun sebuah OS yang dibangun dengan bahasa C++. Akan tetapi James Gosling (salah seorang anggota tim proyek) merasa tidak puas dengan C++. Akhirnya Ia membuat sendiri bahasa pemrograman baru yang diberi nama Oak. Nama tersebut diambil dari nama pohon yang terlihat dari jendela kantornya. Oak dibuat berdasarkan syntak C++. Namun Oak lebih sederhana dari C++, lebih stabil dan lebih mendukung network-programming. Selain itu Oak dibuat murni object-oriented. Bahasa Oak dibuat sebagai bahasa yang tidak terikat pada satu platform (cross-platform atau multi-platform). Tahun 1994, proyek Green diperbesar oleh Sun menjadi proyek FirstPerson. Tapi proyek tersebut gagal akibat penolakan pasar terhadap ide TV interaktif.
• Pada saat itu Internet memulai sejarah baru dengan WWW (World Wide Web). Browser GUI pertama adalah Mosaic. Sun melihat celah lain dalam dunia Web. Sun merasa bahasa Oak yang multi-platform serta ditujukan untuk pemrograman interaktif dan distributed sangat cocok untuk dunia Web.
• Tahun 1995, nama Oak diganti dengan nama Java karena ada produk lain yang telah mematenkan nama tersebut. Pemilihan nama ini (yang dikenal oleh para pekerja Sun sebagai nama jenis kopi) sama sekali tidak didasarkan atas kedekatan mereka dengan Indonesia atau pulau (atau orang) Jawa. Nama Java dipilih mengalahkan nama-nama lainnya, sekedar karena mereka merasa bahwa nama ini sangat bagus (“cool” menurut bahasa anak muda sekarang). Bersamaan dengan lahirnya nama Java ini, Sun juga mengganti nama web-browser mereka menjadi HotJava (semula bernama WebRunner). Sun kemudian mengumumkan bahasa Java sebagai bahasa yang mampu menjalankan Web secara interaktif dan aman.
• Pada pertengahan tahun 1995, Netscape mengumumkan akan mengadopsi Java di dalam browser mereka. Kemudian, Java (pada tahun-tahun itu) secara de-facto menjadi bahasa standar di dunia maya Internet. Perkembangan Java dipermudah lagi dengan tersedianya JDK (Java Development Kit) di situs milik Sun yang dapat di-download gratis. Akhir tahun 1995, IBM dan Microsoft memutuskan untuk membeli lisensi Java untuk dipakai dalam teknologi mereka.
Pustaka :
• Rizal Aditiya SMK-PGRI Pandaan
• Sejarah Pemrograman JAVA « A C E.htm