DEV Community

Cover image for Membuat Program Operasi Himpunan (Selisih & Komplemen)
Aris アリス
Aris アリス

Posted on

Membuat Program Operasi Himpunan (Selisih & Komplemen)

Hai teman-teman 👋

Kali ini saya akan membuat fungsi untuk mendapatkan selisih antara 2 himpunan dengan menggunakan bahasa pemrograman javascript. Fungsi ini menerima 2 inputan variabel yang merupakan objek dari kelas Set dan akan menghasilkan selisih dari 2 objek tersebut. Berikut kode pemrogramannya:

function getDifference(a, b) {
    const arrayA = Array.from(a);
    const difference = arrayA.filter(member => !b.has(member));

    return new Set(difference);
}
Enter fullscreen mode Exit fullscreen mode

Pada fungsi di atas saya melakukan konversi variabel a menjadi array. Lalu, saya menyeleksi anggota variabel a yang tidak menjadi anggota variabel b menggunakan method filter dan menyimpan hasilnya ke dalam variabel difference. Langkah terakhir, saya mengembalikan variabel difference yang telah dikonversi menjadi Set supaya tidak ada duplikasi data.

Contoh penggunaan:

let a = new Set([1,2,5,6,7,9]);
let b = new Set([2,3,4,5,7,8]);

console.log(getDifference(a, b));
console.log(getDifference(b, a));
Enter fullscreen mode Exit fullscreen mode

Output dari kode di atas adalah

Set(3) { 1, 6, 9 }
Set(3) { 3, 4, 8 }
Enter fullscreen mode Exit fullscreen mode

Fungsi di atas juga bisa digunakan untuk mengetahui komplemen sebuah himpunan dari semesta tertentu. Misal S = {1,2,3,4,5,6,7,8,9} maka fungsi di atas bisa digunakan seperti contoh berikut:

let s = new Set([0,1,2,3,4,5,6,7,8,9]); // Semesta
let a = new Set([1,2,5,6,7,9]);

console.log(getDifference(s, a));
Enter fullscreen mode Exit fullscreen mode

Output dari kode di atas adalah

Set(4) { 0, 3, 4, 8 }
Enter fullscreen mode Exit fullscreen mode

Demikian yang dapat saya bagikan, apabila ada yang perlu dikoreksi silahkan share di kolom komentar. 😁

Top comments (0)