Selasa, 20 Februari 2018

1 - Pointer, Array and Introduction to Data Structure - 2101711356 - Farhan Adji Nugroho

Session 1 (20/2/2018)

Pointer, Array, and Introduction to Data Structure

sub topics :

  • Array Review
  • Pointer Review
  • Types of Data Structures
  • Abstract Data Type


Array

Array merupakan koleksi data dengan setiap elemen data menggunakan nama yang sama dan tiap elemen data bertipe sama (Homogen). Setiap elemen array dapat diakses melalui indeks array dan indeks array dimulai dari 0 atau nol.

  • ·       Deklarasi Array & Mengakses Array

Kita sudah tahu jika setiap variabel harus di deklarasi terlebih dahulu sebelum digunakan. Konsep ini juga berlaku untuk variabel array. sebuah array harus di deklarasi juga sebelum digunakan. Bentuk umum untuk mendeklarasikan array sebagai berikut :
                       
Tipe_Data Nama_Variabel[Size]

Ø  Tipe data : Jenis-jenis yang dapat menyimpan nilai/data.(contoh : int,float,char,double).
Ø  Nama Variabel : untuk mengidentifikasi suatu tipe data/array
Ø  Size : jumlah maksimum array yang dapat menyimpan nilai.

Array memiliki beberapa dimensi :
1.     Array 1 dimensi
Contoh syntax : tipe_data nama_variabel[size];
deklarasi : int ds[5];
2.     Array 2 Dimensi
Contoh syntax : tipe_data nama_variabel[size1][size2];      
deklarasi : int ds[5][6];
3.     Array Multidimensi
Contoh syntax : tipe_data nama_variabel[size1][size2][size3][..];
Deklarasi : int ds[5][6][7][4];

  • ·       Menyimpan nilai dalam array

1.     Menginisiasi elemen
Contoh : int cb[4] = {40,50,60,70};
2.     Memasukan nilai ke elemen
Contoh : int cb[4];
               for(int i=0;i<4;i++)
                        scanf(“%d”,&cb[i]);
3.     Menetapkan nilai-nilai ke elemen
Contoh : int cb1[4],cb2[4];
            for(int i=0;i<4;i++)
                  cb2[i]=cb1[i];

  • ·       Operasi dalam Array

                 Ada beberapa operasi yang dapat dilakukan di array, diantaranya adalah :
1.     Traversal
2.     Insertion
3.     Searching
4.     Deletion
5.     Merging
6.     Sorting


🔺What is the maximum number of dimensions an array in C may have?
Theoratically no limit. The only practical limits are memory size and compilers.
I presume the only constraint is available memory for your architecture.
and also depends on the operating system and the bit used.





Pointer

Pointer merupakan variabel yang menyimpan atau menunjuk suatu alamat memori dan bukan untuk menyimpan suatu nilai. Variabel pointer hanya berisi alamat variabel lain yang berisi data tertentu.
 Operator penting yang digunakan pada pointer adalah :
1.     Ampersand (&) : operator yang digunakan untuk mendapatkan alamat memori pointer
2.     Arterisk (*) : operator yang digunakan untuk mendapat isi/nilai dari variabel pointer

Contoh mendeklarasikan pointer :
     int data=10;
     int *ptr,hasil;
     //ptr di deklarasikan sebagai pointer
     ptr=&data;
    //ptr mengambil alamat variabel data
     hasil=*ptr;
    //hasil mengambil isi dari alamat yang ditunjuk oleh ptr

🔺In C, what are the maximum numbers of asterisks that can be placed before a pointer variable?
256



Data Structure

Struktur data adalah cara untuk pengaturan data, memori komputer, dan disk penyimpanan agar dipakai secara efisien.

Beberapa contoh dari struktur data adalah :
1.     Arrays
2.     Linked lists
3.     Queues
4.     Stacks
5.     Binary Trees
6.     Hash tables

  • ·       Types of Data Structure

§  Array
koleksi data yang setiap elemen datanya menggunakan nama yang sama dan tiap elemen data bertipe sama


§  Linked Lists
Linked lists adalah kumpulan komponen yang saling berhubungan (berantai) dengan bantuan pointer, dan inti dari linked list ini adalah menggunakan satu pointer untuk menyimpan banyak data.
Linked lists merupakan struktur data yang sangat dinamis dimana tiap elemen dapat ditambah atau dihapus dimana saja.
Masing-masing komponen disebut simpul atau node



§  Queue
Queue merupakan kumpulan data di mana penambahan data (elemen) hanya melalui satu sisi, yaitu depan (head) dan penghapusan data (elemen) hanya melalui sisi belakang (tail). Sifat ini sering disebut sebagai FIFO (First In First Out) yaitu data yang masuk pertama akan keluar pertama juga dan data terakhir yang masuk akan keluar terakhir.
                         



§  Stacks
Stack bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakkan di atas data yang lain. Namun di dalam stack, kita dapat menyisipkan data atau menghapus data melalui ujung yang sama yang disebut sebagai ujung atas stack (top of stack). Stack mempunyai sifat LIFO (Last In First Out) atau FILO (First In Last Out). Yaitu yang terakhir masuk adalah yang pertama keluar.



§  Binary Trees
Binary tree adalah sebuah pohon struktur data yang setiap simpul/nodenya memiliki paling banyak dua anak/sub tree dan setiap simpul/node berisi pointer kiri, pointer kanan, dan elemen data.








Data Type

Data type/tipe data adalah sebuah cara yang digunakan untuk menentukan jenis suatu data tersebut.
Contoh, tipe data int terdiri dari:
   o   Objek : 0, +1, -1, +2, -2, dll
   o   Operasi : +,-,*,/,%,dll

Beberapa contoh tipe data adalah int,char,float.




Abstract Data Type (ADT)

Abstract data type adalah kumpulan dari beberapa tipe data yang sama atau berbeda yang tersimpan pada sebuah variabel dengan tujuan untuk mempersingkat dan merapikan data agar tidak terbalik/tercampur dari data yang satu dengan data lainnya. Pada C/C++ memiliki konsep yang disebut class dan struct yang dapat membantu programmer dalam mengimplementasikan ADT.

Contoh ADT dalam bahasa pemograman C adalah :

            struct data{
                   char nama[30];
                   int umur;
                   float ipk;
            };



Nama : Farhan Adji Nugroho
NIM : 2101711356

Share:

0 komentar:

Posting Komentar