PETUNJUK PRAKTIKUM
DASAR PEMROGRAMAN
Disusun oleh : Eko Aribowo, S.T., M.Kom. Fiftin Noviyanto, S.T., M.Cs. Dewi Pramudi Ismi, S.T., M.CompSc.
Laboratorium Komputasi Dasar Program Studi Teknik Informatika Fakultas Teknologi Industri Universitas Ahmad Dahlan 2018
1
Daftar Isi Daftar Isi ..................................................................................................................................... 2 I. STATEMENT DASAR .................................................................................................. 3 II. TINJAUAN PLATFORM .............................................................................................. 8 III. BASIC INPUT/OUTPUT ............................................................................................. 11 IV. VARIABEL, TIPE & JENIS DATA ............................................................................ 15 V. TIPE & JENIS OPERATOR ........................................................................................ 21 VI. LIBRARY STANDARD .............................................................................................. 25 VII. PENGONTROLAN & PERCABANGAN ................................................................... 31 VIII. PERULANGAN ........................................................................................................... 36 IX. PERULANGAN BERTINGKAT ................................................................................. 42 X. FUNCTION .................................................................................................................. 46 XI. ARRAY......................................................................................................................... 51 XII. STRUCTURE ............................................................................................................... 56 XIII. AKSES
FILE
................................................................................................................
62
DAFTAR PUSTAKA : ............................................................................................................ 69
I. STATEMENT DASAR Pertemuan ke Alokasi Waktu
: I : 90 Menit
Kompetensi Dasar
: Mahasiswa paham,mampu menjelaskan dan menggunakan statement input, output dan compiler dalam suatu bahasa pemrograman
Indikator
: Menuliskan program, mengubah dan memahami statement input & output,menjalankan program,meng-compile program
A. Teori Pendukung
2
Dalam Praktikum Dasar-Dasar Pemrograman ini akan digunakan bahasa pemrograman C (atau sering dikenal dengan Bahasa C), Teori yang terkait juga merupakan statemen dalam bahasa C. Sedangkan compiler yang akan digunakan sangat
tergantung
dengan
ketersediaan
di
Laboratorium.
Compiler
dapat
menggunakan Turbo C, Turbo C++, GCC dalam Linux maupun yang lain. 1. Struktur Program dalam Bhs C dan C++. Secara umum struktur dalam program dalam Bahasa C atau C++ seperti berikut #include Main () { Kumpulan statement Program. } 2. Statemen Dasar dlm C Statement
Arti
/*…*/ : Yang ada diantara tanda tersebut tidak akan diproses (biasanya hanya sebagai komentar/penjelasan) #include : perintah untuk ke C preprocessor Clrscr Main()
: membersihkan layar monitor : menunjukan bahwa dibawah statement ini adalah bagian utama program
Printf() : untuk mencetak / menampilkan yang ada diantara tanda ( ) dilayar monitor Dalam Printf juga dapat ditambahkan statemen berikut : \n : setelah tanda ini ganti baris baru \t : tabulasi horizontal. Menggerakan kursor ke tab stop berikutnya \r
: menggerakan kursor di awal baris yang bersangkutan
\a
: Alert : suara bell sistem
Scanf()
: untuk menginputkan suatu nilai dari keyboard dan disimpan dalam variabel
3
Dalam bhs C++ selain statement tersebut diatas ada statement dasar untuk output cout, dan cin untuk input dengan include directive stream.h : 3. Compiling
B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. (jawaban dituliskan pada tempat/lembar yg telah disediakan) Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten)
a. Listing 1 Tuliskan program berikut sebagai file baru 1. /* File program : prak11.cpp */ 2. #include <stdio.h> 3. main() 4. { 5. printf("Pemrograman adalah “); 6. printf(“sesuatu yang menyenangkan\n"); 7. printf("Bahasa C lebih menyenangkan\n"); 8. /* printf(“Memprogram penuh itu, tantangan”);*/ 9. printf("Testing....\n..1\n...2\n....3\n"); 10. } Program tersebut juga bisa dituliskan seperti berikut , 1.
/* File program : prak11.cpp */ 4
2. 3. 4. 5. 6. 7. 8. 9. 10.
#include <stream.h> main() { cout<<"Pemrograman adalah “<<endl; cout<<“sesuatu yang menyenangkan"<<endl; cout<<"Bahasa C lebih menyenangkan"<<endl; /* cout<<“Memprogram penuh itu, tantangan”<<endl;*/ cout<<"Testing....\n..1\n...2\n....3\n"; }
Jalankan program tersebut, dan perhatikan outputnya, bahwa output dari baris 5 dan 6 menjadi satu baris.sedangkan baris 8 tidak ada outputnya dan output dari baris 9 menjadi beberapa baris. Jelaskan kenapa demikian ! :
Gantilah baris 5 dengan statemen dibawah, dan jalankan adakah pengaruhnya ? printf("Pemrograman adalah \t\a“);
b. Listing 2 Tuliskan program baru berikut dalam file/window baru /* File program : prak12.cpp */ #include <stdio.h> main() { int Be; float la; Be=50; la=15.2567 printf("Nilai Be adalah %d\n",Be); printf("Nilai la adalah %f\n",la); printf(“Jumlah %d“,Be,”+ %f”,la,” adalah = %f“,Be+la); Printf(“Nilai la : %f\n”,la); Printf(“Nilai la : %.2f\n”,la); Printf(“Nilai la : %.1f\n”,la); }
5
Jalankan program tersebut dan perhatikan outputnya. Apa fungsi dari %d, %f,dan %.2f pada printf, jelaskan!
c. Listing 3 Tuliskan program baru berikut dalam file/window baru /* File program : prak13.cpp */ #include <stdio.h> main() { int Be; float la; printf(“Masukan Nilai Be = ”); scanf(“%d”, &Be); printf(“Masukan Nilai la = ”); scanf(“%f”, &la); printf("Jumlah Be + la adalah %f\n",Be+la); } Jalankan program tersebut dan perhatikan outputnya. Masukan suatu angka integer setelah “Masukan Nilai Be” Masukan suatu angka real setelah “Masukan Nilai la” Apa fungsi dari ”%d” dan ”&Be” pada scanf
Apa fungsi dari ”%f” dan ”&la” pada scanf Dapatkah ”%d” diganti dengan ”%f” dan sebaliknya? Jelaskan, kenapa?
6
C. Evaluasi
Dalam evaluasi ini mahasiswa harus mengerjakan tugas / soal posttest yang diberikan oleh dosen koordinator / asisten praktikum Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
7
II. TINJAUAN PLATFORM Pertemuan ke Alokasi Waktu
: II : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menggunakan bahasa pemrograman tingkat tinggi dan memahami lingkungan pengembangan C++
Indikator
: Menuliskan program, mengubah dan memahami statement input & output,menjalankan program,meng-compile program menggunakan tools maupun compile menggunakan
A. Teori Pendukung
1. Development Environment Apabila menulis program C/C++ menggunakan development tool, seperti: Dev C++, Turbo C++, Borland C++, maka tidak perlu melakukan pengaturan pada lingkungan kerjanya, karena tool-tool tersebut sudah memiliki teks editor dan compiler yang terintegrasi. Sebagai contoh penggunaan, program C/C++ dapat ditulis pada text editor yang tersedia dan dapat langsung dijalankan melalui menu Compile/Run.
2. Development Environment Setup Program C/C++ dapat juga ditulis tanpa development tools di atas, namun kita perlu menyiapkan dua software tersepisah, yaitu: Text Editor dan Compiler a. Text Editor Text
editor
digunakan
untuk
menulis
program.
Setiap
sistem
operasi
menyediakannya. Sebagai contoh: Notepad, OS Edit command, Brief, Epsilon, EMACS, VIM atau VI. Nama dan versi teks editor tersebut bervariasi sesuai dengan sistem operasi yang digunakan. File yang dibuat dengan editor tersebut disebut dengan source file. Untuk pemrograman C/C++ memiliki ekstensi .cpp, .cp atau .c b. Compiler
8
Compiler merupakan perangkat lunak yang berfungsi untuk menerjemahkan source code menjadi intruksi bagi mesin dan mengubahnya menjadi file executable. Seperti halnya text editor, compiler juga terdapat beberapa jenis tergantung pada sistem operasinya. Compiler yang umum digunakan adalah GNU C/C++. •
Pada Sistem operasi linux, menggunakan perintah: $ g++ -v
•
Untuk pengguna Mac OS, dengan mendownload GCC untuk XCode melalui http://www.developer.apple.com/technologies/tools/.
•
Sedangkan pada sistem operasi dapat menggunakan MinGW atau compiler GCC untuk platform windows.
B. Langkah Praktikum :
3.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
4.
Aktivitas Mahasiswa. (jawaban dituliskan pada tempat/lembar yg telah disediakan) Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor - Mendownload MinGW dan menginstal - Menjalankan/Compile source code C/C++ yang ditulis menggunakan MinGW. - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten)
5.
Source code yang ditulis menggunakan listing pada pertemuan 1.
C. Evaluasi
9
Dalam evaluasi ini mahasiswa harus mengerjakan tugas / soal posttest yang diberikan oleh dosen koordinator / asisten praktikum Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
10
III. BASIC INPUT/OUTPUT Pertemuan ke Alokasi Waktu
: III : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menggunakan bahasa pemrograman tingkat tinggi dan memahami lingkungan pengembangan C++
Indikator
: Menuliskan program, mengubah dan memahami statement input & output,
A. Teori Pendukung
1. Library Input/Output Pada pemrograman C++, terdapat beberapa header yang penting, antara lain: •
: File ini mendefinisikan cin, cout, cerr dan clog yang menjadi standar input/output stream.
•
: File ini mendeklarasikan layanan yang digunakan untuk formatting I/O, seperti setw dan setprecission.
•
: File ini mendeklarasikan layanan user-controlled pemrosesan file.
2. Standar output stream Cout adalah instrance dari ostream class. Perintah cout digunakan untuk menghubungkan dengan strandar perangkat device, seperti layar, printer dan sebagainya. Cout digunakan juga sebagai operator untuk penyisipan. Perintahnya diikuti dengan tanda <<.
3. Standar input stream Perintah untuk proses input adalah cin sebagai instrance class istream. Perintah ini digunakan untuk menerima perintah dari input device, seperti keyboard. Simbol untuk penggunaan cin adalah >> B. Langkah Praktikum : 11
6.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
7.
Aktivitas Mahasiswa. (jawaban dituliskan pada tempat/lembar yg telah disediakan) Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau menggunakan Tools Editor. - Menjalankan/Compile source code C/C++. - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten)
8.
Buatlah perintah berikut: // File listing 2.1
#include using namespace std; int main( ) { char str[] = "Hello C++";
cout << "Nilai string ini adalah : " << str << endl; } Jalankan perintah tersebut. Selanjutnya ubah perintah Cout menjadi Printf. Lakukan perubahan pada program agar compile successfull.
9.
Buatlah perintah berikut: // File listing 2.2
#include
12
using namespace std;
int main( ) {
char name[50]; cout << "Silahkan masukkan nama anda: ";
cin >> name;
cout << "Namamu adalah: " << name << endl; }
Jalankan perintah tersebut. Selanjutnya ubah perintah Cin menjadi Scanf. Lakukan perubahan pada program agar compile successfull
10. Buatlah perintah berikut // File listing 2.3
#include using namespace std; int main( ) { char str[] = "Tidak bisa membaca...";
cerr << "Error message : " << str << endl; } Jalankan perintah tersebut. Selanjutnya amatilah fungsi dari cerr.
11. Buatlah perintah berikut //File listing 2.4
#include namespace std;
using
int main(
) { 13
char str[] = "Unable to read....";
clog << "Error message : " << str << endl; } Jalankan perintah tersebut. Selanjutnya amatilah fungsi dari clog.
C. Evaluasi
Dalam evaluasi ini mahasiswa harus mengerjakan tugas / soal posttest yang diberikan oleh dosen koordinator / asisten praktikum Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
14
IV. VARIABEL, TIPE & JENIS DATA Pertemuan ke Alokasi Waktu
: IV : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat menggunakan tipe data & jenis variabel dalam bahasa pemrograman C / C++.
Indikator
: Menuliskan program, mengubah dan memahami tipe dan jenis2 variabel,menjalankan program,meng-compile program
A. Teori Pendukung
1. Variabel Variabel merupakan suatu nama/pengenal yang digunakan untuk menampung suatu nilai dalam program. Penentuan nama variable tersebut dalam bahasa pemrograman C/C++ harus mengikuti aturan antara lain : Pengenal harus 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 ($). Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter pertama yang akan dianggap berarti. Pengenal tidak boleh menggunakan nama yang tergolong sebagai katakata cadangan (reserved words) seperti main, include, int, float, char, dan sebagainya. Variabel yang akan digunakan dalam program harus dideklarasikan terlebih dahulu sesuai dengan tipe data yang akan digunakan.
2. Jenis Data Penentuan tipe data merupakan hal yang sangat penting dalam suatu pemrograman.
15
Tipe data yang berbeda dengan operasi yang sama bisa menghasilkan data yang berbeda. Misal data 7 dibagi 4 dengan tipe integer akan menghasilkan 1, namun jika tipe datanya float makan akan menghasilkan nilai 1.75000000. Sehingga pemilihan tipe data yang tepat sangat diperlukan karena akan menentukan efektifitas/efisiensi dalam pemrograman maupun hasilnya. Dalam Bahasa C ada 6 tipe data dasar yang umum dipakai yaitu : No Tipe Data
Nilai Jangkauan
Ukuran Format
Keterangan
1.
Char
- 128 s/d 127
1 byte
%c
Karakter / string
2.
int
- 32768 s/d 32767
2 byte
%i ,%d
Integer/bilangan bulat
3.
float
- 3.4E-38 s/d 3.4E+38
4 byte
%f
Float/bilangan pecahan
4.
double
- 1.7E-308 s/d 1.7E+308
8 byte
%lf
Pecahan presisi ganda
5.
void
-
0 byte
-
Tidak bertipe
6.
String
-
-
%s
String
Untuk setiap tipe data tersebut, dalam pencetakan/penampilan dilayar memiliki format yang berdeda pula. Format untuk tipe data integer dapat menggunakan beberapa format beikut : d
menampilkan integer decimal tanda i
menampilkan integer decimal
tanda (I dan d berbeda ketika dengan digunakan dgn scanf o
menampilkan integer octal tak bertanda u
decimal tak bertanda x / X
menampilkan integer
menampilkan integer hexadecimal tak
bertanda h/l menampilkan integer long atau short, dan diletakan sebelum tanda lain
Format untuk tipe data float dapat menggunakan beberapa format beikut : e / E
Menampilkan
exponensial f
nilai
floating
point
Menampilkan nilai floating point 16
dalm
notasi
g / G L
Menampilkan nilai floating point dalam bentuk f atau e Menampilkan nilai floating point dalam long double
B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten)
a. Listing 1 Tuliskan program berikut sebagai file baru 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
/* File program : prak21.cpp */ #include <stdio.h> main() { int Be = 345,da=-768; float la= 123.4567890123; Printf(“%d \n”,Be); Printf(“%i \n”,Be); Printf(“10%d \n”,da); Printf(“10%u \n”,da); Printf(“%hd \n”,Be); Printf(“%ld \n”,Be); Printf(“%f \n”,la); Printf(“%10.5f \n”,la); Printf(“%e \n”,la); Printf(“%g \n”,la); 17
17. 18. 19. 20.
Printf(“Perkalian Be x la = %10.3f \n”,Be*la); Printf(“Pembagian da / Be = %10.5f \n”,da/Be); Printf }
Jalankan program tersebut dan perhatikan outputnya. Apa perbedaan hasil output dari baris 9 & 10, dengan data yang sama?
Apa makna dari %m.nf pada printf? Dapatkan itu diberikan pada tiep data integer? Jelaskan!
b. Listing 2 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
/* File program : prak22.cpp */ #include <stdio.h> main() { float a,b ; int d ; char c; c=’B’; d=5 ; a= 9.25; b=0.5f*d+a; printf(“Nilai %c = %b “,c,b); }
Jalankan program tersebut dan perhatikan outputnya. Apa outputnya ?
Dapatkah statement baris 8 diganti dengan ’c = 0.5f*d+a;’? jelaskan mengapa?
18
c. Listing 3 Tuliskan program baru berikut dalam file/window baru 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
/* File program : prak23.cpp / #include <stdio.h> main() { float r, k, l, phi; phi=22/7; printf("Masukkan jari-jari lingkaran : "); scanf("%f",&r); k = 2 * phi * r; l = 0.5f * phi * r * r; printf("\nData lingkaran\n"); printf(“Nilai Phi = %8.2f \n,phi); printf("Jari-jari = %8.2f\n", r); printf("Keliling = %8.2f\n", k); printf("Luas = %8.2f\n", l); }
Jalankan program tersebut dan perhatikan outputnya. Apa fungsi / makna dari 0.5f pd statemen baris10?
C. Evaluasi
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, 1. Buatlah progam dalam Bhs C++ untuk menghitung konversi suhu dari Celcius ke Reamur dan Fahrenheit. 2. Dalam
program prak23.cpp (listing 3) diatas tambahkan program untuk
menghitung volume bola, dengan rumus = 4/3 x phi x r3 3. Dalam listing berikut , carilah kesalahan programnya dan betulkan! /* File program : prak24.cpp */ 19
#include <stdio.h> main() { int e,f; float d; d = 5.75 ; e= 4; f = 2* e + d; Printf (Nilai d = %d \n, d); Printf(“Nilai e = %e \n, e); Printf(“Nilai f = %f \n, f); }
Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
20
V. TIPE & JENIS OPERATOR
21
Pertemuan ke Alokasi Waktu
: V : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat menggunakan tipe & jenis OPERATOR dalam bahasa pemrograman C / C++
Indikator
: Menuliskan program, mengubah dan memahami tipe dan jenis2 operator,menjalankan program, meng-compile program
A. Teori Pendukung
Operator merupakan symbol yang digunakan dalam bahasa pemrograman untuk melakukan operasi atau manipulasi terhadap data atau variable. Dalam Bahasa C operator dapat bersifat binary atau unary. binary yaitu operator yang melibatkan 2 variabel/data atau data dan variable, misalnya : a + b, a * b, a - b unary adalah operator yang melibatkan I variable / data, misalnya : - c, ++a Unary memiliki prioritas yang lebih tinggi daripada bentuk binary Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah : *
perkalian
/
pembagian
%
modulu / sisa pembagian
+
penjumlahan
-
pengurangan
Adapun operator yang tergolong sebagai operator unary. -
tanda minus
+
tanda plus
++
operator penaikan / increment 1
-- operator penurunan / decrement 1 Contoh i=i+ dapat juga ditulis i++ j= j-1 dapat juga ditulis j-22
Urutan pengerjaan operator aritmatika dalam bahasa C adalah seperti berikut : Prioritas Operator Urutan Pengerjaan ( ) Tertinggi dari kiri ke kanan ! ++ -- + dari kanan ke kiri * / % dari kiri ke kanan + dari kiri ke kanan Terendah = += -= *= /= %= dari kanan ke kiri Selain operator tersebut juga dikenal adanya operator penugasan yaitu ‘=’. Operator tersebut digunakan untuk mengisi / memindahkan suatu nilai / konstanta / hasil operasi ke dalam suatu variable. Operator juga dapat digabungkan, misalnya a = a + 3 dapat juga dituliskan dengan a +=3 c = c * 2 dapat juga dituliskan dengan c *=2
B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten) a. Listing 1 Tuliskan program berikut sebagai file baru /* File program : prak31.cpp */ #include <stdio.h> Main() { int x=5; float y; 23
y=0.5f*x*x+2*x5; printf(“Untuk nilai x = %d \n”,x); Printf(“Nilai Y = %f\”,y); } Jalankan dan tuliskan hasilnya pada lembar jawab, perhatikan outputnya dan analisalah fungsi dari setiap statement!
b. Listing 1 Tuliskan program berikut sebagai file baru #include #include main() { float a,b,c; cout<<" Nilai a : ";cin>>a; a++; cout<<" Nilai b : ";cin>>b; b+=2; c=2*b; c/=a; cout<<"Nilai a : "<
C. Evaluasi
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum,
Lembar Jawaban
24
Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
25
VI. LIBRARY STANDARD Pertemuan ke Alokasi Waktu
: VI : 120 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan menggunakan function dalam library standard dalam bahasa pemrograman bahasa C / C++
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen function standard yang ada dalam library standard, menjalankan program dan mengcompile program
A. Teori Pendukung
Library standard dalam C++ terbagi dalam banyak bagian yang tiap bagian tersimpan dalam file header. Header merupakan file dengan extension .h yang berisi prototype dari function yang memiliki fungsi yang berhubungan dengan bagian/nama header yang ada didalam library. Header juga berisi definisi berbagai tipe class dan function, serta nilai konstanta yang dibutuhkan function-function tersebut. Secara garis besar dalam bahasa pemrograman C++ terdapat 2 jenis function, yaitu : Predefined functions (function standard ) : Merupakan fungsi dasar yg telah disediakan C++. Seperti setw(), strlen(), getch() dll User-Defined functions : Fungsi yang dibuat oleh programer sendiri sesuai dengan kebutuhan. Jenis fungsi ini yang akan dibahas dan dicontohkan dalam bab sendiri. Dalam bab ini yang akan dibahas adalah mengenai fungsi standard yang ada dalam library C++. Library yang kebanyakan ada dalam compiler secara umum adalah seperti dalam table dibawah.
26
Library
<string>
Diskripsi Berisi prototype fungsi input output Berisi prototype fungsi untuk maipulasi data input yang menformat data tersebut Berisi prototype fungsi untuk fungsi matematis Berisi prototype fungsi untuk konversi angka ke teks, teks ke angka, alokasi memori, angka random dan berbagai fungsi utilitas lain. Berisi prototype fungsi untuk manipulasi atau akses tgl dan waktu Berisi prototype fungsi untuk pemrosesan string dengan style C Berisi prototype fungsi untuk akses input output dalam file dalam media simpan Berisi definisi class string dari C++ Berisi prototype fungsi untuk standard input output dalam style C
Contoh fungsi yang ada di cmath.h, yang merupakan library untuk fungsi matematik dasar, seperti dalam table: Fungsi Diskripsi Contoh sqrt(x) Untuk mendapatkan akar dari nilai x pow(x,y) Pangkat dari nilai x terhadap y ceil(x) Pembulatan nilai x ke nilai integer terkecil dari x cos(x) Menghasilkan Nilai cosinus dari x tan(x) Menghasilkan Nilai tangen dari x sin(x) Menghasilkan Nilai sinus dari x log(x) Menghasilkan Nilai logaritma natural dari x log10(x) Menghasilkan Nilai logaritma basis 10 dari x floor(x) Pembulatan ke atas dari nilai x fmod(x,y) Modulus terhadap nilai float x terhadap nilai float y exp(x) Menghasilkan nilai exponential dari x
B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. (jawaban dituliskan pada tempat/lembar yg telah disediakan) Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk
27
praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ -
Menjalankan / me-runing dan meng-compile program
-
Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk
-
(jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten)
3.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ -
Menjalankan / me-runing dan meng-compile program
-
Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk
-
(jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten)
a. Listing 1 Tuliskan program berikut sebagai file baru
Jalankan program tersebut, dan perhatikan outputnya, ubah-ubahlah beberapa parameter yang ada sehingga anda paham betul fungsi dari setiap statemen yang ada.
Tugas : Ubahlah minimal 3 parameter/instrument/konstanta
28
yang ada dan apa outputnya, serta perhatikan outputnya kaitannya dgn perubahan yang anda lakukan b. Listing 2 Tuliskan program berikut sebagai file baru
Jalankan program tersebut, dan perhatikan outputnya. Tugas : Tambahkan penggunaan dari fungsi matematis yang lain yang ada ditabel diatas dan jalankan serta amati outputnya, perhatikan dan analisalah penggunaan yang ada. c. Listing 3 Tuliskan program berikut sebagai file baru
Jalankan program tersebut, dan perhatikan outputnya.
29
C. Evaluasi
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
30
31
VII.
PENGONTROLAN & PERCABANGAN
Pertemuan ke Alokasi Waktu
: VII : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat menggunakan statement pengontrolan IF dan SWITCH CASE dalam bahasa pemrograman C / C++
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen IF dan SWITCH-CASE dan ,menjalankan program, meng-compile program
D. Teori Pendukung
Dalam implementasi pemrograman banyak masalah yang harus diselesaikan dengan cara memilih / mengambil keputusan. Statemen yang disediakan dalam Bahasa C / C++ ada 3 statemen yaitu : a. Statement IF untuk melakukan pemilihan / pemanggilan keputusan, memiliki statement dasar seperti berikut if (test-condition) statement b. Statement IF … ELSE untuk melakukan pemilihan minimal 2 alternatif, memiliki statement dasar seperti berikut if (test-condition) statement1 else statement2 c. Statement Switch digunakan untuk melakukan pemilihan diantara beberapa pilihan yang disediakan, memiliki statement dasar seperti berikut switch (integer-expression) { case label1 : statement(s) case label2 : statement(s) ... default : statement(s) } d. Logical Operator sebagai operator dlm pemilihan /pengontrolan Operator makna/arti && and || or 32
!
not
E. Langkah Praktikum :
4.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
5.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke Dosen koordinator praktikum/ asisten) d. Listing 1 Tuliskan program berikut sebagai file baru /* File program : prak41.cpp */ #include #include main() { int t,l,Luas; t=0;l=0;Luas=0; cout<<"Minghitung luas segitiga"<<endl; cout<<"Masukan Tinggi : ";cin>>t; cout<<"Masukan Lbar : ";cin>>l; if (t<10) {Luas=(t*l)/2; cout<<"Luas = "< 33
#include main() { int x; cout<<"Nilai X = ";cin>>x; if (x % 2 == 0) cout<<"Genap"; else cout<<"Ganjil"; getch(); } Jalankan program tersebut secara berulang dengan beberapa nilai input yang berbeda, dan perhatikan korelasi input dan outputnya f. Listing 3 contoh SWITCH Tuliskan program berikut sebagai file baru /* File program : prak43.cpp */ #include #include main() { int number; cout<<"Enter a positive integer number: "; cin>>number; switch (number) { case 1: cout<< "One!!"; break; case 2: cout<< "Two!!"; break; case 3: cout<< "Three!!"; break; default: cout<< "Others"; break; } } Jalankan program tersebut secara berulang dengan beberapa nilai input yang berbeda, dan perhatikan korelasi input dan outputnya
g. Listing 4 contoh dengan operator logical Tuliskan program berikut sebagai file baru /* File program : prak44.cpp */ #include #include 34
main() { char ch; cout<<"Masukan sembarang character : ";cin>>ch; if((ch>='a' && ch <= 'z')||(ch>='A' && ch<='Z')) {cout<<"Yang anda ketik adalah alphabetic";} else {cout<<"Yang anda ketik adalah bukan alphabetic";} getch(); } Jalankan program tersebut secara berulang dengan beberapa nilai input yang berbeda, dan perhatikan korelasi input dan outputnya
F. Evaluasi
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
35
VIII. Pertemuan ke
PERULANGAN
: VIII 36
Alokasi Waktu
: 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat menggunakan perulangan looping dalam membuat program dalam bahasa pemrograman C / C++
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen While,do..while dan for,menjalankan program, meng-compile program.
A. Teori Pendukung
Dalam implementasi pemrograman banyak masalah yang harus diselesaikan secara berulang. Untuk menghindari penulisan statement tersebut secara berulang maka digunakan statement perulangan / looping. Statement yang disediakan dalam Bahasa C / C++ untuk perulangan ini ada 3 yaitu: a. For , bentuk umum statement ini adalah : for (expression1; expression2; expression3) statement; –
Expression1: inisialisasi nilai awal variabel
–
Expression2: kontrol kondisi perulangan, biasanya merupakan batas akhir perulangan, ekspresi ini biasanya dalam bentuk tes kondisi
–
Expression3: perubahan yg akan dijalankan dari nilai awal variabel sampai akhir, atau merupakan step
b. While bentuk umum statement ini adalah while (condition) statement; –
condition : seperti halnya dalam Statement IF, condition merupakan ekspresi yg memberikan nilai kembalian benar atau salah
– –
Selama condition benar, maka statement akan dilakukan Setelah kondisi tidak terpenuhi maka melanjutkan statement diluar perulangan
c. Do ..While, secara umum bentuk statement dasar dari do { 37
statement; } while (condition); – Perulangan do…while sama halnya dengan perulangan while, hanya saja pengecekan kondisi dilakukan setelah pengerjaan pertama, sehingga dengan perulangan do while pasti dilakukan minimal 1 kali apapun kondisinya B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke dosen koordinator praktikum/ asisten) a. Listing 1 contoh perulangan dengan For Tuliskan program berikut sebagai file baru /* File program : prak51.cpp */ #include #include main() { int c;float r,f; /*for(c=1;c<30;c++) cout<<"-";*/ cout<<"----------------------------"; cout<<"\n"; cout<<"Celcius Reamur Fahrenheit \n"; for(c=1;c<30;c++) cout<<"-"; /* dikerjakan dlm perulangan c */ cout<<"\n"; for(c=10;c<100;c+=10) { r=c*10;f=c+32; cout<
} Jalankan program tersebut secara berulang dengan beberapa nilai input yang berbeda, dan perhatikan korelasi input dan outputnya b. Listing 2 contoh 2 dengan perulangan For Tuliskan program berikut sebagai file baru /* File program : prak52.cpp */ #include; #include main() { int n,i; for ( n=0, i=10 ; n!=i ; n++, i-- ) { cout<<"Nilai n = "<
Tuliskan program berikut sebagai file baru /* File program : prak54.cpp */ #include; #include main() { char tek[11]="INFORMATIKA"; int i=0; while (tek[i]!=NULL) { cout << tek[i]<<endl; i++; } getch(); } Jalankan program tersebut secara berulang dengan variabel yang diubahubah, dan analisalah korelasi input dan outputnya e. Listing 5 Tuliskan program berikut sebagai file baru /* File program : prak54.cpp */ #include; #include main() { int nilai=10; do{ cout <<"Total = "<
C. Evaluasi
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, 40
Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
41
IX. PERULANGAN BERTINGKAT
42
Pertemuan ke Alokasi Waktu
: IX : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat menggunakan perulangan dalam membuat program dalam bahasa pemrograman C / C++
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen While,do..while dan for,menjalankan program, meng-compile program.
A. Teori Pendukung
Materi praktikum ini merupakan kelanjutan dari materi sebelumnya tentang prulangan, sehingga teori yang digunakan mengacu pada praktikum ke V.
B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke dosen koordinator praktikum/ asisten) a. Listing 1 contoh perulangan dengan For Tuliskan program berikut sebagai file baru /* File program : prak61.cpp */ #include; #include main() { int i,j; for (i=1;i<=5;i++) { cout<<<endl; 43
for (j=1;j<=3;j++) cout<<" "<<j; cout<<endl; } getch(); } Jalankan program tersebut secara berulang dengan variabel yang diubahubah, dan analisalah korelasi input dan outputnya b. Listing 1 contoh perulangan bertingkat dengan For Tuliskan program berikut sebagai file baru /* File program : prak62.cpp */ #include; #include #include main() { int i,j; cout<<”Tabel Perkalian \n\n”; for (i=1;i<=10;i++) { cout<<setw(5)< #include main() { int i,nila i_mhs[ 44
10]; float rerata ,jumla h; cout<<" Menghitung nilai Mahasiswa : \n"; i=0; while (i<=10) { cout<<" masukan nilai untuk mahasiwa ke "<<<" : "; cin>>nilai_mhs[i]; jumlah=jumlah+nilai_mhs[i]; i+=1; } rerata=jumlah/10; cout<<"Jumlah Nilai = "<<jumlah<<"\n"; cout<<"Rerata Nilai = "< #include main() { int i,j; char tek[11]="INFORMATIKA"; for (i=0;i<11;i++) {cout<<<endl; { for (j=0;j<=i;j++) cout<<" "<< tek[j]; cout<<endl;} } getch(); } Jalankan program tersebut secara berulang dengan nilai variabel yang diubah-ubah, perhatikan dan analisalah korelasi input dan outputnya
C. Evaluasi
45
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
46
X. FUNCTION Pertemuan ke Alokasi Waktu
: X : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat membuat fungsi (function) dalam bahasa pemrograman bahasa C / C++
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen Function, menjalankan program dan meng-compile program.
A. Teori Pendukung
Fungsi merupakan sekelompok code / program yang digunakan untuk menjalankan tugas khusus, dapat ditulis sekali dan digunakan secara berulang, tanpa harus menulis ulang. Fungsi dapat diletakan dalam librabry/file header. Jika program lain akan menggunakan maka hanya cukup dimasukan dengan include pada awal program. Fungsi dapat dibedakan dalam 2 kategori : Predefined functions (function standard ) : Merupakan fungsi dasar yg telah disediakan C++. Seperti strlen(), getch() dll User-Defined functions : Fungsi yang dibuat oleh programer sendiri sesuai dengan kebutuhan. Jenis fungsi ini yang akan dibahas dan dicontohkan dalam praktikum ini, Fungsi memiliki format tipedatakembalian NamaFunction (tipedata variable1, tipedata variable2, tipedata variable3, …..) { deklarasi variable lokal; statements; return tipedatakembalian; } Tipedatakembalian merupakan / menunjukan tipe data yang akan dikembalikan ketika fungsi tsb akan dipanggil. Hanya ada satu nilai kembalian dari function.
47
Suatu fungsi yang tidak memiliki nilai kembalian maka nilai kembaliannnya dgn tipe ‘void’. Jika function tidk ada argumen input, maka tipe data void digunakan sebagai argumen. Pemanggilan fungsi sama seperti halnya pemanggilan fungsi dasar
B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke dosen koordinator praktikum/ asisten) a. Listing 1 contoh fungsi yang tidak memiliki nilai kembalian (void) dan nilai argumen integer (n) Tuliskan program berikut sebagai file baru /* File program : prak71.cpp */ #include #include /* fungsi untuk mencetak garis dgn panjang n karakter */ void cetakgaris(int n) { int i; for(i=0;i<=n;i++) cout<<"-";cout<<"\n"; } main() { cetakgaris(15);//pemanggilan fungsi getch(); } 48
Jalankan program tersebut secara berulang dengan nilai variabel yang diubahubah, atau dengan cara pemanggilan fungsi yang berubah dan analisalah korelasi input dan outputnya b. Listing 2 contoh fungsi denga nilai kembalian int dan 2 nilai argumen yang bertipe integer Tuliskan program berikut sebagai file baru /* File program : prak72.cpp */ #include #include int Luas(int x,int y) {int hasil; hasil =x*y; return hasil; } main() { int p=0,l=0,k; cout<<"Menghitung Luas Persegi 4"<<endl; cout<<endl<<"Masukan Panjang : ";cin>>p; cout<<endl<<"Masukan Lebar : ";cin>>l; k=Luas(p,l);//pemanggilan fungsi cout<<endl<<"Luas = "<< k; getch(); } Jalankan program tersebut secara berulang dengan nilai variabel yang diubahubah, atau dengan cara pemanggilan fungsi yang berubah dan analisalah korelasi input dan outputnya c. Listing 3 contoh beberapa fungsi dengan berbagai bentuk Tuliskan program berikut sebagai file baru /* File program : prak73.cpp */ #include #include int Luas(int x,int y) {int hasil; return hasil =x*y; } 49
float KLL(int r) { float keling,phi=22/7; keling=2*phi*r; return keling; } void cetakgaris(int n) { int i; cout<<"\n\n"; for(i=0;i<=n;i++) cout<<"-";cout<<"\n"; } main() { int p=0,l=0; float K; cout<<"Menghitung Luas Persegi 4"<<endl; cout<<endl<<"Masukan Panjang : ";cin>>p; cout<<endl<<"Masukan Lebar : ";cin>>l; cout<<endl<<"Luas = "<< Luas(p,l);//pemanggilan fungsi cetakgaris(20);//pemanggilan fungsi cout<<"\n\n"; cout<<"Masukan jari : "; cin>>l; K=KLL(l);//pemanggilan fungsi cout<<"Keliling Lingkaran = " <
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
50
51
XI. ARRAY Pertemuan ke Alokasi Waktu
: XI : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat menggunakan ARRAY dalam bahasa pemrograman bahasa C / C++ untuk menyelesaikan persoalan terkati dengan array
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen ARRAY, menjalankan program dan meng-compile program.
B. Teori Pendukung
Array merupakan kelompok lokasi memory yg dihubungkan secara nyata bahwa semua memiliki nama dan tipe data yg sama. Compiler harus menyediakan/ mengalokasi tempat untuk setiap element dari array yg dideklarasikan. Ukuran dari array statis (fixed) selama ekskusi program. Untuk merujuk lokasi bagian/elemen array digunakan index/sub scrip dan posisi nomor dari bagian/elemen array tersebut. Array dideklarasikan spesifikasi tipe data, yang memuat nama dan ukuran , yg mana komputer akan menyediakan sejumlah memory sesuai yg dideklarasikan
Syntax
umum: data_type array_name[size]; Alamat / nomor index array defaultnya dari 0 contoh: –
int nilai[100];
–
char nama[20];
–
double bigval[5*200];
–
int a[27], b[10], c[76];
Ada 2 cara untuk menginisialisasi nilai array : saat kompilasi dan saat ekskusi Contoh deklarasi saat kompilasi dengan nama variable arr : –
int arr[ ] = {1, 2, 3, 4, 5}; array tak berukuran 52
Kita dapat mendefinisikan berapa elemen yg kita butuhkan tanpa memberikan ukurannya –
int arr[3] = {90, 21, 22}; Kita dpt mendefinisikan hanya 3 elemen dengan ukuran diberikan
–
int arr[5] = {2,4}; Inisialisasi 2 elemen pertama dgn nilai 2 dan 4, sedangkan elemen lain diinisialisasikan dengan nol
–
int arr[5] = {0}; Inisialisasi semua elemen array dengan nol
C. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke dosen koordinator praktikum/ asisten) a. Listing 1 contoh fungsi yang tidak memiliki nilai kembalian (void) dan nilai argumen integer (n) Tuliskan program berikut sebagai file baru /* File program : prak81.cpp */ #include #include main() { int i,total,jum_mhs[7]={40,37,38,34,39,36,34}; total=0; for(i=1;i<7;i++) 53
{ cout<<"Jumlah Mhs Kelas "<<(i)<<" : " <<jum_mhs[i]<<endl; total+=jum_mhs[i]; } cout<<"-------------------------"<<endl; cout<<"Jumlah Total mahasiswa = "< #include #include main() { int i,j,hasil[4][2]; data[4][2]={5,6,3,7,8,1,9,2}, data2[4][2]={6,3,2,7,8,1,5,9};
int
//untuk menampilkan isi matrik cout<<"Isi variabel data adalah "<<endl; cout<<"-------------------------\n\n"; cout<<" MATRIK 1 | MATRIK 2 "<<endl; for (i=0;i<4;i++) { for(j=0;j<2;j++) { cout<<" "<
} Jalankan program tersebut secara berulang dengan nilai variabel yang diubahubah, perhatikan dan analisalah korelasi input dan outputnya c. Listing 3 contoh pemanfaatan array dalam pencarian data Tuliskan program berikut sebagai file baru /* File program : prak83.cpp */ #include #include main() { int i,cari,data[10]={5,8,6,2,9,4,7,3,1,0}; cout<<"Data yang dicari : ";cin>>cari; for (i=0;i<10;i++) { if (data[i]==cari) {cout<<"Ketemu pada index "<
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
55
56
XII.
STRUCTURE
Pertemuan ke Alokasi Waktu
: XII : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat menggunakan struktur (struct) data / tipe data baru dalam bahasa pemrograman bahasa C / C++
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen STRUCT, menjalankan program dan meng-compile program.
A. Teori Pendukung
Dlm kebanyakan bhs Pemrograman memungkinkan kita buat tipe data sendiri.Tipe data buatan / definisi sendiri dalam Bhs C / C++ disebut Structure. Structure dapat berisi beberapa tipe data dan Structure lainnya. Konsep dasar dari Structure adalah hampir sama dgn Array kecuali dalam Array semua tipe data sama, maka dalam Structure tipe data dapat berbeda. Structure adalah turunan dari tipe data yang menggambarkan
item data yang
berhubungan yang sering disebut komponen / elemen / anggota yang tipe datanya tidak harus sama. Contoh –
Tipe Data Mhs •
–
Mhs
terdiri : NIM, Nama, Alamat
Tipe Tgl •
Tgl, Bln, Tahun
Deklarasi Structure didalam bahasa C /C++ secara umum adalah seperti berikut : struct namastructure { tipedata element1; tipedata element2; ... 57
}; Contoh: struct Mahasiswa { int
nim;
char
nama[30];
char
alamat[50];
}; Setelah tipe Structure dideklarasikan, kita dpt menggunakan tipe data tsb untuk mendefinisikan suatu variabel. Deklarasi bariabel Structure membutuhkan : –
Kunci struct
–
Nama tipe Structure
–
Daftar anggota (nama variabel) dipisahkan dgn koma – Ditutup dgn semicolon
B. Langkah Praktikum :
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke dosen koordinator praktikum/ asisten) a. Listing 1 contoh program dgn struct mahasiswa dan cara pemanggilan/ pengunaannya. Tuliskan program berikut sebagai file baru /* File program : prak91.cpp */ #include #include <string.h> 58
#include struct mahasiswa{ char nama[20]; int id; }; void display(mahasiswa s1) { cout<<"Nama: "<<s1.nama<<"\n"; cout<<"ID : "<<s1.id; } main() { mahasiswa mhs; /*initialisasi variable */ strcpy(mhs.nama, "Ahmad"); mhs.id = 12345; display(mhs); getch(); } Jalankan program tersebut secara berulang dengan nilai variabel yang diubahubah, perhatikan dan analisalah korelasi input dan outputnya b. Listing 2 contoh program dgn struct Tuliskan program berikut sebagai file baru /* File program : prak92.cpp */ #include #include <string.h> #include struct mahasiswa{ char name[20]; int id; }; struct mahasiswa read(void); void main(void) { struct mahasiswa mhs; 59
/* prototipe function */
mhs = read(); /*memanggil function read*/ cout<<"Nama: ", mhs.name; cout<<"ID : ", mhs.id; getch(); } struct mahasiswa read(void) { struct mahasiswa s1; cout<<"Masukan nama :"; cin>>s1.name; cout<<"Masukan ID :"; cin>>s1.id; return s1; } Jalankan program tersebut secara berulang dengan nilai variabel yang diubah-ubah, perhatikan dan analisalah korelasi input dan outputnya c. Listing 3 contoh program dengan struct dan fungsi Tuliskan program berikut sebagai file baru /* File program : prak93.cpp */ #include #include <stdio> #include struct nilai{ int nim; int nilai;}; nilai masuk(void) { nilai n; cout<<" Masukan NIM : ";cin>>n.nim;cout<<endl; cout<<" Masukan Nilai : ";cin>>n.nilai;cout<<endl; return n; } void tampil(nilai nil) { cout<<" NIM : "<
Nile=m asuk() ; tampil (Nile) ; getch( ); } Jalankan program tersebut secara berulang dan perhatikan, amati dan analisalah korelasi statement yang ada dengan output yang dihasilkan Jika ada yang kurang paham silahkan ditanyakan pada asisten / dosen. C. Evaluasi
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, Lembar Jawaban Paraf & Initial Asisten Nilai :
Tanggal :
Keterangn :
61
62
63
XIII.
AKSES FILE
Pertemuan ke Alokasi Waktu
: XIII : 90 Menit
Kompetensi Dasar
: Mahasiswa paham, mampu menjelaskan dan dapat membuat program sederhana dalam bahasa C/C++ untuk mengakses file teks.
Indikator
: Menuliskan program, mengubah dan memahami cara penulisan dan pemakaian statemen pengaksesan file teks, menjalankan program dan meng-compile program.
A. Teori Pendukung
Dalam hampir semua bahasa pemrograman termasuk C/C++ terdapat fasilitas untuk mengakses file external (yang tersimpan dalam media simpan external /disk). Dalam bahasa C/C++ referensi yang digunakan untuk mengakses file adalah dengan library standard <stdio.h> , yang mana library tersebut menyediakan beberapa fungsi manipulasi file. Untuk mengakses file digunakan deklarasi umum file seperti berikut : FILE * internal_file_name; –
Menyatakan bahwa internal_file_name menunjuk pada struktur file
–
Jika ada lebih dari 1 file, maka setiap file membutuhkan FILE pointer sendiri
–
internal_file_name merupakan nama file eksternal yg digunakan untuk menyimpan dalam media simpan eksternal
–
jika file tidak berada pada direktori aktif maka harus disebutkan alamat folder/direktorinya
Sebelum kita memproses file, kita haris membuka atau membuat file Syntax untuk fungsi fopen( ):
64
internal_file_name = fopen(external_file_name, OpenMode); Fungsi fopen() membutuhkan 2 argumen : nama file dan mode file untuk daftar mode buka file yg dapat dihubungkan dgn fopen(). –
“r” : untuk membuka file pd mode input shg data dpt dibaca dari file tersebut. File yg dibuka harus berada dalam disk yg aktif
–
“w” : berarti file disediakan untuk output dan untuk ditulisi data
–
“a” : berarti file untuk ditambahi data pada akhir file
–
“r+” : file dibuka untuk diupdate, dalam arti bahwa file akan dibaca dan tulis/tambahi data tanpamerusak isi
–
“w+” : menimpa file yg sudah ada atau membuka file baru untuk diupdate
–
“a+” : membuka file untuk update
Untuk contoh akan disampaikan dlm langkah praktikum. Selain fungsi fopen() yang sering dibutuhkan adalah fgetc() fgetc() merupakan fungsi yg akan membaca character dari file Syntax : variable = fgetc(internal_file_name); Dimana : Variabel merupakan nama variabel yg akan digunakan untuk menampung hasil kembalian dari fgetc(). –
Internal_file_name merupakan pointer untuk membuka file
Fungsi lainnya adalah fputc() yang merupakan fungsi yang akan menuliskan nilai character ke dalam file Syntax: –
Mnggunakan variabel character, ch : fputc(ch,internal_file_name);
–
Menggunakan nilai konstanta character : fputc(‘a’,internal_file_name);
B. Langkah Praktikum :
65
1.
Mahasiswa mengerjakan soal pre test dari asisten/koordinator praktikum : ± 15 menit (dikerjakan dilembar yang sudah disediakan)
2.
Aktivitas Mahasiswa. Dalam langkah ini mahasiswa harus melakukan sesuai petunjuk praktikum, yang antara lain berisi : Menuliskan program. Program dapat dituliskan berikut dalam teks editor atau IDE Turbo C / Turbo C++ - Menjalankan / me-runing dan meng-compile program - Mengamati ouput dan dalam beberapa statemen perlu diganti sesuai petunjuk - (jika ada kesulitan/kesalahan silahkan ditanyakan ke dosen koordinator praktikum/ asisten) a. Listing 1 contoh program dgn akses file dalam media simpan eksternal. Tuliskan program berikut sebagai file baru /* File program : prak101.cpp */ #include #include<stdio.h> main() { int i, total = 4; //deklarasi variabel FILE *dataku; //deklarasi file dengan nama yg tersimpan di dataku dataku=fopen("coba.dta","a");//deklarasi nama file coab.dta if (dataku == NULL)//cek file { cout<<"File gagal dibuka\n"; } else { for (i = 1; i <= total; i++) //perulangan sebnyak 4x { fputc('G', dataku); //mencetak huruf G dalam file fputc('\n',dataku); //cetak ganti baris dlm file } } } Jalankan program tersebut secara berulang dan perhatikan, amati dan analisalah korelasi statement yang ada dengan output yang dihasilkan.
66
Program tersebut menghasilkan file baru dengan nama COBA.DTA pada folder yang aktif. Bukalah file tersebut, perhatikan hubungan antara statement dengan outputnya. Jika ada yang kurang paham silahkan ditanyakan pada asisten / dosen. b. Listing 2 contoh 2 program dgn akses file dalam media simpan eksternal dan gabungan dengan struct Tuliskan program berikut sebagai file baru /* File program : prak101.cpp */ #include #include #include<stdio> main() { ofstream varfile; struct Mahasiswa { int Nim; char Nama[30]; char Almt[50]; }; Mahasiswa Mhs; cout<<"Masukan data Mahasiswa "<<endl; cout<<"Masukan Nim : ";cin>>Mhs.Nim; cout<<endl<<"Masukan Nama : ";cin>>Mhs.Nama; cout<<endl<<"Masukan Alamat : ";cin>>Mhs.Almt; varfile.open("data.dat"); if (varfile == NULL) { cout<<"File fail to open"; } else { varfile<<"Tampilkan Data hasilnya\n"; varfile<<"NIM\tNAMA\tALAMAT\n"; varfile<<Mhs.Nim<<"\t"<<Mhs.Nama<<"\t"<<Mhs.Almt; varfile.close(); } getch(); } 67
Jalankan program tersebut secara berulang dan perhatikan, amati dan analisalah korelasi statement yang ada dengan output yang dihasilkan. Program tersebut menghasilkan file baru dengan nama DATA.DAT pada folder yang aktif. Bukalah file tersebut, perhatikan hubungan antara statement dengan outputnya. Jika ada yang kurang paham silahkan ditanyakan pada asisten / dosen.
C. Evaluasi
Sebagai evaluasi dalam praktikum ini kerjakan soal / tugas berikut dan posttest dari asisten / koordinator praktikum, Lembar Jawaban Paraf & Initial Asisten
Nilai :
Tanggal : Keterangn :
68
69
70
71
DAFTAR PUSTAKA : 1. Materi Kuliah Dasar Dasar Pemrograman, Eko Aribowo, http://elearning.uad.ac.id/course/view.php?id=681 ,1 Juli 2017 2. P.J., Deitel & H.M. Deitel, C How to Program, Prentice Hall, New Jersey, USA, 1994 3. John Smiley, Learn to Program with C++, McGraw-Hill / Osborne, New York, 2003 4. Tan Chin Hooi, Principle of Programming, http://metalab.uniten.edu.my/~chinhooi/CSEB114 , Juli 2010
72