Pengantar Informatika : Bahasa Pemrograman, Konsep Pemrograman, dan Latihan Soal ( Bilingual )
Berkomunikasi dengan Komputer
- Komputer menggunakan konsep sistem dijital dalam mengkomunikasikan data/informasi.
- Sebagai perangkat elektronik, komputer hanya mengenal status On atau status Off
- Bilangan 1 digunakan untuk merepresentasikan status On dan Bilangan 0 untuk status Off
Bahasa Pemrograman
Program ditulis menggunakan suatu bahasa pemrograman.
Setiap bahasa pemrograman dibangun berdasarkan pada minimal satu
paradigma pemrograman.
Programming Methodologies
Machine language
The native language of a
computer
- Instructions for the four basic arithmetic operations, for comparing pairs of numbers, and for repeating instructions, etc. are all binary
- Instructions, memory locations, numbers, and characters are all represented by strings of zeros and ones
Example :
“Add the content of address 920 into address 527”
32 bit word :
00110100011100110000001000001111
The first 6 bits define operation/function :
ADD Two 13-bit addresses two operands
Assembly language
Functionally equivalent to
machine language but easier for people to read,
write, and understand
Example :
ADD, MPLY, MOVE, STORE, LOAD, etc.
“Add P to Q placing the result in R”
1) ADD P Q R
2) MOVE P R; ADD Q R
3) LOAD P; ADD Q; STORE R
Structured programming
Structured programming is a technique
that makes the programming process easier
and more productive.
Serangkaian prosedur dan fungsi yang memuat urutan instruksi untuk memanipulasi data, dengan tujuan untuk menyelesaikan suatu problem.
A program is well-structured if:
- It’s made up of logically cohesive modules
- The modules are arranged in a hierarchy
- It’s straightforward and readable
High-Level Languages
- High-level languages fall somewhere between natural human languages and precise machine languages.
- Examples: C++, C, Java, Basic, FORTRAN, COBOL, Python, Pascal, LISP, ADA, PROLOG
- These languages are easier to write and debug and are transportable between machines.
Object-Oriented Programming
- Serangkaian objek yang bekerjasama (saling mengirim pesan) untuk menyelesaikan suatu problem
- In object-oriented programming (OOP), a program is not just a collection of stepby-step instructions or procedures, but a collection of objects.
- Objects contain both data and instructions and can send and receive messages.
- C++ and Java are today’s most popular object-oriented languages.
Konsep Pemrograman
Berpikir Komputasi
“
Berpikir komputasi memungkinkan kita untuk
menggunakan komputasi sesuai dengan kebutuhan kita.
Kemampuan ini akan menjadi salah satu kemampuan
dasar yang harus dimiliki di abad 21
”
“
Berpikir komputasi adalah proses berpikir mulai dari
merumuskan masalah hingga merumuskan solusi, dimana
langkah penyelesaian direpresentasikan dalam format
yang efektif dan mudah digunakan oleh agen pemrosesan
data
”
[CunySnyderWing10]
Dilansir dari (http://www.cs.cmu.edu/link/research-notebook-computational-thinkingwhat-and-why)
- Computational thinking is about looking at a problem in a way that a computer can help us to solve it.
- This is a two-step process:
- 1. First, we think about the steps needed to solve a problem.
- 2. Then, we use our technical skills to get the computer working on the problem.
- For example, if you’re going to make an animation, you need to start by planning the story and how you’ll shoot it before you can use computer hardware and software to help you get the work done. The thinking that is undertaken before starting work on a computer is known as computational thinking.
Contoh pemecahan masalah dengan komputer
Konsep Dasar Pemrograman
- Analisis Masalah
- Spesifikasi Kebutuhan
- Organisasi/Struktur Data
- Rancangan urutan penyelesaian (dapat dimodelkan dengan diagram Flow Chart)
- Algoritma
- Koding Program
- Kompilasi, Eksekusi dan Uji/Test Kasus
Contoh Kasus
Nick Nuke is a nuclear physicist at Dispatch
University and is conducting research with the
radioactive element polonium. The half-life of
polonium is 140 days, which means that because of
radioactive decay the amount of polonium that
remains after 140 days is one-half of the original
amount. Nick would like to know how much
polonium will remain after running his experiment
for 180 days if 10 milligrams are present initially.
Langkah Penyelesaian Kasus
Langkah 1 : Analisis Masalah
- Memahami masalah dengan seksama dan buatlah rumusan masalah sesuai pemahaman anda
- Kelompokkan kebutuhan data/informasi dalam bentuk :
- Deskripsi data input yang dibutuhkan untuk menyelesaikan masalah
- Deskripsi data output sebagai solusi (penyelesaian) masalah
Langkah 2 : Spesifikasi Kebutuhan
- Buat tempat/variabel (dengan menyiapkan nama variabel) untuk menyimpan data input, data output.
- Nama variabel boleh singkat tetapi informatif
- Siapkan rumus (model matematika) yang dibutuhkan untuk proses penyelesaian masalah
- Upayakan membuat satu atau beberapa rumus umum
Pembuatan Rumus Umum |
Langkah 3 : Organisasi / Struktur Data
- Dengan memahami rumus umum, jika diperlukan, siapkan variabel baru untuk tempat menyimpan data hasil dari langkah proses penyelesaian.
- Misalnya, untuk menghitung nilai dan menetapkan jenis dari akar pers Ax2+Bx+C=0 selain variabel untuk data input A, B, C, dibutuhkan juga variabel D untuk menyimpan hasil determinan.
- Untuk setiap variabel, tetapkan tipe data yang dapat dimuat dalam variabel tersebut
- Catatan : Penjelasan tentang tipe-tipe data lainnya akan dibahas pada Kuliah selanjutnya ( masukkan link blogTipe Data)
Langkah 4 : Urutan penyelesaian
- Input nilai untuk variabel JML_AWAL, UMUR, WAKTU
- Hitung JML_AKHIR sesuai rumus
- Tampilkan nilai dari variabel JML_AKHIR
- Urutan penyelesaian dapat dimodelkan menggunakan diagram FlowChart atau dalam bentuk algoritma
CATATAN TAMBAHAN
Simbol Flowchat
Flowchart
Langkah 5 : Algoritma
Langkah 6 : Koding Program Force 2.0
Langkah 7 :
Kompilasi, Eksekusi, dan Uji
Testing/Pengujian
Pengujian program merupakan proses validasi
dan verifikasi bahwa sebuah program:
- Memenuhi kebutuhan; dan
- Berjalan sesuai dengan yang diharapkan
Persiapan Testing/Pengujian
- Siapkan kasus uji dengan data dalam range, pada batas range, dan di luar range
- Siapkan kasus uji sehingga semua pencabangan program pernah dieksekusi
- Siapkan kasus uji yang berkaitan dengan sistem keamanan data, kondisi tidak normal, dan kondisi gangguan eksternal
Contoh Testing/Pengujian
Latihan 1
Riset terhadap elemen Uranium menyimpulkan
bahwa Uranium akan berkembang menjadi lebih
banyak 20% setelah waktu pembiakkan 80 hari.
Jika diketahui jumlah awal (miligram) Uranium dan
jumlah hari yang digunakan untuk riset, maka
buatlah langkah penyelesaian untuk menghitung
jumlah akhir (miligram) Uranium.
Latihan 2
- Buat tahap-tahap pemrograman untuk menghitung nilai akar dan jenis akar dari sebuah persamaan kuadrat
- Nama program: AkarPersKuadrat
Pembahasan Latihan 2
Langkah 1: Analisis masalah
- Menghitung dan menetapkan jenis akar persamaan kuadrat Ax2 + Bx + C = 0
- Input : koefisien A, B, C (A ≠ 0)
- Catatan : Untuk menghasilkan Jenis akar, dibutuhkan nilai Determinan dari persamaan kuadrat
- Output : Akar X1 , X2 , dan Jenis akar yaitu :
- Jenis = “Akar berlainan” ; atau
- Jenis = “Akar kembar” ; atau
- Jenis = “Akar bilangan kompleks
Langkah 2 : Spesifikasi Kebutuhan
- D = B2 – 4AC
- X1 = (-B + √D)/(2A)
- X2 = (-B – √D)/(2A)
- D > 0 → Jenis = “Akar berlainan”
- D = 0 → Jenis = “Akar kembar”
- D < 0 → Jenis = “Akar bilangan kompleks”
Langkah 3 : Organisasi/Struktur Data
Tipe data untuk Variabel :
- A, B, C : koefisien persamaan kuadrat
- D : Nilai determinan
- X1, X2 : akar persamaan kuadrat
- JENIS : Jenis akar sesuai hasil D
Langkah 4 : Urutan penyelesaian
- Masukan nilai A, B, C ; A ≠ 0
- Hitung D
- Hitung X1 dan X2
- Tetapkan Jenis berdasarkan nilai D
- Tampilkan X1, X2, Jenis
Langkah 5 : Algoritma
Langkah 6 : Koding
Force 2.0
Langkah 7 : Kompilasi-Eksekusi-Uji
Kasus Uji :
4x2+6x – 40 = 0
- x1 =2.5; x2= – 4
- Akar Berlainan 4x2 – 20x + 25 = 0
- x1 =2.5; x2= 2.5
- Akar Kembar 2x2 – 3x – 5 = 0
- x1 =0.75 + 1.39194107i
- x2= 0.75 – 1.39194107i
- Akar Bilangan Kompleks
Latihan 3
Buatlah langkah penyelesaian !
- Mengubah derajat Fahrenheit menjadi derajat Celcius
- Menghitung jumlah N bilangan bulat positif : 1+2+3+4+ .. + (N-1) +N 1.
- Menghitung bilangan Faktorial
- Menghitung bilangan Fibonacci
- Menghitung akar bilangan bulat ganjil positif untuk bilangan lebih kecil dari 50 : 1; 3; 5; 7; …. ; 47; 49 4.
- Menetapkan nama bulan (Januari sd Desember)
- Menetapkan nama Program Studi di Universitas X
Posting Komentar