Anda di halaman 1dari 9

MAKALAH

PENGANTAR STRUKTUR DATA

DISUSUN OLEH:
MUHAMMAD RAIHAN AMIN (2215061056)
MUHAMMAD RAFFY ANDRIAWAN (2215061060)
IQBAL AL HIMNI (2215061068)
GIVARI MIRZAKY (2215061096)
RAFFI RIZKI NUGRAHA (2215061108)
MAHATHIR MUHAMMAD (2255061001)

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS LAMPUNG
DAFTAR ISI
BAB I
PENDAHULUAN
Secara umum suatu struktur data terdiri dari beberapa bagian seperti
himpunan nilai-nilai data dan sejumlah operasi dasar yang bekerja pada data
tersebut menurut suatu algortima tertentu. Sebagai contoh bila nilai data yang
dibicarakan adalah bagian dari himpunan bilangan riil, maka operasi-operasi yang
dapat dilakukan pada himpunan tersebut hanya operasi tambah, kurang, bagi dan
kali, sedangkan algoritma yang diterapkan pada himpunan data tersebut mungkin
merupakan algoritma untuk mencari nilai maksimum atau minimum dari data
yang ada.
Dalam penerapannya seorang pengguna komputer hanya akan
menggunakan fungsi-fungsi dasar yang ada tanpa memperhatikan secara
terperinci algoritma yang digunakan maupun struktur dari tempat penyimpanan
dimana data tersebut disimpan. Untuk itu dibuatlah suatu model yang dapat
menyelesaikan suatu persoalan yang ada.
Struktur data mewakili deskripsi kumpulan atau kelompok data yang
dicirikan oleh suatu organisasi dan operasi yang ditentukan di dalamnya.
Menggunakan struktur data yang tepat dalam proses pemrograman akan
menghasilkan algoritma yang lebih jelas dan tepat serta membuat keseluruhan
program menjadi lebih mudah.
Pemograman dalam struktur data ada beberapa macam. Salah satunya
yaitu pemograman C++. Dalam pemograman ini biasanya menggunakan berbagai
variable misalnya struktur data linked List, stack, queue, tree, dan pohon biner
(binary tree) . Pada Makalah ini kita akan membahas sebuah variabel dimana
dalam variable mempunyai fungsi yang berbeda sesuai dengan tipe file yang di
gunakan. Pemograman C++ berbeda dibandingkan pemograman lainnya misalnya
Delphi atau Pascal namun tidak terlalu berbeda dengan pemograman pascal.
BAB II
PEMBAHASAN
A. STRUKTUR DATA
Dalam istilah ilmu komputer, sebuah struktur data adalah cara
penyimpanan, pengaturan dan, penyusunan data di dalam media penyimpanan
komputer sehingga data tersebut dapat digunakan secara efesien
Dalam teknik pemrograman, struktur data berarti tata letak data yang
berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user)
ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak
tampak oleh pengguna. Setiap baris dari kumpulan kolom-kolom tersebut
dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi.
Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna,
dan juga ada kolom yang lebarnya tetap.
Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk
pengolahan database (misalnya untuk keperluan data keuangan) atau untuk
pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh
struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet),
pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga
pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
B. TIPE STRUKTUR DATA

1. ARRAY
Tipe struktur data yang pertama ini memiliki sekumpulan elemen yang
berjarak dekat satu sama lain. Tipe array ini membantu seseorang untuk mencari
data secara acak dengan berdasarkan indeks.
Kapasitas elemen yang dapat diaolokasikan ke tipe array adalah statis. Jika
anda ingin menyisipkan elemen baru ke dalam array, anda harus membuat array
baru dengan ukuran yang lebih besar. Di sisi lain, jika anda ingin menghapus
elemen tertentu, anda harus membuat array baru dengan ukuran yang lebih kecil.
Selain itu, Array memungkinkan anda untuk menyimpan beberapa data
dengan jenis yang sama dalam satu nama. Tipe array biasa digunakan untuk
membangun struktur data, seperti vektor dan matriks.
Keunggulan tipe array:
 Bisa digunakan sebagai tipe lainnya, seperti queue dan stack
 Proses pencarian data bisa dilakukan dengan lebih cepat.
Kekurangan tipe array
 Penambahan dan pengurangan data membutuhkan waktu lebih lama
karena tipe array menampung data secara berurutan

2. LINKED LIST

Linked List atau dikenal juga dengan sebutan senarai berantai adalah
struktur data yang terdiri dari urutan record data dimana setiap record memiliki
field yang menyimpan alamat/referensi dari record selanjutnya (dalam urutan).
Elemen data yang dihubungkan dengan link pada Linked List disebut Node.
Biasanya didalam suatu linked list, terdapat istilah head dan tail. Head adalah
elemen yang berada pada posisi pertama dalam suatu linked list dan Tail adalah
elemen yang berada pada posisi terakhir dalam suatu linked list

Ada beberapa macam Linked List, yaitu :


1. Single Linked List
Single Linked List merupakan suatu linked list yang hanya memiliki satu
variabel pointer saja. Dimana pointer tersebut menunjuk ke node selanjutnya.
Biasanya field pada tail menunjuk ke NULL.
2. Double Linked List
Double Linked List merupakan suatu linked list yang memiliki dua variabel
pointer yaitu pointer yang menunjuk ke node selanjutnya dan pointer yang
menunjuk ke node sebelumnya. Setiap head dan tailnya juga menunjuk ke
NULL.
3. Circular Linked List
Circular Linked List merupakan suatu linked list dimana tail (node erakhir)
menunjuk ke head (node pertama). Jadi tidak ada pointer yang menunjuk
NULL. Ada 2 jenis Circular Linked List, yaitu :
 Circular Single Linked List
 Circular Double Linked List
4. Multiple Linked List
Multiple Linked List merupakan suatu linked list yang memiliki lebih dar 2
buat variabel pointer.
Keunggulan tipe linked list:
 Ukuran lebih dinamis
 Alokasi penggunaan memori dapat disesuaikan dengan kebutuhan
 Proses penambahan atau pengurangan data lebih cepat
Kekurangan tipe linked list:
 Menguras memori data yang lebih besar
 Tidak dapat kembali ke node sebelumnya (reverse traversal)
 Proses traversal lebih panjang karena tidak langsung mengakses data
dengan indeks.

3. STACK
Stack (Tumpukan) adalah kumpulan elemen-elemen data yang disimpan
dalam satu lajur linear. Kumpulan elemen-elemen data hanya boleh diakses pada
satu lokasi saja yaitu posisi ATAS (TOP) tumpukan. Tumpukan digunakan dalam
algoritma pengimbas (parsing), algoritma penilaian (evaluation) dan algoritma
penjajahan balik (backtrack). Elemenelemen di dalam tumpukan dapat bertipe
integer, real, record dalam bentuk sederhana atau terstruktur
Keunggulan tipe stack:
 Dapat mengelola data secara efisien.
 Bisa membersihkan objek secara otomatis.
 Dapat mengontrol memori dengan mandiri.
Kekurangan tipe stack:
 Kapasitas memori yang sangat terbatas.
 Kemungkinan terjadi overflow ketika jumlah objek terlalu banyak.
 Tidak dapat mengakses data secara acak.

4. QUEUE
Queue merupakan suatu struktur data linear. Konsepnya hampir sama dengan
Stack, perbedaannya adalah operasi penambahan dan penghapusan pada ujung
yang bebeda.
Penghapusan dilakukan pada bagian depan (front) dan penambahan berlaku
pada bagian belakang (Rear). Elemen-elemen di dalam antrian dapat bertipe
integer, real, record dalam bentuk sederhana atau terstruktur.
Keunggulan tipe queue:
Data yang masuk akan dilayani sesuai urutannya.
Proses antrean data lebih cepat dan optimal.
Menangani beberapa tipe data sekaligus.
Kekurangan tipe queue:
Jika waktu pelayanan habis, maka data yang terakhir masuk tidak bisa dilayani.
Proses yang rumit saat harus menambah atau menghapus elemen dari tengah.
Butuh waktu lama untuk mencari antrean

5. TREE
Definisi Tree adalah suatu aturan atau cara untuk menghubungkan
komputer yang satu dengan komputer yang lain sehingga membentuk suatu
jaringan. Topologi jaringan juga dapat di definisikan sebagai gambaran secara
fisik dari pola hubungan antar komponen jaringan yang meliputi
server,workstation,hub dan perkabelan
Keunggulan tipe tree:
 Proses mencari data bisa dilakukan dengan cepat.
Kekurangan tipe tree:
 Membutuhkan waktu yang lebih lama untuk memasukkan data karena
harus menyesuaikan dengan urutan nilainya.

6. GRAPH
Graph adalah tipe yang berisi beberapa node yang saling terhubung. Node pada
tipe graph disebut sebagai simpul. Jadi, setiap garis akan saling menghubungkan
dua simpul. Biasanya tipe ini digunakan untuk menunjukkan jaringan tertentu.
Contohnya seperti jaringan telepon.
Keunggulan tipe graph:
 Dapat membantu memeriksa hubungan antar node dengan cepat.
 Cocok digunakan untuk grafik yang tidak mengandung banyak node.

Kekurangan tipe graph:
 Membutuhkan waktu lama untuk memodifikasi data.
C. KEGUNAAN STRUKTUR DATA
Membuat proses pemrograman yang mudah. Struktur data bisa digunakan
untuk membuat perintah dengan bahasa pemrograman dengan lebih mudah.
Menyimpan dan mengatur data. Mudah menyimpan dan mengatur data secara
efisien, rapi, dan terorganisir.
Pertukaran data. Kita bisa membagikan informasi dengan cepat dan mudah
walaupun dilakukan antar aplikasi.
Meningkatkan kualitas algoritma. Struktur data bisa berpengaruh ke tingkat
efektivitas algoritma.
Mengantisipasi Masalah Coding. Masalah ketika coding bisa selesai lebih cepat
dengan menggunakan struktur data. Hal ini karena kesalahan atau error bisa
segera ditemukan.

D. PERANAN STRUKTUR DATA


Pengindeksan. Struktur data bisa digunakan untuk mengindeks objek yang
disimpan dalam database.
Searching. Indeks yang terdapat pada struktur data akan mempercepat proses
pencarian data tertentu.
Skalabilitas. Struktur data dipakai untuk mengalokasikan dan mengelola
penyimpanan data di seluruh lokasi penyimpanan. Dengan begitu, suatu aplikasi
big data bisa terjamin performa dan kemampuan upgrade-nya
KESIMPULAN
struktur data merupakan salah satu bahan dasar pembuatan program.
Pemakaian struktur data yang tepat di dalam proses pemrograman, akan
menghasilkan algoritma yang jelas dan tepat sehingga menjadikan program
secara keseluruhan lebih sederhana. Ada banyak sekali jenis struktur data yang
dapat kita gunakan tergantung pada program yang akan kita buat juga, tiap jenis
struktur data memiliki kelebihan dan kekurangannya maisng masing untuk itu
kita perlu menentukan program apa yang akan kita buat dahulu agar nantinya
sesuai dengan tipe struktur yang akan kita gunakan.
Struktur data juga mempunyai banyak fungsi yang tentunya sangat membantu
kita dalam membuat program selain itu dengan kita mengenal struktur data kita
juga telah maju selangkah ke dalam dunia teknologi informasi dan tentunya juga
sebagai mahasiswa informatika kita telah tahu dasar dari apa yang nantinya akan
kita pelajari dan juga terapkan. Serta dengan adanya struktur data ini banyak
permasalahan di bidang komputasi yang telah teratasi.

Anda mungkin juga menyukai