MODUL 6
ARRAY
6.1 Konsep Dasar
Didalam pemrograman teks (console), implementasi array sulit dipahami karena unsur
elemen-elemen yang sulit diidentifikasi keberadaanya didalam memori. Secara struktur
elemen-elemen ditempatkan dimemori dengan dukungan indeks. Dengan indeks setiap
elemen dapat diakses. Contoh array dapat diilustrasikan dalam data berikut :
nilai = 76, 88, 92, 67, 95, 79
Kita bisa melihat data yang dimiliki oleh nilai terdiri dari 6 data, yang jika diamani data-data
tersebut memiliki sifat yang sama, yaitu bilang bulat. Ini berarti identik dengan integer.
Keenam nilai tersebut tidak mudah untuk diakses jika setiap elemen disusun tanpa
memiliki lokasi penyimpanan, sehingga dibutuhkan suatu bilangan bulat positif yang
bertugas mengakses keenam data tersebut. Jika digambarkan, data tersebut dapat berupa
struktur berikut :
Dengan struktur diatas dapat dijelaskan bahwa sekumpulan data tersebut merupakan
suatu struktur data yang memiliki nama yang sama dan tipe data yang sama. Struktur
ini yang dinamakan dengan array. Untuk mengakses nilai 95, variabel array dapat
disebutkan dengan formatnilai[4], yang berarti mengakses array nilai yang berada pada
indeks [Link] array indeks selalu bertipe bilangan bulat positif yang dimulai dengan
nilai 0 sebagai indeks data (elemen) pertama. Secara sistem untuk pemberkasan nilai array
diatas mengacu pada bentuk :
Nilai[0] = 76;
Nilai[1] = 88;
Nilai[2] = 92;
Nilai[3] = 67;
Nilai[4] = 95;
Nilai[5] = 79;
6.2 Mendeklarasikan Array
Pendeklarasian Array mengacu kepada dimensinya. Ada beberapa tingkatan array
berdasarkan dimensinya. Dimensi satu merupakan struktur data yang memiliki satu
Praktikum Pemrograman Visual Page 71
dimensi data yang dapat tersusun secara horizontal maupun vertikal. Karena inilah array
dimensi satu merepresentasikan sebuah baris atau kolom tunggal. Array dimensi satu
dapat diterapkan dengan struktur seperti berikut :
Tipe[] namaArray;
Contoh int[] bilangan;
Char[]huruf;
Elemen array (nilai array) dapat diinisialiasaikan secara langsung pada saat
mengenalkannya di dalam program. Penginisialisasian variabel array dapat mengikuti
struktur berikut :
tipe[] namaArray = {elemen1, elemen2,..,elemen_n };
Contoh
int[] nilai = {76, 88, 92, 67, 95, 79}; atau
int [] nilai = new int[5] {76, 88, 92, 67, 95, 79};
atau
int [] nilai = new int[] {76, 88, 92, 67, 95, 79};
6.3 Penggunaan Array
Setelah membaca konsep dasar Array dan cara pendeklarasian array diatas, mari kita
terapkan dalam pemrograman. Dalam contoh ini, penerapan menggunakan
permrograman console. Dalam pemrograman console, contoh array diatas dapat ditulis
dalam berbagai cara, diantaranya dapat dilihat pada contoh progra berikut :
1) Dengan perulangan For
using System;
using [Link];
using [Link];
using [Link];
namespace ArrText
{
classProgram
{
staticvoid Main(string[] args)
{
int[] nilai = { 77, 88, 92, 67, 95, 79 };
Praktikum Pemrograman Visual Page 72
for (int i = 0; i < [Link]; i++)
[Link](nilai[i]+ " ");
[Link]();
}
}
}
Perhatikan pada kotak berwarna merah, array dideklarasikan dengan format yang
sederhana. Dimana variabel array nilai diakses oleh indeks i. Setiap element array nilai
dieksekusi dengan nilai[i] dimana i harus lebih kecil dari nilai indeks yang tertinggi antara
77, 88, 92, 67, 95, dan 79. Seperti yang kita ketahui bahwa nilai tersebut berada pada
indeks 0, 1, 2, 3, 4, 5, dan 6. Dengan demikian nomor indeks pada [Link] adalah sama
dengan [Link] dijalankan, program tersebut akan menghasilkan keluaran seperti pada
gambar berikut :
2) Dengan Perulangan Foreach
Foreach merupakan struktur perulangan yang berfungsi untuk mengakses elemen-
elemen (nilai) pada struktur data array. Penggunaan perulangan Foreach mengacu kepada
struktur program berikut ini :
foreach(tipe variabel_baru in variabel_array) {
Statemen;
...
}
Dimana :
1. tipeadalah tipe data berfungsi untuk menangani elemen array,
2. variabel_baruberfungsi untuk menggantikan peran (nama) array telah
dideklarasikan diawal,
3. Parameter in mendeklarasikan setiap elemen yang ditangani oleh variabel_baru
yang berada di dalam array.
4. Sedangkan variabel_array merupakan variabel array yang telah dideklarasikan di
awal yang sesuai dengan format deklarasi struktur array.
Contoh, misalkan suatu array dideklarasikan seperti berikut :
String[] namaKaryawan = new string[3]
{“Faisal”, “Umar”, “Abdullah”};
Praktikum Pemrograman Visual Page 73
Maka pengaksesan array tersebut dengan perulangan foreach dapat dituliskan dalam
struktur berikut ini :
foreach(string data in namaKaryawan) {
Statement ;
...
}
Dari contoh foreach diatas, string merupakan tipe yang dideklarasikan untuk
variabel data, yang akan mengakomodir setiap elemen di dalam arraynamaKaryawan.
Untuk lebih memahami penggunaan foreach ini perhatikan contoh program berikut :
a. Contoh 1 : array dengan tipe integer
using System;
using [Link];
using [Link];
using [Link];
namespace ArrText
{
classProgram
{
staticvoid Main(string[] args)
{
int[] Arr = newint[6] { 77, 88, 92, 67, 95, 79 };
foreach (int nilai in Arr) {
[Link](nilai + " ");
}
[Link]();
}
}
}
Pada contoh program diatas, terlihat elemen array diakses dengan foreach, yang
ditunjukkan pada kotak berwarna [Link] program tersebut dieksekusi, hasilnya akan
menampilkan keluaran seperti pada gambar berikut ini :
b. Contoh 2 : array dengan tipe string
1. using System;
2. using [Link];
3. using [Link];
Praktikum Pemrograman Visual Page 74
4. using [Link];
5.
6. namespace ArrText
7. {
8. classProgram
9. {
10. staticvoid Main(string[] args)
11. {
12. string[] hari = newstring[7] { "Ahad", "senin", "selasa",
"rabu", "kamis", "jum'at", "sabtu" };
13.
14. foreach (string day in hari)
15. {
16. [Link](day);
17. }
18.
19. [Link]();
20. }
21. }
22. }
23.
Keluaran program diatas akan menampilkan data string hari seperti pada tampilan
gambar berikut ini :
6.4 Array multidimensi
Contoh-contoh yang disajikan pada contoh-contoh diatas menerapkan array dengan
dimensi satu. Dimana array dimensi satu merepresentasikan sebuah baris atau kolom.
Pada array multidimensi, struktur data merepresentasikan sebuat matriks atau tabel.
Dimana elemen indeks pertama(kiri) merepresentasikan baris, sedangkan indeks kedua
(kanan) merepresentasikan kolom, begitu juga dengan indeks ketiga bisa
merepresentasikan baris ataupun kolom, bergantung kepada disain array.
Array multi dimensi dapat digunakan dengan struktur program yang mengacu pada
format umum seperti berikut :
tipe[,] namaArray = new tipe[baris, kolom];
Praktikum Pemrograman Visual Page 75
nilai baris dan kolom pada deklarasi strukutr array multidimensi diatas mewakili jumlah
baris dan kolom. Dimana baris merepresentasikan jumlah banyaknya baris, dan kolom
banyaknya kolom data. Deklarasi array diatas merupakan deklarasi array 2 dimensi. Array
2, 3 atau lebih merupakan bagian dari multidimensi. Sehingga pendeklarasian array sama
dengan struktur diatas.
Berdasarkan struktur diatas, berikut contoh penulisan array multidimensi :
// deklarasi array 2 dimensi
int[,] nilai = new int[4, 2];
//deklarasi array 3 dimensi
int[, ,] nilai = new int[4, 2, 3];
pendeklarasian array dapat juga dengan menginisialisasikan nilai array seperti pada contoh
berikut :
// Array 2 dimensi
int[,] nilai = new int[,] {
{ 1, 2 }, { 3, 4 },
{ 5, 6 }, { 7, 8 }};atau
int[,] nilai = new int[4, 2] {
{ 1, 2 }, { 3, 4 },
{ 5, 6 }, { 7, 8 }
};
Untuk array bertipe string dapat ditulis seperti berikut :
// Array 2 dimensi
string[,] ArrString = new string[3, 2] {
{ "one", "two" },
{ "three", "four" },
{ "five", "six" }
};
Sedangkan untuk array 3 dimensi dapat menggunakan struktur berikut :
Praktikum Pemrograman Visual Page 76
// Array 3 dimensi.
int[, ,] nilai = new int[2, 2, 3] {{
{ 1, 2, 3 }, { 4, 5, 6 } },
{ { 7, 8, 9 }, { 10, 11, 12 }
} }; atau
int[, ,] nilai = new int[,,] { {
{ 1, 2, 3 }, { 4, 5, 6 } },
{ { 7, 8, 9 }, { 10, 11, 12 }
} };
.
Selanjutnya mari kita terapkan struktur diatas kedalam pemrograman console
berikut ini :
1. using System;
1. using [Link];
2. using [Link];
3. using [Link];
4.
5. namespace ArrText
6. {
7. classProgram
8. {
9. staticvoid Main(string[] args)
10. {
11. int[,] nilai = newint[5, 2] { { 0, 0 }, { 1, 2 }, { 2, 4 },
{ 3, 6 }, { 4, 8 } };
12. int x, y;
13.
14. for (x = 0; x < 5; x++)
15. {
16.
17. for (y = 0; y < 2; y++)
18. {
19. [Link]("Nilai[{0},{1}] = {2}", x, y, nilai[x,
y]);
20. }
21. }
22. [Link]();
23.
24. }
25. }
26. }
27.
Praktikum Pemrograman Visual Page 77
6.5 Array GUI
Sekarang mari kita bahas pengimplementasian array secara GUI dengan pemrograman
C# menggunakan Microsoft Visual Studio 10.0. Penerapan array akan tampak lebih mudah
jika ditampilkan dalam grafik.
A. Menggunakan ListView
1) Antarmuka
Desain antarmuka sesuatu yang mutlak ditetapkan. Hal ini untuk membantu
perancangan menjadi lebih mudah dalam menyusunan objek (tool). Antarmuka dapat
berupa gambar berikut :
2) Penggunaan Tools
Berdasarkan antarmuka tersebut, beberapa tools yang digunakan diuraikan pada tabel
berikut :
Tools Text/ Caption Nama Property Kegunaan Untuk
Form Form1 Form1 Jendela aplikasi
Listview listView1 listView1 Menampilkan data
Button button1 button1 Tombol proses
3) Penulisan program
Untuk memahami penggunaan array perhatikan kode program berikut :
1. using System;
Praktikum Pemrograman Visual Page 78
2. using [Link];
3. using [Link];
4. using [Link];
5. using [Link];
6. using [Link];
7. using [Link];
8. using [Link];
9.
10. namespace loopgui
11. {
12. publicpartialclassForm5 : Form
13. {
14. public Form5()
15. {
16. InitializeComponent();
17. }
18.
19. privatevoid Form5_Load(object sender, EventArgs e)
20. {
21. [Link] = "Test";
22.
23. [Link] = [Link];
24. [Link] = true;
25. [Link] = true;
26.
27. //Creating the title
28. [Link]("Id", 20);
29. [Link]("Name", 30);
30. [Link]("Classes", 15);
31.
32. //Add Item in List the data
33. String[] arr = newstring[3];
34. ListViewItem item;
35.
36. //Add first data
37. arr[0] = "70116001";
38. arr[1] = "Aisyah Ramadhani";
39. arr[2] = "Sains 1";
40. item = newListViewItem(arr);
41. [Link](item);
42.
43. //Add second data
44. arr[0] = "70116002";
45. arr[1] = "Rakhmat";
46. arr[2] = "Sains 2";
47. item = newListViewItem(arr);
48. [Link](item);
49.
Praktikum Pemrograman Visual Page 79
50. //Add three data
51. arr[0] = "70116003";
52. arr[1] = "M. Ridho";
53. arr[2] = "Sains 3";
54. item = newListViewItem(arr);
55. [Link](item);
56. }
57.
58. privatevoid button1_Click(object sender, EventArgs e)
59. {
60. string Id = null;
61. string Name = null;
62. string Classes = null;
63. Id =
[Link][0].SubItems[0].Text;
64. Name =
[Link][0].SubItems[1].Text;
65. Classes =
[Link][0].SubItems[2].Text;
66.
67. [Link](Id + ", " + Name + ", " + Classes);
68. }
69. }
70. }
71.
Dalam kode program diatas, array ditunjukkan pada struktur Arr[]=”nilai string”seperti :
arr[0] = "70116001";
arr[1] = "Aisyah Ramadhani";
arr[2] = "Sains 1";
program tersebut menampilkan keluaran seperti berikut :
Praktikum Pemrograman Visual Page 80
Tombol test diterapkan untuk memberikan pesan, misal salah satu data dipilih maka
tombol test akan memberikan informasi tentang data yang dipilih. Keluaran ketika tombol
test ditekan akan menampilkan keluaran seperti pada gambar berikut :
B. Menggunakan TextBox
Selanjutnya kita coba array dengan tools textbox, dimana algoritma untuk aplikasi ini
seperti berikut :
a. Jalankan aplikasi
b. Masukkan string (nama)
c. Tekan tombol “Tambahkan”
- Program akan menyimpan data ke array yang ditampung pada textbox
d. Program selesai
1) Tools
Dengan menggunakan algoritma tersebut, kita dapat menganalisa kebutuhan alat
(tools). Adapun kebutuhan alat (tools) disajikan pada tabel berikut :
Tools Text/ Caption Nama Property Kegunaan Untuk
Form Form1 Form1 Jendela aplikasi
Textbox Masukkan nama disini textBox1 Kotak masukan
Textbox (kosong) textBox2 Kotak keluaran
Button Tambah nama button1 Tombol proses
2) Antarmuka
Selanjutnya antarmuka dapat dirancang secara bebas dengan menggunakan tools
yang disajikan pada tabel diatas, dalam contoh kali ini, disain dirancang seperti berikut :
Praktikum Pemrograman Visual Page 81
3) Penulisan Program
Dengan menggunakan algoritma diatas, rancangan program dapat dituliskan seperti
pada kode program berikut :
1. using System;
2. using [Link];
3. using [Link];
4. using [Link];
5. using [Link];
6. using [Link];
7. using [Link];
8. using [Link];
9.
10. namespace loopgui
11. {
12. publicpartialclassForm6 : Form
13. {
14. string[] namaMhs = newstring[20];
15. int i = 0;
16.
17. public Form6()
18. {
19. InitializeComponent();
20. }
21.
22. privatevoid button1_Click(object sender, EventArgs e)
23. {
24. namaMhs[i] = [Link];
25. [Link] = namaMhs[i];
26. i++;
27.
28. }
29.
30. privatevoid Form6_Load(object sender, EventArgs e)
31. {
32. [Link] = "Kotak Masukan";
33. [Link] = "Keluaran";
34. [Link] = "Ketik nama disini";
35. [Link] = "Tambahkan Nama";
Praktikum Pemrograman Visual Page 82
36. }
37. }
38. }
39.
Tampak pada kode program diatas dituliskan dengan struktur
string[] namaMhs = newstring[20];
int i = 0;
Struktur array pada program diatas ditulis secara global. Variabel yang ditulis secara global
memiliki keuntungan setiap fungsi dan methode yang berada di tubuh fungsi tersebut
dapat mengaksesnya. Program tersebut jika dieksekusi akan menampilkan keluaran seperti
berikut :
Tombol “Tambahkan Nama” akan memberikan event kepada kotak keluaran. Aksi tombol
tersebut menampilkan keluaran pada gambar berikut :
Praktikum Pemrograman Visual Page 83