Anda di halaman 1dari 36

Dasar Algoritma dan Pemrograman

Bagaimana Karateristik Komputer ?


Komputer terdiri dari rangkaian elektronik IC, Kawat Tembaga,
mainboard, dll

Terdiri dari ribuan transistor (tergabung dalam IC) yang


berisikan gerbang-gerbang logika (AND,OR, NAND, NOR, dll)

Eksekusi dipicu dari adanya masukan (input) listrik


berkisar 5 volt dan berupa TRUE / FALSE
Aliran data berupa digit biner 1 dan 0, yang tersusun sesuai instruksi
Instruksi dibuat secara sistematis, hirarkis, dan masuk akal (sesuai logika)

2
Bagaimana agar instruksi dapat dimengerti dan bisa
menghasilkan keluaran (output) sesuai keinginan ?
 Harus ada instruksi yang dimengerti oleh komputer
 Komputer hanya terdiri dari rangkaian elektronik, karena itu hanya mengerti
nilai 1 dan 0
 Nilai 1 dan 0, dapat berupa rangkaian instruksi jika disusun dengan susunan
yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu
 Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang
dikenal oleh komputer.
 Karena itu pasti komputer punya bahasa, dan kita harus membuat bahasa
yang dimengerti oleh komputer.
 Bahasa tersebut dikenal dengan istilah bahasa pemrograman.
 Program komputer harus dibuat dengan urutan logika yang benar dan sesuai
dengan masalah yang ingin diselesaikan.
3
Arsitektur Komputer
Bagan Sistem Komputer
Komunikasi Manusia dan Komputer
• Proses komunikasi antara manusia dengan komputer adalah sebagai
berikut:
o Manusia mendesain Algoritma
o Manusia menterjemahkan Algoritma tersebut ke dalam bahasa
pemrograman yang dipilih sehingga menjadi sebuah program
o Komputer menjalankan program hasil penterjemahan algoritma menjadi
bahasa pemrograman di atas
o Komputer mengeluarkan respon kepada manusia
Definisi Algoritma
• “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis dan logis”.
• Urutan logis pengambilan keputusan untuk memecahkan masalah
 urutan langkah logis, berarti algoritma harus mengikuti suatu urutan tertentu,
tidak boleh melompat-lompat.
• Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara
tertulis.
 Alur pikiran, yang artinya algoritma seseorang dapat berbeda dari algoritma orang
lain.
 Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
• Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai
benar atau salah.
Algoritma
• Algoritma adalah jantung ilmu komputer atau informatika.
• Banyak cabang ilmu komputer yang diacu dalam terminologi
algoritma.
• Dalam kehidupan sehari-haripun banyak terdapat proses yang
dinyatakan dalam suatu algoritma.
• Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu
resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu
ada urutan langkah-langkah membuat masakan. Bila langkah-
langkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan
membaca satu per satu langkah-langkah pembuatannya lalu ia
mengerjakan proses sesuai yang ia baca.
Algoritma dalam Kehidupan Sehari-hari
Aksi dalam algoritma
• Kejadian yang terjadi pada waktu yang terbatas dan menghasilkan efek yang
memang direncanakan
• Dari waktu 0 ke waktu N
• Contoh: “aksi Bu Ani mengupas kentang untuk makan malam”
• Batasan:
• Apa kentang harus dibeli dulu atau sudah ada?
• Apakah mengupas berarti sampai kentang terhidang?
• Apakah setelah kentang selesai dikupas, harus ada kegiatan lain seperti dibuat sup
atau digoreng?
• Berarti harus ada kejadian awal = start dan kejadian akhir = finish
• Kejadian bu Ani dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan
mengupas kentang
• Cara (Metode) sebisa mungkin harus bersifat universal
Algoritma dan Program
Jadi dalam menjalankan algoritma harus:
• Mengerti setiap langkah dalam Algoritma
• Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
• Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam
notasi bahasa pemrograman disebut dengan program.
• Jadi program adalah perwujudan atau implementasi teknis Algoritma
yang ditulis dalam bahasa pemrogaman tertentu sehingga dapat
dilaksanakan oleh komputer.
Pengertian Algoritma dan Pemrograman

Urutan logika untuk Istilah Algoritma


menyelesaikan masalah
tertentu Diterjemahkan
oleh bahasa
pemrograman
Contoh : PASCAL,
C, DELPHI, dll
Hasil
Instruksi yang dikenal oleh
komputer

12
Tahapan Pemecahan Masalah
Algoritma

Translasi

Program dalam
Bahasa Tingkat Tinggi

Kompilasi

Program dalam
Bahasa Mesin

Interpretasi oleh CPU

Operasi
(Baca, tulis, hitung, perbandingan, dll)
Peranan Algoritma
• Peran algoritma : fundamental (tidak ada algoritma tidak ada program)
• Algoritma + struktur data = program
• Struktur data :teknik/cara penyusunan/ penyimpanan data dalam
komputer
• “ memori seminim mungkin dan kecepatan eksekusi semaksimal
mungkin”
• Algoritma yang terbaik (The Best): “Suatu algoritma harus menghasilkan
output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan
memori yg relatif sedikit (efesien) dgn langkah yg berhingga &
prosedurnya berakhir baik dlm keadaan diperoleh suatu solusi.“
Sifat - Sifat Algoritma
Aspek Penting Algoritma :
• Finite  algoritma harus berhenti setelah mengerjakan sejumlah langkah
terbatas
• Definite  setiap langkah didefinisikan secara tepat, tidak boleh
membingungkan (ambigu)
• Input  sebuah algoritma memiliki satu/lebih input sebelum dijalankan
• Output  algoritma memiliki satu/lebih output, yang biasanya
bergantung kepada input
• Effective  setiap algoritma diharapkan memiliki sifat efektif. (setiap
langkah harus sederhana dan sehingga dapat dikerjakan dalam waktu
yang masuk akal)
Notasi Algoritma
• Penulisan algoritma tidak tergantung dari spesifikasi bahasa
pemrograman dan komputer yang mengeksekusinya.

• Notasi algoritma bukan notasi bahasa pemrograman tetapi


dapat diterjemahkan ke dalam berbagai bahasa
pemrograman
Penulisan Algoritma
• Menggunakan bahasa natural (Bahasa manusia: Indonesia,
Inggris)
Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami.
• Menggunakan Flowchart
Baik karena alur algoritma dapat dilihat secara visual, tetapi repot
pembuatannya jika algoritma panjang
• Menggunakan Pseudocode
Sudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh
orang yang belum tahu pemrograman
Bahasa Natural
Sifat: Umum
 Tidak menggunakan simbol atau sintaks dari suatu
bahasa pemrograman.
 Tidak tergantung pada suatu bahasa
pemrograman.
 Notasi-notasinya dapat digunakan untuk seluruh
bahasa manapun.
Contoh
Menggunakan Natural Language (Bahasa Natural)
 Write an algorithm to perform addition of two number.
• Step 1: read the first number say a
• Step 2: read the second number say b
• Step 3: add the two number and store the result in a variable c
• Step 4: display the result
Pseudo-Code

• Penyajian algoritma dengan pseudocode


berarti menggunakan kode yang mirip dengan
kode pemrograman yang sebenarnya.
• Pseudocode lebih rinci dari English/Indonesia
Structure.
Menggunakan Pseudo Code
Algorithm sum(a, b)
//problem description: this algorithm perform addition of two number
//input: two integers a and b
//output: addition of two integers
c ← a+b
Write c
Flowchart

• Flowchart adalah penggambaran secara grafik dari


langkah-langkah dan urut-urutan prosedur dari suatu
program.
• Flowchart menolong analis dan programmer untuk
memecahkan masalah kedalam segmen-segmen
yang lebih kecil dan menolong dalam menganalisis
alternatif-alternatif lain dalam pengoperasian.
Flowchart
Kegunaan:
 Untuk mendesain program
 Untuk merepresentasikan program

Maka, flowchart harus dapat Merepresentasikan


komponen-komponen dalam Bahasa pemrograman
Mengapa Flowchart
a. Relationship
Flowchart dapat memberikan gambaran yang efektif, jelas, dan ringkas tentang
prosedur logic. Teknik penyajian yang bersifat grafis jelas akan lebih baik
daripada uraian-uraian yang bersifat teks khususnya dalam menyajikan logika
yang bersifat kompleks.
b. Analysis
Dengan adanya pengungkapan yang jelas dalam model atau chart, maka para
pembaca dapat dengan mudah melihat permasalahan atau memfokuskan
perhatian pada area-area tertentu sistem informasi.
c. Communication
Karena simbol-simbol yang digunakan mengikuti suatu standar tertentu yang
sudah diakui secara umum, maka flowchart dapat merupakan alat bantu yang
sangat efektif dalam mengkomunikasikan logika suatu masalah atau dalam
mendokumentasikan logika tersebut.
Menggunakan Flowchart
(Simbol-simbol Flowchart)
Conditional Statement
Start Start Statement

Processing / Assignment Statement Symbol Predefined Process


(Simbol untuk mempersiapkan
penyimpanan yang akan digunakan sebagai
tempat pengolahan di dalam storage)
Input / Output Statement
Symbol Off-line Connector
(Simbol untuk keluar/masuk prosedure atau
proses dalam lembar/halaman yang lain)
Procedur/subprogram
Symbol Connector
(Simbol untuk keluar/masuk prosedur atau
Stop Stop Statement proses dalam lembar/halaman yang sama)
Contoh:
Pentingnya Analisa Algoritma
• Misalkan, jika kita ingin membangun rumah kita tidak langsung
membangun rumah tersebut. Sebaliknya kami berkonsultasi dengan
seorang arsitek, kita mengajukan ide dan saran kita, lalu arsitek tsb
menggambar denah rumah sesuai ide dan saran kita tadi, dan dia
mendiskusikannya dgn kita. Akhirnya, cetak biru rumah siap. Sekarang
menjadi sangat mudah dan sistematis untuk pembangunan rumah yang
diinginkan.
• Mendesain hanyalah pekerjaan kertas dan dapat dengan mudah
dimodifikasi di atas kertas. Bandingkan kalau kita harus memodifikasi
bangunan yang sudah jadi?
• Sebelum implementasi program yang sebenarnya, mendesain algoritma
adalah langkah yang sangat penting.
Tahap Analisa Algoritma
1. Bagaimana merencanakan algoritma?
2. Bagaimana menyatakan suatu algoritma (menulis algoritma)?
3. Bagaimana validitas suatu algoritma?
4. Bagaimana menganalisa suatu algoritma?
5. Bagaimana menguji program dari suatu algoritma?
Bagaimana merencanakan algoritma
Dengan Mendefinisikan masalah.
Contoh :
Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah
diameter lingkaran.

Diketahui:
Rumus luas lingkaran: 𝜋𝑟 2
22 1
Dengan 𝜋 = 3,14 atau 7 dan r adalah jari-jari lingkaran → 𝑟 = 2 𝑑

1 2
Maka luas lingkaran dapat dihitung dengan menggunakan: 𝜋 2
𝑑
Bagaimana menyatakan suatu algoritma (menulis
algoritma)
a. Dengan psudocode
• Salah satu cara penulisan algoritma agar ide dan logika dari algoritma dapat
disampaikan/diekspresikan menggunakan gaya bahasa pemrograman tertentu.

Phi  3.14
Input (diameter)
Radius  diameter / 2
Luas  phi * radius * radius
Output (Luas)
End
Start

b. Dengan flowchart / Phi = 3.14

diagram alir
Flowchart, yaitu bagan yang Input
(diameter)
menggambarkan urutan logika
dari suatu prosedur
pemecahan masalah. Radius = diameter/2
Luas = phi * radius * radius

Output
Luas

Stop
Tahap Proses Uji Algoritma
1. Pengujian Tahap Debuging
Untuk mengecek kesalahan program, Baik sintaksis
maupun logika.
2. Pengujian Tahap Profiling
Untuk menentukan waktu tempuh dan banyaknya
memori program yang digunakan.
Analisis Suatu Algoritma
Untuk melihat effisiensi dan efektifitas dari suatu algoritma, dapat
dilihat dari:

1. Waktu Tempuh dari Suatu Algoritma


2. Jumlah memori yang digunakan

 Hal-hal yang dapat mempengaruhi waktu tempuh adalah :


1. Banyaknya langkah.
2. Besar dan jenis input data.
3. Jenis Operasi.
4. Komputer dan kompilator
Bahasa Pemrograman
Program harus ditulis dalam suatu bahasa yang dimengerti
oleh komputer yaitu dalam Bahasa pemrograman. Bahasa
pemograman dibedakan menjadi :
• Bahasa tingkat rendah (low level language) : bahasa yang
berorientasi ke mesin.
• Bahasa tingkat tinggi (high level language) : bahasa yang
berorientasi ke manusia (seperti bahasa inggris) contoh
bahasa Pascal, bahasa C, dll.
Bahasa Pemrograman
• Program yang ditulis dalam bahasa pemrograman akan
diterjemahkan kedalam bahasa mesin (dikenal dengan biner digit)
dengan menggunakan penterjemah.

Penterjemah :
• Interpreter : menterjemahkan baris per baris instruksi.
Contoh bahasa Basic.
• Compiler : menterjamahkan setelah seluruh instruksi ditulis.
Contoh bahasa Pascal, C, C++, dll.
Latihan 1:
Buat Flowchart dan Pseudocodenya !
Buatlah algoritma untuk menghitung konversi suhu dari Celcius
menjadi Reamur dan Farenheit.
• Input: suhu dalam Celcius
• Proses: R = 4/5 * C dan F = 9/5 * C + 32
• Output

Anda mungkin juga menyukai