Hari 5: Array

Hari 5: Array

30 Hari Javascript

·

5 min read

Array

Array dapat menyimpan banyak data dengan tipe data yang berbeda-beda. Setiap nilai dalam array memiliki indeks dan memiliki referensi di alamat memori. Nilai dapat diakses dengan indeks yang dimulai dari indeks ke NOL ( 0 ). Elemen terakhir adalah panjang indeks dikurang 1.

Array ditandai dengan kurung siku []

let peliharaan = [];
let makanan = ["pisang", "susu", "indomie"];

console.log(makanan[2]);
// hasil: indomie

https://raw.githubusercontent.com/AsrulLove/img-db/master/indeks.png

Ubah nilai Array

Untuk mengubah nilai array bisa menggunakan indeks kemudian beri nilai layaknya memberi nilai pada variable.

let makanan = ["pisang", "susu", "indomie"];

console.log(makanan[2]);
// hasil: indomie
makanan[2] = "Nasi";
console.log(makanan[2]);
// hasil: Nasi

Method .concat()

Untuk menggabung dua array atau lebih bisa menggunakan concat.

let buah = ["pisang", "jeruk", "mangga", "lemon"];
let sayuran = ["Tomat", "Kentang", "Kubis", "Bawang", "Wortel"];
let isiKulkas = buah.concat(sayuran);

console.log(isiKulkas);
// hasil: ['pisang', 'jeruk', 'mangga', 'lemon', 'Tomat', 'Kentang', 'Kubis', 'Bawang', 'Wortel']

selain pakai .concat() bisa juga menggunakan array spread (ES6).

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
console.log(arr3);
// hasil: [1,2,3,4,5,6]

Method .length

Untuk mendapatkan panjang array bisa menggunakan array.length.

let siswa = ["Anis", "Asrul", "Tisha"];
console.log(siswa.length);
// hasil: 3

Method .indexOf()

Method .indexOf, digunakan untuk memeriksa apakah ada item dalam array. Jika ada, ia mengembalikan indeks item tersebut, jika tidak ada maka mengembalikan -1.

let isiKulkas = ["semangka", "pisang", "mangga", "apel"];
let index = isiKulkas.indexOf("semangka");
console.log(index);
// hasil: 0

if (index != -1) {
  console.log("Buah tersebut ada dalam kulkas, silahkan ambil");
} else {
  console.log("Buah itu belum tersedia dalam kulkas");
}

// hasil: Buah tersebut ada dalam kulkas, silahkan ambil

Method .join()

Method .join() digunakan pada array untuk menggabungkan item-item dan menjadikannya sebagai sting. Untuk jelasnya perhatikan contoh berikut.

let mugiwara = ["Luffy", "Zorro", "Sanji", "Nami"];

console.log(mugiwara.join());
// hasil: Luffy,Zorro,Sanji,Nami

console.log(mugiwara.join(" atau "));
// hasil: Luffy atau Zorro atau Sanji atau Nami

console.log(mugiwara.join("**"));
// hasil: Luffy**Zorro**Sanji**Nami

console.log(mugiwara.join(", "));
// hasil: Luffy, Zorro, Sanji, Nami

console.log(mugiwara.join("-"));
// hasil: Luffy-Zorro-Sanji-Nami

Kalau dilihat lebih teliti lagi, parameter .join() adalah penghubung yang digunakan setelah array itu digabung.

Method .push()

Push adalah fungsi array yang akan menambahkan nilai di belakang nilai terakhir pada array. Layaknya sebuah antrian, push adalah orang yang mengantri selanjutnya, akan berada di posisi paling belakang. Fungsi push akan menerima satu parameter, berupa nilai yang akan ditambahkan.

let bialngan = [0, 1, 2, 3];
bialngan.push(4);
console.log(bialngan);
// hasil: [0, 1, 2, 3, 4]

Method .pop()

Fungsi array yang akan menghapus nilai paling belakang dari array.

let bilangan = [0, 1, 2, 3];
bilangan.pop();
console.log(bilangan);
// hasil: [0, 1, 2]

Method .unshift()

Unshift adalah fungsi array yang akan menambah nilai ke depan array (ke index 0), dan menggeser seluruh isi array kebelakang.

let bilangan = [0, 1, 2];
bilangan.unshift(3);
console.log(bilangan);
// hasil: [3, 0, 1, 2]

Method .shift()

Shift adalah fungsi array yang akan menghapus nilai paling depan dari array. Fungsi shift tidak menerima parameter apapun.

let bilangan = [3, 0, 1, 2];
bilangan.shift();
console.log(bilangan);
// hasil: [0, 1, 2]

Method .sort()

sesuai nama sort adalah untuk mengurutkan. Sort mengurutkan otomatis secara ascending dan diurutkan berdasarkan unicode dari karakter. Kamu akan menemukan masalah ini saat mengurutkan angka.

Contoh sort array dalam bentuk angka

let bilangan = [3, 5, 7, 1, 2];
bilangan.sort();
console.log(bilangan);
// hasil: [1, 2, 3, 5, 7]

Contoh sort array dalam bentuk huruf atau text

let siswa = ["Sani", "Anis", "Kiki", "Fahri"];
siswa.sort();
console.log(siswa);
// hasil: ['Anis', 'Fahri', 'Kiki', 'Sani']

Contoh kasus .sort() pada angka akan bermsalah jika angka lebih dari 1 digit:

let bilangan = [1, 2, 15];
bilangan.sort();
console.log(bilangan);
// hasil: [1, 15, 2]

Hasil dari sort di atas tidak sesuai dengan ekspektasi kita! Seharusnya [1, 2, 15] namun yang terjadi adalah [1, 15, 2]. Hal ini karena JavaScript melakukan sort secara unicode atau sebagai karakter, dan karena 15 diawali dengan karakter '1', maka akan dianggap lebih awal daripada karakter '2'. Untuk menyelesaikan masalah ini, kamu perlu menambahkan satu parameter berupa fungsi pembanding. Mungkin kamu akan sedikit bingung dengan code dibawah ini, namun intinya adalah kita membuat satu fungsi yang menilai apakah nilai pertama lebih kecil dari nilai kedua.

let bilangan = [1, 2, 15];
bilangan.sort(function (value1, value2) {
  return value1 > value2;
});
console.log(bilangan);
// hasil: [1, 2, 15]

Jika menggunakan function dalam sort maka kita juga bisa membuat fungsi sort dalam bentuk descending, perhatikan contoh berikut.

let bilangan = [1, 2, 15];
bilangan.sort(function (value1, value2) {
  return value1 < value2;
});
console.log(bilangan);
// hasil: [15, 2, 1]

Method .slice()

Slice adalah fungsi array yang akan mengambil irisan atau potongan dari sebuah array. .slice() menerima satu atau dua parameter. Parameter pertama adalah index irisan diambil, dan parameter kedua adalah index irisan terakhir diambil. Jika parameter kedua tidak didefinisikan, irisan akan diambil hingga akhir dari array.

let bilangan = [0, 1, 2, 3, 4];
let porongan = bilangan.slice(1, 3);
console.log(porongan);
// hasil: [1, 2]

let potonganLain = arr.slice(1);
console.log(potonganLain);
// hasil: [1, 2, 3, 4]

Ada banyak lagi method yang disediakan javascript untuk array seperti .map(), .reduce(), .filter(), dan lainnya.

Kamu bisa baca tulisan saya ini https://asrul.dev/penggunaan-map-filter-dan-reduce-javascript

Array Multi-dimensi

Array multidimensi adalah sebuah array yang berisikan array lagi didalamnya. Konsepnya penggunaannya sama dengan array biasa (satu dimensi), hanya saja jumlah indeks yang digunakan saat mengakses nilai didalam array adalah sebanyak dimensi dari array tersebut.

Contoh array multidimensi antara lain diagram kartesius dan matriks. Diagram kartesius dan matriks adalah array multidimensi yang sama-sama membutuhkan koordinat untuk mengakses nilai didalamnya.

let matriks = [
  [1, 2],
  [3, 4],
  [5, 6],
];
console.log(matriks[0]);
// hasil: [1, 2]

console.log(matriks[0][1]);
// hasil: 2

let siswa = [
  ["Asrul Harahap", "Universitas Negeri Padang"],
  ["Anis Fikriyyah", "Universitas Bale Bandung"],
];

console.log(siswa[1]);
// hasil: ['Anis Fikriyyah', 'Universitas Bale Bandung']

console.log(siswa[0][1]);
// hasil: 'Universitas Negeri Padang'