Anda di halaman 1dari 17

Strategi dan Analisa Algoritma

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”
Tahap Masalah
Penyelesaian
Masalah analisis Model

Algoritma analisis

analisis Program

Eksekusi Data

Hasil
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.“
Contoh:
Sebuah prosedur ketika akan mengirimkan surat kepada
teman:
1. Tulis surat pada secarik kertas surat
2. Ambil sampul surat atau amplop
3. Masukkan surat ke dalam amplop
4. Tutup amplop surat dengan lem perekat
5. Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku
alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop
surat.
6. Tempelkan perangko pada amplop surat
7. Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau
menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis
surat.
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
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
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
Menggunakan Flowchart
Start Start Statement

Transition

Processing / Assignment Statement

Input / Output Statement

Conditional Statement

Stop Stop Statement


Menggunakan Flowchart [2]

Symbol Predefined Process (Simbol


untuk mempersiapkan penyimpanan yang
akan digunakan sebagai tempat
pengolahan di dalam storage)

Symbol Off-line Connector ( Simbol


untuk keluar/masuk prosedure atau proses
dalam lembar/halaman yang lain)

Symbol Connector (Simbol untuk


keluar/masuk prosedur atau proses dalam
lembar/halaman yang sama)
Menggunakan Flowchart [3]
Start

Input the
value of a

Input the
value of b

c= a + b

Display the
value of c

Stop
• Buatlah flowchart untuk menampilkan semua bilangan genap dari 1 – 20 dan
bilangan ganjil dari 30 – 50 dengan menggunakan pengulangan while.
1. x : int
2. y : int
3. Deskripsi
4. x ← 2
5. y ← 31
6. while (x<=20)
7. write (x)
8. x ← x+2
9. while (y<=49)
10.write (y)
11.y ← y+2
12.end while
• Buatlah flowchart untuk menampilkan semua bilangan kelipatan 7 dari 1 – 50
dengan menggunakan pengulangan do while.
1.x : int
2.Deskripsi
3.x ← 7
4.Do
5.write (x)
6.x ← x+7
7.while (x<=49)
BAHASA PEMROGRAMAN

Program harus ditulis dalam suatu bahasa yang dimengerti oleh komputer
yaitu dalam Bahasa pemrogram 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 (kenal dengan biner digit) dengan menggunakan
penterjemah.

Penterjemah :
• Interpreter : menterjemahkan baris per baris instruksi.
Contoh bahasa Basic.
• Compiler : menterjamahkan setelah seluruh instruksi ditulis.
Contoh bahasa Phython, dll.
 Interpreters and Compilers (Bits and Bytes, Episode 6).mp4
Tugas (Buat Flowchartnya dan Pseudocodenya
!)
1. 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

2. Buatlah algoritma untuk menentukan suatu bilangan genap atau ganjil


• Input: suatu bilangan
• Ouput: genap / ganjil

3. Buatlah algoritma untuk menentukan suatu bilangan adalah bilangan prima


atau bukan.
Pseudocode Cek Bil. Prima
1. Mulai
2. Masukan nilai bilangan a
3. b=1
4. b=b+1
5. c=a mod b
6. Periksa apakah c=0
7. Jika tidak kembali ke langkah 4
8. Jika iya periksa apakah a=b
9. Jika tidak maka a bukan bilangan prima
10. Jika iya maka a adalah bilangan prima
11. Selesai

Anda mungkin juga menyukai