├── image └── pengenalan │ ├── jupyter.png │ ├── pycharm.jpg │ ├── vscode.png │ ├── python_bash.png │ ├── python_import.png │ ├── python_shell.png │ ├── python2_python3.png │ ├── programming_level.png │ └── install_python3_windows.jpg ├── Latihan ├── function.ipynb └── function_jawaban.ipynb ├── readme.md └── 1. Basic Coding.ipynb /image/pengenalan/jupyter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/jupyter.png -------------------------------------------------------------------------------- /image/pengenalan/pycharm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/pycharm.jpg -------------------------------------------------------------------------------- /image/pengenalan/vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/vscode.png -------------------------------------------------------------------------------- /image/pengenalan/python_bash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/python_bash.png -------------------------------------------------------------------------------- /image/pengenalan/python_import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/python_import.png -------------------------------------------------------------------------------- /image/pengenalan/python_shell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/python_shell.png -------------------------------------------------------------------------------- /image/pengenalan/python2_python3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/python2_python3.png -------------------------------------------------------------------------------- /image/pengenalan/programming_level.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/programming_level.png -------------------------------------------------------------------------------- /image/pengenalan/install_python3_windows.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/surabayapy/sekapur-sirih/HEAD/image/pengenalan/install_python3_windows.jpg -------------------------------------------------------------------------------- /Latihan/function.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Latihan Function\n", 8 | "\n", 9 | "Soal 1: Buat Function untuk menentukan angka terbesar dari parameter bertipe list\n", 10 | "\n", 11 | "##### Input: 3, -6, 5\n", 12 | "\n", 13 | "##### Output: 5" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": null, 19 | "metadata": {}, 20 | "outputs": [], 21 | "source": [] 22 | }, 23 | { 24 | "cell_type": "markdown", 25 | "metadata": {}, 26 | "source": [ 27 | "Soal 2: Buat Function untuk menjumlahkan semua integer yang ada pada parameter bertipe list\n", 28 | "\n", 29 | "##### Input: 5, 4, 7, 3, 6 \n", 30 | "\n", 31 | "##### Output: 25" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": null, 37 | "metadata": {}, 38 | "outputs": [], 39 | "source": [] 40 | }, 41 | { 42 | "cell_type": "markdown", 43 | "metadata": {}, 44 | "source": [ 45 | "Soal 3: Buat Function untuk membalik urutan string\n", 46 | "\n", 47 | "##### Input: \"abcde321\"\n", 48 | "\n", 49 | "##### Output: \"123edcba\"" 50 | ] 51 | }, 52 | { 53 | "cell_type": "code", 54 | "execution_count": null, 55 | "metadata": {}, 56 | "outputs": [], 57 | "source": [] 58 | }, 59 | { 60 | "cell_type": "code", 61 | "execution_count": null, 62 | "metadata": {}, 63 | "outputs": [], 64 | "source": [] 65 | } 66 | ], 67 | "metadata": { 68 | "kernelspec": { 69 | "display_name": "Python 3", 70 | "language": "python", 71 | "name": "python3" 72 | }, 73 | "language_info": { 74 | "codemirror_mode": { 75 | "name": "ipython", 76 | "version": 3 77 | }, 78 | "file_extension": ".py", 79 | "mimetype": "text/x-python", 80 | "name": "python", 81 | "nbconvert_exporter": "python", 82 | "pygments_lexer": "ipython3", 83 | "version": "3.5.2" 84 | } 85 | }, 86 | "nbformat": 4, 87 | "nbformat_minor": 2 88 | } 89 | -------------------------------------------------------------------------------- /Latihan/function_jawaban.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Jawaban Latihan Function\n", 8 | "\n", 9 | "Jawaban Soal 1: Buat Function untuk menentukan angka terbesar dari parameter bertipe list\n", 10 | "\n", 11 | "##### Input: 3, -6, 5\n", 12 | "\n", 13 | "##### Output: 5" 14 | ] 15 | }, 16 | { 17 | "cell_type": "code", 18 | "execution_count": 9, 19 | "metadata": {}, 20 | "outputs": [ 21 | { 22 | "name": "stdout", 23 | "output_type": "stream", 24 | "text": [ 25 | "5\n" 26 | ] 27 | } 28 | ], 29 | "source": [ 30 | "def max(listNumbers):\n", 31 | " max = listNumbers[0]\n", 32 | " for x in listNumbers:\n", 33 | " if(x > max):\n", 34 | " max = x\n", 35 | " return max\n", 36 | "listNumbers = [3, -6, 5]\n", 37 | "print(max(listNumbers))" 38 | ] 39 | }, 40 | { 41 | "cell_type": "markdown", 42 | "metadata": {}, 43 | "source": [ 44 | "Jawaban Soal 2: Buat Function untuk menjumlahkan semua integer yang ada pada parameter bertipe list\n", 45 | "\n", 46 | "##### Input: 5, 4, 7, 3, 6 \n", 47 | "\n", 48 | "##### Output: 25" 49 | ] 50 | }, 51 | { 52 | "cell_type": "code", 53 | "execution_count": 10, 54 | "metadata": {}, 55 | "outputs": [ 56 | { 57 | "name": "stdout", 58 | "output_type": "stream", 59 | "text": [ 60 | "25\n" 61 | ] 62 | } 63 | ], 64 | "source": [ 65 | "def sum(listNumbers):\n", 66 | " result = 0\n", 67 | " for x in listNumbers:\n", 68 | " result+= x\n", 69 | " return result\n", 70 | "listNumbers = [5, 4, 7, 3, 6]\n", 71 | "print(sum(listNumbers))" 72 | ] 73 | }, 74 | { 75 | "cell_type": "markdown", 76 | "metadata": {}, 77 | "source": [ 78 | "Jawaban Soal 3: Buat Function untuk membalik urutan string\n", 79 | "\n", 80 | "##### Input: \"abcde321\"\n", 81 | "\n", 82 | "##### Output: \"123edcba\"" 83 | ] 84 | }, 85 | { 86 | "cell_type": "code", 87 | "execution_count": 11, 88 | "metadata": {}, 89 | "outputs": [ 90 | { 91 | "name": "stdout", 92 | "output_type": "stream", 93 | "text": [ 94 | "123edcba\n" 95 | ] 96 | } 97 | ], 98 | "source": [ 99 | "def reverse(stringKata):\n", 100 | " result = ''\n", 101 | " index = len(stringKata)\n", 102 | " while index > 0:\n", 103 | " result += stringKata[index - 1]\n", 104 | " index = index - 1\n", 105 | " return result\n", 106 | "print(reverse('abcde321'))" 107 | ] 108 | } 109 | ], 110 | "metadata": { 111 | "kernelspec": { 112 | "display_name": "Python 3", 113 | "language": "python", 114 | "name": "python3" 115 | }, 116 | "language_info": { 117 | "codemirror_mode": { 118 | "name": "ipython", 119 | "version": 3 120 | }, 121 | "file_extension": ".py", 122 | "mimetype": "text/x-python", 123 | "name": "python", 124 | "nbconvert_exporter": "python", 125 | "pygments_lexer": "ipython3", 126 | "version": "3.5.2" 127 | } 128 | }, 129 | "nbformat": 4, 130 | "nbformat_minor": 2 131 | } 132 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # Saya Mau Belajar Python, Mulai Dari Mana? 2 | 3 | Selamat datang di repository sekapur sirih Surabaya.py. Disini dikumpulkan berbagai *resource* untuk belajar python bagi pemula hingga advance. Silahkan belajar dan berkontribusi. 4 | 5 | **Daftar Isi** 6 | * [Bagaimana Cara Menggunakan Repository Ini](#bagaimana-cara-menggunakan-repository-ini?) 7 | * [Belajar Disini](#belajar-disini) 8 | * [Kontribusi Disini](#kontribusi-disini) 9 | * [Mengenal Python dan Perbedaan dengan Bahasa Lain](#mengenal-python-dan-perbedaan-dengan-bahasa-lain) 10 | * [Python adalah Intepreted Programming](#python-adalah-intepreted-programming) 11 | * [Perbedaan Python 2 dan Python 3](#perbedaan-python-2-dan-python-3) 12 | * [Apa Langkah Awal Belajar Python](#langkah-awal-belajar-python) 13 | * [Install Python](#install-python) 14 | * [Menggunakan IDLE](#menggunakan-python-shell--idle) 15 | * [Menggunakan IDE](#menggunakan-IDE) 16 | * [Menggunakan Code Editor](#menggunakan-code-editor) 17 | * [Menggunakan Jupyter Notebook](#menggunakan-jupyter-notebook) 18 | * [Basic Coding](#basic-coding) 19 | * Intermediete Coding 20 | * Proyek Open Source Surabaya.py 21 | 22 | 23 | ## Bagaimana Cara Menggunakan Repository Ini? 24 | ### Belajar Disini 25 | Untuk belajar disini, cukup membuka seluruh isi repository ini di halaman github. Sangat direkomendasikan untuk berurutan berdasarkan daftar isi yang telah disediakan. 26 | 27 | Jika lebih senang belajar secara *offline*, maka diperlukan install Python dan Jupyter notebook terlebih dahulu. Lalu bisa dilakukan download repository ini maupun melakukan `git clone`. 28 | 29 | ### Kontribusi Disini 30 | Kami sangat terbuka bagi teman-teman komunitas untuk ikut berkontribusi dalam membangun komunitas kita. Ada beberapa cara yang bisa dilakukan: 31 | * Mengirimkan issue tentang ide apa yang bisa di implementasikan. 32 | * Clone dan kembangkan berbagai topik lalu kirim Pull Request. 33 | * Ngobrol dan diskusi di grup telegram kita. 34 | * Ikut kegiatan Workshop, Seminar maupun Mentoring yang diadakan Surabaya.py 35 | 36 | ## Mengenal Python dan Perbedaan dengan Bahasa Lain 37 | ### Python adalah Intepreted Programming 38 | ![](image/pengenalan/programming_level.png) 39 | 40 | ### Perbedaan Python 2 dan Python 3 41 | Python 2 akan segera berakhir masa dukungannya sehingga sangat direkomendasikan untuk belajar Python 3 Saja. 42 | ![](image/pengenalan/python2_python3.png) 43 | *Gambar diambil Tanggal 18 April 2018* 44 | 45 | ## Langkah Awal Belajar Python 46 | ### Install Python 47 | Seperti yang telah dijelaskan sebelumnya, jika mulai belajar disarankan untuk menggunakan Python3. Ada beberapa cara instalasi Python berdasarkan Sistem Operasi yang digunakan: 48 | #### Linux / Mac OS 49 | > Secara Default, Linux dan Mac OS **telah terinstall Python**. Tinggal Buka terminal dan ketik `python` lalu akan muncul python shell (dimulai dari tanda `>`). Jika ingin menggunakan python 3, maka peritah pada terminal menjadi `python3`. Proses instalasi yang dibutuhkan hanya jika ingin melakukan upgrade versi Python. 50 | 51 | #### Windows 52 | Untuk Windows, diperlukan instalasi terlebih dahulu dengan mendownload di [web resmi python](https://www.python.org/downloads/) dan lakukan instalasi seperti biasa. Jangan lupa untuk menambahkan Python pada PATH ketika instalasi. 53 | ![](image/pengenalan/install_python3_windows.jpg) 54 | 55 | ### Menggunakan Python Shell / IDLE 56 | Buka `terminal` (Linux / Mac OS) atau `command prompt`/`power shell` (Windows) lalu ketikan python. Atau pada Windows juga bisa membuka aplikasi bernama IDLE jika telah menginstall python. Jika pada komputer terinstall python 2 dan python 3 (seperti pada Ubuntu), maka untuk menjalankan python 3 harus ditulis `python3`. Ketika python shell muncul, cukup ketikan syntax python dan output akan langsung dikeluarkan. 57 | 58 | ![](image/pengenalan/python_shell.png) 59 | 60 | Sering juga kita membuat sebuah file dengan ekstensi `.py` yang berisi syntax python misal program `test.py`: 61 | ```python3 62 | for i in range(10): 63 | print('*' * (i+1) ) 64 | ``` 65 | Maka pada terminal (di luar python shell) kita bisa memanggilnya dengan cara `python3 test.py`. 66 | ![](image/pengenalan/python_bash.png) 67 | 68 | Jika sebelumnya telah berada di python shell (dengan `>` diawal), maka bisa juga program tersebut dijalankan dengan cara 69 | ``` 70 | import test 71 | ``` 72 | dimana `test` adalah nama file tanpa ekstensi. Keuntungan menjalankan di python shell adalah seluruh variabel yang dijalankan pada program akan tersimpan pada sesi tersebut, sehingga sangat memudahkan untuk debugging. Misal program diatas ditambahkan variabel `a = 1000`. 73 | 74 | ```python3 75 | a = 1000 76 | for i in range(10): 77 | print('*' * (i+1) ) 78 | ``` 79 | 80 | maka variabel tersebut dapat dipanggil dengan cara: 81 | 82 | ```python3 83 | test.a 84 | ``` 85 | ![](image/pengenalan/python_import.png) 86 | 87 | ### Menggunakan IDE 88 | IDE memudahkan untuk bekerja di environment python, biasanya lengkap dengan syntax highlighting, debugging tool, auto completion dan sebagainya. Bisa menggunakan [PyCharm](http://www.jetbrains.com/pycharm/download/) 89 | 90 | ![](image/pengenalan/pycharm.jpg) 91 | Tampilah salah satu IDE (Pycharm) 92 | 93 | ### Menggunakan Code Editor 94 | Code editor biasanya memiliki sifat dapat digunakan untuk berbagai bahasa pemrograman dan hanya memiliki fungsi untuk menulis programnya saja. Misalnya Notepad, Gedit, Nano dan sebagainya. Tapi code editor modern sekarang lebih canggih dengan memiliki fitur syntax highlighting, auto indentation dan mungkin juga ada untuk debugging. Beberapa contoh code editor seperti [sublime](https://www.sublimetext.com/3), [atom](https://atom.io/) dan [visual studio code](https://code.visualstudio.com/download). 95 | 96 | ![](image/pengenalan/vscode.png) 97 | Tampilah salah satu Code Editor (VS Code) 98 | 99 | ### Menggunakan Jupyter Notebook 100 | Jupyter adalah code editor berbasis web based dan juga berbasis interactive python. Program dijalankan per blok dan memudahkan untuk melakukan pengujian program maupun visualisasi karena tidak perlu menjalankan seluruh program setelah mengedit sedikit program. 101 | 102 | ![](image/pengenalan/jupyter.png) 103 | 104 | [Cara instalasi jupyter](http://jupyter.readthedocs.io/en/latest/install.html) : 105 | 106 | #### Menggunakan Anaconda 107 | Anaconda secara otomatis menginstall Python, Jupyter Notebook, dan paket lain yang biasa digunakan untuk scientific computing dan data science. Download di https://www.continuum.io/downloads. Setelah berhasil di install, maka Jupyter dapat dijalankan dengan cara membuka terminal dan masukan perintah: 108 | ``` 109 | jupyter notebook 110 | ``` 111 | 112 | #### Menggunakan Pip 113 | Jika tidak ingin mendownload semua package yang disediakan Anaconda, bisa juga menginstall jupyter notebook menggunakan terminal dengan memberikan perintah: 114 | ``` 115 | pip3 install jupyter 116 | ``` 117 | 118 | Jika terdapat error tentang `permission denied`, maka dapat diubah menjadi seperti dibawah jika diinstall pada sistem: 119 | ``` 120 | sudo pip3 install jupyter 121 | ``` 122 | atau seperti dibawah jika hanya pada user saat ini 123 | ``` 124 | pip3 install jupyter --user 125 | ``` 126 | 127 | ## Basic Coding 128 | Basic coding bisa dimulai dari membuka [`1. Basic.ipynb`](https://github.com/surabaya-py/sekapur-sirih/blob/master/1.%20Basic%20Coding.ipynb). 129 | 130 | Jika ingin mengubah maupun mencoba sendiri, silahkan menginstall Jupyter Notebook. Untuk cara instalasinya bisa melihat [tutorial di atas](#Menggunakan-Jupyter-Notebook). Setelah melakukan instalasi, clone repo ini dan buka file [`1. Basic.ipynb`](#) pada jendela Jupyter Notebook. 131 | 132 | ## Dari komunitas untuk komunitas 133 | Repo ini dibuat oleh dukungan komunitas agar dapat menjadi media belajar yang terbaik dan jauh lebih baik. Berikut adalah nama-nama kontributor pada repo ini: 134 | 135 | * [Tegar Imansyah](https://github.com/tegarimansyah) 136 | * [Ridho Febriansa](https://github.com/ridhof) 137 | * May be you? 138 | * Of course you! 139 | -------------------------------------------------------------------------------- /1. Basic Coding.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Print\n", 8 | "\n", 9 | "> Untuk menampilkan std output, digunakan fungsi `print()`. Tidak berbeda antara petik satu maupun petik dua. Berbagai cara dapat dilakukan seperti di contoh berikut." 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": 1, 15 | "metadata": {}, 16 | "outputs": [ 17 | { 18 | "name": "stdout", 19 | "output_type": "stream", 20 | "text": [ 21 | "Hello World dengan petik dua\n", 22 | "Hello World dengan petik satu\n", 23 | "Budi mengatakan \"halo, ini hari jum'at\" \n", 24 | "\n", 25 | "Setelah ini baris baru\n", 26 | "Baris baru\n" 27 | ] 28 | } 29 | ], 30 | "source": [ 31 | "print(\"Hello World dengan petik dua\")\n", 32 | "print('Hello World dengan petik satu')\n", 33 | "print('Budi mengatakan \"halo, ini hari jum\\'at\" ')\n", 34 | "print()\n", 35 | "print('Setelah ini baris baru\\nBaris baru')" 36 | ] 37 | }, 38 | { 39 | "cell_type": "markdown", 40 | "metadata": {}, 41 | "source": [ 42 | "# Variabel dan Tipe Data\n", 43 | "\n", 44 | "> Python secara otomatis mengetahui tipe data apa dari nilai yang diberikan." 45 | ] 46 | }, 47 | { 48 | "cell_type": "code", 49 | "execution_count": 2, 50 | "metadata": {}, 51 | "outputs": [ 52 | { 53 | "name": "stdout", 54 | "output_type": "stream", 55 | "text": [ 56 | "Hello World\n" 57 | ] 58 | } 59 | ], 60 | "source": [ 61 | "pesan = \"Hello World\"\n", 62 | "print(pesan)" 63 | ] 64 | }, 65 | { 66 | "cell_type": "code", 67 | "execution_count": 3, 68 | "metadata": {}, 69 | "outputs": [ 70 | { 71 | "name": "stdout", 72 | "output_type": "stream", 73 | "text": [ 74 | "10\n" 75 | ] 76 | } 77 | ], 78 | "source": [ 79 | "nilai = 10\n", 80 | "print(nilai)" 81 | ] 82 | }, 83 | { 84 | "cell_type": "markdown", 85 | "metadata": {}, 86 | "source": [ 87 | "> Untuk melihat tipe data dari sebuah variabel, bisa menggunakan perintah `type`" 88 | ] 89 | }, 90 | { 91 | "cell_type": "code", 92 | "execution_count": 4, 93 | "metadata": { 94 | "scrolled": true 95 | }, 96 | "outputs": [ 97 | { 98 | "name": "stdout", 99 | "output_type": "stream", 100 | "text": [ 101 | "\n", 102 | "\n" 103 | ] 104 | } 105 | ], 106 | "source": [ 107 | "print(type(nilai))\n", 108 | "print(type(pesan))" 109 | ] 110 | }, 111 | { 112 | "cell_type": "markdown", 113 | "metadata": {}, 114 | "source": [ 115 | "## Manipulasi String\n", 116 | "\n", 117 | "> Seperti terlihat dari contoh di atas, string (``) adalah tipe data untuk teks atau karakter. Berbeda dengan variabel `nilai` merupakan tipe data integer (``). Di sini kita **tidak** bisa menggabungkan string dengan integer secara langsung seperti berikut." 118 | ] 119 | }, 120 | { 121 | "cell_type": "code", 122 | "execution_count": 5, 123 | "metadata": {}, 124 | "outputs": [ 125 | { 126 | "ename": "TypeError", 127 | "evalue": "must be str, not int", 128 | "output_type": "error", 129 | "traceback": [ 130 | "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", 131 | "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", 132 | "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mpesan\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"Nilai Ujian kamu \"\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mnilai\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0;34m\", Selamat!\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpesan\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", 133 | "\u001b[0;31mTypeError\u001b[0m: must be str, not int" 134 | ] 135 | } 136 | ], 137 | "source": [ 138 | "pesan = \"Nilai Ujian kamu \" + nilai + \", Selamat!\"\n", 139 | "print(pesan)" 140 | ] 141 | }, 142 | { 143 | "cell_type": "markdown", 144 | "metadata": {}, 145 | "source": [ 146 | "> Untuk itu diperlukan untuk mengubah tipe data variabel atau biasa disebut *casting*." 147 | ] 148 | }, 149 | { 150 | "cell_type": "code", 151 | "execution_count": 8, 152 | "metadata": {}, 153 | "outputs": [ 154 | { 155 | "name": "stdout", 156 | "output_type": "stream", 157 | "text": [ 158 | "444 \n" 159 | ] 160 | } 161 | ], 162 | "source": [ 163 | "a = '4'\n", 164 | "b = a * 3\n", 165 | "print(b, type(b))" 166 | ] 167 | }, 168 | { 169 | "cell_type": "code", 170 | "execution_count": 9, 171 | "metadata": {}, 172 | "outputs": [ 173 | { 174 | "name": "stdout", 175 | "output_type": "stream", 176 | "text": [ 177 | "12 \n" 178 | ] 179 | } 180 | ], 181 | "source": [ 182 | "c = int(a)\n", 183 | "b = c * 3\n", 184 | "print(b, type(b))" 185 | ] 186 | }, 187 | { 188 | "cell_type": "code", 189 | "execution_count": 11, 190 | "metadata": { 191 | "scrolled": true 192 | }, 193 | "outputs": [ 194 | { 195 | "name": "stdout", 196 | "output_type": "stream", 197 | "text": [ 198 | "10 \n", 199 | "10 \n", 200 | "Nilai ujian kamu 10, Selamat!\n" 201 | ] 202 | } 203 | ], 204 | "source": [ 205 | "print(nilai, type(nilai))\n", 206 | "print(str(nilai), type(str(nilai)))" 207 | ] 208 | }, 209 | { 210 | "cell_type": "code", 211 | "execution_count": 12, 212 | "metadata": {}, 213 | "outputs": [ 214 | { 215 | "name": "stdout", 216 | "output_type": "stream", 217 | "text": [ 218 | "Nilai ujian kamu 10, Selamat!\n" 219 | ] 220 | } 221 | ], 222 | "source": [ 223 | "print(\"Nilai ujian kamu \" + str(nilai) + \", Selamat!\")" 224 | ] 225 | }, 226 | { 227 | "cell_type": "code", 228 | "execution_count": 7, 229 | "metadata": {}, 230 | "outputs": [ 231 | { 232 | "name": "stdout", 233 | "output_type": "stream", 234 | "text": [ 235 | "hello world\n" 236 | ] 237 | } 238 | ], 239 | "source": [ 240 | "a = 'hello '\n", 241 | "b = 'world'\n", 242 | "print(a+b)" 243 | ] 244 | }, 245 | { 246 | "cell_type": "markdown", 247 | "metadata": {}, 248 | "source": [ 249 | "> Selain menggunakan casting, juga bisa menggunakan koma" 250 | ] 251 | }, 252 | { 253 | "cell_type": "code", 254 | "execution_count": 8, 255 | "metadata": {}, 256 | "outputs": [ 257 | { 258 | "name": "stdout", 259 | "output_type": "stream", 260 | "text": [ 261 | "Nilai ujian kamu 10 Selamat!\n" 262 | ] 263 | } 264 | ], 265 | "source": [ 266 | "print(\"Nilai ujian kamu \", nilai, \" Selamat!\")" 267 | ] 268 | }, 269 | { 270 | "cell_type": "markdown", 271 | "metadata": {}, 272 | "source": [ 273 | "> Atau seperti gaya penulisan pada C" 274 | ] 275 | }, 276 | { 277 | "cell_type": "code", 278 | "execution_count": 16, 279 | "metadata": {}, 280 | "outputs": [ 281 | { 282 | "name": "stdout", 283 | "output_type": "stream", 284 | "text": [ 285 | "Nilai ujian kamu 10, Selamat!\n" 286 | ] 287 | } 288 | ], 289 | "source": [ 290 | "print(\"Nilai ujian kamu %d, Selamat!\" % (nilai) )" 291 | ] 292 | }, 293 | { 294 | "cell_type": "markdown", 295 | "metadata": {}, 296 | "source": [ 297 | "> Contoh gaya penulisan pada C juga berlaku jika ingin memasukannya dalam sebuah variabel" 298 | ] 299 | }, 300 | { 301 | "cell_type": "code", 302 | "execution_count": 17, 303 | "metadata": {}, 304 | "outputs": [ 305 | { 306 | "name": "stdout", 307 | "output_type": "stream", 308 | "text": [ 309 | "Nilai ujian kamu 10, Selamat!\n" 310 | ] 311 | } 312 | ], 313 | "source": [ 314 | "pesan = \"Nilai ujian kamu %d, Selamat!\" % (nilai) \n", 315 | "print(pesan)" 316 | ] 317 | }, 318 | { 319 | "cell_type": "markdown", 320 | "metadata": {}, 321 | "source": [ 322 | "## Mengenal Beberapa Tipe Data Dasar" 323 | ] 324 | }, 325 | { 326 | "cell_type": "code", 327 | "execution_count": 11, 328 | "metadata": {}, 329 | "outputs": [ 330 | { 331 | "name": "stdout", 332 | "output_type": "stream", 333 | "text": [ 334 | "Variabel a = 10 dengan tipe data \n" 335 | ] 336 | } 337 | ], 338 | "source": [ 339 | "a = 10\n", 340 | "print('Variabel a = ', a, ' dengan tipe data ', type(a)) # Cetak teks, variabel dan tipe datanya" 341 | ] 342 | }, 343 | { 344 | "cell_type": "code", 345 | "execution_count": 12, 346 | "metadata": {}, 347 | "outputs": [ 348 | { 349 | "name": "stdout", 350 | "output_type": "stream", 351 | "text": [ 352 | "Variabel a = 10.0 dengan tipe data \n" 353 | ] 354 | } 355 | ], 356 | "source": [ 357 | "a = 10.0 # Variabel dengan tipe data float\n", 358 | "print('Variabel a = ', a, ' dengan tipe data ', type(a)) # Cetak teks, variabel dan tipe datanya" 359 | ] 360 | }, 361 | { 362 | "cell_type": "code", 363 | "execution_count": 13, 364 | "metadata": {}, 365 | "outputs": [ 366 | { 367 | "name": "stdout", 368 | "output_type": "stream", 369 | "text": [ 370 | "Variabel a = 10 dengan tipe data \n" 371 | ] 372 | } 373 | ], 374 | "source": [ 375 | "a = '10' # Variabel dengan tipe data string\n", 376 | "print('Variabel a = ', a, ' dengan tipe data ', type(a)) # Cetak teks, variabel dan tipe datanya" 377 | ] 378 | }, 379 | { 380 | "cell_type": "code", 381 | "execution_count": 14, 382 | "metadata": {}, 383 | "outputs": [ 384 | { 385 | "name": "stdout", 386 | "output_type": "stream", 387 | "text": [ 388 | "Variabel a = True dengan tipe data \n" 389 | ] 390 | } 391 | ], 392 | "source": [ 393 | "a = True # Variabel dengan tipe data boolean\n", 394 | "print('Variabel a = ', a, ' dengan tipe data ', type(a)) # Cetak teks, variabel dan tipe datanya" 395 | ] 396 | }, 397 | { 398 | "cell_type": "markdown", 399 | "metadata": {}, 400 | "source": [ 401 | "# List\n", 402 | "> Dalam bahasa pemrograman lain biasa disebut array" 403 | ] 404 | }, 405 | { 406 | "cell_type": "code", 407 | "execution_count": 15, 408 | "metadata": {}, 409 | "outputs": [ 410 | { 411 | "name": "stdout", 412 | "output_type": "stream", 413 | "text": [ 414 | "[10, 11, 12] \n" 415 | ] 416 | } 417 | ], 418 | "source": [ 419 | "a = [10, 11, 12]\n", 420 | "print(a, type(a))" 421 | ] 422 | }, 423 | { 424 | "cell_type": "markdown", 425 | "metadata": {}, 426 | "source": [ 427 | "> Untuk banyaknya isi dari list dapat menggunakan fungsi `len()`" 428 | ] 429 | }, 430 | { 431 | "cell_type": "code", 432 | "execution_count": 16, 433 | "metadata": {}, 434 | "outputs": [ 435 | { 436 | "name": "stdout", 437 | "output_type": "stream", 438 | "text": [ 439 | "3\n" 440 | ] 441 | } 442 | ], 443 | "source": [ 444 | "print(len(a))" 445 | ] 446 | }, 447 | { 448 | "cell_type": "markdown", 449 | "metadata": {}, 450 | "source": [ 451 | "> Jika ingin mengakses datanya maka berikan index data yang diminta" 452 | ] 453 | }, 454 | { 455 | "cell_type": "code", 456 | "execution_count": 17, 457 | "metadata": { 458 | "scrolled": true 459 | }, 460 | "outputs": [ 461 | { 462 | "name": "stdout", 463 | "output_type": "stream", 464 | "text": [ 465 | "10 \n" 466 | ] 467 | } 468 | ], 469 | "source": [ 470 | "print(a[0], type(a[0]))" 471 | ] 472 | }, 473 | { 474 | "cell_type": "markdown", 475 | "metadata": {}, 476 | "source": [ 477 | "> Dalam satu list bisa juga menyimpan banyak tipe data" 478 | ] 479 | }, 480 | { 481 | "cell_type": "code", 482 | "execution_count": 18, 483 | "metadata": {}, 484 | "outputs": [], 485 | "source": [ 486 | "a = ['10', 10, 10.0]" 487 | ] 488 | }, 489 | { 490 | "cell_type": "code", 491 | "execution_count": 22, 492 | "metadata": {}, 493 | "outputs": [ 494 | { 495 | "data": { 496 | "text/plain": [ 497 | "float" 498 | ] 499 | }, 500 | "execution_count": 22, 501 | "metadata": {}, 502 | "output_type": "execute_result" 503 | } 504 | ], 505 | "source": [ 506 | "type(a[2])" 507 | ] 508 | }, 509 | { 510 | "cell_type": "markdown", 511 | "metadata": {}, 512 | "source": [ 513 | "## Nested List / Multi Dimention List" 514 | ] 515 | }, 516 | { 517 | "cell_type": "code", 518 | "execution_count": 23, 519 | "metadata": {}, 520 | "outputs": [ 521 | { 522 | "name": "stdout", 523 | "output_type": "stream", 524 | "text": [ 525 | "[[1, 2, 3, 4, 5], [5, 4, 3, 2, 1], [10, 5, 3, 7, 3]]\n" 526 | ] 527 | } 528 | ], 529 | "source": [ 530 | "d = [\n", 531 | " [1,2,3,4,5],\n", 532 | " [5,4,3,2,1],\n", 533 | " [10,5,3,7,3]\n", 534 | "]\n", 535 | "print(d)" 536 | ] 537 | }, 538 | { 539 | "cell_type": "code", 540 | "execution_count": 24, 541 | "metadata": {}, 542 | "outputs": [ 543 | { 544 | "data": { 545 | "text/plain": [ 546 | "[1, 2, 3, 4, 5]" 547 | ] 548 | }, 549 | "execution_count": 24, 550 | "metadata": {}, 551 | "output_type": "execute_result" 552 | } 553 | ], 554 | "source": [ 555 | "d[0]" 556 | ] 557 | }, 558 | { 559 | "cell_type": "code", 560 | "execution_count": 25, 561 | "metadata": {}, 562 | "outputs": [ 563 | { 564 | "data": { 565 | "text/plain": [ 566 | "1" 567 | ] 568 | }, 569 | "execution_count": 25, 570 | "metadata": {}, 571 | "output_type": "execute_result" 572 | } 573 | ], 574 | "source": [ 575 | "d[0][0]" 576 | ] 577 | }, 578 | { 579 | "cell_type": "markdown", 580 | "metadata": {}, 581 | "source": [ 582 | "# Loop" 583 | ] 584 | }, 585 | { 586 | "cell_type": "code", 587 | "execution_count": 26, 588 | "metadata": { 589 | "scrolled": true 590 | }, 591 | "outputs": [ 592 | { 593 | "name": "stdout", 594 | "output_type": "stream", 595 | "text": [ 596 | "senin\n", 597 | "selasa\n", 598 | "rabu\n", 599 | "kamis\n", 600 | "jumat\n", 601 | "sabtu\n", 602 | "minggu\n" 603 | ] 604 | } 605 | ], 606 | "source": [ 607 | "days = ['senin','selasa','rabu','kamis','jumat','sabtu','minggu']\n", 608 | "for day in days:\n", 609 | " print(day)" 610 | ] 611 | }, 612 | { 613 | "cell_type": "code", 614 | "execution_count": null, 615 | "metadata": {}, 616 | "outputs": [], 617 | "source": [ 618 | "for (int i =0; i < 12; i++)" 619 | ] 620 | }, 621 | { 622 | "cell_type": "markdown", 623 | "metadata": {}, 624 | "source": [ 625 | "## List Comprehension" 626 | ] 627 | }, 628 | { 629 | "cell_type": "code", 630 | "execution_count": 27, 631 | "metadata": {}, 632 | "outputs": [ 633 | { 634 | "name": "stdout", 635 | "output_type": "stream", 636 | "text": [ 637 | "[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n" 638 | ] 639 | } 640 | ], 641 | "source": [ 642 | "a = [num for num in range(0,11)]\n", 643 | "print(a)" 644 | ] 645 | }, 646 | { 647 | "cell_type": "markdown", 648 | "metadata": {}, 649 | "source": [ 650 | "# Flow Control" 651 | ] 652 | }, 653 | { 654 | "cell_type": "markdown", 655 | "metadata": {}, 656 | "source": [ 657 | "## Condition" 658 | ] 659 | }, 660 | { 661 | "cell_type": "code", 662 | "execution_count": 28, 663 | "metadata": {}, 664 | "outputs": [ 665 | { 666 | "data": { 667 | "text/plain": [ 668 | "True" 669 | ] 670 | }, 671 | "execution_count": 28, 672 | "metadata": {}, 673 | "output_type": "execute_result" 674 | } 675 | ], 676 | "source": [ 677 | "a = 1\n", 678 | "a == 1" 679 | ] 680 | }, 681 | { 682 | "cell_type": "code", 683 | "execution_count": 29, 684 | "metadata": {}, 685 | "outputs": [ 686 | { 687 | "data": { 688 | "text/plain": [ 689 | "False" 690 | ] 691 | }, 692 | "execution_count": 29, 693 | "metadata": {}, 694 | "output_type": "execute_result" 695 | } 696 | ], 697 | "source": [ 698 | "a == 2" 699 | ] 700 | }, 701 | { 702 | "cell_type": "markdown", 703 | "metadata": {}, 704 | "source": [ 705 | "## Logic\n", 706 | "\n", 707 | "OR\n", 708 | "\n", 709 | "| | True | False |\n", 710 | "|-------|------|-------|\n", 711 | "| True | True | True |\n", 712 | "| False | True | False |\n", 713 | "\n", 714 | "AND\n", 715 | "\n", 716 | "| | True | False |\n", 717 | "|-------|------|-------|\n", 718 | "| True | True | False |\n", 719 | "| False | False | False |" 720 | ] 721 | }, 722 | { 723 | "cell_type": "code", 724 | "execution_count": 30, 725 | "metadata": {}, 726 | "outputs": [ 727 | { 728 | "name": "stdout", 729 | "output_type": "stream", 730 | "text": [ 731 | "True\n", 732 | "False\n", 733 | "True\n", 734 | "False\n" 735 | ] 736 | } 737 | ], 738 | "source": [ 739 | "nama = 'budi'\n", 740 | "kelas = 12\n", 741 | "\n", 742 | "print(nama == 'budi' and kelas > 10)\n", 743 | "print(nama == 'budi' and kelas < 10)\n", 744 | "print(nama == 'budi' or kelas < 10)\n", 745 | "print(nama == 'andi' or kelas < 10)" 746 | ] 747 | }, 748 | { 749 | "cell_type": "markdown", 750 | "metadata": {}, 751 | "source": [ 752 | "> Ketika menggunakan if, pastikan program berada menjorok kedalam sebanyak 4 spasi atau 1 tab. Jika tidak maka akan terdapat `IndentationError`" 753 | ] 754 | }, 755 | { 756 | "cell_type": "code", 757 | "execution_count": 33, 758 | "metadata": {}, 759 | "outputs": [ 760 | { 761 | "name": "stdout", 762 | "output_type": "stream", 763 | "text": [ 764 | "diluar if\n" 765 | ] 766 | } 767 | ], 768 | "source": [ 769 | "nama = 'ani'\n", 770 | "if nama == 'budi':\n", 771 | " print('kamu beneran budi')\n", 772 | "print('diluar if')" 773 | ] 774 | }, 775 | { 776 | "cell_type": "code", 777 | "execution_count": 34, 778 | "metadata": {}, 779 | "outputs": [ 780 | { 781 | "ename": "IndentationError", 782 | "evalue": "unindent does not match any outer indentation level (, line 3)", 783 | "output_type": "error", 784 | "traceback": [ 785 | "\u001b[0;36m File \u001b[0;32m\"\"\u001b[0;36m, line \u001b[0;32m3\u001b[0m\n\u001b[0;31m print('ok2')\u001b[0m\n\u001b[0m ^\u001b[0m\n\u001b[0;31mIndentationError\u001b[0m\u001b[0;31m:\u001b[0m unindent does not match any outer indentation level\n" 786 | ] 787 | } 788 | ], 789 | "source": [ 790 | "if True:\n", 791 | " print('ok')\n", 792 | " print('ok2')" 793 | ] 794 | }, 795 | { 796 | "cell_type": "markdown", 797 | "metadata": {}, 798 | "source": [ 799 | "# Dictionary" 800 | ] 801 | }, 802 | { 803 | "cell_type": "code", 804 | "execution_count": 36, 805 | "metadata": {}, 806 | "outputs": [ 807 | { 808 | "data": { 809 | "text/plain": [ 810 | "{'hobi': ['makan', 'tidur', 'hilang'], 'jenis': 'kucing', 'nama': 'meong'}" 811 | ] 812 | }, 813 | "execution_count": 36, 814 | "metadata": {}, 815 | "output_type": "execute_result" 816 | } 817 | ], 818 | "source": [ 819 | "peliharaan = {\n", 820 | " \"nama\": \"meong\",\n", 821 | " \"jenis\": \"kucing\",\n", 822 | " \"hobi\": [\"makan\", \"tidur\", \"hilang\"]\n", 823 | "}\n", 824 | "peliharaan" 825 | ] 826 | }, 827 | { 828 | "cell_type": "code", 829 | "execution_count": 42, 830 | "metadata": {}, 831 | "outputs": [ 832 | { 833 | "data": { 834 | "text/plain": [ 835 | "dict" 836 | ] 837 | }, 838 | "execution_count": 42, 839 | "metadata": {}, 840 | "output_type": "execute_result" 841 | } 842 | ], 843 | "source": [ 844 | "type(peliharaan)" 845 | ] 846 | }, 847 | { 848 | "cell_type": "code", 849 | "execution_count": 43, 850 | "metadata": {}, 851 | "outputs": [ 852 | { 853 | "data": { 854 | "text/plain": [ 855 | "dict_keys(['nama', 'jenis', 'hobi'])" 856 | ] 857 | }, 858 | "execution_count": 43, 859 | "metadata": {}, 860 | "output_type": "execute_result" 861 | } 862 | ], 863 | "source": [ 864 | "peliharaan.keys()" 865 | ] 866 | }, 867 | { 868 | "cell_type": "code", 869 | "execution_count": 44, 870 | "metadata": {}, 871 | "outputs": [ 872 | { 873 | "name": "stdout", 874 | "output_type": "stream", 875 | "text": [ 876 | "Aku punya kucing namanya meong yang sukanya makan \n" 877 | ] 878 | } 879 | ], 880 | "source": [ 881 | "print('Aku punya %s namanya %s yang sukanya %s ' % (peliharaan['jenis'], peliharaan['nama'], peliharaan['hobi'][0]))" 882 | ] 883 | }, 884 | { 885 | "cell_type": "code", 886 | "execution_count": 49, 887 | "metadata": {}, 888 | "outputs": [], 889 | "source": [ 890 | "dictionary = []" 891 | ] 892 | }, 893 | { 894 | "cell_type": "code", 895 | "execution_count": 50, 896 | "metadata": {}, 897 | "outputs": [ 898 | { 899 | "data": { 900 | "text/plain": [ 901 | "[]" 902 | ] 903 | }, 904 | "execution_count": 50, 905 | "metadata": {}, 906 | "output_type": "execute_result" 907 | } 908 | ], 909 | "source": [ 910 | "dictionary" 911 | ] 912 | }, 913 | { 914 | "cell_type": "code", 915 | "execution_count": 48, 916 | "metadata": {}, 917 | "outputs": [ 918 | { 919 | "data": { 920 | "text/plain": [ 921 | "{'alias': 'miauw', 'umur': 2}" 922 | ] 923 | }, 924 | "execution_count": 48, 925 | "metadata": {}, 926 | "output_type": "execute_result" 927 | } 928 | ], 929 | "source": [ 930 | "dictionary[\"umur\"] = 2\n", 931 | "dictionary[\"alias\"] = 'miauw'\n", 932 | "dictionary" 933 | ] 934 | }, 935 | { 936 | "cell_type": "markdown", 937 | "metadata": {}, 938 | "source": [ 939 | "## Nested" 940 | ] 941 | }, 942 | { 943 | "cell_type": "code", 944 | "execution_count": 51, 945 | "metadata": {}, 946 | "outputs": [ 947 | { 948 | "name": "stdout", 949 | "output_type": "stream", 950 | "text": [ 951 | "[{'color': 'green', 'points': 5}, {'color': 'yellow', 'points': 10}, {'color': 'red', 'points': 15}]\n" 952 | ] 953 | } 954 | ], 955 | "source": [ 956 | "alien_0 = {'color': 'green', 'points': 5}\n", 957 | "alien_1 = {'color': 'yellow', 'points': 10}\n", 958 | "alien_2 = {'color': 'red', 'points': 15}\n", 959 | "aliens = [alien_0, alien_1, alien_2]\n", 960 | "\n", 961 | "print(aliens)" 962 | ] 963 | }, 964 | { 965 | "cell_type": "code", 966 | "execution_count": null, 967 | "metadata": {}, 968 | "outputs": [], 969 | "source": [ 970 | "for alien in aliens:\n", 971 | " print(alien)" 972 | ] 973 | }, 974 | { 975 | "cell_type": "code", 976 | "execution_count": 52, 977 | "metadata": {}, 978 | "outputs": [], 979 | "source": [ 980 | "users = {\n", 981 | " 'user1' : {\n", 982 | " 'nama' : 'udin',\n", 983 | " 'umur' : 18\n", 984 | " },\n", 985 | " 'user2' : {\n", 986 | " 'nama' : 'sarah',\n", 987 | " 'umur' : 15\n", 988 | " }\n", 989 | "}" 990 | ] 991 | }, 992 | { 993 | "cell_type": "code", 994 | "execution_count": 55, 995 | "metadata": {}, 996 | "outputs": [ 997 | { 998 | "data": { 999 | "text/plain": [ 1000 | "'udin'" 1001 | ] 1002 | }, 1003 | "execution_count": 55, 1004 | "metadata": {}, 1005 | "output_type": "execute_result" 1006 | } 1007 | ], 1008 | "source": [ 1009 | "users['user1']['nama']" 1010 | ] 1011 | }, 1012 | { 1013 | "cell_type": "code", 1014 | "execution_count": null, 1015 | "metadata": {}, 1016 | "outputs": [], 1017 | "source": [ 1018 | "users = {\n", 1019 | " 'aeinstein': {\n", 1020 | " 'first': 'albert',\n", 1021 | " 'last': 'einstein',\n", 1022 | " 'location': 'princeton',\n", 1023 | " },\n", 1024 | " 'mcurie': {\n", 1025 | " 'first': 'marie',\n", 1026 | " 'last': 'curie',\n", 1027 | " 'location': 'paris',\n", 1028 | " }\n", 1029 | "}\n", 1030 | "\n", 1031 | "print(users)" 1032 | ] 1033 | }, 1034 | { 1035 | "cell_type": "code", 1036 | "execution_count": null, 1037 | "metadata": {}, 1038 | "outputs": [], 1039 | "source": [ 1040 | "for username, user_info in users.items():\n", 1041 | " print(\"\\nUsername: \" + username)\n", 1042 | " \n", 1043 | " print(\"\\tFull name: \" + (user_info['first'] + \" \" + user_info['last']).title())\n", 1044 | " print(\"\\tLocation: \" + user_info['location'].title())" 1045 | ] 1046 | }, 1047 | { 1048 | "cell_type": "markdown", 1049 | "metadata": {}, 1050 | "source": [ 1051 | "# Function" 1052 | ] 1053 | }, 1054 | { 1055 | "cell_type": "code", 1056 | "execution_count": 56, 1057 | "metadata": {}, 1058 | "outputs": [], 1059 | "source": [ 1060 | "def greet():\n", 1061 | " print(\"Hello!\")" 1062 | ] 1063 | }, 1064 | { 1065 | "cell_type": "code", 1066 | "execution_count": 57, 1067 | "metadata": {}, 1068 | "outputs": [ 1069 | { 1070 | "name": "stdout", 1071 | "output_type": "stream", 1072 | "text": [ 1073 | "Hello!\n" 1074 | ] 1075 | } 1076 | ], 1077 | "source": [ 1078 | "greet()" 1079 | ] 1080 | }, 1081 | { 1082 | "cell_type": "code", 1083 | "execution_count": 58, 1084 | "metadata": {}, 1085 | "outputs": [], 1086 | "source": [ 1087 | "def greet(nama):\n", 1088 | " print(\"Hello\", nama, \"!\")" 1089 | ] 1090 | }, 1091 | { 1092 | "cell_type": "code", 1093 | "execution_count": 59, 1094 | "metadata": {}, 1095 | "outputs": [ 1096 | { 1097 | "name": "stdout", 1098 | "output_type": "stream", 1099 | "text": [ 1100 | "Hello budi !\n" 1101 | ] 1102 | } 1103 | ], 1104 | "source": [ 1105 | "greet('budi')" 1106 | ] 1107 | }, 1108 | { 1109 | "cell_type": "markdown", 1110 | "metadata": {}, 1111 | "source": [ 1112 | "## Overloaded" 1113 | ] 1114 | }, 1115 | { 1116 | "cell_type": "code", 1117 | "execution_count": 60, 1118 | "metadata": {}, 1119 | "outputs": [], 1120 | "source": [ 1121 | "def greeting(nama, umur, jk, nationality='indonesia', rumah='di atas bumi'):\n", 1122 | " if nationality == 'indonesia':\n", 1123 | " print('Selamat Pagi', nama, umur, jk, nationality, rumah)\n", 1124 | " else:\n", 1125 | " print(\"Hello\", nama, \"from\", nationality, umur, jk, rumah)" 1126 | ] 1127 | }, 1128 | { 1129 | "cell_type": "code", 1130 | "execution_count": 61, 1131 | "metadata": {}, 1132 | "outputs": [ 1133 | { 1134 | "name": "stdout", 1135 | "output_type": "stream", 1136 | "text": [ 1137 | "Selamat Pagi tegar 17 L indonesia Surabaya\n" 1138 | ] 1139 | } 1140 | ], 1141 | "source": [ 1142 | "greeting('tegar', 17, 'L',rumah='Surabaya')" 1143 | ] 1144 | }, 1145 | { 1146 | "cell_type": "code", 1147 | "execution_count": 64, 1148 | "metadata": {}, 1149 | "outputs": [ 1150 | { 1151 | "name": "stdout", 1152 | "output_type": "stream", 1153 | "text": [ 1154 | "Hello Japan from Jerman tegar L di atas bumi\n" 1155 | ] 1156 | } 1157 | ], 1158 | "source": [ 1159 | "greeting('Japan','tegar','L',nationality='Jerman')" 1160 | ] 1161 | }, 1162 | { 1163 | "cell_type": "code", 1164 | "execution_count": null, 1165 | "metadata": {}, 1166 | "outputs": [], 1167 | "source": [ 1168 | "def describe_pet(animal_type, pet_name):\n", 1169 | " print(\"\\nI have a \" + animal_type + \".\")\n", 1170 | " print(\"My \" + animal_type + \"'s name is \" + pet_name.title() + \".\")\n", 1171 | "\n", 1172 | "describe_pet('harry', 'hamster')\n", 1173 | "describe_pet(pet_name='harry', animal_type='hamster')\n", 1174 | "describe_pet(animal_type='hamster',pet_name='harry')" 1175 | ] 1176 | }, 1177 | { 1178 | "cell_type": "code", 1179 | "execution_count": 67, 1180 | "metadata": {}, 1181 | "outputs": [ 1182 | { 1183 | "data": { 1184 | "text/plain": [ 1185 | "15" 1186 | ] 1187 | }, 1188 | "execution_count": 67, 1189 | "metadata": {}, 1190 | "output_type": "execute_result" 1191 | } 1192 | ], 1193 | "source": [ 1194 | "def perhitungan(num1, num2, operator = '+'):\n", 1195 | " if operator == '+':\n", 1196 | " return num1+num2\n", 1197 | " elif operator == '-':\n", 1198 | " return num1-num2\n", 1199 | " else:\n", 1200 | " return 5000\n", 1201 | "\n", 1202 | "perhitungan(10,5,'+')" 1203 | ] 1204 | } 1205 | ], 1206 | "metadata": { 1207 | "kernelspec": { 1208 | "display_name": "Python 3", 1209 | "language": "python", 1210 | "name": "python3" 1211 | }, 1212 | "language_info": { 1213 | "codemirror_mode": { 1214 | "name": "ipython", 1215 | "version": 3 1216 | }, 1217 | "file_extension": ".py", 1218 | "mimetype": "text/x-python", 1219 | "name": "python", 1220 | "nbconvert_exporter": "python", 1221 | "pygments_lexer": "ipython3", 1222 | "version": "3.6.3" 1223 | } 1224 | }, 1225 | "nbformat": 4, 1226 | "nbformat_minor": 2 1227 | } 1228 | --------------------------------------------------------------------------------