0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan57 halaman

Kursus Pemrograman C Dasar dan Algoritma

Diunggah oleh

Giri adam
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan57 halaman

Kursus Pemrograman C Dasar dan Algoritma

Diunggah oleh

Giri adam
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Kata Pengantar

Kursus Algorithm and Programming mempelajari tentang definisi


algoritma, dasar pemrograman bahasa C, cara membuat program
menggunakan bahasa C dan fitur-fitur dalam bahasa C. Kursus ini
akan membahas secara rinci materi dasar konsep pemrograman
menggunakan bahasa C.

Setelah menempuh kursus ini, peserta diharapkan memiliki


pengetahuan tentang algoritma, mengenal dasar bahasa C sehingga
mampu membuat program menggunakan bahasa pemrograman C.
Dengan adanya bekal tersebut, peserta dapat melanjutkan ke tingkat
pemrograman yang lebih kompleks dan mempermudah mempelajari
bahasa pemrograman lainnya.

[Link] 1 course_net
Course-Net Indonesia

Daftar Isi

Kata Pengantar ...................................................................................... 1


Daftar Isi ............................................................................................... 2
1. Pengenalan Bahasa C.................................................................... 3
2. Variabel dan Tipe Data ................................................................. 5
3. Sintaks Input Output ..................................................................... 6
4. Operasi Aritmatika ....................................................................... 9
5. Selection ..................................................................................... 10
6. Repetition.................................................................................... 13
7. Array ........................................................................................... 16
8. Pointer ......................................................................................... 17
9. Function ...................................................................................... 18
10. Built-in Function..................................................................... 22
11. Recursion ................................................................................ 23
12. File .......................................................................................... 24
13. Sorting .................................................................................... 26

[Link] 2 course_net
Course-Net Indonesia

1. Pengenalan Bahasa C

Bahasa pemrograman C merupakan bahasa pemrograman komputer


yang memiliki berbagai modul/ fungsi untuk menjalankan perintah-
perintah. Modul-modul tersebut disimpan di Standard Library. Selain
modul bawaan, pengguna juga dapat membuat modul atau fungsi
sendiri.

Cara memulai project bahasa C menggunakan Visual Studio :


1. Buka program Microsoft Visual C++ Express.
2. Buka menu File à New à Project.
3. Pilih Empty Project.
4. Isi nama project à OK
5. Klik kanan di Source File à Add à New Item.
6. Pilih C++ File (.cpp).
7. Isi nama file.
8. Memulai coding
#include <stdio.h>
void main ()
{

Penjelasan coding:
• #include à cara menggunakan library fungsi agar dapat
menggunakan fungsi atau modul yang sudah tersedia.
• <stdio.h> à standard library untuk input output dan
lainnya.
• void main () à fungsi utama yang akan dijalankan
pertama kali ketika eksekusi.

[Link] 3 course_net
Course-Net Indonesia

Beberapa aturan dalam pemrograman bahasa C yaitu:


• Case sensitive : huruf kapital dan huruf kecil dianggap beda.
• Setiap statement diakhiri oleh tanda ;
• Nama variabel tidak boleh sama dan tidak boleh
menggunakan kata kunci/ sintaks.
• Cara memberikan catatan (comment) adalah menggunakan
tanda // untuk 1 baris, dan tanda /* */ untuk sekumpulan
code.

[Link] 4 course_net
Course-Net Indonesia

2. Variabel dan Tipe Data

Variabel yang dideklarasikan memerlukan memori untuk menampung


nilai yang disimpan. Program akan memesan tempat di alamat tertentu
sesuai memori yang dibutuhkan oleh variabel. Memori yang
dibutuhkan oleh variabel ditentukan oleh jenis tipe data dari variabel
tersebut. Dengan demikian, setiap variabel mempunyai nama, tipe dan
nilai serta menunjuk ke suatu tempat dari memori komputer.

Contoh:
int x;
Penjelasan:
Program akan memesan tempat di memori untuk menampung nilai
yang mempunyai tipe data integer. Untuk mengakses lokasi memori
tersebut, kita menggunakan nama variabel ‘x’.

Dalam bahasa C terdapat beberapa tipe data. Masing-masing tipe data


digunakan untuk menyimpan jenis data berbeda dan mengkonsumsi
jumlah memori yang berbeda juga. Beberapa tipe data dalam bahasa C
adalah sebagai berikut :
No. Tipe Data Fungsi
1. int Bilangan bulat
2. float Bilangan desimal
3. char Karakter
4. string Kumpulan karakter

Contoh :
int angka1 = 5;
float angka2 = 2.6;
char huruf = ‘A’;
char nama[20] = “Anto”;

[Link] 5 course_net
Course-Net Indonesia

3. Sintaks Input Output


Sintaks input digunakan agar program dapat meminta input kepada
user. Sedangkan sintaks output digunakan untuk mencetak hasil di
program. Fungsi-fungsi input output telah tersedia di standard library,
yaitu file header “stdio.h”.

Beberapa fungsi untuk input antara lain:


No. Sintaks Fungsi
1. scanf Untuk membaca input sesuai format.
2. getchar Untuk membaca input 1 karakter
3. gets Untuk membaca string.

Format dalam scanf sesuai tipe data yaitu :


No. Tipe Data Format
1. int %d
2. float %f
3. char %c
4. string %s

Contoh penggunaan sintaks input :


1. int angka;
scanf (“%d”, &angka);
fflush (stdin);
2. char huruf = getchar();
fflush (stdin);
3. char nama[20];
gets(nama);
fflush (stdin);

[Link] 6 course_net
Course-Net Indonesia

Penjelasan :
1. Code tersebut membuat sebuah variabel dengan nama “angka”
dan tipe data integer. Setelah itu program akan meminta
inputan user dan ditampung ke dalam variabel “angka”.
Fflush(stdin) digunakan untuk mengosongkan buffer stdin
(standard input), digunakan setelah scanf.
2. Code tersebut membuat meminta input 1 karakter dan
ditampung ke dalam variabel huruf.
3. Code tersebut membuat sebuah variabel dengan nama “nama”
dan tipe data kumpulan char. Setelah itu program akan
meminta inputan user dan ditampung ke dalam variabel
“nama”.

Beberapa fungsi untuk output antara lain:


No. Sintaks Fungsi
1. printf Untuk print sesuai dengan format
2. putchar Untuk print 1 karakter.
3. puts Untuk print string.

Contoh penggunaan sintaks output :


1. int angka = 5;
printf(“%d”, angka);
2. char huruf = ‘A’;
putchar(huruf);
3. char nama[20] = “Anto”;
puts(nama);

Penjelasan :
1. Code tersebut membuat sebuah variabel dengan nama “angka”,
tipe data integer dan berisi angka 5. Setelah itu program akan
mencetak isi dari variabel “angka” yaitu 5.

[Link] 7 course_net
Course-Net Indonesia

2. Code tersebut membuat sebuah variabel dengan nama “huruf”,


tipe data char dan berisi karakter A. Setelah itu program akan
mencetak isi dari variabel “huruf” yaitu A.
3. Code tersebut membuat sebuah variabel dengan nama “nama”,
tipe data kumpulan char dan berisi kata “Anto”. Setelah itu
program akan mencetak isi dari variabel “nama” yaitu Anto.

[Link] 8 course_net
Course-Net Indonesia

4. Operasi Aritmatika

Operasi aritmatika yang akan dibahas meliputi penjumlahan,


pengurangan, perkalian, pembagian, dan modulus. Simbol dalam
operasi aritmatika meliputi:
No. Simbol Fungsi
1. + Penjumlahan
2. - Pengurangan
3. * Perkalian
4. / Pembagian
5. % Modulus (sisa pembagian)
6. ++ Increment (ditambah 1)
7. -- Decrement (dikurang 1)

Contoh:
int angka1 = 9;
int angka2 = 2;
int hasil;
hasil = angka1 + angka2; 11
hasil = angka1 - angka2; 7
hasil = angka1 * angka2; 18
hasil = angka1 / angka2; 4
hasil = angka1 % angka2; 1

Pada increment dan decrement terdapat kondisi post dan pre. Untuk
post, eksekusi increment/decrement dijalankan di akhir. Sedangkan
pre akan menjalankan increment/decrement terlebih dahulu.

Contoh:
int angka = 5; int angka=5;
printf(“%d”, angka++); printf(“%d”, ++angka);
Hasil: 5 Hasil: 6

[Link] 9 course_net
Course-Net Indonesia

5. Selection

Selection adalah konsep pemrograman untuk membuat struktur


kendali pemilihan berdasarkan kondisi. Dalam proses seleksi, kondisi
yang diuji dapat terdiri dari beberapa kondisi, sehingga membutuhkan
operator logical. Logical operator yang sering digunakan yaitu &&
(AND) dan || (OR). Berikut tabel logical operator, yaitu :
Kondisi 1 Kondisi 2 AND OR
True True True True
True False False True
False True False True
False False False False

Dalam bahasa C terdapat 3 jenis selection yaitu :


1. IF ELSE
IF ELSE merupakan struktur kontrol yang menjalankan statement
setelah memeriksa suatu kondisi. Jika kondisi benar, maka
statement dijalankan. Jika tidak benar, maka statement lain
dijalankan.

Struktur code:
if ( <<kondisi1>> )
{
<<statement1>>;
}
else if ( <<kondisi2>> )
{
<<statement2>>;
}
else
{
<<statement3>>;

[Link] 10 course_net
Course-Net Indonesia

}
Penjelasan:
• Jika kondisi1 terpenuhi, maka statement1 jalan.
• Jika kondisi2 terpenuhi, maka statement2 jalan.
• Selain itu, statement3 jalan.

2. SWITCH CASE
SWITCH CASE merupakan struktur kontrol yang multiple-
selection.

Struktur code:
switch ( <<variabel>> )
{
case << nilai1 >> :
<< statement1 >>;
break;
case << nilai2 >> :
<< statement2 >>;
break;
default :
<< statement3 >>;
}

Penjelasan:
• Jika isi variabel sama dengan nilai1, maka statement1 jalan.
• Jika isi variabel sama dengan nilai2, maka statement2 jalan.
• Selain itu jalan statement3.

3. TERNARY
TERNARY merupakan selection yang sama seperti IF ELSE, akan
tetapi memiliki code yang lebih singkat.

[Link] 11 course_net
Course-Net Indonesia

Struktur code:
<<variabel>> = ( <<kondisi>> ) ? <<statement1>> :
<<statement2>>;

Penjelasan:
Jika kondisi terpenuhi, maka statement1 akan dijalankan dan
ditampung ke variabel. Jika kondisi tidak terpenuhi, maka
statement2 akan jalan dan ditampung ke variabel.

[Link] 12 course_net
Course-Net Indonesia

6. Repetition

Repetition merupakan konsep pemrograman untuk membuat struktur


kendali perulangan jika memenuhi suatu kondisi. Perulangan dalam
bahasa C dapat menggunakan 3 cara, yaitu :
1. FOR
Perulangan FOR digunakan jika jumlah perulangan sudah
diketahui.
Struktur code :
for ( <<ekspresi1>>; <<ekspresi2>>; <<ekspresi3>>)
{
<<statement>>;
}

Penjelasan:
1. Ekspresi1 dijalankan.
2. Ekspresi2 diperiksa apakah true atau false. Jika true maka
statement dijalankan, jika false maka statement tidak
dijalankan.
3. Setelah statement dijalankan, maka ekspresi3 dijalankan.
Kemudian kembali ke poin nomor 2.

Contoh:
for (int i=0; i<5; i++)
{
printf(“%d\n”, i);
}
Hasil:
0
1
2
3
4

[Link] 13 course_net
Course-Net Indonesia

2. WHILE
WHILE digunakan jika jumlah perulangan belum diketahui dan
disesuaikan terhadap kondisi. Perulangan WHILE akan tidak
dijalankan sama sekali jika kondisi tidak terpenuhi sejak awal.

Struktur code:
while ( <<kondisi>> )
{
<<statement>>;
}

Penjelasan:
1. Kondisi akan dicek apakah true atau false. Jika true maka
statement dijalankan, jika false maka statement tidak
dijalankan.
2. Setelah statement dijalankan, kembali ke poin 1.
3. Jika kondisi selalu bernilai true, maka akan terjadi infinite
loop atau looping forever.

Contoh:
int angka = 1;
while (angka<4)
{
printf(“%d\n”, angka);
angka++;
}

Hasil:
1
2
3

[Link] 14 course_net
Course-Net Indonesia

3. DO WHILE
DO WHILE digunakan jika jumlah perulangan belum diketahui
dan disesuaikan terhadap kondisi. Perulangan DO WHILE akan
menjalankan statement terlebih dahulu sebelum memeriksa kondisi.

Struktur code:
do
{
<<statement>>;
}while ( <<kondisi>> );
Penjelasan:
1. Statement akan dijalankan terlebih dahulu.
2. Kemudian dilanjutkan cek kondisi.
3. Jika kondisi true, maka kembali ke poin 1. Jika false maka DO
WHILE selesai.

Contoh:
int angka = 1;
do
{
printf(“%d\n”, angka);
angka++;
}while (angka<5);

Hasil:
1
2
3
4

[Link] 15 course_net
Course-Net Indonesia

7. Array

Array adalah sekumpulan data dengan tipe data dan nama variabel
yang sama. Elemen dalam array diakses melalui indeks. Indeks dalam
array dimulai dari indeks ke-0.

Array dapat dibuat dalam 1 dimensi dan lebih dari 1 dimensi. Contoh
kasus penggunaan array adalah penyimpanan nilai 30 mahasiswa. Jika
menggunakan array, kita dapat menampung nilai 30 mahasiswa
tersebut dalam 1 variabel. Array juga diterapkan dalam pembentukan
string yaitu menggunakan array of char.

Contoh :
int nilai [30];
nilai[0] = 90;
nilai[1] = 100;
int angka[2][3] = {{1,2,3}, {4,5,6}};
angka [1][2]=100;
char nama[50] = “Anto”;

Penjelasan:
• Varibel nilai dapat tersedia 30 elemen. Namun hanya terisi
elemen ke 0 dan 1 dengan nilai 90 dan 100.
• Variabel angka terdiri dari 2 dimensi, yaitu 2 baris dan 3 kolom.
Baris pertama berisi angka 1, 2, 3. Sedangkan baris kedua berisi
angka 4, 5, 6.
• Elemen indeks ke [1][2] yaitu angka 6 akan diganti dengan angka
100.
• Varibel nama bertipe data array of char (string) dan menampung
kata “Anto”.

[Link] 16 course_net
Course-Net Indonesia

8. Pointer

Ketika membuat variabel, maka variabel tersebut akan dialokasikan


dalam memori komputer. Di dalam memori komputer, setiap variabel
memiliki alamat.

Pointer adalah tipe data yang berisi alamat variabel lain. Pointer
ditunjukkan dengan simbol *, sedangkan alamat variabel
menggunakan simbol &.

Contoh:
Nama variabel angka ptr
Isi variabel 100 123
Alamat 123 789

Code:
int angka = 100;
int *ptr;
ptr = &angka;
*ptr = 30;

Penjelasan:
• Variabel angka berisi nilai 100 dengan alamat memori 123.
• Varibel ptr berisi alamat variabel angka (123).
• Alamat dari variabel ptr adalah 789.
• Isi variabel angka dapat diubah dengan menggunakan *ptr.

[Link] 17 course_net
Course-Net Indonesia

9. Function

Function adalah modul-modul dari code. Function memiliki return


type, parameter dan isi. Return type merupakan tipe data yang akan
dikembalikan dari function tersebut. Parameter digunakan untuk
passing data antar function.

Parameter terdiri dari 2 jenis yaitu parameter formal dan aktual.


Parameter formal adalah parameter pada saat pembuatan function.
Parameter aktual adalah parameter pada saat pemanggilan function.

Passing parameter dalam function terdiri dari 3 jenis, yaitu:


1. Passing by value.
Passing by value yaitu tipe passing parameter yang hanya
mengirimkan nilai pada parameter aktual tanpa mengubah isi
dari data yang terdapat pada parameter aktual.

Contoh:
void print (int a)
{
a = 10;
printf (“%d\n”, a);
}

void main ()
{
int a = 5;
print(a);
printf(“%d\n”, a);
}

[Link] 18 course_net
Course-Net Indonesia

Hasil:
10
5
Penjelasan:
• Pada saat printf di dalam function print, hasil yang
dicetak yaitu angka 10, karena a telah diganti menjadi
angka 10 dalam function print.
• Pada saat printf di dalam function main, hasil yang
dicetak yaitu angka 5. Hal ini dikarenakan passing by
value tidak dapat mengubah nilai variabel melalui
parameter aktual.

2. Passing by pointer.
Passing by pointer adalah mengirimkan alamat dari suatu
variabel, parameter aktual menggunakan simbol “&” dan
parameter formal menggunakan simbol pointer *. Passing by
pointer dapat mengubah nilai dari variabel.

Contoh:
void print (int *a)
{
*a = 10;
printf (“%d\n”, *a);
}

void main ()
{
int a = 5;
print(&a);
printf(“%d\n”, a);
}

[Link] 19 course_net
Course-Net Indonesia

Hasil:
10
10

Penjelasan:
Hasil cetak a di function main dan print sama-sama
memberikan angka 10. Hal ini dikarenakan passing by pointer,
sehingga penggantian nilai variabel a di function print juga
akan mengganti nilai variabel a yang terdapat di dalam
function main.

3. Passing by reference.
Passing by value adalah mengirimkan varibel melalui
parameter aktual, alamat dari variabel akan diakses di
parameter formal dengan penggunaan simbol “&”.

Contoh:
void print (int &a)
{
a = 10;
printf (“%d\n”, a);
}

void main ()
{
int a = 5;
print(a);
printf(“%d\n”, a);
}

Hasil:
10
10

[Link] 20 course_net
Course-Net Indonesia

Penjelasan:
Hasil cetak a di function main dan print sama-sama
memberikan angka 10. Hal ini dikarenakan passing by
reference, sehingga penggantian nilai variabel a di function
print juga akan mengganti nilai variabel a yang terdapat di
dalam function main.

[Link] 21 course_net
Course-Net Indonesia

10. Built-in Function

Built-in function adalah function yang telah disediakan oleh bahasa


pemrograman. Dalam bahasa C, function dipanggil dengan melakukan
include header file.

Beberapa contoh built-in function yang sering digunakan seperti:


Built-in Include Fungsi
function
printf stdio.h Mencetak
scanf stdio.h Menerima input
strlen string.h Panjang string
strcpy string.h Copy string
strcmp string.h Compare string
strcat string.h Menambahkan string ke string lain
rand stdlib.h Random angka
pow math.h Perhitungan pangkat
isdigit ctype.h Memeriksa apakah angka
isalpha ctype.h Memeriksa apakah alfabet

[Link] 22 course_net
Course-Net Indonesia

11. Recursion

Recursion adalah function yang memanggil dirinya sendiri. Recursion


dapat digunakan untuk menyelesaikan masalah seperti bilangan
fibonacci dan faktorial.

Contoh:
int faktorial (int angka)
{
if (angka==0 || angka==1)
{
return 1;
}
else
{
Return n*faktorial(n-1);
}
}

void main()
{
int angka = 5;
printf(“%d\n”, faktorial(angka));
}

Penjelasan:
• Function faktorial merupakan function yang recursive.
• Angka akan dikurangi 1 terus menerus ketika pemanggilan
ulang function faktorial.
• Jika angka mencapai 1 atau 0, maka function faktorial akan
berakhir dan mengembalikan nilai ke function main.

[Link] 23 course_net
Course-Net Indonesia

12. File

Operasi file yang akan dibahas yaitu baca dan tulis file. File tersebut
akan disimpan dalam bentuk teks. File tersebut akan dibaca dan ditulis
melalui program C yang dikembangkan.

Function-function dalam operasi file yang sering digunakan yaitu :


Function Kegunaan
fopen Mengaktifkan / membuka file
fclose Menutup file
fscanf Membaca isi dari file
fprintf Mencetak ke file
feof Mendeteksi akhir dari file

Jenis operasi file :


Operasi Kegunaan
r read file.
w write file, jika file ada isi maka akan ditimpa.
a append file, jika file ada isi maka akan dilanjutkan
di bawah.

Baca file :
FILE *read = fopen (“[Link]”, “r”);
char nama[50];
while (!feof(read))
{
fscanf(read, “%[^\n]\n”, nama);
printf(“%s\n”, nama);
}

[Link] 24 course_net
Course-Net Indonesia

Penjelasan:
• FILE akan melakukan open terhadap [Link] di folder project.
• Ketika tidak terdeteksi akhir file, maka akan dilakukan
pembacaan file per baris dan mencetaknya.

Tulis file :
FILE *write = fopen (“[Link]”, “w”);
fprintf(write, “Anto”);
fclose(write);

Penjelasan:
• FILE akan melakukan open terhadap [Link] di folder project.
• Program akan mencetak kata “Anto” ke dalam file tersebut.
• Karena jenis operasinya adalah w (write), maka [Link] akan
ditimpa dengan kata “Anto”.
• Jika menggunakan jenis operasi a (append), maka kata “Anto”
akan ditambahkan di baris terakhir.

[Link] 25 course_net
Course-Net Indonesia

13. Sorting

Sorting adalah algoritma untuk menempatkan data sesuai urutan, baik


ascending (kecil ke besar) maupun descending (besar ke kecil). Salah
satu tujuan sorting yaitu mempercepat pencarian data.

Algoritma sorting terdiri dari beberapa jenis, yaitu :


• Buble sorting
• Selection sorting
• Insertion sorting
• Merge sorting
• Quick sorting

Contoh code (Bubble sort ascending) :


void main ()
{
int angka[5] = {5,2,9,10,1};

for(int i=0; i<5; i++)


{
for (int j=i; j<5; j++)
{
if (angka[i] > angka[j])
{
int temp = angka[i];
angka[i] = angka[j];
angka[j] = temp;
}
}
}

for (int i=0; i<5; i++)


{

[Link] 26 course_net
Course-Net Indonesia

printf (“%d\n”, angka[i]);


}
}

Penjelasan:
• Variabel angka terdiri dari 5 elemen integer yang tidak
berurutan.
• Looping dimulai dari varibel i 0-4 untuk dijadikan elemen.
• Setiap looping i, variabel j juga dilooping sejumlah i sampai 4.
• Angka ke-i akan dibandingkan dengan angka ke-j.
• Jika angka ke-i lebih besar daripada angka ke-j, maka akan di-
swap angka ke-i dan ke-j.
• Setelah looping i dan j selesai, maka data telah disorting
secara ascending. Jika ingin menjadi descending, cukup
mengganti simbol > yang terdapat di dalam kondisi IF
menjadi <.
• Isi variabel angka dilooping untuk mencetak hasil dari indeks
ke-0 hingga indeks ke-4.

[Link] 27 course_net
Algorithm and Programming

Soal Latihan Pertemuan 1a

Buatlah sebuah program untuk input NIM, nama lengkap, umur, dan target IPK. Gunakan tipe data yang tepat
untuk setiap variabel yang digunakan untuk menampung input, kemudian hasil input ditampilkan kembali.
Algorithm and Programming

Soal Latihan Pertemuan 1b

Buatlah sebuah program untuk menginput kata. Setelah input, program akan menampilkan code dari aplikasi
beserta inputan user.
Algorithm and Programming

Soal Latihan Pertemuan 2a

Buatlah sebuah program untuk menghitung luas segitiga. Program akan meminta input alas dan tinggi. Setelah
dinput, program akan memberikan output rangkuman soal dan jawaban luas segitiga.
Algorithm and Programming

Soal Latihan Pertemuan 2b

Buatlah sebuah program untuk menghitung nilai akhir mata kuliah. Pada saat program dimulai, program akan
menampilkan pembagian persentase nilai TM, UTS, dan UAS. Setelah itu user akan diminta untuk meng-input
nilai TM, UTS, dan UAS. Setelah berhasil input, program akan menampilkan hasil kalkulasi nilai akhir.
Algorithm and Programming

Soal Latihan Pertemuan 2c

Buatlah sebuah program untuk mengkonversi jam, menit, dan detik menjadi detik. Pada awal program akan
meminta input jam, menit, dan detik. Setelah diinput, program akan kalkulasi dan menampilkan dalam satuan
detik.
Algorithm and Programming

Soal Latihan Pertemuan 2d

Buatlah sebuah program untuk mengkonversi detik menjadi jam, menit, dan detik. Pada awal program akan
meminta input detik. Setelah diinput, program akan kalkulasi dan menampilkan dalam satuan jam, menit, dan
detik.
Algorithm and Programming

Soal Latihan Pertemuan 3a

Buatlah sebuah program untuk menentukan bilangan ganjil atau genap. Saat program dimulai, program akan
meminta input sebuah bilangan dan program akan memberikan hasil bilangan tersebut bilangan genap atau
ganjil.
Algorithm and Programming

Soal Latihan Pertemuan 3b

Buatlah sebuah program untuk menentukan grade nilai huruf dari input nilai angka. Pembagian grade nilai
sebagai berikut:
• Grade A : 90 – 100
• Grade A- : 85 – 89
• Grade B+ : 80 – 84
• Grade B : 75 – 79
• Grade B- : 70 – 74
• Grade C : 65 – 69
• Grade D : 50 – 64
• Grade E : 0 – 49
Algorithm and Programming

Soal Latihan Pertemuan 3c

Buatlah sebuah program untuk menentukan jenis huruf, apakah vokal atau konsonan ataupun inputan bukan
huruf.
Algorithm and Programming

Soal Latihan Pertemuan 4a

Buatlah sebuah program untuk menerima input kata, kemudian menampilkan kembali dengan ketentuan:
• Huruf di urutan ganjil ditampilkan dalam huruf kapital.
• Huruf di urutan genap ditampilkan dalam huruf kecil.
Algorithm and Programming

Soal Latihan Pertemuan 4b

Buatlah sebuah program untuk menerima input sebuah karakter dan angka. Program akan mencetak segitiga
siku-siku kiri dengan menggunakan karakter yang diinput setinggi angka yang diinput.
Algorithm and Programming

Soal Latihan Pertemuan 4c

Buatlah sebuah program untuk validasi inputan angka dengan kisaran antara 1 – 100. Jika user meng-input
angka di luar kisaran tersebut ataupun bukan angka, program akan meminta kembali inputan hingga benar.
Setelah input benar, program akan mencetak kembali angka yang di-input user dengan benar.
Algorithm and Programming

Soal Latihan Pertemuan 4d

Buatlah sebuah program untuk menghitung jumlah vokal dan konsonan dari kata yang diinput user. Pada awal
program, user akan diminta untuk meng-input kata. Setelah diinput, program akan menampilkan jumlah huruf
vokal maupun konsonan dari kata yang diinput.
Algorithm and Programming

Soal Latihan Pertemuan 5a

Buatlah sebuah program untuk menjumlahkan angka-angka. Pada saat program dijalankan, program akan
meminta input sebuah angka (misalkan angka x). Program akan meminta input angka sebanyak x kali. Setelah
user menginput semua angka, program akan menjumlahkan angka-angka urutan ganjil dan genap kemudian
akan ditampilkan.
Algorithm and Programming

Soal Latihan Pertemuan 5b

Buatlah sebuah program untuk menjumlahkan matrix 3x3. Pada awal program, program akan meminta user
untuk input angka-angka untuk matrix A dan B. Setelah itu program akan melakukan kalkulasi dan
menampilkan hasil dari penjumlahan matrix A dan B.
Algorithm and Programming

Soal Latihan Pertemuan 7a

Buatlah sebuah program swap angka. User akan diminta untuk menginput angka X dan Y. Setelah diinput,
program akan melakukan swap pada kedua variabel tersebut dan menampilkannya kembali.
Algorithm and Programming

Soal Latihan Pertemuan 7b

Buatlah sebuah aplikasi kasir sederhana. Aplikasi tersebut akan menampilkan list barang yang dijual dan menu
untuk jual, beli, dan exit aplikasi.

Pada awal, program akan menampilkan list barang yang dijual beserta menu untuk dipilih user. Menu hanya
bisa dipilih antara angka 1 – 3.

Jika belum ada barang, maka aplikasi akan menampilkan no data.

Ketika user meng-input menu 1, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Name : 5 – 15 karakter.
• Quantity : 1 – 100
• Price : 10.000 – 100.000
Jika input user salah, maka aplikasi akan meminta input kembali.
Algorithm and Programming

Ketika user meng-input menu 2, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Item yang ingin dijual : input antara 1 sampai jumlah jenis barang.
• Quantity : input antara 1 sampai jumlah quantity barang.
Setelah diinput maka aplikasi akan menghitung jumlah nominal yang harus dibayar user.

Jika user memilih menu 2 dan belum ada list barang, maka aplikasi akan menampilkan “Nothing to Update”.
Algorithm and Programming

Soal Latihan Pertemuan 8a

Buatlah sebuah program untuk validasi input user agar hanya berisi huruf dan spasi. Jika input berisi karakter
lain, maka program akan meminta user untuk input kembali.
Algorithm and Programming

Soal Latihan Pertemuan 8b

Buatlah sebuah program untuk memeriksa kata yang diinput user merupakan palindrome atau tidak.
Palindrome adalah kata yang pembacaan dari depan ataupun belakang akan menghasilkan kata yang sama.
Algorithm and Programming

Soal Latihan Pertemuan 9a

Bilangan fibonacci adalah barisan bilangan didefinisikan secara rekursif dengan dimulai angka 0 dan 1,
bilangan berikutnya diperoleh dari menjumlahkan kedua bilangan yang berurutan sebelumnya. Buatlah sebuah
program untuk custom fibonacci. Custom yang dilakukan yaitu barisan bilangan akan dimulai dengan angka
0 dan n, n adalah bilangan yang diinput oleh user.

Setelah itu, user akan diminta untuk menginput jumlah angka fibonacci yang akan ditampilkan. Program akan
menampilkan barisan sesuai jumlah bilangan yang diisi dan user dapat meng-input kembali untuk index
fibonacci yang ingin ditampilkan.
Algorithm and Programming

Soal Latihan Pertemuan 9b

Buatlah sebuah aplikasi untuk toko Course-Net Burger. Aplikasi tersebut akan menampilkan list burger yang
dijual, total pemasukan dan menu untuk jual, beli, update, dan exit aplikasi. List burger disimpan dalam struct.

Menu Home
Pada awal, program akan menampilkan list barang yang dijual, total pemasukan beserta menu untuk dipilih
user. Menu hanya bisa dipilih antara angka 1 – 4. Total income diperoleh dari akumulasi penjualan.

Jika belum ada barang, maka aplikasi akan menampilkan no data.

Menu 1
Ketika user meng-input menu 1, maka aplikasi akan menampilkan list burger dan meminta input dan validasi
sebagai berikut:
• Name : 5 – 15 karakter.
• Quantity : 1 – 100
• Price :4–9
Jika input user salah, maka aplikasi akan meminta input kembali.
Algorithm and Programming
Menu 2
Ketika user meng-input menu 2, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Burger yang ingin dijual: input antara 1 sampai jumlah jenis burger.
• Quantity : input antara 1 sampai jumlah quantity burger.
• Add extra : Y atau N
• Jika Y maka akan ada pilihan :
o Bacon Gravy : $2.3
o Chicken Strips : $2.5
o Liquid Cheese : $1.7
o Mozza Sticks : $2.0
o Onion Rings : 1.9
Setelah diinput maka aplikasi akan menghitung jumlah nominal yang harus dibayar user.
Jika burger habis terjual (quantity 0), maka burger tersebut akan dihapus dari list burger.

Jika user memilih menu 2 dan belum ada list burger, maka aplikasi akan menampilkan “Nothing to sell”.

Menu 3
Ketika user meng-input menu 3, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Burger yang ingin di-update : input antara 1 sampai jumlah jenis burger.
• Nama burger : 5 – 15 karakter.
• Quantity : 1 – 100 .
• Price : 4 – 9.
Setelah diinput maka aplikasi akan update list burger.
Algorithm and Programming
Jika user memilih menu 3 dan belum ada list burger, maka aplikasi akan menampilkan “Nothing to update”.
Algorithm and Programming

Soal Latihan Pertemuan 10

Buatlah sebuah aplikasi untuk Course-Net Book Store. Aplikasi tersebut akan digunakan untuk mengelola
buku yang terdapat di Course-Net Book Store seperti untuk menambah, update, ataupun hapus buku. Data-
data buku tersebut akan diambil dan disimpan ke dalam file .txt ketika ada perubahan data.

Berikut list buku yang telah tersedia saat ini dan dapat disimpan ke dalam file .txt.

Menu Home
Pada awal, program akan membaca file .txt, menampilkan list buku, dan menu untuk dipilih user. Menu hanya
bisa dipilih antara angka 1 – 4.

Menu 1
Ketika user meng-input menu 1, maka aplikasi akan menampilkan list buku dan meminta input dan validasi
sebagai berikut:
• Title : 5 – 30 karakter.
• Author : 5 – 30 karakter.
• Quantity : 1 – 20.
• Price : 100.000 – 800.000.
Jika input user salah, maka aplikasi akan meminta input kembali. Setelah berhasil input maka buku tersebut
akan masuk ke list buku.

Menu 2
Ketika user meng-input menu 2, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Buku yang ingin di-update : input antara 1 sampai jumlah jenis buku.
• Title : 5 – 30 karakter.
• Author : 5 – 30 karakter.
• Quantity : 1 – 20.
Algorithm and Programming
• Price : 100.000 – 800.000.
Setelah diinput maka aplikasi akan mengubah data buku yang di list.

Jika user memilih menu 2 dan belum ada list buku, maka aplikasi akan menampilkan “Nothing to update”.

Menu 3
Ketika user meng-input menu 3, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Buku yang ingin dihapus : input antara 1 sampai jumlah jenis buku.
Setelah diinput maka buku akan dihapus dari list.

Jika user memilih menu 3 dan belum ada list buku, maka aplikasi akan menampilkan “Nothing to delete”.

Menu 4
Jika user memilih menu 4, maka aplikasi akan menyimpan list buku ke dalam file .txt.
Algorithm and Programming

Soal Latihan Pertemuan 11

Buatlah sebuah aplikasi untuk Course-Net Training Center. Aplikasi tersebut akan digunakan untuk mengelola
data peserta yang terdapat di Course-Net Training seperti untuk menambah, update, hapus, dan sorting data
peserta. Data-data peserta tersebut akan diambil dan disimpan ke dalam file .txt ketika ada perubahan data.

Berikut list peserta yang telah tersedia saat ini dan dapat disimpan ke dalam file .txt.

Menu Home
Pada awal, program akan membaca file .txt, menampilkan list peserta, dan menu untuk dipilih user. Menu
hanya bisa dipilih antara angka 1 – 6.
Algorithm and Programming
Menu 1
Ketika user meng-input menu 1, maka aplikasi akan menampilkan list peserta dan meminta input dan validasi
sebagai berikut:
• NIM : angka dan berjumlah 10 digit.
• Name : 5 – 30 karakter.
• GPA : 1 – 4.
• Major : 2 – 15 karakter.
Jika input user salah, maka aplikasi akan meminta input kembali. Setelah berhasil input maka peserta tersebut
akan masuk ke list peserta.

Menu 2
Ketika user meng-input menu 2, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Peserta yang ingin di-update : input antara 1 sampai jumlah peserta.
• NIM : angka dan berjumlah 10 digit.
• Name : 5 – 30 karakter.
• GPA : 1 – 4.
• Major : 2 – 15 karakter.
Setelah diinput maka aplikasi akan mengubah data peserta yang di list.

Jika user memilih menu 2 dan belum ada list peserta, maka aplikasi akan menampilkan “Nothing to update”.

Menu 3
Ketika user meng-input menu 3, maka aplikasi akan meminta input dan validasi sebagai berikut:
• Peserta yang ingin dihapus : input antara 1 sampai jumlah peserta.
Setelah diinput maka peserta akan dihapus dari list.
Algorithm and Programming

Jika user memilih menu 3 dan belum ada list peserta, maka aplikasi akan menampilkan “Nothing to delete”.

Menu 4
Jika user memilih menu 4, maka list peserta akan di-sorting berdasarkan NIM secara descending.

Menu 5
Jika user memilih menu 5, maka list peserta akan di-sorting berdasarkan nama secara ascending.

Menu 6
Jika user memilih menu 4, maka aplikasi akan menyimpan list peserta ke dalam file .txt.

Anda mungkin juga menyukai