Fork me on GitHub

Tugas: Implementasi Linear Linked List

Tugas Mata Kuliah Struktur Data.

Bentuk Tugas

Membangun Algoritma dan Mengimplementasikan Linear Linked List dalam Bahasa C++

Sub Capaian Pembelajaran

Mahasiswa mampu membangun algoritma untuk primitif struktur data Linked List dan mengimplementasikannya dalam Bahasa Pemrograman (CLO 1).

Deskripsi Tugas

Tuliskan semua primitif (prosedur) beserta main program dari list yang berisi data mahasiswa (NIM, Nama, Nilai) yang terurut secara descending berdasarkan nilainya dalam bahasa C++. Prosedur yang perlu dibangun yaitu:

  1. Insert 1 mahasiswa, di mana isi data list tetap terurut secara descending.
  2. Delete 1 mahasiswa berdasarkan NIM yang ingin di- delete, di mana isi data list tetap terurut secara descending.
  3. Edit nilai mahasiswa berdasarkan NIM, di mana isi data list tetap terurut secara descending.
  4. Mencari data mahasiswa dan menampilkan datanya berdasarkan NIM
  5. Memecah (split) List mahasiswa ke L1 (berisi mahasiswa dengan NIM ganjil) dan L2 (berisi mahasiswa dengan NIM genap).
  6. Menggabungkan (merge) isi list L1 dan L2 ke dalam L3 (isi list L3 harus terurut secara descending).
  7. View isi list.

Jenis Linear Linked List yang digunakan yaitu:

  1. Double Linked List
  2. Circular List
  3. Single List with Last
  4. Double Linked List with Last
  5. Circular List with Last

Metode Pengerjaan Tugas

Yang harus dikerjakan dan batasan-batasan:

  1. Membuat kelompok yang terdiri dari maksimal 2 mahasiswa.
  2. Jenis Linear Linked List yang digunakan oleh setiap kelompok ditentukan oleh dosen yang bersangkutan.
  3. Membangun dan mengimplementasikan primitif-primitif dalam deskripsi tugas dalam bahasa C++.
  4. 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:

  1. Merancang algoritma dari primitif-primitif dan main program yang akan diimplementasikan.
  2. Mengimplementasikan primitif-primitif dan main program yang sudah dirancang dalam bahasa C++.
  3. Memastikan program yang dibangun dapat berjalan (running) sesuai deskripsi tugas.
  4. Menulis laporan tugas.

Bentuk dan Format Luaran

  1. Source code program C++.
  2. Laporan tugas yang terdiri dari permasalahan yang dihadapi, gambaran struktur data beserta penjelasannya, rancangan algoritma, dan print screen output dari setiap primitif yang dibangun.
  3. Pada laporan tugas harus dituliskan Kelas, Nomor kelompok, Nama lengkap, NIM, peran dari setiap anggota kelompok, dan tanda tangan mahasiswa yang ikut mengerjakan.
  4. Source Code dan Laporan tugas dikumpulkan pada waktu dan tempat yang telah ditentukan oleh dosen.

Indikator, Kriteria, dan Bobot Penilaian

  1. Source code program: 70%.
  2. Laporan tugas: 30%.
  3. Bagi yang melakukan kecurangan/plagiarisme nilainya akan diturunkan sesuai dengan tingkat plagiarismenya.

Jadwal Pelaksanaan

Tugas diberikan pada Minggu-1 perkuliahan.

Batas akhir pengumpulan pada Minggu-6 perkuliahan.

Daftar Rujukan

  • Diktat Kuliah IF2181 Struktur Data, Inggriani Liem, ITB, 2003.