ALGORITMA & STRUKTUR DATA 1 BAB I



MODUL MATA KULIAH
ALGORITMA & STRUKTUR DATA 1
( Menggunakan Bahasa Pemrograman C++ )










Oleh : T. Bayu Sasongko, S.Kom., M.Eng



PROGRAM STUDI D-IV TEKNIK INFORMATIKA
POLITEKNIK HARAPAN BERSAMA KOTA TEGAL

2015

 
DAFTAR ISI

DAFTAR ISI ………………………………………………………………………………….
BAB 0 - Pendahuluan Algoritma & Struktur Data …………………………………………….
BAB I - Pendahuluan C dan C++ ……………………………………………………………..
BAB II - Program Pertama C dan C++ ……………………………………………………….
BAB III - Tipe Data, Variabel, dan Operasi Perhitungan …………………………………….
BAB IV - Input dan Output Data …………………………………………………………….
BAB V – Percabangan ………………………………………………………………………..
BAB VI – Pengulangan ………………………………………………………………………
BAB VII – Function …………………………………………………………………………
BAB VIII – Array ……………………………………………………………………………
BAB IX – Struct ……………………………………………………………………………..
BAB X - String dan Manipulasinya ………………………………………………………….
BAB XI – Pointer ……………………………………………………………………………
DAFTAR PUSTAKA ……………………………………………………………………….






PENDAHULUAN ALGORITMA & STRUKTUR DATA


Algoritma berasal dari kata algoris dan ritmis yang pertama kali diungkapkan oleh Abu Ja’far Mohammad Ibn Musa Al Khowarizmi (825M) dalam buku Al-Jabr Wa-al Muqobla.

Algoritma dapat didefinisikan sebagai urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis untuk mencapai tujuan tertentu. Kata logis berarti bahwa nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah.

Contoh :
Misalkan terdapat dua buah gelas, gelas A dan gelas B. Gelas A berisi air berwarna merah dan gelas B berisi air berwarna biru, kita ingin menukarkan isi air kedua gelas tersebut, sehingga gelas A berisi air berwarna biru dan gelas B berisi air berwarna merah.


Algoritma diatas tidak menghasilkan pertukaran yang benar, langkah-langkahnya tidak logis, karena yang terjadi bukan pertukaran tetapi percampuran antara air di gelas A dengan air di gelas B. Sehingga algoritma Tukar Isi Gelas diatas Salah.
Dari permasalahan diatas algoritma yang benar adalah bahwa untuk menukarkan isi air pada gelas A dengan isi air pada gelas B maka dibutuhkan sebuah gelas bantuan yang dipakai untuk menampung salah satu air dalam gelas tersebut misalkan gelas C.



Algoritma : Rangkaian langkah-langkah/alur pikiran untuk menyelesaikan suatu masalah yang sifatnya logis dan sistimatis

Sifat-sifat Algoritma :
  • Definiteness (jelas) : Mudah dibaca/jelas maksudnya (tiap langkah jelas uraiannya) dan tidak ambigu
  • Finiteness: Berawal dan berakhir
  • Input : Tidak harus ada data masukan yang dimasukkan dari luar
  • Output : Paling tidak harus ada satu keluaran
  • Effectiveness: Tiap instruksi harus efektif (tepat dan efisien)

Bahasa pemrograman :
Bahasa komputer yang digunakan dalam penulisan program

Pemrogram/Programmer :
Orang yang membuat program komputer

Pemrograman :
Kegiatan merancang atau menulis program computer




KELOMPOK BAHASA PEMROGRAMAN
  1. Bahasa Tingkat Rendah (Low Level Language), bahasa yang berorientasi pada mesin. Pemrogram dengan bahasa ini harus berpikir berdasarkan logika mesin berpikir, sehingga bahasa ini kurang fleksibel dan sulit dipahami. Contoh : Bahasa mesin, Bahasa rakitan (assembly).
  2. Bahasa Tingkat Menengah (Middle Level Language), bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standar yang mudah dipahami manusia serta memiliki instruksi-instruksi tertentu yang langsung bisa diakses oleh komputer.
  1. Bahasa Tingkat Tinggi (Hight Level Language), bahasa pemrograman yang menggunakan aturan-aturan gramatikal dalam penulisan ekspresi atau pernyataan dengan standar bahasa yang langsung dapat dipahami oleh manusia. Contoh : Pascal, C/C++, Delphi, Visual Basic


Interpreter dan Compiller
Agar komputer memahami program yang disusun dengan bahasa pemrograman, maka dibutuhkan suatu penerjemah yaitu Interpreter dan Compiller.
  • Interpreter merupakan penerjemah bahasa pemrograman yang menerjemahkan instruksi demi instruksi pada saat eksekusi program. Pada saat penerjemahan interpreter akan memeriksa sintaksis (sintak program), semantik (arti perintah), dan kebenaran logika. Jika ditemukan kesalahan sintaksis (syntak error) maka interpreter akan menampilkan pesan kesalahan dan eksekusi program langsung terhenti.
  • Compiler merupakan penerjemah bahasa pemrograman yang menerjemahkan instruksi-instruksi dalam satu kesatuan modul ke dalam bahasa mesin (objek program), kemudian objek program akan mengalami linking yang berfungsi untuk menggabungkan modul-modul tersebut dengan modul-modul lain yang berkaitan seperti data tentang karakteristik mesin, file-file pustaka atau objek program lainnya yang berkaitan dengan objek lainnya menghasilkan file Executable program yang akan dieksekusi oleh komputer.


Langkah Pemecahan Masalah
(1) Inisiasi solusi secara umum:
  1. Deskripsi masalah,
  2. Merancang algoritma-algoritma untuk memecahkan masalah (bisa lebih dari satu solusi untuk satu permasalahan) dan
  3. Menekankan pada ketepatan solusi

(2) Analisa algoritma :
  1. Menekankan pada efisiensi seperti efisiensi waktu dan efisiensi ruang
  2. Melakukan analisa algoritma dari solusi-solusi yang dirancang
  3. Memilih metode struktur data yang tepat
Contoh: analisis kompleksitas algoritma (Asymptotic Analysis) untuk membandingkan dua metode sorting, yakni insertion sort dan merge sort (akan dijelaskan di pertemuan berikutnya)

(3) Implementasi solusi
  1. Menggambar flowchart dan atau menulis pseudocode
  2. Menerjemahkan ke dalam bahasa pemrograman tertentu
  3. Melakukan pengujian (debugging) dan perbaikan program


Standar Program yang Baik
1. Standar Penyusunan Program
  1. Kebenaran logika
  2. Waktu untuk penulisan program
  3. Kecepatan maksimum eksekusi program
  4. Ekspresi penggunaan memori
  5. User friendly (bisa dikembangkan programmer developer lain)
  6. Portability (instalasi dan inisiasi mudah)
  7. Pemrograman Modular (memudahkan perawatan)
2. Standar Perawatan Program
  1. Dokumentasi pemakaian untuk pengguna
  2. Dokumentasi pengembangan untuk programmer (biasanya berbentuk komentar- komentar pada source code program)
  3. Konvensi penulisan instruksi (memudahkan pengerjaan program oleh programmer lain)








STRUKTUR DASAR ALGORITMA
Algoritma berupa langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut yaitu :
  1. Sequence Structure (struktur runtunan)
Digunakan untuk program yang instruksinya sequential/urutan.
  1. Selection Structure (struktur percabangan)
Digunakan untuk program yang menggunakan pilihan/penyeleksian kondisi .
  1. Repetition Structure (struktur perulangan) 

    Download Materinya Disini 

Komentar

Postingan populer dari blog ini

Face Detection menggunakan Haar Cascades