Modul Praktikum Bahasa C
PEDOMAN PRAKTIKUM BAHASA PEMROGRAMAN C DENGAN BORLAND TURBO C 3.0
PEMROGRAMAN DASAR BAHASA C
Oleh : Saefurrohman, S.Kom
LABORATORIUM KOMPUTER PROGRAM STUDI TEKNIK KOMPUTER
FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS STIKUBANK
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
0
Modul Praktikum Bahasa C
SEMARANG PETUNJUK PENGOPERASIAN 1. Kompiler Turbo C Ada dua macam kompiler yang dapat digunakan dalam turbo c yaitu : a. TC (nama file : tc.exe) Kompiler ini adalah kompiler yang sering disebut dengan IDE (Intregated Development Environment) atau lingkungan pengembangan terpadu, selain sebagai kompiler dapat juga digunakan untuk editor, debugger (mencari kesalahan) dan lingker. b. TCC (nama file : tcc.exe) Kompiler ini berupa baris perintah, yaitu proses kompilasi dan linking akan dilakukan pada prompt DOS. 2. File Pustaka (Library File) • • • •
Pustaka Pustaka Pustaka Pustaka
untuk untuk untuk untuk
runt-time menggunakan file Cx.LIB perhitungan matematis menggunakan file MATHx.LIB grafik menggunakan GRAPHICS.LIB emulasi 8087 menggunakan EMU.LIB
3. File Judul (Header File) File judul adalah file yang berisi prototype fungsi, definisi suatu makro, deklarasi variabel global dan devinisi tipe. File judul biasanya berekstensi .h misalnya graphics.h, stdio.h, conio.h 4. Menjalankan Turbo C Untuk menjalankan Turbo C, temukan file yang bernama tc.exe pada direktori C:\TC30\BIN\TC.EXE sehingga muncul IDE Turbo C seperti dibawah ini
Gambar 1. IDE Turbo C 3.0
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
1
Modul Praktikum Bahasa C 5. Tahapan Pemrograman C Pemrosesan program C umumnya melalui lima tahapan, yaitu Tahap menulis program adalah proses penulisan kode dengan menggunakan editor Turbo C dan kemudian disimpan ke dalam penyimpanan sekunder. File program C diberi nama dengan menambahkan ekstensi .c. 1. Tahap menulis kode sumber adalah proses penulisan program dengan menggunakan editor Turbo C dan kemudian disimpan ke dalam penyimpanan sekunder. File program C diberi nama dengan menambahkan ekstensi .c. 2. Tahap berikutnya adalah melakukan kompilasi, dimana kompilator akan menerjemahkan program ke dalam kode bahasa mesin (object code = .obj). Di dalam sistem C, bagian program yang disebut preprocessor (dipanggil melalui preprocessor directives) akan diproses di awal sebelum tahap penerjemahan program dimulai. 3. Proses link dilakukan untuk mengkombinasikan kode obyek (obj) dengan pustaka C yang tersedia agar menghasilkan file program lengkap yang dapat dieksekusi oleh komputer, file yang dihasilkan mempunyai ekstensi .exe. 4. Tahap selanjutnya adalah memanggil file program hasil langkah tiga ke dalam memori untuk dapat dijalankan oleh komputer. 5. Tahap terakhir adalah menjalankan atau mengeksekusi program.
6. Penjelasan Menu 1. File Load (atau F3) untuk membuka file dari disket atau dari hardisk. Pick (atau ALT F3) untuk membuka satu diantara program trakhir diedit New untuk membuat program baru / mengosongkan editor Save (atau F2) untuk menyimpan program ke disk Write To untuk menyimpan program ke disk dengan nama yang berbeda Directory untuk menampilkan direktori Change Dir untuk menguah direktori aktif OS Shell untuk menuju perintah DOS, ketiklah exit untuk kembali ke editor Quit (atau ALT X) untuk keluar dari editor turbo C 2. Run Run (CTRL F9) untuk menjalankan / mengeksekusi program Program Reset untuk mengakhiri proses eksekusi langkah-perlangkah Go to cursor untuk melakukan eksekusi hingga pernyataan yang terletak sebelum baris tempat posisi kursor berada. Trace Into Untuk menjalankan eksekusi sebuah program pada posisi kursor Step over (atau F8) hampir sama dengan trace into, bedanya jika memanggil pernyataan dalam fungsi akan dianggap sebagai sebuah kesatuan. User Screen (atau ALT F5) untuk melihat layar yang dipakai menampilkan hasil 3. Compile Compile to OBJ (atau ALT F9) untuk mengkompilasi program menjadi file objek Make (atau F9) untuk membentuk file exe Link untuk me-link file .OBJ dan file .LIB menjadi file .EXE Build All untuk membentuk file exe tanpa memperhatikan tanggal file pembentuknya.
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
2
Modul Praktikum Bahasa C 4. Project Open Project untuk membuat file project yang berekstensi *.prj Close Project untuk menutup file project Add Item untuk menambah file (*.c) pada sebuah project Delete Item untuk menghapus file ( *.c) dari sebuah project Local Options untuk mengatur opsi tertentu pada sebuah project Include File untuk melihat header file yang disertakan pada project 5. Options Pada menu options ini semua pengaturan opsi tertentu pada lingkungan pemrograman c misalnya Compiler, Linker, Debug, Library, Direktori dan Environment IDE. Pada menu ini yang perlu diatur adalah submenu Directories, yang digunakan untuk memetakan letak file Include (header), library, Output dan Source 6. Window Pada menu ini terdapat banyak pilihan pengaturan desktop windows seperti size, zoom, tile, cascade, next, close. silahkan anda coba ! 7. Help Anda akan menemukan bantuan untuk keperluan pemrograman mulai dari memanfaatkan help itu sendiri anda juga dapat melihat syntax reserverd word dan fungsi tertentu pada pemrograman c.
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
3
Modul Praktikum Bahasa C
PRAKTIKUM 01 PENGENALAN PEMROGRAMAN TURBO C 3.0 Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami fungsi dasar dalam Bahasa C. 2. Mengerti dan memahami header program Bahasa C. 3. Dapat menggunakan fungsi-funsi dasar pemrograman C. 1. Fungsi Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuah fungsi. Setiap fungsi terdiri dari satu atau beberapa pernyataan yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus. Secara umum, fungsi empunyai bentuk sebagai berikut : nama-fungsi (daftar parameter) deklarasi parameter; { bagian isi fungsi } 2. Fungsi main( ) Fungsi main( ) harus ada pada program, sebab fungsi inilah yang menjadi titik awal dan akhir eksekusi program. Tanda { diawal fungsi menyatakan awal tubuh fungsi dan juga sebagai awal program dijalankan, sedangkan tanda } di akhir fungsi merupakan akhir bagian isi fungsi dan sekaligus adalah akhir dari eksekusi program. 3. Fungsi printf( ) Fungsi printf( ) merupakan fungsi yang umum dipakai utuk menampilkan suatu keluaran pada layar peraga. Dalam bentuk umum, format printf( ) adalah sebagai berikut : printf( kontrol string , daftar pernyataan); String kontrol dapat berupa satu atau sejumlah karakter yang akan ditampilkan ataupun berupa penentu format yang akan mengatur penampilan dari argumen yang terletak pada daftar argumen. Mengenai penentu format diantaranya berupa : %d %f %c %s
Untuk Untuk Untuk Untuk
menampilkan bilangan bulat (integer) menampilkan bilangan pecahan menmpilkan sebuah karakter menampilkan sebuah string
4. Praposesor #include #include merupakan salahsatu jenis pengarah praprosesor yang dipakai untuk membaca file yang dinamakan file-judul (header file). File-judul yaitu file yang diantaranya berisi deklarasi fungsi dan definisi konstanta. File ini mempunyai ciri yaitu nama file-nya diakhiri dengan extensi .h , misalnya = stdio.h. 5. Contoh Program Program 1 #include <stdio.h> #include
main()
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
4
Modul Praktikum Bahasa C { clrscr(); printf(“BELAJAR BAHASA C”); printf(“Dengan Borland Turbo C Versi 3.0”); printf(“PROGRAM STUDI TEKNIK KOMPUTER D3”); getche(); return(0); } Program 2 #include <stdio.h> #include main() { clrscr(); printf(“Nim Mahasiswa : %s\n”, “00540010”); printf(“Nama Mahasiswa : %s\n”, “Sahrukhan”); printf(“Nilai Casting : %f predikat : %s”, 90.5, ‘BEST’); getche(); return(0); } 6. Latihan Cari letak kesalahan dari listing program dibawah ini, kemudian betulkan sehingga menghasilkan tampilan seperti dibawah. #include <stdio.h> #include main() { clrscr(); printf(“%d Tali %d Uang\n”, 1, 3); printf(“Dibawah ini adalah sebuah pepatah”); printf(“Ada %s Ada %s\n”, “Gula”, “Semut”); getche(); return(0); } 7. Tugas Buatlah program untuk menampilkan biodata diri anda secara lengkap, dengan variabel yang ditampilkan adalah nim, nama, program studi, alamat, telepon, kota, asal sekolah, hobby, agama, tempat tgl/lahir, status keluarga. Tampilan Output : BIODATA PRIBADI ============================================ Nim : 00.01.34.0001 Nama : AINUL HAKIM Program Studi : TEKNIK KOMPUTER / D3 Alamat : JL. SELOMAS TIMUR III Telepon : (024) 7878787 Kota : SEMARANG Asal Sekolah : SMU 3 SEMARANG Hobby : MAIN GAME KOMPUTER Agama : ISLAM Tempat Tgl/Lahir : SEMARANG, 12 JULI 1979 Status Keluarga : ANAK ============================================
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
5
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
Universitas STIKUBANK - Fakultas Teknologi Informasi
TTD Dosen : Nilai :
Halaman
6
Modul Praktikum Bahasa C
PRAKTIKUM 02 DASAR PEMROGRAMAN DAN OPERASI MASUKAN-KELUARAN Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan mengerti pengenal dan Kata Kunci dalam Bahasa C. 2. Mengenal dan mengerti Variabel, Tipe Data dalam Bahasa C. 3. Dapat menggunakan Variabel dan Tipe Variabel dalam program. 1. Pengenal Pengenal (identifier) merupakan nama yang biasa digunakan untuk variabel, konstanta, fungsi atau obyek yang lain yang didefinisikan oleh pemrogram. Aturan yang berlaku bagi pengenal : a. Pengenal haruslah diawali dengan huruf (A..Z, a..z) atau karakter garis bawah (_). Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis-bawah atau tanda dollar ($). b. Panjang pengenal boleh terdiri leih dari 32 karakter, akan tetapi hanya 32 karakter pertama yang akan dianggap berarti. Contoh : Jumlah Jumlah (berbeda dengan Jumlah). Total_per_bulan Harga_jual$ 2. Kata Kunci (reserved word) Untuk menghindari keesalahan, pengenal tidak boleh menggunakan nama yang tergolong sebagai kata kunci. Adapun kata kunci tersebut adalah sebagai berikut : asm auto break case cdecl char const continue default
do double else enum extern far float for goto huge
if int interrupt long near pascal register return short
signed sizeof static struct switch typedef union unsigned void
volatile while _cs _ds _es _ss
3. Tipe Data Dasar Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan sebagai tipe data dasar. Kelima tipe data dasar : Tipe Char Int Float Double Void
Total Bit 8 16 32 64 0
Kapasitas -128 s/d 127 -32768 s/d 32767 3.4E-38 s/d 3.4E+38 1.7E-308 s/d 1.7E_308 -
Keterangan Karakter Bil. integer Bil. Real (presisi tunggal) Bil. Real (presisi ganda) Tak bertipe
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
7
Modul Praktikum Bahasa C 4. Variabel Bentuk pendeklarasian variabel :
tipe
daftar-variabel
Contoh deklarasi : int jumlah; float harga, jumlah, bayar 5. Operator Aritmatika
* / % + -
Yang tergolong operator binary Perkalian Pembagian Sisa pembagian (modulus) Penjumlahan pengurangan
+
Yang tergolong operator unary Tanda minus Tanda plus
6. Contoh Program Program 1 #include <stdio.h> #include main() { int arus, hambatan, tegangan; clrscr(); arus = 10; hambatan = 500; tegangan = arus * hambatan; printf(“Voltase = %d”, tegangan); getche(); return(0); } Program 2 #include <stdio.h> #include main() { char nama_komponen[15]; int jumlah, harga, bayar; clrscr(); printf(“nama komponen = ”); scanf(“%s”, nama_komponen); printf(“harga komponen = ”); scanf(“%d”, &harga); printf(“jumlah beli = ”); scanf(“%d”, &jumlah); bayar = jumlah * harga; printf(“Yang harus dibayar sejumlah = %d”, bayar); getche();return(0); } 7. Latihan Buatlah program untuk menghitung kapasitansi, C dalam farad. INPUT = Banyaknya muatan(Q), Tegangan(V) PROSES = Kapasitas = Muatan / tegangan diantara keping dalam volt 8. Tugas Buatlah program untuk mencari sisi miring segitiga, keliling dan luas lingkaran dan volume kubus.
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
8
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman
9
Modul Praktikum Bahasa C
PRAKTIKUM 03 PENGAMBILAN KEPUTUSAN DENGAN IF ELSE Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami operator untuk kontrol Bahasa C. 2. Mengerti dan memahami struktur kontrol if else. 3. Dapat menggunakan struktur kontrol if else dalam pemrograman. 1. Operator Relasi Operator relasi biasa digunakan untuk membandingkan 2 buah nilai. Hasil pembandingan berupa keadaan benar atau salah. Adapun operator relasi dalam Bahasa C, sebagai berikut : > Lebih dari >= Lebih dari atau sama dengan < Kurang dari <= Kurang dari atau sama dengan == Sama dengan != Tidak sama dengan 2. Operator Logika Operator logika biasa digunakan untuk menghubungkan ungkapan relasi. Adapun operator logika dalam Bahasa C, sebagai berikut : && dan (AND) || atau (OR) ! tidak (NOT) 3. Prioritas Operator Logika dan Relasi Tertinggi ! > >= < <= = = != && Terendah || 4. Pernyataan if Pernyatan if mempunyai bentuk penggunaan yang bermacam-macam sesuai dengan kasus pengambilan keputusan yang dikerjakan :
If Tunggal if (kondisi) pernyataan
If - Else if (kondisi) pernyataan-1 else pernyataan-2
If - Jamak if (kondisi) { pernyataan-1 pernyataan-2 } else if { pernyataan-3 pernyataan-4 }
Universitas STIKUBANK - Fakultas Teknologi Informasi
Nested - If if (kondisi-1) if (kondisi-2) { pernyataan-1 } else if (kondisi-3) pernyataan-2
Halaman 10
Modul Praktikum Bahasa C 5. Contoh Program - Program 1 #include <stdio.h> #include main() { double beli, diskon, bayar; printf(“jumlah pembelian = Rp. “);scanf(“%lf”, &beli); if (beli >= 100000) diskon = 10000; else diskon = 0; bayar = beli – diskon; printf(“jumlah pembelian = Rp. %.2lf”, beli); printf(“besar diskon = Rp. %.2lf”, beli); printf(“total pembayaran = Rp. %.2lf”, bayar); getche();return(0); } -
Program 2 #include <stdio.h> #include main() { int data; for(data = 0;data < 10;data = data + 1) { if (data == 2) printf("Data Sekarang %d\n",data); if (data < 5) printf("Data Sekarang %d,lebih kecil dari 5\n",data); else printf("Data Sekarang %d,Lebih Besar Dari 4\n",data); } gets(0); } getche(); return(0); {
6. Latihan Buatlah program untuk menentukan angka terbesar dan terkecil dari tiga buah bilangan yang diinput dari keybord ? 7. Tugas Buatlah program dengan ketentuan sebagai berikut : INPUT Nim, nama mahasiswa, nilai uts, nilai uas, nilai tugas PROSES 1. Nilai Akhir = 30% x nilai uts + 50% x nilai uts + 20% x nilai tugas 2. Nilai Akhir Nilai Huruf Nilai Akhir Nilai Huruf 90 – 100 A 50 – 59 D 70 – 89 B 0 – 49 E 60 – 69 C OUTPUT LAPORAN NILAI MAHASISWA Nim : Nama : Nilai Akhir : Nilai Huruf :
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 11
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 12
Modul Praktikum Bahasa C
PRAKTIKUM 04 PENGAMBILAN KEPUTUSAN DENGAN SWITCH Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan mengerti struktur kontrol switch dalam Bahasa C. 2. Dapat menggunakan struktur kontrol switch dalam program. 1. Pernyataan swicth Pernyataan switch merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatakan sejumlah alternatif. Bentuk umum pernyataan switch. switch (ekspresi) { case konstanta-1: pernyataan-1 break; case konstanta-2: pernyataan-2 break; case konstanta-x: pernyataan-x break; default: pernyataan-n } 2. Contoh Program - Program 1 #include <stdio.h> #include main() { char operatore; double operand1, operand2; clrscr(); puts("Program kalkulator sederhana.....\n"); puts("operator yang dapat digunakan adalah : "); puts("* => perkalian\n"); puts("/ => pembagian\n"); puts("+ => penjumlahan\n"); puts("- => pengurangan\n"); puts("Contoh Menghitung => 5 / 2 Lalu tekan ENTER"); printf("\nSilahkan Menghitung Angka : "); scanf("%lf %c %lf", &operand1, &operatore, &operand2); switch (operatore) { case '*' : printf("Hasil = %.10lg", operand1 * operand2); break; case '/' : printf("Hasil = %.10lg", operand1 / operand2); break; case '+' : printf("Hasil = %.10lg", operand1 + operand2); break; case '-' : printf("Hasil = %.10lg", operand1 - operand2); break; default : puts("\nPerintah Anda Salah Silahkan Ulangi"); } getche();return(0); }
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 13
Modul Praktikum Bahasa C 3. Latihan Buatlah Program sesuai dengan ketentuan sebagai berikut. Program diawali dengan menu pilihan untuk menjalankan proses program, dengan tampilan sebagai berikut : Menu Pilihan Proses [A]. Menghitung Rtotal di Rangkai Seri [B]. Menghitung R terbesar dan R terkecil [C]. Selesai Pilihan Anda [A/B/C] : ? PROSES 1. - Jika pilihan = A maka melakukan input data (R1, R2, R3) sebuah Resistor. Kemudian buat rumus untuk mencari Rtotal. - Jika pilihan = B maka melakukan input data (R1, R2, R3) sebuah Resistor. Kemudian buat rumus untuk mencari R terbesar dan R terkecil dari inputan ketiga resistor tersebut. OUTPUT Output menyesuaikan dengan proses menu pilihan, dengan aturan sebagai berikut - Jika pilihan = A maka berisi informasi R1, R2, R3 dan Rtotal. - Jika pilihan = B maka berisi informasi R1, R2, R3 dan R terbesar atau R terkecil. Contoh Output Mencari Rtotal Rangkaian Seri R1 = ……. R2 = ……. R3 = ……. Rtot = ……. 4. Tugas Buatlah program untuk mencari Rtotal pada rangkaian paralel dengan input sejumlah n resistor maksimal 10 resistor. INPUT Jumlah Resistor yang akan dihitung [1..10] OUTPUT Mencari Rtotal di Rangkai Paralel R1 = ……. R2 = ……. R3 = ……. Rn = ......... Rtot = …….
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 14
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 15
Modul Praktikum Bahasa C
PRAKTIKUM 05 PERULANGAN Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan mengerti proses pengulanagan do while dan for. 2. Dapat menggunakan perulangan do while dan fo pada program. Pada Bahasa C terdapat 3 buah struktur loop. Pernyataan yang dipakai berupa while, do-while dan for. Berhubungan dengan penanganan loop ada beberapa pernyataan lain yang berfungsi untuk keluar dari loop yaitu break, goto dan continue. 1. do-while Ilustrasi :
Tahapan proses : mula-mula pernyataan dijalankan dulu, kemudian kondisi diuji, jika kondisi bernilai benar, maka pernyataan dijalankan lagi dan jika kondisi bernilai salah maka pernyataan tidak dijalankan lagi (berhenti).
Tubuh loop
Pernyataan
benar kondisi salah keluar loop
Sintaks : do
pernyataan while (kondisi)
2. while Ilustrasi :
Tahapan proses : Dari awal langsung dilakukan tes kondisi jika kondisi bernilai benar maka menjalankan pernyataan dan jika kondisi bernilai salah maka keluar dari loop. Jadi pada perulangan menggunakan while memungkinkan sebuah pernyataan tidak dijalankan sama sekali.
salah kondisi benar Pernyataan
keluar loop Sintaks : while (kondisi) pernyataan
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 16
Modul Praktikum Bahasa C Yang membedakan antara perulangan menggunakan do-while dan while, biasanya adalah pada pernyataan while harus diberikan terlebih dahulu inisialisasi terhadap variabel yang akan dijadikan sebagai kondisi dari while. 3. Pernyataan for Tahapan proses : Pernyataan akan dijalankan mulai dari nilai awal (ungkapan1) dan keluar dari loop jika sudah sesuai dengan nilai akhir (ungkapan2).
Sintaks : for (ungkapan1; ungkapan2; ungkapan3) pernyataan - Ungkapan1è digunakan untuk memberikan inisialisasi terhadap variabel pengendali loop. - Ungkapan2è digunakan sebagai kondisi untuk keluar dari loop. - Ungkapan3è digunakan sebagai pengatur kenaikan nilai variabel pengendali loop.
4. Contoh Program - Program 1 #include <stdio.h> #include main() { int hitung1,hitung2; hitung1 = 0; while (hitung1 < 6) { printf("Nilai Hitung %d\n",hitung1); hitung1 = hitung1 + 1; } hitung2= 6; while (hitung2 < 15) { printf("Nilai Hitung %d\n",hitung2); hitung2 = hitung2 + 1; } gets(0); return(0); } -
Program 2 #include <stdio.h> #include main() { clrscr(); int baris, kolom, hasil_tambah; for (baris = 1; baris <= 5; baris++) { for (kolom = 1; kolom <= 5; kolom++) { hasil_tambah = baris + kolom; printf (" %2d", hasil_tambah); } printf("\n \n"); } getche();return(0); }
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 17
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 18
Modul Praktikum Bahasa C
PRAKTIKUM 06 FUNGSI Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami fungsi parametrik dan non parametrik. 2. Dapat menggunakan fungsi pada pemrograman. 1. Tujuan fungsi Fungsi adalah kumpulan baris perintah (blok program) yang di buat untuk melaksanakan tugus tertentu, yang tujuanya adalah : 1. Program menjadi lebih terstruktur, sehingga mudah untuk dipahami, mencari kesalahan kode dan dikembangkan lebih lanjut. 2. Untuk mengurangi penulisan kebali kode yang telah dibuat. Fungsi memerlukan masukan yang dinamakan argumen atau parameter, yang akan diolah oleh fungsi. Hasil akhir dari sebuah fungsi adalah sebuah nilai berupa nilai keluaran fungsi. Tipe_fungsi nama_fungsi (parameter) Deklarasi parameter { bagian fungsi }
Tipe_fungsi = tipe keluaran fungsi Nama_fungsi = nama fungsi Parameter = daftar parameter Deklarasi parameter = deklarasi variabel Bagian fungsi = tubuh / isi fungsi
2. Contoh Program #include <stdio.h> main( ) { int a, b; x = isikan_a( ); printf(“ x = %d\n”,x); y = isikan_b( ); printf(“ y = %d\n”,y); } isikan_a( ) { return (0); } isikan_b( ) { return (0); } Cara Melewatkan Parameter ke dalam Fungsi Ada dua cara yang dapat dilakukan untuk melewatkan parameter, yaitu 1. Pemanggilan dengan nilai (call by value) Nilai dari parameter aktual akan disalin dalam parameter formal, sehingga nilai pada parameter aktual tidak bisa berubah sekalipun nilai parameter formalnya mengalami perubahan.
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 19
Modul Praktikum Bahasa C
A
A
B
B
Parameter Aktual
Parameter Formal
2. Pemanggilan dengan referensi (call by reference) Dengan melewatkan alamat dari suatu variabel kedalam fungsi. Dengan cara ini isi dari sebuah variabel dapat diubah diluar fungsi dengan proses perubahan didalam fungsi.
A
A
B
B
Parameter Aktual (Berupa Alamat Variabel)
Parameter Formal (Bertipe Pointer)
3. Contoh Program : 1. Melewatkan Parameter dengan Nilai (Call By Value) #include <stdio.h> void pindah_pos(int, int); main( ) { int a, b; a = 11, b = 22; printf(“Nilai awal variabel a = %d Nilai awal variabel b = %d \n”,a,b); tukar(a, b); printf(“Nilai setelah pemanggilan fungsi a = %d Nilai b = %d \n”,a,b); gets(0); return(0); } void pindah_pos(int j, int k) { int m; m = j; j = k; k = m; printf(“Nilai di akhir fungsi pindah_pos a = %d Nilai b = %d \n”, j , k); } 2. Melewatkan Parameter dengan referensi (Call By Reference) Supaya perubahan terjadi setelah pemanggilan fungsi maka yang perlu dirubah adalah tipe variabel pada Parameter Formal, Parameter Aktual yang menunjukkan alamat variabel dan tipe variabel pada fungsi sebagai berikut : a. Parameter Formal menjadi => void pindah_pos(int *pj, int *pk); b. Parameter Aktual menjadi => pindah_pos(&a , &b); c. m = *pj; *pj = *pk; *pk = m; 4. Tugas Buatlah program untuk menghitung kapasitansi, tegangan, Rtotal Seri dan Rtotal Paralel dengan masing-masing perhitungan menjadi sebuah fungsi, seperti void kapasitansi (int, int); void tegangan(int, int); void Rtotals (int, int, int); Rtotalp (int, int, int)
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 20
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 21
Modul Praktikum Bahasa C
PRAKTIKUM 07 ARRAY DAN STRING Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami fungsi parametrik dan non parametrik. 2. Dapat menggunakan fungsi pada pemrograman. Array merupakan koleksi data dengan setiap elemen data menggunakan nama yang sama dan masing-masing elemen data bertipe sama. Setiap komponen/elemen array dapat diakses dan dibedakan melalui indeks array. 1. Array berdimensi satu Pendeklarasian dengan bentuk umum berupa :
Tipe nama_var[ukuran] Contoh deklarasi : float nilai[5]; Bentuk pengaksesan
nama_var[indeks] Contoh Program #include <stdio.h> #include main() { char name[5]; name[0] = 'B'; name[1] = 'O'; name[2] = 'S'; name[3] = 'S'; name[4] = 0; /* angka nol */ printf("Namanya %s\n",name); printf("Huruf Kedua %c\n",name[1]); printf("Huruf Pertama Hilang %s\n",&name[1]); printf("Huruf Pertama Kedua Hilang %s\n",&name[2]); gets(0);return(0); } #include <string.h> #include <stdio.h> main() { char nama1[12], nama2[12], mixed[25]; char title; strcpy(nama1,"Rosalinda"); strcpy(nama2,"Aquera"); printf("Nama 1 = %s\n",nama1); printf("Nama 2 = %s\n",nama2); strcpy(mixed,nama1);
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 22
Modul Praktikum Bahasa C
}
strcat(mixed," "); strcat(mixed,nama2); printf("Nama Lengkap %s\n",mixed); gets(0);return(0);
2. Array berdimensi dua Pendeklarasian dengan bentuk umum berupa :
Tipe nama_var[ukuran1][ukuran2] Contoh deklarasi : float data_nilai[4][3] Bentuk pengaksesan
nama_var[indeks pertama] [indeks kedua] Contoh Program #include <stdio.h> main() { int i,j; int angka[8][8]; for (i = 0;i < 8;i++) for (j = 0;j < 8;j++) angka[i][j] = i + j; for (i = 0;i < 8;i++) { for (j = 0;j < 8;j++) printf("%5d ",angka[i][j]); printf("\n"); } gets(0);return(0); } 3. Latihan Buatlah contoh program yang memanfaatkan array berdimensi banyak, misalnya tiga (3) dimensi. 4. Tugas Buatlah program untuk mengoperasikan dua buah matrik berordo 3X3 dengan operator penambahan dan pengurangan .
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 23
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 24
Modul Praktikum Bahasa C
PRAKTIKUM 08 POINTER Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami konsep pointer. 2. Dapat menggunakan pointer dalam pemrograman. Pointer banyak dilibatkan dalam program C. Misalnya, untuk melewatkan string dari suatu fungsi ke fungsi yang lain. Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain. Pada kenyataan yang sebenarnya, variabel pointer (disingkat menjadi pointer) berisi alamat dari suatu obyek lain (yaitu obyek yang dikatakan ditunjuk oleh pointer).
px 1000
1000 px menunjuk ke variabel x
alamat
? 1000
x
Variabel pointer px menunjuk ke variabel x
1. Mendeklarasikan Variabel Pointer Pointer dideklarasikan dengan bentuk :
Tipe *nama_variabel; Tipe Nama_variabel
: berupa sembarang tipe variable : nama dari variable pointer
Contoh : int *nilai char *huruf1, *huruf2 2. Mengatur Pointer Agar Menunjuk ke Varibel Agar suatu pointer menunjuk ke variable yang lain, mula-mula pointer harus diisi dengan alamat dari yang akan ditunjuk. Untuk menyatakan alamat dari suatu varibel digunakan operator & (operator alamat, yang bersifat unary). Sebagai contoh, apabila nilai dideklarasikan sebagai variable bertipe int, maka : &nilai.
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 25
Modul Praktikum Bahasa C Berarti “alamat dari variable nilai”. Adapun contoh pemberian alamat ke suatu variable pointer px (yang dideklarasikan sebagai pointer yang menunjuk ke data bertipe int) yaitu : Px = &nilai; Pernyataan diatas berarti bahwa px diberi nilai berupa alamat dari variable nilai. Setelah pernyataan tersebut dieksekusi barulah dapat dikatakan bahawa px menunjuk ke variabel nilai. 3. Mengakses Isi Suatu Variabel Melalui Pointer Kalau suatu variable sudah ditunjukan oleh pointer, variabel yang ditunjuk oleh pointer dapat diakses melalui variabel itu sendiri (pengaksesan langsung) ataupun melalui pointer (pengaksean tak langsung). Pengaksesan tak langsung dilakukan dengan menggunakan simbol *. Sebagai contoh : *px menyatakan “isi atau nilai variabel/data yang ditunjuk oleh pointer px. Sebagai contoh y bertipe int, maka sesudah dua pernyataan berikut : px = &nilai; y = *px; y akan berisi nilai yang sesuai dengan nilai nilai. 4. Contoh Program Program 1 #include <stdio.h> main() { char strg[40],*there,satu,dua; int *pt,list[100],index; strcpy(strg,"Ini Adalah String Yang Ditulis"); satu = strg[0]; dua = *strg; printf("Output Pertama Adalah %c %c\n",satu,dua); satu = strg[8]; dua = *(strg+8); printf("Output Kedua Adalah %c %c\n",satu,dua); there = strg+5; printf("Output Ketiga Adalah %c\n",strg[11]); printf("Output Ke Empat Adalah %c\n",*there); gets(0);return(0); } Program 2 #include <stdio.h> int tampil(const char *); main() { char string[80]; printf("Ketiklah Kata : "); scanf("%s", string); printf("%d\n", tampil(string)); return(0); } int tampil(const char *s) { int x = 0; for ( ; *s != '\0' ; s++) ++x; return(x); } 5. Tugas Buatlah program dengan memanfaatkan pointer untuk input data dan menampilkan datanya (program bebas).
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 26
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 27
Modul Praktikum Bahasa C
PRAKTIKUM 09 DESAIN LAYAR Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami konsep desain layar. 2. Dapat menerapkan desain layar dalam pemrograman. 1. Menampilkan Keluaran ke Layar Untuk menampilkan keluaran ke layar, kita bisa menggunakan fungsi cprintf() dan cputs(). Bentuk pemakaian cprintf() adalah mirip printf(). Perbedaanya fungsi cprintf tidak akan menerjemahkan karakter \n sebagai pasangan karakter carriage-return dan linefeed (yang mengakibatkan efek pindah baris, dengan kursor berada diujung kiri), melainkan hanya sebagai linefeed. Sedangkan bentuk pemakaian cputs() mirip seperti puts(). Perbedannya cputs() tidak akan diakhiri dengan karakter baris-baru dengan sendirinya. Kecepatan penampilan keluaran dari cprintf() dan cputs() dipengaruhi oleh nilai pada variabel eksternal bernama directvideo (Variabel ini didefinisikan pada file conio.h). 2. Koordinat Layar Untuk Mode Teks Layar untuk mode teks terdiri dari 25 baris, dengan masing-masing bisa mengandung 40 kolom atau 80 kolom. Baik untuk mode 40 kolom atau 80 kolom, lokasi kiri-atas layar mempunyai koordinat (1,1). Lokasi kanan-bawah memiliki koordinat (40,25) untuk mode 40 kolom atau (80,25) untuk mode 80 kolom.
1
40
1
1
1
25
25
80
3. Menempatkan Kursor Kursor dapat ditempatkan pada suatu lokasi tertentu dengan menggunakan gotoxy(). Bentuk Penulisan : void gotoxy(x,y)
x : menyatakan kolom y : menyatakan baris
4. Memperoleh Posisi Kursor Posisi kursor dapat diperoleh dengan menggunakan wherex() dan wherey(). Bentuk Fungsi : int wherex(void) int wherey(void)
wherex() : untuk memperoleh posisi kolom tempat kursor sedang berada wherey() : untuk memperoleh posisi kolom tempat kursor sedang berada
5. Pengaturan Warna Teks Warna teks dapat diatur melalui textcolor() yang memiliki bentuk deklarasi :
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 28
Modul Praktikum Bahasa C void textcolor(warna_teks) warna_teks dapat diatur dengan memberikan nilai antara 0 sampai dengan 15 atau berupa konstanta simbolis seprti dibawah ini. Konstanta Simbolis Black Blue Green Cyan Red Magenta Brown Lightgray Darkgray Lightblue Lightgreen Lightcyan Lightred Lightmagenta Yellow White Blink
Nilai Numeris 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 128
Warna Hitam Biru Hijau Biru Sian Merah Magenta Coklat Abu-abu muda Abu-abu tua Biru cerah Hijau cerah Biru sian cerah Merah cerah Magenta cerah Kuning Putih Berkedip
6. Contoh Program Program 1 #include #include main( ) { char *kalimat = “TEKNIK KOMPUTER”; int baris, kolom; clrscr( ); textcolor(7); textbackground(3); gotoxy(10,6); baris = wherey( ); kolom =wherex( ); cputs(kalimat); cprintf(“Posisi Kursor Pada %d Posisi Kolom Pada %d”, gets(0);return(0); }
baris, kolom);
7. Tugas Buatlah program untuk menampilkan contoh menu seperi dibawah ini :
File
Edit
Ketentuan : ð ð ð ð
View
Insert
Format
Tools
Table
Windows Help
Warna Back Ground = Biru Warna Teks Menu = Putih Warna Huruf Pertama Setiap Menu = Kuning Warna Kotak jendela = Merah
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 29
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 30
Modul Praktikum Bahasa C
PRAKTIKUM 10 OPERASI KEYBORD, JAM DAN SUARA Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami penggunaan fungsi keybord, jam dan suara. 2. Dapat menggunakan fungsi-fungsi tersebut dalam pemrograman. 1. Membaca Kode Tombol Keyboard Fungsi getch() sebenarnya dapat digunakan untuk membaca sembarang tombol yang ada pada keyboard PC, termasuk tombol perluasan seperti panah-atas, Home, Alt W dan sebagainya. Cara untuk membaca kode tombol keyboard : unsigned int kar; kar = getch(); if ( kar == 0 ) kar = 256 + getch(); Cara diatas didasarkan pada sifat : - Jika tombol yang ditekan adalah sembarang tombol perluasan (extended keyboard) maka kode yang dibangkitkan berupa 2 buah karakter, dengan karakter pertama bernilai ASCII nol. Karakter kedua menyatakan kode yang spesifik bagi tombol perluasan. - Adapun bila tombol biasa (misal A atau Enter) yang ditekan, kode yang dibangkitkan berupa sebuah karakter. Tabel Kode Kedua dari Tombol Perluasan Nilai Kode Kedua Tombol yang Ditekan 15 Shift, Tab 16 – 25 Alt Q, W, E, R, T, Y, U, I, O, P 30 – 38 Alt A,S,D,F,G,H,J,K,L 45 – 50 Alt Z, X, C, V, B, N, M 59 – 68 F1, F2, F3, F4, F5, F6, F7, F8, F9, F10 71 Home 72 Panah Atas 73 PgUp 75 Panah Kiri 77 Panah Kanan 79 – 83 PgUp, Panah-bawah, PgDown, Ins, Del 84 – 93 Shift F1..F10 94 – 103 Ctrl F1..F10 104 – 113 Alt F1..F10 114 Ctrl PrtSc 115 – 116 Ctrl Panah Kiri, Panah Kanan 117 – 119 Ctrl End, PgDown, Home 120 – 131 Alt 1,2,3,4,5,6,7,8,9,0,-,= 132 Ctlr PgUp 160 Ctrl Panah Atas 164 – 166 Ctrl Panah Bawah, Ins, Del 174 – 176 Alt Home, Panah Atas 178 Alt Panah Kiri 180 Alt Panah Kanan 182 Alt End 184 – 186 Alt Pgdown, Ins, Del
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 31
Modul Praktikum Bahasa C 2. Mengetahui ada-tidaknya Tombol Yang ditekan Untuk memeriksa ada tidaknya suatu tombol yang ditekan digunakan Fungsi kbhit(). Jika tak ada tombol yang ditekan, fungsi ini menghasilkan nilai nol. Seandainya keluaran fungsi tak berupa nol, data dari tombol bisa dibaca dengan getch(). 3. Memperoleh Data Tanggal Untuk memperoleh data tanggal digunakan Fungsi getdate(). Bentuk deklarasi fungsi tersebut : void getdate(struct date *ptgl); dengan date merupakan tipe terstruktur yang didefinisikan pada file dos.h. 4. Memperoleh Data Jam Untuk memperoleh data jam pada sistem digunakan fungsi gettime(). Bentuk deklarasi fungsi tersebut : void gettime(struct time *pwaktu); Dengan time merupakan suatu tipe terstruktur yang didefinisikan pada file dos.h. 5. Membunyikan Speaker PC Speaker PC dapat dibunyikan dengan menggunakan fungsi sound(). Bentuk deklarasinya : void sound(unsigned frek); Untuk mengatur frekuensi suara, frek diisi dengan nilai yang menyatakan frekuensi dalam satuan Hertz. Untuk keperluan mengatur lamanya suara, fungsi delay() atau sleep() bisa diguanakan. Sedangkan bunyi speaker dihentikan dengan memakai nosound(). Bentuk deklarasi fungsi sound() 6. Contoh Program #include <stdio.h> #include #include <dos.h> main() { int i=1500; struct date d; struct time t; clrscr(); do { i++; if(i==2000) { i=0; } sound(i); getdate(&d); gettime(&t); gotoxy(1,1);printf(" tanggal %d bulan %d tahun %d \n ", d.da_day, d.da_mon, d.da_year); gotoxy(1,2);printf(" jam %d menit %d detik %d second %d \n", t.ti_hour, t.ti_min, t.ti_sec, t.ti_hund); } while(!kbhit());nosound(); getche(); return 0; } 7. Tugas Buatlah program untuk notasi lagu bagimu negeri dengan memanfaatkan fungsi sound ( ).
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 32
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 33
Modul Praktikum Bahasa C
PRAKTIKUM 11 FILE / BERKAS Tujuan Instruksional Setelah mengikuti praktikum ini, Mahasiswa diharapkan mampu untuk : 1. Mengenal dan memahami struktur dan operasi file 2. Dapat menggunakan konsep file tersebut dalam pemrograman. 1. Struktur File Kebanyakan program melibatkan media disk sebagai tempat untuk membaca atau merekam data. Data sendiri disimpan dalam bentuk suatu kesatuan yang disebut file. Suatu file merupakan organisasi dari sejumlah record. Masing-masing record dapat terdiri dari satu atau beberapa byte. Adapaun byte merupakan susunan dari 8 bit. 2. Tahapan Operasi File a. Membuka/mengaktifkan file Sebelum file dapat diakses, mula-mula haruslah diaktifkan terlebih dahulu. Untuk mengaktifkan digunakan fungsi fopen(). Bentuk deklarasinya : FILE *fopen(char *namafile, char *mode);b namafile : berupa nama dari file yang akan diaktifkan mode : berupa jenis operasi yang akan dilakukan terhadap file Prototipe ada pada file stdio.h b. Melaksanakan proses file Jenis operasi file dapat berupa salah satu diantara mode berikut : § r : menyatakan file hanya akan dibaca § w : menyatakan bahwa file baru diciptakan, selanjutnya operasi yang akan dilakukan terhadap file adalah operasi perekaman data. Seandainya file tersebut sudah ada pada disk, isinya yang lama akan terhapus. § a : untuk membuka file yang sudah ada pada disk dan operasi yang akan dilakukan adalah operasi penambahan data pada file. § r+ : untuk membuka file yang sudah ada, dan operasi yang akan dilakukan berupa pembacaan serta penulisan. § w+: untuk membuka file dengan tujuan untuk pembacaan atau penulisan. Jika file sudah ada, isinya akan dihapus. § a+ : untuk membuka file, dengan operasi yang dapat dilakukan berupa perekaman maupun pembacaan. Jika file sudah ada, isinya akan dihapus. Keluaran fungsi fopen() berupa pointer yang menunjuk ke tipe FILE, yaitu tipe terstruktur yang definisinya ada pada file stdio.h. berhasil-tidaknya operasi pengaktifan file dapat dilihat pada keluaran fungsi fopen(). c. Menutup file Apabila suatu file tidak diproses lagi, file pertlu ditutup. Untuk menutup file, digunakan fungsi : int fclose(FILE *pf);
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 34
Modul Praktikum Bahasa C 3. Contoh Program #include <stdio.h> FILE *baca; void BACAFILE( int[ ] ); void CETAKhuruf( int[ ] ); main() { int ISI[26] = {0}; BACAFILE(ISI); CETAKhuruf(ISI); return(0); } void BACAFILE ( int huruf[] ) { char hurufnya; if (( baca = fopen("data.txt" , "r")) == NULL) printf ("File tidak terbaca\n"); else while ( (hurufnya = fgetc(baca)) != EOF ) { hurufnya = ( (( hurufnya >= 97) || ( hurufnya <= 122)) ? hurufnya - 32 : hurufnya ); if ( (hurufnya >= 65) || (hurufnya <= 90) ) ++huruf [ hurufnya - 65 ]; } fclose(baca); } void CETAKhuruf ( int huruf[] ) { int hitung; for ( hitung = 0 ; hitung <= 25 ; hitung++ ) printf ("\n%c%5d", hitung + 65, huruf[hitung] ); gets(0); } 4. Soal Latihan Buatlah program untuk menghitung rangkaian seri dan paralel dari tiga buah resistor, dan simpanlah kedalam file “resistor.dat” 5. Tugas Buatlah program untuk mengitung rangkaian kapasitor seri dan paralel dan simpanlah datanya pada file “kapasitor”
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 35
Modul Praktikum Bahasa C Hari/Tgl :
Judul Tugas
Program Studi
TTD Dosen : Nilai :
Teknik Komputer D3
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 36
Modul Praktikum Bahasa C
Universitas STIKUBANK - Fakultas Teknologi Informasi
Halaman 37