[{"data":1,"prerenderedAt":303},["ShallowReactive",2],{"tag-labels":3,"site-header":4,"article-return-statement-pada-python-id":72},{},{"featuredPost":5,"navigations":29},{"id":6,"title":7,"title_en":8,"slug":9,"excerpt":10,"excerpt_en":11,"has_translation":12,"published_at":13,"reading_time":14,"hidden_from_listing":15,"tags":16,"thumbnail_image":21,"og_image":22,"series":23,"authors":28},110,"Ketika Pilih Framework Cuma Biar Kelihatan Beda","When You Pick a Framework Just to Look Different","ketika-pilih-framework-cuma-biar-kelihatan-beda","Terakhir kali kamu milih framework atau library baru, itu karena masalahmu butuh alat itu, atau karena alatnya kedengaran keren dan belum banyak yang pakai? Pertanyaan ini nggak enak dijawab. Soalnya keputusan teknologi sering diambil dengan alasan yang nggak pernah ditulis di dokumen teknis mana pun.","The last time you chose a new framework or library, was it because your problem needed that tool, or because it sounded cool and few people around you were using it? That question is uncomfortable. Technology decisions are often made for reasons that never appear in any technical document.",true,"2026-10-06T15:25:21.000Z",5,false,[17,18,19,20],"karier","framework","opini","pengalaman",null,"\u002Fog\u002Fketika-pilih-framework-cuma-biar-kelihatan-beda.png",{"id":24,"title":25,"title_en":26,"slug":27},9,"Artikel","Articles","all",[],[30,46,67],{"collection":31,"item":32},"series",{"__typename":31,"title":25,"title_en":26,"slug":27,"children_series":33},[34,38,42],{"title":35,"title_en":36,"slug":37},"Kecerdasan Artifisial","Artificial Intelligence","kecerdasan-artifisial",{"title":39,"title_en":40,"slug":41},"Konsep Dasar Pemrograman","Programming Fundamentals","konsep-dasar-pemrograman",{"title":43,"title_en":44,"slug":45},"Algoritma dan Struktur Data","Algorithms and Data Structures","algoritma-struktur-data",{"collection":31,"item":47},{"__typename":31,"title":48,"title_en":48,"slug":49,"children_series":50},"Tutorial","tutorial",[51,55,59,63],{"title":52,"title_en":53,"slug":54},"Belajar Python","Learning Python","belajar-python",{"title":56,"title_en":57,"slug":58},"Belajar Golang","Learning Go","belajar-golang",{"title":60,"title_en":61,"slug":62},"Belajar Java","Learning Java","belajar-java",{"title":64,"title_en":65,"slug":66},"Belajar Pascal","Learning Pascal","belajar-pascal",{"collection":31,"item":68},{"__typename":31,"title":69,"title_en":69,"slug":70,"children_series":71},"Lab","lab",[],{"article":73,"renderedBody":187,"renderedTakeaway":188,"latestArticles":189,"toc":283},{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":86,"series":87,"authors":180,"body_locale":183,"available_locales":184,"body":186,"takeway":21,"prerequisite":21},99,"Return Statement pada Python","The Return Statement in Python","return-statement-pada-python","Return statement memungkinkan kita mengembalikan nilai yang sudah diproses pada fungsi ke pemanggil.","The return statement lets you send a value a function has already processed back to the caller.","2022-01-03T03:40:03.000Z",6,[83,84,85],"python","fungsi","syntax","\u002Fog\u002Freturn-statement-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91,"description":92,"description_en":93,"articles":94,"children_series":149,"parent_series":150},20,"Pemrograman Fungsional dengan Python","Functional Programming with Python","python-pemrograman-fungsional","Bungkus kode jadi fungsi biar nggak nulis hal yang sama dua kali. Bahas parameter, return, sampai default argument.","Wrap your code in functions so you stop writing the same thing twice. Parameters, return values, and default arguments.",[95,114,119,135],{"id":96,"title":97,"title_en":98,"slug":99,"excerpt":100,"excerpt_en":101,"has_translation":12,"published_at":102,"reading_time":14,"hidden_from_listing":15,"tags":103,"thumbnail_image":21,"og_image":105,"series":106,"authors":107},98,"Fungsi dan Sub Program pada Python","Functions and Sub Programs in Python","fungsi-dan-sub-program-pada-python","Fungsi atau dalam istilah pemrograman disebut dengan “function” merupakan blok kode yang digunakan untuk menyelesaikan masalah spesifik.","A function is a block of code used to solve a specific problem, and functions are the key to building large programs in Python.","2022-09-06T03:33:06.000Z",[83,84,104],"sub-program","\u002Fog\u002Ffungsi-dan-sub-program-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91},[108],{"authors_id":109},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},1,"Daffa Izzuddin","izzudd","Writer",{"id":74,"title":75,"title_en":76,"slug":77,"excerpt":78,"excerpt_en":79,"has_translation":12,"published_at":80,"reading_time":81,"hidden_from_listing":15,"tags":82,"thumbnail_image":21,"og_image":86,"series":115,"authors":116},{"id":88,"title":89,"title_en":90,"slug":91},[117],{"authors_id":118},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},{"id":120,"title":121,"title_en":122,"slug":123,"excerpt":124,"excerpt_en":125,"has_translation":12,"published_at":126,"reading_time":127,"hidden_from_listing":15,"tags":128,"thumbnail_image":21,"og_image":130,"series":131,"authors":132},100,"Pass Statement pada Python","The Pass Statement in Python","pass-statement-pada-python","pass statement pada python merupakan statement spesial yang hanya bisa digunakan di dalam compound statement","The pass statement in Python is a special statement you can only use inside a compound statement.","2022-01-17T03:51:58.000Z",3,[83,85,129],"struktur-kontrol","\u002Fog\u002Fpass-statement-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91},[133],{"authors_id":134},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},{"id":136,"title":137,"title_en":138,"slug":139,"excerpt":140,"excerpt_en":141,"has_translation":12,"published_at":142,"reading_time":127,"hidden_from_listing":15,"tags":143,"thumbnail_image":21,"og_image":144,"series":145,"authors":146},101,"Default Argument dan Keyword Argument pada Python","Default Argument and Keyword Argument in Python","default-argument-pada-python","Default argument merupakan argument fungsi yang memiliki nilai asal, dengan ini kita bisa membuat argument opsional","A default argument is a function argument with an initial value, which lets you make arguments optional.","2024-02-12T14:01:05.000Z",[83,84,85],"\u002Fog\u002Fdefault-argument-pada-python.png",{"id":88,"title":89,"title_en":90,"slug":91},[147],{"authors_id":148},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},[],{"id":151,"title":52,"title_en":53,"slug":54,"parent_series":152,"children_series":153},10,{"id":110,"title":48,"title_en":48,"slug":49},[154,159,164,169,174,175],{"id":155,"title":156,"title_en":157,"slug":158,"cover_image":21},16,"Berkenalan dengan Bahasa Python","Getting Started with Python","python-intro",{"id":160,"title":161,"title_en":162,"slug":163,"cover_image":21},17,"Variabel, Tipe Data, dan Operasi","Variables, Types, and Operations","python-variabel-tipe-data",{"id":165,"title":166,"title_en":167,"slug":168,"cover_image":21},18,"Menggunakan Script Python","Working with Python Scripts","python-pemrograman-dengan-script",{"id":170,"title":171,"title_en":172,"slug":173,"cover_image":21},19,"Struktur Kontrol","Control Structures","python-struktur-kontrol",{"id":88,"title":89,"title_en":90,"slug":91,"cover_image":21},{"id":176,"title":177,"title_en":178,"slug":179,"cover_image":21},30,"Koleksi dan String","Collections and Strings","python-collections",[181],{"authors_id":182},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},"id",[185,183],"en","Pada kesempatan kali ini kita akan membahas tentang `return` statement pada Python 3, statement yang memungkinkan kita mengembalikan nilai dari sebuah fungsi.\n\n## Tentang Return Statement\n\nReturn statement merupakan statement spesial yang hanya bisa digunakan di dalam [fungsi](https:\u002F\u002Finvasikode.com\u002Ffungsi-python\u002F). Statement ini memungkinkan kita mengembalikan nilai yang sudah diproses pada fungsi ke pemanggil.\n\nSebagai gambaran, return statement memungkinkan kita melakukan hal ini:\n\n```python\n# hitung sisi miring segitiga\n\n# tanpa fungsi:\nc = (a*a + b*b)**.5\n\n# dengan fungsi:\nc = hitung_sisi_miring(a, b)\n```\n\nKira kira bagaimana caranya? sebelumnya kita perlu bahas dulu format pembuatannya.\n\n## Format Penulisan Return Statement\n\nStatement ini terdiri dari keyword `return` diikuti dengan nilai opsional yang ingin dikembalikan. Nilai kembalian ini bisa berisi apapun, bisa data [numerik](https:\u002F\u002Finvasikode.com\u002Ftipe-data-numerasi-python\u002F), [string](https:\u002F\u002Finvasikode.com\u002Ftipe-data-string-python\u002F), [list](https:\u002F\u002Finvasikode.com\u002Ftipe-data-list-python\u002F), atau tidak mengembalikan nilai sama sekali.\n\n```\ndef nama_fungsi([parameter]):\n    tubuh_fungsi\n    ...\n    ...\n    return [nilai_kembalian]\n```\n\n* `nilai_kembalian`: nilai yang akan dikembalikan pada pemanggil (opsional)\n\nUdah, gitu aja.. satu baris kode yang akan sangat berguna 😌.\n\n## Contoh Penggunaan Return Statement\n\nPada kesempatan kali ini kita akan coba menggunakan `return` statement dalam 2 kasus. Yang pertama adalah untuk mengembalikan sebuah nilai, dan yang kedua kita coba menggunakan `return` statement untuk keluar paksa dari eksekusi fungsi.\n\n### Mengembalikan Nilai dengan Return Statement\n\nSeperti yang sudah disebutkan sebelumnya, kegunaan `return` statement adalah untuk mengembalikan nilai dari fungsi ke pemanggil. Nah sekarang kita akan coba buat implementasi kodenya.\n\nSemisal kita ingin menghitung sisi miring segitiga. Seperti yang kita tahu, perhitungan ini dapat diselesaikan menggunakan teorema pythagoras. Masih ingat kan ya?\n\n$$c=\\sqrt{a^2+b^2}$$\n\nPersamaannya cukup sederhana, jika diterjemahkan ke kode python maka akan seperti ini:\n\n```python\nc = (a*a + b*b)**.5\n```\n\nNah, sekarang katakanlah kita punya 3 segitiga yang akan dicari sisi miringnya dengan panjang sisi yang berbeda.\n\n| Nama segitiga | Alas (a) | Tinggi (b) |\n| ------------- | -------- | ---------- |\n| segitiga 1    | 3        | 4          |\n| segitiga 2    | 5        | 12         |\n| segitiga 3    | 7        | 24         |\n\nKalau kita ingin mencari masing-masing sisi miringnya (c) dengan kode python yang telah kita buat sebelumnya maka jadinya akan seperti ini:\n\n```python\na1, a2, a3 = 3, 5, 7\nb1, b2, b3 = 4, 12, 24\n\nc1 = (a1*a1 + b1*b1)**.5\nc2 = (a2*a2 + b2*b2)**.5\nc3 = (a3*a3 + b3*b3)**.5\n\nprint(\"sisi miring segitiga 1:\", c1)\nprint(\"sisi miring segitiga 2:\", c2)\nprint(\"sisi miring segitiga 3:\", c3)\n```\n\noutput:\n\n```\nsisi miring segitiga 1: 5\nsisi miring segitiga 2: 13\nsisi miring segitiga 3: 25\n```\n\nKode tersebut valid memang, tapi coba perhatikan lagi, ada 3 baris kode yang diulang dengan logika yang sama namun variablenya berbeda. Bisa dilihat pada perhitungan variable `c1`, `c2`, dan `c3`. Nah, hal ini sebenarnya bisa kita persingkat dengan memanfaatkan fungsi.\n\nKita akan membuat fungsi dengan nama `hitung_sisi_miring` yang menerima 2 parameter yaitu `a` (alas) dan `b` (tinggi). Selanjutnya, tubuh fungsi berisi perhitungan sisi miring (`c`) sesuai rumus yang ada lalu kita kembalikan nilainya menggunakan `return` statement.\n\nSehingga kodenya menjadi seperti ini:\n\n```python\ndef hitung_sisi_miring(a, b):\n    c = (a*a + b*b)**.5\n    return c\n\nc1 = hitung_sisi_miring(3, 4)\nc2 = hitung_sisi_miring(5, 12)\nc3 = hitung_sisi_miring(7, 24)\n\nprint(\"sisi miring segitiga 1:\", c1)\nprint(\"sisi miring segitiga 2:\", c2)\nprint(\"sisi miring segitiga 3:\", c3)\n```\n\noutput:\n\n```\nsisi miring segitiga 1: 5\nsisi miring segitiga 2: 13\nsisi miring segitiga 3: 25\n```\n\nSipp, dengan begini kita tidak perlu menuliskan rumus panjang berkali-kali dan bisa dilihat kodenya jadi lebih mudah dibaca — kan?\n\nAlih-alih menuliskan rumus perhitungan satu-persatu, sekarang kita hanya perlu memanggil fungsi `hitung_sisi_miring` dengan argumen\u002Fparameter yang sesuai. Ini karena rumus logika perhitungan sudah dipindahkan dalam tubuh fungsi.\n\nSekarang kita coba bedah apa yang terjadi ketika pemanggilan `hitung_sisi_miring(3, 4)`\n\n```python\n# pemanggilan fungsi hitung_sisi_miring(3, 4)\n\ndef hitung_sisi_miring(a, b):\n\t# sekarang nilai a = 3 dan b = 4\n    # melakukan perhitungan sesuai rumus\n    c = (a*a + b*b)**.5 # nilai c = 5\n    return c            # mengembalikan nilai c pada pemanggil\n```\n\nKetika fungsi sudah sampai pada keyword `return` maka nilai terkait akan dikembalikan (dalam hal ini `c`). Sehingga nilai dari `hitung_sisi_miring(3, 4)` adalah 5. Hal ini menyebabkan assignment `c1 = hitung_sisi_miring(3, 4)` secara otomatis menjadi `c1 = 5`. Begitu pula untuk `c2` dan `c3`.\n\n### Menggunakan Return Statement untuk Menghentikan Eksekusi Fungsi\n\nKalau sebelumnya kita sudah coba menuliskan `return` statement di akhir tubuh fungsi, bagaimana jika kita menuliskannya di tengah-tengah? mari kita cari tahu.\n\nCoba perhatikan lagi fungsi yang sudah kita buat sebelumnya. Bisa kita lihat bahwa fungsi `hitung_sisi_miring` dapat menerima parameter apa saja, termasuk bilangan negatif. Nah, karena panjang sisi segitiga tidak mungkin negatif maka harus ada pengaman dari fungsi tersebut. Katakanlah kita akan mengembalikan nilai -1 jika ada salah satu dari parameter bernilai negatif, maka kodenya bisa ditulis seperti ini:\n\n```python\ndef hitung_sisi_miring(a, b):\n    if a \u003C 0 or b \u003C 0:\n        return -1\n\n    c = (a*a + b*b)**.5\n    return c\n```\n\nBisa dilihat ya terdapat 2 return statement pada fungsi tersebut, tapi kita-kira bagaimana proses eksekusinya? `return` mana yang akan dieksekusi? Mari kita coba jalankan.\n\n```python\ndef hitung_sisi_miring(a, b):\n    if a \u003C 0 or b \u003C 0:\n        return -1\n\n    c = (a*a + b*b)**.5\n    return c\n\nc1 = hitung_sisi_miring(3, 4)   # a dan b positif\nc2 = hitung_sisi_miring(-3, 4)  # a negatif, b positif\nc3 = hitung_sisi_miring(3, -4)  # a positif, b negatif\nc4 = hitung_sisi_miring(-3, -4) # a dan b negatif\n\nprint(\"nilai c1:\", c1)\nprint(\"nilai c2:\", c2)\nprint(\"nilai c3:\", c3)\nprint(\"nilai c4:\", c4)\n```\n\nOutput:\n\n```\nnilai c1: 5\nnilai c2: -1\nnilai c3: -1\nnilai c4: -1\n```\n\nPada output tersebut terlihat bahwa jika kita memasukkan nilai negatif pada salah satu atau kedua parameter, nilai yang dikembalikan adalah -1 atau pada kasus ini nilai dari `return` statement yang pertama. Lalu bagaimana dengan `return` statement selanjutnya?\n\nPada Python, ketika sebuah fungsi menyentuh keyword `return` maka hal yang akan dilakukan adalah keluar dari fungsi dan mengembalikan nilai pada saat itu juga. Karena sudah ada nilai yang dikembalikan, maka eksekusi fungsi dinyatakan selesai sehingga seluruh kode selanjutnya tidak akan dieksekusi.\n\nOleh karena itulah kita mendapatkan output seperti yang ada diatas.\n\n`return` statement ini juga bisa bertindak seperti [keyword `break`](https:\u002F\u002Finvasikode.com\u002Fbreak-dan-continue-pada-python\u002F) yang ada pada [perulangan](https:\u002F\u002Finvasikode.com\u002Ffor-loop-python\u002F). Tetapi alih-alih menghentikan iterasi, dengan `return` statement kita bisa keluar paksa dan menghentikan alur fungsi. Caranya adalah dengan memanggil `return` tanpa memberikan nilai kembalian. Coba perhatikan kode berikut:\n\n```python\n# definisi fungsi cetak\ndef cetak():\n    print(\"Halo, Inva!\")\n    print(\"Ini adalah perintah sebelum return dipanggil\")\n    print(\"Setelah return dieksekusi maka fungsi dinyatakan selesai\")\n    return\n    print(\"Baris ini tidak akan dieksekusi\")\n    print(\"Baris ini juga tidak\")\n    print(\"Apalagi ini!!\")\n\ncetak() # memanggil fungsi cetak\n```\n\nOutput:\n\n```\nHalo, Inva!\nIni adalah perintah sebelum return dipanggil\nSetelah return dieksekusi maka fungsi dinyatakan selesai\n```\n\nBisa dilihat ya, semua perintah `print` setelah keyword `return` tidak dieksekusi.\n\n## Selanjutnya apa?\n\nCukup sekian untuk kesempatan kali ini, semoga bermanfaat 😉\n\nPada kesempatan selanjutnya kita akan membahas satu lagi keyword khusus pada fungsi yaitu tentang [`pass` statement pada Python 3](https:\u002F\u002Finvasikode.com\u002Fpass-python\u002F).\n\nSee ya 👋\n","\u003Cp>Pada kesempatan kali ini kita akan membahas tentang \u003Ccode>return\u003C\u002Fcode> statement pada Python 3, statement yang memungkinkan kita mengembalikan nilai dari sebuah fungsi.\u003C\u002Fp>\n\u003Ch2 id=\"tentang-return-statement\">Tentang Return Statement\u003C\u002Fh2>\n\u003Cp>Return statement merupakan statement spesial yang hanya bisa digunakan di dalam \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ffungsi-python\u002F\">fungsi\u003C\u002Fa>. Statement ini memungkinkan kita mengembalikan nilai yang sudah diproses pada fungsi ke pemanggil.\u003C\u002Fp>\n\u003Cp>Sebagai gambaran, return statement memungkinkan kita melakukan hal ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"%23%20hitung%20sisi%20miring%20segitiga%0A%0A%23%20tanpa%20fungsi%3A%0Ac%20%3D%20(a*a%20%2B%20b*b)**.5%0A%0A%23%20dengan%20fungsi%3A%0Ac%20%3D%20hitung_sisi_miring(a%2C%20b)\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># hitung sisi miring segitiga\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># tanpa fungsi:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># dengan fungsi:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(a, b)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Kira kira bagaimana caranya? sebelumnya kita perlu bahas dulu format pembuatannya.\u003C\u002Fp>\n\u003Ch2 id=\"format-penulisan-return-statement\">Format Penulisan Return Statement\u003C\u002Fh2>\n\u003Cp>Statement ini terdiri dari keyword \u003Ccode>return\u003C\u002Fcode> diikuti dengan nilai opsional yang ingin dikembalikan. Nilai kembalian ini bisa berisi apapun, bisa data \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ftipe-data-numerasi-python\u002F\">numerik\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ftipe-data-string-python\u002F\">string\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ftipe-data-list-python\u002F\">list\u003C\u002Fa>, atau tidak mengembalikan nilai sama sekali.\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"def%20nama_fungsi(%5Bparameter%5D)%3A%0A%20%20%20%20tubuh_fungsi%0A%20%20%20%20...%0A%20%20%20%20...%0A%20%20%20%20return%20%5Bnilai_kembalian%5D\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>def nama_fungsi([parameter]):\n    tubuh_fungsi\n    ...\n    ...\n    return [nilai_kembalian]\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cul>\n\u003Cli>\u003Ccode>nilai_kembalian\u003C\u002Fcode>: nilai yang akan dikembalikan pada pemanggil (opsional)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Udah, gitu aja.. satu baris kode yang akan sangat berguna 😌.\u003C\u002Fp>\n\u003Ch2 id=\"contoh-penggunaan-return-statement\">Contoh Penggunaan Return Statement\u003C\u002Fh2>\n\u003Cp>Pada kesempatan kali ini kita akan coba menggunakan \u003Ccode>return\u003C\u002Fcode> statement dalam 2 kasus. Yang pertama adalah untuk mengembalikan sebuah nilai, dan yang kedua kita coba menggunakan \u003Ccode>return\u003C\u002Fcode> statement untuk keluar paksa dari eksekusi fungsi.\u003C\u002Fp>\n\u003Ch3 id=\"mengembalikan-nilai-dengan-return-statement\">Mengembalikan Nilai dengan Return Statement\u003C\u002Fh3>\n\u003Cp>Seperti yang sudah disebutkan sebelumnya, kegunaan \u003Ccode>return\u003C\u002Fcode> statement adalah untuk mengembalikan nilai dari fungsi ke pemanggil. Nah sekarang kita akan coba buat implementasi kodenya.\u003C\u002Fp>\n\u003Cp>Semisal kita ingin menghitung sisi miring segitiga. Seperti yang kita tahu, perhitungan ini dapat diselesaikan menggunakan teorema pythagoras. Masih ingat kan ya?\u003C\u002Fp>\n\u003Cp>\u003Cspan class=\"katex-display\">\u003Cspan class=\"katex\">\u003Cspan class=\"katex-mathml\">\u003Cmath xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML\" display=\"block\">\u003Csemantics>\u003Cmrow>\u003Cmi>c\u003C\u002Fmi>\u003Cmo>=\u003C\u002Fmo>\u003Cmsqrt>\u003Cmrow>\u003Cmsup>\u003Cmi>a\u003C\u002Fmi>\u003Cmn>2\u003C\u002Fmn>\u003C\u002Fmsup>\u003Cmo>+\u003C\u002Fmo>\u003Cmsup>\u003Cmi>b\u003C\u002Fmi>\u003Cmn>2\u003C\u002Fmn>\u003C\u002Fmsup>\u003C\u002Fmrow>\u003C\u002Fmsqrt>\u003C\u002Fmrow>\u003Cannotation encoding=\"application\u002Fx-tex\">c=\\sqrt{a^2+b^2}\u003C\u002Fannotation>\u003C\u002Fsemantics>\u003C\u002Fmath>\u003C\u002Fspan>\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"katex-base\">\u003Cspan class=\"katex-strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">c\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003Cspan class=\"mrel\">=\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"katex-base\">\u003Cspan class=\"katex-strut\" style=\"height:1.24em;vertical-align:-0.1777em;\">\u003C\u002Fspan>\u003Cspan class=\"mord sqrt\">\u003Cspan class=\"vlist-t vlist-t2\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:1.0623em;\">\u003Cspan class=\"svg-align\" style=\"top:-3.2em;\">\u003Cspan class=\"pstrut\" style=\"height:3.2em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\" style=\"padding-left:1em;\">\u003Cspan class=\"mord\">\u003Cspan class=\"mord mathnormal\">a\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.7401em;\">\u003Cspan style=\"top:-2.989em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"katex-sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">2\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003Cspan class=\"mbin\">+\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2222em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord mathnormal\">b\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.7401em;\">\u003Cspan style=\"top:-2.989em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"katex-sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">2\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan style=\"top:-3.0223em;\">\u003Cspan class=\"pstrut\" style=\"height:3.2em;\">\u003C\u002Fspan>\u003Cspan class=\"hide-tail\" style=\"min-width:1.02em;height:1.28em;\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"400em\" height=\"1.28em\" viewBox=\"0 0 400000 1296\" preserveAspectRatio=\"xMinYMin slice\">\u003Cpath d=\"M263,681c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl0 -0\nc4.7,-7.3,11,-11,19,-11\nH40000v40H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM1001 80h400000v40h-400000z\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-s\">​\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.1777em;\">\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp>Persamaannya cukup sederhana, jika diterjemahkan ke kode python maka akan seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"c%20%3D%20(a*a%20%2B%20b*b)**.5\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Nah, sekarang katakanlah kita punya 3 segitiga yang akan dicari sisi miringnya dengan panjang sisi yang berbeda.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Nama segitiga\u003C\u002Fth>\n\u003Cth>Alas (a)\u003C\u002Fth>\n\u003Cth>Tinggi (b)\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>segitiga 1\u003C\u002Ftd>\n\u003Ctd>3\u003C\u002Ftd>\n\u003Ctd>4\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>segitiga 2\u003C\u002Ftd>\n\u003Ctd>5\u003C\u002Ftd>\n\u003Ctd>12\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>segitiga 3\u003C\u002Ftd>\n\u003Ctd>7\u003C\u002Ftd>\n\u003Ctd>24\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Kalau kita ingin mencari masing-masing sisi miringnya (c) dengan kode python yang telah kita buat sebelumnya maka jadinya akan seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"a1%2C%20a2%2C%20a3%20%3D%203%2C%205%2C%207%0Ab1%2C%20b2%2C%20b3%20%3D%204%2C%2012%2C%2024%0A%0Ac1%20%3D%20(a1*a1%20%2B%20b1*b1)**.5%0Ac2%20%3D%20(a2*a2%20%2B%20b2*b2)**.5%0Ac3%20%3D%20(a3*a3%20%2B%20b3*b3)**.5%0A%0Aprint(%22sisi%20miring%20segitiga%201%3A%22%2C%20c1)%0Aprint(%22sisi%20miring%20segitiga%202%3A%22%2C%20c2)%0Aprint(%22sisi%20miring%20segitiga%203%3A%22%2C%20c3)\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">a1, a2, a3 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">5\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">7\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">b1, b2, b3 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">12\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">24\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c1 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a1\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a1 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b1\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b1)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c2 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a2 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b2\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b2)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c3 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a3\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a3 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b3\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b3)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"sisi miring segitiga 1:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c1)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"sisi miring segitiga 2:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c2)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"sisi miring segitiga 3:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c3)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>output:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"sisi%20miring%20segitiga%201%3A%205%0Asisi%20miring%20segitiga%202%3A%2013%0Asisi%20miring%20segitiga%203%3A%2025\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>sisi miring segitiga 1: 5\nsisi miring segitiga 2: 13\nsisi miring segitiga 3: 25\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Kode tersebut valid memang, tapi coba perhatikan lagi, ada 3 baris kode yang diulang dengan logika yang sama namun variablenya berbeda. Bisa dilihat pada perhitungan variable \u003Ccode>c1\u003C\u002Fcode>, \u003Ccode>c2\u003C\u002Fcode>, dan \u003Ccode>c3\u003C\u002Fcode>. Nah, hal ini sebenarnya bisa kita persingkat dengan memanfaatkan fungsi.\u003C\u002Fp>\n\u003Cp>Kita akan membuat fungsi dengan nama \u003Ccode>hitung_sisi_miring\u003C\u002Fcode> yang menerima 2 parameter yaitu \u003Ccode>a\u003C\u002Fcode> (alas) dan \u003Ccode>b\u003C\u002Fcode> (tinggi). Selanjutnya, tubuh fungsi berisi perhitungan sisi miring (\u003Ccode>c\u003C\u002Fcode>) sesuai rumus yang ada lalu kita kembalikan nilainya menggunakan \u003Ccode>return\u003C\u002Fcode> statement.\u003C\u002Fp>\n\u003Cp>Sehingga kodenya menjadi seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"def%20hitung_sisi_miring(a%2C%20b)%3A%0A%20%20%20%20c%20%3D%20(a*a%20%2B%20b*b)**.5%0A%20%20%20%20return%20c%0A%0Ac1%20%3D%20hitung_sisi_miring(3%2C%204)%0Ac2%20%3D%20hitung_sisi_miring(5%2C%2012)%0Ac3%20%3D%20hitung_sisi_miring(7%2C%2024)%0A%0Aprint(%22sisi%20miring%20segitiga%201%3A%22%2C%20c1)%0Aprint(%22sisi%20miring%20segitiga%202%3A%22%2C%20c2)%0Aprint(%22sisi%20miring%20segitiga%203%3A%22%2C%20c3)\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> hitung_sisi_miring\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(a, b):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    c \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> c\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c1 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c2 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">5\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">12\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c3 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">7\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">24\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"sisi miring segitiga 1:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c1)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"sisi miring segitiga 2:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c2)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"sisi miring segitiga 3:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c3)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>output:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"sisi%20miring%20segitiga%201%3A%205%0Asisi%20miring%20segitiga%202%3A%2013%0Asisi%20miring%20segitiga%203%3A%2025\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>sisi miring segitiga 1: 5\nsisi miring segitiga 2: 13\nsisi miring segitiga 3: 25\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Sipp, dengan begini kita tidak perlu menuliskan rumus panjang berkali-kali dan bisa dilihat kodenya jadi lebih mudah dibaca — kan?\u003C\u002Fp>\n\u003Cp>Alih-alih menuliskan rumus perhitungan satu-persatu, sekarang kita hanya perlu memanggil fungsi \u003Ccode>hitung_sisi_miring\u003C\u002Fcode> dengan argumen\u002Fparameter yang sesuai. Ini karena rumus logika perhitungan sudah dipindahkan dalam tubuh fungsi.\u003C\u002Fp>\n\u003Cp>Sekarang kita coba bedah apa yang terjadi ketika pemanggilan \u003Ccode>hitung_sisi_miring(3, 4)\u003C\u002Fcode>\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"%23%20pemanggilan%20fungsi%20hitung_sisi_miring(3%2C%204)%0A%0Adef%20hitung_sisi_miring(a%2C%20b)%3A%0A%09%23%20sekarang%20nilai%20a%20%3D%203%20dan%20b%20%3D%204%0A%20%20%20%20%23%20melakukan%20perhitungan%20sesuai%20rumus%0A%20%20%20%20c%20%3D%20(a*a%20%2B%20b*b)**.5%20%23%20nilai%20c%20%3D%205%0A%20%20%20%20return%20c%20%20%20%20%20%20%20%20%20%20%20%20%23%20mengembalikan%20nilai%20c%20pada%20pemanggil\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># pemanggilan fungsi hitung_sisi_miring(3, 4)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> hitung_sisi_miring\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(a, b):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">\t# sekarang nilai a = 3 dan b = 4\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\">    # melakukan perhitungan sesuai rumus\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    c \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003Cspan style=\"color:#6A737D\"> # nilai c = 5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> c            \u003C\u002Fspan>\u003Cspan style=\"color:#6A737D\"># mengembalikan nilai c pada pemanggil\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Ketika fungsi sudah sampai pada keyword \u003Ccode>return\u003C\u002Fcode> maka nilai terkait akan dikembalikan (dalam hal ini \u003Ccode>c\u003C\u002Fcode>). Sehingga nilai dari \u003Ccode>hitung_sisi_miring(3, 4)\u003C\u002Fcode> adalah 5. Hal ini menyebabkan assignment \u003Ccode>c1 = hitung_sisi_miring(3, 4)\u003C\u002Fcode> secara otomatis menjadi \u003Ccode>c1 = 5\u003C\u002Fcode>. Begitu pula untuk \u003Ccode>c2\u003C\u002Fcode> dan \u003Ccode>c3\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Ch3 id=\"menggunakan-return-statement-untuk-menghentikan-eksekusi-fungsi\">Menggunakan Return Statement untuk Menghentikan Eksekusi Fungsi\u003C\u002Fh3>\n\u003Cp>Kalau sebelumnya kita sudah coba menuliskan \u003Ccode>return\u003C\u002Fcode> statement di akhir tubuh fungsi, bagaimana jika kita menuliskannya di tengah-tengah? mari kita cari tahu.\u003C\u002Fp>\n\u003Cp>Coba perhatikan lagi fungsi yang sudah kita buat sebelumnya. Bisa kita lihat bahwa fungsi \u003Ccode>hitung_sisi_miring\u003C\u002Fcode> dapat menerima parameter apa saja, termasuk bilangan negatif. Nah, karena panjang sisi segitiga tidak mungkin negatif maka harus ada pengaman dari fungsi tersebut. Katakanlah kita akan mengembalikan nilai -1 jika ada salah satu dari parameter bernilai negatif, maka kodenya bisa ditulis seperti ini:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"def%20hitung_sisi_miring(a%2C%20b)%3A%0A%20%20%20%20if%20a%20%3C%200%20or%20b%20%3C%200%3A%0A%20%20%20%20%20%20%20%20return%20-1%0A%0A%20%20%20%20c%20%3D%20(a*a%20%2B%20b*b)**.5%0A%20%20%20%20return%20c\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> hitung_sisi_miring\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(a, b):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> or\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        return\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> -\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    c \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> c\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Bisa dilihat ya terdapat 2 return statement pada fungsi tersebut, tapi kita-kira bagaimana proses eksekusinya? \u003Ccode>return\u003C\u002Fcode> mana yang akan dieksekusi? Mari kita coba jalankan.\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"def%20hitung_sisi_miring(a%2C%20b)%3A%0A%20%20%20%20if%20a%20%3C%200%20or%20b%20%3C%200%3A%0A%20%20%20%20%20%20%20%20return%20-1%0A%0A%20%20%20%20c%20%3D%20(a*a%20%2B%20b*b)**.5%0A%20%20%20%20return%20c%0A%0Ac1%20%3D%20hitung_sisi_miring(3%2C%204)%20%20%20%23%20a%20dan%20b%20positif%0Ac2%20%3D%20hitung_sisi_miring(-3%2C%204)%20%20%23%20a%20negatif%2C%20b%20positif%0Ac3%20%3D%20hitung_sisi_miring(3%2C%20-4)%20%20%23%20a%20positif%2C%20b%20negatif%0Ac4%20%3D%20hitung_sisi_miring(-3%2C%20-4)%20%23%20a%20dan%20b%20negatif%0A%0Aprint(%22nilai%20c1%3A%22%2C%20c1)%0Aprint(%22nilai%20c2%3A%22%2C%20c2)%0Aprint(%22nilai%20c3%3A%22%2C%20c3)%0Aprint(%22nilai%20c4%3A%22%2C%20c4)\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> hitung_sisi_miring\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(a, b):\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    if\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> or\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">&#x3C;\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\"> 0\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">:\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">        return\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\"> -\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">1\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">    c \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> (a\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">a \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">+\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> b\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">*\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">b)\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">**\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">.5\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> c\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c1 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)   \u003C\u002Fspan>\u003Cspan style=\"color:#6A737D\"># a dan b positif\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c2 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)  \u003C\u002Fspan>\u003Cspan style=\"color:#6A737D\"># a negatif, b positif\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c3 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)  \u003C\u002Fspan>\u003Cspan style=\"color:#6A737D\"># a positif, b negatif\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">c4 \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">=\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\"> hitung_sisi_miring(\u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">3\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, \u003C\u002Fspan>\u003Cspan style=\"color:#F97583\">-\u003C\u002Fspan>\u003Cspan style=\"color:#79B8FF\">4\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">) \u003C\u002Fspan>\u003Cspan style=\"color:#6A737D\"># a dan b negatif\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nilai c1:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c1)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nilai c2:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c2)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nilai c3:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c3)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"nilai c4:\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">, c4)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Output:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"nilai%20c1%3A%205%0Anilai%20c2%3A%20-1%0Anilai%20c3%3A%20-1%0Anilai%20c4%3A%20-1\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>nilai c1: 5\nnilai c2: -1\nnilai c3: -1\nnilai c4: -1\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Pada output tersebut terlihat bahwa jika kita memasukkan nilai negatif pada salah satu atau kedua parameter, nilai yang dikembalikan adalah -1 atau pada kasus ini nilai dari \u003Ccode>return\u003C\u002Fcode> statement yang pertama. Lalu bagaimana dengan \u003Ccode>return\u003C\u002Fcode> statement selanjutnya?\u003C\u002Fp>\n\u003Cp>Pada Python, ketika sebuah fungsi menyentuh keyword \u003Ccode>return\u003C\u002Fcode> maka hal yang akan dilakukan adalah keluar dari fungsi dan mengembalikan nilai pada saat itu juga. Karena sudah ada nilai yang dikembalikan, maka eksekusi fungsi dinyatakan selesai sehingga seluruh kode selanjutnya tidak akan dieksekusi.\u003C\u002Fp>\n\u003Cp>Oleh karena itulah kita mendapatkan output seperti yang ada diatas.\u003C\u002Fp>\n\u003Cp>\u003Ccode>return\u003C\u002Fcode> statement ini juga bisa bertindak seperti \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fbreak-dan-continue-pada-python\u002F\">keyword \u003Ccode>break\u003C\u002Fcode>\u003C\u002Fa> yang ada pada \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Ffor-loop-python\u002F\">perulangan\u003C\u002Fa>. Tetapi alih-alih menghentikan iterasi, dengan \u003Ccode>return\u003C\u002Fcode> statement kita bisa keluar paksa dan menghentikan alur fungsi. Caranya adalah dengan memanggil \u003Ccode>return\u003C\u002Fcode> tanpa memberikan nilai kembalian. Coba perhatikan kode berikut:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">PYTHON\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"%23%20definisi%20fungsi%20cetak%0Adef%20cetak()%3A%0A%20%20%20%20print(%22Halo%2C%20Inva!%22)%0A%20%20%20%20print(%22Ini%20adalah%20perintah%20sebelum%20return%20dipanggil%22)%0A%20%20%20%20print(%22Setelah%20return%20dieksekusi%20maka%20fungsi%20dinyatakan%20selesai%22)%0A%20%20%20%20return%0A%20%20%20%20print(%22Baris%20ini%20tidak%20akan%20dieksekusi%22)%0A%20%20%20%20print(%22Baris%20ini%20juga%20tidak%22)%0A%20%20%20%20print(%22Apalagi%20ini!!%22)%0A%0Acetak()%20%23%20memanggil%20fungsi%20cetak\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#6A737D\"># definisi fungsi cetak\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">def\u003C\u002Fspan>\u003Cspan style=\"color:#B392F0\"> cetak\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">():\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"Halo, Inva!\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"Ini adalah perintah sebelum return dipanggil\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"Setelah return dieksekusi maka fungsi dinyatakan selesai\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#F97583\">    return\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"Baris ini tidak akan dieksekusi\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"Baris ini juga tidak\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#79B8FF\">    print\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">(\u003C\u002Fspan>\u003Cspan style=\"color:#9ECBFF\">\"Apalagi ini!!\"\u003C\u002Fspan>\u003Cspan style=\"color:#E1E4E8\">)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#E1E4E8\">cetak() \u003C\u002Fspan>\u003Cspan style=\"color:#6A737D\"># memanggil fungsi cetak\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Output:\u003C\u002Fp>\n\n\u003Cdiv class=\"code-block-wrapper my-6 not-prose rounded-xl border-2 border-black dark:border-gray-600 shadow-neo overflow-hidden bg-[#24292e] text-[#e1e4e8] transition-all\">\n  \u003Cdiv class=\"code-block-header flex items-center justify-between px-4 py-2.5 bg-[#1f2428] border-b-2 border-black dark:border-gray-600 font-mono text-xs font-bold text-gray-300 select-none\">\n    \u003Cdiv class=\"flex items-center gap-2\">\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ff5f56] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#ffbd2e] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"w-3 h-3 rounded-full bg-[#27c93f] border border-black\u002F40 inline-block\">\u003C\u002Fspan>\n      \u003Cspan class=\"ml-2 font-mono font-bold text-xs uppercase tracking-wider text-gray-300\">TEXT\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cbutton type=\"button\" class=\"copy-code-btn flex items-center gap-1.5 px-3 py-1 text-xs font-bold bg-[#2f363d] text-gray-200 border-2 border-black dark:border-gray-500 rounded-lg shadow-neo-sm hover:translate-x-0.5 hover:translate-y-0.5 hover:shadow-none hover:bg-gray-700 transition-all cursor-pointer\" data-code=\"Halo%2C%20Inva!%0AIni%20adalah%20perintah%20sebelum%20return%20dipanggil%0ASetelah%20return%20dieksekusi%20maka%20fungsi%20dinyatakan%20selesai\" title=\"Salin kode\">\n      \u003Csvg class=\"w-3.5 h-3.5 copy-icon-svg\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n        \u003Cpath stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\">\u003C\u002Fpath>\n      \u003C\u002Fsvg>\n      \u003Cspan class=\"copy-text\">Copy\u003C\u002Fspan>\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"code-block-content p-4 overflow-x-auto text-sm font-mono leading-relaxed bg-[#24292e]\">\n    \u003Cpre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\">\u003Ccode>Halo, Inva!\nIni adalah perintah sebelum return dipanggil\nSetelah return dieksekusi maka fungsi dinyatakan selesai\u003C\u002Fcode>\u003C\u002Fpre>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\u003Cp>Bisa dilihat ya, semua perintah \u003Ccode>print\u003C\u002Fcode> setelah keyword \u003Ccode>return\u003C\u002Fcode> tidak dieksekusi.\u003C\u002Fp>\n\u003Ch2 id=\"selanjutnya-apa\">Selanjutnya apa?\u003C\u002Fh2>\n\u003Cp>Cukup sekian untuk kesempatan kali ini, semoga bermanfaat 😉\u003C\u002Fp>\n\u003Cp>Pada kesempatan selanjutnya kita akan membahas satu lagi keyword khusus pada fungsi yaitu tentang \u003Ca href=\"https:\u002F\u002Finvasikode.com\u002Fpass-python\u002F\">\u003Ccode>pass\u003C\u002Fcode> statement pada Python 3\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>See ya 👋\u003C\u002Fp>\n","",[190,203,216,229,242,263],{"id":191,"title":192,"title_en":21,"slug":193,"excerpt":194,"excerpt_en":21,"has_translation":15,"published_at":195,"reading_time":81,"hidden_from_listing":15,"tags":196,"thumbnail_image":21,"og_image":198,"series":199,"authors":200},133,"Python Strings: the Badge That Only Worked for One Name","python-strings","The badge script printed the right name for the person who wrote it and the wrong name for everybody else. Slicing counts characters, and a name is words.","2026-10-28T13:00:00.000Z",[83,197],"string","\u002Fog\u002Fpython-strings.png",{"id":176,"title":177,"title_en":178,"slug":179},[201],{"authors_id":202},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},{"id":204,"title":205,"title_en":21,"slug":206,"excerpt":207,"excerpt_en":21,"has_translation":15,"published_at":208,"reading_time":81,"hidden_from_listing":15,"tags":209,"thumbnail_image":21,"og_image":211,"series":212,"authors":213},132,"Python Tuples: Why All Three Points Are the Same Point","python-tuples","Three points walk into a loop and come out identical. The list was never copied three times; the name was. A tuple makes that bug impossible.","2026-10-28T12:00:00.000Z",[83,210],"tuple","\u002Fog\u002Fpython-tuples.png",{"id":176,"title":177,"title_en":178,"slug":179},[214],{"authors_id":215},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},{"id":217,"title":218,"title_en":21,"slug":219,"excerpt":220,"excerpt_en":21,"has_translation":15,"published_at":221,"reading_time":81,"hidden_from_listing":15,"tags":222,"thumbnail_image":21,"og_image":224,"series":225,"authors":226},131,"Python Sets: the Duplicate That Keeps Coming Back","python-sets","A de-duplication loop that works on clean data leaves four tags where there should be two. The bug is case, and the fix is a `set`.","2026-10-28T11:00:00.000Z",[83,223],"set","\u002Fog\u002Fpython-sets.png",{"id":176,"title":177,"title_en":178,"slug":179},[227],{"authors_id":228},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},{"id":230,"title":231,"title_en":21,"slug":232,"excerpt":233,"excerpt_en":21,"has_translation":15,"published_at":234,"reading_time":81,"hidden_from_listing":15,"tags":235,"thumbnail_image":21,"og_image":237,"series":238,"authors":239},130,"Python Dictionaries: the Key That Isn't There","python-dictionary","A word counter dies the first time it meets a word twice. The fix is one line; what takes longer is knowing which of a dict's three lookups to reach for.","2026-10-28T10:00:00.000Z",[83,236],"dictionary","\u002Fog\u002Fpython-dictionary.png",{"id":176,"title":177,"title_en":178,"slug":179},[240],{"authors_id":241},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},{"id":243,"title":244,"title_en":245,"slug":246,"excerpt":247,"excerpt_en":248,"has_translation":12,"published_at":249,"reading_time":14,"hidden_from_listing":15,"tags":250,"thumbnail_image":21,"og_image":257,"series":258,"authors":260},129,"Biar RAG nggak kena 504: pisahin jalur query dan ingestion","So Your RAG Stops Hitting 504: Split the Query Path From Ingestion","rag-pisah-jalur-query-dan-ingestion","Satu service RAG yang merangkap parsing dan menjawab kueri bakal tumbang pas ada yang upload PDF 200 halaman. Obatnya dua jalur dan satu queue.","One RAG service that both parses uploads and answers queries will fall over the moment someone uploads a 200-page PDF. The cure is two paths and one queue.","2026-10-22T01:30:00.000Z",[251,252,253,254,255,256],"rag","cloud-run","cloud-tasks","gcp","serverless","arsitektur","\u002Fog\u002Frag-pisah-jalur-query-dan-ingestion.png",{"id":259,"title":35,"title_en":36,"slug":37},8,[261],{"authors_id":262},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},{"id":264,"title":265,"title_en":266,"slug":267,"excerpt":268,"excerpt_en":269,"has_translation":12,"published_at":270,"reading_time":81,"hidden_from_listing":15,"tags":271,"thumbnail_image":21,"og_image":278,"series":279,"authors":280},128,"Linear atau graf: cara mengatur banyak agent tanpa loop abadi","Linear or Graph: How to Run Many Agents Without an Eternal Loop","multi-agen-linear-atau-grafik","Satu agent dengan dua puluh tool gampang kacau. Begitu beberapa agent saling revisi, kamu butuh graf yang mendukung cycle dan angka yang membuatnya berhenti.","One agent with twenty tools gets messy fast. Once several agents revise each other, you need a graph that allows cycles and a number that makes it stop.","2026-10-21T16:05:00.000Z",[272,273,274,275,276,277],"multi-agent","langgraph","autogen","orkestrasi","checkpoint","llm","\u002Fog\u002Fmulti-agen-linear-atau-grafik.png",{"id":259,"title":35,"title_en":36,"slug":37},[281],{"authors_id":282},{"id":110,"name":111,"slug":112,"role":113,"profile_picture":21},[284,288,291,294,297,300],{"text":285,"depth":286,"id":287},"Tentang Return Statement",2,"tentang-return-statement",{"text":289,"depth":286,"id":290},"Format Penulisan Return Statement","format-penulisan-return-statement",{"text":292,"depth":286,"id":293},"Contoh Penggunaan Return Statement","contoh-penggunaan-return-statement",{"text":295,"depth":127,"id":296},"Mengembalikan Nilai dengan Return Statement","mengembalikan-nilai-dengan-return-statement",{"text":298,"depth":127,"id":299},"Menggunakan Return Statement untuk Menghentikan Eksekusi Fungsi","menggunakan-return-statement-untuk-menghentikan-eksekusi-fungsi",{"text":301,"depth":286,"id":302},"Selanjutnya apa?","selanjutnya-apa",1793295835167]