Algoritma & Pemrograman II
Overview
Pendahuluan Sesi 01 Dosen Pembina : Danang Junaedi
o o o o o o o o o
Deskripsi Bobot, Prasyarat Tujuan Instruksional Ruang Lingkup Materi Kaitan Materi Urutan Bahasan Penilaian & Grade Referensi Tata Tertib Perkuliahan
Jurusan Teknik Informatika
I-2
Universitas Widyatama
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Deskripsi
Bobot SKS & Prasyarat
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-3
Universitas Widyatama
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
Jurusan Teknik Informatika
I-4
Universitas Widyatama
1
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Ruang Lingkup Materi
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 teknik penyelesaian masalah, analisis masalah dan perancangan solusi serta membuat penyelesaian masalah dengan menggunakan pemrograman terstruktur, kemudian mengeksekusi dan melakukan pengujian program tanpa tergantung pada bahasa pemrograman apapun (minimal menggunakan bahasa pemrograman C/C++).
Jurusan Teknik Informatika
I-5
Universitas Widyatama
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 dan penggunaan 4. Strategi Algoritma : Devide & Conquer, Backtracking, Greedy, Branch & Bound 5. List berkait Linear : Pembentukan list, penelusuran, dan penghapusan elemen list
Jurusan Teknik Informatika
I-6
I-6
Universitas Widyatama
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Kaitan Materi - 1 NO.
MATERI ALGORITMA & PEMROGRAMAN I
Kaitan Materi - 2 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, mesin Integer, Mesin Rekam
Konsepnya akan digunakan pada : Pemrosesan File Sequential
4.
Array/Larik : satu dimensi, dua dimensi (matriks)
Akan digunakan pada : Strategi Algoritma
5.
Searching : sequential, sentinel, dichotomic
Konsepnya akan digunakan pada : Pemrosesan File Sequential, Strategi Algoritma, List Berkait
6.
Sorting : maksimum-minimum, insert, bubble
Konsepnya akan digunakan pada Strategi Algoritma
7.
Fungsi dan Prosedur pemanggilan/ penggunaan
Akan digunakan pada : Rekursif, Strategi Algoritma
Jurusan Teknik Informatika
:
pendefinisian,
I-7
Universitas Widyatama
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, Mesin Rekam
2.
Rekursif
Nama, tipe, operator, harga dan ekspresi Struktur dasar algoritma Fungsi dan Prosedur
3.
Strategi Algoritma
4.
List Berkait
Nama, tipe, operator, harga dan ekspresi Struktur dasar algoritma Searching
Jurusan Teknik Informatika
Nama, tipe, operator, harga dan ekspresi Struktur dasar algoritma Fungsi dan Prosedur Searching dan Sorting Array/Larik
I-8
Universitas Widyatama
2
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Urutan Pembahasan
Penilaian & Grade o Penilaian *
Pertemuan
Materi
1
Pendahuluan (Susunan Materi, Aturan Perkuliahan, Aturan Penilaian, grade nilai, referensi); Introduction; Review materi Algoritma & Pemrograman I
2-5
6-7 8
Pengelolaan File Sequential : Konsolidasi (Tanpa dan Dengan Separator), Merging, Splitting, dan Updating pada File Sequential; Presentasi(optional) Rekursif; Presentasi (optional)
10%
Grade
Tugas
15%
A
≥ 85
Praktikum
20%
B
75 - 85
UTS
25%
C
60 - 75
UAS
30%
D
45 - 60
E
< 45
Kehadiran
5% (>80%)
Jumlah 105%
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
o Grade *
Quiz/Presentasi
Range Nilai
*) tergantung performansi kelas
UAS
Jurusan Teknik Informatika
I-9
Universitas Widyatama
Jurusan Teknik Informatika
I - 10
Universitas Widyatama
Algoritma & Pemrograman II
Referensi 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Liem, Inggriani; Diktat Kuliah Algoritma & Pemrograman Prosedural : Bagian I dan Bagian II; Teknik Informatika, ITB, 2001 Munir, Rinaldi; Algoritma dan Pemrograman : Jilid II; Informatika Bandung Deitel, H.M. and Deitel, P.J., “C++ How to Program, 2nd Edition”, Prentice Hall, 1994 Juliff, P., Program Design, 3rd Edition”, Prentice Hall, 1990 Seigel, C., “Teach Yourself C, 2nd Edition”, MIS Press, 1993. Sekarwangi, Guntari;Kurniandi, Ocke, “ Diktat Kuliah Pemrograman I (Terstuktur)”, Teknik Informatika – Universitas Widyatama, Bandung, 2004 Rilgivia, Hevi;Sekarwangi, Guntari, “ Diktat Kuliah Algoritma & Pemrograman I”, Teknik Informatika – Universitas Widyatama, Bandung, 2004 Rilgivia, Hevi dan Violina' Sriyani; “ Diktat Kuliah Algoritma II”, Teknik Informatika – Universitas Widyatama, Bandung, 2004 Danang Junaedi, “Diktat, Handout & Modul Pemrograman Terstruktur I dan Pemrograman Terstruktur II”, Teknik Informatika - Universitas Widyatama, 2007 Yatini B., Indra;Nasution, Erliansyah, “Algoritma & Struktur Data dengan C++, Graha Ilmu,Yogyakarta, 2005 Sugiyono, Ir., “Pemrograman Terstruktur untuk Pelajar & Mahasiswa”, Panji Gumilang Press, Kuningan, 2005 Wahana Komputer, “Seri Buku Pintar – Menjadi Seorang Programmer Komputer” Andi, Yogyakarta, 2006 Joni, I Made; Raharjo, Budi, “Pemrograman C dan Implementasinya”, Informatika, Bandung, 2006 Raharjo, Budi, “Pemrograman C++ Mudah dan Cepat Menjadi Master C++ dengan Mengungkap RahasiaRahasia Pemrograman dalam C++”, Informatika, 2006 Shalahuddi, M.;A. S., Rosa, “ C++ dan Java dari Nol Menjadi Andal”, Informatika, 2007 http://www.lcusd.net/lchs/dclausen/, Tanggal Akses : 8 Agustus 2007 http://www.planetsourcecode.com http://www.programmersheaven.com Herianto, “Presentasi Pemrograman Terstruktur.ppt”,Referensi lain yang terkait
Jurusan Teknik Informatika
I - 11
Review Materi Algoritma & Pemrograman I
Sesi 01 Dosen Pembina : Danang Junaedi
Universitas Widyatama
3
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Overview o o o o o o o o
Tujuan Instruksional
Tujuan Instruksional Tipe Data & Operator Variabel & Konstanta Input & Output Selection Looping Fungsi & Prosedur Kelebihan dan Kekurangan C++
Jurusan Teknik Informatika
I - 13
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++
Universitas Widyatama
Jurusan Teknik Informatika
I - 14
Universitas Widyatama
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Struktur Algoritma
Struktur Bahasa C/C++
o Judul: <judul/fungsi dari algoritma> o Kamus:
o Algoritma:
Jurusan Teknik Informatika
I - 15
Universitas Widyatama
#include
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
Jurusan Teknik Informatika
I - 16
Isi fungsi lain Universitas Widyatama
4
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Tipe Data Algoritma
Tipe Data Bahasa C/C++(1) o Tipe Data Dasar
o Tipe Data Dasar
Tipe
Integer Real Char String Boolean
char
Rentang
Format
1 byte
Ukuran
-128 s.d. 127
%c %s
2 byte
-32768 s.d. 32767
int
4 byte
-2147483648 s.d. 2147483648
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)
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 : Pengolahan file) List/Pointer (dibahas lebih lanjut pada pertemuan ke- 13 : List Berkait)
Jurusan Teknik Informatika
I - 17
Universitas Widyatama
Keterangan Karakter ASCI string
Jurusan Teknik Informatika
Bilangan bulat %d atau %e Platform Win32
I - 18
Universitas Widyatama
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Tipe Data Bahasa C/C++(2)
Tipe Data Bahasa C/C++ (3)
o Tipe Data Modifikasi Tipe long int
o Tipe Data Modifikasi
Ukuran 4 byte
Rentang
Format
-2147483648 s.d. 2147483648
%ld
Keterangan
Tipe
Ukuran
unsigned char
1 byte
long double
10 byte
-3.4x10-4932 s.d. 3.4x104932
%Lf
Bilangan real
unsigned 2 byte int/unsigned short int
short int
1 byte
-128 s.d. 127
%hd
Bilangan bulat
signed char
1 byte
-128 s.d. 127
Bilangan bulat
unsigned long/unsigned long int
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 - 19
Rentang
Format
Keterangan
Bilangan bulat
Universitas Widyatama
Jurusan Teknik Informatika
0 s.d. 255
4 byte
I - 20
0 s.d. 65535 0 s.d. 429467295
Bilangan bulat %u
Bilangan bulat Bilangan bulat
Universitas Widyatama
5
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Tipe Data Bahasa C/C++ (4)
Tipe Data Bahasa C/C++ (5)
o Tipe Data Bentukan
o Array
1 dimensi
Struktur/Record
ex : int ArrayA[10]; char Nama[25];
ex : struct Tanggal
atau
{ int Hari; int Bulan; int Tahun;};
struct {int Hari; int Bulan; int Tahun;}Tanggal;
union
2 dimensi ex : int ArrayB[10][10];
n dimensi
ex : union Tanggal{ int i; int j;};
ex : int ArrayC[10][10]…[10];
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};
o File (dibahas lebih lanjut pada pertemuan ke-2 : Pengolahan file) o List/Pointer (dibahas lebih lanjut pada pertemuan ke- 13 : List Berkait)
typedef ex : typedef unsigned char Byte; Jurusan Teknik Informatika
I - 21
Universitas Widyatama
Jurusan Teknik Informatika
I - 22
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Operator
Input dan Output
o Sifat Operator
o Input
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
Universitas Widyatama
I - 23
Universitas Widyatama
INPUT Nama_data Algoritma getch(), getche(), getchar(), scanf() bisa digunakan pada C dan C++ cin>>Nama_data hanya bisa digunakan pada C++ o Output
OUTPUT Nama_data Algoritma putchar(), puts(), clrscr(), gotoxy(), printf() bisa digunakan pada C dan C++ cout<< Nama_datahanya bisa digunakan pada C++
Jurusan Teknik Informatika
I - 24
Universitas Widyatama
6
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Variabel & Konstanta
Selection
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 - 25
Universitas Widyatama
o 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 (ab”);} 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 - 26
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Looping (1)
Looping (2)
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 - 27
Universitas Widyatama
o REPEAT, contoh : i1 REPEAT Algoritma … UNTIL (i>10) I=1; do{ Bahasa C/C++ ….; }while !(i>10);
Universitas Widyatama
Jurusan Teknik Informatika
I - 28
Universitas Widyatama
7
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Fungsi dan Prosedur (Algoritma) o Fungsi
o Fungsi
FUNCTION nama_Fungsi(argumen1, argumen2,....) : Tipe_fungsi xxxx tubuh Fungsi END FUNCTION ex : FUNCTION Absolut(X:REAL):REAL if (X<0) X-X AbsolutX END FUNCTION
definisi Fungsi
o Prosedur PROCEDURE nama_Prosedur(argumen1, argumen2,....) xxxx tubuh Prosedur END PROCEDURE ex : PROCEDURE Tampil(char Nama[15], int Kali) I:Integer; FOR I=0 TO Kali STEP 1 DO OUTPUT Nama; END PROCEDURE
Jurusan Teknik Informatika
Fungsi dan Prosedur (C/C++)
I - 29
definisi Prosedur
Tipe_fungsi nama_Fungsi(argumen1, argumen2,....) { xxxx tubuh Fungsi } ex : double Absolut(double X) { if (X<0) X=-X; return(X); }
o Prosedur void nama_Prosedur(argumen1, argumen2,....) { xxxx tubuh Prosedur } ex : void Tampil(char Nama[15], int Kali) { int I; for(I=0;I
Universitas Widyatama
Jurusan Teknik Informatika
I - 30
Algoritma & Pemrograman II
Universitas Widyatama
Operasi File o File Berpenyangga (Buffered File) Menggunakan suatu penyangga (buffer) sebagai penampung sementara data Pengaksesan data file dilakukan melalui perantara penyangga (buffer) Header file yang digunakan yaitu stdio.h (C & C++) dan fstream.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 pada disk/media penyimpanan dimana file itu di simpan Header file yang digunakan yaitu stdio.h (C & C++) dan fstream.h (C++) Biasanya digunakan untuk file biner dan menggunakan system operasi UNIX
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!!!
I - 31
definisi Prosedur
Algoritma & Pemrograman II
Jenis File
Jurusan Teknik Informatika
definisi Fungsi
Universitas Widyatama
Jurusan Teknik Informatika
I - 32
Universitas Widyatama
8
Algoritma & Pemrograman II
Algoritma & Pemrograman II
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(””,”<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”);
Mengaktifkan atau Membuka File (2) o Header File : fstream.h Sintaks : ofstream Pointer_File; atau (Buffer ofstream Pointer_File(“”, <Mode File>); file) Pointer_File.open(“”) atau Pointer_File.open(””, <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 !!! Catt: Coba cari fungsi dari mode file di atas !!!
Jurusan Teknik Informatika
I - 33
Universitas Widyatama
Jurusan Teknik Informatika
I - 34
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Memproses file (1)
Memproses file (2)
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 - 35
Universitas Widyatama
Universitas Widyatama
o Header File : fstream.h Menyimpan data ke dalam file Sintaks : ofstream Pointer_File; atau (Buffer ofstream Pointer_File(“”,<Mode File>); file) Pointer_File.put(); atau Pointer_File<
Jurusan Teknik Informatika
I - 36
Universitas Widyatama
9
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Memproses file (3)
Menutup File
o Header File : fstream.h Membaca data Sintaks : int Max=<Jumlah max karakter per baris>; char penyangga[Max]; ifstream Pointer_File; atau (Buffer ifstream Pointer_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); atau File_Coba.read((char*)&Mahasiswa, sizeof(Mahasiswa)); Catt : Cari apa perbedaan get(), getline(), read() di atas !!!
Jurusan Teknik Informatika
I - 37
Universitas Widyatama
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 - 38
Algoritma & Pemrograman II
Algoritma & Pemrograman II
Referensi
Untuk bahan renungan bersama
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 Pemrograman Terstruktur 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
Universitas Widyatama
I - 39
Universitas Widyatama
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...! Jurusan Teknik Informatika
I - 40
Universitas Widyatama
10