BAHASA C++

download BAHASA C++

of 45

description

Materi Perkuliahan Mata Kuliah Komputer tentang Bahasa C++

Transcript of BAHASA C++

  • BAHASA CMATA KULIAH KOMPUTER

    AKADEMI MINYAK DAN GAS BALONGAN INDRAMAYU

  • 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

  • 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]Fungsi utama[] = optional, adanya tergantung kebutuhanStruktur ProgramSemua 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. Karakteristik bahasa CBandingkan 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)

  • 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;}Format Penulisan deklarasi variabelData_type variabel_nameContoh :int A;float B,C;char s;Contoh deklarasi2Bandingkan dengan pascal :Var A :integer; B,C : real; S : char;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);}

    /*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); cetak1,4,bahasa C"); getchar(); return 0;}Nama file : Program1.C :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); cetak1,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 Turbo C ver 3.0 Memulai :Dari prompt DOS \bin\tc.exe {enter}Dari windows Click icon atau Click file Tc.exe melalui Window ExplorerPetunjuk Dasar :Ketikkan kode program di tempat yang disediakanMenyimpan program : File Save atau File Save AsMengkompail program (menghasilkan file obj) : Compile-Compile (Alt+F9)Mengkompail sekaligus me-link file (menghasilkan file exe) : Compile Make (F9)Menjalankan program : Run Run (Ctrl+F9)Menkonfigurasi directori include, library,output dan source : Options DirectoriesYang lain silahkan dicoba sendiri !

  • Tampilan awal Turbo C 3.0 :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 C(Lakukan di labor)Aktifkan editor pada Compiler C yang anda miliki (dalam hal ini lakukan dengan Turbo C) dan ketikkan kode C berikut :{ Harap perhatikan pengetikan huruf kecil dan huruf besar harus sama! }

    #include

    int A;int B,C;int main(){ A=5;B=3; C=A+B; printf(Hasiljumlah =%d \n,C); return(0);}Simpan dengan nama file : hitung.cCompile (Alt+F9) kode tersebut untuk menghasilkan file : hitung.obj, buktikan dengan melihatnya melalui prompt DOSLink (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 : bytesJalankan program dari prompt DOS dengan mengetikkan hitung.exe {enter} atau dari Turbo C dengan Ctrl+F9.{Perhatikan bahwa program belum menghasilkan apa pun di layar}Modifikasi kode program di atas menjadi seperti berikut :

    int A;int B,C;int main(){ A=5;B=3; C=A+B; return(0);}Compile dan Link kembali program (secara singkat lakukan langsung dengan Run-Run). Perhatikan jika anda melakukannya dari menu Turbo 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 =8Bersambung

  • sambunganLanjutan 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);}Simpan kembali program, jalankan dan catat hasilnya !Tanda // digunakan sebagai komentar untuk C++ tetapi dikenal juga pada turbo C ver 3.0 untuk C. 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.hStatement 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()

    Selanjutnya lengkapi kode program tersebut menjadi seperti berikut : {Aktifkan fungsi fflush() jika getchar() tidak berfungsi ! }

    /* 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] ? "); k=getchar(); }}

  • 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

  • Bagian 2

    Unsur-unsur kode program C

  • Unsur-unsur Program CVariabel

    Yaitu identifier yang digunakan untuk menam-pung data/informasi

    Format deklarasi variabel =

    Contoh : int a,b,c;float p,q;int x=20;Syarat penulisan variabel :Diawali dengan huruf atau garis bawah dan selanjutnya bisa diikuti oleh huruf atau garis bawah atau angkaPanjang variabel maksimum 32 karakter (standar ANSI)Tidak boleh menggunakan keywordTipe Data

    Yaitu yang menentukan jenis data yang tersimpan pada variabel.

    Tipe data dasar di C adalah : Char; yaitu tipe data characterInt ; yaitu tipe data integer, bilangan bulatFloat; yaitu tipe data pecahan, bilangan floating point, yang menggunakan titik desimal dan exponenDouble; yaitu bilangan double-precision floating point, seperti float tetapi angka signifikannya lebih besar{Informasi lebih detail pada hal. Selanjutnya}

    Sebenarnya ada dua tipe data dasar lain yang juga sering digunakan, yaitu void yang sering digunakan pada fungsi dan enum yang akan dijelaskan kemudian

    Escape sequence

    \t tab\ double quote\n new line\\ backsalash\b backspace\ single quote\f form feed\r carriage retrun\ddd ASCII code (octal)\xdd ASCII code (hexa)

  • Type data dasar CPerhatikan: int dan short int mempunyai jangkauan dan jumlah bit yang sama. Untuk IBM PC memang kedua tipe data ini tepat sama, tetapi pada mesin lain seperti komputer VAX short int adalah 8 bit

  • Operator Arithmatic : + - * / %Contoh :c=a+b;d=5%2; { Note : Pangkat dengan fungsi pow() }Operator Aritmatic Assignment+= -= *= /= %=Contoh :c=5;c+=2; {c=7 dari c=c+2}c-=2; {..}

    Operator increment/decrement++ --Contoh :c=4;c++; {c=5 dari c=c+1}c--; {..}a=5;b=a++; {a=6 b=5}b=++a; {a=6 b=6}Operator relational< > = == {equal}!= {not equal}Contoh :(5>=2)(k==toupper(y))(n!=0)Operator Logika&& {AND}|| {OR}! (Not}Contoh :(n!=0) && (k=toupper(y)) A || BOperator pointer& {address of}* {value of}Contoh :{ Next discussion }OperatorOperator kondisional?:

    Contoh :z = (x < y) ? x : y;

    pernyataan di atas sama dengan :if (x < y) z = x; else z = y;

    Operator Pergeseran bit>{Shift left}

    Contoh :

    A=1;B=A

  • Statemen Input-OutputStatemen input dalam hal ini yaitu fungsi yang gunanya untuk menerima data dari keyboardStatemen output yaitu fungsi yang gunanya untuk menuliskan data ke layar monitorYang termasuk statemen input :getchar()getche()getch()gets()scanf()

    Yang termasuk statemen output :putsputchar()putch()printf()cprintf()

  • Statemen KontrolYaitu statemen yang dapat mengatur arah/aliran program. Secara umum dapat di-kelompokkan kepada :Kontrol Pengulangan (loop); yaitu statemen yang dapat membuat sebagian kode program dilaksanakan beberapa kali (mengulangi)Kontrol Penyeleksian (decision); yaitu statemen yang dapat memilih apakah sebagian kode program dilaksanakan atau tidak (memutuskan)Yang termasuk kontrol Pengulangan :forwhiledo-whileYang termasuk kontrol Penyeleksian :ifif-elseswitch-case

    KONTROL PENGULANGAN :

    for

    Format :

    for (exp1;exp2;exp3) statemen_diulangataufor (exp1;exp2;exp3) { statemen_diulang }

    Exp1 = ekspresi untuk inisialisasiExp2 = ekspresi untuk conditionalExp3 = ekspresi untuk decrement

    Contoh :int i; for (i=0;i

  • Pada C memungkinkan untuk membuat statemen for seperti berikut : for(j=1,k=1;j
  • Statemen do-while dapat digunakan seperti repeat-until pada pascalContoh :char k; do{ printf(ingin mengulang ?); k=getchar();}while(k=toupper(y));

    Bandingkan jika di pascal :repeat write(Ingin mengulang ?); read(k);until (kupcase(y));

    KONTROL PENYELEKSIAN :

    ifFormat :If (exp boolean) statemenatauIf (exp boolean){ statements}

    Jika exp boolean menghasilkan nilai true (bukan0) maka statemen akan dilaksanakan, jika bernilai 0 tidak akan dilaksanakan

    If (umur

  • atau : {lanjutan format if-else}

    if (exp boolen) {statemen1; statemen2; }else {statemen3; statemen4; }

    Contoh :

    if (umur

  • FungsiKegunaan :Salah-satu implementasi prinsip modularisasi pada CMenghindari penulisan kode yang sama berulang kaliIstilah-istilah yang sering muncul:Called function : Calling function : Formal argumen : Aktual argumen : Call by value : Call by reference :

    Contoh 1 :#include

    void main(){int a,b,c;int hitung (intg x, intg y);printf(Masukkan nilai a dan b :);scanf(%d %d,&a,&b);c=hitung(a,b);printf(%3d+%3d =%3d,a,b,c);}

    int hitung(int x,int y){ int z; z=x+y; return(z);}

    Deklarasi fungsi boleh sebelum dan setelah fungsi main()

    Contoh 2 :

    /*Nama File : tukar1.c Prinsip Call by value Oleh : */

    #include #include

    void tukar(int a,int b){ int temp; temp=a; a=b; b=temp;}

    void main(){clrscr();int x=3, y=5;printf("\nNilai x dan y semula");printf("\nx = %d y = %d",x,y);tukar(x,y);printf("\nNilai x dan y kemudian");printf("\nx = %d y = %d",x,y);getch();}

    Istilah untuk scope variabel :Global (extern)Local (automatic)Static: tetap menyimpan nilai walau keluar dari fungsiRegister: menyimpan nilai di salah satu register pada CPU

  • Pointer, Array dan StringPointerMerupakan variabel yang fungsinya menyimpan alamat (address) variabelFasilitas untuk mengakses suatu variabel dengan memakai adress

    KegunaanCalling by referenceMengembalikan lebih satu nilai dari satu fungsiMengirimkan array dan string dari suatu fungsi ke fungsi lainMemudahkan dalam manipulasi arrayManipulasi memory dalam systemMembuat struktur data dinamis seperti linklist, tree, graph dan sebagainya

    Deklarasi pointer *

    Contoh :

    int *ptrA;

    ptrA adalah variabel pointer untuk tipe data integer

    Jika misalnya variabel A berisi nilai 23, dan ptrA menunjuk variabel A yang merupakan representasi alamat memory nomor 2, maka hal tersebut dapat diilustrasikan seperti berikut :Prosesnya dalam kode C dapat dituliskan seperti berikut :

    Int A;Int *ptrA;A=23;*ptrA=&A;

    Jadi operator * digunakan untuk menyatakan isi (content of) pointer, sedangkan operator & digunakan untuk menyatakan alamat memory (adress of) variabel .Jika ingin meng-akses (mencetak) nilai 23 (isi memory) melalui variabel biasa, maka perintahnya adalah :

    Printf(%d,A);

    Jika ingin meng-akses (mencetak) nilai 23 (isi memory) melalui pointer, maka perintahnya adalah :Printf(%d,*ptrA);

  • Percobaan pointerCoba program berikut dan amati untuk memahami kode pemrograman pointer :/* Nama File :pointer.c */#include #include

    void main(){int A;//deklarasi var biasaint *ptrA; //deklarasi var pointerclrscr();A=23;ptrA=&A;printf("\n A = %d",A); //isi dari var Aprintf("\n&A = %u",&A); //alamat memory var Aprintf("\n*(&A) = %u",*(&A)); //isi di alamat pada var Aprintf("\nptrA = %u",ptrA);//isi dari var pointer ptrAprintf("\n*ptrA = %d",*ptrA);//isi di alamat pada var ptrAprintf("\n&ptrA = %u",&ptrA);//alamat memory var ptrAgetch();}

    /*Nama File : tukar2.c Prinsip Call by reference Oleh : */

    #include #include

    void tukar(int *a,int *b){ int temp; temp=*a; *a=*b; *b=temp;}

    void main(){clrscr();int x=3, y=5;printf("\nNilai x dan y semula");printf("\nx = %d y = %d",x,y);tukar(&x,&y);printf("\nNilai x dan y kemudian");printf("\nx = %d y = %d",x,y);getch();}

    Contoh program penerapan pointer untuk argumen fungsi call by reference :

  • ArrayContoh program untuk menguji array dan looping dengan for :/* Nama File : acak.c */#include #include

    void main(){ int acak[5][5][5]; int i,j,k;

    /*Harga awal untuk fungsi random*/ srand(1234);

    for (i=0;i

  • Array dan fungsiPada fungsi sebagai argumen formal array hanya diberi tanda [] saja tanpa diberi indeks, sedangkan sebagai argumen aktual array yang disebut namanya saja tanpa [].Contoh ://called functionint maksimum(int d[],maks){}

    void main(){int dat[10];//Calling functionHasil=maksimum(dat,n);}Latihan : Lengkapi kode program tersebut yang tujuannya mencari nilai maksimum dari sekelompok nilai yang dimasukkan melalui keyboardArray dan pointer

    Nama array adalah alamat memory (pointer) pertama dari elemen array tersebut. Jika A adalah array berdimensi satu maka alamat memory dari elemen pertama adalah &A[0] atau A saja. Sehingga &A[i] sama dengan (A+i). Maka A[i] pun sama dengan *(A+i)Berikut contoh program tentang bagaimana mengakses data array menggunakan konsep pointer :Lanjut Array /* Nama file :p_array.c */

    #include #include

    void main(){ int Nilai[5]={55,75,60,90,80};

    clrscr(); for(int i=0;i

  • StringString adalah array dari tipe character yang diakhiri dengan null character (\0)Data konstan string ditulis dengan diapit oleh tanda petik dua (string)Character string konstan memiliki scope static yang berarti ..Deklarasi tipe string :Format :char [exp]atau char []={inisial}atauchar *Contoh :char nama[];char *alamat;Pemberian nilai inisial ke string dapat dilakukan dengan :char nama[]=Hanif;Atauchar nama[]={H,a,n,I,f,\0};Deklarasi char *nama menunjukkan bahwa string adalah pointer, atau dapat diakses dengan cara-cara yang sama dengan pointer atau arrayContoh program mengakses string dalam function :/*Nama file : p_string.c */

    #include #include

    void ubah_nama(char *nama){nama=strcat(nama," Nasution");}

    void main(){ char *nm; clrscr(); printf("\nMasukkan nama anda :");gets(nm); ubah_nama(nm); printf("\nNama anda sekarang : %s",nm); getch();}

  • StructureStruktur yaitu suatu variabel yang dapat menyimpan sejumlah item dari tipe data yang berbeda.Struktur pada C sama dengan record pada pascaDeklarasi Struktur :Format :struct { member1 member2 member3 };

    Setelah struktur dideklarasikan, selanjutnya dapat dideklarasikan variabel jenis struktur :

    Contoh :

    struc mahasiswa { char nim[10]; char nama[25]; int umur; }

    mahasiswa amir, amat, tuti;Boleh juga digabung langsung seperti berikut :struc mahasiswa { char nim[10]; char nama[25]; int umur; } amir, amat, tuti;Dari deklarasi tersebut berari variabel amir memiliki 3 elemen yaitu : amir.nim, amir.nama dan amir.umur Variabel structur dapat langsung diinisialisasi seperti berikut :mahasiswa amir ={20019823,Amir mahmud,19};yang sama dengan :amir.nim=20019823;amir.nama=Amir mahmud;amir.umur=19;Tugas/Latihan :Buatlah program data mahasiswa yang memiliki dua operasi yaitu : entri dan tampil. Item datanya terdiri dari : nim,nama, alamat,tempat & tanggal lahir. Bila perlu gunakan menu sederhana untuk memilih operasi.Anda perlu membaca refrensi lain untuk menyelesaikan tugas ini !

  • Pemrograman File//Program Perhitungan matematika sederhana#include #include void main(){ printf(Nilai dari 9 + 4 = %i, 9 + 4); /* mencetak hasil 9 + 4 */ printf(Nilai dari 9 - 4 = %i, 9 - 4); /* mencetak hasil 9 - 4 */ printf(Nilai dari 9 * 4 = %i, 9 * 4); /* mencetak hasil 9 * 4 */ printf(Nilai dari 9 / 4 = %i, 9 / 4); /* mencetak hasil 9 / 4 */ printf(Nilai dari 9 % 4 = %i, 9 % 4); /* mencetak hasil 9 % 4 */ getch();}

  • /* Program if untuk memeriksa suatu kondisi */#include stdio.h#include conio.hvoid main(){ float nilai; printf(Masukan nilai yang didapat : ); scanf(%f, &nilai); if(nilai > 65) printf(\n ANDA LULUS !!!!\n); getch();}PENYELEKSIAN KONDISI IF (KONDISI) PERNYATAAN

  • #include stdio.h#include conio.hvoid main(){ float nilai; clrscr(); printf(Masukan nilai yang didapat : ); scanf(%f, &nilai); if (nilai > 65) printf(\n LULUS !!!\n); else printf(\n TIDAK LULUS !!!\n); getch();}IFELSE

  • /* Program perulangan menggunakan for */#include stdio.h#include conio.hvoid main(){ int x; for(x = 1; x
  • /* Program Perulangan menggunakan while */#include stdio.h#include conio.hvoid main(){ int x; x = 1; // awal variabel while (x
  • FUNGSITujuan pemakaian fungsi :Program menjadi terstruktur, sehingga mudah dipahami dan mudah dikembangkan2. Dapat mengurangi pengulangan kode (duplikasi kode)BENTUK UMUM PENDEKLARASIAN FUNGSI : tipe_fungsi nama_fungsi(parameter_fungsi);BENTUK UMUM PENDEFINISIAN FUNGSI : Tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement ... ... }

  • CONTOH PEMAKAIAN FUNGSI//Program untuk menampilkan kalimat yang berulang#include "stdio.h"#include "conio.h"

    void info_program();void main(){ info_program(); getch(); info_program(); getch();}void info_program(){printf ("Selamat Belajar Bahasa C\n");printf ("Anda akan selangkah lebih maju dalam dunia IT\n");printf ("Salam dari PENS AKAMIGAS\n");}

  • FUNGSI DENGAN NILAI BALIK#include "stdio.h"#include "conio.h"float tambah(float x, float y); // prototype fungsi tambah(), ada titik koma void main(){ float a, b, c; printf("A = "); scanf("%f", &a); printf("B = "); scanf("%f", &b); c = tambah(a,b); // pemanggilan fungsi tambah() printf("A + B = %.2f", c); getch();}

    float tambah(float x, float y) // Definisi fungsi , tanpa titik koma { return (x+y); // Nilai balik fungsi }