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

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

PENGANTAR KOMPUTER & SOFTWARE II

Pengulangan/Looping (dalambahasac++)

PENGANTAR KOMPUTER & SOFTWARE II

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

REVIEW ARRAY. Institut Teknologi Sumatera

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

LOOPING. Brigida Arie Minartiningtyas, M.Kom

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

LATIHAN SOAL (FUNGSI & PROSEDUR)

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

Algoritma Perulangan. Kuliah algoritma dan pemrograman

PERTEMUAN 9-11 STATEMENT

PERULANGAN Pengampu : Agus Priyanto, M.Kom

PENGULANGAN. Ada lima macam notasi pengulangan: 1. Berdasarkan jumlah pengulangan. repeat n times

OPERATOR DAN STATEMEN I/O

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

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

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

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

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

STRUKTUR DASAR PEMROGRAMAN

Rekursif/ Iterasi/ Pengulangan

PERULANGAN Pengampu : Agus Priyanto, M.Kom

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

Matriks. Tim Pengajar KU1072. KU1072/Pengenalan Teknologi Informasi B Tahap Tahun Pertama Bersama Institut Teknologi Bandung

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

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

Array (Tabel) [DalamBahasaC++]

Algoritma & Pemrograman

Subprogram (dalam Bahasa C++ + Flowchart)

StrukturDasarProgram Prosedural (dalambahasac++)

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

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

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

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

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

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

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Pengantar Pemrograman

Algoritma dan Pemrograman. Pertemuan Ke-8 Statement Pengulangan 1

PENGANTAR KOMPUTER & SOFTWARE 2 MATRIX

BAB V STRUKTUR PENGULANGAN

BAB VI. STATEMENT CONTROL

CCH1A4 / Dasar Algoritma & Pemrogramanan

AnalisisKasus/Percabangan (dalambahasac++)

Melakukan Operasi Logika

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

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

LatihanSoal 2 (dalambahasac++)

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

Basic Input/Output Operator Yoannita

Instalasi Code::Blocks, Tipe Data, Variabel, Konstanta, Operator, Input-Output dan Flowchart

A. Putting a Program Together

A. Putting a Program Together

Algoritma dan Pemrograman. Pertemuan Ke-9 Statement Pengulangan 2

RUBRIK PENILAIAN UJIAN TENGAH SEMESTER KU1072/PENGENALAN TEKNOLOGI INFORMASI B SEM /2014

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

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

MODUL 5 PERULANGAN (LOOPING)

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

PRAKTIKUM 4 PERCABANGAN

Konstruksi Dasar Algoritma

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

Pertemuan Ke- 6 dan 7 Pengulangan atau Looping. Rahmady Liyantanto. liyantanto.wordpress.com. S1 Teknik Informatika-Unijoyo

Kasus 6.1 Buatlah algoritma dan program untuk mencetak nama Anda sebanyak 10 kali

CCH1A4 / Dasar Algoritma & Pemrogramanan

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

Fungsi 1. Ekohariadi FT Unesa

Selection / Pemilihan PEMILIHAN

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

BAB V PERULANGAN. for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

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

BAB II DASAR-DASAR ALGORITMA

Minggu IV : Teori dan Workshop. PERULANGAN (LOOP/Iterasi/Repetisi)

KU-1072 PENGENALAN TEKNOLOGI INFORMASI B (PTI B)

Dasar Pemrograman. Visual Studio Program C++ Sederhana. Yoannita, S.Kom.

UJIAN TENGAH SEMESTER KU1072/PENGENALAN TEKNOLOGI INFORMASI B SEM /2014

Imam Fahrur Rozi. Algoritma dan Pemrograman OPERATOR

1 MODUL 5 MODUL 5 PERULANGAN

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

PERTEMUAN 5 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PENGULANGAN

Algoritma & Pemrograman #5

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

MODUL 3 PERCABANGAN TINGKAT LANJUT DAN PERULANGAN

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

Decission : if & if else

LatihanSoal 1 (dalambahasac++)

Konsep Dasar Pemrograman Dan Pengenalan C++

Bab 3. Decision 1 (Pengambilan Keputusan)

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

STRUKTUR DASAR ALGORITMA

Imam Fahrur Rozi. Algoritma dan Pemrograman PENGULANGAN

24/09/2017 PERULANGAN

Transkripsi:

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

TUJUAN Mahasiswa memahami jenis-jenis pengulangan dan penggunaannya serta memahami elemen-elemen dalam pengulangan. Mahasiswa dapat menggunakan notasi pengulangan yang sesuai dengan benar Mahasiswa dapat memanfaatkan jenis-jenis pengulangan dengan tepat dalam menyelesaikan persoalan sederhana yang diberikan. 10/20/2017 WD/PTI-B 2

MENULIS 1 DAN 2 Tuliskan program yang menuliskan angka 1 dan 2 dan selanjutnya 1+2 ke layar Contoh keluaran: 1 2 3... int main () { // KAMUS // ALGORITMA cout << 1 << endl; cout << 2 << endl; cout << 1+2 << endl; return 0; } 20/10/2017 3

MENULIS 1 S.D. 3 Tuliskan program yang menuliskan angka 1 s.d. 3 dan selanjutnya 1+2+3 ke layar Contoh keluaran: 1 2 3 6... int main () { // KAMUS // ALGORITMA cout << 1 << endl; cout << 2 << endl; cout << 3 << endl; cout << 1+2+3 << endl; return 0; } 20/10/2017 4

MENULIS 1 S.D. 10 Tuliskan program yang menuliskan angka 1 s.d. 10 dan selanjutnya 1+2+3+ +10 ke layar Contoh keluaran: 1 2 3 4 5 6 7 8 9 10 55... int main () { // KAMUS // ALGORITMA cout << 1 << endl; cout << 2 << endl; cout << 3 << endl; cout << 4 << endl; cout << 5 << endl; cout << 6 << endl; //lanjutkan sendiri!! cout << 10 << endl; cout << 1+2+3+4+5+6+7+8+9+10 << endl; return 0; } 20/10/2017 KU1072/PENGENALAN TEKNOLOGI INFORMASI B 5

MENULIS 1 S.D. 100 Tuliskan program yang menuliskan angka 1 s.d. 100 dan selanjutnya 1+2+3+ +100 ke layar Contoh keluaran: 1 2 3 4 5 6 7 8 9 10... int main () { // KAMUS // ALGORITMA cout << 1 << endl; cout << 2 << endl; cout << 3 << endl; cout << 4 << endl; cout << 5 << endl; cout << 6 << endl; //lanjutkan sendiri!! cout << 100 << endl; cout << 1+2+3+4+5+6+7+8+9+10+11+12+ // lanjutkan sendiri!!! return 0; } 20/10/2017 KU1072/PENGENALAN TEKNOLOGI INFORMASI B 6

BAGAIMANA KALAU Anda diminta menulis dan menjumlahkan 1 s.d. 1000??? 1 s.d. 10000??? 1 s.d. 1000000???. 20/10/2017 7

PENGULANGAN: LATAR BELAKANG Melakukan suatu instruksi, bahkan aksi, secara berulangulang Komputer: memiliki performansi yang sama Manusia: punya kecenderungan untuk melakukan kesalahan (karena letih atau bosan) 10/20/2017 WD/PTI-B 8

PENGULANGAN / LOOPING Elemen: Kondisi pengulangan: ekspresi lojik Badan pengulangan: aksi yang diulang Jenis-jenis notasi pengulangan: 1. Berdasarkan kondisi pengulangan di akhir : while 2. Berdasarkan kondisi pengulangan di awal : dowhile 3. Berdasarkan pencacah : for 10/20/2017 WD/PTI-B 9

STUDI KASUS UNTUK CONTOH Tuliskan program yang menerima masukan sebuah integer misalnya N dan menuliskan angka 1, 2, 3, N dan menuliskan 1+2+3+ +N ke layar. Asumsikan N > 0. Contoh: N = 1 Tampilan di layar: 1 1 N = 5 Tampilan di layar: 1 2 3 4 5 15 N = 10 Tampilan di layar: 1 2 3 4 5 6 7 8 9 10 55 20/10/2017 10

1. PENGULANGAN BERDASARKAN KONDISI PENGULANGAN DI AWAL (WHILE) Inisialisasi-aksi First-Element Inisialisasi-aksi First-Element kondisipengulangan while (kondisi-pengulangan) { Aksi Next-Element } //Kondisi-pengulangan=false Terminasi false true Aksi Next-Element Terminasi 10/20/2017 11

WHILE Pengulangan dikendalikan oleh elemen pengulangan yang diinisialisasi sebagai First-Element dan diubah nilainya dalam badan pengulangan menjadi Next-Elem Aksi akan dilakukan selama kondisi-pengulangan masih dipenuhi (berharga true) Tes terhadap kondisi-pengulangan dilakukan setiap kali sebelum aksi dilaksanakan Pengulangan ini berpotensi untuk menimbulkan Aksi kosong (tidak pernah melakukan apa-apa) karena pada test yang pertama, kondisipengulangan tidak dipenuhi (berharga false) sehingga langsung ke luar loop 20/10/2017 12

CONTOH WHILE // Program JumlahAngka // Menghitung 1+2+3+...+N; N > 0 #include <iostream> using namespace std; int main () { // KAMUS int N, i, sum; // ALGORITMA cin >> N; sum = 0; //Inisialisasi i = 1; //First-Element while (i <= N) { //Kondisi-pengulangan cout << i << endl; //Aksi sum = sum + i; //Aksi i = i + 1; //Next-Element } // i > N cout << sum << endl; //Terminasi return 0; } // Alternatif ekspresi while (i <= N) { cout << i << endl; sum+=i; i++; } // i > N 20/10/2017 13

CONTOH WHILE // Program JumlahAngka // Menghitung 1+2+3+...+N; N > 0 #include <iostream> using namespace std; int main () { // KAMUS int N, i, sum; // ALGORITMA cin >> N; sum = 0; //Inisialisasi i = 1; //First-Element } while (i <= N) { //Kondisi-pengulangan cout << i << endl; //Aksi sum = sum + i; //Aksi i = i + 1; //Next-Element } // i > N cout << sum << endl; //Terminasi return 0; // Alternatif ekspresi while (i <= N) { cout << i << endl; sum+=i; i++; } // i > N 20/10/2017 14

2. PENGULANGAN BERDASARKAN KONDISI PENGULANGAN DI AKHIR (DO-WHILE) Inisialisasi-Aksi First-Element Inisialisasi-Aksi First-Element Aksi do { Aksi Next-Element } while (kondisi-pengulangan); Terminasi true Next-Element kondisipengulangan false Terminasi 20/10/2017 15

DO-WHILE Pengulangan dikendalikan oleh elemen pengulangan yang diinisialisasi sebagai First-Element dan diubah nilainya dalam badan pengulangan menjadi Next-Element Aksi minimal akan dilakukan satu kali karena pada waktu eksekusi pengulangan yang pertama tidak dilakukan test terhadap kondisipengulangan Aksi akan dihentikan jika kondisi-pengulangan tidak dipenuhi (berharga false), akan diulang jika kondisi-pengulangan tercapai Test terhadap kondisi pengulangan dilakukan setelah Aksi dilaksanakan Pengulangan berpotensi mengalami kebocoran, jika ada kemungkinan bahwa seharusnya Aksi tidak pernah boleh dilakukan untuk kasus tertentu 20/10/2017 16

CONTOH DO-WHILE // Program JumlahAngka // Menghitung 1+2+3+...+N; N > 0 #include <iostream> using namespace std; int main () { // KAMUS int N, i, sum; // ALGORITMA cin >> N; sum = 0; //Inisialisasi-aksi i = 1; //First-element do { cout << i << endl; //Aksi sum = sum + i; //Aksi i = i + 1; } //Next-Element } while (i <= N); //Kondisi Pengulangan cout << sum << endl; //Terminasi return 0; // Alternatif ekspresi do { cout << i << endl; sum+=i; i++; } while ( i <= N ); 20/10/2017 17

3. PENGULANGAN BERDASARKAN PENCACAH (FOR) Inisialisasi-aksi Inisialisasi-aksi pencacah=hmin for (pencacah = hmin; pencacah <= hmaks; pencacah++) { Aksi } Terminasi pencacah++ pencacah = pencacah +1 false pencacah< = hmaks Aksi true pencacah++ Terminasi 10/20/2017 18

FOR pencacah harus suatu variable dengan type yang terdefinisi suksesor dan predesesornya, misalnya integer Nilai pencacah adalah dari hmin s.d. hmaks Aksi akan dilakukan dengan memperhitungkan harga-harga dari pencacah yang di- jelajahi Harga pencacah di-increment melalui operasi pencacah++ (alias pencacah=pencacah+1), setiap kali Aksi selesai dilaksanakan Jika pencacah=hmaks, maka pengulangan berhenti 20/10/2017 19

BENTUK UMUM LOOP FOR Inisialisasi-aksi Inisialisasi-aksi for (Inisialisasi-pencacah; kondisi-pengulangan; Next-pencacah) { } Aksi Terminasi false Inisialisasi-pencacah kondisipengulangan Aksi true Next-pencacah Terminasi 10/20/2017 20

BENTUK UMUM LOOP FOR Inisialisasi pencacah assignment nilai awal pencacah Inisialisasi-aksi for (Inisialisasi-pencacah; kondisi-pengulangan; Next-pencacah) { Kondisi-pengulangan ekspresi boolean untuk menentukan pengulangan false Inisialisasi-aksi Inisialisasi-pencacah kondisipengulangan Aksi true Aksi } Terminasi Next-pencacah operasi aritmatika yang menentukan perubahan nilai pencacah Next-pencacah Terminasi 10/20/2017 WD/PTI-B 21

CONTOH FOR // Program JumlahAngka // Menghitung 1+2+3+...+N; N > 0 #include <iostream> using namespace std; int main () { // KAMUS int N, i, sum; // ALGORITMA cin >> N; sum = 0; //Inisialisasi-aksi for (i = 1; i <= N; i++) { } cout << i << endl; //Aksi sum = sum + i; //Aksi, alternatif: sum+=i; } cout << sum << endl; return 0; //Terminasi pencacah: i Inisialisasi -pencacah: i = 1 kondisi pengulangan: i <= N Next-pencacah : i++ 20/10/2017 22

LATIHAN SOAL 20/10/2017 23

SOAL 1 : BERAPA HELLO DI LAYAR? stop = 1; // artinya stop=true do { cout << Hello << endl; } while (stop); do { cout << Hello << endl; } while (0); // 0 = false do { cout << Hello << endl; } while (1); // 1 = true Tak terhingga 1 kali Tak terhingga 10/20/2017 24

SOAL 1 : BERAPA HELLO DI LAYAR? i = 1; while (i < 5) { cout << Hello << endl; i = i + 1; } // i>=5 while (0) { // 0 = false cout << Hello << endl; }// false 4 kali 0 tidak ada Hello yang tertulis while (1) { // 1 = true cout << Hello << endl; } // false Tidak terhingga 20/10/2017 25

SOAL-2 Buatlah program yang menerima masukan 10 buah bilangan integer (dari keyboard) dan menuliskan ke layar jumlah total ke-10 integer tersebut. Contoh: Masukan: 2 1 0-9 7 13 2 2 1-1 Tampilan di layar : 18 20/10/2017 26

SOLUSI SOAL-2 ALTERNATIF 1 // Program Jumlah10Angka // Menerima masukan 10 buah integer dan menjumlahkan totalnya #include <iostream> using namespace std; int main () { // KAMUS int N, i, sum; // ALGORITMA sum = 0; //Inisialisasi for (i = 1; i <= 10; i++) { cin >> N; sum = sum + N; //Alternatif instruksi: sum+=n; } cout << sum << endl; //Terminasi } return 0; 20/10/2017 27

SOLUSI SOAL-2 ALTERNATIF 2 // Program Jumlah10Angka // Menerima masukan 10 buah integer dan menjumlahkan totalnya #include <iostream> using namespace std; int main () { // KAMUS int N, i, sum; // ALGORITMA sum = 0; //Inisialisasi-aksi i = 1; //First-Element do { cin >> N; sum = sum + N; //Alternatif: sum+=n; i = i + 1; //Next-element, Alternatif: i++; } while (i <= 10); cout << sum << endl; //Terminasi return 0; } 20/10/2017 28

SOAL-3 Buatlah program yang membaca sejumlah bilangan integer dari keyboard sampai pengguna memasukkan angka -999 (angka -999 tidak termasuk bilangan yang diolah). Tuliskan berapa banyak bilangan yang dimasukkan, nilai total, dan rata-rata semua bilangan Jika dari masukan pertama sudah menuliskan -999, maka tuliskan pesan Tidak ada data yang diolah 20/10/2017 29

SOAL-3 Contoh-1: Input : -1 12-6.1 10 2.5-999 Output: Banyak bilangan = 5 Jumlah total = 17 Rata-rata = 3.4 Contoh-2 Input : -999 Output: Tidak ada data yang diolah 20/10/2017 30

SOAL-4 Buatlah program untuk membaca sekumpulan bilangan bulat (integer) yang diakhiri -999 (-999 tidak termasuk), dan mencetak banyaknya bilangan genap, ganjil, positif, dan negatif. Bilangan 0 adalah bilangan genap, tetapi tidak positif atau pun negatif. 20/10/2017 31

SOAL-4 Contoh-1 Input : -9 12 0-6 27 62-999 Output : Bilangan genap ada = 4 Bilangan ganjil ada = 2 Bilangan positif ada = 3 Bilangan negatif ada = 2 Contoh-2 Input : -999 Output : Bilangan genap ada = 0 Bilangan ganjil ada = 0 Bilangan positif ada = 0 Bilangan negatif ada = 0 20/10/2017 32

Masih ingatkah dengan lagu Anak Ayam?? SOAL-5: LAGU ANAK AYAM Anak ayam turunlah 5 Mati satu tinggallah 4 Mati satu tinggallah 3 Mati satu tinggallah 2 Mati satu tinggal induknya generalisasi Anak ayam turunlah N Mati satu tinggallah N-1 Mati satu tinggallah N-2. Mati satu tinggallah 2 Mati satu tinggal induknya Buatlah 3 versi program yang menerima masukan sebuah integer positif > 0, misalnya N, dan menuliskan lirik lagu Anak Ayam dengan memanfaatkan pengulangan: do-while while for 20/10/2017 33