Pages

Rabu, 20 November 2013

STRUKTUR DATA (STACK)

  Stack
-          Kelebihan :
1.      Penambahan dan penghapusan data dapat dilakukan dengan cepat, yaitu O (1)
2.      Selama memori masih tersedia, penambahan data bias terus dilakukan. Dengan demikian tidak ada kekhawatiran terjadinya stack overflow.
-          Kekurangan :
1.      Setiap sel tidak hanya menyimpan value saja, melainkan juga pointer ke sel berikutnya. Hal ini menyebabkan implementasi stack memakai linked list akan memerlukan memori yang lebih banyak dari pada kalau di implementasikan dengan Array.
2.      Tiap elemen pada linked list hanya bisa diakses dengan cara sekuensial, sehingga lambat, yaitu O (n).

Senin, 11 November 2013

POINTER

POINTER
pointer adalah built-in type di C dan C++, dimana C++ mengambil konsep pointer dari C. Pointer sebenarnya sangat terkait dengan “Abstract C Machine”, yaitu model mesin abstrak dimana program C bekerja. Abstract C Machine adalah mesin abstrak dimana mesin tersebut memiliki prosesor untuk menginterpretasikan stream of instruction, dan addressable memory yang terbagi kedalam 3 bagian : automatic memory, static memory dan free memory. Addressable memory adalah memory yang konten-nya dapat diambil jika diketahui alamatnya. Lebih jauh lagi, terdapat asumsi bahwa konten memori dapat di ambil dengan waktu konstan, tidak peduli berapa nilai alamat.Hal ini disebut dengan Random Access Memory.

Pointer(*) sudah digunakan sejak dikenalkannya bahasa C dan banyak digunakan untuk fungsi callback.
fungsi dari pointer itu sendiri adalah untuk menyimpan memory address dari sebuah variable. Selain untuk menyimpan address dari variable pointer juga bisa menyimpan address dari suatu fungsi.

Fungsi Pointer adalah pointer, 
yaitu variabel, yang menunjuk ke alamat dari sebuah fungsi. Anda harus ingat, bahwa program berjalan mendapatkan ruang tertentu dalam memori utama. Kedua, executable program dikompilasi kode dan variabel yang digunakan, diletakkan dalam memori ini. Jadi salah satu fungsi dalam kode program, seperti e.g. karakter lapangan, tidak lain daripada alamat. Hal ini hanya penting bagaimana Anda, atau lebih baik kompiler Anda / prosesor, memori menafsirkan pointer