sro-sep.rusro-sep.ru/img/Plan_proverok_2012.pdf3ao pemkom-c oìÍ» 44. 45. 46. 47. 48. 49. 50. 51.…
pemkom
-
Upload
jendri-mamangkey -
Category
Documents
-
view
319 -
download
0
Transcript of pemkom
Program Menghitung Jumlah Bilangan Perulangan FOR Dengan Nilai StatisSkrip Program Pascal Output Program12345678910111213141516171819202122232425
program jum_bil; uses wincrt; var
i, jum,bil: integer;
begin
jum:=0; {inisialisasi}
for i:=1 to 5 do begin
write('Masukkan Bilangan = ');readln(bil);
jum:=jum+bil;
end;
writeln('Jumlah Bilangan = ',jum);
end.
Masukkan Bilangan = 12
Masukkan Bilangan = 12
Masukkan Bilangan = 12
Masukkan Bilangan = 12
Masukkan Bilangan = 12
Jumlah Bilangan = 60
Program Menghitung Jumlah Bilangan Perulangan FOR Dengan Nilai DinamisSkrip Program Pascal Output Program1 program jum_bil2; Banyak bilangan : 3
2345678910111213141516171819202122232425262728
uses wincrt; var
i, n: integer;
jum, bil: real;
begin
write(‘Banyak bilangan : ');read(n);
jum := 0;
For i:= 1 to n do begin
write('Masukkan Bilangan ',i, '=');read(bil);
jum := jum+bil;
end;
writeln('Jum = ',jum:0:2);
end.
Masukkan Bilangan 1 = 12
Masukkan Bilangan 2 = 13
Masukkan Bilangan 3 = 14
Jum = 39.00
29Program Menghitung Jumlah dan Mean Bilangan Perulangan FOR Dengan Nilai DinamisSkrip Program Pascal Output Program123456789101112131415161718192021222324252
program contoh_3; uses wincrt; var
n, i : integer;
rata : real;
jum, bil : integer;
begin
Write('Masukkan nilai N = ');readln(n);
writeln ('Nilai N adalah= ',n);writeln;
for i := 1 to n do begin
write('Masukkan bilangan : ');read(bil);
jum := jum+bil;
end;
rata := jum/n;writeln;
writeln('Jumlahnya adalah : ',jum);
writeln('Nilai rata-ratanya :', rata:0:2);
end.
Masukkan nilai N = 3
Nilai N adalah= 3
Masukkan bilangan: 1
Masukkan bilangan: 2
Masukkan bilangan: 3
Jumlahnya adalah : 6
Nilai rata-ratanya : 2.00
6272829303132333435Program Menghitung Jumlah dan Banyaknya DataScript Program Pascal Output Program Pascal1234567891011121314151617
program contoh4; uses wincrt; var
n, i,byk,jum, bil : integer;
begin
Write('Masukkan nilai perulangan : ');readln(n);
Writeln;
for i := 1 to n do begin
write('Bilangan ',i,' = ');read(bil);
if bil >= 10 then begin
byk := byk+1;
jum := jum+bil ;
Masukkan nilai perulangan: 3
Bilangan 1 = 10
Bilangan 2 = 3
Bilangan 3 = 25
Banyak bilangan yang >= 10 : 2
Jumlah bilangan yang >= 10 : 35
18192021222324252627282930313233343536373839
end;
end;
writeln;
writeln('banyak bilangan yang >= 10 : ',byk);
writeln('jumlah bilangan yang >= 10 : ',jum);
end.
jika tulisan ini kurang jelas, silakan ditanyakan atau kitabisa diskusikan bersama. Ada yang
kurang? Ada yang ingin ditambahkan? sampaikan aspirasi Anda. hhe…
Kode Program:
program jumlah_perkalian_deret(faktorial);
var
i : integer;
batas : integer;
jumlah : integer;
begin
write('masukan Batas= '); readln (batas);
jumlah := 1;
i := 0;
repeat
i := i + 1;
write(i:2 ,'x' :2);
jumlah := jumlah * i;
until i = batas;
writeln('= ',jumlah);
readln;
end.
Hasil Program:
Selamat Mencoba,, semoga berhasil... ^_^
4 komentar :
1.
Rokhana Rusdiati 27 Januari 2013 07.57
Terima kasih...
Balas
2.
afri zulkarnain 7 Februari 2013 14.19
Sama2.. mkasi y udah mampir.. :)
Balas
3.
Yunni Samali 11 Juni 2013 07.46
ada gak contoh Stack yg pake pascal?? ada tugas nih... pusing. tolong d bales ya
Balas
4.
Yunni Samali 11 Juni 2013 07.47
ada gak contoh Stack yg pake pascal?? ada tugas nih... pusing. tolong d bales ya
Balas
Muat yang lain...
Silahkan tinggalkan komentar anda tentang tulisan ini...
Popular Posts Blog Archive
Contoh Program QUEUE
Berikut ini saya akan memberikan sebuah contoh program antrian (Queue) dalam bahasa C++,, dan langsung saja Listing Programnya yaitu:...
Contoh Program STACK
Berikut ini saya akan memberikan sebuah contoh program Stack dalam bahasa C++,, dan langsung saja Listing Programnya yaitu: #includ...
10 Hal tentang CR7 yang perlu anda ketahui
Tidak diragukan lagi Cristiano Ronaldo kini telah menjadi salah satu pemain sepak bola yang paling populer dengan jutaan penggemar me...
Support By
Frend's Link
Tunas And35ka BBS Amri Dino Oxy
About Me
afri zulkarnain Lihat profil lengkapku
Copyright 2011 Afri Zulkarnain
^^pemkom
About these ads
Contoh Program Pascal : Menghitung jumlah dari 5 bilangan (for ) Ini adalah program sederhana dengan perulangan for untuk menghitung jumlah dari 5 bilangan yang dimasukkan. program jumlah_bilangan;uses wincrt;vari, jum,bil: integer;beginjum:=0; {inisialisasi}for i:=1 to 5 dobeginwrite(‘Masukkan Bilangan = ‘);readln(bil);jum:=jum+bil;end;writeln(‘Jumlah Bilangan = ‘,jum);end.
Tags : Pascal, Contoh program pascal, perulangan for, penjumlahan 5 bilangan.
Buat program untuk mengubah Rp. 288.725,- menjadi pecahan dalam mata uang rupiah yg berlaku saat ini.
contoh: Layar Masukan : Sejumlah uang = Rp. 288575 Layar Keluaran : 2 lembar seratus ribuan 1 lembar lima puluh ribuan 1 lembar dua puluh ribuan 1 lembar sepuluh ribuan 1 lembar lima ribuan 1 lembar dua ribuan 0 keping seribuan 1 keping lima ratusan 0 keping seratusan 1 keping limapuluhan Sisa Rp. 25,-
Program Pecahan_Uang;{I.S. : diberikan sejumlah uang}{F.S. : menampilkan pecahan uang dalam mata uang rupiah yang berlaku saat ini}
var uang,jumlah:longint;begin uang:=288575; write('Rp. ',uang,',-');readln; write('Pecahan dalam Mata Uang Rupiah yang Berlaku Saat Ini');readln; useclrscr if uang>=100000 then begin jumlah:=uang div 100000; writeln(jumlah,' lembar seratus ribuan'); uang:=uang mod 100000; end; begin jumlah:=uang div 50000; writeln(jumlah,' lembar lima puluh ribuan'); uang:=uang mod 50000; end; begin jumlah:=uang div 20000; writeln(jumlah,' lembar dua puluh ribuan'); uang:=uang mod 20000;
end; begin jumlah:=uang div 10000; writeln(jumlah,' lembar sepuluh ribuan'); uang:=uang mod 10000; end; begin jumlah:=uang div 5000; writeln(jumlah,' lembar lima ribuan'); uang:=uang mod 5000; end; begin jumlah:=uang div 2000; writeln(jumlah,' lembar dua ribuan'); uang:=uang mod 2000; end; begin jumlah:=uang div 1000; writeln(jumlah,' lembar atau keping seribuan'); uang:=uang mod 1000; end; begin jumlah:=uang div 500; writeln(jumlah,' keping lima ratusan'); uang:=uang mod 500; end; begin jumlah:=uang div 200; writeln(jumlah,' keping dua ratusan'); uang:=uang mod 200; end; begin jumlah:=uang div 100; writeln(jumlah,' keping seratusan'); uang:=uang mod 100; end; begin jumlah:=uang div 50; writeln(jumlah,' keping lima puluhan'); uang:=uang mod 50; end; begin jumlah:=uang mod 50; writeln('Sisa Rp. ',jumlah,',-'); end; writeln;
readln;
end.
MODUL 1
KONSEP PEMPROGRAMAN
1.1 KONSEP PEMPROGRAMAN
“Algoritma” adalah urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis.
• “Algoritma” adalah urutan logis pengambilan putusan untuk pemecahan masalah (Balai
Pustaka, 988)
• Logis merupakan kata kunci dalam algoritma.
• Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah
atau benar.
Algoritma TUKAR_ISI_BEJANA
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi
larutan berwarna biru. Pertukaran isi kedua bejana itu sedemikian sehingga bejana A berisi
larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI
1. Tuangkan larutan dari bejana A ke dalam bejana B.
2. Tuangkan larutan dari bejana B ke dalam bejana A.
Algoritma
Dalam Kehidupan Sehari-hari
• Cara-cara membuat kue
• Cara-cara membuat masakan
• Cara-cara memprogram perkuliahan
• Cara-cara mendaftar Tugas Akhir
• Cara mengendara sepeda motor
• Dll.
Proses Algoritma Contoh Langkah dalam
Algoritma
1. Membuat Kue Resep Kue …,Masukkan telur ke
dalam nampan, kocok
hingga mengembang,…
2. Membuat Pakaian Pola Pakaian ..., gunting kain dari
Algoritma TUKAR_ISI_BEJANA
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukaran isi kedua bejana itusedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI
1. Tuangkan larutan dari bejana A ke dalam bejana C.2. Tuangkan larutan dari bejana B ke dalam bejana A.3. Tuangkan larutan dari bejana C ke dalam bejana B.
Bejana A Bejana B Bejana C
pinggir bawah ke arah
kanan sejauh 5 cm,…
3. Praktikum Fisika Panduan Praktikum …, Siapkan alat,
hubungkan dengan catu
daya, nyalakan,…
4. Merakit Mobil Panduan Merakit …, sambungkan
komponen A dengan
komponen B,….
5. Kegiatan sehari-hari Jadual Harian …, pukul 15.00 : tidur
siang, pukul: 18.00:
kencan,…
6. Memainkan Musik Papan Not Balok Not balok.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut.
Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru
masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu
berdasarkan papan not balok.
Karena itu, suatu Algoritma harus dinyatakan dalam bentu yang dapat dimengerti oleh
pemroses. Jadi pemroses harus :
• Mengerti setiap langkah dalam Algoritma.
• Mengerjakan operasi yang bersesuaian dengan langkah tersebut
Mekanisme Pelaksanaan Algoritma Oleh Pemroses (Komputer)
• Algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan
program
• Program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam
bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.
Belajar Memprogram
Dan Bahasa Pemrograman
• Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
• Belajar Pemrograman adalah belajar memakai suatu bahasa, aturan-aturan tata
bahasanya.
Belajar Memprogram
• Belajar memprogram ≠ belajar bahasa pemrograman.
• Belajar memprogram: belajar strategi pemecahan masalah, metodologi, dan sistematika
pemecahan masalah. kemudian menuliskannya dalam notasi yang disepakati bersama.
• Belajar memprogram: bersifat pemahaman persoalan, analisis dan sintesis.
• Belajar memprogram, titik berat : design program.
Belajar Bahasa Pemrograman
• Belajar Bahasa Pemrograman: balajar memakai suatu bahasa pemrograman, aturan
sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa.
• Belajar bahasa pemrograman, titik berat: Coder.
Produk yang dihasilkan Pemrograman
• Program dengan rancangan yang baik (metodologis, sistematis)
• Dapat dieksekusi oleh mesin.
• Berfungsi dengan benar.
• Sanggup melayani segala kemungkinan masukan.
• Disertai dokumentasi.
Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu computer yang
diacu dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan
ilmu komputer saja. Dalam kehidupan sehari-haripun banyak terdapat
proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang
dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu
ada urutan langkah-lankah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat
dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan
membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses
sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses
(processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alatalat
elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau
“mengeksekusi” algoritma yang menjabarkan proses tersebut.
Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut.
Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru
masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu
berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang
dapat dimengerti oleh pemroses. Jadi suatu pemroses harus :
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Mekanisme Pelaksanan Algoritma Oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma
hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Jadi program adalah prwujudan atau implementasi teknis Algoritma yang ditulis dalam bahasa
pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer. Belajar Memprogram Dan
Belajar Bahasa Pemrograman Belajar memprogram tidak sama dengan belajar bahasa
pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah,
kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
Sedangakan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan
tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan
memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam
bahasa itu saja.
Sampai saat ini terdapat puluhan bahasa pemrogram. Yang dapat dibedakan berdasarkan
tujuan dan fungsinya. Diantaranya adalah :
Belajar Memprogram
• Belajar memprogram ‚ belajar bahasa pemrograman�
• Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan
sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang
disepakati bersama
• Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis
• Belajar memprogram, titik berat : designer program
Belajar Bahasa Pemrograman
• Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan
sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa
• Belajar bahasa pemrograman , titik berat : coder
Produk yang dihasilkan pemrogram :
• program dengan rancangan yang baik (metodologis, sistematis)
• Dapat dieksekusi oleh mesin
• Berfungsi dengan benar
• Sanggup melayani segala kemungkinan masukan
• Disertai dokumentasi
• Belajar memprogram, titik berat : designer program
Programming
Language Paradigm
Imperative Declarative
Algoritma
Aksi :
– kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan
berakhir pada saat T1)
– Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan
Contoh :
– Ibu Tati mengupas kentang untuk mempersiapkan makan malam..(luas
ruang lingkupnya)
– Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek netto yang
direncanakan ( Initial State dan Final State)
– Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan ditaruh di rak
dapur dimana ibu Tati akan mengupasnya
– Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci, siap untuk
dimasak dan kantong kertasnya harus dikembalikan ke rak lagi.
– Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.
– Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian
– Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari
sudut pandang. Contoh mengupas kentang dapat dijelaskan :
Ambil kantong kentang dari rak
Ambil panci dari almari
Kupas kentang
Kembalikan kantong kentang ke rak
– Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentang
diambil dari rak sebelum ambil panci) :
Ambil kantong kentang dari rak dan ambil panci dari almari
Kupas kentang Kembalikan kantong kentang ke rak
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan kita mengamati
hal-hal yang sama, apakah hal tsb bisa disebut sama ?
Ini tergantung jawabannya bisa sama bisa tidak. Tidak karena ibu Tati tidak mungkin mengupas
kentang yang sama dengan kemarin Sama karena kemiripan pola yang dilakukan Notasi
Algoritma Independen Terhadap Bahasa Pemrograman Dan
Mesin Komputer Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman. Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis
dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain sebagainya.
Apapun bahasanya, kue yang dihasilkan tetap sama asalkan semua aturan pada resep diikuti.
Mengapa demikian ? Karena setiap juru masak (sebagai pemroses) dapat melakukan operasi
dasar yang sama, seperti mengocok telur, menimbang berat gula, dan lain sebagainya.
Demikian juga halnya dengan komputer. Meskipun setiap komputer berbeda teknologinya,
tetapi secara umum semua komputer dapat melakukan operasi-operasi dasar dalam
pemrograman seperti operasi pembacaan data, operasi perbandingan, operasi aritmatika,
dan sebagainya. Perkembangan teknologi komputer tidak mengubah operasi-operasi dasar it,
yang berubah hanyalah kecepatan, biaya, atau tingkat ketelitian. Pada sisi lain setiap program
dalam bahasa tingkat tinggi selalu diterjemahkan kedalam bahasa mesin sebelum
akhirnya dikerjakan oleh CPU. Setiap instruksi dalam bahasa mesin menyajikan operasi dasar
yang sesuai, dan menghasilkan efek netto yang sama pada setiap komputer.
Pemrograman Prosedural, Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini
berarti Algoritma adalah proses yang procedural.
Definisi Prosedural menurut Kamus Besar Bahasa Indonesia :
1. Tahap-tahap kegiatan untuk menyelesaikan suatu aktivitas.
2. Metode langkah demi langkah secara eksak dalam memecahkan suatu masalah.
Pada pemrograman procedural, program dibedakan antara bagian data dengan bagian
instruksi. Bagian instruksi terdiri atas runtutan (sequence) instruksi yang dilaksanakan satu per
satu secara berurutan oleh pemroses. Alur pelaksanaan instruksi dapat berubah karena adanya
pencabangan kondisional. Data yang disimpan di dalam memori dimanipulasi oleh instrusi
secara beruntun atau procedural. Paradigma pemrograman seperti ini dinamakan
pemrograman procedural. Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran
dan C mendukung
kegiatan pemrograman procedural, karena itu mereka dinamakan juga bahasa procedural.
Selain paradigma pemrograman procedural, ada lagi paradigma yang lain yaitu pemrograman
berorientasi objek (Object Oriented Programming). Paradigma pemrograman
ni merupakan trend baru dan sangat populr akhir-akhir ini.
Paradigma pemrograman yang lain adalah pemrograman fungsional, pemrogramn deklaratif
dan pemrograman konkuren. Pada kesempatan ini penulis hanya menyajikan paradigma
pemrograman procedural saja.
CONTOH KASUS
Aksi :
– kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan
berakhir pada saat T1)
– Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan
Contoh :
– Ibu Tati mengupas kentang untuk mempersiapkan makan malam..(luas
ruang lingkupnya)
– Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan
efek
netto yang direncanakan ( Initial State dan Final State)
– Initial State (keadaan awal) : T0 kentang sudah ada dikantong kentang, dan
ditaruh di rak dapur dimana ibu Tati akan mengupasnya
– Final State (keadaan akhir) : T1 kentang dalam keadaan terkupas di panci,
siap untuk dimasak dan kantong kertasnya harus dikembalikan ke rak lagi.
– Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.
– Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian
– Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari sudut pandang.
Contoh mengupas kentang dapat dijelaskan :
Ambil kantong kentang dari rak
Ambil panci dari almari
Kupas kentang
Kembalikan kantong kentang ke rak
– Contoh lain (jika tidak dipandang perlu untuk menjelaskan kantong kentang
diambil dari rak sebelum ambil panci) :
Ambil kantong kentang dari rak dan ambil panci dari almari
Kupas kentang
Kembalikan kantong kentang ke rak
Jika esok hari ibu Tati mengupas kentang lagi untuk makan malam juga, dan
kita mengamati hal-hal yang sama, apakah hal tsb bisa disebut sama ?
Ini tergantung jawabannya bisa sama bisa tidak.
Tidak karena ibu Tati tidak mungkin mengupas kentang yang sama dengan
kemarin
Sama karena kemiripan pola yang dilakukan
sebagainya.
CONTOH SOAL
MODUL 2
2.1 Dasar-Dasar Pemrograman
Ciri penting algoritma :
• Algoritma harus berhenti setelah mengerjakan
sejumlah langkah terbatas.
• Setiap langkah harus didefinisikan dengan
tepat dan tidak berarti-dua (Ambiguitas).
• Algoritma memiliki nol atau lebih masukkan.
• Algoritma memiliki nol atau lebih keluaran.
• algoritma harus efektif (setiap langkah harus
sederhana sehingga dapat dikerjakan dalam
waktu yang masuk akal).
Memprogram dan bahasa pemrograman:
• Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian
menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami.
• Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya,
instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang
ditulis dalam bahasa itu saja.
Notasi Algoritma
• Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer
yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat
diterjemahkan ke dalam berbagai bahasa pemrograman
Notasi algoritma
• Notasi algoritma dapat berupa :
– Uraian kalimat deskriptif (narasi)
Contoh
Algoritma Kelulusan_mhs
Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka
mahasiswa tersebut dinyatakan lulus jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa. jika nilai >= 60 maka keterangan = lulus tetapi jika keterangan
= tidak lulus. tulis nama dan keterangan
Bagan alir (flow chart). Bagan alir (flow chart).
Keterangan = ' Lulus' Mulai baca
Nama, nilai
Nilai >= 60
Keterangan = ' Tidak Lulus'
Selesai
Tulis
Nama, keterangan
ya
tidak
Pseudo-code.
Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka
mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus}
DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)
Aturan Penulisan Teks algoritma Aturan Penulisan Teks algoritma
• Judul algoritma
Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut.
Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
• Deklarasi
Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut
dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
• Deskripsi
Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan
menggunakan notasi yang akan dijelaskan selanjutnya
Algoritma Luas_Kell_Lingkaran {<- ini judul algoritma}
{menghitung luas dan keliling lingkaran untuk ukuran jari-jari tertentu. Algoritma menerima
masukan jari-jari lingkaran, menghitung luas dan kelilingnya, dan mencetak luas lingkaranke
piranti keluaran <- ini spesifikasi algoritma}
DEKLARASI :
const phi = 3.14 {nilai ? }
R : real {jari-jari lingkaran}
Luas : real {luas lingkaran}
Keliling : real {keliling lingkaran}
DESKRIPSI :
read (R)
Luas <- phi * R *R
Keliling <- 2 * phi * R
write(luas, keliling)
Tipe data dalam Java:
Primitive types: tipe boolean, char, numerik
Reference types: class (termasuk String, Integer), array.
Apa perbedaan antara primitive and reference type?
Apakah operator?
Berdasarkan jumlah dari operands:
Unary
Binary
Berdasarkan operasi yang dilakukannya:
Arithmatic
Logical
Apakah itu expression?
Apakah output dari potongan program berikut?
int ii = 1;
int jj = 2;
double a = (ii + 1) / (jj + 1);
double b = (double) (ii + 1) / (jj + 1);
double c = (ii + 1) / (double) (jj + 1);
double d = (ii + 1.0) / (jj + 1.0);
System.out.println (a + " " + b);
System.out.println (c + " " + d);
Perlu diingat:
Tipe data dari sebuah ekspresi bergantung pada operator dan tipe data dari
operands.
Urutan evaluasi sebuah ekspresi bergantung pada tingkat precedence operator.
Jika dua buah operators memiliki tingkat precedence yang sama, lihat pada
associativity operatornya:
• LR: Left to Right
• RL: Right to Left
Branch (cabang)
Digunakan untuk memilih perintah mana yang akan dijalankan berdasarkan
kondisi tertentu.
Loop (pengulangan)
Suatu kelompok program dijalankan secara berulang. Kondisi berhenti
menyatakan berapa kali pengulangan dijalankan.
if (condition)
{
statement; if (condition)
{
statement1
}
else
{
statement2
}
next statement
}
next statement
Kesalahan umum:
if (x == 0);
System.out.println (“x is zero”);
if (x > 0)
System.out.println (“x = “);
System.out.println (x);
testExpr ? yesExpr : noExpr
Berguna untuk menyederhanakan perintah if-then-else sederhana
Contoh:
if (x > 100){
y = x * 0.9;
} else {
y = x;
}
Setara dengan:
y = (x > 100) ? (x * 0.9) : x;
while (condition){
statement;
}
/* Post condition: ~condition */
Selama nilai ekspresi condition true, maka statement akan dijalankan, kemudian
ekspresi condition akan dievaluasi lagi.
Saat nilai expression condition false, pengulangan berhenti. Perintah statement tidak
lagi dijalankan.
Ingat: condition dievaluasi lebih dulu!
do {
statement;
...
} while (condition);
/* Post condition: ~condition */
statement dijalankan lebih dulu, kemudian condition dievaluasi.
Jika kondisi true statement dijalankan lagi.
Jika kondisi false loop berhenti.
Minimal statement dijalankan sekali.
for (initialization; condition; update) {
statement;
}
setara dengan perintah while berikut:
initialization;
while (condition) {
statement;
update;
}
for digunakan bila kita sudah tahu berapa banyak pengulangan yang akan dilakukan.
Class
Class memiliki:
Detail implementasi (blue print) dari sebuah object yang akan dibuat
bayangkan sebuah object factory.
Class juga menyimpan static methods dan static variables dari object yang
akan dibuat.
Class menyatakan detail implementasi object
Seluruh method dan fields
code untuk method yang akan menentukan perilaku dari object.
Berdasarkan definisi class object dibuat
Field
Menyimpan status dari object atau class
Terdapat dua jenis field:
Instance variable
• Tiap object punya nilai variable masing-masing object variable
Static variable
• Satu class hanya punya satu nilai variable, walaupun class tersebut
memiliki beberapa object class variable
Array
Deklarasi Array (array adalah object juga)
int [] array1;
ingat: mendeklarasikan sebuah reference variable tidak berarti mengalokasikan
memory dan membuat object.
Membuat array
array1 = new int[100];
int[] array2 = { 2, 3, 7, 5 };
Untuk mengakses element dalam array, gunakan index
array1[0] = 20;
Karena array adalah object juga, operator = tidak mengcopy(clone) array.
int[] lhs = new int[100];
int[] rhs = new int[100];
...
lhs = rhs;
Exceptions
Exception menyatakan bahwa sebuah “kejadian aneh” telah terjadi.
Sebuah object Exception menyimpan informasi tentang keanehan tersebut.
throw “menandakan” keanehan
catch tindakan “mengatasi” keanehan
Error vs. Exception
Error kesalahan fatal, mis: out of memory
Exception masih bisa “dibetulkan”, mis: EOFException,
ArrayIndexOutOfBoundException.
Overloading
Memakai nama sama untuk method berbeda
Method-method ini dibedakan berdasarkan signature-nya:
Jumlah parameter
Tipe parameter
Urutan parameter
Perhatikan bahwa signature tidak tergantung
Nama parameter
Return type
Overloading ditangani pada saat kompilasi (static binding)
Overriding
Sebuah method yang memiliki nama dan signature yang sama dengan method
dari superclass.
Method dari subclass dikatakan meng-override method dari superclass.
Ditangani pada saat runtime (dynamic binding): instance type menentukan
method mana yang digunakan.
Polymorphism
Dalam mendefinisikan method untuk sebuah subclass, ada tiga kemungkinan:
override a method from the superclass: Nama dan signature sama dengan
method milik superclass.
inherit method from the superclass: Methods yang tidak ditulis ulang otomatis
akan diturunkan kepada seluruh subclass.
create a new method: Nama dan signature berbeda dengan method milik
superclass
Interface
Sebuah class hanya boleh meng-extend satu superclass, tapi boleh meng-implement
banyak interface.
Ketika meng-extend superclass, sebuah class mewarisi interface (definisi method) dan
juga implementasinya.
Ketika meng-implement interface, sebuah class hanya mewarisi interface (definisi
method).
Contoh: sifat generik “comparable” didefinisikan di dalam sebuah interface:
public interface Comparable {
public int compareTo (Object ob);
}
compareTo mengembalikan:
• <0: object this “lebih kecil” dari parameter ‘ob’
• 0: object this sama nilainya dengan parameter ‘ob’
• >0: object this “lebih besar” dari parameter ‘ob’
Contoh: interface
public class CircleComparable extends Circle
implements Comparable
{
public CircleComparable (double r)
{super (r);}
public int compareTo (Object other)
{
CircleComparable otherCircle =
(CircleComparable) other;
if (radius < otherCircle.getRadius ())
{return -1;}
else if (radius > otherCircle.getRadius ())
{return 1;}
else
{return 0;}
}
}
MODUL 3
5. Operator Logika
Operator Relasi digunakan untuk menghubungkan dua buah operasi relasi menjadi sebuah
ungkapan kondisi. Hasil dari operator logika ini menghasilkan nilai numerik 1 (True) atau 2
(False).
Operator Keterangan
&&
||
!
Operator Logika
AND
Operator Logika
OR
Operator Logika NOT
a. Operator Logika AND
Operator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan
dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
b. Operator Logika OR
Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan
dianggap BENAR, bila
salah satu ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua ekspresi relasi
yang dihubungkan bernilai SALAH, maka akan bernilai SALAH. Manipulator
c. Operator Logika NOT
Operator logika NOT akan memberikan nilai kebalikkandari ekspresi yang disebutkan. Jika nilai
yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya.
Berikan Contoh Program Sederhana
MODUL 4
4.1 Pengulangan/Looping
1.Pengulangan Dengan For…Next
Pengulangan proses menggunakan For…Next adalah bentuk pengulangan
terkendali dengan variabel kendali yang terus berjalan maju atau mundur. Format
penulisan pengulangan ini adalah sebagai berikut:
For variabel = nilai_awal To nilai_akhir [Step langkah]
<Proses dalam pengulangan>
Next variable
Contoh 1:
Untuk menentukan barisan bilangan 1, 2, 3, …., 10 maka bilangan mempunyai nilai
awal = 1, nilai akhir=10 dan step antar bilangan = 1, sehingga bisa ditulis dengan
For bilangan=1 To 10 Step 1
<Proses untuk barisan bilangan>
Next bilangan
Karena step=1, maka secara default tidak perlu dituliskan sehingga perintahnya
bias ditulis dengan:
For bilangan=1 To 10
<Proses untuk barisan bilangan>
Next bilangan
Contoh Aplikasi 5.1:
Untuk menampilkan barisan bilangan 1 sampai dengan N, dengan N dimasukkan.
Hasil barisan ditampilkan pada Label.
(1) Buat project baru. Pada form, isi property [Name] dengan formLatihan51
(2) Tambahkan komponen-komponen: 1 label, 1 textbox, 1 buah listBox dan 1
command button
(3) Untuk label1, isi property [Caption] dengan ”N=”. Untuk textbox1,
kosongkan property [Text]. Untuk command1, isi property [Caption] dengan
Barisan. Atur posisi masing-masing komponen seperti gambar 5.1. berikut:
Gambar 5.1. Tampilan latihan 5.1
(4) Click pada command1, tambahkan program untuk membuat barisan bilangan
dari 1 sampai dengan N sebagai berikut:
Private Sub Command1_Click()
N = Val(Text1)
List1.Clear
For i = 1 To N
List1.AddItem i
Next i
End Sub
Fungsi Val digunakan untuk mengubah tipe data text menjadi tipe data
numerik, sedangkan fungsi Str digunakan untuk mengubah tipe data numeric
menjadi tipe data text. Property clear pada List1 digunakan untuk membersihkan isi
list1, dan property AddItem pada List1 digunakan untuk menambahkan isi list1.
Dengan demikin sebelumnya dibersihkan, kemudian ditambah isinya dengan
barisan bilangan yang dibuat.
(5) Simpan project dengan nama projectLatihan51. jalankan dan coba isi N yang
berbeda-beda, perhatikan hasilnya.
Contoh 2:
Menampilkan barisan bilangan 20, 19, 18, ...., 3, 2, 1 dapat dilakukan dengan:
For bilangan=20 To 1 Step -1
List1.AddItem bilangan
Next bilangan
Contoh 3:
Menampilkan barisan bilangan 1, 4, 7, 10, 13, 16, 19, 22, .... 3N+1 dapat dilakukan
dengan:
For bilangan=0 To N Step -1
List1.AddItem 3*bilangan+1
Next bilangan
Contoh Aplikasi 5.2:
Untuk menampilkan huruf A sampai dengan Z menggunakan pengulangan
For..Next,
dapat dilakukan dengan langkah=langkah sebagai berikut:
(1) Buat project baru. Pada form, isi property [Name] dengan formLatihan52
(2) Tambahkan komponen-komponen: 1 buah listBox dan 1 command button
(3) Untuk command1, isi property [Caption] dengan Alfabet. Atur tampilannya
seperti gambar 5.2 berikut.
Gambar 5.2. Tampilan latihan 5.2
(4) Click pada command1, tambahkan kode untuk menampilkan barisan alfabet
menggunakan For..Next. Teknik yang digunakan adalah menggunakan kode
ASCII untuk masing-masing karakter, dimana kode ASCII untuk ’A’ adalah 65,
dan demikian seterusnya kode ASCII ditambah satu-persatu sampai 26 kali.
Private Sub Command1_Click()
List1.Clear
For i = 1 To 26
kodeASCII = 64 + i
List1.AddItem Chr(kodeASCII)
Next i
End Sub
Fungsi CHR adalah fungsi untuk mengambil karakter dari kode ASCII.
(5) Simpan project dengan nama projectLatihan52. Jalnkan untuk mengethaui
apakah hasilnya sudah benar atru tidak.
Contoh 4:
Menampilkan barisan fibbonanci sampai N kali (N bilangan bulat positif) dimana
nilai saat ini adalah jumlah dari nilai dua suku sebelumnya. Contoh barisan
fibonanci: 1 1 2 3 5 8 13 21 34 ...
suku1=1
suku2=1
List1.AddItem suku1
List1.AddItem suku2
For i=3 To N
bil=suku1+suku2
List1.AddItem bil
suku1=suku2
suku2=bil
Next i
Contoh 5:
Menampilkan barisan bilangan kelipatan 3 yang lebih kecil dari 100 dan berhenti
saat bilangan tersebut juga kelipatan 7. Untuk menghentikan pengulangan
For..Next sebelum mencapai nilai akhir dapat dilakukan dengan perintah Exit For.
Modul Dasar Pemrograman 2 Dengan Visual Basic 50
For i=3 To 100 Step 3
If i mod 7 = 0 then Exit For
Next i
Contoh 6:
Menampilkan barisan N bilangan yang berganti-ganti 1 dan -1 seperti :
1 -1 1 -1 1 -1 1 -1 .....
adalah sebagai berikut:
bilangan = -1;
List1.Clear
For i=1 To N
bilangan = -1 * bilangan
List1.AddItem bilangan
Next i
Atau dengan cara:
List1.Clear
For i=1 To N
If i mod 2 = 0 then bilangan = -1 else bilangan = 1
List1.AddItem bilangan
Next i
Contoh 7:
Menampilkan barisan N bilangan yang berganti-ganti positif dan negatif seperti :
1 -2 3 -4 5 -6 7 -N .....
dapat dilakukan dengan cara mengalikan variable kontrol dari looping (i) dan
bilangan sebagai berikut:
List1.Clear
For i=1 To N
If i mod 2 = 0 then bilangan = -1 else bilangan = 1
List1.AddItem i*bilangan
Next i
2. Pengulangan Dengan While…Wend
Pengulangan dengan While... Wend adalah bentuk pengulangan terkendali
dengan proses akan diulang selama kondisi yang diberikan masih dipenuhi. Format
penulisan pengulangan ini adalah:
While <Kondisi>
<Proses selama kondisi dipenuhi>
Wend
Variabel kontrol pada jenis looping tidak otomatis bertambah/berkurang seperti
pada looping dengan For...Next, sehingga penambahan atau pengurangan nilai
dilakukan dengan menggunakan akumulator yang dituliskan dengan
var = var + step
Meskipun hal ini bukan suatu keharusan. Karena tidak setiap looping membutuhkan
akumulator, variabel yang terus-menerus bertambah atau berkurang.
Contoh 8:
Menampilkan bilangan bulat ganjil dari satu sampai dengan 11, ini merupakan
looping dengan akumulator yang dapat dituliskan sebagai berikut:
bilangan=1
While bilangan<=11
List1.AddItem bilangan
bilangan = bilangan + 2
Wend
Contoh 9:
Mencari nilai fungsi f(x) = - x2 + 3x – 2 dari x=-1 sampai dengan f(x) mendekati nol,
atau dalam arti |f(x)|<0.001, dengan step 0.01, dapat dituliskan dengan:
x = -1
fx = -x ^ 2 + 3 * x – 2
while abs(fx)>0.001
x=x+0.01
fx = -x ^ 2 + 3 * x – 2
wend
label1.Caption = fx
3. Pengulangan Dengan Do Loop Until
Pengulangan dengan Do Loop Until adalah bentuk pengulangan terkendali
dengan proses akan diulang sampai kondisi yang diberikan dipenuhi. Format
penulisan pengulangan ini adalah:
Do
<Proses selama kondisi belum dipenuhi>
Loop Until <Kondisi>
Contoh 10:
Menampilkan bilangan bulat ganjil dari satu sampai dengan 11, ini merupakan
looping dengan akumulator yang dapat dituliskan sebagai berikut:
bilangan=1
do
List1.AddItem bilangan
bilangan = bilangan + 2
Loop until bilangan>11
Contoh 11:
Mencari nilai fungsi f(x) = - x2 + 3x – 2 dari x=-1 sampai dengan f(x) mendekati nol,
atau dalam arti |f(x)|<0.001, dengan step 0.01, dapat dituliskan dengan:
x = -1
do
x=x+0.01
fx = -x ^ 2 + 3 * x – 2
loop until abs(fx) <= 0.001
label1.Caption = fx
4. Pengulangan Bertingkat
Pada contoh-contoh di atas, hanya dilakukan satu pengulangan. Padahal
dalam banyak aplikasi pemrograman menggunakan pengulangan yang lebih dari
satu misalkan pada pengolahan matrik, diperlukan pengulangan untuk baris dan
pengulangan untuk kolom pada setiap baris. Pengulangan yang adalah di dalam
pengulangan inilah yang dinamakan pengulangan bertingkat. Pengulangan
bertingkat secara umum dapat dituliskan dengan bentuk penulisan sebagai berikut:
Pengulangan 1
...............................................
Proses di dalam pengulangan 1
Pengulangan 2
.......................................
Proses dalam pengulangan 2
.......................................
Akhir pengulangan 2
...............................................
Akhir pengulangan 1
Contoh 12.
Menampilkan n baris dari barisan bilangan 1 2 3 4 5 sebagai berikut:
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
..............
Dapat ditulis dengan:
For baris = 1 To N
Kal=””
For i = 1 To 5
Kal = kal & str(i)
Next i
List1.AddItem kal
Next baris
Contoh 13.
Menampilkan 5 baris dari kombinasi barisan bilangan 1 2 3 4 5 sebagai berikut:
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Perhatikan bahwa pada baris ke 1 hasilnya adalah dari 1 sampai dengan 1, pada
baris ke 2 hasilnya adalah dari 1 sampai dengan 2, pada baris ke 3 hasilnya adalah
dari 1 sampai dengan 3. Sehingga dapat dikatakan untuk baris ke i hasilnya adalah
dari 1 sampai dengan i. Dan dapat dituliskan sebagai berikut:
For i = 1 To 5
kal = ””
For j=1 To i
kal = kal & str(j)
Next j
List1.AddItem kal
Next i
Contoh 12.
Menampilkan n baris dari barisan bilangan 1 2 3 4 5 sebagai berikut:
1 2 3 4 5
5 4 3 2 1
1 2 3 4 5
5 4 3 2 1
..............
Perhatikan bahwa pada baris ganjil hasilnya 1 2 3 4 5 dan pada baris yang genap
hasilnya adalah 5 4 3 2 1, maka perlu untuk mengetahui apakah baris itu baris
genap/ganjil untuk menentukan nilai awal, nilai akhir dan step. Dapat ditulis
dengan:
For baris = 1 To N
If baris mod 2 =0 Then
Awal = 1 : Akhir = 5
Langkah = 1
Else
Awal = 5 : Akhir = 1
Langkah = -1
End If
Kal=””
For i = awal To akhir Step langkah
Kal = kal & str(i)
Next i
List1.AddItem kal
Next baris
Contoh Aplikasi 5.3:
Membuat program untuk untuk menghitung N bilangan prima, definisi bilangan
prima adalah bilangan yang hanya habis dibagi oleh 1 dan bilangan itu sendiri atau
bisa dikatakan bahwa bilangan prima adalah bilangan yang tidak tidak habis dibagi
oleh bilangan 2 sampai sebelum bilangan itu sendiri.
(1) Buat project baru dengan StandardEXE
(2) Pada form1, isi property [Name] dengan formLatihan53.
(3) Tambahkan komponen-komponen: 1 buah label, 1 textbox, 1 listbox dan 1
command button.
(4) Isi porperty masing-masing komponen seperti tabel di bawah ini dan atur
posisinya seperti gambar 5.3 berikut
Komponen Property Nilai
Label1 Caption N =
Text1 Text (kosong)
Command1 Caption Bil Prima
Gambar 5.3. Tampilan latihan 5.3
(5) Click pada command1, tambahkan prorgam untuk membangkitkan N bilangan
prima pertama.
Private Sub Command1_Click()
n = Val(Text1)
List1.Clear
k = 0
bil = 2
While k < n
prima = True
For pembagi = 2 To bil - 1
If bil Mod pembagi = 0 Then prima = False
Next pembagi
If prima Then
List1.AddItem bil
k = k + 1
End If
bil = bil + 1
Wend
End Sub
(6) Simpan project dalam projectLatihan53.
Contoh 13:
Menampilkan hasil penjumlahan dari deret berikut:
1 + 2 + 3 + 4 + ... + N
dapat dilakukan dengan:
s=0
For i=1 To n
s = s + i
next i
Penulisan s=s+i dinamakan dengan akumulator, yaitu suatu variabel yang terus
menerus bertambah sesuai data. Akumulator ini banyak digunakan dalam penulisan
kode program dari rumus-rumus yang menggunakan jumlahan (sigma) sebagai
berikut:
‡”x
x f ) (
Contoh 14:
Menampilkan hasil penjumlahan dari rumus deret yang dituliskan dengan
‡”=
- =
n
x
x s
1
2 ) 1 (
dapat dilakukan dengan:
s=0
For x=1 To n
s = s + (x - 1) ^ 2
next x
5.5. Latihan
1. Buatlah program untuk menampilkan barisan N buah bilangan yang dimulai
dengan 1, bilangan kedua berselisih 1 dari bilangan pertama, bilangan ketiga
berselisih 2 dari bilangan kedua, ... bilangan ke n berselisih (n-1) dari bilangan ke n-
1 sebagai berikut:
1 2 4 7 11 16 22 ...
2. Sebuah obyek berjalan dari posisi x=0 sampai dengan x=10 dia kembali ke x=0,
kemudian di kembali x=10, dan demikian seterusnya sampai dia berputar (dari
x=0 kebali ke x=0) sebanyak N kali. Buatlah program untuk menampilkan posisi
obyek tersebut.
3. Buatlah program untuk menampilkan barisan N bilangan sebagai berikut:
1 -2 3 -4 5 -1 2 -3 4 -5 1 -2 3 ....
4. Buatlah program untuk menampilkan barisan N buah bilangan biner sebagai
berikut:
1 0 1 0 1 0 1 0 ...
5. Buatlah program untuk menampilkan barisan N buah bilangan biner sebagai
berikut:
1 0 0 0 1 0 0 0 1 0 0 0 ...
6. Buatlah program untuk menampilkan barisan N buah bilangan biner sebagai
berikut:
1 1 0 0 1 1 0 0 1 1 0 0 ...
7. Buatlah program untuk menampilkan nilai x yang berjalan dari 0 sampai 1
dengan step 0.1, dan y = x2 – 3x + 2.
Modul Dasar Pemrograman 2 Dengan Visual Basic 58
8. Buatlah program menampilkan n baris dari barisan bilangan sebagai berikut
1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 1
3 4 5 6 7 8 1 2
4 5 6 7 8 1 2 3
.............................
9. Buatlah program untuk menentukan dimana x dapat menyebabkan nilai fungsi
f(x) = x3 – 2x2 + x -1 menjadi |f(x)|<0.001 , dengan x berjalan dari -4 sampai
dengan 4 dengan step 0.01.
10. Buatlah program untuk menghitung rumus deret sebagai berikut:
‡”=
- =
10
0
2 ) 5 (
x
x s
11. Buatlah program untuk menghitung rumus deret sebagai berikut:
‡”‡”
= =
+ - =
10
0
10
0
) 1 (
y x
y x s
MODUL 5
5.1 ARRAY
Array adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama
yang sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu
dengan yang lain.
VARIABEL ARRAY
nama_variabel[indeks]
ketentuan nama variabel arrray sama dengan nama variabel biasa. indeks menunjukkan nomor
dari variabel .
DEKLARASI VARIABEL ARRAY
BU : tipe nama_variabel[indeks];
Contoh : float bil[10];
deklarasi variabel array dengan nama bil yang akan menampung 10 data yang bertipe
float. Indeks 10 menunjukkan variabel bil terdiri dari 10 elemen, dimana setiap elemen
akan menampung sebuah data.
Indeks array dimulai dari nol(0) , sedang nomor elemen biasanya dimulai dari satu(1). Nomor
elemen dapat dibuat sama dengan nomor indeks untuk mempermudah pembuatan program
yaitu dengan memberi indeks satu lebih banyak dari jumlah data yang dibutuhkan, sehingga
menjadi : float bil[11]
INISIALISASI ARRAY 1 DIMENSI
Inisialisasi dapat dilakukan bersama dengan deklarasi atau tersendiri. Inisialisasi suatu
array adalah dengan meletakkan elemen array di antara tanda kurung kurawal {}, antara
elemen yang satu dengan lainnya dipisahkan koma.
int bil[2] = {4,1,8}
bil[0] = 4
bil[1] = 1
bil[2] = 8
AUTOMATIC ARRAY adalah Inisialisasi array dilakukan di dalam fungsi tertentu. Hanya
compiler C yang berstandar ANSI C yang dapat menginisialisasikan automatic array.
Cara menginisialisasikan array dari compiler yg tidak mengikuti standar ANSI C:
1. Diinisialisasikan di luar fungsi sebagai variabel GLOBAL/EXTERNAL ARRAY.
int bil[2]={0,0,0};
main()
2. Diinisialisasikan didlm fungsi sebagai variabel LOKAL/STATIC ARRAY.
main()
{
static int bil[2]={0,0,0};
.........
Pada automatic array yang tidak diinisialisasikan , elemen array akan memiliki nilai yang tidak
beraturan. Bila global & static array tidak diinisialisasi maka semua elemen array secara
otomatis akan diberi nilai nol(0).
Contoh :
main()
{
int y;
int hitung=0;
int x[0];
for(y=0;y<5;y++)
{
hitung+=y;
x[y]=hitung;
printf("%3d - %3d\n",y,x[y]);
}
}
OUTPUT:
0- 0
1- 1
2- 3
3- 6
4- 10
MENDEFINISIKAN JUMLAH ELEMEN ARRAY DALAM VARIABEL
Besarnya variabel indeks dapat ditentukan dengan menggunakan preprocessor directives
#define
#define N 40
main()
{
int no[N],gaji[N],gol[N],status[N],juman[N];
Bila besari indeks akan diubah menjadi 50, cukup diganti dengan
#define N 50
ARRAY 2 DIMENSI
nama_variabel [indeks1][indeks2]
indeks1 : jumlah/nomor baris
indeks2 : jumlah/nomor kolom
Jumlah elemen yang dimiliki array 2 dimensi dapat ditentukan dari hasil perkalian
indeks1 * indeks2
misal : array A[2][3] akan memiliki 2*3 = 6 elemen.
main()
{
float bil [5] [5]
.......
dapat dituliskan dengan #define
#define N 5
main()
{
float bil [N] [N]
.......
INISIALISASI ARRAY 2 DIMENSI
main()
{
float bil[2] [3] =
{ { 1,2,3}, /*baris 0*/
{ 4,5,6}, /*baris 1*/
}
elemen bil [0] [0] = 1
elemen bil [0] [1] = 2
elemen bil [0] [2] = 3
elemen bil [1] [0] = 4
elemen bil [1] [1] = 5
elemen bil [1] [2] = 6
Contoh :
main()
{
int x[3][5];
int y,z;
int hitung=0;
for(y=0;y<3;y++)
{
printf("y = %d\n",y);
for(z=0;z<5;z++)
{
hitung+=z;
x[y][z] = hitung;
printf("%/t%3d - %3d\n",z,x[y][z]);
}
}
}
OUTPUT:
y = 0
0- 0
1- 1
2- 2
3- 6
4- 10
y = 1
0- 10
1- 11
2- 13
3- 16
4- 20
y = 2
0- 20
1- 21
2- 23
3- 26
4- 30
STRING dan ARRAY
1. Pada string terdapat karakter null(\0) di akhir string
2. String sudah pasti array, array belum tentu string
CONTOH - CONTOH :
1. array dengan pengisian input melalui keyboard
baca_input()
{
float nilai[10];
for(i=0;i<10;i++)
scanf("%d",&nilai[i]);
}
2. Fungsi yang mencetak isi array dari akhir ke awal
cetak_array()
{
float nilai[10];
for(i=9;i>=0;i--)
scanf("%3f",nilai[i]);
}
3. Menghitung rata - rata isi array nilai
rata_rata()
{
float nilai[10],jum*rata;
for(i=0,jum=0;i<=9;i++)
jum+=nilai[i];
rata=jum/i;
}
4. Mencari nilai terbesar
besar()
float temp,nilai[10];
{
for(temp=nilai[0],i=1;i<=9;i++)
if(nilai[i] > temp)
temp=nilai[i];
}
return(temp)
MODUL 6
II. Contoh Penulisan Algoritma dengan Kode Semu (Pseudo-Code)
Berikut ini adalah salah satu contoh penulisan algoritma :
const pi = 3.1415926535897932384626433832795
function luas_lingkaran(r)
{Algoritma yang menghasilkan luas suatu lingkaran apabila diberikan jari-jarinya r}
l pi*r*r
return l
procedure tukar_nilai(a, b)
{Algoritma yang mempertukarkan isi a dan isi b}
c a
a b
b c
Algoritma yang ditulis dengan cara seperti di atas sering disebut dengan kode semu
(pseudo-code). Kode semu pun tidak memiliki bentuk yang baku, masing-masing orang
bisa menuliskan kode semu dalam bentuk yang berbeda.
Dari contoh di atas tampak bahwa suatu algoritma dapat dinyatakan sebagai sebuah
fungsi (function) atau prosedur (procedure). Perbedaan fungsi dan prosedur adalah fungsi
menghasilkan suatu nilai kembali sedangkan prosedur tidak. Fungsi maupun prosedur
seringkali mempunyai parameter yang dapat digunakan untuk melewatkan suatu nilai
ke/dari fungsi/prosedur. Pada kedua contoh di atas r, a, maupun b merupakan contoh
parameter.
Pada contoh di atas fungsi luas_lingkaran akan menghasilkan nilai kembali 25 jika nilai
parameter masukan r adalah 5. Sedangkan prosedur tukar_nilai sama sekali tidak
menghasilkan nilai kembali, tetapi prosedur tersebut akan mempertukarkan nilai dari variabel-
variabel yang dijadikan parameternya. Misalnya variabel x pada awalnya
bernilai 10 dan variabel y bernilai 7, maka setelah dilakukan prosedur tukar_nilai(x, y) maka
variabel x menjadi bernilai 7 dan variabel y menjadi bernilai 10. Suatu fungsi ditandai dengan
adanya kata return.
Pada contoh di atas terdapat kata const, kata const merupakan salah satu contoh dari apa
yang dinamakan deklarasi. Deklarasi adalah bagian dari algoritma yang mendefinisikan
nama-nama yang akan digunakan pada algoritma. Deklarasi ada bermacam-macam,
antara lain :
1. Deklarasi konstanta
Konstanta memiliki nilai yang tetap, tidak dapat diubah di bagian manapun dari algoritma.
Contoh deklarasi konstanta :
{deklarasi konstanta}
const pi = 3.1415926535897932384626433832795
function luas_lingkaran(r)
{Algoritma yang menghasilkan luas suatu lingkaran apabila diberikan jari-jarinya r}
l pi*r*r
return l
{deklarasi konstanta}
const e = 2.7182818284590452353602874713527
…
Catatan :
Bagian yang berada di dalam kurung kurawa {} disebut dengan komentar. Fungsi komentar
adalah untuk memberikan penjelasan pada algoritma. Komentar bukan termasuk dari langkah-
langkah algoritma yang akan dieksekusi. Bahkan komentar dapat dibuang begitu saja tanpa
mempengaruhi kebenaran algoritma.
2. Deklarasi tipe
Tipe yang dimaksud di sini adalah tipe-tipe data yang digunakan di dalam algoritma. Ada
dua jenis tipe data yaitu tipe dasar dan tipe bentukan. Tipe dasar adalah tipe yang tidak
perlu dideklarasikan lagi, biasanya sudah dikenal secara umum dan didukung langsung
oleh perangkat keras komputer. Tipe bentukan adalah tipe yang perlu dideklarasikan, biasanya
belum dikenal secara umum dan tidak mendapat dukungan langsung dari perangkat keras.
Contoh tipe dasar antara lain integer, real, char, dan boolean. Contoh tipe bentukan adalah
record, enumerasi, array, dan lain lain. Berikut ini adalah contoh deklarasi suatu tipe bentukan :
{deklarasi tipe}
type kompleks = record
nyata: real
imajiner: real
function norma_kompleks(c: kompleks)
{Algoritma yang menghasilkan norma dari suatu bilangan kompleks}
n c.nyata*c.nyata + c.imajiner*c.imajiner
return n
type person = record
name: string
age: integer
male: boolean
type tab = array [1..50] of integers
type gender = enum {male, female}
type matriks = array [1..20, 1..20] of integers
type pointerperson = person
…
Kadang-kadang suatu tipe dideklarasikan hanya sebagai nama alias dari tipe yang lain :
type bilanganbulat = integers
type jeniskelamin = gender
…
Pembahasan mengenai berbagai jenis tipe terdapat pada bagian selanjutnya.
3. Deklarasi variabel
Variabel adalah tempat yang digunakan untuk menampung suatu nilai. Setiap variable memiliki
tipe tertentu. Berbeda dengan konstanta, nilai dari variabel dapat diubah di berbagai bagian dari
algoritma. Contoh deklarasi variabel adalah sebagai berikut :
type kompleks = record
nyata: real
imajiner: real
{deklarasi variabel}
a: kompleks
b: kompleks
procedure tukar
{Algoritma untuk menukar isi a dan b}
temp: real {deklarasi variabel}
temp a.nyata
a.nyata b.nyata
b.nyata temp
temp a.imajiner
a.imajiner b.imajiner
b.imajiner temp
const n = 250
{deklarasi variabel}
i: integer
f: real
c: char
b: booelan
s: string
r: array [1..30] of integers
v: array [1..n] of integers
array u[1..100]
array w[1..n]
6
t: tab
l: gender
m: matriks
…
Deklarasi variabel dapat dilakukan di sebarang tempat. Variabel yang dideklarasikan di
dalam suatu fungsi/prosedur disebut sebagai variabel lokal sedangkan variabel yang
dideklarasikan tidak di dalam fungsi/prosedur disebut variabel global. Variabel local dikenali
hanya di dalam fungsi yang bersangkutan dan tidak akan dikenali di luar fungsi tersebut. Varibel
global dapat dikenali di sebarang tempat dari algoritma. Dalam banyak kasus, deklarasi variabel
tidak selalu harus dilakukan. Kadang-kadang notasi algoritmik menjadi lebih sederhana dan
lebih jelas apabila variabel-variabel yang ada pada algoritma tidak dideklarasikan terlebih
dahulu.
4. Deklarasi fungsi/prosedur
Pada contoh di atas, setiap algoritma mengandung sebuah fungsi/prosedur yang dapat
disebut sebagai fungsi/prosedur utama. Kadang-kadang fungsi/prosedur utama memanggil
sebuah fungsi/prosedur yang lain. Maka fungsi/prosedur yang dipanggil tersebut juga harus
dideklarasikan di dalam algoritma. Contoh algoritma yang memiliki
lebih dari satu fungsi :
const pi = 3.1415926535897932384626433832795
function luas_lingkaran(r)
l pi*r*r
return l
function isi_silinder(r, t)
{Algoritma yang menghasilkan volume silinder apabila diberikan jari-jari alas r dan tinggi t} a
luas_lingkaran(r) v a*t
return v
Berikut ini adalah contoh algoritma yang cukup rumit penulisannya :
const N = 100
type tabs = array [1..N] of integers
T: tabs
procedure isi_data
for i 1 to N do
T[i] random(10*N)
function isi_dan_cari_minimum
{Algoritma untuk mengisi elemen-elemen T secara random kemudian mencari nilai minimum
dari elemen-elemen T tersebut}
isi_data min T[1]
for i 2 to N do
if T[i] < min then
min T[i]
return min
5.2.2. Prosedur Sederhana
Prosedur sederhana adalah sebuah subprogram yang tidak mempunyai parameter
masukan maupun parameter keluaran.
Berikut ini adalah skema prosedure sederhana:
procedure A; { nama prosedur adalah A }
var varlok1, varlok2, … : tipevar;
begin
{ statement }
end;
Pada skema di atas, terlihat bahwa dalam prosedur dapat digunakan variable
yang dideklarasikan juga dalam prosedur tersebut, variable-variabel ini disebut variable
local.
Contoh program
Program Perhitungan_2_bil;
uses crt;
var bil1,bil2: integer;
Procedure jumlahkan;
var hasilJum: integer;
begin
hasilJum := bil1+bil2;
writeln('hasil penjumlahan: ',hasilJum);
end;
BEGIN
clrscr;
writeln('masukan 2 bilangan');
write('bilangan pertama: '); readln(bil1);
write('bilangan kedua : '); readln(bil2);
jumlahkan;
END.
Keluaran program
masukan 2 bilangan
bilangan pertama: 5
bilangan kedua : 7
hasil penjumlahan: 12
Penjelasan program
Bil1, bil2 adalah variable global, sedangkan hasilJum adalah variable local untuk
prosedur jumlahkan
5.2.3. Prosedur yang menerima masukan
Sebuah prosedur dapat menerima masukan yang digunkan dalam proses sesuai
tugasnya. Prosedur semacam ini dikatakan prosedur yang mempunyai parameter masukan.
Berikut ini adalah skema prosedure yang menerima masukan:
procedure B(param1, param2, … : tipeparam);
var varlok1, varlok2, … : tipevar;
begin
{ statement }
end;
Contoh program
Program Perhitungan_4_bil;
uses crt;
var bil1,bil2,bil3,bil4: integer;
Procedure jumlahkan(angka1,angka2: integer);
var hasilJum: integer;
begin
hasilJum := angka1+angka2;
writeln('hasil penjumlahan: ',hasilJum);
end;
BEGIN
clrscr;
writeln('masukan 4 bilangan');
write('bilangan pertama: '); readln(bil1);
write('bilangan kedua : '); readln(bil2);
write('bilangan ketiga : '); readln(bil3);
write('bilangan keempat: '); readln(bil4);
writeln;
writeln('bilangan pertama dan kedua');
jumlahkan(bil1,bil2);
writeln;
writeln('bilangan ketiga dan keempat');
jumlahkan(bil3,bil4);
END.
Keluaran program
masukan 4 bilangan
bilangan pertama: 5
bilangan kedua : 8
bilangan ketiga : 2
bilangan keempat: 7
bilangan pertama dan kedua
hasil penjumlahan: 13
bilangan ketiga dan keempat
hasil penjumlahan: 9
5.2.4. Prosedur yang menerima masukan dan menghasilkan keluaran
Prosedur yang paling komplek adalah yang menerima masukan dan
menghasilkan keluaran. Prosedur seperti ini disebut prosedur yang mempunyai
parameter masukan dan parameter keluaran.
Berikut ini adalah skema prosedur yang menerima masukan dan menghasilkan keluaran:
procedure C(param1, param2, … : tipeparam;
var paramx, paramy, … : tipeparam);
var varlok1, varlok2, … : tipevar;
begin
{ statement }
end;
Pada skema prosedur di atas didefinisikan dua macam parameter, yaitu:
- parameter nilai (value parameter) : param1, param2
- parameter acuan (reference parameter): paramx, paramy
Contoh program
Program Perhitungan_4_bil;
uses crt;
var bil1,bil2,bil3,bil4,bil12,bil34,bil1234: integer;
Procedure jumlahkan(angka1,angka2: integer; var hasilJum: integer);
begin
hasilJum := angka1+angka2;
end;
BEGIN
clrscr;
writeln('masukan 4 bilangan');
write('bilangan pertama: '); readln(bil1);
write('bilangan kedua : '); readln(bil2);
write('bilangan ketiga : '); readln(bil3);
write('bilangan keempat: '); readln(bil4);
write('jumlah bilangan pertama dan kedua : ');
jumlahkan(bil1,bil2,bil12); writeln(bil12);
write('jumlah bilangan ketiga dan keempat: ');
jumlahkan(bil3,bil4,bil34); writeln(bil34);
write('jumlah semua bilangan : ');
jumlahkan(bil12,bil34,bil1234); writeln(bil1234);
END.
Keluaran program
masukan 4 bilangan
bilangan pertama: 5
bilangan kedua : 8
bilangan ketiga : 2
bilangan keempat: 7
jumlah bilangan pertama dan kedua : 13
jumlah bilangan ketiga dan keempat: 9
jumlah semua bilangan : 22
Penjelasan program
Perhatikan contoh di atas, lihat parameter angka1, angka2, hasilJum di dalam
pendeklarasian prosedur jumlahkan yang sesuai dengan parameter bil1, bil2, bil12 pada
pemakaian prosedur di dalam tubuh program.
Dalam hal ini dapat didefinisikan dua macam parameter, yaitu:
- parameter formal, di dalam deklarasi prosedur: angka1, angka2, hasilJum
- parameter actual, pada pemanggilan prosedur: bil1, bil2, bil12
5.3 Tugas
buatlah program dengan prosedur untuk menyelesaikan persamaan berikut
y=[(a+b)*(c+d)]*[(p+q)*(r+s)];
III. Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut
ditulis dalam bentuk instruksi-instruksi di dalam fungsi atau prosedur. Sekelompok instruksi
dapat membentuk sebuah blok instruksi. Sebuah blok instruksi dapat dianggap sebagai satu
kesatuan yang tidak terpisah. Instruksi-instruksi yang tergabung dalam sebuah blok ditulis
menjorok untuk membedakan dengan instruksi-instruksi di dekatnya
yang tidak termasuk sebagai anggota blok. Bentuk instruksi yang sering ditemui adalah :
a b
Bentuk tersebut merupakan instruksi untuk mengisi variabel a dengan nilai (isi) dari
variabel b. Bentuk yang mirip dengan instruksi di atas adalah :
a b + c
Bentuk tersebut merupakan instruksi untuk mengisi variabel a dengan hasil penjumlahan dari isi
variabel b dengan isi variabel c. Simbol seperti dan + sering disebut sebagai operator. Operator
disebut sebagai operator penugasan (assignment) dan operator + disebut sebagai operator
penjumlahan. Suatu operator bertugas melakukan operasi,
operator akan melakukan operasi penugasan sedangkan operator + akan melakukan operasi
penjumlahan. Data yang dikenai operasi oleh operator disebut sebagai operand, dengan
demikian a, b, atau c pada contoh di atas disebut sebagai operand. Satu atau gabungan
beberapa operasi sering disebut dengan ekspresi. Jadi ekspresi terdiri dari satu atau lebih
operator maupun operand. Bentuk-bentuk instruksi yang lain masih banyak, begitu pula dengan
jenis-jenis operasi dan operator. Setiap orang boleh membuat instruksi, operasi, dan
operatornya sendiri asal mudah dipahami dan dimengerti oleh orang lain.
Langkah-langkah yang ada di dalam algoritma membentuk tiga buah struktur dasar,
yaitu :
a. runtutan (sequence)
b. pemilihan (selection)
c. pengulangan (repetition)
a. Runtutan
Runtutan adalah instruksi-instruksi yang dikerjakan secara berurutan. Berurutan di sini
berarti sesuai dengan urutan penulisannya, yakni sebuah instruksi dijalankan setelah
instruksi sebelumnya selesai dikerjakan. Contoh algoritma yang hanya terdiri dari
runtutan adalah sebagai berikut :
procedure menampilkan_tiga_kata
write(’Aku’)
write(’Cinta’)
write(’Indonesia’)
ekspresi
a + b – c
operator operand
const pi = 3.1415926535897932384626433832795
function luas_lingkaran(r)
l pi*r*r
return l
b. Pemilihan
Pemilihan terjadi ketika suatu instruksi dikerjakan apabila suatu kondisi terpenuhi.
Misalnya instruksi A dikerjakan karena kondisi X terpenuhi (yang juga berarti instruksi A
tidak dikerjakan bila kondisi X tidak terpenuhi). Dalam kasus yang lain instruksi A
dikerjakan bila kondisi X terpenuhi, atau instruksi B yang dikerjakan bila kondisi X tidak
terpenuhi. Contoh algoritmanya adalah sebagai berikut :
procedure tampilkan_kalimat(i)
if i = 0 then
write(’Aku ’)
write(’Cinta ’)
write(’Indonesia’)
Pada contoh di atas, bila i bernilai 2 maka kondisi dari if (yaitu i = 0) tidak terpenuhi sehingga
kalimat tidak akan ditampilkan.
procedure pilih_kalimat(i)
if i = 0 then
write(’Aku ’)
write(’Cinta ’)
write(’Indonesia ’)
else
write(’Aku ’)
write(’Cinta ’)
write(’Malaysia’)
Pada contoh di atas, bila i bernilai 2 maka kondisi dari if tidak terpenuhi sehingga kalimat yang
ditampilkan adalah Aku Cinta Malaysia
procedure pilih_dari_tiga_kalimat(i)
if i = 0 then
write(’Aku ’)
write(’Cinta ’)
write(’Indonesia’)
else if i = 1 then
write(’Aku ’)
write(’Cinta ’)
write(’Malaysia’)
else
write(’Aku ’)
write(’Cinta ’)
write(’Timor Leste’)
Pada contoh di atas, bila i bernilai 2 maka kondisi dari if yang pertama tidak terpenuhi sehingga
dilanjutkan ke bagian else yang pertama. Pada bagian else yang pertama ditemui if yang
kedua. Kondisi dari if yang kedua juga tidak terpenuhi sehingga kalimat yang ditampilkan
adalah Aku Cinta Timor Leste Bentuk if yang bersarang (ada if di dalam if) seperti pada contoh
algoritma yang terakhir, kadang-kadang dapat dituliskan dalam bentuk lain seperti berikut :
procedure pilih_dari_tiga_kalimat(i)
case i = 0 :
write(’Aku ’)
write(’Cinta ’)
write(’Indonesia’)
i = 1 :
write(’Aku ’)
write(’Cinta ’)
write(’Malaysia’)
else
write(’Aku ’)
write(’Cinta ’)
write(’Timor Leste’)
c. Pengulangan
Pengulangan terjadi ketika ada suatu instruksi yang dilakukan terus-menerus selama suatu
kondisi terpenuhi. Bentuk pengulangan yang sering dijumpai ditampilkan pada
contoh-contoh di bawah ini :
procedure tampilkan_n_kata(n)
for i 1 to n do
write(’contoh’)
procedure tampilkan_n_nomor(n)
for i 1 to n do
write(’Nomor ’)
write(i)
procedure tampilkan_n_kata(n)
repeat n times
write(’contoh lain’)
procedure tampilkan_n_nomor(n)
for i n downto 1 do
write(’Nomor ’, i)
Algoritma-algoritma di atas melakukan penulisan sebanyak n putaran. Pada setiap putaran
algoritma-algoritma tersebut menuliskan kata maupun nomor. Putaran pada pengulangan
sering disebut dengan iterasi. Jadi algoritma-algoritma di atas melakukan n kali iterasi, mulai
dari iterasi pertama sampai iterasi ke-n.
Pada contoh-contoh di atas juga tampak adanya suatu kesamaan, yaitu jumlah pengulangan
telah diketahui lebih dahulu yaitu sebanyak n kali.
Contoh yang lain adalah sebagai berikut :
procedure tampilkan_nomor(n)
for i 3 to n step 2 do
write(i)
Algortima di atas melakukan pengulangan sebanyak ( ) ( ) 1 2 3 + ¸ - n kali. Jika n diberi nilai 15
maka algoritma di atas menampilkan angka-angka
3 5 7 9 11 13 15
Contoh yang lain lagi adalah sebagai berikut :
procedure tampilkan_nomor(n)
C {1, 3, 5, 7, 9}
for each i Î C do
write(i)
Catatan :
Bagian yang ada di antara tanda kurung kurawa {} apada algoritma di atas bukanlah
komentar, tetapi menyatakan himpunan (set).
procedure tampilkan_nomor(n)
for each i bilangan ganjil di antara 0 dan 10 do
write(i)
Kedua algortima di atas berfungsi untuk menampilkan angka ganjil di antara 0 dan 10.
Untuk pengulangan yang jumlah iterasinya belum diketahui, biasanya digunakan bentuk
while dan repeat.
procedure tampilkan_beberapa_kali
i random(10)
while i ¹ 5 do
write(’contoh’)
i random(10)
Algoritma di atas menggunakan pengulangan bentuk while. Sebelum melakukan pengulangan,
dilakukan pengecekan terlebih dahulu pada kondisi dari while. Bila kondisi terpenuhi maka
iterasi dimulai, dan bila kondisi tidak terpenuhi maka pengulangan tidak akan pernah dilakukan.
Setiap kali akan memasuki iterasi baru (pada awal iterasi),
dilakukan pengecekan lagi pada kondisi. Iterasi dilanjutkan jika kondisi masih terpenuhi dan
pengulangan berakhir ketika kondisi tidak terpenuhi. Algoritma di atas mungkin
akan menampilkan kata contoh sebanyak 1 kali, 100 kali, 60 kali, atau bahkan tidak
menampilkan kata contoh sama sekali.
procedure tampilkan_lebih_dari_sekali
repeat
write(’contoh’)
i random(10)
until i ¹ 5
Algoritma di atas menggunakan pengulangan bentuk repeat. Pada bentuk repeat,
pengulangan langsung memasuki iterasi yang pertama. Pada akhir iterasi, dilakukan
pengecekan pada kondisi dari repeat. Iterasi dilanjutkan jika kondisi terpenuhi dan pengulangan
berakhir jika kondisi tidak terpenuhi. Algoritma di atas akan menampilkan kata contoh
sedikitnya 1 kali.
Kadang-kadang diperlukan untuk mengakhiri pengulangan tanpa menghiraukan jumlah iterasi
yang sudah ditempuh maupun kondisi yang ada pada suatu saat. Pengulangan dapat dipaksa
berakhir dengan menggunakan instruksi break.
procedure tampilkan_nomor
for i 1 to 10 do
write(i)
if i = 5 then
break
Pengulangan pada algoritma di atas akan berakhir setelah memasuki iterasi ke-5 sehingga
yang angka-angka yang ditampilkan adalah
1 2 3 4 5
procedure tampilkan_nomor
i 1
while i < 10 do
write(i)
if i = 5 then
break
i i + 1
Algoritma di atas juga menampilkan angka-angka
1 2 3 4 5
Selain instruksi break juga terdapat instruksi continue yang berfungsi untuk melanjutkan
pengulangan langsung menuju ke iterasi selanjutnya dengan mengabaikan instruksiinstruksi
yang terletak setelah instruksi continue.
procedure tampilkan_nomor_dan kuadratnya
for i 1 to 6 do
write(i)
if i > 3 then
continue
write(i*i)
Algoritma di atas akan menampilkan angka-angka
1 1 2 4 3 9 4 5 6
5. Corat-coret si Sigma Octans
Calon Dokter
Langsung ke isi
Beranda About Me ^^
6. MODUL1_SUSAN
01/11/2012 | Octans
II. Prepraktikum
Kerjakan tugas-tugas di bawah ini sebelum praktikum dimulai.
1. Buatlah contoh deklarasi masing-masing tipe dasar dalam Bahasa Pascal!
Jawab:
X:=true (boolean) <- hanya mengenal 2 pernyataan, benar/salah, ya/tidak, 0/1
Y:=integer
D:=String
Jumlah:= byte
2,3*10:=real
2+3=5 <- penjumlahan
4-3=1 <- pengurangan
4*3=12 <- perkalian
20/4 <- pembagian
100div5=20 <- hasil bagi
3mod2=1 <- sisa bagi
2<3 <- lebih kecil dari
(yang kepikiran dan dicoba, di searching dan diubek cuman segini)
1. Isilah tabel berikut ini untuk melakukan penelusuran kebenaran penulisan nama variabel-variabel ini.
Nama Variabel Benar/salah Alasan Pembetulan
_nilai1 Salah Diawali oleh underscore nilai_1
Angka1 Benar Kata diawali dengan huruf
@umur Salah Terdapat karakter ‘@’ diawal kata umur
Tanggal lahir salah Ada spasi antara dua kata Tanggal_lahir
4alasan salah Kata diawali dengan angka alasan4
Alamat_rumah benarDiawali dengan huruf dan spasi diganti menggunakan ‘_’ (underscore)
Max salah Kata kunci di bahasa pemrograman
3. Jelaskan aturan-aturan yang digunakan dalam penulisan nama variable.
a. Nama variabel harus diawali dengan huruf.
b. Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_).
c. Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
d. Nama variabel tidak boleh menggunakan kata-kata kunci di bahasa Pemrograman
4. Buatlah sebuah Algoritma untuk menghitung luas sebuah lingkaran, gunakan deklarasi konstanta untuk menyimpan nilai Phi.
Program Menghitung Luas Lingkaran
Kamus:
R: integer
Phi= 3,14
L: real
Algoritma
Input ( R )
L= R*R*Phi
Output ( L)
III. KEGIATAN PRAKTIKUM
1. Buatlah sebuah program sederhana yang berisi deklarasi masing-masing tipe dasar sesuai tugas prepraktikum no.1, kemudian pada bagian deskripsi buatlah contoh instruksi masukan untuk mengisi data dan intruksi keluaran untuk menampilkan data dari masing-masing tipe dasar tersebut!
Program Luas Segitiga
Kamus
a,t: integer
l: real
Algoritma
input (a,t)
l=1/2*a*t
output (l)
IV. Tugas AkhirBuatlah algoritma dan terjemahkan dalam Bahasa Pascal untuk menghitung keliling lingkaran:
program Keliling_Lingkaran;
uses crt;
var
r: integer;
phi= 3,14
k: real;
begin
clrscr;
write (‘Masukkan nilai jari-jari:’); readln (r);
k:= 2*phi*r
write (‘Keliling lingkaran adalah: ‘, k);
readln;
end.
Encripsi: DIISNIH_ISCM3MI_VITACA
Planteks: DIVISI ICT SMAN 3 CIMAHI
T= D I I S N I H
I S C M 3 M I
V I T A C A
[D I V]
[I S I]
[I C T]
[S M A]
[N 3 C]
[I M A]
[H I ]
About these ads
Share this:
Twitter Facebook
Like this:Springsluva Algoritma
Tinggalkan Balasan
7. When Sigma Octans Writes
Susan Octavianna Kusuma Wijaya. 16th, 2okt96. 2A1 @sman3cimahi. Cita-cita jadi dokter, penulis dan karateka. Suka K-pop. dan ngga suka sama orang yang mendadak jutek. You are cold, and so I am the coldest. Semangat! Calon dokter spesialis yang akan tinggal di AS. Nomor absen: 36.
8. Calendar ^^
November 2012
S S R K J S M
« Okt Des »
November 2012
S S R K J S M
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
1. Contoh penggunaan procedure pada Turbo Pascal
April 27, 2009
program Menu_Program;uses crt;vara:byte;i,n,x : integer;sigmay,sigmax,ratax,ratay,sigma,sigma1,sigma2,cov,varian : real;rerata,hsl : real;procedure hapus_layar;beginclrscr;end;procedure mean;beginwriteln(‘Menghitung Mean dari beberapa Data’);writeln(‘———————————-’);write(‘Masukkan banyak data yang akan di input :’);readln(n);sigma:=0;for i:=1 to n dobeginwrite(‘Input x’,i,’ :’);readln(x);sigma:=sigma + x;end;rerata := sigma/n;
writeln(‘Mean dari data – data terebut adalah ‘,rerata:5:2);readln;
end;procedure varians;beginwriteln(‘Menentukan Varians’);writeln(‘——————’);write(‘Masukan banyak data : ‘);readln(n);while n<2 dobeginwriteln(‘Banyak data harus lebih dari 2′);write(‘Masukkan banyak data : ‘);readln(n);end;sigma1 := 0;sigma2 := 0;for i := 1 to n dobeginwrite(‘Masukkan data’,i,’ : ‘);readln(x);sigma1:=sigma1 + x;sigma2:=sigma2 + (x*x);end;hsl :=(n*sigma2 – (sigma1*sigma1))/(n*(n-1));writeln(‘Varians = ‘,hsl:5:2);readln;end;procedure covar;varx,y,px,py,k : array [1..100] of real;beginwrite(‘n = ‘); readln(n);sigmax := 0;sigmay := 0;for i := 1 to n dobeginwrite(‘x = ‘); readln(x[i]);write(‘y = ‘); readln(y[i]);sigmax := sigmax + x[i];sigmay := sigmay + y[i];end;ratax := sigmax/n;ratay := sigmay/n;sigma := 0;
for i := 1 to n dobeginpx[i] := x[i] – ratax;py[i] := y[i] – ratay;k[i] := px[i]*py[i];sigma := sigma + k[i];end;
Download source code lengkapnya di sini..
Ini contoh prosedur program statistik..Keren kan..
1. Belajar Pemrograman Komputer
Selamat Datang Di Blog Anak Pemrograman Browse » Home » Source Code Pascal » Program Komputer Sigma Pecahan
Program Komputer Sigma Pecahan Ini adalah program pascal, tentang program matematika, Sigma Pecahan, di bawah ini adalah programnya:
Program Menentukan_Banyak_dan_Jumlah_Bilangan_dari_Bilangan_Pecahan;
Uses crt;
Varjumlah:real;x,n:integer;
BeginClrscr;
writeln (‘Selamat Datang’);writeln (‘Ini Adalah Program Matematika Sigma Pecahan’);Writeln;
n:=20;jumlah:=0;
for x:=1 to n-1 dobeginwrite (’1/’,x*x,’ + ‘);jumlah:=jumlah+1/(x*x);end;
write (’1/’,n*n);jumlah:=jumlah+1/(n*n);writeln;
writeln;writeln (‘Banyaknya:’,n);writeln (‘Jumlah:’,jumlah:2:2);
readln;
End.