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:

Ijin

Bukti Pendukung

  

Kegiatan atas nama kampus Surat resmi berkop kampus

Sakit Surat Dokter Acara Keluarga Surat dari Orang Tua/Wali

  Lelayu/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 Dosen

Jika dosen tidak datang ke kelas sampai 40 menit dari jam

jadwal perkuliahan, maka KELAS KOSONG

  Referensi 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