Selalu ingin mencoba hal - hal yang baru meski penuh resiko dan tantangan yang sulit. "Kain kafan tidak berkantung".

Golang tutorial indonesia – Array

0
Degananda.com -

Array

Array adalah Struktur data yang merupakan kumpulan dari beberapa elemen yang memiliki tipe data yang sama. Contohnya adalah array yang didalamnya terdapat angka dengan tipe integer. A = [1,2,3,4,5,6,7,8,9,10].  Array sangat penting dalam pemrograman karena digunakan untuk menggambarkan data. Setiap elemen dalam suatu array harus memiliki tipe yang sama. Selain itu array juga memiliki panjang yang terbatas.

Deklarasi array

Cara konvensional

Untuk membuat array pada golang yang kode yang digunakan adalah sebagai berikut ini

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian [10]int
	fmt.Println(nilaiUjian)

}

Kode diatas akan membuat array dengan panjang 10. Sehingga kita dapat memasukan 10 elemen didalam array tersebut dengan index mulai dari 0 (nol).

Cara terpendek

Jika anda senang dengan sesuatu yang pendek dan simpel maka mendeklarasikan array cukup dengan kode dibawah ini

package main

import (
	"fmt"
)

func main() {

	nilai_ujian := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}


}

Memberikan nilai pada array disuatu index

Untuk dapat memberikan nilai disuatu array maka perintah yang kita gunakan adalah nama_dari_index[no_index] = nilai. yang perlu diperhatikan adalah jangan sampai memberikan nilai index yang melebihi kapasitas atau panjang dari array. Contohnya pada kode diatas kita membuat array dengan kapasitas 10 maka maksimal indexnya adalah 9

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian [10]int
	nilaiUjian[0] = 80
	nilaiUjian[5] = 87
	fmt.Println(nilaiUjian)

}

selain dapat memberikan nilai dengan memanggil indexnya, kita juga dapat memberikan nilai dari array tersebut saat mendeklerasikannya. Perhatikan contoh dibawah ini

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian [10]int = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 10}
	fmt.Println(nilaiUjian)

}

atau jika anda tidak ingin menuliskan kapasitas / panjang array (meski nanti oleh go akan ditentukan panjangnya) anda dapat mengosongkan nilai didalam bracket kurung siku tersebut.

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian = []int{1, 2, 3, 4, 5, 6, 7, 8, 10}
	fmt.Println(nilaiUjian)

}

deklarasi array seperti ini sangat singkat kita tidak perlu menuliskan panjang dari array serta tipe data yang digunakan. Go yang akan menghandle kedua proses tersebut. Penulisan memanjang secara horizontal seperti pada kode diatas kurang tepat jika untuk menuliskan data yang banyak. Anda dapat menuliskannya secara vertikal seperti ini

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian = []int{
		1,
		2,
		3,
		4,
		5,
		6,
		7,
		8,
		10, // harus tetap menggunakan koma
	}
	fmt.Println(nilaiUjian)

}

gunakan model penulisan yang sesuai dengan preferensi anda. Sesuaikan dengan kondisi. Ingat pemberian nilai pada suatu array dengan cara vertikal diatas harus ikuti dengan koma (“,”) disetiap elemen yang didaftarkan ke array tersebut meski elemen tersebut berada di posisi paling ahir.

Iterasi pada array

Konvensional

Terkadang kita membutuhkan untuk melakukan iterasi atau looping pada suatu array. Normalnya kita akan menggunakan for loop dengan mendefinisikan index 0 dan akan mengiterasi sebanyak dari panjang array tersebut. Jika menggunakan approach diatas maka kodennya adalah sebagai berikut ini

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian = []int{
		1,
		2,
		3,
		4,
		5,
		6,
		7,
		8,
		10,
	}

	for i := 0; i < len(nilaiUjian); i++ {
		fmt.Println(nilaiUjian[i])
	}

}


len adalah kependekan dari length. Yang merupakan fungsi untuk menghitung panjang dari suatu array ataupun string. Contoh len(nilaiUjian) akan menghasilkan 10 karena terdapat 10 elemen dalam array tersebut. Penulisan iterasi seperti contoh diatas sangat tidak dianjurkan karena kita harus mendapatkan panjang dari array.

Range

Cara kedua untuk melakukan iterasi pada suatu array adalah dengan menggunakan range. Jika anda pernah melakukan foreach maka range memiliki mekanisme yang sama. Contohnya adalah sebagai berikut ini

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian = []int{
		1,
		2,
		3,
		4,
		5,
		6,
		7,
		8,
		10,
	}

	for index, value := range nilaiUjian {
		fmt.Println("index : ", index, " Nilai : ", value)
	}

}

terdapat dua buah variable yang harus dideklerasikan dalam for yang menggunakan range yakni

  • index, variable pertama yang merupakan index iterasi. iterasi pertama maka index akan bernilai 0. iterasi kedua index bernilai 1 dan seterusnya. Ingat index dalam array dimulai dari 0 (nol)
  • value,  variable kedua yang menyimpan nilai dari elemen array pada index tertentu. Pada iterasi pertama maka valuenya adalah 1.

Kode diatas jika dijalankan atau dieksekusi akan menghasilkan seperti ini

Melakukan iterasi dengan menggunakan range sangat direkomendasikan karena lebih sedikit kode yang harus dituliskan. Less code better performance. Jika anda tidak membutuhkan variable index maka anda dapat menghilangkan variable index tersebut dengan cara menggantinnya dengan underscore. Maka go tidak akan memproses variable index itu (variable pertama dalam for diatas).

package main

import (
	"fmt"
)

func main() {

	var nilaiUjian = []int{
		1,
		2,
		3,
		4,
		5,
		6,
		7,
		8,
		10,
	}

	for _, value := range nilaiUjian {
		fmt.Println(" Nilai : ", value)
	}

}

menggunakan underscore untuk mengganti variable index sangat penting karena golang tidak mengizinkan kita untuk mendeklarasikan variable yang tidak kita gunakan.

Kita tidak dapat menambahkan elemen diluar index dari suatu array

oleh karena itu jika memiliki array dengan kapasitas 10 dan ingin menambahkan kapasitasnya menjadi 11 dengan data tertentu maka kita harus membuat array baru dengan kapasitas 11 dan memasukan nilai(elemen) dimasing – masing index. Oleh karena itu array sangat kaku(rigid). Ulasan selanjutnya akan membahas structure data slice yang lebih dinamis dibandingkan dengan array.