Memori
Hasil perhitungan
Data output:
Hasil Data yang
diproses
2
1. Spesifikasi Masalah
Kita harus dapat menspesifikasikan masalah
dengan jelas dan tidak umbiguous dan memiliki
pemahaman yang jelas mengenai apa yang
diperlukan untuk menyelesaikan masalah tersebut.
Kita harus dapat mengeliminasi aspek-aspek yang
tidak penting dari masalah.
Dalam langkah ini, kita mungkin membutuhkan
informasi dari orang-orang yang terlibat dalam
masalah tersebut.
3
2. Analisis
Kita harus dapat mengidentifikasi masalah berkaitan dengan:
Input
Output
Kebutuhan tambahan atau batasan dari penyelesaian masalah
Format dari output (dalam bentuk tabel, file, atau yang lain)
Daftar variabel dan hubungan antar variabel (bisa dinyatakan
dalam rumus)
Tips: Bacalah ‘problem statement’ (soal) dengan hati-hati agar
memiliki pemahaman yang jelas mengenai permasalahan dan
agar dapat menentukan input maupun output dengan benar. Kita
bisa menggarisbawahi frase di dalam soal yang mengindikasikan
input dan output.
4
Contoh:
Problem: Hitung dan tampilkan total harga apel jika jumlah kg
apel yang dibeli dan harga perkg apel diketahui.
Analisis:
Hitung dan tampilkan total harga apel jika jumlah kg apel yang
dibeli dan harga perkg apel diketahui.
Input:
Jumlah apel yang dibeli (dalam kg) -> kg_beli
Harga per kg apel (dalam rupiah) -> harga_kg
Output:
Total harga apel (dalam rupiah) -> total
Rumus :
total = harga_kg x kg_beli
Proses pemodelan suatu masalah dengan cara mengekstrak
variabel-variabel penting dan hubungan di antara variabel-
variabel disebut abstraksi.
5
3. Design
Dalam tahap design, kita menyusun algoritme (daftar
langkah yang diperlukan untuk menyelesaikan masalah)
dan memverifikasi apakah algoritme yang kita susun dapat
menyelesaikan masalah sesuai dengan yang kita inginkan.
Jangan berusaha secara langsung untuk menyelesaikan
masalah secara detail pada saat merancang algoritme.
Gunakan pendekatan top down design (disebut juga divide
and conquer), yaitu pendekatan yang dimulai dengan
mendaftar langkah-langkah utama atau submasalah yang
diperlukan untuk menyelesaikan masalah utama,
selanjutnya diikuti dengan menyusun penyelesaian untuk
setiap submasalah.
6
Hampir setiap algoritme komputer terdiri dari submasalah
berikut:
Memasukkan data (Input)
Melakukan perhitungan (proses)
Menampilkan hasil (output)
Proses penyusunan langkah-langkah penyelesaian untuk
setiap submasalah yang berhasil diidentifikasi disebut
penghalusan algoritme (algorithm refinement).
Untuk memverifikasi algoritme dilakukan desk checking,
yaitu pemeriksaan setiap langkah dalam algoritme dengan
cara mensimulasikan hasil eksekusi algoritme dengan
perhitungan manual.
7
4. Implementasi (Coding)
Pada tahap ini dilakukan penulisan program,
yaitu mengkonversi algoritme yang disusun
pada tahap sebelumnya ke dalam bahasa
pemrograman yang dipilih.
Komponen
Analisis 35 B B S S B B
Design 35 S B B S S 0.6*B
Coding 30 S S B B B 0.5*B
Kesimpulan 100 35 70 0 0 35 71
8
Coding sesuai design = 0.5
5. Testing
Setelah program sudah bisa dieksekusi,
dilakukan pengetesan program dengan
berbagai macam data, sehingga bisa
diverifikasi bahwa program sudah bekerja
sesuai dengan kebutuhan pada berbagai
situasi yang mungkin dihadapi oleh program.
9
6. Pemeliharaan (maintenance)
10
11
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.
12
Algoritma
Game :
Use Your Mindset!
13
Tahapan Pembuatan Program
• Mendefinisikan masalah dan menganalisanya.
Mencakup : tujuan pembuatan program, parameter yang digunakan,
fasilitas yang disediakan, algoritma yang diterapkan dan bahasa
program yang digunakan.
• Merealisasikan dengan langkah-langkah sebagai berikut :
Siklus Hidup Perangkat Lunak
(Software)
15
16
17
Sejarah Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far
Mohammed Ibnu Musa al-Khowarizmi, ilmuan
Persia yang menulis kitab al jabr w’al-
muqabala (rules of restoration and reduction)
sekitar tahun 825 M
Definisi Algoritma
Urutan langkah-langkah untuk memecahkan
masalah
Urutan logis pengambilan keputusan untuk
memecahkan masalah
urutan langkah logis, berarti algoritma harus
mengikuti suatu urutan tertentu, tidak boleh
melompat-lompat.
Alur pemikiran dalam menyelesaikan suatu
pekerjaan yang dituangkan secara tertulis.
alur pikiran, yang artinya algoritma seseorang dapat
berbeda dari algoritma orang lain.
tertulis, yang artinya dapat berupa kalimat, gambar,
atau tabel tertentu.
Algoritma dalam Kehidupan
Definisi Algoritma [2]
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.
Algoritma di butuhkan untuk memerintah komputer
mengambil langkah-langkah tertentu untuk
menyelesaikan masalah
Algoritma Pemrograman Program
Agar algoritma dapat memerintah (diproses) komputer,
maka dirubah menjadi bentuk program (melalui proses
pemrograman).
Sifat - Sifat Algoritma
Aspek Penting Algoritma :
Finite algoritma harus berhenti setelah
mengerjakan sejumlah langkah terbatas
Definite setiap langkah didefinisikan secara
tepat, tidak boleh membingungkan (ambigu)
Input sebuah algoritma memiliki satu/lebih
input sebelum dijalankan
Output algoritma memiliki satu/lebih output,
yang biasanya bergantung kepada input
Effective setiap algoritma diharapkan memiliki
sifat efektif. (setiap langkah harus sederhana
dan sehingga dapat dikerjakan dalam waktu yang
masuk akal)
Notasi Algoritma
Algoritma analisis
analisis Program
Eksekusi Data
Hasil
Algoritma
• Adalah inti dari ilmu komputer.
• Algoritma adalah urutan-urutan dari instruksi atau
langkah-langkah untuk menyelesaikan suatu masalah.
• Algoritma adalah blueprint dari program.
• Sebaiknya disusun sebelum membuat program.
• Kriteria suatu algoritma:
– Ada input dan output
– Efektivitas dan efisien
– Terstruktur
28
29
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.“
31
32
33
34
35
36
37
38
Contoh kasus: Konversi Mil ke Kilometer
Problem :
Dalam kerja praktek anda diminta untuk mempelajari beberapa
peta. Peta-peta tersebut ada yang menggunakan satuan mil dan
ada yang menggunakan satuan kilometer. Oleh pembimbing
kerja praktek, anda diminta untuk mengkonversi semua jarak
dalam mil ke dalam kilometer.
Analisis :
“…. Oleh pembimbing kerja praktek, anda diminta untuk
mengkonversi semua jarak dalam mil ke dalam kilometer.”
Input :
Jarak dalam mil -> mil
Output :
Jarak dalam kilometer -> km
Rumus :
mil = 1.609 km
39
Design :
Algoritme awal :
1. Masukkan jarak dalam mil
2. Konversi jarak dari mil ke kilometer
3. Tampilkan hasil dalam kilometer
Penghalusan algoritme :
4. Masukkan jarak dalam mil
5. Konversi jarak dari mil ke kilometer
2.1. Jarak dalam kilometer adalah 1.609 kali jarak dalam mil.
3. Tampilkan hasil dalam kilometer
Contoh desk check terhadap algoritma :
Pada langkah 1, dimasukkan jarak 10 mil, langkah 2.1 akan
mengkonversinya menjadi 1.609 x 10 menjadi 16.09 kilometer.
Hasil ini akan ditampilkan di langkah 3.
40
Pengetesan
Untuk memverifikasi bahwa program sudah
berjalan sesuai dengan kebutuhan, cobalah
mentest program dengan memasukkan
beberapa jarak dalam mil yang lain.
41
Studi Kasus :
Problem :
Suatu dealer minyak menampung minyak jualannya
di dalam drum-drum. Sementara semua pembeli
selalu membeli minyak dengan membawa wadah
yang sama berupa jerigen. Pemilik dealer agak
kesulitan untuk menghitung harga minyak yang
dibeli oleh pembeli, karena pembeli selalu membeli
minyak dengan satuan jerigen (misalnya 3 jerigen,
atau 3.5 jerigen), sementara harga jual yang
diketahui adalah rupiah per drum, yaitu 100.000
rupiah per drum. Diketahui bahwa 1 jerigen isinya
sama dengan 1/20 drum. Bisakah anda membantu
pemilik dealer untuk memudahkan perhitungan
harga total minyak yang dijual ke setiap pembeli?
42
43
44
45
46
47
48
49
50
51
Contoh Algoritma 2
Mencari akar bulat positif dari bilangan
bulat (integer) positif a:
Masukkan bilangan bulat positif a
Berikan harga awal x sama dengan 1
Hitung y sebesar x * x
Jika y sama dengan a maka cetak x
sebagai akar dari a. Selesai
Tambah nilai x dengan 1
Pergi ke langkah 3.
Contoh Algoritma 3
Menentukan apakah suatu bilangan merupakan
bilangan ganjil atau bilangan genap.
Masukkan sebuah bilangan sembarang
Bagi bilangan tersebut dengan bilangan 2
Hitung sisa hasil bagi pada langkah 2.
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.
Flowchart
Bagan-bagan yang mempunyai arus yang menggambarkan
langkah-langkah penyelesaian suatu masalah.
Merupakan cara penyajian dari suatu algoritma.
Ada 2 macam Flowchart :
– System Flowchart urutan proses dalam system
dengan menunjukkan alat media input, output serta
jenis media penyimpanan dalam proses
pengolahan data.
– Program Flowchart urutan instruksi yang
digambarkan dengan symbol tertentu untuk
memecahkan masalah dalam suatu program.
55
56
57
Flowchart
Bagan-bagan yang mempunyai arus yang
menggambarkan langkah-langkah penyelesaian suatu
masalah.
Merupakan cara penyajian dari suatu algoritma.
Ada 2 macam Flowchart :
– System Flowchart urutan proses dalam system
dengan menunjukkan alat media input, output serta
jenis media penyimpanan dalam proses
pengolahan data.
– Program Flowchart urutan instruksi yang
digambarkan dengan symbol tertentu untuk
memecahkan masalah dalam suatu program.
Contoh Program Flowchart
Start
Print Judul
R EAD
D ata
Ya
Akhir
End
file ?
Tidak
Ya PR INT
Kode = "P" Nama, Alamat
"Perempuan"
Tidak
Simbol-simbol Flowchart
73
BERDASARKAN KONSEP
PEMROGRAMAN
YANG DIANUT.. PALING TIDAK SAAT INI,
BAHASA PEMROGRAMAN DIGOLONGKAN:
Pemrograman Batch,
Pemrograman Terstruktur,
Pemrograman Berorientasi Obyek
74
APA ITU PEMROGRAMAN
TERSTRUKTUR ?
Teori pemrograman terstruktur
memperlakukan pengkonversian
diagram alir besar dan komplek ke
dalam bentuk standar, sehingga
dapat di-representasi-kan dengan
iterasi dan pengumpulan sejumlah
kecil struktur logika kontrol dasar
dan standar.
(H.D. Mills, Chief Programmer Teams: Principle and Procedures). 75
APA ITU PEMROGRAMAN
TERSTRUKTUR ?
Pemrograman terstruktur adalah
cara pengorganisasian dan
pengkodean program -program
yang membuat program tersebut
lebih mudah dipahami dan
dimodifikasi.
(J.R. Donaldson, Structured programming).
76
MENGAPA TERSTRUKTUR ?
Mempelajari bahasa pemrograman
terstruktur sangat penting artinya karena
konsep-konsep yang diterapkan akan dipakai
terus dalam bahasa bahasa pemrograman
generasi baru.
Dalam mempelajari pemrograman terstruktur
yang sangat penting dipahami adalah
konsepnya.
Faktor dialek bahasa pemrograman menjadi
perhatian berikutnya.
77
TERIMA KASIH
SUKSES SELALU YACH
78