Linked List adalah salah satu bentuk struktur data, berisi kumpulan data (node) yang tersusun secara sekuensial, saling sambung menyambung, dinamis dan terbatas. Sedangkan Single Linked List adalah sebuah linked list yang menggunakan sebuah variabel pointer
saja untuk menyimpan banyak data dengan metode linked list, suatu daftar isi yang saling berhubungan.
Baiklah, Santekno akan memberikan implementasi dari Single Linked List dengan menggunakan bahasa C++. Hal yang paling penting dalam pembuatan Single Linked List adalah kita akan membuat suatu linked yang nantinya bisa saling terhubung sehingga agar bisa saling terhubung tersebut membutuhkan beberapa fungsi yang bisa mengoperasikannya seperti, insert depan, insert belakang, insert di tengah, delete, size, dan lain-lainnya.
Linked List yang akan Santekno buat menerapkan sistem OOP (Object Oriented Programming) sehingga agar lebih mudah dipahaminya. Dalam OOP kita harus membuat suatu kelas yang akan kita namakan SSL, atau singkatan dari Single Linked List.
Fungsi-fungsi yang akan dibuat
- Membuat Node Fungsi
make()
- Tambah Node di belakang
push_back()
- Tambah Node di depan
push_front()
- Tambah Node setelah n
push_after()
- Mencari Node
find()
- Mencari Node sebelum n
find_before()
- Hapus Node n
del()
- Mencetak linked list
print()
- Main Program
Code Program Kelas SLL
#include <utility>
#include <iostream>
#include <forward_list>
#include <string>
using namespace std;
typedef par<string, float> P;
typedef forward_list<P> SLLP;
class SLL{
SLLP dt;
void push_front(string nim,float ipk);
void push_back(string nim, float ipk);
void push_after(string nim,float ipk, string after);
void del(string nim);
SLLP::iterator find(string nim);
void print();
};
void SLL::print(){
SLLP::iterator it;
for(it=dt.begin();it!=dt.end();++it){
cout << "(" << it->first << "," << it->second << ")->";
}
cout << "NULL"<< endl;
}
void SLL::push_front(string nim, float ipk){
P t=make_pair(nim,ipk);
dt.push_front(t);
}
void SLL::push_back(string nim,float ipk){
P t=make_pair(nim,ipk);
if(dt.empty())
dt.push_front(t);
else{
SLLP::iterator before=dt.begin();
SLLP::iterator it=dt.begin();
for(;it!=dt.end();before=it,++it);
dt.insert_after(before,t);
}
}
int main(){
SLL list;
list.make();
list.push_back(100); list.push_back(50);
list.push_front(75); list.print();
list.push_after(35,100); list.print();
list.del(50); list.print();
return 0;
}
Output
Cara Mencari Akar dari Persamaan Kuadrat
Artikel Terhangat
25 Cara Mengontrol Aliran Data dengan Stream
07 Jul 2025
2 Perbandingan Singkat: GraphQL vs REST API
07 Jul 2025
24 Implementasi Bidirectional Streaming RPC
07 Jul 2025
23 Implementasi Client-side Streaming RPC
07 Jul 2025
22 Implementasi Server-side Streaming RPC
06 Jun 2025
21 Memahami Konsep Streaming pada gRPC
06 Jun 2025

25 Cara Mengontrol Aliran Data dengan Stream

2 Perbandingan Singkat: GraphQL vs REST API

24 Implementasi Bidirectional Streaming RPC

23 Implementasi Client-side Streaming RPC

22 Implementasi Server-side Streaming RPC
