TI

Pertanyaan

Contoh program pointer dan function?

1 Jawaban

  • 1 STRUKTUR DATA (5) Pointer dan Function

    2 Pointer
    Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memori tertentu.
    Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori.
    Lokasi memori tersebut bisa diwakili sebuah variabel atau dapat juga berupa nilai alamat memori secara langsung.


    3 Ilustrasi Pointer
    Kita memiliki variabel X yang berisi nilai karakter ‘a’
    Oleh kompiler C, nilai ‘a’ ini akan disimpan di suatu alamat tertentu di memori.
    Alamat variabel X dapat diakses dengan menggunakan statemen &X.
    Jika kita ingin menyimpan alamat dari variabel X ini, kita dapat menggunakan suatu variabel
    misalnya alamat_x = &X;
    alamat_x adalah suatu variabel yang berisi alamat dimana nilai X, yaitu ‘a’ disimpan.
    Variabel alamat_x disebut variabel pointer atau sering disebut pointer saja.


    4 Contoh Program #include <stdio.h> void main(){ char *alamat_x;
    char X;
    X = ‘a’;
    alamat_x = &X;
    printf(“Nilai variabel X, yaitu %c, disimpan pada alamat %p”,X,alamat_x);
    }

    5 Pointer vs Variabel Biasa

    6 Operator Pointer

    7 Contoh Pointer dideklarasikan dengan cara:
    tipe_data *nama_variabel_pointer;
    Contoh inisialisasi pointer, contoh:
    #include <stdio.h>
    void main(){
    float nilai,*alamat=&nilai;
    nilai = 25.2;
    printf(“nilai %7.2f berada di alamat memori %p\n”,nilai,alamat);
    printf(“isi nilai dari pointer alamat adalah %7.2f”,*alamat);
    }

    8 Aturan Variabel pointer dapat dideklarasikan dengan tipe data apapun.
    Pendeklarasian variabel pointer dengan tipe data tertentu digunakan untuk menyimpan alamat memori yang berisi data sesuai dengan tipe data yang dideklarasikan, bukan untuk berisi nilai bertipe data tertentu.
    Tipe data digunakan sebagai lebar data untuk alokasi memori (misal char berarti lebar datanya 1 byte, dst)
    Misalnya jika suatu variabel pointer dideklarasikan dengan tipe float, berarti variabel pointer tersebut hanya bisa digunakan untuk menunjuk alamat memori yang berisi nilai dengan tipe float.


    9 Contoh yang salah Contoh hal yang salah: #include <stdio.h>
    void main(){
    long int nilai = 9002;
    int *alamat_salah;
    alamat_salah = &nilai;
    printf("nilainya adalah %ld\n",*alamat_salah);
    }

    10 Operasi pada Pointer Operasi assignment
    Antar variabel pointer dapat dilakukan operasi assignment.
    Contoh 1: Assignment dan sebuah alamat dapat ditunjuk oleh lebih dari satu pointer
    Contoh 2: Mengisi variabel dengan nilai yang ditunjuk oleh sebuah variabel pointer
    Contoh 3: Mengoperasikan isi variabel dengan menyebut alamatnya dengan pointer
    Contoh 4: Mengisi dan mengganti variabel yang ditunjuk oleh pointer


    11 Operasi pada Pointer (2)
    Operasi aritmatika
    Variabel pointer dapat dilakukan operasi aritmatika yang akan menunjuk suatu alamat memori baru.
    Hanya nilai integer saja yang bisa dioperasikan pada variabel pointer.
    Biasanya hanya operasi penambahan/pengurangan saja.
    Misal pointer X bertipe int (2 bytes), maka X+1 akan menunjuk pada alamat memori sekarang (mis. 1000) ditambah sizeof(X), yaitu 2, jadi 1002.
    Lihat contoh


    12 Pointer pada Array
    Pada array, pointer hanya perlu menunjuk pada alamat elemen pertama saja karena letak alamat array sudah berurutan pada memori.
    Variabel pointer hanya perlu increment
    Lihat contoh-contoh!


    13 Function
    Fungsi/function adalah bagian dari program yang memiliki nama tertentu yang unik, digunakan untuk mengerjakan suatu pekerjaan tertentu, serta letaknya dipisahkan dari bagian program yang menggunakan/memanggil fungsi tersebut.


    14 Keuntungan Function
    Dapat melakukan pendekatan top-down dan divide-and-conquer: program besar dapat dipisah menjadi program-program kecil.
    Dapat dikerjakan oleh beberapa orang sehingga koordinasi mudah.
    Kemudahan dalam mencari kesalahan-kesalahan karena alur logika jelas dan kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
    Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan.
    Mempermudah dokumentasi.
    Reusability: Suatu fungsi dapat digunakan kembali oleh

Pertanyaan Lainnya