Data Structure | Konsep Pointer - Basic Technical

Data Structure | Konsep Pointer - Basic Technical

Pointer

Pointer merupakan tipe data yang digunakan untuk menunjuk alamat memory dari nilai yang disimpan. Pada umumnya computer menampilkan alamat memory dalam bentuk Hexadecimal bilangan basis 16 digit.

Contoh tipe data Pointer di C:

Data Structure | Konsep Pointer - Basic Technical

Di tutorial documentation ini, kita akan mengimplementasikan konsep Data Structure pada program komputer, yaitu menggunakan bahasa pemograman Java.

Salah satu hal yang diperhatikan di Java tidak adanya Pointer, seperti Bahasa C. tapi ada orang-orang yang bilang Java itu ada kok "pointer", nah maka dari itu kita akan bahas apa yang dikatakan orang-orang mengenai pointer pada java.


Pointer Di Java?

Java tidak memiliki tipe data pointer, Bahkan Di Java sendiri data structure sudah dilenyapkan. maka dari itu untuk memakai pointer di data structure tidak bisa dilakukan.

Lalu apakah kita tidak bisa mengimplementasikan data structure seperti Linked List, Stack, Queue, Tree, Graph menggunakan Java?. Tentu saja Bisa. di java ada yang namanya Tipe Data Non-Primitive seperti (String, Array, Class, Interface, Enum) atau orang yang sering menyebutnya dengan tipe data objek atau juga reference. kita bisa menggunakan tipe data tersebut layaknya Pointer meskipun istilah pointer di java tidak ada.

Apa bedanya Pointer dengan Reference Java?

mekanisme reference di java kita tidak perlu membuat wadah baru untuk Alokasi sebagai penunjuk alamat memory dari nilai yang disimpan.


Contoh Mekanisme Pointer di Java

Diberikan sebuah class Employe

public class Employe { private String dataName; private long dataSalary; public void setDataName(String name) { this.dataName = name; } public String getDataName() { return dataName; } public void setDataSalary(long salary) { this.dataSalary = salary; } public long getDataSalary() { return dataSalary; } }

Diberikan sebuah class Main Program

public class Main { public static void main(String[] xxx) { Employe employe1 = new Employe(); employe1.setDataName("DewaProgrammer"); employe1.setDataSalary(20_000_000); Employe employe2 = employe1; employe2.setDataName("Dewa Engineering"); employe1.setDataSalary(30_000_000); System.out.println("Name : "+employe1.getDataName()); System.out.println("Salary : "+employe1.getDataSalary()); System.out.println(employe1); System.out.println(employe2); } }

Kira-kira apa Output dari program berikut.. Nilai dari employe1.getDataName() dan employe1.getDataSalary().

Program tersebut akan mengeluarkan Output:

Name : Dewa Engineering Salary : 30000000

Kenapa outputnya bisa seperti itu?... Contoh Simulasi

Data Structure | Konsep Pointer - Basic Technical

Kitika kita membuat class Employe sebagai objek menggunakan keyword new maka objek/data tersebut akan meminta alamat memory kepada Memory Manager.. Kemudian menyimpan Alamat memory tersebut kedalam variable pointer/reference/objek employe1.

Dari contoh simulasi berikut bisa kita lihat perbedaan Tipe Data Pointer dan Reference/objek pada Java.

Itulah cara kita untuk mengaplikasikan Pointer di java, meskipun istilah tipe data Pointer di Java tidak ada.