Kamis, 25 Juni 2009

KaLEnDer JawA

Buat deep.txt :

Ilham 11 3 1990
Chyntia 19 8 1989
Inyonk 3 11 1989
Way 27 9 1989
Damn 19 7 1989
Willy 9 2 1989
Sukma 12 5 1988
Ferry 10 4 1990
Yumi 11 2 1990
Rendy 10 1 1987
Wendy 17 9 1989
Lena 11 8 1990
Susi 16 6 1990
Bimo 28 10 1990
Tigor 18 6 1989

Buat score.txt :

{
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");

}
}
}

Di terminal, ketik :

$ awk -f score.txt deep.txt

maka akan muncul :

Ilham Hari = MINGGU
Pasaran = PON
Chyntia Hari = SABTU
Pasaran = WAGE
Inyonk Hari = JUM'AT
Pasaran = KLIWON
Way Hari = RABU
Pasaran = PON
Damn Hari = RABU
Pasaran = PON
Willy Hari = KAMIS
Pasaran = PON
Sukma Hari = KAMIS
Pasaran = KLIWON
Ferry Hari = SELASA
Pasaran = PON
Yumi Hari = MINGGU
Pasaran = KLIWON
Rendy Hari = SABTU
Pasaran = PAHING
Wendy Hari = MINGGU
Pasaran = PON
Lena Hari = SABTU
Pasaran = LEGI
Susi Hari = SABTU
Pasaran = KLIWON
Bimo Hari = MINGGU
Pasaran = WAGE
Tigor Hari = MINGGU
Pasaran = PAHING

Rabu, 24 Juni 2009

Kalender Gregorian

Buatlah file dengan nama lahir.txt :

adi 42 5 1989
mega 21 3 1990
ridho 18 2 1989
wendy 15 10 1989
toni 27 12 1987
dika 18 6 1990
hera 10 12 1989
vonny 13 2 1989

Tuliskan rumus berikut dengan nama input.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%7==1){print $0," ","Lahir Minggu"}
if(jum%7==2){print $0," ","Lahir Senin"}
if(jum%7==3){print $0," ","Lahir Selasa"}
if(jum%7==4){print $0," ","Lahir Rabu"}
if(jum%7==5){print $0," ","Lahir Kamis"}
if(jum%7==6){print $0," ","Lahir Jumat"}
if(jum%7==0){print $0," ","Lahir Sabtu"}
}

Masukkan instruksi berikut :
iam@iam-desktop:~$ awk -f input.txt lahir.txt

4. Outputnya :
yodie 12 3 1988 Lahir Sabtu
ridho 27 5 1989 Lahir Sabtu
angga 17 7 1989 Lahir Senin
inyonk 5 9 1987 Lahir Selasa
tyo 2 10 1988 Lahir Minggu
komting 8 4 1989 Lahir Rabu
andik 7 11 1988 Lahir Kamis
ilham 23 12 1988 Lahir Senin

Kamis, 18 Juni 2009

Bujur Sangkar

buatllah file dengan nama bsang.txt

{ 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 selesai, lakukan rumus awk pada terminal seperti berikut:

iam@iam-desktop:~$ echo 7 | awk -f bsang.txt

Echo 7 untuk membuat persegi matriks ordo 7, bila kita ingin membuat yang lain, misalnya ;

iam@iam-desktop:~$ echo 4 | awk -f bsang.txt

Hasil sari instruksi echo 7 ialah seperti berikut:

30 39 48 01 10 19 28
38 47 07 09 18 27 29
46 06 08 17 26 36 37
05 14 16 25 34 36 45
13 15 24 33 42 44 04
21 23 32 41 43 03 12
22 31 40 49 02 11 20

Selasa, 02 Juni 2009

Buat File bernama harga dan isi seperti dibawah ini :

BarangJumlahHarga satuan
CPU75500000
Printer51500000
Scaner82700000
Monitor103500000
Hardisk61200000
Mouse12100000
Webcam151000000


setelah itu masukkan scrip awk dibawah ini :

awk 'BEGIN{printf "%-10s %-10s %-10s %-10s %-10s %s\n",
"BARANG","JUMLAH","HARGA SATUAN","TOTAL","DISKON",
"BAYAR"}
{if($2>=5 && $2 <10){printf 4="$2*$3,$5=" 6="$4-$5">=10){printf "%-10s %-10s %-10s %-10s %-10s %s\n", $1,$2,$3,$4=$2*$3,$5=0.2*$4,$6=$4-$5 }}' harga