Anda di halaman 1dari 0

Single Linked List.

cpp
#include <iostream.h>
//Kelas Node
class Node{
//--Properties Kelas Node
//Data
int data
//Pointer Pre!
Node" pre!
//Pointer Ne#t
Node" ne#t
//$ethod - method kelas Node
pu%lic&
//Konstruktor Kelas Node
Node'({)
//*ungsi untuk $emasukan Data
!oid setData'int aData({data+aData)
//*ungsi untuk $emasukan Pointer Pre! 'Se%elumn,a(
!oid setPre!'Node" aPre!({pre!+aPre!)
//*ungsi untuk $emasukan Pointer Ne#t 'Setelahn,a(
!oid setNe#t'Node" aNe#t({ne#t+aNe#t)
//*ungsi untuk mendapatkan Nilai Data
int Data'({return data)
//*ungsi untuk mendapatkan Nilai Pointer Pre! 'Se%elumn,a(
Node" Pre!'({return pre!)
//*ungsi untuk mendapatkan Nilai Pointer Ne#t 'Setelahn,a(
Node" Ne#t'({return ne#t)
)
//Kelas List
class List{
//-ead 'Kepala(
Node" head
//.ail '/kor(
Node" tail
//$ethod - method List
pu%lic&
//Konstruktor Kelas List
List'({head+N0LLtail+N0LL)
//*ungsi untuk menam%ah data kedalam Node
!oid tam%ahData'int data(
//*ungsi untuk menampilkan data didalam Node dari -ead
!oid tampilData'(
//*ungsi untuk menampilkan data didalam Node dari .ail
!oid tampil1elakang'(
)
//*ungsi $enam%ahkan data dari Kelas List
!oid List&&tam%ahData'int data({
//Deklarasi tmp 'pen,impanan sementara( diisi head
Node" tmp + head
//$endeklarasikan Node 1aru
Node" ne2Node + ne2 Node'(
//$enset data ke dalam Node 1aru
ne2Node->setData'data(
//$enset Pointer Pre! 'Se%elum( ke N0LL '1elum diisi(
ne2Node->setPre!'N0LL(
//$enset Pointer Ne#t 'Setelah( ke N0LL '1elum diisi(
ne2Node->setNe#t'N0LL(
//3ika tmp %elum diisi / -ead kosong
i4'tmp++N0LL({
//-ead diisi Node %aru
head+ne2Node
//.ail diisi -ead / Node %aru
tail+head
)
//3ika tmp sudah diisi / -ead ada
else{
//selama tmp %erikutn,a %ukan N0LL
2hile'tmp->Ne#t'(5+N0LL({
//tmp digeser ke tmp 1erikutn,a
tmp+tmp->Ne#t'(
)
//tmp %erikutn,a diisi Node 1aru
tmp->setNe#t'ne2Node(
//Node 1aru se%elumn,a diisi tmp
ne2Node->setPre!'tmp(
//.ail diposisikan ke Node 1aru
tail+ne2Node
)
)
//*ungsi $enampilkan data dari Kelas List dari Depan / -ead
!oid List&&tampilData'({
//Deklarasi tmp 'pen,impanan sementara( diisi head
Node" tmp + head
//3ika tmp %elum diisi / -ead kosong
i4'tmp ++ N0LL({
//$enampilkan 6Data Kosong6
cout<<6Data Kosong6
)
//3ika tmp sudah diisi / -ead tidak kosong
else{
//$encetak N0LL-> '7si Data(tmp ->
cout<<6N0LL->6<<tmp->Data'(<<6->6
//Selama tmp setelahn,a %ukan N0LL
2hile'tmp->Ne#t'(5+N0LL({
//.mp digeser ke tmp %erikutn,a
tmp+tmp->Ne#t'(
//$enampilkan '7si Data( ->
cout<<tmp->Data'(<<6->6
)
//$encetak N0LL
cout<<6N0LL8n6
)
)
//*ungsi $enampilkan data dari Kelas List dari 1elakang / .ail
!oid List&&tampil1elakang'({
//Deklarasi tmp 'pen,impanan sementara( diisi tail
Node" tmp + tail
//3ika tmp %elum diisi / .ail Kosong
i4'tmp ++ N0LL({
//$enampilkan Data Kosong
cout<<6Data Kosong6
)
//3ika tmp sudah diisi
else{
//$encetak N0LL-> '7si Data(tmp ->
cout<<6N0LL->6<<tmp->Data'(<<6->6
//Selama tmp se%elumn,a %ukan N0LL
2hile'tmp->Pre!'(5+N0LL({
//tmp digeser ke tmp se%elumn,a
tmp+tmp->Pre!'(
//$enampilkan '7si Data( ->
cout<<tmp->Data'(<<6->6
)
//$encetak N0LL
cout<<6N0LL8n6
)
)
//*ungsi 0tama
int main'({
//0pdate
cout<<6++++++++++++++++++++++++++++++++++++ 8n6
cout<<6Nama & *a9ar $uhammad * 8n6
cout<<6Nim & :;<<=<>>== 8n6
cout<<6++++++++++++++++++++++++++++++++++++ 8n6
//$endeklarasikan da4tar dari Kelas List
List da4tar
//memanggil 4ungsi tam%ahData dari Kelas List di o%9ek da4tar
da4tar.tam%ahData'=>(
//memanggil 4ungsi tam%ahData dari Kelas List di o%9ek da4tar
da4tar.tam%ahData':>(
//$em%eri keterangan tampil depan
cout<<6---- .ampil Depan '-ead( ----8n6
//memanggil 4ungsi tampilData dari Kelas List di o%9ek da4tar
da4tar.tampilData'(
//$em%eri keterangan tampil depan
cout<<6---- .ampil 1elakang '.ail( ----8n6
//memanggil 4ungsi tam%ah1elakang dari Kelas List di o%9ek da4tar
da4tar.tampil1elakang'(
//$engem%alikan Nilai > ke 4ungsi main
return >
)
//++++++++++++++++++++++++++++++++++++
//Nama & *a9ar $uhammad *
//Nim & :;<<=<>>==
//++++++++++++++++++++++++++++++++++++
.ampilan

Anda mungkin juga menyukai