Struktur Pemilihan Ema Utami STMIK AMIKOM Yogyakarta
Dalam membuat program,pengambilan keputusan seringkali dimanfaatkan. Pemanfaatan ini dapat dijumpai misalnya pada waktu: a. Menentukan besarnya tunjangan yang diterima seseorang pegawai yang disesuaikan dengan jumlah anak yang ditanggung. b. Menentukan nilai huruf mahasiswa berdasarkan score yang diperoleh c. Menentukan suatu bilangan merupakan prima atau tidak. Proses pengambilan keputusan sebenarnya hanya terpaku pada logika benar atatu salah, ya atau tidak, memenuhi atau tidak. Oleh karena itu untuk menentukan suatu kondisi tertentu apakah benar atau salah, ya atau tida maka diperlukan pemahaman tentang beberapa struktur yang mendukung pengambilan keputusan. Dalam hal pemrograman kita harus mengenal operator yang dipakai dalam pengambilan keputusan.
Operasi Relasi Operator ini dipakai untuk menyatakan hubungan antar dua buah operand. operator < <= > >= == !=
Arti Lebih kecil dari Lebih kecil atau sama dengan Lebih besar Lebih besar atau sama dengan Sama dengan Tidak sama dengan
Dalam bahasa C/C++ tanda sama dengan dilambangkan dengan == bedanya dengan operator = adalah bahwa operator = merupakan operator penugasan misalnya a=2. sedangkan operator == merupakan operator perbandingan. Jadi jika kita ingin melakukan perbadingan antara dua buah nilai kita menggunakan operator == ini bukan operator =.
Operator Logika Merupakan operator yang digunakan untuk membandingkan 2 buah nilai logika yang ditunjukkan oleh relasi antar 2 buah operan. Nilai logika dapat bernilai benar atau sala tetapi tidak keduaduanya. Operator && ||
Arti DAN ATAU
Dapat kita simpulkan bahwa penyelesaian masalah dengan struktur pemilihan atau
percabangan adalah suatu cara pemecahan masalah dengan instruksi-instruksi tertentu yang dapat digunakan untuk mengambil keputusan berdasarkan suatu kondisi. Pernyataan percabangan memungkinkan suatu pernyataan dieksekusi hanya jika suatu kondisi terpenuhi atau tidak terpenuhi. Artinya tidak setiap baris atau langkah algoritma akan dikerjakan. Suatu baris algoritma akan dikerjakan jika kondisinya memenuhi syarat. Struktur pemilihan adalah struktur algoritma yang melakukan proses pengujian untuk mengambil suatu keputusan atau tindakan apakah suatu baris instruksi atau blok instruksi akan diproses atau tidak. Contoh : Jika suatu bilangan tidak habis dibagi 2 maka bilangan tersebut adalah bilangan ganjil. Disini keputusan untuk menyatakan suatu bilangan adalah ganjil berdasarkan kondisi jika bilangan tersebut tidak habis dibagi 2. Bentuk instruksi percabangan: 1.Instruksi IF Instruksi ini lebih cocok digunakan untuk pengambilan keputusan berdasarkan perbandingan nilai dengan operator <, <=, >, >= maupun operator ==. a. Pernyataan IF Sederhana b. Pernyataan IF-ELSE c. Pernyataan IF Bertingkat 2.Instruksi SWITCH Instruksi ini lebih cocok dipakai untuk pengambian keputusan berdasarkan perbandingan nilai ==. Misalnya konversi nilai angka mahasiswa menjadi nilai huruf. Kita mengenal 5 score dalam aturan kampus yaitu 0,1,2,3 dan 4. Maka instruksi switch dapat dipakai untuk melakukan konversi nilai tersebut.
Instruksi IF Secara umum flowchartnya, sebagai berikut:
Gambar 1 Flowchart Instruksi IF
Instruksi ini digunakan untuk memeriksa sebuah kondisi dan akan mengeksekusi satu instruksi atau blok instruksi, jika dan hanya jika kondisinya terpenuhi. Test kondisi ini sering disebut test satu arah. Bentuk umum pseudocode : pernyataan_A if
then pernyataan_B atau
pernyataan_A if then ... endif pernyataan_B Jika pernyataan yang berbentuk kondisi (Expression Conditon)yang dievaluasi salah maka blok pernyataan true akan diabaikan dan sebaliknya jika kondisi terpenuhi maka blok true statement akan dieksekusi atau dikerjakan oleh program. Yang juga perlu diperhatikan dalam bahasa C/C++, jika terdapat lebih dari 1 blok statement true maka diharuskan menggunakan { }. Jadi semua blok statement true akan diletakkan dalam { }. Tetapi jika blok true statement hanya ada satu tidak diharuskan untuk memakai { }. Terdapat aturan juga bahwa setelah statement kondisi maka jangan menggunakan tanda ;
Instruksi IF dengan Syarat Majemuk Instruksi ini adalah pernyataan IF yang menggunakan pemeriksaan lebih dari satu kondisi. Kondisi-kondisi tersebut dihubungkan dengan operator-operator logika yaitu digunakan operator logika AND dan OR. Program merupakan pengimplementasian dari algoritma yang ditulis dengan bahasa pemrograman, dengan demikian program juga harus dapat mencabang, meloncat atau berulang. Untuk melakukan langkah-langkah itu maka program harus dikendalikan. Dengan menggunakan perintah-perintah pengendali program maka hal tersebut dapat dilakukan. Pengendalian program bahasa C/C++ seperti bahasa pemrograman lainnya dapat menggunakan instruksi if dan ifelse. Pada pengambilan keputusan biasanya operator logika banyak digunakan.
Instruksi IF - ELSE Instruksi ini digunakan untuk menentukan tindakan yang akan digunakan apabila kondisi bernilai benar dan tindakan yang akan digunakan apabila kondisi bernilai salah. Bentuk umum pseudocode : pernyataan_A if then
else endif pernyataan_B Pengujian kondisi ini dilakukan untuk memilih salah satu dari dua alternatif yang tersedia sehingga sering disebut test dua arah. Secara flowchart dapat digambarkan seperti berikut:
Gambar 2 Flowchart Instruksi IF-ELSE Jika kondisi pernyataan yang dievaluasi bernilai benar maka blok true statement akan dieksekusi dan jika pernyataan tersebut salah maka eksekusi program akan tertuju pada false statement.
Instruksi IF Bersarang Merupakan bentuk statement if dengan statement if lain di dalam if sebelumnya. Bentuk umum pseudocode: if then else if then else if then . . . else endif endif endif
Pernyataan 1 False
True Kondi si A
False StatementA True
True statementB
Kondi si B
False
False statementB
Pernyataan 2
Instruksi SWITCH Pemilihan proses menggunakan instruksi IF selalu didasarkan pada dua pilihan yang bisa terjadi. Dengan demikian untuk mentest lebih dari dua pilihan harus digunakan sejumlah instruksi IF seperti terlihat pada bentuk umum instruksi IF untuk pilihan jamak. Struktur statemen yang demikian seringkali membuat bingung. Pemilihan proses untuk sejumlah pilihan kondisi bisa dilaksanakan dengan instruksi SWITCH. Pernyataan SWITCH digunakan untuk menyederhanakan instruksi IF-ELSE yang bertingkat-tingkat. Semua masalah yang bisa diselesaikan menggunakan instruksi SWITCH pasti juga bisa ditangani dengan menggunakan instruksi IF, tetapi tidak berlaku sebaliknya. Jadi statement SWITH merupakan statement yang dimanfaatkan untuk menentukan pilihan dari sejumlah pilihan yang terlibat. Statement juga mempunyai 2 bentuk yaitu statement swith tunggal dan statement switch bersarang. Bentuk umum pseudocode: switch case : case : ... case : {otherwise aksi} endcase
pilihan1, pilihan2, ..., pilihann mempunyai nilai kebenaran. Tiap pilihan
diperiksa nilai kebenarannya, mulai dari pilihan pertama sampai ditemukan pilihan yang bernilai benar. Jika pilihan ke-i bernilai benar maka aksi ke-i dilaksanakan. Pilihan berikutnya yakni pilihan ke-i+1 sampai dengan pilihan ke-n tidak dipertimbangkan lagi. Aksi yang dipasangkan dengan ke-i dapat berupa satu baris instruksi atau blok instruksi. Apabila tidak ada satupun pilihan yang bernilai
benar maka aksi sesudah otherwise dikerjakan. Penulisan otherwise bersifat optional. Dalam bahasa C/C++ , otherwise diganti dengan kata kunci default.
Gambar 3 Flowchart Instruksi SWITCH
Setiap blok statement suatu pilihan diakhiri dengan kata kunci break yang berfungsi untuk keluar dari fungsi switch jika blok statement pada kondisi yang terpenuhi telah selesai dikerjakan. Sedangkan jika tidak ada kondisi yang memenuh maka blok statement default akan dikerjakan.
Daftar Pustaka Ema Utami, Suwanto Raharjo, 2004, Belajar C Di GNU/Linux, ISSN 979-3289-55-4, Penerbit Graha Ilmu Yogyakarta Ema Utami, Suwanto Raharjo, 2004, Struktur Data Menggunakan C di GNU/Linux, ISSN 979-731395-6, Penerbit Andi Offset Yogyakarta Ema Utami, 2004, Logika, Algoritma dan Implementasinya dalam Bahasa Python di GNU/Linux,
ISSN 979-731-443-X, Penerbit Andi Offset Yogyakarta Ema Utami, Sukrisno, 2005, 10 Langkah Mudah Memahami Logika Algoritma Menggunakan Bahasa C/C++ di GNU/Linux, ISSN 979-763-020-X, Penerbit Andi Offset Yogyakarta Ema Utami, Sukrisno, 2005, 101 Tips dan Trik Bahasa C untuk Pemula di GNU/Linux, ISSN 979763-010-2, Penerbit Andi Offset Yogyakarta Ema Utami, Sukrisno, Suwanto Raharjo, 2007, Struktur Data : Konsep dan Implementasinya dalam Bahasa C dan Free Pascal di GNU/Linux, ISSN 979-756-292-2, Penerbit Graha Ilmu Yogyakarta