Achmad Solichin.

dokumen-dokumen yang mirip
BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Achmad Solichin.

BAB 5 PERULANGAN DAN ARRAY

PRAKTIKUM 11 POINTER 1

PRAKTIKUM 11 POINTER 1

xxxx alamat Praktikum 11 POINTER

POINTER DASAR PEMROGRAMAN

POINTER. Pemrograman Bahasa C++

POINTER I. Oleh : Mike Yuliana PENS-ITS

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

BAB VIII POINTER. Tujuan :

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

MAKALAH POINTER PADA BAHASA C

OPERATOR BAHASA C. Obyektif : 4. Mengetahui macam-macam operator dalam Bahasa C. 5. Mengetahui dan dapat menggunakan format pada tiap tipe data..

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

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu :

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

Algoritma dan Struktur Data Praktikum 3. Pointer

Tipe Data dan Operator

01. Review Array, Pointer dan Struktur

Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4]

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

Pointer. Objektif. Bahan Bacaan

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

PRAKTIKUM 12 POINTER 2

Algoritma Pemrograman. Fery Updi,M.Kom

Pointer (Penunjuk) Modul 6

BAB X. Struct Dalam C++, kita dapat membuat sebuah tipe data baru. Maka penulisan variabel baru kita akan menjadi:

Pointer. Yuliana Setiowati

By : Agus Priyanto, M.Kom ST3 Telkom Purwokerto Structure and Pointer

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

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

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

BAB III POINTER. Type *variabel-name

P3 Dasar Struktur Data TIF42/SIF42

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

POINTER. Tim Alpro Teknik Informatika

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

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

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

P 4 Bab 3 : Dasar Pemrograman C

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

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

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C

PRAKTIKUM 12 POINTER 2

A R R A Y. Bentuk umum deklarasi array : type nama_array[ukuran] tipe : menyatakan tipe dasar array ukuran : menyatakan banyaknya elemen pada array

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

VARIABEL & TIPE DATA PEMROGRAMAN C++

Minggu ke-11 Fungsi (Function)

Praktikum 1. Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran];

Bab 2. Dasar-Dasar Pemrograman C

Pendahuluan Pemrograman Mikrokontroler

Teknik Pemrograman Terstruktur 1

elemen Dasar Bahasa Pemrograman C

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

POINTER. Tim Alpro Teknik Informatika

Minggu ke-14 Typedef, Struct & Command Line Argument

LOGIKA ALGORITMA. Pertemuan 4. By: Augury

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Pemrograman Dasar C. Minggu 9

POINTER. Konsep Dasar

MODUL V POINTER DAN STRING

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Address and Pointers. Pointer

Chapter 1 KONSEP DASAR C

Algoritme dan Pemrograman

MENAMPILKAN HASIL Operasi Keluaran (Output)

ALGORITMA (2) Mengupas Kentang

Dasar Pemrograman Java

Tipe Data Dasar. Data bisa dinyatakan dalam bentuk konstanta atau variabel.

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Tipe Data dan Variabel

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

Bahasa C-M6 By Jamilah, Skom 1

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

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-10 Pointer 1

04. Single Linked List

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Fungsi Lanjut DASAR PEMROGRAMAN

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

Algoritma Pemrograman. Fery Updi,M.Kom

Tipe Data Dasar. Berdasarkan jenisnya, data dapat dibagi menjadi lima kelompok dinamakan tipe data dasar, yaitu:

Berhitung dengan mudah dan cepat menggunakan freeware Eigenmath

PRAKTIKUM 3 DASAR PEMROGRAMAN C

OPERATOR & UNGKAPAN. Contoh operator : a + b Simbol + merupakan operator untuk melakukan operasi penjumlahan dari kedua operandnya ( yaitu a dan b ).

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Fungsi : Dasar Fungsi

Fungsi, Parameter, Rekursi

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

BAHASA PEMROGRAMAN C LANGUAGE

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

Transkripsi:

Pemrograman Bahasa C dengan Turbo C Sh-001@plasa.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. Bab VIII Pointer 1 PENGERTIAN POINTER Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua Operator Pointer ada dua, yaitu : Operator & Operator & bersifat unary (hanya memerlukan satu operand saja). Operator & menghasilkan alamat dari operandnya. Operator * Operator * bersifat unary (hanya memerlukan satu operand saja). Operator * menghasilkan nilai yang berada pada sebuah alamat. 2 DEKLARASI POINTER Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. Bentuk Umum : Tipe_data *nama_pointer; 1

Tipe data pointer mendefinisikan tipe dari obyek yang ditunjuk oleh pointer. Secara teknis, tipe apapun dari pointer dapat menunjukkan lokasi (dimanapun) dalam memori. Bahkan operasi pointer dapat dilaksanakan relatif terhadap tipe dasar apapun yang ditunjuk. Contoh, ketika kita mendeklarasikan pointer dengan tipe int*, kompiler akan menganggap alamat yang ditunjuk menyimpan nilai integer - walaupun sebenarnya bukan (sebuah pointer int* selalu menganggap bahwa ia menunjuk ke sebuah obyek bertipe integer, tidak peduli isi sebenarnya). Karenanya, sebelum mendeklarasikan sebuah pointer, pastikan tipenya sesuai dengan tipe obyek yang akan ditunjuk. Contoh : int *px; char *sh; { int x, y; /* x dan y bertipe int */ int *px; /* px pointer yang menunjuk objek */ x = 87; px = &x; /* px berisi alamat dari x */ y = *px; /* y berisi nilai yang ditunjuk px */ printf( Alamat x = %p\n, &x); printf( Isi px = %p\n, px); printf( Isi x = %i\n, x); printf( Nilai yang ditunjuk oleh px = %i\n, *px); printf( Nilai y = %i\n, y); 3 OPERASI POINTER Operasi Penugasan Suatu variable pointer seperti halnya variable yang lain, juga bisa mengalami operasi penugasan. Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain. { float *x1, *x2, y; y = 13.45; x1 = &y; /* Alamat dari y disalin ke variabel x1 */ x2 = x1; /* Isi variabel x1 disalin ke variabel x2 */ printf( Nilai variabel y = %.2f ada di alamat %p\n, y, x1); printf( Nilai variabel y = %.2f ada di alamat %p\n, y, x2); 2

Operasi Aritmatika Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan. Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya) dalam memori. Begitu juga operasi pengurangan. { int nilai[3], *penunjuk; nilai[0] = 125; nilai[1] = 345; nilai[2] = 750; penunjuk = &nilai[0]; printf( Nilai %i ada di alamat memori %p\n, *penunjuk, penunjuk); printf( Nilai %i ada di alamat memori %p\n, *(penunjuk+1), penunjuk+1); printf( Nilai %i ada di alamat memori %p\n, *(penunjuk+2), penunjuk+2); Operasi Logika Suatu pointer juga dapat dikenai operasi logika. { int a = 100, b = 200, *pa, *pb; pa = &a; pb = &b; if(pa < pb) printf( pa menunjuk ke memori lebih rendah dari pb\n ); if(pa == pb) printf( pa menunjuk ke memori yang sama dengan pb\n ); if(pa > pb) printf( pa menunjuk ke memori lebih tinggi dari pb\n ); 4 POINTER DAN STRING Contoh Program 1 : char *nama1 = SPIDERMAN ; char *nama2 = GATOTKACA ; { char namax; 3

puts( SEMULA : ); printf( Saya suka >> %s\n, nama1); printf( Tapi saya juga suka >> %s\n, nama2); /* Penukaran string yang ditunjuk oleh pointer nama1 dan nama2 */ printf( SEKARANG : ); printf( Saya suka >> %s\n, nama1); printf( Dan saya juga masih suka >> %s\n, nama2); Contoh Program 2 : #include <stdio.h> void misteri1(char *); { char string[] = "characters"; printf("string sebelum proses adalah %s", string); misteri1(string); printf("string setelah proses adalah %s", string); void misteri1(char *s) { while ( *s!= '\0' ) { if ( *s >= 'a' && *s <= 'z' ) *s -= 32; ++s; 5 POINTER MENUNJUK SUATU ARRAY { static int tgl_lahir[] = { 13,9,1982 ; int *ptgl; ptgl = tgl_lahir; /* ptgl berisi alamat array */ printf( Diakses dengan pointer ); printf( Tanggal = %i\n, *ptgl); printf( Bulan = %i\n, *(ptgl + 1)); printf( Tahun = %i\n, *(ptgl + 2)); printf( \ndiakses dengan array biasa\n ); printf( Tanggal = %i\n, tgl_lahir[0]); printf( Bulan = %i\n, tgl_lahir[1]); printf( Tahun = %i\n, tgl_lahir[2]); 4

6 MEMBERI NILAI ARRAY DENGAN POINTER { int x[5], *p, k; p = x; x[0] = 5; /* x[0] diisi dengan 5 sehingga x[0] = 5 */ x[1] = x[0]; /* x[1] diisi dengan x[0] sehingga x[1] = 5 */ x[2] = *p + 2; /* x[2] diisi dengan x[0] + 2 sehingga x[2] = 7 */ x[3] = *(p+1) 3; /* x[3] diisi dengan x[1] - 3 sehingga x[3] = 2 */ x[4] = *(x + 2); /* x[4] diisi dengan x[2] sehingga x[4] = 7 */ for(k=0; k<5; k++) printf( x[%i] = %i\n, k, x[k]); LATIHAN 8 Apa yang tercetak dari program-program berikut ini? 1. #include <stdio.h> void misteri2(const char *); main() { char *string = "ilmu komputer"; misteri2(string); putchar('\n'); return 0; void misteri2(const char *s) { for ( ; *s!= '\0' ; s++ ) putchar(*s); 2. #include <stdio.h> int misteri3(const char *); { char string[80]; printf("ketik sebuah string : "); scanf("%s", string); printf("%d\n", misteri3(string)); int misteri3(const char *s) { int x = 0; for ( ; *s!= '\0' ; s++) 5

++x; return x; 6