Anda di halaman 1dari 16

MODUL

ALGORITMA DAN STRUKTUR DATA

DI
S
U
S
U
N
OLEH:
Aji Muhamad Landung| 531423027
Kelas B SI

PROGRAM STUDI SISTEM INFORMASI


JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI GORONTALO
2023
1. PENGANTAR ALGORITMA

Algoritma adalah serangkaian langkah-langkah terstruktur dan terdefinisi dengan jelas yang dirancang
untuk menyelesaikan suatu masalah atau menjalankan suatu tugas dengan efisien. Algoritma
memberikan panduan sistematis tentang apa yang harus dilakukan pada setiap tahapnya, dan dapat
diimplementasikan dalam berbagai konteks, termasuk matematika, komputer, dan pemrograman.

Sebuah algoritma memiliki beberapa karakteristik utama, termasuk kejelasan, keinputan dan keluaran
yang terdefinisi, keterbatasan langkah-langkah yang dapat dijalankan, dan kapabilitas menghasilkan
solusi yang benar dan efisien. Algoritma dapat diterapkan untuk berbagai macam masalah, mulai dari
perhitungan matematika sederhana hingga tugas yang kompleks dalam ilmu komputer seperti
pengolahan data, kecerdasan buatan, dan pemodelan algoritma.

Pentingnya algoritma dalam pemrograman dan komputasi modern membuat pemahaman tentang
bagaimana merancang, menganalisis, dan mengoptimalkan algoritma menjadi fundamental dalam
pengembangan solusi permasalahan teknologi informasi.

1. PENYAJIAN ALGORITMA

1. Flowchart
Flowchart adalah representasi grafis dari suatu proses atau algoritma menggunakan simbol-simbol dan
panah untuk menunjukkan alur langkah-langkahnya. Ini memberikan gambaran visual yang jelas tentang
urutan tindakan, keputusan, dan aliran data dalam suatu sistem atau program. Flowchart digunakan
secara luas dalam pemrograman, analisis sistem, dan dokumentasi proses untuk membantu
pemahaman dan komunikasi antar individu atau tim
Dengan menggunakan simbol simbol:
Manual input decision

Proses connector

magnetic disk input/output


file terminal

arah proses
alternative proses

Contoh flowchart: Mencari nilai Terkecil

Diketahui tiga buah bilangan a,b dan c buatlah flowchart untuk mendapat nilai terkecil diantara
Ketiga bilangan tersebut.

instruksi umum tentang bagaimana membuat flowchart untuk menentukan nilai terkecil antara tiga
bilangan a, b, dan c. Anda dapat mengikuti langkah-langkah berikut:

Mulai.
Input nilai a, b, dan c.
Inisialisasi sebuah variabel "terkecil" dengan salah satu dari tiga bilangan tersebut, misalnya, terkecil = a.
Bandingkan terkecil dengan b. Jika b lebih kecil dari terkecil, ubah nilai terkecil menjadi b.
Bandingkan terkecil (yang sekarang mungkin sudah berubah menjadi b) dengan c. Jika c lebih kecil dari
terkecil, ubah nilai terkecil menjadi c.
Output nilai terkecil.
Selesai.

Pastikan untuk menggambar simbol-simbol yang benar dalam flowchart, seperti simbol input/output,
simbol keputusan (diamond untuk perbandingan), dan simbol proses (kotak). Dengan langkah-langkah ¹,
Anda dapat membuat flowchart yang dapat mengidentifikasi nilai terkecil di antara tiga bilangan.

Algoritma
1. (Struktur, Tipe Data, Input/Output)

Struktur Algoritma
Pada dasarnya notasi algoritma terdiri dari 3
bagian yaitu :
 Judul Algoritma
 Deklarasi Algoritma
 Deskripsi Algoritma

Setiap bagian dapat diberikan komentar untuk memperjelas maksud dari notasi yang dituliskan

• Algoritma NAMA ALGORITMA


• {uraian singkat mengenai yang akan dilakukan algoritma ini}
• DEKLARASI
{semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur, dan
nama fungsi didefinisikan di sini}
• DESKRIPSI
{semua langkah / aksi algoritma dituliskan di sini}

Judul Algoritma
Bagian yang terdiri atas nama algoritma dan penjelasan tentang algoritma tersebut
Catatan:
 nama algoritma sebaiknya singkat namun cukup menggambarkan apa yang dilakukan
oleh algoritma tersebut
 dapat disertai penjelasan (spesifikasi algoritma)
 tentang algoritma tersebut
Contoh
Algoritma Penjumlahan
{ Menghitung hasil penjumlahan dari 2 buah
bilangan yang dimasukkan}
Algoritma Perkalian
{ Menghitung hasil perkalian dari 2 buah
bilangan yang dimasukkan}

Deklarasi
Bagian untuk mendefinisikan semua nama yang dipakai di dalam algoritma
Catatan :
nama tersebut dapat berupa nama tetapan (konstanta), nama peubah (variabel), nama tipe,
nama prosedur (procedure) ataupun nama fungsi (function)
Contoh
A: char
{nama variabel DEKLARASI
const phi = 3.14 {nama konstanta}

B : integer function tukar (input a:integer)


integer
{nama fungsi}
procedure jumlah (input/output a: integer, input/output a: integer) {nama prosedur}

Deskripsi
Bagian inti dari algoritma yang berisi uraian langkah-langkah penyelesaian masalah
Catatan:
- urutan penulisan menentukan urutan pelaksanaan perintah
- setiap langkah algoritma dibaca dari atas ke bawah
Contoh
Deskripsi:
read (a,b)
if a > b then write (a)
else write (b)
endif
Contoh Deskripsi

Tipe Data, Nama dan Nilai


Tipe Dasar
●boolean
merupakan nama tipe data yang menyatakan logika
Nilai tipe boolean : true dan false
Contoh operasi :

• integer
merupakan nama tipe data untuk bilangan bulat yaitu bilangan yang tidak mengandung
pecahan
Nilai tipe integer : tidak terbatas (minus tak hingga sampai plus tak hingga)
• Operasi : aritmatik dan perbandingan (<, >)
• real
merupakan nama tipe data untuk bilangan yang mengandung pecahan desimal
Nilai tipe real : tidak terbatas (dari minus sampai plus tak hingga)
Semua konstanta bilangan real harus mengandung "." (titik).
Operasi : aritmatik dan perbandingan
• char
merupakan tipe data untuk menyatakan karakter
Nilai tipe char : semua huruf dalam alfabet, angka, tanda baca, tanda operator aritmatik, karakter
khusus dan lain-lain
Daftar karakter baku dapat dilihat dalam tabel ASCII
Karakter kosong (null) adalah karakter yang panjangnya nol dilambangkan dengan "
Operasi: perbandingan
• String
merupakan tipe data yang menyatakan karakter dengan panjang tertentu
Nilai tipe string : deretan karakter yang telah didefinisikan sebelumnya
String kosong (null) adalah string yang panjangnya nol dan dilambangkan dengan 63
Operasi: perbandingan dan concatenation
Operator
Operator aritmetika
+ : tambah
-* kurang kali
: bagi
div : hasil bagi berupa bilangan bulat
mod : sisa hasil pembagian

 Operator Logika
not : bernilai kebalikan dari nilai operand and : bernilai true bila kedua operand bernilai true
or : bernilai true bila salah satu operand bernilai true
xor : bernilai true bila diantara operand saling berlawanan nilainya
Nama

Dalam algoritma nama digunakan untuk mengidentifikasi "sesuatu".


Karena itu tap nama harus unik dalam artian tidak boleh ada dua buah nama yang sama
Panduan dalam penulisan nama
Nama dimulai dengan huruf alfabet, tidak dimulai dengan angka, spasi, atau karakter khusus lainnya
Karakter penyusun nama adalah huruf alfabet, angka dan " " (underscore). Tidak mengandung operator
aritmatika, tanda baca dan karakter khusus lainnya
Karakter di dalam nama tidak dipisah dengan spasi mengingat nama adalah kesatuan leksikal
Contoh penamaan
Sesuai Panduan : tugas2 atau tugas 2 nilai ujian atau nilai ujian jumlah
A1
Tidak sesuai panduan :
2 tugas nilai ujian hasil-1
A1
Bentuk penamaan
1 peubah
Peubah adalah tempat penyimpanan data di memori yang isinya dapat diubah
Contoh:
DEKLARASI
X, nilai, jumblah : real
K : integer
C : char
X,nilai, jumblah, k dan c adalah nama peubah
Konstanta (constant)
Merupakan tempt penyimpanan di dalam memori yang isinya tetap selama pelaksanaan program dan
tidak dapat diubah. Notasi untuk menyatakan konstanta adalah const Contoh:
DEKLARASI
const. phi = 3.14
const Nmaks = 100
const sandi = 'XYZ'
phi, Nmaks, dan sandi adalah nama konstanta. Nilai konstanta yang sudah disikan ke dalam nama
konstanta tidak dapat diubah ole instruksi di dalam algoritma.
1. Nama fungsi
Contoh:
function MAKSIMUM (A, B: integer) • integer { mengembalikan nilai terbesar antara A dan B )
MAKSIMUM adalah nama fungsi
Input/Output
Nilai untuk variabel dapat disi dari piranti masukan, misalnya dari keyboard.
Mengisi nilai dari piranti masukan dinamakan operasi pembacaan data.
Di dalam algoritma
instruksi
pembacaan nlai untuk variabel dilakukan dengan notasi read
Notasi input
Read(nama1,nama2,...,namaN)
Contoh:
Read(bilangan)
Output
Nilai yang disimpan oleh memori dapat ditampilkan ke piranti keluaran (misalnya monitor)
Instruksi penulisan nilai dilakukan dengan notasi write
Notasi output
• write(nama1,nama2,..namaN)
• write (konstanta)
• write(nama,konstanta,ekspresi
• write(ekspresi)
Contoh:
• write (bilangan1)
• write('Nilai bilangan 1',bilangan 1)
• write ('Total', bil1+bil2)
• write (bilangan 1 * bilangan2)
Struktur seleksi
if Statement:
Digunakan untuk mengevaluasi kondisi dan mengeksekusi blok kode jika kondisi terpenuhi.
if-else Statement:
Menyediakan dua blok kode yang dapat dijalankan, tergantung pada kebenaran kondisi.
if-elif-else Statement:
Cook untuk mengevaluasi beberapa kondisi berurutan dan mengeksekusi blok kode yang sesuai dengan
kondisi yang pertama kali terpenuhi.

Statement case
Contoh:
buat program dengan turbo pascal untuk menyelesaikan kasus berikut:
Untuk pegawai yang telah menikah mendapat tunjangan istri, besarya tunjangan istri ditentukan
berdasarkan masa kerja. Untuk masa kerja kurang dari tiga tahun mendapat tunjangan sebesar 3% dari
gaji pokok, jika kurang dari lima tahun maka mendapatkan tunjangan sebesar 5% dari gaji pokok, dan
masa kerja sama dengan atau lebih besar dari 5 tahun mendapat tunjangan sebesar 6% dari gaji pokok.
Program:

Hasil:
Struktur perulangan
for loop
Digunakan untuk mengeksekusi blok kode sejumblah tertentu kali atau melalui elemen elemen dalam
suatu rentang
1. Contoh
For i in range(1, 6) :
Print (i)
While loop
Terus mengeksekusi blok kode selama kondisi tertentu terpenuhi.
2. Contoh
While hitung < 5:
Print (hitung)
Hitungn+= 1
Pernyatan break
Menghentikan perulangan jika suatu kondisi tertentu terpenuhi
For i in range(1, 11) :
if i == 5 :
Break
Print(i)
Pertyataan continue
Melanjutkan ke interasi berikut dalam perulangan tanpa mengeksekusi bagian kode dibawahnya
for i in range(1, 6):
if i == 3:
continue
print

1. Array
Array (larik) adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama. Nilai-nilai data disuatu larik disebut elemen-elemen larik. Jenis
struktur data ini berfungsi untuk memungkinkan elemen data tetap sama dan menggunakan indeks
bilangan bulat yang berfungsi untuk menjadi petunjuk dan prosedur.
Array dapat berdimensi satu, dua, tiga atau lebih. Larik dimensi satu (one-dimensional array)
mewakili bentuk sebuah vektor. Larik dimensi dua (two-dimensional array) mewakili bentuk suatu matrik
atau tabel. Larik dimensi tiga (three-dimensional array) mewakili bentuk suatu ruang.
1)Deklarasi array (larik)
Suatu larik dapat dideklarasikan dengan menyebutkan jumlah dari elemennya yang ditulis diantara
tanda ‘[ ]’
Contoh :
Int X[5];
Int X[5] = {5,3,7};

2. Array Satu dan Dua Dimensi

1) Array (larik) Satu Dimensi


Array (larik) Satu Dimensi adalah Array yang berisi dari 1 subscript Array saja. Sehingga, pada
setiap elemen tersebut dapat diakses lewat indeks yang ada di dalamnya.
Cara yang dipakai untuk mengakses elemen array satu dimensi adalah dengan menuliskan indeksnya.
Contoh:
#include <iostream>
using namespace std;
int main(){

int ARnilai[5]={8,4,5,10,2};
for(int i=0; i<5;i++){
cout<<"Tampil nilai indek ke ["<<i<<"] = "<<ARnilai[i];
cout<<endl;
}
return 0;
}

2) Array (larik) Dua Dimensi


Larik dimensi dua mewakili bentuk suatu matrik atau tabel. Misalnya suatu matrik X sebagai
berikut :
X = selanjutnya dapat dideklarasikan dengan nama X yaitu : int X[2][4];
Atau int X[2][4] = {8,5,9,8,8,2,1,0}; atau
Int X[2][4] = {
8, 5, 9, 8
8, 2, 1, 0
}
Contoh:
# include <iostream>
using namespace std;
int main()
{
Int i, j;
Int X[3][4];
/* Input Matrik X */
for(i=0; i<3; i++) {
for(j=0; j<4; j++) {
cout<<“X [ “ << i+1<<” “<<j+1” ] = “;cin>>X[i][j];
}
cout<<endl;
}
/* Tampil Matrik X */
for(i=0; i<3; i++) {
for(j=0; j<4; j++) cout<< X[i][j]<<endl;
}
cout<<endl;
}

3) Perbedaan Larik dengan Variabel Biasa.


Perbedaan utama antara larik dengan variabel biasa adalah sebuah larik dapat mempunyai sejumlah
nilai, sedang sebuah variabel biasa hanya dihubungkan dengan sebuah nilai saja. Misalnya terdapat 3
buah nilai, yaitu 8, 5, dan 7. Jika nilai-nilai ini akan dihubungkan dengan sebuah nama saja, maka dapat
digunakan sebuah larik. Jika digunakan variabel untuk menyimpan nilai-nilai tersebut, maka harus
digunakan 3 buah variabel dengan nama yang berbeda-beda, misal X1, X2 dan X3 untuk menyimpan 3
buah nilai tersebut.

3. Konsep Tipe Struktur


1. Tipe Data Struktur

Struktur data adalah cara untuk menyusun dan mengatur data ke dalam format khusus yang
disediakan oleh komputer.Yang juga berfungsi untuk mengatur, memproses, menyimpan juga mengambil
kembali dengan cara yang cepat dan lebih efektif. Intinya, struktur data adalah cara yang memudahkan
untuk mengambil dan membuat data.
Suatu struktur (structure) adalah pengelompokkan dari variabel-variabel yang bernaung dalam satu nama
yang sama. Berbeda dengan suatu larik yang berisi kumpulan elemen-elemen yang bertipe sama, suatu
struktur dapat terdiri dari berbagai elemen yang berbeda tipe datanya.
Variabel-variabel yang membentuk suatu struktur ini selanjutnya disebut elemen atau anggota
struktur. Dengan demikian suatu struktur dimungkinkan dapat berisi dengan elemen-elemen data bertipe
int, float, char dan lainnya.
-Deklarasi struktur
Suatu struktur dapat dideklarasikan dengan menggunakan kata kunci struct.
Contoh :
struct Barang {
string kode;
string nama;
short unit;
float harga;
}
Struktur diatas diberi nama barang yang mempunyai empat buah elemen yaitu kode, nama bertipe
char, unit bertipe int, dan harga bertipe float. Barang merupakan nama dari tipe data struktur yang
mempunyai empat buah elemen tersebut, bukan nama dari suatu variabel struktur.

1)Mengakses Struktur
Elemen-elemen dari suatu variabel struktur dapat diakses secara individual dengan menyebutkan
nama variabel strukturnya diikuti oleh operator titik (‘.’) dan nama elemen strukturnya. Misalnya
X=Persedian_Cabang.unit; Menunjukkan elemen dengan nama unit dari variabel struktur
Persedian_Cabang, yaitu bernilai awal 5 diisikan ke variabel numerik lain yang bernama X.
Contoh : mengakses struktur
#include<iostream>
using namespace std;
int main()
{
struct {
float jari;
float kel;
float luas;
} Lingkaran;

cout<<“Jari-jari Lingkaran ?”;cin>>Lingkaran.jari;


Lingkaran.kel = 2 * 3.14259 * Lingkaran.jari;
Lingkaran.luas = 3.14259 * Lingkaran.jari * Lingkaran.jari;

cout<<“Keliling Lingkaran =”<<Lingkaran.kel<<endl;


cout<<“Luas Lingkaran =”<<Lingkaran.luas;
}

1. Tipe data struktur dengan array

Elemen-elemen dari suatu array dapat juga berbentuk dengan suatu struktur. Array struktur dimensi
satu membentuk suatu tabel (mirip dengan larik dimensi dua) dengan barisnya menunjukkan elemen dari
arraynya dan dengan kolomnya menunjukkan elemen dari struktur. Tiap-tiap elemen dari struktur dapat
diakses untuk tiap-tiap elemen larik dengan menuliskan nama dari lariknya diikuti dengan indeksnya,
diikuti oleh operator titik dan nama dari elemen strukturnya.

4. Konsep Fungsi

 Fungsi dengan Parameter dan tanpa Parameter

Dalam pemrograman, terdapat dua jenis fungsi, yaitu fungsi dengan parameter dan fungsi
tanpa parameter. Fungsi dengan parameter menerima masukan atau input dari luar fungsi dalam
bentuk parameter. Sedangkan fungsi tanpa parameter tidak menerima masukan apapun dari luar
fungsi.

1)Fungsi Parameter
Fungsi parameter digunakan untuk memproses data atau nilai yang diterima dari luar fungsi.
Data atau nilai ini ditentukan oleh pengguna saat memanggil fungsi tersebut. Fungsi parameter
memerlukan satu atau lebih parameter sebagai masukan atau input
Contoh:
#include <iostream>
using namespace std;
int main() {
int x = 5, y = 3;
cout << "Hasil penjumlahan " << x << " dan " << y << " adalah " << tambah(x, y) <<
endl;
return 0;
}
Pada contoh di atas, terdapat fungsi tambah() yang menerima dua parameter a dan b. Fungsi
ini akan mengembalikan hasil penjumlahan dari kedua parameter tersebut. Nilai a dan b
ditentukan saat fungsi dipanggil di dalam fungsi main().

2) Fungsi tanpa parameter


Fungsi tanpa parameter tidak menerima masukan atau input apapun dari luar fungsi. Fungsi
ini hanya memproses data atau nilai yang sudah ditentukan di dalam fungsi.
Contoh:
#include <iostream>
using namespace std; void halo()
{
cout << "Halo, selamat datang di program ini!" << endl;
}
int main() { halo(); return 0;
}

Pada contoh di atas, terdapat fungsi halo() yang tidak menerima parameter apapun. Fungsi ini
hanya menampilkan pesan “Halo, selamatdatang di program ini!” saat dipanggil di dalam fungsi
main().
PENUTUP
Melalui pembelajaran berbasis modul, diharapkan akan membantu mahasiswa sehingga
dapat belajar secara mandiri, mengukur kemampuan diri sendiri,dan menilai dirinya sendiri.
Tidak terkecuali dalam memahami konsep dasar pemrograman dan implementasinya. Semoga
modul ini dapat digunakan sebagai raferensi tambahan dalam proses pembelajaran pada kegiatan
perkuliahan, baik teori maupun praktik. Mahasiswa lebih mendalami materi lain di samping
materi yang ada di modul ini melalui berbagai sumber, jurnal, maupun internet. Semoga modul
ini bermanfaat bagi mahasiswa.
3.

Anda mungkin juga menyukai