PERTEMUAN 1 Algoritma & Pemrograman
Embed Size (px)
description
Transcript of PERTEMUAN 1 Algoritma & Pemrograman

1
PERTEMUAN 1Algoritma & Pemrograman
Presented by :Sity Aisyah, M.Kom
Email : [email protected] : yeshasalsabila.blogspot.com

KONSEP ALGORITMADefinisi Algoritma :
1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis.
2. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya.
3. Susunan langkah yang pasti, yang bila diikuti maka akan mentransformasi data input menjadi output yang berupa informasi.
2

Sejarah Algoritma
Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi : Ahli matematika dan astronomi Persia, penulis buku “Aljabar wal muqabala” beberapa abad yang lalu (diperkirakan wafat pada tahun 850), dianggap sebagai pencetus pertama algoritma karena di dalam bukunya Abu Ja’far menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan aritmetika (aljabar).
Kata Algoritma diambil dari kata Al-Khawarizmi yang kemudian berubah menjadi algorism, selanjutnya menjadi Algorithm.
3

Ciri Algoritma
Donald E.Knuth, penulis beberapa buku algoritma abad XX, menyatakan bahwa ada beberapa ciri algoritma yaitu :1. Algoritma mempunyai awal & akhir. Suatu algoritma harus
berhenti setelah mengerjakan serangkaian tugas dengan kata lain, suatu algoritma memiliki langkah yang terbatas.
2. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda, tidak membingungkan (not ambiguous).
3. Memiliki masukan (input).
4. Memiliki kelularan (output).
5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan persoalan.
4

Sifat Algoritma
1. Input : Suatu algoritma memiliki input atau kondisi awal sebelum dilaksanakan, bisa berupa nilai-nilai peubah yang diambil dari himpunan khusus.
2. Output : Suatu algoritma akan menghasilkan output setelah dilaksanakan, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.
3. Definiteness : Langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
4. Finiteness : Suatu algoritma harus memberi kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap kondisi awal atau input yang diberikan.
5. Effectiveness : Setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi yang diharapkan.
6. Generality : Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.
5

Notasi Algoritma
Beberapa notasi yang digunakan untuk menulis
algoritma sbb :
1. Menyatakan langkah-langkah dengan untaian kalimat
deskriptif (Algoritma Euclidean)
2. Menggunakan Diagram Alir (Flowchart)
3. Menggunakan Pseudocode
6

Struktur Algoritma
Agar algoritma dapat ditulis lebih teratur maka struktur algoritma sebaiknya dibagi ke dalam beberapa bagian. Salah satu struktur yang sering dijadikan patokan adalah sbb :
1. Bagian Kepala (Header) : memuat nama algoritma serta informasi atau keterangan tentang algoritma yang ditulis.
2. Bagian Deklarasi (Definisi Variabel) : memuat definisi nama variabel, nama tetapan, nama prosedur, nama fungsi, tipe data yang akan digunakan dalam algoritma.
3. Bagian Deskripsi (Rincian Langkah) : memuat langkah-langkah penyelesaian masalah, termasuk beberapa perintah seperti baca dan tampilkan, ulangi, yang mengubah data input menjadi output, dsb.
7

Contoh : berikut ini contoh struktur sebuah algoritma. Algoritma yang menerima 2 buah angka bulat kemudian menampilkan angka yang lebih besar.
Algoritma Lebih_besar{menerima 2angka kemudian menampilkan angka yang lebih besar}
Definisi Variable integer angka1, angka2;
Rincian Langkah{memasukkan angka}write (“Masukkan angka 1 :”);read (angka1);write (“Masukkan angka 2 :”);read (angka2);{periksa yang lebih besar}If(angka1 > angka2) then write(“yang lebih besar=“,angka1); else write(“yang lebih besar=“,angka2);endif.

Flowcharting
Adalah suatu teknik untuk menyusun rencana program yang
telah diperkenalkan dan telah dipergunakan oleh kalangan
programmer sebelum algoritma menjadi populer.
• Flowchart adalah untaian simbol gambar (chart) yang
menunjukkan aliran (flow) dari proses terhadap data.
• Seorang programmer harus mampu membuat flowchart, harus
mampu membaca dan mengerti flowchart, dan sanggup
menerjemahkan flowchart ke algoritma dan sebaliknya.
• Ada dua kategori simbol flowchart, yaitu program flowchart
dan sistem flowchart.
9

10
Program Flowchart, yaitu simbol-simbol flowchart yang digunakan untuk menggambarkan logik dari pemrosesan terhadap data.
Terminator (mulai atau selesai)
Predefined-Data(definisi awal dari variabel)
Proses (menyatakan proses terhadap data)
Predefined-Process(lambang fungsi atau sub-program)
Input/Output (menerima input atau menampilkan output)
Connector(penghubung)
Seleksi/Pilihan(memilih aliran berdasarkan syarat
Off-page Connector(penghubung-penghubung halaman pada halaman yg berbeda

11
Sistem Flowchart, yaitu simbol-simbol peralatan sistem komputer yang digunakan untuk menyatakan proses pengolahan data.
Keyboard Magnetic Tape
Printer Magnetic Disc
File Storage Sorting
Display/Monitor Extract

Contoh :Gambarkan flowchart dari proses pemilihan satu bilangan yang lebih besar diantara dua buah bilangan.
1. Mulai2. Masukkan A dan B3. Apakah A > B?
Bila Ya, Cetak ABila Tidak, Cetak B
4. Selesai
Mulai
InputA,B
A > B ?
Cetak B
Cetak AY
N
Selesai

Pseudocode
Adalah semu atau tidak sebenarnya, merupakan notasi yang menyerupai motasi bahasa pemrograman tingkat tinggi, khususnya bahasa Pascal dan C. Kemudahan menggunakan pseudocode adalah kemudahan dalam proses konversi (translasi) ke notasi bahasa pemrograman. Hal ini dikarenakan terdapat korespondensi antara setiap pseudocode dengan notasi bahasa pemrograman.
Contoh :Berikut Pseudocode yang menggunakan Bahasa Indonesia.Program : Menghitung Luas LingkaranMulai
Masukkan jari-jari kedalam variabel RMasukkan 3.14 ke dalam variabel PiMasukkan hasil perkalian Pi dengan R kuadrat ke dalam
variabel LuasTampilkan Nilai Variabel Luas
Selesai13

PROGRAM & BAHASA PEMROGRAMANPROGRAM adalah kumpulan instruksi yang digunakan untuk
mengatur komputer agar melakukan suatu tindakan tertentu.
Tanpa program, komputer sesungguhnya tidak dapat berbuat
apa-apa. Itulah sebabnya sering dikatakan bahwa komputer
mencakup 3 aspek penting, berupa hardware, software, dan
brainware.
14
Orang yang membuat program disebut pemrogram (programmer). Adapun aktivitas yang berhubungan dengan pembuatan program dinamakan pemrograman (programming)

Secara garis besar, bahasa-bahasa pemrograman dapat dikelompokkan menjadi :1. Bahasa beraras tinggi (high-level language)
Adalah bahasa pemrograman yang berorientasi kepada bahasa manusia. Biasanya menggunakan kata-kata bahasa Inggris. Yang termasuk dalam kelompok bahasa ini adalah bahasa C, C++, Pascal, dan BASIC.
2. Bahasa beraras rendah (low-level language)Adalah bahasa pemrograman yang berorientasi kepada mesin. Bahasa ini menggunakan kode biner (yang hanya mengenal kode 0 dan 1). Yang termasuk dalam kelompok bahasa ini adalah bahasa mesin dan bahasa rakitan.
15

Program yang ditulis dalam bahasa pemrograman seperti C dan C++ sebenarnya tidak dimengerti oleh komputer secara langsung, sebab komputer hanya mengenal bahasa khasnya saja yang dinamakan bahasa mesin, yakni bahasa yang hanya mengenal kode 0 dan 1. Supaya program dapat dijalankan oleh komputer, program tersebut harus diterjemahkan terlebih dulu ke dalam bahasa mesin(atau biasa disebut kode objek). Proses penerjemahannya dilakukan oleh program yang disebut translator (penerjemah).
Translator dapat berupa :1. Interpreter2. Kompiler
16
Penerjemah Bahasa

Interpreter menerjemahkan instruksi selama program diminta untuk dieksekusi. Jika seseorang bermaksud menjalankan program tersebut (agar dapat dijalankan oleh komputer), mula-mula kode sumber (source code yang ditulis oleh programmer) diterjemahkan dulu ke dalam bentuk kode mesin per baris instruksi. Setelah satu baris instruksi tsb dipahami oleh komputer, instruksi tsb dijalankan. Interpreter kemudian kembali memproses baris instruksi berikutnya.
Berbeda dengan interpreter, Kompiler menerjemahkan instruksi ke dalam kode objek secara keseluruhan. Setelah semua instruksi diterjemahkan, instruksi yang telah dimengerti oleh komputer dijalankan. Proses penerjemahan seperti itu disebut kompilasi. Setelah kompilasi berakhir, kompiler tidak diperlukan lagi, sebab sesudah kompilasi akan terbentuk program yang executable (dapat dijalankan langsung tanpa melalui translator).
17

Langkah-langkah yang perlu dilakukan sebelum membuat program, antara lain :1. Menganalisis Masalah dan membuat Algoritma
Pengalaman, pengetahuan, kreativitas, imajinasi, dan kelihaian merupakan faktor-faktor yang menentukan keberhasilan langkah ini. Di dalam analisis masalah diperlukan tindakan untuk mengidentifikasi informasi yang menjadi keluaran pemecahan masalah dan data-data yang menjadi masukan. Berdasarkan hal itu diperlukan prosedur untuk mengolah masukan menjadi keluaran yang dikehendaki. Langkah detail yang ditujukan untuk komputer guna menyelesaikan suatu masalah inilah yang disebut algoritma. Namun yang disebut algoritma ini berbeda dengan program karena algoritma secara teoritis bersifat bebas dari bahasa pemrograman.
18
Penyelesaian Masalah dengan Program

2. Menuangkan Algoritma ke dalam Bentuk ProgramLangkah menuangkan algoritma ke dalam program ditentukan oleh faktor bahasa pemrograman yang akan digunakan. Programmer harus tahu seluk-beluk bahasa pemrograman yang digunakan.
19
3. Mengeksekusi dan Menguji ProgramSetelah program dibuat dan dikompilasi, program perlu dijalankan untuk diuji kebenarannya. Ada beberapa kemungkinan kesalahan yang terjadi sewaktu proses kompilasi hingga pengeksekusian program :a. Kesalahan Sintaksisb. Kesalahan Logikac. Kesalahan Runtime

20
a. Kesalahan SintaksisDisebabkan adanya kesalahan dalam menuliskan program yang tidak sesuai dengan kaidah bahasa pemrograman. Contoh, suatu pernyataan C++ tidak diakhiri dengan titik-koma. Kesalahan sintaksis terdeteksi sewaktu kompilasi bila Anda menggunakan kompiler C++.
b. Kesalahan LogikaAdalah kesalahan yang terjadi karena ada logika yang salah. Misalnya, Anda menuliskan 31.4 untuk menyatakan phi, padahal yang betul adalah 3.14. akibatnya, hasil yang didapatkan tidak benar.
c. Kesalahan Runtime (Kesalahan Fatal)Adalah kesalahan yang terjadi karena suatu operasi dalam program tidakd apat dilakukan oleh komputer. Sebagai contoh, jika terdapat operasi pembagian dengan nol, maka suatu pesan kesalahan akan ditampilkan dan eksekusi program dihentikan.

21
Thank You