Laporan Baraya Travel
Laporan Baraya Travel
Dosen :
Asep Ahmad Sukmadi
DISUSUN OLEH :
Faqih Pratama L (10112680)
Kelvin Dwiky A (10112699)
Medi Permadi (10112692)
Yogie Luthfie A (10112702)
Ryan A R (10112705)
Aang Hamdan (10112713)
Risa Herdianto (10112719)
KELAS :
Pemrograman dasar-14
Puji syukur kehadirat Allah SWT atas segala nikmat yang telah diberikan.
Atas rahmat-Nyalah kami dapat menyelesaikan tugas besar ini. Tak lupa shalawat
beserta salam kami panjatkan pada junjungan nabi besar Muhammad SAW.
Laporan tugas besar dengan judul Program Aplikasi Pendataan Travel
dibuat untuk memenuhi salah satu tugas mata kuliah Pemrograman Dasar tahun
2014/2015.
Dalam penulisan ini, kami sadar bahwa masih banyak kekurangan dan
jauh dari kata sempurna yang perlu diperbaiki. Karenanya kritik dan saran sangat
diharapkan untuk menjadikan penulisan ini lebih baik dan bermanfaat di masa
yang akan datang.
Penulis
DAFTAR ISI
DAFTAR ISI ..
BAB I
BAB II
BAB III
PENDAHULUAN
1.1
Latar Belakang ..
1.2
Perumusan Masalah ..
1.3
Algoritma ....................................
2.2
18
2.3
19
PENUTUP
3.1
Kesimpulan ..
35
3.2
Saran ....
35
BAB I
PENDAHULUAN
1.1
Latar Belakang
Maraknya penggunaan komputer di berbagai bidang kehidupan
manusia, menuntut setiap orang untuk mengetahui dan mempelajari
berbagai macam aplikasi pendukung yang dapat beroperasi pada komputer
tersebut. Komputer merupakan salah satu penemuan tercanggih pada abad
ini. Komputer merupakan cikal bakal lahirnya teknologi baru di bidang
Ilmu Pengetahuan dan Teknologi.
Kemampuan komputer dalam melakukan penghitungan yang
sangat
cepat,
dapat
mengoperasikannya.
mempermudah
Berbagai
macam
manusia
media
atau
user
dalam
pendukung
untuk
1.2
Perumusan Masalah
Dengan adanya latar belakang yang tersaji di atas dapat di ambil
suatu perumusan permasalahan yang dihadapi oleh perusahaan travel ini
yaitu sebagai berikut :
pendataan pelanggan.
Bagaimana membuat sistem program ini berjalan untuk
1.3
Maksud
Maksud dari penulisan laporan ini adalah sebagai berikut:
Mengetahui
proses
dalam
penggunaan
Bahasa
Pemrograman C.
1.3.2
Tujuan
Diperoleh
pengetahuan
tentang
penggunaan
Bahasa
yang
digunakan
dalam
pembangunan
BAB II
Algoritma
//PROCEDURE BUKA FILE
procedure buka_file()
kamus{lokal}
{tidak ada}
algoritma{lokal}
if f_data
then
output (---------------------------------)
output (-----------TUJUAN--------------)
output (---------------------------------)
output ( 1. JAKARTA)
output ( 2. SEMARANG)
output ( 3. SURABAYA)
output ( 4. YOGYAKARTA)
output(---------------------------------)
output(Tujuan: )
fflush(stdin) gets(data.tujuan)
output (---------------------------------);
if ((data.tujuan =JAKARTA) AND (1))
then
gold150000
silver125000
bronze100000
else if ((data.tujuan =SEMARANG) AND (2))
then
gold175000
silver150000
bronze125000
else if ((data.tujuan,"SURABAYA) AND (3))
then
gold200000
silver175000
bronze150000
else if ((data.tujuan=YOGYAKARTA) AND (4))
then
gold125000
silver100000
bronze75000
endif
endif
endif
endif
output (
--PAKET)
output (---------------------------------)
write(gold)
write(silver)
write(bronze)
output(---------------------------------)
output(Pilih Paket
: )
fflush(stdin) gets(data.paket)
output(---------------------------------)
output(Jumlah Tiket yang Dipesan : )
read(data.jumlah)
printf(---------------------------------)
if data.paket = GOLD then
data.total
gold*data.jumlah
silver*data.jumlah
bronze*data.jumlah
endif
endif
endif
output(Masukkan kode unik [1-999]: )
read(data.kode) fflush(stdin)
/*Hapus isi penampung keyboard */
data.no_rec record
fwrite(f_data, data)
close(f_data)
endprocedure
//PROCEDURE TAMPIL DATA
procedure tampil_data()
kamus{lokal}
{tidak ada}
algoritma{lokal}
baca_file()
no 1
output(----DATA PEMESANAN TIKET TRAVEL----)
output(No
Jumlah
Kode
Nama
Tujuan
Paket
Total )
output(--------------------------------)
for (;;) do
fread(f_data,data)
if (EOF = f_data)
then
break;
endif
write(no++,data.kode, data.nama,data.tujuan,
data.paket,data.jumlah,data.total);
endfor
close(f_data);
endprocedure
//PROCEDURE EDIT FILE
procedure edit_file()
kamus{lokal}
{tidak ada}
algoritma{lokal}
if f_data
procedure edit_data()
kamus{lokal}
{tidak ada}
algoritma{lokal}
edit_file()
Output(Masukkan Nomor Urut = )
read(data.no_rec)
offset_byte
(data.no_rec-1)*(data)
10
data.total
data.jumlah*150000
data.jumlah*125000
data.jumlah*100000
endif
endif
endif
else if data.tujuan = SEMARANG then
if data.paket =GOLD then
data.total data.jumlah*175000
else if data.paket =SILVER then
data.totaldata.jumlah*150000
else if data.paket=BRONZE then
data.totaldata.jumlah*125000
endif
endif
endif
else if data.tujuan = SURABAYA then
if data.paket =GOLD then
data.total data.jumlah*200000
else if data.paket =SILVER then
data.totaldata.jumlah*175000
else if data.paket=BRONZE then
data.totaldata.jumlah*150000
endif
endif
endif
else if data.tujuan = YOGYAKARTA then
if data.paket =GOLD then
data.total data.jumlah*125000
else if data.paket =SILVER then
data.totaldata.jumlah*100000
11
system("cls")
ubah_record
data.no_rec
write(data.kode)
12
write(data.nama)
write(data.tujuan)
write(data.paket)
write(data.jumlah)
write(data.total)
data.no_rec
ubah_record;
for (;;) do
fread(f_data,data)
if (EOF=f_data) then
break
str1
kode
str2
data.kode
endif
if (str1 = str2) then
banding
else
banding=1
endif
if(banding <> 0)
then
if f_dataHapus
open(data,"at")
then
system("cls")
Output("File tidak dapat
diciptakan !)
exit(1)
endif
fwrite(f_dataHapus,data)
13
close(f_dataHapus)
endif
endfor
fclose(f_data)
remove(f_data)
rename(f_data)
break
else
fread(f_data,data)
endif
endwhile
if (tidakada=1) then
output(Data tidak ditemukan!)
endif
output(Menghapus data lagi? [Y/T])
jawaban
getche()
14
system("cls")
output(--DATA PEMESANAN TIKET TRAVEL--)
output( Hasil Pencarian Data Tiket )
output(-------------------------------)
write(b)
write(data.nama)
write(data.tujuan)
write(data.paket)
write(data.jumlah)
write(data.total)
output(-------------------------------)
break
else
fread(f_data,data);
endif
endwhile
if (tidakada=1) then
output(Data tidak ditemukan)
endif
fclose(f_data)
endprocedure
//PROGRAM UTAMA
program travel
type datatiket = record
<
no_rec : integer,
kode : integer,
nama : string,
tujuan : string,
paket : string,
jumlah : integer,
15
Algoritma{Global}
repeat
/* Buka file */
system("cls")
output(------------MENU UTAMA-----------)
output(----------Travel BARAYA----------)
output(---------------------------------)
output (1. Masukkan Data Pelanggan)
output (2. Tampilkan Data Pelanggan )
output (3. Edit Data Pelanggan )
output (4. Hapus Data Pelanggan )
output (5. Cari Data Pelanggan )
output (6. Keluar)
output (---------------------------------)
output(Masukkan pilihan anda : )read(menu)
output (---------------------------------)
case menu of
case 1 : tambah_data()
case 2 : tampil_data()
16
case
case
case
case
3
4
5
6
:
:
:
:
edit_data()
hapus_data()
cari_data()
exit(1)
endcase
output( Kembali ke menu utama [y] / keluar[t]: )
jawaban getche
until ((jawaban ='y')or(jawaban ='Y'))
endprogram
2.2
17
18
2.3
Sintak Program
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//deklarasi fungsi
void buka_data();
void baca_data();
void tambah_data();
void tampil_data();
void edit_file();
void edit_data();
void hapus_data();
void cari_data();
//
typedef struct {
int no_rec;
int kode;
char nama[25];
char tujuan[30];
char paket[20];
int jumlah;
int total;
}datatiket;
datatiket data;
//deklarasi variabel
FILE *f_data;
char jawaban;
int menu,i;
int gold, silver, bronze,nomor;
int record, no;
19
20
[y] / keluar[t]:
");
jawaban=getche();
}while ((jawaban =='y')||(jawaban=='Y')) ;
system("PAUSE");
return 0;
}
void buka_file()
{
if((f_data = fopen("DATA.txt", "at")) == NULL)
{
printf("File tidak dapat
dibuka !\n");
exit(1);
}
}
void baca_file()
{
if((f_data = fopen("DATA.txt", "rt")) == NULL)
{
printf("File tidak dapat
diciptakan !\n");
exit(1);
}
}
void tambah_data()
{
buka_file();
printf("\n Nama:
");fflush(stdin);gets(data.nama);
system("cls");
21
printf("---------------------------------");
printf("\n-----------TUJUAN--------------\n");
printf("---------------------------------\n");
printf("\n 1. JAKARTA\n");
printf(" 2. SEMARANG\n");
printf(" 3. SURABAYA\n");
printf(" 4. YOGYAKARTA\n");
printf("\n---------------------------------\n");
printf("Tujuan : ");fflush(stdin);gets(data.tujuan);
printf("---------------------------------\n");
if ((data.tujuan,"JAKARTA") && ("1"))
{
gold=150000;
silver=125000;
bronze=100000;
}
else if ((data.tujuan,"SEMARANG") &&
("2"))
{
gold=175000;
silver=150000;
bronze=125000;
}
else if ((data.tujuan,"SURABAYA") &&
("3"))
{
gold=200000;
silver=175000;
bronze=150000;
}
else if ((data.tujuan,"YOGYAKARTA") &&
("4"))
{
22
gold=125000;
silver=100000;
bronze=75000;
}
printf("
--PAKET--\n");
printf("---------------------------------\n");
printf("\nGOLD
| Rp. %d \n",gold);
printf("SILVER
| Rp. %d \n",silver);
printf("BRONZE
| Rp. %d \n",bronze);
printf("\n---------------------------------\n");
printf("Pilih Paket
: "); fflush(stdin);
gets(data.paket);
printf("---------------------------------\n");
printf("Jumlah Tiket yang Dipesan : ");
scanf("%d",&data.jumlah);
printf("---------------------------------\n");
if (strcmp(data.paket,"GOLD")
== 0)
{
data.total=gold*data.jumlah;
}else if
(strcmp(data.paket,"SILVER") == 0)
{
data.total=silver*data.jumlah;
}else if
(strcmp(data.paket,"BRONZE") == 0)
{
data.total=bronze*data.jumlah;
23
}
printf("Masukkan kode unik [1-999]:
");scanf("%d",&data.kode);
fflush(stdin);/* Hapus isi penampung
keyboard */
data.no_rec=record;
fwrite(&data, sizeof(data), 1, f_data);
fclose(f_data);
}
void tampil_data()
{
baca_file();
no=1;
printf("----------------DATA PEMESANAN
TIKET TRAVEL----------------\n");
printf("No
Paket
Jumlah
Kode
Nama
Tujuan
Total \n");
printf("----------------------------------------------------------\n");
for (;;)
{
fread(&data, sizeof(data), 1, f_data);
if(feof(f_data))break;
printf("%i %5d %7s %10s %9s %8d
%12d\n", no++,data.kode, data.nama,
data.tujuan,
data.paket,data.jumlah,data.total);
}
24
fclose(f_data);
}
void edit_file()
{
if((f_data = fopen("DATA.txt", "rt+")) == NULL)
{
printf("File tidak dapat
diciptakan !\n");
exit(1);
}
}
void edit_data()
{
edit_file();
printf("Masukkan Nomor Urut=
");scanf("%d",&data.no_rec);
offset_byte=(data.no_rec-1)*sizeof(data);
fseek(f_data, offset_byte, SEEK_SET);
baca_hasil=fread(&data,sizeof(data),1,f_data);
if(baca_hasil==0)
{
printf("Nomor urut tidak benar");
}
else
25
{
printf("---------DATA PEMESANAN TIKET
TRAVEL---------\n");
printf("\n");
printf(" Hasil Pencarian Data Tiket \n");
printf("---------------------------------------------\n
");
printf("Kode
: %d \n",data.kode);
printf("Nama
: %s \n",data.nama);
printf("Tujuan : %s \n",data.tujuan);
printf("Paket
: %s \n",data.paket);
printf("Jumlah : %d \n",data.jumlah);
printf("---------------------------------------------\n
");
printf("\n \n");
printf("Data yang Ingin Dirubah \n");
printf("---------------------------------------------\n
");
printf("Kode
: ");scanf("%d",&data.kode);
printf("Nama
: ");scanf("%s",&data.nama);
printf("Tujuan : ");scanf("%s",&data.tujuan);
printf("Paket
: ");scanf("%s",&data.paket);
printf("Jumlah : ");scanf("%d",&data.jumlah);
if(strcmp(data.tujuan,"JAKARTA")==0)
{
if (strcmp(data.paket,"GOLD")==0)
{
data.total=data.jumlah*150000;
}
26
if (strcmp(data.paket,"SILVER")==0)
{
data.total=data.jumlah*125000;
}
if (strcmp(data.paket,"BRONZE")==0)
{
data.total=data.jumlah*100000;
}
}
else
if(strcmp(data.tujuan,"SEMARANG")==0)
{
if (strcmp(data.paket,"GOLD")==0)
{
data.total=data.jumlah*175000;
}
if (strcmp(data.paket,"SILVER")==0)
{
data.total=data.jumlah*150000;
}
if (strcmp(data.paket,"BRONZE")==0)
{
data.total=data.jumlah*125000;
}
}
else
if(strcmp(data.tujuan,"SURABAYA")==0)
{
if (strcmp(data.paket,"GOLD")==0)
{
data.total=data.jumlah*200000;
}
if (strcmp(data.paket,"SILVER")==0)
27
{
data.total=data.jumlah*175000;
}
if (strcmp(data.paket,"BRONZE")==0)
{
data.total=data.jumlah*150000;
}
}
else
if(strcmp(data.tujuan,"YOGYAKARTA")==0)
{
if (strcmp(data.paket,"GOLD")==0)
{
data.total=data.jumlah*125000;
}
if (strcmp(data.paket,"SILVER")==0)
{
data.total=data.jumlah*100000;
}
if (strcmp(data.paket,"BRONZE")==0)
{
data.total=data.jumlah*75000;
}
}
fseek(f_data,offset_byte,SEEK_SET);
fwrite(&data,sizeof(data),1,f_data);
}
fclose(f_data);
}
void hapus_data()
28
{
FILE *f_dataHapus;
long int str1,str2;
int banding;
long int kode;
do{
baca_file();
printf("Masukkan kode unik [1999]:");scanf("%li",&kode);
tidakada=1;
while(!feof(f_data))
{
if(kode==data.kode)
{
tidakada=0;
system("cls");
ubah_record=data.no_rec;
printf("Kode
: %d\n",data.kode);
printf("Nama
: %s\n",data.nama);
printf("Tujuan: %s\n",data.tujuan);
printf("Paket : %s\n",data.paket);
printf("Jumlah: %d\n",data.jumlah);
printf("Total : %d\n",data.total);
data.no_rec=ubah_record;
for(;;)
{
fread(&data,sizeof(data),1,f_data);
if(feof(f_data))break;
29
str1=kode;
str2=data.kode;
if(str1==str2)
{
banding=0;
}
else
{
banding=1;
}
if(banding!=0)
{
if((f_dataHapus = fopen("DATAtemp.txt",
"at")) == NULL)
{
system("cls");
printf("File tidak dapat
diciptakan !\n");
exit(1);
}
fwrite(&data,sizeof(data),1,f_dataHapus);
fclose(f_dataHapus);
}
}
fclose(f_data);
remove("DATA.txt");
rename("DATAtemp.txt","DATA.txt");
break;
30
}
else
{
fread(&data,sizeof(data),1,f_data);
}
}
if(tidakada==1)
{
printf("Data tidak ditemukan!");
}
printf("Menghapus data lagi? [Y/T]");
jawaban=getche();
}while ((jawaban =='y')||(jawaban=='Y')) ;
}
void cari_data()
{
baca_file();
printf("Masukkan kode unik= ");scanf("%d",&b);
tidakada=1;
while(!feof(f_data))
{
if(b==data.kode)
{
tidakada=0;
system("cls");
printf("---------DATA PEMESANAN TIKET
TRAVEL---------\n");
printf("\n");
printf(" Hasil Pencarian Data Tiket \n");
31
printf("---------------------------------------------\n
");
printf("Kode
: %d \n",b);
printf("Nama
: %s \n",data.nama);
printf("Tujuan : %s \n",data.tujuan);
printf("Paket
: %s \n",data.paket);
printf("Jumlah : %d \n",data.jumlah);
printf("Total
: %d \n",data.total);
printf("---------------------------------------------\n
");
break;
}
else
{
fread(&data,sizeof(data),1,f_data);
}
}
if(tidakada==1)
{
printf("Data tidak ditemukan");
}
fclose(f_data);
}
32
BAB III
PENUTUP
3.1
Kesimpulan
Bahasa Pemrograman C memiliki kemudahan tersendiri dalam
mengoperasikannya,
karena
dapat
memudahkan
pengguna
untuk
Saran
Banyaknya bahasa pemrograman yang digunakan oleh berbagai
kalangan dapat mempengaruhi program aplikasi yang dibangun. Sehingga,
pemilihan bahasa pemrograman yang tepat pun dinilai sangat penting agar
tidak mendapatkan kekecewaan dari hasil yang didapat.
Oleh sebab itu, pembelajaran terhadap bahasa pemrograman yang
baru patut untuk dilakukan. Hal ini dimaksudkan agar kita dapat memilih
33
34