digilib@itb.ac.id +62 812 2508 8800

Cassandra merupakan sistem manajemen basis data atau database management system (DBMS) NoSQL column-family yang menyimpan data berdasarkan row, mirip dengan basis data relasional. Pada relasional, mengolah data menggunakan operasi join merupakan hal yang umum. Sementara itu, pada Cassandra, basis data dirancang untuk tidak menggunakan operasi join. Padahal, kebutuhan akan operasi join tetap memungkinkan apabila ada kebutuhan baru yang tidak terduga. Solusi yang ditawarkan untuk kebutuhan ini adalah dengan melakukan denormalisasi tabel untuk tiap kebutuhan join. Namun, solusi ini tidak dapat digunakan jika basis data telah digunakan. Oleh karena itu, penelitian ini akan mengembangkan library join untuk DBMS Cassandra. Ide untuk melakukan operasi join diawali dengan memahami cara kerja internal Cassandra, memahami cara untuk mengambil data dari Cassandra, dan menentukan algoritma join yang akan digunakan pada pengembangan. Dari berbagai algoritma join yang mungkin, dipilih algoritma dengan perkiraan kinerja terbaik untuk diimplementasikan pada solusi yaitu algoritma hybrid hash join dan block nested loop join. Selanjutnya, pengembangan library join didasari oleh kebutuhan fungsional dan model analisis perangkat lunak seperti use case diagram, class diagram, dan sequence diagram. Library join yang dikembangkan dapat mendukung operasi join jenis inner maupun outer dan operator equi-join maupun non equi-join. Dijabarkan juga teknologi yang dipakai dan hal-hal teknis terkait pembangunan library join. Berdasarkan hasil pengujian library, library join yang dikembangkan dapat menjalankan operasi join dengan efektif. Berdasarkan hasil pengujian kinerja, hanya algoritma hybrid hash join yang layak untuk digunakan pada data berukuran kecil hingga besar. Sementara itu, algoritma nested loop join memiliki kinerja yang lambat ketika menangani data besar.