SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Design dan Analisis
Algoritma:
Pengantar Algoritma
Maryona Septiara, S.Pd., M.Kom.
Referensi
Thomas H cormen, dkk
Introduction to the
design and analysis
ofalgorithms
Anany Leviti
Computer Algorithms;
Introduction design
and analysis
Sara Band Allen V.
G
Strategi algoritmik
Rinaldi munir
Introductionto
Algorithms,3rdEdition
What is algorithm?
 Urutan instruksi/ langkah yang tidak
ambigu untuk memecahkan masalah.
 Langkah-langkah atau prosedur yang harus
dilakukan untuk menyelesaikan suatu
masalah.
 Sekumpulan instruksi yang jumlahnya
terbatas yang apabila dilaksanakan akan
menyelesaikan suatu tugas tertentu.
What is algorithm?
Ialah cara yang dapat ditempuh oleh komputer
dalam mencapai suatu tujuan, terdiri atas
Langkah-Langkah yang terdefinisikan dengan
baik, input, proses, dan output, dan juga bisa
dihitung (computable) atau bisa di ukur
(measurable).
Algoritma yang baik
Algorithm: syarat correctness
● Algoritma berhasil mengeluarkan output yang benar
dari input yang ada.
● Jika hanya 99% benar?
Algoritma = salah
Kenapa perlu analisis dan strategi algoritma?
Algoritmaterstruktur/bagus.
Algoritmaefektif dan efisien
Peduli dengan spesifikasi perangkat user
Program jangka Panjang.
Algoritma harus memiliki
• Pahami sepenuhnya
masalah yang
diberikan.
• Baca uraian masalah
dengan cermat
Contoh Algoritma
Bagaimana cara agar dapat kuliah disuatu Perguruan
Tinggi?
Mulai
1. Mengikuti tes masuk
2. Memilih perguruan tinggi
3. Mengisi formular pendaftaran
4. Membayar SPP
5. Jika lulus tes, lanjut ke tahap 3, jika tidak selesai.
6. Mengambil KTM
Selesai
Kesimpulan: algoritma yang tidak baik karena urutan
langkahnya tidak logis.
Contoh Algoritma
Bagaimanacaramemasakmiegoreng?
Mulai
1. Siapkansemuaalatdanbahan
2. Masukanairkedalampanci
3. Letakanpancidiataskompordantungguairsampaimendidih
4. Masukan mie, tunggu 3 menit atau sampai kematangan yang
diinginkan
5. Tiriskanair
6. Tuangbumbumiekedalammangkok
7. Masukanmiekedalammangkok
8. Adukratamiedanbumbu,
9. Miegorengsiapuntukdisajikan
Selesai
Kesimpulan:algoritmayangbaikkarenaurutanlangkahnyalogis.
Latihan 1
Buatlah sebuah algoritma
yang simple.
Design
Algorithm
Design Algorithm
 Teknik desain algoritma (atau "strategi" atau "paradigma")
adalah pendekatan umum untuk memecahkan masalah
secara algoritmik yang berlaku untuk berbagai masalah
dari berbagai bidang komputasi.
Design
Algorithm
Latihan 2
Buatlah design algoritma
dari algoritma yang sudah
anda buat pada Latihan 1.
Algorithms + Data Structures
=
Programs
??
Macam-macam Bahasa pemograman
Phyton Java C++ PHP
Algoritma dalam pemograman
1. Mengatasi permasalahan rumit dalam program
2. Mempermudah pencarian dan perbaikan
kesalahan karena tertata dan tersusun dengan
rapi
3. Menyederhanakan program jadi sederhana
4. Meminimalisir penulisan program yang
berulang-ulang
Algoritma: logika dari pemograman
Code
Code vs Pseudocode
Code : kode program
Kegiatan menulis baris-baris kode dari suatu Bahasa pemograman, agar dapat
berkomunikasi dengan komputer dan perintah dapat di eksekusi.
Pseudocode
Contoh Pseudocode
Pseudocode
Pseudo : mirip atau menyerupai
Code : kode program
Deskripsi tingkat tinggi informal
dan ringkas atas algoritma
pemograman pada suatu
Bahasa pemograman, yang
ditujukan untuk manusia agar
mudah dibaca.
Pseudocode : Kode yang mirip
dengan instruksi kode program
yang sebenarnya, menghasilkan
deskripsi algoritma yang lebih
ringkas.
Judul
Program ganjil_genap
Deskripsi
var bilangan: integer
Implementasi
READ bilangan (input nilai var bilangan)
IF (bilangan modulus 2 = 0) THEN
PRINT “genap”
ELSE
PRINT “ganjil”
ENDIF
Format Pseudocode
Judul
{judul dari algoritma}
Program <namaprogram>
Deskripsi
{berisi deklarasi variabel}
<namavariabel : <tipe_data>
Implementasi
{berisi inti dari algoritma
tersebut}
Latihan 3
Buatlah Pseudocode berdasarkan dari
algoritma dan flowchart yang sudah
anda buat pada Latihan 1 dan 2.
Struktur data
Struktur data memiliki format khusus untuk:
• Mengatur data
• Memproses data
• Mengambil data
• Menyimpan data
Secara teknis data disimpan dalam bentuk:
• Angka
• Huruf
• Simbol, dll
Struktur Data
 Skema tertentu dari pengorganisasian item data terkait.
 Sifat item data ditentukan oleh masalah yang dihadapi; mereka dapat
berkisar dari tipe data dasar (misalnya, bilangan bulat atau karakter)
hingga struktur data (misalnya, larik satu dimensi dari larik satu
dimensi sering digunakan untuk mengimplementasikan matriks).
Struktur data: cara menyimpan dan mengatur data
secara terstruktur pada system computer atau
database sehingga lebih mudah diakses.
Struktur Data
Macam-macam struktur data
1. Array
 Kumpulan elemen yang jaraknya berdekatan
Keunggulan tipe array:
• Bisa digunakan sebagai implementasi tipe lainnya, seperti
queue dan stack
• Proses pencarian data bisa dilakukan lebih cepat
Kekurangan:
Penambahan dan pengurangan data membutuhkan waktu yang
lama, karena menampung data secara berurutan
Struktur Data
Macam-macam struktur data
2. Link list
 Struktur data yang terdiri dari urutan data linier yang
dihubungkan satu sama lainnya
Keunggulan :
• Ukuran lebih dinamis
• Alokasi penggunaan memori bisa disesuaikan
• Pengurangan atau penambahan data lebih cepat
Kekurangan:
Menguras memori lebih besar, dan proses traversal lebih
Panjang karena tidak langsung mengakses data ke indeks.
Struktur Data
Macam-macam struktur data
3. stack
 Struktur data yang linier dan mengikuti urutan LIFO atau FILO
(first in last out)
4. Queue
 Struktur data linear yang mengikuti urutan FIFO (first in first
out)
Struktur Data
● Tree
Does anyone have any questions?
Thank you

Weitere ähnliche Inhalte

Ähnlich wie pertemuan 1__Desain dan analisis algoritma

listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstrukturRaden Maulana
 
Module algoritma
Module algoritma Module algoritma
Module algoritma Rony BolaNk
 
Algoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxMiaMiftahulRachmawat
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma casnadi
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANBang Jo
 
Pengantar alprog | ainul yaqin
Pengantar alprog | ainul yaqinPengantar alprog | ainul yaqin
Pengantar alprog | ainul yaqinAinul Yaqin
 
berfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptxberfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptxWebsiteDeveloper4
 
Berfikir Komputasional Fase E.pptx
Berfikir Komputasional Fase E.pptxBerfikir Komputasional Fase E.pptx
Berfikir Komputasional Fase E.pptxAhmadHadiMashuriHadi
 
Konsep Computational Thinking.pptx
Konsep Computational Thinking.pptxKonsep Computational Thinking.pptx
Konsep Computational Thinking.pptxraniwidiakusuma
 

Ähnlich wie pertemuan 1__Desain dan analisis algoritma (20)

listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
Algoritma pemrograman terstruktur
Algoritma pemrograman terstrukturAlgoritma pemrograman terstruktur
Algoritma pemrograman terstruktur
 
Module algoritma
Module algoritma Module algoritma
Module algoritma
 
Algoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptx
 
Dasar Algoritma
Dasar Algoritma Dasar Algoritma
Dasar Algoritma
 
algoritma 1.pptx
algoritma 1.pptxalgoritma 1.pptx
algoritma 1.pptx
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Algo dn pemrogaman
Algo dn pemrogamanAlgo dn pemrogaman
Algo dn pemrogaman
 
Makalah Algoritma
Makalah AlgoritmaMakalah Algoritma
Makalah Algoritma
 
Pengantar alprog | ainul yaqin
Pengantar alprog | ainul yaqinPengantar alprog | ainul yaqin
Pengantar alprog | ainul yaqin
 
berfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptxberfikirkomputasionalfasee-230417010400-ec46a33d.pptx
berfikirkomputasionalfasee-230417010400-ec46a33d.pptx
 
BERFIKIR KOMPUTASI.pptx
BERFIKIR KOMPUTASI.pptxBERFIKIR KOMPUTASI.pptx
BERFIKIR KOMPUTASI.pptx
 
M1 KB4.pptx
M1 KB4.pptxM1 KB4.pptx
M1 KB4.pptx
 
M1 KB4.pptx
M1 KB4.pptxM1 KB4.pptx
M1 KB4.pptx
 
M1 KB4 (1).pptx
M1 KB4 (1).pptxM1 KB4 (1).pptx
M1 KB4 (1).pptx
 
M1 KB4 (1).pptx
M1 KB4 (1).pptxM1 KB4 (1).pptx
M1 KB4 (1).pptx
 
Berfikir Komputasional Fase E.pptx
Berfikir Komputasional Fase E.pptxBerfikir Komputasional Fase E.pptx
Berfikir Komputasional Fase E.pptx
 
M1 KB4.pptx
M1 KB4.pptxM1 KB4.pptx
M1 KB4.pptx
 
Konsep Computational Thinking.pptx
Konsep Computational Thinking.pptxKonsep Computational Thinking.pptx
Konsep Computational Thinking.pptx
 
M1 KB4.pptx
M1 KB4.pptxM1 KB4.pptx
M1 KB4.pptx
 

Mehr von septiara5

TECHNOPRENEURSHIP Ekosistem Ekonomi Digital
TECHNOPRENEURSHIP Ekosistem Ekonomi DigitalTECHNOPRENEURSHIP Ekosistem Ekonomi Digital
TECHNOPRENEURSHIP Ekosistem Ekonomi Digitalseptiara5
 
Manajemen Proyek Perangkat Lunak__12.pptx
Manajemen Proyek Perangkat Lunak__12.pptxManajemen Proyek Perangkat Lunak__12.pptx
Manajemen Proyek Perangkat Lunak__12.pptxseptiara5
 
Manajemen Proyek Perangkat Lunak _13.pptx
Manajemen Proyek Perangkat Lunak _13.pptxManajemen Proyek Perangkat Lunak _13.pptx
Manajemen Proyek Perangkat Lunak _13.pptxseptiara5
 
kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0
kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0
kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0septiara5
 
Manajemen layanan teknologi informasi__Tata kelola
Manajemen layanan teknologi informasi__Tata kelolaManajemen layanan teknologi informasi__Tata kelola
Manajemen layanan teknologi informasi__Tata kelolaseptiara5
 
Technopreneurship__part 3__macam-macam E-commerce
Technopreneurship__part 3__macam-macam E-commerceTechnopreneurship__part 3__macam-macam E-commerce
Technopreneurship__part 3__macam-macam E-commerceseptiara5
 
Technopreneurship__part 2__Business adoption of digital technologie
Technopreneurship__part 2__Business adoption of digital technologieTechnopreneurship__part 2__Business adoption of digital technologie
Technopreneurship__part 2__Business adoption of digital technologieseptiara5
 
Web Service dan service oriented architecture
Web Service dan service oriented architectureWeb Service dan service oriented architecture
Web Service dan service oriented architectureseptiara5
 
Konsep dasar information technology service management
Konsep dasar information technology service managementKonsep dasar information technology service management
Konsep dasar information technology service managementseptiara5
 
Technopreneurship__part 1__ konsep Technopreneurship.pptx
Technopreneurship__part 1__ konsep Technopreneurship.pptxTechnopreneurship__part 1__ konsep Technopreneurship.pptx
Technopreneurship__part 1__ konsep Technopreneurship.pptxseptiara5
 
MLTI_1.Konsep dasar it service management.ppt
MLTI_1.Konsep dasar it service management.pptMLTI_1.Konsep dasar it service management.ppt
MLTI_1.Konsep dasar it service management.pptseptiara5
 

Mehr von septiara5 (11)

TECHNOPRENEURSHIP Ekosistem Ekonomi Digital
TECHNOPRENEURSHIP Ekosistem Ekonomi DigitalTECHNOPRENEURSHIP Ekosistem Ekonomi Digital
TECHNOPRENEURSHIP Ekosistem Ekonomi Digital
 
Manajemen Proyek Perangkat Lunak__12.pptx
Manajemen Proyek Perangkat Lunak__12.pptxManajemen Proyek Perangkat Lunak__12.pptx
Manajemen Proyek Perangkat Lunak__12.pptx
 
Manajemen Proyek Perangkat Lunak _13.pptx
Manajemen Proyek Perangkat Lunak _13.pptxManajemen Proyek Perangkat Lunak _13.pptx
Manajemen Proyek Perangkat Lunak _13.pptx
 
kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0
kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0
kecerdasan komputasi_ It dalam era revolusi industri 4.0, dan society 5.0
 
Manajemen layanan teknologi informasi__Tata kelola
Manajemen layanan teknologi informasi__Tata kelolaManajemen layanan teknologi informasi__Tata kelola
Manajemen layanan teknologi informasi__Tata kelola
 
Technopreneurship__part 3__macam-macam E-commerce
Technopreneurship__part 3__macam-macam E-commerceTechnopreneurship__part 3__macam-macam E-commerce
Technopreneurship__part 3__macam-macam E-commerce
 
Technopreneurship__part 2__Business adoption of digital technologie
Technopreneurship__part 2__Business adoption of digital technologieTechnopreneurship__part 2__Business adoption of digital technologie
Technopreneurship__part 2__Business adoption of digital technologie
 
Web Service dan service oriented architecture
Web Service dan service oriented architectureWeb Service dan service oriented architecture
Web Service dan service oriented architecture
 
Konsep dasar information technology service management
Konsep dasar information technology service managementKonsep dasar information technology service management
Konsep dasar information technology service management
 
Technopreneurship__part 1__ konsep Technopreneurship.pptx
Technopreneurship__part 1__ konsep Technopreneurship.pptxTechnopreneurship__part 1__ konsep Technopreneurship.pptx
Technopreneurship__part 1__ konsep Technopreneurship.pptx
 
MLTI_1.Konsep dasar it service management.ppt
MLTI_1.Konsep dasar it service management.pptMLTI_1.Konsep dasar it service management.ppt
MLTI_1.Konsep dasar it service management.ppt
 

pertemuan 1__Desain dan analisis algoritma

  • 1. Design dan Analisis Algoritma: Pengantar Algoritma Maryona Septiara, S.Pd., M.Kom.
  • 2. Referensi Thomas H cormen, dkk Introduction to the design and analysis ofalgorithms Anany Leviti Computer Algorithms; Introduction design and analysis Sara Band Allen V. G Strategi algoritmik Rinaldi munir Introductionto Algorithms,3rdEdition
  • 3. What is algorithm?  Urutan instruksi/ langkah yang tidak ambigu untuk memecahkan masalah.  Langkah-langkah atau prosedur yang harus dilakukan untuk menyelesaikan suatu masalah.  Sekumpulan instruksi yang jumlahnya terbatas yang apabila dilaksanakan akan menyelesaikan suatu tugas tertentu.
  • 4. What is algorithm? Ialah cara yang dapat ditempuh oleh komputer dalam mencapai suatu tujuan, terdiri atas Langkah-Langkah yang terdefinisikan dengan baik, input, proses, dan output, dan juga bisa dihitung (computable) atau bisa di ukur (measurable).
  • 6. Algorithm: syarat correctness ● Algoritma berhasil mengeluarkan output yang benar dari input yang ada. ● Jika hanya 99% benar? Algoritma = salah
  • 7. Kenapa perlu analisis dan strategi algoritma? Algoritmaterstruktur/bagus. Algoritmaefektif dan efisien Peduli dengan spesifikasi perangkat user Program jangka Panjang.
  • 8. Algoritma harus memiliki • Pahami sepenuhnya masalah yang diberikan. • Baca uraian masalah dengan cermat
  • 9. Contoh Algoritma Bagaimana cara agar dapat kuliah disuatu Perguruan Tinggi? Mulai 1. Mengikuti tes masuk 2. Memilih perguruan tinggi 3. Mengisi formular pendaftaran 4. Membayar SPP 5. Jika lulus tes, lanjut ke tahap 3, jika tidak selesai. 6. Mengambil KTM Selesai Kesimpulan: algoritma yang tidak baik karena urutan langkahnya tidak logis.
  • 10. Contoh Algoritma Bagaimanacaramemasakmiegoreng? Mulai 1. Siapkansemuaalatdanbahan 2. Masukanairkedalampanci 3. Letakanpancidiataskompordantungguairsampaimendidih 4. Masukan mie, tunggu 3 menit atau sampai kematangan yang diinginkan 5. Tiriskanair 6. Tuangbumbumiekedalammangkok 7. Masukanmiekedalammangkok 8. Adukratamiedanbumbu, 9. Miegorengsiapuntukdisajikan Selesai Kesimpulan:algoritmayangbaikkarenaurutanlangkahnyalogis.
  • 11. Latihan 1 Buatlah sebuah algoritma yang simple.
  • 13. Design Algorithm  Teknik desain algoritma (atau "strategi" atau "paradigma") adalah pendekatan umum untuk memecahkan masalah secara algoritmik yang berlaku untuk berbagai masalah dari berbagai bidang komputasi.
  • 15.
  • 16. Latihan 2 Buatlah design algoritma dari algoritma yang sudah anda buat pada Latihan 1.
  • 17. Algorithms + Data Structures = Programs ?? Macam-macam Bahasa pemograman Phyton Java C++ PHP
  • 18. Algoritma dalam pemograman 1. Mengatasi permasalahan rumit dalam program 2. Mempermudah pencarian dan perbaikan kesalahan karena tertata dan tersusun dengan rapi 3. Menyederhanakan program jadi sederhana 4. Meminimalisir penulisan program yang berulang-ulang Algoritma: logika dari pemograman
  • 19. Code Code vs Pseudocode Code : kode program Kegiatan menulis baris-baris kode dari suatu Bahasa pemograman, agar dapat berkomunikasi dengan komputer dan perintah dapat di eksekusi.
  • 20. Pseudocode Contoh Pseudocode Pseudocode Pseudo : mirip atau menyerupai Code : kode program Deskripsi tingkat tinggi informal dan ringkas atas algoritma pemograman pada suatu Bahasa pemograman, yang ditujukan untuk manusia agar mudah dibaca. Pseudocode : Kode yang mirip dengan instruksi kode program yang sebenarnya, menghasilkan deskripsi algoritma yang lebih ringkas. Judul Program ganjil_genap Deskripsi var bilangan: integer Implementasi READ bilangan (input nilai var bilangan) IF (bilangan modulus 2 = 0) THEN PRINT “genap” ELSE PRINT “ganjil” ENDIF Format Pseudocode Judul {judul dari algoritma} Program <namaprogram> Deskripsi {berisi deklarasi variabel} <namavariabel : <tipe_data> Implementasi {berisi inti dari algoritma tersebut}
  • 21. Latihan 3 Buatlah Pseudocode berdasarkan dari algoritma dan flowchart yang sudah anda buat pada Latihan 1 dan 2.
  • 22. Struktur data Struktur data memiliki format khusus untuk: • Mengatur data • Memproses data • Mengambil data • Menyimpan data Secara teknis data disimpan dalam bentuk: • Angka • Huruf • Simbol, dll
  • 23. Struktur Data  Skema tertentu dari pengorganisasian item data terkait.  Sifat item data ditentukan oleh masalah yang dihadapi; mereka dapat berkisar dari tipe data dasar (misalnya, bilangan bulat atau karakter) hingga struktur data (misalnya, larik satu dimensi dari larik satu dimensi sering digunakan untuk mengimplementasikan matriks). Struktur data: cara menyimpan dan mengatur data secara terstruktur pada system computer atau database sehingga lebih mudah diakses.
  • 24. Struktur Data Macam-macam struktur data 1. Array  Kumpulan elemen yang jaraknya berdekatan Keunggulan tipe array: • Bisa digunakan sebagai implementasi tipe lainnya, seperti queue dan stack • Proses pencarian data bisa dilakukan lebih cepat Kekurangan: Penambahan dan pengurangan data membutuhkan waktu yang lama, karena menampung data secara berurutan
  • 25. Struktur Data Macam-macam struktur data 2. Link list  Struktur data yang terdiri dari urutan data linier yang dihubungkan satu sama lainnya Keunggulan : • Ukuran lebih dinamis • Alokasi penggunaan memori bisa disesuaikan • Pengurangan atau penambahan data lebih cepat Kekurangan: Menguras memori lebih besar, dan proses traversal lebih Panjang karena tidak langsung mengakses data ke indeks.
  • 26. Struktur Data Macam-macam struktur data 3. stack  Struktur data yang linier dan mengikuti urutan LIFO atau FILO (first in last out) 4. Queue  Struktur data linear yang mengikuti urutan FIFO (first in first out)
  • 28. Does anyone have any questions? Thank you

Hinweis der Redaktion

  1. Masalah, yaitu sebuah persoalan yang ingin diselesaikan oleh sebuah algoritma Masukan, yaitu contoh data atau keadaan yang menjadi permasalahan Keluaran, yaitu bentuk akhir dari data setelah algoritma diimplementasikan ke masukan. Keluaran merupakan hasil ideal yang diinginkan dan dianggap telah menyelesaikan masalah.
  2. Algorithma menjadi dasar dalam membuat suatu pemograman
  3. Struktur data hal yang penting diketahui oleh programer, memudahkan pengguna untuk mengakses data yang dibutuhkan.
  4. Membantu seseorang untuk mencari data dg use indeks
  5. Root Parent node Child node Siblings Leaf node