Rabu, 24 Juni 2009

Membuat Kalender Jawa dengan Menggunakan AWK

Buatlah file lahir.txt dan isi sebagai berikut :

Amrozy 19 1 1976
Muklas 12 8 1977
Ghufron 17 2 1967
Aziz 27 6 1965
Samudra 15 4 1971
Abu 2 11 1970
Dujana 18 2 1970
Imron 17 11 1978
Azhari 13 12 1980
Abdul 14 7 1977


b). Kemudian buat rumus dengan nama kalender.txt seperti berikut :
{
nm=$1;
tgl=$2;
bln=$3;bln1=int(bln)
tahun=$4;
if (bln1<=12&&bln1!=0)
{
thn=tahun-1;
thk=thn/4;
thb=thn-int(thk);
jumth=tahun%4;
bulan=bln-1;
if (jumth==0){
if(bulan==0)
i=31;
if(bulan==1)
i=62;
if(bulan==2)
i=91;
if(bulan==3)
i=122;
if(bulan==4)
i=152;
if(bulan==5)
i=183;
if(bulan==6)
i=213;
if(bulan==7)
i=244;
if(bulan==8)
i=275;
if(bulan==9)
i=305;
if(bulan==10)
i=336;
if(bulan==11)
i=366;
}
else

{
if(bulan==0)
i=31;
if(bulan==1)
i=62;
if(bulan==2)
i=90;
if(bulan==3)
i=121;
if(bulan==4)
i=151;
if(bulan==5)
i=182;
if(bulan==6)
i=212;
if(bulan==7)
i=243;
if(bulan==8)
i=274;
if(bulan==9)
i=304;
if(bulan==10)
i=335;
if(bulan==11)
i=365;
}
kab=366*int(thk);
br=365*thb;
tothar=(kab)+(br)+i+tgl;
hr=tothar%7;

printf(nm);
{
if(hr==0)
printf("\t\tHari = RABU\n");
else if(hr==1)
printf("\t\tHari = KAMIS\n");
else if(hr==2)
printf("\t\tHari = JUM'AT\n");
else if(hr==3)
printf("\t\tHari = SABTU\n");
else if(hr==4)
printf("\t\tHari = MINGGU\n");
else if(hr==5)
printf("\t\tHari = SENIN\n");
else
printf("\t\tHari = SELASA\n");
}
psr=tothar%5;{
if(psr==0)
printf("\t\tPasaran = KLIWON\n");
else if(psr==1)
printf("\t\tPasaran = LEGI\n");
else if(psr==2)
printf("\t\tPasaran = PAHING\n");
else if(psr==3)
printf("\t\tPasaran = PON\n");
else
printf("\t\tPasaran = WAGE\n");

}
}
}
c). Setelah selesai compile program tersebut pada terminal dengan cara:

daus@daus-desktop:~$ awk -f kalender.txt lahir.txt

d). Maka output program di terminal tersebut adalah sebagai berikut:

daus@daus-desktop:~$ awk -f kalender.txt lahir.txt

Amrozy Hari = SENIN
Pasaran = PON
Muklas Hari = JUM'AT
Pasaran = WAGE
Ghufron Hari = JUM'AT
Pasaran = KLIWON
Aziz Hari = MINGGU
Pasaran = KLIWON
Samudra Hari = KAMIS
Pasaran = PON
Abu Hari = SENIN
Pasaran = WAGE
Dujan Hari = RABU
Pasaran = PAHING
Imron Hari = JUM'AT
Pasaran = LEGI
Azhari Hari = SABTU
Pasaran = PON
Abdul Hari = KAMIS
Pasaran = KLIWON

Tidak ada komentar:

Posting Komentar