Bagian 2 INTRODUCTION BORLAN C++

download Bagian 2 INTRODUCTION BORLAN C++

If you can't read please download the document

description

Bagian 2 INTRODUCTION BORLAN C++. Awal Berkenalan. Sejarah C. Bahasa C hasil kreasi dari Dennis M. Ritchie (1972) di Bell Telephone Laboratory Inc., Murray Hill, New Jersey, USA (Sekarang dikenal dengan AT&T Bell Laboratory) - PowerPoint PPT Presentation

Transcript of Bagian 2 INTRODUCTION BORLAN C++

  • Bagian 2

    INTRODUCTION BORLAN C++

  • Awal BerkenalanSejarah CBahasa C hasil kreasi dari Dennis M. Ritchie (1972) di Bell Telephone Laboratory Inc., Murray Hill, New Jersey, USA (Sekarang dikenal dengan AT&T Bell Laboratory)Implementasi pertama pada OS UNIX, dan dijalankan di mesin DEC PDP-IIMerupakan pengembangan dari B (Ken Thomson) dan bahasa BCPL/Basic Command Programming Language (Martin Richards)

  • Mengapa mesti C ?Bahasanya ringkas, hanya terdiri dari 32 keyword menurut standar ANSITersedia secara komersial untuk segala jenis komputer dan sistem operasiTerstruktur sekaligus fleksibelProgramnya bekerja lebih cepat dan lebih tangguh, karena akses dekat ke sistemKebanyakan pengembangan bahasa pemrograman ke depan meniru sintax C (C-LIKE = mirip C), seperti : Java, Javascript, C#, Php,

  • Keyword C 32 keyword ANSI CBeberapa compiler juga menyediakan beberapa keyword seperti berikut ini :asmfarhuge pascalada fortran near

    Catatan : Semua keyword pada kode program C ditulis dengan huruf kecil

  • Penyebut (Identifier)Penyebut pada C meliputi lebih dari 200 kata, masing-masing digunakan untuk memberikan nama function pada rutin pustaka pada C Library. Penyebut tersebut direkan pada file dengan ekor (extension) H dan disebut Header file atau file H sedangkan rutin pelaksana dihimpun pada file bereksensi LIB.Penggunaannya harus dideklarasikan menggunakan sintax:

    #include

    Sintax diatas ditulis pada bagian naskah program yang disebut bagian preprosesor

  • Nama-nama Function IdentifierRoutin untuk Klasifikasi karakter ASCIITerdapat di dalam file bernama : ctype.h

    isalnumisaldigitisapuncisalphaisgraphisaspaceisasciiislowerisupperiscntrlisuprintisxdigit

    Routin untuk menggarap directory dan path name.Terdapat di dalam file bernama : dir.h

    chdirfnsplitmkdirsetdiskfindfirstgetcurdirmktempfindnextgetcwdrmdirfnmergegetdisksearchpath

  • Lajutan indentifierRoutin untuk melihat waktu terdapat di dalam file: time.h

    asctime ctime difftime gmtime localtime tzst

    Routin untuk konversi type data terdapat di dalam file: stdlib.h

    atofatolfcvtitoastrtodultoaatoiecvtgcvttoastrtod

    Sedangkan funsi konfersi yang terdapat dalam file:ctype.h

    To asciitolower_tolowertoupper_toupper

    Routin untuk perhitungan matematika yang terdapat dalam file: math.h

    acospolycoslogsqrtasinatancoshlog10tanexpatan2floor_matherrtanhfabsatoffmodpowmatherrcabsfrexppow10modfceilhypotsinh

  • Lanjutan identifierRoutin matematika yang terdapat dalam file:stdlib.h

    absfcvtitoarandstrtolatolatoflabssrandultoaecvtatoiiloastrtod

    Routin untuk manipulasi string terdapat dalam file: string.h

    stpcpystrspnstrlwrstrnsetstrspnstrcatstrdupstrncatstrncatstrpbrkstrstrstrchrstrerrorstrncmpstrrchrstruprstrcmpstricmpstrncpystrrevstrcpystrlenstrnicmpstrset

    Routin untuk melihat waktu terdapat dalam file: dos.h

    dostounixgetdategettimesetdatesettimeunixtodos

    Routin untuk akses ke BIOS terdapat dalam file: bios.h

    Bioscombioskeybiosprint biosdisk biosequip biosmemorybiostime

  • Lanjutan indentifierRoutin untuk lintas data (input/output) terdapat pada file: stdio.h

    fclosefputchargetcharremovevfscanffcloseallfputsgetcherenamevsprintffdopenfreadgetftimerewindvscanffeoffreopengetpassscanfflushallferrorfscanfgetwsetbuffopenfflushfseekgsignalsetvbuffprintffgetcftellperrorsprintfputcfilelengthfwriteprintfascanffilenogetcputsstrerrorfputcgetch

    Yang terdapat dalam file: conio.h

    cgetsgetchkbhitputchcputsgetcheungetchcprintf

    Sedangkan yang terdapat dalam file: io.h

    accsescloseopenlocksopenunlock_writecreattelleofdupdup2isattysetmode_open_creatcreatnew_closechmodsettimelseakgetftime

  • Karakteristik bahasa CSemua modul dalam bentuk fungsi (Perbedaan fungsi dan prosedur ?)Tidak mengenal space sebagai pemisah, kecuali antar instruksi yang berbeda.Setiap statemen dipisahkan oleh semicolon (;).Kode programnya bersifat case-sensitif(membedakan huruf kapital dan huruf kecil). Keyword dan perintah-perintah dituliskan dengan huruf kecil.

  • Struktur Dasar Program CSetiap Program C terdiri dari satu atau lebih fungsi (function). Salah satu dari fungsi tersebut harus bernama main[Deklarasi header/library][ Deklarasi variabel/konstanta] [ Deklarasi fungsi]KODE utama[] = optional, adanya tergantung kebutuhanStruktur ProgramBandingkan dengan Struktur Program Pascal :[Deklarasi nama program][Deklarasi unit][Deklarasi type][Deklarasi variabel/konstanta] [Deklarasi fungsi][Deklarasi Prosedur]Kode utama

  • Format Penulisan deklarasi library/header#include atau#include header_name

    Contoh :#include stdio.hatau#include c:\tc3\include\stdio.hatau#include Contoh deklarasi1Bandingkan dengan pascalUses crt;File header pertama sekali akan dicari di directory aktif saat ini, dan jika tidak ketemu akan dicari ke directory include yang ditentukan pada konfigurasiFile header hanya akan dicari di directory yang langsung ditentukanFile header hanya akan dicari di directory include yang ditentukan pada konfigurasi?Perbandingan : Di pascal uses di C #include, di pascal unit di C header, di pascal unit merupakan file biner/terkompilasi (extention-nya *.tpu), di C header merupakan file ASCII (extention-nya *.h, dapat dibaca/dipelajari lebih lanjut)

  • Contoh deklarasi2Format Penulisan deklarasi variabelData_type variabel_nameContoh :int A;float B,C;char s;Bandingkan dengan pascal :Var A :integer; B,C : real; S : char;

  • return-type function_name([parameter]){ [deklarasi variabel lokal] Statement Return(value)}Format Penulisan deklarasi fungsiContoh :Int jumlah(int A,int B){ Int C; C=A+B; Return C;}Bandingkan dengan pascal :Function jumlah(A,B:integer):integer;Var C :integer;begin C:=A+B; jumlah:= C;End;

  • Contoh deklarasi3Contoh fungsi utama pada C :int main (){ Int F,G; F=5;G=8; printf(Hasil jumlahnya : %d \n,jumlah(F,G)); return 0;}Bandingkan dengan pascal: var F,G :integerbegin Int F,G; F=5;G=8; writeln(Hasil jumlahnya : ,jumlah(F,G));end.

  • Tentang ProsedurBahasa C secara khusus tidak memiliki prosedur, karena mudularisasi di C dilakukan dengan fungsi. Tetapi fungsi di C dapat di-akali untuk bekerja seperti prosedur. Contoh dari prosedure pascal berikut :

    Procedure cetak(x,y:integer;s:string);Begin gotoxy(x,y);textcolor(14); write(s);End;

    Di C ditulis dengan :

    void cetak(int x,int y, char *s){ gotoxy(x,y);textcolor(14); cprintf(%s,s);}

  • Contoh program lengkap

    /* program1 */

    #include #include

    /*deklarasi fungsi hitung*/int hitung(int A,int B){int C;C=A+B;return C;}

    /*deklarasi prosedur cetak */void cetak(int x, int y,char *s){ gotoxy(x,y); textcolor(14); cprintf("%s",s);}

    Nama file : Program1.C :/*program utama*/int main(){ int F,G; clrscr(); F=5; G=3; printf("Hasil jumlah : %d\n",hitung(F,G)); cetak(1,3,Saya sedang belajar pemrograman); cetak(1,4,bahasa C"); getchar(); return 0;}

  • Bandingkan jika di pascal :

    program program1;uses crt;

    {deklarasi fungsi hitung}function hitung(A,B:integer):integer;var C:integer;begin c:=a+b; jumlah:=C; end;

    {deklarasi procedure cetak}procedure cetak(x,y:integer;s:string);begin gotoxy(x,y); textcolor(14); write(s);end;

    {program utama}var F,G :integer;begin clrscr; F:=5; G:=6; write(Hasil jumlah :',hitung(f,g)); cetak (1,3,Saya sedang belajar pemrograman); cetak(1,4,bahasa C"); readln;end.

  • Proses Pembuatan Program Aplikasi

    Source Code(*.c,*.cpp)

    PreprosessorCompiler

    Object Code(*.obj)

    Linker

    Executable File(*.exe)

    ASCII Editor

    Include File(*.h)

    Execution

    Output

    Static Library File(*.Lib)

    Dynamic Library File(*.dll)

    MakeMulaiSelesaiRun

  • Bagaimana Menjalankan C ?(Dengan aplikasi apa dan dimana program-program C bisa dijalankan ?)Program C dapat dijalankan baik pada sistem operasi DOS, Windows maupun Linux, juga berbagai sistem operasi lainnyaPada DOS kita dapat menggunakan Turbo C (Borland) ver 3 ke bawah atau Microsoft C (kurang popular)Pada Windows kita dapat menggunakan Borland C versi 4.x atau ver 5.x (terakhir BCC ver 5.2), symantec C, dan Visual CPada Linux kita bisa gunakan GNU C Compiler (GCC)Secara umum kode program C di semua jenis compiler C dan pada berbagai sistem operasi sama saja. Artinya tidak perlu dilakukan perubahan kode program yang berarti jika hendak menjalankan C melalui compiler yang berbeda-beda tadi (?). Setidaknya setiap compiler C umumnya mengacu ke ANSI C sebagai standarisasi C.Tetapi beberapa compiler C ada yang memiliki kelengkapan library yang berbeda dengan compiler lain, sehingga perlu beberapa penyesuaian untuk transfer kode programnya. Contoh : GCC di Linux tidak memiliki library/header conio.h, sedangkan compiler C di DOS menggunakannya.Umumnya compiler C menggunakan sistem pemberitaan kesalahan (error message) yang runtun yang berbeda dengan error message di bahasa lain. Hal ini perlu diperhatikan untuk efisiensi trouble-shoot kode program

  • Menjalankan program C dengan Borlan C++ ver 5.2 Memulai :Dari prompt DOS \bin\bcw.exe {enter}Dari windows Click Start Programs - Borlan C ++ 5.02 - borlan c++ atau Click file bcw.exe melalui Window ExplorerPetunjuk Dasar :Ketikkan kode program di tempat yang disediakan(text editor)Menyimpan program : File Save atau File Save As atau CTRL+KSMengkompail program (menghasilkan file obj) : Project-Compile (Alt+F9)Mengkompail sekaligus me-link file (menghasilkan file exe) : Project Make All (F9)Menjalankan program : Debug Run (Ctrl+F9)Yang lain silahkan dicoba sendiri !

  • Tampilan awal Borlan C++ 5.02 :Tampilan TC3

  • Menjalankan program C dengan Visual C++Dalam hal ini yang dimaksud Visual C adalah fasilitas untuk menghasilkan program berbasis tex-nya (program DOS) yaitu : Win32 Console Application - nyaMemulai :

    Jalankan Visual C dari icon-nyaSetelah tampil menu visual C :Pilih : File NewDari dialog yang muncul click tab projectsDari tab projects pilih icon : Win32 Console Application, beri Project name misal : Program1, lalu click OKMuncul dialog lagi, pilih : An Empty Project,dan click tombol Finish, lalu OKPada tab bagian kiri pilih tab : FileViewPada badan tab click : program1 files dan pilih : Source fileClick kanan dari source file, pilih : Add Files to Folder, beri nama misal : program1.c, pada dialog yang muncul pilih OKDi dalam icon Source File, pilih : Program1.c, akan muncul layar tempat kita mengetikkan kode programKetikkan kode program pada layar tersebut, Compile dengan : Ctrl+F7 dan jalankan dengan Ctrl+F5 Jika kode ada kesalahan pesan kesalahan akan muncul di bagian bawah menu

  • Tampilan Visual C : Win32 Concole Application :Tampilan VC

  • Cara menjalankan C dengan GCC di LinuxLangkah :Ketikkan kode program C dengan salah satu editor ASCII di linux, seperti : vi, joe, emacs, pico,.Setelah selesai mengetik kode program, simpan dan beri nama dengan exstention C, misal : Program1.CJika hanya ingin meng-compile kode program lakukan dengan:gcc c program1 program1.cJika ingin meng-compile sekaligus me-Link kode program lakukan dengan perintah :gcc program1.c o program1ataugcc o program1 program1.c

    Jika tidak ada kesalahan program dapat dijalankan dengan perintah :./program1

  • Error Messages(Pesan Kesalahan)Kode program (source code) yang belum sesuai dengan aturan-aturan C, jika di-compile atau di-link akan memberikan pesan kesalahan tertentu sesuai dengan jenis kesalahannyaJenis pesan kesalahan :Warnings : A problem that can be overlooked.Compile-time warnings TLINK warnings TLIB warningsErrors : A problem that should be fixed such as a missing declaration or a type mismatch.Compile-time errorsTLINK errorsTLIB errors MAKE errorsRun-time errors

  • Fatal Errors : A problem of critical nature that prevents execution from continuing.Compile-time fatal errorsTLINK fatal errorsMAKE fatal errors

    Dari sisi lain jenis kesalahan juga dapat dibedakan seperti :Compile-Time ErrorLinking ErrorRun-Time ErrorUmumnya compiler C akan mendaftarkan semua runtunan kesalahan yang terjadi yang diakibatkan oleh setiap sebuah kesalahan. Pemberitaan kesalahan beruntun seperti ini harus diamati dengan cermat untuk dapat memperbaiki kesalahan tersebut dengan cepat.

  • Eksperimen Pertama Pemrograman CAktifkan editor pada Compiler C yang anda miliki (Klick menu file-new-editor text) :{ Harap perhatikan pengetikan huruf kecil dan huruf besar harus sama! }Simpan dengan nama file : hitung.cCompile (Alt+F9) kode tersebut untuk menghasilkan file : hitung.obj, buktikan dengan melihatnya melalui prompt DOS/windows explorerLink (Compile-Link) kode file objek tersebut untuk menghasilkan file : hitung.exeDari prompt DOS atau windows explorer catat besar file-file berikut : Hitung.c : bytesHitung.obj : bytesHitung.exe : bytes

    int A;int B,C;int main(){ A=5;B=3; C=A+B; return(0);}Bersambung

  • #include

    int A;int B,C;int main(){ A=5;B=3; C=A+B; printf(Hasil jumlah =%d \n,C); return(0);}Jalankan program dari prompt DOS dengan mengetikkan hitung.exe {enter} atau dari Borlan C++ dengan Ctrl+F9.{Perhatikan bahwa program belum menghasilkan apa pun di layar}Modifikasi kode program di atas menjadi seperti berikut :Compile dan Link kembali program (secara singkat lakukan langsung dengan Run-Run). Perhatikan jika anda melakukannya dari menu Borlan C++ hasil program tidak akan terlihat. Untuk itu tambahkan di akhir program dengan perintah : getchar() (sebelum return 0)Hasil program akan tampak di layar :Hasil jumlah =8

  • Lanjutan Eksperimen Program yang baru anda cobakan belum bersifat interaktif sebab input variabel A dan B langsung dimasukkan di dalam kode program. Untuk menjadikan program interaktif tambahkan perintah Scanf() sehingga kode program menjadi seperti berikut :

    #include int A;int B,C;int main(){ //A=5;B=3; printf("Masukkan nilai A :"); scanf("%d",&A); printf("Masukkan nilai B :"); scanf("%d",&B); C=A+B; printf(Hasiljumlah =%d \n,C); getchar(); return(0);}

  • Statement Pengulangan pada C dapat menggunakan : While (.) { Statement yang diulang}

    Untuk menghilangkan statemen return 0 dalam fungsi main type kembaliannya dganti dari int menjadi void : void main()

    Simpan kembali program, jalankan dan catat hasilnya !Tanda // digunakan sebagai komentar untuk C++ tetapi dikenal juga tanda komentar khusus C++ adalah : /* .*/.Untuk membersihkan layar setiap program dijalankan, tambahkan fungsi clrscr() di tempat yang sesuai. Untuk menentukan posisi kursor gunakan fungsi gotoxy(), untuk memberikan efek warna gunakan fungsi textcolor() , textbackground() dengan pencetakan cprintf(). Fungsi-fungsi ini deklarasinya berada pada header conio.h

  • /* Nama File: hitung.c */#include #include

    void main(){ int A,B,C; char k; k='y'; while(k=='y') { clrscr(); gotoxy(1,3); textcolor(14);cprintf("Masukkan nilai A : "); scanf("%d",&A); //fflush(stdin); gotoxy(1,4); textcolor(12);cprintf("Masukkan nilai B : "); scanf("%d",&B); //fflush(stdin); C=A+B; gotoxy(1,5); textcolor(9);printf("Hasil jumlah = %d \n",C); gotoxy(1,8); printf("Hitung lagi [yt] ? "); fflush(stdin); k=getchar(); }}Selanjutnya lengkapi kode program tersebut menjadi seperti berikut : {Aktifkan fungsi fflush() jika getchar() tidak berfungsi ! }

  • LatihanLengkapi kode program di atas untuk memberikan hasil pengurangan, perkalian, pembagian, dan pangkat !Buatlah program C untuk menghitung persamaan kuadrat dengan rumus ABC, dengan contoh kode programnya dalam pascal seperti berikut :program rumus_abc;uses crt;var a,b,c :integer; d,x1,x2 :real;

    beginclrscr;write('Masukkan nilai koefisien a : ');readln(A);write('Masukkan nilai koefisien b : ');readln(B);write('Masukkan nilai koefisien c : ');readln(C);d:=b*b-4*a;if d>0 then begin x1:=(-b-d)/(2*a); x2:=(-b+d)/(2*a); writeln; writeln('Penyelesaian '); writeln('X1 = ',x1:4:2); writeln('X2 = ',x2:4:2); endelse if d=0 then begin x1:=-b/(2*a); x2:=x1;

    writeln('Penyelesaian '); writeln('X1 = ',x1:4:2); writeln('X2 = ',x2:4:2); endelse begin writeln; writeln('Penyelesaian akar imajiner'); end;readln;end.

  • Cobakan program-program di atas (hitung.c dan rumusABC.c) menggunakan Gcc di linux dengan menghilangkan fungsi-fungsi dari header conio.h

    Catat pesan-pesan kesalahan yang pernah muncul selama anda ber-eksprimen dan latihan, baik pada Turbo C mapupun pada Gcc Linux