├── study-materials ├── README.md └── part1.md ├── quiz ├── part1 │ └── README.md ├── part3 │ └── README.md ├── ujian │ └── README.md └── part2 │ └── README.md └── README.md /study-materials/README.md: -------------------------------------------------------------------------------- 1 | # Study Materials 2 | 3 | Halo sobat nolep, welcome to week 2. Disini materinya hanya ada 1 part, dan baca materi part 1 dulu dan sisanya kalian akan menghadapi quiz yang menyebalkan 🗿 4 | 5 | Good Luck 🗿 6 | 7 | ## Tips Belajar di Week 2 8 | 9 | Kalian harus bisa memahami alur looping dan bisa menggunakan loop untuk segala situasi quiz bila diperlukan, karena ***LOOPING*** adalah teman kalian nanti. Sangat disarankan untuk mencari sumber belajar di internet bisa dari youtube atau google. 10 | 11 | **Ini akan sulit, karena disini challengenya untuk menuju seorang programmer yang kuat secara fundamental* -------------------------------------------------------------------------------- /quiz/part1/README.md: -------------------------------------------------------------------------------- 1 | # Handling Data Array agar menghasilkan output yg baik | Part 1 2 | 3 | ## Soal 1 4 | ```js 5 | /* 6 | Buatlah sebuah fungsi dengan nama dataHandling dengan sebuah parameter untuk menerima argumen. Argumen yang akan diterima adalah sebuah array yang berisi beberapa array sejumlah n. 7 | Tugas kamu adalah mengimplementasikan fungsi dataHandling agar dapat menampilkan data-data pada dari argumen seperti di bawah ini: 8 | */ 9 | let input = [ 10 | ["0001", "Roman Alamsyah", "Bandar Lampung", "21/05/1989", "Membaca"], 11 | ["0002", "Dika Sembiring", "Medan", "10/10/1992", "Bermain Gitar"], 12 | ["0003", "Winona", "Ambon", "25/12/1965", "Memasak"], 13 | ["0004", "Bintang Senjaya", "Martapura", "6/4/1970", "Berkebun"] 14 | ] 15 | 16 | /* 17 | output yang diharapkan 18 | 19 | Nomor ID: 0001 20 | Nama Lengkap: Roman Alamsyah 21 | TTL: Bandar Lampung 21/05/1989 22 | Hobi: Membaca 23 | 24 | Nomor ID: 0002 25 | Nama Lengkap: Dika Sembiring 26 | TTL: Medan 10/10/1992 27 | Hobi: Bermain Gitar 28 | 29 | Nomor ID: 0003 30 | Nama Lengkap: Winona 31 | TTL: Ambon 25/12/1965 32 | Hobi: Memasak 33 | 34 | Nomor ID: 0004 35 | Nama Lengkap: Bintang Senjaya 36 | TTL: Martapura 6/4/1970 37 | Hobi: Berkebun 38 | */ 39 | ``` 40 | 41 | ## Soal 2 42 | pada soal yg kedua, kalian harus belajar method `splice`, `slice`, `join`, 'split', dan lainnya 43 | ```js 44 | let input = ["0001", "Roman Alamsyah ", "Bandar Lampung", "21/05/1989", "Membaca"]; 45 | 46 | function dataHandling(input) { 47 | 48 | } 49 | 50 | dataHandling2(input); 51 | 52 | /** 53 | * keluaran yang diharapkan (pada console) 54 | * 55 | * ["0001", "Roman Alamsyah Elsharawy", "Provinsi Bandar Lampung", "21/05/1989", "Pria", "SMA Internasional Metro"] 56 | * Mei 57 | * ["1989", "21", "05"] 58 | * 21-05-1989 59 | * Roman Alamsyah //batasi hanya 15 karakter saja pada array elemen ke 2 60 | */ 61 | ``` 62 | -------------------------------------------------------------------------------- /quiz/part3/README.md: -------------------------------------------------------------------------------- 1 | # Logic Challenge lagi | Part 3 2 | 3 | ## Soal 1 4 | ```js 5 | function cariMean(arr) { 6 | // you can only write your code here! 7 | } 8 | 9 | // TEST CASES 10 | console.log(cariMean([1, 2, 3, 4, 5])); // 3 11 | console.log(cariMean([3, 5, 7, 5, 3])); // 5 12 | console.log(cariMean([6, 5, 4, 7, 3])); // 5 13 | console.log(cariMean([1, 3, 3])); // 2 14 | console.log(cariMean([7, 7, 7, 7, 7])); // 7 15 | 16 | //tips baca dokumentasi Math js untuk pembulatan 17 | ``` 18 | ## Soal 2 19 | ```js 20 | /* 21 | Diberikan sebuah function perkalianUnik(arr) yang menerima satu parameter berupa array yang berisikan angka. Function akan me-return array baru yang mengandung angka yang setiap nilainya merupakan hasil kali angka lain yang bukan angka itu sendiri. Contoh, jika arr adalah [1, 2, 3, 4, 5], maka function akan mereturn [120, 60, 40, 30, 24], karena 120 adalah 2 * 3 * 4 * 5, 60 adalah 1 * 3 * 4 * 5, 40 adalah 1 * 2 * 4 * 5, dan seterusnya. 22 | */ 23 | function perkalianUnik(arr) { 24 | // you can only write your code here! 25 | } 26 | 27 | // TEST CASES 28 | console.log(perkalianUnik([2, 4, 6])); // [24, 12, 8] 29 | console.log(perkalianUnik([1, 2, 3, 4, 5])); // [120, 60, 40, 30, 24] 30 | console.log(perkalianUnik([1, 4, 3, 2, 5])); // [120, 30, 40, 60, 24] 31 | console.log(perkalianUnik([1, 3, 3, 1])); // [9, 3, 3, 9] 32 | console.log(perkalianUnik([2, 1, 8, 10, 2])); // [160, 320, 40, 32, 160] 33 | ``` 34 | 35 | ## Soal 3 36 | ```js 37 | //tentukan apakah ini deret aritmatika atau bukan 38 | function tentukanDeretAritmatika(arr) { 39 | // you can only write your code here! 40 | } 41 | 42 | // TEST CASES 43 | console.log(tentukanDeretAritmatika([1, 2, 3, 4, 5, 6])); // true 44 | console.log(tentukanDeretAritmatika([2, 4, 6, 12, 24])); // false 45 | console.log(tentukanDeretAritmatika([2, 4, 6, 8])); // true 46 | console.log(tentukanDeretAritmatika([2, 6, 18, 54])); // false 47 | console.log(tentukanDeretAritmatika([1, 2, 3, 4, 7, 9])); // false 48 | ``` 49 | 50 | ## Soal 4 51 | ```js 52 | function tentukanDeretGeometri(arr) { 53 | // you can only write your code here! 54 | } 55 | 56 | // TEST CASES 57 | console.log(tentukanDeretGeometri([1, 3, 9, 27, 81])); // true 58 | console.log(tentukanDeretGeometri([2, 4, 8, 16, 32])); // true 59 | console.log(tentukanDeretGeometri([2, 4, 6, 8])); // false 60 | console.log(tentukanDeretGeometri([2, 6, 18, 54])); // true 61 | console.log(tentukanDeretGeometri([1, 2, 3, 4, 7, 9])); // false 62 | ``` -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Week2 Array and Logic Nolep 2 | 3 | Selamat datang di modul "Array and Logic" dengan JavaScript! Modul ini dirancang khusus untuk pemula yang baru memulai perjalanan mereka dalam mempelajari logika pemrograman dengan array di JavaScript. 4 | 5 | ## Apa yang akan Kalian pelajari? 6 | 7 | 1. **Dasar-dasar Array** 8 | - Apa itu array? 9 | - Cara membuat dan menginisialisasi array 10 | - Mengakses elemen array 11 | 12 | 2. **Manipulasi Array** 13 | - Menambahkan dan menghapus elemen (push, pop, shift, unshift) 14 | - Menggabungkan dan memotong array 15 | 16 | 3. **Logika dengan Array** 17 | - Iterasi melalui array dengan loop 18 | - Penerapan logika kondisional dalam array 19 | - Penggunaan array dalam fungsi 20 | 21 | 4. **Latihan dan Studi Kasus** 22 | - Latihan dasar untuk memperkuat pemahaman 23 | - Studi kasus sederhana untuk penerapan nyata 24 | 25 | ## Cara Menggunakan Repo Ini 26 | 27 | 1. **Mulailah dengan membaca materi yang tersedia di setiap folder.** Setiap topik disertai dengan penjelasan mendetail dan contoh kode yang bisa Kalian pelajari. 28 | 2. **Coba tulis kode Kalian sendiri!** Setiap bagian menyertakan latihan praktis yang bisa Kalian coba untuk menguji pemahaman Kalian. 29 | 3. **Bergabunglah dengan komunitas.** Jangan ragu untuk bertanya atau berdiskusi dengan sesama pemula di bagian issues atau melalui pull requests. 30 | 31 | ## Tips Belajar di Week 2 32 | 33 | Kalian harus bisa memahami alur looping dan bisa menggunakan loop untuk segala situasi quiz bila diperlukan, karena ***LOOPING*** adalah teman kalian nanti. Sangat disarankan untuk mencari sumber belajar di internet bisa dari youtube atau google. 34 | 35 | **Ini akan sulit, karena disini challengenya untuk menuju seorang programmer yang kuat secara fundamental* 36 | 37 | ## Week 2 Study Materials 38 | - [Array & Logic](https://github.com/RPN-Phase-0/Week2-Array-and-Logic-Nolep/blob/main/study-materials/part1.md) 39 | 40 | ## Week 2 Logic Nolep (Quiz) 41 | - [Part1](https://github.com/RPN-Phase-0/Week2-Array-and-Logic-Nolep/tree/main/quiz/part1) 42 | - [Part2](https://github.com/RPN-Phase-0/Week2-Array-and-Logic-Nolep/tree/main/quiz/part2) 43 | - [Part3](https://github.com/RPN-Phase-0/Week2-Array-and-Logic-Nolep/tree/main/quiz/part3) 44 | - [Ujian Week2](https://github.com/RPN-Phase-0/Week2-Array-and-Logic-Nolep/tree/main/quiz/ujian) 45 | 46 | ## Dukung Kami 47 | 48 | Jika Kalian menemukan repo ini bermanfaat, jangan lupa untuk memberikan bintang ⭐ di bagian atas halaman. Dukung kami dengan cara sebarkan ke teman-teman kalian, karena materi ini gratis! 49 | 50 | Selamat belajar dan selamat datang di dunia pemrograman! 🚀 51 | 52 | [Discord RPN](https://discord.gg/ufbRBRTKN8) 53 | -------------------------------------------------------------------------------- /quiz/ujian/README.md: -------------------------------------------------------------------------------- 1 | # Akhirnya Logic dengan Array | Ujian 2 | 3 | ## Soal 1 4 | ```js 5 | /* 6 | Diberikan sebuah function targetTerdekat(arr) yang menerima satu parameter berupa array yang terdiri dari karakter. Function akan me-return jarak spasi antar karakter 'o' dengan karakter 'x' yang terdekat. Contoh, jika arr adalah ['x', ' ', 'o', ' ', ' ', 'x'], maka jarak terdekat dari 'o' ke 'x' adalah 2. Jika tidak ditemukan 'x' sama sekali, function akan me-return nilai 0. 7 | */ 8 | function targetTerdekat(arr) { 9 | // you can only write your code here! 10 | } 11 | 12 | // TEST CASES 13 | console.log(targetTerdekat([' ', ' ', 'o', ' ', ' ', 'x', ' ', 'x'])); // 3 14 | console.log(targetTerdekat(['o', ' ', ' ', ' ', 'x', 'x', 'x'])); // 4 15 | console.log(targetTerdekat(['x', ' ', ' ', ' ', 'x', 'x', 'o', ' '])); // 1 16 | console.log(targetTerdekat([' ', ' ', 'o', ' '])); // 0 17 | console.log(targetTerdekat([' ', 'o', ' ', 'x', 'x', ' ', ' ', 'x'])); // 2 18 | console.log(targetTerdekat([' ', 'o', ' ', 'x', 'x', 'o', ' ', 'x'])); // 1 19 | ``` 20 | ## Soal 2 21 | ```js 22 | /* 23 | Diberikan sebuah function mengelompokkanAngka(arr) yang menerima satu parameter berupa array yang berisi angka-angka. Function akan me-return array multidimensi dimana array tersebut berisikan 3 kategori/kelompok: 24 | 25 | kelompok pertama (baris pertama) merupakan angka-angka genap 26 | kelompok ke-2 (baris ke-2) merupakan angka-angka ganjil 27 | kelompok ke-3 (baris ke-3) merupakan angka-angka kelipatan 3 28 | Contoh jika arr inputan adalah [45, 20, 21, 2, 7] maka output: [ [ 20, 2 ], [ 7 ], [ 45, 21 ] ] 29 | */ 30 | function mengelompokkanAngka(arr) { 31 | // you can only write your code here! 32 | } 33 | 34 | // TEST CASES 35 | console.log(mengelompokkanAngka([2, 4, 6])); // [ [2, 4], [], [6] ] 36 | console.log(mengelompokkanAngka([1, 2, 3, 4, 5, 6, 7, 8, 9])); // [ [ 2, 4, 8 ], [ 1, 5, 7 ], [ 3, 6, 9 ] ] 37 | console.log(mengelompokkanAngka([100, 151, 122, 99, 111])); // [ [ 100, 122 ], [ 151 ], [ 99, 111 ] ] 38 | console.log(mengelompokkanAngka([])); // [ [], [], [] ] 39 | ``` 40 | 41 | ## Soal 3 42 | ```js 43 | /* 44 | diberikan sebuah function groupAnimals(animals) yang menerima satu parameter berupa array, 45 | fungsi ini akan me-return array 2 dimensi 46 | */ 47 | function groupAnimals(animals) { 48 | // you can only write your code here! 49 | } 50 | 51 | // TEST CASES 52 | console.log(groupAnimals(['cacing', 'ayam', 'kuda', 'anoa', 'kancil'])); 53 | // [ ['ayam', 'anoa'], ['cacing'], ['kuda', 'kancil'] ] 54 | console.log(groupAnimals(['cacing', 'ayam', 'kuda', 'anoa', 'kancil', 'unta', 'cicak' ])); 55 | // [ ['ayam', 'anoa'], ['cacing', 'cicak'], ['kuda', 'kancil'], ['unta'] ] 56 | ``` 57 | soal no 1 dan 3 itu menjadi obstacle tersulit wkwk -------------------------------------------------------------------------------- /quiz/part2/README.md: -------------------------------------------------------------------------------- 1 | # Logic Challenge | Part 2 2 | 3 | ***DISINI SOALNYA BELUM PAKE ARRAY, HANYA LOGIC*** 4 | 5 | `jaman dahulu kala gua struggle di palindrome angka - Harkon 2020` 6 | 7 | siap siap merasakan ***PAHITNYA LOOPING*** 8 | 9 | ## Soal 1 10 | ```js 11 | /* 12 | Diberikan sebuah function palindrome(kata) yang menerima satu parameter. Function tersebut akan mengembalikan nilai true jika kata merupakan palindrome, dan false jika bukan. Kata palindrome adalah sebuah kata yang jika dibalik, tetap sama. Contoh, 'katak' dibalik tetaplah 'katak'. 13 | */ 14 | 15 | function palindrome(kata) { 16 | // you can only write your code here! 17 | } 18 | 19 | // TEST CASES 20 | console.log(palindrome('katak')); // true 21 | console.log(palindrome('blanket')); // false 22 | console.log(palindrome('civic')); // true 23 | console.log(palindrome('kasur rusak')); // true 24 | console.log(palindrome('mister')); // false 25 | ``` 26 | 27 | ## Soal 2 28 | ```js 29 | /* 30 | Diberikan sebuah function angkaPalindrome(angka) yang menerima satu parameter angka. Function akan me-return angka selanjutnya yang mengandung nilai angka palindrome. Contoh, jika angka adalah 27, maka function akan me-return nilai 33 karena angka 33 adalah angka palindrom. Jika angka dari awal sudah merupakan palindrome, maka function harus mencari angka selanjutnya yang palindrome. Contoh, jika angka adalah 8, walaupun dia sudah palindrome, harus mencari angka selanjutnya yang palindrome, yaitu 9. 31 | 32 | note kenapa angka 8 adalah palindrome? karena angka 8 dibalik tetep 8 wkwkw 33 | note kenapa angka 343 adalah palindrome? karena angka 343 dibalik tetep 343 eaaaa 34 | */ 35 | 36 | function angkaPalindrome(num) { 37 | // you can only write your code here! 38 | } 39 | 40 | // TEST CASES 41 | console.log(angkaPalindrome(8)); // 9 42 | console.log(angkaPalindrome(10)); // 11 43 | console.log(angkaPalindrome(117)); // 121 44 | console.log(angkaPalindrome(175)); // 181 45 | console.log(angkaPalindrome(1000)); // 1001 46 | ``` 47 | 48 | ## Soal 3 49 | ```js 50 | function hitungJumlahKata(kalimat) { 51 | // you can only write your code here! 52 | } 53 | 54 | // TEST CASES 55 | console.log(hitungJumlahKata('I have a dream')); // 4 56 | console.log(hitungJumlahKata('Never eat shredded wheat or cake')); // 6 57 | console.log(hitungJumlahKata('A song to sing')); // 4 58 | console.log(hitungJumlahKata('I')); // 1 59 | console.log(hitungJumlahKata('I believe I can code')); // 5 60 | ``` 61 | 62 | ## Soal 4 63 | ```js 64 | function pasanganTerbesar(num) { 65 | // you can only write your code here! 66 | } 67 | 68 | // TEST CASES 69 | console.log(pasanganTerbesar(641573)); // 73 70 | console.log(pasanganTerbesar(12783456)); // 83 71 | console.log(pasanganTerbesar(910233)); // 91 72 | console.log(pasanganTerbesar(71856421)); // 85 73 | console.log(pasanganTerbesar(79918293)); // 99 74 | ``` 75 | 76 | TIPS buat soal no 4: bikin variabel yang ngebikin tipe data number ke string biar bisa di loop -------------------------------------------------------------------------------- /study-materials/part1.md: -------------------------------------------------------------------------------- 1 | # Array dan Method yang dimiliki Array | Part 1 2 | 3 | Selamat bagi yang sudah menyelesaikan Quiz Minggu Pertama 4 | 5 | pada pertemuan kali ini kita akan mendalami tipe data Array 6 | 7 | ***APA ARRAY ITU???*** 8 | Simplenya Array adalah kumpulan dari berbagai data, Array itu seperti List 9 | kalian bisa menampung banyak data pada satu variabel array 10 | 11 | contoh 12 | ```js 13 | let animals = ["lion", "cat", "tiger", "fish"]; 14 | ``` 15 | kalian bebas mau menampung tipe data apa saja di dalam array 16 | ```js 17 | let arrayNgasal = [1, "anjay", false, ["array lagi"], { name: "dika"}]; 18 | //ngapain amat bikin array ngasal kek gini, ini cuma contoh gaes 19 | ``` 20 | array lebih bagus kalau diisi hanya satu tipe data, dan satu tujuan. 21 | Cara mengakses salah satu elemen array itu cukup dengan indexing 22 | 23 | misal 24 | ```js 25 | let array = [1,2,3]; 26 | console.log(array[0]) //1 27 | ``` 28 | 29 | yak setelah membaca ini, kalian sudah mengerti apa itu array, lalu kalian harus mengetahui method method pada array untuk memanipulasi array 30 | 31 | **MACAM-MACAM ARRAY METHOD** 32 | - length 33 | - push() 34 | - pop() 35 | - shift() 36 | - unshift() 37 | - splice() 38 | - slice() 39 | 40 | yah kira-kira itu untuk awal-awal, misal ada yang tau method filter, map, reduce, itu belakangan aja yak wkwk 41 | selebihnya bisa diliat disini 42 | [W3School Array Method](https://www.w3schools.com/js/js_array_methods.asp) 43 | 44 | langsung gaskan saja kita bahas method-methodnya satu persatu 45 | 46 | method `length` akan me-return nilai total elemen/item yang ada pada array 47 | ```js 48 | let hewan = ["gajah", "jerapah"] 49 | console.log(hewan.length) //2 50 | 51 | let angka = [3,2,1,4,5,6,7] 52 | console.log(angka.length) //7 53 | ``` 54 | 55 | method `push()` berfungsi untuk memasukan data pada urutan terakhir array atau bisa dibilang memasukan data ke paling kanan wkwk 56 | ```js 57 | let hewan = ["marmut", "kucing"]; 58 | hewan.push("tikus"); 59 | console.log(hewan); //["marmut", "kucing", "tikus"] 60 | ``` 61 | 62 | method `pop()` berfungsi untuk menghapus elemen terkahir pada array, bisa dibilang ngehapus yang elemen array paling kanan wkwk 63 | ```js 64 | let hewan = ["marmut", "kucing", "tikus"]; 65 | hewan.pop(); 66 | console.log(hewan); //["marmut", "kucing"]; 67 | ``` 68 | 69 | method `shift()` berfungsi untuk menghapus elemen pertama pada array, bisa dibilang ngehapus yang paling kiri wkwk 70 | ```js 71 | let hewan = ["marmut", "kucing", "tikus"]; 72 | hewan.shift(); 73 | console.log(hewan); //["kucing", "tikus"]; 74 | ``` 75 | 76 | method `unshift()` berfungsi menambahkan data pada urutan pertama, bisa dibilang nambahin sesuatu dipaling kiri wkwk 77 | ```js 78 | let hewan = ["marmut", "kucing"]; 79 | hewan.unshift("tikus"); 80 | console.log(hewan); //["tikus", "marmut", "kucing"]; 81 | ``` 82 | 83 | method `splice` berfungsi bisa menambahkan data, bisa menghapus data pada array, bisa dua duanya sekaligus tergantung isi parameter yang kalian berikan pada splice 84 | contoh `.splice(0,1,"gajah", "macan")` 85 | > - simplenya .splice(param1, param2, ...param-sisanya) //...berarti parameternya bisa ada banyak data 86 | > - parameter pertama sebagai penentuan posisi mau di index ke berapa 87 | > - parameter kedua sebagai penentuan mau menghapus berapa data/elemen/item (bisa juga ga ngehapus apa apa kalau di kasih nilai 0) 88 | > - parameter sisanya, itu untuk nambahin data ke dalam array, jumlahnya bisa banyak 89 | 90 | ```js 91 | //contoh menghapus 1 item dari index nomor 1 92 | let hewan = ["marmut", "kucing", "tikus"]; 93 | hewan.splice(1,1); 94 | console.log(hewan); //["marmut", "tikus"] 95 | ``` 96 | ```js 97 | //contoh menambahkan 1 item tanpa menghapus apa apa, dari index nomor 1 98 | let hewan = ["marmut", "kucing", "tikus"]; 99 | hewan.splice(1,0,"gajah"); 100 | console.log(hewan); //["marmut", "gajah", "kucing", "tikus"] 101 | ``` 102 | ```js 103 | //contoh menambahkan 1 item dan menghapus 2 item, dari index nomor 1 104 | let hewan = ["marmut", "kucing", "tikus"]; 105 | hewan.splice(1,2,"gajah"); 106 | console.log(hewan); //["marmut", "gajah"] 107 | ``` 108 | ```js 109 | //contoh menambahkan 3 item dan menghapus 2 item, dari index nomor 1 110 | let hewan = ["marmut", "kucing", "tikus"]; 111 | hewan.splice(1,2,"gajah", "jerapah", "singa"); 112 | console.log(hewan); //["marmut", "gajah", "jerapah", "singa"] 113 | ``` 114 | 115 | yak splice emang rada multi-fungsi sih, kalian cobain sendiri ya biar lebih paham 116 | 117 | method `slice` berfungsi untuk memotong array tergantung dari nilai parameter yang kalian kasih 118 | contoh `.slice(1, 4)` 119 | > - simpelnya ada dua parameter `slice(dari-mana, sampe-sebelum-mana)` 120 | > - parameter pertama `dari-mana` (wkwk), itu berfungsi mau motong array dari mana 121 | > - parameter kedua `sampe-sebelum-mana` itu berfungsi buat ujung array yg kita potong 122 | > - boleh hanya memasang 1 parameter saja, contoh `.slice(1)` 123 | 124 | ```js 125 | //contoh memotong dari index 1 sampe ujung 126 | let hewan = ["marmut", "gajah", "jerapah", "singa"] 127 | hewan.slice(1) 128 | console.log(hewan) //["marmut", "gajah", "jerapah", "singa"] 129 | ``` 130 | ***LOH KOK GA BERUBAH SIH?!?!?!11!?*** 131 | jadi gini gan wkwkwk 132 | 133 | ada method yang memang bisa memutasi/mengubah array secara langsung, jadi cukup 134 | misal `hewan.push("gajah")` lalu nilai variabel hewannya berubah `["kucing", "gajah"]` 135 | 136 | namun ada juga method yang ga merubah nilai variabelnya, nah si method `.slice` ini salah satu method yang ga merubah nilai array variabelnya 137 | 138 | lalu bagaimana cara kita tahu bahwa method `slice` berfungsi memotong arary??? 139 | caranya adalah dengan menampung hasil return si slice pada variabel, atau langsung 140 | `console.log(hewan.slice(1))` 141 | jadi gini, langsung aja ke contohnya 142 | 143 | ```js 144 | //gini caranya, ada 2 cara 145 | let hewan = ["gajah", "jerapah", "badak", "singa"]; 146 | //bisa langsung hajar aja taro di output 147 | console.log(hewan.slice(1)) //["jerapah", "badak", "singa"] 148 | //kita tampung di variabel baru 149 | let slicedHewan = hewan.slice(1) 150 | console.log(slicedHewan) //["jerapah", "badak", "singa"] 151 | ``` 152 | yak biasanya sih ditampung di variabel baru wkwk 153 | 154 | ```js 155 | //contoh memotong dari index 1 sampai sebelum index ke 3 156 | //dengan kata lain 157 | //contoh memotong dari index 1 sampai index 2 158 | let hewan = ["gajah", "jerapah", "badak", "singa"]; 159 | let slicedHewan = hewan.slice(1,3); 160 | console.log(slicedHewan) //["jerapah", "badak"] 161 | ``` 162 | 163 | Itulah materi untuk week2 ini, habiskan waktu kalian dengan latihan quiz quiz di RPN dan explore lebih banyak lagi tentang array. 164 | 165 | [Tutorial Array by Harkon](https://youtu.be/fQulHC3Ujdo) 🗿 166 | --------------------------------------------------------------------------------