# BAB 2
# FUNGSI DASAR DALAM R

# Menyimpan data dalam variabel
simpan = c(10,20,40,15,40)
simpan
## [1] 10 20 40 15 40
# Mengakses nilai data
simpan[3]
## [1] 40
simpan[4]
## [1] 15
simpan[c(1,3,4)]
## [1] 10 40 15
# Menghapus nilai data
NILAI = c(10,40,45,30,80)
NILAI = NILAI[-3]
NILAI = NILAI[-4]
NILAI = NILAI[c(-1,-3)]
NILAI
## [1] 40
# Operator >
NILAI = c(100,95,70,80,25,60,80,60,55,90)
NILAI[NILAI>80]
## [1] 100  95  90
# Operator <
NILAI[NILAI<70]
## [1] 25 60 60 55
# Operator &
NILAI[NILAI>60&NILAI<80]
## [1] 70
# Operator |
NILAI[NILAI>80 | NILAI<30]
## [1] 100  95  25  90
# Seleksi dengan kondisi <
NILAI = c(100,95,70,80,25,60,80,60,55,90)
NILAI = NILAI[NILAI<75]
NILAI
## [1] 70 25 60 60 55
# Seleksi dengan kondisi >
NILAI = c(100,95,70,80,25,60,80,60,55,90)
NILAI = NILAI[NILAI>90]
NILAI
## [1] 100  95
# Fungsi sederhana
fungsi=function(x)
{
  for(i in 1:length(x))
  {
    if(x[i]<65)
    {
      x[i]=x[i]+10
    }
    print(x[i])
  }
}

A=c(100,95,70,80,25,60,80,60,55,90)
fungsi(A)
## [1] 100
## [1] 95
## [1] 70
## [1] 80
## [1] 35
## [1] 70
## [1] 80
## [1] 70
## [1] 65
## [1] 90
# Jenis data
mode(1000)
## [1] "numeric"
mode("HALO")
## [1] "character"
d=FALSE
mode(d)
## [1] "logical"
kuadrat=function(x)
{
  print(x*x)
}

A=c(4)
kuadrat(A)
## [1] 16
mode(kuadrat)
## [1] "function"
# Operator matematika
10+5
## [1] 15
10-5
## [1] 5
10*5
## [1] 50
10/5
## [1] 2
10^5
## [1] 1e+05
10%%5
## [1] 0
# Fungsi length
A=c(100,70,80,55,80,70,80)
length(A)
## [1] 7
# Fungsi sort
A=c(70,80,50,25,100,60)
sort(A)
## [1]  25  50  60  70  80 100
# Fungsi diff
A=c(100,50,70,80,60)
diff(A)
## [1] -50  20  10 -20
# Fungsi sum
A=c(50,60,70,80)
sum(A)
## [1] 260
# Fungsi sqrt
sqrt(81)
## [1] 9
# Fungsi max dan min
A=c(10,25,90,75,95,57)
max(A)
## [1] 95
min(A)
## [1] 10
# Fungsi exp
exp(1)
## [1] 2.718282
exp(2)
## [1] 7.389056
# Fungsi pi
pi
## [1] 3.141593
# Fungsi options
options(digits=3)
pi
## [1] 3.14
# Fungsi seq
seq(from=1,to=10)
##  [1]  1  2  3  4  5  6  7  8  9 10
seq(from=2,by=0.5,length.out=4)
## [1] 2.0 2.5 3.0 3.5
# Membuat barisan
panggil=function(x,y,z)
{
  a=x
  print(a)

  for(i in x:z)
  {
    a=a+y

    if(a>z)
    {
      break
    }

    print(a)
  }
}

panggil(2,3,30)
## [1] 2
## [1] 5
## [1] 8
## [1] 11
## [1] 14
## [1] 17
## [1] 20
## [1] 23
## [1] 26
## [1] 29
# Fungsi table
A=c(10,10,30,10,30,10,10,40,40,70,90,70,80,60,60,90)
table(A)
## A
## 10 30 40 60 70 80 90 
##  5  2  2  2  2  1  2
# Proporsi
table(A)/length(A)
## A
##     10     30     40     60     70     80     90 
## 0.3125 0.1250 0.1250 0.1250 0.1250 0.0625 0.1250
# Data kategorik
hasil=c("ya","tidak","ya","ya","ya","ya","tidak","ya","tidak","ya")
table(hasil)
## hasil
## tidak    ya 
##     3     7
# Proporsi data kategorik
table(hasil)/length(hasil)
## hasil
## tidak    ya 
##   0.3   0.7
# Fungsi factor
A=c("ikan","ikan","udang","ikan","udang","ikan","ikan","udang")
factor(A)
## [1] ikan  ikan  udang ikan  udang ikan  ikan  udang
## Levels: ikan udang
A=c("sarjana","diploma","sarjana","pengangguran",
    "sarjana","diploma","diploma","pengangguran")
factor(A)
## [1] sarjana      diploma      sarjana      pengangguran sarjana     
## [6] diploma      diploma      pengangguran
## Levels: diploma pengangguran sarjana
# Fungsi barplot
A=c(10,10,10,10,20,20,30,30,30,30,30,30)
barplot(table(A))

# Barplot proporsi
barplot(table(A)/length(A))

# Fungsi plot
A=c(10,10,10,10,10,20,20,20,30,30,40)
table(A)
## A
## 10 20 30 40 
##  5  3  2  1
nilai=c(10,20,30,40)
frekuensi=c(5,3,2,1)
plot(nilai,frekuensi)

# Alternatif
plot(table(A))

```