Latihan Soal BAB 3
1. Counted Loop adalah jenis pengulangan di mana jumlah iterasi (pengulangan) sudah ditentukan sebelumnya. Ini biasanya digunakan ketika kita tahu berapa kali kita ingin menjalankan blok kode. Uncounted Loop (atau loop tak terhitung) adalah jenis loop dalam pemograman yang tidak memiliki batasan yang jelas mengenai berapa kali loop tersebut akan dijalankan. Berbeda dengan loop hitung (counted loop) yang memiliki jumlah iterasi yang ditentukan, uncounted loop biasanya digunakan ketika jumlah iterasi tidak dapat diprediksi sebelumnnya.
2. Nested Loop (Loop bersarang) adalah konsep dalam pemograman di mana satu loop (loop luar) menggandung satu atau lebih loo lain (loop dalam) di dalamnya. Ini memungkinkan kita untuk melakukan iterasi melalui struktur data yang lebih kompleks, seperti matriks atau array multidimensi.
3. Controlled Jump adalah konsep dalam pemrograman yang merujuk pada pengalihan alur eksekusi program secara eksplisit menggunkan pernyataan tertentu.Dengan Controlled jump, Programmer dapat menggontrol kapan dan di mana alur program akan melompat ke bagian tertentu dari kode berdasarkan kondisi yang ditentukan.
4. Perulangan jenis iteratif adalah metode untuk menjalankan sekelompok instruksi secara berulang-ulang hingga kondisi tertentu terpenuhi. Dalam pemrograman, perulangan ini memungkinkan kita untuk mengulangi eksekusi kode tanpa menulisnya berulang kali, yang membuat kode lebih efisien dan mudah dibaca.
Karakteristik Perulangan Iteratifa. Kondisi Perulangan: Setiap perulangan memiliki kondisi yang menentukan apakah perulangan akan dilanjutkan atau dihentikan. Kondisi ini biasanya dievaluasi di awal atau akhir setiap iterasi.b. nkrementasi/Decrementasi: Dalam banyak kasus, variabel kontrol perulangan akan diubah (ditambahkan atau dikurangi) setiap kali perulangan dilakukan untuk mendekati kondisi penghentian.c. Blok Kode: Kode yang akan dijalankan di dalam perulangan disebut blok perulangan, dan akan dieksekusi berulang kali selama kondisi perulangan terpenuhi.
Jenis-Jenis Perulangan Iteratifa. For Loop: Digunakan ketika jumlah iterasi sudah diketahui sebelumnya.
b. While Loop: Digunakan ketika jumlah iterasi tidak diketahui, dan perulangan dilakukan selama kondisi tertentu terpenuhi.
c. Do While Loop: Mirip dengan while loop, tetapi blok kode dieksekusi setidaknya sekali sebelum kondisi diperiksa.
Kelebihan:
Meningkatkan efisiensi dan keterbacaan kode.Memudahkan pengolahan data dalam jumlah besar.
Kekurangan:
Jika tidak ditangani dengan baik, dapat menyebabkan loop tak terhingga, yang dapat menghanguskan program.Performa dapat menurun jika terlalu banyak iterasi dilakukan, terutama pada struktur data yang besar.
5. Program untuk membuat Tebel Perkalian.
Penjelasan Program di atas :
1. Loop Pertama:
- Loop Luar: Mengiterasi nilai j dari 0 hingga 10.- Loop Dalam: Mengiterasi nilai i dari 1 hingga 5.- Output: Mencetak hasil perkalian antara i dan j dengan format i * j = hasil, dipisahkan dengan tab (\t).- Baris Baru: Setelah menyelesaikan satu iterasi dari loop luar, program mencetak baris baru.
2. Spasi Kosong:
- Baris kosong dicetak untuk memisahkan dua tabel yang dihasilkan.
3. Loop Kedua:
- Loop Luar: Mengiterasi nilai j dari 0 hingga 10, sama seperti sebelumnya.- Loop Dalam: Mengiterasi nilai i dari 6 hingga 10.- Output: Mencetak hasil perkalian antara i dan j dengan cara yang sama.
Berikut di bawah ini merupakan Tampilan ketika Program di jalankan :
6. Program untuk membuat Tabel Komversi suhu dari Celcius, Reamur, Fahrenheit dan Kelvin.
Penjelasan dari Program di atas :
Langkah 1: Definisi Fungsi Konversi dan TabelPada langkah ini, kita mendefinisikan tiga fungsi untuk mengonversi suhu dari Celsius ke skala lainnya (Fahrenheit, Reamur, dan Kelvin). Selain itu, kita juga mendefinisikan fungsi untuk menampilkan tabel suhu.
Langkah 2: Menghitung dan Menampilkan Tabel SuhuDi langkah ini, kita menggunakan loop untuk menghitung suhu dari 0 hingga 5 derajat Celsius dan menampilkan hasil konversi ke dalam tabel dengan format yang rapi.
Berikut di bawah ini merupakan Tampilan ketika Program di jalankan :
7. Program untuk membuat Pola segitiga seperti pada gambar di bawah
Bentuk Programnya yaitu :
Penjelasan dari Program di atas :
a. Inisialisasi Variabel:
current_number diinisialisasi dengan nilai 1. Variabel ini digunakan untuk melacak angka yang akan dicetak.
b. Loop Utama:
Loop pertama (for i in range(1, n + 1)) berjalan dari 1 hingga n. Ini menentukan jumlah baris yang akan dicetak.
c. Loop Dalam:
Loop kedua (for j in range(i)) berjalan sebanyak i, yang berarti jumlah angka yang dicetak pada baris ke-i.
d. Mencetak Angka:
Di dalam loop dalam, angka current_number dicetak, diikuti dengan spasi. Setelah itu, current_number ditingkatkan satu.Pindah ke Baris Baru:
Setelah menyelesaikan pencetakan angka untuk satu baris, print() digunakan untuk berpindah ke baris berikutnya.
Berikut di bawah ini merupakan Tampilan ketika Program di jalankan akan sesuai dengan gambar yang di berikan :
8. Program untuk membuat Pola segitiga seperti pada gambar di bawah
Berikut Programnya yaitu:
Penjelasan dari Program di atas :
a. Loop Utama:
Loop for i in range(n) berjalan dari 0 hingga n-1. Ini menentukan jumlah baris yang akan dicetak.
b. Menghitung Karakter:
Di dalam loop, karakter saat ini dihitung menggunakan chr(65 + i), di mana 65 adalah kode ASCII untuk huruf 'A'. Dengan menambahkan i, kita mendapatkan huruf berikutnya dalam urutan abjad.
c. Mencetak Karakter:
print(current_char * (i + 1)) mencetak karakter saat ini sebanyak i + 1 kali. Ini berarti baris pertama akan mencetak huruf 'A' satu kali, baris kedua akan mencetak huruf 'B' dua kali, dan seterusnya.
Berikut di bawah ini merupakan Tampilan ketika Program di jalankan akan sesuai dengan gambar yang di berikan :
~ Sekian dan Terima Kasih ~
Latihan Soal BAB 1 & 2
Nama : Fatur Rahman Dusi
NIm : 411423021
Prodi / Kelas : Pendidikan Matematika / B
Mata kuliah : Komputasi dan Pemograman
Dosen Pengampu : Agusyarif Rezka Nuha, S.Pd, M,Pd
1. Algoritma adalah sekumpulan langkah-langkah atau instruksi yang terstruktur untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu. Dalam konteks komputasi, algoritma sering digunakan untuk memproses data, melakukan perhitungan, dan menyelesaikan masalah secara otomatis. Algoritma adalah dasar dari pemrograman dan pengembangan perangkat lunak, dan pemahaman yang baik tentang algoritma dapat membantu dalam menyelesaikan berbagai masalah secara efisien.
2. Ciri-ciri Algoritma:-Tepat dan Jelas: Setiap langkah harus jelas dan tidak membingungkan.-Terbatas: Algoritma harus memiliki langkah-langkah yang terbatas, sehingga akan berakhir dalam waktu tertentu.-Input dan Output: Algoritma biasanya memerlukan input dan menghasilkan output.-Umum: Algoritma yang baik dapat diterapkan pada berbagai kasus dengan kondisi yang serupa-.
3. Berikut adalah langkah-langkah dan cara penulisan algoritma yang umum digunakan:
a. Menggunakan Bahasa Natural:
Tulis algoritma dalam bentuk kalimat yang mudah dipahami. Contoh:
1. Mulai2. Ambil dua angka A dan B dari pengguna3. Hitung jumlah A dan B4. Tampilkan hasil5. Selesai
b. Menggunakan Pseudocode:
Pseudocode adalah cara menulis algoritma yang menyerupai kode pemrograman, tetapi lebih sederhana dan mudah dipahami. Contoh:
STARTINPUT A, BSUM = A + BOUTPUT SUMEND
c. Menggunakan Diagram Alir (Flowchart):
Gambarkan langkah-langkah algoritma dalam bentuk diagram. Gunakan simbol standar seperti:
-Oval untuk mulai/akhir-Persegi panjang untuk proses-Belah ketupat untuk keputusan
4. Interpreter dan kompiler adalah dua jenis program yang digunakan untuk menerjemahkan kode sumber (source code) yang ditulis dalam bahasa pemrograman menjadi bentuk yang dapat dijalankan oleh komputer. Meskipun keduanya memiliki tujuan yang sama, cara kerjanya berbeda.
a. Interpreter adalah program yang langsung menerjemahkan dan mengeksekusi kode sumber baris per baris tanpa perlu mengubahnya menjadi file biner atau executable terlebih dahulu.
b. Kompiler adalah program yang menerjemahkan seluruh kode sumber menjadi file executable (biner) sekaligus sebelum program dijalankan.
5. Dekomposisi adalah proses membagi suatu masalah atau sistem yang kompleks menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola. Dalam konteks pemrograman dan rekayasa perangkat lunak, dekomposisi membantu menyederhanakan perancangan, pengembangan, dan pemeliharaan sistem.
Tujuan Dekomposisi:-Mempermudah Pemahaman: Dengan membagi masalah menjadi bagian-bagian kecil, lebih mudah untuk memahami setiap komponen dan interaksinya.-Peningkatan Manajemen Proyek: Proyek besar dapat dikelola lebih efisien ketika dipecah menjadi tugas-tugas yang lebih kecil.-Reusabilitas: Komponen yang telah dibuat dapat digunakan kembali di proyek lain, menghemat waktu dan usaha.-Pengujian yang Lebih Efisien: Setiap bagian kecil dapat diuji secara terpisah, memudahkan dalam menemukan dan memperbaiki kesalahan.
6. Bahasa sumber, atau sering disebut sebagai source code, adalah bahasa pemrograman yang digunakan oleh pengembang untuk menulis program atau aplikasi. Ini adalah representasi teks dari instruksi yang dapat dibaca manusia dan ditulis dalam sintaks yang sesuai dengan aturan bahasa pemrograman tertentu.
Ciri-ciri Bahasa Sumber:-Teks yang Dapat Dibaca: Kode ditulis dalam format teks yang dapat dibaca dan dimengerti oleh pengembang.-Struktur dan Sintaks: Setiap bahasa sumber memiliki aturan dan sintaks tersendiri yang harus diikuti agar kode dapat dikompilasi atau diinterpretasi dengan benar.-Portabilitas: Kode sumber dapat dipindahkan dan dijalankan di berbagai platform, asalkan ada kompiler atau interpreter yang sesuai.
7. Program Python untuk menghitung Volume Tabung
pertama : Deklarasikan Nilai dari phi = 3,14
Kedua : Buat kode yang meminta pengguna untuk memasukan nilai variabel jari-jari (r) dan dan tiniggi (t) Tabung.
ketiga : Masukan Rumus Menghitung Volume Tabung, V = phi* r**2* t
keempat : Masuk Perintah untuk menampilkan hasil dengan 2 angka di belakang koma.
kelima : Menunjukan hasil yang ditampilkan bila program di running dengan memasukan nilai dari variabel. contoh, misal r = 7 dan tinggi =10.
8. Program Python untuk menghitung Volume dan luas Kerucut
Dalam kode tersebut, langkah pertama adalah mendeklarasikan konstanta phi sebagai nilai pendekatan (phi) dengan menggunakan rumus 22/7. Selanjutnya, program meminta pengguna untuk memasukkan jari-jari (r) dan tinggi (t) kerucut. Nilai jari-jari diambil sebagai angka desimal dengan fungsi float(), sedangkan tinggi diambil sebagai bilangan bulat menggunakan int(). Input ini penting untuk perhitungan yang akurat dari volume dan luas kerucut.
Pada langkah kedua, volume kerucut dihitung dengan phi * r * 2 * 1/3 * t,. Selanjutnya, luas alas kerucut dihitung menggunakan rumus phi*r**2 dan disimpan dalam variabel luas. Hasil perhitungan volume dan luas kerucut kemudian ditampilkan di layar dengan menggunakan perintah print(). Penggunaan rumus yang benar sangat penting untuk memastikan hasil perhitungan yang akurat dan dapat dipahami.
Kemudian apabila program di jalankan akan menampilkan hasil sebagai berikut, disini kita menggunakan r = 7 dan t = 5 :
9. Program Python untuk menghitung Volume dan luas permukaan bola
Pada kode ini, langkah pertama adalah mendeklarasikan konstanta phi dengan nilai 3.14, yang merupakan pendekatan untuk (pi). Pengguna diminta untuk memasukkan nilai jari-jari bola (r) menggunakan fungsi input(), yang kemudian dikonversi menjadi angka desimal dengan float(). Input ini sangat penting karena akan digunakan dalam perhitungan volume dan luas permukaan bola.
Selanjutnya, volume bola dihitung menggunakan rumus 4/3 * phi * r**3. Luas permukaan bola dihitung dengan rumus phi * 4 * r**2. Setelah perhitungan selesai, hasil volume ditampilkan dengan format dua angka desimal menggunakan '{:0,.2f}'.format(Volume), sedangkan luas permukaan ditampilkan langsung. Dengan demikian, hasil yang ditampilkan memberikan informasi yang jelas dan terformat dengan baik mengenai karakteristik bola berdasarkan jari-jari yang dimasukkan.
Kemudian apabila program di jalankan akan menampilkan hasil sebagai berikut, disini kita menggunakan r = 5 :
10. Program untuk menghitung potongan harga dengan minimal belanja
Pada kode ini, langkah pertama adalah meminta pengguna untuk memasukkan total belanja Budi. Input tersebut diambil menggunakan fungsi input() dan dikonversi menjadi bilangan bulat dengan int(), disimpan dalam variabel total_belanja. Setelah itu, program menghitung diskon yang diberikan, yaitu 20% dari total belanja, dengan mengalikan total_belanja dengan 0.20. Hasil diskon disimpan dalam variabel diskon, dan total yang harus dibayar setelah diskon diterapkan dihitung dengan mengurangi nilai diskon dari total belanja, disimpan dalam variabel total_bayar.
Langkah kedua adalah menampilkan total yang harus dibayar oleh Budi. Program menggunakan pernyataan if untuk memeriksa apakah total_belanja lebih besar atau sama dengan Rp 100.000. Jika ya, program mencetak total yang harus dibayar setelah diskon dan memberikan pesan selamat kepada Budi atas diskon yang didapat. Jika tidak, program hanya menampilkan total belanja tanpa diskon. Dengan demikian, hasil yang ditampilkan memberikan informasi yang jelas tentang total yang harus dibayar dan manfaat diskon yang diterima.
Setelah Program dijalankan akan menampilkan seperti berikut ini, disini saya menggunkan total belanja 120.000 :
11. Program untuk menghitung biaya rental bus
Pada kode ini, langkah pertama adalah mendeklarasikan variabel yang diperlukan untuk menghitung total biaya sewa. Variabel biaya_sewa diatur ke Rp 2.000.000, yang merupakan biaya sewa per hari. Program kemudian meminta pengguna untuk memasukkan nama, alamat, nomor HP, lama sewa (dalam hari), dan lama keterlambatan (jika ada). Input ini dilakukan menggunakan fungsi input(), dan nilai yang dimasukkan dikonversi ke tipe data yang sesuai (string untuk nama, alamat, dan nomor HP; serta integer untuk lama sewa dan keterlambatan). Data ini penting untuk menghitung total pembayaran yang harus dilakukan oleh penyewa.
Langkah kedua melibatkan logika untuk menghitung total pembayaran berdasarkan lama sewa dan keterlambatan. Program menggunakan pernyataan if untuk memeriksa apakah ada keterlambatan. Jika lama_keterlambatan lebih besar atau sama dengan 1, denda dihitung sebagai 0.5 kali biaya sewa per hari dikalikan dengan jumlah hari keterlambatan, dan ditambahkan ke total pembayaran. Jika tidak ada keterlambatan, total pembayaran hanya dihitung berdasarkan lama sewa dikalikan dengan biaya sewa. Hasil total pembayaran kemudian ditampilkan ke layar, memberikan informasi yang jelas mengenai jumlah yang harus dibayar oleh penyewa.
Apabila program dijalankan akan menampilkan hasil seperti berikut ini, dsini saya menggunkan lama sewa = 4 hari dan terlambat = 1 hari :
12. Program untuk perulangan
Dalam kode ini, pengguna diminta untuk memasukkan sebuah nilai yang disimpan dalam variabel nilai dengan tipe data integer. Selanjutnya, program menggunakan perulangan for untuk mencetak kalimat "Saya Belajar Python" sebanyak nilai yang dimasukkan. Fungsi range(nilai) menghasilkan urutan angka mulai dari 0 hingga nilai - 1, dan pada setiap iterasi, program mencetak nomor urut i diikuti oleh kalimat tersebut. Hasilnya adalah output yang menunjukkan berapa kali pengguna 'belajar Python' sesuai dengan nilai yang diberikan, dengan nomor urut yang tertera di depan setiap kalimat. Namun, perlu diperhatikan bahwa sintaks range(nilai) harus ditulis dengan tanda kurung yang benar, yaitu range(nilai).
Apabila kode di jalankan akan menunjukan hasil seperti berikut, disini nilai saya ambil 5 :
14. program untuk keterlambatan pengembalian buku di perpustakaan
Pada kode ini, pengguna diminta untuk memasukkan dua tanggal: tanggal rencana pengembalian buku (tanggal_kembali1) dan tanggal aktual pengembalian buku (tanggal_kembali2). Kedua input ini diambil sebagai bilangan bulat. Program kemudian menggunakan pernyataan if untuk membandingkan kedua tanggal. Jika tanggal_kembali1 lebih kecil dari tanggal_kembali2, itu berarti pengembalian terlambat. Program akan menghitung selisih hari keterlambatan dan menampilkan pesan yang sesuai, misalnya "anda terlambat X hari dalam pengembalian buku."
Di sisi lain, jika tanggal_kembali1 lebih besar dari tanggal_kembali2, program menghitung selisih hari dan memberi tahu pengguna bahwa mereka mengembalikan buku lebih cepat dari yang direncanakan dengan pesan "anda lebih cepat X hari dalam pengembalian." Jika kedua tanggal sama, program mencetak pesan bahwa pengembalian buku dilakukan tepat waktu. Namun, terdapat kesalahan logika pada perhitungan selisih hari; seharusnya selisih dihitung dengan nilai mutlak agar tidak menghasilkan angka negatif saat tanggal terlambat. Dengan demikian, kode ini bertujuan untuk memberikan informasi yang jelas tentang status pengembalian buku berdasarkan tanggal yang dimasukkan.
Kemudian ketika program dijalankan akan menunjukan hasil :
15. program untuk konversi hari,jam, menit dan detik
Pada kode ini, program dimulai dengan meminta pengguna untuk memasukkan jumlah total detik melalui fungsi input(), yang hasilnya dikonversi menjadi integer dan disimpan dalam variabel total_detik. Selanjutnya, program melakukan perhitungan untuk mengonversi detik tersebut menjadi hari, jam, menit, dan detik. Pertama, jumlah hari dihitung dengan membagi total_detik dengan jumlah detik dalam satu hari (24 jam dikalikan dengan 3600 detik). Sisa detik setelah menghitung hari disimpan dalam variabel sisa_detik, yang kemudian digunakan untuk menghitung jam. Proses ini diulang untuk menghitung menit dan detik, sehingga setiap unit waktu dapat ditentukan dari nilai total detik yang dimasukkan.
Setelah semua perhitungan selesai, program mencetak hasil konversi dalam format yang jelas dan terstruktur. Menggunakan f-string, program menampilkan jumlah hari, jam, menit, dan detik yang setara dengan total detik yang diberikan. Dengan cara ini, pengguna dapat dengan mudah memahami konversi waktu yang dilakukan dan mendapatkan informasi yang relevan dari input yang diberikan. Program ini efektif dalam menunjukkan bagaimana detik dapat dipecah menjadi unit waktu yang lebih besar, memberikan wawasan tentang durasi dalam konteks yang lebih familiar.
Ketika kode di jalankan akan menampikan hasil seperti berikut, di sini saya memasukan nilai 450.500 :
~ Sekian dan Terima Kasih ~
Kategori
- Masih Kosong
Blogroll
- Masih Kosong