Anda di halaman 1dari 50

TUGAS TEORI DAN PRAKTIKUM

MATA KULIAH ALGORITMA & STRUKTUR DATA


Nama : Nahwatul Nur Rifa
NIM : 20SA1204
Kelas : Informatika 2020 D

A. TUGAS TEORI
1. Selasa, 28 September 2021
Pada materi teori pertemuan pertama membahas Algoritma atau rangkaian urutan
proses dalam menyelesaikan masalah.
Mahasiswa ditugaskan untuk menyelesaikan sebuah studi kasus atau permasalahan
yaitu sebagai berikut :

( JAWABAN )
Cara petani membawa semua barang bawaannya yaitu :
Langkah pertama, petani menyebrang bersama domba ke sebrang sungai
Kedua, Karena serigala tidak makan sayur, petani kembali untuk mengambil sayur di
tempat awal untuk dibawa ke sebrang sungai lalu petani membawa kembali domba ke
tempat awal.
Setelah itu petani membawa serigala ke sebrang sungai dan kembali lagi ke tempat awal
untuk mengambil domba dan menyebrangi sungai.
2. Selasa, 5 Oktober 2021
Pada materi teori pertemuan kedua, membahas flowchart atau diagram alir. Mahasiswa
ditugaskan untuk membuat flowchart keliling persegi Panjang
( JAWABAN )

Mulai

Masukkan Panjang
( Panjang = p )

Masukkan Lebar
( Lebar = l )

Masukkan Keliling
( Keliling = 2*(p+l) )

Cetak Kelililng
( Print “Keliling” )

Selesai
Bilangan Ganjil Genap

Mulai

Masukkan
Bilangan Bulat

Bilangan dibagi 2
dengan operasi sisa bagi

YA
Sisa bagi GENAP
=0

Tidak

GANJIL

Selesai

3. Selasa, 12 Oktober 2021


Pada materi teori minggu ketiga membahas tipe data dan variabel. Variable sendiri
biasa digunakan untuk menyimpan nilai atau data. Mahasiswa ditugaskan untuk
membuat sebuah program sederhana dengan menentukan variable dan tipe datanya.
Disini saya membuat program data diri.
4. Selasa, 19 Oktober 2021
Pada pertemuan materi teori minggu keempat, mahasiswa ditugaskan membuat
algorima dengan pilihan menggunakan flowchart, pseudocode, atau deskripsi. Disini
saya menggunakan flowchart untuk pengerjaannya.
-Algritma Aritmatika menggunakan flowchart

-Algoritma Pembanding menggunakan flowchart


-Algoritma Penugasan menggunakan flowchart

-Algoritma Logika/Boolean menggunakan flowchart

-Algoritma program Increment & Decrement


5. Selasa, 26 Oktober 2021

Pada pertemuan materi teori minggu kelima, mahasiswa ditugaskan membuat algoritma
dengan menggunakan if ,case. Dengan ketentuan sebagai berikut :
1. Algoritma menonton bioskop apabila umur diatas 17 "selamat menonton", jika tidak
"maaf anda tidak bisa menonton"

2. Cetak: jika warna = merah, "Berhenti",kuning= "hati-hati", hijau= "Jalan"

3. Cetak jika memilih 1. Halaman Judul , 2. Halaman Kata Pengantar, 3. Halaman


Pengesahan
6. Selasa, 30 November 2021
Pada pertemuan teori minggu ke delapan, Mahasiswa ditugaskan untuk membuat
sebuah program pada java menggunakan array. Berikut contoh programnya

7. Selasa, 7 Desember 2021


Pada pertemuan teori minggu ke Sembilan, mahasiswa ditugaskan untuk mencari studi
kasus bubble sort, selection sort, dan intertion sort
a. Sorting Secara Descanding
Proses 1 Proses 2

22 10 15 3 8 2 22 10 15 3 8 | 2
22 10 15 3 8 2 22 10 15 3 8 | 2
22 15 10 3 8 2 22 15 10 3 8 | 2
22 15 10 3 8 2 22 15 10 3 8 | 2
22 15 10 3 8 2 22 15 10 3 8 | 2

Proses 3 Proses 4

22 15 10 8 | 3 2 22 15 10 | 8 3 2

22 15 10 8 | 3 2 22 15 10 | 8 3 2

22 15 10 8 | 3 2 22 15 10 | 8 3 2

22 15 10 8 | 3 2

22 15 10 8 | 3 2

Proses 5

22 15 | 10 8 3 2

22 15 | 10 8 3 2

Jadi, hasil akhir deretan bilangan diatas setelah di bubb


8. Selasa, 14 Desember 2021
Pada pertemuan teori minggu ke sepuluh, mahasiswa ditugaskan untuk melakukan
pencarian dengan interpolation search dari deret data berikut.
3 9 11 12 15 17 23 31 35

x = 15 => low? high?


x = 5 => low? high?
x = 35 => low? high?
9. Selasa, 28 Desember 2021
Pada pertemuan teori minggu ke duabelas, mahasiswa belajar mengenai Tree.
Mahasiswa ditugaskan untuk menentukan root, ancestor, predecessor, successor,
decendant, sinling, parent, tinggi / kedalaman, leaf, inorder, postorder, dan preorder
pada sebuah tree.

10. Selasa, 4 Januari 2022


Pada pertemuan teori minggu ke tigabelas, mahasiswa belajar tentang Queue (antrian).
Antrian merupakan suatu struktur data linear. Konsepnya sama dengan tumpukkan,
perbedaannya adalah operasi penambahan dan penghapusan pada ujungnya yang
berbeda. Mahasiswa diberi tugas untuk mengerjakan tentang queue.

B. TUGAS PRAKTEK
1. Selasa, 28 September 2021
Mahasiswa belajar program pada netbeans yaitu java.
Langkah pertama, buka aplikasi Netbeans. Kemudian buka atau buat file baru dengan
cara klik File pada kiri atas > pilih New Project
Kemudian, setelah itu pilih Java > Java Application > klik Next

Setelah itu berikan nama pada project name. kemudian pilih project location untuk
menyimpan file nya dengan mengklik browser lalu klik finish.
Setelah muncul tampilan lembar kerja, kita bisa mulai koding program di bawah public
static void. Tuliskan moding program untuk menampilkan “Hai” dengan cara ketik
System.out.print(“Hai”)>lalu run.

Agar hasil program kodingnya ke bawah/ke baris selanjutnya kitab isa tambahkan “ln”
setelah “print”
2. Selasa, 5 Oktober 2021
Mahasiswa mempelajari dan mempraktekkan koding program dengan menambahkan
package di java yang menyediakan kelas untuk membaca inputan user seperti dibawah.
Akan ada hasil output seperti pada gambar di bawah

Kita bisa menambahkan informasi Program studi dan nama perguruan tinggi seperti
gambar di bawah ini. Akan ada hasil inputannya.
Setelah itu, tambahkan informasi yang sudah di inputkan. Seperti gambar di bawah.

3. Selasa, 12 Oktober 2021


Pada pertemuan praktikum minggu ketiga, mahasiswa belajar menggunakan variable
dan tipe data pada netbeans.
Pada gambar dibawah, kita membuat sebuah program untuk mencari luas persegi
panjang.

Dan dibawah ini adalah hasil output dari luas persegi Panjang.

Selanjutnya, kita membuat program untuk mencari luas ligkaran.


Selanjutnya, kita membuat program untuk mengkonversi suhu. Hasil outputnya akan
seperti di bawah.

4. Selasa, 19 Oktober 2021


Pada pertemuan praktikum minggu keempat, mahasiswa belajar mengenai operator
pada netbeans
Pada gambar dibawah, kita Latihan program dengan menggunakan operator. Ada
operator penugasan, aritmatika, pembanding, dan logika

Hasil outputnya akan seperti diabawah ini

Berikutnya, kita membuat program untuk menentukan total harga barang yang telah
mendapatkan diskon 10%. Program dan outputnya seperti pada gambar dibawah ini.
5. Selasa, 26 Oktober 2021
Pada pertemuan praktikum minggu kelima, mahasiswa belajar tentang percabangan
pada netbeans. Seleksi dalam bahasa pemrograman adalah suatu program untuk
mengambil keputusan berdasarkan suatu kondisi. Kondisi ini biasanya tergantung
kepada data yang ada pada saat tertentu. Saat sebuah program dijalankan saat ini dan
dijalankan lain waktu, mungkin kondisinya berbeda.
Pernyataan IF

Pernyataan IF menggunakan input Scanner


Statement IF Else

Statement Switch
Berikut hasil outputnya
6. Selasa, 2 November 2021

Pada pertemuan praktikum minggu keenam, mahasiswa belajar perulangan pada


netbeans. Mahasiswa mempraktikan beberapa perulangan diantaranya ada perulangan
for, while, dan do-while.

a. Perulangan for
Setiap bentuk perulangan for dapat diubah menjadi bentuk perulangan while
dengan fungsi yang sama tanpa mengubah alur program. Tetapi tergantung dari
permasalahan yang akan kita pecahkan. Menulis program dengan for akan
membuat alur program lebih mudah dipahami.
b. Perulangan While
Pernyataan ini berguna untuk memproses suatu pernyataan atau beberapa
pernyataan beberapa kali. Selama ungkapan bernilai benar, pernyataan akan
selalu dikerjakan.
Berikut adalah tugas yang diberikan saat praktikum yaitu membuat program
perulangan menggunakan perulangan while dan do-while

While

Do-while
7. Selasa, 30 November 2021

Pada pertemuan praktikum minggu ke delapan, mahasiswa belajar tentang array pada
java.
Dibawah ini merupakan contoh program array 1 dimensi

Ini hasil outputnya :


Dibawah ini program untuk menampilkan bilangan dari 1 sampai dengan 10 dengan
pangkatnya masig-masing.

Berikut program untuk menampilkan nilai tertinggi dan terendah


Dan ini hasil outputnya:

Berikut program data nilai dalam array 2 dimensi.


Studi kasus :
Program untuk menampilkan buku alamat, cetak buku alamat seperti pada gambar dibawah.

8. Selasa, 7 Desember 2021


Pada pertemuan praktikum minggu ke Sembilan, mahasiswa belajar tentang bubble sort
dan selection sort. Berikut ini Implementasi pengurutan dengan metode bubble sort
pada java
Pada metode Bubble Sort, jika jumlah data adalah n, maka terjadi n-1 tahap pengurutan.
Pada output program Latihan 1, terlihat bahwa sebenarnya tidak diperlukan n-1 tahap
untuk mengurutkan data. Pada tahap kelima data sebenarnya sudah terurutkan. Oleh
karena itu, metode BS dapat diperbaiki agar begitu data sudah urut dan walaupun n-1
tahap belum terpenuhi, pengurutan segera diakhiri. Hal ini dapat dilakukan dengan
pemeriksaan apakah masih ada penukaran data atau tidak. Jika dalam suatu tahap
ternyata tidak terjadi pertukaran data, maka iterasi segera dihentikan.

Bubble sort 2
Berikut Implementasi pengurutan dengan metode selection sort pada java
Berikut Implementasi Bubble Sort tanpa menggunakan Procedure
9. Selasa, 14 Desember 2021
Pada pertemuan praktikum minggu ke sepuluh, mahasiswa belajar tentang
algoritma searching(pencarian). Algoritma pencarian atau searching algorithm
merupakan algoritma yang menerima sebuah kata kunci atau keyword dan dengan
langkah-langkah tertentu akan mencari rekaman dengan kata kunci tersebut. Setelah
proses pencarian dilakukan, akan diperoleh salah satu dari dua kemungkinan, yaitu data
yang dicari ditemukan atau tidak ditemukan.
Macam-macam algoritma pencarian(searching)
Algoritma Sequentian Search
Sequential searching atau pencarian berurutan atau sering disebut juga sebagai
pencarian linear merupakan metode pencarian yang paling sederhana. Pencarian linier
adalah proses yang membandingkan setiap elemen larik satu per satu secara beruntun,
mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen
sudah diperiksa.
Contoh program:

Algoritma Binary Search


Algoritma binary search atau pencarian biner merupakan metode pencarian pada data
terurut yang paling efesien. Metode pencarian biner digunakan untuk kebutuhan
pencarian dengan waktu yang cepat.
Contoh program :

10. Selasa, 21 Desember 2021


Pada pertemuan praktikum minggu ke sebelas, mahasiswa belajar Linked List pada
netbeans. Struktur Data dilihat dari alokasi memori yang digunakan dibagi menjadi 2
yaitu dinamik dan statik. Struktur dinamik memungkinkan jumlah elemen data dapat
berubah-ubah (tambah atau kurang) pada saat runtime. Sementara pada struktur statik
elemen data tetap/fixed.

Linked List merupakan jenis struktur data linear yang dinamis. Berikut
karakteristiknya:
• Terdiri atas node yang secara bersama-sama membentuk susunan linear.
• Tiap node terhubung dengan node sebelumnya menggunakan referensi dari
node sebelumnya.
• Referensi ke node sebelumnya disebut dengan link.
• Node terdiri atas elemen data dan referensi.
MEMBUAT SINGLY LINKED LIST
Langkah pertama kita buat proyek baru dengan nama CobaLinkedList
Setelah itu, buat class baru pada proyek dengan nama Node

Lalu nuat Class Baru pada proyek dengan nama SLinkedList, pada kelas ini terdapat
method yang akan menyisipkan Node baru di awal node (Head) dan diakhir node (Tail).
Pada method main di class CobaLinkedList, ketikkan kode berikut:
11. Selasa, 28 Desember 2021
Pada pertemuan praktikum minggu ke duabelas, mahasiswa belajar tentang Binary
Search Tree pada java netbeans. Binary search tree adalah salah satu bentuk dari pohon.
Di mana masing-masing pohon tersebut hanya memiliki dua buah upapohon, yakni
upapohon kiri dan upapohon kanan.
12. Selasa, 4 Januari 2022
Pada pertemuan praktikum minggu ke tigabelas, mahasiswa belajar tentang Queue pada
Java netbeans.

Anda mungkin juga menyukai