Contoh Program Random/Acak dengan Rand(), Srand() Lempar Dadu Pemrograman C++ ~ Coding IsmyNR - Cara Dan Contoh Pemrograman

Contoh Program Random/Acak dengan Rand(), Srand() Lempar Dadu Pemrograman C++

Untuk membuat program mengimplementasikan angka random sederhana dengan c++, kita perlu mengetahui cara membangkitkan dan cara menampilkan bilangan random tersebut, bilangan random bisa di buat secara otomatis oleh komputer, tentu saja setiap komputer pasti berbeda beda dalam menentukan bilangan random, makanya kita perlu mengetahui awal bagaimana membangkitkan bilangan random dan memanipulasinya baca ini : Penjelasan dan Penggunaan Bilangan Random dengan rand() dan srand(time(0)) pemrograman c++

lempar dadu

Dengan itu anda bisa membuat program sederhana dengan memanipulasi rand() tersebut, di blog ini sudah membuat beberapa program dengan rand() ini, baca ini :

Yah walaupun sederhana semoga bermanfaat bagi pemula, kita belajar bersama sama yah, lalu sekarang saya akan menambahkan beberapa contoh studi kasus program dengan menggunakan angka random di c++ ini .

Membuat Program Random Dadu Pemrograman C++

Sebelum membuat program, biasakan kita harus tau bagaimana alur algoritma program yang kita buat :
  • Pertama kita mau membuat program acak dadu yang bisa di ulang ulang terus dimana sampai pada keadaan untuk keluar dari program, jadi program akan terus berjalan sebelum kita close program, 
  • Keduajangan keluar dari program sebelum di close, karena apa ? ketika kita acak dadu pasti terus menerus kan ? acak dan acak lagi, kita tidak mau susah-susah progam selesai close lalu run lagi ...
  • Bisa juga tidak perlu menggunakan looping

Nilai random dari rand() dimulai dari 0, jadi untuk memanipulasi rand() agar dimulai dari satu cukup ditambahkan 1 jadi rand()+1%6 artinya rand() di tambah satu agar nilai awal 1, lalu dimoduluskan 6.
#include <iostream>
#include <stdlib.h> //library rand() atau randem
#include <conio.h>
#include <time.h> // library srand(time(0))
using namespace std;

int Random(){
    return rand()%6;
}
void Header(){
    cout << "   DADU PROGRAM By Ismynr.xyz  " << endl;
    cout << "---------------------------------" << endl;
}
int main()
{
    a:
    srand(time(0)); // untuk mereset kembali bilangan randomnya ketika dirun
    Header();
    cout << "        ===============" << endl;
    cout << "        =      " << Random()+1 << "      = " << endl;
    cout << "        ===============" << endl;
    cout << "\n [ENTER] Random Lagi ";
    getch();
    system("cls");

    Header(); // untuk merubah tampilan saja ketika di run 
    cout << "        ===============" << endl;
    cout << "         ==    " << Random()+1 << "    ==  " << endl;
    cout << "        ===============" << endl;
    cout << "\n [ENTER] Random Lagi ";
    getch();
    system("cls");
    goto a;
}
Outputnya :
lempar dadu

Dalam kode di atas kita bisa manipulasi lagi, misalkan kita ingin menambahkan nama pemainya, seperti dalam permainan ular tangga, ludo atau permainnya lainya pasti pemainya ada lebih dari 1 orang, agar lebih dinamis lagi program lempar dadunya :
  • Menambahkan nama pemain dengan array bertipe data string 
  • Lalu jumlah dari pemainya, agar ketika kita memasukan nama tau jumlah pemainya berapa
  • Seletelah itu langsung ke permainan lempar dadunya 
  • Kalo manipulasi ini memakai looping untuk menggunakan array pemain nya 

Contoh codenya :
#include <iostream>
#include <stdlib.h> // Library rand() atau randem
#include <conio.h>
#include <time.h> // Library untuk srand(time(0))
using namespace std;

struct dataPemain{
    int jmlPemain;
    string pemain[5];
} P;

int randomDadu(){
    srand(time(0));
    return rand()%6; // untuk nilai kembalian dari hasil acak
}
void Header(){
    cout << "   DADU PROGRAM By Ismynr.xyz  " << endl;
    cout << "---------------------------------" << endl;
}
void inputPemain(){ // Untuk Input Pemain
    for(int a=0;a<P.jmlPemain;a++){
        cout << "Pemain " << a+1 << " = ";
        cin >> P.pemain[a];
    }
}
int main(){
    Header();
    do{
        cout << "Berapa Yang Ingin Main [MAX 5] ? ";
        cin >> P.jmlPemain;
    }while(P.jmlPemain > 5);

    cout << "Masukan nama pemain !" << endl;
    inputPemain();cout << endl << endl;

    while(true){
        for(int a=0;a<P.jmlPemain;a++){
            cout << "===============" << endl;
            cout << " Dadu : <["<< P.pemain[a] << "]>"<< endl;
            cout << "===============" << endl;
            cout << "=      " << randomDadu()+1 << "      = " << endl;
            cout << "===============" << endl;
            if(randomDadu()+1 == 6){
                cout << "<[" << P.pemain[a] << "]> Kamu main lagi ! "; getch();
                cout << endl<< endl;
                cout << "===============" << endl;
                cout << " Dadu : <["<< P.pemain[a] << "]>"<< endl;
                cout << "===============" << endl;
                cout << "=      " << randomDadu()+1 << "      = " << endl;
                cout << "===============" << endl;
                if(randomDadu()+1 == 6){
                    cout << "Anda sudah Kedua kalinya mendapat Dadu 6, maka giliran Lainya "; getch();
                    cout << endl << endl;
                }
            }
            cout << "[ENTER]";
            getch();
            cout << endl << endl;
        }
    }
}
Outputnya :
lempar dadu

Satu lagi, ketika dadu yang muncul angka 6, maka pemain tersebut di suruh untuk main lagi, di dunia nyata pun sama saat main ular tangga, ketika angka yang muncul 6 maka pemain itu mendapatkan double acak dadunya.

dan ketika sudah mendapatkan angka 6 kedua, maka itu didiskualifikasikan, tidak sah dan acak dadu akan diberikan pada pemain selanjtnya.

karena random dadu ini menggunakan array maka pemain sudah otomatis di urutkan dari pertama kali yang di inputkan dalam program.


tag:
program bilangan acak
random dadu
program c++ pembangkit bilangan acak
fungsi srand()
contoh program c++ dengan memanfaatkan bilangan random
cara membangkitkan bilangan random c++
contoh program random dalam c++
logoblog

Share :

2 comments:

  1. Saya ingin tau rumus apk dadu visual dice... Bisa tidak kasih masukan please

    ReplyDelete

Berkomentarlah jika ada pertanyaan, Kesan pembaca atau saran yang membangun blog ini.
> Gunakan akun google dan ceklis kolom (Notify Me) agar mendapat notifikasi balasan komentar

 
Back to Top