Tutorial membuat program dari C++
-
Upload
rachman-b-prasetyo -
Category
Education
-
view
526 -
download
5
Transcript of Tutorial membuat program dari C++
T e a m T e n g a h
Page 1
DAFTAR ISI
BAB I PROYEK PROGRAM…………………………………………………………………… 2
1.1 Tentang Program………..……………………………………………………………….. 3
1.2 Spesifikasi Program………………………………………………………………………. 3
BAB II PROSEDUR PROGRAM……………………………………………………………… 4
2.1 Data Program……………………………………………………………………………… 5
2.2 Tipe Data………………………………………………………………………………….. 6
2.3 Perintah & Fungsi yang Digunakan…………………………………………………….. 7
2.4 Ketentuan Perhitungan…………………………………………………………………… 8
2.5 Diagram Alur Program (Flowchart)……………………………………………………… 9
BAB III PEMBUATAN PROGRAM…………………………………………………………… 20
3.1 Struktur Kode Program………..………………………………………………………… 21
3.2 Menu Utama………………………………………………………………………………. 22
3.3 Menu Tabel Harga………………………………………………………………………… 25
3.4 Menu Pembelian Cash…………………………………………………………………… 31
3.5 Menu Pembelian Kredit………………………………………………………………….. 37
BAB IV PENUTUP………………………………………………………………………………. 49
DAFTAR PUSTAKA.......................................……………………………………………….. 50
KODE PROGRAM KESELURUHAN.........…………………………………………………. 51
DOKUMENTASI………………………………………………………………………………… 67
T e a m T e n g a h
Page 2
T e a m T e n g a h
Page 3
1.1 Tentang Program
Program Perhitungan Kredit & Penjualan Motor adalah sebuah aplikasi yang
memiliki fungsi untuk dapat memproses data pembelian sepeda motor baik secara
cash ataupun kredit serta dapat melihat tabel harga sepeda motor yang ada.
Tujuan akhir dari dibuatnya program ini adalah untuk memudahkan pengguna (
penjual ) dalam mengolah data penjualan motor secara cash dan kredit.
1.2 Spesifikasi Program
Agar pembuatan program perhitungan kredit & penjualan motor terfokus, maka
perlu diberikan aturan dan batasan yang jelas tentang fitur – fitur apa saja yang ada di
program ini.
Fitur dan aturan yang berlaku di program perhitungan kredit & penjualan motor
adalah:
Untuk mengoperasikan program perhitungan kredit & penjualan motor,
pengguna tidak perlu login terlebih dahulu. Demi kesederhanaan pembahasan
dan pembuatan, program ini tidak memiliki fitur untuk menentukan, menambah,
mengedit, menghapus atau memblokir user. Program ini dapat langsung
digunakan.
Menu – menu yang tersedia pada program perhitungan kredit & penjualan
motor adalah menu tabel harga, menu pembelian cash, menu pembelian
kredit, dan menu keluar. Setiap menu mewakili fungsi apa yang dikerjakan oleh
menu – menu tersebut.
Pada menu tabel harga, pengguna hanya bisa melihat daftar harga masing –
masing type motor yang ada.
Pada menu pembelian cash, pengguna melakukan transaksi ketika ada
konsumen (pembeli) melakukan pembelian motor secara cash.
Pada menu Pembelian kredit, pengguna melakukan transaksi ketika ada
konsumen (kreditor) melakukan pengajuan pembelian motor secara kredit.
Hasil akhir dari aplikasi ini adalah dapat mengolah data penjualan motor serta
memperlihatkan rincian dari data tersebut secara lengkap.
T e a m T e n g a h
Page 4
T e a m T e n g a h
Page 5
2.1 Data Program
Sepeda motor yang digunakan sebagai data program adalah motor Honda, yang
terdiri dari 3 Jenis dan masing – masing dari jenis motor tersebut terdiri dari 3 type
motor berbeda. Berikut adalah data program yang digunakan :
Jenis Motor Type Motor Harga Unit
Matic
Beat POP CW Rp 14.100.000,-
Scoopy FI Rp 16.250.000,-
Vario 125 CBS Rp 17.050.000,-
Bebek
Revo 110 FI Rp 13.650.000,-
Supra X 125 FI Rp 15.950.000,-
Blade 125 FI Rp 16.400.000,-
Sports
Mega Pro FI Rp 21.200.000,-
CB 150 R Rp 24.075.000,-
CBR 150 STD Rp 29.900.000,-
Sedangkan untuk melakukan transaksi pembelian baik secara cash ataupun kredit
memiliki ketentuan sebagai berikut :
a. Pembelian Cash
Type Motor Cashback PPN
Beat POP CW 5%
10%
Scoopy FI 7%
Vario 125 CBS 8%
Revo 110 FI 3%
Supra X 125 FI 5%
Blade 125 FI 7%
Mega Pro FI 6%
CB 150 R 2%
CBR 150 STD 5%
b. Pembelian Kredit
Type Motor DP Angsuran
12X 20X 24X 36X
Beat POP CW 10% Rp 1,057,500.00 Rp 634,500.00 Rp 528,750.00 Rp 352,500.00
30% Rp 822,500.00 Rp 493,500.00 Rp 411,250.00 Rp 274,166.67
Scoopy FI 10% Rp 1,218,750.00 Rp 731,250.00 Rp 609,375.00 Rp 406,250.00
30% Rp 947,916.67 Rp 568,750.00 Rp 473,958.33 Rp 315,972.22
Vario 125 CBS 10% Rp 1,278,750.00 Rp 767,250.00 Rp 639,375.00 Rp 426,250.00
30% Rp 994,583.33 Rp 596,750.00 Rp 497,291.67 Rp 331,527.78
Revo 110 FI 10% Rp 1,023,750.00 Rp 614,250.00 Rp 511,875.00 Rp 341,250.00
30% Rp 796,250.00 Rp 477,750.00 Rp 398,125.00 Rp 265,416.67
Supra X 125 FI 10% Rp 1,196,250.00 Rp 717,750.00 Rp 598,125.00 Rp 398,750.00
30% Rp 930,416.67 Rp 558,250.00 Rp 465,208.33 Rp 310,138.89
T e a m T e n g a h
Page 6
Blade 125 FI 10% Rp 1,230,000.00 Rp 738,000.00 Rp 615,000.00 Rp 410,000.00
30% Rp 956,666.67 Rp 574,000.00 Rp 478,333.33 Rp 318,888.89
Mega Pro FI 10% Rp 1,590,000.00 Rp 954,000.00 Rp 795,000.00 Rp 530,000.00
30% Rp 1,236,666.67 Rp 742,000.00 Rp 618,333.33 Rp 412,222.22
CB 150 R 10% Rp 1,805,625.00 Rp 1,083,375.00 Rp 902,812.50 Rp 601,875.00
30% Rp 1,404,375.00 Rp 842,625.00 Rp 702,187.50 Rp 468,125.00
CBR 150 STD 10% Rp 2,242,500.00 Rp 1,345,500.00 Rp 1,121,250.00 Rp 747,500.00
30% Rp 1,744,166.67 Rp 1,046,500.00 Rp 872,083.33 Rp 581,388.89
2.2 Tipe Data
Dalam pembuatan program perhitungan kredit & penjualan motor, digunakan 3
tipe data yang masing – masing memiliki fungsi dan kegunaan untuk melakukan
proses data di dalam program. Berikut adalah tipe data yang digunakan :
A. Character
Character digunakan untuk menampung data input serta mengelola
(memproses) data input yang mengandung huruf, yaitu :
1. Identitas pembeli
2. Memproses tabel harga yang di pilih
3. Tipe motor
4. Warna motor
5. Pilihan melakukan input ulang
B. Long
Long digunakan untuk data input, menampilkan, dan memproses data berupa
harga dalam transaksi pembelian sepeda motor baik secara cash ataupun
kredit. Berikut adalah data yang menggunakan tipe data long:
1. Harga unit motor
2. PPN
3. Total pembayaran
4. Uang bayar
5. Uang kembali
6. Cashback
7. DP / Uang Muka
8. Angsuran
9. Total harga
T e a m T e n g a h
Page 7
C. Interger
Interger digunakan untuk data input yang berfungsi sebagai pengolah data
transaksi dan inisialisai data looping, yaitu:
1. Jumlah pembelian
2. Looping data
3. Pemilihan DP dan angsuran
2.3 Perintah & Fungsi yang Digunakan
Program perhitungan kredit & penjualan motor terbentuk dari beberapa fungsi dan
perintah yang digunakan agar program dapat berjalan dengan baik. Berikut adalah
fungsi dan perintah yang digunakan untuk menjalankan program :
1. Perintah Keluaran dan Masukan
Perintah ini kami gunakan untuk menjalankan fungsi utama program.
Berikut adalah perintah – perintah yang kami gunakan:
1. Perintah Keluaran
a. Printf();
b. Puts();
c. Cout<<;
d. Getch();
2. Perintah Masukan
a. Scanf();
2. Operator Aritmatika, digunakan untuk melakukan perhitungan atau
pengolahan data transaksi seperti perhitungan jumlah pembayaran
3. Operator Relasi dan Logika, digunakan untuk melakukan pengecekan atau
mencocokkan data input berupa teks seperti pemilihan type motor.
4. Operasi Manipulasi String, digunakan untuk memanipulasi teks. Manipulasi
yang digunakan adalah untuk menyalin dan membandingkan data teks untuk
transaksi penjualan.
5. Seleksi Data, digunakan untuk melakukan seleksi data dari data input yang
akan dijadikan sebagai data penjualan motor serta digunakan sebagai
pemilihan menu yang akan dijalankan dan pemilihan pada proses “ingin input
lagi” di akhir pemakaian program. Perintah seleksi yang kami gunakan
adalah:
a. IF.... ELSE
b. IF.... ELSE Majemuk
c. Nested IF
T e a m T e n g a h
Page 8
6. Looping Data, digunakan untuk menampung jumlah pembelian sepeda motor
agar dapat dilakukan sekali proses penginputan.
7. Perintah Goto, digunakan untuk kembali ke pilihan atau menu yang sudah
ditentukan agar dapat melakukan penggunaan program sesuai dengan
keinginan.
8. Array, berfungsi sebagai tempat menampung data pembelian dan digunakan
sebagai fungsi yang bertugas untuk menampilkan data dalam bentuk tampilan
tabel.
9. Fungsi Manipulator, digunakan untuk mengatur format keluaran data yaitu
perataan kiri dan kanan dalam tampilan data tabel.
10. Fungsi Tanpa Parameter (sederhana), digunakan untuk mengurangi
pengulangan penulisan program yang sama agar menjadi lebih terstruktur
seperti listing judul program.
2.4 Ketentuan Perhitungan
Pada program perhitungan kredit & penjualan motor terdapat ketentuan
perhitungan transaksi pembelian sepeda motor baik secara cash ataupun kredit.
Ketentuan perhitungan tersebut adalah sebagai berikut :
1. Pembelian cash
Jila melakukan pembelian secara cash maka perhitungannya adalah sebagai
berikut :
A. PPN = Harga Unit x 10%
B. Total Pembayaran = ( Harga Unit + PPN ) x Jumlah Pembelian
C. Cashback = Harga unit x Ketentuan Cashback
2. Pembelian Kredit
Jika melakukan pembelian secara kredit maka perhitungannya adalah sebagai
berikut :
A. DP = Harga Unit x Ketentuan ( 10% atau 30% )
B. Angsuran = ( Harga Unit – DP ) / Ketentuan Tenor
T e a m T e n g a h
Page 9
2.5 Diagram Alur Program (Flowchart)
Dalam setiap pembuatan program, tentunya program yang dibuat memiliki alur
logika untuk melakukan data proses yang akan dijalankan. Alur logika tersebut
berfungsi sebagai Controller untuk menentukan perintah/proses apa yang harus
dijalankan ketika ada data input yang masuk sehingga dapat memberikan hasil output
sesuai dengan keinginan yang dimaksud.
Alur logika dapat digambarkan dengan sebuah diagram alur yang disebut
sebagai flowchart yang menggunakan simbol – simbol untuk mendefinisikan alur
logika yang ada dalam program.
Berikut adalah flowchart yang ada dalam program perhitungan kredit &
penjualan motor dan dibagi berdasarkan perintah menu yang ada dalam program :
1. Flowchart Menu Utama
T e a m T e n g a h
Page 10
Keterangan :
Proses 1, pengguna program melakukan input untuk memilih menu yang akan
digunakan
Proses 2, hasil input dari pengguna akan diproses oleh fungsi seleksi data dan
dikondisikan dengan 4 kondisi yang sudah ditentukan untuk menangani
pemilihan menu utama.
Proses 3, kondisi yang akan dijalankan pertama adalah kondisi ke-1. Jika input
dari pengguna benar dengan kondisi ke-1 maka perintah 1 akan dijalankan dan
menu tabel harga dipanggil. Namun jika, input tersebut tidak benar dengan
kondisi ke-1,maka akan di sesuaikan dengan kondisi ke-2 dan melakukan
proses yang sama seperti pada kondisi ke-1. Begitupun pada kondisi ke-3.
Proses 4, ketika input dari pengguna tidak ada yang sesuai dengan kondisi 1,2,
dan 3 maka secara otomatis kondisi 4 akan berjalan yaitu perintah untuk keluar
dari program.
2. Flowchart Menu Tabel Harga
T e a m T e n g a h
Page 11
Keterangan :
Proses 1, pengguna program melakukan input jenis motor yang ingin di pilih
untuk melihat harga masing – masing type motor pada jenis motor tersebut.
Proses 2, input pengguna akan di proses pada fungsi seleksi data dan
dikondisikan dengan 4 kondisi yang sudah ditentukan.
Proses 3, kondisi ke-1,ke-2, dan ke-3 menyatakan bahwa input dari pengguna
cocok dengan jenis motor yang ada dan tabel harga akan di panggil serta
menampilkan jenis motor dari hasil input tersebut. Dengan ketentuan sebagai
berikut :
o Kondisi ke-1 jika input benar dengan jenis motor matic maka perintah 1
akan dijalankan untuk menampilkan tabel harga jenis motor matic.
o Kondisi ke-2 jika input benar dengan jenis motor bebek maka perintah 2
akan dijalankan untuk menampilkan tabel harga jenis motor bebek.
o Kondisi ke-3 jika input benar dengan jenis motor sports maka perintah 3
akan dijalankan untuk menampilkan tabel harga jenis motor sports.
Proses 4, setelah tabel harga tampil pada program. Maka pengguna akan
mendapatkan pilihan menu berupa “ingin input lagi ?” yang memiliki 2 pilihan
sebagai berikut :
o Jika pengguna memilih pilihan pertama yaitu : “Y´atau y” maka pengguna
akan kembali ke proses 1 dimana menu tabel harga dimulai.
o Jika pengguna memilih pilihan kedua yaitu : “N atau n atau input
sembarang” maka pengguna akan kembali ke menu utama dan menu
tabel harga berakhir.
Proses 5, Jika pada kondisi ke-1,ke-2, dan ke-3 tidak ada yang benar maka
secara otomatis kondisi ke-4 akan berjalan dan memanggil perintah 4 untuk
menampilkan keterangan bahwa jenis motor yang di input tidak ada atau salah.
Kemudian pengguna akan mendapatkan pilihan menu seperti pada proses 4.
T e a m T e n g a h
Page 12
3. Flowchart Menu Pembelian Cash
T e a m T e n g a h
Page 13
Keterangan :
Proses 1, pengguna melakukan input data identitas pembeli secara lengkap
dan benar
Proses 2, pengguna melakukan input jumlah unit pembelian sepeda motor
yang ditentukan oleh pembeli. Sekaligus digunakan sebagai syarat perulangan
pada proses looping.
Proses 3, proses looping akan berjalan. Dengan ketentuan sebagai berikut :
o Inisialisasi (nilai awal) di mulai dari 1.
o Syarat Perulangan ditentukan dari jumlah pembelian yang diinputkan.
o Pengubah Nilai Pencacah menggunakan kenaikan +1 setiap syarat
perulangan masih diteruskan.
Proses 4, pengguna melakukan penginputan data motor yang di beli oleh
konsumen (pembeli) sesuai dengan jumlah pembelian yaitu selama proses
looping berjalan (diteruskan). Data yang di input adalah type dan warna motor.
Proses 5, jika kondisi syarat perulangan sudah sampai pada kondisi akhir yaitu
sama dengan jumlah pembelian maka, proses looping data akan berhenti.
Proses 6, setelah proses looping berhenti maka, pengolahan data hasil dari
looping tersebut akan dijalankan. Data yang di olah adalah no. Mesin, type
motor, harga unit, total bayar, PPN, dan total cashback yang digunakan
sebagai rincian dalam data penjualan motor
Proses 7, menampilkan data penjualan motor secara terperinci sesuai dengan
data input dan hasil dari pengolahan data looping. Ditampilkan dalam bentuk
tabel.
Proses 8, pengguna melakukan input data uang pembayaran dari pembeli.
Proses 9, program akan menghitung jumlah uang kembali.
Proses 10, program akan menampilkan jumlah uang kembali beserta cashback
yang di dapatkan oleh pembeli dari pembelian secara cash.
Proses 11, setelah data penjualan motor di tampilkan pada program. Maka
pengguna akan mendapatkan pilihan menu berupa “ingin input lagi ?” yang
memiliki 2 pilihan sebagai berikut :
o Jika pengguna memilih pilihan pertama yaitu : “Y´atau y” maka pengguna
akan kembali ke proses 1 dimana menu pembelian cash dimulai.
o Jika pengguna memilih pilihan kedua yaitu : “N atau n atau input
sembarang” maka pengguna akan kembali ke menu utama dan menu
pembelian cash berakhir.
T e a m T e n g a h
Page 14
4. Flowchart Pengolahan Data Looping Pembelian Cash
T e a m T e n g a h
Page 15
Keterangan :
Proses 1, pengolahan data looping di mulai ketika proses looping berhenti dan
ditentukan oleh data input ketika proses looping berlangsung yaitu type motor
dan warna motor.
Proses 2, warna motor akan langsung di tampilkan pada data penjualan motor
dan tidak melalui proses apapun dalam program. Sedangkan untuk type motor
harus melalui proses pengolahan data di dalam program yaitu seleksi data.
Proses 3, data input dari pengguna berupa type motor akan di kondisikan dengan
9 kondisi yang sudah ditentukan. Jika salah satu kondisi tersebut ada yang benar
dengan data input maka perintah tersebut akan dijalankan untuk memproses
data yang akan ditampilkan pada data penjualan motor.
Proses 4, setelah proses 3 di eksekusi maka proses selanjutnya adalah
menentukan harga unit, PPN, No. Mesin, dan Cashback pembelian dari type
motor yang merupakan lanjutan dari proses 3.
Proses 5, menghitung total harga pembelian sepeda motor.
Proses 6, menampilkan semua hasil pengolahaan data looping ke dalam data
penjualan motor.
T e a m T e n g a h
Page 16
5. Flowchart Pembelian Kredit
T e a m T e n g a h
Page 17
Keterangan :
Proses 1, pengguna melakukan input data identitas kreditor secara lengkap
dan benar
Proses 2, pengguna melakukan input jumlah unit pembelian sepeda motor
yang ditentukan oleh kreditor. Sekaligus digunakan sebagai syarat perulangan
pada proses looping.
Proses 3, proses looping akan berjalan. Dengan ketentuan sebagai berikut :
o Inisialisasi (nilai awal) di mulai dari 1.
o Syarat Perulangan ditentukan dari jumlah pembelian yang diinputkan.
o Pengubah Nilai Pencacah menggunakan kenaikan +1 setiap syarat
perulangan masih diteruskan.
Proses 4, pengguna melakukan penginputan data motor yang di beli oleh
konsumen (kreditor) sesuai dengan jumlah pembelian yaitu selama proses
looping berjalan (diteruskan). Data yang di input adalah type motor, warna
motor, dp yang diambil, dan tenor.
Proses 5, jika kondisi syarat perulangan sudah sampai pada kondisi akhir yaitu
sama dengan jumlah pembelian maka, proses looping data akan berhenti.
Proses 6, setelah proses looping berhenti maka, pengolahan data hasil dari
looping tersebut akan dijalankan. Data yang di olah adalah no. Mesin, type
motor, uang muka/DP, angsuran setiap bulan, dan total pembayaran yang
digunakan sebagai rincian dalam data penjualan motor.
Proses 7, menampilkan data penjualan motor secara terperinci sesuai dengan
data input dan hasil dari pengolahan data looping. Ditampilkan dalam bentuk
tabel.
Proses 8, pengguna melakukan input data uang pembayaran dari kreditor.
Proses 9, program akan menghitung jumlah uang kembali.
Proses 10, program akan menampilkan jumlah uang kembali.
Proses 11, setelah data penjualan motor di tampilkan pada program. Maka
pengguna akan mendapatkan pilihan menu berupa “ingin input lagi ?” yang
memiliki 2 pilihan sebagai berikut :
o Jika pengguna memilih pilihan pertama yaitu : “Y´atau y” maka pengguna
akan kembali ke proses 1 dimana menu pembelian kredit dimulai.
o Jika pengguna memilih pilihan kedua yaitu : “N atau n atau input
sembarang” maka pengguna akan kembali ke menu utama dan menu
pembelian kredit berakhir.
T e a m T e n g a h
Page 18
6. Flowchart Pengolahan Data Looping Pembelian Kredit
T e a m T e n g a h
Page 19
Keterangan :
Proses 1, pengolahan data looping di mulai ketika proses looping berhenti dan
ditentukan oleh data input ketika proses looping berlangsung yaitu type motor,
DP, Tenor, dan Warna motor
Proses 2, Warna motor akan langsung di tampilkan pada data penjualan motor
dan tidak melalui proses apapun dalam program.
Proses 3, data input dari pengguna berupa type motor, DP, dan tenor akan
melalui proses Nested IF di program terlebih dahulu sebelum di tampilkan
pada data penjualan motor.
Proses 4, seleksi data pertama yang akan di jalankan pada program adalah
menyeleksi type motor dari data input pengguna. Di mulai dari kondisi ke-1
sampai dengan ke-9. Jika salah satu kondisi tersebut benar dengan ke-9. Jika
salah satu kondisi tersebut benar dengan data input pengguna maka perintah
pada kondisi tersebut akan di jalankan dan mencetak type motor secara
lengkap pada data penjualan motor.
Proses 5, seleksi data kedua dijalankan setelah berhasil menemukan kondisi
yang benar untuk type motor dari data input pengguna pada seleksi data
pertama. Proses seleksi data kedua adalah menentukan DP sesuai type motor
yang telah ditentukan.
Proses 6, seleksi data ketiga di jalankan setelah proses seleksi data pertama
dan kedua sudah ditentukan. Pada seleksi data ketiga proses yang berjalan
adalah menentukan besaran angsuran setiap bulan dari tenor yang telah
ditentukan sesuai dengan DP dan Type Motor yang sudah dijalankan pada
seleksi data sebelumnya.
proses 7, setelah proses 6 selesai. Maka program akan menghitung DP dan
besaran angsuran per bulan dari ketentuan - ketentuan yang sudah dijalankan.
proses 8, No. Mesin, type Motor, Harga DP, dan besaran angsuran setiap
bulan serta rincian lainnya yang diperlukan akan di tampilkan pada data
penjualan sepeda motor.
T e a m T e n g a h
Page 20
T e a m T e n g a h
Page 21
3.1 Struktur Kode Program
Struktur kode program perhitungan kredit & penjualan motor terdiri dari
beberapa bagian. Setiap bagian terdiri dari satu atau beberapa fungsi yang
melaksanakan tugas tertentu. Bagian – bagian tersebut adalah sebagai berikut :
Kode Program :
01 #include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
garis()
{
puts("=============================================\n
");
}
judul()
{
puts("\t\t\t Sistem Perhitungan Kredit &
Penjualan Motor");
puts("\t\t\t\t GROUP TENGAH Corp.");
puts("\t\t\t
===========================================");
puts("\t\t\t Beberapa Langkah Lebih ke
Depan");
cout<<"\n \n \n \n";
}
main()
{
char
alamat[100],pembeli[100],pilih,tabel[20],kelurahan[20
0],kecamatan[200],kota[100];
long hp=0,pembayaran=0,bayar=0,kembali=0;
int banyak,cash,kredit;
char
merk[9][20],type1[9][20],warna[9][20],merk1[9][100];
long harga[9]={0};
int unit[9]={1},dp[9],tenor[9];
long
dp1[9],total_angsuran[9],angsuran[9],total[9]={0},bac
k[9],ppn[9]={0},cashback[9]={0};
……………………………………………………………
……………………………………………………………
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
T e a m T e n g a h
Page 22
Penjelasan Kode :
Baris 1- 4, adalah file header yang digunakan dalam program agar dapat
berjalan dengan baik.
Baris 7 – 25, adalah fungsi tanpa parameter yang berfungsi untuk mencegah
pengulangan penulisan program yang sama.
Baris 27 – 28, adalah badan program dimana semua perintah – perintah yang
ada harus berada di dalam badan program agar dapat berjalan dengan baik.
Jika tidak maka perintah tersebut tidak akan terbaca.
Baris 29 – 40, adalah deklarasi variable yang ada pada program untuk
menampung, mengelola, dan memproses data input agar dapat dihasilkan data
output yang dinginkan.
Baris 41, adalah bagian – bagian program. Akan dibahas di pembahasan
berikutnya.
3.2 Menu Utama
Karena program perhitungan kredit & penjualan motor tidak memiliki fitur untuk login
dulu sebelum menggunakan program. Maka, tampilan pertama yang akan disajikan
adalah menu utama. Untuk itu, kita perlu membuat modul menu utama.
Langkah untuk membuat modul menu utama adalah membuat kode program berupa
tampilan, data input, proses, dan output program ( Sebelumnya anda sudah harus
menuliskan struktur kode program ).
Kode modul menu utama :
01 menu_utama:
clrscr();
judul();
puts("Selanat Datang di Dealer Motor Honda");
cout<<"\n";
puts("Pilihan Menu : \n\n 1. Tabel Harga \n 2.
Pembelian Cash \n 3. Pembelian Kredit \n 4.
Keluar");
garis();
cout<<"\n";
printf("Inputkan Pilihan Anda : ");
scanf("%s",&pilih);
if(pilih=='1')
{
goto tabel_harga;
}
else if(pilih=='2')
{
goto beli_cash;
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
T e a m T e n g a h
Page 23
20 }
else if(pilih=='3')
{
goto beli_kredit;
}
else
{
goto keluar;
}
21
22
23
24
25
26
27
28
29
30
Penjelasan Kode :
Baris 1, mendefinisikan bahwa semua perintah yang ada di dalam
menu_utama adalah perintah – perintah yang akan di jalankan ketika program
menampilkan modul menu utama.
Baris 2 – 3, definisi dari perintah dan fungsi yang akan di panggil ketika modul
menu utama berjalan.
Baris 4 – 11, definisi dari perintah – perintah keluaran yang bertugas untuk
membuat tampilan pada modul menu utama ketika pertama kali di tampilkan.
Baris 12, definisi dari perintah masukan yang bertugas untuk menampung data
input oleh pengguna.
Baris 12 – 28, perintah seleksi data yang akan di jalankan ketika pengguna
telah melakukan data input atau menentukan pilihan sesuai dengan pilihan
menu yang ada.
T e a m T e n g a h
Page 24
Berikut adalah tampilan dari menu utama ketika dijalankan :
Gambar 3.1 Tampilan Menu Utama
T e a m T e n g a h
Page 25
3.3 Menu Tabel Harga
Setelah membuat modul menu utama. Selanjutnya kita perlu membuat modul tabel
harga yang berfungsi untuk melihat harga – harga unit sepeda motor yang akan dijual.
Harga – harga yang ada di dalam menu tabel harga nanti akan digunakan sebagai
harga jual motor baik secara cash ataupun kredit.
1. Tampilan Menu Tabel Harga
Berikut adalah kode tampilan menu tabel harga yang pertama kali akan di
tampilkan.
01 tabel_harga: clrscr(); judul(); puts("\t\t\t\t\t TABEL HARGA MOTOR"); cout<<"\n \n"; printf("Masukkan Jenis Motor : "); scanf("%s",&tabel);
02
03
04
05
06
07
Penjelasan kode :
Baris 1, mendefinisikan bahwa semua perintah yang ada di dalam
tabel_harga adalah perintah – perintah yang akan di jalankan ketika
program menampilkan modul tabel harga.
Baris 2 – 3, definisi dari perintah dan fungsi yang akan di panggil ketika
modul menu utama berjalan.
Baris 4 – 6, definisi dari perintah – perintah keluaran yang bertugas untuk
membuat tampilan ketika modul tabel harga di jalankan. (lihat gambar
3.2)
Baris 7, definisi dari perintah masukan yang berfungsi sebagai tempat
menampung data input dari pengguna untuk selanjutnya akan di proses
dalam program.
2. Proses Seleksi Data
Setelah pengguna melakukan input data, maka proses selanjutnya adalah seleksi
data untuk menampilkan data output pada program.
Kode seleksi data :
01 if(!strcmp(tabel,"Matic")||!strcmp(tabel,"matic")) { cout<<"\n \n"; cout<<"Jenis Motor : MATIC\n\n"; puts("Pembelian Cash"); cout<<"===============================================\n"; cout<<"Type \t Harga Unit Cashback \n"; cout<<" \t(Belum termasuk PPN) \n";
02
03
04
05
06
07
08
09
T e a m T e n g a h
Page 26
10 puts("==============================================="); cout<<"Beat POP CW Rp 14.100.000,- 5% \n"; cout<<"Scoopy FI Rp 16.250.000,- 7% \n"; cout<<"Vario 125 CBS Rp 17.050.000,- 8% \n"; puts("===============================================\n\n"); puts("Pembelian Credit"); cout<<"=================================================================================================\n"; cout<<"Type \t DP \t\t\t ANGSURAN \n"; cout<<"\t\t\t\t 12x 20x 24x 36x \n"; puts("================================================================================================="); cout<<"Beat POP CW 10% Rp 1.057.500,- Rp 634.500,- Rp 528.750,- Rp 352.500,- \n"; cout<<" 30% Rp 822.500,- Rp 493.500,- Rp 411.250,- Rp 274.167,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"Scoopy FI 10% Rp 1.218.750,- Rp 731.250,- Rp 609.375,- Rp 406.250,- \n"; cout<<" 30% Rp 947.917,- Rp 568.750,- Rp 473.959,- Rp 315.973,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"Vario 125 CBS 10% Rp 1.278.750,- Rp 767.250,- Rp 639.375,- Rp 426.250,- \n"; cout<<" 30% Rp 994.584,- Rp 596.750,- Rp 497.292,- Rp 331.528,- \n"; puts("=================================================================================================\n"); } else if(!strcmp(tabel,"Bebek")||!strcmp(tabel,"bebek")) { cout<<"\n \n"; cout<<"Jenis Motor : BEBEK\n\n"; puts("Pembelian Cash"); cout<<"===============================================\n"; cout<<"Type \t Harga Unit Cashback \n"; cout<<" \t(Belum termasuk PPN) \n"; puts("==============================================="); cout<<"Revo 110 FI Rp 13.650.000,- 3% \n"; cout<<"Supra X 125 FI Rp 15.950.000,- 5% \n"; cout<<"Blade 125 FI Rp 16.400.000,- 7% \n"; puts("===============================================\n\n"); puts("Pembelian Credit"); cout<<"=================================================================================================\n"; cout<<"Type \t DP \t\t\t ANGSURAN \n"; cout<<"\t\t\t\t 12x 20x 24x 36x \n";
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
T e a m T e n g a h
Page 27
66 puts("================================================================================================="); cout<<"Revo 110 FT 10% Rp 1.023.750,- Rp 614.250,- Rp 511.875,- Rp 341.250,- \n"; cout<<" 30% Rp 796.250,- Rp 477.750,- Rp 398.125,- Rp 265.417,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"Supra X 125 FI 10% Rp 1.196.250,- Rp 717.750,- Rp 598.125,- Rp 398.750,- \n"; cout<<" 30% Rp 930.417,- Rp 558.250,- Rp 465.209,- Rp 310.139,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"Blade 125 FI 10% Rp 1.230.000,- Rp 738.000,- Rp 615.000,- Rp 410.000,- \n"; cout<<" 30% Rp 956.667,- Rp 574.000,- Rp 478.334,- Rp 318.889,- \n"; puts("=================================================================================================\n"); } else if(!strcmp(tabel,"Sports")||!strcmp(tabel,"sports")) { cout<<"\n \n"; cout<<"Jenis Motor : SPORTS\n\n"; puts("Pembelian Cash"); cout<<"===============================================\n"; cout<<"Type \t Harga Unit Cashback \n"; cout<<" \t(Belum termasuk PPN) \n"; puts("==============================================="); cout<<"Mega Pro FI Rp 21.200.000,- 6% \n"; cout<<"CB 150 R Rp 24.075.000,- 2% \n"; cout<<"CBR 150 STD Rp 29.900.000,- 5% \n"; puts("===============================================\n\n"); puts("Pembelian Credit"); cout<<"=================================================================================================\n"; cout<<"Type \t DP \t\t\t ANGSURAN \n"; cout<<"\t\t\t\t 12x 20x 24x 36x \n"; puts("================================================================================================="); cout<<"Mega Pro FI 10% Rp 1.590.000,- Rp 954.000,- Rp 795.000,- Rp 530.000,- \n"; cout<<" 30% Rp 1.236.667,- Rp 742.000,- Rp 618.334,- Rp 412.223,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"CB 150 R 10% Rp 1.805.625,- Rp 1.083.375,- Rp 902.813,- Rp 601.875,- \n"; cout<<" 30% Rp 1.404.375,- Rp 842.625,- Rp
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
T e a m T e n g a h
Page 28
122 702.188,- Rp 468.125,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"CBR 150 STD 10% Rp 2.242.500,- Rp 1.345.500,- Rp 1.121.250,- Rp 747.500,- \n"; cout<<" 30% Rp 1.744.167,- Rp 1.046.500,- Rp 872.084,- Rp 581.389,- \n"; puts("=================================================================================================\n"); } else { cout<<"\n \n"; cout<<"Maaf jenis motor yang anda masukkan tidak ada. Silahkan Ulangi lagi \n\n"; }
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Penjelasan kode :
Baris 1 – 45, Jika seleksi menyatakan benar terhadap jenis motor matic
maka perintah dalam baris tersebut akan dipanggil dan menampilkan tabel
harga motor matic. (lihat gambar 3.4)
Baris 46 – 88, Jika seleksi menyatakan benar terhadap jenis motor bebek,
maka perintah dalam baris tersebut akan dipanggil dan menampilkan tabel
harga motor bebek. (lihat gambar 3.4)
Baris 89 – 132, jika seleksi menyatakan benar terhadap jenis motor sports
maka perintah dalam baris tersebut akan dipanggil dan menampilkan tabel
harga motor sports. (lihat gambar 3.4)
Baris 133 – 138, jika seleksi menyatakan bahwa jenis motor yang di input
oleh pengguna tidak ada atau salah maka perintah baris tersebut akan
berjalan. (lihat gambar 3.3 )
3. Pilihan “Ingin input lagi”
Pilihan ini digunakan ketika data input pengguna tidak ada yang sesuai dengan
jenis motor yang ada serta ditampilkan setelah tabel harga muncul untuk kembali
ke penginputan awal atau keluar dari menu tabel harga.
Kode :
01 printf("Ingin Input Lagi [y/n] ? ");
scanf("%s",&pilih);
if(pilih=='Y'||pilih=='y')
{
goto tabel_harga;
}
else
{
02
03
04
05
06
07
08
T e a m T e n g a h
Page 29
09 goto menu_utama;
} 10
Penjelasan Kode :
Baris 1, definisi dari perintah keluar untukmembuat teks tampilan pada
layar. ( lihat gambar 3.3 )
Baris 2, definisi dari perintah masukan untuk menampung data input dari
pengguna.
Baris 3 – 10, seleksi data untuk melakukan proses dari data input
pengguna. ( lihat diagram alur program ).
Berikut adalah tampilan menu tabel harga :
Gambar 3.2 Tampilan Menu Tabel Harga – 1
T e a m T e n g a h
Page 30
Gambar 3.3 Tampilan Menu Tabel Harga - 2
Gambar 3.4 Tampilan Menu Tabel Harga - 3
T e a m T e n g a h
Page 31
3.4 Menu Pembelian Cash
Menu pembelian cash digunakan untuk melakukan transaksi penjualan sepeda motor
secara cash. Dan hasil yang di peroleh adalah dapat mengetahui rincian data
penjualan secara lengkap.
1. Tampilan Menu pembelian cash
Berikut adalah kode untuk melakukan data input pada pembelian cash :
01 beli_cash: clrscr(); judul(); puts("Identitas Pembeli"); puts("----------------------------------"); printf("Nama Pembeli : ");scanf("%s",&pembeli); printf("Alamat Pembeli : ");scanf("%s",&alamat); printf("No. Telepon/Handphone : 0");scanf("%ld",&hp); printf("Banyak Pembelian : "); scanf("%d",&banyak); puts("----------------------------------\n\n\n"); puts("Data Pembelian"); puts("----------------------------------"); for(cash=1;cash<=banyak;++cash) { cout<<"Data Pembelian Ke-"<<cash<<endl; printf("Type Motor \t: ");scanf("%s",&merk[cash]); printf("Warna Motor \t: ");scanf("%s",&warna[cash]); puts("----------------------------------"); }
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
Penjelasan kode :
Baris 1, mendefinisikan bahwa semua perintah yang ada di dalam
beli_cash adalah perintah – perintah yang akan di jalankan ketika
menu pembelian cash sedang digunakan.
Baris 2 – 3, definisi dari perintah dan fungsi yang akan di panggil oleh
program.
Baris 4 – 12, definisi dari perintah keluaran yang digunakan untuk
menampilkan teks pada layar yaitu dengan perintah printf(); dan
puts();. Sedangkan untuk perintah masukan diwakili oleh perintah
scanf(); yang bertugas untuk menampung data input dari pengguna.
Baris 13, definisi dari perintah looping data jumlah pembelian.
Baris 14 – 20, definisi dari perintah input selama proses looping
berjalan.
T e a m T e n g a h
Page 32
Berikut adalah tampilannya :
Gambar 3.5 Tampilan Data Input Pembelian Cash
2. Data penjualan motor
Setelah pengguna melakukan data input berupa identitas pembeli dan data motor
yang dijual. Maka selanjutnya program akan menampilkan seluruh rinciannya
dalam data penjualan motor.
Kode data penjualan motor :
01 clrscr(); judul(); puts("\t\t\t\t\t DATA PENJUALAN MOTOR"); cout<<"\n \n"; puts("Identitas Pembeli"); puts("----------------------------------"); cout<<"Nama Pembeli \t: "<<pembeli<<endl; cout<<"Alamat Pembeli \t: "<<alamat<<endl; cout<<"No.Telepon/Handphone : 0"<<hp<<endl;
02
03
04
05
06
07
08
09
T e a m T e n g a h
Page 33
10 puts("----------------------------------\n\n\n"); cout<<"No. Type Motor Warna No. Mesin Jumlah Unit Harga Unit\n"; puts("===================================================================="); for(cash=1;cash<=banyak;++cash) { unit[cash]=1; if(!strcmp(merk[cash],"beat")) { harga[cash]=14100000; back[cash]=14100000*0.05; strcpy(merk1[cash],"Beat POP CW"); strcpy(type1[cash],"POP"); } else if(!strcmp(merk[cash],"scoopy")) { harga[cash]=16250000; back[cash]=16250000*0.07; strcpy(merk1[cash],"Scoopy FI"); strcpy(type1[cash],"SFI"); } else if(!strcmp(merk[cash],"vario")) { harga[cash]=17050000; back[cash]=17050000*0.08; strcpy(merk1[cash],"Vario 125 CBS"); strcpy(type1[cash],"CBS"); } else if(!strcmp(merk[cash],"revo")) { harga[cash]=13650000; back[cash]=13650000*0.03; strcpy(merk1[cash],"Revo 110 FI"); strcpy(type1[cash],"R11"); } else if(!strcmp(merk[cash],"supra")) { harga[cash]=15950000; back[cash]=15950000*0.05; strcpy(merk1[cash],"Supra X 125 FI"); strcpy(type1[cash],"X12"); } else if(!strcmp(merk[cash],"blade")) { harga[cash]=16400000; back[cash]=16400000*0.07; strcpy(merk1[cash],"Blade 125 FI"); strcpy(type1[cash],"B12"); } else if(!strcmp(merk[cash],"mega")) { harga[cash]=21200000; back[cash]=21200000*0.06;
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
T e a m T e n g a h
Page 34
63 strcpy(merk1[cash],"Mega Pro FI"); strcpy(type1[cash],"MCW"); } else if(!strcmp(merk[cash],"cb")) { harga[cash]=24075000; back[cash]=24075000*0.02; strcpy(merk1[cash],"CB 150 R"); strcpy(type1[cash],"CB1"); } else { harga[cash]=29900000; back[cash]=29900000*0.05; strcpy(merk1[cash],"CBR 150 STD"); strcpy(type1[cash],"STD"); } ppn[banyak]=ppn[banyak]+unit[cash]*harga[cash]*0.1; cashback[banyak]=cashback[banyak]+back[cash]*unit[cash]; total[banyak]=total[banyak]+unit[cash]*harga[cash]; cout<<setiosflags(ios::right)<<cash<<" \t"; cout<<merk1[cash]<<" \t"; cout<<warna[cash]<<" \t"; cout<<cash<<type1[cash]<<cash<<unit[cash]<<cash<<" \t"; cout<<unit[cash]<<" \t"; cout<<"Rp "<<harga[cash]<<endl; puts("--------------------------------------------------------------------"); } cout<<"\n"; cout<<"\t\t\t\t Total Harga : Rp "<<total[banyak]<<endl; cout<<"\t\t\t\t PPN : Rp "<<ppn[banyak]<<endl; pembayaran=total[banyak]+ppn[banyak]; cout<<"\t\t\t\t Total Pembayaran : Rp "<<pembayaran<<endl; printf("\t\t\t\t Uang bayar : Rp "); scanf("%ld",&bayar); kembali=bayar - pembayaran; cout<<"\t\t\t\t Uang Kembali : Rp "<<kembali<<endl; cout<<"\t\t\t\t Cashback : Rp "<<cashback[banyak]<<endl; cout<<"\n\n"; printf("Apakah ingin input data lagi [y/n] ? "); scanf("%s",&pilih); if(pilih=='Y'||pilih=='y') { goto beli_cash; } else { goto menu_utama; }
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
T e a m T e n g a h
Page 35
Penjelasan kode :
Baris 1 – 2, mendefinisikan perintah dan fungsi yang akan di panggil
ketika modul pembelian cash digunakan.
Baris 3, definisi perintah keluaran yang akan menampilkan teks judul
segmen modul.
Baris 4, definisi perintah keluaran untuk memisahkan antara judul
dan data penjualan motor.
Baris 5 – 10, definisi perintah keluaran yang menampilkan identitas
pembeli dari data input pengguna pada segmen modul pembelian
cash sebelumnya.
Baris 11 – 14, perintah keluaran yang menampilkan header tabel
untuk data rincian motor yang telah terjual.
Baris 15 – 79, definisi perintah looping data untuk mengelola data
input pembelian dari pengguna yang nanti akan digunakan sebagai
data rincian dalam data penjualan motor. ( lihat diagram alur
program ).
Baris 80 – 82, definisi proses di dalam program untuk menghitung
PPN, cashback, dan total bayar.
Baris 83 – 89, definisi perintah keluaran untuk menampilkan hasil
looping data dalam bentuk tampilan tabel.
Baris 90 – 92, definisi perintah keluaran untuk menampilkan total
harga dan PPN.
Baris 93, definisi proses di dalam program untuk menghitung total
biaya yang harus di bayar oleh pembeli.
Baris 94, definisi perintah keluaran untuk menampilkan total biaya
yang harus di bayar oleh pembeli.
Baris 95, definisi perintah keluaran untuk menampilkan teks di
layar.
Baris 96, definisi perintah masukan untuk data input uang
pembayaran dari pembeli.
Baris 97, proses di dalam program untuk menghitung total uang
kembali.
Baris 98 – 100, definisi perintah keluaran untuk menampilkan uang
kembali serta cashback dari pembelian sepeda motor.
Baris 101, definisi perintah keluaran untuk menampilkan teks menu
pilihan kepada pengguna.
Baris 102, definisi perintah masukan untuk menampung data input
dari pengguna.
Baris 103 – 110, definisi perintah seleksi data untuk mengulang
proses input di menu pembelian cash atau kembali ke menu utama.
(lihat diagram alur program).
T e a m T e n g a h
Page 36
Berikut tampilan data penjualan motor pembelian cash :
Gambar 3.6 Data Penjualan Motor Pembelian Cash
T e a m T e n g a h
Page 37
3.5 Menu Pembelian Kredit
Modul menu pembelian kredit digunakan ketika ada pengajuan kredit dalam transaksi
penjualan sepeda motor.
1. Kode data input pembelian kredit
01 beli_kredit: clrscr(); judul(); puts("Identitas Kreditor"); puts("----------------------------------"); printf("Nama Kreditor : "); scanf("%s",&pembeli); printf("Alamat Kreditor : "); scanf("%s",&alamat); printf("Kelurahan : ");scanf("%s",&kelurahan); printf("Kecamatan : ");scanf("%s",&kecamatan); printf("Kota : ");scanf("%s",&kota); printf("Nomor Telepon/Handphone : 0");scanf("%ld",&hp); printf("Banyak Pembelian : "); scanf("%d",&banyak); clrscr(); judul(); puts("Pembelian Kredit"); puts("----------------------------------\n\n"); for(kredit=1;kredit<=banyak;++kredit) { cout<<"Data Pembelian Ke-"<<kredit<<endl; puts("----------------------------------"); printf("Type Motor \t: ");scanf("%s",&merk[kredit]); printf("Warna Motor \t: ");scanf("%s",&warna[kredit]); printf("DP/Uang Muka(%) : ");scanf("%d",&dp[kredit]); printf("Tenor(X) \t: ");scanf("%d",&tenor[kredit]); cout<<"\n"; }
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Penjelasan kode :
Baris 1, mendefinisikan bahwa semua perintah yang ada di dalam
beli_kredit adalah perintah – perintah yang akan di jalankan ketika menu
pembelian cash sedang digunakan.
Baris 2 – 3, definisi dari perintah dan fungsi yang akan di panggil oleh
program.
Baris 4 – 12, definisi dari perintah keluaran yang digunakan untuk
menampilkan teks pada layar yang diwakili oleh perintah puts(); dan
printf(); sedangkan untuk perintah masukan diwakili oleh scanf(); yang
bertugas untuk menampung data input dari pengguna.
Baris 13 – 14, penjelasan sama dengan baris 2 – 3.
Baris 15 – 16, definisi dari perintah keluaran.
Baris 17, definisi dari perintah looping data jumlah pembelian.
Baris 18 – 26, definisi dari perintah input selama proses looping berjalan.
T e a m T e n g a h
Page 38
Berikut adalah tampilannya :
Gambar 3.7 Data Input Kreditor – Pembelian Kredit
Gambar 3.8 Data Input Pembelian – Pembelian Kredt
T e a m T e n g a h
Page 39
2. Data Penjualan Motor
Setelah pengguna melakukan data input berupa identitas pembeli dan data motor
yang dijual. Maka selanjutnya program akan menampilkan seluruh rinciannya
dalam data penjualan motor.
Kode data penjualan motor
01 clrscr(); judul(); puts("\t\t\t\t\t DATA PENJUALAN MOTOR"); cout<<"\n \n"; puts("Identitas Pembeli"); puts("----------------------------------"); cout<<"Nama Pembeli \t: "<<pembeli<<endl; cout<<"Alamat Pembeli \t: "<<alamat<<" Kel."<<kelurahan<<" "; cout<<"Kec."<<kecamatan<<" Kota "<<kota<<endl; cout<<"No.Telepon/Handphone : 0"<<hp<<endl; puts("----------------------------------\n\n\n"); cout<<"No. Type Motor Warna No. Mesin DP Jumlah Unit Tenor Total Angsuran \n"; puts("================================================================================================="); for(kredit=1;kredit<=banyak;++kredit) { unit[kredit]=1; if(!strcmp(merk[kredit],"beat")) { strcpy(merk1[kredit],"Beat POP CW"); strcpy(type1[kredit],"POP"); if(dp[kredit]==10) { dp1[kredit]=1410000; if(tenor[kredit]==12) { angsuran[kredit]=1057500; } else if(tenor[kredit]==20) { angsuran[kredit]=634500; } else if(tenor[kredit]==24) { angsuran[kredit]=528750; } else { angsuran[kredit]=352500; } } else { dp1[kredit]=4230000; if(tenor[kredit]==12)
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
T e a m T e n g a h
Page 40
40 { angsuran[kredit]=822500; } else if(tenor[kredit]==20) { angsuran[kredit]=493500; } else if(tenor[kredit]==24) { angsuran[kredit]=411250; } else { angsuran[kredit]=274167; } } } else if(!strcmp(merk[kredit],"scoopy")) { strcpy(merk1[kredit],"Scoopy FI"); strcpy(type1[kredit],"SFI"); if(dp[kredit]==10) { dp1[kredit]=1625000; if(tenor[kredit]==12) { angsuran[kredit]=1218750; } else if(tenor[kredit]==20) { angsuran[kredit]=731250; } else if(tenor[kredit]==24) { angsuran[kredit]=609375; } else { angsuran[kredit]=406250; } } else { dp1[kredit]=4875000; if(tenor[kredit]==12) { angsuran[kredit]=947917; } else if(tenor[kredit]=20) { angsuran[kredit]=568750; } else if(tenor[kredit]=24)
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
T e a m T e n g a h
Page 41
86 { angsuran[kredit]=473959; } else { angsuran[kredit]=315973; } } } else if(!strcmp(merk[kredit],"vario")) { strcpy(merk1[kredit],"Vario 125 CBS"); strcpy(type1[kredit],"CBS"); if(dp[kredit]==10) { dp1[kredit]=1705000; if(tenor[kredit]==12) { angsuran[kredit]=1278750; } else if(tenor[kredit]==20) { angsuran[kredit]=767250; } else if(tenor[kredit]==24) { angsuran[kredit]=639375; } else { angsuran[kredit]=426250; } } else { dp1[kredit]=5115000; if(tenor[kredit]==12) { angsuran[kredit]=994584; } else if(tenor[kredit]==20) { angsuran[kredit]=596750; } else if(tenor[kredit]==24) { angsuran[kredit]=497292; } else { angsuran[kredit]=331528; } } }
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
T e a m T e n g a h
Page 42
132 else if(!strcmp(merk[kredit],"revo")) { strcpy(merk1[kredit],"Revo 110 FI"); strcpy(type1[kredit],"R11"); if(dp[kredit]==10) { dp1[kredit]=1365000; if(tenor[kredit]==12) { angsuran[kredit]=1023750; } else if(tenor[kredit]==20) { angsuran[kredit]=614250; } else if(tenor[kredit]==24) { angsuran[kredit]=511875; } else { angsuran[kredit]=341250; } } else { dp1[kredit]=4095000; if(tenor[kredit]==12) { angsuran[kredit]=796250; } else if(tenor[kredit]==20) { angsuran[kredit]=477750; } else if(tenor[kredit]==24) { angsuran[kredit]=398125; } else { angsuran[kredit]=265417; } } } else if(!strcmp(merk[kredit],"supra")) { strcpy(merk1[kredit],"Supra X 125 FI"); strcpy(type1[kredit],"X12"); if(dp[kredit]==10) { dp1[kredit]=1595000; if(tenor[kredit]==12) {
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
T e a m T e n g a h
Page 43
178 angsuran[kredit]=1196250; } else if(tenor[kredit]==20) { angsuran[kredit]=717750; } else if(tenor[kredit]==24) { angsuran[kredit]=598125; } else { angsuran[kredit]=398750; } } else { dp1[kredit]=4785000; if(tenor[kredit]==12) { angsuran[kredit]=930417; } else if(tenor[kredit]==20) { angsuran[kredit]=558250; } else if(tenor[kredit]==24) { angsuran[kredit]=465209; } else { angsuran[kredit]=310139; } } } else if(!strcmp(merk[kredit],"blade")) { strcpy(merk1[kredit],"Blade 125 FI"); strcpy(type1[kredit],"B12"); if(dp[kredit]==10) { dp1[kredit]=1640000; if(tenor[kredit]==12) { angsuran[kredit]=1230000; } else if(tenor[kredit]==20) { angsuran[kredit]=738000; } else if(tenor[kredit]==24) { angsuran[kredit]=615000;
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
T e a m T e n g a h
Page 44
224 } else { angsuran[kredit]=410000; } } else { dp1[kredit]=4920000; if(tenor[kredit]==12) { angsuran[kredit]=956667; } else if(tenor[kredit]==20) { angsuran[kredit]=574000; } else if(tenor[kredit]==24) { angsuran[kredit]=478334; } else { angsuran[kredit]=318889; } } } else if(!strcmp(merk[kredit],"mega")) { strcpy(merk1[kredit],"Mega Pro FI"); strcpy(type1[kredit],"MCW"); if(dp[kredit]==10) { dp1[kredit]=2120000; if(tenor[kredit]==12) { angsuran[kredit]=1590000; } else if(tenor[kredit]==20) { angsuran[kredit]=954000; } else if(tenor[kredit]==24) { angsuran[kredit]=795000; } else { angsuran[kredit]=530000; } } else { dp1[kredit]=6360000;
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
T e a m T e n g a h
Page 45
270 if(tenor[kredit]==12) { angsuran[kredit]=1236667; } else if(tenor[kredit]==20) { angsuran[kredit]=742000; } else if(tenor[kredit]==24) { angsuran[kredit]==618334; } else { angsuran[kredit]=412223; } } } else if(!strcmp(merk[kredit],"cb")) { strcpy(merk1[kredit],"CB 150 R"); strcpy(type1[kredit],"CB1"); if(dp[kredit]==10) { dp1[kredit]=2407500; if(tenor[kredit]==12) { angsuran[kredit]=1805625; } else if(tenor[kredit]==20) { angsuran[kredit]=1083375; } else if(tenor[kredit]==24) { angsuran[kredit]=902813; } else { angsuran[kredit]=601875; } } else { dp1[kredit]=7222500; if(tenor[kredit]==12) { angsuran[kredit]=1404375; } else if(tenor[kredit]==20) { angsuran[kredit]=842625; } else if(tenor[kredit]==24)
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
T e a m T e n g a h
Page 46
316 { angsuran[kredit]=702188; } else { angsuran[kredit]=468125; } } } else { strcpy(merk1[kredit],"CBR 150 STD"); strcpy(type1[kredit],"STD"); if(dp[kredit]==10) { dp1[kredit]=2990000; if(tenor[kredit]==12) { angsuran[kredit]=2242500; } else if(tenor[kredit]==20) { angsuran[kredit]=1345500; } else if(tenor[kredit]==24) { angsuran[kredit]=1121250; } else { angsuran[kredit]=747500; } } else { dp1[kredit]=8970000; if(tenor[kredit]==12) { angsuran[kredit]=1744167; } else if(tenor[kredit]==20) { angsuran[kredit]=1046500; } else if(tenor[kredit]==24) { angsuran[kredit]=872084; } else { angsuran[kredit]=581389; } } }
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
T e a m T e n g a h
Page 47
362 total[banyak]=total[banyak]+unit[kredit]*dp1[kredit]; total_angsuran[kredit]=angsuran[kredit]*unit[kredit]; cout<<setiosflags(ios::right)<<kredit<<" \t"; cout<<merk1[kredit]<<" \t"; cout<<warna[kredit]<<" \t"; cout<<kredit<<type1[kredit]<<kredit<<unit[kredit]<<kredit<<" \t"; cout<<"Rp "<<dp1[kredit]<<" \t"; cout<<unit[kredit]<<" \t"; cout<<tenor[kredit]<<" \t"; cout<<"Rp "<<total_angsuran[kredit]<<"/Bulan"<<endl; puts("-------------------------------------------------------------------------------------------------"); } cout<<"\n"; cout<<"\t\t\t\t\t\t\t Total DP : Rp "<<total[banyak]<<endl; printf("\t\t\t\t\t\t\t Uang bayar : Rp ");scanf("%ld",&bayar); kembali=bayar - total[banyak]; cout<<"\t\t\t\t\t\t\t Uang Kembali : Rp "<<kembali<<endl; cout<<"\n\n"; printf("Apakah ingin input data lagi [y/n] ? ");scanf("%s",&pilih); if(pilih=='Y'||pilih=='y') { goto beli_kredit; } else { goto menu_utama; }
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
Penjelasan kode :
Baris 1, definisi perintah untuk membersihkan layar.
Baris 2 – 3, definisi fungsi untuk menampilkan judul program dan perintah
keluaran untuk menampilkan judul data penjualan motor.
Baris 4 – 9, perintah keluaran untuk menampilkan identitas pembeli dari
data input pengguna.
Baris 10 – 12, perintah keluaran yang berfungsi untuk menampilkan
header tabel.
Baris 13, perintah untuk melakukan proses looping data.
Baris 14 – 361, definisi proses pengolahan data looping yaitu type motor,
DP, dan angsuran setiap bulan yang akan dijadikan sebagai rincian dalam
data penjualan sepeda motor.
Baris 362 – 363, perintah untuk melakukan proses perhitungan total harga
pembayaran yang harus dibayarkan oleh pembeli dan angsuran kredit
setiap bulan dalam bentuk rupiah.
Baris 364 – 372, menampilkan data rincian pembelian dalam bentuk
tampilan tabel.
Baris 373, menampilkan total harga yang harus dibayarkan.
T e a m T e n g a h
Page 48
Baris 374, definisi dari perintah keluaran dan masukan untuk membayar
biaya yang ditanggung oleh pembeli.
Baris 375, perintah untuk menghitung uang kembali.
Baris 376, perintah untuk menampilkan uang kembali.
Baris 377, perintah untuk melakukan spasi (enter).
Baris 378, perintah untuk menampilkan dan memilih pilihan menu apakah
ingin melakukan input ulang atau kembali ke menu utama.
Baris 379 – 387, proses seleksi data input dari pilihan menu yang sudah
dipilih oleh pengguna.
Berikut adalah tampilannya :
Gambar 3.9 Data Penjualan Motor – Pembelian Kredit
T e a m T e n g a h
Page 49
BAB IV PENUTUP
Kami berharap Anda tidak mengalami kesulitan dan kendala dalam mengikuti pembahasan
tutorial ini. Kami berharap semua berjalan lancar dari awal hingga akhir.
Kami sudah berupaya agar semua informasi yang disampaikan di tutorial ini akurat dan
benar, namun tidak menutup kemungkinan ada kesalahan yang kami buat dan belum
sempat atau terlewat untuk diperbaiki. Untuk itu, saran dan kritik yang membangun akan
sangat berguna untuk menyempurnakan tutorial seperti ini di masa mendatang.
Akhir kata, kami berharap semoga tutorial ini memberikan manfaat yang sebesar – besarnya
bagi Anda. Terima kasih.
Jakarta, 02 November 2015
Kelompok Tengah
T e a m T e n g a h
Page 50
DAFTAR PUSTAKA
1. Slide pertemuan 1 – 6, 9, dan 11
2. Modul Mata Kuliah Algoritma dan Pemrograman Semester I
3. Mohamad Azwar 13150432
4. Muhamad Rizki 13150432
5. Rachman Budi Prasetyo 13150365
6. Ramdani 13150666
7. Fatwa Aulia Rahman 13150667
8. Muhamad Reza Wahyudin 13150520
T e a m T e n g a h
Page 51
KODE PROGRAM KESELURUHAN
#include <stdio.h> #include <conio.h> #include <iostream.h> #include <iomanip.h> garis() { puts("=============================================\n"); } judul() { puts("\t\t\t Sistem Perhitungan Kredit & Penjualan Motor"); puts("\t\t\t\t GROUP TENGAH Corp."); puts("\t\t\t ==========================================="); puts("\t\t\t Beberapa Langkah Lebih ke Depan"); cout<<"\n \n \n \n"; } main() { char alamat[100],pembeli[100],pilih,tabel[20],kelurahan[200],kecamatan[200],kota[100]; long hp=0,pembayaran=0,bayar=0,kembali=0; int banyak,cash,kredit; char merk[9][20],type1[9][20],warna[9][20],merk1[9][100]; long harga[9]={0}; int unit[9]={1},dp[9],tenor[9];
long dp1[9],total_angsuran[9],angsuran[9],total[9]={0},back[9],ppn[9]={0},cashback[9]={0}; menu_utama:
clrscr();
judul();
puts("Selanat Datang di Dealer Motor Honda");
cout<<"\n";
puts("Pilihan Menu : \n\n 1. Tabel Harga \n 2. Pembelian Cash \n 3. Pembelian Kredit \n 4. Keluar");
garis();
cout<<"\n";
printf("Inputkan Pilihan Anda : "); scanf("%s",&pilih);
if(pilih=='1')
{
T e a m T e n g a h
Page 52
goto tabel_harga;
}
else if(pilih=='2')
{
goto beli_cash;
}
else if(pilih=='3')
{
goto beli_kredit;
}
else
{
goto keluar;
}
tabel_harga:
clrscr();
judul();
puts("\t\t\t\t\t TABEL HARGA MOTOR");
cout<<"\n \n";
printf("Masukkan Jenis Motor : ");
scanf("%s",&tabel);
if(!strcmp(tabel,"Matic")||!strcmp(tabel,"matic")) { cout<<"\n \n"; cout<<"Jenis Motor : MATIC\n\n"; puts("Pembelian Cash"); cout<<"===============================================\n"; cout<<"Type \t Harga Unit Cashback \n"; cout<<" \t(Belum termasuk PPN) \n"; puts("==============================================="); cout<<"Beat POP CW Rp 14.100.000,- 5% \n"; cout<<"Scoopy FI Rp 16.250.000,- 7% \n"; cout<<"Vario 125 CBS Rp 17.050.000,- 8% \n"; puts("===============================================\n\n"); puts("Pembelian Credit"); cout<<"=================================================================================================\n";
T e a m T e n g a h
Page 53
cout<<"Type \t DP \t\t\t ANGSURAN \n"; cout<<"\t\t\t\t 12x 20x 24x 36x \n"; puts("================================================================================================="); cout<<"Beat POP CW 10% Rp 1.057.500,- Rp 634.500,- Rp 528.750,- Rp 352.500,- \n"; cout<<" 30% Rp 822.500,- Rp 493.500,- Rp 411.250,- Rp 274.167,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"Scoopy FI 10% Rp 1.218.750,- Rp 731.250,- Rp 609.375,- Rp 406.250,- \n"; cout<<" 30% Rp 947.917,- Rp 568.750,- Rp 473.959,- Rp 315.973,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"Vario 125 CBS 10% Rp 1.278.750,- Rp 767.250,- Rp 639.375,- Rp 426.250,- \n"; cout<<" 30% Rp 994.584,- Rp 596.750,- Rp 497.292,- Rp 331.528,- \n"; puts("=================================================================================================\n"); } else if(!strcmp(tabel,"Bebek")||!strcmp(tabel,"bebek")) { cout<<"\n \n"; cout<<"Jenis Motor : BEBEK\n\n"; puts("Pembelian Cash"); cout<<"===============================================\n"; cout<<"Type \t Harga Unit Cashback \n"; cout<<" \t(Belum termasuk PPN) \n"; puts("==============================================="); cout<<"Revo 110 FI Rp 13.650.000,- 3% \n"; cout<<"Supra X 125 FI Rp 15.950.000,- 5% \n"; cout<<"Blade 125 FI Rp 16.400.000,- 7% \n"; puts("===============================================\n\n"); puts("Pembelian Credit"); cout<<"=================================================================================================\n"; cout<<"Type \t DP \t\t\t ANGSURAN \n"; cout<<"\t\t\t\t 12x 20x 24x 36x \n"; puts("================================================================================================="); cout<<"Revo 110 FT 10% Rp 1.023.750,- Rp 614.250,- Rp 511.875,- Rp 341.250,- \n"; cout<<" 30% Rp 796.250,- Rp 477.750,- Rp 398.125,- Rp 265.417,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"Supra X 125 FI 10% Rp 1.196.250,- Rp 717.750,- Rp 598.125,- Rp 398.750,- \n"; cout<<" 30% Rp 930.417,- Rp 558.250,- Rp 465.209,- Rp 310.139,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n";
T e a m T e n g a h
Page 54
cout<<"Blade 125 FI 10% Rp 1.230.000,- Rp 738.000,- Rp 615.000,- Rp 410.000,- \n"; cout<<" 30% Rp 956.667,- Rp 574.000,- Rp 478.334,- Rp 318.889,- \n"; puts("=================================================================================================\n"); } else if(!strcmp(tabel,"Sports")||!strcmp(tabel,"sports")) { cout<<"\n \n"; cout<<"Jenis Motor : SPORTS\n\n"; puts("Pembelian Cash"); cout<<"===============================================\n"; cout<<"Type \t Harga Unit Cashback \n"; cout<<" \t(Belum termasuk PPN) \n"; puts("==============================================="); cout<<"Mega Pro FI Rp 21.200.000,- 6% \n"; cout<<"CB 150 R Rp 24.075.000,- 2% \n"; cout<<"CBR 150 STD Rp 29.900.000,- 5% \n"; puts("===============================================\n\n"); puts("Pembelian Credit"); cout<<"=================================================================================================\n"; cout<<"Type \t DP \t\t\t ANGSURAN \n"; cout<<"\t\t\t\t 12x 20x 24x 36x \n"; puts("================================================================================================="); cout<<"Mega Pro FI 10% Rp 1.590.000,- Rp 954.000,- Rp 795.000,- Rp 530.000,- \n"; cout<<" 30% Rp 1.236.667,- Rp 742.000,- Rp 618.334,- Rp 412.223,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"CB 150 R 10% Rp 1.805.625,- Rp 1.083.375,- Rp 902.813,- Rp 601.875,- \n"; cout<<" 30% Rp 1.404.375,- Rp 842.625,- Rp 702.188,- Rp 468.125,- \n"; cout<<"----------------------------------------------------------------------------------------------- \n"; cout<<"CBR 150 STD 10% Rp 2.242.500,- Rp 1.345.500,- Rp 1.121.250,- Rp 747.500,- \n"; cout<<" 30% Rp 1.744.167,- Rp 1.046.500,- Rp 872.084,- Rp 581.389,- \n"; puts("=================================================================================================\n"); } else { cout<<"\n \n"; cout<<"Maaf jenis motor yang anda masukkan tidak ada. Silahkan Ulangi lagi \n\n";
}
T e a m T e n g a h
Page 55
printf("Ingin Input Lagi [y/n] ? ");
scanf("%s",&pilih);
if(pilih=='Y'||pilih=='y')
{
goto tabel_harga;
}
else
{
goto menu_utama;
}
beli_cash: clrscr(); judul(); puts("Identitas Pembeli"); puts("----------------------------------"); printf("Nama Pembeli : ");scanf("%s",&pembeli); printf("Alamat Pembeli : ");scanf("%s",&alamat); printf("No. Telepon/Handphone : 0");scanf("%ld",&hp); printf("Banyak Pembelian : "); scanf("%d",&banyak); puts("----------------------------------\n\n\n"); puts("Data Pembelian"); puts("----------------------------------"); for(cash=1;cash<=banyak;++cash) { cout<<"Data Pembelian Ke-"<<cash<<endl; printf("Type Motor \t: ");scanf("%s",&merk[cash]); printf("Warna Motor \t: ");scanf("%s",&warna[cash]); puts("----------------------------------");
}
clrscr(); judul(); puts("\t\t\t\t\t DATA PENJUALAN MOTOR"); cout<<"\n \n"; puts("Identitas Pembeli"); puts("----------------------------------"); cout<<"Nama Pembeli \t: "<<pembeli<<endl; cout<<"Alamat Pembeli \t: "<<alamat<<endl; cout<<"No.Telepon/Handphone : 0"<<hp<<endl; puts("----------------------------------\n\n\n"); cout<<"No. Type Motor Warna No. Mesin Jumlah Unit Harga Unit\n"; puts("===================================================================="); for(cash=1;cash<=banyak;++cash) { unit[cash]=1;
T e a m T e n g a h
Page 56
if(!strcmp(merk[cash],"beat")) { harga[cash]=14100000; back[cash]=14100000*0.05; strcpy(merk1[cash],"Beat POP CW"); strcpy(type1[cash],"POP"); } else if(!strcmp(merk[cash],"scoopy")) { harga[cash]=16250000; back[cash]=16250000*0.07; strcpy(merk1[cash],"Scoopy FI"); strcpy(type1[cash],"SFI"); } else if(!strcmp(merk[cash],"vario")) { harga[cash]=17050000; back[cash]=17050000*0.08; strcpy(merk1[cash],"Vario 125 CBS"); strcpy(type1[cash],"CBS"); } else if(!strcmp(merk[cash],"revo")) { harga[cash]=13650000; back[cash]=13650000*0.03; strcpy(merk1[cash],"Revo 110 FI"); strcpy(type1[cash],"R11"); } else if(!strcmp(merk[cash],"supra")) { harga[cash]=15950000; back[cash]=15950000*0.05; strcpy(merk1[cash],"Supra X 125 FI"); strcpy(type1[cash],"X12"); } else if(!strcmp(merk[cash],"blade")) { harga[cash]=16400000; back[cash]=16400000*0.07; strcpy(merk1[cash],"Blade 125 FI"); strcpy(type1[cash],"B12"); } else if(!strcmp(merk[cash],"mega")) { harga[cash]=21200000; back[cash]=21200000*0.06; strcpy(merk1[cash],"Mega Pro FI"); strcpy(type1[cash],"MCW"); } else if(!strcmp(merk[cash],"cb")) { harga[cash]=24075000; back[cash]=24075000*0.02; strcpy(merk1[cash],"CB 150 R"); strcpy(type1[cash],"CB1");
T e a m T e n g a h
Page 57
} else { harga[cash]=29900000; back[cash]=29900000*0.05; strcpy(merk1[cash],"CBR 150 STD"); strcpy(type1[cash],"STD"); } ppn[banyak]=ppn[banyak]+unit[cash]*harga[cash]*0.1; cashback[banyak]=cashback[banyak]+back[cash]*unit[cash]; total[banyak]=total[banyak]+unit[cash]*harga[cash]; cout<<setiosflags(ios::right)<<cash<<" \t"; cout<<merk1[cash]<<" \t"; cout<<warna[cash]<<" \t"; cout<<cash<<type1[cash]<<cash<<unit[cash]<<cash<<" \t"; cout<<unit[cash]<<" \t"; cout<<"Rp "<<harga[cash]<<endl; puts("--------------------------------------------------------------------"); } cout<<"\n"; cout<<"\t\t\t\t Total Harga : Rp "<<total[banyak]<<endl; cout<<"\t\t\t\t PPN : Rp "<<ppn[banyak]<<endl; pembayaran=total[banyak]+ppn[banyak]; cout<<"\t\t\t\t Total Pembayaran : Rp "<<pembayaran<<endl; printf("\t\t\t\t Uang bayar : Rp "); scanf("%ld",&bayar); kembali=bayar - pembayaran; cout<<"\t\t\t\t Uang Kembali : Rp "<<kembali<<endl; cout<<"\t\t\t\t Cashback : Rp "<<cashback[banyak]<<endl; cout<<"\n\n"; printf("Apakah ingin input data lagi [y/n] ? "); scanf("%s",&pilih); if(pilih=='Y'||pilih=='y') { goto beli_cash; } else { goto menu_utama;
}
beli_kredit: clrscr(); judul(); puts("Identitas Kreditor"); puts("----------------------------------"); printf("Nama Kreditor : "); scanf("%s",&pembeli); printf("Alamat Kreditor : "); scanf("%s",&alamat); printf("Kelurahan : ");scanf("%s",&kelurahan); printf("Kecamatan : ");scanf("%s",&kecamatan); printf("Kota : ");scanf("%s",&kota); printf("Nomor Telepon/Handphone : 0");scanf("%ld",&hp); printf("Banyak Pembelian : "); scanf("%d",&banyak); clrscr();
T e a m T e n g a h
Page 58
judul(); puts("Pembelian Kredit"); puts("----------------------------------\n\n"); for(kredit=1;kredit<=banyak;++kredit) { cout<<"Data Pembelian Ke-"<<kredit<<endl; puts("----------------------------------"); printf("Type Motor \t: ");scanf("%s",&merk[kredit]); printf("Warna Motor \t: ");scanf("%s",&warna[kredit]); printf("DP/Uang Muka(%) : ");scanf("%d",&dp[kredit]); printf("Tenor(X) \t: ");scanf("%d",&tenor[kredit]); cout<<"\n";
}
clrscr(); judul(); puts("\t\t\t\t\t DATA PENJUALAN MOTOR"); cout<<"\n \n"; puts("Identitas Pembeli"); puts("----------------------------------"); cout<<"Nama Pembeli \t: "<<pembeli<<endl; cout<<"Alamat Pembeli \t: "<<alamat<<" Kel."<<kelurahan<<" "; cout<<"Kec."<<kecamatan<<" Kota "<<kota<<endl; cout<<"No.Telepon/Handphone : 0"<<hp<<endl; puts("----------------------------------\n\n\n"); cout<<"No. Type Motor Warna No. Mesin DP Jumlah Unit Tenor Total Angsuran \n"; puts("================================================================================================="); for(kredit=1;kredit<=banyak;++kredit) { unit[kredit]=1; if(!strcmp(merk[kredit],"beat")) { strcpy(merk1[kredit],"Beat POP CW"); strcpy(type1[kredit],"POP"); if(dp[kredit]==10) { dp1[kredit]=1410000; if(tenor[kredit]==12) { angsuran[kredit]=1057500; } else if(tenor[kredit]==20) { angsuran[kredit]=634500; } else if(tenor[kredit]==24) { angsuran[kredit]=528750; } else { angsuran[kredit]=352500;
T e a m T e n g a h
Page 59
} } else { dp1[kredit]=4230000; if(tenor[kredit]==12) { angsuran[kredit]=822500; } else if(tenor[kredit]==20) { angsuran[kredit]=493500; } else if(tenor[kredit]==24) { angsuran[kredit]=411250; } else { angsuran[kredit]=274167; } } } else if(!strcmp(merk[kredit],"scoopy")) { strcpy(merk1[kredit],"Scoopy FI"); strcpy(type1[kredit],"SFI"); if(dp[kredit]==10) { dp1[kredit]=1625000; if(tenor[kredit]==12) { angsuran[kredit]=1218750; } else if(tenor[kredit]==20) { angsuran[kredit]=731250; } else if(tenor[kredit]==24) { angsuran[kredit]=609375; } else { angsuran[kredit]=406250; } } else { dp1[kredit]=4875000; if(tenor[kredit]==12) { angsuran[kredit]=947917; }
T e a m T e n g a h
Page 60
else if(tenor[kredit]=20) { angsuran[kredit]=568750; } else if(tenor[kredit]=24) { angsuran[kredit]=473959; } else { angsuran[kredit]=315973; } } } else if(!strcmp(merk[kredit],"vario")) { strcpy(merk1[kredit],"Vario 125 CBS"); strcpy(type1[kredit],"CBS"); if(dp[kredit]==10) { dp1[kredit]=1705000; if(tenor[kredit]==12) { angsuran[kredit]=1278750; } else if(tenor[kredit]==20) { angsuran[kredit]=767250; } else if(tenor[kredit]==24) { angsuran[kredit]=639375; } else { angsuran[kredit]=426250; } } else { dp1[kredit]=5115000; if(tenor[kredit]==12) { angsuran[kredit]=994584; } else if(tenor[kredit]==20) { angsuran[kredit]=596750; } else if(tenor[kredit]==24) { angsuran[kredit]=497292; } else {
T e a m T e n g a h
Page 61
angsuran[kredit]=331528; } } } else if(!strcmp(merk[kredit],"revo")) { strcpy(merk1[kredit],"Revo 110 FI"); strcpy(type1[kredit],"R11"); if(dp[kredit]==10) { dp1[kredit]=1365000; if(tenor[kredit]==12) { angsuran[kredit]=1023750; } else if(tenor[kredit]==20) { angsuran[kredit]=614250; } else if(tenor[kredit]==24) { angsuran[kredit]=511875; } else { angsuran[kredit]=341250; } } else { dp1[kredit]=4095000; if(tenor[kredit]==12) { angsuran[kredit]=796250; } else if(tenor[kredit]==20) { angsuran[kredit]=477750; } else if(tenor[kredit]==24) { angsuran[kredit]=398125; } else { angsuran[kredit]=265417; } } } else if(!strcmp(merk[kredit],"supra")) { strcpy(merk1[kredit],"Supra X 125 FI"); strcpy(type1[kredit],"X12"); if(dp[kredit]==10) {
T e a m T e n g a h
Page 62
dp1[kredit]=1595000; if(tenor[kredit]==12) { angsuran[kredit]=1196250; } else if(tenor[kredit]==20) { angsuran[kredit]=717750; } else if(tenor[kredit]==24) { angsuran[kredit]=598125; } else { angsuran[kredit]=398750; } } else { dp1[kredit]=4785000; if(tenor[kredit]==12) { angsuran[kredit]=930417; } else if(tenor[kredit]==20) { angsuran[kredit]=558250; } else if(tenor[kredit]==24) { angsuran[kredit]=465209; } else { angsuran[kredit]=310139; } } } else if(!strcmp(merk[kredit],"blade")) { strcpy(merk1[kredit],"Blade 125 FI"); strcpy(type1[kredit],"B12"); if(dp[kredit]==10) { dp1[kredit]=1640000; if(tenor[kredit]==12) { angsuran[kredit]=1230000; } else if(tenor[kredit]==20) { angsuran[kredit]=738000; } else if(tenor[kredit]==24)
T e a m T e n g a h
Page 63
{ angsuran[kredit]=615000; } else { angsuran[kredit]=410000; } } else { dp1[kredit]=4920000; if(tenor[kredit]==12) { angsuran[kredit]=956667; } else if(tenor[kredit]==20) { angsuran[kredit]=574000; } else if(tenor[kredit]==24) { angsuran[kredit]=478334; } else { angsuran[kredit]=318889; } } } else if(!strcmp(merk[kredit],"mega")) { strcpy(merk1[kredit],"Mega Pro FI"); strcpy(type1[kredit],"MCW"); if(dp[kredit]==10) { dp1[kredit]=2120000; if(tenor[kredit]==12) { angsuran[kredit]=1590000; } else if(tenor[kredit]==20) { angsuran[kredit]=954000; } else if(tenor[kredit]==24) { angsuran[kredit]=795000; } else { angsuran[kredit]=530000; } } else {
T e a m T e n g a h
Page 64
dp1[kredit]=6360000; if(tenor[kredit]==12) { angsuran[kredit]=1236667; } else if(tenor[kredit]==20) { angsuran[kredit]=742000; } else if(tenor[kredit]==24) { angsuran[kredit]==618334; } else { angsuran[kredit]=412223; } } } else if(!strcmp(merk[kredit],"cb")) { strcpy(merk1[kredit],"CB 150 R"); strcpy(type1[kredit],"CB1"); if(dp[kredit]==10) { dp1[kredit]=2407500; if(tenor[kredit]==12) { angsuran[kredit]=1805625; } else if(tenor[kredit]==20) { angsuran[kredit]=1083375; } else if(tenor[kredit]==24) { angsuran[kredit]=902813; } else { angsuran[kredit]=601875; } } else { dp1[kredit]=7222500; if(tenor[kredit]==12) { angsuran[kredit]=1404375; } else if(tenor[kredit]==20) { angsuran[kredit]=842625; } else if(tenor[kredit]==24)
T e a m T e n g a h
Page 65
{ angsuran[kredit]=702188; } else { angsuran[kredit]=468125; } } } else { strcpy(merk1[kredit],"CBR 150 STD"); strcpy(type1[kredit],"STD"); if(dp[kredit]==10) { dp1[kredit]=2990000; if(tenor[kredit]==12) { angsuran[kredit]=2242500; } else if(tenor[kredit]==20) { angsuran[kredit]=1345500; } else if(tenor[kredit]==24) { angsuran[kredit]=1121250; } else { angsuran[kredit]=747500; } } else { dp1[kredit]=8970000; if(tenor[kredit]==12) { angsuran[kredit]=1744167; } else if(tenor[kredit]==20) { angsuran[kredit]=1046500; } else if(tenor[kredit]==24) { angsuran[kredit]=872084; } else { angsuran[kredit]=581389; } } } total[banyak]=total[banyak]+unit[kredit]*dp1[kredit];
T e a m T e n g a h
Page 66
total_angsuran[kredit]=angsuran[kredit]*unit[kredit]; cout<<setiosflags(ios::right)<<kredit<<" \t"; cout<<merk1[kredit]<<" \t"; cout<<warna[kredit]<<" \t"; cout<<kredit<<type1[kredit]<<kredit<<unit[kredit]<<kredit<<" \t"; cout<<"Rp "<<dp1[kredit]<<" \t"; cout<<unit[kredit]<<" \t"; cout<<tenor[kredit]<<" \t"; cout<<"Rp "<<total_angsuran[kredit]<<"/Bulan"<<endl; puts("-------------------------------------------------------------------------------------------------"); } cout<<"\n"; cout<<"\t\t\t\t\t\t\t Total DP : Rp "<<total[banyak]<<endl; printf("\t\t\t\t\t\t\t Uang bayar : Rp ");scanf("%ld",&bayar); kembali=bayar - total[banyak]; cout<<"\t\t\t\t\t\t\t Uang Kembali : Rp "<<kembali<<endl; cout<<"\n\n"; printf("Apakah ingin input data lagi [y/n] ? ");scanf("%s",&pilih); if(pilih=='Y'||pilih=='y') { goto beli_kredit; } else { goto menu_utama; }
getch();
keluar:
}
T e a m T e n g a h
Page 67
DOKUMENTASI
T e a m T e n g a h
Page 68
T e a m T e n g a h
Page 69
T e a m T e n g a h
Page 70