PERTEMUAN 8
Algoritma Penulisan Data pada File
Algoritma yang digunakan untuk penulisan data untuk file data berurutan maupun acak
secara rinsip sama, hanya modusnya yang berbeda.
Berikut ini adalah algoritma penulisan data.
Open “modus”, <buffer number>, “nama file data” Write <record number>,
field 1, field 2, .. field n
Close buffer number Modus O menunjukkan file ini dibuka untuk ditulisi.
Contoh 5.25.
Contoh Penerapan algoritma penulisan data.Misalkan kita punya file data dengan nama
“siswa.dat” yang field-nya adalah nama siswa, alamat, nomor telepon. Maka untuk
menuliskan
data adalah sebagai berikut :
Open “O”, #1, “siswa.dat”
Write #1, <nama>, <alamat>, <no.telepon>
Close #1
Notasi #1 menunjukkan siswa.dat akan ditempatkan dalam buffer no 1.
Notasi ini harus sama digunakan di seluruh progam di atas.
Artinya kalau kita menempatkan suatu file dengan nomor buffer #1 maka Ketika
membuka, menulis, membaca dan menutup harus menggunakan notasi tersebut.
Demikian juga bila kita menempatkan pada buffer no #2
Algoritma Pembacaan Data pada File
Algoritma membaca data algoritmanya hampir sama dengan menuliskan data, tetapi
modus yang digunakan tidak O tetapi I. I adalah input yang berarti file data dibuka
untuk dibaca datanya sebagai input.
Berikut ini algoritmanya dalam SE.
Open “modus”, <buffer number>, “nama file data”
While not EOF:
Input <record number>, field 1, field 2, ..
field n
Print field 1, field 2, .. field n
End while
Close buffer number
Pernyataan While Not EOF digunakan untuk memeriksa apakah sudah ada pada baris
terakhir dari data. Jika belum maka baris-baris data akan dibaca dan dicetak sampai
baris terakhir. Pernyataan input digunakan untuk mengambil data dari file untuk dimuat
ke dalamprogram. Sedangkan Pernyataan print digunakan untuk mencetak data ke layar
komputer.
Contoh 5.26.
Contoh penerapan algoritma penulisan data. File data dengan nama “siswa.dat” seperti
pada contoh 5.25 yang field-nya adalah nama siswa, alamat, nomor telepon. Maka untuk
membaca data adalahsebagai berikut.
Open “I”, #2, “siswa.dat”
While not EOF:
Input #2, <nama>, <alamat>, <no.telepon>
Print <nama>, <alamat>, <no.telepon>
End while
Close buffer number
Contoh dalam bahasa pemrograman dasar :
Uses Crt;
Var
I,n,x : integer;
Procedure Inputan ( var x,n : integer);
Begin
For i := 1 to n do
Begin
Write (’masukkan suku ke-’,i,’=’);
Readln(x);
End;
End;
Procedure Keluaran ( var x,n : integer);
Begin
For i := 1 to n do
Write (‘x[’,i,’]=’,x);
End;
Begin
Clrscr;
Write(’Masukkan N (mak 100) :’);
Readln(n);
Inputan(x,n);
Writeln; Writeln;
Keluaran(x,n);
Readln;
End.
PERTEMUAN 9
Percabangan dengan 2 kondisi
Struktur satu kondisi (perintah if)
Struktur ini merupakan struktur yang paling sederhana karena hanya melibatkan
satu buah ekspresi akan diperiksa. Pada konstruksi perintah if, C++ tidak memiliki kata
kunci (keyword) then.
Bentuk umum:
if (kondisi)
pernyataan;
atau
if (kondisi)
{
statemen1;
statemen2;
…
}
Contoh:
if (detik == 60)
menit = menit + 1;
if (Angka %2 == 0)
cout<<”Bilangan genap”;
if (sisi > 0)
Keterangan :
C. Kompetensi Dasar
a. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
D. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
a. Soal
1. Buatlah sebuah program sederhana !
2. Tuliskan macam-macam array !
3. Tuliskan struktur percabangan !
4. Perhatikan gambar berikut : Tuliskan eksekusi dari skema tersebut
b. Kunci jawaban
1. Contoh Program sederhana:
#include <iostream.h>
int main()
{
int nilai;
//memasukkan bilangan bulat
cout<<”Masukkan sebuah bilangan yang akan diperiksa: “;
cin>>nilai;
//pengecek bilangan apakah habis dibagi dua atau tidak
if (nilai > 0)
{
cout<<nilai<<“ adalah bilangan positif“;
}
else if (nilai < 0)
{
cout<<nilai<<“ adalah bilangan omputer“;
}
else
{
cout<<“Anda memasukkan bilangan NOL“;
}
return 0;
}
2. Macam – macam array :
a. Array 1 dimensi dituliskan :
Variabel [ indeks ]
b. Array 2 dimensi dituliskan :
Variabel [ indeks1, indeks2 ]
c. Array 3 dimensi dituliskan :
Variabel [ indeks1, indeks2, indeks3 ]
3. Struktur Percabangan :
Pada struktur percabangan, program akan berpindah urutan pelaksanaan jika
suatu kondisi yang disyaratkan dipenuhi. Pada proses seperti ini omput flowchart
Decision harus digunakan. Simbol decision akan berisi pernyataan yang akan diuji
kebenarannya.
Nilai hasil pengujian akan menentukan cabang mana yang akan ditempuh.
4. Maka eksekusi program akan berlangsung berurutan sebagai berikut :
1. Tetapkan bilangan yang ingin kita cari (yaitu 12)
2. Ambil elemen paling awal (yaitu A[0]), bandingkan isi elemen tersebut (yaitu
23) dengan bilangan yang kita cari. Jika sama maka stop.
3. Jika tidak maka lanjutkan dengan elemen berikutnya (yaitu A[1]), bandingkan
isi elemen tersebut dengan bilangan yang kita cari. Jika sama maka stop.
4. Jika tidak maka lanjutkan dengan elemen berikutnya. Dan seterusnya sampai
dijumpai elemen yang berisi sama dengan bilangan yang kita cari.
a. Pedoman Penilaian :
Konversi Nilai = Jumlah Skor x 25,
Jumlah Skor maksimal 25, maka 4 x 25 = 100
Lampiran 3
LEMBAR PENGAMATAN SIKAP
Kompetensi : Sikap
Satuan Pendidikan :
Mata Pelajaran : Pemrograman dasar
Pertemuan ke- : 5 – 10
Alokasi Waktu : 12 x 45
1. Kompetensi dasar :
Berlaku jujur dan bertanggung jawab dalam mengerjakan tugas-tugas dari dalam
pembelajar Algoritma dan Pemrograman Pascal
2. Indikator
1. Peserta didik dapat berperilaku jujur dalam menyalin informasi dari buku
sumber
2. Peserta didik dapat bertanggung jawab dalam mengerjakan tugas.
3. Peserta didik dapat berperilaku disiplin dalam mengumpulkan tugas
4. Peserta didik dapat menunjukkan kerja sama dalam belajar Algoritma dan
Pemrograman Pascal
5. Peserta didik dapt berperilaku santun dalam belajar.
Lampiran 4
LEMBAR PENGAMATAN KETERAMPILAN/PSIKOMOTOR
Kompetensi : Keterampilan
Satuan Pendidikan : SMK Bina Islam Mandiri Kersana
Kelas/Semester : X/I
Mata Pelajaran : Pemrograman dasar Pertemuan ke : 5 – 10
Alokasi waktu : 12 x 45
A. Kompetensi Dasar
1. Menerapkan Struktur kontrol percabangan dalam bahasa pemrograman
B. Indikator
1. Membuat Struktur kontrol percabangan,
2. Membuat Percabangan 1 kondisi
3. Membuat Percabangan 2 kondisi
4. Membuat Percabangan lebih dari 2 kondisi
Isilah dengan tanda centang (√) apabila seorang siswa melakukan aktivitas !
No Aspek keterampilan *)
Nama 1 2 3 4 5 Nilai **)
.
C. Tujuan Pembelajaran
Setelah mempelajari perulangan siswa diharapkan :
a. Mengerti tentang struktur perulangan
b. Mengetahui informasi tentang perulangan dengan kondisi awal
c. Mengetahui informasi tentang perulangan dengan kondisi akhir
D. Materi Ajar
1. Struktur kontrol perulangan
2. Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
E. Metode Pembelajaran
a. Pendekatan : Scientifict Learning
b. Straegi : Cooperative Learning
c. Model : Problem Based Learning
Metode : Diskusi, Ceramah, tanya Jawab
Lampiran 1
B. Indikator
1. Mengetahui Struktur kontrol perulangan
2. Mengetahui Perulangan dengan kondisi awal
3. Perulangan dengan kondisi akhir
Pertemuan 11
Struktur kontrol perulangan
Dalam banyak kasus seringkali kita dihadapkan pada sejumlah pekerjaanyang
harus diulang berkali. Salah satu contoh yang gampang kita jumpai adalah balapan
mobil seperti tampak pada Mobil-mobil peserta harus mengelilingi lintasan sirkuit
berkali-kali sesuai yang ditetapkan dalam aturan lomba. Siapa yang mencapai garis
akhir paling cepat, dialah yang menang. Pada pembuatan program computer, kita juga
kadang-kadang harus mengulang satu atau sekelompok perintah berkali-kali agar
memperoleh hasil yang diinginkan. Dengan menggunakan omputer, eksekusi
pengulangan mudah dilakukan. Hal ini karena salah satu kelebihan omputer
dibandingkan dengan manusia adalah kemampuannya untuk
mengerjakan tugas atau suatu instruksi berulangkali tanpa merasa lelah, bosan, atau
malas. Bandingkan dengan pengendara mobil balap, suatu ketika pasti dia merasa lelah
dan bosan untuk berputar-putar mengendarai mobil balapnya. Struktur pengulangan
terdiri dari dua bagian yaitu :
1. Kondisi pengulangan,
Yaitu syarat yang harus dipenuhi untuk melaksanakan pengulangan. Syarat ini biasanya
dinyatakan dalam ekspresi Boolean yang harus diuji apakah bernilai benar (true) atau
salah
(false)
2. Badan pengulangan (loop body), yaitu satu atau lebih instruksi yang akan diulang
Pada
struktur pengulangan, biasanya juga disertai bagian inisialisasi dan bagian terminasi.
Inisialisasi adalah instruksi yang dilakukan sebelum pengulangan dilakukan pertama
kali.
Bagian insialisasi umumnya digunakan untuk memberi nilai awal sebuah variable.
Sedangkan terminasi adalah instruksi yang dilakukan setelah pengulangan selesai
dilaksanakan.
Ada beberapa bentuk pengulangan yang dapat digunakan, masing-masing dengan syarat
dankarakteristik tersendiri. Beberapa bentuk dapat dipakai untuk kasus yang sama,
namun adabentuk yang hanya cocok untuk kasus tertentu saja. Pemilihan bentuk
pengulangan untukmasalah tertentu dapat mempengaruhi kebenaran algoritma.
Pemilihan bentuk pengulangan yangtepat bergantung pada masalah yang akan
computer.
Ada beberapa perulangan di dalam pemrograman dasar :
a. Pengulangan dengan For
Pengulangan dengan menggunakan For, merupakan salah teknik pengulangan yang
paling tua dalam bahasa pemrograman. Hampir semua bahasa pemrograman
menyediakan metode ini, meskipun sintaksnya mungkin berbeda. Pada struktur For kita
harus tahu terlebih dahulu seberapa banyak badan loop akan diulang. Struktur ini
menggunakan sebuah variable yang biasa disebut sebagai loop’s counter, yang nilainya
akan naik atau turun selama proses pengulangan.
Flowchart umum untuk struktur For tampak pada Gambar 5.14.
Dalam mengeksekusi sebuah pengulangan dengan For, urutan langkah-langkah
adalah
sebagai berikut :
a. Menetapkan nilai counter sama dengan awal.
b. Memeriksa apakah nilai counter lebih besar daripada nilai akhir. Jika benar
maka keluar dari proses pengulangan. Apabila kenaikan bernilai omputer, maka
proses akan memeriksa apakah nilai counter lebih kecil daripada nilai akhir. Jika
benar maka keluar dari proses pengulangan.
c. Mengeksekusi pernyataan yang ada di badan loop
d. Menaikkan/menurunkan nilai counter sesuai dengan jumlah yang ditentukan
pada argument increment. Apabila argument increment tidak ditetapkan maka
secara default nilai counter akan dinaikkan 1.
e. Ulang kembali mulai langkah no 2.
f. Satu hal yang penting yang harus kita perhatikan adalah nilai counter selalu
ditetapkan diawal dari pengulangan. Apabila kita mencoba merubah nilai akhir
pada badan loop, maka tidak akan berdampak pada berapa banyak pengulangan
akan dilakukan.
b. Pengulangan dengan While
Pada pengulangan dengan For, banyaknya pengulangan diketahui dengan pasti
karena nilai awal (start) dan nilai akhir (end) sudah ditentukan diawal pengulangan.
Bagaimana jika kita tidak tahu pasti harus berapa kali mengulang? Pengulangan dengan
While merupakan jawaban dari permasalahan ini. Seperti halnya For, struktur
pengulangan dengan While juga merupakan struktur yang didukung oleh omput semua
bahasa pemrograman namun dengan sintaks yang berbeda.
Flowchart umum untuk struktur For tampak pada Gambar 5.15
Struktur While akan mengulang pernyataan pada badan loop sepanjang kodisi pada
While
bernilai benar. Dalam artian kita tidak perlu tahu pasti berapa kali diulang. Yang
penting
sepanjang kondisi pada While dipenuhi maka pernyataan pada badan loop akan diulang.
Flowchart umum untuk struktur While dapat dilihat pada Gambar Pada Gambar tampak
bahwasimbol preparasi untuk pengulangan seperti pada For tidak digunakan lagi.
Namun kitamenggunakan simbol decision untuk mengendalikan pengulangan. Selain
kondisi, biasanya pada pengulangan While harus dilakukan inisialisasi variabel terlebih
dahulu.
Pertemuan 12
Diagram Alir dan Struktur Data
Algoritma Squential Search
Metode pencaharian berurutan merupakan metode pencaharian data yang paling
mudah,secara garis besar metode ini bisa ditampilkan sebagian dari kumpulan data yang
diketahui datayang akan kita cari, kita bandingkan satu persatu sampai data yang kita
inginkan bertemu atau tidak ketemu dengan kumpulan data tersebut pada saat data yang
kita cari. Juga sudah ketemu maka proses pencaharian langsung kita hentikan, tetapi
data yang kita cari belum ketemu maka omputer kita teruskan sampai seluruh data
dibandingkan.Dalam kasus yang paling burung dengan vakton n elemen harus
dilakukan pencaharian sebanyak n kali pencarian.
Contoh :
5 7 9 10 50 70 6 12 8
Data yang dicari adalah : 70
Terdapat pada element : 6
Algoritma program searah :
Langkah :
a. Baca kumpulan data yang diketahui sebagai vektor A dengan n elemen
b. Baca data yang akan dicari, mis : 2
c. Tentukan i = 1
d. [proses mencari bandingan x dengan a (i)] jika x : a (i) data ketemu pergi ke
langkah s
e. [ test 1]
f. jika i > n [data tidak ketemu] ke langkah s jika tidak, tentukan: i = E + i kembali
kelangkah 3
a. Tampilkan pesan yang sesuai dan selesai
Algoritma Gelembung (Buble Short)
Untuk menampilkan untuk menampilkan nilai paling kecil diletakkan diawal data.
Algoritma diaplikasikan untuk mencari data yang paling kecil. Dalam suatu individu
dan tidak mencari nilai data pengolahan dilakukan untuk n-1, x suatu exservasi untuk
mencapatkan nilai terkecil.
Misalnya datanya : 23, 45, 12, 24, 56, 34, 27, 23, 16;
Langkah-Langkah
a. a (1) dengan a (2) 23 dengan 45 → Tetap
b. a (1) dengan a (3) 12 dengan 12 → Tukar
c. a (1) dengan a (4) 12 dengan 24 → Tetap
d. a (1) dengan a (5) 12 dengan 56 → Tetap
e. a (1) dengan a (6) 12 dengan 34 → Tetap
f. a (1) dengan a (7) 12 dengan 27 → Tetap
g. a (1) dengan a (8) 12 dengan 23 → Tetap
h. a (1) dengan a (9) 12 dengan 16 → Tetap
i. Hasil : 12, 23, 45, 24, 56, 34, 27, 23, 16
Shorting
Pertimbangan akan melakukan shorting.
Hal-hal yang akan dipertimbangkan adalah :
1. Perlu tidaknya data disorting
2. Besarnya atau banyaknya data yang akan dishorting
3. Kemampuan atau kapasitas komputer atau penyimpanan datanya
4. Metode shorting
Tehnik-tehnik shorting.
Pada garis besarnya ada 3 tehnik sorting :
1. Insortion Sort (Sorting penyisipan)
Tehnik ini adalah dengan membandingkan elemen n ( n mulai dari 2 hingga elemen
terakhir) dengan elemen-elemen sebelumnya.
Contoh : 8, 3, 7, 4
8, 7, 8, 4 (awal) → 4 banding 8 → Tukar
Hasil : 3, 4, 7, 8 → 4 banding 7 → Tukar
Hasil : 3, 4, 7, 8 → 4 banding 3 → Tetap
Hasil : 3, 4, 7, 8 (akhir)
2. Selection Sort (Sorting Pemilihan)
Tehnik ini adalah mencari elemen terkecil kemudian letakkan dan tukar dengan posisi
ke n (n mulai dari 1 hingga elemen terakhir –n)
Contoh : 8, 3, 7, 4
Pada langkah pertama hasil sortirnya : 3, 8, 7, 4 (mulai dari elemen pertama, elemen
terkecil = 3, letakkan dan tukar dengan elemen pertama)
Pada langkah kedua hasil sortirnya : 3, 4, 7, 8 (mulai dari elemen ke 2 elemen terkecil
= 4, letakkan dan tukar dengan elemen ke 2
Pada langkah ke 3 hasil sortirnya : 3, 4, 7, 8 (mulai dari elemen ke 3 elemen terkecil =
7, letakkan dan tukar dengan elemen ke 3)
3. Exchange Sort (Shorting Penukaran)
Contoh sotir umumnya yang menggambarkan exchange sort adalah Bubble short.
Algoritma dari tehnik ini adalah dengan melakukan proses perbandingan sebanyak n
elemen dari n = 1 (selanjutnya dimulai = 1) bandingkan seluruh elemen dimulai dari
elemen sebelah kanan ke n. Bila elemen tersebut lebih kecil dari, maka lakukan dari,
maka lakukan penukaran tempat. Lakukan elemen mulai +1 seperti proses sebelumnya
hingga nilai mulai +1 = n
Contoh : 8, 7, 6, 5, 4
Proses 1 :
- Bandingkan 8 (elemen pertama) dengan 7 (elemen kedua) hasilnya : 7, 8, 6, 5, 4
- Bandingkan 7 (elemen pertama) dengan 6 (elemen ketiga) hasilnay : 6, 8, 7, 5, 4
- Bandingkan 6 (elemen pertama) dengan 5 (elemen ketiga) hasilnay : 5, 8, 7, 6, 4
- Bandingkan 5 ( elemen pertama) dengan 4 (elemen keempat) hasilnya : 4, 8, 7, 6, 5
(urutan 1 telah diperoleh)