Selasa, 10 November 2015

Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010

  1. 1. MODUL PRATIKUM ALGORITMA DAN PEMROGRAMAN DALAM BAHASA VISUAL C++ DI SUSUN OLEH : EDI ISMANTO,S.T, M.Kom, M.Eng LABORATORIUM PEMROGRAMAN PROGRAM STUDI PENDIDIKAN INFORMATIKA (PI) FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN (FKIP) UNIVERSITAS MUHAMMADIYAH RIAU (UMRI) 2014/2015
  2. 2. I. TUJUAN UMUM PRATIKUM  Mahasiswa memahami dan mampu memecahkan masalah algoritma dan mengimplementasikan program di microsoft visual C++.  Mahasiswa mampu menggunakan macam-macam operator.  Mahasiswa memahami dan mampu menggunakan metode untuk menampilkan berbagai format ke layar.  Mahasiswa mampu memanfaatkan instruksi untuk memasukkan data dalam berbagai tipe. II. ALAT YANG DIGUNAKAN  Komputer  Microsoft Visual C++ 2010 III. DASAR TEORI  Dasar teori ini menjelaskan secara ringkas dan jelas mengenai dasar teori yang digunakan selama pratikum pada modul tertentu IV. PROSEDUR PELAKSANAAN 1. Tutorial  Membuat program sederhana menggunakan preposesor (define dan include), fungsi main (), dan variabel variabel yang menggunakan tipe data intinger, double, float, dan char.  Memanggil library kemudian menggunakan fungsi untuk menampilkan isi variabel dan untuk menerima inputan.  Melanjutkan program dengan menggunkan operator aritmatika. 2. Mahasiswa mengerjakan tugas pratikum. 3. Mahasiswa mendemokan hasil pratikum kepada asisten dan menulis laporan. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 2
  3. 3. BAB I PENGANTAR BAHASA VISUAL C++, TIPE DATA, DAN VARIABEL I. PENGANTAR MICROSOFT VISUAL C++ 2010 1.1 Sejarah bahasa C/C++ Bahasa C++ diciptakan oleh Bjarne Stroustrup di AT&T Bell Laboratories awal tahun 1980-an berdasarkan C ANSI (American National Standard Institute). Pertama kali prototype C++ muncul sebagai C yang dipercanggih dengan fasilitas kelas. Bahasa tersebut disebut C dengan kelas (C with class). Selama tahun 1983-1984, bahasa C dengan kelas disempurnakan dengan menambahkan fasilitas pembebanlebihan operator dan fungsi yang kemudian melahirkan apa yang disebut C++. Simbol ++ merupakan operator C untuk operasi penaikan, simbol itu muncul untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih canggih dari C. 1.3 Mengenal IDE Micrososft Visual C++ Visual C++ adalah sebuah produk Integrated Development Environment (IDE) untuk bahasa pemrogramanC dan C++ yang dikembangkan Microsoft. Visual C++ merupakan salah satu bagian dari paket MicrosoftVisual Studio. Bahasa ini merupakan bahasa pemrograman tingkat tinggi (kompleks). Visual C++ adalah bahasa pemrograman yang cukup populer. Hampir semua file DLL pada sistem operasi Windows dibuat menggunakan bahasa ini. Visual C++ dapat berjalan lebih cepat pada windows karena hanya memerlukan memori yang kecil. Dalam hal ini, Ms. Visual C++ lebih unggul jika dibandingkan dengan Ms. Visual Basic. Ini menjadi salah satu alasan Ms. Visual C++ lebih dipilih programmer untuk membuat berbagai aplikasi dekstop maupun antivirus.IDE dari Visual C++ dapat digunakan untuk : 1. Menulis naskah program; 2. Mengompilasi program (compile); 3. Melakukan pengujian terhadap program (Debugging); dll. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 3
  4. 4. 1.4 Alasan menggunakan Visual C++ : a. C++ adalah bahasa pemrograman yang populer saat ini Dengan banyaknya programmer bahasa C++, membawa pengaruh pada semakin banyaknya kompiler yang dikembangkan untuk berbagai platform (berpengaruh ke portabilitas). b. C++ adalah bahasa pemrograman yang memiliki portabilitas tinggi Program C++ yang kita tulis untuk satu jenis platform, bisa kita kompile dan jalankan di platform lain dengan tanpa ataupun hanya sedikit perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C++. c. C++ adalah bahasa pemrograman dengan kata kunci (keyword) sedikit Kata kunci disini adalah merupakan fungsi ataupun kata dasar yang disediakan oleh kompiler suatu bahasa pemrograman. Hal ini membawa pengaruh semakin mudahnya kita menulis program dengan C++. Pengaruh lain dari sedikitnya kata kunci ini adalah proses eksekusi program C++ yang sangat cepat. d. C++ adalah bahasa pemrograman yang fleksibel Dengan menguasai bahasa C++, kita bisa menulis dan mengembangkan berbagai jenis program mulai dari operating system, word processor, graphic processor, spreadsheets, ataupun kompiler untuk suatu bahasa pemrograman. e. C++ adalah bahasa pemrograman yang bersifat moduler Program C++ ditulis dalam routine yang biasa dipanggil dengan fungsi. Fungsi-fungsi yang telah kita buat, bisa kita gunakan kembali (reuse) dalam program ataupun aplikasi lain. Alasan paling penting memilih bahasa C++ adalah bahwa dengan bahasa ini, programer dapat membuat sebuah aplikasi yang mempunyai kemampuan yang tinggi. Dengan C++, kemampuan programer tidak dibatasi. Programer dapat membuat sebuah aplikasi berskala besar tanpa ada batasan. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 4
  5. 5. 1.5 Menggunakan Microsoft Visual C++ : Untuk memulai membuat project baru pada Visual C++ 2010, pilih File -> New - >Project atau Ctrl + Shift + N. Untuk melakukan kompilasi kode program, pilih menu Build -> Compile atau Ctrl + F7. Setelah itu untuk menjalankan program cukup tekan tombol F5 pada keyboard. Menu Item Shortcut Penjelasan Build Build Ctrl + F7 Meng-compile program Run + Debungging F5 Menjalankan program sekaligus melakukan Debugging Run Ctrl + F5 Menjalankan program tanpa melakukan debungging Rebuild All Membangun kembali dengan meng-compile program Clean Proses pembersihan terhadap kemungkinan adanya bug Program reset Enter Menutup program aktif, melepas memori, dan kembali ke IDE Visual C++ Project dan File New source file Ctrl + N Membuat source file baru New project Ctrl + Shift + N Membuat project baru Open file Ctrl + O Membuka file Open project Ctrl + Shift + O Membuka project Save Ctrl + S Menyimpan file/project dengan nama yang sama Save as Menyimpan file/project dengan nama yang berbeda Save all Ctrl + Shift + S Menyimpan semua file/ project yang terbuka pada jendela IDE VS 2010 Close Menutup file/project yang sedang terbuka di jendela IDE VS 2010 Exit Alt + F4 Keluar dari program VS 2010 Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 5
  6. 6. 1.6 Struktur Program PadaVisual C++ : Program C maupun C++ secara umum tersusun dari beberapa bagian utama, Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 6 yaitu : a. Komentar Komentar digunakan untuk memberi informasi/dokumentasi tentang program atau code yang ada. Dalam C atau C++ setiap tulisan yang diapit oleh simbol /* … */ untuk multi baris atau setiap baris yang dimulai dengan simbol // dianggap komentar dan tidak akan dikompilasi oleh compiler. Contoh komentar : b. Preprocessor Directive Preprocessor directive disebut juga pengarah compiler karena fungsinya untuk mengatur proses kompilasi. #includemerupakan satu jenis pengarah preprocessor yang digunakan untuk membaca file yang dinamakan file judul (header file). iostream, conio.h, stdio.h, windows.h, math.h, dan string.h merupakan file header yang merupakan standard library dari C++. Setiap file header berhubungan dengan perintah masukan (input), perintahkeluaran (output), dan fungsi-fungsi yang digunakan dalam suatu program.
  7. 7. File header Input Output Fungsi iostream cin cout iostream conio.h getchar getch getche clrscr() stdio.h scanf gets printf puts putchar windows.h system() math.h sqrt() pow() log10() sin() string.h strcpy() strlen() strcat() c. Fungsi utama dan fungsi tambahan Fungsi utama (main) harus ada dalam setiap program karena fungsi utama merupakan fungsi yang akan dieksekusi pertama kali. Lebih lanjut tentang fungsi akan dipelajari pada bab fungsi dipertemuan selanjutnya. d. Bagian definisi fungsi Diawali dengan tanda “{” (kurawal buka) sebagai tanda awal fungsi dan tanda “}” (kurawal tutup) sebagai tandaberakhirnya suatu fungsi, baik fungsi utama maupun fungsi tambahan. Definisi fungsi berisi sekumpulan code yang nanti akan dieksekusi bila fungsi tersebut dipanggil. Aturan umum penulisan bahasa C++ adalah sebagai berikut.  case-sensitive, yaitu bahasa C++ membedakan penulisan huruf besar dan huruf kecil, contoh A ≠ a;  setiap statementt diakhiri dengan tanda “;” (titik koma);  tidak boleh ada variabel ganda, maupun konflik dengan reserved keywords (kata-kata bawaan dari IDE), contoh : and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch, char, class, compl, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, not, not_eq, operator, or, or_eq, private, protected, public, register, return, short, signed, sizeof, Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 7
  8. 8. static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq;  pada subroutine atau fungsi harus diapit oleh kurung kurawal ({……}); dan  setiap variabel yang digunakan wajib dideklarasikan terlebih dahulu. e. Bagian Deklarasi Bagian yang akan mendeklarasikan variabel, konstanta, fungsi, dan lain-lain. Lebih lanjut tentang materi ini akan dibahas pada bab ini dan bab-bab selanjutnya. 1.7 Tipe Data Tipe data adalah suatu jenis nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel dan operator yang dapat digunakan untuk mendefinisikan objek data yang akan dimanipulasi dalam sebuah program. Jenis-jenis tipe data antara lain: Jenis Tipe Data Penjelasan Contoh Tipe data dasar (primitive data type) Tipe data bawaan dari bahasa pemrograman int, char, float, boolean Tipe data bentukan (defined data type) Tipe data bentukan user struct, enum Beberapa jenis tipe data dasar adalah : a. Tipe Data Bilangan/Angka Tipe data bilangan/angka dapat berupa int (untuk bilangan bulat/integer) atau float dan double(untuk bilangan desimal/real). Tiap tipe data tersebut memiliki jangkauan nilai yang berbeda-beda.Tipe data int, float, dan double memiliki tambahan yang dapat mengubah batas atas maupun batas bawah dari rentang konstanta yang dapat ditampung oleh tipe tersebut. Tambahan yang dapat dipergunakan adalah:  signed dan unsigned  short dan long Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 8
  9. 9. Berikut adalah macam-macam tipe data angka : Tipe Data Ukuran (bit) Jangkauan Nilai Keterangan int 16 bit -32768 s/d 32768 Bilangan bulat short int atau 16 bit -32768 s/d 32768 Bilangan bulat short long int atau long 32 bit -2147483648 s/d 2147483648 Bilangan bulat dengan rentang yang lebih luas unsigned int 16 bit 0 s/d 65535 Bilangan bulat positif unsigned short 16 bit 0 s/d 65535 Bilangan bulat positif unsigned long 32 bit 0 s/d 4294967295 Bilangan bulat positif dgn rentang yang lebih luas float 32 bit 3.4x10-38 s/d 3.4x1038 Bilangan real double 64 bit 1.7x10-308 s/d 1.7x10308 Bilangan real dengan rentang yang lebih luas long double 80 bits 3.4x10-4932 s/d 3.4x104932 Bilangan real dengan rentang terluas CATATAN! Rentang nilai ini berbeda antara satu bahasa pemrograman dengan bahasa pemrograman yang lainnya dan rentang nilai ini juga dipengaruhi oleh hardware yang digunakan. b. Tipe Data Teks Pada tipe data teks menggunakan keyword “char”.Teks dapat berupa satu karakter (char) ataupun kumpulan karakter (string). Karakter bisa berupa huruf alfabet, angka, tanda baca, operator aritmatik (+, -, /, *) dan karakter khusus (@, &, $, #, dll). Dalam penulisannya, untuk teks yang berupa 1 karakter caranya yaitu karakter ditulis di antara dua petik tunggal („..‟). Sedangkan penulisan teks dengan karakter lebih dari satu ditulis di antara dua petik ganda (“...”). Pendeklarasiannya pun diikutsertakan panjang dari nilai string tersebut. CATATAN! Perlu diingat, pada tipe data char, data tidak dapat diolah secara matematis. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 9
  10. 10. c. Tipe Data Boolean Tipe data boolean adalah tipe data hanya mempunyai 2 kondisi benar (“true”) atau salah (“false”). Untuk kondisi benar bernilai 1 dan kondisi salah bernilai 0. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 10 1.8 Variabel Variabel menyatakan objek data yang nilainya disimpan dan dapat berubah-ubah nilainya selama eksekusi berlangsung. Syarat-syarat penulisan nama variabel adalah : a. nama variabel tidak boleh sama dengan reserved keywords, function (fungsi), dan harus unik; b. maksimum 32 karakter, jika lebih maka karakter selebihnya tidak akan diperhatikan oleh komputer; c. nama variabel bersifat case-sensitive; d. nama variabel tersusun dari huruf, angka, dan “_” (underscore); e. nama variabel harus diawali huruf alfabet atau “_” (underscore), tidak boleh diawali dengan angka atau karakter khusus lainnya; dan f. nama variabel tidak boleh mengandung spasi, jika ada pemisahan karakter maka spasi pemisah dapat diganti dengan karakter “_” (underscore). 1.9 Pendeklarasian Variabel Bentuk umum pendeklarasian variabel adalah : Contoh pendeklarasian variabel: Beberapa contoh pendeklarasian variabel berdasarkan tipe datanya : a. Tipe Data Bilangan/Angka Contoh :
  11. 11. b. Tipe Data Teks Contoh teks 1 karakter (char): Contoh teks yang lebih dari 1 karakter (string): c. Tipe Data Boolean Contoh : Berikut merupakan beberapa contoh pendeklarasian variabel yang benar dan yang salah: a. Pendeklarasian yang BENAR  Pendeklarasian variabel umur langsung dengan pemberian nilai (inisialisasi), misal :  Pendeklarasian variabel berat badan dengan menggunakan tanda “_” (underscore) sebagai pemisah antara kata “berat” dan “badan”.  Pendeklarasian variabel golongan darah dengan menggunakan huruf kapital. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 11
  12. 12.  Pendeklarasian variabel nilai tugas 1 dengan mengkombinasikan huruf kapital, huruf kecil, “_” (underscore), dan angka.  Pendeklarasian variabel 1 kondisi dengan menggunakan “_” (underscore) untuk mengawali penamaan variabel karena nama variabel tersebut diawali dengan angka 1. b. Pendeklarasian variabel yang SALAH Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 12  Pendeklarasian variabel umur tersebut salah karena nilai yang dimasukkan ke dalam variabel tidak sesuai dengan tipe data yang digunakan. Seharusnya jika ingin membuat variabel yang dapat menampung nilai berupa angka desimal menggunakan tipe data float atau double. Jadi, pemberian nilai pada suatu variabel harus sesuai dengan tipe datanya.  Pendeklarasian variabel berat badan tersebut salah karena menggunakan spasi antara kata “berat” dan “badan”.
  13. 13. 1.10 Format Data Format data adalah suatu kombinasi tanda-tanda khusus berupa karakter yang dipakai untuk mengatur bentuk data tampilan.Format data bisa lebih dari satu sesuai dengan banyak data yang ingin ditampilkan. Format data yang dipakai disesuaikan dengan jenis data tampilan. Daftar Spesifikasi Format Data Format Data Bentuk Tampilan Data %c Karakter tunggal %d Bilangan bulat %e Bilangan bernotasi ilmiah %f Bilangan berjenis pecahan bertitik (floating point number) %g Pilihan tampilan terpendek antara bentuk %e atau %f %i Bilangan bulat desimal (sama dengan %d) %n Digunakan untuk perintah menyimpan banyak karakter yang telah ditampilkan oleh perintah print() kedalam suatu petunjuk jenis integer %o Notasi bilangan basis delapan (oktal) %p Tampilan petunjuk (pointer) %s Tampilan deret karakter (string) %u Bilangan bulat decimal tak bertanda (unsign) %x Notasi bilangan basis 16 (hexadesimal) %% Tampilan tanda persen (%) Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 13
  14. 14. 1.11 Halaman Utama Microsoft Visual C++ a. Tampilan Halaman Utama Visual C++ 2010 Gambar . Tampilan halaman utama visual C++ Gambar diatas adalah tampilan dari Microsoft Visual C++ 2010 Express. Untuk membuat sebuah program terlebih dahulu kita harus membuat sebuah project seperti yang dijelaskan pada halaman sebelumnya. Langkah Membuat Project : 1. File NewProject Gambar. Tampilan halaman membuat project baru di visual C++ Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 14
  15. 15. 1. Pilih Win32 Console Aplication. 2. Pada field Name : isikan sebuah nama, untuk kali ini kita beri nama Lat1.cpp. 3. Pada field Location : adalah tempat atau lokasi dimana kita akan menyimpan Project tersebut. Arah kan lokasi penyimpanan ke Folder tertentu di Drive D:, dengan cara klik tombol Browse… .lalu klik tombol OK. Gambar . Tampil halaman win 32 wizard 4. Setelah muncul jendela seperti gambar di atas. Lalu kita klik Next. Setelah itu klik Finish. Gambar . Tampil halaman application settings Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 15
  16. 16. Gambar . Tampilan halaman project baru di C++ 5. Apabila muncul seperti gambar di atas, artinya anda telah berhasil membuat sebuah Project pada Micrsoft Visual C++. 1.12 Langkah Praktikum Awal a. Program menampilkan kalimat 1. Tuliskan kode program seperti pada gambar berikut #include "stdafx.h" #include <iostream> using namespace std; int _tmain (int argc, _TCHAR* argv[]) { cout<<" Hello Word, Saya ingin menjadi programmer C++ "; return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 16 } 2. Jalankan program dengan cara menekan tombol Start Debugging (F5) yang terletak pada area toolbar Microsoft Visual C++ 2010. 3. Perhatikan hasilnya …… 4. Setelah itu tambah kan perintah berikut pada kode program yang telah anda buat sebelumnya.
  17. 17. #include "stdafx.h" #include <iostream> using namespace std; int _tmain (int argc, _TCHAR* argv[]) { cout<<" Hello Word, Saya ingin menjadi programmer C++ "; system ("PAUSE"); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 17 } 5. Jalankan kembali program dengan menekan tombol Start Debugging atau dengan cara, menekan tombol F5 pada keyboard anda. b. Program menampilkan kalimat dengan menambahkan Getch () 1. - Buatlah sebuah project baru dengan nama Lat2.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int _tmain (int argc, _TCHAR* argv[]) { cout <<" Hello Word, Saya ingin menjadi programmer C++ "<<endl; cout <<" Ini adalah latihan ke-2 tentang penggunaan getch() "<<endl; cout <<" untuk menggantikan system PAUSE "<<endl<<endl; cout <<" Tekan Tombol ENTER untuk mengahiri program "; getch (); return 0; } - Perhatikan hasilnya kemudian bandingkan dengan Lat1cpp yang telah anda buat sebelumnya. - Output yang dihasilkan :
  18. 18. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 18 LATIHAN : 1. Buat program seperti di bawah ini! Simpan dengan nama LatihanPratikum1.cpp! Pseudocode : Program LatihanPratikum1 {Tanpa masukan, hanya menampilkan angka, kata, dan kalimat yang dimasukkan ke dalam variabel} Kamus Lokal : Nama : string Umur : integer Tinggi_badan : double Ipk : float Gol_darah : char Jurusan : string Algoritma : nama ← “ Desi Ratnasari ” umur ← 20 tinggi_badan ← 153.5 ipk ← 3.82 gol_darah ← ‘O’ jurusan ← “Pendidikan Informatika” output (“ Nama : ”, nama) output (“ Umur : ”, umur) output (“ Tinggi : ”, tinggi_badan) output (“ Goldar : ”, gol_darah) output (“ Jur : ”, jurusan) output (“ IPK : ”, ipk)
  19. 19. Source Code Program : #include "stdafx.h" #include <iostream> #include <stdio.h> #include <Windows.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //pendeklarasian variabel dan inisialisasi char nama[30] = "Desi Ratnasari"; int umur = 20; double tinggi_badan = 153.5; float ipk = 3.82; char gol_darah = 'O'; char jurusan[30] = "Pendidikan Informatika"; //menampilkan ke layar printf("Nama t : "); puts(nama); printf("Umur t : %d tahunn", umur); printf("Tinggi t : %g cmn", tinggi_badan); cout<<"Goldar t : "; putchar(gol_darah); cout<<endl; cout<<"Jur t : "<<jurusan<<endl; cout<<"IPK t : "<<ipk<<endl; system("pause"); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 19 } Output yang dihasilkan :
  20. 20. 2. Buat program seperti di bawah ini! Simpan dengan nama LatihanPratikum2.cpp! Pseudocode Program LatihanPratikum2 {Menampilkan hasil atau nilai dari suatu variabel bertipe data BOOLEAN} Kamus Lokal : kondisi : boolean Algoritma : kondisi ← true output (kondisi) kondisi ← false output (kondisi) Source Code Program : #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //mendeklarasikan variabel menampilkan jika kondisi bernilai BENAR bool kondisi; kondisi = true; cout<<"Kondisi BENAR bernilai : "; cout<<kondisi <<endl; //menampilkan jika kondisi bernilai SALAH kondisi = false; cout<<"Kondisi SALAH bernilai : "; cout<<kondisi <<endl; system("pause"); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 20 } Output yang dihasilkan :
  21. 21. TUGAS PRIBADI : 1. Buatlah algoritma dan program dengan visual C++ untuk menampilkan biodata diri anda secara lengkap, dengan variabel yang ditampilkan adalah nim, nama, program studi, alamat, telepon, kota, asal sekolah, hobby, agama, tempat tgl/lahir, status keluarga. Tampilan Outputnya : 2. Buatlah algoritma dan program dengan visual C++ untuk menampilkan transaksi pembelian sebuah barang, dengan variabel yang ditampilkan seperti kode barang, nama barang, jenis barang, dan harga barang. 3. Buatlah algoritma dan program dengan tipe data boolean untuk menampilkan jika LULUS bernilai True dan jika TIDAK LULUS bernilai False. Catatan : Tugas dibuat dalam bentuk hardcopy (disusun rapi), buat algoritmanya, cantumkan source code programnya, printscrint outpunya. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 21
  22. 22. BAB II KONSTANTA, OPERATOR, DAN DEBUG 2.1 Tujuan Praktikum 1. Mahasiswa mengetahui konstanta dan operator 2. Mahasiswa mampu mendeklarasikan konstanta dan operator 3. Mahasiswa mengerti cara melakukan Debugging 2.2 Dasar Teori 2.1.1 Konstanta Konstanta adalah nilai numeris ataupun karakter yang tetap/tidak berubah selama program berlangsung. Penggunaan konstanta pada bahasa C++ ada 2 cara yaitu : Khusus untuk konstanta karakter selalu ditulis dengan diawali dan diakhiri dengan tanda petik tunggal („). Beberapa konstanta karakter dapat ditulis dengan diawali tanda (penempatan tanda setelah tanda petik tunggal). Karakter yang berawalan tanda disebut rangkaian karakter escape (escape sequence). Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 22
  23. 23. Sequence Karakter Keterangan a Bel Bunyi bel b BS Mundur 1 karakter (backspace) f FF Ganti halaman (form feed) n LF Ganti baris (line feed) r CR Kembali ke awal kolom (carriage return) t HT Tabulasi horizontal (horizontal tab) v VT Tabulasi vertical (vertikal tab) Backslash ’ ‘ Petik tunggal ” “ Petik ganda ? ? Tanda tanya DDD apapun DDD adalah digit nilai octal xHHH apapun HHH adalah digit nilai hexadecimal 0 Null Karakter ASCII=0 2.1.2 Operator Operator merupakan simbol yang digunakan dalam suatu program untuk melakukan suatu operasi atau manipulasi, misalnya untuk :  menjumlahkan dua nilai;  memberikan nilai ke suatu variabel (assignment); dan  membandingkan kesamaan dua nilai. a. Operator Pengerjaan Operator pengerjaan berupa tanda sama dengan (=) yang digunakan untuk mengisi nilai yang berada di sebelah kanannya variabel yang ditunjuk disebelah kirinya. Contoh maka nilai a dan b akan sama dengan nilai c yaitu 7. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 23
  24. 24. b. Operator Aritmatika Operator ini digunakan untuk perhitungan dasar aritmatika. Operator aritmatika ini digolongkan menjadi dua yaitu operator unary dan operator binary. Operator unary yaitu operator yang dikenakan terhadap satu buah nilai (operand). Contoh : Tabel operator aritmatika unary Operator Keterangan + Tanda plus - Tanda minus ++ Prefix :preincrement; postfix: postincrement -- Prefix :predecrement; postfix: postdecrement Operator peningkatan dan penurunan Bahasa C++ mempunyai operator unik, yaitu operator peningkatan/increment (++) dan operator punurunan/ decrement (--). Operator peningkatan (++) digunakan untuk menambahkan nilai 1 pada nilai sebelumnya dan operator penurunan (--) digunakan untuk mengurangi nilai 1 pada nilai sebelumnya. Operator binary yaitu operator yang dikenakan terhadap dua buah nilai (operand). Contoh : Tabel operator aritmatika binary Operator Keterangan * Perkalian / Pembagian % Modulus atau sisa pembagian + Penjumlahan - Pengurangan Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 24
  25. 25. c. Operator Hubungan Operator hubungan digunakan untuk membandingkan dua elemen nilai dan akan dihasilkan nilai perbandingan, yaitu betul (bernilai 1) atau salah (bernilai 0). Operator ini banyak diaplikasikan pada penyelesaian suatu kondisi di statementt IF. Operator Keterangan > Lebih besar dari >= Lebih besar dari sama dengan < Lebih kecil dari <= Lebih kecil dari sama dengan == Sama dengan != Tidak sama dengan Contoh : d. Operator Logika Operator logika bisa digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi sebuah ungkapan kondisi. Tabel Operator Logika Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 25
  26. 26. Bentuk umum pemakaian operator logika && dan || : Bentuk umum pemakaian operator logika ! : Contoh : Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 26
  27. 27. 2.1.3 Debug Debugging adalah proses menemukan atau melacak kesalahan pada kode sebuah program. Versi debug ++ digunakan untuk memudahkan programmer dalam melakukan proses Debugging atau melacak kesalahan pada kode program. Pada versi debug ini akan memberikan informasi-informasi yang berguna saat akan dilakukan Debugging. Versi debug juga bisa disebut sebagai debugger pada Microsoft Visual C++. Sebelum memulai proses Debugging program menggunakan Visual C++ ada baiknya apabila fitur line numbers diaktifkan terlebih dahulu. Hal ini untuk mempermudah programmer dalam mencari baris kode yang bermasalah apabila program gagal dieksekusi. Pada kotak sebelah kiri expand bagian Text Editor kemudian pilih All Languanges | General dan pada bagian Display disebelah kanan centang fitur Line numbers. Untuk memulai proses Debugging sama dengan cara menjalankan program yaitu cukup dengan menekan tombol F5 pada keyboard. Berikut adalah contoh proses Debugging dengan metode try and error dan hasil yang tidak sesuai. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 27
  28. 28. a. try and error Apabila muncul pesan seperti di atas, maka dapat dipastikan terdapat kesalahan pada kode program yang ditulis. Untuk mengatasinya klik No kemudian pindah kebagian Output yang berada di bawah code editor seperti berikut: Cari teks yang memberikan informasi tentang error yang dimaksud seperti tampak pada contoh di bawah ini : Angka (25) menunjukkan baris yang error dan sintaks error : missing „;‟ before „if‟ menunjukkan jenis error-nya. Selanjutnya klik pada bagian teks informasi error dan klik icon untuk berpindah kebagian yang error pada code editor. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 28
  29. 29. 2.1.4 Langkah Pratikum 1. Buatlah program untuk menampilkan hasil penjumlahan operator aritmatika menggunakan increment dan decrement, simpan dengan nama aritmatika.cpp! , serta lakukanlah pengujian debugging menggunakan metode hasil yang tidak sesuai. Berikut bentuk dari pseudocode-nya : Di bawah ini sintaks program untuk menjalankan kasus di atas : #include "stdafx.h" #include <iostream> #include <windows.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int a = 5; cout<<"nilai awal a : "<<a<<endl; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 29
  30. 30. cout<<"nilai a ketika melakukan a++ : "; cout<<a++ <<endl; cout<<"nilai a ketika melakukan ++a : "; cout<<++a <<endl; cout<<"nilai a ketika melakukan a-- : "; cout<<a--<<endl; cout<<"nilai a ketika melakukan --a : "; cout<<--a <<endl; system("pause"); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 30 } Output yang dihasilkan : 2. - Buatlah sebuah project baru dengan nama Penjumlahan.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string Kal1; int Bil1; int Bil2; Kal1="Tulis Nama Anda"; Bil1=2; Bil2=4; cout <<" Selamat Datang "<<Kal1 <<endl<<endl; cout <<" Bilangan Pertama adalah "<<Bil1 <<endl; cout <<" Bilangan Kedua adalah "<<Bil2 <<endl<<endl; cout <<" Penjumlahan kedua bilangan tersebut adalah "<<Bil1+Bil2<<endl; system ("PAUSE"); return 0; }
  31. 31. Output yang dihasilkan : 3. - Buatlah project dengan nama LatihanString.cpp Ketikkan Kode Program seperti berikut : #include "stdafx.h" #include <iostream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string sNama; int Bil1,Bil2; cout <<"Nama Anda : "; cin >> sNama; cout << endl <<" Selamat Datang "<<sNama <<endl<<endl; cout <<" Silahkan menggunakan Aplikasi ini "<<endl<<endl; system ("PAUSE"); return 0; } Output yang dihasilkan : Penjelasan Kode Program : a. #include <string>: menambahkan library string, agar kita dapat menggunakan tipe data string pada badan program. b. string sNama; :mendeklarasikan variable sNama dengan tipe data string. sNama yang nantinya akan digunakan untuk menampung data yang berupa string. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 31
  32. 32. c. int Bil1,Bil2 :mendeklarsikan variable Bil1 dan Bil2 dengan tipe data Integer. Bil1 dan Bil2 nanti adalah variable yang nantinya akan digunakan untuk menampung data yang berupa bilangan bulat. d. cout >> “ Nama Anda : “ : digunakan untuk menampilkan tulisan “ Nama Anda : “(tanpa tanda petik) pada layar hasil compile. e. cin << sNama; : digunakan untuk menyimpan input dari Keyboard user ke dalam variable sNama. Nantinya variable sNama akan berisi data berupa string yang telah dimasukkan oleh user melalui keyboard. f. cout << endl << "Selamat Datang " << sNama << endl << endl; : digunakan untuk menampilkan bacaan “Selamat Datang “ (tanpa tanda petik) yang diikuti dengan isi dari variable sNama pada layar hasil kompilasi. g. Untuk perintah yang lainnya cukup jelas, sesuai dengan pratikum sebelumnya. - Tambahkan Kode Program Seperti di bawah ini. #include "stdafx.h" #include <iostream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string sNama; int Bil1,Bil2; cout <<"Nama Anda : "; cin >> sNama; cout << endl <<" Selamat Datang "<<sNama <<endl<<endl; cout <<" Silahkan menggunakan Aplikasi ini "<<endl<<endl; cout <<"Masukkan bilangan bulat 1 : "; cin >> Bil1; cout <<"Masukkan bilangan bulat 2 : "; cin >> Bil2; cout <<endl<<endl; cout <<Bil1 <<" + "<<Bil2 <<" = "<<Bil1+Bil2 <<endl<<endl; system ("PAUSE"); return 0; } Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 32
  33. 33. Output yang dihasilkan : Penjelasan Kode Program : a. cin >> Bil1; : digunakan untuk menyimpan input dari Keyboard user ke dalam variable Bil1. Nantinya variable Bil1 akan berisi data berupa bilangan bulat yang telah dimasukkan oleh user melalui keyboard. b. cin >> Bil2; : digunakan untuk menyimpan input dari Keyboard user ke dalam variable Bil2. Nantinya variable Bil2 akan berisi data berupa bilangan bulat yang telah dimasukkan oleh user melalui keyboard. c. cout << Bil1 << " + " << Bil2 <<" = "<<Bil1+Bil2<<endl<<endl; : digunakan untuk menampilkan isi dari variable Bil1, karakter “+”, variable Bil2, karakter “=” dan Hasil penjumlahan dari Bil1 dan Bil2. - Tambahkan kode program berikut pada project anda #include "stdafx.h" #include <iostream> #include <string> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string sNama; int Bil1,Bil2; cout <<"Nama Anda : "; cin >> sNama; cout << endl <<" Selamat Datang "<<sNama <<endl<<endl; cout <<" Silahkan menggunakan Aplikasi ini "<<endl<<endl; cout <<"Masukkan bilangan bulat 1 : "; cin >> Bil1; cout <<"Masukkan bilangan bulat 2 : "; cin >> Bil2; cout <<endl<<endl; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 33
  34. 34. cout <<Bil1 <<" + "<<Bil2 <<" = "<<Bil1+Bil2 <<endl<<endl; cout <<Bil1 <<" - "<<Bil2 <<" = "<<Bil1-Bil2 <<endl<<endl; cout <<Bil1 <<" Div "<<Bil2 <<" = "<<Bil1/Bil2 <<endl<<endl; cout <<Bil1 <<" Mod "<<Bil2 <<" = "<<Bil1%Bil2 <<endl<<endl; system ("PAUSE"); return 0; } Output yang dihasilkan : Penjelasan Kode Program : a. / : merupakan Div apabila digunakan pada variable dengan tipe data integer, dan pembagian biasa apabila digunakan pada variable dengan tipe data float atau double. b. % : merupakan Mod, yaitu sisa hasil pembagian yang telah dijelaskan pada pertemuan sebelumnya. 4. Menggunakan Perintah Konstanta 1. Menghitung Luas lingkaran yang diketahui jari-jari lingkaran 5 - Buatlah sebuah project baru dengan nama LatihanKonstanta.cpp. - Ketikkan perintah berikut Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 34
  35. 35. #include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { const float phi = 3.14; float r = 5; float luas; cout<< endl <<" Program Menghitung Luas Lingkaran "<<endl<<endl; cout<<" Luas Lingkaran "<<"= "<< phi * r * r <<endl<<endl; system ("PAUSE"); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 35 } Output yang dihasilkan : Penjelasan : Konstanta adalah suatu nilai yang tetap (tidak berubah) dalam sebuah program. Contoh sebuah konstanta adalah saat kita menetukan sebuah tetapan dengan sebuah nilai, misalnya kita tetapkan pi adalah bernilai 3.14, dalam Bahasa C ++ penetapan konstanta tersebut dapat dilakukan dengan menggunakan preprocessor directive #define. #include "stdafx.h" #include <iostream> #define phi 3.14 using namespace std; int _tmain(int argc, _TCHAR* argv[]) { float r = 5; float luas;
  36. 36. cout<< endl <<" Program Menghitung Luas Lingkaran "<<endl<<endl; cout<<" Luas Lingkaran "<<"= "<< phi * r * r <<endl<<endl; system ("PAUSE"); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 36 } 5. Menggunakan Perintah Manipulator - Buatlah project dengan nama Manipulator.cpp - Ketikkan Kode Program seperti berikut : #include "stdafx.h" #include <iostream> #include <iomanip> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int bil = 23; char st[] = "Halo"; cout << bil << endl; cout << setw (4) << bil << endl; cout << setw (5) << bil << endl; cout << bil << endl; cout << setw (6) << setfill (' ') << bil <<endl; cout << setw (7) << setfill ('*') << bil <<endl; cout << st << endl; cout << setw (6) << setfill (' ') << st <<endl; cout << setw (7) << setfill ('*') << st <<endl; system ("PAUSE"); return 0; }
  37. 37. Output yang dihasilkan : Penjelasan : - setw (n) = untuk menentukan lebar tampilan sebanyak n karakter - setfill (karakter) = untuk menambahkan karakter pada bagian ruang yang ditentukan melalui setw yang normalnya tidak berisi karakter apa pun. - setprecision (n) = untuk menentukan jumlah digit pecahan. 6. Menggunakan Perintah Matematika - Buatlah project dengan nama Peluru.cpp - Ketikkan Kode Program seperti berikut : #include "stdafx.h" #include <iostream> #include <cmath> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //Program menghitung jarak kecepatan peluru double kecepatan, sudut, jarak; kecepatan = 32; sudut = 40; jarak = 2 * kecepatan * kecepatan * sin (sudut * 3.14 / 180) * cos (sudut * 3.14 / 180) / 9.8; cout <<"jarak ="<< jarak; cout <<"n"<<endl; system ("PAUSE"); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 37 }
  38. 38. Output yang dihasilkan : TUGAS PRIBADI : 1. Jawablah dengan singkat pertanyaan di bawah ini: a. Apa perbedaan antara variabel dengan konstanta? b. Bagaimana cara pendeklarasian konstanta dalam bahasa C++? c. Konstanta karakter escape untuk memindahkan kursor ke baris baru adalah? d. Tuliskan bentuk umum pendeklarasian variabel dalam bahasa C++ 1. Buatlah algoritma dan program dengan C++ untuk mencari total detik dari masukan berupa jam, menit dan detik. Masukan dari program adalah nilai jam, menit dan detik yang merupakan bilangan bulat. Keluaran yang diminta adalah total detik dari nilai-nilai yang dimasukkan. 2. Buatlah algoritma dan program dengan C++ untuk mencari volume dan luas permukaan bola apabila di beri masukan berupa nilai jari-jari bola. Masukan yang diinginkan adalah jari-jari bola dengan tipe bilangan pecahan. Keluaran yang diharapkan adalah volume dan luas bola. 3. Buatlah program C++ untuk membaca dua buah bilangan bulat dari keyboard dan kemudian menampilkan jumlah kedua bilangan tersebut. 4. Buatlah program C++ yang menanyakan tahun berapa pemakai lahir dan apa zodiaknya. Selanjutnya, program menampilkan keterangan semacam berikut. Baik. Anda Lahir Pada Tahun ..................... dan Zodiak Anda yaitu ....................... Catatan : Tugas dibuat dalam bentuk hardcopy (disusun rapi), buat algoritmanya, cantumkan source code programnya, printscrint outpunya. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 38
  39. 39. BAB III PEMILIHAN 3.1 Tujuan Praktikum 1. Mahasiswa mengetahui penggunaan pemilhan dalam pemrograman. 2. Mahasiswa mampu melakukan pemecahan masalah algoritma pemilihan. 3. Mahasiswa mengerti cara mengimplementasikan kondisi pemilihan dalam visual C++. 3.2 Dasar Teori 3.2.1 Bentuk Umum IF dan Variasinya Bentuk IF yang juga dikenal dengan istilah IF Statement, memiliki bentuk umum sebagai berikut : If kondisi then Aksi-1 [else Aksi-2] End if Kondisi adalah ekspresi boolean yang bernilai benar atau salah, bisa berupa: Sebuah nilai boolean: true atau false Sebuah variabel boolean Sebuah pembandingan data Dua pembandingan data atau lebih yang digabung Aksi berupa satu statement beberapa statement, dimana tiap statement dapat berupa: Statement pengisian nilai seperti a  5 Statement input data Statement output data Statement pemilihan (If Statement atau Case Statement) Statement pengulangan (For, Repeat atau While Statement) [else Aksi-2], tanda [ ] menyatakan opsional (boleh ada/tidak ada), dimana kalau tidak ada, berarti setelah Aksi-1 langsung selesai. Dari bentuk umum yang telah dijelaskan, maka variasi bentuk IF ini banyak dan tidak berhingga. Di antaranya yang penting dapat disebutkan berikut: - if tanpa else (satu pilihan, mengerjakan atau tidak) Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 39
  40. 40. - if dengan else (dua pilihan) - if bersarang dimana dalam if ada if lagi, karena Statement dapat berupa satu perintah pemilihan. Salah satu bentuk if bersarang adalah if untuk memilih salah satu dari banyak pilihan. Contoh-contoh variasi: a. Satu pilihan (tanpa ELSE) Pada variasi ini, apabila kondisi bernilai benar maka Statement dikerjakan dan apabila kondisi bernilai salah maka Statement tidak dikerjakan. b. Dua pilihan (dengan ELSE) Pada variasi ini, apabila kondisi bernilai benar maka Statement-1 yang dikerjakan dan apabila kondisi bernilai salah maka Statement-2 yang dikerjakan (tidak pernah 2 statement ini dikerjakan semua). c. Tiga pilihan atau lebih, misal Statement-1dan Statement-2 pada contoh-2 dikembangkan menjadi bentuk if lagi sehingga jadi 4 pilihan: Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 40
  41. 41. Pada variasi ini, apabila kondisi-1 bernilai benar maka dilanjutkan memeriksa kondisi-2. Apabila kondisi-2 bernilai benar maka Statement-a yang dikerjakan dan apabila kondisi-2 bernilai salah maka Statement-b yang dikerjakan. Sedangkan apabila kondisi-1 salah maka dilanjutkan memeriksa kondisi-3. Apabila kondisi-3 bernilai benar maka Statement-c yang dikerjakan dan apabila kondisi-3 bernilai salah maka Statement-d yang dikerjakan. (dari 4 statement yang ada hanya salah satu yang dikerjakan. d. Tiga pilihan atau lebih, dengan mengembangkan Statement setelah ELSE (1) Penyederhanaan penulisan contoh- d (posisi statement tidak semakin ke kanan, END IF hanya satu kali) Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 41
  42. 42. (2) Pada variasi 1 dan 2 ini, apabila kondisi-1 bernilai benar maka Statement-I yang dikerjakan dan selesai, tetapi apabila kondisi-1 bernilai salah maka dilanjutkan memeriksa kondisi-2. Apabila kondisi-2 bernilai benar maka Statement-2 yang dikerjakan dan selesai, tetapi apabila kondisi-2 bernilai salah maka dilanjutkan memeriksa kondisi-3. Apabila kondisi-3 bernilai benar maka Statement-3 yang dikerjakan, tetapi apabila kondisi-3 bernilai salah maka Statement-4 yang dikerjakan. (dari 4 statement yang ada hanya salah satu yang dikerjakan. Penggunaan variasi 2 lebih baik, karena tulisan tidak makin ke kanan walaupun pilihan semakin banyak. e. Bentuk bebas (jumlahnya tak terhingga), salah satunya |If kondisi-1 then | |Statement-a | |If kondisi-2 then | | |If kondisi-3 then | | | Statement-b | | |Else | | | |If kondisi-4 then | | | | Statement-c | | | |Else | | | | Statement-d | | | |End if | | |End if Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 42
  43. 43. | |Else | | Statement-e | |End if | |Statement-f |Else | |Statement-g | |if kondisi-5 then | | Statement-h | |End if | |if kondisi-6 then | | Statement-i | |End if | |Statement-j |End if 3.3 Langkah Pratikum 1. - Buatlah sebuah project baru dengan nama Pemilihan.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { printf("masukkan angka: "); int nilai; scanf("%d", &nilai); if(nilai >= 65) { printf("Selamat Anda lulus"); } else { printf("Anda tidak lulus"); } getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 43 }
  44. 44. - Output yang dihasilkan : 2. - Buatlah sebuah project baru dengan nama Genap.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int bilangan; cout <<"Masukkan sebuah bilangan bulat : "; cin >> bilangan; if (bilangan % 2 == 0) cout <<"Bilangan Genap " <<endl; else cout <<"Bilangan Ganjil" <<endl; getche (); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 44 } - Output yang dihasilkan Program diatas menentukan bilangan genap dan bilangan ganjil.
  45. 45. 3. – Buatlah algoritma maupun program yang meminta sebuah nilai ujian dimasukkan dari keyboard dan menvalidasi nilai tersebut. Berikan komentar “Absah” jika nilai tersebut berada antara 0 sampai dengan 100 dan berikan komentar “Tidak Absah” untuk keadaan sebaliknya. - Algoritmanya : - Masukkan nilai >= 0 DAN nilai <= 100 MAKA - Tampilkan (“Absah”) - SEBALIKNYA - Tampilkan (“Tidak Absah”) - AKHIR-JIKA - Buatlah sebuah project baru dengan nama Valid.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { double nilai; cout <<"Masukkan nilai Ujian : "; cin >> nilai; if (nilai >= 0 && nilai <= 100) cout <<"Absah " <<endl; else cout <<"Tidak Absah" <<endl; getche (); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 45 } Output yang dihasilkan :
  46. 46. 4. – Tabel berikut memperlihatkan daftar predikat kelulusan seorang sarjana berdasarkan indeks prestasi kumulatif-nya. IP Kumulatif Predikat Kelulusan 2,00 <= IP <= 2,75 Lulus Memuaskan 2,75 < IP <= 3,50 Lulus Sangat Memuaskan 3,50 <= IP <= 4,00 Lulus Dengan Pujian Algoritmanya : Masukkan (IP) JIKA IP >= 2 DAN IP<= 2,75 MAKA Tampilkan (“Lulus memuaskan”) SEBALIKNYA JIKA IP >= 2,75 DAN IP <= 3,50 MAKA Tampilkan (“Lulus sangat memuaskan”) SEBALIKNYA JIKA IP >= 3,50 DAN IP <= 4,00 MAKA Tampilkan (“Lulus dengan pujian”) SEBALIKNYA Tampilkan(“Data IP tidak valid”) AKHIR-JIKA AKHIR-JIKA AKHIR-JIKA - Buatlah sebuah project baru dengan nama Predikat.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { double ip; cout << "IP Kumulatif :"; cin >> ip; if (ip >= 2.00 && ip <= 2.75) cout << "Lulus Memuaskan" << endl; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 46
  47. 47. else if (ip > 2.75 && ip <= 3.50) cout <<" Lulus Sangat Memuaskan " <<endl; else if (ip > 3.50 && ip <= 4.00) cout << " Lulus Dengan Pujian " << endl; else cout << " Data IP tidak Valid " << endl; getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 47 } Output yang dihasilkan: TUGAS PRIBADI : 1. Buatlah algoritma dan program yang membaca data kode bulan dari keyboard, kemudian menampilkan nama bulan. 2. Buatlah algoritma dan program yang meminta data bulan [1,2,3,4,5,6,7,8,9,10,11,12] dimasukkan dari keboard, kemudian menentukan jumlah hari dalam bulan tersebut. 3. Zodiak (bintang kelahiran) sepeti Virgo dan Aries sebenarnya dapat ditentukan dengan mudah karena ada aturan yang pasti, sebagaimana tercantum pada table dibawah ini. Berdasarkan tabel tersebut susunlah algoritma dan program berdasarkan tanggal dan bulan kelahiran. Zodiak Jangkauan Tanggal Aries 21 Maret s/d 19 April Taurus 20 April s/d 20 Mei Gemini 21 Mei s/d 20 Juni Cancer 21 Juni s/d 22 Juli Leo 23 Juli s/d 22 Agustus Virgo 23 Agustus s/d 22 September Libra 23 September s/d 22 Oktober Scorpio 23 Oktober s/d 21 November Sagitarius 22 November s/d 21 Desember Capricorn 22 Desember s/d 19 Januari
  48. 48. Aquarius 20 Januari s/d 18 Februari Pisces 19 Februari s/d 20 Maret 4. [ Menentukan bilangan terbesar di antara tiga bilangan ] Diketahui tiga buah bilangan yang dimasukkan dari i. Tuliskan algoritma dan program untuk menentukan bilangan terbesar. Catatan : Tugas dibuat dalam bentuk hardcopy (disusun rapi), buat algoritmanya, cantumkan source code programnya, printscrint outpunya. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 48
  49. 49. BAB IV PENGULANGAN 4.1 Tujuan Pratikum 1. Mahasiswa mengetahui penggunaan pengulangan dalam pemrograman. 2. Mahasiswa mampu melakukan pemecahan masalah algoritma pengulangan. 3. Mahasiswa mengerti cara mengimplementasikan kondisi pengulangan dalam visual C++. 4.2 Dasar Teori 4.2.1 Sintaks WHILE Pengulangan dengan menggunakan WHILE merupakan sebuah pengulangan yang dikendalikan oleh suatu kondisi tertentu, dimana kondisi tersebut yang akan menentukan apakah perulangan itu akan terus dilaksanakan atau dihentikan. Kondisi tersebut akan dicek disetiap awal iterasi, apakah sebuah kondisi terpenuhi atau tidak. Jika kondisi terpenuhi (bernilai benar), maka iterasi akan dilanjutkan. Jika kondisi tidak terpenuhi, maka iterasi dihentikan. Perulangan dengan WHILE dapat digunakan pada struktur perulangan yang diketahui jumlah iterasinya dan juga pada struktur perulangan yang tidak diketahui jumlah iterasinya, tetapi harus selalu terdapat kondisi berhenti. Struktur pengulangan WHILE adalah: 1 {inisialisasi} 2 WHILE (kondisi) 3 aksi 4 ubah pencacah (pencapaian kondisi berhenti) 5 ENDWHILE Contoh pengulangan While ini: 1. Algoritma untuk menampilkan karakter ‘ * ‘ sebanyak 5 kali. ALGORITMA Tampil_Bintang IS : - FS : Jumlah bintang yg tampil = 5 KAMUS DATA Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 49
  50. 50. i : integer 1 BEGIN 2 i  0 {inisialisasi pencacah i} 3 WHILE (i < 5) {jumlah iterasi} 4 Output (‘*’) {aksi} 5 i  i + 1 {pencapaian kondisi berhenti} 6 ENDWHILE 7 END Output dari algoritma ini: * * * * * 2. Algoritma untuk menampilkan iterasi ke 1 sampai 5 dengan pengulangan. ALGORITMA Iterasi_Angka IS : - FS : Tampil angka 1 hingga 5 KAMUS DATA i : integer 1 BEGIN 2 i  1 {inisialisasi pencacah i} 3 WHILE (i <= 5) 4 Output (‘Ini adalah iterasi ke-’,i) 5 i  i + 1 6 ENDWHILE 7 END Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 50
  51. 51. Output dari algoritma ini: Ini adalah iterasi ke-1 Ini adalah iterasi ke-2 Ini adalah iterasi ke-3 Ini adalah iterasi ke-4 Ini adalah iterasi ke-5 4.2.2 Sintaks DO…WHILE Sintaks DO... WHILE... melakukan pengulangan serupa dengan sintaks WHILE. Penggunaan sintaks ini juga tidak harus menyebutkan jumlah pengulangan yang harus dilakukan, karena dapat digunakan untuk perulangan dengan jumlah iterasinya yang belum diketahui, tetapi harus mempunyai kondisi berhenti. Bedanya, jika pada sintaks WHILE kondisi dievaluasi/ diuji sebelum aksi pengulangan dilakukan, sedangkan pada sintaks DO...WHILE pengujian kondisi dilakukan setelah aksi pengulangan dilakukan. Struktur pengulangan DO...WHILE yaitu: 1 {inisialisasi} 2 DO 3 aksi 4 ubah pencacah 5 WHILE (kondisi) Pada struktur pengulangan dengan sintaks DO... WHILE..., aksi akan terus dilakukan hingga kondisi yang dicek di akhir pengulangan, bernilai benar. Dengan sintaks ini, pengulangan pasti dilakukan minimal satu kali, yakni pada iterasi pertama sebelum pengecekan kondisi. WHILE dengan DO WHILE seringkali memberikan hasil yang sama, tetapi ada kalanya hasilnya akan berbeda, sehingga harus berhati-hati dalam penggunaan kondisi antara WHILE dengan DO WHILE. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 51
  52. 52. 4.2.3 Sintaks FOR Sintaks pengulangan FOR merupakan sintaks yang relatif paling mudah digunakan. Sintaks ini serupa dengan sintaks WHILE... DO... dalam hal pengecekan kondisi dilakukan di awal. Dalam menggunakan struktur pengulangan dengan sintaks FOR, pemrogram harus mendefinisikan nilai awal dan nilai akhir pencacah yang menunjukkan jumlah iterasi. Setiap kali iterasi berlangsung, nilai pencacah akan diubah. Jika pencacah sudah mencapai nilai akhir yang ditentukan, maka pengulangan akan berhenti. 4.3 Langkah Pratikum 1. Buatlah algoritma dan program untuk menampilkan 6 buah baris yang berisi tulisan “ Selamat Belajar Edi Ismanto” Algoritma : . bil <- 1 ULANG SELAMA bil <= 6 tampilkan ( “Selamat Belajar Edi Ismanto”) bil <- bil +1 AKHIR – ULANG Program : - Buatlah sebuah project baru dengan nama enambaris.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int bil; bil =1; while (bil <= 6) { cout << " Selamat Belajar Edi Ismanto " << endl; bil = bil + 1; } Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 52
  53. 53. getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 53 } Output yang dihasilkan : 2. Buatlah algoritma dan program untuk menampilkan deretan seperti berikut. 10 9 8 7 6 5 4 3 2 1 Program : - Buatlah sebuah project baru dengan nama deretturun.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int bil; bil =10; while (bil >= 1) { cout << bil << endl; bil = bil - 1; }
  54. 54. getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 54 } Output yang dihasilkan : 3. Buatlah algoritma dan program yang meminta n buah bilangan bulat dimasukkan dari keyboard, kemudian menampilkan nilai rat-rata dari keseluruhan bilangan tersebut. Program : - Buatlah sebuah project baru dengan nama rata-rata.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int n, pencacah; double bil, jum, rata_rata; cout << " Jumlah data = "; cin >> n; jum = 0; pencacah = 1; while (pencacah <= n) { cout << " Bilangan " << pencacah << " = "; cin >> bil; jum = jum + bil; pencacah = pencacah + 1; } rata_rata = jum / n;
  55. 55. cout << "Rata-rata = "<< rata_rata << endl; getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 55 } Ouput yang dihasilkan : 4. Buatlah algoritma untuk membuat segitiga yang disusun dari simbol * dengan tinggi setinggi ditentukan melalui keyboard. Program : - Buatlah sebuah project baru dengan nama segitiga.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int i, j, tinggi; cout << " Masukkan Tinggi Segitiga : "; cin >> tinggi; for (i=1; i<= tinggi; i++) { for (j=1; j<=i; j++) cout << " * "; cout <<endl; } getche(); return 0; }
  56. 56. Ouput yang dihasilkan : TUGAS PRIBADI : 1. Buatlah algoritma dan program yang meminta sebuah bilangan bulat dimasukkan dari keyboard, kemudian menampilkan deret seperti berikut. 1 2 4 7 11 16 22 29 37 46 Bila bilangan yang dimasukkan adalah 50. Bantuan : Angka terakhir yang ditampilkan dalam deret harus tidak lebih dari bilangan yang dimasukkan dari keyboard. 2. Buatlah algoritma dan program untuk menampilkan deret berikut dengan menggunakan struktur pengulangan. 100000000 10000000 1000000 100000 10000 1000 100 10 1 3. Buatlah algoritma dan program untuk menampilkan semua bilangan ganjil yang terletak antara 1 sampai dengan 25 yang tidak habis dibagi dengan 5. 4. Buatlah algoritma dan program untuk menyusun hasil seperti berikut. 1 2 6 3 7 10 4 8 11 13 5 9 12 14 15 Catatan : Tugas dibuat dalam bentuk hardcopy (disusun rapi), buat algoritmanya, cantumkan source code programnya, printscrint outpunya. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 56
  57. 57. BAB V ARRAY DAN TIPE DATA BENTUKAN 5.1 Tujuan Pratikum 1. Mahasiswa mengetahui penggunaan array dalam pemrograman. 2. Mahasiswa mampu melakukan pemecahan masalah algoritma array. 3. Mahasiswa mengerti cara mengimplementasikan array dalam visual C++. 5.2 Dasar Teori Tipe data array adalah tipe data terstruktur yang merujuk kepada sebuah atau sekumpulan elemen yang mempunyai tipe data yang sama melalui indeks. Array biasanya disebut juga sebagai tabel, vektor atau larik. Elemen dari array dapat diakses langsung jika dan hanya jika indeks terdefinisi (telah ditentukan nilainya sesuai dengan domain yang didefinisikan untuk indeks tersebut). Struktur data array disimpan dengan urutan yang sesuai dengan definisi indeks secara kontigu (berurutan) dalam memori komputer. Karena itu indeks haruslah merupakan suatu tipe data yang memiliki keterurutan (ada suksesor dan predesesor), misal tipe integer dan karakter. Dilihat dari dimensinya, array dapat dibagi menjadi Array Satu Dimensi, Array Dua Dimensi dan Array Multi-Dimensi a. Array Satu Dimensi Representasi array satu dimensi My_array = 2 4 6 . . . 98 100 0 1 2 . . . 49 50 indeks Untuk mendeklarasikan variabel dengan tipe data array satu dimensi pada notasi algoritma, digunakan pola sebagai berikut: ... KAMUS DATA Nama_variabel : array [x..y] of tipe_data ... Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 57
  58. 58. Keterangan: Nilai x merupakan nilai awal indeks pada array, dan nilai y merupakan nilai akhir pada indeks array. b. Array Dua Dimensi Array dua dimensi merupakan array yang terdiri dari m buah baris (row) dan n buah kolom (column). Bentuk array semacam ini menggunakan 2 (dua) buah kelompok indeks yang masing-masing direpresentasikan sebagai indeks baris dan kolom. Jika ingin memasukkan atau membaca sebuah nilai pada matriks maka, harus diketahui terlebih dahulu indeks baris dan kolomnya. Untuk mendeklarasikan variabel dengan tipe data array dua dimensi pada notasi algoritma, digunakan pola sebagai berikut: ... KAMUS DATA Nama_variabel : array [x..y,t..u] of tipe_data ... Keterangan: Nilai x merupakan nilai awal indeks baris pada array, dan nilai y merupakan nilai akhir indeks baris array. Nilai t merupakan nilai awal indeks kolom pada array, dan nilai u merupakan nilai akhir indeks kolom array. c. Array Multi-Dimensi Dalam menggambarkan array multidimensi, hanya terbatas hingga dimensi ke-3, yakni dengan menggunakan bangun ruang, namun dalam kenyataannya, tipe data array ini dapat dibentuk menjadi lebih dari tiga dimensi atau menjadi n-dimensi. Untuk mendeklarasikan variabel dengan tipe data array n-dimensi pada notasi algoritma, digunakan pola sebagai berikut: ... KAMUS DATA Nama_variabel:array [a..b,t..u,x..y,..] of tipe_data ... Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 58
  59. 59. 5.3 Langkah Pratikum 1. Buatlah algoritma dan program yang mula-mula menyimpan data huruf vocal ke dalam larik, kemudian tampilkan isi larik. Algoritma : V <- [“ A”, “E”, “I”,”O”,”U”] UNTUK I <- 0 S/D 4 Tampilkan (V[i]) AKHIR-UNTUK Program : - Buatlah sebuah project baru dengan nama vokal.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { char kar [5]; int i; kar[0] = 'A'; kar[1] = 'E'; kar[2] = 'I'; kar[3] = 'O'; kar[4] = 'U'; for (i = 0; i < 5; i++) cout << kar[i] << endl; getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 59 } Output yang dihasilkan:
  60. 60. 2. Menukarkan dua angka yang bersebelahan. Terdapat larik seperti berikut. [8,9,4,7,6,1,5,3,10,4,16,3] Tulislah algoritma dan program yang melakukan pertukaran 2 nilai yang berdekatan. Hasilnya akan menjadi sebagai berikut. [9,8,7,4,1,6,3,5,4,10,3,16] Program : - Buatlah sebuah project baru dengan nama TukarLarikNilai.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { int data[] = {8,9,4,7,6,1,5,3,10,4,16,3}; int tmp; int i; for (i = 0; i < 11; i += 2) { tmp = data [i]; data[i] = data[i+1]; data[i+1] = tmp; } /* Tampilkan isi Larik */ for (i = 0; i < 12; i++) cout << data[i] <<" "; cout << endl; getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 60 } Output yang dihasilkan:
  61. 61. 3. Sepuluh siswa mengikuti ujian dengan nilai hasil berkisar antara 0 sampai dengan 100. Tulislah algoritma untuk membaca seluruh data tersebut ( yang mencakup nama dan nilai ujian ), kemudian : - Hitunglah nilai rata-ratanya, dan - Tampilkan siswa yang gagal ( yaitu yang nilainya kurang dari 60 ) Program : - Buatlah sebuah project baru dengan nama DaftarSiswa.cpp. - Ketikkan perintah berikut #include "stdafx.h" #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { struct siswa { char nama[25]; double nilai; }; struct siswa daftar[10]; int pencacah; double jum; int ada_gagal; pencacah = 0; while (pencacah < 10) { cout << " Nama Siswa : "; cin >> daftar[pencacah].nama; while (1) { cout << "Nilai : "; cin >> daftar[pencacah].nilai; if (daftar[pencacah].nilai >= 0 && daftar[pencacah].nilai <= 100) break; else cout << " Nilai harus terletak antara "<< "0 sampai dengan 100n"; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 61
  62. 62. } pencacah++; } //Jumlah semua nilai jum = 0; pencacah = 0; while (pencacah < 10) { jum = jum + daftar[pencacah].nilai; pencacah++; } //Menampilkan siswa yang gagal cout << "Siswa yang gagal : n"; ada_gagal = 0; pencacah = 0; while (pencacah < 10) { if (daftar[pencacah].nilai < 60) { ada_gagal = 1; cout << daftar[pencacah].nama << endl; } pencacah++; } if (ada_gagal == 0) cout << " Tak adan"; getche(); return 0; Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 62 }
  63. 63. Output yang dihasilkan: Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 63
  64. 64. TUGAS PRIBADI : 1. Buatlah algoritma dan program untuk memperoleh larik yang berisi semua elemen pada larik A yang tidak terdapat pada B. 2. Terdapat larik seperti berikut. [8, 9, 4, 7, 6, 1, 5, 3] Ubahlah isinya menjadi berikut. [3, 5, 1, 6, 7, 4, 9, 8] 3. Terdapat larik yang berisi data nomor dan nama seperti berikut. Nomor Nama 10 Rian 6 Sita 3 Fanny 1 Erwin 2 Ahmad 4 Ridwan 5 Desi 9 Triana 8 Ali 7 Yohana Tulislah algoritma dan program yang menampilkan data nomor dan nama dengan tampilan urut menurut nomor. Catatan : Tugas dibuat dalam bentuk hardcopy (disusun rapi), buat algoritmanya, cantumkan source code programnya, printscrint outpunya. Dosen | Edi Ismanto, S.T, M.Kom, M.Eng |Pratikum Algoritma dan Pemrograman 64

Tidak ada komentar:

Posting Komentar