• Tidak ada hasil yang ditemukan

Pemrograman Dasar: Algoritma Pemrograman

N/A
N/A
Iwan Junaedi

Academic year: 2024

Membagikan "Pemrograman Dasar: Algoritma Pemrograman"

Copied!
64
0
0

Teks penuh

(1)

K.1 Pemrograman Dasar

Algoritma Pemrograman

(2)

Program

Program komputer (juga disebut sebagai software atau hanya program) adalah

serangkaian instruksi berurutan yang

ditulis untuk melakukan serangkaian tugas untuk komputer

(3)

• Komputer tak memiliki kemampuan untuk menyelesaikan masalahnya sendiri

• Komputer hanyalah berupa alat yang

digunakan untuk melakukan perhitungan- perhitungan dan serangkaian tugas yang dibebankan kepadanya

• Pembuat program disebut sebagai programmer

(4)

Jika diibaratkan program seperti jadwal

kegiatan selama hari ini. Misal hari ini saya harus mandi, makan, ke kampus, rapat A, rapat B, makan, tidur, belajar, belanja, dsb

Kegiatan seperti di atas kita sebut sebagai instruksi apa yang harus kita lakukan saat itu.

Dan daftar instruksi yang ditulis menjadi satu berkas utuh disebut sebagai program.

(5)

• Nah secara umum, program memberikan kemampuan komputer untuk melakukan fungsi khusus

• Komputer akan mengeksekusi atau

menjalankan instruksi yang ada dalam program di dalam central processor

(6)

• Program dibuat dengan menggunakan bahasa pemrograman sebagai alat untuk mengungkapkan ide sang programmer agar dapat dijalankan oleh komputer

• Setelah ditulis dalam bahasa

pemprograman, tidak serta merta apa

yang kita tulis tersebut dapat dilaksanakan oleh komputer

(7)

• Komputer hanya mengerti bilangan biner dan instruksi-instruksi menggunakan

bahasa mesin

• Untuk membuat komputer mengerti maksud dan tujuan kita, diperlukanlah sebuah kompiler yang dapat

menerjemahkan bahasa pemprograman ke bahasa mesin

(8)

• Namun ada juga komputer program yang tidak berupa kode bahasa mesin, namun berupa kode-kode khusus dan terkadang juga berupa kode-kode bahasa

pemprograman

• Program model ini memerlukan bantuan interpreter untuk menerjemahkan bahasa tersebut ke bahasa mesin sehingga

dimengerti oleh perangkat keras

(9)

• Source code ditulis oleh seorang

programmer dengan salah satu bahasa pemprograman (sebagai pengungkapan ide sang programmer)

(10)

• Menggunakan dua paradigma utama yakni:

a. Pemprograman imperatif b. Pemprograman deklaratif

• Program komputer dapat dikategorikan menjadi beberapa jenis yakni :

a. System software

b. Application software

(11)

• Program komputer dapat dikategorikan menjadi beberapa jenis yakni :

a. Input Bagian ini merupakan proses

untuk memasukkan data ke komputer melalui device yang ada misalnya

keyboard, mouse, scanner dll.

(12)

b. Program melakukan proses membaca data yang akan diolah dari device

tersebut.

c. Output Bagian ini merupakan proses untuk menampilkan data yang telah diolah, melaporkan hasil pegolahan data melalui device seperti monitor, printer dll. Program melakukan proses mencetak data ke device tersebut.

(13)

d. Proses Pengolahan Data Bagian ini

merupakan proses mengolah data yang diinputkan dengan nenerapkan metode- metode, teknik-teknik, algoritma-

algoritma yang ada. Proses ini

menghasilkan data output yang akan

dioutputkan kepada pengguna program.

e. Penyimpanan Data Bagian ini

merupakan proses menyimpan data

dalam memori atau device penyimpanan data seperti disket, harddisk, CD dll.

(14)

Algoritma

Definisi Algoritma

Adalah urutan langkah-langkah yang sistematis untuk menyelesaikan sebuah masalah.

Adalah urutan logis pengambilan keputusan untuk pemecahan masalah.

Urutan langkah-langkah logis pada penyelesaian masalah yang disusun secara sistematis

(15)

• Sejarah Algoritma

a. Berasal dari nama penulis buku arab yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khawarizmi

b. Oleh orang barat, Al-Khawarizmi dibaca menjadi Algorism

(16)

c. Algorism mempunyai arti proses menghitung dengan angka arab d. Al-Khawarizmi menulis buku yang

berjudul Kitab Al Jabar Wal Muqabala (Buku pemugaran dan pengurangan)

(17)

e. Dari algorism menjadi algorithm muncul karena algorism sering dikelirukan

dengan arithmetic.

f. Lambat laun algorithm berangsur-angsur dipakai sebagai metode perhitungan

(komputasi) secara umum.

g. Dalam bahasa Indonesia, algorithm menjadi algoritma

(18)

No ProsesContoh-contoh AlgoritmaAlgoritma Contoh Langkah dalam Algoritma

1 Membuat telur mata sapi Resep - Masukkan minyak ke dalam wajan, panaskan

- Masukkan telur ke dalam wajan

- Tunggu sampai matang 2 Merakit komputer Panduan Sambungkan kabel sata dari

harddisk ke motherboard 3 Kegiatan sehari-hari Jadwal Pukul 06.00 : mandi pagi

Pukul 07.00 : berangkat

(19)

Kasus 1

Ada dua buah ember

Ember A berisi air berwarna merah Ember B berisi air berwarna biru

Bagaimana algoritma untuk

menukarkan air berwarna merah dari ember A ke ember B dan air berwarna biru dari ember B ke ember A ?

(20)

Kasus 1

1. Tambahkan 1 ember (ember C)

2. Tuangkan air berwarna merah dari ember A ke ember C

3. Tuangkan air berwarna biru dari ember B ke ember A

4. Tuangkan air berwarna merah dari ember C ke ember B

+

1. Ada 3 buah ember

2. Ember A kosong, ember C berisi air berwarna merah

3. Ember A berisi air berwarna biru, ember B kosong

4. Ember B berisi air berwarna biru, ember C kosong

Hasil Langkah-langkah

(21)

Kasus 2

• Bagaimana algoritma untuk menghitung luas segitiga?

(22)

Kasus 2

1.

Hitung alas segitiga

2.

Hitung tinggi segitiga

3.

Kalikan alas dan tinggi dan

0.5

(23)

Tugas Diskusi

• Bagaimana algoritma untuk menyelesaikan masalah ini?

Petani membawa serigala, kambing, dan sayur ingin menyeberang.

1 sampan hanya dapat untuk mengangkut 1 petani dan 1 bawaan. Akan tetapi..

Jika serigala hanya bersama kambing, serigala akan memakan kambing

Jika kambing hanya bersama sayuran, kambing akan memakan sayuran

(24)

Struktur Algoritma

▪ Inti dari algoritma adalah menemukan solusi dari suatu permasalahan.

▪ Untuk menyelesaikan masalah, algoritma membutuhkan spesifikasi

input (masukan) sesuai yang diperlukan,

memprosesnya melalui serangkaian langkah-langkah dan

menghasilkan output sebagai solusi dari permasalahan.

(25)

Masalah Algoritma Solusi

Input Algoritma Output

(26)

• Secara umum struktur Algoritma terdiri dari 3 bagian, yaitu :

– Nama/judul Algoritma – Bagian Deklarasi

– Bagian Deskripsi

(27)

• Berikut ini gambaran struktur sebuah Algoritma – Algoritma NAMA_ALGORITMA

{ Penjelasan mengenai algoritma, yang berisi uraian singkat mengenai apa yang dilakukan oleh

algoritma }

(28)

– DEKLARASI

{ Semua bahan dan alat yang dibutuhkan selama algoritma dijalankankan, atau dalam algoritma meliputi variabel yang dipakai, nama tipe,

konstanta, nama prosedur dan nama fungsi didefinisikan di sini }

(29)

– DESKRIPSI :

{ Semua langka, proses, atau statement algoritma dituliskan di sini, biasanya langkah-langkah

diberikan penomoran untuk memudahkan penelusuran dan organisasi) }

(30)
(31)

Langkah-langkah Mendownload Video dari Youtube 1. Buka situs Youtube

2. Buka video pada situs Youtube 3. Salin alamat video yang dibuka 4. Buka Situs www.keepvid.com

5. Tempel alamat yang telah disalin pada isian yang disediakan oleh situs keepvid.com, kemudian klik tombol Download

6. Jika sudah muncul pilihan download, klik kanan pilihan format video yang diinginkan, apakah MP4 atau FLV kemudian pilih Save Link As

7. Tunggu hingga proses download selesai

(32)

1. Siapkan kolam dari terpal dengan ukuran 2m x 1m x 0.6m

2. Isi kolam dengan air yang kaya dengan alga dan plankton sebagai makanan bibit lele

3. Siapkan bibit ikan lele dengan aturan 200 ikan lele tiap 2m2 panjang kali lebar

4. Beri bibit lele makan dua kali sehari dengan pelet khusus lele

5. Setiap seminggu atau dua minggu sekali ganti sebagian

6. Jika lele sudah cukup besar, maka siap dipanen

(33)

Perhatikan algoritma sederhana berikut :

• Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah:

• 1. Menyiapkan Peralatan Tulis

• 2. Menulis surat

• 3. Surat dimasukkan ke dalam amplop tertutup

• 4. Amplop ditempeli perangko secukupnya.

• 5. Pergi ke Kantor Pos terdekat untuk mengirimkannya

(34)

• Algoritma menghitung luas persegi panjang:

• 1. Masukkan panjang (P)

• 2. Masukkan lebar (L)

• 3. Luas P * L 4. Tulis Luas

(35)

Pembuatan algoritma mempunyai banyak keuntungan di antaranya:

• a) Pembuatan atau penulisan algoritma tidak

tergantung pada bahasa pemrograman manapun, artinya penulisan algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.

• b) Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

• c) Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

(36)

Beberapa hal yang perlu diperhatikan dalam membuat algoritma:

• a) Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah

dimengerti dan dipahami.

• b) Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.

Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

(37)

• c) Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks

algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke

dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut

berkorespondensi dengan notasi bahasa pemrograman secara umum.

(38)

• d) Notasi algoritmik bukan notasi bahasa

pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer.

Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau

diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya. Pseudocode adalah kode yang mirip dengan instruksi kode

program sebenarnya.

(39)

• e) Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.

• f) Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa

pemrograman

(40)

Perhatikan algoritma sederhana berikut :

• Algoritma menghitung luas segitiga

• 1. Start

• 2. Baca data alas dan tinggi.

• 3. Luas adalah alas kali tinggi kali 0.5

• 4. Tampilkan Luas

• 5. Stop

(41)

Penjelasan :

• Algoritma di atas adalah algoritma yang sangat

sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan.

Semua langkah dilakukan hanya satu kali.

• Sekilas algoritma di atas benar, namun apabila

dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada

nilai data untuk alas dan tinggi.

(42)

Hasil perbaikan algoritma perhitungan luas segitiga

• 1. Start

• 2. Baca data alas dan tinggi.

• 3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari nol maka lanjutkan ke langkah ke 4 jika tidak maka stop

• 4. Luas adalah alas kali tinggi kali 0.5

• 5. Tampilkan Luas

• 6. Stop

(43)

Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma.

• Pertama, algoritma harus benar.

• Kedua algoritma harus berhenti, dan

• Setelah berhenti, algoritma memberikan hasil yang benar.

(44)

Contoh : Algoritma Berangkat Sekolah

• Mulai

– Bangun dari tempat tidur – Mandi Pagi

– Sarapan Pagi

– Pergi Ke Sekolah – Cari Ruang Kelas

– Masuk kelas untuk Belajar

• Selesai

(45)

Beda Algoritma dan Program ?

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakanbahasa pemrograman. Jadi bisa

disebut bahwa program adalah suatu implementasi dari bahasa pemrograman.

Program = Algoritma + Bahasa (Struktur Data)

(46)

• Program = Algoritma + Bahasa

a. Program adalah kumpulan pernyataan yang dapat dieksekusi oleh komputer.

b. Algoritma adalah metode dan tahapan sistematis dalam program

(47)

Penerjemah Bahasa Pemrograman

Untuk menterjemahkan bahasa pemrograman yang kita tulis maka diperlukan Compiler dan interpreter.

Compiler adalah suatu program yang menterjemahkan bahasa program (Source code) ke dalam bahasa obyek (object code) secara keseluruhan program.

Interpreter berbeda dengan Compiler, interpreter menganalisis dan mengeksekusi setiap baris dari

program secara keseluruhan. Keuntungan dari interpreter adalah dalam eksekusi yang bisa dilakukan dengan

segera. Tanpa melalui tahap kompilasi, untuk alas an ini interpreter digunakan pada saat pembuatan program berskala besar.

(48)

Perbedaan Compiler dan interpreter.

Compiler Interpreter

Menterjemahkan secara keseluruhan Menterjemahkan Instruksi per instruksi Bila terjadi kesalahan kompilasi maka

source program harus diperbaiki dan dikompilasi ulang

Bila terjadi kesalahan interprestasi dapat Diperbaiki

Dihasilkan Object program Tidak dihasilkan obyek program

Dihasilkan Executable program Tidak dihasilkan Executable program Proses pekerjaan program lebih cepat Proses pekerjaan program lebih lambat Source program tidak dipergunakan hanya

bila untuk perbaikan saja

Source program terus dipergunakan

Keamanan dari program lebih terjamin Keamanan dari program kurang terjamin

(49)

Jenis-Jenis Bahasa Pemrograman

• Bahasa Pemrograman Tingkat rendah (Bahasa mesin, Biner)

• Bahasa Pemrograman Tingkat tinggi

Contoh-contoh Bahasa Pemrograman yang ada :

– Prosedural : Algol, Pascal, Fortran, Basic, Cobol, C 2.

– Fungsional : LOGO, APL, LISP 3. Deklaratif : Prolog

• Object oriented murni: Smalltalk, Eifel, Java, PHP

(50)

Cara penulisan algortima

Ada tiga cara penulisan algoritma, yaitu :

1. Structured English (SE)

SE merupakan alat yang cukup baik untuk

menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya

sebagai Structured Indonesian (SI).

”SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak”

(51)

2. Pseudocode

• Pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya

seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan

pseudocode yang sering digunakan.

“Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program”

(52)

Contoh Pseudocode :

• 1. Start

• 2. READ alas, tinggi

• 3. Luas = 0.5 * alas * tinggi

• 4. PRINT Luas

• 5. Stop

(53)

• Pada Contoh diatas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC.

• Pernyataan seperti READ dan PRINT merupakan

keyword yang ada pada bahasa BASIC yang masing- masing menggantikan kata “baca data” dan

“tampilkan”.

• Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

(54)

3. Flowchart

Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika.

Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentuk notasi-notasi tertentu.

Flowchart merupakan gambar atau bagan yang

memperlihatkan urutan dan hubungan antar proses

beserta pernyataannya. Gambaran ini dinyatakan dengan simbol.

(55)

• Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses

digambarkan dengan garis penghubung.

• Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagianbagian yang terlupakan dalam analisis masalah.

• Di samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.

(56)

• Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa

anjuran:

• 1) Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses

menjadi singkat.

• 2) Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.

• 3) Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

(57)

Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia

pemrograman:

(58)
(59)
(60)

Penjelasan lebih lanjut :

Simbol-simbol bagan alir program (Flowchart)

Notasi Membuat algoritma sederhana untuk menyelesaikan permasalahan

menggunakan bahasa natural, flowchart dan pseudocode

Notasi ini disebut Data yang digunakan untuk mewakili data input atau output

atau menyatakan operasi pemasukan data dan pencetakan

(61)

Notasi ini disebut Process yang digunakan untuk mewakili suatu proses.

Notasi ini disebut Decision yang digunakan untuk suatu pemilihan, penyeleksian kondisi di dalam suatu program

(62)

Notasi ini disebut Preparation yang

digunakan untuk memberi nilai awal, nilai akhir, penambahan/pengurangan bagi

suatu variabel counter.

Notasi ini disebut Predefined Process

yang digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan

ditempat lain (prosedur, sub-prosedur, fungsi)

(63)

Notasi ini disebut Connector yang digunakan untuk menunjukkan

sambungan dari flowchart yang terputus di halaman yang sama atau halaman

berikutnya.

Notasi ini disebut Arrow yang digunakan untuk menunjukkan arus data atau aliran data dari proses satu ke proses lainnya.

(64)

Contoh program Flowchart

Bagan alir logika program Bagan alir program komputer terinci

Referensi

Dokumen terkait

Netbeans juga digunakan oleh sang programmer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain

Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.jadi, program adalah perwujudan atau

Notasi algoritmik yang digunakan pada setiap bahasa pemrograman berbeda – beda, dalam pembahasan ini kita akan menggunakan bahasa pemrograman Tubro C untuk

Netbeans juga digunakan oleh sang programmer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java

Mata kuliah ini membahas tentang sistem komputer (software, hardware dan brain ware), dasar pemrograman, teknik merancang program , mengenal bahasa pemrograman

Dalam sebuah Bahasa pemrograman jika dalam suatu ekspresi aritmatika memiliki lebih dari satu operator yang berbeda maka ketika mengerjakan komputer akan dimulai dari tingkatan

• Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer yaitu dalam Bahasa pemrogram dibedakan.. j di

Komputer bisa mengerti tentang program yang ditulis dengan menggunakan perangkat lunak bahasa pemrograman karena masing-masing perangkat lunak bahasa pemrograman dilengkapi