Bahasa Pemrograman &
Perangkat Pengolahan Langsung
Diposting oleh pego Jumat, 26 Juni 2009 di 03.15
Diposting oleh pego Kamis, 25 Juni 2009 di 18.25
Diposting oleh pego Jumat, 19 Juni 2009 di 21.38
Barang | Jumlah | Harga satuan |
---|---|---|
CPU | 7 | 5500000 |
Printer | 5 | 1500000 |
Scaner | 8 | 2700000 |
Monitor | 10 | 3500000 |
Hardisk | 6 | 1200000 |
Mouse | 12 | 100000 |
Webcam | 15 | 1000000 |
Diposting oleh pego Rabu, 03 Juni 2009 di 00.24
Diposting oleh pego Rabu, 13 Mei 2009 di 19.03
Diposting oleh pego di 18.47
AWK diimplementasikan atau diluncurkan pada tahun 1977 oleh Al Aho, Peter Weinberger dan Brian Kernigan. Program ini merupakan bagian dari sebuah percobaan untuk bagaimana grep dan sed dapat digeneralisasi dengan angka sebaik dengan teks dengan suatu algoritma yang pendek. Pada tahun 1985 new awk atau awk telah ditambahkan unutk memperbesar fasilitas program dari awk. Pada w awk terdapat feature yaitu user defined function.
Hal – hal yang membedakan awk dengan nawk yaitu :
- Ekspresi yang dinamic, fungsi pengganti dan bentuk matching
- Penambahan funsi dan variable internal
- Operator dan statement – statement baru
- Input dapat lebih dari 1 file
- Dapat mengakses command line argument
- Memberikan pesan error yang lebih detail
Tujuan pemrograman AWK yaitu untuk memberikan UNIX suatu tujuan umum bahasa pemrogramn yang dapat menghandle text (string) semudah mengolah angka – angka. Dan AWK adalah adalah salah satu fasilitas UNIX yang sangat baik untuk melakukan hal tersebut. Area proses AWK yaitu proses berdasarkan baris – baris prosesnya. AWK merupakan suatu standart permograman untuk nawk ( new awk) yang memiliki fasilitas yang lebih besar dari awk program.
Sumber – sumber input pemrograman AWK yaitu :
· File – file : input AWK dapat dari file – file yang kita upload kedalam program untuk dijadikan sebagi input dalamprogram
· redirection (pembelokan) : input – input yang diberikan dapat dialihkan sebagai input yang lain.
· pipes (pipa) : proses pipa dimana output suatu proses akan dijadikan sebagai input untuk proses yang lain
· Standart input : input yang berasal dari keybord sebagai input unutk suatu proses.
Menjalankan program awk
Menjalankan program awk ada beberapa cara yaitu :
- awk ‘program’ input_file(s)
program dan input disediakan sebagai command line argument
- awk ‘program’
input dari standart input
- awk -f program_file_name input_files
program membaca dari sebuah file
AWK sebagai filter
Awk sebagai filter dengan menggunakan metode pipa yaitu input pertama akan diproses akan emnghasilkan output yang pertama output yang pertama ini sebagai filter dengan kapasitas yang terbatas, untuk memfilter kembali maka output yang pertama akan menjadi input yang kedu dari proses fileter yang ledih terinci. Sebagai contoh menampilkan pekerja berdasarkan jumlah gaji yang mereka dapat. Programnya :
awk ‘{ printf(“%6.2f %s\n”, $2 * $3, $0) }’ emp.data | sort
Errors
dalam awk error yang terjadi dalam proses penulisan program, awk dapat mendiagnosa nya dengan memberikan pesan error. Jika menggunakan awk maka error reportnya
awk '$3 == 0 [ print $1 }' emp.data
awk: syntax error near line 1
awk: bailing out near line 1
jika menggunakan nawk
nawk '$3 == 0 [ print $1 }' emp.data
nawk: syntax error at source line 1
context is
$3 == 0 >>> [ <<<
1 extra }
1 extra [
nawk: bailing out at source line 1
1 extra }
1 extra [
Penanganan atau error reportnya nawk lebih detail tentang lokasi error dari pada awk.
Struktur program AWK
Sebuh program awak terdiri dari :
· BEGIN
untuk prioritas eksekusi pembacaan input
· Pattern - action
proses data input, pattern dapat lebih dari satu sehingga dapat sebagai penghubung antar aksi atau perintah yang diberikan. Default pattern cocok unutk setiap recordnya sedangkan action unutk menampilkan record.
· END : proses input data telah berakhir
Seleksi
Pattern awk baik unutk proses seleksi baris yang spesifik dari input atau unutk proses yagn lain. Ada beberapa macan seksi :
q Seleksi dengan perbandingan
u $2 >=5 { print }
q Seleksi dengna perhitungan
u $2 * $3 > 50 { printf(“%6.2f for %s\n”, $2 * $3, $1) }
q Seleksi dari isi teks
u $1 == “Susie”
u /Susie/
q Kombinasi dari pattern
u $2 >= 4 || $3 >= 20
Validasi Data
Validasi data adalah suatu operasi yang umum. Awk adalah yang terbaik dalammelakukan validasi data :
u NF != 3 { print $0, “number of fields not equal to 3” }
u $2 <>
u $2 > 10 { print $0, “rate exceeds $10 per hour” }
u $3 <>
u $3 > 60 { print $0, “too many hours worked” }
Regular Expression in AWK
Pada dasarnya regular expression di awk sama dengan yagn kit gunakan. Dintarnya regular expression di awk yaitu :
u ^ $ - memulai/akhir dari field
u . – terdapat karakter
u [abcd] – klas karakter
u [^abcd] – negasi kelas karakter
u [a-z] – karakter range
u (regex1|regex2) – alternatif/pembelokan
u * - zero or more occurrences of preceding expression
u + - one or more occurrences of preceding expression
u ? - zero or one occurrence of preceding expression
u NOTE: the min max {m, n} or variations {m}, {m,} syntax is NOT supported
Variabel – variabel dalam AWK
dalam awk terdapat variabel – variabel default dari awk yaitu :
q NR – membaca jumlah record
q FNR – membaca jumlah record file yang sedang digunakan
q NF - Number of fields in current record
q FILENAME – nama dari input file
q FS - Field separator, space or TAB by default
q OFS - Output field separator, space by default
q ARGC/ARGV - Argument Count, Argument Value array
Array
Dalam awk terdapat array unutk menyimpan data yang memiliki nilai yang sama atau berhubungan. Format array dalam awk :
# reverse - print input in reverse order by line
{ line[NR] = $0 } # remember each line
END { i = NR # print lines in reverse order
while (i > 0) {
print line[i]
i = i - 1
}
}
Operator
operator dalam awak sama dengan operator dalm pemrograman pada umumnya yaitu terdiri dari operator logika dan aritmatikan biasa :
q = assignment operator; sets a variable equal to a value or string
q == equality operator; returns TRUE is both sides are equal
q != inverse equality operator
q && logical AND
q || logical OR
q ! logical NOT
q <, >, <=, >= relational operators
q +, -, /, *, %, ^
q String concatenation
Control Flow Statement
Dalam awk control flow atau looping sama dengan bahasa pemrogram yang lain yaitu terdapat if – else, do-while,for:
Ø If-Else
if (expression is true or non-zero){
statement1
}
else {
statement2
}
Ø While
while (expression is true or non-zero) {
statement1
}
Ø For
for(expression1; expression2; expression3) {
statement1
}
u This has the same effect as:
expression1
while (expression2) {
statement1
expression3
}
u for(;;) is an infinite loop
Ø Do While
do {
statement1
}
Diposting oleh pego Rabu, 25 Maret 2009 di 15.40
Diposting oleh pego Selasa, 17 Maret 2009 di 05.45