Rabu, 13 Mei 2009

Menentukan NILAI IPS

Pada pertemuan ini, kita akan membuat suatu program yang bertujuan untuk menghitung nilai IP Sementara dengan menggunakan AWK. Untuk contoh program dapat dilihat seperti di bawah ini :

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, "B", $8= 3*$2}}
{{if(61<=NA && NA<=70){print $1,$2, $3,$4,$5,$6,$7,NA, "C", $8= 2*$2}}
{{if(51<=NA && NA<=60){print $1,$2, $3,$4,$5,$6,$7,NA, "D", $8= 1*$2}}
{{if(0<=NA && NA<=50){print $1,$2, $3,$4,$5,$6,$7,NA, "E", $8= 0*$2}}
BEGIN {jumlah=0}
{jumlah=jumlah+$4}
END { print "Jumlah SKS= ", jumlah}
BEGIN { NT=0 }
{NT=NT+$8}
END{print " Nilai total = ", NT}
BEGIN { IPS =0 }
{ IPK=NT/jumlah}
END {print " IP Sementara=", IPS}' nilai

Nilai yang dimaksud merupakan file yang berisi data-data awal sebelum data tersebut terproses oleh program.

No. Nama Mata Kuliah Jumlah SKS Nilai Tugas Nilai UTS Nilai UAS
1. Randy AWK 3 70 80 75
2. Randy Rangkaian 6 80 89 88
3. Randy OS 3 55 90 67
4. Randy B.Inggris 2 80 80 89
5. Randy Matematika 3 3 75 82 80


Tabel di atas, kita simpan pada file yang diberi nama nilai. Nama file ini sesuai dengan user. sehingga dalam program kita tinggal memanggil file ini.

Bilangan Prima

Untuk menampilkan suatu bilangan prima dalam AWK, kita dapat menggunakan aturan assosiative array. seperti pada contoh program AWK di bawah ini :

$ ls -l | awk 'BEGIN {
Bil[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 Bil[i],i;} } }'

Apabila program tersebut dijalankan pada terminal, maka output yang dihasilkan adalah bilangan prima dimulai dari 2 hingga 100.