Variabel, Fungsi, Prosedur, klass dll... Dalam MFC

Prememori
Hal yang baru yang sering saya dapati dalam MFC
Saya awali dari
            virtual BOOL OnInitDialog( ); 

Menentukan apakah aplikasi telah menetapkan fokus input ke salah satu kontrol di kotak dialog. Jika  OnInitDialog()  return 0,maka Windows akan menetapkan fokus input ke kontrol di kotak dialog pertama . apakah Aplikasi ini dapat return 0 jika  hanya memiliki sebuah eksplisit untuk mengatur sebuah fokus input ke salah satu kontrol di kotak dialog

 ###############################################################################

Prosedur

Pengertian Prosedur
Prosedur adalah sebuah blok program tersendiri yang merupakan bagian dari program lain yang lebih besar. prosedur dapat dipanggil oleh program utamanya ataupun oleh prosedur lain yang juga merupakan bagian dari program utamanya (yang masih dalam satu kode program). sebuah program yang mememiliki prosedur biasanya terdiri dari satu atau lebih prosedur dan satu program utama.

Keuntungan dari pembuatan prosedur
1.    Memecah program menjadi lebih sederhana. misalnya diperlukan proses pencarian berkali kali jika hanya terdiri dari satu program utama tanpa prosedur maka kode program pencarian akan beberapa kali ditulis ulang dan hasilnya dapat memperbesar ukuran file
2.    Blok program yang digunakan jelas jika akan digunakan pada program lain cukup dengan mengkopi yang membutuhkan dan program lain tersebut tinggal memanggil prosedur tersebut
catatan :
Perbedaan antara prosedur dengan fungsi yang paling utama adalah prosedur  tidak menghasilkan nilai, namun hanya merupakan proses di dalamnya. sedangkan fungsi menghasilkan nilai keluaran (Output). jika kita membutuhkan hasil keluaran dan hanya membutuhkan proses akan dapat digunakan prosedur, tapi jika membutuhkan hasil keluaran (output maka gunakan fungsi.
cara mendeklarasikan prosedur
jika didalam java prosedur hampir mirip dengan yang dinamakan Metod. 
void nama_prosedur(tipe_data variabel_input1, tipe_data variabel_inputn)
{
....................
}

atau
void cariNama(char nama[])
 {
...................
}

adapun cara memanggilnya adalah

nama_prosedur (variabel_masukan);
cariNama(nama);

Parameter dalam prosedur
parameter dalam prosedur adalah sebuah variabel masukan (input) dari sebuah prosedur misalnya pada prosedur berikut :
prosedur hitungJumlah(input : integer hasil, integer operan1,  integer operan2)
{
hasil = operan1+operan2;
}
penjelasan
hasil, operan1, operan2 adalah parameter dalam prosedur hitungJumlah dalam hal ini jumlah parameter tidak terbatas namun prosedur yang baik biasanya memilki parameter masukan paling banyak 7 buah parameter. masukan dari sebuah prosedur  tidak harus berupa variabel, dapat lansung berupa nilai karena jika yang dijadikan masukan adalah variabel, tetap saja yang diproses dalam prosedur adalah nilai dari variabel itu, oleh karena itu dalam pemanggilan sebuah prosedur dapat dilakukan dengan cara sebagai berikut ;
 hitungJumlah (1, 2, 3,4,.....n);
jika menggunakan varibel maka menggunakansebagai berikut
hitungJumlah(a, b, c, d,.....n);
terdapat dua buah metode pemrosesan parameter dalam penggunaan sebuah prosedur yaitu pemroresan parameter berdasarakan nilainya (parameter pass by value ) dan pemroresan parameter berdasarakan acuan (parameter pass by reference).
pemroresan parameter berdasarkan nilainya
adalah pemroresan parameter didalam prosedur, bahwa parameter hanya dipakai nilainya saja pada proses yang ada didalam prosedur dijalankan misalnya contoh :

prosedur hitung (input : integer a, integer b)
integer hasil;
hasil = a+b ;
write ("Hasil penjumlahan : ", hasil);i
parameter masukan a dan b hanya bisa dipakai nilainya saja, nilai parameter ini tidak berubah seteleh perosedur hitung dijalankan. pada gambar 14 terdapat variabel operan1 dan operan2 sebagai parameter masukan prosedur hitung, di dalam prosedur hitung nilai a diisi dngan nilai operan1 dan nilai b diisi dengan nilai operan2 sehingga nilai operan1 dan nilai operan2 tidak berubah setelah prosedur hitung dijalankan.
default atau standar pada bahasa pemrograman C++ dan Java adalah (pass by value), bahkan dalam java tidak mendukung pass by reference.

permroresan parameter berdasarkan acuan (Parameter pass by reference)
adalah pemrosesan diddalam sebuah prosedur bahwa yang dimasukan didalam prosedur adalah tempat dari variabel yang menjadi parameter sehingga dapat terjadi perubahan nilai variabel yang menjadi parameter, misalnya pada contoh prosedur dengan bahasa algoritma sebagai baerikut :
prosedur hitung(input : integer a, integer b, output : integer c)
{
c = a +b ;
}
parameter masukan a dan b hanya dipakai nilainya saja, nilai parameter ini tidak berubah setelah prosedur hitung dijalankan sedangkan parameter  akan berubah nilainya setelah prosedur hitung dijalankan.

#include <stdio.h>
void hitung (int a, int b, int *c){
*c = a +b;
printf ("dalam prosedur : hasil penjumlahan %d\n", *c);
}
int main (){
int operan1 = 2;
int operan2=3;
int hasil =0;
hitung(operan1, opearn2, &hasil);
printf ("setelah prosederu nilai hasil adalah : %d\n", hasil);
return 0;
}


dalam bahasa c++ mengijinkan mengakses alamat variabel secara langsung dengan menambahkan tanda * (bintang).  parameter * bintang pada bahasa pemrograman c++ bisa berarti parameter pass by reference atau menyatakan pointer. pointer berarti yang dipesan pada memeri  bukan sebuah tempat, tapi hanya sebuah penunjuk yang mengacu ke tempat variabel yang  akan diubah nilainya.

prosedur standar

prosedur standar adalah prosedur yang dapat langsung dipaikai tanpa mendeklarasikanya karena telah ada pada pustaka (library) yang perlu dilakukan adalah menyertakan pustaka yang berisi prosedur standar yang dibutuhkan pada kode program dengan kata kunci include untuk bahasa pemrograman c++ dan kata kunci import pada bahasa pemrogramana java. untuk mengetahui prosedur apa saja yang dapat  dipaikai perlu dilakukan ekisplorasi terhadap putaka yang disediakianl selain prosedur, juga terdapat fungsi standar yang juga dapat langsung dipakai tanpa membuatnya sendiri.

Fungsi :
Fungsi adalah sebuah blok program yang tersendiri yang merupakan bagian dari program lain yang lebih besar sama halnya dengan prosedur hanya saja fungsi memiliki hasil keluaran sedangkan prosedur hanya berisi proses. Fungsi dapat dipanggil oleh program utamanya ataupun oleh prosedur atau fungsi lain yang juga merupakan bagian dari program utamanya (Masih dalam satu kode prgoram). Sebuah program bisa terdiri dari satu atau lebih proseedur, satu atau lebih fungsi dan satu program utama. Fungsi juga memiliki keuntungan-keuntungan seperti halnya prosedur, hal paling mendasar yang membedakan prosedur dan fungsi adalah keluaran/output  sedangkan prosedur tidak.
Deklarasi  fungsi
Prosedur dan fungsi sama halnya dengan Metode jika dalam bahasa pemrograman java bedanya hanya metode yang memiliki hasil keluaran dan metode yang tidak memiliki hasil keluaran.
Conotoh deklarasi dari fungis/methode
Int  nilaiTerbesar(int a, int b, int c)
{
// proses
Int hasil;
Return hasil;
} 

Cara memanggil fungsi/ metode adalah
Nama_variabel = nama_fungsi (variabael_masukan);
Maximum = nilaiTerbesar (a, b, c);

Contoh
#include <stdio.h>
Int hasilKali (int a, int b, int c)
{
Int hasil;
Hasil = a* b*C;
Return hasil;
}
Int main(){
int a=1;
int b =2;
int c=3;
hasil = hasilKali(a, b, c);
printf(“hasil perkalian adalah : “, hasil);
return 0;
}

Fungsi dapat didefinisikan secara langsung ataupun didalam program maupun yang disimpan dalam file header (misal header.h) satu fungsi yang pasti terdapat dalam program yang ditulis menggunakan bahasa c++ adalah main fungsi man(). Fungsi tersebut merupakan fungsi utama dan merupakan fungsi yang akan pertama kali akan di eksekusi.
Fungsi juga dapat didefinisikan sebagi berikut, fungsi adalah suatu blok program yang digunakan untuk melakukan proses-proses tertentu. Sebuah fungsi dibutuhkan untuk menjadikan program yang akan dibuat menjadi lebih modular dan mudah dipahami alurnya. Dengan adanya fungsi maka dapat mengurangi penulisan kode yang ganda.
Dalam c++ memilik 2 jenis fungsi yaitu fungsi yang mengembalikan nilai (return value) dan fungsi yang tidak mengemebalikan nilai. Fungs i yang mengembalikan nilai tersebut dinamakan dengan void function.
Nilai kembalian pada fungsi main ();
Nilai yang dikembalikan pada fungsi  main adalah  nilai 0 dan nilai 1;  apabila fungsi main() mengembalikan nilai 0 kesistem operasi, maka sistem operasi akan mengetahui bahwa program yang kita buat tersebut telah dieksekusi dengan benar tanpa adanya kesalahan.  Sedangkan apabila nilai yang dikembalikan kesistem operasi adalah 1 maka sistem operasi akan mengetahi bahwa program telah dihentikan secara tidak normal ( terdapat kesalahan) dengan demikian seharusnya fungsi main() tidaklah mengembalikan tipe void melainkan tipe data int.
Fungsi tanpa nilai balik
Pada umumnya fungsi tanpa nilai balik (retrun value ) ini digunakan untuk melaukukan proses-proses yang tidak menghasilkan nilai. Seperti melakukan pengulangan, proses pengesetan nilai taupun yang lainya. Dalam bahsa c++  fungsi semacam ini tipe kembaliaya akan diisi dengan nilai void.
Contoh :
Void nilaiTerendah(void){
Int j;
For (j=0; j<10; j++){
Printf (“pelajaran c++”);
}
Fungsi ini tidaklah menghasilkan nilai, melainkna hanya melakukan proses yaitu penulisan teks “Pelajaran c++” sebanyak 10 kali, inilah yan gdisebut dengan fungsi tanpa nilai balik (void function).

Fungsi dengan nilai balik
Adapun cara mendefinisikan fungsi yang memiliki nilai balik adalah dengan menuliskan  tipe data dari nilai yang akan dikembalikan didepan nama fungsi, berikut ini bentuk umum dari pendifinisian fungsi dengan nilai balik dalam bahasa c++;
Tipe_data  nama_fungsi(parameter1, parameter2,.....){
Statemen yang akan dieksekusi;
.................
Return nilai_balik;
}




Int hitungLuas(int sisi){
Int L;
L= sisi * sisi;
Return L;
}

Fungsi dengan parameter;
Parameter adalah suatu variabel yang bersfungsi untuk menampung nilai  yang akan dikirim kedalam fungsi. Dengan adanya parameter, sebuah fungsi dapat bersifat dinamis. Parameter itu sendiri terbagi menjadi dua macam, yaitu parameter formal dan parameter aktual. Parameter formal adalah parameter yang terdapat pada pendefinisian fungsi, sedangkan parameter aktual adalah parameter ayng terdapat pada ssaat pemanggilan fungsi. Contoh :
    Int tambahSatu(int X){
         Retrun ++x;
    }
Variabel x dinamakan sebagai parameter formal
Int main()
   {
      Int a= 10;
      Int hasil;
       Hasil = tambahSatu(a);
       Return 0;
  }
Pada saat pemanggilan fungsi tambaSatu() diatas variabel a dinamakan dengan parameter akual.

Jenis parameter
3 jenis parameter adalah parameter masukan, keluaran dan masukan/keluaran.
Parameter Masukan
Parameter masukan adalah parameter yang digunakan untuk menampung nilai data yang akan dijadikan sebagai masukan(inputs) kedalam fungsi. Artinya sebuah fungsi dapat menghasilkan nilai yang berbeda tergantung dari nilai parameter yang dimasukan pada saat pemanggilan fungsi tersebut.
 
#include <stdio.h>
#define PI 3.14

Doubel  hitungKeliling(int radius){
 Doubel K;
 K= 2*PI*radius;
Return K;
}

Int main (void) {
Int R;
Printf (“Masukan jari jari”);
Scanf(“%d”, &R);
Double Keliling = hitungKeliling(R);
Printf (“keliling adalah “, R, Keliling);

Return 0;
}
   

Pada sintak tersebut variabel R merupakan parameter aktual  yang berfungsi sebagai parameter masukan karena variabel tersebut digunakan untuk menampung nilai yang akan menjadi masukan untuk proses perhitungan dalan fungsi hitungKeliling();.
Apabila kina masukan nilai parameter diatas dengan nilai 5 maka akan memberikan hasil yang berbeda.
Hal ini membuktikan bahwa fungsi hitungKeliling(); akan menghasilkan nilai yang berbeda sesuai dengan nilai parameter yang dimasukan.
Parameter keluaran
Kebalikan dari parameter masukan parameter keluaran adalah parameter yang digunakan untuk menampung nilai kembalian/ nilai keluaran (output) dari suatu proses. Umumnya parameter jenis ini digunakan didalam fungsi yang tidak mempunyai nilai balik.

#include <stdio.h>
#define PI 3.14

Doubel  hitungKeliling (int radius, doubel  *K){
 Doubel K;
 K= 2*PI*radius;
Return K;
}

Int main (void) {
Int R;
Double Keliling;
Printf (“Masukan jari jari”);
Scanf(“%d”, &R);
hitungKeliling(R, Keliling);
Printf (“keliling adalah “, R, Keliling);

Return 0;
}
     

Variabel Keliling diatas berfungsi sebagai parameter keluaran karena variabel tersebut digunakna untuk menampung nilai hasil dari proses yang terdapat dalam fungsi. Sedangkan variabel R adalah variabel yang berfungsi sebagai parameter masukan diomana nilainya digunkana untk menampung nilai yang akan dilewatkan ke dalam fungsi.

Parameter masukan/keluaran.
Kegunaan parameter masukan/keluaran adalah sebagai berikut ;
-    Parameter ini akan bertindak sebagai parameter yang menampung nilai masukan.
-    Parameter ini akan bertindak sebagai parameter yang menampung nilai keluaran.
Perlu dicatat bahwa istilah "parameter" digunakan dalam dua konsep berbeda tetapi berkaitan. Yang pertama adalah "parameter" digunakan untuk mendefinisikan suatu subrutin. Parameter yang digunakan pada definisi suatu subrutin disebut parameter formal. "Parameter" yang digunakan untuk memanggil suatu subrutin disebut parameter aktual. Ketika suatu subrutin dipanggil, parameter aktual akan dievaluasi, dan hasilnya akan dimasukkan ke dalam parameter formal.

Enkapsulasi
Enkapsulasi inilah yang diimplementasikan dalam sebuah kelas bahwa di dalam sebuah kelas terdiri dari atribut dan metode yagn dibungkus dalam satu kelas. Enkapsulasi dalam sebuah kelas berfungsi untuk melindungi atribut dan metode-metode yang ada didalam kelas agar tidak sembarangan diakses oleh kelas lain.

Atribu dari sebuah keals adalah variabel global yang dimiiki sebuah kalas,
Contoh :
Class Elemen
NilaiMatKul elmt;
Elemen next;
Elemen(){
}

Maka  elmt dan next adalah atribut dari kelas elemen. Atribut pada sebuah kelas memiliki ijin akses jiki kelas digunakan oleh kelas lain, izin akses itu seperti  Private, Public, dan Protected.
Atribute Private :
Izin akses ini pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk melindungi atribut-atributnya agara tidak dapat diakses oleh kelas lain.
Atribute Public :
Izin akses ini pada sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah atribut diperbolehkan diakses secara langsung oleh kelas lain.
Atribute Protected :
Izin akses ini pada sebuah atribut biasanya digunakan oleh sebuah kelas, jika sebuah aribut diperbolehkan diakses secara langung oleh kelasi lain yang merupakan kelas turunannya.

Method
Method pada suatu kelas hampir sama dengan fungsi atau prosedur pada pemrograman prosedural. Pada sebuah method di dalam sebuah kelas juga memilki izin akses seperti halnya aribut pda kelas izin akses yaitu private, public dan protected.




################################################################################


Mungkin ini yang sering saya alami, karena saya termasuk pemula dalam MFC






========================================================================
Perlu digaris bawahi, ingat atau perlu di pahami ini semua tulisan yang terdapat dalam Blog ini adalah merupakan sebuah catatan pribadi yang berguna untuk saya sendiri, atau orang lain jika memang berguna, tulisan ini saya ambil dari berbagai sumber baik dari potongan tulisan dari buku, blog-blog teman, bahkan dari hasil translet ada yang dari situs, blog ataupun buku....? jadi apa bila ada pihak yang merasa dirugikan silahkna untuk mengirimkan kritik, pesan, saran atau pun email.... TRIMA KASIH

1 comments:

ah ar..ar...ar........? Anu kaya kie si bayi turu be teyeng... C++ kan anu sing nggo dolanan cah cilik kae mbok... sing ana glindingane... de pejet monone ngeeekkk...ngekkk..ngek... kya kue... hahahahaha


EmoticonEmoticon