STRUKTUR PEMROGRAMAN DALAM R
Download
1 / 20

INSTRUKSI PERULANGAN ( LOOP ) - PowerPoint PPT Presentation


  • 171 Views
  • Uploaded on

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 :

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' INSTRUKSI PERULANGAN ( LOOP )' - gaenor


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

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.


awal:akhir

1. Perulanganfor

Bentukumum

for (variabelin vektornilai)

{

instruksi_instruksi

}

Maknanyaadalahulangiinstruksi-instruksitersebutberdasarkanvariabelperulanganmulainilaiawalhingganilaiakhir.

Contoh:

for (i in 1:10)

{

cat("Halo...","\n")

}


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")


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)

}


Fibo <- rep(0,times=12)

Fibo[1] <- 1

Fibo[2] <- 1

for (i in 3:12)

{

Fibo[i] <- Fibo[i-2] + Fibo[i-1]

}


Perulanganwhile

while (syarat)

{

Instruksi_instruksi

}

Maknanyaadalahulangiinstruksi-instruksiselamasyarat yang diberikanmasihterpenuhi

Perhatikan:

Harusadainstruksi yang berkaitandengansyaratsebelummasukkewhilesehinggasyaratiniterpenuhidanpengulanganbisadilaksanakan. Bilatidak, makainstruksi while tidakbisadijalankan.

Adasatuinstruksidiantarainstruksi-instruksi yang diulang agar padasatusaatsyaratperulangantidakterpenuhi, sehinggaperulangbisaberhenti.


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


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

}


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

}


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.


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


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


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


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


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

}


Bentuk 2 kasus

if (syarat)

{

aksi_1

} else

{

aksi_2

}

Apabilasyaratdipenuhi, maka “aksi_1” dijalankan. Tetapijikatidakterpenuhimaka “aksi_2” ygdijalankan.


Contoh: Jika x lebihbesardr 0, makaditampilkan “bilanganinipositif”. Selainituakanditampilkan “bilanganininegatif”.

if (x >0)

{

cat("bilangan ini positif","\n")

} else

{

cat("bilangan ini negatif","\n")

}


BentukBersusun (Lebihdari 1 Syarat)

if (syarat_1)

{

Aksi_1

} else

{

if (syarat_2)

{

Aksi_2

} else

{

Aksi_3

}

}


Contoh:

Penentuannilaiakhir:

nilai <- function(skor)

{

if (skor >= 80)

{

nilai <- "A"

} else

{

if (skor >= 60)

{

nilai <- "B"

} else

{

nilai <- "C"

}

}

return(nilai)

}



ad