Anda di halaman 1dari 28

Algoritma dan Struktur Data

Pertemuan ke-1

Rahmat Ramadhani, S.Kom, MSc


Materi

1. Pengantar algoritma dan struktur data


2. Tipe data lanjut
3. Sorting and Searching
Persentase Penilaian

● Praktikum = 20%
● Praktikum dilakukan di bawah
● Tugas = 20%
pengawasan asisten praktikum
● UTS = 30%
● Jadwal menyusul
● UAS = 30%
Algoritma

● Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang


digunakan untuk memecahkan suatu permasalahan.
● Algoritma adalah urutan logis pengambilan putusan untuk pemecahan
masalah.”
Algoritma

● Algoritma: sederetan langkah-langkah logis yang sistematis untuk


memecahkan disusun secara suatu masalah.
● Algoritma lebih merupakan alur pemikiran untuk menyelesaikan suatu
pekerjaan atau suatu masalah
Ciri Algoritma

1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.


2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua(Ambiguitas).
3. Algoritma memiliki nol atau lebih masukkan.
4. Algoritma memiliki satu atau lebih keluaran.
5. Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan
dalam waktu yang masuk akal).
Ciri Algoritma

Ciri algoritma yang baik menurut Donald E.Knuth:

● Input: ada minimal 0 input atau lebih


● Ouput: ada minimal 1 output atau lebih
● Definite: ada kejelasan apa yang dilakukan
● Efective: langkah yang dikerjakan harus efektif
● Terminate: langkah harus dapat berhenti (stop) secara jelas
Notasi Algoritma

1. Uraian kalimat deskriptif (narasi) DESKRIPSI :


Contoh:
Algoritma Kelulusan_mhs 1. baca nama dan nilai mahasiswa.
Diberikan nama dan nilai mahasiswa, 2. jika nilai>= 60 maka
jika nilai tersebut lebih besar atau sama 3. Berikan keterangan “lulus”
dengan 60 maka mahasiswa tersebut 4. tetapi jika tidak
dinyatakan lulus jika nilai lebih kecil dari 5. Berikan keterangan “tidak lulus”
60 maka dinyatakan tidak lulus. 6. tulis nama dan keterangan
mulai

baca nama,
Notasi Algoritma nilai, keterangan

2. Flow Chart nilai


>= 60

keterangan = lulus
keterangan = tidak lulus

tulis nama, nilai,


keterangan

selesai
Notasi Algoritma

3. PseudoCode
Aturan Pseudo Code
Perbedaan Tipe Data, Objek Data & Struktur Data

- Tipe data adalah jenis data yang mampu ditangani oleh suatu bahasa
pemrograman pada komputer.
- Tiap-tiap bahasa pemrograman memiliki tipe data yang memungkinkan:
● Deklarasi terhadap variabel tipe data tersebut
● Menyediakan kumpulan operasi yang mungkin terhadap variabel bertipe data
tersebut
● Jenis objek data yang mungkin
● Contoh tipe data di C? Java? Pascal? .NET?
Perbedaan Tipe Data, Objek Data & Struktur Data

- Objek Data adalah kumpulan elemen yang mungkin untuk suatu tipe data
tertentu. Mis: integer mengacu pada objek data -32768 s/d 32767, byte 0 s/d
255, string adalah kumpulan karakter maks 255 huruf.
- Struktur Data adalah cara penyimpanan dan pengorganisasian data-data pada
memori komputer maupun file secara efektif sehingga dapat digunakan secara
efisien, termasuk operasi-operasi di dalamnya.
Aktivitas Struktur Data

- Di dalam struktur data kita berhubungan dengan 2 aktivitas:


● Mendeskripsikan kumpulan obyek data yang sah sesuai dengan tipe data yang
ada.
● Menunjukkan mekanisme kerja operasi-operasinya .
Contoh: integer (-32768 s/d 32767) dan jenis operasi yang diperbolehkan
adalah +, -, *, /, mod, ceil, floor, <, >, != dsb.

Struktur data = objek data + [operasi manipulasi data]


Hubungan SD dan Algoritma

- Dengan pemilihan struktur data yang baik, maka problem yang kompleks dapat
diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi
penting dapat dieksekusi dengan sumber daya yang lebih kecil, memori lebih
kecil, dan waktu eksekusi yang lebih cepat.
- Tidak semua struktur data baik dan sesuai.
Contoh untuk problem pemrosesan image, record informasi mahasiswa.
Pengertian Struktur Data

- Struktur data adalah merepresentasikan data di cara menyimpan dalam


komputer agar atau bisa dipakai secara efisien. Sedangkan 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.
Type Data
- Type data sederhana
a. Type data sederhana tunggal, misalnya Integer,real,boolean dan karakter
b. Type data sederhana majemuk, misalnya String 2
- Struktur Data, meliputi
a. Struktur data sederhana, misalnya array dan record
b. Struktur data majemuk, yang terdiri dari Linier:Stack,Queue, serta List dan
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.
Pengertian Algoritma & 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
PROGRAM = ALGORITMA + STRUKTUR DATA

ALGORITMA :
- SEQUENTIAL
- BRANCHING
- LOOPING/ REKURSI

STRUKTUR DATA :
- ARRAY
- LINKED LIST

ADT : STACK, QUEUE, GRAPH, TREE, DLL


CONTROL STRUCTURES
SEQUENTIAL/ URUTAN
Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/
sekuensial.

BRANCHING/ PERCABANGAN
Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan statemen selanjutnya

LOOPING/ PERULANGAN
Mengulangi proses selama syarat/ kondisi tertentu masih terpenuhi
Sequential/Urutan
Branching
start

Looping
kerjakan tugas
true

kondisi

false

finish
Latihan

1. Buatlah algoritma deskriptif dari proses berikut:


- Pilihan dan penentuan harga paket data
(misal: 10ribu = 1GB, 20ribu = 3GB, 50ribu = 7.5GB)
- Notifikasi ketika saldo tidak cukup untuk membeli paket data
1. Buatlah flow chart beserta pseudo code dari kedua soal diatas
2. Berikan contoh algoritma dengan menerapkan logika perulangan
Soal nomor 1

1. Cek sisa saldo


2. Jika saldo cukup, beli paket
3. Jika saldo lebih dari 10 ribu, beli paket 1 GB
4. Jika saldo lebih dari 20 ribu, beli paket 3GB
5. Jika saldo lebih dari 50 ribu, beli paket 7.5GB
6. Jika saldo tidak cukup, tampilkan notifikasi bahwa saldo tidak cukup
start

baca jumlah
Soal nomor 2 - flow chart saldo

tidak tidak
saldo saldo saldo
>= >= >=
10rb 20rb 50rb

tidak ya ya ya

notifikasi
saldo tidak paket= 1GB paket= 3GB paket= 7.5GB
cukup

notifikasi
sisa paket

selesai
Soal nomor 2 - pseudo
code
Algoritma beli paket data
Deklarasi Deskripsi
saldo: integer read (saldo);
paket: double if (saldo >= 30000) then
paket := 7.5;
write (‘sisa paket :’+paket);
elseif (saldo >= 20000) then
paket:=3;
write (‘sisa paket :’+paket);
elseif (saldo>= 10000) then
paket:=1;
write (‘sisa paket :’+paket);
else
write (‘saldo tidak cukup’);
Soal nomor 3 - algoritma dengan logika perulangan

Proses Persetujuan Proposal Penelitian


1. menentukan tema proposal
2. menulis bab pendahuluan proposal
3. menulis bab metode penelitian proposal
4. menulis bab kesimpulan proposal
5. melaksanakan presentasi proposal
6. jika proposal diterima maka
7. penelitian dilaksanakan
8. jika proposal ditolak maka
9. kembali melaksanakan dari langkah 1

Anda mungkin juga menyukai