Upload
muhammad-iqbal
View
725
Download
30
Embed Size (px)
Citation preview
Tugas Ujian Tengah Semester
Algoritma & Pemrograman I
Borland C++ | Application Train Ticket
NIM : 12150587
Nama : Muhammad Iqbal
Program Studi : Akademi Manajemen Informatika & Komputer
Jurusan : Manajemen Informatika
Kelas : 12.1F.11
Bina Sarana Informatika Jakarta, 2015
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
i i
Daftar Isi
Daftar Isi ............................................................................................................................................................................. i
I. Definisi ....................................................................................................................................................................... 1
II. Penyelesaian ............................................................................................................................................................. 2
Script .............................................................................................................................................................................. 2
Result ............................................................................................................................................................................. 5
Form Menu ................................................................................................................................................................. 5
Form Transaction ....................................................................................................................................................... 6
III. Penjelasan ............................................................................................................................................................. 8
Analisa Program ............................................................................................................................................................ 8
Flow Chart ..................................................................................................................................................................... 9
Form Menu ................................................................................................................................................................. 9
Form Transaction ..................................................................................................................................................... 10
IV. Daftar Pustaka ..................................................................................................................................................... 11
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
1 1
I. Definisi
Tugas Diterima Senin, 26 Oktober 2015, 17:00-18:30
Tugas Diserahkan Rabu, 28 Oktober 2015, 17:00-18:30
Dosen [SMR] Siti Marlina
Membuat sebuah program sederhana menggunakan bahasa pemrograman C++ di Borland dengan ketentuan berikut:
1.
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
2 2
II. Penyelesaian
Script Script C++ pada Borland versi 5.0.2 : #include <conio> #include <iostream> #include <stdio> #include <string> #include <stdlib> main() { char vmenu,vtrx_train_time,vtrx_pass_name[20],vtrx_dept_date[15],vtrx_train_code[5]; int vtrx_amount_ticket,vtrain_ticket_price,vtrx_total_price,vtrx_pay_no=0,vtrx_pay_ch,vtrx_discount=0,trx_pay_total,vtrx_pay_return=0; string vtrain_name,vtrain_date_depart,vtrain_date_desti,vtrx_pay_method; sPROG_START: //Start Session Program clrscr(); //Section Form Menu cout<<"#########################################################################"<<endl; cout<<"#\t\t\t\t\t\t\t\t\t#"<<endl; cout<<"#\t\t Welcome To Application Train Ticket \t\t\t#"<<endl; cout<<"#\t\t\t\t by Muhammad Iqbal [IL] \t\t#"<<endl; cout<<"#\t\t\t\t\t\t\t\t\t#"<<endl; cout<<"#########################################################################"<<endl; cout<<"Menu \t: "<<vmenu<<endl; cout<<"\t 1. Train List"<<endl; cout<<"\t 2. Transaction"<<endl; cout<<"\t 3. Exit"<<endl; cout<<"+-----------------------------------------------------------------------+"<<endl; gotoxy(1,13); cout<<"+-----------------------------------------------------------------------+"<<endl; gotoxy(1,14); cout<<"Kuliah ? BSI aja ! OK."<<endl; gotoxy(1,12); cout<<"Your choice [1/2/3] \t: ";cin>>vmenu; gotoxy(1,16); sMENU_CK: switch (vmenu){ case '1': system("start ; more D:\\Document\\Copy\\Me\\Kuliah\\Archive\\006-Algoritma_Pemrograman_I\\Task\\UTS-Kasir\\Doc\\UTS-Kasir-Detail_product.txt ; "); goto sPROG_START; break; case '2': goto sTRANSACTION; break; case '3': goto sPROG_END; break; default: cout<<"TIDAK ADA !!!..."<<endl; cout<<"Your choice [1/2/3] \t: ";cin>>vmenu;cout<<"\n"; goto sMENU_CK; } sTRANSACTION: //Section Form Transaction clrscr(); cout<<"#########################################################################"<<endl; cout<<"#\t\t\t\t\t\t\t\t\t#"<<endl; cout<<"#\t\t Welcome To Application Train Ticket \t\t\t#"<<endl; cout<<"#\t\t\t\t by Muhammad Iqbal [IL] \t\t#"<<endl; cout<<"#\t\t\t\t\t\t\t\t\t#"<<endl; cout<<"#-----------------------------------------------------------------------#"<<endl; cout<<"# Form Transaction : \t\t\t\t\t\t\t#"<<endl; cout<<"#########################################################################\n"<<endl; cout<<"#1. Input Passenger Name \t\t: ";gets(vtrx_pass_name); cout<<"#2. Input Departure Date \t\t: ";gets(vtrx_dept_date); cout<<"#3. Input Train Code \t \t\t: ";cin>>vtrx_train_code; cout<<"#4. Input Pagi/Siang/Malam [P/S/M] \t: ";cin>>vtrx_train_time; cout<<"#3. Input Amount Ticket \t\t: ";cin>>vtrx_amount_ticket; cout<<"+-----------------------------------------------+"<<endl; //Checking data if (strcmpi("KJ",vtrx_train_code) == 0){
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
3 3
vtrain_name="Kalijaga 215"; if(vtrx_train_time=='P' || vtrx_train_time=='p'){ vtrain_date_depart="Solobal/05:25"; vtrain_date_desti="Semarang/08:05"; vtrain_ticket_price=60000; } else if(vtrx_train_time=='S' || vtrx_train_time=='s'){ vtrain_date_depart="Solobal/12:25"; vtrain_date_desti="Semarang/20:05"; vtrain_ticket_price=70000; } else { vtrain_date_depart="Tidak ada."; vtrain_date_desti="Tidak ada."; vtrain_ticket_price=0; } } else if (strcmpi("AP",vtrx_train_code) == 0){ vtrain_name="Argo Parahyangan"; if(vtrx_train_time=='P' || vtrx_train_time=='p'){ vtrain_date_depart="Gambir/10:15"; vtrain_date_desti="Bandung/13:35"; vtrain_ticket_price=75000; } else if(vtrx_train_time=='M' || vtrx_train_time=='m'){ vtrain_date_depart="Gambir/20:15"; vtrain_date_desti="Bandung/23:35"; vtrain_ticket_price=65000; } else { vtrain_date_depart="Tidak ada."; vtrain_date_desti="Tidak ada."; vtrain_ticket_price=0; } } else if (strcmpi("SE",vtrx_train_code) == 0){ vtrain_name="Cirebon Ekspres"; if(vtrx_train_time=='S' || vtrx_train_time=='s'){ vtrain_date_depart="Gambir/13:45"; vtrain_date_desti="Cirebin/16:48"; vtrain_ticket_price=125000; } else { vtrain_date_depart="Tidak ada."; vtrain_date_desti="Tidak ada."; vtrain_ticket_price=0; } } else if (strcmpi("PW",vtrx_train_code) == 0){ vtrain_name="Purwojaya"; if(vtrx_train_time=='M' || vtrx_train_time=='m'){ vtrain_date_depart="Gambir/22:15"; vtrain_date_desti="Cilacap/05:15(D+1)"; vtrain_ticket_price=725000; } else { vtrain_date_depart="Tidak ada."; vtrain_date_desti="Tidak ada."; vtrain_ticket_price=0; } } else { vtrain_name="Tidak ada."; vtrain_date_depart="Tidak ada."; vtrain_date_desti="Tidak ada."; vtrain_ticket_price=0; } // Form Paymenet cout<<"\t Ticket Price \t: "<<vtrain_ticket_price<<endl; cout<<"\t Amount Ticket \t: "<<vtrx_amount_ticket<<endl; cout<<"\t +-----------------------------------------------+"<<endl; vtrx_total_price=vtrain_ticket_price * vtrx_amount_ticket; cout<<"\t Total Price \t: "<<vtrx_total_price<<endl; cout<<"\t Payment Method : \n\t\t [1] Cash \n\t\t [2] Credit Card"<<endl; cout<<"\t Choose [1/2] \t\t: ";cin>>vtrx_pay_ch; //Payment method if(vtrx_pay_ch==1){ vtrx_pay_method = "Cash\t\t"; trx_pay_total = vtrx_total_price; cout<<"\t Total Payment \t: "<<trx_pay_total<<endl; cout<<"\t Pay Nominal \t: ";cin>>vtrx_pay_no ; vtrx_pay_return = vtrx_pay_no - trx_pay_total ; cout<<"\t Return Payment : "<<vtrx_pay_return<<endl; } else if(vtrx_pay_ch==2){ vtrx_pay_method = "CreditCard\t"; vtrx_discount = 0.1 * vtrx_total_price; trx_pay_total = vtrx_total_price - vtrx_discount; cout<<"\t\t Discount \t: "<<vtrx_discount<<endl; cout<<"\t\t Total Payment \t: "<<trx_pay_total<<endl; } else { vtrx_pay_method="Tidak ada."; } cout<<"\n"<<endl;
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
4 4
system("pause"); //Print Out Proof Payment cout<<"#########################################################################"<<endl; cout<<"# Proof Payment : \t\t\t\t\t\t\t#"<<endl; cout<<"#=======================================================================#"<<endl; cout<<"# Passenger Name : "<<vtrx_pass_name<<"\t\t\t\t\t#"<<endl; cout<<"# Departure Date : "<<vtrx_dept_date<<"\t\t\t\t\t\t#"<<endl; cout<<"#-----------------------------------------------------------------------#"<<endl; cout<<"# Train Name \t : "<<vtrain_name<<"\t Payment Nominal: "<<vtrx_pay_no<<"\t\t#"<<endl; cout<<"# Train Time \t : "<<vtrx_train_time<<"\t\t\t Payment Method : "<<vtrx_pay_method<<"#"<<endl; cout<<"# ST/Date Depart : "<<vtrain_date_depart<<"\t Total Payment \t: "<<trx_pay_total<<"\t\t#"<<endl; cout<<"# ST/Date Destin : "<<vtrain_date_desti<<"\t Total Discount : "<<vtrx_discount<<"\t\t#"<<endl; cout<<"# Ticket Price \t : "<<vtrain_ticket_price<<"\t\t Return Payment : "<<vtrx_pay_return<<"\t\t#"<<endl; cout<<"# Amount Ticket : "<<vtrx_amount_ticket<<"\t\t\t\t\t\t #"<<endl; cout<<"# Total Price \t : "<<vtrx_total_price<<"\t\t\t\t\t # "<<endl; cout<<"#-----------------------------------------------------------------------#"<<endl; cout<<"# Thank You | Muhammad Iqbal | 12150587 Kuliah ? BSI aja ! OK. #"<<endl; cout<<"#########################################################################"<<endl; cout<<"\n"<<endl; system("pause"); cout<<"Menu \t: "<<vmenu<<endl; cout<<"\t 1. Re-Transaction"<<endl; cout<<"\t 2. Back to menu"<<endl; cout<<"\t 3. Exit"<<endl; cout<<"+-----------------------------------------------------------------------+"<<endl; cout<<"Your choice [1/2/3] \t: ";cin>>vmenu; sTRANSACTION_RE_CK: switch (vmenu){ case '1': goto sTRANSACTION; break; case '2': goto sPROG_START; break; case '3': goto sPROG_END; break; default: cout<<"TIDAK ADA !!!..."<<endl; cout<<"Your choice [1/2/3] \t: ";cin>>vmenu;cout<<"\n"; goto sTRANSACTION_RE_CK; } sPROG_END: //End Session Program }
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
5 5
Result Hasil setelah di compile dan di running :
Form Menu
Form ini adalah form utama yang akan pertama keluar, didalamnya terdapat 3 pilihan, yaitu :
1. Train List Berisi daftar tiket keberangkatan kereta dan akan muncul di window baru :
2. Transaction Berisi untuk kegiatan transaksi pembelian tiket kereta api.
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
6 6
3. Exit Digunakan untuk keluar program.
Form Transaction Form ini adalah form yang digunakan untuk transaksi pembelian tiket kereta api dengan 2 pilihan metode pembayaran, yaitu :
1. Cash Jika menggunakan Cash menggunaa perhitungan kembalian.
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
7 7
2. Credit Card Jika menggunakan Credit Card, bisa mendapatkan potongan discount hingga 10%.
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
8 8
III. Penjelasan
Analisa Program
File Header yang dibutuhkan :
1. Stdio
Digunakan untuk menampilakan perintah:
a. gets
Berfungsi untuk menginputkan nilai string kedalam sebuah variable. Bentuk umum: gets(variable);
2. Conio
Digunakan untuk menampilakan perintah:
a. Getch
Berfungsi untuk menginputkan sebuah nilai tanpa ditampilkan di layar. Bentuk umum: getch();
b. Clrscr
Berfungsi membersihkan tampilan. Bentuk umum: clrscr();
c. Gotoxy
Berfungsi untuk menempatkan koordinat kursor pada layar.. Bentuk umum: gotoxy(kolom,baris);
3. String
Digunakan untuk menampilakan perintah:
a. Strcmp
Berfungsi untuk mengcompare karakter. Bentuk umum: strcmp( const char * str1, const char * str2 );
4. Stdlib
Digunakan untuk menampilakan perintah:
a. System
Berfungsi untuk menjalankan program di system windows. Bentuk umum: system( const char*
command );
Perintah yang digunakan :
1. If () {} else if () {} else {}
Digunakan sebagai statement kondisi > 1 (majemuk).
2. Goto
Digunakan untuk melompat ke bagian / sesi yang sudah di tandai (Label);
3. Switch case
Digunakan sebagai statement kondisi > 1 (majemuk).
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
9 9
Flow Chart
Form Menu
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
10 10
Form Transaction
12150587 - Muhammad Iqbal Jakarta, 28-Okt-2015
Manajemen Informatika Application Train Ticket - Borland C++ | Algoritma & Pemrograman I
11 11
IV. Daftar Pustaka
1. Cplusplus.com, <string> - C++ Reference, http://www.cplusplus.com/reference/string/
2. Cplusplus.com, <iostream> - C++ Reference, http://www.cplusplus.com/reference/iostream/
3. Cplusplus.com, <stdio> - C++ Reference, http://www.cplusplus.com/reference/stdio/
Cplusplus.com, system - C++ Reference, http://www.cplusplus.com/reference/cstdlib/system/?kw=system
4. Tutorialspoint.com, C++ if...else statement,
http://www.tutorialspoint.com/cplusplus/cpp_if_else_statement.htm
5. Tutorialspoint.com, C++ goto statement, http://www.tutorialspoint.com/cplusplus/cpp_goto_statement.htm
6. Wikipedia.com, String, https://id.wikipedia.org/wiki/String
7. Prixl, Contoh penggunaan gotoxy pada X++, https://puncakdunia.wordpress.com/2012/06/04/contoh-
penggunaan-gotoxy-pada-c/