Soal latihan BAB 1 & BAB 2
Nama : Karsum H. Talib
NIM : 411423033
Prodi/Kelas : Pendidikan Matematika/B
Mata Kuliah : Komputasi dan Pemograman
Dosen Pengampu : Agusyarif Rezka Nuha, S.Pd, M.Si
1. Algoritma adalah urutan langkah-langkah atau prosedur sistematis yang digunakan untuk menyelesaikan suatu masalah atau mencapai suatu tujuan. Dalam konteks pemrograman dan komputer, algoritma merujuk pada serangkaian instruksi yang diikuti oleh komputer untuk melakukan tugas tertentu.
2. Ciri-ciri Algoritma : Menurut Rinaldi Munir & Leony Lidya (2016), yang menjadi karakteristik dari suatu algoritma harus mempunyai lima ciri penting, yaitu:
- Algoritma harus berhenti setelah mengerjakan sejumlah langkah.
- Setiap langkah harus didefinisikan dengan tepat dan tidak boleh berarti dua (ambiguous).
- Algoritma memiliki nol atau lebih masukan (input).
- Algoritma mempunyai nol atau lebih luaran (output).
- Algoritma harus sangkil (effective).
3. Banyak cara dalam menulis algoritma yang paling sering digunakan dalam bentuk:
- Narasi/Deskriptif (narrative/descriptive)
- Diagram Alir (flowchart)
- Kode Semu (pseudocode)
4. Kompiler dan interpreter kedua alat untuk menerjemahkan kode sumber dari bahasa tingkat tinggi ke bahasa mesin. Namun, mekanisme krja mereka berbeda :
- Kompiler membaca seluruh kode sumber dan menerjemahkan ke bahasa mesin sekaligus. Jika ada kesalahan yang dihasilkan selama proses kompilasi, itu menghentikan seluruh proses tanpa mengeksekusi instruksi tunggal.
- Sedangkan interpreter menerjemahkan instruksi demi instruksi. Ia membaca instruksi tunggal pada suatu waktu. Menerjemahkannya ke bahasa mesin dan mengeksekusinya. Proses ini berlanjut sampai instruksi terakhir. Jika ada kesalahan yang ditemukan selama interpretasi, itu menghentikan eksekusi instruksi lebih lanjut.
5. Dekomposisi dalam pemrograman adalah proses memecah program yang kompleks menjadi bagian-bagian atau modul-modul yang lebih kecil dan lebih sederhana, sehingga lebih mudah dibaca, dipelihara, diuji, dan digunakan kembali.
Tujuan dekomposisi adalah Meningkatkan Keterbacaan: Membuat kode lebih mudah dipahami dengan memecahnya menjadi fungsi atau modul yang lebih kecil. Memudahkan Pemeliharaan: Memungkinkan perbaikan dan pembaruan kode tanpa harus memahami keseluruhan program.Memudahkan Pengujian: Memungkinkan pengujian unit secara terpisah untuk setiap fungsi atau modul, sehingga kesalahan dapat diidentifikasi lebih cepat. Meningkatkan Reusabilitas: Memungkinkan penggunaan kembali fungsi atau modul di proyek lain, mengurangi duplikasi kode. Mendukung Kolaborasi: Memudahkan beberapa pengembang untuk bekerja pada bagian yang berbeda dari program secara bersamaan.
6. Bahasa sumber dalam pemrograman adalah bahasa pemrograman yang digunakan oleh pengembang untuk menulis kode program sebelum diubah menjadi bentuk yang dapat dijalankan oleh komputer. Bahasa sumber adalah representasi dari algoritma dan logika yang ingin diimplementasikan, yang biasanya ditulis dalam bentuk teks oleh programmer.
Contoh bahasa sumber meliputi:
- Bahasa Pemrograman Tingkat Tinggi: Seperti Python, Java, C++, dan JavaScript, yang lebih dekat dengan bahasa manusia dan lebih mudah dipahami oleh programmer.
- Bahasa Pemrograman Tingkat Rendah: Seperti Assembly, yang lebih dekat dengan bahasa mesin dan lebih sulit dipahami oleh manusia.
7. Program Python untuk menghitung Volume Tabung
Menghitung Volume Tabung
Langkah 1 : Deklarasi Konstanta
Disini kita mendeklarasi phi,yang menggunakan pendekatan 3.14. Ini Penting untuk perhitungan vulome tabung.
Langkah 2 : Menginput jari-jari dan tinggi
Program meminta pengguna untuk memasukkan jari-jari tabung. Misalnya jika Pengguna memasukkan 5.
Selanjutnya, program meminta pengguna untuk memasukkan tinggi tabung. Misalnya pengguna memasukkan 10.
Langkah 3 : Menghitung volume tabung
Program menghitung volume tabung menggunakan rumus :
Volume = phi x r^2 x
Dengan contoh input jari-jari 5 dan tinggi 10,perhitungannya adalah:
r^2 =5^2=25
Volume : 3.14 x 25 x 10 = 785.0
Langkah 4 : Menampilkan Hasil
Program menampilkan hasil perhitungan volume tabung. Dengan volume 785.0, hasil yang ditampilkan akan berbunyi :
8. Program Python untuk menghitung Volume dan luas permukaan Kerucut
Pertama, program mengimpor modul "math" untuk menggunakan fungsi matematika yang diperlukan. Selanjutnya, program mendefinisikan konstanta "phi" dengan nilai 3,14 yang akan digunakan dalam perhitungan.
Kemudian, program meminta pengguna untuk memasukkan jari-jari dan tinggi kerucut melalui fungsi "input()". Nilai-nilai tersebut disimpan dalam variabel "r" dan "t" dengan tipe data float.
Setelah itu, program menghitung volume kerucut menggunakan rumus "1/3 * phi * r**2 * t" dan menyimpannya dalam variabel "volume". Luas kerucut dihitung menggunakan rumus "phi * r * (r + s)" dan disimpan dalam variabel "luas", di mana "s" dihitung sebagai panjang garis pelukis kerucut menggunakan teorema Pythagoras.
Akhirnya, program mencetak hasil perhitungan volume dan luas kerucut dengan format yang ditentukan menggunakan fungsi "print()".
Kemudian apabila program di jalankan akan menampilkan hasil sebagai berikut, disini kita menggunakan r =8 dan t = 5
9. Program Python untuk menghitung Volume dan luas permukaan bola
Cara kerja program :
- Impor modul math untuk menggunakan konstanta pi.
- Meminta input jari-jari bola dari pengguna dan menyimpannya dalam variabel r.
- Menghitung volume bola menggunakan rumus (4/3) * pi * r^3 dan menyimpannya dalam variabel volume.
- Menghitung luas permukaan bola menggunakan rumus 4 * pi * r^2 dan menyimpannya dalam variabel luas.
- Mencetak hasil perhitungan volume dan luas permukaan bola dengan format yang rapi menggunakan f-string.
Kemudian apabila program di jalankan akan menampilkan hasil sebagai berikut, disini kita menggunakan r = 10
10. Program untuk menghitung potongan harga dengan minimal belanja
Pertama, program mendeklarasikan konstanta "uang_budi" dengan nilai 100000, yang merupakan jumlah uang yang dimiliki oleh pembeli.
Selanjutnya, program meminta pengguna untuk memasukkan total belanja menggunakan fungsi "input()". Nilai total belanja yang dimasukkan oleh pengguna disimpan dalam variabel "total_belanja".
Setelah itu, program menghitung diskon sebesar 20% dari total belanja dengan mengalikan total belanja dengan 0.20 dan menyimpannya dalam variabel "diskon".
Kemudian, program menghitung total yang harus dibayar oleh pembeli dengan cara mengurangi total belanja dengan diskon, lalu menyimpannya dalam variabel "total_bayar".
Selanjutnya, program mengecek apakah total belanja yang harus dibayar oleh pembeli melebihi uang yang dimilikinya. Jika ya, maka program akan mencetak "Total yang harus dibayar Budi: Rp" diikuti dengan nilai "total_bayar". Jika tidak, maka program akan mencetak "Total yang harus dibayar Budi: Rp" diikuti dengan nilai "total_belanja".
Terakhir, program akan mencetak pesan "Selamat Anda Mendapatkan diskon 20%" untuk memberitahu pembeli bahwa ia mendapatkan diskon.
Setelah Program dijalankan akan menampilkan seperti berikut ini:
11. Program untuk menghitung biaya rental bus
Program ini dirancang untuk menghitung total pembayaran yang harus dibayar oleh seorang penyewa berdasarkan informasi yang dimasukkan oleh pengguna.
Pertama-tama, program mendeklarasikan konstanta "biaya_sewa" dengan nilai 2.000.000, yang merupakan biaya sewa per hari. Kemudian, program meminta pengguna untuk memasukkan beberapa informasi, seperti nama, alamat, dan nomor telepon. Setelah itu, program juga meminta pengguna untuk memasukkan lama sewa dalam jumlah hari.
Selanjutnya, program menggunakan struktur kontrol if-else untuk menghitung total pembayaran. Jika lama sewa melebihi 1 hari, maka program akan menghitung total pembayaran dengan rumus 0.5 * biaya_sewa * lama_sewa + biaya_sewa. Hal ini menunjukkan adanya denda atau biaya tambahan akibat keterlambatan pengembalian. Namun, jika lama sewa tidak melebihi 1 hari, maka program akan menghitung total pembayaran sebagai lama_sewa * biaya_sewa.
Setelah menghitung total pembayaran, program akan mencetak hasil perhitungan tersebut dengan format "Total Pembayaran Anda: Rp" diikuti dengan nilai total pembayaran.
Apabila program dijalankan akan menampilkan hasil seperti berikut ini, dsini saya menggunkan lama sewa = 5 hari dan terlambat = 2 hari:
12. pemograman untuk perulangan
Perulangan menggunakan while :
Program dimulai dengan mendeklarasikan variabel "i" dan memberikan nilai awal 1. Selanjutnya, program meminta pengguna untuk memasukkan jumlah pengulangan yang diinginkan menggunakan fungsi "input()". Nilai yang dimasukkan pengguna disimpan dalam variabel "pengulangan".
Setelah itu, program masuk ke dalam loop "while" yang akan terus berjalan selama nilai "i" kurang atau sama dengan nilai "pengulangan". Di dalam loop, program mencetak pesan "saya belajar python" dengan menambahkan nilai "i" yang telah dikonversi ke string menggunakan fungsi "str()". Kemudian, nilai "i" ditambah 1 agar loop dapat berjalan dengan benar.
Apabila program inidi jalankan maka akan menghasilkan output seperti berikut: disini saya memasukkan perulangan = 10
Perulangan Menggunakan for :
Program ini dirancang untuk mencetak pesan "Saya Belajar Python" sebanyak jumlah yang dimasukkan oleh pengguna. Pertama-tama, program meminta pengguna untuk memasukkan sebuah nilai menggunakan fungsi "input()". Nilai yang dimasukkan pengguna disimpan dalam variabel "nilai".
Setelah itu, program masuk ke dalam loop "for" yang akan berjalan sebanyak nilai yang dimasukkan oleh pengguna. Dalam loop tersebut, program akan mencetak pesan "Saya Belajar Python" dengan menambahkan nomor urut loop yang telah dikonversi ke string menggunakan fungsi "str()".
Ketika program ini dijalankan maka akan menampilkan output seperti berikut: saya memasukkan angka 5
14. Program untuk keterlambatan pengembalian buku di perpustakaan
Program ini dirancang untuk menghitung lama waktu peminjaman buku berdasarkan tanggal pengembalian dan tanggal rencana pengembalian yang dimasukkan oleh pengguna.
- Program meminta pengguna untuk memasukkan tanggal rencana pengembalian dan tanggal pengembalian menggunakan fungsi "input()". Nilai-nilai tersebut disimpan dalam variabel "tanggal_kembali1" dan "tanggal_kembali2".
- Program menggunakan struktur kontrol if-else untuk menghitung lama waktu peminjaman buku:
- Jika tanggal pengembalian lebih kecil dari tanggal rencana pengembalian, maka variabel "selisih" akan menyimpan selisih antara dua tanggal tersebut. Selanjutnya, program akan mencetak pesan "anda terlambat" diikuti dengan jumlah hari keterlambatan.
- Jika tanggal pengembalian lebih besar dari tanggal rencana pengembalian, maka variabel "selisih" akan menyimpan selisih antara dua tanggal tersebut. Selanjutnya, program akan mencetak pesan "anda lebih cepat" diikuti dengan jumlah hari sebelum tanggal rencana pengembalian.
- Jika tanggal pengembalian sama dengan tanggal rencana pengembalian, maka program akan mencetak pesan "anda mengembalikan buku tepat waktu".
Berikut output dari program ini :
15. Program untuk konversi hari,jam, menit dan detik
Program ini menggunakan fungsi konversi_waktu() untuk mengonversi jumlah detik yang diberikan pengguna ke dalam satuan hari, jam, menit, dan detik. Inti dari program ini adalah penggunaan dictionary untuk menyimpan nilai satuan waktu.
Di dalam fungsi konversi_waktu(), kita membuat dictionary satuan_waktu yang menyimpan nilai satuan waktu untuk masing-masing unit. Lalu, kita menggunakan loop untuk menghitung jumlah unit waktu dengan cara membagi total detik dengan nilai satuan waktu. Hasil perhitungan disimpan dalam dictionary hasil.
Setelah semua unit waktu dihitung, fungsi konversi_waktu() mengembalikan dictionary hasil yang berisi hasil konversi.
Di bagian utama program, kita meminta input detik dari pengguna, memanggil fungsi konversi_waktu(), dan mencetak hasil konversi dengan mengiterasi dictionary hasil.
Dengan menggunakan dictionary, program ini menjadi lebih fleksibel dan mudah dimodifikasi jika dibutuhkan penambahan atau perubahan satuan waktu.
ketika program dijalankan,maka akan menghasilkan output seperti berikut :
Kategori
- Masih Kosong
Blogroll
- Masih Kosong