Sistem Komputer
Informatika Kelas X • SMAN 1 Godong
SISTEM KOMPUTER
Mata Pelajaran: Informatika Kelas X
Guru Pengampu:
M. Asif Ashari, S.Kom
Informatika Kelas X • SMAN 1 Godong
Mata Pelajaran: Informatika Kelas X
Guru Pengampu:
M. Asif Ashari, S.Kom
Siswa diharapkan mampu menguasai kompetensi dasar berikut setelah mempelajari modul interaktif ini:
Menjelaskan definisi serta keterhubungan elemen dalam sistem komputer.
Mengidentifikasi 3 pilar utama: Hardware, Software, dan Brainware.
Membedakan fungsi perangkat Input, Process, dan Output.
Menjelaskan fungsi Sistem Operasi dan Program Aplikasi.
Menjelaskan peran Operator, Analis Sistem, dan Programmer.
Klik pada salah satu lingkaran elemen di bawah ini untuk membuka dan mempelajari materi lengkapnya!
Perangkat lunak berupa program yang menjalankan instruksi pada komputer.
Windows
Linux
macOS
MS Word
Chrome
Canva
Pengertian: Perangkat lunak dasar yang mengelola seluruh sumber daya hardware komputer.
Fungsi: Manajemen memori, proses CPU, sistem penyimpanan file, dan antarmuka layar.
Contoh: Windows 11, Linux (Ubuntu), macOS, Android.
Pengertian: Perangkat lunak yang dibuat untuk menyelesaikan tugas spesifik pengguna.
Fungsi: Pengolahan dokumen, editing grafis, komunikasi, dan hiburan.
Contoh: Microsoft Word, Google Chrome, Canva, Photoshop.
Klik pada kartu perangkat fisik di bawah untuk melihat penjelasan fungsinya!
Keyboard
Mouse
Scanner
Mikrofon
CPU
Motherboard
RAM
Monitor
Printer
Speaker
Proyektor
Manusia atau SDM yang mengoperasikan serta mengelola komputer.
Mengoperasikan aplikasi harian dan memasukkan data (Data Entry).
Menganalisis dan merancang arsitektur sistem komputer baru.
Menulis baris kode program (coding) untuk menciptakan aplikasi.
NILAI AKHIR
0SMAN 1 GODONG • SERTIFIKAT DIGITAL
Diberikan kepada:
Telah menyelesaikan modul & lulus evaluasi Kuis Sistem Komputer (Informatika Kelas X).
Nilai Kuis: 95 / 100
Spesial untuk Sobat SMAN 1 Godong yang Keren, Berprestasi, & Berakhlak Mulia.
Halo Sobat Smagod! 👋
Siapa bilang ngomongin agama itu selalu kaku, ngebosenin, atau berasa "penceramah banget"? Hari ini kita bakal bongkar kenapa agama itu sebenernya *survival kit* paling mantap buat anak SMA zaman *now*!
Setiap hari nge-scroll TikTok, Reels, atau Story temen kadang bikin kita kena **FOMO** (*Fear of Missing Out*) atau malah *overthinking* soal masa depan. *"Duh, dia udah punya karya, gue kok gini-gini aja?"*
Di sinilah agama masuk sebagai **Spiritual Healing**. Ajaran agama (seperti konsep *Ibadah, Doa, & Tawakal* dalam Islam, atau ketenangan batin dalam ajaran lainnya) ngajarin kita buat **bersyukur** (*grateful*) dan menyadari bahwa hidup itu bukan ajang balapan yang bikin stres. Hati jadi tenang, pikiran jadi jernih!
Anak SMAN 1 Godong pasti gak asing sama yang namanya jempol netizen. Nah, agama itu ibarat *firewall* atau filter otomatis di dalam diri kita.
Siswa berkarakter tinggi (*high-value*) di Smagod pasti paham artinya toleransi. Agama ngajarin kita buat saling menghormati perbedaan, baik beda pendapat, beda suku, maupun beda keyakinan. Beragama yang dewasa itu bikin kita jadi pribadi yang inklusif, dirangkul semua orang, dan pastinya keren!
"Ilmu tanpa agama itu buta, agama tanpa ilmu itu lumpuh."
- Albert Einstein
Jawab 10 soal di bawah ini untuk melihat skor nilai akhirmu!
Program running text (tulisan berjalan) untuk Arduino Uno dan modul tampilan matriks LED 8×32 MAX7219, menggunakan teks "SELAMAT DATANG".
Anda akan menggunakan pustaka MD_Parola dan MD_MAX72XX karena pustaka ini sangat efektif untuk membuat teks berjalan pada banyak modul MAX7219 yang disambung berantai (daisy-chained).
Anda perlu menginstal dua pustaka melalui Library Manager di Arduino IDE:
MD_MAX72XX
MD_Parola
Buka Sketch > Include Library > Manage Libraries... dan cari serta instal kedua pustaka tersebut.
Modul 8×32 biasanya terdiri dari empat modul 8×8 yang disambung berantai. Sambungkan pin-pin dari modul MAX7219 pertama ke Arduino Uno Anda (atau board yang kompatibel) sebagai berikut:
| MAX7219 Modul | Pin Arduino Uno |
| VCC | 5V |
| GND | GND |
| DIN | Pin Digital 11 (MOSI) |
| CLK | Pin Digital 13 (SCK) |
| CS | Pin Digital 10 (SS/LOAD) |
Catatan Penting:
Disarankan untuk menggunakan pin SPI Hardware (Pin 11, 13, 10 pada Uno) untuk kinerja yang lebih baik.
Modul 8×32 yang terdiri dari 4 modul 8×8 dapat menarik arus yang cukup besar. Untuk penggunaan yang stabil, terutama jika kecerahan disetel tinggi, sebaiknya gunakan catu daya eksternal 5V terpisah untuk modul LED (pastikan GND Arduino dan GND catu daya eksternal terhubung).
Salin dan tempel kode berikut ke Arduino IDE Anda:
#include <MD_Parola.h>
#include <MD_MAX72XX.h>
#include <SPI.h>
// Definisikan tipe hardware Anda.
// Pilihan umum termasuk FC16_HW atau GENERIC_HW.
// Sesuaikan jika tampilan Anda tidak berfungsi.
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
// Tentukan jumlah modul 8x8 yang disambung berantai.
// Untuk tampilan 8x32, jumlah modulnya adalah 4 (8 * 4 = 32)
#define MAX_DEVICES 4
// Tentukan pin CS (Chip Select) yang terhubung ke Arduino
#define CS_PIN 10
// Teks yang akan ditampilkan
#define SCROLL_TEXT "SELAMAT DATANG"
// Buat objek MD_Parola
MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
// Kecepatan teks berjalan (dalam milidetik). Nilai yang lebih kecil = lebih cepat. (Misalnya 35 - 150)
const uint8_t SCROLL_SPEED = 70;
// Efek teks, PA_SCROLL_LEFT adalah yang paling umum untuk teks berjalan
const textEffect_t SCROLL_EFFECT = PA_SCROLL_LEFT;
// Penjajaran teks
const textPosition_t SCROLL_ALIGN = PA_LEFT;
// Jeda setelah pesan selesai (dalam milidetik)
const uint16_t SCROLL_PAUSE = 0;
void setup() {
Serial.begin(57600);
// Inisialisasi tampilan
myDisplay.begin();
// Atur intensitas (kecerahan) tampilan (0-15)
// Atur ke nilai yang lebih rendah jika menggunakan daya dari USB Arduino
myDisplay.setIntensity(4);
// Bersihkan tampilan
myDisplay.displayClear();
// Konfigurasi teks berjalan
myDisplay.setTextAlignment(SCROLL_ALIGN);
myDisplay.setTextEffect(SCROLL_EFFECT, SCROLL_EFFECT);
myDisplay.setSpeed(SCROLL_SPEED);
myDisplay.setPause(SCROLL_PAUSE);
// Setel teks untuk animasi pertama (running text)
myDisplay.displayScroll(SCROLL_TEXT, PA_LEFT, PA_SCROLL_LEFT, SCROLL_SPEED);
}
void loop() {
// myDisplay.displayAnimate() adalah fungsi utama yang melakukan animasi teks.
// Jika animasi selesai, kita akan me-reset-nya untuk mengulang.
if (myDisplay.displayAnimate()) {
// Reset animasi untuk mulai dari awal lagi (running text berulang)
myDisplay.displayReset();
}
}
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW: Mengatur tipe modul. FC16_HW umum digunakan untuk modul 4-in-1 (yang membentuk 8×32). Jika tidak berfungsi, coba ganti dengan MD_MAX72XX::GENERIC_HW.
#define MAX_DEVICES 4: Menunjukkan ada 4 modul 8×8 yang disambung, membentuk 8×32.
#define CS_PIN 10: Menentukan pin Chip Select (CS) atau LOAD yang terhubung ke Arduino.
MD_Parola myDisplay = MD_Parola(...): Membuat objek utama untuk mengontrol tampilan dan animasi.
#define SCROLL_TEXT "SELAMAT DATANG": Teks yang akan berjalan.
void setup()myDisplay.begin(): Memulai komunikasi dengan modul MAX7219.
myDisplay.setIntensity(4): Mengatur kecerahan (0-15).
myDisplay.displayScroll(...): Mengatur teks dan parameter animasi awal:
SCROLL_TEXT: Teksnya.
PA_LEFT: Penjajaran teks.
PA_SCROLL_LEFT: Efek entri (masuk dari kanan).
SCROLL_SPEED: Kecepatan berjalan.
void loop()if (myDisplay.displayAnimate()): Fungsi ini harus dipanggil di loop() untuk menjalankan animasi. Fungsi ini mengembalikan true ketika animasi saat ini selesai.
myDisplay.displayReset(): Jika animasi selesai, fungsi ini mengatur ulang tampilan ke awal, sehingga teks "SELAMAT DATANG" akan berjalan secara berulang.
Panduan lengkap untuk membuat Jam Digital dengan Arduino Uno, Dot Matrix (MAX7219), dan RTC DS3231, lengkap dengan fitur teks berjalan yang menampilkan pesan "Waktu tidak akan pernah kembali, jadi hargailah setiap detiknya" secara bergantian.
Arduino Uno x1
Modul Dot Matrix 8×8 (Disarankan modul 4-in-1 dengan chip MAX7219) x1
Modul RTC DS3231 x1
Kabel Jumper
Proyek ini menggunakan dua jenis komunikasi: I2C untuk RTC DS3231 dan SPI untuk Dot Matrix MAX7219.
| DS3231 Pin | Arduino Uno Pin | Keterangan |
| VCC | 5V | Catu daya |
| GND | GND | Ground |
| SCL | A5 | Clock I2C |
| SDA | A4 | Data I2C |
| MAX7219 Pin | Arduino Uno Pin | Keterangan |
| VCC | 5V | Catu daya |
| GND | GND | Ground |
| DIN (Data In) | D11 | Pin Data (MOSI) |
| CLK (Clock) | D13 | Pin Clock (SCK) |
| CS (Chip Select/LOAD) | D10 | Pin Chip Select |
Pastikan Anda telah menginstal dua library utama ini melalui Arduino IDE > Sketch > Include Library > Manage Libraries...:
RTClib (oleh Adafruit)
MD_Parola dan MD_MAX72xx (oleh MajicDesigns)
Gunakan kode berikut. Logika di dalamnya akan menampilkan Jam selama 10 detik dan Teks Berjalan selama animasi teks selesai (sekitar 10 detik), dan berulang.
#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#include <Wire.h>
#include "RTClib.h"
// --- DEFNISI HARDWARE ---
// Tipe hardware (umumnya FC16_HW untuk modul 4-in-1)
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
// Jumlah modul 8x8 yang dirangkai (biasanya 4)
#define MAX_DEVICES 4
// Pin koneksi SPI ke Arduino Uno
#define CS_PIN 10
// --- INISIALISASI OBJEK ---
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
RTC_DS3231 rtc;
// --- VARIABEL GLOBAL ---
// Buffer untuk string waktu (HH:MM:SS)
char timeChar[9];
// Pesan Teks Berjalan
const char MESSAGE[] = "Waktu tidak akan pernah kembali, jadi hargailah setiap detiknya";
// Variabel untuk mengelola pergantian mode tampilan
unsigned long previousMillis = 0;
// Interval minimal untuk mode jam digital sebelum beralih ke teks berjalan (10 detik)
const long interval = 10000;
bool isClockMode = true;
void setup() {
Serial.begin(9600);
Wire.begin();
// Inisialisasi Dot Matrix
P.begin();
P.setIntensity(0); // Kecerahan 0 (tergelap) sampai 15 (terang)
P.displayClear();
// Inisialisasi RTC
if (! rtc.begin()) {
Serial.println("Tidak dapat menemukan modul RTC");
while (1);
}
/* * HANYA JALANKAN SEKALI UNTUK MENGATUR WAKTU AWAL!
* Setelah waktu diatur, beri komentar pada baris di bawah ini.
* rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
*/
// Atur mode tampilan awal menjadi jam
P.setTextAlignment(PA_CENTER);
P.setTextEffect(PA_PRINT, PA_NO_EFFECT);
previousMillis = millis();
}
void loop() {
// Fungsi ini WAJIB dijalankan. Akan mengembalikan TRUE jika animasi selesai.
if (P.displayAnimate()) {
// Jika animasi teks berjalan selesai, atau sudah waktunya ganti mode
unsigned long currentMillis = millis();
// Logika Pergantian Mode Tampilan
if (currentMillis - previousMillis >= interval || !isClockMode) {
previousMillis = currentMillis;
isClockMode = !isClockMode; // Balik mode
// Persiapkan tampilan baru
if (isClockMode) {
// Mode Jam Digital
P.setTextAlignment(PA_CENTER);
P.setTextEffect(PA_PRINT, PA_NO_EFFECT);
} else {
// Mode Teks Berjalan
P.setTextAlignment(PA_LEFT);
// Tampilkan teks berjalan ke kiri dengan kecepatan 50ms per kolom
P.displayScroll(MESSAGE, PA_LEFT, PA_SCROLL_LEFT, 50);
}
}
}
// Logika tampilan Jam Digital (hanya berjalan saat isClockMode = true)
if (isClockMode) {
DateTime now = rtc.now();
// Format waktu ke HH:MM:SS
sprintf(timeChar, "%02d:%02d:%02d", now.hour(), now.minute(), now.second());
P.print(timeChar);
}
}
Pengaturan Waktu Awal:
Cari baris ini di fungsi setup(): // rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
Hapus tanda komentar (//) dan upload kode. Ini akan menyetel RTC ke waktu komputer Anda saat kode dikompilasi.
Setelah upload pertama berhasil, TAMBAHKAN KEMBALI TANDA KOMENTAR (//) pada baris tersebut. Jika tidak, jam akan disetel ulang setiap kali Arduino dinyalakan.
Mode Tampilan:
Tampilan akan berada dalam Mode Jam Digital selama 10 detik.
Setelah itu, tampilan akan beralih ke Mode Teks Berjalan dan menampilkan "Waktu tidak akan pernah kembali, jadi hargailah setiap detiknya".
Setelah pesan selesai bergulir, tampilan akan kembali ke Mode Jam Digital, dan seterusnya.