Modul 3 - TipeAlgoritmaDasar-InputOutput - Runtunan-01 [PDF]

  • 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 3 Tipe Algoritma Dasar Pemrograman



dan Operasi Input-Output Oleh : Tim Penyusun MKU Koding UNP Lisensi Dokumen: Copyright © 2020 Universitas Negeri Padang Seluruh dokumen di e-Learning Universitas Negeri Padang, hanya digunakan untuk kalangan Internal Universitas, untuk kebutuhan Perkuliahan Online. Penggunaan dokumen ini di luar UNP tidak diizinka dan tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari Penulis dan Universitas Negeri Padang.



1. Capaian Pembelajaran Mahasiswa mampu menjelaskan dan menentukan bentuk algoritma dasar dalam pemrograman dalam menyelesaikan permasalahan. 1.1. Indikator Pencapaian Kompetensi 1. Ketepatan membedakan karakteristik algoritma berdasarkan permasalahan. 2. Ketepatan menjelaskan jenis-jenis algoritma dasar berupa runtunan (sequensial), pemilihan (branch dan percabangan) dan pengulangan (Looping atau Repetisi). 3. Ketepatan menjelaskan berbagai algoritma dasar runtunan (sequensial), pemilihan atau percabangan dan perulangan (looping atau repetisi). 4. Ketepatan memilih bentuk algoritma dasar dan gabungan algoritma dasar tersebut untuk menyelesaikan masalah pemrograman. 1.2. Pokok – Pokok Materi 1. 2. 3. 4.



Operasi Fungsi Input-Output, Algoritma Runtunan, Algoritma Pemilihan , Algoritma Pengulangan.



2. Uraian Materi 2.1. Teks Algoritma Pemrograman Paradigma pemrograman procedural memisahkan bagian data dan bagian instruksi dipisahkan tempatnya. Pada dasarnya, teks algoritma selalu disusun oleh tiga bagian (blok): bagian kepala (header) algortima, bagian deklarasi dan bagian deskripsi algoritma program. Setiap bagian sebaiknya dilengkapi dengan komentar untuk memperjelas maksud teks yang dituliskan. Bagian komentar pada pemrograman bahasa C (C++) adalah kalimat yang diapit oleh pasangan tanda slash (garis miring) dan bintang (asterisk) ( /* …. */ )



Struktur umum Algoritma NAMA_ALGORITMA /* Penjelasan tentang algoritma/program, berisi uraian singkat mengenai apa yang dilakukan oleh algoritma. Pada bahasa C hal ini tidak wajib/perlu */ DEKLARASI /* Semua nama yang dipakai, meliputi nama tipe, nama tetapan (konstanta), nama peubah (variabel), nama prosedur & nama fungsi didefinisikan di sini */ DESKRIPSI /* Semua langkah/aksi algoritma dituliskan di sini



*/



Selanjutnya, sebuah file program bahasa C tersusun atas beberapa unsur, yaitu mulai dari dokumentasi program, pengarah pengolahan, bagian Deklarasi global, sebuah fungsi main() maupun fungsi buatan. Berikut Struktur Susunan Program Bahasa C : NAMA PROGRAM



/* Nama program berupa keterangan bersifat opsional */



[ Dokumentas program ]



/* bersifat opsional */



[ Pengarah pra pengolahan ]



/* bersifat opsional */



DEKLARASI [ Deklarasi global ] [ Jenis data ]



/* DEKLARASI bila diperlukan bersifat opsional */



main( [daftar argument] )



DESKRIPSI {



/* awal deskripsi algoritma/program */ [ Deklarasi lokal ]



[ Kode program yang dapat dieksekusi ] }



/* akhir deskripsi algoritma/program */



[ Fungsi-fungsi buatan pemrogram ] Kurung-siku pada tiap bagian program bingkai Struktur Susunan Program Bahasa C yang ditampilkan ini bersifat opsional, boleh ada boleh tidak dalam suatu program bahasa C.



2.2. Penanganan Input-Output Agar program yang telah kita buat dapat diberikan data baru secara interaktif dan dapat pula berinteraksi dengan pengguna program serta dapat pula menampilkan hasil pengolahan yang dilakukan, maka pada program memerlukan fungsi input-output. Fungsi-fungsi standar input-output ini juga berguna untuk membuat program menjadi interaktif untuk berkomunikasi dengan pemakai. Salah satu contoh yang sudah sangat familiar dengan contoh-contoh program yang telah digunakan pada modul dan tugas sebelumnya adalah fungsi ouput, yaitu printf(), sedangkan fungsi input yang akan sangat sering digunakan adalah scanf(). Kedua fungsi ini printf() dan scanf() dikenal sebagai fungsi output dan fungsi input berformat, karena dengan fungsi ini pemrogram dapat menentukan bentuk output dan input yang diinginkan. Masing-masing fungsi ini menggunakan penentu format yang diberikan sebagai penentu format (format specifieer) yang diberikan sebagai argument. Penggunaan fungsi input-output siap pakai disediakan bahasa C dalam Library Routine dengan penyebut (Identifier) function yang ditetapkan dan dicantumkan pada file Header (File .H). Penggunaan fungsi dengan nama yang telah ditentukan tersebut harus di awali dengan deklarasi #include pada bagian presesor struktur program-C. Daftar identifier lintas data interaktif pada file input-output standar (stdio.H) antara lain adalah sbb: Operasi Output Operasi Input printf() getchar() puts() gets() putchar() scanf() sprint() sscanf() vsprint() vscanf() Sedangkan daftar Identifier untuk lintas data interaktif pada file console input-output (conio.H) antara lain adalah, sbb :



Operasi Ouput Operasi Input putch() getch() cprintf() getche() cputs() cgets() cscanf() kbhit() Beberapa fungsi output dan input beserta keterangan singkat tempat pemakaian dan penggunaannya ditampilkan pada table berikut : Output



Input



Keterangan (dipakai di ..)



(Menulis) (Membaca) printf() scanf() putc() getc() putch() getch() getche()



Output-input (menulis dan membaca) standar berformat Menulis dan Membaca sebuah karakter tunggal pada file Menampilkan dan membaca karakter ke layar Membaca karakter ke layar



putchar() puts()



getchar() gets()



Menampilkan dan membaca karakter kelayar Menuliskan dan membaca satu baris string dari input dan



cprintf()



cscanf() sscsanf()



output standar dan menambah karakter baris baru (/n) Menampilkan argument ke layar (output) dan berwarna Membaca untaian karakter buffer, mengubah dan



dll.



menyimpannya ke dalam variable sesuai format yg ditentukan



2.3. Fungsi-fungsi Output-Input Berformat 2.3.1. Output Berformat - printf() Fungsi output printf() akan mengubah, memformat dan mencetak argumennya pada alat output standar (biasanya screen monitor) dibawah pengendalian format yang ditentukan oleh penentu format. Sebagai contoh : Contoh 1.1. dalam Dev-Cpp : Tampilkan kalimat “Hello Dunia!” dan “Bahasa C itu mudah” dalam dua baris dan dilanjutkan perkalian dua bilangan bulat. Hasil program : /* Program-1 Program-Pertama-Saya */ #include



main() { int x = 4; /* tentukan variabel x bertipe integer bernilai 4 */ int y = 7; /* tentukan variabel y bertipe integer bernilai 7 */ int z; /* tentukan variable z bertipe integer */



z = x * y; /* operasi perkalian nilai variable z adalah perkalian x dengan y */ printf(“\n \n \n”); /* Enter turun tiga baris kebawah */ printf(“Hello Dunia ! \n”); /*tampilan tulisan Hello Dunia ! dan pindah baris berikut */ printf(“Bahasa C itu mudah \n”); /* tampilkan tulisan “Bahasa C..dst “ dan pindah baris */ printf(“Perkalian Nilai %d dan nilai %d maka hasilnya adalah %d, x, y, z); } Simpan hasil kode-sumber (source-code) program di atas dengan menekan tombol CTRL bersamaan dengan tombol huruf S (tombol-kontrol + S). Setelah file di simpan (save), dilanjutkan dengan meng-kompail (COMPILE) – F9 dan menjalankannya (RUN)-F10 Hasil eksekusi : (Pada Dev.C++ tekan F9, lalu F10 atau cukup F11 (masing-masing satu kali)



2.3.2. Input Berformat - scanf() Fungsi scanf() adalah sebuah fungsi input yang juga memberikan banyak fasilitas konversi seperti halnya fungsi output printf(), fungsi ini membaca karakter-karakter yang diberikan melalui peralatan input standar (biasanya keyboard), mengkonversikannya kenilai variable sesuai dengan spesifikasi yang ditentukan dalam penentu format. Fungsi scanf() memiliki 2 ciri ramah pengguna (user friendly): 1). Daftar argument berapapun panjangnya dapat di scan (dibaca). 2). input yang diberikan dapat dikendalikan oleh sebuah spesifikasi konversi atau format yang sederhana. Daftar argumen yang diberikan pada fungsi ini terdiri dari dua bagian yakni : string kendali dan argument-argumen lainnya. Contoh 1.2. dalam Dev.C++ : Tampilkan kalimat “Hello Dunia” dan “ Bahasa C itu mudah” dalam dua baris. / * Program-1 Program-Pertama-Saya-Juga */ #include



/* deklarasikan header untuk standar input-output */ Main() /* deklarasi fungsi utama program */ { /* posisi awal program … program dimulai di sini */ printf (“Hello Dunia ! \n”); /* tampilkan “tulisan Hello Dunia !” dan pindah baris */ printf (“Bahasa C itu mudah \n”); /*tampilkan tulisan Bahas C itu mudah & pindah baris */ } /* posisi akhir program … program berakhir di sini */ Simpan hasil kode-sumber (source-code) program di atas dengan menekan tombol CTRL bersamaan dengan tombol huruf S (tombol-kontrol + S). Setelah file di simpan (save), dilanjutkan dengan meng-kompail (COMPILE) – F9 dan menjalankannya (RUN)-F10



Hasil eksekusi : (Pada Dev.C++ tekan F9, lalu F10 atau cukup F11 (masing-masing satu kali)



Revisi berdasarkan program di atas, maka berikutnya program untuk : Tampilkan kalimat “Hello Dunia” dan “ Bahasa C itu mudah” dalam dua baris dan dilanjutkan perkalian dua bilangan bulat yang nilai dapat diubah-ubah nilainya melalui keyboard. Hasil program : /* Program-1 Program-Scanf-Pertama-Saya */ #include



#include



main() { int x , y; /* tentukan variabel varX dan varY bertipe integer */ int hasilZ; /* tentukan variable hasilZ bertipe integer */ printf("\n \n \n"); /* Enter turun tiga baris kebawah */ printf("****************************************************** \n"); printf("* Program Bahasa C Ke-2 Saya * \n"); printf("****************************************************** \n \n"); puts(" Perkalian Dua Bilangan Integer"); puts(" Masukkan dua Angka Integer X dan Y"); puts(" Misalnya X = 11 SPASI Y = 12 dan 14 ENTER \n"); puts(" bilangan-x spasi bilangan-y dan ENTER \n \n"); scanf("%d %d",&x,&y); /*Membaca dari keyboard nilai1 pada alamat &x dan &y */ printf("\n \n Hello Dunia ! \n"); /*tampilan tulisan Hello Dunia ! dan pindah baris berikut */ printf(" Bahasa C itu mudah \n \n \n"); /* tampilkan tulisan "Bahasa C.. dan turun 2 baris */ hasilZ = x * y; /* operasi perkalian nilai hasilZ adalah varX dikali varY */ printf(" Perkalian Nilai %d dan nilai %d maka hasilnya adalah = %d \n \n", x, y, hasilZ); printf("******************************************************* \n \n"); } Simpan hasil kode-sumber program Contoh-1.2 dengan menekan tombol CTRL + S. Lalu kompail (COMPILE–F9) dan jalankan (RUN)-F10. Hasil eksekusi : (Pada Dev.C++ tekan F9, lalu F10 atau cukup F11 (masing-masing satu kali)



Contoh 1.2. dalam Dev.C++ : /* Program-2 Program-Scanf-Kedua-Saya */ #include



#include



main() { long int x , y; /* tentukan variabel varX dan varY bertipe integer */ long int hasilZ; /* tentukan variable hasilZ bertipe integer */ printf("\n \n \n"); /* Enter turun tiga baris kebawah */ printf("******************************************************* \n"); printf("* Program Bahasa C Ke-2 Saya * \n"); printf("******************************************************* \n \n"); puts(" Perkalian Dua Bilangan Integer"); puts(" Masukkan dua Angka Integer X dan Y"); puts(" Misalnya X = 11 SPASI Y = 12 dan 14 ENTER \n"); puts(" bilangan_ke-1 spasi bilangan_ke-2 dan ENTER \n \n"); scanf("%d %d",&x,&y); printf("\n \n Hello Dunia ! \n"); /*tampilan tulisan Hello Dunia ! dan pindah baris berikut */ printf(" Bahasa C itu mudah \n \n \n"); /* tampilkan tulisan dan pindah turun 2 baris */



hasilZ = x * y; /* operasi perkalian nilai hasilZ adalah varX dikali varY */ printf(" Perkalian Nilai %d dan nilai %d maka hasilnya adalah = %d \n \n", x, y, hasilZ); printf("******************************************************* \n \n"); } Hasil Compile dan Run adalah sbb:



3. Algoritma Runtunan Algoritma Runtunan program merupakan proses algoritma secara beruntunan atau proses secara bersambung-sambungan (sequensce) terhadap satu atau lebih instruksi, yang berarti bahwa : 1. tiap instruksi dikerjakan satu persatu; 2. tiap instruksi dilaksanakan tepat sekali; tidak instruksi yang diulang; 3. ururtan instruksi yang dilkasanakan pemroses sama dengan urutan aksi sebagaimana yang tertulis di dalam teks algoritmanya; 4. akhir dari instruksi terakhir merupakan akhir dari algoritma program pula. 3.1. Contoh Algoritma Runtunan Contoh 1.1. dalam Dev.C++ : Tampilkan kalimat “Hello Dunia!” dan “Bahasa C itu mudah” dalam dua baris dan dilanjutkan perkalian dua bilangan bulat. Hasil program : /* Program-1 Program-Pertama-Saya */ #include



main() { int x = 4; /* tentukan variabel x bertipe integer bernilai 4 */ int y = 7; /* tentukan variabel y bertipe integer bernilai 7 */



int



z;



/* tentukan variable z bertipe integer */



z = x * y; /* operasi perkalian nilai variable z adalah perkalian x dengan y */ printf(“\n \n \n”); /* Enter turun tiga baris kebawah */ printf(“Hello Dunia ! \n”); /*tampilan tulisan Hello Dunia ! dan pindah baris berikut */ printf(“Bahasa C itu mudah \n”); /* tampilkan tulisan “Bahasa C..dst “ dan pindah baris */ printf(“Perkalian Nilai %d dan nilai %d maka hasilnya adalah %d, x, y, z); } Simpan hasil kode-sumber (source-code) program di atas dengan menekan tombol CTRL bersamaan dengan tombol huruf S (tombol-kontrol + S). Setelah file di simpan (save), dilanjutkan dengan meng-kompail (COMPILE) – F9 dan menjalankannya (RUN)-F10 Hasil eksekusi : (Pada Dev.C++ tekan F9, lalu F10 atau cukup F11 (masing-masing satu kali)



Contoh 1.2. dalam Dev.C++ :



Hasil eksekusi (compile dan RUN) atau tekan F11 adalah sbb



Contoh Program -1.3 dalam bahasa Dev.C++



Hasil Eksekusi (Compile dan RUN) atau F11 adalah sbb :



Contoh Program-1.4 dalam Dev.C++



Hasil eksekusi (compile dan RUN) atau F11 adalah sbb :



Contoh Program-1.5 dalam Dev C++ sbb:



Hasil eksekusi (compile dan RUN) atau F11 adalah sbb :



Contoh Program-1.6 dalam Dev.C++ sbb: Kasus : Menghitung Luas Segitiga. Luas sembarang segitiga adalah panjang alas dikalikan dengan tringgi segitiga dibagi dua. Panjang alas dan tinggi segitiga ditentukan terlebih dahulu dibagian deklarasi. Hasilnya ditampilkan di akhir program. Kode sumber program dalam bahasa Dev-C++ adalah sbb:



Hasil eksekusi (compile dan RUN) atau F11 adalah sbb :



Contoh Program-1.7 dalam Dev.C++ sbb: Kasus : Menghitung Luas Lingkaran dengan nilai besaran secara interaktif dimasukan melalui perangkat keyboard . Diinputkan adalah panjang jari-jari ( r ) atau diameter (d) di masukan secara interaktif (optional r atau d). Luas lingkaran adalah phi dikalikan dengan kuadrat jarijari atau kuadrat diameter dikalikan phi dan dibagi empat. Sedangkan Keliling lingkaran adalah dua phi dikalikan dengan jari-jari atauphi dikalikan dengan diameter. Nilai phi sebagai konstantan bernilai 3.14 dan mendeklarasikan jari-jari (r) atau diameter (d) ditentukan terlebih dahulu dibagian deklarasi. Hasilnya ditampilkan di akhir program. Kode sumber program dalam bahasa Dev-C++ adalah sbb:



4. Algoritma Pemilihan atau Percabangan Dalam sustu program adakalanya suatu aksi (action) baru dilaksanakan bila persyaratan yang ditentukan atau kondisi tertentu telah dipenuhi atau tidak dipenuhi. Jadi suatu penyelesaian masalah sering harus dianalisa kasus-kasus apa saja yang mungkin ada atau mungkin terjadi. < ALGORITMA PEMILIHAN atau PERCABANGAN akan dibahas pada pertemuan berikutnya , dalam pembahasan algoritma struktur kontrol.>



5. Daftar Rujukan**) 5.1.



Munir, Rinaldi. (2016). Algoritma dan pemrograman : Dalam bahasa pascal, C, dan C++. Informatika, Bandung.



5.2.



Gudono, MBA, (1995), Pemrograman C dan C++, Penerbit ANDI OFFSET, Yogyakarta.



5.3.



Sitompul, Opim S., (1995), Prinsip Dasar Pemrograman C, Penerbit GHALIA INDONESIA, Jakarta.



5.4.



G.Kochan, S. (2001). Programming in C, Third Edition (Vol. 40). https://doi.org/10.1002/1521-3773(20010316)40:6