Contoh UAS Algoritma Dan Pemrograman 2019!!


A.    Pointer
1.      Jelaskan apa yang anda ketahui tentang pointer!
2.      Apa tujuan dari pengunaan pointer!
3.      Jelaskan bagaimana cara deklarasi pointer!
4.      Buatlah program Sederhana yang mengimplementasikan pointer! Berikan penjelasan anda tentang program tersebut

B.     Function
1.       Jelaskan Apa yang anda ketahui tentang Function!
2.      Apa itu parameter formal dan apa itu parameter aktual!
3.      Sebut dan jelaskan cara melewatkan parameter! Jelaskan dengan contoh program sederhana!
4.      Apa yang dimaksud dengan variabel global, lokal, statis dan register!
5.      Apa yang anda ketahui tentang fungsi rekursif, jelaskan!

C.     Operasi File
1.      Buatlah program sederhana berkaitan tentang write dan read dalam operasi file!

            Jawab :
A.    1. Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu    variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori.
2. Tujuan dari penggunaan pointer adalah untuk menyimpan alamat memori dari sebuah variabel (data type atau object dari class), serta untuk menyimpan alamat dari sebuah fungsi (function pointer).
3. Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih     dahulu sebelum digunakan. Bentuk Umum :

Tipe_data *nama_pointer;

Tipe data pointer mendefinisikan tipe dari obyek yang ditunjuk oleh pointer. Secara teknis, tipe apapun dari pointer dapat menunjukkan lokasi (dimanapun) dalam memori. Bahkan operasi pointer dapat dilaksanakan relatif terhadap tipe dasar apapun yang ditunjuk. Contoh, ketika kita mendeklarasikan pointer dengan tipe int*, compiler akan menganggap alamat yang ditunjuk menyimpan nilai integer - walaupun sebenarnya bukan (sebuah pointer int* selalu menganggap bahwa ia menunjuk ke sebuah obyek bertipe integer, tidak peduli isi sebenarnya). Karenanya, sebelum mendeklarasikan sebuah pointer, pastikan tipenya sesuai dengan tipe obyek yang akan ditunjuk.
4.      #include
#include

int main()
{
    int I=21,F;
    int*IF;
    F=I;//nilai variabel F di isi nilai variabel I
    IF=&I;//pointer IF menuju alamat memori variabel I
    //sekarang alamat memori variabel I dan IF sama
    *IF=16;//alamat memori pointer IF di isi 16, sekarang IF bernilai 16
    //pengisian nilai pointer IF langsung melalui alamat memorinya

    printf("nilai dari IF=%d\n",*IF);
    printf("nilai dari I=%d\n",I);
    printf("nilai dari F=%d\n",F);
    return 0;
}



 







B.     1. Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang memanggilnya. Fungsi merupakan elemen utama dalam bahasa C karena bahasa C sendiri terbentuk dari kumpulan fungsi-fungsi.
2. Parameter Formal adalah variabel yang ada pada daftar parameter           dalam definisi fungsi.
           Parameter Aktual adalah variabel (parameter) yang dipakai dalam       pemanggilan fungsi.
3.
·         Pemanggilan parameter dengan nilai telah kita praktekkan pada tulisan sebelumnya khususnya pada tulisan tentang parameter formal dan aktual. Pada pemanggilan dengan nilai, kita hanya menyalin nilai dari parameter aktual ke parameter formal tanpa mengubah nilai pada parameter aktual tersebut. Dengan cara ini parameter aktual tidak akan berubah meskipun nilai pada parameter formal berubah-ubah.
#include
void tukar(int,int);
int main ()
{
int a=5;
int b=9;
printf(“nilai sebelum pemanggilan fungsi :n”);
printf(“a = %d dan b = %d”,a,b);
tukar(a,b);
printf(“nilai setelah pemanggilan fungsi :n”);
printf(“a = %d dan b = %d”,a,b);
return 0 ;
}
void tukar(int x, int y)
{
int z;
z = x;
x = y;
y = z;
printf(“nilai diakhir fungsi tukar() :n”);
printf(“x = %d dan y = %d”,x,y);
}
·         Pemanggilan dengan referensi merupakan upaya untuk melewatkan alamat dari suatu variabel kedalam fungsi. Dengan cara ini kita bisa mengubah isi sebuah variabel diluar fungsi dengan rutin program didalam fungsi. Untuk melakukannya kita memerlukan sebuah variabel pointer, yaitu sebuah variabel yang dipakai untuk penunjuk ke variabel lain atau lebih jelasnya variabel pointer adalah variabel yang berisi alamat dari variabel lain.

#include
void tukar(int *px, int *py);
int main ()
{
int a=5;

int b=9;
printf(“nilai sebelum pemanggilan fungsi :n”);
printf(“a = %d dan b = %dnn”,a,b);
tukar(&a,&b);
printf(“nilai setelah pemanggilan fungsi :n”);
printf(“a = %d dan b = %d”,a,b);
return 0 ;
}
void tukar(int *px, int *py)
{
int z;
z = *px;
*px = *py;
*py = z;
printf(“nilai diakhir fungsi tukar() :n”);
printf(“*px = %d dan *py = %dnn”, *px, *py);
}

4. Variabel global (eksternal)
          Variabel global (eksternal) adalah variabel yang dideklarasikan di luar fungsi. Sifat        sifat variabel global :
·         Dikenal (dapat diakses) oleh semua fungsi.
·         Jika tidak diberi nilai awal secara otomatis berisi nilai nol.
·         Dideklarasikan dengan menambahkan kata “extern” (opsional).

Variabel lokal
           Variabel lokal adalah variabel yang dideklarasikan di dalam fungsi. Sifat-sifat               variabel lokal :
·         Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan lenyap ketika proses eksekusi terhadap fungsi berakhir.
·         Hanya dikenal oleh fungsi tempat variabel dideklarasikan
·         Tidak ada inisialisasi secara otomatis (saat variabel diciptakan nilainya random).
·         Dideklarasikan dengan menambahkan kata “auto” (opsional).







Variabel Statis
             Variabel statis adalah variabel yang nilainya tetap dan bisa berupa variabel local (internal) dan variabel global (eksternal). Sifat-sifat variabel statis :
Ø  Jika bersifat internal (lokal), maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan.
Ø  Jika bersifat eksternal (global), maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada program yang sama.
Ø  Nilai variabel statis tidak akan hilang walau eksekusi terhadap fungsi telah berakhir.
Ø  Inisialisasi hanya perlu dilakukan sekali saja, yaitu pada saat fungsi dipanggil pertama kali.
Ø  Jika tidak diberi nilai awal secara otomatis berisi nilai nol.
Ø  Dideklarasikan dengan menambahkan kata “static”.

Variabel Register
Variabel Register adalah variabel yang nilainya disimpan dalam register dan bukan dalam memori RAM. Sifat-sifat variabel register :
Ø  Hanya dapat diterapkan pada variabel lokal yang bertipe int dan char.
Ø  Digunakan untuk mengendalikan proses perulangan (looping).
Ø  Proses perulangan akan lebih cepat karena variabel register memiliki kecepatan yang lebih tinggi dibandingkan variabel biasa.
Ø  Dideklarasikan dengan menambahkan kata “register”.

5. Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri secara langsung ataupun tidak, dan proses pemanggilannya itu disebut rekursi. Masalah yang dapat diselesaikan secara rekursif adalah masalah yang dibagi menjadi satu atau lebih masalah – masalah serupa yang lebih kecil.


C.      
Program write and read
#include
#include

int main()
{
   int num;
   FILE *fptr;
   fptr = fopen("C:\\program.txt","w");

   if(fptr == NULL)
   {
      printf("Error!");  
      exit(1);            
   }

   printf("Enter num: ");
   scanf("%d",&num);

   fprintf(fptr,"%d",num);
   fclose(fptr);

   return 0;
}

Hasil program akan berupa sebuah notepad yang nantinya bisa di baca dengan program read


Setelah menggunakan program write untuk membacanya menggunakan program read dengan program yaitu





#include
#include

int main()
{
   int num;
   FILE *fptr;

   if ((fptr = fopen("C:\\program.txt","r")) == NULL){
       printf("Error! opening file");

       // Program exits if the file pointer returns NULL.
       exit(1);
   }

   fscanf(fptr,"%d", &num);

   printf("Value of n=%d", num);
   fclose(fptr);

   return 0;
}


Dengan hasil program

Yang membaca program write tadi.

Comments