STMIK Antar Bangsa

'

SAP Algoritma dan Pemrograman (TI)

SATUAN ACARA PERKULIAHAN

Mata Kuliah : Algoritma dan Pemrograman
Program Studi : S1 Teknik Informatika
Tahun Ajaran : 2010 / 2011
Dosen : Muhamad Kamal Basya, S.Kom.
Kredit : 4 SKS
Semester : II

Silabus Ringkas Studi mengenai bagaimana menyelesaikan masalah berdasarkan urutan langkah yang disusun secara sistematis, serta bagaimana menterjemahkan menjadi script bahasa pemrograman serta dapat dikompilasi dengan benar. Pada mata kuliah akan dibahas tentang algoritma, flowchart, perulangan, fungsi, array, rekursif, bahasa pemrograman PHP dan C

Tujuan Instruksional Umum (TIU)
Mahasiswa dapat memahami konsep dasar pembuatan algoritma dan flow chartnya, serta dapat menterjemahkan ke dalam skrip bahasa pemrograman

Pertcentage Knowledge = 40%
Skill = 40%
Attitude = 20%

Activity (hour/week) [ 13 pertemuan x 2 jam = 26 jam ]
Course (kuliah) = 5 jam
Tutorial (Responsi) = 5 jam
Lab Work (Prakt.) = 10
Others (Mandiri) = 6 jam

Assessment/ Penilaian
UTS = 30%
UAS = 40%
TUGAS = 20%
Kehadiran = 10%


1. Pendahuluan
- Masalah
- Definisi Algoritma & Pemrograman
- Tujuan dan kegunaan
- Contoh aplikasi dalam kehidupan sehari-hari

2 Definisi & Simbol-simbol
- Struktur chart
- Diagram HIPO
- Sistem flowchart
- Program flowchart
- Simbol-simbol flowchart

3. Jenis-jenis pemrograman
- Logic Programming
- Functional Programming
- Imperative Programming
- Concurrent Programming
- Object Oriented Programming

4. Struktur Dasar Bahasa C dan PHP
- Tipe Data
- Konstanta
- Variable
- Deklarasi
- Operator

5 & 6 Teknik Switching dan Pengurutan Bilangan
- Dasar teknik switching
- Implementasi switching
- Metode Buble Sort
- Metode Straight Selection

7 & 8. Teknik Pengulangan dan Percabangan
- Teknik Counter (Go to)
- Akumulator
- Analisa kondisi dan aksi (IF-THEN dengan 1 kondisi
- Tabel keputusan
- Analisa kondisi dan aksi lanjutan (lebih dari 1 kondisi) mengunakan relational operator OR dan AND
- Perputaran kembali /looping (FOR NEXT )
- Pembatasan perulangan
- Double Looping
- Variabel Kontrol
- Sub rutin

Ujian Tengah Semester (materi 1 s.d 8)

9 & 10. ARRAY
- Array dan dimensi
- Variabel bersubcript

11. Fungsi
- Mengenal Fungsi
- Deklarasi Fungsi

12 & 13. Rekursi
- Mengenal REKURSI
- Menghitung Nilai Faktorial ke N
- Menghitung bilangan Fibonacci ke N
- Permainan Menara Hanoi
- Menghitung Faktor Persekutuan Terbesar

Ujian Akhir Semester (materi 9 s.d 13)



Referensi :
1. Suryadi H.S, Agus Sumin; Pengantar Algoritma dan Pemrograman; Gunadarma Jakarta
2. Bambang Wahyudi; Pengantar Struktur Data dan Algoritma; Andi Yogyakarta
3. F.X. Wisnu Yudo Untoro; Algoritma dan Pemrograman dengan Bahasa JAVA; Graha Ilmu Yogyakarta
4. Alex Budiyanto; Algoritma-1; IlmuKomputer.com
5. Rinaldi Munir; Algoritma dan Pemrograman dalam Bahasa Pascal dan C; Informatika Bandung
6. Wardana; Menjadi Master PHP dengan Framework Codeigniter; Elex Media Komputiindo Jakarta

UJIAN TENGAH SEMESTER (UTS):
Bahan/Materi : Materi pada Minggu ke-1 s/d Minggu ke-8
Bentuk Soal : Pilihan Ganda
Sumber Soal : Buku Referensi dan Internet
Sifat : Tutup Buku



UJIAN AKHIR SEMESTER (UAS):
Bahan/Materi : Materi pada Minggu ke-9 s/d Minggu ke-13
Bentuk Soal : Essay dan Tugas Mandiri Praktik
Sumber Soal : Buku Referensi dan Internet
Sifat : Buka Buku

Pertemuan 2

Definisi & Simbol-simbol
- Struktur chart
- Diagram HIPO
- Sistem flowchart
- Program flowchart
- Simbol-simbol flowchart

NOTASI ALGORITMIK
1. NOTASI I : menyatakan langkah-langkah dengan untaian kalimat deskriptif/ terstruktur
Simbol Instruksi
<-- Nilai disebelah kanan diberikan pada operan disebelah kiri
> Lebih besar dari
< Lebih kecil dari
= Sama dengan
. Kalikan
+ Tambahkan
- Dikurangi
/ Dibagi

2. NOTASI II : menggunakan bagan-alir (flowchart)
STRUCTURED FLOWCHART
Simbol Nama Keterangan



Terminator Mulai atau selesai suatu program


Data Menerima masukan atau menampilkan keluaran data


Preparation Memberikan nilai awal pada suatu variabel


Process Mengolah aritmatika dan pemindahan data


Decision Operasi perbandingan logika


Predefine Process Proses yang detailnya dijelaskan secara terpisah


On-Page Connector Menunjukkan hubungan arus proses yang terputus masih dalam halaman yang sama


Off-Page Connector Menunjukkan hubungan arus proses yang terputus dengan sambungannya di halaman yang lain


Flow Alur program

STRUCTURED SYSTEM FLOWCHART
Simbol Nama Simbol Nama


Chard Document


Sequential Access Storage Stored Data


Direct Data Display


Manual Input Manual Operation


Auxiliary Operation Limit Loop


3. NOTASI III : mengunakan pseudo-code

Pertemuan 1

PENDAHULUAN
- Masalah
- Definisi Algoritma & Pemrograman
- Tujuan dan kegunaan
- Contoh aplikasi dalam kehidupan sehari-hari

MASALAH

Masalahadalah pertanyaan atau tugas yang harus kita cari jawabannya (Ref.5)

Masalahadalah segala sesuatu yang harus diselesaikan atau dipecahkan (Ref.3)

Contoh beberapa masalah dalam kehidupan sehari-hari misalnya :
1. Diberikan setumpuk kartu pasien di sebuah tempat praktek dokter yang tersusun acak. Setiap kartu mempunyai nomor registrasi pasien. Bagaimana mengurutkan kartu-kartu tsb berdasarkan nomor urut pasien sehingga tersusun dengan nomor kecil di atas dan nomor besar di bawah?
Jawaban dari masalah ini adalah barisan kartu pasien yang sudah terurut dari kecil ke besar
2. Diberikan sebuah daftar yang berisi nama-nama mahasiswa baru yang diterima di sebuah perguruan tinggi. Daftar tersebut hanya berisi nomor peserta ujian yang diterima. Carilah apakah seorang calon mahasiswa baru yang nomor peserta ujiannya diketahui terdapat di dalam daftar tersebut?
Jawaban dari masalah ini adalah "ya" jika nomor tersebut ditemukan di dalam daftar, atau "tidak" jika tidak terdapat di dalamnya

3. Diberikan daftar nama pejabat baru beserta jumlah kekayaannya. Tentukan pejabat mana yang mempunyai kekayaan paling besar?
Jawaban dari masalah ini adalah nama pejabat yang mempunyai kekayaan paling besar


Beberapa masalah yang muncul di dalam dunia nyata banyak memiliki kemiripan substansi. Misalnya masalah mengurutkan kartu yang tersusun secara acak secara substansi sama dengan masalah mengurutkan sekumpulan nilai ujian agar terurut menaik atau menurun. Begitu pula masalah mencari nama pejabat yang mempunyai kekayaan terbesar secara substansi sama dengan masalah mencari nama siswa yang meraih nilai ujian nasional tertinggi. Oleh karena itu, secara generik kita sering mendeskripsikan masalah-masalah yang muncul di dunia nyata dengan menggunakan beberapa ukuran (parameter), misalnya sbb:
1. [Masalah pengurutan] Diberikan secara senarai (list) S yang terdiri dari n buah bilangan bulat. Bagaimana mengurutkan n buah nilai tersebut sehingga terurut secara menaik?
2. [Masalah pencarian] Tentukan apakah suatu nilai x terdapat di dalam seubah senarai S yang berisi n buah bilangan bulat!
3. [Masalah pencarian elemen terbesar] Diberikan senarai (list) S yang terdiri dari n buah bilangan bulat. Carilah elemen terbesar dalam senarai tersebut.

ALGORITMA DAN PEMROGRAMAN

Pertemuan 3

Pertemuan 4

Pertemuan 5

Pertemuan 6

Pertemuan 7

Pertemuan 9

Pertemuan 8

Pertemuan 10

Pertemuan 11

Pertemuan 12

Pertemuan 13