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.
Jasa Desain Grafis Jogja, portfolio kunjungi https://www.instagram.com/alfaruqmedia/ |
0 comments:
Post a Comment