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

dokumen-dokumen yang mirip
Algoritme dan Pemrograman

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.

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

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

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

12/29/2011 ILKOM IPB 1

Kuliah #4 Ekspresi,Operator, dan Conditional Statement

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

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

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

P R E T R EM N 5 STRUKTUR LOOPING

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;

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

TEORI KONSEP PEMPROGRAMAN 3.1

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

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

Rekursif/ Iterasi/ Pengulangan

Algoritme dan Pemrograman

Selection, Looping, Branching

Pemrograman Dasar S E L E C T I O N

Proses Perulangan (Looping) DASAR PROGRAMMING 1

A. TUJUAN PEMBELAJARAN

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

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

Praktikum 5 PERULANGAN PROSES

2.4. Struktur Branching

Aliran Kendali (Flow Control)

PRAKTIKUM 6 PENGULANGAN PROSES 2

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

DPK UNIVERSITAS BRAWIJAYA MALANG

Praktikum 4 PENGULANGAN PROSES

Algoritme dan Pemrograman

Perulangan (Looping)

Bab 3. Decision 1 (Pengambilan Keputusan)

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

Algoritma Perulangan. Kuliah algoritma dan pemrograman

WEEK 6. Teknik Elektro UIN SGD Bandung PERULANGAN - LOOPING

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

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

Pemrograman Berorientasi Objek. Beni Suranto, S.T.

PENGANTAR KOMPUTER & SOFTWARE II

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

Percabangan & Perulangan

BAB IV PENGULANGAN PROSES

PERULANGAN Pengampu : Agus Priyanto, M.Kom

Algoritme dan Pemrograman

1 MODUL 5 MODUL 5 PERULANGAN

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 Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

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

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN

Algoritme dan Pemrograman

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Pemrograman Fery Updi,M.Kom

UJIAN TENGAH SEMESTER GANJIL TAHUN STMIK AMIKOM YOGYAKARTA

LOOPING. Brigida Arie Minartiningtyas, M.Kom

Looping : break, continue, nested loop

V. PENGULANGAN. while (kondisi) { Pernyataan ; } Copyright PIK Unsri Agustus 2006

Soal hari Jumat (16/10) Latihan 10 MS

PERULANGAN Pengampu : Agus Priyanto, M.Kom

OPERATOR DAN STATEMEN I/O

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

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

Soal hari Selasa (13/10) Latihan 7 AN

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

6 Maret Structure of Java [Penyeleksian Kondisi]

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

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

Bab 2 Struktur Dasar

{Pertemuan 4 Struktur Kondisi IF}

Bab 4 Perintah Perulangan

Konstruksi Dasar Algoritma

Algoritma & Pemrograman #5

Praktikum Dasar Pemrograman

STRUKTUR DASAR ALGORITMA

EXERCISE WORKBOOK MI /2012#07

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

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

KONTROL ALIR PERULANGAN

Pertemuan 4 Diagram Alur / Flowchart

PENGULANGAN. pencacah harus bertipe integer atau karakter pernyataan adalah satu atau lebih instruksi yang. Pernyataan

24/09/2017 PERULANGAN

ALGORITMA PERULANGAN

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

Struktur Perulangan Ema Utami STMIK AMIKOM Yogyakarta

Percabangan. Yuli Sun Hariyani

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

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

Aliran Kendali (Flow Control)

Perulangan / Looping

P10 Seleksi & Perulangan

PERTEMUAN 5 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PENGULANGAN

Kuliah III - Dasar Pemrograman

Transkripsi:

Algoritma dan Pemrograman WHILE while (kondisi) statement; FALSE kondisi? TRUE statement Pernyataan (statements) di dalam struktur WHILE akan diproses minimum NOL kali. Mengapa? WHILE Perhatikan potongan program berikut: int i=0; while (i<5) { printf("%d", i); i++; Output program tersebut adalah: 01234 1

WHILE Apa output potongan program berikut? int i=0; while (i<5) printf("%d", i++); Bagaimana dengan potongan program berikut? 01234 int i=0; while (i++<5) printf("%d", i); 12345 Latihan Dengan menggunakan pernyataan looping WHILE 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 WHILE 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); 2

DO WHILE int main() { int i, n=5; i=0; do { printf("%d ", i); i++; while (i<n); Output program tersebut adalah: 0 1 2 3 4 DO WHILE do statement TRUE kondisi? while (kondisi) FALSE Pernyataan (statements) di dalam struktur DO WHILE 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 3

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. FOR Bentuk umum for (expr1; expr2; expr3) { s1; s2;... Proses yang dilakukan mengikuti alur berikut: expr1 dieksekusi hanya satu kali sebelum mulai looping. expr2 merupakan ekspresi Boolean. Jika tidak dituliskan, diasumsikan bernilai true. Jika expr2 bernilai false, maka proses looping dihentikan. Jika expr2 bernilai true, maka s1, s2,... dieksekusi. Setelah eksekusi s1, s2,..., maka expr3 dieksekusi. expr1, expr2, dan expr3 bersifat optional (dapat dituliskan, juga dapat tidak dituliskan). Pernyataan FOR: Contoh #1 int main(){ int i,n = 5; for (i=0; i<n; i++) { printf("%d", i); Apa output program tersebut? (ikuti diagram FOR pada slide sebelumnya) 01234 4

Pernyataan FOR loop backward: Contoh #2 int main(){ int i=5; for ( ; i; i--) { printf("%d", i); Apa output program tersebut? Bagaimana jika baris for menjadi for ( ; i--; )? 54321 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? Apa yang dilakukannya? Bagaimana jika menggunakan for ( ; i++<n; sum+=i);? 15 Pernyataan FOR: Contoh #4 int main() { int i, n, bil, sum=0; scanf("%d", &n); for (i=1; i<=n; i++) { scanf("%d", &bil); sum+=bil; printf("%d\n", sum); Apa output program jika diberi input 3 13 43 32? Apa yang dilakukan program tersebut? 88 5

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 main() { 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"); 6

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); 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"); **** *** ** * DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Men-trace algoritme 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 ditentukan tanpa mengikuti algoritme sampai selesai (hanya dilakukan oleh orang yang sudah sangat memahami algoritme) 7

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 STOP DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Latihan Latihan #1 Berapa kali teks IPB dicetak oleh program berikut? int main() { int i; for (i=1; i<=20; i++) { if (i=5) printf ("IPB\n"); Apa yang dapat disimpulkan dari kasus ini? 8

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 main() { 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; scanf("%d", &bil); while (bil!=-99) { c++; scanf("%d", &bil); printf("%d\n", c); 3 9

Latihan #6 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 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 10