0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan

Modul 1 Algoritma Dan Pemrograman

Diunggah oleh

Irlan Malik
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan

Modul 1 Algoritma Dan Pemrograman

Diunggah oleh

Irlan Malik
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 24

MODUL 1

ALGORITMA &
KOMPUTER
ALGORITMA & PEMROGRAMAN
KODE MK : 3106
Mochamad Irlan Malik, ST,. MT.

T E K N I K M E K AT R O N I K A
U N I V E R S I T A S M A YA S A R I B A K T I
perangkat elektronik yang menerima, DEFINISI
menyimpan dan memproses data menjadi
informasi secara matematis atau logis sesuai
dengan serangkaian instruksi yang di program.
Dengan kemampuan untuk menerima,
memproses, dan menyimpan data dalam
berbagai bentuk, komputer telah menjadi
komponen integral dalam kehidupan sehari-hari
KOMPUTER
Komputer Elektronik

Komponen Komputer
KOMPONEN KOMPUTER
Input Unit Output Unit
Input unit (piranti masukan) Output unit (piranti keluaran)
berfungsi untuk memasukkan berfungsi untuk mengeluarkan
data dari pengguna ke memori data dari memori komputer ke
komputer, contohnya keyboard, pengguna, contohnya monitor
mouse, dan card reader.. dan printer.

Main Memory ALU


Main memory, disebut juga RAM ALU (Arithmetic and Logic Unit)
(Random Accsess Memory) berfungsi melakukan semua
meru- pakan wadah untuk operasi aljabar dan logika pada
menampung semua data dan komputer. ALU merupakan otak
masukan yang akan diolah utama dari suatu komputer. .
selanjutnya oleh komputer. Main
memory bersifat temporer, artinya
data-data yang tersimpan di
memory tersebut akan hilang jika
komputer dimatikan
KOMPONEN KOMPUTER
Control Unit Secondary Memory
Control unit berfungsi mengatur Secondary Memory berfungsi
seluruh aliran data yang ada di untuk menyimpan semua data
komputer. Control Unit dan ALU yang diinginkan agar tidak hilang
disebut juga sebagai CPU saat komputer dimatikan.
(Central Processing Unit)
Algoritma dan Pemrograman
Sejarah
Pada abad ke-9 melihat sumbangan penting dari
matematikawan Persia, Al-Khwarizmi, yang memberikan
nama kepada algoritma dan memperkenalkan konsep-
algoritma yang digunakan dalam penyelesaian persamaan
linear dan kuadrat. Pada abad ke-20, revolusi komputasi
membawa konsep algoritma ke tingkat yang lebih tinggi,
terutama dengan munculnya komputer digital yang dapat
menjalankan instruksi-instruksi yang diatur dalam urutan
algoritma, menghasilkan perkembangan penting dalam
pemrosesan informasi modern dan komputasi. Sejarah
algoritma mencerminkan peningkatan pemahaman
manusia tentang cara mengatur, mengotomatisasi, dan
memecahkan masalah dengan efisien dalam berbagai
konteks.
Kritrea Algoritma
Algoritma merupakan rangkaian instruksi yang dijalankan
secara terurut untuk menyelesaikan suatu permasalahan.
Algoritma diperkirakan berasal dari kata Al-Khuwarizmi,
yaitu seorang ilmuwan yang menulis Kitab Al Jabar Wal-
Muqabala. Kriteria-kriteria dari suatu algoritma yang baik
antara lain sebagai berikut

1. Input, yaitu memiliki masukan.

2. Output, yaitu memiliki keluaran.

3. Definiteness, yaitu memiliki instruksi yang jelas dan tidak ambigu .

4. Finiteness, yaitu memiliki titik henti.

5. Efectiveness, yaitu efektif dalam pelaksanaan.


Program
Pengertian
Program adalah formulasi sebuah
algoritma dalam bentuk bahasa
pemrograman, sehingga siap untuk
dijalankan pada mesin komputer.
Membuat program seperti
memberitahukan apa yang harus
dilakukan kepada orang lain. 70%
Sebagai contoh, pada saat kita
memberitahukan algoritma
membuat telur dadar kepada orang
lain, kita sudah melakukan
pemrograman
Bahasa Pemrograman
Bahasa pemrograman adalah
bahasa buatan yang digunakan
untuk mengendalikan perilaku
dari sebuah mesin, biasanya
berupa mesin komputer,
sehingga dapat digunakan untuk
memberitahu komputer tentang
apa yang harus dilakukan.
Klasifikasi Menurut Generasi
First Generation Language (1GL)
Bahasa pemrograman ini berupa kode-kode mesin
yang hanya bisa dipahami oleh mikroprosesor

Second Generation Language (2GL)


Bahasa pada generasi ini adalah assembly language,
dimana bahasa ini masih menggunakan kode-kode
yang disebut dengan mnemonic. Bahasa assembly
disebut sebagai generasi kedua karena bahasa ini
bukan bahasa asli mikroprosesor, meskipun begitu
programer tetap harus mengetahui keunikan dari
masing-masing mikroprosesor (register dan jenis
instruksi).

Generasi ketiga
Bahasa pemrograman generasi ketiga sengaja didesain
supaya mudah dipahami oleh manusia. Pada generasi
ini mulai dikenalkan istilah variabel, tipe data, ekspresi
aljabar dan sudah mendukung pemrograman terstruktur.
Contoh bahasa: FORTRAN, COBOL, ALGOL, BASIC,
C, C++, Pascal, Java.
Klasifikasi Menurut Generasi
Generasi Keempat
Pada generasi ini, bahasa pemrograman didesain
untuk mengurangi effort dan mempercepat proses
pembuatan program. Pada 3GL, pembuatan program
membutuhkan waktu yang lama dan mudah sekali
didapati error. Pada 4GL, telah menggunakan
metodologi dimana sebuah perintah dapat
menghasilkan beberapa instruksi 3GL yang kompleks
dengan sedikit error. Contoh bahasa:  Pemrograman
umum : DataFlex, WinDev, PowerBuilder  Basis
data : SQL, Progress 4GL  Manipulasi data, analisis
dan pelaporan : ABAP, Matlab, PL/SQL

Generasi Kelima
Bahasa pemrograman generasi kelima disebut sebagai
constraint-programming atau declarative-programming.
Program tidak dituliskan dalam bentuk algoritma
melainkan dituliskan batasan atau fakta dari sebuah
lingkup masalah, sehingga program akan menghasilkan
luaran dalam bentuk solusi. Bahasa pemrograman ini
digunakan untuk membangun sistem kecerdasan
buatan dan belum digunakan secara meluas di dunia
industri. Contoh bahasa: Prolog, LISP, Mercury.
Klasifikasi Menurut Tingkatan
Low-level programming language
Tingkat bahasa pemrograman ini disebut ”rendah” (low level) bukan karena posisinya berada di bawah,
melainkan karena kurangnya abstraksi (penggambaran kode instruksi) antara bahasa natural dengan
bahasa mesin. Oleh karena itu, bahasa di tingkat ini sering disebut sebagai ‟bahasa mesin‟. Bahasa
pemrograman yang masuk kategori ini adalah bahasa mesin itu sendiri (1GL) dan bahasa assembly
(2GL).

High-level programming language (HLL)


Bahasa pemrograman di tingkat ini memiliki abstraksi yang lebih banyak dan terdapat kemiripan
dengan bahasa natural (bahasa Inggris), lebih mudah untuk digunakan dan mudah untuk dipindahkan
antar platform.

Very high-level programming language (VHLL)


Bahasa ini memiliki abstraksi yang lebih tinggi dibandingkan HLL, dan digunakan untuk menunjang
produktifitas programer profesional. Biasanya VHLL digunakan hanya untuk tujuan yang spesifik,
misalnya untuk keperluan bisnis: mengolah data, membuat laporan, dsb.
Paradigma
Pemrograman

Paradigma pemrograman
merupakan sebuah cara
pandang seorang programmer
dalam menyelesaikan sebuah
masalah dan
memformulasikannya kedalam
sebuah bahasa pemrograman
Paradigma Imperatif
Inti dari paradigma ini adalah menjalankan sebuah urutan
perintah, jalankan satu perintah kemudian jalankan
perintah yang selanjutnya. Sebuah program imperatif
tersusun dari sekumpulan urutan perintah yang akan
dijalankan oleh komputer. Pemrograman prosedural
merupakan salah satu contoh dari paradigma ini, dan
seringkali dianggap sebagai sebuah sebuah paradigma
yang sama.
• Ide dasarnya adalah dari model komputer Von
Neumann.
• Eksekusi langkah-langkah komputasi diatur oleh
sebuah struktur kontrol. 70%
• Berdasarkan urutan-urutan atau sekuensial.
• Program adalah suatu rangkaian prosedur untuk
memanipulasi data. Prosedur merupakan kumpulan
instruksi yang dikerjakan secara berurutan.
• Contoh bahasa pemrograman: Fortran, Algol, Pascal,
Basic, C
Paradigma Fungsional
Pemrograman Fungsional adalah sebuah paradigma yang
menjadikan fungsi matematika sebagai penentu dalam
eksekusi komputasi. Fungsi tersebut merupakan dasar
utama dari program yang akan dijalankan. Paradigma ini
lebih banyak digunakan di kalangan akademis daripada
produk komersial, terutama yang murni fungsional.
• Ide dasar dari matematika dan teori fungsi.
• Beberapa contoh bahasa fungsional adalah APL,
Erlang, Haskell, Lisp, ML, Oz dan Scheme.

70%
Paradigma Logika
Umumnya digunakan pada domain yang berhubungan
dengan ekstraksi pengetahuan yang berbasis kepada fakta
dan relasi. Dalam paradigma ini, logika digunakan secara
murni untuk representasi bahasa deklaratif yang
kebenarannya ditentukan oleh programmer, sedangkan
pembukti-teorema atau model pembangkit digunakan
sebagai pemecah masalah.
• Berasal dari pembuktian otomatis didalam intelegensia
buatan.
• Berdasar kepada aksioma, aturan dan query.
• Eksekusi program menjadi proses pencarian secara
sistematik dalam sekumpulan fakta, dengan 70%
menggunakan sekumpulan aturan.
• Beberapa contoh bahasa pemrograman: ALF, Fril,
Gödel, Mercury, Oz, Ciao, Visual Prolog, XSB, and
λProlog
Paradigma Berorientasi Obyek
Pemrograman berorientasi obyek muncul untuk mengatasi
masalah kompleksitas dari sebuah perangkat lunak
sehingga kualitas dari perangkat lunak tersebut dapat
dikelola dengan lebih mudah. Caranya adalah dengan
memperkuat modularity dan reusability didalam perangkat
lunak tersebut. Pemrograman berorientasi obyek
menggunakan obyek dan interaksi antar obyek dalam
penyusunan sebuah perangkat lunak. Paradigma ini
semakin banyak digunakan karena lebih mudah dalam
menggambarkan kondisi yang ada pada dunia nyata.
• Ide dari interaksi antar obyek yang ada pada dunia 70%
nyata.
• Antar obyek saling berinteraksi dengan saling
mengirimkan pesan (message).
• Terdapat beberapa karakteristik utama, yaitu: Abstraksi,
Enkapsulasi, Pewarisan dan Polimorfisme.
FlowChart
sebuah jenis diagram yang mewakili
algoritma, alir kerja atau proses,
yang menampilkan langkah-langkah
dalam bentuk simbol-simbol grafis,
dan urutannya dihubungkan dengan
panah. Diagram ini mewakili ilustrasi
atau penggambaran penyelesaian
masalah. Diagram alir digunakan
untuk menganalisis, mendesain,
mendokumentasi atau
memanajemen sebuah proses atau
program di berbagai bidang.
Bagian FlowChart
Terminator Arrow
Sebagai simbol ‟START‟ atau Sebagai penunjuk arah
‟END‟ untuk memulai atau dan alur proses.
mengakhiri flowchart.
Input/Output Connector (On-page)
Digunakan untuk menuliskan Digunakan untuk
proses menerima data atau menyatukan beberapa arrow
mengeluarkan data.
Proses Connector (Off-page)
Digunakan untuk menuliskan Digunakan untuk
proses yang diperlukan, menghubungkan flowchart yang
misalnya operasi aritmatika harus digambarkan pada
halaman yang berbeda. Biasanya
Conditional / Decision pada simbol ini diberi nomor
Digunakan untuk menyatakan sebagai penanda, misalnya
proses yang membutuhkan angka 1.
keputusan.
Display
Preparation Digunakan untuk menampilkan
Digunakan untuk data ke monitor
memberikan nilai awal.
CONTOH
Buatkanlah Flowchart Untuk membuat kegiatan menggoreng Telur Dadar
Pseudocode

Pseudocode adalah notasi


algoritmik yang lebih
menyerupai bahasa
pemrograman tingkat tinggi,
misalnya Pascal. Agar suatu
algoritma dalam bentuk
pseudocode mudah
dipahami, maka algoritma
tersebut perlu ditulis dalam
struktur tertentu.
Struktur Algoritma

1. Header Header memuat nama dan informasi

mengenai algoritma yang ditulis.

2. Deklarasi Deklarasi memuat definisi berbagai variabel

dan tipe data yang digunakan dalam algoritma

tersebut.

3. Deskripsi Deskripsi memuat langkah-langkah

penyelesaian masalah dengan menggunakan

algoritma tersebut.
Contoh
Pseudocode Program Matlab
program hitung_luas_segi_panjang % Deklarasi variabel
panjang = 0;
deklarasi lebar = 0;
var panjang,lebar,luas:integer; luas = 0;

algoritma: % Minta pengguna memasukkan panjang dan lebar

read(panjang); panjang = input('Masukkan panjang segi panjang: ');


read(lebar); lebar = input('Masukkan lebar segi panjang: ');

luas <– panjang * lebar; % Hitung luas segi panjang


luas = panjang * lebar;
write(luas);
% Cetak hasil luas
fprintf('Luas segi panjang adalah: %d\n', luas);
LATIHAN
1. Apa yang dimaksud Bahasa Pemrograman?

2. Jelaskan perbedaan dari Bahasa pemrograman Generasi Ke empat dan generasi ke lima

3. Apa jenis jenis Algoritma yang anda ketahui? Sebutkan dan jelaskan Apikasinya!

4. Apa perbedaan Pseudocode dan Pemrograman?

5. Buatlah Flow Chart Sederhana Pengolahan Sosis?

Anda mungkin juga menyukai