-->

Definisi dan Jenis Konstruksi Dasar Pemilihan Selection

Definisi dan Jenis Konstruksi Dasar Pemilihan (Selection)

Selain runtutan (sequence), konstruksi dasar lain yang dapat digunakan untuk membangun sebuah algoritma adalah pemilihan (selection) yang berfungsi untuk mengendalikan atau mengontrol arah dari sebuah proses. Dengan kata lain, konstruksi dasar pemilihan digunakan untuk memilih langkah apa yang harus diambil/dilakukan selanjutnya apabila memenuhi sebuah kondisi pada langkah sebelumnya. Dengan adanya pemilihan tersebut, maka program seolah-olah dapat mempunyai pikiran bercabang karena mampu mengambil keputusan selanjutnya berdasarkan kondisi tertentu. Oleh karena itu, konstruksi dasar pemilihan sering disebut juga dengan percabangan atau pengambilan keputusan.

Sebuah kondisi pada pemilihan terdiri dari operasi logika yang hanya bernilai true – false dan dikatakan terpenuhi jika menghasilkan nilai true dari operasi logika tersebut. Pada materi sequence, sudah disampaikan terkait operator yang dapat digunakan untuk operasi logika seperti ditunjukkan pada tabel berikut.

Operator

Deskripsi

Contoh

= =

Sama dengan

m == n

!=

Tidak sama dengan

m != n

> 

Lebih besar

m > n

< 

Lebih kecil

m < n

>=

Lebih besar atau sama dengan

m >= n

<=

Lebih kecil atau sama dengan

m <= n

&&

logic AND

(m<100) && (m>80)

||

logic OR

(m>100) || m<0)

!

logic NOT

!(m == n)

* Untuk pengguna mobile silahkan landscape hp untuk melihat tabel keseluruhan

Contoh program Operator Logika :
Konstruksi dasar pemilihan dapat dibagi menjadi empat jenis, yaitu pemilihan tunggal, pemilihan ganda, dan pemilihan majemuk (lebih dari dua), dan pemilihan bersarang.

A. Pemilihan Tunggal

Pemilihan tunggal digunakan untuk menjalankan proses yang ada pada satu kondisi saja. Jika kondisi terpenuhi (bernilai true) maka proses yang ada di dalam kondisi tersebut akan dijalankan dan jika kondisi tidak terpenuhi (bernilai false), maka tidak akan ada proses yang dijalankan (proses tersebut dilewati). Bentuk flowchart untuk pemilihan tunggal adalah sebagai berikut :
Sedangkan bentuk pseudocode untuk pemilihan tunggal adalah sebagai berikut.
IF (kondisi) THEN
Proses/instruksi
ENDIF

Hasil translasi ke struktur Bahasa C++ adalah sebagai berikut.
if (kondisi) 
{
Proses/instruksi;
}

Contoh untuk latihan :
Coba identifikasi kode program :
  • Apa yang terjadi ketika memasukkan angka 10 dan angka 35?
  • Kondisi apa yang menentukan pemilihan tersebut dan proses apa yang ada di dalam kondisi tersebut?

B.Pemilihan Ganda

Pemilihan ganda digunakan untuk menjalankan proses yang ada pada salah satu kondisi dari kemungkinan dua kondisi yang ada. Jika kondisi pertama terpenuhi (bernilai true), maka hanya proses yang ada di kondisi pertama saja yang akan dijalankan, sedangkan proses yang ada di kondisi kedua akan dilewati. Namun sebaliknya, jika kondisi pertama tidak terpenuhi (bernilai false), maka proses pada kondisi pertama yang akan dilewati dan proses yang ada pada kondisi kedua yang akan dijalankan. Bentuk flowchart untuk pemilihan ganda adalah sebagai berikut :
Sedangkan bentuk pseudocode untuk pemilihan ganda adalah sebagai berikut.
IF (kondisi) THEN
Proses/instruksi-1
ELSE
Proses/instruksi-2
ENDIF

Hasil translasi ke struktur Bahasa C++ adalah sebagai berikut.
if (kondisi) 
{
Proses/instruksi-1;
}
else
{
Proses/instruksi-2;
}

Contoh untuk latihan :

Identifikasi kode program :
  • Apa yang terjadi ketika memasukkan angka 100000 dan 5000?
  • Kondisi apa yang menentukan pemilihan tersebut dan proses apa yang ada di dalam setiap kondisi tersebut?

C. Pemilihan Majemuk

Pemilihan majemuk digunakan untuk menjalankan proses yang ada pada salah satu kondisi dari banyak kondisi yang ada. Jika kondisi pertama terpenuhi (bernilai true), maka hanya proses yang ada di kondisi pertama saja yang akan dijalankan, sedangkan proses yang ada di kondisi yang lain akan dilewati. Namun, jika kondisi pertama tidak terpenuhi (bernilai false), maka kondisi berikutnya akan diperiksa sampai diperoleh kondisi yang diminta terpenuhi dan proses yang ada pada kondisi tersebut akan dijalankan, sedangkan proses yang ada di kondisi yang lain akan dilewati. Bentuk flowchart untuk pemilihan majemuk adalah sebagai berikut :
Sedangkan bentuk pseudocode untuk pemilihan majemuk adalah sebagai berikut.
IF (kondisi-1) THEN
Proses/instruksi-1
ELSE IF (kondisi-2) THEN
Proses/instruksi-2
ELSE IF (kondisi-3) THEN
Proses/instruksi-3
………….
ELSE IF (kondisi-m) THEN
Proses/instruksi-m
ELSE
Proses/instruksi-n
ENDIF

Hasil translasi ke struktur Bahasa C++ adalah sebagai berikut.
if (kondisi-1) 
{
Proses/instruksi-1;
}
else if (kondisi-2)
{
Proses/instruksi-2;
}
else if (kondisi-3)
{
Proses/instruksi-3;
}
…………
else if (kondisi-m)
{
Proses/instruksi-m;
}
else
{
Proses/instruksi-n;
}

Contoh untuk latihan :
Identifikasi kode program :
  • Apa yang terjadi ketika memasukkan angka 150000, 50000, 30000, dan 10000?
  • Kondisi apa yang menentukan pemilihan tersebut dan proses apa yang ada di dalam setiap kondisi tersebut?
Selain menggunakan struktur IF – ELSE IF – ELSE, pemilihan majemuk juga dapat dilakukan dengan menggunakan struktur SWITCH – CASE sebagai alternatifnya. Namun, struktur SWITCH – CASE hanya dapat digunakan untuk kondisi yang membandingkan sama atau tidak (= =), tidak dapat digunakan untuk kondisi yang membandingkan >, >=, <, atau <=. Selain itu, struktur SWITCH – CASE hanya tergantung pada satu variabel saja dan kondisi yang diperiksa harus berupa data integer karakter atau boolean. Oleh karena itu, tidak semua bentuk IF – ELSE IF – ELSE dapat diubah menjadi SWITCH-CASE, tetapi semua bentuk SWITCH – CASE dapat diubah menjadi bentuk IF – ELSE IF – ELSE. Bentuk pseudocode untuk pemilihan majemuk dengan menggunakan struktur SWITCH – CASE adalah sebagai berikut.
SELECT CASE (variabel)
CASE Konstanta-1:
Proses/Instruksi-1;
CASE Konstanta-2:
Proses/Instruksi-2;
………….
CASE Konstanta-m:
Proses/Instruksi-m;
CASE ELSE:
Proses/Instruksi-n
END SELECT

Hasil translasi ke struktur Bahasa C++ adalah sebagai berikut.
switch (variabel)
{
case konstanta-1:
Proses/Instruksi-1;
break;
case konstanta-2:
Proses/Instruksi-2;
break;
………………
case konstanta-m:
Proses/Instruksi-m;
break;
default:
Proses/Instruksi-n;
break;
}

Contoh untuk latihan :
Identifikasi kode program :
  • Apa yang terjadi ketika memasukkan angka 1 dan 10?
  • Kondisi apa yang menentukan pemilihan tersebut dan proses apa yang ada di dalam kondisi tersebut?

D. Pemilihan Bersarang

Pemilihan bersarang terjadi ketika struktur pemilihan juga terdapat pada instruksi yang ada di dalam suatu kondisi pemilihan. Dengan kata lain, terdapat struktur IF di dalam struktur IF sebelumnya (nested if). Jika kondisi IF sebelumnya (kondisi 1) terpenuhi (bernilai true), maka struktur IF yang ada di dalamnya (kondisi 2) akan diperiksa dan instruksi di dalam kondisi 2 yang terpenuhi akan dijalankan. Bentuk flowchart untuk pemilihan bersarang adalah sebagai berikut :
Sedangkan bentuk pseudocode untuk pemilihan majemuk adalah sebagai berikut.
IF (kondisi-1) THEN
IF (kondisi-2) THEN
Proses/instruksi-11
ELSE
Proses/instruksi-12
ENDIF
ELSE
Proses/instruksi-2

Hasil translasi ke struktur Bahasa C++ adalah sebagai berikut.
if (kondisi-1) 
{
If (kondisi-2)
{
Proses/instruksi-11;
}
else
{
Proses/instruksi-12;
}
}
else
{
Proses/instruksi-2;
}

Contoh untuk latihan :

Identifikasi kode program :
  • Apa yang terjadi jika kedua input diisi dengan Y atau T untuk semua kemungkinan?
  • Apa yang terjadi jika kedua input diisi dengan y atau t untuk semua kemungkinan?
Bandingkan output yang dihasilkan dari kode program di atas dengan kode program berikut:
Baiklah mungkin sekian penjelasan mengenai Definisi dan Jenis Konstruksi Dasar Pemilihan (Selection). Jika ada yang ingin di tanyakan silahkan tulis di kolom komentar dan silahkan bookmarks artikel ini untuk dapat dibuka kembali dengan cepat saat ingin membaca kembali. Selamat belajar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel

close