Showing posts with label dasar struktur. Show all posts
Showing posts with label dasar struktur. Show all posts

Wednesday, March 20, 2019

STRUKTUR DATA – DASAR STRUKTUR UNTUK PEMROGRAMAN

STRUKTUR DATA – DASAR STRUKTUR UNTUK PEMROGRAMAN



   Struktur data adalah cara pengorganisasian data tertentu di komputer sehingga bisa digunakan secara efisien. Data struktur menyediakan sarana untuk mengelola sejumlah besar data secara efisien, seperti besar database dan internet.

   Struktur data pada dasarnya berevolusi untuk mensurvei tujuan menyimpan, mengambil dan mengatur data secara logis.
Struktur data dasar.



Ø  Struktur Data Linier
1)  Array
Array adalah sejumlah elemen dalam urutan tertentu. Mereka diakses menggunakan bilangan bulat untuk menentukan elemen mana
Diperlukan (meskipun unsur-unsurnya hampir sama dengan jenis apapun)
Komputer digital pertama menggunakan bahasa pemrograman mesin untuk mengatur dan mengakses struktur array untuk tabel data,
Perhitungan vektor dan matriks, dan untuk banyak keperluan lainnya. 
Aplikasi
Array digunakan untuk menerapkan vektor matematis dan matriks, serta jenis tabel persegi panjang lainnya. Banyak
Database, kecil dan besar, terdiri dari (atau termasuk) array satu dimensi yang elemennya adalah catatan. 
Array digunakan juga untuk menerapkan struktur data lainnya, seperti tumpukan, tabel hash, deques, antrian, tumpukan, string, dan VLists.
Serta digunakan untuk menentukan aliran kontrol parsial atau lengkap dalam program


2) List
linked list adalah struktur data yang terdiri dari sekelompok node yang bersama-sama mewakili suatu urutan. Di bawah bentuk yang paling sederhana, setiap node terdiri dari data dan referensi (dengan kata lain, sebuah link) ke simpul berikutnya di urutan; Varian yang lebih kompleks menambahkan link tambahan. Struktur ini memungkinkan penyisipan atau pemindahan elemen yang efisien dari posisi manapun dalam urutan.
Keuntungan:
• Linked list adalah struktur data dinamis, mengalokasikan memori yang dibutuhkan saat program dijalankan.
• Operasi penyisipan dan penghapusan node mudah diimplementasikan dalam linked list.
Kekurangan:
• Mereka memiliki kecenderungan untuk membuang memori karena adanya petunjuk yang membutuhkan ruang penyimpanan ekstra.
• Node dalam linked list harus dibaca secara berurutan sejak awal karena linked list secara inheren berurutan

q  Doubly Linked Lists
adalah struktur data yang terdiri dari satu set berurutan terkait record disebut node. Setiap node berisi dua bidang, yang disebut link, yang merupakan referensi ke yang node link sebelumnya dan berikutnya, masing-masing, arahkan ke beberapa jenis dari terminator, biasanya node sentinel atau null, untuk memfasilitasi traversal dari daftar. 
q  Self Organizing List
 daftar yang mengingatkan elemen-elemennya berdasarkan heuristik pengorganisasian diri sendiri untuk memperbaiki akses rata-rata
waktu. Tujuan dari daftar pengorganisasian sendiri adalah untuk meningkatkan efisiensi pencarian linier dengan memindahkan barang yang sering diakses
Ke arah kepala daftar Daftar pengorganisasian mandiri mendekati waktu konstan untuk akses elemen dalam kasus terbaik. Sebuah self-
Daftar pengorganisasian menggunakan algoritma reorganisasi untuk menyesuaikan diri dengan berbagai distribusi kueri saat runtime.
Aplikasi
Penerjemah bahasa seperti compiler dan interpreter menggunakan daftar mengorganisir diri untuk mempertahankan tabel simbol selama kompilasi Atau interpretasi kode sumber program.
q  Skip List
Merupakan struktur data yang memungkinkan pencarian cepat dalam memerintahkan urutan elemen.

Aplikasi
Daftar aplikasi dan framework yang menggunakan daftar skip:
•  Cyrus IMAP server menyediakan sebuah "skiplist" pelaksanaan backend DB (source file)
•  Lucene menggunakan skip list untuk mencari daftar postingan delta-encoded dalam waktu logaritmik.
• QMap (sampai ke Qt 4) kelas template dari Qt yang menyediakan kamus

q  Vlist
VList adalah struktur data yang dirancang oleh Phil Bagwell pada tahun 2002 yang menggabungkan Pengindeksan array dengan perpanjangan mudah dari daftar terkait cons-based (atau tunggal terkait). Seperti array, VLists memiliki constant-time pencarian rata-rata dan hanya membutuhkan penyimpanan O (log n) untuk petunjuk.
Operasi utama VList
adalah:
Cari elemen kth (O (1) rata-rata, O (log n) worst-case)
Tambahkan elemen ke depan rata-rata VList (O (1)
q  Zipper
Merupakan teknik untuk mewakili struktur data agregat sehingga memudahkan dalam penulisan program.

Aplikasi
sering digunakan dimana ada beberapa konsep 'fokus' atau bergerak dalam beberapa rangkaian data. zipper telah digunakan pada:
• Xmonad, untuk mengelola fokus dan penempatan windows
• makalah Huet ini mencakup editor struktural berdasarkan ritsleting dan prover teorema

Ø  Binary Trees
Merupakan struktur data pohon dimana masing-masing node memiliki paling banyak dua anak
q  Red-Black Tree
adalah struktur data yang merupakan jenis pohon pencarian biner self-balancing.
Aplikasi
Red-Black Tree menawarkan jaminan terburuk untuk waktu penyisipan, waktu penghapusan, dan waktu pencarian. 
q  Splay Tree
Adalah pohon pencarian biner yang menyesuaikan diri dengan properti tambahan yang baru saja diakses elemennya dengan cepat

Keuntungan
• Implementasi sederhana - sederhana dari pohon pencarian biner, seperti Red-Black Tree
• Kinerja rata-rata kinerja yang sebanding sama efisiennya dengan pohon lainnya.
• Tapak tapak memori kecil tidak perlu menyimpan data pembukuan

q  Splay Tree
Adalah pohon pencarian biner yang menyesuaikan diri dengan properti tambahan yang baru saja diakses elemennya dengan cepat
Keuntungan
• Implementasi sederhana - sederhana dari pohon pencarian biner, seperti Red-Black Tree
• Kinerja rata-rata kinerja yang sebanding sama efisiennya dengan pohon lainnya.
• Tapak tapak memori kecil tidak perlu menyimpan data pembukuan

q  Threaded Binary Tree
Sebuah pohon biner dijalin dengan membuat semua petunjuk anak yang tepat yang normalnya akan menjadi null menunjuk ke penerus inorder
Node (jika ada), dan semua pointer anak kiri yang normalnya akan null menunjuk ke inorder pendahulu dari node
q  Treap
treap dan pohon pencarian biner acak adalah dua bentuk pohon pencarian biner yang saling terkait. Struktur data yang mempertahankan seperangkat kunci pesanan yang dinamis dan memungkinkan pencarian biner di antara tombol.


Ø  Application Binary Trees
q  Abstract Syntax Tree
Abstract Syntax Tree atau hanya pohon sintaksis, adalah representasi pohon sintaksis abstrak struktur kode sumber ditulis dalam bahasa pemrograman. Setiap simpul pohon menunjukkan konstruksi yang terjadi di Kode sumber. Sintaksnya "abstrak" tidak mewakili setiap detail yang muncul dalam sintaks sebenarnya.
Aplikasi
Abstrak pohon sintaksis adalah struktur data yang banyak digunakan pada kompiler, karena sifatnya mewakili struktur, biasanya merupakan hasil dari fase analisis sintaks kompilator. 
q  Parse tree
atau pohon derivasi adalah pohon berurutan yang berakar yang mewakili
Struktur sintaksis dari sebuah string sesuai dengan beberapa tata bahasa bebas konteks.
q  Decision tree
adalah alat pendukung keputusan yang menggunakan grafik mirip pohon atau model keputusan dan kemungkinan akibatnya, Termasuk hasil kejadian kebetulan, biaya sumber daya, dan utilitas. Ini adalah salah satu cara untuk menampilkan sebuah algoritma. Pohon keputusan biasanya digunakan dalam penelitian operasi, khususnya dalam analisis keputusan
Keuntungan
• Mudah dipahami dan diinterpretasikan. Orang bisa memahami model pohon keputusan setelah penjelasan singkat.
• Memiliki nilai bahkan dengan sedikit data keras. Wawasan penting dapat dihasilkan berdasarkan pakar yang menjelaskan situasi (its
Alternatif, probabilitas, dan biaya) dan preferensi mereka untuk hasil
q  Finger Tree
adalah struktur data fungsional murni yang digunakan untuk menerapkan struktur data fungsional secara efisien. Sebuah Pohon jari memberi waktu diam diamortisasi diamortisasi ke "jari" (daun) pohon, tempat penyimpanan data


Tugas Makalah Microsoft Windows Phone dan PC

Bab I Pendahuluan LATAR   BELAKANG             Windows phone adalah keluarga sistem operasi perangkat bergerak yang dikembangkan ...