Algoritma Pemrograman dan Pengantar Pemrograman Bahasa C ALGORITMA
Algoritma Pemrograman dan Pengantar Pemrograman Bahasa C ALGORITMA DAN STRUKTUR DATA
Algoritma Pemrograman Algoritma adalah kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. (wikipedia) Contoh penjumlahan 2 angka : 1. 2. 3. 4. Masukkan angka 1 Masukkan angka 2 Hitung penjumlahan angka 1 dan angka 2 Tampilkan hasil penjumlahan
Kriteria Algoritma Input: algoritma dapat memiliki nol atau lebih inputan dari luar. Output: algoritma harus memiliki minimal satu buah output keluaran. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
Sifat Algoritma Sifat-sifat Algoritma pada umumnya: Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman Tidak tergantung pada suatu bahasa pemrograman Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun
Flowchart Definisi : Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial Kegunaan : Mempermudah programmer dalam menentukan alur logika program Untuk mempresentasikan program kepada orang lain Maka, flowchart harus dapat merepresentasikan komponen -komponen dalam bahasa pemrograman
Lambang-Lambang Flowchart LAMBANG KETERANGAN Terminator (Mulai / Selesai) Aliran Data Input / Output Process / Proses
LAMBANG KETERANGAN Decision / Percabangan Preparation / Memberi Nilai Awal Variabel Predefined Process/ Sub-Program
LAMBANG KETERANGAN Connector pada halaman yang sama Connector pada halaman lain Stored Data / Simpan Data Display / Tampilkan
Contoh Flowchart Menghitung Penjumlahan 2 bilangan. Algoritma : Masukkan bilangan pertama (a) Masukkan bilangan kedua (b) Hasil = a + b Cetak Hasil Mulai Masukkan a Masukkan b Hasil = a + b Cetak Hasil Selesai
Contoh Sederhana Program dengan C Header Fungsi Utama Keterangan: #include<stdio. h> : memanggil library stdio. h void : fungsi tidak mengembalikan nilai printf : perintah untuk mencetak ke layar
Tipe Data
Deklarasi Variabel Nama variabel tidak boleh menggunakan spasi. Diawali dengan huruf atau garis bawah dan selanjutnya diikuti oleh huruf atau garis bawah atau angka. Panjang variabel max 32 karakter. Tidak boleh menggunakan keyword. Format penulisan variabel tipe_data<spasi>nama_variabel contoh : int a; char b; char nama [10];
… Pada C kita bisa menuliskan variabel saat kita membutuhkan, berbeda dengan Pascal yang harus mendefinisikan semua variabel sebelumnya. Pacal uses crt; var b : integer = 10; c : integer = 2; begin writeln(b); writeln(c); readln(); end. C #include <stdio. h> main() { int a = 10; printf("%d", a); char huruf = 'a'; printf("%c", huruf); }
Konstanta Identifier yang memiliki nilai tetap. Pada bahasa C, deklarasi konstanta membutuhkan alokasi memory. Untuk mendeklarasikan konstanta, bisa dilakukan dengan preprosesor #define atau dengan keyword const Contoh: const float phi = 3. 14; #define phi 3. 14;
Operator adalah simbol yang digunakan untuk mengolah nilai pada operand dan menghasilkan suatu nilai baru. Operator dapat dibedakan menjadi 2 berdasarkan jumlah operand-nya, yaitu Unary Operator dan Binary Operator. Berdasarkan jenis operasinya, operator dalam bahasa C dapat dibedakan menjadi: Operator Aritmatika Operator Logika Operator Relasi Operator Bitwise
Combined Operator Ekspresi berbentuk : <Variabel> = <Variabel> <0 perator> <Exp> ; a = a + 12; dapat diganti : <Variabel> <0 perator> = <Exp>; a += 12;
Statement Input Adalah statement atau fungsi yang digunakan untuk membaca masukan data dari keyboard. Fungsi-fungsi yang bisa digunakan adalah: getchar() untuk membaca data yang bertipe karakter, pergantian baris secara otomatis getche() untuk membaca data yang bertipe karakter, tanpa pergantian baris secara otomatis gets() memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik scanf() untuk menginput data berupa data numerik, karakter dan string secara terformat
… Kode penentu format : %c : Membaca sebuah karakter %s : Membaca sebuah string %i, %d : Membaca sebuah bilangan bulat (integer) %f, %e : Membaca sebuah bilangan pecahan (real) %o : membaca sebuah bilangan octal %x : Membaca sebuah bilangan heksadesimal %u : Membaca sebuah bilangan tak bertanda
Statement Output Statement ini digunakan untuk mencetak informasi ke layar. Beberapa fungsi yang bisa digunakan: puts() putchar() printf() header: stdio. h -> menampilkan string dan otomotis di akhiri pindah baris -> menampilkan sebuah karakter -> menampilkan semua jenis data (numeric dan karakter)
… Karakter Khusus a : untuk bunyi bell (alert) b : mundur satu spasi (backspace) f : ganti halaman (form feed) n : ganti baris baru (new line) r : ke kolom pertama, baris yang sama (carriage return) v : tabulasi vertical : nilai kosong (null) ’ : karakter petik tunggal ” : karakter petik ganda \ : karakter garis miring
… Mengatur tampilan bilangan pecahan (float). Bentuk umum : printf(“%m. nf”, argument); m n argument : menyatakan panjang range. : menyatakan jumlah digit di belakang koma. : nilai atau variable yang akan ditampilkan. Contoh : printf(“%5. 2 f”, nilai);
Percabangan Struktur 1 kondisi if (kondisi) { statement 1; statement 2; … } if (kondisi) statement; -> jika hanya menjalankan 1 statement
… Struktur 2 kondisi if (kondisi) { statement_jika_dipenuhi; } else { statement_jika_tidak_dipenuhi; }
… Struktur 3 kondisi atau lebih if (kondisi 1) { statement_jika_kondisi 1_dipenuhi; } else if (kondisi 2) { statement_jika_kondisi 2_dipenuhi; } else if (kondisi 3) { statement_jika_kondisi 3_dipenuhi; } … else { statement_jika_semua_kondisi_tidak_dipenuhi; }
… Kata Kunci switch (ekspresi) { case nilai 1 : statement_statement; break; case nilai 2 : statement_statement; break; … case nilai. N : statement_statement; break; default : statement; }
Perulangan for (variabel = nilai_awal; kondisi; variabel++/variabel--) { statement_yang_diulang; }
… while (kondisi) { statement_yang_diulang; } do. . while do { statement_yang_diulang; } while (kondisi);
THE END
Quiz Buatlah flowchart untuk membuat ***** * * * *****
- Slides: 40