awk programming 4 - ahmad reza musthafa

Upload: ahmad-reza-musthafa

Post on 04-Apr-2018

245 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    1/13

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    2/13

    2 D4 Teknik Komputer| 7609040007 2

    Analisa

    Percobaan diatas bertujuan untuk implementasi penggunaan ekspresi yang dapat digunakan pada

    pernyataan print. Dari percobaan di atas user mengetikkan intruksi awk BEGIN {print line

    one\nline two\nline three } Intruksi tersebut bertujuan untuk mencetak karakter berkutnyapada baris selanjutnya. Dalam istilah IT hal tersebut sama dengan return.

    Apabila user ingin menggunakan teks editor sebagai media programming, maka source code untuk

    menghasilkan output tersebut yaitu :

    Apabila user menggunakan intruksi printf :

    BEGIN{

    printf(line one\n)

    printf(line two\n")

    printf(line three)

    }

    Atau apabila user menggunakan intruksi print :

    BEGIN{

    print line one

    print line two

    print line three

    }

    Untuk memanggil source tersebut, user dapat mengeksekusi intruksi awk f pada

    terminal.

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    3/13

    2 D4 Teknik Komputer| 7609040007 3

    Analisa

    Dalam percobaan diatas, terdapat pemanfaatan kondisi field (index) yang hendak dicetak. User

    mengeksekusi baris intruksi awk {print $1, $2 } tabel2 Merupakan baris program yang bertujuan

    untuk mencetak record dari file tabel2 dimana setiap record hanya dicetak field 1 dan field 2 saja,

    hal tersebut dalam dimanfaakan penggunaan $1 yang menyatakan field pertama dan $2 yang

    menyatakan field kedua. Penggunaan ekspresi , didalam source tersebut bertujan untuk

    memisahkan data dari field pertama dan field kedua. Dengan memenfaatkan intruksi print, maka

    record tersebut dapat dicetak pada layar terminal

    Analisa

    Dalam percobaan diatas, terdapat pemanfaatan kondisi field (index) yang hendak dicetak. User

    mengeksekusi baris intruksi awk {print $1, $2 } tabel2 Merupakan baris program yang bertujuan

    untuk mencetak record dari file tabel2 dimana setiap record hanya dicetak field 1 dan field 2 saja,

    hal tersebut dalam dimanfaakan penggunaan $1 yang menyatakan field pertama dan $2 yang

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    4/13

    2 D4 Teknik Komputer| 7609040007 4

    menyatakan field kedua. Dari source tersebut tidak terdapat ekspresi untuk memisahkan field

    pertama dan kedua, sehingga ketika user mengeksekusi intruksi tersebut, maka data pada field

    pertama dan kedua akan menyatu (combined)

    Analisa

    Dalam percobaan diatas, merupakan contoh dari implementasi penggunaan intruksi print, dimana

    sebelum mencetak data dari suatu file, dilakukan pencetakkan suatu string terlebih dahulu. Yaitu

    Month Crates dan pada beris selanjutnya berupa string ----- ------

    User mengeksekusi baris intruksi awk {print $1, $2 } tabel2 Merupakan baris program yang

    bertujuan untuk mencetak record dari file tabel2 dimana setiap record hanya dicetak field 1 dan

    field 2 saja, hal tersebut dalam dimanfaakan penggunaan $1 yang menyatakan field pertama dan $2

    yang menyatakan field kedua.

    Dari intruksi print $1, $2, terdapat penggunaan ekspresi , didalam source tersebut bertujan untuk

    memisahkan data dari field pertama dan field kedua. Dengan memenfaatkan intruksi print, maka

    record tersebut dapat dicetak pada layar terminal

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    5/13

    2 D4 Teknik Komputer| 7609040007 5

    AnalisaDari percobaan diatas, user mengeksekusi intruksi awk BEGIN { OFS=";"; ORS="\n\n"} {print$1, $2}

    BBS-listmerupakan intruksi dimana terdapat pendeklarasian nilai dari OFS yang berupa character

    ;, tujuan dari pendelarasian tesebut yaitu untuk pemisah data antara field pertama dan field

    kedua, dimana digunakan tanda atau character ; sebagai pemisah. Setelah itu dilakukan

    pendeklarasian ORS, dimana berupa ekspresi \n\n, ekspresi tersebut berfungsi untuk new line.

    ORS akan dieksekusi ketika akhir dari intruksi print.

    Seperti output yang dihasilkan diatas, langkah dari program ketika dieksekusi, sebagai berikut :

    field1OFSfield2ORS

    dimana

    OFS= ;

    ORS=\n\n

    sehingga akan menjadi

    >field1;field2 (record1)

    >

    >field1;field2 (record2)

    Dan seterusnya sampai suatu data bernilai null

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    6/13

    2 D4 Teknik Komputer| 7609040007 6

    Analisa

    Percobaan diatas bertujuan untuk controlling numeric output dengan menggunakan intruksi print.

    Ketika intruksi print digunakan untuk mencetak nilai numeric, maka akan secara tidak langsung awk

    akan mengkonversikan kedalam format karakter string dan mencetak sebagai string. Awk

    menggunakan intruksi sprint untuk melakukan conversi tersebut.

    Pengguaan variable OFMT secara spesifik akan menambah fasilitas untuk mengkonversi number

    menjadi string untuk kemudian dapat dicetak, dimana intruksi print akan berfungsi seperti intruksi

    sprint.

    Dari baris program diatas didelkarasikan nilai dari variable OFMT=%.0f , deklarasi tersebut

    berfungsi untuk mengkonversi suatu number(bilangan) float ke dalam format integer dikarenakan

    dibelakang tanda titik . Berupa angka 0, hal tersebut menandakan tidak terdapatnya penjabaran

    suatu bilangan ke dalam format float. Sehingga nilai dari number(bilangan) tersebut akan

    dikonversikan ke bilangan integer yang mendekati dari bilangan float asal. Seperti 17.54 akan

    dibulatkab menjadi 18, dan 17.23 akan dibulatkan menjadi 17.

    Sehingga ketika user mengeksekusi intruksi yang berisi number(bilangan) float, maka bilangan

    tersebut akan dikonversi kedalam format integer (bilangan bulat)

    Analisa

    $ awk BEGIN{

    ORS="\nOUCH!\n"; OFS="+"

    msg ="DontPanic!"

    printf "%s\n",msg

    }

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    7/13

    2 D4 Teknik Komputer| 7609040007 7

    Percobaan diatas bertujuan untuk mengimplementasikan penggunaan statemen printf. User

    mendeklarasikan nilai dari variable ORS dengan nilai \nOUCH\n dan nilai dari variable OFS yaitu

    +.

    Kemudian dideklarasikan variable bernama msg, dimana variable tersebut memiliki nilai

    DontPanic!

    Dengan menggunakan intruksi printf untuk melakukan pencetakkan nilai dari variable msg, maka

    akan dihasilkan output berupa nilai dari variable msg.

    Apabila user mengeksekusi intruksi tersebut melalui terminal dengan menggunakan intuksi

    pemanggilan awk maka akan menghilangkan baris data yang berupa

    string OUCH

    w=5

    p=3

    s="abcdefg"

    printf"%*.*s\n",w,p,s

    Analisa

    Dari percobaan diatas, user menggunakan intruksi printf untuk melakukan printing output dengan

    memanfaatkan nilai dari suatu variable, yaitu w,p,dan s. dimana variable tersebut memiliki nilai

    masing-masing.

    w bernilai 5 dan p bernilai 3, sedangkan s berupa string abcdefg.

    Setelah itu terdapat penggunaan intruksi printf %*.*s\n,w,p,s intruksi ini pada umumnya sama

    dengan printf %5.3s\n,s, dikarenakan terdapat redirecting karakter * dengan variable yang

    memiliki data integer

    Program tersebut akan menghasilkan output berupa ..abc dimana terdapat 5(lima) karakter pada

    string yang dicetak, dan terdapat 3 karakter dari variable s, dikarenakan 5.3s

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    8/13

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    9/13

    2 D4 Teknik Komputer| 7609040007 9

    yaitu nama dari masing-masing tabs. Dimana tabs 1 memiliki caption Name sedangkan tabs 2

    memiliki caption Number.

    Dari source tersebut tidak dideklarasikan panjang string dari tabs, sehingga tabs tidak bersesuaian

    dengan data apabila di run.

    Percobaan diatas bertujuan untuk mengimplementasikan penggunaan intruksi printf, dimana

    dilakukan untuk mendapatkan aligned table

    awk{printf"%-10s%s\n",$1,$2}BBS-list baris program tersebut, akan mencetak nama dari bulletin

    boards ($1) dari file BBS-list, dimana berupa string yang terdiri dari 10 character dengan style left-

    justified. Baris tersebut juga akan mencetak phone number ($2) pada baris output yang sama.

    Phone number akan dicetak sebagai string, dikarenakan number tersebut sipisahkan dengan

    character - dash.

    Tidak terlalu penting apabila mendeklarasikan lebar data dari phone number dikarenakan phone

    number akan dicetak diakhir dari setiap baris.

    Analisa

    Percobaan diatas merupakan penambahan suatu string yang akan dicetak pada terminal output,

    yaitu nama dari masing-masing tabs. Dimana tabs 1 memiliki caption Name sedangkan tabs 2

    memiliki caption Number.

    Dalam pencetakan tersebut juga dideklarasikan panjang dari masing-masing tabs, yaitu sepanjang

    10 character. Jadi tabs akan bersesuaian dengan data.

    Percobaan diatas bertujuan untuk mengimplementasikan penggunaan intruksi printf, dimana

    dilakukan untuk mendapatkan aligned table

    awk{printf"%-10s%s\n",$1,$2}BBS-list baris program tersebut, akan mencetak nama dari bulletin

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    10/13

    2 D4 Teknik Komputer| 7609040007 10

    boards ($1) dari file BBS-list, dimana berupa string yang terdiri dari 10 character dengan style left-

    justified. Baris tersebut juga akan mencetak phone number ($2) pada baris output yang sama.

    Phone number akan dicetak sebagai string, dikarenakan number tersebut sipisahkan dengan

    character - dash.

    Tidak terlalu penting apabila mendeklarasikan lebar data dari phone number dikarenakan phone

    number akan dicetak diakhir dari setiap baris.

    Analisa

    Percobaan diatas merupakan penambahan suatu string yang akan dicetak pada terminal output,

    yaitu nama dari masing-masing tabs. Dimana tabs 1 memiliki caption Name sedangkan tabs 2

    memiliki caption Number.

    Dalam pencetakan tersebut juga dideklarasikan panjang dari masing-masing tabs, yaitu sepanjang

    10 character. Jadi tabs akan bersesuaian dengan data.

    Dimana deklarasi untuk kondisi pencetakkan terhadap 10 character disimpan kedalam suatu

    variable yang bernama format terlebihdahulu. Hal tersebut merupakan trik pemrograman untuk

    penyederhanaan dari baris program.

    Percobaan diatas bertujuan untuk mengimplementasikan penggunaan intruksi printf, dimana

    dilakukan untuk mendapatkan aligned table

    awk{printf"%-10s%s\n",$1,$2}BBS-list baris program tersebut, akan mencetak nama dari bulletin

    boards ($1) dari file BBS-list, dimana berupa string yang terdiri dari 10 character dengan style left-

    justified. Baris tersebut juga akan mencetak phone number ($2) pada baris output yang sama.

    Phone number akan dicetak sebagai string, dikarenakan number tersebut sipisahkan dengan

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    11/13

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    12/13

    2 D4 Teknik Komputer| 7609040007 12

    Analisa

    Percobaan diatas bertujuan untuk mengimplementasikan penggunaan pipelining terhadap program

    awk, dimana pipelining bertujuan untuk mengirim output kedalam program yang lain,

    Tipe ini melakukan pembelokan terhadap eksekusi dari intruksi command. Nilai dari redirection

    tersebut, diconvert kedalam format string.

    Dari baris program diatas bertujuan untuk melakukan pembandingan suatu data, antara data yang

    tersortir dan data yang tidak tersortir. Untuk melakukan pengurutan suatu data, dapat meanfaatkan

    command sort. Yang kemudian untuk melakukan hubungan antara awk program dengan command

    system dapat dilakukan dengan memanfaatkan kondisi pipe, seperti source diatas

    Kesimpulan

    1. Penggunaan intruksi printing output bertujuan untuk menghasilkan output pada layar terminal2. Intruksi tersebut dapat digunakan bersamaan dengan pembacaan input dari suatu file3. Apabila user hendak menggunakan intruksi ini dalam teks editor, maka untuk membaca input

    dari suatu file dapat menggunakan intruksi getline yang kemudian untuk menghasilkan output

    pada layar dapat menggunakan inttuksi print atau printf

  • 7/31/2019 AWK Programming 4 - Ahmad Reza Musthafa

    13/13

    2 D4 Teknik Komputer| 7609040007 13

    4. Intruksi print dan printf memiliki karakteristik yang berbeda, dimana intruksi print tidak dapatmencetak nilai dari suatu variable, sedangkan intruksi printf dapat mencetak nilai dari suatu

    variabel