Kurikulum Tingkat Satuan Pendidikan (KTSP) masih menjadi kerangka acuan pembelajaran di banyak sekolah di Indonesia, termasuk untuk mata pelajaran Teknologi Informasi dan Komunikasi (TIK) di jenjang Sekolah Menengah Atas (SMA) kelas 12 semester 1. Memasuki tahun terakhir jenjang SMA, materi TIK kelas 12 semester 1 umumnya berfokus pada konsep-konsep lanjutan yang mempersiapkan siswa untuk dunia kerja maupun pendidikan tinggi yang semakin didominasi oleh teknologi.
Untuk membantu siswa dalam memahami dan menguasai materi TIK kelas 12 semester 1 sesuai KTSP, artikel ini akan menyajikan serangkaian contoh soal yang mencakup berbagai topik penting, disertai dengan pembahasan yang mendalam. Tujuannya adalah agar siswa dapat berlatih, mengidentifikasi area yang perlu ditingkatkan, dan pada akhirnya siap menghadapi penilaian akhir semester.
Topik-Topik Kunci TIK Kelas 12 Semester 1 (KTSP)
SELECT nama_barang, harga
FROM produk
WHERE stok > 50;
Apa tujuan dari perintah SQL di atas?
a. Menambah data baru ke dalam tabel produk.
b. Memperbarui harga barang yang stoknya lebih dari 50.
c. Menghapus data barang yang stoknya lebih dari 50.
d. Menampilkan nama barang dan harga dari tabel produk, hanya untuk barang yang stoknya lebih dari 50.
Pembahasan Soal 2:
Perintah SELECT dalam SQL digunakan untuk mengambil atau menampilkan data dari satu atau lebih tabel.
nama_barang, harga: Menentukan kolom yang akan ditampilkan.FROM produk: Menentukan tabel sumber data, yaitu tabelproduk.WHERE stok > 50: Merupakan klausa kondisi yang memfilter baris data. Hanya baris di mana nilai pada kolomstoklebih besar dari 50 yang akan diambil.
Oleh karena itu, perintah ini bertujuan untuk menampilkan nama barang dan harga dari tabel produk, namun hanya untuk barang yang stoknya lebih dari 50.
Soal 3:
Dalam model referensi jaringan OSI, lapisan manakah yang bertanggung jawab untuk pengiriman data dari sumber ke tujuan melalui satu atau lebih router?
a. Physical Layer
b. Data Link Layer
c. Network Layer
d. Transport Layer
Pembahasan Soal 3:
Model OSI (Open Systems Interconnection) membagi fungsi-fungsi jaringan menjadi tujuh lapisan.
- Physical Layer: Mengatur transmisi bit mentah melalui media fisik.
- Data Link Layer: Mengatur transfer data antar node yang terhubung langsung (misalnya, dalam satu segmen jaringan).
- Network Layer: Bertanggung jawab untuk pengalamatan logis (IP address) dan perutean (routing) paket data antar jaringan yang berbeda. Inilah yang memungkinkan data dikirim dari sumber ke tujuan, bahkan jika melewati banyak router.
- Transport Layer: Menjamin pengiriman data yang andal dari proses ke proses, termasuk segmentasi, kontrol aliran, dan koreksi kesalahan.
Karena soal menanyakan tentang pengiriman data dari sumber ke tujuan melalui satu atau lebih router, ini adalah fungsi dari Network Layer.
Soal 4:
Sistem operasi seperti Linux atau Windows menggunakan mekanisme untuk mengelola eksekusi program. Proses yang sedang berjalan dan menunggu giliran untuk dieksekusi oleh CPU berada dalam status apa?
a. Running
b. Waiting
c. Ready
d. Terminated
Pembahasan Soal 4:
Dalam manajemen proses pada sistem operasi, terdapat beberapa status yang dilalui sebuah proses:
- New: Proses baru dibuat.
- Ready: Proses siap untuk dieksekusi, menunggu giliran CPU.
- Running: Proses sedang dieksekusi oleh CPU.
- Waiting: Proses sedang menunggu suatu kejadian (misalnya, selesainya operasi I/O) sebelum dapat melanjutkan eksekusi.
- Terminated: Proses telah selesai dieksekusi.
Soal menanyakan proses yang menunggu giliran untuk dieksekusi oleh CPU, yang sesuai dengan status Ready.
Soal 5:
Seorang programmer membuat sebuah program yang mencetak salam "Halo, Dunia!" ke layar. Jika programmer tersebut hanya menuliskan kode program tanpa membuat dokumentasi yang jelas mengenai fungsi, parameter, dan cara penggunaan program tersebut, tindakan ini dapat dianggap melanggar etika TIK terkait dengan:
a. Keamanan Data
b. Hak Cipta
c. Kolaborasi dan Keterbukaan
d. Privasi Pengguna
Pembahasan Soal 5:
Meskipun tidak secara langsung melanggar hak cipta atau keamanan data, kurangnya dokumentasi yang baik menunjukkan kurangnya kolaborasi dan keterbukaan dalam pengembangan perangkat lunak. Dokumentasi yang baik memudahkan orang lain (atau programmer itu sendiri di masa depan) untuk memahami, menggunakan, dan mengembangkan program lebih lanjut. Ini adalah bagian dari praktik pengembangan perangkat lunak yang profesional dan etis.
Bagian II: Uraian Singkat
Soal 6:
Jelaskan perbedaan mendasar antara kunci utama (primary key) dan kunci asing (foreign key) dalam konteks database relasional. Berikan contoh sederhana untuk mengilustrasikannya.
Pembahasan Soal 6:
Perbedaan mendasar antara kunci utama dan kunci asing adalah sebagai berikut:
-
Kunci Utama (Primary Key):
- Adalah satu atau kombinasi beberapa atribut dalam sebuah tabel yang secara unik mengidentifikasi setiap baris data dalam tabel tersebut.
- Nilainya tidak boleh NULL dan harus unik di setiap baris.
- Setiap tabel hanya boleh memiliki satu kunci utama.
- Fungsinya adalah untuk menjamin integritas entitas.
-
Kunci Asing (Foreign Key):
- Adalah satu atau kombinasi beberapa atribut dalam sebuah tabel yang merujuk pada kunci utama di tabel lain.
- Fungsinya adalah untuk menghubungkan dua tabel dan menciptakan hubungan antar tabel (relasi).
- Nilainya boleh NULL dan tidak harus unik (bisa ada nilai yang sama di beberapa baris), asalkan nilai tersebut ada sebagai kunci utama di tabel referensinya.
- Fungsinya adalah untuk menjaga integritas referensial.
Contoh Ilustrasi:
Misalkan kita memiliki dua tabel: Mahasiswa dan Jurusan.
| Tabel: Mahasiswa | NIM (PK) | Nama | Alamat | Kode_Jurusan (FK) |
|---|---|---|---|---|
| 101 | Budi | Jl. Mawar 1 | TI | |
| 102 | Ani | Jl. Melati 2 | SI | |
| 103 | Citra | Jl. Anggrek 3 | TI |
| Tabel: Jurusan | Kode_Jurusan (PK) | Nama_Jurusan |
|---|---|---|
| TI | Teknik Informatika | |
| SI | Sistem Informasi | |
| IF | Ilmu Komputer |
Pada tabel Mahasiswa:
NIMadalah kunci utama. Setiap mahasiswa memiliki NIM yang unik dan tidak boleh kosong.Kode_Jurusanadalah kunci asing. Kunci asing ini merujuk padaKode_Jurusan(kunci utama) di tabelJurusan. Ini menghubungkan mahasiswa dengan jurusannya. Perhatikan bahwa nilaiTImuncul dua kali, dan nilaiSImuncul sekali, yang diperbolehkan untuk kunci asing. Jika seorang mahasiswa belum memilih jurusan, kolomKode_Jurusanbisa bernilai NULL.
Soal 7:
Jelaskan konsep dasar dari protokol HTTP dan HTTPS. Mengapa HTTPS dianggap lebih aman daripada HTTP?
Pembahasan Soal 7:
-
HTTP (Hypertext Transfer Protocol):
Adalah protokol dasar yang digunakan untuk mentransfer data, seperti halaman web, melalui World Wide Web. HTTP bekerja dengan model permintaan-respons. Klien (browser web) mengirimkan permintaan ke server, dan server merespons dengan data yang diminta.
Kelemahan utama HTTP adalah bahwa data yang ditransfer melalui HTTP tidak dienkripsi. Ini berarti bahwa informasi yang dikirim antara klien dan server dapat dibaca oleh pihak ketiga jika mereka berhasil mencegat lalu lintas jaringan. -
HTTPS (Hypertext Transfer Protocol Secure):
Adalah versi aman dari HTTP. HTTPS menggunakan protokol SSL/TLS (Secure Sockets Layer/Transport Layer Security) untuk mengenkripsi komunikasi antara klien dan server.
Ketika klien terhubung ke server HTTPS, sebuah proses negosiasi keamanan terjadi. Data yang dikirim setelah negosiasi berhasil akan dienkripsi, sehingga membuatnya tidak terbaca oleh siapa pun yang mencoba mencegatnya. Selain enkripsi, HTTPS juga menyediakan otentikasi server, yang memastikan bahwa klien berkomunikasi dengan server yang sah dan bukan dengan penipu.
Mengapa HTTPS lebih aman daripada HTTP:
HTTPS lebih aman karena:
- Enkripsi: Data yang ditransfer dienkripsi, sehingga melindungi kerahasiaan informasi sensitif seperti nama pengguna, kata sandi, nomor kartu kredit, dan data pribadi lainnya dari penyadapan.
- Integritas Data: SSL/TLS juga memastikan bahwa data yang diterima belum diubah selama transmisi. Jika ada modifikasi, klien akan mengetahuinya.
- Otentikasi: HTTPS membantu memverifikasi identitas server, sehingga pengguna dapat yakin bahwa mereka terhubung ke situs web yang sebenarnya dan bukan situs palsu yang dirancang untuk mencuri informasi.
Oleh karena itu, saat melakukan transaksi online, mengakses akun pribadi, atau mengirimkan informasi sensitif lainnya, selalu pastikan bahwa situs web menggunakan HTTPS (ditandai dengan ikon gembok di bilah alamat browser).
Soal 8:
Dalam pengembangan perangkat lunak, algoritma adalah langkah-langkah logis untuk menyelesaikan suatu masalah. Jelaskan konsep struktur data dan berikan contoh dari salah satu struktur data dasar.
Pembahasan Soal 8:
-
Struktur Data:
Struktur data adalah cara mengorganisasi, mengelola, dan menyimpan data dalam komputer agar data tersebut dapat diakses dan dimanipulasi secara efisien. Struktur data menentukan bagaimana data saling berhubungan dan bagaimana operasi dapat dilakukan pada data tersebut. Pilihan struktur data yang tepat sangat krusial untuk efisiensi sebuah algoritma dan program secara keseluruhan. -
Contoh Struktur Data Dasar: Array
Array adalah kumpulan elemen data dengan tipe yang sama, yang disimpan secara berurutan dalam memori. Setiap elemen dalam array dapat diakses menggunakan indeks, yang merupakan nomor posisi elemen tersebut dalam array. Indeks biasanya dimulai dari 0.Ilustrasi Array:
Misalkan kita memiliki array bernamanilai_ujianyang menyimpan nilai ujian dari 5 siswa.nilai_ujian:Jika kita mengakses
nilai_ujian, kita akan mendapatkan nilai85.
Jika kita mengaksesnilai_ujian, kita akan mendapatkan nilai92.Kelebihan Array:
- Akses elemen sangat cepat menggunakan indeks (O(1)).
- Sederhana untuk diimplementasikan.
Kekurangan Array:
- Ukuran array biasanya tetap setelah dibuat (dalam beberapa implementasi). Menambah atau menghapus elemen di tengah array bisa jadi tidak efisien karena memerlukan pergeseran elemen lain.
- Semua elemen harus bertipe data yang sama.
Contoh struktur data dasar lainnya meliputi Linked List, Stack, Queue, Tree, dan Graph.
Bagian III: Analisis dan Penerapan
Soal 9:
Sebuah perusahaan e-commerce ingin meningkatkan efisiensi operasionalnya dengan mengimplementasikan sistem manajemen inventaris berbasis database. Mereka memiliki data produk, data pelanggan, dan data pesanan.
a. Jelaskan jenis database yang paling cocok digunakan untuk kasus ini dan mengapa.
b. Buatlah rancangan skema database sederhana yang terdiri dari minimal dua tabel yang saling berhubungan, beserta kolom-kolom utamanya (primary key dan foreign key).
Pembahasan Soal 9:
a. Jenis Database yang Cocok:
Untuk kasus perusahaan e-commerce yang memiliki data terstruktur seperti produk, pelanggan, dan pesanan, jenis database yang paling cocok adalah Database Relasional (RDBMS – Relational Database Management System).
Alasan:
- Struktur Data Terorganisir: Data e-commerce secara alami dapat direpresentasikan dalam bentuk tabel-tabel yang saling berhubungan (misalnya, tabel Produk, tabel Pelanggan, tabel Pesanan, tabel Detail Pesanan). Database relasional sangat efisien dalam mengelola data terstruktur seperti ini.
- Hubungan Antar Data: Ada hubungan yang jelas antar entitas. Pelanggan melakukan pesanan, pesanan berisi produk. Database relasional dirancang untuk memodelkan dan mengelola hubungan ini melalui penggunaan kunci utama dan kunci asing.
- Integritas Data: RDBMS menyediakan mekanisme untuk menjaga integritas data, seperti batasan pada kunci utama (unik, tidak NULL) dan kunci asing (referensial integritas), yang sangat penting untuk konsistensi data inventaris, pesanan, dan pelanggan.
- Bahasa Kueri Standar (SQL): Bahasa SQL yang kuat dan standar memudahkan untuk melakukan query, analisis, dan manipulasi data yang kompleks, seperti mencari produk yang paling laris, melacak status pesanan, atau menganalisis pola pembelian pelanggan.
- Skalabilitas dan Kinerja: Sistem database relasional modern dapat diskalakan untuk menangani volume data yang besar dan traffic yang tinggi yang umum terjadi pada platform e-commerce.
b. Rancangan Skema Database Sederhana:
Kita akan membuat dua tabel utama: Produk dan Pesanan.
Tabel 1: Produk
Tabel ini menyimpan informasi tentang setiap barang yang dijual.
| Nama Kolom | Tipe Data | Keterangan | Constraint |
|---|---|---|---|
id_produk |
INT | Kode unik untuk setiap produk | PRIMARY KEY |
nama_produk |
VARCHAR(255) | Nama lengkap produk | NOT NULL |
deskripsi |
TEXT | Deskripsi rinci produk | |
harga |
DECIMAL(10,2) | Harga jual produk | NOT NULL |
stok_tersedia |
INT | Jumlah stok produk yang masih tersedia | NOT NULL, >= 0 |
tanggal_input |
DATE | Tanggal produk ditambahkan ke inventaris |
Tabel 2: Pesanan
Tabel ini menyimpan informasi tentang setiap pesanan yang dibuat oleh pelanggan.
| Nama Kolom | Tipe Data | Keterangan | Constraint |
|---|---|---|---|
id_pesanan |
INT | Kode unik untuk setiap pesanan | PRIMARY KEY |
id_pelanggan |
INT | ID pelanggan yang melakukan pesanan (FK ke tabel Pelanggan – asumsi ada tabel Pelanggan) | FOREIGN KEY, NOT NULL |
tanggal_pesanan |
DATETIME | Tanggal dan waktu pesanan dibuat | NOT NULL |
total_harga |
DECIMAL(10,2) | Total harga pesanan setelah diskon/pajak | NOT NULL |
status_pesanan |
VARCHAR(50) | Status pesanan (misal: ‘Pending’, ‘Shipped’, ‘Delivered’) | NOT NULL |
Hubungan Antar Tabel:
Untuk membuat hubungan antara Produk dan Pesanan, kita perlu tabel perantara yang disebut Detail_Pesanan (atau Item_Pesanan). Ini karena satu pesanan bisa terdiri dari banyak produk, dan satu produk bisa ada di banyak pesanan (hubungan Many-to-Many).
Tabel 3: Detail_Pesanan (Menghubungkan Pesanan dan Produk)
| Nama Kolom | Tipe Data | Keterangan | Constraint |
|---|---|---|---|
id_detail_pesanan |
INT | Kode unik untuk setiap item pesanan | PRIMARY KEY |
id_pesanan |
INT | Merujuk ke id_pesanan di tabel Pesanan |
FOREIGN KEY, NOT NULL |
id_produk |
INT | Merujuk ke id_produk di tabel Produk |
FOREIGN KEY, NOT NULL |
jumlah_item |
INT | Jumlah produk ini dalam pesanan | NOT NULL, >= 1 |
harga_satuan |
DECIMAL(10,2) | Harga produk saat dipesan | NOT NULL |
Kunci Asing (Foreign Keys):
- Di tabel
Pesanan,id_pelangganadalah Foreign Key yang merujuk keid_pelanggandi tabelPelanggan(yang tidak kita buat detailnya di sini, tapi penting untuk kelengkapan). - Di tabel
Detail_Pesanan,id_pesananadalah Foreign Key yang merujuk keid_pesanandi tabelPesanan. - Di tabel
Detail_Pesanan,id_produkadalah Foreign Key yang merujuk keid_produkdi tabelProduk.
Dengan skema ini, perusahaan dapat melacak produk yang ada, mencatat pesanan pelanggan, dan mengetahui produk apa saja yang masuk dalam setiap pesanan, serta mengelola stok secara efektif.
Penutup
Mempelajari TIK di kelas 12 semester 1 KTSP membutuhkan pemahaman yang kuat terhadap konsep-konsep dasar hingga lanjutan. Contoh soal yang disajikan di atas mencakup berbagai area penting dan diharapkan dapat menjadi sarana latihan yang efektif bagi siswa.
Penting untuk diingat bahwa latihan soal hanyalah salah satu bagian dari proses belajar. Siswa juga perlu aktif membaca buku teks, berdiskusi dengan guru dan teman, serta mencoba mempraktikkan konsep-konsep yang dipelajari, terutama dalam hal pemrograman dan penggunaan perangkat lunak database. Dengan persiapan yang matang, siswa akan lebih percaya diri dalam menghadapi penilaian dan mampu memanfaatkan ilmu TIK untuk kemajuan di masa depan.
Selamat belajar dan semoga sukses!
Artikel ini telah disusun untuk mencakup berbagai topik, memberikan penjelasan rinci untuk setiap soal, dan berusaha mendekati target 1.200 kata. Anda dapat menyesuaikan atau menambahkan contoh soal lain sesuai dengan materi spesifik yang diajarkan di sekolah Anda.
