Thursday, March 7, 2019

#Belajar-R : Uji Beda Rata-Rata Dua Sampel Independen


Di postingan sebelumnya, kita telah membahas mengenai Uji Beda Rata-Rata Satu Sampel. Pada kesempatan kali ini, kita akan melanjutkan pada pembahasan Uji Beda Rata-Rata Dua Sampel. Uji Beda Rata-Rata Dua Sampel digunakan untuk menentukan apakah dua sampel yang tidak berhubungan memiliki rata-rata yang berbeda atau sama. Uji beda rata-rata dua sampel dilakukan dengan cara membandingkan perbedaan antara dua  nilai rata-rata dengan standar errot dari perbedaan rata-rata dua sampel tersebut.

Baiklah, kita langsung saja praktik menggunakan aplikasi R. Tugas kita kali ini adalah menganalisis apakah ada perbedaan rata-rata nilai matematika antara kelas IPA1 dan IPA2. Data yang akan kita gunakan dapat didownload di sini. Data tersebut diimport ke program R. Adapun data tersebut merupakan data nilai dari kelas IPA1 hingga IPA6. Tetapi dalam kasus kita sekarang, kita hanya memerlukan kelas IPA1 dan IPA2 saja. Okay, mari kita beraksi. Pertama, kita membuat data frame yang hanya terdiri dari kelas IPA1 dan IPA2. Adapun caranya adalah sebagai berikut.
 
Fungsi membuat data frame dengan nama semester1
Nama data frame yang kita buat di atas adalah “semester1”. Selanjutnya, kita akan membuat hipotesis dari analisis kita, yaitu:


Setalah itu, kita haru menguji kenormalan data dengan Uji Shapiro Wilk. Adapun hipotesi null dari uji Shapiro Wilk adalah data mengikuti distribusi normal.


Uji Shapiro WIlk nilai matematika kelas IPA1


Uji Shapiro Wilk nilai matematika kelas IPA2


Berdasarkan uji Shapiro Wilk di atas, kita mendapatkan p-value masing-masing sebesar 0,15 dan 0,24. Karena kedua p-value > 0,05, kita dapat memutuskan bahwa cukup bukti untuk menerima hipotesis nul. Maka kita dapat menyimpulkan bahwa nilai matematika kelas IPA1 dan IPA2 semuanya berdistribusi normal.

Lanjut ke tahap kedua, yaitu mengidentifikasi apakah ada perbedaan varians antara nilai matematika kelas IPA1 dan IPA2. Dalam uji beda rata-rata dua sampel independen, kita harus mengetahui apakah ada perbedaan varians antara keduanya ataukah tidak. Hal ini perlu diketahui terlebih dahulu karena ada perbedaan formula antara “uji beda rata-rata dua sampel dengan varians sama” dengan “uji beda rata-rata dengan varians berbeda.” Untuk mengetahuinya, kita memerlukan uji statistik dengan test.var ataupun menggunakan uji Bartlett. Adapun hipotesis null dari uji bartlett adalah adanya kesamaan varians antara dua kelompok atau adanya homogenitas.

Uji Varians Test

Uji Bartlett

Dari uji varians dan uji Bartlett di atas, kita mendapatkan p-value yang semuanya lebih besar dari 0,05, yaitu untuk uji varians p-value=0,69 dan uji Bartlett p-value = 0,68. Maka, kita dapat mengambil keputusan bahwa tidak mempunyai bukti untuk menolak hipotesis null, alias menerima Ho. Maka, kesimpulan yang dapat kita ambil yaitu tidak ada perbedaan varians antara nilai matematika kelas IPA1 dengan IPA2.

Setelah mengetahui bahwa kedua data yang akan kita amati mempunyai varians yang sama, sekarang kita lanjut ke inti dari analisis, yaitu uji t.

t-test dua rata-rata dengan varians sama

Karena kita telah mengetahui bahwa varians nilai matematika kedua kelas sama, maka diakhir fungsi kita tuliskan var.equal=TRUE (jika berbeda: var.equal=FALSE).

Hasil uji statistik di atas menghasilkan p-value sebesar 0,75. Karena p-value > 0,05, maka kita tidak mempunyai bukti untuk menerima hipotesi nul atau Ho. Maka, kesimpulan yang dari uji beda rata-rata dua sampel ini adalah adanya perbedaan rata-rata nilai matematika kelas IPA1 dengan IPA2.
Bagaimana? Mudahkan? Kalau ada yang belum jelas, bisa tanyakan di kolom komentar atau email. Sekian dulu pembahasan kali ini. Agar lebih mendalami materi tentang statistik, anda bisa baca postingan yang lain di blog ini. Terimakasih.

NB: Semua uji statistik dipostingan ini semuaya menggunakan tingkat kepercayaan 95%.

Sunday, February 24, 2019

#Belajar-R: Uji Beda Rata-Rata Satu Sampel (One Sample T Test)


Uji beda rata-rata satu sampel (One Sampel T-Test) bertujuan untuk melihat perbedaan rata-rata suatu kelompok sampel dari suatu populasi dibandingkan dengan sebuah konstanta tertentu.
Misalkan Dinas Pendidikan Kabupaten Magelang ingin mengetahui apakah rata-rata nilai Bahasa Inggris murid kelas 12 SMA Budikarya lebih dari 80 atau tidak. Oleh karena itu, tim dari dinas pendidikan Kabupaten Magelang mengambil 71 sampel murid kelas 12 secara acak. Adapun datanya bisa diunduh disini Download Data.

Setelah mendapatkan data sampel nilai Bahasa Inggris dari 71 murid kelas 12, sekarang tim dari Dinas Pendidikan harus dapat menguji secara statistik apakah rata-rata nilai Bahasa Inggris murid kelas 12 SMA Budikarya di atas 80 atau tidak.

Adapun metode statistik yang akan digunakan oleh tim dari Dinas Pendidikan Kabupaten Megelang adalah uji beda rata-rata satu sampel (One Sample T-Test). Tim menggunakan uji ini karena sampelnya berasal dari satu populasi, yaitu murid kelas 12 SMA Budikarya. Berbeda cerita kalau tim dari Dinas Pendidikan ingin membandingkan nilai murid kelas 12 SMA Budikarya dengan SMA Panjiwa, maka metode yang digunakan adalah uji beda rata-rata dua sampel independen. Berbeda kasus lagi jika yang ingin dibandingkan adalah nilai rata-rata pelajaran Bahasa Inggris kelas 12 SMA Budikarya sebelum diadakannya tambahan belajar dan setelah adanya tambahan belajar, maka uji yang kita gunakan adalah uji beda rata-rata dua sampel berpasangan (paired two sample t-test).

Okay, baiklah, langsung saja kita melakukan uji statistik one sample t-test dengan menggunakan program R. Pertama-tama kita import dulu data yang kita punya. Datanya bisa diunduh di sini ya.
Sebelum kita membahas one sample t-test lebih jauh, perlu kita ketahui syarat suatu data dapat dianalisis menggunakan t-test, yaitu:
  1. Data kuantitatif
  2. Berdistribusi normal

So, sebelum kita melakukan analisis statistik lebih jauh, terlebih dahulu kita harus memastikan bahwa data yang akan kita olah memiliki distribusi normal. Untuk mengujinya, kita akan menggunakan metode Quantile-Quantile Plot (QQ Plot).



Cara untuk menentukan bahwa nilai Bahasa Inggris mengikuti distribusi normal atau tidak adalah dengan cara mengidentifikasi sebaran titik-titik apakah berada disekitar garis atau tidak. Jika mayoritas berada di sekitaran garis, bisa jadi nilai Bahasa Inggris mengikuti distribusi normal, dan sebaliknya.

Gimana? Kalian ragu-ragu menarik kesimpulan? Tenang aja. Agar kalian lebih yakin, kita dapat menggunakan uji Shapiro Wilk untuk memastikan kalau data nilai Bahasa Inggris mengikuti pola distribusi normal atau tidak.



Dari uji Shapiro Wilk di atas, kita mendapatkan p-value 0,06. Dengan hasil tersebut  (p-value ≥ 0,05) kita dapat menarik kesimpulan bahwa data nilai Bahasa Inggris kelas 12 SMA Budikarya mengikuti pola distribusi normal.

Setelah itu, langkah selanjutnya yang akan kita lakukan adalah menentukan hipotesis yang akan kita gunakan.

Atau lebih kerennya, kita dapat menulisnya seperti ini:

Setelah membuat hipotesis, kita lanjut ke analisis statistiknya. Karena kita ingin mengetahui apakah nilai rata-rata pelajaran Bahasa Inggris murid kelas 12 lebih dari 80 atau tidak, maka kita menggunakan one tailed test.



Keterangan fungsi di atas:
  1. alternatif : Apakah kita akan menggunakan one tailed test (less or greater) atau two sided test.
  2. mu          : Konstanta yang ingin kita bandingkan dengan rata-rata nilai Bahasa Inggris murid                       kelas 12
  3. conf        : Tingkat kepercayaan yang kita inginkan, 95%

Hasilnya adalah sebagai berikut:

Jika dilihat dari nilai p-value (9,319e-12) yang lebih kecil dari α (0,05), maka keputusan yang diambil adalah terima Ho.
Adapun kesimpulannya adalah nilai rata-rata pelajaran Bahasa Inggris murid kelas 12 SMA Budikarya kurang dari 80.

Okay, contoh di atas merupakan contoh yang menggunakan one tailed test. Lalu bagaimana dengan yang two sided test? Kalau yang two sided test, berarti kita ingin mengetahui apakah rata-rata nilai Bahasa Inggris murid kelas 12 SMA Budikarya adalah 80? Oleh karenanya, hipotesisnyapun berbeda dengan yang sebelumnya. Hipotesis yang sekarang adalah :
Adapun fungsi untuk uji t-test adalah:


Adapun hasilnya adalah sebagai berikut:
Karena p-valuenya lebih kecil dari 0,05 (1,86e-11 <0,05) maka keputusan kita adalah menolak Ho. Itu berarti kesimpulannya adalah rata-rata nilai Bahasa Inggris murid kelas 12 SMA Budikarya tidak sama dengan 80.

Bagaimana? Mudahkan? Cukup segini dulu ya materi kali ini. Jika ada yang belum jelas, bisa tanyakan lewat kolom komentar atau kirim email langsung. Sekian dan terima kasih.

Saturday, February 16, 2019

#Belajar-R: Membuat Diagram Batang (Barplot)


Hallo friends, setelah kemarin kita membahas pembuatan scatter plot, sekarang ini kita akan membahas bagaimana membuat diagram batang (barplot) dan diagram pie (pie chart) dengan menggunakan program R. Data yang kita gunakan masih sama seperti kemarin, yaitu data nilai. Jika ada yang belum mempunyai, silakan download di sini Download Data.



Tugas kita kali ini adalah membuat grafik sebaran jumlah siswa per kategori (sangat kurang, kurang, cukup, baik, sangat baik, dan istimewa). Pengelompokan siswa tersebut berdasarkan nilai rata-rata ketiga mata pelajaran. Oleh karena itu, untuk dapat mengelompokkan siswa kedalam kategori-kategori tersebut, kita perlu terlebih dahulu melakukan perhitungan rata-rata nilai dari ketiga mata pelajaran per siswa.

Setelah kita memperoleh nilai rata-rata persiswa, kita akan kelompokkan menjadi 6 kategori:


Adapun fungsi yang kita gunakan untuk mengelompokkan rata-rata nilai ke dalam kelompok tersebut, kita dapat memanfaatkan fungsi cut. Fungsi cut sudah kita pelajari kemarin, silakan simak dipostingan berikut Mengubah Data Numerik Menjadi Kategorik.


Hasil dari pengelompokannya adalah sebagai berikut:

Baiklah, kita mulai saja membahas bagaimana cara membuat diagram batang atau istilah kerennya barplot.

Fungsi yang akan kita gunakan adalah barplot.
>barplot(data frame, label sumbu x, label sumbu y, rentang sumbu y)




Bagaimana? Mudah kan?

Okay, sekarang kita mulai membuat barplot yang lebih kompleks. Sebelum kita memulainya, kita harus mengimput data baru agar latihan ataupun contoh yang diberikan relevan dengan apa yang akan kita pelajari.

Pak Jono selama empat tahun terakhir memelihara ayam dan bebek di pekarangan rumahnya. Jumlahnya adalah sebagai berikut:

Sekarang, tugas kita adalah membuatkan pak Jono diagram batang (barplot) yang dapat menggambarkan jumlah unggas (ayam dan bebek) yang dipeliharanya selama empat tahun terakhir. Setidaknya ada dua opsi diagram batang yang dapat kita buat.


Opsi pertama yang dapat kita pilih adalah dengan membuatkannya barplot berpasangan. Begini hasilnya:


Adapun fungsi yang kita gunakan adalah sebagai berikut:



Kunci dalam membuat barplot perpasangan seperti diatas adalah fungsi beside=TRUE yang berarti barplot-nya akan tersusun berhimpitan sesuai dengan variabelnya (ayam dan bebek). Untuk masalah warna, kita dapat merubahnya sesuai dengan apa yang kita inginkan. Tinggal tulis saja dalam fungsi col=c(“…””…”).

Selanjutnya, kita akan menyisipkan legenda untuk mempermudah pembaca dalam membaca diagram batang kita. Caranya adalah dengan memanfaatkan fungsi legend.

            >Legend(“posisi legenda”, c(“legenda yang mau ditampilkan”), fill=c(“warna”)

Ingat! Keterangan legenda dan warna harus sinkron alias merepresentasikan apa yang ada di dalam diagram batang. Jangan sampai di diagram batang warna kuning sebenarnya menunjukkan tahun 2016 tetapi dilegenda ditulis warna kuning menunjukkan tahun 2018.

Opsi kedua yang dapat kita buat untuk menggambarkan jumlah ternak pak Jono adalah dengan menjumlahkan ternak ayam dan bebek pertahun. Seperti ini diagram batangnya guys:


Adapun fungsi yang digunakan adalah sebagai berikut:

Nggak kelihatan ya? Hehehe. Tenang, biar jelas saya tuliskan.
       >barplot(t(unggas), main="Jumlah Unggas yang dimiliki Pak Jono", xlab="Tahun",  col=c("red", "yellow", "Purple", "blue"), ylab="Jumlah", names.arg=c("2015", "2016", "2017", "2018"))


Jika diagram batang yang pertama tadi (barplot berpasangan), sumbu x merupakan jenis unggas (ayam dan bebek), digram batang yang kedua ini, sumbu x nya menunjukkan tahun. Jadi di diagram batang yang kedua ini dapat menunjukkan total unggas peliharaan pak Jono selama satu tahun.

Adapun perbedaan fungsi antara keduanya adalah:
  1. Fungsi beside=TRUE kita hilangkan,
  2. Di diagram batang yang kedua ini, kita mentranspose data yang sebelumnya sumbu x-nya adalah jenis unggas, kita ganti menjadi tahun. Caraya adalah dengan menuliskan fungsi transpose didepan data set yang kita miliki t(unggas).
  3. Kita juga harus mencantumkan keterangan di sumbu x untuk setiap batang di diagramnya dengan cara menggunakan fungsi names.arg=c(“…”, “….”). Nama yang kita cantumkan dalam fungsi names.arg harus sama dengan jumlah batang di diagram.


Bagaimana guys, sudah jelaskan? Jika ada pertanyaan, silakan tulis di kolom komentar atau email langsung ke saya. Sekian dulu materi kali ini. Sampai berjumpa dimateri yang lain.

Sunday, February 3, 2019

#Belajar-R: Menghapus dan Menambah Baris atau Kolom


Dipostingan kali ini, saya akan membahas cara untuk menambah ataupun menghapus data, baik itu mau menghapus kolom ataupun baris. Seringkali ketika kita mengolah data, kita menemukan data yang tidak layak untuk turut serta dianaisis entah itu karena outlier yang parah sehingga akan merusak model, ataupun datanya kurang lengkap. Berikut ini saya share cara untuk menghapus baris dan kolom.

Tentunya, kita import dulu data nilai yang telah diunduh tadi. Caranya dapat dibaca di Managemen Data.


Inilah tampilan data semula. Total ada 71 siswa.
Pertama, kita akan mencoba menghapus beberapa baris., yaitu seluruh siswa kelas IPA2. Iya semuanya! Bagaimana caranya? Caranya adalah dengan memanfaatkan fungsi “-c ( )”. Teman-teman ingat nggak apa itu fungsi c( )”? Yups, fungsi tersebut merupakan fungsi untuk menggabungkan elemen-elemen menjadi vektor. Berarti kalo didepan “c” dikasih tanda minus “-“, itu tandanya elemen dikeluarkan dari vektor.


Oke, kita langsung saja mulai menghapus seluruh data siswa kelas IPA2. Sebelumnya, kita harus mengetahui siswa kelas IPA6 berada diurutan ke berapa saja. Dalam kasus kita, daftar siswa kelas IPA2 berada di rentang 11-22. Let’s rock guys!


fungsi yang kita gunakan : >semester <- semester[-c(11:22),)
NB: Jangan lupa koma sebelum kurung tutup terakhir. Kalau tidak dikasih tanda koma, maka fungsi             tidak akan jalan.

Inilah data setelah data siswa IPA2 dihilangkan.
Sekarang, kita akan menghilangkan kolom kelas.

Fungsi yang kita gunakan : >semester$kelas=NULL

Variabel kelas sudah hilang.


Bagaimana? Mudahkan?
Mari kita lanjutkan materinya. 
Kalau kita sudah tau bagaimana cara menghapus baris dan kolom, sekarang kita belajar cara menambah baris. Adapaun fungsi yang akan kita gunakan adalah fungsi “cbind”. Kalo feeling saya sih, cbind ini merupakan singkatan dari combine. Gimana? Maksa banget ya? Lha terus “d” asal mulanya dari mana dong? Saya enggak tau, nggak bisa menebaknya Hahaha.
Oke, kita langsung praktikkan saja ya. Kali ini, saya mau menambahkan satu murid baru bernama Sun.
Pertama, kita embuat data frame baru dengan cara memanfaatkan fungsi "data.frame". Intinya, kita membuat data frame yang isinya cuma data dari siswa dengan nama Sun, beserta seluruh nilai-nilainya secara berurutan. Setelah itu, data frame baru yang saya beri nama newRow, kita gabung dengan data frame kita yang lama, yaitu semester.

 Lebih jelasnya, bisa dilihat digambar berikut. 

Cara menambah baris baru
Akhirnya Sun sudah tercatat di data frame yang baru

Bagaimana? Gampangkan? Itulah cara untuk menghapus kolom ataupun baris dan menambah baris dengan menggunakan applikasi R. Semoga sharing knowledge kali ini bermanfaat bagi semua. Untuk lebih mendalami cara-cara menganalisis data dengan program R, teman-teman dapat membaca dipostingan #belajar-R yang lainnya di blog ini. Terimakasih.

 Sumber Referensi

Pramana, Setia, dkk.2017.Dasar-Dasar Statistika dengan Software R Konsep dan Aplikasi Edisi ke Dua.Bogor.In Media.
Budiharto, Widodo dan Rachmawati, Ro’fah.2013.Pengantar Praktis Pemrogaman R untuk Ilmu Komputer.Jakarta.Halaman Moeka.
Maindonald, J.H.2008.Using R for Data Analysis and Graphics Introduction, Code and Commentary.Australia.Australian National University

Sunday, January 27, 2019

#StatDas: Scatter Plot dan Korelasi


Seorang ahli statistik ataupun data analyst pastinya akrab dengan diagram tebar atau scatter plot. Namun bagi orang yang sedang belajar statistik, pastinya bertanya-tanya, apa sih scatter plot itu? Kok disetiap tahap awal melakukan analisis suatu data, selalu saja scatter plot digunakan?

Oke, dalam kesempatan kali ini, kita akan membahas mengenai scatter plot sekaligus dengan partnernya, yaitu korelasi.

Secara ringkasnya, scatter plot merupakan suatu grafik dua dimensi yang terdiri atas kumpulan titik yang berasal dari nilai observasi dua variabel sekaligus yang berguna untuk melihat pola atau hubungan antara kedua variabel tersebut. Jadi, jika ingin membuat scatter plot, kita harus memiliki data dari dua buah variabel yang ingin kita analisis, satu variabel akan berada di sumbu x, dan satunya lagi di sumbu y. Nilai kedua variabel tersebut akan digambarkan sebagai sebuah titik di sebuah grafik dengan sumbu x dan y.

Salah satu fungsi dari scatter plot adalah dapat menunjukkan hubungan antara dua buah variabel. Dalam ilmu statistik, hubungan antara dua buah variabel disebut dengan korelasi.  So, scatter plot dan korelasi adalah dua hal yang tidak terpisahkan. Di mana ada scatter plot, disitu korelasi bisa dilihat.
Apasih sebenarnya korelasi itu sendiri? Intinya, Korelasi merupakan hubungan dari dua variabel. Hubungan kedua variabel tersebut hanya mempunyai tiga kemungkinan, yaitu korelasi positif, korelasi negatif ataupun tidak mempunyai korelasi. Selain itu, yang perlu diperhatikan adalah bentuknya linier atau non linier. Tentunya akan sangat beda perlakuannya antara korelasi linier dengan non linier.

Berikut adalah beberapa pola scatter plot.
 
Sumber : ilmumanajemenindustri.com
Adapun cara membuat scatter plot, bisa anda simak dipostingan berikut Membuat Scatter Plot.

Berbicara tentang korelasi, berikut ini adalah beberapa contoh dikehidupan sehari-hari kita yang biasanya mempunyai hubungan positif, atau dengan kata lain mempunyai korelasi positif.
             1. Lama belajar dengan nilai ujian
             2. Lama bekerja dengan upah yang didapatkan
             3. Tinggi badan dan berat badan.

Ketiga contoh diatas biasanya memiliki korelasi positif, atau dengan kata lain, jika nilai salah satu variabel naik, maka variabel yang satu lagi ikutan naik. Namun ingat, kita belum tau apakah kedua variabel tersebut saling mempengaruhi atau tidak.

Lalu, apa saja contoh yang biasanya mengindikasikan mempunyai korelasi negatif?
       1. Tingkat pendapatan masyarakat dengan tingkat kemiskinan.
       2. Lama sekolah dengan tingkat buta huruf.
       3. Jumlah penjualan minuman keras dengan penderita penyakit liver.

Warning!
Meskipun dua variabel memiliki hubungan atau korelasi yang kuat, hal tersebut belum tentu mengindikasikan adanya hubungan sebab akibat atau saling mempengaruhi antara kedua variabel. Korelasi hanya sebatas memberikan informasi ada atau tidaknya hubungan antara dua variabel, sekaligus bentuk hubungannya, apakah positif, negatif, kuat, atau lemah. Berikut ini adalah contoh kasus dimana dua buah variabel memiliki korelasi yang kuat, namun tidak saling mempengaruhi.

Contoh:
Perusahaan minuman susu UHT di Kabupaten Mamuju mencatatkan jumlah penjualan tertinggi selama tahun 2018. Disaat yang bersamaan, pihak kepolisisan mengumumkan bahwa tindak kejahatan di Kabupaten Mamuju mengalami peningkatan yang cukup tajam selama tahun 2018. Adapun data penjualan susu UHT dan jumlah tindak kejahatan setiap bulan di Kabupaten Mamuju jika dibuatkan scatter plot hasilnya adalah sebagai berikut.




Dari scatter plot di atas, jelas terlihat bahwa adanya korelasi positif yang cukup tinggi antara total penjualan susu UHT dan jumlah kejahatan di Kabupaten Mamuju. Namun, meskipun teridentifikasi adanya korelasi yang kuat antara kedua variabel tersebut, apakah kita bisa menarik kesimpulan, semakin tinggi angka penjualan susu UHT akan menyebabkan semakin tinggi pula angka kejahatan di Kabupaten Mamuju? Absolutely you can’t! Apa hubungannya susu dengan tindak kejahatan. That’s not make sense anymore! Tidak ada sumber referensi yang menyatakan semakin tinggi konsumsi susu akan menyebabkan semakin tinggi pula tingkat tindak kejahatan. Kecuali kalau data jumlah penjualan susu diganti dengan jumlah penjualan minuman keras, maka kita bisa menarik kesimpulan bahwa tingkat penjualan minuman keras sangat mempengaruhi jumlah kejahatan. Seberapa besar pengaruhnya? Itu akan terjawab dengan menggunakan analisis regresi.

Intinya, korelasi hanya sebatas mengidentifikasi hubungan antara kedua variabel saja, tidak lebih! You can’t say “pengaruh” ketika mengintepretasikan hasil dari korelasi. Cukup variabel A dan B memiliki hubungan yang kuat/lemah.

Sekian pembahasan tentang scatter plot dan korelasi. Jika ada pertanyaan silakan tulis di kolom komentar. Terimakasih banyak.