Anda di halaman 1dari 32

DAFTAR ISI DAFTAR ISI PETUNJUK Modul 1. Pengenalan IDE Turbo C 1.1. Lingkungan Pengembangan Terpadu ( IDE ) 1.2.

Menu IDE 1.3. Kerangka Program C 1.4. Menulis program 1.5. Mengkompilasi dan menjalankan program 1.6. Menyimpan program pada disk 1.7. Membuat dan menjalankan Executable Program 1.8. Menangani kesalahan pada program Modul 2. Input/Output (I/O) 2.1. Menampilkan data dengan printf() 2.2. Menampilkan data dengan puts() 2.3. Menampilkan data dengan putchar() 2.4. Memasukkan data dengan scanf() 2.5. Memasukkan data dengan getch() dan getche() Modul 3. Variable, Constanta, Array, Operator, Pointer 3.1. Tipe data dan variable 3.2. Konstanta 3.3. Array 3.4. Operator 3.5. Pointer Modul 4. Kontrol Program 4.1. Pernyataan if 4.2. Pernyataan if else 4.3. Pernyataan switch case 4.4. Pernyataan for 4.5. Pernyataan while 4.6. Pernyataan do while Modul 5. Void Function, Parameter ( Procedure ) 5.1. Pengertian fungsi 5.2. Void Function tanpa parameter 5.3. Void Function dengan parameter 5.4. Void Function dengan parameter by reference (C++ Extention) 5.5. Void Function dengan parameter by pointer Modul 6. Value Returning Function Fungsi Rekursi Modul 7. Operasi File ( External Storage I/O ) 7.1 Membuka/ Mengaktifkan file 7.2 Menutup File 7.3 File Biner dan File Teks 7.4 Memakai feof() 7.5 Menulis dan Membaca 7.6 Membaca dan Menulis String i ii 1 1 1 2 3 3 3 3 3 6 6 6 7 7 7 9 9 10 11 12 14 16 16 16 17 19 19 20 22 22 22 23 23 24 26 27 28 28 28 29 29 29 30

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

Modul 1. Pengenalan IDE Turbo C


1.1. Lingkungan Pengembangan Terpadu ( IDE )
Uraian.

Dengan lingkungan terpadu (Integrated Environment ), kita dapat membuat suatu program C, mengeditnya, menyimpannya ke disk, mengambilnya dari disk, mengkompilasinya , menjalankannya dan lain sebagainya masih dalam lingkungan terpadu. Pada praktikum ini lingkungan terpadu yang dipakai adalah Turbo C 3. Untuk menggunakan lingkungan terpadu tersebut , tampak seperti pada gambar 1.1. Masuk dalam direktori TC3 lalu ke direktori BIN dan klik 2 kali file TC.EXE

Menu

Jendela Editor

Baris Bawah

Gambar 1.1 1.2. Menu IDE Gambar 1.1. disebut sebagai layar utama yang terdiri dari : 1. Menu Utama, terdiri dari beberapa sub menu, Disini akan beberapa saja yang biasa digunakan ketika menulis sebuah program. a. Menu File dipilih untuk keperluan mengambil/membuka program dari disk (Open), menulis program baru (New), menyimpan program ke disk (Save), merubah direktori (Change Dir), menjalankan command DOS (DODS Shell) atau mengakhiri lingkungan terpadu (Quit). b. Menu Run dipilih bilamana akan menjalankan program yang ada pada jendela edit (Run), menjalankan baris demi baris program(Trace Into) atau menjalankan langkah demi langkah program (Step Over). c. Menu Compile dipilih bilamana akan mengkompilasi program yang hasilnya dapat dipilih disimpan di memori atau disk. Bila ingin dibuat suatu executable program yang mempunyai extension .EXE, maka hasil kompilasi dapat disimpan di disk. d. Menu Options dipilih bila akan mengatur atau menentukan kembali bagaimana integrated environment bekerja. e. Menu Debug dan Watches digunakan untuk melacak program 2. Jendela Editor ( edit window) dapat digunakan untuk menulis atau mengedit suatu program.

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

3. Baris bawah (Bottom Line) menunjukkan informasi tombol-tombol apa saja yang dapat ditekan untuk keperluan-keperluan tertentu. Supaya dapat menggunakan sistem Turbo C 3 ini dalam waktu yang relatif singkat, berikut ini ada petunjuk yang bisa dilakukan : 1. Dari keadaan sedang berada di menu utama. 2. Dari keadaan dimanapun di lingkungan terpadu, disediakan beberapa hotkey atau shortcut yang dapat dipergunakan. Hotkey adalah tombol-tombol yang telah diatur untuk melakukan fungsi tertentu. Tabel 0.1 berisi daftar tombol dan kegunaannya. Tabel 1.1. Hotkeys. KEGUNAAN Help Menyimpan file atau informasi pada Jendela Edit (Save) Membuka/mengambil program dari disk (Open) Menunjukkan posisi kursor sekarang Zoom dan UnZoom jendela yang sedang aktif Pindah Jendela Edit Trace Step Over Menjalankan fungsi Make Memilih Menu Utama Menampilkan layer help yang terakhir kali ditampilkan Menutup Jendela Edit yang sedang aktif Menampilkan jendela Output Mengcompilasi program Memilih menu File pada menu utama Memilih menu Edit pada menu utama Memilih menu Search pada menu utama Memilih menu Run pada menu utama Memilih menu Compile pada menu utama Memilih menu Debug pada menu utama Memilih menu Project pada menu utama Memilih menu Option pada menu utama Memilih menu Window pada menu utama Memilih menu Help pada menu utama Menjalankan program pada jendela yang aktif

TOMBOL F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 Alt+F1 Alt+F3 Alt+F5 Alt+F9 Alt+F Alt+E Alt+S Alt+R Alt+C Alt+D Alt+P Alt+O Alt+W Alt+H Ctrl+F9

1.3. Kerangka Program C Program Turbo C 3 merupakan kumpulan fungsi dan variable. Sebuah fungsi merupakan sekumpulan baris program yang mengerjakan tugas tertentu dan mengembalikan hasilnya. Sebuah fungsi terdiri dari sebuah nama fungsi, daftar variabel, satu blok kode yang membentuk fungsi tersebut. Sebuah blok dimulai oleh tanda { , diikuti dengan beberapa statement dan diakhiri dengan tanda }. Setiap program C diawali dengan pemanggilan fungsi main() dan diakhiri dengan (return)}. Fungsi fungsi lain dapat dipanggil dari dalam main(), baik secara langsung atau tidak langsung, sehingga akhir program ditandai dengan berakhirnya dari fungsi main(). CONTOH PROGRAM (tidak dapat dijalankan) /* kerangka program */ --> blok komentar #include <stdio.h> int i; main() { int j; printf("hello world\n"); hasil = hitunghasil(); } --> --> --> --> --> informasi librari standard variable global pendefinisian fungsi main variable lokal pemanggilan fungsi printf/cetak ke layar

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

int hitunghasil() { return a; } 1.4. Menulis program Tulislah program berikut pada Jendela Edit. LATIHAN 1.1

--> nama fungsi hitunghasil --> pengembalian nilai dari fungsi

/* FILE : contoh.cpp */ #include <stdio.h> #include <conio.h> int a, b, hasil; void main() { clrscr(); printf(PRAKTIKUM PEMROGRAMAN KOMPUTER); printf(Ini adalah program yang ditulis dengan Bahasa C); printf(Berikut contoh program penambahan); a=2; b=3; hasil=a+b; printf(hasil = a + b\n); printf(hasil = %d + %d\n,a,b); printf(Hasil = %d,hasil); }

1.5. Mengkompilasi dan menjalankan program Compile berarti mengubah bahasa pemrograman tingkat tinggi yang telah diketik pada Jendela Editor ke bahasa mesin dan menyimpannya ke disk dalam bentuk Executetable program. Run adalah menjalankan program yang diketik pada jendela editor. 1. Setelah program ditulis pada Jendela Editor. 2. Untuk mengkompilasi : pada menu IDE Compile Compile atau dengan menggunakan hotkey alt+F9. 3. Untuk menjalankan/run program : pada menu IDE Run Run atau dengan menggunakan hotkey ctrl+F9. 4. Untuk menampilkan hasil/output program : pada menu IDE Windows Use screen dengan menggunakan hotkey alt+F5. 1.6. Menyimpan program pada disk Program yang telah diketik pada jendela editor masih berada di memori komputer, belum tersimpan di disk. Untuk menyimpan program tersebut ke disk dapat dilakukan melalui File Save atau dengan menekan tombol F2(hotkey). 1.7. Membuat dan menjalankan Executable Program Executable program merupakan program yang sudah berbentuk bahasa mesin hasil dari proses kompilasi. Executable program ini dapat langsung dijalankan di keadaan prompt DOS. Dapat dilakukan dengan cara sebagai berikut : 1. Compile program menggunakan menu Compile ( Alt+C) dengan menggunakan hotkey Alt+F9. 2. Jalankan program dengan menggunakan menu Run (Alt+R) atau dengan menggunakan hotkey Ctrl+F9. 3. Setelah dijalankan maka file executable telah dibuat. File executable disimpan pada direktori OUTPUT 1.8. Menangani kesalahan pada program Terjadinya kesalahan dalam penulisan program adalah sesuatu yang biasa terjadi. Biasanya bentuk kesalahan yang terjadi adalah kurang tanda titik koma (;), kesalahan ketik fungsi dan lain sebagainya. Untuk lebih memahami perhatin kembali program contoh.cpp pada latihan 1.1 dan lakukan beberapa perubahan sebagai berikut dan perhatikan komentar yang diberikan.

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

/* FILE : contoh.cpp */ #include <stdio.h> 1. Hilangkan titik koma #include <conio.h> int a, b, hasil; void main() 2. Hilangkan titik koma { clrscr(); printf(PRAKTIKUM PEMROGRAMAN KOMPUTER); printf(Ini adalah program yang ditulis dengan Bahasa C); printf(Berikut contoh program penambahan); a=2; 3. Ganti a dengan c b=3; hasil=a+b; printf(hasil = a + b\n); printf(hasil = %d + %d\n,a,b); printf(Hasil = %d,hasil); }

4. Hilangkan huruf f pada printf

LATIHAN 1.2 1. Hilangkan tanda titik koma 2. Compile program 3. Perhatikan komentar kesalahan yang muncul Declaration syntax error 4. Perhatikan pula baris kesalahan yang ditunjukkan.

LATIHAN 1.3 1. Kembalikan program seperti semula lalu hilangkan tanda titik koma 2. Compile program 3. Perhatikan komentar kesalahan yang muncul Statement missing ; 4. Komentar menunjukkan bahwa pernyataan belum meletakkan tanda titik-koma (;).

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

LATIHAN 1.4 1. Kembalikan program seperti semula lalu hilangkan tanda titik koma 2. Compile program 3. Perhatikan komentar kesalahan yang muncul Undifined symbol c 4. Komentar menunjukkan bahwa symbol/variable c belum didefinisikan/dideklarasikan LATIHAN 1.5 1. Kembalikan program seperti semula lalu hilangkan tanda titik koma 2. Compile program 3. Perhatikan komentar kesalahan yang muncul Function print should have a prototype 4. Komentar menunjukkan bahwa fungsi print tidak dikenal oleh compiler.

TUGAS : 1. Tulislah program di bawah ini lalu jalankan. Lakukan perbaikan terhadap program bila diperlukan.
#include<conio.h> void main() { clrscr(); int bil1; float bil2; bil1=4; bil2=5 printf(Hasil perkalian : %d x %f ,bil1,bil2); printf(adalah %d \n,bil1*bil2); printf(Hasil pembagian : %d x %f ,bil1,bil2) printf(adalah %d \n,bil1/bil2); return 0; }

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

Modul 2. Input/Output (I/O)


2.1. Menampilkan data dengan printf() Fungsi printf() digunakan untuk mencetak data ke layar. Data yang dicetak sesuai dengan format yang diberikan: bilangan bulat (%d), pecahan (%f), karakter (%c), string (%s) Bisa ditambahi karakter khusus (escape sequence) yang didahului dengan tanda \, misalnya Baris baru (\n), Tab (\t). Bentuk Umum printf("string kontrol", argumen_1,...., argumen_n); String kontrol dapat berupa keterangan beserta penentu format (seperti %d, %f, \n, dll) Contoh:
printf("Karakter = %c \n",c); printf("Karakter = %d \n",10);

LATIHAN 2.1
/* File : printf.cpp */ #include <stdio.h> main() { short ks =1; int ki =1; long kl =10000; char c =65; char c1 ='Z'; float x =1.55; float y =3.14;

/* /* /* /* /* /*

inisialisasi inisialisasi inisialisasi inisialisasi inisialisasi inisialisasi

short integer */ integer */ long integer */ karakter dengan integer */ karakter dengan karakter*/ real/ pecahan */

/* penulisan karakter sebagai karakter */ printf("Karakter = %c \n",c); printf("Karakter = %c \n",c1); /* penulisan bilangan bulat/integer */ printf("Karakter = %d \n",c); printf("Karakter = %d \n",c1); printf("Bilangan integer (short) = %d \n",ks); printf("\t\t(int) = %d \n",ki); printf("\t\t(long) = %d \n",kl); /* perhatikan format %d */ /* penulisan bilangan real/float */ printf("Bilangan Real = %8.3f \n",x*3.14); printf("Bilangan Real = %8.3f \n",x*y); printf("%20s","Praktikum Prokom\n"); printf("%-20s","Praktikum Prokom"); return 0; }

2.2. Menampilkan data dengan puts() Fungsi puts() digunakan khusus untuk menampilkan data string dan diikuti dengan ganti baris baru. Bentuk Umum puts("string "); Contoh: puts("Praktikum Prokom");

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER LATIHAN 2.2


/* File : puts.cpp */ #include <stdio.h> main() { puts ("1.Praktikum Prokom"); printf("2.Praktikum Prokom"); printf("3.Praktikum Prokom"); printf("\n"); printf("4.Praktikum Prokom\n"); printf("%s","5.Praktikum Prokom"); return 0; }

/* dengan puts() */ /* printf() tanpa pindah baris */ /* pindah baris */ /* string kontrol */ /* string kontrol dan argumen */

2.3. Menampilkan data dengan putchar() Fungsi putchar() digunakan khusus untuk menampilkan data karakter tanpa diikuti dengan ganti baris baru. Bentuk Umum putchar('karakter'); Contoh: putchar('A'); 2.4. Memasukkan data dengan scanf() Fungsi scanf() dapat digunakan untuk menerima masukan dari keyboard. Data masukan disimpan dalam tipe data tertentu sesuai tipe variable yang digunakan untuk menerima masukan. Bentuk Umum scanf ("string kontrol",&argumen1,.....,&argumen_n); Contoh: scanf("%d",&bil1); LATIHAN 2.3
/* File : scanf.cpp */ #include <stdio.h> main() { int bil1; char ch1; float real1; printf("masukkan bilangan bulat:"); /* menerima masukan bil. bulat */ scanf ("%d",&bil1); printf(" Bilangan yang dimasukkan adalah: %d",bil1); printf("\n\nmasukkan bilangan real:"); /* menerima masukan bil. real*/ scanf ("%f",&real1); printf(" Bilangan yang dimasukkan adalah: %8.3f",real1); printf("\n\nmasukkan satu karakter"); /* menerima masukan satu karakter */ scanf ("%c",&ch1); printf("\n Karakter yang dimasukkan adalah: %c",ch1); return 0; }

2.5. Memasukkan data dengan getch() dan getche() Fungsi getch() dan getche() hanya dapat digunakan untuk menerima masukan satu karakter dari keyboard dan diakhiri tanpa penekanan tombol Enter. Dalam getch() karakter yang diterima tidak ditampilkan di layer sedangkan pada fungsi getche() ditampilkan.

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER Bentuk Umum karakter = getch (); karakter = getche(); Contoh: ch1 = getch(); ch1 = getche(); LATIHAN 2.4
/* File : getch.cpp */

#include <stdio.h> #include <conio.h> main() { char ch1; printf("masukkan satu karakter : "); /* menerima masukan satu karakter */ ch1= getch(); printf("\n Karakter yang dimasukkan adalah: %c",ch1); printf("\nmasukkan satu karakter kedua : "); /* menerima satu karakter */ ch1= getche(); printf("\n Karakter yang dimasukkan adalah: %c",ch1); return 0; }

TUGAS : 1. Buatlah program yang menghasilka tampilan ditengah layar sebagai berikut : (gunakan fungsi gotoxy() )
Nama NRP Jurusan Fakultas Insitut

2.

Buatlah table dengan format text (bukan grafik) sebagai berikut. Dan isilah dengan sembarang data.
Data 1 Nama : xxx NRP :yyy Alamat : zzz Data 2 Data 3

--------------------------------------------------------------------------------------------------------------| NAMA | | yyy | | NRP | | zzz | | ALAMAT | | | |

--------------------------------------------------------------------------------------------------------------| xxx | |

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

Modul 3. Variable, Constanta, Array, Operator, Pointer


3.1. Tipe Data dan Variable Tipe data menyatakan pola penyajian data dalam komputer: karakter, bilangan, string, record. Tipe data dibedakan menjadi dua yaitu tipe data dasar dan tipe data bentukan. Tabel dibawah menampilkan beberapa tipe data dasar dan domainnya, yang dikenal dalam C. Nama Tipe Data Int Long Float Double Char Ukuran (Byte) 2 4 4 8 1 Jangkauan -32768 32767 -2147483648 - 2147483649 3.4e-38 3.2e+38 1.7e-308 1.7e+308 -128 127

Variabel adalah penampung data yang isinya dapat diubah. Data yang dapat disimpan adalah data sesuai dengan tipenya. Nama variabel terdiri dari huruf, angka dan garis bawah, dapat didahului oleh huruf dan garis bawah, dengan ketentuan: 1. Tidak dapat didahului oleh angka. 2. Tidak dapat menggunakan operator hitung dan karakter-karakter khusus: + - / * % : ; . , # @ $& 3. Nama variabel tidak dapat disela dengan spasi. 4. Tidak dapat menggunakan reseved words. 5. Huruf besar dan huruf kecil berbeda. 6. Panjang variabel yang dianggap/dikenal hanya 32 karakter pertama Deklarasi Variable Sebelum bisa digunakan maka variable harus dideklarasikan terlebih dahulu. Pendeklarasian berarti memesan ruang dimemori dan menyatakan tipe data yang bisa disimpannya. Bentuk umum tipe_data daftar_variabel; Contoh int long float double char

inc1,bil1; L fl db c;

Pemberian (assignment) nilai ke Variable Pemberian nilai hanya bisa dilakukan setelah sebuah variable dideklarasikan. Bentuk umum variabel = nilai; Contoh inc1 bil1

= 0; = 10;

Inisialisasi (Pemberian nilai awal) nilai ke Variable Pemberian nilai awal bisa dilakukan dengan dua cara, yaitu: pemberian nilai setelah pendeklarasian dan pemberian nilai pada saat pendeklarasian. Bentuk umum tipe_data variabel=nilai; Contoh int inc1=0; int bil1=10;

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

10

VARIABEL STRING
String merupakan salah satu tipe data bentukan untuk menyatakan data teks/ kalimat/ serangkaian karakter. Pendeklarasian String Bentuk umum
char nama_variable[panjang_string];

Contoh
char nama[15];

( mendeklarasikan variable string nama dengan panjang 15 karakter ) Memasukkan Data String dengan gets()/ scanf() Pemasukan data string ke dalam suatu variable biasa dilakukan dengan memakai gets() ataupun scanf(). Fungsi gets() akan membaca seluruh karakter yang diketik sampai tombol enter ditekan, dalam hal ini tidak ada pengecekan terhadap batas array. Panjang string dikurangi ukuran array ditambah karakter NULL. Bentuk Umum gets(nama_array); scanf(%s,nama_array); Inisialisasi String Inisialisasi string bisa dilakukan dengan assignment karakter per karakter ataupun tidak. Bentuk umum: nama_variable[]=data_string; Contoh:
char nama[]={ T,U,R,B,O, ,C,\0};
char nama[]=TURBO C; /*penambahan karakter NULL \0 dilakukan implisit*/

LATIHAN 3.1
/* FILE : sting.cpp */ #include<stdio.h> main() { char nama[20]; char nrp[10]; char matkul[17]="Praktikum Prokom"; printf("Nama : "); gets(nama); printf("NRP : "); scanf("%s",&nrp); printf("\nData Mahasiswa"); printf("\nNama : %s",nama); printf("\nNRP : %s",nrp); printf("\nMata Kuliah : "); puts(matkul); return 0; }

3.2. Konstanta Konstanta berbeda dengan variable, dimana isi dari konstanta tidak bisa diubah dengan cara pemberian (assignment) nilai. Akan tetapi konstanta mempunyai tipe sesuai dengan inisialisasi Bentuk umum const variabel=nilai; #define variable nilai Contoh const pi =3.14; const ch1 = 'A'; #define pi 3.1415 LATIHAN 3.2

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

11

/* File : const1.cpp */ #include<stdio.h> main() { const float pi=3.1415; float r; printf("Jari-jari lingkaran ="); scanf("%f",&r); printf("Luas lingkaran = %f \n",pi*r*r); return 0; }

LATIHAN 3.3
/* File : const2.cpp */ #include<stdio.h> #define pi 3.1415 main() { float r; float luas; printf("Jari-jari lingkaran ="); scanf("%f",&r); luas = pi*r*r; printf("Luas lingkaran = %6.2f \n",luas); printf("Akhir program \n"); return 0; }

3.3. Array Array Satu Dimensi Array adalah deretan variabel yang berjenis sama dan menpunyai nama yang sama. Pada bahasa C, array mempunyai lokasi yang bersebelahan, alamat terkecil menunjukan elemen pertama dan alamat terbesar menunjuk pada alamat terakhir. Bentuk umum :
tipe nama_array[ukuran]

tipe = menyatakan tipe data dasar ukuran = menyatakan banyaknya element pada array Contoh :
int nilai[10];

Array Multi Dimensi Dalam bahasa C kita dapat membuat array hingga beberapa dimensi, misalnya array dua dimensi yang pada dasarnya adalah sebuah daftar yang terdiri array-array satu dimensi. Bentuk umum :
tipe nama_array[ukuran1]...[ukuranN]

tipe = menyatakan tipe data dasar ukuran1 = menyatakan banyaknya element pada array pada dimensi ke-1 ukuranN = menyatakan banyaknya element pada array pada dimensi ke-N Inisialisasi Array Inisialisasi array dapat dilakukan pada saat pendeklarasiannya. Pada array multi dimensi, inisialisasi dimulai dari dimensi yang paling besar. Untuk setiap dimensi dimulai dari indeks yang paling kecil. Contoh:
int int char char i[10]={12,45,67,34,2,5,60,7,19,21}; matrix[3][4]={{42,47,53,48},{6,43,82,90},{53,62,23,55}} nama[14] ={p,r,o,k,o,m, ,g,a,m,p,a,n,g,\0}; nama[14] =prokom gampang;

LATIHAN 3.4

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER


/* File : dimen1.cpp */ #include <stdio.h> #include <conio.h> int main() { int i; int tab[10]; int N; N=5; printf("Isi dan print tabel \n"); for (i=0;i<N;i++) { tab[i]=i; } for (i=0;i<N;i++) { printf("i=%d tab[i]=%d ",i,tab[i]); } getch(); return 0; }

12

LATIHAN 3.5
/* File : dimen2.cpp */ #include<stdio.h> main() { int i,j; int b[3][5]; for(i=0;i<3;i++) { for(j=0;j<5;j++) { b[i][j]=i*j; printf("%3d",b[i][j]); } printf("\n"); } return 0; }

Inisialisasi Array yang Tidak Berukuran Uraian C membolehkan kita menggunakan array yang tak tertentu untuk lebih mempermudah langkah kita saat harus menuliskan string yang banyak sekali jumlahnya, misalnya kita harus menuliskan kalimat-kalimat panjang. Hal ini dapat dilakukan dengan membuang ukuran array dan pada saat kompilasi array akan diberi ukuran sehingga cukup untuk menyimpan data yang diberikan pada saat inisialisasi.
char kal[]=hallo,apa khabar?; char ka2[]=selamat pagi;

3.4. Operator Operator merupakan simbol atau kata yang digunakan untuk operasi dan manipulasi dalam program yang melibatkan satu (unary operator) atau dua nilai (binary operator). Operator Penaikan/ Penurunan (Increment / Decrement) Merupakan unary operator yang berfungsi untuk menaikkan (increament) satu nilai, atau menurunkan satu nilai Bentuk umum ++variable; atau variable++; --variable; atau variable--; Operator Aritmatika Merupakan operator untuk operasi aritmatika seperti : Tabel 3.1 Operator Aritmatika Operasi Operator Perkalian Pembagian %

Operator * /

operasi pengurangan sisa pembagian

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER + LATIHAN 3.6


/* File : operator.cpp */ #include<stdio.h> #include<conio.h> int main() { clrscr(); int i=100; int j,k,l; j=k*2; k=j/4; l=k%3; printf("Nilai i: %d \nNilai j : %d \n",i,j); printf("Nilai k: %d \nNilai l : %d \n",k,l); getch(); return 0; }

13

Pengurangan

Operator Relasi Merupakan operator untuk membandingkan dua buah nilai. Keluaran atau hasil pembandngan adalah kondisi benar atau kondisi salah. Tabel 3.2 Operator Relasi operator operasi lebih kecil >= lebih besar atau sama dengan lebih kecil atau sama dengan == sama dengan lebih besar != tidak sama dengan Operasi

Operator < <= >

Operator Logika Merupakan operator untuk menghubungkan satu atau lebih kondisi. Kondisi bisa merupakan hasil pembandingan yang menggunakan operator relasi. Tabel 3.3 Operator Logika Operator Operasi >= lebih besar atau sama dengan == sama dengan != tidak sama dengan

Operator && || !

Operasi AND OR NOT

Tabel 3.4. Kebenaran operasi AND dan OR Operator AND Operator OR Kondisi 1 Kondisi 2 Hasil Kondisi 1 Kondisi 2 Salah Salah Salah Salah Salah Salah Benar Salah Salah Benar Benar Salah Salah Benar Salah Benar Benar Benar Benar Benar

Hasil Salah Benar Benar Benar

Tabel 3.5 Prioritas Operator Relasi dan Operator Logika Prioritas Tertinggi ! > >= < <= = = != && Terendah ||

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

14

3.5. Pointer Variable pointer sering dikatakan sebagai variable yang menunujuk ke objek lain namun pada kenyataannya variable pointer berisi alamat dari suatu objek lain (yaitu objek yang dikatakan ditunjuk oleh pointer), misal: px adalah pointer dan x adalah variable yang ditunjuk oleh px. Kalau x berada pada alamat memori 1000 maka px akan berisi 1000. hal tersebut dapat dijelaskan pada gambar berikut :
alamat

px

20

1000

1000

Pendeklarasian Variable Tipe Pointer Seperti halnya variable umumnya, variable tipe pointer harus dideklarasikan terlebih dahulu sebelum dapat digunakan. Bentuk umum
tipe_data *nama_variable;

nama_variabel adalah nama dari variable pointer. contoh


int *px; char *pch1, *pch2;

px adalah variabel pointer yang menunjuk ke suatu data bertipe int, sedangkan pada pch1, pch2 adalah variabel bertipe karakter. Pengaturan Penunjukan Pointer Agar suatu pointer menunjuk mula-mula pointer harus diisi dengan alamat dari variable yang ditunjuk. Untuk menyatakan alamat dari suatu variabel digunakan operator & (operator alamat). Bentuk umum variable1 = &variable2 contoh:
px = &x; (px berisi alamat dari x)

Mengakses dan Mengubah Isi Variabel Melalui Pointer Dengan mengetahui alamat sebuah variable, dapat diakses isi suatu variabel baik secara langsung (variabel diakses oleh variabel itu sendiri) ataupun tidak langsung (variabel diakses lewat pointer dengan operator indirection berupa simbol *), misal : *px Antara tipe pointer dan tipe objek yang akan ditunjuk oleh pointer haruslah sejenis misal px dimaksudkan untuk menunjuk data bertipe int maka data yang akan di tunjuk oleh pointer px juga harus bertipe int. Bentuk umum variable1 = *variable2 contoh:
px y = &x; = *px; /* y akan berisi nilai yang sesuai dengan x */

LATIHAN 3.7
/* file : ptr.cpp */ #include<stdio.h> main() { int x, y; int *px; x = 87;

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER


px = &x; y = *px; printf("isi px = %p\n", px); printf("isi x = %d\n", x); printf("nilai yang ditunjuk oleh px = %d\n", *px); printf("nilaia y = %d\n", y); return 0; }

15

TUGAS : 1. Buatlah program untuk menghitung luas dan keliling dari bangun persegi, segi tiga, jajar genjang ! 2. Buatlah program untuk menghitung volume dari tabung, balok dan prisma segi tiga! 3. Buatlah program untuk operasi 2 matrik (tambah, kurang, kali, determinan dan transpose) dengan ukuran matrik 3x3!

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

16

Modul 4. Kontrol Program


4.1. Pernyataan if Pada model pernyataan ini, sebuah aksi akan dikerjakan jika syarat bernilai benar.

Syarat Salah

Benar

Aksi1

Bentuk umum:
if (syarat) aksi1;

Aksi bisa terdiri sari satu baris pernyataan atau berupa sekumpulan (blok) baris pernyataan. LATIHAN 4.1
/* File :if1.cpp */ #include<stdio.h> main() { int a; clrscr(); printf("Contoh if satu kasus \n"); printf("Ketikkan suatu nilai integer : "); scanf("%d",&a); if (a >= 0) { printf("Nilai a positif %d \n",a); } return 0; }

4.2. Pernyataan if else Pada model pernyataan ini, aksi1 akan dikerjakan jika syarat bernilai benar, sedangkan jika salah maka aksi2 yang dikerjakan.

Syarat Salah Aksi2

Benar

Aksi1

Bentuk umum:
if (syarat) aksi1 else aksi2;

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER LATIHAN 4.2


/* File : if2.cpp */ #include<stdio.h> main() { int a; printf("Contoh if dua kasus \n"); printf("Ketikkan suatu nilai integer :"); scanf("%d",&a); if(a >=0) { printf("Nilai a positif %d \n",a); } else { printf("Nilai a negatif %d \n",a); }; return 0; }

17

Karena pilihan aksi yang dikerjakan lebih dari dua, maka dapat dibuat model bertingkat/ bersarang /nested.

Syarat 1 Benar

Salah

Syarat n Aksi1 Benar Aksi2

Salah

AksiN

Bentuk umum:
if (syarat1) aksi1 else if (syarat2) aksi2 else aksiN;

4.3. Pernyataan switch case Tangga if-else-if dapat digunakan menguji beberapa syarat tetapi sulit dalam aplikasinya. Untuk itu dapat digunakan pernyataan switch, sebuah variabel dapat secara berturut-turut diuji oleh daftar konstanta (bilangan bulat atau karakter). Jika sesuai dengan sebuah konstanta, maka dikerjakan sesuai dengan pernyataan yang mengikuti konstanta tersebut, sampai ditemukan pernyataan break. Setelah default akan dikerjakan bila tidak ada konstanta yang tidak sesuai. Default bersifat optional, bila tidak ada default maka tidak ada yang dikerjakan. Ada 3 hal yang perlu diperhatikan: 1. switch hanya dapat memeriksa persamaan dengan konstanta, sedang if dapat memeriks syaratsyarat lain(>,<,!=,dsb). 2. Tidak ada dua konstanta yang sama dalam sebuah switch. 3. Pernyataan switch lebih baik dari pada tangga if-else-if.

Bentuk Umum :
switch(variabel)

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER


{ case konstanta1 : pernyataan; break; case konstanta2 : pernyataan; break; . . default; pernyataan; }

18

inisialisasi

Var = Const1

benar

salah
Var = Const2

benar

salah default

LATIHAN 4.3
/* File : switch.cpp */ #include<stdio.h> int main() { char cc; printf("Ketikkan sebuah huruf ,akhiri scanf("%s",&cc); switch(cc) { case 'o': { printf("Yang anda ketik adalah break; } case 'a': { printf("Yang anda ketik adalah break; } case 'u': { printf("Yang anda ketik adalah break; } case 'e': { printf("Yang anda ketik adalah break; } case 'i': {

dengan Enter \n");

o \n");

a \n");

u \n");

e \n");

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER


k printf("Yang anda ketik adalah i \n"); break; } default: printf("Yang anda ketik adalah huruf mati \n"); } return 0; }

19

4.4. Pernyataan for Pada pengulangan dengan for diperlukan ungkapan untuk inisialisasi sehingga pengulangan bisa dilakukan, ungkapan syarat untuk kondisi mengakhiri pengulangan, dan ungkapan pengendali kenaikan ungkapan nilai pengulangan. Bentuk Umum:
for (inisialisasi; syarat; perubahan) pernyataan;

inisialisasi

syarat Benar Pernyataan

Salah

Perubahan

LATIHAN 4.4
/* File : for.cpp */ #include<stdio.h> main() { int i; int N; printf("Ba printf("Baca N,print 1 s/d N\n"); printf("N= "); scanf("%d",&N); for(i=1;i<=N;i++) { printf("%d \n",i); } printf("Akhir program \n"); return return 0; }

4.5. Pernyataan while Pada pengulangan jenis ini, pengecekan syarat dilakukan diawal. Pengulangan dengan while ini hampir sama dengan pengulangan dengan for jika kondisi awal/ inisialisasi diletakkan sebelum blok pengulangan pengulangan. Bentuk Umum :
while(syarat) pernyataan; /* transformasi dari jenis pengulangan dengan for */ inisialisasi; while(syarat) { pernyataan;

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER


penambahan }

20

inisialisasi

syarat Benar Pernyataan

Salah

Penambahan

LATIHAN 4.5
/* File : while.cpp */ #include<stdio.h> main() { int N; int i; printf("Nilai N="); scanf("%d",&N); i=1; printf("printf i dengan WHILE : \n"); while(i<=N) { printf("%d \n",i); i++; } return 0; }

4.6. Pernyataan do while Berbeda dengan dua jenis pengulangan sebelumnya, syarat pengulangan pada do-while dicek pada akhir perulangan. Bentuk Umum:
do { pernyataan; pernyataan; }while(syarat)

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

21

Pernyataan Benar syarat Salah

LATIHAN 4.6
/* File : whiledo.cpp */ #include <stdio.h> void main() { int i,loop; printf("Masukkan nilai integer : "); scanf("%d",&loop); i=1; do { printf("Looping ke %d\n",i); i++; }while(i<=loop); }

TUGAS : 1. Buatlah program yang mencetak bilangan biner dari input bilangan decimal integer! 2. Buatlah program yang menampilkan hasil sebagai berikut : * ** *** **** ***** (sebanyak N, dimana N adalah input) **** *** ** * 3. Buatlah program yang menampilkan hasil sebagai berikut : * * * * * * * * *

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

22

Modul 5. Void Function, Parameter ( Procedure)


5.1. Pengertian fungsi Fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian proram yang mengunakannya. Berdasarkan keluaran dan masukannya fungsi dapat dibagi menjadi 4. Yang dimaksud keluaran adalah fungsi yang mengemabilakan suatu nilai tertentu dan yang dimaksud masukan adalah parameter pada fungsi. 1. Fungsi tanpa keluaran dan masukan Contoh : clrscr () 2. Fungsi tanpa keluaran dan dengan masukan Contoh : gotoxy(Xpos,Ypos) 3. Fungsi dengan keluaran dan tanpa masukan Contoh : rand () 4. Fungsi dengan keluaran dan masukan Contoh : strlen (string) Pada Modul 5 hanya akan menjelaskan tentang fungsi tanpa keluaran. Untuk fungsi dengan keluaran akan dibahas pada Modul 6. Pada fungsi dengan parameter, ada cara bagaimana parameter dikirim, yaitu isi dari suatu variable (called by value), nama variable (caledl by reference), alamat variable (caledl by addres). 5.2. Void Function tanpa parameter Fungsi ini merupakan fungsi yang tidak memiliki parameter namun fungsi ini tetap melakukan tugas tertentu. Bentuk Umum :
void nama_fungsi() { pernyataan; }

LATIHAN 5.1
/* File : vfnopar.cpp*/ #include<stdio.h> void cetak_string(); /*prototype fungsi*/ void input_data(); /*prototype fungsi*/ main() { cetak_string(); return 0; } void cetak_string() { printf("Ini adalah fungsi yang mencetak sting\n"); printf("Silahkan masukkan data\n"); input_data(); } void input_data() { char nama[20],nrp[10]; printf("Nama : "); gets(nama); printf("NRP : "); gets(nrp); }

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

23

5.3. Void Function dengan parameter Fungsi ini merupakan fungsi yang memiliki sejumlah parameter dengan tugas tertentu. Pada fungsi ini jenis pengiriman parameter adalah called by value. Bentuk Umum :
void nama_fungsi(argumen1,argumen2,) { pernyataan; }

LATIHAN 5.2
/* File : vfnopar.cpp*/ #include<stdio.h> void cetak_string(char par1[20],char par2[10]); void hitung(int a,int b); main() { int bil1, bil2; char nama[20],nrp[10]; printf("Nama : "); gets(nama); printf("NRP : "); gets(nrp); cetak_string(nama,nrp); bil1=10; bil2=12; hitung(bil1,bil2); return 0; } void cetak_string(char par1[20],char par2[10]) { printf("\n\nNama Mahasiswa adalah %s\n",par1); printf("NPR Mahasiswa adalah %s\n",par2); } void hitung(int a,int b) { printf("\nHasil penjumlahan %d + %d = %d",a,b,a+b); }

/*prototype fungsi*/ /*prototype fungsi*/

5.4. Void Function dengan parameter by reference (C++ Extention) Metode pengiriman parameter dengan call by reference, akan mengirimkan nama dari variable yang ada di parameter aktual ke parameter formal. Dengan demikian, pada saat fungsi berjalan, nama variable di parameter actual akan mempunyai nama lain berupa nama variabel di parameter formal. Bentuk Umum :
void nama_fungsi(&argumen1,&argumen2,) { pernyataan; }

LATIHAN 5.3
/* File : tukar.cpp */ #include<stdio.h> void tukar_value(int x,int y); void tukar_ref(int &p,int &q); main() { int a1,b1; int a2,b2; a1=2; b1=3; printf("Nilai a1 : %d\n",a1);

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER


printf("Nilai b1 : %d\n",b1); tukar_value(a1,b1); printf("Setelah menjalankan fungsi tukar -by value-\n"); printf("Nilai a1 : %d\n",a1); printf("Nilai b1 : %d\n",b1); a2=5; b2=6; printf("\nNilai a2 : %d\n",a2); printf("Nilai b2 : %d\n",b2); tukar_ref(a2,b2); printf("Setelah menjalankan fungsi tukar -by reference-\n"); printf("Nilai a2 : %d\n",a2); printf("Nilai b2 : %d\n",b2); return 0; } void tukar_value(int x,int y) { int tukarV; tukarV=x; x=y; y=tukarV; } void tukar_ref(int &p,int &q) { int tukarR; tukarR=p; p=q; q=tukarR; }

24

5.5. Void Function dengan parameter by pointer Pada call by address kita akan mempunyai sebuah petunjuk yang terletak pada parameter formal. Petunjuk ini nantinya akan menunjuk pada lokasi memori tempat parameter actual berada. Bentuk Umum :
void nama_fungsi(*argumen1,*argumen2,) { pernyataan; }

Untuk memanggil fungsi :


Nama_fungsi(&variable, &variable,);

LATIHAN 5.4
/* File : tukar.cpp */ #include<stdio.h> void tukar_ptr(int *p,int *q); main() { int a,b; a=2; b=3; printf("Nilai a : %d\n",a); printf("Nilai b : %d\n",b); tukar_ptr(&a,&b); printf("Setelah menjalankan fungsi tukar -by address-\n"); printf("Nilai a : %d\n",a); printf("Nilai b : %d\n",b); return 0; } void tukar_ptr(int *p,int *q) { int tukarR; tukarR=*p; *p=*q; *q=tukarR; }

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

25

TUGAS : 1. Buatlah program dengan fungsi yang menjumlahkan 2 integer. Buatlah dalam 3 cara pengiriman paramaeter (call by value, call by reference dan call by address). 2. Buatlah program dengan fungsi yang menukar isi 2 buah variable string.

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

26

Modul 6. Value Returning Function


Value returning function atau fungsi dengan nilai balik merupakan fungsi yang menjalankan suatu tugas tertentu dan memberikan nilai balik pada fungsi pemanggilnya. Bentuk umum :
tipe nama_fungsi(argument1,argumen2,) { pernyataan; pernyataan; return nilai; }

LATIHAN 6.1
/* File : plusmin.cpp*/ #include<stdio.h> int tambah(int a,int b); int kurang(int c,int d); main() { int bil1,bil2,hasil; printf("Masukkan nilai A :"); scanf("%d",&bil1); printf("Masukkan nilai B :"); scanf("%d",&bil2); hasil=tambah(bil1,bil2); printf("Hasil penjumlahan : %d\n",hasil); printf("Hasil pengurangan : %d\n",kurang(bil1,bil2)); return 0; } int tambah(int a,int b) { int jum; jum=a+b; return jum; } int kurang(int c,int d) { return (c-d); }

LATIHAN 6.2
/* FILE : huruf1*/ #include<stdio.h> char huruf_pertama(char k[20]); main() { char kata[20]; printf("Masukkan kata : "); gets(kata); printf("Huruf pertama adalah : %c",huruf_pertama(kata)); return 0; } char huruf_pertama(char k[20]) { return k[0]; }

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

27

FUNGSI REKURSI Fungsi rekursi adalah fungsi yang memanggil dirinya sendiri secara berulang-ulang. Karena proses dilakukan secara berulang-ulang maka harus ada suatu kondisi yang mengakhiriprosesnya. LATIHAN 6.3
/* FILE : faktorial.cpp */ #include<stdio.h> long int faktorial(int nn); main() { int N; printf("Masukkan integer : "); scanf("%d",&N); printf("Faktorial dari %d adalah %d",N,faktorial(N)); return 0; } long int faktorial(int nn) { long int f; if (nn<=1) return 1; else{ f=nn*faktorial(nn-1); return f; } }

TUGAS : 1. Buatlah program dengan fungsi yang mengembalikan nilai KPK dari 2 bilangan(Gunakan sebagai parameter)! 2. Buatlah program yang mengembalikan nilai yang menunjukkan jumlah huruf vocal dari sebuah kalimat!

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

28

Modul 7. Operasi File


Untuk dapat diolah lebih lanjut, maka data perlu disimpan dalam sebuah file. Sebuah file terdiri dari kumpulan record/ structure yang mempunyai tipe yang sama. Operasi terhadap file umumnya terdiri dari: 1. Operasi untuk membuka/ mengaktifkan file 2. Melakukan proses terhadap file 3. Menutup file 7.1 Membuka/ Mengaktifkan file Sebelum sebuah file dapat diakses, maka file harus diaktifkan. Pada saat dibuka/ diaktifkan diperlukan sebuah variable pointer yang menunjuk file yang akan dibuka. Disamping itu perlu disebutkan mode akses terhadap file (pembacaan, penulisan, penambahan, dll), seperti dicantumkan dalam Tabel 13.1. Bentuk umum
pf = FILE *fopen(char *namafile, char *modus);

Variable pf adalah variable pointer ke file, modus adalah sebuah string yang berisi status pembukaan file. Tabel 7.1 Modus Pembukaan File Artinya Membuka file untuk pembacaan. File harus sudah ada. Membuat file baru untuk penulisan. File boleh belum ada. Membuka file untuk penambahan. Penulisan akan dilakukan setelah data yang paling akhir. File baru akan dibuat jika file yang dibuka belum ada. Membuka file untuk pembacaan dan penulisan. File harus sudah ada. Membuka file untuk pembacaan dan penulisan Jika file sudah ada, isinya akan dihapus. Membuka file untuk penambahan dan pembacaa. File baru akan dibuat jika file yang dibuka belum ada.

Modus r w a

r+ w+ a+

7.2 Menutup File Setelah file selesai diproses, maka file perlu ditutup. Bentuk umum
fclose(pf)

Variable pf adalah variable pointer ke file. LATIHAN 7.1


/* File : open1.cpp */ #include<stdio.h> #include<conio.h> void main() { clrscr(); FILE *pf; if ((pf = fopen("COBA.TXT","r"))==NULL) puts("File tidak dapat dibuka\n"); else puts("File berhasil dibuka\n"); getch(); }

Apakah file dapat dibuka?

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER LATIHAN 7.2 Ganti modus pembukaan file pada LATIHAN 7.1 dari modus r ke modus w. Apakah file dapat dibuka?

29

7.3 File Biner dan File Teks File dapat dibedakan menjadi dua jenis yaitu biner dan teks. File biner menyimpan data dalam bentuk biner dengan ekstensi .dat. Sedangkan file teks menyimpan data dalam bentuk karakter dengan ekstensi .txt. Data integer 255 dalam file biner akan selalu memerlukan dua byte memory, disimpan dalam bentuk 11111111. Sedangkan dalam file teks data 255 akan disimpan sebagai karakter 2,5,5. Mode pengaktifan seperti dijelaskan pada modul 13.1 perlu ditambahi t untuk file teks, dan b untuk file biner. Misalnya mode w menjadi wt untuk membuat file teks, atau wb untuk membuat file biner. 7.4 Memakai feof() Fungsi ini dipakai untuk mendeteksi akhir file sat membaca data.
int feof(FILE*fp);

Hasilnya akan true jika akhir file sudah tercapai. Jika tidak hasilnya nol. 7.5 Menulis dan Membaca Untuk penulisan data ke file dapat menggunakan fungsi fprintf(); Bentuk umum :
fprintf(pf,kata/penanda format,variable/konstanta) fwrite(alamat_var,ukuran_data,banyak_data,pf);

Untuk membaca data dari file dapat mengunakan fungsi fscanf(); Bentuk umum :
fscanf(pf,penanda format,alamt_variabel); fread(alamat_var,ukuran_data,banyak_data,pf);

Disamping itu untuk menulis karakter digunakan fungsi putc, sedangkan untuk membaca digunakan fungsi getc(). Bentuk umum
int putc(int ch,FILE *fp); int getc(FILE *fp); menulis karakter membaca karakter

fp adalah variable pointer ke file yang dihasilkan oleh fopen() dan ch adalah karakter yang akan ditulis/ dibaca. Jika penulisan atau pembacaan mengalami kegagalan, maka akan dihasilkan nilai EOF (didefinisikan dalam stdio.h), yang menandakan fp (pointer ke file) menunjuk ke akhir dari file. LATIHAN 7.3
/* File ; text.cpp*/ #include<stdio.h> #include<conio.h> main() { clrscr(); int A,B; A=56; B=32; /* membuka file*/ FILE *pf; pf=fopen("tulis1.txt","wt"); /*menulis file*/ fprintf(pf,"%d\n",A); fprintf(pf,"%d\n",B); /*menutup file*/ fclose(pf); return 0; }

/* membuat file text baru */

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER LATIHAN 7.4


/* File ; biner.cpp*/ #include<stdio.h> #include<conio.h> main() { clrscr(); int A,B; A=56; B=32; /* membuka file*/ FILE *pf; pf=fopen("tulis2.dat","wb"); /*menulis file*/ fwrite(&A,sizeof(int),1,pf); fwrite(&B,sizeof(int),1,pf); /*menutup file*/ fclose(pf); return 0; }

30

/* membuat file biner baru */

LATIHAN 7.5
/* File : bacatext.cpp */ #include<stdio.h> #include<conio.h> main() { clrscr(); int A,B; FILE *pf; pf=fopen("tulis1.txt","rt");

/* membaca file text*/

if ((pf = fopen("tulis1.txt","r"))==NULL) puts("File tidak dapat dibuka\n"); else { fscanf(pf,"%d",&A); printf("A: %d\n",A); fscanf(pf,"%d",&B); printf("B: %d\n",B); } getch(); return 0; }

7.6 Membaca dan Menulis String Untuk menulis string ke file digunakan fungsi fputs(), sedangkan untuk membaca file digunakan fungsi fgets(). Bentuk umum char *fputs(charstr,FILE*fp); char *fgets(char *str,int p,FILE *fp); Cara kerja fputs() sama dengan puts(), yaitu menulis string dan diakhiri dengan penambahan karakter ganti baris baru. Sedangkan fgets() hampir sama dengan gets(), yaitu membaca string sampai ditemukan karakter pergantian baris.

RE 1213 PRAKTIKUM DASAR PEMROGRAMAN KOMPUTER

31

LATIAHN 7.7 Buatlah sebuah file text beri nama aku.txt. Tuliskan dalam file tersebut nama, nrp anda! Lalu buatlah program di bawah ini (Cat : jika file anda terletan pada direktori tertentu maka pada saat penulisan program fopen() tuliskan secara lengkap alamat direktori file. Contoh : D:\\Folder\\aku.txt)
/* FILE : eof.cpp */ #include<stdio.h> #include<conio.h> main() { clrscr(); FILE *pp; pp=fopen("aku.txt","rt"); char C; int status; status=fscanf(pp,"%c",&C); while(status != EOF) { printf("%c",C); status=fscanf(pp,"%c",&C); } getch(); return 0; }

/*Perhatikan letak direktorinya*/

TUGAS : 1. Buatlah program operasi matematika (penambahan, pengurangan, perkalian dan pembagian) yang inputnya dari file (.txt). 2. Belajar !!!