instruksi perulangan ( loop )

20
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: Syarat perulangan: suatu syarat yang harus dipenuhi agar perulangan dapat terjadi. Bagian perulangan: deretan instruksi yang akan diulang-ulang pengerjaannya. Pencacah (counter) perulangan: suatu variabel yang nilainya harus berubah agar dapat terjadi dan pada akhirnya membatasi banyaknya perulangan yang dapat dikerjakan. Ada 3 macam bentuk instruksi perulangan yang biasa ditemukan dalam program, yaitu for, while dan repeat. STRUKTUR PEMROGRAMAN DALAM R

Upload: gaenor

Post on 16-Jan-2016

156 views

Category:

Documents


6 download

DESCRIPTION

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 : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: INSTRUKSI PERULANGAN ( LOOP )

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:• Syarat perulangan: suatu syarat yang harus dipenuhi agar

perulangan dapat terjadi.• Bagian perulangan: deretan instruksi yang akan diulang-ulang

pengerjaannya.• Pencacah (counter) perulangan: suatu variabel yang nilainya

harus berubah agar dapat terjadi dan pada akhirnya membatasi banyaknya perulangan yang dapat dikerjakan.

Ada 3 macam bentuk instruksi perulangan yang biasa ditemukan dalam program, yaitu for, while dan repeat.

STRUKTUR PEMROGRAMAN DALAM R

Page 2: INSTRUKSI PERULANGAN ( LOOP )

1. Perulangan forBentuk umum

for (variabel in vektornilai){ instruksi_instruksi}

awal:akhir

Maknanya adalah ulangi instruksi-instruksi tersebut berdasarkan variabel perulangan mulai nilai awal hingga nilai akhir.

for (i in 1:10){ cat("Halo...","\n")}

Contoh:

Page 3: INSTRUKSI PERULANGAN ( LOOP )

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

for(cacah in 10:1){ cat(cacah,"\n")}cat("lariiii...","\n")

Page 4: INSTRUKSI PERULANGAN ( LOOP )

Loop Menggunakan for()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)}

jika banyaknya pengulangan diketahui

Page 5: INSTRUKSI PERULANGAN ( LOOP )

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

Page 6: INSTRUKSI PERULANGAN ( LOOP )

Perulangan while

while (syarat){ Instruksi_instruksi}

Maknanya adalah ulangi instruksi-instruksi selama syarat yang diberikan masih terpenuhi

Perhatikan:1. Harus ada instruksi yang berkaitan dengan syarat sebelum masuk

ke while sehingga syarat ini terpenuhi dan pengulangan bisa dilaksanakan. Bila tidak, maka instruksi while tidak bisa dijalankan.

2. Ada satu instruksi di antara instruksi-instruksi yang diulang agar pada satu saat syarat perulangan tidak terpenuhi, sehingga perulang bisa berhenti.

Page 7: INSTRUKSI PERULANGAN ( LOOP )

Contoh: Algoritma berikut menggunakan while untuk menampilkan angka 1 hingga 10 secara berurutan.

angka <- 1while(angka < 11){ cat("angka= ",angka,"\n") angka <- angka + 1}

kondisi awal

instruksi yg bisa mengubah syarat sehingga tidak terpenuhi pd saat angka 11

Page 8: INSTRUKSI PERULANGAN ( LOOP )

Loop Menggunakan while()

Perintah Rwhile (syarat){ Perintah-perintah R}

Contoh: Hitung jumlah dari bilangan 1,2,3,… sampai jumlahnya > 1000

n <- 1jumlah <- 0while (jumlah <= 1000){ jumlah <- jumlah + n n <- n + 1}

Banyaknya pengulangan tidak diketahui Diulang selagi masih terpenuhinya syarat

Page 9: INSTRUKSI PERULANGAN ( LOOP )

Misal kita ingin membuat barisan bilangan Fibonacci yang kurang dari 300. Kita tidak tahu berapa banyaknya bilangan-bilangan ini. Oleh karena itu kita tak tahu bagaimana menghentikan loop menggunakan for(), tetapi loop while() bisa.

Fib1 <- 1Fib2 <- 1Fibo <- c(Fib1,Fib2)while (Fib2 < 300){ Fibo <- c(Fibo, Fib2) Fib2.lama <- Fib2 Fib2 <- Fib1 + Fib2 Fib1 <- Fib2.lama}

Page 10: INSTRUKSI PERULANGAN ( LOOP )

Perulangan repeat dan break

repeat{ Instruksi_instruksi if(syarat) break}

Makna: ulangi pelaksanaan instruksi_instruksi hingga syarat terpenuhi.

Perhatikan:1. Instruksi-instruksi akan diulang hanya apabila syarat TIDAK

terpenuhi, dan ketika syarat terpenuhi maka perulangan berhenti.2. Instruksi-instruksi dikerjakan terlebih dahulu sebelum syarat

diperiksa.3. Harus ada satu instruksi yg mendahului repeat agar syarat tidak

terpenuhi sehingga perulangan bisa berlangsung.4. Harus ada instruksi yang menyebabkan syarat terpenuhi dan

perulangan berhenti.

Page 11: INSTRUKSI PERULANGAN ( LOOP )

Contoh: Algoritma berikut menampilkan “Halo…” sebanyak 5 kali, dengan menggunakan repeat.

cacah <- 1repeat{ cat("Halo...","\n") cacah <- cacah + 1 if(cacah > 5) break}

Contoh: Menggunakan repeat untuk menghitung jumlah x1+x2+x3+…+xn dan rata-ratanya

x <- c(4,1,5,7,2,3)n <- length(x)akumulasi <- 0i <- 1repeat{ akumulasi <- akumulasi + x[i] i <- i + 1 if (i > n) break}rata <- akumulasi/n

Page 12: INSTRUKSI PERULANGAN ( LOOP )

Break juga bisa dipakai di dalam pengulangan while selain di dalam pengulangan repeat

> i <- 1> while (i <= 10) + {+ i <- i+4+ }> i[1] 13

> i <- 1> while(TRUE) + { # pengulangan yg sama+ i <- i+4+ if (i > 10) break+ }> 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

Page 13: INSTRUKSI PERULANGAN ( LOOP )

Perintah next akan melewatkan perintah di bawahnya dan langsung melompat pada iterasi berikutnya.

> 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

Ket: is.na(x) adalah TRUE jika x merupakan data missing (NA)

Page 14: INSTRUKSI PERULANGAN ( LOOP )

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

Page 15: INSTRUKSI PERULANGAN ( LOOP )

INSTRUKSI PEMILIHAN dengan Perintah if()

Instruksi pemilihan adalah instruksi yang dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu persyaratan.

Bentuk 1 kasus

if (syarat){ aksi}

Apabila syarat dipenuhi, maka “aksi” dijalankan.Contoh: Jika x lebih besar dr 100, maka nilainya akan ditambah 5

if (x >100) { x <- x + 5 }

Ya

Tidak

Page 16: INSTRUKSI PERULANGAN ( LOOP )

Bentuk 2 kasus

Apabila syarat dipenuhi, maka “aksi_1” dijalankan. Tetapi jika tidak terpenuhi maka “aksi_2” yg dijalankan.

if (syarat){ aksi_1} else { aksi_2}

Page 17: INSTRUKSI PERULANGAN ( LOOP )

if (x >0) { cat("bilangan ini positif","\n") } else { cat("bilangan ini negatif","\n") }

Contoh: Jika x lebih besar dr 0, maka ditampilkan “bilangan ini positif”. Selain itu akan ditampilkan “bilangan ini negatif”.

Page 18: INSTRUKSI PERULANGAN ( LOOP )

Bentuk Bersusun (Lebih dari 1 Syarat)

if (syarat_1) { Aksi_1 } else { if (syarat_2) { Aksi_2 } else { Aksi_3 } }

Page 19: INSTRUKSI PERULANGAN ( LOOP )

Contoh:Penentuan nilai akhir:

60 skor jika ,C

80 skor 60 jika ,B

80 skor jika ,A

nilai

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

Page 20: INSTRUKSI PERULANGAN ( LOOP )

Terjemahkan ke dalam R !