of 15 /15
27/09/2011 Ditulis oleh Endro Purnomo 1 Algoritma dan Pemrograman Komputer Algoritma dan Pemrograman Komputer 3 SKS 3 SKS 1 Pertemuan ke Pertemuan ke 7 dosen dosen Endro Purnomo Endro Purnomo Program Studi Pendidikan Matematika Program Studi Pendidikan Matematika Universitas Muhammadiyah Purworejo Universitas Muhammadiyah Purworejo S1 Ilmu Komputer UGM S2 Master of Computer Science UGM (studi) Cisco Certified Network Associate Email : [email protected] YM and Gtalk : endrosri Website : www.lintassolusi.com Blog : blog.lintassolusi.com 2 Endro Purnomo Endro Purnomo

7 Algoritma Dan Pemrograman Komputer 7

Embed Size (px)

DESCRIPTION

alpro

Citation preview

Page 1: 7 Algoritma Dan Pemrograman Komputer 7

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 : [email protected]

YM and Gtalk : endrosri

Website : www.lintassolusi.com

Blog : blog.lintassolusi.com

2

Endro PurnomoEndro Purnomo

Page 2: 7 Algoritma Dan Pemrograman Komputer 7

27/09/2011

Ditulis oleh Endro Purnomo 2

Struktur KendaliStruktur Kendali

1. Percabangan / Pemilihan

2. Perulangan / Looping

3

Percabangan / PemilihanPercabangan / Pemilihan

4

Page 3: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 4: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 5: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 6: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 7: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 8: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 9: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 10: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 11: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 12: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 13: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 14: 7 Algoritma Dan Pemrograman Komputer 7

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

Page 15: 7 Algoritma Dan Pemrograman Komputer 7

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