file input diketik dengan nama file nama.txt berisi :
adi 25 10 1988
budi 10 2 2009
ari 12 5 1990
jani 16 12 1987
arif 17 8 1986
ucil 8 9 1984
jane 20 11 1988
jupri 28 8 1987
zaenal 19 7 1989
uki 17 2 1978
mike 17 3 1984
putra 14 1 1987
cabi 5 5 1990
ica 13 6 1988
riza 4 10 1984kemudian untuk script yang digunakan untuk memproses input, seperti dibawah ini.
script disimpan dalam file "kalender1" berisi :
{
#----nama hari------
hari[1] = "minggu"; hari[2] = "senin"; hari[3] = "selasa"; hari[4] = "rabu"; hari[5] = "kamis"; hari[6] = "jumat"; hari[0] = "sabtu";
#----jumlah hari-----
jumhar[0]=0; jumhar[1]=31; jumhar[2]=28; jumhar[3]=31; jumhar[4]=30; jumhar[5]=31; jumhar[6]=30; jumhar[7]=31; jumhar[8]=31; jumhar[9]=30; jumhar[10]=31; jumhar[11]=30; jumhar[12]=31;
#----pasaran-------
pasar[1] = "pahing" ; pasar[2] = "pon"; pasar [3]= "wage"; pasar[4] = "kliwon"; pasar[0] = "legi";
jum = 0
thn= $4-1
x = thn % 4
z = thn /4
if ( x==1 ){
a=z-0.25}
if ( x==2 ){
a=z-0.5}
if ( x==3 ){
a=z-0.75}
thnkab = a*366
thnb = (thn - a)*365
jumhari = thnkab + thnb
if ($4 % 4== 0){
for (i=1; i< $3; i++){
jum += jumhar[i] }
if ( $3 > 2){
tot = jumhari + jum + $2 +1}
else {
tot = jumhari + jum + $2 -1 }
}
else{
for (i = 1; i< $3; i++){
jum += jumhar[i] }
tot = jumhari + jum + $2 -1
}
tothar = tot % 7
totpas = tot % 5
printf ("%-10s %-5d %-5d %-5d %-10s %-10s\n", $1, $2, $3, $4, hari[tothar], pasar[totpas]);
}
widiyanto@widiyanto-laptop:~$ awk -f kalender1 nama.txt
aan 25 10 1988 selasa legi
varid 10 2 2009 selasa pahing
aris 12 5 1990 jumat wage
jayen 16 12 1987 selasa legi
sunio 4 7 1989 minggu legi
ocol 8 9 1984 sabtu pon
akil 20 11 1988 minggu pahing
rizza 28 8 1987 kamis legi
luse 19 7 1989 senin legi
ukih 17 2 1978 kamis pahing
mika 17 3 1984 sabtu pon
virsa 14 1 1987 selasa kliwon
cabyby 5 5 1990 jumat pahing
ical 13 6 1988 senin pahing
vina 4 10 1984 kamis wage
Tidak ada komentar:
Posting Komentar