-->
BLANTERWISDOM101

penjelasan program array dan single linked list

Tuesday, December 26, 2017
Assalamualaikum wr wb .. 
bagaimana kabarnya sobat setia bocahngoding semua, semoga sehat selalu yah dan bisa menerima ilmu yang saya berikan dengan baik. Oke sahabat bocah ngoding semua pada tulisan kali ini saya akan memeberikan penjelasan tentang kodingan yang saya tulis pada pertemuan kedua tempo hari. Bagi yang belum melihatnya dapat langsung dilihat #2 array & single linked list. Yang akan saya bahas kali ini adalah kedua program yaitu array dinamis dan single linked list. Oke sahabat bocahngoding semua fokuskan diri kalian .. d:)


1. Program array dinamis dua dimensi
import java.util.Scanner;

Script di atas digunakan untuk memasukkan fungsi scanner pada program.
class jurnal 1{

Script di atas merupakan sebuah class bernama “jurnal1” yang berfungsi untuk membentuk suatu kode program agar rapi pada java.
public static void main (String [] args){int x,y;

Script di atas merupakan sebuah fungsi main atau fungsi utama pada java, dimana program akan dieksekusi di dalamnya. Script “int x,y;” merupakan pendeklarasian variabel x dan y dengan tipe data integer.
Scanner scan = new Scanner(System.in);
Script di atas merupakan sebuah pendeklarasian atau pembuatan fungsi input scanner baru. Dimana nama dari scanner tersebut adalah scan.
System.out.print("nilai x : ");
 x = scan.nextInt(); System.out.print("nilai y : "); y = scan.nextInt();

Script di atas digunakan untuk menampilkan “nilai x” dan “nilai y:” pada tampilan program. Lalu memasukkan nilai dari variabel “x” dan “y” dengan tipe data integer.
int [][] data = new int[x][y];

Script di atas digunakan untuk mendeklarasikan variabel “data” sebagai variabel array dua dimensi, dengan jumlah indeks kolom “x” dan jumlah baris “y”.
for(int i=0;i<x;i++){for(int j=0;j<y;j++){
  data[i][j]=scan.nextInt();
}
}

Script di atas merupakan sebuah perulangan yang digunakan untuk meng- input-kan data. Script “for(int i=0;i<x;i++){” merupakan sebuah perulangan dimana nilai “i” adlalah 0 dan jika “i” kurang dari nilai “x” maka nilai “i” akan ditambah 1. Dan begitu juga dengan perulangan yang kedua. Script “data[i][j]=scan.nextInt();}}” digunakan untuk meng-input-kan data dengan indeks dari nilai “i” sebagai baris dan “j” sebagai kolom.
for(int i=0;i<x;i++){
   for(int j=0;j<y;j++){
	System.out.print(data[i][j]+" ");}
System.out.println(" ");} }}
Script di atas merupakan sebuah perulangan yang digunakan untuk menampilkan keluaran matriks. Dimana pada Script “for(int i=0;i<x;i++){” merupakan sebuah perulangan dimana nilai “i” adlalah 0 dan jika “i” kurang dari nilai “x” maka nilai “i” akan ditambah 1. Dan begitu juga dengan perulangan yang kedua. Dan terakhir akan dikeluarkan pada script “System.out.print(data[i][j]+" ");” secara berulang-ulang.


2. Program antrian loket supermarket
public class Linknode{

Script di atas digunakan untuk mendefinisikan atau membuat suatu kelas baru dengan nama “Linknode” dan dapat diakses kesemua kelas.
public void tambah(int data)
{
Node baru= new Node(data);
if(kepala!=null){
baru.next=kepala;
kepala=baru;
}else
{kepala=baru;
kepala.next=null;
}
}
Script di atas merupakan sebuah method atau fungsi dengan nama “tambah” yang digunakan untuk menambahkan node baru di awal. Pada program tersebut jika kepala sudah tidak kosong maka kepala akan dihubungkankan dengan node tambahan. Selain itu maka program akan membuat sebuah node baru.
public void tambahakhir(int data)
{
Node baru=new Node(data);
Node bantu;
bantu=kepala;
while(bantu.next!=null)
{
bantu=bantu.next;
}
bantu.next=baru;}
Script di atas merupakan sebuah method atau fungsi dengan nama “tambahakhir” yang digunakan untuk menambahkan node baru di bagian akhir. Pada program tersebut jika kepala bernilai null atau kosong maka ekor akan dihubungkankan dengan node tambahan baru. Selain itu maka program akan membuat sebuah node tambahan baru.
public void tampil()
{
  Node curent;
  curent=kepala;
  while(curent!=null)
{
   System.out.print("{"+curent.data+"}");
    curent=curent.next;
}
}
Script di atas merupakan sebuah method atau fungsi dengan nama “tampil” yang digunakan untuk menampilkan nilai dari masing-masing node. Pada script di atas juga terdapat variabel bernama “curernt” yang digunakan untuk menyimpan nilai dari setiap perulangan sehingga nilai yag ditampilkan akan terurut dari awal hingga akhir.
public Node hapusawal()
{
Node a=kepala;
kepala=kepala.next;
a.next=null;
return a;}
Script di atas merupakan sebuah method yang digunakan untuk menghapus sebuah node di bagian awal. Dimana awalnya dibuat sebuah node baru bernama “a” dana “a” sama dengan kepala. Lalu “a” akan dihubungkan dengan kepala dan dihapus atau menjadi null.
public Node hapusakhir()
{
Node c;
c=kepala;
while(c.next.next!=null){
c=c.next;}
c.next=null;
return c;
}
Script di atas merupakan sebuah method atau fungsi bernama “hapusakhir” yang digunakan untuk menghapus sebuah node di bagian akhir. Dimana dibuatkan node baru bernama “c” yang diinisialisasikan sebagai kepala.
public void hapusall(){
Node curent;
curent=kepala;
curent=null;
if(curent==null){
System.out.print("{kosong}");}}
Script di atas merupakan sebuah method atau fungsi bernama “hapusall” yang digunakan untuk menghapus seluruh node. Jadi jika nilai kepala belum null maka akan di delete front atau hapus awal sampai semuanya kosong.
public static void main (String[] args){ 
Script di atas merupakan fungsi utama atau main pada java, dimana semua kode yang terdapat di dalam blok ini akan dicetak atau diperikas yang pertama kali.
Scanner in=new Scanner(System.in);
int a;
	System.out.println("Silahkan Input data");
	for(int i=0 ; i<6; i++){
	a=in.nextInt();
   x.tambah(a);
}
Script di atas digunakan untuk meng-input-kan nilai data yang ingin dimasukkan di awal dengan menggunakan Scanner.
System.out.println("Output");
x.tampil();
x.hapusawal();
System.out.println();
System.out.println("Output");
x.tampil();
System.out.println();
x.hapusawal();
System.out.println();
System.out.println("Output");
x.tampil();
System.out.println();
System.out.println("Silahkan Input data");
a=in.nextInt();
x.tambah(a);
x.tampil();
x.hapusakhir();
x.hapusakhir();
System.out.println();
x.tampil();
System.out.println();
System.out.println("Data sekarang");
x.hapusall();
}
Script di atas digunakan untuk meng-output-kan nilai data seperti menampilkan data yang sudah dimasukkan, menghapus data awalnya., meanmpilkan lagi, menghapus data awalnya lagi, menampilkan lagi. Lalu menambahkan dua data yang ingin dimasukkan oleh pengguna. Lalu menampilkannya kembali dan terakhir menghapus semuanya.


KESIMPULAN
Berdasarsarkan apa yang telah dipelajari tentang array dan single linked list dapat disimpulkan bahwa:
1. Array merupakan kumpulan elemen data yang memiliki tipe data yang sejenis dengan susunan tertentu dan data disimpan dalam indeks sebuah array. untuk menggunakan array perlu dilakukan pengalokasian memori sebagai indeks tempat menyimpan data.
2. Linked list bersifat dinamis tidak seperti array linked list tidak memakai indeks jadi diperlukan penanda berupa head dan tail untuk mempermudah dalam melakukan operasi pada linked list
Single link list merupakan link list yang menggunakan satu pointer saja, yaitu hanya next. Beberapa operasi dalam link list yaitu addfront, addback, insert after, insert before, dan lain-lain.



Share This :