Dokumen ini membahas tentang algoritma dan struktur data, termasuk definisi algoritma dan struktur data, contoh struktur data seperti list, stack, dan queue, serta penjelasan mengenai efisiensi algoritma dan penggunaan struktur data untuk meningkatkan efisiensi program.
Cobit 5 untuk manajemen teknologi informasi dan proses bisnisAgreindra Helmiawan
Teks tersebut merupakan ringkasan dari penggunaan kerangka kerja COBIT 5 untuk mengevaluasi dan meningkatkan pengelolaan teknologi informasi perusahaan. Teks tersebut menjelaskan langkah-langkah evaluasi menggunakan COBIT 5 dan memberikan rekomendasi untuk perbaikan berdasarkan hasil evaluasi.
Dokumen tersebut merangkum konsep sistem dan klasifikasi sistem. Sistem didefinisikan sebagai kesatuan yang terdiri dari bagian-bagian saling berkaitan yang beroperasi untuk mencapai tujuan. Sistem diklasifikasikan menjadi sistem abstrak dan fisik, sistem deterministik dan probabilistik, sistem tertutup dan terbuka, serta sistem alami dan buatan. Karakteristik sistem mencakup komponen, batas, lingkungan luar, masuk
Dokumen tersebut membahas tentang stack dan penggunaannya untuk mengecek kata palindrom dan mengkonversi notasi aritmatika. Stack dijelaskan sebagai kumpulan data yang disusun seperti tumpukan di mana penambahan dan penghapusan data dilakukan dari satu ujung yang sama. Program C++ untuk operasi stack dan contoh aplikasinya untuk mengecek kata palindrom dengan menggunakan stack serta konversi notasi infix ke postfix juga dij
Dokumen tersebut merupakan soal dan pembahasan mengenai rekayasa perangkat lunak yang mencakup 20 soal pilihan ganda dan jawabannya. Soal-soal tersebut meliputi konsep-konsep dasar rekayasa perangkat lunak seperti analisis kebutuhan, manajemen proyek, organisasi, dan studi kelayakan.
Sistem informasi rental alat berat PT Terlalu Berat dirancang untuk mempermudah proses transaksi penyewaan secara online, mengolah data pelanggan dan alat secara efisien, serta membuat pembukuan transaksi yang cepat dan rapi. Sistem ini diharapkan dapat meningkatkan efisiensi proses bisnis penyewaan alat berat perusahaan.
Laporan praktikum algoritma pemrograman dan struktur data membahas tentang bahasa C dan C++, struktur bahasa C++, identifier, kata kunci, variabel, tipe data, dan karakter khusus. Praktikum meliputi penggunaan preprocessor directive, deklarasi variabel, tipe data dan komentar, serta format data.
Dokumen tersebut membahas tentang berbagai profesi di bidang teknologi informasi seperti analyst programmer, web designer, systems programmer, IT executive, database administrator, dan IT manager beserta persyaratannya.
Cobit 5 untuk manajemen teknologi informasi dan proses bisnisAgreindra Helmiawan
Teks tersebut merupakan ringkasan dari penggunaan kerangka kerja COBIT 5 untuk mengevaluasi dan meningkatkan pengelolaan teknologi informasi perusahaan. Teks tersebut menjelaskan langkah-langkah evaluasi menggunakan COBIT 5 dan memberikan rekomendasi untuk perbaikan berdasarkan hasil evaluasi.
Dokumen tersebut merangkum konsep sistem dan klasifikasi sistem. Sistem didefinisikan sebagai kesatuan yang terdiri dari bagian-bagian saling berkaitan yang beroperasi untuk mencapai tujuan. Sistem diklasifikasikan menjadi sistem abstrak dan fisik, sistem deterministik dan probabilistik, sistem tertutup dan terbuka, serta sistem alami dan buatan. Karakteristik sistem mencakup komponen, batas, lingkungan luar, masuk
Dokumen tersebut membahas tentang stack dan penggunaannya untuk mengecek kata palindrom dan mengkonversi notasi aritmatika. Stack dijelaskan sebagai kumpulan data yang disusun seperti tumpukan di mana penambahan dan penghapusan data dilakukan dari satu ujung yang sama. Program C++ untuk operasi stack dan contoh aplikasinya untuk mengecek kata palindrom dengan menggunakan stack serta konversi notasi infix ke postfix juga dij
Dokumen tersebut merupakan soal dan pembahasan mengenai rekayasa perangkat lunak yang mencakup 20 soal pilihan ganda dan jawabannya. Soal-soal tersebut meliputi konsep-konsep dasar rekayasa perangkat lunak seperti analisis kebutuhan, manajemen proyek, organisasi, dan studi kelayakan.
Sistem informasi rental alat berat PT Terlalu Berat dirancang untuk mempermudah proses transaksi penyewaan secara online, mengolah data pelanggan dan alat secara efisien, serta membuat pembukuan transaksi yang cepat dan rapi. Sistem ini diharapkan dapat meningkatkan efisiensi proses bisnis penyewaan alat berat perusahaan.
Laporan praktikum algoritma pemrograman dan struktur data membahas tentang bahasa C dan C++, struktur bahasa C++, identifier, kata kunci, variabel, tipe data, dan karakter khusus. Praktikum meliputi penggunaan preprocessor directive, deklarasi variabel, tipe data dan komentar, serta format data.
Dokumen tersebut membahas tentang berbagai profesi di bidang teknologi informasi seperti analyst programmer, web designer, systems programmer, IT executive, database administrator, dan IT manager beserta persyaratannya.
Antrian adalah struktur data yang menyimpan elemen sesuai urutan masuk (FIFO). Terdapat beberapa metode utama pada antrian seperti enqueue untuk menambahkan elemen, dequeue untuk mengambil elemen pertama, dan peek untuk melihat elemen pertama tanpa menghapusnya. Antrian dapat diimplementasikan menggunakan array dengan menyimpan indeks elemen terakhir.
Dokumen tersebut membahas tentang manajemen portofolio teknologi informasi. Secara ringkas, dokumen tersebut menjelaskan bahwa (1) manajemen portofolio teknologi informasi digunakan untuk mengevaluasi manfaat, biaya, dan risiko setiap investasi TI, (2) terdiri dari delapan tahap dasar yaitu perencanaan, pembuatan, penilaian, penyeimbangan, komunikasi, tata kelola, dan evaluasi, (3) bertuju
Sistem Informasi Manajemen "Dokumen Usulan Pengembangan Sistem Informasi untu...Wahyu Anggara
Dokumen Usulan Pengembangan Sistem Informasi untukProyek Peningkatan dan Pengembangan Saranadan PrasaranaPerpus PPKB (Prestasi dan Pemerataan Kesempatan Belajar )
Makalah ini membahas tentang komunikasi data dan transmisi data serta media transmisi. Komunikasi data adalah proses pengiriman informasi biner antara dua titik menggunakan saluran dan peralatan transmisi. Transmisi adalah pergerakan informasi melalui media telekomunikasi untuk memastikan informasi sampai secara akurat. Media transmisi digunakan untuk menghubungkan pengirim dan penerima agar dapat melakukan pertukaran data seperti kabel pada telepon.
Dokumen ini membahas logika perulangan dalam algoritma dan pemrograman. Terdapat contoh soal dan algoritmanya menggunakan struktur perulangan while dan do-while. Dibahas pula unsur-unsur perulangan seperti kondisi berhenti dan badan perulangan.
Tutorial ini membahas struktur algoritma runtunan. Runtunan adalah struktur dasar yang berisi rangkaian instruksi yang diproses secara sekuensial dari awal hingga akhir. Tutorial ini menjelaskan konsep dasar runtunan, contoh-contoh soal runtunan, dan cara mengimplementasikan runtunan dalam pseudocode, flowchart, dan bahasa pemrograman Java.
Dokumen tersebut membahas tentang algoritma pemrograman dan struktur data. Secara ringkas, dokumen tersebut menjelaskan tentang:
1) Definisi algoritma dan paradigma pemrograman seperti prosedural, berorientasi objek, dan deklaratif
2) Contoh algoritma dalam kehidupan sehari-hari dan kriteria algoritma menurut Donald E. Knuth
3) Langkah-langkah dalam pemrograman komputer mulai dari mendefinisikan masalah hingga
Dokumen tersebut merupakan ringkasan materi tentang algoritma dan pemrograman yang mencakup definisi algoritma, tahapan pembuatan algoritma, jenis proses algoritma, analisis kinerja algoritma, teknik pemrograman modular, dan bentuk submodul.
Antrian adalah struktur data yang menyimpan elemen sesuai urutan masuk (FIFO). Terdapat beberapa metode utama pada antrian seperti enqueue untuk menambahkan elemen, dequeue untuk mengambil elemen pertama, dan peek untuk melihat elemen pertama tanpa menghapusnya. Antrian dapat diimplementasikan menggunakan array dengan menyimpan indeks elemen terakhir.
Dokumen tersebut membahas tentang manajemen portofolio teknologi informasi. Secara ringkas, dokumen tersebut menjelaskan bahwa (1) manajemen portofolio teknologi informasi digunakan untuk mengevaluasi manfaat, biaya, dan risiko setiap investasi TI, (2) terdiri dari delapan tahap dasar yaitu perencanaan, pembuatan, penilaian, penyeimbangan, komunikasi, tata kelola, dan evaluasi, (3) bertuju
Sistem Informasi Manajemen "Dokumen Usulan Pengembangan Sistem Informasi untu...Wahyu Anggara
Dokumen Usulan Pengembangan Sistem Informasi untukProyek Peningkatan dan Pengembangan Saranadan PrasaranaPerpus PPKB (Prestasi dan Pemerataan Kesempatan Belajar )
Makalah ini membahas tentang komunikasi data dan transmisi data serta media transmisi. Komunikasi data adalah proses pengiriman informasi biner antara dua titik menggunakan saluran dan peralatan transmisi. Transmisi adalah pergerakan informasi melalui media telekomunikasi untuk memastikan informasi sampai secara akurat. Media transmisi digunakan untuk menghubungkan pengirim dan penerima agar dapat melakukan pertukaran data seperti kabel pada telepon.
Dokumen ini membahas logika perulangan dalam algoritma dan pemrograman. Terdapat contoh soal dan algoritmanya menggunakan struktur perulangan while dan do-while. Dibahas pula unsur-unsur perulangan seperti kondisi berhenti dan badan perulangan.
Tutorial ini membahas struktur algoritma runtunan. Runtunan adalah struktur dasar yang berisi rangkaian instruksi yang diproses secara sekuensial dari awal hingga akhir. Tutorial ini menjelaskan konsep dasar runtunan, contoh-contoh soal runtunan, dan cara mengimplementasikan runtunan dalam pseudocode, flowchart, dan bahasa pemrograman Java.
Dokumen tersebut membahas tentang algoritma pemrograman dan struktur data. Secara ringkas, dokumen tersebut menjelaskan tentang:
1) Definisi algoritma dan paradigma pemrograman seperti prosedural, berorientasi objek, dan deklaratif
2) Contoh algoritma dalam kehidupan sehari-hari dan kriteria algoritma menurut Donald E. Knuth
3) Langkah-langkah dalam pemrograman komputer mulai dari mendefinisikan masalah hingga
Dokumen tersebut merupakan ringkasan materi tentang algoritma dan pemrograman yang mencakup definisi algoritma, tahapan pembuatan algoritma, jenis proses algoritma, analisis kinerja algoritma, teknik pemrograman modular, dan bentuk submodul.
Berpikir komputasional adalah konsep berpikir untuk mengidentifikasi masalah, memahaminya, dan mengembangkan solusi inovatif dengan bantuan komputer. Ada empat pilar utama berpikir komputasional yaitu dekomposisi, pengenalan pola, abstraksi, dan berpikir algoritma. Dokumen ini juga menjelaskan beberapa algoritma standar seperti algoritma pengurutan dan pencarian.
Tahapan analisis dan perancangan sistem informasiStemada Kediri
Dokumen tersebut membahas tahapan analisis dan perancangan sistem informasi, termasuk metodologi seperti HIPO dan kamus data. Dibahas pula contoh kasus sistem informasi penjualan barang elektronika untuk mendemonstrasikan proses analisis dan perancangan sistem.
Algoritma merupakan urutan langkah-langkah logis dan sistematis untuk menyelesaikan masalah. Dokumen tersebut menjelaskan bahwa algoritma adalah dasar dari pemrograman komputer dan menjadi penting untuk dipelajari meskipun bahasa pemrograman terus berkembang. Dokumen tersebut juga menjelaskan langkah-langkah dalam membuat program komputer mulai dari mendefinisikan masalah, menganalisis, memilih algoritma
- C/C++ dan Java merupakan Bahasa Pemrograman yang digunakan untuk menulis program komputer
- Program ditulis dengan menggunakan instruksi-instruksi yang dapat dimengerti oleh komputer
- Hasil program ditulis dalam bahasa sumber kemudian diterjemahkan menjadi bahasa mesin oleh compiler"
This document discusses COM+ and creating COM+ serviced components. It introduces COM+ as a programming model that provides services like security, queuing, and transactions for distributed applications. COM+ serviced components inherit from the ServicedComponent class and can be configured and registered to access COM+ services. The document provides examples of using attributes to implement services like just-in-time activation, role-based security, and synchronization in a COM+ component. It also discusses registering components and creating COM+ applications to group related components. An exercise is included to build a loan calculation COM+ component and client application.
Distributed Application Development (Introduction)Dudy Ali
The document discusses distributed application architectures and technologies. It describes the key characteristics of single-tier, two-tier, three-tier/n-tier, and service-oriented architectures. It also outlines some technologies that can be used to develop distributed applications in .NET, including COM+ services, .NET Remoting, and web services. The document provides information on distributed application architectures and technologies to identify their components and advantages.
Java CRUD Mechanism with SQL Server DatabaseDudy Ali
This document discusses Java database connectivity (JDBC) and CRUD operations using JDBC and SQL Server. It covers how to configure a JDBC-ODBC data source name to connect to an SQL Server database, use the JDBC API to connect to the database and execute basic SQL statements to perform CRUD operations. It also demonstrates how to use prepared statements to query and modify data in a more efficient way by binding parameters at runtime. Code examples are provided to show how to connect to a database, insert, update, delete and retrieve rows from a table.
This document discusses network programming concepts in Java, including client-server architecture, internet protocols, IP addresses and ports, sockets, and implementing UDP applications. It provides code examples of sending and receiving data using UDP datagram packets and sockets in Java. Specifically, it shows how to create a client-server application where the server can broadcast messages to clients in a multicast group using UDP multicast sockets.
- The document discusses consuming web services in web applications, including invoking web services, consuming Windows Communication Foundation services, and the architecture of ASP.NET AJAX. It also covers implementing internationalization in applications by discussing globalization, localization, and factors to consider like language, formatting, strings, and user interfaces.
This document discusses declaring attributes in XML schemas. Attributes can be declared in schemas to facilitate validating XML documents. Attributes are declared using an attribute element, which can specify the attribute's name, type, allowed values, etc. Attributes can be declared globally to enable reuse across elements. Schemas also allow restricting attribute and element values using simple type definitions and the restriction element. Examples are provided of restricting age to a numeric range and gender to a fixed set of options.
This document discusses XML schemas and their components. It begins by defining what an XML schema is and its purpose in specifying elements, attributes, and data types in an XML document. It then discusses the advantages of using XML Schema Definition (XSD) to define schemas and provides examples of parsers that support XML schemas. The document outlines the different data types in XSD like primitive, derived, atomic, list and union, as well as how to define simple and complex elements. It concludes with explanations of namespaces in XML and how they are declared in XSD.
This document discusses transforming XML documents through Cascading Style Sheets (CSS) and Extensible Stylesheet Language (XSL). It introduces CSS syntax for defining element styles and applying CSS to XML. It then introduces XSL and its components XSLT and XPath for more advanced formatting like reordering elements. The document explains common XSLT elements like template, value-of, and apply-templates used to select data and define formatting rules. It provides examples of creating CSS and XSLT stylesheets to format product details from XML.
The document discusses JDBC (Java Database Connectivity), which allows Java applications to connect to databases. It covers:
- The layers of the JDBC architecture including the application layer and driver layer.
- The four types of JDBC drivers that translate between SQL and database formats.
- How to use the JDBC API classes and interfaces like DriverManager, Connection, and Statement.
- The steps to create a JDBC application including loading drivers, connecting to databases, executing statements, and handling exceptions.
- How to perform operations like querying, inserting, updating, deleting and creating/altering database tables.
- That ResultSet objects store results and have different types like scrollable and
This document discusses using XSLT for conditional formatting and displaying data. It covers the <if> and <choose> elements used for conditional formatting. It also discusses XPath expressions and operators that can be used to retrieve and filter XML data based on conditions. Examples of comparison operators like =, !=, <, <=, >=, > and logical operators like and, or are provided.
Object Oriented Programming - Value Types & Reference TypesDudy Ali
The document discusses value types and reference types in C# programming. It explains that value types contain data directly, while reference types contain references to memory locations where data is stored. It provides examples of how value types and reference types are allocated in memory. It also covers topics like enumerations, arrays, and displaying array values.
This document discusses inheritance and related object-oriented programming concepts in C#, including:
- Inheritance allows a derived class to inherit attributes from a base class.
- Relationships between classes include inheritance, composition, utilization, and instantiation.
- Abstract classes cannot be instantiated but provide partial implementation for derived classes to complete. Abstract methods have no body and must be overridden in derived classes.
- Sealed classes cannot be inherited from, while sealed methods cannot be overridden in derived classes.
- Interfaces declare method signatures that classes implement, allowing multiple interface implementation.
Object Oriented Programming - File Input & OutputDudy Ali
The document discusses file input/output in C# and .NET. It describes how streams are used for input and output operations and the common classes in the System.IO namespace used for file operations. It then discusses the FileStream and StreamReader/StreamWriter classes in more detail and provides examples of how to use them to write data to and read data from files. It also covers using delimiters to separate data elements and storing them in arrays.
Object Oriented Programming - Constructors & DestructorsDudy Ali
1) Constructors are special methods that are invoked when a new instance of a class is created. They are used to initialize member variables and have the same name as the class.
2) Destructors are special methods that are used to perform cleanup actions like releasing memory when an object is destroyed. They are prefixed with a tilde symbol and have the same name as the class.
3) The document provides examples of using constructors with and without parameters, and destructors. It explains that destructors are automatically called by the .NET framework to destroy objects in memory.
Object Oriented Programming - Abstraction & EncapsulationDudy Ali
This document discusses abstraction and encapsulation in object-oriented programming. It defines abstraction as extracting only relevant information and gives an example of displaying a car without needing to know if insert or delete functions are available. Encapsulation is defined as an object's ability to hide data and behavior not necessary to its user. It provides examples of public and private access specifiers to restrict access to properties and methods. Access specifiers like public, private, protected and internal are also explained with examples.
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
dudy.fathan@eng.ui.ac.id