Algoritme dan Pemrograman

Slides:



Advertisements
Presentasi serupa
Dasar Pemrograman Komputer
Advertisements

Algoritma : CONTROL STRUCTURES
Universitas Muhammadiyah Malang Fakultas Teknik Jurusan Teknik Informatika Semester Genap Nur hayatin, S.ST.
Macam Statement As’ad Djamalilleil
Selection (pemilihan) As’ad Djamalilleil
Flow Control & Exception Handling
Pemrograman JAVA (TIB09)
Struktur Kontrol.
PERTEMUAN 2 Variabel, Ekspresi, Operator, dan Flow Control
Struktur Kendali Proses (Seleksi)
Struktur Kontrol Struktur kontrol merupakan inti dari logika pemrograman. Secara mendasar struktur kontrol yaitu : Seleksi: if, else, elseif, switch-case.
Algoritme dan Pemrograman
III. STRUKTUR KONTROL.
2 JAM TEORI dan 1 jam praktek
Diberikan pada Kuliah Sela Teknik Informatika - Universitas Muhammadiyah Malang Tahun 2011.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK UNIVERSITAS BRAWIJAYA MALANG.
Struktur Kendali dan Repetisi
Algoritma dan Dasar Pemograman
Struktur Kendali Proses (Perulangan)
Struktur kontrol ∞ kondisi. ∞ if-else ,
1 Dasar Pemrograman Komputer [TKL-4002] Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Memahami struktur kendali pengulangan (looping)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 REVIEW Issa Arwani, S.kom, M.sc.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 DPK Pertemuan -- Issa Arwani, S.kom, M.sc. PROGRAM STUDI.
Struktur kontrol.
DECISION KONDISI / PEMILIHAN
Pertemuan 9-10 Operasi Looping (Pengulangan)
MODUL 3 PERULANGAN PERCABANGAN ARRAY
if (condition) statement if (x == 100) cout << "x is 100";
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Transfer of control (pemindahan langkah)
Pertemuan Operasi Seleksi
Statement Control (if dan switch)
Konsep Dasar Pemrograman Komputer
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Algoritme dan Pemrograman
Pertemuan 4 PROGRAMMING LANGUAGE.
Algoritme dan Pemrograman
Algoritma dan Struktur Data 1 pertemuan 5
PERCABANGAN.
Pencabangan Bersyarat
DPK Percabangan bersyarat
Aliran Kendali (Flow Control)
Algoritme dan Pemrograman
Algoritme dan Pemrograman
STRUKTUR DASAR PROGRAM
PERCABANGAN Siti Mukaromah, S.Kom.
Percabangan dan Perulangan.
Minggu ke-10 Imam Fahrur Rozi
PERULANGAN RISMAYUNI.
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
Algoritme dan Pemrograman
Pemrograman Terstruktur
As’ad Djamalilleil Macam Statement As’ad Djamalilleil
Bagian 3 Unsur-unsur kode program Borlan C++
Selection (pemilihan)
Algoritme dan Struktur Data
STRUKTUR CONTROL program
PERBEDAAN C DAN C++ Meriska Defriani, S
Flow Control & Exception Handling
SELEKSI ALGORITMA & STRUKTUR DATA I PROGRAM STUDI SISTEM INFORMASI
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Algoritme dan Pemrograman
PEMrograman web database
Konsep Bahasa Pemrograman I Operator
Perulangan Minggu ke-10.
STRUKTUR perulangan (1)
if (condition) statement if (x == 100) cout << "x is 100";
PERCABANGAN.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Transcript presentasi:

Algoritme dan Pemrograman Kuliah #5 Compound statement Kontrol Program : IF, SWITCH, WHILE ILKOM IPB

Simple and Compound statement Compound statement adalah beberapa pernyataan sederhana (simple statements) yang diapit oleh tanda kurung kurawal {…} Contoh: #include <stdio.h> main() { int i=0, j=1; printf("A"); i = i + 1; return 0; } compound statement DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Sequential structures Proses terhadap suatu program yang terdiri dari beberapa statement dilakukan berurutan secara sekuensial, satu per satu, mulai dari atas ke bawah  sequential. Contoh: output program berikut adalah ABC #include <stdio.h> main() { int i=0, j=1; printf("A"); i = i + 1; printf("B"); j = j + 1; printf("C"); return 0; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Selection control structures Program akan memilih satu atau lebih statement untuk diproses atau tidak diproses berdasarkan kondisi tertentu. Kondisi dinyatakan sebagai ekspresi. Pernyataan yang digunakan disebut conditional statement. Ada dua jenis: Pernyataan IF Pernyataan SWITCH DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Conditional statement: IF Bentuk umum: if (kondisi) simple or compound statement; atau else DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Conditional statement: IF kondisi ? kondisi ? FALSE FALSE TRUE TRUE statements statements statements DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Pernyataan IF: Contoh #1 #include <stdio.h> main(){ int a, b; scanf("%d %d", &a, &b); if (a<b) printf("%d\n", b-a); printf("%d\n", a-b); return 0; } Apa output program jika diberi input 5 20 ? Apa output program jika diberi input 20 5 ? -15 15 15 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Pernyataan IF: Contoh #2 #include <stdio.h> main(){ int a, b; scanf("%d %d", &a, &b); if (a<b) { printf("%d\n", b-a); printf("%d\n", a-b); } return 0; Apa output program jika diberi input 20 5 ? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Pernyataan IF: Contoh #3 #include <stdio.h> main(){ int a, b; scanf("%d %d", &a, &b); if (a<b) { printf("%d\n", b-a); printf (“a lebih kecil”); } else {printf("%d\n", a-b); printf (“a lebih besar”); } return 0; } Apa output program jika diberi input 5 20 ? Apa output program jika diberi input 20 5 ? 15 a lebih kecil 15 a lebih besar DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Conditional statement: Nested IF Struktur seleksi if yang bercabang dengan banyak kondisi. Contoh, berapa nilai b jika diberikan input 12? scanf("%d", &a); if (a<5) b=1; else if (a<10) b=2; else if (a<15) b=3; else b=4; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Struktur else if : if(syarat) { …. perintah; } else if(syarat) else else yang terakhir sifatnya ’optional’, boleh ada boleh juga tidak.

Bentuk Nested IF dengan banyak perintah : if(syarat) { …. perintah; } else

Conditional statement: SWITCH Struktur dengan banyak kondisi yang berbentuk ekspresi logika kesamaan. Perhatikan potongan program berikut (apa yang dilakukan?) int bil, hasil; scanf("%d", &bil); hasil = bil % 3; if (hasil==0) printf("NOL\n"); else if (hasil==1) printf("SATU\n"); else printf("DUA\n"); DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Conditional statement: SWITCH Bentuk umum struktur SWITCH switch(switch_expr) { case (constant expr1) : S1; S2; …; break; case (constant expr2) : S3; S4; …; ..... default : S5; S6; …; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Conditional statement: SWITCH Modifikasi program sebelumnya: int bil, hasil; scanf("%d", &bil); hasil = bil % 3; switch (hasil) { case 0: printf("NOL\n"); break; case 1: printf("SATU\n");break; default: printf("DUA\n"); break; } DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Loop control structures Program akan mengulang satu atau lebih statement untuk diproses atau tidak diproses berdasarkan kondisi tertentu. Kondisi dinyatakan sebagai ekspresi. Pernyataan yang digunakan disebut loop statement. Ada tiga jenis: Pernyataan WHILE Pernyataan DO … WHILE Pernyataan FOR DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Loop control structures: WHILE Implementasi dari pernyataan: lakukan sesuatu berulang-ulang selama kondisi bernilai true (berarti juga hentikan melakukan itu jika kondisi bernilai false). Format: while (kondisi) simple or compound statement; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Loop control structures: WHILE while (kondisi) statement; kondisi ? FALSE Pernyataan (statements) di dalam struktur WHILE akan diproses minimum NOL kali. Mengapa? TRUE statement DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Loop control structures: WHILE Perhatikan potongan program berikut: int i=0; while (i<5) { printf("%d", i); i++; } Output program tersebut adalah: 01234 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Loop control structures: WHILE Apa output potongan program berikut? int i=0; while (i<5) printf("%d", i++); Bagaimana dengan potongan program berikut? while (i++<5) printf("%d", i); 01234 12345 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #1 Apa output potongan program berikut jika diberikan input data 8 20 ? Apa yang dilakukan? int a, b, t; scanf("%d %d", &a, &b); while (b) { t = a%b; a = b; b = t; } printf("%d\n", a); 4 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #2 Apa output potongan program berikut jika diberikan input data 8 20 3 -99 ? Apa yang dilakukan? int bil, c=0; scanf("%d", &bil); while (bil!=-99) { c++; } printf("%d\n", c); 3 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #3 Apa output potongan program berikut jika diberikan input data 9872 ? Apa yang dilakukan? int bil, t=0; scanf("%d", &bil); while (bil) { t = (t*10) + (bil%10); bil/=10; } printf("%d\n", t); 2789 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #4 Suatu alat sensor dipasang pada tanaman apel untuk mengatur suplai air. Alat secara periodik menerima data berupa kandungan air tanah di sekitar tanaman. Jika alat tersebut menerima data kandungan air tanah kurang dari 4.5 satuan, maka alat akan menyuplai air dengan volume 0.12 liter. Demikian seterusnya sampai diperoleh data kandungan air tanah lebih besar atau samadengan 4.5 satuan dan alat akan berhenti sementara. Buat program C untuk menghitung total volume air yang disuplai sampai alat tersebut berhenti sementara. Output ditulis dalam dua desimal di belakang titik. Contoh input : 1.2 4.2 4.3 4.4 5.2 Contoh output : 0.48 Contoh input : 4.9 Contoh output : 0.00 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

float bil=0, jum=0; while (bil<4.5) { jum=jum+0.12; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR float bil=0, jum=0; while (bil<4.5) { jum=jum+0.12; scanf("%d", &bil); } printf("%d\n", jum);

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan #5 Seorang anak suka bermain dengan bilangan bulat. Jika diberikan bilangan bulat lebih besar atau samadengan 100, dia hanya akan mengambil digit paling kiri dan paling kanan untuk membentuk suatu bilangan baru dengan dua digit. Misalkan diberikan nilai 7895, dia membentuk bilangan baru yaitu 75. Selanjutnya, dia menuliskan sisa pembagian bilangan baru tersebut dengan 6 di kertas. Jika bilangan bulat yang diberikan kurang dari 100, maka dia tidak melakukan apa-apa. Buat program C untuk mendapatkan nilai seperti yang dituliskan anak tadi. Contoh input : 7895 Contoh input : 37 Contoh output : 3 Contoh output : DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

int kiri,kanan,bil,jum, i, sisa; scanf("%d", &bil); kanan = bil % 10; while (bil>10) { bil = bil/10; } kiri = bil * 10; bil = kiri + kanan; printf("%d\n", bil);

Latihan #6 int a=3, b=0; while (b++<a) printf("%d", b); int a=3, b=0; while (++b<a) printf("%d", b); int a=5, b=0; while (b++<a) printf("%d", b++); int a=3, b=0; while (b=a--) printf("%d %d\n", a,b); int a=3, b=0; while (b=--a) printf("%d %d\n", a,b); int a=5, b, c; while (c=--a, b=a--) printf("%d %d %d\n", a,b,c); 1 2 3 1 2 1 3 5 2 3 1 2 0 1 2 2 1 1 3 4 4 1 2 2