List #
Di Ruby, tipe data yang paling mirip dengan “list” di bahasa pemrograman lain adalah Array. Array adalah struktur data yang digunakan untuk menyimpan kumpulan elemen, yang dapat berupa tipe data apa pun, termasuk angka, string, objek, dan bahkan array lainnya. Berikut adalah penjelasan mendetail mengenai Array di Ruby beserta berbagai operasi yang dapat dilakukan.
Mendefinisikan Array #
Array di Ruby didefinisikan dengan menggunakan tanda kurung siku []
dan dapat diinisialisasi dengan elemen-elemen di dalamnya.
Contoh:
# Array kosong
empty_array = []
# Array dengan elemen
numbers = [1, 2, 3, 4, 5]
names = ["Alice", "Bob", "Charlie"]
mixed_array = [1, "two", 3.0, :four]
Penjelasan:
empty_array
adalah array kosong.numbers
adalah array dengan elemen-elemen angka.names
adalah array dengan elemen-elemen string.mixed_array
adalah array yang berisi berbagai tipe data.
Mengakses Elemen Array #
Elemen array diakses menggunakan indeks, di mana indeks dimulai dari 0.
Contoh:
numbers = [1, 2, 3, 4, 5]
# Mengakses elemen pertama
puts numbers[0] # Output: 1
# Mengakses elemen terakhir
puts numbers[-1] # Output: 5
Penjelasan:
numbers[0]
mengakses elemen pertama.numbers[-1]
mengakses elemen terakhir (indeks negatif menghitung dari belakang).
Menambahkan dan Menghapus Elemen #
a. Menambahkan Elemen:
- Menggunakan
push
atau<<
: Menambahkan elemen di akhir array.
Contoh:
numbers = [1, 2, 3]
numbers.push(4) # Array menjadi [1, 2, 3, 4]
numbers << 5 # Array menjadi [1, 2, 3, 4, 5]
- Menggunakan
unshift
: Menambahkan elemen di awal array.
Contoh:
numbers = [1, 2, 3]
numbers.unshift(0) # Array menjadi [0, 1, 2, 3]
b. Menghapus Elemen:
- Menggunakan
pop
: Menghapus elemen terakhir dan mengembalikannya.
Contoh:
numbers = [1, 2, 3, 4]
last_element = numbers.pop # last_element adalah 4, Array menjadi [1, 2, 3]
- Menggunakan
shift
: Menghapus elemen pertama dan mengembalikannya.
Contoh:
numbers = [1, 2, 3, 4]
first_element = numbers.shift # first_element adalah 1, Array menjadi [2, 3, 4]
- Menggunakan
delete
: Menghapus elemen yang memiliki nilai tertentu.
Contoh:
numbers = [1, 2, 3, 2]
numbers.delete(2) # Array menjadi [1, 3]
- Menggunakan
delete_at
: Menghapus elemen pada indeks tertentu.
Contoh:
numbers = [1, 2, 3, 4]
numbers.delete_at(1) # Array menjadi [1, 3, 4]
Iterasi dan Manipulasi Array #
a. Menggunakan each
: Iterasi melalui setiap elemen.
Contoh:
numbers = [1, 2, 3, 4]
numbers.each do |number|
puts number
end
b. Menggunakan map
: Menerapkan blok kode pada setiap elemen dan mengembalikan array baru dengan hasilnya.
Contoh:
numbers = [1, 2, 3, 4]
squared_numbers = numbers.map { |number| number ** 2 } # [1, 4, 9, 16]
c. Menggunakan select
: Memilih elemen yang memenuhi kondisi tertentu.
Contoh:
numbers = [1, 2, 3, 4, 5]
even_numbers = numbers.select { |number| number.even? } # [2, 4]
d. Menggunakan reject
: Menghapus elemen yang memenuhi kondisi tertentu.
Contoh:
numbers = [1, 2, 3, 4, 5]
odd_numbers = numbers.reject { |number| number.even? } # [1, 3, 5]
e. Menggunakan find
: Mencari elemen yang memenuhi kondisi tertentu dan mengembalikannya.
Contoh:
numbers = [1, 2, 3, 4, 5]
first_even = numbers.find { |number| number.even? } # 2
Array Multidimensi #
Array juga dapat memiliki array lain sebagai elemen, membentuk struktur multidimensi.
Contoh:
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# Mengakses elemen di baris pertama dan kolom kedua
puts matrix[0][1] # Output: 2
Metode Array Lainnya #
size
ataulength
: Mengembalikan jumlah elemen dalam array.
Contoh:
numbers = [1, 2, 3, 4]
puts numbers.size # Output: 4
include?
: Memeriksa apakah elemen tertentu ada di dalam array.
Contoh:
numbers = [1, 2, 3, 4]
puts numbers.include?(3) # Output: true
sort
: Mengembalikan array baru yang telah diurutkan.
Contoh:
numbers = [4, 2, 3, 1]
sorted_numbers = numbers.sort # [1, 2, 3, 4]
reverse
: Mengembalikan array baru dengan elemen dalam urutan terbalik.
Contoh:
numbers = [1, 2, 3, 4]
reversed_numbers = numbers.reverse # [4, 3, 2, 1]
flatten
: Mengubah array multidimensi menjadi array satu dimensi.
Contoh:
nested_array = [1, [2, 3], [4, [5, 6]]]
flattened_array = nested_array.flatten # [1, 2, 3, 4, 5, 6]
join
: Menggabungkan elemen array menjadi string dengan pemisah.
Contoh:
words = ["Hello", "world"]
sentence = words.join(" ") # "Hello world"
split
: Membagi string menjadi array berdasarkan pemisah.
Contoh:
sentence = "Hello world"
words = sentence.split(" ") # ["Hello", "world"]
Kesimpulan #
Array di Ruby adalah struktur data yang sangat fleksibel dan kuat. Mereka memungkinkan Anda untuk menyimpan dan memanipulasi kumpulan data dengan berbagai cara. Dengan memahami berbagai operasi yang dapat dilakukan pada array, Anda dapat menulis kode Ruby yang lebih efektif dan efisien. Jika ada bagian tertentu yang perlu penjelasan lebih lanjut atau jika Anda memiliki pertanyaan lain, jangan ragu untuk bertanya!