Makalah Asprak Algoritma Pemrograman

Embed Size (px)

Citation preview

MAKALAH ALGORITMA PEMROGRAMAN

DISUSUN OLEH : MIFTAKHURROKHMAT SITI-3I 09.11.3207

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER AMIKOM YOGYAKARTA

1

2010

2

KATA PENGANTAR Ilmu adalah hal yang paling penting yang dianugerahkan oleh Allah SWT kepada kita semua, karena dengan ilmu kita bisa melakukan hal apapun, dan dengan ilmu pula kita bisa mendapakan kebahagian di dunia dan di akhirat. Maka dari itu marilah kita bersama sama memanjatkan puja dan puji syukur kepada Allah SWT, atas segala kenikmatan yang telah ia berikan kepada Kita semua selama ini, yang salah satunya yaitu nikmat ilmu pengetahuan serta nikmat Iman, Islam dan nikmat Ikhsan. Salawat dan salam semoga terus tercurah limpahkan kepada Nabi Muhammad SAW, yang telah membawa kita semua dari Zaman Djahiliah ( Zaman Kebodohan) menuju zaman yang penuh dengan ilmu pengetahuan dan rahmat Allah SWT seperti sekarang ini. Karena sangat pentingnya Ilmu bagi kita semua, maka kami persembahkan makalah ini yang berjudul MAKALAH ALGORITMA DAN PEMROGRAMAN kepada para pembaca sebagai salah satu bagian dari referensi dalam bidang ilmu pengetahuan terutama ilmu tentang teknologi informasi. Kami sadar bawa makalah ini masih jauh dari sempurna, maka dari itu kritik dan saran pembaca yang membangun sangat penting sekali untuk membenahi dan memperbaiki makalah makalah lainnya yang nantinya akan kami buat. Dan kami ucapkan kepada pihak pihak yang telah membantu penyusunan makalah ini, dan kami berharap makalah ini bisa berguna bagi kita semua, amin.

iii

DAFTAR ISI

iv

BAB I PENDAHULUAN Asal kata algoritma berasal dari nama Abu Ja'far Mohammed Ibn Musa al-Khowarizmi seorang Ilmuwan Persia yang menulis kitab al jabr w'al-muqabala (rules of restoration and reduction) tahun 825 M Terdapat sedikit perbedaan pendefinisian algoritma oleh

beberapa ahli bahasa dan informatika.Tetapi secara garis besar dapat kita definisikan bahwa algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis" Masalah sendiri dapat kita jabarkan sebagai perbedaan antara harapan dan kenyataan.Atau bisa kita definisikan sebagai perbedaan antara teori dan praktiknya.Agar tidak terjadi masalah, maka teori harus sama dengan praktik maka kita harus merencanakannya.Untuk merencanakannya digunakan algoritma untuk menyelesaikan masalah dengan urutan langkah yang sistematis. Algoritma pemrograman adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis di dalam pemrograman. Untuk sedikit memperjelas terdapat beberapa istilah dalam algoritma pemrograman.Programmer adalah orang yang membuat program.Programming adalah proses pemrogramannya.Program adalah hasilnya.Untuk membuat suatu program, programmer harus merencanakannya dulu menggunakan algoritma pemrograman. Dikatakan algoritma jika memiliki beberapa unsur yaitu ada input, ada output, urutan pasti (definit), ada batas berhenti, dan efektif.

1

BAB II ISI 2.1 Menyelesaiakan Masalah Dengan Algoritma

2.1.1 Menyelesaikan Masalah Dengan Urutan Langkah Yang Pasti Contoh sederhana: mengirim surat kepada teman 1. Tulis surat pada secarik kertas surat. 2. Ambil sampul surat. 3. Masukkan surat ke dalam sampul. 4. Tutup sampul surat menggunakan perekat. 5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat. 6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat. 7. Tempel perangko pada surat. 8. Bawa surat ke kantor pos untuk diposkan. Contoh kasus 1: Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. 1. Masukkan sebuah bilangan sembarang 2. Bagi bilangan tersebut dengan bilangan 2 3. Hitung sisa hasil bagi pada langkah 2. 4. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil. Contoh kasus 2: Menghitung luas persegi panjang

2

1. Masukkan nilai panjang 2. Masukkan nilai lebar 3. Luas = panjang x lebar 4. Output Luas 2.1.2 Menyelesaikan Masalah Dengan Flow Chart Flowchart merupakan bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart program karena lebih memudahkan kita dalam tulisan membuat lebih sulit

penyelesaian

dengan

dipahami.Flowchart mempunyai sifat yang universal, sehingga memudahkan bagi programmer yang berbeda Negara dalam memahaminya. SIMBOL NAMATERMINATOR

FUNGSIPermulaan/akhir program

GARIS ALIR (FLOW LINE)

Arah aliran program

PREPARATION

Proses inisialisasi/pemberian harga awal Proses perhitungan/proses pengolahan data Proses input/output data, parameter, informasi Permulaan sub program/proses menjalankan sub program

PROSES

INPUT/OUTPUT DATA PREDEFINED PROCESS (SUB PROGRAM)

3

DECISION

Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya Penghubung bagian-bagian flowchart yang berada pada satu halaman Penghubung bagian-bagian flowchart yang berada pada halaman berbeda

ON PAGE CONNECTOR OFF PAGE CONNECTOR

Flowchart 1: Menentukan Bilangan Ganjil Atau Genap

Start Input Bilanga n

A

Apakah Sisa = 0 Y

T

Hitung sisa bagi antara bilangan dengan 2

Cetak Genap

Cetak Ganjil

End A

Flowchart 2 : Menghitung luas persegi panjangStart

Input p, l

L=pxl

Output L

End

4

2.2

Pengantar C++

2.2.1 Pengenalan C++ C++ adalah salah satu bahasa pemrograman.Bahasa C atau C++ dikembangkan pertama kali pada laboratorium Bell (USA) sekitar tahun 1972 oleh Dennis Ritchie pada komputer DEC PDP-11 dengan sistem operasi UNIX.Beberapa versi C mulai dikembangkan oleh beberapa pakar untuk dijalankan pada sistem operasi selain UNIX, seperti PC-DOS dan MS-DOS.Untuk melaksanakan pembakuan (standarisasi) terhadap bahasa C, ANSI (American National Standards Instute) membentuk team untuk membuat bahasa C standard ANSI, yang dimulai tahun 1983.Standar ANSI inilah yang selanjutnya digunakan sebagai acuan dari berbagai versi C yang beredar dewasa ini. Perbedaan Bahasa C dan C++ Meskipun bahasa-bahasa ini menggunakan syntaks yang sama, mereka memiliki perbedaan.C merupakan bahasa pemrograman prosedural.dimana untuk menyelesaikan suatu masalah, masalah tersebut akan dibagi-bagi ke dalam sub-sub masalah yang lebih kecil.Sedangkan C++ merupakan bahasa pemrograman yang mempunyai sifat Object Oriented Programming (OOP).Untuk menyelesaikan masalah C++ melakukan langkah pertama dengan mendefinisikan classclass.Class-class ini berisi keadaan objek, anggota-anggotanya dan kemampuan dari objeknya.Setelah class-class dibuat, masalah dipecahkan dengan menggunakan class. Alasan menggunakan bahasa C atau C++ 1. C adalah bahasa pemrograman yang populer 2. C adalah bahasa pemrograman yang memiliki portabilitas tinggi 3. C adalah bahasa pemrograman dengan keyword sedikit 4. C adalah pemrograman yang fleksibel 5. C adalah bahasa pemrograman yang bersifat modular

5

2.2.2 Memulai C++ Contoh 1: Menampilkan teks

Adapun tampilannya adalah sebagai berikut

2.3

Langkah-Langkah Pemrograman Analisis Masalah Input apa saja? Algortima proses bagaimana? Output apa? Ketik source code Header files --> #include

6

Global sections Main sections

--> variabel global, fungsi bantu --> variabel lokal, input, proses, output

Jalankan program. ada error? Tes hasilnya. sudah benar? Buat arsip / dokumentasi

2.4

Mengenal Struktur Program

2.4.1 Variabel dan Tipe Data Variabel = penyimpan nilai/ data. Setiap masalah harus dianalisa terlebih dahulu variabel apa saja yang terlibat/ dibutuhkan. Setiap variabel ditentukan tipe datanya yang sesuai. Variabel

Utama menyimpan data input/ output Bantu dipakai selama proses Angka int, float, double Karakter char Turunan array, struct, pointer

Tipe data

2.4.2 Input dan Output FORMAT Angka %i, %d, %f Huruf/ karakter %c String/ array of char %s INPUT scanf(format, variabel) scanf ( %d, &angka ); getch() gets(variabel) gets ( nama );

7

OUTPUT printf(kalimat, variabel) printf ( IPK = %f, ipk );

2.4.3 2.4.3.1

Control structure Sequential / Urutan

Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial.

2.4.3.2

Branching / Percabangan

Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan proses selanjutnya

IF ELSE

Biasa digunakan untuk seleksi nilai/ data Kondisi jamak ((kondisi_1) &&/ || (kondisi_2)) if (kondisi=TRUE) jalankan_statement_ini

8

if (kondisi=TRUE) statement_1 else statement_2 // if kondisi=FALSE

if (kondisi=TRUE) statement_1 else if (kondisi=TRUE) statement_2 else statement_3 // if kondisi=FALSE

if (kondisi=TRUE) if (kondisi=TRUE) nested_statement

SWITCHBiasa digunakan untuk membuat menu dalam program switch (variabel_pilihan) { case nilai_1 : statemen_1; break; case nilai_2 : statemen_2; break; case nilai_3 : statemen_3; break; default: statemen_default; } Bisa berbentuk nested/ bersarang

2.4.3.3

Looping / PerulanganMengulangi proses selama syarat/ kondisi tertentu terpenuhi

9

LOOK FOR Syntax source code lebih ringkas Biasa dipakai untuk perulangan yang sudah jelas jumlah perulangannya for(nilai_awal; syarat_ulang; inc/dec) { statemen_yang_akan_diulang2; }

LOOP WHILE & DO-WHILE Biasa dipakai untuk perulangan dengan kondisi bersyarat/ logika while (kondisi=TRUE) {

jalankan_statemen_ini; } do {

jalankan_statemen_ini; } while (kondisi=TRUE)

NESTED LOOP

10

Perulangan bersarang (terjadi di dalam perulangan) Yang biasa dipakai adalah loop FOR karena lebih mudah & ringkas Contoh kasus yang sering dipakai adalah pengolahan tampilan, angka dan matrik for(int i=1; i