Codingan P3 Tugas Struktur Data

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 11

1.

Variabel Head :
# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
return

last_node = self.head
while last_node.next:
last_node = last_node.next

last_node.next = new_node

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.display() # Output: 1 -> 2 -> 3 -> None

2. Variabel Tail
# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None
self.tail = None
# menambahkan elemen baru pada akhir linked list
def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

self.tail.next = new_node
self.tail = new_node

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.display() # Output: 1 -> 2 -> 3 -> None

3. Variabel Next
# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None
self.prev = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None
self.tail = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

new_node.prev = self.tail
self.tail.next = new_node
self.tail = new_node
# menampilkan isi dari linked list
def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" <-> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)
linked_list.display() # Output: 1 <-> 2 <-> 3 <-> None

4. Menu tambah depan


# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None
self.tail = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

self.tail.next = new_node
self.tail = new_node

# menambahkan elemen baru pada depan linked list


def prepend(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

new_node.next = self.head
self.head = new_node

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()

while True:
print("Menu:")
print("1. Tambah elemen pada akhir linked list")
print("2. Tambah elemen pada depan linked list")
print("3. Tampilkan isi linked list")
print("4. Keluar")

choice = int(input("Masukkan pilihan: "))

if choice == 1:
data = int(input("Masukkan data: "))
linked_list.append(data)
elif choice == 2:
data = int(input("Masukkan data: "))
linked_list.prepend(data)
elif choice == 3:
linked_list.display()
elif choice == 4:
break
else:
print("Pilihan tidak valid")

5. Menu tambah belakang


# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None
self.tail = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

self.tail.next = new_node
self.tail = new_node

# menambahkan elemen baru pada depan linked list


def prepend(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

new_node.next = self.head
self.head = new_node

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()

while True:
print("Menu:")
print("1. Tambah elemen pada akhir linked list")
print("2. Tambah elemen pada depan linked list")
print("3. Tampilkan isi linked list")
print("4. Keluar")

choice = int(input("Masukkan pilihan: "))

if choice == 1:
data = int(input("Masukkan data: "))
linked_list.append(data)
elif choice == 2:
data = int(input("Masukkan data: "))
linked_list.prepend(data)
elif choice == 3:
linked_list.display()
elif choice == 4:
break
else:
print("Pilihan tidak valid")

6. Menu tampilkan data


# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None
# mendefinisikan class LinkedList untuk merepresentasikan linked list
class LinkedList:
def __init__(self):
self.head = None
self.tail = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

self.tail.next = new_node
self.tail = new_node

# menambahkan elemen baru pada depan linked list


def prepend(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

new_node.next = self.head
self.head = new_node

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()

while True:
print("Menu:")
print("1. Tambah elemen pada akhir linked list")
print("2. Tambah elemen pada depan linked list")
print("3. Tampilkan isi linked list")
print("4. Keluar")

choice = int(input("Masukkan pilihan: "))

if choice == 1:
data = int(input("Masukkan data: "))
linked_list.append(data)
elif choice == 2:
data = int(input("Masukkan data: "))
linked_list.prepend(data)
elif choice == 3:
linked_list.display()
elif choice == 4:
break
else:
print("Pilihan tidak valid")

7. Menu hapus depan


# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None
self.tail = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

self.tail.next = new_node
self.tail = new_node

# menambahkan elemen baru pada depan linked list


def prepend(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

new_node.next = self.head
self.head = new_node

# menghapus elemen pada depan linked list


def remove_front(self):
if self.head is None:
print("Linked list kosong")
return

if self.head == self.tail:
self.head = None
self.tail = None
else:
self.head = self.head.next

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()

while True:
print("Menu:")
print("1. Tambah elemen pada akhir linked list")
print("2. Tambah elemen pada depan linked list")
print("3. Tampilkan isi linked list")
print("4. Hapus elemen pada depan linked list")
print("5. Keluar")

choice = int(input("Masukkan pilihan: "))

if choice == 1:
data = int(input("Masukkan data: "))
linked_list.append(data)
elif choice == 2:
data = int(input("Masukkan data: "))
linked_list.prepend(data)
elif choice == 3:
linked_list.display()
elif choice == 4:
linked_list.remove_front()
elif choice == 5:
break
else:
print("Pilihan tidak valid")

8. Menu hapus belakang


# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None
self.tail = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

self.tail.next = new_node
self.tail = new_node

# menambahkan elemen baru pada depan linked list


def prepend(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

new_node.next = self.head
self.head = new_node

# menghapus elemen pada depan linked list


def remove_front(self):
if self.head is None:
print("Linked list kosong")
return

if self.head == self.tail:
self.head = None
self.tail = None
else:
self.head = self.head.next

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next

print("None")

# contoh penggunaan linked list


linked_list = LinkedList()

while True:
print("Menu:")
print("1. Tambah elemen pada akhir linked list")
print("2. Tambah elemen pada depan linked list")
print("3. Tampilkan isi linked list")
print("4. Hapus elemen pada depan linked list")
print("5. Keluar")

choice = int(input("Masukkan pilihan: "))

if choice == 1:
data = int(input("Masukkan data: "))
linked_list.append(data)
elif choice == 2:
data = int(input("Masukkan data: "))
linked_list.prepend(data)
elif choice == 3:
linked_list.display()
elif choice == 4:
linked_list.remove_front()
elif choice == 5:
break
else:
print("Pilihan tidak valid")

9.Menu tampilkan data ke-xx


# mendefinisikan class Node untuk merepresentasikan setiap elemen pada linked list
class Node:
def __init__(self, data):
self.data = data
self.next = None

# mendefinisikan class LinkedList untuk merepresentasikan linked list


class LinkedList:
def __init__(self):
self.head = None
self.tail = None

# menambahkan elemen baru pada akhir linked list


def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

self.tail.next = new_node
self.tail = new_node

# menambahkan elemen baru pada depan linked list


def prepend(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
self.tail = new_node
return

new_node.next = self.head
self.head = new_node

# menampilkan isi dari linked list


def display(self):
if self.head is None:
print("Linked list kosong")
return

current_node = self.head
while current_node:
print(current_node.data, end=" -> ")
current_node = current_node.next
print("None")

# contoh penggunaan linked list


linked_list = LinkedList()

while True:
print("Menu:")
print("1. Tambah elemen pada akhir linked list")
print("2. Tambah elemen pada depan linked list")
print("3. Tampilkan isi linked list")
print("4. Keluar")

choice = int(input("Masukkan pilihan: "))

if choice == 1:
data = int(input("Masukkan data: "))
linked_list.append(data)
elif choice == 2:
data = int(input("Masukkan data: "))
linked_list.prepend(data)
elif choice == 3:
linked_list.display()
elif choice == 4:
break
else:
print("Pilihan tidak valid")

You might also like