BUKU PETUNJUK PRAKTIKUM
ALGORITMA DAN PEMROGRAMAN
Nama: ......................... ........... .......................... ..................... ......... NIM : .................. .............................. ...................... ................ ......
JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS JEMBER 2017/2018
HALAMAN PENGESAHAN
Buku Petunjuk Praktikum Pemrograman Komputer disusun sebagai perangkat pembelajaran mata praktikum Algoritma dan Pemrograman serta pegangan pelaksanaan praktikum bagi mahasiswa praktikan maupun dosen pengampu di Laboratorium Komputer dan Multimedia, Jurusan Teknik Elektro Universitas Jember.
Jember, 25 Januari 2018
Mengetahui,
Dekan Fakultas Teknik Universitas Jember
Kepala Laboratorium Komputer dan Multimedia
Dr. Ir. Entin Hidayah, M.UM. NIP. 196612151995032001 196612151995032001
Samsul Bachri Masmachofari,S.T.,M.MT NIP. 19640317199802100 196403171998021001 1
HALAMAN PENGESAHAN
Buku Petunjuk Praktikum Pemrograman Komputer disusun sebagai perangkat pembelajaran mata praktikum Algoritma dan Pemrograman serta pegangan pelaksanaan praktikum bagi mahasiswa praktikan maupun dosen pengampu di Laboratorium Komputer dan Multimedia, Jurusan Teknik Elektro Universitas Jember.
Jember, 25 Januari 2018
Mengetahui,
Dekan Fakultas Teknik Universitas Jember
Kepala Laboratorium Komputer dan Multimedia
Dr. Ir. Entin Hidayah, M.UM. NIP. 196612151995032001 196612151995032001
Samsul Bachri Masmachofari,S.T.,M.MT NIP. 19640317199802100 196403171998021001 1
JADWAL PELAKSANAAN PRAKTIKUM
Pertemuan 1
Kontrak Matapraktikum BAB 1 DASAR ALGORITMA C
Pertemuan 2
Pengambilan data Percobaan 1
Pertemuan 3
Asistensi Percobaan 1 BAB 2 TIPE DASAR PEMROGRAMAN
Pertemuan 4
Pengambilan data Percobaan 2
Pertemuan 5
Asistensi Percobaan 2 BAB 3 KONDISI (if, if-else, switch)
Pertemuan 6
Pengambilan data Percobaan 3
Pertemuan 7
Asistensi Percobaan 3 BAB 4 PENGULANGAN (for, while, do-while)
Pertemuan 8
Pengambilan data Percobaan 4 , data 1-3
Pertemuan 9
Pengambilan data Percobaan 4 , data 4-6
Pertemuan 10
Asistensi Percobaan 4 BAB 5 PEMBUATAN FUNGSI
Pertemuan 11
Pengambilan data Percobaan 5
Pertemuan 12
Asistensi Percobaan 5
Pertemuan 13
Pengumpulan Laporan, dan Pemberian Tugas Besar
Pertemuan 14
Pengumpulan Tugas Besar UJIAN PRAKTIKUM
SOP & TATA TERTIB PRAKTIKUM
A. PELAKSANAAN PRAKTIKUM 1. Dosen hadir pada pelaksanaan praktikum 2. Teknisi dan asisten laboratorium harap selalu mengecek jadwal dan menyiapkan alat maupun bahan praktikum 3. Pelaksanaan praktikum harus mengacu pada SOP & Tata Tertib Praktikum, penjadwalan serta buku petunjuk petunjuk praktikum yang telah disepakati bersama 4. Laporan praktikum berbentuk jobsheet / LKS dengan nama "Buku Petunjuk Praktikum (BPP)" 5. Data praktikum yang berupa angka atapun huruf dapat ditulis pada BPP 6. Data praktikum yang berupa gambar dapat dicetak kemudian ditempel pada BPP 7. Praktikum dilaksanakan 14 kali pertemuan ditambah ujian praktikum dengan jadwal sesuai SISTER 8. Satu kali kegiatan praktikum sama dengan satu SKS sama dengan 150 menit dengan kapasitas 20 mahasiswa 9. Kegiatan praktikum terdiri dari beberapa percobaan dengan jenis kegiatan antara lain Pre-Test, Pengambilan Data, Post-Test, dan Asistensi 10. Tidak ada kegiatan praktikum yang diperbolehkan diluar jadwal praktikum B. ASISTEN LABORATORIUM 1. Asisten laboratorium diperbolehkan memandu jalannya praktikum namun tetap dalam pengawasan dosen 2. Asisten laboratorium tidak diperkenankan memberi hukuman/ hukuman/ sanksi serta penilaian 3. Asisten laboratorium diperbolehkan melakukan pengecekan pengecekan data-data hasil praktikum C. MAHASISWA 1. Mahasiswa wajib memakai jas lab saat pelaksanaan kegiatan praktikum. Bagi mahasiswa yang tidak menggunakan jas lab dilarang mengikuti kegiatan praktikum. 2. Toleransi keterlambatan 15 menit bagi mahasiswa, terlambat lebih dari itu mahasiswa dilarang mengikuti kegiatan praktikum 3. Jika dalam suatu percobaan mahasiswa tidak mengikuti salah satu dari kegiatan tersebut, maka tetap diperbolehkan mengikuti kegiatan lain. 4. Tidak ada susulan bagi mahasiswa yang melewatkan pre-test, pengambilan data maupun post-test. Hal ini berkaitan dengan tidak diperbolehkannya kegiatan praktikum diluar jadwal praktikum. Namun, dosen diperbolehkan (tidak wajib) memberikan tugas pengganti/ tambahan kepada kepada mahasiswa untuk mengganti kegiatan yang dilewatkan. 5. Sama seperti perkuliahan, mahasiswa diperbolehkan mengikuti ujian praktikum jika memenuhi 75% kehadiran 6. Mahasiswa WAJIB mengikuti setiap instruksi dosen pengampu. Setiap tindakan mahasiswa dalam laboratorium yang diluar instruksi atau tanpa seizin dosen pengampu dapat disanksi nilai nol.
DAFTAR ISI
HALAMAN SAMPUL ............................................ .................................................................. ............................................ ............................. ....... HALAMAN PENGESAHAN ............................................ ................................................................... ........................................ ................. JADWAL PELAKSANAAN PE LAKSANAAN PRKTIKUM .......................................... ................................................................ ...................... SOP & TATA TERTIB PRAKTIKUM ......................................... ............................................................... ............................. ....... DAFTAR ISI ............................................. .................................................................... ............................................ ........................................... ...................... BAB 1
DASAR ALGORITMA C .......................................... ................................................................. ............................. ......
BAB 2
TIPE DASAR PEMROGRAMAN C ............................................ ....................................................... ...........
BAB 3
KONDISI (if, if-else, switch) .......................................... ................................................................ ......................... ...
BAB 4
PENGULANGAN PENGULANGAN (for, while, do-while) ............................................. ................................................ ...
BAB 5
PEMBUATAN FUNGSI ............................................ ................................................................... ............................. ......
DAFTAR PUSTAKA
1
DASAR ALGORITMA C
1.1
Tujuan Praktikum - Mahasiswa dapat mengerti dan mengenal apa pemrograman Bahasa C. - Mahasiswa dapat mengerti sintak-sintak pada Bahasa C, terutama yang dilakukan pada praktikum ini. - Mahasiswa dapat membuat dan membaca program yang telah dibuat. - Mahasiswa dapat membuat algoritma dan flowchart dari program yang dibuat. - Mahasiswa dapat memberi kesimpulan dari program yang telah dibuatnya.
1.2
Landasan Teori C merupakan bahasa pemrograman yang berkekuatan tinggi dan fleksibel yang telah banyak digunakan oleh para programmer professional untuk mengembangkan program-program yang sangat bervarisai dalam berbagai bidang. Pada praktikum ini kita dapat paham dan mengerti dari program-program yang kita buat. Dalam praktikum ini kita menggunakan sintak-sintak dasar dalam kerangka programnya. Setiap program yang ditulis dengan menggunakan bahasa C harus mempunyai fungsi utama yang bernama main (). Fungsi inilah yang akan dipanggil pertama kali pada saat proses eksekusi program. File header yang akan kita gunakan harus kita daftarkan dengan menggunakan directive #include. Directive #include ini berfungsi untuk memberitahu kepada kompilator bahwa program yang kita buat akan menggunakan file-file yang didaftarkan. Dalam membuat suatu program computer, kita tidak lepas dari proses masukan dan keluaran. Untuk melakukan hal tersebut, di dalam bahasa C telah disediakan fungsi pustaka, yaitu fungsi printf () dan scanf (). Fungsi printf () yang berguna untuk menampilkan keluaran data. Sedangkan fungsi scanf () untuk membaca masukan data.
1.3
Alat-alat dan Komponen - Komputer / Laptop - Software program Dev C++ - Bolpoin - Kertas
1
Buku Petunjuk Praktikum Pemrograman Komputer
1.4 1.4.1
Prosedur Percobaan Kegiatan 1 - Mencetak kalimat “Hello World!” dalam satu baris
1.4.2
Kegiatan 2 - Mencetak kalimat dalam beberapa baris, dengan tampilan sbb : Hello... ..oh my ...when do i stop? 1 ..2 ...3
1.4.3
Kegiatan 3 - Menghitung penjumlahan 1024 + 4096 dan mencetak hasilnya.
1.4.4
Kegiatan 4 - Mengisi nilai 2 variabel int, menjumlahkan kedua isi variabel tersebut dan mencetak hasilnya.
1.4.5
Kegiatan 5 - Mengisi nilai sebuah variabel float, mengalikan isi variabel tersebut dengan 50 dan mencetak hasilnya.
1.4.6
Kegiatan 6 - Menampilkan nilai sebuah bilangan float dengan tanpa menentukan format tampilannya (default ).
1.4.7
Kegiatan 7 - Menampilkan nilai sebuah bilangan float dengan format :lebar medan 10 digit dan 2 digit di belakang koma.
1.4.8
Kegiatan 8 - Menerima masukan dengan format int dan char kemudian menampilkannya kembali dengan format yang sesuai.
2
Buku Petunjuk Praktikum Pemrograman Komputer
1.5
Data Hasil Percobaan
3
Buku Petunjuk Praktikum Pemrograman Komputer
4
Buku Petunjuk Praktikum Pemrograman Komputer
5
Buku Petunjuk Praktikum Pemrograman Komputer
6
Buku Petunjuk Praktikum Pemrograman Komputer
1.6
Analisis Data dan Pembahasan
7
Buku Petunjuk Praktikum Pemrograman Komputer
1.7
Kesimpulan
1.8
Lembar Evaluasi No
8
Kegiatan
1
Tugas Pendahuluan
2
Pengambilan data 1
3
Pengambilan data 2
4
Pengambilan data 3
5
Pengambilan data 4
6
Pengambilan data 5
7
Pengambilan data 6
8
Pengambilan data 7
9
Pengambilan data 8
10
Asistensi
Buku Petunjuk Praktikum Pemrograman Komputer
Keterangan
TTD Asisten
TTD Dosen
2
TIPE DATA PEMROGRAMAN C
2.1
Tujuan Praktikum - Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya). - Menjelaskan tentang Variabel. - Menjelaskan tentang konstanta. - Menjelaskan tentang berbagai jenis operator dan pemakaiannya. - Menjelaskan tentang intruksi I/O.
2.2 2.2.1
Landasan Teori Tipe Data Dasar Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok, yang dinamakan sebagai tipe data dasar. Kelima tipe data dasar adalah: a. Bilangan bulat (integer ) b. Bilangan real presisi-tungga c. Bilangan real presisi-ganda d. Karakter e. Tak-bertipe (void ). Kata-kunci yang berkaitan dengan tipe data dasar secara berurutan di antaranya adalah int ( short int, long int, signed int dan unsigned int ), float, double, dan char .
2.2.2
Variabel Aturan penulisan pengenal untuk sebuah variabel, konstanta atau fungsi yang didefinisikan oleh pemrogram adalah sebagai berikut : a. Pengenal harus diawali dengan huruf (A..Z, a..z) atau karakter garis bawah ( _ ). b. Selanjutnya dapat berupa huruf, digit (0..9) atau karakter garis bawah atau tanda dollar ($). c. Panjang pengenal boleh lebih dari 31 karakter, tetapi hanya 31 karakter pertama yang akan dianggap berarti. d. Pengenal tidak boleh menggunakan nama yang tergolong sebagai kata-kata cadangan (reserved words) seperti int, if, while dan sebagainya.
2.2.3
Konstanta Konstanta menyatakan nilai yang tetap. Berbeda dengan variabel, suatu konstanta tidak dideklarasikan. Namun seperti halnya variabel, konstanta juga memiliki tipe. Penulisan konstanta mempunyai aturan tersendiri, sesuai dengan tipe masing-masing. a. Konstanta karakter misalnya ditulis dengan diawali dan diakhiri dengan tanda petik tunggal, contohnya : ‘A’ dan ‘@’. 9
Buku Petunjuk Praktikum Pemrograman Komputer
b. Konstanta integer ditulis dengan tanda mengandung pemisah ribuan dan tak mengandung bagian pecahan, contohnya : – 1 dan 32767 c. Konstanta real ( float dan double) bisa mengandung pecahan (dengan tanda berupa titik) dan nilainya bisa ditulis dalam bentuk eksponensial (menggunakan tanda e), contohnya : 27.5f (untuk tipe float ) atau 27.5 (untuk tipe double) dan 2.1e+5(maksudnya 2,1 x 105 ). d. Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik-ganda (“), contohnya :“Pemrograman Dasar C”. 2.2.4
Operator Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai ke suatu variabel, membandingkan kesamaan dua buah nilai. Sebagian operator C tergolong sebagai operator binary, yaitu operator yang dikenakan terhadap dua buah nilai(operand). Contoh a+b Simbol + merupakan operator untuk melakukan operasi penjumlahan dari kedua operand -nya (yaitu a dan b). Karena operator penjumlahan melibatkan dua operator ini tergolong sebagai operator binary. -c Simbol - (minus) juga merupakan operator. Simbol ini termasuk sebagai operator unary, yaitu operator yang hanya memiliki sebuah operand (yaitu c pada contoh ini).
2.3
Alat-alat dan Komponen - Komputer / Laptop - Software program Dev C++ - Bolpoin - Kertas
2.4 2.4.1
Prosedur Percobaan Kegiatan 1 (Perbedaan format %g, %e, dan %f) #include Main () { Float x; Printf (“Masukkan nilai pecahan yg akan ditampilkan : “); Scanf (“%f”, &x); Printf (“format e => %e\n”,x); Printf (“format f => %f \n”,x); Printf (“format g => %g\n”,x); }
10
Buku Petunjuk Praktikum Pemrograman Komputer
2.4.2
Kegiatan 2 (Penggunaan format panjang medan data) #include Main () { Char nama1[10]=”Dita”, nama2[10]=”Ani”, nama3[10]=”Fitri”; Float a = 88.5, b = 90.8, c = 98.2; Printf(“%8s\t %7s\t %8s”, nama1, nama2, nama3); Printf(“\n%8.2f \t %8.2f \t %8.2f”, a, b, c); }
2.4.3
Kegiatan 3 (Penggunaan operator) #include Main () { Int a, b; A = 8+2*3/6; B= (8+2)*3/6; Printf(“A=8+2*3/6\n”); Printf(“B= (8+2)*3/6\n”); Printf (“Hasil dari A = %d\n”,a); Printf(“Hasi dari B = %d\n”,b); }
2.4.4
Kegiatan 4 (Penggunaan Operator Modulus) #include Main () { Int a = 14, b = 2, c = 3, d = 4; Printf(“a=%d, b=%d, c=%d, d=%d\n\n”, a, b, c, d); Printf(“Hasil a %% b = %d \n”, a % b); Printf(“Hasil a %% c = %d \n”, a % c); Printf(“Hasil a %% d = %d \n”, a % d); Printf(“Hasil a/d*d+a%%d=%d\n”, a/d*d+a%d); }
2.4.5
Kegiatan 5 (Penggunaan Operator Increment) #include Main () { Int a = 10, b = 5; Printf(“Nilai A = %d”,a); Printf(“\nNilai ++A = %d”, ++a); Printf(“\nNilai B = %d”, b); Printf(“\nNilai –B = %d”, --b); }
11
Buku Petunjuk Praktikum Pemrograman Komputer
2.5
Data Hasil Percobaan
12
Buku Petunjuk Praktikum Pemrograman Komputer
13
Buku Petunjuk Praktikum Pemrograman Komputer
14
Buku Petunjuk Praktikum Pemrograman Komputer
2.6
Analisis Data dan Pembahasan
15
Buku Petunjuk Praktikum Pemrograman Komputer
16
Buku Petunjuk Praktikum Pemrograman Komputer
2.7
Kesimpulan
2.8
Lembar Evaluasi No
17
Kegiatan
1
Tugas Pendahuluan
2
Pengambilan data 1
3
Pengambilan data 2
4
Pengambilan data 3
5
Pengambilan data 4
6
Pengambilan data 5
7
Asistensi
Buku Petunjuk Praktikum Pemrograman Komputer
Keterangan
TTD Asisten
TTD Dosen
3
Kondisi (if, if-else, switch)
3.1
Tujuan Praktikum Menjelaskan tentang operator kondisi (operator relasi dan logika). Menjelaskan penggunaan pernyataan if, if – else, dan if dalam if (nested if). Menjelaskan tentang pernyataan switch. -
3.2
Landasan Teori Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis pernyataan, berupa : a. Pernyataan if b. Pernyataan if-else, dan c. Pernyataan switch Pernyataan-pernyataan tersebut memerlukan suatu kondisi, sebagai basis dalam pengambilan keputusan. Kondisi umum yang dipakai berupa keadaan benar dan salah.
3.2.1
Operator Relasi Operator relasi biasa dipakai untuk membandingkan dua buah nilai. Hasil pembandingan berupa keadaan benar atau salah. Keseluruhan operator relasi pada C ditunjukkan pada Tabel 3-1. Tabel 3-1. Operasi relasi Operator Makna > Lebih dari >= Lebih dari atau sama dengan < Kurang dari <= Kurang dari atau sama dengan == Sama dengan != Tidak sama dengan
3.2.2
Operator Logika. Operator logika biasa dipakai untuk menghubungkan ekspresi relasi. Keseluruhan operator logika ditunjukkan pada tabel 3-2. Tabel 3-2. Operator logika Operator Makna && dan ( AND) !! atau (OR) ! tidak ( NOT )
18
Buku Petunjuk Praktikum Pemrograman Komputer
Bentuk pemakaian operator && dan || adalah : operand1 operator operand2 3.2.3
Pernyataan if Pernyataan if mempunyai bentuk umum : if (kondisi ) pernyataan;
Bentuk ini menyatakan : - Jjika kondisi yang diseleksi adalah benar (bernilai logika = 1), maka pernyataan yang mengikutinya akan diproses. Sebaliknya, jika kondisi yang diseleksi adalah tidak benar (bernilai logika = 0), maka pernyataan yang mengikutinya tidak akan diproses. - Mengenai kodisi harus ditulis diantara tanda kurung, sedangkan pernyataan dapat berupa sebuah pernyataan tunggal, pernyataan majemuk atau pernyataan kosong. Diagram alir dapat dilihat seperti gambar 3.1.
3.2.4
Pernyataan if-else Pernyataan if-else memiliki bentuk : if (kondisi) pernyataan-1; else pernyataan-2;
19
Buku Petunjuk Praktikum Pemrograman Komputer
Diagram alir dapat dilihat seperti gambar 3.2.
Arti dari pernyataan if-else : - Jika kondisi benar, maka pernyataan-1 dijalankan. - Sedangkan bila kondisi bernilai salah, maka pernyataaan-2 yang dijalankan. Masing-masing pernyataan-1 dan pernyataan-2 dapat berupa sebuah pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Contoh penggunaan pernyataan if-else adalah untuk menyeleksi nilai suatu bilangan pembagi. Jika nilai bilangan pembagi adalah nol, maka hasil pembagian dengannilai nol akan mendapatkan hasil tak berhingga. Jika ditemui nilai pembaginya nol, maka proses pembagian tidak akan dilakukan. 3.2.5
Pernyataan if di dalam if Di dalam suatu pernyataan if (atau if-else) bisa saja terdapat pernyataan if (atau if-else) yang lain. Bentuk seperti ini dinamakan sebagai nested if . Secara umum, bentuk dari pernyataan ini adalah sebagai berikut :
if (kondisi-1) if (kondisi-2) if(kondisi-n) pernyataan; else pernyataan; else pernyataan; else pernyataan; Kondisi yang akan diseleksi pertama kali adalah kondisi yang terluar (kondisi-1). Jika kondisi-1 bernilai salah, maka statement else yang terluar (pasangan if yang bersangkutan) yang akan diproses. Jika else (pasangannya tsb) tidak ditulis, maka penyeleksian kondisi akan dihentikan. Jika kondisi-1 bernilai benar, maka kondisi berikutnya yang lebih dalam (kondisi-2) akan diseleksi. Jika kondisi-2 bernilai salah, maka statement else pasangan dari if yang bersangkutan yang akan diproses. Jika else (untuk kondisi2) tidak ditulis, maka penyeleksian kondisi akan dihentikan.
20
Buku Petunjuk Praktikum Pemrograman Komputer
Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai dengan kondisi-n, jika kondisi-kondisi sebelumnya bernilai benar. 3.2.6
Pernyataan else-if Contoh implementasi nested if ini misalnya pembuatan sebuah program kalkulator sederhana. User memberikan masukan dengan format :
operand1 operator operand2 Jenis operasi yang dikenakan bergantung pada jenis operator yang dimasukkan oleh user . Oleh karena itu program akan mengecek apakah operator berupa tanda ‘*’, ‘/’, ‘+’, ataukah tanda ‘-‘ . Jika operator berupa tanda ‘*’ maka operand1 akan dikalikan dengan operand2. Jika operator berupa tanda ‘/’ maka operand1 akan dibagi dengan operand2. - Jika operator berupa tanda ‘+’ maka oper and1 akan dijumlahkan dengan operand2. - Jika operator berupa tanda ‘-’ maka operand1 akan dikurangi dengan operand2. - Kalau operator yang dimasukkan bukan merupakan salah satu dari jenis operator di atas, maka ekspresi tersebut tidak akan diproses, dan user akan mendapatkan pesan berupa : “ Invalid operator !” 3.2.7
Pernyataan switch Pernyataan switch merupakan pernyataan yang dirancang khusus untuk menangani pengambilan keputusan yang melibatkan sejumlah alternatif, misalnya untuk menggantikan pernyataan if bertingkat. Bentuk umum pernyataan switch adalah : switch (ekspresi) { case konstanta-1: pernyataan-1; break ; case konstanta-2: case konstanta-n: pernyataan-n; break ; default : break ; } Dengan ekspresi dapat berupa ekspresi bertipe integer atau bertipe karakter. Demikian juga konstanta-1, konstanta-2, …, konstanta-n dapat berupa konstanta integer atau karakter. Setiap pernyataan-i (pernyataan-1, … , pernyataan-n) dapat berupa pernyataan tunggal ataupun pernyataan jamak. Dalam hal ini urutan penulisan pernyataan case tidak berpengaruh. Proses penyeleksian berlangsung sebagai berikut : - Pengujian pada switch akan dimulai dari konstanta-1. Kalau nilai konstanta1 cocok dengan ekspresi maka pernyataan-1 dijalankan. Kata kunci break 21
Buku Petunjuk Praktikum Pemrograman Komputer
-
-
-
harus disertakan di bagian akhir setiap pernyataan case, yang akan mengarahkan eksekusi ke akhir switch. Kalau ternyata pernyataan-1 tidak sama dengan nilai ekspresi, pengujian dilanjutkan pada konstanta-2, dan berikutnya serupa dengan pengujian pada konstanta-1. Jika sampai pada pengujian case yang terakhir ternyata tidak ada kecocokan, maka pernyataan yang mengikuti kata kunci default yang akan dieksekusi. Kata kunci default ini bersifat opsional. Tanda kurung kurawal tutup (}) menandakan akhir dari proses penyeleksian kondisi case.
3.3
Alat-alat dan Komponen - Komputer / Laptop - Software program Dev C++ - Bolpoin - Kertas
3.4 3.4.1
Prosedur Percobaan Kegiatan 1 (Pemakaian if – else untuk mengecek hasil modulus) #include main() { int bil1,bil2,sisa; printf("Masukkan bilangan pertama: "); scanf("%d",&bil1); printf("Masukkan bilangan kedua: "); scanf("%d",&bil2); sisa= bil1%bil2; printf("\n"); if (sisa==0) printf("%d habis dibagi dengan %d\n\n", bil1,bil2); else printf("%d tidak habis dibagi dengan %d\n\n", bil1,bil2); } }
3.4.2
Mengkategorikan karakter masukan #include main() { char karakter; printf("Masukkan sebuah karakter: "); scanf("%c",&karakter); if ((karakter >= 'a' && karakter <= 'z') || (karakter >= 'A' && karakter <= 'Z')) printf("%c adalah karakter alphabet \n", karakter); 22
Buku Petunjuk Praktikum Pemrograman Komputer
else if (karakter >= '0' && karakter <= '9') printf("%c adalah bilangan\n", karakter); else printf("%c adalah karakter khusus\n", karakter); } } } 3.4.3
Membuat Program - Buatlah sebuah program untuk menghitung jumlah konsumsi bahan bakar suatu mobil, dengan input kilometer awal dan akhir perjalanan, isi awal dan akhir tangki dalam liter. Sedangkan output program mencetak jarak tempuh, jumlah konsumsi, dan konsumsi per kilometer. - Buatlah sebuah program untuk mencetak bilangan terbesar dari 5 buah bilangan yang dimasukkan oleh user, dengan cara membandingkan bilangan sebelumnya dengan bilangan berikutnya. Misalnya bilangan tersebut A, B, C, D, dan E. Maka A dan B diperbandingkan. Jika A lebih besar dari B maka A dibandingkan dengan C, jika A lebih besar dari C maka A dibandingkan dengan D, demikian seterusnya sampai didapat nilai yang terbesar. - Buatlah program untuk mengetahui karakter yang diinputkan, apakah huruf Besar, huruf kecil, spasi, digit, atau yang lainnya ! Input : Masukkan karakter : A Output : karakter yang diinputkan adalah huruf besar - Buatlah program untuk mempermudah pembayaran di suatu bioskop! -
Tabel 3.1 Program pembayaran Jenis No Judul Harga 1. Jalan Sepi Rp7500 Horor 2. Rumah Sepi Rp6000 3. Rumah Hantu Rp4000 1. I Love You Rp5000 Romantic 2. Now and Forever Rp3000 3. My Girl Rp2500
Output: a. Buatlah tampilan menu b. Baru pilih horor atau romantic Horor :2 Romantic :3 c. Hitung total harga : Total Harga Rp 8500,-
23
Buku Petunjuk Praktikum Pemrograman Komputer
3.5
Data Hasil Percobaan
24
Buku Petunjuk Praktikum Pemrograman Komputer
25
Buku Petunjuk Praktikum Pemrograman Komputer
3.6
Analisis Data dan Pembahasan
26
Buku Petunjuk Praktikum Pemrograman Komputer
3.7
Kesimpulan
3.8
Lembar Evaluasi No
27
Kegiatan
1
Tugas Pendahuluan
2
Pengambilan data 1
3
Pengambilan data 2
4
Pengambilan data 3
5
Asistensi
Buku Petunjuk Praktikum Pemrograman Komputer
Keterangan
TTD Asisten
TTD Dosen
4 4.1
Tujuan Praktikum -
4.2 4.2.1
Pengulangan ( for, while, do-while)
Menjelaskan proses perulangan menggunakan pernyataan for, while, dan do-while. Menjelaskan penggunaan pernyataan break , continue, dan go to. Menjelaskan loop di dalam loop (nested loop ) dan contoh kasusnya.
Landasan Teori Pernyataan For Pernyataan pertama yang digunakan untuk keperluan pengulangan proses adalah pernyataan for. Bentuk pernyataan ini : for (ungkapan1; ungkapan2; ungkapan3) pernyataan;
Kegunaan dari masing-masing ungkapan pada pernyataan for. - Ungkapan1 : digunakan untuk memberikan inisialisasi terhadap variabel pengendali loop. - Ungkapan2 : dipakai sebagai kondisi untuk keluar dari loop. - Ungkapan3 : dipakai sebagai pengatur kenaikan nilai variabel pengendali loop. Ketiga ungkapan dalam for tersebut harus dipisahkan dengan tanda titik koma (;). Dalam hal ini pernyatan bisa berupa pernyataan tunggal maupun jamak. Jika pernyataannya berbentuk jamak, maka pernyataan-pernyataan tersebut harus diletakkan di antara kurung kurawal buka ({) dan kurung kurawal tutup (}), sehingga formatnya menjadi : for (ungkapan1; ungkapan2; ungkapan3) { pernyataan; pernyataan; } Sesungguhnya ungkapan yang dipakai sebagai kondisi keluar dari loop juga bisa dihilangkan, sehingga bentuknya menjadi for (;;) pernyataan Suatu pertanyaan mungkin timbul “Lalu bagaimana caranya kalau ingin keluar dari loop pada bentuk di atas?”. Caranya adalah dengan menggunakan pernyataan yang dirancang khusus untuk keluar dari loop.
28
Buku Petunjuk Praktikum Pemrograman Komputer
4.2.2
Pernyataan While Pada pernyataan while, pengecekan terhadap loop dilakukan di bagian awal (sebelum tubuh loop). Lebih jelasnya, bentuk pernyataan while adalah sebagai berikut : while (kondisi) pernyataan; dengan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Contoh pemakaian while misalnya untuk mengatur agar tombol yang ditekan oleh pemakai program berupa salah satu diantara 'Y','y', 'T' atau 't'. Impelementasinya :
Contoh eksekusi : Pilihlah Y atau T Pilihan anda adalah Y
29
Buku Petunjuk Praktikum Pemrograman Komputer
4.2.3
Pernyataan do-while Bentuk pernyataan do-while do pernyataan; while (kondisi)
Pada pernyataan do-while, tubuh loop berupa pernyataan,dengan pernyataan bisa berupa pernyataan tunggal, pernyataan majemuk ataupun pernyataan kosong. Pada pernyataan do, mula-mula pernyataan dijalankan. Selanjutnya, kondisi diuji. Sendainya kondisi bernilai benar, maka pernyataan dijalankan lagi, kemudian kondisi diperiksa kembali, dan seterusnya. Kalau kondisi bernilai salah pada saat dites, maka pernyataan tidak dijalankan lagi. Untuk lebih jelasnya dapat dilihat pada gambar. Berdasarkan gambar terlihat bahwa tubuh loop minimal akan dijalankan sekali. Program berikut memberikan contoh pemakaian do-while untuk mengatur penampilan tulisan "BAHASA C" sebanyak sepuluh kali. Contoh: i = 0; do { puts (“BAHASA C”); i++; } while (i<10); Pada program di atas, variabel pencacah dipakai untuk menghitung jumlah tulisan yang sudah ditampilkan pada layar. Selama nilai pencacah kurang dari 10, maka perintah : puts (“BAHASA C”); akan dilaksanakan kembali Penanganan pembacaan tombol pada contoh program pilihan.c yang memakai while di atas, kalau diimplementasikan dengan memakai do-while adalah sebagai berikut :
30
Buku Petunjuk Praktikum Pemrograman Komputer
Contoh eksekusi : Pilihlah Y atau T Pilihan anda adalah T Mula-mula tombol dibaca dengan menggunakan getchar() dan kemudian diberikan ke variabel pilihan. Sesudah itu, variabel sudah_benar akan diisi dengan nilai benar (1) atau salah (0) tergantung dari nilai pilihan. Kalau pilihan berisi salah satu diantara ‘Y’,‘y’, ‘T’ atau ‘t’, maka sudah berisi salah satu diantara ‘Y’, ‘y’, ‘T’ atau ‘t’, maka sudah_benar akan berisi benar. Nilai pada vaiabel sudah_benar ini selanjutnya dijadikan sebagai kondisi do-while. Pengulangan terhadap pembacaan tombol akan dilakukan kembali selama sudah_benar benilai salah. 4.2.4
Loop didalam Loop Dalam suatu loop bisa terkandung loop yang lain. Loop yang terletak di dalam loop biasa disebut dengan loop di dalam loop (nested loop). Salah satu contoh nested loop misalnya pada permasalahan untuk membuat tabel perkalian:
31
Buku Petunjuk Praktikum Pemrograman Komputer
Implementasi dalam program selengkapnya adalah sebagai berikut :
Bagian yang terletak dalam bingkai di depan dapat dapat diperoleh melalui
dengan MAKS didefinisikan bernilai 8. Bagian loop yang terdalam
digunakan untuk mencetak suatu deret hasil perkalian dalam satu baris. Untuk berpindah ke baris berikutnya, pernyataan yang digunakan yaitu 32
Buku Petunjuk Praktikum Pemrograman Komputer
printf(“\n”);
Adapun pencetakan untuk semua baris dikendalikan melalui for (baris = 1; baris <= MAKS; baris++) Pernyataan di atas mempunyai arti “dari baris ke-1 sampai dengan baris keMAKS”. 4.2.5
Pernyataan Break Pernyataan break sesungguhnya telah diperkenalkan pada pernyataan switch. Pernyataan ini berfungsi untuk keluar dari loop for, do-while dan while. Sedangkan pada switch yaitu untuk menuju ke akhir (keluar dari) struktur switch. Sebagai contoh dapat dilihat pada gambar 7.1. Kalau pernyataan break dijalankan maka eksekusi akan dilanjutkan ke pernyataan yang terletak sesudah akhir tubuh loop for.
Pada contoh potongan program berikut, pembacaan dan penampilan terhadap tombol yang ditekan akan berakhir kalau tombol yang ditekan adalah ENTER (‘\n’). Pernyataan yang digunakan untuk keperluan ini : if (kar == ‘\n’) break; /*keluar dari loop for */ Yang menyatakan “Jika tombol yang ditekan berupa ENTER, maka keluarlah dari loop for”. Untuk lebih jelasnya, perhatikan program di bawah ini. 4.2.6
Pernyataan Continue Pernyataan continue digunakan untuk mengarahkan eksekusi ke iterasi (proses) berikutnya pada loop yang sama. Pada do-while dan while, pernyataan continue menyebabkan eksekusi menuju ke kondisi pengujian pengulangan, seperti yang dilukiskan pada Gambar 7.2. Pada loop for, pernyataan contunue menyebabkan bagian penaik variabel pengendali loop dikerjakan (ungkapan3 pada struktur for) dan kondisi untuk keluar dari loop for (ungkapan2 pada struktur for) diuji kembali.Program ini digunakan untuk memasukkan data harus diulangi dan hal ini dikendalikan dengan continue. Untuk mengakhiri pemasukan data, data yang dimasukkan harus bernilai kurang dari 0. Perlu diketahui kondisi bernilai 1.
33
Buku Petunjuk Praktikum Pemrograman Komputer
Menyatakan bahwa kondisi selalu dianggap benar. Untuk keluar dari loop, pernyataan yang digunakan berupa break. Pengaruh continue pada loop for diperlihatkan pada dibawah ini. Program ini dipakai untuk menampilkan bilangan ganjil yang terletak antara 7 sampai dengan 25, kecuali 15.
Contoh eksekusi : 7 9
11
13
17
19
21
23
25
Pada program di atas, untuk menghindari agar nilai 15 tidak ditampilkan ke layar, pernyataan yang digunakan berupa if (x == 15) continue; Artinya, jika kondisi x == 15 bernilai benar, pernyataan continue menyebabkan pernyataan sisanya yaitu printf (“%d”,x); diabaikan dan eksekusi diarahkan kepada ungkapan : x == 2 dan kemudian menguji kondisi : x <= 23 Pada program di atas, pernyataan :
34
Buku Petunjuk Praktikum Pemrograman Komputer
dapat ditulis dalam bentuk lain sebagai berikut :
4.2.7
Pernyataan goto Pernyataan goto merupakan intruksi untuk mengarahkan eksekusi ke pernyataan yang diawali dengan suatu label. Label sendiri berupa suatu pengenal (identifier) yang diikuti dengan tanda titik dua (:). Contoh pemakaian goto ditujukan pada program dibawah ini: Pernyataan goto cetak; Mengisyaratkan agar eksekusi dilanjutkan ke pernyataan yang diawali dengan label cetak:
Mempunyai arti : - Naikkan nilai pencacah sebesar 1 - Kemudian, jika pencacah kurang dari atau sama dengan 10 maka eksekusi menuju ke label cetak. Penerapan goto biasanya dilakukan pada loop di dalam loop (nested loop), dengan tujuan memudahkan untuk keluar dari loop terdalam menuju ke pernyataan yang terletak di luar loop terluar. 4.2.7
Menggunakan exit ( ) Untuk Menghentikan Eksekusi Program. Suatu eksekusi program dapat dihentikan (secara normal) melalui pemanggilan fungsi exit( ). Hal ini biasa dilakukan, jika di dalam suatu eksekusi terdapat suatu kondisi yang tak dikehendaki. Prototipe dari fungsi exit() didefinisikan pada file stdlib.h, yang memiliki deklarasi sebagai berikut : void exit (int status);
Menurut kebiasaan, nilai nol diberikan pada argumen exit() untuk menunjukkan penghentian program yang normal. Sedangkan untuk menunjukkan kesalahan, nilai yang diberikan pada argumen fungsi diisi dengan nilai bukan-nol. Pada contoh program berikut, eksekusi program akan dihentikan hanya jika tombol ‘X’ ditekan
35
Buku Petunjuk Praktikum Pemrograman Komputer
4.3
Alat-alat dan Komponen Komputer / Laptop Software program Dev C++ Bolpoin Kertas -
4.4 4.4.1
Prosedur Percobaan Kegiatan 1 (membuat tabel dari jumlah triangular yang diinputkan) #include main () { int n, bil, jumlah = 0; printf ("Masukkan bilangan triangular : "); scanf ("%d", &bil); printf ("\nTABEL PENJUMLAHAN TRIANGULAR\n\n"); printf ("%3s%10s\n\n", "n", "Jumlah"); for (n=1; n<=bil; n++) { jumlah = jumlah + n; printf ("%3d %7d\n", n, jumlah); } }
4.4.2
Pemakaian break untuk keluar dari looping. #include main () { char kar; printf ("Ketik sembarang kalimat"); printf (" dan akhiri dengan ENTER\n\n"); 36
Buku Petunjuk Praktikum Pemrograman Komputer
for ( ; ; ) { kar = getchar (); if (kar == '\n') break; } printf ("Selesai\n"); } 4.4.3
Kegiatan 3 - Bilangan bulat factorial n, ditulis dengan n! adalah dihasilkan dari mengalikan dari 1 sampai dengan n. Contohnya 5! = 1 x 2 x 3 x 4 x 5 = 120. - Buatlah program untuk menampilkan table hasil factorial dari suatu bilangan yang diinputkan (tampilan bilangan rata kanan). Contoh : Input : Masukkan factorial = 5 Output : n n! ----------------------1 1 2 2 3 6 4 24 5 120
4.4.4
Kegiatan 4 - Buat program untuk menampilkan bilangan prima. Input : Jumlah bilangan prima = 5 Output : 2 3 5 7 11
4.4.5
Kegiatan 5 - Buatlah program untuk mencetak tampilan sebagai berikut: Input : Jumlah star = 5 Output : ***** **** *** ** * Kegiatan 6 - Buatlah program untuk menghitung deret sebagai berikut: Input : Jumlah star = 5
4.4.6
Output
37
:
1
1
1
1
2
3
4
5
1 + + + +
Buku Petunjuk Praktikum Pemrograman Komputer
4.5
Data Hasil Percobaan
38
Buku Petunjuk Praktikum Pemrograman Komputer
39
Buku Petunjuk Praktikum Pemrograman Komputer
40
Buku Petunjuk Praktikum Pemrograman Komputer
4.6
Analisis Data dan Pembahasan
41
Buku Petunjuk Praktikum Pemrograman Komputer
42
Buku Petunjuk Praktikum Pemrograman Komputer
4.7
Kesimpulan
4.8
Lembar Evaluasi No
43
Kegiatan
1
Tugas Pendahuluan
2
Pengambilan data 1
3
Pengambilan data 2
4
Pengambilan data 3
5
Pengambilan data 4
6
Pengambilan data 5
7
Pengambilan data 6
8
Asistensi
Buku Petunjuk Praktikum Pemrograman Komputer
Keterangan
TTD Asisten
TTD Dosen
5
PEMBUATAN FUNGSI
5.1
Tujuan Praktikum Menjelaskan tentang prinsip dasar fungsi. Menjelaskan tentang parameter formal dan parameter actual. Menjelaskan cara pemanggilan fungsi. Menjelaskan jenis variabel fungsi berdasarkan kelas penyimpangan.s Menjelaskan cara membuat beberapa fungsi dalam sebuah program. -
5.2
Landasan Teori Fungsi standar C yang mengemban tugas khusus contohnya adalah. printf() , yaitu untuk menampilkan informasi atau data ke layar. scanf() , yaitu untuk membaca kode tombol yang diinputkan.
Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut sebagai argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil akhir fungsi berupa sebuah nilai (disebut sebagai return value atau nilai keluaran fungsi).Oleh karena itu fungsi sering digambarkan sebagai "kotak gelap" seperti ditunjukkan pada gambar di bawah ini.
Gambar 5.1 Keluaran fungsi Parameter Formal dan Aktual
Gambar 5.2 Script Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. Pada contoh program di atas misalnya, maka dalam fungsi jumlah() variabel x dan y dinamakan sebagai parameter formal. Adapun parameter aktual 44
Buku Petunjuk Praktikum Pemrograman Komputer
adalah parameter (tidak selalu berupa variabel) yang dipakai dalam pemanggilan fungsi. Pada pernyataan : x = jumlah(a, b); y = jumlah(20.1, 45.6); a dan b merupakan parameter aktual dari fungsi jumlah() dalam hal ini parameter berupa variabel. Demikian juga 20.1 dan 45.6 adalah parameter aktual, dalam hal ini berupa konstanta. Bahkan bisa juga parameter aktual berupa ungkapan yang melibatkan operator, misalnya :
5.3
Alat-alat dan Komponen Komputer / Laptop Software program Dev C++ Bolpoin Kertas -
5.4 5.4.1
Prosedur Percobaan Kegiatan 1 (mencari bilangan prima dalam rentang 1-100) #include int cekprima(int); main() { int i; int prima; printf("Bilangan prima yang ditemukan: \n"); for (i=1;i<=100;i++) { prima = cekprima(i); if (prima==1) printf("%d\n",i); } } int cekprima(int bil) { int bagi=3; int batas; if (bil==1) return(0); else if (bil==2||bil==3) return(1); 45
Buku Petunjuk Praktikum Pemrograman Komputer
else if (bil%2==0) return(0); else while (batas > bagi) { if (bil%bagi==0) { return(0); break; } batas = bil / bagi; bagi+=2; } return(1); } 5.4.2
Kegiatan 2 Didenifisikan sebuah fungsi float konversi (suhu, asal, tuj), untuk mengkonversikan suhu dari Celcius ke Fahrenheit, Celcius ke Reamur, Fahrenheit ke Celcius, Fahrenheit ke Reamur, Reamur ke Celcius, dan Reamur ke Fahrenheit, dimana suhu adalah suhu sumber, asal adalah satuan awal suhu yang akan dikonversi dan tuj adalah satuan hasil konversi
Menulis prototipe fungsi untuk fungsi tersebut. Membuat function main () untuk memanggil function konversi (), setelah sebelumnya meminta masukan nilai suhu, satuan asal dan satuan tujuannya. Contoh tampilan : Memasukkan suhu sumber Memasukkan satuan asal Memasukkan satuan tujuan Hasil konversi suhu 100 C
46
Buku Petunjuk Praktikum Pemrograman Komputer
= 100 C =C =R = 80 R
5.5 5.5.1
Data Hasil Percobaan Kegiatan 1 Script C dan tampilan program
47
Buku Petunjuk Praktikum Pemrograman Komputer
5.5.2
Kegiatan 2 Script C dan tampilan program
48
Buku Petunjuk Praktikum Pemrograman Komputer
5.6
Analisis Data dan Pembahasan
49
Buku Petunjuk Praktikum Pemrograman Komputer
5.7
Kesimpulan
5.8
Lembar Evaluasi No
50
Kegiatan
1
Tugas Pendahuluan
2
Pengambilan data 1
3
Pengambilan data 2
4
Asistensi
Buku Petunjuk Praktikum Pemrograman Komputer
Keterangan
TTD Asisten
TTD Dosen