Algoritma dan struktur data

Slides:



Advertisements
Presentasi serupa
ALGORITMA & PEMROGRAMAN I-A
Advertisements

STRUKTUR DATA JAIDUP BANJARNAHOR.
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
Dasar- Dasar Algoritma
Notasi Algoritma.
Perkembangan Bahasa.
Pengantar Struktur Data
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
Struktur Data M. Haviz Irfani, S.Si. Pada garis besarnya, data dapat kita kategorikan menjadi : Type Data Sederhana atau Data Sederhana yang terdiri atas.
1 Diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. ALGORITMA.
Struktur Data dan Penyajian Data
Algoritma Pseudocode TEE 2103 Algoritma dan Pemrograman
Mahasiswa diharapkan dapat:
ALGORITMA & PEMROGRAMAN I-A
ANALISA DAN DESAIN ALGORITMA
Pengantar Struktur Data & TREE
JENIS-JENIS DATA Pertemuan 2.
PENGGUNAAN TIPE DATA YANG EFEKTIF
Pertemuan 2 Muhamad Haikal, S.Kom., MT
Pengantar Pemrograman Basis Data (PPBD)
Pengantar Struktur Data Pertemuan 1 Season 1
Notasi Algoritma & Tipe Data
Tipe Data By Serdiwansyah N. A..
Struktur Organisasi Data 2
Pengenalan Struktur Data Universitas Muhammadiyah Jakarta
Dasar-Dasar Pemrograman
Notasi Algoritmik.
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
STRUKTUR DATA Materi : Bagian I Pendahuluan Bagian II Larik
ALGORITMA & PEMROGRAMAN
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Data dan Informasi Daurat Sinaga, M.Kom.
Ucu Nugraha, ST. Algoritma.
TIPE DATA Brian Damastu, S.T., M.Kom
Achmad Yasid Struktur Data.
Struktur Data Tipe data & Struktur Data
Silabus dan Rencana Perkuliahan
ALGORITMA DAN PEMROGRAMAN (PERTEMUAN 2)
Struktur Data Yuniansyah.
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
PENGGUNAAN TIPE DATA YANG EFEKTIF
Pertemuan 1 DATA & STRUKTUR DATA.
Pseudocode – Tipe Data, Variabel, dan Operator
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
STRUKTUR DATA.
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel
Pengantar Struktur Data
Muhammad Riska B. PTIK FT UNM
Silabus dan Rencana Perkuliahan
JENIS-JENIS DATA Denny Agustiawan, M.pd
PENGGUNAAN TIPE DATA YANG EFEKTIF
KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Bahasa Pemrograman Poltek Balikpapan 2010.
ALGORITMA & PEMROGRAMAN
STRUKTUR DATA Konsep Dan Arsitektur.
STRUKTUR DATA.
Pendahuluan Komputer adalah alat bantu untuk menyelesaikan masalah.
Pemrogram 1 Agus Darmawan, S.kom.
Algoritma pemrogaman komputer
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Tipe data & Variabel 1. Bahasa Pascal 2. Tipe data & Variabel.
Algoritma dan Stuktur Data
Algoritma dan Pemrograman Kuliah ke 2
PENGGUNAAN TIPE DATA YANG EFEKTIF
Algoritma 1 Temu 2.
IT234 ALGORITMA DAN STRUKTUR DATA
Operator, Variabel, Konstanta, Tipe Data
Logika dan Algoritma Agung BP Chapter 5.
Transcript presentasi:

Algoritma dan struktur data PERTEMUAN 1 SAFITRI JAYA, S.Kom, M.T.I Universitas Pembangunan Jaya

Algoritma dan Bahasa pemrograman Algoritma adalah langkah-langkah/alur pikiran (harus tersusun secara logis) yang diambil dalam menyelesaikan suatu pekerjaan, yang dituangkan dalam bentuk tertulis (narasi dalam bentuk kalimat, atau berbentuk gambar/bagan/tabel) yang dapat dimengerti oleh orang lain. Algoritma adalah sekumpulan instruksi yang jumlahnya terbatas, yang apabila dilaksanakan akan menyelesaikan suatu tugas tertentu. Kumpulan instruksi biasa disebut dengan program. Program ditulis dalam suatu Bahasa pemrograman

Kriteria algoritma Algoritma memiliki nol atau lebih masukkan (input) Algoritma memiliki satu atau lebih keluaran(output) Setiap instruksi memiliki maksud yang jelas dan hanya mempunyai satu arti (definiteness) Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas(finiteness) Setiap instruksi selain bisa dilaksanakan, juga harus efektif dalam arti harus menghasilkan sesuatu/ setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal (effectiveness) Contoh instruksi yang tidak efektif : A = A + 0 atau A = A * 1

Contoh algoritma Mengurutkan array Pseudo-code Algoritma A = A + 5 Nilai A ditambah dengan 5 Cetak nilai A, bila nilai tersebut lebih besar dari 5 Dari dua buah nilai A dan B, cetak salah satu yang terbesar Kurangi dengan 2 nilai A terus menerus sampai nilainya lebih kecil atau sama dengan nol Algoritma A = A + 5 If (A > 5) then write (A) If (A > B) then write (A), else write (B) While (A > 0) do A = A – 2 End do

Contoh algoritma Mencari suatu nilai dalam array dengan cara Binary Search Pseudo-code Procedure BinarySearch(A, n, x, j) Initialize lower and upper While there are more elements to check do let A (mid) be the middle element case x > A(mid) : set lower to mid +1 x < A(mid) : set upper to mid -1 Else found End Not found End BinarySearch Algoritma Procedure BinarySearch(A, n, x, j) Lower = 1, upper = n While lower <= upper Do Mid = [(lower + upper) / 2] Case : x > A(mid) = lower = mid + 1 x < A(mid) = upper = mid – 1 Else j = mid, return End j = 0 end

Contoh algoritma

Algoritma dan Bahasa pemrograman For i = 1 to n-1 do j = 1 For k = j + 1 to n do if A(k) < A(j) then j = k End t = A(i); A(i) = A(j) A(j) = t For (i=1; i <= n-1; i++) { j = 1; for (k = j+1; k <= n; k++) { if (A[k] < A[j]) j = k; } t = A[i]; A[i] = A[j]; A[j] =t; }

Bahasa pemrograman Bahasa tingkat rendah (Bahasa mesin) Berisi kode-kode mesin (berupa kode numerik 0 dan 1) yang hanya dapat diinterpretasikan langsung oleh mesin komputer. Bahasa tingkat menengah (Bahasa Assembly) Merupakan Bahasa symbol dari Bahasa mesin (ADD, MUL, SUB, dll) Bahasa tingkat tinggi (the 3rd generation programming language) Bahasa yang menyediakan fasilitas kemudahan dalam pembuatan program seperti variable, tipe data, konstanta, prosedur, dll Contoh : C++, Java

Bahasa pemrograman Translator adalah penerjemah dari bahasa tingkat tinggi ke bahasa tingkat rendah. 3 jenis translator : Assembler merupakan penerjemah bahasa Assembly ke bahasa mesin. Interprenter Perintah diterjemahkan baris demi baris. Program tidak dianalisis seluruhnya dulu tapi bersamaan dengan jalannya program. Compiler Seluruh program diterjemahkan. Semua perintah dirubah dalam bentuk exe atau bahasa asembly.

Paradigma Bahasa pemrograman Imperative Procedural Object Oriented Parallel processing Declarative Logic Functional Database

Struktur data Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien Data adalah representasi dari fakta dunia nyata. Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol

Tipe data Tipe data sederhana Struktur Data Tipe data sederhana tunggal, misalnya Integer, real, boolean dan karakter Tipe data sederhana majemuk, misalnya String Struktur Data Struktur data sederhana, misalnya array dan record Struktur data majemuk, yang terdiri dari Linier : Stack, Queue, serta List Multilist Non Linier : Pohon Biner dan Graph Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana.

Tipe data Bilangan bulat (Shortint , Integer, Longint, Byte, Word) Boolean (Boolean, ByteBool , WordBool, LongBool) Bilangan real (Real, Single, Double, Extended, Comp) Karakter String Larik (Array) Pointer

Belajar memprogram VS Bahasa pemrograman Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

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.

Notasi algoritma Uraian kalimat deskriptif (narasi) Contoh: Algoritma Kelulusan_mhs Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus. DESKRIPSI : baca nama dan nilai mahasiswa. jika nilai >= 60 maka Berikan keterangan = “lulus” tetapi jika tidak Berikan keterangan = “tidak lulus” Tulis nama dan keterangan

Pseudo-code Pseudo Code Ada 3 bagian : Judul, Deklarasi, Deskripsi. Algoritma kelulusan Deklarasi nama, keterangan : string nilai : integer Deskripsi read (nama, nilai); if nilai >= 60 then keterangan := “lulus”; else keterangan := “tidak lulus”; write(nama, keterangan);

Aturan pseudo-code Judul algoritma Deklarasi Deskripsi Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut. Deklarasi Bagian untuk mendefinisikan atau mendeklarasikan semua apa yang digunakan atau dibutuhkan dalam pemrograman. Deskripsi Bagian ini berisi uraian langkah-langkah penyelesaian masalah.

Operator aritmatik /, *, div, mod = level tinggi +, - = level rendah Mod dan div hanya untuk bilangan bulat!!! Contoh : • 5 – 2 + 1 = ? • 5 – 2 * 3 = ? • (6 + 3 * 2) / 6 – 2 * 3 = ?

Materi pembelajaran Logika Pemrograman Pengertian dasar algoritma Algoritma dan Flowchart Array, Record dan pointer Fungsi dan Prosedur Searching dan sorting Stack dan queue Linked list Rekursif Tree Hashing

Bahasa c/c++ dan java Program adalah kumpulan instruksi (algoritma) yang diberikan kepada computer untuk melaksanakan suatu tugas atau pekerjaan Contoh : menghitung total dua buah bilangan C C++ Java #include <stdio.h> Void main() { int A, B, T; A = 5; B = 2; T = A + B; printf(“%i”, T); } #include <iostream.h> cout << T; Public class Latihan { public static void main(String args[]) System.out.println(T);

Struktur Bahasa c/c++ dan java Struktur Bahasa Java Void main = fungsi induk { statement / instruksi statement } Public class xxx { public static void (tipe) main (method) (String args[]) Program induk