diff --git a/learn/Basic/010_array_manipulation/README.md b/learn/Basic/010_array_manipulation/README.md
index 31db7f9e..43db3231 100644
--- a/learn/Basic/010_array_manipulation/README.md
+++ b/learn/Basic/010_array_manipulation/README.md
@@ -214,6 +214,58 @@ console.log(food); // expected output: ['Pizza', 'Spaghetti', 'Burger']
Lihat contoh lainnya di [splice.js](splice.js)
+### 10. Find
+
+Method `.find()` akan **mengembalikan elemen pertama** yang memenuhi kondisi yang diberikan. Jika tidak ada elemen yang memenuhi kondisi, akan mengembalikan `undefined`.
+
+```js
+const numbers = [10, 20, 30, 40, 50];
+
+const found = numbers.find((number) => number > 25);
+
+console.log(found); // 30
+```
+
+- `callback`: fungsi yang dijalankan pada setiap elemen
+- Mengembalikan **elemen** (bukan index), atau `undefined` jika tidak ditemukan
+
+Berbeda dengan `.findIndex()` yang mengembalikan **index**, `.find()` mengembalikan **nilai elemen** itu sendiri.
+
+Lihat contoh lainnya di [find.js](find.js)
+
+### 11. Some
+
+Method `.some()` akan mengecek apakah **minimal satu elemen** memenuhi kondisi. Mengembalikan `true` atau `false`.
+
+```js
+const numbers = [1, 2, 3, 4, 5];
+
+const hasNegative = numbers.some((number) => number < 0);
+
+console.log(hasNegative); // false
+```
+
+- `.some()` → `true` jika **minimal satu** elemen memenuhi kondisi
+- `.every()` → `true` jika **semua** elemen memenuhi kondisi
+
+Lihat contoh lainnya di [some.js](some.js)
+
+### 12. Includes
+
+Method `.includes()` digunakan untuk mengecek apakah array mengandung **elemen tertentu**. Mengembalikan `true` jika ditemukan, `false` jika tidak.
+
+```js
+const fruits = ["apel", "mangga", "jeruk"];
+
+console.log(fruits.includes("mangga")); // true
+console.log(fruits.includes("durian")); // false
+```
+
+- `.includes()` menggunakan **strict equality** (`===`), jadi type coercion tidak dilakukan
+- Bisa menerima parameter kedua `fromIndex` untuk menentukan posisi awal pencarian
+
+Lihat contoh lainnya di [includes.js](includes.js)
+
[
](../009_array)
[
](../011_object)
diff --git a/learn/Basic/010_array_manipulation/find.js b/learn/Basic/010_array_manipulation/find.js
new file mode 100644
index 00000000..aa098e43
--- /dev/null
+++ b/learn/Basic/010_array_manipulation/find.js
@@ -0,0 +1,27 @@
+// Method .find() akan mengembalikan elemen pertama yang memenuhi kondisi.
+// Jika tidak ada elemen yang memenuhi kondisi, akan mengembalikan undefined.
+
+const numbers = [10, 20, 30, 40, 50];
+
+// Mencari elemen pertama yang lebih besar dari 25
+const found = numbers.find((number) => number > 25);
+
+console.log(found); // expected output: 30
+
+// Mencari elemen pertama yang lebih besar dari 100 (tidak ada)
+const notFound = numbers.find((number) => number > 100);
+
+console.log(notFound); // expected output: undefined
+
+// Contoh dengan array of objects
+const students = [
+ { name: "Andi", score: 85 },
+ { name: "Budi", score: 72 },
+ { name: "Citra", score: 90 },
+ { name: "Dewi", score: 65 },
+];
+
+// Mencari siswa pertama yang nilainya di atas 80
+const topStudent = students.find((student) => student.score > 80);
+
+console.log(topStudent); // expected output: { name: "Andi", score: 85 }
diff --git a/learn/Basic/010_array_manipulation/includes.js b/learn/Basic/010_array_manipulation/includes.js
new file mode 100644
index 00000000..bf083d87
--- /dev/null
+++ b/learn/Basic/010_array_manipulation/includes.js
@@ -0,0 +1,25 @@
+// Method .includes() digunakan untuk mengecek apakah array mengandung elemen tertentu.
+// Mengembalikan true jika elemen ditemukan, false jika tidak.
+// Berbeda dengan .indexOf() yang mengembalikan index, .includes() mengembalikan boolean.
+
+const fruits = ["apel", "mangga", "jeruk", "pisang"];
+
+// Mengecek apakah "mangga" ada di dalam array
+console.log(fruits.includes("mangga")); // expected output: true
+
+// Mengecek apakah "durian" ada di dalam array
+console.log(fruits.includes("durian")); // expected output: false
+
+// .includes() juga bisa menerima parameter kedua yaitu posisi awal pencarian (fromIndex)
+const numbers = [1, 2, 3, 4, 5, 3];
+
+// Mencari angka 3 dimulai dari index 4
+console.log(numbers.includes(3, 4)); // expected output: true (menemukan 3 di index 5)
+
+// Mencari angka 3 dimulai dari index 6
+console.log(numbers.includes(3, 6)); // expected output: false (sudah melewati semua 3)
+
+// Catatan penting: .includes() menggunakan strict equality (===)
+// Artinya, type coercion TIDAK dilakukan
+console.log([1, 2, 3].includes("1")); // expected output: false (string "1" !== number 1)
+console.log([1, 2, 3].includes(1)); // expected output: true
diff --git a/learn/Basic/010_array_manipulation/some.js b/learn/Basic/010_array_manipulation/some.js
new file mode 100644
index 00000000..32986ee5
--- /dev/null
+++ b/learn/Basic/010_array_manipulation/some.js
@@ -0,0 +1,33 @@
+// Method .some() akan mengecek apakah minimal satu elemen memenuhi kondisi.
+// Mengembalikan true jika ada minimal satu elemen yang memenuhi kondisi,
+// dan false jika tidak ada satupun yang memenuhi.
+
+const numbers = [1, 2, 3, 4, 5];
+
+// Mengecek apakah ada elemen yang lebih besar dari 3
+const hasGreaterThanThree = numbers.some((number) => number > 3);
+
+console.log(hasGreaterThanThree); // expected output: true
+
+// Mengecek apakah ada elemen yang negatif
+const hasNegative = numbers.some((number) => number < 0);
+
+console.log(hasNegative); // expected output: false
+
+// Contoh dengan array of objects
+const products = [
+ { name: "Laptop", price: 15000000, inStock: true },
+ { name: "Mouse", price: 150000, inStock: false },
+ { name: "Keyboard", price: 500000, inStock: true },
+];
+
+// Mengecek apakah ada produk yang sedang kosong (out of stock)
+const hasOutOfStock = products.some((product) => !product.inStock);
+
+console.log(hasOutOfStock); // expected output: true
+
+// Perbedaan .some() dengan .every():
+// .some() -> true jika MINIMAL SATU elemen memenuhi kondisi
+// .every() -> true jika SEMUA elemen memenuhi kondisi
+const allInStock = products.every((product) => product.inStock);
+console.log(allInStock); // expected output: false