Suatu pernyataan kondisi memungkinkan untuk menentukan tidakkan selanjutnya. Dalam bagian ini, dipelajari bagaimana pernyataan kondisi digunakan terutama dalam menentukan tindakan.
Suatu pernyataan bersyarat dinyakatan dengan "if" dan mengevaluasi sebuah ekspresi ditempatkan dalam tanda kurung. Sintak-nya adalah:
if (ekspresi)
aksi1
[ else
aksi2]
Jika ekspresi yang dievaluasi benar (bukan-nol atau bukan-kosong), maka aksi1 dilakukan. Selain itu maka aksi2 dikerjakan, jika ekspresi salah (nol atau kosong).
Karena itu maka bisa ditulis suatu persamaan sederhana yang dapat digunakan untuk memeriksa suatu variabel berisi nilai tidak nol.
if ( x ) print x
Jika x adalah nol, pernyataan cetak Anda juga dapat menguji apakah x sama dengan nilai lain:
if ( x == y ) print x
Ingat bahwa "==" adalah relatif dan operator "=" merupakan tugas operator. Disini juga dapat menguji apakah x cocok menggunakan pola-pola yang cocok dengan operator "~":
if ( x ~ /[yY](es)?/ ) print x
Pada pembahasan sebelumnya, dibahas sebuah skrip untuk menghitung nilai rata-rata nilai mahasiswa. Kita dapat menggunakan pernyataan bersyarat untuk memberitahu kami apakah siswa lulus atau gagal.
Untuk menentukan bahwa grade kelulusan adalah rata-rata 65 atau keatas, maka dapat ditulis kondisional berikut:
if (rata-rata> = 65)
grade = "Pass"
else lain
grade = "Gagal"
Nilai yang diberikan untuk kelas tergantung pada apakah ekspresi "rata-rata> = 65" untuk menilai benar atau palsu.
Beberapa pernyataan kondisi dapat digunakan untuk menguji apakah salah satu dari beberapa kondisi adalah benar. Sehingga para siswa dapat diberikan nilai kriteria kelulusan. Berikut adalah kondisi yang memberikan kriteria berdasarkan rata-rata siswa:
if (rata-rata> = 90) grade = "A"
else if (rata-rata> = 80) grade = "B"
else if (rata-rata> = 70) grade = "C"
else if (rata-rata> = 60) grade = "D"
else grade = "F"
Satu hal penting yang harus disadari bahwa secara berturut-turut kondisi seperti ini dievaluasi sampai menemukan salah satu yang benar; bila hal tersebut terjadi, sisa kondisi akan diabaikan. Jika tidak ada evaluasi ekspresi kondisi yang benar, maka kondisi terakhir akan diterima; dalam hal ini, akan diberikan nilai "F".
Pustaka:
O'RIELLY: Chapter 8. Conditionals, Loops, and Arrays
Jumat, 22 Mei 2009
TUGAS 3
Buatlah script awk yang dapat digunakan untuk menghitung harga barang dan diskonnya, dengan susunan sebagai berikut:
sedangkan hasil yang diinginkan adalah sebagai berikut:
Total adalah jumlah barang dikalikan harga barang
Diskon adalah sebagai berikut:
-bila membeli barang 5 atau lebih, maka diskon 10%
-bila membeli barang 10 atau lebih, maka diskon 20%
Bayar adalah total harga barang dikurangi diskon
Barang | Jumlah | Harga satuan |
---|---|---|
CPU | 7 | 5500000 |
Printer | 5 | 1500000 |
Scaner | 8 | 2700000 |
Monitor | 10 | 3500000 |
Hardisk | 6 | 1200000 |
Mouse | 12 | 100000 |
Webcam | 15 | 1000000 |
sedangkan hasil yang diinginkan adalah sebagai berikut:
Barang | Jumlah | Harga satuan | Total | Diskon | Bayar |
---|---|---|---|---|---|
CPU | 7 | 5500000 | 38500000 | 3850000 | 34650000 |
Total adalah jumlah barang dikalikan harga barang
Diskon adalah sebagai berikut:
-bila membeli barang 5 atau lebih, maka diskon 10%
-bila membeli barang 10 atau lebih, maka diskon 20%
Bayar adalah total harga barang dikurangi diskon
Mencetak nilai rata-rata
Diketahui ada sekumpulan data mahasiswa beserta nilai hasil UTS dari setiap mata kuliah yang diikuti, hitunglah nilai rata-rata dari setiap mahasiswa yang ada. Berikut ini daftar mahasiswa beserta nilainya:
annisa 88 80 86 92 84
dharma 85 88 84 92 94
hendra 89 78 75 90 90
Pada data diatas terdapat lima nilai UTS yang disusun setelah nama setiap mahasiswa dan seimpanlah dengan nama "nilai" (tanpa tanda petik). Berikut ini adalah script untuk menyelesaikan permasalahn diatas:
# average five grades
{ total = $2 + $3 + $4 + $5 + $6
avg = total / 5
print $1, avg }
Simpan script diatas dengan nama rata2.awk. Script ini mengambil semua dari nilai kolom 2 sampai 6 untuk dijumlahkan bersama dari kelima-limanya. Sehingga untuk menentukan nilai rata-ratanya adalah dengan cara dibagi dengan 5 dan disimpan pada variabel avg. Tampilan dari keluaran program ini menjadi sebagai berikut:
$ awk -f rata2.awk nilai
annisa 86
dharma 88.6
hendra 84.4
Pustaka:
O'REILLY SED & AWK: Averaging Student Grades
annisa 88 80 86 92 84
dharma 85 88 84 92 94
hendra 89 78 75 90 90
Pada data diatas terdapat lima nilai UTS yang disusun setelah nama setiap mahasiswa dan seimpanlah dengan nama "nilai" (tanpa tanda petik). Berikut ini adalah script untuk menyelesaikan permasalahn diatas:
# average five grades
{ total = $2 + $3 + $4 + $5 + $6
avg = total / 5
print $1, avg }
Simpan script diatas dengan nama rata2.awk. Script ini mengambil semua dari nilai kolom 2 sampai 6 untuk dijumlahkan bersama dari kelima-limanya. Sehingga untuk menentukan nilai rata-ratanya adalah dengan cara dibagi dengan 5 dan disimpan pada variabel avg. Tampilan dari keluaran program ini menjadi sebagai berikut:
$ awk -f rata2.awk nilai
annisa 86
dharma 88.6
hendra 84.4
Pustaka:
O'REILLY SED & AWK: Averaging Student Grades
Rabu, 06 Mei 2009
Tugas 2
Buatlah program untuk mencetak bilangan prima dari 2 sampai 100, disarankan menggunakan array.
Tugas 1
Buatlah program untuk menampilkan nilai IPS dari suatu data nilai kelas, dengan masukan dari file berupa, nomor, nama siswa, nama mata kuliah, jumlah SKS, nilai tugas, nilai UTS, nilai UAS, dan nilai Total. Hasil tampilan berupa tabel yang terdiri dari semua data diatas, ditambah kriteria nilai, sigma nilai per mata kuliah, serta IPS.
Tugas diselesaikan dan ditulis pada blog masing, disertai dengan contoh data yang diproses, dan hasil tapilan program yang dibuat. Sedangkan dengan batas waktu dalah satu minggu setelah tugas ini diberikan, atau +/- tanggal 14 Mei 2009.
Tugas diselesaikan dan ditulis pada blog masing, disertai dengan contoh data yang diproses, dan hasil tapilan program yang dibuat. Sedangkan dengan batas waktu dalah satu minggu setelah tugas ini diberikan, atau +/- tanggal 14 Mei 2009.
Langganan:
Postingan (Atom)