MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
Menulis dan Membaca Berkas Teks Polos dengan Python
1. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
1
Menulis dan Membaca Berkas
Teks Polos dengan Python
Sparisoma Viridi1,a, Fahdzi Muttaqien1,2,b
1Prodi Fisika, FMIPA, Institut Teknologi Bandung, Bandung 40132, Indonesia
2Prodi Magister Sains Komputasi, FMIPA, Institut Teknologi Bandung, Bandung 40132, Indonesia
adudung@fi.itb.ac.id, bfahdzi@cphys.fi.itb.ac.id
Versi 20191026_7
2. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
2
Bahasan
• Pengalihan keluaran
• Pengalihan ke berkas teks berformat TSV
• Menulis ke berkas
• Membaca berkas
• Konversi pembacaan berkas ke data
• Proses saling menyambung
3. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
3
Pengalihan keluaran
(redirect)
4. Pengulasan kembali materi
• Perhatikan kode pada slide selanjutnya
• Ingat untuk selalu menuliskan judul program,
tujuan program, penulis program, cara menja-
lankan program, dan keterangan lainnya yang
diperlukan
• Untuk selanjutnya keterangan awal program
tidak akan ditampilkan untuk memberi lebih
banyak ruang pada kode yang disajikan
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
4
5. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
5
6. Pengulasan kembali (lanj.)
• Apakah hasil dari program pada slide sebe-
lumnya?
• Akan diperoleh hasil keluaran
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
6
7. Pengalihan keluaran (redirect)
• Dengan menggunakan karakter > , keluaran
program dapat dialihkan ke suatu berkas
• Akan terdapat berkas baru print.txt yang
berisikan keempat kalimat sebelumnya
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
7
url https://askubuntu.com/a/420983 [20191026].
8. Pengalihan .. (redirect) (lanj.)
• Tampilkan isi print.txt dengan cat (Linux)
atau type (Windows )
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
8
9. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
9
Pengalihan ke berkas
teks berformat TSV
10. Berkas TSV
• Suatu berkas berformat tab-separated values
(TSV) merupakan suatu berkas teks berformat
sederhana untuk menyimpan data berstruktur
tabular (berbentuk tabel)
• Satu baris merupakan satu record (diakhiri n)
• Dalam satu record terdapat beberapa field
yang dipisahkan oleh karakter tab (t)
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
10
url https://en.wikipedia.org/w/index.php?oldid=921195842 [20191026].
11. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
11
12. Berkas TSV (lanj.)
• Kode para program sebelumnya akan meng-
hasilkan
• Terdapat 4 baris keluaran: Kode baris 21
• Terdapat 3 kolom keluaran: Kode baris 26
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
12
13. Tugas 1
• Modifikasi kode sebelumnya sehingga dapat
dihasilkan keluaran seperti
2 4 6 8
10 12 14 16
18 20 22 24
• Tuliskan baris keberapa yang harus diubah dan
apa yang diubah, serta nilai barunya
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
13
14. Menggambar lingkaran
• Persamaan lingkaran diberikan oleh persama-
an parametric
dengan
• Pusat lingkaran adalah (xc, yc) dan radiusnya R
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
14
cosRxx c
sinRyy c
2,0
url https://en.wikipedia.org/w/index.php?oldid=922608591 [20191026].
15. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
15
16. Menggambar lingkaran (lanj.)
• Saat kode print-circ.py dijalankan
yang menghasilkan berkas data-circ.tsv
dengan format tab-separated values
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
16
17. • Bukalah berkas
data-circ.tsv dengan
aplikasi teks polos dan pilih
semua datanya (CTRL+A),
salin-tempel ke suatu
spreadsheet, serta gambar-
kan kurvanya
Menggambar lingkaran (lanj.)
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
17
18. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
18
19. Tugas 2
• Modifikasi kode sebe-
lumnya sehingga da-
pat diperoleh gambar
di samping kanan ini
• Tuliskan baris kebera-
pa yang harus diubah
dan apa yang diubah,
serta nilai barunya
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
19
20. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
20
Menulis ke berkas
21. Menulis kalimat ke berkas
• Melihat program .py yang ada, melihat ber-
kas .txt yang ada dan jalankan write.py
dan lihat hasilnya kemudian
Telah terdapat berkas baru hello.txt
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
21
22. Menulis kalimat ke berkas (lanj.)
• Melihat isi berkasnya
• Kode untuk menghasilkan berkas hello.txt
tersebut diberikan pada slide selanjutnya
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
22
url https://www.w3schools.com/pytho/python_file_write.asp [20191026].
23. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
23
24. Tugas 3
• Modifikasi kode pada slide sebelumnya se-
hingga dapat dihasilkan berkas pantun.txt
yang berisikan pantun satu bait
Buatlah pantun Python ini
Dalam kuliah Pengenalan komputasi
Persiapan diri sejak ini
Untuk hadapi era disrupsi
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
24
25. Menulis data ke berkas
• Dengan menggunakan program sebelumnya
yang menghasilkan koordinat (x, y) dari suatu
lingkaran dengan menggunakan persamaan
parametrik, dapat dibuat kode seperti pada
slide selanjutnya ini
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
25
26. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
26
27. Menulis data ke berkas (lanj.)
• Periksa berkas .tsv yang ada, jalankan
write-circ.py, dan periksa keberadaan
berkas hasilnya data-write-circ.tsv
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
27
28. Tugas 4
• Jelaskan apa fungsi dari karakter ; pada baris
23 dan 26 dalam kode sebelumnya
• Mengapa pada akhirnya kedua baris tersebut
tidak perlu karakter ;?
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
28
29. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
29
Membaca berkas
30. Membaca berkas
• Pada kode sebelum Tugas 3 telah dibuat
berkas bernama hello.txt
• Berkas ini akan digunakan dalam kode pada
slide selanjutnya
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
30
url https://stackoverflow.com/a/55099837 [20191026].
31. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
31
32. Membaca berkas (lanj.)
• Kode pada slide sebelumnya bila dijalankan
akan menghasilkan
• Kalimat “Hello, world!” dibaca dari berkas
hello.txt
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
32
33. Tugas 5
• Modifikasi kode sebelumnya sehingga dapat
membaca berkas pantun.txt yang berasal
dari Tugas 3
• Dapatkan hasil seperti berikut ini
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
33
34. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
34
Konversi pembacaan
berkas ke data
35. Konversi string ke data
• Pada kode sebelumnya
variabel s berisikan string
• Dapat dilakukan konversi variabel s ke format
data yang diinginkan
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
35
36. Pemisahan string dalam baris-baris
• Terdapat perintah
.splitlines()
dan
.split()
• yang dapat diterapkan pada suatu string
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
36
url https://stackoverflow.com/a/172454 [20191026].
37. Membaca data numerik dari berkas
• Baca berkas teks polos sebagai string
• Pisahkan string sebagai baris-baris string (satu
record) dengan .splitlines()
• Pisahkan setiap kata (field) dalam satu baris
(record) dengan .split()
• Konversi setiap field yang masih berupa string
menjadi bilangan dengan float()
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
37
38. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
38
39. Membaca data numerik .. (lanj.)
• Setelah dijalankan, kode pada slide sebelum-
nya akan memberikan
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
39
40. Tugas 6
• Jelaskan hasil yang diperoleh oleh kode pada
dua slide sebelumnya
• Kaitkan hasil ini dengan kode pada Tugas 4
• Mengapa dapat dihitung nilai xc dan yc suatu
lingkaran?
• Apakah batasan cara ini dalam menghitung
kedua parameter tersebut? Jelaskan
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
40
41. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
41
Proses saling
menyambung
42. Setiap kode satu proses
• Kode write-circ.py pada Tugas 4 diguna-
kan untuk menghasilkan data-write-
circ.tsv
• Kode read-num.py pada Tugas 6 digunakan
untuk membaca berkas data-write-
circ.tsv dan menghitung nilai xavg dan yavg
• Dapat dilihat bahwa keluaran dari write-
circ.py merupakan masukan dari read-
num.py
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
42
43. Setiap kode satu proses (lanj.)
• Dengan demikian untuk suatu program besar
yang rumit dan membutuhkan berbagai
perhitungan pada setiap tahapannya, dapat
dibuat kode-kode kecil yang menyelesaikan
satu proses dan hasilnya disampaikan ke kode
lain yang melanjutkan proses perhitungannya
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
43
44. Tugas 7
• Tanpa perlu menuliskan kodenya, rancanglah
suatu program yang cukup kompleks sehingga
diperlukan setidaknya tiga kode kecil, di mana
prose interaksinya adalah
Kode 1 Kode 2 Kode 3 ..
• Gunakan pengetahuan yang telah dimiliki
seperti mencari akar, integrasi numerik,
mengurutkan larik, dan sebagainya
30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
44
45. 30 Oktober 2019
Bandung, Indonesia
KU1102 Pengenalan Komputasi
Tahun 2019, Semester 1, Kelas 05
45
Terima kasih