Langsung ke konten utama

Menganalisis Penggunaan Array Untuk Penyimpanan Data di Memori

Indikator Pencapaian Kompetensi

IPK pengetahuan

Menjelaskan array satu dimensi
Menjelaskan array multi dimensi
Mengidentifikasi penerapan array satu dimensi
Mengidentifikasi penerapan array mulri dimensi

IPK Ketrampilan 

Membuat aplikasi array satu dimensi
Membuat aplikasi array multi dimensi


Tujuan Pembelajaran 

Siswa dapat memahami struktur data Array, serta pemanfaatannya didalam perancangan program yang terstruktur.

Materi Kegiatan Pembelajaran

STRUKTUR DATA ARRAY

Array adalah suatu tipe data terstruktur yang terdapat dalam memori yang terdiri dari sejumlah elemen (tempat) yang mempunyai tipe data yang sama dan merupakan gabungan dari beberapa variable sejenis serta memiliki jumlah komponen yang jumlahnya tetap.

Elemen – elemen dari array tersusun secara sequential dalam memori komputer. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi.

ARRAY SATU DIMENSI

 Array satu dimensi tidak lain adalah kumpulan elemen–elemen yang identik yang tersusun dalam satu baris. Elemen – elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda.

Untuk lebih jelasnya perhatikan gambar berikut :




 








                  


Bentuk Umum

Type

<NamaArray> = array[IdexArray] of TipeData;

 Contoh :

 Type

Gaji         = array[1..10] of longint;

 Logika = array[boolean] of integer;

 Pendeklarasian array diawali dengan kata baku type dan diikuti dengan nama array dan tanda sama dengan (=), lalu kata baku array beserta range index dan diakhiri dengan kata baku of beserta tipe datanya.

 Kita dapat mendeklarasikan sebuah tipe data baru yang terdiri dari elemen yang kita sebutkan satu persatu untuk kemudian dipakai sebagai index array . Tipe data tersebut disebut sebagai tipe data enumerasi. Perhatikan contoh dibawah :

Type

Hari=(Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu); PendapatanHarian = array[Hari] of real

Selain itu kita juga dapat mendeklarasikan sebuah tipe data berupa subrange bilangan untuk kemudian dipakai sebagai index dari suatu array seperti berikut.

Type

Tinggi = 145..210;

TinggiManusia = array [tinggi] of byte;

Atau kita juga dapat menggunakan konstanta untuk kemudian dipakai dalam index array. Untuk menggunakan konstanta perlu diawali dengan kata baku const. Untuk lebih jelasnya perhatikan contoh berikut.

Const

Min = 1;

Max = 10;

Type

Arr = array[Min .. Max] of byte;

Var

Point : arr;


Contoh Program :

{               Program untuk menginput nilai mahasiswa ke dalam array satu dimensi }

Program Data_Mahasiswa(Input,Outpu);

Uses CRT;

Type

Nilai_Mhs = array[1..10] of integer;

Var

Index : integer;

Nilai : Nilai_Mhs;

Begin

Clrscr;

 

{ Proses input nilai mahasiswa }

Writeln('<< Menginput nilai 10 mahasiswa >>');

for index:=1 to 10 do

Begin

Write(' Mahasiswa -> ',index:2,' = '); Readln(nilai[index]);

End;

Writeln;

Write(' Tekan Enter untuk melihat nilai mahasiswa... '); Readln;

{ Proses menampilkan nilai mahasiswa }

 CLRSCR;

 Writeln('<< Nilai mahasiswa yang telah diinput >>'); for index:=1 to 10 do

 Writeln(' Nilai -> ',index:2,' = ',Nilai[index]:5); Readln;

 End.

 
ARRAY DUA DIMENSI

 Array dua dimensi, yang sering digambarkan sebagai sebuah matriks adalah merupakan perluasan dari sebuah array satu dimensi. Jika pada array satu dimensi hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka pada array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang betipe sama sehingga dapat diilustrasikan seperti berikut.

 


                            






























Bentuk Umum :

Type

<NamaArray> = array[IndexArray1,IndexArray2] of TipeData;

 Contoh :

 Type

 Matriks = array[1..2,1..3] of byte; Logika = array[1..5,boolean] of integer;

 Type

Baris = 1..2;

Kolom = 1..3;

Ordo = array[Baris,Kolom] of byte;

 Var

Matrix : ordo;

 Pendeklarasian array dua dimensi hampir sama dengan pendeklarasian arary satu dimensi, kecuali pada array dua dimensi terdapat dua index array yang terdapat didalam kurung siku dan masing- masing index boleh berbeda tipe. Untuk lebih jelasnya perhatikan contoh berikut ini.

 Type

Kegiatan = (Main, Belajar, Nonton, Berenang};

 Hari = (Senin, Selasa, Rabu, Kamis, Jumat, Sabtu); AktivitasAnak = array[Hari, Kegiatan] of byte;

Var

 A: AktivitasAnak;

 Pendeklarasian array AktivitasAnak diatas menggunakan dua buah tipe data yang masing-masing didefenisikan sendiri yaitu kegiatan dan hari. Jika digambarkan struktur array Aktivitas anak tersebut akan nampak seperti berikut.

 

[Main]

[Belajar]

[Nonton]

[Berenang]

 

 

 

 

 

[Senin]

10

12

23

35

21

5

11

44

[Selasa]

32

2

29

8

[Rabu]

20

13

16

6

[Kamis]

14

4

18

25

[Jum’at]

26

9

17

22

[Sabtu]



Untuk dapat mengakses masing – masing elemen dari array AktivitasAnak diatas kita harus mengetahui posisi baris dan kolom dari elemen – elemen yang ingin diakses tersebut. Sebagai contohnya jika kita ingin mengakses data yang di higlight pada tabel diatas (5) dapat kita deklarasikan seperti dibawah ini :

 

A [Selasa, Belajar]

 Note : Jika kita terbalik menuliskan baris dan kolom index array maka akan terjadi error.

 Contoh Program :

 

{ Program menginput nilai(bilangan) ke dalam array dimensi dua dan menampilkannya }

Program Matrix(Input,Output);

Uses CRT;

Type

Ordo = array[1..3,1..4] of integer;

Var

Baris, Kolom : Integer;

Matriks : Ordo;


Begin

Clrscr;

{ Menginput elemen array secara Row Major Order }

Writeln('<< Proses memasukkan elemen array >>');

for baris:=1 to 3 do

Begin

for kolom:=1 to 4 do Begin

Write(' Matriks[',baris,'][',kolom,'] = '); Readln(matriks[baris][kolom]);

End;

Writeln;

End;

 

{ Menampilkan elemen Array secara Row Major Order }

Writeln('<< Proses menampilkan isi array >>');

for baris:=1 to 3 do Begin

for kolom:=1 to 4 do Begin

Write(matriks[baris][kolom]:5);

End;

Writeln;

End;

Readln;

End.

 

Contoh Program

 

{ Program penjumlahan matriks dua dimensi } Program Penjumlahan_Matrix(Input,Output); Uses CRT;

Type Ordo = array[1..3,1..4] of integer;

 Var

A,B,X,Y,C : Ordo;

i,j : Integer;

Begin

Clrscr;

 {******* Masukkan matriks A *******}

 Writeln('<< Matriks A >>');

for i:=1 to 3 do

Begin

for j:= 1 to 4 do

Begin

 

Write(' Input data matrik A[',i,'][',j,']= '); Readln(A[i][j]);

 

End;

End;

 

{******** Masukkan matriks B ********}

Writeln('<< Matriks B >>');

for i:=1 to 3 do

Begin

for j:= 1 to 4 do

 Begin

 Write(' Input data matrik B[',i,'][',j,']= '); Readln(B[i][j]);

End;

End;

 

{******** Proses penjumlahan matriks A dan B ********}

 

for i:=1 to 3 do

Begin

for j:= 1 to 4 do

 

Begin

X[i][j]:=A[i][j]+B[i][j];

End;

End;

 

Clrscr;

{******** Cetak isi matriks A ********}

Writeln('<< matrik A >>');

 for i:=1 to 3 do

 Begin

for j:=1 to 4 do

Write(A[i][j]:6);

Writeln;

End;

Writeln;

 

{******** Cetak isi matriks B *******}

Writeln('<< matrik B >>');

for i:=1 to 3 do

Begin

for j:=1 to 4 do

 

Write(B[i][j]:6);

Writeln;

End;

Writeln;

 

{** Cetak hasil penjumlahan matriks A dan B **} Writeln('<< matrik penjumlahan A+B >>'); for i:=1 to 3 do

 

Begin

for j:=1 to 4 do

Write(X[i][j]:6);

Writeln;

End;

Writeln;

Readln;

 End.

  

ARRAY TIGA DIMENSI

 

Array tiga dimensi dapat dianalogikan sebagai suatu benda ruang 2 dimensi .


Bentuk Umum :


Type

<NamaArray> = array[IndexArray1,IndexArray2,IndexArray3]of TipeData;

Contoh :

Type

Kalender = array[Tanggal, Bulan, Tahun] of byte; Logika = array[1..10,boolean,2..15] of integer;

Deklarasi pada array tiga dimensi tidak berbeda dengan deklarasi pada array satu dimensi dan dua dimensi yang telah dijelaskan sebelumnya, kecuali pada index array.

Penilaian

SOAL :

1. Buatlah program untuk menginput, menghitung serta mencetak perkalian dua matriks dengan ordo bebas.

2. Buatlah program untuk menghasilkan invers dari suatu matriks dengan ordo bebas.

 

Komentar

Postingan populer dari blog ini

Fase Fase Capaian Pembelajaran pada Kurikulum Merdeka SMK

Kurikulum ‘Merdeka’ membagi pendidikan   ke dalam beberapa fase  Berikut penjelasan singkat mengenai masing-masing fase: Fase A : Diperuntukkan bagi siswa kelas 1 dan 2 SD. Pada fase ini, fokusnya adalah pada pengembangan dasar-dasar literasi dan numerasi, serta pengenalan lingkungan sekitar. Fase B : Diperuntukkan bagi siswa kelas 3 dan 4 SD. Siswa mulai memperdalam literasi dan numerasi, serta mulai mengenal konsep-konsep dasar dalam berbagai mata pelajaran seperti sains dan sosial. Fase C : Diperuntukkan bagi siswa kelas 5 dan 6 SD. Pada fase ini, siswa mulai mempelajari materi yang lebih kompleks dan mendalam dalam berbagai mata pelajaran, serta mulai mengembangkan keterampilan berpikir kritis dan kreatif. Fase D : Diperuntukkan bagi siswa kelas 7, 8, dan 9 SMP. Siswa mulai mempersiapkan diri untuk pendidikan menengah atas dengan mempelajari materi yang lebih spesifik dan mendalam dalam berbagai mata pelajaran, serta mengembangkan keterampilan akademik dan non-akademi...

TOKO ONLINE - Tahapan membuka jualan online

A. Persiapan  Hal hal yang peru disiapkan untuk  berjualan secara online, berikut adalah beberapa hal yang perlu Anda siapkan: Produk atau Layanan : Tentukan produk atau layanan apa yang ingin Anda jual. Pastikan ada permintaan di pasar dan produk Anda unik atau memiliki keunggulan dibandingkan kompetitor. Riset Pasar : Pelajari tren pasar dan target audiens Anda. Pahami kebutuhan, preferensi, dan perilaku konsumen yang menjadi target Anda. Platform Penjualan : Pilih platform penjualan online yang sesuai, seperti marketplace (Tokopedia, Shopee, Bukalapak), media sosial (Instagram, Facebook), atau website e-commerce sendiri. Branding dan Identitas Visual : Buat branding yang kuat, termasuk nama toko, logo, dan estetika visual yang konsisten. Hal ini membantu dalam membangun kepercayaan dan pengenalan merek. Konten Produk : Siapkan deskripsi produk yang menarik dan informatif, serta foto produk yang berkualitas tinggi. Konten yang baik dapat menarik perhatian dan meningkatkan k...

Soal dan Jawaban Pemrograman Java 1

I. ESSAY TERSTRUKTUR 1. Konsep dasar object (object Oriented) meliputi 3 hal, Sebutkan ! 2. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu sebagai ? 3. Sebutkan 3(tiga) arsitektur Java menurut Sun ? 4. Sebutkan minimal 3 atribut/data  yang melekat pada diri anda bila anda dipandang sebagai objek ? 5. Sebutkan minimal 3 method/"perilaku" yang melekat pada diri anda jika anda dipandang sebagai objek ? 6. Sebutkan 5 bagian dari bagan dasar program java ! (Catatan : hanya menyebutkan saja, detil bagiannya tak perlu dijelaskan ) 7. Untuk penulisan komentar beberapa baris pada program java supaya tidak akan diproses oleh ‘virtual mechine’, caranya adalah dengan memberikan tanda awal yaitu tanda a)….. dan diakhiri dengan tanda b)…., sedangkan komentar untuk satu baris dapat menggunakan tanda c) …. 8. Sebutkan 2(dua) kelompok “Error” dalam pemograman java? 9. Sebutkan minimal sepuluh buah katakunci bahasa java (Java Keyword) yang kalian ...