1 / 20

INSTRUKSI PERULANGAN ( LOOP )

STRUKTUR PEMROGRAMAN DALAM R. INSTRUKSI PERULANGAN ( LOOP ). Instruksi perulangan adalah instruksi yang dapat mengulang pelaksanaan sederetan instruksi-instruksi lainnya berulang-ulang sesuai persyaratan yang ditetapkan. Struktur instruksi perulangan pada dasarnya terdiri atas :

gaenor
Download Presentation

INSTRUKSI PERULANGAN ( LOOP )

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. STRUKTUR PEMROGRAMAN DALAM R INSTRUKSI PERULANGAN (LOOP) Instruksiperulanganadalahinstruksi yang dapatmengulangpelaksanaansederetaninstruksi-instruksilainnyaberulang-ulangsesuaipersyaratan yang ditetapkan. • Strukturinstruksiperulanganpadadasarnyaterdiriatas: • Syaratperulangan: suatusyarat yang harusdipenuhi agar perulangandapatterjadi. • Bagianperulangan: deretaninstruksi yang akandiulang-ulangpengerjaannya. • Pencacah (counter) perulangan: suatuvariabel yang nilainyaharusberubah agar dapatterjadidanpadaakhirnyamembatasibanyaknyaperulangan yang dapatdikerjakan. Ada 3 macambentukinstruksiperulangan yang biasaditemukandalam program, yaitufor, whiledanrepeat.

  2. awal:akhir 1. Perulanganfor Bentukumum for (variabelin vektornilai) { instruksi_instruksi } Maknanyaadalahulangiinstruksi-instruksitersebutberdasarkanvariabelperulanganmulainilaiawalhingganilaiakhir. Contoh: for (i in 1:10) { cat("Halo...","\n") }

  3. x <- c(4,1,5,7,2,3) n <- length(x) akumulasi <- 0 for(i in 1:n) { akumulasi <- akumulasi + x[i] } rata <- akumulasi/n for(cacah in 10:1) { cat(cacah,"\n") } cat("lariiii...","\n")

  4. Loop Menggunakanfor() jikabanyaknyapengulangandiketahui Perintah R for (i in nilai_nilai_i) { Perintah-perintah R } Contoh for (i in 1:10) { print(i) } for (i in c(3,2,9,6)) { print(i^2) } angkutan <- c("mobil", "bis", "kereta","sepeda") for (kendaraan in angkutan) { print(kendaraan) }

  5. Fibo <- rep(0,times=12) Fibo[1] <- 1 Fibo[2] <- 1 for (i in 3:12) { Fibo[i] <- Fibo[i-2] + Fibo[i-1] }

  6. Perulanganwhile while (syarat) { Instruksi_instruksi } Maknanyaadalahulangiinstruksi-instruksiselamasyarat yang diberikanmasihterpenuhi Perhatikan: Harusadainstruksi yang berkaitandengansyaratsebelummasukkewhilesehinggasyaratiniterpenuhidanpengulanganbisadilaksanakan. Bilatidak, makainstruksi while tidakbisadijalankan. Adasatuinstruksidiantarainstruksi-instruksi yang diulang agar padasatusaatsyaratperulangantidakterpenuhi, sehinggaperulangbisaberhenti.

  7. Contoh: Algoritmaberikutmenggunakan while untukmenampilkanangka 1 hingga 10 secaraberurutan. angka <- 1 while(angka < 11) { cat("angka= ",angka,"\n") angka <- angka + 1 } kondisiawal instruksiygbisamengubahsyaratsehinggatidakterpenuhi pd saatangka 11

  8. Loop Menggunakan while() Banyaknyapengulangantidakdiketahui Diulang selagi masih terpenuhinya syarat Perintah R while (syarat) { Perintah-perintah R } Contoh: Hitungjumlahdaribilangan 1,2,3,… sampaijumlahnya > 1000 n <- 1 jumlah <- 0 while (jumlah <= 1000) { jumlah <- jumlah + n n <- n + 1 }

  9. Misalkitainginmembuatbarisanbilangan Fibonacci yang kurangdari 300. Kita tidaktahuberapabanyaknyabilangan-bilanganini. Olehkarenaitukitataktahubagaimanamenghentikan loop menggunakanfor(),tetapi loop while() bisa. Fib1 <- 1 Fib2 <- 1 Fibo <- c(Fib1,Fib2) while (Fib2 < 300) { Fibo <- c(Fibo, Fib2) Fib2.lama <- Fib2 Fib2 <- Fib1 + Fib2 Fib1 <- Fib2.lama }

  10. Perulanganrepeat danbreak repeat { Instruksi_instruksi if(syarat) break } Makna: ulangipelaksanaan instruksi_instruksi hinggasyaratterpenuhi. Perhatikan: Instruksi-instruksiakandiulanghanyaapabila syarat TIDAK terpenuhi, danketikasyaratterpenuhimakaperulanganberhenti. Instruksi-instruksidikerjakanterlebihdahulusebelumsyaratdiperiksa. Harusadasatuinstruksiygmendahului repeat agar syarattidakterpenuhisehinggaperulanganbisaberlangsung. Harusadainstruksi yang menyebabkansyaratterpenuhidanperulanganberhenti.

  11. Contoh: Algoritmaberikutmenampilkan “Halo…” sebanyak 5 kali, denganmenggunakanrepeat. cacah <- 1 repeat { cat("Halo...","\n") cacah <- cacah + 1 if(cacah > 5) break } Contoh: Menggunakanrepeat untukmenghitungjumlah x1+x2+x3+…+xndan rata-ratanya x <- c(4,1,5,7,2,3) n <- length(x) akumulasi <- 0 i <- 1 repeat { akumulasi <- akumulasi + x[i] i <- i + 1 if (i > n) break } rata <- akumulasi/n

  12. Break juga bisa dipakai di dalam pengulangan while selain di dalam pengulangan repeat > i <- 1 > while(TRUE) + { # pengulangan yg sama + i <- i+4 + if (i > 10) break + } > i [1] 13 > i <- 1 > while (i <= 10) + { + i <- i+4 + } > i [1] 13 > i <- 1 > repeat + { # pengulangan yg sama juga + i <- i+4 + if (i > 10) break + } > i [1] 13 break digunakan utk keluar dr pengulangan (loop) break juga dpt digunakan dlm pengulangan for

  13. Perintah next akan melewatkan perintah di bawahnya dan langsung melompat pada iterasi berikutnya. Ket: is.na(x) adalah TRUE jika x merupakan data missing (NA) > x <- c(3,1,5,NA,6,9,NA,2) > jml <- 0 > for (unsur in x) + { + if (is.na(unsur)) next + jml <- jml + unsur + } > jml [1] 26

  14. Pengulangan terhadap himpunan bukan vektor Perintah get() akan menjadikan karakter/string dr suatu obyek sebagai input, dan akan mengeluarkan obyeknya sebagai outputnya. > P <- matrix(c(2,4,1,3),2,2) > Q <- matrix(c(1,4,2,3),2,2) > for (M in c("P","Q")) + { + matrikku <- get(M) + print(det(matrikku)) + } [1] 2 [1] -5

  15. INSTRUKSI PEMILIHAN denganPerintahif() Instruksipemilihanadalahinstruksi yang dipakaiuntukmemilihsatuaksidaribeberapakemungkinanaksiberdasarkansuatupersyaratan. Bentuk 1 kasus Tidak if (syarat) { aksi } Ya Apabilasyaratdipenuhi, maka “aksi” dijalankan. Contoh: Jika x lebihbesardr 100, makanilainyaakanditambah 5 if (x >100) { x <- x + 5 }

  16. Bentuk 2 kasus if (syarat) { aksi_1 } else { aksi_2 } Apabilasyaratdipenuhi, maka “aksi_1” dijalankan. Tetapijikatidakterpenuhimaka “aksi_2” ygdijalankan.

  17. Contoh: Jika x lebihbesardr 0, makaditampilkan “bilanganinipositif”. Selainituakanditampilkan “bilanganininegatif”. if (x >0) { cat("bilangan ini positif","\n") } else { cat("bilangan ini negatif","\n") }

  18. BentukBersusun (Lebihdari 1 Syarat) if (syarat_1) { Aksi_1 } else { if (syarat_2) { Aksi_2 } else { Aksi_3 } }

  19. Contoh: Penentuannilaiakhir: nilai <- function(skor) { if (skor >= 80) { nilai <- "A" } else { if (skor >= 60) { nilai <- "B" } else { nilai <- "C" } } return(nilai) }

  20. Terjemahkan ke dalam R !

More Related