Kamis, 28 Januari 2016
Pengertian Struktur Data, Stack, Queue, Array & Sorting.
STRUKTUR DATA
Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
STACK
Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Tumpukan dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri tumpukan:
· TOP merupakan sebutan untuk elemen paling atas dari suatu stack
· Elemen TOP merupakan elemen yang paling akhir ditambahkan
· Elemen TOP diketahui
· penambahan dan penghapusan elemen selalu dilakukan di TOP
· LIFO
Pemanfaatan tumpukan:
· Perhitungan ekspresi aritmatika (posfix)
· algoritma backtraking (runut balik)
· algoritma rekursif
Operasi tumpukan :
1. InsertFirst () biasa disebut Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke tumpukan
2. DeleteFirst () biasa disebut Pop (output E : typeelmt, input/output data : stack ) : menghapus sebuah elemen tumpukan
3. IsEmpty () : mengecek apakah stack kosong atau ada elemennya
4. IsFull () : mengecek apakah stack telah penuh atau belum
5. Clear () : menghapus semua data
6. Peek () : melihat data TOP
QUEUE
QUEUE pada Struktur Data atau antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisibelakang(rear), dan penghapusan(pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front).
Pada Stack atau tumpukan menggunakan prinsip“Masuk terakhir keluar pertama”atau LIFO (Last In First Out), Maka pada Queue atau antrian prinsip yang digunakan adalah “Masuk Pertama Keluar Pertama” atau FIFO (First In First Out).
Queue atau antrian banyak kita jumpai dalam kehidupan sehari-hari, ex: antrian Mobil diloket Tol, Antrian mahasiswa Mendaftar, dll.
Contoh lain dalam bidang komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah pemakai yang akan menggunakan sistem tersebut secara serempak.
Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear).
Karakteristik Queue atau antrian :
1. elemen antrian
2. front (elemen terdepan antrian)
3. tail (elemen terakhir)
4. jumlah elemen pada antrian
5. status antrian
Operasi pada Queue atau antrian
1. tambah(menambah item pada belakang antrian)
2. hapus (menghapus elemen depan dari antrian)
3. kosong( mendeteksi apakah pada antrian mengandung elemen atau tidak)
ARRAY
Array atau larik adalah koleksi data dimana setiap elemen memakai nama yang sama dan bertipe sama dan setiap elemen diakses dengan membedakan indeks arraynya
Array adalah variabel berindeks. Indeks harus bertipe yang memiliki keturutan (ada succesor dan predesor), misal integer, byte, character dan boolean.
Jadi array dipakai untuk menyajikan sekumpulan data yang bertipe sama dan disimpan dengan urutan sesuai dengan indeks secara continue..
1.Deklarasi Array Dimensi Satu
2. Array Dimensi Dua
3. Array Dimensi Banyak
SORTING
Sorting merupakan suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa digunakan dalam suatu proses sorting:
1. Urut naik (ascending)
Mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar
2. Urut turun (descending)
Mengurutkan dari data yang mempunyai nilai paling besar sampai paling kecil.
Mengapa harus melakukan sorting data? Ada banyak alasan dan keuntungan dengan mengurutkan data. Data yang terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan jika terdapat kesalahan. Data yang terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut tidak diperlukan lagi. Selain itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan data atapun melakukan penggabungan data.
Metode-metode sorting meliputi:
1. Insertion Sort (Metode Penyisipan)
2. Selection Sort (Metode Seleksi)
3. Bubble sort(Metode Gelembung)
4. Shell Sort (Metode Shell)
5. Quick Sort (Metode Quick)
6. Merge Sort (Metode Penggabungan)
ALGORITMA DAN STRUKTUR DATA TREE PADA BIDANG IT
ALGORITMA DAN STRUKTUR DATA TREE PADA BIDANG IT
Pengertian Tree
Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yang membentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu cara merepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang mirip sebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari atas ke bawah. Suatu struktur data yang tidak linier yang menggambarkan hubungan yang hirarkis (one-to-many) dan tidak linier antara elemen-elemennya.
Contoh penggunaan Struktur Tree:
- Silsilah keluarga
- Hasil pertandingan bentuk turnamen
- Struktur organisasi perusahaan
Definisi Gambar :
- Level : Semua node yang memiliki jarak yang sama dari root
- Parent : Node yang berada di atas node lain secara langsung
- Node : sebuah element dalam tree. Berisi informasi
- Root : Node teratas yang tidak punya parent. Memiliki derajat masuk 0.
- Child : cabang langsung dari sebuah node.
- Sibling : sebuah node lain yang memiliki parent yang sama.
- Leaf : sebuah node yang tidak memiliki child. Memiliki derajat keluar 0.
- Depth : jumlah yang berada dalam tree.
- Complete tree : semua parent memiliki child yang penuh.
- balanced : semua subtree memiliki depth yang sama
Jenis Jenis Tree
- Binary Tree
Tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subpohon dan kedua subpohon harus terpisah.
Kelebihan struktur Binary Tree :
- Mudah dalam penyusunan algoritma sorting
- Searching data relatif cepat
- Fleksibel dalam penambahan dan penghapusan data
Pembentukan Binary Tree :
- dapat dilakukan dengan dua cara : rekursif dan non rekursif
- perlu memperhatikan kapan suatu node akan dipasang sebagai node kiri dan kapan sebagai node kanan
- misal ditentukan, node yang berisi info yang nilainya”lebih besar” dari parent akan ditempatkan disebelah kanan dan yang “lebih kecil disebelah kiri”.
Algoritma Binary Tree :
- buat node baru
- cek apakah root = null,
jika ya, maka root=new melompat ke langkah 9;
jika tidak, maka lakukan langkah berikut: - mencari posisi yang tepat untuk new, tentukan p = root, q = root
- kerjakan langkah 5 & 6 selama q<> null dan new ->info<> p->info
- tentuakan p= q
- cek apakah new -> info < p -> info
jika ya, (teruskan ke cabang kiri), tentukan q= p->kiri;
jika tidak, (teruskan ke kanan), tentukan q = p -> kanan; - cek apakah new->info = p->info
jika ya, (tidak perlu disisipkan), tampilkan pesan duplikasi, lompat ke langkah 9.
jika tidak, (sisipkan), kerjakan langkah 8 - cek apakah new->info < p->info
jika ya, (sebagai cabang kiri), p->kiri = new
jika tidak, (sebagai cabang kanan), p->kanan = new - selesai
- KUNJUNGAN PADA POHON BINER
Sebuah pohon biner memiliki operasi traversal yaitu suatu kunjungan pada suatu simpul tepat satu kali. Dengan melakukan kunjungan lengkap kita akan memperoleh urutan informasi secara linier yang tersinpan di dalam pohon biner.
Terdapat tiga jenis kunjungan pada pohon biner, yaitu :
- PREORDER
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
– Cetak isi simpul yang dikunjungi.
– Kunjungi cabang kiri.
– Kunjungi cabang kanan.
2. INORDER
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
– Kunjungi cabang kiri.
– Cetak isi simpul yang dikunjungi.
– Kunjungi cabang kanan.
3. POSTORDER
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
– Kunjungi cabang kiri.
– Kunjungi cabang kanan.
– Cetak isi simpul yang dikunjungi
Langganan:
Postingan (Atom)