1-"Array,Pointer, dan Introduction Data Structure"-2101707900-Kana Hayalia Ahmad
PENGENALAN
STRUKTUR DATA
Sebelum masuk ke pengertian struktur data, mari kita
review sedikit tentang Array dan Pointer yang nantinya akan banyak terpakai di
struktur data.
A.
ARRAY
Array adalah sekumpulan data yang memiliki tipe data
yang sama. Array disimpan dalam memori (RAM) sebagai index. Dimana index Array
dimulai dari 0. Dalam mendeklarasikan sebuah Array, kita harus menggunakan
tanda kurung siku ([]).
Ø Macam-macam
Array:
a. Array satu dimensi
Dimana data-data akan disimpan dalam satu baris Array, sehingga hanya dibutuhkan
satu penomoran indeks.
Sintax: tipeData namaVariabel[nilai];
b. Array dua dimensi
Dimana data-data akan disimpan dalam bentuk baris dan kolom, sehingga
dibutuhkan dua nilai indeks.
Sintax: tipeData namaVariabel[jumlah_baris][jumlah_kolom];
c. Array multi dimensi
Dalam deklarasi Array ini, diperlukan lebih dari satu indeks.
Sintax: tipeData namaVariabel[nilai1][nilai2][nilai3][…];
Ø Cara menyimpan
nilai Array:
a. Inisialisasi Array
Inisialisasi adalah memberikan nilai awal pada elemen Array.
Contoh:
int nilaiUAS[5];
b. Memasukkan Nilai
Contoh:
int nilaiUAS[5]={90, 82, 78, 95, 88};
int i,
marks[5];
for (i=0;
i<5; i++)
scanf(“%d”,
&marks[i]);
c. Menentukan Nilai
Contoh:
int i,
nilaiUAS1[5], nilaiUAS2[5];
for(i=0;
i<5; i++)
arr2[i] = arr1[i];
Ø Operasi pada Array:
a. Tranversal
Operasi Tranversal adalah proses mencetak semua
nilai Array satu persatu.
b. Insertion
Operasi Insertion adalah proses menambahkan sebuah nilai pada indeks Array tertentu.
Adapun langkah-langkahnya adalah sebagai berikut :
-
Pengurutan dimulai dari data ke-2 sampai dengan
data terakhir.
-
Jika ditemukan data yang lebih kecil atau lebih
besar, maka akan ditempatkan (diinsert) diposisi yang seharusnya.
c.
Searching
Operasi searching adalah
proses mencari suatu nilai Array dengan menggunakan indeks atau nilai yang
diberikan.Tempat penyimpanan tersebut dapat di memori atau dalam suatu file di eksternal
storage.
d.
Deletion
Operasi deletion adalah proses menghapus nilai pada indeks
tertentu.
e.
Merging
Operasi Merging adalah adalah proses penggabungan dua buah
data pada memori penyimpanan Array.
f.
Sorting
Operasi Sorting adalah proses mengurutkan nilai Array menurut
aturan atau susunan tertentu.
{ NB:
Pertanyaan: Berapa dimensi maksimal pada Array?
Jawab: Itu tergantung tipe data yang kita gunakan.}
B.
POINTER
Pointer adalah sebuah
variabel yang digunakan sebagai penunjuk alamat dari variabel lain.
Dua operator penting di
pointer:
a.
& (Menunjukkan alamat ).
b.
* (Menunjukkan
nilai dari alamat tersebut).
{ NB:
Pertanyaan: Apa bedanya single
pointer dengan double ponter? Maksimal * nya harus berapa?
Jawab: Tergantung dari dimensi
Array yang dipakai.}
C.
STRUKTUR
DATA
Struktur data adalah
sekumpulan data yang terorganisasi yang dianggap sebagai suatu unit.
Ø
Beberapa struktur data:
a.
Array (Larik)
b.
Linked List
Linked List adalah sekumpulan elemen
bertipe sama yang terbentuk secara dinamik. Elemen linked list disebut node.
Setiap node pada linked list dihubungkan melalui pointer. Linked list yang node-nya mempunyai satu buah
pointer disebut singly-linked list. Linked list yang node-nya mempunyai dua
pointer, satu untuk mengait ke node berikutnya dan yang lain untuk mengait ke
node sebelumnya, disebut doubly-linked list. Node dibentuk dengan structure.
c.
Queue (Antrian)
Queue(antrian)
adalah barisan elemen yang apabila elemen ditambah maka penambahannya berada di
posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di
elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (First In
First Out).
d.
Stacks
Stacks (tumpukan)
adalah sebuah kumpulan data dimana data yang diletakkan di atas data yang lain.
Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO (Last
In First Out). Dengan demikian, elemen terakhir yang disimpan dalam stack
menjadi elemen pertama yang diambil.
e.
Binary Tree
Tree adalah
kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan
yang membentuk layaknya struktur sebuah pohon.
Binary Tree
dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua sub pohon dan kedua
sub pohon harus terpisah.
Kelebihan
struktur Binary Tree :
·
Mudah
dalam penyusunan algoritma sorting.
·
Searching
data relatif cepat.
·
Fleksibel
dalam penambahan dan penghapusan data.
D.
TIPE DATA
Tipe data
adalah sebuah cara yang digunakan untuk menentukan jenis suatu data tersebut,
kata lain dari hal ini ialah "deklarasi variabel". Dalam
bahasa pemrograman apapun mengenal 5 tipe data ini, yaitu integer, float, char, string,
dan boolean.
Ø Berikut adalah penjelasan dari keempat tipe data:
- Integer, tipe data integer ini
digunakan untuk mendeklarasikan variable sebagai bilangan bulat. Misalkan
nilai 10, 7,29,100, adn 22. Penggunaan tipe data integer biasanya
digunakan untuk data yang akan dilakukan pengoperasian penjumlahan,
pengurangan, pembagian, atau perkalian.
- Float, seperti halnya integer,
tipe data ini digunakan untuk data angka, namun untuk angka/nilai yang
berupa pecahan. Jadi apabila ingin mendapatkan hasil yang terbaik pada
suatu proses pengoprasian angka, maka kita bisa menggunakan tipe data
float. Contohnya nilai 1.5, 3.5, 3.14, dan lain bilangan pecahan lainnya.
- Char, char adalah tipe data yang
digunakan untuk deklarasi variable berupa karakter. Karakter tersebut bisa
berupa simbol, alfabet, atau angka.
- String, khusus untuk string, tipe
data yang digunakan untuk mendeklarasikan data yang berisi kalimat atau
kata.
- Boolean, tipe data ini sangat
berbeda dengan yang lainnya. Karena tipe data boolean ini hanya digunakan
untuk data yang mempunyai 2 nilai saja, yaitu true atau false.
E.
TIPE DATA
ABSTRAK
Pengertian ADT
(Abstrak Data Type) ADT adalah koleksi data dan operasi yang dapat digunakan
untuk memanipulasi data, tipe data tertentu yang didefinisikan oleh pemrogram
untuk kemudahan pemrograman serta untuk mengakomodasi tipe-tipe data yang tidak
secara spesifik diakomodasi oleh bahasa pemrograman yang digunakan. C / C ++
memiliki konsep yang disebut class dan struct yang membantu programmer dalam
mengimplementasikan tipe data abstrak.
Komentar
Posting Komentar