7 algoritma dan pemrograman komputer 7

Post on 25-Oct-2015

21 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

alpro

TRANSCRIPT

27/09/2011

Ditulis oleh Endro Purnomo 1

Algoritma dan Pemrograman KomputerAlgoritma dan Pemrograman Komputer3 SKS3 SKS

1

Pertemuan ke Pertemuan ke 77

dosendosenEndro PurnomoEndro Purnomo

Program Studi Pendidikan MatematikaProgram Studi Pendidikan MatematikaUniversitas Muhammadiyah PurworejoUniversitas Muhammadiyah Purworejo

S1 Ilmu Komputer UGM

S2 Master of Computer Science UGM (studi)

Cisco Certified Network Associate

Email : endro@umpwr.ac.id

YM and Gtalk : endrosri

Website : www.lintassolusi.com

Blog : blog.lintassolusi.com

2

Endro PurnomoEndro Purnomo

27/09/2011

Ditulis oleh Endro Purnomo 2

Struktur KendaliStruktur Kendali

1. Percabangan / Pemilihan

2. Perulangan / Looping

3

Percabangan / PemilihanPercabangan / Pemilihan

4

27/09/2011

Ditulis oleh Endro Purnomo 3

Percabangan / PemilihanPercabangan / Pemilihan

Adalah perintah yang memungkinkan pemilihan atasperintah yang akan dijalankan sesuai dengan kondisitertentu.

Ada tiga macam perintah percabangan dalam C:

� if (kondisi) { …}

� if (kondisi) { …} else { …}

� switch (kondisi) { …}

5

Percabangan / Pemilihan [Cont.2]Percabangan / Pemilihan [Cont.2]

Percabangan (brancing) di dalam pemrogramandigunakan oleh komputer untuk menentukan langkahkerja. Percabangan menggunakan operator kondisionalyang akan menghasilkan nilai benar/true/1atausalah/false/0.

Jika nilai yang dihasilkan benar, maka akan perintahakan dilaksanakan, sedangkan jika salah, maka instruksitidak akan dilaksanakan.

6

27/09/2011

Ditulis oleh Endro Purnomo 4

Percabangan / Pemilihan [Cont.3]Percabangan / Pemilihan [Cont.3]Contoh:

� 9 > 5, pasti selalu bernilai TRUE

� N > 60, belum tentu benar, tergantung nilai N,sehingga terdapat alternatif pilihan yang dihasilkan,TRUE atau FALSE.

Cobalah:

� printf( “%d”, 5>9); //akan menghasilkan nilai 0

� printf(“%d”, 10>2); //akan menghasilkan nilai 1

Di dalam bahasa C, tidak dikenal variabel boolean, yangada adalah 0 (salah) dan 1 (benar) sehingga digunakan %duntuk menampilkan hasil kondisi, karena bertipe numerik

7

IF SederhanaIF Sederhana

Bentuk Umum

if (<kondisi>) <perintah yang dikerjakan jika benar>;

Contoh

x=100;

y=10;

If (x>y)

{

printf(“x lebih besar dari y”);

}

8

27/09/2011

Ditulis oleh Endro Purnomo 5

IF ... ELSE ...IF ... ELSE ...

Bentuk Umum

if (<kondisi>)

<perintah yang dikerjakan jika benar>;

else

<perintah yang dikerjakan jika salah>;

Contoh

x=100;

y=10;

If (x>y)

printf(“%d lebih besar dari %d”,x,y);

else

printf(“%d tidak lebih besar dari %d”,x,y);

9

Bentuk IF lainBentuk IF lain

#include<stdio.h>

void main()

{

int a;

10>2&&2<1?a=1:a=0;

printf (“%d”,a);

}

Jawab : 0

Karena pernyataan 10>2&&2<1 bernilai FALSE sehinggaperintah a=0 yang akan dikerjakan

10

27/09/2011

Ditulis oleh Endro Purnomo 6

IF ... ELSE ... Statement JamakIF ... ELSE ... Statement Jamak

if (<kondisi>)

{

<perintah 1 yang dikerjakan jika benar>;

<perintah 2 yang dikerjakan jika benar>;

<perintah 3 yang dikerjakan jika benar>;

...

<perintah n yang dikerjakan jika benar>;

}

else

{

<perintah 1 yang dikerjakan jika salah>;

<perintah 2 yang dikerjakan jika salah>;

<perintah 3 yang dikerjakan jika salah>;

...

<perintah n yang dikerjakan jika salah>;

} 11

SoalSoal--SoalSoal

� Buatlah program untuk memeriksa suatu bilangangenap atau ganjil

� Buatlah program untuk memeriksa bilanganterbesar dari 2 bilangan

� Buatlah program untuk memvalidasi umur (1-100tahun)

� Buatlah program untuk mengecek apakah suatu segitiga sama sisi atau bukan!

� Buatlah program untuk memeriksa apakahpemasukkan lebih besar / kecil dari pengeluaran

12

27/09/2011

Ditulis oleh Endro Purnomo 7

Percabangan KompleksPercabangan Kompleks

Percabangan dimana kondisi pemilihan tidak hanya satutetapi bisa terdiri dari banyak alternatif serta perintah-perintah yang dikerjakannya juga bisa lebih dari satu.

� IF Bersarang (Nested IF)

� IF Bertingkat

13

IF Bersarang (Nested IF)IF Bersarang (Nested IF)

14

27/09/2011

Ditulis oleh Endro Purnomo 8

IF Bersarang (Nested IF) [Cont.2]IF Bersarang (Nested IF) [Cont.2]

15

IF Bersarang (Nested IF) [Cont.3]IF Bersarang (Nested IF) [Cont.3]

16

27/09/2011

Ditulis oleh Endro Purnomo 9

IF Bersarang (Nested IF) [Cont.4]IF Bersarang (Nested IF) [Cont.4]

17

IF Bersarang (Nested IF) [Cont.5]IF Bersarang (Nested IF) [Cont.5]

18

27/09/2011

Ditulis oleh Endro Purnomo 10

IF Bersarang (Nested IF) [Cont.6]IF Bersarang (Nested IF) [Cont.6]

19

IF BertingkatIF Bertingkatif (<kondisi1>)

{

<perintah 1 dikerjakan jika benar>;

}

else if (<kondisi2>)

{

<perintah 2 dikerjakan jika benar>;

}

else if (<kondisi3>)

{

<perintah 3 dikerjakan jika benar>;

}

...

else if (<kondisi4>)

{

<perintah 4 dikerjakan jika benar>;

}20

27/09/2011

Ditulis oleh Endro Purnomo 11

Bedakan denganBedakan denganif (<kondisi1>)

{

<perintah 1 dikerjakan jika benar>;

}

if (<kondisi2>)

{

<perintah 2 dikerjakan jika benar>;

}

if (<kondisi3>)

{

<perintah 3 dikerjakan jika benar>;

}

...

if (<kondisi4>)

{

<perintah 4 dikerjakan jika benar>;

}21

Percabangan dengan SwitchPercabangan dengan Switch

Perintah ini digunakan sebagai alternatif pengganti darisintaks if …else secara sederhana dimana alternatifpilihan bisa lebih dari satu.

Namun switch tidak bisa digunakan untuk pilihan yangmengandung suatu kondisi tertentu.

Dengan perintah ini program percabangan akansemakin mudah dibuat dan dipelajari

22

27/09/2011

Ditulis oleh Endro Purnomo 12

Switch dengan breakSwitch dengan break

Bentuk Umum

switch (<variabel>)

{

case <konstanta 1> : <perintah 1>; break;

case <konstanta 2> : <perintah 2>; break;

case <konstanta 3> : <perintah 3>; break;

...

case <konstanta n> : <perintah n>; break;

default : <perintah default>;

}

23

Bedakan dengan Switch tanpa breakBedakan dengan Switch tanpa break

switch (<variabel>)

{

case <konstanta 1> : <perintah 1>;

case <konstanta 2> : <perintah 2>;

case <konstanta 3> : <perintah 3>;

...

case <konstanta n> : <perintah n>;

default : <perintah default>;

}

Perintah break digunakan untuk keluar daristruktur kendali percabangan/pemilihan danperulangan

24

27/09/2011

Ditulis oleh Endro Purnomo 13

Flowchart switch dengan breakFlowchart switch dengan break

25

Karakteristik SwitchKarakteristik Switch

� Perintah switch akan menyeleksi kondisi yang diberikan dankemudian membandingkan hasilnya dengan konstanta-konstanta yang berada di case.

� Pembandingan akan dimulai dari konstanta 1 sampaikonstanta terakhir.

� Jika hasil dari kondisi sama dengan nilai konstanta tertentu,misalnya konstanta 1, maka pernyataan 1 akan dijalankansampai ditemukan break.

� Pernyataan break akan membawa proses keluar dariperintah switch. Jika hasil dari kondisi tidak ada yang samadengan konstanta-konstanta yang diberikan, makapernyataan pada default akan dijalankan

26

27/09/2011

Ditulis oleh Endro Purnomo 14

Contoh program dengan switchContoh program dengan switch#include<stdio.h>

void main()

{

int hari;

printf("Hari ini adalah hari ke ");

scanf("%d",&hari);

printf("yaitu hari ");

switch(hari)

{

case 1 : printf("Minggu");break;

case 2 : printf("Senin");break;

case 3 : printf("Selasa");break;

case 4 : printf("Rabu");break;

case 5 : printf("Kamis");break;

case 6 : printf("Jumat");break;

case 7 : printf("Minggu");break;

default : printf("Tidak ada hari lebih dari 7");

}

printf("\n");

system("pause");27

Contoh program dengan switchContoh program dengan switch#include<stdio.h>

void main()

{

int hari;

printf("Hari ini adalah hari ke ");

scanf("%d",&hari);

printf("yaitu hari ");

switch(hari)

{

case 1 : printf("Minggu");break;

case 2 : printf("Senin");break;

case 3 : printf("Selasa");break;

case 4 : printf("Rabu");break;

case 5 : printf("Kamis");break;

case 6 : printf("Jumat");break;

case 7 : printf("Minggu");break;

default : printf("Tidak ada hari lebih dari 7");

}

printf("\n");

system("pause");28

27/09/2011

Ditulis oleh Endro Purnomo 15

SoalSoal--SoalSoal

� Buatlah konversi nilai huruf dari nilai yangdiinputkan user

• A = 80-100

• B = 65-79

• C = 50-64

• D = 35-49

• E = 0-34

29

SoalSoal--SoalSoal

� Buatlah program yang menerima inputan 3 buahpanjang sisi segitiga, kemudian:

• Jika segitiga tersebut sama sisi katakan SEGITIGASAMA SISI

• Jika segitiga tersebut sama kaki katakanSEGITIGA SAMA KAKI

• Jika bukan keduanya katakan SEGITIGASEMBARANG

30

top related