Algoritma dan Pemrograman Pendahuluan Informatique Engineering Department Ahmad Dahlan University
Tantangan Dunia Informatika • Faster (Pentium 2 vs 4) – Better (console vs windows) •Smarter : – individu (hanya punya 24 jam) – vs team work (24 jam x 3)) à lebih powerful
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 Waktu Tatap-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 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 • 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 • Kelas dimulai …
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 – Program yang telah dibuat didokumentasikan
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 e-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 • Milis :
[email protected] – konsultasi, – sharing informasi, – upload file, – pengumuman
• Email :
[email protected]
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 (1) • [S1] Herb Schildt, 1998, C++: Complete Reference (3rd Ed.), McGraw-Hill • [S2] Paul Anderson, Gail Anderson, 2003, Navigating C++ and ObjectOriented Design, Prentice Hall • [S3] Ivor Horton, 1998, C++ tutorial, Wrox Press
Suplemen (2) • [S4] Kyle Loudon, 1999, Mastering Algorithms with C, O'Reilly • [S5] Steve Oualline, 2002, Practical C++ Programming, O'Reilly
Jadwal Sebelum Midterm Minggu Materi 1 Dasar-dasar Algoritma Review : Class 2 Sekuen Review : Methods 3 Kondisi Review : if, if-else, switch 4 Perulangan Review : for, while, do while 5 Subprogram, rekursif 6
Array 1 dimensi
Tanggal Tugas/ Workshop 25 Feb - 1 Maret Membuat program dg class Ws : konversi algoritma - class 3 - 8 Maret WS : membuat beberapa algoritma dan class 10 - 15 Maret Kuis, mengumpulkan judul TP Tugas : beberapa algoritma 17 - 22 April Ws : kasus perulangan 24- 29 April
Tugas : rekursif dan iteratif Ws : rekursif 31 Maret - 5 April Kasus melibatkan array
Jadwal Sesudah Midterm Minggu Materi 9 Sorting (1)
Tanggal 21 - 26 April
10
Sorting (2)
28 Apr - 3 Mei
9
Pencarian
5 - 10 Mei
10
Record dan class (kasus : link list) Array 2 dimensi
12 - 17 Mei
Pointer, Review (pengenalan struktur data)
26 - 31 Mei
11 12
19 - 24 Mei
Tugas/ Workshop Tugas : imp. Class sorting Ws : simulasi sorting Ws : simulasi sorting (2) Kuis Tugas : mencari string Ws : simulasi link list dengan array Tugas : rekursif dan iteratif Ws : matriks Pengumpulan Tugas Proyek
Evaluasi • • • • •
(5 menit : bayangkan, renungkan, rencanakan) Kuiz (2x) :5% Asisten Tugas pribadi : 6 kali à 15% Kelas Latihan tim (akhir pertemuan) : 10% Praktikum : 15 % (100% kehadiran) Syarat ujian akhir : 15% Proyek (bimbingan mulai minggu ke-2) Asisten Lab + praktikum – 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 • Ujian Akhir Semester • Kehadiran kuliah
: 15 % Dosen : 20 % : 5 % (min 10x hadir)
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 – Uji coba program (input / output)
Nilai 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 – Semua tugas sama, tidak ada perkecualian
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 Akademis • Mencontek, mengkopi pekerjaan teman, membajak diktat/modul praktikum : tidak lulus !!!
Strategi 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 Dosen : langsung/ milis (tidak menerima email)
Shortcut to ‘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 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 Workshop : class dan perangkatnya
Kuisoner 1 • B atau S : • Sampai dengan semester 2, > 90 % mahasiswa belum memahami makna SKS
Kuisoner 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 3 • B atau S : • Sampai dengan semester 2, > 80 % mahasiswa lebih menyukai dosen yang memberikan sedikit tugas
Kuisoner 4 • B atau S : • Sampai dengan semester 2, > 80 % mahasiswa belum pernah belajar secara berkelompok
Kuisoner 5 • B atau S : • Sampai dengan semester 2, > 70 % mahasiswa berpendapat : apabila dalam kelompoknya ada yang pintar, sebagian besar beban tugas dibebankan pada teman yang pintar tadi
Kuisoner 6 • B atau S : • Sampai dengan semester 2, > 80 % kecepatan mengetik mahasiswa < 60 ketukan per menit
Kuisoner 7 • B atau S : • Sampai dengan minggu ke-2, > 50 % belum memperoleh kelengkapan kuliah (diktat/modul praktikum/software/e-books)
Kuisoner 8 • B atau S : • Sampai dengan minggu ke-2, > 80 % belum menggunakan jumlah jam belajar sesuai dengan sks yang diambil
Kuisoner 9 • B atau S : • Sampai dengan minggu ke-2, > 80 % belajar membuat program < dari 1 jam/perhari