Skip to content

Commit c95b078

Browse files
authored
Merge pull request #4 from danieloeb/main
Modul update 2024
2 parents 26fa622 + f122928 commit c95b078

10 files changed

+292
-235
lines changed

P1/IntroductiontoCLanguage_ENG.tex

Lines changed: 68 additions & 47 deletions
Large diffs are not rendered by default.

P1/PengenalanBahasaC_IND.tex

Lines changed: 124 additions & 100 deletions
Large diffs are not rendered by default.

P2/PerulanganPercabanganArrayString_IND.tex

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,20 @@ \subsection{Ekspresi Perbandingan}
2222
\captionof{table}{Operator Perbandingan \label{tab:operatorcomp}}
2323
\begin{tabular}{|c|l|c|}
2424
\hline
25-
Operator & Nama & \multicolumn{1}{l|}{Contoh Ekspres} \\ \hline
26-
== & Sama Dengan & x == y \\ \hline
27-
!= & Tidak Sama Dengan & x != y \\ \hline
28-
\textgreater{} & Lebih Dari & x \textgreater y \\ \hline
29-
\textless{} & Kurang Dari & x \textless y \\ \hline
30-
\textgreater{}= & Lebih Dari Sama Dengan & x \textgreater{}= y \\ \hline
31-
\textless{}= & Kurang Dari Sama Dengan & x \textless{}= y \\ \hline
25+
\textbf{Operator} & \textbf{Nama} & \multicolumn{1}{l|}{\textbf{Contoh Ekspres}} \\ \hline
26+
== & Sama Dengan & x == y \\ \hline
27+
!= & Tidak Sama Dengan & x != y \\ \hline
28+
\textgreater{} & Lebih Dari & x \textgreater y \\ \hline
29+
\textless{} & Kurang Dari & x \textless y \\ \hline
30+
\textgreater{}= & Lebih Dari Sama Dengan & x \textgreater{}= y \\ \hline
31+
\textless{}= & Kurang Dari Sama Dengan & x \textless{}= y \\ \hline
3232
\end{tabular}
3333
\end{center}
3434

35-
Suatu ekspresi perbandingan akan mengembalikan nilai berupa \verb|true| atau \verb|false| yang ditandakan dengan nilai 0 atau 1.
35+
Suatu ekspresi perbandingan akan mengembalikan nilai berupa \verb|true| atau \verb|false| yang ditandai dengan nilai 0 atau 1.
3636
% A Comparison Expression will return boolean value \verb|true| or \verb|false| which is also represented with the value 1 or 0.
3737
Sebagai contoh:
38-
As example:
38+
%As example:
3939
\begin{verbatim}
4040
printf("%d",0>1); // Akan Mencetak 0 ke layar
4141
printf("%d",0<1); // Akan Mencetak 1 ke layar
@@ -60,7 +60,7 @@ \subsection{Ekspresi Logika}
6060
\section{Percabangan}
6161
\subsection{Pernyataan If}
6262
% \verb*|if| statement is used to decide which block of code to be executed if the condition is true.
63-
\verb*|if| digunakan untuk menentukan blok kode C yang dijalankan apabila ekspresi kondisi bernilai benar (TRUE),
63+
Pernyataan \verb*|if| digunakan untuk menentukan blok kode C yang dijalankan apabila ekspresi kondisi bernilai benar (TRUE),
6464
\begin{verbatim}
6565
// Block of code before if
6666
if (Condition)
@@ -101,7 +101,7 @@ \subsection{Pernyataan If}
101101
\end{verbatim}
102102

103103
\subsection{Pernyataan If-else}
104-
Pernyataan else digunakan untuk menentukan blok kode yang di jalankan apabila kondisi salah.
104+
Pernyataan \verb|else| digunakan untuk menentukan blok kode yang di jalankan apabila kondisi salah.
105105
% Else statement is used to decide the block of code to be executed if the condition is false.
106106
\begin{verbatim}
107107
// Blok kode sebelum if
@@ -151,7 +151,7 @@ \subsection{Pernyataan If-else}
151151
\end{verbatim}
152152

153153
\subsection{Pernyataan if-else if}
154-
Statement \verb|else if| digunakan untuk menjalankan blok kode apabila kondisi statement \verb|if| atau \verb|else if| sebelumnya bernilai salah.
154+
pernyataan \verb|else if| digunakan untuk menjalankan blok kode apabila kondisi statement \verb|if| atau \verb|else if| sebelumnya bernilai salah.
155155
% The \verb|else if| statement is used to run a block of code when the condition in \verb|if| or the previous \verb|else if| is false.
156156
\begin{verbatim}
157157
// blok kode sebelum if
@@ -231,11 +231,11 @@ \subsection{Pernyataan if-else if}
231231
\end{verbatim}
232232

233233
\subsection{Nested if}
234-
Nested if merupakan konsep di mana di dalam suatu blok if terdapat statement if.
234+
Nested if merupakan konsep di mana di dalam suatu blok if terdapat pernyataan if.
235235
% Nested if is when there is a conditional statements within a block of code inside the conditional statement
236236
\begin{verbatim}
237237
// Blok kode sebelum if
238-
if (Condition1)
238+
if (Condition1)
239239
{
240240
if (Condition2)
241241
{
@@ -294,8 +294,10 @@ \subsection{Nested if}
294294

295295
\subsection{Tugas Pendahuluan}
296296
\begin{enumerate}
297-
\item Buatlah program yang menerima input 3 buah bilangan bulat A, B, dan C. Outputkanlah 3 bilangan bulat itu ke layar dengan urutan paling kecil ke paling besar. Lakukanlah ini dengan menggunakan statement if, if else, if else if, atau nested if.
298-
%\item Try to make a program that receives 3 integer input A, B, and C. Then outputs those 3 integers to the screen sorted from smallest to largest. Do this only using conditional statements.
297+
\item Apa tujuan dari percabangan dalam pemrograman?
298+
\item Selain menggunakan statement if, percabangan juga bisa dilakukan dengan statement switch-case. Jelaskan apa saja yang kamu ketahui tentang switch-case!
299+
\item Buatlah program yang menerima input 3 buah bilangan bulat A, B, dan C. Outputkanlah 3 bilangan bulat itu ke layar dengan urutan paling besar ke paling kecil. Lakukanlah ini dengan menggunakan statement if, if else, if else if, atau nested if.
300+
%\item Try to make a program that receives 3 integer input A, B, and C. Then outputs those 3 integers to the screen sorted from smallest to largest. Do this only using conditional statements.
299301
\end{enumerate}
300302

301303
\section{Perulangan}
@@ -351,8 +353,9 @@ \subsection{Perulangan while}
351353
% You can see the line 9 of the code causes the variable \verb|uangSaya| to have its value substracted by 2000 for every loop until \verb|uangSaya| is no longer greater than equal to \verb|hargaRoti|.
352354
% The loop condition will be invalid and finaly exits the loop. Then it prints "Uang saya tidak cukup lagi", the command after the while loop statement.
353355
Kondisi perulangan akan menjadi tidak valid dan akhirnya keluar dari perulangan. Kemudian ia mencetak "Uang saya tidak cukup lagi", perintah setelah pernyataan while loop.
356+
354357
\subsection{do-while loop}
355-
do-while loop sebenarnya sama seperti while loop hanya saja do-while akan menjalankan perintah pada blok kode didalamnya terlebih dahulu sebelum melakukan pengecekan kondisi.
358+
do-while loop sebenarnya sama seperti while loop hanya saja do-while akan menjalankan perintah pada blok kode didalamnya sekali sebelum melakukan pengecekan kondisi.
356359
% do-while loop is very similar to while loop. The only difference is that do-while loop will execute the code block inside it once, and then checks the condition.
357360
\begin{figure}[H]
358361
\centering
@@ -442,17 +445,18 @@ \subsection{Perulangan for}
442445
}
443446
\end{lstlisting}
444447
\begin{center}
445-
\colorbox{pink}{\parbox{0.8\linewidth}{\textbf{Catatan:} Terdapat keyword break dan continue digunakan untuk mengendalikan (kontrol) alur pada perulangan. Pelajari secara mandiri!}}
448+
\colorbox{pink}{\parbox{0.8\linewidth}{\textbf{Catatan:} Terdapat keyword break dan continue yang bisa digunakan untuk mengendalikan (kontrol) alur pada perulangan. Pelajari secara mandiri!}}
446449
\end{center}
447450

448451
\subsection{Tugas Pendahuluan}
449452
\begin{enumerate}
450-
\item Implementasikan program dalam bahasa C yang menghitung faktorial dari sebuah bilangan bulat non-negatif yang dimasukkan oleh pengguna menggunakan loop do-while. Tampilkan hasilnya.
451-
\item Implementasikan program dalam bahasa C untuk mencari bilangan prima antara 1 dan 100. Gunakan loop for untuk mengiterasi melalui semua angka dan pernyataan continue untuk mengabaikan angka yang bukan prima. Tampilkan semua bilangan prima yang ditemukan.
453+
\item Apa yang terjadi jika kita menuliskan \verb|break;| dalam blok kode sebuah perulangan?
454+
\item Buatlah program dalam bahasa C yang menghitung faktorial dari sebuah bilangan bulat non-negatif yang dimasukkan oleh pengguna menggunakan loop do-while. Tampilkan hasilnya.
455+
\item Buatlah program dalam bahasa C untuk mencari bilangan prima antara 1 dan 100. Gunakan loop for untuk mengiterasi melalui semua angka dan pernyataan continue untuk mengabaikan angka yang bukan prima. Tampilkan semua bilangan prima yang ditemukan.
452456
\end{enumerate}
453457

454458
\section{Array}
455-
Array atau biasa disebut larik adalah koleksi data dimana setiap elemen mempunyai nama yang sama dan bertipe sama. Setiap elemen diakses berdasarkan indeks elemennya.
459+
Array adalah koleksi data dimana setiap elemen mempunyai nama yang sama dan bertipe sama. Setiap elemen diakses berdasarkan indeks elemennya.
456460
% Array is a collection of data where each element of it has the same name(indexed) and data type. Every element in an array can be accessed using its element index.
457461
\subsection{Array 1D}
458462
Variabel array dimensi satu dideklarasikan dengan menentukan jenis elemen dan jumlah elemen yang di perlukan oleh array.
@@ -465,11 +469,10 @@ \subsection{Array 1D}
465469
\begin{enumerate}
466470
\item \verb*|DataType|.\\
467471
% The data type of the elements in the array, e.g. \verb|float|, \verb|int|, etc.
468-
Jenis elemen data elemen array :\verb*|float|,\verb*|int|,\verb*|char| dsb
472+
Tipe data yang akan digunakan untuk array :\verb*|float|,\verb*|int|,\verb*|char| dsb
469473
\item \verb*|variableName|\\
470-
Namariabel mengikuti aturan pemberian nama variabel,
474+
Nama variabel mengikuti aturan pemberian nama variabel,
471475
% variableName follows the variable naming convention
472-
473476
\item \verb*|arraySize| \\
474477
% Integer more than 0. Defining the number of element an array has.
475478
konstanta integer lebih besar dari 0. \\
@@ -507,7 +510,7 @@ \subsection{Array 1D}
507510
\end{verbatim}
508511

509512
\subsection{Array 2D dan Array Multidimensi lainnya}%Array 2D dan Array Multidimensi lainnya}
510-
Array dimensi dua pada dasarnya hanya merupakan array dimensi satu dari array dimensi satu. Oleh karena itu, untuk mendeklarasikan array dimensi dua kita dapat menggunakan syntax seperti berikut.
513+
Array dimensi dua pada dasarnya hanya merupakan array dimensi satu di dalam array dimensi satu. Oleh karena itu, untuk mendeklarasikan array dimensi dua kita dapat menggunakan syntax seperti berikut.
511514
% 2D array is basically a 1D array of 1D array. Intuitively, you can define a 2D array like as seen below:
512515
\begin{verbatim}
513516
DataType variableName[arraySize1][arraySize2];
@@ -528,9 +531,7 @@ \subsection{Array 2D dan Array Multidimensi lainnya}%Array 2D dan Array Multidim
528531

529532
\subsection{Tugas Pendahuluan}
530533
\begin{enumerate}
531-
\item Cobalah inisialisasi suatu array multidimensi dengan menggunakan perulangan for.
532-
% \item Try to initialize a multidimensional array with for loop
533-
\item Buatlah suatu program untuk mengisi data pada suatu array perdasarkan input dari keyboard.
534+
\item Buatlah suatu program yang menerima input dari pengguna berupa angka 1 hingga 9, lalu memasukkan semua angka tersebut ke dalam suatu array!
534535
% \item create a program to fill the data of an array by keyboard input.
535536
\item Apakah yang akan terjadi jika suatu array \verb|arr| diakses dengan \verb|arr[-1]|?
536537
% \item What would happen if an array \verb|arr| is accessed with \verb|arr[-1]|?
@@ -546,7 +547,7 @@ \subsection{Tugas Pendahuluan}
546547
}
547548
\end{verbatim}
548549
% How many "A" will be printed on the screen if that block of code is executed?
549-
Ada berapa banyakah huruf A yang akan muncul pada layar jika program tersebut dijalankan?
550+
Ada berapa banyak huruf A yang akan muncul pada layar jika program tersebut dijalankan?
550551
\end{enumerate}
551552

552553
\section{String}
@@ -637,6 +638,8 @@ \subsection{Fungsi-Fungsi String}
637638
\subsection{Tugas Pendahuluan}
638639
\begin{enumerate}
639640
\item Buatlah program dalam bahasa C yang mengambil dua string dari pengguna dan menentukan apakah kedua string tersebut anagram (mengandung karakter yang sama dalam urutan yang berbeda).
641+
Misalnya kata "usap" dan "sapu".
640642
Tampilkan pesan yang sesuai.
641-
\item Jelaskan perbedaan antara string yang dideklarasikan sebagai array karakter (char array) dan string yang dideklarasikan sebagai tipe data string (string literal) dalam bahasa C. Berikan contoh penggunaan keduanya.
643+
\item Sebutkan 5 fungsi yang terdapat pada library \verb|string.h|! jelaskan kegunaan masing-masing fungsi tersebut!
644+
\item Untuk mengeluarkan output string, selain menggunakan \verb|printf()| kita juga bisa menggunakan \verb|puts()|. Jelaskan kelebihan menggunakan \verb|puts()| jika dibandingkan dengan \verb|printf()|!
642645
\end{enumerate}

P2/StringArrayBranchingLoop_ENG.tex

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,18 @@ \subsection{Comparasion Expressions}
2222
\captionof{table}{Comparasion Operator\label{tab:operatorcomp}}
2323
\begin{tabular}{|c|l|c|}
2424
\hline
25-
Operator & Name & \multicolumn{1}{l|}{Expression Example} \\ \hline
26-
== & Equal To & x == y \\ \hline
27-
!= & Not Equal To & x != y \\ \hline
28-
\textgreater{} & Greater Than & x \textgreater y \\ \hline
29-
\textless{} & Less Than & x \textless y \\ \hline
30-
\textgreater{}= & Greater Than Equal To & x \textgreater{}= y \\ \hline
31-
\textless{}= & Less Than Equal To & x \textless{}= y \\ \hline
25+
\textbf{Operator} & \textbf{Name} & \multicolumn{1}{l|}{\textbf{Expression Example}} \\ \hline
26+
!= & Not Equal To & x != y \\ \hline
27+
\textgreater{} & Greater Than & x \textgreater y \\ \hline
28+
== & Equal To & x == y \\ \hline
29+
\textless{} & Less Than & x \textless y \\ \hline
30+
\textgreater{}= & Greater Than Equal To & x \textgreater{}= y \\ \hline
31+
\textless{}= & Less Than Equal To & x \textless{}= y \\ \hline
3232
\end{tabular}
3333
\end{center}
3434

3535
% Suatu ekspresi perbandingan akan mengembalikan nilai berupa \verb|true| atau \verb|false| yang ditandakan dengan nilai 0 atau 1.
36-
A Comparison Expression will return boolean value \verb|true| or \verb|false| which is also represented with the value 1 or 0.
36+
A Comparison Expression will return boolean value \verb|true| or \verb|false| which is also represented with the value of 0 or 1.
3737
As example:
3838
\begin{verbatim}
3939
printf("%d",0>1); // Print 0 to the screen
@@ -47,10 +47,10 @@ \subsection{Logical Expression}
4747
\captionof{table}{Logical Expression \label{tab:operatorlogic}}
4848
\begin{tabular}{|c|l|c|}
4949
\hline
50-
Operator & \multicolumn{1}{c|}{Name} & Expression Example \\ \hline
51-
$\&\&$ & AND & $x<5\; \&\& \;x<10$ \\ \hline
52-
$||$ & OR & $x < 5\; ||\; x < 4 $ \\ \hline
53-
$!$ & NOT & $!(x <5 \&\& x < 10) $ \\ \hline
50+
\textbf{Operator} & \multicolumn{1}{c|}{\textbf{Name}} & \textbf{Expression Example} \\ \hline
51+
$\&\&$ & AND & $x<5\; \&\& \;x<10$ \\ \hline
52+
$||$ & OR & $x < 5\; ||\; x < 4 $ \\ \hline
53+
$!$ & NOT & $!(x <5 \&\& x < 10) $ \\ \hline
5454
\end{tabular}
5555
\end{center}
5656
% Sama seperti ekspresi perbandingan, ekspresi logika akan mengembalikan nilai berupa true atau false
@@ -101,7 +101,7 @@ \subsection{If Statement}
101101

102102
\subsection{If-else Statement}
103103
% Pernyataan else digunakan untuk menentukan blok kode yang di jalankan apabila kondisi salah.
104-
Else statement is used to decide the block of code to be executed if the condition is false.
104+
\verb|Else| statement is used to decide the block of code to be executed if the condition is false.
105105
\begin{verbatim}
106106
// Block code before if
107107
if (Condition)
@@ -293,8 +293,10 @@ \subsection{Nested if}
293293

294294
\subsection{Pre-lab Assignment}
295295
\begin{enumerate}
296+
\item what is the purpose of branching in programming?
297+
\item Apart from using if statements, branching can also be done using switch-case statements. Explain what you know about switch-case statement!
296298
% \item Buatlah program yang menerima input 3 buah bilangan bulat A, B, dan C. Outputkanlah 3 bilangan bulat itu ke layar dengan urutan paling kecil ke paling besar. Lakukanlah ini dengan menggunakan statement if, if else, if else if, atau nested if.
297-
\item Try to make a program that receives 3 integer input A, B, and C. Then outputs those 3 integers to the screen sorted from smallest to largest. Do this only using conditional statements.
299+
\item Try to make a program that receives 3 integer input A, B, and C. Then outputs those 3 integers to the screen sorted from largest to smallest. Do this only using conditional statements.
298300
\end{enumerate}
299301

300302
\section{Loop}
@@ -446,8 +448,9 @@ \subsection{For loop}
446448

447449
\subsection{Pre-lab Assignment}
448450
\begin{enumerate}
449-
\item Implement a program in C that calculates the factorial of a non-negative integer entered by the user using a do-while loop. Show the results.
450-
\item Implement programs in C language to find prime numbers between 1 and 100. Use the for loop to iterate through all numbers and the continue statement to ignore numbers that are not prime. Display all found primes.
451+
\item What happens if we write \verb|break;| in a loop?
452+
\item Try to make a program in C that calculates the factorial of a non-negative integer entered by the user using a do-while loop. Show the results.
453+
\item Try to make a program in C language to find prime numbers between 1 and 100. Use the for loop to iterate through all numbers and the continue statement to ignore numbers that are not prime. Display all found primes.
451454
\end{enumerate}
452455

453456
\section{Array}
@@ -528,10 +531,7 @@ \subsection{Array 2D and Other Multidimensional Array}%Array 2D dan Array Multid
528531
\subsection{Pre-lab Assignment}
529532
\begin{enumerate}
530533
% \item Cobalah inisialisasi suatu array multidimensi dengan menggunakan perulangan for.
531-
\item Try to initialize a multidimensional array with for loop
532-
% \item Buatlah suatu program untuk mengisi data pada suatu array perdasarkan input dari keyboard.
533-
\item Create a program to fill the data of an array by keyboard input.
534-
% \item Apakah yang akan terjadi jika suatu array \verb|arr| diakses dengan \verb|arr[-1]|?
534+
\item TWrite a program that accepts input numbers 1 to 9 from the user, then inserts all the numbers into an array!
535535
\item What would happen if an array \verb|arr| is accessed with \verb|arr[-1]|?
536536
% \item Apakah yang akan terjadi jika suatu array \verb|arr| dengan ukuran 5 diakses dengan \verb|arr[5]|?
537537
\item What would happen if an array \verb|arr| with size 5 is accessed with \verb|arr[5]|?
@@ -636,6 +636,9 @@ \subsection{String Functions}
636636

637637
\subsection{Pre-lab Assignment}
638638
\begin{enumerate}
639-
\item Create a program in C programming languae that takes 2 string from the user input and decide whether those 2 string are an anagram (contains the same characters even in different order)
639+
\item Create a program in C programming language that takes 2 string from the user input and decide whether those 2 string are an anagram (contains the same characters even in different order).
640+
For example "night" and "thing".
640641
\item Explain the difference between string that is declared as an array of charater (char array) and a string that is declared as a string data types (string literal). Explain example of using both
642+
\item Name 5 functions from the \verb|string.h| library! explain each function!
643+
\item To get string output, instead of using \verb|printf()| we can also use \verb|puts()|. Explain the advantages of using \verb|puts()| compared to \verb|printf()|!
641644
\end{enumerate}

0 commit comments

Comments
 (0)