89 oba bayangkan jika kamu memiliki berbagai macam mainan yang memiliki jenis dan cara bermain yang berbeda mulai dari lego / building blocks, board games, mobil-mobilan, boneka dll yang disimpan di dalam container atau kotak besar. Di dalam kotak besar tersebut pasti berantakan dan akan sulit untuk menemukan mainan favorit sehingga perlu diatur agar mudah dicari dan dimainkan sesuai keinginan. Pada dunia Big Data, mainan – mainan tersebut seperti tools dari ekosistem Hadoop yang memiliki berbagai fungsi dan tugas tertentu, sedangkan Hadoop seperti mesin khusus yang membantu mengatur isi dari kotak besar tersebut. Namun bukan mainan yang diatur, melainkan data yang berisi informasi dan tools – tools yang berada pada ekosistem Hadoop. Ekosistem Hadoop bisa dibilang sebagai toko serba ada yang memiliki kemampuan untuk menangani dan mencari insight dari data yang berskala besar dengan efisien. Ekosistem Hadoop berisi kumpulan dari software atau tools open-source dan framework yang dibuat untuk memfasilitasi fungsi – fungsi seperti memproses data, menyimpan, dan menganalisis dataset C
90 - dalam jumlah yang sangat besar pada lingkungan komputasi terdistribusi. Setiap komponen dari ekosistem Hadoop memiliki tujuan dan menempati posisi tertentu pada pemrosesan data dan rantai analisis seperti layer penyimpanan data, processing layer, Access Layer dan management layer (Choudhary, 2023). Beberapa komponen yang terdapat pada ekosistem lingkungan Hadoop seperti HDFS, MapReduce, Hive, Pig, HBase dll digambarkan pada Gambar 1 dan akan dibahas pada Bab ini. Gambar 1. Ekosistem Hadoop A. Hadoop Distributed File System (HDFS) Hadoop Distributed File System (HDFS) adalah file system atau sistem berkas terdistribusi yang posisinya berdiri diatas sistem operasi yang digunakan atau sebagai foundation layer. Kegunaan HDFS pada ekosistem Hadoop adalah untuk menyimpan data antar mesin atau node pada kluster Hadoop, menyediakan toleransi kesalahan dan skalabilitas untuk penyimpanan data yang besar.
91 HDFS memiliki konsep penyimpanan data dalam bentuk blok dengan besar per unit bloknya secara default sebesar 128 MB. Berbeda dengan file system biasa yang akan memakan memory sebesar unit blok, pada HDFS file yang memiliki ukurang lebih kecil dari besaran 1 unit blok akan menggunakan sebesar file tersebut pada ruang disk. Sebagai contoh file dengan besar 1 MB akan memakan 1 MB pada disk yang memiliki besaran blok 128 MB. (White, 2015) HDFS kluster memiliki 2 jenis node yang bekerja dengan pola master-worker yaitu sebuah namenode (sebagai master) dan beberapa datanodes (sebagai worker). Namenode akan mengatur namespace dari sebuah sistem file. Tugas lain dari namenode adalah menjaga pohon sistem file dan metadatanya untuk seluruh file dan direktori yang ada pada pohon sistem file. Namenode juga mengetahui datanode dimana semua blok dari suatu file disimpan. Tugas dari datanode menyimpan dan mengambil blok jika terdapat permintaan serta melapor daftar blok yang disimpan kepada namenode secara periodik (White, 2015). B. HBase Sebelum menjelaskan tentang HBase sebagai NoSQL Database yang berada diatas Hadoop, sebaiknya kita tahu perbedaan antara SQL dan NoSQL (Not only SQL). SQL merupakan database relasional dimana manajemen database / skemanya memerlukan relasi antar tabel, sedangkan NoSQL mengelola skema databasenya lebih fleksibel dan bersifat tanpa relasi. NoSQL cocok digunakan untuk mengeolah big data yang skemanya dapat
92 - berkembang dan berubah sesuai kebutuhan. Salah satu database NoSQL yang digunakan pada ekosistem Hadoop adalah HBase. Karakteristik yang dimiliki oleh HBase adalah skalabilitas horizontal dimana penyimpanan data dalam bentuk kolom (column-based) tidak seperti database relasional yang menyimpan data dalam bentuk baris. HBase unggul dalam menyediakan akses berbasis kunci ke sel data tertentu, atau rentang sel yang berurutan (George, 2010). Pada HBase, setiap kolom memiliki indeks yang membuat pencarian data menjadi efisien dan penambahan node ke kluster menjadi lebih mudah. Data dan permintaan (requests) didistribusikan ke seluruh server dalam kluster HBase, sehingga kueri pada data sebesar beberapa petabyte pun tetap mungkin dilakukan hitungan milidetik. HBase menyediakan akses baca-tulis data yang sangat besar secara real time, sehingga sangat cocok digunakan untuk mengelola Big Data atau aplikasi real-time analytics yang memerlukan data akses dengan latency atau waktu proses transfer yang rendah. Data pada HBase dapat diakses melalui API HBase agar lebih efektif. C. MapReduce Komponen lain yang penting dalam ekosistem Hadoop adalah MapReduce yang berada pada Data processing layer. MapReduce merupakan model pemrograman dan mesin pemroses untuk komputasi terdistribusi. Pada Ekosistem Hadoop yang dapat menyimpan data yang begitu besar, diperlukan cara khusus untuk menjalankan suatu task/ tugas pemrosesan data.
93 MapReduce ditemukan oleh Google dengan cara kerja yang terbagi menjadi dua tahap yaitu Map dan Reduce. Pada tahap Map, data masukan diproses dengan cara membagi tugas pemrosesan data di setiap node yang ada pada kluster Hadoop sehingga dapat dijalankan secara parallel (Capriolo, Wampler and Rutherglen, 2012). Disebut fase Map karena dilakukan Mapping pada data yang diproses sehingga menghasilkan keluaran berupa pasangan key-value (Schneider, 2012). Fase kedua adalah reduce atau mengurangi task hasil dari fase Map dengan cara mengagregasi, mengelompokkan atau menggabungkan data. Menggunakan Map dan reduce dari dataset yang besar dan dilakukan secara parallel membuat pemrosesan data menjadi efisien. D. Yarn Hadoop Yet Another Resource Negotiator (Yarn) memegang peranan penting dalam ekosistem Hadoop yaitu bertanggung jawab dalam mengelola dan mengalokasikan sumber daya seperti CPU, memory dan penyimpanan untuk aplikasi terdistribusi yang berjalan pada kluster Hadoop. Yarn memiliki fungsi yang terpisah antara fungsionalitas pengelolaan manajemen sumber daya dengan pemantauan atau penjadwalan pekerjaan. Komponen utama pada YARN adalah ResourceManager (RM) dan ApplicationMaster (AM). ResourceManager (RM) bertanggung jawab mengelola sumber daya di seluruh kluster dengan cara mengatur alokasi sumber daya untuk aplikasi yang sedang berjalan. Sedangkan ApplicationManager (AM) bertanggung jawab dalam mengelola tugas – tugas aplikasi seperti meminta
94 - sumber daya dan melacak status suatu task. Setiap aplikasi yang berjalan di YARN akan memiliki AM sendiri. Lalu bagaimana proses YARN dalam mengatur sumber daya? Kita ambil contoh aplikasi Spark pada ekosistem Hadoop yang akan menjalankan suatu proses. Spark didaftarkan ke YARN ResourceManager, kemudian YARN akan mengalokasikan sumber daya untuk container ApplicationMaster (AM) dan Executor Spark. Saat aplikasi Spark dijalankan untuk memproses data, ApplicationMaster Spark berkomunikasi dengan YARN Resource Manager (RM) untuk mendapatkan sumber daya yang diperlukan untuk menjalankan executor Spark. Setelah diberikan sumber daya, maka executor Spark mengeksekusi tugas – tugas Spark secara parallel seperti tugas transformasi data, melakukan komputasi pada data yang terdistribusi dan lainnya. ResourceManager lah yang bertugas memastikan sumber daya yang dialokasikan untuk aplikasi Spark tidak melebihi kapasitas kluster. YARN memantau kemajuan, mengelola sumber daya, dan memastikan penggunaan sumber daya yang efisien, sehingga jika terdapat aplikasi lain yang berjalan pada kluster, YARN akan mengatur ketersediaan sumber daya yang digunakan oleh aplikasi – aplikasi yang berjalan pada kluster. (Pemawat, 2023) E. Hive Pada suatu Ekosistem Hadoop yang memiliki manajemen penyimpanan data yang besar dan diperuntukkan untuk analisis data, maka diperlukan data warehouse didalamnya. Hive menyediakan kebutuhan infrastruktur data warehouse yang berdiri diatas Hadoop. Hive
95 mempermudah pengguna dalam melakukan kueri dan melakukan data analisis yang tersimpan pada Hadoop. Hive menerjemahkan sebagian besar kueri untuk pekerjaan MapReduce, dimana kueri pada Hive disebut HiveQL atau HQL yang bahasanya mirip dengan SQL (Structured Query Language) (Capriolo, Wampler and Rutherglen, 2012). Hive cocok untuk aplikasi datawarehouse atau aplikasi Online Analytical Preocessing (OLAP) yang memang datanya lebih statis dan tidak cepat berubah karena digunakan untuk analisis. Hive tidak menyediakan transaksi data per record seperti insert, update dan delete, sehingga tidak seusai jika digunakan untuk Online Transaction Precessing (OLTP). Jika kita membutuhkan fitur untuk OLTP, maka kita memerlukan NoSQL database seperti HBase dan mengintegrasikannya dengan Hive. F. Pig Pig merupakan sebuah platform untuk menganalisis dataset yang besar menggunakan Bahasa Tingkat tinggi yang diberi nama Pig Latin. Pig memiliki banyak operator untuk operasi seperti join, pengurutan, filter, serta memiliki kemampuan untuk pengguna dalam mengembangkan fungsi sendiri seperti membaca, memproses dan menulis suatu data (Gates, 2011). Pig berjalan diatas Hadoop dan dapat menggunakan HDFS serta MapReduce. Pig dapat menyederhanakan proses dalam menulis tugas MapReduce dengan cara mengurangi transformasi data yang kompleks sehingga pengguna menjadi lebih mudah dalam melakukan pemrosesan data.
96 - G. Mahout Bayangkan kamu memiliki sekotak besar pensil warna dan kamu ingin memilahnya. Mahout ibarat seorang seniman cerdas yang dapat mengurutkan semua pensil warna tersebut ke dalam kelompok berdasarkan warnanya, seperti semua warna merah, semua warna biru, dan seterusnya dengan sangat cepat. Seniman tersebut juga dapat membantu menentukan warna mana yang paling kamu sukai, misalkan berdasarkan warna yang sering digunakan. Mahout yang ibarat seniman cerdas tadi dapat menyediakan algoritma dan alat yang dapat dikembangkan untuk mengimplementasikan tugas machine learning pada dataset yang besar. Mahout memiliki library yang didesain untuk pemrosesan data terdistribusi yang menawarkan algoritma komporehensif untuk melakukan klasifikasi, clustering, rekomendasi dan pencarian pola (The Apache Software Foundation, 2023). Contoh dari algoritma yang terdapat pada library Mahout adalah Alternating Least Squares (ALS) untuk memprediksi preferensi pengguna sehingga dapat digunakan pada sistem rekomendasi, Algoritma cooccurrence yang digunakan untuk menemukan item yang sering muncul. Mahout memiliki komunitas yang luas dan beragam sehingga perbaikan dan penambahan algoritma baru dapat terus berkembang dengan cepat. H. Sqoop Pada proses pembuatan datawarehouse, terdapat proses ETL yang terkadang memerlukan import data dari
97 database relasional ke Hadoop atau sebaliknya memerlukan export data dari Hadoop ke database relasional. Kita dapat melakukan export / import data dengan mudah menggunakan Sqoop. Sqoop merupakan alat yang didesain secara efektif dalam mentransfer kumpulan data besar antara ekosistem Hadoop dengan database relasional (Ting and Cecho, 2013). Sqoop dapat memilih mengimport seluruh tabel atau hanya subset tertentu dari data yang terpilih. Data transfer yang dilakukan oleh sqoop dijalankan secara parallel dengan menggunakan konektor database yang spesifik dan teknik yang digunakan adalah bulk loading atau memindahkan sejumlah data besar secara sekaligus. Sqoop juga menyediakan incremental loading, dimana kita dapat mengimport hanya data yang berubah atau data baru saja dari terakhir kali dilakukan proses import. Hal ini berguna jika kita memerlukan update data secara periodik. I. Spark Spark pada ekosistem Hadoop berada di posisi data processing dan analytics Layer. Spark menyediakan kemampuan pemrosesan data yang dilakukan pada RAM, sehingga dapat dilakukan secara cepat dan meningkatkan performa proses MapReduce secara signifikan, yang sering dilakukan secara berulang atau saat pemrosesan secara interaktif.
98 - J. Oozie Jika YARN adalah tools untuk mengelola sumber daya pada kluster Hadoop, Oozie bertindak sebagai pengelola penjadwalan dan koordinasi workflow job pada Hadoop. Workflow job merupakan aksi yang bersifat Directed Acyclic Graphs (DAGs) atau rangkaian aksi yang dapat digambarkan sebagai node dan memiliki anak panah berarah yang menggambarkan aksi selanjutnya dan aksi terakhir tidak berhenti pada aksi yang paling awal. Oozie pada ekosistem Hadoop merupakan koordinator sistem untuk menghandle jobs yang biasanya rutin dilakukan (The Apache Software Foundation, 2021). Oozie mengintegrasikan dengan mudah Hadoop stack sehingga mendukung berbagai tugas Hadoop seperti Java MapReduce, Streaming MapReduce, Pig, Sqoop, dll. Oozie juga mendukung berbagai pekerjaan yang dirancang untuk berjalan pada system tertentu seperti program Java dan shell scripts. Pekerjaan Oozie yang akan dieksekusi dapat dipicu berdasarkan waktu (scheduled interval) atau berdasarkan keberadaan data (pada saat data tertentu menjadi available). Dalam mengelola pekerjaannya, Oozie memantau kemajuan setiap pekerjaan yang dijalankan untuk memastikan semuanya berjalan sesuai dengan rencana. Jika terjadi kesalahan pada pekerjaan maka Oozie akan mencoba menjalankan ulang pekerjaan tersebut sesuai kebijakan yang telah ditetapkan, selain itu Oozie juga akan mengirim pemberitahuan atau mengambil Tindakan korektif untuk memastikan workflow tetap berjalan. (Bhutanadhu, 2023)
99 Oozie bersifat scalable dimana dapat menangani peningkatan beban kerja dengan menambahkan lebih banyak sumber daya ke system tanpa mengurangi kinerja, bersifat dapat diandalkan karena dirancang dengan kemampuan memulihkan kegagalan sehingga dapat memastikan suatu pekerjaan selesai walaupun ada masalah seperti kegagalan jaringan atau hardware. Oozie juga bersifat extensible maksudnya kita dapat menambahkan dukungan untuk jenis pekerjaan baru atau mengintegrasikan Oozie dengan system lain sesuai dengan kebutuhan. K. ZooKeeper Coordination layer pada ekosistem Hadoop diisi oleh ZooKeeper. ZooKeeper disebut juga Distributed Coordination Services (DCS) yang merupakan layanan koordinasi terdistribusi yang digunakan untuk menjaga informasi konfigurasi, penamaan, dan menyediakan sinkronisasi terdistribusi (geeksforgeeks.org, 2024). ZooKeeper seperti seorang konduktor pada sebuah orkestra yang memastikan semua pemain alat musik bermain bersama dengan harmonis. Dengan kata lain, ZooKeeper membantu memastikan semua node atau computer dan server pada kluster Hadoop yang saling bekerja sama bekerja dengan teratur dan tersinkronisasi. L. Apache Ranger Apache Ranger adalah framework yang dirancang untuk mengadakan keamanan data, memantau, dan mengelola keamanan data yang menyeluruh dan komprehensif di seluruh ekosistem Hadoop. Apache Ranger mendukung
100 - administrasi keamanan terpusat, otorisasi yang detail, dan audit akses pengguna dan tindakan di semua komponen Hadoop. Keamanan data pada ekosistem Hadoop sangat penting ketika menjalankan beban kerja yang beragam dalam lingkungan multi-tenant (Lamy, 2023). Beberapa tujuan utama dari Apache Ranger adalah: 1. Menyediakan akses terpusat dimana kita dapat mengatur semua hal yang berkaitan dengan keamanan sistem seperti siapa dapat mengakses apa, melakukan pelacakan siapa yang telah mengakses data, dll dalam satu User Interface (UI) melalui REST API. 2. Otorisasi yang detail dalam melakukan Tindakan spesifik pada komponen Hadoop serta otorisasi yang distandarisasi di semua komponen Hadoop. 3. Dukungan yang ditingkatkan untuk metode otorisasi yang berbeda - kontrol akses berbasis peran, kontrol akses berbasis atribut, dan lainnya. 4. Audit terpusat dari akses pengguna dan tindakan administratif (terkait keamanan) di dalam semua komponen Hadoop (Lamy, 2023). Apache Ranger memastikan kepentingan bahwa data sensitif yang dikelola dalam Hadoop dapat diakses dengan cara yang aman dan terkontrol.
101 imensi data dan kecepatannya yang semakin berkembang secara eksponensial mendorong perkembangan teknologi pengolahan data yang efisien. Penggunaan komputasi terdistribusi menjadi sebuah solusi dimana mekanisme MapReduce (MR), sebagai salah satu kerangka kerja komputasi terdistribusi, menjadi populer dalam dekade terakhir. Namun, batasan kecepatan komunikasi data dalam perangkat penyimpan cakram (disc memory) yang lebih lambat dibandingkan kapasitas komputasi memori menjadi tantangan lain dalam komputasi big data berbasis MR. Tantangan yang terdapat pada MR ini melatarbelakangi kemunculan Spark dengan memanfaatkan pemprosesan in-memory dan eksekusi paralel sehingga menghasilkan kecepatan komputasi yang lebih baik. Spark menjadi perangkat pengolah big data yang populer dalam beberapa tahun terakhir. Beragam perusahan teknologi memanfaatkan Spark dalam bisnis mereka seperti Yahoo, Amazon, Pinterest, eBay, Alibaba, Shopify, Spotify, dan Uber. Kajian tentang big data tidak dapat dipisahkan dengan D
102 - penjelasan Apache Spark sebagai perangkat proses yang paling populer. Penguasaan Spark dengan baik selaras dengan peningkatan kemampuan analisis big data. Spark menyediakan beragam fitur dan alat untuk memproses, menganalisis, dan memanfaatkan data dalam skala besar secara efisien. Selain itu, Spark memiliki empat karakteristik kunci yakni kecepatan, mudah digunakan, modularitas, dan ekstensibilitas yang dapat digunakan pada beragam bahasa seperti Python, SQL, Scala, Java atau R untuk pemrosesan data dalam batches dan real-time streaming. Pembahasan dalam bagian ini diharapkan mampu memberikan pemahaman secara umum tentang Apache Spark dan implementasinya dalam pemprosesan big data. Penyajian bab ini mencakup penjelasan dasar Apache Spark untuk membantu pembaca memahami Apache Spark dalam konteks pengolahan big data. A. Pengenalan Apache Spark Secara umum, Apache Spark dapat disebut sebagai sebuah perangkat komputasi terintegrasi dan kumpulan beragam pustaka (library) untuk pemprosesan data secara paralel pada perangkat tunggal atau komputer kluster. Apache Spark merupakan kerangka kerja pengolahan data terdistribusi yang dirancang untuk menangani big data dengan efisien. Spark awalnya dikembangkan oleh AMPLab University of California, Berkeley tahun 2009. Kemudian, Spark menjadi bagian Apache pada tahun 2013 dan menjadi perangkat open source dibawah lisensi Apache. Hingga saat ini, Apache Spark telah mengalami perkembangan yang
103 pesat dan menjadi salah satu kerangka kerja pengolahan data terdistribusi yang paling populer dan luas digunakan. Dalam kurun waktu satu dekade, Spark telah merilis beragam versi yang memperkenalkan fitur-fitur baru dan peningkatan kinerja yang signifikan. Tahun 2014, Spark 1.0 dirilis dengan fokus pada stabilitas, performa, dan API yang lebih baik. Kemudian, Spark 2.0 dirilis pada tahun 2016 dengan peningkatan signifikan dalam kinerja SQL dan DataFrame API. Spark terus berkembang dengan versi terbaru hingga versi 3.5.0. Kompatabilitas Apache Spark dengan kerangka kerja analisis data lainnya digambarkan ekosistem Spark pada Gambar 1. Gambar 1. Ekosistem Apache Spark Spark memiliki latensi rendah dibandingkan dengan pendahulunya Hadoop MR (lihat perbandingan tabel 1). Bahkan kecepatannya bisa mencapai 100 kali lebih cepat
104 - dibandingkan Hadoop. Keunggulan lain yang ditawarkan yakni koneksi terhadap beragam sumber penyimpan data seperti HDFS, Cassandra, Hbase, dan S3. Kemampuan Spark untuk menyediakan library untuk beragam fungsi komputasi big data seperti SQL processing, machine learning, pemrosesan grafik dan aplikasi real-time menjadi keunggulan lain dibandingkan dengan perangkat pendahulunya. Tabel 1. Perbandingan Apache Spark dengan Hadoop MR Pembanding Apache Spark Hadoop MR Tipe data Pemprosesan Data Fault Tolerance Kecepatan pemrosesan Jumlah API untuk pemprosesan big data Batch processing, stream-line processing In-memory RDD Lebih cepat Lebih banyak Batch processing Disc Replikasi Lebih lambat karena latensi I/O Relatif lebih sedikit dibandingkan Spark
105 Bahasa Kemudahan penggunaan Tingkat keamanan Biaya Java, Scala, Python, R, SQL Jumlah baris kode lebih sedikit Kurang tangguh More costly Java, Python, Ruby Jumlah baris kode lebih banyak Lebih baik Less costly Spark memiliki empat library utama seperti ditampilkan pada gambar 10.1 yakni Spark SQL, Spark Streaming, Mllib, dan GraphX. Spark SQL merupakan modul yang digunakan untuk bekerja dengan data terstuktur seperti SQL dan dataframe. Spark streaming mendukung analisis untuk aplikasi streaming dan pipelines yang lebih sederhana hanya dengan memanfaatkan Spark API. Mllib merupakan kumpulan library Spark yang dapat digunakan untuk pemprosesan machine learning dan mendukung pemprosesan Bersama melalui Python dan R. Sedangkan, GraphX merupakan API Spark yang berfungsi untuk komputasi grafik seperti analisis eksploratori, dan komputasi grafik iteratif.
106 - Spark dapat dijalankan pada perangkat tunggal seperti komputer personal atau laptop, kumpulan dari ribuan server hingga layanan berbasis cloud. Penggunaan Spark sebagai perangkat pengolahan big data sangat fleksibel dan mudah diimplementasikan pada tahapan awal ataupun dikembangkan hingga kluster yang lebih besar skalanya. Beberapa istilah yang penting diingat ketika mengeksplorasi Spark yakni: 1. Komputasi Terdistribusi (Distributed computing): Apache Spark menggunakan komputasi terdistribusi secara paralel untuk pemprosesan data. Kapasitas terbesar mencapai 8000 node hingga saat ini. 2. Resilient distributed dataset (RDD): Apache memproses data terdistribusi di memori dalam bentuk abtraksi yang dikenal dengan RDD. 3. Transformation and Action: Dua jenis operasi yang disediakan Spark untuk memanipulasi RDD. Transformation membentuk RDD baru dari RDD eksisting yang tersedia dan action memicu komputasi RDD untuk memproses dataset aktual. 4. Lazy evaluation: Evaluasi pada Spark dilakukan dengan pendekatan penundaan transformasi pada RDD hingga proses eksekusi. 5. Spark executor and driver: eksekutor berfungsi untuk proses tugas-tugas pada node dalam kluster dan driver berfungsi untuk mengkoordinasi eksekusi. 6. Spark context: objek utama yang menghubungkan program dengan cluster Spark dan mengelola sumber daya.
107 7. Apache Spark libraries: beragam pustaka untuk kebutuhan pemrosesan data. Apache Spark dapat diintegrasikan dengan berbagai teknologi dan sistem penyimpanan data lainnya untuk memperluas kemampuannya dalam pemrosesan Big Data seperti Hadoop dan HDFS, Apache Cassandra, Apache Hbase, dan Kafka. Integrasi Spark dan Hadoop dan HDFS memungkinkan pengguna untuk memanfaatkan infrastruktur dalam ekosistem Hadoop. Spark dapat berintegrasi dengan Hadoop YARN atau HDFS sehingga memungkinkan pengguna untuk menggunakan fitur-fitur Hadoop seperti replikasi data, partisi, dan manajemen sumber daya dalam lingkungan Spark. Apache Spark juga dapat diintegrasikan dengan sistem penyimpanan data NoSQL seperti Apache Cassandra dan Apache HBase. Spark Cassandra Connector dan HBase Connector memungkinkan pengguna untuk membaca dan menulis data secara langsung dari dan ke Cassandra dan HBase menggunakan API Spark. Sehingga, pengguna dapat melakukan analisis real-time pada data yang disimpan di Cassandra dan HBase. Selain itu, Spark juga dapat berintegrasi dengan Kafka sehingga memungkinkan pengguna untuk mengkonsumsi data dari topik Kafka, memprosesnya secara real-time menggunakan Spark, dan menyimpan hasil analisis ke dalam penyimpanan data yang sesuai. B. Arsitektur Apache Spark Terminologi komputer secara umum identik dengan komputer personal yang terdiri dari sebuah unit pemproses.
108 - Komputasi sederhana seperti kebutuhan kerja dengan aplikasi spreadsheet mampu dilakukan oleh sebuah perangkat komputer personal. Namun, pemprosesan data dalam skala besar sering berdampak pada waktu komputasi yang panjang bahkan mengakibatkan perangkat kehabisan memori untuk pemrosesan. Sehingga, pendekatan komputasi terdistribusi dari sekumpulan komputer (kluster komputer) menjadi solusi untuk analisis data yang besar seperti big data. Namun, kumpulan perangkat saja tidak akan cukup tetapi juga membutuhkan kerangka kerja yang handal untuk mengkoordinir dan mengatur proses eksekusi data pada kluster komputer. Seperti ditampilkan pada Gambar 1, Spark memiliki kompatibilitas dengan beragam cluster management untuk mendukung eksekusi data dalam kluster komputer hanya melalui sebuah interaksi sederhana yang dikenal dengan spark application. Komputasi antrian dalam Spark ditransformasikan dalam bentuk directed acyclic graph (DAG) yang juga berperan untuk mendukung proses komputasi dengan kecepatan tinggi secara paralel. Arsitektur Apache Spark didasarkan pada model komputasi terdistribusi melalui spark application yang terdiri dari dua komponen utama yakni driver dan executor. Driver bertanggung jawab atas inisialisasi Spark context yang berisi fungsi utama sistem dan dijalankan pada sebuah node pada cluster. Driver berfungsi untuk menjaga informasi Spark context, bertanggung jawab terhadap user dan input, dan menganalisis, mendistribusikan, dan menjadwalkan pekerjaan untuk masing-masing executor. Executor bertanggung jawab untuk menjalankan tugastugas pada node dalam kluster seperti eksekusi kode dan memberikan laporan status komputasi ke driver. Dalam
109 beberapa referensi, executor dituliskan sebagai Java Virtual Machine (JVM). Prinsip kluster komputer juga dapat dilakukan oleh sebuah komputer tanpa jaringan dalam bentuk mode lokal. Dalam mode lokal, driver dan executor menjalankan fungsinya langsung di dalam sebuah perangkat komputer sedangkan cluster manager menggunakan Spark standalone mode (spark scheduler). Gambar 2. menampilkan ilustrasi arsitektur Apache Spark yang terdiri dari driver, executor, dan cluster manager. Gambar 1. Arsitektur Apache Spark yang terdiri dari driver, executor, dan cluster manager. Selain driver dan executor, arsitektur spark juga terdiri dari cluster manager dan worker node. Cluster manager berfungsi untuk mengatur alokasi sumber daya dan manajemen kluster dalam proses komputasi, sedangkan worker node merupakan perangkat komputer yang berfungsi sebagai node-node untuk mengeksekusi tugastugas Spark (Spark tasks). Driver menginisiasi proses komputasi dengan melakukan komunikasi request kepada cluster manager. Kemudian, driver mengontrol proses komputasi pada executor dengan membangun sebuah JAR untuk setiap node.
110 - RDD sebagai abstraksi dasar data di Spark merupakan kumpulan elemen partisi untuk setiap node yang dapat dikomputasikan secara paralel. Selain itu, broadcast variables dan accumulator juga berfungsi sebagai abtraksi tambahan selama proses komputasi paralel Spark. Broadcast variable dapat digunakan untuk penampung sementara di memori pada semua node sedangkan accumulator bertugas sebagai fungsi akumulasi seperti counter dan sum. C. Konfigurasi Apache Spark Fleksibel dan handal merupakan karakteristik utama yang menjadikan Apache Spark populer dalam dekade terakhir sebagai kerangka pengolah data dalam skala besar. Spark dapat diimplementasikan dalam mode standalone atau pun dalam jaringan dengan jumlah node ribuan. Apa kriteria perangkat keras untuk mengembangkan Apache Spark dan bagaimana konfirgurasi perangkat keras tersebut, menjadi pertanyaan yang mendasar bagi pengembang Spark. Penggunaan Spark dalam sebuah node membutuhkan spesifikasi perangkat minimal agar komputasi dapat berjalan secara optimal. Sebelum menginstal Apache Spark, pastikan sistem Anda memenuhi persyaratan minimum berikut: 1. Sistem Operasi: Apache Spark dapat dijalankan di berbagai sistem operasi, termasuk Linux, macOS, dan Windows.
111 2. Memori dan Core CPU: Pastikan sistem Anda memiliki cukup memori untuk menjalankan Apache Spark. Rekomendasi minimal adalah 4GB RAM, tetapi disarankan untuk memiliki setidaknya 8GB RAM. Selain itu, jumlah core sebanyak 8-16 core per mesin lebih disarankan. 3. Penyimpanan: Pastikan Anda memiliki cukup ruang penyimpanan untuk menginstal Apache Spark dan menyimpan data yang akan diproses. Selain itu, uraian berikut juga dibutuhkan untuk pengembangan Spark dalam bentuk cluster: 1. Sistem penyimpanan: Spark umumnya menggunakan sistem penyimpan eksternal seperti HDFS atau Hbase dimana penempatan sistem penyimpannya harus menjadi perhatian. Spark sebaiknya dijalankan pada node yang sama dengan HDFS atau node berbeda pada jaringan lokal yang sama dengan HDFS. Namun, Spark disarankan untuk dijalankan pada node yang berbeda dari Hbase karena latensi yang rendah berpotensi terjadinya interferensi. 2. Disk lokal: Disk lokal berfungsi sebagai pendukung proses komputasi di memori khususnya sebagai penyimpan data yang tidak tertampung di RAM. Penggunaan empat hingga delapan disk dalam setiap node, dan konfigurasi RAID direkomendasikan untuk pengembangan Spark yang lebih handal. 3. Memori: Setiap node dipenjelasan sebelumnya disarankan untuk memiliki memori 4-8 GB, meskipun Spark dapat ditingkatkan hingga ratusan gigabyte.
112 - Namun, alokasi memori khusus untuk Spark sebaiknya kurang dari 75% sedangkan sisanya untuk sistem operasi dan chace cadangan. Batasan atas memori juga perlu diperhatikan, dimana memori di atas 200 GB tidak direkomendasikan karena berdampak pada kinerja JVM. 4. Jaringan: Ketergantungan Spark terhadap kecepatan transmisi data khususnya pada saat proses komputasi dimana data berada dalam memori. Sebaiknya Spark diterapkan pada jaringan dengan kapasitas 10 Gigabit atau lebih. Apache Spark bekerja pada Java, Python dan Hadoop, sehingga disarankan untuk menginstall perangkat lunak tersebut pada sistem Anda. Setelah spesifikasi minimal perangkat telah terpenuhi, langkah berikutnya yakni instal Apache Spark. Langkah-langka yang perlu dilakukan untuk instal Apache Spark sebagai berikut: 1. Unduh Apache Spark pada situs web resmi Apache Spark (https://spark.apache.org) dan unduh versi terbaru pada halaman (https://spark.apache.org/downloads.html). 2. Ekstrak berkas instalasi dalam format *.tgz yang telah diunduh ke direktori di sistem Anda. 3. Set environment variables dengan menambahkan path dari direktori bin Spark ke path sistem Anda. Masuk ke laman setting system kemudian akses advanced system setting seperti pada tampilan di Gambar 3.
113 Gambar 3. Tampilan layar untuk melakukan penyetingan environment variable. Kemudian buat system variable baru untuk Spark seperti tampilan pada gambar 4. Gambar 4. Tampilan layar untuk menambahkan environment variable Spark. 4. Konfigurasi berkas template konfigurasi dari direktori conf dan sesuaikan pengaturannya sesuai kebutuhan Anda. 5. Gunakan perintah yang sesuai untuk memulai Spark di mode lokal atau mode cluster, tergantung pada kebutuhan Anda. Dalam contoh ini kami sajikan sebuah spark-shell seperti pada tampilan Gambar 5. Jika Anda ingin menggunakan python, pada saat perintah
114 - gunakan pyspark sebagai ganti spark-shell yang berbasis Scala seperti pada tampilan Gambar 6. Gambar 5. Tampilan awal Spark dengan pemograman Scala Gambar 6. Tampilan awal Spark dengan pemograman Python Kinerja Apache Spark yang optimal beberapa konfigurasi dasar yang perlu dipertimbangkan sebagai berikut: 1. Pengaturan memori untuk driver dan executor agar penggunaan memori di kedua komponen tersebut optimal. Anda dapat melakukan konfigurasi pada
115 parameter spark.executor.memory dan spark.driver.memory untuk mengoptimalkan penggunaan memori oleh executor dan driver Spark. 2. Pengaturan jumlah executor yang disesuaikan dengan karakteristik pekerjaan yang akan dijalankan. 3. Pengaturan komputasi terdistribusi melalui pengaturan jumlah partisi RDD dan DataFrame pada parameter spark.default.parallelism untuk mengontrol jumlah partisi default dalam RDD dan DataFrame. 4. Optimalkan penggunaan cache untuk penyimpanan data yang sering diproses pada memori sehingga bisa mengurangi waktu pembacaan dari penyimpanan disk.
116 - udah bukan rahasia lagi bahwa big data menjadi alasan di balik kesuksesan banyak perusahaan teknologi besar. Namun, karena semakin banyak perusahaan yang menggunakannya untuk menyimpan, memproses, dan mengekstrak nilai dari volume data mereka yang besar, maka menggunakan data yang dikumpulkan tersebut dengan cara yang paling efisien menjadi tantangan bagi mereka (Christian, 2022). Machine learning dapat membantu mengelola data yang dimiliki oleh perusahaan. Semakin banyak data yang diterima oleh sistem, maka machine learning akan memberikan hasil yang lebih baik (Zhou et al., 2017). Big Data mengacu pada kumpulan data terstruktur dan tidak terstruktur yang sangat besar yang tidak dapat ditangani dengan metode tradisional. Analisis big data dapat memahami data dengan mengungkap tren dan pola yang ada. Machine learning dapat mengkategorikan data yang masuk, mengenali pola dan S
117 menerjemahkan data menjadi wawasan yang berguna untuk operasi bisnis (Christian, 2022). Teknik Machine learning (ML) telah menghasilkan dampak sosial yang besar dalam berbagai aplikasi seperti computer vision, speech processing, natural language understanding, neuroscience, kesehatan, dan Internet of Things. Munculnya era big data telah mendorong minat luas terhadap Machine learning. Algoritma ML dapat memberikan wawasan baru tentang berbagai aplikasi bisnis dan perilaku manusia. Big data memberikan informasi yang sangat kaya bagi algoritma ML untuk mengekstrak pola dasar dan membangun model prediktif. Oleh karena itu, ML memiliki potensi besar dan merupakan bagian penting dari analitik big data analytics (Zhou et al., 2017). A. Langkah Tepat Untuk Transisi Efektif ke Machine learning Machine learning dapat menjadi lompatan besar bagi bisnis. Perusahaan perlu membangun strategi berbasis Artificial Intelligence dan Machine learning yang selaras dengan tujuan bisnis mereka. Data yang berkualitas adalah kunci untuk mewujudkan potensi penuh alat machine learning. Dengan menggunakan orang yang tepat dan data yang tepat dapat membuat perbedaan besar bagi perusahaan. Saat ini jumlah data melonjak sebagai akibat dari perkembangan teknologi Web, media sosial, serta perangkat seluler dan penginderaan. Misalnya, Twitter memproses lebih dari 70 juta tweet per hari, sehingga menghasilkan lebih dari 8 TB setiap hari. Big Data ini memiliki potensi luar biasa dalam hal nilai bisnis di
118 - berbagai bidang seperti layanan kesehatan, biologi, transportasi, periklanan online, manajemen energi, dan jasa keuangan. Namun, pendekatan tradisional mengalami kesulitan ketika dihadapkan dengan data yang sangat besar (L’H_ol_or _n [f., 2017). Karena volume data terus meningkat seiring waktu, pengumpulan dan pengelolaan data menjadi tugas yang sangat berat bagi bisnis. Selain itu, seseorang juga perlu untuk menyimpulkan makna dari data yang dikumpulkan untuk meningkatkan strategi pemasaran dan meningkatkan pendapatan. Penerapan machine learning untuk analitik big data merupakan hal yang diperlukan agar penggunaan big data menjadi optimal (Christian, 2022). Revolusi Big Data menjanjikan perubahan dalam cara hidup, bekerja, dan berpikir dengan memungkinkan optimalisasi proses, memperkuat penemuan wawasan, dan meningkatkan pengambilan keputusan. Realisasi potensi besar ini bergantung pada kemampuan untuk mengekstraksi nilai dari data yang sangat besar melalui analisis data. Machine learning adalah intinya karena kemampuannya untuk belajar dari data dan memberikan wawasan, keputusan, dan prediksi berdasarkan data (L’H_ol_or _n [f., 2017). B. Apa itu Big Data? Big Data adalah kata kunci yang diciptakan untuk menggambarkan sejumlah besar data yang saat ini dihasilkan dan dikumpulkan. Big Data dapat dikelola dengan berbagai cara, dan dapat berasal dari berbagai
119 sumber seperti media sosial, lalu lintas, dan perilaku pelanggan. Konsep Big Data didefinisikan oleh Gartner [5] sebagai data dengan volume tinggi, kecepatan tinggi, dan/atau variasi tinggi yang memerlukan paradigma pemrosesan baru untuk memungkinkan penemuan wawasan, peningkatan pengambilan keputusan, dan optimalisasi proses. Menurut definisi ini, Big Data tidak dicirikan oleh metrik ukuran tertentu, melainkan oleh fakta bahwa pendekatan tradisional kesulitan memprosesnya karena ukuran, kecepatan, atau variasinya (L’H_ol_or _n [f., 2017). Salah satu penerapan Big Data adalah untuk meningkatkan efisiensi atau produktivitas perusahaan. Big Data dapat digunakan untuk meningkatkan upaya pemasaran dengan menganalisis cara pengunjung berinteraksi dengan situs web. Selain iu, Big Data juga dapat digunakan untuk memperkirakan kebutuhan dan tren pelanggan, sehingga memungkinkan kita untuk mengembangkan produk atau layanan baru dengan lebih cepat. Big Data juga dapat digunakan adalah dalam bidang kesehatan. Pada era kemajuan teknologi medis sekarang ini, dokter memiliki akses terhadap data pasien dalam jumlah besar. Data ini dapat digunakan untuk melacak gejala pasien dan mengungkap pola yang mungkin tidak terlihat. Data ini memungkinkan dokter membuat diagnosis yang lebih akurat dan memberikan layanan yang lebih baik terhadap pasiennya.
120 - C. Apa itu Machine Learning? Machine learning adalah bagian dari Artificial Intelligence yang memungkinkan komputer belajar dengan menganalisa data tanpa diprogram ulang. Hal ini dapat dicapai dengan menggunakan berbagai algoritma, yang kemudian digunakan untuk membuat prediksi atau Keputusan (Wang & Alexander, 2016). Memprediksi perilaku pelanggan adalah salah satu aplikasi Machine Learning yang paling umum. Misalnya, jika Anda memiliki bisnis dan ingin memprediksi seberapa besar kemungkinan pelanggan akan kembali berdasarkan perilaku mereka sebelumnya, Anda dapat menggunakan algoritma Machine learning. Seiring dengan berjalannya waktu, machine learning mampu meningkatkan kemampuan manusia di berbagai bidang. Penggunaan umum Big Data lainnya dalam Machine Learning adalah untuk mendeteksi penipuan. Pola dalam data yang mengindikasikan penipuan dapat dideteksi menggunakan algoritma Machine Learning. Hal ini dapat menghemat uang bisnis untuk investigasi dan penalti sekaligus membuka peluang bisnis baru. D. Hubungan antara Big Data dan Machine Learning Algoritma machine learning membantu peneliti memahami big data. Informasi yang melimpah tentang manusia dan masyarakatnya dapat diperoleh di era big data ini, dimana sebelumnya data tersebut sulit untuk didapatkan. Salah satu sumber utama data terkait manusia
121 adalah media sosial. Dengan menerapkan algoritma machine learning pada data media sosial, kita dapat memanfaatkan data historis untuk memprediksi masa depan berbagai aplikasi. Algoritma machine learning memberikan peluang untuk secara efektif memprediksi dan mendeteksi bentuk-bentuk negatif perilaku manusia, seperti cyberbullying. Analisis big data dapat mengungkap pengetahuan tersembunyi melalui pembelajaran mendalam dari data mentah (Al-Garadi et al., 2019). Big Data dan Machine Learning adalah dua teknologi terpenting dan tak tergantikan saat ini. Machine Learning memungkinkan komputer belajar secara otomatis dari data. Hubungan antara Machine Learning dan Big Data sangatlah penting, karena Big Data merupakan sumber data yang terus berkembang untuk Machine Learning (Mohmad, 2022). Big Data mengacu pada sejumlah besar data yang sulit dianalisis. Hal ini berarti bahwa aplikasi machine learning harus mampu menangani data dalam jumlah besar secara tepat waktu dan efisien. Selain itu, besarnya volume Big Data membuat seseorang sulit untuk memanfaatkannya. Algoritma Machine Learning dapat membantu mengatasi kendala tersebut dengan mendeteksi pola dalam data secara otomatis. Big data dan machine learning merupakan bidang yang saling melengkapi, dan dapat bekerja sama untuk mengajari mesin cara mengenali pola dalam kumpulan data yang kompleks dan membuat prediksi yang berharga. Big data dan machine learning dapat digunakan untuk membuat prediksi yang lebih akurat. Algoritma machine
122 - learning dilatih pada kumpulan data yang besar. Namun, Big Data dapat menyediakan data pelatihan dalam jumlah besar yang dibutuhkan oleh algoritma Machine Learning. Selain itu, dengan memberikan wawasan tambahan pada data, Big Data dapat meningkatkan akurasi algoritma Machine Learning. Misalnya, jika algoritma Machine Learning ingin memprediksi kelulusan tepat waktu di suatu perguruan tinggi, menganalisis riwayat kelulusan tepat waktu pada perguruan tinggi tersebut dapat membantu meningkatkan prediksinya (Mohmad, 2022). Big Data dan Machine Learning saling terkait karena Big Data dapat digunakan untuk melatih model Machine Learning. Model Machine learning dapat belajar mengenali pola dalam data dalam jumlah besar, yang dapat berguna untuk hal-hal seperti memperkirakan kejadian di masa depan atau memahami perilaku pelanggan (Priambodo et al., 2022). Pendekatan machine learning mencakup decision tree, association rule, artificial neural networks, support vector machines (SVM), clustering, Bayesian network, algoritma genetika, dan lain-lain. Machine learning telah digunakan dalam big data. Big data adalah sejumlah besar data terstruktur dan tidak terstruktur yang berukuran sangat besar sehingga sulit untuk diproses menggunakan database tradisional. Teknologi big data mempunyai dampak besar terhadap penemuan ilmiah dan penciptaan nilai. Selain layanan infrastruktur cloud, teknologi seperti Hadoop, NoSQL, Database/Server SQL, dll. juga digunakan untuk mendukung Big Data (Wang & Alexander, 2016).
123 E. Peluang dan Tantangan Data Preprocesing Sebagian besar upaya aktual dalam penerapan sistem Machine Learning dilakukan pada desain alur preprocessing dan transformasi data yang menghasilkan representasi data yang dapat mendukung Machine Learning yang efektif. Data preprocessing bertujuan untuk mengatasi sejumlah masalah seperti redundansi data, inkonsistensi, noise, heterogenitas, transformasi, pelabelan, imbalance data, dan representasi/seleksi fitur. Data preparation dan preprocessing biasanya memakan biaya yang besar, karena kebutuhan tenaga kerja manusia dan banyaknya pilihan yang dapat dipilih (Zhou et al., 2017). F. Redundansi Data Duplikasi muncul ketika dua atau lebih sampel data mewakili entitas yang sama. Dampak duplikasi atau inkonsistensi data pada ML bisa sangat parah. G. Data Noise Nilai yang hilang dan salah, data sparsity, dan outlier dapat menimbulkan gangguan pada ML. Solusi terhadap masalah noisy data menghadapi tantangan dalam menangani big data. Misalnya, metode manual tidak lagi dapat dilakukan karena kurangnya skalabilitas. Dalam beberapa kasus, pola yang menarik mungkin terletak pada data yang bermasalah ini, jadi penghapusan sederhana mungkin bukan alternatif yang bijaksana. Analisis prediktif data besar yang akurat dapat digunakan untuk
124 - memperkirakan nilai yang hilang, seperti mengganti pembacaan yang salah karena sensor yang tidak berfungsi. H. Heterogenitas Data Big data menjanjikan multi-view data dari berbagai jenis repositori, dalam format berbeda, dan dari sampel populasi yang berbeda sehingga sangat heterogen. Data heterogen multi-view ini (misalnya, format teks, audio, dan video yang tidak terstruktur) mungkin memiliki tingkat kepentingan yang berbeda-beda untuk tugas pembelajaran. Oleh karena itu, menggabungkan semua fitur dengan memperlakukannya sama pentingnya tidak akan menghasilkan hasil pembelajaran yang optimal. I. Pelabelan Data Metode anotasi data tradisional memerlukan banyak tenaga kerja. Beberapa metode alternatif telah diusulkan untuk mengatasi tantangan big data. Misalnya, repositori online yang dibuat oleh banyak orang yang dapat berfungsi sebagai sumber data pelatihan beranotasi gratis, yang dapat menangkap beragam variasi baik dari segi jumlah kelas maupun keragaman intra-kelas. Selain itu, pembelajaran konsep tingkat manusia dapat dicapai melalui induksi program probabilistik. J. Imbalanced Data Masalah imbalanced data dapat diatasi dengan metode stratified random sampling. Namun, prosesnya bisa sangat memakan waktu yang lama.
125 K. Feature Selection Performa Machine Learning sangat bergantung pada pilihan representasi data atau fitur. Generalisasi algoritma ML bergantung pada kumpulan data, yang juga secara tidak langsung bergantung pada fitur yang mewakili struktur penting kumpulan data. Pemilihan fitur membantu meningkatkan kinerja Machine Learning dengan mengidentifikasi fitur-fitur yang menonjol. L. Metode Machine Learning & Big Data Supervised learning dapat dibagi menjadi klasifikasi dan regresi. Ketika atribut nilai bersifat diskrit, maka disebut klasifikasi. Dan Ketika atribut nilai bersifat kontinu, maka disebut regresi. Beberapa contoh metode klasifikasi adalah Decision tree, naïve Bayes, dan k-nearest neighbour (kNN). Sedangkan contoh dari metode regresi adalah Regresi linier dan regresi logistik. Unsupervised learning adalah pembagian contoh tanpa pengawasan ke dalam kelompok objek serupa (Wang & Alexander, 2016). Decision tree mengklasifikasikan contoh berdasarkan nilai fiturnya (Fatmawati et al., 2023). Decision Tree dibangun secara rekursif dari data pelatihan menggunakan pendekatan top-down di mana fitur-fitur dipilih secara berurutan. Decision tree mengatur data pelatihan ke dalam tree. Decision tree dibangun dengan menyatakan root node yang memiliki seluruh kumpulan data, memilih kriteria pemisahan secara berulang, dan memperluas leaf nodes dengan subset data yang dipartisi sesuai dengan kriteria. Kriteria split dipilih berdasarkan beberapa ukuran kualitas
126 - seperti information gain, yang memerlukan penanganan seluruh kumpulan data dari setiap node. Hal ini menyulitkan penerapan decision tree pada aplikasi big data. Naive Bayes merupakan sebuah pengklasifikasian probabilistik sederhana yang menghitung sekumpulan probabilitas dengan menjumlahkan frekuensi dan kombinasi nilai dari dataset yang diberikan. Algoritma mengunakan teorema Bayes dan mengasumsikan semua atribut independen atau tidak saling ketergantungan yang diberikan oleh nilai pada variabel kelas (Kawani, 2015). Metode Naive Bayes merupakan salah satu metode klasifikasi berdasarkan probabilitas kata kunci dalam membandingkan data training dan data testing (Fitri Handayani & Feddy Setio Pribadi, 2015). M. Kerangka Machine Learning pada Big Data Kerangka kerja ML pada big data ditunjukkan pada Gambar 1. Kerangka kerja ML pada big data berpusat pada komponen machine learning, yang berinteraksi dengan empat komponen lainnya, termasuk big data, pengguna, domain, dan sistem. Interaksinya terjadi dua arah. Misalnya, big data berfungsi sebagai masukan bagi komponen pembelajaran dan komponen pembelajaran menghasilkan keluaran, yang kemudian menjadi bagian dari big data; pengguna dapat berinteraksi dengan komponen pembelajaran dengan memberikan pengetahuan domain, preferensi pribadi dan feedback terhadap usabilitas, dan dengan memanfaatkan hasil pembelajaran untuk meningkatkan pengambilan keputusan; domain dapat berfungsi baik sebagai sumber pengetahuan untuk
127 memandu proses pembelajaran maupun sebagai konteks penerapan model yang dipelajari; arsitektur sistem berdampak pada bagaimana algoritma pembelajaran harus dijalankan dan seberapa efisien algoritma tersebut dijalankan, dan secara bersamaan memenuhi kebutuhan pembelajaran dapat mengarah pada desain bersama arsitektur system (Zhou et al., 2017). Big Data Pengguna Domain Sistem Preprocessing Pembelajaran Evaluasi Gambar 1. Kerangka kerja Machine Learning pada Big Data N. Contoh Aplikasi Machine Learning Pada Big Data Big data telah digunakan untuk menganalisis data kejahatan yang ada. Analisis juga dapat dilakukan dengan melakukan kombinasi teknik machine learning, seperti supervised and unsupervised. Kombinasi tersebut mencakup tiga langkah: reduksi dimensi, pengelompokan, dan klasifikasi. Software statistik R dapat digunakan untuk menangani hal tersebut. Pekerjaan spesifiknya diuraikan sebagai berikut (Wang & Alexander, 2016):
128 - 1. Mengukur korelasi antara kejahatan dan atribut sosial. Dengan menggunakan metode ini maka dapat mengurangi dimensi data kejahatan 2. Dengan menggunakan teknik unsupervised machine learning untuk membagi data kejahatan menjadi beberapa kelompok; kemudian algoritma k-means clustering digunakan untuk mengkluster data kejahatan ke dalam wilayah berbahaya, rata-rata, dan aman 3. Dengan menggunakan teknik supervised machine learning untuk memprediksi apakah suatu wilayah berbahaya atau aman; menggunakan algoritma klasifikasi decision tree untuk melakukan prediksi Analisis dan penambangan data social network untuk isu-isu masyarakat dilakukan dengan menggunakan Big Data. Penambangan data sosial adalah proses menganalisis, merepresentasikan, serta mengekstraksi pola yang dapat ditindaklanjuti dari data social network. Machine learning dan algoritma stemming digunakan untuk mengklasifikasikan tweet. Tweet sering kali berbentuk big data. Fitur prediksi dari tweet diambil dari kumpulan tweet; stopping words telah dihapus; dan semua kata kunci dipilih. Karena tweet sangat pendek dan mungkin berisi kalimat yang tidak lengkap, arti dari tweet tersebut mungkin ambigu. Dalam machine learning, support vector machines (SVM) adalah model supervised dengan algoritma pembelajaran terkait yang menganalisis semua data yang digunakan untuk klasifikasi tweet. Algoritma stemming menggunakan tugas pre-processing dalam text mining dan dapat digunakan sebagai persyaratan umum fungsi pemrosesan bahasa alami. Algoritma stemming digunakan untuk mengekstrak
129 keywords utama atau root words dari tweet. Algoritma stemming dapat diterapkan untuk memprediksi kata kunci dari tweet. Semua kata kunci diklasifikasikan berdasarkan algoritma SVM (Wang & Alexander, 2016).
130 - i era ledakan informasi, Big Data telah muncul sebagai alat ampuh yang mendorong inovasi dan pengambilan keputusan di berbagai sektor. Namun, kekuatan Big Data yang sangat besar disertai dengan pertimbangan etis yang signifikan. Bab ini mengeksplorasi dimensi etika Big Data, mengkaji isu-isu utama seperti privasi, keadilan, transparansi, akuntabilitas, dan tanggung jawab sosial. A. Masalah Privasi dalam Big Data: Big Data sering kali melibatkan pengumpulan dan analisis data pribadi dalam jumlah besar, sehingga menimbulkan masalah privasi yang serius. Bagian ini menggali tantangan dalam menjaga privasi individu di era Big Data, membahas teknik seperti anonimisasi, enkripsi, dan minimalisasi data. Selain itu, hal ini juga membahas implikasi etis dari pelanggaran data dan pentingnya persetujuan berdasarkan informasi dalam praktik pengumpulan data (Mayer-Schönberger & Cukier, 2013). D
131 Masalah privasi di Big Data muncul karena meningkatnya ekstraksi dan pembagian data terkait pengguna, terutama dari sumber seperti media sosial, sensor, GPS, clickstream, dan data log. Pengguna khawatir akan manipulasi dan potensi penyalahgunaan informasi pribadi mereka, sehingga menyebabkan keengganan dalam memberikan data akurat, yang dikenal sebagai masalah 'blackhole'" (Mayer-Schönberger & Cukier, 2013). Berbagai penelitian telah menunjukkan kemampuan untuk mengekstrak informasi sensitif, seperti lokasi pengguna, preferensi, dan hubungan, dari data media sosial. Karakteristik Big Data, termasuk volume, kecepatan, dan variasi, memperburuk masalah privasi, karena kumpulan data yang besar meningkatkan risiko pelanggaran dan pelanggaran keamanan (Boyd & Crawford, 2012). Analisis data berkecepatan tinggi secara real-time memerlukan langkah-langkah keamanan yang kuat untuk melindungi privasi konsumen. Organisasi sering kali kekurangan pendekatan komprehensif untuk mengatasi masalah keamanan dan privasi terkait Big Data. Banyak yang masih mengandalkan database tradisional, meskipun ada tantangan unik yang ditimbulkan oleh analisis Big Data (Ohm, 2010). Konsumen mengungkapkan keprihatinan mendalam mengenai ketidakjujuran dan penyalahgunaan informasi pribadi oleh pelaku bisnis, sehingga mengarah pada tindakan seperti menonaktifkan fitur pelacakan lokasi dan menentang penggunaan sekunder atas data yang dikumpulkan (Boyd & Crawford, 2012).
132 - Singkatnya, permasalahan privasi di Big Data berasal dari banyaknya dan beragamnya sumber data yang dikumpulkan, potensi penyalahgunaan dan manipulasi, serta kurangnya tindakan yang diambil oleh organisasi untuk mengatasi masalah keamanan dan privasi. Hal ini menggarisbawahi perlunya langkah-langkah perlindungan privasi yang kuat, praktik penanganan data yang transparan, dan upaya membangun kepercayaan konsumen oleh bisnis dan organisasi yang terlibat dalam analisis Big Data. B. Mitigasi Keadilan dan Bias Meskipun analisis Big Data memiliki potensi besar untuk meningkatkan proses pengambilan keputusan, kekhawatiran tentang kemungkinan adanya bias dalam algoritma yang digunakan menjadi semakin menonjol. Ditemukan bahwa algoritma prediktif yang digunakan oleh beberapa kepolisian menunjukkan kecenderungan bias rasial, menyebabkan penargetan yang tidak proporsional terhadap komunitas minoritas (Angwin et al., 2016). Demikian pula, studi oleh Buolamwini dan Gebru (2018) menemukan adanya bias gender dan ras dalam perangkat lunak pengenalan wajah, mengarah pada identifikasi yang tidak akurat atau diskriminatif. Untuk mengatasi tantangan ini, ada peningkatan upaya dalam mengembangkan teknik dan strategi untuk mendeteksi, memitigasi, dan mencegah bias dalam algoritma Big Data. Langkah-langkah seperti penerapan algoritma pembelajaran mesin yang sadar akan keadilan dan audit menyeluruh terhadap algoritma menjadi penting
133 untuk memastikan operasionalitas yang adil (Buolamwini & Gebru, 2018; Angwin et al., 2016). Selain itu, penting untuk memastikan keterwakilan yang beragam dan inklusif dalam data yang digunakan untuk melatih dan menguji model algoritma, sehingga hasilnya lebih adil dan akurat. Mendorong keberagaman dan inklusivitas dalam tim ilmu data dan industri teknologi menjadi esensial dalam mengatasi bias dalam algoritma Big Data. Penelitian menunjukkan bahwa tim yang beragam lebih siap untuk mengidentifikasi dan menangani bias, menghasilkan hasil yang lebih adil dan inklusif (Hong & Page, 2004). Dengan demikian, memperhatikan keberagaman dalam tim menjadi kunci dalam memastikan keadilan dalam analisis data. Singkatnya, penting untuk mengatasi implikasi etis dari keadilan dan bias dalam sistem algoritmik. Dengan menerapkan langkah-langkah proaktif dan mendorong keberagaman dan inklusivitas, para pemangku kepentingan dapat berupaya mengurangi bias dan menciptakan solusi berbasis data yang lebih adil. C. Transparansi dan Akuntabilitas Transparansi dan akuntabilitas adalah prinsip dasar yang tidak bisa dipandang sebelah mata dalam penggunaan Big Data yang bertanggung jawab. Dalam konteks ini, penting untuk memahami dan mengeksplorasi secara mendalam etika transparansi dalam seluruh proses pengelolaan data, mulai dari pengumpulan hingga pengambilan keputusan. Hal ini mencakup upaya untuk menjelaskan secara jelas praktik data kepada individu dan mengembangkan mekanisme yang memungkinkan
134 - pertanggungjawaban organisasi atas tindakan mereka terkait data. Penelitian yang dilakukan oleh Culnan dan Williams (2009) menegaskan pentingnya komunikasi yang transparan tentang praktik pengelolaan data dalam membangun kepercayaan dan keterlibatan pengguna. Dengan transparansi yang ditekankan dalam seluruh tahapan siklus hidup data, individu memiliki kekuatan untuk membuat keputusan yang tepat mengenai privasi dan persetujuan mereka. Mekanisme akuntabilitas, sebagaimana disoroti oleh Mittelstadt dkk. (2016), merupakan langkah penting dalam memastikan bahwa organisasi bertanggung jawab atas tindakan mereka terkait data. Hal ini mencakup penetapan kerangka kerja pengawasan yang ketat untuk memantau kepatuhan terhadap peraturan perlindungan data dan standar etika, serta memungkinkan individu untuk mencari ganti rugi atas keputusan merugikan yang dibuat oleh sistem otomatis. Pentingnya studi kasus dalam memberikan wawasan mengenai konsekuensi dari praktik data yang tidak transparan juga tidak boleh diabaikan. Contoh seperti skandal Cambridge Analytica, yang didokumentasikan oleh Cadwalladr dan Graham-Harrison (2018), menyoroti urgensi transparansi dan akuntabilitas yang lebih besar dalam praktik pengumpulan dan pemrosesan data untuk melindungi hak privasi dan otonomi individu. Dalam rangka memastikan bahwa Big Data digunakan dengan bertanggung jawab, tidak dapat dipungkiri bahwa transparansi dan akuntabilitas merupakan pilar utama.
135 Dengan mendorong transparansi dalam praktik data dan memperkuat mekanisme akuntabilitas, organisasi dapat membangun kepercayaan, menjunjung tinggi standar etika, dan mengurangi risiko terkait pengambilan keputusan berbasis data. D. Tantangan Etis dalam Tata Kelola Data Tata kelola data yang efektif sangat penting untuk menegakkan standar etika dalam inisiatif Big Data. Bagian ini mengkaji tantangan etika yang terkait dengan kerangka tata kelola data, termasuk masalah kepemilikan data, pengelolaan, dan hak akses. Laporan ini juga mengeksplorasi ketegangan antara pembagian data demi keuntungan masyarakat dan perlindungan hak dan kepentingan individu. Pernyataan tersebut menyoroti tantangan etika yang melekat dalam kerangka tata kelola data, dan menekankan pentingnya tata kelola data yang efektif dalam menegakkan standar etika dalam inisiatif Big Data. Berikut penjelasan yang didukung oleh kutipan yang relevan: 1. Kepemilikan Data: Salah satu tantangan etika dalam tata kelola data berkisar pada konsep kepemilikan data. Kepemilikan data mengacu pada hak dan tanggung jawab hukum dan etika yang terkait dengan kontrol dan penggunaan data. Para pakar seperti Floridi (2014) berpendapat bahwa gagasan tradisional tentang kepemilikan data tidak memadai dalam konteks Big Data, di mana data sering kali dikumpulkan dari berbagai sumber dan dibagikan ke berbagai entitas. Hal ini menimbulkan pertanyaan tentang siapa pemilik
136 - data, siapa yang berhak mengakses dan menggunakannya, dan bagaimana hak kepemilikan data harus dialokasikan dan ditegakkan. 2. Pengelolaan Data: Pengelolaan data melibatkan pengelolaan dan pengawasan data yang bertanggung jawab sepanjang siklus hidupnya. Pertimbangan etis muncul mengenai tugas dan kewajiban pengelola data untuk memastikan penggunaan data yang etis, melindungi hak privasi individu, dan mencegah penyalahgunaan data. Sebuah studi oleh Johnston dkk. (2019) mengeksplorasi dimensi etika pengelolaan data dalam layanan kesehatan, menyoroti pentingnya kerangka kerja dan pedoman etika untuk memandu praktik pengelolaan data dan pengambilan keputusan. 3. Hak Akses: Tantangan etis lainnya dalam tata kelola data berkaitan dengan hak akses, khususnya ketegangan antara memfasilitasi pembagian data demi keuntungan masyarakat dan menjaga hak dan kepentingan individu. Meskipun berbagi data dapat mendorong inovasi dan kemajuan masyarakat, hal ini juga menimbulkan kekhawatiran mengenai privasi, persetujuan, dan keamanan data. Penelitian yang dilakukan oleh Mittelstadt dan Floridi (2016) menyelidiki implikasi etis dari berbagi data, menekankan perlunya mekanisme untuk menyeimbangkan manfaat berbagi data dengan perlindungan privasi dan otonomi individu. 4. Ketegangan antara Manfaat Masyarakat dan Hak Individu: Terdapat ketegangan yang melekat antara memaksimalkan manfaat sosial dari inisiatif berbasis data dan melindungi hak dan kepentingan individu.
137 Ketegangan ini terlihat dalam perdebatan seputar isuisu seperti anonimisasi data, bias algoritmik, dan pengawasan. Cendekiawan seperti Taylor dkk. (2017) membahas dilema etika yang timbul dari penggunaan data untuk kepentingan publik dengan tetap menghormati privasi dan otonomi individu. Singkatnya, tata kelola data yang efektif sangat penting untuk mengatasi tantangan etika yang melekat dalam inisiatif Big Data. Dengan mengatasi permasalahan kepemilikan data, pengelolaan, hak akses, dan ketegangan antara manfaat sosial dan hak individu, organisasi dapat mengembangkan kerangka kerja etis dan kebijakan untuk memandu pengelolaan data yang bertanggung jawab dan pengambilan keputusan. E. Tanggung Jawab Sosial dan Big Data Big Data berpotensi mendorong perubahan sosial yang positif, namun juga menimbulkan risiko terhadap populasi rentan dan norma-norma sosial. Bagian ini membahas tanggung jawab etis organisasi dan praktisi data dalam mengatasi implikasi sosial yang lebih luas dari Big Data, termasuk isu keadilan sosial, kelestarian lingkungan, dan hak asasi manusia. Hal ini menekankan pentingnya memasukkan pertimbangan etis ke dalam desain dan implementasi solusi berbasis data. Pernyataan tersebut menggarisbawahi sifat ganda dari Big Data, mengakui potensinya untuk membawa perubahan sosial yang positif dan juga mengakui risiko yang ditimbulkannya terhadap populasi rentan dan norma-
138 - norma sosial. Berikut penjelasan yang didukung oleh kutipan yang relevan: 1. Analisis Big Data dapat mendorong perubahan masyarakat yang positif dengan memungkinkan pengambilan keputusan lebih tepat, meningkatkan layanan publik, dan mendorong inovasi di berbagai sektor (Manyika dkk., 2011). 2. Meskipun memiliki potensi manfaat, Big Data juga membawa risiko terhadap populasi rentan, termasuk kekhawatiran terkait pelanggaran privasi, diskriminasi, dan pengucilan sosial (Pasquale, 2015; Eubanks, 2018). 3. Organisasi dan praktisi data memiliki tanggung jawab etis untuk mengatasi dampak sosial yang lebih luas dari Big Data, termasuk memastikan keadilan, transparansi, dan akuntabilitas dalam pengumpulan, analisis, dan penggunaan data (Mittelstadt & Floridi, 2016). 4. Penerapan Big Data dapat memengaruhi aspek-aspek masyarakat seperti keadilan sosial, kelestarian lingkungan, dan hak asasi manusia, dengan contoh kontribusi pada kelestarian lingkungan dan implikasi etis terhadap hak asasi manusia (Capgemini Research Institute, 2020; Greenwald et al., 2019; Macrina, 2015). Singkatnya, mengatasi dampak sosial yang lebih luas dari Big Data memerlukan upaya bersama untuk menyeimbangkan potensi manfaatnya dengan pertimbangan etis dan strategi mitigasi risiko. Dengan menerapkan prinsip tanggung jawab sosial, organisasi dan praktisi data dapat berkontribusi pada penggunaan Big Data yang etis dan bertanggung jawab demi kemajuan masyarakat.