- Bina Darma e-Journal

advertisement
Dasar Algoritma dan
Pemrograman
S1 TEKNIK TELEKOMUNIKASI
SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM
PURWOKERTO
2016
Outline
•
•
•
•
•
•
•
•
•
•
Pendahuluan
Algoritma
Program
Bahasa Pemrograman
Klasifikasi menurut generasi
Klasifikasi menurut tingkatan
Paradigma Pemrograman
Cara membuat program
Flowchart
Pseudocode
Pendahuluan
• Komponen Komputer
– Input
– Process
– Output
• Energi listrik + perangkat lunak -> komponen
computer dapat aktif
Algoritma
• Algoritma dari nama belakang seorang tokoh
matematikawan Persia bernama Muhammad
ibn Musa al-Khuwarizmi
• Algoritma merupakan metode umum yang
digunakan untuk menyelesaikan kasus-kasus
tertentu.
• Dalam menuliskan algoritma, dapat digunakan
bahasa natural atau menggunakan notasi
matematika, sehingga masih belum dapat
dijalankan pada komputer
Contoh Algoritma
• Contoh algoritma dalam membuat telur dadar
–
–
–
–
–
–
–
Nyalakan api kompor
Tuangkan minyak ke dalam wajan
Pecahkan telur ayam ke dalam mangkok
Tambahkan garam secukupnya
Aduk campuran telur dan garam
Tuangkan adonan telur ke dalam wajan
Masak telur hingga matang
• Algoritma dapat ditulis secara sistematis dengan
skema Flowchart atau Pseudocode
Program
Program adalah formulasi sebuah algoritma
dalam bentuk bahasa pemrograman, sehingga
siap untuk dijalankan pada mesin komputer.
Bahasa Pemrograman
• Bahasa Pemrograman adalah bahasa buatan yang
digunakan untuk mengendalikan perilaku dari
sebuah mesin, biasanya berupa mesin komputer,
sehingga dapat digunakan untuk memberitahu
komputer tentang apa yang harus dilakukan.
• Struktur bahasa ini memiliki kemiripan dengan
bahasa natural manusia: terdapat kata benda dan
kata kerja serta mengikuti aturan untuk
menyusunnya menjadi kalimat.
Alpro – MIU0122/ 2 SKS
• Mata kuliah ini mempelajari langkah-langkah
(alur) logis penyelesaian masalah yang
kemudian direpresentasikan dalam bentuk
notasi standar serta cara menerjemahkan alur
yang dihasilkan ke dalam bentuk bahasa
pemrograman.
Klasifikasi menurut generasi
• First Generation Language (IGL): kode-kode mesin
yang hanya bias dipahami oleh mikroprosesor
• Second Generation Language (2GL): assembly
language
• Generasi ketiga, didesain supaya mudah
dipahami oleh manusia. Contoh FORTRAN,
COBOL, ALGOL, BASIC, C, C++, Pascal, Java
• Generasi keempat: SQL, Matlab
• Generasi kelima: Prolog, Mercury
Bahasa Assembly
• Bahasa assembly adalah sebuah program yang terdiri
dari instruksi-instruksi yang menggantikan kode-kode
biner dari bahasa mesin dengan “mnemonik” yang
mudah diingat.
• Misalnya sebuah instruksi penambahan dalam bahasa
mesin dengan kode “10110011” yang dalam bahasa
assembly dapat dibuat dalam instruksi mnemonik ADD,
sehingga mudah diingat dibandingkan dengan angka 0
dan 1, dalam setiap instruksi membutuhkan suatu
operand baik berupa data langsung maupun suatu
lokasi memori yang menyimpan data yang
bersangkutan.
Bahasa Assembly
• Bahasa assembly sering juga disebut kode
sumber atau kode simbolik yang tidak dapat
dijalankan oleh prosesor, sedangkan assembler
adalah
suatu
program
yang
dapat
menerjemahkan program bahasa assembly ke
program bahasa mesin.
• Bahasa mesin adalah kumpulan kode biner yang
merupakan instruksi yang bisa dijalankan oleh
komputer. Program bahasa mesin sering disebut
sebagai kode objek.
Klasifikasi menurut tingkatan
• Low –level programming language
• High-level programming language
• Very High-level programming language
Paradigma dalam Pemrograman
• Untuk setiap paradigma, tersedia bahasa
pemrograman yang mempermudah
1.Prosedural : Algol, Pascal, Fortran, Basic,
Cobol, C
2. Fungsional : LOGO, APL, LISP
3. Deklaratif/Lojik : Prolog
4. Object oriented: Java, C++.
Paradigma dalam Pemrograman
• Prosedural: Instruksi akan dieksekusi satu per
satu secara sekuensial oleh sebuah pemroses
tunggal
• Fungsional: Didasari oleh konsep pemetaan dan
fungsi pada matematika
• Deklaratif: Pemrograman ini menguraikan
sekumpulan fakta dan aturan-aturan, ketika
program dieksekusi, pemakai mengajukan
pertanyaan dan program akan menjawab, apakah
pernyataan itu dapat dideduksi dari aturan dan
fakta yang ada
Paradigma dalam Pemrograman
• Berorientasi Objek: Paradigma ini didasari
oleh Kelas dan Objek. Paradigma ini juga
menawarkan
konsep
modularitas,
penggunaan kembali, dan kemudahan
modifikasi
Tahapan Membuat Program
1. Definisi Masalah
Menentukan model /rancangan apa yang akan dibuat untuk
penyelesaian masalah.
2. Analisa Kebutuhan
Menentukan data untuk masukan dan keluaran yang
diminta, bahasa pemrograman yang digunakan serta tipe
komputer apa yang dibutuhkan.
3. Pembuatan Algoritma/Desain algoritma
Membuat susunan langkah-langkah/instruksi penyelesaian
masalah. Hal ini dapat dilakukan dengan 2 cara :
a. Menggunakan Flowchart
b. Menggunakan bahasa semu (pseudocode)
4. Pemrograman (dengan bahasa Pemrograman)
Pembuatan program dengan menggunakan bahasa
pemrograman.
5. Pengujian Program
Dapat dilakukan melalui 2 tahap :
1. Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik sintaksis maupun
logika.
2. Pengujian tahap profiling.
Untuk menentukan waktu tempuh dan banyak nya memori
program yang digunakan. Setelah program bebas dari
kesalahan sehingga dapat dilakukan proses excute program.
6. Dokumentasi
digunakan untuk file backup
7. Pemeliharaan
Upaya yang dilakukan dengan Menghindari
kerusakan atau hilangnya suatu program baik
hardware maupun Human Error
Flowchart
• Dalam membuat algoritma, diperlukan suatu
mekanisme atau alat bantu untuk
menuangkan hasil pemikiran mengenai
langkah-langkah penyelesaian masalah yang
sistematis dan terurut.
• Untuk bias menyusun solusi diperlukan
problem solving yang baik.
• Sarana untuk melatih problem solving:
flowchart
Contoh Flowchart
Contoh Flowchart
Mulai
A
Surat Permohonan
Medical Check-up
dari PJTKI
Pembayaran di Kasir
Pendaftaran di
Poliklink Uji
Kesehatan
Penetapan Status
Kesehatan
Penyerahan Hasil
Pemeriksaan Fisik
dan Penunjang oleh
Tim
A
Selesai
Pseudocode
Pseudocode adalah bentuk informal untuk
mendeskripsikan algoritma yang mengikuti
struktur bahasa pemrograman tertentu.
Tujuan dari penggunaan pseeudocode adalah
supaya:
1. lebih mudah dibaca oleh manusia
2. lebih mudah untuk dipahami
3. lebih mudah dalam menuangkan ide/hasil
pemikiran
• Pseudocode sering digunakan dalam bukubuku tentang ilmu komputer ataupun
publikasi ilmiah untuk menjelaskan urutan
proses atau metode tertentu.
• Seorang programmer yang ingin menerapkan
algoritma tertentu, terutama yang kompleks
atau algoritma baru, biasanya akan
memulainya dengan membuat deskripsi
dalam bentuk pseudocode.
• Setelah pseudocode tersebut jadi, maka
langkah selanjutnya hanya tinggal
menterjemahkannya ke bahasa pemrograman
tertentu.
• Pseudocode ini biasanya disusun dalam
bentuk yang terstruktur dengan pendekatan
sekuensial (berurutan) dari atas ke bawah.
Contoh Pseudocode
if sales > 1000 then
bonus <- sales * 25%
salary <- 2000000+bonus
endif
output(salary)
• C++:
int sales;
sales=1001;
if (sales > 1000)
{
bonus = sales*0.25;
salary= 2000 + bonus;
}
cout<<"Salary:"<<salary;
TERIMA KASIH
Download