0% menganggap dokumen ini bermanfaat (0 suara)
62 tayangan20 halaman

Algoritma Pemrograman I

Dokumen tersebut membahas tentang algoritma dan konsep-konsep dasar pemrograman seperti variabel, tipe data, operator, dan struktur dasar algoritma seperti runtunan. Secara khusus, bagian awal membahas definisi algoritma dan notasi algoritma serta contoh-contohnya.

Diunggah oleh

Hilda Oelfa
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 DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
62 tayangan20 halaman

Algoritma Pemrograman I

Dokumen tersebut membahas tentang algoritma dan konsep-konsep dasar pemrograman seperti variabel, tipe data, operator, dan struktur dasar algoritma seperti runtunan. Secara khusus, bagian awal membahas definisi algoritma dan notasi algoritma serta contoh-contohnya.

Diunggah oleh

Hilda Oelfa
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 DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 20

BAB I

PENDAHULUAN

1.1. Algoritma
Banyak siswa, mahasiswa, ataupun orang yang tertarik untuk belajar pemrograman
bingung, dari mana mereka harus memulainya, bahasa apa yang harusnya mereka pelajari, apa
saja hal yang harus mereka kuasai agar bisa menjadi seorang programmer. Pada artikel ini saya
akan mengupas sedikit demi sedikit apa saja hal yang harus dipelajari untuk menjadi seorang
programmer.
Hal pertama yang harus dikuasai adalah Algoritma, mungkin pada sebagian orang
timbul pertanyaan, apasih algoritma itu, baiklah kita akan bahas dimulai dari asal kata
algoritma, menurut wikipedia :
Kata algoritma datang dari nama matematikawan Persia abad ke-9 Abu Abdullah
Muhammad ibnu Musa Al-Khwarizmi, yang hasil kerjanya dibangun dari matematikawan
India abad ke-7 Brahmagupta. Kata algorisma awalnya mengacu hanya pada aturan-aturan
dalam melakukan aritmatika menggunakan bilangan Hindu-Arab namun berkembang lewat
penerjemahan Latin Eropa dari nama Al-Khwarizmi menjadi algoritma pada abad ke-18.
Penggunaan kata tersebut berkembang mengikutkan semua prosedur untuk menyelesaikan
masalah atau melakukan unit kegiatan. 

Gambar 1.1 : Al-Khwarizmi


Seiring berkembangnya zaman, dan teknologi informasi maka dikenallah istilah
Software, Hardaware dan Brainware. Software atau perangkat lunak adalah sistem yang
digunakan untuk mempermudah pekerjaan manusia, contoh software :
 Microsoft Word : digunakan untuk mengolah kata
 Photoshop : digunakan untuk mengolah gambar
 Adobe Flash : digunakan untuk membuat animasi 2D
 3dMax : digunakan untuk membuat animasi 3D
 Dan lain sebagainya
Proses pembuatan software atau yang lebih dikenal dengan Programming membutuhkan
orang-orang dengan kemampuan Algoritma yang baik dalam prosesnya. Pelaku pembuat
software ini biasa dikenal dengan programmer.
Lalu apakah yang dimaksud dengan Algoritma ? Algoritma adalah langkah-langkah
logis yang digunakan untuk menyelesaikan masalah tertentu. Sebenarnya dalam kehidupan
sehari-hari kita sering menggunakan algoritma untuk meyelesaikan masalah yang kita hadapi.
Contoh algoritma dalah kehidupan sehari-hari :
Algoritma memasak air :
 Masukkan air kedalam panci
 Letakkan panci diatas kompor
 Nyalakan kompor
 Jika air mendidih, matikan kompor
Algoritma diatas adalah langkah-langkah logis untuk memasak air, cukup sederhana bukan?
Latihan :
1. Seorang pemuda membawa seekor kambing, seikat sayuran dan seekor serigala. Pemuda
tersebut akan menyeberangi sungai dengan sebuah perahu. Masalah muncul, dimana
perahu tersebut hanya mampu membawa pemuda dan salah satu bawaannya dalam sekali
penyeberangan. Keadaan diperparah dengan kenyataan bahwa kambing tidak dapat
ditinggal dengan sayuran, karena kambing akan memakan sayuran. Dan serigala tidak
dapat ditinggal dengan kambing karena kambing akan dimakan oleh serigala. Buatlah
algoritma untuk menyelesaikan masalah tersebut.
2. Perhatikan gambar berikut !
Terdapat 3 buah tongkat besi A, B dan C. Pada tongkat A terdapat 3 buah cakram kecil,
cakram sedang dan cakram besar. Pindahkan ke tiga cakram tersebut ke tongkat B dengan
bantuan tongkat C dengan ketentuan cakram yang lebih besar tidak boleh berada diatas
cakram yang lebih kecil.

1.2. Notasi Algoritmik


Notasi algoritmik adalah cara yang digunakan untuk menuliskan algoritma yang akan
digunakan untuk menyelesaikan suatu permasalahan. Secara garis besar notasi algoritmik
dibagi menjadi 3 yaitu kalimat deskriptif, flowchart dan pseudocode.

1.2.1. Kalimat Deskriptif


Kalimat deskriptif digunakan untuk menuliskan algoritma dengan bahasa yang jelas
dan gamblang, tidak ada aturan baku untuk menggunakan kalimat deskriptif.
Kelebihan kalimat deskriptif adalah mudah digunakan namun kalimat deskriptif
cendrung jauh lebih merepotkan apabila akan dikonversi menjadi bahasa
pemrograman. Contoh :

Algoritma
1. Baca n

2. Jika sisa hasil bagi n dengan 2 adalah 0 maka

3. n adalah bilangan genap

4. jika tidak n adalah bilangan ganjil

1.2.2. Diagram Alir (Flowchart)


Menurut wikipedia Flowchart atau diagram alir merupakan sebuah diagram
dengan simbol-simbol grafis yang menyatakan aliran algoritma atau prosesyang
menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak, beserta
urutannya dengan menghubungkan masing masing langkah tersebut menggunakan
tanda panah. Diagram ini bisa memberi solusi selangkah demi selangkah untuk
penyelesaian masalah yang ada di dalam proses atau algoritma tersebut.
Simbol Nama Fungsi
Untuk memulai atau mengakhiri
Terminator
sebuah program
Garis Alir (Flow Untuk menentukan arah aliran
Simbol Nama Fungsi
Line) program
Proses inisialisasi/pemberian nilai
Preparation
awal

Proses perhitungan atau


Process
pengolahan data

Data Input/output

Predefined
Prosedur / Sub Prosedur / Fungsi
Process

Perbandingan pernyataan,
penyeleksian data yang
Decision
memberikan pilihan untuk
langkah selanjutnya
Penghubung bagian-bagian
On Page
flowchart yang berada pada satu
Connector
halaman
Penghubung bagian-bagian
Off Page
flowchart yang berada pada
Connector
halaman berbeda

Contoh :
1.2.3. Pseudocode
Pseudocode adalah deskripsi dari algoritma yang mirip dengan bahasa pemrograman
tingkat tinggi khususnya bahasa pemrograman Pascal dan C. Karena sudah mirip
dengan bahasa pemrograman maka akan jauh lebih mudah dikonversi kedalam
bahasa pemrograman sebenarnya.

Contoh :
1.3. Variable dan Konstanta

Variable adalah tempat / wadah dimana kita akan menyimpan sebuah nilai/data yang
akan diproses dalam pemrograman nantinya. Nilai variable dapat berubah-ubah tergantung
dari program yang kita jalankan.

Konstanta fungsinya hampir sama denga variable, konstanta adalah tempat /wadah
dimana kita dapat menyimpan sebuah nilai, akan tetapi nilai yang terdapat didalam
konstanta berifat statis, atau tidak dapat dirubah.

Syarat Penulisan Variable dan Konstanta:


1. Harus diawali dengan huruf, tidak boleh diawali dengan karakter atau angka
2. Tidak boleh mengandung spasi, spasi dapat digantikan dengan underscore ( _ )
3. Tidak boleh mengandung karakter khusus, seperti !@#$%^&*()
4. Tidak boleh menggunakan kata kunci bahasa pemrograman, seperti for, if, begin, end,
dll

1.4. Tipe Data


Untuk mendeklarasikan sebuah variable atau konstanta, kita perlu mendeskripsikan
jenis tipe data dari variable atau konstanta tersebut. Sebuah variable hanya dapat memiliki
satu jenis tipe data. Jika dianalogikan variabel ada sebuah wadah, maka setiap wadah
memiliki fungsi yang berbeda-beda, misalkan wadah berupa ember digunakan untuk
menampung benda dalam wujud cair, atau wadah berupa keranjang digunakan untuk
menampung benda dalam wujud padat. Begitu juga dengan tipe data setiap tipe data
memiliki fungsi yang berbeda-beda.

1.4.1. Tipe Data Dasar


a. Tipe Logika/Logis

Nama tipe logika disebut dengan Boolean. Boolean hanya memiliki 2 buah
nilai, yaitu True dan False. Tipe logika ini memiliki operasi logika, yaitu AND,
OR dan NOT yang selanjutnya akan dibahas pada sub bab operator logika.

b. Bilangan Bulat
Nama tipe bilangan

c. Bilangan Riil
d. Karakter
e. String

1.4.2. Tipe Data bentukan


1.5. Operator
1.5.1. Aritmatika
1.5.2. Relational
1.5.3. Logika
1.5.4. Assignment
1.5.5. Unary
1.5.6. Conditional
1.5.7. Bitwise
1.6. Pengantar Microsoft Visual C++
1.6.1. Memulai Aplikasi
1.6.2. Memahami Perintah Dasar Pada Microsoft Visual C++

BAB II
STRUKTUR DASAR ALGORITMA
2.1. Runtunan (Sequence)
Struktur dasar algoritma yang pertama adalah runtunan atau biasa disebut dengan
sequence. Jika dianalogikan seperti kita menuruni anak tangga dari atas kebawah sebanyak
1 kali, setiap anak tangga hanya kita lewati sebanyak 1 kali tanpa ada yang terlewatkan.
Sesuai dengan ilustrasi diatas, ciri-ciri sequence adalah

1. Setiap instruksi dilaksanakan secara berurutan


2. Setiap instruksi dilaksanakan 1 kali
3. Tidak ada instruksi yang dilewatkan/dilompati
4. Urutan instruksi yang dilaksanankan sesuai dengan urutan yang tercantum pada
algoritma

Contoh :

a) Buatlah sebuah algoritma untuk menjumlahkan 2 buah bilangan yang tiap bilangannya
diinputkan langsung oleh user/pengguna.
Penyelesaian
Flowchart :
start

Read ( Bilangan1,
Bilangan2)

Hasil=Bilangan1+Bilangan2

Print(Hasil)

Stop

Pseudocode

Deklarasi :
Bilangan1, Bilangan2, Hasil : integer
Algoritma:
Read (Bilangan1)
Read (Bilangan2)
Hasil := Bilangan1 + Bilangan2
Print (Hasil)

Code Program :

Uji coba program


b) Buatlah algoritma yang digunakan untuk menggabungkan dua buah string.
Flowchart

start

Read ( kata1, kata2)

Hasil=kata1+kata2

Print(Hasil)

Stop

Pseudocede

Deklarasi :
Kata1, Kata2, Hasil : string
Algoritma:
Read (Kata1)
Read (Kata2)
Hasil := Kata1 + Kata2
Print (Hasil)

Code Program
Hasil Uji coba

c) Buatlah algoritma untuk mengkonversi dari jumlah waktu ke total detik. Misal,
diinputkan “2 Jam 3 Menit 30 Detik” maka output dari programnya adalah “Total =
7410 detik”.
Penyelesaian
Flowchart
start

Read ( Jam, Menit,


Detik)

Detik_Jam=Jam * 3600

Detik_Menit=Menit * 60

Total_Detik=Detik_Jam +
Detik_Menit + Detik

Print(Total_Detik)

Stop

Pseudocode

Deklarasi :
Jam, Menit, Detik, Total_Detik, Detik_Jam, Detik_Menit : integer
Algoritma:
Read (Jam)
Read (Menit)
Read (Detik)
Detik_Jam=Jam * 3600
Detik_Menit=Menit * 60
Total_Detik=Detik_Jam + Detik_Menit + Detik
Print (Total_Detik)

Code Program
Uji Coba Program :

d)

2.2. Percabangan
Adakalanya suatu aksi atau perintah dikerjakan jika kondisi tertentu terpenuhi.
Misalkan anda sedang mengendarai sebuah kendaraan untuk mengunjungi teman anda
yang berada dirumahnya, lalu dalam perjalanan tersebut anda tiba disebuah persimpangan
jalan. Tentunya anda harus memilih salah satu dari beberapa kemungkinan yang ada,
kondisi diatas dapat diilustrasikan seperti pada gambar berikut.
Dalam gambar diatas anda menghadapi persimpangan dengan pilihan belok kekiri atau
kekanan, dari informasi yang anda dapatkan dari teman anda, bahwa untuk menuju ke
rumahnya, anda harus belok kearah yang memiliki banyak pepohonan. Cerita diatas dapat
ditulis dalam pernyataan berikut :

Jika jalan memiliki banyak pohon, maka


Belok

Pernyataan diatas dapat ditulis dalam pernyataan-pemilihan (selection statement) atau juga
disebut dengan pernyataan-kondisional sebagai berikut :

If kondisi then
Aksi

Sehingga menjadi :

If jalan memiliki banyak pohon then


Belok

Dalam bahasa indonesia If berarti “jika” dan then berarti “maka”, kondisi adalah pernyataan
yang dapat bernilai benar atau salah, aksi hanya dilaksanakan apabila kondisi berinilai
benar. Sebaliknya apabila kondisi bernilai salah maka aksi tidaka akan dilaksanakan.
Perhatikan bahwa kata If dan Then merupakan kata kunci untuk struktur pemilihan.
Dalam kehidupan sehari-hari, kita sering menuliskan pelaksanaan aksi bila suatu
persyaratan terpenuhi.

Misalnya :
If air mendidih then
Matikan api kompor

If ban bocor then


tambal

If x habis dibagi 2 then


Tulis x adalah bilangan genap

Struktur pemilihan if-then hanya memberikan satu pilihan aksi bila kondisi terpenuhi
(benar), dan tidak memberi pilihan aksi lain bila kondisi bernilai salah. Bentuk pemilihan
yang lebih umum ialah memilih satu dari dua buah aksi bergantung pada nilai kondisinya :

If kondisi then
Aksi 1
Else
Aksi 2

Else dapat diartikan “kalau tidak”. Bila kondisi bernilai benar, aksi 2 akan dikerjakan, tetapi
kalau tidak, aksi 2 yang akan dikerjakan. Misalnya pada pernyataan berikut :

If x habis dibagi 2 then


Tulis x adalah bilangan genap
Else
Tulis x adalah bilangan ganjil

2.2.1. Satu Kasus


Notasi algoritmik untuk analisis dengan satu kasus adalah dengan menggunakan
IF-THEN (jika-maka) dalam bentuk pernyataan :

If kondisi then
Aksi
End If
Aksi sesudah kata then (dapat berupa satu atau lebih aksi) hanya akan
dilakasanakan bila kondisi bernilai benar (true). Bila kondisi bernilai salah (false),
tidak ada pernyataan apapun yang dikerjakan. Kata End If sengaja ditambahkan
untuk mempertegas awal dan akhir struktur if.
Contoh – contoh :
a) Contoh 1
If x > 100 then
xx+1
end if

Jika dituliskan dalam pseudocode secara lengkap maka akan seperti berikut :

Jika dijadikan aplikasi dalam bahasa C++ maka akan seperti berikut :

Hasil uji coba aplikasi :


Keterangan tambahan :
Terkadang dalam penerapan aplikasi sebenarnya kita perlu menambahkan
beberapa keterangan tertentu agar user lebih mudah memahami maksud dan
tujuan dari aplikasi yang kita buat. Contohnya terdapat pada aplikasi dalam bahasa
C++ diatas, saya menambahkan
cout << "Masukkan nilai x :";
agar user tau apa yang harus mereka lakukan, lalu saya menambahkan
cout <<"Nilai x sekarang :" ;
agar user tau apa hasil dari program aplikasi yang telah dijalankan
b) Contoh 2
If kar=’*’ then
Stop true
End if

Jika dituliskan dalam pseudocode secara lengkap maka akan seperti berikut :

Jika dijadikan aplikasi dalam bahasa C++ maka akan seperti berikut :
Hasil uji coba :
Aplikasi akan langsung berhenti jika nilai kar adalah *

Tidak ada screen shoot, karena aplikasi akan langsung tertutup jika nilai yang
diinputkan *.

c) Contoh 3
If ( a≠0) or (p=1) then
q a * p
write(q)
end if
Jika dituliskan dalam pseudocode secara lengkap maka akan seperti berikut :

Jika dijadikan aplikasi dalam bahasa C++ maka akan seperti berikut :
2.2.2. Dua Kasus
2.2.3. Tiga Kasus atau Lebih
2.2.4. Struktur Case
2.3. Pengulangan
2.3.1. For
2.3.2. While
2.3.3. Do-While
BAB III
ARRAY (LARIK)
3.1. Array 1 Dimensi
3.2. Pengelolaan Array 1 Dimensi
3.2.1. Pencarian Data Pada Array
3.2.2. Pengurutan Data pada array
3.3. Array Multi Dimensi

BAB IV
PROSEDUR DAN FUNGSI
4.1. Prosedur (Procedure)
4.2. Fungsi (Function)

BAB V
LIBRARY PEMROGRAMAN GRAFIK

DAFTAR PUSTAKA

http://marikitangulik.blogspot.co.id/2010/10/notasi-algoritma.html

Anda mungkin juga menyukai