Senin, 20 November 2017

PROGRAM TIKET PESAWAT MENGGUNAKAN ARRAY

Assalamualaikum,
Program yang akan kita buat kali ini adalah sebuah program yang menggunakan array.
Array atau larik dalam Borland C++, dapat digolongkan menjadi dua buah dimensi :
1       Array Berdimensi Satu
          Array Berdimensi Dua

1. Array Berdimensi Satu
Sebelum digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya, hanya saja diikuti oleh suatu indek yang menunjukan jumlah maksimum data yang disediakan.
Bentuk Umum pendeklarasian array:

Tipe_Data Nama_Variabel[Ukuran]

Keterangan :

Type Data : Untuk menyatakan type data yang digunakan.
Ukuran      : Untuk menyatakan jumlah maksimum elemen array.

Contoh Pendeklarasian Array

float Nil_Akhir[6];
Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang tersebut.


Index array pada C++, selalu dimulai dari Nol ( 0 )

Inisialisasi Array Berdimensi Satu
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel. Bentuk pendefinisian suatu array dapat dilihat dari contoh berikut :
Tipe_data nama_array[jml_elemen] = { nilai array };
Contoh-1
#include <conio.h>
#include <iostream.h>
main( )
{
char hari[7][10] =
{"Minggu","Senin","Selasa","Rabu","Kamis","jum'at","Sabtu"};
clrscr( );
cout<<"Nama-nama hari:"<<endl;
cout<<hari[0]<<endl<<hari[1]<<endl<<hari[2]<<endl<<hari[3]<<endl<<hari[4]<<endl;
getch();
}
 dan hasil output dari contoh diatas adalah :

2. Array Berdimensi Dua
Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks pertama menunjukan baris dan indeks kedua menunjukan kolom. Array dimensi dua dapat digunakan seperti pendatan penjualan, pendataan nilai dan lain sebagainya.
Bentuk Umum pendeklarasian array :

Tipe_Data Nama_Variabel[index-1][index-2]

Keterangan:
• Type Data : Untuk menyatakan type data yang digunakan.
• Index-1 : Untuk menyatakan jumlah baris
• Index-2 : Untuk menyatakan jumlah kolom

Contoh Pendeklarasian Array
Sebagai contoh pendeklarasian yang akan kita gunakan adalah pengolahan data penjualan, berikut dapat anda lihat pada tabel berikut :



Jika anda lihat dari tabel  diatas maka dapat dituliskan kedalam array dimensi dua berikut:



Inisialisasi Array Berdimensi Dua
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel. Bentuk pendefinisian suatu array dapat dilihat dari contoh berikut:
Contoh-3
#include <conio.h>
#include <iostream.h>
main()
{
char nama[2][3][10]={{"Pak","BU","Mas"},
{"Andi","Budi","Carli"}};
clrscr();


cout<<nama[0][0]<<ends<<nama[1][0]<<endl;
cout<<nama[0][1]<<ends<<nama[1][2]<<endl;
cout<<nama[0][2]<<ends<<nama[1][1]<<endl;
getch();
}
Dan hasil outputnya adalah :

Nah  semua yang diatas tadi adalah pengenalan dari Array.
Sekarang kita langsung ke program yang akan kita buat, yaitu Program Pemesanan Tiket Pesawat.  



#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
main()
{
int bj,n,hs[5],th[5],bp[5],k[5],t=0,tb;
char kl[9],kp[5],*jp[5];
float pj,bb,km;

cout<<"\n\t------------------------------------------------------------\n";
cout<<"\t********************DAFTAR TIKET PESAWAT********************\n";
cout<<"\t--------------------------13170142--------------------------\n";
cout<<"\t============================================================\n";
cout<<"\t| Kode P. | Nama Pesawat     | Kode Kls.| Kelas   | Harga  |\n";
cout<<"\t------------------------------------------------------------\n";
cout<<"\t|  B      | Buroq Air Lines  |    1     | VIP     | 400000 |\n";
cout<<"\t|         |                  |    2     | Ekonomi | 300000 |\n";
cout<<"\t|  G      | Garuda           |    1     | VIP     | 500000 |\n";
cout<<"\t|         |                  |    2     | Ekonomi | 350000 |\n";
cout<<"\t|  S      | Star Air         |    1     | VIP     | 350000 |\n";
cout<<"\t|         |                  |    2     | Ekonomi | 250000 |\n";
cout<<"\t============================================================\n";

cout<<"\tBanyak Pesanan  : ";cin>>bj;
for (n=1;n<=bj;n++)
{
cout<<"\n\tPesanan         : "<<n<<endl;
cout<<"\t-----------------\n";
cout<<"\tKode Pesawat    : ";cin>>kp[n];
cout<<"\tKelas Pesawat   : ";cin>>k[n];
cout<<"\tJumlah Pesan    : ";cin>>bp[n];
}
clrscr();
cout<<" -------------------------------------------------------------\n";
cout<<"      BUKTI PEMESANAN TIKET PESAWAT JAKARTA-HONGKONG\n";
cout<<" -------------------------------------------------------------\n";
cout<<" | No.|Nama           | Kelas   | Harga  | Banyak | Total    |\n";
cout<<" |    |Pesawat        |         | Tiket  | Tiket  | Harga    |\n";
cout<<" -------------------------------------------------------------\n";
for (n=1;n<=bj;n++)
{
cout<<" | ";
cout<<setiosflags(ios::left)<<setw(3)<<n;
cout<<"|";
if (kp[n]=='B'||kp[n]=='b')
{ jp[n]="Buroq Air Line |";
  if (k[n]==1)
 {strcpy(kl,"VIP     |");hs[n]=400000;}
 else if (k[n]==2)
 {strcpy(kl,"Ekonomi |");hs[n]=300000;}
}
else if (kp[n]=='G'||kp[n]=='g')
{ jp[n]="Garuda         |";
    if (k[n]==1)
 {strcpy(kl,"VIP     |");hs[n]=500000;}
 else if (k[n]==2)
 {strcpy(kl,"Ekonomi |");hs[n]=350000;}
}
else if (kp[n]=='S'||kp[n]=='s')
{ jp[n]="Star Air       |";
    if (k[n]==1)
 {strcpy(kl,"VIP     |");hs[n]=350000;}
 else if (k[n]==2)
 {strcpy(kl,"Ekonomi |");hs[n]=250000;}}

cout<<setiosflags(ios::left)<<setw(17)<<jp[n];
cout<<setiosflags(ios::left)<<setw(10)<<kl;
cout<<setiosflags(ios::left)<<setw(7)<<hs[n];
cout<<"|  ";
cout<<setiosflags(ios::left)<<setw(6)<<bp[n];
cout<<"| ";
th[n]=hs[n]*bp[n];
cout<<setiosflags(ios::left)<<setw(9)<<th[n];
cout<<"|\n";
t=t+th[n];
}
cout<<"\n =============================================================\n";
cout<<"\n\t\t\tTotal Harga   : "<<t<<endl;
cout<<"\t\t\tJumlah Bayar  : ";cin>>bb;
cout<<"\n\t\t\t----------------------";
km=bb-t;
cout<<"\n\t\t\tKembali       : "<<km;
cout<<"\n =============================================================\n";
cout<<"\n ***********Simpan Bukti Pembayaran ini Terima Kasih********** ";
cout<<"\n *************Semoga Perjalanan Anda Menyenangkan************* ";
cout<<"\n **************************13170142*************************** ";
getch();
}

Dari program di atas maka hasil outputnya adalah :
Tampilan awal untuk input data




Selanjutnya adalah hasil dari apa yang telah kita input (data pemesanan) dan perintah untuk input jumlah uang yang dibayarkan.


Dan yang terakhir adalah hasil dari total harga – jumlah bayar (kembalian)


Dengan begitu selesai sudah program yang kita buat kali ini, semoga bermanfaat dan tetap semangat untuk belajar.
 Terimakasih,



















PERULANGAN DALAM BORLAND C++


Jika membahas bahasa pemrograman, pasti kita akan menjumpai Proses Pengulangan, disini  kita akan membahas beberapa perintah perulangan diantaranya.

Pernyataan for
Perulangan yang pertama adalah for.
Bentuk umum pernyataan for sebagai berikut :

  for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )

Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakan didalam tanda kurung.

 for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
 {
 pernyataan / perintah;
 pernyataan / perintah;
 pernyataan / perintah;
 }

Kegunaan dari masing-masing argumen for diatas adalah :

Inisialisasi: merupakan bagian untuk memberikan nilai awal untuk variabel-variabel tertentu.

Syarat Pengulangan: memegang kontrol terhadap pengulangan, karena bagian ini yang akan menentukan suatu perulangan diteruskan atau dihentikan.

Pengubah Nilai Pencacah: mengatur kenaikan atau penurunan nilai pencacah.

Contoh :
Program untuk mencetak bilangan dari 1 hingga 10 secara menurun sebagai berikut:
Contoh-1

#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main( )
{
int a;
clrscr( );
for(a = 1; a <= 10; ++a)
cout>>a;
getch( );

}


nested - for
Pernyataaan Nested for adalah suatu perulangan for didalam perulangan for yang lainnya. Bentuk umum pernyataan Nested for sebagai berikut :

for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)
{
pernyataan / perintah;
}
}

Didalam penggunaan nested-for, perulangan yang di dalam terlebih dahulu dihitung hingga selesai, kemudian perulangan yang diluar diselesaikan.

#include<stdio.h>
#include<conio.h>
main( )
{
int a, b;
clrscr( );
for(a = 1; a <= 5; a++)
{
printf("\n");
for(b = a; b <= 5; b++)
printf(" %d ",a);
}
getch();
}


Pernyataan goto
Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi program ke-pernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal (identifier) yang diikuti dengan tanda titik dua ( : ). 
Bentuk pemakaian goto sebagai berikut:

goto label;

while
Pernyataan perulangan while merupakan instruksi perulangan yang mirip dengan perulangan for. Bentuk perulangan while dikendalikan oleh syarat tertentu, yaitu perulangan akan terus dilaksanakan selama syarat tersebut terpenuhi.
Bentuk umum perulangan while, sebagai berikut:

while ( syarat )
Pernyataan / perintah ;

Bentuk umum perulangan while, dengan lebih dari perintah / pernyataan, sebagai berikut:

while ( syarat )
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}


do - while
Pernyataan perulangan do - while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang.
Bentuk umum perulangan do - while, sebagai berikut :

do
pernyataan / perintah ;
while ( syarat );

Bentuk umum perulangan do - while, dengan lebih dari perintah / pernyataan, sebagai berikut:

do
{
Pernyataan / perintah ;
Pernyataan / perintah ;
}
while ( syarat );











Jumat, 03 November 2017

PROGRAM KASIR SUSU MENGGUNAKAN SWITCH - CASE




Assalamualaikum,


Apakabar semuanya, semoga kita berjumpa dalam keadaan sehat tanpa ada suatu halangan apapun Aamiin.
Kali ini kita masih membahas "KONDISI DIDALAM KONDISI" seperti pada pertemuan sebelumnya. Untuk penyeleksian kondisi pada program yang akan kita buat kali ini saya akan menggunakan switch – case .

Pernyataan switch - case


switch - case merupakan pernyataan yang dirancangan khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif penyelesaian. Pernyataan switch - case ini memiliki kegunaan sama seperti if – else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer. 
Bentuk penulisan perintah ini sebagai berikut:

switch (ekspresi integer atau karakter ) 

{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}

Setiap pilihan akan dijalankan jika syarat nilai konstanta tersebut dipenuhi dan default akan dijalankan jika semua cabang diatasnya tidak terpenuhi. 
Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan ke pilihan-pilihan yang lainnya.

Nah, sekarang langsung saja kita ke TKP .

Membuat Program Kasir Toko Susu 13170142

Dengan ketentuan :

NAMA BARANG           UKURAN             HARGA

SUSU DANCOW            KECIL                   Rp. 15000
                                       SEDANG              Rp. 20000
                                       BESAR                 Rp. 25000

SUSU BENDERA           KECIL                   Rp. 13500
                                       SEDANG              Rp. 17500
                                       BESAR                 Rp. 20000

SUSU SGM                     KECIL                  Rp. 15000
                                        SEDANG             Rp. 18500
                                        BESAR                Rp. 22000




#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>

main()
{
char kod,ns[10],ku,uk[10],nama[10],lagi;
int jp;
float jb,kembali,harga,pembayaran,total;
awal:
clrscr();
cout<<"\n\t\t\t======DAFTAR PEMESANAN SUSU=======";
cout<<"\n\t\t\t========TOKO SUSU 13170142========";
cout<<"\n\tKODE BARANG :";
cout<<"\n\t\t A. DANCOW";
cout<<"\n\t\t B. BENDERA";
cout<<"\n\t\t C. SGM";
cout<<"\n\tUKURAN :";
cout<<"\n\t\t 1. KECIL ";
cout<<"\n\t\t 2. SEDANG ";
cout<<"\n\t\t 3. BESAR ";

cout<<"\n\t====================================================================";
cout<<"\n\n\t\tMasukkan Kode Barang \t : ";cin>>kod;
cout<<"\t\tMasukkan Kode Ukuran\t : ";cin>>ku;
cout<<"\t\tJumlah Pemesanan\t : ";cin>>jp;
clrscr();

switch (kod)
{
case'A':
case'a':
 strcpy(ns,"SUSU DANCOW");
 if (ku=='1')
 {strcpy (uk,"KECIL");harga=15000;}
 else if (ku=='2')
 {strcpy (uk,"SEDANG");harga=20000;}
 else if (ku=='3')
 {strcpy (uk,"BESAR");harga=25000;}
 break;
case'B':
case'b':
 strcpy(ns,"SUSU BEDERA");
 if (ku=='1')
 {strcpy (uk,"KECIL");harga=13500;}
 else if (ku=='2')
 {strcpy (uk,"SEDANG");harga=17500;}
 else if (ku=='3')
 {strcpy (uk,"BESAR");harga=20000;}
 break;
case'C':
case'c':
 strcpy(ns,"SUSU SGM");
 if (ku=='1')
 {strcpy (uk,"KECIL");harga=15000;}
 else if (ku=='2')
 {strcpy (uk,"SEDANG");harga=18500;}
 else if (ku=='3')
 {strcpy (uk,"BESAR");harga=22000;}
 break;
 default:
 printf ("\n\t\tKode Salah !!!");
 cout<<"\n\t\tIngin Cetak lagi? [Y/T] : ";cin>>lagi;
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else


  goto akhir;
  }


 clrscr();
 total = jp*harga;
 cout<<"\n\t++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
 printf("\n\n\t\tNama Barang\t\t : %s",ns);
 printf("\n\t\tUkuran\t\t\t : %s",uk);
 printf("\n\t\tHarga \t\t\t : %.f",harga);
 printf("\n\t\tJumlah Pemesanan\t : %i",jp);
 printf("\n\t\tTotal Harga\t\t : %.f",total);
 printf("\n\t\tMasukkan Jumlah Bayar\t : ");cin>>jb;
 kembali=jb-total;
 printf("\n\t\tJumlah Kembali\t\t : %.f",kembali);
 cout<<"\n\n\t++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
 cout<<"\n\t\tIngin Cetak lagi? [Y/T]  : ";cin>>lagi;
 cout<<"\n\t++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++";
 if (lagi=='Y'||lagi=='y')
  goto awal;
 else
  goto akhir;


 akhir :
 printf("\n\t\t\tTerima Kasih");
 getch();

}


Pada layar pertama akan muncul perintah untuk memasukkan kode sesuai dengan apa yang ditampilkan.



setelah selesai memasukkan kode, maka akan keluar data pemesanan sesuai kode yang telah dimasukkan dan juga ada perintah untuk memasukkan jumlah uang yang dibayarkan.



Setelah memasukkan jumlah uang yang dibayarkan, maka secara otomatis akan keluar jumlah kembalian dan pilihan untuk melakukan cetak lagi atau tidak.
Jika ya (Y) maka akan terjadi pengulangan dan jika tidak (T) maka program akan di akhiri dan akan muncul kalimat "Terima Kasih".

Cukup sekian untuk pertemuan kali ini semoga bisa menambah pengetahuan kita terutama di dalam bahasa pemrograman.
Terima kasih .