• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM VIII POINTER

N/A
N/A
Protected

Academic year: 2017

Membagikan "LAPORAN PRAKTIKUM VIII POINTER"

Copied!
17
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM VIII

POINTER

Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++ Dibimbing oleh Bpk. Wahyu Sakti G.I

Oleh:

Ananda Putri Syaviri

130533608243

S1 PTI’13 OFF B

UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

PRODI PENDIDIKAN TEKNIK INFORMATIKA November 2013

(2)

A. Tujuan

Setelah mempelajari bab ini diharapkan mahasiswa akan mampu : 1. Mengenaldanmemahami penggunaan pointer dalam listing program. 2. Membuat program sederhana dengan menerapkan konseppointer .

B. Dasar Teori.

Definisi Pointer

 Pointer berisi alamat dari suatu data, BUKAN data seperti pada variabel.  Variabel disimpan dalam memori, dan akan ditempatkan pada alamat tertentu.  Pointer dalam program digunakan untuk me-nunjuk kesuatu alamat memori.

Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan kesuatu alamat memori sehingga alamat dari suatu variable dapat diketahui dengan mudah.

Keunggulan menggunakan Pointer:

1. Penanganan terhadap array dan string akan lebih singkat, dan efisien. 2. Memungkinkan suatu fungsi untuk menghasilkan lebih dari satu nilai.

3. Memiliki kemampuan untuk mengirimkan alamat suatu fungsi ke fungsi yang lain. 4. Kemampuan berkerja dengan memori yang telah dialokasikan secara dinamik. 5. Memungkinkan untuk berhubungan langsung ke hardware.

6. Untuk menciptakan data structure yang kompleks.

7. Memungkinkan untuk berhubungan langsung dengan parameter command line.

Dengan menggunakan pointer yang benar, anda dapat menyusun sebuah program yang berkemampuan tinggi. Sebaliknya sedikit saja kesalahan dalam menggunakan pointer akan mengakibatkan kesalahan fatal pada program anda. Karena pointer dapat langsung menunjukan pada lokasi memori, jika lokasi yang ditunjuk salah, berarti data yang diambil juga akan salah, dan sudah tentu program anda akan menjadi salah juga.

Operator deference (&) ampersand sign

Operator ini biasa disebut dengan address of atau operator alamat. Dengan menggunakan operator deference variable akan menghasilkan alamat lokasi memori.

Operator reference (*)

(3)

Deklarasi Variabel Pointer

Tipe variable sama dengan tipe yang dikenal oleh variable biasa, misalnya int, float, char dan sebagainya. Nama variabel pointer juga mengikuti ketentuan nama variable biasa. Yang membedakan variabel pointer dengan variable biasa dengan menggunakan tanda asterisk (*) didepan nama varibel pada waktu deklarasi.

Contoh :

Int *ptr_x;

Ptr merupakan variabel pointer, karena pada deklarasi digunakan tanda (*) didepan nama variabelnya. Pengertian dalam deklarasi variabel pointer memiliki perbedaan dengan variable biasa, jika dalam deklarasi variable biasa:

Float x;

Dalamdeklarasi pointer:

Float *ptr_x;

Artinya variabel pointer ptr_x akan menunjukkan pada variable yang bertipe float. Jadi disini bukan ptr_x-nya yang bertipe float, melainkan variabel lain yang ditunjuk yang bertipe float. Contoh: dalam pendeklarasian yang salah :

float y; Int *ptr_y;

Benar :

Float y; Float *ptr_y;

Dan untuk mendeklarasikan sebuah variable y yang bertipe integer dengan variabel pointernya adalah:

Int y;

(4)

Input data Melalui Pointer

Anda dapat juga mengimputkan suatu data ke dalam variable dengan dengan menggunakan pointernya, sebagai contoh tinjaulah program dibawah ini:

Int x; Int *ptr_x; Ptr_x=&x;

Printf(”inputkannilai x : ”); Scanf(”%d”,ptr_x);

Ingat! Menginputkan data dengan scanf() membutuhkan alamat dari variabel yang bersangkutan. Karena ptr_x merupakan alamat dari variabel x, maka ptr_x dapat digunakan dalam scanf(). Jadi pernyataan:

Scanf (”%d”,ptr_x); Sama dengan: Scanf (”%d”,&x);

Dimana &x juga menunjukkan alamat dari variabel x.

Memberikan suatu nilai pada suatu variable lewat pointer

(5)

Pointer danfungsi

(6)
(7)

Latihan Praktikum 1 Pemrograman C++

Nama Program :Program menggunakan suatu pointer dari fungsi

Bahasa Pemrogramam : C++

Compiler : MinGW Developer Studio

Script program :

#include <stdio.h>

char*nama_bulan(int n); main()

{

int bl;

printf("Bulan(1..2*)"); scanf("%d",&bl);

printf("%s\n",nama_bulan(bl)); }

char*nama_bulan(int n) {

(8)

"Kode Bulan Salah",

"Januari","Februari","Maret","Appril","Mei","Juni","Juli","A gustus",

"September","Oktober","Nopember","Desember"};

return((n<1||n>12)?bulan[0]:bulan[n]); }

Output Program:

Algoritma:

1. Mulai.

2. Masukkan bilangan bulan (1...2). 3. Cetak hasil.

scanf("%d",&bl);

printf("%s\n",nama_bulan(bl));

4. Jika inputan bilangan selain 1-12, maka “Kode Bulan Salah”. 5. Cetak hasil.

return((n<1||n>12)?bulan[0]:bulan[n]);

6. Selesai.

Deskripsi:

Program diatas menggunakan file header stdio karena menggunakan printf dan scanf. Menggunakan fungsi main. Menggunakan tipe data string, static char, char dan int. Menggunakan operator ||, <. Menggunakan fungsi return((n<1||n>12)?bulan[0]:bulan[n]); , yang artinya jika n

bernilai 1-12 maka bernilai benar hasilnya

“"Januari" /"Februari"/"Maret"/"Appril"/"Mei"/"Juni" /"Juli"/"Agustus"/"September"/"Oktober"/" Nopember"/"Desember"}; , jika lebih dari 12 atau kurang dari 1 maka bernilai salah dan hasilnya “Kode bulan salah”.

(9)

Nama Program :Program menghitung banyak karakter

Bahasa Pemrogramam : C++

Compiler : MinGW Developer Studio

Script program :

//PROGRAM MENGHITUNG BANYAK KARAKTER #include <stdio.h>

int misteri3(const char *);

main () {

char string[80];

printf("Ketikkan sebuah string : "); scanf("%s",&string);

printf("%d\n", misteri3(string)); return 0;

}

int misteri3(const char *s) {

2. Ketikkan sebuah string.

(10)

4. Selesai.

Deskripsi:

Program diatas menggunakan file header stdio karena menggunakan printf dan scanf. Menggunakan array satu dimensi. Menggunakan tipe data integer, string. Menggunakan fungsi main. Menggunakan fungsi return 0 dan return x.

LatihanPraktikum3 Pemrograman C++

Nama Program :Program untuk menjawab pertanyaan

Bahasa Pemrogramam : C++

Compiler : MinGW Developer Studio

Script program :

#include <iostream.h> #include <conio.h> int main()

{

int aziz, defa, dewi;

(11)

cout<<" a. Berapa nilai defa?\n";

cout<<" Nilai defa = "<<*defa1<<endl; cout<<endl;

cout<<" b. Berapa nilai dewi?\n";

cout<<" Nilai dewi = "<<*dewi1<<endl; cout<<endl;

aziz=57082; defa1=&aziz; dewi=*defa1+1;

cout<<"================================================\n"; cout<<" aziz=57082\n";

cout<<" defa=&aziz\n"; cout<<" dewi=*defa+1\n";

cout<<"================================================\n"; cout<<" c. Berapa nilai defa?\n";

cout<<" Nilai defa = "<<*defa1<<endl; cout<<endl;

cout<<" d. Berapa nilai dewi?\n";

cout<<" Nilai dewi = "<<*dewi1<<endl; cout<<endl;

}

Output Program :

Algoritma:

1. Mulai.

2. Membaca integer main aziz, defa, dewi. 3. Membaca integer aziz1, defa1, dewi1.

4. Membaca hasil dari nama-nama yang ingin diproses. 5. Proses:

(12)

defa=aziz;

7. Membaca nilai defa :

cout<<" a. Berapa nilai defa?\n";

cout<<" Nilai defa = "<<*defa1<<endl;

8. Membaca nilai dewi :

cout<<" b. Berapa nilai dewi?\n";

cout<<" Nilai dewi = "<<*dewi1<<endl;

9. Menghasilkan nilai defa dan dewi

aziz=57082; defa1=&aziz; dewi=*defa1+1;

10. Membaca nilai defa1

cout<<" c. Berapa nilai defa?\n";

cout<<" Nilai defa = "<<*defa1<<endl;

11. Membaca nilai dewi1

cout<<" d. Berapa nilai dewi?\n";

cout<<" Nilai dewi = "<<*dewi1<<endl;

12. Selesai.

Deskripsi:

Program diatas menggunakan file header iostream karena menggunakan cout dan cin, menggunakan file header conio sebagai header standar. Menggunakan tipe data integer. Menggunakan fungsi main. Menggunakan pointer dimana berfungsi untuk mengalokasikan (mengetahui) alamat suatu memori dalam bahasa C++.

TugasPraktikum 1 Pemrograman C++

Nama Program :Program menampilkan kalimat terbaik dari suatu kalimat yang di inputkan

Bahasa Pemrogramam : C++

Compiler : MinGW Developer Studio

Script program :

(13)

#include <conio.h> #include <stdio.h>

(14)

Algoritma:

1. Mulai.

2. Membacafungsi main.

3. Membacatipe data integer dan char. 4. Membaca array satudimensi. 5. Membaca pointers char balik.

6. Jumlah = 0 balik=kata

for(i=0;kata[i]!='\0';i++) {jumlah ++;}

7. Masukkan kata.

8. Cetak hasil pembalikkan kata.

for(i=jumlah -1;i>=0;i--) {cout << *(balik + i);}

9. Jika ingin mengulang , maka “Tekan y untuk mengulang”.

cout<<"\n\t Tekan y untuk mengulang = "; cin>>x;

} while ((x=='y') || (x=='Y')); getch();

}

10. Cetak hasil.

11. Kembali ke menu awal jika ‘y’, program berakhir jika ‘n’. 12. Selesai.

Deskripsi:

Program diatas menggunakan file header iostream karena menggunakan cout dan cin, menggunakan conio karena menggunakan getch, menggunakan stdio sebagai header standar dan menggunakan fungsi gets(kata). Menggunakan tipe data integer dan char. Menggunakan pointer char balik. Menggunakan array satu dimensi. Menggunakan perulangan do while dan for. Menggunakan fungsi getch dan gets(kata).

Tugas Praktikum 2 Pemrograman C++

Nama Program :Program3 Variabel.

(15)

Compiler : MinGW Developer Studio

cout<<"\n\t Masukkannilai a = "; cin>>a;

cout<<"\n\t Masukkannilai b = "; cin>>b;

cout<<"\n\t Masukkannilai c = "; cin>>c;

cout<<"\t ===---**---=== \n\n"; pengali(&a);

pengali(&b); pengali(&c);

cout<<"\t Nilai a sesudahdieksekusi = "<<a<<endl; cout<<"\n\t Nilai b sesudahdieksekusi = "<<b<<endl; cout<<"\n\t Nilai c sesudahdieksekusi = "<<c<<endl; cout<<"\n\t ===---**---=== \n\n"; cout<<"\n\t Tekan y untukmengulang = ";

(16)

}

Output Program:

Algoritma:

1. Mulai.

2. Membaca file header.

3. Membaca fungsi main, fungsi pengali(int*). 4. Membaca tipe data integer a,b,c dan char x. 5. Masukkan nilai a.

6. Masukkan nilai b. 7. Masukkan nilai c 8. Cetak hasil pengali.

pengali(&a); pengali(&b); pengali(&c);

9. Jika ingin mengulang, maka “Tekan y untuk mengulang”.

cout<<"\n\t Tekan y untuk mengulang = "; cin>>x;

}

while ((x=='y') || (x=='Y')); getch();

}

10. Cetak hasil.

11. Kembali ke menu awal jika ‘y’, program berakhir jika ‘n’. 12. Selesai.

Deskripsi:

Program diatas menggunaka file header iostream karena menggunakan cout dan cin, conio karena menggunakan getch. Menggunaka fungsi main dan pengali(int*). Menggunakan tipe data integer dan char. Menggunakan perulangan do- while. Menggunakan fungsi getch.

(17)

1. Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan kesuatu alamat memori sehingga alamat dari suatu variable dapat diketahui dengan mudah.

2. Dengan menggunakan pointer yang benar, dapat menyusun sebuah program yang berkemampuan tinggi. Sebaliknya sedikit saja kesalahan dalam menggunakan pointer akan mengakibatkan kesalahan fatal pada program tersebut.

3. Menggunakan operator deference variable akan menghasilkan alamat lokasi memori. 4. Menggunakan operator reference akan dihasilkan nilai yang berada pada suatu alamat

memori.

DAFTAR RUJUKAN

Referensi

Dokumen terkait

pengendalian melalui program komputer, sehingga pembagian tanggung jawab fungsional dalam pelaksanaan transaksi dapat dikurangi. Perbedaan karakteristik Sistem Manual vs

Telah diadakan Pemeriksaan Barang sesuai dengan lampiran kontrak kepada Sekretariat Dewan Perwakilan Rakyat Daerah Kabupaten Puncak dan telah diterima dalam keadaan 100% baru, baik

[r]

Pengaruh Strategi Diferensiasi dan Positioning Produk Terhadap Motivasi Nasabah ( Studi Kasus Pada Produk Tabungan Investa Cendekia di BSM KCP Banyumanik2. Semarang )

Oleh karena itu, untuk mencegah penyakit HDB perlu dilakukan penyediaan benih yang bebas Xoo serta pemahaman mengenai waktu tanam yang sesuai dengan perkembangan penyakit Xoo

Instrumen yang digunakan dalam penelitian aspek kognitif ini berupa tes objektif tentang materi sistem koloid yang terdiri dari 25.. butir soal dengan 5 alternatif

 Secara Nasional produksi padi Provinsi Sulawesi Tengah tahun 2015 mempunyai kontribusi sebesar 1,35 persen dari total produksi padi nasional sebesar 75,36 juta ton