Anda di halaman 1dari 19

MAKALAH

ALGORITMA DAN STRUKTUR DATA

Di susun oleh :
NAMA : NANDA PRATIWI
NIM : 231220689
KELAS :B

PROGRAM STUDI SISTEM INFORMASI


FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS SEMBILANBELAS NOVEMBER
TAHUN AJARAN 2024/2025

i
KATA PENGANTAR

Assalamualaikum. Wr. Wb.

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.

Kami menyadari bahwa keterbatasan pengetahuan dan pemahaman kami


masih kurang, menjadikan keterbatasan kami pula untuk memberikan penjabaran
yang lebih dalam tentang topik ini, kiranya mohon dimaklumi apabila masih
terdapat banyak kekurangan dan kesalahan dalam penyusunan makalah ini.

Harapan kami, semoga makalah ini membawa manfaat bagi kita,


setidaknya untuk sekedar membuka cakrawala berpikir kita tentang Demokrasi
dan Pendidikan Demokrasi.

Wassalamualaikum. Wr. Wb.

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

1.1 Latar Belakang

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.

1.3 Rumusan Masalah


1. Bagaimana sejarah perkembangan algoritma?
2. Apa definisi, implementasi, dan struktur dari algoritma?
3. Bagaimana sejarah perkembangan pemrograman?
4. Apa definisi pemrograman?
5. Apa saja jenis-jenis pemrograman komputer yang umum digunakan?
6. Apa yang dimaksud dengan notasi algoritma dan bagaimana penggunaannya?
7. Apa itu flowchart dan pseudecode serta bagaimana cara penggunaannya?
8. Apa konsep dasar dari struktur data?

v
BAB II
PEMBAHASAN

2.1 Sejarah Algoritma


Saat itu, Al-Khawarizmi menulis sebuah buku dengan judul Al Jabar wal-
Muqabala yang artinya Buku Pemulihan dan Pengurangan (The Book of Restoration and
Reduction) . Dari judul buku kita juga mendapatkan kata “aljabar” atau lebih dikenal
dengan istilah algebra.
Abu Abdullah Ibn Musa al-Khawarizmi (770- 840M) lahir di Khawarizm
(Kheva), sebuah kota di selatan Sungai Oxus (sekarang disebut Uzbekistan) pada 770 M.
Al Khawarizmi adalah salah satu ilmuwan terkenal pada masanya. Ada beberapa cabang
matematika yang ditemukannya antara lain yang disebut astronom dan ahli geografi.
Awalnya, algoritma adalah istilah yang mengacu pada aturan aritmatika yang berguna
untuk memecahkan masalah menggunakan angka Arab.
Pada tahun 1950, kata algoritma pertama kali digunakan dalam “Algoritma
Euclidean”. Euclid, seorang matematikawan Yunani (lahir pada 350 M). Dalam bukunya
Elements menulis langkah-langkah untuk menemukan pembagi persekutuan terbesar
(common greatest divisor atau gcd), dari dua bilangan bulat, m dan n [KNU 73] (tentu
saja Euclid tidak menyebut metodenya sebagai algoritma, itu hanya di zaman modern
orang menyebut metodenya (“algoritma Euclidean”).
Pembagi persekutuan terbesar dari dua bilangan bulat non-negatif adalah
bilangan bulat positif terbesar yang membagi dua bilangan sama rata.
Misalnya, m= 80 dan n =12. Semua faktor pembagi 80 adalah 1,2,4,5,8,10,16,20,40,80
Dan semua faktor pembagi 12 adalah 1,2,3,4,6,12,Maka gcd (80,12) = 4.
Langkah-langkah mencari gcd (80,12) dengan algoritma Euclidean sebagai berikut:
80 dibagi 12 hasilnya =6, sisa 8 (atau:80 =6.12+8)
12 dibagi 8 hasilnya = 1, sisa = 4 (atau:12 =1.8+4)
8 dibagi 4 hasilnya = 2, sisa =0 (atau:8 =4.2+0)

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.

Definisi Algoritma adalah suatu proses atau serangkaian aturan dalam


perhitungan proses pemecehan masalah. Dengan kata lain algoritma adalah serangkaian
prosedur motode atau urutan sistematis, logis dan terstruktur digunakan untuk
memecahkan suatu permasalahan secara efisien dan efektif.Bisa dikatakan bahwa,
algoritma adalah suatu prosuder terperinci yang dapat memecahkan permasalahan dengan
cara serangkaian langkah-laangkah yang tersusun rapih dan memberikan solusi dengan
jumlah terbatas.

 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.

2.3 Sejarah Pemrograman


Terciptanya bahasa pemrograman beriringan dengan sejarah mesin dan komputer. Awal
mula bahasa pemrograman dimulai dari Antikythera yang berasal dari Yunani kuno. Antikythera
adalah kalkulator yang menggunakan beberapa tuas dan konfigurasi untuk menjalankanya. Pada
tahun 1200an Ismail Al-Jazari, seorang ilmuwan pada masa kejayaan Islam membangun sebuah

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.

Dengan tersebarnya algoritma mesin Prevost, perkembangan semakin terjadi. Di tahun


1854, George Boole menemukan sistem logika yang disebut logika Boole. Logika ini menyatakan
hubungan hubungan lebih besar, lebih kecil, sama dengan dan tidak sama dengan.

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.

Alick Glennie dari Universitas Manchester mengembangkan bahasa pemrograman


Autocode di awal tahun 1950an. Sebagai bahasa pemrograman, bahasa ini menggunakan kompiler
yang mengkonversi secara otomatis bahasanya ke bahasa mesin. Awal bahasa pemrograman
pertama digunakan pada tahun 1952 untuk komputer Mark 1 di Universitas Manchester

John W. Backus membuat proposal ke atasannya di IBM (International Business


Machines Corporation) untuk mengembangkan sebuah bahasa alternatif yang lebih praktis dari
bahasa assembly untuk memprogram IBM 704 mainframe computer dengan nama Formula
Translation atau yang kita kenal dengan FORTRAN. Kompiler FORTRAN berhasil diselesaikan
pada April 1957.

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.

Perkembangan bahasa pemrograman semakin pesat dengan adanya bahasa C. Dennis


Ritchie dan Brian Kernighan menciptakan C awalnya untuk mesin DEC PDP-11. Dengan adanya
bahasa C banyak bahasa baru bermunculan seperti C++, Java, C#, dan banyak lagi. Bahasa
pemrograman akan terus berevolusi menjadi semakin mudah digunakan seiring dengan
berkembangnya jaman.

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.

Jenis pemrograman website memiliki fungsi utama untuk menyusun fungsional


website agar menjadi lebih mudah digunakan. Mekanisme pemrograman membuat
website dapat berjalan dengan lebih interaktif, dinamis, dan memiliki daya fungsional
yang lebih tinggi. Beberapa contoh jenis bahasa pemrograman yang umum digunakan
untuk menyusun website adalah Javascript, CSS, HTM, PHP, dan JSP.

 Aplikasi

Jenis pemrograman selanjutnya adalah aplikasi yang digunakan di smartphone.


Seiring perkembangan zaman yang semakin modern, aplikasi semakin banyak digunakan
karena lebih praktis dan interaktif dibandingkan website, serta mampu bekerja lebih
spesifik untuk menyelesaikan berbagai jenis tugas dan pekerjaan penggunanya. Jenis
pemrograman ini lebih fokus pada hasil untuk menyusun sebuah 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.

2.5 Jenis Pemrograman Komputer


Banyak jenis-jenis bahasa pemrograman yang pasti digunakan untuk berbagai
aplikasi dan harus dikuasai para programmer. Berikut beberapa di antaranya:

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

Structured Query Language adalah bahasa pemrograman yang terkait database, di


mana tujuannya adalah menyimpan, mengambil, mengelola, dan memanipulasi data
dalam database system management.

11. C++

Bjarne Stroustrup mengembangkan C ++ sebagai bahasa pemrograman lintas


platform, yang digunakan untuk membuat aplikasi dengan kinerja tinggi untuk sumber
daya sistem dan memori.

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.

2.6 Notasi Algoritma


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.

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.

Flowchart berperan penting dalam memutuskan sebuah langkah atau


fungsionalitas dari sebuah proyek pembuatan program yang melibatkan banyak orang
sekaligus. Selain itu dengan menggunakan bagan alur proses dari sebuah program akan
lebih jelas, ringkas, dan mengurangi kemungkinan untuk salah penafsiran. Penggunaan
flowchart dalam dunia pemrograman juga merupakan cara yang bagus untuk
menghubungkan antara kebutuhan teknis dan non-teknis.

 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

Selanjutnya kita akan membahas flowchart program. Flowchart ini menggambarkan


secara rinci prosedur dari proses program. Flowchart program terdiri dari dua macam,
antara lain: flowchart logika program (program logic flowchart) dan flowchart program
komputer terinci (detailed computer program flowchart).

 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

Mengutip Aditya Gusti Tammam dalam makalahnya, pseudocode memiliki


fungsi untuk memudahkan manusia memahami bahasa pemrograman yang lebih
sederhana dibandingkan dengan bahasa pemrograman aslinya yang rumit. Selain itu,
geeksforgeeks.org juga menjabarkan beberapa fungsi pseudocode, antara lain:

-Meningkatkan keterbacaan algoritma.

-Menjembatani program dan algoritma atau diagram alur.

-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.

2.9 Konsep Struktur Data


Struktur data adalah cara menyimpan, mengambil, dan menyusun data. Struktur
data memungkinkan data yang ada di komputer lebih mudah diakses dan diperbarui.

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

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.

4. Linked List (Dinamis)

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).

 Jenis Struktur Data Non-linear

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.

Analogi sederhana trees adalah struktur hubungan dalam keluarga. Kakek


memiliki beberapa anak. Anak-anak tersebut akan menikah dan menjadi orang tua.
Masing-masing anak yang sudah menjadi orang tua memiliki anak-anak baru, begitu
seterusnya.

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

Anda mungkin juga menyukai