ALGORITME & PEMROGRAMAN

12
ALGORITME & PEMROGRAMAN Abdul Kudus, SSi., MSi., PhD. Senin, 6.30 – 9.00 Rabu, 12.00 – 14.00

description

ALGORITME & PEMROGRAMAN. Abdul Kudus, SSi ., MSi ., PhD. Senin, 6.30 – 9.00 Rabu, 12.00 – 14.00. Menghindari Reduksi Dimensi yg Tidak Diinginkan. z adalah matriks. > z [,1] [,2] [1,] 1 5 [2,] 2 6 [3,] 3 7 [4,] 4 8 > r r [1] 2 6. - PowerPoint PPT Presentation

Transcript of ALGORITME & PEMROGRAMAN

Page 1: ALGORITME  & PEMROGRAMAN

ALGORITME & PEMROGRAMAN

Abdul Kudus, SSi., MSi., PhD.Senin, 6.30 – 9.00

Rabu, 12.00 – 14.00

Page 2: ALGORITME  & PEMROGRAMAN

Menghindari Reduksi Dimensi yg Tidak Diinginkan

> z[,1] [,2][1,] 1 5[2,] 2 6[3,] 3 7[4,] 4 8> r <- z[2,]> r[1] 2 6

z adalah matriks

r adalah vektor (terjadi reduksi dimensi)

> attributes(z)$dim[1] 4 2> attributes(r)NULL> str(z)int [1:4, 1:2] 1 2 3 4 5 6 7 8> str(r)int [1:2] 2 6

bukti bhw r adalah vektor

Hal ini harus diperhatikan dlm pemrograman

Page 3: ALGORITME  & PEMROGRAMAN

Agar tidak terjadi reduksi dimensi, gunakan argumen ‘drop’

> r <- z[2,, drop=FALSE]> r[,1] [,2][1,] 2 6> dim(r)[1] 1 2 r tetap mrp matriks

Vektor bisa dijadikan matriks dengan perintah as.matrix> u[1] 1 2 3> v <- as.matrix(u)> attributes(u)NULL> attributes(v)$dim[1] 3 1

Page 4: ALGORITME  & PEMROGRAMAN

Memberi Nama kepada Baris dan Kolom Matriks

> z[,1] [,2][1,] 1 3[2,] 2 4> colnames(z)NULL> colnames(z) <- c("a","b")> za b[1,] 1 3[2,] 2 4> colnames(z)[1] "a" "b"> z[,"a"][1] 1 2

memberi nama kolom

merujuk suatu kolom

Page 5: ALGORITME  & PEMROGRAMAN

Array Berdimensi Tinggi

Dalam kontek statistika, baris-baris dari matriks adalah pengamatan, misal orang, dan kolom-kolom adalah variabel, seperti berat badan dan tekanan darah. Maka matriks berupa struktur data berdimensi dua. Misalkan kita mengukur variabel-variabel tsb pada waktu yg berbeda, sehingga setiap angka data kita adalah utk tiap orang tiap variabel tiap waktu. Oleh karena itu waktu menjadi dimensi ketiga. Data tsb dalam R disebut array.

Page 6: ALGORITME  & PEMROGRAMAN

> firsttest[,1] [,2][1,] 46 30[2,] 21 25[3,] 50 50

> secondtest[,1] [,2][1,] 46 43[2,] 41 35[3,] 50 50

> tests <- array(data=c(firsttest,secondtest),dim=c(3,2,2))> attributes(tests)$dim[1] 3 2 2

> tests[3,2,1][1] 48> tests, , 1[,1] [,2][1,] 46 30[2,] 21 25[3,] 50 48, , 2[,1] [,2][1,] 46 43[2,] 41 35[3,] 50 49

Seperti halnya kita membuat array berdimensi 3 dgn menggabungkan dua matriks, maka kita juga bisa buat array berdimensi 4 dgn menggabungkan dua atau lebih array berdimensi 3.

Page 7: ALGORITME  & PEMROGRAMAN

Struktur Data LIST

Berbeda dengan vektor (dan matriks) dimana semua unsurnya harus mempunyai jenis yang sama (angka saja atau abyad saja), list dapat menggabungkan obyek-obyek yang berbeda jenis.

Membuat listMisalkan database pegawai Unisba, dimana tiap pegawai mempunyai data:-Nama-Gaji-Status (TRUE = Dosen, FALSE = Karyawan)Maka bagi seorang pegawai yang bernama Abu kita bisa buat datanya yang mempunyai struktur list

> data.pegawai <- list(name="Abu", gaji=300000, status=FALSE)

Disebut tag. Sifatnya opsional

Page 8: ALGORITME  & PEMROGRAMAN

> data.pegawai$name[1] "Abu"

$gaji[1] 3e+05

$status[1] FALSE

Alternatifnya kita bisa buat seperti ini

> data.pegawai2[[1]][1] "Abu"

[[2]][1] 3e+05

[[3]][1] FALSE

> data.pegawai2 <- list("Abu",300000,FALSE)

Page 9: ALGORITME  & PEMROGRAMAN

Meng-indeks (subskrip) list

> data.pegawai$gaji[1] 3e+05> data.pegawai[["gaji"]][1] 3e+05> data.pegawai[[2]][1] 3e+05

Jadi ada 3 cara utk mengakses komponen d dari sebuah list yang bernama daftar, yaitu?

Perbedaan mengakses dgn kurung dobel dan kurung tunggal?

Page 10: ALGORITME  & PEMROGRAMAN

Menambah dan menghapus unsur list> z <- list(a="abc",b=12)> z$a[1] "abc"$b[1] 12> z$c <- "berlayar" # tambah komponen c> # apakah c sudah ditambahkan?> z$a[1] "abc"$b[1] 12$c[1] "berlayar"

Page 11: ALGORITME  & PEMROGRAMAN

Kita bisa menghapus komponen dari list dengan membuatnya menjadi NULL

> z$b <- NULL> z$a[1] "abc"$c[1] "berlayar"

Page 12: ALGORITME  & PEMROGRAMAN

carikata <- function(file) { # baca kata-kata dr file ke dlm vektor abyad txt <- scan(file,"") dk <- list() for (i in 1:length(txt)) { kata <- txt[i] # kata ke-i dr file input dk[[kata]] <- c(dk[[kata]],i) } return(dk)}

> carikata("c:/batuta.txt")

Contoh: Cari kata dari teks