• Tidak ada hasil yang ditemukan

Pertemuan 5 PEMILIHAN/PERCABANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "Pertemuan 5 PEMILIHAN/PERCABANGAN"

Copied!
41
0
0

Teks penuh

(1)

Pertemuan 5 – PEMILIHAN/PERCABANGAN

Jadwal: Selasa, 24/10/2017, 10:20-12.00 (2 sks)

Dosen:

Condro Kartiko

ALGORITMA PEMROGRAMAN

(Semester 1 - IF6110202)

S1 Informatika IT Telkom Purwokerto

(2)

CAPAIAN PEMBELAJARAN UMUM

Setelah mengikuti mata kuliah Algoritma Pemrograman,

Mahasiswa S1 Informatika mampu membuat algoritma dalam

bentuk pseudocode dan flowchart serta membangun program

(3)

CAPAIAN PEMBELAJARAN KHUSUS

Setelah menyelesaikan pertemuan ke-5 ini diharapkan mahasiswa

mampu menerapkan algoritma pemilihan/percabangan ke dalam

pseudocode dan program

S1 Informatika IT Telkom Purwokerto

(4)

CAPAIAN PEMBELAJARAN KHUSUS

(5)

PUSTAKA WAJIB

• Munir, Rinaldi., Leony Lidya. 2016.

Algoritma

dan

Pemrograman

Dalam Bahasa Pascal, C, dan C++

Edisi Keenam. Bandung: Penerbit

Informatika.

BAB 7 – PEMILIHAN

S1 Informatika IT Telkom Purwokerto

(6)

SUB POKOK BAHASAN

• Pendahuluan

• Menganalisis Kasus

• Satu Kasus

• Dua Kasus

• Tiga Kasus atau Lebih

• Konstruksi Case

• Translasi Algoritma dengan Struktur Pemilihan dalam C++

• Contoh Soal dan Pembahasan

(7)

PENDAHULUAN (1)

S1 Informatika IT Telkom Purwokerto

Apa yang anda ketahui tentang

konsep Percabangan?

(8)

PENDAHULUAN (2)

A B

Pilih mana ya ……

(9)

PENDAHULUAN (3)

S1 Informatika IT Telkom Purwokerto

• Percabangan adalah adalah suatu kondisi dimana sebuah

instruksi tidak dijalankan secara sekuensial, tetapi lebih

berdasarkan pada kondisi.

• Pernyataan percabangan memungkinkan suatu pernyataan

dieksekusi hanya jika suatu kondisi terpenuhi atau tidak

terpenuhi.

(10)

• Program hanya akan menjalankan statement yang ada di

dalam percabangan jika kondisi bernilai

benar

atau

true

.

• Kondisi pada percabangan harus berupa operator

Boolean.

• Contoh:

int a = 5

// statement bukan merupakan kondisi

int a == 5

// statement yang berupa kondisi

• Kondisi menggunakan operator – operator Boolean

yang hanya memberikan hasil true atau false seperti

==, >, <, >=, <=, !=, &, &&, |, ||

(11)

JENIS STRUKTUR PERCABANGAN

S1 Informatika IT Telkom Purwokerto

(12)

IF.. ELSE (1)

Digunakan untuk menguji sebuah kondisi.

Bila kondisi yang diuji terpenuhi, program akan

menjalankan pernyataan – pernyataan tertentu

Bila kondisi yg diuji salah, program akan menjalankan

(13)

IF.. ELSE (2)

S1 Informatika IT Telkom Purwokerto

Bentuk umumnya adalah :

IF kondisi then

{pernyataan yg dijalankan jika kondisi terpenuhi}

else

(14)

JENIS PERCABANGAN IF

Proses percabangan IF memiliki tiga kasus, antara lain

:

• Percabangan Tunggal

• Percabangan Ganda

(15)

PERCABANGAN TUNGGAL (1)

S1 Informatika IT Telkom Purwokerto

Percabangan tunggal bekerja apabila hanya ada SATU

alternatif instruksi saja yang dijalankan. Logika ini

memungkinkan kompiler untuk menjalankan sebuah

instruksi atau tidak sama sekali. Kompiler baru akan

menjalankan instruksi yang ada di dalam notasi

percabangan apabila kondisi yang diinginkan

terpenuhi atau memberikan nilai akhir

true

Apabila kondisi tersebut memberikan nilai akhir

false

(16)

PERCABANGAN TUNGGAL (2)

//jika hanya terdiri satu statement

if (kondisi) statemen

//jika terdapat lebih dari satu statement

if (kondisi) {

statemen1;

statemen2;

….. }

(17)

PERCABANGAN TUNGGAL (3)

S1 Informatika IT Telkom Purwokerto

(18)

PERCABANGAN TUNGGAL (4)

#include<iostream.h> #include<conio.h>

main(){

int nilai;

cout<<”Masukkan Nilai = ”;cin>>nilai;

if (nilai>0)

(19)

PERCABANGAN GANDA(1)

S1 Informatika IT Telkom Purwokerto

Percabangan ganda apabila terdapat DUA alternatif

instruksi yang dijalankan. Logika ini memungkinkan

kompiler menjalankan salah satu dari DUA alternatif

instruksi yang ada, dan salah satu instruksi pasti

dijalankan.

Struktur percabangan jenis ini sedikit lebih kompleks

bila dibandingkan dengan struktur yang hanya

memiliki satu buah kondisi.

(20)

PERCABANGAN GANDA(2)

if (kondisi)

{ statemen_jika_kondisi_terpenuhi; }

else

(21)

PERCABANGAN GANDA(3)

S1 Informatika IT Telkom Purwokerto

Dalam menuliskan kondisi/syarat selalu digunakan operator

relasional sebagai sarana untuk melakukan proses pengecekan :

Operator

Arti

>

Lebih besar

<

Lebih kecil

= =

Sama dengan

>=

Lebih atau sama

<=

Kurang atau sama

(22)

PERCABANGAN GANDA(4)

#include<iostream.h> #include<conio.h>

main(){

int nilai;

cout<<"Masukkan Nilai = “;cin>>nilai; if (nilai % 2 == 0)

cout<<“adalah bilangan genap"; else

(23)

PERCABANGAN LEBIH DARI DUA (1)

S1 Informatika IT Telkom Purwokerto

Pada dasarnya hanya terdapat DUA jenis seleksi dalam

struktur algoritma pemrograman, namun bukan

berarti hanya bisa dikembangkan pada DUA jenis

tersebut saja. Struktur seleksi dapat dikembangkan

menjadi bentuk yang tidak terbatas dan dapat

dikombinasikan kedalam bentuk perulangan selama

notasi penulisannya tidak terdapat kesalahan.

Kemampuan logika seseorang dalam merancang

program dan mengamati dari permasalahan yang ada

menjadi bagian yang paling penting dalam melakukan

pengembangan dari bentuk seleksi ini. Dibawah ini

akan diberikan contoh seleksi menggunakan kondisi

lebih dari DUA

(24)

PERCABANGAN LEBIH DARI DUA (2)

Percabangan jenis ini merupakan perluasan dari

struktur percabangan dengan satu dan dua kondisi.

Strukturnya yaitu :

if (kondisi_1)

{statemen_jika_kondisi_1_terpenuhi;}

else if (kondisi_2)

{statemen_jika_kondisi_2_terpenuhi;}

else if (kondisi_3)

{statemen_jika_kondisi_3_terpenuhi;}

(25)

PERCABANGAN LEBIH DARI DUA (3)

S1 Informatika IT Telkom Purwokerto

(26)

PERCABANGAN LEBIH DARI DUA (4)

#include<iostream.h> #include<conio.h> main(){

int bil;

cout<<“Input angka yg akan dicek “;cin>>bil; if (bil > 0)

{cout<<bil<<" adalah bilangan Positif“;} else if (bil < 0)

{cout<<bil<<" adalah bilangan Negatif“;} else

(27)

APA BEDANYA ?

S1 Informatika IT Telkom Purwokerto

(28)

SWITCH (1)

Selain menggunakan struktur if, juga bisa mempunyai

percabangan dengan menggunakan switch.

Hampir sama dengan struktur percabangan IF, tetapi

lebih cocok digunakan jika kondisi yang diperiksa

sangat banyak

Digunakan untuk menyederhanakan if..else if..

Mempunyai banyak kondisi.

(29)

SWITCH (2)

S1 Informatika IT Telkom Purwokerto

Kondisi yang diperiksa harus berupa data ordinal

(bertipe

integer

atau

char

), dan tidak boleh bertipe

real

(30)

SWITCH (3)

switch (ekspresi) { case nilai_konstanta1 : statemen(pernyataan); break; case nilai_konstanta2 : statemen(pernyataan); break; ……. default : statemen(pernyataan)_alternatif;

(31)

SWITCH (4)

S1 Informatika IT Telkom Purwokerto #include <iostream.h> #include <conio.h> main() { int a; cout<<"Masukkan bilangan:“;cin>>a; switch (a){ case 1 : cout<<"Hari ke "<<a<<“:Minggu"; break;

(32)

SWITCH (5)

case 2 :

cout<<"Hari ke "<<a<<" : Senin"; break;

case 3 :

cout<<"Hari ke "<<a<<" : Selasa"; break;

case 4 :

cout<<"Hari ke "<<a<<" : Rabu"; break;

(33)

SWITCH (6)

S1 Informatika IT Telkom Purwokerto

case 5 :

cout<<"Hari ke "<<a<<" : Kamis"; break;

case 6 :

cout<<"Hari ke "<<a<<" : Jum'at"; break;

case 7 :

cout<<"Hari ke "<<a<<" : Sabtu"; break;

default :

cout<<"Tidak terdapat hari ke"<<a; }

(34)

PERNYATAAN SWITCH-CASE

Struktur logika switch-case dapat digambarkan sbb.:

case b case a case z case a action(s) case b action(s) case z action(s) break break break default action(s) true true true false false false case b case a case z case a action(s) case b action(s) case z action(s) break break break default action(s) true true true false false false

(35)

PERBEDAAN IF DAN CASE

S1 Informatika IT Telkom PurwokertoUnggul yang mana antara struktur if dengan struktur case.?

 Sebenarnya kalau dikatakan unggul, keduanya sama-sama unggul. Karena struktur case memiliki kelebihan dari pada struktur if, dan struktur if pun memiliki kelebihan dari pada struktur case.

Kelebihan statemen case terletak pada struktur script atau codenya yang lebih ringkas dibandingkan dengan struktur pada if.

Sedangkan kelebihan statemen if yaitu struktur if dapat menyelesaikan hampir seluruh permasalahan, sedang case tidak semua permasalahan dapat diselesaikan dengan ini.

Mengapa statemen if dapat menyelesaikan hampir semua masalah, sedangkan statemen case tidak bisa?

Karena pada statemen if dapat menjalankan suatu percabangan di

dalam percabangan yang disebut juga dengan istilah if bersarang, dan

(36)

Selanjutnya Baca…

• Munir, Rinaldi., Leony Lidya. 2016.

Algoritma

dan

Pemrograman

Dalam Bahasa Pascal, C, dan C++

Edisi Keenam. Bandung: Penerbit

Informatika.

(37)

Tugas (1)

S1 Informatika IT Telkom Purwokerto

Petunjuk pengerjaan:

Kerjakan beberapa latihan soal di bawah ini, diketik dalam format PDF dan

dikumpulkan via email ke [email protected] paling lambat

Minggu, tanggal 29 Oktober 2017 pukul 23:59 WIB. Format file dan subjek

email: [ALPRO]S1IF05A Tugas4_NIM1_Nama1,NIM2_Nama2,NIM3_Nama3 1. [poin 10]Buatlah algoritma yang membaca sebuah bilangan bulat positif

lalu menentukan apakah bilangan tersebut merupakan kelipatan 4.

2. [poin 10]Pasar Swalayan X memberikan diskon harga bagi pembeli yang

nilai total belanjanya lebih dari Rp100.000. Tulislah algoritma untuk menentukan nilai belanja setelah dikurangi diskon. Data masukan adalah nilai total belanja pembeli, sedangkan keluarannya adalah diskon harga dan nilai belanja setelah dikurangi diskon.

(38)
(39)

Tugas (3)

S1 Informatika IT Telkom Purwokerto

6. [poin 10]Jika kita berbelanja di pasar swalayan/supermarket, nilai total

belanja kita seringkali bukan kelipatan pecahan rupiah yang berlaku.

Misalnya, nilai total belanja adalah Rp19.212,-. Andaikan saat ini pecahan rupiah yang berlaku paling kecil Rp25,-. Selain itu, juga ada pecahan Rp50,-dan Rp100,-. Umumnya kasir pasar swalayan membulatkan nilai belanja ke pecahan yang terbesar. Jadi Rp19.212,- dibulatkan menjadi Rp19.225,-. Hal ini jelas merugikan konsumen. Misalkan Anda memiliki pasar swalayan

yang jujur dan tidak merugikan pembeli, sehingga jika ada nilai belanja yang bukan kelipatan pecahan yang ada, maka nilai belanja itu dibulatkan ke pecahan terendah. Jadi, Rp19.212,- dibulatkan menjadi Rp19.200,-. Tulislah algoritma yang membaca nilai belanja (integer) lalu

membulatkannya ke nilai uang dengan pecahan terendah.

7. [poin 10](a) Tuliskan algoritma yang membaca bilangan bulat positif dalam

rentang 1 sampai 10, lalu mengonversinya ke dalam angka romawi.

(b) Kembangkan algoritma (a) di atas sehingga dapat mengonversi bilangan bulat positif sembarang ke dalam angka romawinya.

(40)

Tugas (4)

8. [poin 10]Dalam bidang pengolahan citra (image processing), elemen

gambar terkecil disebut pixel (picture element). Nilai pixel untuk gambar 256 warna adalah dari 0 sampai 255. Operasi-operasi terhadap pixel

seringkali berada di luar rentang nilai ini. Jika ini kasusnya, maka nilai hasil operasi harus dipotong (clipping) sehingga tetap berada di dalam interval [0..25]. Jika nilai hasil operasi lebih besar dari 255, maka nilai tersebut dipotong menjadi 255, dan bila negatif maka dipotong menjadi 0. Dibaca sebuah nilai hasil operasi pengolahan citra, buatlah algoritma untuk

melakukan clipping tersebut.

9. [poin 10]Dibaca dua buah hari, hari pertama dan hari kedua. Tulislah

algoritma untuk menghitung durasi (selisih) kedua hari tersebut. Misalnya, hari pertama Kamis dan hari kedua Senin, maka dari Kamis ke Senin

(41)

S1 Informatika IT Telkom Purwokerto

Referensi

Dokumen terkait

Berdasarkan pernyataan tersebut menunjukkan bahwa informan mengetahui secara jelas prosedur pelayanan dilakukan dimana dan memahami secara pasti tentang pemberian surat

Sistem berjalan secara sekuensial telah membuat alat pump plant control sesuai dengan yang diharapkan yaitu kondisi timer yang akan menyalakan pompa selama 30 detik dan yang

Jika hasil dari kondisi sama dengan nilai konstanta tertentu, maka pernyataan pada konstanta tersebut akan dijalankan sampai ditemukan pernyataan break9. Jika

Jika hasil dari kondisi sama dengan nilai konstanta tertentu, maka pernyataan pada konstanta tersebut akan dijalankan sampai ditemukan pernyataan break.. Jika

Dalam kondisi tertentu, seperti kendala jaringan dan/atau kondisi gawai yang tidak memungkinkan, pegawai yang mengikuti acara secara virtual dapat dikecualikan dari

• PCM adalah representasi digital dari sinyal analog, dimana gelombang disample secara beraturan berdasarkan interval waktu tertentu, yang kemudian akan diubah ke biner..

Untuk mewujudkan sikap menjadi suatu perbuatan nyata diperlukan faktor pendukung atau suatu kondisi yang memungkinkan, antara lain adalah fasilitas.11 Berdasarkan pernyataan dari teori

Troubleshooting Routing Dinamis Routing dinamis adalah mekanisme yang memungkinkan perangkat jaringan secara otomatis menyesuaikan rute pengiriman data berdasarkan perubahan kondisi