1. Nama Mahasiswa : Muhamad Abdul Rojak
2. Nim : 6311003
3. Alamat : Jl Sukamenak No.09. Kopo sayati , Bandung.
4. Kelas saat ini : 1 TI 06
5. Nama Matakuliah : Teori Struktur Data
6. Nama Dosen : Dadan Nurdin Bagenda ST.
7. Nama Kampus : PKN & STIMIK LPKIA,
Bandung.
Rangkuman Mata Kuliah Struktur Data di kelas
Pengertian Struktur Data
Struktur
data adalah cara menyimpan atau merepresentasikan data didalam komputer agar
bisa dipakai secara efisien. Sedangkan data adalah representasi dari fakta
dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam
atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau
simbol. Struktur
data dapat di artikan juga sebagai representasi data pada
memory secara logika dan meng-karakterisasikan setiap variabel dalam program
secara eksplisit ataupun implisit, Untuk operasi yang dibolehkan/berlaku pada
object data tersebut sehingga sangat diperlukan
dalam perencanaan Algoritma dan penyusunan program sebagai dasar teknik dari
Database.
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.
Tujuan pembentukkan struktur data
Tujuan pembentukan struktur data adalah information hiding atau encapsulation sebagai berikut :
1. Perubahan implementasi struktur data tidak merubah teks program yang menggunakan struktur data bila interface pada struktur data telah dirancang baik sehingga tidak berubah
2. Pemakaian dan pembuatan struktur data dapat dilakukan secara terpisah, yang hany perlu kesepakatan mengenai interface pemakai struktur data tersebut
3. Struktur data merupakan sarana pemrograman modular dan menjadi landasan terbentuknya tim pemrograman
Tahapan Pembuatan Struktur Data :
1. Tahap Pertama
Spesifikasi atau pendeskripsian struktur data menyatakan apa yang dapat dilakukan struktur data, bukan cara penempatannya. Pendeskripsian ini melibatkan level logic sehingga dapat digunakan konvensi matematika untuk menyatakan sifat-sifat struktur data yang dikehendaki.
2. Tahap Kedua
Implementasi menyatakan cara penerapan struktur data dengan struktur data yang telah ada. Implementasi struktur dataadalah proses pendefinisian tipe data abstark sehingga semua operasi dapat dieksekusi computer. Implementasi berisi dekklarasi struktur penyimpanan item data serta algoritma untuk implementasi operasi, sehingga menjamin terpenuhinya karakteristik struktur data, relasi item data tau invariant pada struktur data tersebut.
3. Tahap Ketiga
Pemrograman struktur data adalah penterjemahan menjadi pernyataan dalam bahasa pemrograman tertentu.struktur data dibangun menggunakan fasilitas pembentukkan atau pembuatan struktur data yang disediakan bahasa seperti array, record dan lain-lain.
Berukut adalah Gambar Pemetaan Matakuliah Struktur Data selama semester 2:
Berdasarkan
jumlah komponen selama eksekusi program, maka dapat dikelompokkan menjadi :
·
Struktur
Data Statis (jumlah komponennya tidak berubah) Contoh: Array
Array
adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu
yang menggunakan sebuah nama yang sama.
Nilai-nilai
data di suatu larik disebut dengan elemen-elemen Array.
Letak
urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu
index.
Menurut
dimensinya, array dapat dibedakan menjadi :
1.
Array
berdimensi satu
·
Setiap
elemen array dapat diakses melalui index
·
Index
array secara default dimulai dari 0
·
Deklarasi
array :
Tipe_array nama_array[ukuran]/ int nilai[10];
·
Karena variabel saling bersambung, maka
array satu dimensi biasanya diilistrasikan dengan gambar sbb:
2.
Array
berdimensi dua
·
Array
dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah
kolom. Bentuknya dapat berupa matriks atau tabel.
·
Deklarasi
array :
Tipe_array nama_array [baris/X][kolom/Y]/
int nilai [5][5];
·
Dimana x adalah untuk koordinat baris dan y untuk koordinat kolom.
Untuk lebih Jelasnya lihat gambar berikut
:
3. Array multidimensi
- Array multidimensi merupakan
array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array
multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
- Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]
Int
nilai[10][5][5];
Lebih Lengkap Tentang Array Klik DISINI atau DISINI
·
Struktur
Data Dinamis (jumlah komponennya dapat berubah) contoh: Pointer
Pointer (variabel
penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu
variabel lain. Alamat ini merupakan
lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika
sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke
variabel kedua.
Operator Pointer ada dua, yaitu :
Ø
Operator &
•
Operator & bersifat unary (hanya
memerlukan satu operand saja).
•
Operator & menghasilkan alamat dari
operandnya.
Ø
Operator *
•
Operator * bersifat unary (hanya
memerlukan satu operand saja).
•
Operator * menghasilkan nilai yang
berada pada sebuah alamat.
Lebih lengkapnya
tentang Pointer klik Disini
Untuk
melihat perbedaan Memori dinamis pada C++ Klik Disini
Struktur Data, meliputi:
·
Struktur data sederhana, misalnya array dan record.
·
Struktur data majemuk, yang terdiri
dari:
Jenis Struktur
Data
- Struktur
Data Majemuk
- Linier
- Stack(Tumpukan)
Stack (tumpukan) adalah list linier yang dikenali elemen
puncaknya (top), aturan penyisipan dan penghapusan elemennya
tertentu (penyisipan selalu dilakukan “di atas” (top),
penghapusan selalu dilakukan pada top). Karena aturan penyisipan
dan penghapusan semacam itu, top adalah satu-satunya alamat
tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan
menjadi elemen yang akan dihapus. Dikatakan bahwa elemen stack
akan tersusun secara LIFO (Last In First Out).
- Queue(Antrian)
Queue (antrian) adalah list linier yang dikenali elemen pertama (head)
dan elemen terakhirnya (tail); Aturan penyisipan dan penghapusan
elemennya disefinisikan sebagai penyisipan selalu dilakukan setelah
elemen terakhir, penghapusan selalu dilakukan pada elemen pertama; Satu
elemen dengan elemen lain dapat diakses melalui informasi contoh Program QueUe Klik DISNI
- List dan Multi-List
(Daftar)
List linier
adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu,
yang setiap elemennya terdiri dari 2 bagian. sebuah list linier dikenali
dengan (1) elemen pertamanya, biasanya melalui alamat elemen pertama yang
disebut (first); (2) Alamat elemen berikutnya (suksesor), jika kita
mengetahui alamat sebuah elemen, yang dapat diakses melalui field next;
(3) Setiap elemen mempunyai alamat, yaitu tempat elemen disimpan dapat diacu.
Untuk mengacu sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut
informasi yang tersimpan pada elemen list dapat diakses; (4) Elemen
terakhirnya.
Lebih Lenkap Tentang Linked List Klik DISINI
- Non-Linier
1. Binary Tree (Pohon
Biner)
Sebuah pohon
biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau
terdiri dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain
yang disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left)
dan sub pohon kanan (right) dari pohon biner tersebut. Pohon biner
merupakan tipe yang sangat penting dari struktur data dan banyak dijumpai dalam
berbagai terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa
setiap simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak
punya anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon
secara umum.
Berikut contoh-contoh Program Tree KLIK DISINI
2.
Graph (Graf)
Graph merupakan struktur data yang paling umum. Jika
struktur linier memungkinkan pendefinisian keterhubungan sekuensial antara
entitas data, struktur data tree memungkinkan pendefinisian keterhubungan
hirarkis, maka struktur graph memungkinkan pendefinisian keterhubungan
tak terbatas antara entitas data. Banyak entitas-entitas data dalam
masalah-masalah nyata secara alamiah memiliki keterhubungan langsung (adjacency)
secara tak terbatas demikian. Contoh: informasi topologi dan jarak antar
kota-kota di pulau Jawa. Dalam masalah ini kota X bisa berhubungan langsung
dengan hanya satu atau lima kota lainnya. Untuk memeriksa keterhubungan dan
jarak tidak langsung antara dua kota dapat diperoleh berdasarkan data
keterhubungan-keterhubungan langsung dari kota-kota lainnya yang
memperantarainya. Representasi data dengan struktur data linier ataupun
hirarkis pada masalah ini masih bisa digunakan namun akan membutuhkan
pencarian-pencarian yang kurang efisien. Struktur data graph secara
eksplisit menyatakan keterhubungan ini sehingga pencariannya langsung (straightforward)
dilakukan pada strukturnya sendiri.
Berikut contoh Program
Graph (Graf) KLIK DISINI