SlideShare a Scribd company logo
1 of 30
SSEELLAAMMAATT MMEENNEEMMPPUUHH MMAATTAAKKUULLIIAAHH 
DDoosseenn PPeemmbbiinnaa:: 
SSuujjiittoo,, SS..KKoomm..,, MM..PPdd.. 
Bisa dihubungi melalui: 
HP. 081 233 255 16 . 0341-751859 
E-mail: ojitstimata@gmail.com
KKOONNTTRRAAKK PPEEBBEELLAAJJAARRAANN 
((NNOORRMMAA AAKKAADDEEMMIIKK)) 
11.. SSeellaammaa ppeemmbbeellaajjaarraann bbeerrllaannggssuunngg ddeerriinngg HHPP 
ddiimmaattiikkaann.. 
22.. TTuuggaass ddiikkuummppuullkkaann sseessuuaaii jjaaddwwaall ddaann ddiillaakkuukkaann 
sseebbeelluumm ppeemmbbeellaajjaarraann ddiimmuullaaii.. BBaaggii yyaanngg tteerrllaammbbaatt 
11 hhaarrii nniillaaiinnyyaa hhaannyyaa 7755 %%,, bbiillaa tteerrllaammbbaatt 22 hhaarrii 
nniillaaiinnyyaa 5500%%,, ddaann jjiikkaa lleebbiihh ddaarrii 22 hhaarrii mmeennddaappaatt 
nniillaaii 00.. 
33.. TTuuggaass yyaanngg mmeerruuppaakkaann ppllaaggiiaatt//ccooppyy--aann mmeennddaappaatt 
nniillaaii 00 ((nnooll)).. 
44.. AAttuurraann jjuummllaahh mmiinniimmaall pprreesseennssii ddaallaamm ppeemmbbeellaajjaarraann 
tteettaapp ddiibbeerrllaakkuukkaann ((6655 %%)).. 
55.. MMaahhaassiisswwaa hhaarruuss bbeerrppaakkaaiiaann ssooppaann ddaann bbeerrsseeppaattuu..
PPEENNIILLAAIIAANN 
Nilai akhir diperoleh dari item2 
berikut: 
– Nilai Tugas dan Quiz : 30 % 
– Nilai UTS : 30 % 
– Nilai UAS : 40 % 
TToottaall ::110000 %%
TTUUJJUUAANN PPEEMMBBEELLAAJJAARRAANN 
SSeetteellaahh mmeennggiikkuuttii mmaattaakkuulliiaahh iinnii 
mmaahhaassiisswwaa ddiihhaarraappkkaann ddaappaatt 
mmeennggggaammbbaarrkkaann 
ppeerrmmaassaallaahhaann--ppeerrmmaassaallaahhaann 
sseeddeerrhhaannaa ddaallaamm bbeennttuukk 
aallggoorriittmmaa ddaann 
mmeennggiimmpplleemmeennttaassiikkaannnnyyaa 
kkeeddaallaamm bbaahhaassaa ppeemmrrooggrraammaann 
((bbaahhaassaa CC))
MMAATTEERRII KKUULLIIAAHH 
11.. KKoonnsseepp ppeemmrrooggrraammaann 
22.. BBeennttuukk ddaann ppeennggggaammbbaarraann aallggoorriittmmaa 
33.. PPeennggeennaallaann bbaahhaassaa CC ((ssttrruukkttuurr 
pprrooggrraamm)) 
44.. SSttrruukkttuurr kkoonnttrrooll ((bbrraanncchhiinngg,, llooooppiinngg)) 
55.. KKoonnsseepp ccoouunntteerr,, ggrraanndd mmiinnoorr ttoottaall,, 
ggrraanndd mmaayyoorr ttoottaall 
66.. TTeekknniikk--tteekknniikk ssoorrttiinngg 
77.. TTeekknniikk--tteekknniikk sseeaarrcchhiinngg
MMAARRII BBEELLAAJJAARR 
AALLGGOORRIITTMMAA && PPEEMMRROOGGRRAAMMAANN
DEFINISI ALGORITMA 
Algoritma adalah urutan langkah-langkah 
penyelesaian masalah yang 
disusun secara sistematis dan logis. 
Kata Logis merupakan kata kunci dalam 
algoritma, artinya langkah-langkah 
dalam algoritma tersebut harus 
dapat ditentukan bernilai bbeennaarr atau 
ssaallaahh.
AAKKSSII DDAARRII 
AALLGGOORRIITTMMAA 
• KKeejjaaddiiaann yyaanngg tteerrjjaaddii ppaaddaa sseellaanngg 
wwaakkttuu tteerrbbaattaass//tteerrtteennttuu yyaaiittuu 
ddiimmuullaaii ssaaaatt TT00 ((IInniissiiaall 
SSttaattee//KKeeaaddaaaann AAwwaall)) ddaann bbeerraakkhhiirr 
ppaaddaa ssaaaatt TT11 ((FFiinnaall SSttaattee//KKeeaaddaaaann 
AAkkhhiirr)).. 
• MMeenngghhaassiillkkaann eeffeekk yyaanngg tteerrddeeffiinniissii 
ddeennggaann bbaaiikk ddaann ddiirreennccaannaakkaann
Contoh Algoritma 
Dalam Kehidupan Sehari-hari 
• Cara membuat kue 
• Cara memprogram perkuliahan 
• Cara mendaftar Tugas Akhir 
• Cara mengendarai sepeda motor 
• Cara merakit komputer 
• Dsb.
Proses Algoritma Contoh Langkah 
dalam Algoritma 
1. Membuat Kue Resep Kue 
…,Masukkan telur ke 
dalam nampan, kocok 
hingga mengembang,… 
2. Membuat Pakaian Pola Pakaian 
..., gunting kain dari 
pinggir bawah ke arah 
kanan sejauh 5 cm,… 
3. Praktikum Fisika Panduan Praktikum 
…, Siapkan alat, 
hubungkan dengan catu 
daya, nyalakan,… 
4. Merakit Mobil Panduan Merakit 
…, sambungkan 
komponen A dengan 
komponen B,…. 
5. Mendaftar Tugas 
Akhir 
Prosedur Pendaftaran …, ambil formulir di 
BAAK, isi formulir, …
CONTOH 
Algoritma TUKAR_ISI_BEJANA 
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna 
merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua 
bejana itu sedemikian rupa sehingga bejana A berisi larutan berwarna 
biru dan bejana B berisi larutan berwarna merah. 
Coba bagaimana caranya..? 
Bejana A Bejana B
Keadaan Awal Sebelum Pertukaran: 
PPRROOSSEESS 
Keadaan Akhir Setelah Pertukaran:
Algoritma TUKAR_ISI_BEJANA 
Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, 
bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu 
sedemikian rupa sehingga bejana A berisi larutan berwarna biru dan bejana B 
berisi larutan berwarna merah. 
DESKRIPSI 
1. Tuangkan larutan dari bejana A ke dalam bejana C. 
2. Tuangkan larutan dari bejana B ke dalam bejana A. 
3. Tuangkan larutan dari bejana C ke dalam bejana B. 
Bejana A Bejana B Bejana C
PPrroosseess PPeerrttuukkaarraann 
1. Tuangkan larutan dari bejana A ke dalam bejana C 
2. Tuangkan larutan dari bejana B ke dalam bejana A 
3. Tuangkan larutan dari bejana C ke dalam bejana B
Apa jawaban anda dari 
kasus berikut? 
Bayangkan diri anda adalah seorang direktur BANK. Pada suatu hari, BANK 
tempat direktur tersebut bekerja dirampok oleh sekekelompok orang. 
Perampok langsung menuju ke ruang direktur dan meminta membukakan 
brankas. Karena sang direktur merasa punya kemampuan, maka dia 
melawan dengan sekuat tenaga. Terjadilah perkelahian yang sangat seru. 
Perampok berhasil dikalahkan dan melarikan diri tanpa membawa hasil, 
namun sang direktur mengalami luka yang cukup parah. Setelah dirawat 
beberapa hari di rumah sakit, sang direktur sembuh dan dapat bekerja 
kembali. 
Pertanyaannya adalah: 
u Berapa ussiiaa ssaanngg ddiirreekkttuurr?? 
a. 18-22 tahun b. 23-27 tahun 
c. 28-32 tahun d. lebih dari 32 tahun 
e. Pertanyaan tidak relevan dengan isi cerita (kasus) 
f. Tidak tahu/tidak ada jawaban yang benar
PPEENNYYAAJJIIAANN AALLGGOORRIITTMMAA 
Algoritma dapat disajikan dalam 3 
bentuk yaitu: 
1. Dalam bahasa natural (sehari-hari) 
2. Dalam pseudo-code (kode yang 
menyerupai program komputer dalam 
bahasa tertentu) 
3. Dalam bagan alir (flowchart)
MMeemmpprrooggrraamm == 
mmeennyyuurruuhh//mmeemmbbeerrii 
ppeerriinnttaahh kkoommppuutteerr uunnttuukk 
mmeellaakkuukkaann sseessuuaattuu
KKOOMMPPOONNEENN SSIISSTTEEMM 
KKOOMMPPUUTTEERR 
• HardWare 
Perangkat keras komputer yang terdiri 
atas CPU, Monitor, KeyBoard, Printer, 
Mouse, dsb. (yang ada bendanya) 
• SoftWare 
Perangkat lunak/program yang 
mengkoordinasikan /mengatur kerja 
dari HardWare. 
• BrainWare/HumanWare 
Perangkat manusia (SDM) yang 
mengoperasikan /mengendalikan kerja 
dari HardWare dan SoftWare
KKLLAASSIIFFIIKKAASSII 
SSOOFFTTWWAARREE 
• SSooffttWWaarree SSiisstteemm OOppeerraassii 
PPrrooggrraamm yyaanngg ddiigguunnaakkaann uunnttuukk mmeennjjaallaannkkaann 
HHaarrddWWaarree ((mmeessiinn)),, CCoonnttoohh :: DDOOSS,, WWiinnddoowwss,, 
LLiinnuuxx,, ddssbb 
• SSooffttWWaarree AApplliikkaassii 
PPrrooggrraamm yyaanngg ddiigguunnaakkaann uunnttuukk mmeennyyeelleessaaiikkaann 
mmaassaallaahh//aapplliikkaassii tteerrtteennttuu,, CCoonnttoohh :: MMss WWoorrdd,, 
MMSS EExxcceell,, SSPPSSSS,, MMyyOOBB 
• SSooffttWWaarree BBaahhaassaa 
PPrrooggrraamm yyaanngg ddiigguunnaakkaann uunnttuukk mmeenntteerrjjeemmaahhkkaann 
ppeerriinnttaahh yyaanngg ddiittuulliiss ddaallaamm bbaahhaassaa 
ppeemmrrooggrraammaann kkee ddaallaamm bbaahhaassaa mmeessiinn,, CCoonnttoohh :: 
PPaassccaall,, BBaassiicc,, CC,, JJaavvaa
KLASIFIKASI 
SOFTWARE BAHASA 
• Bahasa Tingkat Tinggi 
Contoh: Bahasa Pascal, Basic 
• Bahasa Tingkat Menengah 
Contoh: Bahasa C, Java 
• Bahasa Tingkat Rendah 
Contoh: Assembler
SSAARRAANN DDAALLAAMM PPEENNUULLIISSAANN 
AALLGGOORRIITTMMAA 
SSeettiiaapp aallggoorriittmmaa sseebbaaiikknnyyaa tteerrddiirrii ddaarrii 
ttiiggaa bbaaggiiaann yyaaiittuu :: 
11.. JJuudduull ((HHeeaaddeerr)) 
BBeerriissii kkoommeennttaarr mmeennggeennaaii ddiisskkrriippssii pprrooggrraamm,, 
iinniissiiaall ssttaattee ddaann ffiinnaall ssttaattee 
22.. KKaammuuss 
PPaaddaa bbaaggiiaann iinnii ddiiddeeffiinniissiikkaann mmeennggeennaaii nnaammaa 
vvaarriiaabbeell,, nnaammaa ccoonnssttaannttaa,, nnaammaa pprroosseedduurr aattaauu 
nnaammaa ffuunnggssii.. 
33.. AAllggoorriittmmaa 
PPaaddaa bbaaggiiaann iinnii aallggoorriittmmaa ddiittuulliisskkaann.. 
KKeetteerraannggaann ddiittuulliiss ddaallaamm ttaannddaa kkuurruunngg kkuurraawwaall 
{{kkoommeennttaarr//kkeetteerraannggaann}}
CCOONNTTOOHH AALLGGOORRIITTMMAA 
Program Mana_Max 
{Menetukan mana bil yang lebih besar dari 2 buah bil 
yang diinputkan dari keyboard} 
Kamus 
Hasil, X, Y : Integer; 
Algoritma 
Input (X, Y) {membaca nilai X dan Y dari KeyBoard} 
If X > Y Then {Operasi pembandingan} 
Hasil ¬ X {hasil diset dengan X} 
Else 
Hasil ¬ Y {hasil diset dengan Y} 
Output (Hasil) {nilai dlm variabel hasil dicetak ke MNT}
PROGRAM FLOWCHART 
(Bagan Alir Program) 
Bagan alir program merupakan bagan 
yang menjelaskan secara rinci 
langkah-langkah dan proses-proses 
yang terjadi dalam sebuah program. 
Bagan alir program menggunakan 
simbol-simbol berikut:
SIMBOL-SIMBOL 
DALAM BAGAN ALIR PROGRAM 
Simbol Fungsi 
Simbol titik terminal (terminal point) 
digunakan untuk menunjukkan awal (initial 
state) dan akhir (final state) suatu proses 
Simbol input/output digunakan untuk 
menggambarkan masukan/input baik dari 
keyboard maupun dari piranti input lainya, dan 
juga untuk menggambarkan keluaran/output 
dari suatu proses (biasanya berupa tampilan di 
monitor). 
Simbol proses digunakan untuk 
menggambarkan proses yang dilakukan baik 
proses komputer maupun proses manual
Simbol FlowChart lanjutan 
Simbol Fungsi 
Simbol persiapan (preparation) digunakan 
untuk memberi nilai awal suatu besaran 
Simbol proses terdefinisi (predifine process) 
digunakan untuk menunjukkan suatu operasi 
yang rinciannya ditunjukkan di tempat lain 
Simbol keputusan (decision) digunakan untuk 
penyeleksian kondisi didalam program 
Simbol panah menunjukkan arah arus/aliran 
dari suatu proses
Simbol FlowChart lanjutan 
Simbol Fungsi 
Simbol Konektor On-Page digunakan untuk 
menunjukkan bahwa suatu bagan alir belum 
selesai dan sambunganya ada di halaman 
yang sama. 
Simbol Konektor Off-Page digunakan untuk 
menunjukkan bahwa suatu bagan alir belum 
selesai dan sambunganya ada di halaman 
berikutnya (gambar A), sambunganya ada di 
halaman sebelumnya (gambar B). 
A 
B
LATIHAN 2 
Dalam suatu perhitungan, nilai X 
dihitung dari nilai A ditambah nilai 
B. Jika nilai X positif, nilai Y adalah 
nilai A dikali nilai B, jika X tidak 
positif, maka nilai Y sama dengan 
nilai X. Buatlah penggalan flowchart 
program untuk menghitung dan 
mencetak nilai X dan nilai Y.
LATIHAN 1 
Ada 2 buah bilangan yaitu A dan B, 
dimana A != B (A tidak sama 
dengan B). Buatlah flowchart 
program untuk mencari dan 
mencetak bilangan yang lebih 
besar dari kedua bilangan 
tersebut.
LATIHAN 3 
Untuk menentukan lulus tidaknya seorang 
siswa, diadakan ujian 2 kali. Jika nilai ujian 
pertama >= 70, siswa tersebut dinyatakan 
lulus. Jika tidak, rata-rata nilai ujian 
pertama dan ujian ke dua harus >=80 untuk 
dapat dinyatakan lulus. Selain kondisi 
tersebut siswa yang bersangkutan 
dinyatakan gagal. Buatlah flowchart 
program untuk menyelesaikan kasus 
tersebut, jika diketahui input untuk program 
tersebut adalah Nilai1 dan Nilai2.
SSaammppaaii jjuummppaa mmiinngggguu ddeeppaann

More Related Content

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Pengantar pemrograman

  • 1. SSEELLAAMMAATT MMEENNEEMMPPUUHH MMAATTAAKKUULLIIAAHH DDoosseenn PPeemmbbiinnaa:: SSuujjiittoo,, SS..KKoomm..,, MM..PPdd.. Bisa dihubungi melalui: HP. 081 233 255 16 . 0341-751859 E-mail: ojitstimata@gmail.com
  • 2. KKOONNTTRRAAKK PPEEBBEELLAAJJAARRAANN ((NNOORRMMAA AAKKAADDEEMMIIKK)) 11.. SSeellaammaa ppeemmbbeellaajjaarraann bbeerrllaannggssuunngg ddeerriinngg HHPP ddiimmaattiikkaann.. 22.. TTuuggaass ddiikkuummppuullkkaann sseessuuaaii jjaaddwwaall ddaann ddiillaakkuukkaann sseebbeelluumm ppeemmbbeellaajjaarraann ddiimmuullaaii.. BBaaggii yyaanngg tteerrllaammbbaatt 11 hhaarrii nniillaaiinnyyaa hhaannyyaa 7755 %%,, bbiillaa tteerrllaammbbaatt 22 hhaarrii nniillaaiinnyyaa 5500%%,, ddaann jjiikkaa lleebbiihh ddaarrii 22 hhaarrii mmeennddaappaatt nniillaaii 00.. 33.. TTuuggaass yyaanngg mmeerruuppaakkaann ppllaaggiiaatt//ccooppyy--aann mmeennddaappaatt nniillaaii 00 ((nnooll)).. 44.. AAttuurraann jjuummllaahh mmiinniimmaall pprreesseennssii ddaallaamm ppeemmbbeellaajjaarraann tteettaapp ddiibbeerrllaakkuukkaann ((6655 %%)).. 55.. MMaahhaassiisswwaa hhaarruuss bbeerrppaakkaaiiaann ssooppaann ddaann bbeerrsseeppaattuu..
  • 3. PPEENNIILLAAIIAANN Nilai akhir diperoleh dari item2 berikut: – Nilai Tugas dan Quiz : 30 % – Nilai UTS : 30 % – Nilai UAS : 40 % TToottaall ::110000 %%
  • 4. TTUUJJUUAANN PPEEMMBBEELLAAJJAARRAANN SSeetteellaahh mmeennggiikkuuttii mmaattaakkuulliiaahh iinnii mmaahhaassiisswwaa ddiihhaarraappkkaann ddaappaatt mmeennggggaammbbaarrkkaann ppeerrmmaassaallaahhaann--ppeerrmmaassaallaahhaann sseeddeerrhhaannaa ddaallaamm bbeennttuukk aallggoorriittmmaa ddaann mmeennggiimmpplleemmeennttaassiikkaannnnyyaa kkeeddaallaamm bbaahhaassaa ppeemmrrooggrraammaann ((bbaahhaassaa CC))
  • 5. MMAATTEERRII KKUULLIIAAHH 11.. KKoonnsseepp ppeemmrrooggrraammaann 22.. BBeennttuukk ddaann ppeennggggaammbbaarraann aallggoorriittmmaa 33.. PPeennggeennaallaann bbaahhaassaa CC ((ssttrruukkttuurr pprrooggrraamm)) 44.. SSttrruukkttuurr kkoonnttrrooll ((bbrraanncchhiinngg,, llooooppiinngg)) 55.. KKoonnsseepp ccoouunntteerr,, ggrraanndd mmiinnoorr ttoottaall,, ggrraanndd mmaayyoorr ttoottaall 66.. TTeekknniikk--tteekknniikk ssoorrttiinngg 77.. TTeekknniikk--tteekknniikk sseeaarrcchhiinngg
  • 6. MMAARRII BBEELLAAJJAARR AALLGGOORRIITTMMAA && PPEEMMRROOGGRRAAMMAANN
  • 7. DEFINISI ALGORITMA Algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara sistematis dan logis. Kata Logis merupakan kata kunci dalam algoritma, artinya langkah-langkah dalam algoritma tersebut harus dapat ditentukan bernilai bbeennaarr atau ssaallaahh.
  • 8. AAKKSSII DDAARRII AALLGGOORRIITTMMAA • KKeejjaaddiiaann yyaanngg tteerrjjaaddii ppaaddaa sseellaanngg wwaakkttuu tteerrbbaattaass//tteerrtteennttuu yyaaiittuu ddiimmuullaaii ssaaaatt TT00 ((IInniissiiaall SSttaattee//KKeeaaddaaaann AAwwaall)) ddaann bbeerraakkhhiirr ppaaddaa ssaaaatt TT11 ((FFiinnaall SSttaattee//KKeeaaddaaaann AAkkhhiirr)).. • MMeenngghhaassiillkkaann eeffeekk yyaanngg tteerrddeeffiinniissii ddeennggaann bbaaiikk ddaann ddiirreennccaannaakkaann
  • 9. Contoh Algoritma Dalam Kehidupan Sehari-hari • Cara membuat kue • Cara memprogram perkuliahan • Cara mendaftar Tugas Akhir • Cara mengendarai sepeda motor • Cara merakit komputer • Dsb.
  • 10. Proses Algoritma Contoh Langkah dalam Algoritma 1. Membuat Kue Resep Kue …,Masukkan telur ke dalam nampan, kocok hingga mengembang,… 2. Membuat Pakaian Pola Pakaian ..., gunting kain dari pinggir bawah ke arah kanan sejauh 5 cm,… 3. Praktikum Fisika Panduan Praktikum …, Siapkan alat, hubungkan dengan catu daya, nyalakan,… 4. Merakit Mobil Panduan Merakit …, sambungkan komponen A dengan komponen B,…. 5. Mendaftar Tugas Akhir Prosedur Pendaftaran …, ambil formulir di BAAK, isi formulir, …
  • 11. CONTOH Algoritma TUKAR_ISI_BEJANA Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian rupa sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. Coba bagaimana caranya..? Bejana A Bejana B
  • 12. Keadaan Awal Sebelum Pertukaran: PPRROOSSEESS Keadaan Akhir Setelah Pertukaran:
  • 13. Algoritma TUKAR_ISI_BEJANA Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian rupa sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah. DESKRIPSI 1. Tuangkan larutan dari bejana A ke dalam bejana C. 2. Tuangkan larutan dari bejana B ke dalam bejana A. 3. Tuangkan larutan dari bejana C ke dalam bejana B. Bejana A Bejana B Bejana C
  • 14. PPrroosseess PPeerrttuukkaarraann 1. Tuangkan larutan dari bejana A ke dalam bejana C 2. Tuangkan larutan dari bejana B ke dalam bejana A 3. Tuangkan larutan dari bejana C ke dalam bejana B
  • 15. Apa jawaban anda dari kasus berikut? Bayangkan diri anda adalah seorang direktur BANK. Pada suatu hari, BANK tempat direktur tersebut bekerja dirampok oleh sekekelompok orang. Perampok langsung menuju ke ruang direktur dan meminta membukakan brankas. Karena sang direktur merasa punya kemampuan, maka dia melawan dengan sekuat tenaga. Terjadilah perkelahian yang sangat seru. Perampok berhasil dikalahkan dan melarikan diri tanpa membawa hasil, namun sang direktur mengalami luka yang cukup parah. Setelah dirawat beberapa hari di rumah sakit, sang direktur sembuh dan dapat bekerja kembali. Pertanyaannya adalah: u Berapa ussiiaa ssaanngg ddiirreekkttuurr?? a. 18-22 tahun b. 23-27 tahun c. 28-32 tahun d. lebih dari 32 tahun e. Pertanyaan tidak relevan dengan isi cerita (kasus) f. Tidak tahu/tidak ada jawaban yang benar
  • 16. PPEENNYYAAJJIIAANN AALLGGOORRIITTMMAA Algoritma dapat disajikan dalam 3 bentuk yaitu: 1. Dalam bahasa natural (sehari-hari) 2. Dalam pseudo-code (kode yang menyerupai program komputer dalam bahasa tertentu) 3. Dalam bagan alir (flowchart)
  • 17. MMeemmpprrooggrraamm == mmeennyyuurruuhh//mmeemmbbeerrii ppeerriinnttaahh kkoommppuutteerr uunnttuukk mmeellaakkuukkaann sseessuuaattuu
  • 18. KKOOMMPPOONNEENN SSIISSTTEEMM KKOOMMPPUUTTEERR • HardWare Perangkat keras komputer yang terdiri atas CPU, Monitor, KeyBoard, Printer, Mouse, dsb. (yang ada bendanya) • SoftWare Perangkat lunak/program yang mengkoordinasikan /mengatur kerja dari HardWare. • BrainWare/HumanWare Perangkat manusia (SDM) yang mengoperasikan /mengendalikan kerja dari HardWare dan SoftWare
  • 19. KKLLAASSIIFFIIKKAASSII SSOOFFTTWWAARREE • SSooffttWWaarree SSiisstteemm OOppeerraassii PPrrooggrraamm yyaanngg ddiigguunnaakkaann uunnttuukk mmeennjjaallaannkkaann HHaarrddWWaarree ((mmeessiinn)),, CCoonnttoohh :: DDOOSS,, WWiinnddoowwss,, LLiinnuuxx,, ddssbb • SSooffttWWaarree AApplliikkaassii PPrrooggrraamm yyaanngg ddiigguunnaakkaann uunnttuukk mmeennyyeelleessaaiikkaann mmaassaallaahh//aapplliikkaassii tteerrtteennttuu,, CCoonnttoohh :: MMss WWoorrdd,, MMSS EExxcceell,, SSPPSSSS,, MMyyOOBB • SSooffttWWaarree BBaahhaassaa PPrrooggrraamm yyaanngg ddiigguunnaakkaann uunnttuukk mmeenntteerrjjeemmaahhkkaann ppeerriinnttaahh yyaanngg ddiittuulliiss ddaallaamm bbaahhaassaa ppeemmrrooggrraammaann kkee ddaallaamm bbaahhaassaa mmeessiinn,, CCoonnttoohh :: PPaassccaall,, BBaassiicc,, CC,, JJaavvaa
  • 20. KLASIFIKASI SOFTWARE BAHASA • Bahasa Tingkat Tinggi Contoh: Bahasa Pascal, Basic • Bahasa Tingkat Menengah Contoh: Bahasa C, Java • Bahasa Tingkat Rendah Contoh: Assembler
  • 21. SSAARRAANN DDAALLAAMM PPEENNUULLIISSAANN AALLGGOORRIITTMMAA SSeettiiaapp aallggoorriittmmaa sseebbaaiikknnyyaa tteerrddiirrii ddaarrii ttiiggaa bbaaggiiaann yyaaiittuu :: 11.. JJuudduull ((HHeeaaddeerr)) BBeerriissii kkoommeennttaarr mmeennggeennaaii ddiisskkrriippssii pprrooggrraamm,, iinniissiiaall ssttaattee ddaann ffiinnaall ssttaattee 22.. KKaammuuss PPaaddaa bbaaggiiaann iinnii ddiiddeeffiinniissiikkaann mmeennggeennaaii nnaammaa vvaarriiaabbeell,, nnaammaa ccoonnssttaannttaa,, nnaammaa pprroosseedduurr aattaauu nnaammaa ffuunnggssii.. 33.. AAllggoorriittmmaa PPaaddaa bbaaggiiaann iinnii aallggoorriittmmaa ddiittuulliisskkaann.. KKeetteerraannggaann ddiittuulliiss ddaallaamm ttaannddaa kkuurruunngg kkuurraawwaall {{kkoommeennttaarr//kkeetteerraannggaann}}
  • 22. CCOONNTTOOHH AALLGGOORRIITTMMAA Program Mana_Max {Menetukan mana bil yang lebih besar dari 2 buah bil yang diinputkan dari keyboard} Kamus Hasil, X, Y : Integer; Algoritma Input (X, Y) {membaca nilai X dan Y dari KeyBoard} If X > Y Then {Operasi pembandingan} Hasil ¬ X {hasil diset dengan X} Else Hasil ¬ Y {hasil diset dengan Y} Output (Hasil) {nilai dlm variabel hasil dicetak ke MNT}
  • 23. PROGRAM FLOWCHART (Bagan Alir Program) Bagan alir program merupakan bagan yang menjelaskan secara rinci langkah-langkah dan proses-proses yang terjadi dalam sebuah program. Bagan alir program menggunakan simbol-simbol berikut:
  • 24. SIMBOL-SIMBOL DALAM BAGAN ALIR PROGRAM Simbol Fungsi Simbol titik terminal (terminal point) digunakan untuk menunjukkan awal (initial state) dan akhir (final state) suatu proses Simbol input/output digunakan untuk menggambarkan masukan/input baik dari keyboard maupun dari piranti input lainya, dan juga untuk menggambarkan keluaran/output dari suatu proses (biasanya berupa tampilan di monitor). Simbol proses digunakan untuk menggambarkan proses yang dilakukan baik proses komputer maupun proses manual
  • 25. Simbol FlowChart lanjutan Simbol Fungsi Simbol persiapan (preparation) digunakan untuk memberi nilai awal suatu besaran Simbol proses terdefinisi (predifine process) digunakan untuk menunjukkan suatu operasi yang rinciannya ditunjukkan di tempat lain Simbol keputusan (decision) digunakan untuk penyeleksian kondisi didalam program Simbol panah menunjukkan arah arus/aliran dari suatu proses
  • 26. Simbol FlowChart lanjutan Simbol Fungsi Simbol Konektor On-Page digunakan untuk menunjukkan bahwa suatu bagan alir belum selesai dan sambunganya ada di halaman yang sama. Simbol Konektor Off-Page digunakan untuk menunjukkan bahwa suatu bagan alir belum selesai dan sambunganya ada di halaman berikutnya (gambar A), sambunganya ada di halaman sebelumnya (gambar B). A B
  • 27. LATIHAN 2 Dalam suatu perhitungan, nilai X dihitung dari nilai A ditambah nilai B. Jika nilai X positif, nilai Y adalah nilai A dikali nilai B, jika X tidak positif, maka nilai Y sama dengan nilai X. Buatlah penggalan flowchart program untuk menghitung dan mencetak nilai X dan nilai Y.
  • 28. LATIHAN 1 Ada 2 buah bilangan yaitu A dan B, dimana A != B (A tidak sama dengan B). Buatlah flowchart program untuk mencari dan mencetak bilangan yang lebih besar dari kedua bilangan tersebut.
  • 29. LATIHAN 3 Untuk menentukan lulus tidaknya seorang siswa, diadakan ujian 2 kali. Jika nilai ujian pertama >= 70, siswa tersebut dinyatakan lulus. Jika tidak, rata-rata nilai ujian pertama dan ujian ke dua harus >=80 untuk dapat dinyatakan lulus. Selain kondisi tersebut siswa yang bersangkutan dinyatakan gagal. Buatlah flowchart program untuk menyelesaikan kasus tersebut, jika diketahui input untuk program tersebut adalah Nilai1 dan Nilai2.