Pos

tecj

Struktur Data – Overview

Outline:

  • Mengingat kembali Algoritma & Pemrograman
  • Pengenalan struktur data
  • Array
  • Struktur

 

 

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button panah yang tersedia pada dokumen

 

arrays

Algoritma & Pemrograman – Array (Praktikum)

Tujuan Praktikum:

  1. Membuat variabel array dari berbagai macam tipe data
  2. Mengenali permasalahan yang membutuhkan variabel array
  3. Melakukan proses-proses pada array sesuai kebutuhan penyelesaian permasalahan

 

Bagian 1: Juara Nilai Ujian

Buatlah program yang dapat memproses nilai ujian suatu kelas. Pertama, pengguna memasukkan banyaknya siswa (n), setelah itu memasukkan nama dan nilai ujian siswa-siswa tersebut.
Program kemudian menampilkan ucapan selamat kepada siswa yang nilainya paling tinggi.

Contoh:

Banyaknya siswa: 4
Nama Siswa 1 : Rini
Nilai Siswa 1 : 46
Nama Siswa 2 : Juan
Nilai Siswa 2 : 98
Nama Siswa 3 : Marinka
Nilai Siswa 3 : 77
Nama Siswa 4 : Aldo
Nilai Siswa 4 : 87

Selamat, Juan, kamu juara!

Simpan dengan nama 1_nilaiJuara.c.

Apakah program memerlukan tipe terstruktur? Jika iya, tuliskan deklarasi tipe terstruktur yang diperlukan di sini (dalam bahasa C).

Iya, program memerlukan tipe terstruktur. Deklarasinya:

typedef struct{

char nama[40];

int nilai;

}datamhs;

Tuliskan algoritma (notasi bebas) di sini.

Program Juara Nilai Ujian

Meminta user menginputkan jumlah mahasiswa di kelas dan meminta data masukkan berupa nama dan nilai kuis, lalu akan menentukan nilai yang paling tinggi diantara banyaknya data yang dimasukkan, dan akan menampilkan data nama dan nilai dari pemilik nilai yang paling tinggi.

Deklarasi

Nmaks = 100

Type datamhs : record <nama : string, nilai : integer>

Datamhs tabMHS[Nmaks]

I, j, min, max : integer

Juara : string

Min = 0

Max = 0

Algoritma

Input banyak mahasiswa(j)

For i = 0 to j do

Input(tabMHS[i].nama, tabMHS[i].nilai)

If tabMHS[i].nilai < min then

Min = tabMHS[i].nilai

Juara = tabMHS[i].nama

Else if tabMHS[i].nilai > max then

Max = tabMHS[i].nilai

Juara = tabMHS[i].nama

Endif

Endfor

Output(juara,max)

 

Salin kode program di sini.

#include<stdio.h>

#define Nmaks 100

main(){

typedef struct{

char nama[40];

int nilai;

}datamhs;

datamhs tabMHS[Nmaks];

int i, j, min, max;

char *juara;

min = 0;

max = 0;

printf(“Berapa banyak mahasiswa di dalam kelas: “);

scanf(“%d”, &j);

for(i=0 ; i<j; i++){

printf(“Nama : “);

scanf(“%s”, &tabMHS[i].nama);

printf(“\n”);

printf(“Nilai Kuis : “);

scanf(“%d”, &tabMHS[i].nilai);

printf(“\n”);

printf(“————————\n\n”);

if (tabMHS[i].nilai < min){

min = tabMHS[i].nilai;

juara = tabMHS[i].nama;

} else if(tabMHS[i].nilai > max){

max = tabMHS[i].nilai;

juara = tabMHS[i].nama;

}

}

printf(“Selamat %s, Kamu juara!, dengan nilai %d\n”, juara, max);

system(“pause”);

return 0;

}

Jelaskan hasil running program!

1

Dimana program menampilkan pesan input berupa “Berapa banyak mahasiswa di dalam kelas: ” saya misalkan “2” kemudian program kembali menampilkan pesan input  berupa “Nama: “ saya misalkan “Alvin” kemudian program kembali menampilkan pesan input berupa “Nilai Kuis:” saya misalkan “100” kemudian program kembali menampilkan pesan input berupa “Nama: “ saya misalkan “Yusuf” kemudian program kembali menampilkan pesan input berupa “Nilai Kuis: ” saya misalkan “98”. Setelah itu program melakukan pemrosesan berdasarkan data yan sudah diinputkan user kemudian menampilkan hasil output berupa “Selamat Alvin, Kamu Juara!, dengan nilai 100”. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

 

Bagian 2: Balik Kata

Buatlah program yang dapat menerima masukan suatu kata. Program kemudian menampilkan dalam kondisi terbalik, huruf yang di depan ditampilkan di belakang.

Contoh:

Masukkan kata: poltek
Kata dibalik: ketlop

Petunjuk: Hitung panjang kata masukan dulu. Anda dapat menggunakan fungsi strlen() untuk mendapatkan panjang kata yang dimasukkan. Masukan dari strlen adalah string, hasilnya adalah angka integer yang menunjukkan banyaknya karakter string tersebut. Lakukan #include <string.h>

Simpan dengan nama 2_balikKata.c

Tuliskan algoritma (notasi bebas) di sini.

Program Balik Kata

Program akan menerima masukan suatu kata kemudian menampilkan dalam kondisi terbalik, huruf yang di depan ditampilkan di belakang.

Deklarasi

Hitung : integer

Kata : string

Algoritma

Input (kata)

Hitung = strlen(kata)

For hitung = 100 to hitung – 1 do

Output (hitung)

Endfor

Salin kode program di sini.

#include <stdio.h>

#include <string.h>

main()

{

int hitung;

char kata[100];

printf(“Masukkan Kata yang Ingin Anda Balik : “);

scanf(“%s”, &kata);

hitung=strlen(kata);

printf(“\nKata Setelah Dibalik : “);

for(hitung-1;hitung>0;hitung–){

printf(“%c”, kata[hitung-1]);

}

printf(“\n\n”);

system(“PAUSE”);

}

Jelaskan hasil running program!

2

Dimana program menampilkan pesan input berupa “Masukkan Kata yang ingin Anda Balik : ” saya misalkan “Alvin”. Setelah itu program melakukan pemrosesan berdasarkan kata yang sudah diinputkan user kemudian menampilkan hasil output berupa “Kata Setelah Dibalik : nivlA”. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

 

Ekstra: Cek Palindrom

Palindrom adalah kata/frase/kalimat yang dibaca dari depan atau belakang sama saja.
Buatlah program yang dapat menerima masukan 1 kata, kemudian mengecek apakah kata tersebut palindrom atau bukan.

Contoh:

Masukkan kata: malam
>> palindrom

Masukkan kata: siang
>> bukan palindrom

Simpan dengan nama 3_cekPalindrom.c.

Tuliskan algoritma (notasi bebas) di sini.

Program Cek Palindrom

Program akan menerima masukan 1 kata, kemudian mengecek apakah kata tersebut palindrom atau bukan

Deklarasi

Kata, ckeck : string

Algoritma

Input (kata)

Strcpy (check, kata)

Strrev (check)

If strcmp(check, kata) = 0 then

Output (Kata tersebut merupakan Palindrom)

Else

Output (Kata tersebut bukan merupakan Palindrom)

Endif

Salin kode program di sini.

#include <stdio.h>

#include <string.h>

int main()

{

char kata[200];

char check[200];

printf(“Masukkan Kata yang Anda Inginkan : “);

gets(kata);

strcpy(check, kata);

strrev(check);

if(strcmp(kata, check) == 0){

printf(“\n\n”);

printf(“Kata ‘%s’ Adalah Palindrom\n\n”, kata);

} else {

printf(“\n\n”);

printf(“Kata ‘%s’ Bukan Palindrom\n\n”, kata);

}

printf(“\n”);

printf(“Kebalikan Dari Input : %s\n\n\n”, check);

system(“PAUSE”);

return 0;

}

Jelaskan hasil running program!

Jika kata adalah Palindrom

3

Dimana program menampilkan pesan input berupa “Masukkan Kata yang Anda inginkan:  ” saya misalkan “nababan”. Setelah itu program melakukan pemrosesan berdasarkan kata yan sudah diinputkan user kemudian menampilkan hasil output berupa “kata ‘nababan’ Adalah Palindrom” dan “Kebalikan Dari Input: nababan”. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

Jika kata Bukan Palindrom

4

Dimana program menampilkan pesan input berupa “Masukkan Kata yang Anda inginkan:  ” saya misalkan “Alvin”. Setelah itu program melakukan pemrosesan berdasarkan kata yan sudah diinputkan user kemudian menampilkan hasil output berupa “kata ‘Alvin’ Adalah Palindrom” dan “Kebalikan Dari Input: nivlA”. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

 

Kesimpulan

Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?

Yang saya pelajari dari praktikum ini adalah:

  • Membuat variabel array dari berbagai macam tipe data
  • Mengenali permasalahan yang membutuhkan variabel array
  • Melakukan proses-proses pada array sesuai kebutuhan penyelesaian permasalahan

Kesimpulan yang dapat saya tarik dari praktikum kali ini adalah dengan memahami variable array dan macam tipe data maka suatu penyelesaian pada proses array dapat diperoleh untuk memecahkan suatu permasalahan sesuai kebutuhan.

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

 

[lockercat]

[/lockercat]

selectsort

Algoritma & Pemrograman – Array (Praktikum)

Tujuan Praktikum:

  1. Membuat variabel array dari berbagai macam tipe data
  2. Mengenali permasalahan yang membutuhkan variabel array
  3. Melakukan proses-proses pada array sesuai kebutuhan penyelesaian permasalahan

 

Bagian 1: Ubah Kapital

Buatlah program yang dapat menerima masukan suatu kata. Program kemudian menampilkan kata tersebut dalam huruf besar semua.

Petunjuk: Anda bisa menggunakan fungsi toupper(..) untuk mengubah ke huruf besar, dimana masukan dan keluaran dari toupper adalah karakter

Simpan dengan nama 1_prosesKata.c

Tuliskan algoritma (notasi bebas) di sini.

Program Ubah Kapital

Program akan menerima masukan suatu kata kemudian menampilkan kata tersebut dalam huruf besar semua

Deklarasi

i : integer

kata : char

Algoritma

  1. Masukkan kata
  2. Proses sama dengan:

for(i=0;i<kata[i];i++){

printf(“%c”, toupper(kata[i]));

}

  1. Tampilkan hasil kata

Salin kode program di sini.

#include<stdio.h>

main ()

{

int i;

char kata [20];

printf(“Masukkan Kata yang Anda Inginkan\t: “);

gets(kata);

printf(“————————————–\n”);

printf(“Hasilnya Adalah \t : “);

for(i=0;i<kata[i];i++){

printf(“%c”, toupper(kata[i]));

}

printf(“\n”);

printf(“————————————–\n”);

printf(“\n”);

printf(“Program telah selesai… Terima Kasih\n\n”);

system(“PAUSE”);

return 0;

}

 

Jelaskan hasil running program!

1

Dimana program menampilkan pesan input berupa “Masukkan Kata yang  Anda inginkan:  ” saya misalkan “prince alvin yusuf”. Setelah itu program melakukan pemrosesan berdasarkan kata yan sudah diinputkan user kemudian menampilkan hasil output berupa “Hasilnya Adalah : PRINCE ALVIN YUSUF”. Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

 

Bagian 2: Nilai Mahasiswa

Diketahui tabel nilai mahasiswa di bawah ini :

Nama Kuis UTS UAS Nilai Akhir
Ika 80 70 90
Indah 70 80 85
Lila 90 75 65

Nilai Akhir = 20% x kuis + 40% x UTS + 40% x UAS

Buatlah program yang mengandung tipe terstruktur, bernama NilaiMhs dengan elemen nama, kuis,UTS, UAS, dan nilai akhir.

Program menerima masukan nama, kuis, UTS, dan UAS, dan menghitung nilai akhir. Program menampilkan seluruh isi array di table di atas ke layar

Gunakan array, supaya program bisa menyimpan data nilaiMhs sebanyak n

Simpan dengan nama 2_nilaiMhs.c.

Tuliskan perintah (dalam bahasa C) untuk membuat tipe terstruktur yang diperlukan

typedef struct{

char nama[40];

int kuis, uts, uas;

float na;

}datamhs;

Tuliskan algoritma (notasi bebas) di sini.

Program Nilai Mahasiswa

Program akan menerima masukan nama, kuis, UTS, dan UAS, dan menghitung nilai akhir kemudian menampilkan seluruh isi array ke layar

Deklarasi

kuis, uts, uas, i, jumlah_mahasiswa : integer

nilai_akhir : float

kata : char

Algoritma

  1. Masukkan jumlah_mahasiswa
  2. Proses sama dengan:

for(i=0 ; i<jumlah_mahasiswa; i++){

printf(“Nama [%d] : “, i);

scanf(“%s”, &tabMHS[i].nama);

printf(“\n”);

printf(“Nilai Kuis [%d] : “, i);

scanf(“%d”, &tabMHS[i].kuis);

printf(“\n”);

printf(“Nilai UTS [%d] : “, i);

scanf(“%d”, &tabMHS[i].uts);

printf(“\n”);

printf(“Nilai UAS [%d] : “, i);

scanf(“%d”, &tabMHS[i].uas);

printf(“\n”);

printf(“————————\n\n”);

tabMHS[i].nilai_akhir = (tabMHS[i].kuis * 0.2) + (tabMHS[i].uts * 0.4) + (tabMHS[i].uas                                     *0.4);

}

  1. Tampilkan nama,kuis, uts, uas, nilai_akhir

Salin kode program di sini.

#include<stdio.h>

#define Nmaks 100

main(){

typedef struct{

char nama[40];

int kuis, uts, uas;

float na;

}datamhs;

datamhs tabMHS[Nmaks];

int i, j;

printf(“Jumlah mahasiswa di kelas: “);

scanf(“%d”, &j);

for(i=0 ; i<j; i++){

printf(“Nama [%d] : “, i);

scanf(“%s”, &tabMHS[i].nama);

printf(“\n”);

printf(“Nilai Kuis [%d] : “, i);

scanf(“%d”, &tabMHS[i].kuis);

printf(“\n”);

printf(“Nilai UTS [%d] : “, i);

scanf(“%d”, &tabMHS[i].uts);

printf(“\n”);

printf(“Nilai UAS [%d] : “, i);

scanf(“%d”, &tabMHS[i].uas);

printf(“\n”);

printf(“————————\n\n”);

tabMHS[i].na = (tabMHS[i].kuis * 0.2) + (tabMHS[i].uts * 0.4) + (tabMHS[i].uas * 0.4);

}

printf(“Nama\t | Kuis\t | UTS\t | UAS\t | NilaiAkhir\n”);

for(i=0; i<j; i++){

printf(“%s\t | %d\t | %d\t | %d\t | %f\n”, tabMHS[i].nama, tabMHS[i].kuis, tabMHS[i].uts, tabMHS[i].uas, tabMHS[i].na);

}

printf(“\n\n”);

system(“PAUSE”);

return 0;

}

Jelaskan hasil running program!

2

Dimana program menampilkan pesan input berupa “Jumlah mahasiswa di kelas:  ” saya misalkan “2”. Kemudian program kembali menampilkan pesan input “Nama [0] : “ saya misalkan “prince”, Kemudian program kembali menampilkan pesan input “Nilai Kuis [0] : “ saya misalkan “98” Kemudian program kembali menampilkan pesan input “Nilai UTS [0] : “ saya misalkan “99” Kemudian program kembali menampilkan pesan input “Nilai UAS [0] : “ saya misalkan “100”. Kemudian program kembali menampilkan pesan input “Nama [1] : “ saya misalkan “jihan” Kemudian program kembali menampilkan pesan input “Nilai Kuis [1] : “ saya misalkan “88” Kemudian program kembali menampilkan pesan input “Nilai UTS [1] : “ saya misalkan “99” Kemudian program kembali menampilkan pesan input “Nilai UAS [1] : “ saya misalkan “89”. Setelah itu program melakukan pemrosesan berdasarkan angka yan sudah diinputkan user kemudian menampilkan hasil output berupa:

Nama                    : Kuis                     : UTS                      : UAS                     : NilaiAkhir

prince                   : 98                         : 99                         : 100                       : 99.199997

jihan                      : 88                         : 99                         : 89                         : 92.800003

Program yang dijalankan di windows explorer dapat ditampilkan dengan waktu delay dengan memasukkan tambahan kode program system (“PAUSE”).

 

Kesimpulan

Apa saja yang Anda pelajari dari praktikum ini? Kesimpulan apa yang bisa Anda tarik?

Yang saya pelajari dari praktikum ini adalah:

  • Membuat variabel array dari berbagai macam tipe data
  • Mengenali permasalahan yang membutuhkan variabel array
  • Melakukan proses-proses pada array sesuai kebutuhan penyelesaian permasalahan

Kesimpulan yang dapat saya tarik dari praktikum kali ini adalah dengan memahami variable array dan macam tipe data maka suatu penyelesaian pada proses array dapat diperoleh untuk memecahkan suatu permasalahan sesuai kebutuhan.

Jika anda ingin mengajukan pertanyaan seputar artikel terkait, silahkan masukkan pada kolom komentar. Anda dapat mengunduh Materi Lengkap dari artikel terkait dengan mengklik button download di bawah ini

 

[lockercat]

 

[/lockercat]