Jumat, 10 April 2009

Sintax di dalam R

Budi Setiawan Statistika UII

SELAMAT DATANG DI PROGRAM ‘ R ‘

Dalam rangka mempermudah dan mempercepat perhitungan, maka saya menyediakan sebuah Program dengan bantuan software ‘ R ‘ untuk menghitung berbagai macam rumus.
Rumus-rumus yang saya sediakan Masih Terbatas, tapi setiap satu minggu sekali akan saya Update dengan teratur.
Semoga program yang saya buat ini bisa bermanfaat untuk kita semua yang menyukai perhitungan-perhitungan lewat sebuah software.

1. MENGHITUNG LUAS PERSEGI PANJANG
menghitungluaspersegipanjang=function(panjang,lebar)
{
luas=panjang*lebar
return(luas)
}
2. MENGHITUNG NILAI
nilaikoe=function(nilai)
{
if(nilai<=50) {nilaihuruf="C"}
else if ((nilai>=51) & (nilai<=70)) {nilaihuruf="B"}
else {nilaihuruf="A"}
return(nilaihuruf)
}
3. MENYISIPKAN SEBUAH BARIS DALAM MATRIK
A=matrix (c(1,3,2,6,7,8),3,2)
A
B=rbind(A,c(4,7))[c(1,2,4,3), ]
4. MENJUMLAHKAN SEMUA DATA
jumlahkoe=function(n)
{
jumlah=0
for (i in 1:n)
{cat("jumlah sekarang=",jumlah,"\n")
jumlah=jumlah+i
}
cat("jumlahsemuanya=",jumlah,"\n")
}
5. MENGETAHUI SEBUAH DATA, APAKAH DATA GANJIL ATAU DATA GENAP
ganjilgenap=function(data)
{
n=length (data)
ket=0
for (i in 1:n)
{
if (round (data[1]/2)==(data[i]/2))
{cat (data[i],"adalah angka genap \n")}
else
{cat(data [i],"adalah angka ganjil \n")}
}
}
6. MENGETAHUI BANYAK INTERVAL SEBUAH DATA

total = function (x)
{
n=length(x)
jumlah1=0
jumlah2=0
jumlah3=0
for (i in 1:n)
{
if (x[i] >=0 & x[i] <=30)
{jumlah1= jumlah1+1}
else if (x[i] > 30 & x[i] <=60)
{jumlah2=jumlah2+1}
else
{jumlah3=jumlah3+1}
}
cat ("banyaknya data, 0<=data<=30,:",jumlah1,"\n")
cat ("banyaknya data, 30cat ("banyaknya data, 60}
7. REGRESI LINEAR SEDERHANA
x=c(5,6,8,4,10,12)
y=c(100,120,131,90,150,161)
x
y
X=cbind(1,x)
b=solve(t(X) %*% X ) %*% (t(X)%*%y)
b
8. MEMBUAT DATA BERDISTRIBUSI NORMAL DAN PLOT NYA
x<-seq(-10,
10,by=0.1)
plot(x,dnorm(x,mean=0,sd=1),type="l",ylab="",main="Distribusi Normal")
lines(x,dnorm(x,mean=0,sd=3),col="pink")
lines(x,dnorm(x,mean=0,sd=4),col="red")
lines(x,dnorm(x,mean=0,sd=5),col="green")
9. MEMBUAT DATA BERDISTRIBUSI CHI-SQUARE DAN PLOT NYA
x<-seq(0,10,by=0.1)
plot(x,dchisq(x,df=20),type="l",ylab="",main="Distribusi Chi-Square")
lines(x,dchisq(x,df=6),col="pink")
lines(x,dchisq(x,df=10),col="red")
lines(x,dchisq(x,df=16),col="green")
10. MENGHITUNG RATA-RATA,VARIANSI DAN STANDAR DEVIASI DARI SEBUAH DATA
Mean_variansi_std.variansi = function (x)
{
n=length (x)
jumlah1=0
jumlah2=0
jumlah3=0
for (i in 1:n)
{
jumlah1=jumlah1+x[i]
}
mean=jumlah1/n
for(i in 1:n)
{
jumlah2=jumlah2+(x[i]-mean)^2
}
var=jumlah2/(n-1)
for(i in 1:n)
{
Jumlah3=jumlah3+ var
}
sd=sqrt[jumlah3]
cat["rata-rata=",mean,"\n"]
cat["variansi=",var,"\n"]
cat["std.variansi=",sd,"\n"]
}
11. MENCARI NILAI MINIMUM DARI SUATU DATA
minimum=function(x)
{
n=length(x)
jumlah1=0
for(i in 1:n)
nilaimin=min(x[-i]:n,pi)
nilaimin
}
12. MENCARI NILAI MAKSIMUM DARI SUATU DATA
maksimum=function(x)
{
n=length(x)
jumlah1=0
for(i in 1:n)
nilaimax=max(x[-i]:n,pi)
nilaimax
}
13. MENCARI NILAI FAKTORIAL DARI SUATU DATA
faktorial=function(data)
{
signx=NULL
for(i in 1:length(data))
{
if(data[i]>1)
signx[i]=data*Recall(data-1)
else signx[i]=1
}
signx
}
14. MENCARI NILAI PROPORSI
uji_proporsi=function(p0,n,x,alpha=0.05)
{
q0=1-p0
p=x/n
q=1-p
Zhit=(x-n*p0)/(sqrt(n*p0*q0))
Z_tabel=qnorm(1-alpha/2)
Btsbawah=p-qnorm(1-alpha/2)*sqrt(p*q/n)
Btsatas=p+qnorm(1-alpha/2)*sqrt(p*q/n)
cat(" \n")
cat(" * Uji Proporsi satu sampel * \n")
cat(" \n")
cat(" Ho : p sama dengan p0=”,p0,” \n")
cat(" H1 : p tidak sama dengan p0=”,p0,” \n")
cat(" \n")
cat(“ Harga statistik uji Z= “,Zhit,” \n”)
cat(“ Nilai Ztabel= “,Z_tabel,” \n”)
if(abs(Zhit)>Z_tabel)
{cat(" Karena harga statistik uji",Zhit,">",Z_tabel,", maka dapat disimpulkan bahwa Ho ditolak yang artinya p tidak sama dengan p0 \n")}
else{cat(" Karena harga statistik uji",Zhit,"<",Z_tabel,",maka dapat disimpulkan bahwa Ho diterima yang artinya p sama dengan p0 \n")}
cat(" Interval konfidensi”,(1-alpha)*100,”% untuk proporsi adalah : \n”)
cat(“ [“,Btsbawah,”,”,Btsatas,”] \n”)
}
p0=c(60/100)
n=100
x=70
uji_proporsi(p0,n,x,alpha=0.05)
HasiL
* Uji Proporsi satu sampel *

Ho : p sama dengan p0= 0.6
H1 : p tidak sama dengan p0= 0.6

Harga statistik uji Z= 2.041241
Nilai Ztabel= 1.959964
Karena harga statistik uji 2.041241 > 1.959964 , maka dapat disimpulkan bahwa Ho ditolak yang artinya p tidak sama dengan p0
Interval konfidensi 95 % untuk proporsi adalah :
[ 0.6101832 , 0.7898168 ]

15. MENCARI NILAI MEAN
uji_mean=function(data,mu0,alpha=0.05)
{
xbar=mean(data)
n=length(data)
df=n-1
sigma2=var(data)
Btsbawah=xbar-(qt((1-alpha/2),df)*sigma2/sqrt(n))
Btsatas=xbar+(qt((1-alpha/2),df)*sigma2/sqrt(n))
thit=(xbar-mu0)/(sigma2/sqrt(n))
t_tabel=qt((1-alpha/2),df)
cat(" \n")
cat(" * Uji mean satu sampel * \n")
cat(" \n")
cat(" Ho : mu sama dengan mu0=”,mu0,” \n")
cat(" H1 : mu tidak sama dengan mu0:”,mu0,” \n")
cat(" \n")
cat(“ Harga statistik uji t= “,thit,” \n”)
cat(“ Nilai ttabel= “,t_tabel,” \n”)
if(abs(thit)>t_tabel)
{cat(" Karena harga statistik uji",thit,">",t_tabel,", dapat disimpulkan bahwa Ho ditolak yang artinya mu tidak sama dengan mu0 \n")}
else{cat(" Karena harga statistik uji",thit,"<",t_tabel,",dapat disimpulkan bahwa Ho diterima yang artinya mu sama dengan mu0 \n”)}
cat(" Interval konfidensi”,(1-alpha)*100,”% untuk rata-rata adalah : \n”)
cat(“ [“,Btsbawah,”,”,Btsatas,”] \n”)
}
data=c(1,2,3,4,5,6,7,8,9,10)
uji_mean(data,2,alpha=0.05)
HasiL
* Uji mean satu sampel *

Ho : mu sama dengan mu0= 2
H1 : mu tidak sama dengan mu0: 2

Harga statistik uji t= 1.207415
Nilai ttabel= 2.262157
Karena harga statistik uji 1.207415 < 2.262157 ,dapat disimpulkan bahwa Ho diterima yang artinya mu sama dengan mu0
Interval konfidensi 95 % untuk rata-rata adalah :
[ -1.057438 , 12.05744 ]

Tidak ada komentar:

Posting Komentar