SlideShare a Scribd company logo
1 of 12
   Pointer bisa diartikan sebagai sebuah
    variabel, tetapi variabel yang bersifat
    dinamis.
   Dikatakan dinamis karena jenis variabel ini
    dapat didealokasikan apabila tidak digunakan
    lagi.
   Variabel Biasa : menunjuk pada nilai yang
    diberikan untuk selanjutnya diproses
   Pointer : menunjuk ke alamat memori yang
    digunakan untuk menampung data yang
    akan diproses
   Array itu bersifat statis, tidak dapat diubah
    alokasinya saat program berjalan
   Pointer bersifat dinamis dan dalam artian
    kalau dibutuhkan baru digunakan kalau tidak
    ya tidak digunakan.
var
 nama_var : ^type data;

Contoh:

var
 data : ^string;
   Langsung
    p^.nama     := ‘Subono';
    p^.posisi    := 'Manager';
    p^.gaji       := 3000;


   Membaca Masukan dari Keyboard
    writeln('masukan nama :' );readln(p^.nama);
    writeln('masukan posisi : '); readln(p^.posisi);
    writeln('masukan gaji : '); readln(p^.gaji);
uses wincrt;
var
   p   : ^integer;
   m,n : integer;
begin
   m    := 10;
                                      m = 10
   n    := 15;                        n = 15
   writeln('m = ',m,' , n   = ',n);
   writeln;
   p    := @m;{p menunjuk   ke m}
   p^   := 12;{samadengan   m = 12}
   p    := @n;
                                      m = 12
   p^   := 20;                        n = 20
   writeln('m = ',m,' , n   = ',n);
end.
type
   nama_pointer = ^nama_record
   nama_record = record
       datafield1 : typedata;
       datafieldn : typedata;
   end;



type
    pointer = ^pekerja;
    pekerja = record
            nama    : string[10];
            posisi   : string[10];
            gaji      : longint;
    end;
   Apabila pointer dibutuhkan, maka
    dialokasikan
    Syntax : New(nama_pointer)
   Apabila pointer sudah tidak dibutuhkan,
    maka dapat didealokasikan
    Syntax : dispose(nama_pointer)
   Dampaknya, pemakaian memory menjadi
    lebih efisien
uses wincrt;
type
     pointer = ^pekerja;
     pekerja = record
             nama     : string[10];
             posisi    : string[10];
             gaji       : longint;
end;
var
p : pointer;
i : integer;
begin
      new(p); {mengalokasikan memori}
      writeln('masukan nama :' );readln(p^.nama);
      writeln('masukan posisi : '); readln(p^.posisi);
      writeln('masukan gaji : '); readln(p^.gaji);
      writeln(p^.nama ,' ',p^.posisi,' ',p^.gaji);
      dispose(p); {dealokasi memori}
end.
   Linked List
   Stack
   Antrean
   Tree
   Graph
   Linked List…

More Related Content

What's hot

What's hot (17)

Pbo05
Pbo05Pbo05
Pbo05
 
MATERI POINTER TKJ K13
MATERI POINTER TKJ K13MATERI POINTER TKJ K13
MATERI POINTER TKJ K13
 
P1 2-tipe data
P1 2-tipe dataP1 2-tipe data
P1 2-tipe data
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program c
 
Algoritma&Pemrograman C++ Pertemuan 11
Algoritma&Pemrograman C++ Pertemuan 11Algoritma&Pemrograman C++ Pertemuan 11
Algoritma&Pemrograman C++ Pertemuan 11
 
Ix struktur pointer
Ix struktur pointerIx struktur pointer
Ix struktur pointer
 
Dasar c
Dasar cDasar c
Dasar c
 
Spt3102 fungsi(0910)
Spt3102 fungsi(0910)Spt3102 fungsi(0910)
Spt3102 fungsi(0910)
 
Pertemuan 11 : Algoritma & Pemrograman
Pertemuan 11 : Algoritma & PemrogramanPertemuan 11 : Algoritma & Pemrograman
Pertemuan 11 : Algoritma & Pemrograman
 
String baru
String baruString baru
String baru
 
Laporan
LaporanLaporan
Laporan
 
Awal dasar belajar c++
Awal dasar belajar c++Awal dasar belajar c++
Awal dasar belajar c++
 
Pertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & PemrogramanPertemuan 9 : Algoritma & Pemrograman
Pertemuan 9 : Algoritma & Pemrograman
 
Function
FunctionFunction
Function
 
Function
FunctionFunction
Function
 
Pertemuan II Function
Pertemuan II FunctionPertemuan II Function
Pertemuan II Function
 

Similar to Pointer

Similar to Pointer (10)

8 Data Record
8 Data Record8 Data Record
8 Data Record
 
Pascal - Record.txt - Notepad.pdf
Pascal - Record.txt - Notepad.pdfPascal - Record.txt - Notepad.pdf
Pascal - Record.txt - Notepad.pdf
 
modul algoritma Bab 7 record
modul algoritma Bab 7 recordmodul algoritma Bab 7 record
modul algoritma Bab 7 record
 
Struktur data chapter_07
Struktur data chapter_07Struktur data chapter_07
Struktur data chapter_07
 
modul algoritma Bab 2
modul algoritma Bab 2modul algoritma Bab 2
modul algoritma Bab 2
 
Pascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfPascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdf
 
modul algoritma Bab 6
modul algoritma Bab  6modul algoritma Bab  6
modul algoritma Bab 6
 
Alwin pascal-02
Alwin pascal-02Alwin pascal-02
Alwin pascal-02
 
Alwin pascal-02
Alwin pascal-02Alwin pascal-02
Alwin pascal-02
 
Pertemuan5.ppt
Pertemuan5.pptPertemuan5.ppt
Pertemuan5.ppt
 

Pointer

  • 1.
  • 2. Pointer bisa diartikan sebagai sebuah variabel, tetapi variabel yang bersifat dinamis.  Dikatakan dinamis karena jenis variabel ini dapat didealokasikan apabila tidak digunakan lagi.
  • 3. Variabel Biasa : menunjuk pada nilai yang diberikan untuk selanjutnya diproses  Pointer : menunjuk ke alamat memori yang digunakan untuk menampung data yang akan diproses
  • 4. Array itu bersifat statis, tidak dapat diubah alokasinya saat program berjalan  Pointer bersifat dinamis dan dalam artian kalau dibutuhkan baru digunakan kalau tidak ya tidak digunakan.
  • 5. var nama_var : ^type data; Contoh: var data : ^string;
  • 6. Langsung p^.nama := ‘Subono'; p^.posisi := 'Manager'; p^.gaji := 3000;  Membaca Masukan dari Keyboard writeln('masukan nama :' );readln(p^.nama); writeln('masukan posisi : '); readln(p^.posisi); writeln('masukan gaji : '); readln(p^.gaji);
  • 7. uses wincrt; var p : ^integer; m,n : integer; begin m := 10; m = 10 n := 15; n = 15 writeln('m = ',m,' , n = ',n); writeln; p := @m;{p menunjuk ke m} p^ := 12;{samadengan m = 12} p := @n; m = 12 p^ := 20; n = 20 writeln('m = ',m,' , n = ',n); end.
  • 8. type nama_pointer = ^nama_record nama_record = record datafield1 : typedata; datafieldn : typedata; end; type pointer = ^pekerja; pekerja = record nama : string[10]; posisi : string[10]; gaji : longint; end;
  • 9. Apabila pointer dibutuhkan, maka dialokasikan Syntax : New(nama_pointer)  Apabila pointer sudah tidak dibutuhkan, maka dapat didealokasikan Syntax : dispose(nama_pointer)  Dampaknya, pemakaian memory menjadi lebih efisien
  • 10. uses wincrt; type pointer = ^pekerja; pekerja = record nama : string[10]; posisi : string[10]; gaji : longint; end; var p : pointer; i : integer; begin new(p); {mengalokasikan memori} writeln('masukan nama :' );readln(p^.nama); writeln('masukan posisi : '); readln(p^.posisi); writeln('masukan gaji : '); readln(p^.gaji); writeln(p^.nama ,' ',p^.posisi,' ',p^.gaji); dispose(p); {dealokasi memori} end.
  • 11. Linked List  Stack  Antrean  Tree  Graph
  • 12. Linked List…