15 Contoh Soal Logika Array Satu Dimensi untuk Mengasah Kemampuan Programming

Halo, Sobat Coder! Apakah kamu merasa sudah cukup paham teori Array, tapi langsung “blank” saat diminta mengerjakan soal logika? Tenang, kamu tidak sendirian. Banyak programmer pemula yang hafal cara membuat array, namun kesulitan saat harus memanipulasi data di dalamnya.

Array satu dimensi bukan hanya sekadar deretan angka atau teks dalam kotak. Ia adalah arena latihan terbaik untuk mengasah algorithmic thinking. Melalui array, kamu belajar bagaimana komputer “berpikir” secara sekuensial (berurutan). Untuk membantumu naik level dari sekadar “tahu” menjadi “mahir”, artikel ini menyajikan 15 soal logika yang akan menantang kreativitas dan ketajaman analisamu. Siapkan otakmu, mari kita mulai!

Baca juga:Contoh Soal Sejarah Peradaban Amerika Kuno Beserta Pembahasan Mudah Dipahami

Mengapa Logika Array Itu Penting?

Sebelum masuk ke soal, perlu kamu tahu bahwa hampir semua struktur data modernโ€”mulai dari tabel di database hingga piksel di layar ponselmuโ€”pada dasarnya adalah pengembangan dari konsep array. Menguasai logika array berarti kamu sedang membangun fondasi untuk memahami AI, Big Data, dan pengembangan Game.

🔖 Baca juga:
Panduan Lengkap Simulasi Contoh Soal UNBK untuk Siswa SMA

Kumpulan Soal Logika Array Satu Dimensi

Berikut adalah deretan soal yang dirancang untuk melatih logika perulangan, kondisi, dan manipulasi memori.

Soal 1: Mencari Elemen Terkecil (Minimum)

Diberikan array [23, 11, 45, 5, 89]. Temukan nilai terkecilnya.

Logika: Inisialisasi variabel min dengan elemen pertama. Bandingkan dengan setiap elemen lainnya. Jika ada yang lebih kecil, perbarui nilai min.

Jawaban: 5.

Soal 2: Menghitung Kemunculan Angka (Frequency)

Dalam array [1, 2, 1, 3, 1, 4], berapa kali angka 1 muncul?

Logika: Gunakan variabel counter yang bertambah setiap kali perulangan menemukan angka yang dicari.

Jawaban: 3 kali.

Soal 3: Mengecek Array yang Terurut (Sorted Check)

Apakah array [2, 5, 8, 12, 10] terurut secara menaik (ascending)?

Logika: Bandingkan elemen ke-i dengan elemen ke-(i+1). Jika ditemukan elemen yang lebih besar dari setelahnya, maka array tidak terurut.

Jawaban: Tidak (karena 12 > 10).

Soal 4: Menjumlahkan Elemen pada Index Ganjil

Diberikan array [10, 20, 30, 40, 50]. Hitung jumlah angka yang berada di index ganjil.

Logika: Ingat, index dimulai dari 0. Index ganjil adalah 1 dan 3. Berarti $20 + 40$.

Jawaban: 60.

Soal 5: Mengganti Angka Negatif menjadi Nol

Ubahlah array [5, -2, 8, -1, 0] sehingga tidak ada lagi angka negatif.

Logika: Lakukan perulangan. Gunakan perintah if (angka < 0), lalu timpa nilai tersebut dengan 0.

Jawaban: [5, 0, 8, 0, 0].

Soal 6: Mencari Selisih Terbesar

Berapakah selisih antara nilai terbesar dan terkecil dalam array [10, 3, 15, 7, 20]?

Logika: Cari nilai max (20) dan min (3), lalu kurangi.

Jawaban: 17.

Soal 7: Menggabungkan Dua Array Secara Selang-seling

Array A = [1, 2] dan B = [10, 20]. Jika digabung selang-seling, hasilnya?

Logika: Ambil A[0], lalu B[0], lalu A[1], lalu B[1].

Jawaban: [1, 10, 2, 20].

Soal 8: Mengecek Duplikat

Apakah ada angka yang muncul lebih dari satu kali dalam array [1, 5, 3, 9, 5]?

Logika: Gunakan perulangan bersarang (nested loop) untuk membandingkan setiap elemen dengan elemen lainnya.

Jawaban: Ya (angka 5).

Soal 9: Memindahkan Elemen Pertama ke Terakhir

Ubah [1, 2, 3, 4] menjadi [2, 3, 4, 1].

Logika: Simpan elemen pertama di variabel sementara, geser semua elemen ke kiri, lalu masukkan variabel sementara ke posisi terakhir.

Jawaban: [2, 3, 4, 1].

Soal 10: Menghitung Rata-rata Tanpa Nilai Ekstrem

Hitung rata-rata dari [10, 20, 30, 100] tapi abaikan nilai yang lebih besar dari 50.

Logika: Jumlahkan hanya angka yang lolos filter if (angka <= 50), lalu bagi dengan jumlah angka yang lolos tersebut.

Jawaban: $(10+20+30) / 3 = 20$.

Soal 11: Mencari “Second Largest”

Cari angka terbesar kedua dari array [10, 50, 40, 50, 20].

Logika: Cari nilai tertinggi, lalu cari nilai tertinggi lagi yang tidak sama dengan nilai tertinggi pertama.

Jawaban: 40.

Soal 12: Menghitung Angka di Atas Rata-rata

Berapa banyak angka dalam [10, 20, 30, 40] yang nilainya di atas rata-rata?

Logika: Hitung rata-rata dulu (25). Lalu hitung berapa banyak angka yang > 25.

Jawaban: 2 (yaitu 30 dan 40).

Soal 13: Mengecek Palindrom

Apakah array [1, 2, 3, 2, 1] jika dibaca dari belakang tetap sama?

Logika: Bandingkan index pertama dengan terakhir, kedua dengan sebelum terakhir, dst.

Jawaban: Ya.

Soal 14: Menjumlahkan Dua Array yang Berukuran Sama

A = [1, 2, 3], B = [4, 5, 6]. Berapa hasil penjumlahan per posisi?

Logika: C[i] = A[i] + B[i].

Jawaban: [5, 7, 9].

Soal 15: Memisahkan Ganjil dan Genap

Dari array [1, 2, 3, 4], pindahkan semua genap ke depan.

Logika: Gunakan array baru atau teknik swap untuk mengelompokkan elemen berdasarkan hasil modulo 2.

Jawaban: [2, 4, 1, 3] (Urutan ganjil/genap bisa bervariasi tergantung metode).


Tips Menguasai Logika Programming

  1. Trace Secara Manual: Gunakan kertas dan pensil. Tuliskan nilai variabel di setiap iterasi perulangan. Ini adalah cara terbaik memahami aliran data.
  2. Jangan Bergantung pada Library: Saat belajar logika, hindari menggunakan fungsi bawaan seperti .sort() atau .max(). Cobalah buat fungsinya sendiri dari nol.
  3. Gunakan Pseudocode: Sebelum mengetik kode, tuliskan langkah-langkahnya dalam bahasa manusia. Jika logikamu di kertas sudah benar, mengetik kodenya akan terasa jauh lebih mudah.

Baca juga:Mahasiswa FEB Universitas Teknokrat Indonesia Raih Juara III Lomba Business Plan Festival Earth Dream 2025

Penutup: Dari Logika ke Karya

Sobat Coder, 15 soal di atas hanyalah permulaan. Inti dari pemrograman bukan tentang seberapa banyak bahasa yang kamu kuasai, tapi seberapa tajam kamu memecahkan masalah menggunakan logika. Array adalah teman setiamu dalam melatih ketajaman tersebut.

Semakin sering kamu berhadapan dengan soal-soal jebakan dan logika rumit, semakin “encer” otakmu saat membangun aplikasi yang sesungguhnya nanti. Jangan pernah menyerah jika kodemu error, karena di situlah proses belajar yang sebenarnya terjadi. Selamat berlatih!

penulis:bagas

Post Comment