Wednesday, October 10, 2018

Repetisi (Repetition)

Nah dalam pembahasan kali ini, kita akan membahas sekilas tentang "Repetisi" dalam Bahasa pemrograman Bahasa C.

Jadi, apa itu repetisi ? Dan apa sajakah operasi fungsi dalam repetisi yang dapat kita gunakan? Langsung saja kita mulai !


*Definisi Repetisi (Repetition)

- Repetisi adalah pengulangan instruksi yang dilakukan berkali- kali.
- Jumlah repetisi dapat didefinisikan saat program berjalan.


*Operasi Repetisi atau Looping terdapat 3 macam, yaitu :

- for
- while
- do- while


A. Repetisi : FOR


1. Syntax "For"



for(exp1; exp2; exp3) statement;
or:
for(exp1; exp2; exp3){
  statement1;
  statement2;
  …….
 }
exp1 :  initialization
exp2 :  conditional
exp3 :  increment or decrement
exp1, exp2 and exp3 are optional



2. Flow Chart "For"



3. Contoh program yang menggunakan "For"
    
    A. Print nomor dari 1 sampai 10
        
           #include<stdio.h>
             int main()
            {
          int x;
          for( x = 1 ;  x <= 10 ;  x++ ) printf( "%d\n", x );
          return(0);
          }

   B. Print nomor dari 10 sampai 1


         #include<stdio.h>
         int main()
        {
        int x;
        for( x = 10 ;  x >= 1 ;  x-- ) printf( "%d\n", x);
        return(0);
        }


B. Repetisi : While




1. Syntax "While"

   
while (exp) statements;
or:
while(exp){
  statement1;
  statement2;
   …..
}




2. Flow Chart "While"

   


C. Repetisi " Do- While "


1. Syntax " Do- While "
do{

    < statements >;

} while(exp);




2. Flow Chart " Do While "


Pointer dan Array


Pointer adalah sebuah variable yang mengakses alamat variable lain.

Contoh pointer :
int i, *ptr;
ptr = &I;


Array adalah sebuah data yang mempunyai data variable yang sama.

Contoh array : int A[10];


Function dan Recursion


Rekursif dalam algoritma C atau C++, Rekursi merupakan sebuah fungsi yang terdapat pada bahasa pemrograman yang mempunyai ciri khas dapat memanggil dirinya sendiri.
Proses pemanggilan pada rekursi dilakukan dengan berulang-ulang.
karena proses dalam rekursif di panggil secara berulang - ulang maka harus ada suatu kondisi yang membatasi (termination Condition) pengulangan tersebut agar perulangan dapat berhenti. apabila tidak ada suatu pembatas (termination Condition), Maka proses pengulangan akan terus berulang dan tidak akan pernah berhenti, kecuali memori yang digunakan untuk menampung tidak dapat menampung data lagi atau penuh.

Apa Perbedaan Fungsi dengan Rekursif ?
Perbedaan antara Fungsi dan Rekursif adalah Rekursif dapat memanggil dirinya sendiri sedangkan Fungsi atau Prosedur tidak dapat memanggil dirinya sendiri, melainkan harus dipanggil melalui pemanggil prosedur atau fungsi.


Contoh Rekursi :
int factorial (int n){
   if(n==1){
      return 1;    }
else {
      return n*factorial(n-1);   
}
}




Structures dan Unions


Struktur adalah sebuah tipe data yang menyimpan berbagai macam tipe data.

Nested Struktur adalah struktur yang salah satu elemennya merupakan struktur.

Union digunakan untuk memory join. Dengan menggunakan union, sebuah memory location dapat diakses dengan menggunakan 2 atau lebih variable dengan tipe data yang berbeda.

Contoh Structure :

struct mhs{

  char nim[9];

  char name[26];

  float gpa;

};


File Processing


Pada dasarnya, operasi file terbagi 3 jenis. Read (R), Write(W), dan Append(A). Read artinya membaca isi file, write menulis data ke file dan append menambahkan data ke baris terakhir dalam file.

Parameter ModeArti
rMembuka file sesuai namafilenya untuk dibaca, jika file tidak ada maka akan bernilai NULL.
wMembuka file untuk ditulis, jika sebelumnya sudah ada nama file yang sama, maka akan dilakukan overwrite/menimpa file dengan yang baru.
aMembuka file sesuai namafilenya untuk ditambahkan datanya dipaling bawah baris terakhir. Jika file tidak ada, maka akan membuat file baru secara otomatis.
r+Sama dengan “r” tetapi selain file dapat dibaca juga dapat di tulis
w+Sama dengan “w” tetapi selain file dapat ditulis juga dapat dibaca
a+Sama dengan ”a” tetapi selain file dapat ditulis file juga dapat dibaca



Sorting dan Searching


Macam - macam Sorting

a) Selection sort
Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada posisinya,
kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan
seterusnya.


b) Bubble sort
Bubble sort adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat

c) Insertion sort
Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila
ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan
pada posisi yang sesuai.

d) Merge sort
Metode penggabungan biasanya digunakan pada pengurutan berkas

e) Quick sort
Quicksort dimulai dengan menscan daftar yang disortir untuk nilai median. Nilai ini, yang disebut tumpuan (pivot), kemudian dipindahkan ke satu sisi pada daftar dan butir-butir yang nilainya lebih besar dari tumpuan di pindahkan ke sisi lain.

Macam- macam searching

a) Linear Searching
Algoritma pencarian secara linear adalah algoritma untuk mencari sebuah nilai pada table sambarang dengan cara melakukan pass atau transversal.

b) Binary Searching
Algoritma ini mencari nilai yang dicari dengan tiga langkah yaitu :
• Mencari nilai tengah dari tabel (median)
• Melakukan perbandingan nilai tengah
dengan nilai yang dicari untuk menentukan
apakah nilai yang dicari ada pada sebelum
atau setelah nilai tengah
• Mencari setengah sisanya dengan cara yang
sama.




No comments:

Post a Comment