MODUL VI
POINTER
6.1 TUJUAN PRAKTIKUM
1. Mahasiswa mampu mengimplementasikan statement control dan looping
dalam bahasa pemrograman.
2. Mahasiswa mampu mengimplementasikan function, array dan object dalam
bahasa pemrograman
6.2 DASAR TEORI
6.2.1 Pointer
Pointer adalah suatu variabel penunjuk berisi nilai yang menuju kalimat
suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data melainkan berisi
suatu alamat memori. Lokasi memori tersebut bisa diwakili sebuah variabel atau
juga alamat memori secara langsung.
1. Deklarasi pointer
Jika terdapat sebuah variabel dengan tipe data tertentu maka untuk mendpatkan
alamat dari variabel tersebut adalah dengan menggunakan operator “&”. Alamat
ini lah yang kemudian akan disimpan kedalam variabel yang bertipe pointer.
Untuk mendeklarasikan variabel sebagai pointer, hanya perlu menambahkan
tanda asterisk (*) di depan nama variabel. Bentuk umum dari pendeklarasian
pointer[1]:
Tipe_data nama_variabel
Atau
Tipe_data* nama_variabel
b. Reference (&)
Suatu operator yang berfungsi untuk menanyakan alamat dari suatu variabel.
Apabila anda memberikan symbol “&” pada awal variabel dan mencetak
hasilnya, maka yang akan tercetak adalah alamat dari variabel tersebut bukan
nilai yang ditampung oleh variabel tersebut [1].
3. Perbedaan pointer dan variabel biasa
a. Variabel biasa
Variabel biasa merupakan variabel yang berisi data atau nilai dengan
operator dilakukan seperti umumnya seperrti operator aritmatika,bitwise dan
lainnya.Dengan sifat statis maka contoh dari deklarasinya sebagai berikut:
Int a;
b. Pointer
Pointer merupakan berisi alamat memori dari suatu variabel
tertentu.Membutuhkan operator khusus deperti operator deference atau
reference dan bersifat dinamis maka contoh dari deklarasi sebagai berikut:
Int *a;
4. Pemanfaatan pointer
a. “void” pointer
“void” pointer adalah pointer yang dapat menyimak ke semua tipe data,
yaitu dengan mendeklarasikan pointer sebagai pointer tanpa tipe data.
Bentuk umum untuk mendeklarasikan pointer tanpa tipe data adalah sebagai
berikut:
Void *nama_pointer;
Berikut contoh program yang menggunakan “void” pointer:
b. Operasi aritmatika pada pointer
Pointer dapat berperan sebagai operand dalam operasi aritmatika. Proses
semacam ini sering disebut pointer aromatic. Suatu variabel pointer hanya
dapat dilakukan operasi aritmatika dengan nilai integer saja. Hanya terdpat
dua operasi aritmatikanya yang dapat diterapkan pada pointer, yaitu operasi
penjumlahan dan pengurangan.
c. Pointer pada array
Pointer dan array memiliki hubungan yang dekat. Secara internal array
juga menyatakan alamat pada elemenpertama pada array.
6.3 PERMASALAHAN
Pada suatu malam yang cerah, seorang mahasiswa yang bernama nizam azmi
biasa dipanggil ajem atau ijux diminta untuk membuat sebuah program yang bias
menghubungkan akun-akun seperti social media sederhana menggunakan Bahasa
pemrograman C++ dan java, siapa yang meminta? Tidak penting. Ajem a.k.a ijux
diminta untuk membuat sebuah program dengan fitur-fitur sebagai berikut. Di
programnya terdapat 2 menu, yang pertama menu utama yang dimana menu ini
akan ditampilkan ketika awal program dan ketika user ingin Kembali ke menu ini
(bingung? Stay tune). Menu kedua adalah menu Home yang ditampilkan ketika
user sudah login.
1. Pada menu utama program terdapat pilihan fitur-fitur berikut :
• Login → fitur untuk login ke akun dengan memasukkan nama dari akun
yang terdaftar (tanpa password biar nggak panjang)
• Buat akun → fitur untuk membuat akun baru, social media sederhana milik
ijux harus memiliki 10 akun (boleh lebih jika ada kemauan) dan setiap akun
maksimal berteman dengan 5 orang, mengapa? Benar, biar tidak Panjang.
Saat mendaftar akun baru, user akan diminta untuk memasukkan nama dan
umur (boleh lebih jika niat).
• Data semua akun → fitur untuk menampilkan data nama dan umur dari
semua akun yang terdaftar
• Data pertemanan → fitur untuk menampilkan teman-teman dari setiap akun
yang terdaftar
• Data saran pertemanan → fitur untuk menampilkan saran pertemanan untuk
setiap akun, akun yang menjadi saran pertermanan adalah akun yang
merupakan teman dari teman kita. Contoh, rizqi berteman dengan ajem dan
ajem berteman dengan rifqi, maka rifqi merupakan saran pertemanan untuk
rizqi karena rizqi belum berteman dengan rifqi.
2. Menu kedua yaitu menu Home yang ditampilkan ketika user sudah login,
isinya sebagai
berikut:
• Tambahkan teman → dari Namanya suda jelas fitur ini berfungsi untuk
memambahkan teman baru dengan memasukkan nama dari akun yang ingin
6.4 HASILPERCOBAAN
6.4.1 Program Direktori Berkas
1. Algoritma
2. Flowchart
3. Pseudocode
Step 1: Start.
Step 2:
Step 3:
Step 4:
Step 5:
Step 6:
Step 7:
Step 8:
Step 9:
Step 10:
Step 11:
Step 12:
Step 13:
Step 14:
Step 15:
Step 16:
Step 17:
Step 18:
Step 19:
Step 20:
Step 20:
Step 21: End.
4. Source Code
import java.util.Scanner;
class user {
public String nama;
public int umur, indexTeman;
public int[] teman = new int[5];
switch (pilihan) {
case 1:
login();
break;
case 2:
daftar();
break;
case 3:
printUser();
break;
case 4:
friendList();
break;
case 5:
suggestedFriend();
break;
default:
return;
}
}
switch (pilihan) {
case 1:
addFriend();
break;
case 2:
friendList(activeUser);
break;
case 3:
suggestedFriend(activeUser);
break;
default:
menuUtama();
}
}
// cek login
menuUtama();
}
users[indexTambah].teman[users[indexTambah].indexTeman] =
activeUser;
users[indexTambah].indexTeman++;
menuHome(activeUser);
menuUtama();
System.out.println("===================================");
menuUtama();
if (users[index].indexTeman > 0) {
System.out.println("TEMAN DARI AKUN " +
users[index].nama);
for (int i = 0; i < users[index].indexTeman; i++)
{
int indexTeman = users[index].teman[i];
System.out.println((i + 1) + ". " +
users[indexTeman].nama + " ");
}
} else {
System.out.println("Belum ada teman");
}
menuHome(index);
System.out.print("=====================================");
menuUtama();
menuHome(index);
return -1;
return false;
}
menuUtama();
5. HasilProgram
6.6 KESIMPULAN
Kesimpulan yang bisa diambil dari praktikum modul 6, antara lain:
1. Control statement dan looping adalah statement yang digunakan untuk
mengarahkan jalannya program sehingga urutan pengerjaan program dapat
melompat lompat atau berulang.
dari Class. Jadi class itu template atau cetakan untuk sekelompok objek yang
memiliki properti yang sama. Class bisa terdiri dari Fields Template dari
keadaan (property) yang bisa membedakan objek yang satu dengan yang
lainnya.
DAFTAR PUSTAKA
[1] Arimbi, Yuanita Frinka Dwi, “Mengenal Tipe Data Pointer”, Jurnal fakultas
Komputer, section 2.
[2] Eka W Fridayanthie, Jimmy Charter, “RANCANG BANGUN SISTEM
INFORMASI SIMPAN PINJAM”, Jurnal Techno Nusa Mandiri, vol.13, no.2,
September, 2016.