SlideShare a Scribd company logo
1 of 12
Download to read offline
Himpunan 
(Set) 
Algoritma dan 
Struktur Data 
Kuliahkita - Edwin Lunando
Definisi 
Himpunan (Set) adalah sebuah struktur data penyimpanan 
yang dapat menyimpan nilai tertentu tanpa terpaut urutan. 
Himpunan atau set ini merupakan implementasi dari 
konsep pada definisi matematikanya yaitu finite set
Karakteristik Himpunan 
Himpunan dapat tidak berisi atau himpunan kosong atau 
memiliki isi (lebih dari 1). 
Apabila himpunan diisi dengan sebuah nilai kemudian diisi 
lagi dengan nilai yang sama, maka nilai tersebut tidak 
disertakan karena sudah ada di dalam himpunan tersebut. 
Himpunan ini menerima nilai yang unik dan tidak redundan
Operasi Himpunan 
Sama seperti operasi himpunan pada matematika, struktur 
data himpunan juga dapat memiliki operasi yang sama 
seperti: 
1. gabungan (union) 
2. irisan (intersection) 
3. perbedaan (difference) 
4. bagian (subset)
Primitif Himpunan 
Selain itu, terdapat juga operasi primitif yang merupakan 
dasar pemeriksaan dari sebuah himpunan seperti: 
1. is_element_of (apakah merupakan elemen) 
2. is_empty (apakah himpunan kosong) 
3. size (berapakah ukuran himpunan) 
4. insert (menambahkan elemen pada himpunan)
Himpunan (Set) pada C++ 
Sebuah himpunan pada bahasa pemrograman C++ sudah 
didefinisikan pada pustaka yang ada. 
Jika ingin menggunakannya kita hanya perlu 
menyertakannya dengan : 
#include <set>
Multiset 
Himpunan juga dapat berisi himpunan lainnya seperti 
pada definisi pada matematika. 
Akan tetapi tipe yang disimpan perlu sejenis atau 
homogen dalam sebuah set.
TDA Set 
Berikut ini adalah contoh struktur data himpunan 
{ Contoh tipe himpunan bilangan bulat atau integer} 
type Set : < Capacity : Integer, 
Last : Integer, 
S: array [1..Capacity] of integer > 
Set menyimpan nilainya pada sebuah larik. 
Terdapat capacity pada himpunan untuk menetapkan batasan 
jumlah nilai yang dapat disimpan. 
Selain itu terdapat Last yang menandakan indeks kosong 
terakhir pada larik penampung nilai sehingga tidak perlu 
pencarian indeks untuk menambah nilai baru.
Contoh Penggunaan Set 
#include <iostream> 
using namespace std; 
typedef struct { 
int capacity; // kapasitas dari sebuah himpunan 
int last; // indeks kosong terakhir dari himpunan 
int *S; // larik dinamis yang didefinisikan sebagai penampung 
} Set; 
...
Contoh Penggunaan Set 
... 
Set makeSet (int capacity) { 
Set tempSet; 
tempSet.capacity = capacity; // inisialisasi kapasitas set 
tempSet.last = 0; // set kosong, indeks terakhirnya adalah 0 
tempSet.S = new int[capacity]; // inisialisasi larik penampung set 
return tempSet; 
} 
bool is_element_of (Set S, int val) { 
// telusuri nilai dalam penampung 
for (int i = 0; i < S.capacity; i++) { 
if(S.S[i] == val) 
return true; // jika ada, kembalikan true 
} 
return false; // tidak ditemukan, kembalikan false 
} 
...
Contoh Penggunaan Set 
... 
void insertSet(Set S, int val) { 
if (S.last != S.capacity) { // jika belum penuh, isi 
if (S.last == 0) { // jika set kosong, langsung isi 
S.S[0] = val; 
S.last += 1; // geser posisi last dengan ditambah 
} 
else { // jika set tidak kosong 
if (!is_element_of(S, val)) { // periksa apakah elemen tidak ada 
S.S[S.last] = val; // isi nilai pada posisi last 
S.last += 1; // geser posisi last dengan ditambah 
} 
} 
} 
} 
...
Contoh Penggunaan Set 
... 
int main() { 
Set setKu = makeSet(5); // buat set dengan kapasitas 5 
insertSet(setKu, 10); // sisipkan nilai 
insertSet(setKu, 9); 
insertSet(setKu, 10); // nilai 10 yang kedua tidak masuk karena sudah ada 
cout << setKu.S[0] << " " << setKu.S[1] << " " << setKu.S[2]; 
return 0; 
}

More Related Content

What's hot

Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur dataAsep Jaenudin
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaDEDE IRYAWAN
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLDejiko Chaem
 
Tugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsTugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsElma Fiana
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - PolymorphismKuliahKita
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunakArdha Herdianto
 
Konsep proses dan penjadwalan
Konsep proses dan penjadwalanKonsep proses dan penjadwalan
Konsep proses dan penjadwalanDickdick Maulana
 
Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)Devi Apriansyah
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Ajeng Savitri
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database MysqlYusuf A.H.
 
Soal konsep sistem informasi abc
Soal konsep sistem informasi   abcSoal konsep sistem informasi   abc
Soal konsep sistem informasi abcBima Indra Mulya
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)Kelinci Coklat
 
Evolusi perkembangan rekayasa perangkat lunak
Evolusi perkembangan rekayasa perangkat lunakEvolusi perkembangan rekayasa perangkat lunak
Evolusi perkembangan rekayasa perangkat lunakFebry San
 
Presentasi OSK - RAID - Kelompok 4
Presentasi OSK - RAID - Kelompok 4Presentasi OSK - RAID - Kelompok 4
Presentasi OSK - RAID - Kelompok 4Sonityo Danang Jaya
 

What's hot (20)

Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
 
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas WidyatamaMakalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
Makalah Peranan Semaphore Sistem Operasi - Universitas Widyatama
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
Tugas 2 individu tentang dbms
Tugas 2 individu tentang dbmsTugas 2 individu tentang dbms
Tugas 2 individu tentang dbms
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Jawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihanJawaban Struktur data soal-latihan
Jawaban Struktur data soal-latihan
 
OOP - Polymorphism
OOP - PolymorphismOOP - Polymorphism
OOP - Polymorphism
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunak
 
Konsep proses dan penjadwalan
Konsep proses dan penjadwalanKonsep proses dan penjadwalan
Konsep proses dan penjadwalan
 
Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)Laporan praktikum modul 7 (dml)
Laporan praktikum modul 7 (dml)
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Modul 7 fuzzy logic
Modul 7   fuzzy logicModul 7   fuzzy logic
Modul 7 fuzzy logic
 
Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)Algoritma Greedy (contoh soal)
Algoritma Greedy (contoh soal)
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database Mysql
 
Soal konsep sistem informasi abc
Soal konsep sistem informasi   abcSoal konsep sistem informasi   abc
Soal konsep sistem informasi abc
 
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
4.2. Operasi Dasar Singly Linked List  2 (primitive list)4.2. Operasi Dasar Singly Linked List  2 (primitive list)
4.2. Operasi Dasar Singly Linked List 2 (primitive list)
 
Deadlock
DeadlockDeadlock
Deadlock
 
Memory
MemoryMemory
Memory
 
Evolusi perkembangan rekayasa perangkat lunak
Evolusi perkembangan rekayasa perangkat lunakEvolusi perkembangan rekayasa perangkat lunak
Evolusi perkembangan rekayasa perangkat lunak
 
Presentasi OSK - RAID - Kelompok 4
Presentasi OSK - RAID - Kelompok 4Presentasi OSK - RAID - Kelompok 4
Presentasi OSK - RAID - Kelompok 4
 

Similar to Algoritma dan Struktur Data - set

Algoritma dan Struktur Data - Set
Algoritma dan Struktur Data - SetAlgoritma dan Struktur Data - Set
Algoritma dan Struktur Data - SetKuliahKita
 
Pascal - Set.txt - Notepad.pdf
Pascal - Set.txt - Notepad.pdfPascal - Set.txt - Notepad.pdf
Pascal - Set.txt - Notepad.pdfJurnal IT
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAndiNurkholis1
 
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanAlgoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanGeorgius Rinaldo
 
Jeni intro1-bab07-java array
Jeni intro1-bab07-java arrayJeni intro1-bab07-java array
Jeni intro1-bab07-java arrayKristanto Wijaya
 
Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackKuliahKita
 
JENI-Intro1-Bab07-Java Array.pdf
JENI-Intro1-Bab07-Java Array.pdfJENI-Intro1-Bab07-Java Array.pdf
JENI-Intro1-Bab07-Java Array.pdfJurnal IT
 
Data structure bab 1
Data structure   bab 1Data structure   bab 1
Data structure bab 1Aviv Barkah
 
Array C++ MG3.pptx
Array C++ MG3.pptxArray C++ MG3.pptx
Array C++ MG3.pptxKemangKres
 
struct & stack
struct & stackstruct & stack
struct & stackM Satrio
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada JavaPBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada JavaRUDISELAMAT2
 

Similar to Algoritma dan Struktur Data - set (20)

Algoritma dan Struktur Data - Set
Algoritma dan Struktur Data - SetAlgoritma dan Struktur Data - Set
Algoritma dan Struktur Data - Set
 
Pascal - Set.txt - Notepad.pdf
Pascal - Set.txt - Notepad.pdfPascal - Set.txt - Notepad.pdf
Pascal - Set.txt - Notepad.pdf
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
STACK .pdf
STACK .pdfSTACK .pdf
STACK .pdf
 
2 Array
2 Array2 Array
2 Array
 
Arrays c++
Arrays c++Arrays c++
Arrays c++
 
Himpunan
HimpunanHimpunan
Himpunan
 
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
 
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukanAlgoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - tumpukan
 
Jeni intro1-bab07-java array
Jeni intro1-bab07-java arrayJeni intro1-bab07-java array
Jeni intro1-bab07-java array
 
Jeni Intro1 Bab07 Java Array
Jeni Intro1 Bab07 Java ArrayJeni Intro1 Bab07 Java Array
Jeni Intro1 Bab07 Java Array
 
Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - Stack
 
Efsi
EfsiEfsi
Efsi
 
3 stack2
3 stack23 stack2
3 stack2
 
JENI-Intro1-Bab07-Java Array.pdf
JENI-Intro1-Bab07-Java Array.pdfJENI-Intro1-Bab07-Java Array.pdf
JENI-Intro1-Bab07-Java Array.pdf
 
Data structure bab 1
Data structure   bab 1Data structure   bab 1
Data structure bab 1
 
Array C++ MG3.pptx
Array C++ MG3.pptxArray C++ MG3.pptx
Array C++ MG3.pptx
 
Fungsi rekursif
Fungsi rekursifFungsi rekursif
Fungsi rekursif
 
struct & stack
struct & stackstruct & stack
struct & stack
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada JavaPBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
 

More from Georgius Rinaldo

Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsGeorgius Rinaldo
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataGeorgius Rinaldo
 
Algoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorAlgoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorGeorgius Rinaldo
 
Algoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectAlgoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectGeorgius Rinaldo
 
Algoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtAlgoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtGeorgius Rinaldo
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonAlgoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonGeorgius Rinaldo
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selectionAlgoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selectionGeorgius Rinaldo
 
Algoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeAlgoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeGeorgius Rinaldo
 
Algoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleAlgoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleGeorgius Rinaldo
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerGeorgius Rinaldo
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiGeorgius Rinaldo
 
Algoritma dan Struktur Data - list
Algoritma dan Struktur Data - listAlgoritma dan Struktur Data - list
Algoritma dan Struktur Data - listGeorgius Rinaldo
 
Algoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikAlgoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikGeorgius Rinaldo
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileGeorgius Rinaldo
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundGeorgius Rinaldo
 
Algoritma dan Struktur Data - fungsi dan prosedur c++
Algoritma dan Struktur Data -  fungsi dan prosedur c++Algoritma dan Struktur Data -  fungsi dan prosedur c++
Algoritma dan Struktur Data - fungsi dan prosedur c++Georgius Rinaldo
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++Georgius Rinaldo
 

More from Georgius Rinaldo (20)

Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methods
 
Algoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur DataAlgoritma dan Struktur Data - Struktur Data
Algoritma dan Struktur Data - Struktur Data
 
Algoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructorAlgoritma dan Struktur Data - constructor dan destructor
Algoritma dan Struktur Data - constructor dan destructor
 
Algoritma dan Struktur Data - object
Algoritma dan Struktur Data - objectAlgoritma dan Struktur Data - object
Algoritma dan Struktur Data - object
 
Algoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adtAlgoritma dan Struktur Data - adt
Algoritma dan Struktur Data - adt
 
Algoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon binerAlgoritma dan Struktur Data - pohon biner
Algoritma dan Struktur Data - pohon biner
 
Algoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohonAlgoritma dan Struktur Data - pengenalan pohon
Algoritma dan Struktur Data - pengenalan pohon
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
Algoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertionAlgoritma dan Struktur Data - pengurutan insertion
Algoritma dan Struktur Data - pengurutan insertion
 
Algoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selectionAlgoritma dan Struktur Data - pengurutan selection
Algoritma dan Struktur Data - pengurutan selection
 
Algoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan MergeAlgoritma dna Struktur Data - Pengurutan Merge
Algoritma dna Struktur Data - Pengurutan Merge
 
Algoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubbleAlgoritma dan Struktur Data - pengurutan bubble
Algoritma dan Struktur Data - pengurutan bubble
 
Algoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian binerAlgoritma dan Struktur Data - pencarian biner
Algoritma dan Struktur Data - pencarian biner
 
Algoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursiAlgoritma dan Strukutr Data - rekursi
Algoritma dan Strukutr Data - rekursi
 
Algoritma dan Struktur Data - list
Algoritma dan Struktur Data - listAlgoritma dan Struktur Data - list
Algoritma dan Struktur Data - list
 
Algoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - LarikAlgoritma dan Struktur Data - Larik
Algoritma dan Struktur Data - Larik
 
Algoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi fileAlgoritma dan Struktur Data - operasi file
Algoritma dan Struktur Data - operasi file
 
Algoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compoundAlgoritma dan Struktur Data - tipe data compound
Algoritma dan Struktur Data - tipe data compound
 
Algoritma dan Struktur Data - fungsi dan prosedur c++
Algoritma dan Struktur Data -  fungsi dan prosedur c++Algoritma dan Struktur Data -  fungsi dan prosedur c++
Algoritma dan Struktur Data - fungsi dan prosedur c++
 
Algoritma dan Struktur Data - loop pada c++
Algoritma dan Struktur Data -  loop pada c++Algoritma dan Struktur Data -  loop pada c++
Algoritma dan Struktur Data - loop pada c++
 

Recently uploaded

TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfYogiCahyoPurnomo
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfArvinThamsir1
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++FujiAdam
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppttaniaalda710
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfihsan386426
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdfAnonymous6yIobha8QY
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxRemigius1984
 

Recently uploaded (8)

TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdfTEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
TEKNIS TES TULIS REKRUTMEN PAMSIMAS 2024.pdf
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Metode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdfMetode numerik Bidang Teknik Sipil perencanaan.pdf
Metode numerik Bidang Teknik Sipil perencanaan.pdf
 
MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++MAteri:Penggunaan fungsi pada pemrograman c++
MAteri:Penggunaan fungsi pada pemrograman c++
 
10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt10.-Programable-Logic-Controller (1).ppt
10.-Programable-Logic-Controller (1).ppt
 
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdfMODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
MODUL AJAR PENGANTAR SURVEY PEMETAAN.pdf
 
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
4. GWTJWRYJJJJJJJJJJJJJJJJJJWJSNJYSRR.pdf
 
Manual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptxManual Desain Perkerasan jalan 2017 FINAL.pptx
Manual Desain Perkerasan jalan 2017 FINAL.pptx
 

Algoritma dan Struktur Data - set

  • 1. Himpunan (Set) Algoritma dan Struktur Data Kuliahkita - Edwin Lunando
  • 2. Definisi Himpunan (Set) adalah sebuah struktur data penyimpanan yang dapat menyimpan nilai tertentu tanpa terpaut urutan. Himpunan atau set ini merupakan implementasi dari konsep pada definisi matematikanya yaitu finite set
  • 3. Karakteristik Himpunan Himpunan dapat tidak berisi atau himpunan kosong atau memiliki isi (lebih dari 1). Apabila himpunan diisi dengan sebuah nilai kemudian diisi lagi dengan nilai yang sama, maka nilai tersebut tidak disertakan karena sudah ada di dalam himpunan tersebut. Himpunan ini menerima nilai yang unik dan tidak redundan
  • 4. Operasi Himpunan Sama seperti operasi himpunan pada matematika, struktur data himpunan juga dapat memiliki operasi yang sama seperti: 1. gabungan (union) 2. irisan (intersection) 3. perbedaan (difference) 4. bagian (subset)
  • 5. Primitif Himpunan Selain itu, terdapat juga operasi primitif yang merupakan dasar pemeriksaan dari sebuah himpunan seperti: 1. is_element_of (apakah merupakan elemen) 2. is_empty (apakah himpunan kosong) 3. size (berapakah ukuran himpunan) 4. insert (menambahkan elemen pada himpunan)
  • 6. Himpunan (Set) pada C++ Sebuah himpunan pada bahasa pemrograman C++ sudah didefinisikan pada pustaka yang ada. Jika ingin menggunakannya kita hanya perlu menyertakannya dengan : #include <set>
  • 7. Multiset Himpunan juga dapat berisi himpunan lainnya seperti pada definisi pada matematika. Akan tetapi tipe yang disimpan perlu sejenis atau homogen dalam sebuah set.
  • 8. TDA Set Berikut ini adalah contoh struktur data himpunan { Contoh tipe himpunan bilangan bulat atau integer} type Set : < Capacity : Integer, Last : Integer, S: array [1..Capacity] of integer > Set menyimpan nilainya pada sebuah larik. Terdapat capacity pada himpunan untuk menetapkan batasan jumlah nilai yang dapat disimpan. Selain itu terdapat Last yang menandakan indeks kosong terakhir pada larik penampung nilai sehingga tidak perlu pencarian indeks untuk menambah nilai baru.
  • 9. Contoh Penggunaan Set #include <iostream> using namespace std; typedef struct { int capacity; // kapasitas dari sebuah himpunan int last; // indeks kosong terakhir dari himpunan int *S; // larik dinamis yang didefinisikan sebagai penampung } Set; ...
  • 10. Contoh Penggunaan Set ... Set makeSet (int capacity) { Set tempSet; tempSet.capacity = capacity; // inisialisasi kapasitas set tempSet.last = 0; // set kosong, indeks terakhirnya adalah 0 tempSet.S = new int[capacity]; // inisialisasi larik penampung set return tempSet; } bool is_element_of (Set S, int val) { // telusuri nilai dalam penampung for (int i = 0; i < S.capacity; i++) { if(S.S[i] == val) return true; // jika ada, kembalikan true } return false; // tidak ditemukan, kembalikan false } ...
  • 11. Contoh Penggunaan Set ... void insertSet(Set S, int val) { if (S.last != S.capacity) { // jika belum penuh, isi if (S.last == 0) { // jika set kosong, langsung isi S.S[0] = val; S.last += 1; // geser posisi last dengan ditambah } else { // jika set tidak kosong if (!is_element_of(S, val)) { // periksa apakah elemen tidak ada S.S[S.last] = val; // isi nilai pada posisi last S.last += 1; // geser posisi last dengan ditambah } } } } ...
  • 12. Contoh Penggunaan Set ... int main() { Set setKu = makeSet(5); // buat set dengan kapasitas 5 insertSet(setKu, 10); // sisipkan nilai insertSet(setKu, 9); insertSet(setKu, 10); // nilai 10 yang kedua tidak masuk karena sudah ada cout << setKu.S[0] << " " << setKu.S[1] << " " << setKu.S[2]; return 0; }