0% menganggap dokumen ini bermanfaat (0 suara)
245 tayangan38 halaman

Pemrograman Pertemuan 2 - Definisi Jenis Data Dalam Algoritma

Algoritma menukar isi dua ember A dan B dengan menggunakan ember kosong C sebagai tempat sementara, dengan cara memindahkan isi A ke C, kemudian B ke A, dan terakhir C ke B.

Diunggah oleh

Latifah Bintang
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 PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
245 tayangan38 halaman

Pemrograman Pertemuan 2 - Definisi Jenis Data Dalam Algoritma

Algoritma menukar isi dua ember A dan B dengan menggunakan ember kosong C sebagai tempat sementara, dengan cara memindahkan isi A ke C, kemudian B ke A, dan terakhir C ke B.

Diunggah oleh

Latifah Bintang
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 PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 38

PEMOGRAMAN KOMPUTER

ID1411 (2 SKS)

PERTEMUAN 1 – DEFINISI JENIS DATA DALAM ALGORITMA

DOSEN PENGAMPU : DR ( C ) INDRA RANGGADARA, S.KOM, MT, MMSI


Deskripsi
• Matakuliah ini berisi tentang metode-metode dasar yang
harus dikuasai untuk dapat menyelesaikan masalah-masalah
menggunakan komputer sebagai alat bantunya.
• Matakuliah ini mengajarkan computational thinking
• Pada matakuliah ini juga dipelajari tentang penggunaan
metode-metode tersebut dengan menggunakan bahasa
pemrograman tertentu sehingga para mahasiswa dapat
membuat program dengan alur logika yang tepat dan
efisien.
Mengapa Belajar Algoritma dan
Stuktur data?
◼ Untuk menulis kode dalam bahasa yang dimengerti komputer
◼ Untuk melatih logika berpikir
◼ Untuk dasar matakuliah lain di ilmu komputer
Apakah belajar programming itu sulit?

• Hanya butuh waktu / “jam terbang”


• Hanya butuh semangat dan kemauan
• Hanya butuh sering mencoba / latihan!
• Kuncinya latihan dan diskusi!
Tips Belajar
◼ Buat catatan!
◼ Baca buku acuan!
◼ Banyak latihan / praktek / mencoba
◼ Banyak bertanya dan belajar dari sumber lain
Basic Computer

Input – Proses - Output


Bagan Sistem Komputer

Skema Komunikasi Manusia dan


komputer
Komunikasi Manusia dan Komputer
• Proses komunikasi antara manusia dengan komputer adalah
sebagai berikut:
– Manusia mendesain Algoritma
– Manusia menterjemahkan Algoritma tersebut ke dalam
bahasa pemrograman yang dipilih sehingga menjadi sebuah
program
– Komputer menjalankan program hasil penterjemahan
algoritma menjdi bahasa pemrograman diatas
– Komputer mengeluarkan respon kepada manusia
Paradigma Algoritma dalam Bahasa Pemograman
• Deklaratif
– Fakta yang digunakan untuk memeriksa kebenaran
• 5 adalah akar dari 25 karena 5^2 = 25 dan 5>=0
• Bilangan genap adalah bilangan positif yg habis dibagi 2
• Imperatif
– Berupa urutan langkah-langkah untuk memecahkan masalah
Contoh: Algoritma Login ke
Facebook
◼ User : Masukkan user name
◼ User : Masukkan Password
◼ Sistem :Cek apakah username terdaftar?
◼ Sistem :Jika tidak terdaftar, maka sistem akan mengeluarkan peringatan adanya
kesalahan. Jika terdaftar maka, selanjutnya sistem akan mengecek apakah
username dan password cocok (sesuai dengan database)?
◼ Sistem :Jika Username dan password cocok maka user diperbolehkan masuk ke
Facebook ybs. Jika tidak cocok maka sistem akan mengeluarkan peringatan
adanya kesalahan
◼ User : Dapat mengakses halaman facebook ybs
Definisi
◼ Menurut Rinaldi Munir (2011:10), Para ahli bahasa menemukan kata algorism
berasal dari nama cendikiawan muslim yang terkenal yaitu Abu Ja’far Muhammad
Ibnu Musa Al-Khuwarijmi (Al-Khuwarijmi dibaca oleh orang Barat menjadi
algorism) dalam bukunya yang berjudul Kitab Aljabar Wal-muqabala, yang artinya
“Buku Pemugaran dan Pengurangan” (The book of restoration and reduction).
Dari judul buku itu kita memperoleh kata “aljabar” (algebra). Perubahan dari kata
algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan
arithmetic sehingga akhiran –sm berubah menjadi –thm.

◼ Menurut Thomas H. Cormen (2009:5), Algoritma adalah prosedur komputasi


yang mengambil beberapa nilai atau kumpulan nilai sebagai input kemudian di
proses sebagai output sehingga algoritma merupakan urutan langkah komputasi
yang mengubah input menjadi output.
Kriteria dalam Algoritma
- Setiap langkah/step harus jelas dan pasti
- Boleh tidak ada inputan tetapi harus memiliki output minimal 1 output, output ini
merupakan solusi akhir dari penyelesaian masalah
- Efektif/tepat guna dan efisien/membutuhkan waktu singkat dan memori sedikit
- Jumlah langkah/step harus ada batasannya, baik ada solusi ataupun tidak
- Terstruktur/runtun, jelas (ipo)
Perbedaan Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam
program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut
bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi
formula bahwa :

Program = Algoritma + Bahasa (Struktur Data)

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program.
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang
baik, demikian juga sebaliknya.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya :


• Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya
penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
• Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
• Apapun bahasa pemrogramannya, output  yang akan dikeluarkan sama karena algoritmanya sama.
Penulisan algoritma

⦿ Kalimat Deskriptif
⦿ Flow Chart (bagan alir)
⦿ Pseudo Code (kode semu)
Kalimat deskriptif
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
Jika X habis dibagi 2 maka tulis “Genap”, jika tidak maka
tulis “Ganjil”
Flowchart
mulai
MENGGUNAKAN SIMBOL – SIMBOL
UNTUK MENGGAMBARKAN ALIRAN ATAU
baca X LANGKAH – LANGKAH CONTOH

tida
X mod 2 = 0 k Tulis “Ganjil”

y
a
Tulis “Genap

selesai
Pseudocode
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}
Analogi dasar Flow Chart
Mulai

Syarat Perintah 1

Perintah 2

Selesai
Lambang-lambang
flowchart
Contoh kondisi penerimaan Calon
Pegawai

Umur < 30
Capeg diterima
dan
nilai > 60

Capeg tidak diterima


Contoh Besarnya tunjangan calon
Pegawai

Status$=’kawi MK>=3 TJ=6%*GP


n’

TJ=0 TJ= 3%*GP


Contoh Kasus Tunjangan Pensiun
Pegawai

Usia>60 Mendapat
Atau tunjangan pensiun
MK>25

Tidak mendapat
tunjangan pensiun
Contoh Mencetak Bilangan Yang paling
besar dari dua buah bilangan yang
diinputkan

Mulai

Baca A,B

A>B
Cetak A

Cetak B

selesai
Contoh Latihan :
Buat diagaram alur untuk menentukan apakah
Mulai
suatu bilangan termasuk bilangan positif,
negatif atau nol!
Baca bil

Bil= Cetak
0 “nol”

Bil<
0 Cetak
“negatif

Cetak
“positif”

Selesai
Contoh :
- Kasus : menghitung luas segitiga
- Algoritma :
1. Masukkan alas (a)
2. Masukkan tinggi (t)
3. Hitung luas (L), yaitu 0.5 * alas * tinggi
4. Cetak luas (L)
Perbedaan antara algoritma dan pseudo-
code
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 Luas panjang x lebar
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
client
alur cerita dari 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.
Latihan
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
tertukar sedang ember C menjadi kosong.
Jawaban Flowchart:
mulai

baca A,B,C

C=A
A=B
B=C

Tampilkan A,B

selesai
Jawaban Pseudocode:
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
Latihan Soal

Ada 2 gelas kosong berukuran: 5 liter dan 3 liter


• Bagaimana cara kita mendapatkan air berukuran 4 liter?

• Bagaimana cara mendapatkan air berukuran 2 liter?


Jawaban
• Masukkan air ke 3 liter hingga penuh
• Masukkan air 3 liter ke 5 liter, sisa 2 liter kosong
• Masukkan air ke 3 liter hingga penuh
• Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di
gelas 2 liter
• Buang seluruh air di gelas 5 liter tadi
• Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga ke 5
liter kosong
• Masukkan air ke 3 liter hingga penuh
• Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter
tadi, hingga kita dapat 4 liter
Tugas Individu (Nomor Absen
Genap)
1. Buat deskriptif, pseudocode, dan flowchart untuk menghitung luas persegi panjang.
2. Buat deskriptif, pseudocode, dan flowchart untuk menentukan kelulusan seorang mahasiswa. Kelulusan dihitung
dari nilai rata-rata 2 mata kuliah. Bila nilai rata-rata lebih dari atau sama dengan 60, siswa dinyatakan lulus.
Sebaliknya siswa dinyatakan tidak lulus.
3. Buat deskriptif, pseudocode, dan flowchart dalam pemilihan jurusan IPA dan IPS, dinilai 3 pelajaran eksakta dan
2 pelajaran non eksakta. Bila nilai rata-rata eksakta lebih besar dari nilai rata-rata non eksakta maka siswa
dijuruskan ke IPA, bila nilai rata-rata eksakta dan non eksakta sama maka siswa diperbolehkan memilih.
4. Buat deskriptif, pseudocode, dan flowchart yang digunakan untuk menghitung dan mencetak luas dan keliling
lingkaran yang diketahui jari-jarinya (luas = 3,14 * r^2, keliling = 2* 3,14*r); r = jari – jari.
5. Buat deskriptif, pseudocode, dan flowchart, untuk implementasi mesin ATM.*
*10 mod 2 =0
*9 mod 2 = 1
Tugas Individu (Nomor
Absen Ganjil)
1. Buat deskriptif, pseudocode, dan flowchart 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:
suhu dalam Reamur dan Farenheit
2. Buat deskriptif, pseudocode, dan flowchart untuk mencari sisi miring dari suatu segitiga siku-siku,
jika diketahui panjang sisi yang membentuk sudut siku-siku. Input: a dan b, yaitu panjang sisi
pembentuk sudut siku-siku Proses: 2 2 c = a + b Ouput: sisi miring (c)
3. Buat deskriptif, pseudocode, dan flowchart untuk menentukan suatu bilangan genap atau ganjil Input:
suatu bilangan Ouput: genap / ganjil
4. Buat deskriptif, pseudocode, dan flowchart untuk menentukan suatu bilangan adalah bilangan prima
atau bukan.
5. Buat deskriptif, pseudocode, dan flowchart untuk untuk menghitung akar-akar persamaan kuadrat
dengan rumus D = B2 – 4 * A * C Jika D < 0 maka didapat akar imajiner Jika D = 0 maka X1 = X2
yang didapat dari D = -B / (2 * A)
Terima Kasih
INDRA RANGGADARA, S.KOM, MT

Anda mungkin juga menyukai