LAPORAN PROJECT MATA KULIAH ALGORITMA DAN PEMROGRAMAN “PEMESANAN TIKET BIOSKOP”
KELAS TPB I
Kelompok 4 1. Aditya
(10161009)
2. Mike Yosia Yusuf
(04161039)
3. Rosa Gallica
(07161079)
Institut Teknologi Kalimantan 2017
Kata Pengantar
Puji dan syukur kami panjatkan kepada Tuhan Yang Maha Esa karena atas berkat dan rahmatnya yang diberikan sehingga kami dapat menyelesaikan Tugas
Besar Alogaritma
Pemograman. Tugas yang kami kerjakan ialah membuat sebuah program. Program yang telah kami buat ialah dari kami ialah program untuk pemesanan tiket bioskop. Adapun kami membuat program ini bertujuan untuk memudahkan konsumen untuk memesan tiket bioskop, dengan program ini mempermudah sistem pemesanan tiket bioskop. Pada program ini dapat dilihat judul film yang akan tayang,harga tiket,dan berapa seat yang tersisa. Setelah memilih judul film,jam tayang dan jumlah seat yang dipesan maka program akan memberikan total harga yang harus dibayar oleh konsumen. Selama pengerjaan program dan membuat laporan ini banyak bimbingan dan arahan yang diberikan kepada kami. Oleh sebab itu kami mengucapkan terima kasih kepada
Ibu Lovinta Happy
Atrinawati,S.T.,M.T.,CISA selaku dosen pengampu pada mata kuliah alogaritma pemograman ini yang telah memberikan arahan dan pengajaran mulai dari proses pembelajaran hingga proses membuat program ini hingga selesainya. dan juga kami ingin mengucpakan terima kasih kepada Kak
Reyhan Ezra Indrastama selaku asiste dosen alogaritma pemograman TPB I yang mau meluangkan waktu dan pemikirannya dalam pembuatan program ini, dan tentunya teman-teman semuanya. Dalam menyusun laporan ini, kami sangat menyadari banyaknya kekurangan yang terdapat di dalam laporan ini. Oleh karena itu, kami sangat mengharapkan kritik dan saran dari berbagai pihak agar laporan ini lebih baik lagi. Balikpapan, 07 Juni 2017
Penyusun
DAFTAR ISI
HALAMAN JUDUL ......................................................................................................................... i KATA PENGANTAR ..................................................................................................................... ii DAFTAR ISI .................................................................................................................................. iii 1.
2.
PENDAHULUAN ............................................................................................................................ 1 1.1.
LATAR BELAKANG ...................................................................................................................... 1
1.2.
TEMA PROGRAM ........................................................................................................................ 1
1.3.
MANFAAT .................................................................................................................................. 1
1.4.
PERMASALAHAN ........................................................................................................................ 1
1.5.
TUJUAN..................................................................................................................................... 1
FITUR APLIKASI ............................................................................................................................ 2 2.1
PSEUDOCODE ........................................................................................................................... 2
2.2
MENERIMA INPUT KODE FILM ..................................................................................................... 5
2.3
MENERIMA INPUT KODE SHOW TIME........................................................................................... 6
2.4
MENERIMA INPUT JUMLAH PEMESANAN ...................................................................................... 6
2.5
MENERIMA OUTPUT JUDUL FILM................................................................................................. 7
2.6
MENERIMA OUTPUT SHOW TIME ................................................................................................ 7
2.7
MENERIMA OUTPUT JUMLAH PEMESANAN ................................................................................... 7
2.8
MENERIMA OUTPUT TOTALAN HARGA ......................................................................................... 7
2.9
MENERIMA OUTPUT SISA KURSI ................................................................................................. 8
3. PERANCANGAN ................................................................................................................................ 9 3.1
FLOWCHART .............................................................................................................................. 9
4. IMPLEMENTASI .............................................................................................................................. 10 4.1
MENERIMA INPUT KODE FILM ................................................................................................... 10
4.2
MENERIMA INPUT KODE SHOW TIME......................................................................................... 10
4.3
MENERIMA INPUT JUMLAH PEMESANAN .................................................................................... 10
4.4
MENERIMA OUTPUT JUDUL FILM............................................................................................... 12
4.5
MENERIMA OUTPUT SHOW TIME .............................................................................................. 12
4.6
MENERIMA OUTPUT JUMLAH PEMESANAN ................................................................................. 12
4.7
MENERIMA OUTPUT TOTALAN HARGA ....................................................................................... 12
4.8
MENERIMA OUTPUT SISA KURSI ............................................................................................. ..12
5. KESIMPULAN DAN SARAN ............................................................................................................ 13 5.1
KESIMPULAN ........................................................................................................................... 13
5.2
SARAN .................................................................................................................................... 13
6. TANYA JAWAB ................................................................................................................................ 14 6.1
PERTANYAAN DAN JAWABAN .................................................................................................... 14
7. BIODATA .......................................................................................................................................... 16 7.1
BIODATA ............................................................................................................................. 16
LEMBAR ASISTENSI ........................................................................................................................... 18
BAB I PENDAHULUAN 1.1 Latar Belakang Pada zaman modern ini, kehidupan teknologi telah menjamur dan menjadi kebutuhan sebagai penunjang hidup manusia. Teknologi ini bermunculan karena permintaan kebutuhan manusia yang banyak dan adanya persaingan sehingga menghasilkan teknologi terbaru. Teknologi yang ada ini membantu kehidupan manusia menjadi lebih mudah. Setiap teknologi dijalankan oleh program yang mudah maupun rumit sistemnya dan system ini dijalankan untuk memudahkan teknologi ini berjalan sehingga pengguna tidak merasa kebingungan saat menggunakannya. Pada setiap transaksi yang digunakan dalam era ini, beberapa telah menggunakan program. Begitu juga dalam dunia perfilman yang telah berkembang dan memiliki peminat yang tidak sedikit. Untuk itu dibangunlah theater yang disebut sebagai bioskop. Dengan Film yang beragam dan waktu tayang yang berbeda serta seat yang tersedia, menjadikan program “Pemesanan Tiket Bioskop” dibuat demi memudahkan penyedia Film menentukan harga dan sisa seat
dan pembeli yang
memesan Film dengan jadwal tayang yang diinginkan. Program ini terdiri dari Array 2 Dimensi, Pengulangan, dan Selections. Untuk mengetahui lebih lanjut program yang dibuat, maka dibuatlah laporan sebagai berikut.
1.2 Tema Program Tema Program ini mengangkat pemesanan tiket bioskop yang berpatokan pada Film, jadwal, sisa seat, serta seat yang dipesan. Dengan itu Judul Program ini “Pemesanan Tiket Bioskop”.
1.3 Manfaat Adapun manfaat dari program Pemesanan Tiket Bioskop adalah mempermudah dalam memesan tiket bioskop dengan mengetahui sisa seat yang telah dipesan sebelumnya, dan dapat mengetahui harga yang akan dibayar setelah pemilihan jumlah seat, Film, dan jadwal tayang yang dipesan.
1.4 Permasalahan Permasalahan dari dibuatnya Tugas Besar ini ialah: 1. Bagaimana memenuhi tugas besar kuliah Algoritma dan Pemrograman? 2. Bagaimana mengaplikasikan algoritma dan pemrograman ke dalam Tugas Besar?
1.5 Tujuan Tujuan dari dibuatnya Laporan ini ialah: 1. Untuk memenuhi tugas besar kuliah Algoritma dan Pemrograman. 2. Untuk mengaplikasikan algoritma dan pemrograman ke dalam Tugas Besar
BAB II FITUR APLIKASI 2.1 Pseudocode Program Algoritma: Pemesanan Tiket Bioskop {I.S.
menerima input berupa Kode Film, Kode Show Time, dan jumlah pesanan
P.
perhitungan harga pesanan dan sisa kursi yang tersedia
F.s
menampilkan Judul Film, Show Time, pesanan, harga yang harus dibayar, sisa kursi yang tersedia}
Deklarasi: order=[ ] banyak=[ ] jam=[ ] jmlh=[ ] T=True Price =[ ] Film=["Dunia Itu Indah","Ayah ","Ibu","Cinta Itu Buta","Hantu Kuyang ","Angker"] Show=["11:00" , "13:00" , "15:00" , "17:00" , "19:00" , "21:00"] A=[25,25,25,25,25,25] B=[25,25,25,25,25,25] C=[25,25,25,25,25,25] D=[25,25,25,25,25,25] E=[25,25,25,25,25,25] F=[25,25,25,25,25,25] Harga=[40000 , 40000 , 40000 , 40000 , 40000 , 40000] harga=40000 Tarif=[Film,Harga] Kode_Film = interger Kode_Show_Time = interger Jumlah_pesanan = interger Ingin_pesan_lagi_(y/n) = string
Deskripsi: 1. function tubes ( ) 2. while True do 3.
read (Kode_Film)
4.
while (Kode_Film==0) or (Kode_Film> len(Film) do
5.
write (Film Tidak Tersedia)
6.
read (Kode_Film)
7.
while (Kode_Film<0) do
8.
write (Film Tidak Tersedia)
9.
read (Kode_Film)
10.
if Kode_Film<=len(Film) then
11.
order.append(Film[Kode Film-1])
12.
endif
13.
else write (Film Tidak Tersedia)
14.
15. while True do 16.
read (Kode_Show_Time)
17.
while (Kode_Show_Time==0) or (Kode_Show_Time>len(Show) do
18.
write (Show Time tidak tersedia)
19.
read (Kode_Show_Time)
20.
while (Kode_Show_Time<0) do
21.
write (Show Time tidak tersedia)
22.
read (Kode_Show_Time)
23.
if Kode_Show_Time<=len(Show) then
24.
jam.append(Show[Kode_Show_Time-1])
25.
endif
26. 27.
else write (Show Time Tidak Tersedia)
28. while True do 29.
if Kode_Show_Time==1 then
30.
read(Jumlah_pesanan)
31.
jmlh.append(Jumlah_pesanan)
32.
if Jumlah_pesanan<=A[Kode_Film-1] then
33.
X=A[Kode_Film-1] – Jumlah_pesanan
34.
banyak.append(X)
35.
A[Kode_Film-1]=X
36.
endif
37. 38. 39.
else write (kapasitas tidak memadahi) elseif Kode_Show_Time==2 then
40.
read (Jumlah_pesanan)
41.
jmlh.append(Jumlah_pesanan)
42.
if Jumlah_pesanan<=B[Kode_Film-1] then
43.
X=B[Kode_Film-1]-Jumlah_pesanan
44.
banyak.append(X)
45.
B[Kode_Film-1]=X
46.
endif
47.
else write (kapasitas tidak memadahi)
48. 49.
elseif Kode_Show_Time==3 then
50.
read (Jumlah_pesanan)
51.
jmlh.append(Jumlah_pesanan)
52.
if Jumlah_pesanan<=C[Kode Film-1] then
53.
X=C[Kode_Film-1] - Jumlah_pesanan
54.
banyak.append(X)
55.
C[Kode_Film-1]=X
56.
endif
57.
else write (kapasitas tidak memadahi)
58. 59.
elseif Kode_Show_Time==4 then
60.
read (Jumlah_pesanan)
61.
jmlh.append(Jumlah_pesanan)
62.
if Jumlah_pesanan<=D[Kode_Film-1] then
63.
X=D[Kode_Film-1]- Jumlah_pesanan
64.
banyak.append(X)
65.
D[Kode_Film-1]=X
66.
endif
67.
else write (kapasitas tidak memadahi)
68. 69.
elseif Kode_Show_Time==5 then
70.
read (Jumlah_pesanan)
71.
jmlh.append(Jumlah_pesanan)
72.
if Jumlah_pesanan<=E[Kode_Film-1] then
73.
X=E[Kode_Film-1]-Jumlah_pesanan
74.
banyak.append(X)
75.
E[Kode_Film-1]=X
76.
endif
77. 78. 79.
else write (kapasitas tidak memadahi) elseif Kode_Show_Time==6 then
80.
read (Jumlah_pesanan)
81.
jmlh.append(Jumlah_pesanan)
82.
if Jumlah_pesanan<=F[Kode_Film-1] then
83.
X=F[Kode_Film-1]-Jumlah_pesanan
84.
banyak.append(X)
85.
F[Kode_Film-1]=X
86.
endif else
87.
write (kapasitas tidak memadahi)
88.
89. total=harga*Jumlah_pesanan 90. Price.append(total) 91. write (Daftar Pemesanan:) 92. for j in range (len(order)) do 93.
write (order[j])
94.
write (jam[j])
95.
write (jmlh[j])
96.
write (Rp + Price[j])
97.
write (banyak[j])
98.
j=j+1
99.
endfor
100. read (ingin_pesan_lagi_(y/n)) 101. while (Z != "y") and (Z != "Y") and (Z != "n") and (Z != "N") do 102.
write "masukan tidak sesuai"
103.
read (ingin_pesan_lagi_(y/n))
104. if (Z=="y") or (Z=="Y") then 105.
tubes( )
106. else 107.
write (terimakasih telah menggunakan jasa kami)
108. endfunction
2.2 Menerima Input Kode Film 1. read (Kode_Film) 2. while (Kode_Film==0) or (Kode_Film>len(Film) do 3. write (Film Tidak Tersedia) 4. read (Kode_Film) 5. while (Kode_Film<0) do 6. write (Film Tidak Tersedia) 7. read (Kode_Film) 8. if Kode_Film<=len(Film) then 9. order.append(Film[Kode_Film-1]) 10. endif 11. else 12. write (Film Tidak Tersedia)
2.3 Menerima Input Kode Show Time 1. read (Kode_Show_Time) 2. while (Kode_Show_Time==0) or (Kode_Show_Time>len(Show) do 3. write (Show Time tidak tersedia) 4. read (Kode_Show_Time) 5. while (Kode_Show_Time <0) do 6. write (Show Time tidak tersedia) 7. read (Kode_Show_Time) 8. if Kode_Show_Time<=len(Show) then 9. jam.append(Show[Kode_Show_Time-1]) 10. endif 11. else 12. write (Show Time Tidak Tersedia) 2.4 Menerima Input Jumlah Pesanan 1. if Kode_Show_Time==1 then 2. read(Jumlah_pesanan) 3. jmlh.append(Jumlah_pesanan) 4. if Jumlah_pesanan<=A[Kode_Film-1] then 5. X=A[Kode_Film-1] – Jumlah_pesanan 6. banyak.append(X) 7. A[Kode_Film-1]=X 8. endif 9. else 10. write (kapasitas tidak memadahi) 11. elseif Kode_Show_Time==2 then 12. read (Jumlah_pesanan) 13. jmlh.append(Jumlah_pesanan) 14. if Jumlah_pesanan<=B[Kode_Film-1] then 15. X=B[Kode_Film-1]-Jumlah_pesanan 16. banyak.append(X) 17. B[Kode_Film-1]=X 18. endif 19. else 20. write (kapasitas tidak memadahi) 21. elseif Kode_Show_Time==3 then 22. read (Jumlah_pesanan) 23. jmlh.append(Jumlah_pesanan) 24. if Jumlah_pesanan<=C[Kode_Film-1] then 25. X=C[Kode_Film-1]-Jumlah_pesanan 26. banyak.append(X) 27. C[Kode_Film-1]=X 28. endif 29. else 30. write (kapasitas tidak memadahi) 31. elseif Kode_Show_Time==4 then 32. read (Jumlah_pesanan) 33. jmlh.append(Jumlah_pesanan) 34. if Jumlah_pesanan<=D[Kode_Film-1] then 35. X=D[Kode_Film-1]- Jumlah_pesanan 36. banyak.append(X) 37. D[Kode_Film-1]=X
38. endif 39. else 40. write (kapasitas tidak memadahi) 41. elseif Kode_Show_Time==5 then 42. read (Jumlah_pesanan) 43. jmlh.append(Jumlah_pesanan) 44. if Jumlah_pesanan<=E[Kode_Film-1] then 45. X=E[Kode_Film-1]-Jumlah_pesanan 46. banyak.append(X) 47. E[Kode_Film-1]=X 48. endif 49. else 50. write (kapasitas tidak memadahi) 51. elseif Kode_Show_Time==6 then 52. read (Jumlah_pesanan) 53. jmlh.append(Jumlah_pesanan) 54. if Jumlah_pesanan<=F[Kode_Film-1] then 55. X=F[Kode_Film-1]- Jumlah_pesanan 56. banyak.append(X) 57. F[Kode_Film-1]=X 58. endif 59. else 60. write (kapasitas tidak memadahi) 2.5 Menerima Output Judul Film 1. for j in range (len(order)) do 2. write (order[j]) 3. j=j+1 4. Endfor 2.6 Menerima Output Show Time 1. for j in range (len(order)) do 2. write (jam[j]) 3. j=j+1 4. endfor 2.7 Menerima Output Jumlah Pesanan 1. 2. 3. 4.
for j in range (len(order)) do write (jmlh[j]) j=j+1 endfor
2.8 Menerima Totalan Harga 1. 2. 3. 4. 5. 6.
total=harga*Jumlah_pesanan Price.append(total) for j in range (len(order)) do write (Rp +Price[j]) j=j+1 endfor
2.9 Menerima Sisa Kursi 1. 2. 3. 4.
for j in range (len(order)) do write (banyak[j]) j=j+1 endfor
BAB III RANCANGAN APLIKASI 3.1 Flowchart Program
BAB IV IMPLEMENTASI 4.1 Menerima Input Kode Film Pembeli memasukkan Kode Film yang terdiri dari 1 sampai 6 sesuai judul Film yang dipilih. Jika memasukkan Kode Film lebih dari 6 dan kurang dari 1 maka penginputan Kode Film akan selalu muncul hingga memasukkan kode 1 hingga 6 sesuai judul Film yang diinginkan.
4.2 Menerima Input Kode Show Time Pembeli memasukkan Kode Show Time yang terdiri dari 1 sampai 6 sesuai judul jam tayang yang dipilih. Jika memasukkan Kode Show Time lebih dari 6 dan kurang dari 1 maka penginputan Kode Show Time akan selalu muncul hingga memasukkan kode 1 hingga 6 sesuai jam tayang yang diinginkan.
4.3 Menerima Input Jumlah pesanan Pada jumlah pesanan, pembeli menginput jumlah tiket yang akan dibeli sesuai Kode Film dan Kode Show Time yang diinput sebelumnya. Maka terproses perhitungan jumlah tiket yang dipesan akan dikalikan dengan harga tiket. Sisa kursi juga akan berkurang setiap pembelian tiket untuk Kode Film dan Kode Show Time yang dipilih.
4.4 Menerima Output Judul Film Keluaran dari Kode Film akan menambilkan Judul Film yang dipilih sebagai berikut.
4.5 Menerima Output Show Time Keluaran dari Kode Show Time akan menampilkan jam tayang yang telah dipilih sebagai berikut.
4.6 Menerima Output Jumlah Pesanan Keluaran dari Jumlah Pesanan ialah output dari menginputan pada jumlah pesanan sebelumnya sebagai berikut.
4.7 Menerima Output Totalan Harga Keluaran dari totalan harga ialah pengkalian dari jumlah pesanan dengan harga yang telah ditentukan sebagai berikut.
4.8 Menerima Output Sisa Kursi Output sisa kursi didapat dari penginputan jumlah pesanan dan kursi yang tersedia akan dikurangi jumlah pesanan sebagai berikut.
BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan Setelah dibuatnya program “Pemesanan Tiket Bioskop”, dengan ini tergapailah tujuan awal yaitu menyelesaikan Tugas Besar Algoritma dan Pemrograman serta dapat mengaplikasikan pembelajaran ke dalam hasil program ini. Dengan ini, program program “Pemesanan Tiket Bioskop” memudahkan pengguna untuk memesan tiket bioskop. 5.2 Saran Saran untuk Algoritma dan Pemrograman ialah diperbanyak latihan terutama pada program dan tingkat kesulitan antara latihan di kelas, tugas, dan ujian tidak jauh berbeda. Saran untuk tugas besar selanjutnya, agar diberi waktu yang lebih lama dan memiliki asisten dosen lebih dari satu mengingat banyaknya mahasiswa.
BAB VI TANYA JAWAB 6.1 Pertanyaan dan Jawaban Pertanyaan:
Conditions-nya ada di mana?
Jawaban:
Concitions berada di program penginputan Jumlah pesanan yang didasari pemilihan Kode Film dan Kode Show Time sebagai berikut.
di mana akan dilakukan 6 kondisi sesuai inputan Kode Film dan Kode Show Time. Jika pembeli memasukkan Kode Show Time 2 maka terproses elif b==2 dengan Kode Film yang telah terinput maka terproses jumlah pesanan sehingga sisa kursi dapat diketahui.
BAB VII BIODATA
1.
Nama Lengkap
Aditya
2.
Jenis Kelamin
Laki – laki
3.
Program Studi
Sistem Informasi
4.
NIM
10161009
5.
Tempat dan Tanggal Lahir
Balikpapan, 23 – 11 - 1998
6.
E-mail
[email protected]
7.
Nomor Telepon/HP
081346500076
8.
Pembagian Tugas
Program
1.
Nama Lengkap
Mike Yosia Yusuf
2.
Jenis Kelamin
Perempuan
3.
Program Studi
Teknik Elektro
4.
NIM
04161039
5.
Tempat dan Tanggal Lahir
Samarinda, 13 – 05 – 1998
6.
E-mail
[email protected]
7.
Nomor Telepon/HP
081348100204
8.
Pembagian Tugas
1.
Nama Lengkap
Rosa Gallica
2.
Jenis Kelamin
Perempuan
3.
Program Studi
Teknik Sipil
4.
NIM
07161079
5.
Tempat dan Tanggal Lahir
Balikpapan, 09 – 10 – 1997
6.
E-mail
[email protected]
7.
Nomor Telepon/HP
081294658080
8.
Pembagian Tugas
Program, Flowchart, File Persentasi (ppt), Laporan (PDF)
Program, Pseudocode, File Persentasi (ppt), Laporan (PDF)