Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Strategi dan Analisa Algoritma

Presentasi serupa


Presentasi berjudul: "Strategi dan Analisa Algoritma"— Transcript presentasi:

1 Strategi dan Analisa Algoritma
Catur Supriyanto, S.Kom, MCs

2 Strategi dan Analisa Algoritma
Dosen : Catur Supriyanto, S.Kom, MCS SKS : 3 SKS Ruang : G.2 – Office of International Affairs

3 Deskripsi Penerapan cara pembelajaran pada matakuliah Strategi dan Analisis Algoritma secara umum ditujukan untuk memberikan pembekalan kepada mahasiswa dalam berfikir secara logis, kritis, kreatif dan analitis dalam memecahkan masalah berbasis program komputer. Secara khusus pada matakuliah ini akan diberikan ketrampilan baru dalam hal pengukuran efisiensi dan waktu tempuh suatu algoritma, yaitu mengukur seberapa efisien langkah-langkah serta berapa banyak waktu yang di perlukan untuk pemecahan suatu masalah.

4 Standar Kompetensi Standar kompetensi dari mata kuliah ini adalah memberikan pengetahuan mengenai cara melakukan analisa algoritma dan memilih disain algoritma yang baik untuk suatu masalah. Pada akhirnya mahasiswa dapat mengembangkan suatu strategi pemecahan masalah dengan disain algoritma yang telah di analisis dengan benar.

5 Komponen Penilaian KEAKTIFAN: 10% TUGAS: 20% UTS: 30% UAS: 40%

6 Peraturan Tidak ada tes susulan apapun
Peraturan absensi mengikuti aturan Universitas (75%) Tidak ada tugas tambahan untuk meningkatkan nilai yang kurang Dosen terlambat 30 menit, maka kelas kosong Mahasiswa terlambat 30 menit, tidak boleh absen

7 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

8 Definisi Algoritma Urutan langkah-langkah untuk memecahkan masalah
Urutan logis pengambilan keputusan untuk memecahkan masalah urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang lain. tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.

9 Algoritma dalam Kehidupan

10 Algoritma dalam Kehidupan

11 Definisi Algoritma [2] Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. Algoritma di butuhkan untuk memerintah komputer mengambil langkah-langkah tertentu untuk menyelesaikan masalah Algoritma  Pemrograman  Program Agar algoritma dapat memerintah (diproses) komputer, maka dirubah menjadi bentuk program (melalui proses pemrograman).

12 Sifat - Sifat Algoritma
Aspek Penting Algoritma : Finite  algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Definite  setiap langkah didefinisikan secara tepat, tidak boleh membingungkan (ambigu) Input  sebuah algoritma memiliki satu/lebih input sebelum dijalankan Output  algoritma memiliki satu/lebih output, yang biasanya bergantung kepada input Effective  setiap algoritma diharapkan memiliki sifat efektif. (setiap langkah harus sederhana dan sehingga dapat dikerjakan dalam waktu yang masuk akal)

13 Notasi Algoritma Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman

14 Peranan Algoritma Peran algoritma : fundamental (tidak ada algoritma tidak ada program) Algoritma + struktur data = program Struktur data :teknik/cara penyusunan/ penyimpanan data dalam komputer “ memori seminim mungkin dan kecepatan eksekusi semaksimal mungkin”

15 Tahap Penyelesaian Masalah
Model analisis Algoritma analisis Program analisis Eksekusi Data Hasil

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

17 Contoh: Sebuah prosedur ketika akan mengirimkan surat kepada teman:
Tulis surat pada secarik kertas surat Ambil sampul surat atau amplop Masukkan surat ke dalam amplop Tutup amplop surat dengan lem perekat Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat. Tempelkan perangko pada amplop surat Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.

18 Penulisan Algoritma Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris) Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami. Menggunakan Flowchart Baik karena alur algoritma dapat dilihat secara visual, tetapi repot pembuatannya jika algoritma panjang Menggunakan Pseudocode Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman

19 Menggunakan Natural Language (Bahasa Natural)
Write an algorithm to perform addition of two number. Step 1: read the first number say a Step 2: read the second number say b Step 3: add the two number and store the result in a variable c Step 4: display the result

20 Menggunakan Pseudo Code
Algorithm sum(a, b) //problem description: this algorithm perform addition of two //number //input: two integers a and b //output: addition of two integers ca+b Write c

21 Menggunakan Flowchart
Start Start Statement Transition Processing / Assignment Statement Input / Output Statement Conditional Statement Stop Stop Statement

22 Menggunakan Flowchart [2]
Symbol Predefined Process (Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage) Symbol Off-line Connector ( Simbol untuk keluar/masuk prosedure atau proses dalam lembar/halaman yang lain) Symbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam lembar/halaman yang sama)

23 Menggunakan Flowchart [3]
Start Input the value of a Input the value of b c= a + b Display the value of c Stop

24 Buatlah flowchart untuk menampilkan semua bilangan genap dari 1 – 20 dan bilangan ganjil dari 30 – 50 dengan menggunakan pengulangan while. x : int y : int Deskripsi x ← 2 y ← 31 while (x<=20) write (x) x ← x+2 while (y<=49) write (y) y ← y+2 end while

25 Buatlah flowchart untuk menampilkan semua bilangan kelipatan 7 dari 1 – 50 dengan menggunakan pengulangan do while. x : int Deskripsi x ← 7 Do write (x) x ← x+7 while (x<=49)

26 Pentingnya Analisa Algorithm
Suppose, if we want to build a house we do not directly start constructing the house. Instead we consult an architect, we put our ideas and suggestion, accordingly he draws a plan of the house, and he discussed it with us. Finally, the blue print of house gets ready. Now it becomes very easy and systematic for construction of desired house. Designing is just a paper work and it can be easily modified on the paper. Before actual implementation of the program, designing an algorithm is very important step.

27 Tahap Analisa Algoritma
Bagaimana merencanakan algoritma? Bagaimana menyatakan suatu algoritma (menulis algoritma)? Bagaimana validitas suatu algoritma? Bagaimana menganalisa suatu algoritma? Bagaimana menguji program dari suatu algoritma?

28 Ad.1. Bagaimana merencanakan algoritma
Dengan Mendefinisikan masalah. Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran. Rumus : ∏ . r2 dengan Phi = atau 22/7.

29 Ad.2. Bagaimana menyatakan suatu algoritma (menulis algoritma)
Dengan psudocode Suatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu. Phi  3.14 Input (diameter) Radius  diameter / 2 Luas  phi * radius * radius Output (Luas) End

30 Luas = phi * radius * radius
Dengan flowchart / diagram alir Program Flowchart, yaitu bagan yang menggambar-kan urutan logika dari suatu prosedur pemecahan masalah. Start Phi = 3.14 Input (diameter) Radius = diameter/2 Luas = phi * radius * radius Output Luas Stop

31 Tahap Proses Uji Algoritma
Pengujian Tahap Debuging Untuk mengecek kesalahan program, Baik sintaksis maupun logika. 2. Pengujian Tahap Profiling Untuk menentukan waktu tempuh dan banyaknya memori program yang digunakan.

32 Analisis Suatu Algoritma
Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat dilihat dari: Waktu Tempuh dari Suatu Algoritma Jumlah memori yang digunakan Hal-hal yang dapat mempengaruhi waktu tempuh adalah : Banyaknya langkah. Besar dan jenis input data. Jenis Operasi. Komputer dan kompilator

33 Langkah-langkah yang membentuk suatu algoritma dapat dibagi menjadi 3 kelompok proses:
1. Sequence Process  instruksi dikerjakan secara berurutan satu persatu dimulai dari langkah pertama sampai terakhir. 2. Selection Process  instruksi pemilihan proses (percabangan), sehingga apabila memenuhi persyaratan tertentu maka instruksi akan dikerjakan. Contoh : jika pembayaran tunai diberi diskon 10% Jika dilakukan secara kredit maka diskon 0 %. (dalam pernyataan diatas, hanya boleh melakukan 1 instruksi dari 2 alternatif instruksi. 3. Iteration Process  suatu instruksi yang dikerjakan berulang-ulang selama beberapa kali selama masih memenuhi suatu kondisi.

34 BAHASA PEMROGRAMAN Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam Bahasa pemrogram dibedakan menjadi : Bahasa tingkat rendah (low level language) : bahasa yang berorientasi ke mesin. Bahasa tingkat tinggi (high level language) : bahasa yang berorientasi ke manusia (seperti bahasa inggris) contoh bahasa Pascal, bahasa C dll.

35 BAHASA PEMROGRAMAN Program yang ditulis dalam bahasa pemrograman akan diterjemahkan kedalam bahasa mesin (kenal dengan biner digit) dengan menggunakan penterjemah. Penterjemah : Interpreter : menterjemahkan baris per baris instruksi. Contoh bahasa Basic. Compiler : menterjamahkan setelah seluruh instruksi ditulis. Contoh bahasa Pascal, C, C++, dll. Interpreters and Compilers (Bits and Bytes, Episode 6).mp4

36 Tugas (Buat Flowchartnya dan Pseudocodenya !)
Buatlah algoritma untuk menghitung konversi suhu.dari Celcius menjadi Reamur dan Farenheit. Input: suhu dalam Celcius Proses: R = 4/5 * C dan F = 9/5 * C + 32 Output Buatlah algoritma untuk menentukan suatu bilangan genap atau ganjil Input: suatu bilangan Ouput: genap / ganjil Buatlah algoritma untuk menentukan suatu bilangan adalah bilangan prima atau bukan.

37 Pseudocode Cek Bil. Prima
Mulai Masukan nilai bilangan a b=1 b=b+1 c=a mod b Periksa apakah c=0 Jika tidak kembali ke langkah 4 Jika iya periksa apakah a=b Jika tidak maka a bukan bilangan prima Jika iya maka a adalah bilangan prima Selesai


Download ppt "Strategi dan Analisa Algoritma"

Presentasi serupa


Iklan oleh Google