Program Mencatat Penjualan Mobil Bekas Lat 1 - Array Dalam Fungsi C/C++
Studi Kasus Praktikum 4.2 (Struktur Data - Modul 4)
Mobil 13 adalah perusahaan yang menjual mobil bekas, berdagang mobil bekas selama bertahun-tahun ternyata hanya ada tiga merek mobil yang selalu dicari oleh konsumen yaitu Toyota, Honda, dan Suzuki. Mobil 13 saat ini sudah memiliki cabang di kota besar yaitu Jakarta, Surabaya, dan Medan dengan semakin banyaknya konsumen yang percaya dengan kualitas mobil bekas yang dijual oleh mobil 13. Perusahaan membutuhkan program yang dapat mencatat semua penjualan mobil bekas perbulan disetiap cabangnya. Selama ini masih di perhitungkan bersifat manual dalam bentuk bagan diatas kertas.#include <stdio.h> #include <conio.h> #include <windows.h> using namespace std; void gotoxy (int x, int y) //fungsi gotoxy { COORD coord; coord.X = x; coord.Y = y; SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), coord); } void judul (char kota[11]) //parameter menampikan tabel penjualan { char merek[3][7] = {"Toyota","Honda","Suzuki"}; char bulan[13][4] = {"Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des","JML"}; int i; system ("cls"); printf ("PENJUALAN MOBIL BEKAS\n\n"); printf ("Kota : %s\n\n\t", kota); for (i = 0; i < 13; i++) //perulangan menampilkan bulan { printf ("%s ", bulan[i]); } for (i = 0; i < 3; i++) //perulangan menampilkan merek mobil { printf ("\n%s ", merek[i]); } } void isi_data (int jual[4][13][4]) //parameter pengisian data { char kota[4][11] = {"Jakarta","Surabaya","Medan","Semua Kota"}; int i_k, i_m, i_b; //indeks kota, merek, bulan for (i_k = 0; i_k < 3; i_k++) //kota { judul(kota[i_k]); for (i_m = 0; i_m < 3; i_m++) //pengisian data merk { for (i_b = 0; i_b < 12; i_b++) //pengisian data bulan { gotoxy (8 + i_b * 4, i_m + 5); scanf ("%d", &jual[i_m][i_b][i_k]); jual [i_m][12][i_k] += jual [i_m][i_b][i_k]; //isi ke samping jual [3][i_b][i_k] += jual [i_m][i_b][i_k]; // isi ke bawah jual [3][12][i_k] += jual[i_m][i_b][i_k]; //isi ke total jual [i_m][i_b][3] += jual[i_m][i_b][i_k]; //isi ke lapis 4 } gotoxy (56, i_m + 5); //jumlah pertahun printf ("%d", jual[i_m][12][i_k]); } printf ("\n\t"); //menampilkan garis for (int z = 0; z <= 50; z++) { printf ("="); } gotoxy (8, 9); //jumlah perbulan for (i_b = 0; i_b < 13; i_b++) { printf ("%-4d", jual[3][i_b][i_k]); fflush(stdin); } getch(); } } void total_jual (int jual[4][13][4]) //parameter hasil { char kota[4][11] = {"Jakarta","Surabaya","Medan","Semua Kota"}; int i_k, i_m, i_b; for (i_m = 0; i_m < 3; i_m++) { for (i_b = 0; i_b < 12; i_b++) { jual [i_m][12][3] += jual[i_m][i_b][3]; //tambah ke samping jual [3][i_b][3] += jual[i_m][i_b][3]; //tambah ke bawah jual [3][12][3] += jual[i_m][i_b][3]; //tambah ke grand total } judul (kota[i_k]); for (i_m = 0; i_m < 4; i_m++) { i_m == 3 ? gotoxy (8, i_m + 6) : gotoxy (8, i_m + 5); for (i_b = 0; i_b < 13; i_b++) { printf ("%-4d", jual[i_m][i_b][3]); } } } } int main() { int jual[4][13][4] = {0}; //pemanggilan fungsi tabel merk, bulan, kota isi_data (jual); //pemanggilan fungsi pengisian data total_jual (jual); //pemanggilan fungsi hasil data return 0; }
Hasil running
Keterangan
Program ini akan mencatat penjualan mobil bekas, dan mengkalkulasikan perhitungan keseluruhan. Tampilan penjualan menggunakan tabel yang dapat diisi, dan secara otomatis akan dijumlah pertahunnya dan per merk. Program ini menggunakan fungsi GOTOXY, gunanya untuk memposisikan kursor untuk memasukan dan menampilkan data. GOTOXY menggunakan koordinat sumbu x dan y untuk memposisikan kursor.
Pada program ini terdapat fungsi gotoxy, yang didalamya sudah terdapat sumbu x dan y, untuk menempatkan posisi kursor
Cara kerja program ini pada main(), hanya memanggil fungsi. Fungsi pertama parameter jual, pada fungsi ini akan menampilkan tabel penjualan mobil. Yang didalamnya terdapat kota, bulan penjual, dan merk mobil. Fungsi kedua isi_data, pada parameter ini akan memasukan data sesuai dengan tabel berdasarkan kota, nilai / angka akan dimasukan sesuai pada merek dan bulan, nilai akan disimpan di array jual. Pada pengisian data penempatan posisi akan disusaikan karena fungsi gotoxy sudah disesuikan pada posisinya. Fungsi ke tiga yaitu total_jual, pada fungsi ini akan dilakukan perulangan tujuannya akan dilakukan penjumlahan keseluruhan di tiga kota per merknya.
0 Response to "Program Mencatat Penjualan Mobil Bekas Lat 1 - Array Dalam Fungsi C/C++"
Post a Comment