Anda di halaman 1dari 30

Algoritma dan

Struktur Data
Presentasi Kemajuan
Minggu pertama
Algoritma Pemrograman
Algoritma adalah langkah-langkah yang disusun
secara sistematis untuk menyelesaikan suatu
masalah.
Variabel & Konstanta

Variabel adalah suatu tempat yang digunakan untuk menampung data di memori
yang mempunyai nilai yang dapat berubah–ubah selama proses program.

Variabel terbagi menjadi dua jenis yaitu :


a) Variabel Lokal
b) Variabel Global

Konstanta adalah sebuah tempat untuk menampung suatu nilai. Sesuai dengan
namanya, nilai dari konstanta bersifat tetap (konstan) dan tidak bisa diubah
sepanjang program berjalan. 
Type Data

Type Data adalah sebuah pengklasifikasian data berdasarkan jenis data tersebut.
Tipe data dibutuhkan agar kompiler dapat mengetahui bagaimana sebuah data
akan digunakan.

Jenis-jenis tipe data ada 2 yaitu :

Tipe data primitif


int, float, char dan boolean.

Tipe data non primitif


array, struct dsb.
Flowchart
Flowchart atau bagan alur adalah diagram yang
menampilkan langkah-langkah dan keputusan
untuk
melakukan sebuah proses dari suatu program
Simbol – Simbol Flowchat
Flow Input/Output
Simbol yang digunakan untuk menghubungkan Simbol yang menyatakan pross input atau output
Antar simbol.

On-Page Reference Process


Simbol untuk keluar masuk atau penyambung proses Simbol yang menyatakan proses yang dilakukan
dalam lembar kerja yang sama.. komputer

On-Page Reference Preparation


Simbol yang menyatakan penyediaan tempat
Simbol untuk keluar masuk atau penyambung proses penyimpnan suatu pengolahan untuk memberikan
dalam lembar kerja yang berbeda halaman.. nilai awal

Terminator Desicion
Simbol yang menunjukkan kondisi tertentu yang
Simbol yang menyatakan awal atau akhr suatu akan menghasilkan dua kemungkinan yaitu ya atau
program tidak
Percabangan
1). Percabangan If 2) Percabangan if else
3) Percabangan if else if
Deklarasi if :
Deklarasi if else : Deklarasi if else if :
if (kondisi) {
if (kondisi) { if (kondisi) {
statement;
statement; statement;
}
} else { } else if (kondisi) {
statement; statement;
} } else {
statement;
}
4) Percabangan switch case
Deklarasi switch case: 5) Percabangan nested
Deklarasi nested :
switch (kondisi) {
case : statement;
if (kondisi) {
default : statement;
if (kondisi) {
}
statement;
}
} else {
statement;
}
6. Percabangan Ternary

Deklaras Ternary :

(kondisi) ? statemen : statement;


Perulangan
Jenis-Jenis Perulangan

Perulangan for

Deklarasi for :
for(inisialisasi; kondisi; counter;){
statement;
}
Perulangan while

Deklarasi while :
while(kondisi) {
statement;
}
Perulangan
Jenis-Jenis Perulangan

Perulangan while

Deklarasi do while :

do {
Statement;
}while(kondisi)
Procedur & Fungsi

Procedur adalah fungsi yang tidak mengembalikan nilai


void namaprocedure(){

Function adalah fungsi yang mengembalikan nilai


int namafungsi() {

}
Array
Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang
bertipe sama.

Deklarasi Array : tipedata namaarray [panjangdata];


Struktur Data
Struktur Data

01 02 03 04 05

Linked
Pointer Struct Stack Queue
List
Pointer
Pointer adalah variabel yang berisi alamat memori. Dengan kata lain, pointer berisi alamat
dari variabel yang mempunyai nilai tertentu.

Operator Pointer :

-> Operator Reference (&)

-> Opertor Dereference (*)


Struct
Struct adalah kumpulan elemen-elemen yang memiliki bentuk dan tipe yang berbeda-beda
yang dinyatakan dalam sebuah nama. Elemen struct ini dapat berupa variabel, konstanta,
array, atau function.

Deklarasi Struct :
struct NamaStruct{
elemen1; elemen2 ; … ; elemen n;
};

Deklarasi objek struct :


NamaStruct NamaObjekStruct;

Deklarasi Objek Struct :


NamaObjekStruct.NamaElemen;
Linked List
Linked List adalah struktur data yang tersusun atas node-node yang minimal memiliki 2
field pada tiap node, yaitu data yang akan disimpan dan sebuah pointer.

Deklarasi Linked List


struct namaLinkedList {
typedata namavariabel;
namaLinkedlist *nmpointer;
};
Linked List

Deklarasi Linked List

struct namaLinkedList {
tipedata namavariabel;
namaLinkedList *nmpointer
};
Stack
Stack berarti tumpukan yang menerapkan konsep LIFO (Last In First Out) yang artinya
data yang terakhir masuk akan menjadi data yang pertama keluar.

a. Push
b. Pop
c. Clear
d. IsEmpty
e. IsFull
Contoh Stack

typedata top = -1;


typedata data[panjangdata];

void push(typedata input){


top = top + 1;
data[top] = input;
void isFull (){
if (data[panjangdata] == panjangdata) {
cout << “ Stack full “ << endl;
} else {
cout << “ Stack belum full “ << endl;
}
}

void Clear() {
top = -1;
}
void pop(typedata input) {
top = top – 1;
}

void isEmpty(){
if(top == -1 ){
cout << “ Stack Kosong “ << endl;
} else {
cout << “ Stack tidak kosong “ << endl;
}
}
Queue
Queue berarti antrian yang menerapkan konsep FIFO (First In First Out) yang artinya data
yang pertama masuk akan menjadi data yang pertama keluar.

a. Enqueue
b. Dequeue
c. Clear
d. IsFull
e. IsEmpty
tipedata namaantrian[panjangantrian];
typedata depan = -1;
typedata belakang = -1;
typedata data;

void Enqueue() {
if(belakang < panjangantrian) {
cout << “ Input antrian : ” << endl;
cin >> data;
namaantrian[belakang + 1] = data;
belakang++;
if(belakang == 0)
depan = 0;
}else {
cout << “Antrian penuh ” ;}
void Dequeue () {
if (depan<=belakang){
cout<<"Data Keluar ="<<queue[depan];
depan++;
}else {
cout << “ Antrian kosong ” << endl;

void isEmpty () {
if(belakang == -1 && depan == -1 ){
cout << "Antrian Kosong" << endl;
} else {
cout << "Antrian Tidak Kosong" << endl;
}
}
void isFull() {
if(belakang >= 4){
cout << "Data Full" << endl;
} else {
cout << "Data belum full" << endl;
}
}

void Clear() {
depan = -1;
belakang = -1;
}
Tidak ada manusia yang diciptakan sama.
Juga sama halnya dengan tujuan, waktu dan pencapaian.
Melihat yang lain sudah sampai digaris akhir pencapaian,
bukan berarti kita kalah. Kita hanya belum sampai.
Yang terpenting adalah terus berjalan dan berdoa,
Tanpa perlu melihat kebelakang atau mundur

Yok, Bisa yukk ;)


Terima Kasih :)

Anda mungkin juga menyukai