LAPORAN PRAKTIKUM STRUKTUR DATA
KELAS CP PERTEMUAN KE – 8 SORTED LIST PADA JAVA
Achmad Teguh Prasetya Wicaksono 221810101094
LABORATORIUM MATEMATIKA FMIPA UNIVERSITAS JEMBER
2024
2 A. TUJUAN
1. Mendeklarasikan, menginisialisasi dan mengisi sorted list pada Java 2. Membuat program dengan menggunakan sorted list pada Java B. DASAR TEORI
Kata matematika berasal dari perkataan Latin mathematika yang mulanya diambil dari perkataan Yunani mathematike yang berarti mempelajari. Perkataan itu mempunyai asal katanya mathema yang berarti pengetahuan atau ilmu (knowledge, science). Kata mathematike berhubungan pula dengan kata lainnya yang hampir sama, yaitu mathein atau mathenein yang artinya belajar (berpikir). Jadi, berdasarkan asal katanya, maka perkataan matematika berarti ilmu pengetahuan yang didapat dengan berpikir (bernalar). Matematika lebih menekankan kegiatan dalam dunia rasio (penalaran), bukan menekankan dari hasil eksperimen atau hasil observasi matematika terbentuk karena pikiran-pikiran manusia, yang berhubungan dengan idea, proses, dan penalaran (Rahmah, 2013).
Java adalah suatu bahasa pemrograman yang diciptakan oleh James Gosling, seorang developer dari Sun Microsystem pada tahun 1991. Java dikembangkan Sun Microsystem dan banyak digunakan untuk menciptakan Executable Content yang dapat didistribusikan melalui network (Asroni dkk, 2020).
Java adalah sebuah bahasa pemrograman Object Oriented dengan unsur- unsur seperti Bahasa C++ dan bahasa-bahasa lainnya yang memiliki libraries yang cocok untuk lingkungan internet. Java dapat digunakan untuk melakukan banyak hal dalam melakukan pemrograman, seperti membuat animasi halaman web, pemrograman Java untuk Ponsel dan aplikasi interaktif. Java juga dapat digunakan untuk handphone, internet dan lain-lain (Asroni dkk, 2020).
Eclipse IDE adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dijalankan di semua platform (platform
3
independent). Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open sourse, yang berarti setiap orang boleh meihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in (Pinayungan, 2019). Satyaputra dan Sitanorang (2012) mengatakan fasilitas fasilitas Eclipse yang dapat digunakan dalam menulis skrip program java sebagai berikut:
1. Project Explorer
Windows Project Explorer merupakan perangkat yang digunakan untuk melihat seluruh folder dan file yang menjadi bagian dari sebuah project. Sebuah project Eclipse akan disimpan dalam sebuah folder yang ditempatkan di dalam folder workspace yang didefinisikan pada saat pertama kali menjalankan Eclipse. Salah satu folder dan file project Eclipse yaitu /src yang dimana dalam folder ini terdapat file program Java.
2. Code Editor
Code editor ini berfungsi untuk tempat penulisan kode program Java . Fasilitas ini memunculkan pesan pesan kesalahan jika pada saat penulisan kode program terjadi syntax error, auto list yang muncul dalam penulisan kode program, dan beragam fitur lainnya yang membantu programmer untuk menghasilkan kode program yang benar dari sisi penulisan kode program.
3. Outline Window
Menu ini berisi onjek objek apa saja yang telah ditampilkan dalam sebuah Activity, Sehingga akan memudahkan pengembangan aplikasi untuk melihat dan menginventarisir objek objek yang menjadi bagian dari sebuah aplikasi yang sedang dibangun.
4. Console
Menu ini digunakan untuk melihat jika terjadi kesalahan penulisan kode program syntax error, adanya pesan penting berupa peringatan , pesan error saat running program, dan melihat jalannya suatu program.
4
Fitria dkk (2017) mengatakan bahwa tipe data adalah suatu keyboard yang secara otomatis datang dari bahasa program. Java dan sama juga dari beberapa bahasa program lannya. Dimana tipe data biasanya digunakan ketika kita menentukan suatu jenis nilai yang dapat ditampung oleh suatu variabel. Tipe data memiliki beberapa kegunaan dalam jenis nilainya sesuai apa nama tipe data tersebut. Adapun perbedaan jenis kelompok tipe data yang harus kita ketahui, yaitu tipe data bilangan bulat (integer), bilangan pecahan (floating point), dan tipe data boolean.
1. Tipe Data Integer (Bilangan Bulat)
Integer merupakan tipe data numerik yang digunakan apabila tidak berurusan dengan pecahan atau bilangan desimal. Bilangan integer juga mengenal nilai positif dan negatif ( signed number ). Tipe data Integer yaitu Byte, Short, Int, dan Long.
2. Tipe Data Floating Point (Bilangan Pecahan)
Floating Point digunakan untuk menangani bilangan desimal atau perhitungan yang lebih detail dibanding integer. Ada dua macam floating point yaitu Float dan double.
Float adalah Tipe yang digunakan untuk menandakan nilai–nilai yang mengandung presisi atau ketelitan tunggal (single-precision) yang menggunakan ruang penyimpanan 32-bit. Double adalah Tipe yang mengandung tingkat ketelitian ganda atau presisi ganda (double) precisiondan menggunakan ruang penyimpanan 64-bit untuk menyimpan nilai.
3. Tipe Data Char
Char adalah karakter tunggal yang didefinisikan dengan diawali dan diakhiri dengan tanda „ ( petik tunggal ). Char berbeda dengan String, karena String bukan merupakan tipe data primitif, tetapi sudah merupakan sebuah objek.dan char.
Operator merupakan sebuah karakter khusus yang digunakan untuk menghasilkan suatu nilai. Terdapat beberapa jenis seperti operator aritmatika, penugasan, perbandingan, logika, increment-decrement, bitwise, boolean, shift, dan operator kombinasi. Operator yang digunakan untuk memuat program kalkulator sederhana
5
adalah operator aritmatika. Operator aritmatika meliputi penjumlahan ( ), pengurangan ( ), perkalian ( ), pembagian ( ), pangkat ( ), dan modulo ( ) (Warno, 2012).
Algoritma pengurutan data yang sering ditemukan dalam literatur komputer antara lain bubble sort, selection sort, insertion sort, heap sort, shell sort, quick sort, merge sort, radix sort,dan tree sort. Semua algoritma pengurutan selalu melakukan operasi perbandingan data untuk menemukan posisi urutan yang tepat. Berdasarkan tempat penyimpanan data, sorting dibedakan antara external sort dan internal sort [Sjukani, 2012]. External sort bila datanya berada dalam media external, atau external storage seperti hardisk. Internal sort bila datanya ada dalam internal storage atau memory computer (Endang, 2018).
C. ALAT DAN BAHAN 1. Software Java 2. Eclipse
D. LANGKAH LANGKAH
Penulisan skrip java dapat menggunakan aplikasi Eclipse dengan cara sebagai berikut:
1. Membuat proyek baru untuk membuat kelas yang akan digunakan untuk menulis skrip program pada Java dengan mencari menu File → New → Java Project sehingga memunculkan sebuah jendela untuk membuat Java Project.
6
Gambar 1. Jendela Create Java Project
2. Tuliskan nama proyek sesuai nama praktikum dan ketentuan yang disepakati yaitu
“SORTED LIST PADA JAVA SD C”.
3. Setelah proyek Java diberi nama, tekan tombol Finish disebelah bawah jendela Create Java Project sehingga proyek Java muncul pada Project Explore.
Gambar 2. Package Explore
7
4. Selanjutnya definisikan packages yang berada pada menu File → New → Other → Package sehingga muncul jendela Java Package. Pada Jendela Java Package, definisikan nama package sesuai ketentuan yaitu “com.praktikum.klscsd” dan tekan finish apabila telah diberi nama.
Gambar 3. Jendela New Package
5. Selanjutnya membuat kelas yang berada pada menu File → New → Other → Class sehingga muncul jendela Java Class. Pada Jendela Java Class, definisikan nama kelas sesuai ketentuan yaitu “ACHMADT221094P8P1” yang terhubung dengan kelas “Link” dan “SortedList”. Penamaan Class tidak boleh menggunakan spasi apabila diberi jarak maka menggunakan tanda underscore. Centang opsi “public static void main (String[] args) dan tekan finish apabila telah diberi nama.
8
Gambar 4. Jendela Create Java Class
6. Diberikan perintah pada Class yang dibuat dengan menulis perintah seperti gambar berikut:
Gambar 5. Main Skrip Java pada Editor
9
7. Selanjutnya, kelas baru dibuat untuk menyediakan class Link dan class SortedList yang akan diimport pada class sebelumnya dengan mengtik perintah seperti gambar dibawah ini.
Gambar 6. Skrip Java pada Editor (Kelas Link)
10
Gambar 7. Skrip Java pada Editor (Kelas SortedLink)
8. Setelah itu, jalankan skrip yang telah dibuat dengan menekan tombol Run sehingga hasil dari program yang dibuat akan muncul di dalam Console.
Gambar 8. Hasil Program pada Console
E. CONTOH PROGRAM
Program sederhana ini dapat dijalankan sehingga menghasilkan sebuah sortedlist.
Penulisan skrip Java memiliki beberapa aturan untuk membuat skrip tidak error dalam proses runningnya. Penamaan file harus disamakan dengan penamaan kelas.
11
Kelas Link juga memiliki beberapa metode untuk menjalankan perintah pada metode main di kelas ACHMADT221094P8P1. Perintah yang terdapat pada kelas ini sebagai berikut.
➢ public berati fungsi bisa digunakan oleh kelas apa saja dalam proyek yang dibuat.
➢ long dData menyimpan data bertipe long yang akan menyimpan data item dan Variabel next adalah sebuah referensi ke objek Link berikutnya, yang berarti ini akan menyimpan referensi ke node lain dalam sorted list.
➢ public Link (long dd), sintak ini dalah sebuah konstruktor untuk kelas Link yang digunakan untuk objek Link baru yang dimana memiliki para meter dd yaitu nilai data yang akan disimpan di pada elemen dasar yang baru. Konstruktor ini menjalankan nilai parameter dd diinisialisasi ke variabel dData, sehingga dapat menyimpan nilai dd.
➢ displayList(), sintak ini berarti untuk menampilkan semua elemen dalam Sorted List dan tersimpan dalam node saat ini dan metode ini akan mencetak data dData (double).
➢ System.out.println() adalah perintah untuk mencetak teks atau data dalam console Java.
➢ Tanda titik koma harus menjadi akhir dari perintah Java.
12
Kelas SortedList juga memiliki beberapa metode untuk menjalankan perintah pada metode main di kelas ACHMADT221094P8P1. Perintah yang terdapat pada kelas ini sebagai berikut.
➢ private berarti fungsi bisa digunakan oleh kelas tertentu dalam proyek yang dibuat, Link first adalah referensi ke elemen pertama dalam linked list yang akan menyimpan link ke elemen pertama dari daftar berantai.
➢ public SortedList(), konstruktor ini berisi sintak first = null yang berarti mendefinisikan variabel first dengan null yang dimana memiliki arti daftar berantai diawali sebagai kosong karena tidak ada elemen (link) yang ditautkan.
13
➢ isEmpty() adalah method yang mengembalikan true jika linked list kosong, yaitu ketika first == null. Jika first tidak menunjuk ke elemen apa pun (kosong), maka daftar dikatakan kosong.
➢ insert(long key) merupakan metode untuk memasukkan data key ke dalam linked list yang berurutan berdasarkan nilai. Link newlink = new Link (key) berarti membuat metode baru dengan data key dan menginisialisasikan objek newLink. Link previous = null; Link current = first; berarti mendefinisikan dua variabel, previous digunakan untuk melacak data sebelum current, sedangkan current digunakan untuk menelusuri linked list mulai dari elemen pertama (first). while (current != null && key > current.dData): berarti apabila current tidak sama dengan null dan nilai key lebih besar dari current.dData, maka perulangan akan dilakukan terus menerus. Jika previous sama dengan null maka first = newLink dan jika tidak maka nextlink.next = current;
➢ remove() adalah metode untuk menghapus dan mengembalikan elemen berdasarkan key. Perintah ini dimulai dengan mendefinisikan Link temp = first, first = first.next, dan perintah return temp untuk mengembalikan elemen yang dihapus.
➢ displayList() adalah metode yang digunakan untuk menampilkan seluruh elemen dari linked list. Metode ini dimulai dari list awal yang dimana current
= first. Selama current != null, program akan menampilkan data di setiap link dengan memanggil metode current.displayLink() dan dilanjutkan ke elemen berikutnya yang mana current = current.next.
➢ System.out.println() adalah perintah untuk mencetak teks atau data dalam console Java.
➢ Tanda titik koma harus menjadi akhir dari perintah Java.
14
Nama kelas yang digunakan pada proyek diatas adalah ACHMADT221094P8P1, maka nama file yang disimpan harus diberi nama ACHMADT221094P8P1.java.
Format penulisan nama file, ACHMADT221094P8P1 yang dimana nama editor harus huruf besar yang diikuti NIM awal dan akhir serta P8P1 yang berarti praktikum 8 dan percobaan 1. Kelas ACHMADT221094P8P1 mengimpor kelas Link dan SortedList sehingga kedua kelas yang ada pada kelas tersebut dapat berjalan. Sebuah file hanya boleh terdapat satu kelas public.
Kelas ACHMADT221094P8P1 memiliki metoda yaitu main() yang dimana kelas dan obyek mempunyai data dan fungsi sehingga fungsi dapat memanggil fungsi lainnya. Penulisan skrip diatas fungsi main() memanggil fungsi print(). Kelas ini memiliki metode public static void main(String[] args) dan perintah perintah lain yang artinya sebagai berikut.
➢ public berarti fungsi bisa digunakan oleh kelas apa saja dalam proyek yang dibuat.
➢ static berarti fungsi main() dapat diaktikan/dijalankan tanpa membuat objek khusus.
➢ void berarti fungsi main() tidak akan mengembalikan data, karena m main() dipanggil saat program pertama kali dijalankan.
15
➢ Fungsi main() adalah fungsi utama yang memanggil metoda-metoda lainnya.
Pada skrip diatas metoda main() memanggil fungsi print().
➢ String[] args berarti fungsi main() dapat menerima input yang berupa String.
➢ Sorted.List theList = new SortedList();, sintak ini memiliki arti yaitu membuat objek theSortedList dari kelas SortedList.
➢ theSortedList.displayList();, untuk menampilkan elemen-elemen dari linked list yang telah terurut yaitu [20, 40].
➢ theSortedList.insertFirst(20);, sintak ini memiliki arti bahwa metode insert() akan memasukkan nilai dalam urutan menaik, jadi setelah dua insert ini, list akan terurut dengan elemen [20].
➢ theSortedList.remove();:, berarti metode remove() yang akan menghapus elemen pertama dari list. Setelah operasi ini, elemen pertama (10) akan dihapus, sehingga list yang tersisa adalah [20, 30, 40, 50].
➢ System.out.println() adalah perintah untuk mencetak teks atau data dalam console Java.
➢ Tanda titik koma harus menjadi akhir dari perintah Java.
Kurung kurawal buka dan kurung kurawal tutup membatasi suatu perintah dalah skrip Java. Java membedakan penulisan menggunakan huruf besar dan huruf kecil (case-sensitive). Apabila sudah menulis skrip Java, skrip java bisa dijalankan dengan menekan tombol running dan hasil dari skrip java dapat dilihat pada console Java.
16 F. PENYELESAIAN KESALAHAN
1. Kesalahan Pertama
Kesalahan diatas adalah kurangnya titik untuk memisahkan antara objek dan metode sehingga sintak menjadi error.
2. Kesalahan Kedua
Kesalahan diatas adalah kurangnya tanda plus untuk menambahkan nilai dari variabel jenis kelamin sehingga ketika dijalankan akan error.
17
DAFTAR PUSTAKA
Asroni, A., Jeckson, J., & Basri, H. (2020). Pembuatan aplikasi penjualan buku berbasis java desktop dengan netbeans. Jurnal Ilmiah Teknik Elektro, 1(1), Endang, R. 2020.Algoritma Pengurutan Data (Sorting) Dengan Metode Insertion Sort
dan Selection Sort. Information Management For Educators And Professionals.
3 (1): 95 - 106.
Fitria, R. dkk. 2017. Tipe Data, Variabel, dan Operator. Lhokseumawe: Politeknik Negeri Lhokseumawe.
Pinayungan, E. M. 2019. Sistem Informasi Kost Berbasis Android di Kota Medan. Jurnal Teknik Informatika UNIKA Santo Thomas.
Satyaputra, A. & Aritonang, M. E. 2012. JAVA For Beginners with eclipse 4.2 Juno.
Jakarta : PT Elex Media Komputindo.
Simanjuntak, P., E. Elisa, dan H. Pangaribuan. 2020. Pengantar Konsep Struktur Data.
Edisi pertama. Padang : Pustaka Galeri Mandiri.
Rahmah, N. 2013. Hakikat pendidikan matematika. Al-Khwarizmi: Jurnal Pendidikan Matematika Dan Ilmu Pengetahuan Alam.
Warno. 2012. Pembelajaran Pemrograman Bahasa Java dan Arti Keyword. Jurnal Komputer.8(1) : 40-51