pemrograman dasar - adharul.lecture.ub.ac.id · statement_01 yang dilaksanakan, jika bernilai false...

26
1 Pemrograman Dasar

Upload: buikhuong

Post on 04-May-2019

239 views

Category:

Documents


0 download

TRANSCRIPT

1

Pemrograman Dasar

Pada akhir pertemuan ini, diharapkan mahasiswa me-

miliki kemampuan untuk:

Menggunakan struktur kendali pencabangan ber-

syarat dalam bahasa pemrograman.

2

Pencabangan Bersyarat

Pernyataan if dan if-else

Pernyataan nested if-else dan switch-case

Operator kondisional

3

Dalam sebuah algoritma, seringkali beberapa instruksiharus dilaksanakan bila suatu persyaratan dipenuhi(bernilai benar) dan sebaliknya.

Dalam struktur pencabangan bersyarat, suatu instruksiatau sekelompok instruksi dapat dilewati, sementarainstruksi lain dijalankan.

Pernyataan pencabangan bersyarat terdiri dari:

if

if-else

switch-case

4

Penggambaran dalam flow-chart

5

Eks.boolean

Statement;

Statement;

...

true

false

Statements sebelum if

Statements setelah if

Eks.boolean

Statement;

Statement;

...

true

false

Sintaks :

if (ekspresi boolean) statement;

atau

if (ekspresi boolean)

{

statement1;

statement2;

……

}

Jika ekspresi boolean bernilai TRUE, maka statement atau blokstatement akan dilaksanakan.

6

Blok statement

Penggambaran dalam flow-chart

7

Statements sebelum if

Statements setelah if

Eks.boolean

Statement_01;

Statement_02;

...

truefalse

Statement_11;

Statement_12;

...

Eks.boolean

Statement_01;

Statement_02;

...

truefalse

Statement_11;

Statement_12;

...

Sintaks :

if (ekspresi boolean) statement_01;

else statement_11;

atau

if (ekspresi boolean){ statement_01;

……}

else

{ statement_11;…...

}

Jika ekspresi boolean bernilai TRUE, maka statement_01 atau blokstatement_01 yang dilaksanakan, jika bernilai FALSE maka statement_01 ataublok statement_11 yang dilaksanakan.

8

Blok statement_01

Blok statement_11

Buatlah program yang akan membaca

sebuah angka integer. Jika angka di atas

75 tuliskan “Lulus”.

Algoritma :1. deklarasikan variabel bernama nilai

2. baca (nilai)

3. jika nilai > 75

tulis (“Lulus”)

Buatlah program yang akan menerima

input sebuah huruf. Jika huruf adalah ‘Y’

atau ‘y’ tuliskan “Proses diteruskan”

Algoritma :1. deklarasikan variabel char bernama huruf

2. baca (huruf)

3. jika huruf==‘Y’ atau huruf==‘y’

tulis (“Proses diteruskan”)

Contoh Program untuk mendapatkan akar-akar daripersamaan kwardrat.

Algoritma :1. Dapatkan koefisien a, b, dan c dari keyboard

2. Hitung diskriminan d = b*b – 4*a*c

3. Bila d >= 0 maka hitung x1 dan x2

Bila d < 0 maka akar imajiner dan stop

4. Stop

Menghitung x1, dengan rumus :

Menghitung x2, dengan rumus :

13

-b + d

2*a

-b - d

2*a

Buatlah program yang akan menerima input berupa nilai integer. Jika angka merupakankelipatan 5 tuliskan “Kelipatan 5”, jika tidaktuliskan “Bukan kelipatan 5”.

Algoritma :1. deklarasikan variabel bernama angka (int)

2. baca (angka)

3. jika angka%5==0

tulis (“Kelipatan 5”)

else

tulis (“Bukan kelipatan 5”)

Buatlah program yang akan menerima data berupa angka integer. Jika 5<angka<50 tuliskan “Memenuhi”, jika tidak tuliskan“Tidak memenuhi”

Algoritma :1. Deklarasikan variabel bernama nilai (int)

2. baca (nilai)

3. jika nilai>5 dan nilai<50

tulis (“Memenuhi”)

else

tulis (“Tidak memenuhi”)

Konstruksi if-else dapat digunakan secara bertingkat

atau bersarang (nested)

Contoh:

if (ekspresi boolean1) statement1;

else if (ekspresi boolean2) statement2;

else if (ekspresi boolean3) statement3;

.....

.....

else if (ekspresi booleanN) statementN;

16

Formula :• if( ekspresi_boolean1 )

statement1; else if(ekspresi_boolean2)

statement2; else

statement3;

• if(ekspresi_boolean1 ) {statement1;

} else if(ekspresi_boolean2 ) {statement2;

} else {statement3;

}

Buatlah program yang akan menerima

sebuah angka integer. Tuliskan output

sesuai ketentuan :

Angka Output

angka<50 “Kurang”

50<=angka<70 “Cukup”

Angka>=70 “Baik”

Buatlah program yang akan menentukan

vokal/konsonal sebuah huruf. Jika huruf

termasuk huruf vokal tuliskan “Vokal”,

jika bukan tuliskan “Konsonan”

20

Penulisan if-else harus jelas maksudnya....

Contoh penulisan if-else yang kurang jelas meskipun tidak

salah.

#include <stdio.h>#include <iostream.h>int main(){

int suhu;printf("Input suhu ? (F): "); scanf("%d",&suhu);if (suhu<80)

if (suhu>30)printf("Panas\n\n");

else printf("Sejuk\n\n");system("PAUSE");return(0);

}

Pernyataan switch-case dapat dipergunakan sebagaipengganti pernyataan if-else, jika pernyataan if-else bertingkat terlalu banyak, sehingga menjadi sulitdibaca.

Sintaks pernyataan switch-case

switch (ekspresi integer) {case constant1 : statements1; break; case constant2 : statements2; break;

.

.

[ default : statements; ]

}

21

Pernyataan switch mengevaluasi ekspresi dan

kemudian melihat isi case constant. Jika nilai ekspresi

ada didalam constant list maka pernyataan dieksekusi.

Jika tidak ada yang cocok, pernyataan default yang

dieksekusi.

Catatan: nilai ekspresi harus integer dan constant harus

integer constant termasuk char.

22

Formula :• switch( switch_ekspresi ){

case case_pilihan1: statement1;// statement2;//blok 1 break;

case case_pilihan2: statement1;// statement2;//blok 2 break;

:default:

statement1;//statement2;//blok n

}

Struktur logika switch-case dapat digambarkan sbb.:

24

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

public class Grade {public static void main( String[] args ){

int grade = 92;switch(grade){

case 100:System.out.println( "Excellent!" );break;

case 90:System.out.println(“Bagus!" ); break;

case 80:System.out.println(“Belajar lagi!" );break;

default:System.out.println(“Maaf, Anda gagal.");

}}

}

Buat program untuk menginput nilai IPK mahasiswa

dan berikan penilaian :

3.5 - 4.0 Sangat Memuaskan

3.0 - 3.4 Memuaskan

2.5 – 2.9 Baik Sekali

2.0 – 2.4 Baik

Dibawah 2.0 Kurang

Gunakan perintah if / if-else !

27

28

Buatlah program komputer untuk menentukan nilai-huruf dari sebuah matakuliah yang nilainya terdiri dari: nilai tugas, nilai kuis dan nilai UAS. Bila nilai-kuis > UAS, nilai akhir dihitung dg rumus:

• Nilai akhir = 40% (nilai-kuis) + 40% (UAS) + 20% (tugas)

Bila nilai UAS>= nilai-kuis, nilai akhir dihitung dg rumus:

• Nilai akhir = 30% (nilai-kuis) + 50% (UAS) + 20% (tugas)

Sedangkan konversi nilai-akhir menjadi nilai huruf menggunakan tabel berikut:

Nilai Akhir Bobot Nilai Huruf

85 - 100 4 A : Sangat Baik

75 - 84 3 B : Baik

65 - 74 2 C : Cukup

50 - 64 1 D : Kurang

0 - 49 0 E : Gagal

Perhatikan potongan program dibawah ini:

29

if(n > 0)if(a > b)

z = a;else

z = b;

• Jelaskan keyword else berpasangan dengan if yang mana ?

• Perbaiki cara penulisan potongan program diatas, agar

menjadi lebih jelas dibaca algoritmanya !