You are on page 1of 13

LAPORAN RESMI AWK PROGRAMMING

Oleh :

Ahmad Reza Musthafa (7609040007) 2 D4 TEKNIK KOMPUTER

PROGRAM STUDI D4 TEKNIK KOMPUTER POLITEKNIK ELEKTRONIKA NEGERI SURABAYA - ITS

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung

Analisa : Intruksi di atas menginstruksikan shell atau interpreter intruksi, untuk menjalankan awk dan memanfaatkannya untuk memproses data atau record didalam file yang telah diinputkan. Dari intruksi diatas terdapat tanda petik satu, dimana shell tidak akan merepresentasikan karakter dari awk seperti karakter dari shell system operasi linux. awk menerapkan program untuk standard input, yang biasanya berarti apapun yang Anda ketik pada terminal. Hal ini terus berlanjut sampai Anda menunjukkan end-of-file dengan mengetikkan Ctrl-d. (Di lain sistem operasi, karakter end-of-file yang mungkin berbeda. Sebagai contoh, pada OS / 2 dan MS-DOS, itu adalah Ctrl-z.)

Analisa : Intruksi diatas merupakan suatu intruksi yang bertujuan untuk menampilkan output pada terminal system operasi linux berupa suatu teks Dont Panic!. Sebagai format penulisan intruksi tersebut, penuilisan intruksi print didalam BEGIN dapat menggunakan \ <string> \. Jadi batas teks atau string berupa \. Apaliba user meakukan programming melalui teks editor maka penggunaan format penulisan print memiliki batas string berupa tanda petik dua saja

Analisa : Dengan percobaan diatas user dapat melakukan pemberian data input berupa suatu teks atau

2 D4 Teknik Komputer| 7609040007

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung string setelah mengeksekusi suatu intruksi awk {print}. Secara umum intruksi tersebut sama dengan intruksi : BEGIN{ getline kata print(kata) } Hal tersebut dapat dilakukan melalui teks editor dari system operasi linux. System opeerasi linux akan melakukan scan dari input keyboard dan kemudian menyimpan data input tersebut pada suatu variable. Yang kemudian dapat dicetak melalui intruksi print(kata) sehingga input yang diberikan oleh user akan menghasilkan output yang serupa denga input tersebut

Analisa : Perhatikan bahwa Anda tidak biasanya perlu tanda kutip tunggal di nama file yang Anda tentukan dengan '-F', karena nama file yang paling tidak mengandung karakter khusus shell's. Perhatikan bahwa advice, program awk tidak memiliki tanda kutip tunggal di sekitarnya. Tanda kutip hanya diperlukan untuk program-program yang disediakan pada baris perintah awk. Jika Anda ingin mengidentifikasi file awk program jelas seperti itu, Anda dapat menambahkan ekstensi '. Awk' untuk nama file. Ini tidak mempengaruhi pelaksanaan program awk tetapi membuat " housekeeping" lebih mudah

Analisa : Intruksi diatas merupakan suatu intruksi yang bertujuan untuk menampilkan output pada terminal system operasi linux berupa suatu teks Dont Panic!. Sebagai format penulisan intruksi tersebut, penuilisan intruksi print didalam BEGIN dapat menggunakan \ <string> \. Jadi batas teks atau string berupa \. Apaliba user meakukan programming melalui teks editor maka penggunaan format penulisan print memiliki batas string berupa tanda petik dua saja

2 D4 Teknik Komputer| 7609040007

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung

Analisa : Dalam percobaan diatas bertujuan untuk membentuk suatu file executable yang dapat dijalankan langsung tanpa mengetikkan perintah awk f lagi did ala terminal. Oleh karena itu suatu file yang hendak di konversi menjadi executable file, harus memiliki suatu source executable dari perantara pemrograman, disini yaitu awk. Ditemukan lokasi dari awk yaitu /usr/bin/gawk. Maka user dapat melakukan penambahan #! /usr/bin/gawk f pada baris pertama program melalui teks editor. Untuk menjadikan suatu file menjadi executable AWK, maka dapat menggunakan intruksi chmod +x <lokasi file>. Perhatikan bahwa Anda tidak biasanya perlu tanda kutip tunggal di nama file yang Anda tentukan dengan '-F', karena nama file yang paling tidak mengandung karakter khusus shell's. Perhatikan bahwa advice, program awk tidak memiliki tanda kutip tunggal di sekitarnya. Tanda kutip hanya diperlukan untuk program-program yang disediakan pada baris perintah awk. Jika Anda ingin mengidentifikasi file awk program jelas seperti itu, Anda dapat menambahkan ekstensi '. Awk' untuk nama file. Ini tidak mempengaruhi pelaksanaan program awk tetapi membuat " housekeeping" lebih mudah

Analisa : Dari percobaan diatas merupakan implementasi dari penggunaan komentar dalam awk programming, untuk penulisan komentar dapat dilakukan dengan mengetikkan tanda sharp # pada awal penulisan atau lokasi dimulainya penulisan

2 D4 Teknik Komputer| 7609040007

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung

Analisa : Dari percobaan diats bertujuan untuk mencetak suatu teks pada terminal berupa Here is a single quote. Dimana didalam penulisan source code dari awk pada terminal, penggunaan intruksi print pada batang BEGIN terdapat penulisan < \>. Hal tersebut mengakibatkan program awk mengabaikan suatu tanda setelah tanda \ dan hanya menggunakan tanda petik sebelum tanda \. Oleh karena itu ketika user mengeksekusi intruksi tersebut, maka akan dihasilkan string seperti output diatas

Analisa : Dari percobaan diatas merupakan suatu penulisan intruksi yang menggunakan perintah print, yang kemudian melakukan pencetakkan suatu teks yang berasal dari eksekusi intruksi tersebut Apabila user hendak mengetikkan source tersebut pada teks editor, maka sourcenya : BEGIN{ print(Here is a single quote <>) }

Analisa : Dari percobaan diatas merupakan suatu penulisan intruksi yang menggunakan perintah print, yang kemudian melakukan pencetakkan suatu teks yang berasal dari eksekusi intruksi tersebut. Hal yang membedakan dari percobaan sebalumnya yaitu penggunakan ASCII sebagai generator untuk membuat tanda petik, kode tersebut memiliki nilai decimal 47. Apabila user ingin membuat source code melalui teks editor maka source tersebut dapat berupa : BEGIN{ 2 D4 Teknik Komputer| 7609040007 5

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung Printf(Here is a single quote %c,47) } Seperti layaknya menggunakan bahasa c, java ataupun c#

Analisa : Dari percobaan diatas merupakan suatu penulisan intruksi yang menggunakan perintah print, yang kemudian melakukan pencetakkan suatu teks yang berasal dari eksekusi intruksi tersebut. Hal yang membedakan dari percobaan sebalumnya yaitu penggunakan ASCII sebagai generator untuk membuat tanda double petik, kode tersebut memiliki nilai decimal 42. Apabila user ingin membuat source code melalui teks editor maka source tersebut dapat berupa : BEGIN{ Printf(Here is a double quote %c,42) } Seperti layaknya menggunakan bahasa c, java ataupun c#

Analisa : Dari percobaan diatas merupakan suatu penulisan intruksi yang menggunakan perintah print, yang kemudian melakukan pencetakkan suatu teks yang berasal dari eksekusi intruksi tersebut. Hal yang membedakan dari percobaan sebalumnya yaitu penggunaan variable sq dimana variable tersebut memiliki nilai atau isi berupa tanda petik . ketika user hendak mengeksekusi perintah tersebut melalui suatu terminal, maka user dapat mengetikkan awk v dimana v digunakan apabila membutuhkan penggunaan suatu variable yang kemudian variable tersebut dicetak bersamaan dengan suatu teks Apabila user ingin membuat source code melalui teks editor maka source tersebut dapat berupa : BEGIN{ sq= 2 D4 Teknik Komputer| 7609040007 6

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung Printf(Here is a single quote %s,sq) } Seperti layaknya menggunakan bahasa c, java ataupun c#

Analisa : Dalam ' BBS-list' file data, setiap record berisi nama papan buletin komputer, nya nomor telepon, baud rate dewan (s), dan kode untuk jumlah jam itu operasional. An 'A' dalam kolom terakhir berarti papan beroperasi 24 jam sehari. A 'B' di kolom terakhir berarti papan hanya beroperasi pada malam hari dan akhir pekan. A 'C' berarti papan beroperasi hanya pada akhir pekan

Analisa : Dari percobaan diatas merupakan penggunaan intruksi dari awk, dimana terdapat pengembangan berupa penggunaan pengkondisian dengan if. Dari source diatas yang dipakai sebagai object untuk pengkondisian tersebut yaitu file tabel2. Dimana jika panjang (legth) dari kolom tabel2 lebih besar dari nilai variable max, maka max sama dengan banyaknya baris maksimal dari file tersebut. Setelah itu untuk melakukan pencetakkan terhadap banyaknya baris maksimal pada terminal maka digunakan intruksi {print max}

Analisa : Dari perrcobaan diatas bertujuan untuk mencetak benyaknya baris dari file yang bernama tabel2. Source code diatas menggunakan intruksi expand tabel2 untuk memasukkan file table2 dalam pengkodingan selanjutnya setelah itu terdapat tanda | yang berfungsi untuk pipelining 2 D4 Teknik Komputer| 7609040007 7

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung dengan intruksi awk, sehingga intruksi setelah tanda | telah mendapat import data dari tabel2. Dengan menggunakan pengkondisian bahwa jika x lebih besar dari panjang baris, maka x sama dengan panjang baris tersebut. Dimana x telah mewakili file tabel2. Kemudian untuk mencetak output dari variable x tersebut maka digunakan intruksi print maximum line length is x

Analisa : Intruksi diatas bertujuan untuk mencetak setiap baris yang setidaknya memiliki sebuah field. Sebagai object dari intruksi diatas digunakan file tabel2, setelah user melakukan eksekusi intruksi diatas maka akan ditampilkan output pada layar terminal berupa isi dari file tabel2 dari atas sampai baris terbawah

Analisa Percobaan diatas bertujuan untuk pembangkit bilangan random sebanyak 7 menggunakan funsi dari rand(). Dimana fungsi ini sudah terdapat didalam library awk programming. Seperti proses sebelumnya apabila hendak mengetikkan code pada terminal, dimulai dengan menggunakan intruksi awk BEGIN{} Didalam tubuh BEGIN terdapat perulangan menggunakan for, dimana perulangan tersebu dimulai dari nilai variable i = 0 sampai variable tersebut bernilai 7, dimana setiap perulangan nilai variable tersebut ditambahkan dengan 1. Dari setiap perulangan tersebut terminal akan menghasilkan output berupa satu nilai random dari rumus 101*rand() yang akan dicetak setiap 2 D4 Teknik Komputer| 7609040007 8

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung proses perulangan. Apabila user hendak membuat source code tersebut pada teks editor, maka sourcenya : BEGIN { for(i=1;i<=7;i++){ a=101*rand() print(a) } }

Analisa : Percobaan diatas bertujuan untuk mengetahui besarnya byte dari file tabel2

Analisa : Percobaan diats bertujuan untuk mengetahui besarnya file reza_awk dalam format K-bytes

2 D4 Teknik Komputer| 7609040007

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung

Analisa : Percobaan diatas bertujuan untuk mencetak isi dari direktori pada /etc/passwd dimana sebelum output dicetak pada layar terminal, isi direktori dari /etc/passwd terdiri atau memiliki layout berupa table, dalam table tersebut terdapat beberapa field dan baris. Dalam source diatas hendak ditampilkan field 1 dari table tersebut, maka dapat dilakukan dengan mengetikkan source print $1 setelah itu terdapat tanda | yang berfungsi untuk pipelining. Sehingga intruksi sort diterapkan pada program yang dieksekusi sehingga table dalam keadaan terurut

Analisa : Percobaan diatas bertujuan untuk mengetahui banyaknya baris program dari file reza_awk. NR: Keeps a current count of the number of input records. 2 D4 Teknik Komputer| 7609040007 10

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung Sehingga ketika source code dijalankan,maka akan mencetak besarnya atau banyaknya baris dari program reza_awk

Analisa : Dari hasil percobaan diatas, isi dari file reza_awk tidak sesuai dengan isi dari output diatas, terdapat penghapusan beberapa source code. Hal tersebut dikarenakan terdapt intruksi NR%2 ==0 terhadap file reza_awk. Arti dari intruksi tersebut yaitu hanya baris program yang berada pada baris genap saja yang dicetak didalam terminal, hal tersebut karena NR%2 akan memiliki sisa=0, dan sisa =0 tersebut dijadikan syarat untuk dicetak pada terminal, sehingga source code pada baris ganjil, tidak ditampilkan

2 D4 Teknik Komputer| 7609040007

11

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung

Analisa : Percobaan diatas bertujuan untuk mencari nilai 12 dan 21 pada file BBS-list dan file tabel2, hal tersebut dapat dilakukan dengan awk /12/ atau awk /21/ dimana dari hasil data yang ditemukan dari table, akan dicetak satu baris secara keseluruhan field. Hal tersebut terdapat pada code {print $0} yang menginginkan seluruh field dari suatu baris dicetak

Analisa : Percobaan diatas merupakan penerapan dari pemrograman bahasa awk dimana dalam proses pengetikan baris program tidak hanya satu baris saja, melainkan beberapa baris setelah ditekan tombol enter, hal itu memungkinkan karena selama belum terdapat tanda petik satu untuk penutup source, maka terminal akan terus meminta beberapa input, input tersebut berupa source code, permintaan input tersebut akan berhenti ketika terdapat tanda perik satu. Setelah itu terminal akan menghasilkan output dari source code yang terdiri dari beberapa baris tersebut Apabila user hendak mengetikkan source code pada teks editor, maka sourcenya : BEGIN{ print(hello, world) } Setelah itu user dapat memanggilnya malalui awk f pada terminal

2 D4 Teknik Komputer| 7609040007

12

Politeknik Elektronika Negeri Surabaya - ITS Praktikum Bahasa Pemrograman dan Perangkat Pengolahan Langsung KESIMPULAN 1. Perintah AWK adalah pernyataan yang menggantikan tindakan pada contoh di atas.perintah AWK dapat termasuk panggilan fungsi, tugas variabel, perhitungan, atau berbagai kombinasinya. AWK berisi built-in mendukung untuk banyak fungsi; banyak lagi yang disediakan oleh berbagai rasa AWK. Juga, beberapa rasa mendukung dimasukkannya perpustakaan terkait secara dinamis, yang juga dapat memberikan fungsi yang lebih. 2. AWK adalah bahasa untuk file pengolahan file teks adalah diperlakukan sebagai urutan catatan,. Dan secara default setiap baris adalah record. Setiap baris ini dipecah menjadi urutan bidang, sehingga kita bisa berpikir dari kata pertama dalam garis sebagai kolom pertama, kata kedua sebagai kolom kedua, dan seterusnya Sebuah program AWK adalah urutan laporan pola-tindakan. AWK membaca masukan baris pada satu waktu.. jalur A di scan masing-masing pola dalam program, dan untuk setiap pola yang cocok, tindakan yang terkait dijalankan. 3. Dalam mengetikkan baris program yang lebih banyak hendaknya menggunakan teks editor agar pekerjaan menjadi lebih mudah 4. Nama-nama variabel dapat menggunakan salah satu karakter [A-Za-Z0-9_], dengan pengecualian kata kunci bahasa. Operator + - * / merupakan penambahan, pengurangan, perkalian, dan pembagian, masing-masing. Untuk penggabungan string, cukup tempatkan dua variabel (atau string konstanta) di samping satu sama lain. Hal ini opsional untuk menggunakan ruang di antara jika konstanta string yang terlibat, tetapi Anda tidak dapat menempatkan nama variabel dua berdekatan satu sama lain tanpa spasi di antara keduanya. konstanta String yang dipisahkan oleh tanda kutip ganda.Laporan tidak perlu diakhiri dengan titik koma. Akhirnya, komentar dapat ditambahkan ke program dengan menggunakan # sebagai karakter pertama pada baris.

2 D4 Teknik Komputer| 7609040007

13