Struktur data menjadi salah satu bagian yang penting yang wajib dipahami oleh kita para programmer ya. Struktur data ini memudahkan pengguna untuk mengakses data yang dibutuhkan secara tepat dan juga tepat. Ini karena struktur data...
memiliki format khusus yang berfungsi untuk mengatur, memproses, mengambil, dan juga menyimpan data. Nah lalu, apa itu sebenarnya struktur data? Di video kali ini, kita akan membahas sekilas mengenai apa itu struktur data, bagaimana cara kerjanya, dan bagaimana cara bikinnya. Tonton terus videonya sampai akhir, dan jangan di-skip ya!
Apa itu struktur data? Jadi struktur data adalah cara menyimpan dan mengatur data secara terstruktur pada sistem komputer atau database, sehingga lebih mudah untuk diakses. Secara teknis, data itu disimpan dalam bentuk angka, huruf, simbol, dan juga lainnya, dan diletakkan di dalam kolom-kolom atau susunan tertentu.
Dalam menyusun data, terdapat beberapa istilah yang perlu kita pahami. Yang pertama ada yang disebut dengan node dan juga index. Node adalah elemen yang terdapat di dalam struktur data. Setiap node itu berisi pointer ke node selanjutnya.
Sedangkan index adalah objek dalam sistem struktur data yang bisa mempercepat proses pencarian data. Struktur data juga bisa digunakan untuk mengelola database, melakukan compress file, hingga mengelola data lainnya. Praktis, struktur data ini menjadi hal yang harus dipelajari karena bisa membantu kita untuk menyatukan beberapa elemen data secara efektif.
Apalagi, struktur data juga akan mempengaruhi ketepatan algoritma dalam suatu program. Nah, setelah mengetahui apa itu struktur data, selanjutnya kita juga perlu tahu macam-macam struktur data yang bisa kita gunakan untuk menyimpan data di dalam komputer. Yang pertama, ada struktur data yang namanya array.
Jadi, tipe array mempunyai kumpulan elemen yang jaraknya saling berdekatan. Array dapat membantu seseorang untuk mencari data secara acak hanya dengan menggunakan indeksnya saja. Selain itu, array juga memungkinkan kita untuk menyimpan beberapa data dengan jenis yang sama dalam satu nama. Jadi, tipe array biasa digunakan untuk membangun sebuah struktur data seperti vektor ataupun matriks. Tipe data array ini punya beberapa keunggulan atau kelebihan.
Di antara yang pertama, itu bisa digunakan sebagai implementasi dari tipe struktur data yang lain, seperti queue dan juga stack. Dan proses pencariannya. data pada array ini bisa kita lakukan dengan cenderung lebih cepat. Tapi ada juga kekurangannya.
Contohnya, untuk menambah dan menghapus data, itu membutuhkan waktu yang lebih lama. Karena tipe data array itu menampung data datanya secara berurutan. Tipe struktur data berikutnya ada yang dinamakan dengan linked list yang merupakan struktur data yang terdiri dari urutan data linear yang dihubungkan satu sama lain. Saat kita menggunakan tipe data linked list ini kita harus mengakses datanya secara manual. Hal ini disebabkan karena linked list tidak bisa mencari data dengan sistem yang acak.
Nah untuk tipe linked list ini kita bisa bagi menjadi tiga jenis. Yang pertama ada yang disebut dengan single linkless, yang kedua ada doubly linkless, dan yang ketiga ada circular linkless nah ketiganya ini dapat dibedakan dari proses traversal atau penelusurannya ke setiap node dalam satu waktu tertentu nah kalau tipe linkless ini memiliki keunggulan seperti ukurannya yang lebih dinamis berikutnya dia alokasi penggunaan memorinya itu bisa kita sesuaikan dengan kebutuhan selamat menikmati Lalu untuk penambahan atau pengurangan datanya itu cenderung lebih cepat. Sedangkan kekurangannya dari linkless ini adalah yang pertama dia menguras memori, yang kedua itu nggak bisa kembali ke node sebelumnya, kecuali kita bikinnya pakai doubly linkless. Lalu berikutnya proses traversalnya itu jadi lebih panjang ya, karena kita nggak langsung mengakses datanya lewat indeks seperti array. Struktur data berikutnya itu ada yang dinamakan dengan stack atau istilahnya tumpukan.
Ya, di mana ini merupakan tipe struktur data yang linear dan mengikuti urutan tertentu. Ada pun urutan yang diinginkan itu disebut dengan LIFO ya, atau Last In First Out. Bisa juga disebut dengan VLO.
atau first in line test out. Kedua istilah tersebut artinya sama ya, yaitu data yang terakhir masuk akan menjadi data yang keluar pertama kali. Sebaliknya, data yang pertama masuk akan menjadi data yang keluar terakhir. Stack in. ini memiliki keunggulan antara lain dapat mengelola datanya secara efisien ya lalu dia juga bisa membersihkan objek secara otomatis dan dapat mengontrol memorinya dengan mandiri lalu stack juga memiliki kekurangan ya seperti kapasitas memorinya yang sangat terbatas terus juga dia kemungkinan terjadi overflow ketika jumlah objeknya terlalu banyak dan tidak dapat mengakses data secara acak.
Oke, tipe data berikutnya, ada yang disebut dengan Q. Jadi Q ini, atau antrian, adalah tipe struktur data yang juga linear, yang mengikuti urutan tertentu. Pada Q, urutan yang berlaku adalah vivo atau first in, first out jadi data yang masuk pertama adalah data yang pertama kali diambil analogi sederhananya untuk menggambarkan Q ini adalah ketika kita sedang mengambil data mengantri ya, namanya juga antrian siapa yang datang pertama itulah yang akan dilayani terlebih dahulu kelebihan dari tipe Q adalah data yang masuk akan dilayani sesuai urutannya proses antrian data itu jadi lebih cepat dan juga optimal lalu dapat menangani beberapa tipe data sekaligus sedangkan kekurangannya itu adalah kalau misalnya waktu servernya habis atau pelayanannya habis habis, maka data yang terakhir masuk itu nggak bisa dilayani.
Terus dia juga memiliki proses yang rumit saat harus menambah atau menghapus elemen di tengah. Kalau elemennya ada di tengah. Dan butuh waktu lama untuk mencari antriannya. Berikutnya lagi, ada struktur data yang disebut dengan tree. Bentuknya seperti ini teman-teman.
Jadi tree ini adalah sebuah struktur data yang memiliki bentuk seperti pohon. Tipe tree ini efisien untuk menyimpan data secara hirarki karena disusun dalam berbagai level. Jadi tipe ini sering dianggap sebagai kumpulan node yang saling dihubungkan. Oke, kita kembali ke gambar yang tadi. Jadi kalau kalian lihat, ini setiap node itu bisa berisi beberapa data atau link dari node lainnya.
Nah, beberapa isilah yang harus kalian paham pada tipe tree ini adalah, yang pertama ada yang disebut dengan root. node yang berada di paling atas. Lalu ada lagi child node yang merupakan turunan dari setiap node.
Ada lagi yang namanya parent node yang merupakan node yang memiliki child atau sub node. Kemudian ada siblings Dia merupakan beberapa node yang berasal dari parent yang sama Dan terakhir ada leave node Yang dimana dia merupakan node yang udah gak punya turunan lagi Nah tipe dari tree ini punya kelebihan Contohnya kalau kita melakukan proses pencarian data Itu bisa dilakukan dengan cukup cepat Sedangkan kekurangannya Yaitu membutuhkan waktu yang yang lebih lama untuk memasukkan data ya, karena kita harus menyesuaikan urutannya, urutan nilainya tipe struktur data berikutnya, yang ke-6 itu ada yang disebut dengan graph yang merupakan sebuah struktur data yang berisi beberapa node yang saling terhubung, node pada tipe graph itu kita sebut sebagai simple, jadi setiap garis akan saling menghubungkan dua buah simple biasanya tipe ini kita gunakan kita gunakan untuk menunjukkan jaringan tertentu. Contohnya kalau misalkan kita mau bikin jaringan telepon ya.
Keunggulan dari tipe data graph ini adalah dia dapat membantu memeriksa hubungan antar node-nya dengan cepat. Lalu cocok juga digunakan untuk membuat grafik yang tidak mengandung banyak node. Dan kekurangan dari tipe graph ini dia membutuhkan waktu yang lama untuk memodifikasi datanya.
Dan yang terakhir kita punya tipe struktur data yang namanya hash table Yang digunakan untuk menyimpan data secara asosiatif Tipe struktur data ini akan menyimpan data dalam format array Hal ini memungkinkan kita untuk mengakses datanya dengan lebih cepat Kenapa? Karena kita cukup menggunakan indexnya saja Keunggulan lain dari tipe struktur data hash table Itu diantaranya yang pertama ya Daripada tipe lainnya Kadang penggunaan hash table itu lebih efektif Kalau kita mau mencari data Sehingga ini sering dipakai untuk software yang di dalamnya ada pengindeksan basis data Yang kedua, tipe struktur data ini mudah untuk melakukan sinkronisasi Sedangkan kekurangannya hash table ini adalah Yang pertama dia adanya kemungkinan data yang bentrok Sehingga nantinya menjadi tidak efisien Terima kasih Nah jadi itu tadi ya teman-teman ya penjelasan singkat mengenai struktur data yang ada di dalam pemrograman Mudah-mudahan teman-teman paham dengan penjelasan singkatnya Tonton terus videonya untuk belajar pemrograman gratis dimanapun dan juga di tempat lain dan juga kapanpun subscribe dan like untuk dapetin informasi tips dan insight menarik lainnya tentang keprograman Terima kasih teman-teman sudah menonton videonya semoga bermanfaat