Anda di halaman 1dari 18

LAPORAN PRAKTIKUM

DASAR PEMROGRAMAN KOMPUTER

PRAKTIKUM POINTER

Oleh :

Nama : Khalimatus Anisa Zain

NIM : 190531547607

Prodi : D3 Teknik Elektro

UNIVERSITAS NEGERI MALANG

JURUSAN TEKNIK ELEKTRO

PRODI D3 TEKNIK ELEKTRO


PRAKTIKUM 7

DASAR PEMOGRAMAN POINTER

A. TUJUAN

 Mengetahui arti dan fungsi pointer dalam pemrograman


 Memahami penggunaan pointer dalam listing program.
 Mengetahui keunggulan pointer pada suatu program.
 Membuat program sederhana dengan menerapkan konsep pointer

B. DASAR TEORI

1. Pointer dan Pendefinisian


Pointer adalah sebuah variabel yang berisikan alamat memori (bukan nilai)atau dengan
kata lain dapat dikatakan bahwa pointer adalah suatu variabel penunjuk ke alamat memori
tertentu. Cara pendeklarasian pointer dalam bahasa C adalah dengan menambahkan tanda
asterisk (*) didepan nama pointer, seperti berikut :

Keterangan :
Tipe_data
dapat berupa sembarang tipe seperti halnya pendefinisian variable

Nama_pointer adalah nama variabel pointer yang akan digunakan.

*adalah operator memori untuk mengembalikan nilai variabel pada alamatnya yangditentukan
oleh operand.Contoh :

2. Mengisi Variabel dan Mengakses Nilai Variabel Pointer


Suatu variabel pointer dapat menunjuk ke variabel lain. Contohnya adalah :
Hasil dari program diatas adalah :

Dari hasil tersebut membuktikan bahwa suatu variabel pointer dapat menunjuk alamat
dari suatu variabel. Selain itu, variabel pointer juga dapat untuk mengakses isi dari suatu
variabel. Berikut contohnya :
Dari kedua contoh tersebut terdapat kesimpulan bahwa operator pointer adadua yaitu :
a. Operator & (Operator Difference)

Operator deference (&) yaitu mendeklarasikan suatu variabel didalam penggantian


memori. Operator ini biasa disebut dengan
“address of”

b.Operator * (Operator Reference)

Operator Reference (*) yaitu dapat mengakses secara langsung nilai yang
terdapatdidalam variabel yang berpointer, hal ini dapat dilakukan dengan menambahkanidentifier
asterisk (*). Operator ini biasa disebut dengan
“value pointed by”

3. Pointer Void

Pointer Void adalah pointer yang dapat menunjuk ke sembarang tipe data. Jadisatu
pointer dapat menunjuk ke tipe data integer, tipe data float, dan lain sebagainya.Berikut ini
contoh dari pointer void :
4. Pointer dan Array

Pointer dan Array merupakan hal yang hampir sama, karena sama-samamenunjuk pada
suatu alamat. Karena hal tersebut pada pointer yang menunjuk kearray tidak menggunakan
tambahan operator & didepan nama variabel array.

5. Pointer dan String

Pointer juga dapat menunjuk ke sebuah String. Contoh hubungan antara pointer dengan
string, adalah :
6. Pointer menunjuk Pointer

Pointer dapat menunjuk ke pointer lain. Hal tersebut ditandai dengan adanya dua tanda
asterisk (*) sebelum nama variabel pointer.Berikut contonya :

7. Pointer dan Fungsi

Pointer juga dapat digunakan sebagai argumen maupun keluaran bagi fungsi.Pointer
sebagai argumen maka nilai argumen dapat diubah di dalam fungsi. Suatufungsi dapat dibuat
agar keluarannya berupa pointer. Dalam hal tersebut terkadangdifungsikan juga array di dalam
fungsi tersebut.
8. Keuntungan menggunakan Pointer.

a.Untuk menciptakan data struktur yang kompleks.

b.Memungkinkan suatu fungsi untuk menghasilkan lebih dari satu nilai.

c.Memiliki kemampuan untuk mengirimkan alamat suatu fungsi ke fungsi lain.

d.Penanganan terhadap array dan string akan lebih singkat dan efisien.

e.Memungkinkan untuk berhubungan langsung ke hardware.

f.Memungkinkan untuk berhubungan langsung dengan parameter command line.

g.Kemampuan bekerja dengan memori yang telah dialokasikan secara dinamik.

C. ALAT DAN BAHAN


 Laptop atau Komputer
 Aplikasi MinGw Developer Studio

D. LANGKAH KERJA
1. Bukalah aplikasi MinGW Developer Studio pada laptop/atau komputer.
2. Setelah itu, akan muncul tampilan seperti pada gambar dibawah ini

Lanjutkan dengan klik file lalu, klik New (ctrl+N).


3. Tunggu beberapa saat, akan muncul tampilan menu seperti gambar di bawah ini
Pilihlah pilihan sesuai dengan gambar diatas jikaingin memprogram sesuatu, ketik nama
project yang akan dibuat lalu klik OK.
4. Klik New (ctrl+N) lalu akan muncul tampilan seperti tadi namun, berbeda menu. Pilih
C/C++ source file lalu beri nama pada file klik OK

5. Akan muncul tampilan layar warna putih yang akan dipergunakan untuk memprogram
sesuatu. Jika program telah selesai dilakukan pastikan untuk menekan compile(Ctrl+F7)
agar kita dapat mengetahui apakah ada error dalam program. Jika tidak ditemukan error
lanjutkan dengan excute program (Ctrl+F5) akan muncul hasil program yang diproses.
E. HASIL PEMROGRAMAN
LATIHAN 1

Penjelasan Program :

Nama Program : Menambahkan Nilai Suatu Bilangan dengan Pointer


Bahasa Program : C++
Compiler : MinGW Developer Studio
Program diatas bertujuan untuk mengubah nilai variabel bil X dengan menggunakan pointer
pBil, dimana bil X sudah dideklarasikan mempunyai nilai 77, kemudian isi dan nilai yang
ditunjuk oleh variabel pBil di tampilkan sama dengan 77. Kemudian dalam proses kedua jumlah
pBil ditambah 3 yakni *pBil=*pBil+3 dan pBilx bernilai 80. Dengan header #include
<iostream.h> berfungsi mengaktifkan perintah cin, cout dan endl. Fungsi utama int main () yang
berarti int memiliki nilai balik dan karena memiliki nilai balik maka diberikan perintah return 0;.
Dengan menggunakan tipe data int untuk menyatakan bilangan bulat tak berkoma.
LATIHAN 2

Penjelasan Program :
Nama Program : Pemanggilan Nilai dengan Pointer
Bahasa Program : C++
Compiler : MinGW Developer Studio
Program diatas bertujuan untuk menampilkan nilai dan alamat dari variabel x dan y dan
mengubah nilai variabel x dan y. Pertama-tama dideklarasikan bahwa p=&x yang berarti variabel
x dialamatkan sama dengan variabel p, juga dideklarasikan bahwa x=40 yang berarti variabel
bernilai 40 pada mulanya, jadi pada saat pointer x dan y dipanggil nilai x dan y adalah sama
yaitu 40. Kemudian diproses keluaran alamat p (&P) yakni p dan alamat x (&X) yakni &x.
Proses kedua akan dideklarasikan bahwa *p=25 yang berari nilai x juga akan bernilai 25.
Selanjutnya akan diproses keluaran alamat p (&P) yakni p dan alamat x (&X) yakni &x. Alamat
x sama dengan alamat y yakni 0x65ff48 program selesai. Dengan header #include <iostream.h>
untuk mengaktifkan perintah cin, cout dan endl. Fungsi utama int main () yang berarti int
memiliki nilai balik dan karena memiliki nilai balik maka diberikan perintah return 0;. Dengan
menggunakan tipe data long yang memiliki fungsi sama dengan tipe data int hanya saja pada tipe
data long jika bilangan bulat yang di kelompokan itu jumlahnya sangat banyak dan tipe data
melebihi kapasitas tipe data dari int dan variabel p dan x.
LATIHAN 3

Penjelasan Program :
Nama Program : Menambahkan Nilai Variable Awal dengan Pointer
Bahasa Program : C++
Compiler : MinGW Developer Studio
Program diatas bertujuan menampilkan hasil perubahan nilai pointer dengan penerapan fungsi.
Pertama-tama indentifikasi jenis fungsi yakni void ubah yang memiliki parameter yakni (int *b).
Selanjutnya didalam fungsi void ada proses untuk mengubah nilai pointer yakni dengan rumus
*b=*b+22. Kemudian pada fungsi utama akan dilakukan proses keluaran awal dari variabel a
yang bernilai 12 (int a=12), lalu dipanggil fungsi ubah(&a) untuk mengubah nilai pointer. Pada
fungsi ubah variabel a diubah menjadi *b dengan parameter *b, maka nilai *b=12. Dengan
proses *b=*b+22 nilai a akan berubah menjadi *b yakni 34. Maka keluarannya a adalah 34.
Dengan header #include <iostream.h> untuk mengaktifkan perintah cin, cout dan endl.
Menggunakan fungsi utama int main() yang berarti int memiliki nilai balik. Dengan tipe data int
untuk menyatakan bilangan bulat serta jenis fungsi void.
LATIHAN 4

Penjelasan Program :
Nama Program : Pointer Void
Bahasa Program : C++
Compiler : MinGW Developer Studio
Program diatas bertujuan untuk menampilkan nilai variabel pointer bertipe data void yakni void
*tunjuk. Proses diawali dengan pendeklarasian void *tunjuk, float n_float=25.5 dan char
n_char='D'. Kemudian diproses dengan rumus yakni tunjuk=&n_float yang berarti variabel
n_float dialamatkan sama dengan variabel tunjuk. Kemudian diproses keluaran Nilai yang
ditunjuk adalah : dengan *(float *)tunjuk yang berarti variabel tunjuk bernilai 25.5. Selanjutnya
proses tunjuk=&n_char yang berarti variabel n_char dialamatkan sama dengan variabel tunjuk.
Kemudian diproses keluaran Nilai yang ditunjuk adalah : dengan *(char *)tunjuk yang berarti
variabel tunjuk sekarang adalah D. Program selesai. Dengan header #include <iostream.h> untuk
mengaktifkan perintah cin, cout dan endl. Menggunakan fungsi utama int main() yang berarti int
memiliki nilai balik. Tipe data float (untuk menyatakan bilangan pecahan atau berkoma) dan
char (untuk menyatakan karakter tunggal).
LATIHAN 5

Penjelasan Program :
Nama Program : Nilai Ubah Variabel
Bahasa Program : C++
Compiler : MinGW Developer Studio
Program diatas bertujuan untuk menampilkan nilai variabel pointer bertipe data void. Pertama-
tama dideklarasikan bahwa void *p_void, float var_f=3.9 (yang berarti nilai variabel var_f
adalah 3.9) dan p_void=&var_f (yang berarti var_f dialamatkan sama dengan variabel p_void).
Kemudian diproses keluaran Nilai variabel = dengan nilai var_f yakni 3.9. Lalu diproses sebuah
rumus yakni *(float *)p_void=7.8 yang berarti nilai variabel p_void menjadi 7.8, karena var_f
dialamatkan sama dengan variabel p_void jadi nilai variabel var_f juga berubah menjadi 7.8.
Lalu diproses keluaran Nilai ubah variabel = dengan var_f yang bernilai 7.8. Program berjalan
sesuai perintah. Dengan header #include <iostream.h> (untuk mengaktifkan perintah cin, cout
dan endl) dan #include <conio.h> (untuk membuat program menunggu inputan yang akan kita
tekan dengan perintah getch() ) Menggunakan fungsi utama int main() yang berarti int memiliki
nilai balik.
PRAKTIKUM 1

Penjelasan Program :
Nama Program : Membalik Kata
Bahasa Program : C++
Compiler : MinGW Developer Studio
Program diatas bertujuan untuk membalik sebuah kata atau kalimat menggunakan Pointer.
Pertama-tama memasukkan kata atau kalimat yang diinginkan tidak lebih dari 50 karakter yakni
char input [50]. Kemudian format inputan yang kita gunakan ini adalah cin.getline dimana
berfungsi membaca spasi pada karakter data yang kita inputkan, lalu diproses penghitungan
jumlah karakter dengan yang ada pada char input [50] dengan rumus a=strlen(input)-1.
Selanjutnya diproses keluaran Pembalik Kata :. Perulangan yang digunakan dalam proses ini
adalah looping for statement karena setiap kata yang diinput mengandung array, perulangan ini
lah yang berfungsi untuk membalik array tersebut. Untuk keluarannya digunakan
change=&input[b] dan untuk hasilnya adalah result= *(char *)change. Program selesai. Dengan
menggunakan header #include <iostream.h> untuk mengaktifkan perintah cin, cout dan endl.
Fungsi utama int main() yang berarti int memiliki nilai balik. Dengan tipe data int (untuk
menyatakan bilangan bulat) dan char (untuk menyatakan karakter tunggal). Serta jenis pointer
void.
PRAKTIKUM 2

Penjelasan Program :
Nama Program : Fungsi dan Pointer Hari
Bahasa Program : C++
Compiler : MinGW Developer Studio
Program diatas bertujuan untuk menampilkan nama hari dari angka yang diinput. Pertama-tama
adalah pendeklarasian string *sel, string hari[] (yang berisi nama-nama hari), dan int x,day.
Kemudian input angka untuk menampilkan hari. Pada program ini digunakan statement if-else
untuk menentukan benar atau salah angka yang diinput yakni dengan keadaan if(day<8) yang
berarti jika meinginput angka kurang dari 8 maka akan diproses x=day-1, hari[x], dan sel=hari,
dan jika angka yang dimasukkan adalah angka 8 atau lebih maka akan diproses x=5, hari[x] dan
akan ada keluaran Kode hari salah. Program selesai. Dengan header #include <iostream.h> untuk
mengaktifkan perintah cin, cout dan endl. Fungsi utama int main() yang berarti int memiliki nilai
balik. Menggunakan tipe data string (untuk menyimpan data hari 1-7) dan int (untuk menyatakan
bilangan bulat).

PRAKTIKUM 3

Penjelasan Proram :
Nama Program : Menjawab Pertanyaan dengan Pointer
Bahasa Program : C++
Compiler : MinGW Developer Studio
Program kali ini bertujuan untuk menampilkan angka dari variabel-variabel tertentu dengan
menggunakan konsep pointer. Pertama-tama adalah pendeklarasian variabel yakni int aziz=70,
*defa, *dewi. Nilai aziz=70 yang berarti variabel azis bernilai 70, defa=&aziz yang berarti
variabel aziz dialamatkan sama dengan variabel defa maka variabel defa juga bernilai 70.
Selanjutnya dewi=&aziz yang berarti variabel aziz dialamatkan sama dengan variabel dewi,
maka nilai dewi adalah 70 pada mulanya yang selanjutnya akan ditambah 3 yakni dewi+3, yang
pada akhirnya nilai dewi sama dengan 73. Selanjutnya diproses defa=&aziz yang berarti variabel
aziz dialamatkan sama dengan variabel defa maka variabel defa juga bernilai 70. Selanjutnya
dewi=&aziz yang berarti variabel aziz dialamatkan sama dengan variabel dewi, maka nilai dewi
adalah 70 pada mulanya yang selanjutnya akan ditambah 3 yakni dewi+3, yang pada akhirnya
nilai dewi sama dengan 73. Program selesai. Dengan header #include <iostream.h> untuk
mengaktifkan perintah cin, cout dan endl. Fungsi utama int main() yang berarti int memiliki nilai
balik dan tipe data int untuk menyatakan bilangan bulat.

F. KESIMPULAN
Pointer (varabel penunjuk) adalah suatu variable yang berisi alamat memori dari suatu
variable lain. Operator pada pinter terdapat dua jenis, yaitu :
a. Operator & (Operator Diference) yang berguna untuk menghasilkan alamat dari
operatornya
b. Operator* (Operator Reference) yang berguna untuk menghasilkan nilai yang berada
pada sebuah alamat
Dalam bahasa pemrograman c++ perlu menggunakan pointer sebab pointer dapat
meningkatkan kinerja untuk operasi yang dilakukan secara berulang. Dengan syarat, bila
mendeklarasikan pointer pada array tidak boleh menggunakan tanda bintang. Dengan
menggunakan pemrograman pointer, kita dapat menyusun program yang kompleks,
namun jika ada kesalahan maka itu bisa fatal. Void pinter dapat menunjuk tipe data
apapun, nilai integer value atau float, maupun string atau karakter.

Anda mungkin juga menyukai