Latihan Kode Program Python: Pencarian Data List / Array (Searching)

Latihan kode program bahasa Python di Duniailkom kali ini akan membahas cara mencari suatu data dari sekumpulan data list atau array. Materi ini menguji pemahaman seputar logika dasar, penggunaan list serta kondisi if else.

Dalam bahasa python, list mirip seperti array dalam bahasa pemrograman lain.


Soal Pencarian Data List / Array

Buatlah kode program dalam bahasa Python untuk mencari suatu data dari sekumpulan element list. Program meminta 1 inputan awal berupa jumlah element list, kemudian user memasukkan satu per satu angka untuk list tersebut.

Setelah itu user diminta menginput satu angka lain yang akan dicari. Program akan menampilkan apakah angka tersebut ada di dalam list atau tidak.

Berikut contoh tampilan akhir yang diinginkan (1) :

##  Program Python Pencarian List / Array  ##
=============================================

Input jumlah element list: 7

Input 7 angka (dipisah dengan enter): 
Angka ke-1: 45
Angka ke-2: 87
Angka ke-3: 25
Angka ke-4: 90
Angka ke-5: 22
Angka ke-6: 52
Angka ke-7: 81

Input angka yang akan dicari: 22
Angka ditemukan pada urutan ke 5

Berikut contoh tampilan akhir yang diinginkan (2) :

##  Program Python Pencarian List / Array  ##
=============================================

Input jumlah element list: 5

Input 5 angka (dipisah dengan enter): 
Angka ke-1: 10
Angka ke-2: 20
Angka ke-3: 30
Angka ke-4: 40
Angka ke-5: 50

Input angka yang akan dicari: 80
Angka tidak ditemukan

Tips Membuat Kode Program Pencarian Data List /Array

Soal ini melatih pemahaman terkait list, kondisi if else dan perulangan (loop). Berikut tutorial pendahuluan yang bisa diikuti:

Kita perlu 2 kali perulangan dalam kode program ini. Perulangan pertama untuk menampung semua inputan ke dalam list, dan perulangan kedua untuk mencari angka di dalam list.

Dalam teori algoritma, cukup banyak teknik yang bisa dipakai untuk proses pencarian array. Untuk contoh kali ini saya akan pakai algoritma yang paling sederhana, yakni Linear Search.

Algoritma pencarian linear search akan mencari satu persatu mulai dari index pertama sampai akhir secara berurutan. Jika angka sudah ditemukan, jalankan perintah break agar perulangan segara berhenti.


Kode Program Python Pencarian Data List / Array (Linear Search)

Berikut salah satu solusi dari soal pencarian list menggunakan bahasa Python:

print('##  Program Python Pencarian List / Array  ##')
print('=============================================')
print()
 
n = int(input('Input jumlah element list: '))
print()

print('Input',n,'angka (dipisah dengan enter): ');

# simpan setiap angka yang diinput ke dalam list
x = []
for i in range(n):
  print('Angka ke-',i+1,': ',sep='',end='')
  x.append(int(input()))

print()

num = int(input('Input angka yang akan dicari: '))
 
# proses pencarian element list
for i in range(n):
  if(x[i]==num):
    print('Angka ditemukan pada urutan ke',i+1)
    break

if(i+1 == n):
  print('Angka tidak ditemukan')

Latihan Kode Program Python - Pencarian Data List atau Array (Searching)

Di baris 5, perintah input() dipakai untuk meminta jumlah angka yang akan di input ke dalam list. Data ini ditampung ke variabel n.

Secara default perintah input() mengembalikan data bertipe string, akan tetapi kita perlu tipe data integer karena variabel n nantinya akan dipakai dalam perhitungan. Proses konversi dari tipe string menjadi integer dilakukan oleh fungsi int().

Proses pembacaan data dilakukan oleh kode program di baris 11-14. Pertama, variabel x di deklarasikan sebagai tipe data list dengan menulis kurung siku kosong di baris 11. Kemudian masuk ke perulangan for untuk membaca satu per satu data yang diinput user.

Perintah print di baris 13 sekedar informasi tambahan agar user lebih mudah mengetahui urutan angka. Setiap angka yang diinput akan masuk ke dalam list x dengan perintah x.append(int(input())).

Kemudian di baris 18 user kembali ditanya ingin mencari angka berapa yang disimpan ke dalam variabel num.

Proses pencarian dilakukan oleh perulangan for antara baris 21-24. Untuk setiap element list, periksa apakah cocok dengan isi variabel num atau tidak. Jika cocok, yakni kondisi x[i] == num bernilai true, maka langsung tampilkan posisi angka tersebut (variabel i+1). Tambahan 1 angka karena nomor index mulai dari 0, sedangkan kita biasa memulai nomor urut dari angka 1. Tapi jika anda ingin menampilkan nomor index saja, tidak perlu ditambah 1.

Perintah break di baris 24 dipakai menghentikan perulangan, karena angka sudah ditemukan.

Namun jika setelah perulangan tidak ada angka yang cocok, maka isi nilai i+1 akan sama dengan jumlah element list. Kondisi ini diperiksa pada baris 26, yang jika terpenuhi akan menampilkan teks "Angka tidak ditemukan".

Tambahan dengan angka 1 kembali diperlukan karena index terakhir dari list kurang 1 angka dari nomor urut, karena index list mulai dari 0, bukan 1.


Pencarian Array Dengan Operator in

Sebagai alternatif untuk mencari angka dari sebuah list, kita bisa menggunakan operator in yang dipadukan dengan kondisi if. Berikut kode program yang dimaksud:

print('##  Program Python Pencarian List / Array  ##')
print('=============================================')
print()
 
n = int(input('Input jumlah element list: '))
print()

print('Input',n,'angka (dipisah dengan enter): ');

# simpan setiap angka yang diinput ke dalam list
x = []
for i in range(n):
  print('Angka ke-',i+1,': ',sep='',end='')
  x.append(int(input()))

print()

num = int(input('Input angka yang akan dicari: '))
 
# proses pencarian element list
if num in x:
  print('Angka ditemukan pada urutan ke',x.index(num)+1)
else:
  print('Angka tidak ditemukan')

Perhatikan kode program di baris 20, perintah if num in x: akan langsung memeriksa apakah angka yang tersimpan di variabel num ada di dalam list x atau tidak. Jika ada, maka tampilkan posisi angka tersebut dengan perintah print.

Di akhir baris 22, posisi angka ditampilkan dengan perintah x.index(num)+1. Disini kita menggunakan method index() dari tipe data list. Method ini akan mengembalikan posisi index dari angka num di dalam variabel x. Tambahan 1 angka diperlukan karena nomor index mulai dari 0, sedangkan kita biasa memulai nomor urut dari angka 1.

Cara ini sangat praktis karena tidak perlu repot-repot menggunakan perulangan for lagi. Akan tetapi ini bukan lagi menggunakan teknik linear search, sekedar memakai fitur bawaan Python saja.


Demikian soal dan jawaban kode program mencari nilai pencarian dalam bahasa Python. Semoga bisa bermanfaat.

Add Comment