Bahasa Pemrograman &
Perangkat Pengolahan Langsung


TUGAS 5 : kalender georgian

tugas ke 5 ini menampilkan hari lahir dengan menggunakan program AWK
Program 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 1989
aming 10 2 2009
arip 12 5 1990
beni 16 12 1987
cici 4 7 1989
deni 8 9 1984
demian 20 11 1988
rizuki 28 8 1987
limbad 29 6 1989
jo 17 2 1978
abu 17 3 1984
mike 14 1 1987
bayu 5 5 1990
sonia 13 6 1988
zakaria 5 11 1985

Kemudian 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 = 0
tahun= $4-1
x = tahun % 4
z = 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*366
thnb = (thn - a)*365
jumhari = 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]);
}

0 komentar: