BUKU PANDUAN PRAKTIKUM KOMPUTER MULTIMED

BUKU PANDUAN PRAKTIKUM
KOMPUTER MULTIMEDIA

Eko Sulistya
Laboratorium Fisika Atom dan Inti

Jurusan Fisika Fakultas MIPA
Universitas Gadjah Mada
Yogyakarta
2012

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
Penulis

1

Daftar Isi

Kata Pengantar ........................................................................................ 1
Daftar Isi .................................................................................................. 2
Pendahuluan ............................................................................................ 4
Membaca dan Menulis ..........................................................................4
Perhatian Pada Detil ............................................................................5
Mengamati Perbedaan..........................................................................5
Jangan Copy-Paste ...............................................................................5
Perangkat lunak yang diperlukan .......................................................5
Latihan 0: Setup ....................................................................................... 6
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
Latihan 9. Penjumlahan dan pengurangan vektor............................24
2

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
Bahan bacaan ......................................................................................... 29

3


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
Mungkin terkesan mengada-ada, namun ini suatu kenyataan, bahwa
jika anda mengalami kesulitan dalam pengetikan dengan komputer,
maka anda akan mengalami kesulitan dalam mempelajari kode
program. Terutama jika anda kesulitan mengetikkan karakterkarakter aneh di dalam kode program. Tanpa memiliki kemampuan
dasar ini, yaitu mengetik dengan komputer, anda tidak akan bisa
mempelajari hal mendasar tentang bagaimana jalannya program
komputer. Mengetikkan contoh-contoh kode (skrip) dan bisa
membuatnya jalan (running) akan membantu anda mempelajari
simbol-simbol
atau

karakter-karakter
huruf,
terbiasa
mengetikkannya, dan bisa membaca bahasa pemrogramannya.
4

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 unsurunsur 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.
Latihan-latihan di dalam buku panduan ini dilakukan dalam sistem
operasi Windows.

Perangkat lunak :
1.
2.
3.
4.
5.
6.
7.

Python 2.7
Notepad++, atau gedit
NumPy
Matplotlib
VPython
Gnuplot
dan lain-lain

5

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.
Install semua perangkat lunak yang diperlukan seperti yang tertulis
di atas, minimal sampai pada nomer 5. Setelah Anda menguasai
Python dan ingin pemrograman yang lebih lanjut, install modul-modul
(paket-paket) yang lain.

6

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

persamaan

y(t )  vot 

1 2
gt
2

(1.1)

dengan v0 adalah kecepatan awal bola, g adalah percepatan gravitasi
dan t adalah waktu. Dari persamaan di atas menunjukkan bahwa
sumbu-y dipilih sedemikian sehingga y = 0 pada saat t = 0.
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,

v0t 

1 2

1 

gt  t  v0  gt   0
2
2 




t = 0 atau t 

2v0
g

Jadi bola kembali ke posisi awal setelah 2v0 g detik, dan dengan
demikian masuk akal bila membatasi persamaan (1.1) hanya untuk
t  0,2v0 g . Pemrograman untuk menghitung ketinggian bola yang
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
g  9,81 m/s2 , maka bola akan kembali ke ketinggian awal setelah
t  2v0 g  1 s , 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)

y  5  0,6 

1
 9,8  0,62
2

Penulisan aritmatika di atas dapat diselesaian dan hasilnya bisa
ditampilkan dengan satu baris program Python.

7

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.
Persepsi lain tentang “program” adalah sebuah file yang dapat
dijalankan dengan cara “dobel-klik” untuk melakukan sebuah
pekerjaan. Kadang file ini berupa file teks berisi instruksi (seperti
halnya pada Python), dan kadang file itu berupa terjemahan dari
keseluruhan teks program menjadi bahasa yang lebih dekat ke
komputer (bahasa mesin), yang lebih efisien, namun cukup sulit
dibaca oleh manusia.
8

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 instruksiinstruksi 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.

Gambar 1.2 Pembuatan direktori modul untuk penyimpanan program
9

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
print
print
print

"Menghitung ketinggian bola yang dilempar vertikal ke atas"
"dengan kecepatan awal %r m/s," % (v0)
"dan dalam percepatan gravitasi %r m/s^2," % (g)
"pada saat t = %r detik." % (t)

10

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
Pada Gambar 1.4 tanda-tanda panah menunjukkan perintah-perintah
yang dituliskan pada command prompt. Yang diberi kotak adalah hasil
program.
11

Tugas 1
Sampai di sini Anda dianggap sudah bisa menggunakan Notepad++
untuk menuliskan program Python. Jika belum, ulangi lagi latihanlatihan yang telah diberikan di depan.
Pada tugas ini Anda harus melakukan :
1.
2.

Ubah nilai-nilai awal dalam file lat1.py, simpan dengan nama
yang lain, dan jalankan programnya.
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())

Hasil program yang Anda buat harus seperti tampilan berikut :

12

BAB 2 Bekerja Dengan File
Dalam pembuatan visualisasi dan simulasi fisika diperlukan langkahlangkah 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 >> c1 = 37.5
>>> s2 = F2(c1)
>>> nilai_F
Traceback (most recent call last):
File "", line 1, in
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)
return '%.1f derajat Celcius sama dengan '\

18

'%.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
persamaan (1.1), yaitu

y(t )  v0t 

1 2
gt
2

Sebenarnya ada 3 variabel yang dapat diubah, yaitu kecepatan awal,
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.
Simpan program Anda dan kumpulkan kepada asisten.

19

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
Tampilan berikut ini adalah jendela Notepad++ yang berisi program
lat7.py. Ketikkan seperti pada gambar, jangan sampai ada kesalahan.
Pasangan data yang akan digambarkan adalah dataX dan dataY yang
masing-masing disikan dalam List. Isi dalam data-data tersebut bebas,
bisa diubah-ubah, tetapi harus berupa bilangan.
20

Gambar 4.2 Listing program lat7.py
Hasil jalannya program ditunjukkan pada gambar berikut.

Gambar 4.3 Tampilan matplotlib

21

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()

Jika program lat8.py dijalankan, tampilan pada layar komputer sama
seperti hasil dari program lat7.py. Namun program lat8.py
menghasilkan satu file gambar dengan nama : grafik.png. Lihat pada
direktori berikut.

Gambar 4.4. Isi file dalam direktori ../modul
22

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.
3. Kumpulkan program Anda, kode program (skrip program) dan hasil
gambarnya.

23

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 :

A  3iˆ  2jˆ  kˆ
B  5iˆ  kˆ

(5.1)

C  2iˆ  4jˆ  3kˆ
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
A = np.array([-3,2,-1])
B = np.array([5,0,1])
C = np.array([2,-4,3])
print "A + B = ", A + B
print "B - C = ", B - C
print "C - (A + B) = ", C - (A + B)

Hasil programnya adalah :

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

A  B  Ax Bx  Ay By  Az Bz

(5.2)
24

Ketikkan program berikut dan simpan dengan nama lat10.py.
import numpy as np
A = np.array([-3,2,-1])
B = np.array([5,0,1])
C = np.array([2,-4,3])
print "A dot B = ", np.dot(A,B)
print "B dot C = ", np.dot(B,C)
print "C dot (A + B) = ", np.dot(C,A + B)

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)
plt.title('Regresi linear pada data-data eksperimen')
plt.xlabel('DataX')

25

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 :

y  A  Bx

(5.3)

Berikut ini program interaktif untuk menampilkan parameter hasil fit
linear.

26

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.

27

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,
color=color.blue)
bola = sphere (pos=(0,4,0), radius=1, color=color.red)
bola.velocity = vector(0,-1,0)
dt = 0.01

width=4,

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

Gambar 6.1 Tampilan VPython untuk program lat12.py
28

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/
Sulistya, E., 2011, Pemrograman Python – Analisis Data Eksperimen
Fisika, Jurusan Fisika, FMIPA UGM, Yogyakarta.

29