39 F. Data Anggregation and Representation Data mungkin tersebar di beberapa kumpulan data, sehingga mengharuskan kumpulan data digabungkan melalui satu kolom data, misalnya tanggal atau ID sehingga metode rekonsiliasi data diperlukan. Data Aggregation and Representation atau agregasi dan representasi data diperlukan untuk mengintegrasikan beberapa dataset (sekumpulan data) menjadi satu bentuk. Proses integrasi tak jarang memunculkan beberapa situasi yang kompleks karena terjadi perbedaan pada struktur data dan semantiknya. Volume besar yang diproses untuk solusi Big Data Analytics dapat membuat agregasi data menjadi operasi yang memakan waktu dan tenaga. Gambar 3 Contoh Proses Agregasi Data dari Dua Dataset menjadi Satu Dataset Berdasarkan Gambar 3, proses agregasi data diguanakan untuk menyatukan dua atau lebih dataset yang memiliki struktur yang berbeda agar dapat digunakan secara bersamaan. Tak jarang hasil agregasi data digunakan dengan melakukan representasi data dalam bentuk summary agar mudah diolah dan digunakan dalam proses analisis. Representasi dilakukan karena jumlah data yang besar terkadang sulit untuk dilakukan analisis, sehingga perlu disederhanakan demi memfasilitasi proses analisis.
40 - G. Data Analysis Setelah selesai proses pembersihan dan agregasi data, maka analisis dapat dilakukan. Analisis pada data didedikasikan untuk melaksanakan tugas analisis sebenarnya, yang biasanya melibatkan satu atau lebih jenis analisis. Tahap ini dapat bersifat berulang, terutama jika analisis data bersifat eksploratif, yang mana analisis diulangi hingga pola atau korelasi yang sesuai ditemukan. Gambar 4. Analisis Data sebagai Proses Eksplorasi dan Konfirmasi Dataset (Erl, et al., 2015) Data analisis dapat digunakan untuk melakukan konfirmasi ataupun untuk eksplorasi yang akhirnya akan terhubung kepada data mining dari dataset seperti yang digambarkan pada Gambar 4. Menurut Thomas Erl dan Wajid Khattak, Paul Buhler (2015), analisis data konfirmatori merupakan pendekatan deduktif dimana penyebab dari fenomena yang diselidiki telah dikemukakan sebelumnya. Penyebab atau asumsi yang diajukan disebut hipotesis. Data tersebut kemudian dianalisis untuk membuktikan atau menyangkal hipotesis dan memberikan jawaban pasti atas pertanyaan spesifik. Analisis data eksplorasi merupakan pendekatan induktif yang terkait erat dengan penambangan data. Tidak
41 ada hipotesis atau asumsi yang telah ditentukan sebelumnya yang dihasilkan. Sebaliknya, data dieksplorasi melalui analisis untuk mengembangkan pemahaman tentang penyebab fenomena tersebut. Meskipun mungkin tidak memberikan jawaban yang pasti, namun metode ini memberikan arahan umum yang dapat memudahkan penemuan pola atau anomali. H. Data Visualization Tahap kedelapan dalam siklus hidup Big Data Analytics adalah visualisasi data. Visualisasi data merupakan Teknik yang digunakan untuk merepresentasikan dan mempresentasikan data agar mudah dipahami oleh pembaca untuk memperoleh insight dengan memanfaatkan kemampuan visual analisisnya. Jumlah data yang besar akan sulit perolehan informasinya sehingga akan memerlukan proses yang lama untuk menggali pengetahuan atau insight dari data. Kemampuan untuk menganalisis data dalam jumlah besar dan menemukan insight yang berguna tidak akan ada gunanya jika satusatunya yang dapat menafsirkan hasilnya adalah hanya para analis. Tahap Visualisasi Data didedikasikan untuk menggunakan teknik dan alat visualisasi data untuk mengkomunikasikan hasil analisis secara grafis untuk interpretasi yang efektif oleh pengguna bisnis. Pengguna bisnis harus mampu memahami hasil analisis data agar memperoleh nilai dan kemampuan dalam memberikan umpan balik, seperti yang ditunjukkan pada Gambar 1, garis putus-putus mengarah dari tahap 8 kembali ke tahap 7 dalam bentuk rekursif. Oleh karena itu, penting
42 - untuk menggunakan teknik visualisasi yang paling sesuai dengan menjaga domain bisnis tetap sesuai konteks. I. Utilization of Analysis Results Hasil analisis dapat dimanfaatkan oleh pengguna untuk mendukung dalam proses pengambilan Keputusan. Hasil analisis dapat dibuat menjadi sebuah dashboard yang menyajikan berbagai visualisasi sehingga membantu dalam mempercepat menemukan informasi. Bergantung pada masalah analisis yang ditangani, hasil analisis dapat g_hab[mcfe[h ‚gi^_f‛ s[ha g_l[haeog q[q[m[h ^[h pemahaman baru tentang sifat pola dan hubungan yang ada dalam data yang dianalisis. Sebuah model mungkin terlihat seperti persamaan matematika atau seperangkat aturan. Model dapat digunakan untuk meningkatkan logika proses bisnis dan logika sistem aplikasi, dan model tersebut dapat menjadi dasar sistem atau program perangkat lunak baru. Area umum yang dieksplorasi selama tahap ini mencakup hal-hal berikut: 1. Masukan untuk Sistem Perusahaan – Hasil analisis data dapat secara otomatis atau manual dimasukkan langsung ke dalam sistem perusahaan untuk meningkatkan dan mengoptimalkan kinerja. 2. Optimasi Proses Bisnis – Pola, korelasi, dan anomali yang teridentifikasi yang ditemukan selama analisis data digunakan untuk menyempurnakan proses bisnis. 3. Peringatan – Hasil analisis data dapat digunakan sebagai masukan untuk peringatan yang sudah ada atau dapat menjadi peringatan baru
43 A. Pengantar Visualisasi Big Data Visualisasi adala suatu proses mentransformasikan informasi ke dalam bentuk visual, yang memungkinkan pengguna untuk mengobservasi informasi (Diehl, 2010). Hasil dari visualisasi membantu pengguna melihat secara visual fitur – fitur yang tersembunyi dalam suatu data. Visualisasi digunakan untuk memberikan atau mengkomunikasikan data secara jelas, mudah, dan efektif melalui sarana grafis. Penerapan visualisasi big data digunakan di berbagai sektor secara luas, di bidang kesehatan (Carmeli, Meloney and Bierer, 2023), pertanian, transportasi, keuangan, hingga dalam analisis evolusi perangkat lunak (Nabilah and Sunindyo, 2019). Pemanfaatan visualisasi data sangat penting untuk membantu individu dalam melihat, mengelola dan memahami data, mulai dari data yang sedikit hingga data kompleks. Visualisasi yang tepat mampu memberikan pemahaman untuk semua kalangan terlepas dari tingkat
44 - keahlian dan kemampuan masing-masing individu. Sebagai makhluk visual, manusia dapat memproses gambar 60.000 lebih cepat dibanding teks biasa. Penggunaan visualisasi data berpotensi untuk membantu pengambilan keputusan (Vázquez-Ingelmo et al., 2024). Dengan meningkatnya penggunaan big data, visualisasi muncul sebagai salah satu metode utama dalam memahami miliaran baris data yang dihasilkan setiap hari. Visualisasi data membantu dalam penyampaian informasi dengan mengatur data dalam format yang mudah dipahami dan memperlihatkan tren dan outlier. B. Prinsip Dasar Visualisasi Big Data Visualisasi big data memeliki beberapa prinsip dasar dalam pembuatan atau penyajiannya. Prinsip yang harus diperhatikan diantaranya: 1. Relevansi. Visualisasi data haruslah berkaitan dengan tujuan analisis data. Setiap komponen visual harus meningkatkan pemahaman data yang diamati dan menawarkan informasi mendalam. 2. Konsistensi. Ketika prinsip-prinsip desain diterapkan secara konsisten, informasi lebih mudah dipahami dan ditafsirkan oleh pengguna. Termasuk dalam penggunaan warna, skala, dan komponen visual lainnya secara konsisten. 3. Kesederhanaan. Visualisasi harus lugas dan mudah dipahami, meskipun data yang ditampilkan kompleks. Prinsip ini membantu menghilangkan kebingungan dan
45 menjamin bahwa pesan yang ingin disampaikan dapat dipahami oleh pengguna. 4. Penyajian yang tepat. Pemilihan grafik yang tepat dalam melakukan visualisasi data adalah hal penting. Grafik sebaiknya dipilih berdasarkan jenis data dan pesan yang ingin disampaikan kepada pengguna. Penggunaan label yang tepat juga penting untuk memastikan interpretasi yang akurat. C. Jenis dan Kategori Visualisasi Big Data Visualisasi ditampilkan melalui grafik (chart). Chart tidak hanya sekedar elemen visual dari suatu data saja, namun juga memiliki fungsi – fungsi tertentu. Fungsi chart diantara lain untuk: 1. Relationship, digunakan jika ingin melihat keterhubungan antara suatu variabel dengan variabel lain. Misalnya ingin melihat apabila variabel A semakin tinggi, apakah variabel B juga semakin tinggi, atau justru lebih rendah, atau tidak ada keterhubungannya. Visualisasi yang biasa digunakan untuk tujuan ini adalah scatter-plot. 2. Comparison, digunakan jika ingin membandingkan suatu nilai dengan nilai lainnya, melihat mana yang lebih besar, mana yang lebih tinggi, dan sebagainya. Untuk data yang terkait dengan waktu, visualisasi yang digunakan biasanya berupa line-chart. Sedangkan, jika yang dibandingkan adalah tipe kategorikal, maka lebih cocok menggunakan bar-chart.
46 - 3. Distribution, digunakan jika ingin melihat distribusi/persebaran data pada suatu variabel. Visualisasi yang lazim digunakan adalah histogram. Dapat melihat apakah datanya banyak terkumpul di nilai-nilai kecil, berat di kanan, atau simetris, ataupun berdistribusi normal. Untuk melihat distribusi pada dua variabel, scatterplot juga bisa digunakan. 4. Composition, digunakan untuk melihat komposisi dari suatu variabel, jika dirincikan terhadap suatu dimensi data. Visualisasi yang biasa digunakan adalah stacked bar-chart untuk data kategorikal, atau stacked linechart untuk data terkait waktu. Gambar 4. Guideline Memilih Chart Sumber: (My Skill, 2023) Pada Gambar 1 dapat dilihat bahwa masing – masing tujuan visualisasi memiliki chart masing – masing. Beberapa jenis chart yang umum digunakan yaitu:
47 a. Grafik Batang (Bar Chart). Digunakan untuk membandingkan nilai dari data kategorial. Gambar 5. Bar chart b. Histogram. Menampilkan distribusi frekuensi data numerik, khususnya data kontinu. Gambar 6. Histogram Sumber: (My Skill, 2023)
48 - c. Grafik garis (Line chart). Menampilkan trend data Gambar 7. Line chart d. Grafik lingkaran (Pie chart). Menampilkan kontribusi dari data kategorikal Gambar 8. Pie Chart
49 e. Grafik sebar (Scatterplot). Menampilkan sebaran dan hubungan dari 2 variabel tertentu. Gambar 9. Scatterplot Sumber: (My Skill, 2023) f. Grafik kotak-garis (Boxplot). Menampilkan distribusi data numerik dan pencilan (outlier) pada data. Gambar 10. Boxplot Sumber: (My Skill, 2023)
50 - g. Heatmap. Menampilkan kejadian khusus tertentu pada suatu lokasi di dalam data dengan kode warna yang berbeda. Gambar 11. Heatmap Sumber: (My Skill, 2023) h. Combo Axis. Dapat menggabungkan antara column chart dengan line chart, sehingga mendapatkan dua informasi sekaligus. Gambar 12. Combo Axis Sumber: (My Skill, 2023)
51 i. Map. Menampilkan distribusi dan komposisi data spasial. Gambar 13. Map Sumber: (Kominfo, 2020) D. Alat dan Teknologi Visualisasi Saat ini sudah banyak alat visualisasi data yang dapat membantu dalam menyajikan data sesuai kebutuhan pengguna. Beberapa alat atau aplikasi yang paing banyak digunakan yaitu Microsoft Power BI, Tableau, dan Looker. E. Langkah – langkah dalam Membuat Visualisasi Beberapa tahapan melakukan visualisasi data yaitu: 1. Menentukan tujuan yang ingin dicapai. Perlu diperhatikan apa tujuan dari visualisasi data, apakah untuk melihat trend penjualan? Melihat komposisi suatu variabel? melihat hubungan atar variabel? atau lainnya.
52 - 2. Memahami data yang dimiliki dan audiennya. Pahami data yang akan divisualisasikan agar dapat menyajikan data yang tepat serta pahami siapa audiens target yang akan melihat visualisasi data, agar dapat menyajikan data dengan cara yang sesuai dengan kebutuhan dan pemahaman audien. 3. Mengumpulkan dan Membersikan data. Menyiapkan data yang akan divisualisasikan. Bersihkan data dari missing value atau data yang tidak relevan, serta pastikan format sudah sesuai dengan kebutuhan visualisasi. 4. Memilih grafik atau plot yang sesuai dengan tipe data yang dimiliki. Berdasarkan tujuan visualisasi dan jenis data yang dimiliki, pilihlah jenis visualisasi yang paling tepat. Misalnya, diagram batang sesuai untuk membandingkan kategori, sedangkan map cocok untuk distribusi dan komposisi spasial. 5. Buat visualisasi. Visualisasi data dapat dibuat dengan menggunakan aplikasi visualisasi. Ada beberapa aplikasi yang juga mendukung proses pre-processing data sebelum data siap untuk divisualisasikan. 6. Penyampaian visualisasi kepada pengguna diberikan dengan lugas, menarik, dan mudah dibaca.
53 enurut Statistik Big Data (bigdataanalyticsnews.com), volume data yang dibuat di seluruh dunia pada tahun 2024 diperkirakan mencapai 147 zettabytes. Data yang dibuat ini diperkirakan mencapai 181 zettabytes pada akhir tahun 2025. Pertumbuhan data tersebut mencakup data dari sumber internal dan eksternal seperti transaksi, media sosial, konten perusahaan, sensor, dan mobile devices, IoT, remote sensing, software logs, cameras, RFID readers, dll. Data-data yang berasal dari berbagai sumber tersebut mencakup data yang terstruktur maupun tidak terstruktur. Hal ini menandakan bahwa karakteristik struktur data di era big data ini sangat komplek (Peter K. Ghavami, 2016). Seiring dengan variasi data yang kompleks, struktur data yang diproses memungkinkan data sering berubah sehingga sistem basis data harus mendukung evolusi skema dan dapat beradaptasi dan mampu menangani struktur data tanpa skema. Kompleksitas struktur data yang ada memberikan tantangan baru dalam menciptakan skema yang independen atau M
54 - schemeless. Konsep schemeless ini memungkinkan data dapat disusun dengan cara apapun tanpa mematuhi format yang ditentukan. Selain itu, data dengan tipe data yang sama dapat direpresentasikan dengan berbeda walaupun dalam kumpulan data yang sama. Dengan jumlah data yang sangat besar, skalabilitas arsitektur basis data dimungkinkan untuk dapat tersebar di banyak server yang saling terkoneksi. Konsep scalability ini terbagi menjadi dua tipe, yaitu horizontal scaling dan vertical scaling. Penskalaan secara horizontal merupakan suatu proses meningkatkan atau menambahkan jumlah node atau mesin yang memiliki performa yang sama pada kumpulan server. Pada proses ini, penyimpanan data akan disebar ke seluruh server sehingga setiap server mempunyai data yang berisi data yang sebagian. Konsep ini biasanya digunakan untuk manajemen basis data non relasional. Sedangkan penskalaan secara vertikal merupakan suatu proses menambahkan CPU atau RAM untuk meningkatkan daya/performa server/mesin yang ada. Dengan konsep ini, data berada pada single node. Konsep penskalaan vertikal ini lebih sederhana dibandingkan dengan penskalaan horizontal dan biasanya digunakan pada basis data dengan skema relasional. Selain itu, kebergantungan pengguna terhadap suatu aplikasi atau sistem di era ini membuat banyak pengguna mengharapkan situs-situs web atau aplikasi-aplikasi pada perangkat mobile selalu tersedia kapan pun saat ingin menggunakannya. Sehingga aplikasi atau sistem harus selalu available. Sejalan dengan hal ini, berdasarkan sudut pandang organisasi, kebutuhan biaya (cost) lisensi pada basis data menjadi pertimbangan dalam berinvestasi membangun
55 arsitektur basis data RDBMS yang sangat bergantung pada banyaknya pengguna. Persoalan ini dapat dihindari ketika perancangan sistem basis data beralih ke sistem open source. Berdasarkan fenomena-fenomena ini, salah satu tantangannya adalah bagaimana mengelola data yang sangat besar dan kompleks sehingga diperlukan bentuk pemrosesan basis data yang baru yang memungkinkan pengambilan keputusan yang lebih baik, penemuan wawasan, dan optimalisasi proses (Douglas, 2012). Manajemen data untuk menangani ini tentunya berbeda dengan manajemen data tradisional yang konfigurasinya dibuat untuk beragam data dengan skala besar. Konfigurasi data yang dimaksud adalah pengelolaan data secara distribusi dengan skema basis data yang baru seperti menggunakan basis data NoSQL (Loshin, 2013). A. NoSQL Definisi dari NoSQL pertama kali digunakan pada tahun 1998 oleh Carlo Strozzi, NoSQL dinamai sebagai basis data yang terbuka (open source), ringan (lightweight), dan tidak menggunakan query SQL. Kemudian istilah ini muncul pada tahun 2009 ketika Eric Evans dan Johan Oskarsson menggambarkannya sebagai basis data non-relasional. Basis ^[n[ NiSQL \_l[lnc ‚Nin Ohfs SQL‛ [n[o ‚nc^[e b[hs[ SQL‛. Definisi tersebut menekankan fakta bahwa beberapa sistem mungkin mendukung query mirip SQL (Sadalage and Fowler, 2012). Perkembangan basis data NoSQL dimulai pada awal tahun di abad ke-21 ketika perkembangan teknologi mulai fokus pada pembuatan basis data untuk basis data pada skala web (web-scale database). Basis data web-scale ini
56 - merupakan basis data yang melayani skala ratusan hingga miliaran data (big data) yang berasal dari pengguna yang saling terhubung pada network (web) seperti internet maupun data yang berasal dari perangkat elektronik. Istilah basis data NoSQL ini mencakup beberapa hal antara lain: 1. Memiliki model basis data selain dengan menggunakan tabel relasional konvensional 2. Mendukung akses terprogram ke sistem basis data atau bahasa SQL selain dengan SQL pada basis data relasional 3. Dapat mengatasi dan menangani evolusi skema basis data tanpa skema secara formal (schemeless) 4. Mendukung distribusi data dalam jaringan scalability 5. Konsep transaksi BASE (Basically Available, Soft State, Eventually Consistent) merupakan konsep transaksi yang berlaku pada NoSQL. Berikut adalah penjelasan mengenai prinsip BASE (Basically Available, Soft State, Eventually Consistent). a. Basically Available artinya, pada sistem basis data mungkin terjadi kegagalan proses di beberapa bagian sistem terdistribusi tetapi server lain dari sistem tetap berfungsi sebagai backup untuk merespon permintaan dari pengguna. b. Soft State, artinya data pada sistem tidak harus konsisten setiap saat adakalanya keadaan data pada sistem berubah seiring waktu. Hal ini mengacu pada fakta bahwa data pada akhirnya dapat ditimpa dengan data yang lebih baru agar semua server mempunyai data yang konsisten. Properti ini
57 tumpang tindih dengan properti ketiga transaksi BASE yaitu eventually consistent. c. Eventually Consistent, artinya mungkin ada saatnya basis data berada di dalam keadaan yang tidak konsisten. Misalnya, beberapa basis data NoSQL menyimpan banyak salinan data di beberapa server. Namun, ada kemungkinan bahwa banyak salinan tersebut mungkin tidak konsisten dalam jangka waktu singkat. Hal ini dapat terjadi ketika pengguna atau program memperbarui satu salinan data dan salinan lainnya tetap memiliki versi data yang lama. Basis data NoSQL menyediakan mekanisme penyimpanan data dengan struktur yang sederhana. Hal ini memudahkan developer dalam memilih arsitektur data yang sesuai dengan data yang mereka miliki. Basis data ini dapat disusun dalam bentuk pohon (tree), kolom (column), graf (graph), atau pasangan kunci (Keys-values) yang sederhana dan sangat scalable. Arsitektur basis data ini dibangun dengan sistem data terdistribusi yang memudahkan untuk direplikasi. Selain itu, basis data ini mendukung query yang mirip dengan SQL (Sullivan, 2015). B. Teori CAP Teori CAP dikenal sebagai teori Brewer yang menyatakan bahwa basis data terdistribusi tidak dapat memiliki konsistensi (Consistency), ketersediaan (Availability), dan perlindungan partisi (Partition Tolerance) pada saat yang bersamaan. Teori ini dipresentasikan pada tahun 1998 di Universitas California dan dipublikasikan
58 - pada tahun 1999 (Nancy Lynch et al, 2000). Maksud dari tiga karakteristik teori CAP ini adalah sebagai berikut: 1. Consistency (Konsistensi) dalam hal ini berarti salinan data yang konsisten pada server yang berbeda sehingga pengguna harus membaca data yang sama. Prinsip ini mirip dengan konsep Atomic pada transaksi ACID. 2. Availability (ketersediaan) mengacu pada penyediaan respons terhadap pertanyaan apa pun dan kapan pun. 3. Partition Tolerance (Perlindungan partisi) berarti jika jaringan yang menghubungkan dua atau lebih server database gagal, server akan tetap tersedia dengan data yang konsisten. Selain itu, pengoperasian permintaan atau penulisan data ke basis data akan selesai meskipun masing-masing komponen tidak tersedia. Ketika terjadi gangguan pada salah satu server, server lain tidak akan terpengaruh. Menurut Brewer, sebuah sistem terdistribusi ini hanya mendukung dua karakteristik dari teori ini seperti yang digambarkan pada Gambar 1. 1. Consistent and Availability Kondisi sistem dengan karakteristik Consistent dan Availability menggambarkan sistem akan selalu mempunyai data yang sama/konsisten pada semua server dan tersedia selama tidak ada gangguan. Apabila ada permintaan berupa write atau read dan koneksi antar node terganggu maka sistem tidak akan berfungsi. Basis data yang mempunyai karakteristik ini adalah RDMBS (MySQL, Postgres, dll), Aster Data, Greenplum, Vertica, dll.
59 Gambar 1. Ilustrasi sistem basis data dengan karakteristik teori CAP 2. Availability and Partition Tolerance Sistem dengan karakteristik ini mempunyai masalah dengan konsistensi. Apabila permintaan write dan komunikasi antar node terganggu data akan tetap dituliskan ke basis data melalui salah satu node. Dengan demikian, ketika ada pencarian data pada node yang lain mungkin saja data tidak ditemukan. Namun, setelah komunikasi antar node sudah terjadi kembali kita akan mendapatkan data yang sama karena data sudah diupdate pada setiap nodanya. Hal menggambarkan konsep transaksi eventually consistent. Contoh basis data yang mempunyai karakteristik ini adalah Cassandra dengan model data column oriented, Simple DB, CouchDB, Riak dengan model data document oriented. Selain itu, basis data Dynamo, Voldemort, Tokyo Cabinet, KAI dengan model keyvalue.
60 - 3. Consistent and Partition Tolerance Pada sistem dengan karakteristik Consistent dan Partition Tolerance apabila terjadi permintaan write dan sedang terjadi permasalahan antar node, maka data tidak akan dituliskan ke database karena sistem ini memilih konsistensi data. Ketika komunikasi antar semua node aman maka data dapat ditulis ke node lainnya. Adapun untuk proses read sistem masih dapat memberikan data yang diminta walaupun komunikasi antar sedang terganggu. Contoh basis data dengan karakteristik ini antara lain: (i) Basis data dengan model column-oriented seperti BigTable, Hypertable, dan Hbase, (ii) Basis data dengan model document-oriented seperti MongoDB dan Terrastore, (iii) Basis data dengan model key-value seperti Berkeley DB, Memcache DB, dan Redis. C. Model Basis Data No SQL Model basis data NoSQL yang banyak digunakan saat ini antara lain: 1. Key Value Stores Basis data jenis Key value store merupakan bentuk basis data yang paling sederhana. Basis data ini mempunyai model yang terdiri dari dua komponen yaitu keys dan values seperti yang digambarkan pada Gambar 2. Salah satu hal yang penting dari penyimpanan key-value adalah key yang digunakan pada penyimpanan ini harus bersifat unik.
61 Keys merupakan pengenal (identifiers) yang berhubungan dengan values. Analogi dari sebuah Keys adalah sebuah tag yang terikat pada koper atau tas untuk memeriksa bagasi di bandara. Tag ini memiliki pengenal yang berhubungan dengan informasi bagasi. Sedangkan Values adalah data yang disimpan bersama dengan keys. Values dapat berbentuk data yang sederhana seperti sebuah string, contohnya nama penumpang atau data numerik seperti berat bagasi. Jenis operasi yang dapat dibentuk dari sebuah penyimpanan berbasis key-value adalah get(key), put(Key, value), multi-get(key1,key2..,keyN), dan Delete(key). Keuntungan menggunakan jenis basis data keyvalue diantaranya adalah memberikan kemudahan kepada developer untuk membuat penyimpanan data yang lebih flexible. Selain itu, basis data tipe key values dapat dengan mudah didistribusikan ke beberapa server database; oleh karena itu, penyimpanan keys p[fo_ ]i]ie ohnoe [jfce[mc s[ha \_lmc`[n ‚chn_hmc` ^[n[‛. Aplikasi intensif data merupakan aplikasi yang menangani data dalam jumlah besar (beberapa terabyte dan petabyte) yang kompleks dan didistribusikan ke berbagai lokasi (Kleppmann, 2017). Selain itu, aplikasi yang umum menggunakan model ini adalah session management, keranjang belanja pada online shop, caching untuk menyimpan data temporary contohnya untuk menyimpan berita/feed yang sering diakses. Amazon DynamoDB, Aerospike, Berkeley DB, Couchbase, Memcached, Redis dan Riak merupakan basis data dengan model key-value.
62 - Gambar 2 Contoh Basis Data Key-Value 2. Document Stores Basis data dengan model document store merupakan basis data yang menggunakan pendekatan model basis data key-values untuk menyimpan data. Pada model ini, values yang disimpan adalah berbentuk dokumen. Dalam hal ini, dokumen yang disimpan merupakan entitas semi terstruktur yang biasanya disajikan dalam format JSON (JavaScript Object Notation), Extensible Markup Language (XML), BSON, atau YML. Dengan format data seperti ini, pengaksesan data dilakukan melalui protokol HTTP melalui protokol Apache Thrift. Data Contoh 1 dan Contoh 2 merupakan contoh data yang tersimpan pada model document-based dalam bentuk format JSON. Dua dokumen yang disajikan pada contoh mempunyai perbedaan dari fields/kolom. Pada dokumen pertama, data pegawai yang disajikan hanya singkat terbatas pada data id pegawai, nama pegawai, umur, dan gaji sedangkan pada dokumen kedua terdapat detail data alamat beserta projek yang dikerjakan oleh pegawai tersebut.
63 Contoh 2 data pegawai dengan model documentbased Perbedaan struktur kedua dokumen ini jika dirancang pada basis data relasional tidak akan dapat memenuhi standar model relasional karena seluruh records yang ada pada sebuah tabel pada model relasional mempunyai kolom yang sama. Salah satu karakteristik terpenting dari model ini adalah tidak memerlukan skema yang tetap. Jika ada data yang perlu
64 - ditambahkan, data tersebut dapat langsung ditambahkan tanpa mempengaruhi data yang sebelumnya. Basis data ini memberikan fleksibilitas dalam perubahan struktur bahkan perancangan basis data tanpa skema. Karena hal ini, model basis data ini menjadi salah satu model yang paling populer untuk digunakan (Gaurav Vaish, 2013). Beberapa basis data yang populer yang disajikan dengan model ini antara lain MongoDB, CouchDB, Jackrabbit, Lotus Note, Terrastore, Redis, dan BaseX. 3. Column-Family Store Basis data column-family mungkin merupakan model basis data NoSQL yang paling kompleks setidaknya dalam hal strukturnya. Pada basis data ini terdiri dari beberapa istilah yang mirip dengan basis data relasional seperti baris dan kolom. Struktur dari basis data column-family terdiri dari kumpulan column-family seperti yang digambarkan pada Gambar 3. Column-family pada RDBMS biasanya disebut dengan tabel. Setiap column-family memiliki baris atau row dan setiap baris mempunyai kolom yang terdiri dari pasangan nama dan value. Pada basis data column-family, kolom pada setiap baris data akan berbeda. Berbeda halnya dengan basis data relasional yang mempunyai kolom yang sama untuk setiap baris datanya. Basis data column-family biasanya didenormalisasi, atau terstruktur sehingga semua informasi relevan tentang suatu objek berada dalam satu baris, yang mungkin sangat lebar (Wiese,
65 2015). Salah satu contoh basis data model ini adalah Cassandra. Gambar 3. Contoh Basis Data Column-family 4. Graph Stores Basis data graf merupakan model data yang paling spesial dari empat basis data NoSQL. Basis data graf mempunyai struktur yang disebut node, relationship, dan properties. Dalam hal ini, istilah pada basis data ini mirip dengan konsep graf yang memiliki simpul (vertices) dan sisi (edge) seperti yang diilustrasikan pada Gambar 4. Gambar 4. Graf sederhana dengan dua simpul dan satu sisi. Sebuah node atau simpul adalah objek yang memiliki identifier dan sekumpulan atribut. Sebuah relasi adalah hubungan antara dua node yang berisi atribut/properti tentang relasi tersebut. Suatu hubungan selalu mempunyai arah dari node awal ke
66 - node akhir. Berikut adalah contoh dari basis data graf tentang relasi pertemanan. Gambar 5. Contoh model data graf relasi person to person (Bryce Merkl Sasaki, 2018) Cypher dan SPARQL adalah bahasa deklaratif yang dirancang untuk basis data graf. Bahasa Cypher yang terdiri dari simpul dan sisi sedangkan SPARQL merupakan query yang dapat digunakan untuk data graf dengan format RDF. Contoh basis data yang mempunyai model graf antara lain Neo4j, HyperGraph, orientDB, GraphQL DEX, Affinity Graph.
67 A. Pengertian dan Tujuan EDA Exploratory Data Analysis (EDA) merupakan proses kritis dalam melakukan penyelidikan awal pada data untuk menemukan pola, menemukan anomali, menguji hipotesis, dan memeriksa asumsi dengan bantuan statistik dan visualisasi data. EDA membantu menentukan cara terbaik memanipulasi sekumpulan data untuk mendapatkan jawaban yang dibutuhkan, sehingga memudahkan data scientist menemukan pola, menemukan anomali, menguji hipotesis, atau memeriksa asumsi (Tukey, 1977). Berbagai jenis data, di antaranya data numerik, kategorikal, dan teks, dapat dianalisis menggunakan EDA. Adapun tujuan EDA adalah sebagai berikut: 1. Melakukan EDA dapat memastikan apakah data yang dikumpulkan dapat diterapkan dalam konteks masalah yang dihadapi. Jika tidak, data atau strategi yang akan digunakan untuk menganalis data perlu diubah.
68 - 2. EDA dapat membantu dan menyelesaikan masalah kualitas data, seperti duplikat, data yang hilang, nilai yang salah, serta tipe data dan anomali. 3. EDA memainkan peran penting dalam mengekstraksi insights yang bermakna dari data dengan menunjukkan nilai ukuran statistik utama seperti mean, median, dan standar deviasi. 4. Seringkali, beberapa nilai menyimpang secara signifikan dari nilai standar; ini merupakan sebuah anomali yang harus diverifikasi sebelum data dianalisis. Jika tidak dikendalikan, hal ini dapat menimbulkan kekacauan dalam analisis, sehingga menyebabkan kesalahan perhitungan. Oleh karena itu, salah satu tujuan EDA adalah menemukan outlier dan anomali dalam data. 5. EDA mengungkap perilaku variabel ketika digabungkan, membantu data scientist dalam menemukan pola, korelasi, dan interaksi antara variabel-variabel tersebut dengan memvisualisasikan dan menganalisis data. Informasi ini berguna dalam membuat model kecerdasan buatan (AI). 6. EDA membantu menemukan dan menghapus kolom yang tidak diinginkan dan mendapatkan variabel baru. Dengan demikian, hal ini dapat membantu dalam menentukan variabel mana yang paling penting untuk memperkirakan variabel target. Dengan kata lain, EDA membantu dalam pemilihan variabel yang akan disertakan dalam pemodelan. 7. Berdasarkan karakteristik data, EDA dapat membantu dalam mengidentifikasi teknik pemodelan yang tepat.
69 B. Teknik dan Tools EDA 1. Teknik EDA Umumnya EDA dilakukan dengan beberapa cara, antara lain analisis univariat, analisis bivariate, dan analisis multivariate (Blanchette, 2015). Univariate analysis atau analisis univariat adalah metode sederhana namun mendasar untuk menguji informasi dengan menggunakan berbagai grafik untuk mendapatkan insights tentang distribusi variabel tunggal. Analisis univariat berfokus pada mencari tahu distribusi atau pola yang mendasari data dan menyebutkan fakta obyektif tentang populasi. Teknik ini memungkinkan kita memperoleh pemahaman cepat tentang bentuk, kecenderungan sentral, penyebaran, modalitas, kemiringan, dan outlier dari data yang kita pelajari. Contoh analisis univariat antara lain histogram (untuk menampilkan sebaran data), boxplot (untuk menampilkan outlier), dan ringkasan statistik setiap variabel. Analisis Bivariat merupakan nalisis hubungan antara dua variabel. Analisis bivariat bertujuan untuk menentukan apakah terdapat hubungan statistik antara kedua variabel dan, jika ada, seberapa kuat dan ke arah mana hubungan tersebut.. Analisis ini mengeksplorasi hubungan dua variabel serta kedalaman hubungan tersebut untuk mengetahui apakah ada perbedaan antara dua variabel dan apa penyebab perbedaan tersebut. Ada banyak jenis analisis bivariat yang dapat digunakan untuk menentukan hubungan dua variabel,
70 - antara lain scatterplot, korelasi, regresi, t-test, ANOVA, dan Chi-square test. Analisis Multivariat adalah teknik yang digunakan untuk mengeksplorasi hubungan antara dua variabel atau lebih menggunakan grafik. Analisis ini berguna untuk mengidentifikasi pola dan hubungan antar variabel. Analisis ini juga sangat bermanfaat ketika ada banyak variabel dalam kumpulan data, dan kita ingin melihat keterkaitannya. Analisis ini mencakup visualisasi seperti matriks korelasi (untuk melihat korelasi antar pasangan variabel), analisis regresi (untuk memahami pengaruh suatu variabel terhadap variabel lain), dan plot sebar matriks (untuk melihat bagaimana beberapa variabel berinteraksi). 2. Tools EDA Adapun tools yang dapat digunakan untuk mengerjakan EDA dikelompokkan menjadi beberapa, yaitu software untuk analisis statistika, software data visualisasi, software business intelligence, dan software untuk data mining. Software statistik khusus seperti R atau Python serta paketnya menawarkan tools analisis statistik yang canggih, termasuk analisis regresi, pengujian hipotesis, dan analisis time series. Software ini memungkinkan pengguna untuk menulis fungsi yang disesuaikan dan melakukan analisis statistik yang kompleks pada kumpulan data yang besar. Sementara untuk software visualisasi seperti Tableau, Power BI, atau QlikView memungkinkan
71 pengguna membuat visualisasi data yang interaktif dan dinamis. Alat-alat ini membantu pengguna mengidentifikasi pola dan hubungan dalam data, sehingga memungkinkan pengambilan keputusan yang lebih tepat. Tools data mining seperti KNIME, RapidMiner atau Weka menyediakan berbagai fungsi, termasuk pemrosesan awal data, pengelompokan, klasifikasi, dan penambangan aturan asosiasi. Alat-alat ini sangat berguna untuk mengidentifikasi pola dan hubungan dalam kumpulan data besar dan membangun model prediktif. C. Langkah-Langkah dalam EDA Langkah-langkah umum dalam EDA menurut Blanchette (2015) adalah sebagai berikut. 1. Pengumpulan data Pengumpulan data adalah bagian penting dari EDA. Langkah ini mengacu pada proses menemukan dan memuat data ke dalam sistem yang akan kita digunakan. Data yang baik dan reliabel dapat ditemukan di berbagai situs publik atau dibeli dari organisasi swasta. Beberapa situs pengumpulan data antara lain Kaggle, Github, dan Machine Learning Repository. 2. Menentukan Variabel dan Memahaminya Ketika proses analisis dimulai, fokus pertama adalah pada data yang tersedia yang memberikan banyak informasi. Informasi ini berisi perubahan nilai
72 - tentang berbagai variabel yang membantu untuk memahami dan mendapatkan insights penting dari variable-variabel tersebut. Oleh karena itu, diperlukan identifikasi terlebih dahulu terhadap variabel-variabel penting yang mempengaruhi hasil dan kemungkinan dampaknya. 3. Pembersihan data Langkah selanjutnya adalah membersihkan dataset, yang mungkin berisi nilai null dan informasi yang tidak relevan. Hal ini harus dihilangkan sehingga data hanya berisi nilai-nilai yang relevan dan penting. Proses data cleaning ini menangani semua masalah, seperti mengidentifikasi nilai hilang, outlier, deteksi anomali, dan lain-lain (Harrison, Matt., Petrou, 2020). Langkah ini tidak hanya akan menghemat waktu, tetapi juga secara komputasi, sistem mampu melakukan perhitungan dan memecahkan masalah dengan cepat dan akurat. 4. Identifikasi Variabel yang Berkorelasi Menemukan korelasi antar variabel membantu untuk mengetahui bagaimana suatu variabel tertentu berhubungan dengan variabel lainnya. Metode matriks korelasi memberikan gambaran yang jelas tentang bagaimana berbagai variabel berkorelasi, yang selanjutnya membantu dalam memahami hubungan penting di antara variabel-variabel tersebut. 5. Pemilihan Metode Statistik yang Tepat Metode statistika yang tepat digunakan tergantung pada data, kategori atau numerik, ukuran, jenis
73 variabel, dan tujuan analisis. Rumus statistik yang diterapkan untuk output numerik memberikan informasi yang diminita, namun visualisasi grafis lebih menarik dan lebih mudah untuk diinterpretasikan (Blanchette, 2015). 6. Visualisasi Data Visualisasi data dalam EDA adalah proses merepresentasikan data secara grafis untuk menemukan pola, tren, outlier, dan hubungan di dalam data. Visualisasi memungkinkan kita merepresentasikan data secara visual dan membantu kita memperoleh insights yang sulit diperoleh hanya dari angka mentah. Visualisasi memberikan gambaran umum data secara cepat, menghemat waktu dibandingkan dengan memeriksa data mentah secara manual (Oluleye, 2023). Langkah ini meliputi pembuatan bagan, grafik, dan plot untuk mengubah data kompleks menjadi visual yang mudah dipahami. Beberapa teknik visualisasi yang umum digunakan dalam EDA adalah: a. Histogram Histogram adalah representasi grafis yang menunjukkan distribusi variabel numerik. Histogram membantu memahami kecenderungan sentral dan penyebaran data dengan memvisualisasikan distribusi frekuensi.
74 - Gambar 1. Histogram. b. Scatter Plot Scatter plot merupakan bagan yang menunjukkan hubungan antara dua variabel. Grafik ini merupakan jenis grafik yang sangat kuat, memungkinkan kita untuk segera memahami suatu hubungan atau tren, yang tidak mungkin dilihat dalam bentuk lainnya (Jiraporn et al., 2012). Gambar 2. Scatter Plot. c. Box plot Box plot digunakan untuk menampilkan distribusi nilai kuantitatif dalam data. Jika kumpulan data terdiri dari variabel kategori, plot dapat menunjukkan perbandingan antar variabel tersebut. Selain itu, jika terdapat outlier dalam data, maka outlier tersebut dapat
75 dengan mudah diidentifikasi. Grafik ini sangat berguna ketika perbandingan ditampilkan dalam persentase, seperti nilai dalam rentang 25%, 50%, dan 75% (kuartil). Gambar 3. Box Plot. d. Heatmap Heatmap adalah representasi grafis dari data di mana warna mewakili nilai. Heatmap sering digunakan untuk menampilkan kumpulan data yang kompleks, menyediakan cara cepat dan mudah untuk memvisualisasikan pola dan tren dalam data dalam jumlah besar. Gambar 4. Heatmap. e. Diagram Batang Diagram batang adalah grafik yang menunjukkan distribusi variabel kategori. Ini digunakan untuk
76 - memvisualisasikan distribusi frekuensi data, yang membantu memahami frekuensi relatif setiap kategori. Gambar 5. Diagram batang. f. Diagram Garis Diagram garis adalah grafik yang menunjukkan tren variabel numerik dari waktu ke waktu (Hoaglin, 2006). Digram ini digunakan untuk memvisualisasikan perubahan data dari waktu ke waktu dan untuk mengidentifikasi pola atau tren apa pun. Gamar 6. Diagram garis. g. Diagram Lingkaran (Pie Chart) Diagram lingkaran adalah grafik yang menampilkan proporsi variabel kategori. Ini digunakan
77 untuk memvisualisasikan proporsi relatif setiap kategori dan memahami distribusi data. Gambar 7. Diagram lingkaran.
78 - aat ini bisnis tidak hanya untuk menyimpan data, tetapi digunakan untuk mengambil keputusan. Seiring bertambahnya jumlah (volume), kecepatan (velocity), dan variasi (variety) data yang disimpan, dibutuhkan tools baru untuk melakukan proses dan analisis data yang sangat besar tersebut. Tools tersebut adalah big data (Kamal and Saxena, 2020). Ada beberapa persyaratan dalam pemrosesan dan analisis dalam big data, yaitu: 1. Data disimpan dalam jumlah besar 2. Komputasi dan penyimpanan data secara fleksibel, terukur, dan terdistribusi 3. Terdapat blok data dan tugas secara terdistribusi dan pemrosesan yang di klasterisasi. 4. Adanya pemetaan data pada node fisik S
79 5. Mengurangi kompleksitas berbagai sumber data dan mengirimkan hasil komputasi ke aplikasi 6. Mengembangkan, menerapkan, mengoperasikan, dan mengelola lingkungan big data dalam suatu perusahaan 7. Adanya integrasi yang menjadi solusi yang kohesif dalam permasalahan big data. Hadoop merupakan sinonim dari pemrosesan big data. Hadoop digunakan untuk menangani dan menganalisis big data. Hadoop merupakan sebuah tools framework untuk mempermudah pekerjaan programmer yang terkait dengan analisis big data. Platform big data ini terdiri dari penyimpanan data, server, dan manajemen data yang besar serta perangkat lunak intelijen bisnis. Gambar 1. Lingkungan Big Data Berbasis Hadoop Pemrosesan data yang beragam dari big data menyebabkan banyak kendala/permasalahan. Hadoop dapat menyelesaikan permasalahan jenis data yang beragam dari big data. Hadoop menangani big data dengan menggunakan sistem file terdistribusi hadoop (HDFS). Sistem file terdistribusi Hadoop (HDFS) dapat mengelola dan menyimpan volume data yang begitu besar di beberapa node dalam sebuah cluster dan mesin
80 - pemrosesan (MapReduce) yang dapat memparalelkan komputasi pada data. Gambar 1 (Kamal and Saxena, 2020) merupakan lingkungan big data berbasis Hadoop. Silinder besar mewakili Hadoop dan silinder kecil mewakili MapReduce. Pada Gambar 1 dapat dilihat terdapat dua komponen utama dari Hadoop yaitu Hadoop sebagai tempat penyimpanan file secara terdistribusi dan MapReduce untuk prosesing data. Sistem file terdistribusi Hadoop berarti sistem penyimpanan file (kumpulan catatan data, pasangan key, memiliki pasangan nilai kunci atau data aplikasi) pada node komputasi terdistribusi sesuai dengan arsitektur Hadoop dan aksesibilitas blok data setelah menyelesaikan referensi ke rak dan clusternya. MapReduce merupakan model pemrograman untuk pemrosesan data yang terdistribusi. Dengan menggunakan model MapReduce, pemrosesan data dibagi menjadi dua komponen, yaitu mapper dan reduce. Di dadalam framework Hadoop terdapat beberapa komponen inti (Kamal and Saxena, 2020), yaitu: 1. Hadoop common yaitu modul umum hadoop yang berisi library dan utilitas yang diperlukan oleh modul hadoop lainnya. Hadoop common menyediakan berbagai komponen dan antarmuka untuk input/output sistem file terdistribusi. 2. Hadoop Distributed File System (HDFS) yaitu sistem file terdistribusi berbasis java yang dapat menyimpan semua jenis data pada cluster disk. 3. Hadoop MapReduce v1 yaitu model pemrograman pada Hadoop menggunakan Mapper dan reducer. Pada v1
81 MapReduce kumpulan data diproses dalam jumlah besar secara paralel dan dalam batch. 4. Hadoop YARN merupakan sebuah sistem komputasi untuk mengelola sumber daya. Tugas atau subtugas aplikasi YARN dijalankan secara paralel di Hadoop dengan penjadwalan permintaan sumber daya dalam menjalankan tugas secara terdistribusi. 5. Hadoop MapReduce v2 yaitu sistem berbasis Hadoop 2 YARN untuk pemrosesan terdistribusi kumpulan data besar secara parallel dari tugas-tugas aplikasi. Hadoop memiliki keunggulan, yaitu: 1. Hadoop didesain secara scalable, fleksibel dan modular (terdiri dari modul-modul) yang efisien dalam menangani kesalahan pemrograman. 2. Hadoop sangat membantu dalam menyimpan, mengelola, mengolah dan menganalisis big data. 3. Desain HDFS membuat eksekusi aplikasi big data akan tetap berlanjut walaupun server atau cluster individual gagal. 4. Menyimpan dan memproses data dalam jumlah besar secara jumlah (volume), kecepatan (velocity), dan variasi (variety). 5. Model komputasi cluster terdistribusi dapat memproses data besar dengan kecepatan tinggi saat tugas aplikasi dan subtugas dikirimkan ke data node. 6. Adanya Toleransi kesalahan perangkat keras, yaitu kesalahan tidak memengaruhi pemrosesan data dan aplikasi.
82 - 7. Kerangka kerja yang opensource 8. Berbasis Java dan Linux: Hadoop menggunakan interface Java dan basis pemograman Hadoop adalah Linux tetapi tetap memiliki dukungan perintah sheel sendiri. A. Sejarah perkembengan Hadoop Tahun 2003, Doug Cutting dan Mike Cafarella mengerjakan proyek bernama Nutch, untuk menyediakan crawler siap pakai untuk memenuhi tuntutan penemuan dokumen. Nutch dapat bekerja secara terdistribusi pada beberapa mesin. Nutch, bersama dengan teknologi pengindeksan seperti Lucene dan Solr, menyediakan komponen yang diperlukan untuk membangun mesin pencari, namun proyek ini tidak dalam skala web. Demonstrasi awal Nutch melibatkan perayapan 100 juta halaman web menggunakan empat mesin. Tahun 2004, konsep MapReduce dan GFS dari Google mengatasi beberapa masalah penskalaan Nutch. Kontributor Nutch mulai mengintegrasikan fitur sistem file terdistribusi dan model pemrograman MapReduce ke dalam proyek. Skalabilitas Nutch meningkat pada tahun 2006, namun belum mencapai skala web. Sekitar 100 juta dokumen web dapat dimasukkan dan diindeks menggunakan 20 mesin. Pemrograman, debugging, dan pemeliharaan mesin pencari ini menjadi lebih mudah. Pada tahun 2006, Yahoo mempekerjakan Doug Cutting, dan Hadoop lahir. Proyek Hadoop adalah bagian dari
83 Apache Software Foundation (ASF), namun dikeluarkan dari proyek Nutch yang sudah ada dan dibiarkan berkembang secara mandiri. Sejumlah rilis kecil dilakukan antara tahun 2006 dan 2008, yang pada akhirnya Hadoop menjadi kerangka kerja MapReduce untuk pemrosesan data yang stabil dan berskala web. Pada tahun 2008, Hadoop memenangkan kompetisi benchmark pengurutan terabyte, mengumumkan kesesuaiannya untuk komputasi cluster berskala besar dan andal menggunakan MapReduce. Proyek Hadoop mulai dari rilis awal pada tahun 2007 dan 2008. Proyek yang merupakan bagian dari Apache Software Foundation (ASF) ini akan disebut Apache Hadoop.Apache Hadoop memiliki tiga versi penting yaitu: versi 0.20.1, versi 0.20.2, versi 0.21. Pada rilis 0.20, terdapat perluasan proyek menjadi tiga versi utama, yaitu versi 0.20.2 (MapReduce v1.0/MRv1atau Hadoop 1.0.0). Versi 0.21 disebut MapReduce v2.0/MRv2, atau Hadoop 2.0. Tahun 2011 Apache Software Foundation (ASF) merilis Hadoop-0.20-append dan Hadoop-0.20-Security. Rilis ini masing-masing memperkenalkan penambahan HDFS dan fitur terkait keamanan ke dalam Hadoop. Alamat website resmi Hadoop dapat dilihat pada https://hadoop.apache.org/(Apache Hadoop) B. Pengenalan MapReduce MapReduce adalah model pemrograman untuk pemrosesan data paralel dan terdistribusi yang terdiri dari dua langkah, yaitu Mapper dan Reducer. Langkah tersebut diambil dari pemrograman fungsional, suatu cabang ilmu komputer yang berhubungan dengan fungsi matematika
84 - sebagai unit komputasi (Karanth, 2014). Properti fungsi seperti kekekalan dan keadaan tanpa kewarganegaraan menarik untuk pemrosesan paralel dan terdistribusi. Terdapat beberapa proses optimasi komputasi MapReduce di dalam Hadoop. Setiap tugas MapReduce memiliki data masukan dan tugas Map untuk pemisahan data. Tugas Map memanggil fungsi map berulang kali pada setiap record, kemudian direpresentasikan sebagai pasangan nilai kunci. Map adalah fungsi yang mengubah data dari satu domain ke domain lainnya. Catatan keluaran antara setiap tugas Map diacak dan diurutkan sebelum mentransfernya sehingga tugas dikurangi. Data perantara dengan kunci yang sama akan menuju kepengurangan data yang sama. Tugas Reduce memanggil fungsi pengurangan untuk kunci dan semua nilai terkaitnya. Outputnya kemudian dikumpulkan dan disimpan. Langkah Map memiliki tingkat paralelisme yang paling tinggi. Ini digunakan untuk mengimplementasikan operasi seperti pemfilteran, pengurutan, dan transformasi pada data. Langkah Reduce digunakan untuk mengimplementasikan operasi peringkasan pada data. Proses dari Map dan Reduce pada prosesing MapReduce dapat dilihat pada Gambar 2. Hadoop juga menyediakan fitur seperti DistributedCache sebagai saluran sampingan untuk mendistribusikan data dan Counter untuk mengumpulkan statistik global terkait pekerjaan. Kami akan melihat kegunaannya dalam memproses pekerjaan MapReduce.
85 Gambar 2. Proses Map and Reduce Pada gambar 2 dapat dilihat bahwa input/output data pada MapReduce menggunakan Sistem File Terdistribusi Hadoop (HDFS). Fitur MapReduce adalah: 1. Adanya sistem paralel yang otomatis dan komputasi terdistribusi berdasarkan beberapa prosesor 2. Data diproses dan disimpan pada cluster datanode dan rak yang terdistribusi 3. Memungkinkan pemrosesan data dalam jumlah besar secara paralel 4. Adanya skalabilitas untuk penggunaan server dalam jumlah besar. 5. Menyediakan model pemrograman berorientasi batch MapReduce di Hadoop versi 1 6. Menyediakan mode pemrosesan tambahan dalam sistem berbasis Hadoop 2 YARN dan memungkinkan pemrosesan paralel yang diperlukan.
86 - C. Tutorial Installasi Hadoop MapReduce di Windows 11 Tutorial mapreduce ini berdasarkan pada documentation Hadoop MapReduce 3.3.6 yang dapat diakses pada link https://hadoop.apache.org(‘M[jR_^o]_ Tonilc[f’, 2008). Hadoop MapReduce dapat digunakan pada node tunggal (untuk pemula) dan klaster (untuk kluster data yang besar dan terdistribusi). Tutorial ini menjelaskan cara menyiapkan dan mengonfigurasi instalasi Hadoop node tunggal pada pemula agar dapat melakukan operasi sederhana menggunakan Hadoop MapReduce dan Sistem File Terdistribusi Hadoop (HDFS). Prasyarat installasi Hadoop MapReduce: 1. Lakukan instalasi Java yang dapat di download pada https://www.oracle.com/java/technologies/javase/javas e-jdk8-downloads.html. Apache Hadoop versi 3.0.x sampai 3.2.x hanya support pada Java 8 2. Lakukan installasi Hadoop 3.3.6 yang dapat di download pada https://hadoop.apache.org/release/3.3.6.html. (download file tar.gz) Konfigurasi Hadoop: 1. Copy-paste file hadoop ke drive C, dan lakukan ekstrak file tersebut. 2. Rename folder hadoop-3.3.6.tar menjadi Hadoop saja 3. Edit file etc/hadoop/hadoop-env.sh untuk mendefinisikan JAVA_HOME sebagai root instalasi Java.
87 4. Untuk memulai Hadoop dapat menggunakan salah satu dari tiga mode berikut: a. Local (Standalone) Mode. Secara default, Hadoop dikonfigurasi untuk berjalan dalam mode nonterdistribusi, sebagai satu proses Java. Ini berguna untuk debugging b. Pseudo-Distributed Mode. Hadoop juga dapat dijalankan pada node tunggal dalam mode terdistribusi semu dimana setiap node Hadoop berjalan dalam proses Java terpisah. c. Fully-Distributed Mode. Mode ini digunakan untuk pengaturan klaster yang terdistribusi sepenuhnya. Walaupun Hadoop memilki banyak keunggulan dalam penyimpanan dan prosesing data dalam big data, tetapi Hadoop juga memiliki beberapa kekurangan (DataFlair, 2017), yaitu 1. Hadoop tidak cocok untuk data dalam skala kecil, karena sistem HDFS tidak dirancang untuk mendukung pembacaan acak file kecil secara efisien karena desain kapasitasnya yang tinggi. 2. Karena Hadoop menggunakan sistem paralel dan terdistribusi, dan MapReduce memproses kumpulan data besar sehingga memerlukan banyak waktu untuk melakukan tugasnya sehingga meningkatkan latensi. 3. Hadoop hanya mendukung pemrosesan batch, tidak memproses data yang dialirkan, dan karenanya kinerja secara keseluruhan lebih lambat. Kerangka kerja Hadoop MapReduce tidak memanfaatkan memori cluster Hadoop secara maksimal.
88 - 4. Apache Hadoop ditujukan untuk pemrosesan batch, artinya dibutuhkan sejumlah data yang besar dalam input, proses, dan output. Meskipun pemrosesan batch sangat efisien untuk memproses data dalam jumlah besar, bergantung pada ukuran data yang diproses dan daya komputasi sistem, output dapat tertunda secara signifikan. Hadoop tidak cocok untuk pemrosesan data waktu nyata (realtime) 5. Hadoop tidak begitu efisien untuk pemrosesan berulang, karena Hadoop tidak mendukung aliran data siklik (yaitu rangkaian tahapan di mana setiap keluaran dari tahap sebelumnya merupakan masukan ke tahap berikutnya).