Nama: Zaki Ahmad Sugiyono
Kelas: X.1
Struktur Data
Data dapat dikategorikan menjadi
1) Data Sederhana Tunggal
> Integer ( angka ) bit.bulat 1,2,3dat
> Double float angka
> Boolean true,false 1,0
> Character
> Vercharacter
2) Data Sederhana Majemuk
> String
1. Array

Tipe Array mempunyai kumpulan elemen yang jaraknya saling berdekatan. Array dapat membantu seseorang untuk mencari data secara acak hanya menggunakan indeksnya.
Kapasitas elemen yang dapat dialokasikan pada tipe array bersifat statis. Jika Anda ingin menyisipkan elemen baru ke array, maka harus membuat array baru dengan ukuran yang lebih besar. Sebaliknya, jika ingin menghapus elemen tertentu, Anda harus membuat array baru dengan ukuran yang lebih kecil.
Selain itu, array juga memungkinkan Anda untuk menyimpan beberapa data dengan jenis yang sama dalam satu nama. Tipe array biasa digunakan untuk membangun struktur data, seperti vektor dan matriks.
Keunggulan tipe array:
- Bisa digunakan sebagai implementasi tipe lainnya, seperti queue dan stack.
- Proses pencarian data bisa dilakukan lebih cepat.
Kekurangan tipe array:
- Penambahan dan pengurangan data membutuhkan waktu yang lebih lama karena tipe array menampung data secara berurutan.
2. Linked List

Linked list adalah struktur data yang terdiri dari urutan data linier yang dihubungkan satu sama lain. Saat menggunakan tipe linked list, Anda harus mengakses data secara manual. Hal ini karena Anda tidak bisa mencari data dengan sistem acak.
Tipe linked list terbagi menjadi tiga jenis, yaitu singly linked list, doubly linked list, dan circular linked list. Ketiganya dapat dibedakan dari proses traversal atau proses kunjungan ke setiap node dalam satu waktu.
Keunggulan tipe linked list:
- Ukuran lebih dinamis.
- Alokasi penggunaan memori bisa Anda sesuaikan dengan kebutuhan.
- Penambahan atau pengurangan data lebih cepat.
Kekurangan tipe linked list:
- Menguras memori yang lebih besar.
- Tidak bisa kembali ke node sebelumnya (reverse traversal), kecuali pada jenis doubly linked list.
- Proses traversal lebih panjang karena tidak langsung mengakses data dengan indeks.
3. Stack

Stack adalah tipe struktur data yang linier dan mengikuti urutan tertentu. Adapun urutan yang digunakan adalah LIFO (Last In First Out) atau FILO (First In Last Out). Kedua istilah tersebut artinya sama, yaitu data yang terakhir masuk akan menjadi data yang keluar pertama kali. Sebaliknya, data yang pertama masuk akan menjadi data yang keluar terakhir.
Keunggulan tipe stack:
- Dapat mengelola data secara efisien.
- Bisa membersihkan objek secara otomatis.
- Dapat mengontrol memori dengan mandiri.
Kekurangan tipe stack:
- Kapasitas memori yang sangat terbatas.
- Kemungkinan terjadi overflow ketika jumlah objek terlalu banyak.
- Tidak dapat mengakses data secara acak.
4. Queue

Queue adalah tipe struktur data linear yang mengikuti urutan tertentu, yaitu FIFO (First In First Out). Jadi, data yang masuk pertama kali adalah data yang pertama kali diambil. Analogi sederhana yang menggambarkan tipe ini adalah orang yang sedang mengantre. Siapa yang datang pertama, itulah yang dilayani terlebih dulu.
Keunggulan tipe queue:
- Data yang masuk akan dilayani sesuai urutannya.
- Proses antrean data lebih cepat dan optimal.
- Menangani beberapa tipe data sekaligus.
Kekurangan tipe queue:
- Jika waktu pelayanan habis, maka data yang terakhir masuk tidak bisa dilayani.
- Proses yang rumit saat harus menambah atau menghapus elemen dari tengah.
- Butuh waktu lama untuk mencari antrean.
5. Tree

Tree adalah tipe struktur data yang memiliki bentuk seperti pohon. Tipe tree efisien untuk menyimpan data secara hierarkis karena disusun dalam berbagai level. Jadi, tipe ini sering dianggap sebagai kumpulan node yang saling dihubungkan.
Setiap node bisa berisi beberapa data atau link dari node lainnya. Beberapa istilah yang ada pada tipe tree antara lain:
- Root: node yang berada di paling atas..
- Child node: Turunan dari setiap node.
- Parent node: node yang berisi sub-node.
- Siblings: node yang berasal dari parent node yang sama.
- Leaf node: node yang tidak memiliki turunan lagi.
Keunggulan tipe tree:
- Proses mencari data bisa dilakukan dengan cepat.
Kekurangan tipe tree:
- Membutuhkan waktu yang lebih lama untuk memasukkan data karena harus menyesuaikan dengan urutan nilainya.
6. Graph

Graph adalah tipe yang berisi beberapa node yang saling terhubung. Node pada tipe graph disebut sebagai simpul. Jadi, setiap garis akan saling menghubungkan dua simpul. Biasanya tipe ini digunakan untuk menunjukkan jaringan tertentu. Contohnya seperti jaringan telepon.
Tipe graph terbagi menjadi dua jenis jenis, yaitu directed graph dan undirected graph. Directed graph artinya setiap garis akan terhubung ke semua simpul. Sedangkan undirected graph artinya tidak semua simpul akan terhubung dengan garis. Jika sebuah simpul tidak terhubung dengan simpul lainnya, maka disebut dengan isolated vertex.
Keunggulan tipe graph:
- Dapat membantu memeriksa hubungan antar node dengan cepat.
- Cocok digunakan untuk grafik yang tidak mengandung banyak node.
Kekurangan tipe graph:
- Membutuhkan waktu lama untuk memodifikasi data.
7. Hash Table

Hash table adalah tipe yang digunakan untuk menyimpan data secara asosiatif. Tipe ini akan menyimpan data dalam format array. Hal ini memungkinkan Anda untuk mengakses data dengan cepat karena cukup menggunakan indeksnya saja.
Operasi utama yang digunakan dalam hash table adalah search (untuk mencari elemen), insert (untuk menyisipkan elemen), dan delete (untuk menghapus elemen). Contoh penggunaan tipe hash table adalah mencari data nama dan nomor telepon.
Keunggulan tipe hash table:
- Daripada tipe lainnya, kadang penggunaan hash table lebih efisien untuk mencari data sehingga sering dipakai di software untuk pengindeksan basis data.
- Mudah melakukan sinkronisasi.
Kekurangan tipe hash table:
- Kemungkinan bentrokan data (collision) sangat besar sehingga menjadi tidak efisien.
10 Tipe Data yang Sering Dipakai Programmer
1. Integer
Tipe data pertama yang akan kamu temukan dalam dunia pemrograman adalah integer.Integer (int.) merupakan data type berbentuk bilangan bulat atau numerik yang umumnya digunakan untuk menyimpan angka tanpa komponen pecahan dengan rentang angka -707, 0, hingga 707.
Menurut BBC, data type ini mencakup semua bilangan bulat atau bilangan yang tidak memiliki komponen pecahan.
Integer juga biasa berisi bit-bit yang ditafsirkan sebagai kekuatan signifikansi sederhana, seperti 2^0, 2^1, 2^2 dan seterusnya.
Bilangan bulat pendek yang biasanya disimpan dengan integer memiliki panjang 16 bit atau sampai 2^16 atau 65.536.
2. Floating point
Ia merupakan jenis data type numerik yang digunakan untuk menyimpan angka yang mungkin memiliki komponen pecahan seperti nilai moneter (707.07, 0.7, 707.00).
Teknologi satu ini juga mengacu pada penggunaan dua kali lipat jumlah penyimpanan relatif dengan metode angka dalam kode, seperti pada kalkulator.
Tak hanya itu, ada beberapa jenis floating point dalam dunia programming, seperti float presisi tunggal, float presisi ganda, dan float presisi quadruple.
Masing-masing jenis dibedakan sesuai banyaknya penggunaan total bit, dari 24 bit, 32 bit, 53 bit, hingga yang terbesar adalah 128 bit.
3. Character (Char)
Umumnya, ia juga digunakan pada berbagai bahasa pemrograman di banyak komputer modern.
Character dimanfaatkan untuk menyimpan karakter alfabet dan menampilkan masing-masing karakter menggunakan kode numerik kecil.
4. Boolean
Jenis data type ini biasanya digunakan untuk mewakili nilai yang benar dan salah dalam data.
Umumnya, nilai yang salah (false) dan benar (true) direpresentasikan dengan angka 0 (false) dan 1 (true).
Boolean sendiri hanya bisa merepresentasikan dua nilai dengan pertimbangan seperti hubungan angka yang lebih kecil atau lebih besar.
Komentar
Posting Komentar