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

  • Daftar Sekarang! Beasiswa S2 di Italia dari IYT Scholarship 2026 Sudah Dibuka
  • Sejarah Hantavirus dan Perkembangannya Sampai ke Indonesia
  • Kementerian Pendidikan: Mapel Bahasa Inggris Wajib di SD Mulai 2027!
  • Ketua Fraksi PKB MPR-RI: Kemenag Respon Cepat Pendidikan Santri Ndolo Kusumo Pati yang Terdampak
  • Viral Video Sejoli Di Balai Kota Panggul Trenggalek, Satpol PP Janji Usut
  • Video Viral Wakil Wali Kota Batam Tegur Keras Pasir Ilegal
  • LPDP Buka Peluang Beasiswa S3 Prancis 2026, Simak Syaratnya!
  • Inilah Panduan Lengkap dan Aturan Main Seleksi Penerimaan Murid Baru (SPMB) SMA dan SMK Negeri Jawa Tengah Tahun 2026
  • Inilah Syarat dan Cara Daftar MOFA Taiwan Fellowship 2027
  • RESMI! Inilah Macam Jalur di SPMB Sekolah Tahun Ajaran 2026
  • Ini Loh Rute Terbaru TransJOGJA Per Mei 2026, Jangan Salah Naik!
  • Inilah Jadwal Operasional MRT Jakarta Per Mei 2026, Berubah Dimana?
  • Inilah Syarat dan Mekanisme Seleksi Siswa Unggul ITB Jalur Talenta (OSN, Seniman, Hafidz, Atlet dll) 2026/2027
  • Inilah Daftar Saham Farmasi di BEI Per Mei 2026, Pilih Mana?
  • Kesehatan Mental Itu Penting: Inilah Isi Chat Terakhir Karyawan Minimarket Sukabumi Bundir
  • Inilah Kampus Swasta Terbaik Jurusan Farmasi di Area Malang Raya
  • Cara Login EMIS 4.0 Kemenag Terbaru 2026 Pakai Akun Lembaga dan PTK Guru Madrasah Aktivasi
  • Survei Parpol Terbaru: Gerindra Unggul, PDIP Ketiga, PKB 5%
  • PKB Resmi Jalin Kerjasama dengan Institut Teknologi & Sains NU Kalimantan
  • Inilah Urutan Terbaru Pangkat TNI Angkatan Darat! (Update 2026)
  • Inilah Panduan Lengkap Operator Sekolah Mengelola SPTJM e-Ijazah dan Menghindari Kesalahan Fatal Data Kelulusan
  • Inilah Syarat dan Penilaian Seleksi Siswa Unggul ITB Jalur UTBK
  • Download Video Viral Guru Bahasa Inggris? Awas Berisi Virus!
  • PKB Minta Kasus C4bul Pendiri Ponpes Pati Tidak Ada Ampunan & Tuntutan Maksimal
  • Inilah Kronologi Video Viral Preman vs Sopir Di Sumedang
  • Ini Alasan UKP Pariwisata Disindir Konten Kreator Drone Gunung Rinjani
  • Inilah Kronologi Viral Video Dugaan Asusila Pegawai Disdik Pasuruan di Mobil Dinas
  • Polisi Polda Sumut Resmi Dipecat: Dari Video Viral Sampai Sidang Etik Ini Kronologinya
  • 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)
  • 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
  • Testing Baidu Ernie 5.1, ultra-efficient thinking mode to solve your most complex coding and reasoning challenges with ease
  • How to Evaluate AI Logic Performance Using DeepSeek V4 Flash Think and Gemini 3.1 Flash Light in Complex Reasoning Tests
  • How to Build Your Own Content Factory Using the New Google NotebookLM Intelligence Updates
  • How to Use DFlash for Blazing Fast AI Text Generation on Gemma 4 26B
  • How to Optimize Your AI Agent Using Compiled Knowledge Layers to Replace Traditional RAG Systems
  • 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