Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.91 KB | None | 0 0
  1. /*Dasprog C - 2019
  2. William Handi Wijaya
  3. 0087
  4.  
  5. Program untuk menghitung nilai ralat dalam praktikum fisika.
  6. */
  7.  
  8. #include <stdio.h>
  9. #include <math.h>
  10. #include <stdlib.h>
  11.  
  12. int o; // o = banyak data
  13. int prompt = 1;
  14. double mean, sum, mutlak, nisbi, keseksamaan;
  15. double *input = NULL;
  16.  
  17. void input_banyak();
  18. void input_sum();
  19. void Mean();
  20. void sumX();
  21. void ralat_mutlak();
  22. void ralat_nisbi();
  23. void Keseksamaan();
  24. void reprompt();
  25.  
  26. int main(void)
  27. {
  28.     while (prompt) // Progra berhenti jika pengguna menginput '0'
  29.     {
  30.         input_banyak(); // Masukan banyak data
  31.         input_sum(); // Masukan data dan hitung jumlahnya
  32.         Mean(); // Hitung rerata
  33.         sumX(); // Hitung jumlah (x - rata^x)^2
  34.  
  35.         ralat_mutlak(); // Hitung ralat mutlak
  36.         ralat_nisbi(); // Hitung ralat nisbi
  37.         Keseksamaan(); // Hitung keseksamaan
  38.  
  39.         // Tanyakan apakah user ingin menginput data lagi
  40.         reprompt(); // If input = 0 --> program berhenti
  41.     }
  42.     return 0;
  43. }
  44.  
  45. void input_banyak()
  46. {
  47.     printf("Banyak data: ");
  48.     scanf("%d", &o);
  49. }
  50.  
  51. void input_sum()
  52. {
  53.     input = (double*) malloc(sizeof(double) * o);
  54.     printf("Input (%d): \n", o);
  55.     for (int i = 0; i < o; i++)
  56.     {
  57.         scanf("%lf", &input[i]);
  58.         sum += input[i];
  59.     }  
  60. }
  61.  
  62. void Mean()
  63. {
  64.     mean = (int) (sum * 100 / o);
  65.     mean /= 100;
  66.     printf("Mean = %.2lf\n", mean);
  67. }
  68.  
  69. void sumX()
  70. {
  71.     sum = 0;
  72.     for (int i = 0; i < o; i++)
  73.     {
  74.         input[i] -= mean;
  75.         input[i] = pow(input[i], 2);
  76.         sum += input[i];
  77.     }  
  78. }
  79.  
  80. void reprompt()
  81. {
  82.     printf("Lanjut ? (0 = berhenti)\n");
  83.     scanf("%d", &prompt);
  84.     printf("\n");      
  85. }
  86.  
  87. void Keseksamaan()
  88. {
  89.     keseksamaan = 100 - nisbi;
  90.     printf("Keseksamaan = %.2lf %%\n\n", keseksamaan);
  91. }
  92.  
  93. void ralat_nisbi()
  94. {
  95.     nisbi = (int) ((mutlak / mean * 100) * 100);
  96.     nisbi /= 100;
  97.     printf("Nisbi = %.2lf %%\n", nisbi);
  98. }
  99.  
  100. void ralat_mutlak()
  101. {
  102.     mutlak = (int)(sqrt(sum / o * (o - 1)) * 100);
  103.     mutlak /= 100;
  104.     printf("Mutlak = %.2lf\n", mutlak);
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement