PENGANTAR ALGORITMA DAN IMPLEMENTASI

Download Report

Transcript PENGANTAR ALGORITMA DAN IMPLEMENTASI

Pengantar Algoritma dan
Pemrograman
Elin Haerani, ST, M.Kom
Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu
Ja’far Mohammed Ibnu Musa alKhowarizmi, ilmuan Persia yang menulis
kitab al jabr w’al-muqabala (rules of
restoration and reduction) sekitar tahun
825 M
Algoritma Dalam Kehidupan




Algoritma adalah jantung ilmu komputer
atau informatika.
Banyak cabang ilmu komputer yang diacu
dalam terminologi algoritma.
Namun algoritma juga digunakan dalam
kehidupan sehari-hari, contohnya resep
makanan.
Di dalam resep makanan terdapat
langkah-langkah yang merupakan
algoritma. Selain itu masih banyak contoh
algoritma yang lain.
Con’t


Dalam kehidupan sehari-haripun banyak
terdapat proses yang dinyatakan dalam
suatu algoritma.
Cara-cara membuat kue atau masakan
yang dinyatakan dalam suatu resep juga
dapat disebut sebagai algoritma. Pada
setiap resep selalu ada urutan langkahlankah membuat masakan. Bila langkahlangkahnya tidak logis, tidak dapat
dihasilkan masakan yang diinginkan. Ibuibu yang mencoba suatu resep masakan
akan membaca satu per satu langkahlangkah pembuatannya lalu ia mengerjakan
proses sesuai yang ia baca.

Jika seseorang ingin mengirim surat kepada
kenalannya di tempat lain, langkah yang
harus dilakukan adalah:
Langkah :





Menulis surat
Surat dimasukkan ke dalam amplop tertutup
Amplop dikasih alamat penerima dan pengirim
Amplop ditempeli perangko secukupnya.
Pergi ke Kantor Pos terdekat untuk
mengirimkannya
Jadi dalam menjalankan algoritma harus:
 Mengerti setiap langkah dalam Algoritma
 Mengerjakan operasi yang bersesuaian
dengan langkah tersebut.


Agar dapat dilaksanakan oleh komputer,
algoritma harus ditulis dalam notasi bahasa
pemrograman disebut dengan program.
Jadi program adalah perwujudan atau
implementasi teknis Algoritma yang ditulis
dalam bahasa pemrogaman tertentu sehingga
dapat dilaksanakan oleh komputer.
Apa Itu Algoritma ?
Definisi :
Urutan langkah-langkah untuk memecahkan
masalah yang disusun secara sistematis dan
logis.
Kamus Besar Bahasa Indonesia:
Algoritma adalah urutan logis pengambilan
putusan untuk pemecahan masalah.
Algoritma dibutuhkan untuk memerintah
komputer mengambil langkah-langkah
tertentu dalam menyelesaikan masalah.
Algoritma TUKAR ISI BEJANA
Diberikan dua buah bejana A dan B, bejana A berisi
larutan berwarna merah, bejana B berisi larutan
berwarna biru. Pertukarkan isi kedua bejana itu
sedemikian sehingga bejana A berisi larutan
berwarna biru dan bejana B berisi larutan berwarna
merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.


Algoritma TUKAR ISI BEJANA di atas tidak
menghasilkan pertukaran yang benar. Langkah
di atas tidak logis, hasil pertukaran yang terjadi
adalah percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana,
diperlukan sebuah bejana tambahan sebagai
tempat penampungan sementara, misalnya
bejana C. Maka algoritma untuk menghasilkan
pertukaran yang benar adalah sebagai berikut :
Apa Itu Program/Pemrograman?
Definisi
Kumpulan instruksi-instruksi tersendiri
yang biasanya disebut source code yang
dibuat oleh programmer (pembuat
program).
Program : Realisasi dari Algoritma.
Program = Algoritma + Bahasa



Adalah alat untuk membuat program
Contoh: C, C++, C#, Pascal, Basic, Perl, PHP,
ASP, JHP, Java, dll.
Perbedaan: cara memberikan instruksi
(sintaks)
Persamaan: bertujuan menghasilkan output
yang sama



Pemrograman Prosedural / Terstruktur
◦
Berdasarkan urutan-urutan, sekuensial
◦
Program adalah suatu rangkaian prosedur untuk
memanipulasi data. Prosedur merupakan kumpulan instruksi
yang dikerjakan secara berurutan.
◦
Harus mengingat prosedur mana yang sudah dipanggil dan
apa yang sudah diubah.
◦
Program dapat dibagai-bagi menjadi prosedur dan fungsi.
◦
Contoh: PASCAL dan C
Pemrograman Fungsional
◦
Berdasarkan teori fungsi matematika
◦
Fungsi merupakan dasar utama program.
Pemrograman Modular
◦
Pemrograman ini membentuk banyak modul.
◦
Modul merupakan kumpulan dari prosedur dan fungsi yang
berdiri sendiri
◦
Sebuah program dapat merupakan kumpulan modul-modul.
◦
Contoh: MODULA-2 atau ADA



Pemrograman Berorientasi Obyek
◦
Pemrograman berdasarkan prinsip obyek, dimana
obyek memiliki data/variabel/property dan
method/event/prosedur yang dapat dimanipulasi
◦
Contoh: C++, Object Pascal, dan Java.
Pemrograman Berorientasi Fungsi
◦
Pemrograman ini berfokus pada suatu fungsi
tertentu saja. Sangat tergantung pada tujuan
pembuatan bahasa pemrograman ini.
◦
Contoh: SQL (Structured Query Language), HTML,
XML dan lain-lain.
Pemrograman Deklaratif
◦
Pemrograman ini mendeskripsikan suatu masalah
dengan pernyataan daripada memecahkan masalah
dengan implementasi algoritma.
◦
Contoh: PROLOG

Dilihat dari Struktur Sistem Komputer dan Siklus diatas,
Algoritma Pemrograman menempati posisi dibagian
implementasi karena bagian implementasi merupakan bagian
dimana pemrogram melakukan proses coding (pembuatan
program).
Mengapa Algoritma ?
 Pembuatan atau penulisan algoritma tidak
tergantung pada bahasa pemrograman
manapun.
 Notasi algoritma dapat diterjemahkan ke
dalam berbagai bahasa pemrograman.
 Apapun bahasa pemrogramannya, output
yang akan dikeluarkan sama karena
algoritmanya sama.
Syarat Algoritma Baik?
Tingkat kepercayaannya tinggi (realibility)
Hasil yang diperoleh dari proses harus berakurasi
tinggi dan benar.
Pemrosesan yang efisien (cost rendah)
Proses harus diselesaikan secepat mungkin dan
frekuensi kalkulasi yang sependek mungkin.
Sifatnya general
Bukan sesuatu yang hanya untuk menyelesaikan satu
kasus saja, tapi juga untuk kasus lain yang lebih
general.
Bisa dikembangkan (expandable)
Haruslah sesuatu yang dapat kita kembangkan lebih
jauh berdasarkan perubahan requirement yang ada.
Mudah dimengerti
Siapapun yang melihat, dia akan bisa memahami
algoritma Anda. Susah dimengertinya suatu program
akan membuat susah di-maintenance (kelola).
Portabilitas yang tinggi (portability)
Bisa dengan mudah diimplementasikan di berbagai
platform komputer.
Precise (tepat, betul, teliti)
Efektif
Tidak boleh ada instruksi yang tidak mungkin dikerjakan
oleh pemroses yang akan menjalankannya.
Harus terminate
Jalannya algoritma harus ada kriteria berhenti.
Output yang dihasilkan tepat.
Langkah Pembuatan Program
Mendefinisikan masalah
a. Kondisi awal, yaitu input yang tersedia.
b. Kondisi akhir, yaitu output yang diinginkan.
c. Data lain yang tersedia.
d. Operator yang tersedia.
e. Syarat atau kendala yang harus dipenuhi.
Masalah
analisis
Model
Algoritma
analisis
analisis
Program
Eksekusi
Hasil
Data




Program berisi urutan langkah-langkah
penyelesaian masalah.
Program ditulis dengan menggunakan bahasa
pemrograman.
Orang yang membuat program disebut
pemrogram (programmer).
Kegiatan merancang dan menulis program
disebut pemrograman.
Belajar memprogram
≠
Belajar bahasa pemrograman
Suatu Algoritma yg terbaik (The Best):
“Suatu algoritma harus menghasilkan
output yg tepat guna (efektif) dlm waktu
yg relatif singkat & penggunaan memori
yg relatif sedikit (efesien) dgn langkah
yg berhingga & prosedurnya berakhir
baik dlm keadaan diperoleh suatu solusi
ataupun tdk ada solusinya.“

Buatlah
bahasa
algoritma dengan menggunakan
natural (bahasa sehari-hari /
pseudocode )
1. Buat langkah untuk melakukan penggantian ban
mobil yang pecah ( tanpa ada masalah / syarat ).
2. Dari Soal diatas dikembangkan kembali, mis :
bila ban serep kempes atau ban serep bocor.

Buatlah algoritma (dengan bahasa natural)
Kemudian sadur ke dalam bahasa
pemrograman Java
1. Menampilkan bilangan ganjil dari 1 sampai dengan
10.
2. Menghitung jumlah deret : 1 + 2 + 3 + 4 + .... + N
N = jumlah maksimum suatu nilai yang
dimasukkan.
Sungguh.....
Oleh – oleh ini, sama sekali tidak memiliki
tujuan untuk memberatkan anda, tetapi oleholeh ini dimaksudkan agar anda belajar dan
tentunya dengan ketekunan anda,
Anda akan meraih sukses dan cita-cita anda.
SELAMAT BERJUANG !!!
Wassalam
Terimakasih