paradigma pemrograman terstruktur - WordPress.com

7 downloads 41 Views 155KB Size Report
Pada bab ini akan dikenalkan paradigma pemrograman terstruktur, bahasa ... Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena strukturnya.
[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

PERTEMUAN PERTAMA PARADIGMA PEMROGRAMAN TERSTRUKTUR Pada bab ini akan dikenalkan paradigma pemrograman terstruktur, bahasa pemrograman C dan tolos yang dibutuhkan untuk menulis program komputer dengan bahasa C Setelah mempelajari materi di babi ni diharapkan mahasiswa mengetahui paradigma pemrograman terstruktur dengan C

1. Karakteristik Bahasa C a. Kelebihan - Bahasa C tersedia hampir di semua jenis Komputer - Kode bahasa C sifatnya adalah Portabel (dapat digunakan di semua jenis komputer). - Bahasa C hanya menyediakan sedikit kata-kata kunci - Proses executable program lebih cepat - Dukungan pustaka yang banyak - C bahasa pemrograman yang terstruktur dan merupakan bahasa tingkat tinggi, namun dapat pula dikatakan sebagai bahasa tingkat menengah karena mempunyai kemampuan seperti bahasa low level (tingkat rendah). b. Kelemahan - Bahasa C merupakan bahasa yang cukup sulit dimengerti terutama dalam hal sintaks-sintaksnya 2. Struktur Program Bahasa C Bahasa C dikatakan sebagai bahasa pemrograman terstruktur, karena strukturnya menggunakan fungsi-fungsi sebagai program-program bagian (sub rutin). Fungsi utama yang pertama kali diproses adalah fungsi yang bernama “main()”, selain itu adalah merupakan fungsi-fungsi bagian yang dapat ditulis setelah fungsi “main()” atau diletakan di file pustaka (library). Jika fungsi-fungsi yang tersedia pada file pustaka (library) dan akan dipakai di suatu program maka file judulnya (Header) nya harus disertakan/ditulis pada program dengan menggunakan preprocessor directive #include, contohnya #include yang berarti kita akan mengambil fungsi-fungsi yang tersedia pada library standar IO, diantaranya clrscr(), printf, scanf(), dll. Untuk komentar / penjelasan program harus diapit diantara (/* ….*/). ***HATI-HATI*** Penulisan program bahasa C bersifat Case Sensitive artinya penamaan fungsi, variabel maupun keyword-nya membedakan huruf kecil dan besar.

1

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

STRUKTUR BAHASA C: #include < file-file header> /* directive #include digunakan jika mengambil fungsi-fungsi libarary*/ main() /* fungsi utama sebagai awal dimulainya pemrosesan program */ { /*blok awal*/ statemen-statemen; } /*blok akhir*/

Fungsi-fungsi lain() { statemen-statemen; }

3. Pemakaian #include pustaka (library) yang umum - conio.h = Tampilan Layar : clrscr(), textcolor(), textbackground(), textattr(),dll. - stdio.h = standart input/output : clrscr(), printf(), scanf(), puts(), gets(), getch(),cprintf(), dll. - stdlib.h = standart library (akses file / stream) : fopen(), flose(), fread(), fwrite(), fprintf(), fscanf(), dll. - alloc.h/malloc.h = pengalokasian memori (memori dinamis) : malloc(), free(), calloc(), dll.

4. Pemakaian Escape Sequnce pada fungsi output (printf(),gets(),dll) Karakter Escape Sequence sering digunakan untuk menampilkan hasil output, seperti mengganti baris, membunyikan bel, dll. Karakter Escape \a \b \f \n \r \t \v \0 \’ \” \\

Arti Bunyi bel Mundur satu spai Ganti halaman Ganti baris baru Ke kolom awal, baris yang sama Tabulasi horisontal Tabulasi vertikal Null Petik tunggal Kutip Garis miring terbaik

2

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

Praktek : Ketik Kode Program berikut di editor text dan simpan dengan nama praktek1a.c. #include main() { clrscr(); printf(“Salam Semua….!\n”);/* perintah \n : ganti baris baru */ printf(“Program Terstruktur Pertama Saya Dengan Bahasa C…!”); } Ketik Kode Program berikut di editor text dan simpan dengan nama praktek1b.c. #include main() { clrscr(); printf(“Salam Semua….!”);/* perintah \n : ganti baris baru */ printf(“Program Terstruktur Pertama Saya Dengan Bahasa C…!”); }

Selanjutnya buka jendela terminal dan ketik perintah #gcc –o praktek1a.exe praktek1a.c #gcc –o praktek1b.exe praktek1b.c Jalankan praktek1a.exe, amati tampilan di layar selanjutnya jalankan juga praktek1b.exe, amati tampilan di layar. Modifikasi file praktek1a.c sesuai keiinginan anda, amati perubahan yang terjadi LAPORKAN !!! 1. Tampilan di layar untuk file praktek1a.c dan praktek1b.c 2. Persamaan kedua tampilan file 3. Perbedaan kedua tampilan file 4. Kode Program hasil modifikasi praktek1a.c 5. Tampilan di layar Kode Program hasil modifikasi praktek1a.c

3

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

PERTEMUAN KEDUA KONSEP PEMROGRAMAN DENGAN C Pada bab ini akan dikenalkan konsep pemrograman dengan C Setelah mempelajari materi di babi ni diharapkan mahasiswa memahami konsep pemrograman C

Struktur dari bahasa C secara garis besar sama seperti bahasa pemrograman tingkat tinggi lainnya. Secara umum dapat dikatakan bahwa bentuk dasar dari bahasa C adalah meliputi : 1. Praprosessor 2. Prototipe Fungsi 3. Variabel 4. Fungsi Bentuk dasar diatas dapat dibawa ke bentuk program C sebagai berikut : #include /*bentuk praprosessor*/ float jumlah (float x,float y); /*prototype fungsi*/ main() { int a = 6; /*variabel*/ int b = 3; } Float jumlah (float x,float y); /* fungsi*/ Dalam perkembangan selanjutnya dapat dilakukan pada penulisan praprosessor yang diapit dengan tanda dapat digantikan dengan “ “ Program C pada hakekatnya merupakan susunan atas beberapa fungsi. Program C paling sederhana harus memiliki minimal satu buah fungsi yaitu fungsi main(). Fungsi main() ini akan didefinisikan oleh compiler C sebagai fungsi pertama yang akan dieksekusi.

4

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

Praktek : Ketik Kode Program berikut di editor text dan simpan dengan nama praktek2.c. # include /*bentuk praprosessor*/ float jumlah (float x,float y); /*prototype fungsi*/ main() { int a = 6; /*variabel*/ int b = 3; int c; c = a+b; printf(“Program Kedua Dengan C, masih belajar dan mencoba %c”,c) } Float jumlah (float x,float y); /* fungsi*/ Coba kompilasi dan eksekusi (jika bisa) jika kode program diatas 1. tanpa modifikasi. 2. Hilangkan semua titik-koma yang ada di akhir baris. 3. Kembalikan semua titik-koma dan hilangkan tanda “ “ pada baris 9. 4. Kembalikan tanda “ “ dan hilangkan tanda % pada baris 9 LAPORKAN !!! 1. Apa fungsi tanda “ “ pada C 2. Apa fungsi tanda ; pada C 3. Apa fungsi tanda % pada C

5

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

PERTEMUAN KETIGA PERINTAH DASAR Pada bab ini akan dikenalkan perintah-perintah dasar bahasa pemrograman C meliputi tipe, variabel, konstanta, operator, struktur control dan array Setelah mempelajari materi di bab ini diharapkan mahasiswa memahami dasar pemrograman C dan dapat membut program dengan bahasa C secara mendasar

1. Tipe Data Dasar Umumnya tipe data dasar pada bahasa C terdiri dari Tipe Data NUMERIK dan KARAKTER. Tipe NUMERIK dibagi dalam bentuk bulat (integer) dan pecahan (float). Tipe int signed int short int signed short int unsigned int unsigned short int long int signed long int unsigned long int float double long double char signed char unsigned char

Lebar Memori 2 byt e

Jangkauan Nilai Dari Sampai Dengan -32768 32767

2 byt e

0

65535

4 byt e

-2147483648

2147483648

0 3.4E-38 1.7E-308 3.4E-4932 -128

4292967296 2.4E+38 1.7E+308 1.1E+4932 127

0

255

4 byt e 4 byt e 8 byt e 10 byt e 1 byt e 1 byt e

2. Variabel & Konstanta a. Deklarasi Variabel Mendeklarasikan variabel dapat dituliskan di dalam maupun di luar fungsi. Jika deklarasi variabel ditulis pada luar fungsi, maka variabel tersebut dapat di akses oleh semua fungsi-fungsi yang lain ( Variabel Global ) sedangkan jika di dalam fungsi, maka variabel tersebut hanya dapat diakses oleh fungsi itu sendiri ( Variabel Lokal ). Contoh pendeklarasian Variabel: ***CATATAN*** Penamaan variabel tidak boleh mengandung spasi, tidak sama dengan nama keyword, tidak dimulai dengan angka serta tidak mengandung simbol-simbol yang telah ditentukan oleh BAHASA C. 6

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

char A; int X, Y, my_var; /* X bertipe integer, Y bertipe integer, my_var bertipe integer*/ float bil_pecahan=9.56; /* memberikan nilai awal = 9.56 untuk variabel bil_pecahan */ b. Konstanta Konstanta merupakan nilai yang tidak dapat diubah selama proses dari program. Untuk menentukan konstanta dapat dilakukan dengan menggunakan variabel atau macro. Jika menggunakan perantara variabel digunakan keyword const : const my_konstanta = 306; /* nilai pada variabel my_konstanta adalah tetap 306 */ jika secara langsung mengunakan macro atau directive #define: #define my_konstanta = 306 /* MACRO tidak perlu diakhiri titik koma (;) */ float nilai = my_konstanta; /* memberikan variabel nilai dengan my_konstanta (nilai=306) */ Contoh : #include #define PI=3.14 /* Perhatikan huruf kecil dan besarnya */ main() { int a = 2, B, niLAi; float bil_pecahan; B = 4; bil_pecahan = 2.0; niLAi = a * (2 + B); printf(“ Hasil dari %d * (2 + %d) = %d \n“,a,b,niLAi); printf(“Perkalian dari %4.2f * %4.2f = %4.2f \n”, bil_pecahan, PI, bil_pecahan*PI); /* Format specifier untuk %d dan %f akan dijelaskan pada sesion berikutnya */ } 3. Format Specifier untuk fungsi Output (printf(), cprintf()) Kode format ini digunakan untuk menampilkan output dengan tipe-tipe yang telah ditentukan, baik tipe karakter, integer maupun pecahan. Contoh : #include main() { int a, b, c = 10; float bil = 10.56; 7

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

a = 5; b = 8; clrscr(); printf (“Hasil tampilan numerik terformat %d, %d, %f \n”, a, 78, bil); printf (“Hasil tampilan string dan karakter : %s dan %c \n”,”cobacoba”,’A’); } Output: Hasil tampilan numerik terformat 5, 78, 10.56789 Hasil tampilan string dan karakter : coba-coba dan A K ode Format Kegunaan %c %s %d %i %u %x %o %f %e %g %p

Mena mpilkan Mena mpilkan Mena mpilkan Mena mpilkan Mena mpilkan

seb ua h karakter nila i string nila i de sima l integer nila i de sima l integer inte ger tidak bertanda

Mena mpilkan nila i hexa desim al Mena mpilkan nila i oktal Mena mpilkan nila i pe cahan Mena mpilkan nila i pe cahan scie ntific Se bagai pengganti % f atau % e Mena mpilkan alam at memori po inte r

4. Fungsi Masukan Data (scanf(), gets()) Fungsi masukan dengan scanf() mempunyai format seperti printf() di atas, sedangkan gets() khsusus untuk masukan string. #include main() { int a; char kar; char kalimat[20]; /* variabel string merupakan array dari tipe char.. lebih jelasnya ada pada sesion array */ printf(“Masukan suatu nilai = “); scanf(“%d”,&a); printf(“Masukan suatu karakter = “); scanf(“%d”,&kar); printf(“Masukan suatu kalimat = “);scanf(“%s”,kalimat); printf(“Masukan suatu kalimat = “);gets(kalimat); } perbedaan antara gets() dengan scanf() adalah: scanf() mengambil string yang dibatasi dengan spasi sedangkan gets() mengambil semua string Contoh

8

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

Input : “Saya Belajar Bahasa C” Ouput : scanf() = “Saya” gets() = “Saya Belajar Bahasa C” 5. Operator a. Operator Aritmatika Operator Arti * Perkalian / Pembagian % Pembagian Modulus (sisa bagi) + Pertambahan Pengurangan Contoh: Z = A + B; Z = A / B; Z = A % B; b. Operator Unary Operator ini hanya menggunakan satu operand saja. Operator Arti ++ -(tipe)

U nary Minus P enambahan dengan nilai 1 P engurangan dengan nilai 1 cast

sizeof ! ~

U kuran dari operand dalam byte U nary Not O perator Komplemen satu

& *

Alamat Memori operand P ointer pada suatu operand

Contoh: int B, A ; float P; int *alamat; B = 0x04; /* nilai B = 04H (4 heksadesimal) */ A = -B; /* A = -04H */ B++; /* B = B + 1 sehingga B = 0x05 */ B--; /* B = B – 1 sehingga B = 0x04 */ P = (float) B; /* integer B dikonversi nilainya ke P (P=5.0) */ A = sizeof(B); /* A = 2 (ukuran tipe data Integer) */ A = !B; /* bit NOT (0000 0100) mejadi (1111 10111) */ A = ~B; /* bit komplemen (1111 10111) mejadi (0000 0100) */ alamat = &B; /* alamat = alamat memori dari variabel B shg “alamat” sama dengan “ “B” */ *alamat = 67; /* memberi pointer “alamat” = 67 shg B = 67 */

9

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

c. Operator Pengerjaan Operator Contoh

M aksud/Ekuivalen dengan

= += -= *=

A A A A

A= A+3 A= A-B A= A*B

/= %=

A /= B A %= B

=B+C += 3 -= B *=B

A=A/B A=A%B

d. Operator Bitwise ( Pergeseran Bit) Operator ini digunakan untuk penggeseran bit-bit atau manipulasi bit pada nilai variabel yang ada. Operator kondisi > & ^ | &= = ^= |=

Contoh Z = A > 3 Z= A& 3 Z= A^3 Z= A|3 A&=5 A = 7 A ^=2 A|=3

Arti Penggeseran bit ke kiri 4x Penggeseran bit ke kanan 3x nilai A di AND-kan dg nilai 3 nilai A di XOR-kan dg nilai 3 nilai A di OR-kan dg nilai 3 A=A&5 A = A > 7 A=A^2 A=A|3

6. Pengambilan Keputusan Operator kondisi < >= == != && ||

Arti Lebih kecil Lebih Kecil Sama Dengan Lebih Besar Lebih Besar Sama Dengan Sama Dengan Tidak Sama Dengan Logika AND Logika OR

a. if (kondisi) statemen ; contoh: if (A > B) A = B; *** CATATAN: *** Setiap Kondisi harus dan wajib diapit oleh tanda kurung. Jika statemen lebih dari dua, maka harus digunakan blok statemen If ( A > B); { A+ = B; A ++; } 10

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

b. if (kondisi) ... else ; Contoh: if (A > B) A = B; else A++; c. switch ..case contoh: switch( A ) { case 1 : statement; break; case 2 : statement; break; default : statement; break; } statement switch akan menyeleksi kondisi yang diberikan dan akan membandingkan hasilnya dengan konstanta-konstanta yang berada di case. Break digunakan sebagai peloncat keluar blok switch, sedangkan default merupakan pilihan selain dari konstanta-konstanta yang ada pada case. ***PENTING**** Apabila telah selesai memproses sebuah bagian dari case dan jika belum ditemukan statemen break, maka proses akan masuk ke bagian case berikutnya. Contoh: #include main() { int A = 1; clrscr(); switch(A) { case 1: printf(“Satu \n”); case 2: printf(“Dua \n”); default: printf(“Bukan Satu atau Dua...!\n”); } } Output : Satu Dua Bukan Satu atau Dua...! *************************************************

11

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

contoh menggunakan (break) #include main() { int A=1; clrscr(); switch(A) { case 1: printf(“Satu \n”); break; case 2: printf(“Dua \n”); break; default: printf(“Bukan Satu atau Dua...!\n”); break; } }

Output: Satu 7. Perulangan Proses a. for ( ) sintaks umum : for(nilai awal; pembanding;counter) { statemen } contoh : #include main() { int i, clrscr(); for(i=0;i mengembalikan nilai*/ } 14

[MODUL PRAKTIKUM PEMROGRAMAN TERSTRUKTUR]

int Kurang(int a,int b) { printf(“Melaksanakan Perhitungan Pengurangan \n”); return (a-b); } long Kali(int a,int b) { printf(“Melaksanakan Perhitungan Perkalian \n”); return (a*b); } float Bagi(int a,intb) { printf(“Melaksanakan Perhitungan Pembagian \n”); return a/b; } long Pangkat(int a,int b) /* untuk pemangkatan dapat anda gunakan fungsi pow() dari lib */ { long temp; int i; printf(“Melaksanakan Perhitungan Pemangkatan \n”); temp=1; for(i=0;i