Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Belajar JAVA: Pemrograman JAVA dengan Database MongoDB

Posted on October 15, 2011

Pendahuluan

Menyambung seri belajar MongoDB yang dulu dan melengkapi tutorial tentang JAVA dalam web ini. Kali ini kita akan belajar membuat program berbasis bahasa pemrograman JAVA dengan database MongoDB. Sebaiknya anda sudah membaca tutorial-tutorial sebelumnya tentang Apa itu MongoDB dan bagaimana Instalasinya (lihat pada Tulisan terkait dibawah post ini).

Yang perlu anda ingat dari MongoDB:

  • MongoDB secara otomatis akan membuatkan Database, Collection, Document, beserta field di dalamnya jika Anda belum pernah membuatnya. Dengan demikian Anda tidak perlu membuat batch SQL yang begitu panjang untuk persiapan membuat database.
  • Setiap document yang dibuat dalam MongoDB akan selalu memiliki index id yang unik. Hal ini secara global dapat mempercepat proses pencarian data.
  • MongoDB lebih mudah diimplementasikan dalam database berukuran besar yang terpisah dalam banyak server. Berbeda dengan RDBMS yang cukup sulit dalam melakukan konfigurasinya.
  • MongoDB tetap dapat membuat record yang berelasi terhadap record lainnya.

Instalasi MongoDB di Windows

  • Unduh file MongoDB dari http://www.mongodb.org/downloads/ pilih versi Windows,
  • Ekstrak file Zip tersebut pada direktori C:\ dan ubah namanyanya menjadi C:\mongodb
  • Buat direktori data untuk MongoDB di C:\data\db (harus seperti ini)
  • Jalankan daemon MongoDB mongod.exe yang berada di C:\mongodb\bin\

Pemrograman Aplikasi

  • Jalankan IDE anda (saya menggunakan Netbeans)
  • Unduh library MongoDB untuk Java di https://github.com/mongodb/mongo-java-driver/downloads
  • Pada project Java anda, klik kanan, pilih Properties -> Add Jar/Folder,
  • Pilih file Jar MongoDB yang anda unduh tadi, tekan OK
  • Pada source Main.Java atau class Java anda Importlah com.mongodb.* (sekalian biar mudah)
  • Definisikan object baru untuk layer database MongoDB

[sourcecode language=”java”]

package latihanmongodb;

import com.mongodb.*;

public class LatihanMongoDB {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws MongoException {
try {
// TODO code application logic here
Mongo mongo = new Mongo();

} catch (Exception ex) {
ex.printStackTrace();
}

}
}

[/sourcecode]

Untuk select database dan tabel dalam MongoDB (atau istilah tepatnya collection), buat object baru sebagai object Collection dengan pola db.getCollection(nama_tabel),kemudian gunakan perintah getCollection(). Contoh:

[sourcecode language=”java”]
DB db = mongo.getDB("akademik");
DBCollection collection = db.getCollection("mahasiswa");
[/sourcecode]

Untuk insert record ke dalam collection/tabel MongoDB, buat dulu sebuah object yang merepresentasikan BasicDBObject() (khusus MongoDB), dan masukkan dengan fungsi nama_object_collection.insert(nama object);

[sourcecode language=”java”]
BasicDBObject object = new BasicDBObject();
object.put("nim", "5301405005");
object.put("nama", "Luthfi Emka");

collection.insert(object);
[/sourcecode]

Untuk select data/record, buat sebuah object baru dari ArrayList dan DBCursor mongodb, dan tampilkan dengan while nama_object_list.add(nama_object_basicdb), contoh:

[sourcecode language=”java”]
ArrayList list = new ArrayList();

DBCursor cursor = collection.find();
while (cursor.hasNext()) {
DBObject object = cursor.next();
list.add(object);
}
[/sourcecode]

Untuk mengupdate/mengubah sebuah record pada mongodb gunakan method update(), contoh:

[sourcecode language=”java”]
BasicDBObject kriteria = new BasicDBObject();
kriteria.put("nim", "5301405005"); // cari data dengan nim = 5301405005

BasicDBObject object = new BasicDBObject();
object.put("nim", "530140500");
object.put("nama", "Luthfi Maslichul Kurniawan"); //diganti namanya

collection.update(kriteria, object); //eksekusi untuk mengupdate data
[/sourcecode]

Untuk menghapus data pada suatu tabel/collection, gunakan method remove(). Contoh:

[sourcecode language=”java”]
BasicDBObject kriteria = new BasicDBObject();
kriteria.put("nim", "5301405008"); //where nim=’5301405008′

collection.remove(kriteria);
[/sourcecode]

NB. Selalu tutup koneksi database MongoDB sehingga aplikasi lain dapat menggunakannya, gunakan fungsi mongo.close();

Berikut sourcecode lengkapnya:

[sourcecode language=”java”]

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihanmongodb;

import com.mongodb.BasicDBObject;
import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoException;
import java.util.ArrayList;
import java.util.Arrays;

/**
*
* @author Luthfi Emka
*/
public class LatihanMongoDB {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws MongoException {
try {
// TODO code application logic here
Mongo mongo = new Mongo();

//select database akademik
DB db = mongo.getDB("akademik");
//select tabel mahasiswa
DBCollection collection = db.getCollection("mahasiswa");

//insert data
BasicDBObject object = new BasicDBObject();
object.put("nim", "5301405005");
object.put("nama", "Luthfi Emka");

object.put("nim", "5301405006");
object.put("nama", "Emka");

collection.insert(object);

//select dan tampilkan data yang ada
ArrayList list = new ArrayList();

DBCursor cursor = collection.find();
while (cursor.hasNext()) {
DBObject object_cursor = cursor.next();
list.add(object_cursor);
}
} catch (Exception ex) {
ex.printStackTrace();
}

}
}

[/sourcecode]

Download Source Code Latihan

  • via emka.web.id: https://emka.web.id/wp-content/uploads/2011/10/LatihanMongoDB.7z
  • via Uploaded: http://ul.to/oejuriia
  • via Ziddu: http://www.ziddu.com/download/16841044/LatihanMongoDB.7z.html

Terbaru

  • ASUS ExpertBook Ultra: Produk Flagship yang Cerminkan Kepemimpinan ASUS di Pasar Global
  • Inilah Tahapan dan Syarat Pendaftaran Beasiswa Garuda 2026 Gelombang II (25 Mei – 25 Juni 2026)
  • Ini Maksud Soal Tugas Guru Non-ASN Berakhir 2027!
  • Apa Itu Siscamling? Inilah Cara Mengaktifkan Paket Anti Spam Telkomsel
  • Sah, Nilai TKA Jadi Salah Satu Komponen Seleksi Siswa SPMB Secara Nasional 2026
  • Inilah 3 Lagi Pinjol Ilegal Menurut OJK Tahun 2026
  • Cara Login Proktor Browser OSN Mode Online, Uji Coba OSN Semua Jenjang Terbaru
  • Inilah Link Web Komunikasi OSN 2026 anbk.kemendikdasmen.go.id/osnk ANBK Kemendikdasmen untuk Simulasi
  • Inilah Jadwal Pembagian Deviden BBRI 2026, Siap-siap!
  • Ini Alasan Kenapa Followers IG Berkurang Sendiri Mei 2026?
  • Panduan Download vhd-osnk-2025_fresh versi 29.25.5.0 untuk Uji Coba OSN-K SMA SMP Sederajat 2026
  • Iniloh Syarat dan Komponen Nilai Seleksi Siswa Unggul ITB Jalur Nilai Rapor 2026/2027
  • Inilah Syarat dan Prosedur Ikut Seleksi Siswa Unggul ITB Jalur Tes Tulis 2026/2027
  • Inilah Kronologi & Latar Belakang Kasus Erin Taulany vs ART Hera: Masalah Facebook Pro?
  • Inilah Alasan Kenapa Ending Film Children of Heaven diubah di Indonesia
  • Ini Alasan Hanny Kristianto Cabut Sertifikat Mualaf Richard Lee
  • Inilah Syarat Dokumen SSU ITB 2024-2026 yang Wajib Kalian Siapkan Supaya Nggak Gagal Seleksi Administrasi
  • Inilah Episyrphus Balteatus, Lalat Unik Penyamar yang Sangat Bermanfaat bagi Taman Kalian
  • Inilah Cara Lolos Seleksi Siswa Unggul ITB Lewat Jalur Tes Tulis Biar Jadi Mahasiswa Ganesha
  • Inilah Penemuan Fosil Hadrosaurus yang Ungkap Bahwa Penyakit Langka Manusia Sudah Ada Sejak Zaman Prasejarah
  • Inilah Penemuan Terbaru yang Mengungkap Bahwa Sunburn Ternyata Disebabkan Oleh Kerusakan RNA
  • Inilah Alasan Kenapa Manusia Lebih Sering Hamil Satu Bayi daripada Kembar Menurut Penelitian Terbaru
  • Inilah Syarat dan Cara Pendaftaran IMEI Internasional Mulai Mei 2026
  • Bocoran Spek Samsung Galaxy S27 Ultra Nih, Kamera 3X Hilang + Teknologi AI
  • Inilah Perbedaan Motorola G47 dan Motorola G45, Cuma Kamera 108 Megapiksel Doang?
  • Update Baru Google Gemini: Bisa Bikin File Word, PDF, Excel secara Otomatis
  • Rekomendasi Motor Listrik 2026 Anti Mogok!
  • Ini Loh Honda Vision 110, Motor Baru Seharga Beat & Rangka eSAF Khusus Pasar Eropa
  • Inilah Mobil-Mobil Paling Cocok Transisi ke Bioetanol E20 dan Biodiesel B50!
  • Inilah Ternyata Batas Minimal Daya Cas Mobil Listrik di Rumah
  • How to build a high-performance private photo cloud with Immich and TrueNAS SCALE
  • How to Build an Endgame Local AI Agent Setup Using an 8-Node NVIDIA Cluster with 1TB Memory
  • How to Master Windows Event Logs to Level Up Your Cybersecurity Investigations and SOC Career
  • How to Build Ultra-Resilient Databases with Amazon Aurora Global Database and RDS Proxy for Maximum Uptime and Performance
  • How to Build Real-Time Personalization Systems Using AWS Agentic AI to Make Every User Feel Special
  • How to Write Super Fast GPU Kernels in Python Using CUTLASS and JAX for Your Deep Learning Projects
  • How to set up OpenClaw and build your own local AI assistant plugins with ease
  • How to Create Stunning Cinematic AI Videos Using the New Higgsfield Canvas Node-Based Architecture
  • How to master Google Pomelli for automated on-brand marketing campaigns in minutes
  • Whats New in OpenClaw 5.6 Release?
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme