BAB 3 PENYELESAIAN KONDISI

dokumen-dokumen yang mirip
Bab 4 Perintah Perulangan

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

Kondisi Dan Keputusan. Agus Priyanto, M.Kom

STRUKTUR KONTROL. IF kondisi THEN [blok] Statement ELSE [blok] Statement. IF kondisi THEN BEGIN END; IF kondisi THEN BEGIN IF kondisi THEN BEGIN

MUHAMMAD BURHANUDDIN. Teknik Industri Universitas Borobudur (NIM # )

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

STATEMENT INPUT ALGORITMA & PEMROGRAMAN 1B

STATEMEN INPUT. Menggunakan Kounter

Teori Algoritma. Struktur Algoritma

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

Selection / Pemilihan PEMILIHAN

1. Laporan Akhir 1. Menentukan Nilai Besar atau Nilai Kecil. Program yang di masukkan adalah :

Selection, Looping, Branching

IF... THEN... ELSE. Bentuk umum IF...THEN...ELSE dibagi menjadi 2 kelompok : 1. IF...THEN...ELSE Satu baris 2. IF...THEN...

VISUAL BASIC 6.0 SETYO BUDI, M.KOM.

Bab 7 PEMROGRAMAN MODULAR

KONDISI DAN KEPUTUSAN

Algoritma dan Flowchart. Dasar Programming 1

Pertemuan 4 SELEKSI KONDISI

Struktur Kendali Kondisi

PEMBAHASAN UJIAN TENGAH SEMESTER PEMROGRAMAN BERBASIS OBYEK Dosen : Tim Dosen PBO

Definisi Percabangan

Bab 5 Array (Variabel Berindeks)

Kondisi Dan Keputusan. Agus Priyanto, M.Kom

STRUKTUR DASAR ALGORITMA. Rio Widyatmoko,

ALGORITMA PEMROGRAMAN 1A** (PP :S1-KA) PERTEMUAN

Pertemuan 4 Diagram Alur / Flowchart

Visual Basic 6.0 For Beginners

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-3 - Hal 1

Statemen RESTORE. Statemen INPUT. Contoh : digunakan untuk mengembalikan pointer ke awal DATA sehingga data dapat dibaca kembali.

Pertemuan ke-3. Statemen input/output Struktur Kontrol Keputusan

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

MODUL 2 SELECTION & LOOPING PADA FORM

Pertemuan ke 3 Percabangan. Pemrograman 2 Dosen : Eko Budi Setiawan, S.Kom. Universitas Komputer Indonesia

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

RINGKASAN PEMROGRAMAN QUICK BASIC

P A S C A L D A S A R

Bab 4. Decision 2 (Pengambilan Keputusan)

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Struktur kontrol terbagi dalam dua jenis yaitu : Struktur pengambilan keputusan Struktur pengulangan (Loooping)

MODUL PRAKTIKUM VB.NET STMIK-IM BANDUNG MODUL-MODUL PRAKTIKUM. VB. Net. Oleh : CHALIFA CHAZAR S T M I K - I M B A N D U N G

FLOWCHART - LANJUTAN

ALGORITMA & FLOWCHART

Universitas Komputer Indonesia

Program yang hanya berisi runtunan instruksi biasanya terdapat pada masalah sederhana Seringkali suatu instruksi hanya bisa dilakukan jika ia

Pertemuan2 Percabangan & Perulangan pada Python

Sesi /Perkuliahan ke : 5

Sesi/Perkuliahan ke: 3

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Buat program untuk menghitung volume dari sebuah kubus

PRAKTIKUM 4 PERCABANGAN

OPERASI SELEKSI PEMROGRAMAN C++

PERCABANGAN PADA PYTHON

ALGORITMA DAN PEMROGRAMAN

PRAKTIKUM 2 KONDISI DAN PILIHAN

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

V. STRUKTUR PEMILIHAN

Struktur Kontrol. (Repetition)

Percabangan & Perulangan

OPERATOR DAN STATEMEN I/O

Bab 3. Decision 1 (Pengambilan Keputusan)

Soal hari Selasa (13/10) Latihan 7 AN

Pemrograman Dasar P E N G A N T A R A L G O R I T M A

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

{Pertemuan 4 Struktur Kondisi IF}

TPI4202 e-tp.ub.ac.id. Lecture 5

Pertemuan 4 Diagram Alur / Flowchart

Bab 2 Struktur Dasar

Algoritma dan Struktur Data

PEMILIHAN. Runtunan. Dian Palupi Rini, M.Kom

PERTEMUAN 4 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PEMILIHAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Pertemuan6 Percabangan & Perulangan pada Ruby

Algoritma,Flowchart, Konsep

Pendahuluan. Kuadran I (X>0, Y>0) Kuadran II (X<0, Y>0) Kuadran IV (X>0, Y<0) Kuadran III (X<0, Y<0)

2.4. Struktur Branching

DEFINISI SIMBOL FLOWCHART

3. Analisis Masalah dan Penyelesaian

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Decission : if & if else

PENYAJIAN ALGORITMA. a. Stuctured English b. Psedoucode

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

Andy Prasetyo Utomo, S.Kom Pemrograman Terstruktur (Visual Basic 6.0)

Aliran Kendali (Flow Control)

PENGAMBILAN KEPUTUSAN

Percabangan. Agus Priyanto, M.Kom

7. Logika dan Algoritma Pemrograman

Algoritma Pemograman 1 A. Minggu 1

Brigida Arie Minartiningtyas, M.Kom

Algoritma. Contoh Algoritma

PENGENALAN MATLAB UNIVERSITAS MUHAMMADIYAH JEMBER ILHAM SAIFUDIN PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK. Senin, 06 Maret 2017

Pelatihan fortran JURUSAN TEKNIK SIPIL 2014 / 2015

Sintaks Pemilihan 1. Jika saya lulus, maka saya akan mendapat hadiah.

Konstruksi Dasar Algoritma

LAB SHEET PRAKTIK PEMROGRAMAN KOMPUTER

CCH1A4 / Dasar Algoritma & Pemrogramanan

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

Dasar Komputer & Pemrograman 2A

MODUL IV CONDITION 2

Transkripsi:

BAB 3 PENYELESAIAN KONDISI 3.1. Struktur IF..THEN Perintah IF digunakan untuk memeriksa sebuah kondisi dan mengeksekusi satu atau lebih baris program, jika dan hanya jika kondisi terpenuhi. Program 3.1 : INPUT nilai IF nilai>55 THEN PRINT "LULUS" nilai > 55 Tidak Ya Cetak "Lulus" Gambar 3.1. Flowchart untuk perintah IF Jika variabel nilai berisi bilangan yang lebih besar dari pada 55, maka akan dicetak pesan "LULUS", tetapi jika kondisi salah maka perintah PRINT tidak akan dikerjakan 3.2. Struktur IF..THEN...ELSE... Cara penulisan IF..THEN..ELSE IF kondisi THEN statement-1 ELSE statement-2 Struktur IF..THEN...ELSE...satu baris digambarkan oleh flowchart berikut : halaman 24 Iwan Syarif

kondisi benar Statement 1 salah Statement 2 Gambar 3.2. Flowchart IF..THEN..ELSE Program 3.2. INPUT nilai IF nilai>55 THEN PRINT "LULUS" ELSE PRINT "Tidak Lulus" Berikut ini adalah program untuk mengetahui bilangan yang diinputkan tersebut adalah bilangan genap atau ganjil. Mulai Input bil bil habis dibagi 2? Cetak "Genap" Tidak Ya Cetak "Genap" Selesai Gambar 3.3. Flowchart untuk mengetahui bilangan genap/ganjil halaman 25

Struktur perintah IF..THEN..ELSE dapat dituliskan dalam 1 baris jika perintah yang dikerjakan jika kondisi benar/ salah tidak lebih dari 1 baris. Program 3.3. REM Contoh Program IF..ELSE...ditulis 1 baris REM Program untuk mengenali bilangan genap atau ganjil INPUT "Masukkan sembarang bilangan :", bil IF bil mod 2=0 THEN? "Bilangan Genap" ELSE? "Bilangan Ganjil" Selain bentuk di atas, program tersebut juga dapat ditulis dalam format seperti berikut ini : Program 3.4. REM Contoh Program IF..ELSE...ditulis bertingkat INPUT "Masukkan sembarang bilangan :", bil IF bil mod 2=0 THEN? "Bilangan Genap" ELSE? "Bilangan Ganjil" END IF Jika statement yang dikerjakan lebih dari 1 baris, maka struktur IF..ELSE..harus ditulis pada suatu blok seperti pada contoh program di bawah ini : Program 3.5. REM Contoh Program IF..ELSE...ditulis bertingkat INPUT "Masukkan nilai :", nilai IF nilai >55 THEN PRINT "Selamat, Anda dinyatakan lulus" PRINT "Pertahankan prestasi anda ELSE PRINT "Anda tidak lulus" PRINT "Jangan putus asa, belajar lebih giat" END IF halaman 26

3.3. Struktur IF bertingkat Struktur IF..THEN...ELSEIF...ELSE END IF kondisi 1 benar Statement 1 salah kondisi 2 benar Statement 2 salah Statement 3 Gambar 3.4. Flowchart IF..THEN...ELSEIF...ELSE END IF Contoh : Berikut ini adalah flowchart dan program untuk menghitung nilai diskriminan. Mulai Input a,b,c D = b*b-4*a*c D>0 ya Cetak "Ada 2 akar real" tidak D=0 ya Cetak "Akarnya kembar" tidak Cetak "Akarnya imajiner" Selesai Gambar 3.5. Flowchart untuk menghitung nilai diskriminan halaman 27

Program 3.6. REM Program untuk menghitung diskriminan REM Sebagai input adalah variabel a,b,c INPUT a,b,c D=b^2-4*a*c IF D>0 THEN PRINT "Ada 2 akar real" ELSEIF D=0 THEN PRINT "Akarnya kembar" ELSE PRINT "Akarnya imajiner" END IF Berikut ini adalah flowchart dan program BASIC untuk mengkonversi nilai angka ke nilai huruf : halaman 28

Mulai Input na na>80 and na<=100 Ya nh$="a" na>65 and na<=80 Ya nh$="b" na>55 and na<=65 Ya nh$="c" na>40 and na<=55 Ya nh$="d" na>=0 and na<=40 Ya nh$="e" tidak nh$=" " Cetak "Salah entri" Cetak "Nilai Huruf=",nh$ Selesai Gambar 3.6. Flowchart untuk mengkonversi nilai angka ke nilai huruf halaman 29

Program BASIC untuk flowchart di atas adalah sbb. : Program 3.7. REM Contoh Program IF bertingkat REM Program untuk mengkonversi nilai angka ke nilai huruf INPUT "Masukkan nilai angka : ",na IF na>80 and na<=100 THEN nh$="a"' ELSEIF na>65 and na<= 80 THEN nh$="b" ELSEIF na>55 and na<= 65 THEN nh$="c" ELSEIF na>40 and na<= 55 THEN nh$="d" ELSEIF na>=0 and na<= 40 THEN nh$="e" ELSE print "Salah entri." nh$="-" END IF PRINT "Nilai Huruf : ",nh$ END Masukkan nilai angka : 55 Nilai Huruf : D Masukkan nilai angka : 80 Nilai Huruf : B Masukkan nilai angka : 125 Salah entri. Nilai Huruf : - Masukkan nilai angka : -30 Salah entri. Nilai Huruf : - halaman 30

3.4. SELECT CASE Instruksi SELECT..CASE digunakan untuk mengatur eksekusi baris instruksi berdasarkan nilai dari ekspresi yang terpenuhi dalam suatu alur program. Bentuk umum dari instruksi ini adalah : SELECT CASE ekspresi CASE nilai yang diperiksa blok instruksi CASE nilai yang diperiksa blok instruksi CASE ELSE blok instruksi END SELECT Program 3.8. REM Contoh Progam menggunakan SELECT..CASE Versi 1.0 INPUT "Nilai Matematikamu dapat apa (A-E)? ",nilai$ SELECT CASE nilai$ CASE "A" PRINT "Sangat memuaskan" CASE "B" PRINT "Memuaskan" CASE "C" PRINT "Cukup" CASE "D" PRINT "Kurang" CASE "E" PRINT "Sangat Kurang" CASE ELSE PRINT "Kamu salah masukkan data " END SELECT Nilai Matematikamu dapat apa (A-E)? A Sangat memuaskan Nilai Matematikamu dapat apa (A-E)? D Kurang halaman 31

Nilai Matematikamu dapat apa (A-E)? F Kamu salah masukkan data Nilai Matematikamu dapat apa (A-E)? a Kamu salah masukkan data Pada contoh di atas, jika dimasukkan data 'A' (huruf A besar) maka akan dicetak pesan 'Sangat memuaskan', tetapi jika dimasukkan data 'a' (huruf a kecil) maka program akan menampilkan pesan 'Kamu salah memasukkan data'. Hal ini disebabkan karena pada variabel bertipe string, huruf kecil dan huruf besar dianggap berbeda karena mempunyai kode ASCII yang berbeda. Supaya program di atas dapat menerima input berupa huruf besar maupun huruf kecil, maka program tersebut perlu diubah menjadi sbb. : Program 3.9. REM Contoh Progam menggunakan SELECT..CASE Versi 2.0 INPUT "Nilai Matematikamu dapat apa (A-E)? ",nilai$ SELECT CASE nilai$ CASE "A", a PRINT "Sangat memuaskan" CASE "B", b PRINT "Memuaskan" CASE "C", c PRINT "Cukup" CASE "D", d PRINT "Kurang" CASE "E", e PRINT "Sangat Kurang" CASE ELSE PRINT "Kamu salah masukkan data " END SELECT Nilai Matematikamu dapat apa (A-E)? a Sangat memuaskan Nilai Matematikamu dapat apa (A-E)? E Sangat Kurang halaman 32

Nilai Matematikamu dapat apa (A-E)? F Kamu salah masukkan data Perintah SELECT..CASE juga dapat digunakan untuk mengecek range nilai suatu variabel seperti terlihat pada contoh berikut ini : Program 3.10. REM Contoh Program menggunakan SELECT..CASE REM untuk mengecek range nilai suatu variabel REM Program ini untuk mengkonversi REM nilai angka ke nilai huruf INPUT "Masukkan nilai angka (0-100)?",nilai SELECT CASE nilai CASE 0 TO 40 PRINT "E" CASE 41 TO 55 PRINT "D" CASE 55 TO 65 PRINT "C" CASE 66 TO 80 PRINT "B" CASE 81 TO 100 PRINT "A" CASE ELSE PRINT "Salah entri nilai" END SELECT halaman 33 Masukkan nilai angka (0-100)? 80 B Masukkan nilai angka (0-100)? 35 E Masukkan nilai angka (0-100)? 125 Salah entri nilai Masukkan nilai angka (0-100)? -10 Salah entri nilai Masukkan nilai angka (0-100)? 90.5 Salah entri nilai

Keterangan : Kelemahan perintah SELECT..CASE seperti pada contoh di atas adalah tidak dapat mendeteksi nilai yang berupa bilangan pecahan. Jadi misalnya pada saat menjalankan program di atas diinputkan nilai 75.5 maka program tidak akan menghasilkan output B tetapi akan menampilkan pesan Salah entri nilai. Perintah SELECT..CASE juga dapat diterapkan pada variabel bertipe string seperti pada contoh berikut ini : Program 3.11. CLS INPUT "Masukkan bilangan 1 : ",a INPUT "Masukkan bilangan 2 : ",b INPUT "Pilih operator : ",op$ SELECT CASE op$ CASE "^"? a^b CASE "*"? a*b CASE "/"? a/b CASE "\"?a\b CASE "+"?a+b CASE "-"? a-b CASE ELSE? "Bukan operator" END SELECT halaman 34 Masukkan bilangan 1 : 10 Masukkan bilangan 2 : 20 Pilih operator : * 200 Masukkan bilangan 1 : 20 Masukkan bilangan 2 : 8 Pilih operator : / 2.5

Masukkan bilangan 1 : 20 Masukkan bilangan 2 : 8 Pilih operator : \ 2 Masukkan bilangan 1 : 20 Masukkan bilangan 2 : 8 Pilih operator : x Bukan operator Perintah SELECT CASE juga dapat mengecek apakah suatu string berada diantara suatu rangkaian string yang telah ditentukan, seperti terlihat pada contoh berikut ini : Program 3.12. CLS INPUT "Tekan sembarang tombol : ",tombol$ PRINT "Yang anda tekan adalah "; SELECT CASE tombol$ CASE "A" to "Z"? "HURUF BESAR" CASE "a" to "z"? "huruf kecil" CASE "0" TO "9"? "angka" CASE "+","-","*","/","\", ^? "operator aritmatika" CASE ELSE? "tombol lain-lain" END SELECT Tekan sembarang tombol : D Yang anda tekan adalah HURUF BESAR Tekan sembarang tombol : e Yang anda tekan adalah huruf kecil Tekan sembarang tombol : * Yang anda tekan adalah operator aritmatika Tekan sembarang tombol : 6 Yang anda tekan adalah angka halaman 35

Tekan sembarang tombol :? Yang anda tekan adalah tombol lain-lain Dibanding perintah IF bertingkat, perintah SELECT CASE lebif efektif untuk menyelesaikan kasus-kasus yang mempunyai banyak kondisi karena bentuknya yang lebih ringkas, sederhana dan mudah dipelajari. Sebagai contoh, perintah SELECT CASE dapat digunakan untuk membuat program yang mempunyai beberapa pilihan menu seperti berikut ini : Program 3.13. CLS PRINT " MENU " PRINT "1. Menghitung luas segitiga" PRINT "2. Menghitung luas segi empat" PRINT "3. Menghitung luas lingkaran" PRINT 4. Menghitung keliling lingkaran INPUT "Pilih (1-4) : ",pilih SELECT CASE pilih CASE 1 INPUT "Masukkan alas : ",alas INPUT "Masukkan tinggi :",tinggi Luas = alas * tinggi /2? "Luas segitiga = ";luas CASE 2 INPUT "Masukkan panjang : ",panjang INPUT "Masukkan lebar : ",lebar Luas = panjang * lebar? "Luas segi empat = ";luas CASE 3 INPUT "Masukkan jari-jari : ",jari Luas = 3.14 * jari * jari? "Luas lingkaran = ";luas CASE 4 INPUT "Masukkan jari-jari : ",jari Kll = 2 * 3.14 * jari? "Keliling lingkaran = ";kll CASE ELSE? Pilihan hanya 1 s/d 4? Anda salah memilih angka END SELECT halaman 36

MENU 1. Menghitung luas segitiga 2. Menghitung luas segi empat 3. Menghitung luas lingkaran 4. Menghitung keliling lingkaran Pilih (1-4) : 1 Masukkan alas : 10 Masukkan tinggi :5 Luas segitiga = 25 MENU 1. Menghitung luas segitiga 2. Menghitung luas segi empat 3. Menghitung luas lingkaran 4. Menghitung keliling lingkaran Pilih (1-4) : 3 Masukkan jari-jari : 10 Luas lingkaran = 314 halaman 37