Skip to content Skip to sidebar Skip to footer

Cara membuat kursi kosong dan isi berurutan menggunakan bahasa pemrograman C++



Assalamu'alaikum wr,wb
Pada kesempatan ini saya akan memberikan cara membuat program kursi kosong dan isi dengan bahasa pemrograman C++. untuk membuat program seperti ini, tentunya kita harus menguasai Array terlebih dahulu. karena di program ini, data yang kita manipulasikan untuk ditampilkan sebagai output adalah data dari array.

Pada artikel ini sebenarnya merupakan perkembangan dari artikel sebelumnya. yaitu cara membuat tabel dengan array. Namun bedanya adalah program yang satu ini menampilkan data array dengan dua angka yang berhubungan terletak sejajar secara horizontal dengan perantara sebuah garis. Seperti gambar dibawah ini.

Cara membuat kursi kosong dan isi berurutan menggunakan bahasa pemrograman C++


Dengan menambahkan sedikit program, kita bisa membuat program sebelumnya menjadi tampilan seperti diatas.

Pada dasarnya hal ini memang hanya membutuhkan penguasaan bahasa pemrograman c++ dan logika komputer saja. kita hanya perlu mengetahui alur program yang ada. Masalahnya kita hanya bisa mengira-ngira apakah laju program sudah sesuai dengan yang diharapkan atau belum. Untuk mengetahuinya tentu kita harus mengcompile program tersebut, dan melihat outputnya apakah sudah sesuai dengan yang diharapkan. Jika belum maka yang perlu kita lakukan adalah mengurutkan laju program yang sudah kita buat tadi. maka dari itu, saya sarankan bagi pembaca yang baru belajar program lebih baik menguasai percabangan dan perulangan terlebih dahulu.

Selain percabangan dan perulangan, saya juga menggunakan method/function, hal ini saya gunakan karena dengan method/function, saya bisa mengatur program dengan lebih mudah dan program terlihat rapi. sehingga perubahan yang dilakukan tidak terlalu sulit, kita hanya perlu melihat program-program C++ yang sudah dikelompokkan pada fungsinya masing-masing.





Baca Juga



Oke langsung saja, berikut adalah program C++ yang saya gunakan. Mungkin memang banyak fungsi yang saya gunakan. namun hanya sebagian saja yang akan saya jelaskan. karena beberapa fungsi seperti gotoxy tidak perlu dijelasjan secara rinci. Begitupun header, header sendiri adalah framework yang berisi fungsi-fungsi yang bisa dipanggil. jadi tidak perlu dijelaskan lagi

KotakKecil


void kotakKecil(int sp, int en){
    int baris=1;
    int kolom=6;
    for (int i = 0; i<=baris; i++){
        for (int j = 0; j<=kolom; j++){
            if(j==0||j==kolom){
                gotoxy(sp+j,en+i);cout<<"|";
            } else if(i==0){
                gotoxy(sp+j,en+i);cout<<"=";
            }
            else
                gotoxy(sp+j,en+i);cout<<" ";
        }
        cout<<endl;
    }
}
Program diatas berfungsi untuk membuat output meja(|===|). output tersebut berfungsi untuk memisahkan angka atas(nomor meja) dan bawah(pelanggan). Laju programnya adalah sebagai berikut :

  1. Program menggunakan 2. perulangan pertama berfungsi untuk menentukan baris, perulangan kedua berfungsi untuk menentukan kolom (baris dan kolom sudah di default)
  2. Kondisi pertama juka j bernilai 0 atau j sama dengan kolom. maka akan muncul output | dengan posisi yang sudah ditentukan dengan gotoxy. gotoxy sendiri baris dan kolomnya diatur dengan perulangan i dan j. dengan tujuan letaknya berubah secara teratur dan berurutan. karena jika nilai tidak berubah, output saling bertumpang tindih sehingga output tidak maksimal.
  3. Kondisi kedua. jika i sama dengan 0, maka akan muncul output =. artinya output = hanya muncul ketika i bernilai antara 0 dan kolom. dengan kata lain, output = muncul diantara |
  4. Kondisi ketiga, jika kedua kondisi sebelumnya tidak terpenuhi, maka muncul output " "(spasi). Hal ini diperlukan karena jika tidak ada output disini, letaknya akan acak-acakan. jika tidak percaya, silahkan coba sendiri.
  5. Ketika perulangan j sudah bernilai false, maka program otomatis membu
  6. at baris baru (endl)


KotakRuang


void kotakRuang(int sp, int en, string meja[][2]){
    int baris=10;
    int kolom=60;
    int noMeja=0;
    for (int i=0;i<=baris; i++){
        for (int j = 0; j<=kolom; j++){
            if(j==0||j==kolom){
                gotoxy(sp+j,en+i);cout<<"|";
            } else if(i==baris||i==0){
                gotoxy(sp+j,en+i);cout<<"=";
            } else
                gotoxy(sp+j,en+i);cout<<" ";
        }
        for(int k=0;k<=kolom; k++){
            if(i==2&&(k==10||k==30||k==50)){
                kotakKecil(sp+k,en+i);
            } else if(i==8&&(k==30||k==50)){
                kotakKecil(sp+k,en+i);
            }
        }
        cout<<endl;
    }
    for (int i=0;i<=baris; i++){
        for(int k=0;k<=kolom; k++){
            if(i==1&&(k==13||k==33||k==53)){
                gotoxy(sp+k,en+i);cout<<meja[noMeja][0];
                gotoxy(sp+k,en+i+2);cout<<meja[noMeja][1];
                noMeja=noMeja+1;
            } else if(i==7&&(k==33||k==53)){
                gotoxy(sp+k,en+i);cout<<meja[noMeja][1];
                gotoxy(sp+k,en+i+2);cout<<meja[noMeja][0];
                noMeja=noMeja+1;
            }
        }
        cout<<endl;
    }
}
Kotak ruang sendiri memiliki 3 fungsi. yaitu untuk membuat kotak besar sebagai batas dan memanggil fungsi kotak kecil, dan menampilkan data. Jika kita lihat, program diatas memiliki memiliki 2 perulangan yang mana perulangan pertama memiliki 2 perulangan lagi didalamnya. Hal ini untuk membuat kotak besar sebagai batas dan memanggil fungsi kotak kecil, sementara perulangan yang satunya menggunakan 2 percabangan. hal ini bertujuan untuk memanggil data. Berikut merupakan penjelasannya.

  1. Perulangan pertama

    • Perulangan pertama
      • Kondisi pertama juka j bernilai 0 atau j sama dengan kolom. maka akan muncul output | dengan posisi yang sudah ditentukan dengan gotoxy. gotoxy sendiri baris dan kolomnya diatur dengan perulangan i dan j. dengan tujuan letaknya berubah secara teratur dan berurutan. karena jika nilai tidak berubah, output saling bertumpang tindih sehingga output tidak maksimal.
      • Kondisi kedua. jika i sama dengan 0, maka akan muncul output =. artinya output = hanya muncul ketika i bernilai antara 0 dan kolom. dengan kata lain, output = muncul diantara |
      • Kondisi ketiga, jika kedua kondisi sebelumnya tidak terpenuhi, maka muncul output " "(spasi). Hal ini diperlukan karena jika tidak ada output disini, letaknya akan acak-acakan. jika tidak percaya, silahkan coba sendiri.
    • Perulangan kedua
      • Kondisi pertama. Jika i sama dengan dua dan(k sama dengan sepuluh, atau k sama dengan tiga puluh, atau k sama dengan lima puluh), maka program akan memanggil fungsi kotakKecil dengan parameter yang sudah ditentukan. program ini sebenarnya hanya untuk membedakan nomor meja saja. karena di output ada meja di baris pertama dan di baris kedua. jika di baris pertama, akan menampilkan nomor meja di sebelah atas, sementara jika outputnya di baris kedua, maka akan menampilkan nomor meja di bagian bawah.
      • Kondisi pertama. Jika i sama dengan delapan dan(k sama dengan tiga puluh, atau k sama dengan lima puluh), maka program akan memanggil fungsi kotakKecil dengan parameter yang sudah ditentukan. program ini sebenarnya hanya untuk membedakan nomor meja saja. karena di output ada meja di baris pertama dan di baris kedua. jika di baris pertama, akan menampilkan nomor meja di sebelah atas, sementara jika outputnya di baris kedua, maka akan menampilkan nomor meja di bagian bawah.
    • Setelah kedua perulangan diatas selesai, maka akan muncul baris baru.
  2. Perulangan kedua

    • Kondisi pertama, jika i sama dengan satu dan(k sama dengan tiga belas, atau k sama dengan tiga puluh tiga, atau k sama dengan lima puluh tiga). Maka akan muncul output data nomeja 0 dan nomeja 1. kemudian variabel nomeja bertambah 1.
    • Kondisi kedua, jika i sama dengan tujuh dan(k sama dengan tiga puluh tiga, atau k sama dengan lima puluh tiga). Maka akan muncul output data nomeja 1 dan nomeja 0. kemudian variabel nomeja bertambah 1.
    • Setelah itu, maka program akan memberikan baris baru.

Sekiranya begitulah penjelasannya. mungkin agak membingungkan. maka dari itu, jika pembaca sudah menguasai  percabangan dan perulangan terlebih dahulu, maka program diatas dapat dipahami tanpa perlu dijelaskan. pembaca hanya perlu melihat program C++ diatas saja sudah mampu untuk memahaminya.

Dibawah ini merupakan program kursi kosong dan isi secara penuh


#include <iostream>
#include <conio.h>
#include <string>
#include <windows.h>
#include <sstream>

using namespace std;
int adm;
string pilih1;

//fungsi gotoxy
void gotoxy(int x, int y)
{
HANDLE hConsoleOutput;
COORD dwCursorPosition;
cout.flush();
dwCursorPosition.X = x;
dwCursorPosition.Y = y;
hConsoleOutput = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsoleOutput,dwCursorPosition);
}

void kotakKecil(int sp, int en){
    int baris=1;
    int kolom=6;
    for (int i = 0; i<=baris; i++){
        for (int j = 0; j<=kolom; j++){
            if(j==0||j==kolom){
                gotoxy(sp+j,en+i);cout<<"|";
            } else if(i==0){
                gotoxy(sp+j,en+i);cout<<"=";
            }
            else
                gotoxy(sp+j,en+i);cout<<" ";
        }
        cout<<endl;
    }
}

void kotakRuang(int sp, int en, string meja[][2]){
    int baris=10;
    int kolom=60;
    int noMeja=0;
    for (int i=0;i<=baris; i++){
        for (int j = 0; j<=kolom; j++){
            if(j==0||j==kolom){
                gotoxy(sp+j,en+i);cout<<"|";
            } else if(i==baris||i==0){
                gotoxy(sp+j,en+i);cout<<"=";
            } else
                gotoxy(sp+j,en+i);cout<<" ";
        }
        for(int k=0;k<=kolom; k++){
            if(i==2&&(k==10||k==30||k==50)){
                kotakKecil(sp+k,en+i);
            } else if(i==8&&(k==30||k==50)){
                kotakKecil(sp+k,en+i);
            }
        }
        cout<<endl;
    }
    for (int i=0;i<=baris; i++){
        for(int k=0;k<=kolom; k++){
            if(i==1&&(k==13||k==33||k==53)){
                gotoxy(sp+k,en+i);cout<<meja[noMeja][0];
                gotoxy(sp+k,en+i+2);cout<<meja[noMeja][1];
                noMeja=noMeja+1;
            } else if(i==7&&(k==33||k==53)){
                gotoxy(sp+k,en+i);cout<<meja[noMeja][1];
                gotoxy(sp+k,en+i+2);cout<<meja[noMeja][0];
                noMeja=noMeja+1;
            }
        }
        cout<<endl;
    }
}

int main(){
    system("cls");
    string meja[5][2]={{"1","satu"},{"2","dua"},{"3","tiga"},{"4","empat"},{"5","lima"}};
    kotakRuang(6,7,meja);
}

Silahkan di compile dan run. lihat hasilnya

Cara membuat kursi kosong dan isi berurutan menggunakan bahasa pemrograman C++


Saya rasa cukup sampai disini tutorial membuat meja pelanggan di artikel ini. semoga artikel ini dapat menambah pengetahuan pembaca. Assalamu'alaikum wr,wb



Post a Comment for "Cara membuat kursi kosong dan isi berurutan menggunakan bahasa pemrograman C++"