Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

dokumen-dokumen yang mirip
PENGULANGAN. Ada lima macam notasi pengulangan: 1. Berdasarkan jumlah pengulangan. repeat n times

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

PENGANTAR KOMPUTER & SOFTWARE II

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

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

PENGANTAR KOMPUTER & SOFTWARE II

PENGULANGAN SKEMA PEMROSESAN SEKUENSIAL. Tim Pengajar KU1071 Sem

Algoritma & Pemrograman

PERTEMUAN 9-11 STATEMENT

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

Rekursif/ Iterasi/ Pengulangan

CCH1A4 / Dasar Algoritma & Pemrogramanan

Algoritma Perulangan. Kuliah algoritma dan pemrograman

Identitas dosen POKOK BAHASAN. Struktur Pengulangan. proses perhitungan dan mengulang. perhitungan PENGULANGAN PENGULANGAN. Suherman,, ST Address

LOOPING. Brigida Arie Minartiningtyas, M.Kom

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

PARADIGMA VOL. IX. NO. 3, AGUSTUS 2007

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

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

PERULANGAN Pengampu : Agus Priyanto, M.Kom

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

Pengulangan/Looping (dalambahasac++)

PERULANGAN Pengampu : Agus Priyanto, M.Kom

Struktur Perulangan Ema Utami STMIK AMIKOM Yogyakarta

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

PERTEMUAN 5 PENGEMBANGAN PSEUDOCODE STRUKTUR KONTROL PENGULANGAN

LIST LINIER 1. DEFINISI

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

Algoritma dan Pemrograman. Pertemuan Ke-8 Statement Pengulangan 1

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

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

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

Konstruksi Dasar Algoritma

CCH1A4 / Dasar Algoritma & Pemrogramanan

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

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

Algoritma Pemrograman

Algoritma Pemrograman

Algoritma dan Pemrograman FUNGSI

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem

Notasi Algoritmik. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N

Algoritma Pemrograman

PEMROGRAMAN VISUAL BASIC.NET ( PERULANGAN / LOOPING )

Algoritma Pemrograman

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

Algoritma Pemrograman

ALGORITMA PERULANGAN

Perulangan / Looping

Pertemuan 4 Perulangan

BAB V STRUKTUR PENGULANGAN

PENGERTIAN DASAR Dalam Pemrograman Prosedural

Algoritma dan Struktur Data

STRUKTUR DASAR ALGORITMA

MODUL 3 PERCABANGAN TINGKAT LANJUT DAN PERULANGAN

Prosedur. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

OPERATOR DAN STATEMEN I/O

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

1 MODUL 5 MODUL 5 PERULANGAN

Chapter 5. Struktur Kontrol Perulangan

Algoritma Pemrograman

Algoritma dan Pemrograman. Pertemuan Ke-9 Statement Pengulangan 2

Perulangan, Percabangan, dan Studi Kasus

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

STRUKTUR DASAR ALGORITMA

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N

Algoritma Pemrograman I

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak

Algoritma & Pemrograman #5

PROSEDUR. Jadi, setiap prosedur harus : - Didefinisikan (dibuat spesifikasinya) dan dituliskan kode programnya - Dipanggil, pada saat eksekusi

BAB II DASAR-DASAR ALGORITMA

REPEAT.. UNTIL, FOR...TO DO DAN WHILE DO

Dasar-dasar Algoritma Dan Representasi Algoritma. Pengampu : Muhammad Zidny Naf an, M.Kom

Algoritma dan Pemrograman

Algoritma Pemrograman

Algoritma dan Pemrograman PROSEDUR. Oleh: Eddy Prasetyo N

Array (Tabel) bagian 2

BAB V PENYELEKSIAN KONDISI DAN PERULANGAN

Struktur Pengulangan

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

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

Pengampu : Agus Priyanto, M.KOM

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

MI1264 DASAR ALGORITMA DAN PEMROGRAMAN

Proses, Instruksi, dan Aksi

LATIHAN UTS Tim Pengajar KU1071 Sem

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

TUGAS PEMROGRAMAN DASAR PENGULANGAN WHILE

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

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

Algoritma Pemrograman [BS204]

ALGORITMA DAN PEMROGRAMAN

MODUL II PERCABANGAN DAN PERULANGAN

Pengertian Dasar Konstruksi Pemrograman Prosedural. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

MODUL V REPETITIVE. Modul Praktikum Bahasa Pemrograman Visual (BPV)

Algoritma dan Pemrograman

Pemrograman Berorientasi Objek (PBO) PERTEMUAN X (LOOPING)

BAB 5 REPETITION / PERULANGAN

Transkripsi:

Algoritma dan Pemrograman Oleh: Eddy Prasetyo N

Konten Pengantar Struktur Pengulangan Notasi Pengulangan Repeat..times While..do Iterate stop Latihan

Pengantar[1] Salah satu kemampuan komputer yang dapat dimanfaatkan adalah mengulang suatu instruksi, bahkan aksi, secara berulang-ulang dengan performansi yang sama. Berbeda dengan manusia yang cenderung melakukan kesalahan jika melakukan hal yang sama (karena lelah atau bosan), komputer akan melakukan pengulangan dengan setia sesuai dengan perintah yang diberikan.

Pengantar[2] Pengulangan harus berhenti, ini yang harus dijamin oleh pemrogram. Pada bab tentang "mengupas kentang" telah diberikan suatu contoh di mana pengulangan mungkin dilakukan terus menerus. salah satu sifat algoritma yang harus dipenuhi adalah terjadi dalam selang waktu terbatas maka pengulangan yang terus menerus (looping) adalah algoritma yang salah. Pengulangan yang terus menerus harus dapat dideteksi pemrogram bahkan sebelum program dieksekusi oleh mesin, berdasarkan ketidaksesuaian (invariansi) dari badan pengulangan tersebut.

Struktur Pengulangan Pengulangan terdiri dari dua bagian : kondisi yang mengakibatkan pengulangan suatu saat berhenti, yang dinyatakan oleh sebuah ekspresi logik baik secara eksplisit maupun implisit badan pengulangan, yaitu aksi yang harus diulang selama kondisi yang ditentukan untuk pengulangan masih dipenuhi

Struktur Pengulangan Disamping itu, struktur pengulangan biasanya disertai dengan bagian : inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan pertama kali. terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai dilakukan

Notasi Pengulangan Notasi pengulangan adalah salah satu notasi dasar dalam penulisan algoritma selain analisa kasus. Notasi pengulangan merupakan sebagian dari skema pengulangan yang akan dibahas pada bab-bab berikutnya. Ada lima macam notasi pengulangan: berdasarkan jumlah pengulangan (repeat times) Implementasi Java bentuk looping for (..;..;..) berdasarkan kondisi berhenti (repeat until) Implementasi Java bentuk looping do..while (kondisi) berdasarkan kondisi pengulangan (while do) Implementasi Java bentuk looping while(...) berdasarkan dua aksi (iterate stop) Implementasi Java bentuk looping do...while(kondisi) berdasarkan pencacah (traversal) Implementasi Java bentuk looping for (..;..;..)

Berdasarkan jumlah pengulangan Aksi akan diulang sebanyak n kali, dan bukan urusan pemrogram untuk mengelola pengulangan tersebut. Dengan hanya menyebutkan pengulangan tersebut,pengulangan pasti akan berhenti suatu saat.

Berdasarkan kondisi berhenti Aksi akan dihentikan jika kondisi-berhenti dipenuhi (berharga true) Aksi akan diulang jika kondisi-berhenti belum tercapai. Badan pengulangan pada notasi ini (Aksi) minimal akan dilakukan satu kali karena pada waktu eksekusi pengulangan yang pertama tidak ada dilakukan test terhadap kondisi-berhenti. Test terhadap kondisi berhenti dilakukan setelah Aksi dilaksanakan. Pengulangan ini berpotensi untuk menimbulkan "kebocoran" (ada Aksi yang dileksekusi tanpa pernah diperiksa kondisi pelaksanaannya), jika ada kemungkinan bahwa seharusnya Aksi tidak pernah boleh dilakukan untuk kasus yang tertentu.

Berdasarkan kondisi pengulangan Aksi akan dilakukan selama kondisi-pengulangan masih dipenuhi (berharga true). Badan pengulangan (Aksi) pada notasi ini mungkin tidak akan pernah dilakukan, karena sebelum aksi yang pertama dieksekusi dilakukan test terhadap kondisi berhenti. Test 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).

Berdasarkan dua aksi(iterate stop) iterate Aksi-1 stop (kondisi-berhenti) Aksi-2 { Kondisi berhenti dicapai di titik program ini}

Berdasarkan dua aksi(iterate stop) Pengulangan ini seolah-olah adalah "gabungan pengulangan kedua dan ketiga Mekanisme : 1. Secara otomatis Aksi-1 dieksekusi 2. Kemudian test terhadap kondisi berhenti 3. Tergantung kondisi berhenti : Aksi-2 akan diaktifkan dan kemudian Aksi-1 yang berikutnya diulang, atau pengulangan dihentikan karena efek neto dari Aksi-1 menghasilkan kondisi berhenti Pengulangan ini berguna untuk kasus-kasus dimana Aksi-2 merupakan hal yang harus dilakukan tergantung dari hasil Aksi-1

Berdasarkan pencacah (traversal) nama-pencacah traversal [range harga] Aksi { Catatan : nama--pencacah harus suatu type yang terdefinisi suksesor dan predesesornya, setelah pelaksanaan pengulangan selesai, harga yang tersimpan pada nama-pencacah tidak terdefinisi : jika hendak dipakai, harus didefinisikan kembali }

Berdasarkan pencacah (traversal) Pemrogram tidak perlu melakukan operasi terhadap suksesor/predesesor karena setiap kali selesai melakukan Aksi, otomatis mesin akan melakukan operasi mendapatkan suksesor dari harga yang sedang berlaku saat itu Pengulangan otomatis berhenti setelah penjelahan terhadap nama-pencacah sudah mencakup semua harga yang terdefinisi dalam range harga Pengulangan ini biasanya dipakai jika harga yang tersimpan dalam nama-pencacah ingin dimanfaatkan dalam Aksi, namun tidak boleh DIUBAH karena akan mengacaukan urutan eksekusi yang dilakukan.

Bagian Yang Perlu dipenuhi dalam Looping 1. Inisialisasi (Tahap persiapan membuat konsisi awal seblum melakukan perulangan, misalnya isi variabel dgn nilai awal) 2. Proses (Tahap Proses terjadi di dalam bagian perulangan yaitu berisi semua proses yang perlu dilakukan scr berulang) 3. Iterasi ( Iterasi terjadi di dalam looping yakni kondisi pertambahan agar looping terus berjalan) 4. Terminasi ( konsisi berhenti dari looping)

Looping For..dalam JAVA Format: for(inisialisasi;kondisi_terminasi;var_itera si) { //aksi } Contoh: for(i=1;i<=10;i++){ } //Proses

Looping While dalam JAVA Format: //inisialisasi While(kondisi_terminasi) { //aksi //kondisiiterasi Terminasi} Contoh: i=1; while(i<=10){ //Proses i++; }

Looping Do..While dalam JAVA Format: //inisialisasi do{ //aksi //kondisiiterasi } While(kondisi_terminasi) Contoh: i=1; do{ //Proses i++; } while(i>10)

Penutup Suatu bentuk pengulangan dapat "diterjemahkan" menjadi bentuk yang lain dengan notasi algoritmik yang tersedia Instruksi pengulangan tidak dapat berdiri sendiri, dan harus disertai dengan instruksi-instruksi lain sebelum dan sesudah pengulangan Persoalannya adalah memilih bentuk pengulangan yang benar dan tepat Tidak semua bahasa pemrograman yang ada menyediakan semua bentuk pengulangan di atas

Contoh algoritma[1] Program TULISBIL1 {Dibaca N >= 0, Menuliskan 1,2,3, N berderet ke bawah, dengan bentuk repeat..n times} Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i 1 repeat N times output (i) i i + 1

Contoh algoritma[2] Program TULISBIL2 {Dibaca N >= 0, Menuliskan 1,2,3, N berderet ke bawah, dengan bentuk repeat..until } Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i 1 repeat output (i) i i + 1 until (i>n)

Contoh algoritma[3] Program TULISBIL3 {Dibaca N >= 0, Menuliskan 1,2,3, N berderet ke bawah, dengan bentuk while do} Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i 1 while i <= N do output (i) i i + 1 { i > N}

Contoh algoritma[4] Program TULISBIL4 {Dibaca N >= 0, Menuliskan 1,2,3, N berderet ke bawah, dengan bentuk traversal} Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i traversal [1..N] output (i)

Contoh algoritma[5] Program TULISBIL1 {Dibaca N >= 0, Menuliskan 1,2,3, N berderet ke bawah, dengan bentuk repeat..n times} Kamus : i : integer {bilangan yang akan ditulis} Algoritma : input (N) i 1 repeat N times output (i) i i + 1

Exercise : In 2020, Mary Smith, a student of STT Telkom, has borrowed $3,000 to help pay her college expenses. After setting up a budget, $85 was the maximum monthly payment she could afford to make on the loan. Develop a solution to calculate and print the interest, the principal, and the balance on the loan per month. Other information she would like to know is the number of years and months it will take to pay the loan back and the total interest she will pay during hat period. The interest rate is 1% per month on the unpaid balance. Keep in mind these formulas : interest = balance * interest rate payment = balance interest new balance = balance - payment

Terima kasih, selamat mengerjakan latihan