PERTEMUAN 1 Algoritma & Pemrograman

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

description

PERTEMUAN 1 Algoritma & Pemrograman. Presented by : Sity Aisyah, M.Kom Email : [email protected] Blog : yeshasalsabila.blogspot.com. 1. KONSEP ALGORITMA. Definisi Algoritma :. - PowerPoint PPT Presentation

Transcript of PERTEMUAN 1 Algoritma & Pemrograman

Page 1: PERTEMUAN  1 Algoritma  &  Pemrograman

1

PERTEMUAN 1Algoritma & Pemrograman

Presented by :Sity Aisyah, M.Kom

Email : [email protected] : yeshasalsabila.blogspot.com

Page 2: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 3: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 4: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 5: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 6: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 7: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 8: PERTEMUAN  1 Algoritma  &  Pemrograman

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.

Page 9: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 10: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 11: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 12: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 13: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 14: PERTEMUAN  1 Algoritma  &  Pemrograman

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)

Page 15: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 16: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 17: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 18: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 19: PERTEMUAN  1 Algoritma  &  Pemrograman

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

Page 20: PERTEMUAN  1 Algoritma  &  Pemrograman

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.

Page 21: PERTEMUAN  1 Algoritma  &  Pemrograman

21

Thank You