PERTEMUAN IX DATA TINGKAT LANJUT

dokumen-dokumen yang mirip
LATIHAN DAN KISI-KISI SOAL JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

Pertemuan 11. Tipe data Struktur (Struct) dan Union

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

Achmad Solichin.

KONSEP DASAR BAHASA C

BAB 3. OPERATOR DALAM BHS C

POINTER DASAR PEMROGRAMAN

Bab 2. Dasar-Dasar Pemrograman C

Struct Lanjutan: Studi Kasus

BAB 4 PENGENALAN BAHASA C

Chapter 3.2 : Tipe, Nama dan Nilai

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

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

ALGORITMA (2) Mengupas Kentang

Struktur Program Bahasa 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:

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

Tipe Data. Adri Priadana

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

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

P 4 Bab 3 : Dasar Pemrograman C

Tipe Data, Variabel, Input/Output

Fungsi DASAR PEMROGRAMAN

Bahasa C-M6 By Jamilah, Skom 1

STRUKTUR DATA Pertemuan 1 s.d 8

Chapter 1 KONSEP DASAR C

Pemrograman Dasar C. Minggu 9

Pertemuan 7. Tipe Data Sederhana

Fungsi : Dasar Fungsi

STRING DASAR PEMROGRAMAN

MODUL 9 STRUCT (STRUKTUR)

VARIABEL & TIPE DATA PEMROGRAMAN C++

Linked List 6.3 & 7.3 NESTED LOOP

Algoritma dan Struktur Data. Pointer Pada Struct

STRUCTURE. Structure

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

PERTEMUAN 3 KONSEP TIPE DATA

KONSEP STRING. Nilai string selalu diakhiri dengan tanda NULL (\0)

01. Review Array, Pointer dan Struktur

POINTER. Tim Alpro Teknik Informatika

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

Pendahuluan Pemrograman Mikrokontroler

ARRAY. Karakteristik

DATA PADA BAHASA C TIPE DATA

Algoritma dan Struktur Data. Pertemuan 5 Pointer

I. Tipe Data - Variabel

BAHASA PEMROGRAMAN C

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

Tipe Data dan Variabel

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

Pemrograman Terstruktur. Pemrosesan File Teks dan File Biner

VIII MANIPULASI STRING

Modul 1 Dasar Dasar Bahasa Pemrograman C

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

3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

Data bisa dinyatakan dalam bentuk konstanta atau variabel.

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

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

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

Pengenalan C++ Oleh : Dewi Sartika

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

Fungsi DASAR PEMROGRAMAN

PRAKTIKUM 10 STRING A B C D E \0. Gambar 11.1 Komposisi penyimpanan string dalam memori

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

BAB III Pengenalan Tipe Data dan Bahasa Pemrograman C/C++

elemen Dasar Bahasa Pemrograman C

ALGORITMA DAN STRUKTUR DATA

A B C D E \0. Gambar Komposisi penyimpanan string dalam memori

Tipe Data dan Operator

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

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

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

Dasar Pemrograman Komputer [TKL-4002] 2010

Mengukur Atribut Produk Internal: UKURAN

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

ARRAY DIMENSI SATU Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0.

SINGLE LINKED LIST (NON CIRCULAR)

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

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

BAB II STRUKTUR BAHASA C

STACK atau TUMPUKAN. Pertemuan 5 STACK (TUMPUKAN)

xxxx alamat Praktikum 11 POINTER

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

OVERLOADING OPERATOR. Oleh: Rasim Ilkom - UPI

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

STRUCT. d e d d y a d i n a n d r a

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PERTEMUAN XI OPERASI FILE

LOGIKA ALGORITMA. Pertemuan 4. By: Augury

Algoritma Pemrograman 2B (Pemrograman C++)

.::BAB II.::MENGENAL PASCAL

Algortima. Teguh Cahyono, ST.M.Kom

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

BAB VII STRING Konstanta String Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda, misalnya:

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

PRAKTIKUM 3 DASAR PEMROGRAMAN C

DIKTAT MATA KULIAH PEMROGRAMAN I BAB VII ARRAY

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

Fungsi, Parameter, Rekursi

Objectives Menjelaskan sejarah dan ruang lingkup pemakaian bahasa C Menjelaskan kelebihan dan kekurangan bahasa C Menjelaskan proses kompilasi dan lin

Transkripsi:

PERTEMUAN IX DATA TINGKAT LANJUT

SASARAN Setelah menyelesaikan bab ini, anda diharapkan dapat: Menjelaskan tentang tipe data union Menjelaskan penggunaan bitfield Menjelaskan tentang tipe data enumerasi Menjelaskan penggunaan typedef Menjelaskan penggunaan ternary operator Menjelaskan tentang konversi tipe data (type casting)

DASAR UNION Memungkinkan suatu lokasi memori ditempati oleh dua atau lebih variabel yang bisa saja tipenya berlainan. Contoh definisi union yang menyatakan data bertipe int & karakter. union bil_bulat unsigned int di; unsigned char dc[2]; }; Cara pendeklarasian union : union bil_bulat bil_x; Catatan : Cara untuk definisi & deklarasi union sama dengan struktur.

Dasar Struktur Cont. 1 Dari definisi sebelumnya, terlihat variabel bil_x dengan elemen di & dc mempunyai alamat memori yang sama. di char 1 byte int 2 byte Cara akses elemen dari sebuah union : variabel_union.nama_elemen Contoh : bil_x.di = 321; Artinya : Mengisikan nilai 321 ke elemen union di. Biner 321 adalah 101000001. Sehingga dc[0] akan bernilai byte ke-0 dari di, dan dc[1] bernilai byte ke-1 dari di.

CONTOH PROGRAM UNION #include <stdio.h> main() union di = 321 dc[0] = 65 dc[1] = 1 unsigned int di; unsigned char dc[2]; } bil_x; /* variabel union */ } bil_x.di = 321; printf("di = %d\n, bil_x.di); printf( dc[0] = %d dc[1] = %d\n", bil_x.dc[0], bil_x.dc[1]);

ANALISA PROGRAM Program untuk menjelaskan cara mengakses byte ke-0 atau byte ke-1 dari di, dc[0] atau dc[1] yang digunakan.

CONTOH PROGRAM -- Union dalam Fungsi -- #include <stdio.h> union bil_bulat /* definisi tipe union */ di = 321 unsigned int di; unsigned char dc[2]; }; dc[0] = 65 dc[1] = 1 void beri_nilai(union bil_bulat *x); /*prototype fungsi */ main() union bil_bulat bil_x; /* deklarasi var union */ beri_nilai(&bil_x); /* melewatkan alamat union */ printf("di = %d\n, bil_x.di); printf( dc[0] = %d dc[1] = %d \n",bil_x.dc[0], bil_x.dc[1]); } void beri_nilai(union bil_bulat *x) x -> di = 321; //(*x).di /* elemen di yang ditunjuk */ } /* oleh x diberi nilai 321 */

DASAR BITFIELD Suatu bit atau beberapa bit dalam sebuah data berukuran satu byte atau dua byte dapat diakses dengan mudah melalui bitfield. Suatu bit atau beberapa bit dapat diakses tanpa melibatkan operator pemanipulasi bit (seperti &, ). Satu atau dua byte memori dapat dipakai untuk menyimpan sejumlah informasi.

PENDEFINISIAN BITFIELD Definisi Bitfield untuk memperoleh informasi masing-masing bit dari suatu data satu byte. unsigned panjang bit = 1 ( 0 & 1) Susunan bit dari memori sebuah data bertipe info_byte

CONTOH PROGRAM BITFIELD #include <stdio.h> main() struct info_byte /* definisi tipe bitfield */ unsigned bit0:1; /* bit ke-0 */ unsigned bit1:1; /* bit ke-1 */ unsigned bit2:1; /* bit ke-2 */ unsigned bit3:1; /* bit ke-3 */ unsigned bit4:1; /* bit ke-4 */ unsigned bit5:1; /* bit ke-5 */ unsigned bit6:1; /* bit ke-6 */ unsigned bit7:1; /* bit ke-7 */ }; /* deklarasi variabel union dan elemen bitfield */ union unsigned char karakter; Masukkan sebuah karakter : A struct info_byte byte; Kode ASCII karakter A adalah 65 } ascii; Bentuk biner dari nilai 65 adalah 01000001 } printf( Masukkan sebuah karakter : ); scanf( %c, &ascii.karakter); printf( \nkode ASCII dari karakter %c adalah %d\n, ascii.karakter, ascii.karakter); printf("bentuk biner dari nilai %d adalah ", ascii.karakter); printf("%d%d%d%d%d%d%d%d\n",ascii.byte.bit7, ascii.byte.bit6, ascii.byte.bit5, ascii.byte.bit4, ascii.byte.bit3, ascii.byte.bit2, ascii.byte.bit1, ascii.byte.bit0);

ANALISA PROGRAM Jika dimasukkan karakter A, maka nilai ascii.karakter = A, sehingga elemen-elemen byte akan bernilai sama dengan karakter, karena pada alamat memori yang sama. ascii.byte = A ; tidak diijinkan Cara mengakses nilai : printf ( %d, ascii.byte.bit7); untuk mengambil nilai dari bitfield bit 7. ascii.byte.bit7 = 0; untuk mengubah bit7 agar bernilai 0

BITFIELD PANJANG 2 BIT Cara dalam pendefinisian dan pendeklarasian bitfield 2 bit struct data_gambar unsigned piksel1:2; unsigned piksel2:2; unsigned piksel3:2; unsigned piksel4:2; } koord; Variabel koord yang bertipe data_gambar akan menempati memori 1 byte (8 bit). 7 6 5 4 3 2 1 0 piksel 4 piksel 3 piksel 2 piksel 1 Masing-masing piksel punya range nilai dari 0 3

CONTOH PROGRAM #include <stdio.h> main() Nilainya = 3 struct data_gambar unsigned piksel1:2; unsigned piksel2:2; unsigned piksel3:2; unsigned piksel4:2; } koord; koord.piksel1=3; printf ( Nilainya = %d",koord.piksel1); } Bagaimana bila koord.piksel dimasukkan nilai 5???

APLIKASI BITFIELD Dipakai untuk menghemat memori. Misal ada 2 informasi sbb : 1. Info pertama (info_x) memiliki nilai 0-3 2. Info kedua (info_y) memiliki nilai 0-1 Hanya akan memakan memori 1 byte saja. Cara deklarasi : struct info unsigned info_x:2; unsigned info_y:1; } status; 7 6 5 4 3 2 1 0 kosong Info_y Info_x

CONTOH PROGRAM LENGKAP #include <stdio.h> main() /* definisi tipe bitfield */ struct info unsigned info_x:2; unsigned info_y:1; info_x = 3 info_y = 1 unsigned kosong:5; /* bisa dihilangkan */ } status; } status.info_x = 3; status.info_y = 1; printf("info_x = %d\n", status.info_x); printf("info_y = %d\n", status.info_y);