Anda di halaman 1dari 76

Algoritma &

Struktur Data
MULAI MATERI
Algoritma & Struktur Data
Purpose & Support
Tujuan Pembelajaran :
 Mengasah pola pikir dan logika mahasiswa
dalam mencari solusi dari sebuah masalah.

 Mengenalkan bahasa pemrograman JAVA.

 Melatih teknik pemrograman menggunakan


JAVA.

 Mengupas kreatifitas mahasiswa dalam


menciptakan berbagai aplikasi sederhana
guna keperluan usaha dan industri.
Algoritma & Struktur Data
Metode Pembelajaran

Praktik & Diskusi Hasil


Studi Kasus Studi Kasus

Penyampaian Materi
Oleh Dosen

Presentasi Pengerjaan
Algoritma & Struktur Data
Tugas / Project Tugas / Project
Ketentuan Perkuliahan
• Durasi Belajar :
Dosen Pengasuh
– 14 x Pertemuan
– 4 SKS (@ 50 menit) / Pertemuan
• Mematuhi Aturan Kesepakatan Kelas.
• Aktif belajar, bertanya, dan diskusi.
• Memiliki buku pegangan / referensi.
• NO “COPAS” dalam mengerjakan
Febria Sri Handayani, M.Kom.
febrish77@gmail.com Tugas & Project Akhir.
0813-7346-1002 (sms only) • Mengikuti UTS dan UAS.
Algoritma & Struktur Data
Algoritma & Struktur Data
Penilaian

Tugas Ujian
Kuis 1 (10%) UTS
Kuis 2 (10%) (20%)

Tugas (10%) UAS


Project (20%) (30%)
Algoritma & Struktur Data
Motivasi Belajar
MENGAPA
Harus Belajar Algoritma &
Struktur Data
SULIT
Belajar Programming
????

Tips Belajar

Algoritma & Struktur Data


Introduction
Materi Belajar :
 Materi 1 : Konsep Dasar Algoritma (pertemuan 1)
 Materi 2 : Flowchart (pertemuan 2)
 Materi 3 : Pemrograman JAVA (pertemuan 3-4)
 Materi 4 : Struktur Kontrol (pertemuan 5-6)
 Materi 5 : Struktur Perulangan (pertemuan 8-9)
 Materi 6 : Konsep Dasar Struktur Data (pertemuan 10)
 Materi 7 : Array (pertemuan 10)
 Materi 8 : Searching (pertemuan 11)
 Materi 9 : Sorting (pertemuan 12)
 Materi 10 : Binary Tree (pertemuan 13)
Algoritma & Struktur Data
Referensi
Referensi / Pustaka :
1. Munir, R dan Lidya, L. 2009. Algoritma dan Pemrograman Dalam Bahasa Pascal dan C. Bandung:
Informatika
2. Dr. Suarga, M.Sc. dan M. Math., Ph.D. 2006. Algoritma dan Pemrograman. Yogyakarta: Andi Publisher.
3. Sianipar, R.H. 2014. Soal dan Penyelesaian Struktur Data dengan Java. Yogyakarta: Andi
4. Swastika, Windra., Lucky, Paulus. 2012. Dasar Algoritma dan Pemrograman Menggunakan C & JAVA.
Jakarta: Prestasi Pustaka Publisher.
5. Wahana Komputer. 2009. Menguasai Java Programming. Jakarta: Salemba Infotek.
6. Modul Belajar Mandiri Dosen (Hand Out / Modul Praktek) STMIK PalComTech Palembang.
Online Readings :
1. Modul Online Mata Kuliah Algoritma dan Struktur Data STMIK PalComTech
@ http://euniversity.palcomtech.com
2. Alternatif tutorial online STMIK PalComTech @ http://news.palcomtech.com
3. Java Education Network Indonesia @ http://space.meruvian.org/JENI
Algoritma & Struktur Data
Konsep Dasar Algoritma

1
• Sejarah & Definisi Algoritma.
• Mekanisme Algoritma.
• Studi Kasus Algoritma.

Project Akhir
Mata Kuliah
Algoritma & Struktur Data
Sejarah & Definisi Algoritma
Algoritma adalah urutan
langkah–langkah penyelesaian
Abu Ja’far Muhammad
masalah yang disusun secara
Ibnu Musa Al-Khuwarizmi sistematis dan logis.
Al Jabbar Wal Muqabala /
The Book of Restoration Kata Logis merupakan kata kunci dalam Algoritma.
and Reduction Langkah–langkah dalam Algoritma harus logis dan
(825 M) harus dapat ditentukan bernilai salah atau benar.
Algoritma & Struktur Data
Mekanisme Algoritma

Programming Language

Coding

Computational Thinking

Methode
Algoritma & Struktur Data
Studi Kasus Algoritma
Greedy,
Backtracking,
Fuzzy, Divide &
Conquer, Brute
Force, Bubble
Sort, Linear
Search, dll

Algoritma & Struktur Data


Project Akhir Mata Kuliah
• Setiap mahasiswa diminta untuk membuat
sebuah project sebagai implementasi
pemahaman materi dalam mata kuliah Algoritma
dan Struktur Data.

• Dibuat dan didokumentasikan dalam bentuk


softcopy (CD/DVD). Dikumpulkan pada akhir
perkuliahan (max. pertemuan 14).
Algoritma & Struktur Data
FLOWCHART

2
• Definisi Flowchart.
• Jenis-jenis Flowchart.
• Simbol-simbol Flowchart.
• Mekanisme Penyusunan Flowchart.

Algoritma & Struktur Data


Definisi Flowchart
FLOWCHART merupakan gambar atau
bagan yang menyatakan urutan dan
hubungan antar proses beserta
instruksinya.

Bagan ini dinyatakan dengan simbol. Setiap simbol menyatakan proses


tertentu. Setiap proses yang terjadi dihubungkan dengan garis alir / garis
penghubung.
Algoritma & Struktur Data
Jenis-Jenis Flowchart
System
Flowchart

Program
Flowchart
Algoritma & Struktur Data
Simbol-Simbol Flowchart
System

Symbols
Flowchart Flow Direction

Processing
Program
Input/Output
Flowchart
Algoritma & Struktur Data
Simbol-Simbol Flowchart

Algoritma & Struktur Data


Mekanisme Penyusunan
Flowchart
Secara garis besar penyusunan didasarkan pada:

Aliran data dan proses dalam flowchart berlaku


secara vertikal. Dikecualikan untuk beberapa proses
lain misalnya logika atau proses yang se-level.
Algoritma & Struktur Data
Contoh :

Algoritma & Struktur Data


Pemrograman Java

3
• Bahasa Pemrograman Java.
• Struktur Program.
• Variabel, Tipe Data, dan
Operator.

Algoritma & Struktur Data


Bahasa Pemrograman JAVA

Algoritma & Struktur Data


Karakteristik JAVA
Sederhana

Multi Object
Threaded Oriented

Portable & Pendisribusian


Dinamis mudah

Architecture
Interpreter
Neutral
Robust &
Algoritma & Struktur Data Aman
Struktur Program
Nama Class yang memiliki akses
bebas ke Class lain termasuk Class
yang berasal dari Package lain

Komentar

Methode
Utama

Tags untuk output yang akan


dicetak dalam tanda “ “
Algoritma & Struktur Data
Variabel, Tipe Data, & Operator
Variabel Tipe Data Operator

Instance String Aritmatika


Variabels
Char Increment & Decrement
Class Variabels Boolean
Relasi
Integer
Local Logika
Variabels Floating-Point
Kondisi
Parameter
Precedence
Algoritma & Struktur Data
Deklarasi & Inisialisasi Variabel

Algoritma & Struktur Data


Input / Output Nilai Variabel

Algoritma & Struktur Data


Struktur Kontrol

4
• Logika IF
– Tunggal
– Majemuk
– Nested IF
• Switch dan Break

Algoritma & Struktur Data


Logika IF (tunggal)

Algoritma & Struktur Data


Logika IF (tunggal)

Algoritma & Struktur Data


Logika IF (IF-Else)

Algoritma & Struktur Data


Logika IF (IF-Else)

Algoritma & Struktur Data


Logika IF (Majemuk)

Algoritma & Struktur Data


Logika IF (Majemuk)

Algoritma & Struktur Data


Logika IF (Nested)
Dikatakan Nested (bersarang),
jika dalam 1 klausa IF terdapat
pemeriksaan keputusan lagi
(IF(IF ... Else ...) Else (....))

Algoritma & Struktur Data


Logika IF (Nested)

Algoritma & Struktur Data


SWITCH

Algoritma & Struktur Data


SWITCH

Algoritma & Struktur Data


SWITCH

Algoritma & Struktur Data


Struktur Perulangan

5
• FOR Loop
• WHILE Loop
• DO WHILE Loop

Algoritma & Struktur Data


Perulangan  FOR Loop

Algoritma & Struktur Data


Perulangan  WHILE Loop

Algoritma & Struktur Data


Perulangan  DO-WHILE Loop

Algoritma & Struktur Data


Konsep Dasar Struktur Data

6
Algoritma & Struktur Data
Definisi
Representasi fakta di dunia nyata yang
Data kompleks. Data dapat berupa tulisan,
gambar, suara, sinyal, atau simbol

Struktur Cara merepresentasikan data di dalam


komputer agar bisa dipakai secara
Data
efisien, atau...
Sekelompok data yang dapat diterjemahkan
beserta operasi yang diberlakukan
terhadapnya.
Algoritma & Struktur Data
Konsep Struktur Data

Algoritma & Struktur Data


Tipe Data

Algoritma & Struktur Data


ARRAY

7
• Definisi Array
• Mekanisme Array
– Pendeklarasian Array
– Pengaksesan Array
– Panjang Array
– Array Multidimensi
• Studi Kasus Array
Algoritma & Struktur Data
Definisi
Sebuah tipe data terstruktur yang dapat
diterapkan pada suatu variabel yang
Array dapat menyimpan banyak data dengan
tipe sejenis.

Algoritma & Struktur Data


Pendeklarasian Array

Algoritma & Struktur Data


Pengaksesan Array

Algoritma & Struktur Data


Panjang Array
• Bentuk penulisan :

• Contoh :

Algoritma & Struktur Data


Array Multidimensi
2D

3D

2 D bertipe
String
Algoritma & Struktur Data
SEARCHING

8
• Definisi Searching
• Jenis-jenis teknik Searching
• Mekanisme Searching

Algoritma & Struktur Data


Definisi & Teknik

Searching
merupakan suatu
teknik pencarian
data dalam
sebuah Array.

Algoritma & Struktur Data


Linear Search
• Misalnya terdapat array satu dimensi sebagai berikut:
0 1 2 3 4 5 6 7
indeks

8 10 6 -2 11 7 1 100 value

• Kemudian program akan meminta data yang akan dicari,


misalnya 6.
• Iterasi :
6 = 8 (tidak!)
6 = 10 (tidak!)
6 = 6 (Ya!) => output : 2 (index)
Algoritma & Struktur Data
Linear Search

Pada contoh ini, jika String “Yza”


ditemukan, perulangan pada For
Loop akan dihentikan
menggunakan break, dan akan
melanjutkan ke proses
pencetakan Found / Not Found.

Algoritma & Struktur Data


Binary Search
• Menggunakan Binary Search, jika :
Nilai-nilai tersebut sudah berurutan (ascending),
dan
Disimpan dalam bentuk larik (array) atau struktur
data sejenis.

Algoritma & Struktur Data


Binary Search
Misalnya data yang dicari = 17
0 1 2 3 4 5 6 7 8
3 9 11 12 15 17 23 31 35
A B C
Karena 17 > 15 (data tengah), maka: awal = tengah + 1

0 1 2 3 4 5 6 7 8
3 9 11 12 15 17 23 31 35
A B C
Karena 17 < 23 (data tengah), maka: akhir = tengah – 1

0 1 2 3 4 5 6 7 8
3 9 11 12 15 17 23 31 35
A=B=C
Karena 17 = 17 (data tengah), maka KETEMU!
Algoritma & Struktur Data
Binary Search
int[] a = {3, 7, 10, 15, 91, 110, 150}; // a sorted array not containing duplicates
int target = 91; // the element to be searched
int left = 0;
int middle;
int right = a.length - 1;
while (left <= right) {
middle = (left + right) / 2;
if (a[middle] == target) {
System.out.println("Element found at index " + middle);
break;
} else if (a[middle] < target) {
left = middle + 1;
} else if (a[middle] > target) {
right = middle - 1;
} } & Struktur Data
Algoritma
SORTING

9
• Definisi Sorting
• Jenis-jenis teknik Sorting
• Mekanisme Sorting

Algoritma & Struktur Data


Definisi & Teknik

Sorting memungkinkan
programmer
menyusun data secara
Ascending (menaik)
maupun Descending
(menurun).

Algoritma & Struktur Data


Bubble Sort

Algoritma & Struktur Data


Bubble Sort
int[] a = {4, 85, 7, 1, 0, 36, -5, 48};
for (int i = 0; i < a.length - 1; i++) {
for (int j = 0; j < a.length - 1 - I; j++) {
if (a[j + 1] < a[j]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
} } }
Algoritma & Struktur Data
Insertion Sort
• Misalkan sekumpulan data
awal diletakkan dalam Array
A[8] dengan urutan
73418265

• temp = variabel penampung

Algoritma & Struktur Data


Insertion Sort

Algoritma & Struktur Data


Binary Tree

10
• Struktur Pohon
• Definisi Binary Tree
• Transverse Binary Tree
• Representasi Binary Tree

Algoritma & Struktur Data


Struktur Pohon
merupakan susunan
dari 1 atau lebih
simpul (node) yang
terdiri dari 1 simpul
sebagai Root dan
sisanya membentuk
Subtree-nya.
Algoritma & Struktur Data
Algoritma & Struktur Data
Binary Tree
Adalah tree dengan
syarat bahwa setiap
node hanya boleh
memiliki maksimal 2
subtree/child.

Algoritma & Struktur Data


Jenis – Jenis Binary Tree
Full Binary Tree Complete Binary Tree

Skewed Binary Tree

Algoritma & Struktur Data


Transverse Binary Tree
• Pre Order : + * / A ** B C D E
(Rt-L-R)

• In Order : A / B ** C * D + E
(L-Rt-R)

• Post Order : A B C ** / D * E +
(L-R-Rt)
Algoritma & Struktur Data
Representasi Tree

Algoritma & Struktur Data


Representasi Tree
1 2 3

4 6

5
Algoritma & Struktur Data
Terima Kasih

Algoritma & Struktur Data

Anda mungkin juga menyukai