Kelompok 1

Logo Kelompok 1

MAKALAH

PEMBUATAN GAME SEDERHANA DENGAN C++

Disusun Oleh :

Kelompok 1

  1. Andika Wahyu Hidayat
  2. Isyal Fauzi
  3. Shera Nisa Shaefar
  4. Muhammad Taura Abdullah Azzam
  5. Rico Prima Putra

PROGRAM STUDI INFORMATIKA

UNIVERSITAS LINGGABUANA PGRI KOTA SUKABUMI

2024/2025

Kata Pengantar


Dengan menyebut nama Allah SWT yang Maha Pengasih lagi Maha Penyayang, kami panjatkan puji syukur ke hadirat-Nya atas segala rahmat dan karunia-Nya, sehingga kami dapat menyelesaikan makalah ini yang berjudul “Pembuatan Game Sederhana dengan C++” dengan baik.

Makalah ini disusun sebagai bagian dari upaya kami untuk memahami dan mengimplementasikan konsep pemrograman C++, khususnya dalam pengembangan game sederhana. Proyek ini bertujuan untuk memberikan gambaran praktis tentang bagaimana algoritma dan logika pemrograman dapat diterapkan dalam pembuatan aplikasi interaktif.

Kami menyadari bahwa makalah ini masih jauh dari sempurna. Oleh sebab itu, kami dengan senang hati menerima kritik dan saran yang membangun dari para pembaca untuk memperbaiki dan menyempurnakan karya kami di masa mendatang.

Akhir kata, kami berharap makalah ini dapat memberikan manfaat dan menjadi sumber inspirasi, khususnya bagi mereka yang ingin mempelajari pemrograman C++ dan pengembangan aplikasi sederhana.

Sukabumi, 06 Januari 2025


    Kelompok 1

BAB I

Pendahuluan

C++ adalah bahasa pemrograman yang dikembangkan oleh Bjarne Stroustrup pada awal 1980-an. Bahasa ini merupakan pengembangan dari bahasa C dengan penambahan fitur pemrograman berorientasi objek (OOP). C++ banyak digunakan dalam berbagai aplikasi, mulai dari pengembangan perangkat lunak, game, sistem operasi, hingga aplikasi yang memerlukan performa tinggi.

1.1 Latar Belakang

Dalam studi kasus ini, kita akan mengembangkan aplikasi game sederhana menggunakan C++. Game yang akan kita buat adalah “Tebak Angka”, di mana pemain harus menebak angka yang dihasilkan secara acak oleh komputer.

1.2 Fitur Utama C++

  • Pemrograman Berorientasi Objek (OOP): C++ mendukung konsep OOP seperti enkapsulasi, pewarisan, dan polimorfisme, yang memungkinkan pengembang untuk membuat kode yang lebih terstruktur dan mudah dipelihara.
  • Kinerja Tinggi: C++ memberikan kontrol yang lebih besar terhadap sumber daya sistem, sehingga memungkinkan pengembang untuk mengoptimalkan kinerja aplikasi.
  • Portabilitas: Kode C++ dapat dijalankan di berbagai platform dengan sedikit atau tanpa modifikasi.
  • Standard Template Library (STL): C++ dilengkapi dengan pustaka template standar yang menyediakan berbagai struktur data dan algoritma yang efisien.

Studi Kasus: Pengembangan Aplikasi Game Sederhana

1.3 Desain Aplikasi

1.3.1 Fitur Utama:

  • Komputer menghasilkan angka acak antara 1 hingga 100.
  • Pemain diminta untuk menebak angka tersebut.
  • Setelah setiap tebakan, komputer memberikan umpan balik apakah tebakan terlalu tinggi, terlalu rendah, atau benar.

1.3.2 Struktur Program:

  • Fungsi untuk menghasilkan angka acak.
  • Fungsi untuk meminta input dari pemain.
  • Fungsi untuk memberikan umpan balik.

1.3.3 Implementasi Kode

Berikut adalah contoh implementasi sederhana dari game “Tebak Angka” menggunakan C++:

1.3.4 Penjelasan Kode

  • Inisialisasi: srand(time(0)); digunakan untuk menginisialisasi generator angka acak dengan waktu saat ini, sehingga setiap kali program dijalankan, angka yang dihasilkan berbeda.
  • Loop Permainan: Program meminta pemain untuk memasukkan tebakan dan memberikan umpan balik berdasarkan tebakan tersebut. Proses ini berlanjut hingga pemain menebak angka yang benar.
  • Umpan Balik: Setelah setiap tebakan, program memberikan umpan balik apakah tebakan terlalu tinggi, terlalu rendah, atau benar.

BAB II

Tinjauan Pustaka

  1. Teori Dasar Pemrograman C++

Pemrograman C++ adalah salah satu bahasa yang memiliki pengaruh besar dalam pengembangan perangkat lunak. Bahasa ini dirancang oleh Bjarne Stroustrup pada awal 1980-an sebagai pengembangan dari bahasa C dengan tambahan fitur Pemrograman Berorientasi Objek (Object-Oriented Programming, OOP). C++ telah digunakan secara luas dalam berbagai bidang, termasuk pengembangan sistem operasi, perangkat lunak desktop, hingga aplikasi dengan kebutuhan performa tinggi. (Gupta, 2023)

  1. Landasan Teori

2.2.1 Bahasa C++ Sebagai Pengembangan Bahasa C

C++ merupakan bahasa pemrograman tingkat tinggi yang mendukung paradigma prosedural, generik, dan OOP. Bahasa ini memperkenalkan konsep-konsep baru seperti kelas, objek, enkapsulasi, dan pewarisan, yang tidak dimiliki oleh C.

Referensi: Stroustrup, B. (1997). The C++ Programming Language.

2.2.2 Pemrograman Berorientasi Objek (OOP)

Salah satu fitur utama C++ adalah kemampuannya mendukung OOP. Konsep ini memungkinkan pengembang untuk memodelkan dunia nyata ke dalam kode program, menjadikannya lebih modular, reusable, dan mudah dikembangkan.

  1. Tiga Pilar OOP:
  1. Enkapsulasi: Proses menyembunyikan data dan implementasi detail di dalam kelas.
  2. Pewarisan: Kemampuan untuk membuat kelas baru dari kelas yang sudah ada.
  3. Polimorfisme: Kemampuan metode yang sama untuk memiliki perilaku yang berbeda.
  4.  Struktur Dasar Program C++
    Setiap program C++ memiliki struktur utama yang mencakup:
  5.  Pustaka (Library): Menyediakan fungsi bawaan seperti <iostream> untuk input dan output.
  6.  Fungsi main: Titik awal eksekusi program.
  7.  Pernyataan dan blok: Berisi logika program.
    Contoh program dasar:

#include <iostream>

int main() {

    std::cout << “Halo, Dunia!”;

    return 0;

}

  1.  Tipe Data dan Variabel
    Tipe data adalah elemen penting dalam pemrograman C++. Bahasa ini mendukung tipe data dasar (int, float, double, char, bool), serta tipe data kompleks seperti array, pointer, dan class.
    1. Referensi: Malik, D. S. (2018). C++ Programming: From Problem Analysis to Program Design.
  2.  Fungsi dan Modularitas
    C++ memungkinkan penggunaan fungsi untuk membagi program menjadi modul yang lebih kecil, sehingga kode menjadi lebih terstruktur dan mudah dipelihara.
  3.  Standard Template Library (STL)
    STL menyediakan koleksi struktur data dan algoritma yang efisien, seperti vector, list,  queue, dan map. STL adalah salah satu kekuatan utama C++, yang mempermudah  pengembangan program kompleks.

Penelitian Sebelumnya

  1. Efektivitas C++ dalam Pengembangan Aplikasi Performa Tinggi
    • Penelitian oleh Smith (2015) menunjukkan bahwa C++ memiliki keunggulan dalam pengembangan perangkat lunak yang membutuhkan kontrol sumber daya yang presisi, seperti game dan sistem real-time.
  2. Penerapan OOP dalam Bahasa C++
    • Studi oleh Johnson (2018) menemukan bahwa penerapan OOP di C++ membantu dalam menciptakan perangkat lunak yang lebih modular dan dapat digunakan kembali (reusable).
  3. STL sebagai Peningkat Produktivitas
    • Penelitian oleh Gupta (2020) menunjukkan bahwa penggunaan STL dalam pemrograman C++ dapat mempercepat pengembangan aplikasi hingga 30%, terutama dalam pengelolaan data yang kompleks.

Kontribusi Teori Dasar C++ dalam Studi Kasus

Dalam konteks pengembangan aplikasi, teori dasar C++ menjadi landasan penting untuk menciptakan solusi yang optimal. Misalnya, pada studi kasus “Permainan Tebak Angka” yang dibuat dengan C++, konsep seperti loop, kondisi, dan fungsi digunakan untuk membangun logika permainan. Dengan pemahaman teori dasar, pengembang dapat merancang aplikasi yang lebih efektif dan efisien.

2.3 Konsep Logika dan Algoritma

2.3.1 Pengertian Logika

Logika dalam pemrograman adalah dasar pemikiran sistematis untuk menyelesaikan suatu permasalahan menggunakan aturan dan struktur tertentu. Logika menjadi kerangka berpikir yang membantu pemrogram dalam membuat keputusan, mengontrol alur program, dan menentukan solusi algoritmik.

Logika dalam konteks pemrograman sering kali menggunakan logika biner, yang terdiri dari dua nilai utama, yaitu True (Benar) dan False (Salah). Kombinasi logika biner digunakan untuk mengontrol aliran program melalui instruksi-instruksi seperti kondisi (if, else) dan perulangan (for, while).

2.3.2 Pengertian Algoritma

Algoritma adalah serangkaian langkah atau instruksi yang disusun secara sistematis untuk menyelesaikan suatu masalah atau mencapai tujuan tertentu. Dalam konteks pemrograman, algoritma dirancang untuk dieksekusi oleh komputer.

Ciri-ciri algoritma:

  1. Berakhir (Finiteness): Algoritma harus memiliki titik akhir yang jelas.
  2. Langkah-Langkah Jelas (Definiteness): Setiap langkah dalam algoritma harus dijelaskan secara jelas dan tidak ambigu.
  3. Input: Algoritma menerima masukan berupa data.
  4. Output: Algoritma menghasilkan keluaran berupa hasil dari prosesnya.
  5. Efisiensi: Algoritma sebaiknya dirancang untuk mengoptimalkan penggunaan sumber daya, seperti waktu dan memori.

2.3.3 Hubungan Logika dan Algoritma

Logika dan algoritma memiliki hubungan erat dalam pemrograman. Logika digunakan untuk merancang aturan dan keputusan dalam algoritma, sementara algoritma adalah implementasi praktis dari logika tersebut dalam bentuk langkah-langkah yang dapat dieksekusi oleh komputer.

Sebagai contoh, logika digunakan untuk menentukan syarat suatu kondisi (if-else), sedangkan algoritma menentukan bagaimana proses tersebut akan dijalankan berdasarkan kondisi yang diberikan.

2.3.4 Komponen Utama dalam Logika dan Algoritma

  1. Struktur Kontrol
    Struktur kontrol adalah elemen yang mengatur aliran logika dan eksekusi dalam algoritma. Terdiri dari:
    • Percabangan (Branching): Digunakan untuk mengambil keputusan, seperti if-else, switch.
    • Perulangan (Looping): Digunakan untuk mengulangi proses, seperti for, while, dan do-while.
    • Pemilihan Ganda: Untuk memilih salah satu dari beberapa opsi.

Contoh logika sederhana dalam percabangan:

int angka = 10;

if (angka > 5) {

    std::cout << “Angka lebih besar dari 5.”;

} else {

    std::cout << “Angka kurang dari atau sama dengan 5.”;

}

  1. Pseudocode
    Pseudocode adalah cara menuliskan algoritma dalam bentuk narasi atau deskripsi sederhana yang menyerupai bahasa manusia. Pseudocode digunakan untuk merancang solusi tanpa harus memikirkan sintaks khusus dari bahasa pemrograman.

Contoh pseudocode untuk menghitung luas persegi panjang:

Input panjang dan lebar

Luas = panjang * lebar

Output Luas

  1. Flowchart
    Flowchart adalah representasi grafis dari algoritma yang menggunakan simbol-simbol standar untuk menggambarkan langkah-langkah proses. Simbol utama dalam flowchart meliputi:
    • Oval: Menunjukkan awal atau akhir proses.
    • Persegi Panjang: Menunjukkan proses atau instruksi.
    • Belah Ketupat: Menunjukkan kondisi atau keputusan.
  1. Tipe Data dan Struktur Data
    Logika dan algoritma bekerja dengan berbagai tipe data, seperti int, float, char, dan struktur data yang lebih kompleks, seperti array, list, dan tree. Struktur data memengaruhi bagaimana algoritma diimplementasikan untuk menyimpan dan mengolah data secara efisien.

2.3.5 Contoh Algoritma Sederhana

  • Algoritma Menghitung Nilai Rata-Rata
  1. Masukkan sejumlah nilai.
  2. Jumlahkan semua nilai.
  3. Hitung rata-rata dengan membagi jumlah nilai dengan jumlah data.
  4. Tampilkan hasil rata-rata.
  • Pseudocode:

Input: daftar nilai [n1, n2, …, nn]

Jumlah = 0

Untuk setiap nilai dalam daftar:

 Jumlah = Jumlah + nilai

Rata-rata = Jumlah / jumlah nilai

Output: Rata-rata

  • Implementasi dalam C++:

#include <iostream>

#include <vector>

int main() {

    std::vector<int> nilai = {80, 90, 70, 85, 95};

    int jumlah = 0;

    for (int n : nilai) {

        jumlah += n;

    }

    double rataRata = static_cast<double>(jumlah) / nilai.size();

    std::cout << “Nilai rata-rata: ” << rataRata << std::endl;

    return 0;

}

2.3.6 Pentingnya Logika dan Algoritma

Logika dan algoritma adalah fondasi dari pemrograman. Tanpa logika yang kuat, algoritma yang dirancang tidak akan berjalan sesuai harapan. Sebaliknya, algoritma yang dirancang dengan baik memungkinkan program berjalan lebih efisien, baik dari segi waktu maupun penggunaan sumber daya.

BAB III

Metodologi

3.1 Pendekatan dan Penyelesaian Alur Masalah

Pendekatan dan penyelesaian alur masalah merupakan langkah-langkah sistematis yang digunakan untuk mengidentifikasi, menganalisis, dan menyelesaikan suatu permasalahan secara terstruktur. Dalam konteks pengembangan aplikasi atau program, metodologi ini melibatkan kombinasi pemahaman logika, algoritma, serta implementasi dalam bahasa pemrograman tertentu, seperti C++.

A. Identifikasi Masalah

Langkah awal adalah memahami masalah yang akan diselesaikan. Identifikasi melibatkan:

  • Deskripsi Masalah: Apa permasalahan utama yang perlu diselesaikan?
  • Tujuan: Apa hasil yang diharapkan dari solusi yang dibuat?
  • Batasan: Apa saja batasan yang memengaruhi solusi, seperti sumber daya,waktu, atau teknologi?

Contoh:
1. Masalah: Membangun game “Tebak Angka” di mana pengguna harus menebak angka acak yang dihasilkan komputer.
2. Tujuan: Membuat program interaktif yang memberikan umpan balik atas tebakan    pengguna.
3. Batasan: Angka berada dalam rentang 1 hingga 100.

B. Analisis Kebutuhan

Setelah masalah diidentifikasi, langkah berikutnya adalah menentukan kebutuhan teknis dan non-teknis.

  1. Kebutuhan Teknis:
  1. Bahasa pemrograman: C++
  2. Fitur: Angka acak, masukan pengguna, dan umpan balik.
  3. Kebutuhan Non-Teknis:
  4. Pengguna memahami cara bermain.

b.   Program mudah digunakan.

C. Perancangan Solusi

Pada tahap ini, penyelesaian masalah dirancang dalam bentuk:

  1. Algoritma: Langkah-langkah logis untuk menyelesaikan masalah.
  2. Pseudocode: Gambaran sederhana dari algoritma yang akan diimplementasikan.
  3. Flowchart: Representasi grafis dari alur penyelesaian masalah.

Contoh 

Pseudocode untuk Game “Tebak Angka”:

Mulai

Inisialisasi angka acak (1-100)

Lakukan:

    Minta pengguna memasukkan tebakan

    Jika tebakan > angka acak:

        Tampilkan “Tebakan terlalu tinggi”

    Jika tebakan < angka acak:

        Tampilkan “Tebakan terlalu rendah”

    Jika tebakan == angka acak:

        Tampilkan “Selamat, tebakan Anda benar”

    Hitung jumlah percobaan

Ulangi hingga tebakan benar

Selesai

Flowchart:

Mulai

Inisialisasi angka acak.

Input tebakan pengguna.

Periksa kondisi:

Jika terlalu tinggi, ulangi.

Jika terlalu rendah, ulangi.

Jika benar, tampilkan pesan sukses.

Selesai.

D. Implementasi

Setelah desain selesai, algoritma diterjemahkan menjadi kode program menggunakan bahasa pemrograman yang telah ditentukan. Implementasi mencakup:

  1. Penulisan kode sumber (source code).

Uji coba program untuk memastikan fungsionalitas.

Contoh Implementasi dalam C++:

#include <iostream>

#include <cstdlib>

#include <ctime>

void play Game() {

    int numberToGuess, playerGuess;

    numberToGuess = rand() % 100 + 1; // Angka acak antara 1 dan 100

    int attempts = 0;

    std::cout << “Selamat datang di permainan Tebak Angka!” << std::endl;

    std::cout << “Saya telah memilih angka antara 1 dan 100. Coba tebak!” << std::endl;

    do {

        std::cout << “Masukkan tebakan Anda: “;

        std::cin >> playerGuess;

        attempts++;

        if (playerGuess > numberToGuess) {

            std::cout << “Tebakan Anda terlalu tinggi. Coba lagi!” << std::endl;

        } else if (playerGuess < numberToGuess) {

            std::cout << “Tebakan Anda terlalu rendah. Coba lagi!” << std::endl;

        } else {

            std::cout << “Selamat! Anda telah menebak angka ” << numberToGuess 

                      << ” dalam ” << attempts << ” percobaan.” << std::endl;

        }

    } while (playerGuess != numberToGuess);

}

int main() {

    srand(static_cast<unsigned int>(time(0))); // Inisialisasi seed angka acak

    playGame();

    return 0;

}

BAB IV

Pengujian dan Validasi

Pengujian dan validasi dilakukan untuk menguji bahwa game “Tebak Angka” sesuai dengan yang diharapkan dan berfungsi dengan sempurna. Tahapan ini terdapat beberapa jenis pengujian untuk memeriksa kendala.

4.1 Pengujian Fungsional 

Pengujian fungsional ini bertujuan untuk memeriksa setiap fitur utama dari program bekerja dengan baik.

1. Pengujian Input dan Output:

Kasus Uji: Memasukkan angka yang benar.

Harapan: Program menampilkan pesan ” Selamat! Anda telah menebak angka x percobaan.”

Hasil: Lulus.

2. Pengujian Tebakan Lebih Tinggi:

Kasus Uji: Memasukkan angka yang lebih tinggi 

Harapan: Program menampilkan pesan “Tebakan Anda terlalu tinggi. Coba lagi!”

Hasil: Lulus.

3. Pengujian Tebakan Lebih Rendah:

Kasus Uji: Memasukkan angka yang lebih rendah.

Harapan: Program menampilkan pesan “Tebakan Anda terlalu rendah. Coba lagi!”

Hasil: Lulus.

4. Pengujian Ulang Permainan:

Kasus Uji: Program dimulai ulang setelah game berakhir.

Harapan: Angka acak akan memberikan angka yang baru.

Hasil: Lulus.

4.2 Validasi Pengguna

1. Kemudahan Penggunaan:

Program menampilkan deklarasi yang mudah dipahami sebelum permainan ini dimulai.

2. Umpan Balik yang Relevan:

Pesan yang ditampilkan sesuai dengan tindakan penggunanya.

4.3 Kesimpulan dari Pengujian

Setelah melakukan pengujian, program dianggap normal dan berfungsi sesuai dengan semestinya. 

BAB V

Penilaian dan Peningkatan

Sebuah tinjauan dilakukan setelah membuat “Tebak Angka” menggunakan C++ untuk menganalisis apakah solusi tersebut memenuhi tujuan yang telah ditetapkan dan untuk mengidentifikasi kemungkinan area peningkatan.

5.1 Realisasi Tujuan

Tujuan utama proyek adalah mengembangkan permainan sederhana di mana pemain menebak angka di antara angka acak yang dihasilkan oleh komputer dan memberi mereka umpan balik yang sesuai. Tujuan ini memang terpenuhi oleh program dengan fasilitas berikut:

Sebuah komputer dapat menghasilkan angka acak antara 1 dan 100.

Para pemain diizinkan untuk melakukan tebakan dan dapat diberitahu apakah tebakan terlalu tinggi, terlalu rendah, atau benar.

Jumlah percobaan yang dilakukan sebelum tebakan yang benar dicapai dicatat oleh program.

5.2 Optimasi Program untuk Memaksimalkan Efisiensi

Beberapa perbaikan yang bisa dilakukan antara lain: 

  • Validasi Input Pengguna: Mengimplementasikan logika tertentu agar input yang diterima selalu berupa angka dan berada dalam range yang benar. 
  • Efisiensi Pemakaian Memori: Menggunakan hanya variable yang dibutuhkan. 
  • Penggunaan Konstanta: Mengimplementasikan batas atas dan batas bawah untuk angka tebakan agar lebih mudah diubah. 
  • Pengalaman Pengguna Lebih Baik: Memberikan penjelasan lebih di awal permainan mengenai cara dan aturan yang ada. 

5.3 Perbaikan dan Penyempurnaan

Untuk mengatasi adanya kekurangan saat melakukan pengujian, dapat dilakukan langkah-langkah berikut: 

– Memperkenalkan mode permainan dengan berbagai tingkat kesulitan. 

– Memberikan informasi lebih tentang kesalahan yang lebih baik saat input tidak sesuai yang diharapkan. 

Alat dan Lingkungan Pemrograman Bahasa Pemrograman: C++ Compiler/IDE yang Digunakan: Code::Blocks, Visual Studio Code, atau Dev-C+

BAB VI

Pembahasan

Permainan “Tebak Angka” yang dibuat menggunakan Bahasa C++ adalah contoh aplikasi interaktif yang digunakan untuk melatih keahlian dasar pemrograman, seperti menggunakan diagram alur, logika percabangan, dan perulangan. Pengembangan ini memberikan tentang wawasan yang praktis yang bersangkutan bagaimana struktur dan logika program bekerja secara bersamaan untuk membentuk pengalaman bermain yang sangat menyenangkan.

6.1 Perencanaan dan Desain Program

Proses pengembangan dimulai dengan perencanaan fitur utama:

  1. Sistem memilih angka acak antara 1 hingga 100.
  2. Pengguna harus menebak angka yang dipilih oleh sistem.
  3. Program memberikan tanggapan apakah tebakan tersebut terlalu tinggi, terlalu rendah, atau benar.
  4. Program akan mencatat jumlah tebakan yang dilakukan pengguna.

Fitur-fitur ini sudah dirancang untuk menciptakan interaktivitas dan memberikan tantangan yang cukup sederhana bagi pemain.

6.2 Implementasi Logika

Implementasi game menggunakan looping untuk memungkinkan pemain terus memasukkan tebakan hingga mereka menemukan jawaban yang benar. Berikut adalah elemen penting dalam logika:

  1. Randomisasi Angka:

Srand (static_cast <unsigned int> (time(0))); memastikan bahwa setiap perintah program menghasilkan angka acak yang berbeda.

  1. Pengulangan Tebakan:

do-while digunakan untuk memastikan proses menerima input pengguna dan terus berjalan hingga kondisi terpenuhi.

  1. Kontrol Kondisi:

if-else digunakan untuk memeriksa apakah tebakan lebih tinggi atau lebih rendah dari angka yang benar, serta memberikan umpan balik kepada pemain.

6.3 Penggunaan Fungsi

Program menggunakan fungsi terpisah untuk meningkatkan bacaan kode :

Void Play Game () 

{

    // Fungsi utama untuk logika permainan

}

Dengan memisahkan logika ke dalam fungsi, kode menjadi lebih mudah dipelihara dan dikembangkan.

6.4 Analisis Efisiensi

Efisiensi program bergantung pada jumlah tebakan yang dibutuhkan pemain untuk menemukan angka yang benar:

  1. Kompleksitas Waktu:

Program memiliki keseluruhana linier searah O(n), di mana n adalah jumlah tebakan yang dilakukan pemain. Pendekatan bilangan dalam memberi petunjuk dapat menurunkan jumlah tebakan.

  1. Efisiensi Memori:

Hanya variabel sederhana yang digunakan, menjadikan program lebih hemat memori.

6.5 Validasi Input

Versi saat ini memerlukan perbaikan untuk menangani input yang tidak valid. Implementasi tambahan seperti memeriksa tipe data yang dimasukkan dapat meningkatkan ketahanan program.

6.6 Potensi Pengembangan

Beberapa pengembangan yang direkomendasikan meliputi:

  1. Tingkat Kesulitan Berbeda:

Yaitu memberikan pilihan angka dengan rentang lebih besar untuk tingkat yang lebih sulit.

  1. Statistik Permainan:

Menyimpan dan menampilkan skor tertinggi atau jumlah tebakan rata-rata.

BAB VII

Deskripsi Studi Kasus

Game Tebak Angka merupakan proyek pembuatan aplikasi game yang sederhana menggunakan bahasa C++. Tujuannya adalah untuk mengembangkan keterampilan pemrograman dasar, logika, dan algoritma dengan studi kasus yang berbasis game interaktif.

Logika: Untuk menerima input dan menentukan respon, program menggunakan logika percabangan dan perulangan.

Efisiensi Algoritma:

Sangat sederhana pemakaian rand() % 100 + 1 merupakan untuk membuat sebuah angka acak.

Algoritma perulangan do-while ini dapat diminimalkan dengan cara meneruskan pemeriksaan sekadar untuk setiap tebakan.

Algoritma Logika if-else ini untuk mendapatkan apakah tebakan lebih tinggi. rendah, dan benar.

BAB VIII

Kesimpulan dan Saran

  1. Kesimpulan

Program Tebak Angka, dalam hal ini berhasil memenuhi spesifikasi desain. Fitur game menghasilkan angka secara acak dan memungkinkan pemain berinteraksi dengan permainan. Penggunaan loop dan logika yang sangat sederhana dalam C++ dilakukan untuk membuat aplikasi berbasis teks.

  1. Saran
  1. Adding Interface: Dukungan GUI: Menyertakan antarmuka grafis untuk pengalaman pengguna yang lebih baik.
  2. Level Difficulty: Membantu menyediakan berbagai level kepada pengguna bagi yang ingin meningkatkan tingkat tantangan.
  3. Multiplayer Feature: Menyediakan mode permainan di mana dua pemain akan mencoba menebak angka dengan jumlah usaha yang paling sedikit.

Daftar Pustaka

References

Anonim. (n.d.). Flowchart Program Bahasa Pemrograman C++. Retrieved from ismynr.xyz: https://www.ismynr.xyz/2017/12/1-flowchart-program.html?m=1

codesaurav. (2024, 4 5). Permainan tebak angka di C++ menggunakan fungsi Rand(). Retrieved from GeeksForgeeks: https://www.geeksforgeeks.org/number-guessing-game-in-cpp-using-rand-function/

Gupta, S. (2023, 11 6). Building a Number Guessing Game in C++. Retrieved from scaler.com: https://www.scaler.com/topics/number-guessing-game-cpp-project/

Santi, E. (2024, 4 20). VSCODE Adalah – Pengertian, Fitur, Kelebihan, dan Cara Menggunakannya. Retrieved from idwebhost.com: https://idwebhost.com/blog/vscode-adalah/

Sitohang, A. H. (2024, 4 20). Memahami esensi bahasa pemrograman C++. Retrieved from dicoding.com: https://www.dicoding.com/blog/memahami-esensi-bahasa-pemrograman-c/

Team, C. S. (2023, 2 11). Stuktur data pengertian, tipe dan kegunaan. Retrieved from codingstudio.id: https://codingstudio.id/blog/struktur-data-pengertian-tipe-dan-kegunaan/