1) Pengertian Algoritma
Pandangan mengenai komputer sebagai sebuah mesin yang “pintar” adalah pandapat yang salah, karena komputer hanyalah suatu alat yang diberi serangkaian perintah oleh manusia sehingga dapat menyelesaikan permasalahan secara cepat, akurat, bahkan berulang-ulang tanpa kenal lelah dan bosan. Sekumpulan instruksi yang merupakan penyelesaian masalah itu dinamakan program. Agar program dapat dilaksanakan oleh komputer, program tersebut harus ditulis dalam suatu bahasa yang dimengerti oleh komputer. Bahasa komputer yang digunakan dalam menulis program dinamakan bahasa pemrograman. Urutan langkah-langkah yang sistematis untuk menyelesaikan sebuah masalah dinamakan algoritma. Jadi algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. Kata logis merupakan kata kunci. Langkah-langkah tersebut harus logis, ini berarti nilai kebenarannya harus dapat ditentukan, benar atau salah. Langkah-langkah yang tidak benar dapat memberikan hasil yang salah. Sebagai contoh tinjau persoalan mempertukarkan isi dua buah bejana, A dan B. Bejana A berisi larutan yang berwarna merah, sedangkan bejana B berisi air berwarna biru. Kita ingin mempertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. Ada 2 algoritma untuk menyelesaikan permasalahan tersebut, yaitu :
a) Algoritma yang pertama, ada dua langkah :
(1) Tuangkan larutan dari bejana A ke dalam bejana B
(2) Tuangkan larutan dari bejana B ke dalam bejana A
Algoritma tukar isi bejana di atas tidak menghasilkan pertukaran yang benar, karena langkah-langkahnya tidak logis sehingga yang terjadi adalah percampuran keduanya.
b) Algoritma yang kedua, ada 3 langkah :
(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
Sekarang, dengan algoritma tukar isi bejana yang sudah diperbaiki ini, isi bejana A dan B dapat dipertukarkan dengan benar.
Dari kedua contoh algoritma di atas dapat diambil 2 pesan penting. Pertama, algoritma harus benar. Kedua, algoritma harus berhenti, dan setelah berhenti, algoritma memberi hasil yang benar.
2) Pengertian Pemrograman
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer. Program ditulis dalam salah satu bahasa pemrograman, dan kegiatan membuat program disebut pemrograman (programmming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan oleh komputer.
3) Mekanisme Pelaksanaan Algoritma oleh Pemroses
Secara garis besar komputer tersususn atas empat komponen utama: piranti masukan, piranti keluaran, unit pemroses utama dan memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingat-ingat.Yang disimpan di dalam memeori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti masukan atau keluaran (I/O devices) adalah alat yang memasukkan data atau program kedalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan adalah : keyboard, mouse, scanner dan disk. Contoh alat keluaran adalah : monitor, printer, plottter dan disk.
Gambar
1.
Komponen-komponen Utama Komputer
4) Bahasa Pemrograman
Saat ini kita dapat berkomunikasi dengan komputer dengan menggunakan bahasa yang kita mengerti. Hal ini dapat kita lakukan karena para ahli telah berhasil membuat kamus yang disebut dengan bahasa pemrograman yang akan menterjemahkan bahasa yang kita buat menjadi bahasa mesin, kamus ini disebut dengan Compiler. Proses penterjemahan bahasa manusia ke bahasa mesin disebut dengan kompilasi. Adapaun bahasa-bahasa pemrograman tersebut antara lain :
Komponen-komponen Utama Komputer
4) Bahasa Pemrograman
Saat ini kita dapat berkomunikasi dengan komputer dengan menggunakan bahasa yang kita mengerti. Hal ini dapat kita lakukan karena para ahli telah berhasil membuat kamus yang disebut dengan bahasa pemrograman yang akan menterjemahkan bahasa yang kita buat menjadi bahasa mesin, kamus ini disebut dengan Compiler. Proses penterjemahan bahasa manusia ke bahasa mesin disebut dengan kompilasi. Adapaun bahasa-bahasa pemrograman tersebut antara lain :
Bahasa
Pemrograman Tipe Dibuat
FORTRAN Prosedural 1950
BASIC Prosedural 1960
LISP Fungsional 1950
Prolog Deklaratif 1970
Ada Prosedural 1970
SmalTalk Berorientasi Objek 1970
Pascal Prosedural 1970
C Prosedural 1970
C++ Berorientasi Objek 1980
FORTRAN Prosedural 1950
BASIC Prosedural 1960
LISP Fungsional 1950
Prolog Deklaratif 1970
Ada Prosedural 1970
SmalTalk Berorientasi Objek 1970
Pascal Prosedural 1970
C Prosedural 1970
C++ Berorientasi Objek 1980
5)
Dasar-dasar Algoritma
a) Proses, Instruksi dan Aksi
Pada dasarnya, sebuah algoritma merupakan deskripsi pelaksanaan suatu proses. Algoritma disusun oleh sederetan langkah instruksi yang logis. Tiap langkah instruksi tersebut melakukan suatu tindakan atau aksi. Bila suatu aksi dilaksanakan, maka sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Efek dari pengerjaan suatu aksi dapat diamati dengan membandingkan keadaan pada saat aksi belum dimulai, t0, dan keadaan pada saat aksi selesai dikerjakan, t1.
To : Keadaan sebelum aksi dikerjakan
Aksi
T1 : Keadaan setelah aksi dikerjakan
Sebagai contoh, tinjau kembali algoritma yang menggambarkan proses mempertukarkan larutan dari dua buah bejana A dan B. Pada setiap pelaksanaan aksi kita amati keadaan awal dan keadaan akhirnya.
To : bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru (bejana C masih kosong).
(1) Tuangkan larutan dari bejana A ke dalam bejana C
T1 : bejana A kosong, bejana C berisi larutan berwarna
Merah
a) Proses, Instruksi dan Aksi
Pada dasarnya, sebuah algoritma merupakan deskripsi pelaksanaan suatu proses. Algoritma disusun oleh sederetan langkah instruksi yang logis. Tiap langkah instruksi tersebut melakukan suatu tindakan atau aksi. Bila suatu aksi dilaksanakan, maka sejumlah operasi yang bersesuaian dengan aksi itu dikerjakan oleh pemroses. Efek dari pengerjaan suatu aksi dapat diamati dengan membandingkan keadaan pada saat aksi belum dimulai, t0, dan keadaan pada saat aksi selesai dikerjakan, t1.
To : Keadaan sebelum aksi dikerjakan
Aksi
T1 : Keadaan setelah aksi dikerjakan
Sebagai contoh, tinjau kembali algoritma yang menggambarkan proses mempertukarkan larutan dari dua buah bejana A dan B. Pada setiap pelaksanaan aksi kita amati keadaan awal dan keadaan akhirnya.
To : bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru (bejana C masih kosong).
(1) Tuangkan larutan dari bejana A ke dalam bejana C
T1 : bejana A kosong, bejana C berisi larutan berwarna
Merah
To
: bejana A kosong, bejana B berisi larutan berwarna biru.
(2) Tuangkan larutan dari bejana B ke dalam bejana A
T1 : bejana A berisi larutan berwarna biru, bejana B kosong
(2) Tuangkan larutan dari bejana B ke dalam bejana A
T1 : bejana A berisi larutan berwarna biru, bejana B kosong
To
: bejana B kosong, bejana C berisi larutan berwarna merah.
(3) Tuangkan larutan dari bejana C ke dalam bejana B
T1 : Bejana B berisi larutan berwarna merah, bejana A sudah berisi larutan berwarna biru (bejana C kosong).
Keadaan awal dan keadaan akhir algoritma dapat dijadikan acuan bagi pemrogram dalam merancang suatu algoritma. Keadaan akhir mencerminkan hasil yang diinginkan dari sebuah keadaan awal. Algoritma berisi langkah-langkah pencapaian keadaan akhir dari keadaan awal yang didefinisikan.
Tahap-tahap penyusunan algoritma seringkali dimulai dari langkah yang global lebiha dahulu. Langkah global ini diperhalus sampai ke langkah yang lebih rinci. Pendekatan desain algoritma seperti ini dinamakan perancangan puncak turun (top-down design). Cara pendekatan seperti ini angat bermanfaat dalam membuat algoritma untuk masalah yang cukup rumit atau kompleks.
b) Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari 3 buah struktur dasar, yaitu :
(1) Runtunan (sequence)
(2) Pemilihan (selection)
(3) Pengulangan (repetition)
c) Runtunan
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi menentukan keadaan akhir dari suatu algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga akan berubah.
d) Pemilihan
Ada kalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Penulisan pemilihan secara umum :
If kondisi then
Aksi
Dalam bahasa indonesia, if berarti “jika” dan then artinya “maka”. Kondisi adalah persyaratan yang dapat bernilai salah atau benar. Aksi hanya dilakukan jika kondisi bernilai benar. Perhatikan kata yang digarisbawahi, if dan then merupakan kata kunci(keywords) untuk struktur pemilihan ini. Dalam kehidupan sehari-hari, kita sering menuliskan pernyataan tindakan bila suatu persyaratan dipenuhi. Misalnya :
If Zaki memperoleh juara kelas then
Ayah akan membelikannya sepeda
If jalan panenan macet then
Ambil alternatif jalan dipati ukur
Struktur pemilihan if-then hanya memberikan satu pilihan aksi jika kondisi dipenuhi (bernilai benar), dan tidak memberi pilihan aksi lain jika bernilai salah. Bentuk pemilihan yang lebih umum ialah memilih satu dari dua buah aksi bergantung pada nilai kondisinya :
If kondisi then
Aksi 1
Else
Aksi 2
Else artinya “kalau tidak”. Bila kondisi bernilai benar, aksi 1 akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan. Misalnya pada pernyataan berikut :
If hari hujan then
Pergilah dengan naik beca
Else
Pergilah dengan naik motor
Jika kondisi “hari hujan” bernilai benar, maka aksi “pergilah dengan naik beca” dilakukan, sebaliknya aksi “pergilah dengan naik motor” akan dilakukan jika “hari hujan” tidak benar.
e) Pengulangan
Salah satu kelebihan komputer adalah kemampuannya untuk melakukan melakukan pekerjaan yang sama berulang kali tanpa mengenal lelah. Struktur pengulangan disebut kalang (loop), dan bagian algoritma yang diulang (aksi) dinamakan badan kalang (loop body).
6) Struktur Program Bahasa Pascal dan Bahasa C
a) Algoritmik
Algoritma nama_algoritma
{kepala algoritma berisi penjelasan seperlunya}
Deklarasi {berisi variabel yang terlibat}
Deskripsi {berisi detail algoritma}
(3) Tuangkan larutan dari bejana C ke dalam bejana B
T1 : Bejana B berisi larutan berwarna merah, bejana A sudah berisi larutan berwarna biru (bejana C kosong).
Keadaan awal dan keadaan akhir algoritma dapat dijadikan acuan bagi pemrogram dalam merancang suatu algoritma. Keadaan akhir mencerminkan hasil yang diinginkan dari sebuah keadaan awal. Algoritma berisi langkah-langkah pencapaian keadaan akhir dari keadaan awal yang didefinisikan.
Tahap-tahap penyusunan algoritma seringkali dimulai dari langkah yang global lebiha dahulu. Langkah global ini diperhalus sampai ke langkah yang lebih rinci. Pendekatan desain algoritma seperti ini dinamakan perancangan puncak turun (top-down design). Cara pendekatan seperti ini angat bermanfaat dalam membuat algoritma untuk masalah yang cukup rumit atau kompleks.
b) Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi, pemilihan aksi dan pengulangan aksi. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Jadi, sebuah algoritma dapat dibangun dari 3 buah struktur dasar, yaitu :
(1) Runtunan (sequence)
(2) Pemilihan (selection)
(3) Pengulangan (repetition)
c) Runtunan
Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya. Urutan instruksi menentukan keadaan akhir dari suatu algoritma. Bila urutannya diubah, maka hasil akhirnya mungkin juga akan berubah.
d) Pemilihan
Ada kalanya sebuah instruksi dikerjakan jika kondisi tertentu dipenuhi. Penulisan pemilihan secara umum :
If kondisi then
Aksi
Dalam bahasa indonesia, if berarti “jika” dan then artinya “maka”. Kondisi adalah persyaratan yang dapat bernilai salah atau benar. Aksi hanya dilakukan jika kondisi bernilai benar. Perhatikan kata yang digarisbawahi, if dan then merupakan kata kunci(keywords) untuk struktur pemilihan ini. Dalam kehidupan sehari-hari, kita sering menuliskan pernyataan tindakan bila suatu persyaratan dipenuhi. Misalnya :
If Zaki memperoleh juara kelas then
Ayah akan membelikannya sepeda
If jalan panenan macet then
Ambil alternatif jalan dipati ukur
Struktur pemilihan if-then hanya memberikan satu pilihan aksi jika kondisi dipenuhi (bernilai benar), dan tidak memberi pilihan aksi lain jika bernilai salah. Bentuk pemilihan yang lebih umum ialah memilih satu dari dua buah aksi bergantung pada nilai kondisinya :
If kondisi then
Aksi 1
Else
Aksi 2
Else artinya “kalau tidak”. Bila kondisi bernilai benar, aksi 1 akan dikerjakan, tetapi kalau tidak, aksi 2 yang akan dikerjakan. Misalnya pada pernyataan berikut :
If hari hujan then
Pergilah dengan naik beca
Else
Pergilah dengan naik motor
Jika kondisi “hari hujan” bernilai benar, maka aksi “pergilah dengan naik beca” dilakukan, sebaliknya aksi “pergilah dengan naik motor” akan dilakukan jika “hari hujan” tidak benar.
e) Pengulangan
Salah satu kelebihan komputer adalah kemampuannya untuk melakukan melakukan pekerjaan yang sama berulang kali tanpa mengenal lelah. Struktur pengulangan disebut kalang (loop), dan bagian algoritma yang diulang (aksi) dinamakan badan kalang (loop body).
6) Struktur Program Bahasa Pascal dan Bahasa C
a) Algoritmik
Algoritma nama_algoritma
{kepala algoritma berisi penjelasan seperlunya}
Deklarasi {berisi variabel yang terlibat}
Deskripsi {berisi detail algoritma}
b)
Bahasa Pascal
Program nama_program;
[deklarasi label]
[deklarasi konstan]
[deklarasi tipe]
[deklarasi variable]
[deklarasi subprogram]
Begin
Pernyataan;
……
Pernyataan
End.
c) Bahasa C
#include
[deklarasi subprogram]
Main()
{
[deklarasi variabel]
Pernyataan;
……
Return 0;
}
7) Variabel
Variabel (perubah) merupakan suatu nama yang menyiratkan lokasi memori komputer yang dapat digunakan untuk menyimpan nilai, dimana isinya dapat diubah-ubah. Variabel dapatdipandang sebagai abstraksi dari lokasi. Hasil evaluasi dari variabel adalah nilai dari variabel itu. Nilai dari suatu variabel dapat diubah dengan assignment statement. Sebuah assignment statement terdiri dari sebuah variabel di sebelah kirinya dan suatu ekspresi disebelah kanannya.
Program nama_program;
[deklarasi label]
[deklarasi konstan]
[deklarasi tipe]
[deklarasi variable]
[deklarasi subprogram]
Begin
Pernyataan;
……
Pernyataan
End.
c) Bahasa C
#include
[deklarasi subprogram]
Main()
{
[deklarasi variabel]
Pernyataan;
……
Return 0;
}
7) Variabel
Variabel (perubah) merupakan suatu nama yang menyiratkan lokasi memori komputer yang dapat digunakan untuk menyimpan nilai, dimana isinya dapat diubah-ubah. Variabel dapatdipandang sebagai abstraksi dari lokasi. Hasil evaluasi dari variabel adalah nilai dari variabel itu. Nilai dari suatu variabel dapat diubah dengan assignment statement. Sebuah assignment statement terdiri dari sebuah variabel di sebelah kirinya dan suatu ekspresi disebelah kanannya.
Algoritmik
Bahasa Pascal Bahasa C
Deskripsi
B1 + B2ßJumlah
Jumlah := B1 + B2
Jumlah = B1 + B2
Deskripsi
B1 + B2ßJumlah
Jumlah := B1 + B2
Jumlah = B1 + B2
Variabel jumlah diubah nilainya menjadi nilai dari
ekspresi B1 + B2 setelah dievaluasi. Dalam suatu program Pascal maupun C,
setiap variabel yang akan digunakan terlebih dahulu dideklarasikan, dimana
setiap variabel harus mempunyai tipe. Deklarasi variabel berguna untuk memberi
informasi kepada compiler serta membantu programmer untuk berpikir secara jelas
dan berencana.
Algoritmik
Bahasa Pascal Bahasa C
Deklarasi B1,B2,jumlah:integer Var B1,B2,jumlah:integer;
Int B1,B2,jumlah;
Deklarasi B1,B2,jumlah:integer Var B1,B2,jumlah:integer;
Int B1,B2,jumlah;
Aturan
penamaan suatu variabel
a) Pada bahasa pascal penulisan dengan huruf besar dan kecil tidak dibedakan, sedangkan pada bahasa C dibedakan (Case Sensitif).
b) Boleh terdiri dari angka dengan syarat penulisannya setelah huruf, misal :
Umur31
Sepeda3
c) Tidak boleh mengandung spasi, terdiri dari underscore (karakter _), misal :
Suhu_ruang (boleh)
Suhu ruang (tidak boleh)
SuhuRuang (boleh)
d) Tidak boleh ada 2 atau lebih nama yang sama
e) Tidak boleh menggunakan reserved word (kata kunci), misal :
Ø Dalam pascal : program, end, begin, var, dll
Ø Dalam C : #include, void, dll
8) Konstanta
Variabel yang mempunyai nilai yang sifatnya tidak bisa diubah, nilai ditentukan pada saat pendefinisian. Misal :
= ;
Phi = 3.14;
9) Jenis/Tipe Data
Pada waktu suatu variabel dideklarasikan, maka tipenya sekaligus ditentukan. Tipe dari suatu variabel menyatakan :
a) Jenis nilai yang dapat disimpan dalam lokasi memori untuk variabel tersebut, (membatasi himpunan nilai-nilai yang dapat dipunyai variabel tersebut).
b) Jenis operasi yang dapat dilakukan terhadap variabel bersangkutan.
10) Ekspresi Matematika
Ekspresi matematika adalah kalimat matematika yang akan memberikan nilai jika dievaluasi.
a) Ekspresi aritmatika : Suatu ekspresi matematika yang memberikan hasil bertipe angka jika dievaluasi. Operator yang digunakan : +, -, *, /, (, )
Contoh :
Ø 37à6 * 5 + 7
Ø 8à4 * 6 / 3
b) Ekspresi Logika : Suatu ekspresi matematika yang memberikan hasil berupa nilai kebenaran (benar/salah, true/false). Operator yang digunakan :
(1) Perbandingan : =, , =,
(2) Logika : and, or
Contoh :
Ø trueàTrue and true
Ø falseàTrue and false
Ø (4=1)
Ø trueàTrue and true
11) Prioritas Operator
Sebuah ekspresi matematika yang terdiri dari beberapa operator, beberapa operator dievaluasi terlebih dahulu dibandingkan operator yang lain. Sebuah operator didahulukan berarti mempunyai prioritas lebih tinggi. Urutan prioritas :
a) Operator aritmatika
b) Operator logika dan perbandingan
Contoh : 2 + 5 <= 5 + 7
7à <= 12
trueà
Urutan prioritas operator aritmatika :
a) *, /
b) +, –
Jika 2 operator mempunyai prioritas sama, maka yang paling kiri didahulukan.
Contoh :
Ø 27à 37 -10 à 7 + 30 – 10 à7 + 5 * 6 – 10
Ø 3à 9 / 3 à(4 + 5) / (2 + 1)
(Ekspresi yang terletak dalam tanda kurung harus didahulukan).
a) Pada bahasa pascal penulisan dengan huruf besar dan kecil tidak dibedakan, sedangkan pada bahasa C dibedakan (Case Sensitif).
b) Boleh terdiri dari angka dengan syarat penulisannya setelah huruf, misal :
Umur31
Sepeda3
c) Tidak boleh mengandung spasi, terdiri dari underscore (karakter _), misal :
Suhu_ruang (boleh)
Suhu ruang (tidak boleh)
SuhuRuang (boleh)
d) Tidak boleh ada 2 atau lebih nama yang sama
e) Tidak boleh menggunakan reserved word (kata kunci), misal :
Ø Dalam pascal : program, end, begin, var, dll
Ø Dalam C : #include, void, dll
8) Konstanta
Variabel yang mempunyai nilai yang sifatnya tidak bisa diubah, nilai ditentukan pada saat pendefinisian. Misal :
= ;
Phi = 3.14;
9) Jenis/Tipe Data
Pada waktu suatu variabel dideklarasikan, maka tipenya sekaligus ditentukan. Tipe dari suatu variabel menyatakan :
a) Jenis nilai yang dapat disimpan dalam lokasi memori untuk variabel tersebut, (membatasi himpunan nilai-nilai yang dapat dipunyai variabel tersebut).
b) Jenis operasi yang dapat dilakukan terhadap variabel bersangkutan.
10) Ekspresi Matematika
Ekspresi matematika adalah kalimat matematika yang akan memberikan nilai jika dievaluasi.
a) Ekspresi aritmatika : Suatu ekspresi matematika yang memberikan hasil bertipe angka jika dievaluasi. Operator yang digunakan : +, -, *, /, (, )
Contoh :
Ø 37à6 * 5 + 7
Ø 8à4 * 6 / 3
b) Ekspresi Logika : Suatu ekspresi matematika yang memberikan hasil berupa nilai kebenaran (benar/salah, true/false). Operator yang digunakan :
(1) Perbandingan : =, , =,
(2) Logika : and, or
Contoh :
Ø trueàTrue and true
Ø falseàTrue and false
Ø (4=1)
Ø trueàTrue and true
11) Prioritas Operator
Sebuah ekspresi matematika yang terdiri dari beberapa operator, beberapa operator dievaluasi terlebih dahulu dibandingkan operator yang lain. Sebuah operator didahulukan berarti mempunyai prioritas lebih tinggi. Urutan prioritas :
a) Operator aritmatika
b) Operator logika dan perbandingan
Contoh : 2 + 5 <= 5 + 7
7à <= 12
trueà
Urutan prioritas operator aritmatika :
a) *, /
b) +, –
Jika 2 operator mempunyai prioritas sama, maka yang paling kiri didahulukan.
Contoh :
Ø 27à 37 -10 à 7 + 30 – 10 à7 + 5 * 6 – 10
Ø 3à 9 / 3 à(4 + 5) / (2 + 1)
(Ekspresi yang terletak dalam tanda kurung harus didahulukan).
Aritmatika
Arti Pascal C
+ Penjumlahan + +
– Pengurangan – –
div Pembagian integer div /
modulo Sisa pembagian mod %
+ Penjumlahan + +
– Pengurangan – –
div Pembagian integer div /
modulo Sisa pembagian mod %
Dalam bahasa pascal dan bahasa C, pernyataan yang
berkaitan dengan operasi dasar adalah sebagai berikut :
Pernyataan
Algoritmik Pascal C
Input read read atau readln scanf
output write write atau writeln printf
Penugasan ß := =
Akhir pernyataan ; ;
Fungsi yang sering digunakan :
Pascal C Arti
Sqr Pow Kuadrat
Sqrt Sqrt Akar kuadrat
Ln Log Logaritma alami
Exp Exp eksponensial
Input read read atau readln scanf
output write write atau writeln printf
Penugasan ß := =
Akhir pernyataan ; ;
Fungsi yang sering digunakan :
Pascal C Arti
Sqr Pow Kuadrat
Sqrt Sqrt Akar kuadrat
Ln Log Logaritma alami
Exp Exp eksponensial
12)
Flowchart
Kadang-kadang perlu digambarkan bagaimana arus data dari algoritma yang sudah dibuat, terutama kalau algoritma sudah cukup kompleks. Untuk itu algoritma dapat disajikan dalam bentuk flowchart. Simbol yang diperlukan diantaranya :
Kadang-kadang perlu digambarkan bagaimana arus data dari algoritma yang sudah dibuat, terutama kalau algoritma sudah cukup kompleks. Untuk itu algoritma dapat disajikan dalam bentuk flowchart. Simbol yang diperlukan diantaranya :
No
Simbol Makna
1.
start / mulai
end / selesai
2.
Input/output
3.
Kondisi
4.
Nilai awal/inisialisasi
5.
Perulangan for
6.
Proses/penugasan
1.
start / mulai
end / selesai
2.
Input/output
3.
Kondisi
4.
Nilai awal/inisialisasi
5.
Perulangan for
6.
Proses/penugasan
c.
Rangkuman 1
1) Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan
2) Dalam membuat algoritma dapat digunakan flowchart
d. Tugas 1
1) Pelajarilah uraian materi tentang prinsip algoritma!
2) Pelajarilah uraian materi tentang prinsip pemrograman!
3) Pelajarilah uraian materi tentang prinsip dari mekanisme oleh pemroses
4) Pelajarilah beberapa macam bahasa pemrograman
5) Pelajarilah uraian materi tentang dasar-dasar algoritma
6) Pelajarilah simbol-simbol dari flowchart
1) Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan
2) Dalam membuat algoritma dapat digunakan flowchart
d. Tugas 1
1) Pelajarilah uraian materi tentang prinsip algoritma!
2) Pelajarilah uraian materi tentang prinsip pemrograman!
3) Pelajarilah uraian materi tentang prinsip dari mekanisme oleh pemroses
4) Pelajarilah beberapa macam bahasa pemrograman
5) Pelajarilah uraian materi tentang dasar-dasar algoritma
6) Pelajarilah simbol-simbol dari flowchart
e.
Tugas Formatif 1
1) Sebutkan bahasa pemrograman prosedural?
2) Memahami sintaks program dengan menggunakan bahasa pascal dan bahasa C?
3) Mampu membuat algoritma mencari jumlah 3 buah bilangan bulat dengan flowchart?
4) Mampu membuat algoritma mencari hasil kali dari 2 buah bilangan dengan flowchart?
f. Kunci Jawaban Formatif 1
1) Bahasa pemrograman prosedural : Pascal, C, Cobol, Basic, Fortran.
2) Sintaks program dengan menggunakan bahasa pascal dan bahasa C adalah sebagai berikut :
Bahasa Pascal
Program nama_program;
[deklarasi label]
[deklarasi konstan]
[deklarasi tipe]
[deklarasi variable]
[deklarasi subprogram]
Begin
Pernyataan;
……
Pernyataan
End.
1) Sebutkan bahasa pemrograman prosedural?
2) Memahami sintaks program dengan menggunakan bahasa pascal dan bahasa C?
3) Mampu membuat algoritma mencari jumlah 3 buah bilangan bulat dengan flowchart?
4) Mampu membuat algoritma mencari hasil kali dari 2 buah bilangan dengan flowchart?
f. Kunci Jawaban Formatif 1
1) Bahasa pemrograman prosedural : Pascal, C, Cobol, Basic, Fortran.
2) Sintaks program dengan menggunakan bahasa pascal dan bahasa C adalah sebagai berikut :
Bahasa Pascal
Program nama_program;
[deklarasi label]
[deklarasi konstan]
[deklarasi tipe]
[deklarasi variable]
[deklarasi subprogram]
Begin
Pernyataan;
……
Pernyataan
End.
Bahasa
C
#include
[deklarasi subprogram]
Main()
{
[deklarasi variabel]
Pernyataan;
……
Return 0;
}
#include
[deklarasi subprogram]
Main()
{
[deklarasi variabel]
Pernyataan;
……
Return 0;
}
3)
Algoritma mencari jumlah 3 buah bilangan bulat dengan flowchart =
Algoritma mencari jumlah 3 buah bilangan bulat
Deklarasi
a,b,c : integer
jumlah : integer
Deskripsi
Read(a,b,c)
a + b + cßJumlah
Write(jumlah)
Algoritma mencari jumlah 3 buah bilangan bulat
Deklarasi
a,b,c : integer
jumlah : integer
Deskripsi
Read(a,b,c)
a + b + cßJumlah
Write(jumlah)
Flowchartnya :
Gambar
2. Flowchart Algoritma Mencari Jumlah 3 Buah Bilangan Bulat
4) Algoritma mencari hasil kali dari dua buah bilangan dengan flowchart =
Algoritma mencari hasil kali dari dua buah bilangan
Deklarasi
a,b : integer
hasil : integer
Deskripsi
Read(a,b)
a * bßhasil
Write(hasil)
4) Algoritma mencari hasil kali dari dua buah bilangan dengan flowchart =
Algoritma mencari hasil kali dari dua buah bilangan
Deklarasi
a,b : integer
hasil : integer
Deskripsi
Read(a,b)
a * bßhasil
Write(hasil)
Flowchartnya :
Gambar
3
Flowchart Algoritma Algoritma Mencari Hasil Kali dari Dua Buah Bilangan
Flowchart Algoritma Algoritma Mencari Hasil Kali dari Dua Buah Bilangan
g.
Lembar Kerja 1
Alat dan Bahan
Seperangkat komputer yang telah diinstal dengan Microsoft Visio dan program turbo pascal dan turbo C.
Kesehatan dan Keselamatan Kerja
1) Berdo’alah sebelum memulai kegiatan belajar !
2) Bacalah dan pahami petunjuk praktikum pada setiap lembar kegiatan belajar!
3) Bila telah selesai matikan komputer sesuai dengan prosedur!
Alat dan Bahan
Seperangkat komputer yang telah diinstal dengan Microsoft Visio dan program turbo pascal dan turbo C.
Kesehatan dan Keselamatan Kerja
1) Berdo’alah sebelum memulai kegiatan belajar !
2) Bacalah dan pahami petunjuk praktikum pada setiap lembar kegiatan belajar!
3) Bila telah selesai matikan komputer sesuai dengan prosedur!
Langkah
Kerja
1) Kumpulkan data yang diperlukan, kemudian coba analisis data yang ada dan kelompokkan sesuai dengan jenis datanya.
2) Tentukan variabel dan jenis datanya sesuai dengan tipe datanya.
3) Analisis struktur algoritma dari data yang ada, tentukan data yang ada menggunakan runtutan, pemilihan atau pengulangan.
4) Buat flowchartnya berdasarkan hasil dari analisis struktur algoritma menggunakan program bantu untuk membuat flowchart yaitu Microsoft Visio.
5) Aplikasikan flowchart dalam bahasa pemrograman. Bahasa pemrograman yang dipakai yaitu bahasa pascal atau bahasa C.
6) Pelajari perbedaan penulisan dan beberapa operator pada bahasa Pascal maupun bahasa C.
1) Kumpulkan data yang diperlukan, kemudian coba analisis data yang ada dan kelompokkan sesuai dengan jenis datanya.
2) Tentukan variabel dan jenis datanya sesuai dengan tipe datanya.
3) Analisis struktur algoritma dari data yang ada, tentukan data yang ada menggunakan runtutan, pemilihan atau pengulangan.
4) Buat flowchartnya berdasarkan hasil dari analisis struktur algoritma menggunakan program bantu untuk membuat flowchart yaitu Microsoft Visio.
5) Aplikasikan flowchart dalam bahasa pemrograman. Bahasa pemrograman yang dipakai yaitu bahasa pascal atau bahasa C.
6) Pelajari perbedaan penulisan dan beberapa operator pada bahasa Pascal maupun bahasa C.
2.
Kegiatan Belajar 2 : Mempersiapkan pokok-pokok kebutuhan data
a. Tujuan Kegiatan Pemelajaran
Setelah mempelajari kegiatan belajar ini peserta diklat mampu menganalisa data sehingga dapat mengidentifikasnya menjadi beberapa tipe data sesuai dengan sifat datanya.
b. Uraian materi 2
1) Tipe Data Dasar
a) Tipe data bilangan bulat
Nama tipe : integer
Range nilai : -32.768 sd 32.767
Operator binary :
Ø integerà+, -, * : integer x integer
Ø / realà: integer x integer
Ø integeràMod, div : integer x integer
Keterangan :
§ Mod adalah sisa hasil bagi dari dua bilangan yang bertipe integer
§ Div adalah hasil bagi dari dua bilangan yang bertipe integer
Contoh :
15 div 3 = 5
15 mod 3 = 0
45 div 4 = 11
45 mod 4 = 1
Operator unary :
integerà– : integer
b) Tipe data real
Nama tipe : real
Range nilai : 2.9×10-39 s/d 1.7×1038
-1.7×1038 s/d -2.9×10-39
realàOperator : +, -, *, / : real x real
realà: real x integer
realà: integer x real
c) Tipe data karakter/simbol
Nama tipe : char
Range nilai : 1 simbol/karakter dalam tanda petik
d) Tipe data string
Nama tipe : string
Range nilai : rangkaian karakter dalam tanda petik
Panjang string : 0 s/d 255
Contoh : ‘Suhu ruangan 550 C’
Operator stringà: + : string x string
‘saya pergi’àContoh : ‘saya’ + ‘ pergi’
e) Tipe data boolean
Nama tipe : Boolean
Range nilai : True dan False
Operator:
Ø Binary :
booleanàor, and, xor : boolean x boolean
Ø Unary booleanà: not : boolean
falseàNot true
Tabel Kebenaran :
P Q P and Q P or Q P xor Q
True True True True False
True False False True True
False True False True True
False False False False False
a. Tujuan Kegiatan Pemelajaran
Setelah mempelajari kegiatan belajar ini peserta diklat mampu menganalisa data sehingga dapat mengidentifikasnya menjadi beberapa tipe data sesuai dengan sifat datanya.
b. Uraian materi 2
1) Tipe Data Dasar
a) Tipe data bilangan bulat
Nama tipe : integer
Range nilai : -32.768 sd 32.767
Operator binary :
Ø integerà+, -, * : integer x integer
Ø / realà: integer x integer
Ø integeràMod, div : integer x integer
Keterangan :
§ Mod adalah sisa hasil bagi dari dua bilangan yang bertipe integer
§ Div adalah hasil bagi dari dua bilangan yang bertipe integer
Contoh :
15 div 3 = 5
15 mod 3 = 0
45 div 4 = 11
45 mod 4 = 1
Operator unary :
integerà– : integer
b) Tipe data real
Nama tipe : real
Range nilai : 2.9×10-39 s/d 1.7×1038
-1.7×1038 s/d -2.9×10-39
realàOperator : +, -, *, / : real x real
realà: real x integer
realà: integer x real
c) Tipe data karakter/simbol
Nama tipe : char
Range nilai : 1 simbol/karakter dalam tanda petik
d) Tipe data string
Nama tipe : string
Range nilai : rangkaian karakter dalam tanda petik
Panjang string : 0 s/d 255
Contoh : ‘Suhu ruangan 550 C’
Operator stringà: + : string x string
‘saya pergi’àContoh : ‘saya’ + ‘ pergi’
e) Tipe data boolean
Nama tipe : Boolean
Range nilai : True dan False
Operator:
Ø Binary :
booleanàor, and, xor : boolean x boolean
Ø Unary booleanà: not : boolean
falseàNot true
Tabel Kebenaran :
P Q P and Q P or Q P xor Q
True True True True False
True False False True True
False True False True True
False False False False False
2)
Pemilihan / Kontrol Program
Salah satu kemampuan komputer dalah dapat melakukan proses pemilihan dari beberapa alternatif sesuai dengan kondisi yang diberikan. Dalam persoalan sehari-haripun hampir selalu ada kondisi dimana kita harus memilih diantara alternatif-alternatif yang ada. Sebagai contoh, seorang siswa memperoleh nilai 75. Apakah dengan nilai tersebut siswa itu lulus? Jika batas kelulusan minimal 60 maka siswa tersebut lulus ujian. Jika kurang dari 60 maka siswa tersebut tidak lulus ujian. Bahasa pemrograman seperti pascal maupun C juga mendukung pernyataan bersyarat. Tata cara penulisannya tersaji berikut ini :
Salah satu kemampuan komputer dalah dapat melakukan proses pemilihan dari beberapa alternatif sesuai dengan kondisi yang diberikan. Dalam persoalan sehari-haripun hampir selalu ada kondisi dimana kita harus memilih diantara alternatif-alternatif yang ada. Sebagai contoh, seorang siswa memperoleh nilai 75. Apakah dengan nilai tersebut siswa itu lulus? Jika batas kelulusan minimal 60 maka siswa tersebut lulus ujian. Jika kurang dari 60 maka siswa tersebut tidak lulus ujian. Bahasa pemrograman seperti pascal maupun C juga mendukung pernyataan bersyarat. Tata cara penulisannya tersaji berikut ini :
Algoritmik
Pascal C
If (kondisi) then
aksi
end if If (kondisi) then aksi; If (kondisi) aksi;
If (kondisi) then
aksi1
else
aksi2
end if If (kondisi) then
aksi1
else
aksi2;
If (kondisi)
aksi1;
else
aksi2;
Pernyataan majemuk begin ……..end {………..}
If (kondisi) then
aksi
end if If (kondisi) then aksi; If (kondisi) aksi;
If (kondisi) then
aksi1
else
aksi2
end if If (kondisi) then
aksi1
else
aksi2;
If (kondisi)
aksi1;
else
aksi2;
Pernyataan majemuk begin ……..end {………..}
Baik aksi, aksi1, maupun aksi2 bisa merupakan
pernyataan tunggal maupun pernyataan majemuk. Selain itu, bila kondisi bertipe
ordinal, seperti : integer, byte atau yang lain (kecuali real atau string),
bisa digunakan pernyataan dibawah ini :
Algoritmik
Pascal C
case (nama)
:aksi1
:aksi2
……….
:aksiN
else : aksiX
endcase case (nama) of
:aksi1;
:aksi2;
……….
:aksiN;
else : aksiX;
end; switch (nama) { Case label1:aksi1;
break;
Case label2:aksi2;
break;
……….
Case labelN:aksiN;
break;
default : aksix;}
3) Perulangan/ Loop
Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemempuannya untuk melaksanakan suatu instruksi berulangkali tanpa mengenal lelah dan bosan. Didalam algoritma, pengulangan atau kalang (repetition atau loop) dapat dilakukan sejumlah kali, atau sampai kondisi berhenti pengulangan tercapai.
a) Struktur pengulangan
Struktur pengulangan terdiri atas dua bagian :
Ø Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melakukan pengulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit).
Ø Badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang.
case (nama)
:aksi1
:aksi2
……….
:aksiN
else : aksiX
endcase case (nama) of
:aksi1;
:aksi2;
……….
:aksiN;
else : aksiX;
end; switch (nama) { Case label1:aksi1;
break;
Case label2:aksi2;
break;
……….
Case labelN:aksiN;
break;
default : aksix;}
3) Perulangan/ Loop
Salah satu kelebihan komputer dibandingkan dengan manusia adalah kemempuannya untuk melaksanakan suatu instruksi berulangkali tanpa mengenal lelah dan bosan. Didalam algoritma, pengulangan atau kalang (repetition atau loop) dapat dilakukan sejumlah kali, atau sampai kondisi berhenti pengulangan tercapai.
a) Struktur pengulangan
Struktur pengulangan terdiri atas dua bagian :
Ø Kondisi pengulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melakukan pengulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit).
Ø Badan (body) pengulangan, yaitu satu atau lebih aksi yang akan diulang.
b)
Struktur WHILE-DO
Bentuk umum struktur while-do adalah :
While do
Aksi
endwhile
Penjelasan :
Aksi akan dilaksanakan berulangkali sepanjang boolean masih tetap bernilai true. Jika bernilai false, badan pengulangan tidak akan dilaksanakan. Pengulangan selesai.
Bentuk umum struktur while-do adalah :
While do
Aksi
endwhile
Penjelasan :
Aksi akan dilaksanakan berulangkali sepanjang boolean masih tetap bernilai true. Jika bernilai false, badan pengulangan tidak akan dilaksanakan. Pengulangan selesai.
c)
Struktur REPEAT-UNTIL
Bentuk umum struktur repeat-until adalah :
Bentuk umum struktur repeat-until adalah :
Repeat
aksi
Until
aksi
Until
Penjelasan
:
Notasi ini mendasarkan pengulangan pada kondisi berhenti. Aksi didalam badan kalang diulang sampai kondisi berhenti boolean bernilai true. Dengan kata lain, jika kondisi berhenti masih salah, pengulangan masih terus dilakukan. Karena pengulangan harus berhenti, maka didalam badan kalang harus ada aksi yang mengubah harga kondisi.
Struktur repeat-until memiliki makna yang sama dengan while-do, dan dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain. Namun ada perbedaan yang mendasar diantara keduanya. Pada struktur repeat-until, aksi dilakukan minimal satu kali, karena kondisi pengulangan diperiksa pada akhir struktur, sedangkan pada struktur while-do kondisi pengulangan diperiksa pada awal struktur sehingga memungkinkan pengulangan tidak akan pernah dilaksanakan bila kondisi pengulangan bernilai false.
d) Struktur FOR
Struktur for digunakan untuk menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapun. Struktur ini menyebabkan aksi diulangi sejumlah kali (tertentu). Bentuk umum struktur FOR ada 2 macam : menaik (ascending) atau menurun (descending).
FOR menaik :
nilai_awal to nilai_akhir doßfor peubah
Aksi
endfor
Keterangan :
Ø Aksi akan dilakukan berulang-ulang selama peubah diberi nilai dari nilai_awal s/d nilai_akhir dengan step1.
Ø Peubah : bertipe integer atau karakter
Ø Nilai_awal, nilai_akhir : hasilnya bertipe sama dengan tipe peubah
Ø Nilai_akhir >= nilai_awal, jika tidak maka aksi tidak akan dilakukan
Ø Aksi : satu aksi atau beberapa aksi dalam blok begin – end.
FOR menurun :
nilai_akhir downto nilai_awal doßfor peubah
Aksi
Endfor
Notasi ini mendasarkan pengulangan pada kondisi berhenti. Aksi didalam badan kalang diulang sampai kondisi berhenti boolean bernilai true. Dengan kata lain, jika kondisi berhenti masih salah, pengulangan masih terus dilakukan. Karena pengulangan harus berhenti, maka didalam badan kalang harus ada aksi yang mengubah harga kondisi.
Struktur repeat-until memiliki makna yang sama dengan while-do, dan dalam beberapa masalah kedua struktur tersebut komplemen satu sama lain. Namun ada perbedaan yang mendasar diantara keduanya. Pada struktur repeat-until, aksi dilakukan minimal satu kali, karena kondisi pengulangan diperiksa pada akhir struktur, sedangkan pada struktur while-do kondisi pengulangan diperiksa pada awal struktur sehingga memungkinkan pengulangan tidak akan pernah dilaksanakan bila kondisi pengulangan bernilai false.
d) Struktur FOR
Struktur for digunakan untuk menghasilkan pengulangan sejumlah kali tanpa penggunaan kondisi apapun. Struktur ini menyebabkan aksi diulangi sejumlah kali (tertentu). Bentuk umum struktur FOR ada 2 macam : menaik (ascending) atau menurun (descending).
FOR menaik :
nilai_awal to nilai_akhir doßfor peubah
Aksi
endfor
Keterangan :
Ø Aksi akan dilakukan berulang-ulang selama peubah diberi nilai dari nilai_awal s/d nilai_akhir dengan step1.
Ø Peubah : bertipe integer atau karakter
Ø Nilai_awal, nilai_akhir : hasilnya bertipe sama dengan tipe peubah
Ø Nilai_akhir >= nilai_awal, jika tidak maka aksi tidak akan dilakukan
Ø Aksi : satu aksi atau beberapa aksi dalam blok begin – end.
FOR menurun :
nilai_akhir downto nilai_awal doßfor peubah
Aksi
Endfor
Keterangan
:
Ø Nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki.
Ø Pada awalnya, peubah diinisialisasi dengan nilai_akhir. Nilai peubah secara otomatis berkurang satu setiap kali aksi diulangi, sampai akhirnya nilai peubah sama dengan nilai_awal
Ø Peubah : bertipe integer atau karakter
Ø Jumlah pengulangan yang terjadi adalah nilai_awal-nilai_akhir +1.
c. Rangkuman 2
Dengan mengetahui tipe data dasar pada suatu bahasa pemrograman tertentu maka diharapkan peserta dapat mengidentifikasi suatu data sesuai dengan tipe datanya. Dalam melakukan pemilihan dan perulangan peserta diharapkan mampu memilih jenis-jenis pemilihan dan perulangan yang sesuai.
d. Tugas 2
1) Pelajarilah uraian materi tentang tipe data dasar !
2) Pelajarilah uraian materi tentang pemilihan!
3) Pelajarilah uraian materi tentang perulangan !
e. Tes Formatif 2
1) Tentukan jenis data dari data yang terdapat pada variabel dibawah ini :
a) Nama : shofwa, zaki, imam, mira
b) Alamat asal : jogja, solo, semarang
c) Status Menikah : ya, tidak
d) Berat badan : 23.3, 40.8, 50.7, 1.0
e) Umur : 23, 45, 65, 1, 3, 7
2) Buatlah algoritma dan flowchartnya untuk menentukan bilangan terbesar antara dua bilangan bulat?
3) Sebutkan 3 macam notasi struktur pengulangan ?
4) Buatlah algoritma dan flowchartnya untuk mencetak bilangan 1 sampai 4 menggunakan perulangan ?
f. Kunci jawaban tes formatif 2
1) Tipe Data dari masing-masing variabel adalah sebagai berikut :
a) Tipe data variabel nama adalah string
b) Tipe data variabel alamat asal adalah string
c) Tipe data variabel status menikah adalah boolean
d) Tipe data variabel berat badan adalah real
e) Tipe data variabel umur adalah integer
2) Algoritma untuk menentukan bilangan terbesar antara dua bilangan bulat :
Algoritma maksimum
{menentukan nilai terbesar antara 2 buah bilangan bulat}
Deklarasi
A, B : integer
Deskripsi
read(A,B)
if (A>B) then write(‘Bilangan terbesar adalah =’A)
else write(‘Bilangan terbesar adalah =’ B)
endif
Ø Nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki.
Ø Pada awalnya, peubah diinisialisasi dengan nilai_akhir. Nilai peubah secara otomatis berkurang satu setiap kali aksi diulangi, sampai akhirnya nilai peubah sama dengan nilai_awal
Ø Peubah : bertipe integer atau karakter
Ø Jumlah pengulangan yang terjadi adalah nilai_awal-nilai_akhir +1.
c. Rangkuman 2
Dengan mengetahui tipe data dasar pada suatu bahasa pemrograman tertentu maka diharapkan peserta dapat mengidentifikasi suatu data sesuai dengan tipe datanya. Dalam melakukan pemilihan dan perulangan peserta diharapkan mampu memilih jenis-jenis pemilihan dan perulangan yang sesuai.
d. Tugas 2
1) Pelajarilah uraian materi tentang tipe data dasar !
2) Pelajarilah uraian materi tentang pemilihan!
3) Pelajarilah uraian materi tentang perulangan !
e. Tes Formatif 2
1) Tentukan jenis data dari data yang terdapat pada variabel dibawah ini :
a) Nama : shofwa, zaki, imam, mira
b) Alamat asal : jogja, solo, semarang
c) Status Menikah : ya, tidak
d) Berat badan : 23.3, 40.8, 50.7, 1.0
e) Umur : 23, 45, 65, 1, 3, 7
2) Buatlah algoritma dan flowchartnya untuk menentukan bilangan terbesar antara dua bilangan bulat?
3) Sebutkan 3 macam notasi struktur pengulangan ?
4) Buatlah algoritma dan flowchartnya untuk mencetak bilangan 1 sampai 4 menggunakan perulangan ?
f. Kunci jawaban tes formatif 2
1) Tipe Data dari masing-masing variabel adalah sebagai berikut :
a) Tipe data variabel nama adalah string
b) Tipe data variabel alamat asal adalah string
c) Tipe data variabel status menikah adalah boolean
d) Tipe data variabel berat badan adalah real
e) Tipe data variabel umur adalah integer
2) Algoritma untuk menentukan bilangan terbesar antara dua bilangan bulat :
Algoritma maksimum
{menentukan nilai terbesar antara 2 buah bilangan bulat}
Deklarasi
A, B : integer
Deskripsi
read(A,B)
if (A>B) then write(‘Bilangan terbesar adalah =’A)
else write(‘Bilangan terbesar adalah =’ B)
endif
Flowchart :
Gambar
4
Flowchat untuk Menentukan Bilangan Terbesar antara Dua Bilangan Bulat
Flowchat untuk Menentukan Bilangan Terbesar antara Dua Bilangan Bulat
3)
Tiga Macam notasi struktur pengulangan yaitu :
a) Struktur WHILE-DO
Bentuk umum struktur while-do adalah :
While do
Aksi
Endwhile
a) Struktur WHILE-DO
Bentuk umum struktur while-do adalah :
While do
Aksi
Endwhile
b)
Struktur REPEAT-UNTIL
Bentuk umum struktur repeat-until adalah :
Repeat
aksi
Until
Bentuk umum struktur repeat-until adalah :
Repeat
aksi
Until
c)
Struktur FOR
FOR menaik :
nilai_awal to nilai_akhir doßfor peubah
Aksi
endfor
FOR menurun :
nilai_akhir downto nilai_awal doßfor peubah
Aksi
endfor
FOR menaik :
nilai_awal to nilai_akhir doßfor peubah
Aksi
endfor
FOR menurun :
nilai_akhir downto nilai_awal doßfor peubah
Aksi
endfor
4)
Algoritma untuk mencetak bilangan 1 sampai 4 menggunakan perulangan
a) For loop
Algoritma cetak_angka
Deklarasi
I : integer
Deskripsi
1 to 4 doßFor i
Write(i)
Endfor
Flowchart :
a) For loop
Algoritma cetak_angka
Deklarasi
I : integer
Deskripsi
1 to 4 doßFor i
Write(i)
Endfor
Flowchart :
Gambar
5
Flowchat Mencetak Bilangan 1 sampai 4 dengan For Loop
Flowchat Mencetak Bilangan 1 sampai 4 dengan For Loop
b)
While loop
Algoritma cetak_angka
Deklarasi
I : integer
Deskripsi
1ßI
While(i4)
Endrepeat
Flowchart :
Algoritma cetak_angka
Deklarasi
I : integer
Deskripsi
1ßI
While(i4)
Endrepeat
Flowchart :
Gambar
7
Flowchat Mencetak Bilangan 1 sampai 4 dengan Repeat Until
g. Lembar Kerja 2
Alat dan Bahan
Seperangkat komputer yang telah diinstal dengan Microsoft Visio dan program turbo pascal dan turbo C.
Kesehatan dan Keselamatan Kerja
1) Berdo’alah sebelum memulai kegiatan belajar !
2) Bacalah dan pahami petunjuk praktikum pada setiap lembar kegiatan belajar!
3) Bila telah selesai matikan komputer sesuai dengan prosedur!
Langkah Kerja
1) Pelajari dan data yang ada dan tentukan variabel dengan tipe data yang sesuai.
2) Pilihlah jenis pemilihan kondisi atau perulangan yang sesuai dengan masalah atau data
3) Buatlah flowchart dengan microsoft visio
4) Aplikasikan dalam program menggunakan turbo pascal dan turbo C
Flowchat Mencetak Bilangan 1 sampai 4 dengan Repeat Until
g. Lembar Kerja 2
Alat dan Bahan
Seperangkat komputer yang telah diinstal dengan Microsoft Visio dan program turbo pascal dan turbo C.
Kesehatan dan Keselamatan Kerja
1) Berdo’alah sebelum memulai kegiatan belajar !
2) Bacalah dan pahami petunjuk praktikum pada setiap lembar kegiatan belajar!
3) Bila telah selesai matikan komputer sesuai dengan prosedur!
Langkah Kerja
1) Pelajari dan data yang ada dan tentukan variabel dengan tipe data yang sesuai.
2) Pilihlah jenis pemilihan kondisi atau perulangan yang sesuai dengan masalah atau data
3) Buatlah flowchart dengan microsoft visio
4) Aplikasikan dalam program menggunakan turbo pascal dan turbo C
3.
Kegiatan belajar 3 : Melakukan perancangan pengumpulan data
a. Tujuan Kegiatan Pemelajaran
Peserta diklat mampu Melakukan perancangan pengumpulan data
b. Uraian materi 3
1) Stack/Tumpukan
Salah satu konsep yang sangat berguna di dalam ilmu komputer adalah satu bentuk struktur data yang disebut tumpukan (stack). Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakkan di atas data yang lain. Satu hal yang perlu diingat bahwa dalam stack bisa menambah (menyisipkan) data, dan mengambil (menghapus) data lewat ujung yang sama, yang disebut sebagai ujung atas tumpukan (top of stack). Stack merupakan suatu senarai (list) yang mempunyai sifat “masuk terakhir keluar pertama (last in first out – LIFO)
a. Tujuan Kegiatan Pemelajaran
Peserta diklat mampu Melakukan perancangan pengumpulan data
b. Uraian materi 3
1) Stack/Tumpukan
Salah satu konsep yang sangat berguna di dalam ilmu komputer adalah satu bentuk struktur data yang disebut tumpukan (stack). Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakkan di atas data yang lain. Satu hal yang perlu diingat bahwa dalam stack bisa menambah (menyisipkan) data, dan mengambil (menghapus) data lewat ujung yang sama, yang disebut sebagai ujung atas tumpukan (top of stack). Stack merupakan suatu senarai (list) yang mempunyai sifat “masuk terakhir keluar pertama (last in first out – LIFO)
Gambar 8. Ilustrasi Stack
Operasi
pada tumpukan
Ada dua operasi dasar yang bisa dilaksanakan pada sebuah tumpukan, yaitu operasi menyisipkan data atau mempush data dan operasi menghapus data atau mempop data. Contoh pemakaian tumpukan dalam membalik kalimat dengan melakukan pembalikan perkata, sebagai contoh, jika kalimat yang dibaca adalah :
BELAJAR PASCAL ADALAH MUDAH DAN MENYENANGKAN
Setelah dibalik, maka kalimat diatas menjadi :
NAKGNANEYNEM NAD HADUM HALADA LACSAP RAJALEB
2) Queue / Antrian
Antrian merupakan satu jenis struktur data yang sering digunakan untuk mensimulasikan keadaan dunia nyata. Antrian adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Istilah yang digunakan apabila seseorang masuk dalam sebuah antrian adalah Enqueue. Sedangkan istilah yang sering dipakai bila seseorang keluar dari antrian adalah Dequeue. Tumpukan menggunakan prinsip “masuk terakhir keluar pertama” atau LIFO (Last In First Out), maka pada antrian prinsip yang digunakan adalah “masuk pertama keluar pertama” atau FIFO (First In First Out). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya. Antrian banyak kita jumpai dalam kehidupan sehari-hari. Mobil-mobil yang antri membeli karcis di pintu jalan tol akan membentuk antrian; orang-orang yang membeli karcis untuk menyaksikan film akan membentuk antrian, dan contoh-contoh lain yang banyak dijumpai dalam kehidupan sehari-hari.
3) Tree / Pohon
Tree adalah bentuk struktur data tak linear yang mempunyai sifat-sifat dan ciri-ciri khusus. Struktur ini biasanya digunakan untuk menggambarkan hubungan yang bersifat hirarkis antara elemen-elemen yang ada. Contoh paling sederhana yang bisa kita lihat dalam kehidupan sehari-hari, khususnya dalam keluarga adalah silsilah keluarga. Gambar di bawah menunjukkan puhon silsilah keluarga Abdul Kholiq sampai dengan cucunya. Pohon seperti gambar di bawah disebut dengan linear chart dimana setiap elemen bisa mempunyai lebih dari dua buah cabang.
GamGambar 9. Contoh Nyata Fungsi Tree
Ada dua operasi dasar yang bisa dilaksanakan pada sebuah tumpukan, yaitu operasi menyisipkan data atau mempush data dan operasi menghapus data atau mempop data. Contoh pemakaian tumpukan dalam membalik kalimat dengan melakukan pembalikan perkata, sebagai contoh, jika kalimat yang dibaca adalah :
BELAJAR PASCAL ADALAH MUDAH DAN MENYENANGKAN
Setelah dibalik, maka kalimat diatas menjadi :
NAKGNANEYNEM NAD HADUM HALADA LACSAP RAJALEB
2) Queue / Antrian
Antrian merupakan satu jenis struktur data yang sering digunakan untuk mensimulasikan keadaan dunia nyata. Antrian adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Istilah yang digunakan apabila seseorang masuk dalam sebuah antrian adalah Enqueue. Sedangkan istilah yang sering dipakai bila seseorang keluar dari antrian adalah Dequeue. Tumpukan menggunakan prinsip “masuk terakhir keluar pertama” atau LIFO (Last In First Out), maka pada antrian prinsip yang digunakan adalah “masuk pertama keluar pertama” atau FIFO (First In First Out). Dengan kata lain, urutan keluar elemen akan sama dengan urutan masuknya. Antrian banyak kita jumpai dalam kehidupan sehari-hari. Mobil-mobil yang antri membeli karcis di pintu jalan tol akan membentuk antrian; orang-orang yang membeli karcis untuk menyaksikan film akan membentuk antrian, dan contoh-contoh lain yang banyak dijumpai dalam kehidupan sehari-hari.
3) Tree / Pohon
Tree adalah bentuk struktur data tak linear yang mempunyai sifat-sifat dan ciri-ciri khusus. Struktur ini biasanya digunakan untuk menggambarkan hubungan yang bersifat hirarkis antara elemen-elemen yang ada. Contoh paling sederhana yang bisa kita lihat dalam kehidupan sehari-hari, khususnya dalam keluarga adalah silsilah keluarga. Gambar di bawah menunjukkan puhon silsilah keluarga Abdul Kholiq sampai dengan cucunya. Pohon seperti gambar di bawah disebut dengan linear chart dimana setiap elemen bisa mempunyai lebih dari dua buah cabang.
GamGambar 9. Contoh Nyata Fungsi Tree
Istilah-Istilah
Dasar
Secara sederhana pohon bisa didefinisikan sebagai kumpulan elemen yang salah satu elemennya disebut dengan akar (root), dan sisa elemen yang lain (yang disebut simpul) terpecah menjadi sejumlah menjadi himpunan yang saling tidak berhubungan satu sama lain, yang disebut dengan subpohon (subtree), atau juga disebut dengan cabang. Jika kita lihat pada setiap subpohon, maka subpohon inipun juga mempunyai akar dan sub-subpohonnya masing-masing. Dalam gambar di atas akarnya adalah Abdul Kholiq, yang mempunyai dua subpohon. Subpohon yang pertama berakar pada Arwani, dan subpohon yang kedua berakar pada Rif’ah. Selanjutnya jika kita lihat pada subpohon Arwani, maka subpohon ini juga mempunyai tiga buah subpohon, yaitu yang berakar pada Shofwa, Mila dan Didin. Begitu juga dengan subpohon yang berakar pada Rif’ah, maka subpohon ini juga mempunyai dua buah subpohon, yaitu yang berakar pada Ida dan Alin.
Secara sederhana pohon bisa didefinisikan sebagai kumpulan elemen yang salah satu elemennya disebut dengan akar (root), dan sisa elemen yang lain (yang disebut simpul) terpecah menjadi sejumlah menjadi himpunan yang saling tidak berhubungan satu sama lain, yang disebut dengan subpohon (subtree), atau juga disebut dengan cabang. Jika kita lihat pada setiap subpohon, maka subpohon inipun juga mempunyai akar dan sub-subpohonnya masing-masing. Dalam gambar di atas akarnya adalah Abdul Kholiq, yang mempunyai dua subpohon. Subpohon yang pertama berakar pada Arwani, dan subpohon yang kedua berakar pada Rif’ah. Selanjutnya jika kita lihat pada subpohon Arwani, maka subpohon ini juga mempunyai tiga buah subpohon, yaitu yang berakar pada Shofwa, Mila dan Didin. Begitu juga dengan subpohon yang berakar pada Rif’ah, maka subpohon ini juga mempunyai dua buah subpohon, yaitu yang berakar pada Ida dan Alin.
Gambar 10. Ilustrasi Fungsi Tree
Jika
kita perhatikan gambar tree di atas, maka akar dinyatakan sebagai tinkat 0 dan
simpul-simpul lainnya dinyatakan bertingkat 1 lebih tinggi dari ayahnya. Selain
definisi di atas ada juga beberapa buku yang menyatakan bahwa tingkat (level)
suatu simpul ditentukan dengan pertama kali menentukan akar sebagai bertingkat
1. jika suatu simpul dinyatakan sebagai tingkat N, maka simpul-simpul yang
merupakan anaknya dikatakan berada dalam tingkat N+1.
Selain tingkat, juga dikenal istilah derajat (degree) dari suatu simpul. Derajat suatu simpul dinyatakan sebagai banyaknya anak atau turunan dari simpul tersebut.
Daun juga sering disebut dengan simpul luar (external node). Sehingga simpul lain , kecuali akar, juga sering disebut dengan simpul dalam (internal node).
Tinggi (height) atau kedalaman (depth) dari suatu pohon adalah tingkat maksimum dari simpul dalam pohon tersebut dikurangi dengan 1.
Ancestor suatu simpul adalah semua simpul yang terletak dalam satu jalur dengan simpul tersebut dari akar sampai simpul yang ditinjau.
Hutan (forest) adalah kumpulan sejumlah pohon yang tidak saling berhubungan.
4) Graph
Graph bisa dibayangkan sebagai kumpulan obyek atau aktivitas, sebagai contoh, rute bis kota dari satu terminal ke terminal lain, rute perjalanan pak pos pada saat ia mengantar surat dari satu rumah ke rumah lain, dan contoh-contoh lain yang bisa disajikan sebagai suatu graph. Contoh kedua diatas merupakan contoh klasik dengan teori graph yang lebih dikenal dengan travelling salesman problem atau shortest path problem, yang pada prinsipnya mencari jalur terpendek dari semua tempat yang harus dipenuhi, sehingga bisa menghemat waktu, tenaga, maupun biaya. Graph secara umum bisa didefinisikan sebagai kumpulan titik (nodes atau vertices) dan garis (arcs atau edges). Karena garis selalu diawali dengan suatu titik dan diakhiri pada titik yang lain, maka garis bisa dituliskan sebagai pasangan antara dua titik.
Selain tingkat, juga dikenal istilah derajat (degree) dari suatu simpul. Derajat suatu simpul dinyatakan sebagai banyaknya anak atau turunan dari simpul tersebut.
Daun juga sering disebut dengan simpul luar (external node). Sehingga simpul lain , kecuali akar, juga sering disebut dengan simpul dalam (internal node).
Tinggi (height) atau kedalaman (depth) dari suatu pohon adalah tingkat maksimum dari simpul dalam pohon tersebut dikurangi dengan 1.
Ancestor suatu simpul adalah semua simpul yang terletak dalam satu jalur dengan simpul tersebut dari akar sampai simpul yang ditinjau.
Hutan (forest) adalah kumpulan sejumlah pohon yang tidak saling berhubungan.
4) Graph
Graph bisa dibayangkan sebagai kumpulan obyek atau aktivitas, sebagai contoh, rute bis kota dari satu terminal ke terminal lain, rute perjalanan pak pos pada saat ia mengantar surat dari satu rumah ke rumah lain, dan contoh-contoh lain yang bisa disajikan sebagai suatu graph. Contoh kedua diatas merupakan contoh klasik dengan teori graph yang lebih dikenal dengan travelling salesman problem atau shortest path problem, yang pada prinsipnya mencari jalur terpendek dari semua tempat yang harus dipenuhi, sehingga bisa menghemat waktu, tenaga, maupun biaya. Graph secara umum bisa didefinisikan sebagai kumpulan titik (nodes atau vertices) dan garis (arcs atau edges). Karena garis selalu diawali dengan suatu titik dan diakhiri pada titik yang lain, maka garis bisa dituliskan sebagai pasangan antara dua titik.
c.
Rangkuman 3
Struktur data yang digunakan pada algoritma pemrograman ada beberapa metode, yaitu : stack, queue, tree, graph. Pemilihan metode yang digunakan sangat bergantung dengan data, baik dalam proses pengumpulan maupun penyimpanannya.
d. Tugas 3
1) Pelajarilah uraian materi tentang prinsip dan fungsi stack!
2) Pelajarilah uraian materi tentang prinsip dan fungsi antrian (queue)!
3) Pelajarilah uraian materi tentang prinsip dan fungsi pohon (tree)!
4) Pelajarilah uraian materi tentang prinsip dan fungsi graph!
e. Tes Formatif 3
1) Diberikan data sebagai berikut yang diimplementasikan pada suatu stack atau antrian:
a) Data = 081822828998
Lakukan operasi :
§ pop
§ push = 67
§ push = 55
§ pop
§ pop
b) Data = Yogyakarta
Lakukan operasi :
• push = Kota P
• push = elajar &
• push = Bud
• push = aya
• pop
• pop
c) Data = melakukan kebaikan
Lakukan operasi :
• pop
• pop
• pop
• push = ya
d) Data = Belajar yang Rajin
Lakukan operasi :
• push = biar sukses
• push = ….
• pop
• pop
e) Data = Teknik informatika
Lakukan operasi :
• pop
• pop
• pop
• pop
• push = oke
Struktur data yang digunakan pada algoritma pemrograman ada beberapa metode, yaitu : stack, queue, tree, graph. Pemilihan metode yang digunakan sangat bergantung dengan data, baik dalam proses pengumpulan maupun penyimpanannya.
d. Tugas 3
1) Pelajarilah uraian materi tentang prinsip dan fungsi stack!
2) Pelajarilah uraian materi tentang prinsip dan fungsi antrian (queue)!
3) Pelajarilah uraian materi tentang prinsip dan fungsi pohon (tree)!
4) Pelajarilah uraian materi tentang prinsip dan fungsi graph!
e. Tes Formatif 3
1) Diberikan data sebagai berikut yang diimplementasikan pada suatu stack atau antrian:
a) Data = 081822828998
Lakukan operasi :
§ pop
§ push = 67
§ push = 55
§ pop
§ pop
b) Data = Yogyakarta
Lakukan operasi :
• push = Kota P
• push = elajar &
• push = Bud
• push = aya
• pop
• pop
c) Data = melakukan kebaikan
Lakukan operasi :
• pop
• pop
• pop
• push = ya
d) Data = Belajar yang Rajin
Lakukan operasi :
• push = biar sukses
• push = ….
• pop
• pop
e) Data = Teknik informatika
Lakukan operasi :
• pop
• pop
• pop
• pop
• push = oke
2)
Diberikan data sebagai berikut yang diimplementasikan pada suatu queue atau
antrian :
a) Data = shofwatul
Lakukan operasi :
§ Enqueue = ma
§ Dequeue
§ Dequeue
§ Enqueue = iuyun
§ Enqueue = da ri
b) Data = sekolah
Lakukan operasi :
• Dequeue
• Enqueue = jangan
• Dequeue
c) Data = universi
Lakukan operasi :
• Enqueue = tas
• Dequeue
• Dequeue
3) Jelaskan dan sebutkan komponen dari tree yang termasuk tingkat (level), derajat (degree), daun (leaf), tinggi (height) atau kedalaman (depth) dan ancestor pada gambar tree dibawah ini
Gambar 11. Gambar Soal 3)
a) Data = shofwatul
Lakukan operasi :
§ Enqueue = ma
§ Dequeue
§ Dequeue
§ Enqueue = iuyun
§ Enqueue = da ri
b) Data = sekolah
Lakukan operasi :
• Dequeue
• Enqueue = jangan
• Dequeue
c) Data = universi
Lakukan operasi :
• Enqueue = tas
• Dequeue
• Dequeue
3) Jelaskan dan sebutkan komponen dari tree yang termasuk tingkat (level), derajat (degree), daun (leaf), tinggi (height) atau kedalaman (depth) dan ancestor pada gambar tree dibawah ini
Gambar 11. Gambar Soal 3)
4)
Apa yang anda ketahui tentang graph dan bagaimana prinsip dari graph secara
umum ?
f. Kunci Jawaban tes formatif 3
1) Operasi pop adalah operasi menghapus data pada suatu stack. Operasi push adalah operasi menyisipakan data pada stack.
a) Data = 081822828998
Ø 08182282899àOperasi pop
Ø Operasi push (67) 0818228289967à
Ø 081822828996755àOperasi push (55)
Ø 08182282899675àOperasi pop
Ø Operasi pop 0818228289967à
b) Data = yogyakarta
Ø Operasi push(Kota P)
Yogyakarta Kota Pà
Ø Operasi push(elajar &)
Yogyakarta Kota Pelajarà &
Ø Operasi push(Bud)
Yogyakarta Kota Pelajarà &Bud
Ø Operasi push(aya)
Yogyakarta Kota Pelajarà &Budaya
Ø Operasi pop
Yogyakarta Kota Pelajarà &Buday
Ø Operasi pop
Yogyakarta Kota Pelajarà &Buda
c) Data = melakukan kebaikan
Ø melakukan kebaikaàOperasi pop
Ø melakukan kebaikàOperasi pop
Ø melakukan kebaiàOperasi pop
Ø melakukan kebaàOperasi pop
Ø melakukan kebayaàOperasi push(ya)
d) Data = Belajar yang Rajin
Ø Operasi push(biar sukses)
Belajar yang Rajinbiar suksesà
Ø Operasi push(….)
Belajar yang Rajinbiar sukses….à
Ø Operasi pop
Belajar yang Rajinbiar sukses…à
Ø Operasi pop
Belajar yang Rajinbiar sukses..à
e) Data = Teknik informatika
Ø Operasi pop Teknik informatikà
Ø Operasi pop Teknik informatià
Ø Operasi pop Teknik informatà
Ø Operasi pop Teknik informaà
Ø Operasi push(oke) Teknik informaokeà
2) Antrian (queue) adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Enqueue adalah Istilah yang digunakan apabila seseorang masuk dalam sebuah antrian. Sedangkan Dequeue adalah istilah yang sering dipakai bila seseorang keluar dari antrian .
a) Data = shofwatul
Ø shofwatulmaàOperasi enqueue(ma)
Ø Operasi dequeue hofwatulmaà
Ø Operasi dequeue ofwatulmaà
Ø Operasi enqueue(iuyun) ofwatulmaiuyunà
Ø Operasi enqueue(da ri) ofwatulmaiuyunda rià
b) Data = sekolah
Ø ekolahàOperasi dequeue
Ø ekolahjanganàOperasi enqueue(jangan)
Ø kolahjanganàOperasi dequeue
c) Data = universi
• universitasàOperasi enqueue(tas)
• niversitasàOperasi enqueue
• iversitasàOperasi dequeue
f. Kunci Jawaban tes formatif 3
1) Operasi pop adalah operasi menghapus data pada suatu stack. Operasi push adalah operasi menyisipakan data pada stack.
a) Data = 081822828998
Ø 08182282899àOperasi pop
Ø Operasi push (67) 0818228289967à
Ø 081822828996755àOperasi push (55)
Ø 08182282899675àOperasi pop
Ø Operasi pop 0818228289967à
b) Data = yogyakarta
Ø Operasi push(Kota P)
Yogyakarta Kota Pà
Ø Operasi push(elajar &)
Yogyakarta Kota Pelajarà &
Ø Operasi push(Bud)
Yogyakarta Kota Pelajarà &Bud
Ø Operasi push(aya)
Yogyakarta Kota Pelajarà &Budaya
Ø Operasi pop
Yogyakarta Kota Pelajarà &Buday
Ø Operasi pop
Yogyakarta Kota Pelajarà &Buda
c) Data = melakukan kebaikan
Ø melakukan kebaikaàOperasi pop
Ø melakukan kebaikàOperasi pop
Ø melakukan kebaiàOperasi pop
Ø melakukan kebaàOperasi pop
Ø melakukan kebayaàOperasi push(ya)
d) Data = Belajar yang Rajin
Ø Operasi push(biar sukses)
Belajar yang Rajinbiar suksesà
Ø Operasi push(….)
Belajar yang Rajinbiar sukses….à
Ø Operasi pop
Belajar yang Rajinbiar sukses…à
Ø Operasi pop
Belajar yang Rajinbiar sukses..à
e) Data = Teknik informatika
Ø Operasi pop Teknik informatikà
Ø Operasi pop Teknik informatià
Ø Operasi pop Teknik informatà
Ø Operasi pop Teknik informaà
Ø Operasi push(oke) Teknik informaokeà
2) Antrian (queue) adalah suatu kumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung (disebut dengan sisi belakang atau rear), dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front). Enqueue adalah Istilah yang digunakan apabila seseorang masuk dalam sebuah antrian. Sedangkan Dequeue adalah istilah yang sering dipakai bila seseorang keluar dari antrian .
a) Data = shofwatul
Ø shofwatulmaàOperasi enqueue(ma)
Ø Operasi dequeue hofwatulmaà
Ø Operasi dequeue ofwatulmaà
Ø Operasi enqueue(iuyun) ofwatulmaiuyunà
Ø Operasi enqueue(da ri) ofwatulmaiuyunda rià
b) Data = sekolah
Ø ekolahàOperasi dequeue
Ø ekolahjanganàOperasi enqueue(jangan)
Ø kolahjanganàOperasi dequeue
c) Data = universi
• universitasàOperasi enqueue(tas)
• niversitasàOperasi enqueue
• iversitasàOperasi dequeue
3) Tree adalah bentuk struktur data tak linear yang
mempunyai sifat-sifat dan ciri-ciri khusus.
Gambar 12. Gambar Jawaban Soal 3)
a) Aàtingkat (level) : tingkat 0/1
B, Càtingkat 1/2
D, E, F, G, Hàtingkat 2/3
I, J, K, L, Màtingkat 3/4
N, Oàtingkat 4/5
b) derajat (degree) : Simpul A mempunyai derajat 2
Simpul B mempunyai derajat 2
Simpul C mempunyai derajat 3
c) daun (leaf) : Simpul F, H, I, J, K, L, N, O berderajat 0
d) tinggi (height) atau kedalaman (depth): semua daun yang berakar pada A mempunyai tinggi atau kedalaman 4.
e) Ancestor dari simpul L adalah adalah A, C dan G
B, Càtingkat 1/2
D, E, F, G, Hàtingkat 2/3
I, J, K, L, Màtingkat 3/4
N, Oàtingkat 4/5
b) derajat (degree) : Simpul A mempunyai derajat 2
Simpul B mempunyai derajat 2
Simpul C mempunyai derajat 3
c) daun (leaf) : Simpul F, H, I, J, K, L, N, O berderajat 0
d) tinggi (height) atau kedalaman (depth): semua daun yang berakar pada A mempunyai tinggi atau kedalaman 4.
e) Ancestor dari simpul L adalah adalah A, C dan G
4)
Graph secara umum bisa didefinisikan sebagai kumpulan titik (nodes atau vertices)
dan garis (arcs atau edges). Karena garis selalu diawali dengan suatu titik dan
diakhiri pada titik yang lain, maka garis bisa dituliskan sebagai pasangan
antara dua titik. Prinsip graph secara umum adalah mencari jalur terpendek dari
semua tempat yang harus dipenuhi, sehingga bisa menghemat waktu, tenaga, maupun
biaya.
g. Lembar Kerja3
Alat dan Bahan
Seperangkat alat tulis
Kesehatan dan Keselamatan Kerja
1) Berdo’alah sebelum memulai kegiatan belajar !
2) Bacalah dan pahami petunjuk praktikum pada setiap lembar kegiatan belajar!
3) Bila telah selesai matikan komputer sesuai dengan prosedur!
Langkah Kerja
1) Pelajari dan analisis data yang ada kemudian pelajari jika data tersebut menggunakan struktur data stack, queue, tree dan graph
2) Pelajari beberapa istilah yang ada pada struktur data stack, queue, tree dan graph.
g. Lembar Kerja3
Alat dan Bahan
Seperangkat alat tulis
Kesehatan dan Keselamatan Kerja
1) Berdo’alah sebelum memulai kegiatan belajar !
2) Bacalah dan pahami petunjuk praktikum pada setiap lembar kegiatan belajar!
3) Bila telah selesai matikan komputer sesuai dengan prosedur!
Langkah Kerja
1) Pelajari dan analisis data yang ada kemudian pelajari jika data tersebut menggunakan struktur data stack, queue, tree dan graph
2) Pelajari beberapa istilah yang ada pada struktur data stack, queue, tree dan graph.
BAB
III
EVALUASI
EVALUASI
A.
PERTANYAAN
1. Buatlah algoritma, flowchart kemudian translasikan kedalam bahasa pascal dan C kasus berikut : Carilah konversi suhu dari Celcius menjadi Reamur, Fahrenheit dan Kelvin
2. Buatlah algoritma dan flowchart dari kasus Konversikan nilai angka menjadiberikut : nilai huruf dengan ketentuan sebagai berikut :
Nilai angka Nilai Huruf
0-20 E
21-40 D
41-60 C
61-80 B
81-100 A
1. Buatlah algoritma, flowchart kemudian translasikan kedalam bahasa pascal dan C kasus berikut : Carilah konversi suhu dari Celcius menjadi Reamur, Fahrenheit dan Kelvin
2. Buatlah algoritma dan flowchart dari kasus Konversikan nilai angka menjadiberikut : nilai huruf dengan ketentuan sebagai berikut :
Nilai angka Nilai Huruf
0-20 E
21-40 D
41-60 C
61-80 B
81-100 A
B.
KUNCI JAWABAN EVALUASI
1. Analisis :
Rumus konversi dari Celcius menjadi Reamur, Fahrenheit, dan Kelvin adalah sebagai berikut :
Ø Reamur : 4/5 celcius
Ø Fahrenheit : 9/5 celcius +32
Ø Kelvin : celcius + 273
1. Analisis :
Rumus konversi dari Celcius menjadi Reamur, Fahrenheit, dan Kelvin adalah sebagai berikut :
Ø Reamur : 4/5 celcius
Ø Fahrenheit : 9/5 celcius +32
Ø Kelvin : celcius + 273
jwb:
Algoritma :
Algoritma menghitung konversi suhu
Deklarasi
C : integer
K : real
F : real
R : real
Deskripsi
Read (C)
4/5*CßR
9/5*C+32ßF
C+273ßK
Write(R,F,K)
Flowchart :
Algoritma :
Algoritma menghitung konversi suhu
Deklarasi
C : integer
K : real
F : real
R : real
Deskripsi
Read (C)
4/5*CßR
9/5*C+32ßF
C+273ßK
Write(R,F,K)
Flowchart :
Gambar
13. Flowchart Jawaban Soal 1
Bahasa Pascal :
Program konversi_suhu;
Uses wincrt;
Var
C : integer;
R, f, k : real;
Begin
Write(‘Masukkan suhu derajat celcius : ‘);readln (c);
R := 4/5+c;
F := 9/5*c+32;
K := c+273;
Writeln(‘Reamur =’,r);
Writeln(‘Fahrenheit =’,f);
Writeln(‘Kelvin =’,k);
End.
Bahasa C :
#include
Main() {
Int c;
Float k, f, r;
Printf (“Masukkan suhu derajat celcius : “);=
Scanf(“%d”,&c);
R = 4/5.0+c;
F = 9/5.0*c+32;
K = c+273;
Printf(“Reamur = %f“,r);
Printf(“Fahrenheit = %f“,f);
Printf(“Kelvin = %f“,k);
Return 0;}
Bahasa Pascal :
Program konversi_suhu;
Uses wincrt;
Var
C : integer;
R, f, k : real;
Begin
Write(‘Masukkan suhu derajat celcius : ‘);readln (c);
R := 4/5+c;
F := 9/5*c+32;
K := c+273;
Writeln(‘Reamur =’,r);
Writeln(‘Fahrenheit =’,f);
Writeln(‘Kelvin =’,k);
End.
Bahasa C :
#include
Main() {
Int c;
Float k, f, r;
Printf (“Masukkan suhu derajat celcius : “);=
Scanf(“%d”,&c);
R = 4/5.0+c;
F = 9/5.0*c+32;
K = c+273;
Printf(“Reamur = %f“,r);
Printf(“Fahrenheit = %f“,f);
Printf(“Kelvin = %f“,k);
Return 0;}
2.
Algoritma :
Algoritma konversi nilai
Deklarasi
Nilai : integer
Nilai_huruf : char
Algoritma konversi nilai
Deklarasi
Nilai : integer
Nilai_huruf : char
Deskripsi
Read(nilai)
If(nilai>0)and(nilai20)and(nilai40)and(nilai60)and(nilai<’B’ß=80)then nilai_huruf
‘A’ßElse nilai_huruf
Endif
Write(nilai_huruf)
Read(nilai)
If(nilai>0)and(nilai20)and(nilai40)and(nilai60)and(nilai<’B’ß=80)then nilai_huruf
‘A’ßElse nilai_huruf
Endif
Write(nilai_huruf)
Flowchart :
Gambar 13. Flowchart Jawaban Soal 2
C.
KRITERIA KELULUSAN
Aspek Skor
(1-10) Bobot Nilai Keterangan
Soal 1 4 Syarat lulus nilai minimal 70 dan skor setiap aspek minimal 7
Soal 2 4
Ketepatan waktu 2
Nilai Akhir
Aspek Skor
(1-10) Bobot Nilai Keterangan
Soal 1 4 Syarat lulus nilai minimal 70 dan skor setiap aspek minimal 7
Soal 2 4
Ketepatan waktu 2
Nilai Akhir
Kategori
kelulusan:
70 – 79 : Memenuhi kriteria mininal. Dapat bekerja dengan bimbingan.
80 – 89 : Memenuhi kriteria minimal. Dapat bekerja tanpa bimbingan.
90 – 100 : Di atas kriteria minimal. Dapat bekerja tanpa bimbingan.
70 – 79 : Memenuhi kriteria mininal. Dapat bekerja dengan bimbingan.
80 – 89 : Memenuhi kriteria minimal. Dapat bekerja tanpa bimbingan.
90 – 100 : Di atas kriteria minimal. Dapat bekerja tanpa bimbingan.
DAFTAR PUSTAKA
Hartanto, Budi. (2003). Pembuatan Program C Secara
Mudah. . Andi Offset. Yogyakarta
Hendrowati, Retno & Hariyanto, Bambang. (2000).
Logika Matematika. Informatika. Bandung
Kadir, abdul. (2001). Pemrograman Dasar Turbo C. Andi
Offset. Yogyakarta
Munir, Rinaldi. (1999). Algoritma dan Pemrograman
dalam Bahasa Pascal dan C. Informatika. Bandung
Santosa, Insap. (1992). Struktur Data Menggunakan
Turbo Pascal 6.0. Andi Offset. Yogyakarta
Sanjaya, Dwi. (2001). Struktur Data di Planet Pascal.
J&J Learning. Yogyakarta
Komentar
Posting Komentar