andiklive

SD - Laporan Sembako

Nov 9th, 2012
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.48 KB | None | 0 0
  1. Nama    : Andik kurniawan
  2. Kelas   : 2B
  3. NPM : 11.1.03.02.0042
  4. Matkul  : Struktur Data
  5.  
  6. void init(stacksembako *s)
  7. {
  8.     (*s).top=-1;
  9.     (*s).totalberat=0;
  10.     (*s).nelemen=0;
  11. }
  12. Prosedur ini berfungsi untuk menginisialisasi 1.(*s).top =- 1 : jumlah max yang sudah ditentukan untuk -1 untuk nilai terbawah.
  13. 2.(*s).totalberat=0 : menjelaskan nilai total berat dimulai dari 0.
  14. 3.(*).nelemen=0 : menjelaskan nilai nelemen dimulai dari 0.
  15. void inputsembako(sembako *x, string a, string b, float c)
  16. {
  17.     strcpy((*x).jenis,a);
  18.     strcpy((*x).asal,b);
  19.     (*x).berat=c;
  20. }
  21. Prosedur inputsembako adalah prosedur yang digunakan untuk memasukkan data yang diinput dengan rumus (sembako *x, string a, string b, float c)
  22. strcpy((*x).string,variable); untuk mengambil string, x.berat=c; untuk memberikan nilai pada berat.
  23. Tanda * di gunakan untuk mengakses ataupun mengedit  semua nilai yang ada dalam struktur
  24. void push(stacksembako *s, sembako x)
  25. {
  26.     if((*s).top<max-1)
  27.     {
  28.         (*s).top++;
  29.         strcpy((*s).content[(*s).top].jenis,x.jenis);
  30.         strcpy((*s).content[(*s).top].asal,x.asal);
  31.         (*s).content[(*s).top].berat=x.berat;
  32.         (*s).totalberat=(*s).totalberat+x.berat;
  33.         (*s).nelemen++;
  34.     }
  35.     else
  36.         printf("\nStadk Penuh...");
  37. }
  38. Prosedur push di gunakan untuk mengambil semua elemen yang sudah dimasukkan kedalam struktur sembako
  39. Stacksemabako *s digunakan untuk akses ke dalam struktur stacksembako,
  40. Sembako x di gunakan untuk akses ke dalam struktur sembako.
  41. Top++ digunakan untuk menambah tumpukan,
  42. Nelemen++ digunakan untuk menampung semua elemen yang sudah diinput.
  43. void show(stacksembako s)
  44. {
  45.     if(s.top>-1)
  46.     {
  47.         while(s.top!=-1)
  48.         {
  49.             printf("\n\nJenis Barang : s",s.content[s.top].jenis);
  50.             printf("\nAsal Barang : %s",s.content[s.top].asal);
  51.             printf("\nBerat : %0.2f",s.content[s.top].berat);
  52.             s.top--;
  53.         }
  54.         printf("\n---------------------------------------------");
  55.         printf("\n\nTotal Berat : %0.2f kg",s.totalberat);
  56.     }
  57.     else
  58.         printf("\nStack Kosong");
  59. }
  60. Prosedur show di gunakan untuk menampilkan nilai yang ada di dalam stacksembako s, s digunakan untuk akses ke dalam nilai stacksembako
  61. %s digunakan untuk memanggil string sedangkan %0.2f digunakan untuk memanggil float dengan batasan 2 angka di belakang koma.
  62. void pop(stacksembako *s)
  63. {
  64.     sembako x;
  65.     if((*s).top>-1)
  66.     {
  67.         x=(*s).content[(*s).top];
  68.         (*s).totalberat=(*s).totalberat-x.berat;
  69.         (*s).nelemen--;
  70.         (*s).top--;
  71.         printf("\nAsal : %s",x.asal);
  72.         printf("\nJenis : %s",x.jenis);
  73.         printf("\nBerat : %0.2f",x.berat);
  74.     }
  75.     else
  76.     {
  77.         printf("\nStack Kosong");
  78.     }
  79. }
  80. Prosedur pop digunakan untuk mengambil nilai dari stack teratas stack dengan rumus
  81. 1.nelemen- - : untuk mengurangi jumlah elemen
  82. 2.top- - : untuk mengambil dilai teratas dari stack
  83. float rerata(stacksembako s)
  84. {
  85.     return s.totalberat/s.nelemen;
  86. }
  87. Fungsi rerata untuk mencari nilai rata dari semua nilai berat yang sudah dimasukkan.
  88.  
  89. int banyakpaket(stacksembako s, string a, string b)
  90. {
  91.     int n=0;
  92.     if(s.top>-1)
  93.     {
  94.         while(s.top!=-1)
  95.         {
  96.             if(strcmpi((s.content[s.top].jenis),a)==0 && strcmpi((s.content[s.top].asal),b)==0)
  97.             {
  98.                 n++;
  99.             }
  100.             s.top--;
  101.         }
  102.         return n;
  103.     }
  104.     else
  105.     {
  106.         printf("\nStack Kosong");
  107.         return 0;
  108.     }
  109. }
  110. Fungsi banyak paket digunakan untuk mencari paket yang kita inginkan dengan memasukkan jenis dan asal paket,
  111. Jika jenis dan asal paket di elemen top dan elemen di bawahnya sama maka akan terjadi penambahan (n++),
  112. Jika tidak sama maka top akan di buang (s.top--)  dan elemen dibawahnya menjadi top dan akan di periksa lagi
Advertisement
Add Comment
Please, Sign In to add comment