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 integerfloatcharstring, 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