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.
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
- Pengenalan C++, C++ adalah
- Penjelasan array berfungsi sebagai database relasi
- Urgent.id. Mencegah HP kesayanganmu rusak
- Cara membuat aplikasi desktop dengan bahasa pemrograman C#
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;
}
}
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 menggunakan 2. perulangan pertama berfungsi untuk menentukan baris, perulangan kedua berfungsi untuk menentukan kolom (baris dan kolom sudah di default)
- 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.
- Ketika perulangan j sudah bernilai false, maka program otomatis membu
- 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;
}
}
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;
}
}
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.
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 <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);
}
#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
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++"