1 - Pointer, Array, Introduction to Data Structure and Introduction to Linked List - 2101667405 - Evania Joycelin A.
Pointer, Array, Introduction to Data Structure and Introduction to Linked List
Evania Joycelin Anthony
2101667405
1. Array
Apakah array itu?
Array adalah data structure yang paling dasar yang dimiliki oleh semua bahasa pemrograman. Array merupakan kumpulan tipe data yang sama (homogenous), anggota array itu kemudian disimpan di dalam suatu memori yang dapat diakses berdasarkan indexnya. Index array dimulai dari angka 0 sampai (n-1).
Bagaimana cara mendeklarasikan array di C?
- Array 1 Dimensi
Format umum untuk mendeklarasikan array 1 dimensi adalah:
array_type variable_name[array_size];
int age[5]= {30, 12, 18, 40, 50};
Dimana int adalah array_type, age adalah variable_name dan [5] adalah [array_size]
Sesuai dengan pengertian yang sudah dijelaskan di atas array dapat diakses berdasarkan indexnya
age[0]=30;
age[1]=12;
age[2]=18;
age[3]=40;
age[4]=50;
Note: array size tidak dapat diubah saat program djalankan, sehingga array size harus diset dari awal program ditulis
- Array Multiple Dimensi
Format umum untuk mendeklarasikan array 2 dimensi adalah:
array_type variable_name[array_size1][array_size2];
Di dalam bahasa C kita dapat menulisnya seperti ini,
int Salary
[5][2] = {
{2300, 460},
{3400, 680},
{3200, 640},
{1200, 240},
{3450, 690}
};
Dimana int adalah array_type, age adalah variable_name dan [5]adalah [array_size1][2]adalah [array_size2]
Dapat diakses berdasarkan indexnya,
Salary [0][0]=2300;
Salary [1][0]=3400;
Salary [2][0]=3200;
Salary [3][0]=1200;
Salary [4][0]=3450;
Salary [0][1]=460;
Salary [1][1]=680;
Salary [2][1]=640;
Salary [3][1]=240;
Salary [4][1]=690;
dimana array_size1 menunjukan barisnya dan array_size2 menunjukan kolomnya. Seperti pada gambar di bawah ini.
Berapa jumlah maksimal dimensi yang dapat digunakan di array? Array hanya bisa menampung 256 dimensi.
Storing Array Values
Langkah-langkah melakukan storing array values
1. Inisialisasi
Example: int marks[5] = {90,
82, 78, 95, 88};
2. Input Value
Example:
int i, marks[5];
for (i=0; i<5; i++)
scanf(“%d”, &marks[i]);
3. Assign Value
Example:
int i, arr1[5],
arr2[5];
for(i=0; i<5; i++)
arr2[i] = arr1[i];
Operations in Array
There are a number of operations
that can be performed on arrays. They are:
• Traversal
• Insertion
• Searching
• Deletion
• Merging
• Sorting
2. Pointer
Apakah pointer itu?
Pointer adalah tipe data yang menyimpan isi dari suatu data lain yang disimpan di memori komputer dan didapatkan dengan menggunakan alamat dari data tersebut.
Ada dua operator penting yang terdapat di dalam pointer, yaitu
& the address operator
* the dereferencing operator
Bagaimana cara kerjanya?
Perhatikan statement di bawah ini,
int a;--> Sebuah tipe data integer.
int *pa; --> merupakan sebuah pointer.
Jika kita katakan bahwa
pa=&a;
Maka sesuai pengertian bahwa pointer mengambil nilai suatu data dengan menggunakan alamat dari data tersebut (int a) dan menjadikannya nilai dari pa.
Contohnya:
int a=10;
int *pa;
pa=&a;
printf("%d", *pa); //output=10
printf ("%d", pa); //output=adress a
*pa=13;
printf ("%d", a);//output=13;
Berapa maksimal bintang di pointer?
Jumlah bintang yang dapat digunakan sebagai pointer ada 12.
Apa bedanya bintang 1 dan bintang 2 di ponter?
Double pointer hanya bisa di assign dari single pointer dan single pointer hanya bisa diassign dari integer atau data type biasa.
3. Introduction to Data Structure
Apakah data structure itu?
Stuktur data adalah kumpulan suatu data yang disimpan di memori kemputer atau di disk storage atau di processor
Contoh umum dari structure data adalah:
- Arrays
- Linked lists
- Queues
- Stacks
- Binary trees
- Hash tables
a. Arrays
- A collection of similar data elements
- Data elements have the same data type
b. Linked List
- A very dynamic data structure in which the elements can be added to or deleted from anywhere at will
- Each element is called a node
c. Queue
- The element that was inserted first is the first one to be taken out
- The elements in a queue are added at one end called the rear and removed from the other end called the front
d. Stack
- Stacks can be represented as a linear array
- Every stack has a variable TOP associated with it
- LIFO (Last In First Out) / FILO (First In Last Out)
e. Binary Trees
Data Type
Apakah data type itu?
Data type adalah kumpulan object dan operator yang berkerja pada object tersebut.
Contohnya tipe data integer
objects : 0, +1, -1, +2, -2, etc
operations : +, -, *, /, %, etc
Contoh-contoh dari tipe data adalah int, float, char, dll
Abstract Data Type
Abstraksi data adalah tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam sebuah system database.Abstraksi data bertujuan untuk memudahkan pengguna dalam penggunaan data dan dengan kontrol akses dapat menutup rincian yang tak penting dari unit diluar lampiran yang dipakai.
Sebuah tipe data abstrak merupakan tipe data yang dapat didefinisikan oleh user (user-defined).
ADT di C adalah struct
Contoh ADT
Kita mau membuat ADT dari bilangan asli (int) sebagai objects dan fungsi-fungsi sebagai operasinya.
Struktur dari Number adalah
objects : an integer x
functions :
bool is_zero() if ( x == 0 ) return TRUE else return FALSE
bool equal(y) if ( x == y ) return TRUE else return FALSE
void set(y)
x = y
void add(y) x = x
+ y
int get () return x
3. Introduction to Linked List
1. Structure
- Sebuah user-defined data type yang dapat menyimpan tipedata yang berbeda secara bersamaan berbeda dengan array yanghanya bisa menyimpan 1 jenis tipe data saja.
- Kumpulan variabel tersebut kemudian diberi nama
- variabel-variabel tersebut terdiri dari tipe data yang berbeda-beda dan memiliki namanya sendiri-sendiri supaya mereka bisa dipanggil dari structure tersebut
Deklarasi Structure
Koding di atas menjelaskan sebuah struct yang namanya tdata yang memiliki anggota age(int), name(char[]), score(float)
Cara membuat variabel di dalam struct sama dengan membuat variabel di dalam primitive data type.


Kedua kode di atas adalah sama.
Structure Assignment
Untuk mengakses structure kita menggunakan .(dot)
Contohnya:
struct data{
float nilai;
char nama[100];
}mahasiswa;
untuk mengakses variabel mahasiswa kita dapat menulisnya begini,
mahasiswa.nilai=80;
berdasarkan contoh di atas dapat dilihat bahwa setiap node memiliki sebuah nilai integer dan link untuk menuju ke node berikutnya.
linked list yang mengandung hanya tepat satu link ke node lainnya disebut single linked list.
• Kumpulan tipe data sejenis
• Menyimpan data di memori yang dialokasikan secara berurutan
• Bisa random dalam pengaksesan data
Contohnya:
struct data{
float nilai;
char nama[100];
}mahasiswa;
untuk mengakses variabel mahasiswa kita dapat menulisnya begini,
mahasiswa.nilai=80;
2. Introduction to Linked List
Linked list adalah data struct yang mengandung urutan dari data yang direkam dan data yang tersimpan itu mengandung atau sudah terarahkan dalam urutan barisannyaberdasarkan contoh di atas dapat dilihat bahwa setiap node memiliki sebuah nilai integer dan link untuk menuju ke node berikutnya.
linked list yang mengandung hanya tepat satu link ke node lainnya disebut single linked list.
Perbedaan linked list dan array adalah:
Array:• Kumpulan tipe data sejenis
• Menyimpan data di memori yang dialokasikan secara berurutan
• Bisa random dalam pengaksesan data
Linked List:
• Kumpulan node sejenis
• Tidak menyimpan node di memori yang dialokasikan secara berurutan
• Dapat diakses dengan cara yang sesuai urutan
Komentar
Posting Komentar