Jumat, 20 Desember 2024

Linear Search and Binary Search Version UWGM Student

 Program Linear Search and Binary Search











Di dalam Phyton ada yang namanya Linear Search dan Binary Search, jadi apa itu? simak sampe akhir. wk.

ini pengertian linear search

Linear search atau pencarian linier adalah algoritma pencarian data sederhana yang digunakan untuk menemukan elemen tertentu dalam sebuah daftar atau array. Algoritma ini bekerja dengan memeriksa setiap elemen secara berurutan dari awal hingga akhir daftar.

Cara kerja Linear Search;

1. Mulai dari indeks pertama daftar.

2. Bandingkan elemen saat ini dengan target yang dicari.

3. Jika cocok, kembalikan indeks elemen tersebut.

4. Jika tidak cocok, lanjutkan ke elemen berikutnya.

5. Ulangi langkah 2-4 hingga menemukan target atau mencapai akhir daftar.

6. Jika target tidak ditemukan, kembalikan nilai "tidak ditemukan".


Berikut implementasi program sederhana yang mudah dapat dimengerti dengan sekali lihat;

#soal
#datanya
data = [3, 9, 11, 15, 17, 23, 31, 35]

#nilai yang dicari angka 31
target_linear = 31

Input

#linear search, mencari angka satu per satu
def linear_search(arr, target):
    for i in range(len(arr)):  #periksa semua elemen satu per satu
        if arr[i] == target:  #jika ditemukan
            return i  #kembalikan posisi elemen
    return -1  #jika tidak ditemukan

#panggil fungsi Linear Search
result_linear = linear_search(data, target_linear)

#tampilkan hasilnya
print("Hasil Linear Search:")
if result_linear != -1:
    print(f"Angka {target_linear} ditemukan di indeks {result_linear}")
else:
    print(f"Angka {target_linear} tidak ditemukan")

Output

Hasil Linear Search: Angka 31 ditemukan di indeks 6


ini pengertian Binary Search

Binary Search (Pencarian Biner) adalah algoritma pencarian data efisien yang digunakan untuk menemukan elemen tertentu dalam daftar atau array yang telah diurutkan. Algoritma ini bekerja dengan membagi daftar menjadi dua bagian dan membandingkan target dengan elemen tengah.

Cara Kerja Binary Search;

1. Pastikan daftar sudah diurutkan.

2. Tentukan batas awal (low) dan akhir (high) daftar.

3. Hitung indeks tengah (mid).

4. Bandingkan target dengan elemen tengah.

5. Jika target cocok, kembalikan indeks tengah.

6. Jika target lebih kecil, ulangi langkah 2-5 untuk bagian kiri.

7. Jika target lebih besar, ulangi langkah 2-5 untuk bagian kanan.

8. Ulangi hingga menemukan target atau mencapai batas.


Berikut implementasi program sederhana dari Binary Search;

#Soal
#data nya
data = [3, 9, 11, 15, 17, 23, 31, 35]

#nilai yang dicari angka 11
target_binary = 11

Input

#binary search, cari angka dengan membagi dua data
def binary_search(arr, target):
    low = 0  #indeks awal
    high = len(arr) - 1  #indeks akhir

    while low <= high:  #selama masih ada data yang diperiksa
        mid = (low + high) // 2  #cari nilai tengah
        if arr[mid] == target:  #jika ditemukan
            return mid  #kembalikan posisi elemen
        elif arr[mid] < target:  #jika nilai tengah lebih kecil
            low = mid + 1  #periksa bagian kanan
        else:  #jika nilai tengah lebih besar
            high = mid - 1  #periksa bagian kiri
    return -1  #jika tidak ditemukan

#panggil fungsi binary search
result_binary = binary_search(data, target_binary)

#tampilkan hasilnya
print("Hasil Binary Search:")
if result_binary != -1:
    print(f"Angka {target_binary} ditemukan di indeks {result_binary}")
else:
    print(f"Angka {target_binary} tidak ditemukan")

Output

Hasil Binary Search: Angka 11 ditemukan di indeks 2

Kesimpulan; Dua duanya memiliki plus and minus, jadi terserah anda mau pakai yang mana.

Thank youu

Senin, 16 Desember 2024

Matriks dengan Nested List dan Pustaka NumPY

 

Program Sederhana Matriks dengan Nested List
dan Pustaka NumPy



Apa itu Matriks?

Matriks ialah sekumpulan bilangan yang disusun secara sistematis dalam bentuk persegi panjang atau persegi, dengan struktur baris dan kolom.

Pengertian Nested List

Nested list adalah struktur data dalam pemrograman yang terdiri dari beberapa list (daftar) yang terkandung di dalam list lainnya. Ini memungkinkan penyimpanan dan manipulasi data yang kompleks dengan cara yang terorganisir.

Contoh program Phyton dengan Nested List;

#soal
#matriks aktivitas sehari-hari menggunakan nested list
#baris: hari dalam seminggu (Senin - Minggu)
#kolom: aktivitas (Bernyanyi, Memasak, Belajar, Olahraga)

Input

aktivitas = [
    [1, 2, 2, 1],  # Senin (1 jam bernyanyi, 2 jam memasak, 2 jam belajar, 1 jam olahraga)
    [0, 1, 2, 0],  # Selasa
    [1, 1, 2, 1],  # Rabu
    [1, 1, 1, 0],  # Kamis
    [0, 1, 1, 1],  # Jumat
    [1, 2, 1, 3],  # Sabtu
    [1, 1, 2, 1]   # Minggu
]

aktivitas_nama = ["Bernyanyi", "Memasak", "Belajar", "Olahraga"]
hari_nama = ["Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"]

#menampilkan aktivitas setiap hari
print("Jadwal Aktivitas Sehari-hari:")
for i in range(7):  # 7 hari dalam seminggu
    print(f"\n{hari_nama[i]}:")
    for j in range(4):  # 4 aktivitas
        print(f"  {aktivitas_nama[j]}: {aktivitas[i][j]} jam")

#menghitung total waktu yang dihabiskan untuk setiap aktivitas
print("\nTotal Waktu untuk Setiap Aktivitas:")
for j in range(4):  # 4 aktivitas
    total = 0
    for i in range(7):  # 7 hari
        total += aktivitas[i][j]
    print(f"{aktivitas_nama[j]}: {total} jam")

Output

Jadwal Aktivitas Sehari-hari: Senin: Bernyanyi: 1 jam Memasak: 2 jam Belajar: 2 jam Olahraga: 1 jam Selasa: Bernyanyi: 0 jam Memasak: 1 jam Belajar: 2 jam Olahraga: 0 jam Rabu: Bernyanyi: 1 jam Memasak: 1 jam Belajar: 2 jam Olahraga: 1 jam Kamis: Bernyanyi: 1 jam Memasak: 1 jam Belajar: 1 jam Olahraga: 0 jam Jumat: Bernyanyi: 0 jam Memasak: 1 jam Belajar: 1 jam Olahraga: 1 jam Sabtu: Bernyanyi: 1 jam Memasak: 2 jam Belajar: 1 jam Olahraga: 3 jam Minggu: Bernyanyi: 1 jam Memasak: 1 jam Belajar: 2 jam Olahraga: 1 jam Total Waktu untuk Setiap Aktivitas: Bernyanyi: 5 jam Memasak: 9 jam Belajar: 11 jam Olahraga: 7 jam

Ini cuma contoh ya gaes, belajar sampe 2 jam itu cuma ngarang. hhe, kita lanjut ke numpy.


Pengertian NumPy

NumPy, singkatan dari Numerical Python, adalah pustaka Python yang dirancang untuk komputasi ilmiah dan manipulasi data numerik. Pustaka ini menyediakan struktur data array multidimensi yang efisien, serta berbagai fungsi matematika untuk operasi seperti aljabar linear, statistik, dan transformasi Fourier123. NumPy memungkinkan operasi vektorisasi, sehingga pengguna dapat melakukan perhitungan pada seluruh array secara bersamaan dengan cepat57. Ini menjadikannya fondasi penting dalam ekosistem Python untuk analisis data dan pengembangan aplikasi ilmiah.

Contoh program matriks menggunakan Pustaka NumPy;

Soal

#membuat program matriks menggunakan pustaka numpy
#matriks aktivitas sehari-hari menggunakan NumPy array
#baris: hari dalam seminggu (Senin - Minggu)
#kolom: aktivitas (Bernyanyi, Memasak, Belajar, Olahraga)

Input

aktivitas = np.array([
    [1, 2, 3, 1],  # Senin
    [0, 3, 4, 0],  # Selasa
    [2, 1, 2, 2],  # Rabu
    [1, 2, 2, 1],  # Kamis
    [0, 3, 1, 1],  # Jumat
    [3, 1, 1, 2],  # Sabtu
    [1, 2, 3, 1]   # Minggu
])

aktivitas_nama = ["Bernyanyi", "Memasak", "Belajar", "Olahraga"]
hari_nama = ["Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"]

#menampilkan jadwal aktivitas setiap hari
print("Jadwal Aktivitas Sehari-hari:")
for i in range(7):  # 7 hari dalam seminggu
    print(f"\n{hari_nama[i]}:")
    for j in range(4):  # 4 aktivitas
        print(f"  {aktivitas_nama[j]}: {aktivitas[i, j]} menit")

#menghitung total waktu yang dihabiskan untuk setiap aktivitas
print("\nTotal Waktu untuk Setiap Aktivitas:")
for j in range(4):  # 4 aktivitas
    total = np.sum(aktivitas[:, j])  #menjumlahkan waktu untuk aktivitas j
    print(f"{aktivitas_nama[j]}: {total} menit")

Output

Jadwal Aktivitas Sehari-hari: Senin: Bernyanyi: 1 menit Memasak: 2 menit Belajar: 3 menit Olahraga: 1 menit Selasa: Bernyanyi: 0 menit Memasak: 3 menit Belajar: 4 menit Olahraga: 0 menit Rabu: Bernyanyi: 2 menit Memasak: 1 menit Belajar: 2 menit Olahraga: 2 menit Kamis: Bernyanyi: 1 menit Memasak: 2 menit Belajar: 2 menit Olahraga: 1 menit Jumat: Bernyanyi: 0 menit Memasak: 3 menit Belajar: 1 menit Olahraga: 1 menit Sabtu: Bernyanyi: 3 menit Memasak: 1 menit Belajar: 1 menit Olahraga: 2 menit Minggu: Bernyanyi: 1 menit Memasak: 2 menit Belajar: 3 menit Olahraga: 1 menit Total Waktu untuk Setiap Aktivitas: Bernyanyi: 8 menit Memasak: 14 menit Belajar: 16 menit Olahraga: 8 menit

Mager banget ya keliatannya, seminggu beraktivitas cuma beberapa menit, sisanya tidur wkwk. itu cuma contoh ya.

Sekian dan Terima kasih

Senin, 09 Desember 2024

Program Array/list dalam Phyton

 Input

# Program Sederhana dengan List

# Aktivitas Sehari-hari


# List aktivitas sehari-hari

aktivitas_everyday = [

    "Bangun pagi, mandi lalu skincare, go campus",

    "Belajar bahasa Inggris",

    "Push rank ML sebelum tidur"

]


# Menampilkan aktivitas awal

print("Aktivitas sehari-hari:")

for i, aktivitas in enumerate(aktivitas_everyday, start=1):

    print(f"{i}. {aktivitas}")


# Menambahkan aktivitas baru

aktivitas_baru = input("\nMasukkan aktivitas baru: ")

aktivitas_everyday.append(aktivitas_baru)

print("\nAktivitas baru telah ditambahkan!")


# Menampilkan aktivitas terbaru

print("\nDaftar Aktivitas Terbaru:")

for i, aktivitas in enumerate(aktivitas_everyday, start=1):

    print(f"{i}. {aktivitas}")


# Menghapus aktivitas tertentu

hapus = int(input("\nMasukkan nomor aktivitas yang ingin dihapus: "))

if 0 < hapus <= len(aktivitas_everyday):

    aktivitas_everyday.pop(hapus - 1)

    print("\nAktivitas telah dihapus!")

else:

    print("\nNomor aktivitas tidak valid!")


# Menampilkan daftar aktivitas akhir

print("\nDaftar Aktivitas Setelah Diperbarui:")

for i, aktivitas in enumerate(aktivitas_everyday, start=1):

    print(f"{i}. {aktivitas}")


Output

Aktivitas sehari-hari:

1. Bangun pagi, mandi lalu skincare, go campus

2. Belajar bahasa Inggris

3. Push rank ML sebelum tidur


Masukkan aktivitas baru: Bernyanyi


Aktivitas baru telah ditambahkan!


Daftar Aktivitas Terbaru:

1. Bangun pagi, mandi lalu skincare, go campus

2. Belajar bahasa Inggris

3. Push rank ML sebelum tidur

4. Bernyanyi


Masukkan nomor aktivitas yang ingin dihapus: 3


Aktivitas telah dihapus!


Daftar Aktivitas Setelah Diperbarui:

1. Bangun pagi, mandi lalu skincare, go campus

2. Belajar bahasa Inggris

3. Bernyanyi


Thank you

Memanajemen Waktu Menggunakan Array dan Doubly

  Memanajemen Waktu Menggunakan  Array dan Doubly Dalam kehidupan sehari-hari, kita sering dihadapkan dengan banyak kegiatan atau aktivitas....