4.7 Latihan Mandiri

06 October 2024 18:05:09 Dibaca : 19

Nama            : Hermawati Tine

Nim                : 411423064

Prodi / Kelas  : Pendidikan Matematika / B

Mata Kuliah    : Komputasi Dan Pemograman

Dosen Pengampu :  Agusyarif Rezka Nuha, S.Pd. M.Pd

 

1. Pengertian Fungsi 

Fungsi adalah konsep dasar dalam matematika dan ilmu komputer yang memiliki beberapa pengertian tergantung konteksnya. Berikut adalah beberapa pengertian fungsi:

  • Dalam Matematika:

Fungsi adalah hubungan antara dua himpunan, di mana setiap elemen dari himpunan pertama (domain) dipetakan ke tepat satu elemen di himpunan kedua (kodomain). Fungsi biasanya dinyatakan dalam bentuk f(x), di mana x adalah variabel input dan f(x) adalah output.

  • Dalam Ilmu Komputer:

Fungsi adalah blok kode yang dirancang untuk melakukan tugas tertentu. Fungsi dapat menerima input (parameter), melakukan proses, dan menghasilkan output. Fungsi membantu dalam mengorganisir kode, membuatnya lebih modular dan mudah dipelihara.

2. Pengertian Prosedur 

Prosedur adalah serangkaian langkah atau tahapan yang sistematis dan terstruktur yang diikuti untuk mencapai suatu tujuan atau menyelesaikan suatu tugas tertentu. Prosedur sering digunakan dalam berbagai konteks, seperti dalam bisnis, pemerintahan, pendidikan, dan bidang lainnya, untuk memastikan bahwa proses dilakukan secara konsisten dan efisien.

Ciri-ciri dari prosedur meliputi:

  • Langkah-langkah Terdefinisi: Prosedur terdiri dari langkah-langkah yang jelas dan terperinci.
  • Tujuan Tertentu: Prosedur dirancang untuk mencapai hasil tertentu.
  • Standarisasi: Prosedur membantu dalam menjaga konsistensi dan kualitas dalam pelaksanaan tugas.
  • Dokumentasi: Prosedur sering didokumentasikan agar dapat diikuti oleh orang lain dalam situasi yang sama.

3. Perbedaan Fungsi dan Prosedur

Fungsi dan prosedur adalah dua konsep penting dalam pemrograman dan pengorganisasian tugas, tetapi keduanya memiliki perbedaan yang signifikan. Berikut adalah penjelasan mengenai perbedaan antara keduanya:

Fungsi

  • Definisi: Blok kode yang melakukan tugas tertentu dan mengembalikan nilai.
  • Parameter: Menerima input dan menghasilkan output.
  • Pengembalian Nilai: Selalu mengembalikan nilai.
  • Contoh: Menghitung luas lingkaran.

Prosedur

  • Definisi: Serangkaian langkah untuk melakukan tugas tanpa mengembalikan nilai.
  • Parameter: Dapat menerima input, tetapi fokus pada eksekusi.
  • Pengembalian Nilai: Tidak mengembalikan nilai.
  • Contoh: Mencetak laporan.

Ringkasan

  • Fungsi: Mengembalikan nilai; fokus pada pemrosesan.
  • Prosedur: Tidak mengembalikan nilai; fokus pada pelaksanaan tugas.

4. Apa itu Iteratif, Rekursif, dan perbedaan keduanya!

Iteratif

  • Definisi: Pendekatan yang menggunakan loop (seperti for atau while) untuk mengulang suatu blok kode hingga kondisi tertentu terpenuhi.
  • Proses: Dalam pendekatan ini, program secara eksplisit mengulangi langkah-langkah tertentu.
  • Contoh: Menghitung jumlah angka dari 1 hingga n dengan menggunakan loop.

Rekursif

  • Definisi: Pendekatan yang memanggil fungsi itu sendiri untuk menyelesaikan suatu masalah.
  • Proses: Masalah dipecah menjadi sub-masalah yang lebih kecil, dan fungsi akan terus memanggil dirinya hingga mencapai kondisi dasar (base case).
  • Contoh: Menghitung faktorial n dengan memanggil fungsi faktorial untuk n-1.

Perbedaan

1. Pendekatan:

  • Iteratif: Menggunakan loop.
  • Rekursif: Menggunakan pemanggilan fungsi sendiri.

2. Penggunaan Memori:

  • Iteratif: Umumnya lebih efisien dalam penggunaan memori karena tidak memerlukan stack frame tambahan.
  • Rekursif: Dapat memakan lebih banyak memori karena setiap pemanggilan fungsi menambah stack frame.

3. Keterbacaan:

  • Iteratif: Kadang lebih sulit dibaca untuk masalah kompleks.
  • Rekursif: Sering kali lebih mudah dipahami untuk masalah yang dapat dipecah menjadi sub-masalah.

Ringkasan

  • Iteratif: Mengulangi dengan loop.
  • Rekursif: Memanggil fungsi sendiri untuk menyelesaikan masalah.

 5. Fungsi untuk mengecek suatu bilangan positif atau negatif 

Penjelasan Kode 

1. Definisi Fungsi : 

  • Baris ini mendefinisikan sebuah fungsi bernama cek_bilangan yang menerima satu parameter, yaitu bilangan.

2. Kondisi Pertama :

  • Jika nilai bilangan lebih besar dari 0, fungsi akan mengembalikan string "Bilangan Positif".

3. Kondisi Kedua :

  • Jika nilai bilangan kurang dari 0, fungsi akan mengembalikan string "Bilangan Positif".

4. Kondisi Ketiga :

  • Jika nilai bilangan tidak memenuhi kondisi di atas (artinya sama dengan 0), fungsi akan mengembalikan string "Bilangan nol".

5. Contoh Penggunaan:

  • Baris ini meminta pengguna untuk memasukan sebuah bilangan. Input tersebut kemudian diubah menjadi tipe data integer menggunakan int().

6. Memanggil Fungsi :

  • Fungsi cek_bilangan dipanggil dengan argumen bilangan yang dimasukkan oleh pengguna, dan hasilnya disimpan dalam variabel hasil.

7. Menampilkan Hasil :

  • Baris ini mencetak hasil yang dikembalikan oleh fungsi, yaitu apakah bilangan tersebut positif, negatif, atau nol.

Ringkasan 

Program ini meminta pengguna untuk memasukkan sebuah bilangan, kemudian mengecek apakah bilangan tersebut positif, negatif, atau nol, dan akhirnya mencetak hasilnya.

Hasil Program ketika dijalankan

6. Program untuk mengecek bilangan bulat atau ganjil 

Penjelasan Detail:1. Definisi Fungsi:

  • def cek_bilangan(bilangan):: Mendefinisikan fungsi cek_bilangan yang menerima satu parameter, bilangan.

2. Memeriksa Tipe Data:

  • if isinstance(bilangan, int):: Mengecek apakah bilangan adalah tipe integer.

3. Cek Genap atau Ganjil:

  • if bilangan % 2 == 0:: Jika bilangan dibagi 2 sisa 0, maka bilangan tersebut genap.
  • return "Bilangan genap": Mengembalikan string "Bilangan genap" jika kondisi di atas terpenuhi.
  • else:: Jika tidak, berarti bilangan tersebut ganjil.
  • return "Bilangan ganjil": Mengembalikan string "Bilangan ganjil".

4. Jika Bukan Integer:

  • else:: Jika bilangan bukan integer.
  • return "Bukan bilangan bulat": Mengembalikan string yang menyatakan bahwa input bukan bilangan bulat.

5. Contoh Penggunaan:

  • bilangan_input = input("Masukkan bilangan: "): Mengambil input dari pengguna sebagai string.
  • hasil = cek_bilangan(int(bilangan_input)): Mengubah input menjadi integer dan memanggil fungsi untuk memeriksa bilangan tersebut.
  • print(hasil): Menampilkan hasil yang dikembalikan oleh fungsi.

7. Buat Program untuk mengcek suatu tahun kabisat atau bukan 

Penjelasan Kode:1. Definisi Fungsi:

  • def cek_tahun_kabisat(tahun):: Mendefinisikan fungsi cek_tahun_kabisat yang menerima satu parameter, tahun.

2. Logika Tahun Kabisat:

  • if (tahun % 4 == 0 and tahun % 100 != 0) or (tahun % 400 == 0)::Tahun kabisat adalah tahun yang memenuhi salah satu dari dua kondisi:Tahun dapat dibagi 4 tetapi tidak dapat dibagi 100.
  • Atau tahun dapat dibagi 400.
  • return "Tahun kabisat": Mengembalikan string "Tahun kabisat" jika kondisi di atas terpenuhi.
  • else:: Jika tidak memenuhi kedua kondisi, maka tahun tersebut bukan kabisat.
  • return "Bukan tahun kabisat": Mengembalikan string "Bukan tahun kabisat".

3. Contoh Penggunaan:

  • tahun_input = int(input("Masukkan tahun: ")): Mengambil input tahun dari pengguna dan mengubahnya menjadi integer.
  • hasil = cek_tahun_kabisat(tahun_input): Memanggil fungsi untuk mengecek apakah tahun tersebut kabisat.
  • print(hasil): Menampilkan hasil yang dikembalikan oleh fungsi.

8. Program yang Menerapkan proses Rekursif

Penjelasan Kode:1. Definisi Fungsi:

  • def faktorial(n):: Mendefinisikan fungsi faktorial yang menerima parameter n.

2. Inisialisasi Hasil:

  • hasil = 1: Menginisialisasi variabel hasil dengan 1, yang akan digunakan untuk menyimpan hasil faktorial.

3. Loop:

  • for i in range(1, n + 1):: Menggunakan loop untuk iterasi dari 1 hingga n.
  • hasil *= i: Mengalikan hasil dengan i pada setiap iterasi.

4. Mengembalikan Hasil:

  • return hasil: Mengembalikan nilai akhir dari hasil, yang merupakan faktorial dari n.

5. Contoh Penggunaan:

  • angka_input = int(input("Masukkan bilangan bulat positif: ")): Mengambil input dari pengguna dan mengonversinya ke integer.
  • if angka_input < 0:: Memeriksa apakah input negatif dan memberi peringatan jika ya.
  • hasil = faktorial(angka_input): Memanggil fungsi faktorial untuk menghitung faktorial dari angka yang diberikan.
  • print(f"Faktorial dari {angka_input} adalah {hasil}"): Menampilkan hasil faktorial yang dihitung.

6. Penanganan Kesalahan:

  • Menggunakan try dan except untuk menangani kesalahan input yang tidak valid (misalnya, jika pengguna memasukkan karakter non-angka).