Data adalah kumpulan angka, simbol, dan abjad yang berbeda untuk
menggambarkan informasi.
Struktur Data adalah kumpulan dari elemen-elemen data yang menyediakan cara
termudah untuk menyimpan dan melakukan tindakan yang berbeda dari data pada
komputer.
Struktur data adalah cara tertentu untuk mengelola data pada komputer sehingga
dapat digunakan secara efektif.
Struktur data dapat dikatakan sebagai bagian dari ilmu pemrograman dasar di
mana bertujuan untuk membuat sebuah struktur penyimpanan data yang
digunakan saat program dijalankan.
Struktur Data bersama-sama dengan Algoritma akan membentuk sebuah Program
HUBUNGAN STRUKTUR DATA DAN
ALGORITMA
Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat
diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi -operasi
penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih
kecil, dan waktu eksekusi yang lebih cepat .
Pemakaian struktur data yang tepat di dalam proses pemrograman akan
menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan
program secara keseluruhan lebih efisien dan sederhana
PROGRAM =
ALGORITMA + STRUKTUR
DATA
KATEGORI DATA
Built-In Data Type (Tipe Data Bawaan) : Tipe Data yang sudah ditentukan/dibawa
oleh sebuah bahasa pemrograman (integer, Boolean(true/false), float, character
dan string.
Derived Data Type (Tipe Data Turunan) : Tipe Data yang implementasinya
independen karena dapat diimplementasikan dengan banyak cara. Tipe data ini
terdiri dari tipe data bawaan dan operasi yang terkait tipe data tersebut. Contoh
tipe data ini adalah record, struct dan class.
TIPE DATA DAN OBJEK DATA
Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa
pemrograman pada komputer.
Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan:
Deklarasi terhadap variabel tipe data tersebut
Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data
tersebut
Jenis objek data yang mungkin
Objek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data
tertentu. Contoh: integer mengacu pada objek data -32768 s/d 32767, byte 0 s/d
255, string adalah kumpulan karakter maksimal 255 huruf.
PENGENALAN STRUKTUR DATA
Struktur data sebenarnya juga meliputi larik (array) dan record pada berkas
beruntun (sequential file) yang dipelajari dalam algoritma dan pemrograman
sebenarnya juga merupakan bagian dari struktur data untuk penyimpanan data di
memori sebagai larik atau di dalam file sebagai record.
Penyimpanan record di dalam file adalah cikal bakal adanya aplikasi basis data,
karena sebenarnya aplikasi basis data berbasis pada konsep penyimpanan record di
dalam file.
Pembuatan struktur data dimulai dari analisis perancangan data apa yg harus
dimanipulasi di memori agar program yang dibuat lebih efisien. Langkah kedua
adalah mengimplementasikan struktur data dalam bahasa pemrograman, dan
selanjutnya menggunakan struktur data yang sudah dibuat untuk memanipulasi
data di memori dalam sebuah program.
SEKILAS TENTANG STRUKTUR DATA
Setiap data yang dimasukkan ke komputer (nilai data) harus memiliki tempat
penampung secara fisik dan logika.
Secara fisik cth. Disket, hard disk (memori eksternal) dsb, termasuk memori
utama (memori internal). Sedangkan secara logika adalah variabel memori
(disebut variabel), dan atribut (disebut field).
Variabel adalah Penampung nilai data yang bersifat sementara yang disimpan
dimemori.
Cth. Var a : integer;
a = 25
maka a adalah variabel, dan 25 adalah nilai data.
AKTIVITAS STRUKTUR DATA
Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang ada.
Menunjukkan mekanisme kerja operasi-operasinya .
Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan adalah +, -,
*, /, mod.
Struktur data = obyek data + operasi manipulasi data
ARRAY/LARIK
Adalah struktur data yang diproses melalui indeksnya. Ada yang terdiri dari
satu dimensi (array linier), dua dimensi (matriks) dan multidimensi.
Contoh Array A satu dimensi : 8 indeks (1 s/d 8) dan data 1,7,18 dst
A: array[1..8] of integer;
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Kelebihan : penambahan data dibelakang mudah dilakukan
Kekurangan : ukuran tetap, penghapusan lambat, pencarian lama
ARRAY/LARIK
A r ra y B d u a d i m e n s i ( m a tr ik s ) :
- j u m l a h b a ri s 2 , k o l o m 3
- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
1 2 3
1 18 03 69
2 24 08 70
TUMPUKAN/STACK
Adalah struktur data yang diproses melalui alamat kepala (awal). Info adalah tempat
untuk datanya, next untuk menyimpan alamat berikutnya.
Bersifat dinamis dimana ukurannya boleh berubah (bertambah) pada saat eksekusi
program
Kelebihan : penyisipan dan penghapusan data mudah
Kekurangan : pencarian lama
s A B C
QUEUES/ANTRIAN/GILIRAN
Struktur data ini diproses dari dua ujung, penambahan pada posisi belakang
sedangkan penghapusan data pada posisi depan.
Struktur data ini menggunakan sistem FIFO (First In First Out).
Contoh : antrian pembeli karcis diloket.
Kelebihan : data yang pertama kali masuk mudah diakses.
Kekurangan : akses terhadap data yang lain lambat.
BINARY TREES/POHON BINER
Rekursi :
Konsep pengulangan diluar pendekatan iteratif.
Suatu proses yang memanggil dirinya sendiri, proses dapat berupa fungsi atau
prosedur.
Base Case adalah solusi dimana proses rekursi akan berhenti.
Recursif Case adalah kasus dimana solusi di hasilkan dengan cara memanggil
“versi kecil” dari dirinya sendiri.
REKURSI