Kamis, 30 Oktober 2014

Tugas Rangkuman Algoritma

PENGANTAR ALGORITMA DAN PROGRAM


Definisi Algoritma
     Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus
dapat ditentukan bernilai salah atau benar.

Penyajian Algoritma
         Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan
struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris)
dan pseudocode. Pseudocode adalah kode yang mirip dengan kode
pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat
digunakan untuk menggambarkan algoritma yang akan dikomunikasikan
kepada pemrogram.

Berikut adalah contoh dari Pseudocode:

Set total to zero
Set grade counter to one
While grade counter is less than or equal to ten
Input the next grade
Add the grade into the total
Set the class average to the total divided by ten
Print the class average.









Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart.

Berikut adalah contoh dari flowchart:



LampFlowchart.svg.png



Algoritma yang Baik
Sebuah algoritma yang baik memiliki sifat-sifat berikut:
  1. Benar, di mana algoritma menyelesaikan masalah dengan tepat, sesuai dengan definisi masukan / keluaran algoritma yang diberikan.
  2. Efisien, berarti algoritma menyelesaikan masalah tanpa memberatkan bagian lain dari apliikasi. Sebuah algoritma yang tidak efisien akan menggunakan sumber daya (memori, CPU) yang besar dan memberatkan aplikasi yang mengimplementasikan algoritma tersebut.
  3. Mudah diimplementasikan, artinya sebuah algoritma yang baik harus dapat dimengerti dengan mudah sehingga implementasi algoritma dapat dilakukan siapapun dengan pendidikan yang tepat, dalam waktu yang masuk akal.
Format Input Output

Fungsi Output

1. printf()
          Fungsi printf() berguna untuk menampilkan semua jenis data baik number, string, atau karakter. Perhatikan contoh printf berikut ini :
#include
main()
{
int value=5;
printf(“Hello World\n”);
printf(“value = %d \n”,value);


2. puts
          Cara lain untuk menampilkan suatu keluaran ke layar adalah menggunakan fungsi puts. Tetapi fungsi puts hanya digunakan untuk menampilkan nilai string dan sudah mengandung line feed atau escape sequence ganti baris. Perhatikan contoh berikut :

#include
main()
{
puts(“Bahasa C menyenangkan ”);
puts(“Belajar bahasa C “);
}





3.putchar
          Fungsi ini digunakan untuk menampilkan sebuah karakter saja dan tidak mengandung escape sequence “\n”. perhatikan contoh berikut :

#include
int main()
{
Char a;
 printf("masukkan nama = ");scanf("%c",&a);
 printf("inisial  \n");
putchar(a);
}

Fungsi Input

1. scanf
          Jika fungsi scanf ini digunakan untuk membaca data dengan tipe array, karakter yang selanjutnya kita sebut dengan istilah string, maka fungsi ini hanya akan membaca data sampai ditemukan blank(space). Dengan demikian nilai setelah blank dianggap bukan lagi nilai dari variabel yang akan mengisi variabel tersebut. Fungsi scanf lebih cocok digunakan untuk data-data numerik.

          Fungsi scanf biasanya digunakan bersama-sama dengan fungsi printf. Perhatikan contoh berikut :

#include
int main()
{
char a[25];
int b;
printf("a = ");scanf("%s",a);
printf("b = ");scanf("%d",&b);
printf("Data yang anda masukkan adalah \n");
printf("a = %s \n",a);
printf("b = %d \n",b);
}






2. gets
          Fungsi gets adalah untuk meminta inputan berupa kata atau kalimat sampai akhir line.


#include<stdio.h>
int main(){
char name[25];
char addr[50];
printf(“Name : ”);gets(name);
printf(“Addr : ”);gets(addr);
printf(“\n”);
printf(“Data youve inputed : \n”);
printf(“Name : %s \n”,name);
printf(“Addr : %s \n”,addr);
return 0;
}

3. getchar()
          Fungsi dari getchar adalah untuk memasukkan sebuah nilai karakter ke variabel yang bertipe karakter.

#include<stdio.h>
int main(){
char grade;
printf(“Your grade : ”);
grade=getchar();
printf(“Youve inputed this grade = %c \n”,grade);
}












Operator, Operand, and Arithmetic

Operasi dalam Bahasa C
          Operasi adalah suatu proses yang dikerjakan oleh program untuk melakukan tindakan tertentu pada suatu nilai. Operasi selalu melibatkan operand dan operator. Operand adalah suatu nilai yang dioperasikan sedangkan operator sebagai pelaku operasi tersebut. Disini aku akan menjelaskan jelaskan mengenai operator dalam bahasa C.

          Operator digunakan untuk menyatakan suatu perhitungan/operasi. Operator dapat terbagi atas:
         
   1. Operator aritmatika
   2. Operator penugasan
   3. Operator relational  
   4. Operator unary
   5. Operator logika  
   6. Operator Bitwise



 1. Operator Aritmatika                           
          Dalam bahasa C disediakan lima operator aritmatika, yaitu:
+  : untuk pertambahan
-   : untuk pengurangan
*  : untuk perkalian
/   : untuk pembagian
         % : untuk sisa pembagian (modulus) Operator Modulus tidak dapat dioperasikan ke tipe data float atau double

2 Operator Penugasan
Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama dengan “=”. 
 Contoh:
nilai = 25; 
z = x * y;  
artinya: variabel “nilai” diisi oleh 25 dan variabel “z” diisi oleh hasil perkalian x dan y 

3. Operator Relational  (Perbandingan)

Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variabel). Operator-operator hubungan dalam bahasa C adalah sebagai berikut:


Tabel Operator-operator Perbandingan

Operator 
Arti 
Contoh 
< 
Kurang dari
x < y  Apakah x kurang dari y
<=
Kurang dari sama dengan
x <= y Apakah x kurang dari sama dengan y
> 
Lebih dari
x > y  Apakah x lebih dari y
>=
Lebih dari sama dengan
x >= y Apakah x lebih dari sama dengan y
= =
Sama dengan
x = = y Apakah x sama dengan y
!=
Tidak sama dengan
x != y Apakah x tidak sama dengan y



 Contoh

int A=10, B=5;
A>B;  nilai numeriknya 1 (true)
A
A==B; nilai numeriknya 0 (false)
A!=B; nilai numeriknya 1 (true)  













4. Operator Unary

      Operator Unary merupakan operator yang hanya membutuhkan satu operand saja. Dalam bahasa C terdapat beberapa operator unary yang sering digunakan, yaitu :

Tabel Beberapa Operator Unary

!  : Operasi negasi (kebalikan).
~ : Negasi pada bitwise (berhubungan dengan bilangan biner).
-  : Menyatakan nilai negatif.
++ : Increment (penambahan). Operand ditambah dengan angka 1.
-- : Decrement (pengurangan). Operand dikurang dengan angka 1.
& : Digunakan untuk mengetahui alamat memori suatu variabel.
*  : Digunakan untuk mengetahui nilai suatu pointer pada alamat memori.

5. Operator Logika
Jika operator hubungan membandingkan hubungan antara dua buah operand, maka operator logika digunakan untuk membandingkan logika hasil dari operator-operator hubungan. Operator logika ada tiga macam, yaitu :
&&  : Logika AND (dan) 
||  : Logika OR (atau) 
!  : Logika NOT (ingkaran) 


















6. Operator Bitwise 
        operator bitwise => >>, << Operator ini digunakan untuk memanipulasi nilai pada bit. Contoh: 9>>2 hasilnya adalah 2. Bagaimana bisa begitu? Mari kita lihat pengoperasiannya dalam bilangan biner.

9 = 1001

9>>2 maksudnya nilai biner pada angka 9 digeser 2 digit ke sebelah kanan.

2 digit 0 ditambahkan di sebelah kiri (00)=> 0010(01) = 2 digit sebelah kanan dihilangkan

hasilnya: 0010 = ini adalah angka biner dari 2

Jika anda bingung, mungkin anda perlu belajar tentang cara mengkonversikan angka desimal ke dalam biner atau sebaliknya.
  

Operator Pemendekan

Bahasa C menyeediakan operator pemendekan. apakah itu?
operator yang dimaksudkan untuk memendekkan operasi misalnya

x + = 2 adalah kependekan dari x = x + 2
x - = 2 adalah kependekan dari x = x - 2
x * = 2 adalah kependekan dari x = x * 2
x / = 2 adalah kependekan dari x = x / 2
x % = 2 adalah kependekan dari x = x % 2
x << = 2 adalah kependekan dari x = x << 2
x >> = 2 adalah kependekan dari x = x >> 2
x & = 2 adalah kependekan dari x = x & 2
x | = 2 adalah kependekan dari x = x | 2
x ^ = 2 adalah kependekan dari x = x ^ 2








Data Type


          Tipe data merupakan bagian yang paling penting karena tipe data mempengaruhi setiap intruksi yang akan dilaksanakan oleh komputer. Misalnya 5 dibagi 2 bisa menghasilkan data yang berbeda tergantung tipe datanya. Jika 5 dibagi 2 bertipe integer maka akan menghasilkan nilaii 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2,5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif. Dalam bahasa C terdapat beberapa tipe data dasar, yaitu :



 
TIPE
Lebar
Jangkauan Nilai
int
16 bit
-32768 s/d 32767
unsigned int
16 bit
0 s/d 65535
long int
32 bit
-2147483648 s/d 2147483649
unsigned long int
32 bit
0 s/d 4294967296
float
32 bit
3.4E-38 s/d 3.4E+38
double
64 bit
1.7E-308 s/d 1.7E+308
char
8 bit
-128 s/d 127
unsigned char
8 bit
0 s/d 255









Selection

IF statement
Statement if adalah salah satu statement yang digunakan untuk penyeleksian kondisi. Statement ini merupakan statement percabangan paling dasar, jika suatu terpenuhi alias bernilaitrue maka akan menjalankan tertentu. Dan jika tidak maka tersebut tidak akan dijalankan.
sintak:
if (kondisi) {
statement;
}


Contoh : 

#include   
 #include   
 void  main()
 {
int hari;
printf("Masukkan angka : ");
                scanf("%d", &hari);
 if (hari==1)
                  {
printf (“Senin”);
}
}








IF-ELSE statement
Statement ini merupakan pengembangan dari “if” statement, ketika suatu tidak terpenuhi maka akan menjalankan . Tetapi ketika menemukan “else if” statement maka dilakukan pengecekan kembali.
Sintak: Sintak :
if (kondisi) {
statement;
             }
else {
statement;
            }
else
}

Contoh : 

 #include
int main()
{
     int bilangan;
     printf("Masukkan sebuah bilangan : ");
     scanf("%d", &bilangan);
     if ( bilangan % 2 == 0)
         printf("%d adalah bilangan genap", bilangan);
     else
         printf("%d adalah bilangan ganjil", bilangan);
    return 0;
}













SWITCH CASE
Statement ini digunakan untuk melakukan percabangan alur yang efektif digunakan untuk alur program mempersyaratkan banyak kondisi. 

Sintak  :    

switch( expression ) {
    case A:
      statement list;
      break;
    case B:
      statement list;
      break;
    ...
    case N:
      statement list;
      break;
    default:
      statement list;
      break;
  }

Contoh : 
#include  
#include  
void main() 
int x; 
printf("1. Nilai Fisika\n"); 
printf("2. Nilai Matematika\n"); 
scanf ("%d", &x); 
switch (x) 
     case 1: printf("Nilainya 85"); break; 
     case 2: printf("Nilainya 90"); break; 
     default: printf("Tidak ada nilainya"); 
getch(); 
}

Repetition

Pengulangan
          Struktur pengulangan adalah struktur program yang digunakan untuk melaksanakan suatu pernyataan secara berulang-ulang. C memiliki tiga struktur pengulangan yaitu For, While, dan Do-while.


For
          Pengulangan For merupakan pengulangan yang terdapat tiga ekspresi yang digunakan untuk mengendalikan proses pengulangan.

Bentuk umum struktur pengulangan
For (ekspr 1; ekpr 2; eksr 3)
            Pernyataan

#include<stdio.h>

int main()
{
     int i;
     for (i=5; i>0; i--)
     {
printf("saya suka belajar dasar-dasar pemrograman\n",i);
     }
     return 0;
}




















While
          Pengulangan while membentuk suatu struktur pengulangan yang akan mengulang pelaksanaan pernyataaan di dalam badan pengulangan selama ekspresi yang diperiksa bernilai benar.
Bentuk umum struktur pengulangan
While (ekspresi)
   Pernyataan

#include<stdio.h>

int main()
{
     int n = 5;
    
     while(n<7)
     {
          printf("n = %d\n", n);
          n++;
          printf("Sekarang n = %d\n", n);
     }
     return 0;
}


























do-while
          Pengulangan do-while merupakan pengujian dilakukan di bagian akhir setelah melalui badan pengulangan, sehingga badan pengulangan pastilah pernah dilaksanakan, paling sedikit satu kali.  

Bentuk umum struktur pengulangan
Do
    Pernyataan
While (ekspresi);

#include <stdio.h>

int main()
{
     int v = 1;
     do
     {
          printf("dasar-dasar pemrograman\n");
          v++;
     }
     while(v<=6);
     return 0;
}