Algoritma & Pemrograman

Slides:



Advertisements
Presentasi serupa
TEORI ALGORITMA.
Advertisements

- PERTEMUAN 5 & 6 – PERULANGAN
STRUKTUR DASAR ALGORITMA
STRUKTUR PERULANGAN Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan. Struktur.
TEL 2112 Dasar Komputer & Pemograman Pengulangan
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
Dasar Pemrograman MODUL 07 PERULANGAN.
ALGORITMA Lecture Pengulangan.
Struktur Kontrol #2 Perulangan
Algoritma dan Struktur Data
STRUKTUR KENDALI PROSES
PEMROGRAMAN TERSTRUKTUR
Oleh Nila Feby Puspitasari
Prosedur dan Fungsi.
Struktur Kontrol: Keputusan
STATEMENT PENGULANGAN
Pengulangan WHILE.
2 JAM TEORI dan 1 jam praktek
Pemprograman Terstruktur 1
Algoritma dan Struktur Data
Looping (Perulangan).
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Pengulangan.
Pengulangan Bambang Irawan.
Algoritma dan Pemprograman 1
Materi 9 LOGIKA & ALGORITMA.
Algoritma dan Struktur Data 1 pertemuan 6
STRUKTUR DASAR ALGORITMA
KUG1E3/ Pemrograman Terstruktur 1
PERULANGAN (LOOPING) Harni Kusniyati.
PERULANGAN (LOOPING).
Notasi Algoritmik.
Algoritma.
PERULANGAN C++.
STATEMENT PENGULANGAN
STRUKTUR DASAR ALGORITMA
PERULANGAN WHILE.
STRUKTUR DASAR ALGORITMA
Algoritma Pemrograman
PERTEMUAN 9-11 STATEMENT PENGULANGAN
Pernyataan Pengulangan Proses
Pernyataan Pengulangan Proses
Materi 10 LOGIKA & ALGORITMA.
Iterasi ( Perulangan ).
Looping (Perulangan).
STRUKTUR LOOPING Castaka Agus Suginto, M.Kom., M.CS.
BAB VI Pengulangan.
Array 1.
Pertemuan 9 Pengulangan dalam C Erna Sri Hartatik
Pengulangan Bambang Irawan.
Pengulangan.
Struktur Perulangan Yohana Nugraheni.
Perulangan (LOOPING)   Jika dibandingkan dengan computer, manusia mempunyai kekurangan. Salah satu kekurangannya adalah manusia tidak mampu melaksanakan.
PERULANGAN.
PENGULANGAN (Loop).
Struktur Dasar Algoritma dan Runtunan
KUG1E3/ Pemrograman Terstruktur 1
LOOPING / PERULANGAN FOR - DO WHILE - DO REPEAT - UNTIL
Pemograman Terstruktur
Algoritma & Pemrograman 1
Oleh : UMMU ZAHRA ALGORITMA.
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
STATEMENT PENGULANGAN
PERULANGAN (LOOPING).
Struktur Data dan Algoritma
Pengulangan While - Do Temu 10.
STRUKTUR DASAR ALGORITMA
Perulangan (for, while, do while) MANASE SAHAT, M.KOM.
ALGORITMA & PEMROGRAMAN 2B
PERULANGAN (LOOPING) Harni Kusniyati. 1. Pernyataan While Pada pernyataan while, pengecekan terhadap loop dilakukan dibagian awal (sebelum tubuh loop).
Transcript presentasi:

Algoritma & Pemrograman PERULANGAN Pengampu : M. Zidny Naf’an, M.Kom

Struktur Perulangan Struktur perulangan secara umum ada dua bagian: Kondisi perulangan Ekspresi boolean yang harus dipenuhi untuk melaksanakan perulangan Badan perulangan Bagian algoritma yang diulang Struktur perulangan disertai pula: Inisialisasi Aksi yang dilakukan sebelum perulangan dilakukan pertama kali Terminasi Aksi yang dilakukan setelah perulangan selesai dilaksanakan 2

Struktur Perulangan Struktur perulangan secara umum: <inisialisasi> awal perulangan badan perulangan akhir perulangan <terminasi> 3

Struktur Perulangan Beberapa hal yang harus diperhatikan: Inisialisasi dan terminasi tidak selalu harus ada, namun dalam beberapa kasus inisialisasi biasanya diperlukan. Suatu perulangan harus berhenti! Beberapa struktur perulangan dapat dipakai untuk masalah yang sama, namun ada notasi perulangan yang hanya cocok dipakai untuk masalah tertentu. 4

Notasi Struktur Perulangan Struktur FOR Struktur WHILE Struktur DO-WHILE 5

Struktur FOR Struktur perulangan FOR digunakan untuk menghasilkan perulangan sejumlah kali yang dispesifikasikan. Jumlah perulangan diketahui atau dapat ditentukan sebelum eksekusi. Diperlukan variabel counter/pencacah. Jika cacah perulangan sudah mencapai jumlah yang dispesifikasikan, maka proses perulangan berhenti. 6

Struktur FOR Bentuk umum struktur FOR: for(<ekspresi1>; <ekspresi2>; <ekspresi3>) { aksi1; aksi2; } Ekspresi1: inisialisasi counter Ekspresi2: syarat pelaksanaan Ekspresi3: naikkan counter (inkremen) 7

Struktur FOR Bentuk umum struktur FOR menaik (ascending): for(var=nilai_awal; nilai_awal<=nilai_akhir; var++) { aksi1; aksi2; } 8

Struktur FOR Yang harus diperhatikan adalah: Pencacah harus dari tipe data yang memiliki predecessor dan successor, yakni integer atau karakter. Aksi adalah satu atau lebih instruksi yang diulang nilai_awal harus lebih kecil atau sama dengan nilai_akhir Pada awalnya, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis bertambah satu setiap kali aksi perulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_akhir Jumlah perulangan yang terjadi: nilai_akhir - nilai_awal+1 9

Struktur FOR Contoh: /* mencetak kata ‘Halo’ sebanyak 10 kali */ int i; for(i=1;i<=10;i++) cout<<“Halo\n”, i; 10

Struktur FOR Bentuk umum struktur FOR menurun (descending): for(var=nilai_awal; nilai_awal>=nilai_akhir; var--) { aksi1; aksi2; } 11

Struktur FOR Menurun Yang harus diperhatikan adalah: Pencacah harus dari tipe data yang memiliki predecessor dan successor, yakni integer atau karakter. Aksi adalah satu atau lebih instruksi yang diulang nilai_awal harus lebih besar atau sama dengan nilai_akhir Pada awalnya, pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis berkurang satu setiap kali aksi perulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_akhir Jumlah perulangan yang terjadi: nilai_awal - nilai_akhir+1 12

Struktur FOR Contoh: /* mencetak angka: 9 8 7 6 5 4 3 2 1 0 */ int i; for(i=9;i>=0;i--) cout<<i ,"\n"; return 0; 13

Contoh Lain FOR int i; i=0; //inisialisasi for(;i<10;) //kondisi { cout<<i,“%d\n”; //proses i++; //inkremen } cout<<“--------------\n”; Cout<<i,“%d\n”; //terminasi 14

Contoh Lain FOR Contoh : for (a =0; a<=10; ++a) perulangan positif (+1) for (a =0; a<=10; a+=2) perulangan positif (+2) for (a=10; a>=0; --a) perulangan negatif(-1)

Notasi Algoritmik Struktur For PROGRAM Cetak_10_HelloWorld {program akan mencetak hello world sebanyak10 kali} DEKLARASI: i: integer ALGORITMA: for i1 to 10 do write(“Hello World \n”) endfor

Flowchart For http://www.gatewan.com/2015/02/struktur-dasar-algoritma-pemrograman.html

Contoh Struktur For (mencetak 1 s.d. 10) PROGRAM Cetak_1_sampai_10 {program akan mencetak angka 1 hingga 10} DEKLARASI : i: integer ALGORITMA: for i1 to 10 do write(i) endfor

Flowchart Mencetak Angka 1..10 http://www.gatewan.com/2015/02/struktur-dasar-algoritma-pemrograman.html

Contoh Struktur For (Jumlah deret 1 hingga N) PROGRAM Jumlah_deret {program akan menjumlahkan deret bilangan 1 hingga N} DESKRIPSI: jumlah, i, N: integer ALGORITMA: read(N) jumlah  0 for i1 to N do jumlah  jumlah + i endfor write(jumlah)

DARI CONTOH MENGHITUNG JUMLAH DERET SUATU BILANGAN, BAGAIMANA CARA MENCARI RATA-RATA DARI DERET TERSEBUT??

Struktur WHILE Bentuk umum struktur WHILE: inisialisasi; while(<ekspresi>) { aksi1; aksi2; } terminasi; 22

Struktur WHILE Beberapa hal yang harus diperhatikan: Aksi atau runtunan aksi akan dilaksanakan berulang kali selama <ekspresi> bernilai true. Jika kondisi bernilai false, badan perulangan tidak akan dilaksanakan yang artinya perulangan selesai. 23

Struktur WHILE Contoh: } /* mencetak kata ‘Halo’ sebanyak 10 kali */ int i; i=1; while(i<=10) { cout<<“Halo\n”; i++; } 24

Struktur WHILE Hal penting yang tidak boleh dilupakan dalam program: Melupakan inisialisasi: i=1; Tidak menuliskan instruksi yang mengubah kondisi: i++; 25

Contoh Struktur While (Mencetak Hello World) PROGRAM Cetak_10_HelloWorld {program akan mencetak hello world sebanyak10 kali} DESKRIPSI: i: integer ALGORITMA: i  1 while i<=10 do write(“Hello World \n”) i  i+1; endwhile

COBA BUAT ALGORITMA PENGGUNAAN STRUKTUR WHILE PADA CONTOH STRUKTUR FOR DIATAS

Struktur DO-WHILE Bentuk umum: inisialisasi; do { aksi1; aksi2; } while(<ekspresi>); terminasi; Jangan lupa titik koma 28

Struktur DO-WHILE Beberapa hal yang perlu diperhatikan: Aksi di dalam badan kalang diulang sampai kondisi boolean bernilai false. Jika kondisi boolean masih true, perulangan masih terus dilakukan. Karena proses perulangan suatu saat harus berhenti, maka di dalam badan perulangan harus ada aksi yang mengubah nilai peubah <ekspresi>. 29

Struktur DO-WHILE Contoh: } while(i<=10); /* mencetak kata ‘Halo’ sebanyak 10 kali */ int i; i=1; do { cout<<“Halo\n”; i++; } while(i<=10); 30

FOR atau WHILE atau DO-WHILE ? Meskipun kadang bisa digunakan untuk fungsi yang sama, ketiga struktur perulangan sebaiknya digunakan sesuai dengan kasus yang dihadapi: Jika banyaknya perulangan dapat dipastikan gunakan struktur FOR Jika perulangan dihentikan saat kondisi tertentu terpenuhi gunakan WHILE atau DO-WHILE 31

WHILE atau DO-WHILE? WHILE DO-WHILE Pemeriksaan kondisi dilakukan di awal perulangan Pemeriksaan kondisi dilakukan di akhir perulangan Badan perulangan mungkin tidak pernah dieksekusi Badan perulangan paling sedikit 1 kali dieksekusi Gunakan struktur WHILE pada kasus yang mengharuskan terlebih dahulu pemeriksaan kondisi objek tersebut sebelum dimanipulasi. Gunakan struktur DO-WHILE pada kasus yang terlebih dahulu memanipulasi objek, baru kemudian memeriksa kondisi objek tersebut. 32

CONTOH PENGGUNAAN STRUKTUR PERULANGAN DAN PEMILIHAN PROGRAM Menjumlahkan_Bilangan_Ganjil_1_10 DEKLARASI : jumlah, i: integer ALGORITMA: jumlah  0; for i1 to 10 do if(i mod 2 != 0) jumlah  jumlah + i endif endfor

Nested Loop Looping bersarang Ada Looping di dalam Looping Ketika bekerja dengan loop bersarang, loop luar (outer) berubah hanya setelah loop dalam (inner) benar-benar selesai (atau terganggu.). http://mathbits.com/MathBits/CompSci/looping/nested.htm

Nested Loop

Contoh Nested Loop (Menampilkan Segitiga Siku-siku) PROGRAM MenampilkanSegitigaSikusiku DEKLARASI : I,j: integer ALGORITMA: for i1 to 5 do for j1 to i do write(“*”) endfor write(“\n”)

Latihan : Tentukan Outputnya using namespace std; int main() { int x =5; int y=3; for (x=1; x<=5; x++) y = y + x; cout <<"Nilai X = " << x; cout <<"Nilai Y = " << y <<"\n"; } return 0;

No. 2 using namespace std; int main() { int x, y, z; x = 5; y = 8; for (x=1; x<=10; x++) y = y + x; if (x >= 4) x = x + 4; cout <<"Nilai Y = " << y <<"\n"; } return 0;

No. 2 using namespace std; int main() { int x, y, z; x = 5; y = 8; for (x=1; x<=10; x++) y = y + x; if (x >= 4) x = x + 4; cout <<"Nilai Y = " << y <<"\n"; } return 0;

Jawaban 1. Nilai X = 1 Nilai Y = 4 Nilai X = 2 Nilai Y = 6 Nilai X = 3 Nilai Y = 9 Nilai X = 4 Nilai Y = 13 Nilai X = 5 Nilai Y = 18 2. Nilai Y = 18 Nilai Y = 27

SOAL LATIHAN Buatlah algoritma untuk menampilkan semua solusi bilangan bulat tidak negatif dari persamaan berikut: x + y + z = 25; dimana x>=0, y>=0, dan z>=0

Jawaban Soal Latihan 1 diasumsikan batas nilai x, y, dan z adalah 100. for x=0 to batas do for y=0 to batas do for z=0 to batas do result = x+y+z if(result == 25) write(x, y, z) endfor

SOAL LATIHAN Suatu program memiliki 4 menu, yaitu: (O) open file, (S) save file, (E)edit file, dan (X) exit. Masukan user adalah pilihan menu yang diwakili dengan karakter O, S, E, dan X. Karakter yang dimasukkan menu tidak harus huruf besar, user juga dapat menginputkan huruf kecil. Menu akan terus berulang jika user tidak menginputkan salah satu dari 4 karakter tersebut. Dengan menggunakan struktur do-while, buatlah algoritmanya.

Tugas 1 Buatlah pseudocode dan flowchart untuk menampilkan deret fibonaci sebanyak N yang dimasukkan user. Deret fibonacci: 1 1 2 3 5 8 .....

Tugas 2 Buatlah program dengan menggunakan perulangan untuk menampilkan piramida dengan tinggi yang di tentukan user. Contoh bentuk piramida dengan tinggi = 3 * *** *****