pendahuluan - · pdf filemembuat penyelesaian masalah dengan ... prosedur dan fille...

10
1 Pendahuluan Sesi 01 Dosen Pembina : Danang Junaedi Jurusan Teknik Informatika I - 2 Universitas Widyatama Algoritma Algoritma Algoritma Algoritma & & & & Pemrograman Pemrograman Pemrograman Pemrograman II II II II Overview o Deskripsi o Bobot, Prasyarat o Tujuan Instruksional o Ruang Lingkup Materi o Kaitan Materi o Urutan Bahasan o Penilaian & Grade o Referensi o Tata Tertib Perkuliahan Jurusan Teknik Informatika I - 3 Universitas Widyatama Algoritma Algoritma Algoritma Algoritma & & & & Pemrograman Pemrograman Pemrograman Pemrograman II II II II Deskripsi Mata kuliah ini mengajarkan tentang konsep dan logika berpikir serta teknik penyelesaian masalah, cara analisis masalah dan perancangan solusi dari masalah tersebut, yang kemudian dipecahkan (implementasi) dengan menggunakan teknik pemrograman terstruktur. Selain itu juga diperkenalkan dan diajarkan penggunaan bahasa pemrograman (Bahasa C/C++) sebagai bahasa untuk pemrograman terstruktur serta MinGW sebagai tools untuk mengkompilasi program. Jurusan Teknik Informatika I - 4 Universitas Widyatama Algoritma Algoritma Algoritma Algoritma & & & & Pemrograman Pemrograman Pemrograman Pemrograman II II II II Bobot SKS & Prasyarat o Bobot SKS : 4 SKS (2 SKS Teori, 2 SKS Praktek) o Prasyarat : Algoritma & Pemrograman I o Prasyarat untuk Mata Kuliah : StrukturData & PemrogramanLanjut PemrogramanIV (Object I) Artificial Intelligence

Upload: doandieu

Post on 06-Feb-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

1

Pendahuluan

Sesi 01

Dosen Pembina : Danang Junaedi

Jurusan Teknik Informatika I - 2 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Overview

o Deskripsi

o Bobot, Prasyarat

o Tujuan Instruksional

o Ruang Lingkup Materi

o Kaitan Materi

o Urutan Bahasan

o Penilaian & Grade

o Referensi

o Tata Tertib Perkuliahan

Jurusan Teknik Informatika I - 3 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Deskripsi

Mata kuliah ini mengajarkan tentang konsep dan logikaberpikir serta teknik penyelesaian masalah, cara

analisis masalah dan perancangan solusi dari masalah

tersebut, yang kemudian dipecahkan (implementasi) dengan

menggunakan teknik pemrograman terstruktur. Selain itu jugadiperkenalkan dan diajarkan penggunaan bahasa pemrograman

(Bahasa C/C++) sebagai bahasa untuk pemrograman terstruktur

serta MinGW sebagai tools untuk mengkompilasi program.

Jurusan Teknik Informatika I - 4 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Bobot SKS & Prasyarat

o Bobot SKS : 4 SKS (2 SKS Teori, 2 SKS Praktek)

o Prasyarat : Algoritma & Pemrograman I

o Prasyarat untuk Mata Kuliah :

� Struktur Data & Pemrograman Lanjut

� Pemrograman IV (Object I)

� Artificial Intelligence

Page 2: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

2

Jurusan Teknik Informatika I - 5 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tujuan Instruksional

o Tujuan Umum

Setelah proses perkuliahan, mahasiswa memiliki kemampuan untuk

� tingkat pemahaman

menjelaskan konsep dan logika berpikir serta teknik penyelesaian masalah, prinsip kerja serta jalannya program, analisis masalah dan perancangan solusi, yang kemudian diimplementasikan dengan menggunakan teknik pemrograman terstruktur.

� tingkat aplikasi

mengimplementasikan konsep dan logika berpikir serta teknikpenyelesaian masalah, analisis masalah dan perancangan solusi sertamembuat penyelesaian masalah dengan menggunakan pemrogramanterstruktur, kemudian mengeksekusi dan melakukan pengujian programtanpa tergantung pada bahasa pemrograman apapun (minimalmenggunakan bahasa pemrograman C/C++).

Jurusan Teknik Informatika I - 6 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Ruang Lingkup Materi

1. Pendahuluan serta Review Algoritma & Pemrograman I :

� Penjelasan Algoritma & Pemrograman II

� Ruang Lingkup Materi Algoritma & Pemrograman II

� Keterkaitan dengan Algoritma & Pemrograman I

2. Pemrosesan File Sequential : Konsolidasi, Penggabungan File,Pemisahan File, dan Updating

3. Hubungan Berulang (rekursif) : Konsep rekursif danpenggunaan

4. Strategi Algoritma : Devide & Conquer, Backtracking, Greedy,Branch & Bound

5. List berkait Linear : Pembentukan list, penelusuran, danpenghapusan elemen list

I - 6

Jurusan Teknik Informatika I - 7 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Kaitan Materi - 1

NO. MATERI ALGORITMA &

PEMROGRAMAN I

KETERKAITAN DENGAN

ALGORITMA & PEMROGRAMAN II

1. Pendahuluan : pengertian-pengertian dasar,Nama, tipe, operator, harga dan ekspresi

Akan digunakan pada semua materi

2. Struktur dasar algoritma : berurutan(sequential), analisis, pengulangan

Akan digunakan pada semua materi

3. Mesin Abstrak : mesin karakter, mesinInteger, Mesin Rekam

Konsepnya akan digunakan pada : PemrosesanFile Sequential

4. Array/Larik : satu dimensi, dua dimensi(matriks)

Akan digunakan pada : Strategi Algoritma

5. Searching : sequential, sentinel, dichotomic Konsepnya akan digunakan pada : PemrosesanFile Sequential, Strategi Algoritma, List Berkait

6. Sorting : maksimum-minimum, insert, bubble Konsepnya akan digunakan pada StrategiAlgoritma

7. Fungsi dan Prosedur : pendefinisian,pemanggilan/ penggunaan

Akan digunakan pada : Rekursif, StrategiAlgoritma

Jurusan Teknik Informatika I - 8 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Kaitan Materi - 2

NO. MATERI ALGORITMA &

PEMROGRAMAN II

MATERI ALGORITMA & PEMROGRAMAN I

YANG TERKAIT

1. Pemrosesan File Sequential

� Nama, tipe, operator, harga dan ekspresi

� Struktur dasar algoritma

� Mesin Abstrak : mesin karakter, mesin Integer, MesinRekam

2. Rekursif � Nama, tipe, operator, harga dan ekspresi

� Struktur dasar algoritma

� Fungsi dan Prosedur

3. Strategi Algoritma � Nama, tipe, operator, harga dan ekspresi

� Struktur dasar algoritma

� Fungsi dan Prosedur

� Searching dan Sorting

� Array/Larik

4. List Berkait � Nama, tipe, operator, harga dan ekspresi

� Struktur dasar algoritma

� Searching

Page 3: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

3

Jurusan Teknik Informatika I - 9 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Urutan Pembahasan

Pertemuan Materi

1 Pendahuluan (Susunan Materi, Aturan Perkuliahan, Aturan

Penilaian, grade nilai, referensi); Introduction; Review materi

Algoritma & Pemrograman I

2-5 Pengelolaan File Sequential : Konsolidasi (Tanpa dan Dengan

Separator), Merging, Splitting, dan Updating pada File

Sequential; Presentasi(optional)

6-7 Rekursif; Presentasi (optional)

8 UTS

9-12 Strategi Algoritma (Direction Solution Strategies, State Space

Base Strategies, Top Down Solution Strategies dan Bottom-Up

Solution Strategies)

13-15 List Berkait Linear

16 UAS

Jurusan Teknik Informatika I - 10 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Penilaian & Grade

o Penilaian *

Quiz/Presentasi 10%

Tugas 15%

Praktikum 20%

UTS 25%

UAS 30%

Kehadiran 5% (>80%)

Jumlah 105%

o Grade *

Grade Range Nilai

A ≥ 85

B 75 - 85

C 60 - 75

D 45 - 60

E < 45

*) tergantung performansi kelas

Jurusan Teknik Informatika I - 11 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Referensi

1. Liem, Inggriani; Diktat Kuliah Algoritma & Pemrograman Prosedural : Bagian I dan Bagian II; TeknikInformatika, ITB, 2001

2. Munir, Rinaldi; Algoritma dan Pemrograman : Jilid II; Informatika Bandung

3. Deitel, H.M. and Deitel, P.J., “C++ How to Program, 2nd Edition”, Prentice Hall, 1994

4. Juliff, P., Program Design, 3rd Edition”, Prentice Hall, 1990

5. Seigel, C., “Teach Yourself C, 2nd Edition”, MIS Press, 1993.

6. Sekarwangi, Guntari;Kurniandi, Ocke, “ Diktat Kuliah Pemrograman I (Terstuktur)”, Teknik Informatika –

Universitas Widyatama, Bandung, 2004

7. Rilgivia, Hevi;Sekarwangi, Guntari, “ Diktat Kuliah Algoritma & Pemrograman I”, Teknik Informatika –

Universitas Widyatama, Bandung, 2004

8. Rilgivia, Hevi dan Violina' Sriyani; “ Diktat Kuliah Algoritma II”, Teknik Informatika – Universitas Widyatama, Bandung, 2004

9. Danang Junaedi, “Diktat, Handout & Modul Pemrograman Terstruktur I dan Pemrograman Terstruktur II”,

Teknik Informatika - Universitas Widyatama, 2007

10. Yatini B., Indra;Nasution, Erliansyah, “Algoritma & Struktur Data dengan C++, Graha Ilmu,Yogyakarta, 2005

11. Sugiyono, Ir., “Pemrograman Terstruktur untuk Pelajar & Mahasiswa”, Panji Gumilang Press, Kuningan, 2005

12. Wahana Komputer, “Seri Buku Pintar – Menjadi Seorang Programmer Komputer” Andi, Yogyakarta, 2006

13. Joni, I Made; Raharjo, Budi, “Pemrograman C dan Implementasinya”, Informatika, Bandung, 2006

14. Raharjo, Budi, “Pemrograman C++ Mudah dan Cepat Menjadi Master C++ dengan Mengungkap Rahasia-

Rahasia Pemrograman dalam C++”, Informatika, 2006

15. Shalahuddi, M.;A. S., Rosa, “ C++ dan Java dari Nol Menjadi Andal”, Informatika, 2007

16. http://www.lcusd.net/lchs/dclausen/, Tanggal Akses : 8 Agustus 2007

17. http://www.planetsourcecode.com

18. http://www.programmersheaven.com

19. Herianto, “Presentasi Pemrograman Terstruktur.ppt”,-

20. Referensi lain yang terkait

Review MateriAlgoritma & Pemrograman I

Sesi 01

Dosen Pembina : Danang Junaedi

Page 4: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

4

Jurusan Teknik Informatika I - 13 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

o Tujuan Instruksional

o Tipe Data & Operator

o Variabel & Konstanta

o Input & Output

o Selection

o Looping

o Fungsi & Prosedur

o Kelebihan dan Kekurangan C++

Overview

Jurusan Teknik Informatika I - 14 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tujuan Instruksional

Mahasiswa mampu

o menjelaskan perbedaan penggunaan tipe data serta

operatornya, input dan output, Looping, selection, fungsi &prosedur dan fille sequential serta cara penulisannya dalam

program mengunakan Bahasa C/C++

o menjelaskan dasar-dasar pengelolaan file (input, baca,

output) menggunakan file sequential serta cara penulisannya

dalam program mengunakan Bahasa C/C++

Jurusan Teknik Informatika I - 15 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Struktur Algoritma

o Judul: <judul/fungsi dari algoritma>

o Kamus: <nama data dan tipe data yang digunakan dalam

algoritma>

o Algoritma: <urutan aksi/langkah penyelesaian masalah>

Jurusan Teknik Informatika I - 16 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Struktur Bahasa C/C++

#include<header file> Preprocessor directive

Fungsi lain() Prototipe fungsi

Deklarasi variabel global; Pendeklarasian variabel

Tipe data/void main()

{ Deklarasi variabel lokal/statis;

statemen-statemen;

}

Fungsi/program utama

Isi fungsi/program

Utama

Fungsi lain()

{ Deklarasi variabel lokal/statis;

statemen-statemen;

}

Fungsi lain

Isi fungsi lain

Page 5: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

5

Jurusan Teknik Informatika I - 17 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tipe Data Algoritma

o Tipe Data Dasar

� Integer

� Real

� Char

� String

� Boolean

o Tipe Data Bentukan

� Array 1 Dimensi� array[0..N] of Tipe Data

� Array 2 Dimensi� array[0..N, 0..M] of Tipe Data

� Struktur/Record� Record<….>

� File (dibahas lebih lanjut pada pertemuan ke-2 : Pengolahanfile)

� List/Pointer (dibahas lebih lanjut pada pertemuan ke- 13 : ListBerkait)

Jurusan Teknik Informatika I - 18 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tipe Data Bahasa C/C++(1)

o Tipe Data Dasar

Tipe Ukuran Rentang Format Keterangan

char 1 byte -128 s.d. 127 %c

%s

Karakter ASCI

string

int

2 byte -32768 s.d. 32767%d atau

%e

Bilangan bulat

4 byte -2147483648 s.d.

2147483648Platform Win32

float 4 byte -3.4x10-38 s.d.

3.4x1038

%f Bilangan real

double 8 byte -1.7x10-308 s.d.

1.7x10308

%lf Bilangan real

void 0 - - Tek bertipe

bool 1 byte True/false - Tipe logika (C++ di

atas versi 4.5)

Jurusan Teknik Informatika I - 19 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tipe Data Bahasa C/C++(2)

o Tipe Data Modifikasi

Tipe Ukuran Rentang Format Keterangan

long int 4 byte -2147483648

s.d.

2147483648

%ld Bilangan bulat

long double 10 byte -3.4x10-4932 s.d.

3.4x104932

%Lf Bilangan real

short int 1 byte -128 s.d. 127 %hd Bilangan bulat

signed char 1 byte -128 s.d. 127 Bilangan bulat

signed int/signed

short int

2 byte -32768 s.d.

32767

Bilangan bulat

signed long/signed

long int

4 byte -2147483648

s.d.

2147483687

Bilangan bulat

Jurusan Teknik Informatika I - 20 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tipe Data Bahasa C/C++ (3)

Tipe Ukuran Rentang Format Keterangan

unsigned char 1 byte 0 s.d. 255 Bilangan bulat

unsigned

int/unsigned short int

2 byte 0 s.d. 65535 %u Bilangan bulat

unsigned

long/unsigned long

int

4 byte 0 s.d.

429467295

Bilangan bulat

o Tipe Data Modifikasi

Page 6: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

6

Jurusan Teknik Informatika I - 21 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tipe Data Bahasa C/C++ (4)

o Tipe Data Bentukan�Struktur/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-fieldex : struct Info_bit{ unsigned bit0:1; unsigned bit1:1;};

�enumex : enum Hari {Senin,Selasa,Rabu,Kamis,Jum’at,Sabtu,Minggu};

�typedefex : typedef unsigned char Byte;

Jurusan Teknik Informatika I - 22 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Tipe Data Bahasa C/C++ (5)

o Array

�1 dimensi

ex : int ArrayA[10]; char Nama[25];

�2 dimensi

ex : int ArrayB[10][10];

�n dimensi

ex : int ArrayC[10][10]…[10];

o File (dibahas lebih lanjut pada pertemuan ke-2 :Pengolahan file)

o List/Pointer (dibahas lebih lanjut pada pertemuan ke- 13 :List Berkait)

Jurusan Teknik Informatika I - 23 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Operator

o 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)

o Jenis Operator

�Operator Assigment (=)

�Operator Aritmatika (*, /, %, +, -)

�Operator Biner/Bitwise (<<, >>, &, |, ^, ~)

�Operator Logika (&&, ||)

�Operator Perbandingan/Relasi (==, !=, >, >=, <, <=)

�Operator Unary (-, ++, --, ~, !, &, *, sizeof)

�Operator Assigment Kombinasi/Majemuk (+=, -=, *=, /=, %=, <<=, >>=, &=, |=, ^=)

Jurusan Teknik Informatika I - 24 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Input dan Output

o Input

�INPUT Nama_data � Algoritma

�getch(), getche(), getchar(), scanf() � bisa digunakanpada C dan C++

�cin>>Nama_data �hanya bisa digunakan pada C++

o Output

�OUTPUT Nama_data � Algoritma

�putchar(), puts(), clrscr(), gotoxy(), printf() � bisadigunakan pada C dan C++

�cout<< Nama_data�hanya bisa digunakan pada C++

Page 7: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

7

Jurusan Teknik Informatika I - 25 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Variabel & Konstanta

o Variabel

Lingkup Variabel :

�Variabel Lokal/Otomatis

�Variabel Global/Eksternal

�Variabel Statis

o Konstanta

�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)

�Konstanta String (ex : “bapak”, “Keren”)

�Karakter Escape (\a, \b, \f, \n, \r, \t, \v, \0, \’, \”, \\)

Jurusan Teknik Informatika I - 26 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Selection

o if

� if tunggalex : if (a=b) {printf(“a=b”);}

� if-elseex : if (a=b) {printf(“a=b”);} else {printf(“a≠b”);}

� if-else-ifex : if (a=b) {printf(“a=b”);} else

if (a<b) {printf(“a<b”);} else {printf(“a>b”);}o 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<<“Au ah Gelap”; break;}

Jurusan Teknik Informatika I - 27 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Looping (1)

o FOR, contoh :

FOR i = 1 TO 10 STEP 1 DO

….. Algoritma

NEXT i

for(i=1;I<=10;i++) {….} � C/C++

o WHILE, contoh :

i1

WHILE (i<=10) DO Algoritma

ENDWHILE

I=1;

while(i<=10){ Bahasa C/C++

….;

}

Jurusan Teknik Informatika I - 28 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Looping (2)

o REPEAT, contoh :

i1

REPEAT Algoritma

UNTIL (i>10)

I=1;

do{ Bahasa C/C++

….;

}while !(i>10);

Page 8: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

8

Jurusan Teknik Informatika I - 29 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Fungsi dan Prosedur (Algoritma)

o FungsiFUNCTION nama_Fungsi(argumen1, argumen2,....) : Tipe_fungsi definisi Fungsixxxx tubuh Fungsi

END FUNCTIONex : FUNCTION Absolut(X:REAL):REAL

if (X<0) X-XAbsolutX

END FUNCTION

o ProsedurPROCEDURE nama_Prosedur(argumen1, argumen2,....) definisi Prosedurxxxx tubuh Prosedur

END PROCEDUREex : PROCEDURE Tampil(char Nama[15], int Kali)

I:Integer;FOR I=0 TO Kali STEP 1 DO

OUTPUT Nama;

END PROCEDURE

Jurusan Teknik Informatika I - 30 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Fungsi dan Prosedur (C/C++)

o FungsiTipe_fungsi nama_Fungsi(argumen1, argumen2,....) definisi Fungsi{

xxxx tubuh Fungsi}ex : double Absolut(double X)

{ if (X<0) X=-X;

return(X);}

o Prosedurvoid 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);

}

Jurusan Teknik Informatika I - 31 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Jenis File

o Isi File

� File Teks

� File Biner (bukan teks)

o Cara Pengaksesan File

� File Sequential

� File Random

Catt : Untuk File biner dan file random anda harus

mencari referensi sendiri OK!!!

Jurusan Teknik Informatika I - 32 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Operasi File

o File Berpenyangga (Buffered File)

� Menggunakan suatu penyangga (buffer) sebagai penampungsementara data

� Pengaksesan data file dilakukan melalui perantara penyangga(buffer)

� Header file yang digunakan yaitu stdio.h (C & C++) danfstream.h (C++)

� Biasanya digunakan untuk file sequential dan file random

o File tidak berpenyangga

� Tidak menggunakan penyangga (buffer)

� Pengaksesan data file dilakukan langsung ke file padadisk/media penyimpanan dimana file itu di simpan

� Header file yang digunakan yaitu stdio.h (C & C++) danfstream.h (C++)

� Biasanya digunakan untuk file biner dan menggunakansystem operasi UNIX

Page 9: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

9

Jurusan Teknik Informatika I - 33 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Mengaktifkan atau Membuka File (1)

o Header File : stdio.h

Sintaks :

FILE *Pointer_File; (Buffer untuk file)

Pointer_File=fopen(char *Nama_File, char *Mode) atau

Pointer_File=fopen(”<Nama File>”,”<Mode File>”);

Mode File : r, w, a, t, b, r+, w+, a+, rb, wb, ab, rb+, wb+,

ab+

ex : FILE *File_Coba

File_Coba=fopen(“Coba.Dat”,”w”);

Catt: Coba cari fungsi dari mode file di atas !!!

Jurusan Teknik Informatika I - 34 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Mengaktifkan atau Membuka File (2)

o Header File : fstream.hSintaks :

ofstream Pointer_File; atau (Buffer

ofstream Pointer_File(“<Nama_File>”, <Mode File>); file)

Pointer_File.open(“<Nama_File>”) atau

Pointer_File.open(”<Nama File>”, <Mode File>);

Mode File : ios::app, ios::ate, ios::in, ios::out, ios::nocreate

ios::noreplace, ios::true, ios::binary

ex : ofstream File_Coba

File_Coba.open(“Coba.Dat”,ios::app); atau bisa juga

File_Coba.open(“Coba.Dat”,ios::app | ios::out);

Catt: Coba cari fungsi dari mode file di atas !!!

Jurusan Teknik Informatika I - 35 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Memproses file (1)

o Header File : stdio.h� Menyimpan data ke dalam file

Perintah yang digunakan : fputc(), fgetc(), putw(), getw(),

fputs(), fgets(), fscanf(), fprintf(),

fwrite(), fread()

ex : fprintf(File_Coba, “%d %s %5.2f”,Nomor, Nama, Nilai);

fscanf(stdin, “%d %s %f”,&Nomor, &Nama, &Nilai);

� Membaca data

Perintah yang digunakan : rewind(), fseek(), ftell(), fread(),

fscanf()

ex : fread(File_Coba, “%d %s %5.2f”,Nomor, Nama, Nilai);

fscanf(File_Coba, “%d %s %5.2f”,Nomor, Nama, Nilai);

Catt: Coba cari fungsi dari perintah di atas !!!

Jurusan Teknik Informatika I - 36 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Memproses file (2)

o Header File : fstream.h

� Menyimpan data ke dalam file

Sintaks :

ofstream Pointer_File; atau (Buffer

ofstream Pointer_File(“<Nama_File>”,<Mode File>); file)

�Pointer_File.put(); atau

�Pointer_File<<Nama_Data; atau

�Pointer_File.write((char*)&Rekaman,sizeof(Rekaman));

ex : FILE *File_Coba

File_Coba=fopen(“Coba.Dat”,”w”);

Catt : Cari apa perbedaan perintah put(), <<,write() di atas !!!

Page 10: Pendahuluan -   · PDF filemembuat penyelesaian masalah dengan ... prosedur dan fille sequential serta cara penulisannya dalam program ... dalam program mengunakan Bahasa C/C++

10

Jurusan Teknik Informatika I - 37 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Memproses file (3)

o Header File : fstream.h� Membaca data

Sintaks :

int Max=<Jumlah max karakter per baris>;char penyangga[Max];ifstream Pointer_File; atau (Bufferifstream Pointer_File(“<Nama_File>”,<Mode File>); file)

�Pointer_File.get(); atau�Pointer_File.getline(penyangga, Max); atau�Pointer_File.read((char*)&Rekaman,

sizeof(Rekaman));ex : ifstream File_Coba (“Coba.Dat”,ios::app | ios::out);

File_Coba.getline(penyangga, Max); atauFile_Coba.read((char*)&Mahasiswa, sizeof(Mahasiswa));

Catt : Cari apa perbedaan get(), getline(), read() di atas !!!

Jurusan Teknik Informatika I - 38 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Menutup File

o Header File : stdio.h

Sintaks :

fclose(Pointer_File); {Menutup sebuah file yang aktif} atau

fcloseall(Pointer_File); {Menutup semua file yang aktif}

ex : fcose(File_Coba);

fcloseall();

o Header File : fstream.h

Sintaks :

offstream Pointer_File; (Buffer untuk file)

Pointer_File.close()

Jurusan Teknik Informatika I - 39 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Referensi

1. Deitel, H.M. and Deitel, P.J., “C++ How to Program, 2nd Edition”,

Prentice Hall, 1994

2. Sekarwangi, Guntari;Kurniandi, Ocke, “ Diktat Kuliah Pemrograman I (Terstuktur)”, Teknik Informatika – Universitas Widyatama,

Bandung, 2004

3. Rilgivia, Hevi;Sekarwangi, Guntari, “ Diktat Kuliah Algoritma & Pemrograman I”, Teknik Informatika – Universitas Widyatama,

Bandung, 2004

4. Danang Junaedi, “Diktat, Handout & Modul PemrogramanTerstruktur I dan Pemrograman Terstruktur II”, Teknik Informatika -

Universitas Widyatama, 2007

5. Yatini B., Indra;Nasution, Erliansyah, “Algoritma & Struktur Data dengan C++, Graha Ilmu,Yogyakarta, 2005

Jurusan Teknik Informatika I - 40 Universitas Widyatama

AlgoritmaAlgoritmaAlgoritmaAlgoritma & & & & PemrogramanPemrogramanPemrogramanPemrograman IIIIIIII

Untuk bahan renungan bersama

Apakah anda takut gagal? Sedemikian takutnya sampai anda tidak berusaha

untuk mencoba? Coba anda pikirkan kembali, hal tersebut benar-benar tidak

masuk akal. Dengan tidak mencoba barang sekalipun, sebenarnya anda

SUDAH gagal. Jadi rasa takut gagal adalah penyebab kegagalan yang pasti.

Apakah anda merasa takut? Coba perhatikan rasa takut anda. Perhatikan

pesan yang berusaha disampaikannya. Rasa takut membuat anda lebih

waspada. Rasa takut memberi energi ekstra. Rasa takut membuat anda

mampu mengatasi tantangan tersulit. Tidak ada yang mampu mendorong

sumber daya dalam diri anda - lebih dari rasa takut. Rasa takut sebenarnya

ada untuk mendorong anda maju, bukan untuk menahan anda. Biarkan rasa

takut mengajarkan anda. Biarkan rasa takut mempersiapkan anda. Tetapi

jangan membuat rasa takut menghentikan anda. Saat rasa takut menahan

anda, coba perhatikan baik-baik apa yang menyebabkan rasa takut - dan

anda akan menemukan alasan untuk bergerak maju.

Kegagalan paling abadi adalah kegagalan untuk mulai bertindak. Bila

anda sudah mencoba - dan ternyata gagal, anda memperoleh sesuatu

yang bisa dipelajari dan mungkin dicoba kembali. Anda tidak akan

pernah gagal bila anda terus berusaha...!