Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

30
Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

description

Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom. Sejarah Algoritma. Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al-Khowarizmi , ilmuan Persia yang menulis kitab al jabr w’al-muqabala ( rules of restoration and reduction ) sekitar tahun 825 M. - PowerPoint PPT Presentation

Transcript of Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Page 1: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Pengantar Algoritma dan Pemrograman

Elin Haerani, ST, M.Kom

Page 2: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Sejarah Algoritma

Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibnu Musa al-

Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun

825 M

Page 3: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

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.

Page 4: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

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 langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca.

Page 5: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Jika seseorang ingin mengirim surat kepada Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang kenalannya di tempat lain, langkah yang harus dilakukan adalah:harus dilakukan adalah:

Langkah :Langkah : Menulis suratMenulis surat Surat dimasukkan ke dalam amplop tertutupSurat dimasukkan ke dalam amplop tertutup Amplop dikasih alamat penerima dan pengirimAmplop dikasih alamat penerima dan pengirim Amplop ditempeli perangko secukupnya.Amplop ditempeli perangko secukupnya. Pergi ke Kantor Pos terdekat untuk Pergi ke Kantor Pos terdekat untuk

mengirimkannyamengirimkannya

Page 6: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Pengantar Algoritma

Jadi dalam menjalankan algoritma harus: Mengerti setiap langkah dalam Algoritma Mengerjakan operasi yang bersesuaian

dengan langkah tersebut.

Page 7: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Pengantar Algoritma 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.

Page 8: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Apa Itu Algoritma ?Apa Itu Algoritma ?

Definisi :Definisi :Urutan langkah-langkah untuk memecahkan Urutan langkah-langkah untuk memecahkan

masalah yang disusun secara sistematis dan masalah yang disusun secara sistematis dan logis.logis.

Kamus Besar Bahasa Indonesia:Kamus Besar Bahasa Indonesia:Algoritma adalah urutan logis pengambilan Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.putusan untuk pemecahan masalah.

Algoritma dibutuhkan untuk memerintah Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-langkah komputer mengambil langkah-langkah tertentu dalam menyelesaikan masalah.tertentu dalam menyelesaikan masalah.

Page 9: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Contoh AlgoritmaAlgoritma TUKAR ISI BEJANADiberikan dua buah bejana A dan B, bejana A berisilarutan berwarna merah, bejana B berisi larutanberwarna biru. Pertukarkan isi kedua bejana itusedemikian sehingga bejana A berisi larutanberwarna biru dan bejana B berisi larutan berwarnamerah.DESKRIPSI :– Tuangkan larutan dari bejana A ke dalam bejana B– Tuangkan larutan dari bejana B ke dalam bejana A.

Page 10: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

BENAR ATAU SALAH ???

Page 11: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Jawabannya : 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 :

Page 12: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Apa Itu Program/Pemrograman?Apa Itu Program/Pemrograman?

DefinisiDefinisiKumpulan instruksi-instruksi tersendiri Kumpulan instruksi-instruksi tersendiri

yang biasanya disebut yang biasanya disebut sourcesource codecode yang yang dibuat oleh programmer (pembuat dibuat oleh programmer (pembuat program).program).

Program : Realisasi dari Algoritma.Program : Realisasi dari Algoritma.Program = Algoritma + Program = Algoritma +

BahasaBahasa

Page 13: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Bahasa PemrogramanBahasa Pemrograman

Adalah Adalah alatalat untuk membuat program untuk membuat programContoh: C, C++, C#, Pascal, Basic, Perl, Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.PHP, ASP, JHP, Java, dll.

Perbedaan: cara memberikan instruksiPerbedaan: cara memberikan instruksi (sintaks)(sintaks)

Persamaan: bertujuan menghasilkan Persamaan: bertujuan menghasilkan output output yang samayang sama

Page 14: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Paradigma PemrogramanParadigma Pemrograman Pemrograman Pemrograman Prosedural / TerstrukturProsedural / Terstruktur

◦ Berdasarkan urutan-urutan, sekuensialBerdasarkan urutan-urutan, sekuensial◦ Program adalah suatu rangkaian prosedur untuk Program adalah suatu rangkaian prosedur untuk

memanipulasi data. Prosedur merupakan kumpulan memanipulasi data. Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.instruksi yang dikerjakan secara berurutan.

◦ Harus mengingat prosedur mana yang sudah dipanggil dan Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.apa yang sudah diubah.

◦ Program dapat dibagai-bagi menjadi prosedur dan fungsi.Program dapat dibagai-bagi menjadi prosedur dan fungsi.◦ Contoh: PASCAL dan CContoh: PASCAL dan C

Pemrograman Pemrograman FungsionalFungsional◦ Berdasarkan teori fungsi matematikaBerdasarkan teori fungsi matematika◦ Fungsi merupakan dasar utama program.Fungsi merupakan dasar utama program.

Pemrograman Pemrograman ModularModular◦ Pemrograman ini membentuk banyak modul.Pemrograman ini membentuk banyak modul.◦ Modul merupakan kumpulan dari prosedur dan fungsi yang Modul merupakan kumpulan dari prosedur dan fungsi yang

berdiri sendiriberdiri sendiri◦ Sebuah program dapat merupakan kumpulan modul-modul.Sebuah program dapat merupakan kumpulan modul-modul.◦ Contoh: MODULA-2 atau ADA Contoh: MODULA-2 atau ADA

Page 15: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Paradigma PemrogramanParadigma Pemrograman Pemrograman Pemrograman Berorientasi ObyekBerorientasi Obyek

◦ Pemrograman berdasarkan prinsip obyek, dimana Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan obyek memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasimethod/event/prosedur yang dapat dimanipulasi

◦ Contoh: C++, Object Pascal, dan Java.Contoh: C++, Object Pascal, dan Java. Pemrograman Pemrograman Berorientasi FungsiBerorientasi Fungsi

◦ Pemrograman ini berfokus pada suatu fungsi Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.pembuatan bahasa pemrograman ini.

◦ Contoh: SQL (Structured Query Language), HTML, Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.XML dan lain-lain.

Pemrograman Pemrograman DeklaratifDeklaratif◦ Pemrograman ini mendeskripsikan suatu masalah Pemrograman ini mendeskripsikan suatu masalah

dengan pernyataan daripada memecahkan dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.masalah dengan implementasi algoritma.

◦ Contoh: PROLOG Contoh: PROLOG

Page 16: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Siklus Hidup Perangkat Lunak Siklus Hidup Perangkat Lunak (Software)(Software)

Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian Algoritma Pemrograman menempati posisi dibagian implementasi karena bagian implementasi merupakan implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding bagian dimana pemrogram melakukan proses coding (pembuatan program). (pembuatan program).

Page 17: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Mengapa Algoritma ?Mengapa Algoritma ?

Pembuatan atau penulisan algoritma tidak Pembuatan atau penulisan algoritma tidak tergantung pada bahasa tergantung pada bahasa pemrograman pemrograman manapun.manapun.

Notasi algoritma dapat diterjemahkan ke Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.dalam berbagai bahasa pemrograman.

Apapun bahasa pemrogramannya, output Apapun bahasa pemrogramannya, output yang akan dikeluarkan samayang akan dikeluarkan sama karena karena algoritmanya sama.algoritmanya sama.

Page 18: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Syarat Algoritma Baik?Syarat Algoritma Baik?

Tingkat kepercayaannya tinggi Tingkat kepercayaannya tinggi ((realibility) realibility) Hasil yang diperoleh dari Hasil yang diperoleh dari proses harus proses harus berakurasi tinggi dan benar.berakurasi tinggi dan benar.

Pemrosesan yang efisien (Pemrosesan yang efisien (cost rendah)cost rendah) Proses harus diselesaikan secepat mungkin dan Proses harus diselesaikan secepat mungkin dan

frekuensi kalkulasi yang sependek mungkin.frekuensi kalkulasi yang sependek mungkin.

Sifatnya generalSifatnya general Bukan sesuatu yang hanya untuk menyelesaikan satu Bukan sesuatu yang hanya untuk menyelesaikan satu

kasus saja, tapi juga untuk kasus lain yang lebih kasus saja, tapi juga untuk kasus lain yang lebih general.general.

Page 19: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Bisa dikembangkan (Bisa dikembangkan (expandable)expandable) Haruslah sesuatu yang dapat kita kembangkan lebih Haruslah sesuatu yang dapat kita kembangkan lebih

jauh berdasarkan perubahan requirement yang ada.jauh berdasarkan perubahan requirement yang ada.

Mudah dimengerti Mudah dimengerti Siapapun yang melihat, dia akan bisa memahami Siapapun yang melihat, dia akan bisa memahami

algoritma Anda. Susah dimengertinya suatu program algoritma Anda. Susah dimengertinya suatu program akan membuat akan membuat susah di-susah di-maintenance maintenance (kelola)(kelola)..

Portabilitas yang tinggi (Portabilitas yang tinggi (portability) portability) Bisa dengan mudahBisa dengan mudah diimplementasikan di berbagai diimplementasikan di berbagai

platform komputer.platform komputer.

Precise Precise (tepat, betul, teliti)(tepat, betul, teliti)

Page 20: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

EfektifEfektifTidak boleh ada instruksi yang tidak mungkin dikerjakan Tidak boleh ada instruksi yang tidak mungkin dikerjakan

oleh pemroses yang akan menjalankannya.oleh pemroses yang akan menjalankannya.

Harus Harus terminateterminateJalannya algoritma harus ada kriteria berhenti.Jalannya algoritma harus ada kriteria berhenti.

Output Output yang dihasilkan tepat.yang dihasilkan tepat.

Page 21: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Langkah Pembuatan ProgramLangkah Pembuatan Program

Mendefinisikan masalahMendefinisikan masalah

a. a. Kondisi awal, yaitu Kondisi awal, yaitu input input yang tersedia.yang tersedia.

b. Kondisi akhir, yaitu b. Kondisi akhir, yaitu output output yang diinginkan.yang diinginkan.

c. Data lain yang tersedia.c. Data lain yang tersedia.

d. Operator yang tersedia.d. Operator yang tersedia.

e. Syarat atau kendala yang harus dipenuhi.e. Syarat atau kendala yang harus dipenuhi.

Page 22: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Tahap Penyelesaian Masalah

Masalah

Model

Algoritma

Program

Eksekusi

Hasil

Data

analisis

analisis

analisis

Page 23: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

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.

Page 24: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Belajar memprogram ≠

Belajar bahasa pemrograman

Page 25: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

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.“

Page 26: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

OLEH2 & LATIHAN

Page 27: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Oleh-1

Buatlah algoritma dengan menggunakan bahasa 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.

Page 28: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Oleh-2 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 + .... + NN = jumlah maksimum suatu nilai yang dimasukkan.

Page 29: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Filosofi Oleh-Oleh

Sungguh.....Oleh – oleh ini, sama sekali tidak memiliki tujuan untuk memberatkan anda, tetapi oleh-oleh ini dimaksudkan agar anda belajar dan tentunya dengan ketekunan anda,Anda akan meraih sukses dan cita-cita anda.SELAMAT BERJUANG !!!

Page 30: Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom

Wassalam

Terimakasih