Data Array dalam C Suyanto BAB 4 ARRAY (LARIK)

dokumen-dokumen yang mirip
Array (Larik) Modul 7

Array Dimensi Satu. Pendahuluan. Slamet Kurniawan, S.Kom

Pertemuan 2 ARRAY DIMENSI 1 & 2

Pert 2 Struktur Data (mengajarkomputer.wordpress.com) ARRAY DIMENSI 1 & 2

Algoritma & Pemrograman #9. by antonius rachmat c, s.kom, m.cs

Larik/ Array int a1, a2, a3, a4, a5;

BAB V, VI ARRAY, STRING

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

# FIVE ARRAY / LARIK. Soal-soal minggu lalu:


ALGORITMA & PEMROGRAMAN II ARRAY

IT234 - Algoritma dan Struktur Data. Ramos Somya

BAB 5 PERULANGAN DAN ARRAY

IT234 - Algoritma dan Struktur Data. Ramos Somya

Pertemuan 2 ARRAY DIMENSI 1 & 2

Array 1 A. TUJUAN PEMBELAJARAN

Algoritme dan Pemrograman

BAB 5 REPETITION / PERULANGAN

a. Array berdimensi satu o Setiap elemen array dapat diakses melalui indeks. o Indeks array (subscript) secara default dimulai dari 0.

Pertemuan - 3. Array dan Matriks (Bab 2) Oleh : Boldson Herdianto. S., Skom., MMSI.

A R R A Y. Bentuk umum deklarasi array : type nama_array[ukuran] tipe : menyatakan tipe dasar array ukuran : menyatakan banyaknya elemen pada array

Algoritma & Pemrograman #10

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

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

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

Kurikulum Qt. { Basic OOP } Chapter 3. Array dan String

Pengenalan Array. Array Satu Dimensi

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

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

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

Laporan Hasil Tugas Konsep Pemrograman

Makalah. STRUKTUR DATA ( Array )

LOGIKA ALGORITMA. Pertemuan 9 By: Augury

Pertemuan 7. REVIEW dan QUIS

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

Bab 9 Pointer. 9.1 Pendeklarasian pointer

Array. Pengantar. int a, b, c, d, e;

ARRAY Terurut Homogen

PENYELEKSIAN KONDISI

Kelompok 10 Array. Nama :

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

Algoritma Pemrograman. Fery Updi,M.Kom

Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4]

Bab 5 Array (Variabel Berindeks)

6 Modul Praktikum Pemrograman Berorientasi Objek Common Laboratory 2009/2010

Pertemuan III ARRAY dan RECORD

1 Array dan Tipe Data Bentukan

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

BAB 6 FUNGSI TUJUAN PRAKTIKUM

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

:Mahasiswa dapat mempraktekkan penggunaan array

Algoritme dan Pemrograman

BAHASA PEMROGRAMAN C LANGUAGE

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

ARRAY. Array atau Larik merupakan Struktur Data Sederhana yang dapat didefinisikan sebagai pemesanan alokasi memory sementara pada komputer.

BAB 5. KONDISI DAN ARRAY

Hari : Rabu Pertemuan : 3 Tanggal Praktikum : Oktober 2001 Shift : 4

A. TEMA DAN TUJUAN KEGIATAN PEMBELAJARAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

PRAKTIKUM 18 : ARRAY 1

STACK DAN QUEUE. Pengertian Stack Dan Queue. stack & queue. Last saved by KENKEINA Created by KENKEINA

ARRAY. Vektor adalah bentuk yang sederhana dari array, yang merupakan array dimensi satu. Array N dapat kita bayangkan :

PERTEMUAN III DECISION. Prepared by Vosco

ARRAY. Array atau Larik merupakan Struktur Data Sederhana yang dapat didefinisikan sebagai pemesanan alokasi memory sementara pada komputer.

01. Review Array, Pointer dan Struktur

Pointer. Pointer adalah variabel yang menyimpan alamat dari variabel yang lainnya. Deklarasi pointer : datatype *ptr_name; Contoh:

DASAR PEMROGRAMAN ARRAY. Array Satu Dimensi Array Dua Dimensi. Yoannita. Some slide from Hermawan,S.Kom

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

Pemrograman Dasar A R R A Y

Pertemuan 4 Array pada Java

BAB 4 KONDISI / PEMILIHAN

MODUL. Array (Larik) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Modul Praktikum 4 Pemograman Berorientasi Objek

a[0] a[1] a[2] a[3] a[4] a[5] x

MODUL 10 PERNYATAAN KONTROL: FOR DAN SWITCH - CASE. Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang

Modul Praktikum Bahasa Pemrograman 1

A. TEORI ARRAY 1 DIMENSI

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

PEMROGRAMAN STRUKTURAL

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

BAB XI ARRAY (LARIK)

A. TEORI ARRAY 1 DIMENSI

ARRAY. Karakteristik

Achmad Solichin.

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

Array DASAR PEMROGRAMAN

BAB II TEORI DASAR. Gambar 1 Kurva untuk interpolasi linier. Sehingga diperoleh persamaan dari interpolasi linier sebagai berikut :

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

BAB 2 ARRAY. Array adalah suatu himpunan hingga elemen, terurut dan homogen.

Struktur dan Organisasi Data 2 ARRAY

PRAKTIKUM 11 POINTER 1

PERTEMUAN 8 MATRIX. Introduction Definition How is matrix stored in memory Declaration Processing

BAB 7 Java Array. Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier yang berbeda untuk tiap variabel.

Sequential Search (Linear Search)

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Array & Searching Array. Alfa Faridh Suni, S.T., M.T. PTIK

Tipe Data dan Operator

Transkripsi:

BAB 4 ARRAY (LARIK) 1. Definisi Array Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu index. Dilihat dari dimensinya array dapat dibagi menjadi Array dimensi satu, array dimensi dua dan array multi-dimensi. Array adalah suatu struktur data yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Elemen-elemen array tersusun secara sekuensial dalam memori komputer. Array (Larik) adalah suatu himpunan hingga elemen, terurut dan homogen. Terurut artinya, elemen tersebut dapat diidentifikasikan sebagai elemen pertama, kedua, ketiga dan seterusnya hingga elemen ke-n. Sedang homogen artinya bahwa setiap elemen data dalam array mempunyai tipe yang sama. Posisi masing-masing komponen dalam larik dinyatakan sebagai nomor index. Array adalah kumpulan data bertipe sama yang menggunakan nama sama. Dengan menggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan subscript. Sebuah subscript berupa bilangan di dalam kurung siku atau biasa disebut dengan indek. Pemahaman lain mengenai array (larik) adalah sebagai berikut : Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya bisa statis ataupun dinamis dan diberi suatu nama tertentu. Praktikum Struktur Data dengan Turbo C++ Hal 1

Elemen-elemen array tersusun secara berderet dan sekuensial di dalam memori sehingga memiliki alamat yang bersebelahan/berdampingan. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda. Keuntungan struktur data Larik: 1. Paling mudah pengoperasiannya 2. Ekonomis dalam pemakaian memori, bila semua elemen terisi. 3. Akses ke setiap elemen memerlukan waktu yang sama. Kerugiannya: Memboroskan tempat jika banyak elemen yang tidak digunakan. 2. Pengaksesan Array Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung. Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Dalam C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum. Hal ini merupakan tanggung jawab programmer. Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai. 3. Array Dimensi Satu Array dimensi satu tidak lain adalah kumpulan elemen-elemen identik yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda. Praktikum Struktur Data dengan Turbo C++ Hal 2

Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0. Untuk mendeklarasikan Array dengan notasi sebagai berikut : tipe_data nama_array[ukuran]; Contoh : int bil[6]; maka dalam memori komputer akan terbentuk sederet barisan memori linier yang dialokasikan untuk variabel bilangan, yang digambarkan sebagai berikut : Bil bil[0] bil[1] bil[2] bil[3] bil[4] bil[5] bil[6] index 0 1 2 3 4 5 6 Untuk memberi nilai terhadap variabel array, bisa dilakukan dengan beberapa cara, antara lain : 1. Pemberian nilai langsung serentak Contoh : int bil[6]=25,8,73,2,6,83; 2. Pemberian nilai satu-satu berdasarkan nomor indexnya Contoh: bil[0]=25; bil[2]=73; bil[4]=6; bil[1]=8; bil[3]=2; bil[5]=83; Praktikum Struktur Data dengan Turbo C++ Hal 3

3. Pemberian nilai melalui input data / perintah masukan Contoh : for(i=0;i<=5;i++) printf( Masukkan Bilangan ke %d :,i);scanf( %d,&bil*i+); Dengan dua cara pemberian nilai diatas ( 1 dan 2), maka bilangan-bilangan tersebut akan mengisi variabel bil sesuai index nya, dan dapat digambarkan sebagai berikut : bil[0] bil[1] bil[2] bil[3] bil[4] bil[5] bil 25 8 73 2 6 83 index 0 1 2 3 4 5 Sedangkan cara ketiga, nilai yang akan disimpan tergantung dari si user, jadi tidak bisa ditentukan sebelum program tersebut dijalankan. Penting untuk Diingat! String juga sebenarnya merupakan array yang bertipe karakter. Jumlah elemen array menyatakan jumlah string. Praktikum Struktur Data dengan Turbo C++ Hal 4

Contoh Program Array Dimensi Satu /* Program 4.1 Praktikum Struktur Data Materi : Type Data Array Kasus : Menentukan bilangan terbesar dari bilangan-bilangan yang tersimpan dalam variabel array. */ #include<stdio.h> #include<conio.h> void main() int bil[15] ; int x,max ; clrscr(); //Memberi nilai variabel array bil[1]=17; bil[2]=23; bil[3]=20;bil[4]=10;bil[5]=15; bil[6]=5; bil[7]=33; bil[8]=95;bil[9]=8;bil[10]=88; // Menampilkan Bilangan dari var Array for(x=1;x<=10;x++) printf("bilangan Array ke %2d adalah : %2d\n",x,bil[x]); //Menentukan Bilangan Terbesar Max=0; for(x=1;x<=10;x++) if(bil[x] > Max) Max = bil[x]; printf("\nbilangan Terbesarnya adalah : %d",max); getch(); Tugas 4.1 : Buat Program Untuk Menentukan Bilangan Terkecil dari Angka yang Dimasukkan melalui piranti masukan! Praktikum Struktur Data dengan Turbo C++ Hal 5

4. Array 2 Dimensi Jika array satu dimensi digambarkan sebagai barisan memori linier, maka array dua dimensi digambarkan sebagai sebuah tabel. Sebuah tabel mempunyai beberapa baris dan beberapa kolom yang mana isi elemennya bertipe sama, sehingga dapat digambarkan sebagai berikut: 0 1 2 3 4 0 10 55 22 12 23 1 23 33 34 54 56 2 12 45 56 76 76 Data diatas merupakan gambaran array dua dimensi dengan jumlah baris 3 dan jumlah kolom 5. Untuk mendeklarasikan Array dua dimensi dengan notasi sebagai berikut : tipe_data nama_array[m][n]; Dimana m : jumlah baris dan n : jumlah kolom Penting untuk Diingat! Indek di Turbo C++ secara default dimulai dari 0 (nol). Cara mengakses array dua dimensi sama saja dengan array sati dimensi, yaitu dengan menuliskan kedua indeknya dalam kurung siku. Contoh : printf( %d,matrik[1][2]); artinya perintah tersebut befungsi untuk mencetak matrik pada elemen baris ke-1 dan kolom ke-2. Contoh pemberian nilai dan pengkasesan array dua dimensi dapat dilihat pada contoh program berikut : Praktikum Struktur Data dengan Turbo C++ Hal 6

/* Program 4.2 Praktikum Struktur Data Materi : Array Dua Dimensi Kasus : Operasi Matrik */ #include<stdio.h> #include<conio.h> void main() int MatrikA[2][3],MatrikB[2][3],MatrikC[2][3]; int x,y; clrscr(); MatrikA[0][0]=1; MatrikA[0][1]=2; MatrikA[0][2]=3; MatrikA[1][0]=4; MatrikA[1][1]=5; MatrikA[1][2]=6; MatrikB[0][0]=11; MatrikB[0][1]=12; MatrikB[0][2]=13; MatrikB[1][0]=14; MatrikB[1][1]=15; MatrikB[1][2]=16; printf("matrik A :\n"); for(x=0;x<=1;x++) // Baris Matrik printf(" "); for(y=0;y<=2;y++) //Kolom Matrik printf("%d ",MatrikA[x][y]); Praktikum Struktur Data dengan Turbo C++ Hal 7

printf(" \n"); printf("\nmatrik B :\n"); for(x=0;x<=1;x++) // Baris Matrik printf(" "); for(y=0;y<=2;y++) //Kolom Matrik printf("%d ",MatrikB[x][y]); printf(" \n");; printf("\n\npenambahan dari Matrik A & B = Matrik C\n"); for(x=0;x<=1;x++) // Baris Matrik *) for(y=0;y<=2;y++) // Kolom Matrik *) MatrikC[x][y] = MatrikA[x][y] + MatrikB[x][y]; printf("\nmatrik C :\n"); for(x=0;x<=1;x++) // Baris Matrik printf(" "); for(y=0;y<=2;y++) //Kolom Matrik printf("%d printf(" \n");; getch(); ",MatrikC[x][y]); Tugas 4.2 : Buat Program Penambahan & Perkalian Matrik Ukuran 2 x 3 yang nilai-nilainya didapat dari pemasukan data! Praktikum Struktur Data dengan Turbo C++ Hal 8

5. Panjang Array Panjang suatu larik/array dapat ditentukan dengan rumus sebagai berikut : 1. Array 1 Dimensi L = UB LB +1 2. Array 2 Dimensi L = (UB1 LB1 + 1) * (UB2 LB2 + 1) Adapun untuk menentukan Alamat Awal (Base Address ) dari penyimpanan data dalam storage dirumuskan sebagai berikut : 1. Array 1 Dimensi Dimisalkan array A(LB:UB), dengan Base Array = B, dan Size setiap cellnya = S AlamatAwal(x) = B + S(x LB) 2. Array 2 Dimensi Dimisalkan array A(LB1:UB1, LB2:UB2), dengan Base Array = B, dan Size setiap cellnya = S, maka alamatnya dirumuskan sebagai berikut : AlamatAwal(i, j) = B+((i LB1)*(UB2-LB2+1)*S)+((j LB2)*S) Praktikum Struktur Data dengan Turbo C++ Hal 9

Dimana L = Length Array, UB = Upper Bound (Batas Atas), LB = Lower Bound (Batas Bawah) dari array yang bersangkutan. /* Program 4.3 Praktikum Struktur Data Materi : Array Kasus : Program ini adalah program untuk menentukan Ukuran dan Alamat Awal dari penyimpanan data Array */ #include<stdio.h> #include<conio.h> //prototype fungsi sendiri void Input_Dimensi_Satu(); void Input_Dimensi_Dua(); void Input_Base_Location(); void Size_Dimensi_Satu(); void Size_Dimensi_Dua(); void Address_Dimensi_Satu(); void Address_Dimensi_Dua(); const Kol = 15; int LowerBound, UpperBound,LowerBound1, UpperBound1, LowerBound2, UpperBound2, Size, Dimensi, Pilih, BaseLoc, BaseAddress, Alamat, SizeElemen; //(* Program Utama Menu Array *) void main() clrscr(); do textbackground(0); clrscr(); textbackground(5); gotoxy(kol, 4);printf("+------------------------------------+\n"); gotoxy(kol, 5);printf(" MENU UTAMA DATA ARRAY \n"); Praktikum Struktur Data dengan Turbo C++ Hal 10

gotoxy(kol, 6);printf("+------------------------------------+\n"); gotoxy(kol, 7);printf(" 1. Size Array Satu Dimensi \n"); gotoxy(kol, 8);printf(" 2. Size Array Dua Dimensi \n"); gotoxy(kol, 9);printf(" 3. Address Awal Array Satu Dimensi \n"); gotoxy(kol,10);printf(" 4. Address Awal Array Dua Dimensi \n"); gotoxy(kol,11);printf(" 5. Selesai \n"); gotoxy(kol,12);printf("+------------------------------------+\n"); gotoxy(kol,13);printf(" Pilihan Anda [1..5] : [ ] \n"); gotoxy(kol,14);printf("+------------------------------------+\n"); gotoxy(kol+26,13);scanf("%d",&pilih); textbackground(0); clrscr(); switch (Pilih) case 1 : Size_Dimensi_Satu();break; //(* Panggil Prosedur *) case 2 : Size_Dimensi_Dua();break; //(* Panggil Prosedur *) case 3 : Address_Dimensi_Satu();break; //(* Panggil Prosedur *) case 4 : Address_Dimensi_Dua();break; //(* Panggil Prosedur *) while(pilih<5); //kumpulan fungsi-fungsi yang akan dipanggil void Input_Dimensi_Satu() printf("\nmasukkan Batas Bawah printf("\nmasukkan Batas Atas : ");scanf("%d",&lowerbound); : ");scanf("%d",&upperbound); void Input_Dimensi_Dua() printf("masukkan Batas Bawah 1 : ");scanf("%d",&lowerbound1); printf("masukkan Batas Atas 1 : ");scanf("%d",&upperbound1); printf("masukkan Batas Bawah 2 : ");scanf("%d",&lowerbound2); printf("masukkan Batas Atas 2 : ");scanf("%d",&upperbound2); Praktikum Struktur Data dengan Turbo C++ Hal 11

void Input_Base_Location() printf("masukkan Base Location printf("masukkan Size Tiap Elemen : ");scanf("%d",&baseloc); : ");scanf("%d",&sizeelemen); void Size_Dimensi_Satu() Input_Dimensi_Satu(); // Panggil Prosedure //Panjang/Size/Length Array Size = (UpperBound - LowerBound) + 1; printf("size/length Array : %d",size); getch(); void Size_Dimensi_Dua() Input_Dimensi_Dua(); //(* Panggil Prosedur *) //(* Panjang/Size/Length Array *) Size =(UpperBound1-LowerBound1 + 1)*(UpperBound2 - LowerBound2 + 1); printf("\nsize/length Array getch(); : %d",size); void Address_Dimensi_Satu() Input_Dimensi_Satu(); //(* Panggil Prosedure *) Input_Base_Location(); printf("masukkan Alamat Awal yang dicari : ");scanf("%d",&alamat); BaseAddress = BaseLoc + SizeElemen * (Alamat - LowerBound); printf("base Address dari Alamat %d adalah : %d",alamat,baseaddress); getch(); Praktikum Struktur Data dengan Turbo C++ Hal 12

void Address_Dimensi_Dua() int Alamat1, Alamat2; Input_Dimensi_Dua(); //(* Panggil Prosedure *) Input_Base_Location(); printf("masukkan Alamat Awal 1 yang dicari : ");scanf("%d",&alamat1); printf("masukkan Alamat Awal 2 yang dicari : ");scanf("%d",&alamat2); BaseAddress = BaseLoc + ((Alamat1-LowerBound1)*(UpperBound2- LowerBound2+1)* SizeElemen)+((Alamat2-LowerBound2)*SizeElemen); printf("base Address dari Alamat (%d, %d) adalah : %d",alamat1,alamat2,baseaddress); getch(); Praktikum Struktur Data dengan Turbo C++ Hal 13