Pengantar Informatika : Bahasa Pemrograman, Konsep Pemrograman, dan Latihan Soal ( Bilingual )

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

  1. Analisis Masalah 
  2. Spesifikasi Kebutuhan 
  3. Organisasi/Struktur Data 
  4. Rancangan urutan penyelesaian (dapat dimodelkan dengan diagram Flow Chart) 
  5. Algoritma 
  6. Koding Program 
  7. 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 !

  1. Mengubah derajat Fahrenheit menjadi derajat Celcius 
  2. Menghitung jumlah N bilangan bulat positif : 1+2+3+4+ .. + (N-1) +N 1. 
  3. Menghitung bilangan Faktorial 
  4. Menghitung bilangan Fibonacci 
  5. Menghitung akar bilangan bulat ganjil positif untuk bilangan lebih kecil dari 50 : 1; 3; 5; 7; …. ; 47; 49 4. 
  6. Menetapkan nama bulan (Januari sd Desember) 
  7. Menetapkan nama Program Studi di Universitas X




Post a Comment

Lebih baru Lebih lama