1 / 29

Algoritma dan Struktur Data

Algoritma dan Struktur Data. Pengenalan Algoritma. Daftar Isi. Algoritma  Langkah Algoritma , Contoh Flowchart  Aturan , Simbol Pseudocode  Konvensi Program  Contoh , Algoritma vs Program Pascal  Struktur Dasar , Tipe Data , Variabel , Konstanta , Operator

seanna
Download Presentation

Algoritma dan Struktur Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritma dan Struktur Data Pengenalan Algoritma

  2. Daftar Isi • Algoritma  Langkah Algoritma, Contoh • Flowchart  Aturan, Simbol • Pseudocode  Konvensi • Program  Contoh, Algoritma vs Program • PascalStruktur Dasar, Tipe Data, Variabel, Konstanta, Operator • Struktur dasar Algoritma, Flowchart dan Pemrograman

  3. Algoritma • Suatu metode khusus yang terdiri dari serangkaian langkah terstruktur dan ditulis secara sistematis di dalam menyelesaikan suatu masalah • Prosedur komputasi yang terdefinisi yang mengambil nilai atau sekumpulan nilai sebagai input, dan menghasilkan nilai atau sekumpulan nilai sebagai output.

  4. Algoritma • Lima ciri penting algoritma • Selesai dalam jumlah langkah terbatas • Tidak memiliki arti ganda • Memiliki nol atau lebih input • Memiliki nol atau lebih output • Efektif • Implementasi Algoritma • Langkah-langkah proses atau prosedur → Kalimat • Skema proses atau prosedur → Pseudocode

  5. Langkah Penyelesaian Masalah • Pendefinisianmasalah • Analisis Algoritma • menentukan variabel-variabel yang digunakan • menentukan teknik penyelesaiannya misalnya : dengan rumus • Penulisan algoritma dan/atau flowchart • Ubah algoritma/ flowchart ke bahasa pemrograman • Pengujiankebenaran (test & debugging) • Dokumentasi

  6. Contoh Algoritma Contoh : - Algorithma ketika seseorang menelpon : 1. Mengangkat gagang telepon, dan mendengarkan nada panggil 2. Memutar nomor telepon yang dituju 3. Apakah ada jawaban ? a. Jika ada jawaban, tanyakan apakah yang dituju ada ? a1. Jika ada, lakukan pembicaraan a2. Jika tidak ada, titip pesan dan tutup pembicaraan b. Jika tidak ada jawaban, kerjakan langkah 4 4. Letakkan gagang telepon

  7. Tahapan Pemecahan Masalah Algoritma Translasi Program dalam Bahasa Tingkat Tinggi Kompilasi Program dalam Bahasa Mesin Interpretasi oleh CPU Operasi (Baca, tulis, hitung, perbandingan, dll)

  8. Flowchart • Diagram alir yang menunjukkan aliran proses suatu algoritma • Contoh program yg biasanya digunakan oleh analis/developer: • Power Designer • Contoh program yg biasanya digunakan oleh end user: • Visio

  9. Aturan di dalam membuat Flowchart • Jalannya proses dibuat sesingkat-singkatnya. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit-belit (dihilangkan) • Rangkaian proses yang sama digambarkan sekali saja • Jalannya proses digambarkan dari atas ke bawah, dan dari kiri ke kanan, dan diberi arah panah • Sebuah flowchart diawali dengan “Mulai” (Start) dan diakhiri dengan “Selesai” (Stop)

  10. Simbol dalam Flowchart

  11. Simbol dalam Flowchart(1) Proses - Menunjukkan suatu proses/pengolahan - Digunakan untuk melambangkan : - perhitungan - perubahan nilai variabel Operasi I/O - Menunjukkan operasi input/ouput - Digunakan untuk melambangkan : - menunggu input/masukan - mengeluarkan output/keluaran

  12. Simbol dalam Flowchart(2) Persiapan (Preparation) - Menunjukkan suatu persiapan - Digunakan untuk melambangkan : - memberikan nilai awal pada var - permulaan dari suatu perulangan Keputusan (Decision) - Menunjukkan proses pembuatan kepu- tusan - Digunakan untuk melambangkan : - suatu pilihan/percabangan (ya/tidak)

  13. Simbol dalam Flowchart(3) Terminal (Terminator) - Digunakan untuk menunjukkan awal dan akhir suatu program/flowchart Penghubung (Connector) - Digunakan sebagai penghubung antar simbol yang terpisah (dalam 1 hal) Penghubung Antar Halaman (Offpage Connector) - Digunakan sebagai penghubung antar simbol yang terpisah (antar hal)

  14. Simbol dalam Flowchart(4) Modul (Module) - Menunjukkan suatu proses yang telah ditentukan - Dapat berupa suatu : - Prosedur (Procedure) - fungsi (Function) Panah (Arrow) - Menunjukkan arah dari suatu proses

  15. Pseudocode • Kode semu yang digunakan untuk menuliskan algoritma agar lebih jelas (mudah dipahami) • Berbeda dengan kode real (program) tapi hampir menyerupai bahasa program

  16. Konvensi Pseudocode • Indentasi digunakan untuk menandai struktur blok. • Komentar ditulis untuk memperjelas baris pseudocode • Pseudocode dinomori untuk setiap instruksinya • Mengabaikan detail teknis penulisan sintaks kode.

  17. Konvensi Pseudocode • Kepala algoritma • Terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut • Deklarasi • Mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma • Deskripsi • Berisi uraian langkah-langkah penyelesaian • Komentar ditulis diantara tanda kurung “{“ dan “}” atauy “//”

  18. Contoh Pseudocode

  19. Program • Instruksi/perintah yang dimasukkan ke komputer dan diterjemahkan oleh compiler agar bisa dieksekusi oleh komputer. • Instruksi/perintah mempunyai syntax tertentu tergantung dr bhs pemrograman (walau hampir sama)

  20. Algoritma vs Program • Algoritma menekankan pada logika penyelesaian masalah dan mengabaikan aturan (sintaks) baku penulisan kode program. • Program merupakan instruksi dengan aturan (sintaks) penulisan yang baku agar dapat dieksekusi oleh komputer.

  21. Bahasa Pemrograman • Bahasa pemrograman dibagi atas 2 (dua) golongan yaitu: • Bahasa tingkat rendah ( low level languages ) • sedikit/tanpa abstraksi, “dekat dgn hardware” • tanpa interpreter atau compiler • contoh: bahasa mesin (machine code), Assembly • Bahasa tingkat tinggi ( high level languages ) • bahasa yang berorientasi pada bahasa manusia (natural language) • abstraksi kuat, lebih mudah digunakan, bisa portable lintas OS & hardware • perlu interpreter atau compiler • contoh: Pascal, C++,dsb

  22. Contoh Bahasa Pemrograman • Banyak macam bahasa pemrograman/scripting: • Contoh Pemrograman Desktop: • C++,Pascal/Delphi,C#,Java,VB • Contoh Pemrograman Web: • Server: ASP, ASP.NET (VB.NET/C#), PHP, Java Servlet, • Client: Javascript • Contoh Scripting: • Perl, Python, RoR (Ruby on Rail), Shell Scripting

  23. Pascal • Bahasa pemrograman Pascal diciptakan oleh Niklaus Wirth. Bahasa Pascal adalah salah satu dari bahasa tingkat tinggi. • Komputer hanya mengenal kode 0 dan 1 (kode binary), sehingga diperlukan sebuah alat untuk melakukan penerjemahan. • Penerjemah sebuah bahasa pemrograman ke dalam bentuk kode binary disebut dengan istilah interpreter atau kompiler. • Kompiler yang biasanya digunakan untuk bahasa Pascal yaitu Turbo Pascal, Borland Pascal, Free Pascal.

  24. Struktur Dasar Pascal • Statement program • Menyatakan nama program, misal program exec; • Statement uses • menyertakan file tertentu (crt.pas, math.pas) yang mengandung fungsi-fungsi dasar Pascal, misal uses crt, math; • Deklarasi global • Terdiri dari deklarasi konstanta (const), variabel (var), prosedur (procedure), fungsi (function). Bersifat global shg bisa diakses oleh semua bagian program • Bagian utama program • bagian pokok dari struktur program/kendali utama program

  25. Tipe Data • Tipe data dasar/primitif: • Integer (bilangan bulat) • Integer, Byte, ShortInt, LongInt, Word • Float (bilangan desimal) • Real, Single, Double, Extended • Char (karakter) • Boolean • True,False • String (rangkaian karakter)

  26. Variabel • Variabel (Variable) adalah penampung data di memori, nilai yg bisa ditampung tergantung dari Tipe Data. • Di Pascal, deklarasi variabel: • [nama variabel]: [tipe data] • Contoh: • var • isValid: boolean; • Sentence: string; • Number: int;

  27. Konstanta • Variabel yang mempunyai nilai yang selalu tetap / tidak dapat diubah setelah dideklarasikan selama pengeksekusian program • Di Pascal, deklarasi konstanta: • const [nama_konstanta] = [nilai_konstanta]; • Contoh • const pi = 3.14; • Const kata = 'ini konstanta';

  28. Operator • Simbol yg menentukan operasi (misal pada variabel) yg dilakukan dlm suatu expression (perintah) • Contoh operator: • Aritmatika :+ - * div • Logika (boolean): true false or and not • Relasi : == <> < > <= >= • Assignment : := • Akses member : . • dsb

  29. Struktur dasar Algoritma, Flowchart dan Pemrograman • Runtunan (Sequence) • Pemilihan atau Keputusan (Selection or Decision) • Pengulangan atau Iterasi (Looping or Iteration) • Pencacah (Counter)

More Related