Algoritma dan Pemprograman 1 algoritma dan flowchart Pertemuan

  • Slides: 59
Download presentation
Algoritma dan Pemprograman 1 algoritma dan flowchart

Algoritma dan Pemprograman 1 algoritma dan flowchart

Pertemuan 4 Pemrograman dan Jenis Data

Pertemuan 4 Pemrograman dan Jenis Data

Langkah-langkah dalam Pemprograman Komputer Mendefinisikan masalah Menentukan solusi Memilih algoritma Menulis program Menguji program

Langkah-langkah dalam Pemprograman Komputer Mendefinisikan masalah Menentukan solusi Memilih algoritma Menulis program Menguji program Menulis dokumentasi

Definisi Kunci: Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil

Definisi Kunci: Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai. Perhatikan contoh berikut. • Contoh: Username=“laily” Nama=“laily_wanti” Harga=“ 2500” Harga. Total=“ 34000” •

Contoh penamaan variabel

Contoh penamaan variabel

Definisi Kunci Konstanta • • • Konstanta adalah variabel yang nilai datanya bersifat tetap

Definisi Kunci Konstanta • • • Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubah-ubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta.

Definisi Kunci Konstanta • • Pada sebuah kode program, biasanya nilai data dari konstanta

Definisi Kunci Konstanta • • Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3. 14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3. 14159 berulang-ulang.

Tipe Data • • Tipe data adalah jenis data yang dapat diolah oleh komputer

Tipe Data • • Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer) Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi.

Pengelompokan Tipe Data

Pengelompokan Tipe Data

Type Data Numeric • • Tipe data numeric digunakan pada variabel atau konstanta untuk

Type Data Numeric • • Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya berbeda dalam jenis numeric yang diakomodasi.

Type Data Numeric • Jenis yang termasuk dalam tipe data numeric antara lain integer

Type Data Numeric • Jenis yang termasuk dalam tipe data numeric antara lain integer (bilangan bulat), dan float (bilangan pecahan).

Penggunaan Tipe Data Numeric

Penggunaan Tipe Data Numeric

Tipe Data Character merupakan tipe data yang paling banyak digunakan. Tipe data character kadang

Tipe Data Character merupakan tipe data yang paling banyak digunakan. Tipe data character kadang disebut sebagai char atau string.

Tipe Data Character Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang

Tipe Data Character Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (“…”) atau petik tunggal (‘…’).

Penggunaan Tipe Data Character

Penggunaan Tipe Data Character

Tipe Data Boolean • • • Tipe data Boolean digunakan untuk menyimpan nilai True/False

Tipe Data Boolean • • • Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah). Pada sebagian besar bahasa pemrograman nilai selain 1 menunjukkan True dan 0 melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF … THEN atau IF … THEN … ELSE.

Penggunaan Tipe Data Boolean If(Nilai >=86){ System. out. Println(“Nilai A”); } Else if(Nilai>=70){ System.

Penggunaan Tipe Data Boolean If(Nilai >=86){ System. out. Println(“Nilai A”); } Else if(Nilai>=70){ System. out. Println(“Nilai B”); } Else{ System. out. Println(“Nilai C”); }

Operator Aritmatika Nama Operator Simbol Operator Ekspresi aljabar Ekspresi program Penambahan + A+B Pengurangan

Operator Aritmatika Nama Operator Simbol Operator Ekspresi aljabar Ekspresi program Penambahan + A+B Pengurangan - A–B Perkalian * AB A*B Pembagian / A/B Sisa bagi (modulo) % A%B Nilai A = 8 Nilai B = 6 Penambahan = 14 Pengurangan = 2 Perkalian = 48 Pembagian = 1. 333 Sisa Bagi = 2 a 01 Operator. java

Nama Operator Equalitas Si mbol Operator Ekspresi aljabar Ekspresi program Sama dengan = ==

Nama Operator Equalitas Si mbol Operator Ekspresi aljabar Ekspresi program Sama dengan = == X == Y Tidak sama dengan ≠ != X != Y Operator Rasionalitas(Pembanding) Nama Operator Simbol Operator Ekspresi aljabar Ekspresi program lebih besar > > X>Y Lebih kecil < < X<Y Lebih besar sama dengan ≥ >= X >= Y Lebih kecil sama dengan ≤ =< X =< Y Comparison. java

Operator Boolean Nama Operator Simbol Operator Ekspresi aljabar Ekspresi program Not ! ! !X

Operator Boolean Nama Operator Simbol Operator Ekspresi aljabar Ekspresi program Not ! ! !X And && && X && Y Or || || X || Y xor xor X xor Y

Hasil Operator Boolean Bit X Y Not X Not Y X and Y X

Hasil Operator Boolean Bit X Y Not X Not Y X and Y X or Y X xor Y 0 0 1 1 1 0 0 1 1 1 1 0 0 1 1 0 Hasil Operator Boolean kondisi X Y Not X Not Y X and Y X or Y X xor Y false False True False false true 1 False True True False True true false

Definisi Kunci: Algoritma • • Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika

Definisi Kunci: Algoritma • • Algoritma adalah urutan langkah berhingga untuk memecahkan masalah logika atau matematika Contoh algoritma: mengirimkan surat dengan amplop – Mempersiapkan kertas dan amplop – Mempersiapkan alat tulis, seperti pena atau pensil – Mulai menulis – Memasukkan kertas kedalam amplop – Pergi ke kantor pos untuk mengeposkan surat tersebut

Cara Penulisan Algoritma Structured English SE merupakan alat yang cukup baik untuk menggambarkan suatu

Cara Penulisan Algoritma Structured English SE merupakan alat yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). • Pseudocode Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. •

Contoh algoritma • 1. 2. 3. 4. Menghitung luas lingkaran: Masukkan R Pi 3.

Contoh algoritma • 1. 2. 3. 4. Menghitung luas lingkaran: Masukkan R Pi 3. 14 L Pi * R Tulis L Maksud dari : nilai di sebelah kanan diberikan pada OPERAN di sebelah kiri. Pi 3. 14 = berikan nilai 3. 14 ke Pi

Template Algoritma Nama Algoritma Diberikan nama algoritma Deklarasi Berisi variabel-variabel yang digunakan Deskripsi alur

Template Algoritma Nama Algoritma Diberikan nama algoritma Deklarasi Berisi variabel-variabel yang digunakan Deskripsi alur program

Contoh Template Algoritma • Dari contoh slide sebelumnya (luas lingkaran) Nama Algoritma Menghitung_luas_lingkaran Deklarasi

Contoh Template Algoritma • Dari contoh slide sebelumnya (luas lingkaran) Nama Algoritma Menghitung_luas_lingkaran Deklarasi R : integer; L : float; Pi = 3. 14 : konstanta Deskripsi Read(R); Pi 3. 14; L Pi * R; Write(L);

Pertemuan 5 Latihan Pembuatan Flowchart

Pertemuan 5 Latihan Pembuatan Flowchart

Definisi Kunci: Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di

Definisi Kunci: Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu.

Simbol-simbol yang digunakan dalam flowchart

Simbol-simbol yang digunakan dalam flowchart

Contoh flowchart

Contoh flowchart

Struktur Algoritma berurutan

Struktur Algoritma berurutan

Contoh struktur algoritma berurutan

Contoh struktur algoritma berurutan

Penulisan Flowchart (1) • Dari contoh algoritma menghitung luas lingkaran, maka dapat digambarkan sebagai

Penulisan Flowchart (1) • Dari contoh algoritma menghitung luas lingkaran, maka dapat digambarkan sebagai berikut: Nama Algoritma Menghitung_luas_lingkaran Deklarasi R : integer; L : float; Pi = 3. 14 : konstanta Deskripsi Read(R); Pi 3. 14; L Pi * R; Write(L); a 01 Menghitung. Luas. Lingkaran. java

Struktur Algoritma Percabangan Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang

Struktur Algoritma Percabangan Sebuah program tidak selamanya akan berjalan dengan mengikuti struktur berurutan, kadang-kadang kita perlu merubah urutan pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau keputusan.

Latihan soal 1 : menonton_film Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai

Latihan soal 1 : menonton_film Sebuah aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang dari 17 tahun maka penonton tidak diperbolehkan nonton.

jawaban algoritma: menonton_film Nama algoritma Menonton_film Deklarasi Usia : real; Psn : String; Deskripsi

jawaban algoritma: menonton_film Nama algoritma Menonton_film Deklarasi Usia : real; Psn : String; Deskripsi Read (Usia) if Usia > 17 Psn “anda boleh menonton” else Psn “anda tidak boleh menonton” Write(‘Pesan’, Psn) a 01 Menonton. Film. java

jawaban flowchart: menonton_film

jawaban flowchart: menonton_film

Latihan soal 2 : hitung_bilangan Dalam suatu perhitungan nilai P = X + Y.

Latihan soal 2 : hitung_bilangan Dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q

jawaban algoritma: hitung_bilangan Nama algoritma Hitung_bilangan Deklarasi X, Y : real; P, Q :

jawaban algoritma: hitung_bilangan Nama algoritma Hitung_bilangan Deklarasi X, Y : real; P, Q : real; Deskripsi Read (X, Y) P X+Y if P > 0 Q X*Y else Q X/Y Write(‘Nilai P’, P) Write(‘Nilai Q’, Q) a 01 Menghitung. Bilangan. java

jawaban flowchart: hitung_bilangan

jawaban flowchart: hitung_bilangan

Latihan Soal 3 : gaji Diketahui pegawai dengan masa kerja lebih dari 3 tahun

Latihan Soal 3 : gaji Diketahui pegawai dengan masa kerja lebih dari 3 tahun mendapat tunjangan sebesar 20% gaji pokok sedang yang kurang dari itu mendapat tunjangan 10%. Input program adalah masa kerja dan gaji pokok. Buatlah algoritmanya (30) Untuk lebih jelasnya, perhatikan penjelasan berikut ini: Mula-mula dimasukkan data (mk) dan (gapok). Misalnya, masing diberi nilai 2 dan 1000. Karena (mk>3) bernilai salah, maka perintah yang dikerjakan adalah (tjg 0. 1*gapok). Kemudian gapok dan tjg dijumlahkan yang hasilnya disimpan sebagai gatot. Dengan demikian output yang keluar adalah 1100.

Jawaban algoritma: gaji Nama Algoritma Gaji_pegawai Deklarasi Tjg, mk, gapok, gatot : double Deskripsi

Jawaban algoritma: gaji Nama Algoritma Gaji_pegawai Deklarasi Tjg, mk, gapok, gatot : double Deskripsi Read (mk, gapok ) If(mk>3) then tjg 0. 2 * gapok Else tjf 0. 1 * gapok Gatot gapok + tjg Write(‘gaji total’, gatot )

Jawaban flowchart: gaji

Jawaban flowchart: gaji

Latihan soal 4 : tahun kabisat Buatlah algoritma dan flowchart untuk menghitung umur anda

Latihan soal 4 : tahun kabisat Buatlah algoritma dan flowchart untuk menghitung umur anda dengan memasukkan tahun sekarang. Hasil penghitungan adalah ◦ apakah tahun sekarang tahun kabisat atau tidak ◦ Umur anda dalam hitungan jam

Jawaban soal: tahun kabisat Nama Algoritma Tahun_kabisat Deklarasi Tahun_sekarang : int; Tahun_lahir : int;

Jawaban soal: tahun kabisat Nama Algoritma Tahun_kabisat Deklarasi Tahun_sekarang : int; Tahun_lahir : int; Hitung_umur_tahun : int Hitung_umur_jam : int Kata : String Deskripsi Read (tahun_sekarang, tahun_lahir) Hitung_umur_tahun tahun_sekarang – tahun_lahir Hitung_umur_jam hitung_umur_tahun * 8760 If((tahun_sekarang % 400 ==0) ||((tahun_sekarang % 4 == 0) && (tahun_sekarang %100 != 0)) ) kata tahun kabisat Else kata tidak tahun kabisat Write (hitung_umur_jam, kata) a 01 Tahun. Kabisat. Simple. ja va

Jawaban flowchart: tahun kabisat

Jawaban flowchart: tahun kabisat

Latihan soal 5 : form Jika beli produk >=3, maka diskon 5%

Latihan soal 5 : form Jika beli produk >=3, maka diskon 5%

Jawaban algoritma: form Nama program Deklarasi Deskripsi Pembelian_barang Kodebarang, jml_beli : int; Hargasatuan, jml_harga,

Jawaban algoritma: form Nama program Deklarasi Deskripsi Pembelian_barang Kodebarang, jml_beli : int; Hargasatuan, jml_harga, pot, bayar : double; read (kodebarang, hargasatuan, jml_beli) Jml_harga = hargasatuan * jml_beli; If jml_beli >=3 Pot = 0. 5; Else Pot = 0; Bayar = (Jml_harga) – (Jml_harga* pot); Write(‘Jumlah Harga’, Jml_harga ) Write(‘Potongan’, pot) Write (‘bayar’, bayar);

Jawaban flowchart: form

Jawaban flowchart: form

Latihan soal 6 : percabangan bersarang • Sebuah usaha fotokopi mempunyai aturan sebagai berikut

Latihan soal 6 : percabangan bersarang • Sebuah usaha fotokopi mempunyai aturan sebagai berikut : Ø jika yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi, harga perlembarnya Rp. 75, Ø jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar harga perlembarnya Rp. 100, -. Sedangkan jika lebih atau sama dengan 100 lembar maka harga perlembarnya Rp. 85, -.

jawaban algoritma: percabangan bersarang Nama algoritma Biaya_fotokopi Deklarasi Status : String; FT : int;

jawaban algoritma: percabangan bersarang Nama algoritma Biaya_fotokopi Deklarasi Status : String; FT : int; HPL, TH : real; Deskripsi Read (Status, FT) if Status=“langganan” HPL 75 else if FT < 100 HPL 100 else HPL 85 TH FT * HPL Write (‘Total Harga’, TH) a 01 Menghitung. Biaya. Fotokopi. java

jawaban flowchart: percabangan

jawaban flowchart: percabangan

Latihan Soal 7: percabangan bersarang • Aturan kelulusan siswa pada mata pelajaran Pemrograman Web

Latihan Soal 7: percabangan bersarang • Aturan kelulusan siswa pada mata pelajaran Pemrograman Web diterapkan sebagai berikut : Ø Jika nilai ujian tengah semester (UTS) lebih besar dari 70 maka siswa dinyatakan lulus dan Nilai Akhir sama dengan nilai UTS. Ø Nilai Akhir lebih besar atau sama dengan 60 dimana Nilai Akhir = (nilai UTS x 40%) + (nilai UAS x 60%).

Jawaban algoritma: lulus Nama algoritma Kelulusan_siswa Deklarasi nim, nama, status : String; NUTS, NUAS,

Jawaban algoritma: lulus Nama algoritma Kelulusan_siswa Deklarasi nim, nama, status : String; NUTS, NUAS, NA : real; Deskripsi Read (nim, nama, status, NUTS, NUAS) if NUTS > 70 NA NUTS; status “lulus” else NA (NUTS * 0. 4) + (NUAS * 0. 6) if NA >= 60 status “lulus” else status “tidak lulus” Write (‘Nim, Nama, NA, Status’, nim, nama, NA, status)

Jawaban flowchart: lulus

Jawaban flowchart: lulus

Latihan Soal 9: Tulis program untuk menampilkan jumlah hari, jam, menit dan detik. Masukan

Latihan Soal 9: Tulis program untuk menampilkan jumlah hari, jam, menit dan detik. Masukan program adalah bilangan bulat yang melambangkan waktu dalam detik. Keluaran program adalah banyaknya hari, jam, menit dan detik. Misal: 150. 000 detik akan menghasilkan 1 hari, 17 jam, 40 menit dan 0 detik

Latihan Soal 10: Tulislah program untuk menghitung total bayar dengan aturan Jika jumlah beli

Latihan Soal 10: Tulislah program untuk menghitung total bayar dengan aturan Jika jumlah beli <100, maka harga barang Rp. 10. 000, Jika jumlah beli lebih besar atau sama dengan 100 dan kurang dari 150, maka harga barang Rp. 9. 500, Jika jumlah beli lebih besar sama dengan 150, maka harga barang Rp. 9. 000,