Major Assignment IAlgorithm and Programming(Programming Stream)
Tim Penyusun Materi Pengenalan Komputasi
Institut Teknologi Bandung © 2021
Objectives
▪ Students are able to apply computational thinking (decomposition, abstraction, pattern recognition, and algorithm design) in problem solving.
▪ Students work as a team and discuss ideas in the team.
09/10/2021 Pengenalan Komputasi 2
Project 1 – Airlines Database
09/10/2021 Pengenalan Komputasi 6
Project descriptionIn this project, you are required to develop Indonesia airlines database including, airline company name, IATAcode, ICAO code, Callsign, Hub Airports, Type (scheduled airline, chartered airlines), number of fleet and type,and other details. This project is a command–line program where a user interacts with the program by typing aquery through a command line and program will respond and present the result in the command line.
Project Features (minimum)• User interface: search feature based on company name, IATA, ICAO and present the details to user.
The program should also have a feature that record user who access the database.• Admin interface: add, delete, and modify airlines data. To get access to admin role, the user must
provide a password.• At least 40 Indonesia-based airlines are stored in the database.
Hints• You can use csv or json file as a database to store all data, or if you want to create more advanced
database you can use SQLite3 database.
Project 2 – Quiz Application
09/10/2021 Pengenalan Komputasi 7
Project descriptionIn this project, you are required to develop a quiz application where a user is asked multiple choicequestions. A user can respond by selecting the correct answer. As a result, the program will respond byproviding award/score if the answer is correct or an encouragement word if the answer is wrong. Thequestions can be any kind of question related to computer, internet, aviation, history, etc.Note: This project is a command-line program
Project Features (minimum)• User interface: a user can decide how many question to be asked. The program should also
have feature that can record user and its corresponding score.• Admin interface: add, delete, and modify questions. To get access to admin role, the user must
provide a password.• At least 100 questions and answers are stored in database
Hints• You can use csv or json file as a database to store all data, or if you want to create more
advanced database you can use SQLite3 database.
Project 3 – Language Detector
09/10/2021 Pengenalan Komputasi 8
Project descriptionIn this project, you are required to develop a language detector program. The program will detect thelanguage by reading a text file provided by user.Note: This project is a command-line program.
Project Features (minimum)• User interface: a user can provide a file name to be read by the program and as an output, the
program will present the corresponding detected language.• Admin interface: add, delete, and modify language database. To get access to admin role, the
user must provide a password.• The program should also present criteria used to detect a language.• At least 5 languages can be detected by program (including Indonesia local languages)
Hints• You can use csv file or json file as a database to store all data.
You are not allowed to use any machine learning algorithm.
Tugas 1
• Lakukan eksplorasi terhadap sistem/aplikasi/benda yang ditetapkanuntuk kelompok Anda.
• Dengan menggunakan teknik dekomposisi persoalan yang pernahdisampaikan pada perkuliahan sebelumnya, buatlah dekomposisisistem yang Anda tangani menjadi unit-unitnya (sampai unit terkecilyang bisa Anda bayangkan).
09/10/2021 Pengenalan Komputasi 9
Tugas 2
• Rancanglah sebuah simulasi yang yang menggambarkankerja sistem tersebut.• Buatlah deskripsi simulasi. Deskripsi dengan jelas: input – proses –
output dari simulasi yang Anda buat.
• Lengkapi deskripsi di atas dengan algoritma dalam bentukflowchart/pseudocode untuk setiap fungsi-fungsi dalam sistem.• Perhatikan bahwa algoritma akan diimplementasikan dalam bentuk
program (Tugas 3). Perhatikan ketentuan pada tugas 3 (slide berikutnya).
09/10/2021 Pengenalan Komputasi 10
Tugas 3
• Berdasarkan rancangan simulasi dan algoritma yang Anda buat diTugas 2, buatlah program dalam bahasa pemrograman yang diajarkandi kelas untuk menjalankan simulasi tersebut.
• Program harus memanfaatkan beberapa aspek pemrograman dasarsbb.• Sekuens, kondisional, loop
• Function/procedure
• Array
• Opsional: Matriks
• dsb …
09/10/2021 Pengenalan Komputasi 11
Deliverable (1)
• Deliverable:• Laporan
• Source code program
• File ppt/video untuk presentasi
• Format laporan• Ditulis dengan menggunakan aplikasi word processor (contoh: MS Word)
dalam format A4; spasi = 1; font teks = Times New Roman (12); font kodeprogram = Courier New (10).
• Jumlah halaman bebas, tetapi laporan dibuat ringkas dan jelas
09/10/2021 Pengenalan Komputasi 12
Deliverable (2)
• Isi laporan:• Sampul, minimum berisi: kode/nama mata kuliah; judul tugas; daftar anggota
kelompok• Daftar isi• Laporan inti: hasil tugas 1, tugas 2, dan tugas 3
• Ringkas, padat, jelas
• Kesimpulan dan lesson learned• Pembagian tugas dalam kelompok• Daftar referensi (jika perlu)Catatan: Source code program tidak perlu dimasukkan ke laporan (dikumpulkanterpisah)
• Siapkan ppt/video untuk presentasi dan demo @kelompok max 8 menit
09/10/2021 Pengenalan Komputasi 13
Deliverable (3)
• Presentasi tugas dilaksanakan pada minggu ke-11 pada jam kuliah
• Mekanisme pengumpulan laporan dan source code• Laporan dikumpulkan dalam bentuk softcopy dalam format pdf
• Laporan dan source code program dimasukkan dalam 1 folder dengan nama: KU1102_XX_YY (XX: nomor kelas; YY: nomor kelompok, contoh: KU1102_60_04) dan di-zip.
• File zip berisi laporan dan source code dikumpulkan melalui Edunex
• Presentasi masing-masing kelompok diadakan pada tanggal 1 November 2020
• Deadline pengumpulan laporan adalah pada hari 8 November 2020.
09/10/2021 Pengenalan Komputasi 14