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];

Di dalam bahasa C kita dapat menulisnya seperti ini,

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

  • A data structure which is defined as a collection of elements called the nodes
  • Every node contains a left pointer, a right pointer, and a data element

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;


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 barisannya

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.


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