• Tidak ada hasil yang ditemukan

Algoritma dan Pemrograman

N/A
N/A
Protected

Academic year: 2021

Membagikan "Algoritma dan Pemrograman"

Copied!
19
0
0

Teks penuh

(1)

Algoritma

Algoritma

Algoritma

Algoritma dan

dan

dan Pemrograman

dan

Pemrograman

Pemrograman

Pemrograman

Tahap TahapTahap

(2)

• Langkah - langkah menulis program:

1. Menspesifikan masalah 2. Menganalisis masalah

3. Merancang/mendesign algoritma 4. Mengimplementasikan algoritma 5. Mentest dan memverifikasi program

6. Memelihara /dokumentasi dan meng-update program

Tahap

Tahap

Tahap

Tahap –

–tahap

tahap

tahap menulis

tahap

menulis

menulis

menulis program

program

program

program

(3)

• 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

1.Spesifikasi

1.Spesifikasi

1.Spesifikasi

1.Spesifikasi Masalah

Masalah

Masalah

Masalah

• Kita harus dapat mengeliminasi aspek-aspek yang tidak

penting dari masalah.

• Dalam langkah ini, kita mungkin membutuhkan informasi

(4)

2. Analisis

2. Analisis

2. Analisis

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:

• 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

(5)

• Contoh:

Problem Problem Problem

Problem: Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga per kg apel diketahui.

Analisis Analisis Analisis Analisis:

Hitung dan tampilkan total harga apel jika jumlah kg apel yang dibeli dan harga per kg apel diketahui.

Input Input Input Input:

Jumlah apel yang dibeli (dalam kg) -> kg_beli Harga per kg apel (dalam rupiah) -> harga_kg Harga per kg apel (dalam rupiah) -> harga_kg

Output Output Output Output:

Total harga apel (dalam rupiah) -> total Rumus

Rumus Rumus Rumus :

(6)

3. Design

3. Design

3. Design

3. Design

• Menyusun algoritma

• (daftar langkah yang diperlukan untuk menyelesaikan masalah) dan

memverifikasi apakah algoritma yang kita susun dapat

menyelesaikan masalah sesuai dengan yang kita inginkan.

• Merancang algoritma.

• Gunakan pendekatan top down design (disebut juga divide and

conquer), yaitu pendekatan yang dimulai dengan mendaftar conquer), yaitu pendekatan yang dimulai dengan mendaftar langkah-langkah utama atau submasalah yang diperlukan untuk

menyelesaikan masalah utama.

• selanjutnya diikuti dengan menyusun penyelesaian untuk

(7)

• Hampir setiap algoritma komputer terdiri dari submasalah

berikut:

• Memasukkan data

• Melakukan perhitungan • Menampilkan hasil

• Proses penyusunan langkah-langkah penyelesaian untuk

setiap submasalah yang berhasil diidentifikasi disebut penghalusan algoritma (algorithm refinement).

setiap submasalah yang berhasil diidentifikasi disebut penghalusan algoritma (algorithm refinement).

• Untuk memverifikasi algoritma dilakukan dengan cara

mensimulasikan hasil eksekusi algoritma dengan perhitungan manual.

(8)

Metode Perancangan Top-down

Sub Masalah A Sub Masalah B Sub Masalah C Masalah Besar

Sub Masalah A1 Sub Masalah A2

B Masalah utama B A C A1 A2

Strategi umum dalam penyelesaian masalah besar; kompleks; rumit

(9)

Mahasiswa Dosen Perkuliahan Sistem Informasi Akademis

Entry data Entry data Entry data Contoh Top-down : Hapus data Laporan data Hapus data Laporan data Hapus data Laporan data

(10)

4. Implementasi

4. Implementasi

4. Implementasi

4. Implementasi

• Pada tahap ini dilakukan penulisan program, yaitu

mengkonversi algoritma yang disusun pada tahap

(11)

5. Testing

5. Testing

5. Testing

5. Testing

• 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.

(12)

6.

6.

6.

6. Pemeliharaan

Pemeliharaan

Pemeliharaan (maintenance)

Pemeliharaan

(maintenance)

(maintenance)

(maintenance)

• Pemeliharaan dan peng-update-an program mencakup

modifikasi program untuk menghilangkan error yang sebelumnya tidak terdeteksi dan untuk menjaga agar program tetap up-to-date.

• Sangat penting untuk melakukan dokumentasi terhadap

setiap tahap pengembangan software, sehingga proses pemeliharaan program bisa dilakukan dengan baik.

(13)

Contoh

Contoh

Contoh

Contoh kasus

kasus

kasus:

kasus

:

:

: Konversi

Konversi Mil

Konversi

Konversi

Mil

Mil

Mil ke

ke

ke

ke Kilometer

Kilometer

Kilometer

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.” “…. Oleh pembimbing kerja praktek, anda diminta untuk mengkonversi semua jarak dalam mil ke dalam kilometer.” Input :

Jarak dalam mil -> mil Output :

(14)

• Design :

algoritma awal :

1. Masukkan jarak dalam mil

2. Konversi jarak dari mil ke kilometer 3. Tampilkan hasil dalam kilometer Penghalusan algoritma :

1. Masukkan jarak dalam mil

2. Konversi jarak dari mil ke kilometer 2. 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.

(15)

• Implementasi :

/* Konversi jarak dari mil ke kilometer */

#include <stdio.h> /* definisi printf, scanf */ #include KM_PER_MIL 1.609 /*konstanta konversi */ int main(void) {

double mil, /*input: jarak dalam mil*/ km; /*output: jarak dalam km*/

/* memasukkan jarak dalam mil */ printf(“Masukkan jarak dalam mil : “); scanf(“%lf”, &mil);

/* konversi jarak ke kilometer */ /* konversi jarak ke kilometer */ km = KM_PER_MIL * mil;

/* tampilkan jarak dalam kilometer */

printf(“Hasil konversi adalah %lf kilometer.\n”, km); return(0);

}

(16)

• Pengetesan

Untuk memverifikasi bahwa program sudah berjalan sesuai dengan kebutuhan, cobalah mentest program dengan

(17)

Studi Kasus :

Studi Kasus :

Studi Kasus :

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. 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

(18)

Referensi

Referensi

Referensi

Referensi

• Bab 1, “Overview of Computers and Programming”, Problem

Solving and Program Design in C, Jeri R. Hanly dan Elliot B. Koffman, Addison Wesley, 2002

(19)

Referensi

Dokumen terkait

triliun. Angka tersebut harusnya dapat berdampak luar biasa dalam upaya pengentasan kemiskinan di Indonesia. Namun demikian laporan BAZNAS mengungkapkan bahwa dari

Adapun aspek yang menjadi sasaran observasi pada kegiatan membaca nyaring kalimat sederhana terdiri atas dua belas aspek antara lain: (1) memperhatikan penjelasan dari guru,

Fronted high negations under interrogative scope may undergo conversion into affirmative answer bias particles when the interrogative operator is affected by the Asking

untuk struktur modal berhubungan dengan igyarat yang diberikan kepada investor melalui keputusan suatu perusahaan untuk menggunakan utang atau saham dalam memperoleh modal

However, their frequencies are still higher than those of any outer circle varieties besides Singaporean English, allowing a general proposition that neg-raising – or at the

dihadapi organisasi dalam melakukan bisnis, berkaitan dengan perilaku yang konsisten, dan seharusnya mampu menciptakan keunggulan kompetitif perusahaan.. • Strategi sangat

The present study centres around the negative-existential cycle proposed by Croft (1991) and its application on three Chinese varieties – Mandarin, Hong Kong Cantonese,

“You help Bolliger, or I find out he’s running with the Black Tips, don’t think I won’t come after you.”.. “Please, Kaz,”