Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
ALGORITME & PEMROGRAMAN
Abdul Kudus, SSi., MSi., PhD. Senin, 6.30 – 9.00 Rabu, – 12.00 Rabu, – 14.00
2
Bentuk Umum Fungsi dalam R
Mengenal Fungsi Fungsi: kumpulan perintah yang mengambil input, menggunakan input tsb untuk menghitung nilai yang lain, dan mengeluarkan hasilnya. Kita bisa membuat fungsi baru untuk tujuan tertentu, misalnya untuk menghitung rumus tertentu yang belum ada dalam fungsi bawaan dari R. Fungsi mempunyai input dan output Semua variabel yang dibuat di dalam suatu fungsi hanya dikenal secara internal untuk fungsi itu saja. Bentuk Umum Fungsi dalam R nama_fungsi <- function(input){ badan_dari_fungsi (perintah-perintah) return(output) }
3
Contoh: Kita buat fungsi dengan nama oddcount(), yg gunanya utk menghitung banyaknya bilangan ganjil dalam suatu vektor. > # counts the number of odd integers in x > oddcount <- function(x) { + k <- 0 # assign 0 to k + for (n in x) { if (n %% 2 == 1) k <- k+1 # %% is the modulo operator + } + return(k) + } > oddcount(c(1,3,5)) [1] 3 > oddcount(c(1,2,3,7,9)) [1] 4 nama fungsi input output
4
for (n in x) { if (n %% 2 == 1) k <- k+1 } Pertama-tama, n diberi nilai x[1], lalu dites apakah nilai tsb ganjil atau genap. Jika nilainya ganjil (spt dlm contoh ini), maka nilai dari variabel k akan bertambah 1. Kemudian n diberi nilai x[2], lalu dites apakah ganjil atau genap, dst. Bisa juga dibuat program sbb: for (i in 1:length(x)) { if (x[i] %% 2 == 1) k <- k+1 } Tetapi yang atas lebih efisien
5
Ruang lingkup variabel
Variabel yang hanya dikenali di dalam suatu fungsi disebut variabel lokal. Dalam fungsi oddcount(), variabel k dan n adalah lokal, dimana variabel tsb akan hilang dari memory komputer setelah fungsi tersebut dijalankan. > oddcount(c(1,2,3,7,9)) [1] 4 > n Error: object 'n' not found Variabel yang dibuat di luar fungsi merupakan variabel global dan variabel tsb bisa digunakan di dalam fungsi. > f <- function(x) return(x+y) > y <- 3 > f(5) [1] 8
6
Panjang dr vektor diperoleh dgn perintah length().
Vektor (lanjutan) Panjang dari vektor Panjang dr vektor diperoleh dgn perintah length(). > x <- c(1,2,4) > length(x) [1] 3 Contoh: Program berikut utk mencari subskrip dari angka 1 yang pertama dalam sebuah vektor > first1 <- function(x) { + for (i in 1:length(x)) { if (x[i] == 1) break # break out of loop + } + return(i) + } > > x2 <- c(2,3,1,4,1) > first1(x2) [1] 3
7
Matriks sebagai vektor
> m <- matrix(c(1,2,3,4),nrow=2,byrow=TRUE) > m [,1] [,2] [1,] [2,] > m + 10:13 [1,] [2,]
8
Deklarasi variabel Kita tidak bisa langsung merujuk elemen dr suatu vektor, tanpa mendefinisikan vektor tsb terlebih dahulu. > y[1] <- 5 > y[2] <- 12 SALAH > y <- vector(length=2) > y[1] <- 5 > y[2] <- 12 BENAR
9
Operasi thd Vektor 1. Operasi Aritmetik dan logika > x <- c(1,2,4) > x + c(5,0,-1) [1] 6 2 3 > x * c(5,0,-1) [1] perkalian unsur-unsur bersesuaian > x <- c(1,2,4) > x / c(5,4,-1) [1] > x %% c(5,4,-1) [1] 1 2 0
10
2. Subskrip (Indeks) Vektor
Membuat sub-vektor dgn mengambil unsur-unsur dgn subskrip tertentu > y <- c(1.2,3.9,0.4,0.12) > y[c(1,3)] # extract elements 1 and 3 of y [1] > y[2:3] [1] > v <- 3:4 > y[v] [1] > x <- c(4,2,17,5) > y <- x[c(1,1,3)] > y [1] Duplikat diperbolehkan
11
> z <- c(5,12,13) > z[-1] # exclude element 1 [1] 12 13 > z[-1:-2] # exclude elements 1 through 2 [1] 13 Subskrip negatif utk mengecualikan. ambil kecuali yang terakhir > z <- c(5,12,13) > z[1:(length(z)-1)] [1] 5 12 atau > z[-length(z)] [1] 5 12
12
3. Operator “:” (colon operator)
Membuat vektor berisi barisan > 5:8 [1] > 5:1 [1] Dalam program mirip dengan loop (perulangan) for (i in 1:length(x)) { Hati-hati utk kasus berikut! > i <- 2 > 1:i-1 # this means (1:i) - 1, not 1:(i-1) [1] 0 1 > 1:(i-1) [1] 1
13
4. Membuat vektor berisi barisan seq()
Perintah yang lebih umum daripada operator “:” adalah perintah seq(), dimana barisannya tidak hanya mempunyai beda +1 tetapi bisa utk beda yang lainnya. > seq(from=12,to=30,by=3) [1] > seq(from=10,to=30,by=2.5) [1] > seq(from=12.5,to=30,length=8) [1]
14
5. Mengulang vektor dengan rep()
Perintah rep() memudahkan kita meletakkan skalar (atau vektor) yang sama ke dalam vektor yang panjang. Bentuk perintahnya adalah rep(x, times) yang akan membuat vektor dengan banyaknya unsur times*length(x), yakni x diulang sebanyak times kali. Perintah lainnya adalah dengan tambahan perintah (argumen) each dimana setiap unsur x diulang sebanyak each kali. > x <- rep(8,4) > x [1] > rep(c(5,12,13),3) [1] > rep(1:3,2) [1] > rep(c(5,12,13),each=2) [1]
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.