BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Pada umumnya satu permasalahan yang komplek memerlukan suatu penyelesaian kondisi. Dengan menyeleksi suatu kondisi, maka selanjutnya dapat ditentukan tindakan apa yang harus dilakukan, tergantung pada hasil kondisi penyeleksian. Jadi suatu aksi hanya dikerjakan apabila persyaratan atau kondisi tertentu terpenuhi.
1.2 TUJUAN
Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 1 ini adalah :
1. Praktikan dapat mengerti dan memahami tentang penyeleksian kondisi
2. Praktikan dapat mengerti dan memahami bagaimana menggunakan penyeleksian kondisi
3. Praktikan dapat membedakan macam-macam penyeleksian
4. Praktikan dapat mengerti dan memahami perbedaan antara IF dan CASE
BAB II
DASAR TEORI
2.1 TEORI SINGKAT
Macam-macam penyeleksian kondisi:
a. Penyeleksian Satu Kasus :
Pada penyeleksian satu kasus, kondisi akan diseleksi oleh statemen if , dengan pengkondisian dimasukkan kedalam "( kondisi )" setelah deklarasi if. Bila kondisi bernilai benar (true), maka aksi didalam tanda kurung kurawal {} akan diproses. Bila kondisi bernilai salah (false), maka tidak ada aksi yang akan dikerjakan. Tanda kurung kurawal {}, berfungsi untuk memasukkan aksi yang harus dilakukan.
Gambar diagram alir penyelesaian satu kasus untuk struktur IF satu kasus ditunjukkan dalam Gambar 2.1 dan struktur penulisan dalam bahasa C dapat dilihat dari Gambar 2.2.
Gambar 2.1. Diagram Alir Struktur Penyeleksian Satu Kasus
if (kondisi) { aksi } |
Gambar 2.2. Struktur Bahasa C Untuk Penyeleksian Satu Kasus
b. Penyeleksian Dua Kasus, menggunakan struktur IF-ELSE:
Dalam struktur IF-ELSE, aksi1 akan dilaksanakan jika kondisi bernilai benar (true), dan jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan. Statemen else menyatakan ingkaran (negation) dari kondisi.
Gambar diagram alir penyelesaian dua kasus untuk struktur IF-ELSE ditunjukkan dalam Gambar 2.3 dan struktur penulisan dalam bahasa C dapat dilihat dari Gambar 2.4.
Gambar 2.3. Diagram Alir Struktur IF-ELSE
if (kondisi){ aksi1 } else { aksi2 } |
Gambar 2.4. Struktur Bahasa C Untuk Penyeleksian Dua Kasus (IF-ELSE)
c. Penyeleksian Tiga Kasus atau Lebih (Penyeleksian Tersarang)
Untuk penyeleksian tiga kasus atau lebih juga menggunakan struktur IF-ELSE IF-ELSE sebagaimana halnya permasalahan dua kasus.
Gambar diagram alir penyelesaian tiga kasus untuk struktur IF-ELSE IF-ELSE ditunjukkan dalam Gambar 2.5 dan struktur penulisan dalam bahasa C dapat dilihat dari Gambar 2.6.
Gambar 2.5. Diagram alir dari struktur tiga kasus IF-ELSE IF-ELSE (tersarang)
if (kondisi1){ aksi1 } else if (kondisi2){ aksi2 } ....... ....... else { aksi3 } |
Gambar 2.6. Struktur Bahasa C untuk Penyeleksian Tiga Kasus IF-ELSE IF-ELSE
(tersarang)
d. Struktur CASE. Struktur ini dapat digunakan untuk menganalisa penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana daripada struktur IF -ELSE yang memiliki bentuk bertingkat-tingkat. Gambar 2.7 memperlihatkan Struktur CASE.
switch (nama){ case kondisi1 : aksi1 break; case kondisi2 : aksi2 break; case kondisi2 : aksi2 break; ... ... case kondisiN : aksiN break; default : ..... break; } |
Gambar 2.7. Struktur Bahasa C Untuk Seleksi CASE
Kondisi1, kondisi2, … kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang benar. Jika kondisi ke-k benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi yang dipasangkan dengan kondisi ke-k dapat lebih dari satu, karena itu ia berupa runtunan. Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise (optional) dikerjakan.
BAB III
TUGAS PENDAHULUAN
1. Jelaskan pada kondisi apa sebaiknya struktur seleksi if dan case digunakan! Apa perbedaan dari kedua struktur tersebut ?
Jawab:
Ø Struktur IF-ELSE digunakan untuk menganalisa penyeleksian dua kasus atau lebih yang memiliki bentuk bertingkat-tingkat.
Ø Struktur CASE digunakan untuk menganalisa penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana
2. Buatlah algoritma untuk menentukan bilangan terbesar dari tiga buah bilangan bulat yang dimasukkan melalui piranti masukan. (Asumsi: ketiga bilangan adalah bilangan yang berbeda)
Contoh keluaran yang diinginkan;
Masukkan bilangan pertama : 4
Masukkan bilangan kedua : 2
Masukkan bilangan ketiga : 7
Bilangan yang terbesar adalah : 7
Jawab:
Program Bilangan_Terbesar;
Deklarasi
Int a,b,c;
Deskripsi
cetak("Masukkan bilangan ke 1: ");
baca("%i",&a);
cetak("Masukkan bilangan ke 2: ");
baca("%i",&b);
cetak("Masukkan bilangan ke 3: ");
baca("%i",&c);
if (a>b & a>c){
cetak("Bilangan terbesar: %i\n",a);
}
else if (b>a & b>c){
cetak("Bilangan terbesar: %i\n",b);
}
else if (c>a & c>b){
cetak("Bilangan terbesar: %",c);
}
3. Buatlah algoritma konversi dari nilai angka menjadi nama hari. (Asumsi: 1=Senin, 2=Selasa, 3=Rabu, 4=Kamis, 5=Jumat, 6=Sabtu, 7=Minggu)
Contoh keluaran yang diinginkan:
Masukkan Angka yang menunjukkan hari : 1
Hari yang anda pilih : Senin
Jawab:
Program Program_Hari;
Deklarasi
int a;
cetak("Masukkan Angka yang menunjukkan hari: ");
baca("%i",&a);
switch(a){
case 1:cetak("Hari yang anda pilih: Senin");break;
case 2:cetak("Hari yang anda pilih: Selasa");break;
case 3:cetak("Hari yang anda pilih: Rabu");break;
case 4:cetak("Hari yang anda pilih: Kamis");break;
case 5:cetak("Hari yang anda pilih: Jumat");break;
case 6:cetak("Hari yang anda pilih: Sabtu");break;
case 7:cetak("Hari yang anda pilih: Minggu");break;
default :cetak("Hari yang anda pilih tidak ada");break;
}
IMPLEMENTASI
4.1 KEGIATAN PRAKTIKUM
1. Buat program untuk prepraktikum 2!
Jawab:
Source Code
#include <stdio.h>
#include <conio.h>
main(){
int a,b,c;
printf("Program Bilangan Terbesar\n");
printf("\n");
printf("Masukkan bilangan ke 1: ");
scanf("%i",&a);
printf("Masukkan bilangan ke 2: ");
scanf("%i",&b);
printf("Masukkan bilangan ke 3: ");
scanf("%i",&c);
if (a>b && a>c){
printf("Bilangan terbesar: %i\n",a);
}
else if (b>a && b>c){
printf("Bilangan terbesar: %i\n",b);
}
else if (c>a && c>b){
printf("Bilangan terbesar: %i",c);getch();
}
}
Gambar 4.1 Running Progaram Bilangan Terbesar
2. Buat program untuk prepraktikum 3!
Jawab:
Source Code
#include <stdio.h>
#include <conio.h>
main(){
int a;
printf("Program Korversi Angka ke Hari\n");
printf("\n");
printf("Masukkan Angka yang menunjukkan hari: ");
scanf("%i",&a);
switch(a){
case 1:printf("Hari yang anda pilih: Senin");break;
case 2:printf("Hari yang anda pilih: Selasa");break;
case 3:printf("Hari yang anda pilih: Rabu");break;
case 4:printf("Hari yang anda pilih: Kamis");break;
case 5:printf("Hari yang anda pilih: Jumat");break;
case 6:printf("Hari yang anda pilih: Sabtu");break;
case 7:printf("Hari yang anda pilih: Minggu");break;
default:printf("Hari yang anda pilih tidak ada");break;
}
}
Gambar 4.2 Running Progaram Konversi Angka ke Hari
3. Tugas tambahan (ditentukan oleh asisten praktikum)!
4.2 TUGAS AKHIR
Buatlah algoritma dan terjemahkan dalam Bahasa C untuk mengurutkan tiga buah bilangan bulat (dari yang terkecil ke yang terbesar) yang dimasukkan melalui piranti masukan! (Asumsi: ketiga bilangan yang dimasukkan adalah bilangan yang berbeda)
Contoh:
Masukkan bilangan pertama : 9
Masukkan bilangan kedua : 1
Masukkan bilangan ketiga : -7
Urutan bilangan: -7 1 9
Jawab:
#include <stdio.h>
#include <conio.h>
main(){
int a,b,c;
printf(" Program Urut Bilangan\n");
printf("\n");
printf("Masukkan bilangan ke 1: ");
scanf("%i",&a);
printf("Masukkan bilangan ke 2: ");
scanf("%i",&b);
printf("Masukkan bilangan ke 3: ");
scanf("%i",&c);
if (a>b && b>c){
printf("Urutan bilangan: %i %i %i\n",a,b,c);
}
else if (a>c && c>b){
printf("Urutan bilangan: %i %i %i\n",a,c,b);
}
else if (b>a && a>c){
printf("Urutan bilangan: %i %i %i\n",b,a,c);
}
else if (b>c && c>a){
printf("Urutan bilangan: %i %i %i\n",b,c,a);
}
else if (c>a && a>b){
printf("Urutan bilangan: %i %i %i\n",c,a,b);
}
else if (c>b && b>a){
printf("Urutan bilangan: %i %i %i\n",c,b,a);
}
}
Readmore »»