PERTEMUAN 1 Algoritma & Pemrograman

Download Report

Transcript PERTEMUAN 1 Algoritma & Pemrograman

PERTEMUAN 1 Algoritma & Pemrograman

1

Presented by : Sity Aisyah, M.Kom

Email : [email protected]

Blog : yeshasalsabila.blogspot.com

KONSEP ALGORITMA

Definisi 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

muqabala” “Aljabar wal

beberapa abad yang lalu (diperkirakan wafat pada tahun 850), dianggap sebagai

algoritma pencetus pertama

karena di dalam bukunya Abu Ja’far menjelaskan langkah-langkah dalam menyelesaikan berbagai persoalan aritmetika (aljabar).

Kata

Algoritma

diambil dari kata kemudian berubah menjadi

algorism Al-Khawarizmi

yang , 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.

2.

3.

4.

5.

6.

Input :

Suatu algoritma memiliki input atau kondisi awal sebelum dilaksanakan, bisa berupa nilai-nilai peubah yang diambil dari himpunan khusus.

Output

: Suatu algoritma akan menghasilkan output setelah dilaksanakan, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.

Definiteness

: Langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.

Finiteness

: Suatu algoritma harus memberi kondisi akhir atau output setelah sejumlah langkah yang terbatas jumlahnya dilakukan terhadap kondisi awal atau input yang diberikan.

Effectiveness

: Setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya didapatkan solusi yang diharapkan.

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

Program Flowchart

, yaitu simbol-simbol flowchart yang digunakan untuk menggambarkan logik dari pemrosesan terhadap data.

Terminator

(mulai atau selesai)

Proses

(menyatakan proses terhadap data)

Input/Output

(menerima input atau menampilkan output)

Seleksi/Pilihan

(memilih aliran berdasarkan syarat

Predefined-Data

(definisi awal dari variabel)

Predefined-Process

(lambang fungsi atau sub program)

Connector

(penghubung) Off-page Connector (penghubung-penghubung halaman pada halaman yg berbeda

10

Sistem Flowchart

, yaitu simbol-simbol peralatan sistem komputer yang digunakan untuk menyatakan proses pengolahan data.

Keyboard Magnetic Tape Printer File Storage Display/Monitor Magnetic Disc Sorting Extract 11

Contoh

: Gambarkan flowchart dari proses pemilihan satu bilangan yang lebih besar diantara dua buah bilangan.

1.

2.

3.

4.

Mulai Masukkan A dan B Apakah A > B?

Bila Ya, Cetak A Bila Tidak, Cetak B Selesai

Mulai Input A,B Cetak A A > B ?

N Cetak B Y 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 Lingkaran Mulai Masukkan jari-jari kedalam variabel R Masukkan 3.14 ke dalam variabel Pi Masukkan hasil perkalian Pi dengan R kuadrat ke dalam variabel Luas Tampilkan Nilai Variabel Luas Selesai

13

PROGRAM & BAHASA PEMROGRAMAN

PROGRAM 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

.

Orang yang membuat program disebut

pemrogram (programmer)

.

Adapun aktivitas pembuatan yang berhubungan program

pemrograman (programming)

dengan dinamakan

14

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

Penerjemah Bahasa

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. Interpreter 2. Kompiler

16

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

Penyelesaian Masalah dengan Program

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

2. Menuangkan Algoritma ke dalam Bentuk Program Langkah menuangkan algoritma ke dalam program ditentukan oleh faktor bahasa pemrograman yang akan digunakan.

Programmer harus tahu seluk-beluk bahasa pemrograman yang digunakan.

3. Mengeksekusi dan Menguji Program Setelah program dibuat dan dikompilasi, program perlu dijalankan untuk diuji kebenarannya.

kemungkinan kesalahan yang terjadi Ada beberapa sewaktu proses kompilasi hingga pengeksekusian program : a. Kesalahan Sintaksis b. Kesalahan Logika c. Kesalahan Runtime

19

a. Kesalahan Sintaksis Disebabkan 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 Logika Adalah 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.

20

21