Pointer, Array and
Introduction to Data Structure
Introduction to Data Structure
1. ARRAY
=> Kumpulan Data atau Elemen-elemen yang bertipe data sama
Karakteristik Dari Array :
- Bersifat Homogen (Tipe data sama)
- Bersifat Statis (Mempunyai Batasan dari pemesanan alokasi memori)
- Dapat Diakses Secara Acak
Jenis - jenis Array :
- 1. Array 1 Dimensi
- 2. Array 2 Dimensi
- 3. Array Multi Dimensi
Array 1 Dimensi : Array yang terdiri dari 1 baris serta 1 Kolom Saja
Cara Pendeklarasian Array 1 Dimensi :
tipe_data nama_array[jumlah_elemen];
Sebagai Contoh :
int rumah[10];
int rumah = {2,1,5,3,4,5,6,8,9,0};
Penjelasan :
2 alamat memori ke-1 : index elemen Array ke 0
1 alamat memori ke-2 : index elemen array ke 1
5 alamat memori ke-3 : index elemen array ke 2
......
0 alamat memori ke - 10 : index elemen array ke 9
atau
int rumah[3];
atau
int rumah[3];
rumah[0] = 2;
rumah[1] = 5;
rumah[2] = 9;
rumah[1] = 5;
rumah[2] = 9;
Contoh Program Array 1 Dimensi dari Bahasa C :
Array 2 Dimensi : Array yang terdiri dari beberapa Baris dan kolom
Cara Pendeklarasian Array 2 Dimensi :
tipe_data nama_var_array [banyak_baris] [banyak_kolom];
artinya :
- tipe_data => tipe data elemen array
- banyak_baris => maksimum suatu baris
- banyak_kolom => maksimum suatu kolom
sebagai contoh :
int rumah[3][6];
rumah[0][2] = 2;
rumah[2][1] = 9;
rumah[1][5] = 13;
rumah[2][4] = 4;
Contoh Program Array 1 Dimensi dari Bahasa C :
Array Multi Dimensi : Array yang sama atau serupa dengan Array 2 Dimensi
Cara Pendeklarasian Array Multi Dimensi :
tipe_data nama_array [ukuran1] [ukuran2] .... [ukuran N];
Sebagai contoh :
int rumah[4][3][7][10];
rumah[0][2][2][9] = 2;
rumah[2][1][6][0] = 9;
rumah[3][0][0][6] = 13;
rumah[2][1][3][8] = 10;
Storing Array Values
Sebagai Contoh :
Initialization of Array :
int marks[5] = {90, 82, 78, 95, 88};
Inputting Values :
inti, marks[10];
for(i=0; i<10; i++){
scanf("%d\n", &marks[i]); }
Assigning Values :
int i, arr1[10], arr2[10];
for(i=0; i<10; i++){
arr2 = arr1; }
Operation In Array
=> Ada sejumlah operasi yang bisa dilakukan pada array, seperti :
- Traversal => proses kunjungan dalam pohon, dengan setiap node hanya dikunjungi tepat satu kali.
- Insertion => sebuah metode pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan data – data yang ada.
- Searching => mencari sebuah data dengan cara menelusuri tempat penyimpanan data tersebut.
- Delete => Menghapus sebuah elemen pada index tertentu.
- Merging => Penggabungan dari Suatu array lain
- Sorting => suatu proses menyusun kembali data yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu ( untuk data yang bertipe numerik atau karakter).
2. POINTER
=> sebuah variabel yang digunakan sebagai penunjuk alamat dari variabel lain. Suatu pointer bukan berisi dengan suatu nilai data seperti halnya pada variabel biasa, variabel pointer berisi dengan suatu alamat. Untuk mendeklarasikan variabel pointer kita menggunakan tanda asterik / bintang (*) didepan variabel yang di deklarasikan pada tipe data tertentu. Tanda ini juga dapat dipakai untuk mengakses nilai dari variabel yang telah ditunjuk. Untuk mendapatkan alamat dari variabel pointer kita menggunakan tanda &
Ada 2 Operator yang digunakan pada Pointer, yaitu :
- & ( Operator Alamat )
- * ( Operator Isi )
Cara Pendeklarasian Pointer :
Jika kita memiliki deklarasi :
int x;
int x;
int *px;
maka x adalah variabel bertipe Integer dan px adalah pointer bertipe
integer.
px = &x; => x mengembalikan alamat x dan menugaskannya sebagai nilai px
jadi x = 10; atau *px =10;
3. DATA STRUCTURE
- Stacks atau tumpukan => sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Tumpukan dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri tumpukan:
=> 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.
Contoh Umum dari Struktur Data, yaitu :
- Linked Lists => struktur data linier. Berbeda dengan array yang juga merupakan struktur data linier dan tipe data komposit, linked list dibentuk secara dinamik.
- Stacks atau tumpukan => sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Tumpukan dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri tumpukan:
- TOP merupakan sebutan untuk elemen paling atas dari suatu stack
- Elemen TOP merupakan elemen yang paling akhir ditambahkan
- Elemen TOP diketahui
- penambahan dan penghapusan elemen selalu dilakukan di TOP
- LIFO
- Binary Trees => tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Sesuai dengan definisi tersebut, maka tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.
- Hash Tables => salah satu struktur data yang digunakan dalam penyimpanan data sementara. Tujuan dari hash table adalah untuk mempercepat pencarian kembali dari banyak data yang disimpan. Hash table menggunakan suatu teknik penyimpanan sehingga waktu yang dibutuhkan untuk penambahan data (insertions), penghapusan data (deletions), dan pencarian data (searching) relatif sama dibanding struktur data atau algoritma yang lain.
4. TYPE DATA
=> Suatu tipe yang digunakan untuk menginisialisasikan variabel atau kumpulan objek dan satu set operasi yang bekerja pada objek tersebut.
Macam - macam Tipe Data :
- Integer => Tipe Data Eksak dari Hardware, tipe data dalam bentuk String of bits dengan sign dipaling kiri. ada beberapa tipe integer dalam bahasa pemrograman, diantaranya : byte, short, int, long, long int
- Float => Tipe Data bentuk aproksimasi yang digunakan untuk menghitung, ada 2 bentuk float, yaitu Float dan double (pecahan) dan lebih banyak lagi seperti Long Float atau Long Double.
- Decimal => Tipe Data yang menempatkan Titik Desimal tepat pada tempatnya.
- Boolean => Tipe Data yang paling sederhana, karena terdiri dari value True dan False.
- Char => Tipe Data yang disimpan numerik, namum ditampilkan dalam format ASCII 16-bit UNICODE.
5. ABSTARCT DATA TYPE
=> Tipe Data yang dibuat oleh programmer sendiri yang memiliki suatu nama tertentu, ADT dapat berupa tipe data dasar namun diberi nama baru atau berupa kumpulan tipe data berbeda yang dberi nama baru.
C / C ++ memiliki konsep yang disebut class dan struct yang membantu programmer dalam mengimplementasikan tipe data abstrak.
PERTANYAAN
1. Berapakah Jumlah Maksimal Dimensi yang dapat dibuat dalam sebuah array ??
Jawab : Sekitar 256 Dimensi pada Array atau 12 Dimensi pada array
2. Apakah Terdapat Triple Pointer? Jika Ada Berapakah Jumlah Pointer Maksimal yang dapat dibuat dari sebuah pointer ??
Jawab : Maksimal 3 Pada Triple Pointer
















Tidak ada komentar:
Posting Komentar