pendahuluan - · pdf filemembuat penyelesaian masalah dengan ... prosedur dan fille...
TRANSCRIPT
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
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
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
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
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
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++
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);
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
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 !!!
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...!