Kontrak Kuliah Algoritma dan Pemrograma
Kontrak Kuliah Algoritma dan Pemrograma
Program Studi Teknik Informatika Defri Kurniawan, M.Kom
Data Dosen Pengampu
Nama Defri Kurniawan, M.Kom Pendidikan Magister Teknik Informatika Tempat tinggal Banyumanik, Semarang No Kontak 0856 4141 7048 (WA)
Email [email protected] Homebase Teknik Informatika (A11) Ruang H.2.3 Deskripsi Mata Kuliah
Merupakan kelanjutan dari mata kuliah prasyarat “Dasar Pemrograman” yang membahas lebih mendalam pada konsep pemrograman fungsional (ex. Overview Paradigma Pemrograman Fungsional, Notasi Fungsional, Ekspresi
Dasar, Ekspresi Kondisional, ADT, Tipe Bentukan, Koleksi Object, Tabel, Ekspresi Rekursif, List). Selain itu kemampuan kepemimpinan (leadership) dan kemampuan
bekerja sama dalam sebuah kelompok (team work) juga akan ditanamkan melalui tugas-tugas kelompok dan
presentasi-presentasi tugas terstruktur baik dalam hal penguasaan audiens, menjawab pertanyaan maupun penyampaian materi. Standar Kompetensi
Standar kompetensi dari mata kuliah ini adalah mahasiswa mampu membuat program dalam skala menengah (dengan standar 3 file) dalam menyelesaikan permasalahan komputasi dan otomatisasi dalam model bahasa pemrograman
terpilih. Selain itu mahasiswa mengenal cakupan dunia pemrograman fungsional serta pembentukan konsep struktur data (ADT) Strategi Perkuliahan Menggunakan Student Center Learning (SCL).
Mahasiswa akan diajak berdiskusi mengenai mata
latih terkait sehingga mahasiswa dapat berpikir secara mandiri untuk memahami materi yang diajarkan dan menyampaikan ide / pemikirannya melalui presentasi dan praktek Komponen Penilaian
Tugas : 30%
UTS : 35%
UAS : 35%
Pembagian Teori Praktek (T: 55%, P:45%) Aturan-aturan
TUGAS
Apabila mahasiswa terlambat dalam mengumpulkan tugas memiliki konsekuensi sebagai berikut: a.
Terlambat dalam satu minggu dari deadline yang telah ditetapkan maka nilai maksimal adalah 70 b.
Apabila mahasiswa terlambat lebih dari satu minggu maka nilai maksimum adalah 50 c.
Apabila mahasiswa tidak mengumpulkan tugas mendapat nilai 0 dan tidak ada tugas pengganti Aturan-aturan
TUGAS
Nilai MAX 50 Nilai MAX 70
Contoh
Pemberian Tugas Deadline Terlambat
11
18
19
25
26 Sept Sept Sept Sept Sept Lebih dari Dalam seminggu seminggu (b) dari deadline (a) Kontrak Kuliah – Aturan
IJIN PERKULIAHAN
Ijin tidak menghadiri perkuliahan diberikan hanya untuk:
IjinBukti Pendukung
Kegiatan atas nama kampus Surat resmi berkop kampus
Sakit Surat Dokter Acara Keluarga Surat dari Orang Tua/WaliLelayu/Duka WA only
Aturan-aturan
KETERLAMBATAN
Bagi Mahasiswa
Mahasiswa yang datang lebih dari 40 menit dari jam jadwal
perkuliahan (terlambat) maka dengan kesadaran harap menunggu di luar Bagi DosenJika dosen tidak datang ke kelas sampai 40 menit dari jam
jadwal perkuliahan, maka KELAS KOSONGReferensi rd
Anany Levitin : Introduction to the Design & Analysis of Algorithm 3 edition, 2012 nd
Michael Vine : C Programming for Absolute beginner 2 edition, 2008 th
Ivor Horton : Beginning in C 5 Edition , 2013
Inggrian Liem : “Diktat Kuliah Dasar Pemrograman (Bagian Pemrograman Prosedural)”, Kelompok Keahlian Rekayasa Perangkat Lunak dan Data, Ed isi April 2007.
Silahkan siapa yang mengajukan diri sebagai ketua kelas?
Tim Algoritma Pemrograman TI – S1
Defri Kurniawan [email protected] Tim Algoritma Pemrograman TI – S1
Referensi
Michael Vine – C Programming for the Absolute Beginner 2 nd
(2008)
Ivor Horton – Beginning C 5 th
(2013)
W Pokok Bahasan
W Pokok Bahasan
10
16 Ujian Akhir Semester
15 Presentasi Proyek Akhir
14
13 Pointer
12
11 Struct & ADT
Tim Algoritma Pemrograman TI – S1
1 Review Fungsi
8 Ujian Tengah Semester
7 Review 1-6
6
5 Searching
4
3 Sorting
2 Parameter & Tipe Kembalian Fungsi
9 Analisa Rekuren
Tim Algoritma Pemrograman TI – S1
Pengertian Fungsi
Fungsi merupakan suatu bagian dari program yang dimaksudkan
untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari
program yang memanggilnya. Dalam setiap program bahasa C, minimal terdapat satu fungsi yaitu fungsi main( ) .
Keuntungan fungsi dalam program
Program akan memiliki struktur yang jelas (mempunyai readability
yang tinggi).
Bersifat reusability (dapat digunakan kembali) sehingga akan menghindari penulisan bagian program yang sama.
Tim Algoritma Pemrograman TI – S1 Klasifikasi Fungsi Dalam bahasa C fungsi dapat dibagi menjadi dua, yaitu :
Tim Algoritma Pemrograman TI – S1
Tim Algoritma Pemrograman TI – S1
Fungsi Pustaka – operasi String strcpy()
strlen()
strcat()
strupr()
strlwr()
- Berfungsi untuk menyalin suatu string asal ke variable string tujuan.
- Bentuk umum : strcpy(var_tujuan, string_asal);
Berfungsi untuk memperoleh jumlah karakter dari suatu string.
- Bentuk umum : strlen(string);
Tim Algoritma Pemrograman TI – S1
Fungsi Pustaka – operasi String
Fungsi Operasi String (tersimpan dalam header file “string.h”)
strcpy()
strlen()
Tim Algoritma Pemrograman TI – S1
Contoh
Fungsi Pustaka – operasi String strcat()
Digunakan untuk menambahkan string sumber ke bagian akhir dari string
- tujuan. Bentuk umum : strcat(tujuan, sumber);
- strupr()
Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf
- capital. Bentuk umum : strupr(string);
- strlwr()
Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf kecil
- semua. Bentuk umum : strlwr(string);
- Tim Algoritma Pemrograman TI – S1
Tim Algoritma Pemrograman TI – S1
Contoh
Tim Algoritma Pemrograman TI – S1
Fungsi Pustaka – operasi String islower()
isupper()
isdigit()
tolower()
toupper()
Fungsi Pustaka – operasi Karakter
Fungsi Operasi Karakter (tersimpan dalam header “ctype.h”) islower()
Fungsi akan menghasilkan nilai benar(bukan nol) jika karakter
- merupakan huruf kecil Bentuk umum: islower(char);
- isupper()
Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter
- merupakan huruf capital Bentuk umum: isupper(char);
- Tim Algoritma Pemrograman TI – S1
- Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan sebuah digit.
- Bentuk umum : isdigit(char);
- Fungsi akan mengubah huruf capital menjadi huruf kecil.
- Bentuk umum : tolower(char);
- Fungsi akan mengubah huruf kecil menjadi huruf kapital.
- Bentuk umum : toupper(char);
Tim Algoritma Pemrograman TI – S1
Fungsi Pustaka – operasi Karakter isdigit()
tolower()
toupper()
Tim Algoritma Pemrograman TI – S1
Contoh
Fungsi Pustaka – operasi Matematik sqrt()
pow()
Tim Algoritma Pemrograman TI – S1 Fungsi Pustaka – operasi Matematik
Fungsi Operasi Matematik (tersimpan dalam header “math.h” dan “stdlib.h”) sqrt()
Digunakan untuk menghitung akar dari sebuah bilangan.
- Bentuk umum : sqrt(bilangan);
- pow()
Digunakan untuk menghitung pemangkatan suatu bilangan.
- Bentuk umum : pow(bilangan, pangkat);
- Tim Algoritma Pemrograman TI – S1
Tim Algoritma Pemrograman TI – S1
Contoh
Tim Algoritma Pemrograman TI – S1
Membuat Fungsi Sendiri
Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu.
Bentuk umum pendeklarasian fungsi adalah : tipe_fungsi nama_fungsi(parameter_fungsi);
Bentuk umum pendefinisian fungsi adalah : tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement ………... }
Struktur Fungsi tipe_fungsi nama_fungsi(parameter1, parameter2,..) { statement fungsi; }
Contoh: int tambah(int x, int y) { return(x+y); }
Tim Algoritma Pemrograman TI – S1 Prototype Fungsi
Bagaimana fungsi menerima input, bagaimana fungsi melakukan
return dan nilai apa yang dikembalikan Prototype = pendeklarasian fungsi
tipe_fungsi nama_fungsi(parameter_fungsi);
Contoh: int jumlah(int a, int b);
Tim Algoritma Pemrograman TI – S1
Contoh Penggunaan Fungsi
# include < stdio.h> # include < stdlib.h> int jumlah(int a, int b); //prototipe fungsi int a,b,c; main() { printf("masukkan a: ");scanf("% d",&a); printf("masukkan b: ");scanf("% d",&b); //program utama c= jumlah(a,b); printf(“Hasil Penjumlahan= % d",c);
} int jumlah(int x, int y) //fungsi
{ return(x+ y);
Tim Algoritma Pemrograman TI – S1
Tim Algoritma Pemrograman TI – S1
Tampilan Program
Parameter
Parameter Formal adalah variabel yang ada pada daftar parameter
dalam definisi fungsi.
Parameter Aktual adalah variabel (parameter) yang dipakai dalam
pemanggilan fungsi.Tim Algoritma Pemrograman TI – S1 Parameter Formal Variable yang ada pada daftar parameter dalam definisi fungsi
Parameter Formal int jumlah(int x, int y){ return (x+y); }
Tim Algoritma Pemrograman TI – S1 Parameter Aktual Parameter yang dipakai dalam pemanggilan fungsi
main(){ . . .
Parameter Aktual . . . c=jumlah( ); a,b . . .
}
Tim Algoritma Pemrograman TI – S1 Latihan Buatlah fungsi prototype:
Menghitung luas balok
- Menghitung volume balok
- Buatlah fungsi definisi berdasarkan fungsi prototype tersebut
Tim Algoritma Pemrograman TI – S1 Variable Variable dapat dikategorikan menjadi 3 :
Variable global
- Variable yang dideklarasikan di luar fungsi
Variable local
- Variable yang dideklarasikan dalam fungsi
Variable Static
- Variable yang nilainya tetap dipertahankan walaupun prosesnya telah keluar dari bloknya
Tim Algoritma Pemrograman TI – S1 Variable Lokal dan Global #include <stdio.h> #include <stdlib.h> float proses(float x,float y,float z)
/*variabel global*/ { float proses(float,float,float);
/*variabel lokal*/ float p,l,t,volumebalok; float v; main(){ v= x * y * z ; printf("masukkan panjang : "); scanf("%f",&p); printf("masukkan lebar : "); return(v); scanf("%f",&l);
} printf("masukkan tinggi : "); scanf("%f",&t); volumebalok=proses(p,l,t); printf("volume: %.2f", volumebalok); }
Tim Algoritma Pemrograman TI – S1 Variable Static #include <stdio.h> long int faktorial(int n) #include <stdlib.h>
{
long int faktorial(int n); static long int fakto=1 ; //variabel main() static{ fakto=fakto*n; int bil,i; long int fakto; return (fakto); printf("Masukkan bilangan: ");
}
scanf("%d",&bil); for (i=1;i<=bil;i++) { fakto=faktorial(i); } printf("Faktorial %d =%d",bil,fakto); }
Tim Algoritma Pemrograman TI – S1 Fungsi Rekursif Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri
Contoh :
long int factorial(int N){ //definisi fungsi if(N==0) return(1); else return(N*factorial(N-1)); //memanggil diri sendiri }
Tim Algoritma Pemrograman TI – S1
Tim Algoritma Pemrograman TI – S1
Fungsi Rekursif factorial (4) 4 * factorial (4-1)
4* 3 * factorial (3-1) 4* 3 * 2 * factorial (2-1) return return return 4* 3 * 2 * 1* factorial (1-1) N==0 → return 1 4* 3 * 2 * 1*
1