Kontrak Perkuliahan & Introduction Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008
Deskripsi Mata Kuliah • • • • •
Mata Kuliah Jumlah SKS Dosen Semester/Prodi Tahun Akademik
: Algoritma dan Pemrograman : 4 SKS : Ir. Tahar Agastani, MSc. : 2/ TI : 2007/2008
Mata kuliah Algoritma dan Pemrograman adalah termasuk komponen pokok keahlian untuk jurusan Teknik Informatika pada UIN Syarif Hidayatullah Jakarta. Mata kuliah ini merupakan dasar bagi pemahaman selanjutnya untuk pembuatan suatu Algoritma Pemrograman, mata kuliah ini diletakan pada semester kedua karena merupakan mata kuliah yang menjadi dasar mata kuliah lain dan sangat terkait yaitu Struktur Data dan Basis data.
1
Evaluasi dan Tugas •
Jenis Evaluasi: • • •
Ujian Mid Semester : 30% Ujian Akhir Semester : 40% Evaluasi Alternatif : 30 % – –
• •
Keaktifan dikelas + Kehadiran = 10 % Tugas Presentasi + Laporan = 20 %
Bentuk Evaluasi: Essay dan Multiple Choice Tugas Kelompok (max 5 orang) , membuat Program Aplikasi, Presentasi masing-masing kelompok
Nilai Akhir • Angka Mutu dan Huruf dikelompokan sebagai berikut: 80 <= Nilai adalah A 70 <= Nilai <= 79 adalah B 60 <= Nilai <= 69 adalah C Nilai <= 59 adalah G ( Tidak Lulus)
2
Struktur Sistem Komputer KOMPUTER
Hardware
Sistem Operasi Bhs. Pemrograman
Software
Program Aplikasi
PENGGUNA
Brainware
Instruksional 1 (LO1) Mahasiswa mampu menentukan kapan menggunakan struktur perulangan (repetition) pada suatu kasus Mahasiswa mampu menentukan kapan menggunakan struktur seleksi (selection) pada suatu kasus
Mahasiswa mampu menunjukkan elemenelemen dasar pada bahasa pemrograman C
Mahasiswa mampu menjelaskan konsep dasar struktur data (tipe data, abstraksi tipe data dan elemen struktur data (SD) Mahasiswa mampu menjelaskan konsep dasar algoritma & menggunakan cara penyajian algoritma
3
Instruksional 2 (LO2) Mahasiswa mampu menggunakan I/O stream beserta format I/O (Input/Output)
Mahasiswa mampu menjelaskan penggunaan fungsi rekursif
Mahasiswa mampu mengembangkan sebuah program utama menjadi beberapa fungsi
Mahasiswa mampu menjelaskan penggunaan tipe data terstruktur Array
Mahasiswa mampu menjelaskan penggunaan Pointer
Mahasiswa mampu menjelaskan penggunaan tipe data terstruktur Record (Structure)
Instruksional 3 (LO3) Mahasiswa mampu memahami dasar-dasar Algoritma dan pemrograman, memahami prinsip kerja program dan mampu menggambarkan logika jalannya program secara tertulis atau dilengkapi dengan flow chart serta menerapkannya dalam bahasa pemrograman C
Mahasiswa mampu menjelaskan penggunaan Struktur gabungan (composite)
Mahasiswa mampu menggunakan teknik Pengurutan (Sorting): Quick dan Merge Sort dalam array
Mahasiswa mampu menggunakan teknik Pengurutan (Sorting): Selection, Buble, dan Insertion dalam array
Mahasiswa mampu menggunakan algoritma proses matriks (Array 2 dimensi)
Mahasiswa mampu menggunakan teknik Pencarian: Linear Search, dan Binary Search dalam array
Mahasiswa mampu menggunakan pemrosesan sequential file
4
Reference 1. Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000 2. Jogianto H.M, Konsep Dasar Pemrograman Bahasa C, Penerbit Andi, 2000. 3. Fathul Wahid, 2004, Dasar-dasar Algoritma dan Pemrograman, Penerbit Andi, Yogyakarta 4. Rinaldi Munir, 1999, Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Penerbit Informatika, Bandung 5. Al Kelley and Ira Pohl, 1990, A Book on C: Programming in C, The Benjamin/Cummings Publishing Company, Inc 6. Herbert Schildt, 1990, C: The Complete Reference, The Benjamin/Cummings Publishing Company, Inc.
Time Line I
• Kontrak perkuliahan • Introduction
II
Dasar-dasar Algoritma • Definisi algoritma • Algoritma pemrograman yang baik • Jenis proses (konstruksi) Algoritma • Penyajian Algoritma: Pseudocode dan Flowchart • Contoh Algoritma
III
Konsep Dasar Struktur Data • Definisi Struktur Data • Tipe data dan Struktur Data • Level Abstraksi dari Tipe Data • Tipe Data Abstrak • Elemen dan struktur data
IV
Pemrograman dan Bahasa Pemrograman • Definisi Pemrograman • Paradigma Pemrograman • Perkembangan bahasa pemrograman • Pengantar Bahasa C
5
Time Line (Cont.) V
Elemen-elemen dasar bahasa pemrograman C • Tipe data • Konstanta • Variable • Operator
VI
Struktur Seleksi (Conditional) • IF tunggal dan bertingkat • Switch Case
VII
Struktur Perulangan (Looping) • Konstruksi For • Konstruksi While dan DoWhile
VIII
Input / Output • Statement Input • Statement Output
Time Line (Cont.) IX
Fungsi (Prosedur) •Definisi Fungsi (Subprogram) •Deklarasi fungsi •Argumen (parameter fungsi) •Variabel local dan variable global
X
Fungsi Rekursif •Konsep rekursi •Iteratif vs rekursif
XI
Pointer •Konsep dasar Pointer •Deklarasi Pointer •Operasi Pointer
XII
Tipe Data Terstruktur: Array •Karakteristik array •Operasi pada Array •Dimensi Array •Pencapaian/Access data •String dan character •Pointer dan array / string
6
Time Line (Cont.) XIII
Tipe Data Terstruktur: Record (Structure) •Karakteristik Record •Deklarasi dan operasi record
XIV
Presentasi Tugas Kelompok
XV
UTS (Ujian Tengah Semester)
XVI
Composite Structures (Struktur Gabungan) •Structure of Arrays •Array of Structures •Array of Pointers
XVII
Pengurutan (Sorting) •Selection sort •Bubble sort
Time Line (Cont.) XVIII
Pengurutan (Sorting) •Insertion sort
XIX
Pengurutan Lanjut •Quick sort
XX
Pengurutan Lanjut •Merge sort
XXI
Pencarian (Searching) •Linear search •Binary search
XXII
Pencarian (Searching) •Interpolation search
7
Time Line (Cont.) XXIII
Dasar Analisa Algoritma •Definisi matematik untuk analisa kompleksitas waktu dari algoritma •Notasi Big-Oh (O) dan implikasinya
XXIV
Matriks •Inisialisasi matriks •Membaca Elemen Matriks •Menulis Matriks •Proses (Aritmatika) Matriks
XXV
Sequential File •Membuat Sequential File •Membaca Sequential File •Menyalin File •Penggabungan File
XXVI
UAS (Ujian Akhir Semester)
Introduction (1) •
Contoh: – Memecahkan masalah matematik yaitu menghitung luas lingkaran dengan masukan berupa jari-jari lingkaran – Rumus: L = πR2
•
Langkah pemecahan (Algoritma) 1. 2. 3. 4.
Masukkan R Pi ← 3.14 L ← Pi * R * R Tulis L
8
Introduction (2) Diagram Alir
Mulai
(Flow chart) Masukkan R
Pi ←3.14
L ←Pi * R * R
Tulis L
Selesai
Introduction (3) Implementasi dengan bahasa pemrograman C #include <stdio.h> void main() { float R,L; float Pi; printf(“Masukkan nilai jari-jari lingkaran: ”); scanf(“%d”,&R); Pi = 3.14; L = Pi * R * R; printf(“Luas Lingkaran: %d“,L); }
9
SAMPAI JUMPA DI PERTEMUAN KE 2
10