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

Rabu, 13 Mei 2009

MENCARI BILANGAN PRIMA

Untuk menampilkan bilangan prima 2 - 100, digunakan program sebagai berikut :

$ 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==3 || i==5 || i==7|| i==2) {print Bil[i],i;} } }'

Menentukan Nilai IPS

Untuk mencari Indeks Prestasi Sementara, kita dapat mencarinya dengan program berikut :

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

Data misalnya :
No. Nama Mata Kuliah Jumlah SKS Nilai Tugas Nilai UTS Nilai UAS
1. Wendy AWK 3 77 83 71
2. Wendy Rangkaian 6 81 83 89
3. Wendy OS 3 57 91 57
4. Wendy B.Inggris 2 80 86 83
5. Wendy Matematika 3 3 77 81 87

Rabu, 18 Maret 2009

Sekilas AWK

DEFINISI

AWK adalah bahasa pemrograman untuk memanipulasi data secara bersama hanya dengan program yang singkat karena bahasa AWK tidak memerlukan suatu deklarasi untuk variabel. AWK akan menangani input, pemisahan field, initialisasi, dan manajemen memori secara otomatis.
Seiring berjalannya waktu, bahasa AWK semakin kuat dengan munculnya GAWK dan NAWK.

Beberapa fitur tambahan pada NAWK adalah sebagai berikut :
• Ekspresi reguler dinamik
• Fungsi additional built-in dan variabel
• Operator baru and statement
• Input lebih dari 1 files
• Akses ke argumen baris perintah
• Mengubah pesan error


STRUKTUR AWK

• BEGIN segment ( optional )
• Pattern-action pairs ( inputing data )
• END segment ( optional )


STRUKTUR PATTERN - ACTIONS

• Pattern terdaftar secara singkat, sedangkan actions diawali dan diakhiri oleh {}.


CARA MENJALANKAN AWK

• AWK ‘program’ input_file(s) : program dan input merupakan perintah.
• AWK ‘program’ : program bertindak sebagai perintah, input berasal dari standart input.
• AWK –f program_file_name input_files : program dibaca dari suatu file.


PENYIMPAN OUTPUT AWK

• Lining Up Fields ( printf=untuk menghasilkan output terformat )


OUTPUT SEDERHANA AWK

• Dapat menampilkan number of field ( NF )
• Dapat melakukan perhitungan pada nilai field dan menampilkannya sebagai output.
• Dapat menampilkan line numbers yang kita inginkan ( NR )
• Dapat menambahkan text pada output.
• Dapat menampilkan output seluruh line apabila tidak terdapat pattern.
• Dapat menampilkan multiple items dengan 1 print statement.

Sejarah dan Perkembangan Bahasa Pemrograman Sejarah bahasa Pemrograman

Saat ini Anda dapat merasakan kemudahan dan memanfaatkan komputer karena
sudah didukung oleh sistem operasi dan software yang mudah digunakan, user-friendly.
Demikian juga dengan game yang kini semakin mengasyikkan untuk dimainkan. Namun,
pernahkah Anda membayangkan bagaimana jerih payah para programer dalam
membuatnya? Dalam membuat software , seorang programer berbekal logika dan konsep
yang dia miliki, harus membuat alur logika (skema) dari software yang akan dia buat.
Misalnya, mau seperti apa software yang dia buat, apa saja kemampuan yang dia miliki,
dan beragam faktor lainnya.
Kemudian, dengan sebuah bahasa pemrograman, dia akan berusaha menyusun
pernyataan-pernyataan yang dapat dimengerti dan dijalankan oleh prosesor untuk
menghasilkan sebuah output. Semakin “pintar” software yang dia buat, maka semakin
rumit dan panjang pernyataan/perintah yang harus dia buat dalam bahasa pemrograman.
Bersyukurlah kita dengan perkembangan bahasa pemrograman saat ini, yang sudah
didukung dengan bahasa pemrograman object-oriented. Seorang programer lebih
dipermudah dalam membuat pernyataan/perintah,sehingga dia dapat lebih memikirkan
bagaimana membuat software yang dia buat semakin komplet dan pintar. Kondisi itu
berbeda dengan zaman dahulu. Kala itu, komputer dijalankan dengan pemrograman
manual, yang menggunakan instruksi binary dan hex.
Untuk membuat dan menjalankan program tersebut, dibutuhkan waktu yang lama
dan sering dijumpai banyak kesalahan. Program kemudian menjadi sangat sulit untuk
dibaca dan dimodifikasi. Saking susah dan rumitnya, pada saat itu tidak banyak orang
yang tertarik untuk menjadi programer komputer. Jadi, hanya segelintir orang yang
menekuninya. Ini diperparah lagi dengan masih mahalnya harga komputer kala itu.
Bayangkan, sebuah software harganya bisa mencapai dua sampai empat kali harga
komputer. Ampun deh!
Fenomena itulah yang kemudian memacu orang membuat bahasa pemrograman
yang semakin mudah digunakan. Maka, sejak tahun 1957 terus dikembangkan dan
bermunculan berbagai bahasa pemrograman. Tidak kurang 150 bahasa pemrograman
dirilis sejak tahun 1957 sampai sekarang.
Generasi Bahasa Pemrograman
Pada industri komputer dikenal pembagian generasi, yang menandai sebuah
evolusi dalam perkembangan bahasa pemrograman.
First-Generation Language (1GL) adalah bahasa mesin atau level instruksi dan
data, yang diberikan kepada prosesor agar dapat bekerja. Pada komputer konvensional
terdiri dari deretan angka0 dan 1.
Second-Generation Language (2GL) adalah bahasa pemrograman assembler
(orang juga mengenalnya sebagai bahasa assembly). Pada bahasa perograman generasi

kedua ini assembler mengubah pernyataan bahasa pemrograman ke bahasa mesin.

Third-Generation Language (3GL) merupakan bahasa pemrograman yang masuk
dalam generasi ketiga. Ini adalah bahasa pemrograman tingkat tinggi, seperti PL/1, C,
atau Java. Untuk dapat menggunakan bahasa pemrograman ini, dibutuhkan pengetahuan
dan penguasaan terhadap bahasa pemrograman itu sendiri. Dalam bahasa pemrograman,
sebuah compiler akan mengubah pernyataan yang dibuat oleh bahasa pemrograman ke
bahasa mesin. Misal pada bahasa pemrograman Java, diperoleh output yang disebut
bytecode. Output ini kemudian akan diubah ke bahasa mesin oleh Java Virtual Machine.
Fourth-Generation Language (4GL) adalah bahasa pemrograman yang didesain
lebih “natural”, sehingga makin mudah digunakan. Pada generasi keempat ini, bahasa
pemrograman sudah dapat digunakan untuk mengakses sebuah data base.
Fifth-Generation Language (5GL) adalah bahasa pemrograman yang
menggunakan interface pengembangan visual atau grafik untuk membuat bahasa
sumbernya, yang biasanya di-compile dengan compiler 3GL atau 4GL. Microsoft,
Borland, IBM dan perusahaan lain memroduksi pemrograman visual 5GL, contohnya
untuk pengembangan aplikasi Java. Pemrograman visual memungkinkan Anda untuk
membayangkan dengan mudah hirarki dari kelas pemrograman yang berorientasi obyek,
dan men-drag ikon-ikon untuk menyusun komponen program.
Perkembangan
Perkembangan bahasa pemrograman dimulai pada tahun 1949 dengan hadirnya
Short Code, bahasa pemrograman komputer pertama yang digunakan dalam peralatan
komputer elektronik. Ini masih berupa bahasa pemrograman manual (hand-compiled).
Pada tahun 1951, Grace Hopper yang bekerja pada Remington Rand mulai
bekerja untuk mendesain sebuah compiler yang diberi nama A-0. Pada tahun 1957,
bahasa pemrograman ini kemudian dirilis oleh Rand dengan nama Math-matic.
Kemudian Alick E. Glennie, di waktu senggangnya di Universitas Manchester,
berhasil membuat programming system bernama AUTOCODE pada tahun 1952. Sekitar
lima tahun setelahnya dirilislah mathematical FORmula TRANslating (FORTRAN), dan
menjadi salah satu bahasa pemrograman yang mudah digunakan pada tahun itu.
FORTRAN dibuat oleh tim yang diketuai oleh John Backus, yang kemudian juga
memiliki konstribusi dalam pembuatan bahasa pemrograman ALGOL.
Setahun kemudian, muncul FORTRAN II yang mampu menjalankan perintah
subroutines dan koneksi ke bahasa assembly. Dan, pada tahun yang sama juga dirilis
bahasa pemrograman ALGOL. Pada tahun 1960 muncul ALGOL 60. Bahasa
pemrogramana ini sangat popular di Eropa pada pertengahan 1960-an. Pada tahun 1962,
APL (A Programming Language) dirilis oleh Kenneth Iverson. Pada tahun yang sama
juga dirilis FORTRAN IV.
Perkembangan bahasa pemrograman terus berlanjut dengan munculnya berturutturut
APL/360 dan PL/1 pada tahun 1964, SNOBOL3 pada 1965, FORTRAN 66 dan
LISP 2 pada 1966, SNOBOL 4 pada 1967, ALGOL 68, ALTRAN, dan COBOL.
Pada tahun 1975, Bob Albrecht dan Dennis Allison merilis Tiny BASIC. Pada
tahun yang sama, Bill Gates dan Paul Allen merilis BASIC yang mereka jual ke MITS
(Micro Instrumentation and Telemetry Systems). Tahun-tahun selanjutnya, beberapa
bahasa pemrograman baru bermunculan. Di antaranya AWK yang dirilis tahun 1978;
Smalltalk-80, Modula-2, Franz LISP pada tahun 1980; dan ISO Pascal serta PostScript
yang dirilis pada tahun 1982. Pada tahun 1983 dirilis bahasa pemrograman Ada.

Nama tersebut diambil dari Lady Augusta Ada Byron, yang menyandang gelar
programer komputer pertama karena hasil kerjanya pada Charles Babbage’s analytical
engine di tahun 1842.
Tahun 1986, selain Apple telah merilis Object Pascal dan Borland merilis Turbo
Prolog, pada tahun yang sama juga dirilis bahasa pemrogramanC++ dan Eiffel. Setahun
sesudahnya dirilis Turbo Pascal version 4.0. Bahasa pemrograman C++ berkembang
pesat dengan dirilisnya C++ 2.0 pada tahun 1989, dan C++ 2.1 pada tahun 1990. Ini
berbarengan dengan dirilisnya FORTRAN 90. Setahun kemudian, Microsoft kembali
merilis Visual Basic, yang kemudian memenangkan penghargaan BYTE’s Best of Show
saat COMDEX.
Bahasa pemrograman terus berkembang hingga tahun ini, dengan diilisnya Java 2
(versi 1.4), Python 2.2, J#, dan F#.