{"id":21368,"date":"2026-10-03T15:45:54","date_gmt":"2026-10-03T08:45:54","guid":{"rendered":"https:\/\/man2kulonprogo.sch.id\/m2kp\/?p=21368"},"modified":"2026-10-03T15:45:54","modified_gmt":"2026-10-03T08:45:54","slug":"struktur-data-array-list","status":"publish","type":"post","link":"https:\/\/man2kulonprogo.sch.id\/m2kp\/2026\/10\/03\/struktur-data-array-list\/","title":{"rendered":"Struktur Data Array (List)"},"content":{"rendered":"<h2 style=\"color: #0f766e; border-bottom: 3px solid #0f766e; padding-bottom: 8px;\">Informatika Kelas X \u2014 Bab 6: Analisis Data<\/h2>\n<h3 style=\"color: #334155; font-weight: normal; margin-top: -6px;\">Bagian D: Struktur Data Array (List)<\/h3>\n<p><strong>Pengampu :<\/strong> Zuli Irawanto, ST<\/p>\n<hr \/>\n<h3 style=\"background: #0f766e; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83c\udfaf Tujuan Pembelajaran<\/h3>\n<p>Setelah mempelajari materi ini, siswa diharapkan mampu:<\/p>\n<ol>\n<li>Menjelaskan pengertian array\/list dan alasan data perlu disimpan dalam satu wadah.<\/li>\n<li>Membuat list, mengakses, mengubah, menambah, dan menghapus isinya.<\/li>\n<li>Mengambil sebagian isi list dengan <em>slicing<\/em>.<\/li>\n<li>Menghitung ringkasan data (jumlah, rata-rata, tertinggi, terendah) memakai fungsi bawaan Python.<\/li>\n<li>Membuat list di dalam list untuk menyimpan data berbentuk tabel.<\/li>\n<\/ol>\n<hr \/>\n<h3 style=\"background: #0ea5e9; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">Mengapa Perlu List?<\/h3>\n<p>Di Bagian C, nilai disimpan dalam variabel terpisah: <code>nilai1<\/code>, <code>nilai2<\/code>, <code>nilai3<\/code>. Bayangkan satu kelas ada 36 siswa. Apakah kita akan membuat 36 variabel? Tentu melelahkan! Untuk itu ada <strong>list<\/strong>.<\/p>\n<p><strong>Array<\/strong> adalah struktur data untuk menyimpan <strong>banyak nilai berurutan<\/strong> dalam satu nama. Di Python, array dibuat dengan <strong>list<\/strong>, yang ditulis dengan kurung siku <code>[ ]<\/code> dan nilai dipisah koma.<\/p>\n<div style=\"background: #f0f9ff; border-radius: 10px; padding: 14px 18px; margin: 14px 0;\"><strong>Analogi sederhana:<\/strong><br \/>\nList itu seperti <strong>deretan loker bernomor<\/strong> di sekolah. Satu deretan punya satu nama (misalnya <em>nilai<\/em>), dan tiap loker punya <strong>nomor urut<\/strong> untuk menyimpan satu barang. Perhatikan: nomor loker di Python dimulai dari <strong>0<\/strong>, bukan 1!<\/div>\n<hr \/>\n<h3 style=\"background: #6366f1; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">Cara Belajar Bagian Ini<\/h3>\n<p>Bagian ini melanjutkan <strong>Tugas Praktik<\/strong> dari Bagian C, jadi nomornya mulai dari <strong>Praktik 10<\/strong> sampai <strong>Praktik 18<\/strong>. Polanya masih sama: \ud83e\udd14 <strong>Tebak dulu<\/strong> \u2192 \u2328\ufe0f <strong>Ketik &amp; jalankan<\/strong> \u2192 \u2705 <strong>Cocokkan<\/strong> \u2192 \ud83d\udca1 <strong>Pahami<\/strong> \u2192 \ud83c\udfc1 <strong>Tantangan mini<\/strong>.<\/p>\n<div style=\"background: #fffbeb; border-left: 5px solid #f59e0b; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>Persiapan:<\/strong> buka Google Colab, buat notebook baru bernama <strong>Praktik_Bab6D_NamaKamu<\/strong>, dan gunakan <strong>satu sel kode baru<\/strong> untuk setiap praktik. Setiap praktik berdiri sendiri, jadi nilai di sel sebelumnya tidak ikut terbawa.<\/div>\n<hr \/>\n<h3 style=\"background: #0ea5e9; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 10: Membuat List Pertamaku<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Bagaimana cara menyimpan nilai 5 siswa dalam <strong>satu<\/strong> variabel saja?<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">nilai = [87, 65, 90, 72, 95]\r\nprint(nilai)\r\nprint(type(nilai))<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">[87, 65, 90, 72, 95]\r\n&lt;class 'list'&gt;<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Tanda kurung siku <code>[ ]<\/code> membuat sebuah <strong>list<\/strong>, dan tiap isinya (disebut <strong>elemen<\/strong>) dipisah koma. Satu variabel <code>nilai<\/code> kini menyimpan lima angka sekaligus. Tipe datanya adalah <code>list<\/code>. Ingat data 87, 65, 90, 72, 95 di Bagian A? Itulah data mentah kita!<\/p>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Buat list bernama <code>hobi<\/code> berisi tiga hobimu (teks memakai tanda kutip), lalu tampilkan.<\/div>\n<hr \/>\n<h3 style=\"background: #6366f1; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 11: Mengakses Isi List dengan Indeks<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Menurutmu, <code>nilai[0]<\/code> menampilkan nilai pertama atau nilai kedua? Lalu apa arti <code>nilai[-1]<\/code>?<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">nilai = [87, 65, 90, 72, 95]\r\nprint(nilai[0])\r\nprint(nilai[2])\r\nprint(nilai[-1])<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">87\r\n90\r\n95<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Setiap elemen punya nomor urut yang disebut <strong>indeks<\/strong>, dan indeks dimulai dari <strong>0<\/strong>. Jadi <code>nilai[0]<\/code> adalah elemen pertama, <code>nilai[2]<\/code> elemen ketiga, dan <code>nilai[-1]<\/code> adalah elemen <strong>terakhir<\/strong> (indeks negatif menghitung dari belakang).<\/p>\n<div style=\"background: #f8fafc; border: 2px solid #94a3b8; border-radius: 12px; padding: 10px 12px; margin: 14px 0;\">\n<div style=\"font-size: 13px; color: #475569; margin-bottom: 6px;\">Ilustrasi list <code>nilai<\/code>: angka kecil di atas adalah <strong>indeks<\/strong> (nomor urut), isinya di dalam kotak<\/div>\n<div style=\"display: inline-block; text-align: center; margin: 4px 6px 4px 0;\">\n<div style=\"font-size: 12px; font-weight: bold; color: #ffffff; background: #6366f1; border-radius: 6px 6px 0 0; padding: 1px 0;\">0<\/div>\n<div style=\"font-family: monospace; font-size: 17px; background: #fffbeb; border: 2px solid #f59e0b; padding: 6px 12px; min-width: 38px;\">87<\/div>\n<\/div>\n<div style=\"display: inline-block; text-align: center; margin: 4px 6px 4px 0;\">\n<div style=\"font-size: 12px; font-weight: bold; color: #ffffff; background: #6366f1; border-radius: 6px 6px 0 0; padding: 1px 0;\">1<\/div>\n<div style=\"font-family: monospace; font-size: 17px; background: #fffbeb; border: 2px solid #f59e0b; padding: 6px 12px; min-width: 38px;\">65<\/div>\n<\/div>\n<div style=\"display: inline-block; text-align: center; margin: 4px 6px 4px 0;\">\n<div style=\"font-size: 12px; font-weight: bold; color: #ffffff; background: #6366f1; border-radius: 6px 6px 0 0; padding: 1px 0;\">2<\/div>\n<div style=\"font-family: monospace; font-size: 17px; background: #fffbeb; border: 2px solid #f59e0b; padding: 6px 12px; min-width: 38px;\">90<\/div>\n<\/div>\n<div style=\"display: inline-block; text-align: center; margin: 4px 6px 4px 0;\">\n<div style=\"font-size: 12px; font-weight: bold; color: #ffffff; background: #6366f1; border-radius: 6px 6px 0 0; padding: 1px 0;\">3<\/div>\n<div style=\"font-family: monospace; font-size: 17px; background: #fffbeb; border: 2px solid #f59e0b; padding: 6px 12px; min-width: 38px;\">72<\/div>\n<\/div>\n<div style=\"display: inline-block; text-align: center; margin: 4px 6px 4px 0;\">\n<div style=\"font-size: 12px; font-weight: bold; color: #ffffff; background: #6366f1; border-radius: 6px 6px 0 0; padding: 1px 0;\">4<\/div>\n<div style=\"font-family: monospace; font-size: 17px; background: #fffbeb; border: 2px solid #f59e0b; padding: 6px 12px; min-width: 38px;\">95<\/div>\n<\/div>\n<\/div>\n<div style=\"overflow-x: auto;\">\n<table style=\"width: 100%; border-collapse: collapse; margin: 16px 0;\">\n<thead>\n<tr>\n<th style=\"padding: 10px; border: 1px solid #4338ca; text-align: left; background: #c7d2fe !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Indeks<\/span><\/th>\n<th style=\"padding: 10px; border: 1px solid #4338ca; text-align: left; background: #c7d2fe !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Indeks negatif<\/span><\/th>\n<th style=\"padding: 10px; border: 1px solid #4338ca; text-align: left; background: #c7d2fe !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Isi<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #eef2ff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">0<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">-5<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">87<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">1<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">-4<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">65<\/td>\n<\/tr>\n<tr style=\"background: #eef2ff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">2<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">-3<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">90<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">3<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">-2<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">72<\/td>\n<\/tr>\n<tr style=\"background: #eef2ff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">4<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">-1<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">95<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Coba <code>print(nilai[5])<\/code>. Muncul <code>IndexError: list index out of range<\/code>. Menurutmu, mengapa error?<\/div>\n<hr \/>\n<h3 style=\"background: #f59e0b; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 12: Mengubah dan Menambah Isi List<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Jika nilai kedua (65) diubah menjadi 70, lalu ditambah satu nilai baru 80, bagaimana isi list-nya?<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">nilai = [87, 65, 90, 72, 95]\r\nnilai[1] = 70\r\nprint(nilai)\r\n\r\nnilai.append(80)\r\nprint(nilai)<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">[87, 70, 90, 72, 95]\r\n[87, 70, 90, 72, 95, 80]<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Isi list boleh <strong>diubah<\/strong>: tulis indeksnya lalu beri nilai baru dengan <code>=<\/code>. Untuk <strong>menambah<\/strong> elemen di akhir list, pakai <code>.append()<\/code>.<\/p>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Coba <code>nilai.insert(0, 100)<\/code> lalu <code>print(nilai)<\/code>. Di mana angka 100 muncul?<\/div>\n<hr \/>\n<h3 style=\"background: #e11d48; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 13: Menghapus Isi dan Menghitung Jumlah Elemen<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Setelah nilai 65 dihapus, lalu elemen terakhir diambil, apa saja yang tersisa?<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">nilai = [87, 65, 90, 72, 95]\r\nprint(len(nilai))\r\n\r\nnilai.remove(65)\r\nprint(nilai)\r\n\r\nterakhir = nilai.pop()\r\nprint(terakhir)\r\nprint(nilai)<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">5\r\n[87, 90, 72, 95]\r\n95\r\n[87, 90, 72]<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Fungsi <code>len()<\/code> menghitung <strong>banyak elemen<\/strong> dalam list. <code>.remove(65)<\/code> menghapus elemen yang <strong>nilainya<\/strong> 65, sedangkan <code>.pop()<\/code> mengambil sekaligus menghapus elemen <strong>terakhir<\/strong>. Berikut ringkasan perintah list:<\/p>\n<div style=\"overflow-x: auto;\">\n<table style=\"width: 100%; border-collapse: collapse; margin: 16px 0;\">\n<thead>\n<tr>\n<th style=\"padding: 10px; border: 1px solid #be123c; text-align: left; background: #fecdd3 !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Perintah<\/span><\/th>\n<th style=\"padding: 10px; border: 1px solid #be123c; text-align: left; background: #fecdd3 !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Fungsi<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #fff1f2;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>append(x)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Menambah <code>x<\/code> di akhir list<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>insert(i, x)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Menyisipkan <code>x<\/code> di posisi indeks <code>i<\/code><\/td>\n<\/tr>\n<tr style=\"background: #fff1f2;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>remove(x)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Menghapus elemen yang nilainya <code>x<\/code><\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>pop()<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Mengambil dan menghapus elemen terakhir<\/td>\n<\/tr>\n<tr style=\"background: #fff1f2;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>len(list)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Menghitung banyak elemen<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Setelah semua perintah tadi, berapa hasil <code>len(nilai)<\/code>? Tebak dulu, lalu cek.<\/div>\n<hr \/>\n<h3 style=\"background: #22c55e; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 14: Mengambil Sebagian List (Slicing)<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Bagaimana cara mengambil hanya nilai ke-2 sampai ke-4 dari list?<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">nilai = [87, 65, 90, 72, 95]\r\nprint(nilai[1:4])\r\nprint(nilai[:2])\r\nprint(nilai[2:])<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">[65, 90, 72]\r\n[87, 65]\r\n[90, 72, 95]<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Format <code>[a:b]<\/code> mengambil elemen dari indeks <code>a<\/code> sampai <strong>sebelum<\/strong> indeks <code>b<\/code>. Jadi <code>[1:4]<\/code> mengambil indeks 1, 2, dan 3 (indeks 4 tidak ikut). Jika <code>a<\/code> dikosongkan, mulai dari awal. Jika <code>b<\/code> dikosongkan, sampai akhir.<\/p>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Ambil <strong>tiga nilai terakhir<\/strong> memakai <code>nilai[-3:]<\/code>. Apa hasilnya?<\/div>\n<hr \/>\n<h3 style=\"background: #14b8a6; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 15: Ringkasan Data: Jumlah, Rata-rata, Tertinggi, Terendah<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Dari list nilai 87, 65, 90, 72, 95, berapa rata-ratanya? Bandingkan dengan angka 81,8 di Bagian A!<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">nilai = [87, 65, 90, 72, 95]\r\nprint(\"Jumlah:\", sum(nilai))\r\nprint(\"Banyak data:\", len(nilai))\r\nprint(\"Rata-rata:\", sum(nilai) \/ len(nilai))\r\nprint(\"Tertinggi:\", max(nilai))\r\nprint(\"Terendah:\", min(nilai))\r\nprint(\"Diurutkan:\", sorted(nilai))<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">Jumlah: 409\r\nBanyak data: 5\r\nRata-rata: 81.8\r\nTertinggi: 95\r\nTerendah: 65\r\nDiurutkan: [65, 72, 87, 90, 95]<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Python punya fungsi bawaan yang sangat praktis untuk list angka. Rata-ratanya <strong>81,8<\/strong>, sama persis dengan contoh di Bagian A. Dulu kita menghitungnya satu per satu, sekarang cukup beberapa baris! Ini contoh nyata <strong>pengolahan data<\/strong>. Perhatikan bahwa <code>sorted()<\/code> hanya menampilkan versi urut, sedangkan list aslinya tidak berubah.<\/p>\n<div style=\"overflow-x: auto;\">\n<table style=\"width: 100%; border-collapse: collapse; margin: 16px 0;\">\n<thead>\n<tr>\n<th style=\"padding: 10px; border: 1px solid #0f766e; text-align: left; background: #99f6e4 !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Perintah<\/span><\/th>\n<th style=\"padding: 10px; border: 1px solid #0f766e; text-align: left; background: #99f6e4 !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Fungsi<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #f0fdfa;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>sum(list)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Menjumlahkan semua elemen<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>max(list)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Nilai terbesar<\/td>\n<\/tr>\n<tr style=\"background: #f0fdfa;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>min(list)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Nilai terkecil<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\"><code>sorted(list)<\/code><\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">List versi terurut (kecil ke besar)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Ganti isi list dengan 5 nilai ulanganmu sendiri. Siapa yang paling tinggi, dan berapa rata-ratanya?<\/div>\n<hr \/>\n<h3 style=\"background: #7c3aed; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 16: List Berisi Teks dan Memeriksa Isi<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> List tidak hanya untuk angka. Bagaimana cara memeriksa apakah nama &#8220;Sari&#8221; ada di dalam daftar siswa?<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">siswa = [\"Budi\", \"Sari\", \"Andi\"]\r\nprint(\"Sari\" in siswa)\r\nprint(\"Dedi\" in siswa)\r\n\r\nsiswa.append(\"Dedi\")\r\nprint(siswa)\r\nprint(len(siswa))<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">True\r\nFalse\r\n['Budi', 'Sari', 'Andi', 'Dedi']\r\n4<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> List boleh berisi <strong>teks<\/strong>, <strong>angka<\/strong>, atau campuran keduanya. Kata <code>in<\/code> dipakai untuk memeriksa apakah suatu nilai ada di dalam list, dan hasilnya <code>True<\/code> (ada) atau <code>False<\/code> (tidak ada). Ini tipe data <strong>boolean<\/strong> yang kita pelajari di Bagian C.<\/p>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Periksa apakah namamu ada di list <code>siswa<\/code>. Jika belum, tambahkan dengan <code>append()<\/code>.<\/div>\n<hr \/>\n<h3 style=\"background: #0ea5e9; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 17: List di Dalam List (Data Berbentuk Tabel)<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Data nilai biasanya berbentuk tabel: ada nama dan nilai. Bagaimana menyimpannya di Python?<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">data = [[\"Budi\", 87], [\"Sari\", 90], [\"Andi\", 75]]\r\nprint(data[1])\r\nprint(data[1][0])\r\nprint(data[1][1])<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">['Sari', 90]\r\nSari\r\n90<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Sebuah list boleh berisi list lain. Tiap list kecil mewakili <strong>satu baris<\/strong> tabel. <code>data[1]<\/code> mengambil baris ke-2, sedangkan <code>data[1][0]<\/code> mengambil <strong>kolom ke-1<\/strong> dari baris itu. Beginilah cara komputer menyimpan data tabel, mirip lembar Excel. Struktur ini kelak berguna saat kita memakai pustaka analisis data.<\/p>\n<div style=\"overflow-x: auto;\">\n<table style=\"width: 100%; border-collapse: collapse; margin: 16px 0;\">\n<thead>\n<tr>\n<th style=\"padding: 10px; border: 1px solid #0284c7; text-align: left; background: #bae6fd !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Indeks baris<\/span><\/th>\n<th style=\"padding: 10px; border: 1px solid #0284c7; text-align: left; background: #bae6fd !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Nama (kolom 0)<\/span><\/th>\n<th style=\"padding: 10px; border: 1px solid #0284c7; text-align: left; background: #bae6fd !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Nilai (kolom 1)<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #f0f9ff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">0<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Budi<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">87<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">1<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Sari<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">90<\/td>\n<\/tr>\n<tr style=\"background: #f0f9ff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">2<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Andi<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">75<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Tampilkan nilai Andi dengan satu perintah <code>print()<\/code>. Indeks berapa yang kamu pakai?<\/div>\n<hr \/>\n<h3 style=\"background: #e11d48; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">\ud83e\uddea Tugas Praktik 18: Mini Proyek: Analisis Nilai Satu Kelompok<\/h3>\n<div style=\"background: #f0f9ff; border-left: 5px solid #0ea5e9; border-radius: 8px; padding: 12px 16px; margin: 14px 0;\"><strong>\ud83e\udd14 Tebak dulu!<\/strong> Untuk 8 nilai di bawah, berapa nilai tertinggi, terendah, dan rata-ratanya? Perkirakan dulu.<\/div>\n<p><strong>\u2328\ufe0f Ketik di sel kode, lalu jalankan:<\/strong><\/p>\n<pre style=\"background: #1e293b !important; color: #e2e8f0 !important; padding: 12px 16px; border-radius: 8px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">nilai = [78, 85, 92, 67, 88, 74, 95, 81]\r\n\r\nprint(\"Jumlah siswa:\", len(nilai))\r\nprint(\"Tertinggi:\", max(nilai))\r\nprint(\"Terendah:\", min(nilai))\r\nprint(\"Rata-rata:\", sum(nilai) \/ len(nilai))\r\nprint(\"Diurutkan:\", sorted(nilai))\r\nprint(\"3 nilai tertinggi:\", sorted(nilai)[-3:])<\/pre>\n<p><strong>\u2705 Hasilnya:<\/strong><\/p>\n<pre style=\"background: #f1f5f9 !important; color: #0f172a !important; padding: 12px 16px; border-left: 4px solid #94a3b8; border-radius: 4px; overflow-x: auto; white-space: pre-wrap; word-break: break-word; font-size: 15px;\">Jumlah siswa: 8\r\nTertinggi: 95\r\nTerendah: 67\r\nRata-rata: 82.5\r\nDiurutkan: [67, 74, 78, 81, 85, 88, 92, 95]\r\n3 nilai tertinggi: [88, 92, 95]<\/pre>\n<p><strong>\ud83d\udca1 Penjelasan:<\/strong> Selamat! \ud83c\udf89 Kamu baru saja membuat <strong>analisis data pertamamu<\/strong>: data mentah (list nilai) diolah menjadi informasi (rata-rata, tertinggi, terendah, dan peringkat). Perhatikan <code>sorted(nilai)[-3:]<\/code>: list diurutkan dulu, lalu di-<em>slice<\/em> untuk mengambil tiga terakhir.<\/p>\n<div style=\"background: #fffbeb; border: 2px dashed #f59e0b; border-radius: 10px; padding: 10px 16px; margin: 14px 0;\"><strong>\ud83c\udfc1 Tantangan mini:<\/strong> Tambahkan dua nilai baru dengan <code>append()<\/code>, lalu jalankan ulang. Apa yang berubah pada rata-ratanya?<\/div>\n<hr \/>\n<h3 style=\"background: #7c3aed; color: #ffffff; padding: 10px 16px; border-radius: 8px;\">Rangkuman<\/h3>\n<ul>\n<li><strong>Array\/list<\/strong> menyimpan banyak nilai berurutan dalam satu variabel, ditulis dengan <code>[ ]<\/code>.<\/li>\n<li>Setiap elemen punya <strong>indeks<\/strong> yang dimulai dari <strong>0<\/strong>. Indeks <code>-1<\/code> adalah elemen terakhir.<\/li>\n<li>Isi list bisa diubah: <code>list[i] = x<\/code>, <code>append()<\/code>, <code>insert()<\/code>, <code>remove()<\/code>, dan <code>pop()<\/code>.<\/li>\n<li><code>len()<\/code> menghitung banyak elemen, dan <em>slicing<\/em> <code>[a:b]<\/code> mengambil sebagian list (indeks <code>b<\/code> tidak ikut).<\/li>\n<li><code>sum()<\/code>, <code>max()<\/code>, <code>min()<\/code>, dan <code>sorted()<\/code> membantu meringkas data dengan cepat.<\/li>\n<li>Kata <code>in<\/code> memeriksa apakah suatu nilai ada di dalam list.<\/li>\n<li>List di dalam list dipakai untuk menyimpan data berbentuk tabel (baris dan kolom).<\/li>\n<\/ul>\n<hr \/>\n<div style=\"background: #eef2ff; border: 2px dashed #6366f1; border-radius: 12px; padding: 14px 20px; margin: 16px 0;\">\n<h4 style=\"color: #4338ca; margin-top: 0;\">\ud83c\udf31 Pengayaan (Opsional)<\/h4>\n<p style=\"margin-bottom: 0; color: #312e81;\">Bagaimana kalau list berisi <strong>1.000 nilai<\/strong> dan kita ingin menampilkan atau memeriksa satu per satu? Tentu tidak mungkin menulis 1.000 baris <code>print()<\/code>. Di Bagian E nanti kita belajar <strong>perulangan<\/strong>, yang membuat komputer mengerjakan tugas berulang dengan cepat dan rapi. Dengan list, data kita sudah siap!<\/p>\n<p style=\"color: #312e81; margin-bottom: 0;\"><em>Coba tantang dirimu: apa hasil dari <code>print([1, 2, 3] + [4, 5])<\/code> dan <code>print([0] * 3)<\/code>? Tebak dulu sebelum menjalankannya!<\/em><\/p>\n<\/div>\n<hr \/>\n<div style=\"background: #fdf2f8; border: 2px solid #ec4899; border-radius: 12px; padding: 16px 20px; margin: 16px 0;\">\n<h3 style=\"color: #db2777; margin-top: 0;\">\ud83d\udc97 Nilai Panca Cinta: Cinta Lingkungan<\/h3>\n<p style=\"color: #831843;\">List mengajarkan kita <strong>menata dengan rapi dan efisien<\/strong>. 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 <strong>cinta lingkungan<\/strong>: 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.<\/p>\n<p style=\"color: #831843;\"><em>Refleksi: Bagaimana kamu menata buku dan perlengkapan belajarmu di rumah? Apakah mudah menemukan barang yang kamu cari?<\/em><\/p>\n<\/div>\n<hr \/>\n<div style=\"background: #f0fdfa; border: 2px solid #0f766e; border-radius: 12px; padding: 16px 20px; margin: 16px 0;\">\n<h3 style=\"color: #0f766e; margin-top: 0;\">\ud83d\udcdd Tugas Siswa<\/h3>\n<p><strong>Tugas Mandiri: Analisis Nilai Rapor Kecilku<\/strong><\/p>\n<p>Setelah menyelesaikan Praktik 10\u201318, buat <strong>satu notebook baru<\/strong> bernama <strong>Tugas_List_NamaKamu<\/strong>, lalu kerjakan:<\/p>\n<ol>\n<li>Buat list <code>nilai<\/code> berisi 6 nilai (boleh nilai ulanganmu atau nilai rekaan). Tampilkan <strong>nilai pertama<\/strong> dan <strong>nilai terakhir<\/strong>.<\/li>\n<li>Tambahkan satu nilai baru dengan <code>append()<\/code>, lalu hapus satu nilai dengan <code>remove()<\/code>. Tampilkan list setelah setiap perubahan.<\/li>\n<li>Tampilkan <strong>jumlah, rata-rata, nilai tertinggi, dan nilai terendah<\/strong>.<\/li>\n<li>Tampilkan <strong>tiga nilai terendah<\/strong> (petunjuk: <code>sorted()<\/code> dan slicing).<\/li>\n<li>Buat list di dalam list berisi nama dan nilai <strong>tiga temanmu<\/strong>, lalu tampilkan nilai teman yang kedua.<\/li>\n<\/ol>\n<div style=\"overflow-x: auto;\">\n<table style=\"width: 100%; border-collapse: collapse; margin: 16px 0;\">\n<thead>\n<tr>\n<th style=\"padding: 10px; border: 1px solid #0f766e; text-align: left; background: #99f6e4 !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Pertanyaan<\/span><\/th>\n<th style=\"padding: 10px; border: 1px solid #0f766e; text-align: left; background: #99f6e4 !important; color: #0f172a !important;\"><span style=\"color: #0f172a !important;\">Jawaban<\/span><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #ffffff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Tautan (link) notebook<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">\u2026<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Isi list <code>nilai<\/code>, nilai pertama &amp; terakhir<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">\u2026<\/td>\n<\/tr>\n<tr style=\"background: #ffffff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Jumlah, rata-rata, tertinggi, terendah<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">\u2026<\/td>\n<\/tr>\n<tr>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Tiga nilai terendah<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">\u2026<\/td>\n<\/tr>\n<tr style=\"background: #ffffff;\">\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">Kendala yang dialami &amp; cara mengatasinya<\/td>\n<td style=\"padding: 10px; border: 1px solid #cbd5e1;\">\u2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div style=\"background: #fdf2f8; border-left: 4px solid #db2777; border-radius: 8px; padding: 12px 16px; margin: 16px 0;\"><strong style=\"color: #db2777;\">\ud83d\udc97 Soal Tambahan (Nilai Panca Cinta \u2014 Cinta Lingkungan):<\/strong><br \/>\nSebutkan 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?<em style=\"color: #831843;\">Jawaban: \u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026\u2026<\/em><\/div>\n<p><em>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.<\/em><\/p>\n<\/div>\n<a href=\"https:\/\/man2kulonprogo.sch.id\/m2kp\/2023\/08\/28\/informatika-kelas-x-semester-gasal\/\" class=\"shortc-button medium purple  \">Informatika Kelas X<\/a>\n","protected":false},"excerpt":{"rendered":"<p>Informatika Kelas X \u2014 Bab 6: Analisis Data Bagian D: Struktur Data Array (List) Pengampu : Zuli Irawanto, ST \ud83c\udfaf Tujuan Pembelajaran Setelah mempelajari materi ini, siswa diharapkan mampu: Menjelaskan pengertian array\/list dan alasan data perlu disimpan dalam satu wadah. Membuat list, mengakses, mengubah, menambah, dan menghapus isinya. Mengambil sebagian isi list dengan slicing. Menghitung &hellip;<\/p>\n","protected":false},"author":1,"featured_media":21369,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1128,1582],"tags":[],"class_list":["post-21368","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-informatika","category-informatika-kelas-x"],"_links":{"self":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/posts\/21368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/comments?post=21368"}],"version-history":[{"count":0,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/posts\/21368\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/media\/21369"}],"wp:attachment":[{"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/media?parent=21368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/categories?post=21368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/man2kulonprogo.sch.id\/m2kp\/wp-json\/wp\/v2\/tags?post=21368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}