{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Conditional Programming - If, Elif, dan Else\n", "Pemrograman kondisional adalah fondasi dalam mengendalikan alur eksekusi program berdasarkan kondisi-kondisi tertentu. Ini memungkinkan program untuk membuat keputusan dan menjalankan pernyataan yang sesuai berdasarkan nilai atau kejadian yang terjadi. Di dalam pemrograman kondisional, kita menggunakan pernyataan if, elif (singkatan dari \"else if\"), dan else untuk memilih tindakan yang akan diambil program berdasarkan kondisi yang diberikan.\n", "* Pernyataan if: Ini digunakan untuk menjalankan blok kode jika suatu kondisi benar (nilai True).\n", "* Pernyataan elif: Ini digunakan untuk memeriksa kondisi lain jika kondisi sebelumnya tidak terpenuhi.\n", "* Pernyataan else: Ini digunakan untuk menjalankan blok kode jika tidak ada kondisi sebelumnya yang terpenuhi." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "Pemrograman kondisional memungkinkan kita untuk membuat logika dan alur yang dinamis dalam program, memungkinkan program beradaptasi dengan situasi yang berbeda. Jika kita menggunakan perumpamaan, pemrograman kondisional mirip dengan mengambil keputusan dalam hidup sehari-hari berdasarkan situasi yang berbeda. Misalnya, \"Jika cuaca cerah, saya akan pergi piknik. Jika tidak, saya akan menonton film di rumah.\"" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 1: Menentukan Bilangan Positif, Negatif, atau Nol\n", "bilangan = float(input(\"Masukkan sebuah bilangan: \"))\n", "\n", "if bilangan > 0:\n", " print(\"Bilangan adalah positif.\")\n", "elif bilangan < 0:\n", " print(\"Bilangan adalah negatif.\")\n", "else:\n", " print(\"Bilangan adalah nol.\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 2: Menentukan Status Kelulusan\n", "nilai = int(input(\"Masukkan nilai ujian: \"))\n", "\n", "if nilai >= 70:\n", " print(\"Selamat, Anda lulus!\")\n", "else:\n", " print(\"Maaf, Anda belum lulus.\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 3: Menentukan Diskon Pembelian\n", "total_pembelian = float(input(\"Total pembelian: \"))\n", "\n", "if total_pembelian > 100:\n", " diskon = 0.1 * total_pembelian\n", " print(f\"Anda mendapatkan diskon sebesar Rp {diskon:.2f}\")\n", "else:\n", " print(\"Tidak ada diskon untuk pembelian ini.\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 4: Menentukan Kategori Usia\n", "usia = int(input(\"Masukkan usia: \"))\n", "\n", "if usia < 18:\n", " print(\"Anda adalah seorang anak-anak.\")\n", "elif usia < 60:\n", " print(\"Anda adalah seorang dewasa.\")\n", "else:\n", " print(\"Anda adalah seorang manula.\")\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 5: Menentukan Hari Kerja atau Hari Libur\n", "\n", "hari = input(\"Masukkan nama hari: \")\n", "\n", "if hari.lower() == \"sabtu\" or hari.lower() == \"minggu\":\n", " print(\"Ini adalah hari libur!\")\n", "else:\n", " print(\"Ini adalah hari kerja.\")\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Nested If\n", "Nested if adalah konsep dalam pemrograman di mana satu pernyataan if berada di dalam blok kode dari pernyataan if lainnya. Ini memungkinkan kita untuk membuat struktur kondisional yang lebih kompleks, di mana satu kondisi dievaluasi hanya jika kondisi lainnya terpenuhi. Pernyataan if yang berada di dalam blok kode pernyataan if lainnya disebut sebagai \"nested\" (bersarang)." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "usia = int(input(\"Masukkan usia: \"))\n", "status = input(\"Apakah Anda sudah menikah? (ya/tidak): \")\n", "\n", "if usia >= 18:\n", " if status.lower() == \"ya\":\n", " print(\"Anda adalah seorang dewasa yang menikah.\")\n", " else:\n", " print(\"Anda adalah seorang dewasa yang belum menikah.\")\n", "else:\n", " print(\"Anda adalah seorang anak-anak.\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "**Contoh Kasus 1: Menentukan Grade Nilai**\n", "\n", "Kita ingin menentukan grade nilai berdasarkan skala berikut:\n", "\n", " A: 80 - 100\n", " B: 70 - 79\n", " C: 60 - 69\n", " D: 50 - 59\n", " E: Kurang dari 50" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "nilai = int(input(\"Masukkan nilai: \"))\n", "\n", "if nilai >= 80:\n", " if nilai >= 90:\n", " grade = \"A\"\n", " else:\n", " grade = \"B\"\n", "elif nilai >= 60:\n", " grade = \"C\"\n", "elif nilai >= 50:\n", " grade = \"D\"\n", "else:\n", " grade = \"E\"\n", "\n", "print(f\"Grade: {grade}\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "**Contoh Kasus 2: Menentukan Diskon Berdasarkan Usia dan Jumlah Pembelian**" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "usia = int(input(\"Masukkan usia: \"))\n", "total_pembelian = float(input(\"Total pembelian: \"))\n", "diskon = 0\n", "\n", "if usia >= 60:\n", " diskon = 0.15\n", "elif usia >= 40:\n", " diskon = 0.1\n", "\n", "if total_pembelian > 100:\n", " diskon += 0.05\n", "\n", "total_diskon = total_pembelian * diskon\n", "total_bayar = total_pembelian - total_diskon\n", "\n", "print(f\"Total diskon: {total_diskon:.2f}\")\n", "print(f\"Total yang harus dibayar: {total_bayar:.2f}\")\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "**Contoh Kasus 3: Validasi Input Pengguna**" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "angka = int(input(\"Masukkan angka antara 1 dan 10: \"))\n", "\n", "if angka >= 1 and angka <= 10:\n", " print(\"Input valid.\")\n", "else:\n", " print(\"Input tidak valid.\")" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Latihan-Latihan\n", "\n", "#### Soal 1: Menentukan Kategori Usia\n", "Buatlah program yang meminta pengguna memasukkan usia dan menampilkan kategori usia berdasarkan tabel berikut:\n", "* 0 - 12: Anak-anak\n", "* 13 - 18: Remaja\n", "* 19 - 35: Dewasa Muda\n", "* 36 - 60: Dewasa\n", "* Di atas 60: Manula" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Soal 2: Menghitung Biaya Pengiriman\n", "Buatlah program yang meminta pengguna memasukkan berat paket yang akan dikirim dan menampilkan biaya pengiriman berdasarkan tabel berikut:\n", "* Di bawah 2 kg: Rp 20.000\n", "* 2 kg - 5 kg: Rp 40.000\n", "* Di atas 5 kg: Rp 60.000" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Soal 3: Menentukan Jenis Segitiga\n", "Buatlah program yang meminta pengguna memasukkan panjang sisi-sisi suatu segitiga dan menampilkan jenis segitiga berdasarkan sifat-sifatnya:\n", "* Semua sisi sama panjang: Segitiga Sama Sisi\n", "* Hanya dua sisi yang sama panjang: Segitiga Sama Kaki\n", "* Semua sisi berbeda panjang: Segitiga Sembarang" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Soal 4: Pemilihan Menu Makanan\n", "Buatlah program yang menampilkan daftar menu makanan dan meminta pengguna memasukkan pilihan menu. Jika pilihan menu adalah \"nasi goreng\", tampilkan pesan \"Nasi goreng sudah habis.\" Jika pilihan menu adalah \"mie goreng\", tampilkan pesan \"Mie goreng tersedia.\"" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Soal 5: Penghitungan Gaji Karyawan\n", "Buatlah program yang meminta pengguna memasukkan nama karyawan, jam kerja per minggu, dan gaji per jam. Hitunglah gaji total karyawan dengan mengikuti aturan berikut:\n", "* Jika jam kerja <= 40, gaji = jam kerja * gaji per jam\n", "* Jika jam kerja > 40, gaji = (40 * gaji per jam) + (1.5 * (jam kerja - 40) * gaji per jam)" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.7" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false }, "vscode": { "interpreter": { "hash": "bf561ca6f89f78fd9dbdfdd960a92d6b2caa3ca9114a4873ec11e56348c4577d" } } }, "nbformat": 4, "nbformat_minor": 2 }