Commit ·
51fc145
1
Parent(s): 349e725
Update aplikasi dan data untuk Space ITBOT
Browse files- app.py +73 -0
- data/DasarPemrograman.txt +1321 -0
- data/EfekVisualdanAnimasi.txt +369 -0
- data/InteraksiManusiadanKomputer.txt +0 -0
- data/KeahlianPresentasidanKomunikasi.txt +828 -0
- data/KecerdasanBuatan.txt +1079 -0
- data/KomunikasiDatadanJaringanKomputer.txt +1279 -0
- data/ManajemenProyekTeknologiInformasi.txt +824 -0
- data/PemrogramanBerorientasiObjek.txt +1464 -0
- data/PengantarTeknologiInformasi.txt +2108 -0
- data/WebSemantik.txt +801 -0
- requirements.txt +5 -0
app.py
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
import torch
|
| 3 |
+
import faiss
|
| 4 |
+
import numpy as np
|
| 5 |
+
import gradio as gr
|
| 6 |
+
from transformers import AutoTokenizer, AutoModel, pipeline
|
| 7 |
+
from sklearn.preprocessing import normalize
|
| 8 |
+
|
| 9 |
+
# === 1. Load IndoBERT for embedding ===
|
| 10 |
+
embed_tokenizer = AutoTokenizer.from_pretrained("indobenchmark/indobert-base-p1")
|
| 11 |
+
embed_model = AutoModel.from_pretrained("indobenchmark/indobert-base-p1")
|
| 12 |
+
|
| 13 |
+
def get_embedding(text):
|
| 14 |
+
inputs = embed_tokenizer(text, return_tensors="pt", truncation=True, padding=True)
|
| 15 |
+
with torch.no_grad():
|
| 16 |
+
outputs = embed_model(**inputs)
|
| 17 |
+
embedding = outputs.last_hidden_state.mean(dim=1).squeeze().numpy()
|
| 18 |
+
return embedding
|
| 19 |
+
|
| 20 |
+
# === 2. Load GPT2 LLM Bahasa Indonesia ===
|
| 21 |
+
llm = pipeline("text-generation", model="cahya/gpt2-small-indonesian")
|
| 22 |
+
|
| 23 |
+
# === 3. Load Documents & Build FAISS Index ===
|
| 24 |
+
DATA_DIR = "data"
|
| 25 |
+
doc_chunks = {} # mata_kuliah -> [chunk]
|
| 26 |
+
doc_indexes = {} # mata_kuliah -> FAISS index
|
| 27 |
+
|
| 28 |
+
for fname in os.listdir(DATA_DIR):
|
| 29 |
+
if fname.endswith(".txt"):
|
| 30 |
+
matkul = os.path.splitext(fname)[0].upper()
|
| 31 |
+
with open(os.path.join(DATA_DIR, fname), encoding='utf-8') as f:
|
| 32 |
+
text = f.read()
|
| 33 |
+
chunks = [text[i:i+500] for i in range(0, len(text), 500)]
|
| 34 |
+
doc_chunks[matkul] = chunks
|
| 35 |
+
|
| 36 |
+
embeddings = np.array([get_embedding(chunk) for chunk in chunks])
|
| 37 |
+
embeddings = normalize(embeddings)
|
| 38 |
+
index = faiss.IndexFlatL2(embeddings.shape[1])
|
| 39 |
+
index.add(embeddings)
|
| 40 |
+
doc_indexes[matkul] = index
|
| 41 |
+
|
| 42 |
+
# === 4. RAG Function ===
|
| 43 |
+
def rag_chat(matkul, question):
|
| 44 |
+
if matkul not in doc_indexes:
|
| 45 |
+
return "Mata kuliah tidak ditemukan."
|
| 46 |
+
|
| 47 |
+
query_embed = get_embedding(question)
|
| 48 |
+
query_embed = normalize(query_embed.reshape(1, -1))
|
| 49 |
+
D, I = doc_indexes[matkul].search(query_embed, k=3)
|
| 50 |
+
context = "\n".join([doc_chunks[matkul][i] for i in I[0]])
|
| 51 |
+
|
| 52 |
+
prompt = f"""
|
| 53 |
+
Berikut adalah informasi dari mata kuliah {matkul}:\n{context}\n\n
|
| 54 |
+
Pertanyaan: {question}\n
|
| 55 |
+
Jawaban:"""
|
| 56 |
+
|
| 57 |
+
output = llm(prompt, max_new_tokens=150, do_sample=True)[0]["generated_text"]
|
| 58 |
+
return output[len(prompt):].strip()
|
| 59 |
+
|
| 60 |
+
# === 5. Gradio Interface ===
|
| 61 |
+
interface = gr.Interface(
|
| 62 |
+
fn=rag_chat,
|
| 63 |
+
inputs=[
|
| 64 |
+
gr.Dropdown(choices=list(doc_chunks.keys()), label="Pilih Mata Kuliah"),
|
| 65 |
+
gr.Textbox(label="Pertanyaan Anda")
|
| 66 |
+
],
|
| 67 |
+
outputs=gr.Textbox(label="Jawaban"),
|
| 68 |
+
title="Chatbot RAG Mata Kuliah 🇮🇩",
|
| 69 |
+
description="Tanyakan sesuatu berdasarkan materi tiap mata kuliah."
|
| 70 |
+
)
|
| 71 |
+
|
| 72 |
+
if __name__ == "__main__":
|
| 73 |
+
interface.launch()
|
data/DasarPemrograman.txt
ADDED
|
@@ -0,0 +1,1321 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apa Itu Program Komputer?
|
| 2 |
+
Program komputer adalah serangkaian instruksi yang ditulis oleh manusia untuk mengatur bagaimana komputer bekerja. Menurut KBBI, komputer adalah alat elektronik otomatis yang dapat menghitung dan mengolah data dengan akurat sesuai instruksi, serta mampu menampilkan hasil pengolahan tersebut dalam berbagai bentuk, termasuk multimedia seperti film, musik, dan televisi. Komputer terdiri dari empat komponen utama: unit input, unit output, unit penyimpanan, dan unit kontrol.
|
| 3 |
+
|
| 4 |
+
Perkembangan Teknologi Komputer (Garis Waktu)
|
| 5 |
+
1834 - The Analytical Engine
|
| 6 |
+
Charles Babbage memperkenalkan konsep mesin analisis, yang menjadi cikal bakal komputer modern. Mesin ini dirancang untuk melakukan perhitungan angka secara otomatis.
|
| 7 |
+
|
| 8 |
+
1944 - Mark I & Mesin Colossus
|
| 9 |
+
Colossus adalah komputer elektronik pertama yang digunakan Inggris untuk memecahkan kode komunikasi rahasia Jerman dalam Perang Dunia II.
|
| 10 |
+
|
| 11 |
+
1953 - Bahasa Komputer Pertama
|
| 12 |
+
Grace Hopper mengembangkan bahasa pemrograman pertama, yang dikenal dengan nama COBOL, membuka jalan bagi komunikasi manusia dan mesin.
|
| 13 |
+
|
| 14 |
+
1969 - ARPANET
|
| 15 |
+
Proyek ARPANET dari Departemen Pertahanan AS menciptakan jaringan komputer pertama yang menggunakan sistem packet-switching, cikal bakal internet.
|
| 16 |
+
|
| 17 |
+
1971 - Email Pertama
|
| 18 |
+
Ray Tomlinson mengirim email pertama dengan menggunakan simbol '@', yang hingga kini menjadi standar alamat email.
|
| 19 |
+
|
| 20 |
+
1981 - IBM Personal Computer (PC)
|
| 21 |
+
IBM merilis PC pertama, menjadikan komputer sebagai alat yang terjangkau dan bermanfaat untuk masyarakat luas.
|
| 22 |
+
|
| 23 |
+
1984 - Apple Macintosh
|
| 24 |
+
Apple memperkenalkan Macintosh dengan antarmuka grafis, memudahkan interaksi pengguna dan komputer.
|
| 25 |
+
|
| 26 |
+
1990 - Website Pertama
|
| 27 |
+
Tim Berners-Lee membuat situs web pertama di server CERN, memperkenalkan prinsip dasar World Wide Web.
|
| 28 |
+
|
| 29 |
+
Artificial Intelligence (AI)
|
| 30 |
+
AI adalah kemampuan sistem komputer untuk meniru proses berpikir dan pembelajaran manusia. AI digunakan dalam berbagai bidang, seperti pengenalan wajah, chatbot, hingga mobil otonom.
|
| 31 |
+
|
| 32 |
+
Industri 4.0
|
| 33 |
+
Revolusi industri keempat ini menggabungkan otomatisasi, pertukaran data, dan teknologi canggih seperti AI, IoT, dan big data dalam proses produksi untuk efisiensi maksimal.
|
| 34 |
+
|
| 35 |
+
Internet of Things (IoT)
|
| 36 |
+
IoT menghubungkan perangkat fisik ke internet sehingga mereka dapat saling berkomunikasi dan bertukar data secara otomatis, seperti smart home dan sistem sensor industri.
|
| 37 |
+
|
| 38 |
+
Data Science
|
| 39 |
+
Data Science adalah ilmu yang menggabungkan statistik, analisis data, dan pemrograman untuk menemukan pola dan informasi penting dari data besar yang kompleks.
|
| 40 |
+
|
| 41 |
+
Cara Kerja Komputer
|
| 42 |
+
Input
|
| 43 |
+
Data dimasukkan melalui alat input seperti keyboard, mouse, atau sensor (contoh: sensor suhu LM35DZ).
|
| 44 |
+
|
| 45 |
+
Process
|
| 46 |
+
Data diproses oleh CPU menjadi informasi yang bermanfaat. Contohnya: mengurutkan angka agar lebih mudah dipahami.
|
| 47 |
+
|
| 48 |
+
Output
|
| 49 |
+
Hasil pengolahan ditampilkan lewat alat output seperti monitor, printer, atau speaker. Misal: nomor antrean di bank yang muncul di layar.
|
| 50 |
+
|
| 51 |
+
Perangkat Lunak dan Pemrograman
|
| 52 |
+
Software / Program
|
| 53 |
+
Sekumpulan instruksi yang mengatur bagaimana komputer bekerja. Istilah program lebih digunakan oleh kalangan profesional, sedangkan pengguna lebih akrab dengan istilah aplikasi.
|
| 54 |
+
|
| 55 |
+
Pemrogram (Programmer)
|
| 56 |
+
Orang yang menulis dan mengembangkan program agar sesuai dengan kebutuhan.
|
| 57 |
+
|
| 58 |
+
Pemrograman
|
| 59 |
+
Proses menyelesaikan masalah melalui algoritma dan menerjemahkannya dalam bahasa pemrograman agar bisa dijalankan oleh komputer.
|
| 60 |
+
|
| 61 |
+
Algoritma dan Visualisasinya
|
| 62 |
+
Algoritma
|
| 63 |
+
Langkah-langkah sistematis untuk menyelesaikan masalah yang bisa dijalankan oleh komputer.
|
| 64 |
+
|
| 65 |
+
Kriteria Algoritma Menurut Donald E. Knuth
|
| 66 |
+
|
| 67 |
+
Input: Menerima data awal.
|
| 68 |
+
|
| 69 |
+
Output: Menghasilkan setidaknya satu hasil.
|
| 70 |
+
|
| 71 |
+
Definiteness: Instruksi harus jelas.
|
| 72 |
+
|
| 73 |
+
Finiteness: Memiliki akhir yang pasti.
|
| 74 |
+
|
| 75 |
+
Effectiveness: Operasi harus sederhana dan efisien.
|
| 76 |
+
|
| 77 |
+
Pseudo-code
|
| 78 |
+
Representasi logika algoritma dalam bentuk narasi setengah kode yang mudah dibaca manusia.
|
| 79 |
+
|
| 80 |
+
Flowchart
|
| 81 |
+
Diagram visual dari alur logika program dengan simbol-simbol khusus untuk setiap proses.
|
| 82 |
+
|
| 83 |
+
Kelebihan dan Kekurangan Flowchart
|
| 84 |
+
Kelebihan:
|
| 85 |
+
|
| 86 |
+
Komunikatif dan mudah dimengerti.
|
| 87 |
+
|
| 88 |
+
Visualisasi logika seperti perulangan mudah terlihat.
|
| 89 |
+
|
| 90 |
+
Memudahkan deteksi kesalahan secara visual.
|
| 91 |
+
|
| 92 |
+
Kekurangan:
|
| 93 |
+
|
| 94 |
+
Rumit untuk logika kompleks.
|
| 95 |
+
|
| 96 |
+
Tidak praktis jika digambar manual.
|
| 97 |
+
|
| 98 |
+
Sulit dikonversi langsung ke kode.
|
| 99 |
+
|
| 100 |
+
Struktur Kontrol dalam Algoritma
|
| 101 |
+
Struktur Sekuensial:
|
| 102 |
+
Instruksi dijalankan satu per satu secara berurutan.
|
| 103 |
+
|
| 104 |
+
Struktur Seleksi:
|
| 105 |
+
|
| 106 |
+
Satu alternatif: hanya dieksekusi jika kondisi terpenuhi.
|
| 107 |
+
|
| 108 |
+
Dua alternatif: hanya salah satu dari dua blok dijalankan.
|
| 109 |
+
|
| 110 |
+
Banyak alternatif: seperti switch dalam bahasa pemrograman.
|
| 111 |
+
|
| 112 |
+
Struktur Perulangan:
|
| 113 |
+
|
| 114 |
+
Pengujian di depan (misal: while).
|
| 115 |
+
|
| 116 |
+
Pengujian di belakang (misal: do...while).
|
| 117 |
+
|
| 118 |
+
Struktur Gabungan:
|
| 119 |
+
Gabungan dari struktur-struktur di atas untuk algoritma kompleks.
|
| 120 |
+
|
| 121 |
+
Variabel dan Konstanta
|
| 122 |
+
Variabel: Nilai yang bisa berubah-ubah, digunakan untuk menyimpan masukan dan hasil proses (misal: Panjang, Lebar).
|
| 123 |
+
|
| 124 |
+
Konstanta: Nilai tetap yang tidak berubah (contoh: angka 2 pada rumus keliling).
|
| 125 |
+
|
| 126 |
+
Aturan Penamaan Variabel:
|
| 127 |
+
|
| 128 |
+
Harus diawali huruf.
|
| 129 |
+
|
| 130 |
+
Nama harus deskriptif.
|
| 131 |
+
|
| 132 |
+
Gunakan huruf kapital sebagai pemisah antar kata (CamelCase).
|
| 133 |
+
|
| 134 |
+
Pengujian Program
|
| 135 |
+
Jenis Kesalahan:
|
| 136 |
+
|
| 137 |
+
Syntax Error: Salah penulisan kode.
|
| 138 |
+
|
| 139 |
+
Execution Error: Kesalahan saat menjalankan.
|
| 140 |
+
|
| 141 |
+
Logic Error: Hasil tidak sesuai meski program berjalan.
|
| 142 |
+
|
| 143 |
+
Tujuan Uji Coba:
|
| 144 |
+
|
| 145 |
+
Menemukan kesalahan.
|
| 146 |
+
|
| 147 |
+
Memastikan fungsi sesuai tujuan.
|
| 148 |
+
|
| 149 |
+
Efisiensi dan kemudahan perawatan kode.
|
| 150 |
+
|
| 151 |
+
Pengujian Komprehensif:
|
| 152 |
+
|
| 153 |
+
Normal Data: Data yang benar dan wajar.
|
| 154 |
+
|
| 155 |
+
Exceptional Data: Data tak valid (karakter aneh, teks).
|
| 156 |
+
|
| 157 |
+
Extreme Data: Nilai batas (paling kecil dan paling besar).
|
| 158 |
+
|
| 159 |
+
Metode Pengujian:
|
| 160 |
+
|
| 161 |
+
Dry-Run: Menjalankan kode secara manual.
|
| 162 |
+
Trace Table: Menelusuri variabel secara tabel.
|
| 163 |
+
Breakpoints: Menghentikan eksekusi untuk analisis.
|
| 164 |
+
|
| 165 |
+
|
| 166 |
+
Kompilator dan Proses Pemrograman
|
| 167 |
+
1. Hubungan Antar Komponen Komputer
|
| 168 |
+
Dalam proses menjalankan program, terjadi interaksi antara beberapa komponen berikut:
|
| 169 |
+
|
| 170 |
+
Pengguna (User):
|
| 171 |
+
Memberikan perintah atau input melalui antarmuka program.
|
| 172 |
+
|
| 173 |
+
Perangkat Lunak (Software):
|
| 174 |
+
Termasuk:
|
| 175 |
+
Sistem Operasi (Operating System):
|
| 176 |
+
Seperti MacOS, Microsoft Windows, dan Linux. Bertugas mengatur hubungan antara perangkat keras dan perangkat lunak.
|
| 177 |
+
|
| 178 |
+
Aplikasi Pengguna:
|
| 179 |
+
Seperti pengolah kata, browser, pemutar video, game, dan lainnya.
|
| 180 |
+
|
| 181 |
+
Perangkat Keras (Hardware):
|
| 182 |
+
Merupakan bagian fisik komputer yang meliputi:
|
| 183 |
+
|
| 184 |
+
CPU (Central Processing Unit)
|
| 185 |
+
|
| 186 |
+
RAM (Random Access Memory)
|
| 187 |
+
|
| 188 |
+
Media penyimpanan (HDD, SSD, USB)
|
| 189 |
+
|
| 190 |
+
Perangkat jaringan (Network Adapter)
|
| 191 |
+
|
| 192 |
+
Perangkat input/output (keyboard, mouse, layar)
|
| 193 |
+
|
| 194 |
+
Semua elemen ini bekerja secara bersama untuk menjalankan instruksi yang ditulis oleh programmer.
|
| 195 |
+
|
| 196 |
+
2. Bahasa Pemrograman dan Metode Eksekusinya
|
| 197 |
+
Dalam dunia pemrograman, terdapat beberapa cara bahasa dijalankan oleh komputer:
|
| 198 |
+
|
| 199 |
+
Compiled Language (Bahasa Kompilasi):
|
| 200 |
+
Contoh: C, C++
|
| 201 |
+
|
| 202 |
+
Kode sumber diterjemahkan sepenuhnya ke dalam bahasa mesin sebelum dijalankan.
|
| 203 |
+
|
| 204 |
+
Proses dilakukan oleh compiler, menghasilkan file executable (.exe di Windows, .out di Linux).
|
| 205 |
+
|
| 206 |
+
Keunggulan: Eksekusi cepat karena telah dikompilasi.
|
| 207 |
+
|
| 208 |
+
Kekurangan: Kurang fleksibel untuk debugging secara langsung.
|
| 209 |
+
|
| 210 |
+
Interpreted Language (Bahasa Interprestasi):
|
| 211 |
+
Contoh: Python, Perl
|
| 212 |
+
|
| 213 |
+
Kode dieksekusi baris per baris secara langsung oleh interpreter tanpa dikompilasi penuh sebelumnya.
|
| 214 |
+
|
| 215 |
+
Cocok untuk skrip cepat dan pengembangan awal.
|
| 216 |
+
|
| 217 |
+
Kekurangan: Lebih lambat dibanding bahasa kompilasi.
|
| 218 |
+
|
| 219 |
+
Virtual Machine-based Language:
|
| 220 |
+
Contoh: Java
|
| 221 |
+
|
| 222 |
+
Kode sumber dikompilasi ke bytecode, lalu dijalankan oleh Java Virtual Machine (JVM).
|
| 223 |
+
|
| 224 |
+
Portabel antar platform karena tidak bergantung sistem operasi.
|
| 225 |
+
|
| 226 |
+
JVM bertindak seperti interpreter dengan efisiensi lebih baik.
|
| 227 |
+
|
| 228 |
+
|
| 229 |
+
3. Struktur Dasar Program C++
|
| 230 |
+
Struktur bahasa C++ memiliki beberapa komponen utama sebagai berikut:
|
| 231 |
+
|
| 232 |
+
a. Preprocessing Directive
|
| 233 |
+
#include <iostream>
|
| 234 |
+
|
| 235 |
+
Diawali dengan tanda #.
|
| 236 |
+
Menyisipkan kode pustaka (library) sebelum proses kompilasi.
|
| 237 |
+
iostream adalah library standar untuk input/output.
|
| 238 |
+
#include akan memanggil file header yang berisi deklarasi fungsi dan objek penting seperti std::cout.
|
| 239 |
+
|
| 240 |
+
b. Fungsi Utama Program
|
| 241 |
+
int main() {
|
| 242 |
+
...
|
| 243 |
+
}
|
| 244 |
+
|
| 245 |
+
int main() adalah titik awal eksekusi program C++.
|
| 246 |
+
Wajib ada dalam setiap program C++.
|
| 247 |
+
{ ... } menandai blok utama dari fungsi main.
|
| 248 |
+
|
| 249 |
+
c. Komentar dalam Program
|
| 250 |
+
// Ini komentar satu baris
|
| 251 |
+
/*
|
| 252 |
+
Ini komentar
|
| 253 |
+
lebih dari satu baris
|
| 254 |
+
*/
|
| 255 |
+
|
| 256 |
+
Komentar digunakan untuk memberi keterangan pada kode dan tidak dijalankan oleh compiler.
|
| 257 |
+
// untuk komentar satu baris.
|
| 258 |
+
/* */ untuk komentar lebih dari satu baris.
|
| 259 |
+
|
| 260 |
+
d. Pernyataan (Statement)
|
| 261 |
+
std::cout << "Hello World!\n";
|
| 262 |
+
|
| 263 |
+
Merupakan instruksi atau tindakan yang harus dilakukan oleh program.
|
| 264 |
+
|
| 265 |
+
std::cout adalah objek dari library iostream untuk menampilkan teks ke layar.
|
| 266 |
+
Simbol << digunakan untuk mengirim teks ke layar.
|
| 267 |
+
\n menghasilkan baris baru.
|
| 268 |
+
Semua statement diakhiri dengan titik koma ;.
|
| 269 |
+
|
| 270 |
+
e. Kurung Kurawal Penutup
|
| 271 |
+
}
|
| 272 |
+
|
| 273 |
+
Menutup blok fungsi main.
|
| 274 |
+
Kurung kurawal digunakan untuk membatasi blok kode pada fungsi, kondisi, maupun perulangan.
|
| 275 |
+
|
| 276 |
+
4. Proses Kompilasi Kode Sumber
|
| 277 |
+
Berikut ini adalah tahapan umum dari proses kompilasi pada bahasa seperti C/C++:
|
| 278 |
+
|
| 279 |
+
Preprocessing:
|
| 280 |
+
Menyisipkan file header, makro, dan menyelesaikan direktif #include, #define, dll.
|
| 281 |
+
|
| 282 |
+
Compilation:
|
| 283 |
+
Kode sumber diterjemahkan ke dalam bahasa mesin atau intermediate representation.
|
| 284 |
+
|
| 285 |
+
Assembly:
|
| 286 |
+
Kode dikonversi ke bentuk spesifik mesin (machine code).
|
| 287 |
+
|
| 288 |
+
Linking:
|
| 289 |
+
Menyatukan semua bagian program dan library menjadi satu file executable yang utuh.
|
| 290 |
+
|
| 291 |
+
TIPE DATA DALAM C++
|
| 292 |
+
Tipe data dalam C++ diklasifikasikan menjadi tiga kategori utama:
|
| 293 |
+
Tipe Data Primer (Primary Data Types)
|
| 294 |
+
Tipe Data Turunan (Derived Data Types)
|
| 295 |
+
Tipe Data Buatan Pengguna (User-defined Data Types)
|
| 296 |
+
|
| 297 |
+
1. Tipe Data Primer
|
| 298 |
+
a. Integer (Bilangan Bulat)
|
| 299 |
+
Digunakan untuk menyimpan angka bulat tanpa desimal.
|
| 300 |
+
Kata kunci: int
|
| 301 |
+
Ukuran memori: 4 byte
|
| 302 |
+
Rentang nilai: dari -2.147.483.648 hingga 2.147.483.647
|
| 303 |
+
Versi modifikasi:
|
| 304 |
+
short untuk integer berukuran lebih kecil
|
| 305 |
+
long untuk integer berukuran lebih besar
|
| 306 |
+
|
| 307 |
+
Contoh deklarasi dan inisialisasi:
|
| 308 |
+
int a;
|
| 309 |
+
int b = 1402;
|
| 310 |
+
int c = -971;
|
| 311 |
+
|
| 312 |
+
b. Floating Point (Bilangan Pecahan)
|
| 313 |
+
Menyimpan angka desimal presisi tunggal.
|
| 314 |
+
Kata kunci: float
|
| 315 |
+
Ukuran memori: 4 byte
|
| 316 |
+
Perlu ditambahkan suffix f pada inisialisasi literal.
|
| 317 |
+
|
| 318 |
+
Contoh:
|
| 319 |
+
float x;
|
| 320 |
+
float y = 14.02f;
|
| 321 |
+
|
| 322 |
+
c. Double Floating Point
|
| 323 |
+
Menyimpan angka desimal dengan presisi ganda (lebih akurat dari float).
|
| 324 |
+
Kata kunci: double
|
| 325 |
+
Ukuran memori: 8 byte
|
| 326 |
+
Nilai literal default dianggap sebagai double, tidak perlu suffix f.
|
| 327 |
+
|
| 328 |
+
Contoh:
|
| 329 |
+
double x;
|
| 330 |
+
double y = 14.02;
|
| 331 |
+
|
| 332 |
+
d. Character (Karakter)
|
| 333 |
+
Menyimpan satu karakter ASCII.
|
| 334 |
+
Kata kunci: char
|
| 335 |
+
Ukuran memori: 1 byte
|
| 336 |
+
Rentang: 0–255 (berbasis ASCII)
|
| 337 |
+
Nilai dapat berupa karakter atau bilangan ASCII.
|
| 338 |
+
|
| 339 |
+
Contoh:
|
| 340 |
+
char huruf = 'x';
|
| 341 |
+
char data1 = 'A', data2 = 'Z', data3 = '9';
|
| 342 |
+
|
| 343 |
+
e. Wide Character
|
| 344 |
+
Menyimpan karakter Unicode (digunakan untuk bahasa Jepang, Korea, dll).
|
| 345 |
+
Kata kunci: wchar_t
|
| 346 |
+
Ukuran memori: 2–4 byte
|
| 347 |
+
Prefix literal: L
|
| 348 |
+
|
| 349 |
+
Contoh:
|
| 350 |
+
wchar_t ch = L'あ';
|
| 351 |
+
|
| 352 |
+
f. Boolean
|
| 353 |
+
Menyimpan nilai logika: true (1) atau false (0)
|
| 354 |
+
Kata kunci: bool
|
| 355 |
+
|
| 356 |
+
Contoh:
|
| 357 |
+
bool x = true;
|
| 358 |
+
bool y = false;
|
| 359 |
+
|
| 360 |
+
g. Void
|
| 361 |
+
Tidak menyimpan nilai.
|
| 362 |
+
Kata kunci: void
|
| 363 |
+
Biasanya digunakan untuk fungsi yang tidak mengembalikan nilai.
|
| 364 |
+
|
| 365 |
+
void tampilkanMenu() {
|
| 366 |
+
std::cout << "Menu Utama";
|
| 367 |
+
}
|
| 368 |
+
|
| 369 |
+
|
| 370 |
+
2. Variabel
|
| 371 |
+
Variabel adalah representasi dari lokasi dalam memori untuk menyimpan data.
|
| 372 |
+
|
| 373 |
+
Nilainya dapat berubah selama program berjalan.
|
| 374 |
+
|
| 375 |
+
Bersifat sementara (volatile), akan hilang jika program ditutup atau direstart.
|
| 376 |
+
|
| 377 |
+
Sintaks deklarasi:
|
| 378 |
+
tipe_data nama_variabel;
|
| 379 |
+
tipe_data var1, var2;
|
| 380 |
+
|
| 381 |
+
Sintaks inisialisasi:
|
| 382 |
+
tipe_data nama_variabel = nilai;
|
| 383 |
+
|
| 384 |
+
Contoh:
|
| 385 |
+
int x = 1402;
|
| 386 |
+
float y = 14.02f;
|
| 387 |
+
char z = 't';
|
| 388 |
+
|
| 389 |
+
3. Identifier (Pengenal)
|
| 390 |
+
Digunakan untuk memberi nama variabel, fungsi, kelas, dll.
|
| 391 |
+
|
| 392 |
+
Aturan penamaan:
|
| 393 |
+
Minimal 1 karakter
|
| 394 |
+
Harus diawali huruf atau _
|
| 395 |
+
Tidak boleh mengandung spasi atau karakter khusus seperti @, $, %
|
| 396 |
+
Bersifat case-sensitive (Data ≠ data)
|
| 397 |
+
Tidak boleh menggunakan kata kunci C++ (seperti if, else, while, dll)
|
| 398 |
+
Best practice: Gunakan gaya camelCase untuk nama yang terdiri dari beberapa kata.
|
| 399 |
+
Contoh: totalHarga, jumlahSiswa, inputUser
|
| 400 |
+
|
| 401 |
+
4. Konstanta (Constant)
|
| 402 |
+
Nilai tetap yang tidak bisa diubah setelah dideklarasikan.
|
| 403 |
+
Kata kunci: const
|
| 404 |
+
|
| 405 |
+
Contoh:
|
| 406 |
+
const double PI = 3.14159;
|
| 407 |
+
double luas = (9 * 9) * PI;
|
| 408 |
+
// PI = 3.14; // akan menyebabkan error
|
| 409 |
+
|
| 410 |
+
5. Type Conversion dan Type Casting
|
| 411 |
+
a. Implicit Type Conversion
|
| 412 |
+
Konversi otomatis oleh compiler saat menyimpan nilai ke tipe data kompatibel.
|
| 413 |
+
|
| 414 |
+
Contoh:
|
| 415 |
+
short a = 1402;
|
| 416 |
+
int b;
|
| 417 |
+
b = a; // otomatis dikonversi ke int
|
| 418 |
+
|
| 419 |
+
b. Explicit Type Casting
|
| 420 |
+
Konversi dilakukan secara manual oleh programmer.
|
| 421 |
+
Dua bentuk:
|
| 422 |
+
|
| 423 |
+
Fungsi (Functional):
|
| 424 |
+
y = int(x);
|
| 425 |
+
|
| 426 |
+
Gaya C (C-like):
|
| 427 |
+
z = (int)x;
|
| 428 |
+
|
| 429 |
+
6. Type Inference (auto)
|
| 430 |
+
C++ dapat menentukan tipe data otomatis saat deklarasi menggunakan kata kunci auto.
|
| 431 |
+
Catatan penting: Harus disertai nilai saat deklarasi.
|
| 432 |
+
|
| 433 |
+
Contoh valid:
|
| 434 |
+
auto count = 0; // int
|
| 435 |
+
auto pil = 'k'; // char
|
| 436 |
+
auto total = 14.02f; // float
|
| 437 |
+
auto num = 41110179.115;// double
|
| 438 |
+
|
| 439 |
+
Contoh tidak valid:
|
| 440 |
+
auto x; // Error: tidak ada nilai awal
|
| 441 |
+
|
| 442 |
+
INPUT/OUTPUT DASAR
|
| 443 |
+
1. Output (Keluaran ke layar)
|
| 444 |
+
Menggunakan library iostream dan objek std::cout.
|
| 445 |
+
|
| 446 |
+
Menampilkan teks atau nilai ke layar.
|
| 447 |
+
|
| 448 |
+
Contoh:
|
| 449 |
+
std::cout << "Hello World\n";
|
| 450 |
+
std::cout << "Aplikasi Rental Mobil" << std::endl;
|
| 451 |
+
|
| 452 |
+
int kode = 1402;
|
| 453 |
+
std::cout << "Kode prodi TI: " << kode << "\n";
|
| 454 |
+
|
| 455 |
+
2. Input (Masukan dari pengguna)
|
| 456 |
+
Menggunakan library iostream dan objek std::cin.
|
| 457 |
+
|
| 458 |
+
Menerima input dari keyboard (command line).
|
| 459 |
+
|
| 460 |
+
Contoh:
|
| 461 |
+
int p;
|
| 462 |
+
std::cout << "Masukkan pilihan (1-4): ";
|
| 463 |
+
std::cin >> p;
|
| 464 |
+
std::cout << "Nilai p: " << p << "\n";
|
| 465 |
+
|
| 466 |
+
char x;
|
| 467 |
+
std::cout << "Ketik 1 karakter: ";
|
| 468 |
+
std::cin >> x;
|
| 469 |
+
std::cout << "Karakter input: " << x << "\n";
|
| 470 |
+
|
| 471 |
+
|
| 472 |
+
Ekspresi dalam C++
|
| 473 |
+
|
| 474 |
+
Definisi:
|
| 475 |
+
Ekspresi adalah kombinasi dari konstanta, variabel, dan operator yang menghasilkan suatu nilai. Ekspresi dapat berdiri sendiri atau menjadi bagian dari pernyataan (statement).
|
| 476 |
+
|
| 477 |
+
Jenis-Jenis Ekspresi:
|
| 478 |
+
|
| 479 |
+
1. Constant Expression
|
| 480 |
+
- Hanya terdiri dari nilai tetap (konstanta).
|
| 481 |
+
- Contoh:
|
| 482 |
+
5
|
| 483 |
+
int z = 43;
|
| 484 |
+
x = (2 / 3) * 4;
|
| 485 |
+
|
| 486 |
+
2. Integral Expression
|
| 487 |
+
- Menghasilkan nilai bertipe integer, langsung atau melalui konversi.
|
| 488 |
+
- Contoh (x dan y bertipe int):
|
| 489 |
+
x * y
|
| 490 |
+
x + int(5.0)
|
| 491 |
+
|
| 492 |
+
3. Floating Expression
|
| 493 |
+
- Menghasilkan nilai float secara langsung atau dari konversi.
|
| 494 |
+
- Contoh (p dan q bertipe float):
|
| 495 |
+
p + q
|
| 496 |
+
14.02
|
| 497 |
+
|
| 498 |
+
4. Relational Expression (Boolean)
|
| 499 |
+
- Menghasilkan nilai boolean: true atau false.
|
| 500 |
+
- Contoh:
|
| 501 |
+
x <= y
|
| 502 |
+
x + y > 2
|
| 503 |
+
a - b >= x - y
|
| 504 |
+
|
| 505 |
+
5. Logical Expression
|
| 506 |
+
- Menggabungkan dua atau lebih ekspresi relasional.
|
| 507 |
+
- Contoh:
|
| 508 |
+
x > y && x == 10
|
| 509 |
+
x == 7 || y == 14
|
| 510 |
+
|
| 511 |
+
6. Pointer Expression
|
| 512 |
+
- Menghasilkan nilai berupa alamat memori.
|
| 513 |
+
- Contoh:
|
| 514 |
+
&x
|
| 515 |
+
ptr
|
| 516 |
+
|
| 517 |
+
7. Bitwise Expression
|
| 518 |
+
- Memanipulasi data pada level bit.
|
| 519 |
+
- Contoh:
|
| 520 |
+
x >> 2
|
| 521 |
+
|
| 522 |
+
|
| 523 |
+
Operator dalam C++
|
| 524 |
+
|
| 525 |
+
1. Unary Operator
|
| 526 |
+
- Operator: ++, --
|
| 527 |
+
- Hanya satu operand.
|
| 528 |
+
- Contoh:
|
| 529 |
+
x++; // sama dengan x = x + 1
|
| 530 |
+
y--; // sama dengan y = y - 1
|
| 531 |
+
|
| 532 |
+
2. Arithmetic Operator
|
| 533 |
+
- Operator: +, -, *, /, %
|
| 534 |
+
- Digunakan untuk operasi matematika dasar.
|
| 535 |
+
- Contoh:
|
| 536 |
+
x = y * z;
|
| 537 |
+
a = b + c / d;
|
| 538 |
+
- Catatan: Hati-hati terhadap overflow, misalnya 2147483647 + 1.
|
| 539 |
+
|
| 540 |
+
3. Relational Operator
|
| 541 |
+
- Digunakan untuk membandingkan dua operand.
|
| 542 |
+
- Operator: <=, >=, ==, !=, <, >
|
| 543 |
+
- Contoh:
|
| 544 |
+
5 == 5 // true
|
| 545 |
+
6 > 5 // true
|
| 546 |
+
5 != 5 // false
|
| 547 |
+
|
| 548 |
+
4. Logical Operator
|
| 549 |
+
- Menggabungkan kondisi boolean.
|
| 550 |
+
- Operator: && (AND), || (OR), ! (NOT)
|
| 551 |
+
- Contoh:
|
| 552 |
+
true && false // false
|
| 553 |
+
true || false // true
|
| 554 |
+
!true // false
|
| 555 |
+
|
| 556 |
+
5. Bitwise Operator
|
| 557 |
+
- Melakukan operasi pada bit.
|
| 558 |
+
- Operator:
|
| 559 |
+
& (AND), | (OR), ^ (XOR), ~ (NOT), << (shift kiri), >> (shift kanan)
|
| 560 |
+
- Contoh:
|
| 561 |
+
x & y
|
| 562 |
+
x >> 2
|
| 563 |
+
|
| 564 |
+
6. Assignment Operator
|
| 565 |
+
- Memberi nilai ke variabel.
|
| 566 |
+
- Operator: =, +=, -=, *=, /=
|
| 567 |
+
- Contoh:
|
| 568 |
+
x = 8;
|
| 569 |
+
x += 8; // sama dengan x = x + 8
|
| 570 |
+
|
| 571 |
+
7. Ternary Operator
|
| 572 |
+
- Operator ?: digunakan sebagai alternatif if-else singkat.
|
| 573 |
+
- Format: kondisi ? nilai_true : nilai_false;
|
| 574 |
+
- Contoh:
|
| 575 |
+
char hasil = (5 >= 5) ? 'y' : 't';
|
| 576 |
+
|
| 577 |
+
|
| 578 |
+
Operator Precedence dan Associativity
|
| 579 |
+
|
| 580 |
+
- Precedence: Urutan eksekusi berdasarkan prioritas operator.
|
| 581 |
+
- Associativity: Urutan eksekusi saat operator memiliki prioritas sama.
|
| 582 |
+
- Contoh:
|
| 583 |
+
x = 4 + 2 * 9; // * dieksekusi dulu, hasil: 22
|
| 584 |
+
y = 9 * (5 + 2); // () dieksekusi dulu, hasil: 63
|
| 585 |
+
|
| 586 |
+
Referensi lengkap: https://en.cppreference.com/w/cpp/language/operator_precedence
|
| 587 |
+
|
| 588 |
+
|
| 589 |
+
Komentar dalam C++
|
| 590 |
+
|
| 591 |
+
Komentar digunakan untuk memberi penjelasan dalam kode dan tidak akan dieksekusi.
|
| 592 |
+
|
| 593 |
+
1. Komentar satu baris:
|
| 594 |
+
// Hitung total pembayaran
|
| 595 |
+
total_bayar = (total + pajak) - diskon;
|
| 596 |
+
|
| 597 |
+
2. Komentar blok (multi-baris):
|
| 598 |
+
/*
|
| 599 |
+
Tampilkan total pembayaran
|
| 600 |
+
setelah dikurangi diskon
|
| 601 |
+
*/
|
| 602 |
+
std::cout << "Total bayar: " << total_bayar << std::endl;
|
| 603 |
+
|
| 604 |
+
|
| 605 |
+
Error dan Warning
|
| 606 |
+
|
| 607 |
+
1. Compile-time Error:
|
| 608 |
+
- Terjadi saat proses kompilasi.
|
| 609 |
+
- Contoh: lupa titik koma, variabel belum dideklarasikan.
|
| 610 |
+
|
| 611 |
+
2. Run-time Error:
|
| 612 |
+
- Terjadi saat program dijalankan.
|
| 613 |
+
- Contoh: pembagian dengan nol, file tidak ditemukan.
|
| 614 |
+
|
| 615 |
+
3. Logic Error:
|
| 616 |
+
- Program tidak menghasilkan hasil sesuai yang diharapkan meskipun tanpa error.
|
| 617 |
+
|
| 618 |
+
4. Warning:
|
| 619 |
+
- Kompilasi berhasil, tapi ada peringatan dari compiler.
|
| 620 |
+
- Contoh:
|
| 621 |
+
int n;
|
| 622 |
+
std::cout << n << '\n'; // Warning: variabel 'n' belum diinisialisasi
|
| 623 |
+
|
| 624 |
+
Modul 5 : Percabangan Bersyarat
|
| 625 |
+
|
| 626 |
+
BOOLEAN EXPRESSION (Ekspresi Boolean)
|
| 627 |
+
|
| 628 |
+
1. Pengertian Tipe Data Boolean
|
| 629 |
+
- Dalam bahasa C++, tersedia tipe data Boolean (bool) yang hanya memiliki dua kemungkinan nilai: `true` (benar) dan `false` (salah).
|
| 630 |
+
- Nama Boolean diambil dari George Boole, seorang matematikawan asal Inggris yang mengembangkan logika Boolean.
|
| 631 |
+
- Dalam implementasinya:
|
| 632 |
+
- Setiap bilangan selain nol (baik positif maupun negatif) dianggap sebagai `true`.
|
| 633 |
+
- Bilangan nol (`0`) dianggap sebagai `false`.
|
| 634 |
+
|
| 635 |
+
2. Ekspresi Boolean
|
| 636 |
+
- Ekspresi Boolean merupakan pernyataan logika yang menghasilkan nilai `true` atau `false`.
|
| 637 |
+
- Biasanya ekspresi ini melibatkan operator relasional (seperti `==`, `!=`, `<`, `>`, dll).
|
| 638 |
+
- Ekspresi aritmatika dalam ekspresi Boolean dievaluasi terlebih dahulu, lalu dibandingkan.
|
| 639 |
+
- Contoh:
|
| 640 |
+
- `10 == 20` akan menghasilkan `false`.
|
| 641 |
+
- `x == 10` bernilai `true` hanya jika nilai `x` memang 10.
|
| 642 |
+
- `x != y` bernilai `true` jika nilai `x` tidak sama dengan `y`.
|
| 643 |
+
|
| 644 |
+
|
| 645 |
+
PERNYATAAN IF
|
| 646 |
+
|
| 647 |
+
1. Struktur Dasar if
|
| 648 |
+
- Pernyataan `if` digunakan untuk membuat percabangan logika berdasarkan kondisi.
|
| 649 |
+
- Format dasar:
|
| 650 |
+
if (kondisi) {
|
| 651 |
+
pernyataan;
|
| 652 |
+
}
|
| 653 |
+
- Kondisi di dalam kurung harus berupa ekspresi Boolean.
|
| 654 |
+
|
| 655 |
+
2. Contoh Penggunaan:
|
| 656 |
+
if (nilai >= 70) {
|
| 657 |
+
cout << "LULUS";
|
| 658 |
+
}
|
| 659 |
+
|
| 660 |
+
3. Gaya Penulisan (Coding Style)
|
| 661 |
+
- Jika hanya satu pernyataan setelah `if`, kurung kurawal `{}` boleh dihilangkan.
|
| 662 |
+
if (nilai >= 70)
|
| 663 |
+
cout << "LULUS";
|
| 664 |
+
|
| 665 |
+
- Jika lebih dari satu pernyataan, **wajib** menggunakan kurung kurawal:
|
| 666 |
+
if (nilai >= 70) {
|
| 667 |
+
cout << "LULUS";
|
| 668 |
+
cout << endl;
|
| 669 |
+
}
|
| 670 |
+
|
| 671 |
+
|
| 672 |
+
PERNYATAAN IF ... ELSE
|
| 673 |
+
|
| 674 |
+
1. Format Dasar:
|
| 675 |
+
- Menambahkan cabang jika kondisi `if` bernilai `false`.
|
| 676 |
+
if (kondisi) {
|
| 677 |
+
statement1;
|
| 678 |
+
} else {
|
| 679 |
+
statement2;
|
| 680 |
+
}
|
| 681 |
+
|
| 682 |
+
2. Contoh:
|
| 683 |
+
if (nilai >= 70) {
|
| 684 |
+
cout << "LULUS";
|
| 685 |
+
} else {
|
| 686 |
+
cout << "TIDAK LULUS";
|
| 687 |
+
}
|
| 688 |
+
|
| 689 |
+
3. Percabangan if ... else if ... else
|
| 690 |
+
- Digunakan ketika terdapat lebih dari dua kemungkinan kondisi:
|
| 691 |
+
if (nilai >= 70) {
|
| 692 |
+
cout << "LULUS";
|
| 693 |
+
} else if (nilai >= 50) {
|
| 694 |
+
cout << "UJIAN ULANG";
|
| 695 |
+
} else {
|
| 696 |
+
cout << "TIDAK LULUS";
|
| 697 |
+
}
|
| 698 |
+
|
| 699 |
+
4. Contoh Kasus:
|
| 700 |
+
- Konversi nilai ke huruf berdasarkan skala:
|
| 701 |
+
if (nilai > 80)
|
| 702 |
+
cout << "A";
|
| 703 |
+
else if (nilai >= 70)
|
| 704 |
+
cout << "B";
|
| 705 |
+
else if (nilai >= 50)
|
| 706 |
+
cout << "C";
|
| 707 |
+
else
|
| 708 |
+
cout << "D";
|
| 709 |
+
|
| 710 |
+
|
| 711 |
+
PERNTAAN SWITCH ... CASE
|
| 712 |
+
|
| 713 |
+
1. Struktur Dasar:
|
| 714 |
+
- Digunakan untuk percabangan berdasarkan nilai dari suatu variabel.
|
| 715 |
+
- Lebih efisien dibandingkan if-else jika hanya memeriksa nilai yang tetap.
|
| 716 |
+
switch (variabel) {
|
| 717 |
+
case nilai1:
|
| 718 |
+
statement1;
|
| 719 |
+
break;
|
| 720 |
+
case nilai2:
|
| 721 |
+
statement2;
|
| 722 |
+
break;
|
| 723 |
+
default:
|
| 724 |
+
statement_default;
|
| 725 |
+
break;
|
| 726 |
+
}
|
| 727 |
+
|
| 728 |
+
2. Contoh:
|
| 729 |
+
int prodi = 2;
|
| 730 |
+
switch (prodi) {
|
| 731 |
+
case 1:
|
| 732 |
+
cout << "Ilmu Komputer\n";
|
| 733 |
+
break;
|
| 734 |
+
case 2:
|
| 735 |
+
cout << "Teknologi Informasi\n";
|
| 736 |
+
break;
|
| 737 |
+
default:
|
| 738 |
+
cout << "Tidak Diketahui\n";
|
| 739 |
+
break;
|
| 740 |
+
}
|
| 741 |
+
|
| 742 |
+
|
| 743 |
+
PERCABANGAN BERSARANG (NESTED)
|
| 744 |
+
|
| 745 |
+
1. If Bersarang (Nested If)
|
| 746 |
+
- Merupakan penggunaan `if` di dalam blok `if` lain.
|
| 747 |
+
if (nilai >= 50) {
|
| 748 |
+
if (nilai >= 70) {
|
| 749 |
+
cout << "LULUS";
|
| 750 |
+
} else {
|
| 751 |
+
cout << "UJIAN ULANG";
|
| 752 |
+
}
|
| 753 |
+
} else {
|
| 754 |
+
cout << "TIDAK LULUS";
|
| 755 |
+
}
|
| 756 |
+
|
| 757 |
+
2. Switch Bersarang
|
| 758 |
+
- Switch dapat digunakan di dalam `if`, dan sebaliknya.
|
| 759 |
+
- Contoh:
|
| 760 |
+
if (jenis == 1) {
|
| 761 |
+
switch (pilihan) {
|
| 762 |
+
case 1:
|
| 763 |
+
cout << "Aksi 1";
|
| 764 |
+
break;
|
| 765 |
+
}
|
| 766 |
+
}
|
| 767 |
+
|
| 768 |
+
// Atau sebaliknya
|
| 769 |
+
switch (jenis) {
|
| 770 |
+
case 1:
|
| 771 |
+
if (nilai > 70)
|
| 772 |
+
cout << "Bagus";
|
| 773 |
+
break;
|
| 774 |
+
}
|
| 775 |
+
|
| 776 |
+
|
| 777 |
+
KESALAHAN UMUM DALAM PERCABANGAN
|
| 778 |
+
|
| 779 |
+
1. Salah Gunakan Tanda Perbandingan
|
| 780 |
+
- Kesalahan umum adalah menggunakan `=` (assignment) sebagai perbandingan, padahal seharusnya `==`.
|
| 781 |
+
if (input = 2) // Salah! Ini melakukan assignment, bukan perbandingan
|
| 782 |
+
|
| 783 |
+
2. Salah Menggunakan Operator Logika `||` dan `&&`
|
| 784 |
+
- Banyak pemula bingung membedakan OR (`||`) dan AND (`&&`).
|
| 785 |
+
- `x > 0 || x <= 10` → selalu `true` untuk semua nilai `x`.
|
| 786 |
+
- `x > 0 && x <= 10` → hanya `true` jika `x` di antara 1 dan 10.
|
| 787 |
+
|
| 788 |
+
3. Tautology
|
| 789 |
+
- Ekspresi logika yang selalu bernilai `true`, tidak peduli nilai variabelnya.
|
| 790 |
+
- Contoh:
|
| 791 |
+
```
|
| 792 |
+
x > 0 || x <= 10 // Selalu true
|
| 793 |
+
```
|
| 794 |
+
|
| 795 |
+
4. Contradiction
|
| 796 |
+
- Ekspresi logika yang selalu bernilai `false`.
|
| 797 |
+
- Contoh:
|
| 798 |
+
```
|
| 799 |
+
x == 0 && x > 10 // Tidak pernah bisa true
|
| 800 |
+
```
|
| 801 |
+
|
| 802 |
+
|
| 803 |
+
CATATAN TAMBAHAN:
|
| 804 |
+
- Gunakan `==` untuk membandingkan dua nilai, dan `=` hanya untuk memberikan nilai (assignment).
|
| 805 |
+
- Penggunaan `else if` sangat berguna untuk menghindari tumpukan `if` yang tidak efisien.
|
| 806 |
+
- Setiap `case` dalam `switch` sebaiknya diakhiri dengan `break;` agar tidak mengeksekusi case lain secara tidak sengaja.
|
| 807 |
+
- Gunakan komentar untuk menjelaskan logika percabangan yang kompleks.
|
| 808 |
+
|
| 809 |
+
|
| 810 |
+
PERULANGAN DALAM C++
|
| 811 |
+
|
| 812 |
+
1. PERNYATAAN WHILE
|
| 813 |
+
- Digunakan untuk mengeksekusi blok kode berulang selama kondisi bernilai true.
|
| 814 |
+
- Sintaks:
|
| 815 |
+
while (kondisi) {
|
| 816 |
+
statement;
|
| 817 |
+
}
|
| 818 |
+
- Contoh:
|
| 819 |
+
int x = 1;
|
| 820 |
+
while (x < 3) {
|
| 821 |
+
cout << x << "\n";
|
| 822 |
+
x++;
|
| 823 |
+
}
|
| 824 |
+
- Jika hanya satu pernyataan, tanda kurung kurawal {} boleh dihilangkan.
|
| 825 |
+
- Kondisi dievaluasi di awal setiap iterasi.
|
| 826 |
+
|
| 827 |
+
2. PERNYATAAN DO ... WHILE
|
| 828 |
+
- Menjalankan blok kode terlebih dahulu, kemudian mengevaluasi kondisi.
|
| 829 |
+
- Cocok jika perulangan minimal harus dijalankan satu kali.
|
| 830 |
+
- Sintaks:
|
| 831 |
+
do {
|
| 832 |
+
statement;
|
| 833 |
+
} while (kondisi);
|
| 834 |
+
- Contoh:
|
| 835 |
+
int x = 1;
|
| 836 |
+
do {
|
| 837 |
+
cout << x << "\n";
|
| 838 |
+
x++;
|
| 839 |
+
} while (x < 3);
|
| 840 |
+
|
| 841 |
+
3. PERBANDINGAN WHILE VS DO ... WHILE
|
| 842 |
+
- while: kondisi dicek sebelum blok dijalankan.
|
| 843 |
+
- do ... while: blok dijalankan dulu, lalu kondisi dicek.
|
| 844 |
+
- Contoh:
|
| 845 |
+
int x = 4;
|
| 846 |
+
|
| 847 |
+
while (x < 3) {
|
| 848 |
+
cout << x << "\n"; // Tidak dijalankan
|
| 849 |
+
x++;
|
| 850 |
+
}
|
| 851 |
+
|
| 852 |
+
do {
|
| 853 |
+
cout << x << "\n"; // Dieksekusi sekali
|
| 854 |
+
x++;
|
| 855 |
+
} while (x < 3);
|
| 856 |
+
|
| 857 |
+
4. PERNYATAAN FOR
|
| 858 |
+
- Digunakan untuk perulangan dengan inisialisasi, kondisi, dan increment yang jelas.
|
| 859 |
+
- Sintaks:
|
| 860 |
+
for (inisialisasi; kondisi; increment) {
|
| 861 |
+
statement;
|
| 862 |
+
}
|
| 863 |
+
- Contoh:
|
| 864 |
+
for (int x = 1; x < 3; x++) {
|
| 865 |
+
cout << x << "\n";
|
| 866 |
+
}
|
| 867 |
+
|
| 868 |
+
5. PERBANDINGAN WHILE DAN FOR
|
| 869 |
+
- Fungsi sama, hanya berbeda dalam struktur penulisan.
|
| 870 |
+
|
| 871 |
+
// Menggunakan while
|
| 872 |
+
int x = 1;
|
| 873 |
+
while (x < 3) {
|
| 874 |
+
cout << x << "\n";
|
| 875 |
+
x++;
|
| 876 |
+
}
|
| 877 |
+
|
| 878 |
+
// Menggunakan for
|
| 879 |
+
for (int x = 1; x < 3; x++) {
|
| 880 |
+
cout << x << "\n";
|
| 881 |
+
}
|
| 882 |
+
|
| 883 |
+
6. PERULANGAN BERSARANG
|
| 884 |
+
- Perulangan di dalam perulangan lain.
|
| 885 |
+
- Contoh:
|
| 886 |
+
bool ulang = true;
|
| 887 |
+
while (ulang) {
|
| 888 |
+
for (int x = 1; x <= 2; x++) {
|
| 889 |
+
cout << x << "\n";
|
| 890 |
+
if (x % 2 == 0) {
|
| 891 |
+
ulang = false;
|
| 892 |
+
}
|
| 893 |
+
}
|
| 894 |
+
}
|
| 895 |
+
|
| 896 |
+
7. MENGHENTIKAN PERULANGAN SECARA UMUM
|
| 897 |
+
- Perulangan akan terus berjalan selama kondisi bernilai true.
|
| 898 |
+
- Jika kondisi menjadi false di tengah body perulangan, blok tetap dieksekusi sampai akhir sebelum berhenti.
|
| 899 |
+
- Contoh:
|
| 900 |
+
bool ulang = true;
|
| 901 |
+
while (ulang) {
|
| 902 |
+
for (int x = 1; x <= 2; x++) {
|
| 903 |
+
cout << x << "\n";
|
| 904 |
+
if (x % 2 == 0) {
|
| 905 |
+
ulang = false;
|
| 906 |
+
}
|
| 907 |
+
}
|
| 908 |
+
cout << "C++ Rocks!\n";
|
| 909 |
+
cout << "In your dream\n";
|
| 910 |
+
}
|
| 911 |
+
|
| 912 |
+
8. PERNYATAAN BREAK
|
| 913 |
+
- Digunakan untuk langsung keluar dari perulangan.
|
| 914 |
+
- Contoh:
|
| 915 |
+
int input, jlh = 0;
|
| 916 |
+
while (true) {
|
| 917 |
+
cin >> input;
|
| 918 |
+
if (input < 0) break;
|
| 919 |
+
jlh += input;
|
| 920 |
+
}
|
| 921 |
+
cout << "Jumlah: " << jlh << "\n";
|
| 922 |
+
|
| 923 |
+
- Break menambah titik keluar di luar kondisi.
|
| 924 |
+
- Bisa diganti dengan variabel Boolean tapi memakan memori lebih besar.
|
| 925 |
+
|
| 926 |
+
9. PERNYATAAN CONTINUE
|
| 927 |
+
- Melompati sisa pernyataan dan kembali ke awal perulangan.
|
| 928 |
+
- Tidak keluar dari perulangan.
|
| 929 |
+
- Dapat diganti dengan else/if untuk hasil lebih terstruktur.
|
| 930 |
+
|
| 931 |
+
10. PERNYATAAN GOTO
|
| 932 |
+
- Melompat ke label tertentu dalam kode.
|
| 933 |
+
- Sintaks:
|
| 934 |
+
goto label;
|
| 935 |
+
...
|
| 936 |
+
label:
|
| 937 |
+
statement;
|
| 938 |
+
- Tidak disarankan karena membuat kode sulit dibaca (spaghetti code).
|
| 939 |
+
- Sering digunakan pada bahasa lama seperti FORTRAN dan BASIC.
|
| 940 |
+
|
| 941 |
+
11. PERULANGAN TAK TERBATAS (INFINITE LOOP)
|
| 942 |
+
- Perulangan yang tidak pernah berhenti karena kondisi selalu true.
|
| 943 |
+
- Bisa disengaja (misalnya: server listener) atau tidak disengaja (bug).
|
| 944 |
+
- Contoh:
|
| 945 |
+
while (true) {
|
| 946 |
+
// tanpa break
|
| 947 |
+
}
|
| 948 |
+
|
| 949 |
+
GLOSARIUM
|
| 950 |
+
- Perulangan: proses menjalankan blok kode berulang-ulang
|
| 951 |
+
- Kondisi: ekspresi boolean yang menentukan apakah perulangan dilanjutkan
|
| 952 |
+
- Iterasi: satu kali siklus perulangan
|
| 953 |
+
- break: keluar dari perulangan secara langsung
|
| 954 |
+
- continue: melompat ke iterasi berikutnya
|
| 955 |
+
- goto: melompat ke lokasi tertentu dalam program
|
| 956 |
+
- infinite loop: perulangan yang tidak memiliki akhir
|
| 957 |
+
- spaghetti code: kode yang tidak terstruktur dan sulit dipahami
|
| 958 |
+
|
| 959 |
+
|
| 960 |
+
PENGERTIAN ARRAY
|
| 961 |
+
- Array adalah struktur data berupa kumpulan elemen yang memiliki tipe data yang sama, dan disimpan secara berurutan di dalam blok memori.
|
| 962 |
+
- Nama array mengikuti aturan penamaan identifier (seperti variabel biasa).
|
| 963 |
+
- Akses ke elemen array dilakukan menggunakan indeks (index), dimulai dari 0.
|
| 964 |
+
- Setiap elemen array disimpan di lokasi memori yang berurutan.
|
| 965 |
+
- Semua elemen array harus memiliki tipe data yang sama (misalnya: int, float, char).
|
| 966 |
+
|
| 967 |
+
DEKLARASI DAN INISIALISASI ARRAY
|
| 968 |
+
- Dalam C++, array dapat dideklarasikan dan diinisialisasi dengan berbagai cara.
|
| 969 |
+
- Bentuk umum deklarasi:
|
| 970 |
+
tipe_data nama_array[ukuran];
|
| 971 |
+
- Inisialisasi dapat dilakukan saat deklarasi:
|
| 972 |
+
tipe_data nama_array[ukuran] = {nilai1, nilai2, ..., nilaiN};
|
| 973 |
+
|
| 974 |
+
CONTOH DEKLARASI DAN INISIALISASI
|
| 975 |
+
- Misalnya, sebuah program membutuhkan array untuk menyimpan jumlah handphone dari lima responden: 3, 2, 1, 2, 1.
|
| 976 |
+
- Kode program:
|
| 977 |
+
int jumlahHP[5] = {3, 2, 1, 2, 1};
|
| 978 |
+
|
| 979 |
+
MENGAKSES ELEMEN ARRAY
|
| 980 |
+
- Elemen array diakses dengan menggunakan indeks, misalnya:
|
| 981 |
+
jumlahHP[2]; // Mengakses elemen ke-3 (nilai = 1)
|
| 982 |
+
- Pertanyaan: Berapa nilai elemen array pada indeks ke-3?
|
| 983 |
+
Jawaban: jumlahHP[3] = 2;
|
| 984 |
+
|
| 985 |
+
AKSES INDEX DI LUAR BATAS
|
| 986 |
+
- Jika mencoba mengakses elemen di luar batas ukuran array (misalnya jumlahHP[10]), akan terjadi *undefined behavior*.
|
| 987 |
+
- Hal ini dapat menyebabkan program crash atau memunculkan nilai acak.
|
| 988 |
+
- Oleh karena itu, selalu pastikan indeks yang digunakan valid (antara 0 hingga ukuran_array - 1).
|
| 989 |
+
|
| 990 |
+
ARRAY MULTIDIMENSI
|
| 991 |
+
- Array berdimensi satu digunakan untuk menyimpan data linear (vektor).
|
| 992 |
+
- Jika ingin menyimpan data dalam bentuk baris dan kolom (matriks), digunakan array dua dimensi (2D array).
|
| 993 |
+
- Sintaks:
|
| 994 |
+
tipe_data nama_array[baris][kolom];
|
| 995 |
+
|
| 996 |
+
CONTOH ARRAY 2D DAN AKSESNYA
|
| 997 |
+
- Misal, terdapat array 2D berikut:
|
| 998 |
+
int matriks[2][3] = {
|
| 999 |
+
{1, 2, 3},
|
| 1000 |
+
{4, 5, 6}
|
| 1001 |
+
};
|
| 1002 |
+
- Untuk mengakses nilai pada baris ke-1, kolom ke-3:
|
| 1003 |
+
cout << matriks[0][2]; // Output: 3
|
| 1004 |
+
|
| 1005 |
+
PENGERTIAN STRING DALAM C++
|
| 1006 |
+
- String adalah rangkaian karakter yang diakhiri dengan karakter null ('\0').
|
| 1007 |
+
- Dalam C dan C++, string dapat disimpan sebagai array karakter:
|
| 1008 |
+
char pesan[6] = "Halo";
|
| 1009 |
+
- Atau dapat menggunakan tipe data string (objek):
|
| 1010 |
+
string pesan = "Halo";
|
| 1011 |
+
|
| 1012 |
+
C-STRING (ARRAY KARAKTER)
|
| 1013 |
+
- C-string secara eksplisit harus menyediakan ruang untuk karakter null ('\0').
|
| 1014 |
+
- Contoh:
|
| 1015 |
+
char teks[12] = "Hello world";
|
| 1016 |
+
- Jika tidak menyediakan ruang yang cukup, maka akan terjadi buffer overrun (kelebihan memori).
|
| 1017 |
+
|
| 1018 |
+
BUFFER OVERRUN
|
| 1019 |
+
- Buffer overrun terjadi saat menulis data melebihi kapasitas array.
|
| 1020 |
+
- Hal ini menyebabkan program menjadi tidak stabil atau rentan terhadap serangan keamanan.
|
| 1021 |
+
- Untuk menghindarinya, pastikan kapasitas array cukup, dan validasi input pengguna.
|
| 1022 |
+
|
| 1023 |
+
PENGAMANAN INPUT STRING
|
| 1024 |
+
- Untuk menghindari buffer overrun, gunakan metode input yang aman.
|
| 1025 |
+
- cin hanya membaca input sampai spasi.
|
| 1026 |
+
- Untuk membaca input string yang mengandung spasi, gunakan:
|
| 1027 |
+
```cpp
|
| 1028 |
+
fgets(nama_array, ukuran, stdin); // di C
|
| 1029 |
+
getline(cin, nama_variabel_string); // di C++
|
| 1030 |
+
|
| 1031 |
+
RANGKUMAN
|
| 1032 |
+
Array adalah kumpulan variabel dengan tipe data yang sama dan disimpan secara berurutan.
|
| 1033 |
+
|
| 1034 |
+
Elemen array diakses menggunakan indeks, dimulai dari 0.
|
| 1035 |
+
|
| 1036 |
+
Array dapat berdimensi satu (1D), dua (2D), atau lebih.
|
| 1037 |
+
|
| 1038 |
+
C-string adalah array karakter yang diakhiri dengan karakter null ('\0').
|
| 1039 |
+
|
| 1040 |
+
Buffer overrun adalah kesalahan umum yang harus dihindari.
|
| 1041 |
+
|
| 1042 |
+
Gunakan metode input yang aman saat bekerja dengan array karakter.
|
| 1043 |
+
|
| 1044 |
+
GLOSARIUM
|
| 1045 |
+
Array: Struktur data yang berisi sekumpulan elemen sejenis.
|
| 1046 |
+
|
| 1047 |
+
Indeks: Posisi elemen dalam array, dimulai dari 0.
|
| 1048 |
+
|
| 1049 |
+
Multidimensi: Array dengan lebih dari satu dimensi.
|
| 1050 |
+
|
| 1051 |
+
String: Rangkaian karakter, dalam C berupa array karakter.
|
| 1052 |
+
|
| 1053 |
+
C-string: String dalam bentuk array karakter (null-terminated).
|
| 1054 |
+
|
| 1055 |
+
Buffer overrun: Kesalahan akibat menulis melebihi kapasitas array.
|
| 1056 |
+
|
| 1057 |
+
PENGERTIAN FUNGSI
|
| 1058 |
+
- Fungsi adalah sekumpulan perintah yang dikelompokkan menjadi satu unit untuk menjalankan tugas tertentu.
|
| 1059 |
+
- Contoh kasus: Mencari akar kuadrat dari sebuah bilangan.
|
| 1060 |
+
- Metode yang sering digunakan: Newton-Raphson (https://en.wikipedia.org/wiki/Newton%27s_method).
|
| 1061 |
+
|
| 1062 |
+
PERMASALAHAN DALAM PROGRAM TANPA FUNGSI
|
| 1063 |
+
- Dalam proyek besar, sering kali diperlukan banyak perhitungan akar kuadrat, misalnya untuk:
|
| 1064 |
+
- Menghitung jarak dua titik (dalam bidang geometri)
|
| 1065 |
+
- Menyelesaikan persamaan kuadrat
|
| 1066 |
+
- Aplikasi dalam dunia teknik dan fisika
|
| 1067 |
+
- Tanpa fungsi, programmer harus menyalin (copy-paste) kode yang sama berulang kali.
|
| 1068 |
+
- Hal ini membuat kode menjadi tidak efisien, sulit dibaca, dan sulit dipelihara.
|
| 1069 |
+
|
| 1070 |
+
SOLUSI: FUNGSI UNTUK KODE YANG DAPAT DIGUNAKAN KEMBALI
|
| 1071 |
+
- Dengan menggunakan fungsi, kita dapat menulis satu kali dan memanggilnya berkali-kali.
|
| 1072 |
+
- Fungsi membuat kode lebih modular, mudah dibaca, diuji, dan diperbaiki.
|
| 1073 |
+
- Fungsi juga membantu dalam proses debugging dan pengorganisasian program besar.
|
| 1074 |
+
|
| 1075 |
+
JENIS-JENIS FUNGSI DALAM C++
|
| 1076 |
+
- Ada dua jenis fungsi dalam C++:
|
| 1077 |
+
1. **Built-in Function** (fungsi bawaan): Disediakan oleh compiler dan tersedia dalam library.
|
| 1078 |
+
2. **User-defined Function** (fungsi buatan pengguna): Dibuat sendiri oleh programmer sesuai kebutuhan.
|
| 1079 |
+
- Fungsi built-in tersedia melalui *library*, yang dapat digunakan dengan *preprocessor directive* seperti `#include`.
|
| 1080 |
+
|
| 1081 |
+
KONSEP DASAR FUNGSI DALAM C++
|
| 1082 |
+
- Fungsi adalah blok kode yang menerima input (parameter), memprosesnya, dan mengembalikan hasil (return value).
|
| 1083 |
+
- Dalam penerapannya, fungsi bersifat seperti *kotak hitam* (black box). Programmer cukup tahu:
|
| 1084 |
+
- Nama fungsi
|
| 1085 |
+
- Parameter yang harus diberikan
|
| 1086 |
+
- Hasil yang dikembalikan
|
| 1087 |
+
- Tanpa perlu tahu bagaimana fungsi bekerja secara internal.
|
| 1088 |
+
|
| 1089 |
+
CONTOH FUNGSI BUILT-IN: MENCARI AKAR KUADRAT
|
| 1090 |
+
- Untuk menyederhanakan kode yang menghitung akar kuadrat, kita bisa menggunakan fungsi `sqrt()` dari library `cmath`.
|
| 1091 |
+
- Contoh:
|
| 1092 |
+
```cpp
|
| 1093 |
+
#include <iostream>
|
| 1094 |
+
#include <cmath>
|
| 1095 |
+
using namespace std;
|
| 1096 |
+
|
| 1097 |
+
int main() {
|
| 1098 |
+
double x = 16.0;
|
| 1099 |
+
cout << "Akar dari " << x << " adalah " << sqrt(x);
|
| 1100 |
+
return 0;
|
| 1101 |
+
}
|
| 1102 |
+
|
| 1103 |
+
FUNGSI-FUNGSI MATEMATIKA (LIBRARY: cmath)
|
| 1104 |
+
1. Fungsi Pangkat
|
| 1105 |
+
pow(base, exponent)
|
| 1106 |
+
Contoh: pow(2, 3) menghasilkan 8.
|
| 1107 |
+
|
| 1108 |
+
2. Fungsi Logaritma
|
| 1109 |
+
log10(x) untuk logaritma basis 10
|
| 1110 |
+
Contoh: log10(100) hasilnya 2
|
| 1111 |
+
|
| 1112 |
+
3. Fungsi Trigonometri
|
| 1113 |
+
sin(x), cos(x), tan(x) dengan x dalam radian
|
| 1114 |
+
Contoh: cos(0) menghasilkan 1
|
| 1115 |
+
|
| 1116 |
+
FUNGSI MAXIMUM DAN MINIMUM (LIBRARY: algorithm)
|
| 1117 |
+
Fungsi max(a, b) mengembalikan nilai terbesar dari dua nilai.
|
| 1118 |
+
Fungsi min(a, b) mengembalikan nilai terkecil.
|
| 1119 |
+
|
| 1120 |
+
Contoh:
|
| 1121 |
+
int x = 10, y = 20;
|
| 1122 |
+
int terbesar = max(x, y); // Hasil: 20
|
| 1123 |
+
|
| 1124 |
+
FUNGSI WAKTU / CLOCK (LIBRARY: ctime)
|
| 1125 |
+
Digunakan untuk mengukur waktu eksekusi program.
|
| 1126 |
+
Tipe data: clock_t (ekuivalen dengan unsigned long)
|
| 1127 |
+
Konversi ke detik dilakukan dengan membagi hasil clock dengan CLOCKS_PER_SEC.
|
| 1128 |
+
|
| 1129 |
+
Contoh:
|
| 1130 |
+
#include <ctime>
|
| 1131 |
+
clock_t start = clock();
|
| 1132 |
+
// kode program
|
| 1133 |
+
clock_t end = clock();
|
| 1134 |
+
double durasi = double(end - start) / CLOCKS_PER_SEC;
|
| 1135 |
+
|
| 1136 |
+
FUNGSI UNTUK KARAKTER (LIBRARY: cctype)
|
| 1137 |
+
toupper(ch) => ubah karakter ke huruf besar
|
| 1138 |
+
tolower(ch) => ubah karakter ke huruf kecil
|
| 1139 |
+
isupper(ch) => cek apakah karakter huruf besar
|
| 1140 |
+
islower(ch) => cek apakah karakter huruf kecil
|
| 1141 |
+
isalpha(ch) => cek apakah karakter huruf
|
| 1142 |
+
isdigit(ch) => cek apakah karakter digit (0-9)
|
| 1143 |
+
|
| 1144 |
+
FUNGSI ANGKA ACAK (LIBRARY: cstdlib)
|
| 1145 |
+
Fungsi rand() menghasilkan angka acak pseudo-random.
|
| 1146 |
+
Fungsi srand(seed) digunakan untuk menentukan titik awal deret acak (seed).
|
| 1147 |
+
Jika seed sama, maka urutan angka acak yang dihasilkan juga akan sama.
|
| 1148 |
+
|
| 1149 |
+
Contoh:
|
| 1150 |
+
srand(time(0)); // seed berdasarkan waktu saat ini
|
| 1151 |
+
int acak = rand() % 100; // angka acak 0-99
|
| 1152 |
+
|
| 1153 |
+
FUNGSI MANIPULASI I/O (LIBRARY: iomanip)
|
| 1154 |
+
Fungsi setw(n) digunakan untuk mengatur lebar spasi saat menampilkan output.
|
| 1155 |
+
|
| 1156 |
+
Contoh:
|
| 1157 |
+
#include <iomanip>
|
| 1158 |
+
cout << setw(10) << "Data";
|
| 1159 |
+
|
| 1160 |
+
RANGKUMAN
|
| 1161 |
+
Fungsi adalah blok kode yang dapat digunakan untuk menyelesaikan tugas spesifik dan bisa dipanggil berulang kali.
|
| 1162 |
+
|
| 1163 |
+
Fungsi membuat kode lebih terorganisir dan mudah digunakan ulang (reusable).
|
| 1164 |
+
|
| 1165 |
+
Ada dua jenis fungsi: built-in dan user-defined.
|
| 1166 |
+
|
| 1167 |
+
C++ memiliki berbagai library untuk menyediakan fungsi bawaan, seperti cmath, ctime, cstdlib, cctype, algorithm, dan iomanip.
|
| 1168 |
+
|
| 1169 |
+
Dokumentasi lengkap fungsi dalam C++ dapat diakses di: http://www.cplusplus.com/reference/
|
| 1170 |
+
|
| 1171 |
+
|
| 1172 |
+
DASAR FUNGSI DALAM C++
|
| 1173 |
+
|
| 1174 |
+
Pentingnya Fungsi
|
| 1175 |
+
- Ketika program menjadi semakin kompleks, penting bagi programmer untuk menyusun struktur kode yang baik agar mudah dibaca, dirawat, dan dikembangkan.
|
| 1176 |
+
- Salah satu teknik manajemen kode adalah dengan memecah kode kompleks menjadi beberapa bagian kecil yang disebut *fungsi*.
|
| 1177 |
+
- Selama ini, program hanya menggunakan satu fungsi utama yaitu `main()`.
|
| 1178 |
+
- Menuliskan seluruh program dalam satu fungsi disebut sebagai *kode monolitik* (monolithic code).
|
| 1179 |
+
|
| 1180 |
+
Kerugian Kode Monolitik
|
| 1181 |
+
- Sulit ditulis dan dikelola karena semua logika terkonsentrasi dalam satu tempat.
|
| 1182 |
+
- Proses debugging menjadi sulit karena seluruh bagian saling berkaitan.
|
| 1183 |
+
- Menemukan kesalahan (error) membutuhkan lebih banyak waktu karena tidak ada pemisahan tanggung jawab antar bagian kode.
|
| 1184 |
+
- Perubahan kecil pun membutuhkan pemahaman terhadap seluruh program.
|
| 1185 |
+
- Tidak memungkinkan penggunaan kembali bagian kode yang sama untuk tugas serupa (*code reuse*).
|
| 1186 |
+
|
| 1187 |
+
Solusi: Membagi Program Menggunakan Fungsi
|
| 1188 |
+
- Dengan pendekatan *divide and conquer*, program besar dipecah menjadi fungsi-fungsi kecil yang lebih sederhana.
|
| 1189 |
+
- Fungsi dapat digunakan untuk:
|
| 1190 |
+
- Menyederhanakan logika program
|
| 1191 |
+
- Meningkatkan keterbacaan kode
|
| 1192 |
+
- Memfasilitasi penggunaan ulang kode
|
| 1193 |
+
- Fungsi utama (`main()`) dapat berperan sebagai *koordinator* yang mengatur alur eksekusi antar fungsi.
|
| 1194 |
+
- Ada dua jenis fungsi:
|
| 1195 |
+
1. **Built-in function**: Fungsi yang telah disediakan oleh C++ dalam pustaka (*library*) tertentu.
|
| 1196 |
+
2. **User-defined function**: Fungsi yang ditulis oleh programmer sesuai kebutuhan program.
|
| 1197 |
+
|
| 1198 |
+
MENULIS DAN MENGGUNAKAN FUNGSI
|
| 1199 |
+
|
| 1200 |
+
Struktur Fungsi dalam C++
|
| 1201 |
+
- Setiap fungsi terdiri dari dua aspek utama:
|
| 1202 |
+
1. **Pendefinisian fungsi**: Menentukan struktur fungsi lengkap (nama, parameter, tipe data, dan isi fungsi).
|
| 1203 |
+
2. **Pemanggilan fungsi**: Cara memanfaatkan fungsi yang sudah didefinisikan dalam program.
|
| 1204 |
+
|
| 1205 |
+
Empat Bagian Utama dalam Definisi Fungsi:
|
| 1206 |
+
1. **Name** (Nama)
|
| 1207 |
+
- Merupakan identifier unik yang merepresentasikan fungsi.
|
| 1208 |
+
- Nama sebaiknya jelas dan sesuai dengan tugas yang dilakukan fungsi.
|
| 1209 |
+
|
| 1210 |
+
2. **Type** (Tipe Nilai Balik / Return Type)
|
| 1211 |
+
- Menunjukkan tipe data yang akan dikembalikan oleh fungsi.
|
| 1212 |
+
- Jika fungsi tidak mengembalikan nilai, digunakan tipe `void`.
|
| 1213 |
+
|
| 1214 |
+
3. **Parameter / Argument**
|
| 1215 |
+
- Parameter formal adalah variabel yang digunakan dalam definisi fungsi untuk menerima input.
|
| 1216 |
+
- Jenis dan jumlah parameter harus didefinisikan secara eksplisit.
|
| 1217 |
+
- Contoh: `int tambah(int a, int b)` memiliki dua parameter bertipe `int`.
|
| 1218 |
+
|
| 1219 |
+
4. **Body (Isi Fungsi)**
|
| 1220 |
+
- Terletak di dalam kurung kurawal `{ }`.
|
| 1221 |
+
- Berisi serangkaian pernyataan yang akan dieksekusi saat fungsi dipanggil.
|
| 1222 |
+
|
| 1223 |
+
Contoh Pendefinisian dan Pemanggilan Fungsi:
|
| 1224 |
+
```cpp
|
| 1225 |
+
#include <iostream>
|
| 1226 |
+
using namespace std;
|
| 1227 |
+
|
| 1228 |
+
// Definisi fungsi
|
| 1229 |
+
int kali(int a, int b) {
|
| 1230 |
+
return a * b;
|
| 1231 |
+
}
|
| 1232 |
+
|
| 1233 |
+
int main() {
|
| 1234 |
+
int hasil = kali(4, 5); // Pemanggilan fungsi
|
| 1235 |
+
cout << "Hasil perkalian: " << hasil;
|
| 1236 |
+
return 0;
|
| 1237 |
+
}
|
| 1238 |
+
|
| 1239 |
+
PASS BY VALUE
|
| 1240 |
+
|
| 1241 |
+
Pengertian:
|
| 1242 |
+
|
| 1243 |
+
Dalam C++, parameter fungsi secara default dikirim dengan metode pass by value (call by value).
|
| 1244 |
+
|
| 1245 |
+
Artinya, nilai dari parameter aktual (actual parameter) disalin ke parameter formal.
|
| 1246 |
+
|
| 1247 |
+
Perubahan yang dilakukan pada parameter formal tidak memengaruhi nilai asli di pemanggil.
|
| 1248 |
+
|
| 1249 |
+
Contoh:
|
| 1250 |
+
void ubahNilai(int x) {
|
| 1251 |
+
x = 100;
|
| 1252 |
+
}
|
| 1253 |
+
|
| 1254 |
+
int main() {
|
| 1255 |
+
int a = 10;
|
| 1256 |
+
ubahNilai(a);
|
| 1257 |
+
cout << a; // Output tetap 10
|
| 1258 |
+
}
|
| 1259 |
+
|
| 1260 |
+
PROSES EKSEKUSI DAN PROTOTYPE FUNGSI
|
| 1261 |
+
|
| 1262 |
+
Apa yang Terjadi Jika Fungsi Didefinisikan Setelah main()?
|
| 1263 |
+
|
| 1264 |
+
Jika fungsi didefinisikan setelah main() tanpa deklarasi sebelumnya, maka compiler akan memberikan error.
|
| 1265 |
+
|
| 1266 |
+
Hal ini karena compiler membaca kode dari atas ke bawah dan tidak mengetahui keberadaan fungsi tersebut saat dipanggil.
|
| 1267 |
+
|
| 1268 |
+
Solusi: Gunakan Function Prototype
|
| 1269 |
+
|
| 1270 |
+
Function prototype adalah deklarasi singkat dari fungsi yang diletakkan di atas main() agar compiler mengenali fungsi tersebut sebelum digunakan.
|
| 1271 |
+
|
| 1272 |
+
Contoh:
|
| 1273 |
+
int tambah(int, int); // Function prototype
|
| 1274 |
+
|
| 1275 |
+
int main() {
|
| 1276 |
+
cout << tambah(3, 4);
|
| 1277 |
+
return 0;
|
| 1278 |
+
}
|
| 1279 |
+
|
| 1280 |
+
int tambah(int a, int b) {
|
| 1281 |
+
return a + b;
|
| 1282 |
+
}
|
| 1283 |
+
|
| 1284 |
+
DEKLARASI GLOBAL VS LOKAL
|
| 1285 |
+
|
| 1286 |
+
Pengertian:
|
| 1287 |
+
|
| 1288 |
+
Variabel lokal: Dideklarasikan di dalam fungsi. Hanya bisa diakses dalam fungsi tersebut.
|
| 1289 |
+
|
| 1290 |
+
Variabel global: Dideklarasikan di luar fungsi (biasanya di atas main()). Dapat diakses oleh semua fungsi dalam program.
|
| 1291 |
+
|
| 1292 |
+
Perbandingan:
|
| 1293 |
+
Variabel lokal dan variabel global memiliki perbedaan mendasar dalam hal ruang lingkup, keamanan, kinerja, dan penggunaannya. Variabel lokal hanya dapat diakses di dalam fungsi atau blok tempat variabel tersebut dideklarasikan. Hal ini membuatnya lebih aman karena bersifat privat dan tidak dapat diakses dari bagian lain program, sehingga mengurangi risiko konflik data. Selain itu, variabel lokal cenderung lebih efisien dalam penggunaan memori karena hanya aktif selama fungsi berjalan.
|
| 1294 |
+
|
| 1295 |
+
Sebaliknya, variabel global dapat diakses dari seluruh bagian program, termasuk semua fungsi. Meskipun hal ini membuat variabel global sangat berguna untuk menyimpan data yang bersifat umum atau perlu diakses banyak fungsi, namun penggunaannya rentan terhadap konflik karena bisa diubah dari berbagai tempat dalam program. Selain itu, variabel global dapat memboroskan memori karena tetap berada di memori selama program berjalan. Oleh karena itu, variabel lokal lebih cocok untuk menyimpan data sementara yang hanya dibutuhkan dalam satu fungsi, sedangkan variabel global lebih tepat digunakan untuk menyimpan data yang dibutuhkan secara menyeluruh dalam program.
|
| 1296 |
+
|
| 1297 |
+
Contoh:
|
| 1298 |
+
int globalVar = 10;
|
| 1299 |
+
|
| 1300 |
+
void tampil() {
|
| 1301 |
+
int lokalVar = 5;
|
| 1302 |
+
cout << globalVar << ", " << lokalVar;
|
| 1303 |
+
}
|
| 1304 |
+
|
| 1305 |
+
RANGKUMAN
|
| 1306 |
+
|
| 1307 |
+
Fungsi membantu memecah kode program besar menjadi bagian-bagian kecil yang modular dan dapat digunakan kembali.
|
| 1308 |
+
|
| 1309 |
+
Komponen utama dalam fungsi: Name, Type, Parameter, Body
|
| 1310 |
+
|
| 1311 |
+
Parameter terdiri dari dua jenis:
|
| 1312 |
+
|
| 1313 |
+
Formal parameter: Dituliskan saat mendefinisikan fungsi
|
| 1314 |
+
|
| 1315 |
+
Actual parameter: Diberikan saat memanggil fungsi
|
| 1316 |
+
|
| 1317 |
+
C++ menggunakan metode pass by value secara default, di mana perubahan dalam fungsi tidak memengaruhi nilai asli.
|
| 1318 |
+
|
| 1319 |
+
Untuk mencegah error saat mendefinisikan fungsi setelah main(), gunakan function prototype.
|
| 1320 |
+
|
| 1321 |
+
Penggunaan variabel global dan lokal harus disesuaikan dengan kebutuhan dan ruang lingkup data.
|
data/EfekVisualdanAnimasi.txt
ADDED
|
@@ -0,0 +1,369 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Defenisi Animasi
|
| 2 |
+
|
| 3 |
+
Animasi berasal dari penyesuaian kata dalam bahasa Inggris "animation", yang akarnya adalah "to animate", yang berarti menghidupkan. Secara etimologis, animasi dapat dimaknai sebagai usaha untuk memberikan kehidupan atau gerakan pada sesuatu yang sebelumnya tidak bergerak.
|
| 4 |
+
|
| 5 |
+
Menurut Ibiz Fernandez dalam bukunya Macromedia Flash Animation & Cartooning: A Creative Guide (McGraw-Hill/Osborne, California, 2002), animasi didefinisikan sebagai:
|
| 6 |
+
|
| 7 |
+
“Animation is the process of recording and playing back a sequence of stills to achieve the illusion of continuous motion.”
|
| 8 |
+
Yang dapat diterjemahkan sebagai:
|
| 9 |
+
“Animasi adalah proses merekam dan memutar ulang serangkaian gambar diam untuk menciptakan ilusi gerakan yang berkelanjutan.”
|
| 10 |
+
|
| 11 |
+
Dengan demikian, animasi pada dasarnya merupakan teknik untuk menghadirkan kesan hidup atau gerak pada objek yang sejatinya statis, melalui rangkaian gambar yang disusun secara berurutan dan diputar dalam kecepatan tertentu.
|
| 12 |
+
|
| 13 |
+
Sejarah Animasi
|
| 14 |
+
|
| 15 |
+
Sejak zaman prasejarah, manusia telah menunjukkan upaya untuk menciptakan animasi atau ilusi gerakan melalui gambar. Hal ini terlihat dari temuan para arkeolog di gua Lascaux, di wilayah utara Spanyol, yang diperkirakan berusia lebih dari 200.000 tahun. Pada dinding gua tersebut, digambarkan hewan-hewan seperti celeng, bison, dan kuda dengan delapan kaki yang tergambar dalam posisi bertumpuk, sebagai upaya untuk menangkap kesan gerakan lari yang cepat.
|
| 16 |
+
|
| 17 |
+
Peradaban Mesir Kuno juga telah mengenal konsep serupa. Mereka menggambarkan adegan para pegulat dalam posisi bertarung melalui rangkaian gambar yang berurutan, sebagai dekorasi dinding sekitar tahun 2000 sebelum Masehi.
|
| 18 |
+
|
| 19 |
+
Sementara itu, dalam budaya Jepang pada masa Heian, lukisan digambarkan dalam bentuk gulungan panjang yang ketika dibuka secara perlahan memperlihatkan alur cerita hidup, seolah-olah gambar-gambar tersebut bergerak.
|
| 20 |
+
|
| 21 |
+
Memasuki abad ke-19 di Eropa, muncul mainan optik bernama Thaumatrope. Alat ini berupa cakram karton bergambar—misalnya burung dan sangkar—yang dipasang pada seutas tali di kedua sisinya. Ketika diputar, gambar pada kedua sisi cakram menyatu karena efek visual, menciptakan ilusi burung berada di dalam sangkar.
|
| 22 |
+
|
| 23 |
+
Perkembangan animasi kemudian semakin pesat seiring kemajuan teknologi, khususnya sejak era pertelevisian. Pada awalnya, animasi dikembangkan dalam bentuk dua dimensi (2D Animation), yang menjadi dasar pembuatan film-film kartun. Proses produksi animasi 2D ini dilakukan dengan menggambar sketsa per frame, lalu diputar secara berurutan untuk menciptakan gerakan.
|
| 24 |
+
|
| 25 |
+
Dari proses tersebut, dapat disimpulkan bahwa animasi merupakan rangkaian gambar objek yang disusun sedemikian rupa sehingga tampak bergerak, memberikan kesan hidup dan dinamis kepada penontonnya.
|
| 26 |
+
|
| 27 |
+
Animasi Saat Ini
|
| 28 |
+
|
| 29 |
+
Saat ini, proses pembuatan animasi telah mengalami perkembangan pesat berkat dukungan teknologi komputer. Dengan perangkat lunak animasi digital, para animator tidak lagi perlu menggambar setiap frame secara manual. Cukup dengan menentukan keyframe—yaitu posisi atau kondisi penting pada titik awal dan akhir suatu gerakan—komputer akan secara otomatis menghitung dan mengisi pergerakan di antara keyframe tersebut. Proses ini dikenal sebagai tweening atau interpolasi gerak, yang menghasilkan animasi yang halus dan efisien.
|
| 30 |
+
|
| 31 |
+
Dalam dunia animasi, istilah frame mengacu pada satu gambar tunggal dalam urutan rangkaian gambar yang, jika ditampilkan secara berurutan dengan kecepatan tertentu (misalnya 24 frame per detik), akan menciptakan ilusi gerakan. Semakin banyak frame yang digunakan, semakin halus pula animasi yang dihasilkan.
|
| 32 |
+
|
| 33 |
+
Secara umum, animasi dibedakan menjadi dua jenis utama, yaitu animasi 2D (dua dimensi) dan animasi 3D (tiga dimensi).
|
| 34 |
+
|
| 35 |
+
Animasi 2D adalah animasi yang bekerja pada bidang datar dengan dua sumbu koordinat (x dan y), seperti gambar kartun tradisional yang bergerak dalam ruang dua dimensi. Contohnya bisa ditemukan dalam serial kartun klasik seperti Tom and Jerry atau SpongeBob SquarePants.
|
| 36 |
+
|
| 37 |
+
Sementara itu, animasi 3D menggunakan tiga sumbu koordinat (x, y, dan z), memungkinkan objek dan karakter tampak lebih nyata karena memiliki kedalaman, volume, serta pencahayaan dan bayangan yang menyerupai dunia nyata. Contoh animasi 3D bisa ditemukan pada film seperti Toy Story, Frozen, dan How to Train Your Dragon.
|
| 38 |
+
|
| 39 |
+
Beberapa perangkat lunak populer yang digunakan dalam pembuatan animasi antara lain:
|
| 40 |
+
|
| 41 |
+
Adobe Animate: Cocok untuk animasi 2D dan interaktif, sering digunakan dalam pembuatan konten web.
|
| 42 |
+
|
| 43 |
+
Toon Boom Harmony: Digunakan oleh studio profesional untuk animasi 2D dengan fitur lengkap.
|
| 44 |
+
|
| 45 |
+
Blender: Software open-source yang sangat kuat untuk animasi 3D, modeling, rendering, dan efek visual.
|
| 46 |
+
|
| 47 |
+
Autodesk Maya: Salah satu software standar industri untuk animasi 3D, banyak digunakan di film dan game.
|
| 48 |
+
|
| 49 |
+
Cinema 4D: Dikenal karena kemudahan penggunaannya dalam animasi 3D dan motion graphics.
|
| 50 |
+
|
| 51 |
+
Dengan kemajuan ini, animator kini memiliki lebih banyak fleksibilitas dan efisiensi dalam menciptakan karya animasi yang kompleks dan realistis, baik dalam bentuk 2D maupun 3D.
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
Proses pembuatan animasi 3D umumnya terbagi ke dalam tiga fase utama, yaitu pra-produksi, produksi, dan pasca-produksi. Setiap tahap memiliki peran penting untuk memastikan hasil animasi berkualitas dan sesuai konsep yang diinginkan.
|
| 55 |
+
|
| 56 |
+
Pra-Produksi (Perencanaan Awal)
|
| 57 |
+
|
| 58 |
+
Tahapan ini berfokus pada pengembangan ide, perencanaan cerita, serta persiapan visual dan suara sebelum proses teknis animasi dimulai.
|
| 59 |
+
|
| 60 |
+
1. Ide dan Konsep
|
| 61 |
+
Merupakan proses eksplorasi gagasan untuk animasi yang akan dibuat. Inspirasi bisa berasal dari berbagai sumber, seperti kisah nyata, legenda, cerita rakyat, fiksi ilmiah, atau dongeng.
|
| 62 |
+
Sebuah ide harus unik dan memiliki daya tarik tersendiri agar layak diangkat menjadi karya animasi. Kreativitas sangat diperlukan dalam menggali, menyusun, dan mengembangkan konsep secara mendalam.
|
| 63 |
+
|
| 64 |
+
2. Penulisan Skenario
|
| 65 |
+
Merupakan penyusunan alur cerita atau naskah dalam bentuk teks. Skenario yang baik akan mempengaruhi kualitas animasi secara keseluruhan, karena menjadi dasar untuk visualisasi, dialog, dan ritme cerita.
|
| 66 |
+
|
| 67 |
+
3. Pembuatan Sketsa Model
|
| 68 |
+
Langkah ini melibatkan pembuatan sketsa awal dari karakter atau objek yang akan dianimasikan. Sketsa harus mencakup berbagai sudut pandang—depan, samping, belakang, dan perspektif—untuk memudahkan proses pemodelan 3D.
|
| 69 |
+
Khusus karakter, sketsa ekspresi wajah seperti marah, senang, sedih, bingung, dan lain-lain juga perlu ditampilkan.
|
| 70 |
+
|
| 71 |
+
4. Storyboard
|
| 72 |
+
Storyboard adalah representasi visual dari skenario dalam bentuk panel-panel gambar seperti komik. Fungsi utamanya adalah memberikan gambaran menyeluruh tentang urutan adegan, sudut kamera, tata letak, ekspresi karakter, dialog, dan durasi tiap adegan.
|
| 73 |
+
Storyboard menjadi panduan utama dalam proses produksi agar lebih fokus dan terarah.
|
| 74 |
+
|
| 75 |
+
5. Perekaman Suara dan Musik Latar
|
| 76 |
+
Tahapan ini mencakup pengambilan suara karakter (dubbing) serta penyusunan musik latar (background music) yang akan memperkuat nuansa emosional dan suasana dalam animasi.
|
| 77 |
+
|
| 78 |
+
Produksi (Pembuatan Teknis Animasi)
|
| 79 |
+
|
| 80 |
+
Ini adalah tahap inti, di mana semua elemen visual dari animasi mulai diwujudkan secara digital menggunakan perangkat lunak animasi 3D.
|
| 81 |
+
|
| 82 |
+
1. Modelling
|
| 83 |
+
Pembuatan objek atau karakter dalam bentuk tiga dimensi menggunakan software. Model dapat berupa makhluk hidup (manusia, hewan) maupun benda mati (mobil, rumah, dll). Proses ini harus akurat mengikuti sketsa agar hasilnya proporsional dan menarik secara visual.
|
| 84 |
+
|
| 85 |
+
2. Texturing
|
| 86 |
+
Pemberian warna, pola, dan material pada model 3D. Tekstur bisa berupa gambar yang dibuat secara digital atau menggunakan foto. Proses ini membuat permukaan objek terlihat lebih nyata, seperti logam, kayu, kain, kulit, dan sebagainya.
|
| 87 |
+
|
| 88 |
+
3. Lighting
|
| 89 |
+
Penataan pencahayaan pada adegan untuk menciptakan efek visual realistis. Lighting yang baik memberikan kedalaman, bayangan, dan suasana tertentu dalam animasi. Fitur seperti Global Illumination sering digunakan untuk hasil pencahayaan yang lebih natural, meskipun memerlukan waktu rendering yang lebih lama.
|
| 90 |
+
|
| 91 |
+
4. Environmental Effects
|
| 92 |
+
Membuat latar dan lingkungan tempat objek berada, seperti pemandangan, taman, jalan, atau langit. Termasuk pula efek-efek khusus seperti asap, air, api, atau kabut untuk menambah kesan realistis.
|
| 93 |
+
|
| 94 |
+
5. Animation
|
| 95 |
+
Proses memberi gerakan pada objek atau karakter sesuai arahan dari storyboard. Termasuk pula pergerakan kamera untuk animasi walkthrough, flythrough, atau sinematik lainnya. Animator menentukan titik awal, akhir, dan transisi gerak dengan bantuan keyframe.
|
| 96 |
+
|
| 97 |
+
6. Rendering
|
| 98 |
+
Tahapan akhir dalam produksi yang menghitung dan menghasilkan gambar akhir dari seluruh adegan. Semua elemen seperti model, tekstur, pencahayaan, efek, dan animasi digabung menjadi satu bentuk visual yang utuh dan siap ditampilkan.
|
| 99 |
+
|
| 100 |
+
Pasca-Produksi (Penyempurnaan Akhir)
|
| 101 |
+
|
| 102 |
+
Tahap ini bertujuan menggabungkan semua elemen hasil produksi, memperbaiki kekurangan, dan menambahkan elemen pendukung agar hasil akhir lebih maksimal.
|
| 103 |
+
|
| 104 |
+
1. Editing Animasi dan Suara
|
| 105 |
+
Melakukan penyuntingan terhadap hasil animasi dan suara. Adegan atau suara yang tidak relevan dihapus agar hasilnya lebih padat dan menarik.
|
| 106 |
+
|
| 107 |
+
2. Compositing dan Visual Effects
|
| 108 |
+
Menggabungkan berbagai elemen visual serta menambahkan efek tambahan seperti cahaya, kilatan, ledakan, atau efek judul agar tampilan akhir lebih dinamis dan memukau.
|
| 109 |
+
|
| 110 |
+
3. Penambahan Suara dan Efek Bunyi (Foley)
|
| 111 |
+
Memasukkan efek suara tambahan yang sesuai dengan adegan animasi, seperti suara langkah, gesekan benda, atau efek alam. Proses ini biasanya dilakukan di studio dengan peralatan khusus untuk menghasilkan bunyi realistis.
|
| 112 |
+
|
| 113 |
+
4. Pratinjau dan Finalisasi
|
| 114 |
+
Melihat hasil animasi secara keseluruhan untuk memastikan semua elemen sudah terintegrasi dengan baik, kemudian melakukan koreksi akhir jika diperlukan.
|
| 115 |
+
|
| 116 |
+
5. Distribusi (Burn to Tape)
|
| 117 |
+
Hasil animasi yang telah final dikonversi ke media penyimpanan seperti DVD, Blu-ray, atau file digital lainnya untuk keperluan pemutaran di televisi, bioskop, atau platform digital.
|
| 118 |
+
|
| 119 |
+
TEKNIK PEMBUATAN ANIMASI
|
| 120 |
+
|
| 121 |
+
Animasi Cel (Cel Animation)
|
| 122 |
+
|
| 123 |
+
Animasi cel merupakan teknik animasi klasik yang dikenal sebagai salah satu metode tertua dan paling populer. Istilah "cel" berasal dari "celluloid", yaitu bahan transparan yang dahulu digunakan sebagai media untuk menggambar frame animasi. Kini bahan tersebut telah digantikan oleh lembar asetat (acetate).
|
| 124 |
+
|
| 125 |
+
Dalam prosesnya, gambar dibuat secara manual (hand-drawn) di atas lapisan-lapisan transparan terpisah. Misalnya, latar belakang digambar pada satu lapisan, sedangkan karakter yang bergerak digambar pada lapisan berbeda. Teknik ini memungkinkan bagian-bagian dari adegan bergerak secara independen satu sama lain. Konsep ini menyerupai metode layer dalam perangkat lunak digital masa kini.
|
| 126 |
+
|
| 127 |
+
Animasi Frame (Frame-by-Frame Animation)
|
| 128 |
+
|
| 129 |
+
Animasi frame merupakan jenis animasi paling dasar, di mana gerakan diperoleh dari rangkaian gambar statis yang ditampilkan secara berurutan. Pergantian gambar diatur berdasarkan satuan waktu yang disebut fps (frame per second), yakni jumlah gambar yang ditampilkan setiap detik.
|
| 130 |
+
|
| 131 |
+
Contoh sederhana dari animasi frame adalah gambar-gambar pada sisi halaman buku yang jika dibuka cepat akan tampak bergerak. Teknik ini mirip dengan animasi cel, tetapi animasi frame saat ini lebih sering dibuat menggunakan perangkat lunak digital seperti Adobe Animate, Toon Boom, atau Macromedia Flash.
|
| 132 |
+
|
| 133 |
+
Animasi Sprite
|
| 134 |
+
|
| 135 |
+
Animasi sprite umumnya digunakan dalam pengembangan game. Sprite adalah objek grafis dua dimensi (2D) yang dapat bergerak secara mandiri di atas latar belakang yang statis. Setiap sprite memiliki rangkaian gambar yang menunjukkan animasi tertentu, misalnya karakter sedang berjalan, melompat, atau menyerang.
|
| 136 |
+
Teknik ini sangat efisien untuk animasi real-time karena memungkinkan setiap bagian bergerak terpisah tanpa harus merender ulang seluruh layar.
|
| 137 |
+
|
| 138 |
+
Animasi Path (Path Animation)
|
| 139 |
+
|
| 140 |
+
Animasi path menggunakan jalur (path) sebagai panduan gerakan objek. Objek akan mengikuti lintasan yang telah ditentukan, misalnya bergerak dari kiri ke kanan dalam bentuk lengkung atau spiral. Jalur tersebut bisa berupa garis lurus atau kurva yang dapat dikontrol kecepatannya.
|
| 141 |
+
Teknik ini sering digunakan untuk animasi kamera, mobil, atau benda yang bergerak mengikuti arah tertentu.
|
| 142 |
+
|
| 143 |
+
Animasi Spline (Spline Animation)
|
| 144 |
+
|
| 145 |
+
Animasi spline adalah pengembangan dari animasi path, namun menggunakan jalur yang lebih halus dan fleksibel karena berbasis kurva spline. Gerakan yang dihasilkan lebih natural dan lembut, sangat cocok untuk animasi karakter, efek kamera, atau simulasi objek hidup.
|
| 146 |
+
Spline memungkinkan interpolasi gerak yang halus antar keyframe, sehingga transisinya lebih realistis.
|
| 147 |
+
|
| 148 |
+
Animasi Vektor (Vector Animation)
|
| 149 |
+
|
| 150 |
+
Animasi vektor menggunakan gambar berbasis vektor yang terdiri dari garis dan bentuk matematis, bukan piksel. Karena itu, animasi ini bersifat scalable (tidak pecah saat diperbesar).
|
| 151 |
+
Teknik ini banyak digunakan dalam animasi web dan aplikasi interaktif, karena ukuran file yang kecil dan ringan. Contoh perangkat lunak yang digunakan: Adobe Animate, Synfig Studio, dan SVGator.
|
| 152 |
+
|
| 153 |
+
Animasi Stop Motion (Stop Motion / Claymation)
|
| 154 |
+
|
| 155 |
+
Stop motion adalah teknik animasi di mana objek fisik difoto satu per satu dalam posisi yang berbeda, lalu disusun berurutan agar tampak bergerak saat diputar.
|
| 156 |
+
Teknik ini menggunakan prinsip frame-to-frame seperti animasi 2D, namun dilakukan pada objek nyata, seperti boneka atau model dari tanah liat (clay).
|
| 157 |
+
|
| 158 |
+
Teknik ini pertama kali digunakan pada film The Humpty Dumpty Circus (1898) oleh Albert E. Smith dan J. Stuart Blackton. Seiring waktu, animasi ini berkembang menjadi claymation, di mana karakter dibuat dari plastisin atau tanah liat, seperti dalam film klasik King Kong (1933) karya Willis O’Brien.
|
| 159 |
+
|
| 160 |
+
Animasi Morphing (Morphing Animation)
|
| 161 |
+
|
| 162 |
+
Morphing adalah teknik animasi yang mengubah bentuk suatu objek menjadi objek lain secara halus. Contohnya adalah wajah seseorang yang secara perlahan berubah menjadi wajah lain, atau seekor burung yang berubah menjadi pesawat.
|
| 163 |
+
Teknik ini mengandalkan interpolasi digital antara dua gambar berbeda, dan sering digunakan dalam transisi efek visual di film atau video musik.
|
| 164 |
+
|
| 165 |
+
Animasi Digital (Digital Animation)
|
| 166 |
+
|
| 167 |
+
Animasi digital mencakup semua jenis animasi yang dibuat dan dimanipulasi menggunakan komputer. Ini termasuk animasi 2D maupun 3D, baik berbasis bitmap maupun vektor.
|
| 168 |
+
Perangkat lunak yang sering digunakan antara lain:
|
| 169 |
+
|
| 170 |
+
2D: Adobe Animate, TVPaint, Toon Boom Harmony
|
| 171 |
+
|
| 172 |
+
3D: Blender, Autodesk Maya, 3ds Max, Cinema 4D
|
| 173 |
+
|
| 174 |
+
Animasi digital memungkinkan editing lebih fleksibel, penghematan waktu produksi, serta integrasi dengan efek visual modern.
|
| 175 |
+
|
| 176 |
+
Animasi Karakter (Character Animation)
|
| 177 |
+
|
| 178 |
+
Animasi karakter merupakan cabang dari animasi yang berfokus pada penciptaan gerakan hidup dan ekspresif dari tokoh atau karakter. Tujuannya adalah menampilkan kepribadian, emosi, dan niat karakter secara visual.
|
| 179 |
+
Teknik ini banyak digunakan dalam film animasi, video game, dan iklan. Animator karakter harus memahami prinsip animasi seperti timing, squash & stretch, anticipation, dan acting agar gerakan tampak meyakinkan.
|
| 180 |
+
|
| 181 |
+
Blender Shortcuts
|
| 182 |
+
|
| 183 |
+
Blender 2.9 Most Used Shortcuts
|
| 184 |
+
|
| 185 |
+
General Shortcuts
|
| 186 |
+
|
| 187 |
+
Spacebar - Open Toolbox
|
| 188 |
+
Tab - Start or Quit Edit Mode
|
| 189 |
+
Shift + F1 - Append parts of other files
|
| 190 |
+
Shift + F2 - Export Scene as a DXF file
|
| 191 |
+
F1 - Load Blender File
|
| 192 |
+
F2 - Write Blender File
|
| 193 |
+
F3 - Write A Picture
|
| 194 |
+
F4 - Display Logic Context
|
| 195 |
+
F5 - Display Shading Context
|
| 196 |
+
F6 - Display Shading Context and Texture Sub-Context
|
| 197 |
+
F7 - Display Object Context
|
| 198 |
+
F8 - Display Shading Context and World Sub-Context
|
| 199 |
+
F9 - Display Editing Context
|
| 200 |
+
F10 - Display Scene Context
|
| 201 |
+
F11 - Hide/Show Render Window
|
| 202 |
+
F12 - Start Rendering from Active Camera
|
| 203 |
+
Ctrl + F3 - Save a Screendump of Active Window
|
| 204 |
+
Ctrl + Shift + F3 - Save a Screendump of Whole Blender Screen
|
| 205 |
+
Left Arrow - Go to Previous Frame
|
| 206 |
+
Right Arrow - Go to Next Frame
|
| 207 |
+
Up Arrow - Go forward 10 Frame
|
| 208 |
+
Down Arrow - Go Backward 10 Frame
|
| 209 |
+
Shift + Left Arrow - Go to First Frame
|
| 210 |
+
Shift + Right Arrow - Go to Last Frame
|
| 211 |
+
Alt + A - Change Current Window to Animation Playback Mode
|
| 212 |
+
Alt + Shift + A - 3D Window go to Animation Playback Mode
|
| 213 |
+
I - Insert Key Menu
|
| 214 |
+
J - Toggle the Render Buffers
|
| 215 |
+
Ctrl + O - Open the Last Saved File
|
| 216 |
+
Q - Quit Blender
|
| 217 |
+
Alt + Ctrl + T - Timer Menu
|
| 218 |
+
Ctrl + U - Save User Defaults
|
| 219 |
+
Ctrl + W - Write File
|
| 220 |
+
Alt + W - Write Videoscape File
|
| 221 |
+
Ctrl + X - Erase All
|
| 222 |
+
Ctrl + Z - Undo
|
| 223 |
+
Ctrl + Y - Redo
|
| 224 |
+
Ctrl + Click - Lasso Select
|
| 225 |
+
Esc - Cancel Blender Functions
|
| 226 |
+
|
| 227 |
+
Window Shortcuts
|
| 228 |
+
|
| 229 |
+
Shift + F4 - Data View
|
| 230 |
+
Shift + F5 - 3D Window
|
| 231 |
+
Shift + F6 - IPO Window
|
| 232 |
+
Shift + F7 - Buttons Window
|
| 233 |
+
Shift + F8 - Sequence Window
|
| 234 |
+
Shift + F9 - Outliner Window
|
| 235 |
+
Shift + F10 - Image Window
|
| 236 |
+
Shift + F11 - Text Window
|
| 237 |
+
Shift + F12 - Action Window
|
| 238 |
+
Ctrl + Left Arrow - Go to Previous Screen
|
| 239 |
+
Ctrl + Right Arrow - Go to Next Screen
|
| 240 |
+
Ctrl + Up Arrow - Maximize Window
|
| 241 |
+
Ctrl + Down Arrow - Return to Previous Window Size
|
| 242 |
+
|
| 243 |
+
Editing Shortcuts
|
| 244 |
+
|
| 245 |
+
Tab - Start or Stop Edit Mode
|
| 246 |
+
A - Select or Unselect All
|
| 247 |
+
B - Select Circle
|
| 248 |
+
N - Number Panel
|
| 249 |
+
O - Toggle Proportional Editing
|
| 250 |
+
P - Separate
|
| 251 |
+
U - Undo
|
| 252 |
+
W - Special Popup Menu
|
| 253 |
+
Ctrl + Tab - Toggle Vertex/Edge/Face Select
|
| 254 |
+
Ctrl + H - Options Menu
|
| 255 |
+
Shift + O - Smooth/Sharp Proportional Editing
|
| 256 |
+
Ctrl + P - Make Vertex Parent
|
| 257 |
+
Ctrl + S - Shear
|
| 258 |
+
Shift + W - Warp
|
| 259 |
+
|
| 260 |
+
Object Mode Shortcuts
|
| 261 |
+
|
| 262 |
+
Home - All Objects Displayed in Center
|
| 263 |
+
Page Up - Select Next Object
|
| 264 |
+
Page Down - Select Previous Object
|
| 265 |
+
Shift + Page Up - Add Next Object to Selection
|
| 266 |
+
Shift + Page Down - Add Previous Object to Selection
|
| 267 |
+
A - Select All
|
| 268 |
+
Ctrl + A - Apply Size and Rotation
|
| 269 |
+
Shift + A - Add Menu
|
| 270 |
+
B - Select Border
|
| 271 |
+
Shift + B - Render Border
|
| 272 |
+
C - Center View
|
| 273 |
+
Alt + C - Convert Menu
|
| 274 |
+
Ctrl + C - Copy Menu
|
| 275 |
+
Shift + C - Center Zero View
|
| 276 |
+
D - Draw Mode Menu
|
| 277 |
+
Shift + D - Add Duplicate
|
| 278 |
+
Alt + D - Add Linked Duplicate
|
| 279 |
+
Ctrl + D - Draw Image as Wire
|
| 280 |
+
F - Toggle Face Select Mode
|
| 281 |
+
Ctrl + F - Sort Faces
|
| 282 |
+
G - Grab Mode
|
| 283 |
+
Alt + G - Clear Translation
|
| 284 |
+
Shift + G - Group Selection
|
| 285 |
+
I - Insert Object
|
| 286 |
+
Ctrl + J - Join Object
|
| 287 |
+
K - Show Keys
|
| 288 |
+
Shift + K - Enable Transformation
|
| 289 |
+
L - Make Object Local
|
| 290 |
+
Ctrl + L - Link Selected
|
| 291 |
+
Shift + L - Select Linked
|
| 292 |
+
Ctrl + M - Mirror Menu
|
| 293 |
+
N - Number Panel
|
| 294 |
+
Alt + O - Clear Origin
|
| 295 |
+
Shift + O - Toggle SubSurf
|
| 296 |
+
Ctrl + P - Make Parent
|
| 297 |
+
R - Rotate Mode
|
| 298 |
+
Alt + R - Clear Rotation
|
| 299 |
+
S - Size Mode
|
| 300 |
+
Alt + S - Clear Size
|
| 301 |
+
Shift + S - Snap Menu
|
| 302 |
+
T - Texture Space Mode
|
| 303 |
+
Ctrl + T - Track To Active
|
| 304 |
+
Alt + T - Clear Old Track
|
| 305 |
+
U - Make Object Single User
|
| 306 |
+
V - Toggle Vertex Mode
|
| 307 |
+
Alt + V - Object Image Aspect
|
| 308 |
+
W - Booleans Menu
|
| 309 |
+
X - Delete Selected Object
|
| 310 |
+
Z - Toggle Solid Mode
|
| 311 |
+
Shift + Z - Toggle Shaded Mode
|
| 312 |
+
Alt + Z - Toggle Textured Mode
|
| 313 |
+
|
| 314 |
+
Mesh Editing Shortcuts
|
| 315 |
+
|
| 316 |
+
Ctrl + Alt + Right Click - Edge Select
|
| 317 |
+
C - Toggle Curve Cyclic Mode
|
| 318 |
+
E - Extrude
|
| 319 |
+
F - Make Edge or Face
|
| 320 |
+
Shift + F - Fill Selected
|
| 321 |
+
Alt + F - Beauty Fill
|
| 322 |
+
Ctrl + F - Flip Faces
|
| 323 |
+
K - Knife Tool Menu
|
| 324 |
+
L - Select Linked
|
| 325 |
+
M - Mirror
|
| 326 |
+
U - Undo
|
| 327 |
+
Shift + U - Redo
|
| 328 |
+
W - Special Menu
|
| 329 |
+
X - Erase Selected
|
| 330 |
+
Y - Split
|
| 331 |
+
|
| 332 |
+
Curve Editing Shortcuts
|
| 333 |
+
|
| 334 |
+
C - Toggle Cyclic
|
| 335 |
+
E - Extrude Curve
|
| 336 |
+
F - Add Segment
|
| 337 |
+
H - Toggle Handle Align
|
| 338 |
+
L - Select Linked
|
| 339 |
+
M - Mirror
|
| 340 |
+
T - Tilt Mode
|
| 341 |
+
V - Vector Handle
|
| 342 |
+
X - Erase Selected
|
| 343 |
+
|
| 344 |
+
Font Shortcuts
|
| 345 |
+
|
| 346 |
+
Right Arrow - Move Cursor Forward
|
| 347 |
+
Shift + Right Arrow - Move Cursor to End of Line
|
| 348 |
+
Left Arrow - Move Cursor Backward
|
| 349 |
+
Shift + Left Arrow - Move to Start of Line
|
| 350 |
+
Down Arrow - Move Cursor Down One Line
|
| 351 |
+
Shift + Down Arrow - Move Cursor to End of Paragraph
|
| 352 |
+
Up Arrow - Move Cursor Up One Line
|
| 353 |
+
|
| 354 |
+
UV/Image Editing Shortcuts
|
| 355 |
+
|
| 356 |
+
Alt + U - Reload Original Data
|
| 357 |
+
Alt + V - Paste Text
|
| 358 |
+
M - Mirror
|
| 359 |
+
Shift + R - Select Row
|
| 360 |
+
Shift + K - All Vertex Colors Erased
|
| 361 |
+
W - Shared VertexCol
|
| 362 |
+
E - LSCM Unwrapping
|
| 363 |
+
P - Pin Selected Vertices
|
| 364 |
+
Alt + P - Unpin Selected Vertices
|
| 365 |
+
Alt + Click - Select Edge Loop / Face Loop
|
| 366 |
+
Tab - Switch to Edit Mode
|
| 367 |
+
L - Select Linked UVs
|
| 368 |
+
R - Rotate UV Coordinates
|
| 369 |
+
U - Call UV Calculation
|
data/InteraksiManusiadanKomputer.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
data/KeahlianPresentasidanKomunikasi.txt
ADDED
|
@@ -0,0 +1,828 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Keahlian presentasi adalah kemampuan untuk menyampaikan informasi secara efektif kepada audiens melalui komunikasi verbal dan non-verbal. Keahlian ini sangat penting, baik dalam konteks akademis maupun profesional, karena memengaruhi cara ide dan informasi disampaikan serta diterima.
|
| 2 |
+
|
| 3 |
+
Pentingnya Keahlian Presentasi
|
| 4 |
+
|
| 5 |
+
1. Meningkatkan kemampuan persuasi dan penyampaian ide secara jelas dan meyakinkan.
|
| 6 |
+
2. Membangun kredibilitas dan kepercayaan diri di hadapan audiens.
|
| 7 |
+
3. Relevan dalam berbagai situasi, seperti rapat, pidato, seminar, diskusi kelas, dan presentasi proyek atau penelitian.
|
| 8 |
+
|
| 9 |
+
Komponen Utama Keahlian Presentasi
|
| 10 |
+
|
| 11 |
+
1. Komunikasi Verbal
|
| 12 |
+
Penggunaan bahasa yang jelas, logis, dan mudah dimengerti oleh audiens.
|
| 13 |
+
|
| 14 |
+
2. Komunikasi Non-Verbal
|
| 15 |
+
Meliputi bahasa tubuh, ekspresi wajah, kontak mata, gestur tangan, dan intonasi suara.
|
| 16 |
+
|
| 17 |
+
3. Alat Bantu Visual
|
| 18 |
+
Penggunaan media seperti slide, grafik, gambar, video, atau infografik untuk memperkuat pesan yang disampaikan.
|
| 19 |
+
|
| 20 |
+
Struktur Presentasi yang Efektif
|
| 21 |
+
|
| 22 |
+
1. Pengantar:
|
| 23 |
+
Perkenalan diri dan pengenalan topik yang akan dibahas.
|
| 24 |
+
|
| 25 |
+
2. Isi:
|
| 26 |
+
Penyampaian poin-poin utama secara sistematis dan mendalam.
|
| 27 |
+
|
| 28 |
+
3. Kesimpulan:
|
| 29 |
+
Merangkum seluruh materi dan memberikan pesan atau ajakan penutup kepada audiens.
|
| 30 |
+
|
| 31 |
+
Menetapkan Tujuan Presentasi
|
| 32 |
+
|
| 33 |
+
- Definisikan tujuan presentasi secara jelas.
|
| 34 |
+
- Pastikan tujuan disesuaikan dengan kebutuhan, minat, dan harapan audiens.
|
| 35 |
+
- Tujuan dapat bersifat informatif, persuasif, atau edukatif.
|
| 36 |
+
|
| 37 |
+
Contoh Topik: Pentingnya Mengelola Waktu bagi Mahasiswa
|
| 38 |
+
Tujuan Presentasi
|
| 39 |
+
Umum: Menginformasikan teknik manajemen waktu yang efektif untuk meningkatkan produktivitas akademik.
|
| 40 |
+
|
| 41 |
+
Spesifik: Mendorong mahasiswa untuk menerapkan minimal satu teknik manajemen waktu dalam keseharian mereka selama minggu berikutnya.
|
| 42 |
+
|
| 43 |
+
Fokus pada Kebutuhan Audiens
|
| 44 |
+
|
| 45 |
+
Kenali Audiens
|
| 46 |
+
Profil: Mahasiswa yang menghadapi tantangan dalam mengatur waktu antara studi, kegiatan ekstrakurikuler, dan kehidupan pribadi.
|
| 47 |
+
|
| 48 |
+
Kebutuhan: Solusi praktis dan realistis yang mudah diterapkan untuk meningkatkan efisiensi waktu.
|
| 49 |
+
|
| 50 |
+
Penyesuaian Pesan
|
| 51 |
+
- Gunakan bahasa yang sederhana, langsung, dan komunikatif.
|
| 52 |
+
- Berikan contoh konkret dan relevan dari kehidupan mahasiswa.
|
| 53 |
+
- Sertakan tips praktis seperti:
|
| 54 |
+
Penggunaan aplikasi manajemen waktu (misal: Google Calendar, Todoist).
|
| 55 |
+
Teknik Pomodoro.
|
| 56 |
+
Menyusun to-do list harian.
|
| 57 |
+
|
| 58 |
+
Mengatasi Gugup dalam Presentasi
|
| 59 |
+
|
| 60 |
+
Teknik Relaksasi dan Persiapan Mental
|
| 61 |
+
1. Latihan Pernapasan Dalam:
|
| 62 |
+
Tarik napas melalui hidung, tahan selama beberapa detik, lalu hembuskan perlahan melalui mulut untuk menenangkan sistem saraf.
|
| 63 |
+
2. Visualisasi Positif:
|
| 64 |
+
Bayangkan diri Anda sukses memberikan presentasi yang menarik dan disambut baik oleh audiens.
|
| 65 |
+
3. Latihan Berbicara:
|
| 66 |
+
Ulangi presentasi beberapa kali, baik sendiri, di depan cermin, atau dengan teman sebagai audiens simulasi.
|
| 67 |
+
|
| 68 |
+
Fokus pada Pesan, Bukan pada Diri Sendiri
|
| 69 |
+
1. Alihkan perhatian dari rasa gugup dan pusatkan pada pesan yang ingin disampaikan.
|
| 70 |
+
2. Ingat bahwa audiens hadir untuk menerima informasi, bukan untuk menilai penampilan Anda.
|
| 71 |
+
3. Bangun koneksi dengan audiens melalui kontak mata dan interaksi.
|
| 72 |
+
|
| 73 |
+
Interaksi dengan Audiens
|
| 74 |
+
|
| 75 |
+
Ajukan Pertanyaan dan Buka Sesi Diskusi
|
| 76 |
+
Pertanyaan Terbuka:
|
| 77 |
+
|
| 78 |
+
"Apa tantangan utama yang Anda hadapi dalam manajemen waktu di pekerjaan atau studi Anda?"
|
| 79 |
+
|
| 80 |
+
Sesi Diskusi:
|
| 81 |
+
Dorong audiens untuk berbagi pengalaman.
|
| 82 |
+
Ciptakan suasana yang inklusif agar audiens merasa nyaman untuk berpartisipasi.
|
| 83 |
+
|
| 84 |
+
Respons terhadap Umpan Balik Secara Profesional
|
| 85 |
+
|
| 86 |
+
Tanggapi Umpan Balik Positif:
|
| 87 |
+
"Terima kasih atas komentar positif Anda. Apakah ada teknik lain yang Anda gunakan yang bisa kita diskusikan bersama?"
|
| 88 |
+
|
| 89 |
+
Tanggapi Kritik Secara Konstruktif:
|
| 90 |
+
"Saya menghargai masukan Anda. Boleh dijelaskan lebih lanjut bagian mana yang kurang efektif, agar saya bisa memperbaikinya?"
|
| 91 |
+
|
| 92 |
+
Sikap terbuka terhadap kritik menunjukkan profesionalisme dan niat untuk terus berkembang.
|
| 93 |
+
|
| 94 |
+
Manfaat Keahlian Presentasi
|
| 95 |
+
|
| 96 |
+
Menyampaikan Pesan dengan Jelas:
|
| 97 |
+
Memastikan informasi yang disampaikan dipahami dengan baik oleh audiens.
|
| 98 |
+
|
| 99 |
+
Meningkatkan Kredibilitas:
|
| 100 |
+
Memberikan kesan bahwa pembicara menguasai topik dan layak dipercaya.
|
| 101 |
+
|
| 102 |
+
Membangun Hubungan dengan Audiens:
|
| 103 |
+
Komunikasi yang baik membantu menciptakan keterlibatan dan kedekatan emosional dengan audiens.
|
| 104 |
+
|
| 105 |
+
Poin-Poin Utama dalam Presentasi Efektif
|
| 106 |
+
|
| 107 |
+
Struktur presentasi yang jelas dan terorganisir.
|
| 108 |
+
Penggunaan alat bantu visual yang mendukung isi.
|
| 109 |
+
Penguasaan teknik mengatasi rasa gugup.
|
| 110 |
+
Interaksi aktif dengan audiens.
|
| 111 |
+
Fokus pada penyampaian pesan, bukan pada kekhawatiran pribadi.
|
| 112 |
+
|
| 113 |
+
Dorongan untuk Terus Berlatih dan Berkembang
|
| 114 |
+
|
| 115 |
+
Praktik Terus Menerus:
|
| 116 |
+
Semakin sering berlatih, semakin meningkat kemampuan berbicara di depan umum.
|
| 117 |
+
|
| 118 |
+
Terbuka terhadap Umpan Balik:
|
| 119 |
+
Gunakan masukan untuk memperbaiki kualitas presentasi berikutnya.
|
| 120 |
+
|
| 121 |
+
Kembangkan Gaya Pribadi:
|
| 122 |
+
Temukan gaya penyampaian yang sesuai dengan karakter dan kenyamanan diri sendiri.
|
| 123 |
+
|
| 124 |
+
|
| 125 |
+
Mengapa Analisis Audiens Penting?
|
| 126 |
+
Membantu menyesuaikan konten dengan kebutuhan dan harapan audiens.
|
| 127 |
+
Meningkatkan keterlibatan dan pemahaman audiens.
|
| 128 |
+
Menghindari miskomunikasi dan kesalahpahaman.
|
| 129 |
+
Meningkatkan efektivitas dan dampak presentasi secara keseluruhan.
|
| 130 |
+
|
| 131 |
+
Karakteristik Audiens
|
| 132 |
+
|
| 133 |
+
1. Demografis
|
| 134 |
+
Usia: Rentang usia dari audiens yang dituju.
|
| 135 |
+
|
| 136 |
+
Pendidikan: Tingkat pendidikan dan latar belakang akademik.
|
| 137 |
+
|
| 138 |
+
Profesi: Jenis pekerjaan atau bidang industri tempat mereka bekerja.
|
| 139 |
+
|
| 140 |
+
Lokasi: Aspek geografis, budaya, dan bahasa yang digunakan.
|
| 141 |
+
|
| 142 |
+
2. Psikografis
|
| 143 |
+
Minat: Topik atau isu yang menarik perhatian audiens.
|
| 144 |
+
|
| 145 |
+
Nilai dan Keyakinan: Prinsip yang penting bagi audiens.
|
| 146 |
+
|
| 147 |
+
Gaya Hidup: Aktivitas dan kebiasaan yang mereka lakukan sehari-hari.
|
| 148 |
+
|
| 149 |
+
Motivasi: Alasan atau dorongan mereka mengikuti presentasi Anda.
|
| 150 |
+
|
| 151 |
+
Analisis Kebutuhan dan Harapan
|
| 152 |
+
|
| 153 |
+
Apa yang Mereka Butuhkan? Apakah informasi, solusi, inspirasi, atau dorongan untuk bertindak?
|
| 154 |
+
|
| 155 |
+
Apa yang Mereka Harapkan? Pengetahuan baru, klarifikasi, pengambilan keputusan, atau tindakan nyata.
|
| 156 |
+
|
| 157 |
+
Seberapa Penting Topik Ini Bagi Mereka? Tingkat urgensi dan relevansi terhadap kehidupan atau pekerjaan audiens.
|
| 158 |
+
|
| 159 |
+
Tingkat Pengetahuan dan Keterlibatan Audiens
|
| 160 |
+
|
| 161 |
+
1. Pemula
|
| 162 |
+
Karakteristik:
|
| 163 |
+
|
| 164 |
+
Minim pengalaman dan pengetahuan dasar tentang topik.
|
| 165 |
+
|
| 166 |
+
Bisa merasa bingung jika disajikan informasi kompleks.
|
| 167 |
+
|
| 168 |
+
Pendekatan:
|
| 169 |
+
|
| 170 |
+
Gunakan bahasa sederhana dan jelas.
|
| 171 |
+
|
| 172 |
+
Mulai dari konsep dasar.
|
| 173 |
+
|
| 174 |
+
Gunakan contoh konkret dan analogi yang mudah dipahami.
|
| 175 |
+
|
| 176 |
+
2. Menengah
|
| 177 |
+
Karakteristik:
|
| 178 |
+
|
| 179 |
+
Memiliki pengetahuan dasar dan beberapa pengalaman.
|
| 180 |
+
|
| 181 |
+
Ingin memperdalam pemahaman dan mendapatkan validasi.
|
| 182 |
+
|
| 183 |
+
Pendekatan:
|
| 184 |
+
|
| 185 |
+
Hindari penjelasan terlalu mendasar.
|
| 186 |
+
|
| 187 |
+
Tunjukkan aplikasi praktis dari konsep.
|
| 188 |
+
|
| 189 |
+
Gunakan terminologi teknis sesuai konteks.
|
| 190 |
+
|
| 191 |
+
3. Ahli
|
| 192 |
+
Karakteristik:
|
| 193 |
+
|
| 194 |
+
Berpengalaman dan memiliki pemahaman mendalam.
|
| 195 |
+
|
| 196 |
+
Cenderung kritis dan mencari data atau bukti kuat.
|
| 197 |
+
|
| 198 |
+
Pendekatan:
|
| 199 |
+
|
| 200 |
+
Sajikan informasi teknis dan rinci.
|
| 201 |
+
|
| 202 |
+
Fokus pada analisis mendalam dan diskusi.
|
| 203 |
+
|
| 204 |
+
Berikan ruang untuk sesi tanya jawab dan pertukaran pandangan.
|
| 205 |
+
|
| 206 |
+
Tingkat Keterlibatan Audiens
|
| 207 |
+
|
| 208 |
+
1. Aktif
|
| 209 |
+
Terlibat secara langsung dan senang berdiskusi.
|
| 210 |
+
|
| 211 |
+
2. Pasif
|
| 212 |
+
Cenderung hanya mendengarkan, tidak banyak berpartisipasi.
|
| 213 |
+
|
| 214 |
+
Jenis Audiens dan Pendekatan
|
| 215 |
+
|
| 216 |
+
1. Audiens Campuran
|
| 217 |
+
Karakteristik:
|
| 218 |
+
Terdiri dari individu dengan latar belakang dan tingkat pengetahuan yang berbeda.
|
| 219 |
+
|
| 220 |
+
Pendekatan:
|
| 221 |
+
Mulai dengan pengantar umum, lanjut ke detail tingkat lanjut.
|
| 222 |
+
Gunakan penjelasan bertahap dan fleksibel.
|
| 223 |
+
Berikan waktu untuk menjawab pertanyaan dari berbagai sudut pandang.
|
| 224 |
+
|
| 225 |
+
2. Audiens Skeptis
|
| 226 |
+
Karakteristik:
|
| 227 |
+
Meragukan topik atau memiliki pandangan berbeda.
|
| 228 |
+
|
| 229 |
+
Pendekatan:
|
| 230 |
+
Sajikan argumen logis dan bukti kuat.
|
| 231 |
+
Gunakan studi kasus, data konkret, dan testimoni.
|
| 232 |
+
Ajak berdiskusi dan hargai sudut pandang mereka.
|
| 233 |
+
|
| 234 |
+
3. Audiens Persuasif
|
| 235 |
+
Karakteristik:
|
| 236 |
+
Terbuka untuk menerima perubahan, namun perlu diyakinkan.
|
| 237 |
+
|
| 238 |
+
Pendekatan:
|
| 239 |
+
Bangun argumen yang kuat dan beralasan.
|
| 240 |
+
Sajikan manfaat nyata dari gagasan Anda.
|
| 241 |
+
|
| 242 |
+
4. Audiens Pasif
|
| 243 |
+
Karakteristik:
|
| 244 |
+
Kurang antusias atau hadir karena kewajiban.
|
| 245 |
+
|
| 246 |
+
Pendekatan:
|
| 247 |
+
Gunakan visual menarik dan interaktif.
|
| 248 |
+
Ajukan pertanyaan langsung.
|
| 249 |
+
Buat presentasi ringkas, padat, dan fokus.
|
| 250 |
+
|
| 251 |
+
5. Audiens Eksekutif
|
| 252 |
+
Karakteristik:
|
| 253 |
+
Terdiri dari manajer senior atau pemangku kepentingan strategis.
|
| 254 |
+
Menghargai efisiensi dan informasi yang relevan.
|
| 255 |
+
|
| 256 |
+
Pendekatan:
|
| 257 |
+
Sajikan ringkasan eksekutif di awal.
|
| 258 |
+
Fokus pada dampak bisnis, ROI, dan keputusan strategis.
|
| 259 |
+
Berikan rekomendasi konkret dan ringkas.
|
| 260 |
+
|
| 261 |
+
6. Audiens Internasional
|
| 262 |
+
Karakteristik:
|
| 263 |
+
Berasal dari latar belakang budaya dan bahasa yang berbeda.
|
| 264 |
+
|
| 265 |
+
Pendekatan:
|
| 266 |
+
Gunakan bahasa universal dan hindari jargon lokal.
|
| 267 |
+
Sertakan visual dan terjemahan bila perlu.
|
| 268 |
+
Perhatikan perbedaan norma komunikasi, terutama dalam humor atau kritik.
|
| 269 |
+
|
| 270 |
+
Strategi Penyampaian Berdasarkan Analisis Audiens
|
| 271 |
+
|
| 272 |
+
Sesuaikan Konten: Tingkatkan atau sederhanakan berdasarkan profil audiens.
|
| 273 |
+
|
| 274 |
+
Gunakan Alat Bantu Visual: Seperti slide, grafik, infografis, atau video.
|
| 275 |
+
|
| 276 |
+
Terapkan Gaya Komunikasi yang Tepat: Pilih antara formal, informal, atau teknis sesuai audiens.
|
| 277 |
+
|
| 278 |
+
Melibatkan Audiens: Ajukan pertanyaan, dorong diskusi, dan libatkan mereka dalam kegiatan interaktif.
|
| 279 |
+
|
| 280 |
+
Penyusunan pesan adalah proses mengatur ide, informasi, dan argumen secara sistematis, jelas, dan logis agar mudah dipahami.
|
| 281 |
+
|
| 282 |
+
Tujuannya adalah memastikan pesan tersampaikan dengan efektif sehingga audiens dapat memahami, menerima, dan merespons dengan tepat sesuai harapan.
|
| 283 |
+
|
| 284 |
+
Langkah-Langkah Penyusunan Pesan
|
| 285 |
+
|
| 286 |
+
1. Tentukan Tujuan Pesan
|
| 287 |
+
- Apa yang ingin Anda sampaikan?
|
| 288 |
+
- Apakah tujuannya untuk menginformasikan, meyakinkan, menghibur, atau menginspirasi?
|
| 289 |
+
- Apa yang ingin audiens pelajari, pahami, atau lakukan setelah menerima pesan?
|
| 290 |
+
|
| 291 |
+
2. Kenali Audiens
|
| 292 |
+
- Siapa audiens Anda? (usia, latar belakang, tingkat pendidikan, posisi pekerjaan, dll.)
|
| 293 |
+
- Apa kebutuhan, harapan, minat, dan tingkat pemahaman mereka terhadap topik yang dibahas?
|
| 294 |
+
- Apa gaya komunikasi yang cocok dengan karakteristik mereka?
|
| 295 |
+
|
| 296 |
+
3. Susun Struktur yang Jelas
|
| 297 |
+
- Gunakan struktur yang logis dan mudah diikuti: Pembukaan, Isi, Penutup.
|
| 298 |
+
- Pastikan setiap bagian terhubung satu sama lain secara kohesif.
|
| 299 |
+
- Alur penyampaian harus mengalir, tidak meloncat-loncat, agar audiens dapat mengikuti dengan mudah.
|
| 300 |
+
|
| 301 |
+
Struktur Pesan
|
| 302 |
+
|
| 303 |
+
1. Pembukaan
|
| 304 |
+
Perkenalkan topik dan tujuan presentasi secara singkat dan menarik.
|
| 305 |
+
Kaitkan topik dengan kebutuhan, permasalahan, atau minat audiens agar mereka merasa topik tersebut relevan.
|
| 306 |
+
Gunakan hook seperti pertanyaan retoris, kutipan inspiratif, fakta mengejutkan, atau cerita singkat untuk menarik perhatian di awal.
|
| 307 |
+
|
| 308 |
+
2. Isi
|
| 309 |
+
Sajikan poin-poin utama secara terstruktur dan logis.
|
| 310 |
+
Gunakan bukti pendukung seperti data, fakta, ilustrasi, kutipan ahli, atau studi kasus untuk memperkuat argumen.
|
| 311 |
+
Berikan penjelasan yang ringkas namun padat.
|
| 312 |
+
Gunakan alat bantu visual seperti gambar, grafik, diagram, atau video untuk membantu pemahaman dan meningkatkan daya tarik.
|
| 313 |
+
|
| 314 |
+
3. Penutup
|
| 315 |
+
Ringkas kembali poin-poin penting secara singkat untuk memperkuat pemahaman audiens.
|
| 316 |
+
Sampaikan kesimpulan utama atau pesan inti yang ingin ditekankan.
|
| 317 |
+
Berikan call to action (ajakan bertindak) yang jelas dan relevan, seperti mengajak audiens untuk berpikir, bertindak, atau mendalami lebih lanjut topik yang disampaikan.
|
| 318 |
+
Akhiri dengan kesan yang kuat, bisa berupa kutipan inspiratif, pernyataan kuat, atau pertanyaan reflektif.
|
| 319 |
+
|
| 320 |
+
Desain Alat Bantu Visual
|
| 321 |
+
|
| 322 |
+
Alat Bantu Visual dalam Presentasi
|
| 323 |
+
|
| 324 |
+
Pengertian:
|
| 325 |
+
Alat bantu visual adalah media yang digunakan dalam presentasi untuk menyampaikan pesan dengan cara yang lebih jelas, menarik, dan mudah dipahami oleh audiens.
|
| 326 |
+
|
| 327 |
+
Tujuan Penggunaan Alat Bantu Visual
|
| 328 |
+
Memperjelas informasi: Menyajikan data atau konsep secara visual membantu audiens memahami topik dengan lebih cepat dan efektif.
|
| 329 |
+
|
| 330 |
+
Meningkatkan daya tarik: Visual yang menarik dapat mempertahankan perhatian audiens selama presentasi berlangsung.
|
| 331 |
+
|
| 332 |
+
Menyederhanakan informasi kompleks: Informasi teknis atau data besar dapat diringkas dalam bentuk visual seperti grafik, diagram, atau tabel.
|
| 333 |
+
|
| 334 |
+
Contoh alat bantu visual:
|
| 335 |
+
Slide PowerPoint, diagram, grafik, video, gambar, bagan, ilustrasi, infografik, dan animasi.
|
| 336 |
+
|
| 337 |
+
Manfaat Alat Bantu Visual
|
| 338 |
+
|
| 339 |
+
Meningkatkan Pemahaman: Visual mempermudah audiens dalam menangkap isi pesan secara cepat dan tepat.
|
| 340 |
+
|
| 341 |
+
Menarik Perhatian: Visual yang dirancang dengan baik dapat membuat audiens lebih tertarik dan fokus pada materi.
|
| 342 |
+
|
| 343 |
+
Mempersingkat Penjelasan: Visual memungkinkan penyampaian informasi secara ringkas namun tetap efektif.
|
| 344 |
+
|
| 345 |
+
Prinsip Desain Alat Bantu Visual
|
| 346 |
+
|
| 347 |
+
Kesesuaian dengan Pesan
|
| 348 |
+
|
| 349 |
+
Visual harus memperkuat, bukan mengalihkan atau membingungkan pesan yang disampaikan.
|
| 350 |
+
|
| 351 |
+
Contoh: Jika topiknya tentang pertumbuhan penjualan, gunakan grafik batang sederhana yang menunjukkan tren kenaikan secara jelas.
|
| 352 |
+
|
| 353 |
+
Kesederhanaan
|
| 354 |
+
|
| 355 |
+
Hindari memuat terlalu banyak elemen dalam satu visual. Fokus pada poin utama.
|
| 356 |
+
|
| 357 |
+
Contoh: Tampilkan maksimal 3–4 poin penting dalam satu slide.
|
| 358 |
+
|
| 359 |
+
Konsistensi
|
| 360 |
+
|
| 361 |
+
Gunakan gaya desain, skema warna, dan jenis font yang seragam sepanjang presentasi.
|
| 362 |
+
|
| 363 |
+
Contoh: Jika di awal menggunakan font Arial dan warna biru, gunakan gaya yang sama hingga akhir.
|
| 364 |
+
|
| 365 |
+
Keterbacaan
|
| 366 |
+
|
| 367 |
+
Pastikan teks dapat dibaca dengan mudah dari kejauhan, terutama dalam ruangan besar.
|
| 368 |
+
|
| 369 |
+
Contoh: Gunakan ukuran font minimal 24pt untuk isi teks dan 30pt untuk judul.
|
| 370 |
+
|
| 371 |
+
Penggunaan Warna yang Tepat
|
| 372 |
+
|
| 373 |
+
Gunakan warna untuk menyoroti informasi penting, namun hindari penggunaan warna yang mencolok atau berlebihan.
|
| 374 |
+
|
| 375 |
+
Contoh: Gunakan warna merah untuk menunjukkan poin penting, tetapi secara selektif agar tidak mengganggu kenyamanan visual.
|
| 376 |
+
|
| 377 |
+
Visual yang Disarankan
|
| 378 |
+
Gunakan ikon ceklis untuk menandai poin yang sesuai dengan pesan.
|
| 379 |
+
|
| 380 |
+
Sertakan grafik sederhana dengan teks yang minimal dan pilihan warna yang selaras.
|
| 381 |
+
|
| 382 |
+
Buat tata letak yang bersih dan teratur, serta manfaatkan ruang kosong (white space) untuk menjaga kesan simpel dan profesional.
|
| 383 |
+
|
| 384 |
+
Jenis Alat Bantu Visual
|
| 385 |
+
|
| 386 |
+
Grafik dan Diagram
|
| 387 |
+
|
| 388 |
+
Berguna untuk menyajikan data, perbandingan, atau hubungan antar konsep.
|
| 389 |
+
|
| 390 |
+
Contoh: Diagram batang, diagram lingkaran, peta konsep, diagram alur.
|
| 391 |
+
|
| 392 |
+
Gambar dan Foto
|
| 393 |
+
|
| 394 |
+
Memberikan konteks nyata atau ilustrasi visual dari konsep yang disampaikan.
|
| 395 |
+
|
| 396 |
+
Contoh: Foto produk, gambar situasi, ilustrasi ide.
|
| 397 |
+
|
| 398 |
+
Tabel
|
| 399 |
+
|
| 400 |
+
Cocok untuk menyajikan data numerik atau perbandingan antar item.
|
| 401 |
+
|
| 402 |
+
Gunakan desain minimalis, dengan garis yang jelas dan kolom yang tertata rapi.
|
| 403 |
+
|
| 404 |
+
Video dan Animasi
|
| 405 |
+
|
| 406 |
+
Efektif untuk menyampaikan proses, simulasi, atau hal-hal yang sulit dijelaskan secara verbal.
|
| 407 |
+
|
| 408 |
+
Pastikan durasi singkat (1–2 menit) dan konten relevan dengan topik yang dibahas.
|
| 409 |
+
|
| 410 |
+
Tips Desain Alat Bantu Visual yang Efektif
|
| 411 |
+
|
| 412 |
+
Gunakan visual berkualitas tinggi: Gambar atau video harus tajam dan tidak buram.
|
| 413 |
+
|
| 414 |
+
Fokus pada satu ide per slide: Hindari memasukkan terlalu banyak informasi dalam satu layar.
|
| 415 |
+
|
| 416 |
+
Gunakan ikon: Ikon sederhana dapat menggantikan kata-kata dan mempercepat pemahaman.
|
| 417 |
+
|
| 418 |
+
Perhatikan tata letak: Buat susunan elemen yang seimbang, logis, dan mudah diikuti mata.
|
| 419 |
+
|
| 420 |
+
Gunakan kontras warna: Pastikan teks terbaca dengan latar belakang, hindari warna yang terlalu mirip atau menyilaukan.
|
| 421 |
+
|
| 422 |
+
Contoh Desain Alat Bantu Visual yang Baik
|
| 423 |
+
|
| 424 |
+
Grafik Peningkatan Penjualan:
|
| 425 |
+
Diagram batang dengan warna kontras (misalnya biru dan hijau), angka besar yang jelas, dan judul ringkas yang menggambarkan inti data (misalnya: “Penjualan Naik 30% dalam 6 Bulan”).
|
| 426 |
+
|
| 427 |
+
Gambar Produk dengan Penjelasan:
|
| 428 |
+
Foto produk beresolusi tinggi dengan label poin-poin penting di sekitarnya yang menjelaskan fitur-fitur utama (misalnya: ringan, tahan air, garansi 2 tahun).
|
| 429 |
+
|
| 430 |
+
Teknik Penyampaian Presentasi
|
| 431 |
+
|
| 432 |
+
Tujuan:
|
| 433 |
+
Meningkatkan pemahaman, keterlibatan, dan perhatian audiens selama presentasi berlangsung.
|
| 434 |
+
|
| 435 |
+
Manfaat:
|
| 436 |
+
Membuat presentasi lebih menarik dan persuasif.
|
| 437 |
+
Membantu audiens lebih mudah menangkap pesan yang disampaikan.
|
| 438 |
+
Membangun kepercayaan dan kredibilitas pembicara.
|
| 439 |
+
Mengurangi risiko kesalahan komunikasi.
|
| 440 |
+
|
| 441 |
+
Contoh:
|
| 442 |
+
Pembicara yang baik mampu memengaruhi audiens melalui penyampaian yang efektif, penggunaan bahasa tubuh yang tepat, serta penguasaan intonasi suara.
|
| 443 |
+
|
| 444 |
+
Modulasi Suara
|
| 445 |
+
|
| 446 |
+
Modulasi suara membantu menciptakan presentasi yang dinamis, tidak monoton, dan lebih meyakinkan.
|
| 447 |
+
|
| 448 |
+
Variasi Intonasi
|
| 449 |
+
|
| 450 |
+
Gunakan nada tinggi dan rendah untuk menekankan poin penting atau mengatur suasana.
|
| 451 |
+
|
| 452 |
+
Tips: Naikkan intonasi saat menekankan hal penting, dan turunkan untuk memperlambat atau memberi jeda dramatis.
|
| 453 |
+
|
| 454 |
+
Kecepatan Bicara
|
| 455 |
+
|
| 456 |
+
Atur tempo bicara agar tidak terlalu cepat atau lambat.
|
| 457 |
+
|
| 458 |
+
Tips: Sesuaikan kecepatan dengan kompleksitas informasi yang sedang disampaikan. Beri jeda setelah menyampaikan poin penting.
|
| 459 |
+
|
| 460 |
+
Volume Suara
|
| 461 |
+
|
| 462 |
+
Sesuaikan volume suara agar terdengar jelas oleh seluruh audiens tanpa berteriak.
|
| 463 |
+
|
| 464 |
+
Tips: Gunakan volume lebih tinggi untuk penekanan dan volume lebih rendah untuk menciptakan fokus atau kedekatan emosional.
|
| 465 |
+
|
| 466 |
+
Bahasa Tubuh yang Efektif
|
| 467 |
+
|
| 468 |
+
Bahasa tubuh memperkuat pesan verbal dan meningkatkan keterlibatan audiens.
|
| 469 |
+
|
| 470 |
+
1. Kontak Mata
|
| 471 |
+
|
| 472 |
+
Menjalin hubungan dengan audiens dan menunjukkan kepercayaan diri.
|
| 473 |
+
|
| 474 |
+
Tips: Lakukan kontak mata secara merata ke seluruh area ruangan, bukan hanya pada satu titik atau individu.
|
| 475 |
+
|
| 476 |
+
2. Ekspresi Wajah
|
| 477 |
+
|
| 478 |
+
Gunakan ekspresi wajah yang sesuai dengan emosi atau pesan yang ingin disampaikan.
|
| 479 |
+
|
| 480 |
+
Tips: Tampilkan senyuman, antusiasme, atau ekspresi serius pada waktu yang tepat untuk meningkatkan empati audiens.
|
| 481 |
+
|
| 482 |
+
3. Postur Tubuh
|
| 483 |
+
|
| 484 |
+
Postur tubuh mencerminkan kepercayaan diri dan profesionalisme.
|
| 485 |
+
|
| 486 |
+
Tips: Berdiri tegak, jangan membungkuk atau terlalu sering bersandar.
|
| 487 |
+
|
| 488 |
+
4. Gerakan Tubuh
|
| 489 |
+
|
| 490 |
+
Gerakan tangan dan perpindahan posisi yang terkontrol dapat menambah dinamika presentasi.
|
| 491 |
+
|
| 492 |
+
Tips: Gunakan gerakan yang relevan dan mendukung pesan. Hindari gestur yang berlebihan atau tidak perlu.
|
| 493 |
+
|
| 494 |
+
Mengatasi Rasa Gugup
|
| 495 |
+
|
| 496 |
+
Mengelola rasa gugup penting agar pesan tersampaikan dengan lancar dan percaya diri.
|
| 497 |
+
|
| 498 |
+
Latihan
|
| 499 |
+
|
| 500 |
+
Latih presentasi secara berulang hingga merasa nyaman dengan materi.
|
| 501 |
+
|
| 502 |
+
Tips: Rekam diri sendiri, latihan di depan cermin atau orang lain untuk mendapatkan masukan.
|
| 503 |
+
|
| 504 |
+
Kontrol Pernapasan
|
| 505 |
+
|
| 506 |
+
Pernapasan yang tenang membantu menenangkan diri.
|
| 507 |
+
|
| 508 |
+
Tips: Gunakan teknik pernapasan diafragma untuk mengurangi stres dan meningkatkan konsentrasi.
|
| 509 |
+
|
| 510 |
+
Anggap Audiens sebagai Teman
|
| 511 |
+
|
| 512 |
+
Ubah sudut pandang dari ‘ditilai’ menjadi ‘berbagi informasi’.
|
| 513 |
+
|
| 514 |
+
Tips: Sadari bahwa audiens hadir untuk mendengarkan, bukan menghakimi.
|
| 515 |
+
|
| 516 |
+
Pikiran Positif
|
| 517 |
+
|
| 518 |
+
Fokuskan pikiran pada pesan yang akan disampaikan, bukan pada ketakutan akan kesalahan.
|
| 519 |
+
|
| 520 |
+
Tips: Visualisasikan keberhasilan presentasi dan audiens yang mendukung.
|
| 521 |
+
|
| 522 |
+
Penggunaan Alat Bantu Visual yang Tepat
|
| 523 |
+
|
| 524 |
+
Alat bantu visual sangat berguna untuk mendukung penyampaian pesan, tetapi penggunaannya harus cermat.
|
| 525 |
+
|
| 526 |
+
Jangan Terlalu Bergantung pada Slide
|
| 527 |
+
|
| 528 |
+
Slide hanya sebagai penunjang, bukan pengganti kehadiran dan penjelasan Anda.
|
| 529 |
+
|
| 530 |
+
Tips: Tetap lakukan kontak mata dan jangan hanya membaca dari slide.
|
| 531 |
+
|
| 532 |
+
Sederhanakan Isi Slide
|
| 533 |
+
|
| 534 |
+
Gunakan gambar, grafik, atau poin-poin penting yang mudah dipahami.
|
| 535 |
+
|
| 536 |
+
Tips: Hindari menumpuk terlalu banyak teks; gunakan maksimal 5-6 poin per slide.
|
| 537 |
+
|
| 538 |
+
Sinkronkan dengan Ucapan
|
| 539 |
+
|
| 540 |
+
Pastikan visual mendukung narasi yang sedang disampaikan.
|
| 541 |
+
|
| 542 |
+
Tips: Gunakan pointer, penekanan visual, atau animasi ringan untuk mengarahkan fokus audiens.
|
| 543 |
+
|
| 544 |
+
Modul 6 : Teknik Bercerita dalam Presentasi
|
| 545 |
+
|
| 546 |
+
Teknik Bercerita (Storytelling) dalam Presentasi
|
| 547 |
+
|
| 548 |
+
Teknik bercerita atau storytelling adalah metode penyampaian pesan yang mengandalkan narasi untuk menghubungkan materi presentasi dengan emosi dan pengalaman audiens.
|
| 549 |
+
|
| 550 |
+
Manfaat Teknik Bercerita:
|
| 551 |
+
Mengikat Emosi Audiens: Cerita membantu audiens terhubung secara emosional dengan materi.
|
| 552 |
+
|
| 553 |
+
Membuat Pesan Lebih Mudah Diingat: Orang lebih mudah mengingat cerita daripada deretan data atau fakta yang kering.
|
| 554 |
+
|
| 555 |
+
Meningkatkan Keterlibatan Audiens: Cerita yang menarik dapat membuat audiens lebih fokus, aktif, dan terlibat dalam presentasi.
|
| 556 |
+
|
| 557 |
+
Elemen Penting dalam Storytelling
|
| 558 |
+
|
| 559 |
+
1. Plot yang Jelas
|
| 560 |
+
Buat alur cerita yang terstruktur: pembukaan (awal), konflik (tengah), dan resolusi (akhir).
|
| 561 |
+
|
| 562 |
+
Tips: Awali dengan permasalahan atau tantangan, lalu paparkan solusi atau hasil di akhir cerita.
|
| 563 |
+
|
| 564 |
+
2. Karakter yang Relevan
|
| 565 |
+
Gunakan tokoh atau karakter yang bisa dikenali atau dirasakan audiens.
|
| 566 |
+
|
| 567 |
+
Tips: Karakter bisa berupa diri Anda sendiri, seseorang yang dikenal, tokoh fiksi, atau representasi kelompok tertentu.
|
| 568 |
+
|
| 569 |
+
3. Konflik dan Resolusi
|
| 570 |
+
Sertakan konflik yang menarik dan berikan penyelesaian untuk membangun ketegangan dan memberi pelajaran.
|
| 571 |
+
|
| 572 |
+
Tips: Konflik dapat berupa tantangan yang berkaitan langsung dengan tema presentasi.
|
| 573 |
+
|
| 574 |
+
4. Emosi
|
| 575 |
+
Cerita yang baik mampu menggugah perasaan audiens seperti simpati, harapan, kegembiraan, atau bahkan kekhawatiran.
|
| 576 |
+
|
| 577 |
+
Tips: Gunakan elemen emosional yang menyentuh perasaan audiens, misalnya dengan kisah perjuangan, keberhasilan, atau perubahan.
|
| 578 |
+
|
| 579 |
+
Teknik Membuat Cerita Menarik
|
| 580 |
+
|
| 581 |
+
1. Awali dengan Hook yang Kuat
|
| 582 |
+
Tarik perhatian audiens sejak kalimat pertama.
|
| 583 |
+
Contoh: "Tahukah Anda, 80% orang takut berbicara di depan umum?"
|
| 584 |
+
|
| 585 |
+
2. Gunakan Detail yang Menggugah Imajinasi
|
| 586 |
+
Buat audiens dapat ‘melihat’ cerita yang Anda sampaikan.
|
| 587 |
+
Contoh: "Bayangkan Anda berdiri di atas panggung, lampu sorot menerpa wajah, dan semua mata tertuju pada Anda..."
|
| 588 |
+
|
| 589 |
+
3. Libatkan Audiens dalam Cerita
|
| 590 |
+
Gunakan pertanyaan retoris, analogi, atau interaksi untuk menarik partisipasi mental audiens.
|
| 591 |
+
Contoh: "Pernahkah Anda merasa gugup sebelum memulai presentasi penting?"
|
| 592 |
+
|
| 593 |
+
Menceritakan Cerita secara Efektif
|
| 594 |
+
|
| 595 |
+
1. Latihan Membuat Sempurna
|
| 596 |
+
Latih cerita dengan suara lantang agar menemukan tempo, ritme, dan intonasi yang pas.
|
| 597 |
+
Tips: Rekam diri sendiri lalu evaluasi apakah cerita terdengar alami dan mengalir.
|
| 598 |
+
|
| 599 |
+
2. Sesuaikan Cerita dengan Audiens
|
| 600 |
+
Pastikan cerita relevan dengan latar belakang, usia, atau minat audiens.
|
| 601 |
+
Tips: Pikirkan tantangan atau nilai yang dialami audiens, lalu hubungkan cerita Anda dengan pengalaman mereka.
|
| 602 |
+
|
| 603 |
+
3. Jaga Kesederhanaan Cerita
|
| 604 |
+
Cerita harus mudah dipahami dan tidak bertele-tele.
|
| 605 |
+
Tips: Fokus pada inti pesan, hindari memasukkan terlalu banyak detail teknis atau informasi yang tidak relevan.
|
| 606 |
+
|
| 607 |
+
Tipe Cerita yang Bisa Digunakan
|
| 608 |
+
|
| 609 |
+
1. Cerita Pribadi
|
| 610 |
+
Kisah nyata dari pengalaman pribadi yang berkaitan dengan topik.
|
| 611 |
+
Contoh: Menceritakan pengalaman saat pertama kali gagal memberikan presentasi, dan bagaimana Anda belajar untuk berhasil.
|
| 612 |
+
|
| 613 |
+
2. Studi Kasus
|
| 614 |
+
Cerita berdasarkan kasus nyata yang menunjukkan keberhasilan atau kegagalan sebagai pelajaran.
|
| 615 |
+
Contoh: Cerita tentang perusahaan yang berhasil meningkatkan penjualan berkat strategi yang Anda paparkan.
|
| 616 |
+
|
| 617 |
+
3. Metafora atau Analogi
|
| 618 |
+
Gunakan perumpamaan untuk menjelaskan konsep yang kompleks secara sederhana.
|
| 619 |
+
Contoh: "Membuat presentasi itu seperti membangun rumah; Anda butuh fondasi (struktur cerita) yang kuat sebelum mulai menghias (desain visual)."
|
| 620 |
+
|
| 621 |
+
Contoh Jenis Cerita dalam Presentasi
|
| 622 |
+
|
| 623 |
+
Cerita Sukses: Narasi keberhasilan dalam penggunaan strategi, produk, atau metode tertentu.
|
| 624 |
+
|
| 625 |
+
Cerita Inspiratif: Kisah tokoh yang berhasil mengatasi tantangan besar atau perubahan hidup.
|
| 626 |
+
|
| 627 |
+
Cerita Lucu: Humor yang relevan untuk mencairkan suasana dan menarik perhatian tanpa mengurangi profesionalisme.
|
| 628 |
+
|
| 629 |
+
Teknik Persuasi dalam Presentasi
|
| 630 |
+
|
| 631 |
+
Mengapa Persuasi Penting dalam Presentasi?
|
| 632 |
+
|
| 633 |
+
1. Menggerakkan Audiens untuk Bertindak
|
| 634 |
+
Teknik persuasi membantu memotivasi audiens agar mengambil tindakan yang sesuai dengan tujuan presentasi Anda.
|
| 635 |
+
|
| 636 |
+
2. Membuat Pesan Lebih Meyakinkan
|
| 637 |
+
Persuasi memperkuat daya tarik dan kredibilitas pesan yang disampaikan, membuat audiens lebih mudah menerima dan menyetujuinya.
|
| 638 |
+
|
| 639 |
+
3. Membangun Kepercayaan
|
| 640 |
+
Pendekatan persuasi yang tepat mampu membangun hubungan yang kuat dan kepercayaan antara presenter dan audiens.
|
| 641 |
+
|
| 642 |
+
Unsur Teknik Persuasi
|
| 643 |
+
|
| 644 |
+
1. Ethos (Kredibilitas)
|
| 645 |
+
Bangun kepercayaan audiens dengan menunjukkan otoritas dan kompetensi Anda.
|
| 646 |
+
|
| 647 |
+
Tips: Sertakan bukti nyata seperti data, pengalaman profesional, testimoni, atau referensi terpercaya untuk memperkuat kredibilitas Anda.
|
| 648 |
+
|
| 649 |
+
2. Pathos (Emosi)
|
| 650 |
+
Sentuh sisi emosional audiens untuk membangun koneksi yang lebih dalam.
|
| 651 |
+
|
| 652 |
+
Tips: Gunakan cerita menyentuh, pengalaman pribadi, atau contoh nyata yang relevan dengan kehidupan audiens agar mereka merasa terlibat secara emosional.
|
| 653 |
+
|
| 654 |
+
3. Logos (Logika)
|
| 655 |
+
Gunakan argumen rasional dan logis untuk memperkuat posisi Anda.
|
| 656 |
+
|
| 657 |
+
Tips: Sajikan data statistik, grafik, fakta ilmiah, atau studi kasus untuk memperkuat logika dan alasan di balik pesan Anda.
|
| 658 |
+
|
| 659 |
+
Teknik Persuasi yang Efektif
|
| 660 |
+
|
| 661 |
+
1. Bukti dan Data
|
| 662 |
+
|
| 663 |
+
Gunakan statistik, studi, atau hasil penelitian untuk mendukung klaim Anda.
|
| 664 |
+
|
| 665 |
+
Contoh: “Menurut penelitian terbaru, 70% perusahaan yang mengadopsi strategi X mengalami peningkatan produktivitas dalam waktu 3 bulan.”
|
| 666 |
+
|
| 667 |
+
2. Bandingkan dengan Hal yang Dikenal Audiens
|
| 668 |
+
|
| 669 |
+
Gunakan analogi atau perumpamaan yang akrab agar konsep baru lebih mudah dipahami.
|
| 670 |
+
|
| 671 |
+
Contoh: “Meningkatkan efisiensi tim seperti menambah roda gigi ke mesin; semuanya berjalan lebih lancar.”
|
| 672 |
+
|
| 673 |
+
3. Ajukan Pertanyaan Retoris
|
| 674 |
+
|
| 675 |
+
Gunakan pertanyaan untuk mengajak audiens berpikir dan setuju secara tidak langsung.
|
| 676 |
+
|
| 677 |
+
Contoh: “Bukankah kita semua ingin mencapai kesuksesan lebih cepat dan lebih efisien?”
|
| 678 |
+
|
| 679 |
+
4. Manfaatkan Norma Sosial (Social Proof)
|
| 680 |
+
|
| 681 |
+
Tampilkan bukti bahwa pendekatan Anda telah berhasil digunakan oleh orang lain.
|
| 682 |
+
|
| 683 |
+
Contoh: “Perusahaan besar seperti X dan Y telah menerapkan metode ini dan berhasil meningkatkan hasil kerja mereka secara signifikan.”
|
| 684 |
+
|
| 685 |
+
Strategi Persuasi
|
| 686 |
+
|
| 687 |
+
1. Tawarkan Solusi yang Jelas
|
| 688 |
+
|
| 689 |
+
Tunjukkan bagaimana ide atau strategi Anda bisa menyelesaikan masalah spesifik audiens.
|
| 690 |
+
|
| 691 |
+
Tips: Hubungkan manfaat solusi Anda secara langsung dengan kebutuhan atau keinginan audiens.
|
| 692 |
+
|
| 693 |
+
2. Gunakan Bahasa yang Positif
|
| 694 |
+
|
| 695 |
+
Pilih kata-kata yang menonjolkan dampak positif dan membangkitkan optimisme.
|
| 696 |
+
|
| 697 |
+
Contoh: “Dengan menerapkan strategi ini, kita tidak hanya akan meningkatkan efisiensi, tetapi juga mempercepat pertumbuhan organisasi.”
|
| 698 |
+
|
| 699 |
+
3. Mengatasi Keberatan
|
| 700 |
+
|
| 701 |
+
Antisipasi pertanyaan atau keraguan dari audiens dan siapkan jawaban yang meyakinkan.
|
| 702 |
+
|
| 703 |
+
Tips: Bahas kemungkinan tantangan dan berikan solusi atau mitigasi yang logis dan dapat diterima.
|
| 704 |
+
|
| 705 |
+
Contoh Penerapan Teknik Persuasi
|
| 706 |
+
|
| 707 |
+
Contoh Ethos (Kredibilitas):
|
| 708 |
+
“Sebagai seseorang yang telah bekerja di bidang ini selama lebih dari 10 tahun, saya telah melihat langsung bagaimana teknik ini berdampak positif pada tim.”
|
| 709 |
+
|
| 710 |
+
Contoh Pathos (Emosi):
|
| 711 |
+
“Bayangkan Anda baru saja memulai proyek besar, dan tim Anda membutuhkan dorongan semangat. Teknik ini akan membantu mereka bekerja dengan lebih antusias.”
|
| 712 |
+
|
| 713 |
+
Contoh Logos (Logika):
|
| 714 |
+
“Menurut survei terbaru, perusahaan yang menerapkan teknik ini mengalami peningkatan produktivitas hingga 25% dalam enam bulan pertama.”
|
| 715 |
+
|
| 716 |
+
Menyatukan Ethos, Pathos, dan Logos dalam Presentasi
|
| 717 |
+
|
| 718 |
+
Misalnya, saat Anda memperkenalkan teknik kerja tim baru:
|
| 719 |
+
|
| 720 |
+
1. Ethos (Kredibilitas):
|
| 721 |
+
Perkenalkan latar belakang profesional Anda dalam pengelolaan tim dan pengalaman yang relevan.
|
| 722 |
+
|
| 723 |
+
2. Pathos (Emosi):
|
| 724 |
+
Bagikan kisah inspiratif tentang tim yang merasa terbantu oleh teknik tersebut dalam mencapai target mereka.
|
| 725 |
+
|
| 726 |
+
3. Logos (Logika):
|
| 727 |
+
Tampilkan data konkret yang menunjukkan peningkatan produktivitas dan semangat kerja tim setelah penerapan teknik tersebut dalam studi kasus nyata.
|
| 728 |
+
|
| 729 |
+
Presentasi Kelompok dan Kerja Tim
|
| 730 |
+
|
| 731 |
+
Pentingnya Presentasi Kelompok
|
| 732 |
+
|
| 733 |
+
Menampilkan beragam perspektif dari para anggota tim.
|
| 734 |
+
Membagi tanggung jawab untuk mencapai hasil yang lebih optimal.
|
| 735 |
+
|
| 736 |
+
Definisi Presentasi Kelompok
|
| 737 |
+
|
| 738 |
+
Presentasi kelompok adalah bentuk penyampaian informasi, ide, atau hasil kerja yang dilakukan secara bersama-sama oleh beberapa anggota tim kepada audiens. Setiap anggota memiliki peran spesifik dalam penyajian materi, yang dirancang untuk menciptakan alur yang terpadu serta menyampaikan pandangan yang beragam secara efektif.
|
| 739 |
+
|
| 740 |
+
Tujuan Presentasi Kelompok
|
| 741 |
+
|
| 742 |
+
Memberikan paparan yang lebih komprehensif dan mendalam dibandingkan presentasi individu, dengan memanfaatkan keahlian, pengalaman, dan pengetahuan unik dari setiap anggota tim.
|
| 743 |
+
|
| 744 |
+
Definisi Kerja Tim
|
| 745 |
+
|
| 746 |
+
Kerja tim adalah kolaborasi antara dua orang atau lebih yang bekerja bersama untuk mencapai tujuan yang sama melalui koordinasi, komunikasi, dan pembagian peran.
|
| 747 |
+
|
| 748 |
+
Kerja Tim dalam Presentasi
|
| 749 |
+
|
| 750 |
+
Koordinasi: Menyusun strategi bersama dalam menyampaikan materi.
|
| 751 |
+
|
| 752 |
+
Komunikasi: Menjaga komunikasi terbuka agar semua anggota berada pada pemahaman yang sama.
|
| 753 |
+
|
| 754 |
+
Pembagian Tugas: Menentukan peran masing-masing secara jelas dan adil.
|
| 755 |
+
|
| 756 |
+
Pengambilan Keputusan: Mengambil keputusan secara bersama-sama melalui diskusi.
|
| 757 |
+
|
| 758 |
+
Pengelolaan Konflik: Menyelesaikan perbedaan pendapat secara konstruktif.
|
| 759 |
+
|
| 760 |
+
Kerja tim memungkinkan anggota kelompok untuk saling melengkapi dan mencapai hasil yang lebih baik daripada bekerja secara individu. Dinamika kerja tim yang baik sangat penting untuk menjaga kelancaran dan efektivitas presentasi kelompok.
|
| 761 |
+
|
| 762 |
+
Merancang Presentasi Kelompok
|
| 763 |
+
|
| 764 |
+
1. Pembagian Peran
|
| 765 |
+
Pembuka: Mengawali presentasi dan memperkenalkan topik kepada audiens.
|
| 766 |
+
|
| 767 |
+
Penyaji Utama: Menyampaikan inti materi atau bagian terpenting dari presentasi.
|
| 768 |
+
|
| 769 |
+
Penyaji Pendukung: Menambahkan penjelasan, contoh, atau rincian tambahan.
|
| 770 |
+
|
| 771 |
+
Penutup: Menyimpulkan keseluruhan isi dan membuka sesi tanya jawab.
|
| 772 |
+
|
| 773 |
+
2. Strategi Kolaborasi
|
| 774 |
+
Gunakan alat kolaboratif daring seperti Google Docs, Trello, atau Notion untuk berbagi dan mengelola tugas.
|
| 775 |
+
|
| 776 |
+
Tetapkan jadwal pertemuan rutin untuk memeriksa progres dan mengatasi hambatan.
|
| 777 |
+
|
| 778 |
+
Jaga komunikasi yang terbuka, jujur, dan responsif antar anggota tim.
|
| 779 |
+
|
| 780 |
+
3. Koherensi dan Konsistensi
|
| 781 |
+
Gunakan gaya visual yang seragam, termasuk warna, font, dan tata letak slide.
|
| 782 |
+
|
| 783 |
+
Pastikan alur penyampaian antar pembicara berjalan kohesif dan saling melengkapi.
|
| 784 |
+
|
| 785 |
+
4. Latihan dan Persiapan Bersama
|
| 786 |
+
Lakukan simulasi presentasi untuk membangun kepercayaan diri dan memperkuat kerja sama.
|
| 787 |
+
|
| 788 |
+
Berikan umpan balik antar anggota untuk meningkatkan kualitas penyampaian.
|
| 789 |
+
|
| 790 |
+
Latih transisi antar pembicara agar berjalan mulus dan tidak membingungkan audiens.
|
| 791 |
+
|
| 792 |
+
Dinamika Kerja Tim
|
| 793 |
+
|
| 794 |
+
1. Komunikasi Efektif dalam Tim
|
| 795 |
+
Mendengarkan dengan aktif semua pendapat anggota.
|
| 796 |
+
|
| 797 |
+
Menyepakati metode komunikasi tim, misalnya melalui rapat mingguan atau grup chat seperti WhatsApp atau Telegram.
|
| 798 |
+
|
| 799 |
+
2. Pengambilan Keputusan
|
| 800 |
+
Gunakan teknik seperti konsensus atau voting untuk menyepakati keputusan.
|
| 801 |
+
|
| 802 |
+
Sepakati metode pengambilan keputusan sejak awal agar proses kerja lebih efisien.
|
| 803 |
+
|
| 804 |
+
3. Mengelola Konflik
|
| 805 |
+
Identifikasi potensi konflik sejak dini.
|
| 806 |
+
|
| 807 |
+
Selesaikan perbedaan pendapat melalui diskusi terbuka dan saling menghargai.
|
| 808 |
+
|
| 809 |
+
4. Kepemimpinan dan Tanggung Jawab Bersama
|
| 810 |
+
Pemimpin berperan sebagai fasilitator yang memotivasi dan mendukung tim, bukan sebagai pengendali.
|
| 811 |
+
|
| 812 |
+
Tanggung jawab atas keberhasilan presentasi adalah milik bersama, bukan hanya pemimpin.
|
| 813 |
+
|
| 814 |
+
5. Evaluasi Kinerja Tim
|
| 815 |
+
Lakukan evaluasi setelah presentasi untuk mengetahui kekuatan dan area yang perlu diperbaiki.
|
| 816 |
+
|
| 817 |
+
Berikan umpan balik yang konstruktif dan saling membangun antar anggota tim.
|
| 818 |
+
|
| 819 |
+
Kesimpulan
|
| 820 |
+
|
| 821 |
+
Merancang Presentasi Kelompok yang Efektif:
|
| 822 |
+
Penting untuk membagi peran secara jelas, menjaga koherensi antar bagian presentasi, serta melakukan latihan bersama untuk memastikan presentasi berjalan lancar dan terstruktur.
|
| 823 |
+
|
| 824 |
+
Pentingnya Dinamika Kerja Tim:
|
| 825 |
+
Komunikasi yang efektif, kemampuan mengelola konflik, dan tanggung jawab bersama menjadi kunci keberhasilan dalam presentasi kelompok.
|
| 826 |
+
|
| 827 |
+
Manfaat Presentasi Kelompok:
|
| 828 |
+
Dengan adanya kolaborasi dan saling mendukung antar anggota, presentasi kelompok tidak hanya memperkuat pesan yang disampaikan, tetapi juga memberikan pengalaman yang lebih bermakna dan mendalam bagi audiens.
|
data/KecerdasanBuatan.txt
ADDED
|
@@ -0,0 +1,1079 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Arti Kecerdasan
|
| 2 |
+
|
| 3 |
+
Kecerdasan adalah kemampuan untuk:
|
| 4 |
+
Belajar atau memahami dari pengalaman,
|
| 5 |
+
Memahami pesan yang kontradiktif dan ambigu,
|
| 6 |
+
Merespons situasi baru dengan cepat dan tepat,
|
| 7 |
+
Menggunakan penalaran dalam memecahkan masalah secara efektif.
|
| 8 |
+
(Winston dan Pendergast, 1994)
|
| 9 |
+
|
| 10 |
+
Apa itu Artificial Intelligence (AI)?
|
| 11 |
+
|
| 12 |
+
H. A. Simon (1987):
|
| 13 |
+
AI adalah bidang penelitian, aplikasi, dan instruksi yang terkait dengan pemrograman komputer untuk melakukan hal-hal yang – menurut pandangan manusia – bersifat cerdas.
|
| 14 |
+
|
| 15 |
+
Rich & Knight (1991):
|
| 16 |
+
AI adalah studi tentang bagaimana membuat komputer melakukan hal-hal yang saat ini hanya bisa dilakukan manusia dengan lebih baik.
|
| 17 |
+
|
| 18 |
+
Kategori Definisi AI
|
| 19 |
+
|
| 20 |
+
1. Systems that think like humans
|
| 21 |
+
2. Systems that act like humans
|
| 22 |
+
3. Systems that think rationally
|
| 23 |
+
4. Systems that act rationally
|
| 24 |
+
|
| 25 |
+
Pengertian Artificial Intelligence
|
| 26 |
+
|
| 27 |
+
1. Berpikir seperti manusia
|
| 28 |
+
Membutuhkan cara untuk mengetahui bagaimana manusia berpikir.
|
| 29 |
+
|
| 30 |
+
Dibutuhkan pemahaman mengenai cara kerja pikiran manusia.
|
| 31 |
+
|
| 32 |
+
Dilakukan melalui introspeksi (mawas diri) dan eksperimen psikologis.
|
| 33 |
+
|
| 34 |
+
2. Berpikir rasional
|
| 35 |
+
Mengikuti aturan logika Aristotelian, yang memberikan kesimpulan benar jika premis benar.
|
| 36 |
+
|
| 37 |
+
AI membangun program yang menyelesaikan masalah berdasarkan logika.
|
| 38 |
+
|
| 39 |
+
Tantangan:
|
| 40 |
+
|
| 41 |
+
Pengetahuan informal sulit diuraikan dalam notasi logika formal.
|
| 42 |
+
|
| 43 |
+
Perbedaan antara penyelesaian secara prinsip vs secara praktis.
|
| 44 |
+
|
| 45 |
+
3. Bertindak rasional
|
| 46 |
+
Bertindak untuk mencapai tujuan (goal-oriented).
|
| 47 |
+
|
| 48 |
+
Dalam lingkungan kompleks, tidak selalu bisa bertindak sepenuhnya rasional.
|
| 49 |
+
|
| 50 |
+
Detail Kecerdasan Buatan dari Berbagai Sudut Pandang
|
| 51 |
+
|
| 52 |
+
Sudut Pandang Kecerdasan:
|
| 53 |
+
AI membuat mesin bisa berperilaku seperti manusia.
|
| 54 |
+
|
| 55 |
+
Sudut Pandang Penelitian:
|
| 56 |
+
AI adalah studi bagaimana komputer dapat melakukan tugas-tugas sebaik manusia.
|
| 57 |
+
|
| 58 |
+
Sudut Pandang Bisnis:
|
| 59 |
+
AI adalah kumpulan alat dan metode yang sangat kuat untuk menyelesaikan masalah bisnis.
|
| 60 |
+
|
| 61 |
+
Sudut Pandang Pemrograman:
|
| 62 |
+
AI melibatkan pemrograman simbolik, problem solving, dan searching.
|
| 63 |
+
|
| 64 |
+
Dua Komponen Utama dalam AI
|
| 65 |
+
|
| 66 |
+
1. Basis Pengetahuan (Knowledge Base):
|
| 67 |
+
Berisi fakta, teori, dan hubungan antar komponen.
|
| 68 |
+
|
| 69 |
+
2. Motor Inferensi (Inference Engine):
|
| 70 |
+
Menarik kesimpulan dari pengalaman. Berkaitan dengan representasi dan simulasi proses berpikir dalam mesin (komputer atau robot).
|
| 71 |
+
|
| 72 |
+
Konsep Dasar dalam AI
|
| 73 |
+
|
| 74 |
+
Turing Test:
|
| 75 |
+
Uji kecerdasan mesin melalui interaksi manusia dengan mesin dan manusia lain secara acak.
|
| 76 |
+
|
| 77 |
+
Pemrosesan Simbolik:
|
| 78 |
+
AI menyelesaikan masalah secara simbolik dan non-algoritmik.
|
| 79 |
+
|
| 80 |
+
Heuristik:
|
| 81 |
+
Strategi pencarian solusi paling efektif dalam ruang masalah.
|
| 82 |
+
|
| 83 |
+
Inferensi:
|
| 84 |
+
Penarikan kesimpulan dari fakta dan aturan menggunakan heuristik.
|
| 85 |
+
|
| 86 |
+
Pencocokan Pola (Pattern Matching):
|
| 87 |
+
Menjelaskan objek atau peristiwa secara logik atau komputasional.
|
| 88 |
+
|
| 89 |
+
Contoh "State of the Art" AI
|
| 90 |
+
|
| 91 |
+
Deep Blue mengalahkan Kasparov dalam catur.
|
| 92 |
+
|
| 93 |
+
PEGASUS, sistem pengenal suara untuk transaksi tiket.
|
| 94 |
+
|
| 95 |
+
MARVEL, sistem pakar real-time untuk memantau data Voyager.
|
| 96 |
+
|
| 97 |
+
Mobil dikemudikan oleh robot di jalan umum.
|
| 98 |
+
|
| 99 |
+
Sistem diagnosis lebih akurat dari pakar manusia.
|
| 100 |
+
|
| 101 |
+
Learning agents belajar dari pakar manusia.
|
| 102 |
+
|
| 103 |
+
Agen cerdas berkembang pesat untuk berbagai domain.
|
| 104 |
+
|
| 105 |
+
Tujuan Pengembangan AI
|
| 106 |
+
|
| 107 |
+
1. Membuat komputer menjadi lebih cerdas.
|
| 108 |
+
2. Memahami konsep kecerdasan itu sendiri.
|
| 109 |
+
3. Membuat mesin menjadi lebih berguna.
|
| 110 |
+
|
| 111 |
+
Perbandingan: AI vs Kecerdasan Alami
|
| 112 |
+
|
| 113 |
+
Keunggulan AI:
|
| 114 |
+
- Bersifat permanen
|
| 115 |
+
- Mudah diduplikasi dan disebarkan
|
| 116 |
+
- Murah
|
| 117 |
+
- Konsisten dan teliti
|
| 118 |
+
- Dapat didokumentasikan
|
| 119 |
+
- Menyelesaikan tugas lebih cepat dan lebih baik dalam beberapa kasus
|
| 120 |
+
|
| 121 |
+
Keunggulan Kecerdasan Alami:
|
| 122 |
+
- Lebih kreatif
|
| 123 |
+
- Dapat belajar langsung tanpa simbol atau representasi
|
| 124 |
+
- Menggunakan konteks luas dalam pengambilan keputusan
|
| 125 |
+
|
| 126 |
+
Kelebihan Bahasa Alami (Natural Language)
|
| 127 |
+
|
| 128 |
+
- Kreatif dan fleksibel
|
| 129 |
+
- Mengandalkan pengalaman langsung
|
| 130 |
+
- Pemikiran manusia lebih luas daripada jangkauan AI
|
| 131 |
+
|
| 132 |
+
AI dalam Aplikasi Komersial
|
| 133 |
+
|
| 134 |
+
Natural Language Processing
|
| 135 |
+
|
| 136 |
+
Penerjemah bahasa
|
| 137 |
+
|
| 138 |
+
Ringkasan teks otomatis (text summarization)
|
| 139 |
+
|
| 140 |
+
Pengenalan suara (speech recognition)
|
| 141 |
+
|
| 142 |
+
Alat bantu untuk tuna wicara atau tuli
|
| 143 |
+
|
| 144 |
+
Robotika
|
| 145 |
+
|
| 146 |
+
Permainan (games)
|
| 147 |
+
|
| 148 |
+
Komputasi Konvensional vs Komputasi Cerdas
|
| 149 |
+
|
| 150 |
+
Komputasi Konvensional:
|
| 151 |
+
- Berbasis algoritma terstruktur dan langkah demi langkah
|
| 152 |
+
- Pengguna memberikan instruksi lengkap ke komputer
|
| 153 |
+
|
| 154 |
+
Komputasi Cerdas:
|
| 155 |
+
- Berbasis simbol dan representasi
|
| 156 |
+
- Objek bisa berupa ide, orang, benda, atau proses
|
| 157 |
+
- Tetap menggunakan algoritma, namun dengan pendekatan lebih fleksibel
|
| 158 |
+
|
| 159 |
+
Cara Kerja Perangkat Lunak AI
|
| 160 |
+
|
| 161 |
+
- Melakukan penalaran dan menyimpulkan dari pengalaman
|
| 162 |
+
- Menggunakan teknik pencarian dan pencocokan pola
|
| 163 |
+
- Menganalisis basis pengetahuan untuk menemukan pola kondisi
|
| 164 |
+
- Mencocokkan informasi baru dengan pola yang sudah ada
|
| 165 |
+
|
| 166 |
+
Sejarah Perkembangan AI
|
| 167 |
+
|
| 168 |
+
Awal Mula:
|
| 169 |
+
- JST dan logika (Newell & Simon)
|
| 170 |
+
- Workshop Dartmouth (1956)
|
| 171 |
+
- John McCarthy menciptakan istilah "Artificial Intelligence"
|
| 172 |
+
|
| 173 |
+
Perkembangan Awal:
|
| 174 |
+
- LISP, time-sharing, Advice Taker (McCarthy, 1958)
|
| 175 |
+
- Samuel’s checkers player (learning system)
|
| 176 |
+
- Metode resolusi (Robinson), dunia mikro (Minsky)
|
| 177 |
+
- Optimisme berlebihan (Simon)
|
| 178 |
+
|
| 179 |
+
Kegagalan Awal:
|
| 180 |
+
- Kombinasi eksplosif (combinatorial explosion)
|
| 181 |
+
- Terjemahan bahasa alami gagal
|
| 182 |
+
- Keterbatasan perceptron
|
| 183 |
+
- Penelitian JST sempat dihentikan
|
| 184 |
+
- Winston’s symbolic learning (1972)
|
| 185 |
+
|
| 186 |
+
Renaissance AI (1969–1979)
|
| 187 |
+
|
| 188 |
+
Pergeseran dari pencarian ke pendekatan berbasis pengetahuan.
|
| 189 |
+
|
| 190 |
+
Sistem pakar pertama:
|
| 191 |
+
- Dendral (struktur molekul)
|
| 192 |
+
- Mycin (diagnosis infeksi darah)
|
| 193 |
+
- Prospector (eksplorasi tambang)
|
| 194 |
+
|
| 195 |
+
Era Industri (1980–Sekarang)
|
| 196 |
+
|
| 197 |
+
Sukses sistem pakar komersial.
|
| 198 |
+
|
| 199 |
+
Pengembangan teknik pembelajaran:
|
| 200 |
+
- Explanation-Based Learning
|
| 201 |
+
- Case-Based Reasoning
|
| 202 |
+
- Genetic Algorithms
|
| 203 |
+
- Neural Networks
|
| 204 |
+
|
| 205 |
+
Kebangkitan Neural Networks (1986–Sekarang)
|
| 206 |
+
|
| 207 |
+
- Rediscovery algoritma backpropagation
|
| 208 |
+
- Banyak aplikasi sukses
|
| 209 |
+
- Tantangan: knowledge acquisition dalam sistem pakar
|
| 210 |
+
|
| 211 |
+
Kematangan AI (1987–Sekarang)
|
| 212 |
+
|
| 213 |
+
- Fokus pada metodologi dan aplikasi nyata
|
| 214 |
+
- Berdasarkan teori dan eksperimen
|
| 215 |
+
- Menunjukkan relevansi terhadap dunia nyata, bukan sekadar eksperimen mainan
|
| 216 |
+
|
| 217 |
+
Era Agen Cerdas (1995–Sekarang)
|
| 218 |
+
|
| 219 |
+
- Integrasi sub-bidang AI:
|
| 220 |
+
Speech recognition, planning, robotics, machine learning, dll
|
| 221 |
+
- Arsitektur agen: SOAR, Disciple
|
| 222 |
+
- Multi-agent systems dan web agents
|
| 223 |
+
|
| 224 |
+
Domain Penerapan AI
|
| 225 |
+
|
| 226 |
+
1. Mundane Tasks:
|
| 227 |
+
- Persepsi (penglihatan & suara)
|
| 228 |
+
- Bahasa alami (pemahaman, generasi, penerjemahan)
|
| 229 |
+
- Penalaran berbasis pengetahuan umum
|
| 230 |
+
- Kontrol robot
|
| 231 |
+
|
| 232 |
+
2. Formal Tasks:
|
| 233 |
+
- Permainan (games)
|
| 234 |
+
- Matematika (logika, kalkulus, geometri)
|
| 235 |
+
|
| 236 |
+
3. Expert Tasks:
|
| 237 |
+
- Analisis finansial
|
| 238 |
+
- Diagnosis medis
|
| 239 |
+
- Penelitian ilmiah
|
| 240 |
+
- Rekayasa dan perencanaan manufaktur
|
| 241 |
+
|
| 242 |
+
|
| 243 |
+
Representasi Pengetahuan (Knowledge Representation)
|
| 244 |
+
|
| 245 |
+
Representasi pengetahuan merupakan cara untuk menyusun informasi dari dunia nyata agar dapat diproses dan digunakan oleh komputer, terutama dalam sistem kecerdasan buatan. Representasi ini memungkinkan komputer memahami, menyimpan, dan menggunakan pengetahuan untuk melakukan penalaran serta menyelesaikan masalah.
|
| 246 |
+
|
| 247 |
+
Karakteristik Representasi Pengetahuan:
|
| 248 |
+
|
| 249 |
+
1. Dapat diprogram menggunakan bahasa komputer dan disimpan dalam memori.
|
| 250 |
+
|
| 251 |
+
2. Fakta dan pengetahuan lainnya yang tersimpan dapat dimanfaatkan untuk penalaran logis (reasoning).
|
| 252 |
+
|
| 253 |
+
3. Berkaitan dengan beberapa komponen, yaitu:
|
| 254 |
+
Object: Pengetahuan itu sendiri.
|
| 255 |
+
Event: Kejadian dalam dunia nyata beserta hubungan antar kejadian.
|
| 256 |
+
Performance: Cara melakukan suatu tugas tertentu.
|
| 257 |
+
Meta-knowledge: Pengetahuan tentang pengetahuan yang direpresentasikan.
|
| 258 |
+
Knowledge base: Komponen utama dalam agen berbasis pengetahuan.
|
| 259 |
+
|
| 260 |
+
Tujuan Representasi Pengetahuan:
|
| 261 |
+
|
| 262 |
+
Memberikan representasi informasi dari dunia nyata agar komputer dapat memahaminya dan menggunakan pengetahuan tersebut untuk menyelesaikan masalah-masalah kompleks dalam kehidupan nyata, seperti berkomunikasi dengan manusia dalam bahasa alami.
|
| 263 |
+
|
| 264 |
+
Klasifikasi Representasi Pengetahuan
|
| 265 |
+
|
| 266 |
+
1. Representasi Logikal
|
| 267 |
+
Menggunakan sistem logika formal untuk merepresentasikan fakta dan aturan.
|
| 268 |
+
|
| 269 |
+
2. Representasi Prosedural
|
| 270 |
+
Menggambarkan pengetahuan sebagai prosedur atau aturan (biasanya menggunakan format IF-THEN) untuk menyelesaikan masalah.
|
| 271 |
+
|
| 272 |
+
3. Representasi Jaringan (Network)
|
| 273 |
+
Menggambarkan pengetahuan dalam bentuk graf seperti tree atau graph.
|
| 274 |
+
|
| 275 |
+
4. Representasi Terstruktur
|
| 276 |
+
Merupakan pengembangan dari representasi jaringan dengan menggunakan node-node yang berisi struktur data kompleks. Contohnya: frame, script, dan object.
|
| 277 |
+
|
| 278 |
+
Representasi Pengetahuan: Pendekatan Objek
|
| 279 |
+
|
| 280 |
+
Terdapat beberapa metode representasi pengetahuan berdasarkan pendekatan objek, yaitu:
|
| 281 |
+
|
| 282 |
+
1. Teknik OAV (Object–Attribute–Value)
|
| 283 |
+
Digunakan untuk merepresentasikan nilai dari karakteristik suatu objek.
|
| 284 |
+
|
| 285 |
+
Object: Benda fisik atau konsep abstrak.
|
| 286 |
+
Attribute: Ciri atau sifat dari objek.
|
| 287 |
+
Value: Nilai spesifik dari atribut.
|
| 288 |
+
|
| 289 |
+
Contoh:
|
| 290 |
+
Object: Mobil, Attribute: Warna, Value: Merah → Mobil memiliki warna merah.
|
| 291 |
+
|
| 292 |
+
2. Jaringan Semantik (Semantic Network)
|
| 293 |
+
Representasi pengetahuan dalam bentuk grafis, di mana objek digambarkan sebagai node dan hubungan antar objek digambarkan sebagai link (garis penghubung).
|
| 294 |
+
|
| 295 |
+
Node: Mewakili unsur dalam domain (objek, konsep, tindakan, perasaan, peristiwa).
|
| 296 |
+
|
| 297 |
+
Link (Arc): Mewakili hubungan antar unsur. Biasanya diberi label seperti IS-A, AKO, is_part_of, atau has_a.
|
| 298 |
+
|
| 299 |
+
Ciri-ciri Jaringan Semantik:
|
| 300 |
+
Mewakili konsep dan hubungan melalui struktur graf.
|
| 301 |
+
|
| 302 |
+
Dapat mewarisi sifat (property inheritance) dari kelas ke objek.
|
| 303 |
+
|
| 304 |
+
Dikenal juga sebagai associative net karena hubungan antar node saling mengasosiasikan.
|
| 305 |
+
|
| 306 |
+
Sering digunakan dalam pemetaan struktur organisasi, silsilah keluarga, dsb.
|
| 307 |
+
|
| 308 |
+
Contoh Hubungan:
|
| 309 |
+
IS-A: ‘Merupakan anggota dari kelas’ → kucing IS-A hewan.
|
| 310 |
+
|
| 311 |
+
AKO (A-Kind-Of): ‘Merupakan jenis dari kelas lain’ → macan AKO kucing besar.
|
| 312 |
+
|
| 313 |
+
Struktur OAV dalam Semantic Net:
|
| 314 |
+
Object, Attribute, dan Value sering digunakan dalam triple (tiga elemen) untuk mendeskripsikan pengetahuan.
|
| 315 |
+
|
| 316 |
+
Penerapan Semantic Net dalam PROLOG
|
| 317 |
+
|
| 318 |
+
Semantic Network dapat dengan mudah diubah menjadi bentuk ekspresi predikat dalam PROLOG.
|
| 319 |
+
|
| 320 |
+
Contoh ekspresi:
|
| 321 |
+
|
| 322 |
+
is_a(goodyear_blimp, blimp).
|
| 323 |
+
has_shape(blimp, ellipsoidal).
|
| 324 |
+
|
| 325 |
+
Penjelasan:
|
| 326 |
+
Predicate name: is_a, has_shape.
|
| 327 |
+
Arguments: Objek dan atributnya.
|
| 328 |
+
|
| 329 |
+
Contoh aturan dalam PROLOG:
|
| 330 |
+
|
| 331 |
+
parent(X, Y) :- father(X, Y).
|
| 332 |
+
parent(X, Y) :- mother(X, Y).
|
| 333 |
+
grandparent(X, Y) :- parent(X, Z), parent(Z, Y).
|
| 334 |
+
|
| 335 |
+
Tanda :- dibaca sebagai "jika".
|
| 336 |
+
Tanda koma , menyatakan logika AND.
|
| 337 |
+
|
| 338 |
+
BNF (Backus-Naur Form)
|
| 339 |
+
|
| 340 |
+
BNF adalah notasi formal untuk menjelaskan sintaks suatu bahasa pemrograman atau logika.
|
| 341 |
+
|
| 342 |
+
Contoh produksi kalimat sederhana:
|
| 343 |
+
|
| 344 |
+
<sentence> ::= <subject><verb><end-mark>
|
| 345 |
+
<subject> ::= I | You | We
|
| 346 |
+
<verb> ::= left | came
|
| 347 |
+
<end-mark> ::= . | ? | !
|
| 348 |
+
|
| 349 |
+
Penjelasan:
|
| 350 |
+
Tanda ::= artinya "didefinisikan sebagai".
|
| 351 |
+
Simbol | menyatakan alternatif pilihan.
|
| 352 |
+
Simbol < > menunjukkan non-terminal.
|
| 353 |
+
|
| 354 |
+
Kalimat seperti: I left., You came?, We left! dapat dihasilkan dari aturan tersebut.
|
| 355 |
+
|
| 356 |
+
Skema: Frame dan Script
|
| 357 |
+
|
| 358 |
+
Skema adalah metode untuk mengorganisasi dan merepresentasikan pengetahuan stereotip (pengalaman umum) dalam bentuk struktur yang dapat dipahami oleh komputer.
|
| 359 |
+
|
| 360 |
+
a. Frame (Bingkai)
|
| 361 |
+
- Merupakan blok-blok pengetahuan mengenai objek, situasi, kejadian, atau lokasi.
|
| 362 |
+
- Berisi slot yang menggambarkan atribut dan karakteristik.
|
| 363 |
+
- Slot dapat memiliki:
|
| 364 |
+
Nilai default (misal: mobil punya 4 roda).
|
| 365 |
+
Nilai prosedural (misal: akselerasi tergantung waktu).
|
| 366 |
+
Sub-frame (misal: slot mesin terdiri dari bingkai mesin).
|
| 367 |
+
|
| 368 |
+
b. Script (Naskah)
|
| 369 |
+
- Representasi pengetahuan berdasarkan urutan peristiwa.
|
| 370 |
+
- Digunakan untuk menggambarkan pengalaman atau skenario tertentu.
|
| 371 |
+
- Digambarkan melalui slot-slot berisi:
|
| 372 |
+
Input condition: Kondisi awal untuk memulai skrip.
|
| 373 |
+
Track: Variasi skenario yang mungkin terjadi.
|
| 374 |
+
Prop: Obyek-obyek yang digunakan.
|
| 375 |
+
Role: Peran atau tindakan dari aktor dalam skrip.
|
| 376 |
+
Scene: Rangkaian kronologis peristiwa.
|
| 377 |
+
|
| 378 |
+
|
| 379 |
+
Agen dan Lingkungan
|
| 380 |
+
|
| 381 |
+
Definisi Agen
|
| 382 |
+
- Sebuah agen adalah entitas yang dapat merasakan lingkungannya melalui sensor dan dapat bertindak terhadap lingkungan tersebut menggunakan aktuator. (Russell dan Norvig)
|
| 383 |
+
- Menurut Wooldridge, agen adalah sistem komputer yang berada dalam suatu lingkungan, serta memiliki kemampuan bertindak secara otonom dalam lingkungan tersebut sesuai dengan tujuan yang telah dirancang.
|
| 384 |
+
|
| 385 |
+
Komponen Terkait Agen:
|
| 386 |
+
1. Lingkungan (Environment): Segala sesuatu di sekitar agen yang memengaruhi kinerja atau perilaku agen.
|
| 387 |
+
2. Persepsi (Perception): Proses mengubah informasi dari lingkungan menjadi bentuk yang dapat diterima oleh agen (misalnya melalui memori atau indera).
|
| 388 |
+
3. Sensor: Perangkat yang digunakan agen untuk mendeteksi kondisi lingkungan dan membentuk persepsi.
|
| 389 |
+
4. Action (Tindakan): Respons atau reaksi agen dalam bentuk perubahan terhadap lingkungan.
|
| 390 |
+
5. Actuator (Penggerak): Bagian dari agen yang terlihat dan melaksanakan tindakan fisik ke lingkungan berdasarkan keputusan agen.
|
| 391 |
+
|
| 392 |
+
Konsep Rasionalitas
|
| 393 |
+
|
| 394 |
+
1. Agen Rasional (Rational Agent)
|
| 395 |
+
Agen yang rasional selalu berusaha mengoptimalkan nilai ukuran kinerja (performance measure). Sebuah agen dikatakan rasional jika dapat memilih tindakan terbaik berdasarkan pengetahuan yang dimiliki tentang kondisi lingkungannya saat itu. Untuk setiap urutan persepsi yang memungkinkan, agen rasional akan memilih tindakan yang memaksimalkan kemampuannya mencapai tujuan.
|
| 396 |
+
|
| 397 |
+
Russell & Norvig (2003) menyatakan bahwa tindakan yang benar adalah tindakan yang mencapai tingkat keberhasilan tertinggi berdasarkan ukuran performa yang telah didefinisikan oleh perancang agen.
|
| 398 |
+
|
| 399 |
+
2. Ukuran Performa dan Autonomi
|
| 400 |
+
Performance Measure: Ukuran kinerja agen yang ditentukan oleh perancang, mencerminkan harapan terhadap apa yang dapat dicapai agen.
|
| 401 |
+
|
| 402 |
+
Autonomous Agent: Agen dikatakan otonom jika perilakunya ditentukan oleh pengalaman dan pembelajarannya sendiri, bukan sepenuhnya bergantung pada instruksi eksternal.
|
| 403 |
+
|
| 404 |
+
Perilaku Agen
|
| 405 |
+
|
| 406 |
+
Agen rasional adalah agen yang bertindak benar sesuai dengan kondisi dan pengetahuannya.
|
| 407 |
+
|
| 408 |
+
Dibutuhkan standar ukuran (performance measure) untuk mengevaluasi keberhasilan agen dalam berbagai kondisi lingkungan.
|
| 409 |
+
|
| 410 |
+
Contoh Agen:
|
| 411 |
+
Agen Vacuum Cleaner:
|
| 412 |
+
Performance Measure: Jumlah kotoran yang dibersihkan, konsumsi listrik, tingkat kebisingan, waktu pembersihan.
|
| 413 |
+
Goal: Ruangan bersih.
|
| 414 |
+
|
| 415 |
+
Pertimbangan Sebelum Membangun Agen
|
| 416 |
+
|
| 417 |
+
Sebelum merancang dan membangun sebuah agen, perlu diperhatikan hal-hal berikut:
|
| 418 |
+
1. Semua kemungkinan persepsi dan tindakan yang dapat dilakukan agen.
|
| 419 |
+
2. Tujuan yang ingin dicapai serta ukuran keberhasilan (performance measure).
|
| 420 |
+
3. Karakteristik lingkungan tempat agen akan beroperasi.
|
| 421 |
+
|
| 422 |
+
Faktor yang Mempengaruhi Rasionalitas
|
| 423 |
+
|
| 424 |
+
Rasionalitas agen bergantung pada empat faktor utama:
|
| 425 |
+
1. Performance Measure – seberapa baik tindakan agen dalam memenuhi tujuan.
|
| 426 |
+
2. Environment – pengetahuan agen tentang lingkungan.
|
| 427 |
+
3. Action – tindakan yang tersedia dan dapat dilakukan oleh agen.
|
| 428 |
+
4. Percept Sequence – urutan persepsi yang diterima agen dari waktu ke waktu.
|
| 429 |
+
|
| 430 |
+
Task Environment (Lingkungan Tugas)
|
| 431 |
+
|
| 432 |
+
Task Environment adalah spesifikasi lengkap dari elemen-elemen yang membentuk situasi kerja agen:
|
| 433 |
+
1. Performance Measure: Kriteria atau harapan hasil yang ingin dicapai oleh agen.
|
| 434 |
+
2. Environment: Kondisi atau ruang lingkup tempat agen beroperasi.
|
| 435 |
+
3. Actuators: Perangkat yang digunakan untuk melakukan tindakan fisik terhadap lingkungan.
|
| 436 |
+
4. Sensors: Perangkat atau mekanisme untuk mendeteksi dan memahami kondisi lingkungan.
|
| 437 |
+
|
| 438 |
+
Karakteristik Agen yang Baik
|
| 439 |
+
|
| 440 |
+
1. Rasional: Selalu melakukan tindakan yang benar untuk memaksimalkan performa.
|
| 441 |
+
2. Autonomous: Mampu bertindak dan mengambil keputusan secara mandiri.
|
| 442 |
+
3. Reaktif: Cepat menanggapi perubahan lingkungan.
|
| 443 |
+
4. Proaktif: Mampu mengambil inisiatif untuk mencapai tujuan, tidak hanya bereaksi.
|
| 444 |
+
5. Fleksibel: Mampu mencapai tujuan dengan berbagai cara atau strategi alternatif.
|
| 445 |
+
6. Robust: Mampu pulih dari kegagalan dan tetap melanjutkan tugasnya.
|
| 446 |
+
|
| 447 |
+
Struktur Agen
|
| 448 |
+
|
| 449 |
+
Rumus umum:
|
| 450 |
+
Agent = Arsitektur + Program
|
| 451 |
+
|
| 452 |
+
Arsitektur: Sistem komputasi yang memiliki sensor dan aktuator.
|
| 453 |
+
|
| 454 |
+
Program: Implementasi dari fungsi agen; menentukan bagaimana agen merespons berdasarkan input dari sensor.
|
| 455 |
+
|
| 456 |
+
Searching
|
| 457 |
+
|
| 458 |
+
Well-Defined Problems and Solution
|
| 459 |
+
|
| 460 |
+
Initial State: Keadaan awal dari sistem atau masalah.
|
| 461 |
+
|
| 462 |
+
Action Description: Deskripsi dari semua kemungkinan aksi yang dapat dilakukan oleh agen.
|
| 463 |
+
|
| 464 |
+
Goal Test: Prosedur atau kriteria untuk menentukan apakah kondisi akhir (final state) telah tercapai.
|
| 465 |
+
|
| 466 |
+
Path Cost: Jumlah langkah minimum atau total biaya yang diperlukan untuk mencapai final state dari initial state.
|
| 467 |
+
|
| 468 |
+
Searching
|
| 469 |
+
|
| 470 |
+
Terdapat berbagai metode pencarian yang telah dikembangkan. Secara umum, metode pencarian dibagi menjadi dua jenis:
|
| 471 |
+
1. Pencarian Buta / Tanpa Informasi (Blind / Uninformed Search)
|
| 472 |
+
2. Pencarian Heuristik / Dengan Informasi (Heuristic / Informed Search)
|
| 473 |
+
|
| 474 |
+
Setiap metode memiliki karakteristik masing-masing, dengan kelebihan dan kekurangannya.
|
| 475 |
+
|
| 476 |
+
Kriteria Evaluasi Metode Pencarian
|
| 477 |
+
|
| 478 |
+
Completeness: Apakah metode menjamin solusi akan ditemukan jika memang solusi ada?
|
| 479 |
+
|
| 480 |
+
Time Complexity: Berapa lama waktu yang dibutuhkan untuk menemukan solusi?
|
| 481 |
+
|
| 482 |
+
Space Complexity: Berapa banyak memori yang diperlukan?
|
| 483 |
+
|
| 484 |
+
Optimality: Apakah metode menjamin solusi terbaik (solusi dengan biaya minimum) akan ditemukan?
|
| 485 |
+
|
| 486 |
+
Blind / Uninformed Search
|
| 487 |
+
|
| 488 |
+
Disebut “buta” karena pencarian dilakukan tanpa informasi tambahan tentang tujuan. Beberapa metode yang termasuk dalam kategori ini:
|
| 489 |
+
|
| 490 |
+
1. Breadth-First Search (BFS)
|
| 491 |
+
2. Depth-First Search (DFS)
|
| 492 |
+
3. Depth-Limited Search (DLS)
|
| 493 |
+
4. Uniform Cost Search (UCS)
|
| 494 |
+
5. Iterative-Deepening Search (IDS)
|
| 495 |
+
6. Bi-Directional Search (BDS)
|
| 496 |
+
|
| 497 |
+
Breadth-First Search (BFS)
|
| 498 |
+
|
| 499 |
+
Proses pencarian dilakukan terlebih dahulu pada semua node di level yang sama sebelum melanjutkan ke level berikutnya.
|
| 500 |
+
|
| 501 |
+
Contoh urutan: A, B, C, D, E, F
|
| 502 |
+
|
| 503 |
+
Kelebihan:
|
| 504 |
+
- Tidak menemui jalan buntu.
|
| 505 |
+
- Menjamin menemukan solusi jika ada, dan jika ada dua solusi, solusi optimal (terpendek) akan ditemukan.
|
| 506 |
+
|
| 507 |
+
Kekurangan:
|
| 508 |
+
- Membutuhkan banyak memori untuk menyimpan semua node dalam satu level.
|
| 509 |
+
- Memerlukan waktu yang lama karena harus menguji seluruh level sampai menemukan solusi.
|
| 510 |
+
|
| 511 |
+
Depth-First Search (DFS)
|
| 512 |
+
|
| 513 |
+
Pencarian dilakukan secara mendalam mulai dari node paling kiri. Jika solusi tidak ditemukan, maka pencarian dilanjutkan ke node sebelah kanan.
|
| 514 |
+
|
| 515 |
+
Node sebelumnya dapat dihapus dari memori jika sudah selesai diperiksa.
|
| 516 |
+
|
| 517 |
+
Contoh urutan: A, B, E, F, G, C
|
| 518 |
+
|
| 519 |
+
Kelebihan:
|
| 520 |
+
- Penggunaan memori relatif kecil.
|
| 521 |
+
- Cepat menemukan solusi jika solusi berada pada level dalam dan posisi kiri.
|
| 522 |
+
|
| 523 |
+
Kekurangan:
|
| 524 |
+
- Tidak menjamin menemukan solusi jika pohon pencarian sangat dalam atau tak terbatas.
|
| 525 |
+
- Tidak menjamin menemukan solusi terbaik jika ada beberapa solusi.
|
| 526 |
+
|
| 527 |
+
Depth-Limited Search (DLS)
|
| 528 |
+
|
| 529 |
+
Pengembangan dari DFS dengan batasan level maksimum pencarian.
|
| 530 |
+
|
| 531 |
+
Harus mengetahui batas maksimum level sebelum digunakan.
|
| 532 |
+
|
| 533 |
+
Mengatasi kelemahan DFS yang tidak complete.
|
| 534 |
+
|
| 535 |
+
Uniform Cost Search (UCS)
|
| 536 |
+
|
| 537 |
+
Mirip dengan BFS, namun memilih node berdasarkan biaya terkecil daripada level.
|
| 538 |
+
|
| 539 |
+
Menemukan solusi dengan total biaya minimum dari node awal ke node tujuan.
|
| 540 |
+
|
| 541 |
+
Iterative-Deepening Search (IDS)
|
| 542 |
+
|
| 543 |
+
Kombinasi keunggulan BFS (complete & optimal) dan DFS (space-efficient).
|
| 544 |
+
|
| 545 |
+
Melakukan DFS berulang kali dengan peningkatan batas kedalaman.
|
| 546 |
+
|
| 547 |
+
Kelemahan: Time complexity menjadi tinggi karena banyak pengulangan.
|
| 548 |
+
|
| 549 |
+
Bi-Directional Search (BDS)
|
| 550 |
+
|
| 551 |
+
Pencarian dilakukan dari dua arah sekaligus: dari initial state ke goal dan dari goal ke initial state.
|
| 552 |
+
|
| 553 |
+
Ketika kedua pencarian bertemu pada satu node, solusi ditemukan.
|
| 554 |
+
|
| 555 |
+
Umumnya lebih cepat dibanding pencarian satu arah.
|
| 556 |
+
|
| 557 |
+
Heuristic Searching sebagai Dasar dari AI
|
| 558 |
+
|
| 559 |
+
Dalam kecerdasan buatan, banyak masalah tidak dapat diselesaikan dengan algoritma konvensional.
|
| 560 |
+
|
| 561 |
+
Permasalahan AI biasanya tidak memiliki algoritma penyelesaian yang baku.
|
| 562 |
+
|
| 563 |
+
Diperlukan teknik baru yang meniru cara manusia menyelesaikan masalah dan dapat diimplementasikan oleh komputer.
|
| 564 |
+
|
| 565 |
+
Salah satu pendekatan penting dalam AI adalah searching terhadap problem space, bukan hanya pencarian data (angka, string, dll.).
|
| 566 |
+
|
| 567 |
+
Problem space adalah representasi dari seluruh kemungkinan keadaan dan solusi dari suatu masalah.
|
| 568 |
+
|
| 569 |
+
Contoh Problem Solving pada Komputer:
|
| 570 |
+
|
| 571 |
+
Komputer tidak menyala → langkah pertama: tekan tombol power.
|
| 572 |
+
|
| 573 |
+
Lampu indikator tidak menyala → periksa kabel daya.
|
| 574 |
+
|
| 575 |
+
Melalui eksplorasi jalur-jalur kemungkinan, kita akan sampai pada solusi agar komputer bisa menyala.
|
| 576 |
+
|
| 577 |
+
Pencarian Heuristik (Heuristic Search)
|
| 578 |
+
|
| 579 |
+
Pencarian buta tidak selalu efisien karena waktu lama dan penggunaan memori besar.
|
| 580 |
+
|
| 581 |
+
Heuristic search dirancang untuk menyelesaikan masalah yang lebih kompleks secara efisien.
|
| 582 |
+
|
| 583 |
+
Menggunakan fungsi heuristik, yaitu fungsi estimasi untuk menilai seberapa dekat suatu node dengan tujuan.
|
| 584 |
+
|
| 585 |
+
Fungsi heuristik memberikan informasi tambahan yang membantu memilih jalur terbaik ke goal.
|
| 586 |
+
|
| 587 |
+
Contoh aplikasi heuristik:
|
| 588 |
+
|
| 589 |
+
Mesin pencari seperti Google menggunakan heuristik untuk menampilkan hasil pencarian yang paling relevan.
|
| 590 |
+
|
| 591 |
+
Propositional Logic
|
| 592 |
+
|
| 593 |
+
Logika Proposisional dan Penalaran dalam Kecerdasan Buatan
|
| 594 |
+
|
| 595 |
+
Pendahuluan
|
| 596 |
+
|
| 597 |
+
Logika adalah metode representasi (bahasa) yang sering digunakan dalam bidang Kecerdasan Buatan (Artificial Intelligence).
|
| 598 |
+
|
| 599 |
+
Keuntungan logika:
|
| 600 |
+
Representasi yang tepat dan pasti.
|
| 601 |
+
Memungkinkan penalaran terhadap negasi dan disjungsi.
|
| 602 |
+
Bersifat deklaratif: menilai suatu pernyataan apakah benar (true) atau salah (false), disimbolkan sebagai 1 atau 0.
|
| 603 |
+
|
| 604 |
+
Keterbatasan:
|
| 605 |
+
Logika tidak mampu merepresentasikan ketidakpastian (uncertainty) secara optimal.
|
| 606 |
+
|
| 607 |
+
Pencarian vs Penalaran
|
| 608 |
+
|
| 609 |
+
Dalam AI, terdapat dua pendekatan penting:
|
| 610 |
+
1. Pencarian (Search): menemukan solusi dari ruang kemungkinan.
|
| 611 |
+
2. Penalaran (Reasoning): menarik kesimpulan berdasarkan informasi dan aturan logika.
|
| 612 |
+
|
| 613 |
+
Jenis Penalaran Berdasarkan Pendekatan Logika
|
| 614 |
+
|
| 615 |
+
1. Logika Pasti (Certain Logic):
|
| 616 |
+
- Logika Proposisional (Propositional Logic)
|
| 617 |
+
- Logika Predikat (First-Order Logic)
|
| 618 |
+
|
| 619 |
+
2. Logika Tidak Pasti (Uncertain Logic):
|
| 620 |
+
- Fuzzy Logic
|
| 621 |
+
- Probability Theory
|
| 622 |
+
- Temporary Logic (logika berbasis waktu)
|
| 623 |
+
|
| 624 |
+
Logika Proposisional (Propositional Logic)
|
| 625 |
+
|
| 626 |
+
Definisi:
|
| 627 |
+
- Sistem logika paling sederhana.
|
| 628 |
+
- Berbasis pada proposisi (pernyataan) yang dapat bernilai benar (true) atau salah (false).
|
| 629 |
+
- Setiap proposisi diwakili oleh simbol, misalnya: P, Q.
|
| 630 |
+
|
| 631 |
+
Contoh:
|
| 632 |
+
P: “Minggu adalah hari libur.”
|
| 633 |
+
Q: “Sekarang adalah hari Minggu.”
|
| 634 |
+
|
| 635 |
+
Operator Logika Dasar:
|
| 636 |
+
Negasi (¬P): Tidak P (Not)
|
| 637 |
+
Disjungsi (P ∨ Q): P atau Q (Or)
|
| 638 |
+
Konjungsi (P ∧ Q): P dan Q (And)
|
| 639 |
+
Implikasi (P ⇒ Q): Jika P maka Q
|
| 640 |
+
Biimplikasi (P ⇔ Q): Jika dan hanya jika P maka Q
|
| 641 |
+
|
| 642 |
+
Contoh Proposisi:
|
| 643 |
+
R: Sekarang hujan.
|
| 644 |
+
D: Sekarang gelap.
|
| 645 |
+
C: Sekarang dingin.
|
| 646 |
+
|
| 647 |
+
Struktur Bahasa Logika Proposisional
|
| 648 |
+
|
| 649 |
+
Formula:
|
| 650 |
+
a) Simbol: seperti ∧, ∨, ¬, ⇒, ⇔
|
| 651 |
+
b) Jika P adalah kalimat, maka ¬P juga kalimat.
|
| 652 |
+
c) Jika P dan Q adalah kalimat, maka:
|
| 653 |
+
|
| 654 |
+
P ∧ Q, P ∨ Q, P ⇒ Q, dan P ⇔ Q juga merupakan kalimat.
|
| 655 |
+
d) Kalimat dapat dikombinasikan dari aturan (a)-(c).
|
| 656 |
+
|
| 657 |
+
Apa Itu Proposition?
|
| 658 |
+
|
| 659 |
+
Kalimat deklaratif yang memiliki nilai kebenaran (benar atau salah).
|
| 660 |
+
|
| 661 |
+
Contoh Proposition:
|
| 662 |
+
"2 + 2 = 4" → True
|
| 663 |
+
"1 = 0" → False
|
| 664 |
+
"Besok akan hujan" → Proposition, tapi nilai kebenarannya baru bisa diketahui nanti.
|
| 665 |
+
|
| 666 |
+
Bukan Proposition:
|
| 667 |
+
"Selesaikan persamaan berikut" → Kalimat perintah (imperatif), bukan pernyataan.
|
| 668 |
+
"Angka 5" → Bukan kalimat lengkap.
|
| 669 |
+
|
| 670 |
+
Ciri-ciri dan Tujuan Propositional Logic
|
| 671 |
+
|
| 672 |
+
- Menyusun argumen logis yang valid.
|
| 673 |
+
- Fokus pada penarikan kesimpulan dari asumsi atau premis.
|
| 674 |
+
- Asumsi tidak harus benar agar kesimpulan logis dapat dibuktikan.
|
| 675 |
+
- Proposisi sederhana (atomik) tidak memiliki konektor logika dan disimbolkan dengan satu huruf (p, q, dll).
|
| 676 |
+
|
| 677 |
+
Penerapan dalam Representasi Kalimat
|
| 678 |
+
|
| 679 |
+
Kalimat biasa: “Dodi makan nasi”
|
| 680 |
+
Representasi logika: Dodi_makan_nasi atau makan(Dodi, nasi)
|
| 681 |
+
|
| 682 |
+
Tips Konversi Kalimat ke Proposisional:
|
| 683 |
+
|
| 684 |
+
1. Hilangkan kata-kata tidak penting.
|
| 685 |
+
2. Pertahankan struktur dasar kalimat.
|
| 686 |
+
3. Hubungkan proposisi dasar dengan operator logika.
|
| 687 |
+
4. Setiap proposisi dasar punya nilai benar (T) atau salah (F).
|
| 688 |
+
5. Untuk kalimat majemuk, nilai kebenaran ditentukan oleh kombinasi dari proposisi dan operator.
|
| 689 |
+
|
| 690 |
+
Tautologi dan Kontradiksi
|
| 691 |
+
|
| 692 |
+
Tautologi: Proposisi majemuk yang selalu bernilai true dalam semua kondisi.
|
| 693 |
+
|
| 694 |
+
Kontradiksi: Negasi dari tautologi, selalu bernilai false.
|
| 695 |
+
|
| 696 |
+
Operator dalam Propositional Logic
|
| 697 |
+
|
| 698 |
+
1. Negation (¬P)
|
| 699 |
+
Operator unary, hanya bekerja pada satu variabel.
|
| 700 |
+
|
| 701 |
+
Contoh:
|
| 702 |
+
|
| 703 |
+
Jika P: "George Washington lahir tahun 1732" → ¬P: "George Washington tidak lahir tahun 1732".
|
| 704 |
+
|
| 705 |
+
Tabel kebenaran:
|
| 706 |
+
|
| 707 |
+
P ¬P
|
| 708 |
+
T F
|
| 709 |
+
F T
|
| 710 |
+
|
| 711 |
+
2. Disjunction (P ∨ Q)
|
| 712 |
+
Disebut inclusive OR.
|
| 713 |
+
|
| 714 |
+
Bernilai true jika salah satu atau kedua proposisi bernilai true.
|
| 715 |
+
|
| 716 |
+
Contoh:
|
| 717 |
+
|
| 718 |
+
"Mahasiswa harus mengambil mata kuliah statistik atau logika untuk lulus."
|
| 719 |
+
→ Mahasiswa bisa mengambil salah satu atau keduanya.
|
| 720 |
+
|
| 721 |
+
3. Conjunction (P ∧ Q)
|
| 722 |
+
Operator AND.
|
| 723 |
+
|
| 724 |
+
Bernilai true hanya jika kedua proposisi bernilai true.
|
| 725 |
+
|
| 726 |
+
4. Conditional (P ⇒ Q)
|
| 727 |
+
Disebut juga implikasi.
|
| 728 |
+
P: Antecedent
|
| 729 |
+
Q: Consequent
|
| 730 |
+
Dibaca: Jika P, maka Q.
|
| 731 |
+
|
| 732 |
+
Contoh:
|
| 733 |
+
|
| 734 |
+
P: "Saya suka cokelat"
|
| 735 |
+
Q: "Saya makan cokelat"
|
| 736 |
+
|
| 737 |
+
Jika P = T dan Q = T, maka P ⇒ Q = T
|
| 738 |
+
Jika P = T dan Q = F, maka P ⇒ Q = F
|
| 739 |
+
Jika P = F dan Q = T, maka P ⇒ Q = T
|
| 740 |
+
Jika P = F dan Q = F, maka P ⇒ Q = T
|
| 741 |
+
|
| 742 |
+
5. Biconditional (P ⇔ Q)
|
| 743 |
+
Bernilai true hanya jika kedua proposisi bernilai sama (keduanya true atau false).
|
| 744 |
+
|
| 745 |
+
Disebut juga sebagai "jika dan hanya jika".
|
| 746 |
+
|
| 747 |
+
Catatan Tambahan
|
| 748 |
+
Dengan hanya menggunakan dua operator seperti konjungsi (∧) dan negasi (¬), kita dapat menyusun operator lainnya:
|
| 749 |
+
Implikasi
|
| 750 |
+
Biimplikasi
|
| 751 |
+
|
| 752 |
+
Forward Chaining & Backward Chaining
|
| 753 |
+
|
| 754 |
+
PENGANTAR
|
| 755 |
+
|
| 756 |
+
Struktur IF–THEN berkaitan dengan informasi atau fakta yang diberikan pada bagian IF dan tindakan atau aksi pada bagian THEN.
|
| 757 |
+
|
| 758 |
+
Sebuah rule (aturan) memberikan deskripsi bagaimana menyelesaikan suatu masalah.
|
| 759 |
+
|
| 760 |
+
Rules relatif mudah dibuat dan dipahami.
|
| 761 |
+
|
| 762 |
+
Setiap rule terdiri dari dua bagian:
|
| 763 |
+
1. IF (antecedent/premise/condition)
|
| 764 |
+
2. THEN (consequent/action)
|
| 765 |
+
|
| 766 |
+
Antecedent sebuah rule menggabungkan objek (linguistik) dan nilainya yang dihubungkan oleh sebuah operator logika.
|
| 767 |
+
|
| 768 |
+
Contoh:
|
| 769 |
+
|
| 770 |
+
IF bankBalance ≥ requestedAmount THEN action is processTransaction
|
| 771 |
+
|
| 772 |
+
PRODUCTION SYSTEM
|
| 773 |
+
|
| 774 |
+
Production system (sistem produksi) atau dikenal juga sebagai sistem penghasil aturan diperkenalkan oleh Allen Newell pada tahun 1973.
|
| 775 |
+
|
| 776 |
+
Terdiri dari tiga komponen utama:
|
| 777 |
+
1. Inference Engine
|
| 778 |
+
2. Knowledge Base (Long-Term Memory)
|
| 779 |
+
3. Working Memory (Short-Term Memory)
|
| 780 |
+
|
| 781 |
+
PRODUCTION RULES
|
| 782 |
+
|
| 783 |
+
Sistem produksi terdiri atas:
|
| 784 |
+
1. Sekumpulan aturan (rules)
|
| 785 |
+
2. Knowledge Base / Database
|
| 786 |
+
3. Strategi pengontrol (control strategy)
|
| 787 |
+
4. Rule Applier (penentu urutan eksekusi rule)
|
| 788 |
+
|
| 789 |
+
Ciri khas dari production system:
|
| 790 |
+
- Berdasarkan gagasan bahwa manusia memecahkan masalah dengan menerapkan pengetahuan yang diekspresikan sebagai aturan.
|
| 791 |
+
- Production rules disimpan dalam long-term memory, sedangkan fakta atau informasi yang bersifat spesifik terhadap masalah disimpan dalam short-term memory.
|
| 792 |
+
|
| 793 |
+
Komponen Utama:
|
| 794 |
+
|
| 795 |
+
Knowledge Base: Merupakan pengetahuan domain yang digunakan dalam problem solving, direpresentasikan dalam bentuk sekumpulan rules.
|
| 796 |
+
|
| 797 |
+
Database: Berisi sekumpulan fakta yang akan dicocokkan dengan bagian IF dari rule.
|
| 798 |
+
|
| 799 |
+
Inference Engine: Menggunakan teknik penalaran untuk mencocokkan fakta dengan rules dan menghasilkan solusi.
|
| 800 |
+
|
| 801 |
+
Explanation Facilities: Memungkinkan user bertanya bagaimana kesimpulan tertentu dicapai dan mengapa fakta tertentu dibutuhkan.
|
| 802 |
+
|
| 803 |
+
User Interface: Media komunikasi antara user (pengguna) dan sistem pakar.
|
| 804 |
+
|
| 805 |
+
USER INTERFACE
|
| 806 |
+
|
| 807 |
+
Antarmuka terdiri dari:
|
| 808 |
+
|
| 809 |
+
1. Tabel Variabel – untuk memasukkan daftar variabel.
|
| 810 |
+
|
| 811 |
+
2. Tabel Konklusi – seperti Tabel Variabel, namun berisi informasi apakah variabel konklusi akan ditampilkan saat konsultasi atau tidak.
|
| 812 |
+
|
| 813 |
+
3. Tabel Rules – untuk memasukkan basis pengetahuan, menggunakan data dari Tabel Variabel dan Tabel Konklusi.
|
| 814 |
+
|
| 815 |
+
4. Antarmuka Tanya Jawab – proses tanya jawab antara program dan pengguna menggunakan menu pilihan agar menghindari kesalahan input yang bisa menyebabkan error pada saat pengecekan aturan dalam knowledge base.
|
| 816 |
+
|
| 817 |
+
WORKING MEMORY
|
| 818 |
+
|
| 819 |
+
Working Memory atau short-term memory berisi:
|
| 820 |
+
- Data yang diamati untuk pengambilan keputusan.
|
| 821 |
+
- Hasil sementara yang dihasilkan oleh inference engine.
|
| 822 |
+
|
| 823 |
+
INFERENSI
|
| 824 |
+
|
| 825 |
+
Inferensi adalah motor penggerak dalam program kecerdasan buatan.
|
| 826 |
+
|
| 827 |
+
Mengendalikan aliran informasi dan pelaksanaan aturan dalam proses pemecahan masalah.
|
| 828 |
+
|
| 829 |
+
Disebut juga:
|
| 830 |
+
Control structure
|
| 831 |
+
Route interpreter
|
| 832 |
+
Problem-solving strategy
|
| 833 |
+
|
| 834 |
+
Teknik-teknik Inferensi:
|
| 835 |
+
1. Searching (Pelacakan)
|
| 836 |
+
2. Control Strategy (Kendali pemecahan masalah)
|
| 837 |
+
3. Decomposition (Pemecahan masalah dengan dekomposisi)
|
| 838 |
+
4. Pattern Matching (Penerapan pola)
|
| 839 |
+
5. Chaining (Ikatan logika, baik forward maupun backward)
|
| 840 |
+
|
| 841 |
+
INFERENCE ENGINE
|
| 842 |
+
|
| 843 |
+
Inference Engine memperoleh hasil berdasarkan:
|
| 844 |
+
- Pengetahuan dari knowledge base
|
| 845 |
+
- Data dari working memory
|
| 846 |
+
|
| 847 |
+
Proses penalaran ini disebut inferensi.
|
| 848 |
+
|
| 849 |
+
Dua pendekatan utama inferensi:
|
| 850 |
+
|
| 851 |
+
1. Forward Reasoning (Penalaran Maju)
|
| 852 |
+
Menghasilkan hasil antara berdasarkan data yang diamati, hingga mencapai kesimpulan akhir.
|
| 853 |
+
|
| 854 |
+
2. Backward Reasoning (Penalaran Mundur)
|
| 855 |
+
Membuat hipotesis terlebih dahulu, kemudian membuktikan hipotesis menggunakan data yang tersedia.
|
| 856 |
+
|
| 857 |
+
STRUKTUR KENDALI (INFERENCE)
|
| 858 |
+
|
| 859 |
+
1. Forward Chaining (Penalaran Maju)
|
| 860 |
+
- Data-driven reasoning: Berdasarkan data yang tersedia.
|
| 861 |
+
- Domain knowledge dinyatakan dalam bentuk sekumpulan aturan IF–THEN.
|
| 862 |
+
- Data dinyatakan sebagai fakta-fakta yang menggambarkan kondisi terkini.
|
| 863 |
+
- Inference engine akan membandingkan bagian IF dari setiap rule dengan fakta dalam database.
|
| 864 |
+
- Jika cocok, maka rule fire (dieksekusi), dan bagian THEN dijalankan.
|
| 865 |
+
- Proses pencocokan ini membentuk inference chain (rantai inferensi).
|
| 866 |
+
- Semua aturan yang cocok akan dijalankan, meskipun tidak berkaitan langsung dengan tujuan akhir.
|
| 867 |
+
- Kurang efektif jika hanya ingin mencapai satu goal tertentu.
|
| 868 |
+
- Proses berakhir ketika:
|
| 869 |
+
Goal ditemukan, atau
|
| 870 |
+
Tidak ada lagi rule yang premisnya cocok dengan fakta.
|
| 871 |
+
|
| 872 |
+
2. Backward Chaining (Penalaran Mundur)
|
| 873 |
+
- Goal-driven reasoning: Dimulai dari tujuan akhir.
|
| 874 |
+
- Sistem pakar memiliki goal tertentu, dan inference engine mencari fakta-fakta untuk membuktikan goal tersebut.
|
| 875 |
+
- Jika rule dengan goal pada bagian THEN memiliki IF yang cocok dengan fakta, maka goal dianggap terbukti.
|
| 876 |
+
- Jika tidak, inference engine akan menelusuri rule-rule lain untuk membuktikan bagian IF (subgoal).
|
| 877 |
+
- Rule yang tidak relevan akan disisihkan (menggunakan stack).
|
| 878 |
+
- Proses stacking rule berlanjut hingga tidak ada lagi rule yang bisa digunakan untuk membuktikan subgoal.
|
| 879 |
+
- Cocok untuk sistem dengan tujuan spesifik dan target solusi yang terdefinisi dengan jelas.
|
| 880 |
+
|
| 881 |
+
Informed Search
|
| 882 |
+
|
| 883 |
+
Pendahuluan
|
| 884 |
+
|
| 885 |
+
Informed Search (pencarian terarah atau heuristik) bertujuan untuk mengurangi jumlah node yang dieksplorasi dengan memilih secara cerdas node-node yang akan dibuka (expanded).
|
| 886 |
+
|
| 887 |
+
Pengetahuan spesifik terhadap masalah digunakan untuk menemukan solusi dengan lebih cepat.
|
| 888 |
+
|
| 889 |
+
Dalam proses ini, dibutuhkan sebuah antrian berprioritas (priority queue).
|
| 890 |
+
|
| 891 |
+
Urutan ekspansi node ditentukan oleh fungsi evaluasi.
|
| 892 |
+
|
| 893 |
+
Fungsi evaluasi yang digunakan disebut fungsi heuristik, yaitu komponen paling penting karena memperkirakan biaya jalur termurah dari status saat ini menuju status tujuan.
|
| 894 |
+
|
| 895 |
+
Pencarian Heuristik
|
| 896 |
+
|
| 897 |
+
Umumnya digunakan pada permasalahan kompleks dengan banyak kemungkinan solusi.
|
| 898 |
+
|
| 899 |
+
Berupaya mencari solusi terbaik dari beberapa kemungkinan yang ada, dengan kompleksitas waktu yang lebih rendah dan penggunaan memori yang lebih kecil dibanding pencarian buta.
|
| 900 |
+
|
| 901 |
+
Digunakan fungsi untuk memperkirakan biaya dari suatu node ke tujuan, yang disebut dengan fungsi heuristik.
|
| 902 |
+
|
| 903 |
+
Best First Search
|
| 904 |
+
|
| 905 |
+
Merupakan kombinasi dari metode Depth-First Search (DFS) dan Breadth-First Search (BFS), menggabungkan kelebihan dari keduanya.
|
| 906 |
+
|
| 907 |
+
Menggunakan fungsi evaluasi untuk selalu memilih node dengan nilai terbaik (best score).
|
| 908 |
+
|
| 909 |
+
Antrian digunakan seperti pada pencarian BFS/DFS, tetapi tidak selalu mengambil node pertama—melainkan node dengan evaluasi terbaik.
|
| 910 |
+
|
| 911 |
+
Successor dari node terbaik akan dievaluasi dan ditambahkan ke dalam daftar.
|
| 912 |
+
|
| 913 |
+
Diterapkan fungsi biaya f(n) pada setiap node.
|
| 914 |
+
|
| 915 |
+
Node-node ditempatkan dalam daftar OPEN berdasarkan urutan nilai f(n).
|
| 916 |
+
|
| 917 |
+
Node dengan f(n) paling kecil akan diekspansi terlebih dahulu.
|
| 918 |
+
|
| 919 |
+
Terdapat dua pendekatan dalam mendefinisikan fungsi f(n):
|
| 920 |
+
1. Mengekspansi node yang paling dekat dengan tujuan.
|
| 921 |
+
2. Mengekspansi node yang berada pada jalur dengan biaya paling murah (least-cost path).
|
| 922 |
+
|
| 923 |
+
Dua metode umum:
|
| 924 |
+
1. Greedy Best-First Search: berdasarkan estimasi biaya (heuristik) saja.
|
| 925 |
+
2. A*: mempertimbangkan kombinasi biaya estimasi dan biaya aktual.
|
| 926 |
+
|
| 927 |
+
Algoritma Best First Search
|
| 928 |
+
|
| 929 |
+
OPEN: node yang telah dibangkitkan dan memiliki nilai heuristik, tersimpan dalam antrian prioritas.
|
| 930 |
+
|
| 931 |
+
CLOSED: node yang sudah diuji.
|
| 932 |
+
|
| 933 |
+
Langkah-langkah:
|
| 934 |
+
1. Buat antrian prioritas Q dan masukkan status awal.
|
| 935 |
+
2. Ulangi selama Q tidak kosong:
|
| 936 |
+
Jika Q kosong → return Gagal.
|
| 937 |
+
Hapus node pertama dari Q dan pindahkan ke CLOSED.
|
| 938 |
+
Jika node tersebut adalah tujuan → kembalikan jalur dari status awal ke tujuan.
|
| 939 |
+
Jika bukan, bangkitkan semua successor dan masukkan ke Q berdasarkan nilai f(n) (yang terbaik di depan).
|
| 940 |
+
Jika solusi ditemukan → kembalikan solusi tersebut; jika tidak → return Gagal.
|
| 941 |
+
|
| 942 |
+
Pencarian Greedy
|
| 943 |
+
|
| 944 |
+
Mengekspansi node dengan biaya estimasi terkecil menuju tujuan (node yang terlihat paling dekat ke tujuan).
|
| 945 |
+
|
| 946 |
+
Fungsi evaluasi: f(n) = h(n)
|
| 947 |
+
Di mana h(n) adalah estimasi jarak ke tujuan.
|
| 948 |
+
|
| 949 |
+
Solusi dengan Greedy
|
| 950 |
+
|
| 951 |
+
Menggunakan jarak lurus ke tujuan sebagai estimasi (h(n)). Contoh: h(A) = 80.
|
| 952 |
+
|
| 953 |
+
Langkah-langkah:
|
| 954 |
+
Bangkitkan semua node anak dari status awal.
|
| 955 |
+
Pilih anak dengan nilai h(n) terkecil.
|
| 956 |
+
Ulangi proses sampai tujuan tercapai.
|
| 957 |
+
|
| 958 |
+
Tidak diperbolehkan kembali ke level sebelumnya.
|
| 959 |
+
|
| 960 |
+
Solusi tidak selalu optimal.
|
| 961 |
+
|
| 962 |
+
Rangkuman: Teknik Pencarian Greedy
|
| 963 |
+
|
| 964 |
+
Dirancang untuk menemukan solusi dengan cepat, meskipun tidak selalu optimal.
|
| 965 |
+
|
| 966 |
+
Rentan terhadap loop (perulangan) dan ketidaksuksesan.
|
| 967 |
+
|
| 968 |
+
Tidak selalu admissible, bisa saja nilai heuristiknya underestimate.
|
| 969 |
+
|
| 970 |
+
Kompleksitas waktu terburuk setara dengan DFS, dan kompleksitas ruang seperti BFS.
|
| 971 |
+
|
| 972 |
+
Heuristik yang baik dapat memberikan peningkatan kinerja signifikan.
|
| 973 |
+
|
| 974 |
+
Cocok digunakan ketika kecepatan lebih penting dari keoptimalan.
|
| 975 |
+
|
| 976 |
+
Pencarian A*
|
| 977 |
+
|
| 978 |
+
Mengombinasikan pencarian Uniform-Cost Search dan Greedy Search.
|
| 979 |
+
|
| 980 |
+
Menggunakan antrian prioritas serta fungsi evaluasi untuk menentukan urutan ekspansi.
|
| 981 |
+
|
| 982 |
+
Fungsi Evaluasi A*
|
| 983 |
+
|
| 984 |
+
f(n) = g(n) + h(n)
|
| 985 |
+
|
| 986 |
+
Di mana:
|
| 987 |
+
g(n) = biaya aktual dari awal ke node n.
|
| 988 |
+
h(n) = estimasi biaya dari n ke tujuan.
|
| 989 |
+
→ Maka, f(n) memperkirakan total biaya dari awal ke tujuan melalui n.
|
| 990 |
+
|
| 991 |
+
Dengan pendekatan ini, A* adalah algoritma complete dan optimal jika h(n) bersifat admissible.
|
| 992 |
+
|
| 993 |
+
Algoritma A*
|
| 994 |
+
|
| 995 |
+
Gunakan dua senarai: OPEN dan CLOSED
|
| 996 |
+
|
| 997 |
+
Untuk setiap node yang dibangkitkan (successor), ada 3 kemungkinan:
|
| 998 |
+
1. Sudah ada di OPEN
|
| 999 |
+
2. Sudah ada di CLOSED
|
| 1000 |
+
3. Belum ada di keduanya
|
| 1001 |
+
|
| 1002 |
+
Langkah-langkah Algoritma A* (versi ringkas)
|
| 1003 |
+
1. Buat antrian jalur parsial Q (awal: root → root, panjang 0).
|
| 1004 |
+
|
| 1005 |
+
2. Selama Q tidak kosong:
|
| 1006 |
+
Jika jalur P mencapai tujuan → return sukses.
|
| 1007 |
+
Hapus P dari Q.
|
| 1008 |
+
Kembangkan P, tambahkan jalur baru ke Q.
|
| 1009 |
+
Urutkan Q berdasarkan g + h.
|
| 1010 |
+
Pangkas Q dengan menyimpan jalur terpendek untuk setiap node.
|
| 1011 |
+
|
| 1012 |
+
3. Jika tidak ditemukan solusi → return gagal.
|
| 1013 |
+
|
| 1014 |
+
Varian dari A*
|
| 1015 |
+
|
| 1016 |
+
A* membutuhkan banyak memori seperti BFS. Beberapa varian dikembangkan untuk mengatasinya:
|
| 1017 |
+
IDA* (Iterative Deepening A*)
|
| 1018 |
+
MA* (Memory-Bounded A*)
|
| 1019 |
+
SMA* (Simplified Memory-Bounded A*)
|
| 1020 |
+
RBFS (Recursive Best-First Search)
|
| 1021 |
+
D* (Dynamic A*)
|
| 1022 |
+
|
| 1023 |
+
Pencarian Recursive Best-First Search (RBFS)
|
| 1024 |
+
|
| 1025 |
+
- Mengekspansi node dalam urutan best-first seperti DFS.
|
| 1026 |
+
- Menyimpan nilai f dari jalur alternatif terbaik.
|
| 1027 |
+
- Jika node saat ini melebihi limit, rekursi akan dilakukan ke jalur alternatif.
|
| 1028 |
+
- Nilai f akan diperbarui untuk mencerminkan jalur terbaik dari anak-anaknya.
|
| 1029 |
+
- Juga menyimpan nilai f dari daun terbaik yang "dilewatkan".
|
| 1030 |
+
|
| 1031 |
+
Algoritma RBFS (Pseudocode)
|
| 1032 |
+
|
| 1033 |
+
RBFS(n, l):
|
| 1034 |
+
if f(n) > l then return f(n)
|
| 1035 |
+
if n adalah tujuan then return solusi
|
| 1036 |
+
if n tidak punya anak then return ∞
|
| 1037 |
+
else untuk tiap anak ni dari n, set fi = f(ni)
|
| 1038 |
+
Urutkan anak berdasarkan fi
|
| 1039 |
+
if hanya satu anak maka f2 = ∞
|
| 1040 |
+
while f1 ≤ l dan f1 < ∞:
|
| 1041 |
+
f1 = RBFS(n1, min(l, f2))
|
| 1042 |
+
Update nilai f1 dan sisipkan kembali ke daftar
|
| 1043 |
+
return f1
|
| 1044 |
+
|
| 1045 |
+
Pencarian Beam
|
| 1046 |
+
|
| 1047 |
+
Pada A*, OPEN menyimpan semua node yang masih dapat digunakan.
|
| 1048 |
+
|
| 1049 |
+
Beam Search membatasi jumlah node di OPEN untuk mengurangi penggunaan memori.
|
| 1050 |
+
|
| 1051 |
+
Menggunakan heuristik f(n) = g(n) + h(n), namun hanya k node terbaik (dengan f(n) terkecil) yang dipertahankan.
|
| 1052 |
+
|
| 1053 |
+
Nilai k adalah parameter seperti batas kedalaman pada depth-limited search.
|
| 1054 |
+
|
| 1055 |
+
Tidak dijamin komplet maupun optimal.
|
| 1056 |
+
|
| 1057 |
+
Rangkuman
|
| 1058 |
+
|
| 1059 |
+
Pencarian Informed menggunakan pengetahuan spesifik masalah untuk memandu pencarian, meningkatkan efisiensi dibanding pencarian buta.
|
| 1060 |
+
|
| 1061 |
+
Konsep fungsi heuristik dan pendekatan seperti Greedy serta A* telah dipelajari.
|
| 1062 |
+
|
| 1063 |
+
Tujuan utama: menemukan solusi dengan jalur biaya minimum, meskipun tidak selalu mungkin untuk semua jenis masalah.
|
| 1064 |
+
|
| 1065 |
+
Fungsi heuristik mengurangi ruang pencarian dan mempercepat pencarian.
|
| 1066 |
+
|
| 1067 |
+
Heuristik yang baik sangat penting; semakin akurat estimasinya, semakin efisien pencariannya.
|
| 1068 |
+
|
| 1069 |
+
Greedy Search cepat, tapi tidak menjamin optimalitas.
|
| 1070 |
+
|
| 1071 |
+
Jika h(n) adalah admissible, maka A* bersifat lengkap dan optimal.
|
| 1072 |
+
|
| 1073 |
+
Kekurangan utama A* adalah penggunaan memori tinggi (bukan waktu).
|
| 1074 |
+
|
| 1075 |
+
Berbagai varian A* seperti IDA*, MA*, SMA*, RBFS, dan D* dirancang untuk mengatasi kendala memori.
|
| 1076 |
+
|
| 1077 |
+
Heuristik admissible bersifat optimistik, yaitu memperkirakan biaya lebih rendah dari sesungguhnya.
|
| 1078 |
+
|
| 1079 |
+
Kualitas heuristik dapat diukur melalui effective branching factor—semakin rendah nilainya (mendekati 1), semakin efisien.
|
data/KomunikasiDatadanJaringanKomputer.txt
ADDED
|
@@ -0,0 +1,1279 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Pengantar Komunikasi Data
|
| 2 |
+
|
| 3 |
+
Konsep Komunikasi Data
|
| 4 |
+
|
| 5 |
+
Komunikasi data adalah proses transmisi data secara elektronik melalui berbagai media, baik kabel maupun nirkabel (wireless), yang dikenal sebagai Electronic Data Interchange (EDI).
|
| 6 |
+
|
| 7 |
+
Sistem yang memungkinkan terjadinya transmisi data ini disebut jaringan komunikasi data, yaitu komponen penting dalam masyarakat modern yang didominasi oleh teknologi komputer, di mana informasi menjadi komoditas utama.
|
| 8 |
+
|
| 9 |
+
Definisi jaringan menurut beberapa sumber:
|
| 10 |
+
1. Seri atau deretan dari beberapa titik (node) yang saling terhubung (Gunadarma, 1993).
|
| 11 |
+
2. Deretan titik-titik (nodes) yang dihubungkan oleh saluran komunikasi.
|
| 12 |
+
3. Jaringan komputer adalah kumpulan perangkat komputer, printer, dan perangkat lainnya yang saling terhubung, memungkinkan pertukaran dokumen dan data melalui media transmisi (Dian Ardiyansah, www.ilmukomputer.com).
|
| 13 |
+
|
| 14 |
+
Kombinasi antara jaringan komunikasi data dan orang yang mengelola, mengirim, serta menerima informasi membentuk sistem komunikasi data.
|
| 15 |
+
|
| 16 |
+
Elemen Sistem Komunikasi Data
|
| 17 |
+
|
| 18 |
+
1. Source (Sumber)
|
| 19 |
+
Alat yang menghasilkan data untuk dikirim. Contoh: komputer pribadi (PC).
|
| 20 |
+
|
| 21 |
+
2. Transmitter (Pengirim)
|
| 22 |
+
Alat yang mengubah data dari bentuk aslinya ke bentuk yang dapat ditransmisikan melalui media. Contoh: modem yang mengubah bit stream digital menjadi sinyal analog agar bisa melewati jaringan telepon.
|
| 23 |
+
|
| 24 |
+
3. Transmission System (Sistem Transmisi)
|
| 25 |
+
Jalur tunggal atau jaringan kompleks yang menghubungkan sumber dan tujuan. Bisa berupa kabel, gelombang radio, serat optik, dsb.
|
| 26 |
+
|
| 27 |
+
4. Receiver (Penerima)
|
| 28 |
+
Alat yang menerima sinyal dari sistem transmisi dan mengubahnya kembali ke bentuk yang dapat diproses. Contoh: modem yang mengubah sinyal analog menjadi bit stream digital.
|
| 29 |
+
|
| 30 |
+
5. Destination (Tujuan)
|
| 31 |
+
Penerima akhir dari data yang dikirim, misalnya komputer pengguna.
|
| 32 |
+
|
| 33 |
+
Fungsi Sistem Komunikasi Data yang Efektif
|
| 34 |
+
|
| 35 |
+
Menyampaikan informasi kepada pihak yang tepat, pada waktu yang tepat.
|
| 36 |
+
|
| 37 |
+
Menyediakan informasi yang selalu mutakhir (up-to-date).
|
| 38 |
+
|
| 39 |
+
Memungkinkan komunikasi antara pihak yang berada di lokasi geografis yang berbeda.
|
| 40 |
+
|
| 41 |
+
Persyaratan (Requirement) Jaringan Komunikasi Data
|
| 42 |
+
|
| 43 |
+
1. Performance (Kinerja)
|
| 44 |
+
Diukur melalui waktu respon jaringan. Dipengaruhi oleh:
|
| 45 |
+
- Jumlah pengguna
|
| 46 |
+
- Kecepatan transmisi
|
| 47 |
+
- Jenis media transmisi yang digunakan
|
| 48 |
+
|
| 49 |
+
2. Konsistensi
|
| 50 |
+
Menjamin ketepatan data yang ditransmisikan dan waktu jeda antar kegagalan (failure).
|
| 51 |
+
|
| 52 |
+
3. Reliabilitas (Reliability)
|
| 53 |
+
Menunjukkan keandalan sistem komunikasi dalam menjalankan fungsi tanpa kesalahan.
|
| 54 |
+
|
| 55 |
+
4. Keamanan (Security)
|
| 56 |
+
Menjamin perlindungan terhadap data dari akses yang tidak sah, pencurian, kerusakan, atau penghancuran data.
|
| 57 |
+
|
| 58 |
+
Fakta tentang Komunikasi Data
|
| 59 |
+
|
| 60 |
+
Jaringan komunikasi data modern mendukung komunikasi multimedia: teks, gambar, dan suara (audio dan video).
|
| 61 |
+
|
| 62 |
+
Aplikasi yang menggunakan jaringan komunikasi data antara lain:
|
| 63 |
+
Teleconferencing
|
| 64 |
+
Telecommuting
|
| 65 |
+
Email
|
| 66 |
+
Home Banking
|
| 67 |
+
Electronic Data Transfer
|
| 68 |
+
World Wide Web (WWW)
|
| 69 |
+
Mailing List
|
| 70 |
+
E-Learning
|
| 71 |
+
Transaksi Elektronik, dan lainnya.
|
| 72 |
+
|
| 73 |
+
Arti Komunikasi Data
|
| 74 |
+
|
| 75 |
+
Komunikasi data adalah gabungan dari dua teknologi:
|
| 76 |
+
|
| 77 |
+
1. Teknik Telekomunikasi
|
| 78 |
+
Semua kegiatan yang berkaitan dengan penyaluran informasi dari satu tempat ke tempat lain.
|
| 79 |
+
|
| 80 |
+
2. Teknik Pengolahan Data (Data Processing)
|
| 81 |
+
Semua proses yang berkaitan dengan pemrosesan data.
|
| 82 |
+
|
| 83 |
+
Secara umum, komunikasi data adalah proses pengiriman informasi (data) yang telah dikodekan ke dalam format tertentu dan dikirimkan melalui media listrik atau optik dari satu lokasi ke lokasi lainnya.
|
| 84 |
+
|
| 85 |
+
Konsep Dasar Data
|
| 86 |
+
|
| 87 |
+
Data: Representasi informasi dalam bentuk formal yang cocok untuk proses komunikasi, interpretasi, atau pemrosesan oleh manusia dan mesin.
|
| 88 |
+
|
| 89 |
+
Informasi: Makna atau arti dari data berdasarkan konvensi atau kesepakatan.
|
| 90 |
+
|
| 91 |
+
Tiga istilah penting dalam komunikasi data:
|
| 92 |
+
Data
|
| 93 |
+
Sinyal
|
| 94 |
+
Transmisi
|
| 95 |
+
|
| 96 |
+
1. Data
|
| 97 |
+
Entitas yang membawa informasi atau makna.
|
| 98 |
+
|
| 99 |
+
Jenis Data:
|
| 100 |
+
Data Analog: Data kontinu yang menggambarkan fenomena fisik (misalnya suhu, suara).
|
| 101 |
+
Data Digital: Data dalam bentuk diskrit (0 dan 1), digunakan oleh komputer untuk pemrosesan.
|
| 102 |
+
|
| 103 |
+
2. Sinyal
|
| 104 |
+
Sinyal adalah representasi elektrik atau elektromagnetik dari data.
|
| 105 |
+
|
| 106 |
+
Jenis Sinyal:
|
| 107 |
+
Sinyal Analog: Bersifat kontinu.
|
| 108 |
+
Sinyal Digital: Bersifat diskrit.
|
| 109 |
+
|
| 110 |
+
Sistem komputer bekerja dengan sinyal digital, tetapi banyak proses transmisi masih menggunakan sinyal analog, sehingga konversi sinyal sering diperlukan.
|
| 111 |
+
|
| 112 |
+
3. Transmisi
|
| 113 |
+
Proses penyebaran dan pemrosesan sinyal melalui media transmisi.
|
| 114 |
+
|
| 115 |
+
Jenis Transmisi:
|
| 116 |
+
Transmisi Analog
|
| 117 |
+
Transmisi Digital
|
| 118 |
+
|
| 119 |
+
Keduanya dapat ditransmisikan melalui media transmisi yang sesuai seperti kabel, gelombang radio, atau serat optik.
|
| 120 |
+
|
| 121 |
+
Aspek Teknik dalam Komunikasi Data
|
| 122 |
+
|
| 123 |
+
Komputer umumnya menggunakan sinyal digital, sedangkan banyak sistem telekomunikasi masih menggunakan sinyal analog.
|
| 124 |
+
|
| 125 |
+
Namun, tren sistem telekomunikasi sekarang mulai beralih ke sinyal digital untuk kemudahan integrasi, kualitas komunikasi yang lebih baik, dan kapasitas yang lebih besar.
|
| 126 |
+
|
| 127 |
+
Pertimbangan dalam Perancangan Komunikasi Data
|
| 128 |
+
|
| 129 |
+
1. Analisis Ekonomi
|
| 130 |
+
2. Analisis Teknik
|
| 131 |
+
|
| 132 |
+
Beberapa aspek yang dipertimbangkan:
|
| 133 |
+
Tipe transaksi dan urgensinya
|
| 134 |
+
Lokasi pengguna
|
| 135 |
+
Tarif fasilitas komunikasi
|
| 136 |
+
Lalu lintas data
|
| 137 |
+
Urgensi dan prioritas data
|
| 138 |
+
Bahasa sistem yang digunakan
|
| 139 |
+
Keandalan dan ketepatan data
|
| 140 |
+
|
| 141 |
+
Lalu lintas data harus diperhitungkan secara teliti untuk menentukan jumlah peralatan yang diperlukan, waktu tanggap sistem, serta biaya operasional secara keseluruhan.
|
| 142 |
+
|
| 143 |
+
Rancangan over-dimensioned (berdasarkan lalu lintas maksimum) memerlukan biaya tinggi, tetapi memberikan layanan optimal.
|
| 144 |
+
|
| 145 |
+
Rancangan berdasarkan lalu lintas rata-rata lebih hemat biaya, namun kualitas layanan menurun.
|
| 146 |
+
|
| 147 |
+
Komponen Dasar Sistem Komunikasi Data
|
| 148 |
+
|
| 149 |
+
Agar komunikasi data dapat berlangsung, dibutuhkan minimal tiga komponen utama:
|
| 150 |
+
1. Transmitter (Pemancar)
|
| 151 |
+
Berfungsi sebagai sumber atau pengirim informasi.
|
| 152 |
+
2. Media Transmisi
|
| 153 |
+
Saluran tempat informasi disalurkan ke tujuan (misal: kabel, gelombang radio, serat optik).
|
| 154 |
+
3. Receiver (Penerima)
|
| 155 |
+
Alat yang menerima dan menafsirkan informasi yang dikirimkan oleh transmitter.
|
| 156 |
+
|
| 157 |
+
Protocol dan Standart
|
| 158 |
+
|
| 159 |
+
Protokol
|
| 160 |
+
|
| 161 |
+
Protokol adalah seperangkat aturan atau standar yang mengatur terjadinya hubungan, komunikasi, dan pertukaran data antara dua atau lebih titik dalam jaringan komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak, atau kombinasi dari keduanya. Pada level paling dasar, protokol mendefinisikan koneksi perangkat keras. Protokol juga digunakan untuk menentukan jenis layanan yang tersedia di jaringan, termasuk Internet.
|
| 162 |
+
|
| 163 |
+
Protokol Jaringan Komputer
|
| 164 |
+
|
| 165 |
+
Beberapa jenis protokol jaringan komputer antara lain:
|
| 166 |
+
|
| 167 |
+
1. IPX/SPX: Digunakan oleh jaringan Novell Netware.
|
| 168 |
+
|
| 169 |
+
2. NETBIOS/NETBEUI: Digunakan oleh jaringan Microsoft LAN Manager atau Microsoft Windows Networking.
|
| 170 |
+
|
| 171 |
+
3. AppleTalk: Digunakan oleh jaringan komputer Apple Macintosh.
|
| 172 |
+
|
| 173 |
+
4. TCP/IP (Transmission Control Protocol/Internet Protocol): Dikembangkan oleh DARPA (Defense Advanced Research Projects Agency) sebagai bagian dari proyek ARPANET dan digunakan secara luas di sistem operasi berbasis UNIX. Protokol ini kemudian menjadi standar protokol pada jaringan Internet karena sifatnya open system, yang berarti dapat diterapkan di berbagai jenis platform komputer.
|
| 174 |
+
|
| 175 |
+
Layanan Internet
|
| 176 |
+
|
| 177 |
+
Layanan Internet dibagi menjadi tiga kategori utama:
|
| 178 |
+
|
| 179 |
+
1. File Retrieval Protocols
|
| 180 |
+
Jenis layanan ini digunakan untuk mengambil informasi dari komputer lain yang terhubung ke Internet. Biasanya, layanan ini hanya menampilkan nama file tanpa grafik atau penjelasan isi secara lengkap.
|
| 181 |
+
|
| 182 |
+
a. FTP (File Transfer Protocol)
|
| 183 |
+
Merupakan protokol pada lapisan aplikasi yang digunakan untuk mentransfer berkas antar mesin dalam suatu jaringan. FTP adalah salah satu protokol Internet tertua dan masih digunakan hingga saat ini untuk mengunduh (download) atau mengunggah (upload) file antara klien FTP dan server FTP. Browser modern biasanya sudah mendukung FTP.
|
| 184 |
+
|
| 185 |
+
b. Gopher
|
| 186 |
+
Merupakan sistem pencarian informasi di Internet yang hanya berbasis teks (text-based). Untuk menggunakan Gopher, pengguna harus menghubungkan diri ke Gopher Server. Protokol ini sudah lama ditinggalkan karena tidak sesederhana HTTP.
|
| 187 |
+
|
| 188 |
+
c. Telnet
|
| 189 |
+
Protokol ini memungkinkan pengguna melakukan koneksi dan menjalankan program pada komputer jarak jauh (remote). Telnet sering digunakan untuk mengontrol sistem dari jauh. Pengguna memerlukan aplikasi khusus untuk menggunakan protokol ini.
|
| 190 |
+
|
| 191 |
+
2. Communications Protocols
|
| 192 |
+
Kategori ini mencakup protokol komunikasi yang memungkinkan pengguna untuk berkomunikasi secara:
|
| 193 |
+
|
| 194 |
+
Asynchronous (tidak perlu online secara bersamaan, contoh: email).
|
| 195 |
+
|
| 196 |
+
Synchronous (real-time communication, contoh: chat).
|
| 197 |
+
|
| 198 |
+
a. Email
|
| 199 |
+
Email merupakan metode komunikasi utama di Internet. Server email berfungsi seperti kantor pos yang mengirim dan menerima pesan dari pengguna yang memiliki akun. Email dapat diakses melalui aplikasi seperti Microsoft Outlook, Eudora, Outlook Express, atau melalui layanan berbasis web seperti Yahoo, Gmail, dan Hotmail.
|
| 200 |
+
|
| 201 |
+
Selain mengirim dan menerima pesan, email juga memungkinkan pengguna untuk berlangganan (subscribe) pada mailing list bertema tertentu, sehingga pengguna akan menerima pesan dari pengguna lain dengan ketertarikan serupa.
|
| 202 |
+
|
| 203 |
+
Contoh format mailto:
|
| 204 |
+
mailto:nama_email@namahost
|
| 205 |
+
Contoh: mailto:mauritsivan@yahoo.com
|
| 206 |
+
|
| 207 |
+
b. Usenet (Newsgroups)
|
| 208 |
+
Usenet mirip seperti papan buletin (bulletin board) atau email list tanpa perlu berlangganan. Siapa pun dapat mengirim dan membaca pesan dalam grup diskusi. Pesan yang dikirim biasanya akan terhapus otomatis setelah jangka waktu tertentu.
|
| 209 |
+
|
| 210 |
+
c. IRC (Internet Relay Chat)
|
| 211 |
+
Merupakan protokol komunikasi synchronous yang memungkinkan pengguna berinteraksi secara real-time. Respon muncul secara langsung saat pengguna lain mengirim pesan. IRC memerlukan aplikasi khusus, yang biasanya tersedia secara gratis.
|
| 212 |
+
|
| 213 |
+
3. Multimedia Information Protocols
|
| 214 |
+
a. HTTP (HyperText Transfer Protocol)
|
| 215 |
+
Protokol utama untuk mentransfer dokumen di World Wide Web (WWW). HTTP adalah protokol yang ringan, tanpa status, dan generik, yang dapat digunakan untuk berbagai jenis dokumen seperti teks, gambar, audio, dan video.
|
| 216 |
+
|
| 217 |
+
Metode Pengalamatan di Internet
|
| 218 |
+
|
| 219 |
+
Dengan menggunakan protokol TCP/IP, setiap komputer yang terhubung ke jaringan harus memiliki alamat IP (Internet Protocol Address) yang unik. Alamat IP terdiri dari 32-bit dan biasanya ditulis dalam format desimal yang dibagi menjadi empat bagian dan dipisahkan oleh titik.
|
| 220 |
+
|
| 221 |
+
Contoh alamat IP: 192.15.0.1
|
| 222 |
+
|
| 223 |
+
Namun, saat ini sudah ada teknik seperti NAT (Network Address Translation) yang memungkinkan satu alamat IP digunakan oleh banyak komputer secara bersamaan.
|
| 224 |
+
|
| 225 |
+
Host
|
| 226 |
+
|
| 227 |
+
Host adalah komputer yang terhubung ke jaringan (dalam konteks ini, Internet) dan menyediakan layanan kepada komputer atau perangkat lain yang terhubung kepadanya.
|
| 228 |
+
|
| 229 |
+
Domain
|
| 230 |
+
|
| 231 |
+
Domain adalah sistem penamaan host di Internet yang menyusun posisi host dalam struktur hierarki. Di bawah domain utama, dapat terdapat subdomain.
|
| 232 |
+
|
| 233 |
+
Penetapan nama domain dan IP Address tidak dapat dilakukan sembarangan. Permohonan harus diajukan ke Internet Network Information Center (InterNIC), yaitu badan yang mengelola alokasi IP Address dan nama domain, bukan sebagai pengelola Internet secara keseluruhan.
|
| 234 |
+
|
| 235 |
+
Beberapa Jenis Domain di Internet:
|
| 236 |
+
|
| 237 |
+
.com, .co
|
| 238 |
+
Digunakan untuk badan komersial
|
| 239 |
+
Contoh: yahoo.com, rcti.co.id
|
| 240 |
+
|
| 241 |
+
.edu, .ac
|
| 242 |
+
Digunakan untuk lembaga pendidikan
|
| 243 |
+
Contoh: ucla.edu, gunadarma.ac.id
|
| 244 |
+
|
| 245 |
+
.gov, .go
|
| 246 |
+
Digunakan untuk lembaga pemerintahan
|
| 247 |
+
Contoh: fbi.gov, bppt.go.id
|
| 248 |
+
|
| 249 |
+
.net
|
| 250 |
+
Digunakan untuk jaringan dan ISP (Internet Service Provider)
|
| 251 |
+
Contoh: ibm.net
|
| 252 |
+
|
| 253 |
+
.mil
|
| 254 |
+
Digunakan untuk institusi militer
|
| 255 |
+
Contoh: af.mil
|
| 256 |
+
|
| 257 |
+
.org, .or
|
| 258 |
+
Digunakan untuk organisasi non-profit
|
| 259 |
+
Contoh: scout.org, asean.or.id
|
| 260 |
+
|
| 261 |
+
Beberapa Domain Berdasarkan Negara:
|
| 262 |
+
|
| 263 |
+
.id → Indonesia
|
| 264 |
+
.au → Australia
|
| 265 |
+
.ca → Kanada
|
| 266 |
+
.fr → Prancis
|
| 267 |
+
.my → Malaysia
|
| 268 |
+
.sg → Singapura
|
| 269 |
+
.uk → Inggris
|
| 270 |
+
|
| 271 |
+
dan lain-lain
|
| 272 |
+
|
| 273 |
+
Format Penamaan Host di Internet:
|
| 274 |
+
|
| 275 |
+
host.subdomain.domain
|
| 276 |
+
|
| 277 |
+
Contoh: mail.google.com
|
| 278 |
+
mail: host
|
| 279 |
+
google: subdomain
|
| 280 |
+
com: domain utama
|
| 281 |
+
|
| 282 |
+
Osi Model
|
| 283 |
+
|
| 284 |
+
OSI: Sejarah, Definisi, dan Tujuan
|
| 285 |
+
|
| 286 |
+
OSI (Open System Interconnection) adalah model referensi jaringan terbuka yang dikembangkan oleh International Organization for Standardization (ISO) pada tahun 1977 di Eropa.
|
| 287 |
+
|
| 288 |
+
OSI sering disebut juga sebagai Model Tujuh Lapis OSI (OSI Seven Layer Model) karena membagi proses komunikasi jaringan menjadi 7 lapisan.
|
| 289 |
+
|
| 290 |
+
Sebelum adanya OSI, sistem jaringan komputer sangat tergantung pada vendor tertentu, sehingga sulit untuk menciptakan komunikasi antar perangkat dari vendor berbeda.
|
| 291 |
+
|
| 292 |
+
Tujuan utama OSI adalah menciptakan standar umum jaringan komputer agar perangkat dari berbagai vendor dapat berinteroperasi.
|
| 293 |
+
|
| 294 |
+
Apa Itu Protokol?
|
| 295 |
+
|
| 296 |
+
Protokol adalah sekumpulan aturan atau tata cara (bahasa kesepakatan) dalam komunikasi data antara perangkat komunikasi.
|
| 297 |
+
|
| 298 |
+
Protokol menentukan secara detail bagaimana komputer berinteraksi, termasuk:
|
| 299 |
+
Format pesan yang ditukar,
|
| 300 |
+
Cara penanganan kesalahan,
|
| 301 |
+
Tahapan komunikasi secara menyeluruh.
|
| 302 |
+
|
| 303 |
+
Tiga aspek utama yang diatur oleh protokol komunikasi:
|
| 304 |
+
1. Bagaimana data direpresentasikan dan dikodekan,
|
| 305 |
+
2. Bagaimana data ditransmisikan,
|
| 306 |
+
3. Bagaimana kesalahan atau kegagalan dideteksi dan ditangani.
|
| 307 |
+
|
| 308 |
+
Tujuh Lapis Model OSI
|
| 309 |
+
|
| 310 |
+
Model OSI dibagi menjadi dua kelompok besar:
|
| 311 |
+
|
| 312 |
+
A. Host Layer (Lapisan atas):
|
| 313 |
+
1. Application Layer
|
| 314 |
+
Menyediakan antarmuka antara pengguna dan jaringan.
|
| 315 |
+
|
| 316 |
+
Digunakan melalui aplikasi seperti:
|
| 317 |
+
E-mail: POP3, SMTP
|
| 318 |
+
File transfer: FTP
|
| 319 |
+
Web browsing: HTTP
|
| 320 |
+
|
| 321 |
+
2. Presentation Layer
|
| 322 |
+
Mengubah dan menerjemahkan data agar bisa dipahami oleh aplikasi.
|
| 323 |
+
|
| 324 |
+
Berfungsi untuk:
|
| 325 |
+
Enkripsi/dekripsi,
|
| 326 |
+
Kompresi data,
|
| 327 |
+
Translasi format data.
|
| 328 |
+
|
| 329 |
+
Contoh protokol: ASCII, JPEG, MPEG, TIFF, PICT, MIDI, EBCDIC.
|
| 330 |
+
|
| 331 |
+
3. Session Layer
|
| 332 |
+
|
| 333 |
+
Bertanggung jawab atas:
|
| 334 |
+
Membangun,
|
| 335 |
+
Memelihara,
|
| 336 |
+
Mengakhiri sesi komunikasi antar aplikasi.
|
| 337 |
+
|
| 338 |
+
Protokol/layanan: XWindows, SQL, RPC, NETBEUI, ASP, DNASCP.
|
| 339 |
+
|
| 340 |
+
4. Transport Layer
|
| 341 |
+
Menyediakan layanan pengiriman data yang handal dan teratur.
|
| 342 |
+
|
| 343 |
+
Bertugas untuk:
|
| 344 |
+
Memastikan keutuhan data,
|
| 345 |
+
Mengatur panjang, jumlah, dan urutan paket.
|
| 346 |
+
Contoh protokol: TCP, UDP.
|
| 347 |
+
|
| 348 |
+
B. Media Layer (Lapisan bawah):
|
| 349 |
+
5. Network Layer
|
| 350 |
+
Mengatur pengalamatan dan routing antar perangkat dalam jaringan.
|
| 351 |
+
|
| 352 |
+
Berfungsi untuk meneruskan paket antar node.
|
| 353 |
+
|
| 354 |
+
Contoh protokol: IP, ICMP.
|
| 355 |
+
|
| 356 |
+
6. Data Link Layer
|
| 357 |
+
Menyiapkan data untuk dikirim ke media fisik dalam bentuk frame.
|
| 358 |
+
|
| 359 |
+
Bertanggung jawab atas:
|
| 360 |
+
Pengendalian kesalahan (error control),
|
| 361 |
+
Pengendalian arus data (flow control),
|
| 362 |
+
Deteksi dan koreksi kesalahan.
|
| 363 |
+
|
| 364 |
+
7. Physical Layer
|
| 365 |
+
Menangani transmisi data secara fisik dalam bentuk sinyal listrik, optik, atau gelombang radio.
|
| 366 |
+
|
| 367 |
+
Mengubah bit menjadi sinyal yang sesuai dengan media transmisi.
|
| 368 |
+
|
| 369 |
+
Jenis media transmisi:
|
| 370 |
+
Kabel logam (tembaga),
|
| 371 |
+
Kabel optik (fiber optic),
|
| 372 |
+
Gelombang radio (nirkabel).
|
| 373 |
+
|
| 374 |
+
Sejarah dan Perkembangan TCP/IP
|
| 375 |
+
|
| 376 |
+
TCP/IP mulai diteliti dan dikembangkan oleh Departemen Pertahanan AS (US DoD) pada tahun 1973.
|
| 377 |
+
|
| 378 |
+
Tujuannya adalah untuk menghubungkan berbagai jaringan berbeda dari berbagai vendor ke dalam jaringan yang lebih besar (internet).
|
| 379 |
+
|
| 380 |
+
Pada tahun 1977 dilakukan pengujian awal, dan pada 1983 TCP/IP resmi digunakan sebagai protokol utama ARPANET.
|
| 381 |
+
|
| 382 |
+
Seiring waktu, TCP/IP menjadi standar dominan untuk komunikasi data global.
|
| 383 |
+
|
| 384 |
+
Pengembangan TCP/IP dilakukan oleh berbagai organisasi, seperti:
|
| 385 |
+
ISOC (Internet Society),
|
| 386 |
+
IAB (Internet Architecture Board),
|
| 387 |
+
IETF (Internet Engineering Task Force).
|
| 388 |
+
|
| 389 |
+
Seluruh spesifikasi TCP/IP, protokol tambahan, dan skema pengalamatan didokumentasikan dalam RFC (Request for Comment).
|
| 390 |
+
|
| 391 |
+
IP (Internet Protocol)
|
| 392 |
+
|
| 393 |
+
IP adalah protokol jaringan terpopuler di seluruh dunia.
|
| 394 |
+
|
| 395 |
+
Kelebihan IP:
|
| 396 |
+
Menyediakan ratusan juta alamat unik, tidak ada duplikasi,
|
| 397 |
+
Mendukung banyak aplikasi di lapisan aplikasi (Layer 7), seperti FTP, HTTP, SNMP, dan lainnya.
|
| 398 |
+
|
| 399 |
+
Dua jenis utama IP:
|
| 400 |
+
1. IPv4
|
| 401 |
+
Diperkenalkan sejak tahun 1970-an,
|
| 402 |
+
Panjang alamat: 32 bit (~4 miliar alamat).
|
| 403 |
+
|
| 404 |
+
2. IPv6
|
| 405 |
+
Dikembangkan mulai 1990-an,
|
| 406 |
+
Panjang alamat: 128 bit (~340 undecillion alamat),
|
| 407 |
+
Dirancang untuk mengatasi keterbatasan jumlah alamat pada IPv4.
|
| 408 |
+
|
| 409 |
+
Arsitektur Jaringan
|
| 410 |
+
|
| 411 |
+
Arsitektur Komputer
|
| 412 |
+
|
| 413 |
+
Arsitektur Komputer adalah konsep perencanaan dan struktur pengoperasian dasar dari suatu sistem komputer. Arsitektur ini merupakan rencana cetak biru (blueprint) dan deskripsi fungsional dari kebutuhan bagian perangkat keras yang dirancang, mencakup kecepatan proses dan sistem interkoneksinya.
|
| 414 |
+
|
| 415 |
+
Jaringan Komputer
|
| 416 |
+
|
| 417 |
+
Jaringan komputer adalah suatu sistem yang terdiri dari kumpulan komputer otonom (autonomous)—artinya setiap komputer memiliki kendali atas dirinya sendiri—yang saling terhubung dengan perangkat jaringan lainnya menggunakan protokol komunikasi melalui media transmisi, dengan tujuan utama untuk saling berbagi informasi, sumber daya, dan layanan.
|
| 418 |
+
|
| 419 |
+
Requirement (Persyaratan Jaringan Komputer)
|
| 420 |
+
|
| 421 |
+
Beberapa prasyarat utama dalam membangun jaringan komputer, antara lain:
|
| 422 |
+
|
| 423 |
+
1. Interkoneksi
|
| 424 |
+
Menghubungkan berbagai jenis dan jumlah komputer.
|
| 425 |
+
Mendukung komunikasi antar aplikasi dengan biaya yang efektif (cost-effective).
|
| 426 |
+
|
| 427 |
+
2. Fleksibilitas
|
| 428 |
+
Mampu menyesuaikan perubahan kebutuhan aplikasi, teknologi, dan kapasitas jaringan.
|
| 429 |
+
|
| 430 |
+
3. Perlu Rancangan yang Terstruktur
|
| 431 |
+
Arsitektur jaringan dibutuhkan sebagai struktur dan model dalam membangun dan mengimplementasikan jaringan.
|
| 432 |
+
Arsitektur ini bersifat umum, mampu memenuhi berbagai kebutuhan jaringan yang berbeda.
|
| 433 |
+
Memungkinkan abstraksi atas kerumitan (complexity) dan mengakomodasi perkembangan teknologi.
|
| 434 |
+
|
| 435 |
+
Tujuan Jaringan Komputer
|
| 436 |
+
|
| 437 |
+
1. Berbagi Sumber Daya (Resource Sharing)
|
| 438 |
+
Contoh: pemakaian printer, CPU, memori, dan hard disk secara bersama-sama.
|
| 439 |
+
|
| 440 |
+
2. Komunikasi
|
| 441 |
+
Contoh: surat elektronik (email), pesan instan (instant messaging), dan chatting.
|
| 442 |
+
|
| 443 |
+
3. Akses Informasi
|
| 444 |
+
Contoh: penjelajahan web (web browsing) untuk mencari data dan informasi.
|
| 445 |
+
|
| 446 |
+
Struktur Jaringan Komputer
|
| 447 |
+
|
| 448 |
+
1. End Devices (Perangkat Akhir)
|
| 449 |
+
Komputer (workstations, laptop, file server, web server)
|
| 450 |
+
Printer jaringan (network printers)
|
| 451 |
+
Telepon VoIP, kamera keamanan (CCTV), dan perangkat genggam mobile (seperti scanner barcode nirkabel, PDA)
|
| 452 |
+
|
| 453 |
+
2. Intermediary Devices (Perangkat Penghubung)
|
| 454 |
+
Perangkat akses jaringan (hub, switch, wireless access point)
|
| 455 |
+
Perangkat internetworking (router)
|
| 456 |
+
Server komunikasi dan modem
|
| 457 |
+
Perangkat keamanan (firewall)
|
| 458 |
+
|
| 459 |
+
3. Services
|
| 460 |
+
Layanan yang berjalan dalam jaringan, seperti DNS, DHCP, email, dan file sharing.
|
| 461 |
+
|
| 462 |
+
4. Medium (Media Transmisi)
|
| 463 |
+
Media yang digunakan untuk mentransmisikan data, seperti kabel tembaga, serat optik, dan gelombang radio.
|
| 464 |
+
|
| 465 |
+
Perbedaan Arsitektur Fisik dan Logik
|
| 466 |
+
|
| 467 |
+
1. Topologi Fisik (Physical Topology)
|
| 468 |
+
Menjelaskan susunan fisik dari kabel, perangkat keras, komputer, serta lokasi dari semua komponen jaringan.
|
| 469 |
+
|
| 470 |
+
2. Topologi Logik (Logical Topology)
|
| 471 |
+
Menjelaskan alur logika atau aliran data dalam jaringan, tanpa memerhatikan bagaimana perangkat-perangkat tersebut tersusun secara fisik.
|
| 472 |
+
|
| 473 |
+
Arsitektur Fisik Jaringan Komputer Berdasarkan Fungsi
|
| 474 |
+
|
| 475 |
+
1. Peer-to-Peer
|
| 476 |
+
Setiap komputer (host) dalam jaringan dapat berfungsi sebagai server maupun client.
|
| 477 |
+
Tidak ada hierarki; semua komputer memiliki kedudukan yang setara.
|
| 478 |
+
|
| 479 |
+
2. Client-Server
|
| 480 |
+
Terdapat satu atau beberapa komputer khusus sebagai server.
|
| 481 |
+
Server memberikan layanan kepada komputer-komputer client.
|
| 482 |
+
Hierarki jelas: server berada pada posisi lebih tinggi dibanding client.
|
| 483 |
+
|
| 484 |
+
3. Jaringan Terpusat
|
| 485 |
+
Komputer server bertanggung jawab untuk memproses dan menyimpan data.
|
| 486 |
+
Komputer client mengakses dan memproses data dari server.
|
| 487 |
+
|
| 488 |
+
4. Jaringan Terdistribusi
|
| 489 |
+
Gabungan dari beberapa jaringan terpusat.
|
| 490 |
+
Terdapat beberapa server yang saling terhubung dan melayani client secara terkoordinasi membentuk sistem jaringan yang luas.
|
| 491 |
+
|
| 492 |
+
Arsitektur Fisik Jaringan Komputer Berdasarkan Skala
|
| 493 |
+
|
| 494 |
+
1. LAN (Local Area Network) – Jaringan lokal dalam ruang lingkup kecil, seperti dalam satu gedung.
|
| 495 |
+
|
| 496 |
+
2. MAN (Metropolitan Area Network) – Jaringan dalam skala kota atau wilayah metropolitan.
|
| 497 |
+
|
| 498 |
+
3. WAN (Wide Area Network) – Jaringan berskala luas yang menghubungkan beberapa lokasi geografis.
|
| 499 |
+
|
| 500 |
+
4. Intranet – Jaringan privat untuk organisasi/perusahaan.
|
| 501 |
+
|
| 502 |
+
5. Internet – Jaringan global yang menghubungkan berbagai jaringan komputer di seluruh dunia.
|
| 503 |
+
|
| 504 |
+
6. Wireless – Jaringan tanpa kabel (nirkabel), menggunakan gelombang radio atau sinyal infra merah.
|
| 505 |
+
|
| 506 |
+
Arsitektur Fisik Jaringan Komputer Berdasarkan Topologi
|
| 507 |
+
|
| 508 |
+
1. Topologi Bus – Semua perangkat terhubung pada satu kabel utama (backbone).
|
| 509 |
+
|
| 510 |
+
2. Topologi Star – Semua perangkat terhubung ke satu titik pusat (biasanya switch atau hub).
|
| 511 |
+
|
| 512 |
+
3. Topologi Tree – Gabungan dari topologi star yang membentuk struktur bercabang.
|
| 513 |
+
|
| 514 |
+
4. Topologi Mesh – Setiap perangkat terhubung langsung ke perangkat lainnya.
|
| 515 |
+
|
| 516 |
+
5. Topologi Ring – Perangkat terhubung dalam bentuk lingkaran tertutup.
|
| 517 |
+
|
| 518 |
+
6. Topologi Hybrid – Kombinasi dari dua atau lebih jenis topologi di atas.
|
| 519 |
+
|
| 520 |
+
Perangkat Jaringan
|
| 521 |
+
|
| 522 |
+
Apa Itu Komputer Server?
|
| 523 |
+
|
| 524 |
+
Dalam suatu jaringan komputer, terdapat dua jenis perangkat utama, yaitu komputer server dan komputer client.
|
| 525 |
+
Komputer server adalah perangkat yang digunakan untuk mengelola seluruh aktivitas dalam jaringan, mulai dari penyimpanan data, pengaturan akses, hingga pelayanan terhadap permintaan dari komputer client.
|
| 526 |
+
|
| 527 |
+
Fungsi Komputer Server
|
| 528 |
+
|
| 529 |
+
Komputer server memiliki berbagai fungsi penting dalam sistem jaringan, antara lain:
|
| 530 |
+
1. Menyediakan database atau file yang dapat digunakan secara bersama-sama oleh komputer client.
|
| 531 |
+
2. Melayani permintaan dari komputer client untuk mengakses database atau file.
|
| 532 |
+
3. Mengatur lalu lintas data atau file yang diminta oleh komputer client.
|
| 533 |
+
4. Menyimpan data atau file yang dikirimkan oleh komputer client.
|
| 534 |
+
5. Mengatur hak akses data atau file dalam jaringan agar tidak semua pengguna bisa mengakses sembarangan.
|
| 535 |
+
6. Melindungi komputer client dari serangan malware menggunakan perangkat lunak antivirus atau firewall.
|
| 536 |
+
|
| 537 |
+
Jenis-Jenis Server
|
| 538 |
+
|
| 539 |
+
Berikut beberapa jenis server berdasarkan fungsi dan layanan yang disediakan:
|
| 540 |
+
|
| 541 |
+
1. Web Server
|
| 542 |
+
Digunakan untuk menyimpan data dan file yang diperlukan agar sebuah situs web dapat diakses melalui browser. Server ini melayani permintaan pengguna untuk menampilkan halaman web.
|
| 543 |
+
|
| 544 |
+
2. Mail Server
|
| 545 |
+
Bertanggung jawab untuk mengelola dan menyampaikan layanan email, baik dalam pengiriman maupun penerimaan pesan elektronik.
|
| 546 |
+
|
| 547 |
+
3. FTP Server (File Transfer Protocol Server)
|
| 548 |
+
Berfungsi untuk mengatur lalu lintas transfer file yang dilakukan melalui protokol FTP. Umumnya digunakan untuk mengunggah dan mengunduh file secara online.
|
| 549 |
+
|
| 550 |
+
4. Application Server
|
| 551 |
+
Mirip dengan web server, namun lebih dikhususkan untuk melayani aplikasi web, seperti sistem informasi berbasis web yang digunakan oleh banyak pengguna.
|
| 552 |
+
|
| 553 |
+
Cara Kerja Komputer Server
|
| 554 |
+
|
| 555 |
+
Secara sederhana, server bekerja untuk memenuhi permintaan dari komputer client.
|
| 556 |
+
|
| 557 |
+
Contohnya:
|
| 558 |
+
Saat Anda mengakses suatu alamat website menggunakan browser, komputer Anda bertindak sebagai client. Permintaan Anda dikirim ke web server yang menyimpan data situs tersebut. Server kemudian merespons dengan mengirimkan data atau konten website ke browser Anda, sehingga halaman website dapat ditampilkan dengan sempurna.
|
| 559 |
+
|
| 560 |
+
Proses ini dikenal sebagai arsitektur client-server, di mana client mengajukan permintaan (request), dan server memberikan respons (response).
|
| 561 |
+
|
| 562 |
+
Perbedaan Komputer Server dan Komputer Client
|
| 563 |
+
|
| 564 |
+
Perbedaan antara komputer client dan komputer server dapat dijelaskan sebagai berikut:
|
| 565 |
+
|
| 566 |
+
1. Fungsi Utama:
|
| 567 |
+
|
| 568 |
+
Komputer client digunakan sebagai perangkat untuk kebutuhan komputasi umum oleh pengguna akhir.
|
| 569 |
+
|
| 570 |
+
Komputer server berfungsi untuk melayani permintaan dari komputer client dan mengelola seluruh kinerja jaringan.
|
| 571 |
+
|
| 572 |
+
2. Perangkat Keras (Hardware):
|
| 573 |
+
|
| 574 |
+
Komputer client biasanya menggunakan perangkat keras standar (low-end) dengan performa sedang dan harga yang lebih terjangkau.
|
| 575 |
+
|
| 576 |
+
Komputer server menggunakan perangkat keras kelas atas (high-end) yang dirancang untuk bekerja terus-menerus, memiliki ketahanan tinggi, dan performa yang stabil.
|
| 577 |
+
|
| 578 |
+
3. Perangkat Lunak (Software):
|
| 579 |
+
|
| 580 |
+
Komputer client menggunakan sistem operasi yang mudah digunakan oleh pengguna umum, seperti Windows, MacOS, atau Linux Desktop.
|
| 581 |
+
|
| 582 |
+
Komputer server menggunakan sistem operasi khusus yang dirancang untuk keperluan jaringan, seperti Windows Server, Linux Server, atau Ubuntu Server.
|
| 583 |
+
|
| 584 |
+
4. Kebutuhan Operasional:
|
| 585 |
+
|
| 586 |
+
Komputer client tidak perlu menyala sepanjang waktu, bisa dimatikan jika tidak digunakan.
|
| 587 |
+
|
| 588 |
+
Komputer server harus menyala selama 24 jam nonstop, sehingga memerlukan sistem pendingin (AC/server room) agar tidak overheat, serta sumber daya cadangan seperti UPS (Uninterruptible Power Supply) untuk menjaga agar tetap aktif saat listrik padam.
|
| 589 |
+
|
| 590 |
+
Subnetting
|
| 591 |
+
|
| 592 |
+
Subnetting dan Variable Length Subnet Mask (VLSM)
|
| 593 |
+
|
| 594 |
+
Pengertian Subnetting
|
| 595 |
+
|
| 596 |
+
Subnetting adalah proses membagi satu jaringan IP yang besar menjadi beberapa jaringan yang lebih kecil, yang disebut subnet (subnetwork). Tujuan utamanya adalah untuk mengoptimalkan penggunaan alamat IP dan meningkatkan efisiensi pengelolaan jaringan.
|
| 597 |
+
|
| 598 |
+
Subnetting dilakukan dengan cara mengambil sebagian bit dari Host ID untuk digunakan sebagai Subnet ID, sehingga jumlah bit untuk Host ID menjadi lebih sedikit. Semakin banyak bit yang dialokasikan untuk Subnet ID:
|
| 599 |
+
Jumlah subnet meningkat.
|
| 600 |
+
Jumlah host per subnet menurun.
|
| 601 |
+
|
| 602 |
+
Subnet Mask
|
| 603 |
+
|
| 604 |
+
Subnet mask adalah angka biner 32-bit yang digunakan untuk:
|
| 605 |
+
1. Membedakan antara Network ID dan Host ID.
|
| 606 |
+
2. Menentukan apakah sebuah host berada di jaringan lokal atau jaringan luar.
|
| 607 |
+
|
| 608 |
+
Contoh default subnet mask berdasarkan kelas:
|
| 609 |
+
Class A: 255.0.0.0
|
| 610 |
+
Class B: 255.255.0.0
|
| 611 |
+
Class C: 255.255.255.0
|
| 612 |
+
|
| 613 |
+
Tujuan Subnetting
|
| 614 |
+
|
| 615 |
+
1. Mempercepat pengiriman data dalam jaringan.
|
| 616 |
+
2. Memudahkan pengaturan dan manajemen alamat IP.
|
| 617 |
+
3. Membagi satu kelas jaringan menjadi beberapa subnetwork.
|
| 618 |
+
4. Menentukan apakah sebuah host berada dalam jaringan tertentu.
|
| 619 |
+
5. Mengoptimalkan penggunaan IP address agar lebih efisien.
|
| 620 |
+
|
| 621 |
+
CIDR (Classless Inter-Domain Routing)
|
| 622 |
+
|
| 623 |
+
CIDR adalah metode yang digunakan untuk mengalokasikan alamat IP dan melakukan routing paket di jaringan Internet secara lebih fleksibel dibandingkan metode pengalamatan classful.
|
| 624 |
+
|
| 625 |
+
Diperkenalkan oleh IETF pada tahun 1993.
|
| 626 |
+
|
| 627 |
+
Mengganti sistem pengalamatan berbasis kelas (Class A, B, C).
|
| 628 |
+
|
| 629 |
+
Menggunakan notasi seperti: 192.168.1.0/24.
|
| 630 |
+
|
| 631 |
+
Tujuan utama CIDR:
|
| 632 |
+
Memperlambat pertumbuhan tabel routing di Internet.
|
| 633 |
+
Menghemat penggunaan alamat IPv4.
|
| 634 |
+
|
| 635 |
+
Contoh Subnetting – Network Mask
|
| 636 |
+
|
| 637 |
+
|
| 638 |
+
Misalnya kita memiliki alamat IP kelas A:
|
| 639 |
+
|
| 640 |
+
IP Address: 8.20.15.1
|
| 641 |
+
Subnet Mask: 255.0.0.0
|
| 642 |
+
|
| 643 |
+
Jika dikonversi ke biner:
|
| 644 |
+
|
| 645 |
+
IP Address : 00001000.00010100.00001111.00000001
|
| 646 |
+
Subnet Mask : 11111111.00000000.00000000.00000000
|
| 647 |
+
|
| 648 |
+
Dari sini bisa diketahui:
|
| 649 |
+
Network ID: 8
|
| 650 |
+
Host ID: 20.15.1
|
| 651 |
+
|
| 652 |
+
Perhitungan Subnetting
|
| 653 |
+
|
| 654 |
+
Secara umum, pertanyaan tentang subnetting akan berkisar pada 4 hal utama:
|
| 655 |
+
|
| 656 |
+
1. Jumlah Subnet
|
| 657 |
+
Rumus: 2^x,
|
| 658 |
+
x = jumlah bit 1 pada bagian subnet mask tambahan (dari Host ID).
|
| 659 |
+
|
| 660 |
+
2. Jumlah Host per Subnet
|
| 661 |
+
Rumus: 2^y - 2,
|
| 662 |
+
y = jumlah bit 0 pada bagian Host ID.
|
| 663 |
+
|
| 664 |
+
3. Blok Subnet
|
| 665 |
+
Rumus: 256 - nilai oktet terakhir subnet mask.
|
| 666 |
+
Alamat broadcast adalah alamat tertinggi dalam subnet.
|
| 667 |
+
Alamat host adalah semua alamat antara network address dan broadcast address.
|
| 668 |
+
|
| 669 |
+
Contoh Soal Subnetting – IP Address Kelas C
|
| 670 |
+
|
| 671 |
+
Network Address: 192.168.1.0/26
|
| 672 |
+
|
| 673 |
+
Langkah-langkah:
|
| 674 |
+
Subnet mask default Class C adalah /24, sehingga:
|
| 675 |
+
26 - 24 = 2 bit tambahan (untuk subnet)
|
| 676 |
+
32 - 26 = 6 bit sisa (untuk host)
|
| 677 |
+
|
| 678 |
+
Subnet mask dalam biner:
|
| 679 |
+
11111111.11111111.11111111.11000000
|
| 680 |
+
= 255.255.255.192
|
| 681 |
+
|
| 682 |
+
Hasil:
|
| 683 |
+
Jumlah Subnet
|
| 684 |
+
2^2 = 4 subnet
|
| 685 |
+
|
| 686 |
+
Jumlah Host per Subnet
|
| 687 |
+
2^6 - 2 = 64 - 2 = 62 host
|
| 688 |
+
|
| 689 |
+
Blok Subnet
|
| 690 |
+
256 - 192 = 64,
|
| 691 |
+
Subnet dimulai dari: 0, 64, 128, 192
|
| 692 |
+
|
| 693 |
+
Routing
|
| 694 |
+
|
| 695 |
+
Pendahuluan
|
| 696 |
+
|
| 697 |
+
Fungsi utama dari network layer adalah untuk melakukan pengalamatan dan routing.
|
| 698 |
+
|
| 699 |
+
Routing merupakan fungsi penting yang bertanggung jawab untuk mengirimkan data melalui serangkaian jaringan dengan memilih jalur terbaik.
|
| 700 |
+
|
| 701 |
+
Tugas routing dilaksanakan oleh perangkat jaringan yang disebut router.
|
| 702 |
+
|
| 703 |
+
Router
|
| 704 |
+
|
| 705 |
+
Router adalah perangkat jaringan (komputer khusus atau umum) yang berfungsi untuk menghubungkan dua jaringan atau lebih.
|
| 706 |
+
|
| 707 |
+
Jenis-jenis router:
|
| 708 |
+
1. Router berbasis komputer (PC): Komputer umum yang dikonfigurasi menjadi router.
|
| 709 |
+
2. Router khusus (dedicated device): Perangkat yang memang dirancang sebagai router.
|
| 710 |
+
|
| 711 |
+
Tugas utama router adalah meneruskan data (forwarding) menggunakan routing protocol. Agar proses ini berjalan, fitur IP Forwarding harus diaktifkan.
|
| 712 |
+
|
| 713 |
+
Data dikendalikan oleh protokol routing yang digunakan.
|
| 714 |
+
|
| 715 |
+
Komputer (PC) sebagai Router
|
| 716 |
+
|
| 717 |
+
Komputer dengan dua atau lebih Network Interface Card (NIC) dapat difungsikan sebagai router.
|
| 718 |
+
|
| 719 |
+
Pada jaringan kecil:
|
| 720 |
+
1. Biasanya hanya memerlukan dua NIC untuk menghubungkan dua jaringan.
|
| 721 |
+
2. Salah satu NIC bisa digunakan untuk LAN, dan lainnya untuk koneksi ke internet (misalnya dengan modem ADSL, ISDN, atau koneksi leased line).
|
| 722 |
+
|
| 723 |
+
Default Gateway
|
| 724 |
+
|
| 725 |
+
Untuk bisa meneruskan data ke jaringan lain, komputer dalam jaringan harus mengatur default gateway ke arah router.
|
| 726 |
+
|
| 727 |
+
Jika default gateway tidak disetel, maka komputer tidak dapat berkomunikasi dengan jaringan di luar LAN.
|
| 728 |
+
|
| 729 |
+
Cara Membangun Tabel Routing
|
| 730 |
+
|
| 731 |
+
Dua metode untuk membangun tabel routing:
|
| 732 |
+
|
| 733 |
+
1. Static Routing:
|
| 734 |
+
Dikonfigurasi secara manual oleh administrator.
|
| 735 |
+
Perlu ketelitian tinggi karena kesalahan dapat menyebabkan jaringan tidak terkoneksi.
|
| 736 |
+
|
| 737 |
+
2. Dynamic Routing:
|
| 738 |
+
Tabel routing dibangun secara otomatis melalui pertukaran informasi antar router.
|
| 739 |
+
Pertukaran informasi menggunakan protokol tertentu seperti TFTP.
|
| 740 |
+
|
| 741 |
+
Algoritma dinamis yang digunakan:
|
| 742 |
+
Distance Vector
|
| 743 |
+
Link State
|
| 744 |
+
Hybrid
|
| 745 |
+
|
| 746 |
+
Static Routing
|
| 747 |
+
|
| 748 |
+
Merupakan metode pengisian tabel routing secara manual oleh administrator di setiap router.
|
| 749 |
+
|
| 750 |
+
Keuntungan:
|
| 751 |
+
- Beban kerja prosesor router menjadi ringan.
|
| 752 |
+
- Tidak menggunakan bandwidth untuk pertukaran informasi routing.
|
| 753 |
+
- Tingkat keamanan lebih tinggi.
|
| 754 |
+
|
| 755 |
+
Kekurangan:
|
| 756 |
+
- Administrator harus tahu informasi setiap router yang terhubung.
|
| 757 |
+
- Jika terjadi perubahan topologi, tabel routing harus diubah secara manual.
|
| 758 |
+
- Tidak cocok untuk jaringan yang besar dan dinamis.
|
| 759 |
+
|
| 760 |
+
Dynamic Routing
|
| 761 |
+
|
| 762 |
+
Router secara otomatis membentuk jalur routing berdasarkan informasi dari router lain.
|
| 763 |
+
|
| 764 |
+
Kategori algoritma:
|
| 765 |
+
Distance Vector
|
| 766 |
+
Link State
|
| 767 |
+
Hybrid
|
| 768 |
+
|
| 769 |
+
Distance Vector
|
| 770 |
+
|
| 771 |
+
Router memperoleh informasi dari router tetangga langsung mengenai kondisi jaringan.
|
| 772 |
+
|
| 773 |
+
Berdasarkan informasi tersebut, router membangun tabel routing sendiri.
|
| 774 |
+
|
| 775 |
+
Informasi utama yang dipertukarkan adalah jumlah hop (lompatan) menuju jaringan tujuan.
|
| 776 |
+
|
| 777 |
+
Cara Kerja:
|
| 778 |
+
1. Saat baru menyala, router hanya mengetahui jaringan yang langsung terhubung.
|
| 779 |
+
2. Router mulai mengirim dan menerima informasi dari router tetangganya.
|
| 780 |
+
3. Informasi baru dibandingkan dengan isi tabel routing.
|
| 781 |
+
4. Jika informasi lebih efisien, maka akan diperbarui.
|
| 782 |
+
|
| 783 |
+
Jenis Distance Vector
|
| 784 |
+
|
| 785 |
+
RIP (Routing Information Protocol): Menggunakan algoritma Bellman-Ford.
|
| 786 |
+
|
| 787 |
+
IGRP (Interior Gateway Routing Protocol): Algoritma distance vector milik Cisco.
|
| 788 |
+
|
| 789 |
+
EIGRP (Enhanced Interior Gateway Routing Protocol): Versi canggih distance vector dari Cisco.
|
| 790 |
+
|
| 791 |
+
BGP (Border Gateway Protocol): Protokol routing eksternal berbasis distance vector.
|
| 792 |
+
|
| 793 |
+
Routing Information Protocol (RIP)
|
| 794 |
+
|
| 795 |
+
Salah satu algoritma tertua, dikenal lambat dan rawan routing loop.
|
| 796 |
+
|
| 797 |
+
Routing loop adalah kondisi di mana dua atau lebih router salah mengira jalur terbaik melalui satu sama lain.
|
| 798 |
+
|
| 799 |
+
Solusi untuk loop:
|
| 800 |
+
- Split Horizon: Router tidak mengirim kembali informasi yang diterima pada antarmuka yang sama.
|
| 801 |
+
- Triggered Update: Jika terjadi perubahan, router langsung mengirim update, tanpa menunggu siklus reguler.
|
| 802 |
+
|
| 803 |
+
Metrik yang digunakan: Hanya jumlah hop.
|
| 804 |
+
|
| 805 |
+
Maksimum hop count: 15 (lebih dari itu dianggap tidak dapat dijangkau).
|
| 806 |
+
|
| 807 |
+
Update dilakukan setiap 30 detik secara default.
|
| 808 |
+
|
| 809 |
+
Interior Gateway Routing Protocol (IGRP)
|
| 810 |
+
|
| 811 |
+
Dikembangkan oleh Cisco.
|
| 812 |
+
|
| 813 |
+
Metrik perhitungan mencakup bandwidth, delay, load, dan reliability.
|
| 814 |
+
|
| 815 |
+
Default broadcast informasi: setiap 90 detik.
|
| 816 |
+
|
| 817 |
+
EIGRP (Enhanced Interior Gateway Routing Protocol)
|
| 818 |
+
|
| 819 |
+
Merupakan kombinasi dari distance vector dan link-state.
|
| 820 |
+
|
| 821 |
+
Menggunakan Diffused Update Algorithm (DUAL) untuk menentukan jalur terpendek.
|
| 822 |
+
|
| 823 |
+
Tidak melakukan broadcast informasi; update dilakukan hanya saat terjadi perubahan topologi.
|
| 824 |
+
|
| 825 |
+
Link State Routing
|
| 826 |
+
|
| 827 |
+
Setiap router harus mengenal semua router dalam satu autonomous system.
|
| 828 |
+
|
| 829 |
+
Proses:
|
| 830 |
+
1. Mengirim hello packet untuk memperkenalkan diri.
|
| 831 |
+
2. Menyusun database topologi berdasarkan informasi tetangga dan biaya jalur.
|
| 832 |
+
3. Mengirim Link-State Advertisement (LSA) ke semua router tetangga.
|
| 833 |
+
4. Informasi LSA disebarkan (flooding) hingga semua router memiliki informasi yang sama.
|
| 834 |
+
5. Menghitung jalur terpendek dengan Shortest Path First (SPF).
|
| 835 |
+
|
| 836 |
+
Setiap jalur memiliki metrik biaya. Jalur dengan biaya lebih kecil dianggap lebih efisien.
|
| 837 |
+
|
| 838 |
+
Setiap router akan membuat tree sendiri ke tujuan berdasarkan perhitungan biaya.
|
| 839 |
+
|
| 840 |
+
OSPF (Open Shortest Path First)
|
| 841 |
+
|
| 842 |
+
Protokol routing link-state bersifat open standard, dijelaskan dalam RFC 2328.
|
| 843 |
+
|
| 844 |
+
Menggunakan algoritma SPF (Shortest Path First) untuk menghitung biaya terendah.
|
| 845 |
+
|
| 846 |
+
Jika terjadi perubahan topologi, maka routing update disebarkan (flooded) ke semua router.
|
| 847 |
+
|
| 848 |
+
BGP (Border Gateway Protocol)
|
| 849 |
+
|
| 850 |
+
Merupakan protokol routing eksternal dengan ciri-ciri:
|
| 851 |
+
- Menggunakan algoritma distance vector.
|
| 852 |
+
- Digunakan untuk routing antar ISP dan antara ISP dengan klien.
|
| 853 |
+
- Merutekan trafik Internet antar autonomous system (AS).
|
| 854 |
+
|
| 855 |
+
Keamanan Informasi
|
| 856 |
+
|
| 857 |
+
Definisi
|
| 858 |
+
|
| 859 |
+
Enkripsi adalah proses mengamankan suatu informasi dengan membuatnya tidak dapat dibaca tanpa pengetahuan khusus. Karena kemampuannya dalam menjaga kerahasiaan, enkripsi telah banyak digunakan untuk mengamankan komunikasi, terutama oleh organisasi dan individu yang sangat membutuhkan kerahasiaan.
|
| 860 |
+
|
| 861 |
+
Kriptografi (cryptography) berasal dari bahasa Yunani yang berarti secret writing atau penulisan rahasia.
|
| 862 |
+
Merupakan ilmu yang mempelajari teknik-teknik pengamanan pengiriman pesan (message security).
|
| 863 |
+
Praktisi di bidang ini disebut kriptografer (cryptographer).
|
| 864 |
+
|
| 865 |
+
Implementasi Kriptografi
|
| 866 |
+
|
| 867 |
+
Pengembangannya berbasis pada model matematika.
|
| 868 |
+
|
| 869 |
+
Banyak digunakan di bidang pertahanan dan keamanan.
|
| 870 |
+
|
| 871 |
+
Umum diterapkan pada berbagai aktivitas yang berhubungan dengan Teknologi Informasi (TI).
|
| 872 |
+
|
| 873 |
+
Prinsip-Prinsip Kriptografi
|
| 874 |
+
|
| 875 |
+
1. Confidentiality (Kerahasiaan): Menjaga isi pesan tetap rahasia.
|
| 876 |
+
2. User Authentication (Otentikasi Pengguna): Memastikan keabsahan identitas pengirim.
|
| 877 |
+
3. Message Authentication (Keaslian Pesan): Menjamin pesan tidak diubah.
|
| 878 |
+
4. Non-repudiation (Anti-penyangkalan): Mencegah pengirim menyangkal telah mengirim pesan.
|
| 879 |
+
|
| 880 |
+
Elemen Sistem Kriptografi
|
| 881 |
+
|
| 882 |
+
Plaintext: Pesan asli yang dapat dibaca oleh siapa saja sebelum dienkripsi.
|
| 883 |
+
|
| 884 |
+
Ciphertext: Hasil enkripsi dari plaintext, tidak dapat dibaca tanpa proses dekripsi.
|
| 885 |
+
|
| 886 |
+
Encryption / Decryption: Proses konversi dari plaintext ke ciphertext dan sebaliknya.
|
| 887 |
+
|
| 888 |
+
Cryptographic Algorithm: Metode berbasis operasi matematika untuk enkripsi dan dekripsi.
|
| 889 |
+
|
| 890 |
+
Key (Kunci): Nilai rahasia yang digunakan bersama algoritma untuk mengubah atau mengembalikan pesan.
|
| 891 |
+
|
| 892 |
+
Algoritma Kriptografi
|
| 893 |
+
|
| 894 |
+
Berdasarkan Jenis Kunci:
|
| 895 |
+
1. Algoritma Simetris: Menggunakan satu kunci untuk enkripsi dan dekripsi.
|
| 896 |
+
2. Algoritma Asimetris: Menggunakan sepasang kunci (public key & private key).
|
| 897 |
+
|
| 898 |
+
Berdasarkan Ukuran Data:
|
| 899 |
+
1. Block Cipher: Memproses data dalam blok/blok tetap.
|
| 900 |
+
2. Stream Cipher: Memproses data dalam aliran bit atau byte satu per satu.
|
| 901 |
+
|
| 902 |
+
Algoritma Simetris (Symmetric Algorithm)
|
| 903 |
+
|
| 904 |
+
Menggunakan kunci tunggal (single key) untuk enkripsi dan dekripsi.
|
| 905 |
+
|
| 906 |
+
Kelebihan:
|
| 907 |
+
Kecepatan tinggi, cocok untuk sistem real-time.
|
| 908 |
+
|
| 909 |
+
Kekurangan:
|
| 910 |
+
Setiap komunikasi butuh kunci berbeda → menyulitkan manajemen kunci.
|
| 911 |
+
Distribusi kunci menjadi masalah besar ("key distribution problem").
|
| 912 |
+
|
| 913 |
+
Algoritma Asimetris (Asymmetric Algorithm)
|
| 914 |
+
|
| 915 |
+
Menggunakan kunci publik dan kunci privat.
|
| 916 |
+
|
| 917 |
+
Kunci publik bisa disebarkan bebas, kunci privat disimpan rahasia.
|
| 918 |
+
|
| 919 |
+
Kelebihan:
|
| 920 |
+
Distribusi kunci lebih aman.
|
| 921 |
+
Manajemen kunci lebih sederhana (karena jumlahnya lebih sedikit).
|
| 922 |
+
|
| 923 |
+
Kekurangan:
|
| 924 |
+
Lebih lambat dari algoritma simetris.
|
| 925 |
+
Untuk keamanan yang sama, butuh kunci lebih panjang.
|
| 926 |
+
|
| 927 |
+
Block Cipher
|
| 928 |
+
|
| 929 |
+
Memproses data dalam blok-blok tetap (misalnya 64-bit atau 128-bit) dalam satu waktu enkripsi atau dekripsi.
|
| 930 |
+
|
| 931 |
+
Stream Cipher
|
| 932 |
+
|
| 933 |
+
Memproses data dalam bentuk aliran bit atau byte, sangat cocok untuk komunikasi real-time.
|
| 934 |
+
|
| 935 |
+
Keamanan Kriptografi
|
| 936 |
+
|
| 937 |
+
Sistem yang kuat dapat mengirimkan ciphertext melalui kanal komunikasi yang tidak aman.
|
| 938 |
+
|
| 939 |
+
Tiga aspek keamanan yang harus dilindungi:
|
| 940 |
+
1. Pengirim
|
| 941 |
+
2. Penerima
|
| 942 |
+
3. Media transmisi (kanal)
|
| 943 |
+
|
| 944 |
+
Cryptosystem adalah interaksi antara plaintext, ciphertext, algoritma, dan kunci.
|
| 945 |
+
|
| 946 |
+
Penyadap disebut eavesdropper atau intruder.
|
| 947 |
+
|
| 948 |
+
Proses Dasar Kriptografi
|
| 949 |
+
|
| 950 |
+
Enkripsi (Encryption): Menyandikan plaintext menjadi ciphertext.
|
| 951 |
+
|
| 952 |
+
Dekripsi (Decryption): Mengembalikan ciphertext ke plaintext.
|
| 953 |
+
|
| 954 |
+
Terminologi Terkait
|
| 955 |
+
|
| 956 |
+
Cryptanalysis: Proses memecahkan ciphertext tanpa mengetahui kunci. Pelakunya disebut cryptanalyst.
|
| 957 |
+
|
| 958 |
+
Cryptology: Studi yang mencakup cryptography dan cryptanalysis.
|
| 959 |
+
|
| 960 |
+
Persamaan:
|
| 961 |
+
Keduanya mengeksplorasi proses transformasi ciphertext ke plaintext.
|
| 962 |
+
|
| 963 |
+
Perbedaan:
|
| 964 |
+
Cryptography: Dilakukan secara legal oleh pengirim/penerima sah.
|
| 965 |
+
|
| 966 |
+
Cryptanalysis: Dilakukan secara ilegal oleh pihak tak berwenang.
|
| 967 |
+
|
| 968 |
+
Fakta Sejarah Kriptografi
|
| 969 |
+
|
| 970 |
+
Pada perang Sparta (sekitar 400 SM), tentara Yunani menggunakan alat bernama Scytale:
|
| 971 |
+
|
| 972 |
+
- Terbuat dari pita papyrus dan silinder kayu.
|
| 973 |
+
- Plaintext ditulis horizontal saat pita dililitkan ke silinder.
|
| 974 |
+
- Setelah dilepas, pesan tampak acak (ciphertext).
|
| 975 |
+
- Penerima harus memiliki silinder dengan diameter yang sama untuk membaca pesan.
|
| 976 |
+
|
| 977 |
+
Implementasi Enkripsi dalam Teknologi
|
| 978 |
+
|
| 979 |
+
Pengiriman data melalui kanal suara/data.
|
| 980 |
+
Penyimpanan data ke dalam media seperti hard disk.
|
| 981 |
+
|
| 982 |
+
Kekuatan Sistem Kriptografi
|
| 983 |
+
|
| 984 |
+
Semakin lama waktu dan usaha yang dibutuhkan untuk memecahkan sistem, semakin kuat sistem tersebut.
|
| 985 |
+
|
| 986 |
+
Dulu, kekuatan sistem tergantung pada kerahasiaan algoritma (restricted algorithm).
|
| 987 |
+
|
| 988 |
+
Saat ini, dengan karakter open-systems, kekuatan lebih bergantung pada kerahasiaan kunci (key), bukan algoritmanya.
|
| 989 |
+
|
| 990 |
+
Contoh Penggunaan Algoritma Simetris
|
| 991 |
+
|
| 992 |
+
1. Cipher Substitusi
|
| 993 |
+
Monoalfabet: Setiap karakter plaintext digantikan oleh satu karakter ciphertext.
|
| 994 |
+
|
| 995 |
+
Polyalfabet: Satu karakter plaintext dapat diwakili beberapa karakter ciphertext.
|
| 996 |
+
|
| 997 |
+
Monograf (Unilateral): Enkripsi dilakukan terhadap satu karakter.
|
| 998 |
+
|
| 999 |
+
Polygraf (Multilateral): Enkripsi dilakukan terhadap lebih dari satu karakter.
|
| 1000 |
+
|
| 1001 |
+
Contoh: Caesar Cipher
|
| 1002 |
+
Setiap huruf digeser 3 huruf ke kanan.
|
| 1003 |
+
|
| 1004 |
+
Misalnya:
|
| 1005 |
+
|
| 1006 |
+
Plaintext: AWASI ASTERIX DAN TEMANNYA OBELIX
|
| 1007 |
+
Ciphertext: DZDVL DVWHULA GDQ WHPDQQBA REHOLA
|
| 1008 |
+
|
| 1009 |
+
Bisa ditulis berkelompok: DZDV LDVW HULA GDQW HPDQ QBAR EHOL A
|
| 1010 |
+
|
| 1011 |
+
Atau disatukan: DZDVLDVWHULAGDQWHPDQQBAREHOLA
|
| 1012 |
+
|
| 1013 |
+
Tujuannya adalah menyulitkan analisis kriptografi.
|
| 1014 |
+
|
| 1015 |
+
Contoh: Vigenère Cipher
|
| 1016 |
+
Merupakan cipher polyalfabetik yang menggunakan Bujursangkar Vigenère.
|
| 1017 |
+
|
| 1018 |
+
Setiap huruf plainteks dienkripsi dengan Caesar cipher yang berbeda sesuai huruf pada kunci.
|
| 1019 |
+
|
| 1020 |
+
Contoh:
|
| 1021 |
+
|
| 1022 |
+
Plaintext: THIS PLAINTEXT
|
| 1023 |
+
Kunci: sonysonysonys
|
| 1024 |
+
|
| 1025 |
+
Ciphertext: LVVQ HZNGFHRVL
|
| 1026 |
+
|
| 1027 |
+
Jika kunci lebih pendek dari plainteks, diulang hingga sepanjang plainteks.
|
| 1028 |
+
|
| 1029 |
+
Setiap huruf dienkripsi dengan rumus:
|
| 1030 |
+
c(P) = (P + K) mod 26,
|
| 1031 |
+
Misalnya T = 19, s = 18 ⇒ (19+18) % 26 = 11 = L.
|
| 1032 |
+
|
| 1033 |
+
2. Cipher Transposisi
|
| 1034 |
+
Ciphertext dihasilkan dengan mengubah posisi huruf dalam plaintext, bukan menggantinya.
|
| 1035 |
+
|
| 1036 |
+
Disebut juga permutasi, karena huruf-huruf di-reorder.
|
| 1037 |
+
|
| 1038 |
+
|
| 1039 |
+
Virtual Private Network (VPN)
|
| 1040 |
+
Virtual Private Network (VPN) adalah suatu jaringan privat yang dibangun di atas infrastruktur jaringan publik (seperti internet) untuk menghubungkan antar remote-site secara aman, seolah-olah terhubung langsung dalam jaringan lokal.
|
| 1041 |
+
|
| 1042 |
+
Apa Kegunaan dari VPN?
|
| 1043 |
+
|
| 1044 |
+
VPN memiliki berbagai manfaat, antara lain:
|
| 1045 |
+
|
| 1046 |
+
Digunakan oleh kantor cabang untuk mengakses jaringan komputer kantor pusat secara aman.
|
| 1047 |
+
|
| 1048 |
+
Memungkinkan seorang karyawan yang berada di lokasi berbeda (misalnya bekerja dari rumah atau perjalanan dinas) untuk mengakses jaringan komputer kantor pusat.
|
| 1049 |
+
|
| 1050 |
+
Lebih efisien dan ekonomis dibandingkan dengan penggunaan leased line atau panggilan jarak jauh menggunakan modem.
|
| 1051 |
+
|
| 1052 |
+
Dapat dijadikan sebagai alternatif atau pengganti jaringan WAN (Wide Area Network).
|
| 1053 |
+
|
| 1054 |
+
Cara Kerja VPN
|
| 1055 |
+
|
| 1056 |
+
VPN dapat bekerja melalui dua metode:
|
| 1057 |
+
1. Dial-up VPN: Koneksi dibuat dari satu perangkat pengguna secara langsung ke server VPN.
|
| 1058 |
+
2. Router-to-Router VPN: VPN dikonfigurasi pada perangkat jaringan (router) untuk menghubungkan dua jaringan berbeda secara permanen.
|
| 1059 |
+
|
| 1060 |
+
Tipe-Tipe Layanan VPN
|
| 1061 |
+
|
| 1062 |
+
1. VPN Dial On-Demand: Koneksi VPN hanya dibuat ketika dibutuhkan.
|
| 1063 |
+
|
| 1064 |
+
2. VPN Real-Time: Koneksi VPN aktif secara terus-menerus untuk komunikasi yang memerlukan respon cepat.
|
| 1065 |
+
|
| 1066 |
+
Konsep Tunnel dalam VPN
|
| 1067 |
+
|
| 1068 |
+
VPN menciptakan sebuah “terowongan” (tunnel) di jaringan publik.
|
| 1069 |
+
|
| 1070 |
+
Tunnel digunakan untuk pengiriman paket data.
|
| 1071 |
+
|
| 1072 |
+
Menciptakan ilusi bahwa terdapat koneksi point-to-point yang aman antara dua titik, meskipun menggunakan internet publik sebagai media transmisi.
|
| 1073 |
+
|
| 1074 |
+
Hal-Hal yang Perlu Diperhatikan pada VPN
|
| 1075 |
+
|
| 1076 |
+
Karena data dikirim melalui jaringan publik, keamanan sangat penting.
|
| 1077 |
+
|
| 1078 |
+
Enkripsi sangat diperlukan untuk menjaga kerahasiaan dan integritas data.
|
| 1079 |
+
|
| 1080 |
+
Performa internet menjadi faktor penting: kecepatan transfer data, kestabilan koneksi, dan kemudahan akses akan mempengaruhi kualitas VPN.
|
| 1081 |
+
|
| 1082 |
+
Koneksi dengan VPN biasanya sedikit lebih lambat dibanding tanpa VPN, karena adanya proses tunneling dan enkripsi/dekripsi.
|
| 1083 |
+
|
| 1084 |
+
Komponen yang Dibutuhkan untuk Membangun VPN
|
| 1085 |
+
|
| 1086 |
+
1. Tunneling: Proses pembuatan jalur virtual yang aman antar titik koneksi.
|
| 1087 |
+
|
| 1088 |
+
2. Enkripsi/Dekripsi: Proses pengamanan data agar tidak dapat diakses oleh pihak yang tidak berwenang.
|
| 1089 |
+
|
| 1090 |
+
Tunnel
|
| 1091 |
+
|
| 1092 |
+
Merupakan koneksi logis point-to-point yang aman, dilengkapi dengan proses otentikasi dan enkripsi.
|
| 1093 |
+
|
| 1094 |
+
Membutuhkan protokol khusus agar dapat berfungsi seperti koneksi point-to-point secara nyata.
|
| 1095 |
+
|
| 1096 |
+
Enkapsulasi
|
| 1097 |
+
|
| 1098 |
+
Paket data yang akan dikirim melalui tunnel dibungkus dalam paket baru.
|
| 1099 |
+
|
| 1100 |
+
Alamat tujuan akhir tunnel ditempatkan pada alamat tujuan (destination address) dari paket baru tersebut.
|
| 1101 |
+
|
| 1102 |
+
Setelah sampai di titik akhir tunnel, paket baru dibuka, dan paket asli dikirim ke tujuan sebenarnya.
|
| 1103 |
+
|
| 1104 |
+
Protokol Tunnel dalam VPN
|
| 1105 |
+
|
| 1106 |
+
1. PPTP (Point-to-Point Tunneling Protocol):
|
| 1107 |
+
|
| 1108 |
+
Mengenkapsulasi frame (data unit) yang dapat berisi protokol IP, IPX, atau NetBEUI ke dalam paket IP.
|
| 1109 |
+
Membutuhkan protokol IP untuk membentuk tunnel.
|
| 1110 |
+
|
| 1111 |
+
2. L2F (Layer 2 Forwarding):
|
| 1112 |
+
|
| 1113 |
+
Dikembangkan oleh Cisco.
|
| 1114 |
+
Menggunakan media ATM dan Frame Relay.
|
| 1115 |
+
Tidak membutuhkan IP sebagai dasar pengiriman data.
|
| 1116 |
+
|
| 1117 |
+
3. L2TP (Layer 2 Tunneling Protocol):
|
| 1118 |
+
|
| 1119 |
+
Merupakan gabungan dari PPTP dan L2F.
|
| 1120 |
+
Dapat mengenkapsulasi data dalam berbagai protokol seperti IP, ATM, Frame Relay, dan X.25.
|
| 1121 |
+
Mendukung kompresi data.
|
| 1122 |
+
Bisa digunakan pada jaringan non-IP.
|
| 1123 |
+
|
| 1124 |
+
4. IPSec (Internet Protocol Security):
|
| 1125 |
+
|
| 1126 |
+
Beroperasi hanya di jaringan yang mendukung IP.
|
| 1127 |
+
Paket IP dibungkus dengan paket IPSec untuk keamanan.
|
| 1128 |
+
Mampu melakukan tunneling sekaligus enkripsi data.
|
| 1129 |
+
Memiliki dua mode operasi:
|
| 1130 |
+
- Transport Mode: Tunnel dibentuk oleh L2TP, enkripsi dilakukan oleh IPSec.
|
| 1131 |
+
- Tunneling Mode: Tunnel dan enkripsi dilakukan sepenuhnya oleh IPSec. Cocok untuk router/gateway yang tidak mendukung L2TP.
|
| 1132 |
+
|
| 1133 |
+
Kesimpulan
|
| 1134 |
+
|
| 1135 |
+
Performa jaringan VPN tidak akan sebaik jaringan privat murni karena adanya overhead dari tunneling dan enkripsi.
|
| 1136 |
+
|
| 1137 |
+
VPN menyertakan waktu latensi yang lebih tinggi dibanding jaringan langsung.
|
| 1138 |
+
|
| 1139 |
+
Namun, VPN sangat berguna untuk akses jarak jauh yang efisien dan ekonomis.
|
| 1140 |
+
|
| 1141 |
+
Karena menggunakan jaringan publik, enkripsi sangat diperlukan untuk menjaga keamanan data.
|
| 1142 |
+
|
| 1143 |
+
VLAN (Virtual Local Area Network) digunakan untuk melakukan segmentasi jaringan berdasarkan broadcast domain.
|
| 1144 |
+
|
| 1145 |
+
Tujuan penerapan VLAN adalah untuk mengurangi collision, mempermudah manajemen jaringan, serta meningkatkan keamanan jaringan.
|
| 1146 |
+
|
| 1147 |
+
Broadcast Domain pada VLAN dan Router
|
| 1148 |
+
|
| 1149 |
+
Setiap VLAN merupakan satu broadcast domain.
|
| 1150 |
+
|
| 1151 |
+
Contoh pada gambar yang dimaksud (tidak ditampilkan di sini), terdiri dari 3 broadcast domain.
|
| 1152 |
+
|
| 1153 |
+
Perbandingan:
|
| 1154 |
+
1. Tanpa VLAN
|
| 1155 |
+
Seluruh perangkat berada dalam satu jaringan IP (satu broadcast domain).
|
| 1156 |
+
|
| 1157 |
+
2. Dengan VLAN
|
| 1158 |
+
Switch dikonfigurasi agar setiap port dapat menjadi bagian dari VLAN tertentu.
|
| 1159 |
+
|
| 1160 |
+
Cara Kerja VLAN
|
| 1161 |
+
|
| 1162 |
+
VLAN dikonfigurasikan pada setiap port switch, bukan pada host (komputer).
|
| 1163 |
+
|
| 1164 |
+
Agar host menjadi anggota suatu VLAN, maka IP address dan subnet-nya harus berada dalam jaringan yang sama dengan VLAN tersebut.
|
| 1165 |
+
|
| 1166 |
+
Ingat: VLAN = Subnet
|
| 1167 |
+
|
| 1168 |
+
Tanpa VLAN = Tanpa Broadcast Control
|
| 1169 |
+
|
| 1170 |
+
ARP Request (permintaan alamat MAC) akan dikirim ke seluruh host dalam jaringan.
|
| 1171 |
+
|
| 1172 |
+
Ini mengakibatkan penggunaan bandwidth yang besar dan potensi collision tinggi.
|
| 1173 |
+
|
| 1174 |
+
Dengan VLAN = Broadcast Terkontrol
|
| 1175 |
+
|
| 1176 |
+
ARP Request hanya dikirim ke host dalam VLAN yang sama.
|
| 1177 |
+
|
| 1178 |
+
Hal ini mengurangi kemacetan jaringan dan meningkatkan efisiensi.
|
| 1179 |
+
|
| 1180 |
+
Bagaimana VLAN Bekerja?
|
| 1181 |
+
|
| 1182 |
+
VLAN diklasifikasikan berdasarkan metode tertentu seperti:
|
| 1183 |
+
Port ID
|
| 1184 |
+
MAC Address
|
| 1185 |
+
Protokol
|
| 1186 |
+
Aplikasi
|
| 1187 |
+
|
| 1188 |
+
Informasi VLAN (tagging) disimpan dalam sebuah database VLAN.
|
| 1189 |
+
|
| 1190 |
+
Jika klasifikasi berdasarkan port, maka database harus mencatat port-port yang digunakan oleh masing-masing VLAN.
|
| 1191 |
+
|
| 1192 |
+
Untuk manajemen VLAN digunakan switch/bridge yang dapat diatur (manageable switch).
|
| 1193 |
+
|
| 1194 |
+
VLAN Tagging
|
| 1195 |
+
|
| 1196 |
+
Digunakan ketika sebuah link membawa lalu lintas dari lebih dari satu VLAN.
|
| 1197 |
+
|
| 1198 |
+
Packet tagging mengontrol aliran broadcast dan aplikasi agar tidak terjadi gangguan antar VLAN.
|
| 1199 |
+
|
| 1200 |
+
Proses ini dikenal sebagai Trunk Link atau VLAN Trunking.
|
| 1201 |
+
|
| 1202 |
+
Tipe-Tipe VLAN
|
| 1203 |
+
|
| 1204 |
+
Keanggotaan VLAN dapat diklasifikasikan berdasarkan:
|
| 1205 |
+
|
| 1206 |
+
1. Port
|
| 1207 |
+
VLAN ditentukan berdasarkan port yang digunakan pada switch.
|
| 1208 |
+
|
| 1209 |
+
Contoh: port 1, 2, dan 4 termasuk VLAN 1, sementara port 3 termasuk VLAN 2.
|
| 1210 |
+
|
| 1211 |
+
Kelemahan: Jika user berpindah port, admin jaringan harus mengatur ulang konfigurasi VLAN.
|
| 1212 |
+
|
| 1213 |
+
2. MAC Address
|
| 1214 |
+
VLAN ditentukan berdasarkan alamat fisik (MAC Address) dari setiap komputer.
|
| 1215 |
+
|
| 1216 |
+
Switch mencatat MAC address milik setiap anggota VLAN.
|
| 1217 |
+
|
| 1218 |
+
Kelebihan: User tetap menjadi anggota VLAN meskipun berpindah tempat.
|
| 1219 |
+
Kekurangan: Setiap mesin harus dikonfigurasikan manual. Tidak efisien untuk jaringan besar.
|
| 1220 |
+
|
| 1221 |
+
3. Protokol
|
| 1222 |
+
VLAN diklasifikasikan berdasarkan jenis protokol jaringan.
|
| 1223 |
+
|
| 1224 |
+
Protokol VLAN
|
| 1225 |
+
IP 1
|
| 1226 |
+
IPX 2
|
| 1227 |
+
|
| 1228 |
+
4. Subnet IP Address
|
| 1229 |
+
VLAN dapat ditentukan berdasarkan alamat subnet IP.
|
| 1230 |
+
|
| 1231 |
+
IP Subnet VLAN
|
| 1232 |
+
22.3.24 1
|
| 1233 |
+
46.20.45 2
|
| 1234 |
+
|
| 1235 |
+
Catatan:
|
| 1236 |
+
|
| 1237 |
+
Tidak berkaitan langsung dengan routing jaringan.
|
| 1238 |
+
|
| 1239 |
+
IP digunakan untuk memetakan keanggotaan VLAN.
|
| 1240 |
+
|
| 1241 |
+
Kelebihan: Tidak perlu konfigurasi ulang jika berpindah tempat.
|
| 1242 |
+
|
| 1243 |
+
Kekurangan: Lebih lambat dibanding MAC address karena bekerja di layer yang lebih tinggi.
|
| 1244 |
+
|
| 1245 |
+
5. Aplikasi atau Kombinasi Lain
|
| 1246 |
+
VLAN juga dapat ditentukan berdasarkan jenis aplikasi.
|
| 1247 |
+
|
| 1248 |
+
Misal: FTP hanya tersedia untuk VLAN 1, sedangkan Telnet hanya untuk VLAN 2.
|
| 1249 |
+
|
| 1250 |
+
Bisa juga digunakan kombinasi dari semua metode klasifikasi.
|
| 1251 |
+
|
| 1252 |
+
VLAN Tagging (Ulang)
|
| 1253 |
+
|
| 1254 |
+
VLAN tagging penting untuk mengelola traffic dari banyak VLAN dalam satu link fisik.
|
| 1255 |
+
|
| 1256 |
+
Contoh Konfigurasi VLAN
|
| 1257 |
+
VLAN 1: Port 1–5
|
| 1258 |
+
Dihubungkan ke satu radio Access Point (AP).
|
| 1259 |
+
|
| 1260 |
+
VLAN 2: Port 6–10
|
| 1261 |
+
Dihubungkan ke AP yang lain.
|
| 1262 |
+
|
| 1263 |
+
VLAN Trunking Protocol (VTP)
|
| 1264 |
+
|
| 1265 |
+
Fungsi: Mempermudah administrator jaringan untuk mengelola VLAN dalam jaringan switch.
|
| 1266 |
+
|
| 1267 |
+
Manfaat VTP:
|
| 1268 |
+
|
| 1269 |
+
Menambah, menghapus, dan mengubah VLAN cukup dari satu switch (VTP Server).
|
| 1270 |
+
|
| 1271 |
+
Informasi VLAN otomatis tersebar ke switch lain di domain VTP.
|
| 1272 |
+
|
| 1273 |
+
Keuntungan (Benefits) dari VLAN
|
| 1274 |
+
|
| 1275 |
+
1. Mempermudah perpindahan workstation dalam LAN
|
| 1276 |
+
2. Mudah menambah workstation baru ke jaringan
|
| 1277 |
+
3. Mudah mengubah konfigurasi LAN
|
| 1278 |
+
4. Mengontrol lalu lintas jaringan secara efisien
|
| 1279 |
+
5. Meningkatkan keamanan jaringan
|
data/ManajemenProyekTeknologiInformasi.txt
ADDED
|
@@ -0,0 +1,824 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Pengantar Manajemen Proyek
|
| 2 |
+
|
| 3 |
+
PENGERTIAN PROYEK
|
| 4 |
+
|
| 5 |
+
Proyek adalah serangkaian kegiatan yang bersifat sementara dan dirancang untuk menciptakan suatu hasil yang unik, baik itu produk, layanan, atau keluaran tertentu. Proyek tidak berlangsung terus-menerus, melainkan memiliki awal dan akhir yang jelas.
|
| 6 |
+
Menurut Kathy Schwalbe, proyek adalah usaha temporer untuk menghasilkan sesuatu yang unik. Graham McLeod dan Derek Smith menyebut proyek sebagai upaya terkoordinasi yang menggabungkan sumber daya manusia, teknik, administrasi, dan keuangan untuk mencapai tujuan dalam batas waktu tertentu.
|
| 7 |
+
|
| 8 |
+
ATRIBUT PROYEK
|
| 9 |
+
|
| 10 |
+
Beberapa ciri khas yang melekat pada proyek adalah sebagai berikut:
|
| 11 |
+
|
| 12 |
+
1. Tujuan yang spesifik: Proyek memiliki sasaran yang terdefinisi dengan jelas.
|
| 13 |
+
2. Bersifat sementara: Ada waktu mulai dan waktu selesai yang pasti.
|
| 14 |
+
3. Multidisiplin: Melibatkan berbagai sumber daya dari berbagai bidang keahlian.
|
| 15 |
+
4. Punya sponsor: Ada pihak yang bertanggung jawab atau berkepentingan terhadap proyek.
|
| 16 |
+
5. Tingkat ketidakpastian: Selalu ada risiko atau hal yang belum diketahui sepenuhnya.
|
| 17 |
+
6. Elaborasi progresif: Rencana proyek berkembang secara bertahap seiring waktu dan pemahaman.
|
| 18 |
+
|
| 19 |
+
KARAKTERISTIK PROYEK
|
| 20 |
+
|
| 21 |
+
Proyek umumnya memiliki:
|
| 22 |
+
|
| 23 |
+
1. Tujuan akhir yang jelas dan terukur.
|
| 24 |
+
2. Siklus hidup yang terdiri dari tahapan mulai dari inisiasi, perencanaan, pelaksanaan, hingga penutupan.
|
| 25 |
+
3. Keterlibatan dari berbagai bagian organisasi dan tenaga ahli.
|
| 26 |
+
4. Hasil akhir yang baru atau belum ada sebelumnya.
|
| 27 |
+
5. Harus dikerjakan dalam batas waktu, biaya, dan sumber daya tertentu.
|
| 28 |
+
|
| 29 |
+
ASAL MULA PROYEK
|
| 30 |
+
|
| 31 |
+
Sebuah proyek dapat dimulai karena beberapa hal, antara lain:
|
| 32 |
+
1. Arahan dari pimpinan atau pemangku kepentingan.
|
| 33 |
+
2. Permintaan dari pengguna atau klien.
|
| 34 |
+
3. Inisiatif internal organisasi sendiri.
|
| 35 |
+
4. Kebutuhan atau tantangan dalam operasional perusahaan.
|
| 36 |
+
5. Peluang pasar atau tekanan dari kompetitor.
|
| 37 |
+
|
| 38 |
+
JENIS-JENIS PROYEK
|
| 39 |
+
|
| 40 |
+
Proyek dapat dikelompokkan ke dalam beberapa kategori:
|
| 41 |
+
1. Proyek konstruksi dan teknik: Seperti pembangunan infrastruktur.
|
| 42 |
+
2. Proyek manufaktur: Produksi barang secara massal.
|
| 43 |
+
3. Riset dan pengembangan: Eksplorasi teknologi atau produk baru.
|
| 44 |
+
4. Layanan manajemen: Termasuk implementasi sistem informasi dan pelatihan.
|
| 45 |
+
5. Proyek kapital: Kegiatan yang menyangkut investasi jangka panjang, misalnya pembebasan lahan.
|
| 46 |
+
|
| 47 |
+
SUMBER DAYA PROYEK
|
| 48 |
+
|
| 49 |
+
Agar proyek dapat berjalan, dibutuhkan berbagai jenis sumber daya, antara lain:
|
| 50 |
+
|
| 51 |
+
Tenaga manusia: SDM yang menjalankan proyek.
|
| 52 |
+
Mesin dan alat bantu: Teknologi atau peralatan kerja.
|
| 53 |
+
Material: Bahan atau komponen fisik.
|
| 54 |
+
Uang: Dana sebagai penggerak proyek.
|
| 55 |
+
Metode: Prosedur dan teknik kerja yang digunakan.
|
| 56 |
+
|
| 57 |
+
FAKTOR PENYEBAB KEGAGALAN PROYEK
|
| 58 |
+
|
| 59 |
+
Proyek bisa gagal karena beberapa alasan umum seperti:
|
| 60 |
+
Perencanaan yang kurang matang.
|
| 61 |
+
Tidak adanya dukungan dari manajemen tingkat atas.
|
| 62 |
+
Kebutuhan bisnis tidak dipahami dengan benar.
|
| 63 |
+
Komunikasi antar tim yang buruk.
|
| 64 |
+
Kontrol kualitas yang tidak memadai.
|
| 65 |
+
Minimnya keterlibatan pengguna.
|
| 66 |
+
Harapan yang terlalu tinggi atau tidak realistis.
|
| 67 |
+
Kekurangan tenaga ahli atau staf kompeten.
|
| 68 |
+
Analisis kebutuhan yang tidak dilakukan secara menyeluruh.
|
| 69 |
+
|
| 70 |
+
FAKTOR KEBERHASILAN PROYEK
|
| 71 |
+
|
| 72 |
+
Keberhasilan proyek dapat ditunjang oleh faktor-faktor berikut:
|
| 73 |
+
Dukungan yang kuat dari pimpinan atau sponsor.
|
| 74 |
+
Keterlibatan pengguna selama proyek berlangsung.
|
| 75 |
+
Manajer proyek yang berpengalaman.
|
| 76 |
+
Tujuan yang jelas dan disepakati bersama.
|
| 77 |
+
Lingkup kerja yang realistis dan tidak terlalu luas.
|
| 78 |
+
Infrastruktur organisasi yang mendukung.
|
| 79 |
+
Pemahaman yang baik terhadap kebutuhan proyek.
|
| 80 |
+
Penggunaan metodologi manajemen proyek yang tepat.
|
| 81 |
+
Estimasi waktu dan biaya yang akurat.
|
| 82 |
+
|
| 83 |
+
STAKEHOLDER PROYEK
|
| 84 |
+
|
| 85 |
+
Stakeholder adalah semua pihak yang terlibat langsung atau tidak langsung dalam proyek dan memiliki pengaruh terhadap keberhasilannya. Mereka mencakup sponsor, manajer proyek, anggota tim, pengguna akhir, vendor, hingga pihak eksternal yang terdampak.
|
| 86 |
+
|
| 87 |
+
PROJECT CHARTER
|
| 88 |
+
|
| 89 |
+
Piagam proyek adalah dokumen resmi yang mengesahkan dimulainya suatu proyek. Isi piagam ini mencakup:
|
| 90 |
+
|
| 91 |
+
1. Identitas proyek (nama dan manajernya).
|
| 92 |
+
2. Tujuan serta alasan mengapa proyek dibuat.
|
| 93 |
+
3. Sponsor dan pihak pendukung lainnya.
|
| 94 |
+
4. Hasil akhir yang diharapkan (deliverables).
|
| 95 |
+
5. Strategi pelaksanaan.
|
| 96 |
+
6. Estimasi waktu dan biaya.
|
| 97 |
+
7. Daftar sumber daya dan mitra utama yang terlibat.
|
| 98 |
+
|
| 99 |
+
Fungsi utama dokumen ini adalah untuk memberikan otorisasi formal terhadap proyek, menentukan peran, serta menjadi pedoman pelaksanaan.
|
| 100 |
+
|
| 101 |
+
PERBEDAAN PROYEK DAN OPERASIONAL
|
| 102 |
+
|
| 103 |
+
Proyek: Bersifat sementara, bertujuan menghasilkan sesuatu yang unik, dan berakhir setelah tujuan tercapai.
|
| 104 |
+
|
| 105 |
+
Operasional: Kegiatan rutin yang terus berulang dan bertujuan menjaga kelangsungan bisnis sehari-hari.
|
| 106 |
+
|
| 107 |
+
MANAJEMEN PROYEK
|
| 108 |
+
|
| 109 |
+
Manajemen proyek adalah proses penerapan pengetahuan, keterampilan, alat, dan teknik agar proyek dapat diselesaikan secara efektif sesuai dengan target waktu, anggaran, dan mutu yang ditentukan.
|
| 110 |
+
|
| 111 |
+
PENTINGNYA MANAJEMEN PROYEK
|
| 112 |
+
|
| 113 |
+
Statistik menunjukkan bahwa:
|
| 114 |
+
1. 31,1% proyek besar gagal diselesaikan.
|
| 115 |
+
2. 52,7% proyek melebihi anggaran.
|
| 116 |
+
3. Hanya 16,2% proyek besar yang selesai tepat waktu dan sesuai biaya.
|
| 117 |
+
|
| 118 |
+
Oleh karena itu, manajemen proyek menjadi aspek penting agar organisasi tidak mengalami kerugian besar.
|
| 119 |
+
|
| 120 |
+
TIGA BATASAN UTAMA
|
| 121 |
+
|
| 122 |
+
1. Scope (Lingkup kerja) – Apa saja yang termasuk dan tidak termasuk dalam proyek.
|
| 123 |
+
2. Time (Waktu) – Berapa lama proyek akan berlangsung.
|
| 124 |
+
3. Cost (Biaya) – Anggaran yang tersedia untuk menyelesaikan proyek.
|
| 125 |
+
|
| 126 |
+
Ketiganya saling memengaruhi. Perubahan pada satu aspek akan berdampak pada dua aspek lainnya.
|
| 127 |
+
|
| 128 |
+
KEUNTUNGAN MANAJEMEN PROYEK
|
| 129 |
+
|
| 130 |
+
Pengendalian anggaran dan waktu yang lebih baik.
|
| 131 |
+
Hubungan yang lebih profesional dan terpercaya dengan klien.
|
| 132 |
+
Proyek dapat diselesaikan lebih cepat.
|
| 133 |
+
Mengurangi pemborosan biaya.
|
| 134 |
+
Meningkatkan kualitas hasil akhir.
|
| 135 |
+
Meningkatkan semangat kerja tim.
|
| 136 |
+
Koordinasi antar bagian menjadi lebih efisien.
|
| 137 |
+
|
| 138 |
+
KNOWLEDGE AREA DALAM MANAJEMEN PROYEK
|
| 139 |
+
|
| 140 |
+
Manajemen proyek mencakup 9 area pengetahuan, yaitu:
|
| 141 |
+
1. Integrasi: Koordinasi elemen proyek agar saling sinergis.
|
| 142 |
+
2. Lingkup: Penentuan apa saja yang dikerjakan.
|
| 143 |
+
3. Waktu: Perencanaan dan pengelolaan jadwal.
|
| 144 |
+
4. Biaya: Perkiraan, alokasi, dan kontrol anggaran.
|
| 145 |
+
5. Kualitas: Menjamin output sesuai standar.
|
| 146 |
+
6. Sumber daya manusia: Pengelolaan tim proyek.
|
| 147 |
+
7. Komunikasi: Pertukaran informasi antar pihak terkait.
|
| 148 |
+
8. Risiko: Identifikasi dan mitigasi kemungkinan masalah.
|
| 149 |
+
9. Pengadaan: Pengelolaan kontrak dan pembelian luar.
|
| 150 |
+
|
| 151 |
+
ALAT DAN TEKNIK
|
| 152 |
+
|
| 153 |
+
Scope: Pernyataan lingkup kerja, Work Breakdown Structure (WBS).
|
| 154 |
+
Time: Gantt Chart, network diagram, critical path method (CPM).
|
| 155 |
+
Cost: Estimasi biaya dan manajemen nilai hasil (earned value management).
|
| 156 |
+
|
| 157 |
+
PERAN MANAJER PROYEK
|
| 158 |
+
|
| 159 |
+
Manajer proyek adalah tokoh sentral yang menjembatani antara stakeholder dan tim pelaksana. Ia bertanggung jawab atas keseluruhan pelaksanaan proyek, termasuk koordinasi, pemecahan masalah, dan pengambilan keputusan. Proyek yang dipimpin oleh manajer berpengalaman memiliki tingkat keberhasilan sangat tinggi, mencapai 97%.
|
| 160 |
+
|
| 161 |
+
KETERAMPILAN MANAJER PROYEK
|
| 162 |
+
|
| 163 |
+
1. Kepemimpinan: Mengarahkan tim dan menjaga motivasi.
|
| 164 |
+
2. Komunikasi & negosiasi: Menyampaikan informasi dan menyelesaikan konflik.
|
| 165 |
+
3. Analisis & pemecahan masalah: Mengidentifikasi isu dan menemukan solusi.
|
| 166 |
+
4. Pengetahuan lintas bidang: Memahami aspek teknis, bisnis, dan sosial.
|
| 167 |
+
5. Manajemen sumber daya: Mengelola waktu, tenaga, dan biaya secara efisien.
|
| 168 |
+
|
| 169 |
+
Manajemen Proyek Teknologi Informasi
|
| 170 |
+
|
| 171 |
+
Definisi Proyek Teknologi Informasi (TI)
|
| 172 |
+
|
| 173 |
+
Proyek TI merupakan suatu inisiatif yang melibatkan penggunaan teknologi informasi, baik dari sisi sumber daya maupun produk yang dikembangkan. Proyek semacam ini sangat beragam—mulai dari segi ukuran, tingkat kompleksitas, hasil akhir (produk), hingga sumber daya yang digunakan. Oleh karena itu, tim proyek TI harus terdiri dari individu dengan beragam keahlian dan keterampilan yang saling melengkapi. Karena perkembangan teknologi yang sangat cepat, tim juga harus mampu beradaptasi dengan perubahan dan melibatkan ahli di bidang spesifik.
|
| 174 |
+
|
| 175 |
+
Contoh Proyek TI:
|
| 176 |
+
- Pengembangan sistem akademik
|
| 177 |
+
- Pembuatan aplikasi mobile banking
|
| 178 |
+
- Desain sistem kehadiran digital
|
| 179 |
+
- Pengembangan platform e-commerce untuk perusahaan ekspor-impor
|
| 180 |
+
- Pembangunan jaringan komputer di lingkungan fakultas atau universitas
|
| 181 |
+
|
| 182 |
+
Komponen Utama Keberhasilan Proyek TI
|
| 183 |
+
|
| 184 |
+
1. Waktu – Seberapa sesuai proyek selesai dengan jadwal yang direncanakan.
|
| 185 |
+
2. Biaya – Seberapa efisien proyek dalam menggunakan anggaran.
|
| 186 |
+
3. Fungsionalitas – Sejauh mana produk akhir memenuhi kebutuhan yang ditetapkan.
|
| 187 |
+
|
| 188 |
+
Semakin akurat proyek memenuhi ketiga aspek ini, maka semakin tinggi pula tingkat keberhasilannya.
|
| 189 |
+
|
| 190 |
+
Persamaan Proyek TI dan Non-TI:
|
| 191 |
+
|
| 192 |
+
1. Dilakukan oleh sumber daya manusia (SDM)
|
| 193 |
+
2. Terbatas oleh sumber daya dan fasilitas yang tersedia
|
| 194 |
+
3. Direncanakan dan dilaksanakan secara sistematis
|
| 195 |
+
4. Proses pengerjaan dikendalikan dan dimonitor
|
| 196 |
+
|
| 197 |
+
Kendala Umum dalam Proyek TI:
|
| 198 |
+
|
| 199 |
+
1. Sulitnya mendefinisikan ruang lingkup sejak awal
|
| 200 |
+
2. Dampak langsung terhadap proses bisnis organisasi
|
| 201 |
+
3. Pengaruh terhadap strategi organisasi
|
| 202 |
+
4. Banyaknya interaksi dengan lingkungan eksternal proyek
|
| 203 |
+
5. Tingkat risiko yang tinggi akibat perubahan teknologi yang cepat
|
| 204 |
+
|
| 205 |
+
Karakteristik Unik Proyek TI:
|
| 206 |
+
|
| 207 |
+
Invisibility (Tidak Kasat Mata): Proyek TI seringkali tidak tampak secara fisik, sehingga sulit memantau perkembangannya.
|
| 208 |
+
|
| 209 |
+
Complexity (Kompleksitas): Banyak elemen saling bergantung; satu perubahan dapat mempengaruhi aspek lain.
|
| 210 |
+
|
| 211 |
+
Flexibility (Fleksibilitas): Proyek TI umumnya mendukung fungsi lain dalam organisasi, bukan sebagai entitas mandiri.
|
| 212 |
+
|
| 213 |
+
Peranan dalam Proyek TI:
|
| 214 |
+
|
| 215 |
+
Proyek TI membutuhkan individu dengan keahlian yang bervariasi, tergantung pada perannya, yaitu:
|
| 216 |
+
1. Manajer Proyek: Bertanggung jawab mengelola keseluruhan proyek
|
| 217 |
+
2. Sponsor Proyek: Pihak yang menyediakan dukungan finansial dan strategis
|
| 218 |
+
3. Subject Matter Expert (SME): Ahli konten atau domain terkait proyek
|
| 219 |
+
4. Technical Expert: Ahli teknis yang memahami teknologi yang digunakan
|
| 220 |
+
|
| 221 |
+
Manajemen Proyek TI:
|
| 222 |
+
|
| 223 |
+
Merupakan penerapan pengetahuan, keahlian, alat, dan teknik untuk mengelola aktivitas proyek TI agar mencapai tujuan yang ditetapkan.
|
| 224 |
+
Contoh: Menyesuaikan keinginan klien dan stakeholder dengan batasan ruang lingkup, jadwal, biaya, dan kualitas.
|
| 225 |
+
|
| 226 |
+
Alasan Diperlukannya Manajemen Proyek TI:
|
| 227 |
+
|
| 228 |
+
1. Banyak proyek TI gagal memenuhi sasaran waktu dan anggaran
|
| 229 |
+
2. Adanya kebutuhan untuk menyesuaikan ruang lingkup pekerjaan karena keterbatasan waktu
|
| 230 |
+
3. Beberapa proyek bernilai besar namun tidak memberikan dampak signifikan bagi organisasi
|
| 231 |
+
|
| 232 |
+
Keuntungan Manajemen Proyek TI yang Baik:
|
| 233 |
+
|
| 234 |
+
1. Penggunaan waktu, biaya, dan sumber daya lebih efisien
|
| 235 |
+
2. Kualitas dan produktivitas meningkat
|
| 236 |
+
3. Hubungan dengan pelanggan lebih baik
|
| 237 |
+
4. Koordinasi internal membaik, meningkatkan tanggung jawab dan semangat tim
|
| 238 |
+
5. Keuntungan bisnis dapat dimaksimalkan
|
| 239 |
+
|
| 240 |
+
Sistem dan Lingkungan Proyek:
|
| 241 |
+
|
| 242 |
+
Setiap proyek dijalankan dalam konteks organisasi yang dilayaninya. Maka, penting memahami lingkungan proyek, karena tiap proyek bersifat unik dan dijalankan di lingkungan yang khas.
|
| 243 |
+
|
| 244 |
+
Pendekatan Sistem dalam Proyek TI:
|
| 245 |
+
|
| 246 |
+
1. System Thinking: Melihat proyek secara menyeluruh dalam konteks organisasi
|
| 247 |
+
2. System Approach: Pendekatan analitik untuk menyelesaikan masalah kompleks melalui filosofi sistem, analisis sistem, dan manajemen sistem
|
| 248 |
+
|
| 249 |
+
Tiga Komponen dalam System Approach:
|
| 250 |
+
|
| 251 |
+
Filosofi Sistem: Segala sesuatu dipandang sebagai bagian dari sistem yang saling berinteraksi.
|
| 252 |
+
|
| 253 |
+
Analisis Sistem: Menentukan ruang lingkup proyek, membagi sistem ke dalam bagian-bagian, dan mengidentifikasi masalah serta kebutuhan.
|
| 254 |
+
|
| 255 |
+
Manajemen Sistem: Mempertimbangkan aspek organisasi sebelum menerapkan perubahan.
|
| 256 |
+
|
| 257 |
+
Sudut Pandang Bisnis dalam Proyek TI:
|
| 258 |
+
|
| 259 |
+
Menekankan pada pencapaian tujuan bisnis dan efisiensi biaya.
|
| 260 |
+
Contoh pertanyaan yang muncul:
|
| 261 |
+
Berapa biaya proyek bagi universitas atau siswa?
|
| 262 |
+
Apa dukungan yang bisa diperoleh?
|
| 263 |
+
Bagaimana dampaknya terhadap jumlah pendaftar?
|
| 264 |
+
|
| 265 |
+
Sudut Pandang Teknologi:
|
| 266 |
+
|
| 267 |
+
Menyoroti masalah teknis seperti:
|
| 268 |
+
Sistem operasi yang digunakan
|
| 269 |
+
Aplikasi yang akan diinstal
|
| 270 |
+
Spesifikasi perangkat keras
|
| 271 |
+
Dampaknya terhadap infrastruktur yang sudah ada
|
| 272 |
+
|
| 273 |
+
Sudut Pandang Organisasi:
|
| 274 |
+
|
| 275 |
+
Fokus pada dinamika organisasi, seperti:
|
| 276 |
+
Siapa yang terdampak oleh proyek
|
| 277 |
+
Bagaimana pengaruhnya terhadap mahasiswa atau fakultas
|
| 278 |
+
Siapa yang akan melatih pengguna dan mengelola sistem
|
| 279 |
+
|
| 280 |
+
Kerangka Organisasi dan Pengaruhnya:
|
| 281 |
+
|
| 282 |
+
Pemahaman akan struktur, budaya, dan dinamika politik organisasi penting bagi keberhasilan proyek. Ada empat kerangka organisasi utama:
|
| 283 |
+
|
| 284 |
+
Struktural: Fokus pada struktur formal dan pembagian tanggung jawab
|
| 285 |
+
|
| 286 |
+
Sumber Daya Manusia: Menciptakan keselarasan antara tujuan organisasi dan kebutuhan individu
|
| 287 |
+
|
| 288 |
+
Politis: Mengakui adanya perbedaan kepentingan dan potensi konflik
|
| 289 |
+
|
| 290 |
+
Simbolik: Menitikberatkan pada makna simbolik dalam tindakan dan budaya organisasi
|
| 291 |
+
|
| 292 |
+
Siklus Hidup Proyek (Project Life Cycle):
|
| 293 |
+
|
| 294 |
+
Siklus hidup proyek terdiri dari beberapa fase yang menghubungkan awal dan akhir proyek. Setiap fase mencakup jenis pekerjaan yang dilakukan, hasil yang diharapkan (deliverable), waktu pelaksanaan, pihak yang terlibat, serta bagaimana pekerjaan tersebut diawasi dan disetujui.
|
| 295 |
+
|
| 296 |
+
Fungsi Project Life Cycle:
|
| 297 |
+
|
| 298 |
+
1. Menentukan waktu mulai dan akhir proyek
|
| 299 |
+
2. Menyediakan waktu untuk studi kelayakan
|
| 300 |
+
3. Menentukan transisi dari satu fase ke fase lain
|
| 301 |
+
4. Menjabarkan pekerjaan teknis pada setiap tahap
|
| 302 |
+
|
| 303 |
+
Fase dalam Project Life Cycle:
|
| 304 |
+
|
| 305 |
+
1. Concept: Penentuan ide dasar dan kebutuhan proyek
|
| 306 |
+
2. Development: Perencanaan dan pengembangan solusi
|
| 307 |
+
3. Implementation: Eksekusi proyek
|
| 308 |
+
4. Close-out / Support: Penutupan dan dukungan pasca implementasi
|
| 309 |
+
|
| 310 |
+
Dengan memahami siklus hidup proyek, manajer proyek dapat mengendalikan jalannya proyek secara sistematis, sekaligus memastikan kaitannya dengan operasional organisasi tetap terjaga.
|
| 311 |
+
|
| 312 |
+
Karakteristik Project Life Cycle:
|
| 313 |
+
|
| 314 |
+
1. Proyek berjalan secara berurutan
|
| 315 |
+
2. Kebutuhan biaya dan sumber daya memuncak di tengah proyek
|
| 316 |
+
3. Risiko tertinggi biasanya ada di awal proyek
|
| 317 |
+
4. Keterlibatan stakeholder besar di awal karena biaya perubahan akan semakin mahal di akhir proyek
|
| 318 |
+
|
| 319 |
+
Pengaruh Stakeholder dalam Proyek:
|
| 320 |
+
|
| 321 |
+
Stakeholder memiliki pengaruh besar, terutama di awal proyek. Risiko, ketidakpastian, serta biaya kesalahan akan meningkat jika tidak diperhitungkan sejak dini. Maka, keterlibatan mereka sangat krusial untuk keberhasilan proyek.
|
| 322 |
+
|
| 323 |
+
Proses Manajemen Proyek
|
| 324 |
+
|
| 325 |
+
Kelompok Proses dalam Manajemen Proyek
|
| 326 |
+
|
| 327 |
+
Manajemen proyek dapat dipandang sebagai serangkaian proses yang saling berkaitan dan berurutan. Proses-proses ini digunakan untuk mengelola proyek dari awal hingga akhir secara sistematis. Dalam konteks ini, proses-proses tersebut dikelompokkan menjadi lima tahapan utama yang dikenal sebagai Project Management Process Groups (Kelompok Proses Manajemen Proyek), yang diakui sebagai praktik terbaik (good practice) dalam banyak proyek, terutama proyek TI.
|
| 328 |
+
|
| 329 |
+
Lima Kelompok Proses Utama:
|
| 330 |
+
|
| 331 |
+
1. Inisiasi Proyek
|
| 332 |
+
Merupakan tahap awal di mana proyek secara resmi dikenali dan diberi kewenangan untuk dimulai.
|
| 333 |
+
|
| 334 |
+
Penjelasan:
|
| 335 |
+
- Mengidentifikasi kebutuhan atau peluang bisnis yang mendasari proyek.
|
| 336 |
+
- Penunjukan manajer proyek.
|
| 337 |
+
- Identifikasi stakeholder utama (pihak yang berkepentingan).
|
| 338 |
+
- Penyusunan business case (alasan bisnis) dan piagam proyek (project charter) sebagai dasar formal dimulainya proyek.
|
| 339 |
+
|
| 340 |
+
2. Perencanaan Proyek
|
| 341 |
+
Tahap ini bertujuan untuk menyusun strategi dan rencana detail guna mencapai tujuan proyek.
|
| 342 |
+
|
| 343 |
+
Penjelasan:
|
| 344 |
+
- Menentukan ruang lingkup proyek (scope).
|
| 345 |
+
- Membuat work breakdown structure (WBS), yaitu rincian aktivitas proyek ke dalam unit-unit kerja lebih kecil.
|
| 346 |
+
- Menyusun jadwal dalam bentuk Gantt Chart yang menunjukkan waktu dan ketergantungan antar tugas.
|
| 347 |
+
- Menyusun kontrak kerja tim dan daftar risiko proyek yang sudah diprioritaskan.
|
| 348 |
+
- Perencanaan ini mencakup semua area pengetahuan manajemen proyek, seperti waktu, biaya, komunikasi, dan risiko.
|
| 349 |
+
|
| 350 |
+
3. Pelaksanaan/Eksekusi Proyek
|
| 351 |
+
Tahap pelaksanaan melibatkan penggunaan sumber daya untuk menjalankan semua aktivitas sesuai rencana.
|
| 352 |
+
|
| 353 |
+
Penjelasan:
|
| 354 |
+
- Proses ini menyerap waktu dan sumber daya terbanyak.
|
| 355 |
+
- Semua hasil kerja (deliverables) diproduksi di tahap ini.
|
| 356 |
+
- Dibutuhkan kepemimpinan kuat dari manajer proyek untuk mengatasi tantangan di lapangan dan memastikan pelaksanaan berjalan sesuai rencana.
|
| 357 |
+
|
| 358 |
+
4. Pengendalian dan Pemantauan Proyek
|
| 359 |
+
Tahap ini bertujuan untuk memastikan proyek tetap berada di jalur yang benar dengan cara mengawasi dan mengukur kinerja.
|
| 360 |
+
|
| 361 |
+
Penjelasan:
|
| 362 |
+
- Memonitor kemajuan proyek dan membandingkannya dengan rencana awal.
|
| 363 |
+
- Mengidentifikasi deviasi dari rencana dan menerapkan tindakan korektif jika diperlukan.
|
| 364 |
+
- Pengendalian dilakukan di sepanjang siklus hidup proyek.
|
| 365 |
+
|
| 366 |
+
Hasil utamanya adalah laporan status dan perkembangan proyek.
|
| 367 |
+
|
| 368 |
+
5. Penutupan Proyek
|
| 369 |
+
Merupakan tahap di mana proyek secara formal dinyatakan selesai.
|
| 370 |
+
|
| 371 |
+
Penjelasan:
|
| 372 |
+
- Mendapatkan persetujuan akhir dari stakeholder atau klien atas produk atau layanan yang dihasilkan.
|
| 373 |
+
- Menyusun dokumentasi akhir proyek, termasuk arsip proyek dan pelajaran yang dipelajari (lessons learned).
|
| 374 |
+
- Penutupan tetap dilakukan meskipun proyek tidak berhasil agar menjadi pembelajaran di masa depan.
|
| 375 |
+
- Biasanya disertai laporan akhir dan presentasi kepada pihak terkait.
|
| 376 |
+
|
| 377 |
+
Pembangunan Metodologi Manajemen Proyek TI
|
| 378 |
+
|
| 379 |
+
Setiap organisasi memiliki keunikan dalam menangani proyeknya. Karena itu, pendekatan terhadap manajemen proyek, terutama dalam bidang TI, dapat bervariasi. Banyak organisasi bahkan merancang metodologi manajemen proyek mereka sendiri sesuai kebutuhan spesifik proyek yang mereka kelola.
|
| 380 |
+
|
| 381 |
+
Risiko-Risiko yang Umum Dihadapi dalam Proyek TI
|
| 382 |
+
|
| 383 |
+
Sebagai bagian dari perencanaan, penting untuk mengidentifikasi dan memprioritaskan risiko. Berikut beberapa risiko yang sering muncul dalam proyek TI:
|
| 384 |
+
1. Kurangnya kontribusi dari konsultan internal
|
| 385 |
+
2. Minimnya masukan dari perwakilan klien
|
| 386 |
+
3. Masalah keamanan dalam sistem baru
|
| 387 |
+
4. Ketergantungan pada pihak ketiga (outsourcing) untuk fitur tertentu
|
| 388 |
+
5. Ketidakefisienan fitur pencarian informasi
|
| 389 |
+
6. Sulitnya mendapatkan umpan balik dari konsultan senior
|
| 390 |
+
7. Tantangan dalam mempromosikan sistem baru secara efektif
|
| 391 |
+
8. Kebutuhan evaluasi menyeluruh terhadap performa sistem dalam satu tahun
|
| 392 |
+
|
| 393 |
+
Pengakhiran Proyek: Bentuk dan Alasan
|
| 394 |
+
|
| 395 |
+
Tidak semua proyek diakhiri dengan cara yang sama. Berikut ini adalah beberapa cara umum proyek berakhir:
|
| 396 |
+
|
| 397 |
+
1. Extinction (Penghentian Total):
|
| 398 |
+
Proyek selesai karena sukses atau gagal total.
|
| 399 |
+
2. Addition (Penambahan):
|
| 400 |
+
Proyek berhasil dan hasilnya menjadi bagian permanen dari organisasi.
|
| 401 |
+
3. Integration (Integrasi):
|
| 402 |
+
Proyek dilebur ke dalam proyek lain yang lebih besar atau program strategis organisasi.
|
| 403 |
+
4. Starvation (Kehabisan Sumber Daya):
|
| 404 |
+
Proyek dihentikan karena kekurangan dana, dukungan politik, atau sumber daya lainnya.
|
| 405 |
+
|
| 406 |
+
Tindak Lanjut Pasca-Proyek (Post-Project Review)
|
| 407 |
+
|
| 408 |
+
Setelah proyek selesai, banyak organisasi melakukan evaluasi menyeluruh satu hingga dua tahun kemudian untuk:
|
| 409 |
+
- Menilai apakah manfaat proyek benar-benar terwujud
|
| 410 |
+
- Meninjau estimasi finansial dan efisiensi biaya
|
| 411 |
+
- Belajar dari pengalaman untuk membuat prediksi dan estimasi yang lebih akurat di masa mendatang
|
| 412 |
+
- Memastikan bahwa proyek memberikan dampak positif terhadap tujuan strategis organisasi
|
| 413 |
+
|
| 414 |
+
Manajemen Integrasi Proyek
|
| 415 |
+
|
| 416 |
+
1. Pengertian Manajemen Integrasi Proyek
|
| 417 |
+
----------------------------------------
|
| 418 |
+
Manajemen Integrasi Proyek adalah fondasi penting dalam keseluruhan proses manajemen proyek yang memiliki pengaruh terhadap seluruh area pengetahuan (knowledge area). Integrasi ini bertujuan untuk memastikan bahwa semua aspek proyek seperti sumber daya manusia, perencanaan, pelaksanaan tugas, dan komunikasi antara proyek dengan manajemen puncak dapat berjalan dengan selaras dan terkoordinasi dengan baik. Kemampuan mengelola integrasi ini merupakan kompetensi penting yang harus dimiliki oleh seorang manajer proyek.
|
| 419 |
+
|
| 420 |
+
Penjelasan:
|
| 421 |
+
- Tiang penyangga proyek: Artinya integrasi proyek menopang semua aspek lain dalam proyek.
|
| 422 |
+
- Koordinasi antar aspek: Menyatukan berbagai area pengetahuan agar saling mendukung sepanjang siklus hidup proyek.
|
| 423 |
+
- Komunikasi dengan top manajemen: Menjadi jembatan antara pelaksana proyek dan pimpinan organisasi.
|
| 424 |
+
|
| 425 |
+
2. Kunci Keberhasilan Proyek
|
| 426 |
+
----------------------------
|
| 427 |
+
Keberhasilan suatu proyek sangat bergantung pada kemampuan manajer proyek dalam mengintegrasikan semua area pengetahuan selama proyek berlangsung. Banyak manajer proyek cenderung fokus pada detail teknis namun melupakan keseluruhan gambaran proyek secara menyeluruh (big picture). Perlu diingat bahwa manajemen integrasi bukan sekadar penggabungan perangkat lunak, melainkan mencakup aspek strategis dan koordinatif.
|
| 428 |
+
|
| 429 |
+
Penjelasan:
|
| 430 |
+
- Big picture: Visi besar proyek harus selalu diingat agar arah proyek tetap konsisten.
|
| 431 |
+
- Bukan software integration: Ini tentang pengelolaan dan penyelarasan proses, bukan integrasi sistem IT saja.
|
| 432 |
+
|
| 433 |
+
3. Proses Utama dalam Manajemen Integrasi Proyek
|
| 434 |
+
-
|
| 435 |
+
1. Membangun Project Charter
|
| 436 |
+
2. Menyusun Preliminary Scope Statement
|
| 437 |
+
3. Mengembangkan Project Management Plan
|
| 438 |
+
4. Mengelola dan Mengarahkan Eksekusi Proyek
|
| 439 |
+
5. Monitoring dan Pengendalian Proyek
|
| 440 |
+
6. Pengendalian Perubahan Terintegrasi
|
| 441 |
+
7. Penutupan Proyek
|
| 442 |
+
|
| 443 |
+
Kesemua proses ini harus dilakukan dengan koordinasi dan komunikasi yang efektif agar gambaran umum proyek tetap utuh.
|
| 444 |
+
|
| 445 |
+
4. Project Charter
|
| 446 |
+
------------------
|
| 447 |
+
Dokumen resmi yang menandai dimulainya proyek dan memberikan wewenang formal kepada manajer proyek untuk menggunakan sumber daya. Project charter juga berfungsi sebagai panduan awal dalam perencanaan dan sebagai alat untuk mendapatkan dukungan manajemen.
|
| 448 |
+
|
| 449 |
+
Isi Umum Project Charter:
|
| 450 |
+
- Nama proyek dan manajer proyek
|
| 451 |
+
- Waktu pelaksanaan dan anggaran ringkas
|
| 452 |
+
- Tujuan dan urgensi bisnis proyek
|
| 453 |
+
- Ringkasan pendekatan manajemen
|
| 454 |
+
- Penugasan tim inti proyek
|
| 455 |
+
- Tanda tangan stakeholder dan kolom komentar
|
| 456 |
+
|
| 457 |
+
Manfaat:
|
| 458 |
+
- Memberikan wewenang yang sah bagi manajer proyek
|
| 459 |
+
- Menurunkan risiko kegagalan karena tujuan dan dukungan tidak jelas
|
| 460 |
+
|
| 461 |
+
5. Preliminary Scope Statement
|
| 462 |
+
------------------------------
|
| 463 |
+
Dokumen awal yang menjelaskan ruang lingkup proyek secara garis besar. Dokumen ini dibutuhkan untuk memulai diskusi mengenai pekerjaan-pekerjaan proyek dan menyamakan pemahaman antar anggota tim.
|
| 464 |
+
|
| 465 |
+
Isi Preliminary Scope:
|
| 466 |
+
- Tujuan proyek dan deskripsi produk/servis
|
| 467 |
+
- Batasan proyek dan kriteria penerimaan produk
|
| 468 |
+
- Asumsi, hambatan, dan risiko
|
| 469 |
+
- Ringkasan jadwal dan biaya
|
| 470 |
+
- Persyaratan persetujuan dan manajemen konfigurasi
|
| 471 |
+
|
| 472 |
+
6. Project Management Plan
|
| 473 |
+
--------------------------
|
| 474 |
+
Dokumen perencanaan menyeluruh yang mengkoordinasikan seluruh dokumen perencanaan proyek. Ini menjadi referensi utama bagi manajer dalam memimpin tim dan menilai kemajuan proyek.
|
| 475 |
+
|
| 476 |
+
Ciri dan Atribut:
|
| 477 |
+
- Bersifat dinamis dan fleksibel
|
| 478 |
+
- Harus bisa diperbarui jika ada perubahan
|
| 479 |
+
- Menjadi rujukan dalam eksekusi
|
| 480 |
+
|
| 481 |
+
Elemen:
|
| 482 |
+
- Organisasi proyek dan deskripsi manajemennya
|
| 483 |
+
- Proses teknis dan rencana kerja
|
| 484 |
+
- Jadwal dan estimasi biaya
|
| 485 |
+
|
| 486 |
+
7. Stakeholder Analysis
|
| 487 |
+
-----------------------
|
| 488 |
+
Analisis pemangku kepentingan sangat penting karena mengidentifikasi siapa saja yang terlibat, sejauh mana keterlibatannya, serta bagaimana menjaga hubungan yang baik dengan mereka.
|
| 489 |
+
|
| 490 |
+
Isi Stakeholder Analysis:
|
| 491 |
+
- Nama, organisasi, dan peran stakeholder
|
| 492 |
+
- Informasi unik dan tingkat pengaruh mereka
|
| 493 |
+
- Strategi menjalin hubungan
|
| 494 |
+
|
| 495 |
+
8. Eksekusi Proyek
|
| 496 |
+
------------------
|
| 497 |
+
Tahap di mana seluruh rencana dijalankan untuk menghasilkan produk atau layanan. Di sinilah sebagian besar anggaran dan waktu digunakan.
|
| 498 |
+
|
| 499 |
+
Keterampilan Kunci:
|
| 500 |
+
- Kepemimpinan dan komunikasi
|
| 501 |
+
- Kecakapan politik dan teknis
|
| 502 |
+
|
| 503 |
+
Tools yang digunakan:
|
| 504 |
+
- Work Authorization System: Menjamin tugas dikerjakan oleh orang tepat, di waktu tepat
|
| 505 |
+
- Status Review Meetings: Rapat terjadwal untuk menyampaikan progres
|
| 506 |
+
- Software Manajemen Proyek: Mendukung koordinasi dan pelaporan
|
| 507 |
+
|
| 508 |
+
9. Monitoring dan Kontrol Proyek
|
| 509 |
+
--------------------------------
|
| 510 |
+
Aktivitas pengumpulan, pengukuran, dan penyebaran informasi kinerja. Hasilnya adalah tindakan korektif atau preventif untuk menjaga proyek tetap pada jalurnya.
|
| 511 |
+
|
| 512 |
+
Tools:
|
| 513 |
+
- Earned Value Management
|
| 514 |
+
- Expert Judgement
|
| 515 |
+
- Sistem Informasi Proyek
|
| 516 |
+
|
| 517 |
+
10. Pengendalian Perubahan Terintegrasi
|
| 518 |
+
---------------------------------------
|
| 519 |
+
Proses mengidentifikasi dan mengelola perubahan yang terjadi selama proyek. Tujuannya adalah memastikan bahwa perubahan memberikan nilai tambah terhadap proyek.
|
| 520 |
+
|
| 521 |
+
Fokus:
|
| 522 |
+
- Menilai dampak perubahan terhadap waktu, biaya, kualitas
|
| 523 |
+
- Menetapkan apakah perubahan akan dilakukan
|
| 524 |
+
- Mengelola proses perubahan
|
| 525 |
+
|
| 526 |
+
11. Sistem Kontrol Perubahan
|
| 527 |
+
----------------------------
|
| 528 |
+
Dokumentasi yang menjelaskan bagaimana, kapan, dan siapa yang berwenang untuk mengubah dokumen dan pekerjaan proyek.
|
| 529 |
+
|
| 530 |
+
Elemen:
|
| 531 |
+
- Change Control Board (CCB): Komite yang menyetujui atau menolak perubahan
|
| 532 |
+
- Manajemen Konfigurasi: Menjamin bahwa deskripsi produk sesuai spesifikasi
|
| 533 |
+
- Proses komunikasi perubahan
|
| 534 |
+
|
| 535 |
+
12. Saran dalam Pengendalian Perubahan
|
| 536 |
+
--------------------------------------
|
| 537 |
+
- Anggap manajemen proyek sebagai proses komunikasi terus-menerus
|
| 538 |
+
- Rencanakan perubahan dari awal
|
| 539 |
+
- Gunakan sistem kontrol dan CCB
|
| 540 |
+
- Gunakan laporan tertulis/lisan
|
| 541 |
+
- Terapkan software manajemen proyek
|
| 542 |
+
|
| 543 |
+
13. Penutupan Proyek
|
| 544 |
+
--------------------
|
| 545 |
+
Tahap akhir yang melibatkan penyelesaian semua aktivitas, termasuk dokumentasi dan penyerahan hasil akhir.
|
| 546 |
+
|
| 547 |
+
Output:
|
| 548 |
+
- Prosedur penutupan administratif dan kontrak
|
| 549 |
+
- Produk akhir yang dihasilkan
|
| 550 |
+
- Pembaruan aset proses organisasi
|
| 551 |
+
|
| 552 |
+
Manajemen Ruang Lingkup Proyek
|
| 553 |
+
|
| 554 |
+
Definisi Ruang Lingkup Proyek
|
| 555 |
+
Ruang lingkup proyek merujuk pada seluruh pekerjaan yang perlu dilakukan untuk menghasilkan produk proyek. Ini mencakup proses-proses yang diperlukan guna menciptakan produk akhir yang dimaksud. Batasan proyek juga menentukan secara eksplisit apa saja yang termasuk dan tidak termasuk dalam pekerjaan proyek.
|
| 556 |
+
|
| 557 |
+
Proses dalam Manajemen Ruang Lingkup
|
| 558 |
+
1. Inisiasi: proses awal untuk memulai proyek atau melanjutkan ke tahap berikutnya.
|
| 559 |
+
2. Perencanaan ruang lingkup: menentukan bagaimana ruang lingkup akan didefinisikan, diverifikasi, dan dikendalikan.
|
| 560 |
+
3. Pendefinisian ruang lingkup: menetapkan isi proyek secara lebih detail berdasarkan perencanaan sebelumnya.
|
| 561 |
+
4. Membangun WBS (Work Breakdown Structure): mengorganisir pekerjaan menjadi bagian-bagian kecil yang dapat dikelola.
|
| 562 |
+
5. Verifikasi ruang lingkup: menyetujui secara resmi ruang lingkup akhir proyek.
|
| 563 |
+
6. Pengendalian perubahan ruang lingkup: menangani perubahan yang mungkin terjadi agar tidak menyimpang dari rencana awal.
|
| 564 |
+
|
| 565 |
+
Inisiasi
|
| 566 |
+
Tahap ini mencakup pemilihan proyek yang akan mendukung strategi jangka panjang organisasi. Proyek Teknologi Informasi (TI) yang dipilih sebaiknya mendatangkan nilai kompetitif, baik dari sisi inovasi maupun keuntungan finansial.
|
| 567 |
+
|
| 568 |
+
Identifikasi Proyek Potensial
|
| 569 |
+
Organisasi biasanya menjalankan proses perencanaan untuk memilih proyek TI. Proses ini meliputi:
|
| 570 |
+
- Penyusunan Rencana Strategis TI
|
| 571 |
+
- Analisis area bisnis
|
| 572 |
+
- Identifikasi proyek-proyek yang potensial
|
| 573 |
+
- Seleksi proyek dan pengalokasian sumber daya
|
| 574 |
+
|
| 575 |
+
Metode Pemilihan Proyek
|
| 576 |
+
1. Fokus pada kebutuhan utama organisasi: Menilai apakah proyek benar-benar penting dan diperlukan.
|
| 577 |
+
2. Kategorisasi proyek TI:
|
| 578 |
+
- Apakah proyek merupakan solusi terhadap masalah, peluang keuntungan, atau kewajiban regulasi?
|
| 579 |
+
- Lama dan waktu pelaksanaan proyek.
|
| 580 |
+
- Tingkat prioritas proyek.
|
| 581 |
+
3. Analisis Finansial: Menggunakan metode seperti NPV (Net Present Value), ROI (Return on Investment), dan analisis payback.
|
| 582 |
+
4. Weighted Scoring Model: Alat sistematis untuk membandingkan proyek berdasarkan bobot dan nilai kriteria.
|
| 583 |
+
5. Balanced Scorecard: Menghubungkan proyek dengan strategi organisasi menggunakan indikator seperti layanan pelanggan, inovasi, efisiensi operasional, dan kinerja keuangan.
|
| 584 |
+
|
| 585 |
+
Fokus pada Kebutuhan Utama Organisasi
|
| 586 |
+
Keputusan untuk menjalankan proyek sebaiknya didasarkan pada kebutuhan nyata organisasi. Hal ini melibatkan:
|
| 587 |
+
- Apakah proyek memang dibutuhkan? (need)
|
| 588 |
+
- Apakah dana tersedia? (funds)
|
| 589 |
+
- Apakah ada komitmen untuk menyukseskan proyek? (will)
|
| 590 |
+
|
| 591 |
+
Kategorisasi Proyek TI
|
| 592 |
+
Kategori 1: Jenis proyek – solusi masalah, peluang, atau kewajiban.
|
| 593 |
+
Kategori 2: Durasi proyek dan waktu implementasi.
|
| 594 |
+
Kategori 3: Prioritas proyek dibanding proyek lainnya.
|
| 595 |
+
|
| 596 |
+
Analisis Finansial
|
| 597 |
+
Penilaian finansial sangat penting, dengan metode umum seperti:
|
| 598 |
+
- NPV: Menghitung nilai sekarang dari arus kas masa depan.
|
| 599 |
+
- ROI: Mengukur rasio keuntungan dari investasi.
|
| 600 |
+
- Payback: Mengukur berapa lama investasi akan kembali modal.
|
| 601 |
+
|
| 602 |
+
Weighted Scoring Model
|
| 603 |
+
Model ini menyediakan proses objektif dalam memilih proyek:
|
| 604 |
+
- Tentukan kriteria penilaian
|
| 605 |
+
- Beri bobot pada masing-masing kriteria
|
| 606 |
+
- Nilai tiap proyek berdasarkan kriteria
|
| 607 |
+
- Hitung skor total: makin tinggi skor, makin layak proyek dijalankan
|
| 608 |
+
|
| 609 |
+
Balanced Scorecard
|
| 610 |
+
Dikembangkan oleh Kaplan dan Norton, metode ini menyelaraskan proyek dengan tujuan strategis organisasi. Balanced Scorecard mengubah pendorong nilai organisasi menjadi indikator yang terukur, seperti:
|
| 611 |
+
- Layanan pelanggan
|
| 612 |
+
- Inovasi
|
| 613 |
+
- Efisiensi operasional
|
| 614 |
+
- Kinerja keuangan
|
| 615 |
+
|
| 616 |
+
Project Charter
|
| 617 |
+
Merupakan dokumen formal yang disusun setelah proyek dipilih. Dokumen ini biasanya mencantumkan tanda tangan stakeholder sebagai bentuk persetujuan.
|
| 618 |
+
|
| 619 |
+
Perencanaan Ruang Lingkup Proyek
|
| 620 |
+
Tahapan ini bertujuan memutuskan bagaimana ruang lingkup akan dirumuskan, diverifikasi, dan dikendalikan, termasuk juga cara menyusun WBS. Output utama dari proses ini adalah Scope Management Plan, yaitu rencana tertulis tentang bagaimana mendefinisikan ruang lingkup, membuat WBS, memverifikasi hasil proyek, serta mengelola perubahan. Input penting mencakup project charter, preliminary scope statement, dan project management plan, serta referensi aturan/prosedur proyek terdahulu.
|
| 621 |
+
|
| 622 |
+
Pendefinisian Ruang Lingkup Proyek
|
| 623 |
+
Melibatkan tinjauan ulang terhadap project charter dan preliminary scope, lalu menambahkan detail dari perencanaan dan perubahan yang disetujui untuk membentuk definisi final. Hasil utamanya adalah project scope statement. Teknik yang digunakan meliputi analisis produk, identifikasi kebutuhan pengguna, dan pertimbangan ahli. Scope statement bisa diperbarui bila diperlukan.
|
| 624 |
+
|
| 625 |
+
Informasi dalam Project Scope Statement
|
| 626 |
+
1. Deskripsi proyek: mencakup tujuan dan alasan proyek dijalankan.
|
| 627 |
+
2. Deskripsi deliverables: termasuk karakteristik dan persyaratan hasil akhir.
|
| 628 |
+
3. Kriteria keberhasilan: ukuran yang digunakan untuk menilai pencapaian proyek.
|
| 629 |
+
|
| 630 |
+
Membangun Work Breakdown Structure (WBS)
|
| 631 |
+
WBS adalah struktur pembagian pekerjaan berdasarkan hasil akhir (deliverables) menjadi elemen kerja lebih kecil dan terorganisir. WBS penting untuk koordinasi karena melibatkan banyak pihak dan komponen. Input utama pembentukan WBS adalah project scope statement dan project management plan.
|
| 632 |
+
|
| 633 |
+
Teknik dan Output WBS
|
| 634 |
+
Teknik utama adalah dekomposisi, yaitu membagi deliverables menjadi paket pekerjaan (work packages). Output meliputi:
|
| 635 |
+
- Struktur WBS
|
| 636 |
+
- Kamus WBS (penjelasan tiap elemen)
|
| 637 |
+
- Scope baseline
|
| 638 |
+
- Update terhadap dokumen ruang lingkup dan rencana manajemen ruang lingkup
|
| 639 |
+
|
| 640 |
+
Pendekatan Pembuatan WBS
|
| 641 |
+
1. Guidelines: mengikuti panduan dari organisasi.
|
| 642 |
+
2. Analogy approach: menggunakan WBS proyek sebelumnya sebagai referensi.
|
| 643 |
+
3. Top-down: dimulai dari keseluruhan proyek lalu dipecah ke bawah.
|
| 644 |
+
4. Bottom-up: menggabungkan pekerjaan kecil menjadi keseluruhan proyek.
|
| 645 |
+
5. Mind mapping: metode visual dengan memetakan ide dari pusat ke cabang.
|
| 646 |
+
|
| 647 |
+
Kamus WBS dan Scope Baseline
|
| 648 |
+
Kamus WBS adalah dokumen rinci tentang setiap elemen dalam WBS, menjelaskan bagaimana suatu pekerjaan dilakukan. Isinya dapat bervariasi tergantung tim, tetapi harus cukup informatif untuk digunakan oleh pengganti jika diperlukan. Scope baseline terdiri dari project scope statement, WBS, dan kamus WBS yang telah disetujui.
|
| 649 |
+
|
| 650 |
+
Verifikasi Ruang Lingkup Proyek
|
| 651 |
+
Tahap ini adalah proses formal untuk memperoleh persetujuan stakeholder atas project scope statement final. Input-nya meliputi scope statement, kamus WBS, scope management plan, dan deliverables. Verifikasi biasanya dilakukan melalui inspeksi oleh customer.
|
| 652 |
+
|
| 653 |
+
Mengendalikan Perubahan Ruang Lingkup
|
| 654 |
+
Proses ini mengelola perubahan terhadap ruang lingkup proyek agar tetap terkendali. Perubahan yang tidak terkendali akan memperluas lingkup proyek di luar rencana awal (scope creep). Proses ini memantau dan mengevaluasi faktor-faktor penyebab perubahan serta pengaruhnya terhadap proyek.
|
| 655 |
+
|
| 656 |
+
Input dan Output Pengendalian Perubahan
|
| 657 |
+
Input:
|
| 658 |
+
- Project Scope Statement
|
| 659 |
+
- WBS dan Kamus WBS
|
| 660 |
+
- Scope Management Plan
|
| 661 |
+
- Laporan Kinerja
|
| 662 |
+
- Change Request yang telah disetujui
|
| 663 |
+
- Informasi kinerja kerja
|
| 664 |
+
|
| 665 |
+
Output:
|
| 666 |
+
- Update pada project scope statement, WBS, dan kamus WBS
|
| 667 |
+
- Scope baseline terbaru
|
| 668 |
+
- Permintaan perubahan
|
| 669 |
+
- Tindakan korektif yang direkomendasikan
|
| 670 |
+
- Aset proses organisasi terbaru
|
| 671 |
+
- Update project management plan
|
| 672 |
+
|
| 673 |
+
Saran Menekan Perubahan Ruang Lingkup
|
| 674 |
+
- Pastikan proyek dijalankan untuk menjawab kebutuhan nyata organisasi.
|
| 675 |
+
- Libatkan pengguna (user) secara aktif dan optimal.
|
| 676 |
+
- Lakukan pertemuan secara berkala.
|
| 677 |
+
- Komunikasikan perkembangan secara rutin kepada user dan sponsor.
|
| 678 |
+
- Pererat hubungan antara pengembang dan pengguna proyek.
|
| 679 |
+
|
| 680 |
+
Manajemen Waktu Proyek
|
| 681 |
+
|
| 682 |
+
Definisi
|
| 683 |
+
|
| 684 |
+
Manajemen waktu proyek, adalah tahapan mendefinisikan proses-proses yang perlu dilakukan selama proyek berlangsung berkaitan dengan penjaminan agar proyek dapat berjalan tepat waktu dengan tetap memperhatikan keterbatasan biaya serta penjagaan kualitas produk/servis/hasil unik dari proyek.
|
| 685 |
+
|
| 686 |
+
Tahapan Manajemen Waktu Proyek
|
| 687 |
+
|
| 688 |
+
1. Definisikan aktivitas
|
| 689 |
+
Identifikasi jadwal aktivitas yang harus dilakukan secara spesifik untuk memproduksi hasil-hasil proyek
|
| 690 |
+
2. Pengurutan aktivitas
|
| 691 |
+
Identifikasi dan mendokumentasikan keterkaitan antar satu aktivitas dengan aktivitas lainnya
|
| 692 |
+
3. Estimasi kebutuhan aktivitas
|
| 693 |
+
Estimasi jenis dan jumlah sumber daya yang dibutuhkan untuk melaksanakan aktivitas yang sudah terjadwal
|
| 694 |
+
4. Estimasi durasi aktivitas
|
| 695 |
+
Estimasi perioda yang dibutuhkan untuk menyelesaikan pekerjaan dari setiap aktivitas
|
| 696 |
+
5. Membangun jadwal
|
| 697 |
+
Menganalisis urutan aktivitas, durasinya, sumber daya yang dibutuhkan dan tantangan pemenuhan jadwal sampai terbentuknya jadwal pelaksanaan proyek
|
| 698 |
+
6. Mengendalikan jadwal
|
| 699 |
+
Mengendalikan perubahan jadwal proyek
|
| 700 |
+
|
| 701 |
+
Daftar Aktivitas (Activity List)
|
| 702 |
+
|
| 703 |
+
1. Dibuat berdasarkan WBS dan WBS Dictionary
|
| 704 |
+
2. Project Deliverables, hambatan dan asumsi yang tertera dalam scope statement juga menjadi bahan pertimbangan ketika membangun Activity List
|
| 705 |
+
3. Sebaiknya dibuat berdasarkan standar/template activity list yang telah biasa digunakan oleh organisasi yang bersangkutan
|
| 706 |
+
|
| 707 |
+
Atribut Aktivitas
|
| 708 |
+
|
| 709 |
+
Informasi yang terkandung dalam atribut aktivitas, antara lain :
|
| 710 |
+
1. Identitas aktivitas, kode aktivitas, deskripsi aktivitas, aktivitas pendahulunya, aktivitas yang mengikutinya, relasi logis antar aktivitas, hal yang mempercepat dan yang mungkin memperlambat aktivitas, sumber daya yang dibutuhkan, tantangan dan hambatan serta asumsi
|
| 711 |
+
2. Orang yang bertanggungjawab mengeksekusi suatu pekerjaan
|
| 712 |
+
3. Area geografis atau tempat pekerjaan harus dilakukan
|
| 713 |
+
4. Tipe aktivitas, misalnya apakah suatu aktivitas harus dikerjaan dengan pembagian dan bertahap atau merupakan satu kesatuan pekerjaan yang dapat berdiri sendiri
|
| 714 |
+
|
| 715 |
+
Milestone List
|
| 716 |
+
|
| 717 |
+
- Daftar peristiwa yang menjadi penanda selesainya suatu pekerjaan, misalnya tanggal, produk yang dihasilkan, laporan, dsb
|
| 718 |
+
- Berguna dalam monitoring kemajuan proyek
|
| 719 |
+
|
| 720 |
+
Urutan Aktivitas
|
| 721 |
+
|
| 722 |
+
Dapat digambarkan dengan berbagai diagram, antara lain :
|
| 723 |
+
• Network Diagram & Critical Path Analysis
|
| 724 |
+
• Precedence diagram
|
| 725 |
+
|
| 726 |
+
Arrow Diagramming Method (ADM)
|
| 727 |
+
|
| 728 |
+
1. Disebut juga activity-on-arrow (AOA) project network diagrams
|
| 729 |
+
2. Aktivitas direpresentasikan sebagai tanda panah
|
| 730 |
+
3. Node atau lingkaran sebagai penanda awal dan akhir sebuah aktivitas
|
| 731 |
+
4. Hanya dapat menunjukkan ketergantungan dari awal ke akhir
|
| 732 |
+
|
| 733 |
+
Proses membuat Diagram AOA
|
| 734 |
+
|
| 735 |
+
1. Tentukan semua aktivitas yang berawal di node 1. Gambarkan node akhirnya dan tanda panah yang menghubungkan node 1 dengan node-node akhirnya. Tulis huruf atau nama aktivitas disertai estimasi durasi yang dibutuhkan pada tanda panah yang berkaitan.
|
| 736 |
+
|
| 737 |
+
2. Lanjutkan menggambar network diagram, dengan cara menggambarkannya dari kiri ke kanan. Perhatikan node-node yang diikuti oleh 2 atau lebih aktivitas, atau sebaliknya 1 node yang didahului oleh 2 atau lebih aktivitas, jika perlu digabung atau dipisahkan.
|
| 738 |
+
|
| 739 |
+
3. Diagram terus digambar hingga semua aktivitas tercantum pada diagram, termasuk keterkaitan/ketergantungan satu aktivitas dengan aktivitas lainnya.
|
| 740 |
+
|
| 741 |
+
4. Perhatikan aturan: semua tanda panah harus mengarah dari kiri ke kanan, dan tidak ada tanda panah yang saling berpotongan.
|
| 742 |
+
|
| 743 |
+
Precedence Diagramming Method (PDM)
|
| 744 |
+
|
| 745 |
+
1. Aktivitas direpresentasikan oleh kotak-kotak
|
| 746 |
+
2. Tanda panah menunjukkan relasi antar aktivitas
|
| 747 |
+
3. Lebih populer dibandingkan ADM dan banyak digunakan dalam manajemen proyek perangkat
|
| 748 |
+
4. Lebih baik dalam memperlihatkan berbagai tipe ketergantungan.
|
| 749 |
+
|
| 750 |
+
Estimasi Durasi Aktivitas
|
| 751 |
+
|
| 752 |
+
1. Setelah mendefinisikan aktivitas serta urutannya, langkah selanjutnya dalam manajemen adalah mengestimasi durasi yang dibutuhkan oleh aktivitas-aktivitas tsb.
|
| 753 |
+
2. Durasi adalah jumlah aktual waktu yang dibutuhkan untuk bekerja ditambah dengan waktu
|
| 754 |
+
3. Effort adalah jumlah hari atau jumlah jam yang dibutuhkan untuk menyelesaikan suatu pekerjaan.
|
| 755 |
+
4. Orang yang melakukan/bertanggung jawab dengan sebuah aktivitas/pekerjaan sebaiknya turut serta dalam mengestimasi durasi aktivitas, sedang para ahli memberi masukan dan mengevaluasi hasilnya.
|
| 756 |
+
|
| 757 |
+
Membangun Jadwal
|
| 758 |
+
|
| 759 |
+
1. Gunakanlah hasil proses manajemen waktu sebelumnya untuk membangun jadwal. Sehingga lebih mudah dalam menentukan tanggal awal dan tanggal akhir dari sebuah aktivitas.
|
| 760 |
+
2. Tujuan utama dari proses ini adalah membangun jadwal yang realistis sebagai dasar dalam memonitor kemajuan proyek berkaitan dengan keterbatasan waktu.
|
| 761 |
+
3. Alat yang dapat digunakan antara lain : Gantt Charts, PERT analysis, critical path analysis, dan critical chain scheduling
|
| 762 |
+
|
| 763 |
+
Gantt Charts
|
| 764 |
+
|
| 765 |
+
1. Gantt charts menampilkan jadwal proyek dengan format standar, yaitu dengan menampilkan daftar aktivitas beserta tanggal awal dan akhirnya dalam format kalender.
|
| 766 |
+
2. Simbol-simbolnya :
|
| 767 |
+
– A black diamond: milestones or significant events on a project with zero duration
|
| 768 |
+
– Thick black bars: summary tasks
|
| 769 |
+
– Lighter horizontal bars: tasks
|
| 770 |
+
– Arrows: dependencies between tasks
|
| 771 |
+
|
| 772 |
+
Milestones
|
| 773 |
+
|
| 774 |
+
1. Milestones adalah peristiwa penanda yang mempunyai durasi nol
|
| 775 |
+
2. Kriteria SMART dalam membuat milestones, yaitu : Specific (detail), Measurable (terukur), Achievable (dapat dicapai), Relevant (relevan), dan Time-bound (ada jangka waktunya).
|
| 776 |
+
|
| 777 |
+
Critical Path Method (CPM)
|
| 778 |
+
|
| 779 |
+
1. CPM adalah teknik menganalisis jaringan kegiatan/aktivitas-aktivitas ketika menjalankan proyek dalam rangka memprediksi durasi total
|
| 780 |
+
2. Critical path sebuah proyek adalah deretan aktivitas yang menentukan waktu tercepat yang mungkin agar proyek dapat diselesaikan
|
| 781 |
+
3. Critical path adalah jalur terpanjang dalam network diagram dan mempunyai kesalahan paling sedikit
|
| 782 |
+
|
| 783 |
+
Cara menentukan Critical Path
|
| 784 |
+
|
| 785 |
+
1. Buatlah network diagram yang baik
|
| 786 |
+
2. Tambahkan durasi untuk tiap aktivitas pada setiap jalur yang ada pada diagram tersebut.
|
| 787 |
+
3. Jalur terpanjang adalah critical path
|
| 788 |
+
|
| 789 |
+
Issue dalam Critical Path
|
| 790 |
+
|
| 791 |
+
1. Jika satu atau lebih aktivitas dalam critical path dilakukan lebih lama dari yang direncanakan, maka seluruh jadwal proyek akan berubah kecuali segera diambil tindakan korektif
|
| 792 |
+
2. Misconceptions:
|
| 793 |
+
– critical path bukanlah critical activities
|
| 794 |
+
– Dalam sebuah diagram dapat saja terdapat lebih dari satu critical path
|
| 795 |
+
– critical path dapat mengubah kemajuan proyek
|
| 796 |
+
|
| 797 |
+
Analisis Critical Path dalam membangun Jadwal Proyek
|
| 798 |
+
|
| 799 |
+
1. Critical path dapat digunakan dalam mempertimbangkan jadwal yang terbaik yang mungkin digunakan
|
| 800 |
+
2. Free slack or free float adalah jumlah waktu yang dapat ditunda dari sebuah aktivitas tanpa membuat penundaan waktu awal tercepat dari aktivitas yang mengikutinya.
|
| 801 |
+
3. Total slack or total float adalah jumlah waktu tunda sebuah aktivitas tanggal awal tercepatnya tanpa mengakibatkan penundaan tanggal akhir proyek yang telah direncanakan.
|
| 802 |
+
4. A forward pass network diagram menunjukkan tanggal tercepat dimulainya dan berakhirnya proyek, sedang backward pass menunjukkan tanggal paling terlambat dimulainya dan berakhirnya proyek
|
| 803 |
+
|
| 804 |
+
Program Evaluation and Review Technique (PERT)
|
| 805 |
+
|
| 806 |
+
1. PERT teknik analisis network diagram yang dapat digunakan untuk mengestimasi durasi proyek dimana terdapat ketidakpastian yang tinggi mengenai estimasi durasi aktivitas individual
|
| 807 |
+
2. PERT menggunakan estimasi probabilitas waktu yang digunakan berdasarkan estimasi durasi aktivitas optimistic, most likely, dan pessimistic.
|
| 808 |
+
|
| 809 |
+
Formula dan Contoh PERT
|
| 810 |
+
|
| 811 |
+
PERT weighted average formula:
|
| 812 |
+
optimistic time + 4X most likely time + pessimistic time
|
| 813 |
+
6
|
| 814 |
+
Example:
|
| 815 |
+
PERT weighted average =
|
| 816 |
+
8 workdays + 4 X 10 workdays + 24 workdays = 12 days
|
| 817 |
+
6
|
| 818 |
+
where 8 = optimistic time, 10 = most likely time, and 24 = pessimistic time
|
| 819 |
+
|
| 820 |
+
Mengendalikan perubahan Jadwal Proyek
|
| 821 |
+
|
| 822 |
+
1. Lakukan pemeriksaan jadwal secara teratur
|
| 823 |
+
2. Jangan berpikir bahwa setiap orang dapat bekerja dengan kapasitas 100% setiap saat
|
| 824 |
+
3. Lakukan rapat yang menyatakan kemajuan proyek dengan stakeholders dan nyatakanlah keadaan dengan jelas dan jujur dalam mengkomunikasikan isu-isu yang berkaitan dengan jadwal
|
data/PemrogramanBerorientasiObjek.txt
ADDED
|
@@ -0,0 +1,1464 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Kelas dan Objek
|
| 2 |
+
|
| 3 |
+
Tipe Data dalam C++
|
| 4 |
+
|
| 5 |
+
Terdapat tiga jenis tipe data dalam bahasa pemrograman C++:
|
| 6 |
+
|
| 7 |
+
1. Primary (Dasar)
|
| 8 |
+
|
| 9 |
+
Integer: Bilangan bulat
|
| 10 |
+
Floating point: Bilangan desimal dengan presisi tunggal
|
| 11 |
+
Double floating point: Bilangan desimal dengan presisi ganda
|
| 12 |
+
Character: Karakter tunggal (misalnya 'A', '1')
|
| 13 |
+
Wide character: Karakter dengan ukuran lebih besar dari char, digunakan untuk Unicode
|
| 14 |
+
Boolean: Tipe logika, hanya memiliki dua nilai: true atau false
|
| 15 |
+
Void: Tipe data kosong, biasanya digunakan untuk fungsi yang tidak mengembalikan nilai
|
| 16 |
+
|
| 17 |
+
2. Derived (Turunan)
|
| 18 |
+
|
| 19 |
+
Tipe data yang dibentuk dari tipe dasar, seperti:
|
| 20 |
+
Pointer
|
| 21 |
+
Array
|
| 22 |
+
Reference
|
| 23 |
+
Function
|
| 24 |
+
|
| 25 |
+
3. User-Defined (Didefinisikan Pengguna)
|
| 26 |
+
|
| 27 |
+
Tipe data yang dibuat oleh pengguna menggunakan:
|
| 28 |
+
class
|
| 29 |
+
struct
|
| 30 |
+
union
|
| 31 |
+
enum
|
| 32 |
+
typedef atau using
|
| 33 |
+
|
| 34 |
+
Variabel
|
| 35 |
+
|
| 36 |
+
Variabel adalah cara untuk merepresentasikan lokasi memori yang digunakan untuk menyimpan data.
|
| 37 |
+
|
| 38 |
+
Dalam C++, variabel harus dideklarasikan terlebih dahulu sebelum digunakan.
|
| 39 |
+
|
| 40 |
+
Nilai variabel dapat berubah selama program dijalankan.
|
| 41 |
+
|
| 42 |
+
Variabel bersifat sementara, artinya jika program di-restart, maka nilai variabel akan hilang dan kembali ke kondisi awal.
|
| 43 |
+
|
| 44 |
+
Identifier
|
| 45 |
+
|
| 46 |
+
Identifier adalah nama yang digunakan untuk mengidentifikasi entitas dalam program seperti variabel, fungsi, kelas, struct, atau elemen lainnya yang didefinisikan oleh pengguna.
|
| 47 |
+
|
| 48 |
+
Aturan Penulisan Identifier dalam C++
|
| 49 |
+
|
| 50 |
+
Minimal terdiri dari 1 karakter.
|
| 51 |
+
|
| 52 |
+
Harus diawali dengan huruf (A–Z atau a–z) atau underscore (_)
|
| 53 |
+
|
| 54 |
+
Karakter berikutnya bisa berupa huruf, angka (0–9), atau underscore.
|
| 55 |
+
|
| 56 |
+
Tidak diperbolehkan menggunakan karakter khusus seperti @, $, %, dan lainnya.
|
| 57 |
+
|
| 58 |
+
Bersifat case-sensitive: Tokyo dan tokyo dianggap berbeda.
|
| 59 |
+
|
| 60 |
+
Tidak boleh menggunakan reserved keywords dalam C++ seperti:
|
| 61 |
+
if, else, for, while, bool, class, dan lain-lain.
|
| 62 |
+
|
| 63 |
+
Best practice: Gunakan camelCase untuk identifier yang terdiri dari dua kata atau lebih.
|
| 64 |
+
|
| 65 |
+
Contoh: amongUs, laCasaDePapel, chicagoTypewriter
|
| 66 |
+
|
| 67 |
+
Contoh Identifier yang Valid dan Tidak Valid
|
| 68 |
+
Valid: totalNilai, _jumlahData, nilai1
|
| 69 |
+
|
| 70 |
+
Tidak valid: 1nilai, jumlah-data, @total, for, class
|
| 71 |
+
|
| 72 |
+
Teknik Pemrograman
|
| 73 |
+
|
| 74 |
+
Berikut adalah pendekatan umum dalam teknik pemrograman:
|
| 75 |
+
|
| 76 |
+
1. Unstructured Programming
|
| 77 |
+
|
| 78 |
+
Pemrograman tanpa struktur yang jelas, biasanya hanya menggunakan goto dan label.
|
| 79 |
+
|
| 80 |
+
Sulit dipelihara dan dikembangkan.
|
| 81 |
+
|
| 82 |
+
2. Procedural Programming
|
| 83 |
+
|
| 84 |
+
Program dibagi menjadi fungsi-fungsi (prosedur).
|
| 85 |
+
|
| 86 |
+
Cocok untuk program kecil hingga menengah.
|
| 87 |
+
|
| 88 |
+
3. Modular Programming
|
| 89 |
+
|
| 90 |
+
Program dipecah menjadi modul-modul yang memiliki tanggung jawab spesifik.
|
| 91 |
+
|
| 92 |
+
Meningkatkan keterbacaan dan pemeliharaan.
|
| 93 |
+
|
| 94 |
+
4. Object-Oriented Programming (OOP)
|
| 95 |
+
|
| 96 |
+
Pendekatan berbasis objek dan kelas.
|
| 97 |
+
|
| 98 |
+
Memungkinkan abstraksi, enkapsulasi, pewarisan, dan polimorfisme.
|
| 99 |
+
|
| 100 |
+
Kelas (Class)
|
| 101 |
+
|
| 102 |
+
Class adalah representasi konkret dari Abstract Data Type (ADT).
|
| 103 |
+
|
| 104 |
+
Class menyediakan struktur data dan operasi yang bisa dilakukan terhadap data tersebut.
|
| 105 |
+
|
| 106 |
+
Contoh pseudo-code:
|
| 107 |
+
|
| 108 |
+
class Mahasiswa {
|
| 109 |
+
string nama;
|
| 110 |
+
int umur;
|
| 111 |
+
|
| 112 |
+
void tampilkanData();
|
| 113 |
+
};
|
| 114 |
+
|
| 115 |
+
Struct vs Class
|
| 116 |
+
|
| 117 |
+
Struct hanya menyimpan data.
|
| 118 |
+
|
| 119 |
+
Class menyimpan data dan fungsi-fungsi (metode) yang beroperasi terhadap data tersebut.
|
| 120 |
+
|
| 121 |
+
Objek (Object)
|
| 122 |
+
|
| 123 |
+
Objek adalah instance dari class.
|
| 124 |
+
|
| 125 |
+
Class hanya berfungsi sebagai template/definisi, sedangkan objek adalah perwujudan nyata dari class tersebut.
|
| 126 |
+
|
| 127 |
+
Contoh:
|
| 128 |
+
|
| 129 |
+
class Mobil {
|
| 130 |
+
string warna;
|
| 131 |
+
void jalan();
|
| 132 |
+
};
|
| 133 |
+
|
| 134 |
+
Mobil avanza; // avanza adalah objek dari class Mobil
|
| 135 |
+
|
| 136 |
+
Menggunakan Kelas dan Objek
|
| 137 |
+
|
| 138 |
+
Contoh penggunaan kelas dan objek:
|
| 139 |
+
|
| 140 |
+
class Buku {
|
| 141 |
+
public:
|
| 142 |
+
string judul;
|
| 143 |
+
void tampilkanJudul() {
|
| 144 |
+
cout << judul << endl;
|
| 145 |
+
}
|
| 146 |
+
};
|
| 147 |
+
|
| 148 |
+
int main() {
|
| 149 |
+
Buku novel;
|
| 150 |
+
novel.judul = "Laskar Pelangi";
|
| 151 |
+
novel.tampilkanJudul();
|
| 152 |
+
}
|
| 153 |
+
|
| 154 |
+
Visualisasi Kelas dengan UML (Unified Modeling Language)
|
| 155 |
+
|
| 156 |
+
UML adalah bahasa visual untuk pemodelan sistem perangkat lunak.
|
| 157 |
+
|
| 158 |
+
Class Diagram adalah jenis diagram UML yang digunakan untuk memvisualisasikan struktur kelas dalam sistem.
|
| 159 |
+
|
| 160 |
+
Contoh elemen dalam Class Diagram:
|
| 161 |
+
Nama kelas
|
| 162 |
+
Atribut
|
| 163 |
+
Metode
|
| 164 |
+
Relasi antar kelas (asosiasi, pewarisan, dll.)
|
| 165 |
+
|
| 166 |
+
Constructor dan Destructor dalam C++
|
| 167 |
+
|
| 168 |
+
Constructor
|
| 169 |
+
|
| 170 |
+
Constructor adalah fungsi khusus dalam sebuah kelas yang akan dipanggil secara otomatis saat sebuah objek diinisialisasi.
|
| 171 |
+
|
| 172 |
+
Constructor berbeda dari fungsi biasa, karena memiliki ciri-ciri khusus:
|
| 173 |
+
- Nama constructor harus sama dengan nama kelas.
|
| 174 |
+
- Tidak memiliki nilai balik (return value), bahkan tidak boleh bertipe void.
|
| 175 |
+
- Dipanggil otomatis saat objek dibuat (baik secara statis maupun dinamis).
|
| 176 |
+
|
| 177 |
+
Jika tidak didefinisikan secara eksplisit oleh programmer, compiler akan menyediakan constructor default secara otomatis, yaitu constructor tanpa parameter dan body kosong.
|
| 178 |
+
|
| 179 |
+
Jenis-Jenis Constructor
|
| 180 |
+
|
| 181 |
+
1. Default Constructor
|
| 182 |
+
|
| 183 |
+
Constructor tanpa parameter.
|
| 184 |
+
|
| 185 |
+
Akan dibuat otomatis oleh compiler jika tidak ada constructor lain yang didefinisikan.
|
| 186 |
+
|
| 187 |
+
Contoh:
|
| 188 |
+
|
| 189 |
+
class Buku {
|
| 190 |
+
public:
|
| 191 |
+
Buku() {
|
| 192 |
+
// Default constructor
|
| 193 |
+
}
|
| 194 |
+
};
|
| 195 |
+
|
| 196 |
+
2. Parameterized Constructor
|
| 197 |
+
|
| 198 |
+
Constructor yang memiliki parameter, digunakan untuk menginisialisasi objek dengan nilai awal tertentu.
|
| 199 |
+
|
| 200 |
+
Contoh:
|
| 201 |
+
|
| 202 |
+
class Buku {
|
| 203 |
+
public:
|
| 204 |
+
string judul;
|
| 205 |
+
Buku(string j) {
|
| 206 |
+
judul = j;
|
| 207 |
+
}
|
| 208 |
+
};
|
| 209 |
+
|
| 210 |
+
3. Copy Constructor
|
| 211 |
+
|
| 212 |
+
Constructor yang digunakan untuk membuat objek baru sebagai salinan dari objek lain yang sudah ada (dari kelas yang sama).
|
| 213 |
+
|
| 214 |
+
Format:
|
| 215 |
+
|
| 216 |
+
ClassName(const ClassName &obj);
|
| 217 |
+
|
| 218 |
+
Copy Constructor: Kapan Dipanggil?
|
| 219 |
+
|
| 220 |
+
Copy constructor akan dipanggil pada kondisi berikut:
|
| 221 |
+
- Ketika sebuah objek dikembalikan dari fungsi sebagai return value.
|
| 222 |
+
- Ketika objek dikirim sebagai argumen ke fungsi dengan pass-by-value.
|
| 223 |
+
- Ketika objek diinisialisasi dari objek lain dari kelas yang sama.
|
| 224 |
+
- Ketika compiler membuat objek sementara (temporary object).
|
| 225 |
+
|
| 226 |
+
Catatan: Tidak semua kondisi di atas pasti memanggil copy constructor, karena standar C++ memperbolehkan compiler untuk melakukan optimasi seperti copy elision (terutama sejak C++17).
|
| 227 |
+
|
| 228 |
+
User-Defined Copy Constructor: Kapan Diperlukan?
|
| 229 |
+
|
| 230 |
+
Jika programmer tidak mendefinisikan copy constructor, maka compiler akan menyediakan copy constructor default (shallow copy).
|
| 231 |
+
|
| 232 |
+
Shallow copy hanya menyalin nilai bit demi bit (bitwise copy), sehingga tidak aman untuk objek yang mengandung:
|
| 233 |
+
- Pointer
|
| 234 |
+
- Alokasi dinamis (new)
|
| 235 |
+
- File handle
|
| 236 |
+
- Koneksi jaringan
|
| 237 |
+
|
| 238 |
+
Untuk mencegah masalah seperti kebocoran memori atau akses pointer ganda, maka diperlukan user-defined copy constructor (deep copy).
|
| 239 |
+
|
| 240 |
+
Copy Constructor vs Assignment Operator
|
| 241 |
+
|
| 242 |
+
Copy Constructor digunakan untuk membuat objek baru dari objek lama dan dipanggil saat objek diinisialisasi menggunakan objek lain, misalnya: Buku b2 = b1; (di sini b2 dibuat sebagai salinan dari b1).
|
| 243 |
+
|
| 244 |
+
Assignment Operator digunakan untuk memberikan nilai dari objek lama ke objek yang sudah ada dan dipanggil setelah objek diciptakan, contohnya: b2 = b1; (dalam hal ini b2 sudah ada sebelumnya, lalu diberikan nilai dari b1).
|
| 245 |
+
|
| 246 |
+
Constructor Overloading
|
| 247 |
+
|
| 248 |
+
Constructor overloading berarti sebuah kelas memiliki lebih dari satu constructor.
|
| 249 |
+
|
| 250 |
+
Syarat overloading:
|
| 251 |
+
|
| 252 |
+
1. Nama constructor harus sama (karena sama dengan nama kelas).
|
| 253 |
+
|
| 254 |
+
2. Parameter harus berbeda, bisa dalam:
|
| 255 |
+
Jumlah parameter
|
| 256 |
+
Tipe data parameter
|
| 257 |
+
Urutan parameter
|
| 258 |
+
|
| 259 |
+
3. Tujuan: memberikan fleksibilitas dalam cara menginisialisasi objek.
|
| 260 |
+
|
| 261 |
+
Contoh:
|
| 262 |
+
|
| 263 |
+
class Buku {
|
| 264 |
+
public:
|
| 265 |
+
Buku() { /* Default */ }
|
| 266 |
+
Buku(string j) { /* Parameterized */ }
|
| 267 |
+
Buku(string j, int h) { /* Overloaded */ }
|
| 268 |
+
};
|
| 269 |
+
|
| 270 |
+
Destructor
|
| 271 |
+
|
| 272 |
+
Destructor adalah fungsi khusus dalam kelas yang dipanggil secara otomatis saat objek dihancurkan/dihapus.
|
| 273 |
+
|
| 274 |
+
Nama destructor:
|
| 275 |
+
Sama seperti nama kelas, namun diawali dengan tanda tilde (~).
|
| 276 |
+
Contoh: ~Buku()
|
| 277 |
+
|
| 278 |
+
Ciri-Ciri Destructor:
|
| 279 |
+
- Tidak memiliki parameter.
|
| 280 |
+
- Tidak memiliki nilai balik (return type), bahkan void pun tidak diperbolehkan.
|
| 281 |
+
- Tidak bisa dideklarasikan sebagai const, static, atau virtual (kecuali dalam pewarisan).
|
| 282 |
+
- Didefinisikan dalam bagian public dari kelas.
|
| 283 |
+
- Tidak bisa diakses alamatnya (tidak bisa menggunakan &).
|
| 284 |
+
|
| 285 |
+
Kapan Destructor Dipanggil?
|
| 286 |
+
|
| 287 |
+
- Saat fungsi selesai dieksekusi.
|
| 288 |
+
- Saat program berakhir.
|
| 289 |
+
- Saat blok kode (scope) selesai, misalnya variabel lokal.
|
| 290 |
+
- Saat operator delete dipanggil untuk objek yang dibuat dengan new.
|
| 291 |
+
|
| 292 |
+
Apakah Destructor Bisa Lebih dari Satu?
|
| 293 |
+
|
| 294 |
+
TIDAK.
|
| 295 |
+
Hanya satu destructor yang diperbolehkan dalam setiap kelas.
|
| 296 |
+
|
| 297 |
+
User-Defined Destructor: Kapan Diperlukan?
|
| 298 |
+
|
| 299 |
+
Jika destructor tidak didefinisikan, maka compiler akan menyediakan destructor default.
|
| 300 |
+
|
| 301 |
+
Namun, programmer harus membuat user-defined destructor apabila:
|
| 302 |
+
- Objek memiliki alokasi memori dinamis menggunakan new.
|
| 303 |
+
- Objek menggunakan resource eksternal (seperti file, koneksi jaringan, dll).
|
| 304 |
+
- Tujuannya untuk melepas resource secara manual sebelum objek dihancurkan dan menghindari memory leak.
|
| 305 |
+
|
| 306 |
+
Ringkasan
|
| 307 |
+
|
| 308 |
+
Constructor adalah fungsi khusus yang dipanggil otomatis ketika objek dibuat.
|
| 309 |
+
|
| 310 |
+
Tipe Constructor:
|
| 311 |
+
- Default Constructor
|
| 312 |
+
- Parameterized Constructor
|
| 313 |
+
- Copy Constructor
|
| 314 |
+
|
| 315 |
+
Bisa dilakukan Constructor Overloading dengan parameter yang berbeda.
|
| 316 |
+
|
| 317 |
+
Destructor adalah fungsi khusus yang dipanggil otomatis ketika objek dihancurkan.
|
| 318 |
+
|
| 319 |
+
Hanya boleh ada satu destructor dalam sebuah kelas.
|
| 320 |
+
|
| 321 |
+
Penting dibuat secara eksplisit jika objek mengelola resource dinamis.
|
| 322 |
+
|
| 323 |
+
|
| 324 |
+
Method Overloading
|
| 325 |
+
|
| 326 |
+
Method Overloading adalah konsep dalam pemrograman di mana dua atau lebih fungsi/method memiliki nama yang sama, tetapi berbeda dalam parameter.
|
| 327 |
+
|
| 328 |
+
Method overloading memungkinkan fungsi yang sama digunakan untuk berbagai tipe data atau jumlah argumen yang berbeda, meningkatkan fleksibilitas kode.
|
| 329 |
+
|
| 330 |
+
Syarat Method Overloading (harus memenuhi salah satu):
|
| 331 |
+
1. Jumlah parameter berbeda.
|
| 332 |
+
2. Tipe data parameter berbeda.
|
| 333 |
+
3. Urutan tipe data parameter berbeda.
|
| 334 |
+
|
| 335 |
+
Contoh Method Overloading
|
| 336 |
+
|
| 337 |
+
1. Overloading dengan Tipe Data Parameter Berbeda
|
| 338 |
+
|
| 339 |
+
#include <iostream>
|
| 340 |
+
using namespace std;
|
| 341 |
+
|
| 342 |
+
void tampilkan(int angka) {
|
| 343 |
+
cout << "Angka: " << angka << endl;
|
| 344 |
+
}
|
| 345 |
+
|
| 346 |
+
void tampilkan(double desimal) {
|
| 347 |
+
cout << "Desimal: " << desimal << endl;
|
| 348 |
+
}
|
| 349 |
+
|
| 350 |
+
int main() {
|
| 351 |
+
tampilkan(10); // memanggil versi int
|
| 352 |
+
tampilkan(3.14); // memanggil versi double
|
| 353 |
+
return 0;
|
| 354 |
+
}
|
| 355 |
+
|
| 356 |
+
2. Overloading dengan Jumlah Parameter Berbeda
|
| 357 |
+
|
| 358 |
+
#include <iostream>
|
| 359 |
+
using namespace std;
|
| 360 |
+
|
| 361 |
+
void tampilkan(string nama) {
|
| 362 |
+
cout << "Nama: " << nama << endl;
|
| 363 |
+
}
|
| 364 |
+
|
| 365 |
+
void tampilkan(string nama, int usia) {
|
| 366 |
+
cout << "Nama: " << nama << ", Usia: " << usia << endl;
|
| 367 |
+
}
|
| 368 |
+
|
| 369 |
+
int main() {
|
| 370 |
+
tampilkan("Andi");
|
| 371 |
+
tampilkan("Budi", 20);
|
| 372 |
+
return 0;
|
| 373 |
+
}
|
| 374 |
+
|
| 375 |
+
3. Overloading dengan Urutan Tipe Data Parameter Berbeda
|
| 376 |
+
|
| 377 |
+
#include <iostream>
|
| 378 |
+
using namespace std;
|
| 379 |
+
|
| 380 |
+
void tampilkan(string nama, int usia) {
|
| 381 |
+
cout << "Nama: " << nama << ", Usia: " << usia << endl;
|
| 382 |
+
}
|
| 383 |
+
|
| 384 |
+
void tampilkan(int usia, string nama) {
|
| 385 |
+
cout << "Usia: " << usia << ", Nama: " << nama << endl;
|
| 386 |
+
}
|
| 387 |
+
|
| 388 |
+
int main() {
|
| 389 |
+
tampilkan("Citra", 22);
|
| 390 |
+
tampilkan(25, "Dewi");
|
| 391 |
+
return 0;
|
| 392 |
+
}
|
| 393 |
+
|
| 394 |
+
Overloading vs Overriding
|
| 395 |
+
|
| 396 |
+
1. Overloading:
|
| 397 |
+
|
| 398 |
+
- Terjadi di dalam satu kelas yang sama.
|
| 399 |
+
- Nama fungsi sama, tetapi parameter berbeda (jumlah, tipe, atau urutan).
|
| 400 |
+
- Merupakan bentuk polimorfisme statis (compile-time polymorphism).
|
| 401 |
+
|
| 402 |
+
2. Overriding:
|
| 403 |
+
|
| 404 |
+
- Terjadi di antara kelas induk dan kelas turunan (subclass).
|
| 405 |
+
- Nama fungsi sama, dengan parameter dan tipe pengembalian yang sama.
|
| 406 |
+
- Subclass menimpa metode di superclass dengan implementasi baru.
|
| 407 |
+
- Merupakan bentuk polimorfisme dinamis (runtime polymorphism).
|
| 408 |
+
- Umumnya menggunakan keyword virtual pada method superclass dan override (opsional) pada subclass (tergantung versi C++ yang digunakan).
|
| 409 |
+
|
| 410 |
+
Contoh Sederhana Overriding:
|
| 411 |
+
|
| 412 |
+
#include <iostream>
|
| 413 |
+
using namespace std;
|
| 414 |
+
|
| 415 |
+
class Hewan {
|
| 416 |
+
public:
|
| 417 |
+
virtual void suara() {
|
| 418 |
+
cout << "Hewan mengeluarkan suara" << endl;
|
| 419 |
+
}
|
| 420 |
+
};
|
| 421 |
+
|
| 422 |
+
class Kucing : public Hewan {
|
| 423 |
+
public:
|
| 424 |
+
void suara() override {
|
| 425 |
+
cout << "Kucing: Meong!" << endl;
|
| 426 |
+
}
|
| 427 |
+
};
|
| 428 |
+
|
| 429 |
+
int main() {
|
| 430 |
+
Hewan* h;
|
| 431 |
+
Kucing k;
|
| 432 |
+
h = &k;
|
| 433 |
+
h->suara(); // memanggil suara() milik Kucing
|
| 434 |
+
return 0;
|
| 435 |
+
}
|
| 436 |
+
|
| 437 |
+
File IO
|
| 438 |
+
|
| 439 |
+
Deklarasi File
|
| 440 |
+
|
| 441 |
+
Dalam pemrograman C++, kita sudah sering melakukan input dan output berupa karakter di layar menggunakan fungsi cout dan cin yang disediakan oleh pustaka iostream.
|
| 442 |
+
|
| 443 |
+
Namun, selain ke layar, kita juga dapat melakukan input dan output terhadap sebuah file.
|
| 444 |
+
|
| 445 |
+
File merupakan media penyimpanan data eksternal yang bersifat permanen.
|
| 446 |
+
|
| 447 |
+
Untuk melakukan operasi input dan output pada file, kita membutuhkan pustaka fstream yang menyediakan tiga kelas utama:
|
| 448 |
+
1. ofstream: tipe data output stream untuk membuat dan menulis informasi ke file.
|
| 449 |
+
2. ifstream: tipe data input stream untuk membaca informasi dari file.
|
| 450 |
+
3. fstream: tipe data gabungan yang dapat digunakan untuk membaca dan menulis informasi ke file.
|
| 451 |
+
|
| 452 |
+
Sebelum melakukan operasi pada file, file harus dibuka terlebih dahulu, dan setelah selesai, file harus ditutup kembali untuk mencegah kebocoran data atau kerusakan file.
|
| 453 |
+
|
| 454 |
+
Pembentukan objek stream dan pembukaan file dapat dilakukan dalam satu pernyataan. Kedua bentuk (terpisah atau digabung) sama-sama valid.
|
| 455 |
+
|
| 456 |
+
Format umum membuka file:
|
| 457 |
+
stream.open("namaFile.ekstensi", mode);
|
| 458 |
+
|
| 459 |
+
namaFile.ekstensi: nama file yang akan dibuka.
|
| 460 |
+
mode: flag untuk mendefinisikan jenis operasi file.
|
| 461 |
+
|
| 462 |
+
Macam-Macam Flag Mode Operasi File
|
| 463 |
+
|
| 464 |
+
ios::in → Membuka file untuk membaca (default untuk ifstream).
|
| 465 |
+
|
| 466 |
+
ios::out → Membuka file untuk menulis (default untuk ofstream).
|
| 467 |
+
|
| 468 |
+
ios::binary → Membuka file dalam mode biner.
|
| 469 |
+
|
| 470 |
+
ios::ate → Membuka file dan langsung memindahkan pointer ke akhir file, tapi tetap bisa digerakkan.
|
| 471 |
+
|
| 472 |
+
ios::app → Membuka file untuk menambahkan data di akhir file (pointer tidak dapat dipindahkan).
|
| 473 |
+
|
| 474 |
+
ios::trunc → Jika file sudah ada, isinya akan dihapus (di-truncate) sebelum ditulis ulang.
|
| 475 |
+
|
| 476 |
+
Catatan: Mode dapat dikombinasikan menggunakan operator |, contoh: ios::out | ios::app.
|
| 477 |
+
|
| 478 |
+
Membaca File
|
| 479 |
+
|
| 480 |
+
Untuk membaca isi dari sebuah file, gunakan operator stream extraction (>>), seperti saat menggunakan cin.
|
| 481 |
+
|
| 482 |
+
Namun, alih-alih cin, gunakan objek dari kelas ifstream atau fstream.
|
| 483 |
+
|
| 484 |
+
Menulis File
|
| 485 |
+
|
| 486 |
+
Untuk menulis ke file, gunakan objek dari kelas ofstream atau fstream.
|
| 487 |
+
|
| 488 |
+
Penulisan file dapat dilakukan menggunakan:
|
| 489 |
+
- Operator insertion (<<)
|
| 490 |
+
- Fungsi put()
|
| 491 |
+
- Fungsi write()
|
| 492 |
+
|
| 493 |
+
Data akan ditulis ke dalam file sesuai dengan posisi pointer saat itu.
|
| 494 |
+
|
| 495 |
+
Perbedaan ios::ate dan ios::app
|
| 496 |
+
|
| 497 |
+
Keduanya membuka file dengan posisi awal di akhir file, tetapi memiliki perbedaan penting:
|
| 498 |
+
|
| 499 |
+
ios::app: pointer tidak bisa dipindahkan, semua penulisan hanya terjadi di akhir file.
|
| 500 |
+
|
| 501 |
+
ios::ate: pointer bisa dipindahkan ke bagian manapun dalam file menggunakan fungsi:
|
| 502 |
+
seekp(pos) → untuk memindahkan pointer output.
|
| 503 |
+
tellp() → untuk mengetahui posisi pointer output saat ini.
|
| 504 |
+
|
| 505 |
+
Atribut File
|
| 506 |
+
|
| 507 |
+
Atribut file adalah metadata yang mendeskripsikan dan dapat memodifikasi tingkah laku file.
|
| 508 |
+
|
| 509 |
+
Setiap sistem operasi memiliki atribut yang berbeda. Pada sistem operasi Windows, atribut umum yang tersedia antara lain:
|
| 510 |
+
|
| 511 |
+
Archive (A) → File yang telah mengalami perubahan akan ditandai sebagai arsip.
|
| 512 |
+
|
| 513 |
+
Hidden (H) → File akan disembunyikan dari daftar file secara default.
|
| 514 |
+
|
| 515 |
+
System (S) → Menunjukkan bahwa file tersebut penting bagi sistem operasi.
|
| 516 |
+
|
| 517 |
+
Read-Only (R) → File hanya bisa dibaca, tidak bisa dimodifikasi atau dihapus.
|
| 518 |
+
|
| 519 |
+
Membaca File CSV
|
| 520 |
+
|
| 521 |
+
CSV (Comma Separated Values) adalah file teks biasa yang menyimpan data dalam bentuk tabel.
|
| 522 |
+
|
| 523 |
+
Format umum file CSV:
|
| 524 |
+
Baris pertama berisi judul kolom (header).
|
| 525 |
+
Kolom-kolom dipisahkan oleh tanda koma ,.
|
| 526 |
+
Baris-baris berikutnya berisi data, dan jumlah kolom pada setiap baris harus sesuai dengan header.
|
| 527 |
+
|
| 528 |
+
File CSV sering digunakan sebagai media penyimpanan data sederhana, mudah diakses oleh berbagai aplikasi seperti Excel, Google Sheets, dan program C++.
|
| 529 |
+
|
| 530 |
+
|
| 531 |
+
Overloading Unary Operator
|
| 532 |
+
|
| 533 |
+
Operator overloading memungkinkan kita untuk mendefinisikan ulang fungsi atau kegunaan dari suatu operator, agar dapat bekerja sesuai dengan kebutuhan objek dari kelas tertentu.
|
| 534 |
+
|
| 535 |
+
Unary operator overloading merupakan penerapan overloading terhadap operator unary, yaitu operator yang hanya memiliki satu operand.
|
| 536 |
+
|
| 537 |
+
Dalam C++, operator unary overloading hanya bekerja pada satu objek kelas, dan dapat digunakan baik sebagai prefix maupun postfix.
|
| 538 |
+
|
| 539 |
+
Karakteristik Unary Operator Overloading:
|
| 540 |
+
|
| 541 |
+
Operator bekerja hanya pada satu operand.
|
| 542 |
+
|
| 543 |
+
Unary operator overloading juga dikenal sebagai overloading operator satu operand.
|
| 544 |
+
|
| 545 |
+
Jika overloading dilakukan melalui fungsi anggota non-statis, maka tidak memerlukan argumen tambahan.
|
| 546 |
+
|
| 547 |
+
Namun, jika menggunakan fungsi friend, maka fungsi tersebut memerlukan satu argumen, yaitu objek target.
|
| 548 |
+
|
| 549 |
+
Hasil dari operasi unary operator dapat disimpan ke dalam objek lain dengan memanfaatkan objek sementara.
|
| 550 |
+
|
| 551 |
+
Objek Sementara
|
| 552 |
+
|
| 553 |
+
Dalam proses overloading, hasil dari operator dapat disimpan dalam objek kelas lain.
|
| 554 |
+
|
| 555 |
+
Hal ini dimungkinkan dengan membuat fungsi operator yang mengembalikan objek baru (return by value).
|
| 556 |
+
|
| 557 |
+
Untuk mencapainya, kita perlu melakukan modifikasi pada kode fungsi operator, terutama pada bagian yang menangani pembuatan dan pengembalian objek hasil.
|
| 558 |
+
|
| 559 |
+
Prefix dan Postfix
|
| 560 |
+
|
| 561 |
+
Unary operator dapat digunakan dalam bentuk:
|
| 562 |
+
1. Prefix: Contoh penggunaan ++a
|
| 563 |
+
2. Postfix: Contoh penggunaan a++
|
| 564 |
+
|
| 565 |
+
Secara default, operator overloading hanya mendukung prefix.
|
| 566 |
+
|
| 567 |
+
Agar operator dapat digunakan dalam bentuk postfix, perlu dilakukan perubahan pada definisi fungsi operator, yaitu dengan menambahkan parameter bertipe int sebagai pembeda dari prefix.
|
| 568 |
+
|
| 569 |
+
Contoh:
|
| 570 |
+
|
| 571 |
+
ClassName operator++(); // Prefix
|
| 572 |
+
ClassName operator++(int); // Postfix
|
| 573 |
+
|
| 574 |
+
Overloading Binary Operator
|
| 575 |
+
|
| 576 |
+
Binary operator adalah operator yang bekerja dengan dua operand, contohnya:
|
| 577 |
+
|
| 578 |
+
Operator aritmetika: +, -, *, /, %
|
| 579 |
+
Operator assignment: =
|
| 580 |
+
Operator relasional: ==, !=, <, >, <=, >=
|
| 581 |
+
Operator logika: &&, ||
|
| 582 |
+
Operator bitwise: &, |, ^, ~, <<, >>
|
| 583 |
+
Operator stream: <<, >>
|
| 584 |
+
|
| 585 |
+
Konsep Overloading Binary Operator:
|
| 586 |
+
|
| 587 |
+
Overloading dilakukan dengan mendefinisikan fungsi operator<op> di dalam kelas, di mana <op> adalah simbol operator yang ingin dioverload.
|
| 588 |
+
|
| 589 |
+
Fungsi ini menerima satu parameter, yaitu operand kanan (right-hand side), sedangkan operand kiri merupakan objek pemanggil.
|
| 590 |
+
|
| 591 |
+
Contoh Operator yang Dapat Dioverload:
|
| 592 |
+
|
| 593 |
+
Overloading operator aritmetika (+, -, dll.)
|
| 594 |
+
Overloading operator assignment (=)
|
| 595 |
+
Overloading operator relasional (==, !=, dll.)
|
| 596 |
+
Overloading operator bitwise dan logical
|
| 597 |
+
Overloading operator stream (<<, >>) untuk input/output kustom
|
| 598 |
+
|
| 599 |
+
Catatan Penting:
|
| 600 |
+
|
| 601 |
+
Dari contoh-contoh sebelumnya, dapat diperhatikan bahwa:
|
| 602 |
+
|
| 603 |
+
Setiap metode operator selalu memiliki nilai kembali (return value).
|
| 604 |
+
|
| 605 |
+
Setiap metode memiliki parameter, kecuali unary operator pada fungsi anggota non-statis.
|
| 606 |
+
|
| 607 |
+
Ilustrasi Kerja Binary Operator Overloading:
|
| 608 |
+
|
| 609 |
+
Misalkan terdapat operasi berikut:
|
| 610 |
+
|
| 611 |
+
obj3 = obj1 + obj2;
|
| 612 |
+
|
| 613 |
+
Maka alur kerjanya adalah:
|
| 614 |
+
1. Operator + dipanggil, sehingga akan mengeksekusi fungsi operator+.
|
| 615 |
+
2. Fungsi operator+ menerima obj2 sebagai parameter.
|
| 616 |
+
3. obj1 berperan sebagai objek pemanggil fungsi, sehingga atributnya dapat diakses langsung atau melalui pointer this.
|
| 617 |
+
4. Fungsi operator+ memproses data dan mengembalikan objek hasil (misalnya objek baru).
|
| 618 |
+
5. Nilai yang dikembalikan kemudian ditampung oleh obj3 menggunakan operator assignment.
|
| 619 |
+
|
| 620 |
+
Ruang Lingkup
|
| 621 |
+
|
| 622 |
+
Deklarasi vs Definisi
|
| 623 |
+
|
| 624 |
+
Identifier adalah sebuah pengenal atau pengidentifikasi dalam program, yang dapat berupa variabel, konstanta, fungsi, maupun kelas.
|
| 625 |
+
|
| 626 |
+
Deklarasi (Declaration) adalah proses untuk memberitahukan kepada compiler bahwa sebuah identifier ada dan memiliki tipe tertentu, tanpa menyatakan detail implementasinya.
|
| 627 |
+
|
| 628 |
+
Setelah deklarasi, compiler sudah dapat mengenali dan menangani pemanggilan identifier tersebut.
|
| 629 |
+
|
| 630 |
+
Contoh deklarasi fungsi:
|
| 631 |
+
int myFunc(int a, int b); // Hanya memberitahu nama fungsi, tipe kembalian, dan tipe parameter
|
| 632 |
+
|
| 633 |
+
Deklarasi dapat dilakukan lebih dari satu kali, misalnya dengan menggunakan extern untuk variabel global.
|
| 634 |
+
|
| 635 |
+
Saat deklarasi, memori tidak dialokasikan karena belum ada implementasi lengkap.
|
| 636 |
+
|
| 637 |
+
Definisi (Definition) adalah proses memberikan semua informasi lengkap yang dibutuhkan oleh compiler tentang suatu identifier, termasuk alokasi memori dan implementasi detailnya.
|
| 638 |
+
|
| 639 |
+
Sebuah identifier hanya dapat didefinisikan satu kali (One Definition Rule).
|
| 640 |
+
|
| 641 |
+
Pada saat definisi, compiler akan mengalokasikan memori sesuai dengan kebutuhan identifier tersebut.
|
| 642 |
+
|
| 643 |
+
Dasar-Dasar Ruang Lingkup (Scope)
|
| 644 |
+
|
| 645 |
+
Ruang lingkup (scope) adalah area dalam program tempat sebuah identifier dapat diakses.
|
| 646 |
+
|
| 647 |
+
Pemahaman scope sangat penting untuk menghindari kesalahan seperti "identifier not found" atau konflik nama.
|
| 648 |
+
|
| 649 |
+
Scope biasanya ditentukan oleh pasangan kurung kurawal {}.
|
| 650 |
+
|
| 651 |
+
Semua entitas (variabel, fungsi, dsb.) yang dideklarasikan dalam satu block {} memiliki cakupan lokal terhadap block tersebut.
|
| 652 |
+
|
| 653 |
+
Dalam satu scope, tidak boleh ada dua identifier dengan nama yang sama.
|
| 654 |
+
|
| 655 |
+
Scope dapat bersarang (nested scope), yaitu scope di dalam scope lain.
|
| 656 |
+
|
| 657 |
+
Identifier yang dideklarasikan dalam nested scope hanya dapat diakses secara lokal.
|
| 658 |
+
|
| 659 |
+
Tiga jenis utama ruang lingkup dalam C++:
|
| 660 |
+
1. Scope Fungsi
|
| 661 |
+
2. Scope File
|
| 662 |
+
3. Scope Kelas
|
| 663 |
+
|
| 664 |
+
Ruang Lingkup Fungsi
|
| 665 |
+
|
| 666 |
+
Identifier yang dideklarasikan di dalam block fungsi hanya dapat diakses dari dalam fungsi itu sendiri.
|
| 667 |
+
|
| 668 |
+
Contoh: variabel lokal, parameter fungsi.
|
| 669 |
+
|
| 670 |
+
Label (yang digunakan dalam perintah goto) jika dideklarasikan di dalam fungsi, juga tidak bisa diakses di luar fungsi tersebut.
|
| 671 |
+
|
| 672 |
+
Identifier ini disebut sebagai local identifier terhadap fungsi.
|
| 673 |
+
|
| 674 |
+
Ruang Lingkup File
|
| 675 |
+
|
| 676 |
+
Identifier dikatakan memiliki file scope (global scope) jika dideklarasikan di luar seluruh block maupun fungsi.
|
| 677 |
+
|
| 678 |
+
Identifier ini dapat digunakan di seluruh bagian program, baik di dalam fungsi maupun block lain, selama berada dalam file yang sama.
|
| 679 |
+
|
| 680 |
+
Contoh:
|
| 681 |
+
|
| 682 |
+
int globalVar = 10; // Dapat diakses oleh semua fungsi dalam file
|
| 683 |
+
|
| 684 |
+
Ruang Lingkup Kelas
|
| 685 |
+
|
| 686 |
+
Identifier memiliki class scope jika dideklarasikan di dalam kelas (class).
|
| 687 |
+
|
| 688 |
+
Identifier ini bersifat lokal terhadap kelas, artinya hanya dapat diakses oleh anggota kelas (fungsi, konstruktor, dll).
|
| 689 |
+
|
| 690 |
+
Untuk mengaksesnya dari luar kelas, dibutuhkan pendekatan seperti object.identifier atau ClassName::staticMember.
|
| 691 |
+
|
| 692 |
+
Penggunaan Scope Resolution Operator (::)
|
| 693 |
+
|
| 694 |
+
Operator :: dalam C++ digunakan untuk:
|
| 695 |
+
|
| 696 |
+
1. Mengakses variabel global ketika ada variabel lokal dengan nama yang sama.
|
| 697 |
+
|
| 698 |
+
int x = 10;
|
| 699 |
+
void func() {
|
| 700 |
+
int x = 5;
|
| 701 |
+
cout << ::x; // Mengakses variabel global
|
| 702 |
+
}
|
| 703 |
+
|
| 704 |
+
2. Mendefinisikan fungsi di luar class setelah dideklarasikan di dalam class.
|
| 705 |
+
|
| 706 |
+
class A {
|
| 707 |
+
void print();
|
| 708 |
+
};
|
| 709 |
+
void A::print() { cout << "Hello"; }
|
| 710 |
+
|
| 711 |
+
3. Mengakses variabel static dalam class.
|
| 712 |
+
|
| 713 |
+
4. Mengakses atribut dengan nama yang sama dari dua kelas berbeda dalam kasus multiple inheritance.
|
| 714 |
+
|
| 715 |
+
5. Mengakses elemen dalam namespace.
|
| 716 |
+
|
| 717 |
+
6. Mereferensikan class di dalam class (nested class).
|
| 718 |
+
|
| 719 |
+
Rangkuman
|
| 720 |
+
|
| 721 |
+
Deklarasi menyatakan keberadaan identifier dan tipenya kepada compiler, namun belum mengalokasikan memori.
|
| 722 |
+
|
| 723 |
+
Definisi memberikan detail lengkap dari identifier dan menyebabkan alokasi memori dilakukan.
|
| 724 |
+
|
| 725 |
+
Ruang lingkup (scope) menentukan bagian mana dari program yang dapat mengakses identifier.
|
| 726 |
+
|
| 727 |
+
Tiga jenis scope yang umum: fungsi, file, dan kelas.
|
| 728 |
+
|
| 729 |
+
Scope resolution operator (::) membantu mengatasi ambiguitas nama dan memberikan cara untuk mengakses entitas di luar lingkup lokalnya.
|
| 730 |
+
|
| 731 |
+
|
| 732 |
+
Pengertian Container Class
|
| 733 |
+
|
| 734 |
+
Container adalah objek penampung yang menyimpan sekumpulan objek lain (elemen).
|
| 735 |
+
|
| 736 |
+
Diimplementasikan sebagai template class, sehingga menawarkan fleksibilitas tinggi dalam tipe data.
|
| 737 |
+
|
| 738 |
+
Container bertugas mengelola jumlah elemen serta ruang penyimpanan.
|
| 739 |
+
|
| 740 |
+
Memiliki fungsi-fungsi untuk mengakses elemen secara langsung maupun melalui iterator.
|
| 741 |
+
|
| 742 |
+
Container merepresentasikan struktur data yang umum digunakan dalam pemrograman.
|
| 743 |
+
|
| 744 |
+
Contoh-contoh container standar (STL):
|
| 745 |
+
Dynamic arrays → vector
|
| 746 |
+
Queues → queue
|
| 747 |
+
Stacks → stack
|
| 748 |
+
Heaps → priority_queue
|
| 749 |
+
Linked lists → list
|
| 750 |
+
Trees → set
|
| 751 |
+
Associative arrays → map
|
| 752 |
+
|
| 753 |
+
Vector
|
| 754 |
+
|
| 755 |
+
Vector merupakan bagian dari Standard Template Library (STL) pada C++.
|
| 756 |
+
|
| 757 |
+
Ditulis dalam bentuk std::vector.
|
| 758 |
+
|
| 759 |
+
Disebut dynamic array karena memungkinkan proses insert dan delete pada posisi mana pun dalam array.
|
| 760 |
+
|
| 761 |
+
Ukuran dari vector dapat berubah selama runtime.
|
| 762 |
+
|
| 763 |
+
Menyediakan berbagai fungsi (member function) untuk manipulasi data dan pengaksesan elemen.
|
| 764 |
+
|
| 765 |
+
Perbedaan Array dan Vector
|
| 766 |
+
|
| 767 |
+
Array memiliki ukuran tetap setelah diinisialisasi.
|
| 768 |
+
|
| 769 |
+
Vector dapat berubah ukurannya selama runtime.
|
| 770 |
+
|
| 771 |
+
Array tidak memiliki fungsi bawaan untuk manipulasi data.
|
| 772 |
+
|
| 773 |
+
Vector menyediakan banyak member function untuk akses, iterasi, dan modifikasi.
|
| 774 |
+
|
| 775 |
+
Alokasi memori pada array bersifat statis.
|
| 776 |
+
|
| 777 |
+
Alokasi memori pada vector bersifat dinamis dan fleksibel.
|
| 778 |
+
|
| 779 |
+
Array cocok untuk penggunaan sederhana dengan ukuran tetap.
|
| 780 |
+
|
| 781 |
+
Vector lebih cocok untuk data yang berubah-ubah selama program berjalan.
|
| 782 |
+
|
| 783 |
+
Fungsi pada Vector
|
| 784 |
+
|
| 785 |
+
1. Iterators
|
| 786 |
+
Digunakan untuk melakukan iterasi atau traversal pada vector:
|
| 787 |
+
|
| 788 |
+
begin() – Mengembalikan iterator ke elemen pertama vector.
|
| 789 |
+
|
| 790 |
+
end() – Mengembalikan iterator ke posisi setelah elemen terakhir (teoritis).
|
| 791 |
+
|
| 792 |
+
rbegin() – Iterator ke elemen terakhir (arah terbalik).
|
| 793 |
+
|
| 794 |
+
rend() – Iterator ke posisi sebelum elemen pertama (arah terbalik).
|
| 795 |
+
|
| 796 |
+
cbegin() – Iterator konstan ke elemen pertama.
|
| 797 |
+
|
| 798 |
+
cend() – Iterator konstan ke posisi setelah elemen terakhir.
|
| 799 |
+
|
| 800 |
+
crbegin() – Iterator konstan ke elemen terakhir (reverse).
|
| 801 |
+
|
| 802 |
+
crend() – Iterator konstan ke posisi sebelum elemen pertama (reverse).
|
| 803 |
+
|
| 804 |
+
2. Capacity
|
| 805 |
+
Fungsi untuk menangani kapasitas memori vector:
|
| 806 |
+
|
| 807 |
+
size() – Mengembalikan jumlah elemen saat ini.
|
| 808 |
+
|
| 809 |
+
max_size() – Mengembalikan jumlah maksimum elemen yang dapat ditampung.
|
| 810 |
+
|
| 811 |
+
capacity() – Mengembalikan ukuran kapasitas penyimpanan yang dialokasikan.
|
| 812 |
+
|
| 813 |
+
resize(n) – Mengubah jumlah elemen vector menjadi n.
|
| 814 |
+
|
| 815 |
+
empty() – Mengembalikan true jika vector kosong.
|
| 816 |
+
|
| 817 |
+
shrink_to_fit() – Mengurangi kapasitas agar sesuai dengan ukuran saat ini.
|
| 818 |
+
|
| 819 |
+
reserve(n) – Menyediakan kapasitas minimum n elemen.
|
| 820 |
+
|
| 821 |
+
3. Element Access
|
| 822 |
+
Digunakan untuk mengakses elemen dalam vector:
|
| 823 |
+
|
| 824 |
+
operator[x] – Mengakses elemen di posisi x.
|
| 825 |
+
|
| 826 |
+
at(x) – Mengakses elemen dengan pengecekan batas array.
|
| 827 |
+
|
| 828 |
+
front() – Mengembalikan elemen pertama.
|
| 829 |
+
|
| 830 |
+
back() – Mengembalikan elemen terakhir.
|
| 831 |
+
|
| 832 |
+
data() – Mengembalikan pointer ke array yang digunakan secara internal oleh vector.
|
| 833 |
+
|
| 834 |
+
4. Modifiers
|
| 835 |
+
Digunakan untuk memodifikasi isi vector:
|
| 836 |
+
|
| 837 |
+
assign() – Mengganti seluruh elemen vector dengan nilai baru.
|
| 838 |
+
|
| 839 |
+
push_back() – Menambahkan elemen ke akhir vector.
|
| 840 |
+
|
| 841 |
+
pop_back() – Menghapus elemen terakhir.
|
| 842 |
+
|
| 843 |
+
insert(pos, val) – Menyisipkan elemen val sebelum posisi pos.
|
| 844 |
+
|
| 845 |
+
erase(pos) – Menghapus elemen di posisi pos.
|
| 846 |
+
|
| 847 |
+
erase(start, end) – Menghapus elemen dalam rentang tertentu.
|
| 848 |
+
|
| 849 |
+
swap() – Menukar isi dua vector.
|
| 850 |
+
|
| 851 |
+
clear() – Menghapus semua elemen.
|
| 852 |
+
|
| 853 |
+
Map
|
| 854 |
+
|
| 855 |
+
Map adalah container asosiatif yang menyimpan data dalam bentuk pasangan key-value.
|
| 856 |
+
|
| 857 |
+
Setiap key harus unik, sedangkan value dapat berupa tipe data apa pun.
|
| 858 |
+
|
| 859 |
+
Elemen pada map secara default tersusun berdasarkan urutan key (berdasarkan operator <).
|
| 860 |
+
|
| 861 |
+
Metode-Metode pada Map
|
| 862 |
+
|
| 863 |
+
begin() – Iterator ke elemen pertama.
|
| 864 |
+
|
| 865 |
+
end() – Iterator ke posisi setelah elemen terakhir.
|
| 866 |
+
|
| 867 |
+
size() – Mengembalikan jumlah elemen saat ini.
|
| 868 |
+
|
| 869 |
+
max_size() – Jumlah maksimum elemen yang dapat ditampung.
|
| 870 |
+
|
| 871 |
+
empty() – Mengecek apakah map kosong.
|
| 872 |
+
|
| 873 |
+
insert(pair) – Menambahkan pasangan key-value baru.
|
| 874 |
+
|
| 875 |
+
erase(iterator n) – Menghapus elemen yang ditunjuk oleh iterator.
|
| 876 |
+
|
| 877 |
+
erase(const key) – Menghapus elemen berdasarkan key tertentu.
|
| 878 |
+
|
| 879 |
+
clear() – Mengosongkan seluruh elemen dalam map.
|
| 880 |
+
|
| 881 |
+
find(const key) – Mencari elemen berdasarkan key, mengembalikan iterator.
|
| 882 |
+
|
| 883 |
+
Catatan:
|
| 884 |
+
Untuk menggunakan map, tambahkan header file berikut di bagian pre-processing:
|
| 885 |
+
|
| 886 |
+
#include <map>
|
| 887 |
+
#include <iterator>
|
| 888 |
+
|
| 889 |
+
Multimap
|
| 890 |
+
|
| 891 |
+
Multimap merupakan container asosiatif seperti map, tetapi mengizinkan beberapa elemen memiliki key yang sama.
|
| 892 |
+
|
| 893 |
+
Sangat berguna ketika diperlukan struktur data yang mengizinkan duplikasi key dengan value yang berbeda.
|
| 894 |
+
|
| 895 |
+
Ringkasan
|
| 896 |
+
|
| 897 |
+
Container adalah objek yang menyimpan dan mengelola kumpulan data (elemen).
|
| 898 |
+
|
| 899 |
+
Vector adalah array dinamis dengan kemampuan resize, insert, dan delete elemen secara fleksibel.
|
| 900 |
+
|
| 901 |
+
Map adalah container asosiatif yang menyimpan elemen dalam bentuk key-value, dengan key yang harus unik.
|
| 902 |
+
|
| 903 |
+
Multimap serupa dengan map, tetapi memperbolehkan key yang duplikat.
|
| 904 |
+
|
| 905 |
+
Fungsi-fungsi penting pada vector terbagi ke dalam empat kategori utama:
|
| 906 |
+
1. Iterators – Untuk traversal.
|
| 907 |
+
2. Capacity – Untuk pengelolaan kapasitas memori.
|
| 908 |
+
3. Element Access – Untuk akses data.
|
| 909 |
+
4. Modifiers – Untuk manipulasi elemen.
|
| 910 |
+
|
| 911 |
+
Exception Handling
|
| 912 |
+
|
| 913 |
+
Memahami Exception dalam Pemrograman C++
|
| 914 |
+
|
| 915 |
+
Pengertian Exception
|
| 916 |
+
|
| 917 |
+
Exception adalah masalah atau kondisi tak terduga yang terjadi saat program sedang dieksekusi (runtime).
|
| 918 |
+
|
| 919 |
+
Exception merupakan cara untuk menangani kesalahan dengan mentransfer kontrol ke blok khusus yang disebut handler.
|
| 920 |
+
|
| 921 |
+
Contoh umum exception adalah pembagian dengan nol, file tidak ditemukan, koneksi jaringan gagal, dan sebagainya.
|
| 922 |
+
|
| 923 |
+
Jenis-Jenis Error dalam Pemrograman
|
| 924 |
+
|
| 925 |
+
1. Compilation Error (Kesalahan Kompilasi)
|
| 926 |
+
Terjadi saat proses kompilasi program, sebelum program dijalankan.
|
| 927 |
+
|
| 928 |
+
Umumnya disebabkan oleh kesalahan sintaks, seperti:
|
| 929 |
+
- Tidak menambahkan titik koma (;) pada akhir pernyataan.
|
| 930 |
+
- Kurung kurawal yang tidak ditutup.
|
| 931 |
+
- Salah penulisan nama variabel atau fungsi.
|
| 932 |
+
|
| 933 |
+
Program tidak dapat dijalankan sebelum kesalahan ini diperbaiki.
|
| 934 |
+
|
| 935 |
+
Kompiler biasanya menunjukkan lokasi (baris) dan kode kesalahan untuk memudahkan perbaikan.
|
| 936 |
+
|
| 937 |
+
2. Logical Error (Kesalahan Logika)
|
| 938 |
+
Terjadi saat program dijalankan, tetapi tidak menghasilkan output yang sesuai dengan yang diharapkan.
|
| 939 |
+
|
| 940 |
+
Tidak ada kesalahan sintaks, dan program berjalan tanpa error.
|
| 941 |
+
|
| 942 |
+
Kesalahan terjadi karena logika atau algoritma yang salah.
|
| 943 |
+
|
| 944 |
+
Contoh: rumus perhitungan yang salah, kesalahan kondisi dalam if, atau penggunaan variabel yang tidak sesuai.
|
| 945 |
+
|
| 946 |
+
3. Runtime Error (Kesalahan Saat Berjalan)
|
| 947 |
+
Terjadi saat program sedang dieksekusi meskipun tidak ada kesalahan saat kompilasi.
|
| 948 |
+
|
| 949 |
+
Sering disebabkan oleh faktor eksternal atau kondisi tak terduga, seperti:
|
| 950 |
+
- Pembagian dengan nol.
|
| 951 |
+
- Mengakses indeks array yang di luar batas.
|
| 952 |
+
- File tidak ditemukan atau rusak.
|
| 953 |
+
- Koneksi jaringan terputus.
|
| 954 |
+
|
| 955 |
+
Dapat menyebabkan program berhenti secara tiba-tiba jika tidak ditangani.
|
| 956 |
+
|
| 957 |
+
Menangani Exception
|
| 958 |
+
|
| 959 |
+
1. Compilation Error
|
| 960 |
+
Diatasi dengan memperbaiki sintaks sesuai pesan kesalahan yang ditunjukkan oleh kompiler.
|
| 961 |
+
|
| 962 |
+
2. Logical Error
|
| 963 |
+
Sulit dideteksi karena program berjalan normal.
|
| 964 |
+
Diperlukan pengujian menyeluruh terhadap berbagai skenario dan kondisi untuk memastikan logika sudah benar.
|
| 965 |
+
|
| 966 |
+
3. Runtime Error
|
| 967 |
+
Diatasi dengan exception handling, yaitu menangkap error agar program tetap berjalan dan memberikan pesan kesalahan yang informatif.
|
| 968 |
+
|
| 969 |
+
Manfaat Exception Handling
|
| 970 |
+
|
| 971 |
+
Memisahkan kode utama dengan kode penanganan error, sehingga kode lebih terstruktur dan mudah dibaca.
|
| 972 |
+
|
| 973 |
+
Memungkinkan method/function menangani error spesifik dengan cara yang fleksibel.
|
| 974 |
+
|
| 975 |
+
Dapat digunakan untuk mengelompokkan berbagai jenis error berdasarkan tipe.
|
| 976 |
+
|
| 977 |
+
Memberikan kontrol penuh terhadap alur program ketika terjadi kesalahan.
|
| 978 |
+
|
| 979 |
+
Struktur Dasar Exception Handling dalam C++
|
| 980 |
+
|
| 981 |
+
try {
|
| 982 |
+
// Blok kode yang mungkin menghasilkan exception
|
| 983 |
+
...
|
| 984 |
+
throw exceptionType; // Melempar exception jika kondisi tertentu terpenuhi
|
| 985 |
+
}
|
| 986 |
+
catch (exceptionType var) {
|
| 987 |
+
// Blok penanganan exception
|
| 988 |
+
...
|
| 989 |
+
}
|
| 990 |
+
|
| 991 |
+
try → Menandai blok kode yang kemungkinan menimbulkan exception.
|
| 992 |
+
throw → Digunakan untuk melempar exception ketika terjadi error.
|
| 993 |
+
catch → Menangkap exception yang dilempar dan menanganinya.
|
| 994 |
+
|
| 995 |
+
Multiple Exception
|
| 996 |
+
|
| 997 |
+
Satu blok try dapat diikuti oleh lebih dari satu blok catch.
|
| 998 |
+
|
| 999 |
+
Setiap catch menangani tipe exception yang berbeda.
|
| 1000 |
+
|
| 1001 |
+
Contoh:
|
| 1002 |
+
|
| 1003 |
+
try {
|
| 1004 |
+
...
|
| 1005 |
+
}
|
| 1006 |
+
catch (int e) {
|
| 1007 |
+
// Menangani exception bertipe int
|
| 1008 |
+
}
|
| 1009 |
+
catch (std::string e) {
|
| 1010 |
+
// Menangani exception bertipe string
|
| 1011 |
+
}
|
| 1012 |
+
|
| 1013 |
+
Exception Interface
|
| 1014 |
+
|
| 1015 |
+
C++ menyediakan class exception dalam header exception (<exception>).
|
| 1016 |
+
|
| 1017 |
+
Class ini dapat di-inherit untuk membuat custom exception sesuai kebutuhan programmer.
|
| 1018 |
+
|
| 1019 |
+
Class exception memiliki method virtual what() yang digunakan untuk mengembalikan pesan error:
|
| 1020 |
+
|
| 1021 |
+
const char* what() const noexcept;
|
| 1022 |
+
|
| 1023 |
+
Selain exception, beberapa class turunan yang tersedia di dalam namespace std, seperti:
|
| 1024 |
+
std::runtime_error
|
| 1025 |
+
std::logic_error
|
| 1026 |
+
std::out_of_range
|
| 1027 |
+
|
| 1028 |
+
Dapat pula digunakan sebagai dasar custom exception.
|
| 1029 |
+
|
| 1030 |
+
Nested Exception (Exception Bersarang)
|
| 1031 |
+
|
| 1032 |
+
Blok try-catch dapat disarang di dalam blok try-catch lain.
|
| 1033 |
+
|
| 1034 |
+
Exception yang dilempar dalam blok try bersarang akan ditangani oleh catch terdekat.
|
| 1035 |
+
|
| 1036 |
+
Ini memungkinkan penanganan exception yang lebih spesifik untuk bagian kode tertentu.
|
| 1037 |
+
|
| 1038 |
+
Rangkuman
|
| 1039 |
+
|
| 1040 |
+
Exception adalah mekanisme untuk menangani kesalahan yang terjadi saat program dijalankan.
|
| 1041 |
+
|
| 1042 |
+
Compilation error terjadi saat proses kompilasi dan harus diperbaiki terlebih dahulu agar program bisa berjalan.
|
| 1043 |
+
|
| 1044 |
+
Logical error terjadi karena kesalahan logika, meskipun tidak ada error saat kompilasi.
|
| 1045 |
+
|
| 1046 |
+
Runtime error terjadi saat eksekusi dan dapat diatasi dengan exception handling.
|
| 1047 |
+
|
| 1048 |
+
Exception handling menggunakan tiga kata kunci utama: try, throw, dan catch.
|
| 1049 |
+
|
| 1050 |
+
Satu blok try dapat diikuti oleh beberapa blok catch sesuai tipe exception.
|
| 1051 |
+
|
| 1052 |
+
C++ menyediakan interface class exception yang bisa digunakan untuk membuat custom exception.
|
| 1053 |
+
|
| 1054 |
+
Penanganan exception bisa dibuat bersarang (nested) untuk skenario yang kompleks.
|
| 1055 |
+
|
| 1056 |
+
Database
|
| 1057 |
+
|
| 1058 |
+
Mengolah File CSV
|
| 1059 |
+
|
| 1060 |
+
CSV adalah singkatan dari Comma Separated Values.
|
| 1061 |
+
|
| 1062 |
+
Merupakan format file sederhana yang digunakan untuk menyimpan data dalam bentuk tabel, seperti spreadsheet atau database.
|
| 1063 |
+
|
| 1064 |
+
Setiap field data dalam file CSV dipisahkan oleh tanda koma (,), dan setiap baris data dipisahkan oleh karakter baris baru (\n).
|
| 1065 |
+
|
| 1066 |
+
Pengolahan file CSV di C++ mirip dengan pengolahan file teks biasa, namun ada beberapa modifikasi seperti parsing nilai berdasarkan pemisah koma.
|
| 1067 |
+
|
| 1068 |
+
Mengolah File INI
|
| 1069 |
+
|
| 1070 |
+
File INI adalah file konfigurasi yang sering digunakan untuk menyimpan pengaturan (settings) perangkat lunak.
|
| 1071 |
+
|
| 1072 |
+
File ini menggunakan ekstensi .ini, yang merupakan singkatan dari initialization.
|
| 1073 |
+
|
| 1074 |
+
Elemen paling dasar dalam file INI adalah key atau property.
|
| 1075 |
+
|
| 1076 |
+
Setiap key terdiri atas nama dan nilai (value) yang dipisahkan oleh tanda sama dengan (=), misalnya nama=andi.
|
| 1077 |
+
|
| 1078 |
+
Beberapa key dapat dikelompokkan ke dalam bagian yang disebut section.
|
| 1079 |
+
|
| 1080 |
+
Section ditandai dengan tanda kurung siku, seperti [section].
|
| 1081 |
+
|
| 1082 |
+
C++ dan MySQL
|
| 1083 |
+
|
| 1084 |
+
Untuk mengakses MySQL dari program C++, dibutuhkan beberapa perangkat lunak:
|
| 1085 |
+
- MySQL Server
|
| 1086 |
+
- MySQL Connector/C++
|
| 1087 |
+
- Visual Studio IDE dengan dukungan pengembangan C++
|
| 1088 |
+
|
| 1089 |
+
Instalasi MySQL Server dan MySQL Connector/C++
|
| 1090 |
+
|
| 1091 |
+
Unduh MySQL Installer 8.0.25 dari situs resmi:
|
| 1092 |
+
https://dev.mysql.com/downloads/installer/
|
| 1093 |
+
|
| 1094 |
+
Setelah diunduh, jalankan installer dan tambahkan produk:
|
| 1095 |
+
MySQL Server 8.0.25
|
| 1096 |
+
Connector/C++ 8.0.25
|
| 1097 |
+
|
| 1098 |
+
Saat proses instalasi MySQL Server berlangsung, ikuti petunjuk konfigurasi sesuai kebutuhan, seperti pengaturan password dan port.
|
| 1099 |
+
|
| 1100 |
+
Untuk menguji koneksi MySQL, buka Command Prompt atau Terminal, lalu jalankan perintah:
|
| 1101 |
+
|
| 1102 |
+
mysql -u root -p
|
| 1103 |
+
|
| 1104 |
+
Jika perintah di atas tidak dikenali, pastikan direktori bin dari MySQL telah ditambahkan ke dalam environment variable PATH.
|
| 1105 |
+
|
| 1106 |
+
Instalasi Visual Studio
|
| 1107 |
+
|
| 1108 |
+
Unduh Visual Studio Installer dari:
|
| 1109 |
+
https://visualstudio.microsoft.com/downloads/
|
| 1110 |
+
Pilih edisi Community (gratis).
|
| 1111 |
+
|
| 1112 |
+
Jalankan installer setelah diunduh.
|
| 1113 |
+
|
| 1114 |
+
Pilih workload "Desktop Development with C++", lalu mulai proses instalasi.
|
| 1115 |
+
|
| 1116 |
+
Setelah instalasi selesai, restart komputer untuk menyelesaikan proses setup.
|
| 1117 |
+
|
| 1118 |
+
Jika ikon Visual Studio Community tidak muncul di desktop, jalankan aplikasi melalui fitur pencarian di menu Start dengan mengetik "Visual Studio 2019".
|
| 1119 |
+
|
| 1120 |
+
Memulai Proyek Baru di Visual Studio
|
| 1121 |
+
|
| 1122 |
+
Buka Visual Studio.
|
| 1123 |
+
|
| 1124 |
+
Pada jendela pembuka, pilih "Create a new project".
|
| 1125 |
+
|
| 1126 |
+
Pilih template "Console App" untuk membuat aplikasi berbasis terminal.
|
| 1127 |
+
|
| 1128 |
+
Beri nama dan tentukan lokasi penyimpanan proyek sesuai keinginan.
|
| 1129 |
+
|
| 1130 |
+
Klik "Create" dan tunggu hingga proyek selesai diproses dan siap digunakan.
|
| 1131 |
+
|
| 1132 |
+
Ringkasan
|
| 1133 |
+
|
| 1134 |
+
CSV adalah format file sederhana untuk menyimpan data tabel, dengan pemisah koma (,) antar field dan baris baru (\n) antar baris.
|
| 1135 |
+
|
| 1136 |
+
File INI digunakan untuk menyimpan konfigurasi perangkat lunak, dengan format key=value, dan dapat dikelompokkan dalam [section].
|
| 1137 |
+
|
| 1138 |
+
MySQL dapat diakses melalui C++ menggunakan Connector/C++.
|
| 1139 |
+
|
| 1140 |
+
Instalasi perangkat lunak pendukung seperti MySQL Server, MySQL Connector/C++, dan Visual Studio diperlukan sebelum memulai pengembangan aplikasi yang menggunakan database MySQL dari C++.
|
| 1141 |
+
|
| 1142 |
+
Linked List
|
| 1143 |
+
|
| 1144 |
+
Konsep Dasar Alokasi Memori Dinamik
|
| 1145 |
+
|
| 1146 |
+
Alokasi memori secara dinamis adalah proses pengalokasian memori yang dilakukan secara manual oleh programmer saat program dijalankan (run-time).
|
| 1147 |
+
|
| 1148 |
+
Memori dialokasikan sebanyak yang diperlukan, sehingga penggunaan memori menjadi lebih efisien.
|
| 1149 |
+
|
| 1150 |
+
Alokasi dinamik membantu mengurangi perubahan signifikan terhadap kode program ketika kebutuhan memori berubah seiring pengembangan aplikasi.
|
| 1151 |
+
|
| 1152 |
+
Pengalokasian Memori Statis
|
| 1153 |
+
|
| 1154 |
+
Memori statis adalah memori yang dialokasikan saat kompilasi melalui pendeklarasian variabel, objek, atau struktur data.
|
| 1155 |
+
|
| 1156 |
+
Ukuran memori yang digunakan oleh variabel atau objek statis bersifat tetap, sesuai dengan deklarasi awal.
|
| 1157 |
+
|
| 1158 |
+
Memori statis tidak dialokasikan ulang selama program berjalan, artinya program hanya menggunakan memori yang sudah disiapkan sebelumnya.
|
| 1159 |
+
|
| 1160 |
+
Cocok digunakan jika ukuran data sudah diketahui dan tidak berubah.
|
| 1161 |
+
|
| 1162 |
+
Pengalokasian Memori Dinamik
|
| 1163 |
+
|
| 1164 |
+
Memori dinamis adalah memori yang dialokasikan selama program berjalan (run-time), bukan saat kompilasi.
|
| 1165 |
+
|
| 1166 |
+
Pengalokasian dilakukan menggunakan keyword new, dan dibebaskan menggunakan keyword delete.
|
| 1167 |
+
|
| 1168 |
+
Digunakan pada struktur data yang ukuran atau jumlah elemennya tidak pasti atau dapat berubah, seperti linked list.
|
| 1169 |
+
|
| 1170 |
+
Memori dinamis memberi fleksibilitas lebih tinggi dan penggunaan sumber daya lebih efisien.
|
| 1171 |
+
|
| 1172 |
+
Keyword new
|
| 1173 |
+
|
| 1174 |
+
Keyword new digunakan untuk mengalokasikan memori secara dinamis.
|
| 1175 |
+
|
| 1176 |
+
Contoh penggunaan:
|
| 1177 |
+
|
| 1178 |
+
pointer = new type; // Mengalokasikan satu elemen
|
| 1179 |
+
pointer = new type[jumlah]; // Mengalokasikan array dari elemen
|
| 1180 |
+
|
| 1181 |
+
Alamat memori hasil alokasi disimpan dalam variabel pointer yang bertipe sesuai.
|
| 1182 |
+
|
| 1183 |
+
Jika memori tidak mencukupi, maka akan dilempar exception bad_alloc sebagai tanda kegagalan alokasi.
|
| 1184 |
+
|
| 1185 |
+
Keyword delete
|
| 1186 |
+
|
| 1187 |
+
Keyword delete digunakan untuk membebaskan memori yang sebelumnya dialokasikan dengan new.
|
| 1188 |
+
|
| 1189 |
+
Contoh penggunaan:
|
| 1190 |
+
|
| 1191 |
+
delete pointer; // Membebaskan satu elemen
|
| 1192 |
+
delete[] pointer; // Membebaskan array
|
| 1193 |
+
|
| 1194 |
+
Memori harus dibebaskan jika tidak digunakan lagi agar tidak terjadi memory leak.
|
| 1195 |
+
|
| 1196 |
+
Memory leak terjadi jika memori tidak dibebaskan, menyebabkan pemborosan memori hingga program crash.
|
| 1197 |
+
|
| 1198 |
+
Linked List
|
| 1199 |
+
|
| 1200 |
+
Linked List adalah struktur data dinamis berupa rangkaian node yang saling terhubung menggunakan pointer.
|
| 1201 |
+
|
| 1202 |
+
Setiap node biasanya terdiri dari:
|
| 1203 |
+
1. Field data: untuk menyimpan nilai.
|
| 1204 |
+
2. Pointer: yang menunjuk ke node selanjutnya.
|
| 1205 |
+
|
| 1206 |
+
Kelebihan linked list:
|
| 1207 |
+
- Elemen tidak perlu bersebelahan secara fisik di memori.
|
| 1208 |
+
- Ukurannya bisa bertambah/berkurang secara dinamis.
|
| 1209 |
+
|
| 1210 |
+
Operasi dasar pada linked list:
|
| 1211 |
+
|
| 1212 |
+
1. push() — Menambahkan node di depan linked list.
|
| 1213 |
+
2. insertAfter() — Menambahkan node setelah node tertentu.
|
| 1214 |
+
3. append() — Menambahkan node di akhir linked list.
|
| 1215 |
+
|
| 1216 |
+
Doubly Linked List
|
| 1217 |
+
|
| 1218 |
+
Doubly linked list adalah varian dari linked list yang memiliki pointer dua arah:
|
| 1219 |
+
- Satu menunjuk ke node berikutnya (next),
|
| 1220 |
+
- Satu lagi menunjuk ke node sebelumnya (prev).
|
| 1221 |
+
|
| 1222 |
+
Keunggulan doubly linked list:
|
| 1223 |
+
- Dapat ditelusuri maju dan mundur.
|
| 1224 |
+
- Masing-masing node memiliki dua pointer:
|
| 1225 |
+
Node pertama memiliki prev = NULL.
|
| 1226 |
+
Node terakhir memiliki next = NULL.
|
| 1227 |
+
|
| 1228 |
+
Ringkasan
|
| 1229 |
+
|
| 1230 |
+
Memori statis dialokasikan saat kompilasi dan ukurannya tetap.
|
| 1231 |
+
|
| 1232 |
+
Memori dinamis dialokasikan saat program berjalan, lebih fleksibel dan efisien.
|
| 1233 |
+
|
| 1234 |
+
Keyword new digunakan untuk alokasi, dan delete untuk membebaskan memori.
|
| 1235 |
+
|
| 1236 |
+
Linked list adalah struktur data dinamis yang tiap elemennya saling terhubung melalui pointer.
|
| 1237 |
+
|
| 1238 |
+
Doubly linked list adalah versi lanjutan dari linked list yang mendukung navigasi dua arah.
|
| 1239 |
+
|
| 1240 |
+
Stack Queue
|
| 1241 |
+
|
| 1242 |
+
STACK
|
| 1243 |
+
|
| 1244 |
+
Pengertian Stack
|
| 1245 |
+
|
| 1246 |
+
Stack adalah struktur data linear yang menggunakan prinsip FILO (First In Last Out), yaitu data yang masuk pertama akan keluar terakhir.
|
| 1247 |
+
|
| 1248 |
+
Data hanya dapat ditambahkan atau dihapus melalui satu ujung yang disebut top (puncak).
|
| 1249 |
+
|
| 1250 |
+
Umumnya, data yang berada di bawah top tidak dapat diakses langsung, hanya elemen paling atas yang dapat diakses.
|
| 1251 |
+
|
| 1252 |
+
Jenis Stack
|
| 1253 |
+
|
| 1254 |
+
Stack dapat bersifat statis maupun dinamis.
|
| 1255 |
+
Stack statis: menggunakan array dengan ukuran tetap (fixed size).
|
| 1256 |
+
Stack dinamis: menggunakan linked list, memungkinkan ukuran stack bertambah atau berkurang sesuai kebutuhan.
|
| 1257 |
+
|
| 1258 |
+
Dalam modul ini, digunakan stack dinamis berbasis linked list.
|
| 1259 |
+
|
| 1260 |
+
Mendeklarasikan Node untuk Stack (Stack Dinamis)
|
| 1261 |
+
|
| 1262 |
+
Contoh pendeklarasian node dalam C++:
|
| 1263 |
+
|
| 1264 |
+
struct Node {
|
| 1265 |
+
int data;
|
| 1266 |
+
Node* next;
|
| 1267 |
+
};
|
| 1268 |
+
|
| 1269 |
+
Mendefinisikan Class Stack (Contoh Sederhana)
|
| 1270 |
+
|
| 1271 |
+
|
| 1272 |
+
class Stack {
|
| 1273 |
+
private:
|
| 1274 |
+
Node* top;
|
| 1275 |
+
public:
|
| 1276 |
+
Stack() {
|
| 1277 |
+
top = nullptr;
|
| 1278 |
+
}
|
| 1279 |
+
|
| 1280 |
+
bool is_empty();
|
| 1281 |
+
void push(int value);
|
| 1282 |
+
int pop();
|
| 1283 |
+
};
|
| 1284 |
+
|
| 1285 |
+
Fungsi is_empty() dan is_full()
|
| 1286 |
+
|
| 1287 |
+
is_empty() digunakan untuk mengecek apakah stack kosong.
|
| 1288 |
+
|
| 1289 |
+
bool Stack::is_empty() {
|
| 1290 |
+
return top == nullptr;
|
| 1291 |
+
}
|
| 1292 |
+
|
| 1293 |
+
Pada stack dinamis, is_full() tidak terlalu relevan karena memori tidak dibatasi seperti array, namun bisa dicek berdasarkan alokasi memori:
|
| 1294 |
+
|
| 1295 |
+
bool is_full() {
|
| 1296 |
+
Node* temp = new Node;
|
| 1297 |
+
if (temp == nullptr)
|
| 1298 |
+
return true;
|
| 1299 |
+
delete temp;
|
| 1300 |
+
return false;
|
| 1301 |
+
}
|
| 1302 |
+
|
| 1303 |
+
Operasi push()
|
| 1304 |
+
|
| 1305 |
+
Fungsi push() digunakan untuk menambahkan elemen ke bagian atas stack.
|
| 1306 |
+
|
| 1307 |
+
void Stack::push(int value) {
|
| 1308 |
+
Node* newNode = new Node;
|
| 1309 |
+
newNode->data = value;
|
| 1310 |
+
newNode->next = top;
|
| 1311 |
+
top = newNode;
|
| 1312 |
+
}
|
| 1313 |
+
|
| 1314 |
+
Operasi pop()
|
| 1315 |
+
|
| 1316 |
+
Fungsi pop() digunakan untuk menghapus elemen dari bagian atas stack.
|
| 1317 |
+
|
| 1318 |
+
int Stack::pop() {
|
| 1319 |
+
if (is_empty()) {
|
| 1320 |
+
cout << "Stack kosong!" << endl;
|
| 1321 |
+
return -1;
|
| 1322 |
+
}
|
| 1323 |
+
Node* temp = top;
|
| 1324 |
+
int value = top->data;
|
| 1325 |
+
top = top->next;
|
| 1326 |
+
delete temp;
|
| 1327 |
+
return value;
|
| 1328 |
+
}
|
| 1329 |
+
|
| 1330 |
+
QUEUE
|
| 1331 |
+
|
| 1332 |
+
Pengertian Queue
|
| 1333 |
+
|
| 1334 |
+
Queue (Antrian) adalah struktur data linear yang mengikuti prinsip FIFO (First In First Out), yaitu elemen yang masuk pertama akan keluar pertama juga.
|
| 1335 |
+
|
| 1336 |
+
Proses:
|
| 1337 |
+
Penyisipan (enqueue) dilakukan dari gerbang belakang (rear).
|
| 1338 |
+
Penghapusan (dequeue) dilakukan dari gerbang depan (front).
|
| 1339 |
+
|
| 1340 |
+
Jenis Queue
|
| 1341 |
+
|
| 1342 |
+
Queue dapat diimplementasikan secara:
|
| 1343 |
+
1. Statis menggunakan array.
|
| 1344 |
+
2. Dinamis menggunakan linked list.
|
| 1345 |
+
|
| 1346 |
+
Pendeklarasian Node untuk Queue (Dinamis):
|
| 1347 |
+
|
| 1348 |
+
struct Node {
|
| 1349 |
+
int data;
|
| 1350 |
+
Node* next;
|
| 1351 |
+
};
|
| 1352 |
+
|
| 1353 |
+
Contoh Class Queue (Linked List):
|
| 1354 |
+
|
| 1355 |
+
class Queue {
|
| 1356 |
+
private:
|
| 1357 |
+
Node* front;
|
| 1358 |
+
Node* rear;
|
| 1359 |
+
public:
|
| 1360 |
+
Queue() {
|
| 1361 |
+
front = rear = nullptr;
|
| 1362 |
+
}
|
| 1363 |
+
|
| 1364 |
+
bool is_empty();
|
| 1365 |
+
void enQueue(int value);
|
| 1366 |
+
int deQueue();
|
| 1367 |
+
};
|
| 1368 |
+
|
| 1369 |
+
Fungsi is_empty() dan is_full()
|
| 1370 |
+
|
| 1371 |
+
is_empty() digunakan untuk mengecek apakah queue kosong:
|
| 1372 |
+
|
| 1373 |
+
bool Queue::is_empty() {
|
| 1374 |
+
return front == nullptr;
|
| 1375 |
+
}
|
| 1376 |
+
|
| 1377 |
+
is_full() (pada queue dinamis, mirip dengan stack):
|
| 1378 |
+
|
| 1379 |
+
bool is_full() {
|
| 1380 |
+
Node* temp = new Node;
|
| 1381 |
+
if (temp == nullptr)
|
| 1382 |
+
return true;
|
| 1383 |
+
delete temp;
|
| 1384 |
+
return false;
|
| 1385 |
+
}
|
| 1386 |
+
|
| 1387 |
+
Operasi enQueue()
|
| 1388 |
+
|
| 1389 |
+
Fungsi untuk menambahkan data ke antrian (belakang).
|
| 1390 |
+
|
| 1391 |
+
void Queue::enQueue(int value) {
|
| 1392 |
+
Node* newNode = new Node;
|
| 1393 |
+
newNode->data = value;
|
| 1394 |
+
newNode->next = nullptr;
|
| 1395 |
+
|
| 1396 |
+
if (is_empty()) {
|
| 1397 |
+
front = rear = newNode;
|
| 1398 |
+
} else {
|
| 1399 |
+
rear->next = newNode;
|
| 1400 |
+
rear = newNode;
|
| 1401 |
+
}
|
| 1402 |
+
}
|
| 1403 |
+
|
| 1404 |
+
Operasi deQueue()
|
| 1405 |
+
|
| 1406 |
+
Fungsi untuk menghapus data dari antrian (depan).
|
| 1407 |
+
|
| 1408 |
+
int Queue::deQueue() {
|
| 1409 |
+
if (is_empty()) {
|
| 1410 |
+
cout << "Queue kosong!" << endl;
|
| 1411 |
+
return -1;
|
| 1412 |
+
}
|
| 1413 |
+
|
| 1414 |
+
Node* temp = front;
|
| 1415 |
+
int value = front->data;
|
| 1416 |
+
front = front->next;
|
| 1417 |
+
delete temp;
|
| 1418 |
+
|
| 1419 |
+
if (front == nullptr) {
|
| 1420 |
+
rear = nullptr;
|
| 1421 |
+
}
|
| 1422 |
+
|
| 1423 |
+
return value;
|
| 1424 |
+
}
|
| 1425 |
+
|
| 1426 |
+
PRIORITY QUEUE
|
| 1427 |
+
|
| 1428 |
+
Pengertian Priority Queue
|
| 1429 |
+
|
| 1430 |
+
Priority Queue adalah jenis antrian di mana elemen dengan prioritas tertinggi akan dikeluarkan lebih dulu.
|
| 1431 |
+
|
| 1432 |
+
Menggunakan konsep HPIFO (Highest Priority In First Out).
|
| 1433 |
+
|
| 1434 |
+
Tipe Priority Queue
|
| 1435 |
+
|
| 1436 |
+
1. Ascending Priority Queue
|
| 1437 |
+
Elemen dengan nilai prioritas paling rendah dikeluarkan terakhir.
|
| 1438 |
+
|
| 1439 |
+
2. Descending Priority Queue
|
| 1440 |
+
Elemen dengan nilai prioritas paling tinggi dikeluarkan pertama.
|
| 1441 |
+
|
| 1442 |
+
Implementasi Priority Queue
|
| 1443 |
+
|
| 1444 |
+
Priority queue dapat direpresentasikan menggunakan:
|
| 1445 |
+
Set
|
| 1446 |
+
List
|
| 1447 |
+
Array
|
| 1448 |
+
|
| 1449 |
+
Biasanya memerlukan mekanisme sorting atau pengurutan berdasarkan tingkat prioritas.
|
| 1450 |
+
|
| 1451 |
+
RINGKASAN
|
| 1452 |
+
|
| 1453 |
+
Stack adalah struktur data dengan prinsip FILO (First In Last Out), di mana data terakhir yang masuk akan menjadi data pertama yang keluar.
|
| 1454 |
+
|
| 1455 |
+
Stack memiliki metode penting seperti is_empty(), is_full(), push(), dan pop().
|
| 1456 |
+
|
| 1457 |
+
Queue menggunakan prinsip FIFO (First In First Out), di mana data pertama yang masuk akan menjadi data pertama yang keluar.
|
| 1458 |
+
|
| 1459 |
+
Queue memiliki metode penting seperti is_empty(), is_full(), enQueue(), dan deQueue().
|
| 1460 |
+
|
| 1461 |
+
Priority Queue adalah jenis queue di mana elemen dengan prioritas tertinggi akan dikeluarkan terlebih dahulu (HPIFO).
|
| 1462 |
+
|
| 1463 |
+
Priority Queue dapat diimplementasikan dengan berbagai struktur data seperti array, list, dan set.
|
| 1464 |
+
|
data/PengantarTeknologiInformasi.txt
ADDED
|
@@ -0,0 +1,2108 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Pengantar Teknologi Informasi
|
| 2 |
+
|
| 3 |
+
PENGENALAN TEKNOLOGI INFORMASI
|
| 4 |
+
|
| 5 |
+
Teknologi Informasi (TI) hadir di berbagai aspek kehidupan. Saat ini TI telah menjadi bagian tak terpisahkan dari aktivitas manusia dan organisasi.
|
| 6 |
+
|
| 7 |
+
TI sebagai strategi bisnis. Perusahaan memanfaatkan TI untuk merancang strategi bisnis agar lebih kompetitif di pasar.
|
| 8 |
+
|
| 9 |
+
Manfaat TI dalam dunia usaha dan kehidupan sehari-hari:
|
| 10 |
+
|
| 11 |
+
1. Efisien: Melakukan pekerjaan dengan cara yang benar, hemat biaya, dan cepat.
|
| 12 |
+
Contoh: Kasir menggunakan pemindai barcode (scanner) untuk mempercepat proses transaksi.
|
| 13 |
+
|
| 14 |
+
2. Efektif: Membuat keputusan yang tepat pada waktu yang tepat.
|
| 15 |
+
Contoh: Sistem basis data (database) yang digunakan untuk menyimpan dan mengelola informasi pelanggan.
|
| 16 |
+
|
| 17 |
+
3. Inovatif: Menciptakan hal-hal baru, seperti layanan atau produk baru, serta menjangkau pasar atau pelanggan baru.
|
| 18 |
+
Contoh: Layanan digital baru seperti aplikasi pemesanan makanan atau transportasi online.
|
| 19 |
+
|
| 20 |
+
APA ITU TEKNOLOGI INFORMASI?
|
| 21 |
+
|
| 22 |
+
Teknologi Informasi (TI) adalah kumpulan alat dan metode yang digunakan untuk mengelola informasi dan mendukung aktivitas pengolahan informasi. Menurut Haag & Keen (1996), TI adalah seperangkat alat bantu untuk bekerja dengan informasi dan menjalankan tugas-tugas yang berkaitan dengan pemrosesan informasi.
|
| 23 |
+
|
| 24 |
+
Secara umum, TI merupakan gabungan dari:
|
| 25 |
+
|
| 26 |
+
Teknologi komputer: Perangkat keras (hardware) dan perangkat lunak (software) yang memproses data.
|
| 27 |
+
|
| 28 |
+
Teknologi telekomunikasi: Sarana komunikasi jarak jauh seperti telepon, radio, televisi, dan internet.
|
| 29 |
+
|
| 30 |
+
DATA, INFORMASI, DAN PROGRAM
|
| 31 |
+
|
| 32 |
+
Data: Fakta-fakta mentah atau bahan baku yang belum diolah, seperti angka, teks, atau gambar.
|
| 33 |
+
Contoh: Nama pelanggan, jumlah transaksi, atau suhu udara.
|
| 34 |
+
|
| 35 |
+
Informasi: Data yang telah diproses dan diorganisir sehingga memiliki makna serta bermanfaat untuk pengambilan keputusan.
|
| 36 |
+
Contoh: Laporan penjualan mingguan berdasarkan data transaksi.
|
| 37 |
+
|
| 38 |
+
Program: Sekumpulan instruksi yang memandu komputer dalam memproses data menjadi informasi.
|
| 39 |
+
Contoh: Aplikasi pengolah kata atau sistem manajemen keuangan.
|
| 40 |
+
|
| 41 |
+
GELOMBANG INOVASI TI
|
| 42 |
+
|
| 43 |
+
Gelombang Pertama:
|
| 44 |
+
Pemanfaatan TI untuk meningkatkan produktivitas dan mengotomatisasi tugas-tugas rutin. Contoh: Penggunaan Microsoft Word untuk surat-menyurat, Excel untuk akuntansi, dan PowerPoint untuk presentasi.
|
| 45 |
+
|
| 46 |
+
Gelombang Kedua:
|
| 47 |
+
Peningkatan efektivitas melalui penggunaan jaringan komputer dan berbagi sumber daya seperti printer secara bersama. Contoh: Komputer terhubung dalam satu jaringan lokal (LAN) yang memungkinkan berbagi file dan perangkat.
|
| 48 |
+
|
| 49 |
+
Gelombang Ketiga:
|
| 50 |
+
Pemanfaatan TI untuk membangun sistem informasi yang mendukung pengambilan keputusan dan pengelolaan organisasi. Contoh: Sistem Informasi Akademik di universitas, Sistem Manajemen Gudang di supermarket.
|
| 51 |
+
|
| 52 |
+
Gelombang Keempat:
|
| 53 |
+
Penggunaan TI untuk mengolah data kualitatif dan membantu dalam proses pengambilan keputusan. Contoh: Sistem Pendukung Keputusan (SPK) dalam seleksi pegawai.
|
| 54 |
+
|
| 55 |
+
Gelombang Kelima:
|
| 56 |
+
Integrasi TI dengan internet, melahirkan konsep digital seperti e-Business, e-Commerce, dan e-Learning (e-School, e-Campus).
|
| 57 |
+
|
| 58 |
+
Gelombang Keenam:
|
| 59 |
+
Era jaringan nirkabel dan perangkat mobile. Akses internet dapat dilakukan lewat komputer yang terhubung dengan ponsel atau langsung dari ponsel itu sendiri. Mendukung gaya hidup mobile dan konektivitas tanpa batas.
|
| 60 |
+
|
| 61 |
+
PENGGUNAAN TEKNOLOGI INFORMASI DI BERBAGAI BIDANG
|
| 62 |
+
|
| 63 |
+
1. Perbankan:
|
| 64 |
+
- Sistem online dengan server pusat (centralized system).
|
| 65 |
+
- Layanan ATM di seluruh wilayah memungkinkan nasabah bertransaksi kapan pun dan di mana pun.
|
| 66 |
+
- Layanan internet banking seperti klikBCA memudahkan akses rekening dari rumah.
|
| 67 |
+
|
| 68 |
+
2. Pendidikan:
|
| 69 |
+
- Pendidikan Jarak Jauh (Distance Learning) memanfaatkan platform online.
|
| 70 |
+
- Edutainment (gabungan Education dan Entertainment) dengan konten multimedia interaktif.
|
| 71 |
+
|
| 72 |
+
3. Medis:
|
| 73 |
+
- Sistem penyimpanan rekam medis pasien secara digital.
|
| 74 |
+
- Peralatan medis seperti CT-Scan digunakan untuk menganalisis bagian dalam tubuh manusia.
|
| 75 |
+
|
| 76 |
+
4. Perdagangan Elektronis:
|
| 77 |
+
- Implementasi e-Commerce dan e-Business memungkinkan transaksi online dan manajemen bisnis secara digital.
|
| 78 |
+
|
| 79 |
+
5. Kepolisian:
|
| 80 |
+
- Penerbitan SIM secara digital.
|
| 81 |
+
- Sistem pengambilan sidik jari.
|
| 82 |
+
- Pelacakan pelaku kejahatan dengan teknologi pengenalan pola (pattern recognition).
|
| 83 |
+
|
| 84 |
+
6. Manufaktur:
|
| 85 |
+
- Perusahaan multinasional mengelola data secara terpusat menggunakan teknologi WAN.
|
| 86 |
+
- Seluruh kantor cabang di berbagai negara dapat mengakses data real-time untuk membuat keputusan cepat dan akurat.
|
| 87 |
+
|
| 88 |
+
7. Pegawai Mobile (Remote Working):
|
| 89 |
+
- Tenaga kerja dapat bekerja dari lokasi manapun, seperti programmer dari Moskow bekerja untuk perusahaan di California.
|
| 90 |
+
- Menggunakan email, chatting, FTP, VoIP, dan telekonferensi untuk berkomunikasi dan menyelesaikan pekerjaan.
|
| 91 |
+
|
| 92 |
+
8. Perusahaan Pengiriman (contoh: UPS):
|
| 93 |
+
- Mengoperasikan layanan pengiriman paket global dengan 100.000 lebih kurir.
|
| 94 |
+
- Menggunakan sistem tracking berbasis internet dan perangkat seperti barcode scanner, keypad, stylus, dan pad elektronik.
|
| 95 |
+
- Data pengiriman dikirim langsung ke server pusat, dan pelanggan dapat memantau status barang secara online.
|
| 96 |
+
|
| 97 |
+
Pengenalan Komputer
|
| 98 |
+
|
| 99 |
+
DEFINISI KOMPUTER
|
| 100 |
+
|
| 101 |
+
• Kata "komputer" berasal dari bahasa Inggris to compute yang berarti menghitung.
|
| 102 |
+
• Secara harfiah, komputer berarti alat untuk menghitung.
|
| 103 |
+
• Definisi lengkap: Komputer adalah perangkat elektronik yang dapat menyimpan data dan program, serta memproses data tersebut berdasarkan instruksi-instruksi dalam program untuk menghasilkan output atau keluaran yang diinginkan.
|
| 104 |
+
|
| 105 |
+
SEJARAH KOMPUTER
|
| 106 |
+
|
| 107 |
+
1. Generasi Pertama (1946–1959)
|
| 108 |
+
Ditandai dengan hadirnya ENIAC (Electronic Numerical Integrator and Computer).
|
| 109 |
+
Menggunakan tabung hampa udara (vacuum tube) sebagai komponen utama.
|
| 110 |
+
Bahasa pemrograman masih berupa kode mesin (binary: 0 dan 1).
|
| 111 |
+
Kecepatan sangat lambat, kapasitas penyimpanan kecil, mudah panas, dan konsumsi listrik sangat tinggi.
|
| 112 |
+
Contoh: UNIVAC I, SEAC, G-15, SWAC.
|
| 113 |
+
|
| 114 |
+
2. Generasi Kedua (1959–1965)
|
| 115 |
+
Menggunakan transistor sebagai pengganti tabung hampa.
|
| 116 |
+
Sudah menggunakan media penyimpanan eksternal seperti pita magnetik (magnetic tape) dan disk magnetik.
|
| 117 |
+
Mendukung sistem real-time dan time-sharing.
|
| 118 |
+
Proses operasi jauh lebih cepat dan kapasitas memori meningkat.
|
| 119 |
+
Bahasa pemrograman mulai berkembang, seperti COBOL dan FORTRAN.
|
| 120 |
+
Ukuran fisik lebih kecil dan efisiensi meningkat.
|
| 121 |
+
|
| 122 |
+
3. Generasi Ketiga (1965–1970)
|
| 123 |
+
Menggunakan IC (Integrated Circuit) sebagai komponen utama.
|
| 124 |
+
Telah mengenal sistem operasi (Operating System).
|
| 125 |
+
Proses lebih cepat dan akurat, kapasitas memori besar.
|
| 126 |
+
Mendukung multiprocessing dan multiprogramming.
|
| 127 |
+
Harga mulai terjangkau.
|
| 128 |
+
Sudah mampu melakukan komunikasi data antar komputer.
|
| 129 |
+
Contoh: IBM System/360, IBM 390.
|
| 130 |
+
|
| 131 |
+
4. Generasi Keempat (Sejak 1970)
|
| 132 |
+
Menggunakan LSI (Large Scale Integration) dan mikroprosesor.
|
| 133 |
+
Penggunaan chip semikonduktor sebagai memori internal.
|
| 134 |
+
Muncul software seperti word processing.
|
| 135 |
+
Komputer menjadi lebih terjangkau dan digunakan secara luas.
|
| 136 |
+
Contoh: Komputer dari IBM, Apple, BMC.
|
| 137 |
+
|
| 138 |
+
5. Generasi Kelima (1980-an)
|
| 139 |
+
Menggunakan teknologi VLSI (Very Large Scale Integration).
|
| 140 |
+
Diperkenalkan konsep komputasi dengan kecerdasan buatan (AI).
|
| 141 |
+
Teknologi Josephson Junction dikembangkan oleh Jepang melalui ICOT.
|
| 142 |
+
Menggunakan prosesor 8088/8086 (standar 16-bit), lalu muncul prosesor Pentium 4.
|
| 143 |
+
Contoh: IBM ASCI White dengan kecepatan lebih dari 1,3 triliun operasi per detik.
|
| 144 |
+
|
| 145 |
+
6. Generasi Keenam (Sekarang dan masa depan)
|
| 146 |
+
Diperkirakan memiliki kecepatan hingga miliaran operasi per detik.
|
| 147 |
+
Teknologi mikro-optik dan input-output audio mulai diterapkan.
|
| 148 |
+
Komputer semakin cerdas dengan teknologi kecerdasan buatan.
|
| 149 |
+
Menggunakan teknologi ULSI (Ultra Large Scale Integration).
|
| 150 |
+
Contoh: Komputer modern saat ini.
|
| 151 |
+
|
| 152 |
+
KATEGORI KOMPUTER
|
| 153 |
+
|
| 154 |
+
A. Komputer Pribadi (PC)
|
| 155 |
+
B. Komputer Genggam (Handheld)
|
| 156 |
+
C. Workstation
|
| 157 |
+
D. Mainframe
|
| 158 |
+
E. Superkomputer
|
| 159 |
+
F. Server
|
| 160 |
+
|
| 161 |
+
A. KOMPUTER PRIBADI (PC)
|
| 162 |
+
|
| 163 |
+
Jenis mikrokomputer untuk keperluan individu.
|
| 164 |
+
Menjalankan berbagai software aplikasi.
|
| 165 |
+
Bentuk: Desktop, Notebook, Tablet.
|
| 166 |
+
|
| 167 |
+
1. Desktop
|
| 168 |
+
Keyboard terpisah dan terhubung ke CPU.
|
| 169 |
+
CPU berada dalam casing (horizontal/tower).
|
| 170 |
+
Versi modern: All-in-One PC.
|
| 171 |
+
|
| 172 |
+
2. Notebook
|
| 173 |
+
Komputer portabel dengan layar, keyboard, dan komponen pemrosesan.
|
| 174 |
+
Dapat digunakan dengan listrik atau baterai.
|
| 175 |
+
Cocok untuk mobilitas tinggi.
|
| 176 |
+
Versi modern: Notebook 2-in-1.
|
| 177 |
+
|
| 178 |
+
3. Tablet
|
| 179 |
+
Notebook dengan layar sentuh.
|
| 180 |
+
Input menggunakan sentuhan atau stylus pen.
|
| 181 |
+
Cocok untuk aplikasi dengan input tulisan tangan.
|
| 182 |
+
|
| 183 |
+
B. KOMPUTER PORTABEL / HANDHELD
|
| 184 |
+
|
| 185 |
+
Disebut juga PDA atau smartphone.
|
| 186 |
+
Ukuran kecil, hemat energi, mudah dibawa.
|
| 187 |
+
Memiliki fungsi kalender, email, internet, kalkulator, dan catatan.
|
| 188 |
+
Tidak cocok untuk tugas besar.
|
| 189 |
+
|
| 190 |
+
C. WORKSTATION
|
| 191 |
+
|
| 192 |
+
Komputer desktop untuk pekerjaan khusus (misal: desain, pengolahan citra medis).
|
| 193 |
+
Atau: PC yang terhubung ke jaringan (network).
|
| 194 |
+
|
| 195 |
+
D. MAINFRAME
|
| 196 |
+
|
| 197 |
+
Komputer besar untuk memproses data dalam skala besar secara bersamaan.
|
| 198 |
+
Mendukung ratusan hingga ribuan pengguna.
|
| 199 |
+
Digunakan di perusahaan besar dan lembaga pemerintah.
|
| 200 |
+
|
| 201 |
+
E. SUPERKOMPUTER
|
| 202 |
+
|
| 203 |
+
Versi lebih cepat dari mainframe.
|
| 204 |
+
Menggunakan ratusan hingga ribuan prosesor secara paralel.
|
| 205 |
+
Digunakan untuk simulasi nuklir, riset cuaca, militer, dan perhitungan kompleks.
|
| 206 |
+
|
| 207 |
+
F. SERVER
|
| 208 |
+
|
| 209 |
+
Bisa berupa hardware, software, atau kombinasi keduanya.
|
| 210 |
+
Melayani permintaan dari komputer lain dalam jaringan (client).
|
| 211 |
+
Digunakan dalam jaringan LAN maupun internet.
|
| 212 |
+
|
| 213 |
+
PROSES KOMPUTER
|
| 214 |
+
|
| 215 |
+
Input: Data yang dimasukkan ke sistem komputer.
|
| 216 |
+
Proses: Manipulasi data menjadi informasi.
|
| 217 |
+
Output: Hasil dari pemrosesan data.
|
| 218 |
+
Storage: Penyimpanan data mentah dan hasil proses.
|
| 219 |
+
|
| 220 |
+
KOMPONEN SISTEM KOMPUTER
|
| 221 |
+
|
| 222 |
+
1. Hardware
|
| 223 |
+
2. Operating System
|
| 224 |
+
3. Software (perangkat lunak)
|
| 225 |
+
4. Peripheral (perangkat tambahan)
|
| 226 |
+
|
| 227 |
+
Hardware meliputi:
|
| 228 |
+
Motherboard
|
| 229 |
+
Expansion board/kartu ekspansi
|
| 230 |
+
CPU (mikroprosesor)
|
| 231 |
+
Memori (RAM dan ROM)
|
| 232 |
+
Penyimpanan (hard disk, SSD, dll.)
|
| 233 |
+
Keyboard
|
| 234 |
+
Monitor
|
| 235 |
+
|
| 236 |
+
MOTHERBOARD
|
| 237 |
+
Tempat CPU dan slot ekspansi berada.
|
| 238 |
+
Menentukan kemampuan upgrade komputer.
|
| 239 |
+
|
| 240 |
+
EXPANSION BOARD / CARD
|
| 241 |
+
Menambah fungsi komputer: kontroler, video card, memory card.
|
| 242 |
+
Kontroler mengatur disk drive.
|
| 243 |
+
Video card menghubungkan CPU dengan monitor.
|
| 244 |
+
|
| 245 |
+
CPU (Central Processing Unit)
|
| 246 |
+
Otak komputer, terdiri dari banyak rangkaian sirkuit.
|
| 247 |
+
Kecepatan: MHz atau GHz.
|
| 248 |
+
Cara kerja dibahas lebih lanjut di sesi berikutnya.
|
| 249 |
+
|
| 250 |
+
MEMORI
|
| 251 |
+
Terdiri dari dua jenis utama:
|
| 252 |
+
ROM (Read Only Memory)
|
| 253 |
+
Hanya bisa dibaca, menyimpan BIOS.
|
| 254 |
+
BIOS mengontrol inisialisasi sistem sebelum OS aktif.
|
| 255 |
+
RAM (Random Access Memory)
|
| 256 |
+
Bisa dibaca dan ditulis, bersifat volatile.
|
| 257 |
+
Penyimpanan sementara data dan program yang sedang digunakan.
|
| 258 |
+
|
| 259 |
+
BIOS (Basic Input Output System)
|
| 260 |
+
|
| 261 |
+
Antarmuka antara perangkat keras dan software.
|
| 262 |
+
Inisialisasi awal: mengecek RAM, mendeteksi hard disk, dan mencari sistem operasi.
|
| 263 |
+
Menu BIOS:
|
| 264 |
+
• Standard CMOS Features
|
| 265 |
+
• Advanced BIOS Features
|
| 266 |
+
• Power Management
|
| 267 |
+
• PC Health Status
|
| 268 |
+
• Set Password
|
| 269 |
+
• Save/Exit Setup
|
| 270 |
+
|
| 271 |
+
SISTEM OPERASI
|
| 272 |
+
|
| 273 |
+
Software inti yang mengatur kerja perangkat keras dan perangkat lunak.
|
| 274 |
+
Contoh bahasa:
|
| 275 |
+
Programming language untuk pengembangan software
|
| 276 |
+
Query language untuk mengelola basis data
|
| 277 |
+
|
| 278 |
+
SOFTWARE
|
| 279 |
+
|
| 280 |
+
Software Aplikasi: Untuk tugas-tugas spesifik (misalnya MS Word).
|
| 281 |
+
Software Sistem: Mendukung operasional dasar komputer.
|
| 282 |
+
|
| 283 |
+
BRAINWARE
|
| 284 |
+
|
| 285 |
+
Manusia yang menggunakan komputer.
|
| 286 |
+
Contoh: programmer, sistem analis, admin jaringan, admin database.
|
| 287 |
+
|
| 288 |
+
Dasar Sistem Komputer
|
| 289 |
+
|
| 290 |
+
Komputer digunakan oleh manusia untuk mengolah berbagai jenis data, seperti angka, teks, suara, gambar, dan video. Agar data tersebut dapat dimengerti dan diproses oleh komputer, data harus dikonversi ke dalam bentuk khusus yang disebut representasi data, yaitu bentuk digital (biner) yang terdiri dari dua simbol: 0 dan 1. Sistem ini dikenal sebagai sistem biner.
|
| 291 |
+
|
| 292 |
+
Sistem biner adalah sistem bilangan dasar dua (Base-2), di mana hanya terdapat dua kemungkinan nilai yang disebut bit (binary digit). Bit ini menyatakan dua kondisi logika: 0 = salah/off, 1 = benar/on. Semua komputer digital modern bekerja dengan prinsip ini. Melalui kombinasi bit-bit tersebut, komputer bisa mewakili dan mengolah berbagai informasi yang kompleks.
|
| 293 |
+
|
| 294 |
+
DARI BIT KE INFORMASI
|
| 295 |
+
|
| 296 |
+
Sistem biner menggunakan dua simbol (0 dan 1) untuk mewakili semua angka dan informasi.
|
| 297 |
+
|
| 298 |
+
1 berarti keadaan hidup (on) dan 0 berarti mati (off).
|
| 299 |
+
|
| 300 |
+
Komputer memanfaatkan urutan bit untuk merepresentasikan angka, teks, suara, gambar, dan video.
|
| 301 |
+
|
| 302 |
+
Data numerik (angka) direpresentasikan menggunakan sistem biner dan bisa digunakan dalam perhitungan, seperti usia, gaji, harga, dll.
|
| 303 |
+
|
| 304 |
+
Contoh:
|
| 305 |
+
Angka 2 dalam biner = 10
|
| 306 |
+
1 bit = 2 kemungkinan
|
| 307 |
+
2 bit = 4 kemungkinan:
|
| 308 |
+
00 = manis
|
| 309 |
+
01 = asam
|
| 310 |
+
10 = pedas
|
| 311 |
+
11 = sangat pedas
|
| 312 |
+
|
| 313 |
+
Umumnya, n bit dapat merepresentasikan 2ⁿ kemungkinan. Misalnya, 32 bit bisa mewakili 4.294.967.296 kemungkinan nilai.
|
| 314 |
+
|
| 315 |
+
SATUAN DATA
|
| 316 |
+
|
| 317 |
+
1 Byte = 8 bit, cukup untuk menyimpan 1 karakter.
|
| 318 |
+
|
| 319 |
+
1 KB (Kilobyte) ≈ 1024 byte, digunakan untuk file kecil seperti dokumen teks.
|
| 320 |
+
|
| 321 |
+
1 MB (Megabyte) ≈ 1024 KB, sering digunakan untuk menyatakan kapasitas RAM.
|
| 322 |
+
|
| 323 |
+
1 GB (Gigabyte) ≈ 1024 MB, umum untuk kapasitas hard disk PC.
|
| 324 |
+
|
| 325 |
+
1 TB (Terabyte) ≈ 1024 GB, digunakan dalam server atau komputer besar.
|
| 326 |
+
|
| 327 |
+
1 PB (Petabyte) ≈ 1024 TB, mulai digunakan dalam penyimpanan skala besar seperti pusat data.
|
| 328 |
+
|
| 329 |
+
SISTEM PENGKODEAN KARAKTER
|
| 330 |
+
|
| 331 |
+
Agar komputer bisa menampilkan huruf, simbol, dan angka, digunakan sistem pengkodean karakter, seperti:
|
| 332 |
+
|
| 333 |
+
1. ASCII (American Standard Code for Information Interchange)
|
| 334 |
+
Menggunakan 7 bit → dapat merepresentasikan 128 karakter.
|
| 335 |
+
Contoh: ‘A’ = 1000001
|
| 336 |
+
|
| 337 |
+
2. Extended ASCII
|
| 338 |
+
Memperluas ASCII ke 8 bit → 256 karakter, termasuk simbol grafis.
|
| 339 |
+
|
| 340 |
+
3. EBCDIC (Extended Binary Coded Decimal Interchange Code)
|
| 341 |
+
Menggunakan 8 bit. Umumnya digunakan di komputer mainframe IBM.
|
| 342 |
+
|
| 343 |
+
4. Unicode
|
| 344 |
+
Menggunakan 16 bit → dapat merepresentasikan lebih dari 65.000 karakter.
|
| 345 |
+
Mendukung berbagai bahasa dunia. Contoh: huruf ‘A’ dalam alfabet Rusia = 00000100000100000
|
| 346 |
+
|
| 347 |
+
PENGKODEAN UNTUK JENIS DATA LAIN (Multimedia)
|
| 348 |
+
|
| 349 |
+
Data non-teks seperti grafik, audio, dan video memiliki format pengkodean berbeda.
|
| 350 |
+
|
| 351 |
+
Digitalisasi (Digitize): Proses mengubah data analog ke bentuk digital.
|
| 352 |
+
|
| 353 |
+
Gambar digital disusun dari piksel berwarna, tiap piksel direpresentasikan oleh kode biner.
|
| 354 |
+
|
| 355 |
+
Contoh: titik hijau → 0010, titik merah → 1100
|
| 356 |
+
|
| 357 |
+
Musik dikodekan berdasarkan frekuensi dan durasi nada menjadi bentuk biner.
|
| 358 |
+
|
| 359 |
+
File dan Header:
|
| 360 |
+
Semua data disimpan dalam file biner. Untuk mengenali jenis datanya, file memiliki file header, yang berisi informasi tentang bagaimana data tersebut harus ditampilkan. Header ini dibaca oleh komputer tetapi tidak terlihat di layar.
|
| 361 |
+
|
| 362 |
+
PERWAKILAN TEKS
|
| 363 |
+
|
| 364 |
+
Teks dalam dokumen terdiri dari:
|
| 365 |
+
|
| 366 |
+
Karakter → disusun menjadi kata → kalimat → paragraf
|
| 367 |
+
Setiap karakter diubah menjadi kode biner melalui sistem pengkodean karakter (ASCII, Unicode, dll).
|
| 368 |
+
|
| 369 |
+
KONVERSI SISTEM BILANGAN
|
| 370 |
+
|
| 371 |
+
Biner ke Desimal: Menggunakan posisi bit, misalnya 1010 = 1×8 + 0×4 + 1×2 + 0×1 = 10
|
| 372 |
+
|
| 373 |
+
Desimal ke Biner: Menggunakan pembagian berulang dengan 2.
|
| 374 |
+
|
| 375 |
+
BAHASA MESIN
|
| 376 |
+
|
| 377 |
+
Bahasa Mesin (Machine Language) adalah instruksi yang ditulis dalam kode biner.
|
| 378 |
+
|
| 379 |
+
Digunakan langsung oleh CPU melalui Instruction Set (set instruksi).
|
| 380 |
+
|
| 381 |
+
Pemrogram menggunakan translator (penerjemah bahasa) seperti compiler atau interpreter agar kode tingkat tinggi bisa dieksekusi dalam bahasa mesin.
|
| 382 |
+
|
| 383 |
+
SISTEM UNIT
|
| 384 |
+
|
| 385 |
+
System Unit adalah kotak utama komputer yang berisi komponen inti seperti motherboard, CPU (mikroprosesor), dan memory.
|
| 386 |
+
|
| 387 |
+
Semua perangkat keras saling terhubung melalui motherboard.
|
| 388 |
+
|
| 389 |
+
MIKROPROSESOR
|
| 390 |
+
|
| 391 |
+
Komponen Mikroprosesor:
|
| 392 |
+
1. ALU (Arithmetic Logic Unit): Melakukan operasi matematika dan logika.
|
| 393 |
+
2. Control Unit: Mengatur dan mengoordinasikan aktivitas CPU.
|
| 394 |
+
3. Register: Memori internal kecil dengan kecepatan tinggi untuk menyimpan data/instruksi sementara.
|
| 395 |
+
|
| 396 |
+
Siklus Kerja Mikroprosesor:
|
| 397 |
+
1. Fetch – Mengambil instruksi dari memori.
|
| 398 |
+
2. Decode – Mengartikan instruksi.
|
| 399 |
+
3. Execute – Menjalankan instruksi.
|
| 400 |
+
|
| 401 |
+
Faktor yang Mempengaruhi Kecepatan Mikroprosesor:
|
| 402 |
+
Kecepatan clock
|
| 403 |
+
Panjang word
|
| 404 |
+
Lebar bus data
|
| 405 |
+
Desain fisik dari chip prosesor
|
| 406 |
+
|
| 407 |
+
MEMORI
|
| 408 |
+
|
| 409 |
+
ROM (Read Only Memory):
|
| 410 |
+
Memori permanen, hanya bisa dibaca.
|
| 411 |
+
|
| 412 |
+
Berisi BIOS: program awal yang menjalankan pemeriksaan sistem saat komputer dihidupkan.
|
| 413 |
+
|
| 414 |
+
Proses BIOS:
|
| 415 |
+
1. Membaca CMOS (pengaturan dasar komputer)
|
| 416 |
+
2. Memuat Interrupt Handler & Device Driver
|
| 417 |
+
3. Inisialisasi register dan manajemen daya
|
| 418 |
+
4. Melakukan POST (Power On Self Test)
|
| 419 |
+
5. Menampilkan pengaturan sistem
|
| 420 |
+
6. Menentukan device booting (misalnya hard disk)
|
| 421 |
+
7. Menjalankan boot sector ke RAM
|
| 422 |
+
|
| 423 |
+
RAM (Random Access Memory):
|
| 424 |
+
- Memori sementara (volatile), bisa dibaca dan ditulis.
|
| 425 |
+
- Menyimpan data dan instruksi sementara yang sedang diproses.
|
| 426 |
+
- Jika listrik padam, isi RAM akan hilang.
|
| 427 |
+
- RAM lebih cepat dari hard disk tetapi memiliki kapasitas lebih kecil.
|
| 428 |
+
|
| 429 |
+
PERBEDAAN RAM DAN HARD DISK
|
| 430 |
+
|
| 431 |
+
RAM:
|
| 432 |
+
- Penyimpanan sementara (volatile)
|
| 433 |
+
- Kecepatan tinggi
|
| 434 |
+
- Kapasitas lebih kecil
|
| 435 |
+
- Dihubungkan langsung ke motherboard
|
| 436 |
+
|
| 437 |
+
Hard Disk:
|
| 438 |
+
- Penyimpanan permanen
|
| 439 |
+
- Kecepatan lebih lambat
|
| 440 |
+
- Kapasitas besar
|
| 441 |
+
- Menggunakan media magnetik
|
| 442 |
+
|
| 443 |
+
Alat Input Output Komputer
|
| 444 |
+
|
| 445 |
+
Dalam sistem komputer, terdapat dua jenis alat penting: alat input dan alat output.
|
| 446 |
+
Alat input berfungsi untuk mengubah data atau instruksi yang dimengerti oleh manusia ke dalam bentuk digital yang dapat diproses oleh CPU (biasanya dalam bentuk bit atau byte). Sebaliknya, alat output bertugas menerjemahkan kembali hasil pemrosesan komputer dari bentuk digital menjadi informasi yang bisa dipahami oleh manusia, baik melalui tampilan visual, cetakan, maupun suara.
|
| 447 |
+
|
| 448 |
+
Alat Input
|
| 449 |
+
|
| 450 |
+
1. Keyboard
|
| 451 |
+
Keyboard merupakan perangkat input standar untuk memasukkan teks dan perintah ke komputer. Keyboard terdiri dari berbagai jenis tombol yang dapat dibedakan berdasarkan jumlah, susunan, jenis fungsi, dan rasa sentuhnya (tactile feedback).
|
| 452 |
+
|
| 453 |
+
Function keys digunakan untuk fungsi tertentu dalam perangkat lunak, seperti F1 untuk bantuan.
|
| 454 |
+
|
| 455 |
+
Numeric keypad memudahkan pengguna dalam memasukkan angka dengan cepat.
|
| 456 |
+
|
| 457 |
+
Keyboard juga bisa bersifat spesifik untuk industri tertentu, seperti pada restoran cepat saji, di mana tombol-tombolnya disesuaikan untuk menu makanan seperti Big Mac atau Fillet-O-Fish.
|
| 458 |
+
|
| 459 |
+
2. Mouse
|
| 460 |
+
Mouse adalah perangkat penunjuk (pointing device) yang digunakan untuk mengendalikan posisi pointer pada layar.
|
| 461 |
+
|
| 462 |
+
Mouse mekanik bekerja dengan membaca gerakan bola di dalamnya terhadap permukaan mouse pad.
|
| 463 |
+
|
| 464 |
+
Mouse optik menggunakan sensor cahaya untuk mendeteksi pergerakan, lebih presisi dan mudah dirawat karena tidak bergantung pada bola mekanis.
|
| 465 |
+
Mouse digunakan untuk operasi dasar seperti klik, geser (drag), dan gulir (scroll).
|
| 466 |
+
|
| 467 |
+
3. Electronic Pen
|
| 468 |
+
Pena elektronik digunakan sebagai alternatif mouse untuk menunjuk, menggambar, atau menulis di layar. Perangkat ini banyak digunakan pada:
|
| 469 |
+
|
| 470 |
+
Tablet grafis
|
| 471 |
+
|
| 472 |
+
Perangkat tanda tangan digital
|
| 473 |
+
|
| 474 |
+
Komputer berbasis pena (pen-based computer)
|
| 475 |
+
|
| 476 |
+
4. Touch Screen
|
| 477 |
+
Layar sentuh merupakan perangkat input sekaligus output yang memungkinkan pengguna memberikan perintah langsung dengan menyentuh layar.
|
| 478 |
+
Touch screen banyak digunakan di:
|
| 479 |
+
|
| 480 |
+
Kios informasi
|
| 481 |
+
|
| 482 |
+
Mesin tiket
|
| 483 |
+
|
| 484 |
+
Perangkat kasir swalayan
|
| 485 |
+
|
| 486 |
+
5. Perangkat Input Gambar Terformat
|
| 487 |
+
Perangkat ini membaca data dari bentuk fisik tertentu dan mengubahnya ke digital.
|
| 488 |
+
|
| 489 |
+
Bar Code Reader membaca kode batang untuk identifikasi produk, sering digunakan di toko retail.
|
| 490 |
+
|
| 491 |
+
MICR (Magnetic Ink Character Recognition) membaca karakter cetak dengan tinta khusus yang dimagnetisasi, umum pada cek bank.
|
| 492 |
+
|
| 493 |
+
OMR (Optical Mark Recognition) mendeteksi tanda pensil pada formulir seperti lembar jawaban ujian.
|
| 494 |
+
|
| 495 |
+
Scanner mengubah dokumen fisik (teks, gambar) ke format digital menggunakan teknologi optical scanner.
|
| 496 |
+
|
| 497 |
+
6. Kamera Digital
|
| 498 |
+
Kamera digital menangkap gambar atau video dan menyimpannya dalam media penyimpanan digital. Kamera ini dapat dihubungkan ke komputer melalui kabel atau card reader. Biasanya disertai perangkat lunak untuk mentransfer dan mengedit foto.
|
| 499 |
+
|
| 500 |
+
7. Perangkat Input Biometrik
|
| 501 |
+
Fingerprint Reader membaca pola sidik jari untuk keperluan autentikasi atau absensi.
|
| 502 |
+
|
| 503 |
+
Retina Scanner memindai retina mata untuk identifikasi dengan tingkat keamanan tinggi, seperti akses ruangan rahasia.
|
| 504 |
+
|
| 505 |
+
Alat Output
|
| 506 |
+
|
| 507 |
+
1. Monitor (Display Device)
|
| 508 |
+
Monitor menampilkan informasi visual dari komputer. Terdapat beberapa teknologi tampilan:
|
| 509 |
+
|
| 510 |
+
CRT (Cathode Ray Tube): Menggunakan tabung sinar elektron seperti televisi lama.
|
| 511 |
+
|
| 512 |
+
LCD (Liquid Crystal Display): Ringan, hemat tempat, dan memiliki radiasi rendah.
|
| 513 |
+
|
| 514 |
+
LED (Light Emitting Diode): Lebih cerah, hemat energi, dan lebih tipis dibanding LCD.
|
| 515 |
+
|
| 516 |
+
Plasma Screen: Menghasilkan warna terang dan kontras tinggi dengan gas bercahaya.
|
| 517 |
+
|
| 518 |
+
Kualitas monitor ditentukan oleh:
|
| 519 |
+
Ukuran layar
|
| 520 |
+
Dot pitch (jarak antar piksel)
|
| 521 |
+
Sudut pandang
|
| 522 |
+
Resolusi dan kedalaman warna
|
| 523 |
+
|
| 524 |
+
2. Printer
|
| 525 |
+
Printer menghasilkan output berupa cetakan di atas kertas.
|
| 526 |
+
|
| 527 |
+
Kualitas cetak ditentukan oleh resolusi (dpi), dan kecepatannya diukur dalam ppm atau cps.
|
| 528 |
+
|
| 529 |
+
Berdasarkan metode cetaknya, printer terbagi menjadi:
|
| 530 |
+
|
| 531 |
+
Impact Printer, seperti dot-matrix dan line printer, bekerja dengan kontak fisik terhadap kertas.
|
| 532 |
+
|
| 533 |
+
Non-impact Printer, seperti inkjet dan laser printer, tidak menyentuh langsung kertas saat mencetak.
|
| 534 |
+
|
| 535 |
+
Perangkat Input-Output Khusus
|
| 536 |
+
|
| 537 |
+
1. ATM (Anjungan Tunai Mandiri)
|
| 538 |
+
ATM adalah mesin yang memungkinkan transaksi keuangan secara otomatis, seperti penarikan tunai, transfer, dan pembayaran. Sebagai alat input-output, ATM menerima input dari pengguna (PIN, nominal), dan menampilkan serta mencetak output transaksi.
|
| 539 |
+
|
| 540 |
+
2. POS (Point of Sale)
|
| 541 |
+
Perangkat POS digunakan di toko untuk mencatat pembelian. POS menggabungkan input seperti pemindaian barang dan tombol harga, serta output berupa layar atau struk cetakan.
|
| 542 |
+
|
| 543 |
+
3. Sensor Network
|
| 544 |
+
Digunakan dalam pengendalian hama atau sistem otomatisasi pertanian. Sensor mendeteksi keberadaan hama dan memberikan informasi kepada sistem untuk mengambil tindakan. Sistem ini mendukung efisiensi dan mengurangi ketergantungan terhadap pestisida.
|
| 545 |
+
|
| 546 |
+
Software System
|
| 547 |
+
|
| 548 |
+
Apa Itu Perangkat Lunak (Software)?
|
| 549 |
+
|
| 550 |
+
Komputer beroperasi berdasarkan serangkaian instruksi atau perintah yang mengatur cara kerja perangkat kerasnya (hardware). Instruksi-instruksi ini disebut sebagai program komputer, dan secara keseluruhan, program-program tersebut dikenal dengan nama perangkat lunak (software).
|
| 551 |
+
|
| 552 |
+
Jenis-jenis Perangkat Lunak
|
| 553 |
+
|
| 554 |
+
1. Perangkat Lunak Sistem (System Software)
|
| 555 |
+
Bertindak sebagai perantara antara perangkat keras dan perangkat lunak aplikasi.
|
| 556 |
+
Contoh:
|
| 557 |
+
Sistem Operasi: Windows, macOS, Linux, UNIX, DOS
|
| 558 |
+
Driver Perangkat
|
| 559 |
+
Program Utilitas (utilities)
|
| 560 |
+
Bahasa Pemrograman
|
| 561 |
+
|
| 562 |
+
2. Perangkat Lunak Aplikasi (Application Software)
|
| 563 |
+
Digunakan untuk melaksanakan tugas-tugas tertentu yang dilakukan pengguna.
|
| 564 |
+
Contoh:
|
| 565 |
+
Pengolah Dokumen (MS Word)
|
| 566 |
+
Pengolah Angka (Spreadsheet)
|
| 567 |
+
Pengelola Basis Data
|
| 568 |
+
Aplikasi Hiburan dan Referensi
|
| 569 |
+
|
| 570 |
+
Perangkat Lunak Sistem
|
| 571 |
+
|
| 572 |
+
Sering disebut sebagai perangkat lunak pendukung, karena perannya dalam mengelola sumber daya komputer seperti CPU dan perangkat input/output. Software ini bertindak sebagai penghubung utama antara hardware dan software aplikasi. Umumnya, perangkat lunak sistem dibagi menjadi:
|
| 573 |
+
Program pengendali sistem
|
| 574 |
+
Program pendukung sistem
|
| 575 |
+
Program pengembangan sistem
|
| 576 |
+
|
| 577 |
+
Sistem Operasi (Operating System)
|
| 578 |
+
|
| 579 |
+
Sistem operasi adalah sekumpulan program yang mengatur dan mengelola seluruh aktivitas sistem komputer. Fungsinya sangat penting karena bertindak sebagai jembatan antara pengguna (user), perangkat keras (hardware), dan program aplikasi.
|
| 580 |
+
|
| 581 |
+
Fungsi Sistem Operasi:
|
| 582 |
+
1. Mengelola seluruh sumber daya komputer (CPU, memori, I/O).
|
| 583 |
+
2. Menyediakan antarmuka bagi pengguna.
|
| 584 |
+
3. Menyediakan layanan-layanan sistem yang memudahkan pemrograman dan penggunaan perangkat.
|
| 585 |
+
4. Menjaga stabilitas dan keamanan sistem.
|
| 586 |
+
|
| 587 |
+
Peran Utama Sistem Operasi:
|
| 588 |
+
1. Resource Manager: Mengalokasikan dan mengatur sumber daya seperti memori, CPU, dan perangkat keras lainnya.
|
| 589 |
+
2. Extended Machine: Menyediakan layanan yang membuat penggunaan komputer lebih mudah.
|
| 590 |
+
3. Kernel: Bagian inti dari OS yang berjalan terus menerus.
|
| 591 |
+
4. Guardian: Melindungi sistem dari kerusakan dan serangan.
|
| 592 |
+
|
| 593 |
+
Tugas Utama Sistem Operasi
|
| 594 |
+
|
| 595 |
+
1. Manajemen Proses (Process Management)
|
| 596 |
+
Mengatur proses yang sedang berjalan (executing).
|
| 597 |
+
Bertanggung jawab atas pembuatan, penghentian, penundaan, dan kelanjutan proses.
|
| 598 |
+
Menyediakan mekanisme untuk:
|
| 599 |
+
- Komunikasi antar proses
|
| 600 |
+
- Sinkronisasi proses
|
| 601 |
+
- Penanganan deadlock
|
| 602 |
+
|
| 603 |
+
2. Manajemen Memori (Memory Management)
|
| 604 |
+
Mengelola penggunaan memori utama (RAM).
|
| 605 |
+
Menentukan proses mana yang masuk ke memori.
|
| 606 |
+
Mengalokasikan dan mengosongkan memori sesuai kebutuhan.
|
| 607 |
+
|
| 608 |
+
3. Manajemen Berkas (File Management)
|
| 609 |
+
Mengatur file dan direktori (folder).
|
| 610 |
+
Mendukung operasi seperti membuat, menghapus, membaca, menulis, serta pencadangan (backup) file.
|
| 611 |
+
|
| 612 |
+
4. Manajemen I/O
|
| 613 |
+
Mengatur input dan output dari/ke perangkat.
|
| 614 |
+
Menggunakan buffer dan spooling.
|
| 615 |
+
Menyediakan antarmuka standar melalui driver perangkat.
|
| 616 |
+
|
| 617 |
+
5. Manajemen Penyimpanan Sekunder
|
| 618 |
+
Mengelola ruang penyimpanan seperti harddisk atau SSD.
|
| 619 |
+
Melakukan alokasi ruang, penjadwalan penggunaan, dan pengelolaan ruang kosong.
|
| 620 |
+
|
| 621 |
+
6. Jaringan (Networking)
|
| 622 |
+
Mendukung sistem terdistribusi.
|
| 623 |
+
Menghubungkan prosesor yang memiliki memori tersendiri melalui jaringan.
|
| 624 |
+
Memungkinkan kolaborasi, peningkatan kinerja, dan keandalan sistem.
|
| 625 |
+
|
| 626 |
+
7. Sistem Proteksi
|
| 627 |
+
Mengendalikan akses terhadap sumber daya.
|
| 628 |
+
Memastikan hanya entitas yang sah yang dapat mengakses sistem.
|
| 629 |
+
Menyediakan mekanisme pengamanan.
|
| 630 |
+
|
| 631 |
+
8. Command Interpreter System
|
| 632 |
+
Menyediakan antarmuka untuk menerima dan mengeksekusi perintah pengguna.
|
| 633 |
+
Bisa berupa baris perintah (command line) seperti Shell di UNIX atau GUI seperti Windows.
|
| 634 |
+
|
| 635 |
+
Contoh Sistem Operasi Populer
|
| 636 |
+
|
| 637 |
+
Windows: GUI yang ramah pengguna dan banyak digunakan.
|
| 638 |
+
macOS: Eksklusif untuk perangkat Apple, unggul dalam multimedia dan keamanan.
|
| 639 |
+
UNIX: Stabil, digunakan di server dan workstation, berbasis teks.
|
| 640 |
+
Linux: Varian dari UNIX, sumber terbuka (open-source), digunakan luas dari server hingga desktop.
|
| 641 |
+
|
| 642 |
+
Program Utilitas (Utility Programs)
|
| 643 |
+
|
| 644 |
+
Merupakan perangkat lunak sistem tambahan yang digunakan untuk membantu pengelolaan dan pemeliharaan komputer.
|
| 645 |
+
|
| 646 |
+
Jenis-Jenis Program Utilitas:
|
| 647 |
+
1. Program Diagnostik: Mendeteksi dan memperbaiki kerusakan file atau direktori.
|
| 648 |
+
2. Program Backup & Restore: Membuat cadangan data untuk mencegah kehilangan.
|
| 649 |
+
3. Program Pemulihan Data: Mengembalikan data yang rusak atau terhapus (misalnya GetDataBack).
|
| 650 |
+
4. Program Kompresi Data: Memperkecil ukuran file (contoh: WinRAR, 7Zip).
|
| 651 |
+
5. Program Partisi: Mengelola partisi harddisk (contoh: EaseUS Partition Manager).
|
| 652 |
+
6. Program Burning Disk: Membakar data ke CD/DVD (contoh: Nero Burning ROM).
|
| 653 |
+
|
| 654 |
+
Bahasa Pemrograman
|
| 655 |
+
|
| 656 |
+
Digunakan untuk menulis instruksi atau perintah bagi komputer. Dikelompokkan menjadi beberapa tingkat:
|
| 657 |
+
Bahasa Tingkat Rendah (Low Level): Bahasa Assembly
|
| 658 |
+
Bahasa Tingkat Menengah: Bahasa C
|
| 659 |
+
Bahasa Tingkat Tinggi (High Level): BASIC, Pascal
|
| 660 |
+
Bahasa Berorientasi Objek (OOP): Java, Delphi, Visual C++
|
| 661 |
+
|
| 662 |
+
Tujuan Pengembangan Sistem
|
| 663 |
+
|
| 664 |
+
Pengembangan sistem dilakukan untuk mengganti sistem lama yang tidak efektif, meningkatkan fungsionalitas, atau memenuhi kebutuhan baru organisasi.
|
| 665 |
+
|
| 666 |
+
Alasan umum pengembangan sistem:
|
| 667 |
+
1. Masalah pada sistem lama:
|
| 668 |
+
Sistem tidak lagi relevan.
|
| 669 |
+
Volume data meningkat.
|
| 670 |
+
Perubahan kebutuhan informasi.
|
| 671 |
+
|
| 672 |
+
2. Peluang baru:
|
| 673 |
+
Membantu pengambilan keputusan manajemen.
|
| 674 |
+
|
| 675 |
+
3. Perintah eksternal:
|
| 676 |
+
Regulasi pemerintah atau kebijakan atasan.
|
| 677 |
+
|
| 678 |
+
Siklus Hidup Sistem (System Development Life Cycle / SDLC)
|
| 679 |
+
|
| 680 |
+
Merupakan tahapan dalam pengembangan sistem informasi secara sistematis.
|
| 681 |
+
|
| 682 |
+
1. Perencanaan Sistem (Planning)
|
| 683 |
+
2. Analisis Sistem (Analysis)
|
| 684 |
+
3. Perancangan Sistem (Design)
|
| 685 |
+
4. Pemilihan Sistem (Selection)
|
| 686 |
+
5. Implementasi Sistem (Implementation)
|
| 687 |
+
6. Pemeliharaan Sistem (Maintenance)
|
| 688 |
+
|
| 689 |
+
Application Software
|
| 690 |
+
|
| 691 |
+
PENGERTIAN PERANGKAT LUNAK (SOFTWARE)
|
| 692 |
+
|
| 693 |
+
Perangkat lunak merupakan sekumpulan instruksi atau perintah yang digunakan untuk mengendalikan perangkat keras komputer agar dapat menjalankan tugas tertentu. Instruksi-instruksi ini dirancang dalam bentuk program komputer, yang secara umum disebut sebagai perangkat lunak (software).
|
| 694 |
+
|
| 695 |
+
JENIS PERANGKAT LUNAK APLIKASI
|
| 696 |
+
|
| 697 |
+
Perangkat lunak aplikasi dibuat untuk membantu pengguna menyelesaikan tugas spesifik. Umumnya dikembangkan oleh programmer dan disesuaikan dengan kebutuhan pengguna. Jenisnya meliputi:
|
| 698 |
+
|
| 699 |
+
Aplikasi Serbaguna: Digunakan untuk keperluan umum seperti pengolahan dokumen, spreadsheet, atau presentasi.
|
| 700 |
+
|
| 701 |
+
Aplikasi Spesifik: Dirancang untuk tugas tertentu seperti sistem ATM, software akuntansi, dan sistem informasi akademik.
|
| 702 |
+
|
| 703 |
+
DISTRIBUSI PERANGKAT LUNAK
|
| 704 |
+
|
| 705 |
+
Perangkat lunak didistribusikan dalam berbagai bentuk, antara lain:
|
| 706 |
+
|
| 707 |
+
Package Software (Perangkat Lunak Paket)
|
| 708 |
+
Software komersial yang diproduksi massal dan dilindungi hak cipta. Digunakan oleh berbagai kalangan, misalnya Microsoft Office, Adobe Photoshop.
|
| 709 |
+
|
| 710 |
+
Custom Software (Perangkat Lunak Kustom)
|
| 711 |
+
Dikembangkan secara khusus untuk memenuhi kebutuhan unik suatu organisasi/perorangan. Contohnya: sistem kasir swalayan, sistem informasi sekolah.
|
| 712 |
+
|
| 713 |
+
Open Source Software
|
| 714 |
+
Perangkat lunak bebas pakai yang dapat dimodifikasi dan dibagikan ulang. Contoh: Linux, MySQL, PHP.
|
| 715 |
+
|
| 716 |
+
Shareware
|
| 717 |
+
Software berbayar dengan versi uji coba gratis. Biasanya terdapat batasan fitur atau waktu penggunaan. Contoh: antivirus, editor video.
|
| 718 |
+
|
| 719 |
+
Freeware
|
| 720 |
+
Software gratis yang dapat digunakan tanpa batas waktu, namun tetap memiliki hak cipta. Contoh: Zoom, VLC Media Player.
|
| 721 |
+
|
| 722 |
+
Public Domain Software
|
| 723 |
+
Software yang dilepaskan ke domain publik dan bebas digunakan, dimodifikasi, serta didistribusikan tanpa batasan. Contoh: SQLite, GNU.
|
| 724 |
+
|
| 725 |
+
CONTOH SOFTWARE APLIKASI
|
| 726 |
+
|
| 727 |
+
1. Pengolah Dokumen (Document Production Software)
|
| 728 |
+
Digunakan untuk membuat, mengedit, dan memformat dokumen teks seperti surat, laporan, atau kontrak. Contoh: Microsoft Word, WordPerfect.
|
| 729 |
+
Fitur: pemeriksa ejaan, template, pengaturan paragraf, dan penambahan grafik.
|
| 730 |
+
|
| 731 |
+
2. Perangkat Lunak Grafis (Graphics Software)
|
| 732 |
+
Untuk mengolah gambar, foto, atau ilustrasi digital.
|
| 733 |
+
Contoh: Adobe Photoshop, CorelDRAW.
|
| 734 |
+
|
| 735 |
+
3. Perangkat Lunak Edukasi (Educational Software)
|
| 736 |
+
Digunakan untuk kegiatan pembelajaran atau riset.
|
| 737 |
+
Contoh: EndNote, Mendeley, LaTeX.
|
| 738 |
+
|
| 739 |
+
4. Perangkat Lunak Bisnis (Business Software)
|
| 740 |
+
a. Vertical Market Software: Dirancang untuk industri/bisnis tertentu, seperti software rumah sakit atau perusahaan konstruksi.
|
| 741 |
+
b. Horizontal Market Software: Dapat digunakan oleh berbagai jenis bisnis, seperti software akuntansi dan manajemen proyek.
|
| 742 |
+
|
| 743 |
+
PENGOLAH KATA (WORD PROCESSOR)
|
| 744 |
+
|
| 745 |
+
Software yang digunakan untuk membuat dan mengelola dokumen teks secara digital.
|
| 746 |
+
Contoh: Microsoft Word, Corel WordPerfect.
|
| 747 |
+
|
| 748 |
+
Fitur utama:
|
| 749 |
+
|
| 750 |
+
Penyisipan gambar dan tabel
|
| 751 |
+
|
| 752 |
+
Pemformatan teks dan paragraf
|
| 753 |
+
|
| 754 |
+
Pemeriksaan ejaan
|
| 755 |
+
|
| 756 |
+
Penggunaan template dan wizard
|
| 757 |
+
|
| 758 |
+
PROGRAM SPREADSHEET
|
| 759 |
+
|
| 760 |
+
Digunakan untuk mengelola data numerik dalam bentuk baris dan kolom.
|
| 761 |
+
Contoh: Microsoft Excel, Lotus 1-2-3, Quattro Pro.
|
| 762 |
+
|
| 763 |
+
Fitur utama:
|
| 764 |
+
|
| 765 |
+
Penggunaan rumus dan fungsi
|
| 766 |
+
|
| 767 |
+
Pemformatan sel, baris, dan kolom
|
| 768 |
+
|
| 769 |
+
Pembuatan grafik
|
| 770 |
+
|
| 771 |
+
Analisis sensitivitas (what-if analysis)
|
| 772 |
+
|
| 773 |
+
PROGRAM BASIS DATA (DATABASE)
|
| 774 |
+
|
| 775 |
+
Software untuk menyimpan dan mengelola data dalam jumlah besar secara terstruktur.
|
| 776 |
+
Contoh: Microsoft Access, Corel Paradox, Lotus Approach.
|
| 777 |
+
|
| 778 |
+
Fitur utama:
|
| 779 |
+
|
| 780 |
+
Pembuatan tabel dan struktur database
|
| 781 |
+
|
| 782 |
+
Pengelolaan dan modifikasi data
|
| 783 |
+
|
| 784 |
+
Query untuk pencarian data
|
| 785 |
+
|
| 786 |
+
Pembuatan laporan formal (report)
|
| 787 |
+
|
| 788 |
+
PERANGKAT LUNAK PRESENTASI
|
| 789 |
+
|
| 790 |
+
Software untuk membuat materi presentasi visual.
|
| 791 |
+
Contoh: Microsoft PowerPoint, Corel Presentations, Lotus Freelance.
|
| 792 |
+
|
| 793 |
+
Fitur utama:
|
| 794 |
+
Pembuatan slide teks, grafik, audio, dan video
|
| 795 |
+
Efek transisi dan animasi
|
| 796 |
+
Pengaturan urutan slide
|
| 797 |
+
Opsi pencetakan catatan pembicara
|
| 798 |
+
|
| 799 |
+
Penggunaan Internet dan WWW
|
| 800 |
+
|
| 801 |
+
Pengertian Internet
|
| 802 |
+
|
| 803 |
+
Internet merupakan sebuah jaringan komputer yang menghubungkan jutaan komputer di seluruh dunia. Terdiri dari ribuan jaringan yang saling berhubungan dan dapat diakses oleh jutaan orang setiap hari.
|
| 804 |
+
|
| 805 |
+
Internet adalah sistem jaringan komputer global yang menggunakan protokol TCP/IP untuk menghubungkan perangkat di seluruh dunia. Internet menyediakan beragam sumber daya dan layanan informasi seperti dokumen hiperteks (World Wide Web), surat elektronik (email), telepon internet, dan berbagai jenis file lainnya.
|
| 806 |
+
|
| 807 |
+
Media komunikasi tradisional seperti telepon, radio, televisi, surat, dan surat kabar telah berubah bentuk oleh kehadiran Internet, menghasilkan layanan baru seperti email, televisi internet, musik online, dan surat kabar digital.
|
| 808 |
+
|
| 809 |
+
Publikasi cetak seperti surat kabar dan buku juga beradaptasi melalui teknologi situs web seperti blog, RSS feed, dan berita online.
|
| 810 |
+
|
| 811 |
+
PERKEMBANGAN INTERNET
|
| 812 |
+
|
| 813 |
+
1969 – Dimulai dengan ARPANET (Advanced Research Projects Agency Network), jaringan yang dirancang untuk menghubungkan komputer di empat lokasi:
|
| 814 |
+
- University of California Los Angeles (UCLA)
|
| 815 |
+
- Stanford Research Institute
|
| 816 |
+
- University of Utah
|
| 817 |
+
- University of California Santa Barbara
|
| 818 |
+
|
| 819 |
+
1972 – E-mail mulai dikembangkan.
|
| 820 |
+
|
| 821 |
+
Akhir 1980-an – Nama "Internet" mulai digunakan.
|
| 822 |
+
|
| 823 |
+
1989 – World Wide Web diusulkan oleh Tim Berners-Lee.
|
| 824 |
+
|
| 825 |
+
INTERNET SERVICE PROVIDER (ISP)
|
| 826 |
+
|
| 827 |
+
Pengertian
|
| 828 |
+
ISP (Internet Service Provider) adalah perusahaan yang menyediakan layanan koneksi internet kepada pengguna. ISP menyediakan perangkat lunak dan server agar komputer dapat terhubung ke Internet. Di Indonesia, ISP juga dikenal sebagai PIJI (Penyelenggara Jasa Internet).
|
| 829 |
+
|
| 830 |
+
Fungsi ISP
|
| 831 |
+
1. Menghubungkan pengguna ke jaringan internet.
|
| 832 |
+
2. Bertindak sebagai perantara sambungan internet.
|
| 833 |
+
3. Menghubungkan komputer klien ke gateway internet.
|
| 834 |
+
4. Menyediakan modem untuk sambungan dial-up.
|
| 835 |
+
5. Menyediakan akses ke layanan WWW.
|
| 836 |
+
6. Menyediakan layanan email.
|
| 837 |
+
7. Menyediakan sarana komunikasi online.
|
| 838 |
+
8. Menyediakan perlindungan dari virus melalui sistem antivirus.
|
| 839 |
+
|
| 840 |
+
Jenis Layanan ISP
|
| 841 |
+
Dial-Up Connection:
|
| 842 |
+
- Biaya dihitung berdasarkan waktu penggunaan.
|
| 843 |
+
- Umumnya digunakan oleh warnet.
|
| 844 |
+
|
| 845 |
+
Dedicated Connection:
|
| 846 |
+
- Koneksi tetap menyala 24 jam.
|
| 847 |
+
- Digunakan oleh perusahaan dan institusi dengan kebutuhan internet tinggi.
|
| 848 |
+
|
| 849 |
+
Hotspot:
|
| 850 |
+
- Layanan internet nirkabel (wireless).
|
| 851 |
+
- Umumnya tersedia di kafe, hotel, restoran, dll.
|
| 852 |
+
|
| 853 |
+
Wireless:
|
| 854 |
+
- Menggunakan jaringan WAN.
|
| 855 |
+
- Biaya hanya dikenakan berdasarkan pemakaian internet.
|
| 856 |
+
|
| 857 |
+
Mobile Access:
|
| 858 |
+
- Digunakan pada ponsel/smartphone.
|
| 859 |
+
- Menggunakan jaringan GSM atau CDMA.
|
| 860 |
+
|
| 861 |
+
Contoh ISP di Indonesia:
|
| 862 |
+
- IndiHome
|
| 863 |
+
- Astinet
|
| 864 |
+
- IM3
|
| 865 |
+
- Provider selular: Telkomsel, Indosat, XL, Tri, Smartfren
|
| 866 |
+
|
| 867 |
+
INTERNET RESOURCES (SUMBER DAYA INTERNET)
|
| 868 |
+
|
| 869 |
+
1. Email:
|
| 870 |
+
- Layanan komunikasi utama di Internet.
|
| 871 |
+
- Contoh perangkat lunak: Eudora, Microsoft Outlook Express, Gmail, YahooMail, Hotmail.
|
| 872 |
+
- Format alamat: username@domain.com
|
| 873 |
+
- Istilah penting:
|
| 874 |
+
To: alamat tujuan
|
| 875 |
+
Cc: carbon copy (tembusan)
|
| 876 |
+
Bcc: blind carbon copy (tembusan tersembunyi)
|
| 877 |
+
|
| 878 |
+
2. Newsgroup (Forum Diskusi):
|
| 879 |
+
- Diskusi tidak menggunakan email.
|
| 880 |
+
- Memerlukan koneksi langsung dan software newsreader.
|
| 881 |
+
|
| 882 |
+
3. Mailing List:
|
| 883 |
+
- Diskusi berbasis email.
|
| 884 |
+
- Pesan dari satu anggota dikirim ke seluruh anggota.
|
| 885 |
+
- Perlu proses subscribe dan unsubscribe.
|
| 886 |
+
|
| 887 |
+
4. Telnet:
|
| 888 |
+
- Mengakses komputer lain dari jarak jauh.
|
| 889 |
+
- User seolah-olah menggunakan komputer tujuan secara langsung.
|
| 890 |
+
|
| 891 |
+
5. IRC (Internet Relay Chat):
|
| 892 |
+
- Komunikasi real-time berbasis teks.
|
| 893 |
+
- Program: mIRC dan sejenisnya.
|
| 894 |
+
|
| 895 |
+
6. FTP (File Transfer Protocol):
|
| 896 |
+
- Protokol untuk mengirim dan menerima file.
|
| 897 |
+
- Upload = klien ke server; Download = server ke klien.
|
| 898 |
+
|
| 899 |
+
7. World Wide Web (WWW):
|
| 900 |
+
- Kumpulan dokumen HTML yang saling terhubung melalui hyperlink.
|
| 901 |
+
- Diakses melalui protokol HTTP.
|
| 902 |
+
- Ditampilkan oleh browser dari server web.
|
| 903 |
+
|
| 904 |
+
WEB VS INTERNET
|
| 905 |
+
|
| 906 |
+
Internet:
|
| 907 |
+
- Merupakan sistem jaringan komputer global.
|
| 908 |
+
- Terdiri dari perangkat keras seperti komputer, kabel, router, dan server.
|
| 909 |
+
- Menghubungkan berbagai perangkat di seluruh dunia.
|
| 910 |
+
- Memungkinkan transfer data seperti email, video, suara, teks, dan gambar.
|
| 911 |
+
- Mencakup berbagai layanan seperti email, FTP, telnet, IRC, dan Web.
|
| 912 |
+
|
| 913 |
+
Web (WWW):
|
| 914 |
+
- Merupakan layanan atau ruang informasi yang berjalan di atas internet.
|
| 915 |
+
- Terdiri dari halaman-halaman web yang saling terhubung dengan hyperlink.
|
| 916 |
+
- Menggunakan protokol komunikasi HTTP dan bahasa markup HTML.
|
| 917 |
+
- Menyediakan akses ke informasi berupa teks, gambar, suara, dan video.
|
| 918 |
+
- Dapat diakses menggunakan perangkat lunak browser (seperti Chrome, Firefox, Safari).
|
| 919 |
+
|
| 920 |
+
BAGAIMANA WEB BEKERJA
|
| 921 |
+
|
| 922 |
+
Server web menyimpan data berupa halaman web (dokumen HTML). HTML (HyperText Markup Language) adalah bahasa markup standar untuk dokumen web. Notasi HTML menggunakan tag seperti <html>, <head>, <body>.
|
| 923 |
+
|
| 924 |
+
HTML versi awal dikembangkan oleh Tim Berners-Lee pada 1990. Versi-versi penting:
|
| 925 |
+
HTML 3.2 (1997)
|
| 926 |
+
HTML 4.0 (1997 akhir)
|
| 927 |
+
HTML 4.01 (1999)
|
| 928 |
+
XHTML = HTML versi ke-5 berbasis XML
|
| 929 |
+
|
| 930 |
+
Contoh Struktur Dasar HTML
|
| 931 |
+
<html>
|
| 932 |
+
<head>
|
| 933 |
+
<title>Ini hanya latihan membuat homepage</title>
|
| 934 |
+
</head>
|
| 935 |
+
<body>
|
| 936 |
+
Berisi informasi yang akan ditampilkan dalam dokumen
|
| 937 |
+
</body>
|
| 938 |
+
</html>
|
| 939 |
+
|
| 940 |
+
BROWSER (PERAMBAN)
|
| 941 |
+
|
| 942 |
+
1. Perangkat lunak untuk menjelajahi web.
|
| 943 |
+
2. Browser pertama dengan GUI: Mosaic
|
| 944 |
+
3. Browser modern: Microsoft Edge, Google Chrome, Mozilla Firefox, Safari.
|
| 945 |
+
4. Ciri: link ditandai dengan teks berwarna, digaris bawah, atau ikon.
|
| 946 |
+
5. Klik link = transfer data dari server ke pengguna.
|
| 947 |
+
|
| 948 |
+
URL (Uniform Resource Locator)
|
| 949 |
+
|
| 950 |
+
Alamat unik dari halaman web.
|
| 951 |
+
|
| 952 |
+
Format: http://www.domain.com/nama-halaman.html
|
| 953 |
+
http: Protokol komunikasi web
|
| 954 |
+
Domain: Alamat komputer host
|
| 955 |
+
Top-level domain (TLD): Mengindikasikan jenis atau lokasi organisasi (misal .com, .ac.id, .edu)
|
| 956 |
+
|
| 957 |
+
PENGENALAN HTML
|
| 958 |
+
|
| 959 |
+
Dokumen HTML dibuka dengan <html> dan ditutup dengan </html>.
|
| 960 |
+
|
| 961 |
+
Terdiri dari dua bagian utama:
|
| 962 |
+
<head> berisi informasi metadata dan judul dokumen
|
| 963 |
+
<body> berisi isi yang ditampilkan pada browser
|
| 964 |
+
|
| 965 |
+
Setiap elemen HTML menggunakan pasangan tag: <tag>...</tag>
|
| 966 |
+
|
| 967 |
+
SEARCH ENGINE (MESIN PENCARI)
|
| 968 |
+
|
| 969 |
+
Website yang membantu pengguna menemukan informasi di Internet.
|
| 970 |
+
|
| 971 |
+
Contoh: Google, Bing, Yahoo, Altavista (lama)
|
| 972 |
+
|
| 973 |
+
Informasi dicari dengan memasukkan keyword (kata kunci).
|
| 974 |
+
|
| 975 |
+
TIPS PENGGUNAAN INTERNET
|
| 976 |
+
|
| 977 |
+
Gunakan kata kunci yang spesifik dan bervariasi.
|
| 978 |
+
|
| 979 |
+
Gunakan kalimat lengkap atau kutipan “...” untuk hasil lebih akurat.
|
| 980 |
+
|
| 981 |
+
Gunakan tanda:
|
| 982 |
+
|
| 983 |
+
+ untuk menambahkan keyword.
|
| 984 |
+
|
| 985 |
+
- untuk mengecualikan keyword.
|
| 986 |
+
|
| 987 |
+
Contoh: "kematian tokoh manga" +naruto
|
| 988 |
+
|
| 989 |
+
Untuk pencarian akademis, gunakan domain:
|
| 990 |
+
sch.xx untuk sekolah
|
| 991 |
+
ac.xx untuk perguruan tinggi
|
| 992 |
+
|
| 993 |
+
Untuk pencarian umum, gunakan Google.
|
| 994 |
+
|
| 995 |
+
Untuk pencarian khusus, lebih baik gunakan forum seperti Kaskus, Indowebster, Facebook group.
|
| 996 |
+
|
| 997 |
+
KETERAMPILAN PENCARIAN INFORMASI
|
| 998 |
+
|
| 999 |
+
Model dari SCONUL (1999) mencakup tujuh kemampuan informasi:
|
| 1000 |
+
1. Recognize Information: Menyadari kebutuhan akan informasi.
|
| 1001 |
+
2. Distinguish Ways of Addressing Gaps: Menentukan sumber informasi yang tepat.
|
| 1002 |
+
3. Construct Strategies for Locating: Menyusun strategi pencarian informasi.
|
| 1003 |
+
4. Locate and Access: Mengakses informasi dengan teknik tertentu.
|
| 1004 |
+
5. Compare and Evaluate: Membandingkan dan mengevaluasi informasi dari berbagai sumber.
|
| 1005 |
+
6. Organise, Apply, and Communicate: Mengorganisir dan menyampaikan informasi dengan tepat.
|
| 1006 |
+
7. Synthesize and Create: Mensintesis informasi untuk menghasilkan pengetahuan baru.
|
| 1007 |
+
|
| 1008 |
+
Telekomunikasi dan Jaringan
|
| 1009 |
+
|
| 1010 |
+
TEKNOLOGI TELEKOMUNIKASI
|
| 1011 |
+
|
| 1012 |
+
Teknologi telekomunikasi adalah teknologi yang digunakan untuk melakukan komunikasi jarak jauh. Dengan teknologi ini, seseorang dapat mengirim dan menerima informasi dari orang lain yang berada di lokasi yang berbeda. Contoh aplikasi yang menggunakan teknologi telekomunikasi antara lain:
|
| 1013 |
+
|
| 1014 |
+
ATM (Automated Teller Machine): untuk transaksi keuangan jarak jauh.
|
| 1015 |
+
|
| 1016 |
+
Telecommuting: bekerja dari rumah dengan bantuan jaringan.
|
| 1017 |
+
|
| 1018 |
+
Teleconference: rapat jarak jauh menggunakan audio dan/atau video.
|
| 1019 |
+
|
| 1020 |
+
Workgroup Computing: kolaborasi tim melalui jaringan komputer.
|
| 1021 |
+
|
| 1022 |
+
EDI (Electronic Data Interchange): pertukaran dokumen bisnis secara elektronik antar organisasi.
|
| 1023 |
+
|
| 1024 |
+
SISTEM KOMUNIKASI DATA
|
| 1025 |
+
|
| 1026 |
+
Komunikasi data merupakan bagian dari teknologi telekomunikasi yang fokus pada perpindahan data atau informasi dalam bentuk digital dari satu perangkat ke perangkat lainnya. Sistem ini memungkinkan komputer saling terhubung dan bertukar data melalui saluran komunikasi seperti kabel atau jaringan telepon.
|
| 1027 |
+
|
| 1028 |
+
PENGIRIMAN DATA MELALUI MEDIA KOMUNIKASI
|
| 1029 |
+
|
| 1030 |
+
Dalam sistem telekomunikasi, data dapat dikirim melalui dua jenis sinyal:
|
| 1031 |
+
|
| 1032 |
+
Sinyal Analog: berbentuk gelombang kontinu, digunakan dalam listrik dan jaringan telepon konvensional.
|
| 1033 |
+
|
| 1034 |
+
Sinyal Digital: terdiri dari dua kondisi (0 dan 1), umum dalam pertukaran data komputer.
|
| 1035 |
+
|
| 1036 |
+
Karena komputer menggunakan sinyal digital, sedangkan jaringan telepon tradisional bekerja dengan sinyal analog, maka diperlukan alat yang disebut modem (modulator-demodulator) untuk mengubah sinyal digital menjadi analog dan sebaliknya.
|
| 1037 |
+
|
| 1038 |
+
Jenis-jenis modem:
|
| 1039 |
+
|
| 1040 |
+
Modem Eksternal: perangkat terpisah dari komputer.
|
| 1041 |
+
|
| 1042 |
+
Modem Internal: terpasang langsung di dalam komputer.
|
| 1043 |
+
|
| 1044 |
+
ARAH TRANSMISI DATA
|
| 1045 |
+
Dalam komunikasi data, arah aliran sinyal dapat diklasifikasikan menjadi:
|
| 1046 |
+
|
| 1047 |
+
Simplex: transmisi satu arah saja. Contoh: siaran televisi.
|
| 1048 |
+
|
| 1049 |
+
Half Duplex: transmisi dua arah secara bergantian. Contoh: walkie-talkie.
|
| 1050 |
+
|
| 1051 |
+
Full Duplex: transmisi dua arah secara bersamaan. Contoh: panggilan telepon.
|
| 1052 |
+
|
| 1053 |
+
JARINGAN KOMPUTER
|
| 1054 |
+
|
| 1055 |
+
Jaringan komputer adalah sekumpulan komputer otonom yang saling terhubung dan dapat saling bertukar data melalui media komunikasi dengan menggunakan protokol tertentu. Tujuannya adalah untuk memungkinkan pengguna berbagi sumber daya (hardware, software, data) dan melakukan komunikasi secara elektronik.
|
| 1056 |
+
|
| 1057 |
+
Tujuan penggunaan jaringan komputer:
|
| 1058 |
+
|
| 1059 |
+
Menyampaikan informasi secara akurat dari pengirim ke penerima.
|
| 1060 |
+
|
| 1061 |
+
Manfaat jaringan komputer:
|
| 1062 |
+
|
| 1063 |
+
Berbagi sumber daya (sharing resources).
|
| 1064 |
+
Sarana komunikasi.
|
| 1065 |
+
Integrasi data.
|
| 1066 |
+
Mendukung pengembangan dan pemeliharaan sistem.
|
| 1067 |
+
Menjaga keamanan data.
|
| 1068 |
+
Efisiensi dan ketersediaan informasi terkini.
|
| 1069 |
+
|
| 1070 |
+
SERVER JARINGAN (NETWORK SERVER)
|
| 1071 |
+
|
| 1072 |
+
Server berfungsi sebagai pengelola sumber daya jaringan.
|
| 1073 |
+
|
| 1074 |
+
Contohnya:
|
| 1075 |
+
Web Server: menyimpan dan melayani permintaan halaman web.
|
| 1076 |
+
File Server: melayani permintaan file dari client.
|
| 1077 |
+
Print Server: mengatur penggunaan printer bersama.
|
| 1078 |
+
Email Server: menangani pengiriman dan penerimaan email.
|
| 1079 |
+
|
| 1080 |
+
Komputer dikatakan online jika terhubung ke jaringan dan dapat mengirim serta menerima data.
|
| 1081 |
+
|
| 1082 |
+
KOMPONEN DALAM KOMUNIKASI DATA
|
| 1083 |
+
|
| 1084 |
+
Komunikasi data terdiri atas beberapa komponen utama:
|
| 1085 |
+
Komputer pengirim (host)
|
| 1086 |
+
Komputer penerima (receiver)
|
| 1087 |
+
Data yang ditransmisikan
|
| 1088 |
+
Protokol komunikasi sebagai aturan pertukaran data
|
| 1089 |
+
|
| 1090 |
+
KLASIFIKASI JARINGAN KOMPUTER
|
| 1091 |
+
|
| 1092 |
+
Jaringan komputer diklasifikasikan berdasarkan beberapa aspek:
|
| 1093 |
+
|
| 1094 |
+
a. Berdasarkan cakupan geografis:
|
| 1095 |
+
LAN (Local Area Network): jaringan lokal dalam satu gedung atau area terbatas.
|
| 1096 |
+
|
| 1097 |
+
MAN (Metropolitan Area Network): mencakup satu kota atau wilayah menengah.
|
| 1098 |
+
|
| 1099 |
+
WAN (Wide Area Network): mencakup area geografis yang luas, antar kota/negara.
|
| 1100 |
+
|
| 1101 |
+
b. Berdasarkan struktur organisasi:
|
| 1102 |
+
Client-Server: terdiri dari client yang meminta layanan dan server yang memberikan layanan.
|
| 1103 |
+
|
| 1104 |
+
Peer-to-Peer (P2P): semua komputer setara, tidak ada server pusat, cocok untuk skala kecil.
|
| 1105 |
+
|
| 1106 |
+
c. Berdasarkan topologi fisik:
|
| 1107 |
+
Topologi Star (Bintang): semua perangkat terhubung ke satu titik pusat (hub/switch).
|
| 1108 |
+
Topologi Ring (Cincin): perangkat membentuk lingkaran tertutup.
|
| 1109 |
+
Topologi Bus: semua perangkat terhubung dalam satu jalur kabel utama.
|
| 1110 |
+
Topologi Tree (Pohon): gabungan topologi bintang dan bus.
|
| 1111 |
+
Topologi Mesh: setiap perangkat terhubung langsung ke perangkat lain.
|
| 1112 |
+
|
| 1113 |
+
d. Berdasarkan media transmisi:
|
| 1114 |
+
Kabel twisted pair, kabel coaxial, serat optik, gelombang mikro, satelit, dll.
|
| 1115 |
+
|
| 1116 |
+
TOPOLOGI
|
| 1117 |
+
|
| 1118 |
+
1. Topologi Star (Bintang)
|
| 1119 |
+
Struktur: Semua perangkat (komputer, printer, dll.) terhubung ke satu perangkat pusat seperti hub atau switch.
|
| 1120 |
+
|
| 1121 |
+
Kelebihan:
|
| 1122 |
+
Jika satu kabel perangkat rusak, tidak mengganggu jaringan lainnya.
|
| 1123 |
+
Mudah dalam penambahan perangkat baru.
|
| 1124 |
+
Mudah dideteksi jika terjadi kerusakan.
|
| 1125 |
+
|
| 1126 |
+
Kekurangan:
|
| 1127 |
+
Jika hub/switch pusat rusak, seluruh jaringan akan terhenti.
|
| 1128 |
+
Membutuhkan lebih banyak kabel dibandingkan topologi lain.
|
| 1129 |
+
|
| 1130 |
+
2. Topologi Ring (Cincin)
|
| 1131 |
+
Struktur: Setiap perangkat terhubung ke dua perangkat lain, membentuk jalur lingkaran tertutup. Data mengalir dalam satu arah (unidirectional) atau dua arah (bidirectional).
|
| 1132 |
+
|
| 1133 |
+
Kelebihan:
|
| 1134 |
+
Mudah diprediksi aliran data karena berjalan searah.
|
| 1135 |
+
Tidak terjadi tabrakan data (collision).
|
| 1136 |
+
|
| 1137 |
+
Kekurangan:
|
| 1138 |
+
Jika satu perangkat atau koneksi terputus, seluruh jaringan bisa gagal.
|
| 1139 |
+
Sulit menambah atau menghapus perangkat tanpa mengganggu jaringan.
|
| 1140 |
+
|
| 1141 |
+
3. Topologi Bus
|
| 1142 |
+
Struktur: Semua perangkat dihubungkan ke satu kabel utama (backbone).
|
| 1143 |
+
|
| 1144 |
+
Kelebihan:
|
| 1145 |
+
Hemat kabel dan biaya instalasi.
|
| 1146 |
+
Mudah diimplementasikan untuk jaringan kecil.
|
| 1147 |
+
|
| 1148 |
+
Kekurangan:
|
| 1149 |
+
Jika kabel utama putus, seluruh jaringan terganggu.
|
| 1150 |
+
Kinerja menurun jika terlalu banyak perangkat yang terhubung.
|
| 1151 |
+
Sulit mendeteksi kerusakan.
|
| 1152 |
+
|
| 1153 |
+
4. Topologi Tree (Pohon)
|
| 1154 |
+
Struktur: Gabungan dari topologi star dan bus. Terdapat satu kabel utama sebagai backbone, dan cabang-cabang yang menggunakan topologi star.
|
| 1155 |
+
|
| 1156 |
+
Kelebihan:
|
| 1157 |
+
Mendukung pengelompokan jaringan.
|
| 1158 |
+
Mudah diperluas sesuai kebutuhan.
|
| 1159 |
+
|
| 1160 |
+
Kekurangan:
|
| 1161 |
+
Jika backbone rusak, seluruh jaringan akan terpengaruh.
|
| 1162 |
+
Komplek dalam instalasi dan pengelolaan.
|
| 1163 |
+
|
| 1164 |
+
5. Topologi Mesh
|
| 1165 |
+
Struktur: Setiap perangkat terhubung langsung ke perangkat lainnya. Dalam bentuk full mesh, semua perangkat saling terhubung.
|
| 1166 |
+
|
| 1167 |
+
Kelebihan:
|
| 1168 |
+
Tahan terhadap gangguan. Jika satu jalur putus, masih ada jalur lain.
|
| 1169 |
+
Tingkat keandalan dan keamanan data sangat tinggi.
|
| 1170 |
+
|
| 1171 |
+
Kekurangan:
|
| 1172 |
+
Biaya tinggi karena membutuhkan banyak kabel dan port.
|
| 1173 |
+
Instalasi dan konfigurasi lebih rumit.
|
| 1174 |
+
|
| 1175 |
+
Multimedia
|
| 1176 |
+
|
| 1177 |
+
Multimedia berasal dari dua kata: multi (banyak) dan media (alat atau sarana). Secara umum, multimedia adalah penggunaan beberapa media untuk menyampaikan informasi. Informasi tersebut dapat disampaikan dalam berbagai bentuk, seperti:
|
| 1178 |
+
Teks
|
| 1179 |
+
Gambar
|
| 1180 |
+
Audio
|
| 1181 |
+
Video
|
| 1182 |
+
Animasi
|
| 1183 |
+
|
| 1184 |
+
Definisi Lain:
|
| 1185 |
+
|
| 1186 |
+
Menurut American Heritage Electronic Dictionary, media adalah alat untuk mendistribusikan dan mempresentasikan informasi. Jadi, multimedia merupakan kombinasi dari teks, suara, gambar, animasi, dan video yang dapat dimanipulasi secara digital serta bersifat interaktif melalui perangkat seperti komputer.
|
| 1187 |
+
|
| 1188 |
+
Multimedia Interaktif
|
| 1189 |
+
|
| 1190 |
+
Multimedia menjadi interaktif jika pengguna dapat:
|
| 1191 |
+
- Mengatur alur informasi.
|
| 1192 |
+
- Memilih tampilan menggunakan mouse, keyboard, atau layar sentuh (touchscreen).
|
| 1193 |
+
|
| 1194 |
+
JENIS-JENIS MULTIMEDIA
|
| 1195 |
+
|
| 1196 |
+
1. Multimedia Interaktif
|
| 1197 |
+
Pengguna dapat mengontrol elemen multimedia yang ditampilkan.
|
| 1198 |
+
Contoh: e-learning interaktif, aplikasi simulasi.
|
| 1199 |
+
|
| 1200 |
+
2. Multimedia Hiperaktif
|
| 1201 |
+
Terdapat struktur elemen dengan link (tautan) antar bagian.
|
| 1202 |
+
Pengguna bisa berpindah antar elemen menggunakan hyperlink (contoh: web interaktif).
|
| 1203 |
+
|
| 1204 |
+
3. Multimedia Linear
|
| 1205 |
+
Alur informasi berjalan dari awal hingga akhir tanpa interaksi pengguna.
|
| 1206 |
+
Contoh: film, video dokumenter.
|
| 1207 |
+
|
| 1208 |
+
PENTINGNYA MULTIMEDIA
|
| 1209 |
+
|
| 1210 |
+
- Sebagai alat promosi perusahaan.
|
| 1211 |
+
- Meningkatkan minat baca dan pemahaman dengan melibatkan banyak indera.
|
| 1212 |
+
- Membantu penyebaran informasi ke masyarakat luas, termasuk yang belum familiar dengan komputer.
|
| 1213 |
+
|
| 1214 |
+
ELEMEN MULTIMEDIA: TEKS
|
| 1215 |
+
|
| 1216 |
+
Karakteristik:
|
| 1217 |
+
Elemen paling dasar dan sering digunakan.
|
| 1218 |
+
Teks dapat dimodifikasi melalui:
|
| 1219 |
+
Jenis huruf (font)
|
| 1220 |
+
Ukuran dan warna
|
| 1221 |
+
Efek dan penempatan
|
| 1222 |
+
|
| 1223 |
+
Jenis Teks:
|
| 1224 |
+
1. Plain Text: Berbasis ASCII (tanpa pemformatan), misalnya file .txt.
|
| 1225 |
+
|
| 1226 |
+
2. Formatted Text: Memiliki gaya teks, misalnya .rtf, .docx.
|
| 1227 |
+
|
| 1228 |
+
3. Hypertext: Dapat di-link ke teks lain. Diperkenalkan oleh Ted Nelson (1965).
|
| 1229 |
+
Contoh Hypertext:
|
| 1230 |
+
HTML: Menyusun dan menampilkan konten web (Hypertext Markup Language).
|
| 1231 |
+
|
| 1232 |
+
4. XML: Menyimpan dan memproses data terstruktur dengan efisien (eXtensible Markup Language).
|
| 1233 |
+
|
| 1234 |
+
ELEMEN MULTIMEDIA: GRAFIK
|
| 1235 |
+
|
| 1236 |
+
Definisi:
|
| 1237 |
+
Grafik adalah representasi visual (gambar digital) dari data atau objek.
|
| 1238 |
+
|
| 1239 |
+
Format Gambar:
|
| 1240 |
+
BMP: Bitmap – kualitas tinggi, ukuran besar.
|
| 1241 |
+
TIFF: Umumnya untuk kebutuhan cetak.
|
| 1242 |
+
GIF: Mendukung animasi sederhana.
|
| 1243 |
+
JPG/JPEG: Kompresi tinggi, umum di web.
|
| 1244 |
+
WMF: Gambar berbasis vektor untuk Windows.
|
| 1245 |
+
|
| 1246 |
+
ELEMEN MULTIMEDIA: ANIMASI
|
| 1247 |
+
|
| 1248 |
+
Definisi:
|
| 1249 |
+
Animasi adalah serangkaian gambar yang ditampilkan secara berurutan untuk menciptakan efek gerakan.
|
| 1250 |
+
|
| 1251 |
+
Contoh Penggunaan:
|
| 1252 |
+
Page transitions
|
| 1253 |
+
GIF animasi
|
| 1254 |
+
Java applets
|
| 1255 |
+
Flash & Shockwave
|
| 1256 |
+
Juga bisa dikembangkan dengan JavaScript.
|
| 1257 |
+
|
| 1258 |
+
ELEMEN MULTIMEDIA: AUDIO
|
| 1259 |
+
|
| 1260 |
+
Definisi:
|
| 1261 |
+
Audio mencakup semua bentuk suara, seperti:
|
| 1262 |
+
Musik latar
|
| 1263 |
+
Percakapan
|
| 1264 |
+
Efek suara
|
| 1265 |
+
|
| 1266 |
+
Format Umum:
|
| 1267 |
+
MIDI (.mid): Instrumen musik digital
|
| 1268 |
+
WAV (.wav): Kualitas tinggi
|
| 1269 |
+
MP3 (.mp3): Kompresi musik populer
|
| 1270 |
+
WMA (.wma): Format audio dari Microsoft
|
| 1271 |
+
|
| 1272 |
+
ELEMEN MULTIMEDIA: VIDEO
|
| 1273 |
+
|
| 1274 |
+
Definisi:
|
| 1275 |
+
Video adalah rangkaian frame gambar bergerak yang bisa direkam dengan kamera dan diolah secara digital.
|
| 1276 |
+
|
| 1277 |
+
Format Umum:
|
| 1278 |
+
AVI: Video/audio standar Windows
|
| 1279 |
+
MPEG: Kualitas tinggi, ukuran relatif kecil
|
| 1280 |
+
MOV: Format video dari Apple
|
| 1281 |
+
|
| 1282 |
+
APLIKASI MULTIMEDIA
|
| 1283 |
+
|
| 1284 |
+
Non-Web:
|
| 1285 |
+
Presentasi bisnis
|
| 1286 |
+
Referensi digital
|
| 1287 |
+
Virtual Reality (VR)
|
| 1288 |
+
Pelatihan berbasis komputer (CBT)
|
| 1289 |
+
Edutainment
|
| 1290 |
+
Informasi via kiosk interaktif
|
| 1291 |
+
|
| 1292 |
+
Berbasis Web:
|
| 1293 |
+
Web-Based Training: Pembelajaran mandiri online
|
| 1294 |
+
Entertainment: Game online, streaming musik/video
|
| 1295 |
+
Virtual Reality Web: Menggunakan VRML (Virtual Reality Modeling Language)
|
| 1296 |
+
|
| 1297 |
+
MULTIMEDIA PRODUCTION
|
| 1298 |
+
|
| 1299 |
+
1. Perangkat Keras (Hardware):
|
| 1300 |
+
Capture: Kamera, mic, graphic tablet, VR tools.
|
| 1301 |
+
Penyimpanan: Harddisk, CD-ROM.
|
| 1302 |
+
Komunikasi: Internet, jaringan.
|
| 1303 |
+
Sistem Komputer: PC, workstation.
|
| 1304 |
+
Output: Monitor, printer, speaker.
|
| 1305 |
+
|
| 1306 |
+
2. Perangkat Lunak (Software):
|
| 1307 |
+
OS dan software pendukung (Adobe Premiere, Flash, dll).
|
| 1308 |
+
|
| 1309 |
+
3. Kreativitas & Organisasi:
|
| 1310 |
+
Ide kreatif sangat dibutuhkan untuk menyusun media menarik.
|
| 1311 |
+
|
| 1312 |
+
Perlu perencanaan dan organisasi yang baik.
|
| 1313 |
+
|
| 1314 |
+
PRINSIP DESAIN MULTIMEDIA
|
| 1315 |
+
|
| 1316 |
+
Aplikasi harus menarik dan menyenangkan.
|
| 1317 |
+
Konten harus terus diperbarui.
|
| 1318 |
+
Navigasi harus konsisten dan mudah digunakan.
|
| 1319 |
+
Harus ringan dan cepat dimuat di browser.
|
| 1320 |
+
Kompatibel dengan berbagai sistem, browser, dan perangkat.
|
| 1321 |
+
|
| 1322 |
+
MENENTUKAN OBJEKTIF & AUDIENS
|
| 1323 |
+
|
| 1324 |
+
Tampilan dan isi aplikasi harus disesuaikan dengan target pengguna.
|
| 1325 |
+
|
| 1326 |
+
Tujuan (objektif) yang jelas membantu menyusun isi dan media pendukung.
|
| 1327 |
+
|
| 1328 |
+
ALUR PENGEMBANGAN MULTIMEDIA
|
| 1329 |
+
|
| 1330 |
+
Alat Perencanaan:
|
| 1331 |
+
Flowchart: Menjelaskan hubungan antar halaman atau fitur.
|
| 1332 |
+
|
| 1333 |
+
Page Layout: Desain visual tiap halaman.
|
| 1334 |
+
|
| 1335 |
+
Storyboards: Gambaran kasar tiap layar dalam aplikasi.
|
| 1336 |
+
|
| 1337 |
+
PENGEMBANGAN ELEMEN MULTIMEDIA
|
| 1338 |
+
|
| 1339 |
+
Tools yang Digunakan:
|
| 1340 |
+
Grafik: Paint, Photoshop, Illustrator
|
| 1341 |
+
|
| 1342 |
+
Audio/Video: Audacity, Adobe Premiere, After Effects
|
| 1343 |
+
|
| 1344 |
+
Animasi: Blender, Flash, Maya
|
| 1345 |
+
|
| 1346 |
+
Authoring Software: Director, Toolbook, Dreamweaver (untuk web)
|
| 1347 |
+
|
| 1348 |
+
VIRTUAL REALITY (VR)
|
| 1349 |
+
|
| 1350 |
+
VR adalah teknologi yang mensimulasikan dunia nyata dalam bentuk digital 3D.
|
| 1351 |
+
|
| 1352 |
+
Umum digunakan di bidang:
|
| 1353 |
+
Arsitektur
|
| 1354 |
+
Medis
|
| 1355 |
+
Militer
|
| 1356 |
+
|
| 1357 |
+
Perangkat: VR headset, glove, motion walker, dll.
|
| 1358 |
+
|
| 1359 |
+
MORPHING
|
| 1360 |
+
|
| 1361 |
+
Teknik animasi untuk mengubah objek/gambar dari satu bentuk ke bentuk lain secara bertahap.
|
| 1362 |
+
|
| 1363 |
+
Digunakan dalam film, efek visual, hingga media edukasi.
|
| 1364 |
+
|
| 1365 |
+
E-Commerce/E-Business
|
| 1366 |
+
|
| 1367 |
+
APA ITU E-COMMERCE
|
| 1368 |
+
|
| 1369 |
+
Electronic Commerce (E-Commerce) adalah konsep baru yang menggambarkan proses jual beli barang atau jasa melalui internet. E-Commerce dapat dijelaskan sebagai transaksi finansial yang dijalankan secara elektronik melalui jaringan komputer.
|
| 1370 |
+
|
| 1371 |
+
E-Commerce mencakup semua aspek bisnis dan proses pemasaran yang dilakukan melalui internet dan teknologi web. Produk yang diperdagangkan melalui e-commerce meliputi:
|
| 1372 |
+
- Produk fisik seperti baju, sepatu, mobil, dll.
|
| 1373 |
+
- Produk digital seperti berita, musik, video, database, perangkat lunak (software), dll.
|
| 1374 |
+
- Jasa seperti konsultasi kesehatan secara online, pendidikan jarak jauh, dan layanan lainnya.
|
| 1375 |
+
|
| 1376 |
+
E-Commerce diklasifikasikan ke dalam beberapa model:
|
| 1377 |
+
1. B2C (Business-to-Consumer)
|
| 1378 |
+
2. B2B (Business-to-Business)
|
| 1379 |
+
3. B2G (Business-to-Government)
|
| 1380 |
+
4. C2C (Consumer-to-Consumer)
|
| 1381 |
+
|
| 1382 |
+
BUSINESS TO CONSUMER (B2C)
|
| 1383 |
+
|
| 1384 |
+
Model ini menggambarkan bisnis yang menjual barang dan jasa langsung kepada konsumen akhir (end user). B2C adalah model ritel di mana produk berpindah langsung dari perusahaan ke pelanggan tanpa melalui perantara.
|
| 1385 |
+
|
| 1386 |
+
Seiring berkembangnya internet, model B2C tidak hanya berlaku secara tradisional, namun juga dilakukan secara online. Perusahaan dapat membuka toko online (online shop) untuk menjangkau konsumen lebih luas, bahkan pelaku UMKM pun dapat berjualan melalui e-commerce.
|
| 1387 |
+
|
| 1388 |
+
Contoh e-commerce B2C:
|
| 1389 |
+
Shopee, Tokopedia, Amazon
|
| 1390 |
+
|
| 1391 |
+
Amazon.com: menjual pakaian, buku, dan berbagai barang ke konsumen akhir.
|
| 1392 |
+
|
| 1393 |
+
AirAsia.com: maskapai yang menawarkan pembelian tiket secara online.
|
| 1394 |
+
|
| 1395 |
+
Disney.com: menjual aksesoris dan mainan produksi mereka.
|
| 1396 |
+
|
| 1397 |
+
Tipe-Tipe Model B2C:
|
| 1398 |
+
Penjual Langsung
|
| 1399 |
+
Perusahaan atau individu menjual produk/jasa langsung ke pelanggan melalui platform online.
|
| 1400 |
+
Contoh: Thisisapril.com, Ikea.com
|
| 1401 |
+
|
| 1402 |
+
Perantara Online (Online Intermediary)
|
| 1403 |
+
Tidak memiliki produk sendiri, namun mendapat komisi dari transaksi.
|
| 1404 |
+
Contoh: Trivago.com, Etsy.com
|
| 1405 |
+
|
| 1406 |
+
Berbasis Iklan (Advertising-Based)
|
| 1407 |
+
Menghasilkan pendapatan dari iklan melalui konten yang menarik dan lalu lintas situs yang tinggi.
|
| 1408 |
+
Contoh: Situs berita atau media online.
|
| 1409 |
+
|
| 1410 |
+
Berbasis Komunitas (Community-Based)
|
| 1411 |
+
Memanfaatkan komunitas pengguna untuk memasarkan produk/jasa.
|
| 1412 |
+
Contoh: Facebook, Kaskus.
|
| 1413 |
+
|
| 1414 |
+
Berbasis Biaya (Fee-Based)
|
| 1415 |
+
Menawarkan konten eksklusif untuk pelanggan berbayar. Umumnya digunakan di sektor media.
|
| 1416 |
+
Contoh: Netflix.
|
| 1417 |
+
|
| 1418 |
+
BUSINESS TO BUSINESS (B2B)
|
| 1419 |
+
|
| 1420 |
+
Model B2B menggambarkan transaksi bisnis antarperusahaan. Ini mencakup pertukaran informasi bisnis antara dua organisasi, dan dikenal sebagai Inter-Organizational Information System (IOS).
|
| 1421 |
+
|
| 1422 |
+
Teknologi yang digunakan:
|
| 1423 |
+
Electronic Data Interchange (EDI)
|
| 1424 |
+
Electronic Fund Transfer (EFT)
|
| 1425 |
+
|
| 1426 |
+
Tujuan utama: memproses transaksi secara efisien, seperti pengiriman pesan, pembayaran, dan penagihan.
|
| 1427 |
+
|
| 1428 |
+
Contoh:
|
| 1429 |
+
Jika Anda menjalankan bisnis yang menjual bahan pakaian dan menjualnya ke toko-toko atau perusahaan fashion, itu termasuk dalam model B2B.
|
| 1430 |
+
|
| 1431 |
+
Perbedaan B2B vs B2C
|
| 1432 |
+
|
| 1433 |
+
1. Target Audiens
|
| 1434 |
+
B2B: Menargetkan pelaku bisnis atau reseller.
|
| 1435 |
+
B2C: Menargetkan konsumen individu atau kelompok kecil.
|
| 1436 |
+
|
| 1437 |
+
2. Jumlah Penjualan
|
| 1438 |
+
B2B: Biasanya dalam jumlah besar karena untuk keperluan bisnis.
|
| 1439 |
+
B2C: Biasanya dalam jumlah kecil untuk kebutuhan pribadi.
|
| 1440 |
+
|
| 1441 |
+
3. Hubungan Penjual dan Pembeli
|
| 1442 |
+
B2B: Lebih kompleks dan berlangsung jangka panjang, sering melibatkan kontrak dan negosiasi.
|
| 1443 |
+
B2C: Langsung dan sederhana, tanpa banyak proses perantara.
|
| 1444 |
+
|
| 1445 |
+
4. Tingkat Persaingan
|
| 1446 |
+
B2B: Relatif lebih rendah karena pasar lebih spesifik dan stabil.
|
| 1447 |
+
B2C: Tinggi dan sangat kompetitif karena pasar yang luas dan dinamis.
|
| 1448 |
+
|
| 1449 |
+
BUSINESS TO GOVERNMENT (B2G)
|
| 1450 |
+
|
| 1451 |
+
Model ini menggambarkan perusahaan yang menjual barang dan jasa kepada pemerintah. Model ini juga termasuk C2G (Consumer-to-Government), di mana konsumen melakukan pembayaran kepada pemerintah melalui e-commerce (misalnya pembayaran pajak, retribusi).
|
| 1452 |
+
|
| 1453 |
+
B2G merupakan turunan dari B2B dan dikenal sebagai pemasaran sektor publik, yang mencakup penggunaan strategi pemasaran digital seperti branding, iklan, dan komunikasi berbasis web.
|
| 1454 |
+
|
| 1455 |
+
CONSUMER TO CONSUMER (C2C)
|
| 1456 |
+
|
| 1457 |
+
Model ini melibatkan transaksi antar sesama konsumen. Biasanya berlaku dalam bentuk pelelangan atau penjualan barang pribadi milik konsumen kepada konsumen lainnya.
|
| 1458 |
+
|
| 1459 |
+
Contoh:
|
| 1460 |
+
Penjualan rumah, mobil bekas, atau barang second melalui platform marketplace seperti Bukalapak, Tokopedia, Shopee, BliBli, dan lainnya.
|
| 1461 |
+
|
| 1462 |
+
KEUNTUNGAN E-COMMERCE
|
| 1463 |
+
|
| 1464 |
+
Bagi Organisasi:
|
| 1465 |
+
- Mengurangi biaya operasional
|
| 1466 |
+
- Meningkatkan kepuasan pelanggan
|
| 1467 |
+
- Memberikan alat manajemen yang lebih efektif
|
| 1468 |
+
- Memiliki potensi untuk meningkatkan penjualan
|
| 1469 |
+
|
| 1470 |
+
Bagi Pelanggan:
|
| 1471 |
+
- Kenyamanan berbelanja dari rumah
|
| 1472 |
+
- Perbandingan harga lebih mudah
|
| 1473 |
+
- Lebih banyak pilihan produk
|
| 1474 |
+
- Potensi penghematan biaya
|
| 1475 |
+
|
| 1476 |
+
RISIKO DAN KETERBATASAN E-COMMERCE
|
| 1477 |
+
|
| 1478 |
+
1. Tekanan untuk selalu “buka” 24/7
|
| 1479 |
+
2. Pelanggan ragu berbelanja online
|
| 1480 |
+
3. Risiko penipuan pada transaksi kartu kredit
|
| 1481 |
+
4. Mudahnya pesaing baru masuk
|
| 1482 |
+
5. Tingkat kegagalan startup e-commerce tinggi
|
| 1483 |
+
6. Biaya tambahan bagi pelanggan untuk pengembalian barang
|
| 1484 |
+
|
| 1485 |
+
CUSTOMER RELATIONSHIP MANAGEMENT (CRM)
|
| 1486 |
+
|
| 1487 |
+
CRM adalah sistem layanan pelanggan yang dimiliki perusahaan untuk membangun hubungan jangka panjang dengan pelanggan, guna meningkatkan kepuasan dan loyalitas pelanggan. Saat ini, sebagian besar aktivitas CRM dilakukan melalui web.
|
| 1488 |
+
|
| 1489 |
+
SUPPLY CHAIN MANAGEMENT (SCM)
|
| 1490 |
+
|
| 1491 |
+
SCM adalah pengelolaan aliran informasi, material, dan keuangan dari pemasok ke pelanggan.
|
| 1492 |
+
|
| 1493 |
+
Value Chain Management: Proses memaksimalkan arus produk, jasa, dan informasi dari bahan mentah hingga pelanggan akhir.
|
| 1494 |
+
|
| 1495 |
+
Just-In-Time (JIT): Sistem untuk mengurangi limbah dan biaya penyimpanan barang.
|
| 1496 |
+
|
| 1497 |
+
MODEL BISNIS E-COMMERCE
|
| 1498 |
+
|
| 1499 |
+
Model bisnis e-commerce adalah seperangkat aturan, strategi, dan teknologi yang digunakan perusahaan untuk menghasilkan keuntungan melalui transaksi digital.
|
| 1500 |
+
|
| 1501 |
+
INTERMEDIARY HUBS
|
| 1502 |
+
|
| 1503 |
+
Model e-commerce yang mempertemukan pembeli dan penjual.
|
| 1504 |
+
|
| 1505 |
+
Vertical Hubs: Fokus pada satu industri tertentu
|
| 1506 |
+
|
| 1507 |
+
Horizontal Hubs: Menyediakan jenis produk/jasa yang sama di berbagai industri
|
| 1508 |
+
|
| 1509 |
+
JENIS WEBSITE E-COMMERCE
|
| 1510 |
+
|
| 1511 |
+
Website Produsen dan Pengecer
|
| 1512 |
+
E-Malls (Pusat perbelanjaan digital)
|
| 1513 |
+
|
| 1514 |
+
Situs Broker dan Pelelangan, seperti:
|
| 1515 |
+
Lelang Online
|
| 1516 |
+
Broker Keuangan
|
| 1517 |
+
Pasar Bursa
|
| 1518 |
+
|
| 1519 |
+
LANGKAH IMPLEMENTASI E-COMMERCE
|
| 1520 |
+
|
| 1521 |
+
1. Menentukan Model Bisnis dan Jenis Situs Web
|
| 1522 |
+
Pilih model bisnis yang sesuai (broker, pengecer, lelang, dll).
|
| 1523 |
+
2. Memilih Aplikasi E-Commerce/E-Business
|
| 1524 |
+
Contoh aplikasi: Online selling, EDI, ERP, SCM, CRM.
|
| 1525 |
+
3. Menentukan Cara Transaksi Keuangan
|
| 1526 |
+
Opsi: Kartu kredit, transfer online, smart card, dompet digital, dan pertimbangan transaksi B2B.
|
| 1527 |
+
4. Desain dan Pengembangan Website
|
| 1528 |
+
Desain harus user-friendly, cepat, dan aman.
|
| 1529 |
+
5. Strategi Penjualan dan Pemasaran
|
| 1530 |
+
Sertakan fitur layanan pelanggan, pajak, kebijakan privasi, domain, promosi, dan analitik (data warehousing & data mining).
|
| 1531 |
+
|
| 1532 |
+
ISU KEAMANAN (SECURITY ISSUES)
|
| 1533 |
+
|
| 1534 |
+
1. Transaksi keuangan harus aman
|
| 1535 |
+
2. Keamanan file dan dokumen penting
|
| 1536 |
+
3. Otentikasi terhadap mitra bisnis online
|
| 1537 |
+
|
| 1538 |
+
HAMBATAN E-COMMERCE DI INDONESIA
|
| 1539 |
+
|
| 1540 |
+
1. Akses internet belum merata di seluruh wilayah
|
| 1541 |
+
2. Sistem pengiriman yang belum sepenuhnya andal
|
| 1542 |
+
3. Budaya belanja konvensional masih dominan
|
| 1543 |
+
4. Kurangnya kepercayaan antara penjual dan pembeli
|
| 1544 |
+
5. Kebiasaan ingin melihat barang secara fisik
|
| 1545 |
+
6. Ancaman kejahatan digital
|
| 1546 |
+
7. Kartu kredit palsu, penipuan via SMS, dll
|
| 1547 |
+
8. Kurangnya regulasi yang melindungi konsumen dalam transaksi online
|
| 1548 |
+
|
| 1549 |
+
Pengembangan Sistem dan Sistem Informasi
|
| 1550 |
+
|
| 1551 |
+
PENGERTIAN SISTEM
|
| 1552 |
+
|
| 1553 |
+
Menurut Raymond McLeod, Jr (2004), "Sistem adalah elemen-elemen yang terintegrasi dengan maksud yang sama untuk mencapai tujuan."
|
| 1554 |
+
Menurut Jogiyanto H. M (2005), "Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu."
|
| 1555 |
+
|
| 1556 |
+
Dari pendapat para ahli di atas, pengertian umum mengenai sistem dapat dirinci sebagai berikut:
|
| 1557 |
+
- Suatu sistem terdiri dari sekumpulan elemen-elemen.
|
| 1558 |
+
- Elemen-elemen tersebut saling bekerja sama untuk mencapai tujuan sistem.
|
| 1559 |
+
- Suatu elemen yang telah ada merupakan bagian dari sistem lain yang lebih besar.
|
| 1560 |
+
|
| 1561 |
+
Dengan demikian, keberadaan suatu sistem dibentuk untuk menangani, mengatur, serta mengoordinasikan suatu kegiatan yang rutin terjadi. Sistem terdiri dari unsur-unsur seperti masukan (input), pengolahan (processing), serta keluaran (output).
|
| 1562 |
+
|
| 1563 |
+
KARAKTERISTIK SISTEM
|
| 1564 |
+
|
| 1565 |
+
a. Komponen sistem (subsistem): memiliki sifat-sifat sistem yang menjalankan fungsi tertentu dan memengaruhi proses sistem secara keseluruhan.
|
| 1566 |
+
b. Batasan sistem (boundary): ruang lingkup yang membatasi sistem dengan lingkungan luar.
|
| 1567 |
+
c. Lingkup luar sistem (environment): elemen eksternal yang memengaruhi operasi sistem.
|
| 1568 |
+
d. Penghubung sistem (interface): media yang menghubungkan antar subsistem dalam sistem.
|
| 1569 |
+
e. Masukan (input): segala sesuatu yang masuk ke dalam sistem untuk diproses.
|
| 1570 |
+
f. Pengolahan sistem (process): kegiatan yang mengubah masukan menjadi keluaran.
|
| 1571 |
+
g. Keluaran sistem (output): hasil akhir dari proses dalam sistem, berupa informasi atau produk.
|
| 1572 |
+
h. Sasaran sistem (objective): tujuan yang hendak dicapai sistem.
|
| 1573 |
+
|
| 1574 |
+
Contoh:
|
| 1575 |
+
Analisis sistem pengolahan data pasien pada Rumah Sakit ABC Medan:
|
| 1576 |
+
- Petugas administrasi melakukan pendaftaran pasien dan memberikan data pasien serta kartu rekam medis ke dokter.
|
| 1577 |
+
- Dokter memberikan resep kepada pasien.
|
| 1578 |
+
- Pasien menyerahkan resep ke kasir untuk melakukan transaksi pembayaran dan pengambilan obat. Kasir memberikan kuitansi dan salinan resep.
|
| 1579 |
+
- Petugas administrasi menyusun laporan data pasien dan laporan pembayaran untuk diserahkan kepada owner.
|
| 1580 |
+
|
| 1581 |
+
SISTEM INFORMASI
|
| 1582 |
+
|
| 1583 |
+
Informasi adalah data yang telah diolah menjadi bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau di masa mendatang (Davis, 1995).
|
| 1584 |
+
McLeod (1995) menyatakan bahwa informasi adalah data yang telah diproses atau data yang memiliki arti.
|
| 1585 |
+
Sistem Informasi Manajemen (SIM) didefinisikan sebagai alat untuk menyajikan informasi secara bermanfaat bagi penerimanya (Kertahadi, 1995). Tujuannya adalah untuk mendukung pengambilan keputusan dalam perencanaan, pengorganisasian, dan pengendalian kegiatan operasional organisasi (Murdick dan Ross, 1993).
|
| 1586 |
+
|
| 1587 |
+
ANALISIS SISTEM
|
| 1588 |
+
|
| 1589 |
+
- Analisis sistem adalah proses mendefinisikan kebutuhan yang berkaitan dengan sistem yang akan dikembangkan.
|
| 1590 |
+
- Hasil akhir dari tahap ini adalah dokumen spesifikasi kebutuhan sistem informasi (System Requirement Specification/SRS).
|
| 1591 |
+
- Melibatkan peninjauan sistem yang sedang berjalan, mengidentifikasi bagian yang baik dan kurang baik, serta mendokumentasikan kebutuhan baru.
|
| 1592 |
+
- Dalam banyak proyek, analisis dan desain berjalan bersamaan karena sering kali pengguna sulit mendefinisikan kebutuhannya sejak awal.
|
| 1593 |
+
- Memberikan pemahaman menyeluruh tentang sistem eksisting dan mencari peluang perbaikan.
|
| 1594 |
+
- Modifikasi sistem dapat berupa penambahan subsistem baru, komponen baru, atau transformasi proses.
|
| 1595 |
+
- Tujuan akhirnya adalah meningkatkan efisiensi sistem dan memenuhi kebutuhan bisnis secara optimal.
|
| 1596 |
+
|
| 1597 |
+
SISTEM ANALIS
|
| 1598 |
+
|
| 1599 |
+
Sistem analis adalah individu kunci dalam proses pengembangan sistem.
|
| 1600 |
+
Bertugas memahami masalah dan kebutuhan organisasi serta menentukan bagaimana orang, data, proses, komunikasi, dan teknologi informasi dapat meningkatkan kinerja bisnis.
|
| 1601 |
+
Bertanggung jawab atas proses analisis dan perancangan sistem informasi.
|
| 1602 |
+
|
| 1603 |
+
Tanggung jawab sistem analis:
|
| 1604 |
+
- Pengambilan data secara efektif dari sumber bisnis.
|
| 1605 |
+
- Mengelola aliran data ke dan dari komputer.
|
| 1606 |
+
- Pemrosesan dan penyimpanan data secara efisien.
|
| 1607 |
+
- Penyediaan informasi kembali ke proses bisnis dan pengguna.
|
| 1608 |
+
|
| 1609 |
+
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
|
| 1610 |
+
|
| 1611 |
+
Menurut Shalahuddin dan Sukamto (2013), SDLC adalah proses mengembangkan atau mengubah sistem perangkat lunak dengan model dan metodologi berbasis praktik terbaik.
|
| 1612 |
+
|
| 1613 |
+
SDLC mencakup:
|
| 1614 |
+
- Serangkaian aktivitas saat membangun sistem.
|
| 1615 |
+
- Dimulai dari identifikasi kebutuhan pengguna hingga verifikasi akhir.
|
| 1616 |
+
- Termasuk pemeliharaan sistem untuk memperbaiki kesalahan dan melakukan penyesuaian.
|
| 1617 |
+
|
| 1618 |
+
Dua pendekatan utama:
|
| 1619 |
+
1. Pendekatan prediktif: proyek direncanakan secara rinci sejak awal.
|
| 1620 |
+
2. Pendekatan adaptif: lebih fleksibel karena asumsi bahwa kebutuhan proyek tidak sepenuhnya diketahui dari awal.
|
| 1621 |
+
|
| 1622 |
+
Tujuan SDLC adalah mengakomodasi kebutuhan pengguna akhir serta menyelesaikan permasalahan dalam pengembangan perangkat lunak.
|
| 1623 |
+
|
| 1624 |
+
FASE SDLC
|
| 1625 |
+
|
| 1626 |
+
1. Perencanaan (Planning):
|
| 1627 |
+
- Mendefinisikan permasalahan dan ruang lingkup bisnis.
|
| 1628 |
+
- Menyusun rencana kerja dan studi kelayakan.
|
| 1629 |
+
- Mengelola sumber daya dan memulai proyek.
|
| 1630 |
+
|
| 1631 |
+
2. Analisis:
|
| 1632 |
+
- Mengumpulkan informasi dan memahami domain masalah.
|
| 1633 |
+
- Mendefinisikan kebutuhan sistem dan membuat prototipe.
|
| 1634 |
+
- Menentukan prioritas dan mengevaluasi solusi.
|
| 1635 |
+
|
| 1636 |
+
3. Desain:
|
| 1637 |
+
- Mendesain jaringan, arsitektur aplikasi, antarmuka pengguna, dan sistem.
|
| 1638 |
+
- Mengintegrasikan database dan membuat desain rinci.
|
| 1639 |
+
|
| 1640 |
+
4. Implementasi:
|
| 1641 |
+
- Menginstal komponen perangkat lunak.
|
| 1642 |
+
- Melakukan pengujian, konversi data, pelatihan pengguna, dan instalasi.
|
| 1643 |
+
|
| 1644 |
+
5. Dukungan (Support):
|
| 1645 |
+
- Pemeliharaan sistem (patching, perbaikan, pembaruan).
|
| 1646 |
+
- Pengembangan lanjutan dan bantuan kepada pengguna (help desk).
|
| 1647 |
+
|
| 1648 |
+
METODOLOGI PENGEMBANGAN SISTEM
|
| 1649 |
+
|
| 1650 |
+
- Merupakan pendekatan formal dalam mengimplementasikan SDLC.
|
| 1651 |
+
- Banyak metodologi tersedia, masing-masing menekankan fase SDLC tertentu.
|
| 1652 |
+
- Pengkategorian bisa dilakukan berdasarkan fokus: proses bisnis atau data.
|
| 1653 |
+
|
| 1654 |
+
Kriteria metodologi:
|
| 1655 |
+
- Structured Design
|
| 1656 |
+
- RAD (Rapid Application Development)
|
| 1657 |
+
- Agile Development
|
| 1658 |
+
|
| 1659 |
+
STRUCTURED DESIGN
|
| 1660 |
+
|
| 1661 |
+
1. Waterfall Development:
|
| 1662 |
+
- Proses berurutan dari requirement, analisis, desain, implementasi, pengujian, hingga dukungan.
|
| 1663 |
+
- Cocok untuk proyek dengan spesifikasi yang stabil.
|
| 1664 |
+
|
| 1665 |
+
2. Parallel Development:
|
| 1666 |
+
Prosesnya mirip Waterfall, namun fase desain dan implementasi dilakukan paralel.
|
| 1667 |
+
|
| 1668 |
+
RAPID APPLICATION DEVELOPMENT (RAD)
|
| 1669 |
+
|
| 1670 |
+
1. Phased Development:
|
| 1671 |
+
Sistem dibagi menjadi beberapa versi yang diselesaikan secara bertahap.
|
| 1672 |
+
|
| 1673 |
+
2. Prototyping:
|
| 1674 |
+
Analisis, desain, dan implementasi dilakukan bersamaan. Prototipe dibuat dan diperbaiki berdasarkan masukan pengguna.
|
| 1675 |
+
|
| 1676 |
+
3. Throwaway Prototyping:
|
| 1677 |
+
Mirip prototyping, namun analisis dilakukan lebih mendalam sebelum pembuatan sistem final.
|
| 1678 |
+
|
| 1679 |
+
AGILE DEVELOPMENT
|
| 1680 |
+
|
| 1681 |
+
1. Extreme Programming (XP):
|
| 1682 |
+
- Pendekatan praktis dan cepat, berfokus pada coding.
|
| 1683 |
+
- Analisis, desain, dan implementasi dilakukan secara simultan.
|
| 1684 |
+
- Responsif terhadap perubahan kebutuhan pelanggan.
|
| 1685 |
+
|
| 1686 |
+
BERBAGAI PERAN DALAM PENGEMBANGAN SISTEM
|
| 1687 |
+
|
| 1688 |
+
1. Business Analyst:
|
| 1689 |
+
Menganalisis kebutuhan bisnis dan merancang kebijakan baru.
|
| 1690 |
+
|
| 1691 |
+
2. System Analyst:
|
| 1692 |
+
- Menentukan bagaimana teknologi meningkatkan proses bisnis.
|
| 1693 |
+
- Merancang dan mengevaluasi sistem informasi.
|
| 1694 |
+
|
| 1695 |
+
3. Infrastructure Analyst:
|
| 1696 |
+
- Memastikan kesesuaian sistem dengan standar infrastruktur.
|
| 1697 |
+
- Mengidentifikasi kebutuhan infrastruktur tambahan.
|
| 1698 |
+
|
| 1699 |
+
4. Change Management Analyst:
|
| 1700 |
+
Mengelola perubahan dan pelatihan pengguna.
|
| 1701 |
+
|
| 1702 |
+
5. Project Manager:
|
| 1703 |
+
- Memimpin tim proyek dan bertanggung jawab atas pelaksanaan proyek.
|
| 1704 |
+
- Mengelola sumber daya dan menjadi penghubung utama.
|
| 1705 |
+
|
| 1706 |
+
6. UI/UX Designer:
|
| 1707 |
+
- UX Designer memastikan pengalaman pengguna yang nyaman.
|
| 1708 |
+
- UI Designer membuat layout kasar antarmuka untuk frontend developer.
|
| 1709 |
+
|
| 1710 |
+
7. Quality Assurance (QA):
|
| 1711 |
+
- Menjamin kualitas sistem dengan pengujian.
|
| 1712 |
+
- Mengatasi bug dan mendokumentasikan hasil pengujian.
|
| 1713 |
+
|
| 1714 |
+
PENGENALAN DATABASE
|
| 1715 |
+
|
| 1716 |
+
Database adalah kumpulan data yang diolah dan diorganisasikan sedemikian rupa sehingga terbentuk relasi antara data-data tersebut. Database dapat digunakan secara bersama-sama oleh beberapa pengguna atau aplikasi.
|
| 1717 |
+
|
| 1718 |
+
Data adalah sekumpulan lambang atau simbol yang teratur dan mewakili suatu objek atau benda. Data dapat berupa catatan di atas kertas, buku, atau tersimpan sebagai file dalam basis data.
|
| 1719 |
+
Contoh: data identitas pegawai, transaksi pembelian, transaksi penjualan, dan sebagainya.
|
| 1720 |
+
|
| 1721 |
+
Informasi adalah hasil dari pengolahan data yang digunakan untuk pengambilan keputusan. Untuk memperoleh informasi, dibutuhkan data dan proses pengolahan data.
|
| 1722 |
+
Contoh: daftar pegawai berdasarkan unit kerja, rekapitulasi transaksi pembelian selama satu bulan.
|
| 1723 |
+
|
| 1724 |
+
KONSEP DASAR DATABASE
|
| 1725 |
+
|
| 1726 |
+
Database adalah susunan data operasional lengkap dari suatu organisasi atau perusahaan yang dikelola secara terintegrasi menggunakan metode tertentu, dan disimpan dengan bantuan komputer agar dapat menyediakan informasi yang dibutuhkan oleh pengguna.
|
| 1727 |
+
|
| 1728 |
+
Sistem Database adalah sistem penyusunan dan pengelolaan record menggunakan komputer untuk menyimpan dan memelihara data operasional lengkap dari organisasi/perusahaan sehingga dapat menyajikan informasi yang diperlukan pengguna dalam pengambilan keputusan.
|
| 1729 |
+
|
| 1730 |
+
TIPE-TIPE DATABASE
|
| 1731 |
+
|
| 1732 |
+
Flat File Database
|
| 1733 |
+
Menyimpan seluruh informasi dalam satu file atau tempat. Sederhana dalam pembuatan, namun tidak efisien dalam penggunaannya.
|
| 1734 |
+
|
| 1735 |
+
Relational Database
|
| 1736 |
+
Terdiri dari banyak tabel yang saling berhubungan melalui relasi tertentu.
|
| 1737 |
+
|
| 1738 |
+
KOMPONEN SISTEM DATABASE
|
| 1739 |
+
|
| 1740 |
+
Terdapat empat komponen utama dalam sistem database:
|
| 1741 |
+
|
| 1742 |
+
A. Data
|
| 1743 |
+
Terintegrasi (Integrated): Data berasal dari berbagai aplikasi yang berbeda dan disusun dengan menghilangkan data ganda (redundansi).
|
| 1744 |
+
|
| 1745 |
+
Berbagi pakai (Shared): Data dapat diakses oleh berbagai pengguna atau aplikasi secara bersamaan.
|
| 1746 |
+
|
| 1747 |
+
B. Perangkat Keras (Hardware)
|
| 1748 |
+
Meliputi semua peralatan komputer untuk mengelola sistem database:
|
| 1749 |
+
Media penyimpanan (disk, drum, tape)
|
| 1750 |
+
Perangkat input dan output
|
| 1751 |
+
Peralatan komunikasi data
|
| 1752 |
+
|
| 1753 |
+
C. Perangkat Lunak (Software)
|
| 1754 |
+
Bertindak sebagai antarmuka antara pengguna dengan data secara fisik:
|
| 1755 |
+
DBMS (Database Management System)
|
| 1756 |
+
Program aplikasi dan prosedur
|
| 1757 |
+
|
| 1758 |
+
D. Pemakai (User)
|
| 1759 |
+
Database Administrator (DBA): Bertanggung jawab penuh terhadap pengelolaan sistem database.
|
| 1760 |
+
|
| 1761 |
+
Programmer: Membuat aplikasi yang mengakses database menggunakan bahasa pemrograman.
|
| 1762 |
+
|
| 1763 |
+
End-user: Pengguna yang mengakses database melalui aplikasi atau query language.
|
| 1764 |
+
|
| 1765 |
+
TIPE DATA DALAM SISTEM DATABASE
|
| 1766 |
+
|
| 1767 |
+
Data Operasional: Data yang disimpan dalam database.
|
| 1768 |
+
|
| 1769 |
+
Data Masukan (Input): Data dari luar sistem yang dimasukkan melalui perangkat input.
|
| 1770 |
+
|
| 1771 |
+
Data Keluaran (Output): Laporan yang dihasilkan dari proses pengolahan data operasional.
|
| 1772 |
+
|
| 1773 |
+
KEUNTUNGAN PENGGUNAAN SISTEM DATABASE
|
| 1774 |
+
|
| 1775 |
+
1. Terkontrolnya kerangkapan dan inkonsistensi data
|
| 1776 |
+
2. Pemeliharaan keselarasan data
|
| 1777 |
+
3. Data dapat digunakan bersama
|
| 1778 |
+
4. Mempermudah standarisasi
|
| 1779 |
+
5. Mendukung penerapan batasan keamanan
|
| 1780 |
+
6. Terjaganya integritas data
|
| 1781 |
+
7. Menyediakan data untuk berbagai kebutuhan aplikasi
|
| 1782 |
+
8. Program dan data bersifat independen
|
| 1783 |
+
|
| 1784 |
+
KERUGIAN SISTEM DATABASE
|
| 1785 |
+
|
| 1786 |
+
1. Biaya implementasi tinggi
|
| 1787 |
+
2. Kompleksitas sistem
|
| 1788 |
+
3. Penanganan backup dan recovery sulit
|
| 1789 |
+
4. Kerusakan sistem berdampak luas ke semua departemen
|
| 1790 |
+
|
| 1791 |
+
ISTILAH-ISTILAH DALAM SISTEM DATABASE
|
| 1792 |
+
|
| 1793 |
+
Enterprise: Organisasi atau lembaga yang menggunakan sistem database
|
| 1794 |
+
Contoh: Sekolah (data_mhs), Rumah Sakit (data_pasien)
|
| 1795 |
+
|
| 1796 |
+
Entitas: Objek yang dapat dibedakan satu sama lain
|
| 1797 |
+
Contoh: Mahasiswa, Buku Pembayaran, Pasien, Dokter
|
| 1798 |
+
|
| 1799 |
+
Atribut (Field): Ciri atau karakteristik dari entitas
|
| 1800 |
+
Contoh: NIM, Nama, Alamat
|
| 1801 |
+
|
| 1802 |
+
Data Value: Nilai aktual dari atribut
|
| 1803 |
+
Contoh: Nama = "Sutrisno", "Budiman"
|
| 1804 |
+
|
| 1805 |
+
Record (Tuple): Kumpulan atribut yang mewakili satu entitas secara lengkap
|
| 1806 |
+
Contoh: NIM, Nama, Alamat
|
| 1807 |
+
|
| 1808 |
+
File: Kumpulan record dengan struktur serupa namun isi (data value) berbeda
|
| 1809 |
+
|
| 1810 |
+
Kunci Data (Key): Identitas unik untuk membedakan setiap entitas dalam kumpulannya
|
| 1811 |
+
|
| 1812 |
+
TUJUAN PERANCANGAN DATABASE
|
| 1813 |
+
|
| 1814 |
+
1. Memenuhi kebutuhan informasi pengguna dan aplikasi
|
| 1815 |
+
2. Mempermudah pemahaman terhadap struktur informasi
|
| 1816 |
+
3. Mendukung efisiensi pemrosesan data dan penyimpanan
|
| 1817 |
+
|
| 1818 |
+
APLIKASI DATABASE DALAM SIKLUS HIDUP (LIFE CYCLE)
|
| 1819 |
+
|
| 1820 |
+
System Definition: Penentuan ruang lingkup sistem database, pengguna, dan aplikasinya
|
| 1821 |
+
|
| 1822 |
+
Database Design: Perancangan logis dan fisik database
|
| 1823 |
+
|
| 1824 |
+
Implementation: Pembuatan skema database dan pengembangan perangkat lunak
|
| 1825 |
+
|
| 1826 |
+
Loading & Data Conversion: Pengisian data awal dan penyesuaian format
|
| 1827 |
+
|
| 1828 |
+
Application Conversion: Penyesuaian aplikasi dengan sistem database baru
|
| 1829 |
+
|
| 1830 |
+
Testing & Validation: Pengujian sistem dengan data nyata
|
| 1831 |
+
|
| 1832 |
+
Monitoring & Maintenance: Pemantauan performa, tuning, dan pembaruan sistem
|
| 1833 |
+
|
| 1834 |
+
FASE-FASE PERANCANGAN DATABASE
|
| 1835 |
+
|
| 1836 |
+
1. Pengumpulan & Analisis Kebutuhan
|
| 1837 |
+
2. Identifikasi pemakai & aplikasinya
|
| 1838 |
+
3. Tinjauan dokumentasi
|
| 1839 |
+
4. Analisis sistem berjalan
|
| 1840 |
+
5. Wawancara & kuesioner
|
| 1841 |
+
6. Perancangan Konseptual
|
| 1842 |
+
7. Penyusunan skema konseptual
|
| 1843 |
+
8. Perancangan transaksi
|
| 1844 |
+
9. Pemilihan DBMS
|
| 1845 |
+
|
| 1846 |
+
Faktor Teknis: Model data, struktur penyimpanan, interface, bahasa query
|
| 1847 |
+
|
| 1848 |
+
Faktor Ekonomi & Organisasi: Biaya pengadaan, konversi sistem, personalia
|
| 1849 |
+
|
| 1850 |
+
DBMS (DATABASE MANAGEMENT SYSTEM)
|
| 1851 |
+
|
| 1852 |
+
DBMS adalah perangkat lunak yang mengelola database, termasuk:
|
| 1853 |
+
|
| 1854 |
+
Menentukan organisasi, penyimpanan, pengambilan, dan modifikasi data
|
| 1855 |
+
|
| 1856 |
+
Menyediakan keamanan, multi-user, dan keakuratan data
|
| 1857 |
+
|
| 1858 |
+
Contoh DBMS: dBase, MySQL, MS Access, SQL Server, Oracle, dsb.
|
| 1859 |
+
|
| 1860 |
+
KEUNTUNGAN DBMS
|
| 1861 |
+
|
| 1862 |
+
1. Mengurangi redundansi dan inkonsistensi
|
| 1863 |
+
2. Mempermudah akses data
|
| 1864 |
+
3. Isolasi dan standarisasi data
|
| 1865 |
+
4. Data independence (perubahan struktur tidak mengubah program)
|
| 1866 |
+
5. Mendukung multi-user secara bersamaan
|
| 1867 |
+
6. Keamanan melalui hak akses
|
| 1868 |
+
7. Menjamin integritas dengan penggunaan kunci data
|
| 1869 |
+
|
| 1870 |
+
KELEMAHAN DBMS
|
| 1871 |
+
|
| 1872 |
+
1. Kompleksitas tinggi
|
| 1873 |
+
2. Membutuhkan ruang penyimpanan besar
|
| 1874 |
+
3. Harga mahal untuk versi handal
|
| 1875 |
+
4. Perangkat keras dengan spesifikasi tinggi
|
| 1876 |
+
5. Biaya konversi dari sistem lama
|
| 1877 |
+
6. Risiko kegagalan sistem berdampak luas
|
| 1878 |
+
|
| 1879 |
+
ARSITEKTUR DATABASE
|
| 1880 |
+
|
| 1881 |
+
Tujuan arsitektur database adalah membuat sistem yang efisien dan mudah diakses tanpa pengguna mengetahui detail fisik data.
|
| 1882 |
+
|
| 1883 |
+
ANSI-SPARC mendefinisikan 3 level arsitektur database:
|
| 1884 |
+
Internal Schema: Menjelaskan struktur penyimpanan fisik
|
| 1885 |
+
|
| 1886 |
+
Conceptual Schema: Menjelaskan struktur keseluruhan database
|
| 1887 |
+
|
| 1888 |
+
External Schema (User View): Menampilkan bagian database untuk masing-masing kelompok pengguna
|
| 1889 |
+
|
| 1890 |
+
BAHASA DATABASE
|
| 1891 |
+
|
| 1892 |
+
DDL (Data Definition Language): Untuk mendefinisikan struktur database (skema konseptual & internal)
|
| 1893 |
+
|
| 1894 |
+
DML (Data Manipulation Language): Untuk manipulasi data
|
| 1895 |
+
|
| 1896 |
+
SQL (Structured Query Language): Bahasa standar untuk basis data relasional, menggabungkan DDL dan DML
|
| 1897 |
+
|
| 1898 |
+
MODEL BASIS DATA
|
| 1899 |
+
|
| 1900 |
+
1. Model Hirarkis
|
| 1901 |
+
- Struktur pohon (parent-child)
|
| 1902 |
+
- Setiap child hanya memiliki satu parent
|
| 1903 |
+
- Model Jaringan
|
| 1904 |
+
- Tidak memiliki root
|
| 1905 |
+
- Setiap child bisa memiliki lebih dari satu parent
|
| 1906 |
+
- Mendukung hubungan 1:1, 1:M, M:M
|
| 1907 |
+
|
| 1908 |
+
2. Model Relasional
|
| 1909 |
+
- Menggunakan tabel dua dimensi (baris dan kolom)
|
| 1910 |
+
- Kolom = atribut/field; baris = record
|
| 1911 |
+
- Hubungan antar tabel melalui kunci (key)
|
| 1912 |
+
|
| 1913 |
+
3. Model Berorientasi Objek
|
| 1914 |
+
- Menggunakan konsep objek dari pemrograman OOP
|
| 1915 |
+
- Data dan metode disimpan dalam satu unit objek
|
| 1916 |
+
|
| 1917 |
+
Pengembangan Bahasa Pemrograman
|
| 1918 |
+
|
| 1919 |
+
1. Analisis Masalah
|
| 1920 |
+
Analis sistem dan pemrogram meninjau spesifikasi sistem dan melakukan wawancara dengan pengguna (user) untuk memahami secara menyeluruh fungsi yang diharapkan dari perangkat lunak yang akan dikembangkan.
|
| 1921 |
+
|
| 1922 |
+
Dokumentasi sistem mencakup spesifikasi program, jadwal pelaksanaan, bahasa pemrograman yang akan digunakan, metode pengujian, dan jenis dokumentasi yang diperlukan.
|
| 1923 |
+
|
| 1924 |
+
2. Desain Program
|
| 1925 |
+
Spesifikasi program dikembangkan lebih lanjut menjadi desain program yang lengkap dan terstruktur.
|
| 1926 |
+
|
| 1927 |
+
Pendekatan umum dalam proses desain adalah structured programming (pemrograman terstruktur) dan object-oriented programming (pemrograman berorientasi objek).
|
| 1928 |
+
|
| 1929 |
+
3. Alat Bantu Desain Program (Program Design Tools)
|
| 1930 |
+
Structure charts
|
| 1931 |
+
|
| 1932 |
+
Program flowcharts
|
| 1933 |
+
Pseudocode
|
| 1934 |
+
Pemodelan data (data modeling)
|
| 1935 |
+
|
| 1936 |
+
4. Kriteria Desain Program yang Baik
|
| 1937 |
+
Spesifik dan jelas.
|
| 1938 |
+
|
| 1939 |
+
Mengikuti prinsip “one-entry-point, one-exit-point”.
|
| 1940 |
+
Menghindari penggunaan infinite loops (pengulangan tak terbatas).
|
| 1941 |
+
Dokumentasi menyeluruh mencakup semua spesifikasi desain program.
|
| 1942 |
+
|
| 1943 |
+
5. Pengkodean Program (Program Coding)
|
| 1944 |
+
Pengkodean adalah proses nyata dalam menulis program menggunakan bahasa pemrograman yang telah ditentukan.
|
| 1945 |
+
|
| 1946 |
+
Aspek penting:
|
| 1947 |
+
Pemilihan bahasa pemrograman yang sesuai.
|
| 1948 |
+
Kepatuhan terhadap standar pengkodean.
|
| 1949 |
+
Membuat reusable code dan menyusun kamus data.
|
| 1950 |
+
Mengompilasi program menjadi bentuk executable.
|
| 1951 |
+
Dokumentasi disertai hasil akhir berupa source code.
|
| 1952 |
+
|
| 1953 |
+
6. Debugging dan Pengujian Program
|
| 1954 |
+
Debugging adalah proses untuk menghilangkan kesalahan (error) dalam program.
|
| 1955 |
+
|
| 1956 |
+
Awalnya, sering ditemukan kesalahan syntax dan logika.
|
| 1957 |
+
|
| 1958 |
+
Pengujian terdiri atas:
|
| 1959 |
+
Pengujian Alfa: Dilakukan oleh pengembang.
|
| 1960 |
+
Pengujian Beta: Dilakukan oleh pengguna akhir.
|
| 1961 |
+
|
| 1962 |
+
Dokumentasi pengujian meliputi:
|
| 1963 |
+
Salinan kode program akhir.
|
| 1964 |
+
Data pengujian.
|
| 1965 |
+
Hasil pengujian.
|
| 1966 |
+
|
| 1967 |
+
7. Pemeliharaan Program (Program Maintenance)
|
| 1968 |
+
Pemeliharaan bertujuan untuk memperbarui dan mempertahankan keberfungsian program dalam jangka panjang.
|
| 1969 |
+
|
| 1970 |
+
Proses ini memerlukan biaya, tetapi memperpanjang umur pakai program.
|
| 1971 |
+
|
| 1972 |
+
Dokumentasi mencakup:
|
| 1973 |
+
|
| 1974 |
+
Versi program akhir.
|
| 1975 |
+
Masalah yang ditemukan.
|
| 1976 |
+
Perubahan yang dilakukan.
|
| 1977 |
+
|
| 1978 |
+
PENERAPAN TEKNOLOGI INFORMASI
|
| 1979 |
+
|
| 1980 |
+
Virtual Reality (VR) vs Augmented Reality (AR)
|
| 1981 |
+
Virtual Reality (VR)
|
| 1982 |
+
Kombinasi kata “virtual” (maya) dan “reality” (nyata).
|
| 1983 |
+
|
| 1984 |
+
Teknologi yang menciptakan lingkungan buatan tiga dimensi (3D) yang dapat berinteraksi dengan pengguna.
|
| 1985 |
+
|
| 1986 |
+
Memerlukan perangkat khusus seperti VR headset yang terhubung dengan PC atau laptop.
|
| 1987 |
+
|
| 1988 |
+
Augmented Reality (AR)
|
| 1989 |
+
Integrasi informasi digital dengan dunia nyata secara real-time.
|
| 1990 |
+
|
| 1991 |
+
Menambahkan objek virtual ke dalam lingkungan nyata menggunakan smartphone atau tablet.
|
| 1992 |
+
|
| 1993 |
+
Contoh populer: Pokemon Go.
|
| 1994 |
+
|
| 1995 |
+
Tidak memerlukan perangkat khusus seperti VR.
|
| 1996 |
+
|
| 1997 |
+
Perbandingan Prinsip VR dan AR
|
| 1998 |
+
VR: Menghadirkan pengguna ke dalam dunia virtual.
|
| 1999 |
+
|
| 2000 |
+
AR: Menghadirkan elemen virtual ke dalam dunia nyata pengguna.
|
| 2001 |
+
|
| 2002 |
+
Contoh Penerapan AR
|
| 2003 |
+
Bidang Medis: Sistem STAR (System for Telementoring with Augmented Reality) untuk membantu operasi dari jarak jauh.
|
| 2004 |
+
|
| 2005 |
+
Bidang Pertanian: AR membantu petani memeriksa tanah dan mendeteksi serangga/hama, bahkan membedakan antara hama yang merugikan dan yang menguntungkan.
|
| 2006 |
+
|
| 2007 |
+
INTERNET OF THINGS (IoT)
|
| 2008 |
+
|
| 2009 |
+
Pengertian IoT
|
| 2010 |
+
Secara singkat, IoT adalah konsep menghubungkan berbagai perangkat ke internet untuk memudahkan kehidupan dan meningkatkan efisiensi.
|
| 2011 |
+
|
| 2012 |
+
Perangkat yang biasa digunakan: peralatan rumah tangga, kendaraan, alat industri, dll.
|
| 2013 |
+
|
| 2014 |
+
Semua terhubung melalui jaringan internet dan dapat dikendalikan dari jarak jauh.
|
| 2015 |
+
|
| 2016 |
+
Penerapan IoT di Berbagai Bidang
|
| 2017 |
+
Smart Cities: Sensor untuk pemantauan kondisi kota secara real-time.
|
| 2018 |
+
|
| 2019 |
+
Smart Malls: Mendeteksi jumlah pengunjung, kepadatan, dan lama kunjungan.
|
| 2020 |
+
|
| 2021 |
+
Smart Traffic: Menganalisis lalu lintas dan kemacetan secara akurat.
|
| 2022 |
+
|
| 2023 |
+
Security and Emergencies: Meningkatkan keamanan dan respons darurat.
|
| 2024 |
+
|
| 2025 |
+
Retail: Pemantauan stok, pengiriman barang, dan sistem pembayaran otomatis.
|
| 2026 |
+
|
| 2027 |
+
Smart Agriculture: Deteksi kelembapan tanah, cuaca, suhu, dsb.
|
| 2028 |
+
|
| 2029 |
+
Smart Environment: Deteksi kebakaran hutan, gempa bumi, tsunami, dan polusi.
|
| 2030 |
+
|
| 2031 |
+
Banking Industry: ATM dan POS yang terhubung, efisiensi biaya dan peningkatan layanan.
|
| 2032 |
+
|
| 2033 |
+
ETIKA DI DALAM DUNIA KOMPUTER
|
| 2034 |
+
|
| 2035 |
+
Pengertian Etika
|
| 2036 |
+
Etika berasal dari bahasa Yunani ethos, berarti watak atau kebiasaan.
|
| 2037 |
+
|
| 2038 |
+
Dalam konteks teknologi informasi, etika adalah prinsip yang mengatur penggunaan teknologi secara bertanggung jawab dan bermoral.
|
| 2039 |
+
|
| 2040 |
+
Tujuan Mempelajari Etika
|
| 2041 |
+
Menyamakan persepsi tentang benar dan salah dalam konteks sosial dan waktu tertentu.
|
| 2042 |
+
|
| 2043 |
+
Menjadi pedoman dalam menghadapi berbagai pandangan moral.
|
| 2044 |
+
|
| 2045 |
+
Menghindari kehilangan arah akibat perubahan budaya, sosial, politik, dan ekonomi.
|
| 2046 |
+
|
| 2047 |
+
Melatih berpikir kritis terhadap berbagai ideologi.
|
| 2048 |
+
|
| 2049 |
+
Etika dalam Teknologi Informasi
|
| 2050 |
+
Teknologi informasi adalah aplikasi komputer dan komunikasi untuk memproses data.
|
| 2051 |
+
|
| 2052 |
+
Etika TI mencakup nilai-nilai dalam penggunaan teknologi tersebut secara benar.
|
| 2053 |
+
|
| 2054 |
+
Klasifikasi Masalah Etika Menurut Richard Mason :
|
| 2055 |
+
1. Privasi
|
| 2056 |
+
|
| 2057 |
+
2. Akurasi
|
| 2058 |
+
|
| 2059 |
+
3. Properti: Perlindungan kekayaan intelektual melalui HAKI:
|
| 2060 |
+
Hak Cipta
|
| 2061 |
+
Paten
|
| 2062 |
+
Rahasia Dagang
|
| 2063 |
+
|
| 2064 |
+
4. Akses
|
| 2065 |
+
|
| 2066 |
+
Isu Etika di Dunia Komputer
|
| 2067 |
+
|
| 2068 |
+
Internet dan e-commerce menimbulkan tantangan etika baru.
|
| 2069 |
+
|
| 2070 |
+
Perlunya standar kualitas sistem yang melindungi privasi individu dan masyarakat.
|
| 2071 |
+
|
| 2072 |
+
Menjaga nilai-nilai serta institusi penting dalam masyarakat informasi.
|
| 2073 |
+
|
| 2074 |
+
KEJAHATAN DALAM DUNIA KOMPUTER (Cybercrime)
|
| 2075 |
+
|
| 2076 |
+
Pengertian Cybercrime
|
| 2077 |
+
Menurut Gregory (2005): Cybercrime adalah kejahatan digital yang menggunakan komputer dan internet untuk menyerang sistem komputer lain.
|
| 2078 |
+
|
| 2079 |
+
Jenis-Jenis Kejahatan Komputer
|
| 2080 |
+
|
| 2081 |
+
Illegal Access: Akses tanpa izin ke sistem komputer.
|
| 2082 |
+
|
| 2083 |
+
Illegal Contents: Menyebarkan konten tidak sah, tidak etis, atau melanggar hukum.
|
| 2084 |
+
|
| 2085 |
+
Data Forgery: Pemalsuan data dalam dokumen digital, terutama e-commerce.
|
| 2086 |
+
|
| 2087 |
+
Cyber Spionase: Memata-matai sistem komputer pesaing bisnis.
|
| 2088 |
+
|
| 2089 |
+
Data Theft: Pencurian data secara ilegal, termasuk identity theft dan data leakage.
|
| 2090 |
+
|
| 2091 |
+
Misuse of Devices: Penyalahgunaan alat dan perangkat lunak komputer untuk melakukan kejahatan digital.
|
| 2092 |
+
|
| 2093 |
+
MASALAH PRIVASI DALAM TEKNOLOGI INFORMASI
|
| 2094 |
+
|
| 2095 |
+
1. Aspek Privasi
|
| 2096 |
+
Keleluasaan dan kendali atas data pribadi.
|
| 2097 |
+
|
| 2098 |
+
Isu utama:
|
| 2099 |
+
- Informasi pribadi apa yang boleh dibagikan.
|
| 2100 |
+
- Apakah informasi tersebut aman dari akses pihak tidak berwenang.
|
| 2101 |
+
|
| 2102 |
+
2. Implikasi Sosial
|
| 2103 |
+
Gangguan seperti spamming, stalking, dan pelacakan perilaku pengguna.
|
| 2104 |
+
Cookies yang digunakan tanpa persetujuan jelas.
|
| 2105 |
+
|
| 2106 |
+
3. Perlindungan Privasi Universal
|
| 2107 |
+
Informasi pribadi hanya boleh digunakan sesuai tujuan awal pengumpulannya.
|
| 2108 |
+
Pengguna harus diberi tahu tentang tujuan penggunaan datanya.
|
data/WebSemantik.txt
ADDED
|
@@ -0,0 +1,801 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Apa itu Web Semantik?
|
| 2 |
+
|
| 3 |
+
Pada tahun 1989, hampir tidak ada yang membayangkan adanya suatu ruang informasi global di mana semua data dari berbagai komputer, format, dan jaringan bisa saling terhubung. Namun, satu orang melihat potensi itu: Sir Tim Berners-Lee, pencipta World Wide Web. Saat itu di CERN, ia sedang membangun visinya mengenai Web, yang intinya adalah segala sesuatu dapat saling terhubung.
|
| 4 |
+
Inovasi utama dari Web pertama bagi pengguna akhir adalah hyperlink, yang memungkinkan dokumen saling terhubung secara langsung. Cukup dengan satu klik, pengguna bisa berpindah dari satu dokumen ke dokumen lain, bahkan jika disimpan di komputer dan jaringan yang berbeda di belahan dunia lain.
|
| 5 |
+
|
| 6 |
+
Evolusi Web
|
| 7 |
+
|
| 8 |
+
Web 1.0 – Web yang Bersifat Read-Only
|
| 9 |
+
Merupakan generasi awal Web, di mana halaman hanya disajikan dalam bentuk HTML statis.
|
| 10 |
+
Interaksi pengguna sangat terbatas; pengguna hanya dapat membaca konten tanpa kontribusi atau kolaborasi.
|
| 11 |
+
Contoh: cnn.com dan bhinneka.com pada masa awal.
|
| 12 |
+
|
| 13 |
+
Web 2.0 – Web sebagai Platform Kolaboratif
|
| 14 |
+
Munculnya layanan interaktif seperti media sosial, wiki, dan blog.
|
| 15 |
+
Menekankan kolaborasi dan partisipasi aktif dari pengguna dalam menciptakan dan membagikan konten.
|
| 16 |
+
|
| 17 |
+
Web 3.0 – Web Semantik
|
| 18 |
+
Evolusi lanjutan yang memungkinkan data antar sumber saling terhubung dan dipahami oleh mesin.
|
| 19 |
+
Web menjadi lebih cerdas dalam menyajikan informasi yang relevan dan kontekstual untuk manusia melalui pemrosesan otomatis oleh komputer.
|
| 20 |
+
|
| 21 |
+
Tujuan Web Semantik
|
| 22 |
+
|
| 23 |
+
Menurut Tim Berners-Lee, tujuan utama Web Semantik adalah membantu komputer memahami dan memproses informasi agar bisa dimanfaatkan secara lebih efektif oleh manusia.
|
| 24 |
+
Dalam konteks ini:
|
| 25 |
+
|
| 26 |
+
"Semantik" mengacu pada makna atau informasi yang bisa dipahami oleh mesin.
|
| 27 |
+
|
| 28 |
+
"Web" tetap merujuk pada ruang informasi yang saling terhubung, dengan masing-masing sumber diwakili oleh URI (Uniform Resource Identifier).
|
| 29 |
+
|
| 30 |
+
Fungsi yang Didukung Web Semantik:
|
| 31 |
+
Penalaran (reasoning)
|
| 32 |
+
|
| 33 |
+
Perencanaan (planning)
|
| 34 |
+
|
| 35 |
+
Pengambilan keputusan (acting)
|
| 36 |
+
|
| 37 |
+
Automatisasi pemrosesan data
|
| 38 |
+
|
| 39 |
+
Kenapa Web Semantik Diperlukan?
|
| 40 |
+
|
| 41 |
+
Web saat ini menghadapi tantangan karena volume informasi yang besar, yang menyebabkan:
|
| 42 |
+
|
| 43 |
+
Kesulitan dalam menemukan dokumen yang relevan
|
| 44 |
+
|
| 45 |
+
Sulitnya mengekstrak data penting dari dokumen
|
| 46 |
+
|
| 47 |
+
Tantangan menggabungkan informasi dari berbagai sumber
|
| 48 |
+
|
| 49 |
+
Web yang ada sekarang hanya menyajikan teks dan gambar, yang cocok untuk manusia, tetapi tidak bisa dipahami oleh mesin. Mesin hanya dapat melakukan indeksasi kata kunci dan pengiriman data, sementara pemrosesan cerdas dilakukan oleh manusia. Web Semantik ingin mengubah hal ini dengan membuat data di web dapat dimengerti dan diproses oleh mesin.
|
| 50 |
+
|
| 51 |
+
Perbedaan Web Konvensional dan Web Semantik
|
| 52 |
+
|
| 53 |
+
Web Konvensional:
|
| 54 |
+
Dokumen web (untuk manusia)
|
| 55 |
+
Membaca dan menampilkan
|
| 56 |
+
Teks dan gambar
|
| 57 |
+
|
| 58 |
+
Web Semantik:
|
| 59 |
+
Data web (untuk mesin)
|
| 60 |
+
Pemrosesan dan integrasi data
|
| 61 |
+
Struktur data terbuka, bisa dibaca mesin
|
| 62 |
+
|
| 63 |
+
Prinsip Desain Web Semantik
|
| 64 |
+
|
| 65 |
+
Web Semantik dibangun dengan prinsip:
|
| 66 |
+
|
| 67 |
+
Membuka data terstruktur dan semi-terstruktur dalam format standar di Web.
|
| 68 |
+
|
| 69 |
+
Menyediakan akses tidak hanya pada kumpulan data, tetapi juga pada elemen data individual beserta hubungannya.
|
| 70 |
+
|
| 71 |
+
Menggambarkan makna (semantik) data secara eksplisit menggunakan formalisme yang dapat diproses mesin.
|
| 72 |
+
|
| 73 |
+
Teknologi Dasar Web Semantik
|
| 74 |
+
|
| 75 |
+
1. Labeled Graphs :
|
| 76 |
+
Data dimodelkan sebagai grafik berlabel, di mana objek menjadi simpul, dan hubungan antar objek direpresentasikan sebagai sisi graf.
|
| 77 |
+
Digunakan RDF (Resource Description Framework) untuk memodelkan metadata.
|
| 78 |
+
|
| 79 |
+
2. Web Identifiers :
|
| 80 |
+
Menggunakan URI untuk mengidentifikasi setiap item data dan hubungannya.
|
| 81 |
+
|
| 82 |
+
3. Ontologies Web :
|
| 83 |
+
Ontologi adalah struktur hirarkis dari tipe data dan relasinya, yang merepresentasikan makna secara formal.
|
| 84 |
+
Digunakan untuk menjelaskan konteks dan makna data dalam skema formal, seperti RDF Schema dan OWL (Web Ontology Language).
|
| 85 |
+
|
| 86 |
+
RDF dan OWL bukan hanya bahasa deskripsi, tapi juga bahasa representasi pengetahuan yang memungkinkan mesin melakukan inferensi dari data eksplisit.
|
| 87 |
+
|
| 88 |
+
Standarisasi Web Semantik
|
| 89 |
+
|
| 90 |
+
Agar data web bisa diproses secara universal, Web Semantik memanfaatkan standar terbuka, mirip seperti HTML di Web konvensional. Dengan demikian:
|
| 91 |
+
|
| 92 |
+
- Data bisa dicari, diintegrasikan, dan digunakan ulang dengan mudah.
|
| 93 |
+
- Meningkatkan otomatisasi dan kerja sama lintas platform.
|
| 94 |
+
|
| 95 |
+
Tiga Standar Teknis Utama:
|
| 96 |
+
1. RDF (Resource Description Framework)
|
| 97 |
+
Format dasar untuk menyimpan dan merepresentasikan data Web Semantik.
|
| 98 |
+
|
| 99 |
+
2. SPARQL (SPARQL Protocol and RDF Query Language)
|
| 100 |
+
Bahasa query yang digunakan untuk menanyakan dan mengambil data dari sistem berbasis RDF.
|
| 101 |
+
|
| 102 |
+
3. OWL (Web Ontology Language)
|
| 103 |
+
Bahasa yang digunakan untuk mendefinisikan ontologi, atau semantik dari data tersebut.
|
| 104 |
+
|
| 105 |
+
Pemodelan Semantik
|
| 106 |
+
|
| 107 |
+
Pengantar
|
| 108 |
+
|
| 109 |
+
Internet adalah ruang informasi yang sangat luas dan kompleks. Kita tidak selalu tahu siapa pemilik data berharga di dalamnya. Untuk membantu memahami kerumitan ini, digunakan alat analitik yang memiliki satu kesamaan: menciptakan abstraksi yang menyederhanakan realitas dengan menyembunyikan beberapa detail dan menonjolkan yang penting. Abstraksi ini disebut model.
|
| 110 |
+
|
| 111 |
+
Fungsi Model dalam Merangkai Pengetahuan
|
| 112 |
+
|
| 113 |
+
Model memainkan tiga peran utama:
|
| 114 |
+
|
| 115 |
+
1. Sebagai alat komunikasi:
|
| 116 |
+
Model mempermudah manusia menjelaskan suatu situasi agar bisa dipahami bersama. Contohnya seperti FAQ, forum diskusi, wiki, dan platform tanya-jawab (StackOverflow, Quora, dll), yang mengelompokkan pengetahuan agar bisa dibagi dan diakses dengan mudah.
|
| 117 |
+
|
| 118 |
+
2. Memberikan penjelasan dan prediksi:
|
| 119 |
+
Model bisa menghubungkan fenomena sederhana maupun kompleks. Penjelasan yang baik memungkinkan prediksi terhadap apa yang akan terjadi. Prediksi lebih mungkin jika model bersifat formal, seperti dalam sistem matematika yang punya aturan dan notasi khusus.
|
| 120 |
+
|
| 121 |
+
3. Menyatukan berbagai sudut pandang:
|
| 122 |
+
Karena setiap orang bisa punya opini berbeda, model berguna untuk menyatukan berbagai pandangan ke dalam kerangka umum. Contohnya, para ilmuwan sepakat soal planet di tata surya, tapi bisa berbeda dalam mengklasifikasikan objek seperti Pluto. Web Semantik dirancang untuk bisa mengakomodasi perbedaan ini.
|
| 123 |
+
|
| 124 |
+
Pemodelan sebagai Sarana Kolaborasi
|
| 125 |
+
|
| 126 |
+
Web Semantik tidak hanya memungkinkan pertukaran informasi, tetapi juga berbagi model. Model ini membantu:
|
| 127 |
+
|
| 128 |
+
- Mengorganisasi data bersama
|
| 129 |
+
- Menyusun pengetahuan kolektif
|
| 130 |
+
- Menyatukan informasi dari berbagai sumber
|
| 131 |
+
|
| 132 |
+
Model dalam Komunikasi Manusia
|
| 133 |
+
|
| 134 |
+
Model bisa dikembangkan secara kolaboratif:
|
| 135 |
+
- Seseorang membuat model awal
|
| 136 |
+
- Orang lain menambah atau mengubahnya
|
| 137 |
+
- Orang ketiga bisa menafsirkan dan menerapkannya
|
| 138 |
+
|
| 139 |
+
Contohnya: sistem tag komunitas pada forum diskusi. Ini merupakan bentuk pemodelan informal yang penting dalam membangun Web Semantik.
|
| 140 |
+
|
| 141 |
+
Penjelasan dan Prediksi dalam Pemodelan
|
| 142 |
+
|
| 143 |
+
Model digunakan untuk menyusun pengetahuan yang bisa dijelaskan ulang dan digunakan kembali (reusable).
|
| 144 |
+
|
| 145 |
+
Model yang dilengkapi penjelasan yang cukup dapat dijadikan dasar untuk memprediksi fenomena.
|
| 146 |
+
|
| 147 |
+
Model formal (seperti model matematika) lebih kuat dalam menghasilkan prediksi karena memiliki aturan eksplisit.
|
| 148 |
+
|
| 149 |
+
Variabilitas dan Hirarki Kelas
|
| 150 |
+
|
| 151 |
+
Dalam Object-Oriented Programming, variabilitas diorganisasi lewat kelas dan subkelas.
|
| 152 |
+
|
| 153 |
+
Web Semantik mengadopsi konsep ini untuk membedakan antara sifat umum dan spesifik dalam data.
|
| 154 |
+
|
| 155 |
+
Kelas atas: representasi sifat umum
|
| 156 |
+
Subkelas: representasi sifat khusus
|
| 157 |
+
|
| 158 |
+
Namun, tantangannya: di web, variasi sangat beragam dan struktur model tidak selalu bisa ditentukan di awal.
|
| 159 |
+
|
| 160 |
+
Solusinya:
|
| 161 |
+
- Model dibangun dari lapisan-lapisan kontribusi yang berasal dari berbagai sumber
|
| 162 |
+
- Gabungan semua lapisan membentuk satu model terpadu
|
| 163 |
+
|
| 164 |
+
Masalah potensial:
|
| 165 |
+
- Simbol berbeda (contoh: dua label berbeda untuk satu konsep) dapat dianggap inkonsisten oleh mesin, meski tidak oleh manusia.
|
| 166 |
+
- Perbedaan perspektif bisa menimbulkan kebingungan awal sebelum tercapai sinergi dan kerja sama.
|
| 167 |
+
|
| 168 |
+
Esensi Web Semantik
|
| 169 |
+
|
| 170 |
+
Web Semantik menyediakan:
|
| 171 |
+
|
| 172 |
+
- Infrastruktur untuk mengelola informasi kompleks
|
| 173 |
+
- Kerangka kerja (framework) yang bisa menjelaskan, mengorganisir, dan memediasi antara berbagai perspektif
|
| 174 |
+
- Model di dalam Web Semantik menjadi sarana untuk merumuskan dan menyampaikan makna secara sistematis.
|
| 175 |
+
|
| 176 |
+
Ekspresi dalam Pemodelan
|
| 177 |
+
|
| 178 |
+
Tidak semua orang ingin membagikan informasi secara rinci. Ini menciptakan perbedaan dalam level ekspresi (level of expressivity) ketika berkontribusi dalam Web Semantik.
|
| 179 |
+
|
| 180 |
+
Level Ekspresi dalam Bahasa Web Semantik
|
| 181 |
+
|
| 182 |
+
Bahasa pemodelan memiliki tingkat ekspresi yang berbeda, disesuaikan dengan tujuan penggunaan. Berikut urutannya dari paling dasar ke paling kompleks:
|
| 183 |
+
- RDF (Resource Description Framework)
|
| 184 |
+
- RDFS (RDF Schema)
|
| 185 |
+
- RDFS-Plus
|
| 186 |
+
- OWL (Web Ontology Language)
|
| 187 |
+
|
| 188 |
+
Model yang lebih ekspresif tidak selalu lebih baik. Yang terpenting adalah kesesuaiannya dengan konteks dan kebutuhan.
|
| 189 |
+
|
| 190 |
+
RDF - Dasar Dari Web Semantik
|
| 191 |
+
|
| 192 |
+
Perbandingan XML dan HTML
|
| 193 |
+
|
| 194 |
+
XML (eXtensible Markup Language) :
|
| 195 |
+
- Dirancang untuk menyimpan dan mentransportasikan data, bukan untuk menampilkannya.
|
| 196 |
+
- Memiliki struktur yang dapat dibaca oleh manusia maupun mesin.
|
| 197 |
+
- Termasuk dalam keluarga markup language seperti HTML.
|
| 198 |
+
- XML merupakan rekomendasi dari W3C (World Wide Web Consortium).
|
| 199 |
+
- Tag XML tidak ditentukan sebelumnya; pengembang dapat membuat tag sesuai kebutuhan, misalnya: <book>, <tools>, <jurusan>.
|
| 200 |
+
|
| 201 |
+
HTML (HyperText Markup Language) :
|
| 202 |
+
- Dirancang untuk menampilkan data dalam bentuk visual di halaman web.
|
| 203 |
+
- Tag-tag HTML telah didefinisikan secara baku, contohnya: <p>, <b>, <br>, dan lain-lain.
|
| 204 |
+
|
| 205 |
+
Distribusi Data dalam Web Semantik
|
| 206 |
+
|
| 207 |
+
1. RDF, RDFS, dan OWL merupakan bahasa dasar untuk representasi data dalam Web Semantik.
|
| 208 |
+
2. RDF (Resource Description Framework) berfungsi sebagai fondasi utama Web Semantik dan dirancang untuk mendistribusikan data secara terstruktur dan terhubung.
|
| 209 |
+
3. Web Semantik memperluas infrastruktur web yang ada dengan menyediakan cara yang lebih eksplisit untuk menyatakan hubungan antar data.
|
| 210 |
+
4. Web tradisional menghubungkan dokumen, tetapi tidak menyatakan makna hubungan antar dokumen tersebut secara eksplisit.
|
| 211 |
+
|
| 212 |
+
Konsep RDF (Resource Description Framework)
|
| 213 |
+
|
| 214 |
+
Komponen RDF
|
| 215 |
+
1. Resource: Segala sesuatu yang bisa diidentifikasi dengan URI, misalnya: orang, tempat, produk.
|
| 216 |
+
2. Description: Menjelaskan atribut dan hubungan antar resource.
|
| 217 |
+
3. Framework: Model, bahasa, dan sintaksis untuk menyusun deskripsi tersebut.
|
| 218 |
+
|
| 219 |
+
Data Tabular vs RDF
|
| 220 |
+
Dalam bentuk tabular, baris merepresentasikan entitas, dan kolom merepresentasikan atribut/properti.
|
| 221 |
+
|
| 222 |
+
RDF memungkinkan pendistribusian data melalui strategi:
|
| 223 |
+
1. Row by Row: Setiap baris dikirim dari server berbeda; membutuhkan referensi global antar kolom.
|
| 224 |
+
2. Column by Column: Setiap kolom dikelola oleh server terpisah; lebih fleksibel, namun butuh koordinasi untuk identifikasi baris yang sama.
|
| 225 |
+
3. Cell by Cell: Setiap sel dikelola terpisah; RDF menggunakan pendekatan ini dan menyatakan data sebagai triple (subjek-predikat-objek).
|
| 226 |
+
|
| 227 |
+
Triple
|
| 228 |
+
Triple adalah unit dasar RDF:
|
| 229 |
+
- Subject: Subjek dari pernyataan (misalnya: Shakespeare).
|
| 230 |
+
- Predicate: Atribut atau relasi (misalnya: wrote).
|
| 231 |
+
- Object: Nilai atau target (misalnya: Hamlet).
|
| 232 |
+
|
| 233 |
+
Penggabungan Data & Identitas (Namespace dan URI)
|
| 234 |
+
|
| 235 |
+
Untuk menggabungkan data dari berbagai sumber, RDF menggunakan URI sebagai pengenal unik.
|
| 236 |
+
|
| 237 |
+
Masalah identitas terjadi ketika istilah yang sama merujuk ke hal berbeda (contoh: “Java” bisa berarti pulau atau bahasa pemrograman).
|
| 238 |
+
|
| 239 |
+
Uniform Resource Identifier (URI) menyelesaikan ini, misalnya:
|
| 240 |
+
|
| 241 |
+
Pulau Java: http://dbpedia.org/page/Java
|
| 242 |
+
|
| 243 |
+
Bahasa Java: http://dbpedia.org/page/Java_(programming_language)
|
| 244 |
+
|
| 245 |
+
QName dan Namespace
|
| 246 |
+
|
| 247 |
+
QName (Qualified Name) menyederhanakan penulisan URI panjang menggunakan format namespace:identifier.
|
| 248 |
+
|
| 249 |
+
Namespace harus dideklarasikan secara eksplisit.
|
| 250 |
+
|
| 251 |
+
Penulisan mengikuti gaya penamaan seperti CamelCase.
|
| 252 |
+
|
| 253 |
+
Jika hanya satu namespace digunakan, prefix bisa dihilangkan: :partOf.
|
| 254 |
+
|
| 255 |
+
Standar Namespace RDF
|
| 256 |
+
|
| 257 |
+
rdf: → http://www.w3.org/1999/02/22-rdf-syntax-ns#
|
| 258 |
+
|
| 259 |
+
rdfs: → http://www.w3.org/2000/01/rdf-schema#
|
| 260 |
+
|
| 261 |
+
owl: → http://www.w3.org/2002/07/owl#
|
| 262 |
+
|
| 263 |
+
xsd: → XML Schema Definition
|
| 264 |
+
|
| 265 |
+
Properti RDF
|
| 266 |
+
|
| 267 |
+
rdf:type: Menyatakan jenis atau tipe dari subjek RDF.
|
| 268 |
+
|
| 269 |
+
rdf:Property: Digunakan untuk mendeklarasikan predicate (relasi) sebagai sebuah properti RDF.
|
| 270 |
+
|
| 271 |
+
Hubungan Kompleks (Reifikasi / Reification)
|
| 272 |
+
|
| 273 |
+
RDF secara default hanya mengekspresikan relasi sederhana (triple).
|
| 274 |
+
|
| 275 |
+
Untuk pernyataan yang lebih kompleks (misal: pernyataan mengenai pernyataan lain), digunakan reification.
|
| 276 |
+
|
| 277 |
+
Solusi 1: Membuat banyak triple dengan subjek yang sama (untuk menjelaskan detail).
|
| 278 |
+
|
| 279 |
+
Solusi 2 (Reifikasi eksplisit):
|
| 280 |
+
|
| 281 |
+
Menggunakan rdf:subject, rdf:predicate, dan rdf:object untuk menyatakan triple sebagai objek deskripsi lain.
|
| 282 |
+
|
| 283 |
+
Contoh: “Wikipedia menyatakan bahwa Shakespeare menulis Hamlet”:
|
| 284 |
+
|
| 285 |
+
q:n1 rdf:subject lit:Shakespeare;
|
| 286 |
+
rdf:predicate lit:wrote;
|
| 287 |
+
rdf:object lit:Hamlet .
|
| 288 |
+
web:Wikipedia m:says q:n1 .
|
| 289 |
+
|
| 290 |
+
Serialisasi RDF
|
| 291 |
+
|
| 292 |
+
1. N-Triples
|
| 293 |
+
- Bentuk paling sederhana.
|
| 294 |
+
- URI ditulis lengkap dalam tanda kurung sudut < >.
|
| 295 |
+
- Setiap triple ditulis satu baris dan diakhiri titik (.).
|
| 296 |
+
|
| 297 |
+
2. Turtle (Tersebut juga: Tersebut URIs tersingkat)
|
| 298 |
+
- Bentuk yang lebih ringkas daripada N-Triples.
|
| 299 |
+
- Menggunakan @prefix untuk mendefinisikan namespace.
|
| 300 |
+
|
| 301 |
+
Tanda baca dalam Turtle:
|
| 302 |
+
. untuk mengakhiri pernyataan.
|
| 303 |
+
, untuk beberapa objek dengan predicate yang sama.
|
| 304 |
+
; untuk beberapa predicate dengan subjek yang sama.
|
| 305 |
+
a sebagai singkatan untuk rdf:type.
|
| 306 |
+
|
| 307 |
+
3. RDF/XML
|
| 308 |
+
- Rekomendasi resmi dari W3C.
|
| 309 |
+
- Triple dinyatakan dalam elemen XML, dengan rdf:about untuk menyatakan subjek.
|
| 310 |
+
|
| 311 |
+
Blank Nodes (Bnodes)
|
| 312 |
+
|
| 313 |
+
RDF memungkinkan penggunaan node tanpa identifier (anonymous resource).
|
| 314 |
+
|
| 315 |
+
Digunakan ketika tidak ada URI, tetapi informasi tetap ingin disampaikan.
|
| 316 |
+
|
| 317 |
+
Ditulis dalam Turtle menggunakan tanda kurung siku [ ].
|
| 318 |
+
|
| 319 |
+
Contoh :
|
| 320 |
+
lit:Sonnet78 lit:hasInspiration [
|
| 321 |
+
rdf:type bio:Woman;
|
| 322 |
+
bio:livedIn geo:England
|
| 323 |
+
] .
|
| 324 |
+
|
| 325 |
+
|
| 326 |
+
Perbandingan XML, HTML, dan RDF
|
| 327 |
+
|
| 328 |
+
XML (eXtensible Markup Language) memungkinkan pembuat konten memberikan label pada informasi, contohnya: <kodePos>95405</kodePos>. Selain memberi struktur pada data, XML tidak menyatakan arti atau makna semantik dari struktur tersebut. XML hanya memfokuskan diri pada penyimpanan dan transportasi data, bukan pada tampilan atau arti.
|
| 329 |
+
|
| 330 |
+
HTML (HyperText Markup Language) digunakan untuk menampilkan data. HTML memiliki elemen seperti <h1>, <p>, <a>, namun tidak memiliki kemampuan untuk secara eksplisit mendeskripsikan makna informasi. HTML memfokuskan pada representasi visual, bukan struktur data atau metadata.
|
| 331 |
+
|
| 332 |
+
RDF (Resource Description Framework) dirancang untuk mengekspresikan makna semantik dari data yang disimpan menggunakan XML. RDF memungkinkan metadata atau "data tentang data", dalam hal ini informasi mengenai resource web, dikodekan dalam format yang dapat diproses oleh mesin. RDF menggunakan XML sebagai sintaks serialisasinya.
|
| 333 |
+
|
| 334 |
+
Contoh Representasi HTML vs XML
|
| 335 |
+
|
| 336 |
+
Penjelasan: XML memberikan struktur dan label yang jelas terhadap konten (misalnya, therapist, secretary), sementara HTML hanya menyajikan tampilan teks tanpa penjelasan struktur atau semantik.
|
| 337 |
+
|
| 338 |
+
HTML
|
| 339 |
+
<h1>Agilitas Physiotherapy Centre</h1>
|
| 340 |
+
<p>Welcome to the Agilitas Physiotherapy Centre home page.</p>
|
| 341 |
+
<h2>Consultation hours</h2>
|
| 342 |
+
Mon 11am - 7pm<br>
|
| 343 |
+
Tue 11am - 7pm<br>
|
| 344 |
+
Wed 3pm - 7pm<br>
|
| 345 |
+
...
|
| 346 |
+
|
| 347 |
+
XML
|
| 348 |
+
<company>
|
| 349 |
+
<treatmentOffered>Physiotherapy</treatmentOffered>
|
| 350 |
+
<companyName>Agilitas Physiotherapy Centre</companyName>
|
| 351 |
+
<staff>
|
| 352 |
+
<therapist>Lisa Davenport</therapist>
|
| 353 |
+
<therapist>Steve Matthews</therapist>
|
| 354 |
+
<secretary>Kelly Townsend</secretary>
|
| 355 |
+
</staff>
|
| 356 |
+
</company>
|
| 357 |
+
|
| 358 |
+
Struktur Dokumen XML
|
| 359 |
+
|
| 360 |
+
1. Prolog
|
| 361 |
+
|
| 362 |
+
Bagian awal dokumen XML, berisi deklarasi XML dan referensi DTD (opsional).
|
| 363 |
+
Contoh: <?xml version="1.0" encoding="UTF-8"?>
|
| 364 |
+
|
| 365 |
+
2. Elemen
|
| 366 |
+
|
| 367 |
+
Komponen utama yang menggambarkan data.
|
| 368 |
+
Terdiri dari tag pembuka <tag>, isi, dan tag penutup </tag>.
|
| 369 |
+
|
| 370 |
+
Contoh:
|
| 371 |
+
<book>
|
| 372 |
+
<title>Belajar XML</title>
|
| 373 |
+
</book>
|
| 374 |
+
|
| 375 |
+
3. Atribut
|
| 376 |
+
|
| 377 |
+
Informasi tambahan dalam tag pembuka.
|
| 378 |
+
Contoh: <person name="John" age="30"/>
|
| 379 |
+
|
| 380 |
+
4. Komentar
|
| 381 |
+
|
| 382 |
+
Tidak akan diproses oleh parser.
|
| 383 |
+
Contoh: <!-- Ini komentar -->
|
| 384 |
+
|
| 385 |
+
Dokumen XML yang "Well-Formed"
|
| 386 |
+
|
| 387 |
+
1. Memiliki satu elemen root
|
| 388 |
+
2. Semua elemen harus memiliki tag pembuka dan penutup
|
| 389 |
+
3. Tag tidak boleh tumpang tindih
|
| 390 |
+
4. Atribut memiliki nama unik
|
| 391 |
+
5. Nama elemen/tag harus valid (tidak boleh diawali dengan “xml”, dll.)
|
| 392 |
+
|
| 393 |
+
Model Pohon (Tree Model) XML
|
| 394 |
+
|
| 395 |
+
XML dapat direpresentasikan sebagai struktur pohon (tree) berlabel:
|
| 396 |
+
1. Terdapat satu root
|
| 397 |
+
2. Tidak ada siklus
|
| 398 |
+
3. Setiap node punya satu parent
|
| 399 |
+
4. Setiap node punya label
|
| 400 |
+
5. Urutan elemen penting, tapi urutan atribut tidak
|
| 401 |
+
|
| 402 |
+
Contoh:
|
| 403 |
+
<?xml version="1.0"?>
|
| 404 |
+
<email>
|
| 405 |
+
<head>
|
| 406 |
+
<from name="Michael Maher" address="michaelmaher@cs.gu.edu.au"/>
|
| 407 |
+
<to name="Grigoris Antoniou" address="grigoris@cs.unibremen.de"/>
|
| 408 |
+
<subject>Where is your draft?</subject>
|
| 409 |
+
</head>
|
| 410 |
+
<body>
|
| 411 |
+
Grigoris, where is the draft of the paper you promised me last week?
|
| 412 |
+
</body>
|
| 413 |
+
</email>
|
| 414 |
+
|
| 415 |
+
Struktur dan Validasi XML
|
| 416 |
+
|
| 417 |
+
Struktur XML dapat ditentukan menggunakan XML Schema.
|
| 418 |
+
|
| 419 |
+
Schema mendefinisikan:
|
| 420 |
+
1. Elemen yang diperbolehkan
|
| 421 |
+
2. Atribut apa yang valid
|
| 422 |
+
3. Tipe data elemen
|
| 423 |
+
|
| 424 |
+
Dokumen XML dikatakan valid jika:
|
| 425 |
+
1. Terbentuk dengan baik (well-formed)
|
| 426 |
+
2. Sesuai dengan struktur skema (validasi schema)
|
| 427 |
+
|
| 428 |
+
Namespace dalam XML
|
| 429 |
+
|
| 430 |
+
Namespace menghindari konflik antar elemen dari berbagai skema.
|
| 431 |
+
Menggunakan prefix yang dibedakan dengan :.
|
| 432 |
+
Contoh: <uni:courseName>
|
| 433 |
+
|
| 434 |
+
Addressing dan Querying Dokumen XML
|
| 435 |
+
|
| 436 |
+
XML dapat di-query menggunakan bahasa seperti:
|
| 437 |
+
1. XQuery
|
| 438 |
+
2. XPath
|
| 439 |
+
3. XML-QL
|
| 440 |
+
|
| 441 |
+
Contoh XPath:
|
| 442 |
+
//author: Menemukan semua elemen <author> di seluruh dokumen.
|
| 443 |
+
/library/author: Menemukan <author> dalam <library>.
|
| 444 |
+
|
| 445 |
+
RDF/XML
|
| 446 |
+
|
| 447 |
+
Konsep RDF:
|
| 448 |
+
RDF merepresentasikan metadata dalam bentuk triple (subjek, predikat, objek)
|
| 449 |
+
RDF/XML adalah representasi RDF menggunakan sintaks XML.
|
| 450 |
+
|
| 451 |
+
Struktur RDF/XML:
|
| 452 |
+
<?xml version="1.0" encoding="UTF-16"?>
|
| 453 |
+
<rdf:RDF
|
| 454 |
+
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
| 455 |
+
xmlns:uni="http://www.example.org/univ">
|
| 456 |
+
<rdf:Description rdf:about="CIT3116">
|
| 457 |
+
<uni:courseName>Knowledge Representation</uni:courseName>
|
| 458 |
+
<uni:isTaughtBy>Grigoris Antoniou</uni:isTaughtBy>
|
| 459 |
+
</rdf:Description>
|
| 460 |
+
</rdf:RDF>
|
| 461 |
+
|
| 462 |
+
Keterangan:
|
| 463 |
+
|
| 464 |
+
rdf:RDF: Elemen utama RDF
|
| 465 |
+
rdf:Description: Menyediakan deskripsi resource
|
| 466 |
+
rdf:about: Identifikasi URI resource
|
| 467 |
+
uni:...: Properti yang dimiliki oleh resource"
|
| 468 |
+
|
| 469 |
+
Pembuatan Dokumen RDF/XML
|
| 470 |
+
|
| 471 |
+
1. Tentukan URI atau ID untuk resource yang akan dideskripsikan.
|
| 472 |
+
2. Gunakan rdf:RDF sebagai root element RDF/XML.
|
| 473 |
+
3. Tambahkan namespace yang diperlukan (xmlns:).
|
| 474 |
+
4. Buat elemen rdf:Description untuk setiap resource.
|
| 475 |
+
5. Gunakan properti sebagai tag di dalam rdf:Description untuk menyatakan nilai.
|
| 476 |
+
6. Gunakan rdf:about, rdf:ID, atau tanpa nama (anonymous) untuk mengidentifikasi resource.
|
| 477 |
+
7. Jika diperlukan, gunakan rdf:datatype untuk menyatakan tipe data.
|
| 478 |
+
8. Simpan dokumen dengan ekstensi .rdf atau .xml dan encoding UTF-8/UTF-16.
|
| 479 |
+
|
| 480 |
+
Arsitektur Aplikasi Web Semantik
|
| 481 |
+
|
| 482 |
+
KOMPONEN DALAM PENYEBARAN WEB SEMANTIK
|
| 483 |
+
|
| 484 |
+
1. RDF Parser dan RDF Serializer
|
| 485 |
+
- RDF Parser membaca data RDF dalam format serialisasi (seperti N-Triples, Turtle, RDF/XML) dan mengubahnya menjadi triple (subjek-predikat-objek).
|
| 486 |
+
- RDF Serializer melakukan proses sebaliknya: mengubah triple menjadi format teks RDF.
|
| 487 |
+
- File RDF biasanya berekstensi .rdf, namun tidak berguna tanpa program yang dapat membacanya.
|
| 488 |
+
|
| 489 |
+
2. Converter (Alat Konversi ke RDF)
|
| 490 |
+
- Data tabular (seperti spreadsheet atau database relasional) dapat dipetakan ke dalam triple RDF.
|
| 491 |
+
- Proses ini dilakukan menggunakan alat konversi (converter).
|
| 492 |
+
- Teknik ini memungkinkan data eksisting digunakan dalam Web Semantik.
|
| 493 |
+
|
| 494 |
+
3. Penyisipan Metadata ke Halaman Web
|
| 495 |
+
Beberapa pendekatan untuk menyisipkan RDF atau metadata ke dalam halaman web:
|
| 496 |
+
|
| 497 |
+
a. Microformats
|
| 498 |
+
- Menyisipkan informasi semantik langsung ke HTML menggunakan atribut khusus.
|
| 499 |
+
- Tidak memengaruhi tampilan di browser.
|
| 500 |
+
- Contoh: hCard, hCalendar.
|
| 501 |
+
|
| 502 |
+
b. RDFa (RDF in Attributes)
|
| 503 |
+
- Standar dari W3C.
|
| 504 |
+
- Menyisipkan metadata RDF ke HTML menggunakan atribut seperti about, property, typeof.
|
| 505 |
+
- Tidak mengubah tampilan visual.
|
| 506 |
+
|
| 507 |
+
c. Microdata
|
| 508 |
+
- Menambahkan metadata ke HTML dengan vocab dari schema.org.
|
| 509 |
+
- Umum digunakan untuk SEO dan hasil pencarian Google.
|
| 510 |
+
|
| 511 |
+
d. JSON-LD
|
| 512 |
+
- Menggabungkan format JSON dengan konsep Linked Data (LD).
|
| 513 |
+
- Metadata ditulis dalam tag <script type="application/ld+json"> terpisah dari HTML utama.
|
| 514 |
+
- Populer karena fleksibel dan mudah diproses.
|
| 515 |
+
|
| 516 |
+
4. RDF Store (Triple Store)
|
| 517 |
+
- Database khusus untuk menyimpan triple RDF.
|
| 518 |
+
- Disebut juga triple store.
|
| 519 |
+
- Fitur umum:
|
| 520 |
+
- Penyimpanan dan pengambilan triple.
|
| 521 |
+
- Penggabungan data dari berbagai sumber RDF.
|
| 522 |
+
- Mendukung parser, serializer, dan query engine.
|
| 523 |
+
- Ekspor/impor dengan RDF/XML atau Turtle.
|
| 524 |
+
|
| 525 |
+
5. RDF Query Engine
|
| 526 |
+
- Komponen yang menjalankan query terhadap RDF Store.
|
| 527 |
+
- Menggunakan bahasa query khusus RDF yaitu SPARQL.
|
| 528 |
+
- SPARQL (SPARQL Protocol and RDF Query Language):
|
| 529 |
+
- Bahasa untuk menulis query RDF.
|
| 530 |
+
- Menyediakan protokol komunikasi untuk mengirim dan menerima query.
|
| 531 |
+
- Dapat digunakan sebagai web service melalui SPARQL endpoint.
|
| 532 |
+
- Contoh endpoint: http://dbpedia.org/sparql
|
| 533 |
+
|
| 534 |
+
6. Perbandingan RDF Query Engine vs Relational Database
|
| 535 |
+
| RDF Query Engine | Relational Database |
|
| 536 |
+
|------------------|---------------------|
|
| 537 |
+
| Berbasis model graf | Berbasis tabel dan relasi |
|
| 538 |
+
| Query dalam bentuk triple | Query berbasis SQL |
|
| 539 |
+
| Menghubungkan entitas | Bergantung pada foreign key dan join |
|
| 540 |
+
|
| 541 |
+
7. Aplikasi
|
| 542 |
+
- Aplikasi memproses data RDF untuk analisis, interaksi pengguna, pengarsipan, dan lainnya.
|
| 543 |
+
- Mengakses RDF melalui SPARQL Query Engine menggunakan bahasa pemrograman tertentu.
|
| 544 |
+
|
| 545 |
+
Contoh Aplikasi RDF:
|
| 546 |
+
- https://www.w3.org/wiki/SparqlImplementations
|
| 547 |
+
- Virtuoso: https://virtuoso.openlinksw.com/
|
| 548 |
+
- Apache Jena Fuseki: https://jena.apache.org
|
| 549 |
+
|
| 550 |
+
8. Data Federation
|
| 551 |
+
- RDF memungkinkan penggabungan informasi dari berbagai sumber data ke dalam satu sistem.
|
| 552 |
+
- Data dari spreadsheet, XML, database, dan web dikonversi ke triple RDF.
|
| 553 |
+
- Semua data dikombinasikan dalam RDF Store tunggal.
|
| 554 |
+
- Query cukup ditulis satu kali, tanpa perlu tahu asal data.
|
| 555 |
+
- Memungkinkan pencarian lintas sumber dengan satu query terpusat.
|
| 556 |
+
|
| 557 |
+
Query Web Semantik Menggunakan SPARQL
|
| 558 |
+
|
| 559 |
+
Sistem Tell-and-Ask (Beritahu dan Tanya)
|
| 560 |
+
|
| 561 |
+
Sistem Tell-and-Ask merupakan sistem dasar yang dirancang untuk menjawab pertanyaan berdasarkan kumpulan fakta yang telah diberikan. Pendekatan ini mengikuti pola sederhana: pengguna memberi tahu sistem tentang fakta tertentu ("Tell"), lalu sistem dapat menjawab pertanyaan yang diajukan pengguna ("Ask") berdasarkan fakta-fakta tersebut.
|
| 562 |
+
|
| 563 |
+
Contoh:
|
| 564 |
+
Tell: James Dean played in movie Giant.
|
| 565 |
+
Ask: Who played in Giant? → Answer: James Dean
|
| 566 |
+
Ask: James Dean played in what? → Answer: Giant
|
| 567 |
+
|
| 568 |
+
Fakta tambahan:
|
| 569 |
+
Tell: James Dean played in East of Eden.
|
| 570 |
+
Tell: James Dean played in Rebel Without a Cause.
|
| 571 |
+
Ask: James Dean played in what? → Answer: Giant, East of Eden, Rebel Without a Cause
|
| 572 |
+
|
| 573 |
+
Dengan kemampuan Natural Language Processing (NLP), sistem Tell-and-Ask dapat memahami pertanyaan dalam bahasa alami:
|
| 574 |
+
Ask: What movies did James Dean star in? → Answer: Giant, East of Eden, Rebel Without a Cause
|
| 575 |
+
|
| 576 |
+
Infrastruktur Tell-and-Ask: Spreadsheet
|
| 577 |
+
|
| 578 |
+
Spreadsheet digunakan untuk merepresentasikan data secara visual. Data disusun dalam baris dan kolom, dan pencarian dilakukan berdasarkan nilai di dalam kolom tersebut, bukan melalui bahasa alami. Namun, kendala muncul ketika beberapa nilai mengacu pada field yang sama. Solusi umum seperti tabel referensi dapat mengurangi keunggulan visualisasi spreadsheet, sehingga pendekatan yang lebih baik adalah menggunakan basis data relasional.
|
| 579 |
+
|
| 580 |
+
Infrastruktur Tell-and-Ask: Relational Database
|
| 581 |
+
|
| 582 |
+
Relational database mengorganisir data secara sistematis melalui tabel yang saling berhubungan dan mampu menangani pertanyaan kompleks.
|
| 583 |
+
|
| 584 |
+
Contoh:
|
| 585 |
+
|
| 586 |
+
Tell: Maggie King works for Acme Product Inc.
|
| 587 |
+
|
| 588 |
+
Tell: The contract officer for Acme Product Inc. is Cynthia Wiley.
|
| 589 |
+
|
| 590 |
+
Tell: Cynthia Wiley’s email address is CJWiley@acme.com
|
| 591 |
+
|
| 592 |
+
Ask: What is the email address for the contract officer at the company where Maggie King works?
|
| 593 |
+
→ Answer: CJWiley@acme.com
|
| 594 |
+
|
| 595 |
+
Pertanyaan tersebut dalam bahasa query:
|
| 596 |
+
Ask: What is the email address for the person matched by the “contract officer” reference for the company matched by the “works for” reference for the person whose name is “Maggie King”? → Answer: CJWiley@acme.com
|
| 597 |
+
|
| 598 |
+
RDF Sebagai Sistem Tell-and-Ask
|
| 599 |
+
|
| 600 |
+
RDF (Resource Description Framework) mampu merepresentasikan struktur data yang kompleks dan menggunakan query language bernama SPARQL. RDF lebih fleksibel daripada relational database karena pengguna tidak perlu secara eksplisit mendefinisikan relasi.
|
| 601 |
+
|
| 602 |
+
Contoh triple:
|
| 603 |
+
|
| 604 |
+
Tell: James Dean played in the movie Giant.
|
| 605 |
+
|
| 606 |
+
Contoh pertanyaan:
|
| 607 |
+
|
| 608 |
+
Ask: What did James Dean play in?
|
| 609 |
+
Ask: Who played in Giant?
|
| 610 |
+
Ask: What did James Dean do in Giant?
|
| 611 |
+
|
| 612 |
+
SPARQL menggunakan awalan "?" untuk kata tanya:
|
| 613 |
+
|
| 614 |
+
Ask: :JamesDean :playedIn ?what .
|
| 615 |
+
Ask: ?who :playedIn :Giant .
|
| 616 |
+
Ask: :JamesDean ?what :Giant .
|
| 617 |
+
|
| 618 |
+
Bagian dalam SPARQL:
|
| 619 |
+
|
| 620 |
+
Kata tanya (SELECT, ASK)
|
| 621 |
+
Pola grafik (graph pattern)
|
| 622 |
+
|
| 623 |
+
Contoh multiple value:
|
| 624 |
+
|
| 625 |
+
Tell: :JamesDean :playedIn :Giant.
|
| 626 |
+
Tell: :JamesDean :playedIn :EastOfEden.
|
| 627 |
+
Tell: :JamesDean :playedIn :RebelWithoutaCause.
|
| 628 |
+
|
| 629 |
+
SPARQL Query:
|
| 630 |
+
|
| 631 |
+
SELECT ?what WHERE {
|
| 632 |
+
:JamesDean :playedIn ?what
|
| 633 |
+
}
|
| 634 |
+
|
| 635 |
+
→ Answer: :Giant, :EastOfEden, :RebelWithoutaCause
|
| 636 |
+
|
| 637 |
+
Fitur Tambahan SPARQL
|
| 638 |
+
|
| 639 |
+
DISTINCT: Menjamin hasil tidak duplikat
|
| 640 |
+
FILTER: Membatasi hasil query berdasarkan kriteria tertentu
|
| 641 |
+
OPTIONAL: Menampilkan hasil meskipun data tidak lengkap
|
| 642 |
+
UNSAID: Menyatakan negasi
|
| 643 |
+
ASK: Menghasilkan jawaban Yes/No
|
| 644 |
+
|
| 645 |
+
SPARQL Endpoint
|
| 646 |
+
|
| 647 |
+
DBPedia SPARQL Endpoint: http://dbpedia.org/sparql (terbatas untuk data DBPedia)
|
| 648 |
+
|
| 649 |
+
SPARQL GUI Tools:
|
| 650 |
+
YASGUI (Yet Another SPARQL GUI): https://yasgui.triply.cc
|
| 651 |
+
Fuseki SPARQL: http://localhost:3030/dataset.html?tab=query
|
| 652 |
+
|
| 653 |
+
Construct Query:
|
| 654 |
+
|
| 655 |
+
SPARQL juga mendukung pembuatan graph baru berdasarkan hasil query dengan keyword CONSTRUCT. Graph ini bisa digunakan kembali untuk query lain.
|
| 656 |
+
|
| 657 |
+
Contoh:
|
| 658 |
+
|
| 659 |
+
CONSTRUCT {
|
| 660 |
+
:JamesDean :actedIn ?movie
|
| 661 |
+
} WHERE {
|
| 662 |
+
:JamesDean :playedIn ?movie
|
| 663 |
+
}
|
| 664 |
+
|
| 665 |
+
Fungsi Tambahan SPARQL
|
| 666 |
+
|
| 667 |
+
ORDER BY: Mengurutkan hasil query
|
| 668 |
+
LIMIT: Membatasi jumlah hasil query
|
| 669 |
+
|
| 670 |
+
Fungsi Agregat (SPARQL 1.1):
|
| 671 |
+
COUNT, MIN, MAX, AVG, SUM
|
| 672 |
+
|
| 673 |
+
Pengelompokan dan Subquery:
|
| 674 |
+
GROUP BY: Mengelompokkan hasil
|
| 675 |
+
Subquery: Query di dalam query, berguna untuk kombinasi LIMIT dan agregasi
|
| 676 |
+
|
| 677 |
+
UNION:
|
| 678 |
+
Menggabungkan dua graph pattern
|
| 679 |
+
|
| 680 |
+
Assignment:
|
| 681 |
+
Menyimpan ekspresi ke variabel dengan sintaks:
|
| 682 |
+
|
| 683 |
+
SELECT (?firstName AS ?name) WHERE {
|
| 684 |
+
?person foaf:firstName ?firstName
|
| 685 |
+
}
|
| 686 |
+
|
| 687 |
+
Atau:
|
| 688 |
+
|
| 689 |
+
SELECT (fn:concat(?first, " ", ?last) AS ?fullName) WHERE {
|
| 690 |
+
?person foaf:firstName ?first ; foaf:lastName ?last\
|
| 691 |
+
}
|
| 692 |
+
|
| 693 |
+
Menggunakan SPARQL dalam Menentukan Aturan
|
| 694 |
+
|
| 695 |
+
Construct Query
|
| 696 |
+
|
| 697 |
+
- Keyword CONSTRUCT dalam SPARQL digunakan untuk membuat template data baru berdasarkan pola data yang sudah tersedia.
|
| 698 |
+
- Ini merupakan cara membuat inferensi atau aturan logis (disebut "Rule") dari fakta-fakta yang diketahui.
|
| 699 |
+
- Query CONSTRUCT memungkinkan kita menyatakan: "Jika sebuah pola ditemukan dalam data, maka simpulkan pola baru."
|
| 700 |
+
|
| 701 |
+
Contoh:
|
| 702 |
+
|
| 703 |
+
Pola: "John memiliki ayah bernama Joe."
|
| 704 |
+
Kesimpulan: "Anak dari Joe adalah John."
|
| 705 |
+
Kode:
|
| 706 |
+
CONSTRUCT { ?child :isChildOf ?parent }
|
| 707 |
+
WHERE { ?parent :hasFather ?child }
|
| 708 |
+
|
| 709 |
+
Menggabungkan Predikat Berbeda
|
| 710 |
+
|
| 711 |
+
Dalam RDF, relasi bisa dinyatakan dengan berbagai predikat seperti :hasFather dan :hasMother, yang bisa digabung menjadi predikat umum :hasParent.
|
| 712 |
+
|
| 713 |
+
Ini berguna untuk menyederhanakan query atas data yang heterogen.
|
| 714 |
+
|
| 715 |
+
Contoh data:
|
| 716 |
+
|
| 717 |
+
:Caroline :hasFather :John .
|
| 718 |
+
:John :hasFather :Joe .
|
| 719 |
+
:Maria :hasMother :Eunice .
|
| 720 |
+
:Maria :hasFather :Sargent .
|
| 721 |
+
|
| 722 |
+
Query untuk menggabungkan:
|
| 723 |
+
|
| 724 |
+
CONSTRUCT { ?s :hasParent ?o }
|
| 725 |
+
WHERE {
|
| 726 |
+
{ ?s :hasFather ?o } UNION { ?s :hasMother ?o }
|
| 727 |
+
}
|
| 728 |
+
|
| 729 |
+
Menangani Hirarki Data
|
| 730 |
+
|
| 731 |
+
Seringkali data memiliki struktur predikat yang berbeda seperti :hasSon, :hasDaughter, dan :hasParent.
|
| 732 |
+
|
| 733 |
+
Untuk membuat struktur data lebih seragam, kita bisa gunakan CONSTRUCT dan UNION.
|
| 734 |
+
|
| 735 |
+
Contoh tambahan data:
|
| 736 |
+
|
| 737 |
+
:Joe :hasSon :Robert .
|
| 738 |
+
:Joe :hasSon :Ted .
|
| 739 |
+
:Ted :hasSon :Patrick .
|
| 740 |
+
|
| 741 |
+
Query untuk menyamakan:
|
| 742 |
+
|
| 743 |
+
CONSTRUCT { ?parent :hasChild ?child }
|
| 744 |
+
WHERE { ?parent :hasSon ?child }
|
| 745 |
+
|
| 746 |
+
Inference dalam Web Semantik
|
| 747 |
+
|
| 748 |
+
Inference adalah kemampuan untuk menyimpulkan informasi baru dari fakta yang sudah diketahui.
|
| 749 |
+
|
| 750 |
+
Contoh:
|
| 751 |
+
|
| 752 |
+
Diberikan: Henley subClassOf Shirts
|
| 753 |
+
Maka bisa disimpulkan: Semua anggota Henley adalah juga anggota Shirts
|
| 754 |
+
|
| 755 |
+
Hal ini dinyatakan menggunakan RDF Schema (rdfs:subClassOf), mirip seperti pewarisan pada OOP.
|
| 756 |
+
|
| 757 |
+
SPARQL dan Inference
|
| 758 |
+
|
| 759 |
+
Inferensi bisa diotomatisasi menggunakan query CONSTRUCT.
|
| 760 |
+
|
| 761 |
+
Contoh Type Propagation:
|
| 762 |
+
|
| 763 |
+
CONSTRUCT { ?x rdf:type ?superClass }
|
| 764 |
+
WHERE {
|
| 765 |
+
?x rdf:type ?class .
|
| 766 |
+
?class rdfs:subClassOf ?superClass .
|
| 767 |
+
}
|
| 768 |
+
|
| 769 |
+
Contoh RDFS Query Sederhana
|
| 770 |
+
|
| 771 |
+
Diberikan data:
|
| 772 |
+
|
| 773 |
+
shop:Henleys rdfs:subClassOf shop:Shirts .
|
| 774 |
+
shop:ChamoisHenley rdf:type shop:Henleys .
|
| 775 |
+
|
| 776 |
+
Query:
|
| 777 |
+
|
| 778 |
+
SELECT ?item
|
| 779 |
+
WHERE { ?item rdf:type shop:Shirts }
|
| 780 |
+
|
| 781 |
+
Maka hasilnya adalah shop:ChamoisHenley.
|
| 782 |
+
|
| 783 |
+
Asserted vs Inferred Triples
|
| 784 |
+
|
| 785 |
+
Asserted Triples: triple yang dimasukkan secara eksplisit ke RDF Store, seperti dari file RDF atau integrasi data.
|
| 786 |
+
|
| 787 |
+
Inferred Triples: triple yang dihasilkan melalui inferensi dari asserted triples menggunakan inference engine.
|
| 788 |
+
|
| 789 |
+
Catatan:
|
| 790 |
+
|
| 791 |
+
Jika triple yang dihasilkan inference ternyata sudah ada di asserted triples, maka dianggap tetap sebagai asserted. Secara logika, tidak ada perbedaan antara keduanya.
|
| 792 |
+
|
| 793 |
+
Rangkuman Penting
|
| 794 |
+
|
| 795 |
+
1. CONSTRUCT digunakan untuk membuat graf baru dari hasil query.
|
| 796 |
+
2. Berguna untuk menyimpulkan informasi baru atau menyederhanakan struktur data.
|
| 797 |
+
3. UNION digunakan untuk menggabungkan pola berbeda.
|
| 798 |
+
4. RDF memungkinkan representasi data dari berbagai sumber sebagai satu kesatuan.
|
| 799 |
+
5. Inferensi membutuhkan engine khusus dan ditulis menggunakan CONSTRUCT.
|
| 800 |
+
6. Inferred Triples adalah hasil dari aturan inferensi, sedangkan Asserted Triples berasal dari data eksplisit.
|
| 801 |
+
|
requirements.txt
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
gradio
|
| 2 |
+
torch
|
| 3 |
+
transformers
|
| 4 |
+
scikit-learn
|
| 5 |
+
faiss-cpu
|