30 Mar 20 (IV) - Struktur Data Dalam Pemrograman
Struktur adalah
Cara sesuatu disusun atau dibangun Data
Representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol. Data merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau variabel. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung.
Struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien.
Struktur data adalah sebuah skema organisasi, seperti variabel dan array dan lain-lain, yang diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasi-operasi spesifik dapat dilaksanakan pada data tersebut. Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.
1. Tipe Data
- Tipe data adalah pengelompokan data berdasarkan isi dan sifatnya.
- Dalam bidang informatika tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam Pemrograman komputer.Â
- Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi.
Tipe Data dapat dikategorikan menjadi tiga macam :
- Tipe data dasar (primitive data type)
- Tipe data bentukan (composite data type) danÂ
- Tipe data abstrak (abstract data type).
A. Tipe Data Dasar
Tipe data dasar atau tipe data sederhana atau biasa juga disebut dengan Tipe data primitif adalah tipe data yang sudah ada dan dijadikan standar dalam bahasa pemrograman tertentu. Isi dari tipe data sederhana ini adalah data-data tunggal. Tipe data dasar sudah disediakan oleh program sehingga programmer bisa langsung memakai.- Integer (Bilangan Bulat) ... -3, -2, -1, 0, 1, 2, 3, ....
- Float atau double (Bilangan Real) :3,14, 2,00 dllÂ
- Char (Karakter) : A, B, C, D, .... ZÂ
- Boolean (logika) : True (1) False ( 0)
B. Tipe Data Bentukan
Tipe data bentukan atau tipe data komposit adalah tipe data yang dibentuk dari tipe data dasar dengan maksud mempermudah pekerjaan programer.- String : tipe data yang bisa menampung banyak karakter sekaligus.
- Array : tipe data bentukan yang terdiri dari kumpulan tipe data lain.Â
- Record : tipe data khusus yang komponennya terdiri dari berbagai jenis tipe data lain.Â
- Struct : sekumpulan variabel yang masing-masing dapat berbeda tipe, dan dikelompokkan ke dalam satu nama.
C. Tipe data abstrak
Tipe data abstrak atau yang dikenal sebagai Abstract Data Type adalah model matematika dari obyek data yang menyempurnakan tipe data dengan cara mengaitkannya dengan fungsi-fungsi yang beroperasi pada data yang bersangkutan. Tipe data abstrak adalahtipe data yang didefinisikan sendiri oleh pemrogram untuk suatu keperluan tertentu yang tidak memungkinkan untuk mendeklarasikan dari tipe data yang sudah ada.
Contoh :
- Stack : kumpulan elemen-elemen data yang disimpan dalam satu lajur linear.
- Queue : antrianÂ
- List : struktur data mampu menyimpan lebih dari satu dataÂ
- Graph : Graph merupakan struktur data yang tersusun atas simpul-simpul atau titik-titik (Node) yang terhubung satu sama lain dengan garis-garis, yang mana jumlah garis ini tidak tentu.Â
2. Konstanta dan Variabel
- Konstanta dan variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu didalam proses program.
- Konstanta dan variabel merupakan tempat di memori komputer untuk menyimpan data berupa nilai dengan tipe data tertentu.
3. Array
- Array adalah suatu alokasi beberapa tempat di memori yang tersimpan secara berurutan yang digunakan untuk menyimpan beberapa nilai dengan tipe data yang homogen.
- Ukuran atau jumlah elemen maksimum array telah diketahui dari awal yaitu ketika array dibuat.Â
- Sekali ukuran array ditentukan maka tidak dapat diubah.Â
- Ukuran array adalah bilangan bulat positif. Array harus diberi nama sebagai identifikasi.Â
- Indeks array dimulai dari 0 sampai dengan n-1 (n adalah ukuran array).Â
Contoh
- Kuliah [3]
- Tanggal [31]
- NilaiMhs[7] =80,Â
- Nama = Mahasiswa[20]Â
- Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
- Jika telah berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen tetangga, baik elemen pendahulu atau elemen penerus.
- Array mempunyai fleksibilitas rendah, karena array mempunyai batasan harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
- Kebanyakan bahasa pemrograman mengimplementasikan array dengan ukuran statik yang sulit diubah ukurannya di waktu eksekusi.Â
4. Stack
Stack berarti tumpukan. Jika dikaitkan dengan struktur data, stackberarti sekumpulan data yang strukturnya menyerupai tumpukan. Stack harus diberi nama sebagai identifikasi. Konsep penyimpanan data pada stack menganut sistem "yang terakhir masuk sebagai yang pertama keluar" (Last In First Out / LIFO). Dengan konsep ini, urutan
pengambilan data akan berkebalikan dengan urutan penyimpanan data. Elemen yang terakhir disimpan akan menjadi yang pertama kali diambil. Dengan konsep ini maka kita tidak dapat mengambil data yang tersimpan dalam stack secara acak. Data dalam stack harus disimpan dan diambil dari satu sisi atau satu pintu saja.
Operasi push adalah proses memasukkan data baru ke stack melalui pintu TOP sehingga data terbaru akan terletak pada posisi teratas.
Operasi pop adalah proses mengeluarkan atau mengambil data dari stack dan data yang diambil adalah data yang terletak di posisi teratas.
5. Queue
Secara bahasa queue adalah antrian. Queue adalah suatu kumpulan data dengan operasi pemasukan atau penyimpanan data hanya diperbolehkan pada salah satu sisi, yang disebut sisi belakang (rear) dan operasi pengambilan atau penghapusan hanya diperbolehkanpada sisi lainnya yang disebut sisi depan (front). Konsep ini dikenal dengan istilah Last In First Out (LIFO).
6. Tree
Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarki (hubungan one to many) antara elemen-elemen. Bentuk tree menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang salingberhubungan. Node-node tersebut dihubungkan oleh sebuah vektor. Sehingga tree bisa didefinisikan sebagai kumpulan simpul atau node dengan elemen khusus yang disebut root atau akar.
Dalam pemrograman, sebuah tree terdiri dari elemen-elemen yang dinamakan node (simpul) yang mana hubungan antar simpul bersifat hirarki.
Setiap node dapat memiliki 0 atau lebih node anak (child). Sebuah node yang memiliki node anak disebut node induk (parent).
Sebuah node anak hanya memiliki satu node induk.
Sesuai konvensi ilmu komputer, tree bertumbuh ke bawah, tidak seperti pohon di dunia nyata yang tumbuh ke atas.
Node yang berada di pangkal tree disebut node root (akar), sedangkan
node yang berada paling ujung tree disebut node leaf (daun).
node yang berada paling ujung tree disebut node leaf (daun).
0 comments:
Post a Comment