Rabu, 13 Mei 2009

Bilangan Prima dengan AWK

Pada Progam bawah ini adalah program untuk "Menampilkan Bilangan Prima dengan bahasa pemrogaman AWK", dan program yang kita gunakan dengan menggunakan fungsi assosiative array, seperti pada contoh program dibawah ini :

$ ls -l | awk 'BEGIN {
Bilangan[100];
}
END {
for (i=2;i<=97;i++ ){ if(i%i==0 && i%2!=0 && i%3!=0 && i%4=0 && i%5!=0 && i%6!=0 && i%7!=0 && i%8!=0 && i%9!=0 || i==3 || i==5 || i==7|| i==2) {print Bilangan[i],i;} } }'

program di atas akan menampilkan bilangan prima antara 2 sampai dengan 100

Program Menghitung Nilai IPS

Pada program di bawah ini adalah contoh program AWK yang digunakan untuk menghitung nilai IP Sementara ( IPS ).
Contoh program menggunakan AWK :

awk' { NA=0; NA=($5+$6+$7)/3}
{{if(81<=NA && NA<=100){print $1,$2, $3,$4,$5,$6,$7,NA, "A", $8= 4*$2}}
{{if(71<=NA && NA<=80){print $1,$2, $3,$4,$5,$6,$7,NA, "A", $8= 3*$2}}
{{if(61<=NA && NA<=70){print $1,$2, $3,$4,$5,$6,$7,NA, "A", $8= 2*$2}}
{{if(51<=NA && NA<=60){print $1,$2, $3,$4,$5,$6,$7,NA, "A", $8= 1*$2}}
{{if(0<=NA && NA<=50){print $1,$2, $3,$4,$5,$6,$7,NA, "A", $8= 0*$2}}
BEGIN {jumlah=0}
{jumlah=jumlah+$4}
END { print "Jumlah SKS = ", jumlah}
BEGIN { NT=0 }
{NT=NT+$8}
END{print " Total Nilai = ", NT}
BEGIN { IPS =0 }
{ IPK=NT/jumlah}
END {print " IPS = ", IPS}' nilai

Nilai yang dimaksud pada program di atas adalah file yang berisi data awal sebelum data tersebut diproses oleh program.

No-Nama-Mata Kuliah-Jumlah SKS-Nilai Tugas-Nilai UTS-Nilai UAS

1. Andik AWK 3 70 80 65

2. Anita Inggris 3 65 70 75

3. Rudi ARKOM 6 75 65 80

4. Sulistiowati OS 3 65 80 85

5. Anggi Matematika 2 70 70 80

6. Bunga Embedded 3 65 75 75

Tabel di atas, disimpan pada file dengan nama nilai. Nama file ini sesuai dengan user, sehingga dalam program tinggal memanggil file tersebut.