Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

dokumen-dokumen yang mirip
A. TUJUAN PEMBELAJARAN

04. Single Linked List

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

ASD. Alokasi Memori Dinamis

Algoritma dan Struktur Data. Pertemuan 6 Alokasi Memori Dinamis

Algoritma dan Struktur Data. Ramos Somya

POINTER. Tim Alpro Teknik Informatika

Pointer. Yuliana Setiowati

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Pendahuluan Pemrograman Mikrokontroler

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

POINTER. Tim Alpro Teknik Informatika

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Review : Sifat Implementasi Linear List dengan Array

Algoritme dan Pemrograman

Algoritma dan Struktur Data. Linked List

01. Review Array, Pointer dan Struktur

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

Pemrograman Dasar C. Minggu 10

Single Linked List (1)

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

SINGLE LINKED LIST (NON CIRCULAR)

KONSEP POINTER DAN LINKED LIST

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

LIST. Dewi Sartika, M.Kom

Linked List 6.3 & 7.3 NESTED LOOP

Pemrograman Dasar C. Minggu 9

MODUL II VARIABEL, TIPE DATA & KONSTANTA

Tipe Data, Variabel, Input/Output

KONSEP POINTER DAN LINKED LIST

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

Pointer. ted = &andy;

05. Double Linked List

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

ALGORITMA DAN STRUKTUR DATA

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

Tipe Data. Pendahuluan. Objektif. Bahan Bacaan

Struct Lanjutan: Studi Kasus

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST

Algoritme dan Pemrograman

BAHASA PEMROGRAMAN C

KONSEP POINTER DAN LINKED LIST

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Tipe Data dan Operator

Modul Praktikum Algoritma dan Struktur Data

Modul 1 Dasar Dasar Bahasa Pemrograman C

Minggu ke-3 Tipe Data Dalam C

REPRESENTASI FISIK LIST LINEAR

Achmad Solichin.

Achmad Solichin.

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Bahasa C Array. Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha

List Linear (Linked List) Farah Zakiyah Rahmanti 2014

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Algoritma dan Struktur Data Praktikum 3. Pointer

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

KONSEP DASAR BAHASA C

MODUL 9 STRUCT (STRUKTUR)

Algoritma dan Struktur Data. Pointer Pada Struct

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Minggu ke-11 Fungsi (Function)

Bahasa C-M6 By Jamilah, Skom 1

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

Fungsi : Dasar Fungsi

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

MAKALAH POINTER PADA BAHASA C

DISUSUN OLEH BAB III OPERAS. macam, yaitu: baru. karakter. Tipe. Tipe Data. Tetapi. dataa tersebut. HAL 1

C Programming (re-view)

ARRAY. Karakteristik

INTERAKSI ANTAR OBJECT

Pengenalan Struktur Data dan Algoritma

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

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

STRUKTUR DATA Pertemuan 1 s.d 8

PRAKTIKUM 11 POINTER 1

Algoritma Pemrograman & Struktur Data

PERTEMUAN IX DATA TINGKAT LANJUT

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

FUNCTIONS. Function adalah satu blok instruksi yang akan dieksekusi ketika dipanggil dari bagian lain dalam suatu program.

Struktur Program Bahasa C

P 4 Bab 3 : Dasar Pemrograman C

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

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

Pre Lab P 03 Tipe Data, Operator dan Expresi

KU-1072 PENGENALAN TEKNOLOGI INFORMASI B (PTI B)

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

VARIABEL & TIPE DATA PEMROGRAMAN C++

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

SINGLE LINKED LIST NON CIRCULAR (SENARAI BERANTAI TUNGGAL TIDAK BERPUTAR)

Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit

BAB 3. OPERATOR DALAM BHS C

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

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

BAB 6 FUNGSI TUJUAN PRAKTIKUM

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

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

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

Program menjadi terstruktur Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk :

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

Transkripsi:

Pengenalan Struktur Data Farah Zakiyah Rahmanti 2014

Definisi Skema organisasi, seperti struktur dan array, yang diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasoperasi spesifik dapat dilaksanakan pada data tersebut.

Latar Belakang Tipe data cenderung menggunakan ukuran yang tetap. Pada beberapa kasus, ukuran dari sebuah obyek tidak bisa dipastikan sampai dengan waktu dieksekusi (run time). Alokasi memori (memory allocation) menyediakan fasilitas untuk membuat ukuran buffer dan array secara dinamik. Dinamik artinya bahwa ruang dalam memori akan dialokasikan ketika program dieksekusi.

Pointer Suatu variable yang dipakai untuk menyimpan alamat dari suatu data Pointer tidak berisi nilai dari data, akan tetapi berisi alamat dari data Berguna untuk pengalokasian memori secara dinamis

Pointer Bentuk umum : int *data_address; Untuk mengetahui alamat dari data, dapat dipakai tanda & : data_address = &data;

Pointer int x; int *y; alamat data... x = 2; y = &x;

Sizeof () Untuk mendapatkan ukuran dari berbagai tipe data, variabel ataupun struktur Return value : ukuran dari obyek yang bersangkutan dalam byte Parameter dari sizeof() : sebuah obyek atau sebuah tipe data

typedef struct employee_st { char name[40]; int id; } employee; main () { int myint; employee john; printf( size of int is %d\n, sizeof(myint)); printf( size of int is %d\n, sizeof(int)); printf( size of Employee is %d\n, sizeof(employee)); printf( size of john is %d\n, sizeof(john)); printf( size of char is %d\n, sizeof(char)); printf( size of short is %d\n, sizeof(short)); printf( size of long is %d\n, sizeof(long)); printf( size of float is %d\n, sizeof(float)); printf( size of double is %d\n, sizeof(double)); } return 0;

Malloc () Fungsi standar yang digunakan untuk mengalokasikan memori Bentuk prototypenya adalah void *malloc (int jml_byte) Banyaknya byte yang akan dipesan dinyatakan sebagai parameter fungsi Return value dari fungsi ini adalah sebuah pointer yang tak bertipe (pointer to void) yang menunjuk ke buffer yang dialokasikan Pointer tersebut haruslah dikonversi kepada tipe yang sesuai (dengan menggunakan type cast) agar bisa mengakses data yang disimpan dalam buffer

int *x; Malloc () X = (int *)malloc(3*sizeof(int)); if (x==null) { printf( error on malloc\n ); exit(0); } else { } //... Jika proses alokasi gagal dilakukan, fungsi ini akan memberikan return value berupa sebuah pointer NULL Sebelum dilakukan proses lebih lanjut, perlu terlebih dahulu dipastikan keberhasilan proses pemesanan memori

int *p; P = (int *)malloc(3*sizeof(int));

Free () Membebaskan kembali memori Jika bekerja dengan menggunakan memori yang dialokasikan secara dinamis, maka seorang programmer haruslah membebaskan kembali memori yang telah selesai digunakan untuk dikembalikan kepada sistem. Setelah suatu ruang memori dibebaskan, ruang tersebut bisa dipakai lagi untuk alokasi variable dinamis lainnya.

Free() #include <stdio.h> #include <stdlib.h> Main() { char *pblok; pblok = (char *)malloc(500*sizeof(char)); } if (pblok == NULL) puts( error on malloc ); else { puts( OK, memory allocation has been done ); puts( ------- ); free(pblok); puts( free memory well done ); }

Realloc () Mengalokasikan ulang memori Ketika hendak mengalokasikan memori, user tidak pasti berapa besar lokasi yang dibutuhkannya. Misalnya user tersebut memesan 500 lokasi, ternyata setelah proses pemasukan data membutuhkan lebih dari 500 lokasi dan dialokasikan kembali menjadi 600. Maka user dapat mengalokasikan ulang memori yang dipesannya dengan menggunakan fungsi realloc(); Fungsi ini akan mengalokasikan kembali pointer yang sebelumnya telah diatur untuk menunjuk sejumlah lokasi, memberinya ukuran yang baru (bisa jadi lebih besar atau lebih kecil)

Realloc ()... pblok = (char *)malloc(500*sizeof(char));...... pblok = realloc(pblok, 600*sizeof(char));

Struct Cara pengelompokan data dengan nama yang sama, akan tetapi dapat mempunyai tipe-tipe yang berbeda Struktur biasa dipakai untuk pengelompokan beberapa informasi yang berkaitan menjadi sebuah satu kesatuan Deklarasi struct : struct nameofstruct { type data1;... type datan; } var1,..., varn;

Deklarasi Struct struct data_siswa{ int nrp; char nama[20]; }; struct data_siswa siswa; struct data_tanggal{ int tanggal; int bulan; int tahun; } tanggal_lahir; Struct data_tanggal tanggal lahir;

Inisialisasi Struct struct data_siswa{ int nrp; char nama[20]; } siswa = {7, agus };

struct data_tanggal{ int tanggal; int bulan; int tahun; } tanggal_lahir; Mengakses Struct tanggal_lahir.date = 17; tanggal_lahir.month = 8; tanggal_lahir.year = 1945; Mengakses struct dapat dilakukan dengan menyebutkan nama variabel struct dan diiringi dengan data pada struct yang ingin diakses (dipisahkan dengan tanda.)

Struct dalam struct struct data_tanggal{ int tanggal; int bulan; int tahun; }; struct data_siswa { int nrp; char nama[20]; struct data_tanggal tanggal_lahir; } siswa; Student.tanggal_lahir.tanggal = 17;