Algoritma dan
Algoritma dan
Pemrograman
Pemrograman
Pendahuluan
Pendahuluan
Informatique Engineering
Informatique Engineering
Department Department AhmadTantangan
Tantangan
Dunia
Dunia
Informatika
Informatika
•
Faster (Pentium 2 vs 4)
– Better (console vs windows)
•
Smarter :
– individu (hanya punya 24 jam)
– vs team work (24 jam x 3))
à
Informatikawan
Informatikawan
Trouble maker vs problem solver
???
• 4 sks : 3 sks teori, 1 sks praktikum
• 3 teori : 2 sks teori, 1 sks workshop & kuis
• Makna 1 sks (3 x 50 menit) :
– 1 jam tatap muka
– 1 jam tugas terstruktur – 1 jam tugas mandiri
• 3 sks berarti : 6 jam berkaitan dengan dosen, 3 jam disiplin belajar sendiri
• 21 sks ?
– 21 x 3 = 63 jam efektif AKTIF
– 6 hari kerja à 10,5 jam/hari AKTIF (sanggupkah daku?)
Porsi
Porsi
Waktu
Waktu
Tatap
Tatap
-
-
Muka
Muka
• 30 menit di awal : konklusi materi “hari ini”
– Tugas
– Ringkasan
– Latihan (meliputi algoritma dan pemrograman)
• 90 menit materi inti – algoritma (dosen)
• 30 menit : workshop – programming (asisten kelas)
Manajemen
Manajemen
diri
diri
• Waktu (variabel) vs beban studi (fix)
• Individu vs team
• Brain vs otot (fisik)
• Kampus vs rumah (kos)
• Human vs computer
• Pribadi vs environment
• Gunakan à SWOT analysis : Strength
(kekuatan), Weakness (kelemahan), Opportunity (kesempatan), Treat (ancaman)
Start
Start
• Masuk ruang kelas dengan tertib : on-time
• Duduk terpisah putra-putri (kanan-kiri)
atau putra di depan, kursi paling belakang dikosongkan
• Membuka diktat sesuai materi yang akan dibicarakan
• Mempersiapkan daftar pertanyaan/ catatan pinggir pada diktat/ modul
Prasyarat
Prasyarat
• Pemrograman Bahasa C++
• minimal telah membuat 30 program mandiri (dikumpulkan minggu depan)
• Ketrampilan mengetik :
– Kecepatan : min 70 ketukan/ menit – Tidak melihat monitor (output)
• Produk :
– minimal membuat 70 program mandiri
Tipe Mata Kuliah
Tipe Mata Kuliah
• Hard Theory
• Hard Programming
• Hard Literature (buku, diktat, modul, web) :
– Kesulitan memperoleh buku atau mahal ???
à e-books
• Kebutuhan waktu :
– Minimal 1 jam baca teori
– minimal 2 jam programming • Target :
– Kuantitas : 100 algoritma (dan program)
– Kualitas : mampu menghasilkan program dengan algoritma yang kompleks (600 baris)
Keuntungan
Keuntungan
e
e
-
-
Books
Books
• ‘murah’
• Digital :
– Dapat dikopi (mudah dan cepat)
– Contoh program bisa ‘dicoba’ (copy – paste)
• Dari ‘tangan pertama’ à lompatan penguasaan sains dan teknologi
• Dukungan internet : searching à
diperlukan keuletan (‘kebandelan’) dan ketangguhan
Sarana Komunikasi
Sarana Komunikasi
• Milis : algoritma-uad@yahoo.com – konsultasi, – sharing informasi, – upload file, – pengumuman • Email : yywahyup@yahoo.comAcuan
Acuan
• Pujiyono, Wahyu, 2007, 2ndEd., Diktat :
Algoritma dan Pemrogaman Menggunakan C++, Universitas Ahmad Dahlan, Yogyakarta
• Pujiyono, Wahyu, 2005, Modul Praktikum :
Algoritma dan Pemrogaman, Universitas Ahmad Dahlan, Yogyakarta
• Stanley B. Lippman, 2002, Essential C++, Addison Wesley
• Rick Miller, 2003, C++ For Artists: The Art, Philosophy, and Science of Object-Oriented Programming, Pulp Free Press, Virginia
• + 2 buku lain (Rinaldi Munir, Anthony Pranata, dll)
Suplemen
Suplemen
(1)
(1)
• [S1] Herb Schildt, 1998, C++: Complete Reference (3rd Ed.), McGraw-Hill
• [S2] Paul Anderson, Gail Anderson, 2003, Navigating C++ and Object-Oriented Design, Prentice Hall
• [S3] Ivor Horton, 1998, C++ tutorial, Wrox Press
Suplemen
Suplemen
(2)
(2)
• [S4] Kyle Loudon, 1999, Mastering Algorithms with C, O'Reilly
• [S5] Steve Oualline, 2002, Practical C++ Programming, O'Reilly
Jadwal Sebelum Midterm
Jadwal Sebelum Midterm
Minggu Materi Tanggal Tugas/ Workshop
1 Dasar-dasar Algoritma 25 Feb - 1 Maret Membuat program dg class
Review : Class Ws : konversi algoritma - class
2 Sekuen 3 - 8 Maret WS : membuat beberapa
Review : Methods algoritma dan class
3 Kondisi 10 - 15 Maret Kuis, mengumpulkan judul TP Review : if, if-else, switch Tugas : beberapa algoritma 4 Perulangan 17 - 22 April Ws : kasus perulangan
Review : for, while, do while
5 Subprogram, rekursif 24- 29 April Tugas : rekursif dan iteratif Ws : rekursif
Jadwal
Jadwal
Sesudah
Sesudah
Midterm
Midterm
Minggu Materi Tanggal Tugas/ Workshop
9 Sorting (1) 21 - 26 April Tugas : imp. Class sorting Ws : simulasi sorting
10 Sorting (2) 28 Apr - 3 Mei Ws : simulasi sorting (2)
9 Pencarian 5 - 10 Mei Kuis
Tugas : mencari string 10 Record dan class 12 - 17 Mei Ws : simulasi link list
(kasus : link list) dengan array
11 Array 2 dimensi 19 - 24 Mei Tugas : rekursif dan iteratif Ws : matriks
12 Pointer, Review 26 - 31 Mei Pengumpulan Tugas Proyek (pengenalan struktur data)
Evaluasi
Evaluasi
(5 menit :
(5 menit : bayangkanbayangkan,, renungkanrenungkan,, rencanakanrencanakan))
• Kuiz (2x) : 5 %
• Tugas pribadi : 6 kali à 15% • Latihan tim (akhir pertemuan) : 10%
• Praktikum : 15 % (100% kehadiran)
• Syarat ujian akhir : 15% Proyek (bimbingan mulai minggu ke-2)
– tim, maksimal 3 mahasiswa
– C++ Project minimal 600 baris program (sistem informasi sederhana – kasus dari PKL/TA) atau
– Symbian (contoh dari SDK + dokumentasi program)
• Ujian Mid Semester : 15 % • Ujian Akhir Semester : 20 %
• Kehadiran kuliah : 5 % (min 10x hadir)
Asisten Kelas
Asisten Lab + praktikum
Tentang Latihan Tim
Tentang Latihan Tim
• Meliputi algoritma dan pemrograman (termasuk ringkasan)
• Kontribusi anggota : (dilaporkan dalam file terpisah oleh “ketua”) – Bila < 25% nilai 5% (maksimum)
– Minimal 30% untuk memperoleh 10% (usahakan kontribusi seimbang à tanggung jawab “ketua”)
• Minimal : 40 algoritma dan 40 program
• Diambil dari sekurang-kurangnya 3 buku di luar diktat
• Dikumpulkan di pertemuan terakhir kuliah (dalam bentuk CD) : setiap minggu dalam 1 file (word + program dibundel (zip))
• Struktur pembahasan (dokumentasi) sesuai diktat : – Soal / masalah
– Analisis – Algoritma
– Translasi ke program
Nilai
Nilai
Akhir
Akhir
• 0 nilai angka < 20 : E • 20 nilai angka < 40 : D • 40 nilai angka < 60 : C • 60 nilai angka < 80 : B • nilai angka 80 : A • Mahasiswa mengulang :
– Tetap ikut praktikum
Praktikum
Praktikum
• pre-test : kartu pass, bila tidak membawa dianggap inhal
• khusus mengerjakan tugas minggu sebelumnya, bukan contoh program yang ada di modul/
diktat/ buku
• penilaian : pre dan post-test, di tempat setelah praktikum selesai
• nilai : 40 – 100
– error : < 60
– jalan, tapi tidak sesuai spesifikasi : < 80 – jalan : > 80
Sanksi
Sanksi
Akademis
Akademis
• Mencontek, mengkopi pekerjaan teman, membajak diktat/modul praktikum : tidak lulus !!!
Strategi
Strategi
Belajar
Belajar
• baca bab sebelum dijelaskan di kelas
• Direkomendasikan punya kelompok belajar
• gabungkan materi teori dan materi praktikum
• tanyakan hal-hal yang belum jelas pada :
– Teman
– Kakak kelas/asisten
Shortcut to
Shortcut to
‘
‘
A
A
’
’
• Memperoleh nilai 100 saat midterm dengan waktu separo (pribadi)
• Membuat aplikasi Symbian (modifikasi) dengan nilai minimal 90 (tim)
• Latihan dan ringkasan terbaik untuk setiap kelas ( 1 tim ) à kriteria ditentukan oleh
asisten kelas (usahakan aktif kontak dengan asisten kelas)
Minggu
Minggu
Depan
Depan
Tugas Pribadi (bukan tim) :
• mengumpulkan minimal 30 program - print out (dari semester 1)
• menuliskan buku bacaan minimal 2 judul di luar diktat
• Mencoba program (minimal 5 baru à
ambil dari e-books)
• Membuat class dan implementasinya (dibawa dari rumah) à tim
Kuisoner
Kuisoner
1
1
• B atau S :
• Sampai dengan semester 2, > 90 %
Kuisoner
Kuisoner
2
2
• B atau S :
• Sampai dengan semester 2, > 70 % mahasiswa berpendapat :
“lebih baik menyontek/ mengkopi tugas/
ujian daripada membuat sendiri, toh nilai yang diperoleh tak berbeda jauh,
sementara waktu yang dimiliki rasanya kurang”
Kuisoner
Kuisoner
3
3
• B atau S :
• Sampai dengan semester 2, > 80 %
mahasiswa lebih menyukai dosen yang memberikan sedikit tugas
Kuisoner
Kuisoner
4
4
• B atau S :
• Sampai dengan semester 2, > 80 %
mahasiswa belum pernah belajar secara berkelompok
Kuisoner
Kuisoner
5
5
• B atau S :
• Sampai dengan semester 2, > 70 %
mahasiswa berpendapat : apabila dalam kelompoknya ada yang pintar, sebagian besar beban tugas dibebankan pada
Kuisoner
Kuisoner
6
6
• B atau S :
• Sampai dengan semester 2, > 80 % kecepatan mengetik mahasiswa < 60 ketukan per menit
Kuisoner
Kuisoner
7
7
• B atau S :
• Sampai dengan minggu ke-2, > 50 % belum memperoleh kelengkapan kuliah (diktat/modul praktikum/software/e-books)
Kuisoner
Kuisoner
8
8
• B atau S :
• Sampai dengan minggu ke-2, > 80 %
belum menggunakan jumlah jam belajar sesuai dengan sks yang diambil
Kuisoner
Kuisoner
9
9
• B atau S :
• Sampai dengan minggu ke-2, > 80 % belajar membuat program < dari 1