Pendahuluan
Pertemuan : I Oleh : Danang Junaedi
Jurusan Teknik Informatika – Universitas Widyatama
Jurusan Teknik Informatika 1-2 Universitas Widyatama
Jurusan Teknik Informatika 1-2 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Deskripsi
Tujuan Instruksional
Kaitan Materi
Urutan Bahasan
Penilaian
Grade
Referensi
Overview
Jurusan Teknik Informatika 1-3 Universitas Widyatama
Jurusan Teknik Informatika 1-3 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Deskripsi
Mata kuliah ini mempelajari :
Review Singkat Bahasa C/C++(Operasi Input/Output, Selection, Looping, Fungsi/Prosedur dan Dasar Pengolahan File Sequential) Implementasi Pengolahan File Sequential (Konsolidasi, Merging,
Spliting dan Updating) menggunakan bahasa C/ C++ Implementasi Rekursif menggunakan bahasa C/ C++
Pengenalan implementasi strategi Algoritma (Brute Force, Greedy, Devide & Conquer, Backtracking, Branch & Bound, Dynamic Programming) menggunakan bahasa C/ C++
Implementasi Dasar Pengelolaan List berkait (Tambah Data, Cari Data, Tampil Data, Hapus Data) menggunakan bahasa C/ C++
Jurusan Teknik Informatika 1-4 Universitas Widyatama
Jurusan Teknik Informatika 1-4 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Tujuan Instruksional
tingkat pemahaman : tentang konsep-konsep dan teknik penyelesaian masalah pemrograman dasar (lanjutan), dan tingkat aplikasi : tentang membuat penyelesaian masalah
pemrograman, mengeksekusi program tanpa tergantung pada bahasa pemrograman apapun (minimal dapat menggunakan pengetahuannya dalam mengimplementasikan berbagai masalah dengan menggunakan bahasa pemrograman C/C++).
Kaitan Materi
Terkait dengan Mata Kuliah Algoritma II, dalam hal materi-materi yang akan diimplementasikan dalam bahasa C/C++.
Terkait dengan Mata Kuliah Pemrograman I, dalam hal prinsip dasar pemrograman Terstuktur.
Pendahuluan
Jurusan Teknik Informatika 1-5 Universitas Widyatama
Jurusan Teknik Informatika 1-5 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Pendahuluan
Urutan Bahasan
Pendahuluan (Susunan Materi, Aturan Perkuliahan, Aturan Penilaian, grade nilai, referensi);Review Bahasa C/C++ 1
UTS 8
Rekursif;Presentasi (optional);Review Materi(optional) 6 - 7
Pengolahan File Sequential : Konsolidasi (Dengan Separator), Merging, Splitting, dan Updating pada File Sequential; Presentasi (optional)
3-5
Review Bahasa C/C++;Pengolahan File Sequential : Konsolidasi (Tanpa Separator)
2
Materi Pertemuan
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Pendahuluan
Urutan Bahasan
UAS 16
List Berkait;Presentasi (optional);Review Materi (optional) 13-15
Strategi Algoritma (Brute Force, Greedy, Devide & Conquer, Backtracking, Branch & Bound, Dynamic Programming); Presentasi (optional)
10-12
Materi Pertemuan
Jurusan Teknik Informatika 1-7 Universitas Widyatama
Jurusan Teknik Informatika 1-7 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Pendahuluan
Penilaian
5% (>80%) Kehadiran 22.5% UTS 10% Tugas 12.5% Presentasi/ Tutorial 20% Praktikum 25% UAS 105% Jumlah 10% QuizGrade
50 - 60 D ≥ 85 A 75 - 85 B 60 - 75 C < 50 E Range Nilai GradeJurusan Teknik Informatika 1-8 Universitas Widyatama
Jurusan Teknik Informatika 1-8 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Pendahuluan
Referensi
7. 6. 5. 4. 3. 2.1. Deitel, H.M. and Deitel, P.J., “C How to Program, 4nd Edition”, Prentice Hall, 2004
Internet dan referensi-referensi lain yang terkait
Hevi Rilgivia;Guntari Sekarwangi, “ Diktat Kuliah Algoritma & Pemrograman I dan II”, Teknik Informatika – Universitas Widyatama, Bandung, 2004
Indra Yatini B.; Erliansyah Nasution, “Algoritma & Struktur Data dengan C++, Graha Ilmu,Yogyakarta, 2005
Guntari Sekarwangi;Ocke Kurniandi, “ Diktat Kuliah Pemrograman I (Terstuktur)”, Teknik Informatika – Universitas Widyatama, Bandung, 2004
Danang Junaedi, “Diktat, Handout & Modul Pemrograman Terstruktur I dan Pemrograman Terstruktur II”, Teknik Informatika - Universitas Widyatama, 2007 Deitel, H.M. and Deitel, P.J., “C++ How to Program, 4nd Edition”, Prentice Hall, 2004
Review Bahasa C/C++
Pertemuan : 1 Disusun oleh : Danang Junaedi
Jurusan Teknik Informatika 1-10 Universitas Widyatama
Jurusan Teknik Informatika 1-10 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Tujuan Instruksional
Tipe Data & Operator
Variabel & Konstanta
Input & Output
Selection
Looping
Fungsi & Prosedur
Kelebihan dan Kekurangan C++
Overview
Jurusan Teknik Informatika 1-11 Universitas Widyatama
Jurusan Teknik Informatika 1-11 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Mahasiswa mampu menjelaskan perbedaan pengertian, dan
penggunaan dan perbedaan variabel dan konstanta, serta
cara penulisannya dalam program mengunakan Turbo C
dan turbo/Borland C++
Mahasiswa mampu menjelaskan perbedaan penggunaan
tipe data serta operatornya,
input dan output, serta cara
penulisannya dalam Turbo C dan Turbo/Borland C++
Mahasiswa mampu menjelaskan perbedaan penggunaan
tipe data serta operatornya,
input & output, Fungsi &
Prosedur dalam Turbo C dan Turbo/Borland C++
Tujuan Instruksional
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Struktur Bahasa C++
Fungsi lain()
{ Deklarasi variabel lokal/statis; statemen-statemen; }
Tipe data/void main() { Deklarasi variabel lokal/statis;
statemen-statemen; }
Deklarasi variabel global; Fungsi lain()
#include<header file>
Fungsi lain Isi fungsi lain Fungsi/program utama Isi fungsi/program Utama Pendeklarasian variabel Prototipe fungsi Preprocessor directive
Jurusan Teknik Informatika 1-13 Universitas Widyatama
Jurusan Teknik Informatika 1-13 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Tipe Data (1)
Tipe Data DasarPlatform Win32 -2147483648 s.d. 2147483648 4 byte Tipe logika (C++ di atas versi 4.5) -True/false 1 byte bool Tek bertipe -0 void Bilangan real %lf -1.7x10-308 s.d. 1.7x10308 8 byte double Bilangan real %f -3.4x10-38 s.d. 3.4x1038 4 byte float Bilangan bulat %d atau %e -32768 s.d. 32767 2 byte int Karakter ASCI string %c %s -128 s.d. 127 1 byte char Keterangan Format Rentang Ukuran Tipe
Jurusan Teknik Informatika 1-14 Universitas Widyatama
Jurusan Teknik Informatika 1-14 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Tipe Data (2)
Tipe Data ModifikasiBilangan real %Lf -3.4x10-4932 s.d. 3.4x104932 10 byte long double Bilangan bulat -2147483648 s.d. 2147483687 4 byte signed long/signed long int Bilangan bulat -32768 s.d. 32767 2 byte signed int/signed short int Bilangan bulat -128 s.d. 127 1 byte signed char Bilangan bulat %hd -128 s.d. 127 1 byte short int Bilangan bulat %ld -2147483648 s.d. 2147483648 4 byte long int Keterangan Format Rentang Ukuran Tipe
Jurusan Teknik Informatika 1-15 Universitas Widyatama
Jurusan Teknik Informatika 1-15 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Tipe Data (3)
Tipe Data ModifikasiBilangan bulat 0 s.d. 429467295 4 byte unsigned long/unsigned long int Bilangan bulat %u 0 s.d. 65535 2 byte unsigned int/unsigned short int Bilangan bulat 0 s.d. 255 1 byte unsigned char Keterangan Format Rentang Ukuran Tipe
Jurusan Teknik Informatika 1-16 Universitas Widyatama
Jurusan Teknik Informatika 1-16 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Tipe Data (4)
Tipe Data BentukanStruktur/Record
ex :
struct Tanggal atau struct {int Hari; int Bulan;
{ int Hari; int Bulan; int Tahun;}; int Tahun;}Tanggal;
union
ex : union Tanggal { int i; int j;};
Struktur Bit-field
ex : struct Info_bit
{ unsigned bit0:1; unsigned bit1:1;};
enum
ex : enum Hari {Senin,Selasa,Rabu,Kamis,Jum’at,Sabtu,Minggu};
typedef
ex : typedef unsigned char Byte;
Jurusan Teknik Informatika 1-17 Universitas Widyatama
Jurusan Teknik Informatika 1-17 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Tipe Data (5)
Array
1 dimensiex : int ArrayA[10]; char Nama[25];
2 dimensi
ex : int ArrayB[10][10];
n dimensi
ex : int ArrayC[10][10]…[10];
File (dibahas lebih lanjut pada pertemuan ke-3 :
Pengolahan file)
List/Pointer (dibahas lebih lanjut pada pertemuan
ke-13 : List Berkait)
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Operator
Sifat Operator
Unary (Melibatkan sebuah operand, ex : -1) Binary (Melibatkan dua buah operand, ex: 1+2)
Ternary (Melibatkan tiga buah atau lebih operand, ex (a>b)?a:b)
Jenis Operator
Operator Assigment(=) Operator Aritmatika (*, /, %, +, -) Operator Biner/Bitwise (<<, >>, &, |, ^, ~) Operator Logika (&&, ||)
Operator Perbandingan/Relasi (==, !=, >, >=, <, <=) Operator Unary (-, ++, --, ~, !, &, *, sizeof)
Operator AssigmentKombinasi/Majemuk (+=, -=, *=, /=, %=,
Jurusan Teknik Informatika 1-19 Universitas Widyatama
Jurusan Teknik Informatika 1-19 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Input
dan
Output
Input
getch(), getche(), getchar(), scanf (bisa digunakan pada C dan
C++)
cin (hanya bisa digunakan pada C++)
Output
putchar(), puts(), clrscr(), gotoxy(), printf (bisa digunakan pada C
dan C++)
cout (hanya bisa digunakan pada C++)
Jurusan Teknik Informatika 1-20 Universitas Widyatama
Jurusan Teknik Informatika 1-20 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Variabel & Konstanta
Variabel
Lingkup Variabel : Variabel Lokal/Otomatis Variabel Global/Eksternal Variabel StatisKonstanta
Konstanta Numerik Integer (ex : 43, 123, -123, dll)
Konstanta Numerik Pecahan (ex : -123.0,0.75, 12.34e29, 12.34e-29,
dll)
Konstanta Karakter (ex : ‘a’, ‘b’, dll) KonstantaString(ex : “bapak”, “Keren”)
KarakterEscape (\a, \b, \f, \n, \r, \t, \v, \0, \’, \”, \\)
Jurusan Teknik Informatika 1-21 Universitas Widyatama
Jurusan Teknik Informatika 1-21 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Selection
if
if tunggal
ex : if (a=b) {printf(“a=b”);} if-else
ex : if (a=b) {printf(“a=b”);} else {printf(“a≠b”);} if-else-if
ex : if (a=b) {printf(“a=b”);} else
if (a<b) {printf(“a<b”);} else {printf(“a>b”);}
Switch
ex : switch(angka)
{ case 1 : cout<<“Angka Atu”;break; case 2 : cout<<“Angka Ua”; break; case 3 : cout<<“Angka Iga”; break; case 4 : cout<<“Angka Empat”; break; default : cout<<“Angka ga au”; break;}
Jurusan Teknik Informatika 1-22 Universitas Widyatama
Jurusan Teknik Informatika 1-22 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Looping
For
ex : for(i=1;I<=10;i++) {cout<<“angka : “<<I<<endl;}
While
ex :I=1;
while(i<=10){cout<<“angka : “<<I<<endl;i++;}
do-while
ex :I=1;
do{cout<<“angka : “<<I<<endl;i++;}while(i<=10)
Jurusan Teknik Informatika 1-23 Universitas Widyatama
Jurusan Teknik Informatika 1-23 Universitas Widyatama
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Fungsi dan Prosedur
FungsiTipe_fungsi nama_Fungsi(argumen1, argumen2,....) definisi Fungsi { xxxx tubuh Fungsi } ex : double Absolut(double X) { if (X,0) X=-X; return(X);} Prosedur
void nama_Prosedur(argumen1, argumen2,....) definisi Prosedur {
xxxx tubuh Prosedur }
ex : void Tampil(char Nama[15], int Kali) { int I;
for(I=0;I<Kali;I++) printf(Nama);}
Pemrograman II (Terstruktur II)
Pemrograman II (Terstruktur II)
Kelebihan dan Kekurangan C++
Kelebihan
Banyak fasilitas untuk memanipulasi operator dan fungsi Struktur penulisan bahasa yang terstruktur.
Bahasa tingkat tinggi yang mempunyai kemampuan seperti bahasa tingkat rendah (seperti dapat memanipulasi data dalam bentuk bit). Dibandingkan dengan bahasa tingkat tinggi lainya bahasa C++
mempunyai kecepatan eksekusi yang cepat. Mendukung bahasa pemrograman berorientasi obyek Kode yang ditulis menggunakan C++ bersifatreusable
Kekurangan
Karena bahasa ini sangat fleksibel maka bagi pemula bahasa C++ akan sangat membingungkan. Untuk itu disarankan para pemula tidak terburu-buru dalam mempelajari bahasa C++ ini.
Bahasa C++ masih tergantung pada operating-sistemnya. Hal ini yang kemudian memicu terciptanya bahasa JAVA, bahasamultiplatform.