Sabtu, 27 Juni 2009

Kalender Jawa

Sebuah kalender jawa juga dapat dibuat dengan Bahasa AWK ini. Untuk membuatnya, kita memerlukan sebuah file yang berisikan data ( input ) yang akan di proses. Misalnya saja nama.txt. Kemudian, untuk programnya, kita taruh pada file yang berbeda. Misalnya saja file bernama Kalender. File ini berisi program untuk menanpilkan pasaran tersebut, yaitu :

{

#----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]);
}

Setelah itu, kita tinggal memberikan perintah pada jendela terminal. Yaitu :

awk -f Kalender nama.txt

Pada output yang dihasilkan akan berupa input pada file nama.txt beserta pasaran masing-masing.

Tidak ada komentar:

Posting Komentar