latihan mandiri 4.7
Nama : Dina Nurani Mokodongan
NIM : 411423031
Prodi/Kelas : Pendidikan Matematika/B
Mata Kuliah : Komputasi Dan Pemrograman
Dosen Pengampuh : Agusyarif Rezka Nuha, S.Pd, M.Pd
1.Jelaskan apa yang dimaksud dengan fungsi!
- Fungsi adalah suatu konsep matematika yang menggambarkan hubungan antara satu atau lebih variabel input dengan satu variabel output. Dalam kata lain, fungsi adalah suatu aturan yang mengubah input menjadi output.
- Fungsi dapat diibaratkan sebagai mesin yang menerima input, melakukan proses tertentu, dan kemudian menghasilkan output. Input disebut sebagai "domain" fungsi, sedangkan output disebut sebagai "kodomain" atau "range" fungsi.
2.Jelaskan apa yang dimaksud dengan prosedur!
- Dalam pemrograman, prosedur (atau fungsi) adalah blok kode yang dapat dipanggil berulang kali dari berbagai bagian program. Prosedur memungkinkan kita untuk mengelompokkan kode menjadi bagian-bagian yang lebih kecil, lebih mudah dipahami, dan lebih efisien.
3.Jelaskan apa perbedaan fungsi dan prosedur!
Fungsi:
- Mengembalikan nilai: Fungsi selalu mengembalikan suatu nilai setelah dieksekusi. Nilai ini biasanya hasil dari proses perhitungan atau manipulasi data yang dilakukan dalam fungsi tersebut.
- Dapat dipakai dalam ekspresi: Karena fungsi mengembalikan nilai, fungsinya dapat digunakan dalam ekspresi matematis atau logis. Misalnya, hasil dari suatu fungsi bisa langsung digunakan untuk operasi lain.
Prosedur:
- Tidak mengembalikan nilai: Prosedur tidak mengembalikan nilai apapun. Prosedur hanya menjalankan serangkaian instruksi atau perintah, seperti mencetak sesuatu atau memodifikasi variabel global.
- Tidak digunakan dalam ekspresi: Karena tidak mengembalikan nilai, prosedur hanya dieksekusi untuk menjalankan tugas, bukan untuk menghasilkan nilai yang bisa digunakan dalam operasi lain.
4.Jelaskan apa yang dimaksud dengan iteratif, rekursif, dan apa perbedaan keduanya!
- Iteratif adalah pendekatan yang menggunakan loop (perulangan) untuk mengulangi proses tertentu. Loop dapat berupa for, while, atau do-while. Iteratif digunakan ketika kita ingin mengulangi proses tertentu sampai kondisi tertentu terpenuhi.
- Rekursif adalah pendekatan yang menggunakan fungsi yang memanggil dirinya sendiri untuk mengulangi proses tertentu. Rekursif digunakan ketika kita ingin mengulangi proses tertentu sampai kondisi tertentu terpenuhi.
Perbedaan Iteratif dan Rekursif
Berikut adalah perbedaan antara iteratif dan rekursif:
- Pendekatan: Iteratif menggunakan loop, sedangkan rekursif menggunakan fungsi yang memanggil dirinya sendiri.
- Kompleksitas: Rekursif dapat lebih kompleks dan sulit dipahami daripada iteratif.
- Efisiensi: Iteratif biasanya lebih efisien daripada rekursif, karena rekursif dapat menyebabkan stack overflow jika tidak diimplementasikan dengan benar.
- Keterbatasan: Rekursif memiliki keterbatasan dalam hal jumlah panggilan fungsi, sedangkan iteratif tidak memiliki keterbatasan seperti itu.
Dalam keseluruhan, iteratif dan rekursif adalah dua pendekatan yang berbeda untuk menyelesaikan masalah yang kompleks. Iteratif lebih efisien dan mudah dipahami, sedangkan rekursif dapat lebih kompleks dan sulit dipahami.
5. Buat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan tersebut positif atau negatif!
1) Mendefinisikan Fungsi
- Di sini, kita mendefinisikan fungsi bernama `cek_positif_negatif()`. Fungsi ini tidak menerima parameter dan akan mengembalikan sebuah string berdasarkan hasil pemeriksaan bilangan.
2) Blok try
- Kita menggunakan blok try untuk menangkap kesalahan yang mungkin terjadi saat menjalankan kode di dalamnya. Dalam konteks ini, kesalahan yang mungkin terjadi adalah kesalahan konversi dari input pengguna ke integer.
3) Mengambil Input Pengguna
- Program meminta pengguna untuk memasukkan sebuah angka. Fungsi `input()` akan menerima input dalam bentuk string, dan kita mencoba mengonversinya menjadi integer menggunakan` int().` Jika input bukan angka yang valid (misalnya huruf atau simbol), akan terjadi kesalahan.
4) Memeriksa Nilai Angka
- Di sini, kita memeriksa apakah nilai `num` lebih besar dari 0. Jika iya, fungsi mengembalikan string "Bilangan positif".
- Jika nilai `num` tidak lebih dari 0, kita memeriksa apakah ia kurang dari 0. Jika benar, fungsi mengembalikan string "Bilangan negatif".
- Jika `num` tidak lebih besar atau lebih kecil dari 0, itu berarti nilai tersebut adalah 0, dan fungsi mengembalikan "Bilangan nol".
5) Blok except
- Jika terjadi kesalahan saat konversi input ke integer (misalnya jika pengguna memasukkan huruf), maka blok except akan menangkap kesalahan tersebut. Dalam hal ini, fungsi mengembalikan string "Input bukan angka yang valid".
6) Memanggil Fungsi dan Mencetak Hasil
- Di sini, kita memanggil fungsi `cek_positif_negatif()` dan menyimpan hasilnya ke dalam variabel hasil. Kemudian, kita mencetak hasil tersebut ke layar
Berikut programnya
Ketika kita memasukkan angka,maka hasilnya:
6. Buat fungsi yang digunakan untuk mengecek suatu bilangan, apakah bilangan bulat atau bilangan ganjil!
1) Mendefinisikan Fungsi
- Fungsi bernama `cek_ganjil_bulat()` didefinisikan tanpa parameter. Fungsi ini bertujuan untuk memeriksa apakah suatu bilangan adalah ganjil atau bulat.
2) Blok try
- Kita menggunakan blok try untuk menangkap kesalahan yang mungkin terjadi selama eksekusi kode di dalamnya, terutama saat mengonversi input pengguna.
3) Mengambil Input Pengguna
- Program meminta pengguna untuk memasukkan sebuah angka. Input tersebut diambil sebagai string dan kemudian diubah menjadi integer menggunakan `int()`. Jika input bukan angka yang valid, ini bisa menyebabkan kesalahan.
4) Memeriksa Bilangan Genap atau Ganjil
- Di sini, kita menggunakan operator modulus (%) untuk memeriksa apakah num habis dibagi 2. Jika num % 2 sama dengan 0, maka bilangan tersebut adalah genap, dan fungsi mengembalikan string "Bilangan bulat".
- Jika hasil modulus tidak sama dengan 0, maka bilangan tersebut adalah ganjil, dan fungsi mengembalikan string "Bilangan ganjil".
5) Blok except
- Jika terjadi kesalahan saat mengonversi input ke integer (misalnya jika pengguna memasukkan huruf atau karakter yang tidak bisa dikonversi), maka blok `except` akan menangkap kesalahan tersebut. Dalam hal ini, fungsi mengembalikan string "Input bukan angka yang valid".
6) Memanggil Fungsi dan Mencetak Hasil
- Di sini, fungsi `cek_ganjil_bulat()` dipanggil, dan hasilnya disimpan dalam variabel `hasil`. Kemudian, hasil tersebut dicetak ke layar.
Berikut programnya:
ketika kita masukkan angka,maka hasilnya:
7). Buat fungsi yang digunakan untuk mengecek apakah suatu tahun adalah tahun kabisat atau bukan!
1) Mendefinisikan Fungsi
- Di sini, kita mendefinisikan fungsi bernama `cek_tahun_kabisat()`. Fungsi ini tidak menerima parameter dan akan mengembalikan string berdasarkan hasil pemeriksaan tahun.
2) Blok try
- Kita menggunakan blok `try` untuk menangkap kesalahan yang mungkin terjadi saat menjalankan kode di dalamnya, khususnya saat mengonversi input pengguna menjadi integer.
3) Mengambil Input Pengguna
- Program meminta pengguna untuk memasukkan tahun. Fungsi `input()` menerima input dalam bentuk string, dan kita mencoba mengonversinya menjadi integer menggunakan `int()`. Jika input bukan angka yang valid (misalnya huruf), akan terjadi kesalahan.
4) Memeriksa Tahun Kabisat
- Di sini, kita memeriksa apakah tahun tersebut kabisat menggunakan logika:
- Tahun kabisat adalah tahun yang: Dapat dibagi 4, dan tidak dapat dibagi 100, atau Dapat dibagi 400.
- Jika kondisi tersebut terpenuhi, fungsi mengembalikan string "Tahun kabisat".
- Jika kondisi di atas tidak terpenuhi, maka tahun tersebut bukan tahun kabisat, dan fungsi mengembalikan "Bukan tahun kabisat".
5) Blok except
- Jika terjadi kesalahan saat konversi input ke integer (misalnya jika pengguna memasukkan huruf), maka blok `except` akan menangkap kesalahan tersebut. Dalam hal ini, fungsi mengembalikan string "Input bukan angka yang valid".
6)Memanggil Fungsi dan Mencetak Hasil
- Di sini, kita memanggil fungsi `cek_tahun_kabisat()` dan menyimpan hasilnya ke dalam variabel hasil. Kemudian, kita mencetak hasil tersebut ke layar.
Berikut programnya:
Ketika kita masukkan tahunya,maka hasilnya:
8). Buat sebuah program yang menerapkan proses rekursif!
1) Fungsi dan Parameter
Fungsi perpangkatan menerima dua parameter:
- x: Angka yang akan dipangkatkan.
- n: Pangkat yang ingin diterapkan pada angka x.
2) Kasus Basis
- Jika n sama dengan 0, maka berdasarkan aturan matematika, setiap angka pangkat 0 adalah 1.
- Fungsi mencetak hasil dan mengembalikan nilai 1.
3) Kasus Negatif
- Jika n negatif, fungsi mencetak bahwa hasil pangkat negatif dapat dinyatakan sebagai invers dari pangkat positif.
- Kemudian, fungsi memanggil dirinya sendiri dengan -n (pangkat positif) dan mengembalikan kebalikan dari hasil tersebut.
4) Kasus Umum
- Jika n positif, fungsi memanggil dirinya sendiri dengan n - 1 untuk mendapatkan hasil dari x pangkat n-1.
- Setelah itu, hasil sementara (hasil_sementara) dikalikan dengan x untuk mendapatkan hasil akhir (hasil).
- Fungsi mencetak langkah-langkah yang dilakukan dan mengembalikan hasil akhir.
5) Memanggil Fungsi
- Bagian ini meminta pengguna untuk memasukkan angka dan pangkat yang diinginkan.
- Kemudian, fungsi perpangkatan dipanggil dengan parameter yang dimasukkan dan hasilnya dicetak.
Berikut programnya:
Ketika kita memasukkan angka dan pangkat,maka hasilnya:
Kategori
- Masih Kosong
Blogroll
- Masih Kosong