SlideShare a Scribd company logo
1 of 33
Download to read offline
JURUSAN TEKNOLOGI INFORMASI
Mata Kuliah Big Data
03. Pemrosesan Paralel
Yoppy Yunhasnawa, S.ST., M.Sc.
Topik
2
• Serial vs Paralel
• Masalah Pemrosesan Paralel
• MapReduce
• Daemon MapReduce
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
16/02/22 3
Topik-1: Serial vs Paralel
Jurusan Teknologi Informasi - Politeknik Negeri Malang
1. Serial vs Paralel
4
• Dari pembahasan sebelumnya kita telah memahami dua hal penting dari Big Data yaitu:
• Latar belakang
• Permasalahan yang bisa diselesaikan.
• Latar belakang:
• Jumlah data yang sangat banyak, yang dihasilkan secara eksponensial.
• Banyaknya informasi dan/atau pengetahuan berharga yang bisa diekstrak dari data-data tersebut, yang
menyebabkan data sangat sayang untuk dibuang.
• Permasalahan:
• Bagaimana menyimpannya? à Platform Big Data (Hadoop, HDFS)
• Bagaimana memprosesnya?
• Pada sistem konvensional à data disimpan secara terpusat à pemrosesan data dilakukan secara serial.
• Pada sistem big data à Data disimpan secara terdistribusi à pemrosesan data dilakukan secara paralel.
• Namun tunggu dulu: Apa bedanya simpan dan proses?
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
1. Serial vs Paralel
Sistem Konvensional
5
• Bila data disimpan pada satu mesin à Langsung diolah di mesin tersebut.
• Bila data disimpan pada mesin-mesin lain yang terhubung dalam suatu jaringan (contohnya NAS)?
• Bisa jadi datanya disalin dulu pada satu mesin, atau;
• Data di-streaming
• Dan diolah secara terpusat pada satu mesin.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Data Node-3
Data Node-2
1. Serial vs Paralel
Sistem Big Data
6
• Data dipecah (split) dan disimpan secara terdistribusi pada mesin lain sebagai data node.
• Data diolah secara bersama-sama di setiap data node dan hasilnya akan disatukan.
• Algoritma pemrosesan ini disebut sebagai MapReduce.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Data Node-1 Name Node
16/02/22 7
Topik-2: Masalah Pemrosesan Serial
Jurusan Teknologi Informasi - Politeknik Negeri Malang
2. Masalah Pemrosesan Serial
8
• Melakukan pemrosesan terhadap file yang besar akan membutuhkan waktu yang lama apabila
dilakukan secara serial.
• MapReduce adalah algoritma yang dirancang untuk melakukan pemrosesan file secara parallel.
• File yang besar tersebut dipecah menjadi bagian-bagian yang lebih kecil dan diproses secara
bersamaan.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
2. Masalah Pemrosesan Serial
Skenario Dunia Nyata
9
• Permasalahan umum dimana penggunaan teknologi Big Data salahsatunya adalah operasi agregasi yang
melibatkan data yang sangat banyak.
• Misalkan terdapat PT atau Group retail yang beroperasi diseluruh negeri, dan ingin mendapatkan nilai
total penjualan per wilayah dari seluruh log transaksi yang ada.
• Data yang ada akan sangat (sangat) banyak.
• Apabila diolah secara serial, tinggal dijumlah saja dari awal hingga akhir à akan membutuhkan banyak waktu.
• Begini ceritanya bila tidak menggunakan MapReduce…
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
2. Masalah Pemrosesan Serial
Skenario Dunia Nyata
10
• Apabila data lognya seperti di atas (tanggal, nama toko, total pendapatan), maka:
• Data akan dihitung dari atas, kebawah. Nama kota didapatkan dari parsing nama toko
• Pecah berdasarkan spasi, dan ambil kata pertama.
• Simpan total pada setiap toko..
• Update total apabila dijumpai nama toko yang sama. Ulangi sampai semua baris terproses.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
2. Masalah Pemrosesan Serial
Skenario Dunia Nyata – Masalahnya…
11
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
• Memang seberapa lama sih??
• Taruhlah:
• Jumlah barisnya ada 10.000.000;
• Per detiknya, komputer server mampu memproses 1000 baris.
• Maka untuk operasi tersebut dibutuhkan:
• (1/1000 * 10000000) / 60 / 60 = 2,7 jam.
• Dan ingat, itu hanya sekedar operasi agregasi sederhana saja yang berupa penjumlahan!
• Belum lagi jika bicara masalah memori:
• Komputer server akan kehabisan memori sebelum semua baris selesai diolah.
• Kok bisa?
• Karena konsep Hashtable.
2. Masalah Pemrosesan Serial
Skenario Dunia Nyata – Hashtable
12
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
• Hashtable à Struktur data berupa array yang setiap elemennya terdiri dari key & value.
• Pada kasus sebelumnya, nama kota kita jadikan sebagai key, dan nilai penjualan sebagai valuenya.
• Hashtablenya akan menjadi seperti berikut:
• Untuk bisa menghitung jumlah dari data-data tadi Anda harus:
• Membaca data dari file à di harddisk/storage.
• Dan mengubahnya menjadi hashtable atau array asosiatif dalam bentuk variable di program Anda à RAM.
• Taruhlah:
• Total RAM yang dibutuhkan untuk 1 barisnya sekitar 1KB saja..
• Maka untuk mengolah keseluruhan data tersebut akan dibutuhkan:
• 1000 x 10.000.000 = 10 Milyar Byte = 10 GB RAM!
Key Value
“London” 25.99
“Miami” 12.15
“NYC” 3.0
“Miami” 50.00
16/02/22 13
Topik-3: MapReduce
Jurusan Teknologi Informasi - Politeknik Negeri Malang
• Pada proses perhitungan serial tadi, jika kita ibaratkan computer servernya sebagai orang, maka:
• Pekerjaan tersebut seperti mempekerjakan 1 orang kasir untuk merekap seluruh penjualan pada hari ini.
• Akan lama, dan kasirnya bisa stress à pekerjaan tidak selesai.
3. MapReduce
14
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
😰
• Dengan MapReduce, pekerjaan dikerjakan secara beramai-ramai bersama “pegawai” lainnya.
• Seperti gotong royong. Berat sama dipikul, ringan sama dijinjing..
• Pegawai-pegawai tersebut akan dibagi menjadi 2 kelompok: Mappers dan Reducers.
3. MapReduce
Ilustrasi
15
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
• Pada mulanya semua Mappers akan membaca baris-baris yang ada. Baris-baris tersebut disebar secara acak ke mapper-
mapper yang ada.
• Semua mappers bisa kebagian baris yang mana saja. Baris yang sudah dibaca oleh 1 mapper tidak dibaca mapper lain.
• Tiap mapper akan memproses baris-baris yang merka dapatkan secara bersamaan dan dan menuliskan kota yang mana
jumnlah penjualannya berapa pada satu kartu.
• Di tempat mereka masing-masing, tanpa mempedulikan apa yang dikerjakan mapper lainnya..
3. MapReduce
Ilustrasi
16
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
NYC
4.10
Miami
21.99
Mappers
Reducers
• Kemudian setiap mapper akan terus bekerja sampai dengan semua baris diubah menjadi kartu.
• Kartu-kartu tersebut dimasukkan ke dalam kotak kardus yang sudah ditandai dengan satu nama kota
sehingga kartu yang kotanya sama akan dimasukkan ke dalam kardus yang sama.
• Pada kardus selalu diupdate jumlah total setiap kali ada kartu baru yang masuk.
3. MapReduce
Ilustrasi
17
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Miami
31.59
NYC
10.14
LA
NYC NYC
LA Miami
• Setelah semua mappers selesai memasukkan semua kartu kedalam kardus, maka berikutnya adalah tugas dari
reducers.
• Reducer ini bertindak seperti semacam pengepul. Setiap reducer memiliki tugas untuk mengumpulkan kardus-kardus
bertandakan kota tertentu.
• Satu kota satu reducer.
• Satu reducer bisa banyak kota.
3. MapReduce
Ilustrasi
18
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Miami
31.59
NYC
10.14
LA
NYC NYC
LA Miami
Gua
NYC
Gua Miami
sama LA
• Setiap Reducer kemudian mendatangi mapper-mapper yang memiliki kardus dengan nama kota yang sesuai dengan
tugasnya.
• Reducer yang tugasnya NYC akan mengambil kardus NYC saja.
• Reducer yang tugasnya Miami dan LA akan mengambil kadus Miami dan kardus LA saja.
• Setelah semua kardus terkumpul, Reducer tinggal menjumlahkan saja angka yang sudah dituliskan pada masing-
masing kardus oleh para mappers sebelumnya. Penjumlahan dilakukan urut berdasarkan abjad nama kotanya.
3. MapReduce
Ilustrasi – Hasil Akhir
19
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Miami
31.59
NYC
10.14
LA
NYC
NYC
LA
Miami
Gua
NYC
Gua Miami
sama LA
NYC = $300.578
Miami = $533.425
LA = $78.320
• Misalkan key atau kardus-kardus yang dari mappers terdiri dari: Apel, Pisang, Wortel dan Anggur
• Jika reducer-nya lebih dari satu, kardus mana dulu yang sampai pertama kali ke reducer?
• (A) Apel, Pisang
• (B) Aple, Wortel
• (C) Wortel, Anggur
• (D) Apel, Anggur
• (E) Tidak bisa diketahui, pokoknya masing-masing reducer dapat dua.
• (F) Tidak bisa diketahui
3. MapReduce
Mulitple Reducer
20
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Pisang
31.59
Apel
10.14
Wortel
Apel Apel
Anggur Pisang
?? ??
• Misalkan key atau kardus-kardus yang dari mappers terdiri dari: Apel, Pisang, Wortel dan Anggur
• Jika reducer-nya lebih dari satu, kardus mana dulu yang sampai pertama kali ke reducer?
• (A) Apel, Pisang
• (B) Aple, Wortel
• (C) Wortel, Anggur
• (D) Apel, Anggur
• (E) Tidak bisa diketahui, pokoknya masing-masing reducer dapat dua.
• (F) Tidak bisa diketahui
3. MapReduce
Mulitple Reducer
21
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
Mappers
Reducers
Pisang
31.59
Apel
10.14
Wortel
Apel Apel
Anggur Pisang
?? ??
3. MapReduce
Rangkuman
22
• Mappers adalah program-program kecil yang
bertugas mengolah pecahan data yang relatif sedikit
secara paralel.
• Hasilnya disebut intermediate records.
• Yang bentuknya berupa key-value.
• Hadoop mengolah hampir semua data dengan konsep
key-value.
• Pada kasus ini, key-nya nama kota dan value-nya
adalah jumlah pendapatan di kota tersebut.
• Setelah selesai, fase berikutnya adalah tugas dari
reducer yang disebut dengan shuffle & sort.
• Shuffle à Reducer mengambil intermediate result
dari masing-masing mappers sesuai dengan tugasnya.
• Sort à Reducer mengurutkan dan menjumlahkan
intermediate result berdasrkan nama kotanya.
• Hasil dari fase ini adalah nilai akhir yang berupa key-
value pair juga dimana:
• Key à Nama kota
• Value à Jumlah total pendapatan dari kota yang sama.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
16/02/22 23
Topik-4: Daemon MapReduce
Jurusan Teknologi Informasi - Politeknik Negeri Malang
4. Daemon MapReduce
24
• Daemon à Aplikasi yang berjalan di-
background secara autonomous.
• Tidak punya tampilan.
• Seperti service kalua di Windows.
• Pada Hadoop, terdapat bermacam
daemon berupa kode-kode program
yang berjalan sepanjang waktu pada
setiap mesin dalam cluster. Dua
diantaranya yang sudah kita kenal:
• Daemon Name Node
• Daemon Data Node
• Jenis daemon lain adalah daemon
penting saat kita men-submit job
MapReduce:
• Job Tracker
• Task Tracker
• MapReduce Job à Pemrosesan
dengan MapReduce, seperti yang
dicontohkan sebelumnya.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
4. Daemon MapReduce
Job Tracker
25
• Ketika kita menjalankan MapReduce:
• Akan mengirimkan suatu job yang
namanya Job Tracker.
• Dalam bentuk program.
• Yang akan dijalankan sebagai
daemon.
• Job ~> Keseluruhan pekerjaan.
• Job Tracker-lah yang akan membagi
pekerjaan menjadi mappers dan
reducers.
• Yang akan berjalan pada node-node
yang lain pada cluster.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
4. Daemon MapReduce
Task Tracker
26
• Yang mengatur eksekusi
pekerjaan sesungguhnya
dari mappers dan
reducers, adalah daemon
lain yang bernama Task
Tracker.
• Task Tracker akan
berjalan di setiap mesin
yang menjadi data node,
yang ikut andil dalam job
saat ini.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
4. Daemon MapReduce
Task Tracker
27
• Karena setiap Task Tracker berada pada
mesin yang sama di tempat di mana data
(blok) berada:
• Hadoop framework bisa memastikan data
diolah secara parallel secara langsung di
mesin itu juga.
• Hal ini dapat menghemat sangat banyak
network traffic.
• Setiap mapper akan memproses Sebagian
porsi data tertentu yang disebut dengan
input split.
• Secara default, Hadoop akan menjadikan
blok yang ada pada mesin tersebut sebagai
input split dari mapper yang ada di sana.
• Dia akan mencoba memastikan setiap mapper
bekerja pada data pada mesin yang sama.
• Contoh: Jika block hijau adalah data yang
akan diproses, maka task tracker di mesin
yang sama yang akan dipilih untuk
memrosesnya.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
• Tetapi hal tersebut kadang bisa saja tidak mungkin
• Karena bisa saja semua mesin yang ada blok hijaunya,
sedang busy/sibuk.
• Jika hal ini terjadi, maka Task Tracker di mesin yang
lain yang akan dipilih.
4. Daemon MapReduce
Rekap
28
1. Mapers akan
memproses input
data.
2. Setelah selesai, akan
menghasilkan
intermediate data.
3. Lalu hadoop akan
melemparkannya ke
reducers.
• Shuffle & Sort
4. Reducers memroses
data tersebut dan
mendapatkan hasil
akhir.
5. Reducers menuliskan
hasil akhirnya ke
HDFS.
16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
29
4. Daemon MapReduce
Contoh Kode Mapper
30
4. Daemon MapReduce
Contoh Kode Reducer
Pertanyaan?
16/02/22 31
Jurusan Teknologi Informasi - Politeknik Negeri Malang
16/02/22 32
Terima Kasih
Jurusan Teknologi Informasi - Politeknik Negeri Malang
Latihan
• Buatlah laporan yang berisi:
• Ilustrasi contoh kasus lain selain penghitungan total penjualan tadi.
• Baca, pahami, tuliskan ulang dengan Bahasa Anda sendiri.
• Sertakan sumbernya.
• Kumpulkan di Google Classroom.
16/02/22 33
Jurusan Teknologi Informasi - Politeknik Negeri Malang

More Related Content

What's hot

ARSITEKTUR SISTEM MEMORI
ARSITEKTUR SISTEM MEMORIARSITEKTUR SISTEM MEMORI
ARSITEKTUR SISTEM MEMORIAngling_seto
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanIndri Sukmawati Rahayu
 
3. Arsitektur Memori Komputer Paralel
3. Arsitektur Memori Komputer Paralel3. Arsitektur Memori Komputer Paralel
3. Arsitektur Memori Komputer ParalelHaddad Sammir
 
Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)Fajar Jabrik
 
definisi dan-pengenalan-simbol-simbol-flowchart.ppt
definisi dan-pengenalan-simbol-simbol-flowchart.pptdefinisi dan-pengenalan-simbol-simbol-flowchart.ppt
definisi dan-pengenalan-simbol-simbol-flowchart.pptSuryoHadikusumo2
 
Manajemen Proyek Sistem Informasi
Manajemen Proyek Sistem InformasiManajemen Proyek Sistem Informasi
Manajemen Proyek Sistem InformasiFaishal Wafiq Zakiy
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksiAriev Kusuma
 
Tutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouseTutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouseJames Montolalu
 
Mp 4 mode-pengalamatan
Mp 4 mode-pengalamatanMp 4 mode-pengalamatan
Mp 4 mode-pengalamatanOlbers Letfaar
 
Materi rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakMateri rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakoktafianoandreas
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKMiftahul Muttaqin
 
Makalah Jaringan Syaraf Tiruan
Makalah Jaringan Syaraf TiruanMakalah Jaringan Syaraf Tiruan
Makalah Jaringan Syaraf TiruanYono Pambungsu
 

What's hot (20)

ARSITEKTUR SISTEM MEMORI
ARSITEKTUR SISTEM MEMORIARSITEKTUR SISTEM MEMORI
ARSITEKTUR SISTEM MEMORI
 
PowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik PengalamatanPowerPoint - Set Instruksi dan Teknik Pengalamatan
PowerPoint - Set Instruksi dan Teknik Pengalamatan
 
Linked List
Linked ListLinked List
Linked List
 
3. Arsitektur Memori Komputer Paralel
3. Arsitektur Memori Komputer Paralel3. Arsitektur Memori Komputer Paralel
3. Arsitektur Memori Komputer Paralel
 
Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)Makalah Organisasi Komputer - Direct Memory Access (DMA)
Makalah Organisasi Komputer - Direct Memory Access (DMA)
 
definisi dan-pengenalan-simbol-simbol-flowchart.ppt
definisi dan-pengenalan-simbol-simbol-flowchart.pptdefinisi dan-pengenalan-simbol-simbol-flowchart.ppt
definisi dan-pengenalan-simbol-simbol-flowchart.ppt
 
Bhs assembly
Bhs assemblyBhs assembly
Bhs assembly
 
Manajemen Proyek Sistem Informasi
Manajemen Proyek Sistem InformasiManajemen Proyek Sistem Informasi
Manajemen Proyek Sistem Informasi
 
Kerangka kerja interaksi
Kerangka kerja interaksiKerangka kerja interaksi
Kerangka kerja interaksi
 
STRUKTUR DAN FUNGSI CPU
STRUKTUR DAN FUNGSI CPUSTRUKTUR DAN FUNGSI CPU
STRUKTUR DAN FUNGSI CPU
 
Paralel prosesor
Paralel prosesorParalel prosesor
Paralel prosesor
 
Tutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouseTutorial Pentaho - Membuat Data base werehaouse
Tutorial Pentaho - Membuat Data base werehaouse
 
Mp 4 mode-pengalamatan
Mp 4 mode-pengalamatanMp 4 mode-pengalamatan
Mp 4 mode-pengalamatan
 
set associative mapping
set associative mappingset associative mapping
set associative mapping
 
Jenis dan proses interupsi
Jenis dan proses interupsiJenis dan proses interupsi
Jenis dan proses interupsi
 
Pertemuan 10 memory
Pertemuan 10 memoryPertemuan 10 memory
Pertemuan 10 memory
 
Framework laravel
Framework laravelFramework laravel
Framework laravel
 
Materi rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunakMateri rekayasa-perangkat-lunak
Materi rekayasa-perangkat-lunak
 
Analisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMKAnalisa Website Traveloka - Makalah IMK
Analisa Website Traveloka - Makalah IMK
 
Makalah Jaringan Syaraf Tiruan
Makalah Jaringan Syaraf TiruanMakalah Jaringan Syaraf Tiruan
Makalah Jaringan Syaraf Tiruan
 

Similar to Pemrosesan Paralel pada Big Data

Similar to Pemrosesan Paralel pada Big Data (20)

Materi 2
Materi 2Materi 2
Materi 2
 
Cache memory
Cache memoryCache memory
Cache memory
 
Teknologi informasi - 2
Teknologi informasi - 2Teknologi informasi - 2
Teknologi informasi - 2
 
Ok 1 intro
Ok 1 introOk 1 intro
Ok 1 intro
 
Organisasi Komputer
Organisasi KomputerOrganisasi Komputer
Organisasi Komputer
 
Ok 1 intro
Ok 1 introOk 1 intro
Ok 1 intro
 
7.manajemen memory
7.manajemen memory7.manajemen memory
7.manajemen memory
 
Pengantar_Data_Mining.ppt
Pengantar_Data_Mining.pptPengantar_Data_Mining.ppt
Pengantar_Data_Mining.ppt
 
Pengantar_Data_Mining.ppt
Pengantar_Data_Mining.pptPengantar_Data_Mining.ppt
Pengantar_Data_Mining.ppt
 
Pengantar_Data_Mining.ppt
Pengantar_Data_Mining.pptPengantar_Data_Mining.ppt
Pengantar_Data_Mining.ppt
 
Kuliah pti teknik unej
Kuliah pti teknik unejKuliah pti teknik unej
Kuliah pti teknik unej
 
DATAWAREHOSEpertemuan 1.pdf
DATAWAREHOSEpertemuan 1.pdfDATAWAREHOSEpertemuan 1.pdf
DATAWAREHOSEpertemuan 1.pdf
 
3. memori jul
3. memori jul3. memori jul
3. memori jul
 
Laporan belajar perakitan komputer
Laporan belajar perakitan komputer Laporan belajar perakitan komputer
Laporan belajar perakitan komputer
 
bab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.ppt
bab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.pptbab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.ppt
bab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.ppt
 
bab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.ppt
bab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.pptbab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.ppt
bab 2 PENGENALAN DASAR KOMPUTER (PTI) PTM_3.ppt
 
Data mining week 1 - pengantar data mining
Data mining   week 1 - pengantar data miningData mining   week 1 - pengantar data mining
Data mining week 1 - pengantar data mining
 
Laporan Prakerin
Laporan PrakerinLaporan Prakerin
Laporan Prakerin
 
Proses Data Mining
Proses Data MiningProses Data Mining
Proses Data Mining
 
Prog komp - history&algorithm
Prog komp - history&algorithmProg komp - history&algorithm
Prog komp - history&algorithm
 

Pemrosesan Paralel pada Big Data

  • 1. JURUSAN TEKNOLOGI INFORMASI Mata Kuliah Big Data 03. Pemrosesan Paralel Yoppy Yunhasnawa, S.ST., M.Sc.
  • 2. Topik 2 • Serial vs Paralel • Masalah Pemrosesan Paralel • MapReduce • Daemon MapReduce 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 3. 16/02/22 3 Topik-1: Serial vs Paralel Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 4. 1. Serial vs Paralel 4 • Dari pembahasan sebelumnya kita telah memahami dua hal penting dari Big Data yaitu: • Latar belakang • Permasalahan yang bisa diselesaikan. • Latar belakang: • Jumlah data yang sangat banyak, yang dihasilkan secara eksponensial. • Banyaknya informasi dan/atau pengetahuan berharga yang bisa diekstrak dari data-data tersebut, yang menyebabkan data sangat sayang untuk dibuang. • Permasalahan: • Bagaimana menyimpannya? à Platform Big Data (Hadoop, HDFS) • Bagaimana memprosesnya? • Pada sistem konvensional à data disimpan secara terpusat à pemrosesan data dilakukan secara serial. • Pada sistem big data à Data disimpan secara terdistribusi à pemrosesan data dilakukan secara paralel. • Namun tunggu dulu: Apa bedanya simpan dan proses? 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 5. 1. Serial vs Paralel Sistem Konvensional 5 • Bila data disimpan pada satu mesin à Langsung diolah di mesin tersebut. • Bila data disimpan pada mesin-mesin lain yang terhubung dalam suatu jaringan (contohnya NAS)? • Bisa jadi datanya disalin dulu pada satu mesin, atau; • Data di-streaming • Dan diolah secara terpusat pada satu mesin. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 6. Data Node-3 Data Node-2 1. Serial vs Paralel Sistem Big Data 6 • Data dipecah (split) dan disimpan secara terdistribusi pada mesin lain sebagai data node. • Data diolah secara bersama-sama di setiap data node dan hasilnya akan disatukan. • Algoritma pemrosesan ini disebut sebagai MapReduce. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang Data Node-1 Name Node
  • 7. 16/02/22 7 Topik-2: Masalah Pemrosesan Serial Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 8. 2. Masalah Pemrosesan Serial 8 • Melakukan pemrosesan terhadap file yang besar akan membutuhkan waktu yang lama apabila dilakukan secara serial. • MapReduce adalah algoritma yang dirancang untuk melakukan pemrosesan file secara parallel. • File yang besar tersebut dipecah menjadi bagian-bagian yang lebih kecil dan diproses secara bersamaan. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 9. 2. Masalah Pemrosesan Serial Skenario Dunia Nyata 9 • Permasalahan umum dimana penggunaan teknologi Big Data salahsatunya adalah operasi agregasi yang melibatkan data yang sangat banyak. • Misalkan terdapat PT atau Group retail yang beroperasi diseluruh negeri, dan ingin mendapatkan nilai total penjualan per wilayah dari seluruh log transaksi yang ada. • Data yang ada akan sangat (sangat) banyak. • Apabila diolah secara serial, tinggal dijumlah saja dari awal hingga akhir à akan membutuhkan banyak waktu. • Begini ceritanya bila tidak menggunakan MapReduce… 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 10. 2. Masalah Pemrosesan Serial Skenario Dunia Nyata 10 • Apabila data lognya seperti di atas (tanggal, nama toko, total pendapatan), maka: • Data akan dihitung dari atas, kebawah. Nama kota didapatkan dari parsing nama toko • Pecah berdasarkan spasi, dan ambil kata pertama. • Simpan total pada setiap toko.. • Update total apabila dijumpai nama toko yang sama. Ulangi sampai semua baris terproses. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 11. 2. Masalah Pemrosesan Serial Skenario Dunia Nyata – Masalahnya… 11 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang • Memang seberapa lama sih?? • Taruhlah: • Jumlah barisnya ada 10.000.000; • Per detiknya, komputer server mampu memproses 1000 baris. • Maka untuk operasi tersebut dibutuhkan: • (1/1000 * 10000000) / 60 / 60 = 2,7 jam. • Dan ingat, itu hanya sekedar operasi agregasi sederhana saja yang berupa penjumlahan! • Belum lagi jika bicara masalah memori: • Komputer server akan kehabisan memori sebelum semua baris selesai diolah. • Kok bisa? • Karena konsep Hashtable.
  • 12. 2. Masalah Pemrosesan Serial Skenario Dunia Nyata – Hashtable 12 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang • Hashtable à Struktur data berupa array yang setiap elemennya terdiri dari key & value. • Pada kasus sebelumnya, nama kota kita jadikan sebagai key, dan nilai penjualan sebagai valuenya. • Hashtablenya akan menjadi seperti berikut: • Untuk bisa menghitung jumlah dari data-data tadi Anda harus: • Membaca data dari file à di harddisk/storage. • Dan mengubahnya menjadi hashtable atau array asosiatif dalam bentuk variable di program Anda à RAM. • Taruhlah: • Total RAM yang dibutuhkan untuk 1 barisnya sekitar 1KB saja.. • Maka untuk mengolah keseluruhan data tersebut akan dibutuhkan: • 1000 x 10.000.000 = 10 Milyar Byte = 10 GB RAM! Key Value “London” 25.99 “Miami” 12.15 “NYC” 3.0 “Miami” 50.00
  • 13. 16/02/22 13 Topik-3: MapReduce Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 14. • Pada proses perhitungan serial tadi, jika kita ibaratkan computer servernya sebagai orang, maka: • Pekerjaan tersebut seperti mempekerjakan 1 orang kasir untuk merekap seluruh penjualan pada hari ini. • Akan lama, dan kasirnya bisa stress à pekerjaan tidak selesai. 3. MapReduce 14 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang 😰
  • 15. • Dengan MapReduce, pekerjaan dikerjakan secara beramai-ramai bersama “pegawai” lainnya. • Seperti gotong royong. Berat sama dipikul, ringan sama dijinjing.. • Pegawai-pegawai tersebut akan dibagi menjadi 2 kelompok: Mappers dan Reducers. 3. MapReduce Ilustrasi 15 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang Mappers Reducers
  • 16. • Pada mulanya semua Mappers akan membaca baris-baris yang ada. Baris-baris tersebut disebar secara acak ke mapper- mapper yang ada. • Semua mappers bisa kebagian baris yang mana saja. Baris yang sudah dibaca oleh 1 mapper tidak dibaca mapper lain. • Tiap mapper akan memproses baris-baris yang merka dapatkan secara bersamaan dan dan menuliskan kota yang mana jumnlah penjualannya berapa pada satu kartu. • Di tempat mereka masing-masing, tanpa mempedulikan apa yang dikerjakan mapper lainnya.. 3. MapReduce Ilustrasi 16 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang NYC 4.10 Miami 21.99 Mappers Reducers
  • 17. • Kemudian setiap mapper akan terus bekerja sampai dengan semua baris diubah menjadi kartu. • Kartu-kartu tersebut dimasukkan ke dalam kotak kardus yang sudah ditandai dengan satu nama kota sehingga kartu yang kotanya sama akan dimasukkan ke dalam kardus yang sama. • Pada kardus selalu diupdate jumlah total setiap kali ada kartu baru yang masuk. 3. MapReduce Ilustrasi 17 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang Mappers Reducers Miami 31.59 NYC 10.14 LA NYC NYC LA Miami
  • 18. • Setelah semua mappers selesai memasukkan semua kartu kedalam kardus, maka berikutnya adalah tugas dari reducers. • Reducer ini bertindak seperti semacam pengepul. Setiap reducer memiliki tugas untuk mengumpulkan kardus-kardus bertandakan kota tertentu. • Satu kota satu reducer. • Satu reducer bisa banyak kota. 3. MapReduce Ilustrasi 18 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang Mappers Reducers Miami 31.59 NYC 10.14 LA NYC NYC LA Miami Gua NYC Gua Miami sama LA
  • 19. • Setiap Reducer kemudian mendatangi mapper-mapper yang memiliki kardus dengan nama kota yang sesuai dengan tugasnya. • Reducer yang tugasnya NYC akan mengambil kardus NYC saja. • Reducer yang tugasnya Miami dan LA akan mengambil kadus Miami dan kardus LA saja. • Setelah semua kardus terkumpul, Reducer tinggal menjumlahkan saja angka yang sudah dituliskan pada masing- masing kardus oleh para mappers sebelumnya. Penjumlahan dilakukan urut berdasarkan abjad nama kotanya. 3. MapReduce Ilustrasi – Hasil Akhir 19 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang Mappers Reducers Miami 31.59 NYC 10.14 LA NYC NYC LA Miami Gua NYC Gua Miami sama LA NYC = $300.578 Miami = $533.425 LA = $78.320
  • 20. • Misalkan key atau kardus-kardus yang dari mappers terdiri dari: Apel, Pisang, Wortel dan Anggur • Jika reducer-nya lebih dari satu, kardus mana dulu yang sampai pertama kali ke reducer? • (A) Apel, Pisang • (B) Aple, Wortel • (C) Wortel, Anggur • (D) Apel, Anggur • (E) Tidak bisa diketahui, pokoknya masing-masing reducer dapat dua. • (F) Tidak bisa diketahui 3. MapReduce Mulitple Reducer 20 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang Mappers Reducers Pisang 31.59 Apel 10.14 Wortel Apel Apel Anggur Pisang ?? ??
  • 21. • Misalkan key atau kardus-kardus yang dari mappers terdiri dari: Apel, Pisang, Wortel dan Anggur • Jika reducer-nya lebih dari satu, kardus mana dulu yang sampai pertama kali ke reducer? • (A) Apel, Pisang • (B) Aple, Wortel • (C) Wortel, Anggur • (D) Apel, Anggur • (E) Tidak bisa diketahui, pokoknya masing-masing reducer dapat dua. • (F) Tidak bisa diketahui 3. MapReduce Mulitple Reducer 21 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang Mappers Reducers Pisang 31.59 Apel 10.14 Wortel Apel Apel Anggur Pisang ?? ??
  • 22. 3. MapReduce Rangkuman 22 • Mappers adalah program-program kecil yang bertugas mengolah pecahan data yang relatif sedikit secara paralel. • Hasilnya disebut intermediate records. • Yang bentuknya berupa key-value. • Hadoop mengolah hampir semua data dengan konsep key-value. • Pada kasus ini, key-nya nama kota dan value-nya adalah jumlah pendapatan di kota tersebut. • Setelah selesai, fase berikutnya adalah tugas dari reducer yang disebut dengan shuffle & sort. • Shuffle à Reducer mengambil intermediate result dari masing-masing mappers sesuai dengan tugasnya. • Sort à Reducer mengurutkan dan menjumlahkan intermediate result berdasrkan nama kotanya. • Hasil dari fase ini adalah nilai akhir yang berupa key- value pair juga dimana: • Key à Nama kota • Value à Jumlah total pendapatan dari kota yang sama. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 23. 16/02/22 23 Topik-4: Daemon MapReduce Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 24. 4. Daemon MapReduce 24 • Daemon à Aplikasi yang berjalan di- background secara autonomous. • Tidak punya tampilan. • Seperti service kalua di Windows. • Pada Hadoop, terdapat bermacam daemon berupa kode-kode program yang berjalan sepanjang waktu pada setiap mesin dalam cluster. Dua diantaranya yang sudah kita kenal: • Daemon Name Node • Daemon Data Node • Jenis daemon lain adalah daemon penting saat kita men-submit job MapReduce: • Job Tracker • Task Tracker • MapReduce Job à Pemrosesan dengan MapReduce, seperti yang dicontohkan sebelumnya. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 25. 4. Daemon MapReduce Job Tracker 25 • Ketika kita menjalankan MapReduce: • Akan mengirimkan suatu job yang namanya Job Tracker. • Dalam bentuk program. • Yang akan dijalankan sebagai daemon. • Job ~> Keseluruhan pekerjaan. • Job Tracker-lah yang akan membagi pekerjaan menjadi mappers dan reducers. • Yang akan berjalan pada node-node yang lain pada cluster. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 26. 4. Daemon MapReduce Task Tracker 26 • Yang mengatur eksekusi pekerjaan sesungguhnya dari mappers dan reducers, adalah daemon lain yang bernama Task Tracker. • Task Tracker akan berjalan di setiap mesin yang menjadi data node, yang ikut andil dalam job saat ini. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 27. 4. Daemon MapReduce Task Tracker 27 • Karena setiap Task Tracker berada pada mesin yang sama di tempat di mana data (blok) berada: • Hadoop framework bisa memastikan data diolah secara parallel secara langsung di mesin itu juga. • Hal ini dapat menghemat sangat banyak network traffic. • Setiap mapper akan memproses Sebagian porsi data tertentu yang disebut dengan input split. • Secara default, Hadoop akan menjadikan blok yang ada pada mesin tersebut sebagai input split dari mapper yang ada di sana. • Dia akan mencoba memastikan setiap mapper bekerja pada data pada mesin yang sama. • Contoh: Jika block hijau adalah data yang akan diproses, maka task tracker di mesin yang sama yang akan dipilih untuk memrosesnya. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang • Tetapi hal tersebut kadang bisa saja tidak mungkin • Karena bisa saja semua mesin yang ada blok hijaunya, sedang busy/sibuk. • Jika hal ini terjadi, maka Task Tracker di mesin yang lain yang akan dipilih.
  • 28. 4. Daemon MapReduce Rekap 28 1. Mapers akan memproses input data. 2. Setelah selesai, akan menghasilkan intermediate data. 3. Lalu hadoop akan melemparkannya ke reducers. • Shuffle & Sort 4. Reducers memroses data tersebut dan mendapatkan hasil akhir. 5. Reducers menuliskan hasil akhirnya ke HDFS. 16/02/22 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 31. Pertanyaan? 16/02/22 31 Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 32. 16/02/22 32 Terima Kasih Jurusan Teknologi Informasi - Politeknik Negeri Malang
  • 33. Latihan • Buatlah laporan yang berisi: • Ilustrasi contoh kasus lain selain penghitungan total penjualan tadi. • Baca, pahami, tuliskan ulang dengan Bahasa Anda sendiri. • Sertakan sumbernya. • Kumpulkan di Google Classroom. 16/02/22 33 Jurusan Teknologi Informasi - Politeknik Negeri Malang