Sabtu, 27 Juni 2009

TUGAS 6 : Kalender JAWA

pada tugas 6 yaitu membuat kalender dengan menampilkan hari dan pasaran jwa. pada tugas ini tidaak jauh berbeda dengan tugas lima untuk menampilkan hari. yang membedakan hanya julah array dari pasaran jawa yang hanya memiliki 5 hari pasaran. sehingga hanya berbeda dalam penentuannya. lebih lengkap seperti di bawah ini :
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 1984

kemudian 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]);

}


program dijalankan dengan mengetikkan perintah dibawah ini pada terminal :

awk -f kalender1 nama.txt



hasilnya :

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