Data Array

67
3. Array/ Larik Array adalah tipe data terstruktur yang terdiri dari sejumlah elemen yang mempunyai tipe sama. Mempunyai jumlah elemen yang tetap. Banyaknya elemen dalam array ditunjukkan oleh Banyaknya elemen dalam array ditunjukkan oleh suatu indeks Array dapat bertipe data sederhana seperti byte, integer, real, boolean, char, string dan tipe data scalar atau subrange. Array yang akan dipergunakan harus di deklarasikan terlebih dahulu.

Transcript of Data Array

Page 1: Data Array

3. Array/ Larik

• Array adalah tipe data terstruktur yang terdiridari sejumlah elemen yang mempunyai tipesama.

• Mempunyai jumlah elemen yang tetap.

• Banyaknya elemen dalam array ditunjukkan oleh• Banyaknya elemen dalam array ditunjukkan olehsuatu indeks

• Array dapat bertipe data sederhana seperti byte, integer, real, boolean, char, string dan tipe data scalar atau subrange.

• Array yang akan dipergunakan harus dideklarasikan terlebih dahulu.

Page 2: Data Array

Mengapa Perlu Array?

• Karena Variabel dengan tipe dasar hanya dapat menyimpan satu buah data. Jika ada banyak data dengan tipe yang sama, maka tidak efisien jika disimpan oleh Variabel dengan tipe dasar. Karena itu, array diperlukan untuk menyimpan sekumpulan data yang tipenya sama.itu, array diperlukan untuk menyimpan sekumpulan data yang tipenya sama.

• Misalnya : 5 buah data dengan tipe yang sama dapat saja disimpan dalam 5 buah variabel, tetapi bagaimana jika ada 1000 data dengan tipe yang sama? Sangat tidak efisien membuat 1000 variabel !!!

Page 3: Data Array

Macam Array

• Array Satu Dimensi

Array Satu Dimensi adalah sekelompok data

yang terdiri dari satu baris atau satu kolom

saja. saja.

• Array Dua Dimensi

Array Dua Dimensi sekelompok data data

yang terdiri dari beberapa baris dan kolom.

Page 4: Data Array

Array Satu Dimensi

Bentuk Deklarasi :

Index = Range Jumlah Data

NamaVariabel : Array[Index] of TipeData;

Index = Range Jumlah Data

Contoh :

Nama : Array[1..5] of String[25];

Nilai : Array[1..10] of Integer;

Huruf : Array[1..4] of char;

Page 5: Data Array

Deklarasi Konstanta Array

Contoh :

Nilai : Array[1..4] of Integer =(7,10,21,20);

Huruf : Array[1..5] of char =(‘A’,’B’,’C’,’D’,’E’);

Artinya :

Nilai[1]=7, Nilai[2]=10,Nilai[3]=21,Nilai[4]=20

Huruf[1]=A, Huruf[2]=B, Huruf[3]=C, Huruf[4]=D, Huruf[5]=E

Page 6: Data Array

Deklarasi Tipe Data

Tipe data dapat dibuat sendiri dengan tujuan

untuk memudahkan penulisan program dan

efisiensi penggunaan memori.

Bentuk Pernyataan :

Type

Nama Tipe = tipe data

Page 7: Data Array

Contoh Tipe Data Baru

1. Var

NilaiHuruf : array [1..5] of char ;

Menjadi :

Type

huruf = array [1..5] of char

Var

NilaiHuruf : huruf;

Bulan = Array[(Jan, Peb, Mar)] of integer;

Var

Jumlah : Bulan;

Variabel Jumlah menyatakan Jumlah Data

betipe Integer setiap bulan. Misalnya :

Jumlah[Jan] : = 125 ;

Jumlah{Peb] : = 75 ; NilaiHuruf : huruf;

2. Var

Jumlah: array [(Jan, Peb, Mar)] of integer ;

Dapat dibentuk menjadi sebuah tipe data baru, mis sbb :

Type

Bulan = (Jan, Peb, Mar) ;

Var

Jumlah : array [Bulan] of integer ;

Atau

Type

Jumlah{Peb] : = 75 ;

Jumlah[Mar] : = 18 ;

Page 8: Data Array

Program

Page 9: Data Array

Contoh-1

• Hitunglah nilai rata-rata dari Nilai mahasiswa sebanyak n

dengan tampilan output spt di bawah ini. Jumlah Data (n),

Nama dan Nilai adalah data masukan.

No Nama Nilai

======================================================

1 Amir 76

2 Budi 82

3 Indah 66

4 Maria 78

.. ……. …

.. ……. …

.. ……. …

n ……. …

============================

Nilai Rata-rata = …………

Page 10: Data Array

Algoritma

• Mulai

• Deklarasikan var yang digunakan

• Input Data

Hitung Nilai Rata-rata• Hitung Nilai Rata-rata

• Cetak Hasil

• Selesai

Page 11: Data Array

Flowchart

Page 12: Data Array

Program

Page 13: Data Array
Page 14: Data Array

Input Data

Page 15: Data Array

Hasil Program

Page 16: Data Array

Contoh-2

• Bilangan Prima:

Bilangan prima p adalah bil bulat yang hanya

dapat mempunyai pembagi p dan 1. Dengan

kata lain bilangan prima tidak mempunyai kata lain bilangan prima tidak mempunyai

pembagi selain dari 1 dan dirinya sendiri.

• Buatlah program untuk menentukan bilangan

prima dari 2 s/d 100 dengan output sbb:

2 3 5 7 11 13 17 .......

Page 17: Data Array

Analisa Masalah

• Bilangan Prima (p) yang dicari adalah bil. N >1, artinya 2,3,4,5,….dst.

• Setiap Bilangan N harus dibagi dengan bilangan lain (Bilangan pembagi).

• Bilangan pembagi mulai dari 2 hingga N-1. Mis. • Bilangan pembagi mulai dari 2 hingga N-1. Mis. Pembagi angka 5 adalah 2,3,dan 4. Pembagi angka 6 adalah 2,3,4,dan 5. dst.

• Periksa hasil bagi dari Bilangan N, apakah habis dibagi oleh bilangan pembagi.

• Jika Ya, maka bilangan tersebut bukan Bil Prima.

Page 18: Data Array

Algoritma

• Mulai

• Deklarasikan Variabel

• Tentukan Bil. Bulat mulai dari I = 2 hingga 100.

• Tentukan bahwa semua bil Bulat adalah bil Prima. Prima = iPrima = i

• Cek Bil bulat mulai dari 2 hingga 100, apakah habis dibagi oleh bilangan lain.

• Jika YA, maka Ganti Prima = i menjadi Prima=0

• Cetak bil. Prima yang tidak sama dengan Nol.

• Selesai

Page 19: Data Array

Flowchart

Page 20: Data Array

Program

Page 21: Data Array

Output Program

Page 22: Data Array

Latihan

1. Buatlah program untuk menentukan bilangan antara 1 s.d100 yang habis dibagi 3 dan 5.

2. Buatlah program dengan output sbb:

====================================

No Nama Alamat Pekerjaan StatusNo Nama Alamat Pekerjaan Status

====================================

1 Budi Jl. Merapi 20 Guru Kawin

2 ……. ……… ……….. ……..

.

.

n ……. ……… ……….. ……..

=====================================

Page 23: Data Array

Array Dua Dimensi

• Array dua dimensi terdiri dari elemen-elemen

baris dan kolom.

• Umumnya digunakan untuk mengolah data Tabel

atau data matriks dalam matematika.atau data matriks dalam matematika.

• Nilai Baris dan kolom dapat dinyatakan dengan

variabel kontrol dalam proses perulangan.

• Banyak digunakan untuk menyelesaikan

persamaan-persamaan linier dalam Matematika

Teknik.

Page 24: Data Array

Deklarasi Variabel

Bentuk Deklarasi:

Contoh :

Var Nama Var : array [index1, index2] of Tipe Data

Contoh :

Atau

Type Larik = array [1..50, 1..50] of integer ;

Var X : Larik

Var X : array [1..50, 1..50] of integer ;

Page 25: Data Array

Deklarasi Konstanta

Contoh :

Const

Tabel : Array[1..3,1..2] of Integer = ((1,2),(3,4),(5,6));Tabel : Array[1..3,1..2] of Integer = ((1,2),(3,4),(5,6));

Artinya :

Tabel[1,1]=1, Tabel[1,2]=2, Tabel[2,1]=3, Tabel[2,2]=4, Tabel[3,1]=5, Tabel[3,2]=6

Page 26: Data Array

Program

Output Program

Page 27: Data Array

Matriks

Sebuah Matriks A ordo mxn dinyatakan dengan

bentuk :

Page 28: Data Array

Macam-Macam Matrik

1. Matriks bujur sangkar

2. Matriks Identitas

3. Matriks Transpose

4. Matriks Determinan4. Matriks Determinan

5. Matriks Invers

6. Matriks skalar

7. Matriks segitiga bawah dan segitiga atas

8. dsb

Page 29: Data Array

Contoh-3

Buatlah program untuk input data Matriks A

dengan ordo m x n. Variabel input adalah m,n,

dan data matriks. Tampilkan Matriks dan nilai

elemen Matriks.elemen Matriks.

Page 30: Data Array
Page 31: Data Array
Page 32: Data Array
Page 33: Data Array

Output Program

Page 34: Data Array

Penjumlahan/Pengurangan Matriks

Penjumlahan Matriks :

Syarat :

• Kedua Matriks harus berukuran sama.

• A + B = B + A• A + B = C dimana Cij = (Aij + Bij)A + B = C dimana Cij = (Aij + Bij)

• B + A = C dimana Cij = (Bij + Aij)

Pengurangan Matriks:

• Kedua Matriks harus berukuran sama.

• A - B ≠ B - A• A - B = C dimana Cij = (Aij - Bij)

• B - A = D dimana Dij = (Bij - Aij)

Page 35: Data Array

Bentuk Matriks

Page 36: Data Array

Contoh-3

Buatlah program untuk menjumlahkan 2 buah Matriks yaitu Matrik Amn + Bmn = Cmn. Input adalah Data Matrik A dan B sedangkan outputnya adalah Matrik A, B, dan C.

Algoritma:Algoritma:

• Mulai

• Tentukan Data Matrik A

• Tentukan Data Matrik B

• Jumlahkan Data Matrik A dan B

• Cetak Hasil

• Selesai

Page 37: Data Array

Flowchart

Page 38: Data Array

Program Penjumlahan Matriks

Page 39: Data Array
Page 40: Data Array
Page 41: Data Array
Page 42: Data Array

Output Program

Page 43: Data Array

Transpose Matriks

• Transpose matrik B dinotasikan BT atau didapatkan dengan

cara menukar elemen baris ke i matrik B menjadi elemen

kolom ke i. Bila matrik B berukuran mxn, maka BT berukuran

nxm dan elemen yang ke Bij Menjadi elemen Bji.

• Bentuk Transpose dari Matrik B adalah :• Bentuk Transpose dari Matrik B adalah :

Page 44: Data Array

Contoh-4

Buatlah Program untuk mencari Transpose dari

sebuah Matriks.

Variabel input adalah :

Jumlah baris dan kolom• Jumlah baris dan kolom

• Data dari Matriks

• Output adalah : Matriks Transpose

Page 45: Data Array

Algoritma

• Mulai

• Tentukan Jumlah Baris dan Kolom Matriks

• Input Data Matrik

Cari Transpose Matriks• Cari Transpose Matriks

Tukar indeks Baris menjadi indeks Kolom dan indeks

Kolom menjadi indeks Baris.

• Cetak Hasil

• Selesai

Page 46: Data Array

ProgramProgram TransposeMatrix;

Uses crt;

Type Trans = Array [1..20,1..20] of integer;

Var A: Trans;

i,j,baris,kolom :integer;

Begin

Clrscr;

{Tentukan Jumlah Baris dan Kolom Matriks B}

Write('Masukkan Jumlah Baris : ');Readln(baris);

Write('Masukkan Jumlah Kolom : ');Readln(kolom);

Writeln;

Page 47: Data Array

{Input Data Matriks}

Gotoxy(1,5);Write(‘B= ');

for i := 1 to baris do

for j := 1 to kolom do

begin

Gotoxy(j*5,i*2+3);

Readln(B[i,j]);

for j := 1 to baris do

begin

Gotoxy(j*5+20,i*2+3);

Write(B[j,i]);

end;

readln;

End.

end;

{Cari Transpose dan Cetak

Hasilnya}

Gotoxy(20,5);Write(‘BT=');

for i := 1 to kolom do

Page 48: Data Array

Output Program

Page 49: Data Array

Perkalian Matriks

Syarat :

• Matriks A dan B hanya dapat dikalikan jika

jumlah Kolom Matriks A = Jumlah Baris

Matriks B.Matriks B.

• Matriks B x A hanya dapat dikalikan jika

jumlah Kolom Matriks B = Jumlah Baris

Matriks A.

Page 50: Data Array

Bentuk Perkalian Matriks

Perhatikan bahwa A berukuran 2 × 2 dan B berukuran 2 × 3 maka AB berukuran 2 × 3.

Page 51: Data Array

Perkalian Matriks

Buatlah program untuk mengalikan 2 buah matriks. Variabel input adalah :

• Jumlah baris dan kolom dari masing2 Matriks.

• Data masing2 Matriks• Data masing2 Matriks

Output :

• Kedua Matriks dan Hasil Kali Matriks.

Page 52: Data Array

Flowchart

Page 53: Data Array

Program

Page 54: Data Array
Page 55: Data Array
Page 56: Data Array
Page 57: Data Array

Hasil Program

Page 58: Data Array

Determian dan Invers Matriks

Buatlah program untuk mencari Determinan dan

Invers dari Matriks ordo 2x2 yang didefiniskan

sbb :

Page 59: Data Array

Algoritma

• Mulai

• Deklarasikan Variabel

• Input Data Matrik

• Cetak Data Matriks• Cetak Data Matriks

• Hitung Nilai Determinan

• Hitung Nilai Invers

• Cetak Matriks Invers

• Selesai

Page 60: Data Array

Program Invers Ordo 2x2

program invers_Ordo_2x2;

uses crt;

var n,i,j,k,l,m : integer;

x,y,Det,a1,b,c,d,p : real;

a : array[1..2,1..2] of real;

begin

for j:=1 to 2 do

begin

write ('A(',i,',',j,') = ');

readln (a[i,j]);

end;

end;

clrscr;begin

writeln ('Program Pencarian Invers Matriks');

writeln ('Ordo Matrik (2 x 2).');

writeln;

{Masukkan Data Matriks}

for i:=1 to 2 do

begin

clrscr;

writeln;

Page 61: Data Array

{Cetak Matriks}

for i:=1 to 2 do

begin

for j:=1 to 2 do

write (' ',a[i,j]:6:3);

writeln;

end;

for j:=1 to 2 do

Begin

if i=j then

x:= x*a[i,j]

else

y:= y*a[i,j];

end;end;

{Mencari Deteminan}

x:=1;y:=1;

for i:=1 to 2 do

begin

end;

writeln;

end;

Det := x - y;

writeln('Determinan = ',Det:6:2);

Page 62: Data Array

writeln;

writeln('Mencari InversMatriks : ');

writeln;

for i:=1 to 2 do

begin

for j:=1 to 2 do

p:=a[i,j];

a[i,j]:=a[i+1,j+1]/det;

end

else

a[i,j]:=p/det

end

elsefor j:=1 to 2 do

begin

if i=j then

begin

if i=1 then

Begin

else

a[i,j]:=-a[i,j]/det;

end;

end;

Page 63: Data Array

{Cetak Hasil Invers}

for i:=1 to 2 do

begin

for j:=1 to 2 do

begin

write(a[i,j]:6:2,' ');write(a[i,j]:6:2,' ');

end;

writeln;

end;

readln;

End.

Page 64: Data Array

Hasil Program

Page 65: Data Array

Latihan

1. Buatlah Program untuk mencari

Data Maksimum dan Minimum dari

N data masukan. Variabel input N data masukan. Variabel input

adalah Jumlah data, Data.

2. Buatlah program untuk menghitung

pengurangan Matrik AT – B = C.

Page 66: Data Array

TUGAS-3

Buatlah program untuk mengalikan Duabuah Matrik Tranpose AT x BT. Hasil kaliadalah Matriks C. Data input adalah ordomatriks A dan B, dan Data dari Matrik A danB. Output adalah Matrik A, B, AT , BT dan C.B. Output adalah Matrik A, B, AT , BT dan C.

Rumus :

Syarat Perkalian : n1 = m2

A m1n1 x B m2n2 = Cm1n2

Page 67: Data Array

Selesai