Algoritme dan Pemrograman

dokumen-dokumen yang mirip
Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while

Pengumuman Pekan ke- 5

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

9/16/2011 ILKOM IPB 1. a + b. Contoh Penggunaan Operator LOGIKA

Ekspresi dan Operator. Algoritme dan Pemrograman. Jenis Operator C. Operator Aritmetika. Operasi Logika 09/22/2013 ILKOM IPB 1.

Kuliah #4 Ekspresi,Operator, dan Conditional Statement

Algoritme dan Struktur Data. Ekspresi,Operator, dan Conditional Statement

09/09/2013 ILKOM IPB 1. Algoritme dan Pemrograman. Contoh penerapan. Kiat Sukses. Program Komputer. Kenapa belajar algoritme dan pemrograman?

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

12/29/2011 ILKOM IPB 1

BAGIAN A. PILIHAN GANDA Silanglah jawaban yang benar pada lembar jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

Pemrograman Dasar R E P E T I T I O N

Algoritme dan Pemrograman

a[0] a[1] a[2] a[3] a[4] a[5] x

Kisi- kisi UTS- P. Kisi- kisi UTS- T

Mana di antara penamaan variabel berikut yang benar? Mengapa yang lain salah? a. 3n+1 b. n+1 c. 3n1 d. 3n_1 e. n_31

Review #1. Review #2

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

Pertemuan 06. Dasar Pemrograman Komputer [TKL-4002] 2010

Pengulangan for. Konstruksi for. keberadaan exp1, exp2, dan exp3 bersifat optional. for (exp1; exp2; exp3){ statement; atau. statement1; statement2;

TEORI KONSEP PEMPROGRAMAN 3.1

A. TUJUAN PEMBELAJARAN

Algoritme dan Pemrograman

Algoritme dan Pemrograman

P R E T R EM N 5 STRUKTUR LOOPING

Bab 3. Decision 1 (Pengambilan Keputusan)

Selection, Looping, Branching

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

Praktikum 5 PERULANGAN PROSES

Control Structure. Dasar Pemrograman C Mikrokontroler AVR. Hendawan Soebhakti Oktober 2009

Proses Perulangan (Looping) DASAR PROGRAMMING 1

Pemrograman Dasar S E L E C T I O N

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

Praktikum 4 PENGULANGAN PROSES

2.4. Struktur Branching

PENGANTAR KOMPUTER & SOFTWARE II

Aliran Kendali (Flow Control)

PRAKTIKUM 6 PENGULANGAN PROSES 2

Algoritme dan Pemrograman

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

Perulangan (Looping)

Algoritme dan Pemrograman

Rekursif/ Iterasi/ Pengulangan

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

Praktikum Dasar Pemrograman

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

Pemrograman Berorientasi Objek. Beni Suranto, S.T.

BAB IV PENGULANGAN PROSES

Bab 4 Perintah Perulangan

DPK UNIVERSITAS BRAWIJAYA MALANG

WEEK 6. Teknik Elektro UIN SGD Bandung PERULANGAN - LOOPING

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN

Percabangan. Yuli Sun Hariyani

Algoritma Perulangan. Kuliah algoritma dan pemrograman

PEMROGRAMAN BERORIENTASI OBJEK. Pengulangan. Budhi Irawan, S.Si, M.T

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

Percabangan & Perulangan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Kuliah III - Dasar Pemrograman

BAB VI. STATEMENT CONTROL

MODUL 5 PERULANGAN (LOOPING)

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

Looping : break, continue, nested loop

Review: Algoritme dan Program 12/29/2011. Algoritme dan Pemrograman. Review: Bagaimana memecahkan masalah dengan komputer?????

Pertemuan 4: Struktur Kontrol Pemrograman : Loop Bersarang (Nested Loop)

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Address and Pointers. Pointer

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

9/9/2011 ILKOM IPB 1 ALGORITME DAN PEMROGRAMAN. Review: Algoritme dan Program. Bahasa tingkat rendah (low level language)

MODUL V PERULANGAN. Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.

UJIAN TENGAH SEMESTER GANJIL TAHUN STMIK AMIKOM YOGYAKARTA

1 MODUL 5 MODUL 5 PERULANGAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Semester 3 Perulangan for 4 X 50 menit

PENGANTAR KOMPUTER & SOFTWARE II

ALGORITMA & PEMROGRAMAN II ARRAY

{Pertemuan 4 Struktur Kondisi IF}

Algoritme dan Pemrograman

Algoritma dan Pemrograman

Algoritma & Pemrograman #5

MATERI KULIAH 25 NOVEMBER DESEMBER 2015 Sri Istiyari Uswatun Chasanah G Struktur aliran atau bagan program kontrol.

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

Struktur Kontrol. (Repetition) 1. Pemilihan (Selection) 2. Pengulangan

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

BAB IV LOOPING ( Pengulangan )

ALGORITMA PERULANGAN

PERULANGAN Pengampu : Agus Priyanto, M.Kom

PERULANGAN for. Praktikum 6 (1/4)

Pertemuan 4 Diagram Alur / Flowchart

PERTEMUAN 5 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PENGULANGAN

Pertemuan2 Percabangan & Perulangan pada Python

c. Membeli komputer d. Proses 2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b.

Pengumuman ALGORITME DAN PEMROGRAMAN

Pernyataan Bersyarat (Conditional Statement)

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

STATEMEN GO TO DAN IF-THEN. Pertemuan IX

Aliran Kendali (Flow Control)

Transkripsi:

Loop control structures Algoritme dan Pemrograman Kuliah #5 Compound statement Kontrol Program :, DO.., FOR 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 Pernyataan DO Pernyataan FOR Implementasi dari pernyataan: lakukan sesuatu berulang-ulang selama kondisi bernilai true (berarti juga hentikan melakukan itu jika kondisi bernilai false). Format: FALSE kondisi? TRUE statement while (kondisi) statement; Pernyataan (statements) di dalam struktur akan diproses minimum NOL kali. Mengapa? while (kondisi) simple or compound statement; Perhatikan potongan program berikut: int i=0; while (i<5) { i++; Output program tersebut adalah: 01234 Apa output potongan program berikut? int i=0; while (i<5) printf("%d", i++); Bagaimana dengan potongan program berikut? int i=0; while (i++<5) 01234 12345 ILKOM IPB 1

Latihan Dengan menggunakan pernyataan looping dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya instruksi utama) untuk mencetak deret nilai 20, 14, 8, 2, -4, dan -10 DO Implementasi dari pernyataan: Lakukan sesuatu. Kemudian ulangi sesuatu itu selama kondisi bernilai true Berarti memproses pernyataan di dalamnya terlebih dahulu, baru kemudian memeriksa kondisi yang ada. Pernyataan akan diproses minimal SATU kali. Format: do { pernyataan; while (kondisi); DO int i, n=5; i=0; do { printf("%d ", i); i++; while (i<n); Output program tersebut adalah: 0 1 2 3 4 DO TRUE do statement kondisi? while (kondisi) FALSE Pernyataan (statements) di dalam struktur DO akan diproses minimum SATU kali. Mengapa? Contoh: Program menulis bilangan int main() { int n; scanf("%d", &n); do { printf("%d", n%10); n /= 10; while (n); Jika diberikan input 120, apa output program tsb? Ubah program menggunakan while int main() { int n; scanf("%d", &n); while (n){ printf("%d", n%10); n /= 10; 021 FOR Pernyataan for umumnya digunakan untuk memproses pernyataan secara berulang-ulang dan kita sebelumnya sudah mengetahui berapa kali pernyataan tersebut akan diulang. Contoh: Menuliskan bilangan bulat 1 sampai dengan 5 Membaca n bilangan bulat. ILKOM IPB 2

FOR Bentuk umum for (expr1; expr2; expr3) { s1; s2;... Proses yang dilakukan mengikuti alur berikut: expr1 dieksekusihanya satukali sebelummulailooping. expr2 merupakanekspresiboolean. Jika tidakdituliskan, diasumsikanbernilai true. Jika expr2 bernilaifalse, makaproseslooping dihentikan. Jika expr2 bernilaitrue, makas1, s2,... dieksekusi. Setelah eksekusi s1, s2,..., maka expr3 dieksekusi. expr1, expr2, dan expr3 bersifat optional (dapat dituliskan, juga dapat tidak dituliskan). FOR FALSE expr1 expr2? S TRUE FOR (expr1 ; expr2 ; expr3) S; expr3 Pernyataan FOR: Contoh #1 int main(){ int i,n = 5; for (i=0; i<n; i++) { Apa output program tersebut? (ikuti diagram FOR pada slide sebelumnya) 01234 Pernyataan FOR loop backward: Contoh #2 int main(){ int i=5; for ( ; i; i--) { Apa output program tersebut? 54321 Bagaimana jika baris for menjadi for ( ; i--; )? 43210 Pernyataan FOR loop backward: Contoh #3 int main(){ int i, n=5, sum=0; for (i=1 ; i<=n; sum+=i++); printf("%d\n", sum); Apa output program tersebut? 15 Apa yang dilakukannya? Bagaimana jika menggunakan for ( ; i++<n; sum+=i);? Pernyataan FOR: Contoh #4 int main() { int i, n, bil, sum=0; scanf("%d", &n); for (i=1; i<=n; i++) { sum+=bil; printf("%d\n", sum); Apa output program jika diberi input 3 13 43 32? Apa yang dilakukan program tersebut? 88 ILKOM IPB 3

Output? 3 2 2 1 1 0 int a, b=3; for ( ; a=b, b-- ; ) printf("%d %d\n",a,b); Nested FOR Pernyataan for yang bersarang, artinya terdapat pernyataan for lainnya di dalam pernyataan for. Contoh, apa output potongan program berikut? int i, j; for (i=1; i<=2; i++) { for (j=1; j<=3; j++) { printf("*"); printf("\n"); Nested FOR: Menulis bilangan bentuk matrik Misalkan ingin menuliskan bilangan 1, 2, dalam bentuk matriks ukuran 3x4. Setiap baris hanya diakhiri oleh newline. Digunakan nested for: int i, j, c=1; for (i=1; i<=3; i++) for (j=1; j<=4; j++) { printf("%d", c++); if (j!=4) printf(" "); else printf("\n"); Nested FOR: Menggunakan variabel sebelumnya Perhatikan contoh berikut. Struktur for untuk variabel j menggunakan variabel i. Apa outputnya? Apa yang dilakukan? int i, j, sum; for (i=1; i<=3; i++) { sum=0; for (j=1; j<=i; j++) sum+=j; printf("%d %d\n", i, sum); 1 1 2 3 3 6 Nested FOR: Menggunakan variabel sebelumnya Apa output potongan program berikut? int i, j, n=4; for (i=1; i<=n; i++) { for (j=i; j<=n; j++) printf("*"); printf("\n"); * ** * Men-trace algoritme DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Men-trace algoritme adalah suatu proses untuk menelusuri langkah demi langkah dari suatu algoritme dan menentukan output akhirnya. Dalam pemrograman, proses ini disebut juga sebagai proses debug. Tips: Ikuti langkah demi langkah Catat setiap perubahan nilai dari suatu variabel Jika menemukan suatu pola tertentu, maka output akhir dapat langsung ditentukantanpa mengikuti algoritme sampai selesai (hanya dilakukan oleh orang yang sudah sangat memahami algoritme) ILKOM IPB 4

Contoh men-trace algoritme // Misal input n=4 procedure printn { read(n); c = 0; while (c<n) { c=c+1; print(c); DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR n 4 c 0 1 2 3 4 output 1 2 3 4 Latihan DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR STOP Latihan #1 Berapa kali teks IPB dicetak oleh program berikut? int i; for (i=1; i<=20; i++) { if (i=5) printf ("IPB\n"); Apa yang dapat disimpulkan dari kasus ini? Latihan #2 Buat program untuk membaca sebuah bilangan bulat n, dan menampilkan output seperti dalam contoh. Setiap baris output hanya diakhiri dengan newline. Contoh input: 5 Contoh output: * ** * ** int i, j, n=5; for (i=1; i<=n; i++) { for (j=1; j<=i; j++) printf("*"); printf("\n"); Latihan #4 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 Latihan #5 Apa output potongan program berikut jika diberikan input data 8 20 3-99? Apa yang dilakukan? int bil, c=0; while (bil!=-99) { c++; printf("%d\n", c); 3 ILKOM IPB 5

Latihan #6 Apa output potongan program berikut jika diberikan input data 9872? Apa yang dilakukan? int bil, t=0; while (bil) { t = (t*10) + (bil%10); bil/=10; printf("%d\n", t); 2789 Latihan #7 Suatu alat sensor dipasang pada tanaman apel untuk mengatur suplai air. Alat secara periodikmenerimadata berupakandungan 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 lebihbesar 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 desimaldi 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 float bil=0, jum=0; while (bil<4.5) { jum=jum+0.12; printf("%d\n", jum); Latihan #8 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 mendapatkannilai seperti yang dituliskan anak tadi. Contoh input : 7895 Contoh input : 37 Contoh output : 3 Contoh output : int kiri,kanan,bil,jum, i, sisa; kanan = bil % 10; while (bil>10) { bil = bil/10; kiri = bil * 10; bil = kiri + kanan; bil=bil%6; printf("%d\n", bil); Latihan #9 int a=3, b=0; 1 2 3 while (b++<a) printf("%d", b); int a=3, b=0; while (++b<a) printf("%d", b); 1 2 int a=5, b=0; while (b++<a) printf("%d", b++); 1 3 5 int a=3, b=0; 2 3 while (b=a--) printf("%d %d\n", a,b); 1 2 int a=3, b=0; 0 1 while (b=--a) printf("%d %d\n", a,b); 2 2 int a=5, b, c; 1 1 while (c=--a, b=a--) printf("%d %d %d\n", a,b,c); 3 4 4 1 2 2 ILKOM IPB 6