pada tugas 5 membuat kalender georgian dengan menggunakan script awk. untuk membuat scrip untuk kalender, pertama buat file sebagai input dengan menyimpan file dengan "nama.txt" dengan contains :
adi 25 10 1988
budi 10 2 2009
ari 12 5 1990
jani 16 12 1987
arif 4 7 1989
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 scriptnya sebagai pemrose input, menyimpan script dengan nama file "kalender1" dengan contains:
{
#----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;
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]);
}
untuk menjalankan scriptnya maka pada terminal diketikan :
awk -f kalender1 nama.txt
maka hasil dari eksekusi tersebut :
widiyanto@widiyanto-laptop:~$ awk -f kalender1 nama.txt
adi 25 10 1988 selasa
budi 10 2 2009 selasa
ari 12 5 1990 jumat
jani 16 12 1987 selasa
arif 4 7 1989 minggu
ucil 8 9 1984 sabtu
jane 20 11 1988 minggu
jupri 28 8 1987 kamis
zaenal 19 7 1989 senin
uki 17 2 1978 kamis
mike 17 3 1984 sabtu
putra 14 1 1987 selasa
cabi 5 5 1990 jumat
ica 13 6 1988 senin
riza 4 10 1984 kamis
semangat untuk mencobanya
adi 25 10 1988
budi 10 2 2009
ari 12 5 1990
jani 16 12 1987
arif 4 7 1989
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 scriptnya sebagai pemrose input, menyimpan script dengan nama file "kalender1" dengan contains:
{
#----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;
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]);
}
untuk menjalankan scriptnya maka pada terminal diketikan :
awk -f kalender1 nama.txt
maka hasil dari eksekusi tersebut :
widiyanto@widiyanto-laptop:~$ awk -f kalender1 nama.txt
adi 25 10 1988 selasa
budi 10 2 2009 selasa
ari 12 5 1990 jumat
jani 16 12 1987 selasa
arif 4 7 1989 minggu
ucil 8 9 1984 sabtu
jane 20 11 1988 minggu
jupri 28 8 1987 kamis
zaenal 19 7 1989 senin
uki 17 2 1978 kamis
mike 17 3 1984 sabtu
putra 14 1 1987 selasa
cabi 5 5 1990 jumat
ica 13 6 1988 senin
riza 4 10 1984 kamis
semangat untuk mencobanya
Tidak ada komentar:
Posting Komentar