Function in JavaScript
Sintaks Fungsi pada JavaScript
Berikut adalah beberapa cara untuk mendefinisikan fungsi di JavaScript:
1. Fungsi Deklarasi (Function Declaration)
Ini adalah cara yang paling umum untuk mendefinisikan fungsi di JavaScript.
Sintaks:
javascriptfunction namaFungsi(parameter1, parameter2, ...) {
// kode yang akan dijalankan
return nilai;
}
function
: Kata kunci untuk mendefinisikan fungsi.namaFungsi
: Nama dari fungsi tersebut. Nama ini dipakai saat memanggil fungsi.parameter1, parameter2, ...
: (Opsional) Input yang diterima oleh fungsi. Bisa ada banyak parameter atau tidak sama sekali.return
: (Opsional) Digunakan untuk mengembalikan nilai dari fungsi. Jika tidak adareturn
, fungsi akan mengembalikanundefined
.
Contoh:
javascriptfunction tambah(a, b) {
return a + b;
}
let hasil = tambah(3, 5); // Menghasilkan 8
console.log(hasil);
Dalam contoh ini, fungsi tambah
memiliki dua parameter (a
dan b
), menjumlahkan kedua parameter, dan mengembalikan hasilnya.
2. Fungsi Ekspresi (Function Expression)
Fungsi ekspresi adalah cara lain untuk mendefinisikan fungsi, di mana fungsi disimpan dalam sebuah variabel.
Sintaks:
javascriptconst namaFungsi = function(parameter1, parameter2, ...) {
// kode yang akan dijalankan
return nilai;
};
Perbedaan utamanya adalah fungsi ini anonim (tidak bernama), dan disimpan dalam sebuah variabel.
Contoh:
javascriptconst kali = function(x, y) {
return x * y;
};
console.log(kali(4, 5)); // Menghasilkan 20
Pada contoh ini, fungsi kali
disimpan dalam variabel kali
dan bisa dipanggil seperti fungsi biasa.
3. Fungsi Panah (Arrow Function)
Fungsi panah (arrow function) adalah sintaks baru yang diperkenalkan di ECMAScript 6 (ES6), yang lebih ringkas dibandingkan dengan fungsi tradisional. Fungsi ini sering digunakan karena sintaksnya yang lebih singkat dan tidak memiliki binding sendiri terhadap this
.
Sintaks:
javascriptconst namaFungsi = (parameter1, parameter2, ...) => {
// kode yang akan dijalankan
return nilai;
};
Jika hanya ada satu pernyataan, terutama saat mengembalikan nilai, tanda kurung kurawal {}
dan kata kunci return
bisa dihilangkan.
Contoh:
javascriptconst kurang = (a, b) => a - b;
console.log(kurang(9, 4)); // Menghasilkan 5
Dalam contoh ini, fungsi kurang
ditulis dalam bentuk arrow function, yang membuat kode lebih ringkas.
Contoh dengan blok kode lebih dari satu baris:
javascriptconst hitung = (x, y) => {
let hasil = x * y;
return hasil;
};
console.log(hitung(5, 3)); // Menghasilkan 15
4. Fungsi dengan Nilai Default Parameter
JavaScript memungkinkan Anda untuk memberikan nilai default pada parameter fungsi, yang akan digunakan jika parameter tersebut tidak diberikan saat pemanggilan fungsi.
Sintaks:
javascriptfunction namaFungsi(parameter1 = nilaiDefault, parameter2 = nilaiDefault) {
// kode yang akan dijalankan
}
Contoh:
javascriptfunction sapa(nama = "Pengguna") {
return `Halo, ${nama}!`;
}
console.log(sapa()); // Menghasilkan "Halo, Pengguna!"
console.log(sapa("John")); // Menghasilkan "Halo, John!"
Jika fungsi sapa()
dipanggil tanpa argumen, nilai default "Pengguna"
akan digunakan.
5. Fungsi Tanpa Parameter
Fungsi tidak harus memiliki parameter. Jika tidak ada data yang perlu diteruskan ke dalam fungsi, Anda bisa membuat fungsi tanpa parameter.
Contoh:
javascriptfunction tampilkanPesan() {
console.log("Ini adalah fungsi tanpa parameter");
}
tampilkanPesan(); // Menghasilkan "Ini adalah fungsi tanpa parameter"
6. Fungsi dengan return
Seperti disebutkan sebelumnya, fungsi dapat mengembalikan nilai menggunakan pernyataan return
. Jika fungsi tidak mengembalikan nilai, hasil pemanggilan fungsi akan undefined
.
Contoh:
javascriptfunction bagi(x, y) {
if (y === 0) {
return "Tidak dapat membagi dengan nol!";
}
return x / y;
}
console.log(bagi(10, 2)); // Menghasilkan 5
console.log(bagi(10, 0)); // Menghasilkan "Tidak dapat membagi dengan nol!"
7. Fungsi sebagai Argumen (Callback Function)
Fungsi di JavaScript dapat diteruskan sebagai argumen ke fungsi lain. Ini dikenal sebagai callback function.
Contoh:
javascriptfunction panggilKembali(callback) {
console.log("Sebelum callback");
callback(); // Memanggil fungsi yang diteruskan
console.log("Setelah callback");
}
function sapa() {
console.log("Halo dari callback");
}
panggilKembali(sapa); // Menghasilkan:
// Sebelum callback
// Halo dari callback
// Setelah callback
Dalam contoh di atas, fungsi sapa
diteruskan sebagai argumen ke fungsi panggilKembali
, dan kemudian dipanggil di dalamnya.
8. Fungsi Rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri untuk menyelesaikan masalah berulang.
Contoh:
javascriptfunction faktorial(n) {
if (n === 0) {
return 1;
}
return n * faktorial(n - 1);
}
console.log(faktorial(5)); // Menghasilkan 120 (5 * 4 * 3 * 2 * 1)
Dalam contoh ini, fungsi faktorial
memanggil dirinya sendiri sampai n
bernilai 0.
Kesimpulan:
- Fungsi di JavaScript dapat didefinisikan menggunakan function declaration, function expression, atau arrow function.
- Fungsi dapat menerima parameter, memiliki nilai default, dan dapat mengembalikan hasil menggunakan
return
. - Fungsi dapat diteruskan sebagai argumen ke fungsi lain dan dipanggil kembali (callback).
- Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.
Menggunakan fungsi dengan baik membantu mengorganisir dan menyederhanakan kode, serta meningkatkan keterbacaan dan pemeliharaan program JavaScript.
MongoDB adalah basis data NoSQL yang menyimpan data dalam format dokumen JSON. Ini menawarkan fleksibilitas untuk bekerja dengan data yang tidak terstruktur atau semi-terstruktur. Sintaks MongoDB menggunakan JavaScript untuk operasi CRUD (Create, Read, Update, Delete) dan manipulasi data. Di bawah ini adalah beberapa contoh sintaks MongoDB dasar yang mencakup operasi CRUD.
1. Koneksi ke MongoDB:
Biasanya, untuk menggunakan MongoDB, Anda akan terhubung ke server MongoDB menggunakan mongo shell atau driver dari bahasa pemrograman seperti Node.js.
bash# Koneksi ke server MongoDB di localhost dengan port default
mongo
Jika Anda menggunakan MongoDB Atlas (basis data cloud MongoDB), Anda dapat terhubung menggunakan URI koneksi yang disediakan.
2. Membuat (Create) - insertOne()
dan insertMany()
insertOne()
digunakan untuk menambahkan satu dokumen ke dalam koleksi.insertMany()
digunakan untuk menambahkan beberapa dokumen sekaligus.
Contoh: insertOne()
javascriptdb.users.insertOne({
name: "John Doe",
email: "john@example.com",
age: 28,
address: {
city: "New York",
zip: "10001"
}
});
Contoh: insertMany()
javascriptdb.users.insertMany([
{
name: "Jane Doe",
email: "jane@example.com",
age: 26,
address: {
city: "San Francisco",
zip: "94101"
}
},
{
name: "Mike Smith",
email: "mike@example.com",
age: 30,
address: {
city: "Chicago",
zip: "60601"
}
}
]);
3. Membaca Data (Read) - find()
dan findOne()
find()
digunakan untuk mengambil dokumen dari koleksi, bisa dengan kriteria tertentu atau tanpa kriteria (mengambil semua dokumen).findOne()
digunakan untuk mengambil satu dokumen yang pertama kali cocok dengan kriteria pencarian.
Contoh: find()
(Mengambil Semua Data)
javascriptdb.users.find();
Contoh: find()
(Dengan Filter)
javascriptdb.users.find({ age: { $gte: 28 } }); // Mencari user dengan umur >= 28
Contoh: findOne()
(Mengambil Satu Dokumen)
javascriptdb.users.findOne({ name: "John Doe" });
Contoh: find()
(Mengambil dengan Kriteria dan Membatasi Output)
javascriptdb.users.find({ age: { $gte: 25 } }, { name: 1, email: 1, _id: 0 }); // Tampilkan nama dan email saja
4. Memperbarui (Update) - updateOne()
dan updateMany()
updateOne()
digunakan untuk memperbarui satu dokumen.updateMany()
digunakan untuk memperbarui banyak dokumen sekaligus.$set
digunakan untuk menetapkan nilai baru ke bidang yang diupdate.
Contoh: updateOne()
javascriptdb.users.updateOne(
{ email: "john@example.com" }, // Filter untuk mencari dokumen
{ $set: { age: 29 } } // Operasi update untuk mengubah umur
);
Contoh: updateMany()
javascriptdb.users.updateMany(
{ age: { $lt: 30 } }, // Filter untuk semua user dengan umur < 30
{ $set: { status: "young" } } // Operasi update untuk menambahkan field status
);
5. Menghapus (Delete) - deleteOne()
dan deleteMany()
deleteOne()
menghapus satu dokumen yang sesuai dengan kriteria.deleteMany()
menghapus semua dokumen yang sesuai dengan kriteria.
Contoh: deleteOne()
javascriptdb.users.deleteOne({ email: "john@example.com" });
Contoh: deleteMany()
javascriptdb.users.deleteMany({ age: { $gte: 30 } }); // Menghapus semua user dengan umur >= 30
6. Menambahkan Field Baru Menggunakan $set
Jika Anda ingin menambahkan field baru ke dokumen yang sudah ada, Anda bisa menggunakan $set
.
Contoh:
javascriptdb.users.updateOne(
{ email: "jane@example.com" }, // Cari dokumen berdasarkan email
{ $set: { occupation: "Designer" } } // Menambahkan field occupation
);
7. Menggunakan Operator Logika (Logical Operators)
MongoDB mendukung berbagai operator logika seperti $gt
, $lt
, $gte
, $lte
, $eq
, $ne
, dan lainnya.
Contoh:
javascriptdb.users.find({
age: { $gte: 25, $lt: 30 } // Mencari user dengan umur >= 25 dan < 30
});
8. Menggunakan Operator $or
dan $and
$or
digunakan untuk mencocokkan salah satu dari beberapa kondisi.$and
digunakan untuk mencocokkan semua kondisi.
Contoh: $or
javascriptdb.users.find({
$or: [{ name: "John Doe" }, { age: { $lt: 25 } }]
});
Contoh: $and
javascriptdb.users.find({
$and: [{ age: { $gte: 25 } }, { city: "New York" }]
});
9. Menambahkan Index untuk Optimasi
Indexing penting untuk mempercepat query di MongoDB, terutama saat bekerja dengan kumpulan data besar.
Contoh: Membuat Index
javascriptdb.users.createIndex({ email: 1 });
10. Aggregation (Mengelompokkan Data)
aggregate()
digunakan untuk melakukan operasi agregasi seperti menghitung jumlah, rata-rata, mengelompokkan data, dsb.
Contoh: Mengelompokkan Berdasarkan Umur dan Menghitung Jumlah
javascriptdb.users.aggregate([
{ $group: { _id: "$age", count: { $sum: 1 } } }
]);
Contoh: Menghitung Rata-Rata Umur User
javascriptdb.users.aggregate([
{ $group: { _id: null, avgAge: { $avg: "$age" } } }
]);
11. Proyeksi (Projection)
Proyeksi digunakan untuk menentukan bidang mana yang ingin ditampilkan dalam hasil query.
Contoh: Proyeksi
javascriptdb.users.find(
{ age: { $gte: 25 } },
{ name: 1, email: 1, _id: 0 } // Menampilkan nama dan email, sembunyikan _id
);
Kesimpulan:
MongoDB menawarkan fleksibilitas besar dalam menyimpan dan mengelola data. Dengan sintaks yang mirip dengan JavaScript, MongoDB sangat cocok untuk aplikasi modern yang memerlukan penyimpanan data semi-terstruktur atau tidak terstruktur. Operasi CRUD di MongoDB dilakukan dengan mudah menggunakan fungsi insert
, find
, update
, dan delete
serta dapat diperluas dengan agregasi dan indexing untuk kinerja yang lebih baik.
Komentar
Posting Komentar