π’ 1. Pengertian Query Lanjutan MongoDB
π Pengertian
Query lanjutan MongoDB adalah teknik pencarian dan manipulasi data menggunakan operator, filter, aggregation, dan pipeline yang lebih kompleks.
π Fungsi Query Lanjutan
- Memfilter data kompleks
- Analisis data
- Statistik database
- Pengelompokan data
- Optimasi pencarian
πΌοΈ Ilustrasi Query MongoDB
8
π Narasi
Pada aplikasi modern, data tidak cukup hanya ditampilkan saja, tetapi perlu dianalisis, dihitung, dikelompokkan, dan difilter menggunakan query yang lebih kompleks.
π‘ 2. Review Dasar Query MongoDB
π Query Dasar find()
Menampilkan Semua Data
db.mahasiswa.find()
Menampilkan Berdasarkan Kondisi
db.mahasiswa.find({
jurusan: "Informatika"
})
π Struktur Query
db.collection.find(
{ kondisi },
{ field }
)
πΌοΈ Diagram Dasar Query MongoDB
7
π Narasi
Query dasar menjadi fondasi sebelum mempelajari query lanjutan dan aggregation.
π‘ 3. Operator Perbandingan MongoDB
π Jenis Operator
| Operator | Fungsi |
|---|---|
| $eq | Sama dengan |
| $ne | Tidak sama |
| $gt | Lebih besar |
| $gte | Lebih besar sama dengan |
| $lt | Lebih kecil |
| $lte | Lebih kecil sama dengan |
π Contoh Operator $gt
db.mahasiswa.find({
semester: { $gt: 4 }
})
π Contoh Operator $lte
db.mahasiswa.find({
semester: { $lte: 2 }
})
πΌοΈ Ilustrasi Operator Query
7
π Narasi
Operator perbandingan membantu proses filtering data berdasarkan kondisi tertentu.
π‘ 4. Operator Logika MongoDB
π Jenis Operator Logika
| Operator | Fungsi |
|---|---|
| $and | Dan |
| $or | Atau |
| $not | Negasi |
| $nor | Bukan keduanya |
π Contoh Operator $and
db.mahasiswa.find({
$and: [
{ jurusan: "Informatika" },
{ semester: 4 }
]
})
π Contoh Operator $or
db.mahasiswa.find({
$or: [
{ semester: 2 },
{ semester: 4 }
]
})
πΌοΈ Diagram Operator Logika
6
π Narasi
Operator logika digunakan untuk membuat query yang lebih kompleks dan fleksibel.
π‘ 5. Query Array MongoDB
π Pengertian
MongoDB mendukung penyimpanan data berbentuk array.
π Contoh Data Array
{
"nama": "Budi",
"hobi": ["Gaming", "Coding", "Membaca"]
}
π Query Array
db.mahasiswa.find({
hobi: "Coding"
})
π Operator Array
| Operator | Fungsi |
|---|---|
| $all | Semua elemen |
| $in | Salah satu elemen |
| $size | Jumlah elemen |
π Contoh $size
db.mahasiswa.find({
hobi: { $size: 3 }
})
πΌοΈ Diagram Query Array MongoDB
10
π Narasi
Array sangat sering digunakan pada aplikasi modern seperti media sosial dan e-commerce.
π‘ 6. Projection pada MongoDB
π Pengertian Projection
Projection digunakan untuk menentukan field yang ditampilkan.
π Menampilkan Nama Saja
db.mahasiswa.find(
{},
{ nama: 1, _id: 0 }
)
π Fungsi Projection
- Mengurangi data output
- Mempercepat query
- Menghemat bandwidth
πΌοΈ Ilustrasi Projection MongoDB
6
π Narasi
Projection sangat penting pada aplikasi besar untuk meningkatkan performa query.
π‘ 7. Sorting dan Pagination
π Sorting Data
Ascending
db.mahasiswa.find().sort({
semester: 1
})
Descending
db.mahasiswa.find().sort({
semester: -1
})
π Pagination
Menggunakan limit()
db.mahasiswa.find().limit(5)
Menggunakan skip()
db.mahasiswa.find().skip(5)
πΌοΈ Diagram Sorting dan Pagination
8
π Narasi
Pagination digunakan pada website modern untuk membagi data menjadi beberapa halaman.
π‘ 8. Pengertian Aggregation MongoDB
π Pengertian
Aggregation adalah proses pengolahan dan analisis data menggunakan pipeline.
π Fungsi Aggregation
- Statistik data
- Pengelompokan
- Perhitungan total
- Analisis data
- Transformasi data
πΌοΈ Diagram Aggregation MongoDB
11
π Narasi
Aggregation merupakan fitur penting MongoDB untuk kebutuhan data analytics dan reporting.
π‘ 9. Konsep Aggregation Pipeline
π Pengertian Pipeline
Pipeline adalah tahapan proses data pada aggregation.
π Alur Pipeline
Data β Filter β Group β Sort β Output
π Stage Aggregation
| Stage | Fungsi |
|---|---|
| $match | Filter data |
| $group | Grouping data |
| $sort | Mengurutkan |
| $project | Memilih field |
| $limit | Membatasi data |
πΌοΈ Diagram Pipeline MongoDB
8
π Narasi
Aggregation pipeline bekerja seperti jalur produksi data yang diproses secara bertahap.
π‘ 10. Aggregation dengan $match
π Fungsi
$match digunakan untuk filtering data.
π Contoh $match
db.mahasiswa.aggregate([
{
$match: {
jurusan: "Informatika"
}
}
])
πΌοΈ Tutorial Aggregation Match
8
π Narasi
$match biasanya digunakan pada tahap awal aggregation untuk mengurangi jumlah data yang diproses.
π‘ 11. Aggregation dengan $group
π Fungsi
$group digunakan untuk mengelompokkan data.
π Menghitung Jumlah Mahasiswa per Jurusan
db.mahasiswa.aggregate([
{
$group: {
_id: "$jurusan",
total: { $sum: 1 }
}
}
])
π Operator Aggregation
| Operator | Fungsi |
|---|---|
| $sum | Penjumlahan |
| $avg | Rata-rata |
| $max | Nilai maksimum |
| $min | Nilai minimum |
πΌοΈ Diagram Group Aggregation
7
π Narasi
$group digunakan untuk kebutuhan statistik dan laporan data.
π‘ 12. Aggregation dengan $project
π Fungsi
$project digunakan untuk menentukan field output.
π Contoh $project
db.mahasiswa.aggregate([
{
$project: {
nama: 1,
jurusan: 1,
_id: 0
}
}
])
πΌοΈ Tutorial Project Aggregation
6
π Narasi
$project membantu membentuk output data sesuai kebutuhan aplikasi.
π‘ 13. Aggregation dengan $sort dan $limit
π $sort
Mengurutkan hasil aggregation.
π Contoh
db.mahasiswa.aggregate([
{
$sort: {
semester: -1
}
}
])
π $limit
Membatasi hasil data.
π Contoh
db.mahasiswa.aggregate([
{
$limit: 5
}
])
πΌοΈ Diagram Sort dan Limit Aggregation
8
π Narasi
$sort dan $limit membantu optimasi tampilan data dan performa query.
π‘ 14. Studi Kasus Aggregation MongoDB
π Kasus Sistem Akademik
Menghitung Jumlah Mahasiswa per Jurusan
db.mahasiswa.aggregate([
{
$group: {
_id: "$jurusan",
jumlah_mahasiswa: {
$sum: 1
}
}
}
])
π Kasus E-Commerce
Menghitung Total Penjualan
db.penjualan.aggregate([
{
$group: {
_id: "$produk",
total_penjualan: {
$sum: "$jumlah"
}
}
}
])
πΌοΈ Studi Kasus Data Analytics
6
π Narasi
Aggregation banyak digunakan pada:
- Dashboard
- Reporting
- Business intelligence
- Big data analytics
π‘ 15. Optimasi Query MongoDB
π Teknik Optimasi
- Menggunakan indexing
- Projection field
- Filter awal menggunakan $match
- Membatasi data menggunakan limit()
π Contoh Index
db.mahasiswa.createIndex({
jurusan: 1
})
πΌοΈ Diagram Optimasi Query
10
π Narasi
Optimasi query sangat penting pada database besar agar performa tetap cepat dan efisien.
π’ 16. Implementasi Query dan Aggregation di Dunia Industri
π Penggunaan
- Dashboard akademik
- Laporan keuangan
- Analitik e-commerce
- Media sosial
- Business intelligence
π Contoh Analisis
- Jumlah pengguna aktif
- Produk terlaris
- Statistik transaksi
- Analisis perilaku pengguna
πΌοΈ Implementasi Analytics MongoDB
8
π Narasi
MongoDB aggregation menjadi fondasi penting dalam sistem analitik modern.
π’ 17. Kesimpulan
π Ringkasan Materi
- Query lanjutan digunakan untuk pencarian data kompleks
- Aggregation digunakan untuk analisis data
- Pipeline memproses data bertahap
- $group digunakan untuk statistik
- Optimasi query penting untuk performa
πΌοΈ Diagram Ringkasan Aggregation MongoDB
8
π― Latihan & Diskusi
- Apa yang dimaksud query lanjutan?
- Jelaskan fungsi operator $gt!
- Apa fungsi projection?
- Jelaskan konsep aggregation pipeline!
- Apa fungsi $group?
- Jelaskan fungsi $match!
- Mengapa indexing penting?
- Sebutkan implementasi aggregation di dunia industri!