{ "cells": [ { "cell_type": "markdown", "id": "baa01b86", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Looping (Perulangan)\n", "Looping atau perulangan adalah konsep penting dalam pemrograman yang memungkinkan eksekusi berulang dari blok kode tertentu. Dengan menggunakan loop, Anda dapat mengulangi tugas atau operasi dengan efisien tanpa harus menulis kode berulang kali. Ini sangat bermanfaat untuk mengolah data, mengiterasi melalui elemen-elemen koleksi, atau menjalankan algoritma kompleks. Python mendukung berbagai jenis loop seperti for dan while, yang memberi fleksibilitas dalam mengontrol alur program. Looping adalah dasar dalam mengotomatisasi tugas dan memproses informasi secara berulang, membuat kode lebih efisien dan terorganisir." ] }, { "cell_type": "markdown", "id": "d6ad8bf0", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## A. Tujuan Looping\n", "Tujuan utama dari looping dalam pemrograman adalah untuk menjalankan serangkaian instruksi berulang kali dengan efisien. Looping memungkinkan kita untuk mengotomatisasi tugas berulang, mengolah data dalam jumlah besar, dan mengiterasi melalui elemen-elemen koleksi. Ini membantu menghindari penulisan kode yang berulang dan membuat program lebih efisien serta terstruktur." ] }, { "cell_type": "markdown", "id": "869604be", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## B. Manfaat Looping\n", "1. Automasi: Looping memungkinkan eksekusi tugas yang sama secara otomatis, menghemat waktu dan usaha dalam penulisan kode.\n", "2. Pengolahan Data: Looping memungkinkan pengolahan data dalam jumlah besar: menghitung total, mencari nilai maksimum/minimum, dan lainnya.\n", "3. Iterasi: Dengan looping, kita dapat mengakses elemen-elemen dalam koleksi seperti list, tuple, set, atau dictionary satu per satu.\n", "4. Penerapan Algoritma: Banyak algoritma memerlukan operasi berulang: pengurutan dan pencarian, yang dapat diimplementasikan dengan looping." ] }, { "cell_type": "code", "execution_count": 1, "id": "3ba1042c", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total: 15\n" ] } ], "source": [ "# Looping untuk menghitung total\n", "angka = [1, 2, 3, 4, 5]\n", "total = 0\n", "for x in angka:\n", " total += x\n", "print(\"Total:\", total) # Output: Total: 15" ] }, { "cell_type": "code", "execution_count": 2, "id": "d0f938f6", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Target ditemukan di indeks: 2\n" ] } ], "source": [ "# Looping while\n", "angka = [10, 20, 30, 40, 50]\n", "target = 30\n", "index = 0\n", "while index < len(angka):\n", " if angka[index] == target:\n", " print(\"Target ditemukan di indeks:\", index)\n", " break\n", " index += 1" ] }, { "cell_type": "code", "execution_count": 3, "id": "e0f15daa", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "judul: Harry Potter\n", "pengarang: J.K. Rowling\n", "tahun: 1997\n" ] } ], "source": [ "# Iterasi melalui Dictionary\n", "buku = {\n", " \"judul\": \"Harry Potter\",\n", " \"pengarang\": \"J.K. Rowling\",\n", " \"tahun\": 1997\n", "}\n", "\n", "for kunci, nilai in buku.items():\n", " print(kunci + \":\", nilai)\n", "\n", "# Output:\n", "# judul: Harry Potter\n", "# pengarang: J.K. Rowling\n", "# tahun: 1997" ] }, { "cell_type": "markdown", "id": "12257151", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## C. Looping For\n", "Looping for adalah struktur pengulangan dalam pemrograman yang digunakan untuk menjalankan serangkaian pernyataan secara berulang berdasarkan elemen-elemen dalam sebuah koleksi atau urutan. Ini sangat berguna untuk mengiterasi melalui elemen-elemen data dan melakukan operasi pada setiap elemen. Dalam setiap iterasi, variabel loop akan mengambil nilai dari elemen-elemen koleksi dan menjalankan blok kode yang sesuai." ] }, { "cell_type": "code", "execution_count": null, "id": "85a33d09", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "koleksi = [1, 2, 3, 4, 5]\n", "for variabel_loop in koleksi:\n", " print(variabel_loop)\n", " # Blok kode yang akan diulang\n", " # Gunakan variabel_loop untuk akses elemen-elemen koleksi" ] }, { "cell_type": "markdown", "id": "5bcbb351", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "**Penjelasan Kode**\n", "1. variabel_loop: Ini adalah nama variabel yang akan digunakan untuk mengakses elemen-elemen dalam koleksi selama setiap iterasi.\n", "2. koleksi: Ini adalah objek yang akan diiterasi. Ini bisa berupa list, tuple, set, string, atau bahkan dictionary.\n", "3. Blok kode yang akan diulang: Ini adalah pernyataan atau serangkaian pernyataan yang akan dijalankan dalam setiap iterasi." ] }, { "cell_type": "code", "execution_count": 4, "id": "a08481a1", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "apple\n", "banana\n", "cherry\n" ] } ], "source": [ "# Iterasi melalui List\n", "fruits = [\"apple\", \"banana\", \"cherry\"]\n", "for fruit in fruits:\n", " print(fruit)\n", "# Output:\n", "# apple\n", "# banana\n", "# cherry\n" ] }, { "cell_type": "code", "execution_count": null, "id": "e6f5de30", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Iterasi Melalui Range\n", "for number in range(1, 6):\n", " print(number)\n", "# Output:\n", "# 1\n", "# 2\n", "# 3\n", "# 4\n", "# 5" ] }, { "cell_type": "code", "execution_count": 5, "id": "49dcc9c6", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "H\n", "e\n", "l\n", "l\n", "o\n", ",\n", " \n", "W\n", "o\n", "r\n", "l\n", "d\n", "!\n" ] } ], "source": [ "# Iterasi Melalui String\n", "message = \"Hello, World!\"\n", "for char in message:\n", " print(char)" ] }, { "cell_type": "code", "execution_count": null, "id": "de492464", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh kasus 1 menghitung total nilai mahasiswa\n", "nilai_mahasiswa = [85, 92, 78, 95, 88]\n", "total = 0\n", "\n", "for nilai in nilai_mahasiswa:\n", " total += nilai\n", "\n", "rata_rata = total / len(nilai_mahasiswa)\n", "print(\"Total nilai:\", total)\n", "print(\"Rata-rata nilai:\", rata_rata)" ] }, { "cell_type": "code", "execution_count": null, "id": "187666f9", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh kasus 2 menampilkan dictionary\n", "mahasiswa = {\n", " \"Alice\": 22,\n", " \"Bob\": 20,\n", " \"Carol\": 21,\n", " \"David\": 23\n", "}\n", "\n", "print(\"Daftar mahasiswa beserta usianya:\")\n", "for nama, usia in mahasiswa.items():\n", " print(f\"{nama}: {usia} tahun\")" ] }, { "cell_type": "code", "execution_count": null, "id": "149e995d", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh kasus 3 menghitung jumlah huruf dalam kata-kata\n", "kata_kata = [\"apple\", \"banana\", \"cherry\", \"date\"]\n", "\n", "for kata in kata_kata:\n", " jumlah_huruf = len(kata)\n", " print(f\"Jumlah huruf dalam '{kata}': {jumlah_huruf}\")" ] }, { "cell_type": "markdown", "id": "a7664c03", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## D. Looping While\n", "Looping while adalah struktur pengulangan dalam pemrograman yang memungkinkan eksekusi blok kode tertentu selama kondisi yang diberikan masih terpenuhi (bernilai True). Looping ini cocok untuk situasi di mana Anda tidak tahu berapa kali perulangan akan dijalankan sebelumnya." ] }, { "cell_type": "code", "execution_count": null, "id": "144ee357", "metadata": { "scrolled": false, "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Struktur Umum Looping while\n", "\n", "while kondisi:\n", " # blok kode yang akan diulang\n", " # print item" ] }, { "cell_type": "markdown", "id": "b9bea8b9", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "**Penjelasan**\n", "1. kondisi: Ini adalah ekspresi boolean yang dievaluasi dalam setiap iterasi. Selama kondisi bernilai True, blok kode dalam looping akan diulang.\n", "2. Blok kode yang akan diulang: Ini adalah pernyataan atau serangkaian pernyataan yang akan dijalankan selama kondisi tetap bernilai True." ] }, { "cell_type": "code", "execution_count": 7, "id": "f1928c5c", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5\n", "4\n", "3\n", "2\n", "1\n", "Lift off!\n" ] } ], "source": [ "# Looping while untuk Penghitungan Mundur\n", "countdown = 5\n", "\n", "while countdown > 0:\n", " print(countdown)\n", " countdown -= 1\n", "print(\"Lift off!\")\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "c409ca62", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Tebak angka: 7\n", "Tebakan benar!\n" ] } ], "source": [ "# Looping while untuk Pencarian Angka:\n", "target = 7\n", "guess = None\n", "\n", "while guess != target:\n", " guess = int(input(\"Tebak angka: \"))\n", " if guess < target:\n", " print(\"Angka terlalu kecil.\")\n", " elif guess > target:\n", " print(\"Angka terlalu besar.\")\n", "print(\"Tebakan benar!\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "b1ba8580", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total: 15\n" ] } ], "source": [ "# Looping while dengan Kondisi Kompleks\n", "total = 0\n", "counter = 1\n", "\n", "while total < 20 and counter <= 5:\n", " total += counter\n", " counter += 1\n", "\n", "print(\"Total:\", total)\n" ] }, { "cell_type": "code", "execution_count": null, "id": "96d9dd4d", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 1: Tebak Angka\n", "import random\n", "\n", "target = random.randint(1, 10)\n", "tebakan = None\n", "\n", "while tebakan != target:\n", " tebakan = int(input(\"Tebak angka (1-10): \"))\n", " if tebakan < target:\n", " print(\"Angka terlalu kecil.\")\n", " elif tebakan > target:\n", " print(\"Angka terlalu besar.\")\n", "print(\"Selamat, Anda menebak angka dengan benar!\")\n" ] }, { "cell_type": "code", "execution_count": null, "id": "24ea3623", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 2: Hitung Pangkat\n", "basis = 3\n", "pangkat = 4\n", "hasil = 1\n", "counter = 0\n", "\n", "while counter < pangkat:\n", " hasil *= basis\n", " counter += 1\n", "\n", "print(f\"{basis} pangkat {pangkat} = {hasil}\")" ] }, { "cell_type": "code", "execution_count": null, "id": "c6e84d2f", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "source": [ "# Contoh Kasus 3: Kalkulator Sederhana\n", "selesai = False\n", "\n", "while not selesai:\n", " print(\"Pilih operasi:\")\n", " print(\"1. Penjumlahan\")\n", " print(\"2. Pengurangan\")\n", " print(\"3. Keluar\")\n", " \n", " pilihan = input(\"Masukkan pilihan (1/2/3): \")\n", " \n", " if pilihan == \"1\":\n", " angka1 = float(input(\"Masukkan angka pertama: \"))\n", " angka2 = float(input(\"Masukkan angka kedua: \"))\n", " hasil = angka1 + angka2\n", " print(\"Hasil:\", hasil)\n", " elif pilihan == \"2\":\n", " angka1 = float(input(\"Masukkan angka pertama: \"))\n", " angka2 = float(input(\"Masukkan angka kedua: \"))\n", " hasil = angka1 - angka2\n", " print(\"Hasil:\", hasil)\n", " elif pilihan == \"3\":\n", " selesai = True\n", " else:\n", " print(\"Pilihan tidak valid.\")" ] } ], "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" } }, "nbformat": 4, "nbformat_minor": 5 }