Strategi dan Analisa Algoritma

Slides:



Advertisements
Presentasi serupa
Pengertian Dasar Logika dan Algoritma
Advertisements

1 MATA KULIAH : “LOGIKA DAN ALGORITMA” PERTEMUAN I PENGANTAR ALGORITMA DAN PROGRAM CREATED BY: AYU ANGGRIANI H PTIK A 2009 PRODI PENDIDIKAN TEKNIK.
Algoritma dan Flowchart
- PERTEMUAN 1 - DASAR-DASAR ALGORITMA, PROGRAM, DAN PEMROGRAMAN
Pengenalan Algoritma Ardian Maretta Prastiawan, Ssi
Algorithma Pemrograman
Pemrograman Rahmat D.R. Dako, ST, M.Eng.
ALGORITMA Algoritma urutan langkah-langkah yang logis utuk memecahkan masalah Kata algoritma diambil dari nama seorang ilmuwan Persia Abu Ja’far Mohammed.
Introduction to Algorithm and Programming
PERTEMUAN I PENGERTIAN DASAR LOGIKA DAN ALGORITMA ~
Algoritma dan Flowchart
Bahasa Pemrograman dan Flow Chart
Algoritma dan Pemrograman
Algoritma.
Algoritma dan Struktur Data
Dasar- Dasar Algoritma
Pengantar Algoritma dan Pemrograman Elin Haerani, ST, M.Kom
PENGANTAR ALGORITMA DAN PEMROGRAMAN
PENGENALAN ALGORITMA & PEMROGRAMAN
Struktur Data dan Algoritma
PERTEMUAN 2 PENGERTIAN DASAR LOGIKA DAN ALGORITMA.
By Adnan Purwanto, S.Kom.  Langkah-langkah yang kita lakukan dalam memberikan instruksi kepada komputer untuk memecahkan masalah  Manusia harus menggunakan.
PENGERTIAN DASAR ALGORITMA & FLOWCHART
Algoritma dan Flowchart
ALGORITMA DAN PEMROGRAMAN
Mahasiswa diharapkan dapat:
PERTEMUAN 1.
PERTEMUAN 1 Algoritma & Pemrograman
Pendahuluan Algoritma dan Pemrograman I-A
M1. Konsep dasar algoritma & pemrograman
Flowchart (Diagram Alur)
Algoritma dan Pemrograman 1
ALGORITMA PEMEROGRAMAN
Algoritma merupakan pondasi yang harus dikuasai mahasiswa yang ingin menyelesaikan masalah secara terstruktur, efektif, dan efisien, khususnya untuk.
Start.
ALGORITMA DAN PEMOGRAMAN 1A
Sindy Nova Algoritma dan Pemrograman 1A
ALGORITMA DAN PEMROGRAMAN (PERTEMUAN 2)
Struktur Algoritma Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria.
Algoritma.
PENGENALAN ALGORITMA & PEMROGRAMAN
ALGORITMA & PEMROGRAMAN 1A
PENGENALAN ALGORITMA & PEMROGRAMAN
PROSES PEMBUATAN PROGRAM KOMPUTER
Definisi Algoritma Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti.
Algoritma dan Pemrograman
Introduction to Algorithm and Programming
Bahasa Pemrograman dan Flow Chart
DASAR PEMROGRAMAN Anita Qoiriah ..
Bahasa Pemrograman Poltek Balikpapan 2010.
Introduction to Algorithm and Programming
Pengantar Konsep Bahasa Pemrograman
Keterampilan komputer 1AB
Pertemuan-I ALGORITMA & PEMROGRAMAN-I.
ALGORITMA DAN FLOWCHART
Lecturer Note II Turbo Pascal & Pemrograman
Algoritma & Pemrograman 1
Pendahuluan Komputer adalah alat bantu untuk menyelesaikan masalah.
Introduction to Algorithm and Programming
Algoritma dan Flowchart
Algoritma dan Flowchart
Algoritma pemrogaman komputer
Oleh : Pramesthi Handaru
LOGIKA & ALGORITMA KONSEP ALGORITMA & FLOWCHART M. Febriansyah, ST., MT.
Pengertian Dasar Logika dan Algoritma. LOGIKA Pertama kali diperkenalkan oleh Aristoteles (384 – 322 SM) Logika berasal dari kata Yunani kuno λόγος (logos)
IT234 ALGORITMA DAN STRUKTUR DATA
ANALISIS ALGORITMA Hoiriyah, S.Kom., M.Kom.. Analisis dan Algoritma.
Dasar Konstruksi Pemrograman
PEMROGRAMAN DASAR 3.1 & 4.1 KONSEP, STRUKTUR, PENULISAN ALGORITMA DHARU WIHARTASIH, S.PD SMK PALAPA SEMARANG.
Konsep Algoritma Pemrograman
Transcript presentasi:

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

Strategi dan Analisa Algoritma Dosen : Catur Supriyanto, S.Kom, MCS SKS : 3 SKS Email : catur.dinus@gmail.com Ruang : G.2 – Office of International Affairs

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.

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.

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

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

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

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.

Algoritma dalam Kehidupan

Algoritma dalam Kehidupan

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

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)

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

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”

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

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

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.

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

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

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

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

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)

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

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

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)

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.

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?

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

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

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

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.

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

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.

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.

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

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.

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