Anda di halaman 1dari 10

Pemograman Terstruktur

Lembar Jawaban UTS

Nama: Hisyam Kazim

NPM: 30722082

Kelas: 107

1. Bahasa pemograman adalah sekumpulan instruksi yang diberikan kepada komputer untuk
dapat melaksanakan tugas-tugas tertentu dalam menyelesaikan suatu permasalahan. Bahasa
pemograman berfungsi untuk memerintah komputer agar dapat mengolah data sesuai
dengan langkah-langkah penyelesaian yang telah ditentukan oleh programmer. Bahasa ini
memungkinkan seorang programmer untuk menentukan secara persis data mana yang akan
diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa
yang akan diambil dalam berbagai situasi secara persis.
Bahasa pemograman terbagi menjadi tiga, yaitu:
a. Bahasa pemograman Tingkat Rendah (Low-Level)
Bahasa pemograman tingkat rendah berisi instruksi-instruksi yang ditujukan kepada
komputer dengan menggunakan kode biner (binary). Kode-kode tersebut akan langsung
diterjemahkan oleh komputer tanpa harus melalui proses kompilasi. Contoh bahasa
pemograman tingkat rendah adalah Bahasa Assembly.
b. Bahasa pemograman Tingkat Menengah (Mid-Level)
Bahasa pemograman tingkat menengah adalah instruksi yang berupa kode mnemonic
seperti ADD, SUB, DIV, STOLOD, JMP dan lainnya. Namun, bahasa dalam tingkat
menengah ini harus diterjemahkan terlebih dahulu ke dalam bahasa mesin, karena
komputer hanya mengerti penggunaan bahasa mesin. Contoh bahasa pemograman
tingkat menengah adalah Bahasa C.
c. Bahasa pemograman Tingkat Tinggi (High-Level)
Bahasa pemograman tingkat tinggi ini berisi instruksi-instruksi yang menggunakan bahasa
alamiah yang dimengerti manusia, seperti bahasa Inggris atau matematika. Tingkatan ini
diciptakan untuk mengatasi kekurangan yang dimiliki tingkat menengah dan tingkat
rendah. Contoh bahasa pemograman tingkat tinggi adalah Basic, Pascal, C++, Python, dsb.
2. Perbedaan dari Compiler dan Interpreter adalah di cara mereka nge-translate ke bahasa yang
di mengertikan komputer.
a. Compiler
Compiler mengambil seluruh program dan mengubahnya menjadi kode objek yang
biasanya disimpan dalam file. Kode objek juga direferensikan sebagai kode binary (1
dan 0) dan dapat langsung dieksekusi oleh mesin setelah proses linking. Contoh
bahasa pemrograman yang menggunakan ini adalah C++. Berikut di bawah ini adalah
cuplikan dari bagaimana file C++ akan di olah.
b. Interpreter
Interpreter akan langsung mengeksekusi instruksi yang ditulis dalam bahasa
pemrograman atau scripting tanpa sebelumnya mengubahnya menjadi kode objek
seperti compiler. Contoh dari bahasa pemrograman yang menggunakan interpreter
adalah Python. Proses ini dilakukan pas program di run.

c. Perbedaan

Compiler Interpreter
Membaca seluruh program lalu Membaca statement satu per satu dan
ngetranslate secara kesuluruhan translatenya
Biasanya execution timenya lebih Biasa execution time lebih lambat
cepat
Bisa memakan memory karena akan Lebih efisien memory karena tidak ada
menghasilkan file saat proses file extra yang akan dibuat selama
translation proses translation
Bahasa pemrograman: C++, Java , C Bahasa pemrograman: Python, Ruby
dan Javascript
3. Langkah-langkah dalam menyusun suatu program:
a. Analisis Kebutuhan Pembuatan Program
Saat hendak membuat program maka tentunya harus mengetahui kebutuhan apa
yang dibutuhkan saat ini. Kemampuan Anda dalam menganalisa akan diasah setajam
mungkin pada tahap ini. Setelah mengetahui kebutuhan akan sebuah program
tertentu. Maka tentunya perlu dipikirkan mengenai apa saja komponen atau
masukan data yang diperlukan sehingga nantinya bisa menghasilkan sebuah output
yang diinginkan.
b. Rencana Desain Sistem
Setelah menganalisa kebutuhan akan sebuah program, maka perlu mendesain proses
yang menerangkan bagaimana nantinya program tersebut bisa menyelesaikan
masalah dan memenuhi kebutuhan yang ada. Pada dasarnya bisa saja langsung
melakukan coding dan tidak membuat rencana desain sistem namun jika terjadi
kesalahan yang tidak diinginkan pada hasil program tersebut, harus melakukan
coding ulang dari awal yang tentunya hanya akan membuang-buang waktu saja.
Sebaliknya bisa membuat flowchart atau algoritma tentang rencana desain sistem
tersebut. Flowchart biasanya berupa symbol-simbol sedangkan algoritma bisa berupa
keterangan-keterangan yang Anda buat secara manual sesuai dengan yang
diinginkan.
c. Implementasi Program Atau Coding
Setelah merencanakan desain sistem dengan membuat flowchart atau algoritma
maka tibalah saatnya untuk melakukan coding atau implementasi program. Pada
tahap ini juga termasuk juga kegiatan untuk melakukan testing dan melakukan
perbaikan pada error yang ditemukan. Karena biasanya pasti ada beberapa error yang
terjadi setelah melakukan coding. Sebab proses coding merupakan proses yang rumit
dan dibutuhkan ketelitian untuk melakukannya.
d. Dokumentasi
Anda sebaiknya juga membuat semacam dokumentasi untuk mengarsipkan program-
program yang pernah dibuat. Pendataan itu sangat penting terutama jika sudah
membuat banyak sekali program. Mana tau kelak membutuhkan catatan atau code
program lama untuk dipergunakan kembali dalam mengembangkan program yang
baru. Jika tidak memiliki dokumen atau catatan mengenai program-program yang
sudah pernah dibuat sebelumnya maka kelak akan kerepotan saat membutuhkan
code program tertentu.
e. Menguji Program
Pada tahapan ini maka akan menguji program yang sudah selesai dibuat, pada
tahapan ini akan menguji setiap modul yang ada, kemudian melakukan input data
serta melihat bagaimana program akan menyelesaikan masalah yang ada. Jangan
lupa juga untuk melakukan pengujian program pada berbagai situasi yang mungkin
terjadi pada saat penggunaannya kelak.
f. Pengembangan Program
Pada tahap ini berkaitan dengan pengembangan program berupa update fitur hingga
menghilangkan bug yang muncul. Jika program tersebut berhasil biasanya ke
depannya pasti akan terus ada pembaruan-pembaruan pada modulnya untuk
membuat program tersebut menjadi program yang lebih fungsional bagi para
penggunanya.
4. Variabel atau pengubah adalah suatu lambang dari sebuah lokasi yang berada di memori
utama komputer yang dapat berisi suatu nilai. Nilai yang berada di lokasi memori tersebut
dapat berubah selama program dieksekusi. Guna variabel adalah sebagai tempat sementara
untuk menyimpan data yang sedang diolah. Pemberian nilai kedalam suatu variabel
mempunyai bentuk penulisan yang berbeda-beda pada setiap bahasa pemrograman.
Meskipun mempunyai arti yang sama dalam pemrogramannya. Ada beberapa aturan yang
perlu kita ketahui terkait pendefinisian variabel di c++:
a. Penulisan variabel harus diawali dengan huruf, tidak boleh menggunakan angka atau
simbol tertentu seperti $, ?, %, #, !, &, *, (, ), -, +, = dll.
b. Variabel bisa terdiri dari gabungan huruf dan angka, namun tetap harus diawali
dengan huruf kemudian diikuti angka. Contoh mahasiswa1 (benar), 1mahasiswa
(salah)
c. Variabel hanya terdiri dari satu kata (tidak boleh lebih dari satu kata), jika terdapat
dua kata sebaiknya gunakan penghubung underscore (_).
d. Penulisan variabel dalam c++ bersifat case sensitive artinya bahwa huruf besar kecil
dibedakan. Contohnya a dan A adalah dua variabel yang berbeda.
e. Nama variabel tidak boleh mengandung keyword atau kata kunci tertentu yang
digunakan pada C++ seperti for, if, break,continue,dll.
5. Tipe-tipe data pada C++:
a. Tipe data Integer
Integer adalah bilangan yang meliputi seluruh nomor seperti 12, 157, -34, 2 dan lain
sebagainya.
b. Tipe data Karakter (char)
Karakter adalah sembarang huruf, angka, atau tanda baca tunggal. Tipe data karakter
merupakan kumpulan bermacammacam karakter yang terdiri dari alfabet. Dimana
karakter antara lain:
i. Alfabet bilangan decimal: 0, 1, 2,…, 9;
ii. Alfabet huruf latin besar : A, B,C,…, Z;
iii. Alfabet huruf latin kecil:a, b,c, ... , z;
iv. Tanda baca tunggal : !, @, ~, ?, ;, ‘, &, dan sebagainya.
c. Tipe data String
String adalah deretan karakter yang diakhiri dengan sebuah karakter kosong.
Konstanta bertipe ditulis diantara tanda petik dua (“ ….”).
d. Tipe Data Logika (Boolean)
Tipe data logika digunakan untuk merepresentasikan data-data yang mengandung
dua buah nilai logika boolean, yaitu: nilai 1 dan 0 atau sering juga disebut sebagai nilai
true dan false (benar dan salah).
e. Tipe Data Void
Void menyatakan tipe kosong dan digunakan untuk: pertaman untuk
mendeklarasikan fungsi yang tidak mengembalikan nilai apapun. Serta fungsi kedua
adalah untuk mendeklarasikan fungsi yang tidak menerima parameter apapun. Pada
tipe data ini jika diawali dengan operator *, menyatakan penunjuk terhadap
sembarang tipe data.
f. Tipe Data Larik / array
Array adalah sekelompok data bertipe sama yang menduduki lokasi memori yang
berurutan. Jumlah elemen array dinyatakan dengan cara mengapit jumlah yang
dimaksud dengan tanda ‘ [ … ] ‘.
g. Tipe Data Struct, Union
Tipe data ini digunakan untuk mendeklarasikan sekelompok data yang memiliki tipe
yang berlainan. struct: elemennya berada dilokasi memori yang berbeda, dan union:
elemennya ada dilokasi memori yang sama.
6. Jenis-jenis operator:
a. Operator Unary
Operator Unary merupakan operator yang hanya memiliki atau melibatkan sebuah
operand saja. Terdapat beberapa operator unary, seperti terlihat pada tabel berikut
ini:

i. Operator Increment dan Decrement


Suatu variabel yang nilainya selalu bertambah satu, seperti pada sebuah
variabel pencacah naik (up counter) dengan rumus: hitung =hitung + 1 dapat
ditulis dengan hitung += 1 dan secara singkat ditulis hitung++ atau ++hitung.
Notasi ++ disebut operator penambah (increment) dan pada sebuah variabel
pencacah turun (down counter) dengan rumus: hitung =hitung - 1 dapat
ditulis dengan hitung-= 1 dan secara singkat ditulis hitung- atau --hitung.
Notasi—disebut operator pengurang (decrement).
ii. Operator sizeof
Operator akan menghasilkan ukuran dari suatu variabel atau tipe pada saat
dikompilasi. Ukuran ini digunakan untuk mengetahui tipe ukuran dari suatu
variabel atau tipe pada saat dikompilasi. Ukuran ini digunakan untuk
mengetahui tipe.
b. Operator Binary
Operator binary adalah operator yang melibatkan atau dikenakan pada dua buah
operand.
i. Operator Aritmatika
Operator Aritmatika digunakan untuk mengoperasikan data-data numerik,
seperti perkalian, pembagian, sisa hasil bagi, penjumlahan, dan pengurangan.
Dalam proses aritmatika tersebut, pengerjaan operasi tergantung dari tingkat
valensi operator-operator yang terlibat. Perkalian memiliki valensi tertinggi,
kemudian dilanjutkan dengan sisa pembagian, pembagian, sedangkan
penjumlahan dan pengurangan mempunyai valensi yang terendah. Jenis
operator aritmatika ada pada tabel berikut:
ii. Operator Relasional
Operator relasi digunakan untuk membandingkan hubungan antara dua buah
operand (sebuah nilai atau variabel) atau digunakan untuk mewakili sebuah
nilai logika (nilai boolean), dari suatu persamaan atau nilai. Jenis-jenis
operator relasi,sepeti terlihat pada tabel dibawah ini:

iii. Operator logika


Operator logika digunakan untuk membandingkan logika hasil dari operator-
operator relasi atau digunakan untuk mengoperasikan operand (konstanta,
variabel, atau suatu ekspresi) secara logis. Operator logika ada tiga macam
yaitu operator AND, OR dan operator NOT. Untuk lebih jelasnya perhatikan
dalam tabel berikut:

iv. Operator Bitwise atau manipulasi bit


Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang
ada di memori. Semua operator bitwise hanya bisa dikenakan pada operand
bertipe integer atau karakter. Operator bitwise sebagaimana terlihat dalam
tabel dibawah ini:
v. Operator Penugasan dan Operator Kombinasi
Operator penugasan (Assignment operator) atau pemberi nilai berupa tanda
sama dengan (“=”). Perhatikan contoh dibawah ini:

Operator kombinasi merupakan gabungan antara dua operator tertentu,


yaitu antara operator aritmatika atau operator bitwise dengan operator
penugasan yang digunakan untuk memendekkan penulisan operasi
penugasan, seperti berikut:

c. Operator Ternary
Operator ternary adalah operator yang melibatkan tiga buah operand. Yang tergolong
operator ini adalah: Operator kondisi dengan simbol ? :
d. Ungkapan (Ekspresi) Ungkapan dapat berupa konstanta (untai/numerik), variabel dan
nilai tunggal yang diperoleh dengan mengkombinasikan operand dan operator,
seperti 5+4.
7. Jenis-jenis pernyataan berkondisi:
a. Penyataan if yaitu pernyataan yang hanya memiliki satu blok pilihan saat kondisi
bernilai benar. Pernyataan IF memiliki cara kerja yaitu dengan menyeleksi suatu
kondisi yang bernilai benar atau salah. Apabila dalam kondisi tertentu bernilai TRUE
(benar) maka pernyataan setelah IF akan dijalankan, sebaliknya jika kondisi tertentu
bernilai FALSE (salah) maka pernyataan setelah IF tidak akan dijalankan.
b. Pernyataan if-else yaitu pernyataan yang memiliki dua blok pilihan. Blok pilihan
pertama untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else). Pada
pernyataan IFELSE, dalam kondisi bernilai FALSE, pernyataan setelah IF tidak
dijalankan tetapi peryataan setelah ELSE lah yang akan dijalankan.
c. IF-ELSE Majemuk adalah pernyataan IF-ELSE yang dapat memiliki lebih dari 2 kondisi
yang berarti apabila kondisi yang pertama bernilai benar, maka perintah yang
pertama lah yang akan dikerjakan. Apabila kondisi yang pertama bernilai salah, maka
akan mengecek kondisi yang kedua , jika kondisi yang kedua benar, maka perintah
yang kedua lah yang akan dikerjakan. Apabila kondisi yang kedua juga salah, maka
akan mengecek kondisi yang ketiga dan seterusnya sampai ada yang bernilai benar
dari perintah yang ada pada struktur blok. Seandainya tidak ada kondisi yang bernilai
benar, maka akan mengerjakan perintah yang berada pada struktur blok ELSE.
d. NESTED-IF merupakan struktur IF yang paling kompleks karena NESTED-IF merupakan
bentuk perluasan dan kombinasi dari berbagai struktur IF lainnya. Konsep dari
percabangan ini adalah terdapat struktur IF yang berada di dalam struktur IF lainnya
yang berarti apabila kondisi IF yang paling luar (paling atas) bernilai benar, maka
kondisi if yang ada di dalamnya yang selanjutnya akan dilihat.
e. Pernyataan switch/case yaitu bentuk lain dari percabangan if/else/if yang mana kita
dapat membuat blok kode (case) sebanyak yang diinginkan di dalam blok switch.
f. Pernyataan dengan operator ternary yang merupakan bentuk lain dari percabangan
if/else. Operator ternary juga dikenal dengan sebutan operator kondisi (conditional
operator).
8. Contoh Program untuk menentukan apakah suatu bilangan bersifat GENAP atau GANJIL:
#include <iostream>
using namespace std;
int main()
{
cout << "Program Bilangan Ganjil atau Genap" << endl;

int bilangan;
cout << "Input bilangan: ";
cin >> bilangan;
if (bilangan % 2 == 0) {
cout << bilangan << " merupakan bilangan genap";
}
else {
cout << bilangan << " merupakan bilangan ganjil";
}
cout << endl;
return 0;
}
9. Program untuk mencari Keliling dan Luas dari bangun:
a. Persegi Panjang
#include <iostream>

using namespace std;

int main()
{
int panjang,lebar,keliling,luas;
cout<<"====Program mencari Keliling dan Luas Persegi
Panjang===="<<endl;
cout<<"Masukkan panjang: ";
cin>>panjang;
cout<<"Masukkan lebar: ";
cin>>lebar;
cout << endl;
keliling = 2 * (panjang + lebar);
luas = panjang * lebar;
cout<<"Keliling persegi panjang: " << keliling << endl;
cout<<"Luas persegi panjang: " << luas << endl;
return 0;
}

b. Jajaran Genjang
#include <iostream>

using namespace std;

int main()
{
int panjang,lebar,tinggi,keliling,luas;
cout<<"====Program mencari Keliling dan Luas Jajaran
Genjang===="<<endl;
cout<<"\nMasukkan panjang: ";
cin>>panjang;
cout<<"\nMasukkan lebar: ";
cin>>lebar;
cout<<"\nMasukkan tinggi: ";
cin>>tinggi;
cout << endl;
keliling = 2 * (panjang + lebar);
luas = panjang * tinggi;
cout<<"Keliling jajaran genjang: " << keliling << endl;
cout<<"Luas jajaran genjang: " << luas << endl;
return 0;
}
10.
Mulai

Masukkan C

F = (9/5) * C

R= (4/5) * C

Cetak F dan R

Selesai

Anda mungkin juga menyukai