Apa tujuan menggunakan program array

PRAKTIKUM 18 Array 1 A. TUJUAN PEMBELAJARAN 1. Memahami konsep array dan penyimpanannya dalam memori 2. Mempelajari pengunaan variabel array berdimensi satu 3. Memahami penggunaan variabel array berdimensi dua 4. Dapat menerapkan penggunaan array berdimensi satu dan dua pada program sederhana B. DASAR TEORI Dalam beberapa literatur, array sering disebut (diterjemahkan) sebagai larik. Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan elemen-elemen array. Letak urutan dari elemen-elemen array ditunjukkan oleh suatu subscript atau indeks. Mendeklarasikan Array Berdimensi Satu Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran]; dengan : tipe_data : untuk menyatakan tipe dari elemen array, misalnya int, char, float. nama_var : nama variabel array ukuran : untuk menyatakan jumlah maksimal elemen array. Contoh pendeklarasian array : float nilai_tes[5]; menyatakan bahwa array nilai_tes mengandung 5 elemen bertipe float. 90

Mengakses Elemen Array Berdimensi Satu Pada C, data array akan disimpan dalam memori yang berurutan. Elemen pertama mempunyai indeks bernilai 0. Jika variabel nilai_tes dideklarasikan sebagai array dengan 5 elemen, maka elemen pertama memiliki indeks sama dengan 0, dan elemen terakhir memiliki indeks 4. Bentuk umum pengaksesan array adalah sbb : nama_var[indeks] sehingga, untuk array nilai_tes, maka : nilai_tes[0] elemen pertama dari nilai_tes nilai_tes[4] elemen ke-5 dari nilai_tes Contoh : nilai_tes[0] = 70; scanf( %f, &nilai_tes[2]); Contoh pertama merupakan pemberian nilai 70 ke nilai_tes[0]. Sedangkan contoh 2 merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke nilai_tes[2]. Pada contoh 2 ini &nilai_tes[2] berarti alamat dari nilai_tes[2]. Perlu diingat bahwa scanf() memerlukan argumen berupa alamat dari variabel yang digunakan untuk menyimpan nilai masukan. Inisialisasi Array Berdimensi Satu Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan. Untuk mendeklarasikan array, nilai-nilai yang diinisialisasikan dituliskan di antara kurung kurawal ({}) yang dipisahkan dengan koma. int jum_hari[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; Beberapa Variasi dalam Mendeklarasikan Array Ada beberapa variasi cara mendeklarasikan sebuah array (dalam hal ini yang berdimensi satu), di antaranya adalah sebagai berikut : int numbers[10]; int numbers[10] = {34, 27, 16}; int numbers[] = {2, -3, 45, 79, -14, 5, 9, 28, -1, 0}; char text[] = "Welcome to New Zealand."; 91

float radix[12] = {134.362, 1913.248}; double radians[1000]; Array Berdimensi Dua Array berdimensi satu dapat disimpan pada sebuah array berdimensi dua. Pendeklarasian array berdimensi dua adalah sebagai berikut : int data_lulus[4][3]; Nilai 4 untuk menyatakan banyaknya baris dan 3 menyatakan banyaknya kolom. Gambar 15.1 memberikan ilustrasi untuk memudahkan pemahaman tentang array berdimensi dua. indeks pertama (baris) 0 1 2 3 0 1 2 80 540 1032 15 83 301 8 12 15 10 129 257 int data_lulus[4][3]; indeks kedua (kolom) Gambar 15.1 Array berdimensi dua Sama halnya pada array berdimensi satu, data array akan ditempatkan pada memori yang berurutan. Perhatikan Gambar 15.2. 80 540 1032 15 83 301 80 Gambar 15.2 Model penyimpanan array dimensi dua pada memori Mengakses Elemen Array Berdimensi Dua Array seperti data_lulus dapat diakses dalam bentuk data_lulus[indeks pertama, indeks kedua] : (1) data_lulus[0][1] = 540; merupakan instruksi untuk memberikan nilai 540 ke array data_lulus untuk indeks pertama = 0 dan indeks kedua bernilai 1. (2) printf( %d,data_lulus[2][0]); merupakan perintah untuk menampilkan elemen yang memiliki indeks pertama = 2 dan indeks kedua = 0. 92

C. TUGAS PENDAHULUAN Untuk semua persoalan di bawah ini, desainlah algoritma dan flowchartnya. D. PERCOBAAN 1. Deklarasikan sebuah variabel array of int, selanjutnya isi array tsb kemudian tampilkan isi variabel tersebut menggunakan statement for(). Ingat apabila jumlah deklarasi index adalah n maka nilai index-nya adalah dimulai dari 0 sampai dengan n-1. 2. Deret fibonacci adalah deret yang dimulai dengan dua angka yang bernilai 0 dan 1, kemudian deret ketiga ditentukan dari penjumlahan kedua angka tersebut, sedangkan deret keempat ditentukan dari dua angka sebelumnya begitu seterusnya. Sehingga didapatkan deret fibonanci sebagai berikut: 0 1 1 2 3 5 8 13 21 Buatlah program untuk meminta input dari user berupa sebuah bilangan, kemudian tampilkan deret fibonacci mulai dari 1 sampai dengan bilangan tsb. 3. Buat penjumlahan dua matriks A[2][2]dengan B[2][2]. Hasil penjumlahan tersebut disimpan dalam matrik C. Tampilkan di layar masing-masing isi dari matriks A, B dan C Catatan modifikasi (gunakan nested loop) : - indeks MAKS dibuat konstanta - variabel ordo matriks diinputkan - memungkinkan pengulangan proses dengan menginputkan ordo yang lain 4. Buatlah sebuah variabel array of int yang memiliki ukuran MAKS. Dengan menggunakan looping for(), masukkan sebanyak n data ke dalam array tsb kemudian carilah nilai terbesar yang ada dalam array tsb. 93

E. LAPORAN RESMI 1. Untuk setiap listing program dari percobaan-percobaan di atas, ambil capture outputnya. 2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan. 94

#C++

Apa tujuan menggunakan program array

Apa yang akan kamu lakukan jika diminta untuk menyimpan banyak data di program?

Misalkan kita ingin menyimpan nama-nama teman untuk data kontak.

Mungkin saja, kita akan menyimpannya seperti ini:

string namaKontak1 = "Ayu"; string namaKontak2 = "Bunga"; string namaKontak3 = "Cyntia"; string namaKontak4 = "Deni"; string namaKontak5 = "Elisa";

Hal ini boleh-boleh saja..

Akan tetapi, masalahnya:

“Gimana nanti kalau ada banyak sekali data, pasti capek bikin variabel terus?”

Karena itu, kita membutuhkan Array.

Apa itu Array, dan bagaimana cara menggunakannya?

Mari kita bahas…

Array merupakan struktur data yang digunakan untuk menyimpan sekumpulan data dalam satu tempat.

Setiap data dalam Array memiliki indeks, sehingga kita akan mudah memprosesnya.

Indeks array selalu dimulai dari angka nol (0).

Pada teori struktur data…

…ukuran array akan bergantung dari banyaknya data yang disimpan di dalamnya.

Cara Membuat Array pada C++

Pada C++, array dapat kita buat dengan cara seperti ini.

// membuat array kosong dengan tipe data integer dan panjang 10 int nama_array[10]; // membuat array dengan langsung diisi int nama_arr[3] = {0, 3, 2}

Cara membuat array hampir sama seperti cara membuat variabel biasa.

Bedanya… pada array kita harus menentukan panjangnya.

Cara Mengambil Data dari Array

Seperti yang sudah kita kethaui…

Array akan menyimpan sekumpulan data dan memberinya nomer indeks agar mudah diakses.

Indeks array selalu dimauli dari nol 0.

Misalkan kita punya array seperti ini:

char huruf[5] = {'a', 'b', 'c', 'd', 'e'};

Bagaimana cara mengambil huruf c?

Jawabannya:

Mengapa bukan huruf[3]?

Ingat: indeks array selalu dimulai dari nol.

Biar lebih jelas, mari kita coba dalam program. Silahkan buat file baru dengan nama contoh_array.cpp, kemudian isi dengan kode berikut:

#include <iostream> using namespace std; int main(){ char huruf[5] = {'a', 'b', 'c', 'd', 'e'}; // mengambil data pada array cout << "Huruf: " << huruf[2] << endl; return 0; }

Setelah itu, coba compile dan jalankan.

Maka hasilnya:

Mengisi Ulang Data pada Array

Data pada array dapat kita isi ulang dengan cara seperti ini:

Maka isi array huruf pada indeks ke-2 akan bernilai 'z'.

Kalau tidak percaya…

Kamu bisa coba buktikan sendiri.

Silahkan ubah kode pada contoh_array.cpp menjadi seperti ini:

#include <iostream> using namespace std; int main(){ // isi awal array char huruf[5] = {'a', 'b', 'c', 'd', 'e'}; // mengubah isi data array huruf[2] = 'z'; // mencetak isi array cout << "Huruf: " << huruf[2] << endl; return 0; }

Hasil outputnya:

Contoh lain: array_data.cpp

#include <iostream> using namespace std; int main(){ // membuat array kosong int nilai[5]; // mengisi array nilai[0] = 32; nilai[1] = 42; nilai[2] = 76; nilai[3] = 31; nilai[4] = 57; // mencetak isi array cout << "Nilai ke-1: " << nilai[0] << endl; cout << "Nilai ke-2: " << nilai[1] << endl; cout << "Nilai ke-3: " << nilai[2] << endl; cout << "Nilai ke-4: " << nilai[3] << endl; cout << "Nilai ke-5: " << nilai[4] << endl; return 0; }

Hasilnya:

Pada contoh di atas, kita menggunakan perintah cout secara berulang untuk mencetak semua isi array.

cout << "Nilai ke-1: " << nilai[0] << endl; cout << "Nilai ke-2: " << nilai[1] << endl; cout << "Nilai ke-3: " << nilai[2] << endl; cout << "Nilai ke-4: " << nilai[3] << endl; cout << "Nilai ke-5: " << nilai[4] << endl;

Kalau isi array-nya ada ribuan, apa kamu akan sanggup menulis ini berulang-ulang?

Tentu saja tidak!

Karena itu, kita bisa memanfaatkan perulangan untuk mencetaknya.

Contoh: array_loop.cpp

#include <iostream> using namespace std; int main(){ // membuat array kosong int nilai[5]; // mengisi array nilai[0] = 32; nilai[1] = 42; nilai[2] = 76; nilai[3] = 31; nilai[4] = 57; // mencetak isi array dengan perulangan for(int i; i < 5; i++){ printf("Nilai ke-%d: %d\n", i, nilai[i]); } return 0; }

Hasilnya:

Jauh lebih sederhana ‘kan…

Tapi ada yang masih kurang.

Pada perulangan di atas kita memberikan batas maksimal secara manual, yaitu: i < 5.

Nilai 5 seharusnya diganti dengan ukuran atau jumlah isi array.

Sehingga akan menjadi seperti ini:

int length = sizeof(nilai) / sizeof(*nilai); for (int i = 0; i < length; i++){ printf("Nilai ke-1: %d\n", nilai[i]); }

Mengambil Panjang Array

Ada dua cara untuk mendapatkan panjang array:

  1. Partama cara seperti di atas (seperti bahasa C);
  2. Menggunakan Class array dari C++.

Kita bahas dulu cara yang pertama..

Pada contoh di atas, kita menggunakan fungsi sizeof() untuk mengambil panajang atau ukuran array.

Fungsi sizeof() sebenarnya akan mengambil ukuran memori dari array.

Misalkan saya punya array seperti ini:

Isi array-nya berupa integer, tipe data integer memiliki ukuran 4 byte dalam memori. Maka ukuran array tersebut adalah 8 byte.

Lalu bagaimana cara mendapatkan banyaknya isi array?

Karena di bahasa C belum memiliki fungsi khusus untuk mengambil banyaknya isi array.

Kita harus membaginya dengan panjang pointernya.

Contoh:

int array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; /* ukuran array dalam byte */ int size = sizeof(array); /* banyaknya isi array `array` */ int length = sizeof(array) / sizeof(*array);

Mari kita coba…

Buatlah program dengan nama panjang_array.cpp, kemudian isi dengan kode berikut:

#include <stdio.h> void main(){ // membuat array string contact[] = {"Ami", "Ayu", "Budi", "Agus", "Mila"}; // mengambil banyaknya isi array int length = sizeof(contact) / sizeof(*contact); printf("Banyaknya isi array nilai: %d\n", length); }

Hasilnya:

Cara kedua, kita bisa gunakan Class Template dari C++. Class Template ini mulai ditambahkan pada C++11.

Contoh:

// membuat array dengan class array<string, 5> names = {"Ali", "Abi", "Ami", "Mia", "Nia"}; // mengambil ukuran array cout << names.size();

Tapi sebelum kita dapat menggunakan Class Template array<>, kita harus mengimpornya dengan #include.

Contoh lengkap: array_class.cpp

#include <iostream> #include <array> using namespace std; int main(){ array<string, 5> names = {"Ali", "Abi", "Ami", "Mia", "Nia"}; printf("Ada %d data di dalam array: \n", names.size()); for(int i = 0; i < names.size(); i++){ cout << i << ". " << names[i] << endl; } return 0; }

Hasilnya:

Bisa dibilang, Class Template array ini adalah pengembangan dari cara yang sebelumnya.

Array dianggap sebagai sebuah objek..

Objek itu apa?

Buat kamu yang belum paham OOP, pasti akan menyanyakan hal ini.

Karena itu, saran saya pahami saja dulu cara yang pertama.

Nanti kita akan bahas OOP di tutorial yang berbeda.

Latihan: Program Hitung Rata-Rata

Anggap saja kita diminta untuk membuat program untuk menghitung tinggi rata-rata dari sepuluh orang.

Pertama kita pasti akan membutuhkan sebuah array dengan panjang 10 yang berisi kumpulan tinggi badan.

int tinggi_badan[10] = {175, 165, 166, 157, 184, 156, 163, 176, 171, 169};

Berikutnya kita harus menghitung nilai rata-rata dari sekumpulan nilai tersebut.

Rumus nilai rata-rata:

Mari kita buat programnya…

#include <iostream> using namespace std; int main(){ // membuat array dari tinggi badan int tinggi_badan[10] = {175, 165, 166, 157, 184, 156, 163, 176, 171, 169}; // length itu sama dengan n int length = sizeof(tinggi_badan) / sizeof(tinggi_badan[0]); int sum = 0; for(int i = 0; i < length; i++){ sum += tinggi_badan[i]; } // rata-rata tinggi badan float rata_rata = (float)sum / (float)length; printf("Rata-rata tinggi badan: %.2f\n", rata_rata); return 0; }

Hasilnya:

Array Multi Dimensi

Array yang kita buat pada contoh-contoh program di atas adalah array satu dimensi.

Array bisa dibuat dua dimensi bahkan lebih.

Array multidimensi biasanya digunakan untuk membuat matriks.

Contoh array dua dimensi:

int matriks[3][3] = { {1, 3, 5}, {5, 3, 1}, {6, 2, 3} };

Array dua dimensi biasanya digunakan untuk membuat matriks.

Lalu bagaimana cara mengambil data dari array dua dimensi?

Begini caranya:

Contoh program:

#include <iostream> using namespace std; int main(){ int matriks[3][3] = { {1, 3, 5}, {5, 3, 1}, {6, 2, 3} }; printf("Isi Data pada indeks ke-(1,0): %d\n", matriks[1][0]); return 0; }

Hasilnya:

Apa Selanjutnya?

Saya sudah menjelaskan hal-hal dasar yang harus kamu ketahui tentang array.

Intinya:

Array adalah tempat menyimpan sekumpulan data dalam satu tempat atau variabel.

Kalau belum paham tentang array, kamu bisa tanyakan melalui komentar.

Selanjutnya silahkan pelajari tentang:

  • Belajar C++ #10: Memahami Blok Fungsi pada C++

📖 Untuk daftar tutorial C++ lainnya, lihat di List Tutorial C++