1 Pengenalan Algoritma PENGERTIAN DASAR LOGIKA DAN ALGORITMA Diperkenalkan Oleh Ahli Matematika : Abu Ja far Muhammad Ibnu Musa Al Khawarizmi Definisi...
PENGERTIAN DASAR LOGIKA DAN ALGORITMA Diperkenalkan Oleh Ahli Matematika : Abu Ja far Muhammad Ibnu Musa Al Khawarizmi
Definisi Algoritma 1. Langkah-langkah yang dilakukan agar solusi masalah dapat diperoleh. 2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi. 3. Suatu metode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata. (Webster Dictionary)
Mengapa Belajar Algoritma & Pemrograman? Algoritma Merupakan Jantung Ilmu Informatika
AP2c - puz
1
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma tetapi algoritma tidak selalu identik dengan ilmu komputer namun kehidupan sehari-hari terdapat proses yang dinyatakan dalam suatu Algoritma. Mekanisme Pelaksanaan Algoritma oleh Pemroses Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer algoritma harus ditulis dalam notasi
bahasa
pemrograman sehingga dinamakan program. Belajar Memprogram Dan Belajar Bahasa Pemrograman Belajar
memprogram
tidak
sama
dengan
belajar
bahasa
pemrograman. Belajar memprogram adalah belajar tentang metodelogi pemecahan masalah. Belajar bahasa pemrograman adalah belajar memakai bahasa aturanaturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compilernya, dan manfaat instruksi-instruksi tersebut untuk membuat program yang ditulis dalam bahasa itu saja.
Pengenalan Jenis-Jenis Bahasa Pemrograman
AP2c - puz
2
Sampai saat ini terdapat puluhan bahasa pemrograman. Bahasa pemrograman dapat digolongkan berdasarkan tujuan dan fungsinya :
Bahasa pemrograman dapat digolongkan menjadi tiga level : 1. Bahasa pemrograman tingkat rendah (low level language) Bahasa mesin (machine language) yang selalu dibuat dan telah disertakan menjadi satu (built in) dalam prosesor.
2. Bahasa pemrograman tingkat tinggi (high level language) Bahasa-bahasa pemrograman yang banyak kita kenal selama ini, misal Qbasic, Cobol, Fortran, C, C++, Turbo Pascal, Java, dll.
3. Bahasa pemrograman tingkat sangat tinggi (very high level language)
AP2c - puz
3
Bahasa query (query languange) seperti SQL (Sructured Query Language) yang dapat digunakan untuk menampilkan informasi-informasi yang diinginkan hanya dengan menuliskan sedikit perintah saja.
Efisiensi Menggunakan Algoritma Analisis Suatu Algoritma Untuk melihat faktor efesiensi & efektifitas dari algoritma, dapat dilihat pada : 1. Waktu Tempuh (Running Time) dari suatu Algortima. Hal-hal yang dapat mempengaruhi waktu tempuh adalah : Banyaknya langkah. Besar dan jenis input data. Jenis Operasi. Komputer dan kompilator 2. Jumlah Memori Yang Digunakan.
Kriteria algoritma yang baik: 1. Setiap langkah harus bersifat pasti/ tertentu (definite) 2. Minimal menghasilkan output 3. Terstruktur dan sistematis AP2c - puz
4
4. Memiliki kriteria untuk menghentikan proses 5. Bersifat efisien, baik dari sisi waktu maupun menggunaan memori dalam sistem komputer
Algoritma dapat dinyatakan dalam dua bentuk: a. Bentuk uraian/ deskriptif atau pseudocode b. Bentuk gambar, yaitu menggunakan simbol-simbol grafik dalam bentuk bagan alir (flowchart)
PENGENALAN TEKNIK TEKNIK BAHASA PEMROGRAMAN
Object Oriented Programming o Encapsulation o Inheritence o Polymorphism Functionally Terstruktur Modular (Prosedural) Visual & Even Driven Programming AP2c - puz
5
Object Oriented Programming
Encapsulation (Pembungkusan) Sebuah proses penggabungan antara data-data dan fungsi yang berkaitan kedalam sebuah objek. Dengan demikian kita dapat membuat program yang terintegrasi tanpa harus mendeklarasikan variabel-variabel yang bersifat external.
Inheritance (Pewarisan) Kita dapat menciptakan objek baru yang diturunkan dari objek lain. Sifat yg terkandung didalam pada objek turunan adalah sifat hasil pewarisan dari sifatsifat yg terdapat pada objek induk.
Polymorphism Adalah proses kebanyak rupaan, artinya kita dapat mengimplementasikan sesuatu hal yang berbeda melalui suatu cara yang sama.
Functionally Fungsi adalah kumpulan pernyataan-pernyataan yang dibentuk untuk menyelesaikan suatu tugas.
AP2c - puz
6
Hasil dari fungsi adalah nama fungsi yang hanya menghasilkan satu nilai.
Terstruktur Pemrograman terstruktur adalah cara pemrosesan data yang terstuktur. Terstruktur dalam: analisa, cara dan penulisan program. Bahasa pemrograman terstruktur adalah pemrograman yang mendukung abstraksi data, pengkodean terstruktur dan kontrol program terstruktur. Kontrol program terstruktur: 1. Runtun - urut (sequence) 2. Pilihan (selection) 3. Pengulangan (repetition - loop)
Modular (Prosedural) Bahasa pemrograman prosedural adalah bahasa pemrograman yang mendukung pembuatan program sebagai kumpulan prosedur. Prosedur-prosedur ini dapat saling memanggil dan dipanggil dari manapun dalam program dan dapat menggunakan parameter yang berbeda-beda untuk setiap pemanggilan.
AP2c - puz
7
Prosedur adalah bagian dari program untuk melakukan operasioperasi yang sudah ditentukan dengan menggunakan parameter tertentu
Visual & Even Driven Programming Event Driven adalah sebuah sifat yang terdapat pada bahasa pemrograman Microsoft Visual Basic (VB)
dan menawarkan
Integrated Development Environment (IDE) visual untuk membuat program aplikasi berbasis sistem operasi Microsoft Windows.
AP2c - puz
8
Simbol simbol untuk menggambarkan Flow Chart
AP2c - puz
9
AP2c - puz
10
STRUKTUR PROSES DALAM ALGORITMA 1. Proses berurutan (sequence) 2. Proses seleksi (selection) 3. Proses perulangan (looping)
Proses berurutan (sequence) Suatu prosedur proses dalam algoritma yang dilakukan secara urut langkah demi langkah yang memuat serangkaian prosedur pengolahan data dari : 1. Pemasukan data (input) 2. Pengolahan data (processing) 3. Penampilan informasi (output)
Menghitung luas persegi panjang 1. Mulai 2. Membaca data Panjang, Lebar 3. Menghitung Luas AP2c - puz
Input Processing 11
Luas = panjang x lebar 4. Mencetak hasil
Output
Luas 5. Selesai
Proses seleksi (selection) 1. IF SyaratLogika THEN Instruksi Apabila SyaratLogika bernilai TRUE (benar) maka instruksi setelah THEN akan dilaksanakan. Apabila SyaratLogika bernilai FALSE (salah) maka instruksi setelah THEN tidak akan dilaksanakan.
2. IF SyaratLogika THEN Instruksi1 ELSE Instruksi2 Apabila SyaratLogika bernilai TRUE (benar) maka Instruksi1 setelah THEN akan dilaksanakan. Apabila SyaratLogika bernilai FALSE (salah) maka Instruksi2 setelah THEN akan dilaksanakan.
Proses perulangan (looping)
AP2c - puz
12
Suatu proses yang akan melakukan eksekusi suatu program secara berulang-ulang pada suatu blok instruksi tertentu yang terkendali. Setiap
bahasa
pemrograman
menyediakan
fasilitas
untuk
melakukan proses perulangan dalam sintaks instruksi dan penggunaan yang bervariasi. Sebagai contoh dalam bahasa Pascal dikenal