Tugas: Implementasi Priority Queue/Stack
Tugas Mata Kuliah Struktur Data.
Bentuk Tugas
Membangun Algoritma dan Mengimplementasikan Priority Queue/Stack dalam Bahasa C++.
Sub Capaian Pembelajaran
Mahasiswa mampu membangun algoritma untuk primitif struktur data Priority Queue/Stack dan mengimplementasikannya dalam Bahasa Pemrograman C++ (CLO 2).
Deskripsi Tugas
Priority Queue/Stack merupakan struktur data Queue atau Stack dimana isi datanya terurut berdasarkan prioritasnya. Data dengan prioritas tertinggi akan dilayani terlebih dahulu dibandingkan dengan data dengan prioritas yang lebih rendah. Implementasikan primitif-primitif dalam Priority Queue/Stack tersebut dalam Bahasa C++. Prosedur yang perlu dibangun yaitu:
- Insert 1 data, dimana isi data tetap terurut berdasarkan prioritasnya.
- Delete 1 data.
- View isi stack/queue.
Jenis struktur data yang digunakan yaitu:
- Stack, dengan representasi kontigu.
- Queue alternative I, dengan representasi kontigu.
- Queue alternative II, dengan representasi kontigu.
- Queue alternative III, dengan representasi kontigu.
Metode Pengerjaan Tugas
Yang harus dikerjakan dan batasan-batasan:
- Membuat kelompok yang terdiri dari maksimal 2 mahasiswa.
- Jenis struktur data yang digunakan oleh setiap kelompok ditentukan oleh dosen yang bersangkutan.
- Membangun dan mengimplementasikan primitif-primitif dalam deskripsi tugas dalam bahasa C++.
- Pranala GitHub Classroom untuk menerima tugas akan diberikan oleh dosen yang bersangkutan.
- Setelah mahasiswa menerima tugas dan membuat/memilih kelompok, GitHub Classroom akan menyiapkan Git repository tugas untuk kelompok tersebut.
- Lakukan clone terhadap Git repository tersebut untuk mulai mengerjakan tugas di komputer Anda.
- Lakukan sync/pull secara berkala untuk memastikan working directory Anda mutakhir dengan teman kelompok Anda.
- Lakukan commit dan sync/push untuk setiap kemajuan. Disarankan melakukan commit dan sync/push sesering mungkin untuk menghindari “konflik Git” dengan teman kelompok Anda.
Tahapan Pengerjaan:
- Merancang algoritma dari primitif-primitif dan main program yang akan diimplementasikan.
- Mengimplementasikan primitif-primitif dan main program yang sudah dirancang dalam bahasa C++.
- Memastikan program yang dibangun dapat berjalan (running) sesuai deskripsi tugas.
- Menulis laporan tugas.
- Source code program C++.
- Laporan tugas yang terdiri dari permasalahan yang dihadapi, gambaran struktur data beserta penjelasannya, rancangan algoritma, dan print screen output dari setiap primitif yang dibangun.
- Pada laporan tugas harus dituliskan Kelas, Nomor kelompok, Nama lengkap, NIM, peran dari setiap anggota kelompok, dan tanda tangan mahasiswa yang ikut mengerjakan.
- Source Code dan Laporan tugas dikumpulkan pada waktu dan tempat yang telah ditentukan oleh dosen.
Indikator, Kriteria, dan Bobot Penilaian
- Source code program: 70%.
- Laporan tugas: 30%.
- Bagi yang melakukan kecurangan/plagiarisme nilainya akan diturunkan sesuai dengan tingkat plagiarismenya.
Jadwal Pelaksanaan
Tugas diberikan pada Minggu-1 perkuliahan setelah UTS.
Batas akhir pengumpulan pada Minggu-5 perkuliahan setelah UTS.
Daftar Rujukan
- Diktat Kuliah IF2181 Struktur Data, Inggriani Liem, ITB, 2003.