SlideShare a Scribd company logo
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Struktur Data dan Algoritma
Q4M1
2015
CEP - CCIT
Fakultas Teknik Universitas Indonesia
Arti Kata
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Data :
• keterangan yg benar dan nyata
• keterangan atau bahan nyata yg dapat dijadikan dasar kajian
(analisis atau kesimpulan)
o Struktur :
• sesuatu yang disusun atau dibangun
• disusun dengan pola tertentu
• pengaturan unsur atau bagian suatu benda
o Algoritma :
• Instruksi yang telah ditentukan untuk menyelesaikan suatu
permasalahan yang spesifik di sejumlah langkah.
Struktur Data
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Semua program berurusan dengan data
• Sistem informasi: informasi, laporan, user, …
• Game: posisi & status pemain, musuh, skor, …
• Search engine: URL, isi, hyperlink, bobot, …
• Mengapa data itu disimpan?
• Supaya bisa diakses/diproses di kemudian waktu
• Mengapa dalam penyimpanan data diperlukan sebuah
struktur?
• Supaya lebih mudah/efisien dalam pengaksesan/pemrosesan
data tersebut
Mengapa Materi Ini Penting?
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Perhatikan Kode Program Untuk Menampilkan Angka 1 –
500 :
Console.WriteLine(“1”);
Console.WriteLine(“2”);
Console.WriteLine(“3”);
...
Console.WriteLine(“500”);
Kode Disamping 500 Baris.
Apakah Kode Disamping Benar?
Bandingkanlah Dengan Kode Berikut :
for(int i = 0; i < 500; i++)
{
Console.WriteLine(i);
}
Kode Disamping Hanya 4 Baris.
Apakah Kode Disamping Benar?
Kode disamping Benar, akan tetapi
tidak efisien dan sulit untuk dipelihara.
Kode disamping Benar, sederhana dan
mudah untuk dipelihara.
Mengapa Belajar Implementasi Stuktur Data?
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Cara yang terbaik untuk benar-benar dapat memahami masing-
masing struktur data adalah membuatnya.
o Mengetahui kelebihan dan kekurangan dari masing-masing
struktur data.
o Dalam industri, bahasa yang digunakan tidaklah selalu C#.
o Melatih berpikir tentang efisiensi.
Peranan Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Kata “Algorithm” berasal dari nama seorang ahli matematika
bernama Al Khwarizmi.
o Sebuah algoritma bisa diartikan sebagai langkah-langkah
prosedural untuk menyelesaikan suatu permasalahan.
o Sebuah algoritma membantu kita untuk mendapatkan hasil yang
tepat dari beberapa langkah yang sudah ditentukan.
Peranan Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Contoh sederhana algoritma dikehidupan sehari-hari
(memasak mie instant) :
1. Siapkan peralatan masak seperti panci/wajan.
2. Isi panci/wajan dengan air.
3. Masak air hingga mendidih.
4. Masukkan mie instant kedalam panci/wajan.
5. Tunggu hingga 3 menit.
6. Tiriskan mie instant yang sudah matang.
7. Sajikan mie instant yang sudah ditaburi bumbu penyedap.
Peranan Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Suatu masalah bisa dipecahkan dengan Komputer hanya jika
suatu algoritma bisa dituliskan untuk menyelesaikannya.
o Dengan tambahan, algoritma memiliki kelebihan sebagai
berikut :
• Membantu dalam membuat program yang sesuai
• Membagi permasalahan kedalam beberapa bagian kecil yang
bisa diselesaikan.
• Membantu dalam mengambil keputusan secara rasional
• Membantu membuat proses pengerjaan menjadi konsisten
dan handal
Peranan Struktur Data
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Data bisa diorganisir dengan berbagai cara yang
memungkinkan anda bisa membuat struktur data sebanyak
yang diperlukan.
o Beberapa struktur data yang dibuktikan sudah membantu
dalam penyelesaian masalah :
• Arrays
• Linked List
• Stacks
• Queues
• Trees
• Graphs
Peranan Struktur Data
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Penggunaan struktur data yang tepat dapat meningkatkan
nilai efisiensi dari program.
o Penggunaan struktur data yang tepat juga dapat membantu
mengatasi beberapa tantangan programming seperti :
• Menyederhanakan permasalahan yang rumit
• Membuat standarisasi komponen kode yang bisa digunakan
kembali.
• Membuat program yang mudah untuk dimengerti dan
dipelihara.
Struktur Data = Container
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Sebuah struktur data dapat dipandang
sebagai tempat penyimpanan benda
(container).
• Beberapa hal yang dapat dilakukan:
– Menaruh benda
– Mengambil benda
– Mencari benda tertentu
– Mengosongkannya (atau periksa
apakah kosong)
Container
Data
ADT : List
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Sebuah List adalah kumpulan benda di mana setiap benda
memiliki posisi.
• Setiap benda dalam List dapat diakses melalui indeks-nya.
• Contoh paling gampang : Array!
1 2 3 4Indeks
ADT : Stack
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Sebuah Stack adalah kumpulan
benda di mana hanya benda yang
most recently inserted dapat
diakses.
• Bayangkan setumpuk koran.
• Benda yang paling terakhir
ditambahkan ditaruh di atas
tumpukan (top).
• Ingat FILO (First In, Last Out)
Least
recent
Most
recent
push pop,top
ADT : Queue
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Sebuah Queue adalah kumpulan benda di mana hanya benda
yang least recently inserted dapat diakses.
• Bayangkan antrian printer job pada jaringan.
• Benda yang paling awal ditambahkan berada di depan antrian
(front).
• Ingat FIFO (First In, First Out)
enqueue
Most recent Least recent
dequeue
getFront
Efisiensi Suatu Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Faktor yang mempengaruhi efisiensi dari program antara lain :
• Speed of the machine
• Compiler
• Operating System
• Programming Language
• Size of the input
o Faktor tambahannya antara lain cara mengorganisir data dan
algoritma yang digunakan juga mempengaruhi efisiensi dari
program.
Efisiensi Suatu Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Efisiensi dari algoritma bisa dihitung dengan cara mendefinisikan
jumlah resources yang digunakan.
o Sumber primer yang digunakan algoritma adalah :
o Time : Waktu dari CPU memproses sebuah algoritma
o Space : Jumlah memory yang digunakan oleh algoritma untuk
memprosesnya.
o Semakin sedikit resources yang digunakan, semakin efisien
algoritma tersebut untuk diterapkan.
Efisiensi Suatu Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Untuk mengukur efisiensi algoritma, anda bisa menuliskan suatu
kode program berdasarkan algoritma tersebut, eksekusi, dan ukur
berapa waktu yang dibutuhkan.
o Waktu eksekusi dari suatu algoritma bergantung terhadap jumlah
komparasi (comparisons) yang ada pada suatu algoritma dan
fungsi dari n, dimana n adalah jumlah data yang diinputkan.
o The Order of Growth didefinisikan dengan notasi huruf O besar.
o The Big O sudah menjadi teknik fundamental dalam
mendeskripsikan efisiensi algoritma.
Efisiensi Suatu Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Perbedaan dari Order of Growth dan Big O Notation yang
sesuai :
• Constant – O(1)
• Logarithmic – O(log n)
• Linear – O(n)
• Loglinear – O(n log n)
• Quadratic – O(n2)
• Cubic – O(n3)
• Exponential – O(2n), O(10n)
Efisiensi Suatu Algoritma
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
• Berdasarkan Order of Growth, Big O bisa disusun sebagai
berikut :
O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(n3) < O(2n) < O(10n)
Panduan Project
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
o Setiap kelompok akan membuat program dengan menggunakan
bahasa C#.
o Program yang dibuat wajib mengimplementasikan beberapa
metode algoritma dan struktur data.
o Setiap anggota kelompok mengerti tentang algoritma dan struktur
data yang digunakan pada program yang dibuatnya.
o Tema yang digunakan bebas (diperbolehkan membuat sistem
informasi ataupun game).
Latihan
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
1. Buatlah program untuk mencetak pola seperti
disamping, apabila nilai inputan yang
dimasukkan adalah 5.
2. Berapakah kemungkinan langkah terkecil yang
bisa dilakukan untuk menyelesaikan Tower of
Hanoi (Lucas, 1883)? Buktikan!
1
2 1
3 2 1
4 3 2 1
5 4 3 2 1
Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom
Terima Kasih
Dudy Fathan Ali S.Kom
dudy.fathan@eng.ui.ac.id

More Related Content

PPTX
Pemutusan hubungan kerja(pemberhentian) by warizen
DOCX
Makalah tentang prinsip prinsip kepemimpinan
DOCX
Membuat SOP (Standard Operating Procedure)
PPTX
Permen Jelly dari Kulit Jeruk
PPTX
problematika relevansi pendidikan
PDF
Penilaian kinerja dan kompensasi
PPTX
Job desig nelearning
DOCX
Laporan kegiatan diagnosis kesulitan belajar
Pemutusan hubungan kerja(pemberhentian) by warizen
Makalah tentang prinsip prinsip kepemimpinan
Membuat SOP (Standard Operating Procedure)
Permen Jelly dari Kulit Jeruk
problematika relevansi pendidikan
Penilaian kinerja dan kompensasi
Job desig nelearning
Laporan kegiatan diagnosis kesulitan belajar

What's hot (12)

PPT
PERAMALAN PERMINTAAN.ppt
PDF
kkp apsi
PDF
7. hapzi ali, sistem informasi operasional (operational information system), ut
PPTX
Pengertian ICT dan Peranan dalam Pendidikan
DOC
Makalah SISTEM INFORMASI SUMBER DAYA MANUSIA
PDF
Buku Statistik Pendidikan Tinggi Indonesia 2022.pdf
PPTX
pengaruh budaya organisasi dan motivasi kerja terhadap kinerja pegawai
PPT
Sistem informasi-manajemen
DOCX
Makalah pelaporan keberlanjutan dan pelaporan terintegrasi(1)
DOCX
Jurnal penelitian
PPT
Motivasi 1 pp
DOCX
Peran guru dalam administrasi sekolah menengah
PERAMALAN PERMINTAAN.ppt
kkp apsi
7. hapzi ali, sistem informasi operasional (operational information system), ut
Pengertian ICT dan Peranan dalam Pendidikan
Makalah SISTEM INFORMASI SUMBER DAYA MANUSIA
Buku Statistik Pendidikan Tinggi Indonesia 2022.pdf
pengaruh budaya organisasi dan motivasi kerja terhadap kinerja pegawai
Sistem informasi-manajemen
Makalah pelaporan keberlanjutan dan pelaporan terintegrasi(1)
Jurnal penelitian
Motivasi 1 pp
Peran guru dalam administrasi sekolah menengah
Ad

Similar to Algorithm & Data Structure - Pengantar (20)

PDF
Algoritma Pemrogaman
PDF
Berkas
PDF
1. Desain dan analisis algoritma__ pengantar algoritma.pdf
PDF
Algoritam1
PPTX
pertemuan 1__Desain dan analisis algoritma
PPT
Algo dn pemrogaman
PDF
Algoritma dan data struktur pdf
PDF
M03b algoritma lanjutan
PDF
PD-1-2-Alur_berpikir_program_algoritma_flowchart_dan_pseudocode.pdf
PPTX
BERPIKIR KOMPUTASIONAL.pptx
PPT
Pertemuan1
PPTX
Desain dan analisis Algoritma Pertemuan ke-3.pptx
DOC
Tahapan analisis dan perancangan sistem informasi
PPTX
3-1 Algoritma.pptx
PDF
Dasar Algoritma
PDF
soal ppk pranata komputer.pdf
PPTX
Algoritma dan Pemrograman
PPTX
Materi 1 - Algoritma & Pemrogaman
PPT
Algoritma dan Flowchart1.ppt
PPT
algoritma-dan-flowchart14_ilmu komunikasi.ppt
Algoritma Pemrogaman
Berkas
1. Desain dan analisis algoritma__ pengantar algoritma.pdf
Algoritam1
pertemuan 1__Desain dan analisis algoritma
Algo dn pemrogaman
Algoritma dan data struktur pdf
M03b algoritma lanjutan
PD-1-2-Alur_berpikir_program_algoritma_flowchart_dan_pseudocode.pdf
BERPIKIR KOMPUTASIONAL.pptx
Pertemuan1
Desain dan analisis Algoritma Pertemuan ke-3.pptx
Tahapan analisis dan perancangan sistem informasi
3-1 Algoritma.pptx
Dasar Algoritma
soal ppk pranata komputer.pdf
Algoritma dan Pemrograman
Materi 1 - Algoritma & Pemrogaman
Algoritma dan Flowchart1.ppt
algoritma-dan-flowchart14_ilmu komunikasi.ppt
Ad

More from Dudy Ali (20)

PDF
Understanding COM+
PDF
Distributed Application Development (Introduction)
PPTX
Java CRUD Mechanism with SQL Server Database
PPTX
Network Socket Programming with JAVA
PPTX
Review Materi ASP.NET
PPTX
XML Schema Part 2
PPTX
XML Schema Part 1
PPTX
Rendering XML Document
PPTX
Pengantar XML
PPTX
Pengantar XML DOM
PPTX
Pengantar ADO.NET
PPTX
Database Connectivity with JDBC
PPTX
XML - Displaying Data ith XSLT
PPTX
Algorithm & Data Structure - Algoritma Pengurutan
PPTX
Object Oriented Programming - Value Types & Reference Types
PPTX
Object Oriented Programming - Inheritance
PPTX
Object Oriented Programming - File Input & Output
PPTX
Object Oriented Programming - Constructors & Destructors
PPTX
Object Oriented Programming - Abstraction & Encapsulation
PPTX
Web Programming Syaria - Pengenalan Halaman Web
Understanding COM+
Distributed Application Development (Introduction)
Java CRUD Mechanism with SQL Server Database
Network Socket Programming with JAVA
Review Materi ASP.NET
XML Schema Part 2
XML Schema Part 1
Rendering XML Document
Pengantar XML
Pengantar XML DOM
Pengantar ADO.NET
Database Connectivity with JDBC
XML - Displaying Data ith XSLT
Algorithm & Data Structure - Algoritma Pengurutan
Object Oriented Programming - Value Types & Reference Types
Object Oriented Programming - Inheritance
Object Oriented Programming - File Input & Output
Object Oriented Programming - Constructors & Destructors
Object Oriented Programming - Abstraction & Encapsulation
Web Programming Syaria - Pengenalan Halaman Web

Recently uploaded (11)

PPTX
power point tentang perangkat keras Harddisk
DOCX
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
PPTX
BERPIKIR KOMPUTASIONAL UNTUK KELAS 7 SMP
PPTX
Slide_Diskusi_Modul_5_Pembelajaran_Mendalam.pptx
PPTX
BERPIKIR KOMPUTASI UNTUK SMP KELAS 8 INFORMATIKA
PPTX
pptkeanekaragamanhayatikelasx-230420031343-b57cdeb4.pptx
DOCX
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PPTX
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
PPTX
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
PPTX
presentasi penerapan struktur data pada dunia komputer
PPTX
Implementasi Microservices pada Manufaktur
power point tentang perangkat keras Harddisk
Antivirus Versi.FULL.JALiN.KB.PRO Keutuhan Aplikasi Konsep dan Praktik dalam ...
BERPIKIR KOMPUTASIONAL UNTUK KELAS 7 SMP
Slide_Diskusi_Modul_5_Pembelajaran_Mendalam.pptx
BERPIKIR KOMPUTASI UNTUK SMP KELAS 8 INFORMATIKA
pptkeanekaragamanhayatikelasx-230420031343-b57cdeb4.pptx
Keutuhan Aplikasi Konsep dan Praktik dalam Upaya menciptakan aplikasi Anti Vi...
PERANCANGAN DAN PENGEMBANGAN VIDEO GAME SEBAGAI MEDIA TERAPI DEPRESI
Peranan AI dalam Dunia Pendidikan dan Industri Aplikasinya
presentasi penerapan struktur data pada dunia komputer
Implementasi Microservices pada Manufaktur

Algorithm & Data Structure - Pengantar

  • 1. Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Struktur Data dan Algoritma Q4M1 2015 CEP - CCIT Fakultas Teknik Universitas Indonesia
  • 2. Arti Kata Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Data : • keterangan yg benar dan nyata • keterangan atau bahan nyata yg dapat dijadikan dasar kajian (analisis atau kesimpulan) o Struktur : • sesuatu yang disusun atau dibangun • disusun dengan pola tertentu • pengaturan unsur atau bagian suatu benda o Algoritma : • Instruksi yang telah ditentukan untuk menyelesaikan suatu permasalahan yang spesifik di sejumlah langkah.
  • 3. Struktur Data Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Semua program berurusan dengan data • Sistem informasi: informasi, laporan, user, … • Game: posisi & status pemain, musuh, skor, … • Search engine: URL, isi, hyperlink, bobot, … • Mengapa data itu disimpan? • Supaya bisa diakses/diproses di kemudian waktu • Mengapa dalam penyimpanan data diperlukan sebuah struktur? • Supaya lebih mudah/efisien dalam pengaksesan/pemrosesan data tersebut
  • 4. Mengapa Materi Ini Penting? Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Perhatikan Kode Program Untuk Menampilkan Angka 1 – 500 : Console.WriteLine(“1”); Console.WriteLine(“2”); Console.WriteLine(“3”); ... Console.WriteLine(“500”); Kode Disamping 500 Baris. Apakah Kode Disamping Benar? Bandingkanlah Dengan Kode Berikut : for(int i = 0; i < 500; i++) { Console.WriteLine(i); } Kode Disamping Hanya 4 Baris. Apakah Kode Disamping Benar? Kode disamping Benar, akan tetapi tidak efisien dan sulit untuk dipelihara. Kode disamping Benar, sederhana dan mudah untuk dipelihara.
  • 5. Mengapa Belajar Implementasi Stuktur Data? Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Cara yang terbaik untuk benar-benar dapat memahami masing- masing struktur data adalah membuatnya. o Mengetahui kelebihan dan kekurangan dari masing-masing struktur data. o Dalam industri, bahasa yang digunakan tidaklah selalu C#. o Melatih berpikir tentang efisiensi.
  • 6. Peranan Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Kata “Algorithm” berasal dari nama seorang ahli matematika bernama Al Khwarizmi. o Sebuah algoritma bisa diartikan sebagai langkah-langkah prosedural untuk menyelesaikan suatu permasalahan. o Sebuah algoritma membantu kita untuk mendapatkan hasil yang tepat dari beberapa langkah yang sudah ditentukan.
  • 7. Peranan Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Contoh sederhana algoritma dikehidupan sehari-hari (memasak mie instant) : 1. Siapkan peralatan masak seperti panci/wajan. 2. Isi panci/wajan dengan air. 3. Masak air hingga mendidih. 4. Masukkan mie instant kedalam panci/wajan. 5. Tunggu hingga 3 menit. 6. Tiriskan mie instant yang sudah matang. 7. Sajikan mie instant yang sudah ditaburi bumbu penyedap.
  • 8. Peranan Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Suatu masalah bisa dipecahkan dengan Komputer hanya jika suatu algoritma bisa dituliskan untuk menyelesaikannya. o Dengan tambahan, algoritma memiliki kelebihan sebagai berikut : • Membantu dalam membuat program yang sesuai • Membagi permasalahan kedalam beberapa bagian kecil yang bisa diselesaikan. • Membantu dalam mengambil keputusan secara rasional • Membantu membuat proses pengerjaan menjadi konsisten dan handal
  • 9. Peranan Struktur Data Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Data bisa diorganisir dengan berbagai cara yang memungkinkan anda bisa membuat struktur data sebanyak yang diperlukan. o Beberapa struktur data yang dibuktikan sudah membantu dalam penyelesaian masalah : • Arrays • Linked List • Stacks • Queues • Trees • Graphs
  • 10. Peranan Struktur Data Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Penggunaan struktur data yang tepat dapat meningkatkan nilai efisiensi dari program. o Penggunaan struktur data yang tepat juga dapat membantu mengatasi beberapa tantangan programming seperti : • Menyederhanakan permasalahan yang rumit • Membuat standarisasi komponen kode yang bisa digunakan kembali. • Membuat program yang mudah untuk dimengerti dan dipelihara.
  • 11. Struktur Data = Container Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Sebuah struktur data dapat dipandang sebagai tempat penyimpanan benda (container). • Beberapa hal yang dapat dilakukan: – Menaruh benda – Mengambil benda – Mencari benda tertentu – Mengosongkannya (atau periksa apakah kosong) Container Data
  • 12. ADT : List Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Sebuah List adalah kumpulan benda di mana setiap benda memiliki posisi. • Setiap benda dalam List dapat diakses melalui indeks-nya. • Contoh paling gampang : Array! 1 2 3 4Indeks
  • 13. ADT : Stack Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Sebuah Stack adalah kumpulan benda di mana hanya benda yang most recently inserted dapat diakses. • Bayangkan setumpuk koran. • Benda yang paling terakhir ditambahkan ditaruh di atas tumpukan (top). • Ingat FILO (First In, Last Out) Least recent Most recent push pop,top
  • 14. ADT : Queue Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Sebuah Queue adalah kumpulan benda di mana hanya benda yang least recently inserted dapat diakses. • Bayangkan antrian printer job pada jaringan. • Benda yang paling awal ditambahkan berada di depan antrian (front). • Ingat FIFO (First In, First Out) enqueue Most recent Least recent dequeue getFront
  • 15. Efisiensi Suatu Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Faktor yang mempengaruhi efisiensi dari program antara lain : • Speed of the machine • Compiler • Operating System • Programming Language • Size of the input o Faktor tambahannya antara lain cara mengorganisir data dan algoritma yang digunakan juga mempengaruhi efisiensi dari program.
  • 16. Efisiensi Suatu Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Efisiensi dari algoritma bisa dihitung dengan cara mendefinisikan jumlah resources yang digunakan. o Sumber primer yang digunakan algoritma adalah : o Time : Waktu dari CPU memproses sebuah algoritma o Space : Jumlah memory yang digunakan oleh algoritma untuk memprosesnya. o Semakin sedikit resources yang digunakan, semakin efisien algoritma tersebut untuk diterapkan.
  • 17. Efisiensi Suatu Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Untuk mengukur efisiensi algoritma, anda bisa menuliskan suatu kode program berdasarkan algoritma tersebut, eksekusi, dan ukur berapa waktu yang dibutuhkan. o Waktu eksekusi dari suatu algoritma bergantung terhadap jumlah komparasi (comparisons) yang ada pada suatu algoritma dan fungsi dari n, dimana n adalah jumlah data yang diinputkan. o The Order of Growth didefinisikan dengan notasi huruf O besar. o The Big O sudah menjadi teknik fundamental dalam mendeskripsikan efisiensi algoritma.
  • 18. Efisiensi Suatu Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Perbedaan dari Order of Growth dan Big O Notation yang sesuai : • Constant – O(1) • Logarithmic – O(log n) • Linear – O(n) • Loglinear – O(n log n) • Quadratic – O(n2) • Cubic – O(n3) • Exponential – O(2n), O(10n)
  • 19. Efisiensi Suatu Algoritma Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom • Berdasarkan Order of Growth, Big O bisa disusun sebagai berikut : O(1) < O(log n) < O(n) < O(n log n) < O(n2) < O(n3) < O(2n) < O(10n)
  • 20. Panduan Project Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom o Setiap kelompok akan membuat program dengan menggunakan bahasa C#. o Program yang dibuat wajib mengimplementasikan beberapa metode algoritma dan struktur data. o Setiap anggota kelompok mengerti tentang algoritma dan struktur data yang digunakan pada program yang dibuatnya. o Tema yang digunakan bebas (diperbolehkan membuat sistem informasi ataupun game).
  • 21. Latihan Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom 1. Buatlah program untuk mencetak pola seperti disamping, apabila nilai inputan yang dimasukkan adalah 5. 2. Berapakah kemungkinan langkah terkecil yang bisa dilakukan untuk menyelesaikan Tower of Hanoi (Lucas, 1883)? Buktikan! 1 2 1 3 2 1 4 3 2 1 5 4 3 2 1
  • 22. Algorithm and Data Structure (C#) Dudy Fathan Ali S.Kom Terima Kasih Dudy Fathan Ali S.Kom [email protected]

Editor's Notes

  • #13: Abstract Data Type