Tipe Data Lecture 8.

Slides:



Advertisements
Presentasi serupa
ARRAY 1 DIMENSI Array 1 dimensi
Advertisements

ARRAY STATIS DAN DINAMIS
DASAR-DASAR PEMROGRAMAN C
ARRAY ??.
PERTEMUAN II ARRAY JURUSAN TELEKOMUNIKASI
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
INSTRUKSI MASUKAN DAN KELUARAN
ARRAY Dr. Lily Wulandari.
Teknik Pemrograman Terstruktur 2
Tipe Data Lecture 8.
ARRAY (LARIK)
ARRAY.
Array dan String Array dan String.
Algoritma dan Struktur Data
PART 7 Array DOSEN : AHMAD APANDI, ST.
Array dan String.
Statement Input – Output
Teknik Pemrog. Terstruktur 2
Array, POINTER dan FUNGSI
Pemrogramman Terstruktur
Castaka Agus Sugianto, M.Kom., M.CS
Algoritma dan Struktur Data 1 pertemuan 7
ARRAY Array merupakan struktur data yang sering digunakan dalam pemrograman untuk menyimpan data yang akan diolah.
PEMROGRAMAN DASAR.
Pengantar C++.
Elemen Dasar C Identifier :
Pertemuan 1 Pengenalan Bahasa C++.
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
Perulangan (looping) BERSARANG & ARRAY
POINTER 6.3 & 7.3 NESTED LOOP.
Achmad Yasid Struktur Data.
Variabel ARRAY.
ARRAY.
Algoritme dan Pemrograman
Struktur Data (Data Structure) – IS 2313
Pertemuan 2 ARRAY DIMENSI 1 & 2.
ARRAY (LARIK).
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
PEMROGRAMAN DASAR (BAHASA C)
PERTEMUAN 9 Algoritma Presented by : Sity Aisyah, M.Kom
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
Mengenal Model Data, Perintah I/O
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
ALGORITMA & STRUKTUR DATA I
02.1 Hari-2.
Pemograman Terstruktur
Algoritma dan Struktur Data
(Struktur Dasar, Variabel, Tipe Data, Input, Output, Komentar)
Input Dan Output.
Perulangan (looping) BERSARANG & ARRAY
Algoritma dan Struktur Data
Algoritma dan Struktur Data
Array dan Matriks.
Tipe Data & Array 1D, 2D Daniel Riano Kaparang.
S. Indriani Lestariningati, M.T
Algoritma dan Struktur Data
Array (Larik) Pertemuan ke-6 Bahasa C.
Input dan Output Pertemuan ke-3 Bahasa C.
Variabel dan Tipe Data TEE 2103 Algoritma & Pemrograman
Array (Larik)‏ Struktur Data 1 1.
Praktikum KBP 2 Array.
KONSEP DASAR STRUKTUR DATA
Prepared by Yohana Nugraheni
Konsep Pemgrograman LARIK.
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel.
ALGORITMA & STRUKTUR DATA C Programming
ARRAY 2d (matriks) MERISKA DEFRIANI, S.KOMP
Algoritma Pemrograman
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