Topic 5 Pointer and Arrays

29 Oktober 2015

– Pointer adalah variabel yang menyimpan alamat dari variabel lain

– Sintaks : <jenis>*ptr_name;

    • Dua operator besar digunakan dalam pointer: * (isi) dan & (alamat)
    • Contoh: Menginisialisasi pointer integer menjadi variabel data yang:

                     int i, * ptr;

                     ptr = & i;

– Untuk menetapkan nilai baru untuk variabel ditunjukkan oleh pointer:

* ptr = 5; / * Berarti i = 5 * /

    • Pointer ke pointer adalah variabel yang menyimpan alamat lain pointer
    • Sintaks:

                    <Jenis> ** ptr_ptr;

    • Contoh:

                     int i, * ptr, ** ptr_ptr;

                     ptr = & i;

                     ptr_ptr = & ptr;

Untuk menetapkan nilai baru untuk i:

* ptr = 5; // berarti i = 5;

** ptr_ptr = 9; // Berarti  = 9; atau * ptr = 9;

– Array Definition :

    • Data disimpan dalam struktur tertentu untuk diakses sebagai sebuah kelompok atau secara individu. Beberapa variabel disimpan menggunakan nama yang sama membedakan dengan indeks mereka.
    • Karakteristik Array:
      • Homogen : Semua elemen memiliki tipe data yang sama
      • Akses acak : Setiap elemen dapat dicapai secara individually, tidak harus berurutan
    • Syntax : type array_value [value_dim];

– Element array di indeksi mulai dari 0

contoh : A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]

Array dapat diinisialisasi secara explicitly tanpa nilai dimensi deklarasi

Contoh: int B [] = {1, 2, -4, 8};

Array B memiliki 4 elemen

Contoh: int B [8] = {1, 2, -4, 8};

– Mengakses Array

  Dua cara analog mengakses elemen i = 2;

* (A + 2) atau A [2]

    •   & A [0] (pointer konstan ke elemen pertama dari array tertentu)
    • Untuk menunjukkan A [2] pada layar monitor :

                   printf (â € œ% da €, A [2]) atau

                   printf (â € œ% d \ na €, * (A + 2));

– Pointer Konstan & Pointer Variabel

    • Variabel pointer adalah pointer yang dapat diberikan dengan nilai baru pada saat run-time.
    • Pointer konstan adalah pointer yang tidak dapat ditetapkan dengan nilai baru pada run-time
    • Array adalah Pointer Konstan untuk elemen pertama dari array. Array dapat diisi dengan variabel pointer.
    • Contoh:
      • int x = 10, y = 20;
      • int * ptr;   // ptr adalah variabel pointer
      • ptr = & x;
      • ptr = & y;

– Mengakses Array

    • Mengakses array menggunakan pointer

                    int arr [10];

                    int * ptr_arr;

                    ptr_arr = arr; // atau ptr_arr = & arr [0];

    • Untuk mengakses elemen tertentu dapat dilakukan dengan menggunakan:

                    ptr_arr [i];

                    arr [i];

                    * (ptr_arr + i);

                    * (arr + i);

                    ptr_arr = ptr_arr + i; * ptr_arr;

– Array terdiri dari 1 dimensi, 2 dimensi dan 3 dimensi

Syntax 2D Array: menggunakan RMO (baris perintah utama)
type name_array[row][col];

Syntax 3D Array :
type name_array[row][col][depth];

 – C compiler tidak membatasi jumlah dimensi yang dapat dibuat. Memori PC kita tidak.

– Array pointer  (diisi dengan pointer/s)

  Syntax :
type *array_name [value_dim];

– Array karakter (array penuh dengan karakter /s

  Syntax:
char array_name[value_dim];

– String

    • String adalah array dari karakter yang berakhir dengan karakter null (‘’ or in ASCII = 0)
    • String konstan atau string literal adalah beberapa karakter yang ditulis antara double quote
  • Contoh: ”Welcome to Binus”
    • String jenis konstan pointer konstan, sehingga dapat ditugaskan ke array karakter:
    • Example :
      char name[40] = ”Amir”;  //ok
      name = ”Amir”;   // error name is a constant pointer
      Name[40]= “Amir”;  //error
    • Sebuah String Constant dapat dihubungkan pada waktu kompilasi:
    • ”Hello,” ” world”
      Similar to:
      ”Hello, world”
    • Contoh string inisialisasi:
    • char s[ ] = ”BiNus”;
      Similar to :
      char s[ ] = {’B’,’i’,’N’,’u’,’s’,’’};
    • String sebagai tipe data tidak dikenal di C

– Char vs String

    • Karakter di c ditulis antara kutip tunggal. Masing-masing menggunakan satu byte dari memori komputer
    • Example:
      char ch=’A’;
      char ch=65;     //Ascii
      char ch=0x41; //Ascii
    • String ditulis dalam antara kutip ganda.

– String Manipulasi

    • Dalam Standar Perpustakaan Fungsi (file header string.h) menyediakan fungsi untuk memanipulasi string yang:
      • strlen () Mengembalikan nilai dari panjang string; dikecualikan arang nol
      • strcpy (s1, s2) Copy s2 ke s1
      • strncpy (s1, s2, n) Salin pertama n karakter dari s2 ke s1
      • strcat (s1, s2) Menambahkan string yang s2 ke akhir string s1
      • strncat (s1, s2, n) Menambahkan n karakter string s2 ke akhir string s1
      • strcmp (s1, s2) Membandingkan nilai string s1 dan s2, jika sama kembali 0
      • dan lain-lain

– Jadi yang kita pelajari adalah :

    • Pointer adalah variabel yang menyimpan alamat dari variabel lain
    • Pointer ke pointer adalah variabel yang menyimpan alamat lain pointer
    • Data disimpan dalam struktur tertentu untuk diakses sebagai sebuah kelompok atau secara individu. Beberapa variabel disimpan menggunakan nama yang sama membedakan dengan indeks mereka yang disebut sebagai array
    • String adalah array dari karakter yang berakhir dengan karakter null
This entry was posted in Algoritma di ruang 800. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *