Konsep
dan Definisi Struktur Data
Struktur data adalah cara program menyimpan data sehingga data dapat
digunakan secara efisien. Hampir setiap perusahaan aplikasi menggunakan
berbagai jenis struktur data dalam satu atau lain cara. Postingan ini akan
memberikan pemahaman tentang konsep-konsep struktur Data yang diperlukan untuk
memahami kompleksitas aplikasi tingkat perusahaan dan kebutuhan algoritma,
struktur data besar.
Struktur data ini adalah cara
yang sistematis untuk mengatur data untuk menggunakannya secara efisien.
Berikut adalah persyaratan dasar struktur data.
§ Interface − Struktur data masing-masing memiliki antarmuka.
Antarmuka merupakan operasi yang mendukung struktur data. Antarmuka yang hanya
menyediakan daftar operasi didukung, jenis parameter mereka dapat menerima dan
kembali jenis operasi ini.
§ Implementasi − Implementasi menyediakan perwakilan internal
struktur data. Implementasi juga menyediakan definisi dari algoritma yang
digunakan dalam operasi dari struktur data.
§ Correctness − Struktur Data implementasi harus
mengimplementasikan antarmuka dengan benar.
§ Time Complexity − Waktu berjalan atau waktu eksekusi
operasional dari strukturdata harus sekecil mungkin.
§ Space Complexity − Kompleksitas ruang operasi struktur data
harus sesedikit mungkin.
Seperti aplikasi yang semakin
kompleks dan data yang kaya, ada tiga masalah yang biasanya dihadapi.
§ Data Search − Mempertimbangkan inventarisasi 1 million(106) item dari toko. Jika aplikasi untuk mencari item. Itu harus
mencari item dalam 1 million(106) item setiap kalimemperlambat
pencarian. Sebagai data tumbuh, pencarian akan menjadi lebih lambat.
§ Processor Speed − Kecepatan prosesor meskipun yang sangat
tinggi, jatuh terbatas jika data tumbuh milyar catatan.
§ Multiple Requests − Permintaan beberapa ribuan pengguna dapat mencari
data secara bersamaan pada web server, bahkan sangat cepat server gagal ketika
mencari data.
Untuk mengatasi masalah tersebut,
struktur data yang datang untuk menyelamatkan. Data dapat diatur dalam struktur
data sedemikian rupa bahwa semuanya mungkin tidak diperlukan untuk pencarian
dan data yang diperlukan dapat dicari hampir seketika.
Ada tiga perkara yang biasa
digunakan untuk membandingkan berbagai struktur data waktu pelaksanaan secara
relatif.
§ Worst Case − Kasus terburuk ini adalah skenario di mana data
tertentu struktur operasi membutuhkan waktu maksimum dapat memakan waktu. Jika
sebuah operasi waktu kasus terburuk ƒ(n) maka operasi ini akan
tidak memakan waktu lebih dari ƒ(n) waktu dimana ƒ(n) mewakili
fungsi n.
§ Rata-rata − Kasus ini adalah skenario yang menggambarkan waktu
eksekusi rata-rata dari operasi dari struktur data. Jika operasi ƒ(n) waktu
dalam pelaksanaan operasim akan mengambil waktu mƒ(n).
§ Best Case − Kasus terbaik ini adalah skenario yang
menggambarkan waktu eksekusi yang paling mungkin dari operasi dari struktur
data. Jika operasi ƒ(n) waktu dalam pelaksanaan operasi
sebenarnya mungkin mengambil waktu sebagai nomor acak yang akan menjadi
maksimum sebagai ƒ(n).
§ Data − Data yang nilai atau set nilai.
§ Data Item − Data item merujuk kepada satu unit nilai-nilai.
§ Group Item − Item Data yang terbagi dalam sub item disebut sebagai
kelompok item.
§ Elementary Item − Item Data yang bisa dibagi disebut sebagai dasar
item.
§ Atribut dan Entity− Entitas adalah bahwa yang berisi atribut atau sifat
yang dapat ditetapkan nilai-nilai tertentu.
§ Entity Set − Entitas atribut serupa membentuk sebuah set entitas.
§ Field - Field adalah satu unit dasar informasi
mewakili atribut dari suatu entitas.
§ Record - Record catatan adalah kumpulan bidang nilai suatu
entitas.
§ File − File adalah kumpulan catatan entiti dalam satu set
entitas.
Konstanta & Variabel
Jika dalam membuat suatu program, tentu akan
sering menggunakan bilangan numerik atau suatu kalimat string yang sama yang
akan digunakan berkali-kali, ada baiknya bilangan atau kalimat tersebut
dijadikan sebagai suatu konstanta.
Manfaat Konstanta:
Penggunaan konstanta akan membuat program
menjadi lebih mudah dimengerti dan diperbaiki.
Penggunaan konstanta akan dapat memberikan
nama yang mudah dipahami untuk suatu bilangan numerik yang kompleks. Contoh:
phi = 3.141592.
Variabel adalah sebuah identifier yang
nilainya dapat diubah sesuai dengan kebutuha program. Jika dibutuhkan sebuah
variabel yang dapat dikenali oleh semua lingkungan dalam program maka harus
digunakan variabel Global. Pada C++ selalu terdapat fungsi utama, variabel
global biasanya dideklarasikan di luar fungsi utama tersebut. Juga terdapat
variabel Lokal. Variabel lokal hanya dikenali oleh suatu fungsi saja, artinya
variabel lokal tidak dikenal oleh lingkungan luar di dalam program yang dibuat.
Variabel lokal harus berada dalam lingkup fungsi tertentu.
