• Tidak ada hasil yang ditemukan

Larik (array) - Repository UNIKOM

N/A
N/A
Protected

Academic year: 2019

Membagikan "Larik (array) - Repository UNIKOM"

Copied!
31
0
0

Teks penuh

(1)

Tipe Data

(2)

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

(3)

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

(4)
(5)

/* 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("\n");

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;

(6)

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

a = 1023

a = 1023

(7)
(8)

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

(9)

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

(10)

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:

(11)

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,

(12)

• Bentuk umum pengaksesan suatu elemen

variabel array adalah:

Nama_var [indeks];

• Untuk variabel array nilai_tes,

(13)
(14)

• 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”.

(15)

/* --- */

/* 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 */

for (i=0;i<maks_tes;i++)

{

printf("Nilai tes ke-%d: %f",i+1,nilai_tes[i]);

}

(16)

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.

(17)

Array 2-Dimensi

• Tipe data array dua dimensi biasa digunakan

untuk menyimpan, mengolah maupun

menampilkan suatu data dalam bentuk tabel

maupun matriks.

(18)
(19)

• 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

(20)

Array dua dimensi

(21)

• Seperti halnya pada arrau satu dimensi, data

array dua dimensi akan ditempatkan pada

memori secara berurutan, seperti yang

diperlihatkan pada Gambar 7.3.

(22)

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

(23)
(24)

• 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

(25)

/* --- */

/* 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 */

for (i=0;i<4;i++)

{

for(j=0;j<3;j++)

{

printf(" Matriks(%d, %d): %d",i,j,matriks[i][j]);

}

printf("\n");

}

(26)

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);

for (index = 0 ; index < 12 ; index++)

printf("The value at index = %2d is %3d\n",

index, values[index]);

(27)

Result of execution

(28)

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);

for (index = 0 ; index < 12 ; index++)

printf("%5d %5d %10.3f\n", index, stuff[index], weird[index]);

return 0;

(29)

Result of execution

First program title

Second program title

(30)

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; */

for (i = 0 ; i < 8 ; i++)

{

for (j = 0 ; j < 8 ; j++)

printf("%5d ", big[i][j]);

printf("\n"); /* newline for each increase in i */

}

(31)

Result of execution

0 0 0 0 0 0 0 0

0 1 2 3 4 5 6 7

Gambar

Tabel Jumlah Mahasiswa yang diterima di Jurusan
Gambar berikut memperlihatkan ilustrasi untuk memudahkan pemahaman tentang array dua dimensi.

Referensi

Dokumen terkait

Kelemahan dari Organisasi Pangan dan Pertanian yaitu FAO terlalu desentralisasi, dengan proporsi staf yang bertugas di pusat yang banyak, yang jauh dari pengamatan

Penentuan varians bersyarat dari sebuah peubah acak diberikan peubah acak lainnya, baik diskrit maupun kontinu dijelaskan dalam Definisi 7.12... 2 FUNGSI PEMBANGKIT

Seperti yang dijelaskan pada sub bab 7.5, penentuan slot array satu dimensi ditentukan dengan mengetahui alamat memori slot pertama dan ukuran tipe data variabel array tersebut.

Hal ini menunjukkan bahwa penggunaan metode mind mapping cukup efektif diterapkan dalam proses pembelajaran yang dilakukan untuk meningkatkan informasi siswa dalam

Contoh karya ilmiah dalam bidang yang diminati (khusus bagi yang mendaftar program M.Th.) PERSYARATAN YANG HARUS DISERTAKAN PADA SAAT PENDAFTARAN (Bagi Pendaftar program S-1

Bahan yang digunakan adalah sampel tanah yang diambil dari dua lokasi sawah yaitu di Balai Penelitian Padi Ciapus dan desa Sukajadi Kecamatan Taman Sari,

Analisis petrografi bertujuan untuk penamaan batu sedimen serta memperoleh data penunjang bagi Provenance agar dapat diketahui bagaimana kandungan persentase batuan baik

Halaman 6 LAMPIRAN II PENJABARAN PERTANGGUNGJAWABAN - PENJABARAN LAPORAN REALISASI ANGGARAN PENDAPATAN DAN