BAB IV LARIK DAN PENUNJUK

dokumen-dokumen yang mirip
a. Array berdimensi satu o Setiap elemen array dapat diakses melalui indeks. o Indeks array (subscript) secara default dimulai dari 0.

Larik/ Array int a1, a2, a3, a4, a5;

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

MATRIKS P E N G E N A L A N P R O G R A M S T U D I. Institut Teknologi Sumatera

MODUL. Array (Larik) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

LARIK (ARRAY) Latar Belakang Array

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

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

Array Dimensi Satu. Pendahuluan. Slamet Kurniawan, S.Kom

Identifier dan Tipe Data

VARIABEL & TIPE DATA PEMROGRAMAN C++

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

PENGANTAR KOMPUTER & SOFTWARE 2 MATRIX

BAB XI ARRAY (LARIK)

REVIEW ARRAY. Institut Teknologi Sumatera

Array 1 A. TUJUAN PEMBELAJARAN

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Algoritma Pemrograman & Struktur Data

Pertemuan 2 ARRAY DIMENSI 1 & 2

Pengenalan C++ Oleh : Dewi Sartika

Array. Pengantar. int a, b, c, d, e;

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

Matriks. Tim Pengajar KU1072. KU1072/Pengenalan Teknologi Informasi B Tahap Tahun Pertama Bersama Institut Teknologi Bandung

Pengenalan Array. Array Satu Dimensi

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-2 Array (Larik)

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

1. Tipe Data Sederhana Hanya dimungkinkan untuk menyimpan sebuah nilai data dalam sebuah variabel Ada 5 macam : int, float, double, char, boolen

Array (Larik) Modul 7

Menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan. int nilai[6] = {8,7,5,6,4,3};

DASAR PEMROGRAMAN ARRAY. Array Satu Dimensi Array Dua Dimensi. Yoannita. Some slide from Hermawan,S.Kom

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

I. Tipe Data - Variabel

Konsep Dasar Pemrograman Dan Pengenalan C++

1 Array dan Tipe Data Bentukan

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

Pert 2 Struktur Data (mengajarkomputer.wordpress.com) ARRAY DIMENSI 1 & 2

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

Pertemuan 7. REVIEW dan QUIS

Pertemuan 2 ARRAY DIMENSI 1 & 2

PENGERTIAN VARIABEL, KONSTANTA DAN TIPE DATA

PERTEMUAN 7 REVIEW (QUIZ)

Kurikulum Qt. { Basic OOP } Chapter 3. Array dan String

OPERASI PERNYATAAN KONDISI

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

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

PERTEMUAN 3 KONSEP TIPE DATA

Komentar, Identifier, Konstanta dan Variabel

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

Array merupakan sekumpulan variable dengan tipe yang sama. Elemen dalam array diakses dengan menggunakan indeks-nya.

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester).

PERULANGAN (LOOP) PERNYATAAN WHILE

POINTER. Tim Alpro Teknik Informatika

Bab 2. Dasar-Dasar Pemrograman C

BAB 4 PENGENALAN BAHASA C

ARRAY/LARIK. Overview. Deskripsi. Tujuan Instruksional. Definisi Array/Larik. Definisi Array/Larik. Deskripsi Tujuan Instruksional Array 1 Dimensi

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

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

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

Makalah. STRUKTUR DATA ( Array )

MODUL V POINTER DAN STRING

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

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

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

Pemrograman Dasar A R R A Y

BAB VI TIPE DATA ARRAY

Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N

MATERI IV ARRAY. Materi Praktikum Pemograman Bahasa C++ dengan menggunakan variabel Array


Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

P3 Dasar Struktur Data TIF42/SIF42

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

Konsep Array dalam PBO

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

SINGLE LINKED LIST (NON CIRCULAR)

Struktur Bahasa C dan C++

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Tipe Data dan Variabel

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

MATRIKS. Dapat disimpan secara linier dan kontigu dengan dua alternatif sebagai berikut : a. Per baris

POINTER. Tim Alpro Teknik Informatika

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

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

PEMROGRAMAN BERORIENTASI OBJEK

Algoritma dan Struktur Data. Pertemuan 5 Pointer

LAPORAN PRAKTIKUM V. Oleh:

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

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

6 Modul Praktikum Pemrograman Berorientasi Objek Common Laboratory 2009/2010

Algoritma dan Pemrograman 1. By. Rita Wiryasaputra, ST., M. Cs.

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

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

Universitas Gadjah Mada 1

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

MATA KULIAH : LOGIKA DAN ALGORITMA KONSEP DASAR ALGORITMA

Transkripsi:

BAB IV LARIK DAN PENUNJUK I. DASAR TEORI A. Larik Larik (array) adalah struktrur data yang menyimpan sekumpulan elemen data yang bertipe sama dan memiliki nomor indeks yang berbeda-beda. Setiap elemen diakses melalui nomor indeksnya masing-masing. Indeks larik menyatakan urutan elemen-elemen data dalam larik. Indeks larik harus bertipe data yang menyatakan keterurutan misalnya, integer atau karakter. Dalam C/C++ nomer indeks larik biasanya dimulai dari nomor indeks ke-nol (0). Elemen-elemen data pada larik disimpan dalam suatu lokasi tertentu dimemori secara berurutan sesuai dengan nomor indeksnya. Dalam perhitungan matematika larik biasanya dipakai sebagai vektor atau matrik. 1) Larik Satu Dimensi Larik satu dimensi adalah larik yang anggota-anggotanya hanya menunjukkan deretan data satu arah. Dalam matrik, larik ini dapat digunakan untuk menangani data matrik vektor, baik vektor baris maupun vektor kolom. Gambaran larik satu dimensi dalam C/C++ dapat dilihat pada gambar 4.1 dibawah. Gambar ini menunjukkan struktur Larik Nil [ ] yang berisi enam nilai mahasiswa bertipe data int. Larik ini ditandai dengan nomor indeks yang dimulai dan nomor indeks ke- 0 hingga ke-5. Gambar 4.1 Struktur larik dalam C/C++ Sebelum digunakan atau diakses, larik mesti dideklarasikan atau didefinisikan terlebih dahulu. Bentuk umum pendeklarasian larik adalah : Universitas Gadjah Mada 1

Simbol tipe menyatakan tipe data dari masing masing elemen larik. Simbol nama_larik menyatakan nama pengenal yang diberikan untuk larik tersebut. Sedang jumlah_elemen menunjukkan jumlah data yang dimiliki oleh larik tersebut. Contoh 4.1 int nil_mhs[20]; float berat badan [101]; double data_suhu [10000]; Pengaksesan suatu larik dilakukan dengan pemberian nilai kepada anggota larik atau pengambilan nilai atau data dari anggota larik. Pengaksesan anggota larik tidak diperkenalkan diluar jumlah elemen yang telah didefinisikan pada suatu larik. Pengaksesan diluar jumlah elemen yang telah didefinisikan akan menyebabkan data dan variabel atau larik lain berubah. Disamping itu C++ tidak memberikan pesan kesalahan ketika terjadi pengaksesan diluar jumlah elemen yang telah didefinisikan. Bentuk umum pemberian nilai atau data ke anggota larik adalah: Bagian nama_larik menyatakan nama pengenal dan lank. Bagian indeks menunjukkan nomor elemen atau anggota larik yang akan diakses. Larik dalam C++ dimulai dan nomor indeks nol (0). Bagian data menunjukkan nilai data yang diisikan ke anggota larik. Tipe data dari bagian data harus sesuai dengan tipe data anggota larik. Data yang diisikan ke larik dapat berupa nilai yang dikandung oleh suatu variabel, konstanta atau anggota larik lain. Contoh 4.2 : nil mhs[4] = D ; // elemen ke-4 larik nil mhs [ ] diisi data karakter D berat badan [1] =60 // elemen ke -1 larik berat_badan [ ] diisi bilangan bulat 60 data_suhu[5] = data[6]; // elemen ke-5 larik data_suhu [ ] diisi data elemen // ke-6 larik data [ ] konstanta [1] = pi // elemen ke-1 konstanta [ ] diisi nilai konstanta pi = 3.14 Bentuk umum pengambilan nilai atau data dan anggota larik adalah : Universitas Gadjah Mada 2

Bagian variabel menunjukkan variabel tempat menampung data atau nilai yang telah diambil dati salah satu anggota larik. Tipe data dari variabel harus sesuai dengan tipe data anggota larik. Bagian nama_larik menyatakan nama pengenal dari larik. Bagian indeks menunjukkan nomor elemen atau anggota larik yang akan diakses atau diambil nilainya. Contoh 4.3 : Andi = nil mhs [4] ; // nilai elemen ke - 4 larik nil_mhs [ ] diisikan ke // variabel Andi Ahmad = berat_badan [1] ; // nilai elemen ke -1 larik berat badan [ ] diisikan ke // variabel Ahmad Data [5] = data_suhu [5] ; // nilai elemen ke -5 larik data_suhu [ ] // elemen ke-5 larik_data [ ] Suatu larik dapat juga diinisialisasi atau diberi nilai awal pada saat didefinisikan. Apabila suatu larik diinisialisasi saat didefinisikan, jumlah elemen larik boleh tidak disebutkan. Secara otomatis compiler C++ akan menghitung sendiri jumlah elemen larik. Contoh 4.4 : int jum_hari [ ]= { 31,28,31,30,31,30,31,31,30,31,30,31 Contoh : char nilai [ ] = { A, B, C, D, E } 2) Larik dua dimensi adalah larik yang anggota anggotanya menunjukkan deretan data dua arah atau dua indeks, yakni indeks baris dan kolom. Matrik dua dimensi senng dipakai untuk operasi matrik, dengan memakai indeks baris dan kolom. Lokasi anggota atau elemen larik dua dimensi ditunjukkan oleh indeks baris dan indeks kolomnya. Sehingga pengaksesan elemen larik harus menunjukkan nilai indeks baris dan indeks kolom larik. Gambaran larik banyak dimensi dapat disederhanakan dengan menunjukkan gambaran larik dua dimensi yang menyatakan suatu matrik dengan 5 baris (baris ke-0 hingga baris ke-4 ) dan 4 Universitas Gadjah Mada 3

kolom (kolom ke-0 hingga kolom ke-3) seperti yang terlihat pada gambar 4.2 berikut : Pada larik dua dimensi yang menyatakan matrik diatas, elemen baris ke-1 kolom ke-2 bernilai 0. Sedang elemen baris ke-3 kolom ke-2 bernilai 36. Sebelum dipakai, larik dua dimensi dideklarasikan terlebih dahulu. Bentuk umum pendeklarasian larik banyak dimensi adalah : Bagian tipe menyatakan tipe data dan masing-masing elemen larik. Bagian nama_larik menyatakan nama pengenal yang diberikan untuk larik. Sedang jmi_elemen_1 dan jmi_elemen_2 menunjukkan jumlah anggota larik pada indeks ke-1 dan ke-2. Lokasi data pada larik banyak dimensi ditunjukkan oleh beberapa nomor indeksnya secara serempak. Contoh 4.5 : int A [5][4] ; // larik atau matrik A terdiri atas 5 baris dan 4 kolom float B [4][4] ; // larik atau matrik B terdiri atas 4 baris dan 4 kolom. Pengaksesan larik dua dimensi dilakukan dengan pemberian nilai kepada anggota larik atau pengambilan nilai atau data dan anggota larik. Bentuk umum pengambilan nilai atau data dan anggota larik dua dimensi adalah : Universitas Gadjah Mada 4

Contoh 4.6: A [2] [1] =6; // Pengisian lank A baris ke-2 kolom ke-1 dengan bilangan 6 Nil [3][0] = A ; // Pengisian larik Nil baris ke-3 kolom ke - 0 dengan karakter A Tensor [2][4]= pi ; // Pengisian larik Tensor baris ke - 2 kolom ke 4 dengan nilai // konstanta pi = 4.13 adalah : Bentuk umum pengambilan nilai atau data dan anggota larik dua dimensi Bagian variabel menunjukkan variabel tempat menampung data atau nilai yang telah diambil dari salah satu anggota larik. Tipe data dan variabel harus sesuai dengan tipe data anggota larik. Bagian nama_larik menyatakan nama pengenal dari larik. Bagian indeks_1 dan indeks_2 menunjukkan indeks baris dan kolom anggota larik yang akan diakses. Contoh 4.7: data = A[2][1] ; // Elemen larik A baris ke-2 kolom ke-1 diisikan ke variabel // data Ahmad= NiI[3][0] ; // Elemen larik Nil baris ke-3 kolom ke-0 diisikan ke // variabel Ahmad Suatu larik dua dimensi juga diinisialisasi atau diberi nilai awal pada saat didefinisikan. Andaikan larik dua dimensi yang ditunjukkan pada gambar 4.2 adalah berupa matrik A, maka matrik ini dapat diinisialisasi pada saat pendefinisian larik sebagai berikut : Int A [ ] = { {45, 29, 34, 27 }, {84, 18, 0, 21}, {56, 38, 65, 15 }, {13, 52, 36, 39 }, {8, 3, 42,51} } ; Universitas Gadjah Mada 5

Contoh 4.8. : #include <iostreamh> void main() { int baris, kolom; float A[3][5] = { { 3, 4, 0.6, 32,3 }, { 12, 0.9, 1, 10, 2.6 }, { 2, 1, 0.6, 6, 3 }, cout << Nilai matrik A adalah : <<endl; for (baris =0 ; baris <3; baris ++) { for (kolom=0 ; kolom <5; kolom ++) { cout <<A [banis][kolom] << ; cout <<endl; } } 3) Larik Banyak Dimensi Larik banyak dimensi adalah larik yang anggota-anggotanya menunjukkan deretan data banyak arah atau banyak indeks. Larik banyak dimensi memiliki karakteristik yang mirip dengan matrik dua dimensi, kecuali indeksnya Iebih banyak. Bentuk umum pendeklarasian larik banyak dimensi adalah : Simbol tipe menyatakan tipe data dan masing-masing elemen larik. Bagian larik menyatakan nama pengenal yang diberikan untuk larik. Sedang jml_elemen_1, jml_elemen_2 dan jml_elemen_n menunjukkan jumlah anggota larik pada indeks ke-1, ke-2 hingga ke-n. Lokasi data pada larik banyak dimensi ditunjukkan oleh beberapa nomor indeksnya secara serempak. Contoh 4.9: int A[5][4] [3]; float B[4][4] [4]; Universitas Gadjah Mada 6

Pengaksesan larik banyak dimensi dilakukan dengan pemberian nilai kepada anggota larik atau pengambilan nilai atau data dari anggota larik. Bentuk umum pengambilan nilai atau data dari anggota larik banyak dimensi adalah : Bagian nama_larik menyatakan nama pengenal dan larik. Sedang jml_elemen_1, jml_elemen_2 dan jml_elemen_n menunjukkan jumlah anggota larik pada indeks ke-1, ke-2 hingga ke-n. Bagian data menunjukkan data yang diisikan ke anggota lariik. Tipe data dari bagian data harus sesuai dengan tipe data anggota larik. Data yang diisikan ke larik dapat berupa nilai yang dikandung oleh suatu variabel, konstanta atau anggota larik lain. Contoh 4.10 : A[5][4][3] =4.6; nil[4][4][4] = E konstanta [2][1][O] = pi; Bagian variabel menunjukkan variabel tempat menampung data atau nilai yang telah diambil dan salah satu anggota larik. Bagian nama_larik menyatakan nama pengenal dan larik. Sedang jml_elemen_1, jml_elemen_2 dan jml_elemen_n menunjukkan jumlah anggota larik pada indeks ke-1, ke-2 hingga ke-n. Contoh 4.11. : Ahmad = nil[4][4] [4] ; Data=A[5)[4][3] ; Suatu larik tiga dimensi dapat juga diinisialisasi atau diberi nilai awal pada saat didefinisikan. Contoh 4.12: float A [2] [3] [2] = { } ; { {2, 0.1}, {3.1, 0.7}, {9.6, 0.4}} { {3, 6}, {0.2, 3.2), { 2, 4}}, Universitas Gadjah Mada 7

B. Penunjuk Salah satu ciri bahasa C/C++ yang paling penting adalah penunjuk atau pointer. Tipe data penunjuk adalah tipe data yang berisi nilai alamat atau lokasi data di memori, bukan nilal datanya sendiri. Lokasi memori tersebut selanjutnya dapat diakses dan dimanipulasi lewat penunjuknya. Tipe data penunjuk menyediakan metode pemakaian memori secara dinamis, artinya ruang memori dapat dialokasikan atau dipesan saat akan dipakai serta dapat dialokasikan atau dibebaskan ketika sudah tidak dibutuhkan lagi. Berbeda dengan tipe data biasa dan larik dimana ruang memori dialokasikan selama eksekusi program. Deklarasi penunjuk dilakukan dengan menspesifikasikan * sebelum nama variabel / konstanta. Penunjuk dapat dipakali untuk operasi dengan tipe data biasa ataupun larik 1) Penunjuk Tipe Data Biasa Penunjuk tipe data biasa adalah penunjuk yang isinya menunjukkan lokasi memori tempat menyimpan data biasa, bukan larik. Bentuk umum pendeklarasian penunjuk untuk operasi dengan tipe data biasa adalah : Bagian tipe menunjukkan tipe data penunjuk. Sedang bagian nama penunjuk menunjukkan nama yang diberikan untuk penunjuk tersebut. Contoh 4.13 : int * pnilai; int* pharga; char * pkarakter; Lokasi memori yang akan ditunjuk oleh penunjuk yang tetah dideklarasikan harus dialokasikan atau dipesan terlebih dahulu sebelum dipakai untuk menyimpan data. Jika tidak dialokasikan, maka penunjuk akan menunjuk ke lokasi memori yang tidak tepat. Pengalokasian memori untuk penunjuk yang memakai tipe data biasa berbeda dengan pengalokasian memori untuk larik. Pengalokasian memori untuk tipe data biasa dalam bahasa pemprogaman C++ memiliki bentuk umum sebagai berikut : Universitas Gadjah Mada 8

Contoh 4.14 : pnilai = new int; pharga = new float; pkarakter = new char, Pendeklarasian penunjuk juga dapat digabung dengan pengalokasian memori yang memiliki bentuk sebagai berikut : Contoh 4.15 : int* pnilai = new int; float *pharga= new float; char *pkarer = new char; Pengaksesan penunjuk merupakan pemberian nilai ke atau pembacaan nilai dan lokasi memori yang ditunjuk oleh penunjuk. Bentuk umum pemberian nilai ke lokasi memori yang ditunjuk oleh penunjuk adalah : Bagian nama_penunjuk menunjukkan nama yang diberikan untuk penunjuk. Bagian data menunjukkan nilai data yang diisikan ke lokasi memori yang ditunjuk oleh penunjuk. Tipe data dari bagian data harus sesuai dengan tipe data yang ada pada lokasi memori yang ditunjuk oleh penunjuk dapat berupa nilai yang dikandung oleh suatu variabel, konstanta atau lokasi memori yang ditunjuk oleh penunjuk lain. Contoh 4.16 : Pnilai = 73 Pharga = 2.87; Pkarakter = B Bentuk umum pengambilan nilai dari lokasi memori yang ditunjuk oleh penunjuk adalah : Universitas Gadjah Mada 9

Bagian variabel menunjukkan variabel tempat menampung data atau nilai yang telah diambil dari lokasi memori yang ditunjuk oleh petunjuk. Tipe data dari variabel harus sesuai dengan tipe data dari nilai yang ada di lokasi memori yang ditunjuk oleh penunjuk. Bagian nama_penunjuk menunjukkan nama yang diberikan oleh penunjuk. Contoh 4.17: ahmad = pnilai; data =pharga; huruf= pkarakter; Setelah data yang disimpan pada lokasi memori yang ditunjuk oleh penunjuk tidak pakai lagi, maka lokasi memori itu dapat didealokasi (dibebaskan atau dikosongkan). Pembebasan lokasi memori arti lokasi memoni yang ditunjuk oleh penunjuk tidak dipakai lagi dan dapat dipakai untuk kepentingan yang lain. Data atau nilai yang tersimpan pada lokasi memori tersebut akan hilang. Penunjuk dapat menunjuk ke lokasi memori yang lain jika diperlukan dengan terlebih dahulu mengalokasikan atau memesan ruang memori tersebut. Bentuk umum pendealokasian lokasi memori yang ditunjuk oleh penunjuk adalah : Kata kunci delete menunjukan operasi pembebasan atau pendealokasian lokasi memori yang ditunjuk oleh penunjuk. Contoh 4.18: delete pnilai; delete pharga; delete pkarakter; 2) Penunjuk Larik Penunjuk larik adalah penunjuk yang isinya menunjukkan lokasi memori tempat menyimpan data larik. Bentuk umum pendeklarasian penunjuk untuk operasi dengan larik adalah : Bagian tipe menunjukkan tipe data penunjuk. Sedang bagian nama_penunjuk menunjukkan nama yang diberikan untuk penunjuk tersebut. Universitas Gadjah Mada 10

Contoh 4.19 : int * pdata int * psuhu; char * pnilai; Pengalokasian memori untuk penunjuk yang memakai tipe data larik dalam bahasa pemprograman C++ memiliki bentuk umum sebagai berikut : Bagian nama_petunjuk menunjukkan nama yang diberikan untuk penunjuk. Kata kunci new menunjukkan operasi pengalokasian ruang memori. Sedang baian tipe menunjukkan tipe data dan anggota-anggota larik yang disimpan pada lokasi memori yang ditunjuk oleh penunjuk. Bagian jumlah_elemen menunjukkan jumlah elemen data yang dimiliki larik yang disimpan pada lokasi memori yang ditunjuk oleh penunjuk. Contoh 4.20 : pdata = new int [50]; psuhu = new float [100]; pnilai = new char [601]; Pendeklarasian penunjuk untuk larik juga dapat digabung dengan pengalokasian lokasi memori yang memiliki bentuk sebagai berikut : Pengaksesan penunjuk untuk larik merupakan pemberian nilai ke atau pembacaan nilai dan salah satu elemen atau anggota larik yang ada pada lokasi memori yang ditunjuk oleh penunjuk. Bentuk umum pemberian nilai ke salah satu elemen atau anggota larik yang ada pada lokasi memori yang ditunjuk oleh penunjuk adalah : Bagian nama_penunjuk menunjukkan nama yang diberikan untuk penunjuk. Bagian data menunjukkan nilal data yang diisikan ke elemen atau anggota larik yang ada pada lokasi memori yang ditunjuk oleh penunjuk. Tipe data dan bagian data harus sesuai dengan tipe data anggota larik. Data yang diisikan ke lokasi Universitas Gadjah Mada 11

memori yang ditunjuk oleh penunjuk dapat berupa nilai yang dikandung oleh suatu variabel, konstanta atau anggota larik lain lain. Sedang bagian indeks menunjukkan nomor unit elemen atau anggota larik yang dibaca. Contoh 4.22 : pdata [3] = 100; psuhu [0] = 50.3; pnilai [23] = D ; Bentuk umum pengambilan nilai dan salah satu elemen atau anggota larik yang ada pada lokasi memori yang ditunjuk oleh penunjuk adalah : Setelah larik yang disimpan pada lokasi memori yang ditunjuk oleh penunjuk tidak pakai lagi, maka lokasi memori itu dapat didealokasi (dibebaskan atau dikosongkan). Bentuk umum pendealokasian lokasi memoriyang dipakai untuk larik adalah : Kata kunci delete diikuti oleh nama_penunjuk dan tanda [ ] menunjukan operasi pembebasan atau pendealokasian lokasi memoni bensi lank yang ditunjuk oleh penunjuk. Contoh 4.24: delete pdata []; delete psuhu []; delete pnilai []; Universitas Gadjah Mada 12

II. STUDI KASUS Studi Kasus 1 Berikut ini ditunjukkan program untuk menghitung rata rata dengan menggunakan larik. Studi Kasus 2 Berikut ini ditunjukkan program untuk menghitung rata-rata data dengan menggunakan penunjuk. Universitas Gadjah Mada 13

Studi Kasus 3 Berikut ini ditunjukkan program untuk mengurutkan data dan kecil ke besar dengan menggunakan larik. Studi Kasus 4 Berikut ini ditunjukkan program untuk menghitung mean dan modus data dengan menggunakan fungsi dan penunjuk. Universitas Gadjah Mada 14

Studi Kasus 5 Berikut ini ditunjukkan program untuk menghitung penjumlahan dua buah matrik orde 4x4 dengan nilai tiap matrik sudah diinisialisasi diawal program. Universitas Gadjah Mada 15

Studi Kasus 6 Berikut ini ditunjukkan program untuk menghitung perkalian dua buah matrik orde 4x4 dengan nilai tiap matrik sudah diinisialisasi diawal program. Universitas Gadjah Mada 16

III. LATIHAN Latihan I Buatlah program untuk mengurutkan data dan besar ke kecil dengan menggunakan penunjuk dan fungsi. Latihan 2 Buatlah program untuk menghitung perbedaan suhu rata-rata dua tempat yang diukur pada saat yang sama dengan menggunakan penunjuk sebagai tempat penyimpanan data. Latihan 3 Buat program dengan menggunakan fungsi dan penunjuk untuk menghitung median, deviasi standar dan variansi dan sekumpulan data. Petunjuk : Jika dipunyai i data x i yang berjumlah N maka : Universitas Gadjah Mada 17

Latihan 4 Tulislah program dengan menggunakan fungsi untuk menghitung hambatan pengganti dan N resistor yang dipasang secara seri atau paralel. Masukan dan program ini adalah jumlah resistor (N) dan N bilangan real yang masing-masing menyatakan besamya hambatan pengganti jika N resistor tersebut dipasang secara seri maupun paralel. Petunjuk : - Hambatan pengganti dari N resistor, R1, R2, R3,, R N yang dipasang seri adalah : - Hambatan pengganti dari N resistor, R1, R2, R3,, R N yang dipasang paralel adalah : Latihan 5 Buatlah program untuk menghitung penjumlahan, pengurangan dan perkalian matrik dengan menggunakan fungsi dan penunjuk. Latihan 6 Buatlah program untuk menghitung determinan matrik orde nxn dengan menggunakan larik. Latihan 7 Buatlah program untuk menghitung myers dan matrik orde nxn dengan menggunakan larik. Latihan 8 Buatlah program untuk menghitung titik pusat masa dari n buah masa partikel yang diketahui koordinat titik-titik partikelnya dalam sistem koordinat kartesian tiga dimensi. Data masa dan koordinat partikel dapat diletakkan dalam larik atau penunjuk. Universitas Gadjah Mada 18

Latihan 9 Tulislah program dengan menggunakan fungsi untuk menghitung kapasitansi pengganti dan N kapasitor yang dipasang secara seri atau paralel. Masukan dari program ini adalah jumlah kapasitor (=N) dan N bilangan real yang masing masing menyatakan besarnya kapasitansi pengganti jika N kapasitor tersebut dipasang secara seri maupun paralel. Universitas Gadjah Mada 19