Minggu, 1 November 2026

Struktur Data Array (List)

Informatika Kelas X โ€” Bab 6: Analisis Data

Bagian D: Struktur Data Array (List)

Pengampu : Zuli Irawanto, ST


๐ŸŽฏ Tujuan Pembelajaran

Setelah mempelajari materi ini, siswa diharapkan mampu:

  1. Menjelaskan pengertian array/list dan alasan data perlu disimpan dalam satu wadah.
  2. Membuat list, mengakses, mengubah, menambah, dan menghapus isinya.
  3. Mengambil sebagian isi list dengan slicing.
  4. Menghitung ringkasan data (jumlah, rata-rata, tertinggi, terendah) memakai fungsi bawaan Python.
  5. Membuat list di dalam list untuk menyimpan data berbentuk tabel.

Mengapa Perlu List?

Di Bagian C, nilai disimpan dalam variabel terpisah: nilai1, nilai2, nilai3. Bayangkan satu kelas ada 36 siswa. Apakah kita akan membuat 36 variabel? Tentu melelahkan! Untuk itu ada list.

Array adalah struktur data untuk menyimpan banyak nilai berurutan dalam satu nama. Di Python, array dibuat dengan list, yang ditulis dengan kurung siku [ ] dan nilai dipisah koma.

Analogi sederhana:
List itu seperti deretan loker bernomor di sekolah. Satu deretan punya satu nama (misalnya nilai), dan tiap loker punya nomor urut untuk menyimpan satu barang. Perhatikan: nomor loker di Python dimulai dari 0, bukan 1!

Cara Belajar Bagian Ini

Bagian ini melanjutkan Tugas Praktik dari Bagian C, jadi nomornya mulai dari Praktik 10 sampai Praktik 18. Polanya masih sama: ๐Ÿค” Tebak dulu โ†’ โŒจ๏ธ Ketik & jalankan โ†’ โœ… Cocokkan โ†’ ๐Ÿ’ก Pahami โ†’ ๐Ÿ Tantangan mini.

Persiapan: buka Google Colab, buat notebook baru bernama Praktik_Bab6D_NamaKamu, dan gunakan satu sel kode baru untuk setiap praktik. Setiap praktik berdiri sendiri, jadi nilai di sel sebelumnya tidak ikut terbawa.

๐Ÿงช Tugas Praktik 10: Membuat List Pertamaku

๐Ÿค” Tebak dulu! Bagaimana cara menyimpan nilai 5 siswa dalam satu variabel saja?

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

nilai = [87, 65, 90, 72, 95]
print(nilai)
print(type(nilai))

โœ… Hasilnya:

[87, 65, 90, 72, 95]
<class 'list'>

๐Ÿ’ก Penjelasan: Tanda kurung siku [ ] membuat sebuah list, dan tiap isinya (disebut elemen) dipisah koma. Satu variabel nilai kini menyimpan lima angka sekaligus. Tipe datanya adalah list. Ingat data 87, 65, 90, 72, 95 di Bagian A? Itulah data mentah kita!

๐Ÿ Tantangan mini: Buat list bernama hobi berisi tiga hobimu (teks memakai tanda kutip), lalu tampilkan.

๐Ÿงช Tugas Praktik 11: Mengakses Isi List dengan Indeks

๐Ÿค” Tebak dulu! Menurutmu, nilai[0] menampilkan nilai pertama atau nilai kedua? Lalu apa arti nilai[-1]?

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

nilai = [87, 65, 90, 72, 95]
print(nilai[0])
print(nilai[2])
print(nilai[-1])

โœ… Hasilnya:

87
90
95

๐Ÿ’ก Penjelasan: Setiap elemen punya nomor urut yang disebut indeks, dan indeks dimulai dari 0. Jadi nilai[0] adalah elemen pertama, nilai[2] elemen ketiga, dan nilai[-1] adalah elemen terakhir (indeks negatif menghitung dari belakang).

Ilustrasi list nilai: angka kecil di atas adalah indeks (nomor urut), isinya di dalam kotak
0
87
1
65
2
90
3
72
4
95
Indeks Indeks negatif Isi
0 -5 87
1 -4 65
2 -3 90
3 -2 72
4 -1 95
๐Ÿ Tantangan mini: Coba print(nilai[5]). Muncul IndexError: list index out of range. Menurutmu, mengapa error?

๐Ÿงช Tugas Praktik 12: Mengubah dan Menambah Isi List

๐Ÿค” Tebak dulu! Jika nilai kedua (65) diubah menjadi 70, lalu ditambah satu nilai baru 80, bagaimana isi list-nya?

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

nilai = [87, 65, 90, 72, 95]
nilai[1] = 70
print(nilai)

nilai.append(80)
print(nilai)

โœ… Hasilnya:

[87, 70, 90, 72, 95]
[87, 70, 90, 72, 95, 80]

๐Ÿ’ก Penjelasan: Isi list boleh diubah: tulis indeksnya lalu beri nilai baru dengan =. Untuk menambah elemen di akhir list, pakai .append().

๐Ÿ Tantangan mini: Coba nilai.insert(0, 100) lalu print(nilai). Di mana angka 100 muncul?

๐Ÿงช Tugas Praktik 13: Menghapus Isi dan Menghitung Jumlah Elemen

๐Ÿค” Tebak dulu! Setelah nilai 65 dihapus, lalu elemen terakhir diambil, apa saja yang tersisa?

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

nilai = [87, 65, 90, 72, 95]
print(len(nilai))

nilai.remove(65)
print(nilai)

terakhir = nilai.pop()
print(terakhir)
print(nilai)

โœ… Hasilnya:

5
[87, 90, 72, 95]
95
[87, 90, 72]

๐Ÿ’ก Penjelasan: Fungsi len() menghitung banyak elemen dalam list. .remove(65) menghapus elemen yang nilainya 65, sedangkan .pop() mengambil sekaligus menghapus elemen terakhir. Berikut ringkasan perintah list:

Perintah Fungsi
append(x) Menambah x di akhir list
insert(i, x) Menyisipkan x di posisi indeks i
remove(x) Menghapus elemen yang nilainya x
pop() Mengambil dan menghapus elemen terakhir
len(list) Menghitung banyak elemen
๐Ÿ Tantangan mini: Setelah semua perintah tadi, berapa hasil len(nilai)? Tebak dulu, lalu cek.

๐Ÿงช Tugas Praktik 14: Mengambil Sebagian List (Slicing)

๐Ÿค” Tebak dulu! Bagaimana cara mengambil hanya nilai ke-2 sampai ke-4 dari list?

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

nilai = [87, 65, 90, 72, 95]
print(nilai[1:4])
print(nilai[:2])
print(nilai[2:])

โœ… Hasilnya:

[65, 90, 72]
[87, 65]
[90, 72, 95]

๐Ÿ’ก Penjelasan: Format [a:b] mengambil elemen dari indeks a sampai sebelum indeks b. Jadi [1:4] mengambil indeks 1, 2, dan 3 (indeks 4 tidak ikut). Jika a dikosongkan, mulai dari awal. Jika b dikosongkan, sampai akhir.

๐Ÿ Tantangan mini: Ambil tiga nilai terakhir memakai nilai[-3:]. Apa hasilnya?

๐Ÿงช Tugas Praktik 15: Ringkasan Data: Jumlah, Rata-rata, Tertinggi, Terendah

๐Ÿค” Tebak dulu! Dari list nilai 87, 65, 90, 72, 95, berapa rata-ratanya? Bandingkan dengan angka 81,8 di Bagian A!

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

nilai = [87, 65, 90, 72, 95]
print("Jumlah:", sum(nilai))
print("Banyak data:", len(nilai))
print("Rata-rata:", sum(nilai) / len(nilai))
print("Tertinggi:", max(nilai))
print("Terendah:", min(nilai))
print("Diurutkan:", sorted(nilai))

โœ… Hasilnya:

Jumlah: 409
Banyak data: 5
Rata-rata: 81.8
Tertinggi: 95
Terendah: 65
Diurutkan: [65, 72, 87, 90, 95]

๐Ÿ’ก Penjelasan: Python punya fungsi bawaan yang sangat praktis untuk list angka. Rata-ratanya 81,8, sama persis dengan contoh di Bagian A. Dulu kita menghitungnya satu per satu, sekarang cukup beberapa baris! Ini contoh nyata pengolahan data. Perhatikan bahwa sorted() hanya menampilkan versi urut, sedangkan list aslinya tidak berubah.

Perintah Fungsi
sum(list) Menjumlahkan semua elemen
max(list) Nilai terbesar
min(list) Nilai terkecil
sorted(list) List versi terurut (kecil ke besar)
๐Ÿ Tantangan mini: Ganti isi list dengan 5 nilai ulanganmu sendiri. Siapa yang paling tinggi, dan berapa rata-ratanya?

๐Ÿงช Tugas Praktik 16: List Berisi Teks dan Memeriksa Isi

๐Ÿค” Tebak dulu! List tidak hanya untuk angka. Bagaimana cara memeriksa apakah nama “Sari” ada di dalam daftar siswa?

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

siswa = ["Budi", "Sari", "Andi"]
print("Sari" in siswa)
print("Dedi" in siswa)

siswa.append("Dedi")
print(siswa)
print(len(siswa))

โœ… Hasilnya:

True
False
['Budi', 'Sari', 'Andi', 'Dedi']
4

๐Ÿ’ก Penjelasan: List boleh berisi teks, angka, atau campuran keduanya. Kata in dipakai untuk memeriksa apakah suatu nilai ada di dalam list, dan hasilnya True (ada) atau False (tidak ada). Ini tipe data boolean yang kita pelajari di Bagian C.

๐Ÿ Tantangan mini: Periksa apakah namamu ada di list siswa. Jika belum, tambahkan dengan append().

๐Ÿงช Tugas Praktik 17: List di Dalam List (Data Berbentuk Tabel)

๐Ÿค” Tebak dulu! Data nilai biasanya berbentuk tabel: ada nama dan nilai. Bagaimana menyimpannya di Python?

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

data = [["Budi", 87], ["Sari", 90], ["Andi", 75]]
print(data[1])
print(data[1][0])
print(data[1][1])

โœ… Hasilnya:

['Sari', 90]
Sari
90

๐Ÿ’ก Penjelasan: Sebuah list boleh berisi list lain. Tiap list kecil mewakili satu baris tabel. data[1] mengambil baris ke-2, sedangkan data[1][0] mengambil kolom ke-1 dari baris itu. Beginilah cara komputer menyimpan data tabel, mirip lembar Excel. Struktur ini kelak berguna saat kita memakai pustaka analisis data.

Indeks baris Nama (kolom 0) Nilai (kolom 1)
0 Budi 87
1 Sari 90
2 Andi 75
๐Ÿ Tantangan mini: Tampilkan nilai Andi dengan satu perintah print(). Indeks berapa yang kamu pakai?

๐Ÿงช Tugas Praktik 18: Mini Proyek: Analisis Nilai Satu Kelompok

๐Ÿค” Tebak dulu! Untuk 8 nilai di bawah, berapa nilai tertinggi, terendah, dan rata-ratanya? Perkirakan dulu.

โŒจ๏ธ Ketik di sel kode, lalu jalankan:

nilai = [78, 85, 92, 67, 88, 74, 95, 81]

print("Jumlah siswa:", len(nilai))
print("Tertinggi:", max(nilai))
print("Terendah:", min(nilai))
print("Rata-rata:", sum(nilai) / len(nilai))
print("Diurutkan:", sorted(nilai))
print("3 nilai tertinggi:", sorted(nilai)[-3:])

โœ… Hasilnya:

Jumlah siswa: 8
Tertinggi: 95
Terendah: 67
Rata-rata: 82.5
Diurutkan: [67, 74, 78, 81, 85, 88, 92, 95]
3 nilai tertinggi: [88, 92, 95]

๐Ÿ’ก Penjelasan: Selamat! ๐ŸŽ‰ Kamu baru saja membuat analisis data pertamamu: data mentah (list nilai) diolah menjadi informasi (rata-rata, tertinggi, terendah, dan peringkat). Perhatikan sorted(nilai)[-3:]: list diurutkan dulu, lalu di-slice untuk mengambil tiga terakhir.

๐Ÿ Tantangan mini: Tambahkan dua nilai baru dengan append(), lalu jalankan ulang. Apa yang berubah pada rata-ratanya?

Rangkuman

  • Array/list menyimpan banyak nilai berurutan dalam satu variabel, ditulis dengan [ ].
  • Setiap elemen punya indeks yang dimulai dari 0. Indeks -1 adalah elemen terakhir.
  • Isi list bisa diubah: list[i] = x, append(), insert(), remove(), dan pop().
  • len() menghitung banyak elemen, dan slicing [a:b] mengambil sebagian list (indeks b tidak ikut).
  • sum(), max(), min(), dan sorted() membantu meringkas data dengan cepat.
  • Kata in memeriksa apakah suatu nilai ada di dalam list.
  • List di dalam list dipakai untuk menyimpan data berbentuk tabel (baris dan kolom).

๐ŸŒฑ Pengayaan (Opsional)

Bagaimana kalau list berisi 1.000 nilai dan kita ingin menampilkan atau memeriksa satu per satu? Tentu tidak mungkin menulis 1.000 baris print(). Di Bagian E nanti kita belajar perulangan, yang membuat komputer mengerjakan tugas berulang dengan cepat dan rapi. Dengan list, data kita sudah siap!

Coba tantang dirimu: apa hasil dari print([1, 2, 3] + [4, 5]) dan print([0] * 3)? Tebak dulu sebelum menjalankannya!


๐Ÿ’— Nilai Panca Cinta: Cinta Lingkungan

List mengajarkan kita menata dengan rapi dan efisien. Daripada membuat puluhan variabel yang berserakan, semua data ditata dalam satu wadah bernomor sehingga mudah dicari dan dirawat. Sikap tertib dan tidak berlebihan ini sejalan dengan cinta lingkungan: menjaga kerapian dan kebersihan sekitar kita, menempatkan barang pada tempatnya, dan tidak boros. Lingkungan yang tertata membuat kita nyaman belajar, dan kode yang tertata membuat program mudah dipahami.

Refleksi: Bagaimana kamu menata buku dan perlengkapan belajarmu di rumah? Apakah mudah menemukan barang yang kamu cari?


๐Ÿ“ Tugas Siswa

Tugas Mandiri: Analisis Nilai Rapor Kecilku

Setelah menyelesaikan Praktik 10โ€“18, buat satu notebook baru bernama Tugas_List_NamaKamu, lalu kerjakan:

  1. Buat list nilai berisi 6 nilai (boleh nilai ulanganmu atau nilai rekaan). Tampilkan nilai pertama dan nilai terakhir.
  2. Tambahkan satu nilai baru dengan append(), lalu hapus satu nilai dengan remove(). Tampilkan list setelah setiap perubahan.
  3. Tampilkan jumlah, rata-rata, nilai tertinggi, dan nilai terendah.
  4. Tampilkan tiga nilai terendah (petunjuk: sorted() dan slicing).
  5. Buat list di dalam list berisi nama dan nilai tiga temanmu, lalu tampilkan nilai teman yang kedua.
Pertanyaan Jawaban
Tautan (link) notebook โ€ฆ
Isi list nilai, nilai pertama & terakhir โ€ฆ
Jumlah, rata-rata, tertinggi, terendah โ€ฆ
Tiga nilai terendah โ€ฆ
Kendala yang dialami & cara mengatasinya โ€ฆ
๐Ÿ’— Soal Tambahan (Nilai Panca Cinta โ€” Cinta Lingkungan):
Sebutkan satu contoh di sekitarmu (di rumah, kelas, atau madrasah) yang sudah tertata rapi seperti sebuah list, dan satu contoh yang masih berantakan. Apa yang bisa kamu lakukan untuk merapikannya?Jawaban: โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ

Kerjakan di Colab, lalu kumpulkan tautan notebook melalui link/aplikasi yang diinformasikan guru (sesuai kondisi dan kesepakatan dengan guru pengampu). Jika tidak memungkinkan memakai laptop, boleh dicatat dan difoto di buku tugas.

Informatika Kelas X
Bagikan pada...

Lihat juga

Mail Merge

Informatika Kelas XI ยท Bab 4 ยท Praktikum 6 Mail Merge Surat Massal dari Data …

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *