Anda di halaman 1dari 17

Algoritma dan Pemrograman

Instruksi Pemilihan (selection)


Instruksi Pemilihan (selection)

• Pemilihan adalah langkah atau instruksi yang


digunakan untuk memilih satu alternatif
penyelesaian masalah diantara beberapa alternatif
penyelesaian masalah lainnya yang tersedia.
• Ada dua format utama dari instruksi pemilihan yaitu:
• if - then - else
• case-of atau switch-case
Instruksi if – then – else dalam Algoritma
• Instruksi ini memiliki format:
– 1 pilihan
– 2 pilihan
– Lebih dari 2 pilihan
• Untuk 1 pilihan bentuknya sederhana, yaitu:

if (syarat) then aksi


endif
– berarti pilihan aksi akan diproses apabila syarat di penuhi, dan tidak diproses
bila syarat tidak terpenuhi.
Contoh if dengan 1 pilihan

contoh :
if ( x > 100 ) then syarat
N

xx+5
Y
endif
pilihan aksi
Kalu nilai x lebih dari 100 maka
nilainya ditambah 5.
Instruksi if dengan 2 pilihan

Bentuk 2 pilihan:
if ( syarat ) then N
aksi-1 syarat aksi - 2
else
aksi-2
endif Y

contoh :
aksi - 1
if ( a > 0 ) then
write (“bilangan ini positif “)
else
write (“bilangan ini negatif “)
endif
 
Instruksi if dengan banyak pilihan

Bentuk umum bersusun:


if ( syarat-1 ) then syarat-1 syarat-2 aksi-3
aksi-1 Y
else Y
if ( syarat-2 ) then aksi-2
aksi-2
else aksi-1
aksi-3
endif
endif
Instruksi if dengan banyak pilihan
Bentuk yang lain:
 
if ( syarat-1 ) then
if (syarat-2 ) then
aksi-1 Contoh:
else
aksi-2 if (x > 5) then
Y
endif if ( y > 3) then
else z = 4*x + 5*y
aksi-3 else
endif z = 2*x + 2*y Y
endif
else
z = 3*x + 3*y
endif

7
Instruksi if – else dalam program C++

Pada bahasa pemrograman C++ bentuk umumnya sbb:


     
if (kondisi) if (kondisi) if (kondisi1)
{ aksi } { aksi1 } { aksi1 }
  else else if
{ aksi2 } (kondisi2)

{ aksi2 }
else

{ aksi3 }
Contoh kasus 1
Algoritma berikut ini menunjukkan pemakaian instruksi
pemilihan if-then-else untuk menentukan apakah
bilangan bulat yang dimasukkan lewat keyboard adalah
bilangan yang genap atau bilangan ganjil.
Langkah utama yang harus dikerjakan pada persoalan ini,
adalah: memasukkan angka tersebut, kemudian angka ini
dibagi dua, bila bersisa maka ia bilangan ganjil, bila tidak
bersisa maka ia bilangan genap.
Algoritma (pseudo code)
Algoritma Pemilihan_1
{ contoh algoritma untuk menunjukkan pemakaian instruksi pemilihan.
algoritma ini menerima satu bilangan bulat kemudian memeriksanya
apakah bilangan genap atau bilangan ganjil }
 
DEKLARASI
integer bilangan
 
DESKRIPSI
write(“masukkan satu bilangan bulat : “)
read(bilangan)
 
if ( bilangan MOD 2 == 0 ) then
write( “bilangan genap ! “)
else
write( “bilangan ganjil ! “)
endif
Program C++
// Pemilihan_1
/* menunjukkan pemakaian instruksi
pemilihan untuk menetapkan apakah
bilangan adalah ganjil atau genap */
#include <iostream>
using namespace std;
int main()
{
int bilangan;
cout<<"Masukkan sebuah bilangan bulat : ";
cin>>bilangan;
// cari sisa pembgian dua
if (bilangan % 2 == 0)
cout << bilangan << " bilangan genap !" << '\n';
else cout << bilangan << " bilangan ganjil !" << '\n';
return 0;
}
Contoh kasus 2
Buat algoritma dan program untuk memilih bilangan
terbesar dari tiga bilangan (A,B,C) yang di-input
Algoritma Pemilihan
{ contoh algoritma ini menerima 3 bilangan bulat
kemudian menetapkan bilangan yang terbesar }
 Deklarasi
integer A, B, C, maks
 Deskripsi
write (" masukkan bilangan 1 : ")
read ( A )
write (" masukkan bilangan 2 : ")
read ( B )
write (" masukkan bilangan 3 : ")
read ( C )
 
if ( A > B )
then if ( A > C )
then write (" maksimum = ", A );
else write (" maksimum = ", C );
endif
else if ( B > C )
then write (" maksimum = ", B );
else write (" maksimum = ", C );
endif
endif 
//ABCterbesar.cpp
#include <iostream>
using namespace std;
Program C++
int main()
{
int A,B,C;
// baca A,B,C
cout << "Masukkan A : ";
cin >> A;
cout << "Masukkan B : ";
cin >> B;
cout << "Masukkan C : ";
cin >> C;
// pilih terbesar
if ( A > B)
if (A > C)
cout << "A terbesar = " << A << '\n';
else
cout << "C terbesar = " << C << '\n';
else
if (B > C)
cout << "B terbesar = " << B << '\n';
else
cout << "C terbesar = " << C << '\n';
// keluar
return 0;
}
Latihan

• Buat algoritma dan program untuk menginput sebuah


bilangan bulat, dan tentukan apakah bilangan
tersebut bernilai positif, negatif atau nol.
Latihan
• Rancang program untuk menentukan Gaji
Bersih seorang karyawan yang di input
datanya yaitu NIK, Nama Karyawan,
Golongan dan Status Perkawinan nya. Golongan Gaji Pokok
• Tunjangan Keluarga sebesar 10% dari gaji A 500000
pokok (lihat tabel berdasarkan Golongan) B 750000
C 1000000
jika Status Perkawinan nya adalah M
(Menikah) dan selainnya 0.
• Gaji bersih adalah akumulasi Gaji Pokok
dan Tunjangan Keluarga.
Latihan
• Diketahui nama hari dalam seminggu adalah: SENIN,
SELASA, RABU, KAMIS, JUMAT, SABTU dan MINGGU.
• Rancang program yang menerima masukan kode hari
(1 atau A untuk SENIN, 2 atau B untuk SELASA dst.)
untuk menghasilkan nama hari berdasarkan urutan
kode yang dimasukkan melalui keyboard.
Terima Kasih

Anda mungkin juga menyukai