Topik : Conditional Situation Dalam proses bisnis sehari-hari terkadang suatu pekerjaan dilakukan jika suatu kondisi tertentu dipenuhi, jika tidak maka aktivitas lain akan dikerjakan. Misalnya, saat seseorang makan di sebuah restoran yang menyelenggarakan promo tertentu, maka pada saat akan membayar pelayan akan mengajukan pertanyaan : "Apakah anda akan membayar memakai kartu kredit X ? " Jika jawabannya ya, maka pelayan akan menghitung harga seluruh makanan dikurangi discount 50% misalnya. Sedangkan jika jawabannya tidak, maka harga seluruh makanan tidak akan mendapatkan discount. Demikianlah aktivitas menghitung jumlah yang harus dibayar seorang pelanggan tergantung pertanyaan "Apakah pembayaran memakai kartu kredit X ?" Contoh yang lain adalah, jika seseorang akan membeli 10 lembar tiket bioskop, maka untuk menghitung jumlah uang yang harus dibayar beberapa pertanyaan berikut harus dijawab : Perintah If - Else Syntax : if ( condition ) { statement ; statement ; ….. } else { statement ; statement ; ….. } Condition pada syntax di atas diisi dengan pertanyaan kondisi (biasanya perbandingan) yang jawabannya hanya ada dua kemungkinan yaitu true (betul) atau false (salah). Contoh pertanyaan kondisi adalah : nilai adalah suatu variable/object bertype int huruf adalah suatu variable/object bertype char ipk adalah suatu variable/object bertype Double Sedangkan statement-statement yang ada di antara kurung kurawal buka dan tutup { } di bawah "if" menunjukkan perintah-perintah yang harus dikerjakan jika suatu kondisi bernilai benar (terpenuhi). Sebaliknya statement-statement yang ada di antara kurung kurawal buka dan tutup { } di bawah "else" menunjukkan perintah-perintah yang harus dikerjakan jika suatu kondisi bernilai salah ( tidak terpenuhi). Operator-operator yang dapat dipakai dalam pertanyaan kondisi adalah : Note : Berhati-hatilah dalam memakai tanda "=" dan tanda "==" (double =). Tanda "=" berarti nilai di sisi kanan tanda tersebut akan dimasukkan ke object di sisi kiri tanda. Sedangkan tanda "==" berarti suatu pertanyaan apakah object di sisi kiri memiliki nilai yang sama dengan object di sisi kanan. Biasanya tanda "==" hanya dipakai di bagian kondisi, misalnya pada perintah "if-else". Contoh : Depot wareg adalah depot yang berjualan nasi bungkus dengan berbagai macam jenis yang memiliki harga yang berbeda-beda. Pembeli yang membeli lebih dari 10 bungkus nasi dengan harga yang sama akan mendapatkan discount 30%. Buatlah program untuk mengisikan jumlah nasi bungkus dan harga untuk menghitung jumlah total yang harus dibayar seorang pembeli. Langkah-langkah : int iJumlah, iHarga, iTotal; iJumlah = int.Parse(txtJumlah.Text); iHarga = int.Parse(txtHarga.Text); iTotal = iJumlah * iHarga; Penjelasan : Mula-mula sediakan 3 variable yaitu iJumlah, iHarga, dan iTotal untuk menampung nilai jumlah, harga dan total bayar. iJumlah dan iHarga diisi dengan konversi isi textbox ke integer. Kemudian lakukan perhitungan total bayar normal tanpa discount. if (iJumlah > 10) { txtDisc.Text = "30%"; iTotal = (int) (iTotal * 0.7); } else { txtDisc.Text = " 0%"; } txtTotal.Text = iTotal.ToString( ); Penjelasan : Kemudian periksa apakah pembelian lebih dari 10, jika ya, maka tampilkan "30%" pada textbox discount dan hitung kembali total bayar menjadi 70% dari total bayar normal (karena discount 30%). Perhatikan bahwa nilai 70% tidak dapat dituliskan dengan 70% (karena tanda % sudah dipakai untuk sisa bagi), maka tanda 70% ( 70 per 100 ) diganti dengan nilai yang setara yaitu 0.7. Setelah semua perhitungan selesai, maka iTotal diubah menjadi string dan ditampilkan di textbox Total. Kemudian perhatikan tanda (int) pada perintah ini : iTotal = (int) (iTotal * 0.7); Perintah di atas semula adalah seperti ini : iTotal = iTotal * 0.7; iTotal adalah suatu int, sedangkan 0.7 selalu dianggap sebagai Double, maka hasil perkalian di sisi kanan akan disimpan sebagai Double. Masalah terjadi karena hasil perkalian (Double) tersebut harus disimpan di iTotal (int). Oleh karena itu, casting harus dilakukan agar Double dapat disimpan di object int. Casting adalah cara untuk mengubah type data suatu nilai menjadi suatu type data tertentu. Casting dilakukan dengan menempatkan suatu type data tujuan dalam tanda kurung ( ) di depan nilai yang akan diubah type datanya. Persoalan di atas dapat diselesaikan dengan pemeriksaan satu kondisi saja dan satu kali pemanggilan perintah if saja. Sebenarnya dalam sebuah perintah if dapat dibuat lebih dari satu kondisi. Misalnya jika soal di atas dimodifikasi menjadi discount 30% diberikan jika pembelian lebih dari 10 tetapi maximal 50 ( jadi jumlah yang dibeli harus lebih kecil atau sama dengan 50 ). Maka perintah if pada solusi di atas harus diubah menjadi : if ((iJumlah > 10) && (iJumlah <= 50)) Tanda && di atas adalah contoh operator logika yang menyatakan hubungan "dan", artinya kondisi yang dinyatakan di kiri dan kanan keduanya harus bernilai benar agar "if"dianggap benar. Beberapa operator logika : Sebutan : AND Contoh pemakaian : if ((iJumlah > 10) && (iJumlah <= 50)) Keterangan : Dianggap benar jika kedua kondisi sama-sama bernilai benar. Sebutan : OR Contoh pemakaian : if ((iJumlah > 100) || (iJumlah <= 50)) Keterangan : Dianggap benar jika salah satu atau kedua kondisi ada yang bernilai benar. Sebutan : NOT Contoh pemakaian : if (!(iJumlah > 100)) Keterangan : Dianggap benar jika kondisi bernilai salah.
0-40 = E 41-50 = D 51-65 = C 66-70 = BC 71-75 = B 76-85 = AB 86-100 = A Buatlah program untuk mengetahui kategori nilai dari nilai angka yang diinput oleh user. A = Sangat memuaskan B = Memuaskan C = Baik D = Kurang E = Buruk Buatlah program untuk menampilkan predikat ke dalam sebuah objek label jika nilai nya diinput oleh user (nilai yang diinput menggunakan huruf besar saja). User diharuskan mengisi ketiga textbox yang tersedia. Jika ketiga nya diisi dengan lengkap, lalu tombol "Simpan" di-klik, maka akan tampil seperti berikut : Di sebelah bawah muncul keterangan: "Data berhasil disimpan". Seandainya tadi ada textbox yang belum diisi, maka akan muncul peringatan untuk masing-masing textboxnya jika tombol "Simpan" di-klik Atau Atau Jika tombol "Hapus" di-klik, maka akan mengembalikan program menjadi seperti tampilan semula (tulisan di textbox menjadi bersih, dan keterangan-keterangan yang muncul menjadi hilang), dan posisi kursor berada di textbox NRP. Lalu buatlah 2 object label lagi, properties "Autosize" nya diubah menjadi "False", tapi properties "Backcolor" nya menjadi "Green". Dan tambahkan pula 2 buah object Button di bawahnya. Tujuan dari program ini adalah untuk membuat "animasi" sederhana. Jika tombol "Ke Kiri" di-click, maka warna merah akan berpindah ke kiri, kecual sudah mencapai label paling kiri (label1). Jika tombol "Ke Kanan" di-click, maka warna merah akan berpindah ke kanan, kecuali sudah mencapai label paling kanan (label3). Petunjuk: Untuk pewarnaan lewat program, maka source code nya seperti ini: label1.BackColor = Color.Green; atau label1.BackColor = Color.Red; Contoh: