0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan6 halaman

Modul P11 - Struktur Data Bawaan Python

data bawaan python

Diunggah oleh

Ruth Manurung
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
16 tayangan6 halaman

Modul P11 - Struktur Data Bawaan Python

data bawaan python

Diunggah oleh

Ruth Manurung
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 6

Modul Praktikum: Implementasi

program dengan struktur data di


Python
Pada praktikum ini, kita akan mempelajari penggunaan struktur data bawaan
Python menggunakan List, Tuple, Dictionary dan Set.
 List: struktur data yang dapat menyimpan berbagai jenis data secara
berurutan. List bersifat mutable, artinya elemen-elemen di dalamnya bisa
diubah setelah dibuat. List mendukung penambahan, penghapusan, dan
perubahan elemen, serta memungkinkan elemen-elemen duplikat. List
didefinisikan menggunakan tanda kurung siku ([]), contohnya: my_list =
[1, 2, 3, "mobil", True].
 Tuple: Tuple mirip dengan list, tetapi bersifat immutable, yang berarti
elemen-elemen di dalamnya tidak bisa diubah setelah didefinisikan.
Karena bersifat tetap, tuple sering digunakan untuk data yang tidak ingin
diubah selama program berjalan. Tuple didefinisikan menggunakan tanda
kurung (()), contohnya: my_tuple = (1, 2, 3, "pisang").
 Dictionary struktur data yang menyimpan pasangan key-value yang
unik. Dictionary bersifat mutable, sehingga elemen-elemen di dalamnya
bisa diubah, ditambah, atau dihapus. Dictionary sangat berguna untuk
mencari data berdasarkan key tertentu dengan cepat. Dictionary
didefinisikan menggunakan tanda kurung kurawal ({}), contohnya:
my_dict = {"name": "Ani", "age": 25}.
 Set: kumpulan elemen yang unik dan tidak berurutan. Set digunakan
untuk menyimpan data tanpa duplikasi, dan tidak mendukung
pengindeksan karena tidak memiliki urutan tertentu. Operasi seperti
penambahan dan penghapusan elemen bisa dilakukan pada set. Set
didefinisikan menggunakan tanda kurung kurawal ({}), contohnya:
my_set = {1, 2, 3, "jambu"}.

Percobaan 1: Menggunakan List dan Fungsi Enumerate


Buat file dengan nama percobaan1.py lalu salin kode dibawah ini:
students = ["Ani", "Cici", "Fulan", "Eko", "Budi"]
for item in students:
print("Nama mahasiswa: ", item)

# Menggunakan fungsi enumerate untuk mendapatkan indeks dan nilai


for index, fruit in enumerate(students):
print("Indeks:", index, "Nama mhs:", fruit)

Eksekusi kode diatas lalu screenshot hasilnya disini:

Percobaan 2: Menggunakan List comprehension


Buat file dengan nama percobaan2.py lalu salin kode dibawah ini:
bilangan_ganjil = []
bilangan_genap = []

for x in range(1, 21):


if x % 2 != 0:
bilangan_ganjil.append(x)
else:
bilangan_genap.append(x)

print("\nHasil bilangan ganjil: ")


for i in bilangan_ganjil:
print(f"{i}", end=",")

print("\nHasil bilangan genap: ")


for i in bilangan_genap:
print(f"{i}", end=",")

Eksekusi kode diatas lalu screenshot hasilnya disini:

Kode diatas dapat diringkas dengn menggunakan teknik list comprehension.


Modifikasi kode diatas dengan kode berikut ini:
bilangan_ganjil = [x for x in range(1, 21) if x % 2 != 0]
bilangan_genap = [x for x in range(1, 21) if x % 2 == 0]

print("\nHasil bilangan ganjil: ")


for i in bilangan_ganjil:
print(f"{i}", end=",")

print("\nHasil bilangan genap: ")


for i in bilangan_genap:
print(f"{i}", end=",")

Eksekusi kode yang telah dimodifikasi ini lalu screenshot hasilnya disini:

Percobaan 3: Menggunakan Tuples


Buat file dengan nama percobaan3.py lalu salin kode dibawah ini:
mata_kuliah = [
("PTI", "IF101", 3),
("Pemrograman Python", "IF202", 4),
("Sistem Komputer", "IF303", 3),
("Pemrograman Web", "IF404", 4),
]

print("Daftar Mata Kuliah:")


for mk in mata_kuliah:
nama_mk, kode_mk, sks = mk
print(f"Nama: {nama_mk}, Kode: {kode_mk}, SKS: {sks}")
Eksekusi kode diatas lalu screenshot hasilnya disini:

Dalam studi kasus ini, setiap mata kuliah direpresentasikan sebagai tuple yang
berisi nama mata kuliah, kode mata kuliah, dan jumlah sks. Kumpulan tuples ini
kemudian disimpan dalam list mata_kuliah. Kita dapat mengakses elemen-
elemen tuples menggunakan looping for dan mengurai tuples ke dalam variabel
nama_mk, kode_mk, dan sks untuk ditampilkan.

Sekarang, coba tambahkan baris berikut ini diatas print daftar mata kuliah:
mata_kuliah.append(("Matematika", "MKU101", 4))

Uji coba dan pastikan data berhasil dimasukkan karena list bersifat mutable.
Namun, perlu diingat, karena isinya adalah tuples maka kita tidak bisa
memanipulasi ini dari tiap-tiap mata kuliah. Coba kode berikut ini tepat diatas
kode diatas:
try:
mata_kuliah[0][1] = "Pengantar Teknologi Informasi"
except TypeError as e:
print("Error:", e)

Error apakah yang muncul setelah menambahkan kode diatas???

Percobaan 4 : Menggunakan Dictionary


Pada percobaan ini, kita akan mencoba kamus Indonesia ke Zimbabwe
sederhana dengan memanfaatkan struktur data dictionary.

Buat file dengan nama percobaan4.py lalu salin kode dibawah ini:
kamus_hewan = {
"gajah": "indlovu",
"singa": "insimbi",
"kanguru": "ikanguru",
"jerapah": "inhanhlu",
"kuda": "inja",
"kucing": "ikati",
"kelinci": "inyoni",
"buaya": "inja emnyama",
"burung": "inja engwevu",
"monyet": "inja enkulu",
"anjing": "inja enkulu",
}

kamus_hewan.update({
"kuda nil": "inja enamatshe",
"kupu-kupu": "ipapili",
"lumba-lumba": "inja eluhlaza",
"kura-kura": "inja enekhanda",
"ular": "inja enomathise",
"elang": "inja elikhulu",
"katak": "inja enemikhonto",
"ikan hiu": "inja enhlanga"
})

nama_hewan = input("Masukkan nama hewan: ").lower() # Mengubah input ke huruf kecil


terjemahan = kamus_hewan.get(nama_hewan, "Maaf, terjemahan tidak ditemukan.")
print(f"Terjemahan {nama_hewan} dalam bahasa Zimbabwe adalah: {terjemahan}")

Eksekusi kode diatas lalu screenshot hasilnya disini:

Percobaan 5: Menggunakan Set


Buat file dengan nama percobaan5.py lalu salin kode dibawah ini:
anggota_hmti = {"Ani", "Budi", "Cici", "Doni", "Eko", "Fulan"}

print("Jumlah Anggota Klub: ", len(anggota_hmti))

anggota_hmti.add("Galih")

print("Daftar Anggota Klub Setelah Penambahan: ", anggota_hmti)

nama = input("Masukkan nama anggota untuk memeriksa keanggotaan: ")


if nama in anggota_hmti:
print(f"{nama} adalah anggota HMTI.")
else:
print(f"{nama} bukan anggota HMTI.")

Tepat dibawah kode add data Galih, coba tambahkan anggota baru dengan
nama yang sama dengan kode berikut:
anggota_hmti.add("Fulan")

Eksekusi kembali kode Python. Apakah data Fulan ada 2 sebagai anggota HMTI
???

Selanjutnya, buatlah penerapan metode intersection set berikut ini dengan


nama percobaan6-2.py
anggota_hmti = {"Ani", "Budi", "Cici", "Doni", "Eko", "Fulan", "Galih"}
anggota_hmti.add("Harun")
print("Jumlah Anggota HMTI: ", len(anggota_hmti))

anggota_bem = {"Cici", "Doni", "Fulan", "Galih", "Indah", "Joko"}


print("Jumlah Anggota BEM: ", len(anggota_bem))
print("==============================================")

anggota_bersama = anggota_hmti.intersection(anggota_bem)
print("Anggota yang sama di Antara HMTI dan BEM:")
for mhs in anggota_bersama:
print(mhs)

print("==============================================")

anggota_hmti_sejati = anggota_hmti.difference(anggota_bem)
print("Anggota HMTI Sejati adalah:")
for mhs in anggota_hmti_sejati:
print(mhs)

Eksekusi kode diatas lalu screenshot hasilnya disini:

Percobaan 6: Membuat Matrix dengan Nested List


Buat file dengan nama percobaan6.py lalu salin kode dibawah ini:
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

print("Elemen baris ke-2, kolom ke-3:", matrix[1][2])

for row in matrix:


for num in row:
print(num, end=" ")
print() # Pindah ke baris baru setiap kali satu baris selesai diiterasi

Eksekusi kode diatas lalu screenshot hasilnya disini:

Percobaan 7: Menggunakan module Queue dan Dictionary


Selain struktur data bawaaan Python, masih banyak lagi struktur data yang
umum digunakan dalam pemorgraman dan algoritma. Salah satunya adalah
struktur data queue atau antrian. Queue adalah struktur data yang mengikuti
prinsip FIFO (First In, First Out), artinya elemen yang pertama kali masuk akan
menjadi elemen yang pertama kali keluar. Dalam struktur data ini, elemen baru
ditambahkan di belakang antrian dan elemen dihapus dari depan antrian.
Dalam Python, queue bisa diimplementasikan dengan beberapa cara
menggunakan struktur data bawaan, seperti:
 List: Meski tidak dioptimalkan untuk queue, list dapat digunakan dengan
mengelola elemen di awal dan akhir list, tetapi ini kurang efisien karena
penghapusan elemen di depan list memerlukan penggeseran elemen
lainnya.
 collections.deque: Python menyediakan modul collections dengan kelas
deque (double-ended queue), yang lebih efisien untuk operasi antrian.
deque mendukung penambahan dan penghapusan elemen di kedua ujung
secara cepat.
 Queue Module: Python juga memiliki modul queue yang menyediakan
beberapa kelas queue, seperti Queue untuk FIFO queue, LifoQueue untuk
LIFO queue (seperti stack), dan PriorityQueue untuk antrian dengan
prioritas.

Pada percobaan ini, kita akan menggunakan metode Queue Module dalam
pembuatan struktur data Queue. Oleh karena itu, buat file dengan nama
percobaan7.py lalu salin kode dibawah ini:
from queue import Queue

antrian_email = Queue()

# Menambahkan email ke dalam queue dalam bentuk dictionary


antrian_email.put({"tujuan": "[email protected]", "pesan": "Selamat datang di perusahaan kami!"})
antrian_email.put({"tujuan": "[email protected]", "pesan": "Undangan acara spesial kami."})
antrian_email.put({"tujuan": "[email protected]", "pesan": "Konfirmasi pemesanan Anda."})
antrian_email.put({"tujuan": "[email protected]", "pesan": "Terima kasih atas pembelian Anda."})

# Menampilkan email yang ada di dalam queue


print("Antrian Email:")
while not antrian_email.empty():
email = antrian_email.get()
print(f"Email ke: {email['tujuan']}, Pesan: {email['pesan']}")
else:
print("Antrian Email sudah kosong. tidak ada pesan yang perlu dikirmkan untuk saat ini")

Eksekusi kode diatas lalu screenshot hasilnya disini:

- Selamat Mengerjakan -

Anda mungkin juga menyukai