Anda di halaman 1dari 11

Slide-01 8/16/23, 10:12

Slide-01

Mengapa Belajar Pemrograman?


Dasar Informatika

Semester Gasal 2023/2024

Everybody in this country should learn how to program a computer...


because it teaches you how to think.
Steve Jobs, 1955-2011

Sasaran Kuliah
Setelah mengikuti kuliah ini, mahasiswa diharapkan mampu:

menjelaskan tujuan dan materi pembelajaran dari perkuliahan Dasar Informatika


menggunakan sarana pendukung kegiatan belajar dari perkuliahan ini
melakukan instalasi dan menjalankan perangkat lunak yang dibutuhkan
perkuliahan ini
membangun program komputer yang melakukan komputasi dengan rumus2
matematis
menguasai konsep2 ttg variabel, ekspresi, obyek dan penampilan teks & bilangan

Tujuan Pembelajaran
Mata kuliah Dasar Informatika (TKF211115, sem-I, 2 SKS) memiliki 3 tujuan:

1. Mahasiswa mampu menjelaskan teori dasar pemrograman komputer.


2. Mahasiswa mampu menyusun algoritma untuk menyelesaikan permasalahan.
3. Mahasiswa mampu mengimplementasikan suatu algoritma ke dalam suatu
program komputer.

Prasyarat: -

Materi Pembelajaran [1]


Utk mencapai tujuan pembelajaran, mahasiswa akan mempelajari dan menguasai
materi:

2
http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 1 of 11
Slide-01 8/16/23, 10:12

1. Pengantar bagian2 dan cara kerja komputer


2. Perintah, program dan pembuatan program
3. Tipe data dasar, konstanta dan variabel
4. Tipe data lanjutan: string, larik, vektor dan matriks
5. Aliran kendali program: sekuensial, percabangan dan perulangan

Materi Pembelajaran [2]


Utk mencapai tujuan pembelajaran, mahasiswa akan mempelajari dan menguasai
materi:

6. Pendefinisian dan pemanggilan subrutin (fungsi)


7. Pengenalan berbagai modul pustaka: numerik dan grafik
8. Penentuan letak sumber kesalahan program dan cara memperbaikinya
9. Pemrograman berorientasi obyek
10. Perumusan dan penyelesaian masalah sains dan rekayasa dengan menerapkan
pemrograman komputer

Sarana Pendukung [1]

Buku-ajar
Judul: A Primer on Scientific Programming with Python
Edisi: 5
Penulis: Hans Petter Langtangen
Penerbit: Springer-Verlag, 2016
Situs: www.springer.com/gp/book/9783662498866

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 2 of 11
Slide-01 8/16/23, 10:12

Sarana Pendukung [2]

Situs eLOK UGM


Course: Dasar Informatika
Situs: elok.ugm.ac.id
Kata-kunci: DasarInfor2023
Enrolment key: DI2023

Sarana Pendukung [3]

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 3 of 11
Slide-01 8/16/23, 10:12

Lingkungan pengembangan program atau Integrated Development Environment


(IDE):

1. IDE yg dipilih utk kuliah dan praktikum Dasar Informatika = JupyterLab


Desktop (JLD)

Program ini dpt di-instalasi pd komputer pribadi (PC) = desktop dan laptop
Sistem operasi yg dpt menjalankan JLD = Windows, MacOS, Linux, dan
lainnya
Instalasi dan pemakaian JLD = Slide-00 dari materi kuliah ini
2. IDE JupyterLab dan Python yg dapat bekerja pada:

browser (tanpa instalasi): JupyterLite dan Google Colaboratory


handphone dgn sistem operasi Android: Pydroid 3
handphone dgn sistem operasi iOS: Carnets

Pemrograman Perdana: Rumus Mekanika


Berdasarkan Hukum Newton II, jika dilontarkan dgn kecepatan awal v0 dan
percepatan gravitasi g, posisi suatu bola yang dilambungkan ke udara tergantung pd
saat t :

1 2
y(t) = v0 t − gt
2

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 4 of 11
Slide-01 8/16/23, 10:12

Perhatikan pd rumus gerakan tsb:

sumbu tegak sengaja dipilih shg y = 0 pd saat t = 0


waktu yg diperlukan utk suatu lontaran kembali ke posisi y = 0 adl
1 2 1 2 v0
v0 t − g t = t (v0 − g t) = 0 ⇒ t = 0 atau t =
2 2 g

rentang waktu yg mnjd perhatian dr rumus di atas: t ∈ [0, 2 v0 /g]

Apakah Program Itu?


Program adl sederetan perintah utk dilaksanakan komputer

yg ditulis dlm suatu bahasa pemrograman


yg mirip dgn Bahasa Inggris, tapi lebih sederhana & lebih kaku
Bahasa Pemrograman dlm kuliah ini adl Python

Program perdana (mirip kalkulator) akan menghitung rumus gerakan bola yang
dilambungkan dgn v0 = 5 m/s dan g = 9.81 m/s2 , yg berarti dlm rentang waktu
[0, ≈ 1] s. Pd saat t = 0.6 s:
1
y = 5 ⋅ 0.6 − ⋅ 9.81 ⋅ 0.62
2

In [1]: # ball1.py: Program sederhana untuk menentukan posisi bola yang dilambung-
# kan dengan v0 = 5 m/s, g = 9.81 m/s^2 dan pada saat t = 0.6 s
# sumber: A Primer on Scientific Programming with Python, hal. 2

print(5 * 0.6 - 0.5 * 9.81 * 0.6**2) # komentar tentang rumus lambungan bola

1.2342

Penyusunan Program
Ada empat langkah utk menyusun suatu program:

1. Pahami persoalan yg akan diselesaikan dgn pemrograman → sederetan perintah


utk menyelesaikannya (langkah tersulit)
2. Tuliskan sederetan perintah ini dgn memakai bahasa pemrograman & simpan di
dlm suatu berkas (langkah termudah)
3. Periksa kebenaran atau keabsahan hasil program → gunakan berbagai cara
alternatif
4. Jika terdapat kesalahan, lacak sumber dan perbaiki kesalahan tsb → debugging

Piranti Penulisan Program


http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 5 of 11
Slide-01 8/16/23, 10:12

Ada tiga jenis piranti utk menulis program:

Editor teks yg sederhana → Notepad


Lingkungan pengembangan terpadu (Integrated Development Environment =
IDE) → IDLE , Spyder , PyCharm
Notebook Python yg interaktif → JupyterLab Desktop

Program perdana dpt dipergunakan utk menghitung kondisi pelambungan bola yg


berbeda:

In [2]: # ball1a.py: Program sederhana untuk menentukan posisi bola yang dilambung-
# kan dengan v0 = 1 m/s, g = 9.81 m/s^2 dan pada saat t = 0.1 s
# sumber: A Primer on Scientific Programming with Python, hal. 4

print(1 * 0.1 - 0.5 * 9.81 * 0.1**2)

0.050949999999999995

Peringatan Penulisan Program


Teks program yg disusun utk dijalankan komputer ≠ teks yg dipahami manusia

Ktk manusia membaca teks, kesalahan penulisan di dlm teks tsb msh dpt
diterima → makna teks msh dpt dimengerti
Namun, teks = kode-sumber (source code) dr suatu program:

Programming demands significantly higher standard of accuracy.


Things don’t simply have to make sense to another human being, they
must make sense to a computer. Donald Knuth [11, p. 18], 1938-.

Komputer hanya melakukan secara tepat apa yg diperintahkan utk dilakukannya


Stp kesalahan, seberapa kecil pun, akan mempengaruhi jalannya pelaksanaan
program
Oleh krn itu, manusia = pemrogram yg harus cermat memperhatikan ketepatan
stp aksara dlm kode-sumber

In [3]: # ball1b.py: Program yang berdasarkan pada bola1.py namun mengandung dua
# kesalahan:'write' --> 'print' dan '^' --> '**'
# sumber: A Primer on Scientific Programming with Python, hal. 5

write(5 * 0.3 - 0.5 * 9.81 * 0.3^2)

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 6 of 11
Slide-01 8/16/23, 10:12

--------------------------------------------------------------------------
-
NameError Traceback (most recent call last
)
Cell In[3], line 5
1 # ball1b.py: Program yang berdasarkan pada bola1.py namun mengandu
ng dua
2 # kesalahan:'write' --> 'print' dan '^' --> '**'
3 # sumber: A Primer on Scientific Programming with Python, hal. 5
----> 5 write(5 * 0.3 - 0.5 * 9.81 * 0.3^2)

NameError: name 'write' is not defined

Penggunaan Variabel
Pd program pelambungan bola, ktk nilai y(t) ingin diperoleh utk berbagai nilai t
mk kode-sumber harus diubah di dua tempat
Utk membuat program mnjd efisien dipergunakan variabel yg mirip spt pd
matematika → suatu obyek yg nilainya dpt di-ubah2
Variabel didefinisikan dgn cara: namanya (spt v0 , g , t dan y ) disama-
dengankan
suatu nilai bilangan
suatu ekspresi yg dpt dievaluasi mnjd nilai tunggal

In [4]: # ball2.py: Program untuk menentukan posisi bola yang dilambungkan dengan
# menggunakan beberapa variabel dengan nama yang sesuai
# sumber: A Primer on Scientific Programming with Python, hal. 6

v0 = 1 # m/s
g = 9.81 # m/s^2
t = 0.8 # s
y = v0 * t - 0.5 * g * t**2 # m
print(y)

-2.339200000000001

Nama Variabel
Nama variabel disusun berdasarkan 3 aturan berikut:

1. Aksara2 penyusun = huruf, angka dan tanda-garis-bawah (underscore)


2. Aksara pertama ≠ angka
3. Nama variabel ≠ kata-cadangan (reserved words) dan nama2 pustaka dr bahasa
Python

Berikut adl 33 kata-cadangan Python:

(1) (2) (3) (4) (5)

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 7 of 11
Slide-01 8/16/23, 10:12

and as assert break class

continue def del elif else

except False finally for from

global if import in is

lambda None nonlocal not or

pass raise return True try

with while yield

In [5]: # ball2a.py: Program untuk menentukan posisi bola yang dilambungkan dengan
# menggunakan beberapa variabel dengan nama yang lengkap
# sumber: A Primer on Scientific Programming with Python, hal. 7
# Agus Arif, 01-09-2022

kecepatan_awal = 5 # m/s - snake notation


percepatan_gravitasi = 9.81 # m/s^2
WAKTU = 0.6 # s
posisiTegakBola = kecepatan_awal * WAKTU - 0.5 * percepatan_gravitasi \
* WAKTU**2 # camel notation
print(posisiTegakBola)

1.2342

Pencantuman Komentar
Komentar = teks dlm kode-sumber yg tidak akan dilaksanakan oleh komputer

penjelasan utk pemrogram & manusia lain yg membaca kode-sumber


komentar diawali dgn tanda-pagar atau tagar # (hash-tag) dan berakhir pd
ujung baris

In [6]: # ball2b.py: Program untuk menghitung ketinggian bola pada suatu saat
# ketika bergerak secara vertikal
# sumber: A Primer on Scientific Programming with Python, hal. 8

v0 = 5 # kecepatan awal (m/s)


g = 9.81 # percepatan gravitasi (m/s^2)
t = 0.6 # waktu (s)
y = v0 * t - 0.5 * g * t**2 # posisi vertikal (m)
print(y)

1.2342

Format Tampilan Output [1]


Output dr suatu program kerap mengandung teks & bilangan:

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 8 of 11
Slide-01 8/16/23, 10:12

Pada t = 0.6 s, y adalah 1.23 m

Format tampilan bilangan dpt dikendalikan

cacah tempat yang tersedia utk menampilkan bilangan


cacah angka di belakang titik desimal → ketepatan
gaya tampilan bilangan: 0.6 atau 6E-01 atau 6.0e-01
Potongan program utk menghasilkan tampilan di atas:

t = 0.6; y = 1.2342
print('Pada t = %g s, y adalah %.2f m' % (t, y))

Format ini memiliki beberapa slot yg terkait dgn daftar variabel:


%g ← t dan %.2f ← y

In [7]: # ball_print1.py: Program untuk menghitung ketinggian bola pada suatu


# saat ketika bergerak secara vertikal dengan tampilan
# output yang terformat
# sumber: A Primer on Scientific Programming with Python, hal. 9

v0 = 5
g = 9.81
t = 0.6
y = v0 * t - 0.5 * g * t**2
print('Pada t = %g detik dan laju awal = %4d m/s, ketinggian bola adalah %15.4E

Pada t = 0.6 detik dan laju awal = 5 m/s, ketinggian bola adalah 1
.2342E+00 m.

Format Tampilan Output [2]


Format tampilan ini = printf formatting

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 9 of 11
Slide-01 8/16/23, 10:12

In [8]: # printf_demo.py: Program untuk menayangkan beberapa contoh format


# yang dapat dipakai untuk menata penampilan output
# dari print()
# sumber: A Primer on Scientific Programming with Python, hal 10

i = 62
r = 189876345.789543217

# Penayangan bilangan sengaja memakai tanda-kutip "" sehingga dapat terlihat


# jelas lebar ruang (field) yang disediakan
print('"%d"' % i) # ruang dengan lebar tersempit
print('"%5d"' % i) # ruang dengan lebar 5 aksara (right-justified)
print('"%05d"' % i) # ruang kosong yang dipenuhi dengan nol
print()
print('"%g"' % r) # r adalah bilangan besar sehingga dipakai notasi ilmiah
print('"%G"' % r) # E tampil pada bagian eksponen
print('"%e"' % r) # notasi ilmiah yang ringkas
print('"%f"' % r) # notasi ilmiah yang ringkas
print()
print('"%20.2E"' % r) # 2 angka di belakang titik desimal, lebar ruang 20
print('"%30g"' % r) # lebar ruang 30 (rata-kanan)
print('"%-30g"' % r) # lebar ruang 30 (rata-kiri)
print('"%-30.1g"' % r) # 3 angka di belakang titik desimal, lebar ruang 30
# (rata-kiri)
print('%s' % i) # bilangan i dan r dapat diubah menjadi string
print('%s' % r) # secara otomatis

# Pemakaian %% untuk menampilkan tanda persentase


print('%g%% dari %.2f Euro adalah %.2f Euro' % (5.1, 346, 5.1/100*346))

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 10 of 11
Slide-01 8/16/23, 10:12

"62"
" 62"
"00062"

"1.89876e+08"
"1.89876E+08"
"1.898763e+08"
"189876345.789543"

" 1.90E+08"
" 1.89876e+08"
"1.89876e+08 "
"2e+08 "
62
189876345.7895432
5.1% dari 346.00 Euro adalah 17.65 Euro

http://localhost:8888/nbconvert/html/Academics/Dasar%20Informatika/Modul-01/Slide-01.ipynb?download=false Page 11 of 11

Anda mungkin juga menyukai