Pages

Tuesday, 11 July 2017

Pengambilan Keputusan SWITCH dalam Bahasa C

pemrograman bahasa c, belajar bahasa c, tutorial bahasa c
Selamat Datang Di Blog saya, yang sudah lama tidak saya update postingnya hehe. Pada kesempatan kali ini saya akan bahas masih seputar pemrograman, terutama pemrograman bahasa C. Materi kali ini sebagai lanjutan pembahasan Pemrograman Bahasa C, dengan judul Pengambilan Keputusan If Else dalam Bahasa C di posting satu tahun lalu (dah lama banget :v). Meskipun sambungannya udah lama banget tapi insyaallah materi ini masih tetap berguna bagi siswa-siswa SMK maupun Mahasiswa semester awal, terutama di bidang Elektronika. Anda bisa baca-baca dulu posting sebelumnya di link berikut http://alfaruqdeveloper.blogspot.co.id/2016/05/pengambilan-keputusan-if-else-dalam.html .

Oke langsung saja berikut pembahasannya..

Struktur Keputusan Swicth dalam Bahasa C
Pernyataan switch-case merupakan suatu pernyataan yang sengaja dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah alternative, misalnya untuk menggantikan pernyataan if bertingkat. Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian. Pernyataan if…else if jamak dapat dibangun dengan pernyataan switch.

1.       Struktur switch
C menyediakan struktur lain yang dapat dugunakan untuk pengambilan keputusan. Struktur ini bekerja dengan cara mengendalikan program pada suatu keadaan, sedemikian hingga semua iliha  merupaka nilai - nilai alternatif tertentu yang berbentuk ekspresi integer. Struktur ini disebut dengan switch dengan kata kunci switch. Secara umum struktur switch dapat dinyatakan sebagai berikut.

switch (ekspresi)
{
case konstanta1 :
pernyataan1 ;
break ;
case konstanta2 :
pernyataan2 ;
break ;
case konstanta3 :
pernyataan3 ;
break ;
:
:
case konstantaN :
pernyataanN ;
break ;
default :
pernyataan lain;
}

Didalam block pernyataan juga terdapat label case dan sebuah konstanta integer, yang menunjukan pilihan yang akan dilaksanakan apabila konstanta integer setelah label case tersebut terpenuhi. Pada akhir setiap pilihan, biasanya diikuti dengan pernyataan break yang menyebabkan kendali berpindah ke akhir block struktur switch. Contoh penggunaan switch dalam progam c, pembuatan kalkulator.


Hal – hal yang perlu diperhatikan adalah :
1.     Dibelakang keyword case harus diikuti oleh sebuah konstanta, tidak boleh diikuti oleh ekspresi ataupun variable.
2.      Konstanta yang digunakan bertipe int atau char
3. Jika bentuknya seperti diatas maka apabila ekspresi sesuai dengan konstanta2 maka pernyataan2, pernyataan3 sampai dengan pernyataanlain dieksekusi. Untuk mencegah hal tersebut, gunakan keyword break;. Jika keyword break digunakan maka setelah pernyataan2 dieksekusi program langsung keluar dari pernyataan switch. Selain digunakan dalam switch, keyword break banyak digunakan untuk keluar dari pernyataan yang berulang ( looping ).

4. Pernyataan lain dieksekusi jika konstanta1 sampai konstantaN tidak ada yang memenuhi ekspresi.

Operator Relasi dan Operator Logika

Operator atau tanda operasi adalah suatu tanda atau simbol yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi suatu nilai. Ada 3 macam operator. Operator Aritmatika, Operator Relasi, dan Operator Logika, kali ini yang akan dijelaskan dan diterapkan adalah operator relasi dan logika.
Operator relasi adalah operator penghubung yang berupa benar atau salah. Jika benar maka akan memberikan nilai 1 dan jika salah maka akan memberikan nilai 0.
Simbol
Keterangan
=
Sama dengan
<> 
Tidak sama dengan
> 
Lebih dari
< 
Kurang dari
>=
Lebih dari sama dengan
<=
Kurang dari sama dengan ( <= )

Contoh :
10>3 ;// pernyataan ini benar, maka akan memberikan nilai 1
7<3;// pernyataan ini salah. maka akan memberikan nilai 0

Operator logika adalah Operator yang digunakan untuk menggabungkan dua pernyataan sehingga terbentuk pernyataan gabungan. Nilai kebenaran pernyataan gabungan ini ditentukan oleh nilai kebenaran dari pernyataan-pernyataan pembentuknya. Operator logika di sini bertindak sebagai fungsi.
Operator
Keterangan
&&
Dan (AND)
||
Atau (OR)
!
Tidak (NOT)

Berikut adalah hasil dari operasi logika && :
·         true && true = true
·         true && false = false
·         false && true = false
·         false && false = false
dan ini adalah hasil dari operator logika || :
·         true || true = true
·         true || false = true
·         false || true = true
·         false || false = false

Untuk percobannya, berikut saya berikan kasus/soal beserta program dan outputnya.

Membuat program dengan switch-case, program yang meminta masukan bilangan bulat. Jika pengguna memasukkan 1, program menampilkan ‘Minggu’, jika pengguna memasukkan 2, program menampilkan ‘Senin’, dan seterusnya hingga angka 7 menampilkan ‘Sabtu’. Jika pengguna memasukkan selain angka 1 sampai dengan 7 maka program menampilkan ‘Hari tidak valid’.
Source code :

#include <stdio.h>
#include <string.h> //untuk pemanggilan fungsi 'strcpy'
//deklarasi variabel
int inputan;
//variabel berupa string dgn data maks 20 karakter
char hari[20];

main()
{
   printf("masukkan angka antara 1-7 \n");
   //form isian untuk disinpan pada variabel 'inputan'
   scanf("%d", &inputan);
   //memulai proses switch dengan ekspresi 'inputan'
   switch(inputan)
   {
         //menambahkan teks "Minggu" pada variabel 'hari' dengan fungsi strcpy
         case 1 :
               strcpy(hari, "Minggu");
         break;
         //menambahkan teks "Senin" pada variabel 'hari' dengan fungsi strcpy
         case 2 :
               strcpy(hari, "Senin");
         break;
         //menambahkan teks "Selasa" pada variabel 'hari' dengan fungsi strcpy
         case 3 :
               strcpy(hari, "Selasa");
         break;
         //menambahkan teks "Rabu" pada variabel 'hari' dengan fungsi strcpy
         case 4 :
               strcpy(hari, "Rabu");
         break;
         //menambahkan teks "Kamis" pada variabel 'hari' dengan fungsi strcpy
         case 5 :
               strcpy(hari, "Kamis");
         break;
         //menambahkan teks "Jumat" pada variabel 'hari' dengan fungsi strcpy
         case 6 :
               strcpy(hari, "Jumat");
         break;
         //menambahkan teks "Sabtu" pada variabel 'hari' dengan fungsi strcpy
         case 7 :
               strcpy(hari, "Sabtu");
         break;
         //output ketika input tidak sesuai persyaratan
         default :
               strcpy(hari, "Hari tidak valid");
         break;
   }
   //output untuk menampilkan isi dari variabel 'hari' setelah dalam proses switch
   printf("\n%s", hari);

}

-          Include <string.h> dipanggil agar dapat memfungsikan ‘strcpy’
-          Pendeklarasian variabel ‘inputan’ dengan int, berarti variabel tersebut hanya bisa diisi dengan bilangan bulat
-    Pendeklarasian variabel ‘hari’ dengan char[20] berarti variabel tersebut akan diisi dengan karakter, maksimal jumlah karakter adalah 20
-        Scanf untuk membuat form isian dan disimpan dalam variabel ‘inputan’
-       switch(inputan) {“ berarti program menggunakan switch sudah dimulai. Variabel yang akan diolah dengan switch adalah ‘inputan’ yang disebutkan didalam kurung saat memulai switch
-         “case 1” menyatakan konstanta yang pertama kali diolah, yaitu jika input adalah “1”
-   Didalam “case 1” terdapat script “strcpy(hari, “Minggu”);”, “strcpy” adalah fungsi untuk menyalin string yang berisi “Minggu” ke variabel tujuan yaitu ‘hari’. Pada proses pertama switch ini, jika inputnya adalah 1, maka output yang akan tampil adalah “Minggu”. Begitupun selanjutnya hingga input paling tinggi adalah 7 yang akan keluar “Sabtu”
-     Menggunakan “break” disetiap “case” untuk menyatakan proses pada case tersebut sudah berakhir, dan dilanjutkan proses lainnya
-    Jika input tidak memenuhi persyaratan (angka 1-7 saja) maka akan masuk pada proses “default” atau sama saja ketika kondisi FALSE, output akan mengeluarkan pernyataan bahwa hari tidak valid
-         Output akan ditampilkan dengan “%s” yaitu fungsi untuk menampilkan tipe data string

Capture output program :

Output program untuk mengkonversi angka menjadi output nama hari. Inputnya adalah 4, sesuai dengan data pada program, maka outputnya adalah ‘Rabu’


Penggunaan switch case untuk mengambil keputusan adalah alternatif daripada penggunaan if else. Penggunaan swicth case cocok untuk program dengan kebutuhan filter input sesuai beberapa data yang dikehendaki. Data input yang disimpan dalam sebuah variabel hanya tinggal dipanggil dan dicocokkan dengan ‘case’ di dalam instruksi switch. Struktur program switch case tidak banyak memerlukan baris yang menjorok ke kanan daripada if else, sehingga mengurangi kerumitan pembacaan program ketika diteliti kembali.
Pengambil keputusan switch case dan if else adalah sama-sama memerlukan sebuah persyaratan/filter/kondisi untuk kemudian menghasilkan keputusan benar (TRUE) atau salah (FALSE). Ekseskusi program yang dilakukan juga sama-sama runtut, jika kondisi pertama FALSE, baru akan melakukan cek kondisi selanjutnya. Jika switch case hanya bisa mengecek satu demi satu kondisi/persyaratan, if else/else if bisa menggabungkan beberapa kondisi dalam sekali pengecekan. Misal if((input1 > 0) && (input2 > 0) && (input3 > 0)), dalam switch case tidak bisa mengecek seperti kondisi tersebut.

Cukup sekian tutorial mengenai pengambilan keputusan switch dalam bahasa C. Semoga bermanfaat bagi yang membutuhkan :) Silakan berkomentar untuk bertanya, dan share juga boleh. Terimakasih.

desain grafis jogja, jasa desain grafis, desain komunikasi visual, desain banner, desain kartu nama, desain poster, desain flyer, desain poster ilmiah, leaflet
Jasa Desain Grafis Jogja, portfolio kunjungi https://www.instagram.com/alfaruqmedia/


0 comments:

Post a Comment