ALGORITMA DAN PEMROGRAMAN
Pertemuan 1

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

Walaupun algoritma adalah jantung dari ilmu computer. Algoritma juga terjadi dikehidupan sehari-hari kita. Terdapat banyak proses algoritma yang terjadi di kehidupan sehari-hari yang dapat dinyatakan dalam suatu algoritma. Misal, cara memasak mie, mandi, atau berangkat kerja/kuliah.

Jika kita buat algoritma cara memasak mie akan seperti dibawah ini :
·        Siapkan 1 bungkus mie instan, 400 ml air (2 gelas), panci, mangkok, sendok, dan garpu
·        Masukkan 400 ml air kedalam panci
·        Masak air
·        Tunggu hingga mendidih
·        Masukkan mie kedalam panci yang sudah berisi air mendidih
·        Tunggu dan aduk hingga 3 menit
·        Jika sudah matang masukkan bumbu
·        Aduk hingga rata
·        Sajikan mie

Penyajian algoritma secara garis besar dapat dibagi dalam dua bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocodePseudocodeadalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga tepat digunakan dalam menggambarkan algoritma yang akan dikomunikasikan kepada programmer.

Sedangkan untuk algoritma yang disajikan dengan gambar adalah dengan flowchartFlowcart adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau merupakan prosedur sistem secara logika. Flowcart digunakan untuk alat bantu komunikasi dan untuk dokumentasi.




Pseudo-code

               Pseudo-code adalah penulisan algoritma yang hamper menyerupai Bahasa Pemograman, namun Pseudocode ditulis agar mudah dipahami oleh manusia.

Tujuannya adalah agar programmer dapat memahami suatu program dengan jelas, meskipun programmer tesebut belum bias memahami Bahasa pemrograman.

Contoh Penulisan Pseudocode:
Untuk menampilkan variable berisi tulisan “Hello World”:
Start
a = “Hello World”
print a
End
Jadi Pseudocode digunakan untuk menggambarkan logika yang berupa urutan tahap pertama dari suatu ide program tanpa memandang Bahasa Pemrogramman yang akan digunakan
Flow Chart
              
















Flowchart Adalah Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma.
      Contoh Flow Chart
 








Teorema Struktur
Teorema Struktur yang digunakan pemrograman computer hanya ada 3 kontrol struktrur, yaitu :
1.      Urutan
2.      Seleksi
3.      Pengulangan

1.      Urutan (Sequence)

Sequence adalah struktur algoritma paling dasar yang berisi rangkaian intruksi yang diproses secara berurutan, satu per satu, mulai dari intruksi pertama sampai akhir sesuai dengan urutan penulisan algoritma yang dibuat.
sequence algoritma sendiri terdiri dari satu atau lebih intruksi, yang berarti bahwa :
1.      Tiap intruksi dikerjakan satu persatu.
2.      Tiap intruksi dilaksanakan sekali, dan tidak ada intruksi yang diulang.
3.      Urutan intruksi yang dilaksanakan sama dan sesuai dengan intruksi yang dibuat
4.      Akhir dari intruksi terakhir merupakan akhir algoritma
jadi sequence (urutan) dalam algoritma sangat penting, karena kita bisa lebih efektif dalam menjalankan suatu algoritma dengan urut dan sesuai dengan apa yang diinginkan
karena jika suatu algoritma tidak ada sequence (urutan) maka algoritma tersebut akan kacau dan bisa saja mengeluarkan output yang tidak sesuai
2.      Seleksi(Selection)
Selection adalah control struktur yang membolehkan kita untuk memilih beberapa pilihan dari beberapa statement.
Pengurutan data dalam struktur data sangat penting untuk data yang bertype data numerik ataupun karakter. Pengurutan dapat dilakukan secara ascending dan descending.

Pengurutan (sorting) artinya proses menyusun kembali data yang sebelumnya telah disusun.
Perintah Selection ada 3 jenis : If..Else, Switch..Case dan Ternary Operator
3.      Pengulangan(Repetition)
Perulangan atau yang sering disebut dengan “looping”, merupakan proses yang dilakukan secara berulang-ulang dalam batas yang telah ditentukan. Dengan menggunakan proses perulangan, penulisan kode program dapat menjadi lebih efisien. Dalam bahasa C, terdapat beberapa macam struktur kendali perulangan, antara lain: for, do…while, dan while.

For

Instruksi for digunakan untuk mengeksekusi atau menjalankan statement / perintah dengan jumlah pengulangan yang telah diketahui.

Sintaks dari for ialah:
                                                     for(exp1;exp2;exp3) {
                                                                    statement(s);
                                                     }

Dimana,

·        exp1: ekspresi untuk inisialisasi nilai awal
·        exp2: ekspresi untuk kondisi
·        exp3: expresi untuk increment (penambahan) atau decrement (pengurangan)

Berikut merupakan alur dalam instruksi for:
exp1 akan dieksekusi pertama kali (hanya dijalankan 1 kali). Tahap ini digunakan untuk deklarasi dan pemberian nilai awal untuk variabel control.

exp2 selanjutnya akan di evaluasi. Jika kondisi bernilai benar, maka statement(s) akan dijalankan. Jika kondisi bernilai salah, maka statement(s) tidak dijalankan dan proses perulangan for tersebut akan berhenti.

Apabila statement(s) telah dijalankan, maka exp3 digunakan untuk mengatur perubahan nilai dari variabel control.



                 
Do While

Instruksi do…while digunakan untuk mengulang suatu statement / perintah selama kondisi yang ada pada while masih terpenuhi atau bernilai benar.
Jika kondisi benar, maka statement / perintah akan dijalankan kembali dan proses perulangan akan dijalankan terus menerus sampai kondisi bernilai salah.

                        While

Instruksi while digunakan untuk mengulang suatu statement selama kondisi syarat yang diberikan bernilai benar. Apabila kondisi bernilai salah, maka statement / perintah yang dideklarasikan di dalam perulangan while tidak akan diulang.
              
Instruksi while dapat memiliki satu ataupun beberapa statement / perintah. Perulangan akan terus dilakukan selama kondisi bernilai benar. Pada umumnya, kondisi menggunakan operator perbandingan maupun digabungkan dengan operator logika jika terdapat lebih dari satu operasi perhandingan.

              
Escape Sequences

·        \a                          bell, alert, system beep
·        \b                          back space
·        \t                           horizontal tab
·        \n                          new line, line feed
·        \v                          vertical tab
·        \r                           carriage return
·        \’                           single quote
·        \”                          double quote
·        \\                           backslash
·        \xdd                      hexadecimal notation
·        \ddd                      octal notation

Character
           
·       Bahasa C ditulis menggunakan ASII karakter yaitu:
o   Huruf capital A-Z
o   Huruf kecil a-z
o   Angka 0-9
o   Karakter special ‘!’,’&’,’+’,etc
·       ASII
o   American Standardd Code for Information Interchange





Keywords
           

Keywords
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while

Comments