PRAKTIKUM 12 POINTER 2

dokumen-dokumen yang mirip
PRAKTIKUM 12 POINTER 2

void naikkan_nilai (int *x, int *y) { *x = *x + 2; *y = *y + 2; }

PRAKTIKUM 11 POINTER 1

BAB VIII POINTER. Tujuan :

xxxx alamat Praktikum 11 POINTER

MAKALAH POINTER PADA BAHASA C

POINTER II. Oleh : Mike Yuliana PENS-ITS

Konsep Pemrograman. Bab 13. Pointer 3. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Minggu ke-11 Fungsi (Function)

POINTER DASAR PEMROGRAMAN

Konsep Pemrograman. Bab 12. Pointer 2. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

PRAKTIKUM 11 POINTER 1

Pointer. Yuliana Setiowati

POINTER. Pemrograman Bahasa C++

Minggu ke-12 Built-in Function

main() { int y, x = 87; /* x & y bertipe int */ int *px; /* var pointer yg menunjuk ke data yang bertipe int */

A. TUJUAN 1. Menjelaskan tentang konsep dari variabel pointer. zzzz. Address. Gambar 8.1 Variabel pointer px menunjuk ke variabel x

8. Pointer. S. Indriani L, M.T

Achmad Solichin.

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Pengenalan C++ Oleh : Dewi Sartika

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

MENGENAL POINTER. Mengetahui Alamat variabel. Output :

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

Pointer 2 A. TUJUAN PEMBELAJARAN. 1. Memahami tentang Pointer to Array 2. Memahami tentang Pointer to String

Scope Variable. Sebuah variabel di dalam sebuah fungsi memiliki jangkauan tertentu. Skop variabel terdiri dari:

Pointer 1 A. TUJUAN PEMBELAJARAN

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

POINTER. Praktikum 10 (3/5) A. TUJUAN 1. Menjelaskan tentang Pointer to Array 2. Menjelaskan tentang Pointer to String

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

Struktur Kontrol Pemrograman Java : PERCABANGAN

OPERASI PERNYATAAN KONDISI

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Fungsi, Parameter, Rekursi

POINTER I. Oleh : Mike Yuliana PENS-ITS

Modul Praktikum Bahasa Pemrograman 1

PEMROGRAMAN BERORIENTASI OBJEK

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3

Fungsi : Dasar Fungsi

BAB 6 FUNGSI TUJUAN PRAKTIKUM

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur.

ARRAY. Karakteristik

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

BAB VI BAHASA C Pendahuluan

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

Minggu ke-10 Pointer. Pendahuluan. Objektif. Bahan Bacaan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

PRAKTIKUM 14 STRUKTUR 2

BAB 5 PERULANGAN DAN ARRAY

1 MODUL 8 POINTER MODUL 8 POINTER

void tukar_xy(struct koordinat *pos_xy){ int z; z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z;

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

pada program di atas, akan ditampilkan alamat memori dari variabel x, bukan nilai x.

Modul 1 Dasar Dasar Bahasa Pemrograman C

Fungsi DASAR PEMROGRAMAN

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

Algoritma Pemrograman 2B (Pemrograman C++)

A. TUJUAN 1. Mengetahui perbedaan antara variabel lokal, eksternal, statis dan register

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

Algoritma dan Struktur Data Praktikum 3. Pointer

Pointer dan Array Dinamik. IF2121 / Algoritma dan Struktur Data Sem /2018

Algoritma & Pemrograman #8. by antonius rachmat c, s.kom, m.cs

A. TUJUAN PEMBELAJARAN

Sedangkan bentuk umum pendefinisian fungsi adalah : Tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement... }

Pendahuluan Pemrograman Mikrokontroler

Pemrograman Dasar C. Minggu 9

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Mukhlidi Muskhir Modul 2

PRAKTIKUM 14 STRUKTUR 2

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Struct 2 A. TUJUAN PEMBELAJARAN

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

Tipe Data dan Variabel

BAB 5. KONDISI DAN ARRAY

Kurikulum Qt. Chapter 4 Function. Fungsi

MODUL 5 PERULANGAN (LOOPING)

LATIHAN DAN KISI-KISI SOAL JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Pointer. Objektif. Bahan Bacaan

Pemrograman Dasar C. Minggu 6

BAHASA PEMROGRAMAN C

Function nama dipisahkan

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Struktur dan Kondisi Perulangan. Struktur Kondisi

Single Linked List (1)

Array 1 A. TUJUAN PEMBELAJARAN

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

Algoritma dan Struktur Data. Ramos Somya

Tipe Data. Adri Priadana

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

APLIKASI MENGELOLA DATA ACCESS LOG MENGGUNAKAN C# Melihat LOG berdasar Hari, Jam, dan URL Terbanyak diakses

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

PRAKTIKUM 7 FUNGSI 1

Transkripsi:

PRAKTIKUM 12 POINTER 2 A. Tujuan 1. Menjelaskan tentang Array of Pointer 2. Menjelaskan tentang Pointer to Pointer 3. Menjelaskan tentang Pointer dalam Fungsi 4. Menjelaskan tentang Pointer sebagai Parameter Fungsi 5. Menjelaskan tentang Pointer sebagai Keluaran Fungsi B. Dasar Teori Array dari Pointer (Array of Pointer) Suatu array bisa digunakan untuk menyimpan sejumlah pointer. Sebagai contoh: char *namahari[10]; merupakan pernyataan untuk mendeklarasikan array pointer. Array namahari terdiri dari 10 elemen berupa pointer yang menunjuk ke data bertipe char. xxx namahari Gambar 8.5 Array pointer Array pointer bisa diinisialisasi sewaktu pendeklarasian. Sebagai contoh: static char *namahari[] = Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu ; Praktikum Dasar Programming 1 107

Pada contoh ini, namahari[0] berisi alamat yang menunjuk ke string Senin. namahari[1] berisi alamat yang menunjuk ke string Selasa. namahari[2] berisi alamat yang menunjuk ke string Rabu. dan sebagainya. Pointer menunjuk Pointer (Pointer to Pointer) Suatu pointer bisa saja menunjuk ke pointer lain. Gambar berikut memberikan contoh mengenai pointer menunjuk pointer. Pointer ptr2 alamat ptr1 Pointer ptr1 alamat ptr1 Variabel var_x nilai Gambar 8.6 Pointer yang menunjuk pointer Untuk membentuk rantai pointer seperti pada gambar di atas, pendeklarasian yang diperlukan berupa int var_x; int *ptr1; int **ptr2; Perhatikan pada deklarasi di depan: var_x adalah variabel bertipe int. ptr1 adalah variabel pointer yang menunjuk ke data bertipe int. ptr2 adalah variabel pointer yang menunjuk ke pointer int. (itulah sebabnya deklarasinya berupa int **ptr2; ) Agar ptr1 menunjuk ke variabel var_x, perintah yang diperlukan berupa ptr1 = &var_x; Sedangkan supaya ptr2 menunjuk ke ptr1, instruksi yang diperlukan adalah ptr2 = &ptr1; Praktikum Dasar Programming 1 108

Pointer dalam Fungsi Pointer dan kaitannya dengan fungsi yang akan dibahas berikut meliputi : Pointer sebagai parameter fungsi Pointer sebagai keluaran fungsi Pointer Sebagai Parameter Fungsi Penerapan pointer sebagai parameter yaitu jika diinginkan agar nilai suatu variabel internal dapat diubah oleh fungsi yang dipanggil. Sebagai contoh dapat dilihat pada fungsi berikut. void naikkan_nilai (int *x, int *y) *x = *x + 2; *y = *y + 2; Fungsi di atas dimaksudkan agar kalau dipanggil, variabel yang berkenaan dengan parameter aktual dapat diubah nilainya, masing-masing dinaikkan sebesar 2. Contoh pemanggilan : naikkan_nilai(&a, &b); Perhatikan, dalam hal ini variabel a dan b harus ditulis diawali operator alamat (&) yang berarti menyatakan alamat variabel, sebab parameter fungsi dalam pendefinisian berupa pointer. Pointer Sebagai Keluaran Fungsi (return value) Suatu fungsi dapat dibuat agar keluarannya berupa pointer. Misalnya, suatu fungsi menghasilkan keluaran berupa pointer yang menunjuk ke string nama_bulan, seperti pada contoh berikut. char *nama_bulan(int n) static char *bulan[]= Kode bulan salah, Januari, Februari, Maret, April, Mei, Juni, Juli, "Agustus, September, Oktober, Nopember, Desember ; return ( (n<1 n>12) bulan[0] : bulan[n] ); Praktikum Dasar Programming 1 109

Pada definisi fungsi di atas, char *nama_bulan() menyatakan bahwa keluaran fungsi nama_bulan() berupa pointer yang menunjuk ke obyek char (atau string). Dalam fungsi nama_bulan(), mula-mula array bernama bulan dideklarasikan dan sekaligus diinisialisasi agar menunjuk sejumlah string yang menyatakan nama bulan. Di bagian akhir fungsi, pernyataan return ( (n<1 n>12) bulan[0] : bulan[n] ); menyatakan bahwa hasil fungsi berupa pointer yang menunjuk ke string Kode bulan salah (bulan[0]) jika masukan fungsi n<1 atau n>12 bulan[n] untuk n yang terletak antara 1 sampai dengan 12. C. TUGAS PENDAHULUAN 1. Buatlah program untuk menghitung banyaknya karakter yang dimasukkan dengan menggunakan pointer! Hasil: Ketik sebuah string: andri Jumlah karakternya adalah 5 D. PERCOBAAN 1.. Untuk potongan program di bawah ini, gambarkan ilustrasi alokasi memori dari setiap baris pernyataan yang diproses int *i; int j=10, k, m[]=2, 5; int **l; i = m; i++; *i = j; j = *i; i = &j; k = *(&j); l = &i; 2. Tentukan setiap statemen di bawah ini benar atau salah. Jika salah sertakan alasannya. Deklarasi : Praktikum Dasar Programming 1 110

int a[5] = 2,4,8,1,23; int c = 5; int *ptr1 = &c; int *ptr2 = a; Statement Benar (beri tanda X) Salah (beri tanda X) a = c; *c = 6; a[2] = c; *ptr2 = c; &ptr1 = c; *(ptr2 + 1) = *(a + 3); c = *(ptr2 + 1); c = &ptr1; c = a[3] + 2; *(ptr2 + 2) = *ptr1; 3. Berikan ilustrasi dan jelaskan apa yang dilakukan oleh program di bawah ini dan tampilkan hasil eksekusinya. #include <stdio.h> char stra[80] = "A string to be used for demonstration"; char strb[80]; main() char *pa, *pb; puts(stra); pa = stra; puts(pa); pb = strb; putchar('\n'); while(*pa!= '\0') *pb++ = *pa++; *pb = '\0'; puts(strb); Proses apakah yang sebenarnya dilakukan pada program tersebut Praktikum Dasar Programming 1 111

4. Berikan ilustrasi dan jelaskan apa yang dilakukan oleh program di bawah ini #include <stdio.h> char *my_strcpy(char *, char *); main() char stra[80]="a string to be used for demonstration"; char strb[80]; my_strcpy(strb, stra); puts(strb); char *my_strcpy(char *destination, char *source) char *p = destination; while (*source!= '\0') *p++ = *source++; *p = '\0'; return destination; 5. Bandingkan fungsi my_strcpy di atas dengan fungsi my_strcpy di bawah ini. Berikan penjelasan terhadap perbedaan proses dari kedua fungsi tersebut char *my_strcpy(char dest[], char source[]) int i = 0; while (source[i]!= '\0') dest[i] = source[i]; i++; dest[i] = '\0'; return dest; Praktikum Dasar Programming 1 112

E. LAPORAN RESMI 1. Kumpulkan listing program, ilustrasi alokasi memorinya beserta hasil eksekusinya Praktikum Dasar Programming 1 113