Pemograman Bahasa C++ ( FUNGSI ) Lengkap Soal & Jawaban.

21:45:00 , 1 Comments

Selamat malam sobat blogger semuanya postingan kali ini yaitu mengenai Pemograman Bahasa C++ yaitu lanjutan dari postingan kemaren yaitu Pemograman Bahasa C yang berjudul ARRAY lengkap dengan soal dan jawaban, Sobat blogger yang lagi sibuk cariin tugas mata kuliahnya yang rela bergadang tiap malam demi mendapatkan nilai yang tinggi jangan khawatir karena disini saya akan berbagi sedikit ilmu mengenai pemograman bahasa C++ yang berjudul FUNGSI lengkap dengan soal dan jawaban, Untuk analisanya silahkan di olah sendiri ya, Oke langsung saja turunkan kursornya kebawah dan silahkan lihat dimana yang sobat perlukan, Semoga bermanfaat.

FUNGSI
  1. Dapat memecah program dalam fungsi fungsi yang sederhana.
  2. Dapat menjelaskan tentang pemrograman terstruktur.
  3. Dapat Mengetahui perbedaan antara variabel lokal, eksternal, statis dan register


Dalam banyak literatur, variabel lokal disebut juga dengan variabel otomatis.  Variabel yang termasuk dalam golongan ini bisa dideklarasikan dengan menambahkan kata kuci auto di depan tipe-data variabel.  Kata kunci ini bersifat opsional, biasanya disertakan sebagai penjelas saja.  

A. Tujuan Instruksional Khusus

B.  Dasar Teori
Fungsi adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya.  Elemen utama dari program bahasa C berupa fungsi-fungsi, dalam hal ini program dari bahasa C dibentuk dari kumpulan fungsi pustaka (standar) dan fungsi yang dibuat sendiri oleh pemrogram.  Fungsi banyak digunakan pada program C dengan tujuan :
a.       Program menjadi terstruktur, sehingga mudah dipahami dan mudah dikembangkan.  Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-fungsi, maka fungsi utama (main()) menjadi lebih pendek, jelas dan mudah dimengerti.
b.      dapat  mengurangi pengulangan (duplikasi) kode.  Langkah-langkah program yang sama dan dipakai berulang-ulang di program dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi-fungsi.  Selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak perlu selalu menuliskannya, tetapi cukup memanggil fungsi-fungsi tersebut.

1.            Dasar Fungsi
Fungsi standar C yang mengemban tugas khusus contohnya adalah ;
§  printf() , yaitu untuk menampilkan informasi atau data ke layar.
§  scanf() , yaitu untuk membaca kode tombol yang diinputkan.

Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut sebagai argumen. Nilai masukan ini akan diolah oleh fungsi.  Hasil akhir fungsi berupa sebuah nilai (disebut sebagai return value atau nilai keluaran fungsi).  Oleh karena itu fungsi sering digambarkan sebagai "kotak gelap" seperti ditunjukkan pada gambar di bawah ini.
Penggambaran sebagai kotak gelap di antaranya menjelaskan bahwa bagian dalam fungsi bersifat pribadi bagi fungsi.  Tak ada suatu pernyataan di luar fungsi yang bisa mengakses bagian dalam fungsi, selain melalui parameter (atau variabel eksternal yang akan dibahas belakangan).  Misalnya melakukan goto dari pernyataan di luar fungsi ke pernyataan dalam fungsi adalah tidak diperkenankan.
§  tipe-keluaran-fungsi, dapat berupa salah satu tipe data C, misalnya char atau int . Kalau penentu tipe tidak disebutkan maka dianggap bertipe int (secara default).
§  tubuh fungsi berisi deklarasi variabel (kalau ada) dan statemen-statemen yang akan melakukan tugas yang akan diberikan kepada fungsi yang bersangkutan.  Tubuh fungsi ini ditulis di dalam tanda kurung kurawal buka dan kurung kurawal tutup.

Sebuah fungsi yang sederhana bisa saja tidak mengandung parameter sama sekali dan tentu saja untuk keadaan ini deklarasi parameter juga tidak ada. Contoh ;
inisialisasi()            
{
return(0);
}

Pada fungsi di atas :
§  tipe keluaran fungsi tidak disebutkan, berarti keluaran fungsi ber tipe int.
§  inisialisasi adalah nama fungsi
§  Tanda () sesudah nama fungsi menyatakan bahwa fungsi tak memiliki parameter.
§  Tanda { dan } adalah awal dan akhir fungsi
§  return(0) merupakan sebuah pernyataan dalam tubuh fungsi.




inisialisasi()         
{
return(0);
}

Gambar 2 Penjelasan definisi sebuah fungsi

2. Memberikan Nilai Keluaran Fungsi
Suatu fungsi dibuat untuk maksud menyelesaikan tugas tertentu. Suatu fungsi dapat hanya melakukan  suatu tugas saja tanpa memberikan suatu hasil keluaran atau melakukan suatu tugas dan kemudian memberikan hasil keluaran. Fungsi yang hanya melakukan suatu tugas saja tanpa memberikan hasil keluaran misalnya adalah fungsi untuk menampilkan hasil di layar.
Dalam tubuh fungsi, pernyataan yang digunakan untuk memberikan nilai keluaran fungsi berupa return. Sebagai contoh, pada fungsi inisialisasi() di atas terdapat pernyataan
return(0);
merupakan pernyataan untuk memberikan nilai keluaran fungsi berupa nol. Selengkapnya perhatikan program di bawah ini

/* File program : inisial.c
Contoh pembuatan fungsi */

int inisialisasi();

#include

void main()
{
     int x, y;
    
     x = inisialisasi();
     printf("x = %d\n", x);
     y = inisialisasi();
     printf("y = %d\n", y);
}
int inisialisasi()
{
     return(0);
}

Contoh eksekusi :

x = 0
y = 0

Program di atas sekaligus menjelaskan bahwa suatu fungsi cukup didefinisikan satu kali tetapi bisa digunakan beberapa kali. Pada keadaan semacam ini seandainya tubuh fungsi mengandung banyak pernyataan, maka pemakaian fungsi dapat menghindari duplikasi kode dan tentu saja menghemat penulisan program maupun kode dalam memori.
 
 Misalnya pada saat pernyataan 

x = inisialisasi();

dijalankan, mula-mula eksekusi akan diarahkan ke fungsi inisialisasi(), selanjutnya suatu nilai keluaran (hasil fungsi) akhir fungsi diberikan ke x. Proses yang serupa, dilakukan untuk pernyataan
y = inisialisasi();

Bagi suatu fungsi, jika suatu pernyataan return dieksekusi, maka eksekusi terhadap fungsi akan berakhir dan nilai pada parameter return akan menjadi keluaran fungsi. Untuk fungsi yang tidak memiliki pernyataan return, tanda } pada bagian akhir fungsi akan menyatakan akhir eksekusi fungsi.
            Di bawah ini diberikan contoh sebuah fungsi yang mengandung dua buah pernyataan return.  Fungsi digunakan untuk memperoleh nilai minimum di antara 2 buah nilai yang menjadi parameternya.

int minimum(int x, int y)
{
          if (x < y)
              return(x);
     else     
              return(y);
}

Pada fungsi di atas terdapat dua buah parameter berupa x dan y.  Oleh karena itu fungsi juga mengandung bagian untuk mendeklarasikan parameter, yang menyatakan x dan y bertipe int.  Adapun penentuan nilai keluaran fungsi dilakukan pada tubuh fungsi, berupa pernyataan

     if (x < y)
          return(x);
     else     
          return(y);

yang menyatakan :
§  jika x < y maka nilai keluaran fungsi adalah sebesar nilai x.
§  untuk keadaan lainnya (x >= y) maka keluaran fungsi adalah sebesar y.
Selengkapnya perhatikan program di bawah ini.

/* File program : minimum1.c */

#include

int minimum (int, int);

main()
{
     int a, b, kecil;

     printf("Masukkan nilai a : ");
     scanf("%d", &a);
     printf("Masukkan nilai b : ");
     scanf("%d", &b);
    
     kecil = minimum(a, b);
     printf("\nBilangan terkecil antara %d dan %d adalah
%d\n\n", a, b, kecil);
}

int minimum(int x, int y)
{
     if (x < y)
          return(x);
     else     
          return(y);
}

Contoh eksekusi :

Masukkan nilai a = 4
Masukkan nilai b = 2

Bilangan terkecil antara 4 dan 2 adalah 2

3.  Parameter formal dan Parameter Aktual
Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. Pada contoh program di atas misalnya, maka dalam fungsi jumlah() variabel x dan y dinamakan sebagai parameter formal.  Adapun parameter aktual adalah parameter (tidak selalu berupa variabel) yang dipakai dalam pemanggilan fungsi. a dan b merupakan parameter aktual dari fungsi jumlah() dalam hal ini parameter berupa variabel.  Demikian juga 20.1 dan 45.6 adalah parameter aktual, dalam hal ini berupa konstanta.  Bahkan bisa juga parameter aktual berupa ungkapan yang melibatkan operator, 

4.Variabel Lokal
Variabel lokal adalah variabel yang dideklarasikan dalam fungsi, dengan sifat :

*secara otomatis diciptakan ketika fungsi dipanggil dan akan sirna (lenyap) ketika eksekusi terhadap fungsi berakhir.
*Hanya dikenal oleh fungsi tempat variabel tersebut dideklarasikan
*Tidak ada inisialisasi secara otomatis (saat variabel diciptakan, nilainya tak menentu).

Penerapan variabel lokal yaitu bila variabel hanya dipakai oleh suatu fungsi (tidak dimaksudkan untuk dipakai oleh fungsi yang lain).  Pada contoh berikut, antara variabel i dalam fungsi main() dan fung_1() tidak ada kaitannya, sebab masing-masing merupakan variabel lokal.

/* File program : lokal.c */
#include
void fung_1(void);
main()
{
    int i = 20;
    fung_1();
    printf("nilai i di dalam main()   = %d\n", i);
}
void fung_1(void)
{
    int i = 11;
    printf("nilai i di dalam fung_1() = %d\n", i);
}

Contoh eksekusi :

nilai i di dalam fung_1() = 11
nilai i di dalam main()   = 20

5.Variabel Eksternal
Variabel eksternal merupakan variabel yang dideklarasikan di luar fungsi, dengan sifat :
§  dapat diakses oleh semua fungsi
§  kalau tak diberi nilai, secara otomatis diinisialisasi dengan nilai sama dengan nol.

Contoh variabel eksternal ada pda program ekstern1.c yaitu berupa variabel i. Pada pendeklarasian

int i = 273;

menyatakan bahwa i merupakan variabel eksternal dan diberi nilai awal sama denan 273.  Nilai dari variabel i selanjutnya dapat diubah oleh fungsi tambah() maupun main().  Setiap fungsi tambah() dipanggil maka nilai i akan bertambah satu.

/* File program : ekstern1.c
Contoh program dengan variabel eksternal */

#include

int i = 273;            /* variabel eksternal */
void tambah(void);

void main()
{
     printf("Nilai awal i = %d\n", i);
     i += 7;
     printf("Nilai i kini = %d\n", i);
     tambah();
     printf("Nilai i kini = %d\n", i);
     tambah();
     printf("Nilai i kini = %d\n", i);
}
void tambah(void)
{
     i++;
}

Contoh eksekusi :

Nilai awal i = 273
Nilai i kini = 280
Nilai i kini = 281
Nilai i kini = 282

Pada contoh di atas, terlihat bahwa i hanya dideklarasikan di bagian atas program, dan tak dideklarasikan lagi dalam fungsi main() maupun tambah()Oleh karena i merupakan variabel eksternal maka dapat digunakan oleh kedua fungsi tsb.  Namun ada satu hal yang perlu diketahui, variabel eksternal haruslah dideklarasikan sebelum definisi fungsi yang akan mempergunakannya.
            Untuk memperjelas bahwa suatu variabel dalam fungsi merupakan variabel eksternal, di dalam fungsi yang menggunakannya dapat mendeklarasikan variabel itu kembali dengan menambahkan kata kunci extern di depan tipe data variabel.  Sebagai contoh, program ekstern1.c ditulis kembali menjadi seperti pada ekstern2.c.

/* File program : ekstern2.c
Contoh program yang menggunakan variabel eksternal dan memakai kata kunci extern */

#include

int i = 273;            /* variabel eksternal */

void tambah(void);

main()
{
     extern int i;      /* variabel eksternal */

     printf("Nilai awal i = %d\n", i);
     i += 7;
     printf("Nilai i kini = %d\n", i);
     tambah();
     printf("Nilai i kini = %d\n", i);
     tambah();
     printf("Nilai i kini = %d\n", i);
}

void tambah(void)
{
     extern int i;      /* variabel eksternal */

     i++;
}

Contoh eksekusi :

Nilai awal i = 273
Nilai i kini = 280
Nilai i kini = 281
Nilai i kini = 282







6. Variabel Statis
Variabel statis dapat berupa variabel internal (didefinisikan di dalam fungsi) maupun variabel eksternal.  Sifat variabel ini :
§  Kalau variabel statis bersifat internal, maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan
§  Kalau variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama, tempat variabel statis dideklarasikan
§  Berbeda dengan variabel lokal, variabel statis tidak akan hilang sekeluarnya dari fungsi (nilai pada variabel akan tetap diingat).
§  Inisialisasi akan dilakukan hanya sekali, yaitu saat fungsi dipanggil yang pertama kali.  Kalau tak ada inisialisasi oleh pemrogram secara otomatis akan diberi nilai awal nol
Variabel statis diperoleh dengan menambahkan kata kunci static di depan tipe data variabel. Sebagai contoh perhatikan program di bawah ini.
/* File program : statis.c
Contoh variabel statis */
#include
void fung_y(void);
void main()
{
   int y = 20;
   fung_y();
   fung_y();
   printf("Nilai y dalam main()   = %d\n", y);
}
void fung_y(void)
{
   static int y;
   y++;
   printf("Nilai y dalam fung_y() = %d\n", y);
}
Contoh eksekusi :

Nilai y dalam fung_y() = 1
Nilai y dalam fung_y() = 2
Nilai y dalam main()   = 20

7. Variabel Register
            Variabel register adalah variabel yang nilainya disimpan dalam register dan bukan dalam memori RAM.  Variabel yang seperti ini hanya bisa diterapkan pada variabel yang lokal atau parameter formal, yang bertipe char atau int.  Variabel register biasa diterapkan pada variabel yang digunakan sebagai pengendali loop.  Tujuannya untuk mempercepat proses dalam loop.  Sebab variabel yang dioperasikan pada register memiliki kecepatan yang jauh lebih tinggi daripada variabel yang diletakkan pada RAM.  Contoh pemakaiannya bisa dilihat pada program di bawah ini.
/* File program : var_reg.c
Contoh variabel register */
#include

void main()
{
   register int i;           /* variabel register */
   int jumlah = 0;
   for(i = 1; i <= 100; i++)
       jumlah = jumlah + i;
   printf("1 + 2 + 3 + ... + 100 = %d\n", jumlah);
}

Contoh eksekusi :

1 + 2 + 3 + ... + 100 = 5050

C.  Daftar Alat dan Bahan.
1.      CPU
2.      Monitor
3.      Keyboard
4.      Mouse
5.      Printer
6.      Job Sheet Praktikum

D. Langkah Kerja.
1.      Menghidupkan  Komputer sampai menyala dan mengeluarkan layar Windows.
2.      Mengeklik Tombol Start pada ujung kiri bawah monitor.
3.      Memilih All Program.
4.      Mengeklik pada Program DEV C++
5.      Jika Layar DEV C++  sudah keluar, Kemudian mengeklik  File.
6.      Kemudian memilih News untuk membuka Program baru, atau open untuk membuka file program yang sudah dibuat sebelumnya.
7.      Mengetik Program sesuai dengan di data program.
8.      Setelah selesai pengetikan, kemudian memilih file dan mengesave as program tersebut dengan nama file sesuai keinginan.
9.      Meng Compile program tersebut  atau menekan tombol F9 untuk melihat kebenaran pengetikan program dan untuk mengubah file dengan extension .cpp menjadi file .hex, .bin dan. .obj.
10.  Setelah sukses mengcompile maka memilih run atau menekan tombol F10 untuk menjalankan program tersebut.
11.  Jika hasilnya sudah tampil pada layar monitior maka mencatat, kemudian analisa hasil percobaan tersebut.
12.  Untuk langkah berikutnya mengulang langkah – langkah diatas.


E. Data Program
1..  Menentukan faktor pembagi terbesar dari 2 bilangan bulat positif.
/* File program : fpb1.c */
#include

void fpb(int, int);

main()
{
    fpb(150, 35);
    fpb(1026, 405);
    fpb(83, 240);
}

void fpb(int u, int v)
{
    int tampung;

    printf("FPB dari %d dan %d adalah ", u, v);
    while(v != 0)
    {
        tampung = u % v;
        u = v;
        v = tampung;
    }
    printf("%d\n", u);
}

2. Menghitung nilai absolut
/* File program : absolut.c */
#include
float nilai_absolut(float);

main()
{
  float f1 = -15.5f, hasil;

  hasil = nilai_absolut(f1);
  printf("Nilai absolut dari %g adalah %g\n", f1, hasil);
  printf("Nilai absolut dari -6/4 adalah %g\n",
      nilai_absolut((-6)/4));
}

float nilai_absolut(float x)
{
  if(x < 0)
      x = -x;

  return(x);
}



3. Fungsi dengan keluaran bertipe float.
/* File program : minimum.c */
#include

float minimum (float, float);

main()
{
    float a, b, kecil;

    printf("Masukkan nilai a : ");
    scanf("%f", &a);
    printf("Masukkan nilai b : ");
    scanf("%f", &b);
   
    kecil = minimum(a, b);
    printf("\nBilangan terkecil antara %g dan %g adalah %g\n\n", a, b, kecil);
}

float minimum(float x, float y)
{
    if (x < y)
        return(x);
    else      
        return(y);
}

4.  Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua bilangan.
/* File program : tukar.c */
#include

void tukar (int, int);

main()
{
  int a,b;
 
  a=88;
  b=77;
  printf("Nilai sebelum pemanggilan fungsi\n");
  printf("a = %d    b = %d\n", a, b);
 
  tukar(a,b);
 
  printf("\nNilai setelah pemanggilan fungsi\n");
  printf("a = %d    b = %d\n", a, b);
}

void tukar(int x, int y)
{
  int z;
 
  z = x;
  x = y;
  y = z;
 
    printf("\nNilai di akhir fungsi tukar()\n");
  printf("x = %d    y = %d\n", x, y);
}


5. Ilustrasi variabel auto dan static.
/* File program : auto.c */
#include

void demo(void);         /* ANSI function prototypes */

main()
{
  int i=0;
 
  while(i < 3) {
      demo();
      i++;
  }
}

void demo(void)
{
  auto int var_auto = 0;
  static int var_static = 0;
 
  printf("auto = %d, static = %d\n", var_auto, var_static);
  ++var_auto;
  ++var_static;
}




F. SOAL
1. Apa hasil eksekusi dari program berikut :
/* File program : lat1.c */
#include

void fung_a(void);
void fung_b(void);

int x = 20;

main()
{
  x += 2;
  fung_a();
  fung_a();
  printf("\nNilai x dalam main() = %d\n\n", x);
}

void fung_a(void)
{
  static x = 5;
  x++;
  printf("Nilai x dalam fung_a() = %d\n", x);
  fung_b();
}

void fung_b(void)
{
  x--;
  printf("Nilai x dalam fung_b() = %d\n", x);
}

HASILNYA
2. Buatlah suatu fungsi ganjil() yang mengembalikan nilai 1 jika argumen yang diberikan adalah bilangan ganjil dan mengembalikan nilai 0 jika argumen tsb bukan bilangan ganjil.
JAWAB :

     #include
    int angka (int,int);
    void main()
    {
         int x,y, ganjil;
        printf("masukkan nilai x: ");
        scanf("%d", &x);
        printf("masukkan nilai y: ");
        scanf("%d", &y);
        ganjil = angka (x,y);
        printf("bilangan ganjil antara %d dan %d adalah %d\n\n",x,y,ganjil);
    }
         int angka(int a, int b) { if (a > b) return(a);
        else return(b);
        if (a < b) return(b);
        else return(a);
    }
HASILNYA


3. Buatlah program untuk menghitung faktorial dengan menggunakan 2 fungsi (main() dan faktorial()).  Fungsi faktorial() memberikan return value bertipe long int yang akan dicetak ke layar dalam fungsi main(). 
JAWAB :

#include
long int faktorial (int);
int main()
{
    int bil;
    printf ("Masukan Bilangan = ");
    scanf ("%d",&bil);
    printf("=%d\n",faktorial(bil));
}
long int faktorial (int x)
{
    int i=x, hasil = 1;
    while(i>0)
    {
    printf ("%d",i);
    if(i>0)
    printf("*");
    hasil*=i;
    i--;
    }
    return hasil;
}



Hasilnya



4. Apa hasil eksekusi dari program berikut :
#include

void ubah(int);

main()
{
  int x;

  printf("Masukkan nilai x : ");
  scanf("%d", &x);
  ubah(x);
  printf("x = %d\n", x);
}

void ubah(int y)
{
  y = 85;
}
JAWAB





Daftar Pustaka



Itulah sedikit ulasan mengenai Fungsi dari bahasa C++, semoga bermanfaat bagi kita semua, Dan bila ada kekurangan atau dalam hal laiinya silahkan berikan masukan anda dikolom komentar atau klik di menu Contac Us disana terdapat beberapa pilihan akun media sosial yang saya gunakan. Dan terimaksih banyak atas kunjungan  nya, Baca juga artikel menarik laiinya : BEBERAPA SISTEM OPERASI PADA MOBILE SERTA KELEBIHAN DAN KEKURANGANNYA.
        


Anonymous

Terimakasih telah berkunjung ke web saya, jika ada yang ingin ditanyakan silahkan tinggalkan komentar atau kirim email ke saifulfuaadi@gmail.com

1 comment: