0% found this document useful (0 votes)
48 views

Codingan P3 Tugas Struktur Data

The document discusses the implementation of a linked list data structure in Python. It defines Node and LinkedList classes to represent nodes and the overall linked list. Methods like append(), prepend(), display() are implemented to add nodes to the end/front and display the list. Later sections add additional features like a tail pointer, doubly linked nodes, and menu options to interact with the linked list, adding/removing nodes from the front/end.
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

Codingan P3 Tugas Struktur Data

The document discusses the implementation of a linked list data structure in Python. It defines Node and LinkedList classes to represent nodes and the overall linked list. Methods like append(), prepend(), display() are implemented to add nodes to the end/front and display the list. Later sections add additional features like a tail pointer, doubly linked nodes, and menu options to interact with the linked list, adding/removing nodes from the front/end.
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 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