• Tidak ada hasil yang ditemukan

BUKU PANDUAN PRAKTIKUM KOMPUTER MULTIMED

N/A
N/A
Protected

Academic year: 2018

Membagikan "BUKU PANDUAN PRAKTIKUM KOMPUTER MULTIMED"

Copied!
30
0
0

Teks penuh

(1)

BUKU PANDUAN PRAKTIKUM

KOMPUTER MULTIMEDIA

Eko Sulistya

Laboratorium Fisika Atom dan Inti

Jurusan Fisika Fakultas MIPA

Universitas Gadjah Mada

(2)

1

Kata Pengantar

Alhamdulillah, puji syukur ke hadirat Allah S.W.T, yang telah memberikan petunjuk dan hidayah-Nya sehingga buku Panduan Praktikum Komputer Multimedia ini dapat diselesaikan.

Buku panduan ini memberikan dasar pemrograman dengan Python, satu bahasa pemrograman baru diantara bahasa-baha pemrograman high level. Karena keterbatasan waktu untuk praktikum, maka pembahasan dan contoh-contoh tidak bisa menunjukkan semua kemampuan pemrograman dengan Python.

Penulis menyadari terdapat banyak kekurangan dan kesalahan di dalam buku panduan ini. Semoga kritik, saran dan koreksi terhadap buku ini dapat digunakan untuk memperbaiki Panduan Praktikum Komputer Multimedia di masa mendatang.

September 2012

(3)

Daftar Isi

BAB 1 Pengenalan Singkat Tentang Python ... 7

1.1 Menulis program komputer adalah menyelesaikan rumus ...7

1.2 Tentang program dan Pemrograman ...8

1.3 Menyiapkan lokasi untuk penyimpanan program ...9

1.4 Perangkat untuk menulis program ...10

1.5 Menulis program dengan Notepad++ (Latihan 1) ...10

1.6 Menjalankan program ...11

Tugas 1 ... 12

BAB 2 Bekerja Dengan File ... 13

Latihan 2. Menggunakan loop...13

Latihan 3. Menyimpan data-data ke dalam file teks ...14

Latihan 4. Mengambil data dari file ...15

Tugas 2 ... 16

BAB 3 Fungsi ... 17

3.1 Fungsi dengan satu variabel ...17

Latihan 5. List dan Fungsi ...17

3.2 Variabel lokal dan variabel global ...18

3.3 Fungsi dengan beberapa variabel (argumen) ...19

Tugas 3 ... 19

BAB 4 Menampilkan grafik ... 20

4.1 Grafik titik-titik data ...20

Latihan 6. Cari dan install matplotlib ...20

Latihan 7. Contoh menggambarkan grafik data ...20

4.2 Menyimpan hasil dalam file gambar...22

Latihan 8 ...22

Tugas 4 ... 23

BAB 5. NumPy : Numerical Python ... 24

5.1 Aljabar vektor ...24

(4)

3

Latihan 10. Perkalian dot antara 2 vektor ...24

5.2 Regresi linear dengan NumPy...25

Latihan 11. Regresi linear ...25

5.2 Parameter hasil regresi linear ...26

Tugas 5 ... 27

BAB 6. Visualisasi dengan VPython ... 28

Latihan 12. Bola yang terpantul ...28

(5)

Pendahuluan

Buku panduan ini bertujuan agar peserta Praktikum Komputer Multimedia segera dapat melakukan pemrograman dengan Python. Berbeda dengan buku-buku tentang pemrograman pada umumnya,

buku panduan ini merupakan cara belajar yang “the hard way to learn a programming language”. The hard way bukan dimaksudkan sebagai

“cara yang sulit”, tetapi adalah the easy way, cara yang mudah. Dalam buku ini landasan-landasan dan konsep-konsep pemrograman dan seluk beluk tentang bahasa perograman Python tidak diberikan secara detil, namun langsung pada langkah-langkah yang dilakukan dalam pemrograman. Hal-hal tentang Python dan pemrograman dapat dibaca dalam buku-buku lain yang bisa diperoleh dari internet.

Dengan buku panduan ini, Anda akan melakukan hal-hal yang sangat sederhana yang harus dilakukan oleh seorang programmer dalam mempelajari suatu bahasa pemrograman, yaitu :

1. Kerjakan semua latihan.

2. Ketikkan semua contoh dengan tepat (jangan ada salah ketik). 3. Jalankan program (skrip) yang telah diketik.

Pada awal mungkin akan terasa sulit, namun setelah melakukan semua latihan, satu atau dua jam per hari, Anda akan memperoleh landasan yang kuat untuk membaca buku-buku yang lain.

Buku panduan ini mungkin tidak memberikan ilmu “pemrograman”,

tetapi memberikan kemampuan dasar yang diperlukan untuk mempelajari bahasa pemrograman. Tiga kemampuan dasar yang penting, yang harus dimiliki oleh seorang programmer adalah : Membaca dan Menulis, Perhatian Pada Detil, dan Mengamati Perbedaan.

Membaca dan Menulis

(6)

5 Perhatian Pada Detil

Satu ketrampilan yang membedakan antara programmer yang baik dengan programmer yang buruk adalah bagaimana ia memperhatikan pada hal-hal yang detil. Tanpa memperhatikan ha-hal yang paling kecil dalam program yang anda tulis, anda akan kehilangan unsur-unsur kunci pada apa yang anda buat. Dalam pemrograman, pengabaian pada hal-hal detil itulah yang menyebabkan adanya bug.

Mengamati Perbedaan

Ketrampilan penting yang timbul dalam diri seorang programmer adalah kemampuan untuk menemukan/mengamati perbedaan. Jika ada dua kode yang sedikit berbeda, ia akan segera mampu menunjukkan di mana letak perbedaannya. Pada saat anda menuliskan contoh-contoh kode pada buku panduan ini, tidak bisa dihindari, pasti akan melakukan kesalahan-kesalahan. Jangan patah semangat, karena seorang programmer handal pun, pasti akan melakukan kesalahan-kesalahan semacam itu. Dengan mengamati contoh kode dan kode yang anda ketik sendiri, anda melatih untuk menemukan perbedaan antara keduanya, kemudian bisa memperbaikinya.

Jangan Copy-Paste

Contoh-contoh kode program harus diketikkan satu persatu secara manual. Ini akan melatih ketrampilan menulis program. Sesekali boleh saja melakukan copy-paste untuk melihat jalannya program, namun setelah itu, tetap harus mengetikkan kode programnya. Dengan mengetikkan sendiri, anda melatih tangan, otak dan perasaan tentang bagaimana membaca, menulis, dan melihat kode program. Jika anda hanya melakukan copy-paste saja, maka anda curang kepada diri anda sendiri, anda menipu diri anda sendiri, dan kehilangan manfaat dari belajar pemrograman.

(7)

Latihan 0: Setup

Latihan ini dilakukan di komputer anda sendiri. Komputer di Lab sudah di-setup untuk anda berlatih. Anda perlu melakukan setup di komputer anda sendiri agar bisa berlatih di rumah.

(8)

7

BAB 1 Pengenalan Singkat Tentang Python

1.1 Menulis program komputer adalah menyelesaikan

rumus

Rumus yang akan ditinjau adalah persamaan gerak dari sebuah bola yang dilemparkan vertikal ke atas. Dari hukum Newton ke-2 tentang gerak, dapat diperoleh model matematik untuk gerakan bola, yaitu posisi vertikal bola, disebut y, bervariasi terhadap waktu t menurut

Waktu yang diperlukan bola dari mulai saat dilemparkan vertikal ke atas sampai ke ketinggian mula-mula dapat diperoleh dengan menyelesaikan persamaan (1.1) untuk y(t) = 0,

dilemparkan vertikal ke atas dengan kecepatan awal v0 dibatasi untuk t antara 0 sampai 2v0/g.

Program yang akan dibuat adalah menyelesaikan persamaan (1.1) untuk nilai-nilai v0, g dan t tertentu. Dengan memilih v0 5 m/s dan

tv g  , yang berarti kita hanya tertarik pada interval waktu 0 sampai 1 detik. Seandainya kita ingin menghitung ketinggian bola pada waktu t = 0,6 s, maka dari persamaan (1.1)

(9)

Gambar 1.1 Penyelesaian persamaan dengan Python secara interaktif

Satu baris perhitungan di atas dituliskan dengan command line Python, atau disebut terminal (Gambar 1.1). Simbol >>> adalah prompt interaktif Python, yang menunjukkan program interpreter Python sedang berjalan. Untuk keluar dari Python, ketikkan Ctrl+Z (tekan tombol Ctrl, jangan dilepas, kemudian tekan tombol Z), selanjutkan tekan tombol Enter.

Untuk menutup jendela command line digunakan instruksi : Exit()

pada prompt command line, kemudian tekan Enter.

Empat operator aritmatika standar dituliskan sebagai +,−,* dan /

dalam Python dan sebagian besar bahasa pemrograman lain, namun untuk pangkat, Python menggunakan dobel-*, seperti pada baris perintah di atas, 0,62 dituliskan sebagai 0.6**2.

1.2 Tentang program dan Pemrograman

Sebuah program komputer hanyalah suatu urutan instruksi kepada komputer yang dituliskan dalam bahasa komputer. Kebanyakan program komputer agak-agak mirip dengan bahasa Inggris, namun sangat lebih sederhana. Jumlah kata yang berkaitan dengan instruksi kepada komputer sangat terbatas jumlahnya, sehingga untuk melaksanakan satu operasi yang kompleks kita harus menggabungkan sejumlah besar jenis instruksi yang berbeda-beda. Teks program, yang berisi urutan instruksi-instruksi disimpan dalam satu atau lebih file. Komputer hanya dapat melakukan pekerjaan persis seperti apa yang diperintahkan kepadanya.

(10)

9

Kata “pemrograman” jelas berkaitan dengan penulisan program,

namun prosesnya tidak hanya sekedar menulis instruksi yang benar. Pertama, kita harus paham bagaimana sebuah masalah dapat diselesaikan dengan cara memberikan sejumlah urutan instruksi kepada komputer. Pada umumnya inilah hal yang paling sulit pada pemrograman. Kedua, kita harus menuliskan urutan instruksi-instruksi tersebut dalam bahasa komputer dengan benar dan menyimpannya dalam sebuah file (program). Ketiga, kita harus menjalankan program itu, mengecek kebenaran hasilnya, dan kadang masuk fase keempat yaitu menemukan kesalahan dalam program kemudian membetulkannya. Penguasaan proses-proses tersebut memerlukan banyak latihan, yang berarti membuat banyak program, dan berusaha untuk membuat program-program itu “jalan”.

1.3 Menyiapkan lokasi untuk penyimpanan program

Pengaturan lokasi penyimpanan program yang baik akan memudahkan akses kepada program itu. Oleh karena itu diperlukan satu lokasi (folder, atau direktori) yang disiapkan khusus. Pembuatan folder baru dalam sistem Windows biasanya dilakukan dengan klik kanan mouse, kemudian pilih New Folder. Pada latihan ini folder akan dibuat dengan command prompt.

(11)

Pada Gambar 1.2 ditampilkan urutan pembuatan direktori. Direktori yang dibuat diberi nama : modul. Kemudian diberi perintah : cd modul, yang maksudnya adalah untuk berpindah ke direktori modul (cd = change directory). Perintah dir (lalu Enter) adalah untuk menampilkan isi direktori yang aktif. Isi direktori modul masih kosong. Untuk pindah ke direktori di atasnya, ketikkan perintah : cd .. (cd diikuti dengan 2 titik) kemudian Enter.

1.4 Perangkat untuk menulis program

Karena program berisi teks, maka kita memerlukan bantuan program lain yang bisa untuk menuliskan teks itu dan menyimpannya ke dalam sebuah file teks. Kita mungkin sudah terbiasa dan memiliki pengalaman yang cukup dalam hal menuliskan teks dengan komputer, namun untuk menuliskan program kita memerlukan program khusus, yang disebut editor, yang menyimpan teks persis seperti apa yang kita tuliskan. Program pengolah kata yang banyak digunakan, misalnya Microsoft Word, ditujukan untuk menghasilkan hasil cetakan yang indah, bukanlah perangkat yang bagus untuk menuliskan program, meskipun bisa juga menyimpan file dalam format teks murni.

Emacs, Xemacs dan Vim adalah editor yang umum digunakan untuk menulis program pada sistem Linux atau Unix, termasuk komputer Mac. Dalam Windows disarankan menggunakan Notepad++, bisa juga Emacs atau Vim versi Windows. Semua program tersebut bukan merupakan bagian dari paket instalasi standar Windows. Editor khusus untuk program Python yang merupakan bagian dari software Python disebut Idle biasanya sudah ikut terinstall pada saat menginstall Python. Pada panduan ini, editor yang digunakan adalah Notepad++.

1.5 Menulis program dengan Notepad++ (Latihan 1)

Dengan mengerjakan latihan ini, Anda dianggap sudah menyelesaikan Latihan 0, yang berarti program Python dan Editplus++ sudah bisa dijalankan di komputer Anda. Jika belum, Anda harus kembali ke Latihan 0.

Ketikkan baris-baris perintah berikut pada Notepad++. Jangan copy paste.

v0 = 5.0 # kecepatan awal dalam m/s

g = 9.8 # percepatan gravitasi dalam m/s^2 t = 0.6 # waktu dalam s

print "Menghitung ketinggian bola yang dilempar vertikal ke atas" print "dengan kecepatan awal %r m/s," % (v0)

(12)

11 print "Ketinggiannya adalah : y = %r meter" % (v0*t-0.5*g*t**2)

Gambar 1.3 File lat1.py

Simpan program yang sudah diketik di atas dengan nama : lat1.py ke direktori yang sudah dibuat sebelumnya. Pada contoh sebelumnya, direktori tersebut adalah C:\Users\EkoS\modul. Di komputer Anda bisa berbeda.

1.6 Menjalankan program

Program yang sudah disimpan dijalankan melalui command prompt. Jalankan command prompt, pindah direktori ke direktori tempat program. Jalankan program itu dengan perintah

python namafile

Gambar 1.4 Tampilan jalannya program lat1.py

(13)

Tugas 1

Sampai di sini Anda dianggap sudah bisa menggunakan Notepad++ untuk menuliskan program Python. Jika belum, ulangi lagi latihan-latihan yang telah diberikan di depan.

Pada tugas ini Anda harus melakukan :

1. Ubah nilai-nilai awal dalam file lat1.py, simpan dengan nama yang lain, dan jalankan programnya.

2. Tambahkan perintah pada program yang sudah dibuat dengan meminta user (pengguna) untuk mengetikkan variabel-variabel yang digunakan dalam persamaan. Minta pengguna untuk memasukkan kecepatan awal, percepatan gravitasi, dan waktu kapan ketinggian bola akan dihitung. Simpan program Anda, dan kumpulkan kepada asisten.

Petunjuk :

Nilai variabel dimasukkan dengan perintah raw_input(). Contohnya untuk meminta pengguna memasukkan kecepatan awal :

print (“Ketikkan kecepatan awal bola dalam m/s : ”), v0 = float(raw_input())

(14)

13

BAB 2 Bekerja Dengan File

Dalam pembuatan visualisasi dan simulasi fisika diperlukan langkah-langkah penyimpanan data-data dan pengambilan kembali data-data itu untuk proses selanjutnya, misalnya ditampilkan dalam grafik. Sebagai contoh, visualisasi dari gerak bola yang dilempar vertikal ke atas pada bab sebelumnya memerlukan data-data waktu dan posisi ketinggian. Pasangan data t dan y dapat langsung digambarkan dalam grafik, namun akan lebih bermanfaat jika disimpan dalam file sehingga setiap saat bisa dibaca dan diolah lebih lanjut.

Pada Bab sebelumnya, bola yang dilempar ke atas dengan kecepatan awal 5 m/s di dalam gravitasi 9,8 m/s2, waktu yang diperlukan mulai dari dilempar sampai bola kembali ke tangan adalah sekitar 1 detik, jadi interval waktu yang digunakan hanya dari 0 sampai 1 detik, dengan dipilih interval waktunya adalah 0,05 detik.

Latihan 2. Menggunakan loop

Ketikkan program berikut dan simpan dengan nama lat2.py

t = 0 # waktu mula-mula dt = 0.05 # interval waktu v0 = 5.0 # kecepatan awal

g = 9.8 # percepatan gravitasi while t <= 1:

print "t = %.2f s, y = %.2f m" % (t, v0*t-0.5*g*t**2) t += dt

(15)

Hal baru yang diperkenalkan pada program di atas adalah penggunaan perintah loop while. Loop while menggunakan syarat/kondisi Boolean. Jika kondisi bernilai True, maka blok program terus dijalankan. Pada program di atas, loop tetap dijalankan selama nilai t lebih kecil atau sama dengan 1.

Jadi keluaran dari program di atas adalah pasangan nilai-nilai t dan y yang ditampilkan dalam 2 angka desimal. Perhatikan perintah %.2f.

Latihan 3. Menyimpan data-data ke dalam file teks

Selanjutnya ketikkan program berikut dan simpan dengan nama lat3.py.

t = 0 # waktu mula-mula dt = 0.05 # interval waktu v0 = 5.0 # kecepatan awal

g = 9.8 # percepatan gravitasi

filedata = open("data.txt", 'w')

while t < 1:

y = v0*t-0.5*g*t**2

print "t = %.2f s, y = %.2f m" % (t, y) data = str(t) + chr(9) + str(y) + "\n" filedata.write(data)

t += dt

filedata.close()

(16)

15 Isi dari file data.txt adalah :

Gambar 2.2 Isi file teks data.txt

Yaitu berupa file teks ASCII yang berisi data-data pasangan t dan y.

Latihan 4. Mengambil data dari file

Ketikkan program berikut dan simpan dengan nama lat4.py.

filedata = open("data.txt", 'r')

for baris in filedata:

datanya = baris.split() t = float(datanya[0]) y = float(datanya[1])

print "t = %.2f , y = %.2f " % (t,y)

filedata.close()

Perhatikan perbedaan kode ‘w’ dan ‘r’ pada program penyimpanan

data dan pada program pengambilan/pembacaan data. Pelajari juga apa arti perintah split().

(17)

Gambar 2.3 Tampilan hasil program lat4.py

Tugas 2

Pada tugas ini, Anda harus

1. Memodifikasi program lat3.py dan lat4.py dengan menambahkan perintah agar namafile diberikan oleh pengguna. Pengguna yang menentukan nama filenya, dengan memberikan perintah raw_input() seperti yang telah dilakukan pada Tugas 1.

2. Setelah berhasil memodifikasi lat3.py, gabungkan program modifikasi tersebut dengan program dari Tugas 1. Jadi pengguna diminta memasukkan nama file, kecepatan awal, dan percepatan gravitasi.

(18)

17

BAB 3 Fungsi

Sebuah fungsi, dalam bahasa pemrograman, adalah sekumpulan perintah yang mempunyai suatu tujuan tertentu, yaitu menghasilkan satu atau beberapa variabel, atau hanya melakukan suatu tugas tanpa menghasilkan variabel seperti menampilkan nilai atau menggambarkan grafik.

3.1 Fungsi dengan satu variabel

Contoh fungsi dengan satu variabel adalah konversi skala suhu dari Celcius ke Fahrenheit, yang persamaannya adalah

9

32 5

FC (3.1) Dalam Python fungsi di atas dituliskan :

def F(C):

return (9.0/5)*C + 32

Semua fungsi dalam Python dimulai dengan def, diikuti dengan nama fungsi, dan kemudian di dalam kurung adalah argumen/parameter fungsi. Jika argumen lebih dari satu, antar argumen dibatasi dengan tanda koma. Pada contoh di atas hanya ada satu argumen, yaitu C. Baris-baris perintah dalam fungsi harus ditulis menjorok (indented). Pada akhir fungsi dituliskan return dan varibel yang dihasilkan oleh fungsi itu.

Untuk menjalankan sebuah fungsi, kita harus memanggilnya. Karena fungsi menghasilkan (return) sebuah nilai, kita harus menyimpan nilai itu untuk penggunaan selanjutnya.

Latihan 5. List dan Fungsi

Dalam latihan ini akan dihitung konversi skala suhu dari Celcius ke Fahrenheit, mulai dari suhu 40C sampai 40C dengan interval 5. Ketikkan program berikut dan simpan dengan nama lat5.py.

suhuC = [-40,-35,-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30,35,40]

def CtoF(C):

return (9.0/5)*C + 32

for C in suhuC:

print "%r Celcius = %r Fahrenheit" % (C,CtoF(C))

(19)

Fungsi CtoF(C) menghasilkan nilai skala Fahrenheit dari skala Celcius. Hasil programnya ditampilkan berikut ini.

Gambar 3.1 Tampilan hasil program lat5.py

3.2 Variabel lokal dan variabel global

Pada fungsi F2(C), variabel nilai_F adalah variabel lokal, yang hanya dikenali di dalam lingkup fungsi itu.

>>> c1 = 37.5 >>> s2 = F2(c1) >>> nilai_F

Traceback (most recent call last):

File "<pyshell#19>", line 1, in <module> nilai_F

NameError: name 'nilai_F' is not defined >>>

Demikian juga variabel yang dijadikan argumen fungsi adalah variabel lokal. Sedangkan variabel global adalah variabel yang dapat diakses pada keseluruhan program.

>>> def F3(C):

nilai_F = (9.0/5)*C + 32

print 'Variabel di dalam F3 : C=%s nilai_F=%s r=%s' % (C, nilai_F, r)

(20)

19 '%.1f derajat Fahrenheit' % (C, nilai_F)

>>> C = 60 # membuat variabel global >>> r = 21 # variabel global

>>> s3 = F3(r)

Variabel di dalam F3 : C=21 nilai_F=69.8 r=21 >>> s3

'21.0 derajat Celcius sama dengan 69.8 derajat Fahrenheit' >>> C

60 >>> r 21 >>>

Pada contoh di atas, ada dua variabel C, yang satu lingkupnya global (C = 60) dan yang satunya lokal (C = 21).

Variabel r adalah variabel global yang dikenal di dalam fungsi F3, dan di luar fungsi.

3.3 Fungsi dengan beberapa variabel (argumen)

Contoh fungsi dengan 2 argumen adalah seperti tertulis pada waktu dan percepatan gravitasi. Dengan menganggap peristiwanya terjadi pada satu tempat yang nilai gravitasinya konstan, maka hanya ada dua variabel yang bisa mempengaruhi hasil, yaitu kecepatan awal dan waktu.

Tugas 3

Buatlah program untuk menghitung ketinggian maksimum yang dapat dicapai oleh bola yang dilemparkan vertikal ke atas dengan kecepatan tertentu, dan berapa waktu yang diperlukan untuk sampai ke ketinggian maksimum itu. Tinggi maksimum dan waktu dihitung dengan menggunakan fungsi dengan satu variabel, yaitu kecepatan awal. Jadi masukan programnya adalah kecepatan awal, sedangkan keluaran programnya adalah waktu dan ketinggian maksimum.

(21)

BAB 4 Menampilkan grafik

4.1 Grafik titik-titik data

Untuk dapat menggambarkan grafik, paket (atau modul) matplotlib harus sudah diinstall. Cara berikut ini bisa dilakukan untuk menguji apakah modul matplotlib sudah terinstall.

Gambar 4.1 Perintah untuk mengimport modul matplotlib

Jika hasil perintah seperti yang ditampilkan pada Gambar 4.1 berarti modul matplotlib sudah terinstall. Jika tampilan berbeda, maka modul itu harus diinstall terlebih dahulu.

Latihan 6. Cari dan install matplotlib

1. Gunakan google dan ketikkan kata kunci: matplotlib download. 2. Dari link-link yang diperoleh, carilah di mana bisa mengunduh

matplotlib.

3. Pilih yang sesuai dengan versi Python yang terinstall di dalam komputer Anda. Jika versi Python Anda adalah 2.7.x, maka pilih matplotlib-1.1.0.win32-py2.7.exe

4. Setelah berhasil diunduh, install modulnya.

5. Cek kembali dengan perintah seperti pada Gambar 4.1, sampai tidak muncul lagi kesalahan.

Latihan 6 ini penting agar dapat mengerjakan Latihan 7.

Latihan 7. Contoh menggambarkan grafik data

(22)

21 Gambar 4.2 Listing program lat7.py

Hasil jalannya program ditunjukkan pada gambar berikut.

(23)

4.2 Menyimpan hasil dalam file gambar

Grafik yang ditampilkan oleh matplotlib dapat disimpan ke dalam file gambar.

Latihan 8

Edit program lat7.py. Tambahkan satu baris perintah. (Lihat perbedaan antara program lat7.py dengan lat8.py).

dataX = [0.0, 1.2, 2.5, 3.2, 4.1, 5.5, 6.4] dataY = [0.2, 2.6, 3.9, 6.1, 7.8, 10.5, 12.8]

import matplotlib.pyplot as plt

plt.grid(True)

plt.title('Contoh menggambarkan grafik data') plt.xlabel('Data X')

plt.ylabel('Data Y')

plt.plot(dataX, dataY, 'ko') plt.savefig('grafik.png') plt.show()

(24)

23 Jika file grafik.png disisipkan ke dokumen ini, hasilnya adalah :

Gambar 4.5 Isi gambar dari file grafik.png

Tugas 4

1. Berikan komentar pada program lat7.py untuk menjelaskan fungsi/maksud dari setiap baris pada program itu. Ingat, memberikan komentar pada program adalah diawali dengan karakter pagar, #.

2. Carilah data-data eksperimen fisika, bisa berupa data Praktikum Fisika Dasar, atau yang lain, dan buatlah program untuk menggambarkannya dengan matplotlib. Ubah judul grafik dan label pada sumbu-X dan sumbu-Y sesuai dengan data yang Anda gambarkan.

(25)

BAB 5. NumPy : Numerical Python

NumPy adalah paket dasar yang dapat digunakan untuk komputasi sains (numerik) dengan Python. Untuk bisa menggunakan paket ini, modul NumPy harus sudah terinstall.

5.1 Aljabar vektor

Misalkan ada 3 buah vektor 3 dimensi :

ˆ

Kita dapat melakukan penjumlahan dan pengurangan vektor dengan NumPy.

Latihan 9. Penjumlahan dan pengurangan vektor

Ketikkan program berikut dan simpan dengan nama lat9.py.

import numpy as np

Cobalah lakukan penjumlahan dan pengurangan vektor di atas dengan cara manual, dan cek apakah cocok dengan yang dihasilkan oleh program.

Latihan 10. Perkalian dot antara 2 vektor

Perkalian dot, atau perkalian titik antara 2 vektor adalah perkalian vektor yang menghasilkan skalar. Jika ada dua vektor A dan B, maka

(26)

25 Ketikkan program berikut dan simpan dengan nama lat10.py.

import numpy as np

Hasil jalannya program ditampilkan di bawah ini.

Ujilah hasil program di atas dengan cara melakukan perkalian titik secara manual. Ubah-ubahlah komponen-komponen vektornya, dan lakukan perhitungan-perhitungan (perkalian titik) yang lain.

Carilah bagaimana melakukan perkalian silang antara 2 vektor dengan paket NumPy.

Contoh aljabar vektor yang dilakukan dengan NumPy di atas hanyalah sebagian kecil dari kemampuan Numerical Python. Di internet banyak terdapat contoh-contoh program Python yang menggunakan NumPy. Berikut ini adalah penggunaan NumPy yang penting dalam analisis grafik, yaitu regresi linear.

5.2 Regresi linear dengan NumPy

Latihan 11. Regresi linear

Ketikkan program berikut dan simpan dengan nama lat11.py

import numpy as np

import matplotlib.pyplot as plt

dataX = np.array([0.0, 1.2, 2.5, 3.2, 4.1, 5.5, 6.4]) dataY = np.array([0.2, 2.6, 3.9, 6.1, 7.8, 10.5, 12.8]) A = np.array([ dataX, np.ones(len(dataX))])

w = np.linalg.lstsq(A.T,dataY)[0]

garis_fit = w[0]*dataX+w[1]

plt.grid(True)

(27)

plt.ylabel('DataY')

plt.plot(dataX,garis_fit,'r-') plt.plot(dataX,dataY,'o')

plt.show()

Hasil programnya ditunjukkan pada gambar berikut.

Gambar 5.1 Hasil program lat11.py.

5.2 Parameter hasil regresi linear

Pada program lat11.py, w[0] dan w[1] adalah parameter fit linear, yang berturut-turut sama dengan A dan B pada persamaan linear :

(28)

27 Gambar 5.2 Python interaktif dalam menentukan parameter fit linear dengan NumPy

Pada Gambar 5.2 terlihat ada satu salah ketik yang langsung ditunjukkan oleh Python begitu tombol Enter ditekan. Jadi kesalahan dalam pemrograman tidak perlu ditakuti. Programmer yang baik juga melakukan kesalahan-kesalahan. Jangan sampai kesalahan pada program menyebabkan keputus-asaan.

Tugas 5

Buatlah program yang berfungsi untuk :

1. Membaca file data teks yang berisi pasangan data X dan Y.

2. Pecahkan (split) baris data menjadi nilai-nilai X dan Y yang dimasukkan ke dalam array NumPy.

3. Lakukan regresi linear pada pasangan data-data itu dengan NumPy.

4. Gambarkan titik-titik data dan garis hasil fit dengan matplotlib. 5. Simpan gambar dengan nama “fitlinear.png”

6. Kumpulkan program ke asisten.

(29)

BAB 6. Visualisasi dengan VPython

Bab ini adalah bab tambahan yang mungkin diperlukan dalam pembuatan Tugas Mandiri. VPython adalah paket (modul) yang digunakan untuk menampilkan visualisasi, khususnya fisika. Modul VPython dapat diperoleh di http://www.vpython.org.

Pilih yang sesuai dengan program Python yang sudah terinstall dalam komputer Anda.

Latihan 12. Bola yang terpantul

Program ini diperoleh dari situs VPython. Ketikkan program berikut dan simpan dengan nama lat12.py.

from visual import *

lantai = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)

bola = sphere (pos=(0,4,0), radius=1, color=color.red) bola.velocity = vector(0,-1,0)

dt = 0.01

while 1:

rate (100)

bola.pos = bola.pos + bola.velocity*dt if bola.y < bola.radius:

bola.velocity.y = abs(bola.velocity.y) else:

bola.velocity.y = bola.velocity.y - 9.8*dt

Hasil programnya adalah

(30)

29 Gambar 6.1 menampilkan visualisasi bola yang jatuh terpantul di atas lantai. Tampilan asli berlatarbelakang hitam, diganti warna menjadi putih untuk menghemat tinta jika file ini dicetak. Sudut pandang bisa diubah-ubah dengan klik-kanan mouse dan mouse digeser/diputar. Zoom atau unzoom dilakukan dengan mengklik kedua tombol mouse secara bersamaan, kemudian mouse digeser maju atau mundur.

Contoh-contoh visualisasi fisika yang dibuat dengan VPython dapat dilihat di : http://www.visualrelativity.com/vpython/.

Bahan bacaan

Briggs, A., 2012, Hello! Python, Manning Publications Co., Shelter Island, NY

Langtangen, Hans P., 2009, A Primer on Scientific Programming With Python, Springer-Verlag, Berlin.

Shaw, Z.A., 2011, Learn Python The Hard Way, 2nd ed., Zed A. Shaw, website http://learnpythonthehardway.org/

Gambar

Gambar 1.1 Penyelesaian persamaan dengan Python secara interaktif
Gambar 1.2 Pembuatan direktori modul untuk penyimpanan program
Gambar 1.4 Tampilan jalannya program lat1.py
Gambar 2.1 Tampilan isi direktori ../modul/
+7

Referensi

Dokumen terkait

Seperti halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup

Sama halnya dengan buku teks pegangan siswa pada matapelajaran lain, di dalam buku teks pegangan siswa matapelajaran Bahasa Indonesia berdasarkan Kurikulum 2013, terdiri

Sebagai contoh seperti dalam gambar tersebut, karena setelah diberi instruksi baris ke-3 WP3A memutar file is.wav atau dalam kondisi play maka ketika diberi instruksi baris ke-4

List adalah tipe data yang paling serbaguna yang tersedia dalam bahasa Python, yang dapat ditulis sebagai daftar nilai yang dipisahkan koma (item) antara tanda kurung siku. Hal

Router juga kadang digunakan untuk mengoneksikan dua buah jaringan yang menggunakan media yang berbeda (seperti halnya router wireless yang pada umumnya selain ia dapat

Seperti halnya pada bahasa pemrograman dinamis lainnya, python umumnya digunakan sebagai bahasa skrip meski pada praktiknya penggunaan bahasa ini lebih luas mencakup

UNTUK MEMILIH KATA DALAM BAHASA INDONESIA / INGGRIS YANG DIINGINKAN, DAN TEKAN UNTUK MENAMPILKAN TERJEMAHAN KATA DALAM BAHASA INDONESIA/ INGGRIS.. TEKAN DAN UNTUK

Dokumen berisi daftar isi sebuah buku teks Bahasa Inggris untuk kelas