Algoritma dan Struktur Data

29
Computer Science, University of Brawijaya Putra Pandu Adikara, S.Kom Algoritma dan Struktur Data Pengenalan Algoritma

description

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 - PowerPoint PPT Presentation

Transcript of Algoritma dan Struktur Data

Page 1: Algoritma dan Struktur Data

Computer Science, University of Brawijaya

Putra Pandu Adikara, S.Kom

Algoritma dan Struktur DataPengenalan Algoritma

Page 2: Algoritma dan Struktur Data

Daftar Isi

Algoritma Langkah Algoritma, ContohFlowchart Aturan, SimbolPseudocode KonvensiProgram Contoh, Algoritma vs ProgramPascal Struktur Dasar, Tipe Data,

Variabel, Konstanta, OperatorStruktur dasar Algoritma, Flowchart dan Pemrogr

aman

Page 3: Algoritma dan Struktur Data

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.

Page 4: Algoritma dan Struktur Data

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

Page 5: Algoritma dan Struktur Data

Langkah Penyelesaian Masalah

Pendefinisian masalahAnalisis Algoritma

• menentukan variabel-variabel yang digunakan• menentukan teknik penyelesaiannya

misalnya : dengan rumusPenulisan algoritma dan/atau flowchartUbah algoritma/ flowchart ke bahasa pemrogramanPengujian kebenaran (test & debugging)Dokumentasi

Page 6: Algoritma dan Struktur Data

Contoh Algoritma

Contoh : - Algorithma ketika seseorang menelpon :1. Mengangkat gagang telepon, dan mendengarkan

nada panggil2. Memutar nomor telepon yang dituju3. Apakah ada jawaban ?

a. Jika ada jawaban, tanyakan apakah yang dituju ada ?

a1. Jika ada, lakukan pembicaraana2. Jika tidak ada, titip pesan dan tutup pembicaraan

b. Jika tidak ada jawaban, kerjakan langkah 44. Letakkan gagang telepon

Page 7: Algoritma dan Struktur Data

Tahapan Pemecahan Masalah

Algoritma

Program dalamBahasa Tingkat

Tinggi

Program dalamBahasa Mesin

Operasi(Baca, tulis, hitung, perbandingan, dll)

Translasi

Interpretasi oleh CPU

Kompilasi

Page 8: Algoritma dan Struktur Data

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

Page 9: Algoritma dan Struktur Data

Aturan di dalam membuat Flowchart

1. Jalannya proses dibuat sesingkat-singkatnya. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit-belit (dihilangkan)

2. Rangkaian proses yang sama digambarkan sekali saja3. Jalannya proses digambarkan dari atas ke bawah, dan

dari kiri ke kanan, dan diberi arah panah4. Sebuah flowchart diawali dengan “Mulai” (Start) dan

diakhiri dengan “Selesai” (Stop)

Page 10: Algoritma dan Struktur Data

Simbol dalam Flowchart

Page 11: Algoritma dan Struktur Data

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

Page 12: Algoritma dan Struktur Data

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)

Page 13: Algoritma dan Struktur Data

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 (OffpageConnector)- Digunakan sebagai penghubung antar simbol yang terpisah (antar hal)

Page 14: Algoritma dan Struktur Data

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

Page 15: Algoritma dan Struktur Data

Pseudocode

Kode semu yang digunakan untuk menuliskan algoritma agar lebih jelas (mudah dipahami)

Berbeda dengan kode real (program) tapi hampir menyerupai bahasa program

Page 16: Algoritma dan Struktur Data

Konvensi Pseudocode

Indentasi digunakan untuk menandai struktur blok.

Komentar ditulis untuk memperjelas baris pseudocode

Pseudocode dinomori untuk setiap instruksinyaMengabaikan detail teknis penulisan sintaks

kode.

Page 17: Algoritma dan Struktur Data

Konvensi Pseudocode

Kepala algoritma Terdiri atas nama algoritma dan penjelasan

(spesifikasi) tentang algoritma tersebutDeklarasi

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 “//”

Page 18: Algoritma dan Struktur Data

Contoh Pseudocode

Page 19: Algoritma dan Struktur Data

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)

Page 20: Algoritma dan Struktur Data

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.

Page 21: Algoritma dan Struktur Data

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

Page 22: Algoritma dan Struktur Data

Contoh Bahasa Pemrograman

Banyak macam bahasa pemrograman/scripting:Contoh Pemrograman Desktop:

C++,Pascal/Delphi,C#,Java,VBContoh Pemrograman Web:

Server: ASP, ASP.NET (VB.NET/C#), PHP, Java Servlet,

Client: JavascriptContoh Scripting:

Perl, Python, RoR (Ruby on Rail), Shell Scripting

Page 23: Algoritma dan Struktur Data

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.

 

Page 24: Algoritma dan Struktur Data

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

Page 25: Algoritma dan Struktur Data

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)

Page 26: Algoritma dan Struktur Data

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;

Page 27: Algoritma dan Struktur Data

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';

Page 28: Algoritma dan Struktur Data

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

Page 29: Algoritma dan Struktur Data

Struktur dasar Algoritma, Flowchart dan Pemrograman

Runtunan (Sequence)Pemilihan atau Keputusan (Selection or

Decision)Pengulangan atau Iterasi (Looping or

Iteration)Pencacah (Counter)