You are on page 1of 11
‘29/22, 837 AM CContoh soal- Jupyter Notebook Responsi Praktikum Dasar Informatika Jum'at, 10-12-2021, 120 menit, buku-terbuka & daring via Google Classroom Prodi Teknik Fisika DINTF FT-UGM Semester Gasal 2021/2022 Petunjuk 41. Responsi (Ujian Akhir Semester) PDI ini terdiri dari 4 soal dengan total nilai 100 persen untuk dikerjakan dalam rentang waktu yang ditetapkan, Anda boleh mengacu berbagai sarana belajar ketika mengerjakan soal 2. Jika nama berkas soal ini masih Responsi_POI_888888 maka klik-lah pada nama tersebut dan gantilah bagian 888888 dengan Nomor Induk Universitas anda (6 angka). 3. Kerjakan semua soal responsi secara mangiri dan tidak curang serta ketikkan jawaban anda secara lengkap dan rapi di dalam sel (kotak) yang tersedia. 4, Unggah berkas jawaban anda di GClassroom PDI 2021 pada lokasi anda mengunduh berkas soal ini. 5. Jalankan sel di bawah ini dengan meng-klik mouse di dalamnya dan menekan kombinasi tombol [Shift- enter] In [16]: input(" Nama Lengkap Praktikan: ') input(" No.Mhs. (NIU: 6 angka): *) print() Nama Lengkap Praktikan: Nabilla Amanda Fatwazahra No.Mhs. (NIU: 6 angka): 493823 Soal #1: CPMK-1 — 30% Rumus di bawah ini dapat dipergunakan untuk menghitung derivatif aproksimasi dari suatu fungsi matematika £ (8) jikalau dipilih nilai h yang termasuk kecil: Sx+h)-Se-h 2h Sx) % () © Dalam sel di bawah ini, tulislah definisi fungsi Python bermama derivatif(f, x, h=1E-5) yang mengembalikan nilai aproksimasi rumus (1) terkait derivatif terhadap x dari suatu fungsi matematika yang dilambangkan oleh fungsi Python (x) lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb wm ‘29/22, 837 AM CContoh soal- Jupyter Notebook In [5]: # derivatif(f, x, h=1E-5) : Fungsi yang mengembalikan nilai aproksimasi rumus (1) terkait d # x dari suatu fungsi matematika yang dilambangkan f(X) def derivatif(f, x, h=10**-5): return (f(x +h) - f(x - h))/(2*h) ‘© Dalam sel di bawah ini, tulislah program Python lengkap bernama Derivatifkira2 dengan menerapkan fungsi-buatan-sendiri derivatif(f, x, h=1E-5) untuk menentukan derivatif aproksimasi dari tiga fungsi berikut 1, f(x) = e* padax = 0.5 2. f(x) = cos x pada x = 0.75 ¢ 3. f(x) = Inx pada x = 3 Pilihiah nilai h = 0.001. Pada setiap kasus f(x), tampilkan hasil perhitungan: + nila derivatit f" (x) secara aproksimasi, + nilai derivatif f”(x) secara eksak, dan + selisih di antara nilai-nilai derivatif eksak dan derivatif aproksimasi. lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb am ‘29/22, 837 AM CContoh soal- Jupyter Notebook In [5]: # Derivatifkira2.py : Program yang menerapkan fungsi-buatan-sendiri derivatif(f, x, h=1E-5) # untuk menentukan derivatif aproksimasi dari tiga fungsi di atas 4# Mengimport pustaka from nunpy import cos, exp as e, log as In, pi def derivatif(f, x, h=10**-5): return (f(x +h) = f(x - h))/(2*h) # Hasil Aproksimasi print(‘Aproksimasi derivatif ex =',derivatif(e, @.5 , @.001)) print('Aproksimasi derivatif cos(x) =',derivatif(cos, 0.75*pi, .001)) print(‘Aproksimasi derivatif In(x) =",derivatif(1n, 3, @.001)) print() # Hasil Eksak print(‘Eksak derivatif ex = 1.64872") print(*Eksak derivatit cos(x) = -@.787107") print(*Eksak derivatif In(x) = 0333333") print() ‘# Selisih A= derivatif(e, 0.5 , 0.001)-1.64872 B = derivatif(cos, 0.75*pi, 0.001)-(-0.707107) C = derivatif(In, 3, 0.001)-0.333333 print(‘Selisin derivatif esx =", A) print('Selisin derivatif cos(x)=", 8) print('Selisih derivatif In(x) =", C) print() print('Hasil selisih bernilai sangat kecil sehingga dapat disimpulkan bahwa aproksimasi sud Aproksimasi derivatif e*x = 1.6487215454870086 Aproksimasi derivatif cos(x) = -0.707106663335344 Aproksimasi derivatif In(x) = @.33333334567897666 Eksak derivatif e*x 1.64872 Eksak derivatif cos(x) = -@.78717 Eksak derivatif In(x) = @,333333 Selisih derivatif e*x = 1.545487008591806e-06 Selisih derivatif cos(x)= 3.3666465604209606e-07 Selisih derivatif 1n(x) = 3.456789766653756e-07 Hasil selisih bernilai sangat kecil sehingga dapat disimpulkan bahwa aproksi masi sudah akurat Soal #2: CPMK-2 — 30% Bayangkan kita sedang mengukur periode ayunan T dari suatu pendulum sederhana yang memiliki massa m terletak pada ujung batang yang tak-bermassa sepanjang L. Panjang batang telah diubah-ubah nilainya dan ada setiap kali perubahan telah diukur nilai 7” yang terkait. Hasil pengukuran disimpan di dalam berkas lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb amt ‘29/22, 837 AM CContoh soal- Jupyter Notebook bernama pendulum.dat . Kolom pertama dalam berkas tersebut berisikan nila-nilai L dan kolom kedua berisikan nilainilai T terkait © Dalam sel di bawah ini, tulislah program Python lengkap bernama DataPendulum yang melakukan langkah-langkah sebagai berikut: Bacalah data hasil pengukuran ayunan pendulum dari dalam berkas pendulum. dat ‘Simpankan data yang terbaca ke dalam dua lark L_dan T Lukiskan grafik yang menampilkan kurva L versus T sebagai bulatan-bulatan kecil berwama hitam. Dengan mengganggap T sebagai fungsi dari | dan dengan memanfaatkan fungsi pustaka_numpy bemama polyfit() , lakukan pencocokan polinomial berorde-1, 2 dan 3 terhadap data L dan T Lukiskan dalam grafik yang sama ketiga kurva polinomial hasil pencocokan sebagai garis berwamna merah, hijau dan biru. Jangan lupa untuk menyertakan dekorasi pada grafik yang dibuat Polinomial berorde berapakah yang paling baik kecocokannya dengan data pendulum terukur? lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb ant ‘1129122, 837 AM CContoh soal- Jupyler Notebook In [15]: # DataPendulum : Program yang meLakukan Langkah - Langkah di atas # Inport Pustaka import numpy as. np import matplotlib.pyplot as plt # Menbaca Data read = open('pendulum.dat', ‘r') line = read.readlines() # Membuat Larik t=O] T=] for i in range(1, len(line)): data = line[i].split() L.append (float (data[é])) T.append( float (data[1])) # Fungst Polinomiat pl = np.polyfit(L, T, 1) p2 = np.polyfit(L, T, 2) p3 = np.polyfit(L, T, 3) y= (] y2 = [] y3 = C) for i in range(len(L)): yl.append(p1[9] * L[i] + p2[1]) y2.append(p2[0] * L[i]**2 + p2[1] * L[i] + p2[2]) y3-append(p3[0] * L[i]**3 + p3[1] * L[i]**2 + p3[2] * L[4] + p3[3]) # Kurva figure = plt.figure() plt.title('Grafik Lvs T') plt.plot(L, yt, "r') plt.plot(L, y2, ‘y') plt.plot(L, y3, "b") plt.plot(L, T, 'k.") plt.legend([‘Orde 1', ‘Orde 2", ‘Orde 3°]) plt.xlabel("L") plt.ylabel('T') # Menutup Berkas read.close() print(‘Polinomial orde 3 yang paling akurat dengan data pendulum terukur") Polinomial orde 3 yang paling akurat dengan data pendulum terukur localhost 8888notebooks/Downloads/Responsi PO/ResponsiiContoh soal.pynb om ‘29/22, 837 AM CContoh soal- Jupyter Notebook Grafik Lvs T 2.0 18 16 14 12 10 08 0.6 02 0.4 0.6 08 10 Soal #3: CPMK-3 — 30% Suatu piranti GPS (Global Positioning System) mengukur posisi pengguna (x, y) pada setiap s detik. Data posisi pada suatu perjalanan dapat disimpankan ke dalam suatu berkas, seperti berkas position.dat . Berkas ini berisikan + nilai s (detik) pada baris pertama; dan + koordinat x dan y dari posisi yang terukur GPS pada baris-baris selanjutnya, Jika x(t) dan y(t) adalah koordinat posisi sebagai fungsi waktu maka kecepatan pada arah x dan y masing- ‘masing adalah dx dy an a at (2) Karena nilai-nilai x dan y hanya terukur pada n waktu yang diskrt (terpisah-pisah): 1 (3) te =k-s, dengan k=0,1,2, maka rumus kecepatan v, dan v, dapat didekati menggunakan pendiferensialan numerik sebagai berikut: (te) = X(te) Wit) = y(t) 5 bye) © dan v(t) © @ © Dalam sel di bawah ini, susunlah program Python lengkap bernama Posisikecepatan yang melakukan langkah-langkah berikut: 1. Baca data dari dalam berkas position.dat dengan cara: + muat lai s ke dalam suatu variabel bertipe float ; dan lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb ent ‘282, 837 AM CContch soal- Jupytr Notebook + muat semua koordinat x dan y masing-masing ke dalam larik x dan y 2. Buat grafik 2D dari kurva koordinat y vs x dengan menarik garis lurus di antara setiap titik data 3. Hitunglah dua larik kecepatan pada arah x dan y masing-masing vx dan vy berdasarkan pada Persamaan (4) dengan k = 0, 1,2,...,."—2. 4, Buat dua grafik lainnya (gunakan perintah subplot() dari pustaka Matpiotlib) yang masing-masing melukiskani + kecepatan pada arah x vs waktu; dan + kecepatan pada arah y vs waktu lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb mm ‘29/22, 837 AM CContoh soal- Jupyter Notebook In [14]: d#import pustaka import numpy as np import matplotlib.pyplot as plt #oaca file file = open(‘position.dat', 'r') line = file.readlines() File. close() Ymembuat Larik x dan y s int(1ine[e]) list_x = [] listy =] for I in range (1, len(line)): data = line[i].split() List_x.append( float (data[@])) List_y-append( float (data[1])) np.apray(list_x) np.array(list_y) y dgrafik x vs y plt.plot(x,y) plt.title('Grafik x vs y') plt.legend([ ‘Posisi*]) plt.xlabel("x') plt.ylabel(*y') plt.grid() plt.show() fimembuat Larik tk = [] 3 listyx = [] 5 list_y = (1 for k in range(@, len(list_x)-1) tk. append(k*s) vx = (x[k+1] -x[k])/s vy = (y[k+1]-y[k])/s List_vx.append(vx) List_vy. append(vy) VX = np.array(List_vx) W = np.array(1ist_vy) TK = np.array(tk) fimembuat grafik Vx vs t plt.subplot(1, 2, 1) plt.plot(Tk, VX, ‘r’) plt.title( ‘Grafik Vx vs t') plt.legend([‘V(t)"]) plt.xlabel("t(waktu) ') plt.ylabel(‘Vx(kecepatan sunbu x)') plt.grid() plt.show() fimembuat grafik plt.subplot(1, 2, 1) plt.plot(Tk, WY, ‘g') plt.title( ‘Grafik Vy vs t') plt.legend(['v(t)']) plt.xlabel("t(waktu) ') plt.ylabel(‘vy(kecepatan sunbu y)") plt.grid() localhost: 8888notebooks/Downloads/Responsi PDUResponsitGontoh soal.ipyn> amt ‘29/22, 837 AM CContoh soal- Jupyter Notebook plt.show() Grafik x vs y — Posisi 1.0 0.8 0.6 0.4 0.2 0.0 0.0 05 1.0 15 2.0 25 30 x Grafik Vx vs t 0.00873 0.00872 0.00871 ° g g 0.00869 \Vx(kecepatan sumbu x) 0.00868 0.00867 — vit) 0 100 200-300 ‘t(waktu) lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb om ‘29/22, 837 AM CContoh soal- Jupyter Notebook Grafik Vy vs t — vit) 0.010 = 0.005 3 £ % 0.000 5 g & -0.005 & > 0.010 0.015 Soal #4: Masukan bagi Praktikum — 10 ps Setiap praktikum seharusnya dievaluasi pada akhir masa pelaksanaannya demi perbaikan pada masa depan. Para Praktikan adalah pengevaluasi dan pemberi masukan yang absah karena mereka mengalami senditi bagaimana semua modul praktikum dilaksanakan. Komponen-komponen yang layak dievaluasi dan diberi masukan adalah + materi dan modul praktikum; + jadwal praktikum; + fasilitas yang menunjang praktikum secara daring; + peranan para asisten; + prastes, inhal & responsi; + penilaian dan sebagainya. © Ubahiah sel di bawah ini menjadi bertipe Markdown , lalu tulistah di dalamnya berbagai saran membangun dari anda sebagai seorang Praktikan terhadap penyelengaraan Praktkum Dasar Informatika pada semester lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb som ‘29/22, 837 AM CContoh soal- Jupyter Notebook Gasal 2021/2022. Berikan masukan pribadi anda secara sukarela dan setiap masukan anda tidak akan mempengaruhi nilai akhir praktikum anda, Terima kasih 1. Untuk asisten praktikum mungkin bisa lebih membantu para praktikan, misalnya mengadakan sesi tutorial 2. Fasilitas yang menunjang praktikum juga mungkin lebih ditingkatkan, seperti menggunakan komputer di lab komputasi 3. Untuk prosedur pengumuman inhal juga mungkin bisa ke personal chat saja dan tidak diumumkan di grup, sehingga praktikan lain tidak perlu melihat siapa yang inhal lpoathost 8888 notebooks/Downloads/Responsi PD/ResponsiiContoh soal.ipynb wm

You might also like