Anda di halaman 1dari 17

TUGAS PENGANTAR ANALISIS

BIG DATA
“Penggunaan dan Kelebihan Package
Bigmemory dalam Bigfamily untuk
Pengolahan Bigdata “

Kelompok 13
Anggota Kelompok :
1. Amin Septianingsih
2. Nofita ika utami
3. Dwi resti indah puspitawati
4. Robertus indra kurniawan

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM


UNIVERSITAS GADJAH MADA
I. PENGERTIAN BIGDATA

I.1. KARAKTERISTIK BIGDATA


Big Data bukanlah sebuah teknologi, teknik, maupun inisiatif yang berdiri sendiri. Big
Data adalah suatu trend yang mencakup area yang luas dalam dunia bisnis dan teknologi. Big
Data menunjuk pada teknologi dan inisiatif yang melibatkan data yang begitu beragam, cepat
berubah, atau berukuran super besar sehingga terlalu sulit bagi teknologi, keahlian, maupun
infrastruktur konvensional untuk dapat menanganinya secara efektif. Dengan kata lain, Big
Data memiliki ukuran (volume), kecepatan (velocity), atau ragam (variety) yang terlalu
ekstrim untuk dikelola dengan teknik konvensional. Big Data melibatkan proses pembuatan
data, penyimpanan, penggalian informasi, dan analisis yang menonjol dalam hal volume,
velocity, dan variety.
1. Volume (Ukuran). Pada tahun 2000 lalu, PC biasa pada umumnya memiliki kapasitas
penyimpanan sekitar 10 gigabytes. Saat ini, Facebook menyedot sekitar 500 terabytes data
baru setiap harinya; sebuah pesawat Boeing 737 menghasilkan sekitar 240 terabytes data
penerbangan dalam satu penerbangan melintasi Amerika; makin menjamurnya penggunaan
ponsel pintar (smartphone), bertambahnya sensor-sensor yang disertakan pada perangkat
harian, akan terus mengalirkan jutaan data-data baru, yang terus ter-update, yang mencakup
data-data yang berhubungan dengan lingkungan, lokasi, cuaca, video bahkan data tentang
suasana hati si pengguna ponsel pintar.
2. Velocity (kecepatan). Clickstreams maupun ad impressions mencatat perilaku pengguna
Internet dalam jutaan event per detik; algoritma jual-beli saham dalam frekwensi tinggi dapat
mencerminkan perubahan pasar dalam hitungan microseconds; proses-proses yang
melibatkan hubungan antara suatu mesin dengan mesin lainnya telah melibatkan pertukaran
data antar jutaan perangkat; peralatan sensor dan perangkat-perangkat pada infrastruktur
menghasilkan log data secara real time; sistem game online dapat melayani jutaan pengguna
secara bersamaan, yang masing-masing memberikan sejumlah input per detiknya.
3. Variety (ragam). Big Data tidak hanya menyangkut data yang berupa angka-angka, data
tanggal, dan rangkaian teks. Big Data juga meliputi data-data ruang / geospatial, data 3D,
audio dan video, dan data-data teks tak berstruktur termasuk file-file log dan media sosial.
Sistem database tradisional didesain untuk menangani data-data berstruktur, yang tak terlalu
sering mengalami update atau updatenya dapat diprediksi, serta memiliki struktur data yang
konsisten yang volumenya tak pernah sebesar Big Data. Selain itu, sistem database
tradisional juga didesain untuk digunakan dalam satu server yang berdiri sendiri, yang
berakibat pada keterbatasan dan mahalnya biaya untuk peningkatan kapasitas, sedangkan
aplikasi sudah dituntut untuk mampu melayani pengguna dalam jumlah yang jauh lebih besar
dari yang pernah ada sebelumnya. Dalam hal ini, database Big Data seperti halnya MongoDB
maupun HBase, dapat memberikan solusi yang feasible yang memungkinkan peningkatan
profit perusahaan secara signifikan. Singkatnya, Big Data menggambarkan kumpulan data
yang begitu besar dan kompleks yang tak memungkinkan lagi untuk dikelola dengan tools
software tradisional.

Selengkapnya : http://www.kompasiana.com/wmwijaya/apa-itu-big-data-menyimak-kembali-
definisi-big-data-jenis-teknologi-big-data-dan-manfaat-pemberdayaan-big-
data_56a38803a423bd831546e6e3

Salah satu contoh penerapan big data adalah pada bidang penerbangan. Salah satu
contoh datanya adalah mengenai kecelakaan terbang. Data ini berisi tentang tanggal
terjadinya kecelakaan, waktu terjadinya kecelakaan, lokasi terjadinya kecelakaan, operator
dari pesawat yang terjadi kecelakaan, jenis penerbangan, rute penerbangan, tipe pesawat,
nomor registrasi pesawat, cn/ln, penumpang, penumpang luka fatal, ground, dan summary.
Banyaknya kecelakan pesawat yang terjadi dari tahun ke tahun sehingga datanya akan
berjumlah banyak juga sehingga bisa dikategorikan sebagai big data.
Salah satu aplikasi yang sering digunakan mengolah data adalah R. R adalah suatu
sistem untuk menganalisis data yang termasuk software opensource sehingga tidak
memerlukan lisensi (gratis).Keunggulan software r dibanding software yang lain adalah :

 Gratis. User dapat memiliki kopi dan menginstal software ini secara bebas tanpa perlu
membayar lisensi
 Portability. Jika seorang user pernah mempelajari software ini, mereka bebas untuk
mempelajari dan menggunakannya sampai kapanpun yang diinginkan.
 Multiplatform. R bersifat multiplatform operating systems, lebih umum dibanding
software statistika manapun yang pernah ada. Dengan demikian jika seorang user
memutuskan untuk berpindah sistem operasi, maka penyesuaian akan relatif lebih
mudah untuk dilakukan.
 General dan Cutting Edge. Berbagai metode analisa statistik (metode-metode klasik
maupun metode-metode baru) telah diprogramkan kedalam bahasa R. Dengan
demikian, software ini dapat digunakan untuk berbagai macam analisa statistika (jika
tidak dapat dikatakan untuk semua hal berkaitan dengan analisa statistika)
 Programmable. User dapat memprogramkan metode baru atau mengembangkan
modifikasi dari fungsi-fungsi analisa statistika yang telah ada dalam sistem R
 Bahasa berbasis analisa matriks. Bahasa R sangat baik untuk melakukan
programming dengan basis matriks
 Fasilitas grafik yang relatif baik
 Relatif cukup cepat, dan khususnya memiliki kemampuan manajemen memori yang
lebih baik dibandingkan dengan beberapa software lain.

Lalu apakah dengan software R mampu digunakan untuk mengolah data yang
tergolong dalam big data?

 Kebanyakan sistem tidak bisa digunakan untuk data lebih dari 2 GB.
 Pada windows 7, hanya akan berjalan saat menggunakan RAM 8 GB.
 Membutuhkan waktu sekitar 9 menit untuk fungsi read.table
 Memakan penggunaan memori sebesar 6 GB
 Beberapa fungsi dasar akan mengalami error
 Tidak bisa membuka data di R hanya dengan memory 4 GB
 Terlalu banyak menggunakan memori virtual menyebabkan sistem berhenti

1.2. BIG MEMORY


Data yang berupa numeric matrix dengan ukuran multi-gigabyte merupakan salah satu bentuk
big data yang tak bisa diolah seperti halnya data biasa. C++ dapat mengatasi hal tersebut dengan
kelebihannya yaitu dapat melakukan operasi dengan memori yang efisien pada kumpulan data yang
besar tidak seperti R. Namun C++ tidak cocok untuk eksplorasi data karena tidak begitu fleksibel. Big
memory merupakan packages di R yang menjembatani gap antara R dan C++, yaitu dapat digunakan
untuk menyimpan matriks yang berukuran besar dan mendukung pengolahan dasarnya. Package ini
juga memiliki kelebihan yaitu mudah dalam penggunaan dan multiple processors pada mesin yang
sama dapat mengakses kumpulan data yang sama dengan cara shared memory.
Berikut ini adalah beberapa hal dalam big memory package

 Big memory membuat variabel X = big.matrix, sehingga X merupakan pointer ke dataset


yang tersimpan dalam RAM atau hard drive.
 Ketika big.matrix, X, dikenakan argumen dari sebuah fungsi pada dasarnya call by reference
daripada call by value.
 Backing file merupakan nama dasar file untuk chace X
 Descriptor File merupakan nama file untuk menyimpan deskripsi file yang didukung dan
selanjutnya digunakan dengan attach.big.matrix
 attach.big.matrix membuat objek baru big.matrix yang referensi sebelumnya dialokasikan
berdasar shared memory atau matrix file-backed.
 Default dari big.matrix tidak di share selama pemrosesan dan dibatasi pada RAM yang
tersedia

1.3. BIG FAMILY


Big Family terdiri dari beberapa package yang dapat digunakan untuk menganalisis big data.

1. Big Memory
Digunakan untuk menganalisis data yang berbentuk seperti matriks.
Contoh fungsi yang dapat diaplikasikan :
nrow, ncol, dim, tail, head, apply, big.matrix, read.big.matrix. mwhich.

2. Big Analytics
Dapat digunakan untuk analisis rutin pada big matrix.
Contoh fungsi yang dapat diaplikasikan :
sum, range, mean, colsum, colrange, colmean, biglm.big.matrix,
bigglm.big.matrix.

3. Big Tabulate
Dapat digunakan untuk menambah dan manipulasi tabel untuk objek big.matrix.
4. Big Algebra
Dapat digunakan untuk operasi – operasi aljabar pada matrix R seperti big.matrix.
2. FUNGSI PACKAGE BIGMEMORY
Fungsi dalam package bigmemory
 Deepcopy → menghasilkan copy secara fisik dari big.matirx
Deskripsi : deepcopy diperlukan untuk menduplikat big.matrix
Penggunaan :
deepcopy(x,cols=NULL,rows=NULL,y=NULL,type=NULL,separated=NULL,
,shared=TRUE)
Keterangan :
X big.matrix
Cols kemungkinan subset kolom untuk deepcopy, bisa bernilai numerik,
nama, atau logikal
Rows kemungkinan subset baris untuk deepcopy, bisa bernilai numerik,
nama, atau logikal
Separated digunakan untuk memisahkan kolom data
Shared default bernilai TRUE
Contoh :
x <- as.big.matrix(matrix(1:30, 10, 3))
y <- deepcopy(x, -1)
x

head(x)
head(y)

 GetMatrixSize → mengetahui ukuran big.matrix


Deskripsi : menampilkan ukuran matrix yang terbentuk, dalam byte
Penggunaan : GetMatrixSize(bigMat)
Keterangan :
bigMat objek big.matrix
 Head,big.matrix-method → menampilkan bagian pertama atau terakhir dari objek
big.matrix
Deskripsi : menampilkan bagian pertama atau terakhir dari objek big.matrix
Penggunaan : head(x,n)
tail(x,n)
Keterangan :
x objek big.matrix
n banyaknya baris yang ingin ditampilkan
 Morder → fungsi untuk mengurutkan dan mengubah susunan objek big.matrix dan matrix
Deskripsi : fungsi morder digunakan untuk mengubah susunan baris (susunan menjadi
urut dari kecil ke besar). Fungsi mpermute digunakan untuk mengurutkan kembali data
berdasarkan baris pada big.matrix atau matrix
Penggunaan :
 morder(x, cols, na.last = TRUE, decreasing = FALSE)
 morderCols(x, rows, na.last = TRUE, decreasing = FALSE)
 mpermute(x, order = NULL, cols = NULL, allow.duplicates = FALSE, ...)
 mpermuteCols(x, order = NULL, rows = NULL, allow.duplicates = FALSE, ...)
Keterangan :
X objek big.matrix yang berisi nilai numerik
Cols data diurutkan berdasar nilai pada kolom tertentu
Na.last untuk mengkontrol perlakuan NA. Jika TRUE, missing value akan
diletakkan di akhir, jika FALSE missing value akan diletakkan di awal.
Jika NA, maka missing value akan dihapus
Decreasing bernilai TRUE jika ingin mengurutkan dari besar ke kecil. Bernilai
FALSE jika sebaliknya
Rows baris ke-r dari matriks x yang akan diurutkan nilainya berdasarkan
kolom
Order untuk memanggil hasil pengurutan (morder)
Allow.duplicates benilai TRUE jika ingin menduplikasi baris
Contoh :
m = matrix(as.double(as.matrix(iris)), nrow=nrow(iris))

morder(m, 1)

order(m[,1])
m[order(m[,1]), 2]

mpermute(m, cols=1)
m[,2]

 Mwhich → memperluas kemampuan ‘which’


Penggunaan : mwhich(x, cols, vals, comps, op = "AND")
Keterangan :
X big.,atrix, atau numeric matrix
Cols vector kolom
Vals nilai-nilai untuk suatu kriteria tertentu
Comps operasi atau kriteria untuk ‘vals’. Dapat berupa ‘eq’, ‘neq’, ‘le’, ‘lt’,
‘ge’, dan ‘gt’
Op operator untuk mnegkombinasikan kriteria-kriteria diatas, dapat berupa
‘AND’ atau ‘OR’
Contoh :
x <- as.big.matrix(matrix(21:50, 10, 3))
options(bigmemory.allow.dimnames=TRUE)
colnames(x) <- c("A", "B", "C")
x[,]

x[mwhich(x, 1:2, list(c(22,26), c(31,37)),list(c('ge','le'), c('gt', 'lt')), 'OR'),]

x[mwhich(x, c("A","B"), list(c(22,24), c(31,37)),


list(c('ge','le'), c('gt', 'lt')), 'AND'),]

# These should produce the same answer with a regular matrix:


y <- matrix(21:50, 10, 3)
y[mwhich(y, 1:2, list(c(22,23), c(31,37)),
list(c('ge','le'), c('gt', 'lt')), 'OR'),]

y[mwhich(y, -3, list(c(22,23), c(31,37)),


list(c('ge','le'), c('gt', 'lt')), 'AND'),]
3. IMPLEMENTASI

Berikut adalah langkah langkah fungsi operasi yang akan yang akan didemonstrasikan pada
penggunaan package bigmemory pada R.

3.1. Melakukan Simulasi / pembangkitan data besar pada R.


 Formula umum
write.table(x, file = "", append = FALSE, quote = TRUE, sep = "
", eol = "\n", na = "NA", dec = ".", row.names = TRUE,
col.names = TRUE, qmethod = c("escape", "double"),
fileEncoding = "")

 mydata=matrix(c(NA),nrow=10072112, ncol=5)
 mydata[,1]=sample(c(1:17770), 10072112, replace = TRUE)
 mydata[,2]=sample(c(1:480189), 10072112, replace = TRUE)
 mydata[,3]=sample(c(1:5), 10072112, replace = TRUE)
 mydata[,4]=sample(c(1999:2005), 10072112, replace = TRUE)
 mydata[,5]=sample(c(1:12), 10072112, replace = TRUE)
 write.table(mydata, file = "example.txt", sep = " ",row.names
= F, col.names = F)

 Keterangan
Pada formula diatas akan membangkitkan data set besar yang terdiri dari
keterangan jumlah kolom dan jumlah baris. Pada masing masing kolom dalam
pembangkitan data diatas akan dijelaskan terkait keterangan range interval dari tiap
tiap kolom. Pada pembangkitan data diatas nama kolom dan nama baris belum
teridentifikasi, sehingga data yang akan terbentuk adalah data berupa kumpulan
angka angka dalam kolom dan baris. Data yang akan tersimulasi selanjutnya akan
tersimpan di my document computer.

3.2. Melakukan pembacaan data ke dalam R

Setelah data tersimpan dalam my document computer yang merupakan hasil dari simulasi
data maka data akan diread/ di panggil ke dalam R. Terdapat beberapa cara dalam
melakukan fungsi ini sebagai berikut :
 Menggunakan read table sederhana
gc (reset=T)
start.time <-proc.time()
x1 <- read.table ("example.txt", header =T)
end.time <- proc.time ()
save.time <-end.time-start.time
cat("\n Number of minutes runnning:", save.time[3]/60, "\n \n")
gc()
 Menggunakan read table function
gc(reset=T)
start.time<-proc.time()
x2 <- read.table("example.txt",colClasses = "integer", header=F,
col.names = c("movie", "customer", "rating","year",
"month"))
end.time<-proc.time()
save.time<-end.time-start.time
cat("\n Number of minutes running:", save.time[3]/60, "\n \n")
gc()

 menggunakan read.big.matrix
library(bigmemory)
gc()
start.time<-proc.time()
x <-read.big.matrix("example.txt", header = F,type= "integer",sep= "
",col.names=c("movie","customer","rating","year","month"), shared=TRUE)
end.time<-proc.time()
save.time<-end.time-start.time
cat("\n Number of minutes running:",save.time[3]/60, "\n \n")

head (x)
summary (x)
summary (x[,])

3.3. Melakukan operasi untuk menampilkan sebagian kolom pada data


 cobacoba1 <- x[1:10, c("movie", "customer", "rating", "month")]
cobacoba1
summary(x[cobacoba1,])
mean(x[cobacoba1,"month"])
mean(x[cobacoba1,"rating"])

3.4. Melakukan operasi untuk menampilkan sebagian data dengan kondisi tertentu.
(Fungsi mwhich)
mwhich(x, cols, vals, comps, op = 'AND')
x: a big.matrix object.
cols: a vector of column indices or names.
vals: a list of vectors of length 1 or 2; length 1.It is used to test
equality (or inequality),
comps: a list of operators including 'eq', 'neq', 'le', 'lt', 'ge' and 'gt‘.
op: either 'AND' or 'OR'.

these <- mwhich(x, c("customer", "year", "month", "rating"),

list(50, 2004, c(2, 12), 2), list("le", "eq", c("ge", "le"),

"le"), "AND")
summary(x[these, ])
mean(x[these,"movie"])
3.5. Melakukan analisis dengan menggunakan biglm dan biganalytics untuk pengolahan
data besar menggunakan regresi.
 library(biglm)
library(biganalytics)
lm.2= biglm.big.matrix(rating ~ year + movie, data = x, fc="year")
summary(lm.2)
4. KESIMPULAN

Berikut adalah karakteristik data yang tergolong bigdata yang tidak mampu diolah
tanpa package khusus bigmemory.

 Kebanyakan sistem tidak bisa digunakan untuk data lebih dari 2 GB.
 Pada windows 7, hanya akan berjalan saat menggunakan RAM 8 GB.
 Membutuhkan waktu sekitar 9 menit untuk fungsi read.table
 Memakan penggunaan memori sebesar 6 GB
 Beberapa fungsi dasar akan mengalami error
 Tidak bisa membuka data di R hanya dengan memory 4 GB
 Terlalu banyak menggunakan memori virtual menyebabkan sistem berhenti

Beberapa fungsi yang dapat dilakukan dalam library bigmemory dapat dilihat di menu
help pada R.

5. REFERENSI

1. Ppt Presentation_bigmemory
2. Cran R
3. http://www.kompasiana.com/wmwijaya/apa-itu-big-data-menyimak-kembali-definisi-
big-data-jenis-teknologi-big-data-dan-manfaat-pemberdayaan-big-
data_56a38803a423bd831546e6e3