39
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta Diperiksa oleh : 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat suatu algoritma dan kemudian mengimplementasikannya ke dalam bentuk program dengan bahasa pemrograman yang dikuasainya. 3. Dasar Teori Algoritma adalah sederetan langkah-langkah logis yang disusun secara sistematis. Algoritma lebih merupakan alur pemikiran untuk menyelesaikan suatu pekerjaan atau suatu masalah. Notasi algoritma : A. Uraian kalimat deskriptif (narasi) Contoh: 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. Algoritma Kelulusan_mhs DESKRIPSI : 1. baca nama dan nilai mahasiswa 2. jika nilai >= 60 maka 3. keterangan lulus 4. tetapi jika 5. keterangan tidak lulus 6. tulis nama dan keterangan B. Flow Chart

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

  • Upload
    leminh

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Pengenalan Algoritma dan Program 200 menitNo. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat suatu algoritma dan kemudian mengimplementasikannya ke dalam bentuk program dengan bahasa pemrograman yang dikuasainya.

3. Dasar Teori Algoritma adalah sederetan langkah-langkah logis yang disusun secara sistematis. Algoritma lebih merupakan alur pemikiran untuk menyelesaikan suatu pekerjaan atau suatu masalah. Notasi algoritma : A. Uraian kalimat deskriptif (narasi)

Contoh: 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. Algoritma Kelulusan_mhs DESKRIPSI : 1. baca nama dan nilai mahasiswa 2. jika nilai >= 60 maka 3. keterangan lulus 4. tetapi jika 5. keterangan tidak lulus 6. tulis nama dan keterangan

B. Flow Chart

Page 2: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Pengenalan Algoritma dan Program 200 menitNo. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

C. Pseudo Code

Algoritma kelulusan Deklarasi nama, keterangan : string nilai : integer Deskripsi read (nama, nilai) if nilai >= 60 then keterangan ‘lulus’ else keterangan ‘tidak lulus’ write(nama, keterangan)

4. Alat / Instrument / Aparatus / Bahan

5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program sesuai

dengan bahasa pemrograman yang anda kuasai.

7. Bahan Diskusi Buat algoritma dan program untuk : 1. Menghitung luas dan keliling lingkaran. 2. Mengkonversi suhu dari Celcius menjadi Reamur dan Farenheit dimana :

R = 4/5 * C F = 9/5 * C + 32

3. Mencari sisi miring dari suatu segitiga siku-siku, jika diketahui panjang sisi yang membentuk sudut siku-siku.

4. Mengkonversi detik ke jam, menit, dan detik.

8. Lampiran

Page 3: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Sederhana 200 menit

No. : LST/EKA/EKA259/02 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi Mengenal dan memahami algoritma percabangan yang sederhana.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah yang berkaitan dengan pemilihan keputusan yang sederhana dengan membuat algoritma percabangan dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Percabangan adalah suatu suatu perintah (pernyataan) yang memungkinkan suatu pernyataan dieksekusi jika suatu kondisi terpenuhi atau tidak terpenuhi. Bentuk suatu percabangan sederhana dengan if then else antara lain : A. if kondisi then aksi1

Bila tidak diinginkan mengerjakan sesuatu jika kondisi yang ditentukan tidak terpenuhi. Contoh : Jika suatu partikel bergerak makin lambat (mengalami perlambatan) maka nilai percepatannya adalah negatif. ALGORITMA DESKRIPSI : 1. baca Vt dan V0 2. jika Vt < V0 maka 3. a -a 4. tulis a

B. if kondisi then aksi1 else aksi2 Digunakan untuk menguji sebuah kondisi dimana jika kondisi terpenuhi maka perintah yang telah ditentukan akan dijalankan, tetapi jika kondisi tidak terpenuhi maka perintah yang lain yang akan dijalankan. Contoh: 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. ALGORITMA DESKRIPSI : 1. baca nama dan nilai mahasiswa 2. jika nilai >= 60 maka 3. keterangan lulus 4. tetapi jika 5. keterangan tidak lulus 6. tulis nama dan keterangan

C. if kondisi1 then aksi1 else if kondisi2 then aksi2 else aksi3

Hampir sama dengan bentuk percabangan kedua tetapi kondisi yang diuji lebih dari satu. Contoh : Mengidentifikasi suatu nilai yang dimasukkan, bilangan positif, bilangan negatif, atau nol. ALGORITMA DESKRIPSI :

Page 4: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Sederhana 200 menit

No. : LST/EKA/EKA259/02 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. baca nilai 2. jika nilai > 0 maka 3. keterangan nilai yang dimasukkan positif 4. tetapi jika nilai < 0 maka 5. keterangan nilai yang dimasukkan negatif 6. tetapi jika tidak 7. keterangan nilai yang dimasukkan nol 8. tulis keterangan

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program sesuai

dengan bahasa pemrograman yang anda kuasai.

7. Bahan Diskusi 1. Mengidentifikasi suatu nilai apakah nilai tersebut genap atau ganjil. 2. Menampilkan bilangan terbesar dari dua bilangan yang dimasukkan. 3. Konversi nilai angka ke huruf dimana :

90 <= nilai <= 100 : A 80 <= nilai <= 89 : B 70 <= nilai <= 79 : C 60 <= nilai <= 69 : D 0 <= nilai <= 59 : E

4. Pemberian bonus pembelian dimana : - Jika total pembelian >= 500000 dan jumlah barang > 5 maka

bonusnya Setrika - Jika total pembelian >= 100000 dan jumlah barang > 3 maka

bonusnya Payung - Jika total pembelian >=50000 atau jumlah barang > 2 maka bonusnya

ballpoint - Selainnya itu tidak mendapat bonus.

8. Lampiran

Page 5: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menitNo. : LST/EKA/EKA259/03 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi

Mengenal dan memahami algoritma percabangan yang komplek.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah yang berkaitan dengan pemilihan keputusan yang lebih komplek dengan membuat algoritma percabangan yang komplek pula baik dengan menggunakan struktur if then else maupun case of dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Percabangan komplek adalah bentuk percabangan yang mempunyai kondisi yang banyak. Bentuk percabangan ini kadang kala tidak menjadi efektif kalau menggunakan if then else. Untuk itu kita dapat menggunakan case of agar algoritma yang kita buat menjadi jauh lebih efektif daripada menggunakan if then else. Dengan kata lain case of digunakan untuk menyederhanakan bentuk if then else yang panjang. Untuk bahasa pemrograman tertentu case of diganti dengan menggunakan pernyataan switch (misal bahasa pemrograman C).Adapun bentuk percabangan dengan case of adalah : case kondisi of Kondisi1 : aksi1 Kondisi2 : aksi2 ....... KondisiN : aksiN Otherwise : aksi lainnya endcase Contoh : Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus jika nilai lebih kecil dari 50 maka dinyatakan tidak lulus. Bila nilainya 50 sampai dengan 59, maka harus mengikuti remidi.

Page 6: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menitNo. : LST/EKA/EKA259/03 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

FLOW CHART :

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program sesuai

dengan bahasa pemrograman yang anda kuasai.

7. Bahan Diskusi 1. Mengurutkan tiga bilangan yang dimasukkan dari kecil ke besar (dengan if

then else). 2. Konversi nilai angka ke huruf dengan case of dimana :

90 <= nilai <= 100 : A 80 <= nilai <= 89 : B 70 <= nilai <= 79 : C 60 <= nilai <= 69 : D 0 <= nilai <= 59 : E

3. Buat menu untuk pemilihan salah satu dari operasi matematika, yaitu penjumlahan, pengurangan, perkalian, atau pembagian dari dua buah bilangan yang dimasukkan. Pemilihan dilakukan dengan memasukkan angka pilihan, yaitu :

Page 7: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menitNo. : LST/EKA/EKA259/03 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1 untuk penjumlahan 2 untuk pengurangan 3 untuk perkalian 4 untuk pembagian

Jika pilihan yang dimasukkan tidak 1, 2, 3 atau 4, maka akan muncul pesan kesalahan pemilihan.

4. Pada suatu perusahaan, terdapat 5 golongan karyawan. Gaji karyawan

ditentukan berdasarkan gaji tetap dan juga dari lamanya bekerja (jumlah jam kerja per bulan). Gaji tetap dan gaji per jam tersebut tergantung kepada golongan karyawan sesuai dengan tabel berikut :

Golongan Gaji tetap Gaji per jam 1 500.000 5000 2 300.000 3000 3 250.000 2000 4 100.000 1500 5 50.000 1000

Jika karyawan bekerja lebih dari 150 jam, kelebihan dari 150 jam tersebut dihitung sebagai lembur, dengan gaji per jam 1,5 kali gaji biasa. Buat algoritma dan program untuk menghitung gaji seorang karyawan dimana input datanya nama karyawan, golongan, dan jumlah jam kerja. Sedangkan output-nya adalah besar gaji tetap, gaji per jam, jumlah jam kerja, jumlah jam lembur, jumlah gaji lembur, dan total gaji yang diterimanya.

8. Lampiran

Page 8: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Perulangan 200 menitNo. : LST/EKA/EKA259/04 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi Mengenal dan memahami algoritma perulangan.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah yang berkaitan dengan dijalankannya suatu perintah atau pernyataan secara diulang-ulang dengan algoritma perulangan dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Perulangan digunakan untuk mengerjakan suatu atau beberapa perintah secara berulang-ulang sesuai dengan yang diinginkan. Perulangan sederhana adalah perulangan yang hanya membutuhkan satu kali perulangan saja. Di dalam perulangan sederhana tidak ada nested loop. Perulangan mempunyai beberapa jenis, yaitu : A. while kondisi do aksi

Untuk C : while (kondisi) do aksi Perulangan ini dipilih jika kita tidak tahu berapa kali suatu pernyataan akan diulang-ulang. Banyak perulangan dilakukan melalui pemeriksaan suatu kondisi tertentu. Dengan demikian pemeriksaan kondisi terlebih dahulu dilakukan sebelum perulangan dijalankan. Jika kondisi yang diperiksa bernilai benar (true) maka perulangan akan dilakukan. Perulangan akan terus dilakukan sampai kondisi false.

Contoh :

B. repeat aksi until kondisi Untuk C : do aksi while kondisi Bentuk perulangan ini akan melakukan aksi terlebih dahulu (minimal dilakukan satu kali), kemudian baru melakukan pemeriksaan terhadap kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan. Perulangan akan dilakukan sampai kondisi false. Contoh :

Inisialisasi

Kondisi

Aksi

Perubahan kondisi

Page 9: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Perulangan 200 menitNo. : LST/EKA/EKA259/04 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

C. for variabel=nilai_awal to nilai_akhir do aksi Untuk C : for (nilai_awal;nilai_akhir;perubahan_kondisi) aksi Digunakan untuk perulangan yang batasnya sudah diketahui dengan jelas, misalnya dari 1 sampai 10. Memerlukan 2 buah variabel, variabel awal dan akhir perulangan. Nilai variabel penghitung/counter akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan.

Contoh :

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya.

Inisialisasi

Kondisi

Aksi

Perubahan kondisi

Kondisi

Aksi

Page 10: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Perulangan 200 menitNo. : LST/EKA/EKA259/04 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code untuk menyelesaikan masalah yang diberikan.

3. Implementasikan algoritma yang anda buat ke dalam bentuk program sesuai dengan bahasa pemrograman yang anda kuasai.

7. Bahan Diskusi 1. Buatlah program untuk menampilkan semua bilangan genap dari 1-20 dan

bilangan ganjil dari 30 – 50! 2. Buatlah tabel harga fotokopian dari 1 – 100 lembar, dimana harga perlembar

kertas adalah 80 rupiah! 3. Buat program untuk menampilkan:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

4. Memasukkan sejumlah data dan menghitung rata-ratanya. Pemasukan data berhenti jika masukkannya negatif.

5. Menentukan jumlah data yang akan dimasukkan, kemudian memasukkan datanya dan menghitung rata-ratanya.

8. Lampiran

Page 11: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Nested Looping 200 menitNo. : LST/EKA/EKA259/05 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi Mengenal dan memahami algoritma perulangan.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah yang berkaitan dengan dijalankannya suatu perintah atau pernyataan secara diulang-ulang dengan algoritma perulangan dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Perulangan digunakan untuk mengerjakan suatu atau beberapa perintah secara berulang-ulang sesuai dengan yang diinginkan. Perulangan sederhana adalah perulangan yang hanya membutuhkan satu kali perulangan saja. Di dalam perulangan sederhana tidak ada nested loop. Perulangan mempunyai beberapa jenis, yaitu : A. while kondisi do aksi

Untuk C : while (kondisi) do aksi Perulangan ini dipilih jika kita tidak tahu berapa kali suatu pernyataan akan diulang-ulang. Banyak perulangan dilakukan melalui pemeriksaan suatu kondisi tertentu. Dengan demikian pemeriksaan kondisi terlebih dahulu dilakukan sebelum perulangan dijalankan. Jika kondisi yang diperiksa bernilai benar (true) maka perulangan akan dilakukan. Perulangan akan terus dilakukan sampai kondisi false.

Contoh :

B. repeat aksi until kondisi Untuk C : do aksi while kondisi Bentuk perulangan ini akan melakukan aksi terlebih dahulu (minimal dilakukan satu kali), kemudian baru melakukan pemeriksaan terhadap

Inisialisasi

Kondisi

Aksi

Perubahan kondisi

Page 12: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Nested Looping 200 menitNo. : LST/EKA/EKA259/05 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

kondisi, jika kondisi benar maka perulangan masih akan tetap dilakukan. Perulangan akan dilakukan sampai kondisi false. Contoh :

C. for variabel=nilai_awal to nilai_akhir do aksi Untuk C : for (nilai_awal;nilai_akhir;perubahan_kondisi) aksi Digunakan untuk perulangan yang batasnya sudah diketahui dengan jelas, misalnya dari 1 sampai 10. Memerlukan 2 buah variabel, variabel awal dan akhir perulangan. Nilai variabel penghitung/counter akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan.

Contoh :

Inisialisasi

Kondisi

Aksi

Perubahan kondisi

Kondisi

Aksi

Page 13: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Nested Looping 200 menitNo. : LST/EKA/EKA259/05 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program sesuai

dengan bahasa pemrograman yang anda kuasai. 7. Bahan Diskusi

1. Buatlah program untuk menghitung deret penjumlahan. Contoh : Input : Bilangan 1 = 2 Bilangan 2 = 5 Output : 2 + 3 + 4 + 5 = 14 Apabila input bilangan 1 = 5 Bilangan 2 = 2 Maka output : 5 + 4 + 3 +2 = 14

Perulangan berhenti jika pilihan ‘mau coba lagi’ = ‘t’. Program perulangan dapat mengunakan repeat seperti di bawah ini : repeat clrscr; begin { PROGRAM DERET PENJUMLAHAN } write('Mau coba lagi (y/t) ? = '); readln(a); end; until a = 't';

2. Buatlah program untuk menampilkan deret penjumlahan kuadrat. Input : masukan bilangan yang akan dikuadratkan Output : jumlah kuadrat Contoh :

Page 14: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Nested Looping 200 menitNo. : LST/EKA/EKA259/05 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

Perulangan berhenti jika pilihan ‘mau coba lagi’ = ‘t’.

3. Buatlah program segitiga angka Contoh : Input : jumlah tumpukan = 5 Output : 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1

4. Buatlah segitiga angka seperti no diatas, tetapi di balik

5. Buatlah segitiga huruf

input : masukkan tumpukan huruf dan jumlah tumpukan contoh :

Page 15: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Nested Looping 200 menitNo. : LST/EKA/EKA259/05 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

8. Lampiran

Page 16: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Array 200 menitNo. : LST/EKA/EKA259/06 Revisi : 01 Tgl. : 10-3-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi

Mengenal dan memahami algoritma yang menggunakan tipe data array (larik).

2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat algoritma yang menggunakan tipe data array dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) dan jumlahnya tetap serta diberi nama tertentu, misalnya nilai : array [1..10] of integer; Contoh di atas merupakan variabel nilai yang mempunyai tipe data array dengan jumlah data maksimal 10 buah dan bertipe integer. Elemen-elemen array tersebut dapat bernilai sama maupun berbeda-beda. Setiap elemen pada array dapat diakses oleh program dengan menggunakan suatu indeks tertentu. Pengaksesan elemen array dapat dilakukan secara berurutan maupun random. Misal : data[2] mengakses data ke-2 pada array. Contoh : Menentukan jumlah data yang akan dimasukkan, kemudian memasukkan datanya dan menghitung rata-ratanya.

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

Page 17: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Array 200 menitNo. : LST/EKA/EKA259/06 Revisi : 01 Tgl. : 10-3-2014 Hal. 1 dari 3 hal.

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen

tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program sesuai

dengan bahasa pemrograman yang anda kuasai.

7. Bahan Diskusi Buat program untuk : 1. Menghitung total data, rata-rata, dan standar deviasi dari data yang

dimasukkan!

2. Mengurutkan data dari kecil ke besar.

Inputnya adalah jumlah data yang akan dimasukkan dan besar masing-masing datanya!

3. Dari tugas nomor 2 dihitung total jumlahnya, rata-ratanya, dan selisih data dengan rata-ratanya. Contoh tampilan input dan output-nya adalah sebagai berikut :

Input Data :

Output program :

8. Lampiran

Page 18: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sub Rutin 200 menitNo. : LST/EKA/EKA259/07 Revisi : 01 Tgl. : 21-3-2014 Hal. 1 dari 3 hal.

1. Kompetensi

Mengenal dan memahami tentang sub rutin dalam pemrograman.

2. Sub Kompetensi Dapat mengaplikasikan sub rutin pada program komputer.

3. Dasar Teori Sub rutin adalah suatu bagian dalam program yang dapat melakukan tugas tertentu. Jadi sub rutin merupakan “program kecil” yang menjadi bagian dari suatu program yang besar. Sub rutin ada dua macam, yaitu prosedur dan fungsi. Perbedaan antara keduanya adalah setelah dipanggil prosedur tidak mengembalikan suatu nilai sedangkan fungsi selalu mengembalikan suatu nilai.

Contoh prosedur 1 : algoritma sub_rutin procedure lingkaran

deklarasi const phi 3.14 luas,keliling : real jari : integer

deskripsi read(jari) luas phi*sqr(jari) keliling 2*phi*jari write(luas,keliling)

end procedure

deskripsi lingkaran

Contoh prosedur 2 : algoritma sub_rutin procedure lingkaran(jari : integer)

deklarasi const phi 3.14 luas,keliling : real

deskripsi luas phi*sqr(jari) keliling 2*phi*jari write(luas,keliling)

end procedure deklarasi

r : integer deskripsi

read(r) lingkaran(r)

Contoh prosedur 3 (pass by reference): algoritma sub_rutin procedure lingkaran(jari : integer; var luas,keliling : real)

deklarasi const phi 3.14

deskripsi luas phi*sqr(jari) keliling 2*phi*jari

end procedure deklarasi

luas,keliling : real r : integer

deskripsi

read(r)

Page 19: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sub Rutin 200 menitNo. : LST/EKA/EKA259/07 Revisi : 01 Tgl. : 21-3-2014 Hal. 1 dari 3 hal.

lingkaran(r,luas,keliling) write(luas,keliling)

Contoh fungsi : algoritma sub_rutin const phi 3.14 function luas(r : integer) : real

deskripsi luas phi*sqr(r)

end function function keliling(r : integer) : real

deskripsi keliling 2*phi*r

end function deklarasi

jari : integer l,k : real

deskripsi

read(jari) l luas(jari) k keliling(jari) write(l,k)

Alat / Instrument / Aparatus / Bahan

4. Keselamatan Kerja 5. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program dengan

menggunakan sub rutin.

6. Bahan Diskusi 1. Sebuah fungsi matematika didefinisikan sebagai berikut :

Dimana nilai X1 dan X2 adalah bilangan bulat, buatlah algoritma untuk prosedur (dengan pass by reference) dan fungsi dari rumus matematika tersebut dan gunakan dalam program utama.

2. Sebuah fungsi matematika akan mengembalikan hasil perhitungan dari

beberapa buah bilangan yang dimasukkan. Rumus dari fungsi matematika tersebut adalah :

Buatlah algoritma sub rutin untuk menghitung fungsi tersebut.

Page 20: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sub Rutin 200 menitNo. : LST/EKA/EKA259/07 Revisi : 01 Tgl. : 21-3-2014 Hal. 1 dari 3 hal.

3. Buat menu untuk pemilihan salah satu dari operasi matematika, yaitu

penjumlahan, pengurangan, perkalian, atau pembagian dari dua buah bilangan yang dimasukkan. Pemasukan data dan proses perhitungan dari setiap operasi matematika tersebut dilakukan oleh sub rutin. Pemilihan dilakukan dengan memasukkan angka pilihan, yaitu :

1 untuk penjumlahan 2 untuk pengurangan 3 untuk perkalian 4 untuk pembagian 0 untuk keluar dari program

Jika pilihan yang dimasukkan tidak 1, 2, 3 atau 4, maka akan muncul pesan kesalahan pemilihan dan perhitungan dapat dilakukan secara berulang kali.

7. Lampiran :

Page 21: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Rekursi 200 menitNo. : LST/EKA/EKA259/08 Revisi : 01 Tgl. : 23-3-2014 Hal. 1 dari 2 hal.

1. Kompetensi

Mengenal dan memahami tentang algoritma rekursi dalam pemrograman.

2. Sub Kompetensi Dapat menyelesaikan masalah dengan mengaplikasikan algoritma rekursi pada program komputer.

3. Dasar Teori Rekursi adalah kemampuan sub rutin untuk memanggil dirinya sendiri. Dengan demikian rekursi merupakan kemampuan prosedur atau fungsi untuk dari dalam prosedur atau fungsi itu sendiri.

Contoh rekursi 1 : algoritma rekursi1 procedure latihan1(n : integer)

deskripsi if n>1 then

latihan1(n-1) write(n)

end procedure

procedure latihan2(n : integer) deskripsi

if n>1 then write(n) latihan2(n-1)

end procedure

deskripsi latihan1(5) writeln latihan2(5)

Contoh rekursi 2 : algoritma rekursi2 function fungsi(n : integer) : integer

deskripsi if (n0) or (n1) then

fungsi 4 else

fungsi fungsi(n-1)+3 end function deklarasi

n : integer deskripsi

read(n) write(fungsi(n))

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma rekursi yang anda buat ke dalam bentuk program.

7. Bahan Diskusi Buat program dengan menggunakan rekursi untuk : 1. Menampilkan semua bilangan genap dari 1-20 dan bilangan ganjil dari

30–50! 2. Tabel harga foto kopian dari 1 – 20 lembar, dimana harga perlembarnya

adalah : 50 rupiah untuk kertas buram. 60 rupiah untuk kertas 60 gram. 70 rupiah untuk kertas 70 gram.

Page 22: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Rekursi 200 menitNo. : LST/EKA/EKA259/08 Revisi : 01 Tgl. : 23-3-2014 Hal. 1 dari 2 hal.

80 rupiah untuk kertas 80 gram.

Output program seperti berikut :

3. Menghitung persamaan matematika sebagai berikut :

4. Menghitung persamaan matematika sebagai berikut :

8. Lampiran

Page 23: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Record 200 menitNo. : LST/EKA/EKA259/09 Revisi : 01 Tgl. : 29-3-2010 Hal. 1 dari 2 hal.

1. Kompetensi

Mengenal dan memahami algoritma yang menggunakan tipe data record.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat algoritma yang menggunakan tipe data record dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Record adalah suatu tipe data terstruktur yang berisi sejumlah data yang dapat berlainan jenisnya (tipe data-nya tidak sama). Jadi record hampir sama dengan array, bedanya kalau record tipe datanya bias berbeda-beda, sedangkan untuk array tipe datanya harus sama untuk setiap data. Adapun bentuk dari pendeklarasian tipe data record adalah sebagai berikut :

type nama_variabel = record variabel_data_1 : tipe_data; variabel_data_2 : tipe_data; …. variabel_data_n : tipe_data; end;

Sedangkan pemakaian dari tipe data record adalah :

Var variabel_data : array [1..n] of nama_variabel_dari_record;

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program.

7. Bahan Diskusi Buatlah program untuk menampilkan daftar nilai yang diperoleh oleh mahasiswa kelas A dimana output dari program adalah berbentuk seperti tabel dibawah ini :

No Nama Nilai 1 Nilai 2 Nilai 3 Rata-rata Huruf 1 Mahasiswa 1 ……. ……. ……. ……. ……. 2 Mahasiswa 2 ……. ……. ……. ……. ……. 3 Mahasiswa 3 ……. ……. ……. ……. ……. .. ……. ……. ……. ……. ……. ……. N Mahasiswa N ……. ……. ……. ……. ……. Rata-

rata1 Rata-rata2

Rata-rata3

Rata-rata kelas

Rata-rata kelas huruf

Ketentuan : 1. Nilai 1, 2, dan 3 disimpan dalam bentuk array. 2. Buat dengan sub rutin (prosedur dan fungsi). 3. Dapat diketahui nilai tertinggi dan terendahnya.

8. Lampiran

Page 24: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Binary Files 200 menitNo. : LST/EKA/EKA259/10 Revisi : 01 Tgl. : 29-3-2014 Hal. 1 dari 3 hal.

1. Kompetensi

Mengenal dan memahami pemrograman yang dapat menyimpan data dalam bentuk file.

2. Sub Kompetensi Dapat membuat program untuk memasukkan dan menyimpan data yang berbentuk binari.

3. Dasar Teori Binary files adalah penyimpanan data dalam sebuah file dalam format binari. Untuk membuat file maka perlu dideklarasikan dalam variabel dengan bentuk sebagai berikut :

var nama_variabel : file of tipe_data; Dalam binary files, ada dua perintah yang digunakan, yaitu write dan read. Write digunakan untuk menulis data ke dalam file, sedangkan read untuk membaca data yang ada dalam file. Bentuk dari perintah write adalah :

write(nama_variabel_untuk_penyimpanan_data,nama_file);

Sedangkan untuk read : read(nama_variabel_untuk_penyimpanan_data,nama_file);

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja

6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program.

7. Bahan Diskusi Buatlah program untuk menampilkan daftar nilai yang diperoleh oleh mahasiswa kelas A dimana output dari program adalah berbentuk seperti tabel dibawah ini :

No Nama Nilai 1 Nilai 2 Nilai 3 Rata-rata Huruf 1 Mahasiswa 1 ……. ……. ……. ……. ……. 2 Mahasiswa 2 ……. ……. ……. ……. ……. 3 Mahasiswa 3 ……. ……. ……. ……. ……. .. ……. ……. ……. ……. ……. ……. N Mahasiswa N ……. ……. ……. ……. ……. Rata-

rata1Rata-rata2

Rata-rata3

Rata-rata kelas

Rata-rata kelas huruf

Ketentuan : 1. Data harus disimpan dalam bentuk file.

Page 25: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

2. Nilai 1, 2, dan 3 harus disimpan dalam bentuk array. 3. Program harus menggunakan sub rutin (prosedur dan fungsi). 4. Harus dapat diketahui nilai tertinggi dan terendahnya. 5. Buat program dengan menggunakan menu :

a. Memasukkan data (poin 10) b. Mengubah data (poin 25) c. Menambah data (poin 25) d. Menghapus data (poin 30) e. Membaca data (poin 10) f. Keluar dari program

Catatan : Tugas ini sudah anda buat pada modul sebelumnya, silakan dimodifikasi lagi sesuai dengan ketentuan yang diberikan.

8. Lampiran

Page 26: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sorting 1 200 menitNo. : LST/EKA/EKA259/10 Revisi : 01 Tgl. : Hal. 1 dari 4 hal.

1. Kompetensi

Mengenal dan memahami algoritma pemrograman untuk mengurutkan data. 2. Sub Kompetensi

Dapat menyelesaikan suatu masalah dengan membuat algoritma untuk mengurutkan sekumpulan data dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Sorting (pengurutan) adalah algoritma untuk meletakkan sekumpulan data ke dalam urutan tertentu, yaitu ascending (naik) atau descending (turun). Ada banyak metode pengurutan data, antara lain : 1) Exchange Sort 2) Selection Sort 3) Insertion Sort 4) Bubble Sort 5) Quick Sort 6) Shell Sort A. Exchange Sort

Semua data dibandingkan terhadap data pertama, jika data pertama lebih besar dari data kedua maka kedua data ditukar. Pada iterasi pertama data paling kecil ada di urutan pertama. Untuk iterasi kedua, data kedua dibandingkan dengan sisa data yang ada. Prosesnya sama dengan iterasi pertama. Demikian seterusnya. Flow Chart

B. Selection Sort

Page 27: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

Pada prinsipnya sama dengan Exchange Sort, tetapi yang ditukar adalah indek-nya, penukaran data dilakukan setelah penukaran indek dilakukan. Flow Chart

Page 28: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

C. Insertion Sort Setiap data yang dimasukkan langsung dicek posisinya. Untuk data yang pertama kali masuk langsung ditempatkan pada posisi pertama. Data kedua yang masuk langsung dibandingkan dengan data pertama. Jika besarnya lebih kecil, maka data pertama ditempatkan pada posisi kedua dan data kedua ditempatkan pada posisi pertama. Jika lebih besar maka data kedua langsung ditempatkan pada posisi kedua. Demikian seterusnya. Flow Chart

Page 29: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

D. Bubble Sort Membandingkan dua data yang berurutan. Jika data pertama lebih besar dari data kedua maka dilakukan penukaran. Hasil akhirnya pada iterasi pertama ini data terbesar akan berada di urutan terakhir. Setelah itu kembali dilakukan perbandingan data, pada iterasi kedua ini data terbesar kedua akan berada pada urutan terakhir kedua (sebelum data terbesar pertama pada iterasi pertama). Demikian seterusnya. Flow Chart

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program.

7. Bahan Diskusi 1. Implementasikan flow chart untuk keempat metode pengurutan data di atas

ke dalam bahasa pemrograman yang anda kuasai. 2. Keempat flow chart di atas merupakan pengurutan data secara ascending.

Buatlah algoritma pengurutan data secara descending.

Page 30: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sorting 2 200 menitNo. : Revisi : 01 Tgl. : Hal 1 dari 2

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi Mengenal dan memahami algoritma pemrograman untuk mengurutkan data.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat algoritma untuk mengurutkan sekumpulan data dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Sorting (pengurutan) adalah algoritma untuk meletakkan sekumpulan data ke dalam urutan tertentu, yaitu ascending (naik) atau descending (turun). Ada banyak metode pengurutan data, antara lain : 1) Exchange Sort, Selection Sort, Insertion Sort, dan Bubble Sort 2) Quick Sort 3) Shell Sort 4) Binary Insertion Sort

A. Shell Sort

Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu, kemudian dilakukan penukaran jika diperlukan. Penentuan jarak tergantung dengan jumlah data, yaitu dengan pembagian bilangan bulat (jumlah data div 2). Flow Chart

Page 31: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sorting 2 200 menitNo. : Revisi : 01 Tgl. : Hal 2 dari 2

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

B. Quick Sort Dipilih data yang terletak di tengah-tengah sekumpulan data yang acak urutannya. Data disebelah kiri dari data tengah harus diatur agar besarnya lebih kecil dari data tengah, sebaliknya data disebelah kanan dari data tengah harus lebih besar dari data tengah. Tujuan utama dari Quick Sort ini adalah membagi kumpulan data menjadi dua bagian, dan setiap bagian dibagi lagi menjadi dua. Demikian seterusnya sehingga kumpulan data tersebut akan terurut dari kecil ke besar. Pseudo Code

procedure quick_sort (nomor_awal_data, jumlah_data : integer) deklarasi

…… deskripsi

tengah data[(nomor_awal_data+jumlah_data) div 2] bawah nomor_awal_data atas jumlah_data while bawah <= atas do

while data[bawah] < tengah do inc (bawah) endwhile while data[atas] > tengah do dec (atas) endwhile if bawah <= atas then

penukaran_data_dilakukan inc (bawah) dec (atas)

endif endwhile if nomor_awal_data < atas then quick_sort (nomor_awal_data, atas) endif if bawah < jumlah_data then quick_sort (bawah, jumlah_data) endif

endprocedure 4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program.

7. Bahan Diskusi 1. Implementasikan flow chart dan pseudo code untuk kedua metode

pengurutan data di atas ke dalam bahasa pemrograman yang anda kuasai. 2. Jelaskan setiap perintah yang ada di dalam bahasa pemrograman. 3. Flow chart dan pseudo code di atas merupakan pengurutan data secara

ascending. Buatlah algoritma pengurutan data secara descending.

Page 32: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

ar FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Searching 200 menitNo. : LST/EKA/EKA259/11 Revisi : 01 Tgl. : 20-3- 2014 Hal 1 dari 3

1. Kompetensi Mengenal dan memahami algoritma pemrograman untuk pencarian data.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat algoritma untuk mengurutkan sekumpulan data dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Searching adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama. Macam algoritma pencarian : Sequantial Search dan Binary Search. Sequantial Search adalah proses membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa. Data awal tidak harus dalam kondisi terurut. Algoritma: 1. Input x (data yang dicari) 2. Bandingkan x dengan data ke-i sampai n 3. Jika ada data yang sama dengan x maka cetak pesan “Ada” 4. Jika tidak ada data yang sama dengan x cetak pesan “tidak ada”

Binary Search adalah metode pencarian yang diterapkan pada sekumpulan data yang sudah terurut (terurut menaik atau terurut menurun). Harus dilakukan proses sorting terlebih dahulu untuk data awal. Algoritma: LANGKAH 1 : 1. Data diambil dari posisi awal 1 dan posisi akhir N 2. Bagi dua elemen larik sehingga ditemukan elemen tengahnya dengan rumus

= (L+R) div 2 3. Elemen tengah (data[m]) membagi larik menjadi dua bagian, yaitu bagian kiri

data[L..m-1] dan bagian kanan data[m+1..R] LANGKAH 2 : 1. Periksa apakah data[m] = X. 2. Jika data[m] = X, pencarian dihentikan sebab X sudah ditemukan. 3. Tetapi, jika data[m] ≠ X, harus ditentukan apakah pencarian akan dilakukan di

larik bagian kiri atau di bagian kanan. 4. Jika data[m] < X, maka pencarian dilakukan pada bagian kanan. Sebaliknya,

jika data[m] > X, pencarian dilakukan pada larik bagian kiri. LANGKAH 3 : Ulangi langkah 1 sampai X ditemukan atau L > R (ukuran

larik sudah nol).

Page 33: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

ar FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Searching 200 menitNo. : LST/EKA/EKA259/11 Revisi : 01 Tgl. : 20-3- 2014 Hal 2 dari 3

Sequential search:

Binary Search :

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

Page 34: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

ar FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Searching 200 menitNo. : LST/EKA/EKA259/11 Revisi : 01 Tgl. : 20-3- 2014 Hal 3 dari 3

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program.

7. Bahan Diskusi 1. Implementasikan flow chart dan pseudo code untuk kedua metode pencarian

data di atas ke dalam bahasa pemrograman yang anda kuasai.

Page 35: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sorting 200 menit No. : LST/EKA/EKA259/10 Revisi : 01 Tgl. : Hal. 1 dari 4 hal.

1. Kompetensi

Mengenal dan memahami algoritma pemrograman untuk mengurutkan data. 2. Sub Kompetensi

Dapat menyelesaikan suatu masalah dengan membuat algoritma untuk mengurutkan sekumpulan data dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Sorting (pengurutan) adalah algoritma untuk meletakkan sekumpulan data ke dalam urutan tertentu, yaitu ascending (naik) atau descending (turun). Ada banyak metode pengurutan data, antara lain : 1) Exchange Sort 2) Selection Sort 3) Insertion Sort 4) Bubble Sort 5) Quick Sort 6) Shell Sort

Selection Sort • Hampir sama dengan Exchange Sort, bedanya yang ditukar adalah

indeknya. • Penukaran data dilakukan di akhir proses. • Pada proses 1: data ke-1 dibandingkan dengan data ke-2 jika data ke-1

lebih besar maka indek kedua data ditukar. Kemudian data ke-1 dibandingkan lagi dengan data ke-3, lebih besar? Indek ditukar! Demikian seterusnya, setelah selesai data ditukar.

• Pada proses 2: data ke-2 dibandingkan dengan data ke-3 jika data ke-2 lebih besar maka indek kedua data ditukar. Kemudian data ke-2 dibandingkan lagi dengan data ke-4, lebih besar? Indek ditukar! Demikian seterusnya, setelah selesai data ditukar.

• Dan seterusnya…..

Page 36: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

Flow Chart

Page 37: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program.

7. Bahan Diskusi 1. Implementasikan flow chart di atas ke dalam bahasa pemrograman yang

anda kuasai. 2. Flow chart di atas merupakan pengurutan data secara ascending. Buatlah

algoritma pengurutan data secara descending. 3. Tampilkan penukaran indeks (step by step seperti pengurutan sebelumnya)

Page 38: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sorting 2 200 menitNo. : LST/EKA/EKA259/12 Revisi : 01 Tgl. : 8 September 2014 Hal 1 dari 2

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

1. Kompetensi Mengenal dan memahami algoritma pemrograman untuk mengurutkan data.

2. Sub Kompetensi Dapat menyelesaikan suatu masalah dengan membuat algoritma untuk mengurutkan sekumpulan data dan mengimplementasikannya ke dalam bentuk program.

3. Dasar Teori Sorting (pengurutan) adalah algoritma untuk meletakkan sekumpulan data ke dalam urutan tertentu, yaitu ascending (naik) atau descending (turun). Ada banyak metode pengurutan data, antara lain : 1) Exchange Sort, Selection Sort, Insertion Sort, dan Bubble Sort 2) Quick Sort 3) Shell Sort

A. Shell Sort

Metode ini mengurutkan data dengan cara membandingkan suatu data dengan data lain yang memiliki jarak tertentu, kemudian dilakukan penukaran jika diperlukan. Penentuan jarak tergantung dengan jumlah data, yaitu dengan pembagian bilangan bulat (jumlah data div 2). Flow Chart

Page 39: FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA …staffnew.uny.ac.id/upload/198812242014042002/pendidikan/Labsheet... · FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET ALGORITMA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

JOB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Sorting 2 200 menitNo. : LST/EKA/EKA259/12 Revisi : 01 Tgl. : 8 September 2014 Hal 2 dari 2

Dibuat oleh :

Dilarang memperbanyak sebagian atau seluruh isi dokumen tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta

Diperiksa oleh :

B. Quick Sort Dipilih data yang terletak di tengah-tengah sekumpulan data yang acak urutannya. Data disebelah kiri dari data tengah harus diatur agar besarnya lebih kecil dari data tengah, sebaliknya data disebelah kanan dari data tengah harus lebih besar dari data tengah. Tujuan utama dari Quick Sort ini adalah membagi kumpulan data menjadi dua bagian, dan setiap bagian dibagi lagi menjadi dua. Demikian seterusnya sehingga kumpulan data tersebut akan terurut dari kecil ke besar. Pseudo Code

procedure quick_sort (nomor_awal_data, jumlah_data : integer) deklarasi

…… deskripsi

tengah data[(nomor_awal_data+jumlah_data) div 2] bawah nomor_awal_data atas jumlah_data while bawah <= atas do

while data[bawah] < tengah do inc (bawah) endwhile while data[atas] > tengah do dec (atas) endwhile if bawah <= atas then

penukaran_data_dilakukan inc (bawah) dec (atas)

endif endwhile if nomor_awal_data < atas then quick_sort (nomor_awal_data, atas) endif if bawah < jumlah_data then quick_sort (bawah, jumlah_data) endif

endprocedure 4. Alat / Instrument / Aparatus / Bahan 5. Keselamatan Kerja 6. Langkah Kerja

1. Pahami permasalahan yang diberikan dengan sebaik-baiknya. 2. Buatlah Algoritma baik dalam bentuk Narasi, Flow Chart, dan Pseudo Code

untuk menyelesaikan masalah yang diberikan. 3. Implementasikan algoritma yang anda buat ke dalam bentuk program.

7. Bahan Diskusi 1. Implementasikan flow chart dan pseudo code untuk kedua metode

pengurutan data di atas ke dalam bahasa pemrograman yang anda kuasai. 2. Jelaskan setiap perintah yang ada di dalam bahasa pemrograman. 3. Flow chart dan pseudo code di atas merupakan pengurutan data secara

ascending. Buatlah algoritma pengurutan data secara descending.