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:

javascript
function 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 ada return, fungsi akan mengembalikan undefined.

Contoh:

javascript
function 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:

javascript
const namaFungsi = function(parameter1, parameter2, ...) { // kode yang akan dijalankan return nilai; };

Perbedaan utamanya adalah fungsi ini anonim (tidak bernama), dan disimpan dalam sebuah variabel.

Contoh:

javascript
const 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:

javascript
const 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:

javascript
const 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:

javascript
const 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:

javascript
function namaFungsi(parameter1 = nilaiDefault, parameter2 = nilaiDefault) { // kode yang akan dijalankan }

Contoh:

javascript
function 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:

javascript
function 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:

javascript
function 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:

javascript
function 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:

javascript
function 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()

javascript
db.users.insertOne({ name: "John Doe", email: "john@example.com", age: 28, address: { city: "New York", zip: "10001" } });

Contoh: insertMany()

javascript
db.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)

javascript
db.users.find();

Contoh: find() (Dengan Filter)

javascript
db.users.find({ age: { $gte: 28 } }); // Mencari user dengan umur >= 28

Contoh: findOne() (Mengambil Satu Dokumen)

javascript
db.users.findOne({ name: "John Doe" });

Contoh: find() (Mengambil dengan Kriteria dan Membatasi Output)

javascript
db.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()

javascript
db.users.updateOne( { email: "john@example.com" }, // Filter untuk mencari dokumen { $set: { age: 29 } } // Operasi update untuk mengubah umur );

Contoh: updateMany()

javascript
db.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()

javascript
db.users.deleteOne({ email: "john@example.com" });

Contoh: deleteMany()

javascript
db.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:

javascript
db.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:

javascript
db.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

javascript
db.users.find({ $or: [{ name: "John Doe" }, { age: { $lt: 25 } }] });

Contoh: $and

javascript
db.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

javascript
db.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

javascript
db.users.aggregate([ { $group: { _id: "$age", count: { $sum: 1 } } } ]);

Contoh: Menghitung Rata-Rata Umur User

javascript
db.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

javascript
db.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

Postingan populer dari blog ini

Computer Network

Task to be Completed for G9A, G9B, G9C