View
29
Download
1
Category
Preview:
Citation preview
LAPORAN RESMI
EXPRESSION
Oleh :
Ahmad Reza Musthafa (7609040007)
2 – D4 TEKNIK KOMPUTER
PROGRAM STUDI D4 TEKNIK KOMPUTER
POLITEKNIK ELEKTRONIKA NEGERI SURABAYA - ITS
2 – D4 Teknik Komputer| 7609040007 2
Analisa
Percobaan diatas bertujuan untuk implementasi penggunaan intruksi printf untuk mencetak suatu
nilai dari suatu variable atau dari suatu bilangan,
gawkBEGIN{printf"%d,%d,%d\n",011,11,0x11} Intruksi tersebut bertujuan untuk mencetak suatu
bilangan dalam format oktal, decimal, dan heksadesimal
intruksi printf akan membaca suatu bilangan dengan format oktal apabila bilangan diawali dengan
0. Sedangkan pada format decimal hanya berupa bilangan decimal tersebut tanpa diawali 0 ataupu
0x. untuk bilangan yang diawali 0x akan dieksekusi sebagai bilangan heksadesimal
011 apabila dikonversi kedalam decimal =9
0x11 apabila dikonversi kedalam decimal = 17
Analisa
Percobaan diatas bertujuan untuk implementasi penggunaan intruksi printf untuk mencetak suatu
nilai dari suatu variable atau dari suatu bilangan,
gawkBEGIN{print"021is",021;print018} Intruksi tersebut bertujuan untuk mencetak suatu
bilangan dalam format oktal, decimal, dan heksadesimal
intruksi printf akan membaca suatu bilangan dengan format oktal apabila bilangan diawali dengan
0. Sedangkan pada format decimal hanya berupa bilangan decimal tersebut tanpa diawali 0 ataupu
0x. untuk bilangan yang diawali 0x akan dieksekusi sebagai bilangan heksadesimal. Program
tersebut akan menghasilkan output seperti diatas
012 apabila dikonversi kedalam decimal = 17
018 apabila dionversi kedalam decimal = 18
Analisa
2 – D4 Teknik Komputer| 7609040007 3
Percobaan diatas bertujuan untuk implementasi penggunaan intruksi printf untuk mencetak suatu
nilai dari suatu variable atau dari suatu bilangan,
gawkBEGIN{print"021is",021;print018} Intruksi tersebut bertujuan untuk mencetak suatu
bilangan dalam format oktal, decimal, dan heksadesimal
intruksi printf akan membaca suatu bilangan dengan format oktal apabila bilangan diawali dengan
0. Sedangkan pada format decimal hanya berupa bilangan decimal tersebut tanpa diawali 0 ataupu
0x. untuk bilangan yang diawali 0x akan dieksekusi sebagai bilangan heksadesimal. Program
tersebut akan menghasilkan output seperti diatas
0x11 apabila dikonversi kedalam decimal = 17
function mysub(pat,repl,str,global)
{
if(global)
gsub(pat,repl,str)
else
sub(pat,repl,str)
returnstr
}
{
...
text="hi!hiyourself!"
mysub(/hi/,"howdy",text,1)
...
}
Analisa
Source code diatas merupakan impementasi dari penggunaan fungi dalam bahasa pemrograman
awk. Dimana untuk membuat suatu fungsi maka dapat diawali dengan penggunaan syntax function.
Yang kemudian disusul dengan nama fungsi yang hendak diberikan. Seperti bahasa pemrograman c,
dalam suatu fungsi dapat memiliki suatu atribut yang dapat dimanfaatkan untuk proses program
selanjutnya.
Dalam source diatas juga dimanfaatkan penggunaan conditional if, else if, dan else. Awk
menyediakan beberapa fungsi yang dapat dipanggil program untuk mengurangi pembuatan suatu
program
2 – D4 Teknik Komputer| 7609040007 4
Analisa
Percobaan diatas bertujuan untuk implementasi penggunaan suatu nilai dari variable sebagai input
index dari suatu data(record).
awk{print$n}n=4 tabel2 n=2 BBS-list Intruksi tersebut berarti bertujuan untuk mencetak field ke-
4 dari file tabel2 dan field ke-2 dari file BBS-list
dimana nilai dari variable tersebut merupakan nilai yang berformat integer, sehingga compiler akan
mudah menyaring data dan menhasilkan output pada terminal
Analisa
Pat 100 97 58
Sandy 84 72 93
Chris 72 92 89
Percobaan diatas bertujuan untuk mencari nilai rata-rata(average) dari data diatas, data tersebut
disimpan kedalam file yang bernama grades,
awk{sum=$2+$3+$4;avg=sum/3 print$1,avg}grades Intruksi tersebut bertujuan untuk mengambil
2 – D4 Teknik Komputer| 7609040007 5
data pada field kedua,ketiga dan keempat, yang kemudian semua data pada field dua sampai empat
dijumlah, untuk mendapatkan nilai total dari data pada tiap baris record
kemudian terdapat source code yang bertujuan untuk menghitung rata-rata dari data pada baris
tersebut, yang kemudian disimpan kedalam suatu variable yang bernama avg.
setelah itu terdapat pemanfaatan penggunaan intruksi print yang bertujuan untuk mencetak data
pada field pertam dan disusul dengan nilai dari variable avg, sehingga ketika program dieksekusi akn
dihasilkan output seperti output diatas
Analisa
awk{print"Field number one: "$1}BBS-list Intruksi tersebut bertujuan untuk mencetak data dari
field pertama file BBS-list, data dicetak dari baris pertama sampai tidak ditemukan baris berikutnya
atau bernilai null. Pencetakkan data dari field pada masing-masing baris diawali dengan adanya
pencetakan string yang berupa “Field number one :”, yang kemudian disusul dengan dicetaknya
nilau dari data pada field pertama masing-masing baris. Penggunaan spasi setelah string tersebut
bertujuan sebagai spacer terhadap data dari field pertama ketika dicetak pada layar terminal
Analisa
awk{print"Field number one:"$1}BBS-list Intruksi tersebut bertujuan untuk mencetak data dari
field pertama file BBS-list, data dicetak dari baris pertama sampai tidak ditemukan baris berikutnya
2 – D4 Teknik Komputer| 7609040007 6
atau bernilai null. Pencetakkan data dari field pada masing-masing baris diawali dengan adanya
pencetakan string yang berupa “Field number one :”, yang kemudian disusul dengan dicetaknya
nilau dari data pada field pertama masing-masing baris. Dari source tersebut tidak digunakanya
spasi setelah string, maka akan mengakibatkan string dan data menempel (tidak terdapat pemisah)
BEGIN{
a="don’t"
print(a""(a="panic"))
}
Percobaan diatas merupakan implementasi dari penggunaan suatu variable yang memiliki nilai yang
dinamis, pertama user mendeklarasikan nilai dari variable a = “don’t”, setelah itu dengan
memanfaatkan nilai tersebut, digunakan intruksi print untuk mencetak dari nilai variable tersebut,
dengan memanfaatan modifikasi dalam penggunaan intruksi print, dapat menjadikan variable a
menjadi dynamic variable. Hal tersebut dapat dilakukan dengan cara setelah mencetak nilai dari
variable a, kemusian mendeklarasikan nilai baru dari variable tersebut menjadi “panic” sehingga
ketika dieksekusi bersamaan dalam satu intruksi print, akan dihasilkan string don’t panic, dimana
spasi dapat degenerate didalam blok intruksi print antara variable a lama dengan variable a baru
Analisa
awkBEGIN{print-12" "-24} Intruksi tersebut bertujuan untuk mencetak nikai decimal dari -12 dan
-24, dimana didalam blok intruksi print yterdapat penggunaan spasi, namun ketika program
dijalankan, maka tidak terdapatnya spasi atau pemisah antara nilai -12 dan -24, hal tersebut
dikarenakan awk akan secara otomatis mengkombinasikan suatu operator sesuai dengan aturan
aritmatika
2 – D4 Teknik Komputer| 7609040007 7
Analisa
BEGIN{
if(3.1415927)
print"A strange truth value"
if("Four Score And Seven Years Ago")
print"A strange truth value"
if(j=57)
print"A strange truth value"
}
Dalam source code tersebut bertujuan untuk implementasi penggunaan pengkondisian dengan if.
Dimana terdapat tiga kondisi yang tersedia, user dapat mendeklarasikan suatu variable atau suatu
nilai yang dipanggil melalui terminal secara langsung, namun lebih efisien penggunaan media teks
editor sebagai media programming. Didalam blok BEGIN user dapat mendeklarasikan nilai dari
variable j dengan nilai 57, sehingga dapat menghasilkan kondisi yang benar dan kemusian akan
mengeksekusi baris program dalam blok kondisi if(j==57)
Analisa
BEGIN{
a=12.345
b=a"is a cute number"
print b
}
Source code diatas merupakan implementasi dari penyisipan atau penambahan suatu nilai dari
2 – D4 Teknik Komputer| 7609040007 8
variable kedalam suatu variable yang lainnya. Dalam source diatas diimplementasikan dengan
pendeklarasian nilai dari variable a terlebih dahulu, yaitu bernilai 12.345.
Setelah itu dibentuk variable b, dimana variable tersebut bernilai nilai dari variable a ditambah
dengan string “is a cute number”, sehingga nilai b=12.345is a cute number.
Ketika user mengeksekusi intruksi tersebut, maka akan dicetak nilai dari variable b tersebut
Source Code (tambahan)
BEGIN{
printf("\n")
printf (" > Masukkan Nama : ")
getline nama
print (" > User :",nama)
tipe_user()
hak_akses()
print(" > Hak :",hak)
printf("\n")
print("")
print (" ----------------------------------------------")
print (" .:. Terima Kasih .:.")
print("")
}
function tipe_user(){
if ((nama=="reza")||(nama=="Reza")||(nama=="REZA"))
{
tipe=1
}
else
{
tipe=2
2 – D4 Teknik Komputer| 7609040007 9
}
}
function hak_akses(){
if(tipe==1)
{
hak="Anda sebagai Administrator"
}
else if(tipe==2)
{
hak="Anda sebagai Pengunjung"
}
}
Analisa
Source code diatas merupakan beberapa implementasi dari penggunaan ekspresion dalam
pemrograman awk, source code tersebut juga memanfaatkan penggunaan fungsi untuk lebih
menyederhanakan pembuatan program, fungsi diatas diantaranya yaitu fungsi tipe_user dan
2 – D4 Teknik Komputer| 7609040007 10
hak_akses, dimana tidak memiliki argument.
Masing-masing fungsi tersbut terdapat penggunaan kondisional dengan if, else if dan else, dan juga
terdapat penggunaan logika Boolean OR (||)
Penggunaan logika OR tersebut bertujuan untuk pengecekan terhadap string yang telah diinputkan
oleh user ketika program dijalankan, dimana ketika bernilai true akan menghasilkan return 1
terhadap variable tipe, dan return 2 jika bernilai false
Nilai dari variable tersebut kemudian diproses kedalam pengkondisian berikutnya, yaitu untuk
mendapatkan suatu nilai berupa string, yang berhubungan dengan hak akses dari potongan
program tersebut
Kesimpulan
1. Penggunaan ekspresi bertujuan untuk mendapatkan suatu nilai yang dapat bernilai true atau
false
2. Ekspresi terdiri dari bermacam-macam, diantaranya ekspresi aritmatika, ekspresi Boolean, dll.
3. Dalam pemrogramman awk, ekspresi dapat berlaku pada berbagai macam tipe dari suatu
variable, string, integer, float, dll
Recommended