Tutorial membuat program dari C++

71

Transcript of Tutorial membuat program dari C++

Page 1: Tutorial membuat program dari C++
Page 2: 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

Page 3: Tutorial membuat program dari C++

T e a m T e n g a h

Page 2

Page 4: Tutorial membuat program dari C++

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.

Page 5: Tutorial membuat program dari C++

T e a m T e n g a h

Page 4

Page 6: Tutorial membuat program dari C++

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

Page 7: Tutorial membuat program dari C++

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

Page 8: Tutorial membuat program dari C++

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

Page 9: Tutorial membuat program dari C++

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

Page 10: Tutorial membuat program dari C++

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

Page 11: Tutorial membuat program dari C++

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

Page 12: Tutorial membuat program dari C++

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.

Page 13: Tutorial membuat program dari C++

T e a m T e n g a h

Page 12

3. Flowchart Menu Pembelian Cash

Page 14: Tutorial membuat program dari C++

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.

Page 15: Tutorial membuat program dari C++

T e a m T e n g a h

Page 14

4. Flowchart Pengolahan Data Looping Pembelian Cash

Page 16: Tutorial membuat program dari C++

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.

Page 17: Tutorial membuat program dari C++

T e a m T e n g a h

Page 16

5. Flowchart Pembelian Kredit

Page 18: Tutorial membuat program dari C++

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.

Page 19: Tutorial membuat program dari C++

T e a m T e n g a h

Page 18

6. Flowchart Pengolahan Data Looping Pembelian Kredit

Page 20: Tutorial membuat program dari C++

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.

Page 21: Tutorial membuat program dari C++

T e a m T e n g a h

Page 20

Page 22: Tutorial membuat program dari C++

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

Page 23: Tutorial membuat program dari C++

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

Page 24: Tutorial membuat program dari C++

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.

Page 25: Tutorial membuat program dari C++

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

Page 26: Tutorial membuat program dari C++

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

Page 27: Tutorial membuat program dari C++

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

Page 28: Tutorial membuat program dari C++

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

Page 29: Tutorial membuat program dari C++

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

Page 30: Tutorial membuat program dari C++

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

Page 31: Tutorial membuat program dari C++

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

Page 32: Tutorial membuat program dari C++

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.

Page 33: Tutorial membuat program dari C++

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

Page 34: Tutorial membuat program dari C++

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

Page 35: Tutorial membuat program dari C++

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

Page 36: Tutorial membuat program dari C++

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).

Page 37: Tutorial membuat program dari C++

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

Page 38: Tutorial membuat program dari C++

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.

Page 39: Tutorial membuat program dari C++

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

Page 40: Tutorial membuat program dari C++

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

Page 41: Tutorial membuat program dari C++

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

Page 42: Tutorial membuat program dari C++

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

Page 43: Tutorial membuat program dari C++

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

Page 44: Tutorial membuat program dari C++

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

Page 45: Tutorial membuat program dari C++

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

Page 46: Tutorial membuat program dari C++

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

Page 47: Tutorial membuat program dari C++

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

Page 48: Tutorial membuat program dari C++

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.

Page 49: Tutorial membuat program dari C++

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

Page 50: Tutorial membuat program dari C++

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

Page 51: Tutorial membuat program dari C++

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

Page 52: Tutorial membuat program dari C++

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')

{

Page 53: Tutorial membuat program dari C++

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";

Page 54: Tutorial membuat program dari C++

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";

Page 55: Tutorial membuat program dari C++

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";

}

Page 56: Tutorial membuat program dari C++

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;

Page 57: Tutorial membuat program dari C++

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");

Page 58: Tutorial membuat program dari C++

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();

Page 59: Tutorial membuat program dari C++

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;

Page 60: Tutorial membuat program dari C++

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; }

Page 61: Tutorial membuat program dari C++

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 {

Page 62: Tutorial membuat program dari C++

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) {

Page 63: Tutorial membuat program dari C++

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)

Page 64: Tutorial membuat program dari C++

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 {

Page 65: Tutorial membuat program dari C++

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)

Page 66: Tutorial membuat program dari C++

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];

Page 67: Tutorial membuat program dari C++

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:

}

Page 68: Tutorial membuat program dari C++

T e a m T e n g a h

Page 67

DOKUMENTASI

Page 69: Tutorial membuat program dari C++

T e a m T e n g a h

Page 68

Page 70: Tutorial membuat program dari C++

T e a m T e n g a h

Page 69

Page 71: Tutorial membuat program dari C++

T e a m T e n g a h

Page 70