Topic outline

  • Tentang Kuliah

    Setelah mengikuti kuliah ini, mahasiswa akan mengenal, memahami, dan dapat menggunakan dan menjustifikasi penggunaan berbagai jenis struktur data, teknik rekursif, algoritma pengurutan (sorting), dan menganalisa kompleksitas algoritma yang mereka gunakan.

    Materi, urutan penyajian, animasi, dan pertanyaan yang ada dalam halaman kuliah ini merupakan karya orang-orang yang namanya disebutkan di halaman pertama setiap materi, dan sengaja didistribusikan dengan lisensi Creative Common by-no-sa 4.0 International (https://creativecommons.org/licenses/by-nc-sa/4.0/), yang berarti bisa digunakan dan diubah sesuai dengan kebutuhan selama tidak untuk kepentingan komersial dan memberikan kredit pada pencipta. Karya ini dan ubahannya boleh didistribusikan ulang selama masih menggunakan lisensi yang sama. Gambar yang digunakan merupakan milik penciptanya masing-masing.

    • Diskusi Forum
      Restricted Not available unless: The activity Kontrak Kuliah is marked complete
    • Terminologi Glossary
      Restricted Not available unless: The activity Kontrak Kuliah is marked complete
  • Selamat Datang

    Saksikan pada instruktur kuliah Struktur Data dan Algoritma tahun akademik 2019/2020 berbicara tentang ekspektasi mereka untuk kuliah ini, dalam video pendek yang direkam di lab studio Universitas YARSI. 

    View Section Modules
    Modules:File: 1
  • Sumber Daya Belajar

    Manfaatkan tautan-tautan berikut untuk menunduh perangkat lunak yang dibutuhkan dalam kuliah ini, dan beberapa website belajar tambahan yang instrukstur rekomendasikan. Selamat belajar! 

    View Section Modules
    Modules:URLs: 5Files: 2
  • Topik 1: Review Java dan Perkenalan Analisis Algoritma

    Kali ini, Anda akan diajak untuk mengetahui aturan perkuliahan Struktur Data dan Algoritma (SDA), mengulang materi kuliah Dasar-Dasar Pemrograman (DDP) secara garis besar, dan kemudian melakukan analisis algoritma sederhana. Berbeda dari kuliah DDP, pada praktikum SDA, Anda akan banyak terbantu oleh kelas PraktikumHelper.

    Pastikan Anda mengumpulkan jawaban Praktikum dan mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap. Ingat, bahwa Anda tetap bisa mengakses materi kuliah walaupun tidak datang ke kelas; silahkan manfaatkan materi yang tersedia dengan sebaik-baiknya. Selamat belajar!

    View Section Modules
    Modules:Files: 6Assignments: 2Quiz: 1
  • Topik 2: Analisis Algoritma dan Perkenalan Rekursif

    Kali ini, Anda akan diajak untuk mengenal teknik menganalisis kompleksitas suatu algoritma berdasarkan waktu eksekusi dan big-Oh. Anda juga akan mempelajari pemanfaatan big-Oh dalam mendesain program. Pada saat praktikum, Anda akan diajak berkenalan dengan rekursif dengan pendekatan intuitif.

    Pastikan Anda mengumpulkan jawaban Praktikum dan mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap. Ingat, bahwa Anda tetap bisa mengakses materi kuliah walaupun tidak datang ke kelas; silahkan manfaatkan materi yang tersedia dengan sebaik-baiknya. Selamat belajar!

    View Section Modules
    Modules:Files: 10Assignments: 4
  • Topik 3: Rekursif

    Kali ini, Anda akan mengenal (saat teori) dan menggunakan (saat praktikum) teknik rekursif. Agar lebih lancar dalam menggunakan teknik rekursif, Anda butuh banyak berlatih. Jika Anda sudah berhasil menyelesaikan kegiatan Praktikum, jangan ragu untuk juga menyelesaikan Tantangan 2 dan mendapatkan tambahan poin sikap. 

    Pastikan Anda mengumpulkan jawaban Praktikum dan mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap. Ingat, bahwa Anda tetap bisa mengakses materi kuliah walaupun tidak datang ke kelas; silahkan manfaatkan materi yang tersedia dengan sebaik-baiknya. Selamat belajar!

    View Section Modules
    Modules:Files: 4Quiz: 1Assignment: 1
  • Topik 4: Backtracking dan Latihan Rekursif

    Kali ini, Anda akan diajak untuk berkenalan dengan sebuah teknik rekursif lanjut yang bernama backtracking. Untuk mempermudah kontekstualisasi konsep ini, permainan Maze (i.e., labirin) akan digunakan. Pada waktu pertemuan teori, Anda juga akan diajak berlatih membuat method rekursif. 

    Pastikan Anda mengumpulkan jawaban Praktikum dan mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap. Ingat, bahwa Anda tetap bisa mengakses materi kuliah walaupun tidak datang ke kelas; silahkan manfaatkan materi yang tersedia dengan sebaik-baiknya. Selamat belajar!

    View Section Modules
    Modules:Files: 6Quiz: 1Assignment: 1
  • Topik 5: Rekursif Lanjut

    Kali ini, Anda akan diajak berkenalan dengan dua teknik rekursif lanjut lainnya, yaitu divide and conquere dan dynamic programming; keduanya digunakan untuk meningkatkan efisiensi waktu eksekusi dan penggunaan memori. Waktu praktikum akan digunakan untuk mengerjakan Kuis Koding 1. 

    Pastikan Anda mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap. Ingat, bahwa Anda tetap bisa mengakses materi kuliah walaupun tidak datang ke kelas; silahkan manfaatkan materi yang tersedia dengan sebaik-baiknya. Selamat belajar!

    View Section Modules
    Modules:Files: 2Quiz: 1Choice: 1Assignment: 1
  • Topik 6: Algoritma Pengurutan - Sesi 1

    Kali ini, Anda akan diajak berkenalan dengan dua dari berbagai macam algoritma pengurutan, yaitu Bubble dan Quick Sort. Tautan ke berbagai algoritma pengurutan lainnya juga disediakan jika Anda ingin mendalami teknik pengurutan lainnya. 

    Pastikan Anda mengumpulkan jawaban Praktikum dan mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap. Ingat, bahwa Anda tetap bisa mengakses materi kuliah walaupun tidak datang ke kelas; silahkan manfaatkan materi yang tersedia dengan sebaik-baiknya. Selamat belajar!

    View Section Modules
    Modules:Files: 9Quizzes: 2Chat: 1URLs: 3
  • Topik 7: Algoritma Pengurutan - Sesi 2

    Berbeda dengan pertemuan tatap muka untuk kelas teori lainnya, materi pada minggu ini akan bergantung dari kesiapan mahasiswa dalam mempresentasikan materi algoritma pengurutan untuk Tugas 4. Setiap presenter akan mendapatkan tambahan poin sikap dalam jangkauan [1, 13] poin, tergantung dari kualitas presentasi dan materi yang diberikan. Pada saat Praktikum, Anda akan diminta untuk mengerjakan Kuis Koding 2. 

    Pastikan Anda mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap. Ingat, bahwa Anda tetap bisa mengakses materi kuliah walaupun tidak datang ke kelas; silahkan manfaatkan materi yang tersedia dengan sebaik-baiknya. Selamat belajar!

    View Section Modules
    Modules:Quiz: 1
  • Topik 8: Array vs ArrayList

    View Section Modules
    Modules:Files: 7URL: 1Assignment: 1
  • Minggu Ujian Tengah Semester

    Kuliah ini tidak ada Ujian Tengah Semester; manfaatkan waktu kosong ini untuk belajar menghadapi ujian mata kuliah lainnya.

  • Topik 9: LinkedList

    Kali ini, Anda diajak untuk mengenal struktur data LinkedList dan perbedaan backend struktur data ArrayList dan LinkedList. Pada saat praktikum, Anda akan diajak mengimplementasikan logika struktur data LinkedList.

    Pada pertemuan ini, Anda diminta untuk menonton video penjelasan materi kuliah dan kemudian menyelesaikan Latihan dan menjawab pertanyaan Praktikum. Latihan dan pengumpulan Praktikum akan digunakan sebagai bukti kehadiran Anda. Pada jam kuliah, Anda diminta bergabung secara daring menggunakan Discord. Anda bisa menggunakan tautan ini untuk bertanya seputar kuliah setelah jam pertemuan. Mahasiswa dari kelas lain juga izinkan bergabung, selama batas pengguna dalam satu server belum melewati batas. Harap menghubungi instruktur melalui fitur message di e-learning PJJ atau teman yang sudah masuk dalam discord, jika Anda mengalami kesulitan untuk bergabung. 

    Aplikasi ini dipilih, berdasarkan saran beberapa mahasiswa, lebih hemat bandwidth dibadingkan dengan aplikasi webmintar lainnya, seperti Zoom, Google Hangout, atau Webex. Jadi silahkan unduh aplikasi Discord di laptop, tablet, atau handphone, sesuai dengan aplikasi yang paling baik untuk mendukung belajar Anda. 

    Pastikan Anda mengumpulkan jawaban Praktikum dan mengisi Refleksi agar tidak dianggap mengabaikan kegiatan kuliah dan mendapatkan potongan lima poin sikap.Selamat belajar dan sampai bertemu di Discord!

    View Section Modules
    Modules:Files: 13Quizzes: 2URLs: 2Assignment: 1
  • Topik 10: Stack dan Queue

    Kali ini, Anda diajak untuk mengenal struktur data Stack dan Queue, khususnya terkait perbedaan prilaku keduanya. Sama seperti minggu sebelumnya, Anda harus membaca slide, menonton video penjabaran slide (jika diperlukan), dan menguji pengetahuan teori Anda dengan mengerjakan soal latihan. Pada saat praktikum, Anda diminta mengimplementasikan sebuah kalkulator dengan menggunakan struktur data Stack. Anda baru akan terhitung hadir jika berhasil mendapatkan 70 poin pada Latihan dan Praktikum; penilaian dilakukan secara otomatis. Mengabaikan Latihan dan Praktikum akan menyebabkan Anda kehilangan 5 poin sikap.

    Pengayaan akan dilakukan secara daring dengan memanfaatkan aplikasi Discord. Pertemuan ini akan diisi dengan review materi minggu sebelumnya (dalam bentuk pertanyaan), beberapa pengumuman, dan diskusi tentang materi minggu ini.

    Selamat belajar dan sampai bertemu di Discord!

    View Section Modules
    Modules:Files: 6Quizzes: 2URLs: 3
  • Topik 11: HashMap dan Iterator

    Kali ini, Anda diajak untuk mengenal struktur data HashMap dan Iterator. Sama seperti minggu sebelumnya, Anda harus membaca slide, menonton video penjabaran slide (jika diperlukan), dan menguji pengetahuan teori Anda dengan mengerjakan soal latihan. Pada saat praktikum, Anda diminta menghitung nilai final ujian dan menyimpannya dalam HashMap. Anda baru akan terhitung hadir jika berhasil mendapatkan 70 poin pada Latihan dan Praktikum; penilaian dilakukan secara otomatis. Mengabaikan Latihan dan Praktikum akan menyebabkan Anda kehilangan 5 poin sikap.

    Pengayaan akan dilakukan secara daring dengan memanfaatkan aplikasi Discord. Pertemuan ini akan diisi dengan review materi minggu sebelumnya (dalam bentuk pertanyaan), beberapa pengumuman, dan diskusi tentang materi minggu ini.

    Selamat belajar dan sampai bertemu di Discord!

    View Section Modules
    Modules:Files: 9Quizzes: 3URLs: 3
  • Topik 14: Persiapan Proyek

    Sesuai dengan kesepakatan pada pertemuan sinkronus minggu lalu, materi AVL pada minggu ini diganti dengan waktu persiapan Proyek. Jika Anda memiliki pertanyaan, silahkan layangkan melalui fitur message, forum, atau discord. 

    View Section Modules
    Modules:Files: 3Assignment: 1
  • Minggu Ujian Akhir Semester

    Kuliah ini tidak ada Ujian Akhir Semester; manfaatkan waktu kosong ini untuk belajar menghadapi ujian mata kuliah lainnya.

  • Proyek Akhir

    Sesuai dengan pengumuman dua minggu yang lalu, Kuis Koding 3 akan diubah menjadi Proyek. Bagian ini akan didedikasikan untuk mengumumkan berbagai detail terkait hal tersebut. 

    View Section Modules
    Modules:Forums: 2Assignments: 2