{
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "# Tugas Praktik: Program Kalkulator Interaktif\n",
        "\n",
        "### Deskripsi Tugas:\n",
        "Terapkan seluruh konsep yang telah Anda pelajari pada Bab 1 (Variabel, Tipe Data, Operator, Percabangan, dan Fungsi) untuk membuat program kalkulator fungsional."
      ],
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "metadata": {},
      "source": [
        "## Spesifikasi Program yang Diharapkan:\n",
        "1. Memiliki fungsi matematika: `tambah(a, b)`, `kurang(a, b)`, `kali(a, b)`, dan `bagi(a, b)`.\n",
        "2. Menangani pembagian dengan angka nol (*zero division error handling*).\n",
        "3. Mengembalikan hasil komputasi yang rapi."
      ],
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {},
      "source": [
        "# Implementasi Program Kalkulator Modular\n",
        "def tambah(a, b):\n",
        "    return a + b\n",
        "\n",
        "def kurang(a, b):\n",
        "    return a - b\n",
        "\n",
        "def kali(a, b):\n",
        "    return a * b\n",
        "\n",
        "def bagi(a, b):\n",
        "    if b == 0:\n",
        "        return \"Error: Pembagian dengan nol tidak diizinkan!\"\n",
        "    return a / b\n",
        "\n",
        "# Uji Coba Fungsi Kalkulator\n",
        "angka1 = 48\n",
        "angka2 = 12\n",
        "\n",
        "print(f\"{angka1} + {angka2} = {tambah(angka1, angka2)}\")\n",
        "print(f\"{angka1} - {angka2} = {kurang(angka1, angka2)}\")\n",
        "print(f\"{angka1} * {angka2} = {kali(angka1, angka2)}\")\n",
        "print(f\"{angka1} / {angka2} = {bagi(angka1, angka2)}\")\n",
        "print(f\"{angka1} / 0  = {bagi(angka1, 0)}\")"
      ],
      "outputs": [],
      "execution_count": null
    }
  ],
  "metadata": {
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "name": "python",
      "version": "3.11.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 2
}