Soal Latihan Bab 4
1. Jelaskan apa yang dimaksud dengan fungsi!
- Fungsi adalah blok kode yang dirancang untuk melakukan tugas tertentu, biasanya menerima input (parameter) dan mengembalikan output (nilai). Fungsi memungkinkan pengorganisasian kode yang lebih baik, pengurangan duplikasi, dan meningkatkan keterbacaan. Contoh penggunaan fungsi adalah dalam perhitungan matematika atau pengolahan data.
2. Jelaskan apa yang dimaksud dengan prosedur!
- Prosedur, mirip dengan fungsi, adalah blok kode yang melakukan tugas tertentu. Namun, prosedur tidak mengembalikan nilai. Sebagai gantinya, prosedur sering digunakan untuk melakukan aksi atau mengubah keadaan program, seperti mencetak informasi ke layar atau memperbarui data.
3. Jelaskan apa perbedaan fungsi dan prosedur!
- Fungsi selalu mengembalikan nilai, sedangkan prosedur tidak mengembalikan nilai apapun. Fungsi lebih sering digunakan ketika ada kebutuhan untuk mengembalikan hasil dari operasi tertentu, sementara prosedur digunakan untuk melaksanakan aksi tanpa memerlukan hasil yang dikembalikan. Secara umum, fungsi berfokus pada perhitungan dan pengembalian nilai, sementara prosedur lebih fokus pada pelaksanaan tugas atau tindakan tertentu tanpa mengembalikan hasil.
4. Jelaskan apa yang dimaksud dengan iteratif, rekursif, dan apa perbedaan keduanya!
- Iteratif merupakan pendekatan di mana suatu proses diulang menggunakan struktur kontrol seperti loop (misalnya for atau while). Contohnya, menghitung jumlah angka dari 1 hingga n dengan menggunakan loop.
- Rekursif merupakan pendekatan di mana suatu fungsi memanggil dirinya sendiri untuk menyelesaikan tugas. Fungsi rekursif biasanya memiliki kondisi dasar untuk menghentikan pemanggilan berulang. Contohnya, menghitung faktorial angka dengan cara memanggil fungsi faktorial itu sendiri.
- Perebedaan keduanya
- Iteratif menggunakan loop, sedangkan rekursif menggunakan pemanggilan fungsi. Dari segi kinerja, iteratif biasanya lebih efisien dalam penggunaan memori, sementara rekursif dapat menyebabkan penggunaan stack yang lebih besar jika kedalaman rekursi tinggi. Dalam hal keterbacaan, rekursif sering kali lebih mudah dibaca dan ditulis untuk masalah yang bersifat berulang atau bersarang, tetapi bisa lebih sulit dipahami bagi pemula.
5. Buat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan tersebut positif atau negatif!
Berikut adalah langkah langkah dari program di atas
1.Definisi Fungsi (def cek_positif_negatif(bilangan):):
- Sebuah fungsi bernama cek_positif_negatif didefinisikan dengan parameter bilangan, yang akan menerima input berupa angka ketika fungsi dipanggil.
2.Pengecekan Kondisi 1 (if bilangan > 0:):
- Di dalam fungsi, kondisi pertama mengecek apakah bilangan lebih besar dari nol.
- Jika kondisi ini benar, maka fungsi akan mengembalikan (return) string "Bilangan positif".
3.Pengecekan Kondisi 2 (elif bilangan < 0:):
- Kondisi berikutnya menggunakan elif untuk mengecek apakah bilangan kurang dari nol.
- Jika kondisi ini benar, maka fungsi akan mengembalikan string "Bilangan negatif".
4. Kondisi Lainnya (else:):
- Jika kondisi pertama dan kedua tidak terpenuhi (bilangan tidak lebih besar atau kurang dari nol), maka bilangan haruslah nol.
- Fungsi akan mengembalikan string "Bilangan nol" dalam kasus ini.
5. Eksekusi Kode Utama:
- Baris 10: Fungsi input() digunakan untuk meminta pengguna memasukkan sebuah angka. Input tersebut diubah menjadi tipe data float dengan float() dan disimpan dalam variabel bilangan.
- Baris 11: Fungsi cek_positif_negatif() dipanggil dengan argumen bilangan yang dimasukkan pengguna. Hasil dari pemanggilan fungsi ini disimpan dalam variabel hasil.
- Baris 12: Fungsi print() digunakan untuk menampilkan hasil (hasil) di layar, yang akan berupa salah satu dari "Bilangan positif", "Bilangan negatif", atau "Bilangan nol" sesuai dengan input yang diberikan.
ketika program dijalankan
- Jika pengguna memasukkan angka 5, maka output dari fungsi adalah "Bilangan positif".
- Jika pengguna memasukkan -3, output akan menjadi "Bilangan negatif".
- Jika pengguna memasukkan 0, output akan menjadi "Bilangan nol".
6. Buat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan bulat atau bilangan ganjil!
Berikut adalah langkah langkah dari program di atas
1. Definisi Fungsi (def klasifikasi_bilangan(bilangan):):
- Fungsi klasifikasi_bilangan didefinisikan dengan parameter bilangan, yang akan menerima input berupa bilangan ketika dipanggil.
2. Pengecekan Tipe Data (if not isinstance(bilangan, (int, float)):):
- Kondisi ini digunakan untuk mengecek apakah input yang diterima adalah angka (baik bilangan bulat atau bilangan desimal). Jika input bukan angka, maka fungsi akan mengembalikan string "Input bukan angka.".
3. Pengecekan Apakah Bilangan Bulat (if bilangan.is_integer():):
- Kondisi ini memeriksa apakah bilangan tersebut merupakan bilangan bulat (bilangan yang tidak memiliki desimal).
- Fungsi is_integer() mengembalikan True jika bilangan tersebut bulat, meskipun inputnya dalam bentuk float. Misalnya, 4.0 akan dianggap sebagai bilangan bulat karena secara matematis sama dengan 4.
4. Pengecekan Genap atau Ganjil:
- Jika bilangan merupakan bilangan bulat, maka langkah selanjutnya adalah mengubahnya ke tipe data int dengan int(bilangan) untuk menghilangkan titik desimal.
- Bilangan kemudian dicek apakah genap atau ganjil dengan menggunakan operator modulus (%):
- Jika bilangan_bulat % 2 == 0, artinya bilangan tersebut habis dibagi 2 dan merupakan bilangan genap. Fungsi akan mengembalikan string "Ini adalah bilangan bulat genap.".
- Jika tidak habis dibagi 2, maka bilangan tersebut merupakan bilangan ganjil, dan fungsi akan mengembalikan string "Ini adalah bilangan bulat ganjil.".
5. Jika Bukan Bilangan Bulat:
- Jika bilangan yang dimasukkan memiliki desimal (bukan bilangan bulat), maka fungsi akan mengembalikan string "Ini bukan bilangan bulat.".
6. Menerima Input dari Pengguna:
- input() digunakan untuk meminta pengguna memasukkan sebuah bilangan. Input disimpan dalam variabel bilangan_input sebagai string.
7. Mengonversi Input ke Float:
- Kode mencoba mengonversi input dari string ke float dengan float(bilangan_input). Jika konversi berhasil, input akan diubah menjadi tipe float dan disimpan di variabel bilangan_float.
- Jika terjadi error karena input bukan angka (misalnya, pengguna memasukkan huruf atau karakter selain angka), blok except akan menangkap error tersebut dan mencetak pesan "Input tidak valid. Harap masukkan angka yang benar.".
8. Memanggil Fungsi dan Menampilkan Hasil:
- Setelah input berhasil dikonversi menjadi float, fungsi klasifikasi_bilangan() dipanggil dengan argumen bilangan_float. Hasil dari fungsi ini disimpan dalam variabel hasil dan kemudian dicetak.
ketika program dijalankan
- Jika pengguna memasukkan angka 4, maka output dari fungsi adalah "Bilangan genap".
- Jika pengguna memasukkan 9, output akan menjadi "Bilangan ganjil".
7. Buat fungsi yang digunakan untuk mengecek apakah suatu tahun adalah tahun kabisat atau bukan!
Berikut adalah langkah langkah dari program di atas
1. Definisi Fungsi (def cek_tahun_kabisat(tahun):):
- Sebuah fungsi bernama cek_tahun_kabisat didefinisikan dengan parameter tahun. Fungsi ini akan mengembalikan True jika tahun tersebut adalah tahun kabisat, dan False jika tidak.
2. Logika Pengecekan Tahun Kabisat:
- Tahun kabisat adalah tahun yang:
- Dapat dibagi habis oleh 4 (tahun % 4 == 0).
- Tidak dapat dibagi habis oleh 100 kecuali bisa dibagi habis oleh 400 (tahun % 100 != 0 atau tahun % 400 == 0).
- Kondisi di dalam fungsi memeriksa apakah:
- (tahun % 4 == 0 and tahun % 100 != 0): Tahun harus dapat dibagi 4 dan tidak habis dibagi 100 atau:
- (tahun % 400 == 0): Tahun harus habis dibagi 400.
- Jika salah satu dari kondisi ini terpenuhi, maka tahun tersebut dianggap sebagai tahun kabisat dan fungsi akan mengembalikan True. Jika tidak, fungsi akan mengembalikan False.
3. Memasukkan Tahun dari Pengguna:
- Pengguna diminta untuk memasukkan sebuah tahun menggunakan input(). Input ini dikonversi ke tipe int agar dapat dilakukan operasi matematika modulus (%).
4. Memanggil Fungsi dan Menampilkan Hasil:
- Setelah pengguna memasukkan tahun, fungsi cek_tahun_kabisat() dipanggil dengan input_tahun sebagai argumennya.
- Jika fungsi mengembalikan True, maka tahun tersebut adalah tahun kabisat, dan pesan yang dicetak adalah "{input_tahun} adalah tahun kabisat.".
- Jika fungsi mengembalikan False, maka outputnya adalah "{input_tahun} bukan tahun kabisat.".
ketika program dijalankan
8. Buat sebuah program yang menerapkan proses rekursif!
Program ini menghitung faktorial dari sebuah angka.
Berikut adalah langkah langkah dari program di atas
1. Fungsi faktorial(n):
- Fungsi ini menghitung faktorial dari bilangan bulat n.
- Jika n adalah 0 atau 1, maka fungsi mengembalikan 1 (kasus dasar).
- Jika n lebih dari 1, fungsi akan memanggil dirinya sendiri dengan argumen n - 1 dan mengalikan hasilnya dengan n.
2. Input Pengguna:
- Program meminta pengguna memasukkan angka yang ingin dihitung faktorialnya dan mengonversinya ke dalam tipe integer.
3. Menghitung dan Menampilkan Hasil:
- Hasil dari pemanggilan fungsi faktorial(angka) disimpan dalam variabel hasil.
- Program mencetak hasil faktorial ke layar dalam format yang mudah dibaca.
ketika program dijalankan
Jika pengguna memasukkan 5:
Latihan Soal Bab 3
1. Pengertian dari counted loop dan uncounted loop
- Counted Loop adalah jenis perulangan yang berlangsung untuk jumlah iterasinya yang telah ditentukan sebelumnya. Misalnya, perulangan for di mana kita tahu berapa kali kita ingin melakukan iterasi
- Uncounted Loop adalah jenis perulangan yang tidak memiliki batasan jumlah iterasi yang sudah ditentukan sebelumnya.Contohnya adalah perulangan while yang terus berjalan sampai suatu kondisi tertentu terpenuhi.
2. Pengertian dari Nested Loop
Nested Loop adala perulangan di dalam perulangan disebut dengan perulangan bersarang (nested loop). Dalam nested loop, perulangan paling dalam dikerjakan terlebih dahulu. Setelah perulangan paling dalam selesai dikerjakan selanjutnya mengerjakan perulangan di bagian luar. Ini sering digunakan untuk memproses data yang berstruktur lebih kompleks, seperti matriks atau tabel.
3. Pengertian dari Controlled Jump
Controlled Jump adalah mekanisme dalam pemrograman yang memungkinkan pengalihan eksekusi program ke bagian lain berdasarkan suatu kondisi. Contoh kontrol jump adalah pernyataan break dan continue yang digunakan dalam loop untuk menghentikan atau melanjutkan iterasi.
4. Pengertian dari penggulangan jenis Iteratif
Iteratif adalah proses pengulangan sekelompok instruksi (statement) yang akan berhenti ketika syarat tertentu tidak lagi terpenuhi. Untuk menerapkan perulangan iteratif, dapat digunakan fungsi for atau while. Dengan kata lain, perulangan for dan while beroperasi secara iteratif.
- Jenis-Jenis Perulangan Iteratifa:
- For Loop: Digunakan ketika jumlah iterasi sudah diketahui sebelumnya.
- While Loop: Digunakan ketika jumlah iterasi tidak diketahui, dan perulangan dilakukan selama kondisi tertentu terpenuhi.
- Do While Loop: Mirip dengan while loop, tetapi blok kode dieksekusi setidaknya sekali sebelum kondisi diperiksa.
5. Program untuk membuat tabel perkalian
Berikut adalah langkah-langkah dalam kode program yang membuat tabel perkalian
1. Bagian Pertama
- print():
- Mencetak baris kosong sebelum tabel untuk memberikan jarak.
- Loop Luar (for j in range(0, 11)):
- Loop ini akan mengulangi perintah di dalamnya sebanyak 11 kali, dengan nilai j dari 0 hingga 10. Ini merepresentasikan angka yang akan dikalikan.
- Loop Dalam (for i in range(1, 6)):
- Di dalam loop luar, terdapat loop dalam yang mengulangi perintahnya sebanyak 5 kali, dengan nilai i dari 1 hingga 5. Ini merepresentasikan angka yang dikalikan dengan j.
- Mencetak Hasil:
- Dalam setiap iterasi dari kedua loop, program mencetak hasil perkalian antara i dan j dengan format: i x j = hasil.
- ljust(15) digunakan untuk mengatur agar setiap string hasil perkalian memiliki panjang minimal 15 karakter, sehingga hasilnya teratur dalam kolom.
- end=" " digunakan untuk memisahkan setiap output dalam satu baris dengan spasi.
- print() Setelah Loop Dalam:
- Setelah loop dalam selesai, print() tanpa argumen digunakan untuk memindahkan kursor ke baris baru, sehingga setiap hasil dari loop luar dicetak pada baris terpisah.
2. Bagian Kedua
- print():
- Mencetak baris kosong sebelum tabel kedua.
- Loop Luar (for j in range(0, 11)):
- Sama seperti sebelumnya, loop ini akan mengulangi perintah di dalamnya sebanyak 11 kali.
- Loop Dalam (for i in range(6, 11)):
- Di dalam loop luar, terdapat loop dalam yang kali ini mengulangi perintahnya sebanyak 5 kali, dengan nilai i dari 6 hingga 10.
- Mencetak Hasil:
- Dalam setiap iterasi, program mencetak hasil perkalian antara i dan j menggunakan format yang sama seperti sebelumnya.
- print() Setelah Loop Dalam:
- Sama seperti sebelumnya, print() tanpa argumen digunakan untuk memindahkan kursor ke baris baru setelah loop dalam selesai.
Saat program dirunning, akan menapilkan hasil yang akan terlihat seperti ini:
6. Program untuk membuat tabel komversi suhu dari Celcius, Reamur, Fahrenheit, dan Kelvin.
Berikut adalah langkah-langkah dalam kode program yang membuat tabel konversi suhu tersebut:
- Mendefinisikan Fungsi konversi_suhu:
- Fungsi ini bertugas untuk mencetak tabel konversi suhu dari Celcius ke Reamur (R), Kelvin (K), dan Fahrenheit (F).
- Fungsi ini menerima dua parameter: lower_limit (batas bawah suhu dalam Celcius) dan upper_limit (batas atas suhu dalam Celcius).
2. Mencetak Header Tabel:
- Mencetak header dengan label untuk Celcius (C), Reamur (R), Kelvin (K), dan Fahrenheit (F) secara rapi dengan lebar kolom 5 karakter.
- Baris berikutnya mencetak garis pemisah menggunakan tanda - sebanyak 23 kali untuk memisahkan header dari isi tabel.
3. Melakukan Iterasi untuk Mengonversi Suhu:
- for C in range(lower_limit, upper_limit + 1): Looping dilakukan dari suhu batas bawah (lower_limit) hingga batas atas (upper_limit), dengan menambahkan 1 agar batas atas juga disertakan.
- Setiap nilai C (Celcius) dikonversi ke skala suhu lain:
- Reamur (R) = 4/5 * C
- Kelvin (K) = C + 273
- Fahrenheit (F) = 9/5 * C + 32
4. Mencetak Hasil Konversi:
- Setiap hasil konversi dicetak dengan format rapi. Contohnya, suhu dalam Celcius dicetak dalam kolom lebar 5 karakter, dan hasil konversi ke Reamur, Kelvin, dan Fahrenheit masing-masing ditampilkan dengan 2 atau 1 digit desimal.
5. Meminta Input dari Pengguna:
- lower_limit dan upper_limit diperoleh dari input pengguna. Pengguna diminta memasukkan batas bawah dan batas atas suhu dalam Celcius melalui input().
6. Memanggil Fungsi:
- Setelah pengguna memasukkan batas bawah dan batas atas, fungsi konversi_suhu(lower_limit, upper_limit) dipanggil untuk menjalankan konversi dan menampilkan tabel konversi suhu
Berikut ini adalah tampilan ketika program di running:
7. Program untuk menghasilkan pola angka segitiga berdasarkan nilai n.
Berikut adalah penjelasan langkah-langkah dari program diatas:
1. Input Nilai n
- Baris n = int(input("Masukkan jumlah baris: ")) meminta pengguna untuk memasukkan jumlah baris yang diinginkan. Nilai ini akan menentukan jumlah iterasi dari perulangan.
2. Inisialisasi Nilai Awal
- Baris nilai_awal = 1 menetapkan nilai awal dari angka yang akan dicetak. Variabel nilai_awal ini akan bertambah setiap kali angka dicetak.
3. Perulangan Luar (Looping untuk Baris)
- Perulangan pertama menggunakan for i in range(1, n+1):. Di sini, i mewakili nomor baris, dimulai dari 1 hingga n (jumlah baris yang dimasukkan pengguna). Perulangan ini akan mengendalikan jumlah baris yang akan dicetak.
4. Perulangan Dalam (Looping untuk Kolom)
- Di dalam setiap iterasi dari perulangan luar, terdapat perulangan dalam for j in range(1, i+1):.
- j mewakili kolom di setiap baris. Misalnya, pada baris pertama (i=1), perulangan dalam ini hanya berjalan satu kali (j=1), sedangkan pada baris kedua (i=2), perulangan dalam berjalan dua kali (j=1, 2), dan seterusnya.
- Di dalam perulangan ini, kode print(nilai_awal, end=" ") mencetak nilai saat ini dari nilai_awal dan menambahkan spasi sebagai pemisah antar-angka.
- Setelah mencetak angka, nilai dari nilai_awal ditambah dengan 1 (nilai_awal += 1) sehingga angka yang akan dicetak di kolom berikutnya selalu bertambah.
5. Pindah ke Baris Berikutnya
- Setelah semua kolom di baris tertentu selesai dicetak, baris print() dijalankan untuk memindahkan ke baris berikutnya (memberikan efek cetakan dalam bentuk piramida angka)
Berikut ini adalah tampilan ketika program di running
Misalkan masukkan jumlah baris: 5
8. Program untuk menghasilkan pola segitiga menggunakan huruf
Berikut adalah penjelasan langkah-langkah dari program di atas:
1. Input Nilai n:
- Program meminta pengguna untuk memasukkan jumlah baris n. Nilai n ini menentukan jumlah baris dalam pola segitiga yang akan dicetak.
2. Inisialisasi Huruf Awal:
- Variabel huruf_awal diinisialisasi dengan karakter 'A'. Ini adalah huruf yang akan dicetak pada baris pertama, dan kemudian akan berubah pada setiap baris selanjutnya.
3. Perulangan untuk Mencetak Setiap Baris:
- Perulangan luar ini digunakan untuk mengontrol jumlah baris yang akan dicetak. Dimulai dari i = 1 hingga i = n (jumlah baris yang dimasukkan pengguna). Setiap iterasi dari perulangan ini mewakili satu baris.
4. Perulangan untuk Mencetak Setiap Kolom di Baris Tersebut:
- Perulangan dalam ini bertanggung jawab untuk mencetak huruf sebanyak nomor baris. Pada baris pertama (i=1), hanya satu huruf dicetak, sedangkan pada baris kedua (i=2), dua huruf akan dicetak, dan seterusnya hingga baris ke-n.
- Fungsi print(huruf_awal, end=" ") digunakan untuk mencetak huruf tanpa pindah baris, dan end=" " menambahkan spasi di antara huruf-huruf yang dicetak.
5. Pindah ke Baris Berikutnya:
- Setelah perulangan dalam selesai, fungsi print() tanpa argumen digunakan untuk pindah ke baris baru, sehingga setiap baris dicetak dalam satu baris vertikal.
6. Pindah ke Huruf Berikutnya:
- Pada akhir setiap iterasi dari perulangan luar, huruf berikutnya dalam alfabet diambil. Ini dilakukan dengan mengubah karakter huruf_awal menjadi kode ASCII menggunakan ord(huruf_awal), kemudian menambah 1 pada nilai ASCII tersebut untuk mendapatkan huruf berikutnya, dan akhirnya mengubahnya kembali menjadi karakter menggunakan chr().
Berikut ini adalah tampilan ketika program di running
Jika memasukkan jumlah baris = 4, maka program tersebut akan terlihat seperti berikut:
MENGHITUNG VOLUME TABUNG MENGGUNAKAN PYTHON
Nama : Deasy Nur Aisya Budiono
Nim : 411423018
Prodi /Kelas : Pendidikan Matematika/ B
Mata Kuliah : Komputasi dan pemrograman
Dosen Pengampu : Pak Agusyarif Rezka Nuha, S.Pd., M.Si
Langkah 1: Mendeklarasikan nilai dari phi
Pertama kita mendeklarasikan konstanta phi dengan nilai 3.14
Langka 2: Mendeklarasikan variabel
Kode kemudian meminta pengguna untuk memasukka jari-jari (r) dan tinggi (t) dari tabung melalui fungsi input, kemudian dikonversi menjadi tipe data float.
Langkah 3: Menghitung volume tabung
setelah mendapatkan nilai jari-jari dan tinggi, kemudian Masukkan rumus volume tabung : V= phi * r ** 2 * t
Langkah 4: Menampilkan hasil
Setelah perhitungan selesai, hasilnya ditampilkan dengan dua angka dibelakang koma menggunakan fungsi format.
Langkah 5: menujukan hasil yang ditampilkan
Ketika program di running masukkan nilai dari variabel. Contohnya misal jari-jari (r) = 5 dan tingginya (t) = 10
PKKMB 2023
seruu polll
Kategori
- Masih Kosong
Blogroll
- Masih Kosong