PROGRAM PYTHON SEDERHANA MENGGUNAKAN STRUKTUR DATA
Nama : Sevira Topiti
NIM : 412424026
Kelas : B
Tugas : Algoritma Dan Pemrograman
Pengertian Struktur Data
Struktur data adalah cara khusus untuk mengorganisir dan menyimpan data yang memberikan kerangka kerja dalam menyimpan data secara terstruktur, memungkinkan data akan disimpan dan diakses dengan cara yang logis dan teratur. Struktur data juga dapat diakses dan digunakan secara efisien yaitu ketika struktur data sudah tepat maka dapat meningkatkan efisiensi program. Contohnya, ketika sturuktur data tertentu dirancang untuk pencarian data yang cepat, sementara yang lain dioptimalkan untuk penyisipan atau penghapusan data yang efisien.
Terdapat berbagai jenis struktur data, masing-masing dengan kelebihan dan kekurangannya sendiri. Beberapa jenis yang umum termasuk array, linked list, stack, queue, tre, dan graph. Kemudian memilih struktur data yang tepat bergantung pada jenis data yang akan disimpan dan dioperasi yang akan dilakukan pada data tersebut. Lalu abstraksi yaitu struktur data yang menyediakan tingkat abstraksi dan memungkinkan programmer untuk bekerja dengan data tanpa harus khawatir tentang detail implementasi penyimpanan data di memori.
Contoh Kode Program Sederhana
1. Kode Program Sederhana untuk Permainan Car Dealer
mobil = ["Honda Civic", "Toyota Camry", "Ford Mustang", "BMW X5", "Tesla Model S"]
: Baris ini mendefinisikan variabelmobil
sebagai sebuah list yang berisi nama-nama mobil yang tersedia di dealer. List ini digunakan untuk menyimpan data mobil yang dapat dibeli oleh pemain.def tampilkan_mobil()
: Fungsi ini bertanggung jawab untuk menampilkan daftar mobil yang tersedia kepada pemainprint("Mobil yang tersedia:")
: Mencetak judul"Mobil yang tersedia:"
ke layar.for i, mobil in enumerate(mobil):
: Melakukan loop melalui setiap elemen dalam list mobil menggunakanenumerate()
.enumerate()
memberikan indeks (mulai dari 0) dan nilai setiap elemen dalam list. Indeks disimpan dalam variabeli
dan nilai elemen disimpan dalam variabelmobil
.print(f"{i + 1}. {mobil}")
: Mencetak nomor urut (indeks + 1) dan nama mobil ke layar. Formatf-string
digunakan untuk menyisipkan nilai variabel ke dalam string.def jual_mobil()
: Fungsi ini digunakan untuk proses penjualan mobil.tampilkan_mobil()
: Menggunakan fungsitampilkan_mobil()
untuk menampilkan daftar mobil kepada pemain.pilihan = int(input("Pilih mobil yang ingin Anda beli (1-5): ")) - 1
: Memintainput
dari pemain untuk memilih mobil.Input
dikonversi ke tipe datainteger
menggunakanint()
dan dikurangi 1 untuk menyesuaikan dengan indeks listmobil
(yang dimulai dari 0).if 0 <= pilihan < len(mobil)
: : Memeriksa apakah pilihan pemain valid, yaitu berada dalam rentang indeks listmobil
.
Jika if 0 <= pilihan < len(mobil):
pilihan valid :
mobil_terpilih = mobil[pilihan]
: Mendapatkan nama mobil yang dipilih dari listmobil
menggunakan indeks pilihan.print(f"Anda telah membeli {mobil_terpilih}!")
: Mencetak pesan pembelian ke layar, memberitahu pemain mobil apa saja yang telah mereka beli.mobil.pop(pilihan)
: Menghapus mobil yang telah dibeli dari listmobil
menggunakanpop()
. Ini memastikan bahwa mobil yang sama tidak dapat dibeli dua kali.
else:
: Jika pilihan tidak valid :
print("Pilihan tidak valid.")
: Mencetak pesan kesalahan ke layar.
Loop utama
: Loop utama ini berguna untuk mengontrol alur permainan.
while len(mobil) > 0:
: Loop akan terus berjalan selama masih ada mobil di dalam list mobil.jual_mobil()
: Menggunakan fungsijual_mobil()
untuk memulai proses penjualan.if len(mobil) > 0:
: Memeriksa apakah masih ada mobil yang tersedia setelah penjualan.
input("Ingin membeli mobil lagi? (ya/tidak): ")
:
- Fungsi
input()
menampilkan pesan"Ingin membeli mobil lagi? (ya/tidak):"
ke layar, meminta pemain untuk memberikaninput
. - Pemain diharapkan untuk mengetik
"ya"
jika ingin membeli mobil lagi, atau"tidak"
jika ingin berhenti. Input
dari pemain (dalam bentuk string) akan dikembalikan oleh fungsiinput()
.
Jika masih ada mobil :
lanjut = input("Ingin membeli mobil lagi? (ya/tidak): ")
: Memintainput
dari pemain apakah mereka ingin membeli mobilelse: print("Semua mobil telah terjual!")
: Berfungsi sebagai penanda akhir permainan. Ini memberi tahu pemain bahwa semua mobil telah terjual dan tidak ada lagi yang bisa dibeli. Pesan ini ditampilkan ketika kondisiif
dalamloop
utama bernilaiFalse
, yang menandakan bahwa tidak ada lagi mobil yang tersedia dalam listmobil
.
2. Kode Program Sederhana untuk Mengelola Produk Katalog
def tampilkan_katalog(katalog):
: Mendefinisikan fungsitampilkan_katalog
yang menerima satu argumenkatalog
(dictionary)."""Menampilkan katalog produk."""
: Docstring yang menjelaskan fungsitampilkan_katalog
.if not katalog:
: Memeriksa apakah dictionarykatalog
kosong.print("Katalog kosong.")
: Jikakatalog
kosong, cetak pesan"Katalog kosong."
return
: Jikakatalog
kosong, maka akan keluar dari fungsi.print("Katalog Produk:")
: Jikakatalog
tidak kosong, maka akan di cetak judul"Katalog Produk:".
for kode, produk in katalog.items():
:Loop
melalui setiap pasangan kunci-nilai (kode produk dan detail produk) dalam dictionarykatalog
menggunakanitems()
.print(f"{kode}: {produk['nama']} - Harga: {produk['harga']}")
: Cetak informasi produk (kode, nama, dan harga) menggunakanf-string.
def tambah_produk(katalog):
: Mendefinisikan fungsitambah_produk
yang menerima satu argumenkatalog
."""Menambahkan produk baru ke katalog."""
: Docstring yang menjelaskan fungsitambah_produk
kode = input("Masukkan kode produk: ")
: Memintainput
kode produk dari pengguna dan menyimpannya dalamvariabel
kode
.nama = input("Masukkan nama produk: ")
: Memintainput
nama produk dari pengguna dan menyimpannya dalamvariabel nama
.harga = float(input("Masukkan harga produk: "))
: Memintainput
harga produk dari pengguna, mengonversinya ke tipe datafloat
, dan menyimpannya dalamvariabel harga
.katalog[kode] = {"nama": nama, "harga": harga}
: Menambahkan produk baru ke dictionarykatalog
dengankode
sebagai kunci dan dictionary berisinama
dan harga sebagainilai
.print(f"Produk {nama} telah ditambahkan.")
: Cetak pesan konfirmasi bahwa produk telah ditambahkan.def hapus_produk(katalog):
: Mendefinisikan fungsihapus_produk
yang menerima satu argumenkatalog
."""Menghapus produk dari katalog."""
: Docstring yang menjelaskan fungsihapus_produk
.kode = input("Masukkan kode produk yang ingin dihapus: ")
: Memintainput kode
produk yang ingin dihapus dari pengguna dan menyimpannya dalamvariabel kode
.
Program Python Sederhana Menggunakan Google Colab
Nama : Sevira Topiti
NIM : 412424026
Prodi/Kelas : Matematika/B
Kelompok : 1
Kode Program if
Kode program python if
adalah suatu struktur dalam pemrograman yang memungkinkan program untuk membuat keputusan. Kode program if
mengevaluasi suatu kondisi, dan jika kondisi tersebut benar, maka blok kode dibawahnya akan dieksekusi jika kondisi salah blok kode tersebut dilewati. Contohnya "Apakah Hujan" jika kondisi tersebut benar atau True
, maka kode dalam blok if
akan dijalankan. Jika tidak atau False
, maka kode tersebut akan dilewati.
Program if
juga merupakan pernyataan kondisional dalam pemrograman yang digunakan untuk mengontrol alur eksekusi program berdasarkan suatu kondisi. Jika kondisi bernilai benar, maka blok kode di dalam pernyataan if
akan dieksekusi. Kode program if
memungkinkan program untuk bereaksi secara berbeda, membuat program lebih dinamis dan fleksibel, kode program if
juga berperan sebagai gerbang logika dalam program, yaitu memeriksa kebenaran suatu pernyataan, dan hanya jika pernyataan itu benar, "gerbang" akan terbuka dan kode di dalamnya akan diproses.
Contoh Kode Program
1) Program Python Menentukan Nilai dan Kelulusan
Cara yang pertama yaitu memasukan nilai dengan menggunakan fungsi input()
, lalu mengubah input tersebut menjadi tipe data float
menggunakan fungsi float()
. Selanjutnya program menggunakan serangkaian pernyataan if
, elif
, dan else
untuk menentukan grade dan status kelulusan berdasarkan nilai yang dimasukkan.
- Jika nilai lebih besar dari atau sama dengan 80, grade adalah 'A' dan status adalah 'Lulus'.
- Jika nilai lebih besar dari atau sama dengan 70 (tetapi kurang dari 80), grade adalah 'B' dan status adalah 'Lulus'.
- Jika nilai lebih besar dari atau sama dengan 60 (tetapi kurang dari 70), grade adalah 'C' dan status adalah 'Lulus'.
- Jika nilai lebih besar dari atau sama dengan 50 (tetapi kurang dari 60), grade adalah 'D' dan status adalah 'Tidak Lulus'.
- Jika nilai kurang dari 50, grade adalah 'E' dan status adalah 'Tidak Lulus'.
setelah grade dan status ditentukan, program mencetaknya menggunakan print()
digunakan untuk membuat baris baru antara setiap output
.
2) Program Python Menentukan Angka Positif, Negatif atau Angka Nol
Langkah pertama yaitu dimulai dengan memasukkan angka menggunakan fungsi input()
. Lalu fungsi input
tersebut kemudian akan diubah menjadi tipe data float
yaittu menggunakan fungsi float()
, dengan fungsi float
ini yaitu untuk memasukan bilangan desimal. Selanjutnya yaitu program akan menggunakan serangkaian pernyataan kondision untuk menentukan apakah angka tersebut positif, negatif atau nol.
if angka > 0:
: Pada kode program yang ini berfungsi untuk memeriksa apakah angka yang dimasukkan lebih besar dari nol. Jika iya, maka program akan mencetak"Angka Positif"
.
elif angka == 0:
: Jika pada kode program yang pertama salah (angka tidak lebih besar dari nol), maka selanjutnya program akan memeriksa apakah angka tesebut sama dengan nol. Jika iya, program akan langsung mencetak"Angka Nol"
.
else:
: Jika pada kedua kode program diatas salah (angka tidak lebih besar dari nol dan tidak sama dengan nol), maka angka tersebut pasti negatif. Kemudian selanjutnya program akan mencetak"Angka Negatif"
.
Jadi, program "Menentukan Angka Positif, Negatif atau Nol" akan secara efektif akan mengklasifikasikan angka yang dimasukkan oleh pengguna dan memberikan output
yang sesuai berdasarkan apakah angka tersebut positif, negatif atau nol.
3) Program Python Menentukan Bilangan Ganjil atau Genap
,
Pada program terakhir ini yaitu untuk menentukan apakah suatu bilangan yang dimasukan bernilai ganjil atau genap.
angka = int(input("Masukkan angka: "))
:
- Pada kode program yang pertama ini digunakan untuk memasukan angka melalui fungsi input()
.
- Fungsi int()
kemudian digunakan untuk mengonversi atau mengubah input
(yang awalnya berupa string atau teks) menjadi bilangan bulat.
- Angka yang dimasukkan akan disimpan dalam variabel angka.
2. if angka % 2 == 0:
:
- Pada kode program yang kedua ini merupakan pernyataan kodisional yang digunakan untuk memeriksa apakah angka tersebut genap.
- Operator modulo (%)
menghitung sisa bagi setelah pembagian. Ketika angka habis dibagi 2 (sisa bagi 0), maka kondisi ini bernilai True
.
3. print(angka, "adalah bilangan genap")
:
- Jika pada kode program yang sebelumnya (angka % 2 == 0
) bernilai True
, lalu kemudian kode program ini akan dijalankan
- Selanjutnya yaitu program akan mencetak angka yang dimasukkan dan diikuti dengan teks "adalah bilangan genap".
4. else:
:
- Pada blok kode ini akan dijalankan jika kondisi pada pernyataan if
(angka % 2 == 0
) bernilai False
(artinya angka tidak habis dibagi 2).
5. print(angka, "adalah bilangan ganjil")
:
- Kode program ini akan mencetak angka yang dimasukkan diikuti dengan teks "adalah bilangan ganjil".
Pada program "Menentukan Angka Ganjil atau Genap" ini menggunakan operator modulo untuk memeriksa sisa bagi setelah pembagian dengan angka 2. Jika sisa baginya 0 maka angka tersebut bernilai genap dan jika pembagiannya tidak habis maka angka tersebut bernilai ganjil.