Algoritma dan Pemrograman Pendahuluan Informatique Engineering Department Dahlan University Ahmad Dahlan
Tantangan Dunia Informatika Faster (Pentium 2vs 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 : algoritma-uad@yahoo.com konsultasi, sharing informasi, upload file, pengumuman Email : yywahyup@yahoo.com
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 Object- Oriented 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 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 6 Array 1 dimensi 31 Maret - 5 April Kasus melibatkan array
Jadwal Sesudah 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 (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 : 15 % Ujian Akhir Semester : 20 % Dosen Kehadiran kuliah : 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