Thursday, October 18, 2018
algo review plok# plok#
Ditulis oleh William Suryadi
NIM 2201742135
15 Desember 2018
A. Selection
Selection adalah konsep pemrograman untuk membuat struktur kendali pemilihan berdasarkan kondisi. Dalam proses seleksi, kondisi yang diuji dapat terdiri dari beberapa kondisi, sehingga membutuhkan operator logical. Logical operator yang sering digunakan yaitu && (AND) dan || (OR).
Dalam bahasa C terdapat 3 jenis selection yaitu :
1. IF ELSE
IF ELSE merupakan struktur kontrol yang menjalankan statement setelah memeriksa suatu kondisi. Jika kondisi benar, maka statement dijalankan. Jika tidak benar, maka statement lain dijalankan.
Struktur code:
if ( <<kondisi1>> )
{ <<statement1>>; }
else if ( <<kondisi2>> )
{ <<statement2>>; }
else
{ <<statement3>>; }
2. SWITCH CASE
SWITCH CASE merupakan struktur kontrol yang multipleselection.
Struktur code:
switch ( <<variabel>> )
{ case << nilai1 >> :
<< statement1 >>;
break;
case << nilai2 >> :
<< statement2 >>;
break;
default :
<< statement3 >>; }
B. Repetition
Repetition merupakan konsep pemrograman untuk membuat struktur kendali perulangan jika memenuhi suatu kondisi. Perulangan dalam bahasa C dapat menggunakan 3 cara, yaitu :
1. FOR
Perulangan FOR digunakan jika jumlah perulangan sudah diketahui.
Struktur code :
for ( <<ekspresi1>>; <<ekspresi2>>; <<ekspresi3>>)
{ <<statement>>; }
Contoh: for (int i=0; i<5; i++)
{ printf(“%d\n”, i); }
Hasil:
0
1
2
3
4
2. WHILE
WHILE digunakan jika jumlah perulangan belum diketahui dan disesuaikan terhadap kondisi. Perulangan WHILE akan tidak dijalankan sama sekali jika kondisi tidak terpenuhi sejak awal.
Struktur code:
while ( <<kondisi>> )
{ <<statement>>; }
Contoh:
int angka = 1;
while (angka<4)
{ printf(“%d\n”, angka);
angka++; }
Hasil: 1 2 3
3. DO WHILE
DO WHILE digunakan jika jumlah perulangan belum diketahui dan disesuaikan terhadap kondisi. Perulangan DO WHILE akan menjalankan statement terlebih dahulu sebelum memeriksa kondisi.
Struktur code:
do { <<statement>>; }
while ( <<kondisi>> );
Contoh:
int angka = 1;
do { printf(“%d\n”, angka);
angka++; }
while (angka<5);
Hasil:
1
2
3
4
C. Array
Array adalah sekumpulan data dengan tipe data dan nama variabel yang sama. Elemen dalam array diakses melalui indeks. Indeks dalam array dimulai dari indeks ke-0.
Array dapat dibuat dalam 1 dimensi dan lebih dari 1 dimensi. Contoh kasus penggunaan array adalah penyimpanan nilai 30 mahasiswa. Jika menggunakan array, kita dapat menampung nilai 30 mahasiswa tersebut dalam 1 variabel. Array juga diterapkan dalam pembentukan string yaitu menggunakan array of char.
Contoh :
int nilai [30];
nilai[0] = 90;
nilai[1] = 100;
int angka[2][3] = {{1,2,3}, {4,5,6}};
angka [1][2]=100;
char nama[50] = “Anto”;
D. Pointer
Ketika membuat variabel, maka variabel tersebut akan dialokasikan dalam memori komputer. Di dalam memori komputer, setiap variabel memiliki alamat.
Pointer adalah tipe data yang berisi alamat variabel lain. Pointer ditunjukkan dengan simbol *, sedangkan alamat variabel menggunakan simbol &.
Contoh: Nama variabel angka ptr Isi variabel 100 123 Alamat 123 789
Code:
int angka = 100;
int *ptr;
ptr = &angka;
*ptr = 30;
E. Function
Function adalah modul-modul dari code. Function memiliki return type, parameter dan isi. Return type merupakan tipe data yang akan dikembalikan dari function tersebut. Parameter digunakan untuk passing data antar function.
Parameter terdiri dari 2 jenis yaitu parameter formal dan aktual. Parameter formal adalah parameter pada saat pembuatan function. Parameter aktual adalah parameter pada saat pemanggilan function.
Passing parameter dalam function terdiri dari 3 jenis, yaitu:
1. Passing by value. Passing by value yaitu tipe passing parameter yang hanya mengirimkan nilai pada parameter aktual tanpa mengubah isi dari data yang terdapat pada parameter aktual.
Contoh:
void print (int a)
{ a = 10;
printf (“%d\n”, a); }
void main ()
{ int a = 5;
print(a); printf(“%d\n”, a); }
Hasil:
10
5
2. Passing by pointer.
Passing by pointer adalah mengirimkan alamat dari suatu variabel, parameter aktual menggunakan simbol “&” dan parameter formal menggunakan simbol pointer *. Passing by pointer dapat mengubah nilai dari variabel.
Contoh:
void
print (int *a)
{ *a = 10;
printf (“%d\n”, *a); }
void main ()
{ int a = 5;
print(&a);
printf(“%d\n”, a); }
Hasil:
10
10
3. Passing by reference.
Passing by value adalah mengirimkan varibel melalui parameter aktual, alamat dari variabel akan diakses di parameter formal dengan penggunaan simbol “&”.
Contoh:
void
print (int &a)
{ a = 10;
printf (“%d\n”, a); }
void main ()
{ int a = 5;
print(a);
printf(“%d\n”, a); }
Hasil:
10
10
F. Recursion
Recursion adalah function yang memanggil dirinya sendiri. Recursion dapat digunakan untuk menyelesaikan masalah seperti bilangan fibonacci dan faktorial.
Contoh:
int faktorial (int angka)
{ if (angka==0 || angka==1)
{ return 1; }
else
{ Return n*faktorial(n-1); } }
void main()
{ int angka = 5;
printf(“%d\n”, faktorial(angka)); }
G. File
Operasi file yang akan dibahas yaitu baca dan tulis file. File tersebut akan disimpan dalam bentuk teks. File tersebut akan dibaca dan ditulis melalui program C yang dikembangkan.
Function-function dalam operasi file yang sering digunakan yaitu :
fopen = Mengaktifkan / membuka file
fclose = Menutup file
fscanf = Membaca isi dari file
fprintf = Mencetak ke file
feof = Mendeteksi akhir dari file
Jenis operasi file :
r = read file.
w = write file, jika file ada isi maka akan ditimpa.
a = append file, jika file ada isi maka akan dilanjutkan di bawah.
Baca file :
FILE *read = fopen (“data.txt”, “r”);
char nama[50];
while (!feof(read))
{ fscanf(read, “%[^\n]\n”, nama);
printf(“%s\n”, nama); }
H. Sorting
Sorting adalah algoritma untuk menempatkan data sesuai urutan, baik ascending (kecil ke besar) maupun descending (besar ke kecil). Salah satu tujuan sorting yaitu mempercepat pencarian data.
Algoritma sorting terdiri dari beberapa jenis, yaitu :
Buble sorting
Selection sorting
Insertion sorting
Merge sorting
Quick sorting
Contoh code (Bubble sort ascending) :
void main ()
{ int angka[5] = {5,2,9,10,1};
for(int i=0; i<5; i++)
{ for (int j=i; j<5; j++)
{ if (angka[i] > angka[j])
{ int temp = angka[i];
angka[i] = angka[j];
angka[j] = temp; }
}
}
for (int i=0; i<5; i++)
{ printf (“%d\n”, angka[i]); } }
Subscribe to:
Comments (Atom)