Studi
Kasus :
Membuat program untuk
menyelesaikan formula berikut ini Y=∑ (X/Xn);
dengan X=2,2,4,2; dan n=2,1,2,2;
Program
dan bahasa yang digunakan :
Program
yang digunakan untuk membuat program ini adalah Code Block dan bahasa
pemrograman yang digunakan adalah bahasa C.
Struktur
Program :
Program
dibuat dengan menggunakan array,fungsi
dan operator matematika.Untuk lebih jelasnya saya lampirkan source code
program nya lalu selanjutnya akan saya jelaskan satu persatu struktur program
tersebut. Tetapi sebelumnya saya juga akan menjelaskan terlebih dahulu apa itu array dan
fungsi.
Array
:
Array
adalah sekelompok lokasi memori yang berelasi oleh fakta bahwa semua memiliki
nama dan tipe sama.Untuk menunjuk kelokasi atau elemen tertentu di dalam array,
nama array dan nomor posisi elemen tertentu di dalam array perlu dispesifikasi.
Fungsi
:
Fungsi membantu
anda untuk memodularisasi suatu program.Semua variabel yang didefinisikan di
dalam definisi fungsi adalah variabel lokal,yang hanya dikenal di dalam fungsi
yang di dalamnya variabel tersebut didefinisikan.Sebagian fungsi memiliki
daftar parameter yang menyediakan cara untuk mengkomunikasikan informasi diantara
fungsi.Sebuah parameter fungsi juga merupakan variabel lokal dari fungsi
tersebut.
Source
Code :
Penjelasan Source Code
:
Baris
1 dan 2 :
#include
<stdio.h>
#include
<stdlib.h>
Adalah sebuah direktrif
preprosesor C.Baris yang diawali dengan # diproses oleh preprosesor sebelum
program dikompilasi. Baris 1 dan 2 memberitahu preprosesor untuk menyertakan konten dari standar input/ouput header <stdio.h> dalam program.Header ini memuat
informasi yang digunakan oleh komplier ketika mengkompilasi pemanggilan
terhadap fungsi-fungsi pustaka masukan / keluaran standar seperti
printf,sedangkan <stdlib.h> Memuat prototipe fungsi untuk konversi angka
menjadi teks dan teks menjadi angka,alokasi memori,bilangan acak dan fungsi
utilitas lainya.
Baris 4 :
float pangkat (float
a,float b);
Merupakan sebuah
prototipe fungsi.Katakunci float yang diapit kurung menginformasikan komplier
bahwa pangkat berharap untuk menerima suatu nilai float dari pemanggil.Kata
kunci float di sebelah kiri nama pangkat menginformasikan komplier bahwa pangkat
menghasilkan nilai balik, berupa suatu float yang diberikan kepada
pemanggil.Komplier merujuk kepada prototipe fungsi untuk memeriksa pemanggilan
terhadap fungsi (Baris 10) apakah memuat tipe nilai balik, jumlah argumen yang
tepat, tipe data argumen yang sesuai, dan apakah argumen memiliki urutan yang
benar.
Baris
5 :
int main ()
Merupakan bagian dari
setiap program C.Sepasang kurung setelah main mengindikasikan bahwa main
merupakan suatu blok pembangunan program yang dinamakan fungsi.Program C memuat
satu atau lebih fungsi,yang salah satunya harus berupa fungsi main.Eksekusi
terhadap setiap program C dimulai dari fungsi main.Fungsi dapat memberikan
nilai balik informasi.Kata kunci int di sebelah kiri main mengindikasikan bahwa
main “mengembalikan” sebuah nilai interger.
Kurung kurawal kiri,
{,diberikan untuk menandai tubuh setiap fungsi (baris 6).Kurung kurawal kanan
terkait menandai akhir setiap fungsi (baris 15).Sepasang kurung kurawal kiri
dan kanan dan potongan program yang diapit oleh sepasang kurung kurawal
tersebut dinamakan blok dan Blok merupakan unit program yang penting dalam C.
Baris
7 dan 8:
int
x[4]={2,2,4,2},n[4]={2,1,2,2},i;
float ttl=0;
Ini secara eksplisit x[4]={2,2,4,2},n[4]={2,1,2,2},
menginisialisasi elemen pertama dengan 0 dan menginisialisasi empat lainya
dengan 0 karena terdapat penginisialisasi lebih sedikit daripada jumlah elemen
di dalam array.Hal penting untuk diingat adalah array tidak secara otomatis
diinisialisasi dengan 0.Anda harus sedikitnya menginisalisasi elemen pertama
dengan no dan sisa elemen yang lain akan diinisialisasi secara otomatis dengan
nol.Metode penginisialisasian terhadap elemen array dengan nol dilakukan pada
waktu kompilasi terhadap array static dan pada waktu runtimr untuk array
otomatis.
x[4]={2,2,4,2},n[4]={2,1,2,2},
Akan menciptakan array
empat elemen.
Baris
9 – 12 :
Include
Baris 16 – 25 :
for(i=0;
i<=3; i++)
Pada baris 9
,Program beroperasi sebagai berikut . Ketika statement for mulai dieksekusi ,
variabel i diinisialisasi dengan 0.Kemudian, kondisi kontinuasi-loop i<=3
diperiksa.Karena nilai i adalah 0 , kondisi ini terpenuhi,selanjutnya variabel
kontrol i kemudian diinkremen dengan ekspresi i++, dan loop kembali lagi dengan
pengujian kontinuasi loop.Proses ini berlanjut sampai variabel i diikremen
menjadi nilai akhirnya 4 , ini menyebabkan pengujian kontinuasi loop i<=3
tidak terpenuhi, dan repetisi berhenti.Setelah looping false dan berhenti maka
program akan berlanjut pada operator matematika di dalam blok for { (baris 11).
ttl=ttl+(x[i]/pangkat(x[i],n[i]));
Pada baris 11
, Fungsi pertama menerima sebuah salinan dari nilai x di dalam parameter int a
dan int b (Baris 15).Kemudian pertama menghitung hsl=hsl*a; (Baris 22),kemudaian
akan dihitung penuh dengan formula ttl=ttl+(x[i]/pangkat(x[i],n[i]));(Baris
11) Hasilnya dilewatkan kembali kepada fungsi printf di dalam main dimana fungsi
dipanggil (Baris 11) .
Baris
13 :
printf("Hasil=%f",ttl);
Program
menginstruksikan komputer untuk menampilkan hasil akhir dari perhitungan yang
diambil dari variabel ttl.
Baris
14 :
return 0;
Disertakan di akhir
setiap fungsi main . Katakunci return merupakan salah satu dari beberapa cara untuk
keluar dari sebuah fungsi.Ketika statement return digunakan di akhir main
seperti ditunjukan di sini nilai 0 mengindikasikan bahwa program berhenti
dengan sukses.
Hasil
Akhir Program
Setelah melihat
penjelasan dari source code program ini berikut juga disertakan screenshot
hasil akhir program saat berjalan.
Hasil Program setelah di Run |
Demikian tutorial membuat program untuk menghitung formula Y=∑(X/Xn); dengan X= 2,2,4,2; dan n=2,1,2,2; walaupun terkesan sulit tapi memang sulit :D , ya bisa dilihat dalam program ini terdapat array,dan fungsi tapi bila teman - teman niat pasti membuat program ini tidaklah sulit .. Seperti biasa apabila ada pertanyaan seputar tutorial ini bisa tinggalkan komentar , maupun pm kontak yang ada di web ini , terimakasih :)
Tags:
Coding