Anda di halaman 1dari 18

PERANCANGAN PROGRAM PENJUALAN TIKET BUS DENGAN

MENGGUNAKAN BORLAND C++

PROJECT DASAR PEMOGRAMAN SEMESTER SATU


DISUSUN OLEH :
 OCKTHA DWI SAHPUTRA (17190734)
 ANGGA RISKI RAMADAN (17190786)
 FAISAL AKBAR (17190689)

KELAS : 17.1C.25

PROGRAM STUDI S1 TEKNOLOGI INFORMASI


UNIVERSITAS BINA SARANA INFORMATIKA
TAHUN 2019/2020
KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa atas segala kenikmatan yang telah diberikan
kepada seluruh umat manusia, termasuk kepada kami Tim Penyusun sehingga dapat
menyelesaikan perancangan program untuk project pada mata kuliah Dasar Pemrograman
pada semester satu ini.
Kami sebagai Tim Penyusun telah merancang suatu program penjualan sederhana yang
berjudul “Program Penjualan Tiket Bus”, yang kami harap selain dapat menghasilkan nilai yang
baik untuk project akhir semester satu pada mata kuliah ini, dapat juga membantu dalam
bidang penjualan Tiket di Terminal-Terminal Bus
Terima kasih kami ucapkan kepada Dosen Mata Kuliah Dasar Pemrograman yang telah
mempercayakan tugas ini kepada kami. Semoga tugas ini dapat diterima dengan baik dengan
segala kekurangan yang belum dapat kami sempurnakan. Oleh karena itu, kami mengharapkan
kritik dan saran yang membangun dari para pembaca.

Jakarta,November 2019

Tim Penyusun
DAFTAR ISI
JUDUL……………………………………………………………………………………………1
KATA PENGANTAR......................................................................................................................................2
BAB I............................................................................................................................................................4
PENDAHULUAN...........................................................................................................................................4
1.1 Latar Belakang.............................................................................................................................4
1.2 Rumusan Masalah.......................................................................................................................4
1.3 Tujuan..........................................................................................................................................4
BAB II...........................................................................................................................................................5
PEMBAHASAN.............................................................................................................................................5
2.1 File Header..................................................................................................................................5
2.2 Function Atau Fungsi...................................................................................................................6
2.3 Variabel............................................................................................................................................8
2.4 Tipe Data..........................................................................................................................................9
2.5 Operator.........................................................................................................................................10
2.6 Seleksi Kondisi................................................................................................................................11
2.7 Listing Program..............................................................................................................................13
BAB III........................................................................................................................................................17
PENUTUP...................................................................................................................................................17
3.1 Kesimpulan................................................................................................................................17
3.2 Saran..........................................................................................................................................17
DAFTAR PUSTAKA.................................................................................................................................17
BAB I

PENDAHULUAN

1.1 Latar Belakang

Di zaman ini kemajuan teknologi semakin pesat dan berkembang, salah satunya dalam bidang
teknologi informasi. Seperti yang kita tahu bahwa informasi merupakan sekumpulan data
mentah yang telah diolah dan diproses agar dapat menjadi sesuatu yang lebih berguna bagi
pemakai. Agar data-data tersebut dapat dijadikan informasi, maka perlu adanya sistem
teknologi informasi yang mendukung, salah satunya adalah program.

Program yang kami buat ini berfungsi untuk mempermudah sistem penjualan tiket bus di area
terminal,baik dari segi proses pengisian lembar pembelian hingga total harga serta kembalian
tanpa harus menghitung manual

1.2 Rumusan Masalah

Rumusan masalah yang kami akan bahas dalam makalah ini adalah:
1. Ketentuan dalam listing program yang kami buat
2. Tampilan pada listing program
3. Listing program penjualan tiket

1.3 Tujuan
Tujuan utama dari dibuatnya makalah ini adalah untuk mendapatkan nila tugas akhir semester
satu pada Mata Kuliah Dasar Pemrograman. Selain itu, kami harapkan agar makalah ini dapat
menambah wawasan bagi para pembaca dan tim penyusun sendiri yang ingin mengetahui lebih
jauh tentang pemrograman c++ dan pemanfaatannya dalam kehidupan sehari-hari.
BAB II

PEMBAHASAN

2.1 File Header

File Header (File dengan ekstensi .h) adalah file yang berisi fungsi-fungsi dan telah
dikompilasi/terjemahkan sebelumnya. Apabila akan menggunakan suatu file header, maka akan
didaftarkan melalui directive #include.
Contoh : Di dalam kode program , kita akan menggunakan cout dan cin. Sedangkan cout dan cin
terdapat dalam file header iostream.h, maka kita akan melakukan pendaftaran dalam program
kita melalui sintaks “#include <iostream.h>”.

Berikut beberapa file header yang terdapat pada coding program Borland C++ kelompok kami :
1. Stdio.h : File Header ini merupakan singkatan dari Standard Input-Output.
Perintah yang ada dijadikan sebagai standar input dan output dalam program, berlaku pada
aplikasi program c++ versi standar. Jika aplikasi program c++ kalian versi lama, maka
perintah yang menjadi standar input dan outputnya adalah yang terdapat dalam file
iostream.h.Perintah yang termasuk ke dalam file header stdio.h pada program kami yaitu :
gets ( ).

2. Conio.h : File Header ini merupakan singkatan dari Console Input-Output.


Digunakan untuk membuat teks antar muka pengguna.
Perintah yang termasuk ke dalam file header conio.h pada program kami yaitu : getch ( ).

3. Iostream.h : File Header ini memiliki beberapa perintah umum seperti cout untuk
output dan cin untuk input.
Perintah yang termasuk ke dalam file header iostream.h pada program kami yaitu : cout, cin
dan endl ( )

4. Cstring : Merupakan header yang berisi fungsi-fungsi,makro dan tipe yang


digunakan untuk pengoprasian string dan array
5. Stdlib : Untuk melakukan berbagai operasi,termasuk konversi,pseudo-acak
nomor,alokasi memori,control proses,lingkungan,sinyal,pencarian, dan sortasi.

2.2 Function Atau Fungsi


Adalah suatu blok kode yang melakukan suatu tugas tertentu atau suatu blok instruksi yang
dieksekusi ketika dipanggil oleh bagian lain dalam suatu program.

Tujuan pembuatan fungsi antara lain :

1. Mengurangi pengulangan penulisan program yang berulangan atau sama.


2. Program menjadi lebih terstruktur, sehingga mudah dipahami dan dapat lebih
dikembangkan.
3. Menghemat ukuran memori program.

Pemanggilan fungsi dapat berulang-ulang dengan cara memanggilan nama fungsinya.


Contoh deklarasinya sebagi berikut :

nama_fungsi (argument)
{
… pernyataan/ perintah;
… pernyataan/ perintah;
… pernyataan/ perintah;
}

Keterangan :
A. Nama fungsi dapat ditulis secara bebas dan tidak menggunakan spasi.
B. Argumen diletakkan di antara tanda kurung, boleh diisi atau dibiarkan kosong.
C. Pernyataan/ perintan diletakkan di antara tanda kurung kurawal.

Fungsi-Fungsi yang terdapat di program kami diantaranya :

1. Fungsi MAIN adalah fungsi utama yang harus ada dalam setiap program Borland C++,
karena fungsi ini sebagai awal mula program dibuat dan dijalankan.
//FUNGSI MAIN ATAU FUNGSI UTAMA PADA
PROGRAM
MAIN( )
{
//DEKLARASI VARIABEL
char kode_b, nama_b[50], tujuan[10], nama[50], lagi;
string kode_tj;
int harga, total, jmlh_beli, ttlbayar, kembalian;atas:

2. Fungsi CIN Adalah fungsi masukan. Merupakan sebuah objek didalam Borland C++ yang
digunakan untuk memasukkan suatu data yang tidak berisi spasi. Untuk menggunakan
fungsi cin ini, harus menyertakan file header iostream.h

cout<<" Kode BUS [R / S / P] : ";cin>>kode_b;

3. Fungsi GETS adalah fungsi masukan. Merupakan sebuah objek didalam Borland C++ yang
digunakan untuk memasukkan suatu data yang berisi dengan spasi. Untuk menggunakan
fungsi gets ini, harus menyertakan file header stdio.h

cout<<"Nama Penumpang : ";gets(nama);

4. Fungsi COUT adalah fungsi keluaran. Merupakan sebuah objek didalam Borland C++ yang
digunakan untuk menampilkan data ke layar. Untuk menggunakan fungsi cout ini, harus
menyertakan file header iostream.h.

cout<<"Pilihan BUS :\n";

5. Fungsi ENDL adalah fungsi manipulator yang digunakan untuk menyisipkan karakter
NewLine atau mengatur pindah satu baris. Fungsi ini kegunaannya sama dengan notasi ‘\n’
pada karakter Escape Sequences. File header yang harus disertakan adalah iostream.h

cout<<" Nama Bus\t\t: "<<nama_b<<endl;


6. Fungsi STRCPY adalah fungsi manipulasi string (kata/kalimat). Fungsi ini digunakan untuk
menyalin string asal ke-variabel string tujuan, dengan syarat string tujuan harus mempunyai
tipe data dan dan ukuran yang sama dengan string asal. File header yang harus disertakan
adalah string.h .
Bentuk penulisan fungsi strcpy ( ) : strcpy(tujuan, asal);

strcpy(nama_b, "Rosalia");

7. Fungsi GETCH pada program kami digunakan untuk menahan tampilan pada program
karena diletakkan sebelum punctuator ‘}’. File header yang harus disertakan adalah
conio.h .

getch();
8. Fungsi System Adalah untuk membersihkan layar pada program yang akan di jalankan
sehingga pemogram dapat menentukan saat untuk menghapus data yang telah di jalankan
tanpa harus menutup program tersebut dan membukanya kembali.

system("cls");goto atas;

2.3 Variabel

Variabel adalah suatu tempat menampung data yang nilai datanya dapat berubah-ubah selama
eksekusi program berlangsung.

Dalam pemberian nama variabel, mempunyai ketentuan-ketentuan antara lain :


1. Tidak boleh ada spasi (contoh : gaji bersih) dan dapat menggunakan tanda garis bawah
( _ ) sebagai penghubung (contoh : gaji_bersih) atau dapat juga ditulis tanpa tanda
penghubung (contoh : gajibersih).
2. Tidak boleh diawali oleh angka dan menggunakan operator aritmatika.
3. Penamaan variabel bersifat case sensitive (huruf besar & huruf kecil dianggap berbeda).
4. Harus dideklarasikan dahulu sebelum digunakan.

Variabel, dibagi menjadi dua jenis kelompok, yaitu :


 Variabel Numerik
 Variabel Teks
1. Variabel Numerik adalah variabel yang memuat angka.
Variabel numerik ini dibagi menjadi menjadi 3 (tiga) macam yaitu :
 Bilangan Bulat atau Integer.
 Bilangan Desimal Berpresisi Tunggal atau Floating Point.
 Bilangan Desimal Berpresisi Ganda atau Double Precision.

2. Variabel Teks adalah variabel yang memuat teks.


 Character (Karakter Tunggal)
 String (Untuk Rangkaian Karakter)

Pada program, kami menggunakan beberapa variabel antara lain :

1. Varibel numerik yaitu :

Bilangan bulat atau Integer


harga, total, jmlh_beli,
ttlbayar, kembalian;atas:.

2. Varibel teks yaitu :

String (Untuk Rangkaian Karakter)


kode_b, nama_b[50], tujuan[10], nama[50], lagi;

Pada variabel string khususnya data yang masukkan, maka kita perlu menetapkan batas
maksimal karakter. Hal ini bertujuan untuk menghemat memori penyimpanan dan
mengefisiensikan waktu memasukkan data. Jika data yang anda masukkan melebihi jumlah dari
batas maksimal karakter, maka karakter yang tadi dimasukkan hanya akan tampil sebanyak
atau sejumlah batas maksimal karakter yang sudah ditetapkan sebelumnya.
Contoh : jika anda membuat variabel “nama[50]”. Diketahui bahwa variabel nama hanya dapat
menampilkan 15 karakter. Misalnya kita masukkan nama “OCKTHA DWI SAHPUTRA” yang
terdiri dari 17 karakter, maka program hanya akan menampilkan sebanyak 15 karakter saja dari
nama tersebut yaitu “OCKTHA DWI SAHPUT”.

2.4 Tipe Data


Tipe data merupakan format yang digunakan untuk menginisialisasikan sebuah variabel,
dimana variabel tersebut memiliki ukuran/size. Tipe data merupakan bagian penting dalam
program, karena akan mempengaruhi setiap instruksi yang akan dilaksanakan oleh progam.
Borland C++ memiliki 7 tipe data dasar dan 3 tipe tambahan, diantaranya :

Ukuran
Tipe Data Jangkauan Nilai Jumlah Digit
Memori
Char 1 Byte -128 s.d 127
-2,147,435,648 s.d
Int 2 Byte
2,147,435,647
Short 2 Byte -32768 s.d 32767
-2,147,435,648 s.d
Long 4 Byte
2,147,435,647
Float 4 Byte 3.4 x 10-38 s.d 3.4 x 10+38 5–7
Double 8 Byte 1.7 x 10-308 s.d 1.7 x 10+308 15 – 16
Long 3.4 x 10-4932 s.d 1.1 x
10 Byte 19
Double 10+4932

Tipe data tambahan yang dimiliki oleh Borland C++ adalah :


Unsigned digunakan bila data yang digunakan hanya data yang bernilai positif saja.

Tipe Data Jumlah Memori Jangkauan Nilai


Unsigned Integer 2 Byte 0 – 65535
Unsigned Character 1 Byte 0 – 255
Unsigned Long Integer 4 Byte 0 – 4,294,967,295

Beberapa tipe data yang kami gunakan pada program diantaranya : char, int,

2.5 Operator
Operator adalah sebuah simbol yang memberitahu compiler/ penerjemah untuk melakukan
manipulasi matematis atau logis tertentu. Macam-macam operator dalam aplikasi C++ adalah
sebagai berikut :
1. Operator Aritmatika

Operator Keterangan
POW Pemangkatan
SQRT Menghitung akar
% Sisa hasil bagi (Modulus)
* Perkalian
/ Pembagian
+ Penjumlahan
- Pengurangan

Operator aritmatika yang kami gunakan pada program diantaranya :


1. *. Penggunaan pada rumus Total harga = harga * jmlh_beli;
2. - . Penggunaan pada rumus Kembalian = ttlbayar-total;
2. Operator Logika

Operator Keterangan
&& And (dan)
|| Or (atau)
! Not (negasi)

3. Operator Relasi

Tipe Data Keterangan


= Sama dengan (assignment)
!= Tidak sama dengan
== Sama dengan (bukan assignment)
> Lebih besar
< Lebih kecil
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan

Operator relasi yang kami gunakan pada program diantaranya :


A. Total =
B. Kembalian =

2.6 Seleksi Kondisi


Seleksi kondisi dalam pemrograman merupakan suatu kondisi yang mengharuskan program
untuk memilih output berdasarkan input yang diberikan/ sudah ditentukan. Statement/
pernyataan untuk seleksi kondisi pada Borland C++ diantaranya : seleksi kondisi bersyarat yaitu
if dan swich case dan seleksi tidak bersyarat yaitu goto (telah dibahas sebelumnya).
Dalam program, kami menggunakan statement/penyataan if. If terbagi menjadi 3 yaitu if else,
nested if dan if else majemuk. Pernyataan if mempunyai pengertian, “ Jika syarat bernilai
BENAR, maka perintah akan dikerjakan dan jika syarat bernilai SALAH maka perintah akan
diabaikan”. Macam-macam bentuk if pada Borland C++ adalah sebagai berikut :

Bentuk umum if tunggal :

If (syarat)
{
perintah;
}
1. If...else : yaitu jika syarat bernilai BENAR maka perintah 1 yang akan dikerjakan. Jika syarat
bernilai SALAH maka akan mengerjakan perintah 2.

Bentuk if...else :

If (syarat)
perintah 1;

Else
Perintah 2;

2. Nested if : yaitu pernyataan if berada di dalam pernyataan if yang lainnya.

Bentuk nested if :

If (syarat)
{
If (syarat)
… perintah;
else
… perintah;
}
else
{
If (syarat)
… perintah;
else
… perintah;
}
3. If...else majemuk : serupa dengan nested if, keuntungan penggunaan if else majemuk
dibanding dengan nested if adalah penggunaan bentuk penulisan yang lebih sederhana
sehingga lebih mudah dipahami.

Bentuk If...else majemuk :

if (syarat)
{
… perintah;
… perintah;
}

else if (syarat)
{
… perintah;
… perintah;
2.7 Listing Program }
#include <iostream>

#include <conio.h>

#include <cstring>

#include <stdlib.h>

#include <stdio.h>

void header()

cout<<"=============NAMA KELOMPOK==========\n";

cout<<" 1.ANGGA RISKI RAMADAN (17190786)\n";

cout<<" 2.FAISAL AKBAR \t(17190689)\n";

cout<<" 3.OCKTHA DWI SAHPUTRA (17190734)\n";

cout<<"====================================\n";

cout<<"===============================================\n";

cout<<" TERMINAL KALIDERES\n";

cout<<" Jl.KALIDERES-JAKARTA BARAT\n";

cout<<"===============================================\n\n";
}

int main(){

char kode_b, nama_b[50], tujuan[10], nama[50], lagi;

string kode_tj;

int harga, total, jmlh_beli, ttlbayar, kembalian;atas:

header();

cout<<"Nama Penumpang : ";gets(nama);

cout<<"Pilihan BUS :\n";

cout<<"(R) Rosalia\n";

cout<<"(S) Sinar Jaya\n";

cout<<"(P) Putra Remaja\n";

cout<<"===============================================\n";

cout<<" Kode BUS [R / S / P] : ";cin>>kode_b;

if(kode_b == 'R'||kode_b == 'r'){

harga = 0;

strcpy(nama_b, "Rosalia");

cout<<"===============================================\n";

cout<<"Pilihan Tujuan :\n";

cout<<"(SBY) Surabaya\n";

cout<<"(MLG) Malang\n";

cout<<"===============================================\n";

cout<<" TUJUAN [ SBY / MLG ] : ";cin>>kode_tj;

if(kode_tj == "SBY"||kode_tj == "sby"){

harga = 300000;

strcpy(tujuan, "Surabaya");}

else if(kode_tj == "MLG"||kode_tj == "mlg"){

harga = 400000;

strcpy(tujuan, "Malang");}

else{
cout<<"KODE TUJUAN SALAH";

else if(kode_b == 'S'||kode_b == 's'){

harga = 0;

strcpy(nama_b, "Sinar Jaya");

cout<<"===============================================\n";

cout<<"Pilihan Tujuan :\n";

cout<<"(SLO) Solo\n";

cout<<"(TGL) Tegal\n";

cout<<"===============================================\n";

cout<<" TUJUAN [ SLO / TGL ] : ";cin>>kode_tj;

if(kode_tj == "SLO"||kode_tj == "slo"){

harga = 200000;

strcpy(tujuan, "Solo");}

else if(kode_tj == "TGL"||kode_tj == "tgl"){

harga = 250000;

strcpy(tujuan, "Tegal");}

else{

cout<<"KODE TUJUAN SALAH";

else if(kode_b == 'P'||kode_b == 'p')

harga = 0;

strcpy(nama_b, "Putra Remaja");

cout<<"===============================================\n";

cout<<"Pilihan Tujuan :\n";

cout<<"(LMP) Lampung\n";
cout<<"(JGY) Jogyakarta\n";

cout<<"===============================================\n";

cout<<" TUJUAN [ LMP / JGY ] : ";cin>>kode_tj;

if(kode_tj == "LMP"||kode_tj == "lmp"){

harga = 350000;

strcpy(tujuan, "Lampung");}

else if(kode_tj == "JGY"||kode_tj == "jgy"){

harga = 400000;

strcpy(tujuan, "Jogyakarta");}

else{

cout<<"KODE TUJUAN SALAH";

else{

cout<<"KODE BUS SALAH";

cout<<"===============================================\n\n";system("cls");

header();

cout<<" Nama Bus\t\t: "<<nama_b<<endl;

cout<<" Tujuan Bus\t\t: "<<tujuan<<endl;

cout<<" Harga Tiket\t\t: Rp. "<<harga<<endl;

cout<<" Jumlah Beli Tiket\t: ";cin>>jmlh_beli;

total = harga * jmlh_beli;

cout<<"===============================================\n";

cout<<" Total Harga\t\t: Rp. "<<total<<endl;

cout<<" Total Bayar\t\t: Rp. ";cin>>ttlbayar;

kembalian=ttlbayar-total;

cout<<" Kembalian\t\t: Rp. "<<kembalian<<endl<<endl;

cout<<"===============================================\n\n";
cout<<" Ingin Input Lagi ? [ Y / N ] : ";

cin>>lagi;

if(lagi=='y'||lagi=='Y')

system("cls");goto atas;

else

cout<<"\n***** TERIMA KASIH *****\n";

cout<<endl;

getch();

BAB III

PENUTUP
3.1 Kesimpulan

Dapat disimpulkan bahwa program yang kami buat dapat membantu penjual untuk
mempermudah,mempercepat transaksi penjualan tiket pada customer secara efektif dan
efisien.yang dimana kita tahu masyarakat kebanyakan membeli langsung ke terminal karena
hanya beberapa P.O Bus yang sudah membuka online ticket.

3.2 Saran

Makalah ini diharapkan dapat berguna dan menjadi sarana pembelajaran bagi tim penyusun
dan pembaca. Tim penyusun menyarankan pembaca untuk menggali informasi lebih lanjut dari
sumber-sumber lain yang dapat membantu kita untuk lebih mengenal dan memahami tentang
pemrograman dan aplikasinya. Dalam hal ini tim penyusun memberikan saran sebagai berikut :
Dalam penggunaan program ini sangat dibutuhkan pengetahuan dan ketelitian dalam
pengoperasiannya, terutama dalam proses memasukkan data karena jika terjadi kesalahan
dalam proses memasukkan data maka tidak proses penjualan maupun pembelian tidak dapat
dilakukan. Serta karena program ini masih sangat sederhana dan perlu banyak perbaikan, maka
jika data yang dimasukkan salah tidak dapat dihapus dan perlu mengisi lembar pembelian lagi
untuk menggantikan data masukkan yang salah tersebut.

DAFTAR PUSTAKA
1. https://www.nesabamedia.com/pengertian-tipe-data/
2. Slide Perkuliahan BSI Dasar Pemograman
3. Slide Perkuliahan BSI Logika & Algoritma
4. https://belajarpemograman-programer.blogspot.com/2012/03/pengertian-array-contoh-
rogram-array.htnl?m=1

Anda mungkin juga menyukai