Buatlah file yang ingin anda ketahui tanggal lahirnya, simpan dengan file lahir.txt, seperti dibawah ini:agus 17 2 1987farid 12 8 1988erik 27 6 1988yoyok 15 4 1987doni 2 11 1988wawan 18 2 1987dimas 17 11 1988sigit 13 12 1989romy 14 7 1988dedi 25 3 1986yopi 3 4 1990yusuf 16 5 1988ahmadi 30 4 1988faruk 27 7 1990evan 19 3 1989dan rumusnya simpanlah di file yang beda dengan nama tanggal.txt{ thn=$4-1; bln=$3-1; thk=thn/4; if(thn%4==1){b=0.25} if(thn%4==2){b=0.50} if(thn%4==3){b=0.75} d=thk-b; thb=thn-d; if(bln==0 && $4%4!=0){a=0} if(bln==1 && $4%4!=0){a=31} if(bln==2 && $4%4!=0){a=59} if(bln==3 && $4%4!=0){a=90} if(bln==4 && $4%4!=0){a=120} if(bln==5 && $4%4!=0){a=151} if(bln==6 && $4%4!=0){a=181} if(bln==7 && $4%4!=0){a=212} if(bln==8 && $4%4!=0){a=243} if(bln==9 && $4%4!=0){a=273} if(bln==10 && $4%4!=0){a=304} if(bln==11 && $4%4!=0){a=334} if(bln==0 && $4%4==0){a=0} if(bln==1 && $4%4==0){a=31} if(bln==2 && $4%4==0){a=60} if(bln==3 && $4%4==0){a=91} if(bln==4 && $4%4==0){a=121} if(bln==5 && $4%4==0){a=152} if(bln==6 && $4%4==0){a=182} if(bln==7 && $4%4==0){a=213} if(bln==8 && $4%4==0){a=244} if(bln==9 && $4%4==0){a=274} if(bln==10 && $4%4==0){a=305} if(bln==11 && $4%4==0){a=335} jum=(thb*365)+(d*366)+a+$2; if(jum%5==1){f="Pahing"} if(jum%5==2){f="Pon"} if(jum%5==3){f="Wage"} if(jum%5==4){f="Kliwon"} if(jum%5==0){f="Legi"} if(jum%7==1){printf("%s %d %d %d Lahir Minggu %s\n",$1,$2,$3,$4,f)} if(jum%7==2){printf("%s %d %d %d Lahir Senin %s\n",$1,$2,$3,$4,f)} if(jum%7==3){printf("%s %d %d %d Lahir Selasa %s\n",$1,$2,$3,$4,f)} if(jum%7==4){printf("%s %d %d %d Lahir Rabu %s\n",$1,$2,$3,$4,f)} if(jum%7==5){printf("%s %d %d %d Lahir Kamis %s\n",$1,$2,$3,$4,f)} if(jum%7==6){printf("%s %d %d %d Lahir Jumat %s\n",$1,$2,$3,$4,f)} if(jum%7==0){printf("%s %d %d %d Lahir Sabtu %s\n",$1,$2,$3,$4,f)} }Setelah selesai, buka terminal anda dan ketikkan program awk anda, seperti berikut:andy@andy-laptop ~:$ awk -f tanggal.txt lahir.txtKemudian output tersebut akan menampilkan kalendernya sebagai berikut :andy@andy-laptop ~:$ awk -f tanggal.txt lahir.txt
Diposting oleh
pego
Jumat, 26 Juni 2009
di
03.15
tugas ke 5 ini menampilkan hari lahir dengan menggunakan program AWKProgram ini untuk menentukan nama hari pada tanggal dengan sistem kalender Georgian. Masukan berupa beberapa tanggal lahir, misalkan yang disimpan dengan file lahir.txt, Contoh input data nama orang :ari 23 9 1989aming 10 2 2009arip 12 5 1990beni 16 12 1987cici 4 7 1989deni 8 9 1984demian 20 11 1988rizuki 28 8 1987limbad 29 6 1989jo 17 2 1978abu 17 3 1984mike 14 1 1987bayu 5 5 1990sonia 13 6 1988zakaria 5 11 1985Kemudian untuk syntax-nya sebagai proses, dengan membuat file dengan nama tanggalan.txt. Syntax :{#-hari-hari[1] = "minggu"; hari[2] = "senin"; hari[3] = "selasa"; hari[4] = "rabu"; hari[5] = "kamis"; hari[6] = "jumat"; hari[0] = "sabtu";#--jumlah--jmlhri[0]=0; jmlhri[1]=31; jmlhri[2]=28; jmlhri[3]=31; jmlhri[4]=30; jmlhri[5]=31; jmlhri[6]=30; jmlhri[7]=31; jmlhri[8]=31; jmlhri[9]=30; jmlhri[10]=31; jmlhri[11]=30; jmlhri[12]=31;jum = 0tahun= $4-1x = tahun % 4z = tahun /4 if ( x==1 ){ a=z-0.25} if ( x==2 ){ a=z-0.5} if ( x==3 ){ a=z-0.75}thnkab = a*366thnb = (thn - a)*365jumhari = thnkab + thnb if ($4 % 4== 0){ for (i=1; i< $3; i++){ jum += jmlhri[i] } if ( $3 > 2){ tot = jumhari + jum + $2 +1} else { tot = jumhari + jum + $2 -1 } } else{ for (i = 1; i< $3; i++){ jum += jmlhri[i] } tot = jumhari + jum + $2 -1 } tothar = tot % 7 printf ("%-10s %-5d %-5d %-5d %-10s\n", $1, $2, $3, $4, hari[tothar]);}
Diposting oleh
pego
Kamis, 25 Juni 2009
di
18.25
Pada tugas 4 yaitu membuat bujur sangkar ajaib dengan menggunakan AWK ini langkah awal buat dahulu file dengan nama ajaib.txt
{ ordo[55,55]; #ordo bujur sangkar
n=$1; #input matriks
X=1; #nilai awal
Y=1; #interval
Z=1; #interval pindah
{ ordo[55,55]; #ordo bujur sangkar
n=$1; #input matriks
X=1; #nilai awal
Y=1; #interval
Z=1; #interval pindah
for(a=0; a<=n+2; a++) #menghitung letak kolom dan baris
{ for(b=0; b<=n+2; b++)
ordo[a,b] = 0;
}
a=1; b=(n+1) / 2;
X-=Y;
for(N=1; N<=n*n;)
{ if(ordo[a,b]==0)
{ X+=Y;
ordo[a,b] = X;
if(a==n) ordo[0,b] = X;
if(b==1) ordo[a,n+1] = X;
if(a==n && b==1 ) ordo[0,n+1] = X;
a--; b++; N++;
if(a==0&&b==n+1) continue;
else
{
if (a==0) a=n;
if(b==n+1) b=1;
}
}
else
{
a+=2;
b-=1;
X=X-Y+Z;
}
}
for(a=1; a<=n; a++)
T1+=ordo[a,n+1-a];
for(a=1; a<=n*5;a++)
printf(" ");
printf("%5d\n\n",T1);
for(a=1;a<=n+1;a++)
{
for(b=1; b<=n; b++)
{
printf("%5d", ordo[a,b]);
ordo[a,n+2] += ordo[a,b];
ordo[n+1,b] += ordo[a,b];
}
T2 += ordo[a,b];
if(a==n+1) ordo[a,n+2] = T2;
printf("%5d\n\n",ordo[a,n+2]);
}
}
Setelah rumus bujur sangkar ajaib diatas dimasukkan dalam dokument ajaib.txt maka dalam terminal bisa di tampilkan dengan menggunakan perintah :
andy@andy-desktop:~$ echo 7 | awk -f ajaib.txt
yang mana Echo 7 ini digunakan untuk membuat sebuat matiks ordo 7x7.Contoh lain misalnya bujur sangkar ajaib ordo 5x5, maka rumus menjadi:
andy@andy-desktop:~$ echo 5 | awk -f ajaib.txt
Hasil untuk sebuah matriks ordo 7x7 seperti dibawah ini :
30 39 48 1 10 19 28 = 175
38 47 7 9 18 27 29 = 175
46 6 8 17 26 35 37 = 175
5 14 16 25 34 36 45 = 175
13 15 24 33 42 44 4 = 175
21 23 32 41 43 3 12 = 175
22 31 40 49 2 11 20 = 175
====================
175 175 175 175 175 175 175
Diposting oleh
pego
Jumat, 19 Juni 2009
di
21.38
Barang | Jumlah | Harga satuan |
---|
CPU | 7 | 5500000 |
---|
Printer | 5 | 1500000 |
---|
Scaner | 8 | 2700000 |
---|
Monitor | 10 | 3500000 |
---|
Hardisk | 6 | 1200000 |
---|
Mouse | 12 | 100000 |
---|
Webcam | 15 | 1000000 |
---|
untuk mencari Harga Barang dan Diskonnya dengan AWK menggunakan rumus Seperti Dibawah ini :awk 'BEGIN{printf "%-10s %-10s %-10s %-10s %-10s %s\n","BARANG","JUMLAH","HARGA SATUAN","TOTAL","DISCOUNT","BAYAR"}{if($2>=5 && $2 <10){printf 4="$2*$3,$5="0.1*$4,$6="$4-$5">
{if($2>=10){printf "%-10s %-10s %-10s %-10s %-10s %s\n", $1,$2,$3,$4=$2*$3,$5=0.2*$4,$6=$4-$5 }}' barang
Diposting oleh
pego
Rabu, 03 Juni 2009
di
00.24