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