• Tidak ada hasil yang ditemukan

Skide Dasar Komputasi Pengenalan Pemrograman

N/A
N/A
Chico Paruda

Academic year: 2023

Membagikan "Skide Dasar Komputasi Pengenalan Pemrograman"

Copied!
38
0
0

Teks penuh

(1)

Dasar Komputasi

Pengenalan Pemrograman

(2)

Mengapa bahasa pemrograman??

Mengapa harus memprogram??

Bahasa merupakan sarana untuk berkomunikasi

Untuk ‘berkomunikasi’ dengan komputer kita perlu menguasai ‘bahasa komputer’

Bahasa yang dimengerti komputer adalah bahasa pemrograman

Memprogram adalah proses berkomunikasi dengan komputer

Tujuan memprogram komputer:memerintahkan komputer untuk melakukan tugas-tugas komputasi dan input-

output sesuai yang diinginkan pemrogram

(3)

Komputer merupakan salah satu produk

teknologi tinggi yang dapat melakukan hampir semua pekerjaan diberbagai disiplin ilmu, tetapi komputer hanya akan merupakan barang mati tanpa adanya bahasa pemrograman untuk

menggambarkan apa yang kita kerjakan, sistem bilangan untuk mendukung komputasi, dan

matematika untuk menggambarkan prosedur

komputasi yang kita kerjakan.

(4)

Bagaimana komputer menjalankan instruksi-instruksi pemrograman??

Gambaran sederhana komputer dan instruksi pemrograman:

komputer eksekusi

‘memori’

eksekusi secara sekuensial (berurutan)

Instruksi 1 Instruksi 2 Instruksi 3 Instruksi 4

. . . .

Instruksi n

(5)

Perkembangan Bahasa Komputer

Berdasarkan tingkat ‘kecanggihannya’:

1.

Bahasa Generasi Pertama (1

st

GL):bahasa mesin

2.

Bahasa Generasi Kedua(2

nd

GL):bahasa assembly

3.

Bahasa Generasi Ketiga:Bahasa Tingkat

Tinggi  yang akan kita pelajari

(6)

Bahasa Generasi Pertama (Bhs Mesin)

Merupakan kode-kode bilangan biner, terdiri dari kombinasi bilangan ‘1’ dan ‘0’

Setiap kombinasi mewakili satu instruksi

Instruksi bahasa mesin tergantung dari jenis komputer yang dipakai(machine dependent)

contoh: instruksi transfer data dari akumulator ke register:

Komputer intel 8051 1) : ‘01000111B’ (47H)

Komputer Z80 2) : ‘00010011B’ (13H)

Pemrograman bahasa mesin: instruksi-instruksi langsung dimasukkan ke memori untuk dieksekusi komputer

1) Intel 8051 adalah komputer generasi lama yang sekarang digunakan sebagai mikrokontroler

2) Z80 adalah komputer generasi lama produksi Zilog

(7)

Bahasa Generasi Ke-2 (bhs assembly)

Merupakan penyempurnaan bhs generasi pertama, sudah memasukkan unsur kata bahasa Inggris dalam bentuk singkat

Masih bersifat machine dependent

Penulisan sudah jauh lebih mudah dari bahasa mesin, tetapi programmer tetap harus memahami perangkat keras komputer

Beberapa variabel masih mengacu pada register,alamat memori maupun I/O

Contoh: instruksi transfer data dlm bhs assembly:

Komputer 8051 : MOV R1,#22H

Komputer AVR 3) : LDI R1,0x22

3) AVR digunakan sebagai mikrokontroller produksi Atmel

(8)

Bahasa Generasi ke-3 (Bhs Tingkat tinggi)

Memasukkan lebih banyak unsur kata bahasa Inggris yang digunakan sehari-hari dan mempunyai sintaksis yang lebih baik

Merupakan bahasa pemrograman yang digunakan

sekarang pada umumnya untuk memprogram komputer

Contoh macam-macam bahasa tingkat tinggi: Pascal, C, C++, Java, Python, dsb

(9)

Pemrosesan program pada bahasa tingkat tinggi oleh komputer

Listing Program/source code (biasanya dalam

bentuk file teks)

File objek : merupakan program yang telah diterjemahkan ke bahasa

mesin

File binary/executable : file program yang siap dieksekusi(dijalankan)

Proses kompilasi : menerjemahkan bahasa tingkat tinggi menjadi bahasa mesin dalam

bentuk file objek

Proses Link : menambahkan informasi tentang karakteristik komputer yang digunakan ke

dalam bhs mesin

Proses eksekusi : menjalankan program

yang telah dibuat

(10)

Arti Berpikir Komputasi

Berpikir menggunakan logika

Melakukan sesuatu selangkah demi selangkah

Menentukan keputusan bila menghadapi dua kemungkinan yang berbeda

Salah satu cara untuk memahami dan

mengimplementasikan cara berpikir komputasi adalah dengan belajar pemrograman

Cara lain?

Belajar memahami penggunaan perangkat lunak pengolah kata (contoh: MS Word), pengolah LembarKerja (SpreadSheet,

contoh:MS Excel)

(11)

Berpikir Komputasi

Melibatkan sekumpulan keahlian dan teknik

pemecahan masalah yang biasanya digunakan oleh pengembang perangkat lunak untuk menulis program aplikasi komputer.

Teknik-teknik yang digunakan

Dekomposisi

Pengenalan Pola (pattern recognition)

Generalisasi Pola dan abstraksi(pattern generalization)

Untuk mendefinisikan suatu model

Rancangan Algoritma dan analisa data /visualisasi

(12)

Dekomposisi

Suatu masalah dipecah menjadi beberapa submasalah yang lebih kecil

Matematika: 256 = 2 * 100 + 5 * 10 + 6 * 1

Sistem Perpustakaan

Peminjaman buku

Anggota

Dosen

Mahasiswa

Program komputer: ?

(13)

Pengenalan Pola (Pattern Recognition)

Kemampuan melihat adanya kesamaan yang akan memungkinkan kita untuk melakukan prediksi

Pola penjualan saham

Untuk program komputer, kadang kita bisa menemui pola yang berulang, keadaan ini memungkin pemisahan bagian program menjadi procedure/fungsi

(14)

Generalisasi Pola dan Abstraksi

Kemampuan memilah informasi yang kompleks menjadi lebih sederhana atau membuat informasi lebih bersifat general sehingga memudahkan kita untuk menjelaskan suatu ide

Gambar grafik pie-chart untuk abstraksi prosentasi jumlah mahasiswa pria – wanita

Lokasi suatu posisi di bumi dapat ditentukan dari kordinat langitude atau latitude

Menghitung fibonacci

Fibonacci[0] = 1

Fibonacci[1] = 1

Fibonnaci[n] = Fibonacci[n-1] + Fibonacci[n-2]

(15)

Rancangan Algoritma

Kemampuan mengembangkan strategi selangkah demi selangkah untuk pemecahan masalah.

Rancangan algoritma biasanya dibuat

berdasarkan dekomposisi masalah dan identifikasi pola yang akan membantu pemecahan masalah.

Urutan memasak kentang

Urutan memakai sepatu

Implementasi program komputer dalam bahasa C, Pascal, Fortran, dll.

(16)

Perancangan Program

Sebelum menulis program ada beberapa hal yang bisa dilakukan untuk membantu programer dalam merancang program :

Pembuatan Algoritma

Pembuatan Flowchart (diagram alir)

Proses tersebut tidak harus dilakukan,

karena fungsinya hanya untuk membantu

merancang program

(17)

Contoh Analisa Persoalan:

Mengupas Kentang

Bila ingin makan kentang, tentunya kita perlu memiliki kentang terlebih dahulu

Jika belum ada, maka beli kentang dulu

Jika sudah ada maka kentang perlu di kupas

Setelah dikupas, kita harus memilih,

apakah kita mau menggoreng kentang,

merebus kentang atau membuat sup.

(18)
(19)

Algoritma

Merupakan penjabaran urutan proses yang akan

dikerjakan oleh program yang akan kita rancang dalam bentuk kalimat-kalimat

Contoh : Algoritma pertukaran data 2 buah variabel

(misalnya variabel a dan b, pada awal program bernilai a=3 dan b=5, pada akhir program bernilai a=5 dan

b=3)

1. Inisialisasi variabel : a=3, b=5, deklarasikan variabel tambahan yaitu c

2. Tampilkan nilai awal a dan b

3. Transfer nilai a ke c (c = a)

4. Transfer nilai b ke a (a = b)

5. Transfer nilai c ke b (b = c)

6. Tampilkan nilai a dan b

(20)

Flowchart (diagram alir)

Merupakan penjabaran urutan proses yang akan

dikerjakan oleh program yang akan kita rancang dalam bentuk diagram(grafis)

Tiap-tiap penanda dalam program mempunyai simbol dalam flowchart

Penanda-penanda tersebut adalah:

Awal/akhir program (terminal)

Suatu proses dalam program (process)

Input/output

Proses yang telah terdefinisi (Predefined Process)

Pengambilan keputusan (decision)

(21)

Simbol –simbol flowchart

Terminal Symbol:

indicates the starting or stopping pointin the logic.

Input/Output Symbol:

Represents an input or output process in an algorithm

Process Symbol:

Represents any single process in an algorithm

Decision Symbol:

Represents a decision in the logic involving the comparison Of two values.

Predefined Process Symbol:

(22)

Pembuatan Flowchart

Tidak ada kaidah yang baku.

Flowchart = gambaran hasil analisa suatu masalah

Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.

Secara garis besar ada 3 bagian utama:

Input

Proses

Output

(23)

Pembuatan Flowchart

Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.

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

Sebuah flowchart diawali dari satu titik

START dan diakhiri dengan END

(24)

Contoh flowchart

Mengupas kentang

(25)

Contoh flowchart

Pertukaran 2 variabel

mulai

Inisialisasi : A = 3 B = 5

C = A Tampilkan

A dan B

A = B

B = C

selesai Tampilkan

A dan B

(26)

Contoh Analisa Persoalan:

JarumJam dinding yang tidak tepat

Bila jarum tidak bergerak, ganti battery

Jika bergerak berarti battery masih hidup tinggal dilakukan perbaikan letak jarum jam

Buatlah flowchartnya!

(27)
(28)
(29)
(30)

Contoh Soal 1

Bagaimana menghitung keliling dan luas

lingkaran jika diberi masukan jari-jari lingkaran?

Algoritma

Masukkan sebuah jari-jari lingkaran

Tetapkan PI = 3,141593

Hitung Keliling = 2 x PI x jari-jari

Hitung Luas = PI x jari-jari x jari-jari

Tampilkan Keliling

Tampilkan Luas

(31)

Contoh Soal 1

Flowchart

Luas = PI x jari-jari x jari-jari Start

Masukkan jari-jari

PI = 3,141593

Keliling = 2 x PI x jari-jari

Cetak nilai Keliling

Cetak nilai Luas

End

(32)

Contoh Soal 2

Bagaimana menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap?

Algoritma

Masukkan sebuah bilangan sembarang

Bagi bilangan tersebut dengan bilangan 2

Hitung sisa hasil bagi pada langkah 2.

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.

(33)

Contoh Soal 2

Flowchart

(34)

Contoh Soal 3

Buatlah algoritma dan flowchart untuk mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah lebih besar salah satunya, dan tampilkan hasilnya.

Algoritma

Masukkan bilangan pertama

Masukkan bilangan kedua

Bandingkan apakah bilangan pertama sama dengan bilangan kedua.

Jika sama, cetak output "SAMA"

Jika tidak sama, cetak output "SALAH SATU BILANGAN LEBIH BESAR".

(35)

Contoh Soal 3

Flowchart

Start

Masukkan bilangan pertama

Cetak “SAMA”

Cetak

“SALAH SATU LEBIH BESAR”

End

Masukkan bilangan kedua

Bilangan pertama = bilangan kedua

?

(36)

Contoh Soal 4

Buatlah algoritma dan flowchart untuk mengecek bilangan di antara 2 bilangan masukan, apakah sama ataukah lebih besar salah satunya, dan tampilkan hasilnya. Jika bilangan tidak sama, tentukan bilangan yang lebih besar.

Algoritma

Masukkan bilangan pertama

Masukkan bilangan kedua

Bandingkan apakah bilangan pertama sama dengan bilangan kedua.

Jika sama, cetak output "Kedua bilangan sama"

Jika tidak sama, bandingkan apakah bilangan pertama lebih besar dari bilangan kedua.

Jika benar bilangan pertama lebih besar, cetak output "Bilangan pertama lebih besar"

Jika tidak, cetak output "Bilangan kedua lebih besar"

(37)

Contoh Soal 4

Flowchart

Start

Masukkan bilangan pertama

Cetak

“Kedua bilangan sama”

Cetak

“Bilangan pertama Lebih besar”

End Masukkan bilangan kedua

Bilangan pertama = bilangan kedua

?

Cetak

“Bilangan kedua Lebih besar”

Bilangan pertama >

bilangan kedua

? Y

T T

Y

(38)

TERIMA KASIH

Referensi

Dokumen terkait

FM-IM-3UP63X 7525100 FC….-NA… ailesinden Ex olmayan akış sensörleri için sinyal işlemcisi; çalışma gerilimi 20…30 VDC; akış hızını ve ortam sıcaklığını görüntüleyen LED çubuk; akış,

These costs are written in the following table: The problem is how many tons of wheat to be shipped from the warehouse to each mill of the month for a total minimum