Abstraksi Data
Diperkenalkan| English | Makna |
|---|---|
| complexity/kəmˈpleksɪti/ | complexity |
| Data abstraction/ˈdeɪtə əbˈstrækʃn/ | Data abstraction |
| list/lɪst/ | list |
| abstract data type/ˈæbstrækt ˈdeɪtə taɪp/ | abstract data type |
| general/ˈdʒenərəl/ | general |
| abstraction/əbˈstrækʃn/ | Abstraksi |
| modeling/ˈmɒdəlɪŋ/ | Pemodelan |
| model/ˈmɒdl/ | Model |
Menyembunyikan detail untuk mengelola kompleksitas
- Program nyata menangani banyak data.
- Abstraksi data menyembunyikan detail agar kita dapat mengelola kompleksitas.
- Daripada melacak banyak bagian kecil secara terpisah, kita mengelompokkannya di bawah satu nama.
- Alat paling umum untuk ini adalah list.
Gunakan daftar, atau satu variabel saja?
Daftar (abstraksi data) sepadan jika Anda memiliki banyak nilai serupa; satu variabel cukup untuk satu nilai mandiri.
Abstraksi data membantu programmer dengan cara:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Pengelompokan data di bawah satu nama menyembunyikan detail yang tidak perlu.
Sebuah ______ mengelompokkan banyak nilai di bawah satu nama, seperti semua nilai ujian sebuah kelas.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Daftar adalah tipe data abstrak yang paling umum.
Menggunakan daftar membuat kode bersifat umum: perulangan yang sama bekerja untuk 5 atau 500 nilai.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Kode merujuk pada daftar melalui namanya, bukan pada setiap nilai.
List mengelompokkan banyak nilai
- Sebuah list adalah tipe data abstrak yang mengelompokkan banyak nilai di bawah satu nama.
- Satu list
scoresdapat menyimpan seluruh nilai kelas — bukan variabel terpisah per siswa. - Menggunakan list membuat kode lebih umum: kode yang sama bekerja dengan 5 nilai maupun 500.
- Kode merujuk pada list berdasarkan nama, bukan ke setiap nilai satu per satu.
Manakah manfaat dari abstraksi data? (Pilih semua yang berlaku)
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Satu nama yang jelas mengalahkan lima puluh nama terpisah dalam ketiga aspek tersebut.
Mengapa abstraksi membantu
- Lebih sedikit pengulangan — Anda menulis logika sekali, bukan sekali per nilai.
- Perubahan lebih mudah — tambahkan nilai ke dalam list dan kode yang sama tetap berfungsi.
- Lebih sedikit kesalahan — satu nama yang jelas lebih mudah dipertahankan daripada lima puluh nama terpisah.
- Penamaan dan pengelompokan ini merupakan inti dari abstraksi.
Model kelas menyimpan nama tetapi mengabaikan warna mata karena:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Model menyederhanakan realita, hanya menyimpan detail yang relevan.
Dengan daftar, menambahkan siswa keenam tidak memerlukan variabel baru maupun baris cetak baru.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Hanya data yang berubah; perulangan yang sama tetap menanganinya.
Abstraksi adalah pemodelan
- Abstraksi data adalah bentuk pemodelan.
- Sebuah model menyederhanakan sesuatu agar kita dapat fokus pada hal yang penting.
- Daftar nama siswa memodelkan sebuah kelas, mengabaikan detail seperti warna mata yang tidak pernah dibutuhkan program.
Lima poin. Tanpa abstraksi: lima variabel mark1…mark5 dan lima baris print. Dengan list marks: satu loop mencetak setiap elemen. Jika ada siswa keenam, hanya data yang berubah — tidak perlu variabel baru, tidak perlu baris baru.
Abstraksi data menyembunyikan detail untuk mengelola kompleksitas, biasanya dengan list — sebuah tipe data abstrak yang mengelompokkan banyak nilai di bawah satu nama. Hal ini membuat kode umum (berfungsi untuk ukuran apa pun), mengurangi pengulangan dan kesalahan, serta merupakan jenis pemodelan: simpan yang penting, abaikan yang lain.