-->

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.

Berlangganan update artikel terbaru via email:

0 Response to "Program Mencatat Penjualan Mobil Bekas Lat 1 - Array Dalam Fungsi C/C++"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel