TUGAS 1
Makalah Struktur Data
Makalah Struktur Data
+TEKHNIK INFORMATIKA+
Nama : Fakhrudin Abdillah
Kelas : TI (pagi)
Mata kuliah : Arsitektur Komputer
Dosen : Septialutfi
>TEKHNIK INFORMATIKA<
:
STMIK HIMSYA SEMARANG :
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat
ALLAH S.W.T , atas berkat, rahmat dan karunia-Nya kami dapat menyusun dan
menyelesaikan makalah stuktur data ini.
program struktur data, dan makalh ini di buat
untuk memenuhi nilai semester pada mata kuliah struktur data.
Pada kesempatan ibi, kami
mengucapkan terima kasih atas dorongan, bantuan, bimbingan yang diberikan
kepada kami sehingga kami dapat menyelesaikan tugas ini, terutama kepada Pak
Septialutfi
Semoga isi makalah yang kami susun
menjadi manfaat bagi semua pihak baik yang menyusun maupun yang membaca. Kami
mengharapkan kritik dan saran yang membangun dari semu pihak agar menjadi bekal
dan masukan bagi kami selanjutnya.
Semarang,22
Maret 2014
Mahasiswa
(Fakhrudin
Abdillah)
DATA DAN STRUKTUR DATA
1. PENGERTIAN DATA
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.
Pengertian data
ini menyiratkan suatu nilai yang bisa dinyatakan dalam bentuk konstanta / variable.
Konstanta digunakan untuk menyatakan nilai tetap sedangkan variable
digunakan dalam program untuk menyatakan nilai yang dapat berubah-ubah selang
eksekusi berlangsung.
Ada empat istilah data, yaitu:
1.
Tipe data adalah jenis atau macam data di dalam
suatu variable dalam bahasa pemrograman.
2.
Objek data mengacu kumpulan elemen, D (domain).
3.
Representasi data : Suatu mapping dari struktur
data ‘d’ ke suatu set ke struktur data ‘e’ (d===e) misal bolean di
representasikan dalam 0 dan 1.
4.
Struktur data biasa dipakai untuk mengelompokan
beberapa informasi yang terkait menjadi
sebuah kesatuan.
Tipe data
sederhana terbagi menjadi dua, yaitu:
1.
Data sederhana tunggal. Misalnya : Integer, real / float, Boolean dan character.
2.
Data sederhana majemuk. Misalnya : String.
2. PENGERTIAN STRUKTUR DATA
Struktur data adalah suatu koleksi / kelompok data yang dapat di
karakteristikan oleh organisasi serta operasi yang di definisikan terhadapnya.
Dalam teknik pemrograman,struktur data berarti tata letak 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.
Struktur data
meliputi :
- Struktur data
sederhana, misalnya array dan Record.
Struktur data
majemuk, yang terdiri :
- Linier : Stack, Queue, serta List dan Multilist
- Non Linier : Pohon Biner dan Graph
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.
Struktur data
standar yang biasanya digunakan dibidang informatika adalah :
- ADT , Array ,
Struk
- List linier
(Linked List) dan variasinya
- Multilist
- Stack
(Tumpukan)
- Queue
(Antrian)
- Tree ( Pohon )
- Graph ( Graf )
PEMBUATAN STRUKTUR DATA
Untuk membuat menjadi struktur data, kita harus melakukan dulu aktivitas
terhadap objek data, yaitu :
v
Mendeskkripsikan kumpulan operasi sah yang
diterapkan ke elemen-elemen objek data.
v
Menunjukan mekanisme kerja operasi-operasi.
Objek data integer ditambah operasi (+ , - , * , / , mod ,cell , floor ,
< , >) dan operasi-operasi lain yang memanipuasi objek data integer
menyatakan struktur data.
Struktur data =
Objek data + { Operasi manipulasi }.
Tahap pembuatan
struktur data adalah :
Ø
Tahap
pertama : Spesifikasi
Pendeskripsian / spesifikasi struktur data menyatakan apa yang dapat
dilakukan struktur data, bukan cara penerapannya. Pendeskripsian ini melibatkan
level logic sehingga dapat digunakan konvensi matematika untuk menyatakan
sifat-sifat struktur data yang dikehendaki.
Spesifikasi dapat dilakukan dengan dua cara, yaitu :
·
Spesifikasi secara formal
·
Spesifikasi secara informal
Ø
Tahap kedua : Implementasi
Implementasi menyatakan cara penerapan struktur data dengan struktur data
yang telah ada.
Implementasi struktur data adalah proses pendefinisian tipe data abstrak
sehingga semua operasi dapat dieksekusi computer. Implementasi struktur
penyinpanan item-item data serta algoritma-algoritma untuk implementasi
operasi-operasi sehingga menjamin terpenuhinya karakteristik struktur data,
relasi item-item data atau invariant pada struktur data itu.
Ø
Tahap ketiga : Pemrograman
Pemrograman terstruktur adalah penerjemahan menjadi pernyataan di bahasa
pemrograman tertentu. Prosesnya terdiri dari :
·
Deklarasi yang mendefinisikan objek-objek data
dan hubungannya…
·
Pembuatan prosedur / rutin untuk operasi-operasi
dasar yang menjaga invariant pada struktur data itu .
Sesuai dengan relasi yang didefinisikan di spesifikasi perancangan harus
memilih tipe-tipe data yang telah ada untuk merepresentasikan struktur data.
Struktur data di bangun menggunakan fasilitas pembentukan atau pembuatan
struktur data yang disediakan bahasa seperti array, record, dan sebagainya atau
yang telah di buat seperti stack, queue, atau himpunan menggunakan linked list.
Pembuatan
struktur data adalah pembentukan tipe data lengkap yang mempunyai empat
property berikut :
1.
Nama :
Identifier tipe data
2.
Domain :
Domain / himpunan semesta nilai di tipe data
3.
Konstanta (penyebutan anggota-anggotanya) : Cara
penyebutan anggota-anggota tipe data
4.
Operasi-operasi terhadap tipe data itu
(operator) : Daftar operasi terhadap
anggota tipe data sehingga kelakuan objek data sesuai spesifikasi.
ARRAY
1. PENGERTIAN
Array atau larik di definisikan
sebagai pemesanan alokasi memory berurutan.definisi ini kurang tepat, karena
terjadi kerancuan antara struktur data dan representasinya. Memang benar array
hampir selalu di implementasikan menggunakan memory berurutan tapi tidak selalu
demikian.
Semua elemem
array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang
ukuran atau jumlah elemen maksimumnya telah diketahui dari awal.
Homogen adalah
bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data
yang sama.
2. KARAKTERISTIK ARRAY
a)
Mepunyai batasan dari pemesanan alokasi memori
(bersifat statis)
b)
Mempunyai tipe data sama (bersifat homogen)
c)
Dapat diakses secara acak.
2.1. DEKLARASI ARRAY
Ada tiga hal yang harus di
ketahui dalam mendeklarasikan array, yaitu :
a)
Type data array
b)
Nama variable array
c)
Subkrip / index array.
Contoh deklarasi dari array adalah sebagai berikut :
int A[5] ;
artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe
integer.
2.2. JENIS ARRAY
1.
ARRAY DIMENSI SATU
Deklarasi : Type_Data
Nama_Variabel [index]
Rumus untuk menentukan jumlah elemen dalam array adalah :
|
p = Perkalian dari index
sebelumnya (untuk arraybdimensi dua dan tiga).
PEMETAAN (MAPPING) ARRAY DIMENSI SATU KE STORAGE
Rumus : @A[i] = B + (i – 1) * L
Dimana : @A[i] : Posisi array yang dicari
B :
Posisi awal index di memori computer
i :
Subkrip atau index array yang di cari
L :
Ukuran atau besar memori suatu tipe data
2.
ARRAY DIMENSI DUA
Deklarasi :
Type_Data Nama_Variabel [index1] [index2]
Menentukan jumlah elemen dalam
array dimensi dua :
|
p = Perkalian dari statemen
sebelumnya
PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE
Terbagi dua cara pandang (representasi) yang berbeda :
·
Secara kolom per kolom (coloumn major order /
CMO)
|
·
Secara baris per baris (row major order / RMO)
|
Keterangan :
@M[i][j] = Posisi array yang di cari, M[0][0 = Posisi alamat awal index
array, i = Baris, j = Kolom, L = Ukuran memory type data, K = Banyaknya elemen
per kolom, N = Banyaknya elemen per baris.
3.
ARRAY DIMENSI TIGA
Deklarasi :
type_Data Nama_Variabel [index1][index2][index3]
Menentukan jumlah elemen dalam array dimensi tiga :
|
p
= Perkalian dari statemen sebelumnya
PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE
|
TRIANGULAR ARRAY (ARRAY SEGI TIGA)
Triangular array
dapat merupakan Upper Triangular (seluruh elemen di bawah diagonal utama = 0),
ataupun Lower Triangular (seluruh elemen di atas diagonal utama = 0).
Dalam array
Lower Triangular dengan N baris, jumlah maksimum elemen <> 0, tidak lebih
dari
|
SPERSE ARRAY (ARRAY JARANG)
Suatu array yang
sangat banyak elemen nol-nya.
2.3. OPERASI DASAR PADA ARRAY
Operasi terhadap elemen di array dilakukan dengan pengaksesan langsung.
Nilai
di masing-masing
posisi elemen dapat diambil dan nilai dapat disimpan tanpa melewati
posisi-posisi
lain.
Terdapat dua
tipe operasi, yaitu :
1. Operasi
terhadap satu elemen / posisi dari array
2. Operasi
terhadap array sebagai keseluruhan
Dua operasi
paling dasar terhadap satu elemen / posisi adalah
1. Penyimpanan
nilai elemen ke posisi tertentu di array
2. Pengambilan
nilai elemen dari posisi tertentu di array
Operasi-operasi
dasar terhadap array secara keseluruhan adalah :
1. Operasi
penciptaan
2. Operasi penghancuran
3. Oparasi
pemrosesan traversal
4. Operasi
pencarian (table look-up)
5. Operasi
sorting
2.3.1. PENCIPTAAN DAN PENGHANCURAN
Operasi
penciptaan biasa disebut inisialisasi.
Operasi ini
untuk mempersiapkan struktur data untuk operasi-operasi berikutnya.
Operasi
penghancuran menyatakan ketidak berlakuan struktur data atau membebaskan
memory, menyerahkan memory ke manajemen memory agar dapat di pergunakan
keperluan lain.
Operasi
penghancuran penting terutama bila struktur data di implementasikan secara
dinamis menggunakan pointer
2.3.2. PENYIMPANAN DAN PENGAMBILAN NILAI
Biasanya bahasa pemrograman menyediakan sintaks tertentu untuk
penyimpanan dan pengambilan nilai elemen pada posisi tertentu di array.
Contoh :
A[10] = 78, berarti penyimpanan nilai 78 ke posisi ke-10 dari array A
C = A[10], berarti pengambilan nilai elemen posisi ke-10 dari array A
2.3.3. PEMROSESAN TRANSVERSAL
Operasi pemrosesan transversal adalah pemrosesan mengolah seluruh elemen
secara sistematik.
2.3.4. PENCARIAN DI ARRAY (table look-up)
Pencarian di array (table look-up) adalah proses pencarian suatu nilai di
array. Klasifikasi pencarian di array adalah :
1)
Pencarian sekuen (sequential searching),yaitu:
i.
Tanpa Boolean, terbagi:
·
Tanpa sentinen
·
Dengan sentinen
ii.
Menggunakan boolean
2)
Pencarian secara biner / dikotom (binary =
dichotomy searching).
2.4. PENGURUTAN ARRAY
Pengurutan atau sorting adalah
proses yang paling sering di lakukan dalam pengolahan data.pengurutan di
bedakan menjadi dua, yaitu :
- Pengurutan internal
Pengurutan dilakukan terhadap sekumpulan data di media memory internal
komputer dimana data dapat di akses elemennya secara langsung.
- Pengurutan eksternal
Pengurutan data di memory sekunder. Biasanya data bervolume besar
sehingga tidak mampu dimuat semuanya di memori utama.
3. KEUNGGULAN DAN KELEMAHAN ARRAY
Keunggulan array
adalah sebagai berikut :
- Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
- Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-
elemen tetangga, baik elemen pendahulu atau elemen penerus 3
- Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,
maka penggunaan penyimpanannya sangat efisien.
Kelemahan array
adalah sebagai berikut :
Array mempunyai
fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai
berikut :
- Array 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 statik yang sulit
diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan
terjadi
terus-menerus, maka representasi statis
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan
Bila penambahan
dan pengurangan terjadi terus menerus, maka representasi statis (array):
- Tidak efisien dalam penggunaan memory
- Menyiakan banyak waktu komputasi
- Pada suatu aplikasi, representasi statis tidak di mungkinkan.
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. Array
merupakan bagian dari struktur data yaitu termasuk kedalam struktur data
sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara
pada komputer. Apabila kita membuat program dengan data yang sudah kita ketahui
batasnyamaka kita menggunakan Array (type data statis), namun apabila datanya
belum kita ketahui batasnya maka gunakan pointer (type data dinamis).
DAFTAR PUSTAKA

Tidak ada komentar:
Posting Komentar