Anda di halaman 1dari 51

Pengantar

Algoritma
dan
Pemrograman

By. Kang Koko


• Ikhtisar
• Standar Kompetensi
• Indikator Pencapaian
• Pengantar Algoritma
• Bahasa Pemrograman
• Tahap Pengembangan Algoritma

2
Ikhtisar
“Algoritma adalah urutan langkah-
langkah logis penyelesaian masalah
yang disusun secara sistematis dan
logis”. Kata Logis merupakan kata
kunci dalam Algoritma. Langkah-
langkah dalam Algoritma harus logis
dan harus dapat ditentukan bernilai
salah atau benar.
Standar Kompetensi
Setelah mengikuti perkuliahan ini diharapkan
mahasiswa akan dapat
memahami pengertian algoritma;
memahami arti penting algoritma dalam dunia
pemrograman komputer;
memahami perbedaan antara belajar
memprogram dengan belajar bahasa
pemrograman.
Indikator Pencapaian
Setelah menyelesaikan bab ini diharapkan mahasiswa
akan dapat :
menjelaskan tentang istilah-istilah dasar yang terkait
dengan algoritma dan pemrograman;
menjelaskan tentang teknik pemecahan masalah dan
bagiamana standar program yang baik;
menjelaskan tentang arti penting suatu algoritma dan
bagaimana kaitannya dengan bahasa pemrograman;
menjelaskan klasifikasi bahasa pemrograman
komputer.
PENGANTAR
ALGORITMA
Sejarah Algoritma
 Penemunya adalah seorang ahli matematika dari
uzbekistan yang bernama Abu Abdullah Muhammad
Ibn Musa al-Khwarizmi (770-840).
 Di literatur barat dia lebih terkenal dengan sebutan
Algorizm. Panggilan inilah yang kemudian dipakai
untuk menyebut konsep algorithm yang
ditemukannya. Dalam bahasa Indonesia kita
kemudian menyebutkannya sebagai algoritma.
 Algoritma adalah kunci dari bidang ilmu komputer,
karena banyak bidang di bawah ilmu komputer yang
lahir berdasarkan konsep algoritma ini.
 Pada hakekatnya algoritma juga adalah kunci dari
kehidupan kita.
 Cara membuat masakan (resep masakan) adalah juga
sebuah contoh nyata dari algoritma.
Algoritma
• adalah logika, metode dan tahapan (urutan)
sistematis dan logis yang digunakan untuk
memecahkan suatu permasalahan.
 Ketika manusia berusaha memecahkan masalah,
metode atau teknik yang digunakan untuk
memecahkan masalah itu ada kemungkinan bisa
banyak (tidak hanya satu).
 Dan kita memilih mana yang terbaik diantara
teknik-teknik itu.
 Hal ini sama juga dengan algoritma, yang
memungkinkan suatu permasalahan dipecahkan
dengan metode dan logika yang berlainan.
Algoritma Dalam Kehidupan
• Algoritma adalah jantung ilmu komputer
atau informatika.
• Banyak cabang ilmu komputer yang diacu
dalam terminologi algoritma.
• Namun algoritma juga digunakan dalam
kehidupan sehari-hari, contohnya resep
makanan.
• Di dalam resep makanan terdapat
langkah-langkah yang merupakan
algoritma. Selain itu masih banyak contoh
algoritma yang lain.
Con’t
• 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-lankah 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.
Analogi :
 Jika seseorang ingin mengirim surat kepada
kenalannya di tempat lain, langkah yang harus
dilakukan adalah:

Langkah :
 Menulis surat
 Surat dimasukkan ke dalam amplop tertutup
 Amplop dikasih alamat penerima dan pengirim
 Amplop ditempeli perangko secukupnya.
 Pergi ke Kantor Pos terdekat untuk mengirimkannya
Pengantar Algoritma
Jadi dalam menjalankan algoritma harus:
• Mengerti setiap langkah dalam Algoritma
• Mengerjakan operasi yang bersesuaian
dengan langkah tersebut.
Pengantar Algoritma
• 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.
Apa Itu Algoritma ?
 Definisi :
Urutan langkah-langkah untuk memecahkan
masalah yang disusun secara sistematis dan
logis.
Kamus Besar Bahasa Indonesia:
Algoritma adalah urutan logis pengambilan
putusan untuk pemecahan masalah.
 Algoritma dibutuhkan untuk memerintah
komputer mengambil langkah-langkah
tertentu dalam menyelesaikan masalah.
Contoh Algoritma
Algoritma TUKAR ISI CANGKIR
Diberikan dua buah cangkir berisi kopi dan teh.
Pertukarkan isi kedua cangkir itu sedemikian sehingga
cangkir kopi berisi teh dan cangkir teh berisi kopi
tanpa tercampur antara keduanya.

DESKRIPSI :
– Tuangkan kopi dari cangkir kopi ke dalam cangkir teh
– Tuangkan teh dari cangkir teh ke dalam cangkir kopi.
BENAR ATAU SALAH ???
Jawabannya :
 Algoritma TUKAR ISI CANGKIR di atas tidak
menghasilkan pertukaran yang benar. Langkah
di atas tidak logis, hasil pertukaran yang terjadi
adalah percampuran kedua larutan tersebut.
 Untuk mempertukarkan isi dua cangkir,
diperlukan sebuah cangkir tambahan sebagai
tempat penampungan sementara, misalnya
cangkir X. Maka algoritma untuk menghasilkan
pertukaran yang benar adalah sebagai berikut :
Apa Itu Program/Pemrograman?

Definisi
 Kumpulan instruksi-instruksi tersendiri
yang biasanya disebut source code yang
dibuat oleh programmer (pembuat
program).
 Program : Realisasi dari Algoritma.
Program = Algoritma + Bahasa
Belajar Memprogram & Belajar Bahasa
Pemrograman
Belajar memprogram:
pemahaman persoalan, analisis, dan sintesis

Pemecahan Masalah

-Strategi Notasi yang telah


-Metodologi disepakati
-Sistematika

Belajar Bahasa Pemrograman :


Belajar memakai suatu bahasa
aturan sintaks (tata bahasa)
BAHASA
PEMROGRAMAN
SISTEM KOMPUTER
Bahasa Pemrograman
• Adalah alat untuk membuat program

Contoh: C, C++, C#, Pascal, Basic, Perl, PHP,


ASP, JHP, Java, dll.

• Perbedaan: cara memberikan instruksi (sintaks)


• Persamaan: bertujuan menghasilkan output yang
sama
Paradigma Pemrograman
• Pemrograman Prosedural / Terstruktur
• Berdasarkan urutan-urutan, sekuensial
• Program adalah suatu rangkaian prosedur untuk memanipulasi data. Prosedur
merupakan kumpulan instruksi yang dikerjakan secara berurutan.
• Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.
• Program dapat dibagai-bagi menjadi prosedur dan fungsi.
• Contoh: PASCAL dan C
• Pemrograman Fungsional
• Berdasarkan teori fungsi matematika
• Fungsi merupakan dasar utama program.
• Pemrograman Modular
• Pemrograman ini membentuk banyak modul.
• Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri
• Sebuah program dapat merupakan kumpulan modul-modul.
• Contoh: MODULA-2 atau ADA
Paradigma Pemrograman
• Pemrograman Berorientasi Obyek
• Pemrograman berdasarkan prinsip obyek, dimana
obyek memiliki data/variabel/property dan
method/event/prosedur yang dapat dimanipulasi
• Contoh: C++, Object Pascal, dan Java.
• Pemrograman Berorientasi Fungsi
• Pemrograman ini berfokus pada suatu fungsi
tertentu saja. Sangat tergantung pada tujuan
pembuatan bahasa pemrograman ini.
• Contoh: SQL (Structured Query Language), HTML,
XML dan lain-lain.
• Pemrograman Deklaratif
• Pemrograman ini mendeskripsikan suatu masalah
dengan pernyataan daripada memecahkan
masalah dengan implementasi algoritma.
• Contoh: PROLOG
Siklus Hidup Perangkat Lunak
(Software)

• Dilihat dari Struktur Sistem Komputer dan Siklus diatas,


Algoritma Pemrograman menempati posisi dibagian
implementasi karena bagian implementasi merupakan bagian
dimana pemrogram melakukan proses coding (pembuatan
program).
Mengapa Algoritma ?

 Pembuatan atau penulisan algoritma tidak


tergantung pada bahasa pemrograman
manapun.
 Notasi algoritma dapat diterjemahkan ke
dalam berbagai bahasa pemrograman.
 Apapun bahasa pemrogramannya, output
yang akan dikeluarkan sama karena
algoritmanya sama.
Syarat Algoritma Baik?

 Tingkat kepercayaannya tinggi (realibility)


Hasil yang diperoleh dari proses harus berakurasi
tinggi dan benar.
 Pemrosesan yang efisien (cost rendah)
Proses harus diselesaikan secepat mungkin dan
frekuensi kalkulasi yang sependek mungkin.
 Sifatnya general
Bukan sesuatu yang hanya untuk menyelesaikan satu
kasus saja, tapi juga untuk kasus lain yang lebih
general.
 Bisa dikembangkan (expandable)
Haruslah sesuatu yang dapat kita kembangkan lebih
jauh berdasarkan perubahan requirement yang ada.
 Mudah dimengerti
Siapapun yang melihat, dia akan bisa memahami
algoritma Anda. Susah dimengertinya suatu program
akan membuat susah di-maintenance (kelola).
 Portabilitas yang tinggi (portability)
Bisa dengan mudah diimplementasikan di berbagai
platform komputer.
 Precise (tepat, betul, teliti)
 Efektif
Tidak boleh ada instruksi yang tidak mungkin dikerjakan
oleh pemroses yang akan menjalankannya.
 Harus terminate
Jalannya algoritma harus ada kriteria berhenti.
 Output yang dihasilkan tepat.
TAHAPAN
PENGEMBANGAN
ALGORITMA
MASALAH / IDEA PEMECAHAN SOLUSI / HASIL

Algoritma Source Executable


Code Code
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Y
Sintak Err
T
Executable code:
=> Run

Y
Output Err
T
DOKUMEN TASI

34
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Masalah:
Tentukan akar-akar dari suatu persamaan Sintak Err
kwadrat.
Definisi: Executable code:
Persamaan kwadrat : ax^2 + bx + c = 0 => Run

Data yg diperlukan :
Nilai dari a, b dan c : tipe real Output Err

DOKUMEN TASI

35
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Model Matematika : Sintak Err

Rumus ABC
Executable code:
x1 = (-b + sqrt(b^2 - 4ac))/2a => Run
x2 = (-b – sqrt(b^2 - 4ac))/2a
Output Err

DOKUMEN TASI

36
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

Start COMPILE

Masukkan a,b,c
Sintak Err
d = b^2 – 4ac

d<0 Executable code:


Y
=> Run
T
Cetak:
x1=(-b+sqrt(d))/2a “Akar
x2 =(-b-sqrt(d))/2a majiner” Output Err
Cetak: x1, x2
DOKUMEN TASI
Stop 37
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

38
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

39
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

40
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

41
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

42
DEFINISI MEMBUAT RANCANG TULIS PROGRAM
MASALAH MODEL ALGORITMA

COMPILE

Sintak Err

Executable code:
=> Run

Output Err

DOKUMEN TASI

43
Langkah Pembuatan Program

Mendefinisikan masalah
a. Kondisi awal, yaitu input yang tersedia.
b. Kondisi akhir, yaitu output yang diinginkan.
c. Data lain yang tersedia.
d. Operator yang tersedia.
e. Syarat atau kendala yang harus dipenuhi.
• Program berisi urutan langkah-langkah
penyelesaian masalah.
• Program ditulis dengan menggunakan bahasa
pemrograman.
• Orang yang membuat program disebut
pemrogram (programmer).
• Kegiatan merancang dan menulis program
disebut pemrograman.
Suatu Algoritma yg 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
ataupun tdk ada solusinya.“
OLEH2 &
LATIHAN
Oleh-1
• Buatlah algoritma dengan menggunakan bahasa
natural (bahasa sehari-hari / pseudocode )

1. Buat langkah untuk melakukan penggantian ban mobil


yang pecah ( tanpa ada masalah / syarat ).

1. Dari Soal diatas dikembangkan kembali, mis : bila


ban serep kempes atau ban serep bocor.
Oleh-2
• Buatlah algoritma (dengan bahasa natural)
Kemudian sadur ke dalam bahasa pemrograman
yang anda kuasai

1. Menampilkan bilangan ganjil dari 1 sampai dengan 10.

1. Menghitung jumlah deret : 1 + 2 + 3 + 4 + .... + N


N = jumlah maksimum suatu nilai yang dimasukkan.
Filosofi Oleh-Oleh
Sungguh.....
Oleh – oleh ini, sama sekali tidak memiliki tujuan
untuk memberatkan anda, tetapi oleh-oleh ini
dimaksudkan agar anda belajar dan tentunya
dengan ketekunan anda,
Anda akan meraih sukses dan cita-cita anda.
SELAMAT BERJUANG !!!
Wassalam

Terimakasih

Anda mungkin juga menyukai