Tipe Data Lecture 8.

Slides:



Advertisements
Presentasi serupa
ARRAY 1 DIMENSI Array 1 dimensi
Advertisements

Keyword, Variabel, Konstanta, Tipe Data, Operator, dan Input / Output
Struktur Dasar Bahasa C
BAHASA PEMROGRAMAN C IRSAN JAELANI.
Elemen Dasar C++.
ARRAY STATIS DAN DINAMIS
DASAR-DASAR PEMROGRAMAN C
ARRAY ??.
DASAR-DASAR PEMROGRAMAN
PERTEMUAN II ARRAY JURUSAN TELEKOMUNIKASI
Pointer. Output? #include int x = 2; void misteri(int a, int b) { a = 2*x; b = y; y = a; } main() { int y; x = 5; y = 7; misteri(x, y); printf("%d %d\n",
Tipe Data Bentukan Pertemuan ke-5.
Konsep dan Defenisi data 1Nurdiansah PTIK 09 UNM.
02.1 Hari-2.
Teknik Informatika Universitas Pembangunan Jaya
Pemrograman Terstruktur
Pengajar : ELIYANI, S.T., M.Kom Semester : I Tahun : 2012/ 2013
Chapter 3.2 : Tipe, Nama dan Nilai
INSTRUKSI MASUKAN DAN KELUARAN
ARRAY Dr. Lily Wulandari.
Tipe Data, Variabel, Konstanta, Operator
Teknik Pemrograman Terstruktur 2
Pemrograman Berorientasi Objek Bab 1 – Pemrograman Terstruktur.
STRUKTUR DATA.
Pengenalan Variabel, Tipe Data dan Perintah Masukan dan Keluaran
ARRAY (LARIK)
Algoritma dan Bahasa Program
ARRAY.
Praktikum Struktur Data
Algoritma dan Struktur Data
Array dan String Array dan String.
BAHASA C.
Elemen-elemen dlm source code
Pointer Yuliana Setiowati.
PERTEMUAN IX DATA TINGKAT LANJUT JURUSAN TELEKOMUNIKASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Oleh : Muh. Zen S. Hadi, ST.
BASIC DATA TYPES, VARIABLES & OPERATORS
Algoritma dan Struktur Data
Array dan String.
PERTEMUAN III ARRAY BAG II JURUSAN TELEKOMUNIKASI
Statement Input – Output
Teknik Pemrog. Terstruktur 2
Array, POINTER dan FUNGSI
1 Pertemuan 1 Pengenalan Pemrograman Terstruktur C Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: xxx/2.
Elemen Dasar C++ Norma Amalia, ST.,M.Eng.
Tipe Data Lecture 8.
PENGGUNAAN TIPE DATA YANG EFEKTIF
Tipe Data By Serdiwansyah N. A..
Pertemuan 1 Pengenalan Bahasa C++.
Achmad Yasid Struktur Data.
Deklarasi Array X : array [ 1.. N ] of Type
PENGGUNAAN TIPE DATA YANG EFEKTIF
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
Mengenal Model Data, Perintah I/O
Perintah Input/Output
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
02.1 Hari-2.
(Struktur Dasar, Variabel, Tipe Data, Input, Output, Komentar)
~ PERTEMUAN 4 KONSEP TIPE DATA ~
Mengenal Model Data, Perintah I/O
Pemrograman Terstruktur
PENGGUNAAN TIPE DATA YANG EFEKTIF
Algoritma dan struktur data
KONSEP DASAR STRUKTUR DATA
VARIABEL, TIPE DATA, OPERATOR
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel.
Chapter 3.2 : Tipe, Nama dan Nilai
TIPE-TIPE DATA PHP Bandung 2009, by hery dwi y.
DATA dan VARIABEL.
PENGGUNAAN TIPE DATA YANG EFEKTIF
ARRAY.
Transcript presentasi:

Tipe Data Lecture 8

Tipe Data Dasar Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan sebagai tipe data dasar, yaitu: Bilangan bulat (integer) Bilangan pecahan (float/real) presisi-tunggal Bilangan pecahan (float/real) presisi-ganda Karakter Tak bertipe

Daftar tipe data dasar Tipe Jml Bit Rentang Data Keterangan Char 8 -128 .. 127 Karakter Int 16 -32768 .. 32767 Bilangan bulat Float 32 3.4e-38 .. 3.4e+38 Bilangan pecahan presisi-tunggal Double 64 1.7e-308 .. 1.7e+3.8 Bilangan pecahan presisi-ganda Void - Tak bertipe

/* LOTTYPES.C */ #include <stdio.h> int main() { int a; /* simple integer type */ long int b; /* long integer type */ short int c; /* short integer type */ unsigned int d; /* unsigned integer type */ char e; /* character type */ float f; /* floating point type */ double g; /* double precision floating point */ a = 1023; b = 2222; c = 123; d = 1234; e = 'X'; f = 3.14159; g = 3.1415926535898; printf("a = %d\n", a); /* decimal output */ printf("a = %o\n", a); /* octal output */ printf("a = %x\n", a); /* hexadecimal output */ printf("b = %ld\n", b); /* decimal long output */ printf("c = %d\n", c); /* decimal short output */ printf("d = %u\n", d); /* unsigned output */ printf("e = %c\n", e); /* character output */ printf("f = %f\n", f); /* floating output */ printf("g = %f\n", g); /* double float output */ printf("\n"); printf("a = %d\n", a); /* simple int output */ printf("a = %7d\n", a); /* use a field width of 7 */ printf("a = %-7d\n", a); /* left justify in field of 7 */ c = 5; d = 8; printf("a = %*d\n", c, a); /* use a field width of 5 */ printf("a = %*d\n", d, a); /* use a field width of 8 */ printf("f = %f\n", f); /* simple float output */ printf("f = %12f\n", f); /* use field width of 12 */ printf("f = %12.3f\n", f); /* use 3 decimal places */ printf("f = %12.5f\n", f); /* use 5 decimal places */ printf("f = %-12.5f\n", f); /* left justify in field */ return 0; }

Result of execution a = 1023 a = 1777 a = 3ff b = 2222 c = 123 d = 1234 e = X f = 3.141590 g = 3.141593 a = 1023 a = 1023 a = 1023 f = 3.141590 f = 3.142 f = 3.14159 f = 3.14159

Struktur Array

Motivation One of the most powerful programming tools available Help to organize a collection of homogeneous data items (same type and lenght). The individual data items that make up the array are called as Element of the array Example: Scores[3]  indicated the third exam score

Definition Array disebut juga larik, merupakan runtun data dengan setiap elemen data menggunakan nama yang sama dan mesing-masing elemen data bertipe sama. Setiap komponen (elemen) array dapat dibedakan dan diakses melalui nomor indeksnya. Struktur array dapat digolongkan menjadi: Array berdimensi satu Array berdimensi dua Array berdimensi banyak

Array Satu Dimensi Struktur array satu dimensi dapat dideklarasikan dengan bentuk umum berupa: Tipe nama_var [ukuran]; dengan: tipe: untuk menyatakan jenis elemen array (misalnya char, int, unsigned). Ukuran untuk menyatakan jumlah maksimal elemen array. contoh pendeklarasian suatu array lima elemen dengan tipe float adalah sebagai berikut: float nilai_tes [5];

Mengakses Elemen Array Pada bahasa C, data array akan disimpan dalam memori pada lokasi yang berurutan. Elemen pertama mempunyai indeks bernilai 0. Jika pada contoh variabel nilai_tes mempunyai 5 elemen, maka elemen pertama mempunyai indeks sama dengan 0, elemen kedua mempunyai indeks 1, dan seterusnya.

Bentuk umum pengaksesan suatu elemen variabel array adalah: Nama_var [indeks]; Untuk variabel array nilai_tes, Nilai_tes[1]  elemen ke-1 dari nilai_tes Nilai_tes[3]  elemen ke-3 dari nilai_tes

Gambar berikut memperlihatkan urutan komponen array dalam memori.

Contoh untuk memasukkan data ke variabel array: nilai_tes[0] = 70; /* contoh 1*/ scanf(“%f”, &nilai_tes[3]); /* contoh 2*/ Contoh pertama merupakan pemberian nilai 70 ke elemen variabel nilai_tes ke-0. Contoh kedua merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke elemen nilai-tes yang ke-3. Statemen &nilai_tes[3] menunjukkan “alamat dari elemen variabel nilai_tes yang ke-3”. Perlu diingat bahwa instruksi scanf( ) membutuhkan argumen berupa alamat dari variabel yang digunakan untuk menyimpan nilai masukan.

/* ------------------------------------------------ */ /* File program : baca.c */ /* Contoh pengaksesan array satu dimensi */ #include <stdio.h> #define maks_tes 5 main() { int i; float nilai_tes[maks_tes]; /* deklarasi array */ /* Membaca data dari keyboard */ for (i=0;i<maks_tes;i++) printf("Nilai tes ke-%d: ",i+1); scanf("%f", &nilai_tes[i]); } /* Menampilkan data yang telah dimasukkan */ printf("Nilai tes ke-%d: %f",i+1,nilai_tes[i]);

Program Baca.c Program diatas memperlihatkan cara memasukkan data larik dari keyboard sebanyak lima buah data dan kemudian menampilkan data tersebut ke layar monitor. Data array juga dapat dideklarasikan dalam bentuk variabel yang bersifat statis, serta dapat dilakukan inisialisasi terhadap masing-masing elemen array. Contoh proses deklarasi dan inisialisasinya adalah: static int jum_hari[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; Dengan deklarasi di atas, maka o jum_hari[0] bernilai 31 o jum_hari[1] bernilai 28 o jum_hari[2] bernilai 31 o jum_hari[3] bernilai 30 o dan seterusnya. Nilai yang ada pada array menyatakan banyaknya hari untuk setiap bulan.

Array 2-Dimensi Tipe data array dua dimensi biasa digunakan untuk menyimpan, mengolah maupun menampilkan suatu data dalam bentuk tabel maupun matriks. Untuk data dalam bentuk tabel, seperti yang diperlihatkan pada tabel berikut ini, dimensi pertama array digunakan untuk menyatakan nama Program Studi dan dimensi kedua untuk menyatakan jumlah penerimaan mahasiswa per tahun pada tahun tertentu.

Tabel Jumlah Mahasiswa yang diterima di Jurusan Teknik Elektro UGM.

Untuk mendeklarasikan array agar dapat menyimpan data penerimaan mahasiswa dari tabel di atas adalah sebagai berikut: int Jumlah_mhs [4][3]; Nilai indeks 3 untuk menyatakan banyaknuya tahun dan 4 menyatakan banyaknya program studi.

Array dua dimensi Gambar berikut memperlihatkan ilustrasi untuk memudahkan pemahaman tentang array dua dimensi.

Seperti halnya pada arrau satu dimensi, data array dua dimensi akan ditempatkan pada memori secara berurutan, seperti yang diperlihatkan pada Gambar 7.3. Model penyimpanan array dua dimensi pada memori.

Mengakses Elemen Array 2 Dimensi Untuk mengakses elemen array dua dimensi dapat dilakukan dengan statemen: nama_variabel[indeks pertama][indeks kedua]; - Sebagai contoh: Jumlah_mhs[1][2] = 129; Merupakan instruksi untuk mengakses elemen array pada baris ke-1, kolom ke-2.

Pengakessan elemen array dua dimensi

Dalam program, untuk membaca atau memasukkan data array dua dimensi dari keyboard dapat dilakukan dengan memanfaatkan statemen nested loop. Contoh program berikut memperlihatkan bagaimana memasukkan data sebuah matriks n x n ke memori dan menampilkan hasil pembacaan ke layar monitor.

/* ------------------------------------------------ */ /* File program : baca2.c */ /* Contoh pengaksesan array dua dimensi */ #include <stdio.h> main() { int i,j; int matriks[4][3]; /* deklarasi array */ /* Membaca data dari keyboard */ for (i=0;i<4;i++) for(j=0;j<3;j++) printf("matriks (%d, %d): ",i,j); scanf("%d", &matriks[i][j]); } printf("\n\n"); /* Menampilkan data matriks yang telah dimasukkan */ printf(" Matriks(%d, %d): %d",i,j,matriks[i][j]); printf("\n");

Array of Integer /* INTARRAY.C */ #include <stdio.h> int main() { int values[12]; int index; for (index = 0 ; index < 12 ; index++) values[index] = 2 * (index + 4); printf("The value at index = %2d is %3d\n", index, values[index]); return 0; }

Result of execution The value at index = 0 is 8

AN ARRAY OF FLOATING POINT DATA /* BIGARRAY.C */ #include <stdio.h> char name1[] = "First Program Title"; int main() { int index; int stuff[12]; float weird[12]; static char name2[] = "Second Program Title"; for (index = 0 ; index < 12 ; index++) stuff[index] = index + 10; weird[index] = 12.0 * (index + 7); } printf("%s\n", name1); printf("%s\n\n", name2); printf("%5d %5d %10.3f\n", index, stuff[index], weird[index]); return 0;

Result of execution First program title Second program title 0 10 84.000 1 11 96.000 2 12 108.000 3 13 120.000 4 14 132.000 5 15 144.000 6 16 156.000 7 17 168.000 8 18 180.000 9 19 192.000 10 20 204.000 11 21 216.000

MULTI-DIMENSIONAL ARRAYS #include <stdio.h> int main() { int i, j; int big[8][8], large[25][12]; for (i = 0 ; i < 8 ; i++) for (j = 0 ; j < 8 ; j++) big[i][j] = i * j; /* This is a multiplication table */ for (i = 0 ; i < 25 ; i++) for (j = 0 ; j < 12 ; j++) large[i][j] = i + j; /* This is an addition table */ big[2][6] = large[24][10] * 22; big[2][2] = 5; big[big[2][2]][big[2][2]] = 177; /* this is big[5][5] = 177; */ printf("%5d ", big[i][j]); printf("\n"); /* newline for each increase in i */ } return 0;

Result of execution 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 0 2 5 6 8 10 748 14 0 3 6 9 12 15 18 21 0 4 8 12 16 20 24 28 0 5 10 15 20 177 30 35 0 6 12 18 24 30 36 42 0 7 14 21 28 35 42 49