Anda di halaman 1dari 13

STRUKTUR DATA DAN ALGORITMA

Dosen: Indra Hermawan

Program Studi Teknik Informatika Sekolah Tinggi Teknologi Terpadu Nurul Fikri

Outline
Deskripsi mata kuliah

Tujuan perkuliahan
Evaluasi Buku referensi Silabus dan rencana perkuliahan

Deskripsi mata kuliah


Mata kuliah ini membahas tentang: konsep

tipe data abstrak, Model data linear (array, dynamic list, stacks dan queues), Model data hirarkis (Binary tree, Heap, Binary search tree, AVL-tree, Red-Black tree, Btree), Graph, Hashing, Algoritma searching dan sorting.

Tujuan perkuliahan
Setelah mengikuti perkuliahan, mahasiswa

diharapkan menguasai topik yang terdapat dalam mata kuliah Struktur Data dan Algoritma sebagai dasar untuk menggunakan dan merancang struktur data dan algoritma yang tepat dan sebagai dasar untuk pengembangan mata kuliah selanjutnya.

Evaluasi
Kehadiran: 5%

Keaktifan :30%
Tugas : Quiz :

UTS : 30% UAS : 35%

Buku referensi
Wirth, Niklaus. Algoritma + Data Struktur =

Programs. New Jersey: Prentice-Hall. Liem, Inggriani. Algoritma dan Pemograman. Jilid 1. Bandung: Teknik Informatika ITB, 1993. Munir, Rinaldi dan Leoni Lidya. Algoritma dan Pemrograman. Jilid 1. Bandung: CV. Informatika, 1998.

Silabus dan rencana perkuliahan

Pengertian Algoritma
Algoritma, pada dasarnya, adalah alur pemikiran dalam

menyelesaikan suatu pekerjaan, yang dituangkan dalam bentuk tertulis yang dapat dimengerti oleh orang lain.
Dalam Pelajaran Algoritma, pekerjaan adalah komputer yang menyelesaikan

Manusia dan komputer berkompunikasi dengan cara: Manusian memberikan perintah-perintah pada komputer berupa instruksi-intruksi yang disebut program Program ditulis dalam suatu bahasa yang disebut bahasa pemrograman seperti COBOL, BASIC, Pascal, C, C++,C#,Perl,PHP, ASP, JSP, java dan lainnya

Kriteria Algoritma
Kriteria Algoritma Menurut Donald E. Knuth Input: algoritma dapat memiliki nol atau lebih inputan dari luar. Output: algoritma harus memiliki minimal satu buah output keluaran. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role). Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Contoh Algoritma
Contoh Algoritma dalam kehidupan nyata: Jika seorang ingin memasak atau membuat kue,

baik itu melihat resep ataupun tidak pasti akan melakukan suatu langkah-langkah tertentu sehingga masakannya ataukuenya jadi. Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:
Menulis surat

Surat dimasukkan ke dalam amplop tertutup


Amplop ditempeli perangko secukupnya. Pergi ke Kantor Pos terdekat untuk mengirimkannya

Contoh Algoritma
Contoh Algoritma
Algoritma menghitung luas persegi panjang: 1. Masukkan panjang (P) 2. Masukkan lebar (L) 3. L P * L

4. Tulis L

Program untuk bubble sort


void bubble_sort(int x[ ], int datanum) { int i,j; int tmp; for(i=0;i<datanum-1;i++) for(j=datanum-1;j>i;j--) if( x[j-1] < x[j]) { tmp=x[j]; x[j]=x[j-1]; x[j-1]=tmp; } }

Soal Latihan
Buatlah algoritma untuk menghitung konversi suhu.dari

Celcius menjadi Reamur dan Farenheit.


Input: suhu dalam Celcius Proses: R = 4/5 * C dan F = 9/5 * C + 32 Output: suhu dalam Reamur dan Farenheit

Buatlah algoritma untuk mencari sisi miring dari suatu

segitiga siku-siku, jika diketahui panjang sisi yang membentuk sudut siku-siku.
Input: a dan b, yaitu panjang sisi pembentuk sudut siku-siku Proses: c = (a2+ b2 )1/2 Ouput: sisi miring (c)

Buatlah algoritma untuk menentukan suatu bilangan genap

atau ganjil
Input: suatu bilangan Ouput: genap / ganjil

Buatlah algoritma untuk menentukan suatu bilangan

adalah bilangan prima atau bukan.

Anda mungkin juga menyukai