Di susun oleh :
NAMA : NANDA PRATIWI
NIM : 231220689
KELAS :B
i
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Allah SWT atas limpahan rahmat
dan kasih-Nya, atas anugerah hidup dan kesehatan yang telah kami terima, serta
petunjuk-Nya sehingga memberikan kemampuan dan kemudahan bagi kami
dalam penyusunan makalah ini.
Makalah ini kami selaku penyusun hanya sebatas ilmu yang dapat kami
sajikan dengan topik ALGORITMA DAN STRUKTUR DATA. Dimana di dalam
topik tersebut ada beberapa hal yang dapat kita pelajari khususnya pengetahuan
tentang pengertian demokrasi, jenis-jenis demokrasi dan nilai-nilai yang
terkandung dalam demokrasi, serta arti penting pendidikan demokrasi di
indonesia.
Penulis
ii
DAFTAR ISI
KATA PENGANTAR............................................................................ii
DAFTAR ISI..........................................................................................iii
BAB I PENDAHULUAN......................................................................1
1.1 Latar Belakang.........................................................................1
1.2 Tujuan......................................................................................2
1.3 Rumusan Masalah....................................................................2
BAB II PEMBAHASAN.......................................................................3
2.1 Sejarah Algoritma....................................................................3
2.2 Definisi,Implementasi Dan Struktur Algoritma.......................3
2.3 Sejarah Pemrograman..............................................................4
2.4 Definisi Pemrograman.............................................................5
2.5 Jenis Pemrograman Komputer.................................................7
2.6 Notasi Algoritma .....................................................................8
2.7 Flowchart.................................................................................9
2.8 Pseudecode ..............................................................................12
2.9 Konsep Struktur Data...............................................................13
BAB III PENUTUP...............................................................................15
3.1 kesimpulan...............................................................................15
3.2 saran.........................................................................................15
DAFTAR PUSTAKA.............................................................................
iii
BAB 1
PENDAHULUAN
Sejarah Algoritma ditinjau dari asal usul katanya kata Algoritma sendiri
mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang
berarti proses menghitung dengan angka arab. Anda dikatakan Algorist jika
anda menghitung menggunakan angka arab. Para ahli bahasa berusaha
menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para
ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama
seorang ahli matematika dari Uzbekistan Abu Abdullah Muhammad Ibnu
Musa Al Khuwarizmi.
Al Khuwarizmi dibaca orang barat menjadi Algorism. Al Khuwarizmi
menulis buku yang berjudul Kitab Al Jabar Wal Muqabala yang artinya buku
pemugaran dan pengurangan (The book ofrest oration and reduction). Dari
judul buku itu kita juga memperoleh akar kata Aljabar (Algebra). Sejarah
Algoritma perubahan kata dari Algorism menjadi Algorithm muncul karena
kata Algorism sering dikelirukan dengan Arithmetic, sehingga akhiran sm
berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi
hal yang biasa. Maka lambat laun kata Algorithm berangsur angsur dipakai
sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan
makna kata aslinya. Dalam Bahasa Indonesia, kata Algorithm diserap
menjadi Algoritma.
Definisi Algoritma Kita bisa mendefinisikan algoritma sebagai berikut:
Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang
digunakan untuk memecahkan suatu permasalahan. Dan kamus besar bahasa
Indonesia (Balai Pustaka 1988) secara formal mendefinisikan algoritma
sebagai berikut: Algoritma adalah urutan logis pengambilan putusan untuk
pemecahan masalah.
iv
1.2 Tujuan
Makalah ini bertujuan untuk memberikan pemahaman yang komprehensif
tentang konsep, sejarah, definisi, implementasi, dan pentingnya algoritma dan struktur
data dalam dunia komputer dan teknologi informasi.
v
BAB II
PEMBAHASAN
vi
Karena pembagian yang terakhir menghasilkan 0, maka sisa pembagian terakhir sebelum
0, yaitu 4, menjadi gcd (80,12). Jadi, gcd (80,12) = gcd (12,8) = gcd (8,4) = gcd (4,0)=4.
2.2 definisi,implementasi,dan struktur algoritma
Definisi
Algoritma banyak digunakan dalam bidang sains kompuet. Dalam hal penciptaan
sebuah program komputer, algoritma merupakan salah satu konsep dasar yang menjadi
fondasi untuk menciptakan karya pemograman efisien, efektif dan terstruktur. Artikel kali
ini saya akan membahas sedikit definisi algoritma.
implementasi
Implemetasi algoritma atau penerapan algoritma ini sangat umum digunakan, oleh
praktisi, akademisi, atau orang awam. Terkadang seorang awam tersebut tidak menyadari
bahwasanya ia telah menganalisa dan melakukan teknik algoritma. Praktisi peniliti ilmu
kedoktoran misalnya, melakukan penerapan algoritma ketika meneliti kejadian proses
yang dilakakukan tubuh manusia menerima asupan makanan hingga masuk pencernaan,
masuk ke sel darah otak dan hingga akhirnya menghasilkan tenaga. Bagi akademisi
khususnya mahasiswa kejuruan Teknik Informatika Komputer atau serupa dengannya,
algoritma merupakan Matakuliah Kejuruan wajib dalam kurikulumnya, bahkan ada
semboyan yang berbunyi algoritma adalah jantung Ilmu Informatika. Ilmu Komputasi ini
masuk dalam bidang Algortima dan Pemrograman.
struktur algoritma
Struktur Algoritma disusun dari bagian Kepala header berisikan tentang keterangan
permasalahan yang akan diimplementasikan ke dalam algoritma, pendeklarasian adalah
tahapan penetapan variabel atau ikatan objek yang terikat dengan tipe data dari bagian
kerangka kepala header dan tahap akhir deskripsi tahapan rincian penyelesaian masalah
yaitu berisikan tentang langkah-langkah sitematis logis menyelasaikan masalah hingga
menghasilkan solusi atau ouput.
vii
mesin bernama Automata, sebuah robot burung merak yang bergerak dengan menggunakan
hydropower (aliran air).
Cikal bakal bahasa pemrograman pertama kali muncul pada tahun 1822, sebuah mesin
bernama Difference Engine diciptakan oleh Charles Babbage, mahasiswa di universitas Cambridge
Inggris. Namun mesin buatan Babbage hanya bisa mengeluarkan satu jenis output. Barulah 10
tahun kemudian Charles Babbage mengembangkan mesin pengolah data itu hingga mencapai versi
kedua tahun 1849. Perjuangan Babbage diteruskan oleh anaknya, Henry Prevost. Prevost membuat
kopian dari perhitungan algoritma mesinnya dan mengirim ke berbagai institusi di dunia.
Pengembangan logika ini terus berkembang dari tahun ke tahun hingga seorang ilmuwan
Jerman bernama Konrad Zuse membuat sebuah mesin kalkulator biner dengan nama Z-1 pada
tahun 1935. Kemudian pada tahun 1939, Zuse dipanggil untuk mengabdi pada militer dengan
membuat Z-2 dan dilanjutkan dengan Z-3 dan Z-4.
Ketika sedang mengembangkan Z-4, Zuse sadar bahwa bahasa pemrograman dengan
bahasa mesin terlalu rumit. Bahasa mesin ini tergolong bahasa tingkat rendah, karena hanya
kumpulan kode 0 dan 1, atau ya dan tidak. Setelah melakukan penelitian selama setahun, pada
tahun 1945 barulah tercipta bahasa pemrograman tingkat tinggi pertama didunia, yaitu Plankalkul
(Plan Kalkulus). Dengan Plankalkul terbukti bisa meciptakan mesin catur komputer pertama
didunia.
Short Code dicetuskan pada tahun 1949 sebagai bahasa pemrograman tingkat tinggi
pertama untuk mengembangkan komputer elektronik yang diciptakan oleh John Mauchly. Namun
programnya harus ditranslasikan ke dalam bahasa mesin setiap dijalankan, ini membuat kinerja
program dalam memproses kode memakan waktu yang cukup lama.
Selanjutnya ada FLOW-MATIC yang dibuat oleh Grace Hopper. FLOW-MATIC resmi
dipublikasikan pada tahun 1959 dan menbawa pengaruh besar untuk pembuatan bahasa
pemrograman COBOL (Common Business Oriented Language), bahasa pemrograman yang pada
tahun 1959 banyak digunakan pada mainframe dan komputer mini.
viii
2.4 Definisi Pemrograman
Sederhananya, pemrograman adalah proses membuat program di komputer.
Pembuatan program ini bisa berupa website, software, aplikasi android, dan sebagainya.
Pemrograman dimulai melalui beberapa tahapan, seperti tulis-menulis, menguji, merevisi,
mengevaluasi, serta pengujian kembali. Tahapan-tahapan tersebut dilakukan terus-
menerus sampai program jadi sesuai yang diinginkan.
Jenis pemrograman
Saat membuat program di dalam perangkat teknologi, ada tiga jenis pemrograman
yang bisa Anda temui. Berikut penjelasannya.
Website
Website adalah kumpulan dari banyak halaman web. Halaman web sendiri
merupakan file digital yang ditulis menggunakan HTML (HyperText Markup Language).
Website dibentuk menggunakan sistem pemrograman dan jalinan beragam sintaks bahasa
pemrograman. Berbagai bahasa pemrograman web yang berbeda-beda tersebut membuat
website memiliki tampilan yang menarik dan mudah digunakan oleh orang awam.
Aplikasi
Sistem terbaik yang digunakan oleh para developer yang bekerja di bidang
pengembangan aplikasi untuk menciptakan aplikasi dengan daya kegunaan tinggi.
Pemrograman aplikasi umumnya fokus pada satu tujuan saja, seperti aplikasi Microsoft
Office yang berfokus pada pengolahan data.
Sistem operasi
Terakhir ada sistem operasi, jenis pemrograman yang bisa dibilang komponen
penting karena dipakai untuk membentuk perangkat komputer. Untuk bisa berfungsi
dengan baik, sistem operasi perlu diinstal terlebih dahulu pada sebuah perangkat
komputer. Jenis pemrograman ini tidak bisa lagi diubah karena sudah menjadi satu dalam
setiap perangkat hardware yang dibeli, misalnya seperti laptop, komputer, smartphone,
atau tablet. Beberapa contoh sistem operasi adalah Windows, Linux, Android, iOS, dan
lain-lain.
ix
Fungsi pemrograman
Fungsi apa itu pemrograman adalah memberikan instruksi pada komputer sehingga
manusia dapat memerintahkan mesin secara spesifik, apa yang harus dilakukan. Sebagai
media komunikasi antara manusia dengan komputer, bahasa pemrograman
memungkinkan komputer memproses data sesuai dengan jalur sistematis yang dibuat oleh
penerjemah. Bahasa pemrograman juga membuat mesin lebih mudah digunakan untuk
mengurangi pekerjaan manusia.
1. JavaScript
Bahasa pemrograman yang satu ini adalah yang terpopuler untuk berbagai situs.
Selain mudah dipelajari, JavaScript juga menjadi bahasa pemrograman yang paling inti
dan pasti digunakan. Semua programmer pemula wajib mempelajarinya.
2. Visual Basic
Visual Basic adalah produk Microsoft, di mana bahasa pemrograman ini memiliki
karakter event driven. Sesuai namanya, bahasa pemrograman ini adalah yang paling
dasar, di mana perintah mudah dapat dimengerti oleh komputer. Visual Basic digunakan
untuk aplikasi yang sangat sederhana.
3. Python
Python sering menjadi bahasa pemrograman untuk otomatisasi data dan analisis
untuk situs web dan perangkat lunak. Karakternya sangat umum sehingga dapat
digunakan dalam pembuatan program yang berbeda-beda.
4. HTML
Bahasa pemrograman ini adalah yang paling standar. Bahkan, pemula pun dapat
membuat website dengan mudah dengan jenis bahasa ini.
5. PHP
PHP digunakan sebagai bahasa pemrograman untuk situs interaktif dan desain
dinamis. PHP digunakan sangat masif oleh para web developer. Selain gratis, PHP juga
efisien.
6. ASP
Singkatan dari Active Server Pages, ASP merupakan teknologi side-server, di mana
teknologi ini memungkinkan server internet menjalankan kode komputer.
7. CSS
x
Bahasa pemrograman ini memberi style pada dokumen HTML. Maksudnya, CSS
dapat mendeskripsikan bagaimana elemen HTML harus tampil.
8. Perl
Awal pengembangan bahasa pemrograman ini adalah manipulasi teks. Saat ini, Perl
digunakan untuk ragam tugas seperti administrasi sistem, pengembangan web, GUI
pemrograman jaringan, dan banyak lagi.
9. XML
Singkatan dari Extensible Markup Language, XML merupakan bahasa markup yang
berfungsi menyimpan dan memindah data.
10. SQL
11. C++
12. Go
Bahasa pemrograman ini termasuk yang tingkat tinggi. Robert Griesemer, Rob Pike,
dan Ken Thompson merancangnya di Google untuk menjamin keamanan memori,
structural typing, garbage collection, serta konkurensi CSP-style.
Menurut Rinaldi Munir dalam buku Algoritma dan Pemrograman (1997) notasi
algoritma adalah desain berisi urutan langkah-langkah pencapaian solusi yang tidak
tergolong bahasa pemrograman apapun.Sehingga notasi algoritma merupakan dasar
dibuatnya suatu program komputer dan dapat diterjemahkan ke dalam berbagai bahasa
pemrograman. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
xi
Secara umum notasi algoritma terdiri dari tiga jenis, yaitu kalimat deskriptif,
pseudocode, dan flowchart. Berikut adalah ketiga penjelasan dari tiga notasi
pemrograman tersebut:
-Kalimat Deskriptif
Notasi algoritma kalimat deskriptif adalah notasi algoritma yang menggunakan bahasa
Inggris atau bahasa Indonesia dalam menjabarkan desain langkah pemrograman yang
akan dibuat. Dalam notasi kalimat deskriptif akan dijumpai berbagai kata kerja dalam
bahasa manusia seperti mulai, tulis, baca, tampilkan, maka, ulangi, read, print, if, dan
end. Notasi kalimat deskriptif ditulis dengan kerangka utama berupa judul, deklarasi, dan
deskripsi.
-Flowchart
Flowchart adalah jenis notasi algoritma yang menggunakan grafis berupa bagan
untuk memperlihatkan langkah-langkah algoritma sebuah bahasa pemrograman. Bentuk
diagram dalam bagan dari flowchart mendefinisikan instruksi yang diberikan pada
komputer. Misalnya bentuk oval digunakan untuk instruksi dimulai atau dihentikannya
suatu program. Tanda panah yang menghubungkan diagram menandakan arah
mengalirnya program. Diagram berbentuk jajar genjang menandakan masukan atau
keluar program. Diagram belah ketupat menandakan diambilnya suatu keputusan Adapun
diagram berbentuk persegi panjang menandakan proses perhitungan dalam suatu
program.
- Pseudocode
Peseudocode adalah jenis notasi algoritma yang sangat ringkas dan cocok
digunakan untuk membuat alogirtma pemrograman yang panjang. Ali Ridho Barakbah,
dkk dalam buku Logika dan Algoritma (2013) menyebutkan bahwa pseudocode berisi
deskripsi dari algoritma pemrograman komputer yang menggunakan struktur sederhana
dari beberapa bahasa pemrograman tetapi ditujukkan agar dapat dimengerti manusia.
2.7 Flowchart
Flowchart atau bagan alur adalah diagram yang menampilkan langkah-langkah
dan keputusan untuk melakukan sebuah proses dari suatu program. Setiap langkah
digambarkan dalam bentuk diagram dan dihubungkan dengan garis atau arah panah.
Fungsi flowchart
xii
Fungsi utama dari flowchart adalah memberi gambaran jalannya sebuah program dari
satu proses ke proses lainnya. Sehingga, alur program menjadi mudah dipahami oleh
semua orang. Selain itu, fungsi lain dari flowchart adalah untuk menyederhanakan
rangkaian prosedur agar memudahkan pemahaman terhadap informasi tersebut.
Jenis flowchart
Flowchart sendiri terdiri dari lima jenis, masing-masing jenis memiliki karakteristik
dalam penggunaanya. Berikut adalah jenis-jenisnya:
Flowchart dokumen
Pertama ada flowchart dokumen (document flowchart) atau bisa juga disebut dengan
paperwork flowchart. Flowchart dokumen berfungsi untuk menelusuri alur form dari satu
bagian ke bagian yang lain, termasuk bagaimana laporan diproses, dicatat, dan disimpan.
Flowchart program
Flowchart proses
Flowchart proses adalah cara penggambaran rekayasa industrial dengan cara merinci dan
menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem.
Flowchart sistem
Yang keempat ada flowchart sistem. Flowchart sistem adalah flowchart yang
menampilkan tahapan atau proses kerja yang sedang berlangsung di dalam sistem secara
menyeluruh. Selain itu flowchart sistem juga menguraikan urutan dari setiap prosedur
yang ada di dalam sistem.
Flowchart skematik
Terakhir ada flowchart skematik. Flowchart ini menampilkan alur prosedur suatu sistem,
hampir sama dengan flowchart sistem. Namun, ada perbedaan dalam penggunaan simbol-
simbol dalam menggambarkan alur. Selain simbol-simbol, flowchart skematik juga
menggunakan gambar-gambar komputer serta peralatan lainnya untuk mempermudah
dalam pembacaan flowchart untuk orang awam.
Simbol flowchart
Pada dasarnya simbol-simbol dalam flowchart memiliki arti yang berbeda-beda. Berikut
adalah simbol-simbol yang sering digunakan dalam proses pembuatan flowchart.
xiii
Simbol-simbol di atas memiliki jenis dan fungsi yang berbeda-beda. Ada yang berfungsi
untuk menghubungkan satu simbol dengan simbol lainnya seperti simbol flow, on-page
dan off-page reference. Selain itu ada juga simbol yang berfungsi untuk menunjukan
suatu proses yang sedang berjalan, dan yang terakhir terdapat simbol yang berfungsi
untuk memasukan input dan menampilkan output.
Contoh flowchart
Untuk membuat sebuah flowchart sederhana kamu diharuskan untuk mengetahui setiap
simbol dan juga fungsinya. Nah, di bawah ini saya akan memberikan sebuah contoh
flowchart sederhana untuk menentukan apakah bilangan yang dimasukan ganjil atau
genap. Berikut adalah contohnya:
xiv
Pembahasan:
Pertama pengguna menginput data yang berupa nilai dari bilangan bulat.
Kemudian nilai yang dimasukan diproses dengan cara dibagi dengan angka 2.
Jika sisa bagi sama dengan 0 berarti bilangan yang dimasukan adalah bilangan genap.
Jika sisa bagi tidak sama dengan 0 berarti bilangan yang dimasukan adalah bilangan
ganjil.
2.8 Pseudecode
Kode semu (bahasa Inggris: pseudo-code) merupakan deskripsi tingkat tinggi
informal dan ringkas atas algoritme pemrograman komputer yang menggunakan konvensi
struktural atas suatu bahasa pemrograman. Pembuatan kode semu ditujukan untuk dibaca
oleh manusia dan bukan oleh mesin. Kode semu biasanya tidak menggunakan elemen
detail yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritme,
seperti deklarasi variabel, kode ataupun subrutin untuk sistem yang bersifat spesifik.
Bahasa pemrograman yang digunakan lebih diperbanyak dengan deskripsi dalam bahasa
natural atas sesuatu hal yang bersifat detail, atau dengan menggunakan notasi matematis.
Tujuan dari penggunaan kode-semu adalah untuk mempermudah manusia dalam
pemahaman dibandingkan menggunakan bahasa pemrograman yang umum digunakan,
terlebih aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu
merupakan prinsip utama dalam suatu algoritme. Kode-semu umumnya digunakan dalam
buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan suatu algortima, dan
juga dalam perencanaan pengembangan program komputer, untuk membuat sketsa atas
struktur sebuah program sebelum program yang sesungguhnya ditulis.
Tidak ada satu pun standar yang berlaku atas kode-semu, sebuah program yang
masih berupa kode-semu tidak dapat dijalankan. Kode-semu menyerupai pula kerangka
program, termasuk dummy code, yang bisa dikompilasi tanpa kesalahan. Diagram alur
dapat pula dimasukkan sebagai alternatif berbasis grafis sebuah kode-semu.
Fungsi Pseudocode
-Sebagai dokumentasi kasar sehingga program dari suatu pengembang dapat dengan
mudah dipahami.
xv
-Menjelaskan apa yang harus dilakukan setiap baris program sehingga mempermudah
tahap konstruksi kode bagi pemrogram.
Fondasi setiap program komputer adalah data dan algoritma. Dengan algoritma,
program komputer bisa menggunakan data secara efektif. Sementara struktur data ibarat
kontainer yang menyimpan banyak data dengan layout tertentu. Tiap jenis struktur data
memiliki layout masing-masing dikarenakan memori komputer terbatas, layout (tata
letak) data harus diatur dengan baik. Oleh sebab itu, penyimpanan data membutuhkan
“formasi” khusus agar data lebih rapi dan tidak menghabiskan banyak memori.
Jenis struktur data linear dibagi dalam dua jenis, yaitu struktur data statis dan dinamis.
1. Array (Statis)
Array memiliki item/tipe yang sama. Kumpulan elemen dalam array memiliki
jarak yang saling berdekatan. Dengan array, analyst bisa mencari data acak cukup dengan
menggunakan indeks. Arrays terdiri dari dua jenis, yaitu one-dimensional array dan
multi-dimensional array.
2. Stack (Dinamis)
Stack adalah struktur data yang berfungsi menghapus atau menyisipkan item baru
di bagian atas tumpukan (stacks).Bayangkan stack adalah tumpukan buku. Ketika
seseorang ingin mengambil buku yang berada di tumpukan tengah, orang itu harus
mengambil buku yang di atasnya terlebih dahulu. Stack menggunakan konsep LIFO (last
in first out). Artinya, item terakhir yang ditambahkan dalam tumpukan adalah item
pertama yang nantinya akan keluar dari tumpukan.
3.Queue (Dinamis)
Queue adalah tipe data linear di mana analyst hanya bisa menyisipkan atau
menambahkan elemen di bagian paling belakang. Sementara untuk menghapus elemen
hanya bisa dilakukan di bagian paling depan.
Sederhananya, queue sama seperti antrean di kasir swalayan. Orang yang berada
paling depan akan dilayani pertama. Sebaliknya, orang yang berada di antrean paling
belakang dilayani terakhir.
Linked list menghubungkan elemen data melalui serangkaian node. Setiap node
berisi data aktual (semua jenis data) dan pointer (link). Dalam linked list, pencarian data
xvi
dilakukan secara manual.Operasi dasar dalam linked list adalah menambahkan,
menghapus, dan mencari item dari daftar (list).
Struktur data non-linear adalah struktur data yang tempat elemen-elemennya tidak
berurutan atau tidak linear.
1. Tree
Trees adalah struktur data bertingkat yang tersusun dari beberapa node. Node
paling bawah disebut sebagai leaf node dan node paling atas disebut root node. Setiap
node berisi pointer ke titik node yang berdekatan.
Trees memiliki beberapa jenis struktur data, seperti binary tree, binary search
tree, B-tree, dan AVL tree. Di antara jenis-jenis tersebut, binary tree adalah salah satu
yang paling sering dipakai.
2. Graph
Graph dikenal juga sebagai networks. Dalam graph, setiap node disebut sebagai
vertices. Graph terdiri dari kumpulan vertices dan koneksi (edges).
Analogi sederhana dari graph adalah social network. Manusia diibaratkan sebagai
nodes dan persahabatan atau hubungan adalah edges. Setiap perkenalan manusia dengan
manusia lainnya menghasilkan jaringan atau persahabatan baru.
BAB III
xvii
PENUTUP
3.1 Kesimpulan
Algoritma dan struktur data adalah dua konsep penting dalam pengembangan
perangkat lunak. Pemahaman yang baik tentang konsep-konsep ini
memungkinkan pengembang untuk merancang solusi yang efisien dan efektif
untuk berbagai masalah komputasi.
3.2 Saran
Untuk mendalami pemahaman tentang algoritma dan struktur data, disarankan
untuk membaca lebih lanjut, berlatih secara aktif, dan mengikuti kursus atau
pelatihan terkait.
DAFTAR PUSTAKA
xviii
- Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction
to Algorithms. MIT Press.
- Sedgewick, R., & Wayne, K. (2011). Algorithms. Pearson Education.
- Drozdek, A. (2004). Data Structures and Algorithms in C++. Cengage Learning.
xix