Algoritma dan Struktur Data
description
Transcript of Algoritma dan Struktur Data
Computer Science, University of Brawijaya
Putra Pandu Adikara, S.Kom
Algoritma dan Struktur DataPengenalan Algoritma
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
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.
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
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
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
Tahapan Pemecahan Masalah
Algoritma
Program dalamBahasa Tingkat
Tinggi
Program dalamBahasa Mesin
Operasi(Baca, tulis, hitung, perbandingan, dll)
Translasi
Interpretasi oleh CPU
Kompilasi
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
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)
Simbol dalam Flowchart
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
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)
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)
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
Pseudocode
Kode semu yang digunakan untuk menuliskan algoritma agar lebih jelas (mudah dipahami)
Berbeda dengan kode real (program) tapi hampir menyerupai bahasa program
Konvensi Pseudocode
Indentasi digunakan untuk menandai struktur blok.
Komentar ditulis untuk memperjelas baris pseudocode
Pseudocode dinomori untuk setiap instruksinyaMengabaikan detail teknis penulisan sintaks
kode.
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 “//”
Contoh Pseudocode
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)
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.
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
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
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.
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
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)
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;
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';
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
Struktur dasar Algoritma, Flowchart dan Pemrograman
Runtunan (Sequence)Pemilihan atau Keputusan (Selection or
Decision)Pengulangan atau Iterasi (Looping or
Iteration)Pencacah (Counter)