# Input Data
nilai = read.table(choose.files(), header=TRUE)
nilai 
##    Nomor Nama Nilai
## 1      1    A    40
## 2      2    B    50
## 3      3    C    50
## 4      4    D    60
## 5      5    F    60
## 6      6    G    60
## 7      7    H    70
## 8      8    I    70
## 9      9    J    70
## 10    10    K    70
## 11    11    L    80
## 12    12    M    80
## 13    13    N    80
## 14    14    O    90
## 15    15    P    90
## 16    16    Q   100
x = nilai$Nilai
summary(x)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##      40      60      70      70      80     100
library(nortest)
lillie.test(x)
## 
##  Lilliefors (Kolmogorov-Smirnov) normality test
## 
## data:  x
## D = 0.125, p-value = 0.7235
x = nilai$Nilai
library(e1071)
a = moment(x, order=2, center=TRUE)
b = moment(x, order=4, center=TRUE)
a
## [1] 250
b
## [1] 145000
c=a^2
c
## [1] 62500
kurtosis = b/c
kurtosis
## [1] 2.32
library(tseries)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
jarque.bera.test(x)
## 
##  Jarque Bera Test
## 
## data:  x
## X-squared = 0.30827, df = 2, p-value = 0.8572
data <- c(40,50,50,60,60,60,
          70,70,70,70,
          80,80,80,
          90,90,100)

n <- length(data)
rata <- mean(data)
m2 <- mean((data-rata)^2)
m3 <- mean((data-rata)^3)
m4 <- mean((data-rata)^4)

skew <- m3/m2^(3/2)
kurt <- m4/m2^2
JB <- n*(skew^2/6+(kurt-3)^2/24)
prob <- pchisq(JB,df=2,lower.tail=FALSE)

# Membagi grafik menjadi dua bagian
par(mfrow=c(1,2))

# Histogram sebelah kiri
hist(data,
     breaks=seq(35,115,10),
     col="lightblue",
     main="",
     xlab="",
     ylab="",
     ylim=c(0,5))

# Statistik sebelah kanan
par(mar=c(1,1,1,1))
plot.new()

statistik <- paste0(
  "Series: DATA\n",
  "Sample: 16\n",
  "Observations: ",n,"\n\n",
  "Mean: ",round(mean(data),4),"\n",
  "Median: ",median(data),"\n",
  "Maximum: ",max(data),"\n",
  "Minimum: ",min(data),"\n",
  "Std. Dev.: ",round(sd(data),5),"\n",
  "Skewness: ",round(skew,5),"\n",
  "Kurtosis: ",round(kurt,5),"\n\n",
  "Jarque-Bera: ",round(JB,6),"\n",
  "Probability: ",round(prob,6)
)

text(0.05,0.95,statistik,
     adj=c(0,1),
     cex=0.65)

par(mfrow=c(1,1))
x = nilai$Nilai
qqnorm(x)
qqline(x)