pertemuan 1 mata kuliah algoritma & pemrograman · mata kuliah algoritma & pemrograman...
TRANSCRIPT
Pertemuan 1 Mata Kuliah Algoritma & Pemrograman
Program Studi Desain Teknologi Permainan Sekolah Tinggi Multi Media Yogyakarta
Tri Anggraeni, S.Kom., M.Sc.
1
(Eni) Tri Anggraeni, S.Kom., M.Sc. S1 Sistem Informasi ITS S2 Information Technology & Telecommunication Program - KAIST
2005 : System Analyst & Developer Project Management System PT. ALSTOM Power Energy System Indonesia 2006 - 2007 : System Analyst & Developer SISDMKES 2008 : Laboratorium Oracle Universitas Islam Indonesia 2009 : Staf Subbagian Program STMM 2010 – 2011, 2014 : Staf TIK STMM & Dosen 2015 : Dosen, Sekretaris Pusat Penjaminan Mutu 2016-sekarang : Dosen, Kapus Penelitian & PkM
Ruang : Gedung Kantor Lantai 2, selatan Ruang Dosen Game. 2
Nilai akhir = Rt2 keaktifn di kelas + Rt2 N.PR/tugas + N.UTS + N.UAS 4
Persentase penilaian
Nilai Huruf Nilai Angka Bobot Nilai Predikat A 80 – 100 4 Sangat baik B 66 – 79 3 Baik C 56 – 65 2 Cukup D 40 – 55 1 Kurang E 0 – 39 0 Sangat kurang
Nilai A : minimal 80 : Rata-rata keaktifan di kelas, rata-rata nilai PR/tugas, nilai
UTS, nilai UAS minimal 80 / benar 80%.
3
• Keaktifan di kelas : – Aktif mencoba – Yang dicoba benar
• Paling tidak suka : – Mahasiswa pasif Tidak bisa, tidak memperhatikan, tidak telaten
mencoba.
• Maksimal ketidakhadiran : Sama seperti di buku panduan akademik : 25% 3,5 pertemuan ~ 3 pertemuan.
• Jika tidak bisa masuk kuliah : minta izin via WA/SMS. • Tapi tetap tidak boleh lebih dari 3x. • Terlambat lebih dari 30 menit tidak apa2. Tetap masuk
kelas/lab saja. 4
Materi Sebelum UTS : 1. Perkenalan, kontrak
perkuliahan, pengenalan algoritma, logika berurutan
2. Pseudocode, logika berurutan, logika selection
3. Logika looping 4. Variabel, operator, values 5. while, do while, for 6. nested if, bool, char,
sentinel-controlled repetition
7. float, for 2
Setelah UTS : 1. pow, sqrt, break, continue 2. Logical operator and or 3. Array 4. String 5. Class 6. Class 7. Class
5
Selain saya share lewat ketua angkatan/perwakilan mahasiswa, materi biasanya saya share di sharedthings.wordpress.com.
Referensi
6
Akan saya share / ada di Google Book/ gen.lib.rus.ec:
1. Baviskar, D. P. (2009). Fundamentals of Programming. 2. Deitel, P. & Deitel. H. (2014). C++ How to Program 9th Edition. 3. Chamillard, A. T. (2016). Beginning C# Programming with
Unity MonoDevelop Edition.
Belajar buku lain / tutorial di internet ok
Tersedia di perpus (siper.mmtc.ac.id): 1
Perubahan jadwal kelas
• Semula: Jumat, 08.00 - 09.40 (100 menit). • Menjadi: Jumat, 08.30 – 10.10 (100 menit).
• Lokasi: tetap.
• Ada yang keberatan?
7
Algoritma • Prosedur / formula untuk menyelesaikan masalah. • Kumpulan aturan yang tidak boleh ambigu & punya titik henti
yang jelas. • Elemen dasar logika dan pemikiran manusia.
• Algoritma mahasiswa yang akan pergi ke kampus :
Bangun tidur mandi ganti baju sarapan jalan/naik kendaraan untuk pergi ke kampus.
• Semua aktivitas sehari-hari merupakan algoritma. • Komputer : terdiri dari banyak algoritma.
8
Video
Cara menunjukkan algoritma
1. Flowchart
2. Pseudocodes
3. Program
9
1. FLOWCHART Gambaran graphical algoritma.
Gambaran rangkaian aktivitas pada sistem (proses,
operasional, atau fungsi) yang menggunakan simbol-simbol yang dihubung-hubungkan untuk menunjukkan aliran dan pemrosesan informasi.
Menggunakan bentuk yang berbeda-beda & memiliki arti standar untuk menunjukkan jenis-jenis instruksi yang berbeda-beda. Memudahkan komunikasi logika program.
(Logika : jalan pikiran yang masuk akal) Setiap orang dapat mudah menerjemahkan logika
jika menggunakan bentuk dasar yang sama. 10
Keuntungan menggunakan flowchart 1. Lebih mudah dikomunikasikan 2. Proper program documentation : dapat digunakan untuk
mengumpulkan, mengatur, menyimpan, dan mempertahankan riwayat historis lengkap program.
3. Efficient coding : dapat memudahkan pembuatan program karena flowchart dapat menjadi road map.
4. Systematic debugging : Dapat memudahkan pendeteksian, perbaikan, & penghapusan kesalahan (bugs) pada program secara sistematis.
5. Systematic testing : Memudahkan perancangan data uji coba yang sistematis. 11
Simbol flowchart Terminator (Harus mengawali & mengakhiri flowchart)
Preparasi/deklarasi semua variabel input & output
Deklarasi input saja / output saja
Proses Decision
Garis indikator aliran arah (harus ada anak panahnya)
Konektor jika 1 flowchart harus dilanjutkan pada halaman yang berbeda 12
Simbol flowchart : (Write to remember)
Silakan mengingat2 ini bagi yang sudah selesai. 13
Tes Terminator (Harus mengawali & mengakhiri flowchart) :
Preparasi/deklarasi semua variabel input & output :
Deklarasi input / display output :
Proses : Decision :
Garis indikator aliran arah :
Konektor jika 1 flowchart harus dilanjutkan pada halaman yang berbeda :
Lagi? 14
Struktur logika dasar
1.Sequence logic (logika berurutan) 2.Selection/decision logic (logika pilihan) 3.Looping logic (logika perulangan)
15
Sequence logic (logika berurutan)
• Berurutan. • Tidak ada percabangan,
tidak ada seleksi/pilihan, tidak ada looping/perulangan.
16 Selesai
Output
Mulai
Preparasi
Deklarasi Input
Proses 2
Proses 1
Proses n
Garis aliran arah (harus ada anak panahnya)
Write to remember
Contoh Sequence Logic (Logika Berurutan)
17 Selesai
Sampai di kampus
Mulai
Alarm, sarana mandi & menuju ke kampus, Sampai di kampus
Alarm, sarana mandi & menuju ke kampus
Mandi
Bangun tidur
Jalan/naik kendaraan menuju ke kampus
Algoritma mahasiswa pergi ke kampus :
Deklarasi semua input & output :
Inisialisasi input :
Proses :
Inisialisasi output :
Titik selesai : Write to remember
Variabel • Program komputer (termasuk game) : all about storing,
processing, and displaying information.
• Informasi disimpan di memori komputer/gadget dengan bantuan variabel.
• Variabel : lokasi di memori tempat menyimpan suatu nilai yang digunakan dalam program.
18
Contoh algoritma mahasiswa pergi ke kampus yang diberi variabel :
19
Selesai
sampai_kampus = 8.00
Mulai
jam_alarm, jam_bangun, sarana_mandi, sarana_menuju_kampus,
jam_sampai_kampus
jam_alarm, jam_bangun, sarana_mandi, mandi, sarana_menuju_kampus,
jam_alarm = 4.30
menuju ke kampus sarana_mandi = air, sabun, sikat & pasta gigi
jam_bangun = 4.30
mandi = ……… [proses mandi] sarana_menuju_kampus = “” (jalan_kaki)
Apa bedanya dengan yang sebelumnya?
Bedanya dengan yang sebelumnya :
20
Selesai
sampai_kampus = 8.00
Mulai
jam_alarm, jam_bangun, sarana_mandi, sarana_menuju_kampus,
jam_sampai_kampus
jam_alarm, jam_bangun, sarana_mandi, sarana_menuju_kampus,
jam_alarm = 4.30
menuju ke kampus sarana_mandi = air, sabun, sikat & pasta gigi
jam_bangun = 4.30
[proses mandi ……….] sarana_menuju_kampus = “” (jalan_kaki)
Variabel
Contoh 2 : Flowchart untuk menampilkan hasil penjumlahan 2 bilangan
Simbol yang selalu mengawali flowchart :
hasil = bil1 + bil2
Masukkan bil1, Masukkan bil2
Mulai
bil1, bil2, hasil
Deklarasi semua variabel input & output :
Inisialisasi input:
Output didapat dari : (Proses)
Menampilkan output : hasil
Simbol yang mengakhiri flowchart :
Selesai
Tips: Mulai dari hasil
• bil1, bil2, hasil : nama variabel
• Nama variabel harus representatif.
Jangan lupa harus ada anak panahnya. Bukan garis biasa.
21
Contoh 3 :
• Simbol yang mengawali flowchart :
luas = sisi x sisi
Masukkan sisi
Mulai
sisi, luas • Deklarasi semua variabel input & output :
• Inputan perlu di-inisialisasikan :
• Output didapat dari : (Proses)
• Menampilkan output : luas
• Simbol yang mengakhiri flowchart : Selesai
Flowchart untuk menampilkan hasil perhitungan luas bidang bujur sangkar
Mulai dari hasil
22
panjang, lebar,
keliling
Preparasi & inisialisasi. Harus pakai?? Boleh pilih salah satu. Contoh : Flowchart untuk menampilkan keliling persegi panjang
Dalam pemrograman : Alternatif 1 : int panjang; Setiap variabel HARUS int lebar; dideklarasikan sebelum digunakan int keliling; ( preparasi) Tipe data integer (untuk menyimpan bil bulat)
Masukkan panjang = 5; Masukkan lebar = 9; inisialisasi keliling = 2 x panjang + 2 x lebar; proses tampilkan keliling; output
Jika tidak pakai preparasi & inisialiasasi : error.
keliling
Selesai
Mulai
keliling = 2 x panjang + 2 x
lebar
Masukkan panjang Masukkan lebar
Alternatif 2 preparasi & inisialiasasi : Program alternatif 2:
int panjang, lebar, keliling; Masukkan panjang = 5; Masukkan lebar = 9; inisialisasi keliling = 2 x panjang + 2 x lebar; proses tampilkan keliling; output Jika tidak pakai preparasi & inisialiasasi : error.
24
panjang, lebar,
keliling
keliling = 2xpanjang +
2xlebar
keliling
Selesai
Mulai
Masukkan panjang Masukkan lebar
Alternatif 3 preparasi & inisialiasasi : Program alternatif 3 :
int panjang = 5; preparasi & inisiali- int lebar = 9; sasi dalam 1 baris keliling = 2 panjang + 2 lebar; proses view keliling; output Jika tidak pakai preparasi & inisialiasasi : error.
25
panjang, lebar,
keliling
keliling = 2xpanjang +
2xlebar
keliling
Selesai
Mulai
panjang = 5; lebar = 9;
Cara menunjukkan algoritma
1. Flowchart
2. Pseudocodes 3. Program
26
• Penjumlahan 2 bilangan: bil1 & bil2 • Hasilnya disimpan di: hasil
• Pseudocode:
– Masukkan bil1 – Masukkan bil2 – hasil = bil1 + bil2 – Tampilkan hasil
Contoh: Pseudocode untuk menampilkan hasil penjumlahan 2 bilangan
27
• Luas bujur sangkar : panjang x lebar • Hasilnya disimpan di: hasil
• Pseudocode:
– Masukkan panjang – Masukkan lebar – hasil = panjang x lebar – Tampilkan hasil
Contoh 2: Pseudocode untuk menampilkan hasil perhitungan luas bidang bujur sangkar
28
Latihan
1. Tulis di kertas/buku catatan khusus : slide 20 – 23. 2. Buat 1 flowchart sederhana tentang salah satu
aktivitas Anda sehari-hari. Sembarang. Contoh : membersihkan sepatu, mengisi bensin, dll seperti di slide 18.
3. Buat flowchart & pseudocode untuk menampilkan hasil perhitungan keliling lingkaran.
Dikumpulkan Senin, 9 Maret 2020 maksimal jm 16.00 WIB di atas meja saya (boleh nitip teman).
29