Seperti biasa kita buat file yang akan kita jadikan input, yakni berupa nama, tanggal lahir. Seperti contoh berikut:
jaka | 1 | 4 | 1989 |
candra | 19 | 6 | 1990 |
yusi | 3 | 2 | 1988 |
yayuk | 2 | 9 | 1987 |
irna | 23 | 7 | 1990 |
tantri | 8 | 9 | 1990 |
budi | 20 | 11 | 1988 |
fita | 28 | 12 | 1987 |
yoga | 19 | 1 | 1989 |
purna | 17 | 7 | 1989 |
adit | 17 | 10 | 1984 |
ahsan | 9 | 3 | 1988 |
sugeng | 7 | 8 | 1990 |
eko | 3 | 5 | 1988 |
endika | 14 | 1 | 1989 |
simpan sebagai input.dat
{
hari[1] = "Minggu"; hari[2] = "Senin"; hari[3] = "Selasa"; hari[4] = "Rabu"; hari[5] = "Kamis"; hari[6] = "Jumat"; hari[0] = "Sabtu";
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;
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 printf ("%-10s %-5d %-5d %-5d %-10s\n", $1, $2, $3, $4, hari[tothar]); }
Simpan file tadi dengan nama formula.awk, kemudian kita jalankan!
# awk -f formula.awk input.dat hasilnya..
jaka | 1 | 4 | 1989 | Jumat |
candra | 19 | 6 | 1990 | Senin |
yusi | 3 | 2 | 1988 | Selasa |
yayuk | 2 | 9 | 1987 | Selasa |
irna | 23 | 7 | 1990 | Minggu |
tantri | 8 | 9 | 1990 | Jumat |
budi | 20 | 11 | 1988 | Minggu |
fita | 28 | 12 | 1987 | Minggu |
yoga | 19 | 1 | 1989 | Selasa |
purna | 17 | 7 | 1989 | Sabtu |
adit | 17 | 10 | 1984 | Rabu |
ahsan | 9 | 3 | 1988 | Rabu |
sugeng | 7 | 8 | 1990 | Senin |
eko | 3 | 5 | 1988 | Selasa |
endika | 14 | 1 | 1989 | Kamis |
fin..!
Tidak ada komentar:
Posting Komentar