Jumat, 26 Juni 2009

Tugas 6 : Kalender Java

1). Membuat kalender jawa

a). Buatlah sebuah file data nama yang ingin anda ketahui tanggal lahirnya, simpan dengan file nama.txt, seperti berikut:

mobed 17 2 1988
fauzy 12 8 1988
yanuar 27 6 1988
angga 15 4 1987
adit 2 11 1988
dicky 18 2 1988
putra 17 11 1988
bayu 13 12 1988
fina 14 7 1988
widi 25 3 1988
boby 3 4 1990
tyo 16 5 1988
andrey 30 4 1988
sintiya 27 7 1990
diana 19 3 1990

b). Kemuadian buatlah file rumusnya kemudian simpan 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)}
}

c). Setelah selesai, buka terminal anda dan ketikkan program awk anda, seperti berikut:

mobidea@mobidea-laptop ~:$ awk -f tanggal.txt nama.txt

d). Kemudian output tersebut akan menampilkan kalendernya sebagai berikut :

mobidea@mobidea-laptop ~:$ awk -f tanggal.txt nama.txt

mobed 17 2 1988 lahir rabu Kliwon
fauzy 12 8 1988 Lahir Jumat pahing
yanuar 27 6 1988 Lahir Senen Legi
angga 15 4 1987 Lahir Rabu pahing
adit 2 11 1988 Lahir Rabu wage
dicky 18 2 1988 Lahir kamis legi
putra 17 11 1988 Lahir Kamis wage
bayu 13 12 1988 Lahir selasa Kliwon
fina 14 7 1988 Lahir Kamis Pon
widi 25 3 1988 Lahir Jumat Pahing
boby 3 4 1990 Lahir Selasa Legi
tyo 16 5 1988 Lahir senin wage
andrey 30 4 1988 Lahir sabtu Pon
sintiya 27 7 1990 Lahir jumat legi
diana 19 3 1990 senin legi

e). selesai

Kamis, 25 Juni 2009

Tugas 5

1. Mengetahui Hari Kelahiran dengan Kalender menggunakan program awk .
Program ini untuk menentukan nama hari pada tanggal dengan sistem kalender Georgian. Masukan berupa beberapa tanggal lahir teman-teman yang disimpan pada file input.txt. Kemudian output akan menampilkan nama, tanggal dan harinya.

a). Langkah pertama:
Buatlah file dengan nama input.txt seperti berikut :

mobed 17 2 1988
fauzy 12 8 1989
yanuar 27 6 1989
angga 15 4 1987
adit 2 11 1988
dicky 18 2 1989
putra 17 11 1988
bayu 13 12 1988
fina 14 7 1989
widi 25 3 1988
boby 3 4 1989
tyo 16 5 1988
andrey 30 4 1988
sintiya 27 7 1990
diana 19 3 1990

b). Kemudian buat rumus dengan nama kalender.txt seperti berikut :
{
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 Senen"}
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"}
}
c). Setelah selesai compile program tersebut pada terminal dengan cara:

mobidea@mobidea-desktop:~$ awk -f kalender.txt input.txt

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

mobidea@mobidea-desktop:~$ awk -f kalender.txt input.txt
mobed 17 2 1988 Lahir Rabu
angga 15 4 1987 Lahir Rabu
adit 2 11 1988 Lahir Rabu
putra 17 11 1988 Lahir Kamis
bayu 13 12 1988 Lahir Selasa
widi 25 3 1988 Lahir Jumat
tyo 16 5 1988 Lahir Senen
andrey 30 4 1988 Lahir Sabtu
sintiya 27 7 1990 Lahir Jumat
diana 19 3 1990 Lahir Senen