0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan7 halaman

Tugas Akhir

Dokumen ini menjelaskan tugas akhir mengenai aplikasi rekomendasi menu makanan menggunakan bahasa C++. Aplikasi ini membantu pengguna memilih makanan berdasarkan preferensi rasa dengan memanfaatkan struktur data map dan vector. Selain itu, dokumen ini mencakup algoritma, implementasi program, dan hasil pengujian aplikasi.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
19 tayangan7 halaman

Tugas Akhir

Dokumen ini menjelaskan tugas akhir mengenai aplikasi rekomendasi menu makanan menggunakan bahasa C++. Aplikasi ini membantu pengguna memilih makanan berdasarkan preferensi rasa dengan memanfaatkan struktur data map dan vector. Selain itu, dokumen ini mencakup algoritma, implementasi program, dan hasil pengujian aplikasi.
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

TUGAS AKHIR

APLIKASI REKOMENDASI MENU MAKANAN BERDASARKAN PREFERENSI RASA MENGGUNAKAN


BAHASA C++

Dosen pengampuh:

Khairul Fuady

Disusun oleh :

DWI SEKAR RENGGOWATI

(2040124012)

PROGRAM STUDI DIPLOMA III TEKNOLOGI ELEKTROMEDIS

STIKes MUHAMMADIYAH ACEH 2025

BANDA ACEH
BAB I - PENDAHULUAN
1.1 Latar Belakang
Memilih makanan terkadang menjadi hal yang sulit, terutama saat banyak pilihan tersedia.
Dengan bantuan program komputer, kita bisa mendapatkan rekomendasi secara acak
berdasarkan selera. Oleh karena itu, dibuatlah aplikasi sederhana ini untuk membantu
merekomendasikan makanan sesuai dengan rasa yang diinginkan.
1.2 Tujuan
• Membuat program rekomendasi menu makanan berdasarkan rasa.
• Menerapkan penggunaan struktur data map dan vector di C++.
• Melatih penggunaan input, percabangan, dan randomisasi data.
1.3 Manfaat
Mahasiswa memahami konsep dasar pemrograman, penggunaan struktur data, serta
pengembangan aplikasi berbasis teks.

BAB II - LANDASAN TEORI


2.1 Bahasa Pemrograman C++
C++ adalah bahasa pemrograman yang mendukung pendekatan prosedural dan OOP.
Digunakan luas untuk pengembangan aplikasi karena fleksibel dan cepat.
2.2 Struktur Data map dan vector
• map menyimpan pasangan kunci-nilai.
• vector menyimpan kumpulan data secara dinamis.
2.3 Fungsi rand() dan srand()
Digunakan untuk menghasilkan nilai acak. srand() diisi dengan time(0) agar hasil random tidak
berulang setiap eksekusi.
BAB III - ALGORITMA DAN FLOWCHART
3.1 Algoritma Program
1. Mulai
2. Inisialisasi daftar menu berdasarkan kategori rasa (manis, pedas, asin, gurih)
3. Tampilkan semua pilihan rasa kepada pengguna
4. Input pilihan rasa dari pengguna
5. Jika input tidak valid, tampilkan pesan kesalahan dan keluar
6. Ambil daftar menu dari rasa yang dipilih
7. Pilih salah satu menu secara acak
8. Tampilkan hasil rekomendasi kepada pengguna
9. Selesai

3.2 Flowchart
Berikut flowchart-nya dalam deskripsi (karena tidak bisa gambar langsung di sini):

Less

[Mulai]

[Inisialisasi menu berdasarkan rasa]

[Tampilkan daftar rasa]

[Input pilihan user]

[Apakah valid?] --> Tidak --> [Tampilkan error & keluar]

|
Ya

[Ambil menu dari kategori rasa]

[Pilih salah satu menu secara acak]

[Tampilkan hasil rekomendasi]

[Selesai]

BAB IV - IMPLEMENTASI PROGRAM


4.1 Kode Program (C++)

#include <iostream>

#include <vector>

#include <cstdlib> // rand, srand

#include <ctime> // time

#include <map>

using namespace std;

int main() {

// Inisialisasi menu berdasarkan kategori rasa

map<string, vector<string>> menuMap = {

{"manis", {"Es Teh Manis", "Pisang Coklat", "Martabak", "Roti Bakar Coklat", "Kolak"}},

{"pedas", {"Ayam Geprek", "Seblak", "Mie Pedas Korea", "Sate Padang", "Bakso
Mercon"}},
{"asin", {"Telur Asin", "Tahu Isi", "Ikan Asin", "Kerupuk", "Kacang Goreng"}},

{"gurih", {"Nasi Uduk", "Soto Ayam", "Rendang", "Bakwan", "Ayam Bakar"}}

};

// Daftar rasa

vector<string> rasaList = {"manis", "pedas", "asin", "gurih"};

// Seed untuk angka acak

srand(time(0));

cout << "===== APLIKASI REKOMENDASI MENU MAKAN =====\n";

cout << "Silakan pilih preferensi rasa:\n";

for (int i = 0; i < rasaList.size(); i++) {

cout << i + 1 << ". " << rasaList[i] << endl;

int pilihan;

cout << "\nMasukkan nomor pilihan rasa (1-" << rasaList.size() << "): ";

cin >> pilihan;

// Validasi input

if (pilihan < 1 || pilihan > rasaList.size()) {

cout << "Pilihan tidak valid.\n";

return 1;

string rasaDipilih = rasaList[pilihan - 1];

vector<string> menuPilihan = menuMap[rasaDipilih];

// Pilih menu secara acak

int indeks = rand() % menuPilihan.size();


string menuRekomendasi = menuPilihan[indeks];

cout << "\nRekomendasi menu rasa " << rasaDipilih << ": " << menuRekomendasi << "\n";

cout << "Selamat makan!\n";

return 0;

BAB V - HASIL DAN PEMBAHASAN


5.1 Contoh Output

===== APLIKASI REKOMENDASI MENU MAKAN =====

Silakan pilih preferensi rasa:

1. manis

2. pedas

3. asin

4. gurih

Masukkan nomor pilihan rasa (1-4): 3

Rekomendasi menu rasa asin: Kerupuk

Selamat makan!

5.2 Pembahasan

Program ini berhasil memberikan rekomendasi makanan sesuai preferensi rasa. Fungsi
random bekerja baik dan struktur map mempermudah pemetaan kategori rasa ke daftar
makanan.

BAB VI - PENUTUP
6.1 Kesimpulan
Aplikasi ini berhasil dibuat menggunakan C++ dan berjalan sesuai fungsinya. Mahasiswa
juga belajar menggunakan tipe data koleksi seperti vector dan map.

6.2 Saran
Pengembangan berikutnya dapat menambahkan fitur:

• Simpan riwayat rekomendasi.

• Tampilan berbasis GUI.

• Kategori menu tambahan seperti minuman, cemilan, dan makanan berat.

LAMPIRAN: Screenshot Program

(Tambahkan screenshot saat program dijalankan di IDE-mu seperti Code::Blocks, VS Code,


atau terminal)

Anda mungkin juga menyukai