algoritma dan flowchart 1 2
DESCRIPTION
ALGOTRANSCRIPT
Algoritma dan Flowchart
Copy from : Ilmu Komunikasi - Universitas Gunadarma - Dr. Lily Wulandari
Program Studi S1 Teknik Sipil
Fakultas Teknik
Universitas Haluoleo
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Objectives
Setelah menyelesaikan materi ini,anda diharapkan dapat:• Mengerti tentang algoritma.• Membuat algoritma dari suatu permasalahan.• Mengerti tentang flowchart.• Membuat flowchart dari suatu
permasalahan.
ALGORITMA
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma
l Adalah inti dari ilmu komputer.
l Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma
l Kata logis merupakan kata kunci dalam algoritma. l Algoritma adalah urutan-urutan dari instruksi atau
langkah-langkah untuk menyelesaikan suatu masalah.l Urutan langkah logis, yang berarti algoritma harus
mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma
l Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. b Alur pikiran, sehingga algoritma
seseorang dapat juga berbeda dari algoritma orang lain.
b Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma
l Langkah-langkah dalamalgoritma harus dapatditentukan bernilai benaratau salah.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma
l Algoritma adalah blueprint dari program.
l Sebaiknya disusun sebelum membuat program.
l Kriteria suatu algoritma:– Ada input dan output– Efektif dan efisien– Terstruktur
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma Dalam Kehidupan
l Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma.
l Algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma dalam Kehidupan
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Algoritma dalam Kehidupan
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Kriteria Algoritmal Input: algoritma dapat memiliki nol atau
lebih inputan dari luar.l Output: algoritma harus memiliki
minimal satu buah output keluaran.l Definiteness(pasti): algoritma memiliki
instruksi-instruksi yang jelas dan tidak ambigu.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Kriteria Algoritmal Finiteness (ada batas): algoritma harus
memiliki titik berhenti (stopping role).l 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
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Jenis Proses Algoritmal Sequence Process: instruksi dikerjakan
secara sekuensial, berurutan.l Selection Process: instruksi dikerjakan jika
memenuhi kriteria tertentul Iteration Process: instruksi dikerjakan selama
memenuhi suatu kondisi tertentu.l Concurrent Process: beberapa instruksi
dikerjakan secara bersama.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Sifat Algoritma (Umum)l Tidak menggunakan simbol atau sintaks
dari suatu bahasa pemrogramanl Tidak tergantung pada suatu bahasa
pemrogramanl Notasi-notasinya dapat digunakan untuk
seluruh bahasa manapun
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Contoh Algoritma 1Mengirim surat kepada teman:1. Tulis surat pada secarik kertas surat.2. Ambil sampul surat.3. Masukkan surat ke dalam sampul.4. Tutup sampul surat menggunakan perekat.5. Jika kita ingat alamat teman tersebut, maka
tulis alamat pada sampul surat.6. Jika tidak ingat, lihat buku alamat, kemudian
tulis alamat pada sampul surat.7. Tempel perangko pada surat.8. Bawa surat ke kantor pos untuk diposkan.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Contoh Algoritma 2
Mengupas Kentang untuk Makan MalamJ Ibu Tati mengambil kantong kentang
dari rakJ Ibu Tati mengambil panci dari almari J Ibu Tati mengupas kentang J Ibu Tati mengembalikan kantong
kentang dari rak
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Contoh Algoritma 2 (lanjt)
Ada hal yang “tergantung”pada sesuatu:l Ibu Tati mengambil kantong kentang dari rak l Ibu Tati mengambil panci dari almari l Lakukan persiapan, gunakan celemek,
pakaian tergantung hari Ibu Tati mengupas kentang Ibu Tati mengembalikan kantong kentang
dari rak
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Kondisi – dari Alg. 2
l Hari Sabtu : “Ibu Tati melihat bahwa bajunya tidak
berwarna muda karena itu ia tidak memakai celemek”(berarti tidak ada aksi memakai celemek)
l Hari Minggu: “Ibu Tati melihat bahwa bajunya berwarna
muda karena itu ia memakai celemek”
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Kondisi – dari Alg. 2l Jadi:à Ambil kantong kentang dari rak à Ambil panci dari almari à Depend on warna baju _ berwarna muda : Pakai celemek _ tidak berwarna muda : Tidak pakai celemek
à Kupas kentang à Kembalikan kantong kentang ke rak
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Kondisi – dari Alg. 2
Karena dapat pesanan, maka kentang yg harus dikupas 500 buah
tergantung pada jumlah kentang yang sudah dikupas
belum cukup : Kupas 1 kentang cukup : selesai
Atau: while jumlah kentang terkupas belum cukup do
Kupas 1 kentang
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Kondisi – dari Alg. 2Bisa jadi pada saat mengupas kentang tergantung pada
kentangnya, jika rusak / busuk, buang, tidak dikupasJadi: Jika jumlah kentang terkupas belum cukup do
Tergantung pada kondisi kentang Busuk: buang dan cari kentang berikutnya, tidak dihitung Tidak Busuk: kupas 1 kentang
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Menentukan apakah suatu bilangan merupakanbilangan ganjil atau bilangan genap.l Masukkan sebuah bilangan sembarangl Bagi bilangan tersebut dengan bilangan 2l Hitung sisa hasil bagi pada langkah 2.l 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.
Contoh Algoritma 3
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Contoh 4
Algoritma menghitung luas persegi panjang:
l Masukkan panjang (P)l Masukkan lebar (L)l Luas •P * Ll Tulis Luas
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Pseudo Codel Kode atau tanda yang menyerupai
(pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah.
l Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
ContohProblem:mencari bilangan terbesar dari dua bilangan
yang diinputkanContoh Algoritma:l Masukkan bilangan pertamal Masukkan bilangan kedual Jika bilangan pertama > bilangan kedua maka
kerjakan langkah 4, jika tidak, kerjakan langkah 5.l Tampilkan bilangan pertamal Tampilkan bilangan kedua
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Contoh
Contoh Pseudo-code:l Input al Input bl If a > b then kerjakan langkah 4l print al print b
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Perbandingan
Algoritma Pseudo-codeNilai 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 dan B, cari bilanganyang terbesar
IF A > B THEN PRINT A ELSE PRINT B
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Bagian ProgramSuatu program pada dasarnya terdiri dari
3 bagian:l Input: bisa ada, bisa tidakl Prosesl Output: minimal satu ouput.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Langkah Pembuatan Program
Mendefinisikan masalahl Ini merupakan langkah pertama yang sering
dilupakan orang. l Menurut hukum Murphy (oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
l Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Langkah Pembuatan ProgramMenemukan solusil 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.
l Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa modul:
meminta masukkan berupa matriks bujur sangkarmencari invers matriksmenampilkan hasil kepada pengguna
l Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan mudah dilihat.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Langkah Pembuatan Program
Memilih algoritmal Pilihlah algoritma yang benar-benar sesuai
dan efisien untuk permasalahan tersebut Menulis programl Pilihlah bahasa yang mudah dipelajari,
mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Langkah Pembuatan ProgramMenguji programl 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.
Menulis dokumentasil 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.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Langkah Pembuatan Program
Merawat programl 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
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Flowchartl Bagan-bagan yang mempunyai arus yang
menggambarkan langkah-langkah penyelesaian suatu masalah.
l Merupakan cara penyajian dari suatu algoritma.l Ada 2 macam Flowchart :
– System Flowchart à urutan proses dalam systemdengan menunjukkan alat media input, output sertajenis media penyimpanan dalam prosespengolahan data.
– Program Flowchart à urutan instruksi yangdigambarkan dengan symbol tertentu untukmemecahkan masalah dalam suatu program.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Flowchart
Definisi:l Bentuk gambar/diagram yang
mempunyai aliran satu atau dua arah secara sekuensial
Kegunaan:l Untuk mendesain programl Untuk merepresentasikan program
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Flowchart
Maka, flowchart harus dapat merepresentasikan komponen-komponen dalam bahasa pemrograman
Sebelum pembuatan programl Mempermudah programmerdalam
menentukan alur logika programSesudah pembuatan programl Menjelaskan alur program kepada orang lain
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Simbol-simbol Flowchart
l Flow Direction Symbols (Simbol penghubung alur)
l Processing Symbols (Simbol proses).l Input-output Symbols (Simbol input-
output)
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Flowchart
Secara garis besar, unsur-unsur pemrograman adalah Input à Prosesà Output. Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut :
l Input (scanf)l Percabangan (if, switch)l Perulangan (while, for, for each, loop)l Output (printf)
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Simbol-simbol Flowchart
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Simbol-simbol Flowchart – Cont.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Simbol-simbol Flowchart – Cont.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Simbol-simbol Flowchart – Cont.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Simbol-simbol Flowchart – Cont.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Pembuatan Flowchartl Tidak ada kaidah yang baku.l Flowchart = gambaran hasil analisa suatu masalah l Flowchart dapat bervariasi antara satu pemrogram
dengan pemrogram lainnya.l Hindari pengulangan proses yang tidak
perlu dan logika yang berbelit sehinggajalannya proses menjadi singkat.
l Jalannya proses digambarkan dari ataske bawah dan diberikan tanda panahuntuk memperjelas.
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Pembuatan Flowchart – cont.
Selalu dimulai dengan BEGIN:
Begin
Jangan lupa menggambar garis
End
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Pembuatan Flowchart – cont.
Begin
Input/output
Jangan lupa garis
Mungkin anda ingin berkomunikasi dengan pemakai
Input / Output
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Pembuatan Flowchart – cont.
Begin
Input
Proses
Proses
Anda dpt melakukan perhitungan di dlm proses
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Pembuatan Flowchart – cont.
Begin
Input
Proses
Output End
Anda dapat menampilkan hasil di output
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Contoh Flowchart
l Problem:Menghitung luaspersegi panjang
l AlgoritmaMasukkanpanjang(p)2.Masukkanlebar(l)3.Hitungluas(L), yaitupanjangkali lebar4.Cetakluas(L
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Flowchart bilangan ganjil 1 -100
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Contoh Flowchart
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Exercise
l Bagaimana algoritma untuk menukar isidari dua gelas?
l Menghitung usia berdasarkan tahun (saja) lahir dan tahun (saja) sekarang Input: Tahun lahir (tl), Tahun
sekarang (ts) Proses : Umur = ts –tl Output : Cetak Umur
Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo
Exercise
l Buatlah flowchart untuk menampilkan deret bilangan berikut :
1, 1, 2, 3, 5, 8, 13l Buatlah flowchart untuk menghitung konversi
suhu dari fahrenheit ke celcius dan reamur dengan nilai fahrenheit diinput.