0% menganggap dokumen ini bermanfaat (0 suara)
18 tayangan36 halaman

Presentation 1

Diunggah oleh

Igede Karang
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
18 tayangan36 halaman

Presentation 1

Diunggah oleh

Igede Karang
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 36

ALGORITMA PEMROGRAMAN

PERTEMUAN 1

I GEDE KARANG KOMALA PUTRA S.KOM., M.KOM


ALGORITMA PEMROGRAMAN

• Matakuliah ini mengajarkan tentang:


• Konsep dan logika berpikir komputer.
• Cara perancangan dan analisis masalah yang kemudian
dipecahkan dengan menggunakan komputer menggunakan
algoritma dan pemrograman terstruktur.
• Diperkenalkan dan diajarkan penggunaan bahasa
pemrograman (Bahasa C#), dan flowchart.
ALGORITMA PEMROGRAMAN

• Mahasiswa mampu:
• Memahami logika berpikir komputer,
• Memahami prinsip kerja program,
• Memahami alasan-alasan komputer dapat mengerjakan perintah-perintah yang
diberikan
• Mampu menggambarkan logika jalannya program secara tertulis dengan algoritma
(pseudo code) dan dilengkapi dengan diagram alir (flow chart) menggunakan suatu
bahasa pemrograman tertentu
DEFINISI PROGRAM/PEMROGRAMAN

• Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut


source code yang dibuat oleh programmer (pembuat program)
• Program adalah kumpulan instruksi atau perintah yang disusun sedemikian
rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan
suatu persoalan. (Menurut P. Insap Santosa)
• Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai
dengan bahasa pemrograman yang digunakan yang mempunyai
komponen-komponen : Input, Output, Proses, Percabangan dan
Perulangan.
DEFINISI PROGRAM/PEMROGRAMAN

Manusia dan komputer berkomunikasi dengan cara:


manusia memberikan perintah-perintah kepada
komputer berupa instruksi-instruksi yang disebut
program.
• Adalah alat untuk membuat program
• Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP,
JHP, Java, dll.
BAHASA
PEMROGRAMAN • Perbedaan: cara memberikan instruksi
• Persamaan: bertujuan menghasilkan output yang sama
• Pemrograman Prosedural
• 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.
• Pemrograman Fungsional
PARADIGMA •

Berdasarkan teori fungsi matematika
Fungsi merupakan dasar utama program.
PEMROGRAMAN • Pemrograman Terstruktur
(CARA PANDANG UNTUK MENYELESAIKAN • Secara berurutan dan terstrukrtur.
SUATU MASALAH DENGAN CARA
PEMROGRAMAN) • Program dapat dibagai-bagi menjadi prosedur dan fungsi.
• Contoh: PASCAL dan C
• 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
• 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.

PARADIGMA •

Pemrograman Berorientasi Fungsi
Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat
PEMROGRAMAN •
tergantung pada tujuan pembuatan bahasa pemrograman ini.
Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.
(CARA PANDANG UNTUK MENYELESAIKAN
SUATU MASALAH DENGAN CARA
PEMROGRAMAN) • 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).
DEFINISI ALGORITMA

• Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah.

Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat. (Dari Microsoft Press Computer and Internet
Dictionaary 1997, 1998)
• Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.

Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda
dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat
berupa kalimat, gambar, atau tabel tertentu. (Dari Algoritma dan Struktur Data dengan C, C+
+, dan Java oleh Moh Sjukani hal 1)
DEFINISI ALGORITMA

• Contoh Algoritma dalam kehidupan nyata:

- Jika seorang ingin memasak atau membuat kue, baik itu melihat resep ataupun tidak pasti akan
melakukan suatu langkah-langkah tertentu sehingga masakannya atau kuenya jadi.
- Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan
adalah:
1. Menulis surat
2. Surat dimasukkan ke dalam amplop tertutup
3. Amplop ditempeli perangko secukupnya.
4. Pergi ke Kantor Pos terdekat untuk mengirimkannya.
DEFINISI ALGORITMA

• Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai


masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik
maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien.
• Pelaksana algoritma adalah Komputer.
• Dalam Algoritma, tidak dipakai simbol simbol / sintaks dari suatu bahasa pemrograman
tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun
juga. Notasi notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.
KRITERIA ALGORITMA MENURUT DONALD E. KNUTH

1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif.

Contoh instruksi yang tidak efektif adalah:


A = A + 0 atau A = A * 1
JENIS PROSES ALGORITMA

1. Sequence Process: instruksi dikerjakan secara sekuensial, berurutan.


2. Selection Process: instruksi dikerjakan jika memenuhi kriteria tertentu
3. Iteration Process: instruksi dikerjakan selama memenuhi suatu kondisi tertentu.
4. Concurrent Process: beberapa instruksi dikerjakan secara bersama.
CONTOH ALGORITMA

Algoritma menghitung luas persegi panjang:

1. Masukkan panjang (P)


2. Masukkan lebar (L)
3. L ← P * L
4. Tulis L
Kode atau tanda yang menyerupai (pseudo)
atau merupakan pejelasan cara menyelesaikan suatu
masalah. Pseudo code sering digunakan oleh manusia
DEFINISI
untuk menuliskan algoritma.
PSEUDO-CODE
Problem: mencari bilangan terbesar dari dua
bilangan yang diinputkan
CONTOH PSEUDO-CODE:

1. Masukkan bilangan pertama


2. Masukkan bilangan kedua
3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan
langkah 5.
4. Tampilkan bilangan pertama
5. Tampilkan bilangan kedua
CONTOH ALGORITMA

1. Masukkan bilangan pertama (a)


2. Masukkan bilangaan kedua (b)
3. if a > b then kerjakan langkah 4
4. print a
5. print b
CONTOH LAIN ALGORTIMA DAN PSEUDO-CODE:

Pseudo-code Algoritma

Nilai A ditambah dengan 5 A←A+5

Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A

Dari dua bilangan A IF A > B THEN PRINT A ELSE PRINT


dan B, cari B
bilangan yang terbesar
LANGKAH-LANGKAH DALAM PEMROGRAMAN KOMPUTER

Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum Murphy
(oleh Henry Ledgard): “Semakin cepat menulis program, akan semakin lama kita dapat
menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja
yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.
LANGKAH-LANGKAH DALAM PEMROGRAMAN KOMPUTER

Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi. Jika masalah terlalu
kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah
diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa modul:
1. Meminta masukkan berupa matriks bujur sangkar
2. Mencari invers matriks
3. Menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan mudah dilihat.
LANGKAH-LANGKAH DALAM PEMROGRAMAN KOMPUTER

Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut

Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat
kompatibilitas tinggi dengan perangkat keras dan platform lainnya.

Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam kemungkinan yang ada, termasuk error
handlingnya sehingga program tersebut akan benar-benar handal dan layak. digunakan.
LANGKAH-LANGKAH DALAM PEMROGRAMAN KOMPUTER

Menulis dokumentasi

Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan perubahan atau membaca
source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah
dengan menuliskan komentar komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang
digunakan, untuk apa, dan parameter parameter yang ada pada suatu prosedur dan fungsi.

Merawat program

Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi.
Atau mungkin juga pengguna membutuhkan fasilitas baru yang dulu tidak ada.
• Flowchart
DOKUMENTASI
PROGRAM • Pseudocode
• Algoritma
PENGERTIAN FLOWCHART DAN SIMBOL-
SIMBOLNYA

FLOWCHART ADALAH SEBUAH PROGRAM UNTUK MENGGAMBARKAN URUTAN DARI SUATU

PROSEDUR PEMECAHAN MASALAH YANG DITULISKAN DALAM SIMBOL-SIMBOL TERTENTU.

DIAGRAM ALIR INI AKAN MENUNJUKKAN ALUR DI DALAM PROGRAM SECARA LOGIKA.

DIAGRAM ALIR INI DIBUTUHKAN SEBAGAI ALAT KOMUNIKASI SELAIN DIPERLUKAN JUGA

SEBAGAI DOKUMENTASI. DAN SEBELUM MEMBAHAS LEBIH JAUH MENGENAI KOMPONEN-

KOMPONEN PADA DIAGRAM ALIR, MAKA HAL PERTAMA YANG KITA PAHAMI ADALAH ATURAN-

ATURAN DALAM PEMBUATAN DIAGRAM ALIR TERSEBUT, YAKNI:


PENGERTIAN FLOWCHART DAN SIMBOL-
SIMBOLNYA

1. DIAGRAM ALIR ADALAH DIAGRAM YANG BERORIENTASI DARI ATAS KE BAWAH SERTA DARI SEBELAH

KIRI KE KANAN.

2. SEMUA PROSES ATAU KEGIATAN PADA DIAGRAM ALIR WAJIB DINYATAKAN SECARA EKSPLISIT / JELAS.

3. SETIAP DIAGRAM ALIR HARUS DIMULAI DARI SATU START STATE DAN BERAKHIR PADA SATU ATAU

LEBIH TERMINAL AKHIR/TERMINATOR/HALT STATE.

4. PAKAI OFF-PAGE CONNECTOR STATE DAN CONNECTOR DENGAN LABEL YANG SAMA UNTUK

MEMBENTUK KETERHUBUNGAN ANTAR PATH ALGORITMA YANG TERPOTONG ATAU TERPUTUS,

MISALNYA SEBAGAI AKIBAT PINDAH ATAUPUN GANTI HALAMAN.

TUJUAN ADANYA FLOWCHART UNTUK MENGGAMBARKAN SUATU TAHAPAN PENYELESAIAN MASALAH

SECARA SEDERHANA, TERURAI, RAPI DAN JELAS MENGGUNAKAN SIMBOL-SIMBOL STANDAR


PENGERTIAN FLOWCHART DAN SIMBOL-
SIMBOLNYA
FLOW DIRECTION SYMBOLS
FLOW DIRECTION SYMBOLS ADALAH SIMBOL YANG DIPAKAI UNTUK MENGHUBUNGKAN ANTARA
SIMBOL YANG SATU DENGAN SIMBOL YANG LAINNYA ATAU BIASA DISEBUT JUGA CONNECTING
LINE.
PENGERTIAN FLOWCHART DAN SIMBOL-
SIMBOLNYA
PROCESSING SYMBOLS
PROCESSING SYMBOLS ADALAH SIMBOL YANG MENGGAMBARKAN JENIS OPERASI PENGOLAHAN
SEBUAH PROSEDUR.
PENGERTIAN FLOWCHART DAN SIMBOL-
SIMBOLNYA
NPUT OUTPUT SYMBOLS
INPUT OUTPUT SYMBOLS ADALAH SIMBOL YANG DIGUNAKAN UNTUK MENYATAKAN JENIS
PERALATAN YANG DIPAKAI SEBAGAI MEDIA IMPUT ATAU OUTPUT.
A.
FLOWCHART
PROGRAM
SEDERHANA
B.
FLOWCHART
PROGRAM YANG
MENGGUNAKAN
BRANCH
C.
FLOWCHART
PROGRAM YANG
MENGGUNAKAN
LOOP
CONTOH PSEUDOCODE UNTUK PROGRAM YANG
SAMA DENGAN FLOWCHART DI ATAS.

A.
B.
MASUKKAN NILAI
MASUKKAN NILAI JMLBRG DAN
JMLBRG DAN HRGSAT
HRGSAT IF JMLBRG > 100 THEN
HARGA = JMLBRG X HARGA = 90% X JMLBRG X
HRGSAT HRGSAT
CETAK NILAI ELSE
HARGA HARGA = JMLBRG X HRGSAT
END IF
CETAK NILAI HARGA
CONTOH PSEUDOCODE UNTUK PROGRAM YANG
SAMA DENGAN FLOWCHART DI ATAS.

C.
MASUKKAN NILAI JMLBRG DAN HRGSAT
REPEAT WHILE JMLBRG < 10
CETAK PESAN "TIDAK BOLEH KURANG DARI 10"
MASUKKAN NILAI JMLBRG DAN HRGSAT
END REPEAT
KESALAHAN PEMROGRAMAN

• syntax error: kesalahan karena penulisan perintah tidak sesuai dengan aturan. (coding,
compiling) contoh: mau menuliskan PRINT tetapi terketik ORINT (salah ketik, salah
ejaan).
• logical error : kesalahan karena logika pemrograman (algoritma) tidak benar
• numerical error:
• original data error : data yang dihitung memang salah
• truncation error : hitung ((100 / 3) * 3) = 99
• round off error : hitung ((100 / 3) * 3) = 99,9999
LATIHAN SOAL
BUATLAH ALGORITMA DAN FLOWCHART UNTUK MENGHITUNG
LUAS LINGKARAN

Anda mungkin juga menyukai