Modul Algoritma Dan Pemrograman - Final [PDF]

  • Author / Uploaded
  • Lala
  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

MODUL PRAKTIK ALGORITMA DAN PEMROGRAMAN



PROGRAM STUDI DIPLOMA IV MANAJEMEN INFORMASI KESEHATAN SEKOLAH TINGGI ILMU KESEHATAN AKBIDYO YOGYAKARTA



iv



IDENTITAS MAHASISWA Nama



: ..................................................................Laki-laki/Perempuan*)



NIM



: .........................................................................



Tempat/ Tgl. Lahir



: .........................................................................



Alamat



: ........................................................................................................ ..............................................................Telpon..............................



Semester/TA : ......................................................................... : ………………………………………………….



Kelas



Tanda Tangan Pasfoto



......................................



*) coret yang tidak perlu



v



PRAKATA



Dengan mengucapkan puji syukur ke hadirat Tuhan Yang Maha Esa, dan oleh karena bimbingan dan penyertaan-Nya maka kami dapat menyelesaikan penyusunan Modul Praktek Algoritma dan Pemrograman. Dengan terselesainya penyusunan Modul Praktek Algoritma dan Pemrograman ini maka kami berharap kegiatan praktek yang merupakan pelaksanaan dari teori yang sudah di dapat di bangku kuliah dapat melengkapi ketrampilan mahasiswa dalam pelaksanaan tugas ketika bekerja di unit rekam medis. Tidak lupa pada kesempatan ini, kami juga mengucapkan banyak terima kasih kepada semua pihak yang telah mendorong/menyemangati untuk segera terselesainya modul ini. Tentu kami juga mengucapkan terima kasih Ketua Program Studi Manajemen Ilmu Kesehatan AKBIDYO Yogyakarta yang sudah memberi kesempatan kepada kami untuk menyusun Modul Praktek Algoritma dan Pemrograman. Akhir kata, tentunya kami menyadari masih ada kekurangan dalam penyusunan Modul Praktek Algoritma dan Pemrograman ini, untuk itu saran dan masukan yang sifatnya membangun untuk lebih baiknya Modul ini sangat kami harapkan.



Yogyakarta, Januari 2018



Tim penyusun



vi



Tata Tertib Praktikan Mahasiwa yang sedang melaksanakan praktik harus memnuhi ketentuan sebagai berikut: 1. Mahasiswa masuk sesuai jadwal yang telah ditentukan, sesuai dengan pembagian kelas serta mengisi daftar hadir. 2. Mahasiswa yang tidak mengikuti praktik lebih dari 50% dari total pertemuan tanpa keterangan resmi, tidak berhak mengikuti responsi. 3. Program Studi tidak mengadakan ujian susulan responsi. 4. Mahasiswa tidak diberikan toleransi, jika nilai dari Akademik Diploma Manajemen Ilmu Kesehatan tidak keluar dikarenakan kesalahan mahasiswa sendiri (tidak mengecek kesesuaian kartu ujian dengan KRS). 5. Mahasiswa memakai pakaian rapi dan sopan: Pria : • Kemeja lengan panjang/pendek dan celana panjang rapi, • Bersepatu, • Tidak memakai T-shirt tanpa krah atau tanpa lengan. Wanita : • Kemeja lengan panjang/pendek (tidak ketat atau transparan), • Rok atau celana panjang (tidak ketat atau transparan), • Bersepatu, • Tidak memakai T-shirt tanpa krah atau tanpa lengan. 6. Mahasiswa tidak diperbolehkan merokok, makan dan minum pada saat praktik berlangsung. 7. Barang berharga milik peserta praktik menjadi tanggung jawab sendiri. 8. Dering HP harus dimatikan (silent) pada saat praktik. 9. Mahasiswa diwajibkan menjaga kebersihan dan ketertiban serta ketenangan belajar. 10. Mahasiswa dilarang membuang sampah dalam bentuk apa pun di dalam ruang praktik dan/atau laboratorium. 11. Instruktur/pengajar praktik berhak mencatat, memberikan sanksi atau melakukan tindakan seperlunya terhadap mahasiswa yang melanggar tata tertib.



vii



MATA KULIAH KODE MATA KULIAH BEBAN STUDI PENEMPATAN JURUSAN / PRODI DOSEN PENGAMPU



: Algoritma dan Pemrograman : MIK : 2 SKS : SEMESTER 3 : D4 MIK : Tim Dosen



A. Capaian pembelajaran lulusan yang dibebankan pada mata kuliah ini:



1. Mampu merancang struktur isi rekam medis dengan sistem manual maupun elektronik;



2. Mampu merancang standar data kesehatan dengan sistem manual maupun elektronik;



3. Mampu mengembangkan struktur isi rekam medis dengan sistem manual dan elektronik untuk memfasilitasi sstem rekam kesehatan elektronik, rekam kesehatan pribadi dan sistem pencatatan data kesehatan lainnya;



4. Mampu mengembangkan standar data kesehatan dengan sistem manual dan elektronik untuk memfasilitasi sistem rekam kesehatan elektronik, rekam kesehatan pribadi dan sistem pencatatan data kesehatan lainnya.



B. Capaian pembelajaran matakuliah:



1. Mampu mengenal macam-macam konsep algoritma; 2. Mampu memahami algoritma percabangan; 3. Mampu memahami algoritma perulangan; 4. Mampu memahami algoritma shorting dan pencarian data; 5. Mampu mengimplementasikan algoritma dalam bahasa pemrograman; 6. Mampu menghasilkan produk pemrograman terkait data individu dan data agregat dalam pelayanan kesehatan.



C. Matrik Rencana Pembelajaran Minggu ke (1) 1



Kemampuan akhir yang diharapkan



Bahan kajian (materi ajar)



Metode pembelajaran



(2) Mengetahui dan memahami dasardasar struktur data dan pemrograman



(3) Konsep Dasar Pemrograman 1. Pemahaman aturan perkuliahan 2. Pengertian Algoritma struktur data dan program komputer 3. Tahapan penyelesaian masalah



(4)



Mengetahui dan memahami dasardasar struktur data dan pemrograman



2



Mengetahui dan memahami dasardasar struktur data dan pemrograman



Mengetahui dan memahami dasar-



T (5) 1 x 50 Menit



Konsep Dasar Pemrograman 1. Konsep pemrograman terstruktur 2. Teknik penyajian algoritma



Penerapan Flowchart dan Algoritma pada data



Pengalaman belajar mahasiswa P (6)



(7) Dapat memahami aturan dalam perkuliahan. Dapat mengetahui dan memahami dasar-dasar struktur data dan pemrograman.



Praktek: Sturktur data Pemrograman Flow chart



Mengetahui dan memahami dasardasar struktur data dan pemrograman 3



Teori : Ceramah Tanya jawab Diskusi



Waktu



Kriteria penilaian dan indikator (8) a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



Bobot nilai



(9) 5%



1x100 Dapat menelusuri algoritma dan menentukan output suatu program.



Teori : Ceramah Tanya jawab Diskusi Tes Formatif Praktek: Teknik penyajian algoritma Diagram alir



1 x 50 Menit



Teori : Ceramah



1 x 50 Menit



Dapat mengetahui dan memahami dasar-dasar struktur data dan pemrograman. 1x100



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



5%



a. Kejelasan pemahaman;



5%



Dapat menelusuri algoritma dan menentukan output suatu program



Dapat mengetahui dan memahami



dasar struktur data dan pemrograman



4



5



Mengetahui dan memahami dasardasar struktur data dan pemrograman



Mengetahui dan memahami dasardasar struktur data dan pemrograman



tunggal 1. Algoritma ganjil, genap, max, min, berat badan ideal 2. Algoritma maximum, minimum, rerata 3. Algoritma konversi suhu reamour, Fahrenheit, celcius



Tanya jawab Diskusi



Penerapan Flowchart dan Algoritma pada data tunggal 1. Algoritma ganjil, genap, max, min, berat badan ideal 2. Algoritma maximum, minimum, rerata 3. Algoritma konversi suhu reamour, Fahrenheit, celcius



Teori : Ceramah Tanya jawab Diskusi



Pengenalan Struktur Data dan Bahasa Pemrograman Pascal 1. Statemen Input/Output 2. Pengenal (identifyer) 3. Tipe-tipe data



Teori : Ceramah Tanya jawab Diskusi



dasar-dasar struktur data dan pemrograman.



Praktek:? 1x100



1 x 50 Menit



Tes Formatif



b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



Dapat mengetahui dan memahami penerapan flowcahart dan algoritma pada data tunggal. Dapat mengetahui dan memahami dasar-dasar struktur data dan pemrograman.



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



5%



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



5%



Dapat mengetahui dan memahami penerapan flowcahart dan algoritma pada data tunggal. 1 x 100 Menit



Dapat mengetahui dan memahami dasar-dasar struktur data dan pemrograman. Dapat mengetahui dan memahami tentang struktur data dan bahsa pemrograman pasacal seperti statmen input/output,



pengenal (identifier), tipe-tipe data. 6



Mengetahui dan memahami dasardasar struktur data dan pemrograman



Pengenalan Struktur Data dan Bahasa Pemrograman Pascal 1. Tipe-tipe data 2. Operator 3. Studi kasus



Teori : Ceramah Tanya jawab Diskusi



1 x 100 Menit



Mampu menelusuri algoritma dan menentukan output suatu program.



Struktur Algoritma/Program Komputer 1. Runtunan 2. Percabangan (selection)



Mahasiswa mampu menguasai kompetensi yang diharapkan



Materi ke-1 sampai dengan ke-7



Teori : Ceramah Tanya jawab Diskusi



UTS



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



5%



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



5%



a. Penguasaan materi. b. Analisis. c. Argumentasi (cara berfikir dan logika bahasa).



40%



Dapat mengetahui dan memahami tentang struktur data dan bahsa pemrograman pasacal seperti tipe-tipe data, operator, dan studi kasus



Tes Formatif



7



Dapat mengetahui dan memahami dasar-dasar struktur data dan pemrograman.



1 x 100 Menit



100 menit



Dapat menelusuri algoritman dan menentukan output suatu program. Dapat mengetahui dan memahami struktur algoritma komputer/program seperti runtunan dan percabangan (selection) Mampu menguasai materi yang telah diberikan. Mampu menganalisis



materi yang telah diberikan.



8



9



10



Mampu menelusuri algoritma dan menentukan output suatu program.



Struktur Algortima/Program Komputer 1. Pencabangan bersarang (nested branching) 2. Perulangan (repetition)



Teori : Ceramah Tanya jawab Diskusi



Mampu menelusuri algoritma dan menentukan output suatu program.



Struktur Algortima/Program Komputer 1. Pengulangan bersarang (nested repetition) 2. Contoh kasus dan implementasi



Teori : Ceramah Tanya jawab Diskusi



Tipe data larik dan rekaman/struct



Teori : Ceramah



Mengetahui dan memahami tipe



1 x 100 Menit



Mampu beragumentasi (cara berfikir dan logika bahasa). Dapat menelusuri algoritman dan menentukan output suatu program.



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



10%



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



10%



a. Kejelasan pemahaman;



10%



Dapat mengetahui dan memahami struktur algoritma komputer/program seperti pencabangan bersarang (nested branching) dan perulangan (repetition). 1 x 100 Menit



Dapat menelusuri algoritman dan menentukan output suatu program. Dapat megetahui dan memahami struktur algoritma komputer/program pengulangan bersarang (nested repetition)



Tes Formatif



1 x 100 Menit



Dapat mengetahui dan memahami tipe



data larik dan record serta penggunaannya



11



12-13



Mengetahui dan memahami tipe data larik dan record serta penggunaannya



Mengetahui dan memahami tentang pemrograman modular



1. Pengenalan dan deklarasi larik (parameter) 2. Mengakses data pada larik (parameter) 3. Bekerja dengan banyak larik (parameter) 4. Matriks



Tanya jawab Diskusi



Tipe data larik dan rekaman/struct 1. Deklarasi record/struct 2. Mengakses data record/struct 3. Contoh implementasi dan studi kasus



Teori : Ceramah Tanya jawab Diskusi



Pemrograman Modular 1. Pengertian modul 2. Prosedur dan fungsi 3. Variabel global dan lokal



Teori : Ceramah Tanya jawab Diskusi



data larik dan record serta penggunaannya



b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



Dapat mengakses data pada larik Dpat bekerja dengan banyak larik 1 x 100 Menit



Tes Formatif



Dapat mengetahui dan memahami tipe data larik dan record serta penggunaannya



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



10%



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



10%



a. Kejelasan



10%



Dapat mengetahui dan memahami terkait matriks dan deklarasi record/struct 2 x 100 Menit



Dapat mengetahui dan memahami tentang pemrograman modular Dapat mengetahui dan memahami pengertian modul, prosedur dan fungsi, serta variabel global dan lokal



14-15



Mengetahui dan



Pemrograman Modular



Teori :



2 x 100



Dapat mengetahui



memahami tentang pemrograman modular



1. Parameter formal dan aktual 2. Pertukaran parameter 3. Array pada fungsi dan procedure



Ceramah Tanya jawab Diskusi



Menit



dan memahami tentang pemrograman modular



pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



Dapat mengetahui dan memahami parameter formal dan actual, pertukaran parameter, dan array pada fungsi dan procedure 16



Mengetahui dan memahami tentang pemrograman modular



Pemrograman Modular 1. Rekursif 2. Contoh implementasi



Teori : Ceramah Tanya jawab Diskusi



1 x 100 Menit



Studi kasus Implementasi



Mahasiswa dapat menjawab sesuai dengan pertanyaan yang terdapat di dalam soal secara tuntas dengan logika yang teratur.



Keseluruhan materi yang telah diberikan.



UAS



Dapat mengetahui dan memahami tentang pemrograman modular



a. Kejelasan pemahaman; b. Kebenaran dan ketepatan jawaban c. Ketajaman analisis



10%



a. Penguasaan materi. b. Anaisis. c. Argumentasi (cara berfikir dan logika bahasa).



50%



Dapat mengetahui dan memahami terkait dengan rekursif 1 x 100 Menit



Mampu menguasai materi yang telah diberikan. Mampu menganalisis materi yang telah diberikan. Mampu beragumentasi (cara berfikir dan logika bahasa).



D. Sistem Evaluasi Hasil Pembelajaran 1. Penilaian hasil belajar mahasiswa dilakukan berdasarkan capaian pembelajarannya. Adapun bentuknya bisa bermacam-macam seperti penugasan individual atau kelompok, quis, seminar sebagai pengganti ujian tengah semester, ujian akhir semester, penilaian diri (selfassessment),



penilaian



sejawat



(peer



assessment),



dan



observasi



kinerja



mahasiswamelalui tampilan lisan atau tertulis. 2. Kriteria penilaian dan pembobotannya diserahkan kepada dosen pengampu dan disesuaikan dengan Pedoman Evaluasi Akademik yang berlaku pada perguruan tinggi masing-masing. 3. Sistem penilaian perlu dijelaskan kepada mahasiswa pada awal perkuliahan. 4. Bobot Nilai Akhir : a. UTS



: 30%



b. UAS



: 35%



c. Tugas/kuis



: 25%



d. Partisipasi (presensi & keaktifan) : 10% 5. Penilaian



:



Komponen Ujian



Cara



Bobot



UAS



Class-test



UTS



Tugas



-Pemahaman -Ketrampilan -Kemampuan -Pemahaman -Ketrampilan -Kemampuan -Pemahaman -Ketrampilan -Kemampuan



Keterangan : Nilai A Nilai B Nilai C Nilai D Nilai E



Prosentase



5



Skor Maks. 100



Class-test



4



100



40



-kuis -belajar mandiri



1



100



10



50



: 80,1 – 100 : 70,1 – 80 : 60,1 – 70 : 50,1 – 60 : < 50 (tidak lulus)



Bagi mahasiswa yang tidak hadir saat UTS atau UAS dengan alasan kuat (sakit/ijin dengan surat dokter) maka nilai dapat ditempuh dengan ujian susulan yang diselenggarakan oleh dosen yang bersangkutan. Selanjutnya, bagi mahasiswa dengan nilai yang kurang 0,1 dari ketentuan di atas, maka keputusan diambil dengan melihat beberapa potensi mahasiswa seperti keaktifan diskusi, kehadiran, sikap dan prilaku.



D. Referensi 1. Data Structures and Algorithms, Alfred V. Aho, Jeffrey D. Ullman and John E. Hopcroft, 1988 2. Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Rinaldi Munir, buku 1 dan 2, 2010.United Nations Population Fund (UNFPA). (2013). Motherhood in Childhood, Facing The Challenge of Adolescent Pregnancy. New York. 3. Data Structures Using C , Tenenbaum, A., Y. Langsam, and M. Augenstein, 1990, PrenticeHall.



viii



DAFTAR ISI I. PENDAHULUAN 1. Pengenalan Algoritma dan Pemrograman 2. Latihan 3. Diagram Alir II. Pengenalan C++ 1. Pendahuluan C++ 2. Tipe-tipe data (Integer, Real, Karakter, String, and Boolean) 3. I/O 4. Operator 5. Latihan III. STRUKTUR RUNTUNAN DAN CONTROL STATEMENT 1. Sequence (Runtutan) 2. Selection (Percabangan) 3. Latihan IV. STRUKTUR PERULANGAN 1. Struktur For 2. Struktur While 3. Struktur Do While 4. Perulangan Bersarang 5. Latihan V. TIPE DATA ARRAY 1. Tipe data Array 2. Array 1 dan 2 dimensi 3. Latihan VI. TIPE DATA STRUKTUR 1. Struct 2. Array of Struct 3. Latihan VII. SUBPROGRAM & FUNGSI 1. Sub program (Functions in C++) 2. Latihan DAFTAR PUSTAKA



ix



BAB I PENDAHULUAN



BAB I PENDAHULUAN 1.



Pengenalan Algoritma dan Pemrograman



a. Tujuan Pembelajaran o



Mahasiswa mengenal definisi algoritma dan pemrograman



o



Mahasiswa mengenal konsep dasar pemetaan algoritma ke dalam bahasa algoritmik.



o



Mahasiswa mampu menyelesaikan kasus atau solusi terhadap suatu masalah yang diberikan.



b. Latar Belakang Algoritma berarti solusi, solusi yang dimaksud dalam bahasa pemrograman adalah pemecahan masalah yang harus dipecahkan dengan menggunakan komputer. Langkah-langkah apa saja yang dibutuhkan untuk menyelesaikan masalah yang dihadapi. Oleh karena algoritma merupakan inti dari suatu pemrograman, maka algoritma harus dibuat runut agar komputer mengerti dan mampu mengeksekusi program yang dibuat secara benar.



c. Teori Contoh



real



untuk



mengambarkan



solusi



dari



masalah



yang



akan



diselelesaikan, misalnya solusi untuk membuat mie instant. Langkah-langkah untuk membuat mie goreng instant adalah : 1. Rebus air hingga mendidih kemudian masukkan mie selama 3 menit. 2. Campurkan bumbu, minyak bumbu, kecap manis, dan bubuk cabe ke dalam piring. 3. Tiriskan mi, kemudian campurkan mi ke dalam campuran bumbu di piring, aduk hingga merata. 4. Mie goreng siap disajikan.



Prak. Pemrograman



1



Sebagai manusia, kita



sudah



pasti mengerti langkah-langkah dalam



pembuatan mie instant, namun masalah dalam pemrograman adalah bagaimana kita bisa membuat komputer mengerti langkah demi langkah yang kita inginkan sehingga menghasilkan hasil yang kita inginkan. Agar dapat dijalankan pada komputer, maka langkah-langkah solusi yang diinginkan harus menggunakan bahasa yang dimengerti oleh komputer yang dikemas dalam bentuk program komputer. Bahasa algoritmik (pseudo-code) adalah sebuah bahasa penengah antara manusia dan komputer. Pseudo-code dibuat untuk memudahkan algoritma dengan logika manusia diubah menjadi bahasa pemrograman apapun yang dimengerti oleh komputer. Terdapat banyak sekali bahasa pemrograman yang dikenal oleh komputer, misalnya Pascal, Java, PHP, C#, C++, dan sebagainya. Program adalah algoritma ditambah dengan struktur data. Struktur data adalah tempat tatanan penyimpanan data yang dibutuhkan program pada komputer. Jika manusia memiliki otak untuk menyimpan data, maka komputer juga membutuhkan tempat untuk menyimpan data yang dibutuhkan. Hal ini disebabkan tempat penyimpanan data pada komputer memiliki kemampuan yang terbatas jika dibandingkan dengan otak manusia, maka diperlukan sebuah tatanan atau struktur agar data yang disimpan mudah untuk diakses. Belajar pemrograman berarti belajar membuat strategi penyelesaian masalah atau membuat suatu solusi. Sedangkan bahasa pemrograman adalah alat untuk mempelajari pembuatan program. Dalam praktikum ini, kita akan belajar membuat program dengan menggunakan bahasa pemrograman C++. d. Scenario Dengan menggunakan contoh sebelumnya yaitu pembuatan mie goreng instant. Kita dapat membuat urutan dalam bentuk algoritma yang baik dan terstruktur. 1. Task 1 : Deklarasi, merupakan tahapan untuk mendeklarasikan tempat yang dipakai untuk membuat mi.



Prak. Pemrograman



2



1) Step 1 : Mendeklarasikan tempat kosong yang dipakai sebagai tempat merebus mi. 2) Step 2 : Mendeklarasikan tempat untuk menempatkan mie. 3) Step 3 : Contoh kode dengan bahasa algoritmik pada tahap deklarasi adalah sebagai berikut : mie : integer bumbu : integer air_mendidih : integer 2. Task 2 : Inisialisasi, merupakan tahapan mempersiapkan proses yang dikerjakan untuk menyelesaikan masalah. 1) Step 1 : Mempersiapkan jumlah mie, air dan bumbu yang seimbang. 2) Step 2 : Contoh kode dengan bahasa algoritmik adalah sebagai berikut : mie1 air_mendidih 1 bumbu 1 3. Task 3 : Proses penyelesaian masalah, merupakan tahapan untuk penyelesaian masalah untuk memenuhi tujuan sebuah algoritma dibuat. 1) Step 1 : Merebus mie mie -mie + air mendidih 2) Step 2 : Mencampur bumbu bumbu bumbu + minyak_bumbu + kecap_manis + bubuk_cabe 4. Task 4 : Finalisasi, merupakan tahapan bersih-bersih atau tahap akhir misalnya menghapus alokasi tempat yang tidak diperlukan lagi, atau menyajikan mie yang telah matang 1) Step 1 : Membuang sisa air rebusan yang tidak digunakan lagi. air_mendidih



0



2) Step 2 : Menyajikan hasil mie yang telah matang. Output (“ Mie telah matang dan siap disantap”)



Prak. Pemrograman



3



Latihan 1. Buatlah algoritma untuk melakukan daftar ulang masuk kuliah di STIK AKBIDYO 2. Buatlah algoritma untuk menjumlahkan dua bilangan 3. Buatlah algorima untuk menentukan suatu bilangan termasuk bilangan ganjil atau genap 4. Buatlah algoritma untuk menghitung luas lingkaran BAB II PENGEN ALAN B AH ASA C++



2.



FLOWCHART



a.



Kompetensi:



Mahasiswa mampu memahami dan mengerti fungsi dari simbol-simbol flowchart. Kemudian mahasiswa mampu membuat flowchart yang nantinya flowchart tersebut menjadi dasar dalam membuat berbagai macam program. b.



Maksud dan tujuan:



a. Praktikan dapat mengenal flowchart b. Praktikan dapat membuat flowchart dari beberapa kasus c.



Landasan teori:



Pengertian/Definisi Flowchart Bagan alir (flowchart) adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. Jenis-jenis Flowchart Ada beberapa jenis flowchart diantaranya: 1. Bagan alir sistem (systems flowchart). 2. Bagan alir dokumen (document flowchart). 3. Bagan alir skematik (schematic flowchart). 4. Bagan alir program (program flowchart). 5. Bagan alir proses (process flowchart).



Prak. Pemrograman



4



System Flowchart System flowchart dapat didefinisikan sebagai bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan uruturutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem. Document Flowchart Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusantembusannya. Schematic Flowchart Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan gambargambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbolsimbol bagan alir. Penggunaan gambargambar



ini



memudahkan



untuk



dipahami,



tetapi



sulit



dan



lama



menggambarnya.



Program Flowchart Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem. Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk



Prak. Pemrograman



5



menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci (detailed computer program flow-chart) digunakan untuk menggambarkan instruksiinstruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram. Process Flowchart Bagan alir proses (process flowchart) merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur. Simbol/Notasi Flowchart Dipakai sebagai alat Bantu menggambarkan proses di dalam program Dibagi menjadi tiga kelompok : Flow Direction Symbols Dipakai untuk menggabungkan antara symbol yang satu dengan symbol lainnya.



Symbol Off-line Connector (Simbol untuk keluar/masuk prosedure atau proses dalam lembar/halaman yang lain)



Symbol Connector (Simbol untuk keluar/masuk prosedur atau proses dalam lembar/halaman yang sama).



Prak. Pemrograman



6



Processing symbols Menunjukkan jenis operasi pengolahan dalam suatu prosedur



Symbol Process (Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer)



Symbol Manual Operation (Simbol yang menunjukkan pengolahan yang tidak dilakukanoleh komputer)



Symbol Decision (Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban/aksi)



Symbol Predefined Process (Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage)



Prak. Pemrograman



7



Symbol Terminal (Simbol untuk permulaan atau akhir dari suatu program)



Symbol Keying Operation (Simbol operasi dengan menggunakan mesin yang mempunyai keyboard) Input-output symbols Menyatakan jenis peralatan yang digunakan sebagai media input atau output.



Symbol input-output (Symbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya)



Symbol magnetic-tape unit (Symbol yang menyatakan input berasal pita magnetic atau output disimpan ke pita magnetic)



Prak. Pemrograman



8



Symbol punched card (Symbol yang menyatakan input berasal dari kartu atau output ditulis ke kartu)



Symbol disk and on-line storage (Symbol untuk menyatakan input berasal dari disk atau output disimpan ke disk)



Symbol display (Symbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter, printer, dan sebagainya)



Symbol dokumen (symbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output dicetak ke kertas).



Pedoman Membuat Flowchart



Bila seorang analis dan programmer akan membuat flowchart, ada beberapa petunjuk yang harus diperhatikan, seperti: 1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri kekanan. 2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan



Prak. Pemrograman



9



definisi ini harus dapat dimengerti oleh pembacanya. 3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas. 4.Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja. 5. Setiap langkah dari aktivitas harus berada pada urutan yang benar. 6.Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri memotong



dengan aktivitas



hatihati. yang



Percabangan-percabangan sedang



digambarkan



tidak



yang perlu



digambarkan pada flowchart yang sama. Simbol konektor harus digunakan dan percabangannya diletakan pada halaman yang terpisah atau hilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem. 7.Gunakan simbol-simbol flowchart yang standar.



Prak. Pemrograman



10



Contoh Flowchart Program 1 Flowchart menentukan bilangan ganjil atau genap



Start



Input Bilangan



Hitung sisa bagi bilangan dengan 2



Apakah sisa = 0



Tidak



Ya



Cetak Genap



Cetak Ganjil



Start



Prak. Pemrograman



11



LATIHAN/KASUS FLOWCHART Alat dan bahan praktikum: a. Modul praktikum b. Komputer c. ATK Kegiatan praktikum: a. Masing-masing mahasiwa mengerjakan kasus pada latihan/kasus. b. Hasil diskusi berupa kertas kerja yang berisikan jawaban dari kasus. c. Pembahasan kasus yang sudah dikerjakan sebelumnya. Penilaian: a. Penilaian didasarkan pada jawaban kasus dan keaktifan saat pembahasan kasus. b. Nilai kasus menjadi nilai individu tiap mahasiswa. Kasus: 1. Buatlah flowchart bagaimana cara mendaftarkan pasien yang akan rawat inap (pembuatan flowchart dilihat dari sisi pasien)! 2. Buatlah flowchart bagaimana cara mendaftarkan pasien yang akan rawat inap (pembuatan flowchart dilihat dari sisi perawat/bagian pendafataran)!



Prak. Pemrograman



12



BAB II PENGENALAN BAHASA C++ Pengenalan Bahasa C++ a. Tujuan Pembelajaran o



Mahasiswa mengenal dasar-dasar bahasa pemrograman C++.



o



Mahasiswa dapat memetakan bahasa logaritmik ke dalam bahasa pemrograman C++.



o



Mahasiswa mampu membuat program mulai dari kasus sederhana dengan menggunakan bahasa pemrograman C++.



b. Latar Belakang Dengan berbekal konsep dasar algoritma dan pemrograman, maka kita selanjutnya dapat mempelajari bahasa pemrograman yang akan kita gunakan dalam pembelajaran kali ini yaitu bahasa pemrograman C++. Solusi-solusi dari masalah yang kita hadapi perlu dipetakan ke dalam bahasa algoritmik agar lebih mudah dipahami ke dalam bentuk bahasa pemrograman yang digunakan. Selanjutnya bahasa algoritmik terebut dipetakan dalam bahasa pemrograman C++ sesuai dengan struktur pada bahasa pemrograman C++.



c. Teori Bahasa pemrograman C++ adalah pengembangan dari bahasa pemrograman C sebagai pendahulunya. Kata C++ sering dikenal sebagai “C with Classes” karena bahasa pemrograman C++ telah mendukung pemrograman berorientasi objek seperti halnya bahasa pemrograman Java. Semua library yang ada pada bahasa C juga telah tercakup pada bahasa C++. Compiler merupakan perangkat lunak yang digunakan untuk mengubah kode program (source code) menjadi bahasa mesin (binary file) agar dapat dieksekusi oleh komputer. Program akan berhasil di-compile jika program tersebut tidak mengandung kesalahan secara kaidah sama sekali (syntax error). Contoh



Prak. Pemrograman



1



compiler C/C++ yang populer adalah minGW dan GCC, biasanya compiler tersebut telah dikemas/bundled bersama dengan software IDE-nya (Integrated Development Environment). Software-software IDE merupakan lembar kerja terpadu



dengan



fasilitasnya



termasuk



compiler



untuk



pembuatan



atau



pengembangan program. Software IDE C/C++ yang cukup populer dan bersifat opensource(tidak berbayar) diantaranya adalah Codeblock, Dev C++, dan Sublime (untuk Mac OS) Bahasa pemrograman C++ merupakan bahasa pemrograman yang bersifat case sensitif yang berarti compiler membedakan huruf besar dan huruf kecil, misalnya jika kita menuliskan printf dan Printf pada bahasa C maka compiler C akan menganggap kedua tulisan tersebut berbeda maknanya. Dalam praktikum bahasa pemrograman C++ kali ini, kita akan menggunakan Dev C++ yang merupakan program IDE sekaligus compiler yang bersifat open source. Adapun bagian-bagian yang mendukung dalam pembuatan suatu program yang dibuat dengan bahasa pemrograman C++, antara lain : o



Komentar, merupakan bagian kode program yang tidak dieksekusi oleh compiler. Komentar dianggap penting untuk memperjelas program agar lebih mudah dimengerti dan memberikan informasi-informasi dari bagian-bagian tertentu kode program. Dengan komentar, program kita dapat dibaca oleh orang lain dengan mudah agar dapat dikembangkan lebih lanjut. Biasanya tanpa komentar, orang lain akan susah memahami alur kode program yang dibuat, oleh karena itu diperlukan komentar agar kode program kita lebih informatif.



o



Identifier, nama yang diberikan oleh programmer (orang yang membuat program). Penamaan suatu identifier dapat digunakan pada nama program, nama fungsi, atau obyek-obyek lain yang terlibat dalam bahasa pemrograman, seperti nama variabel, konstanta yang akan dibahas lebih lanjut.



o



Keyword, kata kunci yang merupakan kata-kata tertentu yang mengandung arti khusus yang terdapat dalam bahasa pemrograman. Dalam bahasa pemrograman C++, yang dinamakan keyword misalnya asm, class, delete,



Prak. Pemrograman



2



friend, inline, new, operator, private, protected, public, template, this, virtual, dsb. Kata-kata yang dianggap sebagai keyword menurut standar suatu bahasa pemrograman tersebut tidak boleh dipakai sebagai nama identifier. Library function, berbeda dengan keyword, library function adalah pustaka



o



yang berisi fungsi-fungsi yang telah disediakan oleh bahasa C++ dalam filefile header atau library-nya. Fungsi-fungsi tersebut digunakan untuk melakukan tugas tertentu. Fungsi dikelompokkan menurut jenis dan sifatnya dan disimpan di dalam sebuah file yang berekstensi .h. Misalnya salah satu fungsi library yaitu cout disimpan pada file iostream.h, digunakan untuk mencetak ke layar monitor. Fungsi-fungsi bawaan dari bahasa C, sebagai contoh, fungsi printf dari library stdio.h juga bisa digunakan dalam bahasa C++ asalkan pada bagian awal program dicantumkan #include.



Struktur program // my first program in C++



Hello World



#include using namespace std; int main () { cout New Source File



Gambar 2.1 Tampilan proyek baru



2) Step 2 : Ketikkan kode program pada area kerja



Gambar 2.2 Tampilan source code Penjelasan tampilan source code



Prak. Pemrograman



5



2. Task 2 : Menyimpan proyek baru 1) Step 1 : Pilih Menu File > Save As > 2) Step 2 : Pilih direktori penyimpanan dan beri nama file



Gambar 2.3 Tampilan Save As



3. Task 3 : Kompilasi dan Eksekusi program 1) Step 1 : Pilih menu Execute > Compile



Prak. Pemrograman



6



Gambar 2.4 Tampilan compile program



2) Step 2 : Pilih menu Execute > Run



Gambar 2.5 Tampilan running program 2.1 Tipe Data Dasar (Integer, Real, Karakter, String, Boolean) a. Tujuan Pembelajaran Mahasiswa mengenal tipe dasar integer, riil, karakter, string, dan boolean. o Mahasiswa paham bagaimana mengimplementasikan suatu operasi dari



o



tipe data dasar tersebut ke dalam bahasa pemrograman C++. b. Latar Belakang Awal dari pembahasan pemrograman, kita akan menggunakan tipe data dasar terlebih dahulu yang meliputi tipe data integer, real, char, string dan boolean.



Prak. Pemrograman



7



c. Teori Tipe data adalah jenis data berdasarkan isi dan sifatnya. Misalnya kita analogikan dengan contoh kasus sehari-hari yaitu galon air hanya khusus dibuat untuk menampung jenis benda dengan jenis tertentu yaitu benda yang berjenis cair, misalnya air. Adapun jenis-jenis tipe data dasar pemrograman, antara lain : o



Integer, tipe bilangan bulat biasa disebut sebagai integer, namun tipe bilangan bulat tidak hanya terdiri dari integer, masih ada tipe lain seperti short dan long, yang membedakan ketiga tipe tersebut adalah jangkauan bilangannya.



o



Real, tipe ini digunakan untuk menyatakan bilangan yang membutuhkan ketelitian dengan adanya nilai dibelakang koma. Diantaranya yaitu: double, single, float.



o



Char, tipe data yang digunakan untuk menyimpan sebuah karakter.



o



String, tipe data yang berupa kumpulan karakter (satu atau lebih) yang berada di dalam dua buah tanda petik dua (“) dalam bahasa C.



o



Boolean, tipe data yang digunakan untuk menyatakan pernyataan benar (true) atau salah (false).



Jangkauan tiap tipe data berbeda-beda baik dari nilai jangkauannya maupun bahasa pemrograman. Tabel 2.1 Jangkauan tipe data Tipe Dasar



Jangkauan Nilai



Jumlah Presisi



Char



-128 hingga +127



-



Int



-32768 hingga +32767



-



Long



-2.147.438.648 2.147.438.647



Float



3,4E-38 hingga 3,4E38



6-7



Double



1.7E-308 hingga 1.7E308



15-16



Long Double



3.4E-4932 hingga 1.1E4932



19



Prak. Pemrograman



Digit



hingga -



8



Variabel merupakan tempat untuk menyimpan data dengan tipe tertentu yang isinya bisa diubah-ubah sesuai dengan tipenya. Setiap variabel hanya dapat menyimpan satu buah nilai. Sehingga jika nilai itu diubah maka nilai sebelumnya diganti dengan nilai yang baru. Sedangkan konstanta sebenarnya adalah variabel yang ditentukan nilai standarnya (default) dari awal dan biasanya nilainya tidak diubah-ubah. Variabel dan konstanta harus dideklarasikan dahulu agar program dapat mengalokasikan memory untuk menampung data yang spesifik dan memprosesnya dalam program sehingga didapatkan output yang sesuai. Bahasa C++ telah mendukung deklarasi variabel sekaligus inisialisasi, contohnya adalah : string tabelmerk[5]={"adidas adizero Indonesia","adidas climacool Vietnam ", "adidas f50 China "}; //deklarasi array sebanyak 5 larik, //tiap larik mampu penyimpan string tabelmerk[3]="Nike mercurial Indonesia"; //inisialisasi setiap larik tabelmerk[4]="Nike Air Vietnam";



Sebenarnya inisialisasi juga merupakan penugasan yaitu proses memasukkan nilai kedalam variabel dengan bantuan operator (=). Penugasan sering disebut sebagai “assignment”. Dari contoh diatas , proses assignment-nya dalah memasukkan data string (kumpulan karakter) kedalam setiap larik variabel tabelmerk[0] hingga larik tabelmerk[4]. Konstanta mirip dengan variabel, namun memiliki nilai tetap. Konstanta dapat berupa nilai interger, float, karakter, dan string. Pendeklarasian konstanta dapat dilakukan dengan dua cara: ➢



Menggunakan (#define)



Deklarasi konstanta dengan cara ini, lebih mudah dilakukan karena akan menyertakan #define sebagai preprocessor directive. Dan sintaksnya diletakkan bersama-sama dengan pernyataan #include (diatas main( ) ) Format penulisannya adalah: #define pengenal nilai Contoh penggunaan: #define phi 2.414159265 #define Newline „\n‟ #define lebar 100



Prak. Pemrograman



9



Pendeklarasian dengan #define tanpa diperlukan adanya tanda = untuk memasukkan nilai ke dalam pengenal dan juga tanpa diakhiri dengan tanda titik koma atau semicolon (;) ➢



Menggunakan konstanta (const)



Sedangkan dengan kata kunci const, pendeklarasian konstanta mirip dengan deklarasi variabel yang ditambah kata depan const dan langsung inisialisasi. Contoh: const int lebar = 100; const char tab = „p‟; const zip = 912; Untuk contoh terakhir, deklarasi variabel zip yang tanpa tipe data, maka compiler akan secara otomatis memasukkannya kedalam tipe int



d. Scenario Tahapan-tahapan yang terpenting dalam membuat suatu program adalah dimulai dengan mendeklarasikan variabel yang akan dipakai dan jenis tipe datanya, selanjutnya melakukan inisialisasi pada variabel tersebut, kemudian mendefinisikan proses-proses penyelesaian masalah yang dapat berupa rumusrumus perhitungan atau instruksi dan perintah-perintah yang lain. Pendeklarasian suatu variabel dan tipe datanya pada bahasa C++ dapat dilihat pada step-step berikut : 1. Task 1 : Membuat program penjumlahan 2 bilangan bulat : 1) Step 1 : Deklarasi variabel-variabel Penjelasan:



Variabel-variabel



yang



digunakan



untuk



proses



penjumlahan dua buah bilangan bulat, adalah a dan b. Oleh karena dua buah bilangan yang diproses merupakan bilangan bulat, maka tipe data yang digunakan pada variabel a dan variabel b adalah integer. 2) Step 2 : Inisialisasi Penjelasan: Inisialisasi pada variabel a dan b adalah pemberian nilai awal pada kedua variabel yang akan digunakan. 3) Step 3 : Proses Penjelasan: Berisi proses penjumlahan.



Prak. Pemrograman



10



4) Step 4 : Finalisasi Penjelasan: merupakan tahapan untuk mengakhiri program, meliputi tampilan hasil ke output devices (layar), dan return 0 digunakan untuk mengakhiri



dan



mengembalikan



nilai,



karena



program



kita



menggunakan INT (lihat pada fungsi main), maka perlu adanya pengembalian nilai. Untuk itu kita gunakan return 0 agar tidak terjadi kesalahpahaman antara kita dengan program.



Gambar 2.6 Tampilan kode program 2. Task 2 : Kompilasi & Eksekusi program



Gambar 2. Tampilan hasil program



Prak. Pemrograman



11



Latihan 1. Buatlah program untuk menentukan suatu bilangan termasuk bilangan ganjil atau genap. 2. Buatlah program untuk menentukan suatu bilangan termasuk bilangan prima. 3. Buatlah program untuk menghitung luas lingkaran. 2.2 Operator a. Tujuan Pembelajaran o



Mahasiswa mengenal definisi dan macam-macam operator.



o



Mahasiswa mampu mengimplementasikan operator-operator tersebut pada studi kasus yang berikan.



b. Latar Belakang Untuk memproses suatu pemrosesan yang lebih rumit terkadang kita membutuhkan suatu simbol atau perintah tanda untuk memperlakukan terhadap suatu variabel-variabel yang dinamakan dengan operator. c. Teori Operator adalah simbol atau tanda yang jika diletakkan pada dua buah operan dapat menghasilkan sebuah hasil, contohnya pada matematika yakni tanda tambah (+) jika diletakkan di antara dua buah angka akan menghasilkan angka lain hasil pertambahan dua angka tersebut. Tanda tambah inilah yang disebut sebagai operator.



Prak. Pemrograman



12



Operator memiliki beberapa jenis sebagai berikut : o



Operator Aritmatika Operator



Deskripsi



Contoh



+



Penjumlahan



a+b



-



Pengurangan



a-b



*



Perkalian



a*b



/



Pembagian



a/b



%



Sisa pembagian (modulo) a%b



-



Negasi



-a



Operator negasi (-) disebut unary operator, karena membutuhkan hanya satu buah operand , sedangkan operator % (modulus) digunakan untuk mencari sisa pembagian antara dua bilangan. Misalnya : 9 % 2 = 1, 9 % 3 = 0 o



Operator Relasi Operator



Deskripsi



Contoh



==



Sama dengan



a==b



Apakah a sama dengan b



!=



Tidak sama dengan



a != b



Apakah a tidak sama dengan b



>



Lebih besar



a>b



Apakah a lebih besar b




=b



Apakah a lebih dari atau sama dengan b



>



Geser n bit ke kanan ( right shift )



a c) && (a+c>b) &&( b+c>a)) while(x>=‟f‟ || x