Anda di halaman 1dari 13

TUGAS PRAKTIKUM ALGORITMA PEMROGRAMAN

TUGAS PRAKTIKUM 1

Disusun Oleh:

Nama : Nanda Nikola

NIM : 2008561037

Kelas :B

Dosen Pengampu:

Dr. Ngurah Agus Sanjaya ER, S.Kom.,M.Kom

PROGRAM STUDI INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS UDAYANA

2020

1
KATA PENGANTAR

Puji syukur saya haturkan kepada Tuhan Yang Maha Esa karena berkat
rahmat dan anugerahNya saya bisa menyelesaikan Laporan Tugas Pendahuluan
dengan tepat waktu.
Laporan yang saya susun ini dalam rangka memenuhi penugasan Praktikum
Algoritma dan Pemrograman tugas pendahuluan pertama, dan untuk menambah
pengetahuan saya seputar Bahasa C terutama Struktur data C yang materinya telah
disampaikan oleh kakak kakak asisten dosen pada pertemuan sebelumnya. Saya
menyadari bahwa penyusunan laporan ini tidak akan berhasil tanpa bantuan dari
dosen pengampu dan asisten dosen pengampu mata kuliah praktikum algoritma dan
pemrogaman serta pihak pihak yang membantu dalam penyelesaian laporan ini.
Saya menyadari bahwa laporan ini sangat tidak sempurna dan masih banyak
kesalahan didalamnya. untuk itu, kritik dan saran mengenai laporan yang saya susun
sangat saya apresiasi.
Saya berharap laporan ini dapat menuai manfaat bagi pembaca, dan atas
perhatiannya saya ucapkan terima kasih.

Badung, Februari 2021

Nanda Nikola

2
DAFTAR ISI

COVER ........................................................................................................................ 1
KATA PENGANTAR ................................................................................................. 2
DAFTAR ISI................................................................................................................ 3
BAB 1 ........................................................................................................................... 4
1.1. Latar Belakang ................................................................................................... 4
1.2. Tujuan ................................................................................................................ 4
1.3. Manfaat .............................................................................................................. 4
BAB 2 ........................................................................................................................... 5
2.1. Variabel .............................................................................................................. 5
2.2. Tipe Data Primitive ............................................................................................ 5
2.3. Konstanta ........................................................................................................... 7
2.4. Kelebihan dan kekurangan Printf dan juga Puts ................................................ 7
BAB 3 ........................................................................................................................... 8
3.1. Source Code Program ........................................................................................ 8
3.2. Tampil Hasil Penjalanan Program ................................................................... 11
3.3. Penjelasan ........................................................................................................ 11
BAB 4 ......................................................................................................................... 13
3.1. Kesimpulan ...................................................................................................... 13
3.2. Saran ................................................................................................................ 13

3
BAB 1
PENDAHULUAN

1.1. Latar Belakang

Bahasa C adalah bahasa prosedural yang memiliki banyak kegunaan. Ia


didesain untuk di-compile secara sederhana agar mendukung akses ke low-level
memory, sebagai pendukung bahasa yang dapat digunakan dalam instruksi mesin,
dan untuk membutuhkan runtime support yang minimalis. Meskipun didesain
secara minimal, C bisa digunakan sebagai bahasa yang multi-platform.
Didalam Bahasa C itu sendiri terdapat beberapa komponen yang harus
diketahui agar bisa menjalankan program dalam Bahasa C, dalam dunia
pemrogaman dikenal dengan sturuktur data C, apa itu struktur data C ? Struktur
data C adalah struktur minimal Bahasa C agar program input-ouput dapat berjalan

1.2. Tujuan
Adapun tujuan dari pembuatan laporan ini adalah:
1. Pemahaman Bahasa C beserta struktur data nya
2. Mengetahui seputar variabel Bahasa C
3. Pengenalan jenis jenis tipe data dalam Bahasa C
4. Mengetahui konsep penggunaan konstanta
5. Memahami kelebihan dan kekurangan Printf dan Puts

1.3. Manfaat
Diharapkan dengan disusunnya laporan ini dapat membuat pembaca agar
memahami macam/ jenis struktur data dalam Bahasa C dan juga kelebihan atau
kekurangan antara printf dan puts.

4
BAB 2
LANDASAN TEORI

2.1. Variabel
Variabel adalah ‘penanda’ identitas yang digunakan untuk menampung suatu
nilai. Nilai tersebut dapat diubah sepanjang kode program. Secara teknis, variabel
merujuk kepada suatu alamat di memory komputer. Setiap variabel memiliki nama
yang sebagai identitas untuk variabel tersebut. Variabel bisa terdiri dari huruf, angka
dan karakter underscore / garis bawah ( _ ). Karakter pertama dari variabel hanya boleh
berupa huruf dan underscore ( _ ), tidak bisa berupa angka. Meskipun dibolehkan,
sebaiknya tidak menggunakan karakter underscore sebagai awal dari variabel karena
bisa bentrok dengan beberapa variabel settingan program.
Sebagai contoh jika kita ingin membuat program mencari volume kubus, maka
dibutuhkan beberapa variabel seperti ‘panjang’, maka nilai variabel dapat diubah ubah
nilainya sedangkan apabila ‘panjang’ adalah konstanta maka nilainya akan tetap
sepanjang program, jadi apakah sebaikknya kita menggunakan variabel? Hal itu
tergantung dari program yang akan kita buat, apakah nilai nya dibuat tetap atau berubah
ubah.

2.2. Tipe Data Primitive


Tipe data adalah kelompok data berdasarkan jenis tertentu yang digunakan oleh
programmer untuk mengisi variabel. Tipe data menentukan jenis data apa yang boleh
disimpan di dalam sebuah variabel. Masing-masing tipe data memiliki kapasitas
penyimpanan yang berbeda-beda, sehingga pemilihan tipe data yang tepat akan
berpengaruh terhadap ke-efisien-an sebuah program. Berikut adalah tipe data primitive
dalam Bahasa C
1. Integer
Tipe data integer merupakan kumpulan bilangan bulat. Integer adalah semua
bilangan bulat termasuk nol (0), bilangan positif maupun negatif yang tidak

5
memiliki angka desimal (angka di belakang koma). Berikut ini adalah yang
termasuk dalam tipe data integer beserta ukurannya dalam satuan byte pada
mesin 16 bit
Tipe data Ukuran (Bytes) Jangkauan (Range) Format specifer
Int/ singed int 4 -32,768 to 32,767 %d
Unsinged int 4 0 to 65535 %u
Short int 2 -128 to 127 %hd
Unsinged sort int 2 0 to 255 %hu
Long int 4 -2,147,483,648 to %Id
2,147,483,647
Unsinged long 4 0 to 4,294,967,295 %Iu
int

2. Floating Point
Tipe data ini merupakan kumpulan bilangan real (pecahan desimal). Berikut ini
adalah yang termasuk dalam tipe data floating point beserta ukurannya dalam
satuan byte pada mesin 16 bit.
Tipe Data Ukuran (Bytes) Jangkauan (Range) Format specifier
Float 4 3.4E-38 to 3.4E+38 %f
Double 6 1.7E-308 to 1.7E+308 %If
Long Double 18 3.4E-4932 to 3.4E+4932 %Lf

3. Char
Sebuah variabel bertipedata char hanya dapat menampung satu karakter saja,
tidak akan dapat menyimpan lebih dari satu karakter. Berikut ini adalah yang
termasuk dalam tipe data char beserta ukurannya dalam satuan byte pada mesin
16 bit.
Tipe data Ukuran (bytes) Jangkauan (Range) Format specifer
Char/singed char 1 -127 to 128 %c

6
Unsinged Char 1 0 to 255 %c

2.3. Konstanta
Konstanta seperti halnya variabel, konstanta adalah suatu tempat di dalam
memori yang dibuat oleh programmer untuk menyimpan suatu nilai. Nilai yang
disimpan dalam konstanta bersifat konstan (tetap). Dari awal hingga akhir program,
nilai konstanta tetap, tidak berubah-ubah. Konstanta dapat dideklarasikan dengan dua
cara, yaitu menggunakan preprocessor (#define) sintaksnya adalah #define
nama_konstanta nilai_konstanta
Contoh : #define pi 3.14
Jadi mengapa kita menggunakan konstanta? Karena dalam program yang kita
buat adakalanya perlu membuat sebuah tempat yang berfungsi untuk menyimpan nilai
yang tidak berubah atau bersifat konstan dari awal hingga akhir program.

2.4. Kelebihan dan kekurangan Printf dan juga Puts


Puts akan mencetak suatu kalimat dan akan memberi jarak atau memberi enter
atau menampilkan output selajutnya dalam baris baru. penggunaan puts ini biasanya
digunakan pada judul program yang akan dibuat. Sedangkan printf sama halnya
dengan System.out.print dalam bahasa java. Output akan ditampilkan tanpa memberi
jarak atau spasi atau enter antara printf sebelum dan sesudahnya.
Kekurangan pada printf yaitu untuk enter pada program masih harus
menambahkan \n agar menimbulkan enter pada program sedangkan pada puts sudah
otomatis melakukan enter dan tidak perlu menambahkan \n pada program
Kekurangan pada Puts yaitu dalam mencetak kata/ kalimat yang banyak dan
Panjang harus membuat line yang banyak pula.

7
BAB 3
SCREENSHOT DAN PENJELASAN PROGRAM

3.1. Source Code Program


#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void total(int topup, int normal, int elite, int spesial, int epic);
struct data
{
char id [10];
int nomor;
char nickname[20];
char server[5];
}datatransaksi;
int totalharga;
int main(void)
{
int j, jml;
int a,b,c,d,e;
printf("=========================================");
printf("\n @@@@@ [MLBB] since 2021");
printf("\n @ @@@@@ @ @ @@ @ @@ @ ");
printf("\n @@@@@ @ @ @@ @ @ @ @ @ @ ");
printf("\n @ @ @ @ @ @ @ @ @ @ @ ");
printf("\n @@@@@ @ @@@ @ @ @@ @ @@ ");
printf("\n=========================================");
printf("\n Selamat Datang di SruNN Store");
printf("\n Mabar ML:208497977(9084)");
printf("\n Owner: Nanda Nikola");
printf("\n IG: kaserun__");
printf("\nTop up dan gift skin Random Terbaik se RT");
printf("\n=========================================");
printf("\n> Masukkan total transaksi: ");
scanf("%d",&jml);

8
for (j = 1; j <= jml; j++)
{
printf("> Transaksi ke-%d",j);
datatransaksi.nomor=j;
printf("\n> Data Transaksi:\n");
gets(datatransaksi.nickname);
printf("> Nickname: ");
gets(datatransaksi.nickname);
printf("> ID In-game: ");
gets(datatransaksi.id);
printf("> Masukkan Id server anda: ");
gets(datatransaksi.server);
printf("Berapa jumlah Top up anda(tekan 0 jika tidak):
");
scanf("%d",&a);
printf("\nMasukkan nominal skin normal yang akan anda
beli: ");
printf("\n+> paket 150-199 dm");
printf("\n+> ket: 200 rupiah per dm");
printf("\n+> tekan 0 jika tidak membeli\n");
scanf("%d",&b);
printf("Masukkan nominal skin elite yang akan anda beli:
");
printf("\n+> paket 200-399 dm");
printf("\n+> ket: 250 rupiah per dm");
printf("\n+> tekan 0 jika tidak membeli\n");
scanf("%d",&c);
printf("Masukkan nominal skin spesial yang akan anda
beli");
printf("\n+> paket 400-599 dm");
printf("\n+> ket: 300 rupiah per dm");
printf("\n+> tekan 0 jika tidak membeli\n");
scanf("%d",&d);
printf("Masukkan nominal skin epic yang akan anda
beli");
printf("\n+> paket 600-899 dm");

9
printf("\n+> ket: 325 rupiah per dm");
printf("\n+> tekan 0 jika tidak membeli\n");
scanf("%d",&e);
total(a,b,c,d,e);
}
system("pause");
return (0);
}
void total(int topup, int normal, int elite, int spesial, int epic)
{
totalharga=(topup*275)+(normal*200)+(elite*250)+(spesial*300)+
(epic*325);
printf("\n\t==========================");
printf("\n\t Data Transaksi ");
printf("\n\t==========================");
printf("\n\t+> Nickname :%s ",datatransaksi.nickname);
printf("\n\t+> Id :[%s]",datatransaksi.id);
printf("\n\t+> Server :(%s)",datatransaksi.server);
printf("\n\tTotalnya menjadi: ");
printf("\n\t+> %i rupiah",totalharga);
if(totalharga>=80000)
{
printf("\n\tnah gitu dong beli yang banyak");
}
else if(totalharga>=60000)
{
printf("\n\tTanggung amat BOsque, beli lagi lah");
}
else if(totalharga>=40000)
{
printf("\n\tDikit banget bang?? belom gajian yaa?");
}
else printf("\n\tMiskin amat, canda miskin :v");
printf("\n\tTerimakasih Sudah Mampir");
printf("\n\tNYCHO.");
printf("\n\t==========================\n");}

10
3.2. Tampil Hasil Penjalanan Program

3.3. Penjelasan
Pertama tama kita buat header seperti stdio.h stdlib.h dan lain sebagainya,
kemudian buat fungsi void total yang didalamnya memuat tipe data integer dari
variabel topup, normal, elite, spesial, dan epic. Lalu, kita buat struct yang didalamnya
memuat variabel nickname, nomor id, nomor server dan juga variabel nomor dalam
bentuk integer untuk membuat perulangan nantinya, tidak lupa buat juga variabel
totalharga bertipe data integer

11
Lanjut ke fungsi main, kita buat variabel j dan jml untuk perulangan total
transaksi dan juga variabel a, b, c, d,dan e. berlanjut ke printf, kita buat tampilan menu
seperti pada ss source code dan buat perulangan pada menu banyaknya transaksi yang
nantinya akan meminta user untuk menginputkan banyaknya perulangan lalu buat
menu input gets dari struct datatransaksi yang telah dibuat sebelumnya jika semua
sudah diinput kan user maka kita buat untuk outputnya nanti dengan membuat operator
aritmatika untuk total harga pada outputnya dengan rumus seperti
(“totalharga=(topup*275) + (normal*200) + (elite*250) + (spesial*300) + (epic*325))
dengan ketentuan seperti pada perintah input di fungsi main (275 untuk top up, 200
untuk normal skin, 250 untuk elite skin, 300 untuk spesial dan 325 untuk epic.
Tidak lupa dibagian akhir kita berikan komentar kita terhadap user dengan
melakukan operator pembanding, jika total pembelian lebih dari 80000 kita kasih
ucapan “beli lagi yang banyak” dan seterusnya.

12
BAB 4
PENUTUP

3.1. Kesimpulan
Berdasarkan laporan diatas dapat diambil kesimpulan bahwa dalam Bahasa C
terdapat beberapa hal yang sangat penting untuk diketahui dan dipahami, yang dapat
membuat kita lebih mengerti program yang akan kita buat dapat berjalan dengan baik
atau tidak. Hal ini menjadi landasan bahwa betapa pentingnya komponen tersebut
terutama struktur data. Struktur data yang mungkin jarang dimengerti dapat dikemas
dalam laporan ini, sehingga lebih menambah wawasan kita tentang struktur data
seperti; variabel, konstanta, tipe data, dan masih banyak lagi.
Dari laporan diatas juga dapat kita ketahui perbedaan mendasar penggunaan
printf dan puts yang dipaparkan beserta kekurangan dan kelebihannya. Dari situlah kita
dapat mengetahui dan memastikan harus menggunakan printf atau puts dari situasi
yang kita hadapi dalam membuat sebuah program Bahasa C

3.2. Saran
Saya berharap kedepannya masyarakat ataupun mahasiswa diluar sana yang
ingin mempelajari pemrogaman Bahasa C ini dapat mempelajarinya mulai dari
dasarnya mulai dari menginstall compiller pada laptop hingga mempelajari struktur
data yang terdapat dalam Bahasa C. sehingga kita tidak hanya bisa memprogram
tetapi lebih dapat memahami seluk beluk Bahasa C ini.

13

Anda mungkin juga menyukai