Laporan Praktikum Struktur Data Modul 24

Operasi File dengan Array

Deskripsi Kasus

Pada percobaan ini, program yang akan dibuat adalah suatu program operasi file dengan menggunakan array dengan menggunakan kasus perhitungan suatu statistik.

Coding / Syntax

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

float data[100];
int i, j;
const int max_baris=10;

read()
{
    j=0;
    FILE *notepad;

    notepad=fopen("file.txt","r");
    for(i=0;i<max_baris;i++)
    {
        fscanf(notepad, "%ft%ft%ft%ft%f", &data[i+j], &data[i+j+1], &data[i+j+2], &data[i+j+3], &data[i+j+4]);
        printf("%ft%ft%ft%ft%fn", data[i+j], data[i+j+1], data[i+j+2], data[i+j+3], data[i+j+4]);
        j=j+4;
    }
    fclose(notepad);
}

main()
{
    for(i=0;i<(max_baris*5);i++)
    {
        data[i]=0.00;
    }
    read();

//sort
    int k;
    float buffer;
    for(k=1;k<(max_baris*5);k++)
    {
        i=0;
        while(i<(max_baris*5)-1) { if(data[i]>data[i+1])
            {
                buffer=data[i+1];
                data[i+1]=data[i];
                data[i]=buffer;
            }
            i++;
        }
    }

    //mean
    float total, mean;
    for(i=0;i<(max_baris*5);i++)
    {
        total=total+data[i];
    }
    mean=total/(max_baris*5);
    printf("Mean: %fn", mean);

    //modus
    float modus, modus_buffer;
    int count=0, count_buffer=0;
    for(i=0;i<(max_baris*5);i++)
    {
        for(j=i+1;j<(max_baris*5);j++) { if(data[i]==data[j]) { count_buffer++; modus_buffer=data[i]; } } if(count_buffer>=count)
        {
            count=count_buffer;
            modus=modus_buffer;
        }
        count_buffer=0;
    }
    printf("Modus: %fn", modus);

    //median
    int A, B, C;
    float median;
    A=0;
    C=(max_baris*5)-1;
    B=(A+C)/2;

    if(C%2==0)
    {
        median=data[B];
    }
    else
    {
        median=(data[B]+data[B+1])/2;
    }
    printf("Median: %fn", median);
    
}

Gunakan data berikut sebagai data percobaan pada notepad disimpan dengan “file.txt”: 

3.14 2.93 2.9 3.06 3.7
2.79 2.93 2.95 3.13 2.87
2.93 2.65 2.54 2.57 2.8
2.65 2.8 2.88 2.93 2.56
3.34 2.83 2.65 2.99 2.93
3.04 2.86 2.95 2.87 2.65
3.25 2.9 3.34 2.93 2.75
3.03 2.8 2.79 3.18 2.8
2.88 2.9 2.88 2.98 3.34
2.9 2.93 2.88 3.25 2.65

Pembahasan Hasil

Hasil tampilan program  Tambahkan perhitungan standar deviasi berdasarkan rumus berikut ini  1 1 Catatan Penting : 

Fungsi fopen() adalah membuat dan membuka notepad. Jika file yang dimaksud belum ada, maka file text tersebut akan dibuat.

Fungsi fprintf() gunanya untuk mencetak output program pada notepad dengan nama file data.txt tadi. Kira kira seperti printf, menuju file.

Fungsi fclose() yaitu untuk menutup file data.txt tersebut. Karena suatu proses tidak bisa berjalan lebih dari 1, maka saat 1 proses sedang jalan, proses tersebut harus ditutup terlebih dahulu dengan fclose(). Jika tidak, proses akan error. (Dalam program ini, program tidak memeriksa apakah file sudah berhasil dibuka atau tidak.)

Fungsi fscanf() yaitu untuk membaca nilai yang telah tersimpan pada notepad tersebut ke dalam program. Mirip dengan scanf, tapi dari file.

Share Button

By Rinaldo Jonathan

Admin of this site. Artis papan PCB. #zoneRinaldo #Controllerism Studio Demon, Stage Angel, Sleepy Developer, Smoke free. Kalkud SHS 2012, PCR G15.

Leave a Reply

Verified by ExactMetrics