Kamis, 25 Juni 2009

Kalender Pasaran Hari

buat file berisi nama tangal bulan tahun lahir seperti dibawah ini

Bayu 20 9 1989
Finna 10 12 2009
Samudra 8 5 1990
Bedu 23 12 1980
Cruz 1 1 1989
Julio 2 8 1974
Ricardo 29 1 1968
Kaka' 28 8 1957
Udin 19 7 1986
ukie 21 8 1999
Dimas 22 3 1984
Sandra 14 1 1997
Gogon 21 5 2000
Bical 19 6 2010
Bocel 1 6 1980

lalu buat rumusan program seperti dibawah ini:
{
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");

}
}
}
lalu jalankan program seperti dibawah ini
$ awk -f kalender1 nama.txt

Rabu, 24 Juni 2009

Kalender Georgian

Buatlah File yang berisi seperti dibawah ini untuk memasukkan rumus dan dapat mengakses programnya:

{
hari[1] = "minggu"; hari[2] = "senin"; hari[3] = "selasa"; hari[4] = "rabu"; hari[5] = "kamis"; hari[6] = "jumat"; hari[0] = "sabtu";
#----jumlah hari perbulan-----
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}
thnkabst = a*366
thnb = (thn - a)*365
jumhari = thnkabst + 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
}

totalhar = tot % 7

printf ("%-10s %-5d %-5d %-5d %-10s\n", $1, $2, $3, $4, hari[totalhar]);
}


lalu buatlah file berisi nama dan tanggal lahirnya seperti dibawah ini ok:
Bayu 20 9 1989
Finna 10 12 2009
Samudra 8 5 1990
Bedu 23 12 1980
Cruz 1 1 1989
Julio 2 8 1974
Ricardo 29 1 1968
Kaka' 28 8 1957
Udin 19 7 1986
ukie 21 8 1999
Dimas 22 3 1984
Sandra 14 1 1997
Gogon 21 5 2000
Bical 19 6 2010
Bocel 1 6 1980

lalu eksekusi program dengan seperti dibawah ini ok:
bayu@bayu-laptop:~$ awk -f kalender1 nama.txt

semoga program ini bermanfaat Amin...

Minggu, 21 Juni 2009

TUGAS 4

buat file berisi:

{ ordo[55,55];
n=$1;
K=1;
L=1;
M=1;

for(a=0; a<=n+2; a++) { for(b=0; b<=n+2; b++) ordo[a,b] = 0; } a=1; b=(n+1) / 2; K-=L; for(N=1; N<=n*n;) { if(ordo[a,b]==0) { K+=L; ordo[a,b] = K; if(a==n) ordo[0,b] = K; if(b==1) ordo[a,n+1] = K; if(a==n && b==1 ) ordo[0,n+1] = K; 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; K=K-L+M; } } 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]); } }


kemudian panggil:

echo 7 | awk -f bujursangkar.txt

Sehingga hasil yang ditampilkan adalah :

30 39 48 1 10 19 28

38 47 7 9 18 27 29

46 6 8 17 26 35 37

5 14 16 25 34 36 45

13 15 24 33 42 44 4

21 23 32 41 43 3 12

22 31 40 49 2 11 20

jumlah semuanya adalah 175

Senin, 01 Juni 2009

TUGAS 3

MENGHITUNG HARGA BARANG SERTA DISKONNYA

Buat File bernama "daftar 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="0.1*$4,$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 }}' daftar harga

Rabu, 13 Mei 2009

Menampilkan Bilangan Prima Dengan Array (2-100)

$ ls -l | awk 'BEGIN {bil[100];}
END {for (i=2;i<=97;i++ ){
if(i%i==0 && i%2!=0 && i%3!=0 && i%4=0 && i%5!=0 && i%6!=0 && i%7!=0 && i%8!=0 &&
i%9!=0 || i==2 || i==3 || i==5 || i==7) {print bil[i],i;}}}'

Hasilnya adalah
2
3
5
7
11
-
-
-
97

Menampilkan Kriteria Nilai dan Nilai IPS

buat file contoh seperti dibawah ini dan beri nama filenya nilai

No Nama MalKul SKS Tugas UTS UAS
1. a RTOS 3 80 84 90
2. a AWK 6 70 95 80
3. a Matem 2 90 92 76
4. a bing 2 92 75 100

program menampilkan nilai IPS

awk' { nilairata=0; nilairata=($5+$6+$7)/3}
{{if(81<=nilairata && nilairata<=100){print $1,$2, $3,$4,$5,$6,$7,nilairata, "A", $8= 4*$2}}
{{if(71<=nilairata && nilairata<=80){print $1,$2, $3,$4,$5,$6,$7,nilairata, "B", $8= 3*$2}}
{{if(61<=nilairata && nilairata<=70){print $1,$2, $3,$4,$5,$6,$7,nilairata, "C", $8= 2*$2}}
{{if(51<=nilairata&& nilairata<=60){print $1,$2, $3,$4,$5,$6,$7,nilairata, "D", $8= 1*$2}}
{{if(0<=nilairata && nilairata<=50){print $1,$2, $3,$4,$5,$6,$7,nilairata, "E", $8= 0*$2}}
BEGIN {SKS=0}
{SKS=SKS+$4}
END { print "Total SKS= ", SKS}
BEGIN { Total=0 }
{Total=Total+$8}
END{print " Nilai total = ", Total}
BEGIN { IPS =0 }
{ IPS=Total/SKS}
END {print " IPS=", IPS}' nilai

Selasa, 24 Maret 2009

Mengelompokkan nilai

awk '{if(81<=$2&&$2<=100) { print $1,$2,"A"}} {if(71<=$2&&$2<=80) { print $1,$2,"B"}} {if(61<=$2&&$2<=70) { print $1,$2,"C" }} {if(41<=$2&&$2<=60) { print $1,$2,"D"}} {if(0<=$2&&$2<=40) { print $1,$2,"E"}}' nilai.txt