{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Perintah Loop dan Membuat Fungsi\n", "\n", "## Looping dan Keputusan hasil logika (```for end; if then elif else```)\n", "\n", "Dalam sebuah perhitungan dengan komputer, seringkali kita berhadapan dengan keadaan dimana kita perlu menghitung sesuatu secara berulang. Misalnya, pada saat menghitung nilai medan gravitasi pada sebuah titik akibat adanya benda anomali di bawah permukaan bumi, maka kita perlu mengulang-ulang perhitungan (menggunakan hukum gravitasi Newton) pada titik-titik yang dikehendaki (Gambar 1).\n", "\n", "![](Gambar/bola.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Gambar 1. Benda anomali berupa bola yang terpendam di bawah permukaan, hendak dihitung anomali gravitasinya di permukaan dengan nilai F1...FN. Masing-masing memiliki jarak R tertentu untuk masing-masing titik pengukuran F di permukaan, harus dihitung dengan rumus yang sama secara berulang-ulang, dari 1 sampai N." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Berdasarkan Gambar 1, Besarnya gaya tarik gravitasi pada titik $F_1$, dirumuskan menggunakan Hukum Newton, sebagai berikut" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "dengan $\\gamma$ adalah konstanta gravitasi universal, sebesar $6,67 \\times 10^{-11} m^3.kg^{-1}.s^{-2}$, $\\frac{4}{3}\\pi a^2 \\rho$ adalah masa dari bola pejal, dengan radius ๐‘Ž dan densitas ๐œŒ dan ๐‘… adalah jarak titik pengamatan / perhitungannya.\n", "\n", "Hayo, bagaimanakah kita dapat menghitung $\\vec{g}$ di tiap-tiap titik pengamatan, F1, F2,... FN?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Nah, dalam pemrograman, kita perlu proses perulangan untuk menghitung gaya tarik gravitasional tersebut. Pada Python, kita dapat menggunakan perintah for, dengan sintaks sebagai berikut\n", "```python\n", "for variabel in sekumpulan info: \n", " do sesuatu dengan variabel\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "varibel boleh dinamai apa saja, tapi disarankan yang mnemonic, atau berhubungan dengan namanya dan mudah ditebak maksudnya, misalnya kalau itu sebuah indeks, dari 1 sampai n, maka variable bisa dinamai i saja atau kalau missal temperature ya bisa dengan temp, dst. Contoh :" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "2\n", "3\n", "4\n", "5\n", "6\n", "7\n" ] } ], "source": [ "angka = [1,2,3,4,5,6,7]\n", "for nilai in angka:\n", " print(nilai)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Programmer hebat seperti Dimitri Komatitsch senang membuat variableyang โ€œluguโ€ sehingga menjadi Panjang Namanya,tapi sangat mudah dan tidak perlu ditebak maksudnya.Python memberikan fungsi built-in yang namanya ```range```,yang menghasilkan sebuah deret angka dari 1 ke N. Fungsi ```range``` dapat menerima maksimal 3 argumen input (```range(argument_1,argument_2,argument_3)```), dengan aturan sebagai berikut:\n", "\n", "- Jika hanya satu parameter diberikan,rangemenghasilkan sekumpulan (array) sepanjang nilai parameter tadi, dimulai dari nol dan penambahan sebesar 1. Sebagai teladan, maka perintah ```range(3)``` akan menghasilkan bilangan 0, 1, 2.\n", "- Jika diberikan dua parameter, ```range``` akan memulai dengan angka pertama dan berakhir tepat sebelum angka keโ€“ di parameter kedua, dengan penambahan sebesar 1. Jadi, ```range(2, 5)``` menghasilkan2, 3, 4.\n", "- Jika ```range``` diberi sebanyak 3 parameter, dia akan memulai dengan angka pertama, diakhiri dengan angka kedua, dengan penambahan sebesar anka ketiga. Misalnya, ```range(3, 10, 2)``` menghasilkan3, 5, 7, 9. \n", "\n", "\n", "(PDF) Materi Metkom Geofisika. Available from: https://www.researchgate.net/publication/323930962_Materi_Metkom_Geofisika [accessed Mar 22 2019]." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Contoh-contoh lebih banyak dapat ditemukan diberbagai website, dengan bantuan Google.Kembali ke pembahasan diatas mengenai perhitungan yang berulang, jadi kita perlu secara berulang, dengan perintah for, untuk sejumlah N titik data, hitung nilai g.Dari sini, muncul masalah baru, yaitu bahwa kita memerlukan sebuah program pendek, untuk menghitung gaya tarikgravitasinya.Dalam istilah komputasi, program pendek tersebut disebut dengan fungsi (function). \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Membuat Fungsi (dengan ```def namafungsi:```)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pada Python, definisi sebuah fungsi dibuat memakai kata kunci ```def``` yang diikuti dengan nama fungsinya, lantas diikuti lagi dengan nama parameter-parameter (variable) fungsi yang dibatasi dengan tanda kurung.Tubuh dari fungsi tersebut, yang berisi perintah-perintah Python yang harus dieksekusi, harus ditulis menjorok ke kanan sejauh (minimal) 4 spasi. Sebagai tauladan, dibawah ini adalah sebuah fungsi untuk mengkonversi dari skala temperature Fahrenheit ke skala Kelvin: \n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def fahrenheit_ke_kelvin(suhu):\n", " return((suhu-32)*(5/9))+273.15" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "233.14999999999998" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fahrenheit_ke_kelvin(-40)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Kembali kelap-top ! Untuk itu, perhatikan bagaimana implementasi dari persamaan (1) menjadi sebuah fungsi dalam Python." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "#```--------Program menghitung gaya tarik gravitasi-------------------```\n", "#``` benda berbentuk bola ```\n", "#```------------------------------------------------------------------```\n", "gamma = 6.6E-11\n", "si2mg = 1.0E5\n", "pi = 3.14159265\n", "km2m = 1.E3\n", "ierror = 0\n", "import math\n", "import matplotlib.pyplot as plt\n", "def bola(xq,yq,zq,a,rho,xp,yp,zp):\n", " #``` titik pengamatan terletak pada koordinat (xq,yq,zq), sementara pusat bola adalah di (xp,yp,zp). Jari-jari bola adalah a\n", " #``` dan densitas adalah rho. Densitas satuannya kg/m^3, jarak dalam km\n", " rx = xp - xq\n", " ry = yp - yq\n", " rz = zp - zq\n", " \n", " r = math.sqrt(math.pow(rx,2)+math.pow(ry,2)+math.pow(rz,2))\n", " \n", " if r == 0:\n", " print(\"R-nya nol, ubah kedalaman!\")\n", " \n", " r3 = math.pow(r,3)\n", " tmass = 4.0 * pi * rho * (math.pow(a,2))/3\n", " gx = -gamma * tmass * rx/r3\n", " gy = -gamma * tmass * ry/r3\n", " gz = -gamma * tmass * rz/r3\n", " \n", " gx = gx * si2mg * km2m\n", " gy = gy * si2mg * km2m\n", " gz = gz * si2mg * km2m\n", " return gx, gy, gz\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Perhatikan bahwa persamaan (1) diimplementasikan secara bertahap, dengan menghitung r nya dulu terhadap setiap titik amat xp, baru dihitung g nya untuk setiap komponen x, y dan z.\n", "Untuk memanggilnya, kita masukkan parameter posisi benda dan posisi titik amat, densitas dan jejari bolanya. Misalnya kita ingin menghitung gaya Tarik gravitasi untuk bola dengan jari-jari 0,5 km yang letaknya di posisi x = 0, y = 0 dan kedalaman 2 km, dengan densitas 2600 kg/m3 pada posisi x-amat = 1, y-amat = 1 dan z-amat =0 sebagai berikut" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "gx,gy,gz = bola(0,0,2,0.5,2600,1,1,0)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.4453950067143504" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gz" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dengan fungsi ini, sebaran gaya tarik gravitasi pada sebuah luasan tertentu dengan mudah bisa dilakukan. Misalnya jika hendak dihitung gaya gravitasi pada area seluas 100km ร— 100 km, untuk anomaly yang letaknya di x = 20 km y = -20 km dapat dipanggil" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from mpl_toolkits import mplot3d\n", "from mpl_toolkits.mplot3d import Axes3D\n", "from matplotlib import cm\n", "from matplotlib.ticker import LinearLocator, FormatStrFormatter\n", "import numpy as np\n", "\n", "x = np.linspace(-50,50,100)\n", "y = np.linspace(-50,50,100)\n", "X,Y = np.meshgrid(x,y)\n", "G=np.zeros((100,100))\n", "for i in range(100):\n", " for j in range(100):\n", " gx, gy, gz = bola(20,-20,5,1,2600,X[i,j],Y[i,j],0)\n", " G[i,j]=gz\n" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWQAAADuCAYAAAAOR30qAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzsvXd8HPWd///aqtVKK8myZFuWLKvL\nssBNsi0SQiAEDPwSQ+B72EAO+BLgArhQwhdffGfKBQzEIUBMuRwJLQQncR4J4BhDchfTzpZsQ9yN\nVlqterHK9r4zvz/EZzzbd8pWzfPx4IG1ZeazuzOvec+7ymiahoSEhIRE6pGnegESEhISEtNIgiwh\nISGRJkiCLCEhIZEmSIIsISEhkSZIgiwhISGRJkiCLCEhIZEmSIIsISEhkSZIgiwhISGRJkiCLCEh\nIZEmKDm+Xirrk5CQkOCOLJ4XSRayhISERJogCbKEhIREmiAJsoSEhESaIAmyhISERJogCbKEhIRE\nmiAJsoSEhESaIAmyhISERJogCbKEhIREmiAJsoSEhESaIAmyhISERJogCbKEhIREmiAJsoSEhESa\nwLW5kIREVGiaht/vBwAoFArIZHH1VJGQkIAkyBIiQVEU/H4/fD4f3G4387hMJoNCoWD+k8vlkMvl\nkMlkklhLSAQhCbKEICiKgs/nY6ximUzGCC5NT3drJULNhrxOoVBAqVRKQi0hAUBGTpo4kfohS4Cm\nadA0Da/XC4qiAIARUpqm4fF4Yooq2Ubw8ScJtUSWEtfBKwmyRNzQNM1YxMFCzH5NPIIcbR/hhBo4\n55NWKBRQqVSSUEtkEnEdpJLLQiImwUJMRDARQhhpu2QNIyMj8Hg8WLBgAfMc2z8d7KeWkMgkJEGW\niAjJmPD5fKBpOqFCHAuyXyK2CoWCWSMJKJI1EsjrwgUUJSTSEUmQJUKgaRoulwterxcqlYoRwnQk\nmkVN/NzBLhRJqCXSFUmQJRhommYyJoaHh+HxeFBdXc15O+kgbNGEGgB8Ph+8Xm/Ac5JQS6QaSZAl\nGCEmqWkkcMYx4Js0hKyLiGuwyEYS6qmpKeTm5iI/Pz8g60MqepFIBJIgz2DYxRxAoFUpk8mYTIp0\nIlEiGEmoTSYTZDIZcnNzA3zpNE1HtaglsZbggyTIM5BwxRzBAiKXy3lbosHBtUwnnA89nqIXpVIp\n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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure()\n", "ax = plt.axes(projection='3d')\n", "surf = ax.plot_surface(X, Y, G, cmap=cm.coolwarm,linewidth=0, antialiased=False)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bagus, khan .. Coba diubah-ubah posisi titik amatnya, dan parameter bolanya.." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "import requests" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "url=\"http://berkeleyearth.lbl.gov/auto/Regional/TAVG/Text/hawaii-TAVG-Trend.txt\"\n", "response=requests.get(url)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "with open(\"hawaii-temp.txt\",\"w\") as open_file:\n", " open_file.write(response.text)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "data = np.loadtxt(\"hawaii-temp2.txt\")" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nQwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(data[:,2])\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "u'C:\\\\Users\\\\User\\\\Documents\\\\GitHub\\\\Kuliah_MetKom'" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pwd" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "ename": "SyntaxError", "evalue": "invalid syntax (, line 1)", "output_type": "error", "traceback": [ "\u001b[1;36m File \u001b[1;32m\"\"\u001b[1;36m, line \u001b[1;32m1\u001b[0m\n\u001b[1;33m List vs Array vs Matrix\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n" ] } ], "source": [ "List vs Array vs Matrix\n", "Library numpy\n", "import numpy as np => import library numpy and call it โ€œnpโ€ => then use np.(tab)\n", "List:\n", "You can put anything in a list\n", "Calculation on a list doesnโ€™t really work\n", "a_list=[1,2,3]\n", "#calculate with list => repeats the list\n", "a_list*2\n", "[1, 2, 3, 1, 2, 3]\n", "\n", "numpy array: \n", "Use numpy.array([ (element0), (element1), (element2) ]) to create array\n", "Calculation on array applies to each element\n", "a_array=np.array([1,2,3])\n", "#calculate with array => calculate on each element\n", "a_array*2\n", "array([2, 4, 6])\n", "\n", "Matrix:\n", "Is a list of lists. The first line is the first element in the list. And calculation works too.\n", "\n", "a_mat=np.array([[1,2,3],[4,5,6],[7,8,9]])\n", "a_mat\n", "array([[1, 2, 3],\n", " [4, 5, 6],\n", " [7, 8, 9]])\n", "a_mat*2\n", "array([[ 2, 4, 6],\n", " [ 8, 10, 12],\n", " [14, 16, 18]])\n", "\n", "To get the element in a matrix:\n", "Matrix[ (row #), (column #) ]\n", "Matrix[ : , (column #) ] <= use : to get the entire row or column\n", "\n", "#get row2, column3\n", "A_mat[1,2] =output=> 6\n", "\n", "#get second row\n", "A_mat[1,:] =output=> array([4, 5, 6])\n", " \n", "numpy array functions:\n", "\n", "# use np.(function name)\n", "np.min(data[:,1])\n", "18.850448\n", "\n", "# numpy array.(function name) => does the same thing\n", "data[:,1].min()\n", "18.850448\n", "\n", "Tips:\n", "Pwd => get your working directory\n", "Import data into an array\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.15" } }, "nbformat": 4, "nbformat_minor": 2 }