0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan30 halaman

PSI Algo-2

Diunggah oleh

jamjamnurjamanahmad
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 PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
14 tayangan30 halaman

PSI Algo-2

Diunggah oleh

jamjamnurjamanahmad
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 PPT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 30

LOGIKA DAN ALGORITMA

Tahap-tahap untuk menyelesaikan permasalahan dalam membuat


perangkat lunak :
1.Baca Masalah
Mendefinisikan masalah dengan jelas, tidak
membingungkan dan memahami apa yang diperlukan untuk
memecahkan masalah. Semua aspek yang tidak perlu dibuang.

2.Analisis

 Menentukan input, output dan batasan atau informasi


tambahan.
 Menentukan format output yang diminta.
LOGIKA DAN ALGORITMA
Tahap-tahap untuk menyelesaikan permasalahan dalam membuat
perangkat lunak :
3.Perancangan

 Merancang langkah-langkah untuk menyelesaikan


masalah (algoritma). Tahapan ini seringkali
digambarkan dalam bentuk flowchart.
 Langkah ini merupakan langkah yang cukup sulit,
karena jangan menyelesaikan masalah secara detail
ditahap awal, tetapi gunakan metode top down design
( devide & conquer ), yaitu dengan memecahkan
problem dalam beberapa subproblem. Penyelesaian
problem diperoleh dengan menyelesaikan sub-sub
problem.
LOGIKA DAN ALGORITMA
 Subproblem bisa berupa sistem terbuka atau sistem
tertutup. Sistem terbuka adalah sistem yang terdiri
dari membaca dari keyboard atau file, melakukan
proses data baik secara sequential, conditional, atau
repeatition, dan menampilkan hasil ke layar monitor
atau file.

4. Implementasi
Menterjemahkan tia-tiap langkah yang ada pada algoritma ke
dalam perintah bahasa pemrograman.
LOGIKA DAN ALGORITMA

5. Testing
Mencoba berkali-kali dengan data yang berlainan untuk
menyimpulkan apakah perangkat lunak yang dibuat masih
mengandung error atau tidak.

6. Maintenance
Melakukan modifikasi perangkat lunak untuk mengilangkan
error yang sebelumnya tidak terdeteksi dan enjaga agar tetap
up to date (running well).
LOGIKA DAN ALGORITMA
Simbol-simbol Flowchart
Inisialisasi

Proses

Konektor

Pemilihan antara 2
alternatif

Input/Output

Start/Stop
LOGIKA DAN ALGORITMA
Contoh :
Arnie sangat menyukai jogging pagi. Selama ia jogging, ia
menghitung berapa langkah yang ditempuh selama menit
pertama dan menit terakhir. Kemudian Arnie menghitung
rata-rata dari menit pertama dan terakhir kemudian
menganggap bahwa rata-rata ini dapat mewakili rata-rata
langkah setiap menitnya. Buat program yang menerima
rata-rata langkah yang dibuat setiap menitnya dan total
waktu yang ditempuh Arnie untuk jogging dalam jam dan
menit, lalu menampilkan jarak yang ditempuh Arnie dalam
mil.
Asumsi 1 langkah yang dibuat Arnie adalah 2,5 feet. ( 1 mil
= 5280 feet ).
LOGIKA DAN ALGORITMA
Jawab :
1.Baca problem
Buat program untuk menghitung jarak yang
ditempuh Arnie (dalam mil ) sewaktu ia lari pagi, jika rata-
rata banyaknya langkah yang dibuat dalam tiap menit dan
waktu yang diperlukan untuk jogging (dalam jam dan
menit) diinput.
Asumsi 1 langkah = 2,5 feet dan 1 mil = 5280 feet.

2.Analisis

Input : rata-rata langkah yang dibuat


dalam 1 menit, waktu joging
dalam jam dan menit.
Output : Jarak yang ditempuh sewaktu
jogging (mil).
LOGIKA DAN ALGORITMA
Input : rata-rata langkah yang dibuat
dalam 1 menit, waktu joging dalam
jam dan menit.
Output : Jarak yang ditempuh sewaktu
jogging (mil).
Informasi
tambahan : 1 mil = 5280 feet, 1 langkah =
2,5 feet.
Format output : -
LOGIKA DAN ALGORITMA
3. Perancangan
 Baca Rata, Jam, menit
o Baca rata
o Baca jam
o Baca menit
 Hitung Jarak
o Jarak = (Rata(60 jam + menit)2,5)/5280
 Cetak Jarak


LOGIKA DAN ALGORITMA
Flowchart

Baca jam,
menit, rata

Jarak = (Rata(60 jam + menit)

Cetak
KALIMAT DESKRIPTIF
 Menggunakan untaian kalimat untuk menjelaskan langkah –
langkah
 Contoh

PROGRAM GanjilGenap
Diberikan sebuah bilangan bulat positif X
untuk dicek apakah termasuk ganjil atau
genap

ALGORITMA
1.Jika X habis dibagi 2 maka tulis “Genap”,
jika tidak maka tulis “Ganjil”
PSEUDO-CODE
 Pseudo artinya artinya semu atau tidak sebenarnya.
 Pseudo-code adalah notasi algoritma yang menyerupai
notasi bahasa pemrograman.
 Karena Pseudo-code sudah menyerupai notasi bahasa
pemrograman, maka Pseudo-code lebih mudah untuk
dikonversi ke dalam bahasa pemrograman.
PSEUDO CODE
 Menggunakan kode – kode untuk menyatakan langkah –
langkah
 Mirip bahasa pemrograman

 Contoh

DEKLARASI
X : integer

ALGORITMA
read(X)
if X mod 2 = 0 then {apakah X habis dibagi 2}
write(“Genap”) {jika ya}
else
write(“Ganjil) {jika tidak}
CONTOH :

- Kasus : menghitung luas segitiga


- Algoritma :
§ Masukkan alas (a)
§ Masukkan tinggi (t)
§ Hitung luas (L), yaitu 0.5 * alas * tinggi
§ Cetak luas (L)
BEDA ANTARA ALGORITMA DAN PSEUDO-
CODE UNTUK KASUS MENCARI LUAS
PERSEGI PANJANG :

Algoritma Pseudo-code

Masukkan panjang Input panjang

Masukkan lebar Input lebar

Nilai luas adalah panjang x lebar Luas  panjang x lebar

Tampilkan luas Print luas


Contoh lain:
Algoritma Pseudo-code
Jika sudah selesai, cetak invoice IF KONDISI_SELESAI = “DONE” THEN
PRINT INVOICE

Nilai A dibagi dengan 2 A←A/2


Jika nilai A lebih besar dari 2 IF A > 2 THEN A ← A x 3
maka nilai A dikalikan 3

Dari dua bilangan A dan B, cari IF A > B THEN PRINT A ELSE PRINT B
bilangan yang terbesar

Masukkan semua mata kuliah DARI MATKUL = 0 SAMPAI MATKUL


yang ingin diambil pada semester <= MATKUL_DIINGINKAN, MASUKAN
ini DATA MATKUL
 Sebenarnya tidak ada aturan mengikat tentang
penulisan algoritma dan pseudo-code, karena fungsi
kedua hal ini adalah untuk memudahkan seseorang
untuk menggambarkan urutan suatu kejadian.
Sedangkan untuk para programmer, kedua hal ini
berfungsi sebagai dasar alur pembuatan program. Di
mana dapat merepresentasikan alur cerita dari client
tentang kebutuhan dasar dari sebuah program, sehingga
lebih mudah untuk dipahami.
 Jadi pseudo-code bisa dikatakan juga sebagai algortima
yang sudah sedikit digabungkan dengan bahasa
pemrograman yang akan digunakan.
CONTOH

Terdapat 2 buah ember A dan B masing – masing memiliki isi yang


berbeda. Tuliskan algoritma untuk menukarkan isi masing –
masing ember tersebut.
JAWABAN
 ALGORITMA
- untuk menukar air dari ember A ke ember
B,dibutuhkan satu ember kosong yaitu
C.
- air yang ada di ember A kita pindah
dahulu ke ember C.
- sekarang ember A kosong, kemudian isi
yang ada di ember B kita pindah ke
ember A.
- sekarang ember A terisi dan ember B
kosong.
- kemudian isi yang ada di ember C kita
pindah ke ember B.
- sehingga ember A dan B sudah terisi dan
 FLOWCHART

mulai

baca A,B,C

C=A
A=B
B=C

Tampilkan A,B

selesai
 Pseudo code
 DEKLARASI
 A,B,C : integer

 ALGORITMA
A = 2
B = 5
C A isi di variabel A sudah pindah ke
variabel C
A B isi yang ada di variabel B sudah
pindah ke variabel A
B C isi yang ada di variabel C sudah
pindah ke variabel B
sehingga

A 5
B 2
FLOWCHART

Start

Masukkan
A dan B

C=A+B

Tampilkan C

End
FLOWCHART
 Contoh lain, misalkan kita ingin mengetahui apakah
sebuah bilangan ganjil atau genap.
 Untuk itu kita harus membuat flowchart seperti berikut :
FLOWCHART
Start

Masukkan A

Bagi A dengan 2

ya Apakah sisa tidak


hasil bagi = 0 ?

“Genap” “Ganjil”

End
PSEUDO-CODE
 Sebagai contoh, flowchart berikut ini akan ditulis dalam
Pseudo-code.
Start

Masukkan
A dan B

C=A+B

Tampilkan C

End
PSEUDO-CODE
1. Start
2. Masukkan A dan B
3. C=A+ B
4. Tampilkan C
5. End
PSEUDO-CODE
 Flowchart berikut ini akan ditulis menjadi Pseudo-code.

Start

Masukkan A

Bagi A dengan 2

ya Apakah sisa tidak


hasil bagi = 0 ?

“Genap” “Ganjil”

End
PSEUDO-CODE
1. Start
2. Masukkan A
3. Sisa = A MOD 2
4. IF (Sisa = 0)
5. Cetak “Genap”
6. Else
7. Cetak “Ganjil”
8. End
PSEUDO-CODE
 Kita bisa bebas menulis pseudo code selama itu mudah
dimengerti.
 Tetapi disarankan untuk menggunakan keyword yang
umum digunakan dalam bahasa pemrograman seperti :
if, then, else, while, do, repeat, for, dan lainnya.
 Dan ikuti gaya penulisan pemrograman seperti Pascal,
C++, dll.

Anda mungkin juga menyukai